3. 车辆动力学模型(一):单轨模型
各位同学,今天我们正式进入车辆动力学的核心内容。说实话,单轨模型是我在工程实践中用得最多的模型——没有之一。无论是做ESP标定,还是搞LKA控制,第一件事就是把车简化成这个“自行车模型”。
3.1 单轨模型的基本假设
为什么叫“单轨”?说白了,就是把左右两个轮子合并成一个虚拟轮。你想想看,车辆在水平路面行驶时,左右轮的受力其实差不多,合并处理能大幅降低模型复杂度。
核心假设清单:
- 忽略悬架运动,车身视为刚体
- 忽略空气动力学影响
- 纵向速度恒定(或变化缓慢)
- 轮胎侧偏特性处于线性区
- 前轮转角为唯一控制输入
我在做ADAS功能开发时,遇到过一个问题:用单轨模型做MPC预测,结果实车测试时车辆在高速弯道里一直抖。后来排查发现,是轮胎侧偏刚度标定不准,超出了线性区。嗯,这里要提醒大家——单轨模型的前提是侧向加速度不超过0.4g,超过这个值,轮胎就开始进入非线性区了。
3.2 车辆侧向与横摆动力学方程推导
我们先建立坐标系。车辆质心为原点,x轴指向车头,y轴指向左侧,z轴向上。这个坐标系是固结在车身上的,所以叫“车身坐标系”。
车辆的运动状态用三个量描述:
- 侧向速度 vy:质心沿y轴的速度
- 横摆角速度 r:绕z轴的角速度
- 纵向速度 vx:沿x轴的速度(假设恒定)
根据牛顿第二定律和转动定律,我们可以写出:
侧向力平衡:m * (v̇_y + v_x * r) = F_yf + F_yr
横摆力矩平衡:I_z * ṙ = l_f * F_yf - l_r * F_yr
这里:
- m — 整车质量
- Iz — 绕z轴的转动惯量
- lf、lr — 质心到前、后轴的距离
- Fyf、Fyr — 前、后轮胎侧向力
注意第一个方程里的 vx * r 项,这是离心加速度的体现。我刚开始学的时候总想把它忽略掉,后来做了一次高速避障仿真,发现忽略这项后横摆响应完全不对——千万别省这个项。
3.3 轮胎侧偏刚度与线性化假设
轮胎侧向力怎么算?这就引出了侧偏角的概念。轮胎实际运动方向和轮胎指向之间的夹角,就是侧偏角 α。
前轮侧偏角:
α_f = δ - (v_y + l_f * r) / v_x
后轮侧偏角:
α_r = - (v_y - l_r * r) / v_x
其中 δ 是前轮转角。
在线性区,侧向力和侧偏角成正比:
F_yf = C_f * α_f
F_yr = C_r * α_r
Cf 和 Cr 就是前后轴的侧偏刚度,单位是 N/rad。这个值一般是负的,因为侧向力方向和侧偏角方向相反。但在工程计算中,我们通常取绝对值。
工程经验值:
乘用车单胎侧偏刚度大约在 50000~80000 N/rad 之间。但注意,这是轮胎在额定载荷下的值。实际使用中,载荷转移、胎压变化、路面附着系数都会影响它。我建议做仿真时至少准备三组参数:干沥青、湿沥青、冰雪路面。
3.4 状态空间方程
把上面的方程整理一下,得到标准的状态空间形式:
[v̇_y] = [ -(C_f+C_r)/(m*v_x) -(l_f*C_f - l_r*C_r)/(m*v_x) - v_x ] [v_y] + [ C_f/m ] [δ]
[ṙ ] [ -(l_f*C_f - l_r*C_r)/(I_z*v_x) -(l_f²*C_f + l_r²*C_r)/(I_z*v_x) ] [r ] [ l_f*C_f/I_z ]
这个形式在卡尔曼滤波里会反复用到。我建议你把它记下来,或者存成代码模板。我在做车辆状态估计时,每次都是从这个矩阵出发,然后根据传感器配置做调整。
避坑指南:
我曾经在实车测试时发现,用这个模型做状态估计,低速时(vx < 5 m/s)会出现数值不稳定。原因是分母上有 vx,车速趋近于零时矩阵元素会爆炸。解决办法是:低速时切换到运动学模型,或者给 vx 加一个很小的下限值。
3.5 单轨模型知识体系
下面这张图总结了单轨模型的核心逻辑,我建议你把它当作思维导图来用:
3.6 参数获取与标定
模型建好了,参数从哪来?我列个表:
| 参数 | 符号 | 获取方式 | 注意事项 |
|---|---|---|---|
| 整车质量 | m | 车辆手册/称重 | 注意载重变化,建议取半载值 |
| 转动惯量 | Iz | 三线摆实验/经验公式 | 误差允许±10%,对结果影响不大 |
| 轴距分配 | lf, lr | 车辆手册 | 质心位置会随载荷变化 |
| 侧偏刚度 | Cf, Cr | 轮胎测试/系统辨识 | 最关键的参数,建议做参数辨识 |
我的经验:
侧偏刚度最好通过实车试验来标定。方法很简单:让车做稳态圆周行驶,记录不同侧向加速度下的方向盘转角和横摆角速度,然后用最小二乘法反推。我做过一次对比,用厂家给的轮胎数据算出来的模型,和实车标定结果差了将近15%。