3、车辆运动学与动力学模型:自行车模型、阿克曼转向模型、轮胎模型与纵向/横向动力学

各位同学,今天我们来啃一块硬骨头——车辆模型。说实话,搞自动驾驶控制,模型就是你的“眼睛”和“手感”。模型建得准,控制才能稳。我当年刚入行时,总觉得模型是理论派的东西,直到有一次实车测试,车子在弯道里直接“画龙”,我才意识到——模型不对,一切白费。

3.1 自行车模型:最简单的“降维打击”

为什么叫自行车模型?你想想看,一辆四轮车,在低速转弯时,左右轮的转角其实差别不大。我们干脆把左右轮合并成一个虚拟的“前轮”和“后轮”。说白了,就是把四轮车简化成一辆自行车。

这个模型的核心假设有两个:

  • 忽略侧偏角:轮胎完全沿着指向方向运动
  • 低速工况:离心力小,轮胎不产生侧向滑移

数学表达其实很简洁:

// 自行车模型运动学方程
x_dot = v * cos(θ)
y_dot = v * sin(θ)
θ_dot = (v / L) * tan(δ)

其中L是轴距,δ是前轮转角。嗯,这里要注意——这个模型只适用于速度低于5m/s的场景。我在项目中遇到过有人拿它做高速路径跟踪,结果车辆直接失控。记住,自行车模型是“低速神器”,高速下必须用动力学模型。

适用场景总结:
  • 泊车、园区低速自动驾驶
  • 路径规划中的运动学约束
  • 控制算法初期的快速验证

3.2 阿克曼转向模型:四轮转向的几何真相

阿克曼转向,说白了就是解决一个问题——四个轮子怎么转才能不“打架”?

你想想看,车辆转弯时,内侧轮和外侧轮走的圆弧半径不一样。如果左右轮转角一样,轮胎就会产生滑移,磨损加剧,操控性变差。阿克曼的解决方案是:让内侧轮转角比外侧轮大一点。

几何关系如下:

cot(δ_o) - cot(δ_i) = B / L

其中:
δ_o = 外侧轮转角
δ_i = 内侧轮转角
B = 轮距
L = 轴距

我曾经调试过一个线控转向系统,发现车辆在急转弯时总是有“推头”现象。查了半天,原来是阿克曼率没调对。理想阿克曼率是100%,但实际中为了兼顾高速稳定性,通常会降到60%-80%。

我的经验:阿克曼率不是越高越好。纯阿克曼转向在低速时很灵活,但高速时车辆会过于敏感。一般乘用车会设计成“不足转向”特性,也就是阿克曼率略低于100%。

3.3 轮胎模型:车辆与地面的“握手协议”

轮胎模型,是车辆动力学里最玄学的东西。为什么?因为轮胎和地面的接触,涉及橡胶、温度、路面材质、胎压……变量太多了。

最经典的当属Pacejka魔术公式。名字很炫酷,其实就是一个非线性函数:

F_y = D * sin(C * arctan(B * α - E * (B * α - arctan(B * α))))

其中:
F_y = 侧向力
α = 侧偏角
B, C, D, E = 拟合参数

这个公式能描述轮胎从线性区到饱和区的完整特性。我刚开始做控制时,总觉得用线性模型就够了,直到有一次在湿滑路面上测试,车辆突然侧滑——线性模型完全没预测到。从那以后,我再也不敢忽视轮胎的非线性特性。

避坑指南:我曾经在项目中直接用干路面参数做控制,结果下雨天车辆ESP频繁介入。记住,轮胎参数必须根据路面条件动态切换。至少准备三套参数:干路面、湿路面、冰雪路面。

3.4 纵向动力学:加速与制动的那点事

纵向动力学,说白了就是研究车怎么加速、怎么减速。核心方程其实就一个牛顿第二定律:

m * a = F_drive - F_brake - F_roll - F_aero - F_grade

其中:
F_drive = 驱动力
F_brake = 制动力
F_roll = 滚动阻力
F_aero = 空气阻力
F_grade = 坡度阻力

这里有个坑——很多人会忽略坡度阻力。我记得有一次在重庆测试,车辆在坡道上起步总是溜车,查了半天才发现是坡度估计不准。后来我们加了一个IMU传感器,实时计算坡度角,问题才解决。

纵向控制的关键在于:

  • 油门响应:从踩油门到产生驱动力,有100-200ms延迟
  • 制动特性:制动压力与减速度不是线性关系
  • 换挡冲击:自动变速箱换挡时会有动力中断

3.5 横向动力学:让车辆乖乖走线

横向动力学,研究的是车辆怎么转弯、怎么保持车道。核心模型是二自由度单轨模型

m * v * (β_dot + r) = F_yf + F_yr
I_z * r_dot = a * F_yf - b * F_yr

其中:
β = 质心侧偏角
r = 横摆角速度
F_yf, F_yr = 前后轮侧向力
a, b = 质心到前后轴距离

这个模型虽然简单,但能描述车辆80%的横向动态特性。我建议初学者先把这个模型吃透,再去碰更复杂的七自由度、十四自由度模型。

横向控制的核心指标:
指标 含义 典型值
横摆角速度增益 方向盘转角与横摆角速度的比值 0.2-0.4 rad/s per rad
侧偏角刚度 轮胎抵抗侧偏的能力 50000-80000 N/rad
不足转向梯度 车辆转向特性的量化指标 0.001-0.005 rad·s²/m

最后说一句,模型永远只是近似。我做了这么多年,最大的体会就是:模型要“够用就好”,别追求过度复杂。一个能跑起来的简单模型,比一个永远调不通的复杂模型有用得多。

我的建议:先从自行车模型+线性轮胎模型开始,跑通整个控制链路。等系统稳定了,再逐步加入非线性轮胎、侧倾动力学等细节。一步到位往往意味着一步都到不了位。