李博皓,安旭曼,杨晓飞,吴云洁,李国飞
(1. 北京航空航天大学虚拟现实技术与系统国家重点实验室,北京 100191;2. 北京航空航天大学大学自动化科学与电气工程学院,北京 100191;3. 飞行器控制一体化技术重点实验室,北京 100191;4. 西北工业大学航天学院,西安 710072)
现代战争中,若目标为具有重大军事价值的目标,如核设施、舰船、导弹发射基地和重要军事建筑物等,此时,不仅需要弹头落地时能保证打击精度,而且还需要以一定的攻击角度命中目标,从而获得最大限度的毁伤效果。因此,研究带有攻击角度约束的制导方法设计问题非常必要。
为了能够以期望落角击中目标,文献[7]基于变参数滑模调节和视线偏差设计了比例导引加偏置项的末制导律,在不失制导精度的条件下,具有更小的落角偏差和末端攻角。文献[8]提出了一种非奇异自适应增益滑模制导律,用于拦截具有攻击角约束的目标。分析了制导律的稳定性和收敛性,当存在未知干扰的情况下,系统的加速度抖振可以得到有效抑制。文献[9]在纵向平面上建立了导弹与目标的相对运动方程,并构造了积分滑模面,设计了一种积分滑模制导律,解决了传统滑模制导律中存在的稳态误差问题。
深度强化学习制导技术研究主要是依靠人工智能算法强大的特征表示能力和控制决策性能,根据飞行环境的变化对战场态势做出实时的分析判断,输出相应的制导指令,驱动飞行器完成既定目标任务。深度强化学习制导技术具有更显著的自主决策与规划能力,可有效提高不确定战场环境下的作战效能。
近年来,部分学者已开展了深度强化学习制导方面的研究工作。针对再入飞行器制导方法,李天任等利用Q学习训练横向决策器,自适应调整制导参数,获得了较快的收敛速度和打靶成功率。文献[19]以深度确定性策略梯度(Deep deterministic policy gradient, DDPG)算法为基础,将视线角速率作为输入,训练得到了比传统比例导引方法具有更小脱靶量的强化学习制导模型。文献[20]以传统的比例制导律为基础,提出基于强化学习的比例导引系数优化算法。该算法以视线角速率作为状态,依据脱靶量设计奖励函数,设计离散化的动作空间,为导弹选择正确的制导指令。针对攻击角度约束下的制导问题,文献[21]以视线角及视线角速率为观测状态,利用元强化学习进行训练,得到的制导模型可以输出导弹转向推力指令,用以对移动目标进行拦截。文献[22]进一步利用元强化学习结合递归神经网络设计了一种新的自适应制导系统,相较传统制导策略和普通强化学习方法在发动机随机故障且动力学环境未知的情况下获得了更好的制导效果。文献[23]将强化学习与模型积分预测控制结合,将深度神经网络作为预测模型,提出了一种时变攻击角度约束下的元强化学习制导律。
然而以上方法考虑的约束条件较为单一,且部分方法的加速度抖振较为剧烈,对制导系统不利。此外,算法的探索效率偏低,训练速度较慢,容易出现局部最优解问题。鉴于上述不足,本文面向实际多约束任务需求,研究攻击角度、视场角以及控制输入饱和等限制条件下的深度强化学习制导方法。将固定攻击角度约束问题转化为期望视线角度下的攻击问题。以深度强化学习中的DDPG算法为基础,根据所给约束条件建立不同的奖惩机制,充分考虑环境约束,提高制导算法的自适应能力。此外,提出分布式探索策略以提高导弹对环境的探索效率,防止过拟合的同时增强模型的泛化能力。
弹-目碰撞几何结构如图1所示,其中和分别表示导弹与目标,和表示导弹与目标的速度矢量,与表示导弹与目标速度矢量与参考线的夹角。
图1 弹-目碰撞几何结构Fig.1 Geometry of missile-target collision
定义为制导结束时刻,攻击角度表示为结束时刻,导弹速度矢量和目标速度矢量之间的夹角:
=-
(1)
导弹期望的攻击角度设为,攻击角度约束制导问题是指在制导结束时刻,导弹保证脱靶量要求的同时能以期望的攻击角度击中目标,即满足:
(2)
()-()=
(3)
(4)
其中,为视线角,式(2)和(3)分别代表脱靶量和攻击角度收敛,式(4)代表导弹在视场范围内击中目标。当导弹与目标处于碰撞几何三角形上时,可以认为目标与导弹相对速度沿着垂直于视线方向上的分量为零,于是:
sin(()-)=sin(()-)
(5)
其中,为期望视线角。根据式(5)可以将导弹与目标速度之间的夹角转化为视线角,通过控制实现角视线对目标的拦截。对于具体攻击任务的导弹,期望攻击角度为定值,如果目标运动的速度偏角()已知时,由可知导弹在制导结束时刻的速度偏角()也可以确定。再由式(5)即可得期望终端视线角的值。
已知水平面内弹-目运动模型为:
(6)
(7)
(8)
(9)
对式(7)求导并代入式(6),考虑到目标法向加速度为零,得:
(10)
取状态变量:
(11)
制导模型可进一步描述为:
(12)
深度确定性策略梯度算法
深度确定性策略梯度算法DDPG是深度强化学习中一种可以用来解决连续动作空间问题的典型算法,可以根据学习到的策略直接输出动作。
对于DDPG算法而言,和[]分别由策略网络和价值网络表示。其中策略网络可以表示为如下形式:
=(;)
(13)
其中,表示策略网络的参数,表示策略网络输出的动作,表示当前时刻的环境状态。价值网络可以表示为:
(,;)=[|=,=]
(14)
其中,表示按照策略网络选取的动作,表示价值网络的参数。策略网络和价值网络的更新流程如图2所示。
图2 DDPG算法流程Fig.2 Flow chart of DDPG algorithm
策略网络驱动智能体与环境交互,同时在每个时刻将{,,,+1}存储入经验池中。在网络更新过程中,会从经验池随机抽取批量数据来对参数进行训练。为了获得更稳定的更新结果,DDPG在常规策略网络和价值网络之外再使用了目标策略网络和目标价值网络辅助进行更新。
价值网络参数更新方式如下:
(15)
其中,
(16)
式中:′和′分别表示目标价值网络和目标策略网络的参数。
策略网络参数的更新方式如下:
(17)
式中:和分别表示价值网络和策略网络的学习率。在策略网络和价值网络完成更新以后,再采用如下方式对目标网络进行更新:
′←+(1-)′
(18)
′←+(1-)′
(19)
式中:表示目标网络的学习率。
连续动作空间下的强化学习制导策略
导弹和机动目标的二维运动学模型可表述为:
(20)
其中,表示导弹-目标距离,表示速度,表示速度偏角,表示视线角,和分别表示导弹和目标及其相关变量。速度偏角和法向加速度之间的关系定义为:
(21)
由于目标的控制量很难被观测,因此在制导方法的设计过程中,本文假设目标以恒定速度进行机动,即=0。
强化学习导引方法动作空间为导弹法向加速度=,状态空间设置为:
(22)
其中,为导弹-目标初始距离。
将观测值状态∈输入深度强化学习的策略网络,策略网络输出导弹的控制量∈。在速度恒定的假设条件下,即为导弹的法向加速度。对导弹施加控制量后,更新导弹动力学方程,可获得新的状态观测值。根据状态观测值生成奖励值,并利用奖励值更新深度强化学习策略网络的参数,使得深度强化学习模型在一次次的交互训练中学习到精确制导的能力。强化学习导弹制导策略的总体结构如图3所示。使用DDPG强化学习算法,产生连续的法向加速度指令,控制导弹在二维平面内进行机动,完成对目标的精准打击。
图3 强化学习制导流程Fig.3 Flow chart of reinforcement learning guidance
奖励函数设计
制导方法设计所考虑的主要角度约束包括攻击角度约束和视场角约束。前者的主要任务是保证导弹以一定的视线角命中目标,这种方法在打击特定目标时可以加强导弹对目标的杀伤力。后者主要为了保证导弹对目标的观测能力,保证视场角在整个飞行过程中处于给定的范围之内。
为了保证视线角收敛到期望值,设计奖励:
=exp(-|-|)
(23)
其中,奖励不仅保证了视线角收敛到期望值,也在一定程度上抑制了视线角速率的变化,因此不再专门设置奖励对视线角速率进行约束。
为了保证视场角约束,设置奖励:
(24)
综上所述,得到最终的奖励函数:
=+
(25)
其中,和表示两个为正的权重参数。
分布式强化学习算法
强化学习神经网络模型的训练结果与探索和积累的历史数据息息相关。设计分布式探索策略如图4所示,可以增加历史数据的多样性,防止数据过拟合,提高强化学习的泛化能力。
图4 分布式强化学习制导流程Fig.4 Flow chart of the distributed reinforcement learning guidance method
由图4可知,分布式探索架构拥有多个执行机构对环境进行探索,每个执行机构中的网络用于选择执行动作。此外,分布式探索架构拥有一个共享经验池储存历史经验,拥有一个共享学习机构用于对执行机构中的网络进行更新。各执行机构基于自身环境生成执行动作并接收奖励函数,探索得到的数据会被添加到共享经验池中。学习机构从经验池中采样进行学习训练,执行机构内的神经网络周期性地接收学习机构网络中的参数。
通过引入分布式技术,强化学习的求解效率得到了提升。让每一个导弹执行不同的动作策略,可以更高效地探索环境,更全面地寻找最优轨迹,有效地防止数据过拟合和局部最优解。攻击角度约束下分布式制导方法训练流程如下:
1) 初始化经验池、价值网络(,;)、策略网络(;)、执行网络(;)、目标价值网络(,;′)、目标策略网络(;′),其中′=,′=,为导弹编号,对每个导弹执行以下步骤;
2) 初始化导弹状态;
3) 输入当前状态利用策略网络生成法向加速度;
4) 对施加噪声并更新导弹动力学模型,获取新的状态′,接收动作奖励;
5) 存储样本{,,,′}到经验池;
6) 从经验池中随机采样小批量存储样本,对价值网络进行时序差分更新,通过式(15)和式(17)对策略网络进行策略梯度更新;
7) 通过式(18)和式(19)更新目标网络,每隔步更新=;
8) 判断是否达到终止条件,如果没有达到令=′,返回3),否则返回2)。
设置制导飞行仿真实验环境,分别对静止目标和机动目标进行弹道仿真验证。导弹飞行速度为=600 m/s,采样间隔Δ=0.1 s,动作范围[-20 g, 20 g]。设置奖励函数参数=1,=1,=100,=π4。经验池中存储的历史数据最多为3000。每个训练批次的最小训练数为64,优化器选择Adam,策略网络学习率为0.0001,价值网络学习率为0.001,折扣系数为0.99。训练回合数为200,每回合最大仿真时长为20 s。训练过程如图5所示:
图5 强化学习模型训练过程Fig.5 Training process of the reinforcement learning model
为了验证所设计制导方法有效性和正确性,以空空拦截背景进行仿真验证,分别针对静止、匀速及机动目标的打击情况展开分析。为了体现制导性能,将本文所设计的分布式深度确定性策略梯度制导方法与文献[8]中提出的滑模(Sliding mode, SM)制导方法,如公式(26)所示,进行对比。两种制导方法的仿真曲线分别标记为DDPG和SM,导弹和目标的初始位置、速度及加速度限幅列于表1,其中为重力加速度。
表1 导弹与目标参数Table 1 Missile and target parameters
(26)
1) 静止目标
设定期望视线角为0,由图6(a)和图6(b)可以看出,在不同的导引方法下,尽管飞行轨迹不同,导弹都能在给定的场角范围内命中目标,其中分布式制导方法的脱靶量为10.64 m,SM制导方法的脱靶量为11.04 m。导弹在两种导引方法下都能达到期望的视线角附近,如图6(c)所示,两种制导方法的视线角分别收敛到0.67°和1.41°。分布式制导方法拥有比SM制导方法更平滑的视线角收敛曲线。此外在SM制导方法中,视线角的变化曲线存在超调现象,而分布式制导方法的仿真结果更加稳定,避免了超调现象的发生。从图6(d)的变化曲线也可以看出,分布式制导方法的法向加速度更加稳定,特别是在制导的末端。法向加速度曲线在制导末端的变化范围较小,有利于导弹在制导末端获得更光滑的弹道轨迹,视线角的变化也可以得到显著的抑制。
图6 静止目标打击结果Fig.6 Attacking results for stationary targets
2) 机动目标(=200 m/s,=200 m/s)
针对机动飞行目标的仿真结果如图7所示,SM算法脱靶量为13.66 m,分布式制导算法脱靶量为13.19 m。为满足攻击角度约束的要求,分布式制导方法在导弹初始阶段产生较大机动,末端弹道轨迹更加平滑。而SM制导算法在制导末端执行机构达到饱和,弹道不平滑。在图7(c)中,分布式制导算法视线角收敛到5.03°,能够有效实施对机动目标的拦截。SM制导方法则存在较大的攻击角度误差,视线角度收敛到-9.9°,目标的机动性一定程度上影响了其视线角收敛。图7(d)所示法向加速度仿真曲线显示,相比SM制导律,分布式制导方法能更快地调整视线角,因此制导末端的法向加速度的波动性也更小。因此可以在保持脱靶量近乎不变的同时获得更高的视线角精度。
图7 机动目标打击结果Fig.7 Attacking results for maneuvering targets
3) 蒙特卡罗仿真
为了验证本节提出的制导律在不同初始条件下的稳定性,并展示制导律的统计特性,针对机动目标进行蒙特卡罗仿真,在不同初始条件下进行了共100次仿真。初始条件如表2所示,其中unif表示平均分布,表示初始视线角。通过对此范围内的不同初始条件进行仿真,显示制导律在不同初始条件下的稳定性与鲁棒性。
表2 蒙特卡洛仿真参数Table 2 Monte Carlo simulation parameters
蒙特卡洛仿真结果如图8所示。图8(a)展示了仿真中导弹和目标的空间运动轨迹,图中多色线为不同初始条件下的导弹运动轨迹,黑色线为目标运动轨迹。其显示出所有仿真均成功击中了目标,其平均脱靶量为9.26 m。图8(b)为视场角曲线,其显示出视场角取值基本满足训练所规定的范围。图8(c)展示了视线角收敛的过程,显示了攻击角度约束的完成,其终端平均视线角误差为1.63°。图8(d)显示了较为平滑的法向加速度曲线。图8说明所提分布式制导方法可以更快地完成视线角的收敛,防止制导末端控制量达到饱和。
图8 蒙特卡洛仿真结果Fig.8 Attacking results of Monte Carlo simulation
本文对攻击角度约束下的深度强化学习制导问题展开研究,提出了一种分布式强化学习制导方法。对奖励函数做出改进,确保制导过程中视线角和视场角满足约束要求,从而有效抑制了制导末端视线角速率变化。设计了分布式探索策略,提高了深度强化学习模型的泛化能力,改善了局部最优解问题。通过对比仿真和不同初始状态下的蒙特卡洛仿真验证了所提改进制导方法的有效性和正确性。