拓冰建站拓冰建站
首页 / 资讯中心 / 正文

分布式驱动电动汽车动力系统优化控制:从建模到验证

1. 项目缘起为什么非要做分布式驱动分布式驱动电动汽车说白了就是把传统车那个庞大的中央电机、减速器、传动轴、差速器一整套“动力总成”拆掉改成四个轮子各装一台电机谁转谁不转、谁多出力谁少出力全部独立控制。这个构型在欧洲一些高端车型和特种车辆上已经量产国内这几年也有一大批样车和量产平台在跑。我第一次在试验场开四轮独立驱动的样车一脚电门下去四个轮子各干各的又默契配合的感觉跟开传统车完全是两个时代的东西。但真正上手做这个课题之后才发现分布式驱动的难点根本不在电机本身而在“控制”。四个轮子自由度翻倍意味着控制变量的数量翻倍也意味着你要同时应付“动力性”“经济性”“稳定性”三个目标而这三个目标经常是打架的。举个最简单的例子同样的加速踏板深度四个电机之间的转矩怎么分均分是最稳的但不是最省电的让效率高的电机多出力总能耗能降下来但车身力矩一旦偏了车辆就跑偏尤其在低附着路面上直接失控。这台“四电机怎么分配转矩”的优化问题就是整个分布式驱动动力系统优化控制的核心。这篇文章把我做这个项目过程中的完整思路、建模方法、控制方案、仿真验证和踩过的坑都写出来。适合正在做分布式驱动、轮毂电机、四轮独立驱动控制的工程师、研究生以及想从传统集中式驱动转向分布式架构的团队参考。我会尽量把“为什么这么做”讲透而不只是堆公式和模块图。2. 整体设计思路先理清“优化控制”到底在优化什么2.1 控制问题的本质拆解拿到“分布式驱动电动汽车动力系统优化控制”这个题目我第一件事不是画控制框图而是先问自己一个问题这个系统里到底哪些量是可调的哪些量是必须满足的约束哪些量是我们想优化的目标。可调量很明确四个电机的输出转矩有些方案还能调四轮独立制动转矩这意味着可调量更多。约束也很明确驾驶员踩加速踏板产生的总需求转矩必须满足电机峰值转矩、峰值功率、电池放电功率、轮胎附着极限这些物理边界不能突破。优化目标则分两个层面经济性层面是整车能耗最小化也就是同样跑一段路电池消耗最少稳定性层面是在极限工况下车辆的横摆角速度和质心侧偏角都保持在可控范围说白了就是车不能甩尾、不能推头、不能侧翻。传统集中式驱动驱动转矩从中央电机通过差速器机械地传给两侧车轮左右轮转矩天然相等系统只有一个转矩自由度。分布式驱动把这个唯一的自由度变成了四个多出来的三个自由度就是优化空间。这套逻辑放在现代控制理论里本质上就是一个“带约束的多目标优化问题”而控制算法的设计就是在每个采样周期里把这个优化问题解出来然后输出四个转矩指令。2.2 为什么集中式驱动解决不了这个问题很多人会问传统车有ESP、有TCS不也在做稳定性控制吗为什么非要分布式驱动区别在于执行器的响应速度和精度。传统ESP通过发动机降扭和单轮制动来纠正车辆姿态液压制动系统的建压时间通常在200到400毫秒发动机响应也要几百毫秒而且只能对单个车轮施加制动压力控制精度有限。分布式驱动的电机转矩响应时间在几毫秒到十几毫秒级别而且是双向精确可控的——既可以正向驱动也可以负向发电制动。我在实际仿真里做过对比同样一个低附着路面双移线工况集中式驱动配ESC车辆横摆角速度要经过大约0.3秒才开始明显收敛分布式驱动配合直接横摆力矩控制0.05秒内就能产生校正力矩车辆轨迹几乎贴着参考路径走。这个差距在冰雪路面上是“失控”和“可控”的本质区别。所以分布式驱动不是把传统控制策略搬过来而是整个控制架构都要重新设计把“毫秒级响应”这个优势真正用起来。2.3 从整车到控制器的分层解耦分布式驱动动力系统的控制链条很长从驾驶员踏板一直到四个轮子的转矩指令中间跨越了人、车、路三个层次如果用一个集中的大控制器一把抓调试复杂度会高到没法落地。我采用的分层架构是这样的驾驶员意图解析层读取加速踏板、制动踏板和挡位信号解析出驾驶员的纵向总需求转矩和转向意图。这一层的核心是踏板标定曲线——同一个踏板深度在不同车速下对应的需求转矩不一样不能做死一个线性映射。车辆运动控制层以整车为对象根据当前车速、横摆角速度和质心侧偏角算出整车需要额外附加的横摆力矩用来维持车辆按驾驶员意图稳定行驶。转矩分配层把总需求转矩和附加横摆力矩作为输入结合四个电机的效率MAP、轮胎当前的附着状态解一个优化问题输出四个电机的目标转矩。执行层电机控制器实时响应转矩指令同时做转速闭环和电流闭环并上报实际输出转矩。为什么一定要分层因为每一层的控制频率和模型复杂度是完全不同的。意图解析层和运动控制层跑在10到100赫兹就能满足要求转矩分配层要跑到200到500赫兹才能跟上车辆动态而电机执行层的电流环需要跑到千赫兹级别。分层之后每一层可以用不同的模型、不同的算法的控制器互相之间只需要通过标准接口传递控制变量工程上非常好调试和标定。我第一次把整个架构搭完跑通仿真的时候最大的感受就是分层不是偷懒而是让复杂问题在每个尺度上都有最优解。3. 建模这件事控制器的地基不牢后面全是白干3.1 车辆动力学模型怎么建才够用很多人一想到整车动力学建模就头疼觉得自由度越多越好。我的经验是分布式驱动的控制器设计模型精度要够用但不要盲目追求高保真。整车纵向、横向、横摆三个自由度的单轨模型是控制设计的标配也是我的起点。方程不复杂纵向、横向和横摆三个受力平衡方程把四个轮胎力投影到车体坐标系里再加上车辆的运动学关系。关键细节在于轮胎力的计算这里我直接采用了Dugoff轮胎模型然后根据工况动态调整轮胎的纵向和侧向刚度。相比魔术公式Dugoff模型参数少、计算量小适合做实时控制缺点是精度差一些尤其是大侧偏角工况下所以在做稳定性控制控制器设计时我给它加了侧偏角修正项。但仿真验证阶段我是用CarSim配合Simulink联合仿真的CarSim里用高保真的整车参数包括悬架运动学、轮胎非线性特性这样能检验控制器在真实条件下的表现。控制设计用一个模型验证用另一个更高精度的模型这是一个非常重要的方法论用简化的模型设计控制器保证实时性用精细的模型验证控制器保证有效性。对于分布式驱动控制来说整车模型里有一个容易被忽略但至关重要的参数——质心位置。电池包布局和四个电机的重量分布让整车质心和传统燃油车差别很大直接影响了横摆惯量进而影响横摆力矩控制的增益标定。我建议一开始就用实际样车的质心参数做设计不要拍脑袋填一个默认值。3.2 轮胎模型控制器的“阿喀琉斯之踵”轮胎模型是整个控制链路里非线性最强、不确定性最大的一环。我第一版的驱动防滑控制器在仿真里表现得很好但换了一套轮胎参数之后性能直接崩了问题就出在轮胎的纵向刚度标定上。Dugoff模型的表达式核心是力和滑移率之间的非线性关系在滑移率较小时近似线性超过一定门限后进入饱和区。这个门限和路面附着系数直接相关干燥沥青路面上最优滑移率在0.15到0.2附近冰雪路面上这个值可以低到0.05到0.08。控制算法必须感知路面附着条件的变化因此我加入了路面附着系数估计模块。实现方式是在线估计轮胎纵向刚度。每个控制周期根据实际测得的轮速和电机转矩计算出当前的实际滑移率和实际利用附着系数用递推最小二乘法拟合两者的比值斜率再根据斜率所处的区间反推当前路面状态。实测下来这个估计器在沥青路面和压实雪面上都能在0.2秒左右收敛到合理范围足以支撑后续的转矩分配和滑移率控制。如果你用的是魔术公式或者更精细的轮胎模型做控制设计建议至少在离线阶段做一次参数敏感性分析看看哪些参数对控制器性能影响最大再决定哪些参数需要在线估计哪些直接用出厂标定值就够了。不要一上来就追求全参数在线辨识那是个大坑。3.3 电机模型效率MAP图才是优化的“金矿”四个轮毂电机的效率特性是转矩分配优化算法的核心输入我花了很多时间在电机模型的建立上。第一步是拿到电机台架测试的MAP图横轴是电机转速纵轴是输出转矩等值线是电机效率典型的轮毂电机高效区在中等转速中等转矩区域低转矩时效率低高转速时效率也低。效率MAP图数据量很大直接在控制器里用查表加二维插值的方式占用内存大实时性也不好我改用解析式拟合的方式处理。具体做法是把效率MAP图拟合成转速和转矩的二元二次多项式实测下来拟合精度能控制在95%以上但计算量比二维插值小了一个数量级。这个拟合多项式直接给到后面的转矩分配优化问题做目标函数跑起来非常快。还注意到一个工程细节电机在某些转矩区间效率波动很小比如在额定转矩的30%到70%范围内效率差异经常不超过2%。这意味着转矩分配优化的可行域里可能存在多个近似最优解如果算法里不加以处理会出现转矩在相邻周期里来回跳变的抖动现象损伤齿轮和轮胎。解决方法是给转矩指令加上变化率限制同时在高效率解域内做邻域平滑。这一条经验是我被折磨了两个星期才悟出来的后面再详细讲。4. 分层控制架构从驾驶员意图到四轮转矩的实现路径4.1 驾驶员意图解析层把踏板变成转矩请求加速踏板的解析看似简单实际上是最影响驾驶质感的一环。我第一版直接用了线性映射加速踏板深度乘以最大驱动转矩得到需求转矩结果低速起步时车窜、高速巡航时踏板又太钝感觉完全不对。后来改成了基于踏板开度和车速的二维查表方式。低速时踏板灵敏度设置得低一些防止起步窜动高速时灵敏度适当提高保证再加速超车的动力响应。这个标定曲线的形状对驾驶感受影响极大建议没有整车标定经验的话直接从成熟车型的踏板特性曲线出发做缩放不要自己凭空设计。还有一个关键的工程细节是踏板信号处理。实车上的加速踏板是两路冗余信号常见故障模式是一路信号丢失或者两路信号偏差过大必须设置故障仲裁逻辑。同时踏板信号本身有噪声直接进控制器会带来转矩波动所以要加滤波和滞回逻辑。滞回逻辑很重要——不加滞回的话驾驶员微踩踏板时转矩请求会在零附近来回跳动车就会一耸一耸的。这些细节虽然不涉及任何高深的控制算法但正是决定车辆“开起来像不像量产车”的关键。4.2 运动控制层让车“听话”的核心算法对比运动控制层的任务是根据车辆当前的运动状态和驾驶员的转向意图计算出维持车辆稳定性所需的附加横摆力矩。我先后尝试了三种算法这里直接分享对比结果。首先试的是PID控制以参考横摆角速度和实际横摆角速度的偏差为误差输入输出附加横摆力矩。优点是结构简单、参数直观缺点是横摆角速度的参考值本身受路面附着条件的极端影响PID很难应付大非线性工况在低附着路面会出现严重的超调和振荡。第二种是线性二次型调节器LQR基于线性化车辆模型设计状态反馈控制器控制目标是让横摆角速度和质心侧偏角同时加权收敛到参考值。LQR在小侧偏角的线性域内性能出色而且权重矩阵可以直观地调节稳定性和响应速度的权衡。我在参数选择上做了几个版本最终是让质心侧偏角的权重系数比横摆角速度权重高出一个数量级因为质心侧偏角一旦过大车辆就进入不可控状态。第三种是滑模控制对参数摄动和外部扰动有很强的鲁棒性这在路面附着系数变化剧烈的工况下价值极大。代价是控制量容易产生高频抖振直接作用到电机上会表现为转矩波动损伤传动系统。我用边界层法和饱和函数代替符号函数来削弱抖振效果比较明显。线路对比的结果常规工况LQR就够用低附着极限工况滑模控制明显更稳。最终我在工程实现里选了滑模控制为主体参数确定之后再调LQR做对比两种方法差距最大的时候能达到0.02rad/s的横摆角速度方差。4.3 转矩分配层能效优化和稳定性怎么握手转矩分配层是整个优化控制的“主战场”也是四条电机转矩在这里要分出来的地方。标准的做法是把转矩分配描述成一个带约束的最优化问题目标函数是四个电机总能耗最小约束条件是四个电机的转矩之和等于上层传来的总需求转矩、四个电机的转矩差乘上半轮距等于附加横摆力矩另外还要满足电机峰值转矩限制、电池功率限制和轮胎附着极限限制。纯经济性目标的最优分配是让效率高的电机多出力效率低的电机少出力。但在稳定性的约束下左右轮转矩差必须满足附加横摆力矩的需求两者的冲突在于有时候让效率最优分配产生的实际横摆力矩和上层需求的方向相反这时候就必须牺牲一部分能耗来保稳定性。我的做法是引入一个动态权重系数用当前质心侧偏角和横摆角速度的偏差大小来在线调节能耗项和稳定性项在目标函数中的权重。车辆状态离参考值越远稳定性权重越高相应地经济性权重降低。求解方法我试过三种二次规划速度快但把目标函数强行二次化会损失精度遗传算法全局寻优能力最强但计算量太大在嵌入式平台跑不了实时序列二次规划速度和精度的平衡最好实测在工控机上单次求解时间在1到3毫秒左右能满足控制需求。我推荐如果你要在实车环境落地直接选用序列二次规划。离线优化、动态规划、粒子群这些算法适合做基准研究看看理论节能上限在哪里不适合跑实时。5. 试验验证从仿真到台架的实践过程5.1 仿真参数的设定与参考轨迹设计我在离线仿真里用了一个典型的小型纯电动SUV的参数整备质量1650公斤轴距2.7米轮距1.55米质心高度0.52米四个轮毂电机的峰值功率都是50千瓦峰值转矩450牛米电池总能量60千瓦时。仿真工况我主要用三组第一组是NEDC工况用来评估能耗优化的效果第二组是低附着路面的双移线工况用来验证稳定性控制的性能第三组是正弦扫频转向用来检验车辆频域响应特性和控制器的鲁棒性。驾驶员模型方面为了让不同控制策略在同等条件下可比我用了预瞄跟踪的驾驶员模型来保证按设定路线行驶同时加了一定的人为延迟来模拟真实驾驶员的反应时间避免控制器的性能被驾驶员模型的理想化程度掩盖。硬件方面我在一台工控机上运行控制器通过CAN卡和CarSim实时机通信严格模拟实车的传感器采样周期和控制指令下发周期。工控机选型的时候我专门选了和未来实车控制器算力接近的型号这样仿真结果对实车移植更有参考意义。5.2 关键结果分析能效和稳定性的“跷跷板”跑完NEDC工况后能耗对比的结果让我比较意外相比传统的均分策略效率最优分配策略在NEDC工况下综合节能大约6.8%。这个数字看起来不大但仔细分析能耗流会发现城市工况里电机频繁工作在低转矩区效率很低优化分配在这个区间能提升的空间本来就不大。如果换成高速工况电机长时间处在大转矩区间效率差异变小节能幅度通常还更低。同时观察到采用纯效率最优的目标函数在NEDC工况里出现了转矩分配剧烈跳变的问题。原因是多个分配组合的能耗差异几乎为零优化器在多个等价解之间来回跳。加上变化率限制和邻域平滑之后跳变基本消失但代价是能耗进一步减少了0.4个百分点左右——这个代价很小完全可以接受。低附着路面双移线工况下稳定性控制的效果非常明显。无附加横摆力矩控制时车辆在第二车道切换点就出现了严重的甩尾最大质心侧偏角逼近10度车辆状态已经发散。接入滑模控制和转矩分配模块后最大质心侧偏角被压制在2.8度以内横摆角速度跟踪误差的最大值也在可接受范围内车辆轨迹和参考路径基本一致。我特意做了一个激进实验把路面的附着系数在仿真运行到一半时突然从0.8降到0.2检验控制器的鲁棒性。有路面附着估计器的版本在0.2秒内完成了参数调整车辆没有出现明显失控去掉估计器、使用固定参数的版本车辆直接冲出了预设轨迹。这个实验告诉我们路面附着估计不是锦上添花是分布式驱动控制在极限工况下真正落地的前提。5.3 硬件在环测试仿真和现实的“第一次亲密接触”纯离线仿真跑得再漂亮也不能直接上车中间必须过硬件在环这一关。我把四个电机控制器实物接入了HIL测试系统车辆模型运行在实时仿真机里控制器实物通过CAN总线接收转矩指令并反馈实际电机的转速和电流。这样做的好处是能真实反映电机控制器的响应延迟、CAN通信延迟和电气噪声而不是在仿真里设一个理想的转矩响应。实测数据非常有价值从转矩指令下发到电机实际输出达到95%目标转矩这个延迟大概在8到12毫秒。这个延迟会直接影响整车稳定性控制的相位裕度尤其是在横摆力矩控制回路里延迟过大会造成控制器在极限工况下的发散倾向。我把这个延迟加入到了离线的控制模型里重新调整了滑模控制器的带宽参数整个系统的稳定性明显改善。所以HIL测试不是简单的验证环节它对控制参数的设计有真实的反馈作用。另外我还在HIL环境里做了故障注入测试包括单个电机失效、CAN报文丢帧、轮速传感器信号异常等。这些测试暴露了一个我在纯仿真里没发现的问题当单个电机突然失效时如果转矩分配层还把任务平均分给剩余的三个电机整车的偏航力矩会突然改变方向车会突然跑偏。后来我在分配层里加了故障降级逻辑一旦检测到某驱动单元失效会重新解算整车运动控制目标而不是简单地把故障电机转矩清零了事。这个逻辑的加入经历了大量测试验证难度远超普通正常工况的优化控制设计。6. 常见问题与排查技巧实录6.1 转矩指令高频抖动的根源与对策最典型的现象是仿真里转矩指令曲线在高频段出现类似“毛刺”的抖动。排查下来主要有三个原因。第一个原因是我提过的多目标函数存在多个近似最优解优化器在等价解之间来回跳变。对策是加转矩变化率限制但限制值不能设得太死太死会牺牲过多能耗优化空间。我最终选了每周期转矩最大变化率为额定转矩的5%实车验证时再根据驾驶质感细调。第二个原因是状态输入的噪声放大。横摆角速度信号来自IMU轮速信号来自轮速传感器这些信号都有噪声并且微分器会把噪声放大。高带宽的滑模控制器对这类高频噪声很敏感我的对策是设计了一个带宽匹配的巴特沃斯低通滤波器对横摆角速度、质心侧偏角和轮速信号分别做滤波同时保证滤波后的信号延迟不要影响到控制回路的相位裕度。这个平衡点需要反复调试没有捷径。第三个原因是执行器延迟造成的等效相位滞后。控制器输出变化太快执行器跟不上误差反而加大形成恶性循环。对策是给转矩指令做二阶参考模型滤波让指令的变化率匹配执行器的响应能力而不是让控制器和物理系统“硬碰硬”。6.2 能耗测试结果和理论预期差距大的原因经常有人问我为什么我仿真里算出来的节能效果和论文里报道的差那么多很大的原因是测试工况不同。节能潜力最大的是循环工况中电机长时间工作在低效区、四个电机载荷严重不均匀的场景城市工况低速阶段就是典型而高速巡航工况电机效率本来就接近峰值区间能优化的空间非常小。还有一个容易被忽视的因素是电池的放电阻抗。很多仿真模型把电池当成理想电压源实际上大功率放电时电池电压会跌落导致电机端电压不足输出能力下降。如果你的转矩分配算法在高压平台上寻优没有把电池功率限制纳入约束仿真结果就会过于乐观。我在模型里加了一个简单的电池Thevenin等效模型实测看到的差距和理论值明显缩小了。最后一点是回收工况。分布式驱动每个电机都可以独立回馈制动如何分配四个电机的再生制动力也会影响最终的回收能量。我第一版只优化了驱动工况后来把制动工况的再生制动分配也纳入了整个优化框架综合节能指标提升了接近1个百分点。做能耗优化一定要把驱动和制动工况放在一个完整闭环里考虑不能只盯驱动侧。6.3 排查问题的方法论从“现象”到“根因”的路径分享一个我自己常用的排查链路基本流程是“数据回放→仿真复现→变量隔离→根因定位”。第一步先把问题现象量化记录异常发生时所有总线信号的时间戳、控制输出和状态输入。第二步在离线仿真里尽可能复现同样的工况不能复现就至少复现同样的异常趋势。第三步做隔离实验把分层架构里的某一层替换成理想模型看问题是否消失用排除法锁定问题出现的层。第四步再深入分析那层里的具体算法逻辑定位到具体的参数或者逻辑分支。在整个排查过程中我发现最值得投资的不是更复杂的控制器而是更可靠的数据记录和分析工具。给整个控制系统加上统一时间戳的总线记录每个关键控制周期里都记录控制器的内部中间变量这样出了问题可以直接回放“案发现场”比凭空猜测高效太多。我建议从项目一开始就建立好这套观测体系不要等出问题再做。7. 扩展思考控制算法的边界和下一步方向项目做到后面我发现一个有趣的现象分布式驱动真正拉开差距的其实不在常规工况而在极限工况和故障工况下的表现。高速爆胎、单轮失效、低附着路面突变的冰雪路面这些都是传统车难以应对的场景但它恰恰能把分布式驱动的价值完全发挥出来。后续我打算做的是把模型预测控制引入转矩分配的实时求解。MPC能把未来一段时域内的约束和最优性考虑进去比如提前看到前面是低附着路面提前几秒开始调整转矩分配策略比纯反应式控制高出一个维度。代价是计算量增大和模型误差的鲁棒性问题目前还铺不开实时求解但算法层面已经在推进。另一个方向是整车热管理结合控制。轮毂电机长时间大转矩输出时电机温升和退磁问题不可忽视。如果把电机热模型纳入转矩分配优化里在高温工况下主动限制一部分输出能力、保护电机不被过温损坏同时优化分配策略让温度更均匀地分布这属于把控制从“性能最优”提升到“可靠性和性能综合最优”的思路。温度模型的在线精度是一个难点但方向是明确的。以上是我做这个项目的主要思路和实际经验。希望这些内容对正在做分布式驱动控制的同行有帮助。我个人在实际操作中的体会是分布式驱动的优化控制算法本身固然重要但建模精度、执行器延迟、信号质量这些看似“低级”的物理约束往往才是决定项目成败的关键。四个电机自由度高是优势但只有在你把每一个物理环节的特性摸透了、把每一个延迟和噪声都纳入实际考虑之后这份自由度才能发挥出真正的价值。先跑通一个简单但完整的闭环再慢慢加复杂度这是我在整个项目里最核心的工作方法。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门