阿克曼底盘运动学模型
1.阿克曼结构
阿克曼转向结构底盘类似现实中真实的汽车底盘。底盘前两轮用于控制小车运动方向,后两轮用于控制其次速度。汽车在转弯时,后轮之间存在差速的问题。显然,转弯的时候内侧的轮胎要比外侧的轮胎转速慢。
传统汽车使用机械差速器完成差速,机械差速器的基本运动规律是:无论转弯或者直行,两侧驱动车轮的转速之和始等于差速器壳转速的2倍。例如差速器壳转速为V,则内侧后轮的转速为V-a,外侧后轮的转速为V+a。
最近几年电动汽车企业迅速崛起,在电动汽车中,由于使用两个电机直接驱动后轮,不需要机械差速,使得机械设计更加简单。这样在电控方面就更加复杂一点。
底盘的前两轮通过一个连杆连接,用于控制车轮运行的方向。通常采用舵机驱动前两轮来控制机器人的方向。
2.阿克曼结构运动学模型
阿克曼底盘的运动学模型如下图所示,它是一个全驱动模型,有三个输入(vL、vR、θv_L、v_R、\thetavL、vR、θ)和三个输出(X、Y、θX、Y、\thetaX、Y、θ)
- 车辆前后轴之间距离:lll
- 车辆后两轮之间距离:2d2d2d
- 车辆前两轮打角值:θ\thetaθ
- 车辆左侧后轮线速度:vLv_LvL
- 车辆右侧后轮线速度:vRv_RvR
- 车辆线速度、角速度:v、ωv、\omegav、ω
阿克曼结构的后两轮分析过程同两轮差分底盘:
ω=vR=vLR−d=vRR+dR=vR+vLvR−vLdω=vRR+d=vR−vL2dv=ωR=vR+vL2
\omega = \frac{v}{R}=\frac{v_L}{R-d}=\frac{v_R}{R+d}\\
R=\frac{v_R+v_L}{v_R-v_L}d\\
\omega=\frac{v_R}{R+d}=\frac{v_R-v_L}{2d}\\
v=\omega R=\frac{v_R+v_L}{2}
ω=Rv=R−dvL=R+dvRR=vR−vLvR+vLdω=R+dvR=2dvR−vLv=ωR=2vR+vL
阿克曼结构的前两轮由舵机驱动,对于舵机打角值有如下等式:
tanθ=lRR=vωθ=arctanlwv
\tan{\theta} = \frac{l}{R}\\
R=\frac{v}{\omega}\\
\theta=\arctan{l\frac{w}{v}}
tanθ=RlR=ωvθ=arctanlvw
由此得到阿克曼结构的运动学模型如下:
{w=vR−vL2dv=vR+vL2tanθ=lωv
\begin{cases}w=\frac{v_R-v_L}{2d}\\v=\frac{v_R+v_L}{2}\\\tan{\theta}=l\frac{\omega}{v}\end{cases}
⎩⎪⎨⎪⎧w=2dvR−vLv=2vR+vLtanθ=lvω
{vR=v+ωdvL=v−ωdθ=arctanlwv
\begin{cases}v_R=v+\omega d\\v_L=v-\omega d\\\theta=\arctan{l\frac{w}{v}}\end{cases}
⎩⎪⎨⎪⎧vR=v+ωdvL=v−ωdθ=arctanlvw
3.传统方法解析
在惯性坐标系XOY下,以变量下标fff表示frontfrontfront前,以下标rrr表示rearrearrear后:
- 车辆两轴轴心坐标:(Xf,Yf)、(Xr,Yr)(X_f, Y_f)、(X_r, Y_r)(Xf,Yf)、(Xr,Yr)
- 车辆两轴中心速度:vf、vrv_f、v_rvf、vr
- 车辆前后两轴轴距:lll
- 车辆姿态航向角:φ\varphiφ
- 车辆前轮偏向角:δf\delta_{f}δf
- 车辆前轴轴心:N
- 车辆后轴轴心:M
- 车辆后轮转弯半径:RRR
- 车辆瞬时转动中心:PPP
假设转向过程中车辆质心侧偏角保存不变,即车辆瞬时转向半径与道路曲率半径相同。
对车辆前后轴轴心处速度进行合成:
车辆后两轮分析
车辆后轮轴心处的速度为合成后沿平行于车辆速度方向分量:
vr=Xr˙cosφ+Yr˙sinφ
v_r=\dot{X_r}\cos{\varphi}+\dot{Y_r}\sin{\varphi}
vr=Xr˙cosφ+Yr˙sinφ
而其运动学约束为合成后沿垂直于于车辆速度方向分量:
Xr˙sinφ=Yr˙cosφ
\dot{X_r}\sin{\varphi}=\dot{Y_r}\cos{\varphi}
Xr˙sinφ=Yr˙cosφ
带入上式,可得:
{Xr˙=vrcosφYr˙=vrsinφ
\begin{cases}
\dot{X_r}=v_r\cos{\varphi}\\
\dot{Y_r}=v_r\sin{\varphi}
\end{cases}
{Xr˙=vrcosφYr˙=vrsinφ
车辆前两轮分析
车辆前两轮的运动学约束同样为合成后沿垂直于于车辆速度方向分量:
Xf˙sin(φ+δf)=Yr˙cos(φ+δf)
\dot{X_f}\sin{(\varphi+\delta_f)}=\dot{Y_r}\cos{(\varphi+\delta_f)}
Xf˙sin(φ+δf)=Yr˙cos(φ+δf)
根据前后轮几何关系,可以得到:
{Xf=Xr+lcosφYf=Yr+lsinφ
\begin{cases}
X_f=X_r+l\cos{\varphi}\\
Y_f=Y_r+l\sin{\varphi}
\end{cases}
{Xf=Xr+lcosφYf=Yr+lsinφ
对等式两边进行求导:
{Xf˙=Xr˙−lsinφ⋅ω=vrcosφ−lsinφ⋅ωYf˙=Yr˙+lcosφ⋅ω=vrsinφ+lcosφ⋅ω
\begin{cases}
\dot{X_f}=\dot{X_r}-l\sin{\varphi}\cdot\omega=v_r\cos{\varphi}-l\sin{\varphi}\cdot\omega\\
\dot{Y_f}=\dot{Y_r}+l\cos{\varphi}\cdot\omega=v_r\sin{\varphi}+l\cos{\varphi}\cdot\omega
\end{cases}
{Xf˙=Xr˙−lsinφ⋅ω=vrcosφ−lsinφ⋅ωYf˙=Yr˙+lcosφ⋅ω=vrsinφ+lcosφ⋅ω
将其带入运动学约束等式中展开并化简:
vrsinδf=lcosδf⋅ω
v_r\sin{\delta_f}=l\cos{\delta_f}\cdot\omega\\
vrsinδf=lcosδf⋅ω
从而得到车辆角速度:
ω=vrltanδf
\omega=\frac{v_r}{l}\tan{\delta_f}
ω=lvrtanδf
同时得到转弯半径和前轮偏向角:
{R=vrωδf=arctanlR
\begin{cases}
R=\frac{v_r}{\omega}\\
\delta_f=\arctan{\frac{l}{R}}
\end{cases}
{R=ωvrδf=arctanRl
整合分析
最终得到车辆运动学模型:
[Xr˙Yr˙φ˙]=[cosφsinφtanδfl]vr
\begin{bmatrix}\dot{X_r} \\ \dot{Y_r} \\\dot{\varphi}\end{bmatrix}=
\begin{bmatrix}\cos\varphi \\ \sin\varphi \\\frac{\tan{\delta_f}}{l}\end{bmatrix}v_r
⎣⎡Xr˙Yr˙φ˙⎦⎤=⎣⎡cosφsinφltanδf⎦⎤vr