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

一种基于强化学习的航空发动机过渡态寻优控制方法

2022-06-29 23:03:41 来源:中国专利 TAG:


1.本发明属于航空发动机过渡态技术领域,涉及一种应用于航空发动机过渡态加速寻优控制方法。


背景技术:

2.航空发动机各种过渡态工作性能是衡量发动机性能极为重要的指标,加速过程控制是航空发动机典型的过渡态控制,加速控制的快速性与安全性直接影响航空发动机及飞机性能。一般而言,加速控制要求在给定的各类指标约束条件下,使发动机从某一工作状态过渡到另一工作状态的时间最小。
3.目前存在的方法主要可分为以下三种,近似确定法,基于动态规划的最优控制方法和提取功率法等。近似确定法是以发动机稳定工作状态下的平衡方程近似过渡态的工作情况为基础确定发动机过渡态加速规律,存在设计精度低,实现过程复杂等缺点。动态规划法是基于发动机动态特性计算模型,存在多种约束的优化方法,即直接在该模型基础上建立所需性能的目标函数,通过优化算法来寻找最优过渡态控制规律,其关键在于非线性优化算法的实现,常见的有约束变尺度法,二次序列规划法,遗传算法等,存在数值方法复杂,计算量大及鲁棒性问题等缺点。提取功率法是通过在发动机稳态特性计算模型的基础上额外增加转子提取功率,使其近似于过渡态情况,以设计最优控制规律,此方法忽略了容积效应以及多转子之间的动态耦合等因素影响。在目前已有的航空发动机过渡态控制方法中,加速控制规律的设计均存在设计过程复杂,鲁棒性,工作范围小等问题。


技术实现要素:

4.针对现有航空发动机过渡态控制规律设计方法在设计复杂、工作范围小、鲁棒性差等问题,本发明提供一种基于强化学习的航空发动机过渡态加速控制方法。
5.本发明采用的技术方案为:
6.一种基于强化学习的航空发动机过渡态加速控制方法,其设计过程包括以下步骤:
7.s1基于现有的某型双轴涡轮风扇发动机模型,将其调整为适用于调用强化学习算法的模型。具体如下:
8.s1.1根据发动机过渡态控制需求,将双轴涡轮风扇发动机模型的输入输出变量进行选择,包括燃油流量、飞行条件、高低压转子转速、油气比、喘振裕度以及涡轮入口总温。
9.s1.2调整后的双轴涡轮风扇发动机模型为了方便强化学习算法的调用与训练,将双轴涡轮风扇发动机模型通过封装为直接调用的实时模型,加快训练与仿真速度,相较于传统的模型直接进行训练的方式训练速度得到大幅提升。
10.s2为了同时满足实时模型的高位状态空间和连续动作输出,设计actor-critic网络模型。具体如下:
11.s2.1采用actor网络生成动作,所述actor网络由传统深度神经网络组成,每一步
的输出行为a
t
可以通过确定性策略函数μ(s
t
)和输入状态s确定,用深度神经网络对策略函数进行拟合,参数为θ
μ
,根据实际需要确定每一参数的具体内容。
12.s2.2设计相应的actor网络结构,包括输入层、隐含层和输出层,其中隐含层的作用需要包括将状态映射为特征,以及将前层输出归一化同时输入动作值。激活函数可以选择relu函数或tanh函数,但不仅限于此,常用的激活函数有:
13.(1)sigmoid函数
[0014][0015]
(2)tanh函数
[0016][0017]
(3)relu函数
[0018]
relu=max(0,x)
[0019]
(4)prelu函数
[0020]
f(x)=max(αx,x)
[0021]
(5)elu函数
[0022][0023]
s2.3 critic网络用于评价执行动作的好坏程度,由深度神经网络组成,其输入为状态-动作组(s,a),输出为状态-动作值函数q值函数,参数为θq,根据实际需要确定每一参数的具体内容。
[0024]
s2.4设计相应的critic网络结构,为了满足网络能够更好挖掘相关特征,需要在其输入状态s后加入隐含层。同时,由于critic网络的输入应有动作a,在与状态s的特征进行加权求和后再对其进行特征提取。最终的输出结果应该是与执行动作的好坏相关的q值。
[0025]
s2.5需要指出的是,深度神经网络的主要作用是作为函数拟合器,因此过多的隐含层将不利于网络训练及收敛,同时应当选择简单的全连接网络,加快收敛速度。
[0026]
s3设计基于actor-critic框架的深度确定性策略梯度(ddpg)算法,使用critic网络预估q值,actor网络输出动作,以便同时解决高维状态空间和传统dqn算法无法解决的连续动作输出的问题。具体如下:
[0027]
s3.1采用经验回放方法和批规范化方法,减少样本之间的相关性。目标网络采用软更新模式,使网络权值参数缓慢接近原训练网络,保证网络训练的稳定性。确定性行为策略使得每一步的输出都是可以计算出来的。
[0028]
s3.2 ddpg算法核心问题是处理训练目标,即最大化未来期望奖励函数j(μ),同时最小化critic网络的损失函数l(θq)。因此应当设置合适的奖励函数,使网络选择出最优策略。最优策略μ定义为最大化j(μ)的策略,定义为μ=argmax
μ
j(μ),本实例中,按照过渡态的目标要求,目标函数定义为最小化喘振裕度、涡轮前总温与加速时间。
[0029]
s3.3 ddpg算法是异策略算法,在连续空间中进行学习探索的过程可以独立于学习算法。因此需要在actor网络策略输出中添加噪声作为新的探索策略。
[0030]
s3.4为了避免从低维特征向量观测中学习时,不同分量的不同物理单位和数值相
差较大所带来的难以有效学习,使得神经网络很难找到可以针对不同环境和范围且具有较好泛化能力的超参数。因此,在设计的过程中,对训练样本的每个维度进行标准化,使其具有单位均值和方差。
[0031]
s4在将actor-critic框架与ddpg算法结合之后,便可以进行模型的训练。具体如下:
[0032]
s4.1首先根据现有需求,搭建相应计算奖励,惩罚函数模块。
[0033]
s4.2将发动机模型与强化学习网络结合,进行分批次训练,相比与传统直接训练方式,这种训练方法可以将复杂的发动机模型训练至更好的目标结果。由于发动机模型复杂且过渡态为动态过程,所以在训练时,将目标奖励值范围手动调大,进行预训练,当满足基本要求后,依次减小目标奖励值范围,直到满足相应要求。
[0034]
s4.3为了使策略最优,且控制器具有鲁棒性,在参考目标上增加
±
5%的随机量,使当前控制器模型具有最优的控制量输出。
[0035]
s4.4为了设计满足多工况下的燃油供给规律,在保持高度、马赫数不变的前提下,改变转子目标转速,进行多次训练。
[0036]
s5发动机加速过渡的控制规律是由上述训练过程得到的,应用此方法对发动机加速过程进行控制,主要包含以下步骤:
[0037]
s5.1在训练结束后,会得到相应的控制器参数,需要注意的是,每一个工况对应一个控制器参数,此时的控制器输入为目标转速值,输出为供给发动机的燃油流量。
[0038]
s5.2在当前工况下的控制规律由模型直接给出,只需将模型的输出与发动机的输入直接相通即可进行对发动机加速过程的过渡态控制。
[0039]
本发明的有益效果:通过本发明所提供的发动机加速过渡寻优方法,相对于传统非线性规划的方法,通过使用强化学习技术、神经网络逼近技术及动态规划的方法,避免了求解hjb方程所引起的维数灾和求解时间由后向前的难处,可以直接有效的解决设计最优燃油加速计划问题。同时,本方法所设计的控制器可以适用于多种工况下的加速过渡,提高了发动机加速控制器的自适应性,更加接近飞机在多种情况下发动机的真实工作情况。此外,在设计控制器的过程中,在输入输出均加入了一定程度的扰动,使得学习后的控制器性能更加可靠,具有一定的鲁棒性。最后,在奖惩函数设计过程中,直接将发动机最优控制的目标函数及各种边界条件当作奖惩函数,设计方式简单,最终结果响应快,超调小,控制精度满足要求,相对于其他已有的智能控制方法其设计方法更为简洁且便于实施。
附图说明
[0040]
图1为基于强化学习的航空发动机过渡态控制系统设计流程图;
[0041]
图2为基于强化学习的航空发动机过渡态控制系统结构示意图;
[0042]
图3为某型发动机模型系统结构示意图;
[0043]
图4为actor网络结构;
[0044]
图5为critic网络结构;
[0045]
图6为actor-critic网络框架;
[0046]
图7为基于actor-critic网络框架的ddpg算法训练流程;
[0047]
图8为80%转速加速控制过程,其中图(a)为低压转子转速变化曲线,图(b)为高压
转子转速变化曲线,图(c)为涡轮前总温变化曲线,图(d)为压气机喘振裕度变化曲线,图(e)为加速所需的燃油流量,同时也是控制量。
[0048]
图9为100%转速加速控制过程,其中图(a)、图(b)、图(c)、图(d)及图(e)的意义与以上图中所描述的相同。
具体实施方式
[0049]
下面结合附图对本发明进一步说明,在此列举的本发明实施将以某型双轴涡扇发动机为被控对象,基于强化学习的航空发动机过渡态控制系统设计流程图如图1所示。
[0050]
图2为基于强化学习的航空发动机过渡态控制系统结构示意图。从图中可以看出,控制器主要包括动作网络和评价网络两部分,其中动作网络所输出的是控制量,评价网络输出的是评价指标。被控对象为涡扇发动机,输出发动机状态等信息。在控制器设计过程中,实际上即为设置合适的评价指标函数,训练动作网络和评价网络以得到最优的权重值,最终得到完整的发动机过渡态控制规律。为方便起见,在控制器设计过程中涉及到的主要参数及意义如表1所示。
[0051]
表1基于强化学习的航空发动机过渡态控制系统主要设计参数及意义
[0052]
符号意义h高度ma马赫数t4涡轮前总温wf燃油流量n
l
低压转子转速nh高压转子转速smc压气机喘振裕度far油气化δwf燃油流量变化速率a动作s状态π策略q在确定状态下,当前动作所获得的收益
[0053]
图3为某型发动机模型系统结构示意图,在通过对过渡态控制需求的分析,对发动机模型输入输出进行调节。在本实例中发动机模型所需的输入为高度、马赫数和燃油流量,输出状态为低压转子转速、高压转子转速、涡轮前总温、油气比和压气机喘振裕度。
[0054]
图4为actor网络结构。actor网络的输入输出分别为模型环境的状态量s与动作量a,在本实例中,环境的状态量为发动机低压转子转速,动作量为发动机燃油流量。每一步动作量的输出可以通过确定性策略函数μ得到,其计算公式为a
t
=μ(s
t
)。策略函数的获取可以通过深度神经网络进行拟合。在本实例中,由于发动机模型为强非线性模型,因此较多的隐含层不利于模型的训练与特征的提取,所以actor的网络共4层,其中第一层为输入层,第二层为隐含层,目的是将发动机状态映射为特征,第三层为隐含层,目的是将特征进行归一化处理得到动作值即燃油流量,这两层隐含层均选择较为简单的relu函数作为激活函数,最
后一层为输出层。网络的更新采用链式法则,首先将策略函数参数化,获得策略网络即μ(s|θ),将期望未来函数j对参数进行求导得到策略梯度,然后获得所有传给模型的动作值,进而得到状态转换集,用这个集合对策略进行训练得到最优策略。策略梯度的计算公式为:
[0055][0056]
式中,θ为网络参数,s
t
为当前状态,ρ
β
为所有动作的策略状态访问分布,a为动作量,q为critic网络,μ为actor网络,ω为网络参数,e为期望函数。通过这个公式对网络进行训练,进而获得最优策略。
[0057]
图5为critic网络结构。critic网络的输入为状态和动作,输出为q值函数。设置5层网络,分别是输入层,三个隐含层和输出层。与actor网络不同的是,critic网络有两个输入,一个是状态,这就需要一层隐含层提取特征,另一个是动作,将动作值和上述特征加权求和作为下一隐含层的输入,再通过另一隐含层后输出q值至输出层。与actor网络采用的激活函数相同,也采用relu函数作为激活函数。q值函数表示的是在当前状态下按照所选择策略执行动作所得到的期望回报值,计算公式为:
[0058][0059]
式中,q为critic网络,s为状态量,下标next代表下一时刻,a为动作量,π为策略,e为期望函数,r为奖励函数,γ为折扣因子,next为下一时刻的数值。为了寻找更新critic网络参数的办法,引入损失函数,最小化损失函数进而对参数进行更新。损失函数表示为:
[0060][0061][0062]
式中,loss为损伤函数,θ为网络参数,q为critic网络,ρ
β
为所有动作的策略状态访问分布,α为更新步长,β为步长的访问分布,s为状态,r为奖励函数,e为期望函数,y为计算目标标签,a为动作量,下标next代表下一时刻,γ为折扣因子,μ为actor网络。
[0063]
图6为actor-critic网络框架。从图中可以看出,这种网络框架有策略和值函数两种结构。策略用于动作选取,值函数用于评估策略生成动作的好坏程度,以时间差分(td)误差的形式表示其评价信号,进而对二者进行更新。
[0064]
具体形式可以表述为:当每一次策略从环境获得状态,进行动作选择之后,值函数将对此时产生的新状态进行评价,确定其误差,如果使得td误差为正值,证明此时选择的动作将会使新的状态更贴近预期标准,下一次遇到同样的状态时将会优先考虑再次执行这个动作。同理,若使td误差为负值,证明此时的动作不会使新的状态更加靠近期望,今后就不会再对此状态继续执行该动作。同时,选择策略梯度法对策略进行更新优化,这种方法会不断计算执行该策略所获得的期望总回报对策略参数的梯度值,进而对策略进行更新,直至最优。
[0065]
图7为基于actor-critic网络框架的ddpg算法训练流程。首先对actor网络μ(s|θ
μ
)和critic网络q(s,a|θq)的权值随机初始化。然后对目标actor网络及目标critic网络进行初始化,使权值与上一步权值相同,同时初始化经验回放池。对每一个回合,随机初始化发动机状态,对该回合的每一个步长,首先根据当前策略计算输出一个动作,随后发动机执行该动作,并获得下一时刻的状态以及回报值,将当前经验包括当前状态,当前动作,下一
时刻状态及回报值存储在经验回放池中,然后从经验回放池中随机小批次采样m个经验,计算当前的目标标签值y,通过y计算当前的损失函数loss(θq),最小化损失函数对critic网络的权值进行更新,然后采用策略梯度法对actor网络权值进行更新,最后采用soft更新准则对目标网络进行更新,这种更新方法使学习稳定性得以提高,鲁棒性更好。公式为:
[0066][0067]
式中,θ为网络参数,q为critic网络,μ为actor网络,ξ为soft更新率,下标next代表下一时刻。至此,当前回合结束,重复多次直到训练结束即可。
[0068]
在训练时,目标函数和损失函数的确定由过渡态控制目标决定。由于加速控制是使得转速在满足各项性能安全指标的前提下以最小时间到达目标转速,因此可以设置目标函数为:
[0069][0070]
式中,j为目标函数,k为当前迭代步,m为迭代最大步,nh为高压转子转速,下标max为最大限制,δt为一个迭代步的时间间隔。
[0071]
在加速过程所考虑的约束条件为:
[0072]
高压转子不超转:
[0073]
nh≤n
h,max
[0074]
低压转子不超转:
[0075]nl
≤n
l,max
[0076]
涡轮前温度不超温:
[0077]
t4≤t
4,max
[0078]
燃烧室不富油熄火:
[0079]
far≤far
max
[0080]
高压压气机不喘振:
[0081]
smc≥sm
c,min
[0082]
燃烧室供油范围:
[0083]wf,idle
≤wf≤w
f,max
[0084]
供油量最大变化速率限制:
[0085]
δwf≤δw
f,max
[0086]
上述限制条件中,nh为高压转子转速,n
l
为低压转子转速,t4为涡轮前总温,far为燃气比,smc为高压压气机喘振裕度,wf为燃油流量,δwf为燃油流量变化率,下标max为最大限制条件,min为最小限制条件,idle为发动机慢车状态。
[0087]
在设置损失函数时,可以直接将超出部分当作惩罚值,避免其超过约束边界,如:高压转子超转损失在判断其已经超出边界后,设置为0.1*(n
h-n
h,max
),由于该惩罚值随时间进行累积,因此乘一个小于1的系数使得惩罚项的积累并不会产生太大导致累积为负无穷的情况。同理其他限制边界也类似设置即可。
[0088]
在训练的过程中,由于发动机的强非线性,直接进行训练消耗时间太长,且效果也
并不是很好,所以采用分级训练的方式,即首先给定大致范围内的目标值以及较为放松的惩罚函数,在训练结果满足基本要求后,利用前一级的预训练模型,改变为更加严格的训练参数进行下一级的训练,直到满足相应要求。
[0089]
图8为慢车转速加速到80%转速的情况。这一情况是模拟飞机加速到额定飞行转速的情况。其中图(a)为低压转子转速变化曲线,可以看出,在2-4秒就可以加速到目标转速,加速时间短。图(b)为高压转子转速变化曲线,图(c)为涡轮前总温变化曲线,图(d)为压气机喘振裕度变化曲线,从图中可以看出,由于受约束条件的限制,使得涡轮前总温和喘振裕度都在容许的范围内。图(e)为加速所需的燃油流量,同时也是控制量,从图中可以看出,在符合相应约束的前提下,燃油流量的上升趋势为越大越好,这也符合设计过程中想要的控制器特性。
[0090]
图9为慢车转速加速到100%转速的情况。这一情况是模拟飞机起飞加速的状态,对各种边界条件相对更为严格,对发动机性能要求更好。其中图(a)、图(b)、图(c)、图(d)及图(e)的意义与以上图中所描述的相同。由发动机原理可知,在加速过程中,加速时间不能无限小,这是因为最短时间加速会增加涡轮温度,使之超过边界对涡轮造成损伤,影响飞行安全。所以从图(a)中可以看到,加速时间为3-5秒,这使得发动机各项指标都处于边界附近,但未超过边界。从上述过程可以看出,基于强化学习的航空发动机过渡态控制器可以在多种条件下对发动机进行控制,使其在约束条件内对发动机进行加速控制,控制器自身由于强化学习的优势,可靠性、自适应性和鲁棒性得到提升。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献