部署校正方案(手动)
本节介绍在 ETH 相机安装方式下,如何手动部署视觉系统漂移自校正方案。部署时,需手动将机器人移动至各标定球拍照点并逐点验证。部署完成后,可通过机器人自校正程序定期校正视觉系统漂移。
部署流程概览
手动部署校正方案的流程如下图所示。
-
了解部署前提:了解部署“ETH系统漂移自校正”方案的部署前提。
-
完成准备工作:完成部署前的物料准备工作。
-
采集工位信息:连接相机,选择工程和参数组,设置标定球尺寸及部署流程。
-
规划标定球拍照点:设置场景和目标点云空间尺寸,生成标定球拍照点,查看拍照点数量和分布。
-
手动验证拍照点:手动将机器人移动至各拍照点,输入机器人法兰位姿,并验证标定球位姿的重复精度。
-
导出机器人程序:选择机器人品牌,导出机器人自校正程序。
-
启用自校正功能:在抓取工程中启用自校正功能,然后调整并烧录机器人自校正程序,在实际生产过程中校正视觉系统的漂移。
-
查看部署结果:查看“ETH系统漂移自校正”方案的部署结果。
了解部署前提
部署校正方案前,需满足以下前提:
-
确保该工位已部署用于抓取的视觉方案。
-
确保已完成相机、机器人和外参精度检查,并实现机器人正常抓取。具体检查方法可参考精度误差分析工具。
-
确保机器人末端预留了安装标定球的空间。
开始部署
-
打开 ETH 视觉系统漂移自校正工具。
完成上述部署前准备后,在菜单栏依次选择,打开部署工具。
-
选择手动部署方式。
在工具首页的部署向导区域中,选择机器人类型和型号,在部署方法和机器人控制方式中选择手动,然后单击开始部署,进入手动部署流程。
|
下文以直径 60 mm 标定球为例,介绍“ETH系统漂移自校正”方案部署流程。 |
规划标定球拍照点
本步骤根据场景和目标点云空间尺寸,生成标定球拍照点的数量和分布。
选择场景
-
设置工件摆放方式。
根据现场实际情况,在场景中选择乱序堆叠或多层摆放。选择多层摆放时,还需设置层数。
-
设置标定球极限低位到底层工件的距离。
选择乱序堆叠时,设置标定球极限低位到底层工件的距离。该距离表示机器人携带标定球到达极限低位时,标定球球心与底层工件之间的距离,如下图所示。
-
设置目标点云空间尺寸。
根据实际用于定位的目标点云范围,设置目标点云空间尺寸的长、宽、高。
(a)如果使用工件上表面点云进行匹配,则目标点云的高为最高层工件上表面到最底层工件上表面的距离。
(b)如果使用工件上表面局部点云进行匹配,则目标点云的高为最高层工件上表面到最底层工件上表面的距离。
(c)如果使用工件的多层表面点云进行匹配,则目标点云的高为最高层工件上表面到最底层工件下表面的距离。
-
对于单层工件,如果使用工件上表面点云进行匹配,则目标点云的高为 0。
-
如果多层工件之间有隔板,目标点云高度应包含隔板的高度。
-
-
生成标定球拍照点。
完成场景设置后,单击生成拍照点,工具根据设置生成标定球拍照点的数量和分布。
手动验证拍照点
本步骤用于在各拍照点统计标定球位姿的重复精度,以确保获得准确可靠的漂移校正数据。界面中显示当前验证的拍照点编号及验证进度。
验证拍照点
获得标定球拍照点位置分布后,需统计标定球位姿的重复精度,以确保获得准确可靠的漂移校正数据。
|
建议由低到高逐层验证拍照点,且必须验证完一层拍照点后,再验证下一层拍照点。 |
-
清理验证区域。
移走托盘或料筐,避免机器人移动至规划拍照点时与其发生碰撞。
-
移动机器人。
将机器人移动至第一层拍照点中的任一拍照点,并在界面的位姿工具区域输入当前机器人法兰位姿,用于记录实际拍照点。
移动机器人时,需确保机器人不会发生碰撞。推荐先手动将机器人低速移至目标位姿,时刻观察机器人是否会发生碰撞。
如果机器人在路径中有可能发生碰撞,可适当移动标定球位置(上下左右方向均可),但需保证拍照点移动距离在 100 mm 以内。
-
为标定球设置 ROI。
单击调整ROI,在弹出的窗口中为标定球设置 3D ROI,然后单击确定。
-
框选时,目标区域应完全覆盖标定球,且标定球四周应各留有一个标定球直径的余量。
-
只需在验证首个拍照点时为标定球设置 3D ROI。
-
-
验证拍照点。
单击拍照及验证按钮,工具将自动触发三次拍照来统计标定球位姿的重复精度。验证成功后,将弹出识别结果窗口,并提示“验证成功”。
-
验证下一拍照点。
将机器人移动至下一拍照点,单击下一个,输入当前机器人法兰位姿,然后单击拍照及验证,验证该拍照点。
如需查看前一个拍照点,可单击上一个。
-
完成当前层拍照点验证。
重复移动机器人、记录法兰位姿和拍照验证操作,直至当前层的所有拍照点验证完成。
-
验证其余层拍照点。
若存在多层拍照点,由低到高逐层重复以上操作,直至所有层的拍照点验证完成。
所有拍照点验证完成后,单击下一步,导出机器人程序。
导出机器人程序
生成机器人程序
-
导出机器人自校正程序。
在生成机器人程序区域的下拉列表中选择正在使用的机器人品牌,然后单击导出。导出的程序用于在生产过程中采集标定球位姿并生成漂移校正数据。
|
若未导出机器人自校正程序或程序丢失,也可在查看部署结果页面选择机器人品牌并导出机器人程序。 |
导出程序后,单击下一步,启用自校正功能。部署过程中,工具会在当前方案下自动生成漂移校正相关工程:
-
Drift_Collection_ETH:即标定球位姿采集工程,用于在各拍照点采集标定球位姿。
-
Drift_Calculation:即漂移校正数据生成工程,基于“Drift_Collection_ETH”工程采集的标定球位姿生成漂移校正数据。
|
请勿修改漂移校正相关工程的内容,同时在后续漂移校正过程中,需确保漂移校正相关工程的名称和工程编号不变。 另外,生成工程的同时,还将在工件库中自动生成标定球点云模板,请勿修改该点云模板的名称和相关配置。 |
启用自校正功能
拍照点验证完成后,还需在抓取工程中启用自校正功能,并调整、烧录和试运行机器人自校正程序,以便在实际生产过程中定期校正视觉系统漂移。
调整机器人程序
烧录前,需根据实际情况检查并调整导出的机器人自校正程序。通过示教法设置机器人 Home 点,并在通信参数中设置工控机的 IP 地址和端口号,用于与机器人建立通信。同时检查程序中的坐标系、工具和拍照点是否与现场一致。以 FANUC 机器人为例,通信参数和 Home 点的修改示例如下,Home 点的位置代号为 P[50]。
J P[50] 50% FINE ;
CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
|
若使用 FANUC 机器人,需先将机器人样例程序编译成 TP 文件,然后再烧录机器人程序。其他机器人无需此操作。 |
若使用除 FANUC 外的其他品牌机器人,可参考下方的机器人自校正程序流程说明、FANUC 机器人自校正程序示例及关键步骤说明调整或编写自己所用品牌机器人的自校正程序。
单击此处查看机器人自校正程序的基本流程。
步骤1:确认机器人坐标系和工具坐标系。
步骤2:移动机器人到 Home 点。
步骤3:移动机器人到预规划的最底层的拍照点 1。
步骤4:到达标定球拍照点 1 后,切换标定球位姿采集工程(Drift_Collection_ETH)中的参数配方,即该拍照点对应的参数配方。
步骤5:切换参数配方后,触发“Drift_Collection_ETH”工程运行,在标定球拍照点 1 处采集标定球位姿。
步骤6:对当前层的其他标定球拍照点执行上述 3~5 步骤,在各个标定球拍照点采集标定球位姿。
步骤7:由下往上,对其他层的标定球拍照点重复执行上述 3~6 步骤,在各层标定球拍照点采集标定球位姿。
步骤8:各层标定球拍照点的标定球位姿采集完成后,切换漂移校正数据生成工程(Drift_Calculation)的参数配方。
步骤9:触发“Drift_Calculation”工程运行,生成漂移校正数据。
步骤10:移动机器人到 Home 点。
单击此处查看 FANUC 机器人自校正程序示例。
以 FANUC 机器人为例,假设标定球拍照点数量为 9,标定球位姿采集工程的工程编号为 3,漂移校正数据生成工程的工程编号为 4,自校正程序及各关键步骤说明如下所示。
| 机器人自校正程序中使用了若干寄存器,其中数值寄存器 R[101] 用于存储通信指令执行的状态码。运行机器人自校正程序过程中,需确保这些寄存器未被其他程序占用。 |
UFRAME_NUM=0 ;
UTOOL_NUM=1 ;
J P[50] 50% FINE ;
CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
R[50:StartIndex]=1 ;
R[52:EndIndex]=9 ;
R[53:CameraIndex]=1 ;
R[54:CollectionId]=3 ;
R[55:CalculationId]=4 ;
PR[51]=P[51] ;
PR[52]=P[52] ;
PR[53]=P[53] ;
PR[54]=P[54] ;
PR[55]=P[55] ;
PR[56]=P[56] ;
PR[57]=P[57] ;
PR[58]=P[58] ;
PR[59]=P[59] ;
FOR R[51:mm_i]=R[50:StartIndex] TO R[52:EndIndex] ;
R[56]=R[51:mm_i]-R[50:StartIndex]+51 ;
L PR[R[56]] 1000mm/sec FINE ;
WAIT 3.00(sec) ;
CALL MM_SET_MOD(R[54:CollectionId],R[51:mm_i],101) ;
WAIT 1.00(sec) ;
CALL MM_START_VIS(R[54:CollectionId],0,1,100,101) ;
WAIT 3.00(sec) ;
ENDFOR ;
CALL MM_SET_MOD(R[55:CalculationId],R[53:CameraIndex],101) ;
WAIT 1.00(sec) ;
CALL MM_START_VIS(R[55:CalculationId],0,1,100,101) ;
WAIT 3.00(sec) ;
J P[50] 50% CNT100 ;
END ;
单击此处查看 FANUC 机器人自校正程序的各流程说明。
| 下表仅为关键步骤说明,关于 FANUC 机器人自校正程序各语句的具体解释,可参考FANUC 机器人样例程序。 |
| 流程 | 代码及说明 | ||
|---|---|---|---|
设置坐标系 |
设置机器人坐标系为世界坐标系,工具坐标系为法兰坐标系。 |
||
移动机器人到 Home 点 |
移动机器人到 Home 点,需远离工件和周边设备。
|
||
初始化通信参数 |
设置机器人端口号为 8,将要连接的工控机 IP 地址为 127.0.0.1,工控机与机器人建立通信所使用的端口号为 50000,超时等待时间为 5 分钟。 |
||
存储标定球拍照点对应的参数配方编号的起始值和终止值 |
导出机器人程序时,工具将根据标定球拍照点对应的参数配方计算参数配方编号的起始值和终止值,然后将上述数值存储至数值寄存器中。 |
||
定义相机对应的参数配方编号和漂移校正相关工程的工程编号 |
定义相机对应的参数配方编号为 1,标定球位姿采集工程(Drift_Collection_ETH)的工程编号为 3,漂移校正数据生成工程(Drift_Calculation)的工程编号为 4。上述值将被存储至数值寄存器。 |
||
存储拍照点 |
将 9 个标定球拍照点(P[51] ~ P[59])分别存储至位置寄存器(PR[51] ~ PR[59]),用于后续机器人运行至相应位置。 |
||
通过循环的方式,计算标定球拍照点参数配方编号对应的位置寄存器编号 |
通过循环的方式,遍历标定球拍照点的参数配方编号 1~9。
根据此公式计算 R[56] 的值,即当前拍照点的参数配方编号对应的位置寄存器编号。 例如,在本示例中 R[50:StartIndex] = 1,当参数配方编号 R[51:mm_i] = 2 时,R[56] = 2 - 1 + 51 = 52,则程序运行至下一代码时,机器人将移动至位置寄存器 PR[52] 存储的拍照点处。 |
||
移动机器人到标定球拍照点 |
机器人以直线移动方式移动至各个拍照点,速度为 1000mm/sec。 |
||
切换标定球位姿采集工程的参数配方 |
将工程编号为 3 的标定球位姿采集工程(Drift_Collection_ETH)的参数配方切换成编号为 R[51:mm_i](1~9) 的参数配方。 最后一个参数 |
||
触发标定球位姿采集工程运行 |
触发视觉系统运行工程编号为 3 的标定球位姿采集工程(Drift_Collection_ETH),在各个标定球拍照点处采集标定球位姿。 最后一个参数
标定球位姿采集完成后,循环结束,采集的标定球位姿将用于生成漂移校正数据。 |
||
切换漂移校正数据生成工程的参数配方 |
在所有拍照点处采集标定球位姿后,将工程编号为 4 的漂移校正数据生成工程(Drift_Calculation)的参数配方切换成编号为 1 的参数配方。 最后一个参数
|
||
触发漂移校正数据生成工程运行 |
触发视觉系统运行工程编号为 4 的漂移校正数据生成工程(Drift_Calculation),基于采集的标定球位姿生成漂移校正数据。 最后一个参数 |
||
移动机器人到 Home 点 |
移动机器人到 Home 点,需远离工件和周边设备。 |
烧录机器人程序
完成程序调整和点位检查后,将程序烧录至机器人中,供后续试运行和生产自校正使用。若使用 FANUC 机器人,需先将程序编译成 TP 文件。
|
你可根据使用的机器人品牌,在标准接口通信章节中参考对应机器人的“标准接口通信配置”文档完成机器人自校正程序烧录。 |
试运行机器人程序
程序烧录完成后,先低速试运行,检查各段运动路径,确保机器人不会与工件或周围设备发生碰撞。机器人将移动到对应的拍照点,触发漂移校正相关工程拍摄标定球、采集标定球位姿,并根据生成的漂移校正数据校正漂移。
|
你可根据使用的机器人品牌,在 标准接口通信 章节中参考对应机器人的“标准接口通信配置”文档选择并试运行机器人自校正程序。 |
运行机器人自校正程序后将产生校正记录,可在监测数据看板中查看。
试抓取工件
运行机器人抓取程序,检查工件抓取结果。若机器人能够准确抓取工件,即表示方案部署成功。
需注意,在试抓取完成后,为保证实际生产的长期稳定运行,还需要在监测数据看板中配置漂移量警戒阈值。通常建议设置为10 mm,如漂移校正量超过此阈值,请检查相机和夹具的安装是否稳固,并确认机器人零点是否丢失等问题。
确定自校正周期
根据现场实际情况,在机器人程序中设置自校正周期,定期采集标定球位姿,定期校正视觉系统漂移。
至此,“ETH系统漂移自校正”方案已部署完成,可单击完成按钮,返回工具主界面。
|
部署完成后,建议导出当前相机配置参数组至本地进行备份,以防因相机损坏而更换相机时无法导出相机配置参数组。 |