基于机器视觉的机械臂抓取系统设计
2021-06-28孙科李亚毕德学谷林峰郑晨旭
孙科,李亚,毕德学,谷林峰,郑晨旭
天津科技大学机械工程学院 天津市轻工与食品工程机械装备集成设计与在线监控重点实验室(天津 300222)
工业机器人被广泛用于包装和食品加工等自动化生产线[1],利用机器视觉技术引导工业机械臂可以增加机械臂柔性和灵活性[2],使机械臂能适应复杂和变化的环境,极大提高食品生产线自动化水平,保证了食品生产和卫生安全[3]。以巧克力生产线的自动化改造项目为例,以工业相机代替人眼完成目标位姿识别,实现由机械臂代替人力完成巧克力木质手柄摆放,以传送带坐标系为中间桥梁,提出了一种高效简单的手眼标定方法,由搭建的硬件和软件控制系统验证系统的稳定性。
1 系统软硬件总体设计
应用视觉技术实时引导四轴SCARA机械臂,实现对传送带上动态目标的定位抓取,其硬件系统组成如图1所示[4],包括振动上料盘、工业相机、传送带、SCARA机械臂、光源、编码器和工控机等。
图1 硬件系统
系统实现流程:由振动上料盘向传送带上料,目标物经过安装于传送带上游的相机视野,工控机运行系统程序完成目标物的采集识别及位姿提取,通过相机、传送带和机械臂的标定结果和编码器读数来得到目标物在机械臂坐标系下的实时位置,发送在机械臂工作空间的目标实时位姿信息至安装于传送带下游的机械臂,机械臂实现抓取目标,最后摆放到固定示教点。
控制系统整体实现如图2所示。系统通过Gige接口连接相机采集图像,Arduino控制板完成编码器数据的采集和传输及带速的控制,控制处理系统由4个并行运行的线程组成,各线程处理结果存储于相应的顺序队列中,线程间信息交流也通过队列传递,其中编码器采集线程完成对编码器实时数据的不间断采集并存储于编码器读数队列,机械臂需求线程完成机械臂对目标需求信息的采集,并将需求信息存入机械臂需求队列中,以上两线程主要实现信息的不间断采集。
图2 控制系统
图像处理线程如图3所示。它主要完成图像的采集及处理,此线程需要用编码器读数队列中的实时编码器读数以记录拍照时刻和判断拍照间隔。
图3 图像处理线程流程图
图像处理通过预先准备的标准目标模板图像进行基于形状特征的模板匹配,进而得到的目标位姿信息及采集时刻信息存于目标位姿信息队列中,以备后续目标实时位置的计算。为了减轻判别目标重复算法的复杂性和可靠性对系统执行效率和准确性的影响,拍照间隔采用宁漏拍不重拍的原则,故利用编码器读数控制拍照间隔大于相机视野长度。
信息处理发送线程如图4所示。它完成对目标实时位置的计算和发送目标位姿信息至机械臂。利用编码器读数队列的编码器实时数据和目标位姿信息队列存储的目标位姿和采集时刻信息以计算目标实时位置,判断其是否在机械臂工作空间内,再根据机械臂需求队列的需求信息判断是否发送目标实时位姿信息至机械臂。
图4 信息处理发送线程流程图
控制处理系统综合各种采集得到及各线程提取计算得到的信息,得到目标在机械臂坐标系下实时位姿信息,并由TCP/IP通讯方式发送至机械臂。
2 手眼标定
手眼标定旨在获得像素坐标系与机械臂坐标系的映射关系,由视觉处理得到的目标位置信息可由标定结果转换至机械臂坐标系下,常用的手眼系统相机视野与机械臂工作空间有交集,在交集内任一点均可知其在像素与机械臂坐标系下坐标值,故不难求得其手眼映射关系;对于手眼工作空间无交集的情况,常以一新坐标系为中间桥梁,间接求得手眼关系。由于项目目标物形状规则,相机安装使像素平面平行于传送带平面,机械臂安装使机器人基坐标系Z轴垂直传送带平面,忽略由于坐标平面不平行引起的标定误差,标定三者关系时只需求三个平面的映射关系,Z轴深度由机器人示教为固定值。
2.1 相机的标定
相机的标定旨在获得像素平面坐标系(UOV)和世界平面坐标系(XwOwYw)的投影关系[5]。此次基于针孔摄像机模型的透视投影关系提出了一种高效的标定方法。
可以将像素平面(如图5所示)等效到光轴中心上方。处于传送带平面的任意物点Pw发出的光线经过镜头光轴中心O,交于像素平面形成其对应的像点P。光轴中心与像素平面的距离为焦距f。将世界平面坐标系固定在传送带所在平面,其原点Ow在像素平面的投影点为像素坐标系原点O1,且其Xw轴和Yw轴分别与像素坐标系u轴和v轴方向重合,过光轴中心作垂直于像素平面与世界平面直线分别交于点O'和O''。
图5 等效成像原理图
由图6可知,ΔOO'P与ΔOO''Pw相似,ΔOO1P与ΔOOwPw相似,由此可得式1:
设P点像素坐标为(u,v),其对应的物点Pw在世界平面坐标系的坐标为(x,y),图像传感器水平和垂直方向上相邻像素之间的物理距离为(Sx,Sy)(一般认为Sx=Sy=S),将像素坐标转化为实际物理距离(u×S,v×S),由式(1)可得式(2):
式中:焦距f与物距|OO''|的比值记为固定值k,则世界平面坐标系和像素平面坐标系的线性映射关系为式(3):
式中:S/k为定值,其值可由世界平面上两点的实际物理距离与其对应的像素点的像素距离的比值求得。
2.2 相机、传送带和机器人的标定
如图6所示,世界平面坐标系(XwOwYw)在传送带平面,由2.1小节得到像素坐标系与世界平面坐标系映射关系,还需建立一中介坐标系以求手眼关系。传送带坐标系(XcOcYc)的建立:传送带坐标系原点Oc与世界平面坐标系原点Ow重合,X轴方向与传送带运行方向一致,机械臂坐标系为机械臂固定基坐标系(XbObYb)。
图6 相机、传送带和机械臂坐标系
由于各坐标系的标定只是二维关系,不需要考虑Z轴方向变换,则其坐标旋转平移矩阵如式(4)所示。
式中:θ为两坐标系X轴间的夹角;tx、ty分别为沿X、Y轴方向平移量。
为了求得世界平面坐标系与传送带坐标系X轴间的夹角θ1,如图7所示,可在传送带表面选取一标致点P1在相机视野内运行传送带行进到P2点,故P1P2与传送带坐标系X轴方向一致,P1、P2点在世界平面坐标系下的坐标为(xw1,yw1)和(xw2,yw2),故得式(5):
图7 相机与传送带坐标系
则传送带坐标系相对于世界平面坐标系的旋转平移矩阵记为Tcw。
如图6所示,机械臂基坐标系与传送带X轴间的夹角θ2,方法类似,在机械臂工作空间内选取一标致点P3运行传送带行进到P4点,P3P4与传送带坐标系X轴方向一致,示教机械臂到P3、P4点并分别可得机械臂基坐标系下的坐标(xb3,yb3)和(xb4,yb4),进而计算得θ2。
标定机械臂坐标系相对世界平面坐标系X、Y轴方向平移量,如图6所示,通过Tcw获得点P1在传送带坐标系下坐标(xc1,yc1),运行传送带至机械臂工作区间内P4点,并通过编码器得到移动的距离d,故P4点在传送带坐标系下的坐标为(xc1+d,yc1),其在机械臂基坐标系下的坐标可由示教得到(xb4,yb4),故传送带坐标系相对于机械臂基坐标的平移量(tx1,ty1)可由待定系数法求得,如式(6):
则传送带坐标系相对于机械臂基坐标系的旋转平移矩阵为Tcb。
由上述可得世界平面坐标系相对于机械臂基坐标系的旋转平移变换矩阵见式(7):
至此,由传送带坐标系为桥梁间接求得手眼关系,如式(8):
3 试验分析
为了验证系统的精度和实用性,利用机器视觉引导机械臂抓取位于传送带上动态位姿的巧克力木质手柄并摆放到巧克力模具固定位置如图8所示。
图8 巧克力模具
对标定结果进行试验验证。在相机视野中选取点由旋转平移矩阵Tcw得其在传送带坐标系下的坐标(xc,yc),运行传送带至机械臂工作空间并由编码器获得移动距离d,得其传送带坐标系下坐标(xc+d,yc),由旋转平移矩阵Tcb计算出其在机械臂坐标系下坐标(xb,yb),示教机械臂末端指点端移动到目标,得其在机械臂坐标系实际坐标(xr,yr)。
对比计算得到的(xb,yb)和实际的目标在机器人坐标系下的坐标值(xr,yr),由式(9)得到其距离误差,共测量30组数据其误差,如图9所示。
图9 标定误差图
经分析其标定误差小于1.5 mm,误差主要来源为坐标面并不完全平行、传送带平面不平整等因素。
通过目标摆放是否到位验证系统精度和稳定性,共统计30盘摆放情况,如表1所示。其成功率大于94%。
表1 摆放情况统计表
4 结语
利用机器视觉技术实时引导四轴SCARA机械臂实现对传送带上动态目标的定位抓取,搭建的硬件系统和软件控制系统运行稳定,提出的标定方法经试验验证精度满足项目要求,系统的实现提高了生产效率和食品安全。但由于在标定过程中忽略了各坐标平面不平行的因素,故后续研究中精度有待提高。