机器人运动学(a simple car)
前言本文参考StevenM.LaValleSteven M.LaValleStevenM.LaValle的《Planning Algorithms》,针对后驱的simple car来进行分型robot运动学。模型简介模型如下,车的坐标系原点在后轮中心位置,此模型为两轮驱动,后两个为驱动轮,前两个为从动轮,前两个掌握方向,后两个输出速度。L为前后轮的距离,如果 ϕ\phiϕ定了,那么车将进行圆周运动
前言
本文参考StevenM.LaValleSteven M.LaValleStevenM.LaValle的《Planning Algorithms》,针对后驱的simple car来进行分析robot运动学。
模型简介
模型如下,车的坐标系原点在后轮中心位置,此模型为两轮驱动,后两个为驱动轮,前两个为从动轮,前两个掌握方向,后两个输出速度。L为前后轮的距离,如果 ϕ\phiϕ定了,那么车将进行圆周运动,运动半径就是ρ\rhoρ。

运动学方程表述如下:s是车辆的速度(具有符号),就是沿着车的坐标系x轴的速度;ϕ\phiϕ是车轮转向角steering angle,图中的车轮转向是正值。x,y,θ\thetaθ,显而易见。
运动学方程推导
当在一个非常小的时间间隔Δt\Delta tΔt内,汽车的方向大概就可以认为是后轮的朝向。当Δt\Delta tΔt趋近于0,则dy/dx=y˙/x˙dy/dx = {\dot y}/{\dot x}dy/dx=y˙/x˙,而且在世界坐标系中 dy/dx=tanθdy/dx = \tan \thetady/dx=tanθ ,结合 tanθ=sinθ/cosθ\tan \theta = \sin\theta/\cos\thetatanθ=sinθ/cosθ可以得到Pfaffian constraint:
−x˙sinθ+y˙cosθ=0 \displaystyle -{\dot x}\sin \theta + {\dot y}\cos \theta = 0 −x˙sinθ+y˙cosθ=0
由这个式子可以知道, x˙=cosθ{\dot x}= \cos \thetax˙=cosθ 和y˙=sinθ{\dot y}= \sin\thetay˙=sinθ满足上面的约束或者说是上面方程的解,而且这个解的倍数也是这个方程的解。在这个模型中这个倍数就是s(车的后轮速度),所以运动学的前两项就求出来了
x˙=scosθy˙=ssinθ {\dot x}= s\cos \theta \\ {\dot y}= s\sin\theta x˙=scosθy˙=ssinθ
最后推导θ˙\dot\thetaθ˙的表达式,由这个模型知道,当ϕ\phiϕ固定了,车辆行驶的弧长就是www,那么有
dw=ρdθdw = \rho d\thetadw=ρdθ,再由ρ=L/tanϕ\rho = L/\tan \phiρ=L/tanϕ,我们能得到:
dθ=tanϕLdw两边分别除以dt得θ˙=sLtanϕ \displaystyle d\theta = {\tan \phi \over L} dw 两边分别除以dt得\displaystyle {\dot \theta}= {s \over L} \tan \phi dθ=Ltanϕdw两边分别除以dt得θ˙=Lstanϕ
运动学方程为:
x˙=scosθy˙=ssinθθ˙=sLtanϕ {\dot x}= s\cos \theta \\ {\dot y}= s\sin\theta \\ \displaystyle {\dot \theta}= {s \over L} \tan \phi x˙=scosθy˙=ssinθθ˙=Lstanϕ
在上面这个模型中,我们能控制的变量是速度s和车转向ϕ\phiϕ,其中s根据实际车来定,这个牵扯到动力学,而ϕ\phiϕ值在(−ϕmax,ϕmax)(-\phi_{max},\phi_{max})(−ϕmax,ϕmax)之间,且ϕmax<π/2\phi_{max}< \pi/2ϕmax<π/2,最小转弯半径为ρmin=L/tanϕmax\rho_{min} =L/\tan\phi_{max}ρmin=L/tanϕmax。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)