机器人柔性扫描测量系统标定方法*
2022-09-21王钰鑫周志龙
王钰鑫,周志龙,刘 巍
(大连理工大学 机械工程学院,辽宁 大连 116024)
随着制造业水平的不断发展,广泛涌现出一些大尺寸复杂曲面零件[1-3]。这些零件具有测量尺寸大、型面复杂、难以移动等特点,因此难以采用三坐标测量机等方式进行接触式测量。与坐标测量机相比,以结构光视觉测量为代表的非接触式测量得到了广泛的应用[4-6]。将结构光扫描仪集成到机器人系统中即可构成柔性测量系统。该系统兼顾了结构光扫描仪精度高、效率高和机器人柔性好、可适用于不同工作场景的特点。为了实现测量结果从扫描仪坐标系到机器人基坐标系的统一高精转换,必须进行考虑到机械臂运动学误差的手眼关系标定[7]。
传统的手眼标定方法可以转化为对AX=XB这个方程的求解问题。Tsai[8]通过机器人变换不同位姿对标定物进行拍摄,将手眼矩阵拆为平移部分和旋转部分,再依次进行求解。Horaud[9]对此方程给出了一种基于四元数的求解方法。Zhuang[10]将相机和机器人作为整体进行一次性标定,从而求解出手眼标定参数。Ma[11]通过机器人做特定运动从而建立约束并进行求解。这些求解方式的共同特点是需要机器人做一些特定运动,将机器人作为标定精度链中的一环。但是,由于在制造装配时存在误差,工业机器人的理论运动学模型和实际运动学模型间存在偏差,因此这些方法会引入机器人的运动学参数误差,进而影响到手眼标定的准确性。
本文提出了一种基于机器人与结构光扫描仪的柔性测量系统标定方法。首先通过机器人单轴旋转以及基于罗德里格矩阵的算法进行手眼标定,获得手眼关系矩阵;然后机器人变换不同位姿,测量特征点,基于距离约束对手眼关系参数和机器人运动学参数进行进一步标定;最后通过测量距离误差来验证标定结果的准确性。
1 测量原理
柔性测量系统由工业机器人和结构光扫描仪组成(见图1),结构光扫描仪通过夹具安装在机器人末端。测量时通过机器人变换不同位姿,扫描仪对被测特征进行拍摄,并将测量结果从扫描仪坐标系转换到机器人基坐标系。柔性测量系统的主要坐标系包括机器人基坐标系Ob-XbYbZb、机器人末端坐标系Of-XfYfZf、扫描仪坐标系Os-XsYsZs和扫描仪夹具坐标系Oc-XcYcZc。则可得到特征点在机器人基坐标系下的坐标表示为:
(1)
2 系统标定
2.1 机器人运动学模型
本文选用的机器人为六自由度工业机器人,采用目前最广泛的DH模型对机器人进行运动学建模,即通过连杆长度ai、连杆转角αi、连杆偏距di和关节转角θi这4个参数求出相邻连杆坐标系间的转换矩阵[12]:
(2)
式中,TZ(di)、TX(ai)为平移矩阵;RZ(θi)、RX(αi)为旋转矩阵。虑及相邻关节轴线平行或接近平行产生的奇异性问题,引入绕Y轴旋转的转角β,建立机器人MDH模型[13],则相邻连杆坐标系间的转换矩阵为:
(3)
式中,cθi表示cosθi;sθi表示sinθi;依次类推。当相邻轴不平行时,转角β取零;当相邻轴平行时,连杆偏距d取零。
2.2 手眼关系初步标定
(4)
(5)
(6)
(7)
要求解此方程,首先需要得到特征点的重心化坐标,即将特征点原点的坐标转换为特征点的重心坐标,计算式如下:
(8)
将式8代入式7可得:
(9)
对式9两端取2-范数,因为λ>0且R为正交矩阵,因此可得:
(10)
对λ进行最小二乘估计,即可解出λ:
(11)
接下来求解R。引入一个反对称矩阵:
(12)
式中,S包含a、b、c三个罗德里格参数。由罗德里格矩阵的性质可知:
(13)
式中,I为三阶单位矩阵。将式13代入式9,整理后得:
(14)
由间接平差模型可得:
(15)
由最小二乘估计,可得:
X=(BTB)-1BTl
(16)
2.3 手眼关系误差与机器人运动学参数误差联合标定
为了提高测量系统的测量精度,考虑到手眼关系参数误差和机器人运动学参数误差,提出了一种基于距离约束的标定方法,进一步修正手眼关系参数和机器人运动学参数。即以两特征点之间精确的已知距离作为校准目标,通过对特征点距离进行测量以求解机器人运动学参数误差和手眼关系参数误差[16]。
特征点在机器人基坐标系下的理论测量结果可表示为:
(17)
由于手眼关系参数和机器人运动学参数存在误差,特征点的实际测量结果与理论测量结果有所差距,虑及测量误差的实际测量结果可以表示为:
(18)
(19)
由微分运动学可得手眼关系误差:
(20)
(21)
同理,由微分运动学可得机器人位姿误差:
(22)
(23)
因需要求出机器人运动学参数误差,故需建立出机器人末端位姿误差和运动学参数误差之间的关系。由式3可知,受机器人运动学参数误差影响下的相邻连杆坐标系间的转换矩阵为:
(24)
由微分运动学可得转换矩阵误差:
(25)
(26)
(27)
则有:
(28)
对比式26和式28可得:
(29)
(30)
式中,Gi为误差系数矩阵;ΔEi为连杆i的参数误差导致的连杆i末端误差,需要将各个连杆的误差转换到机器人末端。设连杆坐标系{i}到机器人末端坐标系的转换矩阵为:
(31)
则连杆坐标系{i}到机器人末端坐标系的雅可比矩阵为:
(32)
(33)
式中,ΔP= [Δθ1…Δθ6,Δd1…Δd6, Δa1…Δa6,Δα1…Δα6,Δβ2],共24个运动学参数误差。代入式23得:
(34)
式34与式19、式21联立,可得:
(35)
(36)
距离误差可表示为:
(37)
将式36代入式37,得:
(38)
由于ΔK包含30个未知参数,因此需要机器人对至少30组特征点间的距离进行测量,进而建立具有30个以上式38的方程组,对该方程组进行求解,即可得到所求参数。
由于Q矩阵不满秩,因此无法采用最小二乘法对此方程组进行求解。在这里采用Levenberg-Marquardt算法进行求解[18]。Levenberg-Marquardt算法的具体流程如下。
步骤1:设置权系数μ(一般取0.001)、初始点ΔK0和容许误差ΔLmax。
步骤2:由参数误差ΔKi求出距离测量值Li和系数矩阵Qi,其中i为迭代次数。
步骤3:由距离实际值Lr和距离测量值Li做差,得到距离误差ΔLi。
步骤5:若ΔLi+1<ΔLmax,则输出ΔKi,结束流程;若ΔLi+1<ΔLi,则令ΔKi+1=ΔKi,μ=10μ,转步骤4;否则,令μ=μ/10,转步骤2。
3 试验结果与分析
3.1 试验系统
试验现场的测量系统如图4所示,机器人型号为KUKA KR10 R1420,最大工作范围为1 420 mm,重复定位精度为0.04 mm;激光跟踪仪型号为Leica AT960MR,测量精度为±15 μm+6 μm/m;扫描仪型号为Gocator 3506,测量精度为±12 μm。扫描仪通过夹具安装在机器人末端,同时在扫描仪夹具上安装靶球,以便激光跟踪仪进行测量。
3.2 试验过程
(39)
(40)
表1 机器人运动学参数误差
3.3 试验结果
修正参数后,重新计算特征点间的距离误差,修正前后每组特征点距离误差如图6所示,距离误差的最大值由0.870 0 mm减小到0.404 2 mm,平均值由0.661 4 mm减小到0.300 6 mm,验证了该标定方法的有效性。
为了验证机器人在全部工作空间内的标定精度,将靶尺在机器人的工作空间内均匀移动10个位置,对这10个位置的特征点距离进行测量,测量得到的标定前后每组特征点距离误差如图7所示,距离误差的最大值由0.889 3 mm减小到0.424 9 mm,平均值由0.778 4 mm减小到0.385 2 mm,可见对柔性系统进行标定在机器人的全部工作空间内均有效。
4 结语
本文针对柔性测量系统整体测量精度不足问题,提出了一种基于距离约束的手眼关系参数和机器人运动学参数联合标定方法。首先,通过机器人单轴旋转与基于罗德里格矩阵的算法实现手眼关系初始标定,然后,基于距离约束实现对手眼关系参数误差和机器人运动学参数误差的辨识及修正,并通过试验,验证了标定精度。试验结果表明,在机器人的工作空间内,距离误差的最大值由0.889 3 mm降低到0.424 9 mm,平均值由0.778 4 mm降低到0.385 2 mm,验证了该测量系统具有较高的测量精度。