时间:2024-07-28
乔 哲,黎思利,王景志,符小卫
(1. 西北工业大学电子信息学院,西安 710072;2. 航空工业沈阳飞机设计研究所体系部,沈阳 110035)
由于现代战争的作战环境日益复杂,无人机作为一种新兴飞行器,研究其相关技术对掌握作战主动权、提高作战性能有着明显的作用。其中,路径规划技术是无人机领域重要的研究方向之一。
路径规划本质上是一个最优路径搜索问题,需要找到一条从起点出发的、连续无碰撞的、能够到达终点的路线。传统路径规划算法如A*算法[1]、Dijkstra 算法[2]、协同粒子群算法[3]、遗传算法[4]等更适合解决静态路径规划问题。针对动态环境,传统控制方法与模糊控制方法需要涉及很多专家知识,而基于神经网络的方法则需要外界提供大量样本经验。作为机器学习方法之一的强化学习能够弥补上述算法的不足,其几乎不需要专家知识,且不需要外界提供的大量样本。同时,在动态环境下,也具有优秀的自适应性能与学习能力。
La 等[5]提出协作Q-learning 算法,将经典一致性控制算法、人工势场法与Q-learning 结合,使得机器人在连续空间中能够躲避静态障碍与捕食者,但文中强化学习网络的输入是一致性控制算法的相关状态,而不是从环境中得到的真实状态。香港中文大学的潘佳教授团队[6]提出了一种基于传感器的避碰策略,将原始传感器测量值直接映射到智能体的运动指令上。智能体可以根据环境信息对场景进行建模、分类,从而采取不同的运动策略,但文中未考虑对动态障碍物的避碰。王延祥等[7]将流体扰动算法与深度神经网络相结合,解决了现有的无人机路径规划方法难以兼顾路径质量和计算效率的问题,但此算法仅聚焦于单智能体,没有考虑环境中有多个智能体存在的情况。Ryan 等提出了MADDPG 算法[8],为多无人机的航迹规划问题提供了新的方向[9]。2019 年,Qie 等[10]通过采用MADDPG 算法实现了多无人机在二维平面的目标分配与路径规划,但此时MADDPG 算法训练所需时间较长。上述文献均利用强化学习算法对单智能体和多智能体路径规划问题进行研究,但并未对复杂环境中的路径规划考虑周全。
通过上述分析,本文将基于深度强化学习,使用优先经验回放机制改进DDPG 网络并设计单无人机基于优先经验回放的DDPG 算法(Deep Deterministic Policy Gradient based Prioritized Experience Replay,PER-DDPG),随后引入经验共享机制将PER-DDPG 并行拓展到多无人机中,设计基于优先经验回放的并行 DDPG 算法(Parallel Deep Deterministic Policy Gradient based on Prioritized Experience Replay,PERPDDPG),让所有无人机使用共享的经验池和网络进行学习,实现多无人机在未知复杂环境中的路径规划。
本文描述的未知复杂环境是封闭的有边界的空域范围。在这个环境中,有静态障碍,如山丘、建筑等;也有动态障碍,如鸟禽等。无人机在未知复杂环境中的路径规划任务场景如图1 所示。
图1 多无人机路径规划场景Fig. 1 Scenario of multiple UAVs path planning
由于战场环境的多样性和不可预测性,无人机执行实际任务时无法获取所有环境信息,因此无人机在运动时除目标点信息已知外,只能通过机载雷达检测到其他物体相对于本机的位置信息,并不知道环境中其他物体的运动意图和决策策略,其观测获得的信息仅是全局信息的一部分。
由于多无人机任务决策问题本身就具有高维度、高复杂性的特点,为简化研究问题,本文假设多无人机为同构机型,具有相同的物理特性,并且在研究过程中不考虑无人机的形状大小等物理特性,将无人机简化为质点运动。无人机二维运动学模型如图2 所示,无人机位置为(x,y),速度为v,航向角为ψ,雷达探测距离为R,雷达探测范围为60°。
图2 无人机二维运动学模型Fig. 2 2D Kinematics model of UAV
无人机质点在二维空间的简化运动模型定义为
模型简化后,控制向量简化为加速度a、角速度ω两个动作向量。无人机的运动控制变量约束为
式中,amax是无人机的最大加速度,vmax是无人机的最大速度,ωmax是无人机的最大角速度,其计算方程为
式中,TΔ 为仿真的时间步长,r为转弯半径,rmin为最小转弯半径,ψΔ 为TΔ 时间内的航向角最大转弯角,nmax为无人机的最大侧向过载,g为重力加速度。因此,最大角速度为
无人机初始状态为
经典匈牙利算法是Kuhn 利用匈牙利数学家Koning 针对矩阵中独立零元素定理提出的用于解决指派问题的优化方法。本文使用该方法从初始的多个目标中为每个无人机分配其对应的目标点。
该方法的理论基础是:在代价矩阵的任意行或列加上或者减去一个常数不会改变最优分配方案。其基本思想是通过每行或每列加减同一个常数来修改代价矩阵,直到代价矩阵不同行不同列至少有一个零元素。此时,零元素就对应了一个总效益最小的最优分配方案。
经典匈牙利算法的基本步骤如下:
步骤 1:建立资源分配问题的代价矩阵M0(m×n);
步骤2:从效益矩阵M0每行中减去该行最小的元素,使得每行都有一个零元素,得到M1;
步骤3:从M1每列中减去该列最小的元素,使得每列都有一个零元素,得到M2;
步骤4:用最少的直线覆盖M2(仅包含横线和竖线,不包含斜线)中的零元素得到M3,如果最少直线的数量等于m,转入步骤6,否则转入步骤5;
步骤5:矩阵M3中所有末被直线覆盖的元素减去末被覆盖元素中最小的元素,同时在直线相交点加上该最小元素得到M4,令M2=M4,转步骤4;
步骤6:从零元素最少的行或列开始指派,直到所有任务都指派完毕,得到最优指派方案P。
上述步骤是按照假定m=n进行的,即认为效益矩阵M0是一个方阵。但在实际问题中,任务数与人数不一定完全相等。针对任务数与人数不相等的情况,一般的处理方式是增加虚拟人或虚拟任务,即对效益矩阵进行加零补边处理,然后再按照上述步骤进行任务指派。
在本文中,目标点的数量等于无人机的数量,即m=n。在路径规划前,会使用经典匈牙利算法先根据无人机在目标点执行任务的代价矩阵,对多个目标点预先分配给不同的无人机。
Lillicrap 等[11]在Actor-Critic 框架上,引入DQN 的经验回放机制,对确定策略性梯度算法(Deterministic Policy Gradient,DPG)进行改进,提出了深度确定性策略梯度算法(Deep Deterministic Policy Gradient,DDPG)。由于无人机控制量为连续值,因此选择动作空间为连续的DDPG 算法,设计单无人机路径规划算法。
对于本文任务场景而言,由于动作空间、状态空间的连续性,任务场景构成的样本数量非常巨大,但是训练初期无人机成功避开障碍到达目标点的数据很少,更多的是无人机与障碍物发生碰撞或毫无头绪徘徊的数据。如果只使用随机抽样来选择参加训练的数据样本,会使无人机倾向于更多地学习如何避障,而关于飞往目标点的学习则相对较慢。为了更加有效地利用数据样本,本文引入优先经验回放机制对DDPG 算法进行改进,设计单无人机基于优先经验回放的DDPG 算法(Deep Deterministic Policy Gradient based on Prioritized Experience Replay,PER-DDPG)。
基于优先级的经验抽取方法最早由 Schaul等[12]提出,该方法提出的Prioritized Experience Replay 思想解决了如何从经验池抽取高质量经验的问题。强化学习中,TD-error 表示当前的Q值与目标Q值的差距值。因此,可以将TD-error 定义为一个可以衡量样本是否重要的指标。D-error,即tδ的具体计算为
式中,如果tδ较大,则说明这个样本预测的准确性有待提高,需要提高这个样本的优先级,从而有更多的机会去学习它;如果tδ较小,则说明这个样本的优先级会被降低。
设定经验样本的采样概率为
式中,jP是以TD-error 为标准的优先级指标,α为优先度调节参数,确保每一个经验都有机会被选择、被至少放入网络中参与一次训练。当α=1时,说明网络使用原始TD-error 计算优先级;当α= 0时,使用随机采样的方式对样本进行抽样,此时每个样本的优先级变为
式中,rank(j)为第j个样本在全体样本中所在位次,按照每个样本的由大到小排序。
智能体倾向于更新高TD-error 的经验样本改变了原本的概率分布,模型引入了误差,可能导致神经网络训练时无法收敛。因此在计算权重变化时使用重要性采样来修正误差
式中,M为经验回放池数量,参数β为修正误差的程度。将与环境交互的数据根据上述排序就能区分经验样本的重要程度,大幅提高经验样本的学习效率。
因此,PER-DDPG 网络结构[13]如图3 所示。
图3 PER-DDPG 网络结构Fig. 3 PER-DDPG structure
一般来说,多智能体深度强化学习根据智能体之间通联方式的不同将多智能体深度强化学习分为如下4 类:无关联型、通信学习型、协作学习型和建模学习型[14-15]。其中,无关联型算法并不是提出了一个完全新的学习算法,它们主要是分析和评估单智能体算法在多智能体场景中的应用情况,每个智能体独自与环境交互、学习,不与其他的智能体产生通信联系[11]。尽管此算法忽略多智能体的场景特性会导致学习失败,但该方法能够灵活用于智能体数量多变的场景,实际应用中也取得了较好的训练效果。
因此,本文借鉴无关联型多智能体强化学习思想,引入经验共享机制,设计一种集中式训练、分布式执行的算法来解决多无人机路径规划问题,称之为基于优先经验回放的并行DDPG 算法(Parallel Deep Deterministic Policy Gradient based on Prioritized Experience Replay,PERPDDPG)。PER-PDDPG 算法将PER-DDPG 网络并行扩展到多无人机场景中,每架无人机把各自观测到的状态存入同一经验池中进行共享,使用同一个PER-DDPG 网络,即同一Actor 策略网络与Critic 评价网络进行集中式学习、训练,再根据各无人机当前状态各自选择动作执行。
所有的无人机基于相同的策略网络,将自身的观测数据、目标点、与其最近的无人机的相关信息等组成的状态s输入到Actor 网络中,得到控制指令a并执行,到达新的状态s',从环境中得到相应的回报r,并将该条经验(s,a,r,s')存入所有无人机共享的经验池中。训练时,从共享经验池中按照优先经验回放机制优先抽取一批数据样本,结合共享的目标网络Critic 网络来更新实时的策略和评价网络。网络参数更新方式同样为软更新。具体网络结构如图4 所示。
图4 PER-PDDPG 网络结构Fig. 4 PER-PDDPG structure
相比于单无人机算法,PER-PDDPG 使用多无人机并行的方式加速探索,能更快更广地探索状态空间,丰富了经验池的多样性。
设定无人机携带机载GPS 设备和陀螺仪,可以获得自身的位置信息和速度信息,即ξ=[x,y,v,ψ];携带激光雷达传感器能获得周围环境信息,在雷达探测范围内遇到障碍物时,激光被阻挡,障碍物后方就探测不到,每条射线都会返回一个距离值。雷达半径的参数设置以无人机机载激光雷达VUX-240 的探测距离为参考,具体参数设置如下:
(1)雷达探测半径为2 km;
(2)雷达探测范围为60°。
若有障碍物阻挡,则返回被阻挡处与机载雷达的距离,否则将该值设置为雷达最大探测半径值2 km。
在多智能体系统中,智能体除了绕过障碍物外,还要避免与其他智能体发生碰撞。为了简化网络结构,多无人机系统中的每架无人机将除本机以外的其他无人机视为环境中正在移动的障碍物。
本文选择的状态输入包括3 部分。
(1)无人机i机载雷达返回的观测数据:本文使用正前方60°范围的雷达测量数据,为了降低计 算 复 杂 度,将 此 范 围 分 为 7 方 向 {di1,d i2,di3,di4,di5,di6,di7},即使用间隔10°的测量数据作为网络输入。得到无人机i坐标系下的各角度障碍物分布情况后,对其进行归一化处理
此外,传感器的观测数据中包含了与其最近一架无人机的信息(ρiu,θiu),ρiu表示无人机i探测到的与它最近的无人机的距离,表示无人机i航向与它最近的无人机所在方位的夹角。
(2)无人机i自身当前运动状态:(v i,ψi)∈A,其中vi和ψi分别表示无人机i当前时刻的速度和航向角,前者归一化至[ 0,1] ,后者归一化至[ -1 ,1]。
(3)目标点信息:由于不存在全局的地图信息,目标点信息以无人机极坐标系形式给出,ρit表示目标点到无人机的距离,单位为km;θit表示无人机航向与目标点所在方位的夹角,如图5所示。其中,距离信息ρit将根据雷达探测范围被归一化,实际输入到网络中的是ρit/2。而角度信息则归一化至[ -1 ,1],目标点在无人机左侧时夹角θ
图5 多无人机场景Fig. 5 Scenario of multiple UAVs
it取正,在无人机右侧则取为负。
无人机状态输入是大小为13 的向量,如下
固定翼无人机的机动决策是通过选择合适的加速度和角速度然后执行TΔ 时间,达到无人机的期望速度和期望航向角。如公式(1),无人机i的控制输入为一个二维向量,即动作空间
式中,ia表示无人机i的加速度,iω表示无人机i的角速度,满足约束公式(2)。
其具体的速度大小范围设定参照CW-10 型号的固定翼无人机,设定为[10 m/s, 20 m/s]。
无人机的决策过程:在环境运行的每一个时间步长,算法输入公式(16)定义的状态,输出公式(17)的二维动作向量。
无人机根据当前状态,决策出机动动作后,环境的状态将会发生改变,变为下一时刻状态。环境的状态就是无人机与目标点、障碍物之间的关系,包括位置和速度信息,因此状态转移函数就是无人机的运动状态转移方程,即
为了提高样本效率,加快收敛学习速度,本文奖励函数的设计采用稀疏奖励[16-17]和引导型回报函数相结合的方式。
设计到达奖励rarrive,当无人机与目标点的距离小于阈值dgoal,即认为到达目标点,给予一个正向奖励。设计碰撞惩罚rcollision,当雷达探测反馈的最小距离小于安全阈值时,则认为无人机在环境中发生碰撞,给予碰撞行为负面惩罚。设计危险惩罚rdanger,当无人机靠近障碍物时给予惩罚
对于每架无人机而言,环境中存在“移动障碍物”,环境不是特别稳定,所以训练的难度和不稳定性会增强。为了实现全局的目标,每架无人机的奖励函数中应加入与整体任务完成情况相关的奖惩指标。
此外,即使每架无人机自身不动,在未得到最优策略时,别的无人机也有几率迎面撞上来,或者出现双方速度过快来不及反应就发生碰撞的情况,因此多无人机系统的避障难度和要求相比于单无人机系统会更高。为了加强无人机避障能力的训练,本文设置每回合的重置机制如下:
(1)单架无人机到达其指定目标点后,环境不会被重置,因为其他无人机仍未完成任务。在所有无人机都完成任务之前,该架无人机将持续使用其完成任务时刻的状态作为网络输入,以主动增加顺利到达目标点的数据样本供其他无人机学习。只有全部无人机均完成任务,才能将本次回合视为一个成功回合。
每回合结束情形如图6 所示。
图6 多无人机场景训练回合结束情形Fig. 6 End of the training round in the multiple UAVs scene
综上所述,每架无人机以及无人机编队总体的单步奖励函数设计为
式中,ra是到达奖励;rb和rc是引导无人机朝向目标点飞行的引导奖励,r b代表无人机从t-1 时刻到t时刻通过与目标距离的变化获得的奖励,rc代表无人机从t-1 时刻到t时刻通过速度方向与目标夹角的变化获得的奖励,1c和c2都是常数,tiρ代表无人机i在t时刻与目标的距离,θit代表无人机i在t时刻速度方向与目标方向的夹角;rcollision是无人机发生碰撞时获得的惩罚值;rdanger是对无人机过于靠近障碍物的惩罚;常数C是一个很小的负值,用于促使无人机能使用较少的步数尽快到达目标点;rtotal为无人机编队的奖励值,为其下属各无人机的奖励均值。
式(15)中具体的参数取值如表1 所示。
表1 仿真奖励参数设计Table 1 Design of simulation reward parameter
每轮训练无人机编队总体的奖励R设计如下:
式中,r代表第i步无人机编队的奖励值,n为该轮次下无人机编队的总步数。
在多无人机场景下,为简化任务,本文设置与无人机数量相同的目标点。本章中使用匈牙利分配算法[18],按照第2.3 节中的算法步骤,根据不同无人机在不同目标点执行任务的代价矩阵,对多个目标点进行预先分配。基于PER-PDDPG的多无人机路径规划算法流程如表2 所示。
表2 PER-PDDPG 算法Table 2 PER-PDDPG algorithm
当算法开始执行时,评价网络Q(s,a|θQ)和策略网络μ(s|θμ)的参数θQ和θμ将被随机初始化。初始化完成后,参数将被同时拷贝到对应的目标网络中,随后初始化经验池D。算法最多被执行Max_Episode个回合,每个回合最多与环境有Max_Step步的互动和学习。在每个回合开始时,环境以及用于动作探索的噪声函数将被初始化。
在每一步的互动中,算法会首先通过策略网络μ(s|θμ),根据每个无人机的观测状态量以及噪声函数确定在这一时刻该无人机的动作akt。在获得了所有无人机的动作后,确认下一时刻的环境状态,获取每个无人机在该环境下的状态观测量Sk(t+1 )以及执行动作akt的回报奖励值rkt。然后将交互样本(sk t,a kt,rk t,sk(t+1))存放到经验池D中,并设置其优先级Pt= maxPi。
完成上述过程后,如果经验池中的样本数量达到batch_size个,则根据样本权重从经验池中随机抽取batch_size个样本,计算其对应的重要性采样权重和TD_error,并根据TD_error 更新样本优先级。然后利用抽取的样本计算目标Q值,通过最小化TD 偏差来更新评价网络,并根据小批量样本计算得到的策略梯度更新策略网络。如果当前训练次数为10 的倍数,则软更新两个目标网络中的参数。然后进入与环境交互的下一步,重复互动和学习的过程,直至该回合结束。
重复上述每个回合的运行过程,直至回合数达到Max_Episode,训练完成。
实验中设置优先经验回放参数α=0.6,β= 0.4,经验回放池大小为30000,小批样采样数据个数为32;设置OU 探索噪声参数θ=0.2,σ= 0.15,γdecay= 100;设置最大回合数为1000~5000,每回合时间步长ΔT= 1s,每回合最大步数为3000,学习率为0.001,折扣因子为0.9,目标网络的更新率τ=0.01,使用Adam Op timizer优化器更新神经网络参数。无人机的运动性能参数参考了固定翼无人机CW-10 的性能参数,仿真环境初始参数如表3 所示。
表3 多无人机仿真环境初始参数Table 3 Initial parameters of simulation
训练场景采用图6 设定,在障碍物数量为4的场景中分别训练2~6 架无人机。每回合开始时,重置随机的无人机位置、速度、航向角,重新随机设置障碍物的位置、半径,并且障碍物之间不发生重叠,重新随机设置目标点位置。每回合遵照Algorithm1 流程,当经验池充满时开始训练,经验池为充满则采用加入OU 噪声的策略机动。同时,为了观测PER-PDDPG 算法的收敛性和学习有效性,采用平均奖励指标对算法进行评价。训练得到的奖励函数曲线如图7 所示。
图7 PER-PDDPG 不同数量无人机得到的奖励曲线对比Fig. 7 Comparison of reward curves obtained by PERPDDPG with different numbers of UAVs
由奖励曲线对比图可见,在4 个障碍物场景下,随着迭代次数的增加,无人机获得总奖励的平均值逐渐上升然后趋于稳定,网络训练收敛时间约在1100 回合,这个值也是算法训练过程中想要最大化的评价指标,平均奖励值趋于稳定表示算法的模型在训练过程中也趋于收敛。随着无人机数目的增多,训练收敛至稳定的所需时间均逐渐减小,验证了多架无人机通过共享经验池和两个训练网络可以更快地探索到环境中更多的状态,缩短训练所需时间。比较特殊的是代表2 架无人机网络的蓝色曲线,它的平均奖励值上升的时间和速度比3、4、5 架无人机网络都要快,且最后收敛到的平均值比其他无人机网络更高,这说明2 架无人机训练时对单架无人机而言环境更为简单,它的决策所面临的复杂度更低,使得收敛的平均奖励值相对更高。
为了评估算法的训练效果,使用训练好的2架无人机的PER-PDDPG 网络在障碍物数量为4、6 的环境中进行仿真测试,接着在这个网络中设置无人机数量为3、4、5、6 后再分别进行10000次蒙特卡罗测试。测试的仿真参数与训练时的参数设置相同,测试的数据结果如表4 所示。可以看出,该网络使用2 架无人机进行测试时任务完成率最高,随着障碍物数量增多,成功率逐渐减小,但是成功率降低范围在3%以内,综合而言还是有较高成功率。
表4 使用2 架无人机网络在不同障碍物数量及不同无人机数量场景中测试任务成功率Table 4 Use 2 UAV networks to test the mission success rate in scenarios with different numbers of obstacles and different numbers of UAVs
为了验证算法效果,采用4 架无人机训练的PER-PDDPG 网络设置4 架无人机分别在障碍物数量为4、6 的场景中仿真,测试该网络在指定场景中的任务完成情况。坐标系建立以第一架无人机的出发点为原点,水平向右为y轴正向,竖直向下为x轴正向。4 架无人机分别从(0,0)(1 km,0)、(0.5 km, 0.5 km)、(1 km,1 km)出发,初始速度均为(15 m/s),初始航向角均为0.25π,机载雷达探测半径为2 km,探测范围为60°;4 个目标点坐标分别为(35 km, 35 km)、(37.5 km, 37.5 km)(40 km, 35 km)、(40 km, 30 km);其余相关参数范围如表2 所示。
4 障碍物场景下,在大小为[ 0,50 ] ×[ 0,50 ] km2的任务区内设置障碍物,设置障碍物坐标为(15 km, 30 km)、(20 km, 15 km)、(40 km, 20 km)、(30 km, 5 km),半径分别为4 km、5 km、6 km、5 km,得到的各无人机航迹和本机信息如图 8所示。
图8 4 架无人机在4 个障碍物场景中的航迹及测试结果Fig. 8 Track and test results of 4 UAVs in 4 obstacle environments
6 障碍物场景下增加两个坐标分别为(35 km,30 km)、(5 km, 25 km),半径分别为2 km、3 km的障碍物,得到的各无人机航迹和本机信息如图9 所示。
图9 4 架无人机在6 个障碍物场景中的航迹及测试结果Fig. 9 Track and test results of 4 UAVs in 5 obstacle environments
综合图9~10 可以看出,在探测到障碍物时,无人机做出转弯避让决策,与最近一个障碍物距离均大于危险距离,成功避开障碍物后,及时调整航向,使得无人机尽量以最小夹角接近目标点,规划出相对短的安全路径,减少飞行所需时间。并且训练得到的模型可以灵活调整系统中智能体的数量和环境中的障碍物数量,而不会对训练的收敛性有大的影响,体现了算法极强的泛化性和鲁棒性。
为了评估本文提出的算法相对与传统的多智能体强化学习算法的效果,选择用经典的深度强化学习算法 DDPG 在多智能体上的延拓方法PDDPG 来与本文提出算法进行对比,通过比较两者的奖励曲线变化情况来说明优劣程度。对比训练过程中,仿真场景初始参数设置如表3 所示,无人机数量设置为4。
从图10 可明显看出,本文提出的PER-PDDPG算法的收敛速度快于PDDPG 算法。并且当算法收敛时,PER-PDDPG 算法所获得的奖励明显比PDDPG 算法更高。
图10 两种算法的奖励曲线对比Fig. 10 Reward curves of the two algorithms
本文主要以无人机路径规划为研究背景,基于深度强化学习对单无人机路径规划与多无人机路径规划问题特点进行了详细分析、研究。针对无人机连续动作空间特点,引入优先经验回放机制设计单无人机PER-DDPG 网络,结合分布式独立强化学习与集中式强化学习将单无人机路径规划算法网络做并行化拓展,得到多无人机PERPDDPG 算法。最终仿真结果表明,PER-PDDPG算法可以加快对环境的采样速度,缩短多无人机网络训练所需时间,能够规划出相对更短的安全到达指点目标点的路径,并且可以自由增减无人机数量,适用于无人机数量较多或数量经常变化的场景。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!