不确定环境下的深度强化学习编队避障控制①
2022-11-06禹鑫燚杜丹枫欧林林
禹鑫燚 杜丹枫 欧林林
(浙江工业大学信息工程学院 杭州310023)
0 引言
多智能体系统在军事、卫星群协同控制、无人机编队控制等方面都有广阔的应用前景[1-3],因此得到了各界学者的广泛关注[4]。其优点在于利用多个智能体协作完成单个智能体无法完成的复杂任务。多智能体的编队一直是多智能体系统的研究热点[5-6],它要求智能体以特定的几何形状形成集群或者以期望的队形完成特定的任务。如何使多智能体系统在避开障碍物的同时保持队形,是多智能体编队控制的关键问题。
已有的编队控制方法有领航跟随法[7]、虚拟结构法[8]、基于行为法[9]和基于图论法[10]等。文献[11]研究了一种基于视觉的领航跟随跟踪策略。文献[12]设计了一种基于虚拟结构的避障方法,为每个机器人生成基本轨迹。文献[13]基于图论提出了一种新颖的自适应编队控制方法,用于解决非线性多智能体系统的编队控制问题。虽然多智能体编队控制已经取得了一系列的研究成果,但是在面对复杂环境或者动态环境时适应能力不足。在不确定环境中,多智能体编队的避障不够灵活,智能体之间的碰撞避免以及智能体与障碍物的碰撞避免,给多智能体编队避障控制带来了挑战。
深度强化学习[14-16]可以不依赖环境模型,适用于未知环境中的决策控制问题。同时由于深度强化学习拥有强大的感知和学习能力[17-18],在多智能体领域已经取得了较为成功的应用[19-22]。基于强化学习的多智能体编队控制具有传统编队方法所不具备的优点,可以在不断的试错中进行学习来解决编队避障控制问题。目前已有诸多学者将深度强化学习与传统编队控制相结合,并且取得了较好的成果。针对动力学未知的非线性多智能体编队控制,文献[23]提出了结合模糊逻辑系统和强化学习的优化控制方案来实现编队控制。文献[24]提出了一种基于深度学习的无人机编队协调控制算法,使得无人机能够在大规模复杂环境中形成特定队形并执行导航任务。考虑到编队过程中的碰撞避免问题,文献[25,26]使用深度强化学习方法优化领航跟随算法,实现了多智能体的编队避障控制。文献[27]将基于行为的控制方法和深度强化学习相结合,使编队可以在保持队形的同时避开障碍物。为了进一步提高编队避障的成功率,文献[28]和[29]利用深度强化学习强大的学习能力,训练了一种多智能体编队避障策略,有效降低了智能体之间的碰撞概率。文献[30]将深度学习方法与传统碰撞回避算法相结合,在编队的过程中,采用长短期记忆来感知任意数量的障碍物信息,并设计了复合奖励函数来提高编队避障的成功率。上述文献基于深度强化学习实现了多智能体的编队避障控制,并且在不同方面做出了优化,但是对于多个智能体的学习过程长、学习速率慢的问题,目前研究还不够深入。
为进一步缩短编队过程中智能体的学习时间,并且加快智能体学习效率,本文提出了一种不确定环境下的深度强化学习编队避障控制方法。首先,在智能体学习的初始阶段,建立了价值评估网络,增加智能体选择触碰障碍物或者到达期望位置这些特殊动作的经验。其次,在智能体选择动作时,基于贪心策略,改进动作选择策略,提高了算法的学习效率。然后设计了样本存储空间,增加样本的利用率。最终,结合多步学习算法,使价值估计更准确。通过本文提出的深度强化学习编队避障控制方法,智能体可以在不确定环境中通过学习完成编队避障任务。为验证本文方法在不确定环境下的有效性,本文设置了不同的障碍物环境进行仿真实验。仿真结果表明本文所提算法能够使多个智能体在不确定环境下较好地实现编队避障任务。
1 问题描述
本文所要解决的主要问题是确定每个智能体的最优控制策略,使得智能体到达各自的期望位置形成队形,并且能在维持队形不变的情况下有效避开障碍物。假设存在N(N≥2) 个智能体随机分布在二维空间内,每个智能体对应着不同的期望位置。在多智能体编队过程中,位置坐标表示智能体i的状态,并且朝着期望位置Gi(i=1,2,…,N) 运动,同时智能体互相之间不发生碰撞并且能有效避开障碍物。智能体i在运动过程中有5 种可能的动作可供选择,即动作集合Ai(s) 为{前,后,左,右,保持原地}。
将上述多智能体编队避障控制问题表述为强化学习问题。在不确定环境下的深度强化学习编队避障控制问题中,对于每个智能体,st和at分别表示t时刻的状态和动作。智能体i的位置坐标为pt,i=速度为,期望位置的坐标为可观测的智能体状态为st,i其中gt,i表示智能体是否到达期望位置。奖励值函数的设计为R=[rO,rG,rF],其中rO表示智能体触碰障碍物的奖励值,rG表示智能体到达目标位置的奖励值,rF表示多个智能体保持队形的奖励值。如果目标编队完成,即智能体到达相应的目标位置时,会获得正向的奖励值,而智能体触碰障碍物或者智能体队形被破坏则会得到负向的惩罚。根据上述定义,本文使用一个五元组<I,S,Ai(s),P,{ri}>来表示多智能体编队避障控制过程,其中,I为有限个智能体的集合;S为每个智能体可观测状态的集合;Ai(s) 为第i个智能体在状态s∈S下可以选择的动作集合;P为状态转移函数,是指给定智能体在当前状态和联合行为时,下一状态的概率分布;{ri} 表示多个智能体在采取不同动作之后的奖励值的集合。多个智能体在s状态下的联合动作可以表示为A(s)=A1(s)×A2(s)×A3(s)…×AN(s)。在学习过程中,每个智能体与环境不断进行交互,获取智能体自身的状态信息。多个智能体的状态信息组合成联合状态输入到神经网络,智能体根据动作选择策略选取自身的动作,获得下一时刻的状态和奖励值函数值。智能体与环境交互产生的数据元组{st,i,at,i,rt+1,i,st+1,i}被存储到经验池中。在每一回合,从经验池中进行采样学习,最终智能体通过学习确定最优控制策略π,为队形保持和碰撞避免选择最优动作。当智能体执行策略π时,可以最大化智能体的奖励总和Ri,其中γ是折扣因子,t表示时间,T是终止时间。
2 不确定环境下的深度强化学习编队避障控制方法
将多智能体编队避障控制问题抽象为强化学习过程,目的是通过学习得到最优策略,使智能体在保持队形的同时避免碰撞并到达期望位置。本文建立了价值评估网络,改进了智能体动作选择策略,设计了样本存储空间,同时结合了多步学习算法,提出了不确定环境下的深度强化学习编队避障控制方法。
2.1 奖励值和动作选择策略的设计
奖励函数的设计对深度强化学习编队避障控制任务尤为重要。在本文中,智能体互相之间发生碰撞或者触碰障碍物以及无法保持队形会获得一个负的奖励值,智能体到达各自的期望位置则会获得一个正的奖励值,其他时刻奖励值为0。
其中rcrash是智能体之间发生碰撞或者触碰到障碍物的奖励值;rreach是智能体到达期望位置的奖励值;rformation表示多智能体无法维持队形时的奖励值。
合理而有效的动作选择策略设计可以减少学习的时间。将贪心策略用于动作选择,来平衡学习过程中的探索与利用,求解出接近真实的价值模型。贪心策略定义如下:
其中μ∈[0,1] 是每个回合产生的随机值,ε是探索速率,是动作空间A中的一个随机动作。贪心策略可以使每个智能体有1-ε的概率随机选择动作。在训练前期,智能体需要多次探索,以获取不同的动作价值,避免陷入局部最优;而经过一段时间训练之后,智能体逐渐学习到最优策略,就可直接选择正确的动作,尽可能获取更多的奖励值。ε的取值随着迭代次数的增加而增加,最终值为1。
当智能体选择动作时,在保留一定概率随机选择动作的基础上,对贪心策略作了改进。为了加快智能体在前期的探索效率,本文建立了一个价值评估网络使智能体更快地理解环境。智能体在选择碰撞或者到达期望位置等特殊动作时,会产生特殊经验,价值评估网络被用来评价选择的特殊动作的价值。该网络E的损失函数定义为
价值评估网络E的训练需在网络Q之前完成,然后帮助选择动作。结合贪心策略,将动作选择策略设计为
式(5)中,e(st,at;) 可以增加智能体特殊经验的比例,即在训练前期,鼓励智能体选择下一步的碰撞或者到达期望位置的动作。当Q(st,at;θt) 开始正确识别障碍物时,e(st,at;) 可以抑制碰撞,鼓励智能体探索更多的位置。
2.2 样本存储空间设计
通过2.1 节中的动作选择策略,智能体与环境进行交互产生学习样本,存入样本存储空间中。样本存储空间具备采样功能,通过计算每个样本的时间差分误差(temporal difference error,TD-Error),即样本的估计值和实际值之间的差距,将其作为当前样本的采样权重。越大的TD-Error 表示样本的估计值和实际值之间的差距越大,样本越有价值。智能体编队避障控制过程中的TD-Error 的定义为
其中,rt+1是t +1 时刻的奖励值,γ是折扣因子,s和a是智能体的状态和动作,θt是神经网络参数。使用随机采样算法,在以TD-Error 为权重的采样和均匀采样之间进行插值。根据式(6),将样本i的采样概率P表示为
其中pi和pk表示样本i和k的TD-Error,α可以调整TD-Error 的权重。为了在提高样本利用率的同时确保不会有太大的偏差,结合重要性采样定理对原来的概率计算增加权重:
其中N是存储的样本数量。在整个训练过程中,β的初始值为0,并且随着迭代学习的进行,线性增长为1。
样本存储空间的功能可以描述为:当智能体通过动作选择策略与环境交互产生样本存入样本存储空间时,计算每个样本i的采样概率P(i);在样本取出时,以概率P(i) 进行采样;在更新时,为每个样本添加权重ωi,随着训练的进行,β从初始值线性增长为1。
2.3 算法设计
本文采用如下的动作-值函数来估计所学到的策略:
其中E表示期望。式(9)可以递归计算为
其中r(s,a) 表示在状态s执行动作a的奖励值,s′和a′分别是下一时刻的状态和动作,γ是折扣因子,a′~π表示智能体通过动作选择策略π采取下一步动作a′。深度Q 学习算法基于时序差分法的思想,通过贝尔曼方程进行自迭代更新,更新公式为
深度Q 学习算法大多通过下一时刻的回报和价值估计得到目标价值,这种方法在前期具有学习速度较慢的缺点。为了提高学习速度,本文结合多步学习算法,以使训练前期目标价值可以估计得更准确,从而加速训练。多步学习算法的公式为
其中,γ是折扣因子,r是奖励值,θt是神经网络的参数。结合式(11)和式(12),值函数的更新公式为
其中α是学习速率,St是状态空间,At是动作空间,θt是神经网络参数。
智能体与环境进行交互产生数据(s,a,r,s′),使用经验回放池来存储交互产生的这些数据,并且通过最小化损失函数来学习智能体的最优策略。损失函数的定义为
其中,Gt是根据多步学习算法得到的实际值,Q(St,At,θt) 为估计值,ω是由式(8)得到的权重。
根据奖励值、动作选择策略和样本存储空间的设计,结合多步学习算法,获得适用于不确定环境下的深度强化学习编队避障控制的算法如下。
(1)初始化容量为N的Replay Buffer:D;
(2)初始化状态行动价值模型Q和参数θ;初始化Target Network和参数θ′,价值评估网络E和参数θE;初始化t=0 ;初始化batch_size大小为m;初始化多步学习算法步数n;
(3)初始化环境得到初始状态s1;
(4)智能体i随机选择动作at,i,从D中采样进行训练并计算yj,i=rj,i,根据式(3)计算神经网络E的损失函数,训练并更新E的参数
(5)智能体i以ε的概率选择一个动作at,i,或者根据式(5) 选择当前最优动作at,i=arg maxa∈Aq(st,i,at,i;θt,i)e(st,i,at,i;);(6)智能体i执行动作at,i,得到新一轮的状态st+1,i和奖励值rt+1,i;
(7)将样本数据{st,i,at,i,rt+1,i,st+1,i} 存储到D中;
(8)从D中采样一批样本进行训练,根据式(12)计算yj,i的值,当st+1,i为最终状态时,yj,i=rj,i,否则
(9) 根据式(14)计算损失函数L(θ)=
(10)每隔C轮进行参数更新θ′←θt+1;
(11)如果完成一次迭代训练,返回步骤(3),否则返回步骤(4)。
在训练过程中,智能体与环境不断进行交互,获取智能体自身的状态信息。多个智能体的状态信息组合成联合状态输入到神经网络中,智能体根据改进的动作选择策略选取自身的动作,得到下一时刻的状态和奖励函数值。交互过程中产生的智能体状态-动作值被存储到经验池中,在每一回合,从经验池中进行采样学习。本文提出的算法可以通过学习得到多智能体编队避障控制的最优策略,使多个智能体到达期望位置形成队形,并有效进行避障。
3 仿真实验
为了验证在不确定环境下本文提出算法的有效性,在智能体学习过程中添加额外的障碍物。同时,本文针对2 种不同的障碍物环境,分别进行4 个智能体和6 个智能体的编队避障控制。智能体通过迭代学习形成期望队形,有效避开障碍物并到达期望位置视为一次成功,文中以训练过程中的成功率为指标,将本文提出的方法与Double DQN[31]和MADDPG[32]2 种算法进行成功率对比,验证了本文算法的有效性。仿真实验共进行2000 回合的训练。在正式训练前需要进行预训练,用于收集经验数据以进行批次训练。训练过程中,ε的取值从初始值0.1增长到1。仿真实验的参数设计详见表1。
在二维空间内,基础的动作空间只包含{前,后,左,右,保持原地}5 个动作。为了加快学习记忆的过程,本文在水平面内将行为空间划分为8 个离散的动作,使智能体有更多的动作选择。如图1 所示,本文的动作空间包含8 个方向选择,A(s)={0°,45°,90°,135°,180°,225°,270°,315°},智能体每次动作的步幅是0.2。奖励值的设定为智能体发生碰撞时rcrash=-1,到达期望位置时rreach=1,rformation=-1。
图1 动作空间
如图2 所示,在二维空间内随机生成4 个智能体的位置,在初始阶段,智能体经过训练学习形成正四边形。然后,多个智能体在保持队形不发生变化的前提下,通过迭代学习寻找到一条最优路径,避开障碍物的同时到达期望位置。图中深色正方形区域为原本已存在的障碍物,浅色正方形区域则在智能体学习过程中新加入的障碍物,坐标左下角的圆点为智能体,坐标右上角的圆点所在位置为各个智能体的期望位置。由图2可知,即使在智能体学习过程中增加新的障碍物,多个智能体也可以通过本文提出的方法形成期望的队形,有效避开障碍物并到达期望位置。
图2 不确定环境下的智能体编队避障轨迹
本文考虑了在更复杂的环境下4 个智能体的编队控制问题,同时将智能体编队避障的成功率与其他2 种算法进行对比,验证了本文提出算法的有效性。如图3 所示,图中正方形为障碍物,坐标左下角的圆点为智能体,坐标右上角的圆点所在位置为各个智能体的期望位置。由图3 可知,本文提出的方法可以使多个智能体在面对不同的环境时形成期望的队形,同时经过迭代学习得到最优策略,在有效避开障碍物的同时到达期望位置。
图3 4 个智能体编队避障轨迹
图4 表示智能体保持队形避障过程中每个回合的Q值之和。刚开始所有Q值为0,随着迭代训练的进行,根据奖励值进行Q值的更新。由图4 可知,在训练初期由于ε值小,智能体随机选择动作概率大,大概率触碰障碍物获得负向奖励值;在训练中后期,神经网络对整个样本空间有了相对全面的采样,在此基础上,神经网络通过训练不断对Q值进行泛化,同时ε值增长,智能体可以根据经验选择最优动作,获得正向奖励值的概率逐渐增大。经过不断学习,成功避开障碍物到达期望位置的概率越来越高。图5 表示每个回合智能体的步数。由图5 可知,4 个智能体经过1250 个回合的学习,最终学习到最优策略,寻找到避开障碍物到达期望位置的最短路径。将所提出的算法与Double DQN 算法和MADDQN算法进行了对比,3 种算法的成功率如图6所示。由图6 可知,本文提出的算法最终的成功率更高。
图4 智能体学习曲线
图5 智能体每个回合的步数
图6 3 种算法的成功率对比
本文同时还考虑了6 个智能体在不同环境下的编队避障控制,如图7 所示。图中坐标左下角的圆点为智能体,坐标右上角的圆点为各个智能体的期望位置,块状区域为障碍物。智能体通过迭代学习形成正六边形,并且有效避开障碍物到达期望位置。图8 为智能体的学习曲线,图9 为智能体每个回合的步数。结合图8 和图9 可知,智能体通过训练学习,在1100 回合之后获得最优策略,在保持队形不发生变化的前提下,有效避开障碍物到达期望位置。图1 0 表示6 个智能体环境下本文方法与Double DQN 和MADDPG 2 种算法的成功率对比。由图10可知,本文方法在多智能体编队避障控制问题中的成功率更高。
图7 6 个智能体编队避障轨迹
图8 智能体学习曲线
图9 智能体每个回合的步数
图10 3 种算法的成功率对比
为了验证在不确定环境下本文提出算法的有效性,在智能体学习过程中添加额外的障碍物。仿真结果表明多个智能体在不确定环境下能形成特定队形避开障碍物到达期望位置。同时,在2 种不同的环境下,针对4 个和6 个智能体进行了仿真实验,并且将所提的方法与Double DQN 和MADDPG 算法进行对比。结合图3 和图7 可知,本文提出的方法面对不同环境都能实现多智能体的编队避障控制。多个智能体通过迭代学习形成期望队形,并且有效避开障碍物到达期望位置。由图6 和图10 可知,本文提出的方法在前期能更快地获取成功的经验,学习速率更快,并且最终的成功率也相对更高。这表明了本文设计的价值评估网络能帮助智能体更快地取得到达期望位置的特殊经验。
4 结论
针对复杂环境的随机性和不确定性,本文提出了一种不确定环境下的深度强化学习编队避障控制方法。在该方法中,设计了价值评估网络来增加编队过程中的智能体选择触碰障碍物或者到达期望位置这些特殊动作的经验,使智能体更快地理解环境规则。并且将该价值评估网络和贪心策略相结合,对动作选择策略进行改进,提高算法的学习效率。同时,设计了样本存储空间,增加样本利用率的同时提高了模型训练效率。在决策阶段,结合多步学习算法使价值估计更准确。通过仿真实验验证了本文提出方法的有效性,能在不同的环境下较好地完成多智能体编队任务。仿真结果表明本文提出的方法可以适用于各种不确定环境中。将本文提出的方法和Double DQN 与MADDPG 2 种算法进行对比,结果表明本文方法收敛速度更快,智能体编队避障的成功率更高。