近年来,无人机(UAV)应用场景更加广泛。其不仅在农业[1-2]、安保[3]、搜索救援[4]、地面勘探[5]、物流[6]等许多商业领域取得了不俗的成绩,而且在军事领域也大放异彩,出色地完成了许多有人驾驶飞机难以完成的任务。
传统无人机路径规划通常采用人工势场法、栅格法、遗传算法、动态贝叶斯网络等方法[7-9]。但是,由于这些算法存在对复杂情况适应程度低、在线求解效率低、计算量大、甚至无法在线求解等问题,使得无人机路径规划的自主性大大降低,难以满足在军事领域无人机智能化的要求。
随着深度强化学习的快速发展,运用其快速求解无人机航路问题成为可能[10]。本文基于深度强化学习,提出一种无人机路径规划算法。首先,建立了无人机运动模型和威胁模型;然后采用深度强化学习理论构建了无人机路径规划算法;最后,通过仿真验证了本文所提出算法的有效性。
不考虑无人机的形状大小等物理特性,将无人机简化为质点运动。无人机在二维空间的简化运动模型定义为:
(1)
式(1)中:为无人机的位置坐标;v表示飞行速度;φ表示无人机的偏航角。
主要考虑地面的雷达威胁和防空导弹威胁。
雷达威胁主要是指在无人机飞行时防空雷达对其造成的威胁程度。假设敌方防空雷达的探测角度是360°,rmax为雷达最大探测距离,因此雷达威胁的数学模型为:
(2)
式(2)中,UR是无人机当前位置与雷达位置的相对距离。
导弹威胁主要是指无人机飞行时防空导弹对其造成的威胁程度。导弹威胁数学模型为:
(3)
式(3)中:UM是无人机当前位置与导弹位置的距离;dMmax为导弹所能攻击的最远距离;dMmin为不可逃逸半径。一旦无人机与导弹的距离小于dMmin,则无人机一定会被击中。
DDPG算法(deep deterministic policy gradient,DDPG)是深度确定性策略梯度算法。DDPG算法继承了DPG算法(deterministic policy gradient,DPG)的确定性策略,智能体根据状态决策输出确定性动作,并且DDPG采用深度神经网络,增强对决策函数的拟合能力。相比随机性策略,DDPG大大减少了采样数据量,提高了算法的效率,更有助于智能体在连续动作空间中进行学习。
DDPG算法采用Actor-Critic框架形式, 主要包含演员(actor)网络和评论家(critic)网络。Actor网络负责为无人机生成动作和环境交互,Critic网络负责评估状态和动作的表现,并指导策略函数生成下一阶段的动作。Actor和Critic均采用双网络结构,拥有各自的目标(target)网络和估计(eval)网络。DDPG的网络结构如图1所示。
图1 DDPG的网络结构示意图
Fig.1 Network Structure of DDPG
图1中,Actor-eval网络主要负责策略网络参数θμ的迭代更新,根据当前的状态s来选择动作a,在和环境交互过程中,生成下一时刻的状态s′和执行当前动作产生的回报值r。Actor-target网络负责根据经验池中采样下一状态s′选择最优的下一时刻动作a′。网络参数θμ′定期从Actor-eval 网络中的θμ复制。Critic-eval网络主要是对网络参数θQ的迭代更新,计算当前Q值Q(s,a,θQ)和目标Q值yi=ri+γQ′(s′,a′,θQ′),其中γ表示折扣因子,影响训练过程中未来奖励相对于当前奖励的重要程度。Critic-target网络中主要参数θQ′是从定期复制Critic-eval网络的θQ参数得来的,主要负责计算目标Q值中的Q′(s′,a′,θQ′)。
设t时刻,无人机的状态为st,动作为at。则:
1) Actor-eval网络输出实时的动作μ(st|θμ),被无人机执行,并与环境进行交互;
2) Critic-eval网络输出Q值Q(st,at|θQ),用来判定当前状态-动作的价值;
3) Actor-target网络输出μ′(st+1|θμ′),根据经验回放池中采样的下一状态st+1最优的下一时刻动作a′计算目标Q值;
4) Critic-target网络输出目标Q值Q′(st+1,μ′(st+1|θμ′)|θQ′),无人机从环境获得奖励用来计算目标Q值。
对DDPG算法相关基本概念定义如下:
1) 确定性动作策略μ:定义为一个函数,每一步的动作可以通过at=μ(st)计算获得。
2) 策略网络:用一个神经网络对μ函数进行模拟,这个网络叫做策略网络,其参数为θμ。
3) J函数:又叫performance objective,用来衡量一个策略μ的表现,针对off-policy学习的场景,定义J函数为:
(4)
式(4)中:S是基于agent的behavior策略产生的状态; ρβ是它的分布函数;Qμ(s,μ(s))表示在不同的状态下,都按照策略μ选择action时,能够产生的Q值。即 Jβ(μ)是s根据ρβ分布时Qμ(s,μ(s))的期望值。
4) 策略梯度的定义:表示performance objective的函数J针对θμ的梯度。
5) 动作值函数:也称action-value函数。在状态st下,采取动作at后,且如果持续执行策略μ情况下,所获得的Rt期望值,定义为:
Qμ(st,at)=E[r(st,at)+γQμ(st+1,μ(st+1))]
(5)
在RL训练过程中,为了探索潜在的更优策略,为action的决策机制引入随机噪声:将action的决策从一个确定性过程变为一个随机过程,再从这个随机过程中采样得到action,下达给环境执行,将这个策略叫做behavior策略,用β来表示,这时RL的训练方式叫做异步策略(off-policy)。因为Uhlenbeck-Ornstein(UO)随机过程的随机噪声在时序上具备很好的相关性,可以使agent很好地探索环境,因此本文在DDPG中,使用Uhlenbeck-Ornstein(UO)随机过程进行训练。β策略如图2所示。
图2 β策略示意图
Fig.2 βStrategy
DDPG在进行网络训练过程中,只需要训练和更新Actor 和Critic中的eval网络参数,每隔一定时间后,再通过softupdate算法更新target网络的参数,更新过程如下:
(6)
式(6)中:θQ′和θμ′为target网络参数; θQ和θμ是eval网络参数;τ值一般取0.001。
在计算更新Critic网络参数时,定义Critic网络的损失函数为均方误差 (MSE),即:
(7)
式(7)中,将yi定义为:
yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
(8)
式(8)中:μ′是critic中target网络的参数;Q′是Actor中target网络的参数。可以将yi看作为“标签”,在训练时,通过back-propagation算法进行网络参数的更新。
在计算Actor的策略梯度时,采用off-policy的训练方法时,策略梯度为:
▽θuJβ(μ)≈Es~ρβ[▽aQ(s,a|θQ)|a=μ(si)·▽θuμ(s|θμ)]
(9)
策略梯度是S根据ρβ分布时▽aQ·▽θμμ的期望值。使用蒙特卡洛算法[7]来估算▽aQ·▽θμμ的值。在经验储存机构中存储的(transition)状态转移信息<s,a,r,s′>是基于agent的behavior β策略产生的,它们的分布函数为ρβ。所以当从replay memory buffer中随机采样获得mini-batch数据时,根据蒙特卡罗方法,使用mini-batch数据代入上述策略梯度公式,可以作为对上述期望值的一个无偏估计 (un-biased estimate)。因此,策略梯度为:
▽θμJβ(μ)≈
▽θμμ(s,θμ)|s=si)
(10)
DDPG的算法伪代码表示为:
DDPG
Randomly initialize critic network Q(s,a|θQ) and actor μ(s,θμ) with weights θQ and θμ
Initialize target network Q′ and μ′ with weightsθQ′←θQ, θμ′←θμ
Initialize replay buffer R
For episode=1, Mdo
Initialize a random process N for action exploration
Receive initial observation state
For t=1, Tdo
Select action at according to the current policy and exploration noise
Execute action at and observe reward rt and observe new state st+1
Store transition (st,at,rt,st+1) in R
Sample a random mini-batch of N transitions (st,at,rt,st+1) from R
Set yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
Update critic by minimizing the loss:
Update the actor policy using the sampled policy gradient:
▽θμJβ(μ)≈
▽θμμ(s,θμ)|s=si)
Update the target network:
End for
End for
无人机自身状态Suav包含当前时刻的速度矢量(vuav,x,vuav,y)和在环境中的坐标位置(puav,x,puav,y)。环境状态Senv包含了环境中N个威胁区的坐标位置、威胁半径和目标的坐标位置。其中第i个威胁区的坐标位置和威胁半径分别表示为(Wi,x,Wi,y)和ri,第i个目标的坐标位置可以表示为(Mi,x,Mi,y)。
在DDPG算法中,无人机的状态包括了自身的状态和环境状态。无人机在t时刻的状态定义为(vuav,x,vuav,y,puav,x,puav,y,Wi,x,Wi,y,ri,Mi,x,Mi,y)。
无人机的动作空间是Actor-target网络的输出,是一个二维的连续空间。动作策略是每一时刻给予无人机的瞬时速度(vx,vy),并且采用了确定性动作策略。根据当前时刻的状态输入,输出一个经过选择的确定速度,则无人机经过Δt时刻后的位置更新为计算公式为:
(11)
无人机的动作输出受到最小转弯半径的约束,如果不符合约束条件,则被视为不合理动作输出,需要进行重新选择。
无人机路径规划的奖励函数设计如下:
1) 规避威胁区奖励,当无人机进入威胁区后,会被给予一个负奖励。即Rf=-1,DW<ri,其中DW为无人机与威胁区中心的距离,ri为威胁区的威胁半径。
2) 为了在开始训练时,能够准确地引导无人机的动作选择,并且让无人机每一步都拥有一个密集奖励,在这里设计了一个距离奖励Rr,计算每一时刻无人机与目标的最近距离,以距离的负值作为奖励值,距离越近,奖励值越大。即Rr=-dmin,其中dmin是无人机与目标的最近距离。最终无人机的奖励函数设计为:
R=Rf+λRr
(12)
式(12)中,λ为距离奖励权重。
初始化仿真环境,包含无人机的初始位置、目标的位置和9个威胁区的分布情况。具体初始环境如图3所示。
图3 初始环境示意图
Fig.3 Initial environment
图3中红色三角形表示无人机初始化位置,红色圆形代表威胁区,紫色圆形代表目标位置。无人机需要规避威胁区并顺利到达目标位置。
图4为无人机训练时的奖励变化曲线。横坐标表示训练的回合数(episodes),纵坐标表示每一回合训练时无人机的累计奖励。由图4可以看出,随着训练次数的增多,奖励的绝对值减小,但是奖励逐渐增大,总体呈收敛趋势。
图5为DDPG算法经过训练后得到的无人机路径规划轨迹曲线。由图5可以看出,无人机在躲避了所有的威胁区的同时到达了目标区域。
图4 训练奖励变化曲线
Fig.4 Changes in training rewards
图5 规划轨迹曲线
Fig.5 Planning results
进行了基于DDPG无人机路径规划问题的研究。阐述了DDPG算法的原理和特点,设计了无人机路径规划任务的奖励函数,并将DDPG算法和无人机路径规划问题相结合,构建了基于DDPG的无人机路径规划的算法模型。通过仿真实验证明,DDPG算法仅需200回合左右便可规避障碍,实现路径规划任务,具有较快的收敛速度和学习效率。
[1] Qu Y B.The application of UAV oblique photography technology in architectural Design[C]//Proc.of the 2019 International Conference on Civil Engineering,Mechanics and Materials Science(CEMMS 2019),2019:134-138.
[2] Hunter J E,Gannon T W,Richardson R J,et al.Integration of remote-weed mapping and an autonomous spraying unmanned aerial vehicle for site-specific weed management[J].Pest management science,2020,76(04):1386-1392.
[3] Gavazzi B,Maire P L,Mercier D L,et al.Fluxgate three-component magnetometers for cost-effective ground,UAV and airborne magnetic surveys for industrial and academic geoscience applications and comparison with current industrial standards through case studies[J].Geomechanics for Energy and the Environment,2019,20:100117.
[4] Xu X W,Zhang X Y,Yu B,et al.DAC-SDC low power object detection challenge for UAV applications[J].IEEE transactions on pattern analysis and machine intelligence,2019,29(1/2):1-14.
[5] 朱涛,凌海风,贺伟雄,等.基于层级网络的多无人机自主编队策略[J].飞行力学,2018,36(05):43-48.
Zhu T,Ling H F,He W X,et al.Multi-UAV autonomous formation strategy based on hierarchical network[J].Flight mechanics,2018,36(05):43-48.
[6] Li B,Gao P X,Li X T,et al.Intelligent flight control of combat aircraft based on autoencoder[C]//Proc.of the ACM International Conference Proceeding Series,2019:65-68.
[7] 胡丁丁,梁翀.基于改进粒子群优化算法的无人机路径规划研究[J].数字技术与应用,2020,38(04):104,107.
Hu D D,Liang C.Research on UAV path planning based on improved particle swarm optimization algorithm[J].Digital Technologyand Application,2020,38(04):104,107.
[8] 徐瑞莲,周新志,宁芊.基于改进差分进化算法的多无人机航迹规划[J].火力与指挥控制,2020,45(1):
169-173.
Xu R L,Zhou X Z,Ning Q,et al.Multiple UAV path planning based on improved differential evolution algorithm[J].Fire Control & Command Control,2020,45(1):169-173.
[9] 王云常,戴朱祥,李涛.基于A星算法与人工势场法的无人机路径规划[J].扬州大学学报(自然科学版),2019,22(03):36-38,49.
Wang Y C,Dai Z X,Li T.Path planning of UAV based on a-satellite algorithm and artificial potential field method[J].Journal of Yangzhou University(Natural Science Edition),2019,22(03):36-38,49.
[10] 赖俊,饶瑞.深度强化学习在室内无人机目标搜索中的应用[J].计算机工程与应用,2020,56(17):156-160.
Lai J,Rao R.Application of deep reinforcement learning in indoor UAV target search[J].Computer Engineering and Application,2020,56(17):156-160.