APP下载

基于改进九点标定的机器人投板方法*

2021-12-18张立国周思恩

制造技术与机床 2021年12期
关键词:机械手手臂图象

张立国 杨 曼 金 梅 周思恩

(燕山大学电气工程学院, 河北 秦皇岛 066004)

随着“中国制造2025”全面制造强国战略的推进,工厂对生产线智能化的要求也越来越高,也使机器人的使用率大幅提高[1]。但是大多投板站依然采取人工投板的方式,该方法存在准确性低、效率低、实时性较差以及劳动强度大的缺点。也有部分工厂使用机器人抓取搬移,主要分为2种形式:第1种是基于固定位移的抓取搬移,该方法使用机械手臂走固定位移在固定位置抓取,但是存在抓取定位精度不高的缺点;第2种是基于视觉定位进行抓取搬移,该方法将相机固定在工业机器人的末端外侧,相比于基于固定位移的抓取搬移,此方法对定位精度有一定的提高[2]。常用基于视觉定位标定的方法有3种:传统相机标定方法、自标定方法和基于主动视觉标定方法[3]。但自标定方法总是反复出现绝对对偶二次曲线的对偶图象不正定与最小二乘解的局限性问题,其鲁棒性不高[4],主动视觉标定方法鲁棒性高,但是不能用于摄像机运动未知和无法控制的场合。传统的标定方法,分为直接线性标定法[5-6]、Tsai两步标定法[7]、相机自标定方法[8]和张正友标定法[9]等。张正友标定方法虽然精度不是很高,但是不必用到相机的外部信息和大型的测试设备,而且操作简单,传统的九点标定就是基于张正友方法进行9个点的标定的,所以,本文在传统的九点标定方法的基础上,利用单个Mark标识,并在进行标定时相机采集照片后以及机械手臂前去抓取产品相机拍照获取产品图象后,利用数学形态学边缘检测方法对获取的图象进行特征提取,准确提取图象物体的边缘信息,机械手臂基于此可以自动进行微调,以达到定位抓取的智能化和精确化。

1 机器人实际投板流程

六轴机器人的各个连杆通过关节连接,6个关节都是旋转关节,属于开链式结构[10]。本实验机械手定位抓取的总体作业流程如图1所示。

机械手臂采用改进的九点标定方法进行定位,实现世界坐标系与像素坐标系之间的坐标转换。本实验采用的相机固定方式为眼在手方式。机械手臂移动前,标定板固定在相机视野中心处,在标定过程中不需要移动标定板,手臂同样可以在9个点处寻找标定板上的Mark点进行拍照。

其中,9个标定点的位置是利用九点示教方法,以产品待放载具的长宽为边界,平均分为3行3列,行与列的交叉点即为待标定的点,微调机械手的X轴或者Y轴方向,使Mark依次出现在视野的左上,中上,右上,右中,中间,左中,左下,中下,右下。

依照上述步骤依次记录下9个Mark点在相机坐标系下的坐标值以及9个点在机械手坐标系中的坐标值,即可获取2个坐标系的坐标转换关系,9个点相对应的坐标值将在文章第4节中给出。最终九点校正完毕后出现如图2所示的界面。

其中,Xmm每图元表示0.079 5 mm/pixel,即图像上的1 pixel对应到X方向为0.079 5 mm,同样,Ymm每图元表示0.070 9 mm/pixel,即图像上的1 pixel对应到Y方向为0.079 5 mm。按照实验标定要求,需要每图片的Xmm每图元、Ymm每图元校正值小于0.1 mm,表示校正结果较合理。

拍照时,通过适当的光源和CCD摄像机获取产品的表面图像寻找特征点,成功获取图象后,需要将图像进行分割,并对其二值图像进行分析。但是为了避免目标中存在伪目标或者存在粘连和裂断现象的问题,为了更大化地获取图片中的信息,准确提取图象物体的边缘信息,利用数学形态学边缘检测方法[11]对获取的图象进行特征提取[12]。然后机械手臂根据特征信息自动微调当前位置,直到获取圆点或者板子的全部信息后进行数据的记录,如图3所示,如果相机成功寻找到特征点定位,直接建立Local记录数据,如果首次相机寻找特征点失败,机械手可在当前位置附近以0.5 mm的步伐微调X轴或者Y轴坐标,重新拍照寻找特征点。

机械手臂结合视觉抓取PCB板的流程如图4所示,其中,PCB板载盒选择黑色背景,与金属 PCB颜色对比强烈。PCB板载盒位于传送带上,到达待取位置时,传感器通过I/O给机械手臂前往PCB载盒位置拍照的信号,如果相机成功寻找到特征点定位,机械手将会执行到位取板动作。如果首次相机寻找特征点失败,机械手可在当前位置附近以0.5 mm的步伐微调X轴或者Y轴坐标,重新拍照寻找特征点。

机械手通过I/O输出控制真空电磁阀进行吸真空时,需要设置VacuumReady和VacuumAlarm两个讯号以确认真空值的合理范围,保证机械手在稳定吸取时不会过吸损坏PCB板元件。经过100次的实验最终确定符合要求的气压值范围是-0.1~0.1 MPa。

2 机器人定位抓取原理

2.1 位姿标定

坐标系是为确定机器人的位置和姿态而在机器人或其他空间上设定的位姿指标系统。多连杆的工业机器人是以底座坐标系为参考坐标系的,通过确定一连串的连杆坐标系之间的关系来确定机器人的位姿[13]。在世界坐标和机械手坐标之间的变换中,主要涉及齐次坐标的平移变换和旋转变换。如图5所示,假设{A}、{B}是空间的两个坐标系,{A}和{B}的3个主轴分别平行且正方向相同,齐次坐标平移变换描述的是通过点P在{A}的位置确定点P在{B}中的位置。

再如图6所示,假设{A}和{B}是两个方向相同、方位不同的空间坐标系,{B}可以通过{A}绕其x、y、z任意坐标轴旋转得到[14]。

世界坐标和机械手坐标之间的变换可以通过设定标记点的方法来实现。如图7所示,假设机械手臂处于原点状态,图中左侧Q1~Q9这9个点表示机械手臂坐标系下的标记点,右侧q1~q9的9个点表示摄像机图像平面内的标记点。正如前文所讲,点Q1~Q9到点q1~q9的变换是通过平移和旋转来表示的:令

(1)

式中:S是尺度因子;fx、fy、u0、v0是摄像机内的参数;(x,y,z)是空间点P的图像像素坐标值;(X,Y,Z)是空间点P的相机坐标系中的坐标值。再令

(2)

则有:

Sx=HX

(3)

即:

(4)

根据式(4)可以求解机器人的移动坐标,从而实现了位姿估计[15]。

2.2 相机标定

世界坐标和图像坐标之间实现转换,需要建立好相机的成像模型,如图8所示为线性相机模型,也就是常说的针孔模型,定义:OwXwYwZw为世界坐标系、OcXcYcZc为摄像机坐标系、OiXY为图像坐标系、Oouovo为像素坐标系。

假设(u,v)是投影点P的图像像素坐标,(Xc,Yc,Zc)是空间点P在相机坐标系中的坐标,则相机成像模型可描述为:

(5)

式中:S是比例因子,αx、αy分别是u和v轴上的尺度因子,(x0,y0)是像面的主点位置。

再假设(Xw,Yw,Zw)是空间点P在世界坐标系中的坐标,则点P在相机坐标系中的坐标和在世界坐标系中的坐标的关系为:

(6)

联立式(5)和式(6),可以得到空间点Q的世界坐标系中的坐标与其投影点P的坐标的关系为:

(7)

式中:M1是相机内部的参数,由αx、αy、u0、v0决定,M2是相机外部参数,由相机坐标系相对世界坐标系的方位决定[16]。

由于镜头的弯曲和安装误差等影响,镜头并非理想的透镜成像,而带有不同程度的畸变,使空间点所成的像不在线性模型描述的位置,而是在受到镜头失真后影响有一定偏移[17]。非线性畸变一般包括径向畸变和切向畸变,可以表示为:

δx(x,y)=k1x(x2+y2)+

[p1(3x2+y2)+2p2xy]+s1(x2+y2)

(8)

δy(x,y)=k2x(x2+y2)+

[p2(3x2+y2)+2p1xy]+s2(x2+y2)

(9)

式中:k1、k2是径向畸变系数;p1、p2是切向畸变系数。由上述的模型参数αx、αy、u0、v0和畸变系数k1、k2、p1、p2构成非线性模型下的相机的内部参数。

对相机内外参数采用非线性Levenberg-Marquardt算法进行优化。假设标定点有n个,通过最小化目标函数对这些参数进行优化,如式(10)所示。

(10)

其中:(xdi,ydi)是第i个点的模型,(ui,vi)是实际坐标。

2.3 数学形态学

成功获取图象后,需要将图像进行分割,并对其二值图像进行分析,但是为了避免目标中存在伪目标或者存在粘连和裂断现象的问题,也为了更大化地获取图片中的信息,准确提取图象物体的边缘信息,实验采用数学形态学边缘检测方法对拍照成功获取的图象进行特征提取。数学形态学的基础是严格的几何学和数学理论,重点研究的是图象的几何结构和相互关系,数学形态学是基于对结构元素的填放来对图象进行处理的,构造不同的结构元素可完成不同的图像分析,并得到不同的结果[18]。

数学形态学主要涉及膨胀与腐蚀运算,膨胀与腐蚀的结合又形成开合与闭合运算。先进行腐蚀后操作膨胀的属于开运算。开运算可以消除细小的物体,在纤细处既可以分离物体又能够平滑较大物体边界。先进行膨胀操作后对图像进行腐蚀的过程叫做闭运算。闭运算用来填充物体内细小的空洞,连接邻近物体和平滑边界的作用[19]。实验中对图像做形态学开闭运算,不仅便于分离图像目标,而且可以去噪、平滑目标体内的灰度,改善图像的灰度效果[20]。所以,本实验需要对图象多次进行腐蚀和膨胀操作以达到边缘的检测提取。

2.3.1 图象膨胀

结构元素在形态变换中的作用相当于信号处理中的“滤波窗口”[21]。图象膨胀是利用结构元素x对信号y进行膨胀的,如式(11)所示。结构元素x对信号y进行膨胀就是把结构元素x反射平移m后使x与y的交集非空的所有点构成的集合。

(11)

图象膨胀可以扩大图像目标,其运算也可以按式(12)进行计算。

(12)

如图9所示,首先,结构元素x中每一个在定义域D[x]中的点m将信号y平移m,然后,每次平移信号的值加上y,这样对于结构元素定义域中每一点都得到一个信号,对所有这些信号逐点取其最大值,便可得到膨胀结果。

2.3.2 图象腐蚀

图像腐蚀是图象膨胀的对偶运算,具有收缩目标图象的作用。结构元素选取适当的时候,可以将灰度比较近接的两个或者多个目标分离,腐蚀的结果在原图上表现出来的是将外围分离,便于提取目标图像的轮廓。利用结构元素x对信号y进行腐蚀,其定义如(13)。

(y⊕x)(m)={m|x(m)⊆y}

(13)

用x(m)对y进行腐蚀的结果就是把结构元素x平移后使x包含于y的所有点构成的集合。

2.4 视觉校准

视觉校正的目的是获取相机坐标系和机械手坐标系之间的对应关系[22],常见的视觉定位误差有相机安装倾斜、相机工作距离过高导等,因此视觉校正很有必要。

本实验使用的是移动式相机视觉定位,即相机跟随机械手进行移动。相机安装方式如图10所示。

视觉定位过程中最重要的是得到相机坐标系和机械手坐标系之间的对应关系,为了获取转换所用的转换关系,本文基于九点标定法[23-24],在标定的时候,采集到照片后基于数学形态学对目标进行识别分割,提取图象物体的边缘信息,进而机械手臂自动微调标记出9个点的位置信息。九点标定就是直接建立相机和机械手之间的坐标变换关系,其处理流程如图11所示。

由基于九点标定坐标换算可知,在换算两个坐标系中的坐标时,重点是要求出标定矩阵。假设某点P在机械手坐标是(x′,y′),对应的图像坐标是(x,y),R是旋转矩阵,M是平移矩阵[24],则由式(14):

(14)

得:

(14)

(15)

(16)

由式(15)得:

(17)

由式(16)得:

(18)

根据式(17)和式(18)就可以求出标定矩阵,手眼标定后,以机械手旋转为中心,由图像上的坐标,根据

(19)

trans()函数及公式(19),即可将图像坐标转换成机械手应该去的位置坐标。其中,(x1,y1)是机械手臂即将要移动去的坐标,(x0,y0)是工作区域初始某点坐标,(detX,detY)是相机中心和机械手旋转中心的相对距离,trans()函数就是将图像坐标转换为相对于(x0,y0)工作区域的机械坐标,再加上坐标(x1-x0,y1-y0)和(detX,detY)就是当前正确的机械坐标。

3 实验验证与讨论

为了验证文中所述的基于视觉定位的方法的可行性,本文选用爱普生C8-A901六轴机械手臂,作业产品PCB板长23 cm,宽12 cm,厚度(包含原件)1.3 cm。因为PCB板上原件厚度不统一,所以实验选择最大厚度进行实验,以克服视觉定位时高度差对成像知量的影响。文中重点进行了重复定位精度的实验探究。

3.1 重复定位

重复定位是指机械手的初始点不变,运动轨迹也不变的情况下,机器人到达相同目标位置的精度,这个指标可以用来判断机器人的稳定性。重复定位实验一共做了100组,从中随机抽取15组X方向和Y方向的数据,结果见表1,本文也对普通九点算法进行了重复定位实验,实验结果如表2所示。

表1 改进九点标定的重复定位结果

表2 传统九点标定的重复定位结果

从实验结果可以看出,改进后的九点标定法在X方向的平均误差是0.234 2 mm,在Y方向的平均误差是0.012 mm,然而传统的九点标定方法在X方向的平均误差是1.011 25 mm,在Y方向的平均误差是0.230 mm。

改进后的基于九点标定的误差与传统方法进行标定的X轴误差对比变化如图12所示,其中,虚线是改进的九点标定法所得的在X轴方向上的误差范围,实线是传统的九点标定法所得的在X轴方向上的误差范围。

改进后的基于九点标定的误差与传统方法进行标定的Y轴误差对比变化如图13所示,其中,虚线是改进的九点标定法所得的在Y轴方向上的误差范围,实线是传统的九点标定法所得的在Y轴方向上的误差范围。

在实际生产中,正常的工位都是允许PCB板左右偏移2 mm,虽然传统的九点标定方法的平均误差也在要求的范围内,但是精度不够高,而且误差中也出现过超过2 mm的特殊位点,由此可以看出,改进的九点标定方法具有较高的控制精度,能够确保重复定位的精度,完全满足机械手定位搬移要求。

3.2 九点校准坐标值

九点标定既要得到9个位置点在机器人坐标系中的坐标,同时还要用相机识别这9个点所对应的Mark点在图像坐标系下的坐标,进而根据相机标定函数求得对应的像素值。基于九点标点的原理利用改进的方法,成功标定的9个目标点的机械手臂坐标系下的坐标值和对应的图像坐标系下的坐标值如表3所示。其中,P1~P9是9个目标点在机械手坐标系中的坐标点,9个点所对应Mark点的图像坐标系下的坐标为P11~P19。

表3 九点校正坐标值

4 结语

本文针对投板工位定位抓取不精准的问题,提出机械手臂结合视觉对感兴趣对象(PCB)进行识别、抓取和搬移的方法,并对其进行相关研究和分析,基于机器视觉的精准拍照定位、六轴机械手臂自由度的灵活性,在重复定位和九点标定实验中,可以看出,在X方向的平均误差是0.234 2 mm,在Y方向的平均误差是0.012 mm,可见,该系统很是稳定,而且此系统也可以用于包装、分拣工站以及在线检测,比如将成型产品放在检测仪上进行检测。虽然六自由度的机器人可以大大提高运作效率,但是基于科技的发展,在机器人作业效率方面还是有很大的提升空间的。

猜你喜欢

机械手手臂图象
函数y=Asin(ωx+ϕ)的图象
手臂上的抓痕
TRIZ与情景分解法在换刀机械手设计中的应用
从图象中挖掘知识的联结点
机械手式自动打结机
“有图有真相”——谈一次函数图象的应用
一次函数图象的平移变换
基于粒子群迭代的一种冗余机械手逆解算法
搬运机械手PLC控制系统设计
完美的手臂