阿克曼运动学模型 (Ackermann Steering Kinematics)#
坐标系约定 (采用 ROS 标准右手坐标系)#
- X 前, Y 左, Z 上
- 全局坐标系原点 = 车体初始位置 (0,0)
- v > 0: 前进 (+X 方向)
- ω > 0: 左转 (逆时针方向,绕 Z 轴正方向)
- θ: 航向角 (Yaw),与 X 轴正方向的夹角,逆时针为正
运动学公式#
1. 车体运动 to 前轮转向角 (逆向)#
已知车体线速度 v 和角速度 ω,求前轮转向角 δ:
\[\delta = \arctan\left(\frac{\omega \cdot L}{v}\right)\]
其中 L 为轴距(前轮到后轮的距离)。
2. 前轮转向角 to 车体角速度 (正向)#
已知前轮转向角 δ 和车速 v,求车体角速度 ω:
\[\omega = \frac{v \cdot \tan\delta}{L}\]
3. 状态转移方程 (离散时间)#
与单轨/差速模型形式相同:
\[\begin{bmatrix} x_{k+1} \\ y_{k+1} \\ \theta_{k+1} \end{bmatrix} = \begin{bmatrix} x_k \\ y_k \\ \theta_k \end{bmatrix} + \begin{bmatrix} \cos\theta_k & 0 \\ \sin\theta_k & 0 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} v_k \\ \omega_k \end{bmatrix} \Delta t\]
4. 阿克曼转向几何#
真实阿克曼转向需要内外轮转向角不同,以满足所有车轮绕同一瞬时旋转中心(ICR)纯滚动:
\[\cot\delta_{out} - \cot\delta_{in} = \frac{W}{L}\]
简化模型 (Bicycle Model):将左右前轮合并为一个等效前轮,左右后轮合并为一个等效后轮。上述公式 (1) 和 (2) 均基于该简化模型。
推导过程#
关键几何关系#
设车体瞬时旋转中心 (ICR) 位于后轴延长线上某点,距后轴中心的距离(转弯半径)为 R:
- 车速 v 与角速度 ω 的关系: \(\omega = \frac{v}{R} \implies R = \frac{v}{\omega}\)
- 前轮转向角 δ: \(\tan\delta = \frac{L}{R}\)
联立求解得:
\[\delta = \arctan\left(\frac{\omega L}{v}\right)\]
\[\omega = \frac{v \tan\delta}{L}\]
参数说明#
| 符号 | 含义 | 单位 |
|---|---|---|
| v | 车体线速度(后轴中心速度) | m/s |
| ω | 车体角速度 | rad/s |
| δ | 等效前轮转向角 | rad |
| θ | 车体航向角 | rad |
| L | 轴距(前轮轴到后轮轴距离) | m |
| W | 轮距(左右轮中心距) | m |
参考值#
典型乘用车参数: - 轴距 L = 2.5 ~ 3.0 m - 轮距 W = 1.5 ~ 1.8 m - 最大转向角 δ_max ≈ ±30° (≈ ±0.52 rad)
备注#
- 当 δ = 0 时,ω = 0,车体直线运动。
- 当 v = 0 时,由纯滚动约束 \(\omega = 0\),此时逆解公式出现 \(0/0\) 不定式。实际工程中,原地打方向盘(\(\delta \neq 0\))不会引发车体自转,需在控制算法中进行静止状态的特判。