论文阅读-Physical feasibility of robot base inertial parameter identification: A linear matrix inequalit

概要

这篇论文主要讨论在考虑物理一致性的情况下的机器人动力学辨识。给出了三个方法,1用来检查给定的参数估计是否具有物理意义。2修正不可行的物理参数找到最近的可行的参数。这两个方法可以用到已存在的辨识上。3用最小二乘回归在考虑物理约束的情况下求解最优参数。

惯性参数的物理可行性

机器人的物理模型一般写成
M ( q ) q ¨ + c ( q , q ˙ ) + g ( q ) = τ (1) M(q)\ddot{q} + c(q,\dot{q}) + g(q) = \tau \tag{1} M(q)q¨+c(q,q˙)+g(q)=τ(1)
其中各项取决于几何参数和动力学参数。所谓满足物理可行性,既是要求质量大于零,惯性张量正定
{ m k > 0 I k ≻ 0 (2) \begin{cases} m_k>0\\ I_k\succ 0\\ \end{cases} \tag{2} {mk>0Ik0(2)
惯性张量是
I k = [ I k , x x I k , x y I k , x z I k , x y I k , y y I k , y z I k , x z I k , y z I k , z z ] (3) I_k=\left[ \begin{matrix} I_{k,xx}& I_{k,xy}& I_{k,xz}\\ I_{k,xy}& I_{k,yy}& I_{k,yz}\\ I_{k,xz}& I_{k,yz}& I_{k,zz}\\ \end{matrix} \right] \tag{3} Ik= Ik,xxIk,xyIk,xzIk,xyIk,yyIk,yzIk,xzIk,yzIk,zz (3)
在link坐标系k下的惯性张量是
L k = I k + m k S ( r k ) T S ( r k ) (5) L_k = I_k+m_kS(r_k)^TS(r_k) \tag{5} Lk=Ik+mkS(rk)TS(rk)(5)
其中 S ( ⋅ ) S(\cdot) S()是反对称矩阵, r k r_k rk是link坐标系k中的质心。 L k L_k Lk必须为正定对称矩。
为了进行线性回归,需要使用转矩向量 l k l_k lk
l k = [ l k , x l k , y l k , z ] = m k r k = m k [ r k , x l k , y l k , z ] (8) l_k=\left[ \begin{array}{c} l_{k,x}\\ l_{k,y}\\ l_{k,z}\\ \end{array} \right] =m_kr_k=m_k\left[ \begin{array}{c} r_{k,x}\\ l_{k,y}\\ l_{k,z}\\ \end{array} \right] \tag{8} lk= lk,xlk,ylk,z =mkrk=mk rk,xlk,ylk,z (8)
所以,(5)需要改写为
L k = I k + m k S ( l k m k ) T S ( l k m k ) (9) L_k=I_k+m_kS(\frac{l_k}{m_k})^TS(\frac{l_k}{m_k}) \tag{9} Lk=Ik+mkS(mklk)TS(mklk)(9)
因为反对称是线性操作,所以
I k = L k − l k m k S ( l k ) T S ( l k ) I_k=L_k-\frac{l_k}{m_k}S(l_k)^TS(l_k) Ik=LkmklkS(lk)TS(lk)
因此,物理约束可以写为
{ m k > 0 L k − 1 m k S ( l k ) T S ( l k ) ≻ 0 (11) \begin{cases} m_k>0\\ L_k-\frac{1}{m_k}S(l_k)^TS(l_k)\succ 0\\ \end{cases} \tag{11} {mk>0Lkmk1S(lk)TS(lk)0(11)
将每个轴的惯性参数写到一起
δ k = [ l L k , x x L k , x y L k , x z L k , y y L k , y z L k , z z l k , x l k , y l k , z m k ] T δ = [ δ 1 T    δ 2 T    ⋯    δ k T    ⋯    δ N T ] T \delta _k=\left[ \begin{matrix}{l} L_{k,xx}& L_{k,xy}& L_{k,xz}& L_{k,yy}& L_{k,yz}& L_{k,zz}& l_{k,x}& l_{k,y}& l_{k,z}& m_k\\ \end{matrix} \right] ^T \\ \delta =\left[ \delta _{1}^{T}\,\,\delta _{2}^{T}\,\,\cdots \,\,\delta _{k}^{T}\,\,\cdots \,\,\delta _{N}^{T} \right] ^T δk=[lLk,xxLk,xyLk,xzLk,yyLk,yzLk,zzlk,xlk,ylk,zmk]Tδ=[δ1Tδ2TδkTδNT]T
共有 n = 10 N n=10N n=10N个变量
集合 D \mathcal{D} D
D = { δ ∈ R n ∣ m k > 0 , L k − m k − 1 S ( l k ) T S ( l k ) ≻ 0 , k = 1 , . . . , N } \mathcal{D} =\left\{ \delta \in \mathbb{R} ^n|m_k>0,L_k-m_{k}^{-1}S(l_k)^TS(l_k)\succ 0,k=1,...,N \right\} D={δRnmk>0,Lkmk1S(lk)TS(lk)0,k=1,...,N}

机器人link的物理可行性

前面的公式可以写成
L k − S ( l k ) T ( m k 1 ) − 1 S ( l k ) ≻ 0 (15) L_k-S(l_k)^T\left( m_k\mathbf{1} \right) ^{-1}S(l_k)\succ 0 \tag{15} LkS(lk)T(mk1)1S(lk)0(15)
其中 1 \bf{1} 1是3x3单位矩阵,利用舒尔定理,可以写成
D k ( δ k ) = [ L k S ( l k ) T S ( l k ) m k 1 ] ≻ 0 D_k\left( \delta _k \right) =\left[ \begin{matrix} L_k& S(l_k)^T\\ S(l_k)& m_k\mathbf{1}\\ \end{matrix} \right] \succ 0 Dk(δk)=[LkS(lk)S(lk)Tmk1]0
其中
D k ( δ k ) = [ L k S ( l k ) T S ( l k ) m k 1 ] = [ l L k , x x L k , x y L k , x z 0 − l k , z l k , y L k , x y L k , y y L k , y z l k , z 0 − l k , x L k , x z L k , y z L k , z z − l k , y l k , x 0 0 l k , z − l k , y m k 0 0 − l k , z 0 l k , x 0 m k 0 l k , y − l k , x 0 0 0 m k ] D_k\left( \delta _k \right) =\left[ \begin{matrix} L_k& S(l_k)^T\\ S(l_k)& m_k\mathbf{1}\\ \end{matrix} \right] =\left[ \begin{matrix}{l} L_{k,xx}& L_{k,xy}& L_{k,xz}& 0& -l_{k,z}& l_{k,y}\\ L_{k,xy}& L_{k,yy}& L_{k,yz}& l_{k,z}& 0& -l_{k,x}\\ L_{k,xz}& L_{k,yz}& L_{k,zz}& -l_{k,y}& l_{k,x}& 0\\ 0& l_{k,z}& -l_{k,y}& m_k& 0& 0\\ -l_{k,z}& 0& l_{k,x}& 0& m_k& 0\\ l_{k,y}& -l_{k,x}& 0& 0& 0& m_k\\ \end{matrix} \right] \\ Dk(δk)=[LkS(lk)S(lk)Tmk1]= lLk,xxLk,xyLk,xz0lk,zlk,yLk,xyLk,yyLk,yzlk,z0lk,xLk,xzLk,yzLk,zzlk,ylk,x00lk,zlk,ymk00lk,z0lk,x0mk0lk,ylk,x000mk
使用时可将正定放宽为半正定,而不会对结果有什么影响。
也可根据需要添加一些关于质量和质量矩的上下限约束,这些约束都是凸的。
同样,也可将摩擦系数添加到参数中。

基参数的物理一致性

在已知 δ \delta δ后检查其是否满足物理一致性是很容易的,直接将其带入所有不等式看是否满足。而参数辨识必须工作在最小惯性集上,因此需要讨论最小惯性参数的物理一致性。

构造最小惯性参数

机械臂的动力学是 δ \delta δ的线性函数
H ( q , q ˙ , q ¨ ) δ = τ H\left( q,\dot{q},\ddot{q} \right) \delta =\tau H(q,q˙,q¨)δ=τ
将其写为
[ H b H d ] [ δ b δ d ] = τ (30) \left[ \begin{matrix} H_b& H_d\\ \end{matrix} \right] \left[ \begin{array}{c} \delta _b\\ \delta _d\\ \end{array} \right] =\tau \tag{30} [HbHd][δbδd]=τ(30)
其中 H b H_b Hb H H H n b n_b nb个线性无关的列, H d H_d Hd是剩下 n d = n − n b n_d=n-n_b nd=nnb个列。
H d H_d Hd可以写成 H b H_b Hb的线性组合
H d = H b K d H_d=H_bK_d Hd=HbKd
K d = R 1 − 1 R 2 K_d=R_1^{-1}R_2 Kd=R11R2是一个常量矩阵。
δ b \delta_b δb δ d \delta_d δd是经过重新排序的参数,有
H b = H P b H d = H P d δ b = P b T δ δ d = P d T δ H_b=HP_b \\ H_d=HP_d \\ \delta _b=P_{b}^{T}\delta \\ \delta _d=P_{d}^{T}\delta Hb=HPbHd=HPdδb=PbTδδd=PdTδ
P b P_b Pb P d P_d Pd是排序矩阵 P P P的前 n b n_b nb和后 n d n_d nd H P = [ H b   H d ] HP=[H_ b\ H_d] HP=[Hb Hd]
因为线性相关性,公式(30)可以写为
H b β = τ H_b\beta=\tau Hbβ=τ
其中 β = [ β 1   β 2   β 3 . . . β n b ] \beta=[\beta_1\ \beta_2\ \beta_3 ...\beta_{n_b}] β=[β1 β2 β3...βnb]是最小惯性参数,有
β = δ b + K d δ d \beta=\delta_b+K_d\delta_d β=δb+Kdδd
于是有
β = K δ K = P b T + K d P d T = [ I b , R 1 − 1 R 2 ] P T \beta=K\delta\\ K=P^T_b+K_dP^T_d=[I_b,R_1^{-1}R_2]P^T β=K=PbT+KdPdT=[Ib,R11R2]PT
这里的 R 1 R_1 R1 R 2 R_2 R2 H H H的堆叠矩阵 Z Z Z在QR分解时产生
Z P = Q R = Q [ R 1 R 2 0 0 ] ZP=QR=Q\left[ \begin{matrix} R_1& R_2\\ 0& 0\\ \end{matrix} \right] ZP=QR=Q[R10R20]

基参数可行性测试 BPFT

K K K矩阵将原始惯性参数 δ \delta δ映射到了基参数 β = K δ \beta=K\delta β=。但是 K K K不是一个方阵,因此这个映射不是双射,一个 β \beta β对应着多个 δ \delta δ。满足物理一致性的基参数集合为
B = { β ∈ R n b : ∃ δ ∈ D   s . t .   β = K δ } \mathcal{B}=\{\beta\in\mathbb{R}^{n_b}:\exist \delta\in \mathcal{D}\ s.t. \ \beta=K\delta\} B={βRnb:δD s.t. β=}
但是这个定义不能直接用来判断物理一致性,因为 K K K不是方阵。
定义一个新的映射
m : R n → R n δ ↦ ( β , δ d ) m ( δ ) = G δ \mathfrak{m} : \mathbb{R}^n\rightarrow\mathbb{R}^n \quad \delta \mapsto (\beta,\delta_d) \\ \mathfrak{m}(\delta) = G\delta m:RnRnδ(β,δd)m(δ)=Gδ
这里 G = K G P T G=K_GP^T G=KGPT
K G = [ 1 K d 0 1 ] K_G=\left[ \begin{matrix} 1& K_d\\ 0& 1\\ \end{matrix} \right] KG=[10Kd1]
所以有
G δ = K G P T δ = [ 1 K d 0 1 ] [ δ b δ d ] = [ β δ d ] = ( β , δ d ) \begin{aligned} G\delta &=K_GP^T\delta\\ &=\left[ \begin{matrix} 1& K_d\\ 0& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \delta _b\\ \delta _d\\ \end{array} \right]\\ &=\left[ \begin{array}{c} \beta\\ \delta _d\\ \end{array} \right] =\left( \beta ,\delta _d \right)\\ \end{aligned} Gδ=KGPTδ=[10Kd1][δbδd]=[βδd]=(β,δd)
因为 K G K_G KG是上三角矩阵, P T P^T PT是排序矩阵,因此 G G G是可逆的, m \mathfrak{m} m是个一对一的映射。所以这个扩展空间上的真正定性等价与原空间的正定性,满足物理一致性的集合可以写为
D β = { ( β , δ d ) ∈ R n : D β ( β , δ d ) ⪰ 0 } D β ( β , δ d ) = D ( m − 1 ( β , δ d ) ) \mathcal{D} _{\beta}=\left\{ \left( \beta ,\delta _d \right) \in \mathbb{R} ^n:D_{\beta}\left( \beta ,\delta _d \right) \succeq 0 \right\} \\ D_{\beta}\left( \beta ,\delta _d \right) =D\left( \mathfrak{m} ^{-1}\left( \beta ,\delta _d \right) \right) Dβ={(β,δd)Rn:Dβ(β,δd)0}Dβ(β,δd)=D(m1(β,δd))
也就是说,先用 m − 1 \mathfrak{m} ^{-1} m1反向映射得到 δ \delta δ,用 δ \delta δ的物理一致性来定义 ( β , δ d ) (\beta,\delta_d) (β,δd)的物理一致性
m − 1 ( β , δ d ) = G − 1 [ β δ d ] = P − T G K − 1 [ β δ d ] = P [ 1 − K d 0 1 ] [ β δ d ] \mathfrak{m} ^{-1}\left( \beta ,\delta _d \right) =G^{-1}\left[ \begin{array}{c} \beta\\ \delta _d\\ \end{array} \right] \\ =P^{-T}G_{K}^{-1}\left[ \begin{array}{c} \beta\\ \delta _d\\ \end{array} \right] \\ =P\left[ \begin{matrix} 1& -K_d\\ 0& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \beta\\ \delta _d\\ \end{array} \right] m1(β,δd)=G1[βδd]=PTGK1[βδd]=P[10Kd1][βδd]
因此,基参数的物理一致性集合可以改写为
B = { β ∈ R n b : ∃ δ d ∈ R n d    s . t . D β ( β , δ d ) ⪰ 0 } \mathcal{B} =\{\beta \in \mathbb{R} ^{n_b}:\exists \delta _d\in \mathbb{R} ^{n_d}\,\,s.t. D_{\beta}\left( \beta ,\delta _d \right) \succeq 0\} B={βRnb:δdRnds.t.Dβ(β,δd)0}
这个定义中仍然包含 δ d \delta_d δd,无法直接用来判断 β \beta β的物理一致性。

若一个给定的 β ^ \hat{\beta} β^满足物理一致性,则至少存在一个 δ d \delta_d δd,使得 D β ( β , δ d ) ⪰ 0 D_{\beta}\left( \beta ,\delta _d \right) \succeq 0 Dβ(β,δd)0。描述为优化问题既为
f i n d δ d s . t . D β ( β , δ d ) ⪰ 0 \mathrm{find}\qquad \delta _d \\ \mathrm{s}.\mathrm{t}. \quad D_{\beta}\left( \beta ,\delta _d \right) \succeq 0 findδds.t.Dβ(β,δd)0
这个优化问题叫做基参数可行性测试(base parameter feasibility test, BPFT)。

基参数可行性修正 BPFC

类似的,可以寻找距离给定基参数 β ^ \hat \beta β^最接近的满足物理一致性的 β \beta β
min ⁡ ( β , δ d ) ∣ ∣ β ^ − β ∣ ∣ s . t . D β ( β , δ d ) ⪰ 0 \min_{\left( \beta ,\delta _d \right)} \quad ||\hat{\beta}-\beta || \\ \mathrm{s}.\mathrm{t}. D_{\beta}\left( \beta ,\delta _d \right) \succeq 0 (β,δd)min∣∣β^β∣∣s.t.Dβ(β,δd)0
这个问题称作基参数可行性修正(base parameter feasibility correction, BPFC)。

基参数优化

在满足物理一致性的条件下辨识最小惯性集参数。收集 s s s个点的关节角度和力矩数据之后堆叠成矩阵
W = [ H b ( q 1 , q ˙ 1 , q ¨ 1 ) H b ( q 2 , q ˙ 2 , q ¨ 2 ) ⋮ H b ( q s , q ˙ s , q ¨ s ) ] w = [ τ 1 τ 2 ⋮ τ s ] W=\left[ \begin{array}{c} H_b\left( q_1,\dot{q}_1,\ddot{q}_1 \right)\\ H_b\left( q_2,\dot{q}_2,\ddot{q}_2 \right)\\ \vdots\\ H_b\left( q_s,\dot{q}_s,\ddot{q}_s \right)\\ \end{array} \right] \quad w=\left[ \begin{array}{c} \tau _1\\ \tau _2\\ \vdots\\ \tau _s\\ \end{array} \right] W= Hb(q1,q˙1,q¨1)Hb(q2,q˙2,q¨2)Hb(qs,q˙s,q¨s) w= τ1τ2τs
目标函数为 ∣ ∣ ϵ ∣ ∣ 2 = ∣ ∣ w − W β ∣ ∣ 2 ||\epsilon||^2=||w-W\beta||^2 ∣∣ϵ2=∣∣wWβ2
所以优化问题可以写为
min ⁡ ( β , δ d ) ∣ ∣ w − W β ∣ ∣ 2 s . t . D β ( β , δ d ) ⪰ 0 \min_{\left( \beta ,\delta _d \right)} \quad ||w-W\beta ||^2 \\ \mathrm{s}.\mathrm{t}.D_{\beta}\left( \beta ,\delta _d \right) \succeq 0 (β,δd)min∣∣wWβ2s.t.Dβ(β,δd)0
论文里给出了SDP的形式,如果需要进一步提升求解速度,使用SDP的形式更好。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值