石怀涛,张执锦,祁若龙,冯大阔
(1.沈阳建筑大学高档石材数控加工装备与技术国家地方联合工程实验室,辽宁 沈阳 110168;2.沈阳建筑大学机械工程学院,辽宁 沈阳 110168;3.中国建筑第七工程局有限公司,河南 郑州 450000)
随着机器人应用范围越来越广泛,对于机器人的定位精度有了更高的要求,尤其是机器人的绝对定位精度问题亟待解决。机器人的几何误差是影响自身绝对定位精度的主要因素,包括连杆的制造、装配精度以及运动学误差等。其中影响最大的是运动学误差,因此机器人运动学参数标定成为一种提高机器人绝对定位精度的有效方法[1]。
运动学参数标定主要分为以下四个步骤:①机器人运动学建模;②末端位姿真实值测量;③运动学参数辨识;④误差补偿[2]。笔者重点研究运动学标定的前两个步骤,建模就是通过寻找最优函数来描述运动学参数误差,运动学标定模型应该满足:完整性、连续性、最小性[3]。对于运动学标定建模,DH模型是使用最早、应用最广泛的模型,但是DH模型在相邻关节接近平行时,会产生奇异性问题[4],为了消除这个问题,很多研究人员采用了MDH模型[5-6],先后提出了各种具有冗余参数的运动学模型,例如,S模型、CPC和MCPC模型,除了以上模型外,F.C.Park[7]和K.Okamura[8]提出一种基于POE公式的标定模型,机器人关节轴线(转动关节或移动关节)可以用旋量表示,由于李代数与李群之间的光滑映射,使得这个模型避免了奇异性。Y.Lou等[9]提出了基于POE公式建立的模型中存在的关节偏置误差可以转化为关节旋量误差,无需识别。R.He等[10-11]给出三种运动学误差模型,并给出了误差模型的显示表达式,使其更加简单。Y.Wang等[12]对基于POE公式的标定方法进行了扩展,实现了冗余混合机器人的运动学标定。以上提出的模型满足了完整性与连续性,但仍存在参数冗余的现象,未满足最小性。
测量方式是运动学标定至关重要的一环,传统标定方法中的测量方式主要通过三坐标测量机[13]、激光跟踪仪[14]等测量机器人末端实际位姿,存在测量繁琐、测量时间较长、人工参与过多等难题,难以实现自动在线测量。随着机器视觉技术的发展,国内外学者对基于视觉位姿测量的标定方法展开一系列的研究:X.Zhang[15]采用一个固定位置的立体摄像机和一个附着在机器人末端执行器上的平面标记实现机器人在线标定。Y.Meng等[16]提出了一种只需要参考坐标系上精确标尺长度的标定方法,该方法的不足之处在于每个机器人关节构型都需要已知的长度。DENG Xun[17]提出了一种将摄像机和激光投影仪安装在机械手上的特殊机器人视觉系统的标定方法。高学海等[18]提出一种更具通用性的求解目标位姿参数的方法。赵汝进等[19]提出一种新型基于单目视觉的位姿测量方法,通过建立直线图像匹配函数,无需检测成像直线端点。
以上提及的运动学标定模型中存在奇异性、参数冗余的现象,并且目前的标定方法通常是离线进行的,但运动学参数误差经常随着载荷和周围环境的变化而变化,因此在线独立测量是提高位姿精度必不可少的方式。为了解决上述问题,笔者提出了一种基于POE公式的最小模型与视觉测量的机器人标定方法。首先,建立机器人基于视觉测量的标定系统,标定系统无需外部设备即可对机器人末端位姿的实际值进行自动测量;然后建立机器人正运动学模型,在此基础上推导机器人误差模型,并对误差模型进行最小化处理,获得运动学标定方程,标定过程基于最小二乘法对于参数进行辨识;最后,对MOTOMAN-MH80机器人进行运动学标定仿真,仿真结果表明笔者所提方法能够有效提高机器人的绝对定位精度。
传统机器人运动学标采取的末端位姿测量方式大多采用激光跟踪仪、三坐标测量机等大型精密仪器,但是传统测量方式存在测量繁琐、测量时间较长、难以实现在线自动标定等难题。为了解决上述问题,通过安装在机器人末端执行器上的双目相机以及棋盘格式标定板共组基于视觉测量的标定系统,能够对机器人实际末端位姿进行自动测量,进而实现在线自动标定。
基于视觉测量的标定系统如图1所示。六自由度机器人末端安装有双目相机,下端布有棋盘格式的标定板作为辅助测量工具,可对相机的内外参数进行标定。假设已知标定板的坐标系C相对于机器人基坐标系S的位姿转化矩阵STC,通过双目相机与标定板可以确定机器人工具坐标系E相对于标定板坐标系C的位姿转化矩阵为ETC,从而求得机器人工具坐标系E相对于机器人基坐标系S的位姿转化矩阵为:STE=STC·CTE,即机器人实际末端位姿,该标定系统能够实现机器人的在线自动标定。
图1 基于视觉测量的标定系统Fig.1 Calibration system based on vision measurement
基于指数积(POE)公式的标定模型只需要建立基坐标系S和工具坐标系T,基坐标系相对于工具坐标系的位姿需要用一个齐次变换矩阵表示,所有的齐次变换矩阵组成一个刚体运动群,这个群的元素表示为
(1)
其中,R∈SO(3)是一个特殊的正交矩阵,并且b∈R3。
每个关节轴线都可以用旋量表示,对于一个转动关节,旋量坐标定义为
(2)
其中,w为关节轴线在基坐标系单位方向向量;p为关节轴线上任意一点在基坐标系中的位置。
(3)
给出POE正向运动学公式为
(4)
其中,
(5)
对于转动关节:
(6)
(7)
对于移动关节:
R=I3,b=qv.
(8)
初始变换矩阵gst(0)也可以用指数形式表达:
(9)
因此,POE正向运动学模型也可以表示为
(10)
恒等式邻域内指数映射的逆映射成为对数映射,如果式(1)满足条件:trace(R)≠-1,1+2cos(φ)=trace(R),而且|φ|<π,则有:
(11)
(12)
(13)
文中的误差模型的建立选取基坐标系作为参考坐标系,在基坐标系中来描述机器人末端位姿误差,误差模型为
(14)
机器人末端位姿误差可以由实际测量位姿与名义位姿得到,可以表示为
(15)
如果末端位姿误差足够小,δf·f-1可以表示为
(16)
取一阶近似,式(15)可以写为
(17)
文献[9]指出关节零位误差可以不用单独辨识,因此运动学参数标定只需要辨识和补偿关节旋量误差和初始位姿变换旋量误差,因此,机器人运动学误差模型可以简化为
(18)
因此,运动学参数辨识就是求解如式(19)的最小二乘问题:
(19)
图2 辅助坐标系Fig.2 Auxiliary coordinate system
(20)
转换矩阵gi可以由旋量坐标ξi求得,对于转动关节,且关节轴线不经过基坐标系原点O,基坐标系相对于辅助坐标系的转换矩阵gi可以表示为
(21)
如果关节轴线经过基坐标系原点O,则pi和vi都是零向量,通过选择向量e=[0,0,1]T作为一个旋转轴,辅助坐标系Ai可以由基坐标系绕旋转轴e旋转α=arccos([0,0,1]wi),则有:
(22)
通过以上分析可以得出一个n自由度机器人的正向运动学模型[19]:
(23)
(24)
(25)
经过最小化处理最终可以得到满足最小性的理想误差模型:
(26)
机器人运动学误差模型可以整理为
y=Hx.
(27)
其中,
y=[δf·f-1]∨,
(28)
(29)
H=[J1,J2,…Jn,Jn+1],
(30)
(31)
通过提出的基于视觉测量的标定系统对机器人在不同构型下的不同末端位姿进行m次测量,可以得到与(27)形式相同的式子:
(32)
进一步可以得到式(27)的最小二乘解为
(33)
通过对MOTOMAN-MH80机器人进行运动学标定仿真,验证笔者提出的基于POE公式的最小模型与视觉测量的机器人标定方法的有效性。
根据MOTOMAN-MH80机器人的标准尺规图,可以建立如图3所示的旋量模型。
图3 MOTOMAN-MH80机器人旋量示意图Fig.3 Schematic spinor diagram of MOTOMAN-MH80 robot
各个关节轴线矢量分别为:w1=(0,0,1)T,w2=(0,1,0)T,w3=(0,-1,0)T,w4=(-1,0,0)T,w5=(0,-1,0)T,w6=(-1,0,0)T。
各个关节轴线上指定点的位置矢量分别为:P1=(0,0,0)T,P2=(145,0,0)T,P3=(145,0,870)T,P4=(1 170,0,1 080)T,P5=(1 170,0,1 080)T,P6=(1 170,0,1 080)T。由式(2)可得MOTOMAN-MH80机器人的运动学参数理论值,因此MOTOMAN-MH80机器人的运动学参数理论值和实际值(预设值)如表1所示。
表1 MOTOMAN-MH80机器人运动学参数理论值与实际值Table 1 The theoretical and measured values of kinematic parameters for MOTOMAN-MH80 robot
通过以上分析可知,MOTOMAN-MH80机器人总共需要辨识42个参数,至少需要7个不同构型下的末端位姿才能辨识这些参数。在仿真过程中,一共随机生成了100个末端位姿,其中有50个为测量位姿,均使棋盘格式标定板在相机的可视区域内,另外50个为测试位姿,用于验证本标定方法的有效性。MOTOMAN-MH80机器人的运动学标定模型只考虑了机器人自身运动学参数误差,忽略了基于视觉测量的标定系统中的双目相机的测量误差,由于其测量精度较低,会影响标定结果。因此,在本次仿真中需要施加随机测量噪声,以提高本次仿真的真实性。假设随机测量噪声的位置量和姿态量分别服从[-0.05 mm,0.05 mm]和[-0.001 rad,0.001 rad]的均匀分布。
本次MOTOMAN-MH80机器人运动学标定仿真流程如图4所示。
图4 机器人运动学标定仿真流程图Fig.4 The simulation process of robot kinematic calibration
(1)在基于视觉测量的标定系统下随机生成50个附加随机测量噪声的末端位姿,即末端位姿测量值,然后根据机器人旋量模型生成机器人运动学参数理论值,并预设实际值;
(2)已知机器人50个末端位姿测量值与运动学参数实际值,通过机器人逆运动学可以求解出50组关节角度;
(3)利用求出的50组关节角度和运动学参数理论值通过机器人正向运动学可计算出50个理论末端位姿;
(4)通过式(33)可以计算出参数误差x;
(5)更新运动学参数;
(6)预设迭代次数并重复以上步骤,直到达到最大迭代次数k完成本次标定仿真。
在运动学参数标定仿真每次迭代过程中,会更新运动学参数。关节旋量ξ和初始位姿旋量ξst更新方法如下:
(34)
ξst=ξst+Δξst.
(35)
为了更好地证明笔者提出的标定方法的有效性,计算出MOTOMAN-MH80机器人标定补偿前后在随机生成的50个测试位姿处的末端姿态误差和末端位置误差,如图5所示。在随机产生的测试点上机器人的末端位置和姿态误差都得到了明显的降低,平均值分别由7.41 mm和0.057 rad降低到0.051 mm和0.004 2 rad。这说明笔者提出的基于POE公式的最小模型与视觉测量的机器人标定方法能有效提高机器人的绝对定位精度。
图5 末端位姿误差Fig.5 Terminal pose error
(1)在机器人基坐标系与棋盘格式标定板坐标系位姿变换关系已知前提下,通过安装在机器人末端的双目相机和棋盘式标定板建立基于视觉测量的标定系统,无需外部设备即可对机器人末端位姿的实际值进行自动测量,使得本标定方法的适用范围更广泛、实用性更强、自动化程度更高。
(2)使用基于指数积(POE)公式的运动学模型,并对其进行最小化处理,消除冗余参数,满足机器人运动学标定模型的完整性、连续性、极小性的特点,并克服采用D-H等建模方法产生的奇异性、建模过程复杂等问题,该模型的参数都是独立的,并且避免了传统模型迭代过程中归一化、正交化的操作。
(3)经运动学标定仿真,在随机产生50个测试位姿处,机器人末端位姿精度有了明显提高,验证了笔者所提标定方法的有效性。