利索能及
我要发布
收藏
专利号: 2024117371430
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述方法包括以下步骤:

步骤S1、引入课程学习的思想,设计课程学习各阶段任务;

步骤S2、搭建强化学习训练环境,针对机器人在连续空间中的路径规划问题,定义机器人的观察空间、动作空间和奖励函数,为后续的强化学习做准备;

步骤S3、训练网络模型,首先设计一个网络结构以适应环境中变化的机器人数量,其次使用基于值分解的多智能体强化学习算法Qatten算法训练网络模型。

2.如权利要求1所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S1中,每个课程阶段的具体任务分别是:S11、第一阶段,单机器人路径规划,目标是让机器人具备基本的路径搜索和避开障碍的能力;

S12、第二阶段,多个机器人在简单环境中路径规划,机器人的数量可以少于目标任务要求的机器人数量,实现简单环境下多个机器人的相互合作能力,能够在正确的时机执行等待动作;

S13、第三阶段,保持机器人数量与上一阶段相同,不断增加环境的大小和障碍物的数量,实现训练环境由简单到复杂的过渡;

S14、第四阶段,完成目标任务的路径规划。

3.如权利要求2所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S1中,针对不同的目标任务,在第三阶段和第四阶段之间增加课程阶段,以保证环境的平稳过渡。

4.如权利要求1~3之一所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S2中,机器人的观察空间被分为两个部分,即与自身有关的观察信息和与其他机器人有关的观察信息,以适应不同课程学习阶段机器人数量的变化;

机器人的动作空间为离散动作空间,分为移动动作和等待动作两类,机器人的路径轨迹符合RS曲线,并且不允许倒车;

由于环境本身的奖励是稀疏的,因此,利用人工势场法构建一个启发式作为奖励函数,同时,引入两个额外奖励,一是快速搜索奖励,用来促进机器快速到达终点,减少在环境中逗留,二是等待机制奖励,用来保证智能体在正确的时机执行等待动作。

5.如权利要求4所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S2中,对训练阶段如何判断一局是否结束进行如下定义:当场上所有机器人全部到达终点或者达到每局的步数上限时视为一局结束,当机器人距离终点一定范围时即认为该机器人到达终点,到达终点的机器人将停在原地,不会消失;当有机器人碰撞到障碍物或者和其他机器人发生碰撞,或是走到边界之外时,环境会启动碰撞回退机制,全场所有机器人将回退至上一时间步的状态,重新规划路径。

6.如权利要求2所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S2中,在进行集中训练时需要用到环境的全局信息s,全局信息由所有机器

1 2 n n

人的局部观察信息组成,用一个一维向量表示为s=[o ,o ,…,o ],其中o表示第n个机器人的观察信息针对连续空间中的路径规划问题,考虑符合机器人的运动学的路径;将连续动作空间离散化,利用RS曲线规划满足要求的路径轨迹,将机器人的动作分为两类:移动和等待,其中,移动动作指机器人向前、向左或向右移动一步,规定机器人禁止倒车,这样可以促进机器人向终点方向前,已知机器人的当前位置信息(x,y,θ),利用RS曲线计算下一位置信息,计算公式如下:其中r表示机器人的转弯半径,δ表示机器人旋转的角度,s表示机器人前进一步的步长,并且s=r·δ;

设置了六个移动动作,即,每个运动方向都设置了两种转弯半径,使机器人拥有更自由的动作空间;

在单机器人路径规划的环境中,机器人需要到达终点才算成功,才能获得一个正的奖励值,而在多机器人路径规划的环境中,需要所有机器人都到达终点才能获得正的奖励值;

环境的奖励是稀疏的,而且,由于状态空间是连续的,在这样的环境下训练,机器人几乎不可能到达终点,因此需要对机器人中间运动的过程给予评价,将稀疏奖励密集化,以加快训练;首先利用人工势场的方法设计一组启发式是作为奖励函数,计算每个机器人在当前位置的基础奖励;人工势场的基本思路是,环境中的障碍物和其他机器人给当前机器人提供斥力,因此,两者距离越近斥力越大,启发值越小;相反,终点给当前机器人提供引力,此时两者距离越近引力越大,启发值越大,计算公式如下:r=a·h1+b·h2+c·h3

其中,d1表示机器人当前位置到最近障碍物的距离do和到最近边界的距离de,两者的最小值,即d1=min(do,de);d2表示机器人当前位置到最近其他机器人的距离da,即d2=da,当训练处于课程的第一阶段时,机器人的观察中没有与其他机器人有关的观察信息,此时h2=0;d3表示机器人当前位置到终点的距离dg,即d3=dg,λ表示势场中引力或斥力的作用范围;

利用上述启发式奖励函数并不能考虑到机器人在执行过程中的所有情况,因此,在启发式奖励函数的基础之上加入额外奖励,以促进训练;

为了使机器人尽快到达终点,减少在环境中逗留,增加搜索奖励以鼓励机器人向终点前进,公式如下:

其中,dg表示机器人当前位置到终点的距离,dg’表示机器人上一时刻位置到终点的距离;

当训练进入第二阶段以后,机器人需要和其他机器人配合,即在正确的时机执行等待动作以避让其他机器人,因此,增加等待奖励以训练机器人对等待动作的使用,公式为:其中,等待条件的设定是机器人能否正确学会使用等待动作的关键,等待条件的定义如下:(1)机器人当前位置到最近其他机器人的距离da小于x,x应该小于机器人的视野半径;(2)相距最近其他机器人相对机器人方向的角度θa∈(‑π/4,π/4);(3)当前机器人到终点的距离dg小于相距最近其他机器人到其终点的距离ga,即dg

另外,当机器人的当前位置与环境中的障碍物或者其他机器人发生碰撞或者运动到边界之外时,机器人的奖励值直接定为一个绝对值很大的负数;当机器人到达终点时,机器人的奖励值为机器人的剩余步数,机器人的初始剩余步数为环境的最大步数上限,机器人在环境中每走一步剩余步数就减一,发生碰撞会额外减少剩余步数,规定一个最小的正奖励值rmin,使得机器人到达终点获得的奖励值大于等于rmin;另外,由于机器人到达终点的时间不一定同步,因此,到达终点的奖励每个机器人每局只能获得一次,在等待其他机器人到达终点的过程中,奖励值全为0;

至此计算出一个机器人在当前状态下所得到的完整奖励,将所有机器人的奖励值相加,即得到当前状态下的全局奖励R,其中,N表示机器人的数量;

利用碰撞回退机制解决机器人的当前位置与环境中的障碍物或者其他机器人发生碰撞或者运动到边界之外后机器人的状态问题;采用碰撞回退机制,在第n个时间步,当场上有机器人发生碰撞或出界后,所有机器人均退回到m个时间步之前的状态,即全局状态退回到第n‑m个时间步的状态,然后基于时间步n‑m时的状态重新规划路径;课程学习的第一,第二阶段由于环境相对简单不使用该机制也能成功,因此该机制只在第三阶段及其之后的训练中使用。

7.如权利要求2或3所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S3中,不同的阶段使用不同结构的网络模型:在课程的第一阶段,环境中只有一个机器人,因此设计一个由一层全连接神经网络、一层GRU循环神经网络、一层全连接神经网络三者串联的网络结构,该网络仅输入每个机器人与自身有关的观察信息,输出动作Q值;课程的第二阶段至以后所有阶段,环境中的机器人数量均大于1,此时的网络结构,在保留第一阶段网络结构的同时,加入一个超网络结构用来处理与其他机器人有关的观察信息;另外,所有机器人共享参数,以便于在不同机器人数量的环境中训练。

8.如权利要求2或3所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述步骤S3中,使用Qatten算法实现网络模型的训练,该算法是一种基于值分解的多智能体强化学习算法,使用多头注意力机制来建模每个智能体对整体的贡献,并通过一个可训练的超网络计算整体的Q值Qtot,损失函数计算以及网络参数更新方式与DQN算法相同;因此,当处于课程第一阶段时,环境中只有一个机器人,算法即退化为DQN算法,当处于课程第二阶段之后,环境中的机器人数量大于1,算法则为Qatten算法。

9.如权利要求8所述的一种基于课程深度强化学习的多机器人路径规划方法,其特征在于,所述S3中,首先在课程学习的第一阶段,环境中只有一个机器人,此时神经网络只需要输入与自己有关的观察消息oi,因此设计一个简单的串联结构,首先,将机器人与自身有关的观察信息oi输入一层全连接网络f,将所得到的输出f(oi)与上一时刻的隐藏状态ht‑1,一起传入一层GRU循环神经网络g中,将输出传入最后一层全连接网络fx中,最终输出每个动作的Q值Qi,课程学习第一阶段,网络表示为:Qi(oi)=fx(g(f(oi),ht‑1))

在课程学习的第二阶段及之后的阶段中,环境中的机器人数量大于1,此时神经网络不仅要输入自身有关的观察信息oi,还要输入与其他机器人有关的观察信息oj,此时,传入与自身有关的观察信息oi的全连接网络f,GRU循环神经网络层g以及最后动作Q值的输出层fx均直接重载第一阶段的网络结构的参数,额外增加一个超网络结构用于处理其他与其他机器人有关的观察信息,超网络的结构为,定义两个两层的全连接网络fw和fb,两个网络分别传入与自身有关的观察信息oi,得到W=fw(oi),b=fb(oi),接着以W为权重,以b为偏置,进行如下计算:h(oj)=W·oj+b

将f(oi)与h(oj)拼接,传入一个新的全连接网络fh,然后再进入GRU循环神经网络层g,最后传入全连接层fx,输出每个机器人的动作Q值Qi,网络表达式为:Qi(oi,oj)=fx(g(fh(cat(f(oi),h(oj))),ht‑1))

课程学习第二阶段以后,每一阶段都重载前一阶段的网络参数,同时为了保证参数量不受机器人数量变化的影响,所有机器人网络参数共享;

利用ε‑greedy方法,选择动作,即设定一个不断衰减的参数ε,每次选择动作时,生成一个随机数r,将r与ε对比,当r<ε时,从动作空间中随机选择一个动作,否则,用greedy方法选择Q值最大的动作;

机器人按照神经网络选出的动作在环境中运行,并输出一组数据,包括全局状态s,局部观察o,动作a,奖励R,以及是否完成,将这些输入存入经验回放池中,用于后续训练网络模型;

当经验回放池中的数据量达到minibatch时,开始训练网络模型;

神经网络的训练使用基于值分解的多智能体强化学习算法Qatten算法,该算法基于集中训练,分散执行的框架,每个智能体根据自身的局部观察计算得到动作Q值Qi,集中训练器再根据每个智能体的动作Q值计算全局Q值Qtot,Qatten算法引入多头注意力机制分析每个机器人的状态对全局状态的贡献,计算每个注意力头的权重,求和得到Qtot,计算方式为:其中,wh和c(s)分别由一个两层的全连接神经网络输入全局状态s得到,H为注意力的头数,N为机器人的数量;

最后利用DQN算法计算损失函数,训练网络参数:

tot ‑

其中,y =R+γmaxu′Qtot(τ′,u′,s′;θ)。