基于模型和数据驱动的机器人6D位姿估计方法
刘志, 陈恳, 徐静    
清华大学 机械工程系, 北京 100084
摘要:提高运动精度是机器人执行精密操作的基础。该文针对重载操作造成的机器人末端结构变形问题进行位姿补偿研究。首先,提出了基于模型和数据驱动的机器人末端6D位姿估计方法,该方法利用基于Gauss过程回归的机器人运动学误差模型获得部分目标点空间位置的预测值;然后,提出了基于测量平差的位姿修正方法,对目标点位置的实测值和预测值进行修正,以提高位姿的估计精度。实验结果表明,该文提出的位姿估计方法能够精确地补偿重载操作引入的结构变形误差。
关键词机器人    运动补偿    运动学误差模型    姿态估计    
Data-driven method for 6D robot pose estimation
LIU Zhi, CHEN Ken, XU Jing    
Department of Mechanical Engineering, Tsinghua University, Beijing 100084, China
Abstract: Accurate kinematics are fundamental to precise robot manipulations. This paper presents a motion compensation algorithm to correct for robot end-effector deformation caused by heavy loads. The data-driven method for 6D pose estimation of robot end-effector motion estimates the kinematic error based on a Gaussian process regression to predict the position of the offline target points. Then, a pose correction method based on the adjustment model is used to modify the measured and predicted values of the target points to improve the estimation accuracy of the 6D pose. Tests show that the structural deformation caused by heavy loads is well compensated for by this pose estimation method.
Key words: robots    motion compensation    kinematics error model    pose estimation    

提高运动精度是机器人执行精密操作的基础。机器人在执行重载操作时,机器人本体和末端执行器易产生机械结构变形,从而引入运动学的非几何误差,因此必须对机器人运动的位置和姿态进行补偿。

提高机器人运动精度的方式有两种:一种是利用机器人定位精度的离线测量数据对机器人的运动学进行标定和补偿,另一种则是借助于外部测量设备为机器人运动提供在线全闭环反馈。

针对机器人运动学的标定和补偿问题,有学者在机器人运动学的基础[1]上建立了考虑非几何误差的力学[2]、热学[3]机理的误差传递模型,但运动补偿的精度取决于模型的准确性,往往难以保证。一些学者则通过数据逼近的方式建立运动误差的数据模型,利用空间网格[4]、多项式拟合[5]、神经网络[6]和Gauss过程回归[7-8]等方法直接建立机器人构形空间与机器人运动学误差的映射关系,并取得了较好的实验结果。但建模补偿方法用于在线运动补偿时受采集的样本数据的分布和数量的制约。

现有的在线位姿测量方式主要包括视觉测量和激光测量两种。利用立体视觉[9]系统获取位姿信息,实时性好,但由于受相机视野、分辨率等限制,一般取得的位置和姿态精度相对较低;激光跟踪仪[10]则可利用反射靶球测量单个目标点的空间位置,如果将多个反射靶球固定于测量工具上,分别测量多个目标点的位置,则可以计算得到测量工具的位置和姿态[11],从而获得较高精度的6D位姿测量。但受限于一台激光跟踪仪同一时间只能测量一个目标点,这种测量方式只能在待测目标处在静止状态时进行测量。此外,还可通过3台以上的激光跟踪仪构建测量网络[12]或者使用昂贵的6D位姿测量的T-Mac配件实现高精度位姿反馈,但这两种方式成本太高。

为了满足高精度的在线位姿反馈需求,本文提出一种结合两种运动补偿方式的6D位姿估计方法,如图 1所示。该方法利用一台激光跟踪仪进行在线测量,同时利用基于Gauss过程回归的运动学误差模型对其他目标点的位置进行预测,从而实现机器人末端的高精度的位姿测量。测量平差模型是一种基于最小二乘原理的测量数据处理方法,一些学者将其应用于不同测量设备的误差分配与综合[13-14],以提高测量精度,本文将利用测量平差法对机器人的末端位姿进行修正,得到的末端6D位姿可在运动精度要求较高的精密操作中,为机器人提供更精确的位姿反馈,从而实现更好的运动控制效果。

图 1 在线位姿反馈流程图

1 基于Gauss过程回归的运动误差模型 1.1 运动补偿问题描述

具有n个关节的机器人,假设其正逆运动学模型分别为Fkine(·)和Ikine(·),则机器人末端位姿的理论值可表示为TN=Fkine(q),其中关节位形q$ {{\mathbb{R}}^{n\times 1}}$TN为4×4维齐次矩阵。

末端工件重力引入的非线性变形误差如图 2所示,是机器人关节位形的函数。假设建立运动学误差模型Ω(q),则经补偿后的机器人末端的理论位姿可表示为

$ \boldsymbol{T}^{\mathrm{N}}=\operatorname{Fkine}(\boldsymbol{q}) \varOmega(\boldsymbol{q}). $ (1)
图 2 重载下机器人末端的结构变形

本文均采用D-H模型建立机器人运动学,记机器人末端的实测位姿为TM,则补偿后的机器人运动学误差矩阵ΔT可表示为

$ \Delta \boldsymbol{T}=\left(\boldsymbol{T}^{\mathrm{N}}\right)^{-1} \boldsymbol{T}^{\mathrm{M}}=\varOmega(\boldsymbol{q})^{-1} \text { Fkine }(\boldsymbol{q})^{-1} \boldsymbol{T}^{\mathrm{M}} . $ (2)

当运动学误差较小时,误差矩阵可表示为

$ \Delta \boldsymbol{T}=\left[\begin{array}{cccc} 1 & -\delta \theta_{z} & \delta \theta_{y} & \delta_{x} \\ \delta \theta_{z} & 1 & -\delta \theta_{x} & \delta_{y} \\ -\delta \theta_{y} & \delta \theta_{x} & 1 & \delta_{z} \\ 0 & 0 & 0 & 1 \end{array}\right] . $ (3)

其中:δxδyδz分别表示沿着基础坐标系的XYZ方向的微小位置偏差,δθxδθyδθz则分别表示绕XYZ方向的微小旋转偏差。用ep=(δx, δy, δz)表示机器人末端的位置误差向量,et=(δx, δy, δz, δθx, δθy, δθz)表示机器人末端的6D位姿误差向量。

1.2 运动学误差模型

Gauss过程回归在处理高维度、小样本、非线性等复杂的预测问题时具有较好的适应性。本节将利用Gauss过程回归建立机器人运动误差模型Ω(q),实现机器人构形空间到工作空间位置误差的非线性映射。

假设由结构变形引入的机器人末端位置误差ep服从Gauss分布,位置误差的测量值可表示为一个关于机器人关节位形的Gauss过程和一个独立分布的Gauss白噪声的叠加,即

$ \hat{e}=\varOmega(\boldsymbol{q})+\varepsilon. $ (4)

其中:Gauss过程Ω(q)是任意有限个具有联合Gauss分布的随机变量组成的集合,由均值函数m(q)和协方差函数k(q, q ′)确定[15];噪声ε服从Gauss分布εi~N(0, σn2),σn2表示测量的综合误差。

e =[e1, e2, …, em]T为末端位置误差的某个分量的测量序列,作为已知输出样本,其中m=1, 2, …,为测量序号。相应的机器人的关节位形Q =[q1, q2, …, qm]T为输入样本,则已知输出样本的概率分布为

$ \boldsymbol{e} \sim N\left[0, \boldsymbol{K}(\boldsymbol{Q}, \boldsymbol{Q})+\sigma_{n}^{2} \boldsymbol{I}\right]. $ (5)

其中,K(Q, Q) 为关节位形Q的协方差矩阵。给定新的关节位形q*,则由Gauss过程的定义可知,ee*的联合概率分布可表示为

$ \left[\begin{array}{c} \boldsymbol{e} \\ e^{*} \end{array}\right] \sim N\left(0,\left[\begin{array}{cc} \boldsymbol{K}(\boldsymbol{Q}, \boldsymbol{Q})+\sigma_{n}^{2} \boldsymbol{I} & \boldsymbol{K}\left(\boldsymbol{Q}, \boldsymbol{q}^{*}\right) \\ \boldsymbol{K}\left(\boldsymbol{q}^{*}, \boldsymbol{Q}\right) & k\left(\boldsymbol{q}^{*}, \boldsymbol{q}^{*}\right) \end{array}\right]\right). $ (6)

依据多维Gauss分布的性质,新输出的位置误差e*服从后验分布e*|Q, e, q* ~N(e*, cov(e*)),令H=K(Q, Q) +σn2I,则e*的均值和协方差分别为

$ \bar{e}^{*}=E\left[e^{*} \mid \boldsymbol{Q}, \boldsymbol{e}, \boldsymbol{q}^{*}\right]=\boldsymbol{K}\left(\boldsymbol{q}^{*}, \boldsymbol{Q}\right) \boldsymbol{H}^{-1} \boldsymbol{e}, $ (7)
$ \begin{gathered} \operatorname{cov}\left(e^{*}\right)=k\left(\boldsymbol{q}^{*}, \boldsymbol{q}^{*}\right)+\sigma_{n}^{2}- \\ \boldsymbol{K}\left(\boldsymbol{q}^{*}, \boldsymbol{Q}\right) \boldsymbol{H}^{-1} \boldsymbol{K}\left(\boldsymbol{Q}, \boldsymbol{q}^{*}\right). \end{gathered} $ (8)

至此,建立了基于Gauss过程回归的运动学误差模型,式(7)和(8)是Gauss过程回归的核心公式。可以看到,Gauss过程回归同时表示出了末端位置预测误差的均值和协方差,前者可作为新输出e*的预测值,后者则描述了位置误差预测值e*的置信域,这是后面目标点位置的测量平差的基础。

协方差函数常选用平方指数函数,即

$ k\left(\boldsymbol{q}_{a}, \boldsymbol{q}_{b}\right)=\sigma_{\mathrm{f}}^{2} \exp \left[-\frac{1}{2}\left(\boldsymbol{q}_{a}-\boldsymbol{q}_{b}\right)^{\mathrm{T}} \boldsymbol{M}_{\lambda}\left(\boldsymbol{q}_{a}-\boldsymbol{q}_{b}\right)\right], $

其中Mλ=diag{λ1-2, λ2-2, …, λn-2},λi为宽度参数,σf2为信号方差,其中n为输入样本中机器人关节自由度。函数参数λiσf以及白噪声的方差σn2共同决定了Gauss过程回归模型的预测效果,可表示为参数集θ=[σf, σn, λ1, λ2, …, λn]。

Gauss过程回归模型的求解,就是利用输入输出样本数据求解出最优的参数集。本文采用最大似然估计法[16]求解模型,取负对数似然函数为L(θ)=-log[p(e|Q, θ)],其中p(e|Q, θ)为输出样本(位置误差e)的条件概率,可表示为

$ p(\boldsymbol{e} \mid \boldsymbol{Q}, \theta)=\frac{1}{(2 {\rm{ \mathsf{ π} }})^{\frac{n}{2}} \sqrt{|\boldsymbol{H}|}} \exp \left\{-\frac{1}{2} \boldsymbol{e}^{\mathrm{T}} \boldsymbol{H}^{-1} \boldsymbol{e}\right\}. $ (9)

L(θ)求偏导数$ \frac{\partial L\left( \theta \right)}{\partial \theta }$,利用梯度下降法、牛顿法等优化方法则可求得似然函数L(θ)取最小值的参数集θ,即最优参数。

参数估计完毕,代入式(7),就可以预测新输入的关节位形q*下机器人末端的位置误差e*

2 基于模型和数据驱动的6D位姿估计

激光跟踪仪作为一种高精度、非接触式的坐标测量设备,能精确测量反射靶球在三维空间的位置信息,适合作为机器人末端位置的外部测量设备。如图 3所示,机器人末端装有测量工具,并固结多个位置不共线的反射靶球,作为待测目标点,由3个以上的目标点可确定机器人末端的位置和姿态。

图 3 机器人末端的测量工具

3个目标点的位置数据的采集方式可分为离线测量和在线测量2种。离线测量需要在机器人执行操作之前对机器人在不同关节位形下的末端位置和姿态进行测量;在线测量只能实现机器人末端的单个位置的在线测量。

为了实现机器人末端位置和姿态的在线估计,本文提出将激光跟踪仪的在线测量和运动学误差模型的位置补偿结合在一起,如图 4所示,用于计算机器人的末端位姿的3个目标点位置,包括1个由激光跟踪仪测得的实测目标点位置和2个由运动学误差模型预测的目标点位置。预测目标点位置由机器人的理论运动学模型和Gauss过程回归的运动学误差模型叠加而得到,故上述测量方式是一种基于模型和数据驱动的6D位姿估计方法。具体测量步骤如下:

图 4 用于计算机器人末端位姿的3个目标点

1) 标定坐标变换矩阵。

测量系统涉及多个坐标系,包括机器人基础坐标系{B},激光跟踪仪坐标系{L},测量工具坐标系{T},机器人末端坐标系{E}。提前标定好机器人基础坐标系与激光跟踪仪坐标系的变换矩阵LTB和待量目标点在机器人末端TCP中心坐标系下的位置EP1EP2EP3

2) 离线测量。

将机器人运动到不同关节位形qi下,离线测量机器人末端的预测目标点在激光跟踪仪坐标系下的实测位置LP1iMLP2iM,并依据机器人运动学模型,计算其理论位置LP1iNLP2iN,其中i=1, 2, 3, …,表示关节位形序号,可得定位误差

$ \left\{\begin{array}{c} { }^{\mathrm{L}} \boldsymbol{\delta}_{1 i}={ }^{\mathrm{L}} \boldsymbol{P}_{1 i}^{\mathrm{M}}-{ }^{\mathrm{L}} \boldsymbol{P}_{1 i}^{\mathrm{N}}, \\ { }^{\mathrm{L}} \boldsymbol{\delta}_{2 i}={ }^{\mathrm{L}} \boldsymbol{P}_{2 i}^{\mathrm{M}}-{ }^{\mathrm{L}} \boldsymbol{P}_{2 i}^{\mathrm{N}}. \end{array}\right. $ (10)

式中LP1iN=LTB·Fkine(qiEP1

3) 建立运动学误差模型。

以机器人的关节位形序列为输入样本,2个预测目标点的定位误差为输出样本,分别建立基于Gauss过程回归的机器人运动学误差模型Ω1(q)和Ω2(q),并依据式(9)对模型参数进行训练。

4) 在线测量和模型预测。

机器人操作过程中,利用激光跟踪仪在线测量实测目标点的空间位置LPtM,同时将机器人当前关节位形qt作为机器人运动学误差模型的新的输入样本,由式(7)得到预测目标点的定位误差的预测值Lδ1tPreLδ2tPre,目标点的预测位置可表示为

$ \left\{\begin{array}{c} { }^{\mathrm{L}} \boldsymbol{P}_{1 t}^{\mathrm{Pre}}={ }^{\mathrm{L}} \boldsymbol{P}_{1 t}^{\mathrm{N}}+\varOmega_{1}\left(\boldsymbol{q}_{t}\right), \\ { }^{\mathrm{L}} \boldsymbol{P}_{2 t}^{\text {Pre }}={ }^{\mathrm{L}} \boldsymbol{P}_{2 t}^{\mathrm{N}}+\varOmega_{2}\left(\boldsymbol{q}_{t}\right). \end{array}\right. $ (11)

5) 计算6D位姿。

由当前关节位形下实测的目标点位置LPtM和两组预测的目标点位置LP1tPreLP2tPre,可计算测量工具坐标系在激光跟踪仪下的6D位姿LTTPre,通过坐标变换得到机器人末端TCP中心的6D位姿BTEPre=LTB-1·LTTPre·ETT-1

3 基于测量平差的6D位姿修正

为了提高测量工具坐标系的位姿测量精度,本节提出基于冗余测量的6D位姿修正方法,利用平差模型对目标点的实测值和预测值进行修正。

3.1 冗余约束条件

如果将测量工具视为一个刚体,则反射靶球支座(目标点)之间的距离应当保持不变,可以作为测量平差的冗余约束条件。

图 5所示,设某个时刻目标点的实测位置PM坐标为(x1, y1, z1),2个目标点的预测位置P1PreP2Pre的坐标分别为(x2, y2, z2)和(x3, y3, z3)。

图 5 测量工具目标点的坐标和距离

不同目标点i和目标点j之间的距离

$ d_{i j}=\sqrt{\left(x_{i}-x_{j}\right)^{2}+\left(y_{i}-y_{j}\right)^{2}+\left(z_{i}-z_{j}\right)^{2}}, $
$ i, j=1,2,3, $

ij,则基于距离约束的平差条件方程可表示为

$ \left\{\begin{array}{l} \left(x_{1}-x_{2}\right)^{2}+\left(y_{1}-y_{2}\right)^{2}+\left(z_{1}-z_{2}\right)^{2}-d_{12}^{2}=0, \\ \left(x_{1}-x_{3}\right)^{2}+\left(y_{1}-y_{3}\right)^{2}+\left(z_{1}-z_{3}\right)^{2}-d_{13}^{2}=0, \\ \left(x_{2}-x_{3}\right)^{2}+\left(y_{2}-y_{3}\right)^{2}+\left(z_{2}-z_{3}\right)^{2}-d_{23}^{2}=0. \end{array}\right. $ (12)

令函数

$ \varGamma_{i j}=\left(x_{i}-x_{j}\right)^{2}+\left(y_{i}-y_{j}\right)^{2}+\left(z_{i}-z_{j}\right)^{2}-d_{i j}^{2}, $

则平差条件方程可简化为Γ = 0,其中Γ =[Γ12, Γ13, Γ23]T

受随机误差的影响,目标点的实际测量结果并不能满足式(12),测量工具坐标系的测量值由3个实测坐标,6个预测坐标以及3个实测距离组成,记为

$ \begin{gathered} \boldsymbol{L}_{\mathrm{M}}=\left[x_{1}, y_{1}, z_{1}, x_{2}, y_{2}, z_{2}, x_{3}, y_{3},\right. \\ \left.z_{3}, d_{12}, d_{13}, d_{23}\right]^{\mathrm{T}}, \end{gathered} $

则其闭合差可表示为EM= Γ(LM)。

测量值和条件方程是平差模型的已知量,而改正数为测量平差最终要求的未知量。

3.2 权阵的确定

权是衡量测量值的相对测量精度的数字特征,不同测量值之间权的取值决定了测量平差对改正数的分配。

1) 实测位置的权阵。

目标点的实测位置的方差由激光跟踪仪的测量误差确定。激光跟踪仪主要通过单频激光干涉测距和高精度的光栅编码度盘测角,分别获取测距值ρL、俯仰角VL和水平角HL,并以空间极坐标计算待测点空间三维坐标为(ρLsinVLcosHL, ρLsinVLsinHL, ρLcosVL),对空间三维坐标进行全微分,可得

$ \left[\begin{array}{c} \mathrm{d} X_{\mathrm{L}} \\ \mathrm{d} Y_{\mathrm{L}} \\ \mathrm{d} Z_{\mathrm{L}} \end{array}\right]=\boldsymbol{C}_{\mathrm{L}}\left[\begin{array}{c} \mathrm{d} H_{\mathrm{L}} \\ \mathrm{d} V_{\mathrm{L}} \\ \mathrm{d} \rho_{\mathrm{L}} \end{array}\right]. $ (14)

其中,

$ \boldsymbol{C}_{\mathrm{L}}=\left[\begin{array}{ccc} -\rho_{\mathrm{L}} \sin V_{\mathrm{L}} \sin H_{\mathrm{L}} & \rho_{\mathrm{L}} \cos V_{\mathrm{L}} \sin H_{\mathrm{L}} & \sin V_{\mathrm{L}} \cos H_{\mathrm{L}} \\ \rho_{\mathrm{L}} \sin V_{\mathrm{L}} \cos H_{\mathrm{L}} & \rho_{\mathrm{L}} \cos V_{\mathrm{L}} \sin H_{\mathrm{L}} & \sin V_{\mathrm{L}} \\ 0 & -\rho_{\mathrm{L}} \sin V_{\mathrm{L}} & \sin V_{\mathrm{L}} \end{array}\right], $

由协方差传播律得到直角坐标的协方差矩阵

$ \boldsymbol{D}_{{XYZ}}^{\mathrm{M}}=\boldsymbol{C}_{\mathrm{L}} \boldsymbol{D}_{\rho \mathrm{HV}}^{\mathrm{M}} \boldsymbol{C}_{\mathrm{L}}^{\mathrm{T}}. $ (15)

其中,由于距离和角度测量相互独立,球坐标的协方差矩阵DρHVM=diag{σH2, σV2, σρ2}为对角阵,σVσH为俯仰角和水平角的测角均方差,σρ为测距均方差。取距离1 m的测量均方差为单位权均方差σ0,则工具坐标系目标点的实测位置的权阵可表示为

$ \boldsymbol{P}^{\mathrm{M}}=\left(\boldsymbol{D}_{X Y Z}^{\mathrm{M}}\right)^{-1} / \sigma_{0}^{2}. $ (16)

2) 预测位置的权阵。

预测目标点的测量误差源于激光跟踪仪的测量误差和Gauss过程回归预测的误差。Gauss过程回归不仅输出了基于样本数据的预测结果,也给出了预测值的置信度,即预测值的均方差σGPR,可用于运动学误差模型的预测误差的定权。实测误差和预测误差相互独立,则二者叠加后的预测值的总方差可表示为(σPre)2=(σM)2+(σGPR)2

由于目标点的预测位置的XYZ坐标分别由不同的Gauss过程回归模型预测,则预测位置的协方差矩阵为对角阵,即

$ \boldsymbol{D}^{\mathrm{Pre}}=\left[\begin{array}{ccc} \left(\sigma_{X X}^{\mathrm{M}}\right)^{2}+\left(\sigma_{X}^{\mathrm{GPR}}\right)^{2} & 0 & 0 \\ 0 & \left(\sigma_{{YY}}^{\mathrm{M}}\right)^{2}+\left(\sigma_{{Y}}^{\mathrm{GPR}}\right)^{2} & 0 \\ 0 & 0 & \left(\sigma_{Z Z}^{\mathrm{M}}\right)^{2}+\left(\sigma_{Z}^{\mathrm{GPR}}\right)^{2} \end{array}\right]. $ (17)

其中,(σXXM)2、(σYYM)2和(σZZM)2分别为激光跟踪仪XYZ坐标的方差,也是协方差矩阵DXYZM的对角元素。

目标点的预测位置的权阵可表示为

$ \boldsymbol{P}^{\text {Pre }}=\left(\boldsymbol{D}^{\text {Pre }}\right)^{-1} / \sigma_{0}^{2}. $ (18)

3) 距离测量的权阵。

目标点之间的距离可以使用激光跟踪仪或者更高精度的三坐标测量机进行测量。其中三坐标测量机的长度测量误差一般以固定误差和比例误差的形式,即σd=aCMM+d/bCMM,其中σd的单位为μm。不同的距离值的测量相互独立,故距离测量的协方差矩阵为对角阵,即

$ \boldsymbol{D}_{\mathrm{d}}^{\mathrm{M}}=\left[\begin{array}{cc} \left(a_{\mathrm{CMM}}+\frac{d_{12}}{b_{\mathrm{CMM}}}\right)^{2} & \\ & \left(a_{\mathrm{CMM}}+\frac{d_{13}}{b_{\mathrm{CMM}}}\right)^{2} \\ & &\left(a_{\mathrm{CMM}}+\frac{d_{23}}{b_{\mathrm{CMM}}}\right)^{2} \end{array}\right] . $

距离测量的权阵可表示为

$ \boldsymbol{P}_{\mathrm{d}}^{\mathrm{M}}=\left(\boldsymbol{D}_{\mathrm{d}}^{\mathrm{M}}\right)^{-1} / \sigma_{0}^{2}. $ (19)

至此,最终的权阵可由3部分独立测量的权阵共同组成,即

$ \boldsymbol{P}_{\mathrm{M}}=\left[\begin{array}{llll} \boldsymbol{P}^{\mathrm{M}} & & & \\ & \boldsymbol{P}_{1}^{\text {Pre }} & & \\ & & \boldsymbol{P}_{2}^{\text {Pre }} & \\ & & & \boldsymbol{P}_{\mathrm{d}}^{\mathrm{M}} \end{array}\right]_{12 \times 12}. $ (20)
3.3 平差模型的解算

条件方程是测量平差的数学模型,权阵是测量平差的随机模型,改正数则是平差解算的未知量,记为ΔM,测量工具的目标点的平差值则可表示为

$ \boldsymbol{L}_{\mathrm{A}}=\boldsymbol{L}_{\mathrm{M}}+\boldsymbol{\varDelta}_{\mathrm{M}}. $ (21)

由于距离约束的条件方程为非线性方程,可通过泰勒展开线性化处理,得到改正数的线性条件方程[17]

$ \boldsymbol{C}_{\mathrm{M}} \boldsymbol{\varDelta}_{\mathrm{M}}+\boldsymbol{E}_{\mathrm{M}}=\bf{0}. $ (22)

其中:$ \mathit{\boldsymbol{C}}{\mathit{\boldsymbol{}}_{\rm{M}}} = {\left. {\frac{{\partial \mathit{\boldsymbol{ \boldsymbol{\varGamma} }}}}{{\partial \mathit{\boldsymbol{L}}}}} \right|_{{\mathit{\boldsymbol{L}}_{\rm{M}}}}}$为3×12的系数矩阵,EM为3×1的列向量,ΔM为12×1的列向量,未知数有12个大于方程数。

改正数的选取一般遵循最小二乘准则,即要求ΔMTPMΔM最小,故测量平差的解算问题实际上是一个带约束的最优化问题:

$ \begin{gathered} \min \boldsymbol{\varDelta}_{\mathrm{M}}^{\mathrm{T}} \boldsymbol{P}_{\mathrm{M}} \boldsymbol{\varDelta}_{\mathrm{M}} \\ \text { s. t. } \quad \boldsymbol{C}_{\mathrm{M}} \boldsymbol{\varDelta}_{\mathrm{M}}+\boldsymbol{E}_{\mathrm{M}}=\bf{0}. \end{gathered} $ (23)

可用拉格朗日乘数法求解,引入乘数λ,则可构造综合目标函数

$ \boldsymbol{\varPhi}=\boldsymbol{\varDelta}_{\mathrm{M}}^{\mathrm{T}} \boldsymbol{P}_{\mathrm{M}} \boldsymbol{\varDelta}_{\mathrm{M}}-2 \boldsymbol{\lambda}^{\mathrm{T}}\left(\boldsymbol{C}_{\mathrm{M}} \boldsymbol{\varDelta}_{\mathrm{M}}+\boldsymbol{E}_{\mathrm{M}}\right), $

求函数极值得到

$ \boldsymbol{\varDelta}_{\mathrm{M}}=\boldsymbol{P}_{\mathrm{M}}^{-1} \boldsymbol{C}_{\mathrm{M}}^{\mathrm{T}} \boldsymbol{\lambda}. $ (24)

代入式(23),有

$ \boldsymbol{C}_{\mathrm{M}} \boldsymbol{P}_{\mathrm{M}}^{-1} \boldsymbol{C}_{\mathrm{M}}^{\mathrm{T}} \boldsymbol{\lambda}+\boldsymbol{E}_{\mathrm{M}}=\bf{0} . $ (25)

由于CMPM-1CMT为满秩矩阵且可逆,方程有唯一的解λ =-(CMPM-1CMT)-1EM,代入式(24)则可计算得到改正数ΔM,将其代入式(21),就得到最终的平差值LA

至此,测量平差模型解算完毕,利用测量平差修正3个目标点的位置,即可求得更高精度的6D位姿。

4 实验 4.1 实验平台

为了验证本文提出的机器人运动误差补偿方法,本文搭建了如图 6所示的测量实验平台,平台由ABB IRB 4600机器人、Leica AT901-B激光跟踪仪、多目标测量工具和主控上位机组成。多目标测量工具由铝材质本体和3个磁性靶座组成,尺寸为150 mm×200 mm,固定有3个1.5″反射靶球。

图 6 测量实验平台

在进行运动补偿之前,需要预先标定激光跟踪仪相对于机器人基础坐标系的变换矩阵。设目标点在激光跟踪仪坐标系下的空间位置为LPT1LPT2LPT3,则可求出测量工具坐标系的实测位姿LTTM

4.2 变形误差补偿实验

为了获取不同负载下机器人末端的变形补偿效果,实验选取一个铝合金工件作为基础负载,并在此基础上增加了不同数量的Q235材质的配重,分别模拟4种不同负载下机器人的操作工况(5.25、12.10、41.15和46.05 kg),其中最大负载接近IRB 4600机器人的最高负载。实验中分别测量了181组关节位形下目标点1在激光跟踪仪坐标系下的空间坐标。实验中选择前150组作为训练样本,后31组作为测试样本,分别对每组负载建立机器人的运动误差模型。由于IRB 4600机器人为6自由度机器人,输入样本为关节位形q$ {\mathbb{R}^{6 \times 1}}$,输出样本为位置误差向量ep$ {\mathbb{R}^{3 \times 1}}$,可由式(3)计算得到,训练样本容量m=150,误差模型的参数集θ={σf, σn, λ1, λ2, …, λ6},利用梯度下降法求解运动误差模型的最优参数。

图 7给出了46.05 kg负载下对运动学误差模型的预测效果,可以看到,模型的预测误差能够很好地逼近机器人运动学的实测误差。表 1列出了不同负载下模型预测误差的均值和均方差,结果显示随着负载的增大,模型的预测误差有所下降,但仍然能够将机器人运动学的误差均值控制在±0.025 mm以内,均方差控制在0.029 mm以内。

图 7 负载为46.05 kg时的变形预测结果

表 1 不同负载下的位置补偿效果 
mm
负载/kg X均值 X均方差 Y均值 Y均方差 Z均值 Z均方差
5.25 0.025 0.041 -0.010 0.015 -0.004 0.019
12.10 -0.004 0.025 0.002 0.020 -0.009 0.015
41.15 0.008 0.018 0.010 0.018 -0.023 0.024
46.05 -0.013 0.015 -0.006 0.023 -0.025 0.029

此外,实验对比了46.05 kg负载下基于Gauss过程回归(GPR)和基于径向基函数(radial basis function,RBF)神经网络的运动学误差模型的预测效果。RBF神经网络是一种强大的神经网络模型,具有自学习、自组织的特点,能够很好地逼近非线性连续函数[18]。实验中从181组关节位形中随机选取不同数量的输入输出样本进行训练,并计算模型预测的误差,以观察样本数量对误差预测的影响。

图 8给出了不同模型的位置综合误差σxyz= $ \sqrt {\sigma _x^2 + \sigma _v^2 + \sigma _z^2} $随着训练样本数量的变化。可以看到,随着样本数量减小,基于RBF神经网络[18]的运动学误差模型的预测误差明显增大,而基于Gauss过程回归的运动学误差模型则变化没有那么明显,在样本数量有限的情况下具有更好的预测效果。

图 8 不同训练样本下两种误差模型的预测结果

上述结果表明,基于Gauss过程回归的运动学误差模型能够对机器人在不同负载下的结构变形误差起到很好的补偿效果。

4.3 6D位姿估计实验

实验测量了不同运动轨迹下测量工具坐标系的位置和姿态。将运动轨迹插值为多个路径点,机器人运动到指定路径点后,依次测量3个目标点的空间位置。依据每个路径点的3个目标点的空间位置可由式(3)计算测量工具坐标系的实测值LTTM

图 9所示,实验分别对空间直线和空间圆两种不同的运动轨迹进行了测量,相关实验参数如表 2所示。将目标点1作为实测目标点,目标点2和3作为预测目标点,从路径点中随机选取120组作为离线测量的样本数据,建立运动学误差模型,并对剩余的路径点的目标点位置进行预测,结合目标点1的实测位置,即可计算得到测量工具坐标系的预测值LTTPre和位姿预测误差向量et

图 9 空间直线轨迹和空间圆轨迹

表 2 不同空间轨迹下实验参数
轨迹 尺寸/mm 路径间隔 路径点数量
空间直线 1 000 4 mm 251
空间圆 Φ250 181

图 10图 11分别给出了空间直线和空间圆轨迹下的姿态的预测误差,可以看到姿态的预测值能很好地逼近实测值。表 3列出了位姿估计误差的统计结果。可以看到,空间直线轨迹的姿态误差均值都很小,Euler角EZ的均方差较大,主要是因为随机选取的样本所覆盖的范围有限,导致对目标点Z向坐标的预测效果差异较大。空间圆轨迹的姿态误差相对更小,Euler角EXEY的误差主要源于目标点X向和Z向坐标的预测误差。

图 10 空间直线的位姿误差估计结果

图 11 空间圆的位姿误差估计效果

表 3 不同空间轨迹下的姿态估计误差 
(°)
轨迹 姿态 均值 均方差
空间直线 EX 0.000 8 0.002 8
EY 0.000 45 0.005 2
EZ -0.008 0.022 4
空间圆 EX 0.001 9 0.003 7
EY 0.000 34 0.017 8
EZ -0.014 8 0.008 1

上述结果表明,本文提出的位姿估计方法能精确获取机器人末端测量工具的位置和姿态。

为了验证基于测量平差的6D位姿修正方法,实验使用海克斯康Global Plus三坐标测量机完成了测量工具上3个目标点之间的距离测量,结果如表 4所示。

表 4 三个目标点之间的距离测量值 
mm
距离 d12 d13 d23
测量值 144.833 210.149 210.684

实验中采用的三坐标测量机的长度测量误差为(2.5+3L/1 000)μm/m,AT901-B激光跟踪仪的测距误差的标称值为±0.5 μm/m,测角误差为1″~2″,代入式(20)、(21)可求解平差模型。表 5给出了空间圆轨迹的第163个路径点上目标点2和3的平差结果,包括平差前目标点的预测位置PPre、平差后的位置PAdj以及改正数ΔM。为了对比平差前后的效果,表 5同样列出了激光跟踪仪对目标点2和3的实测位置PM,可以看到,平差后的坐标值更接近于激光跟踪仪的实测位置。

表 5 平差前后的目标点的坐标 
mm
目标点 平差前 平差后 改正数 理论值
X 1 104.806 1 104.867 0.061 1 104.897
2 Y 116.261 116.228 -0.033 116.260
Z -347.631 -347.606 0.024 -347.571
X 1 091.08 1 091.115 0.035 1 091.173
3 Y 106.463 106.436 -0.027 106.448
Z -491.498 -491.462 0.036 -491.427

依据上述方法,实验计算了所有路径点下,平差前后的目标点2和3的预测位置到激光跟踪仪实测位置的距离Li=‖ PiPre- PiM‖,将其作为目标点2和目标点3的定位误差,其中i为路径点序号。统计所有路径点的定位误差,并计算其均值E(Li)=ΣLi和均方差RMSE(Li)=Σ[Li-E(Li)]2/m,如表 6所示。

表 6 平差前后的位置误差
统计指标 目标点 平差前/mm 平差后/mm 变化率/%
均值 2 0.073 0.058 20.5
3 0.079 0.063 20.2
均方差 2 0.027 0.028 3.70
3 0.030 0.029 3.33

可以看到,经过平差模型的修正后,目标点2和目标点3的预测位置比平差前更接近于激光跟踪仪的实测值,平差后的定位精度的均值提高了20%左右,均方差变化不大。上述结果表明基于测量平差的位姿修正方法能够有效地提高机器人末端目标点的估计精度。

5 结论

本文针对机器人在重载操作下运动补偿问题展开研究,提出了基于模型和数据驱动的6D位姿在线估计方法,同时结合了基于离线测量的运动学误差模型和在线测量反馈,实验结果很好地验证了该方法能够对机器人末端位置和姿态进行精确测量。在机器人执行精密操作中,本文提出的6D位姿估计方法可提供更精确的位姿反馈,从而实现更好的运动控制效果。需要指出的是,本文所提出的方法受限于离线测量数据,仅适用于特定负载下的运动学补偿,否则,负载的改变同样会改变运动学误差模型,必须重新采集新的输入输出样本。理论上,在Gauss过程回归模型的输入样本信息中增加末端负载信息,建立更复杂的运动学误差模型,则可以适用于负载改变情况下的末端位姿估计。此外,如何通过减少离线测量数据的影响、增加在线测量数据的影响,以实现更精确的6D位姿反馈,是后续研究中值得关注的问题。

参考文献
[1]
MOORING B W, ROTH Z S, DRIELS M R. Fundamentals of manipulator calibration[M]. New York: Wiley, 1991.
[2]
CHEN X Y, ZHANG Q J, SUN Y L. Non-kinematic calibration of industrial robots using a rigid-flexible coupling error model and a full pose measurement method[J]. Robotics and Computer-Integrated Manufacturing, 2019, 57: 46-58. DOI:10.1016/j.rcim.2018.07.002
[3]
LI R, ZHAO Y. Dynamic error compensation for industrial robot based on thermal effect model[J]. Measurement, 2016, 88: 113-120. DOI:10.1016/j.measurement.2016.02.038
[4]
王坤. 工业机器人运动学参数标定及误差补偿研究[D]. 武汉: 华中科技大学, 2018.
WANG K. Research on calibration and error compensation of kinematics parameters of industrial robots[D]. Wuhan: Huazhong University of Science and Technology, 2018. (in Chinese)
[5]
CHEAH C C, HIRANO M, KAWAMURA S, et al. Approximate Jacobian control for robots with uncertain kinematics and dynamics[J]. IEEE Transactions on Robotics and Automation, 2003, 19(4): 692-702. DOI:10.1109/TRA.2003.814517
[6]
CHENG L, HOU Z G, TAN M. Adaptive neural network tracking control for manipulators with uncertain kinematics, dynamics and actuator model[J]. Automatica, 2009, 45(10): 2312-2318. DOI:10.1016/j.automatica.2009.06.007
[7]
JING W, TAO P Y, YANG G L, et al. Calibration of industry robots with consideration of loading effects using Product-of-Exponential (POE) and Gaussian Process (GP)[C]//Proceedings of 2016 IEEE International Conference on Robotics and Automation (ICRA). Stockholm, Sweden: IEEE, 2016.
[8]
WAN A, XU J, CHEN H P, et al. Optimal path planning and control of assembly robots for hard-measuring easy-deformation assemblies[J]. IEEE/ASME Transactions on Mechatronics, 2017, 22(4): 1600-1609. DOI:10.1109/TMECH.2017.2671342
[9]
PALMIERI G, PALPACELLI M C, CARBONARI L, et al. Vision-based kinematic calibration of a small-scale spherical parallel kinematic machine[J]. Robotics and Computer-Integrated Manufacturing, 2018, 49: 162-169. DOI:10.1016/j.rcim.2017.06.008
[10]
SHIRINZADEH B, TEOH P L, TIAN Y, et al. Laser interferometry-based guidance methodology for high precision positioning of mechanisms and robots[J]. Robotics and Computer-Integrated Manufacturing, 2010, 26(1): 74-82. DOI:10.1016/j.rcim.2009.04.002
[11]
NUBIOLA A, BONEV I A. Absolute calibration of an ABB IRB 1600 robot using a laser tracker[J]. Robotics and Computer-Integrated Manufacturing, 2013, 29(1): 236-245. DOI:10.1016/j.rcim.2012.06.004
[12]
金涨军. 飞机装配中大尺寸测量场的建立与优化技术[D]. 杭州: 浙江大学, 2016.
JIN Z J. Establishment and optimization of large-volume measuring field in aircraft assembly[D]. Hangzhou: Zhejiang University, 2016. (in Chinese)
[13]
WAN A, WANG Y X, XUE G J, et al. Accurate kinematics calibration method for a large-scale machine tool[J]. IEEE Transactions on Industrial Electronics, 2021, 68(10): 9832-9843. DOI:10.1109/TIE.2020.3021657
[14]
WANG W, LIU Y, CHEN R, et al. A calibration method with anistropic weighting for LiDAR and stereo camera system[C]//2019 IEEE International Conference on Robotics and Biomimetics (ROBIO). Dali, China: IEEE, 2019: 422-426.
[15]
何志昆, 刘光斌, 赵曦晶, 等. 高斯过程回归方法综述[J]. 控制与决策, 2013, 28(8): 1121-1129, 1137.
HE Z K, LIU G B, ZHAO X J, et al. Overview of Gaussian process regression[J]. Control and Decision, 2013, 28(8): 1121-1129, 1137. (in Chinese)
[16]
RASMUSSEN C E, WILLIAMS C K I. Gaussian processes for machine learning[M]. Cambridge: MIT Press, 2006.
[17]
陶本藻, 邱卫宁, 姚宜斌. 误差理论与测量平差基础[M]. 王建国, 译. 武汉: 武汉大学出版社, 2019.
TAO B Z, QIU W N, YAO Y B. Error theory and foundation of surveying adjustment[M]. WANG J G, Trans. Wuhan: Wuhan University Press, 2019. (in Chinese)
[18]
YANG Z L, MOURSHED M, LIU K L, et al. A novel competitive swarm optimized RBF neural network model for short-term solar power generation forecasting[J]. Neurocomputing, 2020, 397: 415-421. DOI:10.1016/j.neucom.2019.09.110