基于主动视觉的手眼矩阵和光平面标定方法

2015-04-16 08:51郭新年白瑞林王秀平
计算机工程与应用 2015年19期
关键词:手眼摄像机标定

郭新年,白瑞林,王秀平

GUO Xinnian,BAI Ruilin,WANG Xiuping

江南大学 轻工过程先进控制教育部重点实验室 信息与控制实验教学中心,江苏 无锡214122

Information and Control Experiment Teaching Center, Key Laboratory of Advanced Process Control for Light Industry(Ministry of Education),Jiangnan University,Wuxi,Jiangsu 214122,China

1 引言

视觉测量与控制在机器人领域占有重要的地位。结构光视觉系统主要由激光投射器和摄像机组成,以其抗干扰能力强,实时性好,成本低等优点,广泛应用于机器人焊接、装配、物体三维形貌测量等。而实现机器人视觉测量与控制的关键部分是系统参数的标定技术。

基于主动视觉的标定方法通过精确控制摄像机运动获得多幅图像,通过确立图像与摄像机运动之间的关系来进行标定。该方法在标定过程中由于已知关于摄像机的运动信息,摄像机的模型参数可以线性求解,且算法简单,鲁棒性较高,适用于视觉传感器安装在机器人末端的手眼系统的标定。

基于主动视觉的标定方法最早用于标定摄像机内参数,Ma[1]在1996 年提出的基于两组三正交平移运动的摄像机自定标方法,通过控制摄像机做两组三正交平移运动,利用扩展焦点(FOE)的性质线性求解摄像机内参数;其后,李华等[2]给出利用5 组平面正交运动标定摄像机所有的5 个内参数的五参数模型的线性方法;同样,主动视觉的标定方法被引入手眼矩阵的标定,杨广林等[3]通过控制摄像机做两次平移运动和一次旋转运动,仅利用场景中两个特征点,给出了机器人手眼矩阵标定方法;王海霞等[4]等深入分析了eye-in-hand 系统,将摄像机内参数和手眼矩阵旋转部分看作一个“黑箱”直接求解,不需要分别确定系统各部分的每个参数,既降低了计算量又减少了误差;Xu 等[5]设计了一种基于场景中单个特征点的手眼矩阵标定方法,该方法以运动前后特征点的相对位置表征摄像机坐标系的平移,避免求解FOE 点的问题,达到了很高的精度。在光平面标定方面,徐德等[6]提出基于主动视觉的标定方法,该方法需要3 次及以上的摄像机姿态,且激光条打在的平面方程已知,还需用测量尺对激光条上特定点间的距离进行测量,虽然达到了较高的标定精度,但标定过程复杂;陈天飞等[7]通过多组平移运动,采用四参数平面模型,分别标定光平面的法向量,和光平面的深度信息,达到了很高的标定精度。

主动视觉平台尤其是机器人的不断使用,为基于主动视觉标定提供了硬件前提。为解决现有基于主动视觉方法标定光平面操作较复杂的问题,本文提出一种同时标定手眼矩阵和光平面的方法,通过控制机器人做两次相互正交的平移运动,求解手眼矩阵的旋转部分;而后通过两次及以上带旋转运动,求解手眼矩阵的平移部分,同时可得到特征点在机器人基坐标系信息,进而可得到光平面方程。

2 标定原理

在内参数已知的前提下,控制机器人进行两次相互正交的平移运动,机器人末端平移信息由控制器读出,结合由FOE 求出的摄像机的运动方向,可求解手眼矩阵的旋转部分[3];进行两次及以上的带旋转运动,求解手眼矩阵的平移部分和各特征点在机器人基坐标系的深度值;无需求解外参数,直接通过机器人基坐标系与末端坐标系之间关系T6i和求得的手眼矩阵得到机器人基坐标系与摄像机坐标系的关系,利用对偶关系求取光平面方程[8]。

2.1 手眼系统中坐标变换关系

结构光手眼系统中机器人基坐标系、机器人末端坐标系和摄像机坐标系之间的关系,如图1 所示。

图1 结构光手眼系统关系图

可得到机器人手眼系统中的坐标变换关系如下[4]:

其中XW是特征点在机器人基坐标系的坐标,ε是特征点在摄像机坐标系的深度值,RHW、tHW是机器人基坐标系与末端坐标系之间关系的旋转与平移部分;R、t是机器人末端坐标系与摄像机坐标系之间的关系即手眼矩阵的旋转与平移部分;(u,v,1)T是特征点图像的齐次坐标;K是摄像机内参矩阵五参数模型。

2.2 手眼矩阵旋转部分的标定

设P为空间中的一点,XW、XH和XC分别为点P在机器人基坐标系、机器人末端坐标系和摄像机坐标系下的坐标,RHW和tHW表示机器人基坐标系与机器人末端坐标系之间的关系,P在各坐标系的关系为:

如图2 所示,机器人初始位姿A在基坐标下的位姿为T61,控制机器人沿末端坐标系平移运动,平移后到达B,B在基坐标系的位姿为T62,则两末端坐标系之间关系为T=(T61)-1T62,其中T的旋转部分为E,平移运动为B。

图2 平移运动示意图

机器人末端从A处平行移动到B处,机器人末端平移量为B=k1b,P点在A处和B处机器人末端坐标系下的坐标分别为XH和XH1=XH+B,在摄像机坐标系下的坐标分别是XC和XC1,则有:

由上式得:

即B=RC,其中B=k1b为机器人末端平移量,b为末端平移量的单位向量,C=k1c表示摄像机平移量,c1为摄像机平移向量的单位向量。

由于旋转矩阵只改变向量的方向,不改变向量的大小,可以将C、B变换为单位向量后代人求解旋转部分R,即:

机器人进行一组正交平移运动,同理可得:b2=Rc2。

假设运动b3=b1×b2与b1、b2构成三正交运动,则c3=c1×c2与c1、c2也 构 成 三 正 交 运 动[3],同 时 可 得:b3=Rc3。

b1、b2、b3三个列向量构成矩阵P,c1、c2、c3构成矩阵Q,即得P=RQ,可得手眼矩阵旋转部分为R=PQ-1。

理论上,R、P和Q均为正交矩阵,但由于机器人与图像误差的存在,得到的b1、b2和c1、c2可能不相互正交,此时可将b1、b2和c1、c2施密特正交化后,再计算b3和c3,进而求解手眼矩阵旋转部分R。

2.3 手眼矩阵平移部分和光平面的标定

2.3.1 手眼矩阵平移部分标定

选取场景中不在同一直线上的3 个特征点,进行两次带旋转运动,每次带旋转运动后,取带特征点的图像和打开激光器后带激光条纹的图像。由结构光手眼系统之间的关系(1)可得:

其中,RHWj、tHWj(j=1,2,3)是机器人在第j个位姿下基坐标系与末端坐标系之间关系的旋转与平移部分,可以通过机器人控制器读出;nij=(uij,vij,1)T(i,j=1,2,3)是第i个特征点在第j个位姿下特征点图像的齐次坐标。

以上方程两两相减可得:

其中Ai1=RHW1RK-1ni1,Bi1=RHW1-RHW2,Ci1=tHW2-tHW1,其余类推。将上式写成矩阵形式:

通过最小二乘求解每个位姿下每个特征点的深度信息和手眼矩阵平移部分t。

2.3.2 光平面方程标定

将求得的εij(i,j=1,2,3)带入方程(7),可得每个特征点在机器人基坐标系的3 个坐标值,取均值作为该点坐标。如图3 所示,不在同一直线上的3 个点可构成一平面,激光条打在3 个特征点构成的平面上。

图3 光平面深度信息确定示意图

可得3 个特征点构成的平面方程为:

在摄相机坐标系中,设w代表光平面的法向量,wi、wj为第i、j个位姿下的特征点构成平面的法向量,ϒi、ϒj为第i、j个位姿下的光条直线的方向向量。第i个位姿下图像上的光条的方程ϒi(图像坐标系下)与ϒi(摄像机坐标系下)可由下式得出:

投影空间中两条激光交线及其相关联的平面的相互关系的对偶性表示如图4 所示。

图4 两条激光交线在投影空间的对偶表示

图4 中,要标定的光平面坐标w在投影空间的对偶表示就是两条激光交线的交点。由于误差的影响,两条激光交线在空间并不相交,因此用距离两条激光线最近的点表示w。而距离两条激光线最近的点位于两条激光线的公垂线上。光平面坐标为:

由于公垂线与两条激光线分别垂直,因此内积:(w1-w2,wi)=0,(w1-w2,wj)=0。

因此,可求得:

将以上值分别带入可得光平面方程坐标w。经两次带旋转运动后形成三个位姿下的光条图像,两两组合求解光平面方程后求均值,可以减少误差。

综上所述,本文提出的基于主动视觉标定手眼矩阵和光平面的方法,具体步骤如下:

(1)精确控制机器人进行两次相互正交的平移运动,用2.2 节的方法求解R。

(2)通过给定3 个位姿T6j(j=1,2,3)实现两次带旋转运动;提取场景中特征点的图像坐标nij;并在每个位姿处分别打开激光器拍摄带激光条图像,提取光条直线,求解光条直线在图像坐标系的方向向量。

(3)根据nij和对应的位姿T6j,依据文章2.3.1 小节的方法求解手眼矩阵平移部分t和特征点深度信息。

(4)通过内参数K,求解光条直线在摄像机坐标系的方向向量,结合每个位姿下特征点构成的平面在摄像机坐标系下的法向量,将位姿两两组合,根据2.3.2 小节的方法求解光平面方程。

3 实验与分析

实验使用DENSO VP-6242E/GM 六轴机器人,其重复定位精度0.02 mm,摄像机使用XINJE 智能摄像机,感光CCD 为640×480,使用Computar 工业镜头,焦距为8 mm;算法验证基于Win7 系统,MATLAB 2011b平台。

为方便与文献[9]进行结果比较,相机内参数采用文献[9]给出的张标定方法。得到的内参数K为:

3.1 特征点的选取和自动匹配

特征点使用激光打印机打印的非等腰直角三角形,特征点的求解采用文献[10]的方法,精度可达到0.2 pixel。匹配方法根据三特征点之间距离不同进行匹配,具体描述如下:角点提取后,求解特征角点两两之间的距离,选择除距离最大的两点外的一点作为编号1 点,另两点中,离1 点距离远的为编号2 点,剩余的为编号3 点;取三点对应连线的交点的均值作为FOE。为避免聚焦模糊问题,平移运动的Z方向分量不超过10 cm;为提高FOE 精度,每次平移运动的方向在XOY平面的分量可沿三角形的中线方向[4];且平移过程中取30 幅图片,提取对应角点,通过最小二乘拟合成直线,优化求解FOE点。如图5 所示,(a)为特征角点的提取和自动匹配,(b)为运动中取30 幅图像优化求解FOE 点。

图5 特征点选取和匹配及FOE 点求解

3.2 实验结果对比

本文标定结果与文献[9]标定结果如表1,可见本文标定结果与文献[9]给出结果接近。

3.3 三维数据测试

由于机器人重复定位精度可达到0.02 mm,所以通过机器人对三维点的点触得到的坐标值,作为验证结构光手眼系统的标定精度的基准。在固定姿态下,控制机器人工件末端点触标定中的特征点1,得到工件末端坐标系原点在机器人基坐标系的修正值t0,实验中t0=-[ ]15.86,11.18,277.32,而后以该姿态点触测试点,机器人控制器读出坐标直接加上偏移值t0,即为该点在机器人基坐标系的值。

实验中三维测试结果如表2 所示,其中1~3 为标定特征点的平面测试数据,最大误差为±0.25 mm,4~9 为三维阶梯测试数据,最大误差±1.04 mm。

4 结论

为实现结构光手眼系统的标定,解决现有基于主动视觉方法标定手眼矩阵和光平面操作较复杂的问题,提出一种基于主动视觉的标定方法,该方法具有以下特点:

表1 本文标定结果与文献[9]结果比较

表2 平面和三维数据测试结果

(1)该标定方法无需使用特定靶标,通过精确控制机器人做两次相互正交的平移运动和两次带旋转运动即可实现手眼矩阵和光平面的标定,本质上属于自标定范畴。

(2)改进利用对偶关系标定光平面方程的算法,无需求解外参数。

(3)在特征点高精度选取后,采用平移过程中取多幅图片拟合运动的方法减少求解FOE 点误差,适于工业现场使用。

实验结果表明,本文方法鲁棒性好,标定得到的手眼矩阵和光平面方程稳定,三维测试误差为±1.04 mm,可满足机器人焊接、抓取等工业现场的精度要求。

[1] Ma S D.A self-calibration technique for active vision systems[J].IEEE Trans on Robotics and Automation,1996,12(1):114-120.

[2] 李华,吴福朝,胡占义.一种新的线性摄像机自标定方法[J].计算机学报,2000,23(11):1121-1129.

[3] 杨广林,孔令富,王洁.一种新的机器人手眼关系标定方法[J].机器人,2006,28(4):400-405.

[4] 王海霞,王春艳,卢晓.手眼视觉系统的自标定技术[C]//Proceedings of the 26th Chinese Control Conference,2007:212-215.

[5] Xu Haixia,Wang Yaonan,Chen Wei,et al.A self-calibration approach hand-eye relation using a single point[C]//Proceedings of the International Conference on Information and Automation,2008:413-418.

[6] 徐德,王麟琨,谭民.基于运动的手眼系统结构光参数标定[J].仪器仪表学报,2005,26(11):1101-1105.

[7] 陈天飞,马孜,吴翔.基于主动视觉标定线结构光传感器中的光平面[J].光学精密工程,2012,20(2):256-262.

[8] 毕德学,刘方滔,薛强,等.基于激光交线的结构光视觉传感器现场标定新方法[J].仪器仪表学报,2009,30(8):1697-1701.

[9] 李龙,白瑞林,吉峰,等.结构光视觉引导的轨迹跟踪系统的标定技术[J].计算机工程与应用,2014,50(16):259-264.

[10] 顾国庆,白瑞林,杜斌.基于曲率多尺度的高精度角点检测[J].光学技术,2010,36(6):918-922.

猜你喜欢
手眼摄像机标定
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
使用朗仁H6 Pro标定北汽绅宝转向角传感器
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
船载高精度星敏感器安装角的标定
如何消除和缓解“摄像机恐惧症”