APP下载

复杂视觉测量系统的标定参数优化及精度评估

2023-08-08孙家乐周怡君王伟张刚

中国机械工程 2023年14期
关键词:手眼角点标定

孙家乐 罗 晨 周怡君 王伟 张刚

1.东南大学机械工程学院,南京,2111892.无锡黎曼机器人科技有限公司,无锡,214000

0 引言

光学三维视觉测量具有非接触、高精度、高效率的特点,发展很快。双目视觉测量[1]作为最接近人眼的系统,可以通过双目图像特征的匹配和三维重建实现高精度的产品位姿计算和装配。双目视觉测量通常需要借助测量物体信息或主动投影结构光[2]获取额外信息来寻找匹配特征。机器人视觉三维测量系统广泛应用于曲面测量[3]、目标抓取[4]和机器人焊接[5]等领域。利用机器人关节给视觉测量系统添加多个自由度的位姿[6]可以提高测量系统的适应性,使其适用于更复杂的形状和拓扑结构的曲面三维测量。

机器人视觉三维测量系统的相机标定是三维重建的基础,标定的精度直接决定测量的精度。主动视觉相机标定法[7]精度高、鲁棒性强,但标定使用的设备昂贵、标定成本高;相机自标定法[8]可在线实时标定,但精度差。经典的Tsai两步法[9]、张正友标定法[10]可在常见的相机模型上选定特定的标定物进行标定。为统一视觉系统坐标系和机器人坐标系,机器人视觉测量系统需要稳定性好、精度高的手眼标定技术[11]。手眼标定使用的视觉系统相机标定参数和机器人位姿数据均存在误差,且标定精度还受环境噪声影响,因此如何提高手眼标定的效率和精度仍是研究的焦点和难点。基于Ax=xB方程求解的Eye-in-Hand手眼标定模型[12]适用于视觉系统固接在机器人末端并随机器人位姿变换进行测量和分析的情景。求解Ax=xB方程的经典方法主要有四元数和对偶四元数[13-14]、克罗内克积[15]、欧几里得群[16]等。近年来的研究主要集中在手眼标定解析解的参数优化问题上。ZHI等[17]首先利用克罗内克积计算手眼标定参数的初始解,然后交替采用三角测量法和光束平差法优化手眼标定参数初始解。SHANG等[18]通过分析影响手眼标定精度的因素,优化调整标定的具体步骤。KOIDE等[19]、MALTI[20]分别通过图像的重投影误差和图像对的对极误差最小化优化手眼标定参数和相机标定参数。若机器人视觉测量系统还包含直线导轨平动或多个机器人的协同运动,则上述手眼标定参数的优化方法需要调整以满足测量系统的需求。

本文研究对象是一个多自由度的三维视觉测量系统,研究的关键是系统标定过程。系统标定除了进行相机标定和手眼标定外,还要对直线导轨、旋转平台等额外增加的参考坐标系之间的位姿变换关系进行分析计算。相机标定、手眼标定和旋转轴标定等都会产生误差,且多种误差相互耦合。为得到更高精度的标定结果,提出一种基于多维角点误差补偿的标定参数优化方法,并提出相应的精度评估方法和相应指标以评估标定误差和参数优化效果。

1 复杂视觉测量系统

如图1所示,复杂视觉测量系统涉及多个参考坐标系,主要包括:相机坐标系{C}、机器人末端坐标系{E}、机器人基坐标系{S}、导轨坐标系{O1}、转台中心坐标系{O2},以及后续标定引入的标定板坐标系{G}。

图1 系统结构示意与坐标系分布

机器人基坐标系{S}始终沿导轨参考坐标系{O1}的某一固定方向运动,因此可将直线导轨视为机器人延展轴,即导轨平动位姿可以与机器人位姿合并。导轨基座固定,因此设导轨坐标系{O1}为系统的世界坐标系,并设{O1}原点为导轨位置零点。{O1}的Y轴方向为导轨运动方向,也是机器人基坐标系{S}在{O1}下的运动方向。{O1}的Z轴竖直向上。测量系统依据坐标系的转换关系可得

Y=NXM

(1)

式中,X为坐标系{C}到坐标系{E}的机器人手眼标定矩阵;Y为坐标系{O2}到坐标系{O1}的变换矩阵;M为由旋转轴标定[21]得到的坐标系{O2}到坐标系{C}的变换矩阵;N为由机器人-导轨位姿数据计算得到的坐标系{E}到坐标系{O1}的位姿变换矩阵。

不失一般性,设转台中心坐标系{O2}的原点为旋转中心轴与转台平面的交点,其X轴、Y轴分别与坐标系{O1}的X轴、Y轴平行,则矩阵Y的旋转变换阵为单位阵。

2 多维角点误差补偿的标定参数优化

2.1 测量系统标定

利用机器人手眼标定矩阵X和旋转轴标定矩阵M并结合机器人-导轨位姿数据,可由式(1)求得变换矩阵Y。测量系统标定过程如图2所示。标定使用常见的棋盘格标定板,角点为特征点,且所有角点都在相机视场内。

机器人-导轨位姿变换矩阵N的改变会带动视觉系统运动改变相机坐标系的位姿,进而使旋转轴标定矩阵M改变,因此系统标定通常先进行旋转轴标定,再进行手眼标定。旋转轴标定使用相机拍摄转台多个转角下的棋盘格图案,利用棋盘格上的多个角点在同一相机坐标系下的各点坐标计算多个圆心。根据所有圆心坐标,计算各圆心的重心点坐标并拟合得到相机坐标系下旋转轴的方向向量,最终结合转角可构造出旋转轴标定矩阵M。由于测量系统的视觉部件固定于机器人末端支架,因此可以基于Eye-in-Hand手眼标定方程Ax=xB[12]并结合张正友相机标定原理[10]求解X。

上述标定过程都存有误差,为提高标定精度,提出一种基于多维角点误差补偿的标定参数优化方法。在介绍方法前,先定义多维角点误差并对不同标定过程的多维角点误差进行分析。

2.2 多维角点误差

不同维度误差的计算量纲不一致,相机二维成像平面上的角点误差E2D量纲为像素(pixel),而三维重建后的角点误差E3D量纲通常为mm。这里通过最小二乘法[22]求得的权重系数α来平衡不同量纲的误差。多维角点误差可表示为

Emulti=αE2D+E3D

(2)

2.2.1二维成像平面的角点误差E2D

二维成像平面角点误差E2D主要有重投影误差Erep和对极误差Eepi。

(1)重投影误差[23]是标定后空间中的三维角点根据相机的投影矩阵计算得到的图像所有角点位置与实际图像对应角点位置的距离总和:

(3)

(2)对极误差。对极几何约束的构建需要依靠左右相机拍摄图像的成像点对及两相机坐标系转换关系[24-25]。对极误差是左右各匹配点对及其所在左右极平面上对应极线间的距离平方之和:

(4)

2.2.2三维重建角点误差E3D

三维重建角点误差E3D的计算如下:先将三维重建出的相邻行列角点的距离与棋盘格标定板对应距离真实值依次相减,得到所有重建角点的距离偏差,再对所有偏差求和。结合双目相机标定结果匹配左右标定图像的所有角点,再对所有匹配角点对进行三角计算,求得所有角点的三维坐标[26]。三维重建角点误差计算公式为

(5)

式中,Dc为实际棋盘格相邻角点间隔距离;d(Ch,Cv)为由三维重建得到的棋盘格水平和竖直方向上相邻角点坐标Ch、Cv的欧氏距离。

2.3 不同标定过程的误差分析

2.3.1双目相机标定过程误差

双目相机标定误差由左右相机图像投影点的重投影误差和对极误差组成:

(6)

(7)

(8)

(9)

2.3.2旋转轴标定和手眼标定过程误差

旋转轴标定和手眼标定均只需要单一相机标定配合转台、机器人-导轨位姿求解M和X。标定误差由二维成像平面角点误差及三维重建角点误差组成,可表示为

(10)

(11)

旋转轴标定与手眼标定仅使用左相机,计算M和X标定过程的对极误差时,基础矩阵F计算公式有所不同:

(12)

(13)

式中,N0为旋转轴标定对应的初始机器人-导轨位姿;Trot,i为第i组旋转平台转角位姿;Nj为用于手眼标定的第j组机器人-导轨位姿。

2.4 基于多维角点误差补偿的标定参数优化方法

(14)

基于LM算法对标定参数进行迭代优化[25,27]的伪代码如下:

算法1:基于多维角点误差补偿的标定参数优化输入:X0,K1,K2,N0,Nj,Trot,i,ci,j,Ch,Cv输出:X^1:初始化Δx←+∞,q←02:whileΔx>10-5and q<104 do3: for i=1 to n do4: for j=1 to m do5: FC←K-T2TCcK-116: FMi←K-T1f(XN0Trot,iN-10X-1)K-117: FXj←K-T1f(XNj+1N-1jX-1)K-118: 计算双目相机标定误差ECscc9: 计算旋转轴标定误差EMmuti10: 计算手眼标定误差EXmuti11: E(X)←min(ECscc+EMmuti+EXmuti)12: x←X(罗德里格斯逆变换)13: E(x)←E(X)(雅可比矩阵变换)14: Δx=(ET(x)E(x)+μqI)-1ET(x)f(x)15: xq+1=xq-Δx16: X^←x(罗德里格斯变换)17: q←q+118: end for19: end for20:end while21:return X^

(15)

设残差函数f(x)=(f1(x),f2(x),…,fk(x))T,对x=(r1,r2,r3,t1,t2,t3)中各参数求偏导可得对应的雅可比矩阵E(x)。迭代优化的公式为

(16)

式中,μq为第q次的修正项;Δx为LM迭代增量。

参数在优化过程中迭代更新,直到迭代增量小于10-5或迭代次数达到104。

3 标定精度评估方法

测量系统标定过程中的误差包含系统标定算法误差、硬件误差,以及固有的系统安装误差。系统标定算法误差是一系列双目相机标定误差、手眼标定误差、旋转轴标定误差耦合叠加的结果。硬件误差包含机器人-导轨各关节运动以及旋转平台的位姿误差。硬件误差是标定过程中的位姿数据测量值和实际值不一致产生的随机误差。系统安装误差是测量系统实际安装尺寸与标称尺寸之间的误差,且在测量系统装配完成后固定不变。

标定模型Y=NXM中,转台中心坐标系到世界坐标系的变换矩阵Y的误差可评估系统整个标定过程中的误差。旋转平台中心和导轨零点之间的距离之差以及测量系统实际的变换矩阵Y不易精确获得,因此,将转台中心与导轨零点之间坐标变换的标称值(U,V,W)计算出的变换矩阵Y的误差作为系统标定精度的评估标准。关键标称值可查询设计图纸或产品说明书后计算获得,且导轨坐标系与转台中心坐标系的旋转变换矩阵为单位阵I,故评估标准矩阵为

(17)

标定得到初始标定矩阵X0,进而可计算出优化前的转台中心坐标系到世界坐标系的变换矩阵Y0。Y0与Y的初始系统误差ΔY0由系统初始标定误差E(X0)和安装误差组成,对应的误差矩阵为Y-1Y0。Y-1Y0可以分成旋转分量(对应旋转误差矩阵)和X轴、Y轴、Z轴的平移分量(对应平移误差向量)。将误差矩阵的旋转部分转换成轴-角形式[I0θ0],其中,I0为转轴的三维坐标向量,θ0为绕转轴的旋转角度。平移误差向量Δt0=(Δtx,Δty,Δtz)。系统初始误差为

ΔY0=(θ0,Δtx,Δty,Δtz)

(18)

(19)

(20)

以系统标定误差优化率间接评价基于多维角点误差补偿的标定参数优化方法的有效性和优越性。系统标定误差优化率φ为标定参数优化方法优化前后计算得到的系统标定误差之差与初始标定参数计算出的优化前系统标定误差的比值。φ由旋转误差偏角的优化率φθ和平移误差向量模的优化率φΔt组成:

(21)

(22)

(23)

4 系统标定参数优化和精度评估流程

复杂视觉测量系统的标定参数优化和精度评估的流程如图3所示。测量系统通过采集不同标定过程中的标定图片及其机器人-导轨和转台的位姿数据进行标定实验,求得初始的标定矩阵。结合基于多维角点误差补偿的系统标定参数优化方法,通过算法1对初始标定参数进行迭代优化。最后进行系统精度评估,即首先对比优化前后的系统标定误差,然后使用系统标定误差优化率评价优化效果,再进行三维测量实验来衡量系统的测量精度。

图3 系统标定流程图

5 实验

5.1 系统标定参数求解与优化实验

本系统标定实验使用7行9列(有效角点总数为63),相邻角点的水平、竖直间距离均为20 mm的陶瓷棋盘格标定平板。

5.1.1双目相机标定

双目相机标定使用左右相机采集不同姿态的标定板图案共18组。每组图案均需要保证标定板上角点全部在画面内且尽量清晰。运用张正友标定法进行标定,双目相机标定过程如图4所示,求得的左右相机的内参矩阵如下:

图4 双目相机标定过程

5.1.2手眼标定

手眼标定实验仅使用视觉系统的左相机采集不同机器人-导轨位姿下的标定棋盘格图像和对应机器人-导轨位姿。标定过程中,保证棋盘格角点全部在画面内且画面清晰,共采集25幅图像,其中的几幅如图5所示。

图5 手眼标定采集图案

根据25幅标定图像可计算得到24组相机标定的外参变换矩阵A和机器人-导轨位姿变换矩阵B。使用克罗内克积方法[15]计算Ax=xB,得到初始手眼标定矩阵:

基于多维角点误差补偿的系统标定参数优化方法,通过算法1对初始手眼标定矩阵X0进行参数优化,可得

5.1.3旋转轴标定

旋转轴标定同样仅使用视觉系统左相机采集5个转角(0°、10.04°、20.05°、30.04°、40.00°)下的标定棋盘格图像,其中的4幅图像见图6。旋转轴标定过程如图7所示。

(a)θ=10.04° (b)θ=20.05°

通过旋转轴标定计算,得到初始机器人-导轨位姿变换矩阵:

坐标系{O2}到{C}的变换矩阵为

将X0、N0、M0代入式(1),可求得初始转台中心坐标系到世界坐标系的变换矩阵:

5.2 系统标定精度分析

表1 测量系统重要参数

表2 优化前后系统标定误差

5.3 系统三维测量实验

为验证测量系统是否满足实际测量的需求,选取3个不同尺寸的正方体铁块进行三维测量实验。分别用游标卡尺和三维测量系统测量正方体铁块指定测量面的4条棱长,分析系统测量的最大绝对误差,评估系统测量精度。

利用测量系统测得的点云,如图8所示,具体测量实验结果见表3。结果显示,绝对误差最大值不超过0.3 mm,约占实际棱长的1%,这表明系统测量精度较高,可以满足测量需求。

表3 系统三维测量实验结果

(a)大正方体铁块 (b)中正方体铁块 (c)小正方体铁块

6 结论

针对多自由度的复杂三维视觉测量系统,提出了一种Y=NXM的系统数学模型,求解过程包括相机标定、机器人手眼标定与转台旋转轴标定。为获得更高精度的标定结果,提出一种基于多维角点误差补偿的标定矩阵参数的优化方法。首先定义多维角点误差,并对不同标定过程中的多维角点误差进行分析,再根据误差较大的初始手眼标定矩阵参数构造相应的目标优化函数,然后运用LM算法进行迭代优化。

提出的系统标定精度评估方法中,评估标准为转台中心与导轨零点之间坐标变换的标称值计算出的变换矩阵Y的误差。通过对比评估标准和优化前后标定求解结果之间的误差来衡量系统标定的精度。同时,使用系统标定误差优化率来间接评价标定参数优化方法的效果。

多组实验数据表明,系统标定误差与评估标准的比值较小,对后续三维测量影响较小;标定参数优化方法对系统初始标定误差旋转和平移部分的优化率可达到48%,优化效果较好;该系统进行三维测量时的测量精度能达到毫米级。

猜你喜欢

手眼角点标定
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
使用朗仁H6 Pro标定北汽绅宝转向角传感器
观察力、手眼协调能力
培养手眼协调能力,创意思维能力
基于FAST角点检测算法上对Y型与X型角点的检测
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
基于边缘的角点分类和描述算法
船载高精度星敏感器安装角的标定
基于圆环模板的改进Harris角点检测算法