视觉工程配置
在使用本教程前,你已经在机器人通信配置章节中使用案例工程“有序工件上料”创建了方案。
在本教程中,你将先了解工程思路,然后通过调节步骤参数完成工程的部署,从而识别工件的位姿并输出视觉结果。
工程思路介绍
在本教程中,你需要使用Mech-Vision软件进行视觉工程配置。视觉工程配置的流程如下图所示。
视觉工程配置流程各个阶段说明如下。
阶段 | 使用软件 | 说明 |
---|---|---|
连接相机并采集图像 |
Mech-Vision |
通过Mech-Vision软件的“从相机获取图像”步骤连接相机,以实现图像采集目的。 |
识别工件 |
Mech-Vision |
通过Mech-Vision软件的“3D工件识别”步骤对图像数据进行一系列视觉处理(点云预处理、3D匹配等),实现工件的快速识别。 |
调整位姿 |
Mech-Vision |
通过Mech-Vision软件的“调整位姿V2”步骤对“3D工件识别”步骤输出的位姿进行坐标系转换、位姿调整、位姿排序,或位姿过滤等。 |
规划机器人路径 |
Mech-Vision |
通过Mech-Vision软件的“路径规划”步骤,将基于上一步调整后的工件位姿,动态规划出无碰撞的机器人移动路径。 |
输出规划路径 |
Mech-Vision |
当接收到机器人(本教程使用)或PLC发送的标准接口指令,Mech-Vision的“输出”步骤返回规划的无碰撞的机器人移动路径。 在完成机器人通信配置以及Mech-Vision工程的配置后,Mech-Vision在每次运行后即可以输出规划的路径。 你需要在机器人侧编写机器人程序,实现发送触发Mech-Vision工程运行以及获取Mech-Vision输出的规划路径的标准接口指令。具体请参考“实现抓放”章节中的说明。 |
步骤参数调节
在本节,你将通过调节各个步骤的参数来完成工程的部署。
本节中操作的工程为“有序工件上料”方案中的“Vis_Target_Objects_Recognition”工程。 |
从相机获取图像
步骤名称 |
从相机获取图像 |
---|---|
所属阶段 |
连接相机并采集图像 |
图示 |
|
说明 |
需要连接真实相机,并配置相关参数,确保相机可以正常采集图像。 |
-
在Mech-Vision工程编辑区,选中从相机获取图像步骤,在界面右下角步骤参数选项卡中单击选择相机按钮。
-
在弹出的选择相机及其标定参数组窗口中单击相机编号右侧的 图标。当该图标将变为 图标时,表明相机连接成功。
连接相机后,单击选择参数组按钮,选择标定好的、带有ETH/EIH和日期的标定参数组。
此处选择的标定参数组为完成手眼标定后生成的标定参数组。 -
连接相机并设置标定参数组后,相机标定参数组、IP地址和端口等参数将自动获取。请确认配置参数组已设置为“反光物体”。
-
单击从相机获取图像步骤的单步运行按钮触发图像采集,双击步骤的“相机深度图”和“相机彩色图”数据流连线,并在调试输出窗口查看是否成功从相机获取到图像。
-
如果在调试输出窗口可以看到正常的深度图和彩色图,则表明Mech-Vision软件已成功连接真实相机,并可以正常采集图像。
3D工件识别
步骤名称 |
3D工件识别 |
---|---|
所属阶段 |
识别工件 |
图示 |
|
说明 |
需要设置点云预处理参数、在工件库中制作工件模板并选择工件、设置识别参数、配置输出端口。 |
3D工件识别步骤提供了内置的可视化3D工件识别工具,通过配置向导,只需三步即可轻松实现工件位姿的识别。
你可以通过以下任一方法打开3D工件识别工具界面,开始参数调节。
-
在工程编辑区单击步骤上的配置向导按钮。
-
在步骤参数选项卡中单击配置向导按钮。
点云预处理
点云预处理将采集到的图像数据转换为点云,进而设置有效的点云识别区,检测边缘点云,并过滤掉不符合规则的点云,提升后续的识别效率。
在本步骤,你需要设置有效的识别区,从而将干扰因素屏蔽在区域外,以提升识别效率。设置识别区时,其范围应包含托盘及托盘上的工件,可适当外扩20至30毫米,以包容托盘放置位置的小幅变动所产生的影响。
通常,保留其他预处理参数的默认值即可。如果场景中存在较多杂点,可以尝试调整相关参数。详情请参考点云预处理。
在完成参数调节后,可以在预览预处理结果区域单击运行步骤按钮,在可视化区域确认预处理效果满足预期。 |
工件选择与识别
|
制作工件模板
本教程中,请参考通过示教法设置抓取点,然后利用相机采集点云生成点云模板制作工件的点云匹配模板。
如果用户只进行仿真模拟,可以使用如下位姿作为通过示教法设置的抓取点的位姿:
在设置抓取点的位姿时,选择“欧拉角”表示姿态。 |
注意事项:
-
本案例中工件具有对称性,为避免旋转抓取带来误差,需要配置避免误匹配参数以过滤与模板角度偏差较大的匹配位姿。在工件库的3 编辑模板选项卡的点云模板配置区域,开启配置点云模板选项,并将避免误匹配参数设置为“自动计算可能匹配失败的位姿”。计算结果用于后续点云匹配时快速过滤不符合角度要求的位姿。
工件模板创建完成后,关闭工件库窗口返回3D工件识别工具界面,点击更新工件按钮。如果该方案工件库中只有一个工件模板,工具将自动选择该工件模板。如果该方案工件库中有多个工件模板,请选择需要使用的工件模板。
设置匹配参数
-
在识别工件区域,匹配模式启用自动设置匹配模式选项。
-
启用高级模式,启用启用额外精匹配选项。
由于本应用的抓取精度要求较高,需要打开高级模式并启用启用额外精匹配选项,用于进一步提升匹配精度。 -
添加避免误匹配设置:选择“过滤可能匹配失败的位姿”,将范围设置为45°。
由于该应用的工件为90°对称,因此将范围设置为45°,使匹配输出位姿更接近模板的几何中心位姿,删除模板角度偏差大于正负45°的匹配位姿,从而减少抓取误差。 -
修改置信度阈值:根据需要设置置信度阈值,例如0.6,用于删除错误的匹配结果。
-
根据需要设置最大输出结果个数,例如10。在满足路径规划需求的前提下,尽量减少输出个数,减少匹配耗时。
调整位姿V2
步骤名称 |
调整位姿V2 |
---|---|
所属阶段 |
调整位姿 |
图示 |
|
说明 |
需要配置参数实现位姿变换、位姿调整、位姿排序以及位姿过滤。 |
得到工件位姿后,需要对位姿进行调整,处理流程如下。
Mech-Vision内置位姿调整工具,你可使用该工具轻松实现物体位姿的调整及抓取顺序的优化。你可以通过以下任一方法打开位姿调整工具界面,开始参数调节。
-
在工程编辑区单击步骤上的配置向导按钮。
-
在步骤参数选项卡中单击配置向导按钮。
请按照如下步骤调节参数:
-
位姿变换:在位姿调整选项卡中,将位姿从相机坐标系转换至机器人坐标系。
-
位姿调整:在位姿调整选项卡中,将方向调整设置为“自动对齐”,选择Z轴对齐应用场景。该操作将位姿Z轴朝向尽量与机器人坐标系Z轴正方向朝向一致。
-
位姿排序:在位姿规则选项卡中,选择“‘Z’形平面排序”排序类型,并通过拖拽器设置参考位姿。行的方向选择“参考位姿X轴正方向”,列的方向选择“参考位姿Y轴正方向”,并根据需要设置行间隔。
在该应用中,由于工件整齐码放,机器人从左上角按“Z”型顺序抓取工件效果最好。 -
角度过滤:在位姿规则选项卡中,根据位姿Z轴方向过滤明显不可抓取的位姿,减少“路径规划”步骤路径规划的耗时。
-
过滤感兴趣区域外的位姿:在位姿规则选项卡中,设置目标区域(感兴趣区域),判断位姿是否在感兴趣区域内,并只保留感兴趣区域内的位姿。
此处的目标区域(3d_roi)在机器人坐标系下。为避免出现错误过滤的问题,必须根据实际外参重新设置目标区域。 -
设置新增端口:将设置新增端口数量设置为1,用于输出与排序后位姿对应的工件名称,便于后续进行碰撞检测。返回工程编辑区,你将发现该步骤将新增一个输入和输出端口,用于接收和输出工件名称。请连接输入和输出端口,然后返回位姿调整工具中,单击获取数据按钮确认已正确获取参数。