基于深度神经网络的无人作战飞机自主空战机动决策
2020-09-28张宏鹏黄长强轩永波唐上钦
张宏鹏,黄长强,轩永波,唐上钦
(1.空军工程大学 航空工程学院,陕西 西安 710038; 2.空军研究院 航空兵研究所,北京 100085)
0 引言
机动决策是指战斗机根据空战过程中迅速变化的态势信息做出相应的机动动作。机动决策以获得有利的攻击位置或逃离敌机攻击范围为目的,是无人作战飞机(UCAV)进行自主空战所必须具备的关键技术。
国内外学者为解决战斗机自主决策问题提出了多种自主决策方法。文献[1]提出利用博弈论的方法,用矩阵的形式评估敌我双方可能选择的机动,从而选取对我方最有利的机动动作;文献[2]提出基于多级影响图的机动决策方法;文献[3]提出了一种结合人工势场[4]、滚动时域控制[5]和粒子群算法[6]的战斗机空战机动决策方法;文献[7]构造了基于滚动时域的无人机空战决策专家系统;文献[8]提出了结合贝叶斯推理与滚动时域优化的自主决策方案;文献[9]针对空战双方毁伤概率的不确定性,将鲁棒优化[10]思想引入无人机空战博弈模型中;文献[11]提出了基于统计学原理[12]的鲁棒机动决策方法;文献[13]提出了一种基于连续动作集强化学习的无人机机动决策方法;文献[14]提出了一种将多目标优化思想[15]与强化学习[16]相结合的机动决策模型;文献[17]将博弈论和直觉模糊集结合,解决了不确定环境下无人机空战的机动决策问题。上述方法中,矩阵博弈方法不适于大动作空间的机动决策,多级影响图法不满足实时性要求,滚动时域法和基于统计学原理的方法选择机动动作时优化区间有限,强化学习法采集到有效样本的难度极大且训练时间很长。同时,现有决策方法所使用的机动动作较少,飞机机动方式不够灵活。
为解决上述问题,本文提出了一种基于深度神经网络(DNN)的机动决策模型及方法。首先构建了新的机动动作库,共36种机动,增强了飞行的灵活性。其次,利用深度学习技术[18]和272 160种飞行样本,以当前态势及飞行控制量为输入,以一段较长时域后的态势为输出,构造了具有一定态势预测能力的DNN. 空战仿真时,利用该网络根据当前信息从机动动作库中选取输出态势最优的机动动作,从而增强决策智能化程度,避免强化学习法的低效率采样、滚动时域法优化区间有限的缺点,并满足较高的实时性要求。最后通过有效性仿真、与文献[11]方法的对抗性仿真和对空战过程的态势评估,检验了本文方法有效性及优越性。
1 UCAV飞行模型及机动动作库
1.1 UCAV飞行模型
在研究UCAV机动决策的过程中,采用以法向过载、切向过载和滚转角为飞行操控量的UCAV运动动力学模型。为简化问题的复杂度,不考虑飞行过程中的迎角和侧滑角,将地面坐标系视为惯性系,同时忽略地球自转及公转的影响,并且不考虑地球曲率变化。具体公式[19]如下:
(1)
1.2 UCAV机动动作库
美国国家航空航天局学者设计了7种基本机动动作[20]:1)保持原有状态飞行;2)最大加速直飞;3)最大过载左转;4)最大过载右转;5)最大过载爬升;6)最大过载俯冲;7)最大减速飞行。在此基础上对机动动作进行扩展,具体方式为在(-180°, 180°)范围内每隔10°选择一个滚转角,同时使UCAV纵向过载和侧向过载最大。由此构成36种机动动作,轨迹如图1所示。由于考虑了滚转角速度,给定滚转角后,飞机需要从初始滚转角开始滚转,故图中轨迹组成的图形有开口,且滚转角速度越大、开口越小。
图1 动作库Fig.1 Maneuver library
2 DNN机动决策模型
2.1 DNN简介
深度学习崛起于21世纪初,是机器学习的一个分支领域。它是从数据中学习表示的一种数学框架,强调从连续的层中进行学习[21]。深度学习中的“深度”指的并不是利用这种方法所获取的更深层次的理解,而是指一系列连续的表示层[22]。在深度学习中,这些表示层是通过叫作神经网络的模型来学习得到的。DNN的结构如图2所示。
图2 深度神经网络Fig.2 Deep neural network
2.2 DNN空战机动决模型
2.2.1 空战态势信息
机动决策的过程是根据态势信息选择最有利于己方机动动作的过程。我机与敌机的态势信息,直接或者间接影响双方武器作战效能的发挥[23],从而影响空战的最终结果。态势信息主要有以下3种:
1)距离态势:敌我距离、绝对高度和相对高度。
2)速度态势:敌我绝对速度和相对接近速度。
3)角度态势:我机机头指向相对于视线矢量的倾角和偏角,敌机机头指向相对于视线矢量的倾角和偏角,视线转动角速度。
2.2.2 DNN决策模型
本文提出一种基于DNN的决策模型,包括两个部分:DNN训练和DNN决策。具体如下:
DNN训练过程如图3所示。以UCAV机头指向在水平面的投影为x轴方向,z轴与水平面垂直,y轴方向按右手定则选取,此坐标系为采样坐标系。UCAV初始时刻位于坐标原点,以初始航迹倾角γ0、初始滚转角μ0、初始速度v0和UCAV将要采用的动作库中某一目标滚转角μt作为DNN输入,令UCAV在当前γ0、μ0、v0下采用μt飞行一段固定时间T,记录此时UCAV的航迹倾角γt和航迹偏角ψt,并将其作为DNN输出。
图3 DNN训练Fig.3 DNN training
通过对4种输入均匀采样并进行飞行仿真,得到对应的输出,由此获得大量飞行样本。再利用样本训练DNN,使其获得根据当前状态和动作预测未来状态的能力。采样范围及间隔如表1所示。
表1 采样范围及间隔Tab.1 Sampling range and interval
2.2.3 决策目标函数
本文方法用于解决近距空战的机动决策问题,目标是使己方快速达成导弹发射条件,不考虑使用航炮的攻击方式。因此,结合DNN的输出量,设计决策目标函数如下:
Tar=α1|γp-γLOS|+α2|ψp+ψt-ψLOS|,
(2)
式中:γp和ψp分别为经过DNN预测后得到的我机在2.2.2节中采样坐标系下的航迹倾角和航迹偏角;α1和α2为决策目标函数中的权重,由于满足导弹发射条件既要考虑倾角也要考虑偏角,因此进攻时取两个权重均为0.5;γLOS和ψLOS分别为视线矢量RLOS在当前坐标系下的倾角和偏角。DNN决策的目的是从动作库中选出使T时间后的目标函数值Tar最小的动作,由此使得UCAV快速达到导弹发射条件。
3 空战态势评估及胜负判定
3.1 态势评估函数
为客观描述空战过程,设计空战态势评估函数。现有决策方法的目的是找到使态势函数最大的动作,而本文方法中态势函数仅用于评估我机在空战中的优劣势情况,不参与机动决策。而敌机仍采用现有方法,即采用使态势函数值最大的机动动作。
3.1.1 角度态势
在空战中最重要的事情就是射击,其次是战斗中的各种战术动作,最后才是飞行能力[24]。而不论是使用航炮还是导弹进行射击,首先要满足角度要求,因此,角度是空战过程中最重要的因素。角度态势函数如下:
(3)
(4)
式中:Qγ为倾角态势函数;Qψ为偏角态势函数;γr和ψr分别为机头相对于视线的倾角和偏角;(xa,ya,za)和(xb,yb,zb)分别为我方和敌方的三维坐标,我方计算角度态势值时视线矢量RLOS=(xb-xa,yb-ya,zb-za),敌方计算角度态势值时视线矢量RLOS=(xa-xb,ya-yb,za-zb)。
3.1.2 距离态势
影响距离态势的主要因素是导弹的射程,因此设计距离态势函数为
(5)
式中:QR为距离态势函数;Rm为导弹射程;σ为其标准偏差;R为两机直线距离。当敌机位于导弹射程之内时,距离态势值恒为1;当敌机位于射程之外时,距离越大,态势值越小。
空战过程中飞机的实时飞行高度也十分重要,高度太低容易出现坠机事故,太高不利于飞机性能发挥。因此设计高度态势函数:
(6)
式中:QH为高度态势函数;H为飞行高度;Hl为飞行高度下限;Hu为飞行高度上限。
综合考虑角度、距离和高度因素,用加权求和的方式计算空战态势函数值,公式如下:
(7)
3.2 空战胜负判定
为验证本文方法的优越性,敌机采用文献[11]中的自主决策算法。敌机空战机动动作库与我机相同,如1.2节所示。空战胜利首先必须满足导弹发射条件,如(8)式所示。
(8)
图4 胜负判定Fig.4 Judgement of victory or defeat
4 网络训练
4.1 DNN结构及参数
采样范围及间隔如表1所示,使用(1)式的UCAV运动动力学方程进行仿真实验,共得到272 160组样本。由于样本数量较多,因此采用DNN构建从当前飞行状态和控制量到未来飞行状态的映射,提高网络预测的准确性、减少网络训练时间。同时为降低过拟合风险,加入丢弃层[16]。训练算法为RMSProp,损失函数设为样本的均方误差,学习率取0.001. 网络结构如表2所示。
表2 网络结构Tab.2 Structure of network
4.2 DNN训练结果
图5所示为DNN训练过程中的训练集和验证集的预测准确率变化曲线,其中训练次数为50. 从图5中可以看出,由于训练样本采样均匀且网络有一定深度,因此网络预测准确率较高。
图5 预测准确率Fig.5 Accuracy of prediction
5 仿真实验
仿真实验共分为两个部分:第1部分为一种初始态势,第2部分为3种初始态势。首先,为验证本文方法的有效性,在一种初始态势下,敌机采用直线飞行策略;其次,为验证本文方法的对抗性,敌机采用3.2节所示的自主决策算法,在3种不同的初始态势下进行仿真实验。
通用参数设置如下:初始飞行速度为250 m/s,最大飞行速度为400 m/s,最小飞行速度为90 m/s;Rf为4 000 m,Rm为5 000 m,σ为100 m;Hl为500 m,Hu为12 000 m,初始飞行高度为5 000 m;最大飞行时间为100 s;决策周期为1 s;初始滚转角始终为0°. 胜负判定方法如图4所示。
5.1 敌机匀速直线运动
敌机初始位置为(0 m,5 000 m,5 000 m),航迹倾角为0°,航迹偏角为0°;UCAV初始位置为(0 m,0 m,5 000 m),航迹倾角为0°,航迹偏角为0°. 空战仿真轨迹、态势函数值变化情况以及滚转角变化情况如图6所示。其中,UCAV轨迹及相应参数变化用实线表示,敌机轨迹及相应参数变化用虚线表示。在决策过程中,采用最大过载机动,并以最大滚转角速度改变滚转角。3个控制量均没有突变,因此可以保证轨迹的平滑性。
图6 敌机匀速直线运动Fig.6 Uniform straight line motion of enemy aircraft
图6(c)反映了决策过程中机动动作的变化情况,飞机在每一个整数秒时刻进行决策,之后根据决策结果以最大速度改变滚转角。若飞机在下一个决策时刻之前已经完成要做的机动,则保持此时的滚转角不变;若在下一个决策时仍未完成上一个动作,则不再继续该动作,转而做出新的机动。从图6(c)中可以看出:敌机滚转角始终为0°,处于匀速直线运动状态;UCAV在第1.0 s时采用180°的滚转角机动,完成动作后角度保持不变;在第2.0 s时减小滚转角度,采用120°滚转机动;在第3.0 s时采用60°滚转角机动;在第4.0 s时根据网络计算结果,又采用120°滚转机动;在第5.0 s时UCAV减小滚转角至20°;第6.0 s时又将滚转角增大至150°;最终在第7.0 s时达到胜利条件。
5.2 敌机自主机动
态势1:敌机初始位置为(0 m,6 000 m,5 000 m),航迹倾角为0°,航迹偏角为0°;UCAV初始位置为(0 m,0 m,5 000 m),航迹倾角为0°,航迹偏角为0°. 空战对抗结果如图7所示。
图7 敌机自主机动态势1Fig.7 Autonomous maneuver of enemy aircraft at Situation 1
从图7中可以看出,空战双方初始时刻处于均势状态,双方态势函数值相同。由滚转角变化情况可知,与敌机采用匀速直线运动时的决策结果不同,态势1下UCAV在每个决策时刻计算出的最优动作均为90°滚转机动,因此UCAV在完成该机动后控制量不再改变。而敌机除第3.0 s外其他每个决策时刻都选择了新的动作。最后,由于UCAV率先达成导弹发射条件且态势函数值大于敌机,因此获得胜利。同时,UCAV只用了一个机动动作,而敌机多次改变动作,表明本文方法决策效率较高。
同时,从敌机4次小角度的动作调整可以看出,所设计的动作库能满足机动决策需要,传统的动作库中不同动作的滚转角通常相差45°或90°,使得飞行不够灵活。
态势2:敌机初始位置为(5 000 m,5 000 m,5 000 m),航迹倾角为0°,航迹偏角为-135°;UCAV初始位置为(0 m,0 m,5 000 m),航迹倾角为0°,航迹偏角为45°. 空战对抗结果如图8所示。
图8 敌机自主机动态势2Fig.8 Autonomous maneuver of enemy aircraft at Situation 2
从图8中可以看出,初始时刻空战双方相向而行。UCAV在第1.0 s时选择滚转角为170°的左转机动,而敌机选择滚转角为110°的左转机动。由于UCAV滚转角选择较大,因此其态势函数值经过短暂上升后迅速下降。由于转弯较大,因此敌机在第2.0 s时便选择向右滚转,而UCAV则在第3.0 s时才选择向右滚转。最终在第5.6 s时,双方均达成导弹发射条件,但由于此时UCAV的态势函数值小于敌机,被判为失败。
态势3:敌机初始位置为(5 000 m,5 000 m,5 000 m),航迹倾角为0°,航迹偏角为-135°;UCAV初始位置为(0 m,0 m,5 000 m),航迹倾角为0°,航迹偏角为0°. 空战对抗结果如图9所示。
图9 敌机自主机动态势3Fig.9 Autonomous maneuver of enemy aircraft at Situation 3
根据态势3可知,空战开始时敌机机头直接指向UCAV,而UCAV机头相对于视线的偏角为45°,敌机处于有利位置。由图9可知,UCAV在第1.0 s和第4.0 s时经过两次机动,最终转劣势为优势,在第6.0 s时达成胜利条件,且态势函数值高于敌机,因此获得空战胜利。
5.3 逃逸机动
空战机动可分为进攻和逃逸两种,因此,可通过修改决策目标函数中的权重,选择使机头指向与视线矢量的夹角最大机动,以达到逃逸的目的。另外,空战态势可简单分为有利和不利两种,但选择进攻还是逃逸不应根据态势。例如,态势3中UCAV初始时处于不利状态,但若选择逃逸则空战结果为敌机获胜。因此设计逃逸机动判断条件,若满足条件,则选择逃逸,否则选择进攻。逃逸条件如下:
(9)
设置满足上述条件的初始态势:敌机初始位置为(6 000 m,3 000 m,8 000 m),航迹倾角为0°,航迹偏角为180°;UCAV初始位置为(0 m,0 m,8 000 m),航迹倾角为0°,航迹偏角为180°. 此时UCAV处于被尾追状态。图10为UCAV仅采用攻击的仿真结果。
图10 攻击机动Fig.10 Attacking maneuver
从图10(b)可以看出,初始时刻双方态势函数值差距较大,空战过程中,UCAV态势函数值有所上升,但始终低于敌机。图10(c)显示了UCAV的机动情况。UCAV首先进行-80°的滚转机动,第3.0 s时又将滚转角调整为-90°. 由图10(c)可以看出由于仅采用攻击,UCAV始终朝着减小与视线夹角的方向进行机动,但初始时刻的劣势使其无法仅通过攻击的方式获得胜利,最终在第9.8 s时敌机获胜。图11为UCAV采用混合方式的空战仿真结果,即双方态势满足 (9) 式时,UCAV采用逃逸机动,不满足时则采用攻击机动。其中,逃逸机动时α1=-0.6,α2=0.4,进攻时α1=α2=0.5,让决策目标函数值最小,可以达到使UCAV指向与视线矢量的夹角减小的目的,从而快速满足导弹发射条件。逃逸时α2=0.4,此时让决策目标函数值最小,可以使ψLOS减小,从而为进攻做准备;若α2取负,则ψLOS增大,导致我方在水平方向上始终处于不利地位,而α1=-0.6,此时让决策目标函数值最小,可以使γLOS增大,有助于在竖直方向上逃出敌方攻击范围。
图11 混合机动Fig.11 Hybrid maneuver
此次仿真时长为56.8 s,说明采用逃逸机动可以提高UCAV生存时间。空战过程中UCAV首先进行逃逸,采用-140°的滚转机动向斜下方飞行,因为向下方飞行可以获得重力帮助使UCAV在竖直方向上更快逃出对方攻击范围,同时也能保证在水平方向逃出对方攻击范围。从图11(a)中可看出UCAV有明显的高度下降,而由于敌机高度下降太晚,因此UCAV在第14.0 s时逃出对方攻击范围并转入进攻状态。第14.0 s以前的动作均为逃逸机动,以后的动作均为进攻机动。进攻时,UCAV不再下降高度,而是水平盘旋以占据有利位置。最终在第56.8 s时双方均满足导弹发射条件,但由于UCAV态势函数值较低,因此失败。
用两种方法分别进行1 000次决策再计算其平均决策时间,结果如图12所示。
图12 决策用时Fig.12 Time cost of decision-making
由图12可知,本文方法平均决策时间为0.063 s,对比方法为0.072 s. 对于速度为400 m/s的飞机来说,0.063 s内大约飞过了25 m,相对于空战双方的距离来说可以忽略不计,可认为决策过程中双方态势基本不变,因此本文方法满足实时性要求。
6 结论
本文针对自主空战机动决策问题,提出了基于DNN的机动决策方法。通过分析网络训练结果、仿真实验结果和决策用时,可以得到主要结论如下:
1)网络训练结果表明,本文采样方法合理,网络参数设置合理,网络对未来态势的预测准确性较高,避免了强化学习的低效率采样。
2)所设计的动作库能满足决策要求;由相应的态势函数值变化情况和滚转角变化情况可知,在敌机采取简单直线机动时,本文方法能取得胜利,验证了该方法的有效性。
3)在敌机采取自主机动的情况下,本文决策方法在均等态势下能达成导弹发射条件,在劣势情况下能通过多次机动转为优势态势并获得胜利,验证了该方法的优越性;同时决策用时较对比方法缩短了约9 ms.
为使本文提出的决策方法能应对更多不利态势,仍需要进一步扩展机动动作并优化网络结构。