写在前面
原论文:Cooperative load transport: A formation-control perspective.
本文是Bai 2010的笔记,主要关注对可变形物体的建模和编队控制思路下的搬运。前两部分是原论文内容,后两部分是我自己的一些想法。
问题描述
假设物体一开始未变形,变形后有如下图近似关系。
定义变形量
zi=xi−ai(1)
变形产生的应力fi施加到物体上,驱动物体运动。
假设1:fi为一个关于zi强凸正定势函数P(zi)的梯度,即
fi=∇Pi(zi)(2)
这样定义的应力满足弹簧模型fi=kizi,也满足一些非线性模型,如fi=bi∣zi∣2zi,bi>0。
注意,强凸正定条件保证了:
- Pi(zi)=∇Pi(zi)=0当且仅当zi=0。
- 给定fid,可以唯一确定zid,使得fid=∇Pi(zid)和∇2Pi(zid)≥0。
系统模型
mix¨imox¨o=Fi−fi=i=1∑nfi(3)
假设2:物体不旋转,即机械臂末端能产生力矩抵消应力带来的旋转力矩。
控制器设计
给定期望速度vd,和期望应力fid,满足∑i=1nfid=0。
设计控制器
Fi=−Γi(x˙i−vd)+fid(4)
其中Γi正定。下面证明xi,xo→vd以及fi→fid。
定义李亚普诺夫函数
V=i=1∑n(Pi(zi)−Pi(zid)−(fid)T(zi−zid))+21i=1∑nξiTmiξi+21ξoTmoξo(5)
其中ξi:=x˙i−vd和ξo:=x˙o−vd。
由假设1,可知V正定。
对时间求导
V˙=i=1∑n(fi−fid)Tz˙i+i=1∑nξiTmix¨i+ξoTmox¨o(6)
由(1)和假设2,有
z˙i=x˙i−a˙i=x˙i−x˙o(7)
将(3)(4)(7)代入(6),得到
V˙=i=1∑n(fi−fid)T(x˙i−x˙o)+i=1∑nξiT(−Γiξi+fid−fi)+ξoTi=1∑nfi=−i=1∑nξiTΓiξi+ξoTi=1∑nfid=−i=1∑nξiTΓiξi≤0
由不变性原理,不变集内部ξi=0,即x˙i=vd。代入(3)得到Fi=fi,再代入(4)得到fid=fi。
下一步证明x˙o=vd,由fid=fi可得zid=zi,因此z˙i=0。代入(7)得到x˙o=x˙i=vd。
时变速度的情况
给定期望速度vd(时变),和期望应力fid(时变),满足∑i=1nfid=mov˙d。
设计控制器
Fi=miv˙d−Γi(x˙i−vd)+fid(8)
其中Γi正定。下面证明xi,xo→vd以及fi→fid。
定义李亚普诺夫函数
V=i=1∑n(Pi(zi)−Pi(zid)−(fid)T(zi−zid))+21i=1∑nξiTmiξi+21ξoTmoξo(9)
其中ξi:=x˙i−vd和ξo:=x˙o−vd。
由假设1,可知V正定。
对时间求导
V˙=i=1∑n(fi−fid)Tz˙i+i=1∑nξiTmi(x¨i−v˙d)+ξoTmo(x¨o−v˙d)(10)
由(1)和假设2,有
z˙i=x˙i−a˙i=x˙i−x˙o(11)
将(3)(8)(11)代入(10),得到
V˙=i=1∑n(fi−fid)T(x˙i−x˙o)+i=1∑nξiT(−Γiξi+fid−fi)+ξoT(i=1∑nfi−mov˙d)=−i=1∑nξiTΓiξi+ξoT(i=1∑nfid−mov˙d)=−i=1∑nξiTΓiξi≤0
由不变性原理,不变集内部ξi=0,即x˙i=vd。代入(3)得到Fi=fi+miv˙d,再代入(8)得到fid=fi。
下一步证明x˙o=vd,由fid=fi可得zid=zi,因此z˙i=0。代入(11)得到x˙o=x˙i=vd。
有摩擦力的情况
系统模型
mix¨imox¨o=Fi−fi=i=1∑nfi−box˙o−cosign(x˙o)(12)
其中box˙o是粘性摩擦(viscous friction),cosign(x˙o)是滑动摩擦(kinetic friction)。
(其实这里应该不是符号函数,而是∥x˙o∥x˙o。)
给定时变期望速度vd,和时变期望应力fid,满足∑i=1nfid=mov˙d+bovd+cosign(vd)。
设计控制器
Fi=miv˙d−Γi(x˙i−vd)+fid(13)
其中Γi正定。下面证明xi,xo→vd以及fi→fid。
定义李亚普诺夫函数
V=i=1∑n(Pi(zi)−Pi(zid)−(fid)T(zi−zid))+21i=1∑nξiTmiξi+21ξoTmoξo(14)
其中ξi:=x˙i−vd和ξo:=x˙o−vd。
由假设1,可知V正定。
对时间求导
V˙=i=1∑n(fi−fid)Tz˙i+i=1∑nξiTmi(x¨i−v˙d)+ξoTmo(x¨o−v˙d)(15)
由(1)和假设2,有
z˙i=x˙i−a˙i=x˙i−x˙o(16)
将(12)(13)(16)代入(15),得到
V˙=i=1∑n(fi−fid)T(x˙i−x˙o)+i=1∑nξiT(−Γiξi+fid−fi)+ξoT(i=1∑nfi−box˙o−cosign(x˙o)−mov˙d)=−i=1∑nξiTΓiξi+ξoT(i=1∑nfid−box˙o−cosign(x˙o)−mov˙d)=−i=1∑nξiTΓiξi−ξoTboξo−ξoTco(sign(x˙o)−sign(vd))+ξoT(i=1∑nfid−bovd−mov˙d−cosign(vd))
容易发现ξoTco(sign(x˙o)−sign(vd))≥0,则V˙≤0。换成coξoT(∥x˙o∥x˙o−∥vd∥vd)也一样,有
(x˙o−vd)(∥x˙o∥x˙o−∥vd∥vd)=(1−∥x˙o∥∥vd∥x˙oTvd)(∥x˙o∥+∥vd∥)≥0
由三角不等式,xTy≤∥x∥∥y∥,故上述不等式成立。
由不变性原理,不变集内部ξi=0,即x˙i=vd。代入(12)得到Fi=fi+miv˙d,再代入(13)得到fid=fi。
下一步证明x˙o=vd,由fid=fi可得zid=zi,因此z˙i=0。代入(16)得到x˙o=x˙i=vd。
没有摩擦的情况,可以令∑i=1nfid=mov˙d−boξo。剩下的就是load distribution问题了。