基于动态规划的并联式混合动力汽车全局最优能量管理策略研究

目录

0 引言

1 并联式混合动力汽车系统构型

1.1动力系统构型

1.2车辆模型

2 基于动态规划的能量管理策略

2.1 能量管理最优问题提出

2.2 基于动态规划的能量管理策略求解

3 仿真实验及结果分析

4 结论


0 引言

       混合动力汽车由于兼具传统燃油汽车和纯电动汽车的优点,在纯电动汽车和燃料电池汽车技术尚未成熟及充电等基础设施未普及之前,成为了各国政府和汽车行业关注的重点。能量管理策略作为HEV的核心技术之一,是车辆具有良好性能的基础,其核心是解决发动机和电机在各种行驶工况下的功率分配问题。本项目以P2构型的并联式混合动力汽车为研究对象,选取代表驾驶环境的标准工况,以油耗最小为目标函数,同时考虑驾驶舒适性,利用DP算法求解标准工况下全局最优控制策略,并利用MATLAB/Simulink平台对控制策略进行了仿真验证。

1 并联式混合动力汽车系统构型

1.1动力系统构型

       本项目研究的混合动力电动汽车为一单轴并联式混合动力汽车,其动力系统结构如图1 所示。该并联式 HEV 的动力总成系统主要包括发动机、电机、离合器、传动系及电池。其中,电机直接与离合器的输出和传动系的输入相连。电机转子同时作为转矩耦合器直接使用。因此,省略了机械耦合器,这种车辆动力总成系统结构简单紧凑。这种结构中,电机有发动机启动器、回馈制动中的发电机以及发动机辅助三个功能。这种车辆模型可以在发动机单独驱动、电机单独驱动、混合驱动和回馈制动四种模型下自由切换工作。

图1 并联式混合动力汽车动力总成系统结构图

 

1.2车辆模型

       车辆动力系统建模是理解车辆运行规律的第一步。选择能代表车辆动力学和动力系统关键部件特征的参数,准确反映车辆运行规律;同时,减少不必要的参数使用量,提高模型的运算时间。准确的HEV动力学模型可以提高能量管理算法的精度。由于能量管理策略设计与车辆纵向速度正相关,而与车辆其他方向的速度无关,本项目忽略了车辆的横向动力学特性和驾驶稳定性,仅根据车辆纵向动力学来对车辆运动进行建模。在车辆纵向动力学模型中,给定车速\upsilon和坡度\alpha,驾驶员需求转矩为:

(1)

 其中,\rho为空气密度; m为整车总质量;f_{r}为滚动阻力系数;\upsilon为车速;C_{D}为空气阻力系数;A_{f}为迎风面积;\alpha为道路坡道角;\delta为旋转质量换算系数;R_{w}为车轮半径。

       由车辆的转矩耦合规律与变速传动特点可以得到变速箱输入口的需求转矩T_{in}为:

(2)

其中,T_{loss}为变速器档位减小引起的损耗,本文中假定为 0;T_{inertia}为加速主减速器的惯性转矩,本文中假定为 0;g为变速器内齿轮档数;R(g)为变速器速比;R(0)为主减速驱动轴主减速器速比。同时,

(3)

 其中,T_{eng}T_{mot}分别为发动机转矩和电机转矩。

       车轮角速度\omega _{w}与车轮线速度\upsilon的关系为:

(4)

 其中,s为轮胎滑移率。

       车轮角速度\omega _{w}与变速器输入口的角速度\omega _{in}、电机角速度\omega _{mot}的关系为:

(5)

且,

(6)

 其中,\omega _{mot}为电机角速度。

       由车辆运动方程可以总结出:

(7)

其中,B_{w}为空气粘度系数;F_{r}为滚动阻力;F_{a}为空气阻力;m_{r}为车辆旋转部件的等效平移质量。同时,

(8)

其中,J_{in}为传动系统的转动惯量输入,J_{wheel}为车轮的转动惯量。

       本项目基于准静态原理,对并联 HEV 动力总成系统的关键部件:发动机、电机、电池、变速箱和离合器进行建模。假定发动机已完全预热,忽略发动机的启动过程、停止过程以及温度对其影响。不考虑发动机的怠速模式。即认为发动机输出转矩为 0 时,发动机是处于关闭状态。根据发动机运行的历史数据,建立发动机(转速,转矩,燃油消耗率)表格。图2为建立的燃油消耗率随发动机转速和转矩的变化图。在实际使用中,可以根据发动机转速和转矩的二维插值函数得到实际的。 单位有效功的耗油量可表示为 

(9)

其中,BSFC为比油耗,可通过一定转速和转矩查找准静态发动机万有特性MAP图得到。

图2 发动机比油耗特性图

   

      本项目忽略电机的电磁特性,电机功率由下式给出:

(10)

其中,\eta _{mot}为电机效率,可通过一定转速和转矩查找电机准静态效率MAP图得到。电机工作在制动能量回收时,为电磁效率的导数。当T_{mot}>0时,电机工作在电动模式;当T_{mot}\leq 0时,电机工作在制动回收模式。另外,我们结合实验数据和电机动力学(机械特性),将电机效率表示为电机转矩和电机速度的静态函数。图3为电机效率随电机转矩和转速的变化图。

图3 电机效率特性图

     

     本项目忽略温度和老化对镍氢电池的影响,采用等效的内阻模型对电池组进行建模。

图4 电池内阻等效模型

     根据上述电池模型,可以得到电池的充放电电流如下:

(11)

其中,V_{oc}为电池开路电压;R_{int}为电池内阻;P_{bat}(k)=T_{mot}(k)\omega _{mot}(k)\eta _{mot}^{-sgn(T_{mot})}k时刻电池为电机提供的功率。电池放电时,其值为正;电池充电时,其值为负。图5为单体电池充电电阻、开路电压与电池荷电状态SOC的关系图以及单体电池充放电电阻、开路电压与电池荷电状态的关系图。

       电池荷电状态SOC的变化公式为:

(12)

 其中,\Delta t为时间变化量;Q_{max}为最大容量。

图5 单体电池开路电压、充放电电阻与SOC的关系图

     

    本项目将变速器的档位迁移被建模为一个离散时间动态系统,每次迁移持续的时间为 1 秒。

(13)

其中,状态g(k)表示k时刻为变速器内齿轮档数。 shift(k)表示k时刻的变速器档位迁移命令,分别用1,0 和-1来表示向上迁移、保持不变和向下迁移。

       传动系的另一关键部件——离合器,负责把发动机的转矩和速度传递给变速器,有分离和闭合两种状态。分离状态时,发动机处于熄灭状态,只传递电机的输出转矩和速度到变速箱;闭合状态时,将发动机和电机的转矩与速度全部传递给变速箱。即:

(14)

       以上部分为本项目能量管理策略设计中使用的车辆模型,为后续能量管理策略奠定基础。

2 基于动态规划的能量管理策略

2.1 能量管理最优问题提出

      本项目将并联式混合动力汽车建模为离散时间动态系统,其状态转移如下:

(15)

 其中,x(k)k时刻的状态矢量;u(k)为决策集中选择的k时刻的控制矢量;k表示当前离散时间;N为控制持续的时间。

       能量管理最优化问题中,系统状态矢量为:x(k)=(T_{dem}(k),\omega _{w}(k),SOC(k))^{T},控制矢量为:u(k)=(T_{eng}(k),gr(k))^{T}

       能量管理的目标是最大化燃油经济性的同时,保持循环工况内电池SOC在[0.4,0.7]的范围内。本项目定义能量管理策略为\pi =\left \{ u(1),u(2),\cdots ,u(N) \right \},可以根据\pi选择控制动作u(k)\in Action使车辆状态从x(k)更新到x(k+1))。其中,集合Action为控制域。同时,定义值函数J(k)为从第k个时刻到工况最终状态时,期望的累计代价,用于评价从k时刻到末端状态的策略。则J(0)为对策略\pi的评价。可以看出,最优策略\pi ^{*}的值函数为J^{*}=minJ(0)。由于无限时域的优化求取的策略具有时不变性,本项目将最优能量管理问题建模如下:

(16)

 其中,\gamma为保证值函数收敛的折扣因子;L(x(k),u(k))为阶段代价函数,其定义如下:

(17)

 其中,L_{fuel}(k)L_{SOC}(k)分别为k时刻的燃油消耗、电池SOC变化的代价;\alpha代表电池SOC的权重因子。

       L_{SOC}(k)定义为k时刻可能的电池SOC偏离循环工况末端电池荷电状态SOC_{ref}的代价。具体如下:

(18)

       在求解最优控制问题时,车辆控制系统的约束为:

(19)

其中,T_{eng}\omega _{eng}决定L_{fuel}(k)T_{mot}(k)与电机功率相关。由电池SOC的递推公式可知,电机功率与有关。

2.2 基于动态规划的能量管理策略求解

       动态规划法基于贝尔曼最优化原理,被广泛应用于确定性条件下,按照阶段进行决策且具有无后效性的问题中。无后效性的意思为:若系统在某时刻的状态已知,那么该时刻以后系统状态的变化只与当前时刻有关,而与系统之前的状态无关。该原理认为如果\pi ^{*}=\left \{ u_{0}^{*},u_{1}^{*},\cdots,u_{N-1}^{*} \right \}是基本问题的最优策略,那么\left \{ u_{0}^{*},u_{1}^{*},\cdots,u_{N-1}^{*} \right \}为从第i个决策步状态到最后一个阶段状态的子问题的最优解。即:决策为\left \{ u_{0}^{*},u_{1}^{*},\cdots,u_{N-1}^{*} \right \}时,第i个决策步状态到最后一个阶段状态的期望的累计代价函数为minE\left \{ g_{N}(N)+\sum_{k=i}^{N-1}g_{k}(x(k),u(k),w(k)) \right \}。其中,g_{N}(N)为末端状态的代价; g_{k}(x(k),u(k),w(k))为阶段k的阶段代价函数;x(k)u(k)w(k)分别为k时刻的状态向量、控制向量和随机向量。

        动态规划法的步骤一般为:首先确定每个决策步的所有可行状态域;然后计算出每个“状态-动作-状态”的阶段性代价,并将其存储在表格中;最后对最优问题按逆向或者正向阶段求解。

        本文的能量管理问题中采用如下的逆向求解方程对能量管理问题求解

(20)

其中,J^{*}(x(k))为第k个决策步时的最优值函数。由于动态规划中,车辆工况是已知的,由此,每个决策步中车辆的状态向量中,驾驶员需求转矩和车轮角速度可以根据车辆逆向动力学模型得到。本项目的车辆状态转移方程具体为:

(21)

 其中,\Delta t为采样间隔。 由式(20)有,第k个决策步的最优控制矢量为:

(22)

 

图6 动态规划法原理图

        动态规划法的原理图如图6所示。其中,状态空间为:State=\left \{ s^{1},s^{2},\cdots,s^{N1} \right \},动作空间为:Action=\left \{ a^{1},a^{2},\cdots,a^{N2} \right \}。图中每一列心圆和绿色原点代表系统的状态空间。绿色的小圆点表示在该时刻状态的可选择范围。红色的箭头线条表示由kk+1时刻系统采取的控制动作。当用状态转移方程由SOC(k)计算出SOC(k+1)的可行集时,用最近邻法则将SOC(k+1)离散化到途中的状态空间中。

图7 电池SOC可行域示意图

 

图8 动态规划的SOC轨迹示意图

 

       动态规划算法是一种数值运算的方法。状态空间和动作空间的选取,对算法的结果影响非常大。在具体实现中,我们首先对驾驶员的需求转矩进行数值分析,统计出,每个工况下需求转矩的出现频率,对于出现频率低的点,采用较低的离散精度,对于出现频率比较高的点,采用较细的离散精度。

3 仿真实验及结果分析

       为验证基于动态规划的能量控制策略的优化效果,以典型循环工况为例进行仿真实验,设定电池SOC初始值为0.5。

      图9为车速跟随情况、发动机工作情况和挡位变化情况的曲线。图10 为发动机的工作点分布情况。图11为发动机和电机的输出功率情况。图12为电池SOC运动轨迹。

图9 车速跟随情况、发动机曲轴工作情况和挡位切换情况曲线

 

图10 发动机工作点分布图

 

图11 发动机和电机输出功率曲线

图12 电池SOC运动轨迹

       由图9-12可见,发动机基本都工作在经济区域,电池SOC保持在一定的范围之内。

4 结论

       本项目以提高并联式混合动力汽车燃油经济性为目标,根据该系统结构特点和对控制策略的适应性要求,设计了以发动机转矩和变速器速比为控制变量,整车燃油消耗最小为目标的动态规划能量管理策略,并基于所建模型和策略进行了仿真。仿真结果表明:本项目所提出的控制策略的优化效果良好,发动机运行在高效区域内,电池能量也能保持平衡。

 

 

 

 

  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
### 回答1: 动态规划能量管理代码是用于优化能量系统的一种算法。其基本思想是将能量系统分为若干个阶段,通过确定每个阶段的最优决策,从而求得整个系统的最优结果。 Matlab是一个强大的数学计算软件,具有优秀的数值计算和可视化功能,可以对动态规划能量管理代码进行分析和优化。在写动态规划能量管理代码时,需要考虑以下几个方面: 首先,需要确定能量系统的模型。包括能源的供给和需求条件,能源的储存和转换方式等。同时,为了方便编程,通常需要对模型进行离散化。即将能量系统分为若干个时间步,每个时间步内的能源状态取决于前一个时间步的决策和参数。 其次,需要确定动态规划的状态和决策。状态指能量系统在某个时间步的状态。决策指在当前状态下的最优决策。在Matlab中,可以使用状态矩阵和决策矩阵来表示。 最后,需要设计计算方法。一般来说,动态规划是通过逐步更新状态和决策矩阵来求解最优决策。在Matlab中,可以使用循环结构进行状态和决策矩阵的更新。需要注意的是,在计算过程中,需要考虑能源的约束条件和目标函数。 总之,编写动态规划能量管理代码需要考虑模型、状态、决策和计算方法等多方面的因素。Matlab作为一种数学计算软件,可帮助用户针对不同的问题进行优化和求解。 ### 回答2: 在matlab中进行动态规划能量管理代码的实现,主要步骤如下: 1. 定义问题:定义动态规划问题的状态、决策和目标函数。在能量管理问题中,状态可以表示为当前时间和当前电池电量,决策可以表示为在当前时间内购买/出售多少电量,目标函数可以表示为最小化总成本。 2. 状态转移:根据问题定义,确定状态之间的转移关系。在能量管理问题中,转移关系可以表示为当前状态下进行决策后到达各个可能的下一状态所需的成本。 3. 动态规划求解:采用动态规划算法,从初始状态开始逐步推进,计算每个状态下的最小成本,并记录最小成本路径。最终得到最小成本和最小成本路径,即可得到最优解。 需要注意的是,实现该算法需要具备一定的数学基础和编程能力。同时,需要根据具体问题进行适当的优化,如问题规模较大时,可以采用备忘录法、剪枝等方法提高效率。 ### 回答3: 动态规划是一种重要的算法思想,其主要应用于求解运筹学、控制论、经济学、生物学和计算机科学等领域的一些最优化问题。能量管理问题是其中一个重要的应用,其主要目的是设计一种最优策略来合理利用各种能源,包括电能、天然气、热能等,满足用户需求的同时,降低能源消耗和费用开支。 Matlab是一个非常强大的数值计算工具,其在动态规划能量管理问题的解法中也得到了广泛的应用。下面是一个简单的动态规划能量管理代码示例: ```Matlab clc,clear all; % 初始化数据,包括时间、能源使用等 T=24; Pd=[30 30 45 50 55 60 70 65 70 80 85 95 90 100 90 85 80 75 70 60 50 40 35 30]; Ph=[10 10 8 5 4 3 2 2 1 2 3 5 6 5 4 3 3 2 2 3 4 5 8 15]; Pg=[20 20 20 25 30 35 40 45 50 55 60 65 60 50 45 40 35 30 25 20 15 10 5 5]; % 初始化状态转移矩阵和最优状态矩阵 F=zeros(T,101); Q=zeros(T,101); % 循环遍历每一个状态的转移 for i=1:T for j=1:101 min_value=inf; for u=0:j if (j-u)<=100 && (j-u)>=0 if i==1 % 第一天的状态转移 value=Pd(i)*u+Ph(i)*(j-u)+Pg(i)*max(0,j-u-50); if value<min_value min_value=value; F(i,j)=value; Q(i,j)=u; end else % 其他天的状态转移 for k=0:j-u if (j-u-k)<=100 && (j-u-k)>=0 value=Pd(i)*u+Ph(i)*(j-u)+Pg(i)*max(0,j-u-50)+F(i-1,j-u-k); if value<min_value min_value=value; F(i,j)=value; Q(i,j)=u; end end end end end end end end % 输出最优策略 state=zeros(T+1,1); state(T+1)=0; for i=T:-1:1 state(i)=Q(i,state(i+1)+1); end % 输出结果 fprintf('最优策略如下:\n'); disp(state(1:T)); fprintf('最优解为:%f\n',F(T,51)); ``` 以上代码实现了一个简单的能量管理问题的动态规划算法,其中包括了能源需求量、供应量和价格等参数的设置。通过第一层循环遍历每一天的状态,第二层循环遍历每一个状态下的所有转移方式,通过比较得到最优的转移策略、最优状态和最优解。最后,输出最优策略和最优解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琦钰君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值