一种基于A3C算法的混合动力系统能量管理方法与流程

文档序号:23306328发布日期:2020-12-15 11:36阅读:327来源:国知局
一种基于A3C算法的混合动力系统能量管理方法与流程

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



背景技术:

能源是人类社会赖以生存和发展的重要物质基础。近几年,随着汽车工业的快速发展,能源短缺与环境污染问题越来越严重,能源在汽车上的使用也引起了社会各界的关注。为了更好的解决能源短缺与环境污染问题,混合动力汽车逐渐出现在现代市场上。一般来说,混合动力汽车由内燃机和电机两部分动力源组成,因此能量管理系统对于混合动力汽车而言必不可少。能量管理系统可以协同多个能量源的相互合作,以减少能源消耗与温室气体排放。但是,对于一个复杂的系统,开发一个高效的能量管理控制器去协同能源管理系统的工作是一项非常艰巨而具有挑战的任务。

现如今,在hev上应用的能量管理策略大致可以分为三类:基于规则的方法,基于优化的方法和基于学习的方法。基于规则的能量管理策略具有技术难度低、在线计算量小和实时性高的性能,故被广泛应用于混合动力汽车能量管理工业领域,但是相关规则的制订需要依靠专家经验完成,同样基于规则的控制策略对工况较为敏感,缺乏一定的适应性,鲁棒性比较差,同样也无法保证最优性;二是基于优化的能量管理策略,基于全局优化的能量管理策略具有可以获取全局最优的优点,但是同时具有需要全局工况已知和计算时间长的缺点,因此无法应用于汽车的实时控制中,这些策略一般用做其他控制策略的测试基准。虽然现有的能量管理策略可以实现很好的性能,但是它们仍然存在计算量大和对工况适应性差的缺点;为了实现汽车能量管理系统更好的性能,近几年,基于学习的算法开始涌现,尤其是actor-critic。

但是actor-critic方法也存在很多问题,actor-critic需要通过蒙特卡洛法计算q值,需要完整的状态序列并且只能单独对策略进行迭代更新,actor网络与critic网路都需要同时进行更新,二者之间相关依赖,关联性强,导致出现不易收敛的情况,为了解除actor与critic之间的相关性,提出了ddpg算法,该算法采用双神经网络结构,同时引入经验回放池以便神经网络进行更新迭代,但是ddpg中的经验回放池内的样本仍然具有一定的相关性。因此,更好的解决样本之间相关性问题,可以实现神经网络的快速收敛,同时可以有效提高基于深度强化学习能量管理策略的控制效果,提高汽车整车性能。



技术实现要素:

本发明提供了一种基于a3c算法的混合动力系统能量管理方法,在保证汽车动力性的前提下,通过a3c方法不仅可以解决actor和critic相关性问题,而且还可以解决经验回放池样本的相关性问题,可以实现在保证汽车燃油经济性的基础上,实现神经网络的快速收敛。

为了实现以上目的,本发明采用以下技术方案:

一种基于a3c算法的混合动力系统能量管理方法,包括以下步骤:

步骤1:建立a3c代理模型;

步骤2:设置a3c代理模型的状态、动作和回报,得到设置后的a3c代理模型;

步骤3:获取相关训练数据集,根据获得的相关训练数据集训练所述a3c代理模型得到训练后的a3c代理模型;

步骤4:使用训练后的a3c代理模型进行并联式混合动力车辆的能量管理。

以上所述步骤中,步骤1中所述a3c代理模型包括:全局神经网络与局部神经网络,两者神经网络结构一样,都包含一个actor网络与critic网络,所述局部神经网络负责与环境进行交互,并且计算累计损失梯度,并将累计损失梯度传递给全局神经网络,所述全局神经网络负责参数更新,在全局神经网络参数更新完成后,局部神经网络同步全局神经网络的参数;

步骤2中所述状态量为:汽车车速v,汽车加速度a和动力电池soc,状态变量向量为s={v,a,soc}t;由于被控对象是混合动力汽车,选取发动机转矩te为动作变量,动作变量向量为a={te}t;奖励函数被用于评价在当前状态st下执行动作at的表现性能,目标有两个:第一,为了避免电池过充过放,需要保证soc维持在一定范围内;第二,在保证电池稳定工作的基础上,燃油消耗最小,从而保证发动机的燃油经济性,另外由于深度强化学习是根据最大累计奖励优化的确定最优控制策略,所以奖励函数定义为成本函数的负值,奖励函数如公式(1)所示:

r=-{fuel(t)+α[socref-soc(t)]2}(1)

其中,fuel(t)为当前时刻下汽车的燃油消耗,socref为期望soc的参考值,soc(t)为当前时刻电池soc值,α为电池充电维持的权重;

步骤3中获取相关训练数据集,根据获得的相关训练数据集训练所述a3c代理模型得到训练后的a3c代理模型,具体包括以下步骤:

步骤a:初始化所述设定后的a3c代理模型得到初始化后的a3c代理模型;

步骤b:将初始化后的a3c代理模型与混的动力汽车进行交互,得到训练数据集;

步骤c:根据所述训练数据集对a3c代理模型进行训练,最终得到训练后的a3c代理模型。

上述步骤a具体包括:分别初始化所述设定后的a3c代理模型中的全局神经网络参数与局部神经网络参数,其中全局神经网络中的actor网络与critic网络参数分别用θ和ω表示;局部神经网络中的actor网络与critic网络参数分别用θ′和ω′表示,累计梯度dθ←0和dω←0,最终得到初始化后的a3c代理模型;

上述步骤b中的将初始化后的a3c代理模型与混的动力汽车进行交互,得到训练数据集,具体包括:局部神经网络与环境进行交互,将当前状态集合st={v,a,soc}t输入局部神经网络,根据当前策略π(at|st;θ′)得到动作at,为了更好的进行探索,在每一时刻采用gaussianpolicy得到控制信号,因此actor的输出由两部分组成,一是动作的平均价值μ(st;θ′),另外一个输出为动作的标准差σ(st;θ′),然后控制信号at在正态分布n(μ(st;θ′),σ(st;θ′))随机采样得到,将当前动作at作用于混合动力汽车得到当前回报rt以及下一时刻的状态集合st+1;最后,根据上述的相关数据st,at,rt和st+1,得到训练数据集(st,at,rt,st+1),用于神经网络的训练过程;

上述步骤c中根据所述训练数据集对a3c代理模型进行训练,最终得到训练后的a3c代理模型,具体包括以下步骤:

步骤(ⅰ):在运行步数达到最大步数或者当车辆当前状态达到最终状态后,采用逆向采样法逆序采样,并且计算每个采样时刻的动作价值;

步骤(ⅱ):采用梯度下降法更新状态值函数的参数,更新公式为:

步骤(ⅲ):采用梯度上升法更新策略π参数,为了克服该算法进入局部最优收敛状况,将策略π的熵值添加至目标函数进而提高探索,整个目标函数的梯度包括与策略参数相关的熵正则化项,采用的公式为:

步骤(ⅳ):根据上述计算出的每个时刻的梯度,进而相加计算出累计梯度dθ和dω,根据计算出的dθ和dω对全局神经网络参数θ和ω完成更新,评价网络权重更新:ω=ω-βdω,动作网络权重更新:θ=θ-λdθ,其中β和λ为更新系数;

步骤(ⅴ):局部神经网络同步全局神经网络的参数,即θ′=θ和ω′=ω,并且将累计梯度设置为0,即dθ←0和dω←0,进而指导后面的环境交互;

步骤(ⅵ):如此重复步骤(ⅰ)至步骤(ⅴ),直至达到训练要求,最后得到训练后的a3c代理模型。

上述步骤4中使用训练后的a3c代理模型进行并联式混合动力车辆的能量管理,具体包括以下步骤:

第一步:通过相关传感器获取汽车当前状态量集合sk={v,a,soc}t

第二步:将获取的汽车当前状态量集合sk={v,a,soc}t输入训练后的a3c代理模型,进而输出控制量发动机转矩te;

第三步:将所获得的控制量发动机转矩te作用于汽车,驱动汽车行驶,进而得到下一时刻汽车状态量集合sk+1={v,a,soc}t

第四步:如此重复第一步至第三步,直至汽车完成行驶任务。

以上所述的基于异步优势动作-评价的混合动力车辆能量管理方法理论上是数据驱动和无模型的,通常对混合动力系统的任何特定拓扑不敏感,应用于并联式混合动力系统。

有益效果:本发明提供了一种基于a3c算法的混合动力系统能量管理方法,适用于混合动力车辆智能变时域模型预测能量管理的方法,首先,建立a3c代理模型;其次,设置a3c代理模型的状态、动作和回报,得到设置后的a3c代理模型;燃油,获取相关训练数据集,根据获得的相关训练数据集训练所述a3c代理模型得到训练后的a3c代理模型;最后,使用训练后的a3c代理模型进行并联式混合动力车辆的能量管理,以获取更好的控制效果。采用本发明的方法可以有效解决actor-critic方法训练数据相关性过强的问题,使神经网络快速收敛,同时可以解决ddpg方法中的经验回放池问题,有效提高能量管理策略的控制效果和算法的快速性,提高能量管理算法的鲁棒性和对工况的适应性,进一步提高车辆的燃油经济性。

附图说明

图1是本发明实施例中提供的并联式混合动力汽车的结构图;

图2是本发明实施例中提供的基于a3c的混合动力车辆能量管理结构示意图;

图3是本发明实施例中提供的基于a3c的混合动力车辆能量管理设计方法流程示意图;

图4是本发明实施例中提供的a3c代理模型结构示意图;

图5是本发明实施例中提供的不同局部神经网络数量的影响的结果图;

图6是本发明实施例中提供的在三种策略下的soc轨迹图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明:

如图1所示,根据结构图,可以看出并联式混合动力汽车主要由电池、电机、发动机、变速器、离合器、主减速器和能量管理系统控制器组成,发动机和电机组成并联式混合动力汽车的动力源。

如图2所示,一种基于a3c的混合动力车辆能量管理结构,其基本工作原理是:通过相关传感器获取汽车的行驶状态,获取相关状态量,分别为汽车车速v,汽车加速度a和动力电池soc,组成当前时刻状态变量向量为st={v,a,soc}t,然后将状态变量向量st={v,a,soc}t输入到局部神经网络,通过局部神经网络中的actor部分输出动作的平均值与动作的标准差,分别为μ(st;θ′),和σ(st;θ′),然后控制信号at在正态分布n(μ(st;θ′),σ(st;θ′))随机采样得到,将控制量at作用于混合动力汽车,得到下一时刻状态变量向量st+1={v,a,soc}t和当前时刻奖励rt,根据上述的相关数据st,at,rt和st+1,得到训练数据集(st,at,rt,st+1),将训练数据集(st,at,rt,st+1)存储于局部缓存区,当达到终止条件时,从局部缓存区逆序取样,计算累计梯度,将得到的累计梯度值传递给全局神经网络,全局神经网络进行参数更新,此刻局部神经网络参数维持不变,在全局神经网络参数完成更新后,局部神经网络同步全局神经网络的参数,用于指导之后的环境交互过程,直至完成训练目标,训练终止,即获得最优控制策略用于混合动力汽车的行驶。

图3是本发明实施例中提供的一种基于a3c的混合动力车辆能量管理设计方法流程示意图,按照流程示意图,完成对基于a3c的混合动力车辆能量管理结构系统的设计。

如图3所示,一种基于a3c的混合动力车辆能量管理设计方法,包括以下步骤:

步骤201,建立a3c代理模型

图4是本发明实施例中提供的a3c代理模型结构示意图,请参见图4,根据结构示意图,其基本工作原理:其中a3c代理模型包括两种神经网络,即全局神经网络与局部神经网络,两者神经网络结构一样,都包含一个actor网络与critic网络。其工作过程:每个局部神经网络会独立的和环境进行交互得到经验数据,这些线程之间互不干扰,独立运行;局部神经网络于环境进行交互并且计算累计损失梯度,并将累计损失梯度传递给全局神经网络,全局神经网络根据累计梯度对全局神经网络参数进行更新,此时,局部神经网络参数维持不变,在全局神经网络参数更新完成后,局部神经网络同步全局神经网络的参数;

步骤202设置a3c代理模型的状态、动作和回报,得到设置后的a3c代理模型

在设置a3c代理模型的状态、动作和回报,得到设置后的a3c代理模型时,具体包括:其中状态量有3个:分别为汽车车速v,汽车加速度a和动力电池soc,状态变量向量为s={v,a,soc}t;由于被控对象是混合动力汽车,选取发动机转矩te为动作变量,动作变量向量为a={te}t;奖励函数被用于评价在当前状态st下执行动作at的表现性能,目标有两个:第一,为了避免电池过充过放,需要保证soc维持在一定范围内;第二,在保证电池稳定工作的基础上,燃油消耗最小,从而保证发动机的燃油经济性。另外由于深度强化学习是根据最大累计奖励优化的确定最优控制策略,所以奖励函数定义为成本函数的负值,奖励函数如下所示:

r=-{fuel(t)+α[socref-soc(t)]2}

其中,fuel(t)为当前时刻下汽车的燃油消耗,socref为期望soc的参考值,soc(t)为当前时刻电池soc值,α为电池充电维持的权重,此处α取350;

步骤203,获取相关训练数据集,根据获得的相关训练数据集训练所述a3c代理模型得到训练后的a3c代理模型

在获取相关训练数据集并且对所构建的模型进行训练时,具体包括以下步骤:

步骤a:初始化所述设定后的a3c代理模型得到初始化后的a3c代理模型;

步骤b:将初始化后的a3c代理模型与混的动力汽车进行交互,得到训练数据集;

步骤c:根据所述训练数据集对a3c代理模型进行训练,最终得到训练后的a3c代理模型。

对上述步骤203中的步骤a中的初始化所述设定后的a3c代理模型得到初始化后的a3c代理模型,具体包括:分别初始化所述设定后的a3c代理模型中的全局神经网络参数与局部神经网络参数,其中全局神经网络中的actor网络与critic网络参数分别用θ和ω表示;局部神经网络中的actor网络与critic网络参数分别用θ′和ω′表示,累计梯度dθ←0和dω←0,最终得到初始化后的a3c代理模型。

对上述步骤203中的步骤b中的将初始化后的a3c代理模型与混的动力汽车进行交互,得到训练数据集,具体包括:局部神经网络与环境进行交互,将当前状态集合st={v,a,soc}t输入局部神经网络,根据当前策略π(at|st;θ′)得到动作at,为了更好的进行探索,在每一时刻采用gaussianpolicy得到控制信号。因此,actor的输出由两部分组成,一是动作的平均价值μ(st;θ′),另外一个输出为动作的标准差σ(st;θ′),然后控制信号at在正态分布n(μ(st;θ′),σ(st;θ′))随机采样得到,将当前动作at作用于混合动力汽车得到当前回报rt以及下一时刻的状态集合st+1;最后,根据上述的相关数据st,at,rt和st+1,得到训练数据集(st,at,rt,st+1),用于神经网络的训练过程。

对上述步骤203中的步骤c中的根据所述训练数据集对a3c代理模型进行训练,最终得到训练后的a3c代理模型,具体包括以下步骤:

步骤(1):在运行步数达到最大步数或者当车辆当前状态达到最终状态后,采用逆向采样法逆序采样,并且计算每个采样时刻的动作价值;

步骤(2):采用梯度下降法更新状态值函数的参数,更新公式为:

步骤(3):采用梯度上升法更新策略π参数,为了克服该算法进入局部最优收敛状况,将策略π的熵值添加至目标函数进而提高探索,整个目标函数的梯度包括与策略参数相关的熵正则化项,采用的公式为:

步骤(4):根据上述计算出的每个时刻的梯度,进而相加计算出累计梯度dθ和dω,根据计算出的dθ和dω对全局神经网络参数θ和ω完成更新,评价网络权重更新:ω=ω-βdω;动作网络权重更新:θ=θ-λdθ,其中β和λ为更新系数;

步骤(5):局部神经网络同步全局神经网络的参数,即θ′=θ和ω′=ω,并且将累计梯度设置为0,即dθ←0和dω←0,进而指导后面的环境交互;

步骤(6):如此重复步骤(1)至步骤(5),直至达到训练要求,最后得到训练后的a3c代理模型。

步骤204,使用训练后的a3c代理模型进行并联式混合动力车辆的能量管理,具体包括以下步骤:

第一步:通过相关传感器获取汽车当前状态量集合sk={v,a,soc}t

第二步:将获取的汽车当前状态量集合sk={v,a,soc}t输入训练后的a3c代理模型,进而输出控制量发动机转矩te;

第三步:将所获得的控制量发动机转矩te作用于汽车,驱动汽车行驶,进而得到下一时刻汽车状态量集合sk+1={v,a,soc}t

第四步:如此重复第一步至第三步,直至汽车完成行驶任务。

图5是本发明实施例中提供的不同局部神经网络数量的影响的结果图,根据结果图可以看出:在保证终端soc一致的基础上,不同线程下的混合动力汽车燃油消耗相差不大,这表明在不考虑收敛速度的情况下,不同线程下的控制策略均可以逐渐趋于最优控制策略,即在满足约束的情况下,均可以获得很好的控制效果。同样可以从图5中看出,不同线程数量下的收敛时间不同,由于不同线程数量下的训练数据相关性存在很大差异,因此收敛回合数会不同,同时由于不同线程数量下,线程创建与调度时间花费不同,因此单位训练时间也不同,同时考虑上述两个因素,得到不同线程数量下的收敛时间,根据收敛时间曲线可以看出,在当前问题下,采用3线程可以在获得良好燃油经济性的情况下,获得更快的收敛时间。

图6是本发明实施例中提供的在三种策略下的soc轨迹图,从图中可以看出,在三种控制策略下,soc曲线都在0.7和0.5之间波动,表明两种方法都可以很好的对soc进行约束,保证电池的健康使用,而且基于a3c的能量管理策略与基于ddpg的能量管理策略的soc轨迹基本一致,可以获得相近的控制效果,同时可以得到基于学习的控制策略与基于dp的控制策略的在控制思想上存在本质区别,基于dp算法的控制策略在低负荷情况下更倾向于用发动机,并且尽可能维持soc,在高负荷情况下更倾向于用电机;而基于a3c算法的控制策略与dp算法不同,基于a3c的控制策略在低负荷情况下倾向于使用电机,而在高负荷情况下更倾向于使用发动机。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅是本发明的优选实施例,熟悉本领域技术的人员显然可以容易的对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不经过创造性的劳动,因此本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1