基于MPC的混合动力汽车能量管理策略 整车构型为P2构型的混合动力汽车
踩下油门的瞬间,发动机和电机究竟该怎么配合?这问题就像让两个性格迥异的兄弟在高速上开同一辆车——既要省油又要动力猛,还得保证电池别掉链子。今天我们聊聊用模型预测控制(MPC)给P2混动车型做能量管理的野路子。
先看P2构型的硬件配置:发动机连着一根长轴,中间塞着个分离离合器,电机就挂在变速箱输入端。这结构最大的好处是能玩出八种工作模式切换,从纯电飙车到发动机直驱应有尽有。但模式切换时要是扭矩分配不当,驾驶员能直接给你表演"推背感突变"的物理教学。
搞MPC控制的核心是建模型。咱们先搭个简化版的整车动力学方程:
def torque_demand(v, a, grade): m = 1800 # 整车质量kg r = 0.32 # 轮胎半径m f = m*9.8*(0.015 + grade/100) # 滚动阻力+坡道阻力 T_req = (m*a + f)*r / (0.9*3.5) # 考虑传动效率与主减速比 return T_req这段代码其实暴露了混动控制的第一个难点:驾驶员意图解析。油门开度到扭矩需求的非线性映射,比女朋友的心思还难猜。所以在实际工程中,我们得用卡尔曼滤波对加速度信号做平滑处理。
接下来是重头戏的MPC优化问题。每5秒做一次滚动优化,预测时域内找最优解:
% MPC核心优化伪代码 for k = 1:N obj = obj + 0.5*engine_fuel(k) + 0.3*abs(SOC(k)-0.6)... + 0.2*motor_temp(k); constraints = [constraints, engine_speed < 4500]; if gear(k) == 3 # 特殊挡位约束 constraints = [constraints, motor_torque < 150]; end end这里藏着三个工程师的骚操作:1.把电池SOC偏差做成软约束,避免优化无解;2.给电机温度偷偷加了惩罚项,防止过热保护;3.不同挡位下动态调整扭矩限制。这些trick都是被实车测试教做人的经验结晶。
仿真结果跑出来后发现个反直觉的现象——有时候MPC会故意让发动机多烧点油。仔细看数据才发现,这是在给后续的大长坡道预存电量。就像老司机知道前方要爬坡,提前在平路上多踩两脚油门把电池喂饱。
最后说点实战经验:在P2构型上部署MPC,最坑的是分离离合器的结合速度。我们曾经在台架上测出过离合器接合时的扭矩冲击波峰,跟代码仿真的正弦曲线完全不是一回事。后来在成本函数里增加了离合器磨损因子,才算把平顺性救回来。
现在的量产车上,MPC能量管理已经开始替代传统的规则控制。但要说完全取代还为时尚早,毕竟遇上北京早高峰那种走走停停,再牛逼的算法也得向现实妥协——这时候还是得切回纯电模式保平安。