2、运动学模型建立:自行车模型推导、前轮转角与转弯半径关系
好,咱们进入正题。
阿克曼底盘的运动学模型,说白了就是解决一个问题:我给了前轮一个角度,车到底会怎么转? 很多新手一上来就怼PID、搞控制,结果车跑起来像个醉汉。为什么?因为连最基本的运动学关系都没搞清楚。
我个人习惯,做任何底盘控制之前,先把自行车模型在白板上推一遍。这个模型虽然简单,但它是所有路径跟踪算法的基石。
2.1 为什么是自行车模型?
你想想看,四轮车有四个轮子,每个轮子的转向、速度都不一样,建模起来太复杂了。所以我们做简化——把四个轮子等效成两个轮子:前轮负责转向,后轮负责驱动。
这就是自行车模型的核心思想。它假设:
- 车辆在平面上运动(忽略垂向跳动)
- 左右轮转角一致(阿克曼几何保证)
- 后轮无侧偏(纯滚动)
我在项目中遇到过一个问题:用四轮模型做仿真,计算量太大,实时性根本跟不上。后来换成自行车模型,效果反而更好。嗯,这里要注意——模型不是越复杂越好,够用就行。
2.2 自行车模型的数学推导
我们来看图。这是典型的自行车模型示意图:
图中:
- L:轴距(前后轮中心距离)
- δ:前轮转角
- R:转弯半径(后轮到圆心O的距离)
- v:后轮速度(沿车身方向)
根据几何关系,我们可以得到核心公式:
tan(δ) = L / R
这个公式太重要了。我建议你把它贴在工位上。它告诉我们:给定轴距L和转弯半径R,就能算出需要的前轮转角δ。
核心公式:
δ = arctan(L / R)
R = L / tan(δ)
2.3 前轮转角与转弯半径的关系
咱们来深入聊聊这个关系。你想想看,如果前轮转角δ很小,比如只有5度,那么tan(δ)也很小,R就会很大——车几乎直行。反过来,如果δ很大,比如30度,R就很小——车会急转弯。
我整理了一个典型数据表,方便你查:
| 前轮转角 δ(度) | tan(δ) | 转弯半径 R(米) (轴距L=1.0m) |
转弯半径 R(米) (轴距L=1.5m) |
|---|---|---|---|
| 5 | 0.087 | 11.5 | 17.2 |
| 10 | 0.176 | 5.7 | 8.5 |
| 15 | 0.268 | 3.7 | 5.6 |
| 20 | 0.364 | 2.7 | 4.1 |
| 25 | 0.466 | 2.1 | 3.2 |
| 30 | 0.577 | 1.7 | 2.6 |
从表中能看出两个规律:
- 转角越大,转弯半径越小——但注意,不是线性关系。δ从5度到10度,R从11.5降到5.7,降了一半多。
- 轴距越长,转弯半径越大——这就是为什么大卡车转弯半径比小轿车大得多。
实战技巧:
我曾经在调试一台1.2米轴距的底盘时,发现最大转角只能到28度(机械限位)。算下来最小转弯半径是1.2/tan(28°) ≈ 2.26米。这意味着什么?意味着如果路径规划要求转2米半径的弯,我的车根本做不到!
所以,一定要先算清楚最小转弯半径,再去做路径规划。否则就是纸上谈兵。
2.4 从自行车模型到阿克曼几何
你可能会问:自行车模型只有一个前轮,但实际车有两个前轮啊?
好问题。这就是阿克曼几何要解决的问题。简单说:内侧轮转角比外侧轮大,这样所有轮子才能绕同一个圆心转动。
阿克曼几何的公式:
cot(δ_outer) - cot(δ_inner) = W / L
其中W是轮距(左右轮间距),L是轴距。
不过在实际工程中,我很少直接算这个。大多数商用底盘(比如我常用的那款)已经内置了阿克曼机构。我们只需要给一个等效前轮转角δ,底盘会自动分配左右轮的角度。
⚠️ 避坑指南:
我曾经遇到过一台底盘,阿克曼机构设计有缺陷,导致左右轮转角不匹配。结果车在转弯时轮胎严重磨损,还发出刺耳的噪音。后来我加了一个转角补偿算法,才解决问题。
所以,如果你发现车转弯时轮胎尖叫,或者轨迹明显偏离预期——先检查阿克曼几何是否正常。
2.5 运动学模型的完整表达
有了自行车模型,我们就可以写出完整的运动学方程了。假设车辆状态为(x, y, θ),其中θ是航向角:
dx/dt = v * cos(θ)
dy/dt = v * sin(θ)
dθ/dt = v * tan(δ) / L
这三个方程,就是阿克曼底盘运动学模型的灵魂。它们描述了:
- 车的位置变化(dx/dt, dy/dt)由速度和航向角决定
- 车的航向角变化率(dθ/dt)由前轮转角和轴距决定
我个人习惯,在写路径跟踪算法(比如纯追踪、Stanley)之前,一定会先把这个模型在Simulink或Python里跑一遍。看看给定不同的δ和v,车的轨迹是什么样的。这能帮你建立直觉。
嗯,说到这里,我想强调一点:这个模型是理想化的。它假设轮胎不打滑、地面平坦、车速恒定。实际中,轮胎侧偏、地面摩擦、加速度都会影响真实轨迹。但作为起点,它已经足够好了。
本章核心要点:
- 自行车模型将四轮简化为两轮,是阿克曼底盘运动学的基础
- 核心公式:tan(δ) = L / R,δ = arctan(L / R)
- 前轮转角越大,转弯半径越小;轴距越长,转弯半径越大
- 阿克曼几何保证左右轮绕同一圆心转动
- 运动学方程:dx/dt, dy/dt, dθ/dt 三个微分方程
好了,这一章就到这里。记住,模型是工具,不是真理。多动手算一算,多在实际底盘上跑一跑,你才能真正理解这些公式背后的物理意义。
公众号:蓝海资料掘金营,微信deep3321