在智能电动汽车的线控转向系统中,执行机构失效是一个致命的安全隐患。当传统转向系统失灵时,四轮轮毂电机驱动的独特优势就显现出来了——我们可以通过左右轮差速产生的力矩差来实现转向控制,这就是所谓的"差动转向"技术。
去年参与某车企的智能底盘开发项目时,我们就遇到过线控转向ECU突发故障的极端情况。当时测试车辆在80km/h时速下突然失去转向助力,正是依靠预先设计的差动转向容错模块,才避免了严重事故。这次经历让我深刻认识到,一套可靠的容错控制方案对智能电动汽车有多重要。
采用分层架构主要基于三个考量:
提示:在实车调试时,建议给上下层控制器设置不同的运行周期。上层MPC控制在50-100ms周期,下层转矩分配控制在10-20ms周期,这样既能保证控制精度,又不会给处理器带来过大负担。
建立准确的车辆模型是MPC控制的基础。我们采用经典的二自由度自行车模型,但增加了三个关键改进:
matlab复制% Pacejka魔术公式轮胎模型示例
Fy = D*sin(C*atan(B*slip_angle - E*(B*slip_angle - atan(B*slip_angle))));
其中D代表峰值侧向力,需要通过实车测试数据拟合获得。
matlab复制% 一阶惯性环节模拟电机响应
tau = 0.05; % 时间常数
G_motor = tf(1,[tau 1]);
code复制Fz_fl = (mg/2)*(1/2 - ay*h/(g*L)) - (ax*h)/(g*L)
MPC的核心是构建合理的代价函数。我们的代价函数包含四个关键项:
(y-y_ref)^2(gamma-gamma_ref)^2delta_u^2(Fy/Fz_max)^2在MATLAB中实现时,关键要注意:
matlab复制% MPC权重设置示例
Weights.OutputVariables = [10 5]; % 轨迹和横摆角速度权重
Weights.ManipulatedVariables = [0.1 0.1]; % 控制量权重
Weights.ManipulatedVariablesRate = [0.01 0.01]; % 控制变化率权重
传统SMC存在抖振问题,我们采用以下改进措施:
matlab复制phi = 0.1; % 边界层厚度
if abs(s) <= phi
controlInput = -k*s/phi;
else
controlInput = -k*sign(s);
end
matlab复制k = k0 + alpha*abs(s); % 根据滑模面距离动态调整增益
matlab复制u = -lambda*sqrt(|s|)*sign(s) + integral(-k*sign(s))
轮胎负荷率定义为:
code复制rho = sqrt((Fx/Fx_max)^2 + (Fy/Fy_max)^2)
优化目标是最小化四轮负荷率的平方和。
采用有效集法求解时,需要处理两类约束:
F_total = sum(Fxi)(Fx/Fx_max)^2 + (Fy/Fy_max)^2 <= 1我们对比了三种分配策略的优劣:
| 策略类型 | 计算复杂度 | 平顺性 | 极限工况表现 |
|---|---|---|---|
| 平均分配 | O(1) | 差 | 易失稳 |
| 按负荷分配 | O(n) | 一般 | 一般 |
| 优化分配 | O(n^3) | 优 | 优 |
实际工程中采用了一种混合策略:
联合仿真时需要注意三个关键点:
matlab复制% 设置仿真步长为5ms
set_param('model','FixedStep','0.005')
数据对齐:
使用Unit Delay模块处理Carsim和Simulink的时钟偏差
参数映射:
确保Carsim中的车辆参数与控制器参数一致,特别是:
我们设计了五种失效工况进行验证:
测试数据显示,在转向完全失效情况下,容错控制系统仍能保持:
遇到控制失效时,建议按以下顺序检查:
在量产ECU上实现时,我们采用了以下优化手段:
matlab复制% 使用预分解的KKT求解器
options = optimoptions('quadprog','Algorithm','interior-point-convex',...
'LinearSolver','sparse');
matlab复制% 启用SIMD指令集
cfg = coder.config('lib');
cfg.TargetLang = 'C++';
cfg.TargetLangStandard = 'C++11';
cfg.HardwareImplementation.ProdHWDeviceType = 'Intel->x86-64 (Linux 64)';
这套系统最终在英飞凌TC397平台上实现了20ms的控制周期,CPU负载控制在60%以下,满足了量产车规级要求。在实际道路测试中,成功处理了包括转向电机断电、CAN通信中断等多种故障工况,验证了方案的可靠性。