一种基于深度强化学习的端到端分布式多机器人编队导航方法转让专利

申请号 : CN201910394893.5

文献号 : CN110147101B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林俊潼成慧杨旭韵郑培炜

申请人 : 中山大学

摘要 :

本发明涉及机器人中的多移动机器人领域,更具体地,涉及一种基于深度强化学习的端到端分布式多机器人编队导航方法。该方法基于深度强化学习,通过试错的方式得到控制策略。所得控制策略能够将多机器人编队的几何中心点安全、高效地导航至目标点,并且保证多机器人编队在导航的过程中的连通性。通过该方法得到的控制策略具有端到端的特性,也就是说能够直接将原始感知数据映射到机器人控制量,而无需先根据原始感知数据构建障碍物地图,因此能够节省计算资源。除此以外,通过一种集中式学习分布式执行的机制,该方法能够得到可分布式执行的控制策略,使得机器人拥有更高的自主性。

权利要求 :

1.一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,包括以下步骤:S1.搭建仿真环境,机器人在仿真环境中进行试错学习;

S2.设计奖励函数以引导机器人编队的学习,机器人编队的试错学习根据仿真环境中返回的奖励值来衡量决策的好坏;所述的奖励函数由多个子奖励函数加权求和构成,即:R(st,at)=ε+wg*Rg(st,at)+wc*Rc(st,at)+wf*Rf(st,at)+wv*Rv(st,at)式中,st是t时刻的状态,at是t时刻的动作,ε是一个负常数,用于引导机器人编队尽快到达目标点;wg,wc,wf和wv分别是对应子奖励函数的权重值;

Rg(st,at)用于引导机器人编队到达目标点;Rc(st,at)用于引导机器人避免碰撞;

Rf(st,at)用于引导机器人编队保持连通性;Rv(st,at)用于引导机器人平滑地运动;

S3.设计策略网络和值网络;

S4.利用基于行动者-评价家的强化学习方法,在机器人编队与仿真环境交互的过程中更新策略网络和值网络;

S5.在执行阶段分布式地使用策略网络进行导航;在执行的时候,各个机器人使用机器人级别的策略网络,根据自身的观察值计算出自身的控制量。

2.根据权利要求1所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所搭建的仿真环境具有以下功能:i.表示场景:在仿真场景中,有多个障碍物,每个障碍物均为多边形,每个多边形通过多边形的各顶点来表示;

ii.表示机器人编队:用多个半径为r的圆形来表示机器人编队;

iii.随机初始化场景:随机生成位于不同位置,拥有不同形状的障碍物;随机生成位于不同位置的目标点;以及随机生成机器人编队的初始位置;

iv.根据环境的状态为机器人编队返回其局部观察值:每个机器人的观察值包含对环境的感知信息oe,即二维激光雷达的点云数据,自身的当前速度ov,其余机器人的位置om,以及目标点的位置og;

v.根据环境的状态以及机器人编队的控制指令更新环境的状态:除了需要根据机器人编队的控制指令去更新机器人的位置以外,还需要检测是否有碰撞的发生,碰撞包括机器人与机器人之间的碰撞以及机器人与障碍物之间的碰撞,以及机器人编队的几何中心是否已经到达目标点;

vi.根据环境的状态以及机器人编队的控制指令返回即时奖励值:奖励值的计算依赖于奖励函数。

3.根据权利要求2所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的奖励函数中的Rg(st,at)用于引导机器人编队到达目标点;当机器人编队往目标点靠近时,返回一个正数作为奖励;当机器人编队远离目标点的时候,返回一个负数作为惩罚,其数学表达式为:式中,rgoal是机器人编队几何中心到达目标点的奖励值,εg是用于判断几何中心是否到达目标点的阈值, 表示机器人编队几何中心在t时刻的位置,g表示目标点的位置。

4.根据权利要求2所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的奖励函数中的Rc(st,at)用于引导机器人避免碰撞,当碰撞发生时,给予机器人编队一个负数rcollision作为惩罚,其数学表达式为:

5.根据权利要求2所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的奖励函数中的Rf(st,at)用于引导机器人编队保持连通性;当机器人编队的连通性被破坏时,即机器人之间的距离超过阈值d时,给予机器人编队一个负数作为惩罚,其数学表达式为:式中,avg表示求均值,min表示取最小值。

6.根据权利要求2所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的奖励函数中的Rv(st,at)用于引导机器人平滑地运动;当机器人的运动方向发生变化时,该子奖励函数会给予机器人编队一个负数作为惩罚;其数学表达式为:式中,表示两向量的内积,vt是指在t时刻的速度。

7.根据权利要求3至6任一项所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,为了满足分布式执行的要求,编队级别的策略网络由多个机器人级别的策略网络构成,各个机器人利用机器人级别的策略网络,根据机器人级别的局部观察值计算出机器人级别的控制量,然后通过将机器人级别的控制量拼凑在一起,得到编队级别的控制量。

8.根据权利要求7所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的策略网络分为特征提取模块和后续处理模块,所述的特征提取模块先对环境的原始感知信息oe以及其余机器人的位置om进行了处理提取对应子特征,然后将所得子特征与自身的当前速度ov以及目标点的位置og拼接在一起,最后通过全连接层提取总特征;在提取环境原始感知信息oe的子特征时,采用了卷积神经网络来处理二维激光雷达的点云数据;在提取其余机器人的位置om的子特征时,采用了一个顺序无关模块来保证所得子特征跟输入的顺序无关;在顺序无关模块中,首先采用一个共享的全连接层处理不同的子输入得到不同的子输出,然后将不同的子输出求平均,得到顺序无关模块的总输出。

9.根据权利要求8所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的值网络先采用特征提取模块对不同机器人的观察值进行特征提取,然后将各个机器人的总特征求均值,最后通过全连接层得到价值评估;值网络的特征提取模块与策略网络的特征提取模块相同。

10.根据权利要求9所述的一种基于深度强化学习的端到端分布式多机器人编队导航方法,其特征在于,所述的S4步骤具体包括:S41.机器人编队从环境中获取观察值和奖励值;

S42.机器人编队根据观察值利用策略网络计算出控制量,并且执行;

S43.利用强化学习算法,根据交互信息:观察值、奖励值、控制量,对策略网络和值网络进行更新;

S44.重复步骤S41至S43。

说明书 :

一种基于深度强化学习的端到端分布式多机器人编队导航

方法

技术领域

[0001] 本发明涉及机器人中的多移动机器人领域,更具体地,涉及一种基于深度强化学习的端到端分布式多机器人编队导航方法。

背景技术

[0002] 机器人编队在不确定的复杂环境中作业时可能会遇到障碍物的威胁。为了避免碰撞对机器人造成伤害,需要考虑机器人的避障问题。在某些场景下,机器人编队在避障的同时还需要保持一定连通性,例如:在机器人编队进行信息交换时,编队需要保持一定连通性来保证通信质量。因此,在保持连通性的条件下来躲避障碍物是一个重要的多机器人协作问题。
[0003] 保持连通性的多机器人编队导航方法可以划分为以下两类方法:一是基于规则的方法,二是基于学习的方法。基于规则的方法可以进一步划分为:基于领航者-跟随者的方法,基于人工势场法的方法,基于图论的方法,基于一致性理论的方法,基于模型预测控制的方法,以及基于虚拟结构的方法等。
[0004] 基于规则的方法对环境的感知依赖于障碍物地图,在使用基于规则的方法时,需要先通过原始感知数据构建障碍物地图。因此,基于规则的方法高度依赖于障碍物地图的构建。而在某些特定情况下,实时构建的障碍物地图的质量难以保证,而且构建障碍物地图的过程会占用大量计算资源,因此会影响基于规则的方法的效果。
[0005] 基于学习的方法可以在无需构建障碍物地图的情况下,直接将原始感知数据映射到机器人的控制量。现有的基于学习的方法大多关注单机器人领域,部分应用在多机器人领域的方法没有考虑机器人之间的连通性。

发明内容

[0006] 本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于深度强化学习的端到端分布式多机器人编队导航方法。
[0007] 为解决上述技术问题,本发明采用的技术方案是:一种基于深度强化学习的端到端分布式多机器人编队导航方法,包括以下步骤:
[0008] S1.搭建仿真环境,机器人在仿真环境中进行试错学习;深度强化学习的基本思想是通过试错的方式,在智能体跟环境交互的过程中迭代优化智能体的控制策略;因此在使用本发明提出的方法时,需要搭建仿真环境,以供多机器人编队进行试错;
[0009] S2.设计奖励函数以引导机器人编队的学习,机器人编队的试错学习需要根据环境返回的奖励值来衡量决策的好坏,而奖励值的计算依赖于奖励函数,因此奖励函数是基于深度强化学习的方法的重要组成部分;所述的奖励函数由多个子奖励函数加权求和构成,即:
[0010] R(st,at)=ε+wg*Rg(st,at)+wc*Rc(st,at)+wf*Rf(st,at)+wv*v(st,at)[0011] 式中,st是t时刻的状态,at是t时刻的动作,ε是一个负常数,用于引导机器人编队尽快到达目标点;wg,wc,wf和wv分别是对应子奖励函数的权重值;Rg(st,at)用于引导机器人编队到达目标点;Rc(st,at)用于引导机器人避免碰撞;Rf(st,at)用于引导机器人编队保持连通性;Rv(st,at)用于引导机器人平滑地运动;
[0012] S3.设计策略网络和值网络;设计出的网络结构要能够有效地处理原始观测数据,特别的,对于策略网络,还要求能够分布式地执行;由于本发明针对的是同构机器人,各个机器人都采用相同的控制策略,因此各个机器人级别的策略网络是共享参数的;
[0013] S4.利用基于行动者-评价家的强化学习方法,在机器人编队与仿真环境交互的过程中更新策略网络和值网络;
[0014] S5.在执行阶段分布式地使用策略网络进行导航;在执行的时候,各个机器人使用机器人级别的策略网络,根据自身的观察值计算出自身的控制量。
[0015] 本发明提供的方法基于深度强化学习,通过试错的方式得到控制策略。所得控制策略能够将多机器人编队的几何中心点安全、高效地导航至目标点,并且保证多机器人编队在导航的过程中的连通性。通过该方法得到的控制策略具有端到端的特性,也就是说能够直接将原始感知数据映射到机器人控制量,而无需先根据原始感知数据构建障碍物地图,因此能够节省计算资源。除此以外,通过一种集中式学习分布式执行的机制,该方法能够得到可分布式执行的控制策略,使得机器人拥有更高的自主性。
[0016] 进一步的,所搭建的仿真环境具有以下功能:
[0017] i.表示场景:在大小为M×M的场景中,有多个障碍物,每个障碍物均为多边形,每个多边形通过多边形的各顶点来表示;
[0018] ii.表示机器人编队:用多个半径为r的圆形来表示机器人编队;
[0019] iii.随机初始化场景:随机生成位于不同位置,拥有不同形状的障碍物;随机生成位于不同位置的目标点;以及随机生成机器人编队的初始位置;
[0020] iv.根据环境的状态为机器人编队返回其局部观察值:每个机器人的观察值包含对环境的感知信息oe,即二维激光雷达的点云数据,自身的当前速度ov,其余机器人的位置om,以及目标点的位置og;
[0021] v.根据环境的状态以及机器人编队的控制指令更新环境的状态:除了需要根据机器人编队的控制指令去更新机器人的位置以外,还需要检测是否有碰撞的发生,碰撞包括机器人与机器人之间的碰撞以及机器人与障碍物之间的碰撞,以及机器人编队的几何中心是否已经到达目标点;
[0022] vi.根据环境的状态以及机器人编队的控制指令返回即时奖励值:奖励值的计算依赖于奖励函数。
[0023] 进一步的,所述的奖励函数中的Rg(st,at)用于引导机器人编队到达目标点;当机器人编队往目标点靠近时,返回一个正数作为奖励;当机器人编队远离目标点的时候,返回一个负数作为惩罚,其数学表达式为:
[0024]
[0025] 式中,rgoal是机器人编队几何中心到达目标点的奖励值,εg是用于判断几何中心是否到达目标点的阈值, 表示机器人编队几何中心在t时刻的位置,g表示目标点的位置。
[0026] 进一步的,所述的奖励函数中的Rc(st,at)用于引导机器人避免碰撞,当碰撞发生时,给予机器人编队一个负数rcollision作为惩罚,其数学表达式为:
[0027]
[0028] 进一步的,所述的奖励函数中的Rf(st,at)用于引导机器人编队保持连通性;当机器人编队的连通性被破坏时,即机器人之间的距离超过阈值d时,给予机器人编队一个负数作为惩罚,其数学表达式为:
[0029]
[0030] 式中,avg表示求均值,min表示取最小值。
[0031] 进一步的,所述的奖励函数中的Rv(st,at)用于引导机器人平滑地运动;当机器人的运动方向发生变化时,该子奖励函数会给予机器人编队一个负数作为惩罚;其数学表达式为:
[0032]
[0033] 式中,表示两向量的内积,vt是指在t时刻的速度。
[0034] 进一步的,为了满足分布式执行的要求,编队级别的策略网络由多个机器人级别的策略网络构成,各个机器人利用机器人级别的策略网络,根据机器人级别的局部观察值计算出机器人级别的控制量,然后通过将机器人级别的控制量拼凑在一起,得到编队级别的控制量。
[0035] 进一步的,所述的策略网络分为特征提取模块和后续处理模块,所述的特征提取模块先对环境的原始感知信息oe以及其余机器人的位置om进行了处理提取对应子特征,然后将所得子特征与自身的当前速度ov以及目标点的位置og拼接在一起,最后通过全连接层提取总特征;在提取环境原始感知信息oe的子特征时,采用了卷积神经网络来处理二维激光雷达的点云数据;在提取其余机器人的位置om的子特征时,采用了一个顺序无关模块来保证所得子特征跟输入的顺序无关;在顺序无关模块中,首先采用一个共享的全连接层处理不同的子输入得到不同的子输出,然后将不同的子输出求平均,得到顺序无关模块的总输出。
[0036] 进一步的,所述的值网络先采用特征提取模块对不同机器人的观察值进行特征提取,然后将各个机器人的总特征求均值,最后通过全连接层得到价值评估;值网络的特征提取模块与策略网络的特征提取模块相同。
[0037] 进一步的,所述的S4步骤具体包括:
[0038] S41.机器人编队从环境中获取观察值和奖励值;
[0039] S42.机器人编队根据观察值利用策略网络计算出控制量,并且执行;
[0040] S43.利用强化学习算法,根据交互信息:观察值、奖励值、控制量,对策略网络和值网络进行更新;
[0041] S44.重复步骤S41至S43。
[0042] 与现有技术相比,有益效果是:
[0043] 1.本发明提供的一种基于深度强化学习的端到端分布式多机器人编队导航方法,该方法通过深度强化学习和一种集中式学习分布式执行的机制,得到一种能够分布式执行的端到端控制策略。通过该控制策略,能够在保持多机器人编队连通性的条件下将机器人编队的几何中心导航至目标点。与现有基于规则的方法相比,所得的控制策略无需依赖障碍物地图,能够直接将原始感知数据映射到机器人的控制量;
[0044] 2.发明基于深度强化学习,以试错的方式,通过机器人编队跟环境的交互得到最终的控制策略,而无需显式地设计控制策略;
[0045] 3.通过S4步骤得到的控制策略(即策略网络)能够直接将原始感知数据映射到机器人的控制量,而无需构建障碍物地图;
[0046] 4.得益于本发明所设计的策略网络结构,本发明所得控制策略(即策略网络)能够分布式地执行,提高了机器人的自主性。

附图说明

[0047] 图1是本发明的整体框架示意图。
[0048] 图2是本发明策略网络的结构示意图。
[0049] 图3是本发明值网络的结构示意图。

具体实施方式

[0050] 附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
[0051] 如图1所示,一种基于深度强化学习的端到端分布式多机器人编队导航方法,包括以下步骤:
[0052] 步骤1.搭建仿真环境。深度强化学习的基本思想是通过试错的方式,在智能体跟环境交互的过程中迭代优化智能体的控制策略。因此在使用本发明提出的方法时,需要搭建仿真环境,以供多机器人编队进行试错。所搭建的仿真环境需要满足以下功能:
[0053] i.表示场景:在大小为10m×10m的场景中,每个障碍物均为多边形,每个多边形通过多边形的各顶点来表示;
[0054] ii.表示机器人编队:用3个0.5m半径的的圆形来表示机器人编队,每个机器人都能进行全向运动,最大速度为0.7m/s;
[0055] iii.随机初始化场景:随机生成位于不同位置,拥有不同形状的障碍物;随机生成位于不同位置的目标点;以及随机生成机器人编队的初始位置;
[0056] iv.根据环境的状态为机器人编队返回其局部观察值:每个机器人的观察值包含对环境的感知信息oe,即二维激光雷达的点云数据,自身的当前速度ov,其余机器人的位置om,以及目标点的位置og;
[0057] v.根据环境的状态以及机器人编队的控制指令更新环境的状态:除了需要根据机器人编队的控制指令去更新机器人的位置以外,还需要检测是否有碰撞的发生,碰撞包括机器人与机器人之间的碰撞以及机器人与障碍物之间的碰撞,以及机器人编队的几何中心是否已经到达目标点;
[0058] vi.根据环境的状态以及机器人编队的控制指令返回即时奖励值:奖励值的计算依赖于奖励函数。
[0059] 步骤2.设计奖励函数以引导机器人编队的学习:机器人编队的试错学习需要根据环境返回的奖励值来衡量决策的好坏,而奖励值的计算依赖于奖励函数,因此奖励函数是基于深度强化学习的方法的重要组成部分。
[0060] 本发明中的奖励函数由多个子奖励函数加权求和而成,即:
[0061] R(st,at)=ε+wg*Rg(st,at)+wc*Rc(st,at)+wf*Rf(st,at)+wv*Rv(st,at)[0062] 其中,ε=-0.5,用于引导机器人编队尽快到达目标点;wg=10,wc=1,wf=10和wv=5分别是对应子奖励函数的权重值。
[0063] Rg(st,at)用于引导机器人编队到达目标点。当机器人编队往目标点靠近时,返回一个正数作为奖励;当机器人编队远离目标点的时候,返回一个负数作为惩罚,其数学表达式为:
[0064]
[0065] 其中, 表示机器人编队几何中心在t时刻的位置,g表示目标点的位置。
[0066] Rc(st,at)用于引导机器人避免碰撞(碰撞包括机器人与机器人之间的碰撞以及机器人与障碍物之间的碰撞)。当碰撞发生时,给予机器人编队一个负数作为惩罚,其数学表达式为:
[0067]
[0068] Rf(st,at)用于引导机器人编队保持连通性。当机器人编队的连通性被破坏时(即机器人之间的距离超过阈值d=3.5m时),给予机器人编队一个负数作为惩罚。其数学表达式为:
[0069]
[0070] Rv(st,at)用于引导机器人平滑地运动。当机器人的运动方向发生变化时,该子奖励函数会给予机器人编队一个负数作为惩罚。其数学表达式为:
[0071]
[0072] 步骤3.设计策略网络和值网络。所设计出的网络结构要能够有效地处理原始观测数据。特别的,对于策略网络,还要求能够分布式地执行。
[0073] 策略网络的结构如图2所示,具体的:
[0074] 1.为了满足分布式执行的要求,编队级别的策略网络由多个机器人级别的策略网络构成。各个机器人利用机器人级别的策略网络,根据机器人级别的局部观察值计算出机器人级别的控制量。接下来通过将机器人级别的控制量拼接在一起,得到编队级别的控制量;
[0075] 2.由于本发明针对的是同构机器人,各个机器人都采用相同的控制策略,因此各个机器人级别的策略网络是共享参数的;
[0076] 3.机器人级别的策略网络可以分为特征提取模块和后续处理模块。
[0077] 其中,特征提取模块先对环境的原始感知信息oe以及其余机器人的位置om进行了处理提取对应子特征,然后将所得子特征与自身的当前速度ov以及目标点的位置og拼接在一起,最后通过全连接层提取总特征。在提取环境原始感知信息oe的子特征时,采用了卷积神经网络来高效处理二维激光雷达的点云数据;在提取其余机器人的位置om的子特征时,采用了一个顺序无关模块来保证所得子特征跟输入的顺序无关。在顺序无关模块中,首先采用一个共享的全连接层处理不同的子输入得到不同的子输出,然后将不同的子输出求平均,得到顺序无关模块的总输出。
[0078] 后续处理模块使用全连接层对特征提取模块得到的总特征进行进一步操作,最后得到机器人级别的控制量。
[0079] 值网络的结构如图3所示:
[0080] 值网络先采用特征提取模块(值网络的特征提取模块跟策略网络的特征提取模块相似)对不同机器人的观察值进行特征提取,然后将各个机器人的总特征求均值,最后通过全连接层得到价值评估。
[0081] 步骤4.利用基于行动者-评价家的强化学习方法,在机器人编队与仿真环境交互的过程中更新策略网络和值网络;其过程如图1所示:
[0082] S41.机器人编队从环境中获取观察值和奖励值;
[0083] S42.机器人编队根据观察值利用策略网络计算出控制量,并且执行;
[0084] S43.利用强化学习算法,根据交互信息:观察值、奖励值、控制量,对策略网络和值网络进行更新;
[0085] S44.重复步骤S41至S43。
[0086] 步骤5.在执行阶段分布式地使用策略网络进行导航。在执行的时候,各个机器人使用机器人级别的策略网络,根据自身的观察值计算出自身的控制量。
[0087] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。