深度强化学习的无人作战飞机空战机动决策

2021-12-13 02:03李永丰史静平章卫国
哈尔滨工业大学学报 2021年12期
关键词:空战机动神经网络

李永丰,史静平,2,章卫国,2,蒋 维

(1. 西北工业大学 自动化学院,西安 710029;2.陕西省飞行控制与仿真技术重点实验室(西北工业大学),西安 710029)

目前无人作战飞机(unmanned combat aerial vehicle, UCAV)被广泛应用于军事领域[1],UCAV在过去主要从事战场监视、吸引火力和通信中继等任务,随着武器装备的传感器、计算机及通信等技术的发展,性能不断提升,未来的UCAV将逐步升级成为可以执行空中对抗、对地火力压制和参与制空权的夺取等作战任务的主要作战装备之一。尽管UCAV的性能提升很大,但大多数的任务都离不开人工干预,控制人员通过基站在地面对UCAV进行控制,这种控制方法有延迟且易受到电磁干扰。因此研究UCAV的自主作战能力已经成为空军发展的必然趋势,装备了无人作战决策系统的UCAV将逐步取代飞行员的位置,以达到减少成本,提高战斗力的作用。在近距离格斗的阶段,UCAV应根据当前的空战态势及时选取合适的飞行控制指令,抢占有利的位置,寻找击落敌机的机会并保护自己[2]。

在空战条件下,飞机模型本身为非线性同时目标的飞行轨迹是不确定的,这些都将给UCAV的机动决策带来许多不便,因此良好的机动决策是UCAV自主空战的一个重要环节,自动机动决策要求UCAV能在不同的空战环境下自动生成飞行控制指令。常规的机动决策控制方法包括最优化方法、博弈论法、矩阵对策法、影响图法、遗传算法、专家系统、神经网络方法以及强化学习方法等。文献[3]将空战视为一个马尔可夫过程,通过贝叶斯推理理论计算空战情况,并自适应调整机动决策因素的权重,使目标函数更加合理,保证了无人战斗机的优越性。文献[4]设计了一个基于遗传学习系统的飞机机动决策模型,通过对机动的过程加以优化来解决空战环境未知情况下的空战决策问题,可以在不同的空战环境中产生相应的战术动作,但该方法的参数设计存在主观性,不能灵活应用。文献[5]利用统计学原理研究UCAV的空战机动决策问题,具有一定的鲁棒性,但该算法实时性能较差无法应用于在线决策。文献[6]将可微态势函数应用于UCAV微分对策中,可以快速反应空战环境,但由于实时计算的局限性很难解决复杂的模型。文献[7]采用博弈论对UCAV空战决策进行建模,对不同的空战环境具有通用性。虽然这些决策算法可以在一定程度上提高决策的效率、鲁棒性和寻优率,但由于这些决策模型存在推理过程较为频繁,会浪费大量时间寻优等问题,导致UCAV的响应变慢,并不适用于当今的战场环境。

基于人工智能的方法包括神经网络法、专家系统法以及强化学习算法。文献[8]采用了专家系统法,通过预测双方的态势和运动状态生成相应的机动指令控制UCAV飞行,但不足之处在于规则库的构建较为复杂,通用性差。文献[9]采用了自适应神经网络技术设计PID控制器,对高机动目标具有较强的跟踪精度,但神经网络方法需要大量的空战样本,存在学习样本不足的问题。与以上两种方法相比,强化学习算法是一种智能体与环境之间不断试错交互从而进行学习的行为,智能体根据环境得到的反馈优化自己的策略,再根据策略行动,最终达到最优策略。由于强化学习的过程通常不考虑训练样本,仅通过环境反馈得到的奖励对动作进行优化,可以提高了学习的效率,是一种可行的方法[10]。文献[11]将空战时的状态空间模糊化、归一化作为强化学习算法的输入,并将基本的空战动作作为强化学习的输出,使得UCAV不断与环境交互从而实现空战的优势地位。在此基础上,文献[12-13]将神经网络与强化学习相结合,提高了算法的运算效率,但这些文章都没有考虑飞机的姿态变化。

本文提出了一种深度强化学习(deep reinforcement learning, DRL)算法来解决UCAV自主机动决策作战的问题,并在MATLAB/Simulink环境中搭建了某种六自由度UCAV模型,充分考虑了其非线性。同时选取适当的空战动作作为UCAV的机动输出,建立空战优势函数并设计UCAV空战机动决策模型。通过强化学习方法可以减少人为操纵的复杂性,保证计算结果的优越性,提高UCAV的作战能力,而神经网络可以提升实时决策能力。最后通过仿真将该方法应用于UCAV机动作战决策中,证明了其有效性和可行性。

1 UCAV运动学建模

1.1 UCAV运动模型

本文所研究的UCAV运动模型如图1所示,在研究UCAV运动时,把UCAV视为左右对称的理想刚体,其运动主要表现为速度及3个姿态角的变化情况,对UCAV的操纵主要依赖于发动机推力以及UCAV的气动舵面。采用六自由度方程描述UCAV在机动决策和仿真时的运动状态,具体参数如下:质量为3.93 kg,机长为1.47 m,机翼面积为0.264 5 m2,翼展长为0.89 m,平均气动弦长为0.336 m。

图1 UCAV模型图

1.2 运动学方程

在惯性坐标系当中,无人机六自由度方程通常可以描述为机体坐标系下的力方程组、力矩方程组、运动方程组与导航方程组,无人机六自由度方程的通常状态变量是:[V,α,β,p,q,r,φ,θ,ψ,x,y,z]。对于无人机12个状态量的非线性六自由度方程如下(欧式坐标系):

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

w(sinφsinψ+cosφsinθcosψ)

(10)

w(-sinφcosψ+cosφsinθsinψ)

(11)

(12)

式中[u,v,w]为机体系3个轴上的速度分量。

本文根据上述UCAV非线性模型,使用PID算法设置控制律,同时考虑姿态对UCAV空战决策的影响,搭建基本操纵动作库,选取适当的机动动作作为UCAV的输出。之后通过深度强化学习算法得到UCAV在不同的态势下的机动动作,使得该算法能对UCAV进行精准控制。

2 空战机动决策模型

2.1 方案

通过对UCAV自主战术决策系统进行研究,可以使UCAV具备更高的自主性,能独立应对突发事件以提高任务执行的效率,同时可以提高系统适应环境的能力。图2为UCAV自主决策模块,将我方无UCAV和目标的态势估计进行综合评价,输入机动决策模块中,得到机动库的控制指令,再对我方UCAV进行控制。

图2 UCAV自主决策模块

2.2 强化学习原理

强化学习算法主要由以下5个部分组成:智能体、环境、状态S、动作A和观测回报R。在时间t时刻,智能体会产生动作At并与环境之间进行交互,在动作执行后,智能体的状态由St转移成St+1,并得到环境的回报值Rt。就这样,智能体在与环境的交互中不断修改自身参数,在经过多次运算后得到最优解,如图3所示。

图3 强化学习基本框架图

强化学习的计算过程就是一个不断探索最优策略的过程,策略指的是状态到动作的映射,通过符号π′表示,下式为状态S下所对应的每个动作的概率,即

π′(a|s)=p[At=a|St=s]

(13)

对于强化学习算法而言,希望每一个状态所对应的动作都能使其价值最大化,需要找到策略:

(14)

Q强化学习算法是对状态-动作对的值Q(s,a)进行迭代,在学习过程中选择动作a时, 即

(15)

Q(st,at)的更新公式为

(16)

式中:δ为学习率,γ为折扣率,rt为t时刻的综合优势函数。

可以看出该Q强化学习算法包含了综合优势函数和所选动作后的状态值,具有远视性,长期看来无限趋于稳定。

2.3 优势函数

对于空中格斗决策来说,将我方UCAV和目标之间的瞬时空中态势作为一个奖惩信号,构建相应的空战优势函数,可以使得决策系统选择合适的机动动作,提高我机对敌机的空战优势。通常来说,传统的环境奖赏包括方位角奖赏、速度奖赏、距离奖赏和高度奖赏,并由这几部分加权得到综合空战态势评估值,但这种态势评估的加权值都是主观值,无法准确适应不同的空战武器。为解决该问题,本文针对UCAV空对空导弹的攻击方式设计了相应的优势函数[14]。典型的空空导弹攻击区间是攻击机的前方一定距离和角度的锥形范围,如图4所示。

图4 空战态势

图4中:VU、VT分别为UCAV和目标的速度向量,令VU、VT分别为向量VU、VT的速度大小;R为UCAV和目标之间的距离;αU、αT分别为UCAV和目标之间的连线和各自速度向量的夹角;Rg为 UCAV导弹的最大攻击距离;αg为 UCAV导弹的最大攻击角度。

在空战环境中,追尾飞机处于优势状态,被追飞机处于劣势状态,两机相向相背或同向飞行时则处于均势状态,本文通过两机方位角计算角度优势:

(17)

对空空导弹而言,命中率主要与距离有关,为了使距离参数函数对于距离的变化不敏感,从而使无人机决策具有鲁棒性,计算方位角、距离优势的函数为

(18)

式中σR为距离标准偏差。

如果UCAV与目标之间的距离小于导弹攻击距离,UCAV速度矢量与两者间距离矢量的夹角小于UCAV导弹的攻击角度,同时目标的速度矢量与两者间距离矢量的夹角小于90°。则说明目标处于UCAV武器的攻击范围内,可以发射导弹并拦截,并结束这个仿真回合进入下一个回合。此时UCAV的奖赏值为

(19)

当满足式(19)中的条件时,UCAV得到奖赏值,同时为了训练UCAV规避敌机的攻击,目标也存在攻击武器,当目标满足相同条件时说明我方处于劣势,得到负的奖赏值。

ηB=ηU-ηT

(20)

其中:

为了避免UCAV在飞行过程中失速、飞行过低或过高、远离目标或与目标发生碰撞,应限制UCAV的速度不小于20 m/s,高度不小于200 m,距离限制在[100 m,3 000 m]之间。

(21)

同时由于该UCAV为六自由度非线性模型,机动动作的选择不仅要考虑敌我态势,还需要考虑UCAV选择机动动作时的状态,使得UCAV基于当前态势所选择的机动动作可以完整的执行下去,避免UCAV的失控。对于固定翼飞机而言,三轴力和三轴力矩的大小与迎角和侧滑角相关,因此决定其失控与否和飞行品质的关键是气流角。在飞机做机动动作时,要避免其因惯性或扰动超出飞行包线从而导致飞机的失控,需要对气流角加以保护,可以将UCAV的迎角限制在[-20°, 20°]之间,侧滑角限制在[-30°, 30°]之间,当超出限制时给予负的奖励值,使得该决策机制可以避免选择造成UCAV失控的机动指令。

(22)

由于单次空战为一个作战回合,最终结果会影响之前的空战动作,需要根据时间差给之前的步骤添加奖赏值,则综合优势函数为

η=ηA+0.95Δt(ηB+ηC+ηD)

(23)

式中Δt为t时刻到这一作战回合结束的剩余时间。

则t时刻的综合优势函数为

rt=η(t)

(24)

2.4 状态空间

由于该空战环境为三维空间,为了充分展现两机的飞行状态和空战态势,图2中输入自主空战机动决策模块的状态空间包含10个变量:

S=[αU,αT,αUT,θU,θT,VU,VT,R,HU,ΔH]

(25)

式中:αUT为UCAV速度矢量和目标速度矢量之间的夹角;θU、θT分别为UCAV和目标的俯仰角;HU为UCAV的当前飞行高度;ΔH=HU-HT为UCAV相对于目标的高度差。需要将上述状态空间做归一化处理后再输入神经网络模型。

2.5 基本机动动作库

空战机动动作库分为两类,一类是典型的战术动作库,另一类是基本的机动动作库。典型战术动作库包括眼镜蛇机动、榔头机动、螺旋爬升等,但这些战术动作本质上是各个基础动作组合而成的,同时特殊的机动动作目前必须依靠人机紧密配合,协调完成,否则UCAV的状态可能会超过正常的包线范围,导致UCAV有失控风险。因此本文采用美国国家航空航天局提出的基本机动动作库[15]作为UCAV机动动作库的选择范围,如图5所示。

图5 基本机动动作库

包括以下7种机动动作:1)定常平飞;2)最大加力加速;3)最大加力减速;4)最大加力左转;5)最大加力右转;6)最大加力爬升;7)最大加力俯冲。对于基本操纵动作库的实现,采用欧式坐标系下的机动动作指令[VC,HC,φC]实现各种机动,建立自主作战决策的候选动作库。

匀速直线运动:

[VC,HC,φC]=[VA,HA,0]

(26)

最大加力加速飞行:

[VC,HC,φC]=[Vmax,HA,0]

(27)

最大加力减速飞行:

[VC,HC,φC]=[Vmin,HA,0]

(28)

最大加力左转:

[VC,HC,φC]=[Vmax,HA,φleft]

(29)

最大加力右转:

[VC,HC,φC]=[Vmax,HA,φright]

(30)

最大加力爬升:

[VC,HC,φC]=[Vmax,Hmax,0]

(31)

最大加力俯冲:

[VC,HC,φC]=[Vmax,Hmin,0]

(32)

式中:VC为UCAV的速度指令,VA、Vmax、Vmin分别为UCAV当前的速度、最大速度和最小速度;HC为UCAV的高度指令,HA、Hmax、Hmin分别为UCAV的当前高度、最大高度和最小高度;φC为UCAV的滚转角指令,φleft、φright分别为UCAV的最大向左滚转角和最大向右滚转角。

将这7种机动动作作为UCAV机动决策的输出,控制UCAV的飞行。同时由于UCAV缺少人类感知飞机状态的能力,需要对上述机动动作做出限制,通过对俯仰角、滚转角和推力指令的大小进行限制,从而对控制输出端做必要的约束,以防UCAV的迎角、侧滑角和速度的值过大或过小从而导致失控。令控制输出端的俯仰角指令范围在[-20°,20°]之间,滚转角指令范围在[-60°,60°]之间,推力指令范围在[-10 N,30 N]之间。

3 深度强化学习自主作战决策

3.1 深度强化学习

对于传统的强化学习而言,通常采用表格的形式记录值函数模型,这种方法可以稳定得出不同状态和动作下函数的值。但在面对复杂问题时,状态和行动的空间较大,需要花费很多时间检索表格中相应状态的值,难以求解。由于深度学习将特征学习融入模型中,具有自学习性和鲁棒性,适用于不同的非线性模型。但深度学习不能对数据规律进行无偏差估计,需要大量的数据反复计算才能达到较高的精度。因此,本文将深度学习和强化学习算法相结合,得到深度强化学习算法,并使用深度Q网络(Deep Q network,DQN)作为优化算法,将态势信息输入神经网络并输出机动动作值,同时不断与环境进行交互得到最优机动动作,使得UCAV能自主的进行作战决策,提高其智能性[16]。

管理会计在会计学不断发展后产生的重要分支学科,公立医院管理会计则是管理会计在现代医院管理中的具体应用,其核心在于核算过去,控制当下,预测未来。在财务信息化发展和新医改的不断深入背景下,医院财务工作由核算型向管理型发展是必经之路。公立医院管理会计则能在不断的变革中体现其重要价值。公立医院管理会计体系优化了财务核算流程,通过财务信息化软件集成预算管理,使每一笔支出业务都可以实时监控。

在UCAV空战决策过程中,需要对我方UCAV和敌机的飞行状态和空战态势进行分析,采用卷积神经网络(convolutional neural network, CNN)计算每一个状态动作对的长期折扣期望,并将Q函数网络作为评判依据,遍历不同状态下的所有机动动作。同时为了让学习的数据更接近独立分布的数据,需要建立一个数据库,将一段时间内的状态、动作、奖励和该动作下一步的状态存储起来,每次学习时使用存储区内的小部分样本,与2.2节的Q强化学习算法相比可以打乱原始数据的相关性,减小发散。

为了解决算法的不确定性,DQN算法还建立了一个结构相同的目标网络用于更新Q值,该目标网络具有和Q函数网络一样的初始结构,但参数固定不动,每隔一段时间将Q函数网络的参数赋给该目标网络,使其一定时间内的Q值保持不变。可以通过梯度下降法最小化损失函数L(θμ)来得到最优解:

L(θμ)=E[yt-Q(st,at)|θμ]

(33)

其中yt为目标参数,即

式中:θμ为Q函数网络参数,θμ′为目标网络参数。

则DQN模型如图6所示。

图6 DQN模型

3.2 训练步骤

在空战决策的训练中,UCAV根据上述深度强化学习算法进行机动决策。整个训练过程由多个空战回合组成,每当UCAV判定击中敌机、被敌机击中、到达最大回合时间或处于式(21)、(22)所描述的错误态势时,结束该空战回合重新进入一个新的空战回合,并重置仿真环境。在训练过程中采用ε-greedy策略,一开始以100%的概率随机产生行动,随着仿真的进行,不断减小概率直至10%,使得该策略不断向最优靠拢。同时为了反应学习的效果,需要在训练过程中定期判断其决策能力,在进行判断时令随机概率降为0,使得决策模型直接输出最大的Q值动作,并统计其在结束时的优势函数值,与不同时期相对以此判断其学习效率。

深度强化学习算法的具体步骤如算法1所示。

4 仿真实验

4.1 参数设置

表1 参数取值情况

DQN算法的参数设置如下:使用一个两层全连接前馈神经网络作为在线Q网络,有10个输入状态和7个输出值,其中网络有两个隐藏层,单位大小分别为1 000和500,使用TANH函数作为激活函数,在最后的输出层采用PURELIN函数进行激活。设置学习率δ=0.01,折扣系数γ=0.9,记忆回放单元D的缓冲区大小为106,在存储了10 000个样本之后神经网络开始训练,每次抽取的训练样本数量为1 000,目标网络每4 000步更新一次。

在仿真的过程中每一步的决策时间t=1 s,每一次作战的最大回合时间为40 s,每进行500次作战回合对神经网络的学习能力进行一次评估,查看其停止作战时的奖赏值。

4.2 强化学习与深度强化学习仿真时间对比

强化学习的计算过程是一个迭代寻找最优策略的过程,需要耗费一定的时间。传统的强化学习相对于深度强化学习而言状态空间较大,遇到复杂问题时需要花费很多时间检索表格中相应状态的值,但是UCAV在现实中执行机动决策时要求的决策时间非常短,否则无法进行有效的决策。同时不同大小的状态空间也会对结果造成影响,对状态空间的设定具有主观性。

根据输入状态空间的10个变量建立不同复杂程度的强化学习Q值表格,Q值表2的大小是Q值表1的两倍,Q值表3的大小是Q值表2的两倍,分别仿真1 000个作战回合,单次作战的最大回合时间为40 s,基本采样时间为0.02 s。对比每仿真1 s深度强化学习和不同复杂程度的强化学习在决策中所花费的时间,可以验证算法的时效性。

如图7所示,仿真使用的计算机为AMD Ryzen 7 3700X 8-Core Processor CPU和NVIDIA GeForce GTX 1660 SUPER显卡。

图7 每仿真1 s的决策时间

从图7中可以看出,传统强化学习决策所花费的时间与其Q值表的大小有关,而深度强化学习在决策时花费的时间低于强化学习,在进行空战时能更快的做出有效的决策。

表2 第1次和第2次训练的初始位置

4.3 空战训练

由于UCAV空战环境复杂,直接训练会产生大量无效样本,致使学习算法的效率降低,需要先让目标在不同的初始状态下进行训练,之后再实现不同环境下UCAV的自主机动作战。

第1次训练以目标做匀速直线飞行运动的场景对UCAV依次进行基础训练和特定的空战场景训练,一开始红方战机处于优势地位,红方战机和蓝方战机的初始位置见表2,蓝方战机做匀速直线运动。根据上文给出的DQN算法进行学习,首先对神经网络进行20 000个回合的基础训练,之后对具体的情况进行训练,经过250 000个作战回合后敌我双方的UCAV轨迹仿真如图8所示。

图8 第1次训练时双方的立体轨迹

从图8中可以看出蓝方想要远离红机,但红方首先向左偏转,保持与蓝方相近的方位角和高度,接着加速追向目标,最终使蓝方处于红机武器攻击范围内,达到优势地位,说明该DQN算法的确可以快速有效的提高UCAV的自主作战能力。

通过对比图9、10中经过了基础训练和未经训练的评估奖赏值可以看出,经过了一定基础训练的DQN算法学习效率明显提高,能较快的使我方UCAV处于优势位置。

图9 第1次训练时每次评估的最终奖赏值

图10 第1次训练时的平均奖赏值

第2次训练时以目标做匀速盘旋飞行的场景对UCAV依次进行基础训练和特定的空战场景训练,红方战机和蓝方战机的初始位置不变,蓝方战机做俯仰角为10°,滚转角为-20°的匀速盘旋飞行。重复相同的训练方法,经过25 000个作战回合后敌我双方的UCAV轨迹仿真如图11所示。

图11 第2次训练时双方的立体轨迹

在图11中,红方首先向右偏转,保持与蓝方相近的方位角和高度,接着加速追向目标,由于蓝方处于相对较高的位置,红方为了追击蓝方迅速爬升,最终使得蓝方处于红方武器攻击范围内,达到优势地位,第2次训练时的平均奖赏值如图12所示。

图12 第2次训练时的平均奖赏值

第3次训练时同样以目标做匀速直线飞行运动的场景对UCAV依次进行基础训练和特定的空战场景训练,但一开始红方战机处于劣势地位,红方战机和蓝方战机的初始位置见表3,蓝机做匀速直线运动。同样对神经网络进行20 000个回合的基础训练,之后对具体的情况进行训练,经过250 000个作战回合后敌我双方的UCAV轨迹仿真如图13、14所示。

表3 第3次训练的初始位置

图13 第3次训练时双方的立体轨迹

图14 第3次训练时双方的平面轨迹

从图13、14中可以看出,面对蓝机的追击,红机向右偏转,绕到了蓝机的身后,由劣势转化为优势,最终扭转局面取得胜利。第3次训练时的平均奖赏值如图15所示。

图15 第3次训练时的平均奖赏值

由上述3组仿真实验可以看出红方在不同的初始态势下都可以通过一定的机动决策占据有利态势,证明了DQN算法的有效性。同时,经过了一定基础训练的DQN算法学习效率明显提高,具有较高的智能性,可以有效地引导UCAV进行空战。

5 结 论

1)本文在MATLAB/Simulink环境中搭建了UCAV六自由度模型,设计了一个UCAV空战自主机动决策的仿真平台,实现了空战实验的闭环仿真。该仿真平台成本低,易于实现,并且各个函数都采用了模块化设计,易于更新和替换。

2)将机动动作库和基于导弹武器攻击区建立的优势函数应用于该仿真平台上,同时对模型采用由易到难的训练方法,可以使UCAV与不同运动状态下的目标进行空战,并且保证UCAV最终能够到达优势地位。

3)结果显示,深度强化学习算法可以通过不断与环境之间试错交互从而进行学习,能有效提高UCAV的自主作战能力,得到的仿真结果具有较高的工程参考价值。根据深度强化学习算法所得到的机动控制指令具有鲁棒性、远视性和时效性。

猜你喜欢
空战机动神经网络
基于神经网络的船舶电力系统故障诊断方法
1937年笕桥空战战果之谜
最强空战王
MIV-PSO-BP神经网络用户热负荷预测
空战兄弟档
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
基于机动数据的摩托化机动演训组织效果评估
12万亩机动地不再“流浪”
机动三轮车的昨天、今天和明天
基于神经网络的中小学生情感分析