基于深度强化学习的空空导弹越肩发射制导律设计方法

文档序号:30135489发布日期:2022-05-21 00:52阅读:506来源:国知局
基于深度强化学习的空空导弹越肩发射制导律设计方法

1.本发明涉及飞行器控制领域,具体而言,涉及基于深度强化学习的空空导弹越肩发射制导律设计方法。


背景技术:

2.在现代空战中,随着战机机动能力的不断增强,近距格斗的场景也愈加复杂。为了提高战机在近距格斗中的作战能力,能够攻击后半球目标的越肩发射方式成为研究的重点。采用越肩发射方式的空空导弹可以在发射后迅速改变飞行方向,在导引头锁定目标后进入末制导阶段,从而使导弹具备全向攻击能力。然而导弹在大攻角转向阶段将面临如不对称涡脱落、诱导力矩等复杂的气动现象,属于典型的强非线性高不确定性系统,因此对导弹的制导与控制系统提出更高的要求。
3.目前关于越肩发射的研究主要集中于鲁棒的驾驶仪设计,而关于制导律设计的方法相对较少。目前普遍采用的方式为用驾驶仪跟踪离线优化弹道或常值攻角,但在复杂的气动环境以及瞬息万变的空战态势下很容易在越肩发射后丢失目标。合适的制导律不仅可以适应战场动态变化,而且可以降低驾驶仪设计负担,提高导弹制导控制系统整体的鲁棒性。
4.进一步考虑到目前导弹型号的机动能力和未来发展潜力,所设计的基于深度强化学习的制导律可以方便设置导弹的最大可用攻角,从而增大了本发明可能的适用范围与实施的现实可能性。在日益复杂的空战环境和高机动战机的挑战下,本发明提出的智能制导律具有重要的应用价值。


技术实现要素:

5.本发明的主要目的在于提供一种基于深度强化学习的空空导弹越肩发射制导律设计方法,以至少解决上述问题。
6.根据本发明的一方面,提供了一种基于深度强化学习的空空导弹越肩发射制导律设计方法,包括:
7.步骤1,对越肩发射进行归一化动力学建模。对模型进行归一化可以使各状态量具有相近的量级,从而使神经网络的权重更新能够更加稳定。首先对导弹越肩发射的场景进行建模,可以得到气动系下的动力学方程与惯性系下的运动学方程以及考虑质量变化的方程。
8.步骤2,进一步地,为了适应强化学习的研究范式,需要将步骤1中的研究问题建模为马尔科夫决策过程。具体过程包括步骤201至步骤203。
9.步骤201,动作空间设置。为了保证系统动态的平稳性,选用攻角α的一阶导数作为系统输入。此外,将作为动作还可以方便满足导弹的机动能力限制。但随着未来空空导弹机动能力的发展,尤其是在推力矢量或反作用喷气的辅助下,可用攻角的限制也将随之取消。
10.步骤202,状态空间及观测空间设置。在步骤201设置动作的基础上,设置智能体的状态空间和观测空间,但并不是系统中所有的状态都对控制指令的决策有意义。冗余的观测将导致训练的不稳定,而不足的观测则容易直接导致训练不收敛。
11.步骤203,奖励函数设置。奖励函数的设置对最终训练效果有着重要的影响,为了避免奖励稀疏,这里设计的奖励函数为其中为期望转弯角度,θm为导弹弹道倾角,λ1,λ2,λ3为需要设置的超参数,用于调节各项之间的比例。且为了提高最终转弯精确度,引入额外奖励r
bonus
,其值为其中rb为在满足精度条件时的额外奖励,rb需要与前面各项相协调以保证智能体在理想精度θ
thre
内获得合适的奖励。
12.步骤3,搭建算法网络,设置算法参数。本发明中选用的深度学习算法为近端策略优化算法(proximal policy optimization,ppo),该算法包含actor网络和critic网络,网络权重参数采用随机化参数。
13.步骤4,在训练达到目标奖励值或最大步数之前,智能体将根据ppo算法不断收集状态转移数据及奖励,并不断迭代更新actor网络和critic网络的参数。具体包括步骤401至步骤404。
14.步骤401,在当前策略下收集轨迹数据并缓存至经验池,直至经验池存满。在每个仿真步长中,对于当前观测值o
t
,执行当前策略得到当前动作a
t
,并根据系统动力学方程积分得到下一时刻的状态s
t+1
和观测o
t+1
,同时获得奖励r
t

15.步骤402,采用广义优势估计(generalized advantage estimator,gae)的方法估计优势函数最终的优化目标其中c
vf
和cs是调整各项比例的超参数。为增加更有优势的动作的概率的截断目标,为值函数损失项,为鼓励探索的最大化熵项。
16.步骤403,从经验池中按照batch的大小取出轨迹数据,并将优化目标j
ppo
(θ)采用随机梯度下降的方式优化actor网络和critic网络的参数,直到经验池中数据完成k个epoch的更新。
17.步骤404,考虑到初始转弯指令的随机性,比较新旧策略所获累积奖励的期望,更新最终输出的网络参数。
18.步骤405,重复步骤401至步骤404直至训练得到目标奖励值或达到最大训练步数,得到actor网络将作为最终的策略网络可以直接部署在弹载计算机上,实时生成攻角制导指令。
19.本发明的优点及有益效果在于:应用本发明的技术方案,可以使导弹在复杂的气动环境中获得具有次优性和鲁棒性的攻角制导律,且考虑了导弹不同机动能力的限制,在未来空战中具有实用价值。
附图说明
20.图1为根据本发明的具体实施例提供的空空导弹越肩发射平面交战几何示意图。
21.图2为根据本发明的具体实施例提供的采用ppo算法的智能体与环境交互的示意图。
22.图3为根据本发明的具体实施例提供的导弹分别在机动能力受限制和不受限制两种情况下的学习曲线。
23.图4a为导弹在机动能力受限制时的转弯角度收敛曲线。
24.图4b为导弹在机动能力不受限制时的转弯角度收敛曲线。
25.图5a为根据本发明的具体实施例提供的机动能力受限制的智能体与最优解的导弹速度随时间变化曲线。
26.图5b为根据本发明的具体实施例提供的机动能力受限制的智能体与最优解的导弹攻角随时间变化曲线。
27.图5c为根据本发明的具体实施例提供的机动能力受限制的智能体与最优解的导弹弹道倾角随时间变化曲线。
28.图5d为根据本发明的具体实施例提供的机动能力受限制的智能体与最优解的导弹在纵平面的弹道曲线。
29.图6a为根据本发明的具体实施例提供的机动能力不受限制的智能体与最优解的导弹速度随时间变化曲线。
30.图6b为根据本发明的具体实施例提供的机动能力不受限制的智能体与最优解的导弹攻角随时间变化曲线。
31.图6c为根据本发明的具体实施例提供的机动能力不受限制的智能体与最优解的导弹弹道倾角随时间变化曲线。
32.图6d为根据本发明的具体实施例提供的机动能力不受限制的智能体与最优解的导弹在纵平面的弹道曲线。
33.图7a为导弹机动能力受限制下终端时刻弹道倾角偏差和攻角分布。
34.图7b为导弹机动能力不受限制下终端时刻弹道倾角偏差和攻角分布。
具体实施方式
35.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.步骤1,对越肩发射进行归一化动力学建模。对模型进行归一化可以使各状态量具有相近的量级,从而使神经网络的权重更新能够更加稳定。首先对导弹越肩发射的场景进行建模,可以得到如下气动系下的动力学方程与惯性系下的运动学方程以及考虑质量变化的方程。
[0037][0038][0039][0040][0041]
其中为导弹归一化后飞行速度,为归一化后弹道倾角,为归一化后横坐标,为归一化后纵坐标,为前述各量相应变化率,而v
*
、θ
*
、x
*
、y
*
为前述各量相应的归一化因子。此外α为导弹攻角,p为主发动机推力,t
rcs
为反作用喷气发动机推力,u
p
和u
rcs
分别为主发动机和反作用喷气发动机的开关机逻辑量,fd和f
l
分别为具有较强不确定性的阻力和升力,m为导弹质量,mc为质量流量,g为重力加速度常数。
[0042]
步骤2,进一步地,为了适应强化学习的研究范式,需要将步骤1中的研究问题建模为马尔科夫决策过程。具体过程包括步骤201至步骤203。
[0043]
步骤201,动作空间设置。为了保证系统动态的平稳性,选用攻角α的一阶导数作为系统输入。此外,将作为动作还可以方便满足导弹的机动能力限制。如果导弹存在可用攻角限制即|α|<α
max
,其中α
max
为攻角限制,则但随着未来空空导弹机动能力的发展,尤其是在推力矢量或反作用喷气的辅助下,可用攻角的限制也将随之取消。
[0044]
步骤202,状态空间及观测空间设置。在步骤201设置动作的基础上,系统的状态空间变为但并不是系统中所有的状态都对控制指令的决策有意义。冗余的观测将导致训练的不稳定,而不足的观测则容易直接导致训练不收敛。在本发明中,观测空间被设置为其中其中为期望的转弯角度。
[0045]
步骤203,奖励函数设置。奖励函数的设置对最终训练效果有着重要的影响,为了避免奖励稀疏,这里设计的奖励函数为其中λ1,λ2,λ3为需要设置的超参数,用于调节各项之间的比例。且为了提高最终转弯精确度,引入额外奖励r
bonus
,其值为其中rb与前面各项相协调以保证智能体在理想精度θ
thre
内获得合适的奖励。
[0046]
步骤3,搭建算法网络,设置算法参数。本发明中选用的深度学习算法为近端策略优化算法(proximal policy optimization,ppo),该算法包含actor网络和critic网络,网络权重参数采用随机化参数。
[0047]
步骤4,在训练达到目标奖励值或最大步数之前,智能体将根据ppo算法不断收集
状态转移数据及奖励,并不断迭代更新actor网络和critic网络的参数。具体包括步骤401至步骤404。
[0048]
步骤401,在每个仿真步长中,基于当前观测值执行当前策略得到当前动作的概率均值,即在高斯分布中采样得到当前动作并根据系统动力学方程f(x
t
,a
t
,t)积分得到下一时刻的状态s
t+1
和观测o
t+1
,同时计算奖励直至该回合结束,收集到一组轨迹{s0,o0,a0,r1,s1,o1,a1,r2,s2…
}。在当前策略下收集轨迹数据并缓存至经验池,经验池中可缓存多个回合的轨迹,直至经验池存满。
[0049]
步骤402,采用广义优势估计(generalized advantage estimator,gae)的方法估计优势函数并采用截断的方式计算网络更新的目标函数以增加更有优势的动作的概率其中意为求取期望值,r
t
(θ)为表征新旧策略的概率比率以将更新步长控制在信赖域内,clip(
·
)为截断函数,∈是作为截断因子的超参数。进一步,为了提高critic网络对价值函数估计的准确性,在的基础上再引入值函数损失项和鼓励探索的最大化熵项得到最终的优化目标其中c
vf
和cs是调整各项比例的超参数。
[0050]
步骤403,从经验池中按照batch的大小取出轨迹数据,将之设置为nb。并将优化目标j
ppo
(θ)采用随机梯度下降的方式优化actor网络和critic网络的参数,直到经验池中数据完成k个epoch的更新。网络参数的更新公式为其中α
lr
为学习率。
[0051]
步骤404,考虑到初始转弯指令的随机性,比较新旧策略所获累积奖励的期望,如果其中意为求取期望值,r(θ

)*为在最终待输出的策略π
θ
*下获得的回合累积奖励,r(θ)为步骤403网络更新后的策略π
θ
下获得的回合累积奖励,则将令最终策略的网络参数θ

=θ。
[0052]
步骤405,重复步骤401至步骤404直至训练得到目标奖励值或达到最大训练步数,得到actor网络将作为最终的策略网络可以直接部署在弹载计算机上,实时生成攻角制导指令。
[0053]
由于强化学习采用的是离线训练,在线部署的方式,对计算性能要求高的训练部分是在地面工作站完成,而最终得到的策略网络π
θ*
则本质上是一系列的矩阵运算与激活函数运算,占用内存和计算资源小,可以满足在线计算的实时性要求。
[0054]
此外,本发明采用的近端策略优化算法(proximal policy optimization,ppo)是一种不基于模型的基于策略梯度的强化学习算法,常用于生成连续动作空间策略的问题,在多个领域都表现出了出色的性能。由于ppo算法在训练过程中无需对系统进行建模而是直接根据策略网络做出决策,因此非常适合于本发明中导弹在大攻角状态下气动参数不稳定、干扰强的场景,能够表现出远超一般制导律的鲁棒性。ppo算法稳定性强,对参数不敏感,实施简单,适合解决建模难度大、干扰噪声强、不确定性及非线性强的复杂系统控制问
题。ppo算法采用的是actor-critic的架构,包含一个actor网络和一个critic网络,通过最大化累积奖励优化actor策略。actor网络基于当前观测得到动作的高斯分布均值,在训练过程中适当设置噪声可以鼓励探索,避免过早陷入局部最优,而在部署验证时则不加噪声以保证策略实施的稳定性。critic网络对actor网络在当前观测下做出的动作做出评价,作为actor网络优化的依据。因此在迭代训练的过程中,不仅actor网络需要训练,critic网络也需要训练,但在部署验证时则只需要actor网络而不需要critic网络。对深度神经网络进行训练是将储存在经验池中的轨迹数据分批次取出,按照minibatch的方式训练k个epoch。这里需要说明的是,虽然在ppo算法中设置有经验池,但ppo算法一种同策算法而非异策算法,这是因为在经验池中储存的轨迹数据都是根据当前策略π
θk
得到的,而没有其他的策略。
[0055]
为了对本发明有进一步地了解,下面结合附图对本发明的基于强化学习的多弹协同攻击制导律设计方法进行详细说明。
[0056]
步骤1,对越肩发射进行归一化动力学建模。根据图1中的交战几何示意图,其中r
tm
为导弹与后半球目标之间的距离,rcs为反作用喷气装置,在本示例中作为理想驾驶仪存在。导弹在大攻角下的气动参数(在本示例中主要是升力系数和阻力系数)存在较大不确定性,且难以通过经验公式获得,在本例中采用的是通过有限元软件fluent计算得来。在每个回合训练的初始条件如表1所示。此外,智能体在训练过程中,一个回合中的转弯指令是不变的,但在每个回合初始化时取[30
°
,180
°
]和[-180
°
,-30
°
]中的随机值。
[0057]
表1训练场景的初始条件
[0058][0059]
步骤2,为了适应强化学习的研究范式,需要将步骤1中的研究问题进一步建模为马尔科夫决策过程。具体过程包括步骤201至步骤203。
[0060]
步骤201,选用攻角α的一阶导数作为动作。如果导弹存在可用攻角限制即|α|<α
max
,其中α
max
为攻角限制,在本示例中取α
max
=90
°
,但随着未来空空导弹机动能力的发展,尤其是在推力矢量或反作用喷气的辅助下,可用攻角的限制也将随之取消。若存在可用攻角限制,则令
[0061]
步骤202,在步骤201的基础上设置动态系统的状态空间及观测空间。系统的状态
空间变为观测空间被设置为其中其中为期望的转弯角度。
[0062]
步骤203,奖励函数设置。奖励函数的设置对最终训练效果有着重要的影响,为了避免奖励稀疏,这里设计的奖励函数为其中λ1,λ2,λ3为需要设置的超参数,在本示例中分别设置为-0.1、2、1.5。因此即时奖励为且为了提高最终转弯精确度,引入额外奖励r
bonus
,为保持合适的精度和奖励值,其值为
[0063]
步骤3,搭建算法网络,设置算法参数。本发明中选用的深度学习算法为近端策略优化的ppo算法,该算法包含actor网络和critic网络。进一步地,由于转弯指令在[30
°
,180
°
]和[-180
°
,-30
°
]两个区间内随机取值,因此这里设置了两个actor网络平行训练,网络权重参数采用随机化参数。actor网络和critic网络的结构如表2所示。
[0064]
表2网络结构参数
[0065][0066]
步骤4,在训练达到目标奖励值或最大步数之前,智能体将根据ppo算法不断收集状态转移数据及奖励,并不断迭代更新actor网络和critic网络的参数。具体包括步骤401至步骤404。智能体与环境交互收集数据并更新网络参数的示意图见图2。如果目标初始位置在[-30
°
,30
°
]范围内,则导弹不需要进行大机动转弯,而直接根据经典制导律如比例导引给出过载指令nc即可,如果导弹需要进行大攻角转弯,则需要把经过积分器后得到攻角指令αc,再由导弹的自动驾驶仪进行跟踪。驾驶仪致动器在大机动阶段采取推力矢量(tvc)或反作用喷气(rcs),而在末制导小攻角阶段则可以加入气动舵。
[0067]
步骤401,在当前策略下收集轨迹数据并缓存至经验池,取nd=2
12
。在每个仿真步长中,对于当前观测值o
t
,执行当前策略得到当前动作a
t
,即攻角的一阶导数并根据系统动力学方程积分得到下一时刻的状态s
t+1
和观测o
t+1
,同时获得奖励r
t
。经验池中可缓存多个回合的轨迹,直至经验池存满。
[0068]
步骤402,采用广义优势估计(generalized advantage estimator,gae)的方法估计优势函数并采用截断的方式计算网络更新的目标函数以增加更有优势的动作的概
率其中r
t
(θ)为表征新旧策略的概率比率以将更新步长控制在信赖域内,取截断因子∈=0.3。进一步,为了提高critic网络对价值函数估计的准确性,在的基础上再引入值函数损失项和鼓励探索的最大化熵项得到最终的优化目标取和cs=0.01是调整各项比例的超参数,其中σ(r)为奖励标准差,即该系数为一动态调整系数。
[0069]
步骤403,从经验池中按照batch的大小取出轨迹数据,取nb=2
10
,并将优化目标j
ppo
(θ)采用随机梯度下降的方式优化actor网络和critic网络的参数,直到经验池中数据完成k个epoch的更新,取k=4。网络参数的更新公式为其中学习率α
lr
取10-4

[0070]
步骤404,考虑到初始转弯指令的随机性,比较新旧策略所获累积奖励的期望,如果其中r(θ

)为在最终待输出的策略π
θ*
下获得的回合累积奖励,r(θ)为步骤503网络更新后的策略π
θ
下获得的回合累积奖励,则将令最终策略的网络参数θ

=θ。
[0071]
步骤405,重复步骤401至步骤404直至训练得到目标奖励值或达到最大训练步数,得到actor网络将作为最终的策略网络可以直接部署在弹载计算机上,实时生成攻角制导指令。
[0072]
根据上述具体示例,对智能体进行训练,设置最大训练步数为5
×
106,得到训练曲线如图3。图中两条训练曲线分别为攻角存在限制的情况与攻角不存在限制的情况,阴影部分代表同一网络参数下不同随机初始转弯指令的奖励分布,而实线则为其平均值。从训练曲线可以看出智能体在本示例中得到了顺利收敛。
[0073]
进一步地,将训练后的智能体在[30
°
,180
°
]和[-180
°
,-30
°
]的转弯角度下进行验证,导弹的弹道倾角与指令角度的偏差值如图4a-4b所示。其中,图4a为导弹在机动能力受限制时的转弯角度收敛曲线,图4b为导弹在机动能力不受限制时的转弯角度收敛曲线。从中可以看出无论机动能力是否有限制,即最大攻角是否有限制,导弹都能完成转弯任务。但由于许用攻角的限制影响了导弹的机动能力,因此导弹的转弯时间更长。
[0074]
进一步地,通过仿真实验,验证了基于深度强化学习的越肩发射制导律不仅能够满足基本任务要求,而且具有次优性、鲁棒性。将本示例中的智能体与通用优化软件gpops得到的结果进行对比,攻角受限制下的情况为图5a-5d,其中,图5a为导弹速度随时间变化曲线,图5b为导弹攻角随时间变化曲线,图5c为导弹弹道倾角随时间变化曲线,图5d为导弹在纵平面的弹道曲线。攻角不受限制下的情况为图6a-6d,其中,图6a为导弹速度随时间变化曲线,图6b为导弹攻角随时间变化曲线,图6c为导弹弹道倾角随时间变化曲线,图6d为导弹在纵平面的弹道曲线。从图5a至图5d以及图6a至图6d的结果可以看出,图5b和图6b中的基于强化学习的制导律给出的攻角指令与gpops求解的最优攻角指令十分接近,而速度、弹道倾角、弹道曲线也都能逼近最优解。这里需要说明的是,gpops求得的结果是开环离线的,而强化学习制导律得到的则是闭环在线的,即同一个actor网络可以适应各种不同的转弯
角度。此外优化软件在环境过于复杂的情况下将面临求解困难,比如在本示例中就需要对导弹复杂的气动进行适当的简化才能进行求解,但所求的解对于证明强化学习制导律的次优性仍然是有意义的。为了进一步验证智能体的鲁棒性,本示例中设置了恶劣的不同于训练环境的初始条件,如表3所示。拉偏条件不仅考虑了气动系数的拉偏,而且考虑了初始速度的泛化以及应对主发动机推力不稳定的情况,这样的验证环境是智能体在训练过程中不曾遇到的。最终得到的终端状态如图7a和7b所示,其中,图7a为导弹机动能力受限制下终端时刻弹道倾角偏差和攻角分布,图7b为导弹机动能力不受限制下终端时刻弹道倾角偏差和攻角分布。导弹机动能力受限制下终端时刻弹道倾角偏差不超过0.3
°
,攻角收敛至不超过0.9
°
,导弹机动能力受限制下终端时刻弹道倾角偏差不超过0.7
°
,攻角收敛至不超过0.9
°
。可以看到导弹仍然以很高的精度完成了转弯,且表现出智能体在训练外的场景下的泛化能力。这主要是得益于本发明采用的是不急于模型的深度强化学习算法,因此在模型发生较大偏差的情况下仍然能够保持较高的精度。
[0075]
表3拉偏条件
[0076][0077]
综上所示,本发明提出的基于深度强化学习的空空导弹越肩发射制导律设计方法能够在复杂的作战环境下为导弹的大机动转弯提供实时攻角指令。首先针对导弹面临来自后半球的威胁的作战场景对导弹越肩发射进行归一化的动力学建模,其中考虑了气动的强不确定性,这是由于导弹在大攻角下的特殊气动特性所决定的。为了应对气动不确定性,本发明采用了不基于模型的深度强化学习算法ppo,并将动力学模型建构为马尔科夫决策模型,最终得到训练后的策略网络。且在训练中同时考虑了可用攻角受限制和不受限制两种情况,从而兼顾了目前的导弹的实际能力和未来的发展潜力。智能体的训练部分对计算性能要求较高,但这部分可以在地面工作站离线完成,而最终得到的策略网络可以直接部署在弹载计算机上,占用内存和计算资源小,可以满足在线计算的实时性要求。采用强化学习制导律的导弹在发射后攻角迅速变大,同时速度降低,将弹道倾角转到指令值,使得导弹导引头能够顺利锁定目标,为末制导提供有利的交班条件。此外,本发明还在提供的示例中验证了训练后的智能体的次优性和鲁棒性。智能体给出的解与通用优化软件给出的最优解十分接近,同时在恶劣的仿真环境下智能体仍然能保持较高的精度,验证了其泛化性能和鲁棒性。在日益复杂的空战环境和高机动战机的挑战下,本发明提出的智能制导律具有重要的应用价值。
[0078]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1