实际环境中多无人车协同路径规划模型研究

源自:系统仿真学报      作者:张国辉 王璇  张雅楠 高昂

摘 要

地面无人车的集群作战运用是当前人工智能与作战指挥交叉领域的热点研究问题。针对实际环境中多无人车无法满足动态威胁条件下的协同路径规划问题,采用全局路径规划算法A-star与局部路径规划算法RL相结合的思路,从感知到行为决策全交互协同的角度开展多无人车协同路径规划模型研究,设计协同作战态势威胁算法、状态与动作空间、奖励函数、势力范围函数;设计协同作战编队构型策略生成及打击路径动态优化子模型,完成基于自主学习的多无人车协同路径规划控制模型构建与求解。结果表明:该路径规划模型可有效应对复杂城市环境下多无人车协同路径规划任务需求。

关键词

实际环境 ; 多无人车 ; 协同 ; 路径规划

引言

地面无人车的集群作战运用是当前人工智能与作战指挥交叉领域的研究热点[1]。目前,大部分无人车不具备协同合作能力,具体面临的挑战包括无人车缺乏对不断变化环境的适应能力;需要依靠远程战略支援装备来实现关键功能,如导航;需要大部分人工操控,无法兼容动态状况下的快反作业等。针对多无人车无法满足动态威胁条件下的协同路径规划要求,本文从感知到行为决策全交互协同的角度开展多无人车协同路径规划问题研究[2-6]。传统路径规划方法可划分为全局路径规划和局部路径规划2类。全局路径规划主要包括栅格法、可视图法、快速扩展随机树法等,因所规划的路径质量和环境建模与现实情况的匹配程度息息相关,通常需要无人车对全局环境的信息有一个较好的掌握。但由于环境具有未知性,当无人车处在复杂多变的大型环境中可能会面临难以获取足够环境信息来进行完整的环境建模问题[7-10]。局部路径规划主要包括人工势场法、模糊逻辑、遗传算法、神经网络法等,需要无人车使用传感器实时地探索与感知周围环境的信息,并利用这些数据进行从当前位置到下一个子目标位置的路径规划,但可能会存在模型态势估计结果的预测精度不够等问题[11-15]。基于强化学习的路径规划方法可在探索中学习环境状态,能够适应各种不同的复杂环境,但是训练的速度较慢,而且在状态空间庞大的局部环境中会出现维度爆炸问题而难以实际应用。如何将动态决策机制与更为合理的态势评估机制相结合,实现一套多无人车协同路径规划技术,保证群体智能对环境的更好适应和更高效的作业,就成为多无人车协同路径规划所需要解决的核心问题。

1 模型构建

以三车协同作为多无人车集群协同的基本系统结构,分别构建领航者、追随者路径规划模型,如图1所示。领航者路径规划模型构建思路分为离线的全局路径规划和在线的局部路径规划2个部分,假设仅已知地图上部分的障碍物信息,使用A-star算法在栅格地图中进行寻径,获得全局路径规划的路程点。将每一个路程点作为每一段局部路径规划的目标点,通过传感器感知外界环境的信息、自身及其他无人车的信息,进行基于强化学习在线局部路径规划,完成避障和寻路任务。跟随者路径规划模型,采用基于强化学习的路径规划算法为其进行路径规划。因为栅格地图的离散性,为了完成跟随任务,算法以领航者的轨迹点作为参考,通过传感器感知外界环境的信息、自身及其他无人车平台的信息,尤其是无人车间的距离信息及各自的位置信息,进行基于强化学习的在线路径规划,完成跟随、避障和一定程度的编队任务。

图 1   路径规划模型

多无人车通过与环境的不断交互,学习协同路径规划策略,涌现协同智能,其学习过程属于部分可观测马尔科夫决策过程(partially observable Markov decision process,POMDP)。POMDP可以通过(n, S, A, T, r, O, π)表示,其中:

  1.  n为无人车的个数。

  2. S 为多无人车系统的联合状态空间,第i辆无人车的状态空间为Si,

    表示第i辆无人车在t时刻的状态,St为多无人车系统的联合状态矩阵,单个无人车的状态包括无人车的位置和速度。

  3. A 为多无人车系统的联合动作空间,第i辆无人车的动作空间为Ai,

    表示第i辆无人车在t时刻的动作,at为多无人车的联合动作矩阵。

  4. 所有无人车的运动共同构成多无人车系统的状态转移函数T。

  5. 为多无人车系统的奖励函数,第i辆无人车在联合状态St 时采取动作ati得到的奖励为。

  6. O为多无人车系统的联合观测空间,

    为第i辆无人车在t时刻对联合状态的局部观测,xt表示各无人车在t时刻对联合状态的观测的集合,且满足xt∈S。单辆无人车的观测信息包括自身的位置和速度,以及与其他无人车、障碍物和隐蔽区的相对位置。

  7. 多无人车系统的联合策略πθ,第i辆无人车的策略为

    ,θ为策略的参数。多无人车系统中,每辆无人车决策的目标是最大化其累积总回报为

(1)

式中:γ为折扣因子,代表某一时刻奖励的权重。

利用由累积总回报定义的状态-动作值函数来评估每个无人车的行为策略:

(2)

式中:st+1为状态st转移的下一状态;

为无人车在状态st+1时的动作。根据式(2)可知,存在一个最优策略使无人车获得最优状态-动作值函数。

1.1  状态与动作空间设计

在基于强化学习的路径规划问题中,算法的学习及决策是以当前环境的状态为基础的,因此,对于环境状态的划分及定义十分重要。在平面栅格地图中,无人车所需规划的路径及其轨迹都是由离散的栅格坐标表示的,通常可以将栅格地图中的每一个坐标点表示为一个状态st,坐标为Ω(i, j) 。因此,根据平面栅格地图的大小,可以得到其全部状态组成的状态集:

(3)

同时,在每个状态st下,无人车能够执行的动作记为an。在平面栅格地图中,算法根据当前的状态选择所要执行的动作,在本文中可选的动作为上、下、左、右、左上、左下、右上、右下共8个动作,每个动作将使无人车从当前栅格节点移动到相邻的栅格节点上,组成的动作集:

(4)

对战场态势数据进行分析,采用对己方车辆生存能力的威胁划分高、中、低三类,并研究战场空间威胁等级描述方法。

(1) 依据火力交覆盖半径,采用圆形区域进行威胁区域划分,按照最小3个车辆协同的最小安全行驶距离范围、车辆集群之间最大协同通信距离作为威胁区域的安全距离,超出此协同通信最大距离会导致车辆集群的威胁出现,再次依照覆盖同区域内火力点数标准,对威胁区域进行子群行进安全区、车辆集群行驶安全区、火力打击覆盖区域划分。

(2) 研究对单车生存的影响因素,正面方向的接近速度、进入敌方火力范围内的接近车辆数量,依据这些因素组合,对单车威胁进行等级划分,并进行方形、圆形区域标记描述,建立速度、距离、接近角和数量的优势评估函数。第i辆车对敌方第j辆车的距离优势函数:

(5)

式中:Rij 为第i辆无人车与敌方第j辆车间的距离;R0 为最大距离优势,与火力覆盖的近界Rmin 和远界Rmax 有关,存在R0=(Rmin+Rmax)/2 ;σ为距离优势系数。第i辆车对敌方第j辆车的接近角度优势函数为

(6)

式中:φeij 为敌方车辆相对我方的进入角;φaij 为敌方车辆相对我方车辆的方位角。进入角和方位角定义如图2所示。

图 2   进入角和方位角定义

速度优势函数可以定义归一化的速度优势函数:

(7)

式中:vj为敌方第j辆车的速度;vi为我方第i辆车的速度。以我方速度为正向,vj的速度分为正负2个方向。通过以上优势函数建立综合优势函数Sij进而获得威胁等级评估结果,为目标分配和路径规划决策提供计算基础:

(8)

式中:Kv、Kr、Ka取值满足Kv+Kr+Ka=1,权重取决于速度、距离、角度优势的选择。

(3) 研究车辆安全行进区域识别分类

根据所获得威胁区域等级划分情况,结合地形高程信息,对车辆的安全行进区域进行标记描述,初步设定地形因素为开关型,即无障碍和有障碍。

1.2  奖励函数设计

奖励是强化学习算法中,无人车与外界环境在交互过程中,通过状态间的转换所得的回报,奖励函数设计直接影响强化学习算法训练的效果,进而决定最终规划的路径是否安全及最优。无人车和外界环境交互产生的状态变化,有的属于无人车自身属性的变化,比如位置、速度的改变;而其他的则来自于环境或其他无人车给予的反馈,比如碰撞后对其产生的损伤、无人车间距离的变化。因此,可以对无人车与环境交互产生的状态变化进行利弊分析,设计出使无人车能够在保证安全的同时更好地完成其任务的奖励函数。通常来说,对于有利于无人车完成任务的动作,比如接近、到达目的地,则给予奖励;对于不利于无人车完成任务的动作,比如发生碰撞或超出地图边界,则给予惩罚。但同时,无人车的移动也需要消耗时间与能量,如果对每一步动作都进行适量的惩罚,在强化学习算法偏向于获得最大奖励的基础下,就可以使其在完成任务的前提下,进行最少步数的动作。在这样的情况下,奖励函数为

(9)

式中:r1 为领航者和跟随者都拥有的奖励函数;A1>A2>A3 为正常数,对应着3种情况下给予的奖励数值。

同时,在本文协同路径规划的问题下,领航者与跟随者需要保持一定的距离进行前进,不能相距过近也不能相距过远。因此,将这样一个距离保持的奖励问题设计为如图3所示的领航者与跟随者间距离的奖励关系图。

图 3   领航者与跟随者距离的奖励关系

简单来说,以领航者为环形区域中心,当跟随者距离领航者太近时,即距离小于D1,因为会产生碰撞的可能性,会得到一个负的奖励;当跟随者距离领航者太远时,即距离大于D2,也会得到一个负的奖励;当跟随者处于环形区域时,会因为保持了合适的距离,得到一个正的奖励。根据以上的设计,领航者与跟随者保持距离的奖励函数为

10

式中:r2 为奖励函数给予跟随者的奖励;t为当前时刻;dt为t时刻跟随者与领航者的距离;dt+1 为t+1时刻跟随者与领航者的距离;C1>C2>C3为正常数,表示无人车在不同条件下与环境交互中得到的奖励值。具体来说,分为3种情形:

(1) 当t时刻的距离dt在高奖励区域,即D1≤dt≤D2 ,而根据t+1时刻的dt+1分别得到奖励-C2、-C1、C3,表示为对于保持距离的动作做出奖励,对于导致远离或产生碰撞可能性的行为做出惩罚,并且后者的惩罚更大。

(2) 当t时刻的距离dt 在外部低奖励区域,即dt>D2 ,而根据t+1时刻的dt+1 分别得到奖励-C3、C3、C2、-C1,表示对于继续增加距离的动作进行惩罚,对于靠近领航者的动作做出奖励,但由于地图栅格化的原因,也需对由远距离直接变为过近距离的动作进行惩罚。

(3) 当t时刻的距离dt 在内部低奖励区域,即dt<D1 ,因为在本文的设计中,进入内部低奖励区域即视为有很大可能会产生碰撞,因此直接给予惩罚的奖励-C1。

因此,通过设定距离D1、D2,即D1小于单个栅格的单边长度且D2选取在单个栅格的单边长度和对角线长度之间,在保持距离的前提下,可以使得跟随者会偏向于最终到达领航者的上、下、左、右4个位置,如图4所示。为了实现领航者与跟随者的三角形编队,首先让第1个跟随者在不给予目标点的前提下,进行强化学习算法的迭代,从4个位置中选取奖励最大的一个,作为自己的目标点。然后通过几何关系,得到第2个跟随者的2个备选位置,并对到达备选位置的动作进行奖励。进而在保证安全的前提下,通过强化学习算法的迭代,选择出累积奖励最大的目标位置,实现编队任务。

图 4   三角编队下跟随者位置的选取

对于跟随者来说,最终的总奖励函数为

(11)

在算法训练的过程中,使用总的奖励进行状态动作对值的更新,可以兼顾2种奖励所带来的约束,并在2种约束的平衡中找到最大累积奖励的路径。领航者和跟随者共有奖励r1,对远离合适范围的动作进行惩罚,对进入合适距离的动作进行奖励。同时,跟随者和领航者的距离可以通过式(12)进行计算。

(12)

如果下一个状态的距离dt+1 比当前状态的距离dt大,说明经过动作at的执行,使得跟随者远离了领航者;如果下一个状态的距离dt+1 比当前状态的距离dt 小,说明经过上一个动作的执行,使得跟随者接近了领航者。因此,可以根据当前的距离dt 选择对应的奖励函数来对动作at 来进行奖励。

1.3  势力范围设计

为了使无人车在路径规划过程中能够趋向于与其他无人车保持合适的距离,为无人车与探测到的障碍物设计渐变的势力范围,并使用一辆无人车来统一对地图信息进行更新,将地图信息向无人车下发。具体地说,一条路径是否安全可行,参考人工势场法,不仅仅要求路径上没有障碍物或其他运动物体的阻挡,更期望于路径与障碍物保持一定的距离,来为实际运行中存在的误差预留空间。如图5所示,假设障碍物处于地图中心位置,则远离障碍物的绿色范围为较好的备选路径位置;而随着逐渐靠近中心障碍物,则发生与障碍物碰撞的可能性越大,越不适宜成为备选的路径位置。同时,对于任意无人车来说,其每轮进行强化学习的范围被限制在其势力范围的中间核心区域,这样的设计其一是为了防止与其他无人车发生碰撞,并趋向于保持一定的距离,其二是减少强化学习Q矩阵的维度,以使得算法能够较快收敛。因此,结合奖励函数的设计,可以得到每轮强化学习中趋向于与周围物体保持一定范围并且得到较好奖励的目标点,给予算法进行强化学习寻找路径使用。

图 5   障碍物人工势场

2 模型求解

对于领航者的路径规划采用的方法是以全局路径规划所得到的路程点作为每一次局部路径规划的目标点进行在线的强化学习训练。

2.1  求解算法设计

全局路径规划的核心思想是设计一个估价函数F(n),其由起点到任意节点n的实际代价G(n)与该节点n到目标点的估计代价H(n)相加组成。设计一个OPEN表以及一个CLOSED表,前者用来存储已经被扩展但未被访问的节点,后者用以存储已经被访问或不能访问的节点。在每一次循环中,算法从OPEN表中选取F(n)值最小的节点进行访问,并对周围节点进行扩展,直到访问到目标节点。因此,A-star算法的路径规划效果很大程度上依赖于估价函数:

(13)

从式(13)可以看出,估价函数实际上又依赖于估计代价H(n)值,即启发式的设计。因此,A-star算法找到最短路径的条件便在于:当启发式满足H(n)不大于节点n到目标节点的实际距离,搜索的范围较大、搜索的节点数目会较多,搜索效率也会随之降低,但能够得到最短路径;当启发式满足H(n)大于节点n到目标节点的实际距离,搜索的范围较小、搜索的节点数目会较少,搜索效率也会随之升高,但不能够保证得到最短路径,全局路径规划流程如图6所示。

图 6   全局路径规划算法

强化学习是一个策略评估和策略优化的过程,无人车依据行为策略执行动作,利用值函数评估策略,再根据值函数优化策略,直至获得最优策略

和最优值函数。策略的形式可分为策略函数和基于值函数的贪婪策略。基于Q-learning算法,运用前文所提状态动作对、奖励函数、自适应探索率策略的设计,可以得到局部路径规划算法的实现步骤。

  • 步骤1:初始化,对于st∈S ,a∈A ,其对应的状态动作对矩阵的Q值和奖励矩阵中的奖励值都初始化为0,并将已知的不可行动作以及障碍物写入奖励矩阵中,设为一个较大的负值奖励。同时给定学习率α、折扣因子γ、探索率ε、探索率调整值θ、目标点坐标以及最大迭代次数T,并初始化当前迭代次数k和初始点坐标,将目标点写入奖励矩阵中,设为一个正值奖励。

  • 步骤2:从代表初始点的起始状态s开始,进行新一轮的迭代。

  • 步骤3:获取当前状态对应的可行动作集,并依据ε−greedy策略进行动作的选择并执行。

  • 步骤4:通过观察得到下一个状态及奖励。

  • 步骤5:对当前状态-动作对的Q值进行更新。

  • 步骤6:如果已经到达目标点,则结束本轮学习,更新探索率ε,并转至步骤7;若未到达目标点,则以下一个状态为当前状态,转至步骤3继续本轮学习。

  • 步骤7:如果当前迭代次数k等于最大迭代次数T,则结束学习,转至步骤8;否则转至步骤2,进行新一轮的学习。

  • 步骤8:以初始点对应的状态为起点,每一次都选择最大Q值对应的动作,直到达到目标点,得到从初始点到目标点的路径。

2.2 自适应探索率设计

强化学习的过程实际上是一个“探索-利用”的过程。由于外界环境是未知的,先验知识的缺少需要无人车先执行动作,对环境进行探索,通过反馈得到奖励来积累经验,并利用此经验,选择当前状态下期望累积奖励最大的动作。探索的频率越大,得到全局最优解的可能性越大,但也会增加算法的收敛时间;利用的频率过大,则会使算法过分地信赖已有的经验,更容易陷入局部最优解。因此,强化学习的关键问题之一便是选择何种策略以使探索和利用达到平衡。目前常用的2种方法为ε−greedy策略和基于Boltzman分布的探索策略,前者因为实现简单而被广泛应用,但同时也存在着一些缺陷。由于ε−greedy策略里探索因子ε是一个常数,其并不会在算法运行的过程中发生改变,这就会对算法的前中后期带来一些问题。为了更好地应对“探索-利用”平衡的问题,本文在ε−greedy策略的基础上,提出了一种根据算法学习效果动态调整探索率的自适应探索率策略,其基本思想为:根据算法从起始点寻径到目标点的步数来动态地对探索率进行调整,式(14)对最大步数做出定义。

(14)

式中:m为栅格地图的长与宽的和;n为栅格地图中起始点和目标点间坐标差的绝对值之和;T为算法的最大迭代次数;k为算法的当前迭代次数。随着算法迭代次数的增加,最大步数会逐步收敛到n。因此,自适应探索率策略的核心思想为在一次算法迭代的过程中,如果从起始点寻找到目标点的步数,小于最大步数,则减小探索率。如果大于最大步数,则增加探索率:

式中:step为算法一次迭代过程中从初始点寻找到目标点的步数;θ为探索率ε的单次调整值。这样的自适应探索率策略对于强化学习算法前中后期的“探索-利用”问题有一定的改善作用。在算法初始阶段,因为先验知识的缺少,往往需要很多step才能寻找到目标点,此时探索率ε会迅速上升,加快经验的积累;在算法中间阶段,随着经验的积累及最大步数的减小,探索率ε将有一定的回落,在探索和利用间达到一个平衡,减小了落入局部最优点的可能;在算法后期阶段,此时积累的经验已经足够,探索率ε也已经下降为很小的数值,有利于加快算法的收敛速度。

2.3  控制器设计

控制器主要包括初始化部分和循环部分。初始化部分将会对参数进行初始化,并使模块器件处于工作状态。而循环部分则为控制器控制功能的实现方式,在循环内根据所采集到的信息,对无人车采取相应的控制操作,基于此结构,设计控制器流程如图7所示。

图 7   控制器流程

由于Webots是以一个固定的时间间隔来对控制器及模块进行参数设置或调用的,并且已经具备了较好的插补算法。因此,如果时间间隔设置的越小,控制的精确程度也就会越高,但仿真运行得会越慢;但如果时间间隔设置的过大,虽然会加快仿真运行的速度,但可能会导致无人车在控制器的控制下反复震荡,甚至表现出失灵的现象,对于系统的稳定性会造成很大的影响。本文对控制精度与仿真时间进行了平衡,将控制器的时间间隔设置为16 ms,将仿真环境的时间间隔设置为32 ms。

3 模型求解示例

根据栅格法的思想,对于在环境中建立地图,将其分割为n×n的栅格地图。同时,起始点和目标点的位置对于领航者来说是已知的。Webots中建立的地图,被划分为1 000××1 000大小的栅格地图,其中单个栅格的边长为4 m。实验中所使用的无人车模型是Webots中的RoboMaster无人车模型,共设置了18辆组成非对称的33小组进行实验,并设置了少量障碍物以测试算法的避障能力。实验运行在64位windows10操作系统上,硬件配置为AMD Ryzen 5 5600X 4.4 Ghz的中央处理器、16 GB内存,实验平台为Webots R2021a、Matlab R2021a和Visual Stdio 2019。

3.1   奖励函数值及势力范围的设置

根据前文奖励函数的设计,对于领航者和跟随者共有奖励r1,具体数值设置为式(16)。当无人车到达目的地时,会得到奖励值为5的奖励;当无人车发生碰撞或超出地图边界时,会得到奖励值为-10的惩罚;每当无人车执行一步动作,都会得到奖励值为-1的惩罚。

(16)

对于跟随者来说,除了要避免与障碍物、领航者的碰撞,还要避免跟随者间相互的碰撞,解决这一问题的途径是优先级低的跟随者在强化学习算法中将优先级高的跟随者视为障碍物来进行路径规划。对于跟随者独有的,用于保持其与领航者距离的奖励r2,其值设置为

17

对于实验中3辆无人车组成的小组,跟随车所取用的D1、D2分别为5、6个栅格距离;对于3个由3辆无人车小组组成的中组,跟随组的指挥车取用的D1、D2分别为16、18个栅格距离;对于由2个9辆无人车中组组成的大组,跟随组的指挥车取用的D1、D2分别为33、35个栅格距离。D1选取的值为0.1 m,所设计的无人车模型的对角线距离十分接近0.2 m,当距离小于其值的一半,则表明此时2辆无人车很可能会发生碰撞,需要对造成距离过近的此类动作进行惩罚。同时,因为单个栅格的长度为0.25 m,为了使跟随者与领航者的距离趋向于保持在一个栅格长度的距离,将D2的值设置为0.26 m。跟随者和领航者的距离可以通过式(12)进行计算。无人车编队总体设计可以由图8表示。

图 8   无人车编队总体设计

3.2  两种初始条件下的协同效果及分析

在前文仿真环境搭建的基础上进行仿真实验,第1种无人车的初始条件如图9所示。在这样的初始位置下,领航者每完成一个栅格的运动,跟随者便会以领航者到达的位置为参考目标,根据各自的优先级,先后通过强化学习算法分别规划各自期望得到最大累积奖励的路径。图9给出了全局规划算法为领航者规划的路径,领航者从初始位置(2, 2)到目标所处位置(10, 10)总共经过10个栅格,可以看出全局规划算法为领航者规划的路径为最优路径。实验中主要的参数见表1。

图 9   第1种初始条件及其全局路径规划

表 1   实验参数设计

图10给出了领航者与跟随者的距离随时间的变化曲线,2个相邻栅格中心的距离为0.25 m,从图中可以看出,跟随者与领航者之间的距离保持在[0.25 m,0.75 m)区间,并且跟随者总是趋向于与领航者保持在一个栅格的距离。这是因为,在设计奖励函数r2r2时遵循了领航者与跟随者需要保持一定的距离进行前进,不能相距过近也不能相距过远的设计原则。图中变化曲线呈现锯齿状,这是因为,在仿真过程中,跟随者要快速地向领航者靠拢,并且能够持续的保持协同跟随的状态。当无人车从当前栅格到下一个栅格或者需要绕过障碍物时,需要调整车体朝向,当领航者在进行转向时,两者间的距离会急速的上升;当跟随者在跟随领航者转向时,两者间的距离又会逐渐下降。因此,在领航者与跟随者交替进行转向、移动的情况下,算法基本达到了协同跟随的效果。

图10   第1种初始条件下的领航者与跟随者间的距离变化

图11给出了第1种情况下领航者和跟随者的轨迹,从图中可以看出,3辆无人车基本实现了成三角形编队,能够较好地完成协同跟随任务,同时,与图10中的距离变化曲线图相互印证。

图11   第1种初始条件下的无人车的轨迹

第2种无人车的初始条件如图12所示。领航者处在(4, 4)位置,2个跟随者分别处在(1, 2)和(2, 1)处,目标位置处在右上角的(10, 10)处。图12给出了全局规划算法为领航者规划的路径,领航者从初始位置(4, 4)到目标所处位置(10, 10)总共经过8个栅格,可以看出全局规划算法为领航者规划的路径为最优路径。

图 12   第2种初始条件及其全局路径规划

图13给出了在第2种初始条件下,领航者与跟随者的距离随时间的变化。可以看到,当领航者与跟随者的初始位置为(4, 4),距离跟随者初始位置(1, 2)和(2, 1)较远时,跟随者仍能够在100个时间步长左右时间,快速的向领航者靠拢,并且领航者与跟随者的距离持续保持在[0.25 m,0.75 m)区间,说明算法能够较好地使跟随者保持协同跟随的状态。

图13   第2种初始条件下的领航者与跟随者间的距离变化

图14给出了第2种情况下领航者和跟随者的轨迹,从图中可以看出,在此种状况下,3辆无人车仍能较好地保持间距,实现三角形编队与协同跟随任务。同时,从以上2种初始条件下的最大迭代次数T可以推测,在本文的算法设计和仿真环境下,跟随者与领航者的距离变化对于算法的收敛速度影响不大,需要通过损失函数进行量化分析。

图14   第2种初始条件下的无人车的轨迹

采用的是绝对误差损失函数,公式为L=|y−f(x)|。其中,y为每轮迭代所经过的路径的总奖励;f(x)为人为给定的最优路径的总奖励。因此,如果损失函数值越小,算法规划的路径越好。基于以上2种初始条件,以跟随者进行的强化学习为例,通过损失函数的变化,分析跟随者与领航者的距离对算法收敛速度的影响,如图15所示,横轴表示迭代次数,纵轴表示损失值,其中,第1种初始条件和第2种初始条件的f(x)都为10。

图 15   2种初始条件下的损失函数

从图15(a)可以看出,第1种初始条件下,迭代次数(0, 20)区间内,损失值较高,最高值为4,但随着训练次数的增加,损失值不断减小,并趋近于0。从图15(b)可以看出,迭代次数(0, 20)区间,(250, 270)区间,(475, 495)区间均出现峰值,随后随着训练次数增加,损失值不断减小,并趋近于0。第2种条件下之所以会出现多次峰值,是因为跟随者与领航者距离较远,遇到的状态空间较为复杂,强化学习过程中存在探索与利用的问题,因此,每次在学习过程中,遇到新的状态时,都会出现峰值,随后随着学习经验的积累,损失值趋于0。对比图15性能曲线可以看出,在2种不同初始条件的路径规划实验中,随着跟随者与领航者距离的变远,损失函数依旧在一定的迭代次数内可以收敛到0,表明通过强化学习规划得到较好的路径所需要的迭代次数并不会因距离较小的变化而产生剧烈变化。

进一步对距离变化与收敛速度的关系进行探究,定义损失函数连续10次迭代结果为0时,判断为算法已经收敛。对距离从1个栅格对角距离到8个栅格对角距离,共8个情况进行实验,实验结果如图16所示。

图 16   距离变化对收敛速度的影响

从图16可以看出,随着跟随者与领航者距离的逐步增大,算法收敛的步数也随之增加,成非线性正比例关系。由此推断如果距离进一步增大,算法收敛所需要的步数可能会急剧增加,进而导致算法的稳定性迅速降低。在本文的设计中,无人车每轮进行强化学习的范围被限制在一个栅格距离以内,也就是说无人车只需要采用一次动作便可到达本轮路径的终点,对领航者每一轮次强化学习的目标点并不是较远的最终目标,而是全局路径规划给予的路程点,这使得强化学习算法收敛所需要的步数较少,避免因为距目标点距离的增加而呈指数性的上升,进而导致算法无法收敛;而对于跟随者来说,其每轮强化学习只需要完成与领航者保持距离的路径规划,收敛所需的步数会在一定范围内保持稳定。结果表明,本文所设计的自主协同的路径规划算法有较好的收敛性和稳定性的。

(1) 自适应探索率与ε−greedy比较

以单个无人车从初始位置(2, 2)到目标位置(10, 10)的强化学习路径规划算法为例进行测试,对自适应探索率和ε−greedy策略的效果进行比较。图17给出了基于自适应探索率的强化学习算法中,探索率的变化情况。

图 17   自适应探索率的探索率变化

从图17可以看出,在迭代区间(0, 50]内,探索率由0.1逐步上升至0.22左右,呈逐渐上升趋势,这是因为在算法初始阶段,因为先验知识的缺少,往往需要很多step才能寻找到目标点,算法需要更多的机会探索未知的节点,能够较快地积累经验,而此时探索率会迅速上升,加快经验的积累,符合实际需求;在迭代区间(50, 120]内,探索率由0.22逐步下降至0.01左右,呈逐渐下降趋势,这是因为在算法中期阶段,已经积累了一定的经验,需要不断寻求探索和利用的平衡,而此时最大步数减小,探索率将有一定的回落,探索率由高值逐渐下降,随着经验的积累及在探索和利用间达到一个平衡,减小了落入局部最优点的可能,符合实际需求;在迭代区间(120, 300]内,探索率保持在0.01左右,这是因为在算法后期阶段,积累的经验已经足够,主要通过利用已有的经验来完成Q表的更新,此时,探索率也已经下降为很小的数值,有利于加快算法的收敛速度,同时避免了陷入局部最优点而无法跳出。总的来说,这样的探索率在算法的前中后期的分布是比较合理的。

图18给出了2种算法中,探索步数的变化情况。

图 18   两种策略下探索步数的变化

从图18可以看出,在迭代区间(0, 130]内,由于初期先验经验的缺失,导致基于自适应探索率策略算法的探索率增加,进而使其路径总奖励值和最优奖励值有较大的差距,在这一阶段,ε−greedy策略收敛效果要优于自适应探索率策略。在迭代区间(130, 300]内,由于自适应探索率策略算法积累的经验较ε−greedy策略更多,探索率也越来越优化,此时,虽然基于自适应探索率策略和ε−greedy策略算法的损失函数值均逐渐趋于0,但在这一阶段,自适应探索率算法积累了足够的经验,算法主要在利用已有的经验上运行,而ε−greedy策略则仍然有较多的探索部分,探索步数在最优步数的基础上仍有些许起伏。经计算,迭代区间(130, 300]内,基于自适应探索率策略算法的平均损失值为0.078,方差为0.004,基于ε−greedy策略算法的平均损失值为0.106,方差为0.01。因此,基于自适应探索率策略的算法较ε-greedy策略后期收敛的性能更优,表现效果更好,更稳定。

(2) 协同路径规划效果及分析

图19给出了领航组中的领航车沿直线前行时,各无人车的轨迹图。Leader-R1、Follower-R2、Follower-R3为第1编组,Leader2-R4、Follower-R5、Follower-R6为第2编组,Leader2-R7、Follower-R8、Follower-R9为第3编组,Leader-R1为编队领航者,Leader2-R4、Leader2-R7为编组领航者,Follower-R2、Follower-R3、Follower-R5、Follower-R6、Follower-R8、Follower-R9为编组跟随者,从图中可以看出,无人车编队基本上实现了三角形协同编队的任务,并能够较好地完成协同跟随任务。

图 19   无人车的轨迹

4 结论

本文针对实际环境中多无人车无法满足动态威胁条件下的协同路径规划要求,从感知到行为决策全交互协同的角度开展多无人车协同路径规划问题研究。采用全局路径规划算法与局部路径规划算法相结合的思路,设计协同作战态势威胁算法,状态与动作空间,奖励函数,势力范围函数,在此基础上设计协同作战编队构型策略生成及打击路径动态优化子模型,最后完成基于自主学习的无人车集群协同控制算法。这样的路径规划模型设计可以在一定程度上减小发生因为当前位置与目标点的直接距离过远而导致强化学习的路径规划算法收敛速度慢,甚至不收敛的可能性。本文尚待解决的问题是,在仿真实验中,使用单主机进行仿真实验时,计算机性能对仿真的速度有一定的限制,性能的消耗主要源自于每辆无人车需要一个控制器程序和一个规划器程序,18辆无人车则需要至少同时启动36个应用程序,并且随着无人车中全局地图矩阵维度的增大,矩阵计算的速度也会因CPU性能的限制而降低。后续的计划解决方案是需要使用更高性能的计算仿真机来进行大规模的实体协同仿真实验。

本文仅用于学习交流,如有侵权,请联系删除 !!

猜你喜欢

转载自blog.csdn.net/renhongxia1/article/details/129313165
今日推荐