一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

无标记复杂场景中的去中心化多智能体导航方法及系统与流程

2021-12-12 23:05:00 来源:中国专利 TAG:


1.本发明属于机器人导航技术领域,尤其涉及一种无标记复杂场景中的去中心化多智能体导航方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.无标记多智能体导航问题即机器人可以在若干目标点中任意选择一个作为自身规划目标进行导航,其作为一项基本任务,在移动机器人领域中有众多应用,如搜救、仓库搬运和清洁等。相比于多智能体导航的中心化实现,去中心化实现具有易于部署、稳定性高等优势,因此在近年来被广泛应用,产生了很多去中心化的导航方法。由于深度学习和深度强化学习的蓬勃发展极大地提高了去中心化导航的实时性和可行性,一个很自然的想法就是利用神经网络进行机器人信息处理和决策。在这其中,大多数方法使用机器人自身对环境的观测作为神经网络的输入,经过处理后输出机器人的控制信号。使用这样的思路进行神经网络的构建,结合模仿学习或者深度强化学习,从而使机器人可以进行快速有效的决策。
4.发明人发现,仅仅基于机器人对环境的观测进行决策是具有很多局限性的,容易在局部配置中做出错误的决策。在实际的场景中,环境往往是复杂且多变的,如果仅仅依靠传感器的局部观测,就只能完成小范围的避障。在这种情况下,如果基于全局环境来看,机器人的避障策略可能是完全错误的,如在迷宫中为了避障走入了一条不通的路,这就会导致多智能体导航在障碍物复杂的场景中的规划成功率降低。有一些方法利用完整的环境信息和机器人位置信息,结合图搜索算法,为每个机器人计算最优的目标分配和路径,再将路径指令下发给每个机器人,然而这类中心化方法往往在实际中难以进行实现,且如果信息传递链路或中心控制器损坏,整个系统就会瘫痪。


技术实现要素:

5.为了解决上述背景技术中存在的技术问题,本发明提供一种无标记复杂场景中的去中心化多智能体导航方法及系统,其通过对环境的几何分析设置路由器节点,然后利用机器人和路由器之间的多步信息传递和处理,使每个机器人可以了解到环境的全局信息和其他机器人状态,综合所有信息进行决策,从而取得了较高的导航成功率。
6.为了实现上述目的,本发明采用如下技术方案:
7.本发明的第一个方面提供一种无标记复杂场景中的去中心化多智能体导航方法,其包括:
8.获取各个机器人、路由器和目标点位置,再基于图神经网络得到各个机器人对应的初始控制信号;
9.获取各个机器人的传感器观测信息,再结合初始控制信号和各个机器人的位置,
经局部规划器得到各个机器人的最终控制信号。
10.进一步地,所述路由器位置的计算过程为:
11.获取环境图像;
12.对环境图像进行中轴变换和delaunay变换处理,计算路由器放置位置以及为每个环境构建路线网络。
13.进一步地,所述图神经网络使用模仿学习算法进行训练。
14.进一步地,所述图神经网络包含两类节点:机器人节点和路由器节点。
15.进一步地,所述图神经网络的训练数据集采用中心化的算法生成。
16.进一步地,所述局部规划器的训练数据集为局部避障数据集,使用障碍物规避算法生成。
17.进一步地,所述传感器观测信息包括:激光雷达传感器信息。
18.本发明的第二个方面提供一种无标记复杂场景中的去中心化多智能体导航系统,其包括:
19.初始控制信号生成模块,其用于获取各个机器人、路由器和目标点位置,再基于图神经网络得到各个机器人对应的初始控制信号;
20.最终控制信号生成模块,其用于获取各个机器人的传感器观测信息,再结合初始控制信号和各个机器人的位置,经局部规划器得到各个机器人的最终控制信号。
21.本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的无标记复杂场景中的去中心化多智能体导航方法中的步骤。
22.本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的无标记复杂场景中的去中心化多智能体导航方法中的步骤。
23.与现有技术相比,本发明的有益效果是:
24.本发明提供的去中心化多智能体导航方法,仅需对环境进行一次预处理获得路由器位置,之后不再需要全局信息,机器人依靠自身观测以及相互之间的信息传递进行各自的决策,易于部署。
25.本发明提供的去中心化多智能体导航方法,利用全局信息部署路由器,并通过机器人和路由器之间的多次信息传递使机器人了解更为全面的信息,基于全局特征进行动作选择和生成,从而避免了陷入局部特殊障碍物配置中的问题,显著提升在复杂障碍物场景中的规划成功率。
26.本发明提供的去中心化多智能体导航方法,旨在解决无标记问题,机器人在导航的过程中同时隐含地解决目标分配问题,在搜救、清洁、搬运等领域有更广泛的应用。
27.本发明提供的去中心化多智能体导航方法是一种完全基于学习的方法,在小规模机器人群体上进行一定程度的训练后,可以扩展到更大规模的机器人群体、其他复杂机器人动力学、新的复杂环境等情况进行应用,在多个重要方面具有良好的可扩展性。
28.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
29.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
30.图1为本发明实施例一提供的去中心化多智能体导航方法的流程示意图。
31.图2为本发明实施例一提供的环境预处理说明图。
32.图3为本发明实施例一提供的机器人信息交流示意图。
33.图4为本发明实施例一提供的局部避障神经网络结构图。
34.图5为本发明实施例一提供的仿真环境和现实场景规划结果图。
具体实施方式
35.下面结合附图与实施例对本发明作进一步说明。
36.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
37.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
38.实施例一
39.参照图1,本实施例提供了一种无标记复杂场景中的去中心化多智能体导航方法,其具体包括如下步骤:
40.s101:获取各个机器人、路由器和目标点位置,再基于图神经网络得到各个机器人对应的初始控制信号。
41.在具体实施中,所述路由器位置的计算过程为:
42.获取环境图像;
43.对环境图像进行中轴变换和delaunay变换处理,计算路由器放置位置以及为每个环境构建路线网络。
44.具体地,环境的预处理过程为:
45.在已知一个被表示为二维图片的环境时,对其进行处理从而计算出路由器的放置位置以及路线图是十分必要的,它们可以帮助机器人进行相互交流,同时可以提供给机器人有限的全局信息。假设给出一个环境图,本实施例对其进行预处理,计算出点集v和边集e,分别表示路由器的放置位置以及路由器的交流链路。预处理的目的即为使路由器位置数量尽可能小的同时,环境中的任何一个位置都能对至少一个路由器可见(若点p和路由器r之间的连线不和障碍物相交,则视为p对r可见)。
46.根据环境图计算一个中轴变换。中轴变换可以返回一个图,代表了环境无障碍物区域的骨架,表示为g

=<v

,e

>,如图2中黑色粗线所示。此图中的点集和边集可以作为预处理的一个初始解,用于后续的简化。
47.计算一个带约束的delaunay三角剖分,将环境的无障碍物区域划分为多个三角形t
i
,且这些三角形的边完全包含中轴变换得到的边集e

,如图2中的黑色细线所示。
48.简化点集v

。定义一个三角形t
i
对点x∈v

可见当且仅当t
i
和x的凸包不和任何障碍物碰撞。迭代尝试删除v

中的点:当一个v

中的点被移除之后,上一步delaunay三角剖分得到的所有三角形仍对v

中剩余的点可见,那么删除该点。如果v

中剩余的点都无法删除,那么点集的简化过程完成。
49.简化边集。使用原图g

中的最短路对简化后的v

进行点和点之间的连接,从而形成简化后的边集。至此,简化过程完成,点集为路由器的放置位置,边集为路由器之间的交流链路,简化后的图记为g=<v,e>
50.其中,所述图神经网络使用模仿学习算法进行训练。
51.本实施例所提出的训练数据生成算法是一种中心化的算法,可以计算出多个机器人的最优运动路径。该算法为中心化实现,同时由于计算效率不够高,难以部署应用,但十分适合用于生成模仿学习所需要的专家数据。
52.本实施例所提出的算法计算每一个时间步所有机器人需要采取的最优控制,通过所有机器人的多步运动形成完整的轨迹。在每个时间步k,所使用的算法包含如下步骤:
53.对于每个机器人位置x
i
,将其和图g中对其可见的所有点连接形成一条新边。对于每个目标位置t
j
,将其和图g中对其可见的所有点连接形成一条新边。将所有机器人点、目标点以及形成的新边加入图g,形成新图gr,该图包含所有机器人位置和目标位置,且所有机器人和所有目标被若干个边所连接。
54.使用dijkstra算法,计算每个机器人x
i
到每个目标t
j
的最短路,最短路长度记为e
ijk

55.需要求解的目标如下所示:
[0056][0057]
其中,i
ij
代表机器人x
i
是否分配给目标t
j
,若是,则i
ij
=1,反之i
ij
=0。则该公式即为求解n个机器人到n个目标的分配i
ij
,要求每一个机器人恰好分配得到一个目标点,同时最小化所有机器人到其对应目标的最短路总和。此问题可以使用匈牙利算法进行求解。
[0058]
根据上述得到的最短路和最优分配,对于每个机器人x
i
,沿着其到其对应目标的最短路使用目标导向控制算法进行一个固定步长的移动,即可得到当前时间步k应当采取的控制量u
ik
。注意,该控制量为全局最优的控制量,但并未考虑局部碰撞情况。因此,该控制量只能作为一个初始控制量,应当使用一个局部避障规划器进行进一步处理。在训练数据的生成过程中,局部避障利用rvo(reciprocal velocity obstacles)实现。而在最终部署中,将使用一个神经网络对其进行替代。
[0059]
使用上述方式可以根据一个已知的环境以及机器人位置、目标位置生成最优机器人控制轨迹。该算法将被用于模仿学习中的数据生成部分。
[0060]
本实施例所提出的图神经网络结构(gnn)包含两类节点:机器人节点和路由器节点,且使用模仿学习算法dagger进行训练。
[0061]
gnn由两个神经网络模块组成,分别表示为n
a
(h,δx,t,θ
a
),n
r
(h,δx,t,θ
r
):其中|h|为隐藏状态的大小。其中,n
a
被部署在机器人节点上,n
r
被部署在路由器节点上。另外,此处假设每个目标处被部署了一个和路由器节点完全相同的处理器,拥有同样的交流能力。神经网络模块中的h即为隐藏状态,编码了机器人之间进行交流的信
息,而θ表示神经网络的参数,所有机器人节点共享参数θ
a
,所有路由器节点共享参数θ
r
。δx表示了两个交流节点的相对位置;t是一个独热向量,代表了节点类型以及节点的状态。t有5种取值:若节点为机器人节点,且占据了某个目标,则t=e1;若节点为机器人节点,且未占据任何目标,则t=

e1;若节点为路由器节点,则t=e2;若节点表示某个目标位置且被某个机器人占据,则t=e3;若节点表示某个目标位置且未被机器人占据,则t=

e3。节点之间的信息交流如图3所示。
[0062]
在每个时间步k,节点的信息传递和处理过程如下公式所示;
[0063][0064]
其中,t
i
表示目标位置,r
i
表示路由器位置,a
i
表示机器人位置,d
l
为最大交流距离。定义了一个机器人是否占据某个目标,或者一个目标是否被机器人占据,是为1,反之为0。在每个时间步k,所有的节点会根据自身需要交流的邻居节点,将自身隐藏状态h、与即将交流节点之间的相对位置δx、自身节点类别t输入到节点神经网络,编码为一个信息向量,发送给对应的邻居节点。同时,每个节点将会接收到来自于多个不同邻居节点的信息向量。每个节点将这些信息向量综合起来,作为该节点下一个时间步的隐藏状态。
[0065]
gnn的训练过程遵循dagger算法(data aggregation)框架。该过程包含如下步骤:
[0066]
一、生成初始数据集。首先,生成d个环境配置;对于每个环境,随机生成机器人的初始状态和目标点;之后,在此环境中运行图神经网络训练数据生成算法h个时间步,即可得到一组完整的多机器人轨迹。需要注意的是,数据集中每个时间步记录的机器人控制量为初始控制量,而不是经过局部避障规划器处理后的控制量。用此数据集训练的神经网络并不包含局部避障模块。为了加速训练以及简化训练过程,对得到的数据集轨迹进行降采样,每隔h0步进行一次数据记录。
[0067]
二、利用初始数据集对图神经网络进行预训练,loss函数为:
[0068][0069][0070]
其中,n
u
为应用于机器人的一个神经网络,用于将隐藏状态转化为机器人控制量。u
*
表示神经网络输出得到的控制量,u表示的是数据集中的最优控制量。
[0071]
三、进行多次迭代。在每次迭代中,首先为数据集扩充数据:利用当前参数的图神经网络,在某个时间步k可以得到神经网络输出的机器人控制量同时,根据本实施例
第二部分中的图神经网络训练数据生成算法,可以得到同样状态下机器人的最优控制量u
i,k
。将二者使用一个逐步递减的混合参数β进行混合,得到一个新的控制量β初始值为1,每次扩充数据前进行一次衰减,衰减率为γ=0.94。在每一步都执行这样的混合控制量,结合局部避障规划器rvo,即可得到新的数据。将若干条新数据加入到数据集中,形成扩充后的数据集。之后,利用扩充后的数据集再次进行图神经网络的训练。之后重复迭代本步骤中的过程,直至loss收敛。
[0072]
s102:获取各个机器人的传感器观测信息,再结合初始控制信号和各个机器人的位置,经局部规划器得到各个机器人的最终控制信号。
[0073]
其中,所述局部规划器的训练数据集为局部避障数据集,使用障碍物规避算法生成。
[0074]
所述传感器观测信息包括:激光雷达传感器信息。
[0075]
本实施例使用一个神经网络实现局部避障规划器,使整个方案称为完全基于学习的方法。
[0076]
首先,利用rvo进行数据集的生成。在随机场景中随机生成机器人位置和控制量,记录该状态下的传感器状态、机器人位置以及控制量,利用rvo执行控制量,得到经过局部避障优化后的控制量,即可得到数据集。
[0077]
之后,利用该局部避障数据集进行局部避障神经网络的训练。网络结构如图4所示,网络输入为传感器信息和机器人初始控制量,输出为最终控制量。传感器信息经过多层一维卷积网络被编码为一个向量,该向量结合机器人控制量一同输入到一个全连接神经网络,得到最终控制量。loss函数为l2‑
loss。
[0078]
为了验证提出的方法的有效性可扩展性,在多个不同的方面进行了消融实验和扩展性实验,如局部避障网络的作用、信息交流范围的影响、不同机器人数量的影响、不同机器人动力学的影响以及在新的环境中的表现等,同时进行了一定程度的真机实验。
[0079]
评估指标:若某个机器人在一定数量的时间步内到达某个目标,称该机器人成功到达目标;若一个测试样例中所有机器人无碰撞,称该样例为无碰撞样例;若一个测试样例中所有机器人成功到达目标且无碰撞,称该测试样例为成功样例。
[0080]
本实施例中,使用三种指标评估了该方法的性能:
[0081][0082][0083][0084]
使用rvo作为局部避障规划器和使用局部避障神经网络的效果比较如表1所示。可以看到,rvo表现始终好于局部避障神经网络,因为rvo为数据集生成器。但局部避障神经网络的效果在成功率上只比rvo低11%左右,而在到达率上只比rvo低1%,证明局部避障神经网络仍然具有足够好的效果。
[0085]
表1 rvo和局部避障神经网络的表现比较
[0086][0087][0088]
机器人信息传递范围的比较实验:此处使用5个机器人进行信息交流测试,测试时限制机器人的最大交流范围,超过交流范围的两个节点将无法进行信息传递。如表2所示,随着信息交流范围的增大,规划成功率和机器人到达率均持续上升,表明信息交流是十分必要且有效的。
[0089]
表2机器人交流范围的影响比较
[0090]
信息交流范围2550100200300400500600700sr(rvo)0.00.0010.0350.3940.6310.830.8770.9280.912rr(rvo)0.2010.3740.5140.8170.9030.9570.9680.9810.979
[0091]
法在机器人数量和环境类别上的扩展性实验:如表3所示,方法在不同机器人数量、不同类型的环境中具有一定的扩展性,在机器人到达率的方面表现始终良好。在成功率方面,无论是否在训练集中出现过,方法在规则环境中的表现始终良好。然而,在不规则环境中的规划成功率最多降低了11%。添加不规则环境数据到数据集中也许可以缓解这个问题。另外,机器人数量增多的情况下路径的长度质量会有一定程度的下降。
[0092]
表3不同机器人数量、不同环境的规划效果比较
[0093]
[0094][0095]
在不同机器人动力学上的扩展实验:如表4所示,针对具有特定动力学的汽车型机器人进行了测试,训练和测试时均使用同一种动力学的机器人。可以看到,使用汽车型机器人和使用无动力学的点状机器人的规划表现仅有很小的差距,说明本方法具有良好的机器人动力学扩展性,可以应用于不同动力学系统的机器人。
[0096]
表4汽车型机器人上的表现测试
[0097]
机器人数量3579111315sr0.8860.8560.8150.8040.8010.6690.744to1.1421.1911.2501.2691.2441.2991.261
[0098]
仿真和物理实验:如图5所示,在仿真环境中以及真实场景中均进行了实验。图5中上面3幅图分别为点状机器人和规则场景、点状机器人和不规则场景、汽车型机器人和规则场景的规划效果。下面4幅图中左下方两幅图和右下方两幅图分别展现了两个不同场景配置中规划的初始状态和最终状态。物理实验使用了5个基于ros的nanorobot。为了简化网络交流,去中心化过程在一台主机上进行模拟,该主机向机器人发送控制指令,实时收到机器人返回的位置信息,并计算新的控制指令再次发送给机器人,从而控制机器人完整走完一条轨迹。
[0099]
实施例二
[0100]
本实施例提供了一种无标记复杂场景中的去中心化多智能体导航系统,其具体包括如下模块:
[0101]
初始控制信号生成模块,其用于获取各个机器人、路由器和目标点位置,再基于图神经网络得到各个机器人对应的初始控制信号;
[0102]
最终控制信号生成模块,其用于获取各个机器人的传感器观测信息,再结合初始控制信号和各个机器人的位置,经局部规划器得到各个机器人的最终控制信号。
[0103]
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0104]
实施例三
[0105]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处
理器执行时实现如上述所述的实现如上述实施例一所述的无标记复杂场景中的去中心化多智能体导航方法中的步骤。
[0106]
实施例四
[0107]
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的无标记复杂场景中的去中心化多智能体导航方法中的步骤。
[0108]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0109]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献