【论文笔记】基于编队控制的协同搬运

写在前面

原论文:Cooperative load transport: A formation-control perspective.

本文是Bai 2010[1]的笔记,主要关注对可变形物体的建模和编队控制思路下的搬运。前两部分是原论文内容,后两部分是我自己的一些想法。

问题描述

假设物体一开始未变形,变形后有如下图近似关系。

定义变形量

zi=xiai(1)z_i=x_i-a_i\qquad (1)

变形产生的应力fif_i施加到物体上,驱动物体运动。

假设1:fif_i为一个关于ziz_i强凸正定势函数P(zi)P(z_i)的梯度,即

fi=Pi(zi)(2)f_i=\nabla P_i(z_i)\qquad (2)

这样定义的应力满足弹簧模型fi=kizif_i=k_iz_i,也满足一些非线性模型,如fi=bizi2zif_i=b_i |z_i|^2z_ibi>0b_i>0

注意,强凸正定条件保证了:

  • Pi(zi)=Pi(zi)=0P_i(z_i)=\nabla P_i(z_i)=0当且仅当zi=0z_i=0
  • 给定fidf_i^d,可以唯一确定zidz_i^d,使得fid=Pi(zid)f_i^d=\nabla P_i(z_i^d)2Pi(zid)0\nabla^2P_i(z_i^d)\geq 0

系统模型

mix¨i=Fifimox¨o=i=1nfi(3)\begin{aligned} m_i\ddot x_i&=F_i-f_i\\ m_o\ddot x_o&=\sum_{i=1}^nf_i \end{aligned}\qquad (3)

假设2:物体不旋转,即机械臂末端能产生力矩抵消应力带来的旋转力矩。

控制器设计

给定期望速度vdv^d,和期望应力fidf_i^d,满足i=1nfid=0\sum_{i=1}^nf_i^d=0

设计控制器

Fi=Γi(x˙ivd)+fid(4)F_i=-\Gamma_i(\dot x_i-v^d)+f_i^d \qquad(4)

其中Γi\Gamma_i正定。下面证明xi,xovdx_i,x_o\to v^d以及fifidf_i\to f_i^d

定义李亚普诺夫函数

V=i=1n(Pi(zi)Pi(zid)(fid)T(zizid))+12i=1nξiTmiξi+12ξoTmoξo(5)V=\sum_{i=1}^n(P_i(z_i)-P_i(z_i^d)-(f_i^d)^T(z_i-z_i^d))+\frac{1}{2}\sum_{i=1}^n\xi_i^Tm_i\xi_i+\frac{1}{2}\xi_o^Tm_o\xi_o\qquad (5)

其中ξi:=x˙ivd\xi_i:=\dot x_i-v^dξo:=x˙ovd\xi_o:=\dot x_o-v^d

由假设1,可知VV正定。

对时间求导

V˙=i=1n(fifid)Tz˙i+i=1nξiTmix¨i+ξoTmox¨o(6)\dot V=\sum_{i=1}^{n}(f_i-f_i^d)^T\dot z_i+\sum_{i=1}^n\xi_i^Tm_i\ddot x_i+\xi_o^Tm_o\ddot x_o\qquad (6)

由(1)和假设2,有

z˙i=x˙ia˙i=x˙ix˙o(7)\dot z_i=\dot x_i-\dot a_i=\dot x_i-\dot x_o\qquad (7)

将(3)(4)(7)代入(6),得到

V˙=i=1n(fifid)T(x˙ix˙o)+i=1nξiT(Γiξi+fidfi)+ξoTi=1nfi=i=1nξiTΓiξi+ξoTi=1nfid=i=1nξiTΓiξi0\begin{aligned} \dot V&=\sum_{i=1}^{n}(f_i-f_i^d)^T(\dot x_i-\dot x_o)+\sum_{i=1}^n\xi_i^T(-\Gamma_i\xi_i+f_i^d-f_i)+\xi_o^T\sum_{i=1}^nf_i\\ &=-\sum_{i=1}^n\xi_i^T\Gamma_i\xi_i+\xi_o^T\sum_{i=1}^nf_i^d\\ &=-\sum_{i=1}^n\xi_i^T\Gamma_i\xi_i\leq 0 \end{aligned}

由不变性原理,不变集内部ξi=0\xi_i=0,即x˙i=vd\dot x_i=v^d。代入(3)得到Fi=fiF_i=f_i,再代入(4)得到fid=fif_i^d=f_i

下一步证明x˙o=vd\dot x_o=v^d,由fid=fif_i^d=f_i可得zid=ziz_i^d=z_i,因此z˙i=0\dot z_i=0。代入(7)得到x˙o=x˙i=vd\dot x_o=\dot x_i=v^d

时变速度的情况

给定期望速度vdv^d(时变),和期望应力fidf_i^d(时变),满足i=1nfid=mov˙d\sum_{i=1}^nf_i^d=m_o\dot v^d

设计控制器

Fi=miv˙dΓi(x˙ivd)+fid(8)F_i=m_i\dot v^d-\Gamma_i(\dot x_i-v^d)+f_i^d \qquad(8)

其中Γi\Gamma_i正定。下面证明xi,xovdx_i,x_o\to v^d以及fifidf_i\to f_i^d

定义李亚普诺夫函数

V=i=1n(Pi(zi)Pi(zid)(fid)T(zizid))+12i=1nξiTmiξi+12ξoTmoξo(9)V=\sum_{i=1}^n(P_i(z_i)-P_i(z_i^d)-(f_i^d)^T(z_i-z_i^d))+\frac{1}{2}\sum_{i=1}^n\xi_i^Tm_i\xi_i+\frac{1}{2}\xi_o^Tm_o\xi_o\qquad (9)

其中ξi:=x˙ivd\xi_i:=\dot x_i-v^dξo:=x˙ovd\xi_o:=\dot x_o-v^d

由假设1,可知VV正定。

对时间求导

V˙=i=1n(fifid)Tz˙i+i=1nξiTmi(x¨iv˙d)+ξoTmo(x¨ov˙d)(10)\dot V=\sum_{i=1}^{n}(f_i-f_i^d)^T\dot z_i+\sum_{i=1}^n\xi_i^Tm_i(\ddot x_i-\dot v^d)+\xi_o^Tm_o(\ddot x_o-\dot v^d)\qquad (10)

由(1)和假设2,有

z˙i=x˙ia˙i=x˙ix˙o(11)\dot z_i=\dot x_i-\dot a_i=\dot x_i-\dot x_o\qquad (11)

将(3)(8)(11)代入(10),得到

V˙=i=1n(fifid)T(x˙ix˙o)+i=1nξiT(Γiξi+fidfi)+ξoT(i=1nfimov˙d)=i=1nξiTΓiξi+ξoT(i=1nfidmov˙d)=i=1nξiTΓiξi0\begin{aligned} \dot V&=\sum_{i=1}^{n}(f_i-f_i^d)^T(\dot x_i-\dot x_o)+\sum_{i=1}^n\xi_i^T(-\Gamma_i\xi_i+f_i^d-f_i)+\xi_o^T(\sum_{i=1}^nf_i-m_o\dot v^d)\\ &=-\sum_{i=1}^n\xi_i^T\Gamma_i\xi_i+\xi_o^T(\sum_{i=1}^nf_i^d-m_o\dot v^d)\\ &=-\sum_{i=1}^n\xi_i^T\Gamma_i\xi_i\leq 0 \end{aligned}

由不变性原理,不变集内部ξi=0\xi_i=0,即x˙i=vd\dot x_i=v^d。代入(3)得到Fi=fi+miv˙dF_i=f_i+m_i\dot v^d,再代入(8)得到fid=fif_i^d=f_i

下一步证明x˙o=vd\dot x_o=v^d,由fid=fif_i^d=f_i可得zid=ziz_i^d=z_i,因此z˙i=0\dot z_i=0。代入(11)得到x˙o=x˙i=vd\dot x_o=\dot x_i=v^d

有摩擦力的情况

系统模型

mix¨i=Fifimox¨o=i=1nfibox˙ocosign(x˙o)(12)\begin{aligned} m_i\ddot x_i&=F_i-f_i\\ m_o\ddot x_o&=\sum_{i=1}^nf_i-b_o\dot x_o-c_o\operatorname{sign}(\dot x_o) \end{aligned}\qquad (12)

其中box˙ob_o\dot x_o粘性摩擦(viscous friction),cosign(x˙o)c_o\operatorname{sign}(\dot x_o)滑动摩擦(kinetic friction)。

(其实这里应该不是符号函数,而是x˙ox˙o\frac{\dot x_o}{\|\dot x_o\|}。)

给定时变期望速度vdv^d,和时变期望应力fidf_i^d,满足i=1nfid=mov˙d+bovd+cosign(vd)\sum_{i=1}^nf_i^d=m_o\dot v^d+b_ov^d+c_o\operatorname{sign}(v^d)

设计控制器

Fi=miv˙dΓi(x˙ivd)+fid(13)F_i=m_i\dot v^d-\Gamma_i(\dot x_i-v^d)+f_i^d \qquad(13)

其中Γi\Gamma_i正定。下面证明xi,xovdx_i,x_o\to v^d以及fifidf_i\to f_i^d

定义李亚普诺夫函数

V=i=1n(Pi(zi)Pi(zid)(fid)T(zizid))+12i=1nξiTmiξi+12ξoTmoξo(14)V=\sum_{i=1}^n(P_i(z_i)-P_i(z_i^d)-(f_i^d)^T(z_i-z_i^d))+\frac{1}{2}\sum_{i=1}^n\xi_i^Tm_i\xi_i+\frac{1}{2}\xi_o^Tm_o\xi_o\qquad (14)

其中ξi:=x˙ivd\xi_i:=\dot x_i-v^dξo:=x˙ovd\xi_o:=\dot x_o-v^d

由假设1,可知VV正定。

对时间求导

V˙=i=1n(fifid)Tz˙i+i=1nξiTmi(x¨iv˙d)+ξoTmo(x¨ov˙d)(15)\dot V=\sum_{i=1}^{n}(f_i-f_i^d)^T\dot z_i+\sum_{i=1}^n\xi_i^Tm_i(\ddot x_i-\dot v^d)+\xi_o^Tm_o(\ddot x_o-\dot v^d)\qquad (15)

由(1)和假设2,有

z˙i=x˙ia˙i=x˙ix˙o(16)\dot z_i=\dot x_i-\dot a_i=\dot x_i-\dot x_o\qquad (16)

将(12)(13)(16)代入(15),得到

V˙=i=1n(fifid)T(x˙ix˙o)+i=1nξiT(Γiξi+fidfi)+ξoT(i=1nfibox˙ocosign(x˙o)mov˙d)=i=1nξiTΓiξi+ξoT(i=1nfidbox˙ocosign(x˙o)mov˙d)=i=1nξiTΓiξiξoTboξoξoTco(sign(x˙o)sign(vd))+ξoT(i=1nfidbovdmov˙dcosign(vd))\begin{aligned} \dot V&=\sum_{i=1}^{n}(f_i-f_i^d)^T(\dot x_i-\dot x_o)+\sum_{i=1}^n\xi_i^T(-\Gamma_i\xi_i+f_i^d-f_i)+\xi_o^T(\sum_{i=1}^nf_i-b_o\dot x_o-c_o\operatorname{sign}(\dot x_o)-m_o\dot v^d)\\ &=-\sum_{i=1}^n\xi_i^T\Gamma_i\xi_i+\xi_o^T(\sum_{i=1}^nf_i^d-b_o\dot x_o-c_o\operatorname{sign}(\dot x_o)-m_o\dot v^d)\\ &=-\sum_{i=1}^n\xi_i^T\Gamma_i\xi_i-\xi_o^Tb_o\xi_o-\xi_o^Tc_o(\operatorname{sign}(\dot x_o)-\operatorname{sign}(v^d))+\xi_o^T(\sum_{i=1}^nf_i^d-b_ov^d-m_o\dot v^d-c_o\operatorname{sign}(v^d)) \end{aligned}

容易发现ξoTco(sign(x˙o)sign(vd))0\xi_o^Tc_o(\operatorname{sign}(\dot x_o)-\operatorname{sign}(v^d))\geq 0,则V˙0\dot V\leq 0。换成coξoT(x˙ox˙ovdvd)c_o\xi_o^T(\frac{\dot x_o}{\|\dot x_o\|}-\frac{v^d}{\|v^d\|})也一样,有

(x˙ovd)(x˙ox˙ovdvd)=(1x˙oTvdx˙ovd)(x˙o+vd)0(\dot x_o-v^d)(\frac{\dot x_o}{\|\dot x_o\|}-\frac{v^d}{\|v^d\|})=(1-\frac{\dot x_o^Tv^d}{\|\dot x_o\|\|v^d\|})(\|\dot x_o\|+\|v^d\|)\geq 0

由三角不等式,xTyxyx^Ty\leq \|x\|\|y\|,故上述不等式成立。

由不变性原理,不变集内部ξi=0\xi_i=0,即x˙i=vd\dot x_i=v^d。代入(12)得到Fi=fi+miv˙dF_i=f_i+m_i\dot v^d,再代入(13)得到fid=fif_i^d=f_i

下一步证明x˙o=vd\dot x_o=v^d,由fid=fif_i^d=f_i可得zid=ziz_i^d=z_i,因此z˙i=0\dot z_i=0。代入(16)得到x˙o=x˙i=vd\dot x_o=\dot x_i=v^d

没有摩擦的情况,可以令i=1nfid=mov˙dboξo\sum_{i=1}^nf_i^d=m_o\dot v^d-b_o\xi_o。剩下的就是load distribution问题了。


  1. H. Bai and J. T. Wen, “Cooperative load transport: A formation-control perspective,” IEEE Trans. Robot., vol. 26, no. 4, pp. 742–750, Aug. 2010. ↩︎