1. 项目背景与核心需求
轨迹跟踪控制是智能驾驶领域的核心技术之一,传统方法往往将车辆简化为二自由度模型,忽略了实际行驶中侧倾运动和曲率变化对操控稳定性的影响。我在某新能源车企参与底盘电控开发时,曾遇到一个典型案例:某车型在山区多弯道路测试时,即使纵向速度保持恒定,车辆在连续S弯中的轨迹跟踪误差仍会逐渐累积,最终导致需要人工接管。
通过数据回放发现,这种现象与两个关键因素密切相关:一是车辆过弯时的侧倾角变化导致轮胎垂向载荷转移,进而影响侧偏刚度;二是道路曲率变化时,前轮转角与横摆力矩的耦合关系发生改变。这正是本项目要解决的核心问题——建立同时考虑侧倾动力学和曲率变化的轨迹跟踪控制架构。
2. 系统架构设计
2.1 联合仿真平台搭建
采用Simulink-CarSim联合仿真方案具有明显优势:
- CarSim提供高精度车辆动力学模型(包含17自由度),能准确模拟侧倾运动对轮胎力的影响
- Simulink便于实现控制算法快速迭代,支持MIL/SIL/HIL全流程验证
- 两者通过S-Function接口进行数据交互,采样周期设置为1ms以保证实时性
具体搭建步骤:
- 在CarSim中配置目标车型参数(整备质量1580kg,轴距2.8m,质心高度0.55m)
- 导出CarSim模型对应的Simulink接口模块
- 建立CAN通信协议映射表(关键信号包括:方向盘转角、轮速、横摆角速度等)
2.2 控制架构分层设计
整个系统采用经典的三层结构:
code复制上层:轨迹规划层(输入GPS路径点,输出参考轨迹)
中层:运动控制层(基于MPC计算期望横摆力矩)
下层:执行器分配层(协调EPS和ESC实现力矩分配)
特别在运动控制层引入侧倾-曲率耦合补偿器,其工作原理如图1所示。当检测到侧倾角>3°或曲率变化率>0.01m⁻²/s时,激活刚度修正算法。
3. 核心算法实现
3.1 变刚度轮胎模型构建
传统线性轮胎模型假设侧偏刚度Cα为常数,实际上它随垂向载荷Fz呈非线性变化:
code复制Cα = Cα0·(1 - k1·ΔFz + k2·ΔFz²)
其中ΔFz=(Fz-Fz0)/Fz0,我们通过台架试验测得某205/55R16轮胎的参数:
- Cα0=88000N/rad(标称工况)
- k1=0.35, k2=0.12(载荷敏感系数)
在Simulink中实现该模型时,需要注意:
- 使用2D Lookup Table存储试验数据
- 添加一阶滞后环节模拟胎体变形动态(时间常数取0.02s)
- 对侧向力输出做±10%的随机扰动模拟路面不平度
3.2 自适应MPC控制器设计
基础状态方程包含7个状态变量:
code复制x = [vx vy ω φ φ' e ψ]ᵀ
其中φ为侧倾角,e为轨迹跟踪误差。创新点在于将刚度修正项融入预测模型:
code复制A(1,2) = -(Cαf+Cαr)/(m·vx) + kφ·φ
B(2,1) = Cαf/(Iz) - kR·dR/ds
式中kφ=0.15N/(rad·kg·°),kR=2.3m⁻¹为经验系数。
参数整定建议:
- 预测时域Np=20步(对应2s)
- 控制时域Nc=5步
- 权重矩阵Q=diag([10,1,5,0.2,0.1,20,2])
4. 联合仿真关键配置
4.1 CarSim接口设置
在VehicleSim_UserMath中配置关键输出变量:
cpp复制// 输出侧倾相关参数
OUTPUT->Roll_ang = vs_get_data(0,vs_find_sig("ROLL"));
OUTPUT->dRoll_dt = vs_get_data(0,vs_find_sig("ROLLRATE"));
// 道路曲率获取
double curv = vs_get_data(0,vs_find_sig("PATH_CURVATURE"));
4.2 Simulink实时交互
建立双速率通信机制:
- 1ms周期:车辆状态反馈(通过UDP协议)
- 10ms周期:控制指令下发(CAN总线模拟)
特别要注意缓冲区设置:
matlab复制set_param('vs_com','TransportDelay','0.0005');
set_param('vs_com','SendBufferSize','2048');
5. 典型问题排查实录
5.1 侧倾振荡现象
现象:控制器在曲率突变时引发持续1-2Hz的侧倾振荡。
排查过程:
- 检查CarSim侧倾阻尼系数(原厂设置0.35偏小)
- 发现MPC权重矩阵中侧倾角加速度权重不足
- 确认执行器响应延迟达80ms
解决方案:
- 调整悬架阻尼参数至0.45
- 增加Q(4,4)权重至0.5
- 在EPS控制回路添加相位超前补偿
5.2 曲率估计滞后
现象:在复合弯道中实际曲率比估计值滞后0.3-0.5s。
优化方法:
- 采用三阶Savitzky-Golay滤波器平滑路径点
- 增加基于横摆角速度的预测补偿项:
matlab复制R_pred = R_meas + 0.12*ω*(vx/3.6); - 限制最大曲率变化率为0.15m⁻²/s
6. 实测效果对比
在CarSim中构建双移线工况测试(车速60km/h),关键指标提升明显:
| 指标 | 传统MPC | 本方案 | 提升幅度 |
|---|---|---|---|
| 最大横向误差(cm) | 38.7 | 22.1 | 42.9% |
| 侧倾角峰值(°) | 4.2 | 3.1 | 26.2% |
| 方向盘修正次数 | 7 | 3 | 57.1% |
特别在连续弯道场景下,侧偏刚度修正算法使轮胎力估计误差降低约35%,这是提升跟踪精度的关键。实际部署时还需注意:当检测到低附着路面(通过ESC信号判断)时,应适当降低刚度修正增益以防过度补偿。