当前位置: 首页> 交通专利数据库 >详情
原文传递 一种基于确定性策略梯度学习的PHEV能量管理方法
专利名称: 一种基于确定性策略梯度学习的PHEV能量管理方法
摘要: 本发明提供了一种基于确定性策略梯度学习的PHEV能量管理方法,实现了基于确定性策略梯度学习的PHEV能量管理中包括策略训练、在线应用、效果检测、反馈更新等多个方面的闭环应用,相对于现有技术具有更高的精确度,大大提高了PHEV能量管理的效率与可靠性,具有当前的诸多管理策略所不具备的有益效果。
专利类型: 发明专利
国家地区组织代码: 北京;11
申请人: 北京理工大学
发明人: 何洪文;李岳骋;彭剑坤
专利状态: 有效
申请日期: 2019-07-22T00:00:00+0800
发布日期: 2019-10-18T00:00:00+0800
申请号: CN201910659905.2
公开号: CN110341690A
代理机构: 北京市诚辉律师事务所
代理人: 范盈
分类号: B60W20/11(2016.01);B;B60;B60W;B60W20
申请人地址: 100081 北京市海淀区中关村南大街5号
主权项: 1.一种基于确定性策略梯度学习的PHEV能量管理方法,其特征在于:具体包括以下步骤: 步骤一、利用深层神经DNN网络分别搭建动作Actor网络和动作价值Critic网络,共同组成确定性策略梯度学习算法的基本网络框架即AC网络,以构建PHEV能量管理策略学习网络;并对所述AC网络参数进行初始化和状态数据的归一化处理; 步骤二、对所述动作价值网络进行预训练,定义并初始化用于存储后续训练产生的状态转移样本的存储空间作为经验池,获取初始时刻的状态向量,采用∈退火贪婪策略选择当前状态下的动作向量,存储当前时刻的状态转移样本,并对所述动作价值网络进行更新;以网络更新迭代次数作为Critic网络预训练和AC网络训练是否满足要求的依据; 步骤三、基于所述步骤二中所选择的当前状态下的动作向量,获取动力系统的控制动作量和驾驶需求,计算PHEV动力系统的动力响应,并评估发动机燃油消耗水平,计算动力电池的状态转移,获取下一时刻状态向量并计算奖赏信号; 步骤四、对动力电池荷电状态SOC参考值初始化并更新SOC偏差,并依次对累积行驶距离以及所述动力电池参考值进行更新; 步骤五、获取当前时刻状态向量并计算当前时刻动作向量,调整动作向量输出频率,动力系统响应动作向量后对下一时刻重复该步骤的能量管理策略在线应用过程; 步骤六、根据实时行驶车速更新速度转移概率矩阵,记录瞬时燃油消耗率,更新油耗移动平均值,检测是否需要更新能量管理策略;如需要更新,则执行生成新的训练工况,用于所述步骤一与步骤二对所建立的PHEV能量管理策略模型网络进行训练,从而实现所述模型网络的更新。 2.如权利要求1所述的方法,其特征在于:所述步骤一具体包括以下步骤: (1.1)定义状态空间,建立电量消耗阶段能量管理策略πBM并训练,其状态空间维数为Nstate=7,状态空间S和状态向量s(k)分别定义如下: S={SoC,ΔSoC,Treq,Preq,acc,v,d} s(k)=[SoC(k),ΔSoC(k),Treq(k),Preq(k),acc(k),v(k),d(k)],s(k)∈S 其中,ΔSoC为SoC偏差值,Treq为需求驱动转矩,需求驱动功率Preq=Wreq·Treq,Wreq为需求驱动转速,acc为车辆加速度,v为车速,d为行驶距离,k为当前时刻; (1.2)建立Actor网络,记为a=μ(s|θμ),μ表示Actor网络,其网络参数为θμ,以状态向量s为输入,输出动作向量为a,策略网络结构为:输入层-全连接层-输出层; (1.3)建立Critic网络,具有两路支流的深层全连接神经网络,记为q=Q(s,a|θQ)=V(s|θV)+A(a|θA),Q表示Critic网络,其参数集合和动作价值输出分别为θQ和q,具体分为以θV为参数的状态价值网络支流V和以θA为参数的动作优势网络支流A;两路支流具有相同的隐含层结构(三层全连接层,每层100个神经元,以线性整流函数为激活函数);状态价值网络支流输入层输入维数与状态空间维数Nstate相同,输出层为线性标量输出;动作优势网络支流输入层输入维数与动作空间维数Naction相同,输出层为线性标量输出; (1.4)初始化网络参数:采用Xavier初始化方法,产生Actor和Critic网络的初始网络权重和偏置,具体地,产生区间中的均匀分布产生网络初始化参数,其中fanin和fanout分别为所需初始化参数层的输入和输出神经元个数; (1.5)建立用于稳定训练的目标网络:复制一套与步骤(1.2)-(1.4)所建立的Actor和Critic网络结构和参数均相同的网络,记为目标Actor网络和目标Critic网络其中μT表示目标Actor网络,其参数为QT表示目标Critic网络,其参数为 (1.6)训练数据归一化预处理:选定训练工况,计算获得其速度序列、加速度序列、以及需求转矩和功率序列,并分别计算其均值和标准差并保存,按照标准归一化通用公式进行归一化处理 其中,mean(X)和std(X)分别表示输入数据X的均值和标准差; 当且仅当此时为电量消耗阶段策略训练,需对行驶距离d按最大行驶里程进行线性归一化。 3.如权利要求2所述的方法,其特征在于:所述步骤二具体包括以下步骤: (2.1)Actor网络预训练,按训练工况时序,基于动态规划最优能量管理策略,产生最优状态转移样本数据,其中k时刻的转移样本记为e(k)={s(k),a(k),r(k),s(k+1)},其中s(k)为k时刻的状态向量,a(k)为动作向量,r(k)为奖赏,s(k+1)为k+1采样时刻的状态向量;冻结Actor网络和目标Actor网络参数,从所有最优样本数据中随机采样得到小批量样本,依据式以下公式计算Critic网络更新梯度仅更新Critic网络参数θQ和目标Critic网络参数其中,学习率α根据Adam优化算法计算得到,重复此步骤,迭代更新5000次,使Critic网络参数基本收敛;网络更新梯度的计算公式和网络更新公式分别为: 其中,s表示s(k),以s′表示s(k+1),r表示r(k),γ为未来奖赏折扣系数,表示通过梯度反向传播计算动作价值q对Critic参数θQ的梯度,τ为跟随率; (2.2)经验池初始化:定义存储空间以存储后续训练产生的状态转移样本ek,记作经验池D;定义随机过程用于产生随机动作向量,并初始化探索率为∈=1;训练回合次数初始化为i=0,上限为N,训练工况长度为L; (2.3)设k=0,获取初始时刻的状态向量s(0)=[SoC(0),ΔSoC(0),Treq(0),Preq(0),acc(0),v(k),d(0)];更新训练回合数i=i+1; (2.4)采用∈退火贪婪策略选择当前状态s(k)下的动作向量a(k)=[We(k),Te(k)],以∈的概率选择使用随机过程产生动作向量a(k),否则选择采用当前的能量管理策略网络产生动作向量a(k)=μBM(s(k)|θμ)=[We(k),Te(k)];μBM表示电量消耗阶段的能量管理策略网络; (2.5)存储当前时刻的状态转移样本e(k),以当前时刻动作向量a(k)作为输入,执行步骤三一次,获取e(k)={s(k),a(k),r(k),s(k+1)},并计算其采样概率P(k),若经验池中样本数量尚未达到上限,则将该样本e(k)存储入经验池D,返回执行步骤(2.4);否则删除最旧的转移样本,存入新产生的转移样本e(k),执行步骤(2.6) 其中,样本优先级pk=|δk|+ε,δk为时间差分误差:ε为非零常数,保证优先级非零,β为调节优先采样程度的系数; (2.6)更新能量管理策略网络与动作价值网络,即更新AC网络;从经验池D中,服从样本采样概率,采样得到一小批量样本,此过程记为优先经验回放;根据确定性策略梯度学习原理,以及各个样本,分别计算用于策略网络参数更新的梯度和Critic网络参数更新的梯度将所得梯度取平均,作为最终更新梯度,更新Critic网络和能量管理策略网络 其中,表示通过梯度反向传播计算动作价值q对Critic网络输入a的梯度,表示通过梯度反向传播计算策略网络输出对其参数θμ的梯度,学习率α同样根据Adam优化算法计算得到; (2.7)探索率衰减,将∈以线性规律衰减: (2.8)若k<L-1,则k=k+1,并返回执行步骤(2.4),否则执行步骤(2.9); (2.9)若i≤N,返回执行步骤(2.3),否则,终止训练,保存模型网络及其参数,作为训练好的能量管理策略模型网络; (2.10)若尚未训练电量稳持阶段能量管理策略,执行此步骤,训练电量稳持阶段的能量管理策略πCS=μCS(s|θμ),μCS表示电量稳持阶段的能量管理策略网络: 针对电量稳持阶段的策略训练,其状态空间维数为Nstate=6,状态空间S和状态向量s(k)分别如下式所示; S={SoC,ΔSoC,Treq,Preq,acc,v} s(k)=[SoC(k),ΔSoC(k),Treq(k),Preq(k),acc(k),v(k)],s(k)∈S 之后,执行步骤(1.2); 否则,若此时训练不在云端服务器中执行,则将训练所得能量管理策略下载至车辆控制器,转向步骤五,否则转向步骤六的更新过程。 4.如权利要求3所述的方法,其特征在于:所述步骤三具体包括以下步骤: (3.1)获取动力系统的控制动作量和驾驶需求:获取来自步骤(2.5)的动作量输入We(k)和Te(k),即动作向量a(k)=[We(k),Te(k)];获取来自驾驶员或既定工况的需求驱动转速Wreq(k)和需求驱动转矩Treq(k);对于初始时刻k=0,有a(0)=[0,0],Wreq(k)=0,Treq(0)=0; (3.2)计算PHEV动力系统的动力响应,并评估发动机燃油消耗水平,根据给定的动作向量,以行星排的力平衡和运动特性为基础,分别计算驱动电机的转速Wmot(k)和转矩Tmot(k),发电机的转速Wgen(k)和转矩Tgen(k);以发动机万有特性图为依据,计算发动机瞬时油耗 (3.3)计算动力电池状态转移:以动力电池内阻模型为基础,结合驱动电机和发电机台架试验效率特性,计算动力电池的放电或充电功率Pbatt(k),从而计算动力电池下一采样时刻的荷电状态SoC(k+1); (3.4)获取下一时刻状态向量s(k+1):依据训练工况,获得下一时刻车辆行驶需求车速v(k+1)、加速度acc(k+1)、需求驱动转矩Treq(k+1)、需求驱动功率Preq(k+1); 若此时为电量消耗阶段能量管理策略训练,转入执行步骤四一次,获得更新后的空间域索引动力电池SoC参考值SoCref(k+1)、行驶距离信息d(k+1)、SoC偏差值ΔSoC(k+1);否则,计算SoCref(k+1)=SoCsust,ΔSoC(k+1)=SoC(k)-SoCsust,其中SoCsust为SoC稳持值; 之后,将上述各状态变量值合并作为下一时刻的状态向量s(k+1); (3.5)计算奖赏信号,依据步骤(3.4)所得SoC参考值SoCref(k+1),按照如下公式计算奖赏信号r(k): 其中,和χ分别为奖赏信号中SoC项与燃油消耗项的权重系数。 5.如权利要求4所述的方法,其特征在于:所述步骤四具体包括以下步骤: (4.1)初始化SoC参考值,以PHEV充满电的时刻为起始时刻(k=0),若此时为初始时刻,此时的行驶距离记为d(0)=0,动力电池SoC为初始值SoCinit,SoC参考值初始化为SoCref(0)=SoCinit;否则,转到步骤(4.2); (4.2)更新SoC偏差:获取当前时刻的动力电池SoC(k),计算SoC偏差值为ΔSoC(k+1)=SoC(k)-SoCref(k); (4.3)更新累积行驶距离信息:记控制器采样周期为Tsample,当前时刻车速和行驶距离分别为v(k)和d(k),新的行驶距离信息更新为d(k+1)=d(k)+v(k)·Tsample; (4.4)更新动力电池SoC参考值:SoCref(k+1)=SoCinit-λ·d(k+1),其中动力电池SoC在最大续驶里程内的期望下降速率为λ=(SoCinit-SoCsust)/L,SoCsust为动力电池电量预期稳持水平。 6.如权利要求5所述的方法,其特征在于:所述步骤五具体包括以下步骤: (5.1)获取当前时刻状态向量:若SoC高于维持水平,从车辆实际动力系统获取状态向量s(k)=[SoC(k),ΔSoC(k),Treq(k),Preq(k),acc(k),v(k),d(k)]并执行步骤(1.6)进行归一化,选择电量消耗阶段能量管理策略作为当前策略π=πBM=μBM(s(k)|θμ),其中,状态量ΔSoC(k)和d(k)通过执行步骤四获得;否则,获取状态向量s(k)=[SoC(k),ΔSoC(k),Treq(k),Preq(k),acc(k),v(k)]并执行步骤(1.6)进行归一化,选择电量稳持能量管理策略π=πCS=μCS(s(k)|θμ),其中,状态量ΔSoC(k)=SoC(k)-SoCsust; (5.2)计算当前时刻动作向量:将步骤(5.1)所得状态向量输入相应的能量管理策略π,进行网络正向传播计算,输出当前时刻的实际动作向量areal,如下式所示: areal(k)=Z·μ(s(k)|θμ) 其中,μ为表征当前能量管理策略π的Actor网络,其参数为θμ;向量Z表示相应动作量的缩放系数,将网络输出的信号映射到实际发动机转速、转矩区间; (5.3)动作向量输出频率调整:鉴于实际车辆控制器采样频率较高,将动作向量输入采样保持器再输出,以降低动作向量变化频率,避免发动机频繁启停; (5.4)动力系统响应:将步骤(5.3)输出的动作向量,发送至动力系统,动力系统响应动作向量,并发生状态转移; (5.5)转向步骤(5.1),进行下一时刻车辆能量管理控制,直到行驶结束,车辆动力系统下电,结束能量管理进程。 7.如权利要求6所述的方法,其特征在于:所述步骤六具体包括以下步骤: (6.1)根据实时行驶车速更新速度转移概率矩阵P:控制器采集并记录车辆行驶速度工况,每当行驶速度工况时长达到一小时,即Time=3600s,根据此时长为Time的实时工况,应用以下公式更新速度转移概率矩阵P: Ni(k)=Ni(k-1)+Δi 其中,速度状态空间以1m/s作为离散精度,状态数量共计M=20;k表示概率矩阵P的更新迭代次数;Pij表示车速在1s后,由状态i转移至状态j的概率;Δi表示在时长为Time的行驶工况内,速度状态i的出现频数;δi(t)为布尔值,若t时刻的速度状态为状态i则为1,否则为0;Δij表示在时长为Time的行驶工况内,速度状态由i转移至j所出现的频数;δij(t)为布尔值,若t时刻的速度状态将由状态i转移至状态j则为1,否则为0;Ni表示出现速度状态i的历史累积频数; (6.2)记录瞬时燃油消耗率,更新油耗移动平均值E:与步骤(6.1)同步执行,记录瞬时燃油消耗率,每当记录时长为Time后,利用以下公式更新空间距离上的油耗移动平均值E: 其中,为t时刻的瞬时燃油消耗率,v(t)为t时刻的行驶车速; (6.3)检测是否需要更新能量管理策略:在步骤(6.1)和(6.2)完成一次更新后,计算实际工况速度转移概率矩阵P与训练工况速度状态转移矩阵T的KL散度DKL,作为实际工况与训练工况的差异度指标,如以下公式所示: 其中,T为根据训练工况计算所得速度状态转移概率矩阵; 若DKL(P||T)>Dthreshold即训练工况差异度的阈值,且燃油消耗率移动平均值E>Ethreshold即燃油消耗水平上限,则向云端服务器发送请求,从计算云端执行步骤(6.4)至步骤(6.6),以更新能量管理策略;同时,车辆控制器返回继续执行步骤(6.1); (6.4)生成新的训练工况:云端服务器获取当前的实际工况速度状态转移概率矩阵P,将车辆行驶速度状态转移视为马尔科夫过程,采用马尔科夫链蒙特卡洛模拟方法,生成与原始训练工况时长相同的新工况; (6.5)策略训练:以新生成的训练工况为输入,于云端服务器中执行步骤一至步骤二,重新训练新的电量消耗阶段能量管理策略πBM和电量稳持阶段能量管理策略πCS; (6.6)策略更新:通过车载无线通讯,将新策略从云端下载至整车控制器以更新旧策略,同时更新控制器中的速度状态转移概率矩阵T=P;此时,步骤五将正常执行,当且仅当步骤(5.1)被执行时,新策略生效。
所属类别: 发明专利
检索历史
应用推荐