欢迎光临小豌豆知识网!
当前位置:首页 > 机械技术 > 发动机装置> 一种基于Q-learning的发动机转速控制方法独创技术15870字

一种基于Q-learning的发动机转速控制方法

2021-02-02 10:20:58

一种基于Q-learning的发动机转速控制方法

  技术领域

  本发明涉及汽车增程器控制技术领域,更具体的说是涉及一种基于Q-learning的发动机转速控制方法。

  背景技术

  现有的汽车电子节气门控制系统结合油门踏板位置、油门踏板变化率和当前工作模式解析驾驶员意图,获取基本扭矩需求;然后结合发动机转速、档位、车身能耗等计算整车所需的全部扭矩,再对基本节气门输出扭矩进行补偿,得到节气门最佳开度,进而将最佳开度对应的电压信号作用于节气门驱动电路控制端。

  传统的对于节气门的驱动控制多为PID控制,传统PID中各参数调节过程多采用临界比例法,通过不断增加或减小比例系数,使控制系统在当前被调参数下做等幅振荡,然后再反方向调节参数直至振荡消失,需要花费很多精力和时间,并且需要按照经验数据确定参数,而标定结果很大程度上依赖于调试人员的经验,因此对驱动电路的控制精确度较低。

  因此,如何提高增程器控制的准确性,增强增程器发动机的抗干扰能力是本领域技术人员亟需解决的问题。

  发明内容

  有鉴于此,本发明提供了一种基于Q-learning的发动机转速控制方法,本发明在借助现有的电子节气门控制器系统获得节气门最佳开度后,对Q-learning算法进行条件限制,在获得状态数据和动作数据,制定奖励函数和策略后,采用深度学习算法的Q-learning对增程器产生的大量输入输出数据进行训练,从而生成影响增程器发动机的速度环制定调整策略的动作奖励值表,提高增程器控制精确和鲁棒性,以及增强增程器发动机的抗干扰能力。

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

  一种基于Q-learning的发动机转速控制方法,包括如下步骤:

  步骤1:利用电子节气门控制器系统获得增程器发动机控制的节气门目标状态根据节气门的开合范围,将节气门位置进行离散化,均匀分布到n个采样点,获得节气门位置集合S,并根据所述节气门位置划分节气门动作空间A,根据所述节气门位置集合S和所述节气门动作空间A建立Q表,并初始化所述Q表;初始化Q-learning学习过程中学习回合数为i、最大学习回合数σ和单回合最大步数max_steps;

  步骤2:采集节气门当前实际开度,获得节气门实际位置;根据所述节气门实际位置、所述节气门目标状态sk*和限制规则获取所述节气门动作空间A内的有效动作空间;所述节气门实际位置为当前状态sk;

  步骤3:当前回合模拟步数初始设定为0,采用ε-greedy算法在所述有效动作空间内选取节气门动作ak,根据所述当前状态sk执行所述节气门动作ak后,获得新状态sk+1,k表示所述当前回合模拟步数;本次动作中用所述新状态sk+1代替所述Q表中的所述节气门动作ak,建立动作奖励值表;

  步骤4:根据所述节气门目标状态和所述新状态sk+1,采用奖励函数获得本次动作中执行所述节气门动作ak的动作奖励值rk+1;

  步骤6:根据本次动作中所述动作奖励值rk+1更新所述动作奖励值表中所述当前状态sk和所述新状态sk+1对应的所述动作奖励值,k随着状态的更新而增加;如果所述当前回合模拟步数k小于所述单回合最大步数max_steps则返回所述步骤3;否则进入所述步骤7;

  步骤7:更新所述学习回合数i=i+1,如果所述学习回合数i小于所述最大学习回合数σ,则返回所述步骤3;否则所述Q-learning学习结束,获得所述增程器发动机控制的所述动作奖励值表;

  步骤8:根据所述节气门实际位置和所述节气门目标状态在所述动作奖励值表中选取最佳所述节气门动作,从而实现所述增程器控制。

  优选的,所述限制规则为如果则所述有效动作空间内的所述节气门动作ak必须满足sign(ak)=1;如果当前节气门位置为所述当前状态sk,则k时刻选择的所述节气门动作ak必须满足0≤sk+ak≤90。

  优选的,所述奖励函数为r(x)=100-x2/81,x∈[0,90],其中sk+1为在k时刻的所述当前状态sk下执行所述节气门动作ak获得的k+1时刻的新状态。

  优选的,获得所述有效动作空间的过程为:如果则将所述节气门动作空间A中所述节气门动作ak为0对应列左侧的所述节气门动作删除,并且将ak<-sk和ak>90-sk对应的所述节气门动作ak删除,剩余的所述节气门动作ak组成所述有效动作空间;否则将所述节气门动作空间A中所述节气门动作ak为0对应列右侧的所述节气门动作ak删除,并且将ak<-sk和ak>90-sk对应的所述节气门动作ak删除,剩余的所述节气门动作ak组成所述有效动作空间;其中所述节气门动作ak=0时,所述节气门维持原来开度。

  优选的,所述步骤3中初始定义判断值ε,采用的所述ε-greedy算法随机选取动作产生一个随机数,如果所述随机数小于所述判断值ε,则采用探索型算法,在所述有效动作空间中随机选取一个所述节气门动作ak;否则采用利用型算法,选取所述当前状态sk下最大动作奖励值对应的所述节气门动作,如果所述最大动作奖励值对应的所述节气门动作个数大于1,则从所述最大动作奖励值对应的所述节气门动作中随机挑选一个作为将要执行的所述节气门动作ak。

  优选的,在所述步骤2中初始化所述Q-learning学习过程中的折损因子γ,0<γ<1,所述当前状态sk和所述新状态sk+1对应的状态奖励值为Rk=rk+1+γRk+1,其中Rk为所述当前状态sk的所述状态奖励值,Rk+1为所述新状态sk+1的所述状态奖励值,rk+1为所述当前状态sk下所述最大动作奖励值。

  优选的,所述节气门位置集合S={0,0.45,0.90,1.35,1.80,…,88.65,89.10,89.55,90.00};所述节气门动作空间A={-90.00,…,-1.35,-0.90,-0.45,0,0.45,0.90,1.35,…,90.00};所述Q表中行表示所述节气门动作空间内的所述节气门动作,列表示所述节气门位置集合中的节气门位置。

  优选的,所述动作奖励值表中行表示所述新状态,所述列表示所述当前状态。

  经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于Q-learning的发动机转速控制方法,根据增程器发动机节气门与转速的输入输出数据,获得状态数据和动作数据,将深度学习算法应用于发动机的PID调节过程,基于Q-learning算法对增程器产生的大量输入输出数据进行训练,制定奖励函数,从而基于Q-lesrning学习算法通过对节气门当前状态执行节气门动作获得节气门目标状态的奖励值进行学习,获得由节气门各个开度对应各种目标状态动作的奖励值,根据奖励值制定节气门动作策略,实现对增程器发动机的速度的自动调整,提高增程器控制精确和鲁棒性,及增强增程器发动机抗干扰能力

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

  图1附图为本发明提供的基于Q-learning发动机转速控制流程图;

  图2附图为本发明提供的基于Q-learning发动机转速自调整控制结构示意图。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  本发明实施例公开了一种基于Q-learning的发动机转速控制方法,包括如下步骤:

  S1:利用电子节气门控制器系统获得增程器发动机控制的节气门目标状态根据节气门的开合范围,将节气门位置进行离散化,均匀分布到n个采样点,获得节气门位置集合S,并根据节气门位置划分节气门动作空间A,根据节气门位置集合S和节气门动作空间A建立Q表,并初始化Q表;初始化Q-learning学习过程中学习回合数为i、最大学习回合数σ和单回合最大步数max_steps;

  S2:采集节气门当前实际开度,获得节气门实际位置;根据节气门实际位置、节气门目标状态和限制规则获取节气门动作空间A内的有效动作空间;节气门实际位置为当前状态sk;

  限制规则为:规则1:如果则有效动作空间内的节气门动作ak必须满足sign(ak)=1;规则2:如果当前节气门位置为当前状态sk,则k时刻选择的节气门动作ak必须满足0≤sk+ak≤90;

  获得有效动作空间的过程为:如果则将节气门动作空间A中节气门动作ak为0对应列左侧的节气门动作删除,并且将ak<-sk和ak>90-sk对应的节气门动作ak删除,剩余的节气门动作ak组成有效动作空间;否则将节气门动作空间A中节气门动作ak为0对应列右侧的节气门动作ak删除,并且将ak<-sk和ak>90-sk对应的节气门动作ak删除,剩余的节气门动作ak组成有效动作空间;其中节气门动作ak=0时,节气门维持原来开度;

  S3:当前回合模拟步数初始设定为0,采用ε-greedy算法在有效动作空间内选取节气门动作ak,根据当前状态sk执行节气门动作ak后,获得新状态sk+1,k表示当前回合模拟步数;本次动作中用新状态sk+1代替Q表中的节气门动作ak,建立动作奖励值表;

  初始定义判断值ε,采用的ε-greedy算法随机选取动作产生一个随机数,如果随机数小于判断值ε,则采用探索型算法,在有效动作空间中随机选取一个节气门动作ak;否则采用利用型算法,选取当前状态sk下最大动作奖励值对应的节气门动作,如果最大动作奖励值对应的节气门动作个数大于1,则从最大动作奖励值对应的节气门动作中随机挑选一个作为将要执行的节气门动作ak;

  S4:根据节气门目标状态和新状态sk+1,采用奖励函数获得本次动作中执行节气门动作ak的动作奖励值rk+1;

  奖励函数为r(x)=100-x2/81,x∈[0,90],其中sk+1为在k时刻的当前状态sk下执行节气门动作ak获得的k+1时刻的新状态;

  S6:根据本次动作中动作奖励值rk+1更新动作奖励值表中当前状态sk和新状态sk+1对应的动作奖励值,k随着状态的更新而增加;如果当前回合模拟步数k小于单回合最大步数max_steps则返回S3;否则进入S7;

  S7:更新学习回合数i=i+1,如果学习回合数i小于最大学习回合数σ,则返回步骤3;否则Q-learning学习结束,获得增程器发动机控制的动作奖励值表;

  S8:根据节气门实际位置和节气门目标状态在动作奖励值表中选取最佳节气门动作,从而实现增程器控制。

  为了进一步优化上述技术方案,在S2中初始化Q-learning学习过程中的折损因子γ,0<γ<1,在S3中采用利用型算法过程中,当前状态sk和新状态sk+1对应的状态奖励值为Rk=rk+1+γRk+1,其中Rk为当前状态sk的状态奖励值,Rk+1为新状态sk+1的状态奖励值,rk+1为当前状态sk下最大动作奖励值。

  为了进一步优化上述技术方案,节气门位置集合S={0,0.45,0.90,1.35,1.80,…,88.65,89.10,89.55,90.00};节气门动作空间A={-90.00,…,-1.35,-0.90,-0.45,0,0.45,0.90,1.35,…,90.00};Q表中行表示节气门动作空间内的节气门动作,列表示节气门位置集合中的节气门位置。

  为了进一步优化上述技术方案,动作奖励值表中行表示新状态,列表示当前状态。

  实施例

  (1)节气门刚进入训练时期,没有任何先验知识。故初始化“状态-新状态”动作奖励值表中的奖励值,如下表1所示:

  表1

  (2)假设初始状态节气门位置s0=0,目标节气门位置s0*=11.25,

  按照S2中规则1,a0>0;按照S2中规则2,a0≤90;即a0∈(0,90];

  假设ε-greedy算法选择探索型策略,则在(0,90]选取一个动作执行a0,假设a0=0.90,a0获得的奖励r1:

  r1=100-(11.25-0.90)2/81=98.68,

  s0状态下进入的新状态s1=0.90,更新“状态-新状态”动作奖励值表,结果如下表2所示:

  表2

  (3)此时节气门位置s1=0.90,若目标节气门位置不发生变化,即s1*=11.25,按照S2中规则1,a1>0;按照S2规则2,a1≤89.10;即a1∈(0,89.10];

  假设ε-greedy算法选择利用型,则在(0,89.10]选取动作奖励值最大的动作,此时“状态-新状态”动作奖励值表中(0,89.10]内所有的动作值全为0,所以要在最大动作奖励值对应的动作中随机挑选一个动作,假设a1=13.05,a1获得的奖励r2:

  r2=100-(11.25-13.95)2/81=99.91,

  执行动作a1进入的新状态s2=13.95,更新“状态-新状态”动作奖励值表,如表2中所示的13.95-0.90的奖励值为99.91。

  (4)此时节气门位置s2=13.95,若目标节气门位置变化变化,假设s2*=9.90,按照S2中规则1,a2<0;按照S2规则2,a2≥-13.95;即a2∈[-13.95,0];

  使用ε-greedy算法选取动作,假设本次为探索型策略,则在[-13.95,0]选取一个动作执行a2,假设a2=-3.15,a2获得的奖励r3:

  r3=100-(13.95-10.80)2/81=99.88,

  执行动作a2进入的新状态s3=10.80,更新“状态-新状态”动作奖励值表,如表2中所示的10.80-13.95的奖励值为99.88。

  (5)参考上述步骤继续更新“状态-新状态”动作奖励值表,如果ε-greedy中选择探索型则采用如(2)所示过程,选择利用型则采用如(3)所示过程。

  (6)更新好后的“状态-新状态”动作奖励值表如下表3所示:

  表3

  其中,采用Q-learning训练设定每次训练最大回合是200,超过这个值则训练结束。

  本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

  对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

《一种基于Q-learning的发动机转速控制方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)