一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于DPPO算法的混合动力系统能量管理方法

2022-12-13 23:13:35 来源:中国专利 TAG:

一种基于dppo算法的混合动力系统能量管理方法
技术领域
1.本发明属于混合动力汽车能量管理领域,尤其涉及一种基于dppo算法的混合动力系统能量管理方法。


背景技术:

2.为了缓解世界能源短缺和全球变暖,在汽车领域的节能研究已成为重点,其中混合动力汽车也越来越受到关注。混合动力汽车有发动机,发电机等多个动力源,协调分配输出用以减少能耗和污染。然而,对于复杂的动力传动系统,开发一种高效的能量管理控制器来协调混合储能系统的工作是一项挑战。
3.现如今,在hev上应用的能量管理策略大致可以分为三类:基于规则的方法,基于优化的方法和基于学习的方法;基于规则的能量管理策略对专家经验的过于依赖使得它的进一步应用受到限制,难以达到最佳节能的效果;二是基于优化的能量管理策略,分为基于全局优化和基于实时优化的方法,基于全局优化的方法会过度消耗计算资源,难以在线应用;而基于实时优化的方法驾驶条件的预测精度和模型参数设置较为依赖,计算成本较高,容易出现局部最优的问题。伴随着机器学习和人工智能的发展,基于学习尤其是强化学习的方法在各种能量管理优化问题中表现出良好效果。例如基于策略梯度(policy-gradient)的一类方法,但是基于策略梯度的方法对于迭代步骤的数量非常敏感,同时这类方法的采样效率也是非常低,学习简单的任务就需要百万级甚至以上的总迭代次数。因此,提高算法采样效率和策略性能表现可以实现神经网络的快速收敛,同时可以有效提高基于深度强化学习能量管理策略的最优策略效果,提高汽车整车性能。


技术实现要素:

4.本发明提供了一种基于dppo算法的混合动力系统能量管理方法,在保证汽车动力性的前提下,通过并行训练技术的使用,在理论上增加模型的探索范围,提高算法的最优性能和收敛效率,同时重要性采样和小批次更新技术能够在平衡采样效率和调试难度的同时提升算法的表现性能,减少次优策略问题的产生,在保证了稳定的soc控制目标的基础上,实现神经网络的快速收敛,并获得良好的燃油经济性能。
5.为了实现以上目的,本发明采用以下技术方案:
6.一种基于dppo算法的混合动力系统能量管理方法,包括以下步骤:
7.步骤1:建立dppo代理模型;
8.步骤2:设置dppo代理模型的状态、动作和回报,得到设置后的dppo代理模型;
9.步骤3:获取相关训练数据集,根据获得的相关训练数据集训练所述dppo代理模型得到训练后的dppo代理模型;
10.步骤4:使用训练后的dppo代理模型进行混合动力车辆的能量管理。
11.以上所述步骤中,步骤1中所述dppo代理模型包括:全局神经网络与局部神经网络,所述局部神经网络在子进程中负责与环境进行交互收集数据,并将收集的数据传回主
进程中的全局神经网络,所述全局神经网络利用收集的数据进行网络参数更新,更新完成后再将参数同步给局部神经网络;
12.步骤2中所述状态量为:汽车车速v,汽车加速度acc和动力电池soc,状态变量向量为s={v,acc,soc}
t
;由于被控对象是混合动力汽车,选取发动机功率pe为动作变量,动作变量向量为a={pe}
t
;奖励函数被用于评价在当前状态s
t
下执行动作a
t
的表现性能,目标有两个:第一,为了避免电池过充过放,需要保证soc维持在一定范围内;第二,在保证电池稳定工作的基础上,燃油消耗最小,从而保证发动机的燃油经济性,另外由于深度强化学习是根据最大累计奖励优化的确定最优控制策略,所以奖励函数定义为成本函数的负值,奖励函数如公式(1)所示:
13.r=-{fuel(t) α[soc
ref-soc(t)]2}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0014]
其中,fuel(t)为当前时刻汽车的燃油消耗,soc
ref
为期望soc的参考值,soc(t)为当前时刻电池soc值,α为电池充电维持的权重;
[0015]
步骤3中获取相关训练数据集,根据获得的相关训练数据集训练所述dppo代理模型得到训练后的dppo代理模型,具体包括以下步骤:
[0016]
步骤a:初始化所述设定后的dppo代理模型参数,得到初始化后的dppo代理模型;
[0017]
步骤b:将初始化后的dppo代理模型应用于混合动力汽车模型,在驾驶循环中进行交互;
[0018]
步骤c:根据梯度更新法不断进行网络更新和同步参数收集数据,直到达到能量管理最优策略的训练要求,收敛后最新网络参数下的模型即为最终得到训练后的dppo代理模型。
[0019]
上述步骤a具体包括:分别初始化所述设定后全局神经网络参数θ与局部神经网络参数ω,累计梯度dθ

0和dω

0,最终得到初始化后的dppo代理模型;
[0020]
上述步骤b将初始化后的dppo代理模型与混合动力汽车进行交互,得到训练数据集,具体包括:actor网络与驾驶环境进行交互,将当前状态集合s
t
={v,acc,soc}
t
输入actor神经网络,actor网络通过激活函数输出一个正态分布的均值μ(s
t
;θ)和标准差σ(s
t
;θ)即为策略π的分布,调用函数对策略π随机取样,得到动作a
t
,将当前动作a
t
作用于混合动力汽车得到当前回报r
t
以及下一时刻的状态集合s
t 1
;最后,根据上述的相关数据s
t
,a
t
,r
t
和s
t 1
,得到训练数据集(s
t
,a
t
,r
t
),当存储量达到一个batch后,计算折扣奖励r和优势函数adv,然后将数据集清零。
[0021]
上述步骤c中根据所述方法对dppo代理模型进行训练更新,最终得到训练后的dppo代理模型,具体包括以下步骤:
[0022]
步骤(i):在局部神经网络运行步数达到一定步数n后,全局神经网络开始进行n步更新,将目标策略π的参数赋值给行为策略π
old

[0023]
步骤(ⅱ):采用梯度上升更新actor网络的参数,更新公式为:
[0024][0025]
其中,π和π
old
分别表示两个actor网络所生成的需要更新的目标策略和当前行为策略,使用kl[π
old
|π]即kl散度来衡量两种策略之间的差异,λ为动态调整的系数,通过调整λ从而控制两个分布之间的距离;
[0026]
步骤(ⅲ):采用梯度下降法更新critic网络策略参数,更新公式为:
[0027][0028]
步骤(ⅳ):为限制新旧策略差异程度,根据不同kl散度范围对参数λ进行更改:
[0029]
kl[π
old
|π]》β
high
kl
target
时,λ=α*λ(α》1)
[0030]
kl[π
old
|π]《β
high
kl
target
时,λ=λ/α(α》1)
[0031]
其中,kl
target
为期望达到的kl值,β
high
和β
low
分别表示判断实时kl值偏离期望达到的kl值的幅度时所设置的增益系数;
[0032]
步骤(v):同步进程中局部神经网络参数;
[0033]
步骤(ⅵ):如此重复步骤(ⅰ)至步骤(v),直到驾驶循环最后时间步,完成一次episode训练,进入下一个episode,继续训练;
[0034]
步骤(ⅶ):记录每次episode结束后的数据,重复episode训练,直至多个episode结果收敛,表明达到训练要求,最后得到训练后的dppo代理模型。
[0035]
上述步骤4中使用训练后的dppo代理模型进行prius混合动力车辆的能量管理,具体包括以下步骤:
[0036]
第一步:通过相关传感器获取汽车当前状态量集合s
t
={v,acc,soc}
t

[0037]
第二步:将获取的汽车当前状态量集合s
t
={v,acc,soc}
t
输入训练后的dppo代理模型,进而输出控制量发动机功率pe;
[0038]
第三步:将所获得的控制量发动机功率pe作用于汽车,驱动汽车行驶,进而得到下一时刻汽车状态量集合s
t 1
={v,acc,soc}
t

[0039]
第四步:如此重复第一步至第三步,直至汽车完成行驶任务。
[0040]
以上所述的基于分布式近端策略优化的混合动力车辆能量管理方法理论上是数据驱动和无模型的,通常对混合动力系统的任何特定拓扑不敏感,应用于prius混合动力系统。
[0041]
有益效果:本发明提供了一种基于dppo算法的混合动力系统能量管理方法,首先建立算法神经网络;其次设置优化模型和神经网络的状态、动作和回报,得到设置后的神经网络;然后获取相关训练数据集,根据获得的相关训练数据集训练所述dppo神经网络得到训练后的dppo神经网络;最后使用训练后的dppo神经网络进行prius混合动力车辆的能量管理,以获取更好的控制效果。采用本发明可以在并行训练技术下增加模型的探索范围,提高算法的最优性能和收敛效率;同时重要性采样和小批次更新技术能够在平衡采样效率和调试难度的同时提升算法的表现性能,减少次优策略问题的产生实现在保证了稳定的soc控制目标的基础上,实现神经网络的快速收敛,并获得良好的燃油经济性能。
附图说明
[0042]
图1是本发明实施例中提供的丰田prius混合动力汽车的结构图;
[0043]
图2是本发明实施例中提供的dppo算法分布式并行训练架构图;
[0044]
图3是本发明实施例中提供的dppo算法神经网络结构示意图;
[0045]
图4是本发明实施例中提供的基于dppo算法的混合动力车辆能量管理设计方法流程示意图;
[0046]
图5是本发明实施例中提供的在三种策略下的soc轨迹图。
具体实施方式
[0047]
下面结合附图和具体实施例对本发明进行详细说明:
[0048]
如图1所示,根据结构图,可以看出丰田prius混合动力汽车主要由电池、驱动电机、发电机、发动机、变速器和能量管理系统控制器组成,发动机和电机组成prius混合动力汽车的动力源。
[0049]
在python平台上使用代码进行车辆建模,具体的建模过程包括:采用后向建模方法建立纵向动力学模型,由此可以计算汽车所需扭矩和速度等根据纵向平衡方程式计算车辆的功率需求,给出如下表达式的牵引力计算公式:
[0050]ftrac
=f
roll
f
aero
f
inertia
f
grade
[0051]
其中f
roll
,f
aero
,f
inertia
,f
grade
分别表示滚动阻力,空气阻力,惯性阻力和坡度阻力。具体计算如下所示:
[0052][0053]
式中,g表示汽车的重力,α表示道路坡度,f表示滚动阻力系数,ρ表示空气密度,a表示汽车迎风面积,a表示纵向加速度,cd表示空气阻力系数,v表示纵向车辆速度。
[0054]
普锐斯系统的动力分配通过行星齿轮机构(pg)来完成,发动机,驱动电机和发电机分别与行星齿轮机构的不同部位连接来实现功率耦合。行星齿轮机构由外到内分别为齿圈,行星架和太阳轮。行星架连接发动机输出轴,太阳轮与发电机相连,而齿圈与电机和输出轴相连,经过主减速器后,动力最终传输到车轮。行星齿轮机构各部件之间速度扭矩关系如下公式所示:
[0055][0056]
其中,ωg,ω
out
,ωe分别表示太阳轮,齿圈和行星架转速;tg,t
out
,te分别表示太阳轮,齿圈和行星架的转矩。
[0057]
利用发动机台架试验数据,建立发动机静态模型,该模型可以根据发动机扭矩和转速确定该点的瞬时燃油消耗率,瞬时燃油消耗率计算如下公式所示:
[0058]
mf(t)=f(te(t),ne(t))
[0059]
其中mf(t)表示t时刻发动机瞬时油消耗率,单位为kg/s,te(t)是发动机转矩,单位为n
·
m,ne(t)是发动机转速,单位为rad/s。
[0060]
为提高模型学习效率,根据专家经验预定义一条发动机高效运行轨迹:当系统输入发动机需求功率时,能够获得该轨迹上相应的发动机扭矩和转速,该轨迹处于低燃油消耗区,当发动机在该轨迹上工作时能够获得更高的燃油经济性。
[0061]
电机模型仍采用台架试验数据得到效率图进行静态建模,根据电机扭矩和转速确定该点电机效率,驱动电机功率由下文公式计算:
[0062][0063]
其中pm(t),tm(t),nm(t)分别表示t时刻电机功率,电机扭矩和电机转速,μm表示电机效率。
[0064]
选用镍氢电池作为电源,由于电池在本发明研究的优化目标仅为soc,因此在建模时暂不考虑温度变化和电池老化的影响,根据实验数据得到电池内阻和开路电压变化曲线,利用电池充放电内阻和开路电压曲线可以得到任何soc处的电阻和电压数据。
[0065]
电池模型中各参数间的数学关系可用如下式来表达:
[0066][0067]
其中,p
batt
(t),v
oc
(t)和r
in
(t)分别表示t时刻的电池功率,开路电压和电池内阻;q
max
表示电池容量,i(t)和soc(t)分别表示t时刻的电池电流以及荷电状态。
[0068]
图2是本发明实施例中提供的dppo算法分布式并行训练架构具体如下:在dppo中,有全局神经网络和局部神经网络两个部分,每个进程中独立在环境中进行探索,并将探索得到的数据汇总提供给主进程中的全局神经网络,由全局神经网络从数据中进行学习更新,需要注意的是,智能体在多个进程里与环境探索数据,但并未进行梯度更新,而是统一汇总数据后由全局神经网络进行梯度更新。
[0069]
如图3所示,所建立dppo算法的全局/局部神经网络结构具体如下,全局神经网络和局部神经网络具有相同的结构,在神经网络结构设置上,actor网络以系统状态量作为输入,中间则采用一层节点数为100的全连接层作为隐藏层,并使用relu作为激活函数;输出层通过线性激活函数与隐藏层相连,将一组正态分布的参数μ和θ输出,再通过正态分布取样,得到输出动作。critic网络结构与actor网络相同,以系统状态量作为输入,中间同样采用一个节点数为100的全连接层作为隐藏层,利用线性激活函数relu进行处理;输出层通过线性激活函数与隐藏层相连,并将动作价值v输出。
[0070]
图4是本发明实施例中提供的一种基于dppo的混合动力车辆能量管理设计方法流程示意图,按照流程示意图,完成对基于dppo的混合动力车辆能量管理结构系统的设计,包括以下步骤:
[0071]
步骤201,建立dppo代理模型;
[0072]
步骤202,设置dppo代理模型的状态、动作和回报,得到设置后的dppo代理模型;
[0073]
在设置dppo代理模型的状态、动作和回报,得到设置后的dppo代理模型时,具体包括:其中状态量有3个:分别为汽车车速v,汽车加速度acc和动力电池soc,状态变量向量为s={v,acc,soc}
t
;由于被控对象是混合动力汽车,选取发动机功率pe为动作变量,动作变量向量为a={pe}
t
;奖励函数被用于评价在当前状态s
t
下执行动作a
t
的表现性能,目标有两个:第一,为了避免电池过充过放,需要保证soc维持在一定范围内;第二,在保证电池稳定工作的基础上,燃油消耗最小,从而保证发动机的燃油经济性,另外由于深度强化学习是根
据最大累计奖励优化的确定最优控制策略,所以奖励函数定义为成本函数的负值,奖励函数如下所示:
[0074]
r=-{fuel(t) α[soc
ref-soc(t)]2}
[0075]
其中,fuel(t)为当前时刻下汽车的燃油消耗,soc
ref
为期望soc的参考值,
[0076]
soc(t)为当前时刻电池soc值,α为电池充电维持的权重,此处α取350;
[0077]
步骤203,获取相关训练数据集,根据获得的相关训练数据集训练所述dppo代理模型得到训练后的dppo代理模型
[0078]
在获取相关训练数据集并且对所构建的模型进行训练时,具体包括以下步骤:
[0079]
步骤a:初始化所述设定后的dppo代理模型参数,得到初始化后的dppo代理模型;
[0080]
步骤b:将初始化后的dppo代理模型应用于混合动力汽车模型,在驾驶循环中进行交互;
[0081]
步骤c:根据梯度更新法不断进行网络更新和同步参数收集数据,直到达到能量管理最优策略的训练要求,收敛后最新网络参数下的模型即为最终得到训练后的dppo代理模型。
[0082]
对上述步骤203中的步骤a中的初始化所述设定后的dppo代理模型得到初始化后的dppo代理模型,具体包括:分别初始化所述设定后全局神经网络参数θ与局部神经网络参数ω,累计梯度dθ

0和dω

0,最终得到初始化后的dppo代理模型。
[0083]
对上述步骤203中的步骤b中的将初始化后的dppo代理模型与混合动力汽车进行交互,得到训练数据集,具体包括:actor网络与驾驶环境进行交互,将当前状态集合s
t
={v,acc,soc}
t
输入actor神经网络,actor网络通过激活函数输出一个正态分布的均值μ(s
t
;θ)和标准差σ(s
t
;θ),即为策略π的分布,调用函数对策略π随机取样,得到动作a
t
,将当前动作a
t
作用于混合动力汽车得到当前回报r
t
以及下一时刻的状态集合s
t 1
;最后,根据上述的相关数据s
t
,a
t
,r
t
和s
t 1
,得到训练数据集(s
t
,a
t
,r
t
),用当存储量达到一个batch后,计算折扣奖励r和优势函数adv,然后将数据集清零。
[0084]
对上述步骤203中的步骤c中的根据梯度更新法更新网络参数,最终得到训练后的dppo代理模型,具体包括以下步骤:
[0085]
步骤(ⅰ):在局部神经网络运行步数达到一定步数n后,全局神经网络开始进行n步更新,将目标策略π的参数赋值给行为策略π
old

[0086]
步骤(ⅱ):采用梯度上升更新actor网络的参数,更新公式为:
[0087][0088]
步骤(ⅲ):采用梯度下降法更新critic网络策略参数,更新公式为:
[0089][0090]
步骤(ⅳ):为限制新旧策略差异程度,根据不同kl散度范围对参数λ进行更改:
[0091]
kl[π
old
|π]》β
high
kl
target
时,λ=α*λ(α》1);
[0092]
kl[π
old
|π]《β
high
kl
target
时,λ=λ/α(α》1)。
[0093]
步骤(v):同步进程中局部神经网络参数;
[0094]
步骤(

i):如此重复步骤(ⅰ)至步骤(v),直到完成一次episode训练,进入下一个
episode,继续训练。
[0095]
步骤(ⅵi):记录每次episode结束后的数据,重复episode训练,直至多个episode结果收敛,表明达到训练要求,最后得到训练后的dppo代理模型。
[0096]
步骤204,使用训练后的dppo代理模型进行丰田prius混合动力车辆的能量管理,具体包括以下步骤:
[0097]
第一步:通过相关传感器获取汽车当前状态量集合s
t
={v,acc,soc}
t

[0098]
第二步:将获取的汽车当前状态量集合s
t
={v,acc,soc}
t
输入训练后的dppo代理模型,进而输出控制量发动机功率pe;
[0099]
第三步:将所获得的控制量发动机功率pe作用于汽车,驱动汽车行驶,进而得到下一时刻汽车状态量集合s
t 1
={v,acc,soc}
t

[0100]
第四步:如此重复第一步至第三步,直至汽车完成行驶任务。
[0101]
图5是本发明实施例中提供的在三种策略下的soc轨迹图,从图中可以看出,在三种控制策略下,soc曲线都在0.7和0.5之间波动,表明两种方法都可以很好的对soc进行约束,保证电池的健康使用,而且基于dppo的能量管理策略与基于ppo的能量管理策略的soc轨迹基本一致,可以获得相近的控制效果,同时可以得到基于学习的控制策略与基于dp的控制策略的在控制思想上存在本质区别,基于dp算法的控制策略在低负荷情况下更倾向于用发动机,并且尽可能维持soc,在高负荷情况下更倾向于用电机;而基于dppo算法的控制策略与dp算法不同,基于dppo的控制策略在低负荷情况下倾向于使用电机,而在高负荷情况下更倾向于使用发动机。
[0102]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0103]
以上仅是本发明的优选实施例,熟悉本领域技术的人员显然可以容易的对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不经过创造性的劳动,因此本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献