2、车辆运动学模型:自行车模型、阿克曼转向几何、前轮转角与曲率的关系

各位同学,今天我们来聊聊车辆运动学模型。说实话,这是整个路径跟踪控制里最基础、也最容易被忽视的一环。我见过不少新手,一上来就调PID参数,结果车怎么都走不直——后来发现,连模型都没搞对。

车辆运动学模型,说白了就是描述车怎么动的数学关系。它不考虑力、质量、轮胎侧偏这些动力学因素,只关注几何约束下的运动。你想想看,低速行驶时(比如自动泊车、园区物流),轮胎基本不打滑,运动学模型就够用了。

2.1 自行车模型(Bicycle Model)

为什么叫自行车模型?因为真正的汽车有四个轮子,分析起来太复杂。我们把它简化成两个轮子——前轮和后轮各一个,就像自行车一样。

我个人习惯用这个模型做初步的路径规划验证。它抓住了车辆运动的核心:

  • 后轮:固定方向,只能沿着车身方向滚动
  • 前轮:可以左右转动,控制车辆转向
  • 车身:一个刚性杆连接前后轮

数学表达式是这样的:

状态量:[x, y, θ, δ, v]
其中:
  x, y  = 后轴中心坐标
  θ     = 航向角(车身朝向)
  δ     = 前轮转角
  v     = 后轴中心速度

运动学方程:
  x_dot = v * cos(θ)
  y_dot = v * sin(θ)
  θ_dot = (v / L) * tan(δ)
  δ_dot = ω_steer   (转向角速度)
  v_dot = a         (加速度)

这里L是轴距。嗯,要注意一点:θ_dot 的公式里有个 tan(δ),不是 δ 本身。我曾经在项目里直接用了小角度近似 tan(δ) ≈ δ,结果在转弯半径小的时候误差大到离谱——车直接冲出车道了。

核心要点:自行车模型假设前后轮都没有侧偏角。这意味着车辆在做纯滚动运动,没有侧滑。这个假设在低速(通常 < 5 m/s)时非常准确。

2.2 阿克曼转向几何(Ackermann Steering Geometry)

好,问题来了。自行车模型里前轮只有一个转角δ,但真实汽车有两个前轮。如果让两个前轮转同样的角度,转弯时内侧轮和外侧轮会打架——因为它们走过的圆弧半径不一样。

阿克曼转向几何就是解决这个问题的。它的核心思想:转弯时,所有车轮的轴线都交于同一点(瞬时转动中心)。

具体来说:

  • 内侧前轮转角 δ_i 比外侧前轮转角 δ_o 大
  • 两者满足关系:cot(δ_o) - cot(δ_i) = W / L
  • 其中 W 是轮距,L 是轴距

我建议你在做实际车辆控制时,一定要考虑阿克曼几何。否则,轮胎磨损是小问题,严重的会导致转向系统卡死。我记得有一次调试无人车,发现方向盘打到极限时车会抖动——查了半天,原来是阿克曼率没调对。

工程小技巧:大多数乘用车的阿克曼率在60%-80%之间,不是100%。100%阿克曼(纯几何转向)只在极低速下最优。高速时反而需要一点反阿克曼来补偿轮胎侧偏。

2.3 前轮转角与曲率的关系

这是今天最核心的内容。曲率 κ 描述了路径的弯曲程度,单位是 1/m。曲率越大,弯越急。

对于自行车模型,前轮转角 δ 和路径曲率 κ 的关系非常简单:

κ = tan(δ) / L

小角度近似时:
κ ≈ δ / L

为什么会这样?因为曲率 κ = 1/R,而转弯半径 R = L / tan(δ)。你想想看,轴距L固定,前轮转角越大,转弯半径越小,曲率自然就大了。

这个关系有多重要?我举几个例子:

  • 路径跟踪:控制器输出的是期望曲率,你要把它转成前轮转角才能发给执行器
  • 曲率约束:车辆有最大转角限制(比如 ±35°),对应最大曲率 κ_max = tan(35°)/L
  • 平滑性:曲率变化率(曲率导数)受限于转向角速度,这决定了路径不能有突变

注意:千万不要直接用 δ = κ * L 这个近似公式做大角度转向!当 δ = 30° 时,tan(30°) = 0.577,而 δ 的弧度值是 0.524,误差已经超过10%了。我见过有人因为这个误差,在停车场里把车开上了路沿。

2.4 知识体系总览

下面这张图把今天的内容串起来了。你可以看到,从自行车模型到阿克曼几何,再到曲率关系,是一条清晰的逻辑链。

车辆运动学模型知识体系 自行车模型 后轮固定方向 前轮控制转向 状态:[x, y, θ, δ, v] 阿克曼转向几何 内外轮转角不同 轴线交于同一点 cot(δₒ)-cot(δᵢ)=W/L 曲率关系 κ = tan(δ) / L κ ≈ δ / L (小角度近似) 工程应用 路径跟踪控制 曲率约束检查 转向执行器映射 (期望曲率→前轮转角) (最大曲率限制) (转角→方向盘角度)

2.5 实际项目中的避坑指南

最后,分享几个我踩过的坑:

  1. 模型选型要匹配场景:低速泊车用运动学模型就够了,但高速变道必须用动力学模型。我见过有人用运动学模型做80km/h的轨迹跟踪,结果车直接甩尾了。
  2. 阿克曼率不是越高越好:100%阿克曼只在静态转向时最优。动态转向时,轮胎有侧偏角,需要适当降低阿克曼率。具体数值要靠实车标定。
  3. 曲率约束要留余量:理论最大曲率是 tan(δ_max)/L,但实际控制时建议只用到80%。因为执行器有延迟,轮胎有变形,留点余量更安全。
  4. 注意符号约定:不同文献对转角正负的定义可能不同。我习惯左转为正,右转为负。团队协作时一定要统一约定,否则后果很严重。

一句话总结:自行车模型给了我们简洁的运动描述,阿克曼几何解决了真实转向的轮间协调,而曲率关系则是连接路径规划和底层控制的桥梁。这三者缺一不可。

好了,今天就到这里。记住,模型是控制的基础——模型错了,后面的一切都是空中楼阁。