基于光刀图像的机器人示教纠偏方法
2021-04-12习俊通
娄 宁,习俊通
(上海交通大学 智能制造与信息工程研究所,上海 200240)
1 问题的描述
在汽车制造过程中,车身零件的制造精度是整车制造一致性与制造质量的前提[1]。为保证零件的生产质量,需要对零件上各个特征的位置进行实时测量[2]。激光扫描是按照一定的空间、时间的采样频率与采样密度,利用辅助的机械运动和光学扫描等手段使激光束投射到被测零件表面,通过激光线像素点在空间坐标系下的坐标进行特征提取及位置测量的技术[3]。这种测量方法具有非接触、速度快、精度高等优点。将激光扫描测头与工业机器人结合,可实现多角度、多方位测量,满足了工业生产中在线检测的需求,具有通用性强、自动化程度高、灵活性好的优点[4]。
激光扫描测头相对于待测特征的位置以及激光扫描的方向是影响测量准确性与鲁棒性的关键因素。目前可测量的车身特征包括:孔类特征、边类特征、柱类特征、面类特征。对于最常测量的孔类特征(包括光孔、螺纹孔、腰槽孔、方孔),示教时,应尽量保证以下目标:
(1)光刀线中心点提取是使用改进的灰度质心法[5]按列计算的,由于光刀线有一定的宽度,为保证光刀线中心点准确提取,图像光刀线应保持水平(如图1)。
(2)测头的视场有限,为保证能够拍摄到完整的光刀图像且方便特征点提取,被测特征应位于图像中央。如图1所示,小圆点为提取的特征点,矩形边框为包络提取的特征点最小矩形分别向四周扩展100个像素。
(3)腰槽孔特征需要利用左右两侧圆弧拟合得到的圆心进而求得腰槽孔的中心。对于图2a,由于扫描方向不理想,提取的特征点(小圆点)并没有全部在圆弧上,有一部分位于直线边上,虽然拟合算法中会排除这部分点,但是拟合点变少,会造成拟合不准确。因此腰槽孔的扫描方向应与腰槽孔直线段垂直,如图2所示。
(4)方孔特征需要利用四条边求取方孔的中心。为保证提取的特征点在四条边上均匀分布,方孔的扫描方向应与方孔对角线方向平行,如图3所示。
为达到上述目标,需要在测量前对测量位置进行准确示教。目前,实际工厂场合使用最多的是人工示教的方法[6],即由专业人员现场根据测量图像对测量位姿进行调整,由于测头的测量范围有限且没有调整依据,整个过程需要多次尝试,耗时耗力。博赛公司[7]开发出了由协作机器人搭载三维激光扫描测头的系统,可通过手动拖动的方式进行位姿调整,虽然调整方便,但同样由于缺乏调整依据,需要多次拖动才能找到最佳测量位姿。受焊接机器人焊接轨迹视觉纠偏[8-11]的启发,可根据拍摄的光刀图像对初始示教位姿进行纠偏,从而达到理想的示教位姿。
本文针对示教过程人为干预多,示教时间长的问题,提出了示教纠偏方法,通过分析光刀图像,得到机器人位姿调整方法,并分三步将初始测量位姿调整到理想位姿;机器人位姿调整可通过电脑端向机器人发送移动指令的方式实现,可实现自动调整,方便工人操作,缩短了示教时间,且示教结果好。
2 系统构成
实验室开发的机器人辅助在线检测系统如图4所示。该系统由系统平台、机器人、激光扫描测头、电脑、夹具、被测零件组成。其中,机器人使用的是新松SCR5协作机器人,该机器人可与电脑进行TCP/IP通讯,可实时向电脑端发送机器人转角值和末端位姿,同时电脑端也可发送末端位姿指令,控制机器人运行。系统所用的激光扫描测头是实验室开发的测头[12]。电脑端装有自己开发的系统软件,具有与机器人通讯、激光测头控制、图像采集处理等功能。
系统坐标系结构如图5所示,本文主要涉及以下3个坐标系[13]:
(1)机器人基坐标系Ob-Xb Yb Zb坐标系的原点位于机器人第一根轴与机器人基础安装平面的交点,Xb轴指向机器人正前方,Zb轴与第一根轴重合并指向上方。该坐标系可作为系统全局坐标系,测量结果及末端位姿描述统一到该坐标系下。
(2)机器人末端法兰坐标系Of-Xf Yf Zf坐标系的原点为法兰中心,原点指向法兰盘标识孔的方向为Xf方向,Zf垂直于法兰平面指向外。
(3)测量坐标系Os-Xs Ys Zs该坐标系即为测头相机坐标系,原点为相机镜头光心,Xs方向与激光扫描方向垂直,Zs轴与相机光轴方向重合。在机器人程序中,将测量坐标系定义为机器人工具坐标系。
测量结果到机器人基坐标系的转换过程为:
式中:Pb为被测点P在机器人基坐标系下的坐标;Ps为被测点P在测量坐标系下的坐标;为机器人末端法兰与机器人基坐标系的坐标转换关系;为测量坐标系与机器人末端法兰坐标系的转换关系,即手眼关系。利用文献[14]中的方法,可对机器人本体参数和手眼关系参数进行标定,将标定好的结果输入机器人示教盒中,并将测量坐标系设置为工具坐标系,即可通过机器人向电脑端发送的工具(测量)坐标系末端位姿[X,Y,Z,RX,RY,RZ],计算得到测量坐标系与机器人基坐标系的转换关系。同时,也可通过电脑端向机器人发送工具(测量)坐标系末端位姿,控制机器人的移动。测量坐标系到机器人基坐标系的转换关系与工具(测量)坐标系末端位姿[X,Y,Z,RX,RY,RZ]的关系可表示为:
3 示教纠偏方法
采用人工示教的方式很难将机器人末端移至理想的测量位姿,通常情况是,操作人员可以快速地将末端移动到能够扫描到特征的初始位姿(如图6),该位姿与最佳的拍摄位姿有一定差距。为实现第1章所述的示教目标,需要对初始位置进行纠偏,到达最佳测量位姿。可将纠偏工作分为3个步骤进行:
(1)调整机器人末端姿态,使得光刀线水平。
(2)调整机器人末端位置(不改变姿态,平移操作),使测量特征位于图像中央。
(3)再次调整机器人末端姿态,使得满足被测特征特定的扫描方向。
3.1 调整光刀线水平
由测头的设计可以假设出射激光平面均经过点(0,b,c)且与方向(1,0,0)平行,则可设出射激光平面方程为:
一次扫描图像有23条光刀线,每条光刀线对应的出射激光平面不同,也对应不同的k值。设被测平面法向量为(m,n,p),则可设被测平面方程为:
联立式(4)和式(5)可得被测平面上光刀线方程:
对于反射激光平面,经过测量平面光刀线,且经过相机焦点(0,0,0),则反射激光平面方程可表示为:
相机成像平面方程为:
联立可得相机成像平面光刀线方程为:
可得成像平面上光刀线方向为(n+k',m,0)。其与成像面水平方向(1,0,0)夹角为θ,
增热型吸收式热泵是以消耗高温热能为代价,通过向系统中输入高温热源,进而从低温热源中回收一部分热能,提高其温度,以中温热能供给用户。将热泵技术应用于回收油页岩干馏污水的余热,以炼油厂瓦斯尾气锅炉产生的蒸汽(0.8 MPa)为动力,以干馏污水为低温热源,回收干馏污水的热量用于冬季采暖。干馏污水处理及热量回收的工艺流程图见图4。
由式(10)可知,当m=0时,θ=0,即测量平面平行于测量坐标系X轴方向时,光刀线在图像中为水平方向。为方便后续步骤调整,本文将测头XOY平面调整为与测量平面平行,即测头Z轴方向与测量平面法向平行。具体调整方法为(如图8):
(1)绕测量坐标系OS-XS YS ZS的OS YS方向转动α=tan-1,得到坐标系
设如图6所示的初始位姿测量坐标系与机器人基坐标系的转换关系为。按上述调整过程,可得:
如图9a所示为初始位置拍摄的光刀线图像,光刀线并不是水平方向。图中小圆点即为提取的特征点,根据提取特征点在测量坐标系下的坐标可以拟合出被测特征所在平面的法向,带入式(11)中求得转换关系,控制机器人运动到相应位姿,再进行一次拍摄,得到如图9b所示光刀线图像,光刀线已经调整为水平。
3.2 调整特征位置
如图9b所示,拍摄到的特征并没有位于图像中心,下一步就要调整相机位置,保证特征位于图像中心。已知相机坐标系与图像坐标系的转换关系如下:
式中:s为比例系数且s≠0;Mi为单目摄像机内参数矩阵;aL,bL,cL为出射激光平面方程参数;Ps=(xs,ys,zs,1)T为特征点在测量坐标系下的坐标;Pu=(xu,yu,0,1)T为特征中心在图像坐标系下的坐标。当Pu-center=(xu-center,yu-center,0,1)T为图片中心像素点坐标,aL,bL,cL为第12条激光线平面方程参数时,由式(12)可以解得图片中心点在测量坐标系下的坐标Ps-center=(xs-center,ys-center,zs-center,1)T。经过3.1节调整,测量坐标系的面平行于被测平面,设在该位姿下测量拟合得到的特征点坐标为P0(x0,y0,z0)。因此,只需要在测量坐标系下分别沿方向平移Δx=xs-centerx0,沿方向平移Δy=ys-center-y0,沿方向平移Δz=zs-center-z0。经过本次机器人末端平移调整后可得:
如图10a所示为光刀线调整为水平后拍摄的光刀线图像,图中小圆点为此时拟合的特征点。图10b所示为经过本次机器人末端平移调整后再次拍摄的光刀线图像。
3.3 调整扫描方向
对于某些特殊的特征(腰槽孔、方孔),由于拟合特征点算法的设计,需要调整机器人末端姿态以满足特定的扫描方向。由3.1节和3.2节的调整,已经确定了机器人末端的位置以及X与Y方向的姿态,接下来就是调整扫描方向,以确定Z方向的姿态。
3.3.1 腰槽孔扫描方向的调整
对于腰槽孔扫描方向的调整,首先要找到圆弧段与直线段的分割点。以图11a的倾斜方向为例,寻找右支(虚线三角框中)分割点具体方法为:计算第一个特征点与第二个点在测量坐标系下投影到XS OS YS平面上的斜率k1,再计算第一个点与下一个点的斜率,如果与k1相差不大,说明该点位于直线段上,如果与k1有较大偏差,说明该点即为分割点。对于相反的倾斜方向同理。在检测到分割点后求出直线段与OS XS方向的夹角γ,则需要绕OS ZS转动的角度
转换到机器人基坐标系下的转换关系为:
如图11b所示为进行调整后的光刀图像。对于图12a的情况,当检测到特征外轮廓高度大于宽度时,可先将测头绕Os Zs旋转90°(如图12b),再进行调整。
3.3.2 方孔扫描方向的调整
对于方孔特征,扫描方向是沿其对角线方向是最佳的。以图13a的倾斜方向为例,可确定最左侧特征点,利用最左侧特征点与左侧最底部特征点及其间的特征点可拟合出方孔特征该边的斜率为k1,该边与OS XS方向的夹角γ,则需要绕OS ZS转动的角度
转换到机器人基坐标系下的转换关系为:
4 实验验证
根据前文提到的示教纠偏的方法,笔者编写了如图14所示软件。将机器人移动至测量特征的初始位姿,点击“自动示教”按钮,软件将按照如图15所示流程自动对测量位姿进行示教纠偏。
具体流程为:
步骤1将机器人调整至某一初始示教位姿,开始示教纠偏。
步骤2拍摄一组扫描图像,并判断图像中是否包含特征,若包含特征则进行下一步判断,否则提示操作人员调整机器人测量位姿。
步骤3判断图像光刀线是否为水平方向,若光刀线水平则进行下一步判断,否则计算测量坐标系下X、Y轴方向的调整角度,并向机器人发送调整指令,机器人调整完成后,返回步骤2。
步骤4判断测量特征是否位于图像中心,若测量特征位于图像中心则进行下一步判断,否则计算测量坐标系下X、Y轴方向的平移距离,并向机器人发送调整指令,机器人调整完成后,返回步骤2。
步骤5判断扫描方向是否满足要求,若满足则示教目标已经达到,示教纠偏结束,否则计算测量坐标系下Z轴调整角度,并向机器人发送调整指令,机器人调整完成后,返回步骤2。
为方便对示教结果进行描述,针对第1章示教目标,设定如下评价指标(设以图像左下角为原点,以水平向右为X轴方向,以竖直向上为Y轴方向,建立图像坐标系):
(1)光刀图像第12条光刀线与图像X轴方向夹角α,α越接近0°,光刀线越水平。
(2)光刀图像特征中心(图中矩形包围框中心)与图像中心(640,480)的偏差[Δx,Δy],Δx与Δy的绝对值越小,特征中心越接近图像中心。
(3)对于腰槽孔特征,假设位于圆弧段特征点与全部特征点的比值为r,r越接近1,用于拟合圆弧的点越多。
(4)对于方孔特征,假设特征点分布最多的边特征点个数与特征点分布最少的边特征点个数的差值为R,R越接近0,说明特征点在4条边上分布越均匀。
针对不同特征在不同初始示教位姿进行示教纠偏,得到的结果如表1所示。经过示教纠偏,机器人末端可以达到较为理想的测量位置。示教一个特征的测量位姿,传统的由专业人员进行调整大约需要3~5min,而由本文的解决方案可将时间缩短为30~60s,如表2所示,且减少了人为干预,可由一线工人完成操作。由此证明本文方法大大提高了示教的效率。
表1 示教纠偏实验
表2 人工示教与本文方法示教时间对比
5 结束语
本文以实验室开发的机器人辅助在线检测系统为研究对象,提出了示教纠偏的方法。通过对光刀图像的处理,得到了在测量坐标系下的调整方法,并转换为机器人基坐标系下工具(测量)坐标系的位姿,即可通过电脑端发送运动指令,控制机器人运动。通过实验验证表明,利用本文提出的示教纠偏方法和相应的软件,可对初始示教位置进行修正,得到更为理想的测量位姿,相较于传统专业人员调整方式,缩短了示教时间,减少了人为干预。今后将在此基础上对整个系统进行优化完善。