CN113341958B - 一种混合经验的多智能体强化学习运动规划方法 - Google Patents

一种混合经验的多智能体强化学习运动规划方法 Download PDF

Info

Publication number
CN113341958B
CN113341958B CN202110558854.1A CN202110558854A CN113341958B CN 113341958 B CN113341958 B CN 113341958B CN 202110558854 A CN202110558854 A CN 202110558854A CN 113341958 B CN113341958 B CN 113341958B
Authority
CN
China
Prior art keywords
agent
target
network
training
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN202110558854.1A
Other languages
English (en)
Other versions
CN113341958A (zh
Inventor
万开方
武鼎威
高晓光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN202110558854.1A priority Critical patent/CN113341958B/zh
Publication of CN113341958A publication Critical patent/CN113341958A/zh
Application granted granted Critical
Publication of CN113341958B publication Critical patent/CN113341958B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种混合经验的多智能体强化学习运动规划方法,即ME‑MADDPG算法。该方法通过MADDPG算法训练,在产生样本时,不仅通过探索和学习产生经验,还增加了通过人工势场法将多无人机成功规划至目标的高质量经验,并把这两种经验存放至不同的经验池。在训练时,神经网络通过动态采样,以变化的概率从两种经验池中采集样本,以每个智能体的自身状态信息和环境信息作为神经网络的输入,以多智能体的速度作为输出。同时,在训练的过程中神经网络缓慢更新,稳定地完成多智能体运动规划策略的训练,最终实现多智能体在复杂环境下自主避障并顺利到达各自的目标位置。本发明可以在复杂动态的环境中高效地训练出稳定性和适应性更好的运动规划策略。

Description

一种混合经验的多智能体强化学习运动规划方法
技术领域
本发明属于深度学习技术领域,具体涉及一种多智能体强化学习运动规划方法。
背景技术
随着科学理论与科学技术的蓬勃发展,多智能体系统在人们的日常生产和生活中应用越来越广泛,应用领域包括机场拖航、物流仓储、交通控制、机器人、电子游戏、智能无人驾驶等,而在这些领域中都需要利用多智能体运动规划技术。多智能体运动规划问题是一类寻找多个智能体从起始位置到目标位置且无冲突的最优路径集合的问题,如何让智能体高效地避开障碍物以及其他智能体,到达指定区域成为了一大研究难题。
目前研究者提出的运动规划方法整体上可以分为全局路径规划和局部路径规划。全局路径规划虽然能够高效快速地得到全局最优解,但全局信息的获取及通信瓶颈问题使得该类方法难以适应动态复杂的环境。因此在动态复杂的环境中依赖于具有实时获取环境信息能力的局部路径规划方法显示出巨大的优势,如人工势场法、遗传算法、神经网络、模糊逻辑等,但仍存在如难以解决局部极小、收敛速度慢及存储量大、规则和样本难以确定等问题,这些方法通常容易受到无法预料的干扰,任何不完整的感知,有偏差的估计或不正确的模型都将导致性能不佳。而多智能体强化学习不依赖环境模型和先验知识,而且具有自主学习和预测学习的特点,通过奖赏与惩罚来优化马尔科夫决策过程中的多智能体的策略,代表算法有MADDPG算法等,它们可以适用于随机变化的环境,逐渐成为多智能体在运动规划方面的研究热点。但是在多智能体系统训练的过程中,随着智能体增多,环境的状态维度也会指数增大,容易陷入维数灾难,会导致算法收敛困难,同时由于环境中多个智能体的存在,会导致对某个单一智能体而言,环境是不稳定的,该问题会加剧算法收敛的难度,同时会影响多智能体运动规划策略的稳定性,难以适用于复杂环境。因此,设计出一个能适应在不同未知、动态、复杂的环境中的多移动智能体的高效避障与路径规划系统,具有十分重大的实际意义。
人工势场法具有简单且有效的避障规划策略,但存在局部极小和规划难以适用动态复杂环境的问题;MADDPG算法不在意环境的复杂度,具有自主学习的特性,但存在收敛困难以及训练稳定性较差的问题。因此,将两者优势相结合,设计一种收敛性和稳定性强大的多智能体运动规划方法,对于多智能体在动态复杂的环境中高效地完成运动规划具有重要意义。
发明内容
为了克服现有技术的不足,本发明提供了一种混合经验的多智能体强化学习运动规划方法,即ME-MADDPG算法。该方法通过MADDPG算法训练,在产生样本时,不仅通过探索和学习产生经验,还增加了通过人工势场法将多无人机成功规划至目标的高质量经验,并把这两种经验存放至不同的经验池。在训练时,神经网络通过动态采样,以变化的概率从两种经验池中采集样本,以每个智能体的自身状态信息和环境信息作为神经网络的输入,以多智能体的速度作为输出。同时,在训练的过程中神经网络缓慢更新,稳定地完成多智能体运动规划策略的训练,最终实现多智能体在复杂环境下自主避障并顺利到达各自的目标位置。本发明可以在复杂动态的环境中高效地训练出稳定性和适应性更好的运动规划策略。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:对多智能体建立复杂环境下运动规划的随机对策模型;
采用随机对策作为环境模型,随机对策又称马尔科夫博弈模型,用五元组<N,S,A,P,R>进行描述,其中N={1,2,...,n},表示n个智能体的集合,S表示联合状态,A表示联合动作,P为状态转移模型,R表示联合奖励;
步骤1-1:设定智能体以及障碍物的物理模型;
对于智能体i,i=1,2,…,n,其半径为ri a,在绝对坐标系中的位置为
Figure GDA0003413738710000021
智能体i运动的角速度为ωi,速率为ui,用速度角ψi表示速率与X轴正方向的夹角,n为智能体数量;
智能体i的目标设定为半径为ri g的圆形区域,目标位置为
Figure GDA0003413738710000022
目标与智能体i的距离为D(Pi a,Pi g);当D(Pi a,Pi g)≤ri a+ri g时,表明智能体i已到达目标;
设定智能体i的目标速度角为αi,表示以智能体i中心为原点,以智能体i到其目标的方向为正方向建立极坐标系时的智能体i速度矢量与该极坐标下正方向的夹角值;智能体i具有通信功能,设定智能体i的通信范围是以智能体i为圆心,以dc为半径的圆形区域;在通信范围内,智能体i能感知到其他智能体和障碍物的位置;
障碍物设定为失去通信功能的故障智能体,对于障碍物j,它的半径为
Figure GDA0003413738710000031
速率和角速度分别为
Figure GDA0003413738710000032
Figure GDA0003413738710000033
速度角为
Figure GDA0003413738710000034
位置为
Figure GDA0003413738710000035
与智能体i的距离为
Figure GDA0003413738710000036
Figure GDA0003413738710000037
为智能体i与障碍物j的碰撞距离,且
Figure GDA0003413738710000038
Figure GDA0003413738710000039
时,表明已发生碰撞;
步骤1-2:设定多智能体的联合状态;
多智能体的联合状态为所有智能体的状态的笛卡尔积,表示为S=s1×s2×...×sn,其中si代表着智能体i的状态;对于智能体i,它的状态空间为局部环境的观测信息;
将智能体i作为原点,将其与目标位置连线的方向作为正方向建立极坐标系,智能体i的状态表示为si=(sAi,sEi),其中
Figure GDA00034137387100000310
为自身信息,
Figure GDA00034137387100000311
为智能体i与目标的距离,αi为目标速度角,ui和ψi分别为智能体i的速率和速度角;
Figure GDA00034137387100000312
为环境信息,其中
Figure GDA00034137387100000313
为智能体i与距离它最近邻居j之间的距离,智能体i的邻居为其通信范围内的智能体和障碍物的集合,
Figure GDA00034137387100000314
Figure GDA00034137387100000315
分别为最近邻居j的速率、速度角以及半径;
如果智能体i的通讯范围内没有邻居,则
Figure GDA00034137387100000316
步骤1-3:设定多智能体的联合动作;
多智能体的联合动作为所有智能体的动作的笛卡尔积,表示为A,且A=a1×a2×...×an,其中ai表示无人机i的动作;对于智能体i,它的运动是由自身的角速度和速率所决定;
设定智能体i的动作空间为
Figure GDA00034137387100000317
其中
Figure GDA00034137387100000318
为t时刻智能体i的角速度;
步骤1-4:设定多智能体的状态转移模型;
多智能体的状态转移模型为P:S×A×S→[0,1],表示所有智能体在当前状态采取联合动作到达下一状态的概率值;
智能体的状态转移通过运动实现,设定智能体和障碍物的运动空间为二维空间,则对于智能体i,它的运动模型表示为:
Figure GDA0003413738710000041
其中,
Figure GDA0003413738710000042
Figure GDA0003413738710000043
分别为智能体i的速率
Figure GDA0003413738710000044
沿X轴和Y轴的分量,
Figure GDA0003413738710000045
为智能体i的角速度;设定智能体i下一时刻位置为
Figure GDA0003413738710000046
下一时刻速度角为
Figure GDA0003413738710000047
运动的间隔时间为△t,则智能体i从当前状态
Figure GDA0003413738710000048
转移到下一状态
Figure GDA0003413738710000049
的过程表示如下:
Figure GDA00034137387100000410
障碍物的状态转移过程与智能体相同;
步骤1-5:设置多智能体的联合奖励;
设定多智能体的联合奖励为R,表示为R=R1×R2×...×Rn,即所有智能体奖励函数的笛卡尔积,其中Ri表示智能体i与环境交互、实现状态转移后获得的奖励值;
智能体i的奖励函数设置如下:
设智能体i到达目标时的奖励函数为
Figure GDA00034137387100000411
其中
Figure GDA00034137387100000412
表示智能体到达目标消耗时间的惩罚值,Wt表示惩罚程度的参数值,Ti为智能体实际到达目标消耗的时间;
Figure GDA00034137387100000413
表示智能体以匀速沿直线运动至目标位置时消耗的时间,其中Pi a0为智能体i的初始位置;
智能体i发生碰撞时的奖励函数为Ri_collision=-5;
当智能体i没有到达目标或没有发生碰撞时,设置4种非稀疏奖励函数,具体表达式如下:
Figure GDA00034137387100000414
其中
Figure GDA00034137387100000415
为初始时刻智能体i到目标的距离值,
Figure GDA00034137387100000416
表示下一时刻智能体i到目标的距离值;
则智能体i正常运动时的奖励函数表示为Ri=η1N(R1)+η2N(R2)+η3N(R3)+η4N(R4),其中N(R)表示对奖励函数的归一化处理,η1234表示4种奖励函数的贡献率,且η1234=1;
步骤2:采用ME-MADDPG算法对多智能体运动规划进行训练;
步骤2-1:构建运动规划网络结构;
运动规划网络结构采用Actor-Critic网络结构,Actor网络和-Critic网络为两个独立的神经网络,都由输入层、隐藏层和输出层构成;
对于n个智能体,则有n个Actor网络和Critic网络以及n个目标Actor网络和目标Critic网络,设智能体运动规划的确定性策略集合为μ={μ1,…,μn};
对于智能体i,它的Actor网络输入为状态向量si,输出向量为动作向量
Figure GDA0003413738710000051
它的Critic网络输入为所有智能体的状态向量s=(s1,…,sn)和所有智能体根据各自的策略网络μi得到的动作a1,…,an;输出为
Figure GDA0003413738710000052
表示智能体i的动作值函数,即Q值,其中
Figure GDA0003413738710000053
Figure GDA0003413738710000054
分别为Actor网络参数和Critic网络参数的集合;θ′μ和θ′Q分别为目标Actor网络参数和目标Critic网络参数的集合,而智能体i的目标Actor网络参数和目标Critic网络参数更新方式为将Actor网络μi和Critic网络
Figure GDA0003413738710000056
的参数复制到各自对应的目标网络中,即
Figure GDA0003413738710000055
之后设定Actor网络和Critic网络的超参数,包括网络层数、节点数、学习率、激活函数以及训练优化器;
步骤2-2:设置训练参数的值,包括经验池容量M、批量采样数量N、目标网络更新频率F、最大训练回合数E以及每个回合智能体的最长运动时间T,并初始化训练回合数为e=0;
步骤2-3:初始化智能体和障碍物的初始位置、目标位置、速率、角速度以及速度角,初始化迭代次数k=0和运动时间t=0,生成一个随机数p0且p0∈[0,1];初始化每个智能体的联合状态,即对于智能体i,设置初始联合状态为si=(0,0,0,0,0,0,0,0,0);
步骤2-4:设置采样概率p的具体值;
首先设置p的初始值,p∈[0,1];之后在每个训练回合进行条件判定,若进入训练环节且p>0,则设置p的值为clip(p-1/M,0,1),即clip(p-1/M,0,1)→p;否则p不发生变化;
clip(p-1/M,0,1)→p表示:当p-1/M≥1时p=1,当p-1/M≤0时p=0,当0<p-1/M<1时p-1/M→p;
步骤2-5:判断决策动作的方式;
若p0≤p,则转到步骤2-6,根据人工势场法决策每个智能体的动作并获得联合状态,将其存入专家经验池DA;否则,转到步骤2-7,根据每个智能体的Actor网络决策动作并获得联合状态,将其存入探索经验池DE
步骤2-6:根据人工势场法决策动作;
对于智能体i,首先求出智能体i与目标之间的引力场
Figure GDA0003413738710000061
得到该引力场对智能体i所产生的引力
Figure GDA0003413738710000062
即为引力势能的负梯度大小;然后求出智能体i与它的邻居j之间的斥力场
Figure GDA0003413738710000063
得到斥力场所生成的斥力
Figure GDA0003413738710000064
即为斥力势能的负梯度;之后求出智能体i受到的合力大小,表示为:
Figure GDA0003413738710000065
合力方向为
Figure GDA0003413738710000066
求出角速度为
Figure GDA0003413738710000067
最后确定智能体i的角速度,表示如下:
Figure GDA0003413738710000068
其中,ωmax和ωmin分别表示智能体在其机动性能限制下的最大角速度和最小角速度;
则智能体i获得的动作为ai=(ωi);对于智能体i,在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入专家经验池DA
步骤2-7:根据Actor网络决策动作;
对于智能体i,通过其Actor网络μi,根据状态信息si选择动作ai,即
Figure GDA0003413738710000069
Figure GDA00034137387100000610
其中
Figure GDA00034137387100000611
为确定性策略函数,Ni为Ornstein-Uhlenbeck噪声;
智能体i在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入探索经验池DE
步骤2-8:更新所有智能体的状态信息;
对于智能体i,将当前状态si更新为s′i,即s′i→si,并设置运动时间更新,即t+△t→t;
步骤2-9:判断多智能体是否进入训练阶段;
根据存入经验池DA和DE的经验元组数量判断是否进入强化学习训练运动规划策略的阶段,若经验元组数量未超过经验池容量M,则转到步骤2-5,继续产生新的经验;否则,转到步骤2-10,进入强化学习训练阶段;
步骤2-10:根据动态采样策略采集样本用于训练;
动态采样策略为:设置从专家经验池DA采集的样本数量为nA,且nA=ceil(N×p),即nA为N×p向上取整的数;设置从探索经验池DE采集的样本数量为nE,且nE=N-nA;
分别从经验池DA和DE中随机抽取nA和nE个样本,将它们随机组合为(sl,al,s′l,Rl)l=1,N,即为最终用于训练的样本集;
步骤2-11:训练更新多智能体的Critic网络参数θQ
对于智能体i,其价值网络参数
Figure GDA0003413738710000071
通过最小化代价函数
Figure GDA0003413738710000072
更新,表示如下:
Figure GDA0003413738710000073
其中ai和a′i分别为智能体i当前时刻和下一时刻的动作值,s和s′分别为多智能体当前时刻和下一时刻的联合状态,Ri为智能体i的立即奖励,
Figure GDA0003413738710000074
Figure GDA0003413738710000075
分别为智能体i的动作值函数和目标动作值函数,γ为折扣因子;
步骤2-12:训练更新多智能体的Actor网络参数θμ
对于智能体i的策略网络参数
Figure GDA0003413738710000076
通过梯度下降的方式更新,表示如下:
Figure GDA0003413738710000077
其中μi(ai|si)表示Actor网络在状态si时根据动作策略函数μi得到的动作,
Figure GDA0003413738710000078
表示状态si下采取动作ai=μi(si)时的动作值函数,
Figure GDA0003413738710000079
表示在Actor网络参数
Figure GDA00034137387100000710
下的策略梯度,
Figure GDA0003413738710000081
Figure GDA0003413738710000082
分别表示Actor网络策略函数梯度和Critic网络动作值函数梯度;
步骤2-13:判断Actor目标网络和Critic目标网络是否更新;
设置迭代次数k+1→k,并判断是否达到Actor目标网络或Critic目标网络更新的条件,即更新后的迭代次数k是否能整除Actor目标网络或Critic目标网络更新频率F,若条件符合,则转到步骤2-14,更新Actor目标网络和Critic目标网络;否则,转到步骤2-15;
步骤2-14:更新目标网络参数;
对Actor目标网络和Critic目标网络的参数进行软更新,表达式为:
Figure GDA0003413738710000083
Figure GDA0003413738710000084
其中τ为软更新比例系数;
步骤2-15:判断训练是否结束;
判断运动时间t是否大于最长运动时间T,若不满足t≥T,则转到步骤2-5,继续实现多智能体的状态转移;若满足t≥T,则设置训练回合数e+1→e实现训练回合数的更新,之后对训练回合数进行判断,如果不满足e≥E,则转到步骤2-3,开始下一个回合的训练;如果e≥E,则表明训练结束,保存训练完成的运动规划网络参数;
步骤3:采用步骤2训练完成的运动规划网络对多智能体进行运动规划。
优选地,所述采样概率p=0.4,经验池容量M=40000、批量采样数量N=128。
本发明的有益效果如下:
1、本发明具有较好的经验生成方式。相比于MADDPG算法,ME-MADDPG算法中智能体不仅仅根据训练的策略选择动作,还会根据人工势场法选择动作,因此,经验池包括探索经验池DE和专家经验池DA两部分。DE中包含多智能体通过探索和训练的策略得到的联合状态、联合动作、奖赏值以及下一联合状态,由于在探索和训练初期,多智能体很难在避障的同时安全快速地到达目标,因此在该时期下每个智能体获得的Q值极低。而DA中包含智能体通过人工势场法避障且到达目标的过程中每一时刻的联合空间组成的经验存储元组,且上述的人工势场规划方法可以成功将多智能体规划至目的地,所以在该策略下可以使每个智能体获得较高的Q值,因此,DA中的经验相比于DE中经验质量更高。综上,相比MADDPG算法,ME-MADDPG算法极大地提升了高质量经验在回放缓冲区的比例,在训练的过程中有效地使用该高质量经验,可以加速神经网络的训练速度,加快算法的收敛速率。
2、本发明具有较好的训练技巧。本发明在训练过程中使用了延迟学习技巧,设置了用于目标网络软更新的固定间隔,在每个训练回合内,时间步长每达到固定间隔一次,才对目标网络的参数进行软更新。该方法减少了目标网络参数的更新频率,确保在目标网络参数更新之前,Actor网络和Critic网络遵循相同的原则进行训练,在一定程度上使得训练更加稳定。
3、本发明具有较好的样本采集策略。本文提出了一种新的样本采集策略,可以使DA中的高质量经验被高效地利用,快速地学习到优秀的规划策略,该采样方式描述如下:神经网络在通过随机采样训练的时候,同时从DE和DA中进行采样,在DA中随机采集的样本的数量占采集样本的总数量的比例为采样概率p。而p是动态变化的,变化过程如下:在初期多智能体进行探索的过程中,p是固定不变的,当多智能体收集的经验数量达到经验回放缓冲区的容量上限时,神经网络开始通过随机采样训练规划策略,此时的p是动态变化的,它随着训练回合数的增加逐渐减小,最后至0。该变化可以逐渐减少训练样本中来自DA的高质量样本的数量,增加来自DE的探索和训练样本的数量。该方法可以使神经网络在学习到比较优秀的策略之后,逐渐全面地认知多智能体所处的环境,充分地学习到多智能体在不同状态和不同动作时的Q值大小,训练出适应性更强和灵活性更高的优秀策略。
4、本发明通过ME-MADDPG方法,可以在复杂动态的环境中高效地训练出稳定性和适应性更好的运动规划策略,在有效保障智能体安全无碰撞地情况下提高了规划效率,在多智能体协同运动规划的复杂动态环境和场景具有较好的应用前景。
附图说明
图1为本发明多智能体运动规划任务示意图。
图2本发明为智能体和障碍物的物理模型示意图。
图3为本发明ME-MADDPG算法训练多智能体运动规划策略的训练流程图。
图4为本发明网络结构图,图中(a)图为Actor网络结构图,(b)图为Critic网络结构图。
图5为本发明ME-MADDPG算法的结构示意图。
图6为本发明测试多智能体运动规划策略性能的环境初始图。
图7为本发明实施例5个智能体在20个障碍物静止和运动的环境中不同时刻的轨迹示意图。图(a)(b)(c)分别为障碍物静止时智能体在20s、40s以及57s的运动轨迹图;图(d)(e)(f)分别为障碍物运动时智能体在20s、40s以及58.5s的运动轨迹图。
图8为本发明中ME-MADDPG算法和MADDPG算法训练过程中多智能体获得的平均奖励变化曲线图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明提出的ME-MADDPG算法,是一种混合经验的多智能体强化学习运动规划方法,可以实现在复杂的环境中,将多智能体在躲避障碍物的同时安全规划至目标,具体任务图示意如图1所示。
一种混合经验的多智能体强化学习运动规划方法,包括如下步骤:
步骤1:对多智能体建立复杂环境下运动规划的随机对策模型;
本发明属于多智能体强化学习问题,采用随机对策作为环境模型,随机对策又称马尔科夫博弈模型,用五元组<N,S,A,P,R>进行描述,其中N={1,2,...,n},表示n个智能体的集合,S表示联合状态,A表示联合动作,P为状态转移模型,R表示联合奖励;
步骤1-1:设定智能体以及障碍物的物理模型,模型示意图如图2所示。
智能体设定为圆形智能车,对于智能体i,i=1,2,…,n,其半径为ri a,在绝对坐标系中的位置为
Figure GDA0003413738710000101
智能体i运动的角速度为ωi,速率为ui,用速度角ψi表示速率与X轴正方向的夹角;
智能体i的目标设定为半径为ri g的圆形区域,目标位置为
Figure GDA0003413738710000102
目标与智能体i的距离为D(Pi a,Pi g);当D(Pi a,Pi g)≤ri a+ri g时,表明智能体i已到达目标;
设定智能体i的目标速度角为αi,表示以智能体i中心为原点,以智能体i到其目标的方向为正方向建立极坐标系时的智能体i速度矢量与该极坐标下正方向的夹角值;智能体i具有通信功能,设定智能体i的通信范围是以智能体i为圆心,以dc为半径的圆形区域;在通信范围内,智能体i能感知到其他智能体和障碍物的位置;
障碍物设定为失去通信功能的故障智能体,对于障碍物j,它的半径为
Figure GDA0003413738710000103
速率和角速度分别为
Figure GDA0003413738710000111
Figure GDA0003413738710000112
速度角为
Figure GDA0003413738710000113
位置为
Figure GDA0003413738710000114
与智能体i的距离为
Figure GDA0003413738710000115
Figure GDA0003413738710000116
为智能体i与障碍物j的碰撞距离,且
Figure GDA0003413738710000117
Figure GDA0003413738710000118
时,表明已发生碰撞;
步骤1-2:设定多智能体的联合状态;
多智能体的联合状态为所有智能体的状态的笛卡尔积,表示为S=s1×s2×...×sn,其中si代表着智能体i的状态;对于智能体i,它的状态空间为局部环境的观测信息;
将智能体i作为原点,将其与目标位置连线的方向作为正方向建立极坐标系,智能体i的状态表示为si=(sAi,sEi),其中
Figure GDA0003413738710000119
为自身信息,
Figure GDA00034137387100001110
为智能体i与目标的距离,αi为目标速度角,ui和ψi分别为智能体i的速率和速度角;
Figure GDA00034137387100001111
为环境信息,其中
Figure GDA00034137387100001112
为智能体i与距离它最近邻居j之间的距离,智能体i的邻居为其通信范围内的智能体和障碍物的集合,
Figure GDA00034137387100001113
Figure GDA00034137387100001114
分别为最近邻居j的速率、速度角以及半径;
如果智能体i的通讯范围内没有邻居,则
Figure GDA00034137387100001115
步骤1-3:设定多智能体的联合动作;
多智能体的联合动作为所有智能体的动作的笛卡尔积,表示为A,且A=a1×a2×...×an,其中ai表示无人机i的动作;对于智能体i,它的运动是由自身的角速度和速率所决定;
该发明将所有智能体设定为匀速运动,根据智能车的机动性设置角速度范围为[-π/6,π/6],设定智能体i的动作空间为
Figure GDA00034137387100001116
其中
Figure GDA00034137387100001117
为t时刻智能体i的角速度;
步骤1-4:设定多智能体的状态转移模型;
多智能体的状态转移模型为P:S×A×S→[0,1],表示所有智能体在当前状态采取联合动作到达下一状态的概率值;
智能体的状态转移通过运动实现,设定智能体和障碍物的运动空间为二维空间,则对于智能体i,它的运动模型表示为:
Figure GDA00034137387100001118
其中,
Figure GDA0003413738710000121
Figure GDA0003413738710000122
分别为智能体i的速率
Figure GDA0003413738710000123
沿X轴和Y轴的分量,
Figure GDA0003413738710000124
为智能体i的角速度。设定智能体i下一时刻位置为
Figure GDA0003413738710000125
下一时刻速度角为ψ′i,运动的间隔时间为△t,则智能体i从当前状态
Figure GDA0003413738710000126
转移到下一状态
Figure GDA0003413738710000127
的过程表示如下:
Figure GDA0003413738710000128
障碍物的状态转移过程与智能体相同;
步骤1-5:设置多智能体的联合奖励;
设定多智能体的联合奖励为R,表示为R=R1×R2×...×Rn,即所有智能体奖励函数的笛卡尔积,其中Ri表示智能体i与环境交互、实现状态转移后获得的奖励值;
智能体i的奖励函数设置如下:
设智能体i到达目标时的奖励函数为
Figure GDA0003413738710000129
其中
Figure GDA00034137387100001210
表示智能体到达目标消耗时间的惩罚值,Wt表示惩罚程度的参数值,Ti为智能体实际到达目标消耗的时间;
Figure GDA00034137387100001211
表示智能体以匀速沿直线运动至目标位置时消耗的时间,其中Pi a0为智能体i的初始位置;
智能体i发生碰撞时的奖励函数为Ri_collision=-5;
当智能体i没有到达目标或没有发生碰撞时,设置4种非稀疏奖励函数,具体表达式如下:
Figure GDA00034137387100001212
其中式(1)依据智能体i与目标的距离设置,其中
Figure GDA00034137387100001213
为初始时刻智能体i到目标的距离值;式(2)依据目标速度角设置;式(3)依据智能体i每个时刻的位置设置,其中
Figure GDA00034137387100001214
表示下一时刻智能体i到目标的距离值;式(4)为碰撞预警,如果智能体i有邻居时给予它惩罚。则智能体i正常运动时的奖励函数表示为Ri=η1N(R1)+η2N(R2)+η3N(R3)+η4N(R4),其中N(R)表示对奖励函数的归一化处理,η1234表示4种奖励函数的贡献率,且η1234=1;
步骤2:采用ME-MADDPG算法对多智能体运动规划进行训练;
步骤2-1:构建运动规划网络结构;
运动规划网络结构采用Actor-Critic网络结构,Actor网络和-Critic网络为两个独立的神经网络,都由输入层、隐藏层和输出层构成;
对于n个智能体,则有n个Actor网络和Critic网络以及n个目标Actor网络和目标Critic网络,设智能体运动规划的确定性策略集合为μ={μ1,…,μn};
对于智能体i,它的Actor网络输入为状态向量si,输出向量为动作向量
Figure GDA0003413738710000131
它的Critic网络输入为所有智能体的状态向量s=(s1,...,sn)和所有智能体根据各自的策略网络μi得到的动作a1,...,an;输出为
Figure GDA0003413738710000132
表示智能体i的动作值函数,即Q值,其中
Figure GDA0003413738710000133
Figure GDA0003413738710000134
分别为Actor网络参数和Critic网络参数的集合;θ′μ和θ′Q分别为目标Actor网络参数和目标Critic网络参数的集合,而智能体i的目标Actor网络参数和目标Critic网络参数更新方式为将Actor网络μi和Critic网络
Figure GDA0003413738710000136
的参数复制到各自对应的目标网络中,即
Figure GDA0003413738710000135
之后设定Actor网络和Critic网络的超参数,包括网络层数、节点数、学习率、激活函数以及训练优化器;
步骤2-2:设置训练参数的值,包括经验池容量M、批量采样数量N、目标网络更新频率F、最大训练回合数E以及每个回合智能体的最长运动时间T,并初始化训练回合数为e=0;
步骤2-3:初始化智能体和障碍物的初始位置、目标位置、速率、角速度以及速度角,初始化迭代次数k=0和运动时间t=0,生成一个随机数p0且p0∈[0,1];初始化每个智能体的联合状态,即对于智能体i,设置初始联合状态为si=(0,0,0,0,0,0,0,0,0);
步骤2-4:设置采样概率p的具体值;
首先设置p的初始值,p∈[0,1];之后在每个训练回合进行条件判定,若进入训练环节且p>0,则设置p的值为clip(p-1/M,0,1),即clip(p-1/M,0,1)→p;否则p不发生变化;
clip(p-1/M,0,1)→p表示:当p-1/M≥1时p=1,当p-1/M≤0时p=0,当0<p-1/M<1时p-1/M→p;
步骤2-5:判断决策动作的方式;
若p0≤p,则转到步骤2-6,根据人工势场法决策每个智能体的动作并获得联合状态,将其存入专家经验池DA;否则,转到步骤2-7,根据每个智能体的Actor网络决策动作并获得联合状态,将其存入探索经验池DE
步骤2-6:根据人工势场法决策动作;
对于智能体i,首先求出智能体i与目标之间的引力场
Figure GDA0003413738710000141
得到该引力场对智能体i所产生的引力
Figure GDA0003413738710000142
即为引力势能的负梯度大小;然后求出智能体i与它的邻居j之间的斥力场
Figure GDA0003413738710000143
得到斥力场所生成的斥力
Figure GDA0003413738710000144
即为斥力势能的负梯度;之后求出智能体i受到的合力大小,表示为:
Figure GDA0003413738710000145
合力方向为
Figure GDA0003413738710000146
求出角速度为
Figure GDA0003413738710000147
最后确定智能体i的角速度,表示如下:
Figure GDA0003413738710000148
其中,ωmax和ωmin分别表示智能体在其机动性能限制下的最大角速度和最小角速度;
则智能体i获得的动作为ai=(ωi);对于智能体i,在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入专家经验池DA
步骤2-7:根据Actor网络决策动作;
对于智能体i,通过其Actor网络μi,根据状态信息si选择动作ai,即
Figure GDA0003413738710000149
Figure GDA00034137387100001410
其中
Figure GDA00034137387100001411
为确定性策略函数,Ni为Ornstein-Uhlenbeck噪声;
智能体i在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入探索经验池DE
步骤2-8:更新所有智能体的状态信息;
对于智能体i,将当前状态si更新为s′i,即s′i→si,并设置运动时间更新,即t+△t→t;
步骤2-9:判断多智能体是否进入训练阶段;
根据存入经验池DA和DE的经验元组数量判断是否进入强化学习训练运动规划策略的阶段,若经验元组数量未超过经验池容量M,则转到步骤2-5,继续产生新的经验;否则,转到步骤2-10,进入强化学习训练阶段;
步骤2-10:根据动态采样策略采集样本用于训练;
动态采样策略为:设置从专家经验池DA采集的样本数量为nA,且nA=ceil(N×p),即nA为N×p向上取整的数;设置从探索经验池DE采集的样本数量为nE,且nE=N-nA;
分别从经验池DA和DE中随机抽取nA和nE个样本,将它们随机组合为(sl,al,s′l,Rl)l=1,N,即为最终用于训练的样本集;
步骤2-11:训练更新多智能体的Critic网络参数θQ
对于智能体i,其价值网络参数
Figure GDA0003413738710000151
通过最小化代价函数
Figure GDA0003413738710000152
更新,表示如下:
Figure GDA0003413738710000153
其中ai和a′i分别为智能体i当前时刻和下一时刻的动作值,s和s′分别为多智能体当前时刻和下一时刻的联合状态,Ri为智能体i的立即奖励,
Figure GDA0003413738710000154
Figure GDA0003413738710000155
分别为智能体i的动作值函数和目标动作值函数,γ为折扣因子;
步骤2-12:训练更新多智能体的Actor网络参数θμ
对于智能体i的策略网络参数
Figure GDA0003413738710000156
通过梯度下降的方式更新,表示如下:
Figure GDA0003413738710000157
其中μi(ai|si)表示Actor网络在状态si时根据动作策略函数μi得到的动作,
Figure GDA0003413738710000158
表示状态si下采取动作ai=μi(si)时的动作值函数,
Figure GDA0003413738710000159
表示在Actor网络参数
Figure GDA00034137387100001510
下的策略梯度,
Figure GDA0003413738710000161
Figure GDA0003413738710000162
分别表示Actor网络策略函数梯度和Critic网络动作值函数梯度;
步骤2-13:判断Actor目标网络和Critic目标网络是否更新;
设置迭代次数k+1→k,并判断是否达到Actor目标网络或Critic目标网络更新的条件,即更新后的迭代次数k是否能整除Actor目标网络或Critic目标网络更新频率F,若条件符合,则转到步骤2-14,更新Actor目标网络和Critic目标网络;否则,转到步骤2-15;
步骤2-14:更新目标网络参数;
对Actor目标网络和Critic目标网络的参数进行软更新,表达式为:
Figure GDA0003413738710000163
Figure GDA0003413738710000164
其中τ为软更新比例系数;
步骤2-15:判断训练是否结束;
判断运动时间t是否大于最长运动时间T,若不满足t≥T,则转到步骤2-5,继续实现多智能体的状态转移;若满足t≥T,则设置训练回合数e+1→e实现训练回合数的更新,之后对训练回合数进行判断,如果不满足e≥E,则转到步骤2-3,开始下一个回合的训练;如果e≥E,则表明训练结束,保存训练完成的运动规划网络参数;
步骤3:设置不同的复杂环境。初始化环境中智能体和障碍物的初始位置、速率、角速度以及速度角。之后在环境中加载训练好的多智能体规划模型,在不同的复杂环境中测试ME-MADDPG算法实现多智能体运动规划的性能。最终采用步骤2训练完成的运动规划网络对多智能体进行运动规划。
具体实施例:
1、对多智能体建立复杂环境下运动规划的随机对策模型。
本实施例属于多智能体强化学习问题,采用随机对策作为环境模型。
1.1、设定智能体以及障碍物的物理模型,模型示意图如图2所示。
智能体设定为圆形智能车,数量为n,本实施例设定n=5。在本发明中设定所有智能体的物理模型相同,对于智能体i,设定它的半径为ri a=0.5m,速率为ui=1.0m/s,速度角ψi表示速率与X轴正方向的夹角,范围为(-π,π]。智能体i的目标设定为半径ri g=1.0m的圆形区域,位置为
Figure GDA0003413738710000165
与智能体i的距离为D(Pi a,Pi g)。当D(Pi a,Pi g)≤ri a+ri g,D(Pi a,Pi g)≤1.5m时,表明智能体i已到达目标。智能体i的目标速度角为αi,表示以智能体i中心为原点,以智能体i到其目标的方向为正方向建立极坐标系时的智能体i速度矢量与该极坐标下正方向的夹角值,范围为(-π,π]。智能体i具有通信功能,它的通信范围时以智能体i为圆心,以dc为半径的圆形区域,在通信范围内,它可以感知到其他智能体和障碍物的位置,设置dc=4m。障碍物设定为失去通信功能的故障智能体,对于障碍物j,它的半径
Figure GDA0003413738710000171
如果障碍物运动时,速率
Figure GDA0003413738710000172
为[0,0.3m/s]内的随机值,角速度
Figure GDA0003413738710000173
为[-π/12rad/s,π/12rad/s]内的随机值,速度角为
Figure GDA0003413738710000174
范围为(-π,π],位置为
Figure GDA0003413738710000175
与智能体i的距离为
Figure GDA0003413738710000176
Figure GDA0003413738710000177
为智能体i与障碍物j的碰撞距离,且
Figure GDA0003413738710000178
Figure GDA0003413738710000179
Figure GDA00034137387100001710
时,表明已发生碰撞。
1.2、设定多智能体的联合状态。
1.3、设定多智能体的联合动作。
本实施例将所有智能体设定为匀速运动,根据智能车的机动性设置角速度范围为[-π/6,π/6]。
1.4、描述多智能体的状态转移模型。
本实施例设置△t=0.5s。障碍物的状态转移过程与智能体相同。
1.5、设置多智能体的联合奖励。
本发明中取Wt=0.1,Ti为智能体实际到达目标消耗的时间,智能体i发生碰撞时的奖励函数为Ri_collision=-5。η1234表示4种奖励函数的贡献率,且η1234=1,本实施例设置η1=0.1,η2=0.4,η3=0.3,η4=0.2。
2、通过ME-MADDPG算法对多智能体运动规划进行训练,训练的流程示意图如图3所示,该算法的结构图如图5所示。
2.1、构建训练所需的神经网络结构。
图4中(a)图为Actor网络结构图,网络为全连接神经网络,包括输入层、隐藏层和输出层。隐藏层为两层,激活函数都为relu函数,第一层为64个节点,第二层为32个节点,输出层为1个节点,即无人机采取的动作,采用的激活函数为tanh函数,策略网络的学习率为0.001;图4中(b)图为Critic网络结构图,网络也为全连接神经网络,包括输入层、隐藏层和输出层,隐藏层也为两层,激活函数都为relu函数,节点数都为64,输出层为1个节点,即Q值函数,激活函数为线性函数y=x+b,b为偏置参数,评价网络的学习率为0.0001。
2.2、设置训练参数的值。
本实施例的训练实例设置经验池容量M=40000、批量采样数量N=128、目标网络更新频率F=50、最大训练回合数E=22000以及每个回合智能体的最长运动时间T=200s,并初始化训练回合数为e=0。
2.3、初始化智能体和障碍物的物理性质。本实施例中在训练时有5个智能体和5个障碍物,它们在边长为60m的正方体内运动,智能体运动出边界则视为碰撞。智能体和障碍物的初始位置以及智能体的目标位置在运动环境内随机生成,智能体速率为1.0m/s,角速度以及速度角分别在各自的限制范围内随机生成。障碍物设置为运动的状态,速率在[0,0.3m/s]内随机生成,角速度在[-π/12rad/s,π/12rad/s]内随机生成,速度角也随机生成。
初始化迭代次数k=0和运动时间t=0,生成一个随机数p0且p0∈[0,1]。初始化每个智能体的联合状态,即对于智能体i,设置初始联合状态为si=(0,0,0,0,0,0,0,0,0)。
2.4、设置采样概率p的具体值。
本实施例首先设置p=0.4,之后在每个训练回合进行条件判定,若进入训练环节且p>0,则设置p的值为clip(p-1/M,0,1),即clip(p-1/M,0,1)→p;否则p不发生变化。clip(p-1/M,0,1)→p具体意思为:当p-1/M≥1时p=1,当p-1/M≤0时p=0,当0<p-1/M<1时p-1/M→p。
2.5、判断决策动作的方式。
若p0≤p,则转到步骤2.6,根据人工势场法决策每个智能体的动作并获得联合状态,将其存入专家经验池DA;否则,转到步骤2.7,根据每个智能体的Actor网络决策动作并获得联合状态,将其存入探索经验池DE
2.6、根据人工势场法决策动作。
对于智能体i,首先求出智能体i与目标之间的引力场,表示如下:
Figure GDA0003413738710000181
其中m为引力增益系数,取m=1.0。得到该引力场对智能体i所产生的引力,即为引力势能的负梯度大小,表示如下:
Figure GDA0003413738710000191
然后求出智能体i与它的邻居j之间的斥力场,表示如下:
Figure GDA0003413738710000192
其中
Figure GDA0003413738710000193
n为智能体i的通信范围内障碍物的个数,k斥力增益系数,取k=1.5。得到斥力场所生成的斥力,即为斥力势能的负梯度,表示如下:
Figure GDA0003413738710000194
之后求出智能体i受到的合力大小,表示为:
Figure GDA0003413738710000195
合力方向为
Figure GDA0003413738710000196
求出角速度为
Figure GDA0003413738710000197
最后确定智能体i的角速度,表示如下:
Figure GDA0003413738710000198
则智能体i获得的动作为ai=(ωi)。对于智能体i,在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入专家经验池DA
2.7、根据Actor网络决策动作。
2.8、更新所有智能体的状态信息。对于智能体i,将当前状态si更新为s′i,即s′i→si,并设置运动时间更新,即t+△t→t。
2.9、判断多智能体是否进入训练阶段。
2.10、根据动态采样策略采集样本用于训练。
2.11、训练更新多智能体的Critic网络参数θQ,γ为折扣因子,取值为γ=0.98。
2.12、训练更新多智能体的Actor网络参数θμ
2.13、判断目标网络是否更新。
设置迭代次数k+1→k,并判断是否达到Actor目标网络和Critic目标网络更新的条件,即更新后的迭代次数k是否能整除目标网络更新频率F,若条件符合,则转到步骤2.14,更新目标网络;否则,转到步骤2-15。
2.14、更新目标网络参数,τ为软更新比例系数,取值为τ=0.99。
2.15、判断训练是否结束。
判断运动时间t是否大于最长运动时间T,若不满足t≥T,则转到步骤2.5,继续实现多智能体的状态转移;若满足t≥T,则设置训练回合数e+1→e来实现训练回合数的更新,之后对训练回合数进行判断,如果不满足e≥E,则转到步骤2.3,开始下一个回合的训练;如果e≥E,则表明训练结束,保存训练好的网络参数,转到步骤3进行测试。
3、设置不同的复杂环境。本实施例的测试环境示意图如图6所示,环境中有5个智能体和20个障碍物,分别在障碍物静止和运动两种状态下进行测试。20个障碍物的初始位置分别设置为[-20,20],[-10,20],[10,20],[20,20],[-10,10],[0,10],[10,10],[-20,0],[-10,0],[0,0],[10,0],[20,0],[-20,-10],[-10,-10],[0,-10],[10,-10],[20,-10],[-20,-20],[0,-20]和[20,-20],智能体的初始位置和目标位置的设置具体如表1所示。对智能体和障碍物的速率、角速度以及速度角的初始化与训练时的初始化一致。之后在环境中加载训练完成的多智能体规划模型,在不同的复杂环境中测试ME-MADDPG算法实现多智能体运动规划的性能。
表1测试时智能体的初始位置和目标位置
编号 初始位置 目标位置
1 [-10,-20] [0,20]
2 [0,20] [10,-20]
3 [10,-20] [-20,10]
4 [-20,10] [20,10]
5 [20,10] [-10,-20]
本实施例的仿真平台为python。在复杂环境中对ME-MADDPG算法实现多智能体运动规划性能的测试效果如图7所示。图中为5个智能体在20个障碍物静止和运动的环境中不同时刻的轨迹示意图,图(a)(b)(c)分别为20个障碍物静止时智能体在20s、40s以及57s的运动轨迹图,在57s时,5个智能体都安全到达了它们各自的目标位置;图(d)(e)(f)分别为20个障碍物运动时智能体在20s、40s以及58.5s的运动轨迹图,在58.5s时,5个智能体全部到达目标。从图7的运动轨迹图可以看出,ME-MADDPG算法的控制模型呈现了较为高效的运动规划方式,智能体都以较小的目标速度角朝着目标方向运动,在保证目标速度角的绝对值没有过大的前提下,通过远离障碍物进行避障,安全且快速地到达各自的目标位置,顺利完成多智能体的运动规划任务,这说明该算法训练的控制模型的规划方法同时保证了智能体高效避障和快速到达目标,是一种高效的运动规划方法。
同时,为了表明该算法的优越性,本实施例对比了MADDPG算法和ME-MADDPG算法训练过程中的智能体奖励变化过程,两种算法在训练过程中多智能体获得的奖励值变化曲线图如图8所示,实线表示ME-MADDPG算法在训练过程中多智能体每回合获得奖励值的变化趋势,虚线则表示仅使用MADDPG算法训练时奖励值的变化趋势,其中奖励值为一次训练回合结束后多智能体在每个时刻获得的立即奖励的平均值。开始训练之后,每200个回合统计一次奖励值的平均值,且ME-MADDPG算法统计的回合不包括人工势场法规划的回合。由于训练过程中得到的动作会加上Ornstein-Uhlenbeck噪声,因此图8中的奖励值曲线收敛后仍然会存在小范围内的波动。从图8可以看出,MADDPG训练约8000次才开始收敛,而ME-MADDPG在训练约5000回合后已经收敛,而且收敛之后多智能体能够获得高额且稳定的奖励值。在20000回合训练的过程中,MADDPG算法得到的平均奖励值为1.8016,而ME-MADDPG算法得到的为2.2344,相比MADDPG提高了0.4328;在两种算法都收敛之后,MADDPG算法得到的平均奖励值为2.3390,而ME-MADDPG算法得到的为2.5959,相比MADDPG提高了0.2569,这表明ME-MADDPG具有更快的训练速度,得到的结果表现效果更好。
本发明提出的ME-MADDPG算法,通过人工势场的规划方式提供了高质量的经验,同时通过动态概率采样的方式训练,可以加速训练的速率,学习到对复杂环境具有良好适应性的优秀规划策略,再加上延迟学习的技巧,可以在一定程度上保证训练的稳定性。综合上述的实验结果,验证了ME-MADDPG算法的优势,表明该算法相比MADDPG算法训练时收敛速度更快,得到的收敛值更高,同时在动态复杂的环境下ME-MADDPG算法得到的控制模型可以有效且安全地完成多智能体运动规划任务。

Claims (2)

1.一种混合经验的多智能体强化学习运动规划方法,其特征在于,包括以下步骤:
步骤1:对多智能体建立复杂环境下运动规划的随机对策模型;
采用随机对策作为环境模型,随机对策又称马尔科夫博弈模型,用五元组<N,S,A,P,R>进行描述,其中N={1,2,...,n},表示n个智能体的集合,S表示联合状态,A表示联合动作,P为状态转移模型,R表示联合奖励;
步骤1-1:设定智能体以及障碍物的物理模型;
对于智能体i,i=1,2,…,n,其半径为ri a,在绝对坐标系中的位置为
Figure FDA0003413738700000011
智能体i运动的角速度为ωi,速率为ui,用速度角ψi表示速率与X轴正方向的夹角,n为智能体数量;
智能体i的目标设定为半径为ri g的圆形区域,目标位置为
Figure FDA0003413738700000012
目标与智能体i的距离为D(Pi a,Pi g);当D(Pi a,Pi g)≤ri a+ri g时,表明智能体i已到达目标;
设定智能体i的目标速度角为αi,表示以智能体i中心为原点,以智能体i到其目标的方向为正方向建立极坐标系时的智能体i速度矢量与该极坐标下正方向的夹角值;智能体i具有通信功能,设定智能体i的通信范围是以智能体i为圆心,以dc为半径的圆形区域;在通信范围内,智能体i能感知到其他智能体和障碍物的位置;
障碍物设定为失去通信功能的故障智能体,对于障碍物j,它的半径为
Figure FDA0003413738700000013
速率和角速度分别为
Figure FDA0003413738700000014
Figure FDA0003413738700000015
速度角为
Figure FDA0003413738700000016
位置为
Figure FDA0003413738700000017
与智能体i的距离为
Figure FDA0003413738700000018
Figure FDA0003413738700000019
为智能体i与障碍物j的碰撞距离,且
Figure FDA00034137387000000110
Figure FDA00034137387000000111
时,表明已发生碰撞;
步骤1-2:设定多智能体的联合状态;
多智能体的联合状态为所有智能体的状态的笛卡尔积,表示为S=s1×s2×...×sn,其中si代表着智能体i的状态;对于智能体i,它的状态空间为局部环境的观测信息;
将智能体i作为原点,将其与目标位置连线的方向作为正方向建立极坐标系,智能体i的状态表示为si=(sAi,sEi),其中
Figure FDA00034137387000000112
为自身信息,
Figure FDA00034137387000000113
为智能体i与目标的距离,αi为目标速度角,ui和ψi分别为智能体i的速率和速度角;
Figure FDA00034137387000000114
为环境信息,其中
Figure FDA00034137387000000115
为智能体i与距离它最近邻居j之间的距离,智能体i的邻居为其通信范围内的智能体和障碍物的集合,
Figure FDA0003413738700000021
Figure FDA0003413738700000022
分别为最近邻居j的速率、速度角以及半径;
如果智能体i的通讯范围内没有邻居,则
Figure FDA0003413738700000023
步骤1-3:设定多智能体的联合动作;
多智能体的联合动作为所有智能体的动作的笛卡尔积,表示为A,且A=a1×a2×...×an,其中ai表示无人机i的动作;对于智能体i,它的运动是由自身的角速度和速率所决定;
设定智能体i的动作空间为
Figure FDA0003413738700000024
其中
Figure FDA0003413738700000025
为t时刻智能体i的角速度;
步骤1-4:设定多智能体的状态转移模型;
多智能体的状态转移模型为P:S×A×S→[0,1],表示所有智能体在当前状态采取联合动作到达下一状态的概率值;
智能体的状态转移通过运动实现,设定智能体和障碍物的运动空间为二维空间,则对于智能体i,它的运动模型表示为:
Figure FDA0003413738700000026
其中,
Figure FDA0003413738700000027
Figure FDA0003413738700000028
分别为智能体i的速率
Figure FDA0003413738700000029
沿X轴和Y轴的分量,
Figure FDA00034137387000000210
为智能体i的角速度;设定智能体i下一时刻位置为
Figure FDA00034137387000000211
下一时刻速度角为ψ′i,运动的间隔时间为△t,则智能体i从当前状态
Figure FDA00034137387000000212
转移到下一状态
Figure FDA00034137387000000213
的过程表示如下:
Figure FDA00034137387000000214
障碍物的状态转移过程与智能体相同;
步骤1-5:设置多智能体的联合奖励;
设定多智能体的联合奖励为R,表示为R=R1×R2×...×Rn,即所有智能体奖励函数的笛卡尔积,其中Ri表示智能体i与环境交互、实现状态转移后获得的奖励值;
智能体i的奖励函数设置如下:
设智能体i到达目标时的奖励函数为
Figure FDA0003413738700000031
其中
Figure FDA0003413738700000032
表示智能体到达目标消耗时间的惩罚值,Wt表示惩罚程度的参数值,Ti为智能体实际到达目标消耗的时间;
Figure FDA0003413738700000033
表示智能体以匀速沿直线运动至目标位置时消耗的时间,其中Pi a0为智能体i的初始位置;
智能体i发生碰撞时的奖励函数为Ri_collision=-5;
当智能体i没有到达目标或没有发生碰撞时,设置4种非稀疏奖励函数,具体表达式如下:
Figure FDA0003413738700000034
其中
Figure FDA0003413738700000035
为初始时刻智能体i到目标的距离值,
Figure FDA0003413738700000036
表示下一时刻智能体i到目标的距离值;
则智能体i正常运动时的奖励函数表示为Ri=η1N(R1)+η2N(R2)+η3N(R3)+η4N(R4),其中N(R)表示对奖励函数的归一化处理,η1234表示4种奖励函数的贡献率,且η1234=1;
步骤2:采用ME-MADDPG算法对多智能体运动规划进行训练;
步骤2-1:构建运动规划网络结构;
运动规划网络结构采用Actor-Critic网络结构,Actor网络和-Critic网络为两个独立的神经网络,都由输入层、隐藏层和输出层构成;
对于n个智能体,则有n个Actor网络和Critic网络以及n个目标Actor网络和目标Critic网络,设智能体运动规划的确定性策略集合为μ={μ1,…,μn};
对于智能体i,它的Actor网络输入为状态向量si,输出向量为动作向量
Figure FDA0003413738700000037
它的Critic网络输入为所有智能体的状态向量s=(s1,...,sn)和所有智能体根据各自的策略网络μi得到的动作a1,...,an;输出为
Figure FDA0003413738700000038
表示智能体i的动作值函数,即Q值,其中
Figure FDA0003413738700000039
Figure FDA00034137387000000310
分别为Actor网络参数和Critic网络参数的集合;θ′μ和θ′Q分别为目标Actor网络参数和目标Critic网络参数的集合,而智能体i的目标Actor网络参数和目标Critic网络参数更新方式为将Actor网络μi和Critic网络
Figure FDA0003413738700000041
的参数复制到各自对应的目标网络中,即
Figure FDA0003413738700000042
之后设定Actor网络和Critic网络的超参数,包括网络层数、节点数、学习率、激活函数以及训练优化器;
步骤2-2:设置训练参数的值,包括经验池容量M、批量采样数量N、目标网络更新频率F、最大训练回合数E以及每个回合智能体的最长运动时间T,并初始化训练回合数为e=0;
步骤2-3:初始化智能体和障碍物的初始位置、目标位置、速率、角速度以及速度角,初始化迭代次数k=0和运动时间t=0,生成一个随机数p0且p0∈[0,1];初始化每个智能体的联合状态,即对于智能体i,设置初始联合状态为si=(0,0,0,0,0,0,0,0,0);
步骤2-4:设置采样概率p的具体值;
首先设置p的初始值,p∈[0,1];之后在每个训练回合进行条件判定,若进入训练环节且p>0,则设置p的值为clip(p-1/M,0,1),即clip(p-1/M,0,1)→p;否则p不发生变化;
clip(p-1/M,0,1)→p表示:当p-1/M≥1时p=1,当p-1/M≤0时p=0,当0<p-1/M<1时p-1/M→p;
步骤2-5:判断决策动作的方式;
若p0≤p,则转到步骤2-6,根据人工势场法决策每个智能体的动作并获得联合状态,将其存入专家经验池DA;否则,转到步骤2-7,根据每个智能体的Actor网络决策动作并获得联合状态,将其存入探索经验池DE
步骤2-6:根据人工势场法决策动作;
对于智能体i,首先求出智能体i与目标之间的引力场
Figure FDA0003413738700000043
得到该引力场对智能体i所产生的引力
Figure FDA0003413738700000044
即为引力势能的负梯度大小;然后求出智能体i与它的邻居j之间的斥力场
Figure FDA0003413738700000045
得到斥力场所生成的斥力
Figure FDA0003413738700000046
即为斥力势能的负梯度;之后求出智能体i受到的合力大小,表示为:
Figure FDA0003413738700000051
合力方向为
Figure FDA0003413738700000052
求出角速度为
Figure FDA0003413738700000053
最后确定智能体i的角速度,表示如下:
Figure FDA0003413738700000054
其中,ωmax和ωmin分别表示智能体在其机动性能限制下的最大角速度和最小角速度;
则智能体i获得的动作为ai=(ωi);对于智能体i,在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入专家经验池DA
步骤2-7:根据Actor网络决策动作;
对于智能体i,通过其Actor网络μi,根据状态信息si选择动作ai,即
Figure FDA0003413738700000055
Figure FDA0003413738700000056
其中
Figure FDA0003413738700000057
为确定性策略函数,Ni为Ornstein-Uhlenbeck噪声;
智能体i在当前状态si根据动作ai进行状态转移,进入下一状态s′i并获得奖励Ri,得到联合状态<si,ai,s′i,Ri>,将其存入探索经验池DE
步骤2-8:更新所有智能体的状态信息;
对于智能体i,将当前状态si更新为s′i,即s′i→si,并设置运动时间更新,即t+△t→t;
步骤2-9:判断多智能体是否进入训练阶段;
根据存入经验池DA和DE的经验元组数量判断是否进入强化学习训练运动规划策略的阶段,若经验元组数量未超过经验池容量M,则转到步骤2-5,继续产生新的经验;否则,转到步骤2-10,进入强化学习训练阶段;
步骤2-10:根据动态采样策略采集样本用于训练;
动态采样策略为:设置从专家经验池DA采集的样本数量为nA,且nA=ceil(N×p),即nA为N×p向上取整的数;设置从探索经验池DE采集的样本数量为nE,且nE=N-nA;
分别从经验池DA和DE中随机抽取nA和nE个样本,将它们随机组合为(sl,al,s′l,Rl)l=1,N,即为最终用于训练的样本集;
步骤2-11:训练更新多智能体的Critic网络参数θQ
对于智能体i,其价值网络参数θi Q通过最小化代价函数L(θi Q)更新,表示如下:
Figure FDA0003413738700000061
其中ai和ai′分别为智能体i当前时刻和下一时刻的动作值,s和s′分别为多智能体当前时刻和下一时刻的联合状态,Ri为智能体i的立即奖励,
Figure FDA0003413738700000062
Figure FDA0003413738700000063
分别为智能体i的动作值函数和目标动作值函数,γ为折扣因子;
步骤2-12:训练更新多智能体的Actor网络参数θμ
对于智能体i的策略网络参数
Figure FDA0003413738700000064
通过梯度下降的方式更新,表示如下:
Figure FDA0003413738700000065
其中μi(ai|si)表示Actor网络在状态si时根据动作策略函数μi得到的动作,
Figure FDA0003413738700000066
表示状态si下采取动作ai=μi(si)时的动作值函数,
Figure FDA0003413738700000067
表示在Actor网络参数
Figure FDA0003413738700000068
下的策略梯度,
Figure FDA0003413738700000069
Figure FDA00034137387000000610
分别表示Actor网络策略函数梯度和Critic网络动作值函数梯度;
步骤2-13:判断Actor目标网络和Critic目标网络是否更新;
设置迭代次数k+1→k,并判断是否达到Actor目标网络或Critic目标网络更新的条件,即更新后的迭代次数k是否能整除Actor目标网络或Critic目标网络更新频率F,若条件符合,则转到步骤2-14,更新Actor目标网络和Critic目标网络;否则,转到步骤2-15;
步骤2-14:更新目标网络参数;
对Actor目标网络和Critic目标网络的参数进行软更新,表达式为:
Figure FDA00034137387000000611
Figure FDA00034137387000000612
其中τ为软更新比例系数;
步骤2-15:判断训练是否结束;
判断运动时间t是否大于最长运动时间T,若不满足t≥T,则转到步骤2-5,继续实现多智能体的状态转移;若满足t≥T,则设置训练回合数e+1→e实现训练回合数的更新,之后对训练回合数进行判断,如果不满足e≥E,则转到步骤2-3,开始下一个回合的训练;如果e≥E,则表明训练结束,保存训练完成的运动规划网络参数;
步骤3:采用步骤2训练完成的运动规划网络对多智能体进行运动规划。
2.根据权利要求1所述的一种混合经验的多智能体强化学习运动规划方法,其特征在于,所述采样概率p=0.4,经验池容量M=40000、批量采样数量N=128。
CN202110558854.1A 2021-05-21 2021-05-21 一种混合经验的多智能体强化学习运动规划方法 Expired - Fee Related CN113341958B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110558854.1A CN113341958B (zh) 2021-05-21 2021-05-21 一种混合经验的多智能体强化学习运动规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110558854.1A CN113341958B (zh) 2021-05-21 2021-05-21 一种混合经验的多智能体强化学习运动规划方法

Publications (2)

Publication Number Publication Date
CN113341958A CN113341958A (zh) 2021-09-03
CN113341958B true CN113341958B (zh) 2022-02-25

Family

ID=77470588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110558854.1A Expired - Fee Related CN113341958B (zh) 2021-05-21 2021-05-21 一种混合经验的多智能体强化学习运动规划方法

Country Status (1)

Country Link
CN (1) CN113341958B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741525B (zh) * 2021-09-10 2024-02-06 南京航空航天大学 基于策略集合maddpg多无人机协同攻防对抗方法
CN113822409B (zh) * 2021-09-18 2022-12-06 中国电子科技集团公司第五十四研究所 一种基于异构多智能体强化学习的多无人机协同突防方法
CN113759929B (zh) * 2021-09-22 2022-08-23 西安航天动力研究所 基于强化学习和模型预测控制的多智能体路径规划方法
CN113821041B (zh) * 2021-10-09 2023-05-23 中山大学 一种多机器人协同导航与避障的方法
CN113780688B (zh) * 2021-11-10 2022-02-18 中国电力科学研究院有限公司 一种电热联合系统的优化运行方法、系统、设备及介质
CN114083539B (zh) * 2021-11-30 2022-06-14 哈尔滨工业大学 一种基于多智能体强化学习的机械臂抗干扰运动规划方法
CN114371634B (zh) * 2021-12-22 2022-10-25 中国人民解放军军事科学院战略评估咨询中心 一种基于多级事后经验回放的无人机作战模拟仿真方法
CN114326734B (zh) * 2021-12-29 2024-03-08 中原动力智能机器人有限公司 一种路径规划方法及装置
CN114611669B (zh) * 2022-03-14 2023-10-13 三峡大学 一种基于双经验池ddpg网络的兵棋推演智能决策方法
CN114815840A (zh) * 2022-04-29 2022-07-29 中国科学技术大学 基于深度强化学习的多智能体路径规划方法
CN115202339B (zh) * 2022-05-30 2023-06-23 北京理工大学 基于dqn的多月球车采样固定目标自适应规划方法
CN115469663A (zh) * 2022-09-15 2022-12-13 中国科学技术大学 面向自动驾驶的基于深度强化学习的端到端导航避障方法
CN115565104A (zh) * 2022-09-28 2023-01-03 华为技术有限公司 一种动作预测方法及其相关设备
CN115755956B (zh) * 2022-11-03 2023-12-15 南京航空航天大学 一种知识与数据协同驱动的无人机机动决策方法与系统
CN115493597B (zh) * 2022-11-15 2023-04-18 山东大学 一种基于sac算法的auv路径规划控制方法
CN117093010B (zh) * 2023-10-20 2024-01-19 清华大学 水下多智能体路径规划方法、装置、计算机设备和介质
CN117111640B (zh) * 2023-10-24 2024-01-16 中国人民解放军国防科技大学 基于风险态度自调整的多机避障策略学习方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110632931A (zh) * 2019-10-09 2019-12-31 哈尔滨工程大学 动态环境下基于深度强化学习的移动机器人避碰规划方法
CN112362066A (zh) * 2020-11-20 2021-02-12 西北工业大学 一种基于改进的深度强化学习的路径规划方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3532902A4 (en) * 2017-12-29 2019-12-25 Beijing Didi Infinity Technology and Development Co., Ltd. PATH DETERMINATION SYSTEMS AND METHODS
US10739777B2 (en) * 2018-11-20 2020-08-11 Waymo Llc Trajectory representation in behavior prediction systems
US11467588B2 (en) * 2019-07-03 2022-10-11 Denso International America, Inc. Systems and methods for controlling an autonomous vehicle using target orientated artificial intelligence
CN112799386B (zh) * 2019-10-25 2021-11-23 中国科学院沈阳自动化研究所 基于人工势场与强化学习的机器人路径规划方法
US11693415B2 (en) * 2019-11-06 2023-07-04 Waymo Llc Predicting cut-in probabilities of surrounding agents
CN111880563B (zh) * 2020-07-17 2022-07-15 西北工业大学 一种基于maddpg的多无人机任务决策方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110632931A (zh) * 2019-10-09 2019-12-31 哈尔滨工程大学 动态环境下基于深度强化学习的移动机器人避碰规划方法
CN112362066A (zh) * 2020-11-20 2021-02-12 西北工业大学 一种基于改进的深度强化学习的路径规划方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Air Combat Strategies Generation of CGF Based on MADDPG and Reward Shaping;Weiren KONG 等;《2020 International Conference on Computer Vision, Image and Deep Learning》;20201130;第651-655页 *
An Autonomous Path Planning Model for Unmanned Ships Based on Deep Reinforcement Learning;Guo Siyu 等;《SENSORS》;20200131;第20卷(第02期);第1-35页 *
Autonomous Robot Navigation in Dynamic Environment Using Deep Reinforcement Learning;Xuyi Qiu 等;《2019 IEEE 2nd International Conference on Automation, Electronics and Electrical Engineering》;20200312;第338-342页 *
Robust Motion Control for UAV in Dynamic Uncertain Environments Using Deep Reinforcement Learning;Wan Kaifang 等;《REMOTE SENSING》;20200228;第12卷(第04期);第1-21页 *
基于神经网络和人工势场的协同博弈路径规划;张菁 等;《航空学报》;20190331;第40卷(第03期);第228-238页 *
带信息素回访机制的多无人机分布式协同目标搜索;刘重 等;《系统工程与电子技术》;20170930;第39卷(第09期);第1747-1756页 *

Also Published As

Publication number Publication date
CN113341958A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN113341958B (zh) 一种混合经验的多智能体强化学习运动规划方法
CN112947562B (zh) 一种基于人工势场法和maddpg的多无人机运动规划方法
Naveed et al. Trajectory planning for autonomous vehicles using hierarchical reinforcement learning
Liu et al. Multi-UAV path planning based on fusion of sparrow search algorithm and improved bioinspired neural network
CN113900445A (zh) 基于多智能体强化学习的无人机协同控制训练方法及系统
Bouton et al. Reinforcement learning with iterative reasoning for merging in dense traffic
Ronecker et al. Deep Q-network based decision making for autonomous driving
Wang et al. An application of continuous deep reinforcement learning approach to pursuit-evasion differential game
Xin et al. DRL-based improvement for autonomous UAV motion path planning in unknown environments
CN114089776B (zh) 一种基于深度强化学习的无人机避障方法
CN113110101B (zh) 一种生产线移动机器人聚集式回收入库仿真方法及系统
Wang et al. Autonomous target tracking of multi-UAV: A two-stage deep reinforcement learning approach with expert experience
Tian et al. Fast UAV path planning in urban environments based on three-step experience buffer sampling DDPG
CN117634645A (zh) 一种用于多智能体强化学习中的对比学习表征方法
Tan et al. Comparative evaluation for effectiveness analysis of policy based deep reinforcement learning approaches
CN114326826B (zh) 多无人机队形变换方法及系统
Qiu et al. Sample-efficient multi-agent reinforcement learning with demonstrations for flocking control
Ma et al. Strategy generation based on reinforcement learning with deep deterministic policy gradient for ucav
Wu et al. Multiagent Motion Planning Based on Deep Reinforcement Learning in Complex Environments
CN117289691A (zh) 用于导航场景下强化学习的路径规划智能体的训练方法
Zhang et al. Target Tracking and Path Planning of Mobile Sensor Based on Deep Reinforcement Learning
CN114756017A (zh) 一种无人机与无人艇结合的导航避障方法
CN115097814A (zh) 基于改进pso算法的移动机器人路径规划方法、系统及应用
Wang et al. Revolutionary entrapment model of uniformly distributed swarm robots in morphogenetic formation
Martovytskyi et al. Approach to building a global mobile agent way based on Q-learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220225