第三章 动力学基础:车辆纵向动力学模型,驱动力与阻力
各位工程师,咱们今天聊聊车辆纵向动力学。说白了,就是研究车怎么往前跑、怎么停下来。
我刚开始做纵向控制时,总觉得这东西太理论了。直到有一次,我负责的ACC项目在高速上出现了明显的跟车抖动——嗯,就是那种前车减速、我这边反应慢半拍的感觉。排查到最后,问题就出在动力学模型上——我把滚动阻力系数设成了一个固定值,没考虑路面变化。
所以,这一章咱们把基础打牢。
3.1 纵向动力学方程
车辆纵向运动,核心就一个方程:
m * a = F_drive - F_resistance
其中:
- m — 整车质量(kg)
- a — 纵向加速度(m/s²)
- F_drive — 驱动力(N)
- F_resistance — 总阻力(N)
你想想看,这个方程其实就一句话:车能跑多快,取决于发动机给了多少力,路上又消耗了多少力。
关键点:纵向控制的核心,就是精确计算这个“F_drive - F_resistance”的差值。差值大了,车就窜;差值小了,车就肉。
3.2 驱动力从哪来?
驱动力不是凭空产生的。它经过了一条完整的传递链:
- 发动机/电机输出扭矩 T_e(Nm)
- 经过变速箱,扭矩放大 i_g 倍
- 经过主减速器,再放大 i_0 倍
- 最终传到驱动轮上,产生驱动力
公式长这样:
F_drive = (T_e * i_g * i_0 * η_t) / r_w
参数说明:
| 符号 | 含义 | 典型值 |
|---|---|---|
| T_e | 发动机扭矩 | 100-400 Nm |
| i_g | 变速箱传动比 | 1挡≈4.0,5挡≈0.8 |
| i_0 | 主减速器传动比 | 3.0-5.0 |
| η_t | 传动效率 | 0.85-0.95 |
| r_w | 车轮滚动半径 | 0.3-0.4 m |
我的经验:实际项目中,传动效率 η_t 千万别取固定值。我见过有人一直用0.9,结果低温环境下实际效率掉到0.75,控制精度直接崩了。建议做个效率查表,至少区分冷车和热车状态。
3.3 阻力有哪些?
阻力是纵向控制的“敌人”。主要有四个:
3.3.1 滚动阻力 F_roll
轮胎和地面摩擦产生的阻力。公式很简单:
F_roll = f * m * g * cos(θ)
- f — 滚动阻力系数(0.01-0.03)
- θ — 道路坡度角
我曾经在一条新修的柏油路上标定参数,f取0.015,跑起来很准。结果换到粗糙的混凝土路面,同样的车,同样的速度,阻力大了将近20%。所以,路面类型对滚动阻力影响很大。
3.3.2 空气阻力 F_aero
速度越快,空气阻力越大。而且是平方关系:
F_aero = 0.5 * ρ * Cd * A * v²
- ρ — 空气密度(1.2 kg/m³)
- Cd — 风阻系数(0.25-0.40)
- A — 迎风面积(2.0-2.8 m²)
- v — 车速(m/s)
注意了,车速翻倍,空气阻力变成4倍。这就是为什么高速巡航时,能耗会急剧上升。
3.3.3 坡度阻力 F_grade
上坡时重力沿坡道的分力:
F_grade = m * g * sin(θ)
这个力在平路上是0,但在10%的坡道上,能占到总阻力的40%以上。我调试过一台重卡,满载40吨,在6%的坡道上,坡度阻力直接超过10000N——这时候发动机要是扭矩不够,车就真的爬不动了。
3.3.4 加速阻力 F_accel
这个不是真正的“阻力”,而是惯性力:
F_accel = δ * m * a
- δ — 旋转质量换算系数(1.05-1.40)
δ考虑了飞轮、传动轴、车轮等旋转部件的惯性。挡位越低,δ越大。1挡时δ可能到1.4,5挡时可能只有1.05。
避坑指南:我曾经在标定中忽略了δ的变化,直接用固定值1.1。结果在低挡位急加速时,模型预测的加速度比实际大了8%。后来查出来,就是旋转质量换算系数没处理好。记住:δ不是常数,它随挡位变化。
3.4 总阻力与平衡点
把四个阻力加起来:
F_resistance = F_roll + F_aero + F_grade + F_accel
当驱动力等于总阻力时,车辆匀速行驶。这个点叫平衡点。
我习惯用一张图来理解这个关系:
从图上能看出几个规律:
- 低速时,滚动阻力和坡度阻力占主导
- 高速时,空气阻力成为老大
- 驱动力曲线和总阻力曲线的交点,就是最高车速
3.5 实际项目中的应用
在纵向控制算法里,我们通常把动力学模型简化成两种形式:
| 模型类型 | 适用场景 | 精度 | 计算量 |
|---|---|---|---|
| 完整动力学模型 | 标定、仿真、高精度控制 | 高 | 大 |
| 简化逆模型 | 实时控制、嵌入式部署 | 中等 | 小 |
我个人习惯的做法是:标定时用完整模型,上线后用简化模型。简化模型通常只保留空气阻力和滚动阻力,坡度阻力通过IMU实时估计,加速阻力用加速度反馈补偿。
一个小技巧:如果你在做ACC或者AEB,建议在模型中显式加入坡度项。哪怕只是简单的查表,也能显著提升坡道上的控制表现。我见过太多项目,平路上跑得挺好,一上坡就露馅——就是因为没考虑坡度阻力。
好了,这一章的内容就到这。动力学模型是纵向控制的根基,你把它吃透了,后面的速度规划、PID调参、MPC设计,都会顺手很多。
可可精品资料库