四轮轮毂电机驱动汽车的DYC直接横摆力矩行驶稳定性控制,根据横摆角速度偏差和质心侧偏角偏差计算附加横摆转矩,才用基础的分层控制策略 另外添加了基于改进相平面分析的失稳定量判据方法 上层控制器DYC产生横摆力矩Mz,下层基于最优分配理论对附加横摆力矩进行四轮独立分配,控制效果良好,能实现车辆在高低附着系数路面下的稳定性,可应用在高速下高低附着系数路面下的附加横摆力矩轨横向稳定性控制 其中驾驶员模型直接使用Carsim自带的预瞄控制,simulink模型包含期望计算,pid 与lqr控制 与mpc控制等 下层转矩分配控制器可定制最优分配二次优化,平均分配,基于特殊目标函数优化等 软件通过carsim 和 simulink联合仿真形式,车辆仿真模型和驾驶员模型均基于carsim,控制系统为simulink建模 carsim版本为2019.1,兼容高版本,低版本可能需要手动配置一下 保证运行成功,横摆角速度结果跟随良好
(随手画个示意图,实际工程里这种架构图能救命——当你和甲方爸爸解释为什么凌晨三点还在调参时)
直接横摆力矩控制(DYC)这玩意儿在电动车圈子里算是老网红了。四轮轮毂电机驱动车有个天然优势:四个轮子的扭矩能像乐高积木一样拆开重组。今天咱们就扒一扒怎么用Simulink和Carsim搞联合仿真,让车子在冰面漂移和柏油路劈弯之间无缝切换。
上层控制器的灵魂三问
核心任务就是算出该往车上怼多大的横摆力矩Mz。这里有个骚操作:把横摆角速度偏差和质心侧偏角偏差打包成混合误差量。代码里常见这种加权混合:
% 混合误差计算 beta_weight = 0.6; // 老司机参数,路滑时调大 error = (1-beta_weight)*gamma_error + beta_weight*beta_error;PID、LQR、MPC三大门派在这里都能露脸。实测时发现个彩蛋:当车速超过120km/h,传统PID会开始鬼畜,这时候就得祭出MPC的滚动优化大法。不过别被理论吓到,Simulink里的MPC模块现在能自动生成代码,操作比煮泡面还简单。
下层分配的玄学现场
拿到Mz之后怎么分给四个轮子?最优分配听着高大上,本质就是个带约束的二次规划问题。看这段QP标准型转换:
// 二次规划问题构建 H = [1 0 -1 0; // 轮胎力耦合矩阵 0 1 0 -1; -1 0 1 0; 0 -1 0 1]; f = -current_torque'; // 当前力矩状态 Aeq = [1 1 1 1]; // 总力矩守恒 beq = Mz;不过遇到极端工况时,最优分配可能算出要给某个轮子反向充电这种骚操作。这时候就该切到平均分配模式保命——就像赛车游戏里的辅助驾驶开关。
相平面分析的柯南时刻
改进版的相平面分析法相当于给车子装了预判外挂。传统方法看β-β'关系就像看心电图,我们加了动态边界条件:
|β| + 0.5*|β_dot| > μ*g/(vx^2) // 失稳阈值判断在Simulink里用Stateflow实现这个判据,触发时控制权重自动增强30%。实测发现这玩意儿在雪地过弯时比ESP提前0.3秒介入,妥妥的秋名山神器。
联合仿真的坑王争霸
Carsim 2019.1和Simulink联调要注意三个暗礁:
- 采样周期必须严格对齐(建议都设0.001s)
- 轮胎模型选PAC2002别手贱改MF
- 记得勾选Export at simulation steps
实测数据很有意思:在对接路面(左轮μ=0.3,右轮μ=0.8)工况下,横摆角速度跟踪误差比传统ESC小了58%。不过别高兴太早——电机发热量会暴增,这时候就得在控制算法里加个温度观测器。
!仿真结果对比
(红线是目标值,蓝线实际值。别问为什么中间有毛刺,问就是路面接缝的锅)
最后奉劝各位:调参时务必锁死车门,否则路过的大佬随手改个权重系数,你的毕业设计可能就变成魂系游戏了。