前言

本文参考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ϕdwdtθ˙=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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐