1. AES系统核心架构解析
AES(自动紧急转向)系统是现代高级驾驶辅助系统(ADAS)中的重要安全模块,其核心任务是在碰撞风险出现时,通过主动转向控制实现避障。整套系统由三个关键层级构成:
感知决策层:毫米波雷达实时监测前方障碍物距离与相对速度,结合摄像头识别的车道线信息,通过安全距离模型计算碰撞风险。当TTC(Time To Collision)低于预设阈值时,触发紧急转向指令。
路径规划层:采用五次多项式算法生成平滑避障轨迹,确保路径曲率连续可导。相比三次多项式,五次多项式能更好地满足起点和终点的位置、速度、加速度约束,避免方向盘抖动。
控制执行层:基于模型预测控制(MPC)算法计算最优方向盘转角,通过EPS(电动助力转向)系统实现精准转向。MPC控制器通过滚动优化和反馈校正,有效克服了传统PID控制在高速下的"画龙"现象。
关键设计准则:系统响应延迟必须控制在100ms以内,横向加速度不超过0.3g以保证舒适性,转向过程不触发ESC(电子稳定控制)介入。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安全距离模型与触发逻辑
2.1 动态TTC阈值算法
安全距离计算是AES系统的决策核心。我们采用动态调整的TTC阈值算法:
matlab复制function safe_distance = calcSafeDist(ego_speed, obstacle_speed)
TTC_threshold = 2.5; % 基础碰撞时间阈值(s)
relative_speed = ego_speed - obstacle_speed;
safe_distance = max(ego_speed*TTC_threshold, 3) + 0.5*relative_speed^2/4;
end
算法包含两个关键项:
- 基础缓冲项:保证至少2.5秒的碰撞时间,最低保持3米距离(防止停车时误触发)
- 动态修正项:基于相对速度平方调整,分母4代表轮胎最大减速度(4m/s²)
2.2 多传感器融合策略
为提高可靠性,系统采用前向雷达+摄像头的数据融合:
- 雷达提供精确的距离(±0.1m)和速度(±0.1m/s)测量
- 摄像头识别车道线类型(实线/虚线)和障碍物类别(车辆/行人)
- 融合算法采用卡尔曼滤波,当传感器数据冲突时,优先相信雷达的距离测量
3. 五次多项式路径规划实现
3.1 轨迹生成数学模型
五次多项式表达为:
code复制s(t) = a₀ + a₁t + a₂t² + a₃t³ + a₄t⁴ + a₅t⁵
需满足边界条件:
- 起点:s(0)=s₀, s'(0)=v₀, s''(0)=a₀
- 终点:s(T)=s₁, s'(T)=v₁, s''(T)=a₁
通过矩阵运算求解系数:
cpp复制void QuinticPoly::calcCoeff(double start[3], double end[3], double T) {
a0 = start[0]; a1 = start[1]; a2 = start[2]/2.0;
Matrix3d A;
A << pow(T,3), pow(T,4), pow(T,5),
3*pow(T,2), 4*pow(T,3), 5*pow(T,4),
6*T, 12*pow(T,2), 20*pow(T,3);
Vector3d B(end[0]-a0-a1*T-a2*T*T,
end[1]-a1-2*a2*T,
end[2]-2*a2);
Vector3d x = A.colPivHouseholderQr().solve(B);
a3 = x(0); a4 = x(1); a5 = x(2);
}
3.2 工程实现注意事项
- 系数饱和限制:五次项系数|a₅|>0.8会导致方向盘抖动,需做限幅处理
- 时间参数选择:避障时长T通常取1.5-2.5秒,过短导致急转,过长可能错过避障时机
- 曲率连续性检查:需验证d²s/dt²的连续性,突变值超过0.1g时需重新规划
4. MPC控制器的设计与调参
4.1 代价函数设计
MPC控制器的核心是以下代价函数:
python复制def mpc_cost(z, *args):
x, y, delta = z[:N], z[N:2*N], z[2*N:3*N]
cost = 0
for t in range(N):
cost += 10*(x[t] - ref_x[t])**2 # 路径跟踪
cost += 10*(y[t] - ref_y[t])**2
cost += 5*delta[t]**2 # 转向幅度限制
if t>0:
cost += 80*(delta[t]-delta[t-1])**2 # 转向平顺性
return cost
权重系数选择经验:
- 路径跟踪权重(10):保证避障轨迹精度
- 转向幅度权重(5):防止过度转向导致失稳
- 转向变化率权重(80):抑制方向盘抖动
4.2 实时优化技巧
- 热启动:使用上一周期解作为本次优化的初始值,减少迭代次数
- 滚动时域:预测时域N=10,控制时域M=5,采样时间dt=0.1s
- 约束处理:方向盘转角限制±500度,转角速率限制±200度/s
5. CarSim/Simulink联合仿真要点
5.1 接口配置关键参数
| 参数项 | CarSim设置 | Simulink对应接口 |
|---|---|---|
| 转向指令 | Steer_ang | From_CS_Steer |
| 车速反馈 | Vx | To_CS_Vel |
| 轮胎模型 | MF-Tyre 6.1 | Vehicle Dynamics |
5.2 路面适应改进方案
针对不同附着系数路面的转向控制修正:
matlab复制% 轮胎松弛长度动态调整
if mu < 0.3
relaxation_len = 0.5 + 1.2*(0.6 - mu); % 低附着力补偿
else
relaxation_len = 0.5; % 干燥路面默认值
end
调试发现的关键现象:
- 冰面(μ=0.1)不调整松弛长度会导致路径跟踪误差增大53%
- 修正后横向位置误差从0.8m降至0.5m(提升37%)
6. 实车测试验证数据
在80km/h紧急避障测试中,系统表现如下:
| 指标 | 测试结果 | 行业标准要求 |
|---|---|---|
| 响应延迟 | 85ms | <100ms |
| 横向加速度 | 0.28g | <0.3g |
| 避障成功率 | 98.7% | >95% |
| 方向盘抖动次数 | 0.2次/测试 | <1次 |
测试中遇到的典型问题及解决方案:
- 雷达误报:增加多帧确认逻辑,连续3帧检测到障碍才触发
- 转向不足:调整MPC代价函数中路径跟踪项的权重系数
- ESP干扰:与底盘控制器协调,AES激活时临时降低ESP介入灵敏度
7. 工程经验与避坑指南
-
HIL测试要点:
- 需模拟传感器通信延迟(典型值20-50ms)
- 注入故障案例:雷达丢帧、摄像头过曝、CAN通信错误
- 测试覆盖率要求:MCDC覆盖>90%,路径覆盖>85%
-
参数调试技巧:
- 先调安全距离模型,再调路径规划,最后优化控制器
- 干燥路面和湿滑路面参数需分开标定
- 使用DOE(实验设计)方法优化MPC权重系数
-
量产注意事项:
- EPS执行器需支持500deg/s的转向速率
- 系统激活时需通过仪表盘明确提示驾驶员
- 需记录触发时的环境数据(10秒前后)用于责任判定
这套AES系统经过200+次HIL测试和50+次实车验证,在80km/h下对0.5m高障碍物的避障成功率超过98%。最终效果那些优雅的控制曲线背后,是无数个调试夜晚的咖啡因和工程师们的执着追求。
