适用场景:单相机(固定/装在机械手上)拍物料定位目标,然后引导机械手进行抓取的场景。

图1 单点抓取场景示意图
限制条件:该应用对机构有一定限制,需确保机构的XYR一体,相机安装在R轴上,可随XY一起平移,随R轴一起旋转或相机静止;不支持多相机联立坐标系、相机拍照位姿变化等场景。
案例场景目标:引导机械手抓取下图物料中心

图2 物料取图效果
整个定位应用分为标定、示教和生产(求偏差)三部分,需依次进行。
标定目的:通过提取一系列一一对应的图像点和物理点通过标定模块得到图像坐标系和物理坐标系转换矩阵的过程。
标定示意流程如下:

图3 标定流程导图

图4 标定流程图
1)图像特征点提取(以使用物料特征点进行标定为例)
高精度模板匹配:提取图像特征点,初步定位目标。
圆查找:图像特征点精定位,需搭配位置修正模块修正ROI。

图5 图像特征点提取
2)物理坐标获取
可使用接收数据和协议解析,解析出通信发送的机械手实时物理坐标。
3)平移旋转标定模块

图6 标定模块参数示意图
标定类型:需根据吸嘴与旋转中心是否共轴选择;共轴选择平移标定,不共轴选择平移旋转标定;
相机模式:根据实际场景选择;
自由度:建议使用默认选项第二个自由度(缩放、旋转、纵横比、倾斜以及平移)。
平移次数默认9次;旋转次数十二点标定可设为3。
可在通信管理添加通信设备,全局触发建立触发事件,实现PLC通信触发视觉流程;详细协议需与PLC工程师协商。
如图,约定标定时PLC发送(C1,x,y,r)给视觉,视觉匹配到C1则触发1标定流程;生产时PLC发送(T1)给视觉,视觉触发2抓取流程。

图7 全局触发示意图
1)标定的操作步骤(以相机运动为例):
[1]. 在视野中放置一个物料或标定片。
[2]. 机构带着相机按Z字形等间距平移9次,平移中保持角度固定;每移动到位一次,需通讯发送物理坐标(如:C1,5,5,0)给视觉流程并触发标定流程拍照。
[3]. 回到中心点(一般为标定第五点,第十一点和第五点重合),机构带着相机顺/逆时针旋转3次,旋转过程中机械手XY坐标保持固定。
整体标定轨迹如下图所示:

图8 标定轨迹导图
2)标定结果查看(出现异常需重新标定)
标定轨迹:如图所示为标定轨迹,轨迹是否存在波动(建议等步长,方便通过轨迹排查特征提取是否正确)。

图9 标定实际轨迹图
标定状态:标定状态1表示成功,0表示失败需重新标定。
平移像素平均误差和旋转像素平均误差:根据实际精度要求判断,一般建议在一个像素以内。
角度旋转一致性:表示图像坐标系与机械手坐标系的旋转一致性,1表示旋转一致,-1表示旋转方向相反,需旋转机构查看旋转一致性是否判断准确。
3)标定状态检测正常则生成标定文件。
示教目的:通过示教建立目标检测物的基准像素坐标和物理坐标之间的关系;引导机械手以基准姿态抓住物料,并记录此时机械手坐标,然后回拍照位记录此时的图像特征点;实际生产时以此时图像特征点作为基准,将生产时图像特征点和基准图像特征点转到物理坐标系计算偏差。
1)在软件上完成生产(抓取)方案搭建,示例方案如下图所示。

图10 生产实际流程图
2)示教流程示意图:

图11 示教流程导图
3)示教具体操作步骤:
[1]. 放置生产用的物料在工作台上。
[2]. 调整机构位置,使得机构的吸嘴或夹爪可以很好地对准物料,记录此时机构的物理坐标为示教物理点,填入单点抓取模块。
[3]. 机构移动到拍照位置(即示教拍照物理点填入单点抓取模块,建议为标定时第五点),拍摄物料,获得像素坐标。
[4]. 在软件上选中单点抓取模块,并双击打开参数配置界面。
[5]. 填写示教抓取物理点,即示教时抓取物料的机械手物理坐标。
[6]. 手动填写或订阅基准图像像素点,即此时拍照位拍照获取的图像像素点。
[7]. 点击“执行”对单点抓取模块进行单次执行。
[8]. 点击“创建基准”完成图像基准点的设置,此时会弹窗提示“基准点创建成功!”。
[9]. 创建完成后,可将像素点绑定为运行图像点;若采用同一分支下来的特征点,则无需重新绑定。
1)生产拍照位确认
生产拍照位坐标为示教拍照位坐标(示教拍照物理点,要与标定第五点拍照位一致),可产生X/Y偏移(最终偏差需在单点抓取偏差的基础上加上拍照位变化量),但拍照姿态(相机旋转角度)必须保持不变;生产拍照位与标定时的工作距离必须保持不变。
2)生产方案搭建:如图10所示为生产流程,生产时需保证提取的特征点与示教图像特征点一致。
3)单点抓取模块配置。

图12 单点抓取参数配置图
输入方式:平移标定对应九点标定,平移旋转标定对应十二点标定。确定是按点输入还是按坐标输入,可以订阅模块也可以手动输入。
像素点:在抓取场景中,需要输入两个像素点,分别是基准点和运行点。其中基准点的像素点的输入在示教过程中已经完成,这里生产时传入的为运行点,订阅关系可复用。
4)触发流程:模块结果分为相对坐标及绝对坐标,绝对坐标则为机构抓取的位置。使用格式化模块订阅单点抓取模块输出的偏差值/绝对坐标,然后使用发送数据模块将结果发送给机械手,机械手按照绝对坐标可实现引导定位。

图13 生产定位坐标发送示意图