一、车辆动力学模型:从轮胎到整车控制

做自动驾驶控制,绕不开一个核心问题——车到底怎么动?

你想想看,我们给方向盘一个转角,车不会立刻转过去。轮胎会变形,车身会有侧滑,横摆运动会滞后。这些现象,就是车辆动力学要描述的东西。

我个人习惯把车辆动力学模型分成三层:轮胎模型 → 侧偏特性 → 整车横摆动力学。今天我们就一层层剥开来看。

1.1 轮胎模型:Pacejka 魔术公式

轮胎是车和地面唯一的接触点。所有控制力,最终都靠那四个巴掌大的胎面传递。

说到轮胎模型,业内最常用的就是 Pacejka 魔术公式。为什么叫「魔术」?因为它用一个简洁的公式,就能拟合出轮胎在各种工况下的力特性。

魔术公式核心形式:

Y(x) = D · sin(C · arctan(B · x - E · (B · x - arctan(B · x))))

其中:

  • Y:输出力(侧向力、纵向力或回正力矩)
  • x:输入变量(侧偏角 α 或滑移率 κ)
  • B:刚度因子
  • C:形状因子
  • D:峰值因子(决定曲线最大值)
  • E:曲率因子

我在项目中遇到过一个问题:用魔术公式做 MPC 预测时,公式里带了 arctan 和 sin,计算量太大。后来我改用查表 + 线性插值,实时性好了不少。嗯,这里要注意——魔术公式精度高,但实时控制中要权衡计算开销

我的经验:

实际工程中,魔术公式更多用于离线仿真和参数标定。在线控制时,我通常会在小侧偏角范围内用线性近似,只有在极限工况才启用完整公式。

1.2 侧偏刚度:轮胎的「软」与「硬」

轮胎不是刚性的。你给方向盘一个角度,轮胎侧壁会变形,产生一个侧偏角。这个变形和侧向力的关系,就是侧偏刚度

定义很简单:

F_y = -C_α · α

其中:

  • F_y:侧向力
  • C_α:侧偏刚度(正值)
  • α:侧偏角(小角度范围内)

为什么会是负号?因为侧偏角为正时,侧向力指向负方向——这是轮胎的物理特性。

侧偏刚度受哪些因素影响?

因素 影响趋势 说明
垂直载荷 载荷↑ → 刚度↑(非线性) 载荷过大时刚度反而下降
轮胎气压 气压↑ → 刚度↑ 但过高会降低抓地力
路面附着系数 μ↓ → 刚度↓ 冰雪路面刚度显著降低
车速 速度↑ → 刚度略有下降 高速时轮胎升温导致

避坑指南:

我曾经在标定侧偏刚度时,直接用厂家给的标称值。结果实车测试时,MPC 在湿滑路面上频繁震荡。后来才发现——侧偏刚度随路面附着系数变化很大,必须在线估计或查表补偿

1.3 横摆动力学:车是怎么转起来的?

有了轮胎力,接下来就是整车怎么动。横摆动力学描述的是车辆绕垂直轴的旋转运动。

核心方程就两个:

m · (v̇_x - v_y · r) = F_xf + F_xr   (纵向)
m · (v̇_y + v_x · r) = F_yf + F_yr   (侧向)
I_z · ṙ = a · F_yf - b · F_yr        (横摆)

其中:

  • m:整车质量
  • I_z:横摆转动惯量
  • r:横摆角速度
  • a, b:质心到前后轴的距离
  • F_yf, F_yr:前后轴侧向力

说白了,横摆运动就是前后轴侧向力产生的力矩差。前轮侧向力大,车就转向过度;后轮侧向力大,车就转向不足。

关键理解:

横摆角速度 r 是 MPC 中最重要的状态量之一。它直接决定了车辆的转弯半径和稳定性。我在做车道保持时,MPC 的代价函数里 r 的权重通常设得比横向偏差还高——因为 r 控制不好,车就会甩尾或推头

1.4 二自由度动力学模型:最常用的「简化版」

完整的车辆模型有十几个自由度,但 MPC 控制里用不了那么复杂。我们通常用二自由度自行车模型——只考虑侧向运动和横摆运动。

为什么叫「自行车模型」?因为把两个前轮、两个后轮分别合并成一个轮子,就像自行车一样。

二自由度模型的状态方程:

[v̇_y]   = [ -(C_f + C_r)/(m·v_x)    -(a·C_f - b·C_r)/(m·v_x) - v_x ] [v_y]   + [ C_f/m           ] [δ]
[ṙ]      [ -(a·C_f - b·C_r)/(I_z·v_x)  -(a²·C_f + b²·C_r)/(I_z·v_x) ] [r]      [ a·C_f/I_z       ]

看着有点复杂,但核心逻辑很简单:

  • 状态量:侧向速度 v_y 和横摆角速度 r
  • 控制量:前轮转角 δ
  • 参数:前后轮侧偏刚度 C_f、C_r,质量 m,转动惯量 I_z,轴距 a、b

我的建议:

刚开始做 MPC 时,先用二自由度模型。它足够描述 90% 的常规工况。等你的控制器在高速、低附路面出现问题时,再考虑加入纵向动力学或轮胎非线性。

另外,二自由度模型假设侧偏角很小(一般 < 5°)。如果你在做漂移控制或极限避障,这个模型就不够用了。

1.5 本章知识体系

下面这张图是我自己梳理的本章知识结构,方便你理解各概念之间的关系:

车辆动力学模型知识体系 车辆动力学模型 轮胎模型 侧偏刚度 横摆动力学 Pacejka 魔术公式 Y = D·sin(C·arctan(Bx - E(Bx - arctan(Bx)))) 参数:B(刚度) C(形状) D(峰值) E(曲率) 适用:离线仿真 & 极限工况 侧偏刚度 C_α F_y = -C_α · α(小角度线性) 影响因素:载荷、胎压、路面μ 注意:需在线估计或查表 横摆运动方程 I_z · ṙ = a·F_yf - b·F_yr 状态:横摆角速度 r 关键:前后轴力差决定转向特性 二自由度自行车模型 状态:[v_y, r]ᵀ 控制:δ 适用:常规工况 MPC

从图中你能看到,轮胎模型是底层基础,它决定了侧偏刚度的大小;侧偏刚度又直接影响了横摆动力学方程中的力项;而二自由度模型则是这三者的综合简化,用于 MPC 控制器的设计。

我个人习惯在做 MPC 时,先确保二自由度模型能准确描述车辆的横摆响应。如果模型预测的横摆角速度和实车偏差超过 10%,我就会回头检查侧偏刚度的标定值——很多时候问题就出在这里。

本章核心要点:

  • 魔术公式精度高但计算量大,实时控制需权衡
  • 侧偏刚度是连接轮胎和整车的关键参数,必须准确
  • 横摆动力学决定了车辆的转向响应特性
  • 二自由度模型是 MPC 控制中最实用的起点

好了,这一章的内容就到这里。下一章我们会深入 MPC 控制器的设计细节——如何把今天讲的动力学模型写成状态方程,并嵌入到优化问题中。


专注资料整理