方 舟,李 磊,朱 峰,鲁兴河,李泽宇
(中国电子科技集团公司第二十八研究所,南京 210007)
机器视觉系统可以从工作环境中采集到的图像分析处理提取信息,并且可以对空间尺寸进行精确测量和定位,进而反馈给机器人,引导机器人进行抓取、装配等操作[1–3].为了将视觉系统中的位姿信息转换到机器人系统中,手眼标定是其中的重要环节,标定精度对机器人最终定位精度有很大影响.
传统的手眼标定方法都是通过求解AX=XB 方程的形式来标定[4].求解方法可以分为分步法[5–7]和整体法[8–10].除了传统的方法之外,还有其他的手眼标定方法.Ma[11]提出一种基于主动视觉的手眼自标定方法,通过运动平台的三次非共面平移运动求解相机与平台间的旋转关系,然后控制运动平台进行一次非平移运动,通过前后两次对同一标志点的重建获得相机平移量,代入方程求解相机与平台之间的平移关系.杨守瑞等[12]建立了同时包含机器人参数误差和手眼关系误差的模型,先得到手眼关系初解,随后将初解代入误差模型,通过球心约束同时求解机器人误差和手眼误差.张旭等[13]令机器人末端吸盘携带标定板,摄像机获取平面镜中标定板的图像,并通过3 次改变平面镜的姿态求解相机到末端靶标的位姿,然后通过辅助相机测量末端靶标到吸盘的距离,最终获取相机到吸盘的手眼关系.
传统的求解AX=XB 方程的方法比较复杂,常常需要机器人移动数十个位置,而一些新的方法需要其他的高精度的测量设备.针对以上问题,结合实际环境和需求,本文提出一种面向Eye-to-Hand 形式的新的两步法手眼标定方法.该方法将求解手眼关系分为求解旋转关系和平移关系两步,首先令机器人末端进行两次平移运动获取旋转关系,其次建立了机器人运动前后各个坐标系转换关系的模型,通过机器人末端若干次旋转运动求解平移关系,最后通过仿真实验和实际实验证明,该方法操作简单、快速且具有一定精度.
在不同应用场景下的Eye-to-Hand 形式的手眼标定中,相机与机器人的相对位置关系是多变的,而机器人末端携带标定板运动的标定方法对相机与机器人的相对位置没有较多要求,所以本文通过机器人末端夹持标定板运动,相机采集标定板图像的形式进行标定.
本文提出的手眼标定方法涉及到的各个坐标系如图1所示.其中,工具坐标系为Ot−XtYtZt,单目视觉系统坐标系为Oc−XcYcZc,机器人基座标系为Ob−XbYbZb.机器人每次夹持标定板到单目视觉系统上方固定点处拍照,由于有机器人的重复定位精度保证,可以认为每次拍照时建立在机器人末端夹爪上的工具坐标系相对于相机坐标系相对位置关系都是固定的,因此标定出在拍照点位时的工具坐标系和相机坐标系的相对位姿,工具坐标系与机器人基坐标系的转换关系可通过示教器读出,也就计算出了基坐标系与相机坐标系的关系.
图1 手眼标定中的坐标系
在进行手眼标定前,工具坐标系已由之前描述的四点法标定好,相机也经过了单目标定获得了内参和畸变系数.为了获取相机和工具坐标系的关系,必须要让相机对工具坐标系上的点坐标进行测量,由于末端夹爪上没有合作目标,所以设计了如图2所示的编码点标定板供夹爪夹持.设计编码点标定板坐标系为Of−Xf Yf Zf,原点建立在0 号编码点圆心,X轴为0 号与1 号编码点圆心连线,Y轴为0 号与2 号编码点圆心连线,方向在图中标出,Z轴按右手法则确定.编码点之间的距离设置为40 mm.在标定过程中,单目视觉系统会对编码点标定板拍照获取编码点圆心的图像坐标,由于编码点之间相对位置关系已知,且获取了编码点的圆心的图像坐标,结合相机内参,通过求解P4P 问题获取编码点在相机坐标系下的坐标.
图2 编码点标定板设计图
转换矩阵的第一列可以视为坐标系B的X轴上的单位矢量在坐标系A的X,Y,Z轴上单位矢量的投影,第二列和第三列以此类推,第四列为坐标系B的原点OB在 坐标系A中的坐标.所以所以的每一列可以看成工具坐标系主轴上的单位矢量在相机坐标系的各个轴上单位矢量的投影.
设旋转矩阵初值为,标定步骤如下:
(1)控制机器人末端沿工具坐标系的X轴方向运动一段距离,运动距离无需记录,在起始点和终点处分别对标定板拍照获得标定板坐标系原点Of在相机坐标系下的坐标,记沿工具坐标系X轴正方向计算出的坐标分别为cP1和cP2,通过cP2−c P1之 后单位化获得的第一列;
(2)控制机器人末端沿工具坐标系的Y轴方向运动一段距离,后续步骤同步骤(1),获得的第二列;
(3)和叉乘获得的第三列;
记相机坐标系到工具坐标系的平移矩阵为平移关系可通过末端夹爪夹持标定板变换多个位姿求解出,涉及到的坐标系较多,转换关系如图3所示.
图3 标定平移关系涉及到的各坐标系关系
在固定拍照位置,工具坐标系为Ot−XtYtZt,此时设置夹持在夹爪上的标定板坐标系为Od−XdYdZd,工具坐标系到相机坐标系的转换关系为,工具坐标系变换位姿后,新的工具坐标系为Ot1−Xt1Yt1Zt1,相应的标定板坐标系为Od1−Xd1Yd1Zd1,工具坐标系到相机坐标系的转换关系为.注意这里建立的标定板坐标系的原点为四个编码点的重心,方向与工具坐标系的方向相同,因此标定板坐标系与工具坐标系仅有平移关系,而且由于在标定过程中夹爪与标定板并未相对移动,因此标定板到工具坐标系的转换关系有:
即为标定板坐标系原点在工具坐标系下的坐标.设编码点P在Of−Xf Yf Zf中的坐标为f Pi(i=0,1,2,3),在Oc−XcYcZc中坐标为cPi,在Ot−XtYtZt中坐标为tPi,Of−Xf Yf Zf到Oc−XcYcZc的旋转和平移关系分别为和,均由单目视觉系统测出,Oc−XcYcZc到Ot−XtYtZt的旋转和平移关系分别为>和,在这里先假设tct=0,f Pi到tPi的转换有:
根据之前对Od−XdYdZd的定义,可知:
但是这里计算出的tOd与真实值相差了一个,如果能标定出真实的tOd也就是,就可以计算出,所以现在问题转化为求.
设标定板上一点P在Od1−Xd1Yd1Zd1中坐标为d1P,根据图3,该点在Oc−XcYcZc下的坐标cP可以表示为:
也可以表示为:
式(5)和式(6)的右边相等,因此有:
结合式(2),将式(7)展开并化简可得:
如果控制工具坐标系围绕TCP 点只做姿态变换,没有平移,则=,式(8)中下式可进一步简化为:
可将式(9)视为Ax=b的形式,需要注意的是,>和都是旋转矩阵,两者作差得到的矩阵行列式为零,如工具坐标系仅旋转一个新的位置,仅可获得一个如式(9)的方程,无法解出.因此,需要将工具坐标系旋转多个位置,求解的最小二乘解.
计算出后,根据之前的分析,有即标定出相机坐标系到工具坐标系的平移矩阵.
设平移矩阵为,标定步骤如下:
(1)机器人夹持标定板到单目视觉系统上方固定位置处;
(2)控制工具坐标系围绕TCP 点做若干次旋转运动,并对每次位置的标定板拍照;
(3)根据式(9)和式(10)求解;
作为对比,本文首先对传统的解AX=XB 方程形式的手眼标定方法进行了仿真,并且计算了标定误差.在仿真中,对实验数据分别设置了若干组高斯误差(σ从0.1 至4.0),在通过传统方法计算出手眼关系X后,设误差error=‖AiX−XBi‖(i=1,2,···,n).误差数据如表1所示,方法1~5 分别对应文献[5–9].
表1 不同的传统手眼标定方法误差
本文实验的硬件系统包括工业机器人、编码点标定板、工业相机及镜头.其中,所使用的工业机器人型号为KUKA KR60HA,工业相机型号为德国映美精公司的DMK 33G274,使用的镜头为Computar 的M0814-MP2,焦距8 mm.实验环境如图4所示.
对于本文提出的新的两步法标定,首先如2.1 节所述步骤标定相机与工具坐标系的旋转关系.标定过程采集的编码点标定板图像如图5所示.
图4 实验环境
图5 编码点检测效果
可以看出,标定板背景环境较为复杂,由于采用编码点,仍可以很好的提取圆心.最终计算出:
然后控制工具坐标系旋转不同角度,采集各姿态下的标定板图像并记录工具坐标系在机器人基坐标系下的读数,代入式(8)组成线性方程组,求得=(10.444,2.8617,−4.8581)T,与真实值相差一个>的tOd=(21.658,2.751,−267.633)T,最终计算=(−11.214,0.1112,262.78)T.将旋转平移矩阵组合,获得单目相机坐标系到工具坐标系的齐次变换矩阵,由示教器读出相应参数可获取.最终计算出手眼关系.
可以看出,整个标定过程只需机器人进行两次平移运动和若干次旋转运动,非常快速.令机器人夹爪夹持标定板运动到不同位姿,用单目相机采集标定板图像,记录并计算A和B,令作为X 代入AX=XB 方程,仍然取误差error=‖AiX−XBi‖(i=1,2,···,n)作为精度验证.误差数值如图6所示,平均误差1.8148.分析标定结果和误差可知,本文提出的标定方法快速,准确,其精度优于传统方法.
图6 两步法标定误差
本文提出了一种新的单目视觉系统两步手眼标定方法,该方法将标定过程分为求解旋转关系和平移关系两步,通过控制机器人进行两次平移运动和若干次旋转运动即可计算手眼关系.该方法与已有方法的主要区别在于其避免了对AX=XB 方程的求解,传统的基于AX=XB 方程求解的方法不仅至少需要采集数十张标定板图像,而且精度得不到保证,本文方法不仅可以减少在标定过程中对标定板图像数量的要求,而且实验验证了本文方法具有较高精度,因此本文方法快速、精确,此外该方法使用的编码点标定板非常简单,不需要昂贵的外部设备.在实际应用中,机器人和环境噪声会对标定精度造成影响.所以后续仍需要对其进行精度和标定结果优化进行大量的研究工作.