混合动力汽车动态规划(DP)算法油耗计算程序功能说明

张开发
2026/4/12 20:13:37 15 分钟阅读

分享文章

混合动力汽车动态规划(DP)算法油耗计算程序功能说明
混合动力汽车动态规划算法理论油耗计算与视频教学使用matlab编写快速计算程序整个工程结构模块化可以快速改为串联并联混联等。 控制量可以快速扩展为档位转矩转速等。 状态量一般为SOC目标函数可设置为油耗电耗以及换挡频次等加权。 程序清晰易调输出结果定量统计和图表详尽。 DP为混合动力汽车燃油经济性提供了一种极限油耗的方法利用DP能够得到特定构型在特定工况条件下的极限油耗为基于规则的控制策略制定和不同规则的制定提供了理论参考和对比指标。 可提供技术指导支持。 DP动态规划初始化文件利用结构体定义各个部件参数例如发动机发电机电机变速箱工况减速器电池等部件。 能够方便的修改不同部件参数进行定制开发。 DP动态规划结果后处理程序绘制多个控制量状态量等分析图。 另外还绘制发动机工作点发动机工作时间MAP等。 不同工作模式的电机工作点。 出图丰富可直接用于论文出版。 录制串联动态规划算法理论讲解与代码分析教学视频方便快速学习与程序理解。 可提供串联并联包括P2和P4混联等构型动态规划程序。一、程序整体概述本程序基于MATLAB开发聚焦混合动力汽车HEVEVT电子无级变速构型的理论油耗计算采用动态规划DP算法实现全局能量优化分配。程序工程结构模块化程度高支持快速适配串联、并联、混联等多种动力构型核心通过对发动机、电机、发电机、电池等关键部件的协同控制在满足车辆行驶工况需求的前提下求解最低油耗运行策略。混合动力汽车动态规划算法理论油耗计算与视频教学使用matlab编写快速计算程序整个工程结构模块化可以快速改为串联并联混联等。 控制量可以快速扩展为档位转矩转速等。 状态量一般为SOC目标函数可设置为油耗电耗以及换挡频次等加权。 程序清晰易调输出结果定量统计和图表详尽。 DP为混合动力汽车燃油经济性提供了一种极限油耗的方法利用DP能够得到特定构型在特定工况条件下的极限油耗为基于规则的控制策略制定和不同规则的制定提供了理论参考和对比指标。 可提供技术指导支持。 DP动态规划初始化文件利用结构体定义各个部件参数例如发动机发电机电机变速箱工况减速器电池等部件。 能够方便的修改不同部件参数进行定制开发。 DP动态规划结果后处理程序绘制多个控制量状态量等分析图。 另外还绘制发动机工作点发动机工作时间MAP等。 不同工作模式的电机工作点。 出图丰富可直接用于论文出版。 录制串联动态规划算法理论讲解与代码分析教学视频方便快速学习与程序理解。 可提供串联并联包括P2和P4混联等构型动态规划程序。程序共包含138个代码文件按功能可划分为初始化模块、动力系统模型模块、动态规划核心模块、后处理分析模块及辅助工具模块整体遵循“参数初始化→动态规划寻优→结果分析输出”的运行逻辑适用于混合动力汽车动力系统设计验证、控制策略优化及油耗性能评估场景。二、核心文件与模块功能详解一初始化模块参数配置与工况预处理1. 核心文件DPParaInit.m作为程序入口负责加载工况数据、初始化全局参数并计算传动系需求是后续所有计算的基础。数据加载加载工况文件cycYMXEVT.mat包含车速、加速度、档位等工况数据、发动机MAP数据engineDATA420_real.mat、电机参数文件motorMG1.mat/motorMG2.mat参数初始化定义7大类全局参数变量均声明为global供其他文件调用具体如下表参数类别关键参数及取值功能说明车辆参数质量49000kg、风阻系数0.56、迎风面积10.27m²计算行驶阻力滚动阻力、空气阻力等发动机参数最高转速[800-1900]rpm、最高扭矩[1496-2104]Nm、燃油密度0.8333kg/L约束发动机运行边界计算燃油消耗变速箱参数4档变速比[9.28,4.46,2.08,1]、传动效率0.97实现动力传递与转速/扭矩换算电机/发电机参数电机最高转速2500rpm、最大扭矩2000Nm、再生制动功率限制150kW约束电机运行范围实现能量回收电池参数初始SOC0.7、容量50Ah、电压384V、内阻0.08Ω计算电池充放电电流与SOC变化工况参数车速cycv(m/s)、加速度cyca(m/s²)、档位cyc_gear提供车辆行驶需求输入动力学参数车轮半径0.546m、滚动阻力系数0.008计算车轮需求扭矩与转速关键计算调用VehicleModel.m计算车轮需求功率whPow、扭矩whTt、转速whRotaSpd并进一步换算为传动系需求扭矩DemTtShaft与转速DemSpdShaft为动力系统控制提供目标值。2. 依赖文件VehicleModel.m实现车辆纵向动力学计算是工况需求向部件需求转换的核心工具。阻力计算基于动力学方程分别计算滚动阻力Fr、坡度阻力Fi、空气阻力Fa、加速阻力Fj总阻力FtFrFiFaFj车轮需求计算根据总阻力与车轮参数计算车轮需求扭矩whTtFt×车轮半径、转速whRotaSpd车速/(车轮半径)×30/π、功率whPowwhTt×whRotaSpd/9549结果输出将车轮需求传递至DPParaInit.m用于后续传动系需求换算。二动力系统模型模块EVT构型能量流控制核心文件hevEVT.m定义EVT构型的动力分配逻辑与部件控制规则是动态规划算法的“模型核心”输入为当前状态SOC与控制量发动机扭矩/转速输出为下一时刻状态SOC、成本油耗与可行性判断I。工况分类处理根据当前车速与需求功率区分三类工况并执行不同控制逻辑| 工况类型 | 触发条件 | 控制逻辑 ||----------|----------|----------|| 驻车工况 | 车速0 | 发动机、电机、发电机均停止工作油耗0SOC不变 || 制动工况 | 车轮需求功率0且车速≥3km/h | 发动机停机电机切换为发电机回收能量SOC升高 || 驱动工况 | 车轮需求功率≥0 | 协同发动机、电机、发电机分配扭矩满足传动系需求 |部件约束判断发动机基于外特性曲线engPara.maxSpd/maxTrq判断当前扭矩/转速是否超出边界超出则标记为不可行ine1电机/发电机通过插值interp1获取当前转速下的最大扭矩Tmmax/Tgmax判断实际扭矩是否超出范围超出则标记为不可行inm1/ing1电池基于充放电电流Ib与SOC范围0.5-0.9判断电池是否过充/过放超出则标记为不可行inb1。状态更新基于电池充放电电流计算下一时刻SOC电池电流计算Ibemotor×(v-sqrt(v²-4×r×Pb))/(2×r)v为电池开路电压r为内阻Pb为电池功率SOC更新X{1}-Ib/(电池容量×3600)当前SOC负号表示放电时SOC降低。成本计算以发动机燃油消耗为优化目标C{1}mdotfuel燃油质量流量单位g/s基于发动机油耗MAPengPara.xi/yi/zi通过插值获取。三动态规划核心模块全局最优寻优核心文件dpm.m及系列衍生文件dpm_backward.m/dpm_forward.m等实现动态规划的反向寻优与正向仿真是“算法核心”支持三种边界处理方法none/Line/LevelSet默认采用Line方法提升计算效率。1. 关键概念定义状态量仅SOC电池荷电状态离散范围0.5-0.9默认离散为80个点控制量发动机扭矩0-2100Nm离散为50个点、发动机转速0-1900rpm离散为50个点成本函数累计油耗C{1}的积分目标为最小化总油耗边界条件初始SOC0.7最终SOC约束在0.7-0.71确保仿真前后电池能量平衡。2. 核心流程反向寻优dpm_backward.m从最终时刻prb.N倒推至初始时刻11. 网格生成对当前时刻的状态量SOC与控制量发动机扭矩/转速生成离散网格2. 模型调用调用hevEVT.m计算每个网格点的下一时刻状态SOC、成本油耗与可行性3. 最优成本计算对每个状态选择最小成本对应的控制量更新“成本-控制”映射表dyn.Jo/dyn.Uo4. 边界处理对超出部件约束的状态标记为不可行成本options.MyInf默认1000。正向仿真dpm_forward.m从初始时刻1顺推至最终时刻prb.N1. 初始状态设置初始SOC0.72. 控制量查询基于反向寻优生成的dyn.Uo查询当前状态对应的最优控制量发动机扭矩/转速3. 状态更新调用hevEVT.m计算下一时刻SOC4. 结果记录记录全程的SOC、油耗、部件运行参数发动机转速/扭矩、电机功率等。3. 辅助文件功能dpm_interpn.m实现多维度插值用于成本映射与边界判断dpmboundaryline_lower.m/upper.m处理Line边界方法优化寻优范围提升计算效率dpmmodelinv.m实现模型逆解用于边界线计算。四动态规划主程序模块参数配置与算法启动核心文件hev_main.m作为动态规划算法的“入口开关”负责配置DP参数、调用核心函数并输出初步结果。网格配置定义状态量与控制量的离散化参数grd.Nx/grd.Nu问题定义设置时间步长prb.Ts1s、总步数prb.N8809×1/prb.Ts1、扰动变量prb.W工况车速/加速度/档位选项配置调用dpm()生成默认选项设置不可行成本options.MyInf1000、边界方法options.BoundaryMethodLine算法调用[res, dyn] dpm(hev, par, grd, prb, options)启动反向寻优与正向仿真初步结果输出计算百公里油耗fuel100kmsum(res.C{1})/工况里程×100/燃油密度并保存仿真结果save。五后处理分析模块结果统计与可视化1. 核心文件PostProcessing.m对动态规划仿真结果进行多维度分析输出关键性能指标与可视化图表是结果解读的核心工具。油耗统计总燃油消耗量fuelTotalVolumetrapz(时间, 油耗率/3600)百公里油耗fuel100kmConsumfuelTotalVolume/工况里程×100发动机平均油耗率beAvgAbsolute总燃油质量/总有效功率。效率分析车辆系统效率vehEffCyc总驱动能量/总消耗能量传动系效率transEffCyc总驱动能量/发动机输出能量电池能量变化回收能量电机效率分别计算放电效率motorAvgDischrgEff、充电效率motorAvgChrgEff、再生制动效率motorAvgRGBEff。能量统计总驱动能量energyDriveReqtrapz(时间, 驱动功率×1000)/1000再生制动回收能量regEnergy发动机工作时间engONTime发动机扭矩0的时刻数与平均功率engAvgPow总有效功率/工作时间。可视化输出关键图表SOC变化曲线、发动机/电机工作点分布叠加外特性曲线、档位变化曲线、转速/扭矩时序曲线结果导出将统计指标与图表保存至Excel文件SimResults_*.xls便于后续分析。2. 辅助文件WorkPercentStat.m实现部件工作点分布统计量化部件运行状态占比发动机工作点统计将转速-扭矩平面划分为网格统计每个网格的工作时间占比与油耗占比生成3D柱状图负载率统计计算发动机负载率engLoad实际扭矩/最大扭矩×100%统计不同负载率-转速区间的工作时间占比结果输出生成工作点分布统计图hf1/hf2/hf3用于评估部件运行合理性如是否避开低效区。六发动机优化工具模块效率曲线计算与绘制1. EngMaxCharact.m发动机外特性曲线提取功能基于发动机MAP数据提取不同转速下的最大扭矩生成外特性曲线核心逻辑对转速数据按100rpm取整计算转速差值找到转速跳变点提取对应扭矩作为该转速下的最大扭矩输出外特性转速fcMaxSpd与扭矩fcMaxTrq用于hevEVT.m中的发动机边界判断。2. EngOptCur.m发动机最优油耗曲线计算功能在等功率条件下找到最小油耗对应的转速-扭矩组合生成最优运行曲线核心逻辑1. 生成等功率序列pow覆盖发动机功率范围2. 对每个功率生成转速序列计算对应扭矩trqXi功率×1000/(转速×π/30)3. 基于外特性曲线剔除超出边界的扭矩通过插值griddata获取各点油耗找到最小油耗点输出最优转速-扭矩-功率-油耗映射表finalMap为控制策略优化提供参考。3. EngEquFuelCurPlt.m发动机油耗曲线绘制功能生成发动机转速-扭矩-油耗三维MAP图直观展示发动机效率分布核心逻辑通过meshgrid生成转速-扭矩网格采用三次插值cubic填充油耗数据生成等高线图contour并叠加外特性曲线输出发动机油耗MAP图hf用于可视化发动机高效区范围。三、程序运行流程与注意事项一运行流程环境准备- 安装MATLAB推荐R2018b及以上版本- 确保工况文件cycYMXEVT.mat、发动机/电机参数文件engineDATA420_real.mat/motorMG1.mat等与代码文件在同一目录。参数初始化- 运行DPParaInit.m完成全局参数配置与工况预处理- 若出现高版本插值报错interp1函数删除代码中linear*与extrap参数如vinterp1(soc_list,Voc,inp.x{1})。动态规划计算- 运行hev_main.m启动反向寻优与正向仿真- 程序自动输出百公里油耗fuel100km并保存仿真结果res-时间.mat。结果分析- 运行PostProcessing.m输入仿真结果res与全局参数生成统计报告与可视化图表- 运行WorkPercentStat.m查看发动机/电机工作点分布评估部件运行效率。二注意事项参数一致性确保DPParaInit.m中的部件参数如发动机最大扭矩、电池容量与实际车型匹配否则会导致仿真结果偏差网格离散化状态量/控制量的离散点数需平衡精度与效率默认80/50点点数过多会导致计算时间大幅增加过少会降低优化精度边界条件调整若hev_main.m中出现“无可行解”报错QInf可适当放宽SOC边界如grd.XN{1}.lo0.6/hi0.8或扩大控制量范围数据路径所有依赖文件如cycYMXEVT.mat需与代码文件在同一目录或在代码中指定完整路径如load(F:\data\cycYMXEVT.mat)。四、程序核心价值与扩展方向一核心价值全局优化动态规划算法可实现全工况下的油耗全局最优避免局部最优解如传统规则控制的低效问题模块化设计构型变动仅需修改对应的模型文件如串联构型修改hevSeries.m无需改动DP核心逻辑适配性强结果全面不仅输出百公里油耗还提供部件效率、能量流分布、工作点占比等多维度指标支撑深度分析。二扩展方向构型扩展基于现有框架新增串联hevSeries.m、并联hevParallel.m模型实现多构型对比工况扩展支持自定义工况如NEDC、WLTC只需替换cycYMXEVT.mat中的车速、加速度数据控制策略优化将EngOptCur.m生成的最优曲线融入规则控制实现“DP优化规则落地”的闭环硬件在环HIL集成将hevEVT.m封装为S-Function导入Simulink实现HIL测试验证算法实时性。

更多文章