面向装配机器人的作业目标视觉识别与定位方法*
2018-11-01宿月文金守峰田明锐
宿月文,金守峰,田明锐
(1.宝鸡文理学院 机械工程学院,陕西 宝鸡 721007;2.西安工程大学 机电工程学院,西安 710048;3.长安大学 高速公路施工机械陕西省重点实验室,西安 710064)
0 引言
机械产品的装配是制造过程中的后置工序,采用装配机器人代替人来完成装配任务可以提高效率、降低人工的劳动强度[1]。装配机器人多以示教或离线编程的控制方式,使其严格按照设定的指令完成装配动作,当装配作业环境或目标变化时,不能及时适应这些变化,导致机器人不能准确完成装配任务[2-3]。随着视觉传感器及计算机视觉理论的发展,具有视觉感知的装配机器人成为高端制造装配线的核心,实现对作业目标的实时动态识别与定位,完成机器人位姿调整及抓取[4-5]。Connolly提出机器视觉的先进性及其在装配系统中的应用模式[6-7];王修岩[8]等采用模糊识别的工件自主识别算法,利用图像中工件的几何特征量作为识别特征参数,通过确定轴向惯性矩方法提高工件的识别和定位精度,但是无法处理工件重叠的情况;Golnabi等研究了如何构基于机器视觉的系统[9];Sinkar等利用人工神经网络和SIFT算法提取图像特征并进行分类,然后计算目标图像特征与提取特征的欧氏距离,实现对目标物体的识别[10]。惠记庄等对工件图像进行两次匹配来剔除匹配点,提高识别精度[11]。
由于装配的作业过程复杂,工业现场的光照变化、复杂的背景,装配工件的尺寸、形状多样性等因素对作业目标的识别、定位造成的扰动是工业装配机器人进一步发展的瓶颈。针对此问题,本文通过SURF算法提取作业目标的特征点,对提取的特征点利用具有旋转不变性的BRIEF描述子及汉明距离进行特征描述与初匹配。对于在特征点匹配过程的噪声等外界因素的影响,对汉明距离初匹配可能存在伪匹配的误差,采用PROSAC算法对汉明距离初次匹配后的特征点进行二次匹配。根据最佳匹配特征点确定作业目标的形心坐标,利用系统标定关系求解出作业目标的实际位置。实现装配机器人对作业目标的快速、鲁棒性识别与定位。
1 装配机器人与视觉系统标定
1.1 装配机器人
具有视觉感知的装配机器人如图1所示,装配机器人为平面关节式的四自由度SCARA机器人,负载为3kg,驱动方式为步进、伺服电机混合驱动,执行机构为气动手抓;视觉系统为AVT-GE1050相机,配有25mm光学镜头,光源为LED白色环形光,相机安装在机器人手臂末端,与执行机构不干涉;作业目标的传送装置为步进电机加谐波减速器驱动的360°旋转的工作台。计算机为上位机控制端与相机相连,将采集的作业目标图像进行处理。下位机为开源开发板Arduino mega 2560R3,用来控制机器手臂完成对作业目标的动作。
图1 装配机器人及各坐标系的关系
1.2 视觉系统标定
具有视觉感知的装配机器人及各坐标系的关系如图1所示,图中x-y-z为机器人基坐标系,xe-ye-ze为末端执行器坐标系,xc-yc-zc为相机坐标系,xw-yw-zw为标定板坐标系。各坐标系之间的相对位姿可由T4,X,Tc三个转换矩阵来表达,其中,T4是末端相对基坐标系的转换矩阵,通过机器人控制器获取;X是相机坐标系相对于末端执行器坐标系的转换矩阵,通过手眼标定获取;Tc是标定板坐标系相对相机坐标系的转换矩阵,通过图像像素坐标计算,由此作业目标的位姿为:
T=T4·X·Tc
(1)
相机标定模板为10×10的黑白棋盘格,通过Matlab标定工具箱,得到相机的内参数矩阵为:
(2)
同时得到径向畸变系数为kx=-0.0441,ky=0.0290。
由于相机的外部参数是对应于不同方向的标定模板在相机坐标系中的位置描述,由手眼标定基本方程式AX=XB得到机器人视觉系统的手眼关系为:
(3)
2 作业目标的识别算法
作业目标的识别是装配机器人完成装配任务的前提,现有的识别方法主要有基于模板的匹配算法和基于特征的匹配算法。模板匹配算法抗环境干扰较弱,鲁棒性较差;基于特征的匹配算法受外界影响较小,鲁棒性好、抗干扰性强。基于特征匹配的算法主要有Harris、SIFT、SURF、ORB等。Lowe提出了具有尺度、旋转、光照等不变性的SIFT算法,但该算法复杂度较高[12]。Bay针对SIFT算法复杂度高、匹配速度慢的问题提出了SURF算法,降低了算法的复杂度,提高了算法性能[13]。Ethan Rublee等人提出了ORB算法,该算法运算速度较快,但是在图像尺度变化时,特征点匹配的精度大大降低[14]。本文在文献[13]算法提取作业目标的特征点的基础上,对特征点采用具有旋转不变性的BRIEF描述子进行描述,采用最近邻汉明距离融合PROSAC算法实现对特征点的两步骤精准匹配识别。
2.1 特征点提取与尺度空间的建立
文献[13]算法将图像与高斯二阶微分模板的滤波运算转变为对积分图像的加减运算,在图像中取任意点(x,y),尺度为σ,则该点的Hessian矩阵表示为:
(4)
式中,Lxx(x,σ)是高斯函数二阶偏导数与图像中像素点的灰度值的二维卷积,Lxy(x,σ)与Lyy(x,σ)的意义与之相似。
以9×9的模板作为最小尺度空间值,对模板与图像的卷积进行通过盒子滤波运算,可将矩阵的行列式简化为:
Det(Happrox)=DxxDyy-(0.9Dxy)2
(5)
式中,Dxx、Dxy和Dyy为模板与图像的卷积,Det(Happrox)为盒子滤波的响应值。
采用了盒子滤波和积分图像,通过不断增大盒子滤波模板尺寸的方法建立图像的尺度空间,以不同尺寸盒子滤波模板与积分图像计算式(4)的响应图像,对响应图像进行3D邻域非极大值抑制,建立尺度空间金字塔模型。将Hessian 矩阵的特征点与该点为中心的3D尺度空间的其他26个值进行比较,当特征点值与其他26个点值不相等时,则标记该点为候选特征点,再对尺度空间及图像空间进行插值计算,最终得到稳定的特征点位置和尺度值。
2.2 BRIEF描述特征点
为了给提取到的特征点增加方向信息,采用灰度质心法将特征点的灰度和质心之间的偏移向量的方向定义为特征点的方向[15]。定义邻域矩为:
(6)
式中,I为图像。
质心为:
(7)
特征点的方向为特征点与质心的夹角θ,可表示为:
(8)
对提取的特征点采用具有旋转不变性的BRIEF描述子进行描述,BRIEF特征点描述子的工作原理是在特征点邻域内随机选取若干的像素点对,通过比较其灰度值,将其组合编码为二进制的特征点描述子。
为了解决噪声的干扰问题,在对图像进行高斯滤波预处理的基础上,以SURF算法提取特征点为中心的31×31像素邻域内随机选取两个5×5的子窗口,利用准则τ进行二进制赋值。
(9)
式中,p(x)、p(y)为邻域内x,y处的灰度函数。
在邻域内随机选取N个(x,y)像素位置,重复进行式(9)所示的二进制赋值,得到如式(10) 所示的BRIEF的N维二进制比特串的描述子。将式(8)得到的特征点的质心方向信息添加至描述子中,采用贪婪搜索算法,从全部像素块对中找到256个相关性最低的像素块对,从而构成所需的特征描述子。
(10)
2.3 汉明距离融合PROSAC算法的特征点匹配
利用文献[13]算法提取的特征点以及BRIEF特征描述子,从式(10)得到的特征描述子中取两个特征点的描述子为:
K1=x0x1…x225
(11)
K2=y0y1…y225
(12)
则两个特征描述子之间的汉明距离为:
(13)
式中,x与y的值为0或1,⊕表示异或逻辑运算。
汉明距离越小则两个特征描述子相似程度越高,因此采用最近邻汉明距离进行相似性度量[16]。
作业目标作的模板如图2所示,对如图3所示的装配机器人获取的现场图进行目标识别,匹配的结果如图4所示。
图2 模板 图3 作业目标
图4 匹配结果
由图4可知在特征点匹配过程中由于噪声及其他零件等外界因素的干扰,经过最近邻的汉明距离得到结果可能存在伪匹配对造成误差,这些点称为外点。外点的存在严重影响了算法的匹配精度,因此在汉明距离的基础上融合PROSAC算法对特征点进行二次匹配。PROSAC算法是在RANSAC 算法上改进的,RANSAC 算法从所有数据中抽取样本,而PROSAC算法通过将样本按质量好坏进行降序排列,再从具有较高质量的数据子集中抽取样本,通过反复迭代使得到最优估计解进而消除误匹配,提高匹配精度。二次匹配的结果如图5所示。
图5 二次匹配结果
3 作业目标的定位算法
定位是在作业目标识别基础上确定其准确坐标,为机器人抓取提供位置信息。本文中的作业目标多位规则形状,因此采用目标的形心坐标来进行定位。
3.1 作业目标模板的形心坐标
对如图2所示的目标模板图像进行图像预处理,采用Canny算子得到目标的边缘轮廓信息,在运用形态学算法进行背景填充与标签运算,得到模板图像的目标形心坐标如图6所示。
(a)图像增强 (b)边缘检测
(c)背景填充 (d)目标定位图6 模板定位
3.2 仿射模型参数计算
根据模板图像与目标图像之间的关系,本文采用4参数仿射模型计算仿射变换参数, 其变换矩阵为:
(14)
式中,s为尺度参数,tx、ty分别为x、1方向的平移量,θ为旋转角。
模板图像上点(xp,yp)与目标图像上点(xp,yp)之间的映射关系为:
(15)
设m11=m22=scosθ,m13=tx,m12=-m21=ssinθ,m23=t则有:
(16)
由式(15)可知,求解6个位置数,[m11,m12,m13,m21,m22,m23]至少需要三对匹配点,在模板图像与目标图像中提取相对应的特征匹点集为P和Q,与其对应的匹配特征点对为(pi,pj)和(qa,qb),以最小二乘法计算得到仿射变换中所需的6个最佳参数[17]。
(17)
定义的均方差RMSE为:
(18)
3.3 目标图像的形心坐标
将图6d得到模板图像的形心坐标与仿射变换模型参数带入式(16)中,计算目标图像中作业目标的形心坐标如图7所示。
图7 作业目标的形心坐标
4 实验分析
4.1 识别匹配实验
实验中分别利用经典的SIFT、SURF和本文算法对同一环境下获取的目标图像进行特征点提取与识别,实验结果如图8所示,由图可知SIFT 算法在特征点匹配时,出现了误匹配,影响识别精度;SURF算法和本文算法能够准确地识别出目标。本文算法所消耗的时间控制在0.3s以内,较SURF 算法和SIFT 算法大大提高,能够满足工业生产中实时性的要求。
(a)sift
(b)surf
(c)本文算法图8 三种算法的对比试验
4.2 作业目标的定位
另取一组零件进行进行定位实验,结果如图9所示。在获得作业目标形心图像坐标后,结合2.2节的标定关系,代入到公式(1)中计算得到作业目标形心的世界坐标,与装配机器人示教得到的实际坐标值进行比较,各坐标如表1所示,由表1可知,计算的作业目标形心的世界坐标误差控制在1.0 mm以内。
(a) 模板图像 (b)目标定位
表1 作业目标形心的位姿
5 结束语
针对装配的作业过程中工件的尺寸、形状多样性等因素对作业目标的识别、定位造成的扰动,本文通过SURF算法提取作业目标的特征点,利用具有旋转不变性的BRIEF描述子及汉明距离进行特征描述,采用PROSAC算法对汉明距离初次匹配后的特征点进行二次匹配。根据最佳匹配特征点确定作业目标的形心坐标,结合系统标定关系求解出作业目标的实际位置。实现装配机器人对作业目标的快速、鲁棒性识别与定位。
(1)以四自由度SCARA机器人与AVT-GE1050工业相机构建了具有视觉感知的装配机器人系统,利用BRIEF描述子对SURF算法提取的作业目标特征点进行描述,将汉明距离融合PROSAC算法来提高匹配识别精度,解决装配作业复杂环境下作业目标形状多样性等因素对目标的识别的影响,该方法在忽略几何畸变的情况下,对作业目标具有较好的识别精度。
(2)通过模板图像与目标图像之间变换关系,建立了4参数仿射变换模型,根据模板图像的形心坐标与仿射变换参数获得目标的形心坐标,结合装配机器人视觉系统的标定参数得到目标形心的位姿,定位误差不超过1.0mm,为装配机器人的自主抓取、装配提供位置信息。