移动机器人——运动模型
一、简述一般来说移动机器人的运动模型可分为完整约束和非完整约束。
完整约束(Holonomic,控制数=自由度):可以用一个由位形变量x,y,θx,y, hetax,y,θ组成的方程来描述。包括全向轮模型。非完整约束(Non-holonomic,控制数B}相对于世界坐标系{O}{O}{O})为:θ˙=vR−vLWdot{ heta}=frac{v_R-v_L}{W}θ˙=WvR−vL小车的线速度为:v=vR+vL2v=frac{v_R+v_L}{2}v=2vR+vL小车的运动方程为:x˙=vcosθy˙=vsinθθ˙=vR−vLWdot{x}=vcos{ heta}\dot{y}=vsin{ heta}\dot{ heta}=frac{v_R-v_L}{W}x˙=vcosθy˙=vsinθθ˙=WvR−vL规范简化模型为:q˙=[θ˙x˙y˙]=[−rwrwr2cosθr2cosθr2sinθr2sinθ][uLuR]dot{q}=egin{bmatrix}dot{ heta}\dot{x}\dot{y}end{bmatrix}=egin{bmatrix}-frac{r}{w}&frac{r}{w}\frac{r}{2}cos heta&frac{r}{2}cos heta\frac{r}{2}sin heta&frac{r}{2}sin heta\end{bmatrix}egin{bmatrix}u_L\u_Rend{bmatrix}q˙=⎣⎡θ˙x˙y˙⎦⎤=⎣⎡−wr2rcosθ2rsinθwr2rcosθ2rsinθ⎦⎤[uLuR]差速模型可以原地旋转,但不代表其为完整约束,本质上小车只有X轴移动和旋转两个控制自由量。设w=θ˙,d=W2w=dot{ heta},d=frac{W}{2}w=θ˙,d=2W,小车的控制变换为:uL=v−wdr, uR=v+wdru_L=frac{v-wd}{r},u_R=frac{v+wd}{r}uL=rv−wd, uR=rv+wdwdwdwd为旋转时在离旋转中心ddd距离处产生的切向线速度,v−wdv-wdv−wd和v+wdv+wdv+wd为切向加上角速度产生的线速度的影响后的实际速度,其正负与固定在小车上的坐标系有关。
3.3旋转运动分析运动状态
当vl>vr∣∣vlv_r||v_lvr∣∣vlB}为小车的坐标系,其原点为小车的后轮中心,X轴为小车前进方向,Y轴垂直于两轮中心线,在该坐标系下的小车速度为:Vx˙=v,Vy˙=0^{V}dot{x}=v,^{V}dot{y}=0Vx˙=v,Vy˙=0虚线的交点为旋转瞬心(ICR),小车上的参考点({B}{B}{B}的原心)将绕该瞬心做圆弧运动,θ hetaθ为前进方向,其角速度为:θ˙=vRBdot{ heta}=frac{v}{R_B}θ˙=RBv转弯半径为:RB=LtanγR_B=frac{L}{ an{gamma}}RB=tanγLγgammaγ为前轮转向角度小车的完整运动方程为q˙=[θ˙x˙y˙γ˙]=[tanγL0cosθ0sinθ001][vw]dot{q}=egin{bmatrix}dot{ heta}\dot{x}\dot{y}\dot{gamma}end{bmatrix}=egin{bmatrix}frac{ angamma}{L}&0\cos heta&0\sin heta&0\0&1end{bmatrix}egin{bmatrix}v\w\end{bmatrix}q˙=⎣⎢⎢⎡θ˙x˙y˙γ˙⎦⎥⎥⎤=⎣⎢⎢⎡Ltanγcosθsinθ00001⎦⎥⎥⎤[vw]
若转向控制为转向角γgammaγ而不是其速率γ˙dot{gamma}γ˙,则可以简化运动方程,其规范简化模型为:
当转向速率γ˙dot{gamma}γ˙足够高,使得转向角几乎为瞬时改变,则该假设合理,在这种情况下,γ˙dot{gamma}γ˙作为状态变量被消除,小车位形为q=(θ,x,y)q=( heta,x,y)q=(θ,x,y)
q˙=[γ˙x˙y˙]=[01cosθ0 sinθ0][vw]dot{q}=egin{bmatrix}dot{gamma}\dot{x}\dot{y}end{bmatrix}=egin{bmatrix}0&1\cos heta&0\\sin heta&0end{bmatrix}egin{bmatrix}v\w\end{bmatrix}q˙=⎣⎡γ˙x˙y˙⎦⎤=⎣⎡0cosθ sinθ100⎦⎤[vw]
在当前条件下,当控制输入为(v,w)(v,w)(v,w)时,vvv为汽车前进速度,www为旋转速率,其控制变换为:v=vγ=tan−1(Lwv)v=v\gamma= an^{-1}(frac{Lw}{v})v=vγ=tan−1(vLw)
在世界坐标系{O}{O}{O}中,Y方向的速度约束为:y˙cosθ−x˙sinθ≡0dot{y}cos{ heta}-dot{x}sin{ heta}equiv0y˙cosθ−x˙sinθ≡0
≡equiv≡为恒等号,参变量恒为一个常数或恒定表达式时,总等于关系与变量无关。例如函数f(x)≡kf(x)equivkf(x)≡k表示该函数的值始终为k而与x的值无关。
根据不同情况,该模型存在不同的约束
simplecarmodel∣v∣⩽vmax,∣θ∣⩽θmax