3、转向系统建模基础
转向系统建模,说白了就是给我们的HIL测试搭一个“数字双胞胎”。你想想看,没有模型,我们拿什么去跑仿真?拿什么去验证控制器?
我个人习惯把转向系统模型拆成三块来看:机械动力学模型、EPS助力特性模型,还有车辆动力学简化模型。这三块缺一不可,少了任何一个,你的测试结果都会“失真”。
3.1 转向系统动力学模型
这部分是基础中的基础。我刚开始做HIL测试那会儿,总觉得动力学模型越复杂越好,结果模型跑不动,实时性一塌糊涂。后来才明白,在HIL测试中,模型要“够用”而不是“够全”。
3.1.1 方向盘与转向管柱模型
方向盘和转向管柱,说白了就是一个扭转弹簧-阻尼系统。驾驶员打方向盘,克服的是管柱的扭转刚度和阻尼。
数学上可以简化为:
J_sw * θ̈_sw + B_sw * θ̇_sw + K_sw * (θ_sw - θ_col) = T_driver
其中:
J_sw:方向盘转动惯量B_sw:管柱阻尼系数K_sw:管柱扭转刚度θ_sw:方向盘转角θ_col:管柱输出端转角T_driver:驾驶员输入力矩
K_sw这个参数很关键。我曾经遇到过一个项目,模型跑出来的手感总是“发涩”,查了半天发现是管柱刚度参数设成了恒定值。实际上,不同车型、不同转向角度下,刚度是有变化的。建议你至少做一组刚度-转角的查表数据。
3.1.2 齿轮齿条模型
齿轮齿条负责把旋转运动变成直线运动。模型很简单,就是一个传动比关系:
x_rack = (θ_pinion / r_p) * (1 / G_ratio)
这里:
x_rack:齿条位移θ_pinion:小齿轮转角r_p:小齿轮半径G_ratio:传动比
3.1.3 轮胎模型
轮胎模型是转向系统建模的“灵魂”。没有轮胎,你根本不知道车轮在路面上是什么状态。
在HIL测试中,我们常用的是魔术公式(Magic Formula)的简化版:
F_y = D * sin(C * arctan(B * α - E * (B * α - arctan(B * α))))
参数含义:
| 参数 | 含义 | 典型值范围 |
|---|---|---|
| B | 刚度因子 | 0.1 - 0.3 |
| C | 形状因子 | 1.3 - 1.8 |
| D | 峰值因子 | 取决于路面附着 |
| E | 曲率因子 | -0.5 - 0.5 |
| α | 侧偏角 | 0 - 15° |
3.2 EPS助力特性模型
EPS(电动助力转向)模型,说白了就是“你打多少力,电机帮你出多少力”。但这个“帮忙”不是线性的,它有一套复杂的特性曲线。
EPS助力特性通常用助力曲线来描述:
T_motor = f(T_driver, v_vehicle, θ_sw)
其中:
T_motor:电机输出助力力矩T_driver:驾驶员输入力矩v_vehicle:车速θ_sw:方向盘转角
我见过很多新手直接把助力曲线做成一个简单的二维表(力矩-助力),结果低速时手感太轻,高速时手感太重。为什么?因为忽略了车速的影响。
正确的做法是做一个三维查表:
| 车速 (km/h) | 驾驶员力矩 (Nm) | 助力系数 |
|---|---|---|
| 0 | 1.0 | 3.5 |
| 30 | 1.0 | 2.8 |
| 60 | 1.0 | 2.0 |
| 100 | 1.0 | 1.2 |
3.3 车辆动力学简化模型
转向系统HIL测试不需要完整的车辆动力学模型,那太复杂了。我们只需要一个二自由度自行车模型就够了。
二自由度模型只考虑:
- 横摆运动(绕Z轴旋转)
- 侧向运动(沿Y轴平移)
数学方程:
m * (v̇_y + v_x * γ) = F_yf + F_yr
I_z * γ̇ = l_f * F_yf - l_r * F_yr
参数说明:
| 符号 | 含义 |
|---|---|
| m | 整车质量 |
| v_x | 纵向车速 |
| v_y | 侧向车速 |
| γ | 横摆角速度 |
| I_z | 横摆转动惯量 |
| l_f, l_r | 质心到前/后轴距离 |
| F_yf, F_yr | 前/后轮侧向力 |
3.4 知识体系总览
下面这张图是我自己整理的转向系统建模知识体系,你可以把它当作一个“地图”来用:
这张图把三大模块和它们之间的耦合关系都画出来了。你仔细看,方向盘转角和驾驶员力矩是贯穿整个模型的“血液”。
好了,这一章的内容就到这里。模型是HIL测试的“地基”,地基打不牢,后面跑再多的测试用例也是白搭。我个人建议你先把轮胎模型和EPS助力曲线吃透,这两个是转向系统建模的“硬骨头”。
公众号:蓝海资料掘金营,微信deep3321