高敬鹏,胡欣瑜,江志烨
1.电子信息系统复杂电磁环境效应国家重点实验室,河南 洛阳 471003
2.哈尔滨工程大学 信息与通信工程学院,哈尔滨 150001
3.北京航天长征飞行器研究所 试验物理与计算数学国家级重点实验室,北京 100076
航迹规划是无人机(unmanned aerial vehicle,UAV)完成电子对抗作战任务的有效技术手段。面对地形及敌方雷达威胁,UAV飞行时亟需合理的规划算法获取航迹以规避危险并完成任务。实际飞行过程存在未知动态威胁,更要求UAV具备实时决策能力[1],因此在未知威胁环境如何实时规划UAV航迹是亟待解决的难题。
群智能算法是当前规划航迹的主要手段,结合约束条件,设计目标函数,利用迭代技术解算最优航迹。文献[2]提出一种自适应遗传算法实现UAV低空三维航迹规划,可以有效适用于静态地形威胁环境,然而其忽略了未知威胁对实际飞行过程的影响。文献[3]提出一种基于改进蚁群的UAV三维航迹重规划算法,相较其他算法,减少了规划时间,然而随着威胁数目增多,算法迭代计算复杂度升高,处理速度下降,难以满足无人机飞行航迹实时控制的需求。另外,若以离散航点两两连接形成的直线段为航迹,无人机在航点切换处飞行,不符合自身飞行动力学原理,将导致飞行误差,故在航迹规划的基础上,利用航迹优化技术将离散航点优化为一条满足无人机运动约束的飞行航迹[4]。文献[5]利用改进A*算法完成离散航迹点的规划,并通过插值平均处理优化航迹,却也增大了解算航迹的时间成本。文献[6]提出一种改进RRT航迹规划算法,在得到航迹节点的基础上,采用B样条曲线平滑方法生成曲率连续的航迹,也造成整体耗时增多。虽然传统以及基于群智能优化的航迹规划算法均能够获得最优航迹,但依赖于航迹优化技术配合且解算目标函数速度慢加大了实时规划难度。因此现阶段选择高效算法对于实现UAV航迹实时规划尤为重要。
近年来,随着机器学习的发展,深度强化学习因其出色的泛化性和适配性被成功应用于规划领域[7]。2013年,DeepMind团队[8]提出基于深度Q网络(deep Q-network,DQN)的深度强化学习(deep reinforcement learning,DRL)方法,利用神经网络拟合Q值函数,能够解决高维状态空间的离散动作决策问题。文献[9]设计一种改进DQN算法,在三维空间规划移动机器人路径,控制智能体输出离散动作,但无人机实际飞行是需要连续精准控制的,故其方法无法拓展至航迹规划领域。2015年,Lillicrap等人[10]提出基于连续控制模型的深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法,使智能体能在复杂环境根据自身状态决策输出连续动作。文献[11]利用DDPG算法决策无人机机动着陆的连续动作,这与航迹规划中无人机连续飞行需求不谋而合,故DDPG算法可用于无人机航迹规划。然而DDPG算法收敛性能受网络权重参数影响较大[12],适配网络参数及优化模型将导致训练耗时长。文献[13]提出混合噪声优化DDPG算法实现无人机对机动目标的连续跟踪,DDPG算法收敛性能得以提升,但仍存在训练耗时长的弊端。因此实际应用中如何降低网络训练时间成本成为DDPG算法仍待解决的问题。
为解决在未知威胁环境无人机难以实时规划航迹且模型训练机制冗余的问题,本文提出一种改进DDPG无人机航迹规划算法。结合实际环境,搭建飞行场景模型,将DRL方法引入航迹规划领域,根据任务和飞行需求,设计状态空间、动作空间和奖励函数,利用人工蜂群改进DDPG算法,更新网络模型参数,训练并应用改进DDPG网络模型,实现无人机航迹实时规划。
为完成无人机航迹实时控制,并提升DDPG算法训练效率,本文提出改进DDPG无人机航迹规划算法,其系统模型如图1所示。首先,构建环境空间,包括静态地形以及雷达探测威胁。其次,设计航迹规划问题的强化学习要素,根据无人机运动模型设计状态空间,依据飞行动力学理论设计动作空间,结合非稀疏化思想,考虑无人机与环境的交互情况设计奖励函数。随后,结合所设计的强化学习要素,构成经验数组,利用人工蜂群算法,优化DDPG算法网络参数更新机制,训练改进DDPG无人机航迹规划网络模型。最后,应用改进DDPG算法,实现无人机从实时飞行状态到实时飞行动作的决策映射,形成航迹。
图1 无人机航迹规划系统模型Fig.1 Model of UAV track planning system
无人机与环境发生交互得到飞行动作的航迹规划过程可以视为序列决策过程,使用马尔科夫决策过程可以对其建模,利用强化学习算法能够对其求解。
马尔科夫决策过程中每个t时刻状态的变化都只与t-1时刻状态和动作有关,与t-1时刻之前的状态和动作无关,其定义为一个四元组集合:
式中,S表示智能体在环境中的所有状态集合,A表示智能体在对应状态下可执行的动作集合,P表示智能体的状态转移概率矩阵,R表示智能体得到的奖励回报集合,r t(st,at,st+1)∈R表示智能体通过动作at,从状态st转移至状态st+1获得奖励回报值。
为更好地模拟无人机实际飞行,本节设定规划空间,搭建空间中静态地形和雷达威胁模型,将其作为无人机执行任务应考虑的威胁因素,为无人机飞行构建环境基础。
2.2.1规划空间
在规划空间中,无人机以原点为起点,依据实时规划的航迹,避开地形威胁和雷达探测威胁,到达任务目的地。设定无人机在三维飞行空间的位置坐标(x,y,z),x和y分别表示无人机在经纬方向的坐标点,z表示其在空间的海拔高度,则无人机的三维规划空间数学模型C可表示为:
式中,x m和ym分别为无人机在经纬方向最大飞行范围,zmin和zmax分别为其在空间中最小和最大飞行高度。
2.2.2地形和雷达威胁
考虑到无人机实际飞行环境存在地形威胁和未知位置雷达探测威胁,所以需要模拟静态地形以及不同位置的雷达威胁数学模型。静态地形模型可表示为:
式中,H(x,y)为地形起伏高度,x和y表示地面水平方向的点坐标,υ、κ、χ、δ是模型的常系数,通过改变这些系数数值大小即能模拟起伏地貌的实际地形。
威胁辐射源的探测范围决定了其对无人机的威胁程度,常用的方法通过计算威胁高度数据,将其等效为地形模型[14]。雷达对不同距离的目标有不同的探测能力,因而在建立雷达威胁模型时,应将雷达与目标间距离D和检测概率Pd纳入考虑范围。基于此,本文结合雷达原理,依据文献[15]推导目标和雷达间任意距离与检测概率的关系Pd(D)为:
式中,Dmax表示雷达最大探测距离,Pf表示虚警概率。
利用上述将威胁源等效为地形模型的方法,把雷达威胁范围处理为地形高程数据后数学表达式为:
式中,Hradar(x,y)为整合后的雷达威胁高程,K r表示与雷达相关的性能系数,Dmax为雷达的最大作用半径,(x0,y0)为雷达中心坐标。最后,将静态地形和雷达威胁模型叠加后得:
式中,H′(x,y)表示整体高程数据。
无人机航迹规划问题的强化学习基本要素主要体现为其在飞行空间的状态,由一个状态转换到下一状态对应的动作以及执行动作后与环境交互所得奖励。
2.3.1状态空间
无人机在飞行时,应具有实时感知环境信息并决策航迹的能力,从而避开地形和未知雷达威胁。考虑到以上需求,利用无人机能够根据传感器和情报等途径获取飞行信息的特点,本文设计无人机当前位置、相对威胁距离和飞行速度方向三方面信息为状态,将其在任意时刻状态信息联合,用公式表示为:
式中,pu,t和pt,t分别为终点和无人机位置,vu,t为无人机速度,[x u,t,yu,t,zu,t]为t时刻无人机在飞行空间的坐标位置,[dx t,dyt,dzt]为无人机和终点的相对距离,[vx,t,vy,t,vz,t]为无人机飞行时三个方向的分速度。
2.3.2动作空间
从无人机飞行动力学角度出发,为避开地形和雷达威胁并安全到达终点,其需要在飞行时改变速度方向。本文设定无人机按照恒定速率飞行,因而调整其飞行角度即可改变速度方向,并规定飞行角度精度,以期形成平滑的航迹,满足飞行动力学要求。所以将其在任意时刻的动作信息联合,用公式表示为:
式中,φt和ϑt分别表示无人机飞行的方向角和俯仰角。
2.3.3奖励函数
强化学习算法的收敛性依赖于合理的奖励设置,本文结合非稀疏思想设计奖励函数,使无人机执行每一步到达终点的趋势更加明显。无人机在规划空间内飞行的首要目的是到达任务终点,其航程受到自身携带燃料限制,同时飞行过程要避免被雷达探测,因此本文奖励函数的设计主要考虑以下3个方面。
(1)到达正奖励rappr。无人机航迹规划的首要任务是成功到达任务目的地,因而当任务终点在无人机的探测范围内时,系统反馈正奖励以使到达趋势更加明显,具体表示为:
式中,N^(·)表示归一化,‖‖·表示取模长,ρmax为无人机最大探测距离。
(2)航程负奖励rpath。实际飞行时,无人机飞行航程受到燃料等能源限制,所以设置航程负奖励rpath,使无人机经历越短的航程便能到达终点,具体表示为:式中,d表示无人机已经飞过的航程,Lmax表示无人机携带燃料对应的最大飞行航程。
(3)威胁负奖励rthreat。依据前文建立的威胁模型,若无人机进入雷达威胁区域则视为被敌方雷达发现,因此设置威胁负奖励rthreat,以降低无人机进入雷达探测区域的概率,具体表示为:
式中,pr,t表示雷达位置坐标,Dr,max表示雷达最大探测距离。
将任意时刻奖励综合表示为:
综上所述,本文结合无人机实际飞行需求,设计基于航迹规划问题的强化学习基本要素,为构建网络训练经验集奠定基础。
在众多强化学习算法中,DDPG算法因其能在连续动作空间确定性选择唯一动作的优点受到青睐。又由前文设计的强化学习基本要素可知,航迹规划问题是基于高维状态空间以及连续动作决策的,因此采用DDPG算法可以很好地完成无人机航迹决策。
DDPG网络中包含Actor策略网络和Critic值函数网络。Actor网络用来拟合策略函数,进而提取可执行的动作,其网络权重参数为θ,输入为状态st,输出为动作at;Critic网络通过内部的值函数信息估计Actor策略网络中对应梯度更新的方向,其网络权重参数为ω,输入为状态st和动作at,输出为评估值Q。
Actor网络更新采用策略梯度下降法,具体表示为:
式中,m为经验数据(s,a,r,s′)的采样个数。Critic网络采用均方误差损失函数进行参数更新:
式中,γ为奖励折扣因子。
另外,DDPG算法分别复制Actor策略网络和Critic值函数网络作为目标网络,使智能体对任务策略进行稳定学习,其网络权重参数分别表示为θ′和ω′。结合软迭代思想,缓慢更新目标网络,使智能体在训练时,学习过程稳定性大幅度增强。Actor目标网络具体更新方式为:
式中,τ用来控制Actor目标网络权重θ′的更新速度。同样,利用式(15)的方式更新Critic目标网络参数ω′。
此外,DDPG算法利用随机噪声,增加Actor策略网络在连续动作空间的探索能力,形成策略映射μ′:
式中,N为该噪声随机过程。
本文设计Actor策略网络和Critic值函数网络均由两个全连接层FC构成,网络结构简单且运算方便,时间复杂度低。故结合Actor网络输入状态,输出动作,Critic网络输入状态和动作,输出Q值的特点,根据上文选定的9维状态和2维动作,设计DDPG网络结构如表1所示。表中ReLu和tanh为神经网络常用的两种非线性激活函数。
表1 DDPG网络结构Table 1 Network structure of DDPG
依据DDPG网络训练原理,采用表1设计的网络结构,根据式(13)至式(16),训练DDPG网络。训练完成后,获取从飞行状态到飞行动作端到端的决策映射,其Actor在线网络策略映射公式如下:
式中,μθ(·)为已训练Actor在线网络的策略映射关系,θ是其网络权重参数,st为无人机实时飞行状态,at即为由映射关系μθ(·)得到的实时飞行动作。
在实际应用中,无人机实时采集飞行状态,迁移已训练Actor在线网络,即可得到实时飞行动作,实现航迹规划。
DDPG网络训练过程中,学习率的改变会直接影响网络收敛性能,传统方法通过调试学习率,直至网络具有较好的收敛效果,但调整至合适的学习率将会耗费大量时间成本。群智能算法通过不断迭代更新求解适应度函数最优值的思想,与神经网络优化权重参数的思想异曲同工,因此结合群智能算法寻优DDPG网络权重参数能够避免学习率对网络收敛性能的影响,最终解决网络训练时间长的问题。
人工蜂群(artificial bee colony,ABC)算法具备寻优能力强以及收敛速度快等优点,故本文采用ABC算法优化DDPG网络更新机制。但直接采用ABC算法需在一次完整DDPG网络训练中,利用不同的蜂群寻优策略和值函数两类网络的最佳更新方式,必然导致计算冗余。为弥补该缺陷,本文设计一种二维人工蜂群(two dimensional artificial bee colony,2D-ABC)算法,改进初始解和位置更新公式,共享种群行为机制,减少计算复杂度,提升训练效率。
2D-ABC算法将蜂群分为二维开采蜂、二维随从蜂和二维侦察蜂,二维蜜源每一维位置分别对应两个优化问题可能解,每一维蜜源花粉量分别对应两个解的适应度。二维蜂群采蜜的行为机制有以下三种,
(1)初始化种群。蜜蜂群体派出SN个二维开采蜂,开采蜂和随从蜂各占蜂群总数的一半,蜜源数与开采蜂相同,依据式(18)随机产生SN个二维初始解:
式中,φk为第k维中区间[0,1]的随机数。
(3)随从蜂采蜜。二维随从蜂根据对应维蜜源花蜜量的多少选择每一维较优的标记蜜源,并在其附近按照式(20)探索第k维新蜜源,选择概率表达式为:
本文提出2D-ABC算法流程如图2所示,其改进DDPG算法具体步骤描述如下:
图2 2D-ABC算法流程图Fig.2 Flow chart of 2D-ABC algorithm
步骤1初始化二维蜜源和二维蜂群。根据式(18),在M维空间随机初始化SN个二维蜜源位置,第一维和第二维蜜源位置分别代表Actor在线网络和Critic在线网络权重参数。同时,设置开采蜂和随从蜂数目均为2×SN,第一维和第二维蜂群的工作对象分别为第一维和第二维蜜源。
步骤2计算二维适应度。将Critic在线网络权重更新的均方误差损失函数,即式(14)作为第一维适应度函数,得到第一维蜜源评价值;将Actor在线网络权重更新的策略梯度下降函数,即式(13)作为第二维适应度函数,得到第二维蜜源评价值。
步骤3二维开采蜂开采蜜源。根据式(19),开采蜂分别在每一维蜜源位置附近开采,获得新蜜源位置。
步骤4根据式(13)和式(14),再次分别计算每一维新位置蜜源评价值,并与原位置蜜源评价值相比较,进行贪婪选择,保留更优的二维蜜源。
步骤5随从蜂选择蜜源。二维随从蜂依据式(20)得到的概率,选择每一维新蜜源。
步骤6再次执行步骤4。
步骤7在Limit次蜜源位置更新后,若每一维有放弃的蜜源则利用观察蜂替换开采蜂,并随机选择新蜜源,若无则从已保留的优质蜜源得到每一维最优蜜源位置,即最优的Actor网络和Critic网络权重参数。
本文融合2D-ABC算法寻优与DDPG算法模型更新机制,将Actor在线网络权重更新的策略梯度下降函数和Critic在线网络权重更新的均方误差损失函数作为适应度函数,利用2D-ABC算法分别寻优每一回合DDPG算法Actor和Critic在线网络权重参数,完成改进DDPG算法模型的训练,从而提升网络训练效率,降低总体的训练时间成本。改进DDPG算法模型训练及应用结构框图如图3所示,具体训练步骤如下:
图3 改进DDPG算法模型训练及应用结构框图Fig.3 Training and application structure diagram of improved DDPG algorithm model
步骤1结合式(7)至式(12),设计航迹规划问题的强化学习要素。
步骤2初始化状态s,清空经验回放池。
步骤3根据状态s,Actor在线网络得到对应动作a,智能体执行动作a,并得到新状态s′以及与环境交互后的奖励r。
步骤4将经验数组存入经验回放池,并从经验回放池中采样m个经验数组,送入Critic值函数网络,计算得在线Q值Qω(s,a)和目标Q值Qω′(s′,a′)。
步骤5根据式(13)和式(14),结合Critic值函数网络的在线Q值和目标Q值,利用2D-ABC算法求得最优Actor网络权重参数和最优Critic网络权重参数。
步骤6根据式(15),通过软迭代更新Actor网络以及Critic网络权重参数。
步骤7判断是否满足DDPG网络训练结束条件,结束训练。
最后,与改进前方法相同,无人机实时采集飞行状态,根据式(17),获取该状态下的决策映射,执行飞行动作,实现航迹规划。
对本文提出的改进DDPG无人机航迹规划算法进行仿真分析,无人机飞行约束参数、相关威胁仿真参数和改进DDPG算法参数分别如表2、表3和表4所示。本文设定无人机航迹规划空间大小为15 km×15 km×7.5 km,且假设无人机飞行恒定速率,同时设置算法测试500次,另外忽略自然环境干扰因素影响。本文涉及仿真的实验设备及环境满足:Intel®CoreTMi7-9700k CPU,32 GB双通道内存,Windows 10 64位操作系统,Python 3.5,TensorFlow 1.7.0。
表2 无人机飞行约束参数Table 2 Fight constraint parameters of UAV
表3 相关威胁仿真参数Table 3 Simulation parameters of related threat
表4 改进DDPG算法参数Table 4 Parameters of improved DDPG
为验证改进DDPG算法有效性和在未知环境的适应性,本文选取网络训练时长、测试成功率和航迹偏差率为评估指标,评估算法的训练和测试结果。其中,网络训练时长用于评估算法训练效率,测试成功率用于评估无人机满足航程约束情况下依照航迹决策顺利达到终点的能力,其计算公式为:
航迹偏差率TE用于评估无人机在成功到达终点前提下的航迹质量,其计算公式为:
式中,F为测试次数,αi和βi分别为设定相同条件下用智能算法解算得第i条航迹长度和改进DDPG算法决策得第i条航迹长度,航迹偏差率越低航迹质量越高,本文设定航迹偏差率低于7.5%时航迹质量达标。
由于训练次数多,且算法随机波动较大,直接显示所有训练回合奖励收敛曲线效果不佳,为更好展示算法训练效果,本文将每20个训练回合所得奖励和取平均并作归一化处理,将10 000次迭代收敛曲线等效处理为500次迭代收敛曲线。图4和表5分别给出了在网络结构设置如表1,超参数设置如表4,设定4组不同Actor网络和Critic网络学习率情况下,DDPG算法的奖励收敛曲线和训练时长表。
图4 四种不同学习率情况下DDPG算法的奖励收敛曲线Fig.4 Reward convergence curve of DDPG under four different learning rates
表5 四种不同学习率情况下DDPG网络训练时长Table 5 Network training duration under four different learning rates
由图4可知,随着学习率的增大,DDPG算法收敛速度明显加快,当Actor网络和Critic网络学习率分别为2×10-5和10-4时,归一化奖励值在5 600次训练回合左右才趋于稳定,而当Actor网络和Critic网络学习率分别为4×10-5和4×10-4时,归一化奖励值在3 800次训练回合左右即逐渐收敛。另外,不同学习率情况下,归一化奖励最终收敛值也不同,当Actor网络和Critic网络学习率分别为2×10-5和2×10-4时,归一化奖励值在0.8上下波动,而当Actor网络和Critic网络学习率分别为4×10-5和4×10-4时,归一化奖励值在0.6上下浮动,且浮动幅度较大。这是因为学习率是强化学习算法学习能力的数值体现,过高会导致算法早期样本过拟合,过低会导致样本利用率低使算法收敛慢,因此降低学习率对网络性能的影响尤为重要。
由表5可知,仅调试4组学习率情况下网络总训练时间累计140 h 34 min 44 s,训练耗时长,而调整至合适的学习率需要大量的训练时间,本文提出改进DDPG算法优化网络更新机制,提升算法训练效率。
图5给出了网络结构和参数设置分别如表1和表4情况下改进DDPG算法归一化奖励收敛曲线。
图5 改进DDPG算法奖励收敛曲线Fig.5 Reward convergence curve of improved DDPG
由图5可知,改进DDPG算法归一化奖励值在4 400次训练回合左右即趋于收敛,且稳定在0.9左右。另外,记录其经历10 000次训练回合耗费时长为69 h 40 min 34 s,对比表5结果可知,改进DDPG算法整体训练时长仅为原算法在表5所设4组学习率情况下平均训练时长的1.98倍。这是因为所提算法每个训练回合内利用ABC算法迭代更新寻优网络参数,导致网络训练复杂度增加,引起单个训练回合耗时增长的代价。得益于改进DDPG算法网络训练不依赖于学习率的优势,仅一次训练就能完成对模型权重参数的寻优,因此总体上网络训练时长大幅度减少,所提算法具有一定的有效性。
图6给出了在无人机仿真参数设置如表2,威胁模型仿真参数设置如表3的情况下,在两种随机位置多雷达环境中,无人机利用改进DDPG算法航迹规划测试效果图。
图6 改进DDPG算法航迹规划效果图Fig.6 Track planning effect chart by using improved DDPG
由图6可知,无人机能以连续平滑的航迹飞行,有效避开实际环境地形和不同位置未知雷达探测威胁,成功到达任务终点,验证了所提算法应用的可行性。
尽管智能算法解算航迹速率慢导致测试成功率不尽如人意,但迭代计算的特点决定了其能在不限时间内得到更优航迹。本文以智能算法在测试回合内解得航迹为参照,用航迹偏差率评估改进DDPG算法每次测试形成航迹的质量。蚁群算法具有启发式概率搜索特点,易于找到全局最优解,在规划领域广泛应用,因此选择蚁群算法作为对比算法。表6给出在相同飞行环境内无人机利用改进DDPG算法进行航迹决策和用蚁群算法解算航迹的测试结果对比。其中蚁群算法种群数量为40,全局信息素浓度更新率为0.5,局部信息素浓度更新率为0.4,信息素浓度重要程度因子为1.5,启发值重要程度因子为5。
表6 不同算法航迹规划测试结果Table 6 Test results of different algorithms for track planning %
由表6可知,500次测试中,用蚁群算法解算航迹无人机测试成功率仅48.2%,而改进DDPG算法成功率高达97.2%。这是由于大量的训练增强了改进DDPG算法学习能力,能够实时决策无人机飞行航迹,获得较高飞行成功率。同时,以蚁群算法获得最优航迹为参照,改进DDPG算法所得航迹偏差率仅为3.78%,其原因是所提算法采取的航迹决策使无人机飞行航迹有效且平滑,形成的航迹满足航迹质量需求,进一步验证了所提算法在工程应用的可行性。
本文提出一种改进DDPG无人机航迹规划算法,解决了用传统算法解算航迹速度慢的问题,同时优化了DDPG网络权重参数更新过程。所提算法将深度强化学习应用于航迹规划领域,为无人机飞行提供连续确定性动作决策,并设计2D-ABC算法,改进DDPG算法模型更新机制。仿真结果表明,所提算法无需调整学习率的过程,提升了无人机在未知威胁环境飞行的实时反应能力,降低了训练的时间成本,且在达到97.2%飞行成功率前提下,保证了航迹质量。忽略自然干扰因素影响,所提算法相比典型智能算法,凭借连续飞行动作输出和实时航迹决策的优势,在无人机航迹规划领域更具可行性。面对实际环境天气、风力和气流等变化影响,可联合卡尔曼滤波等技术完善飞行动作,使得所提算法在自然环境应用可行。下一步工作,本团队将研究所提算法的优化技术,同时探讨超参数对于深度强化学习网络模型性能的影响。