一种多机器人调度系统的路径搜索方法与流程

文档序号:14509470阅读:274来源:国知局

本发明属于多机器人设计领域,尤其涉及一种多机器人调度系统的路径搜索方法。



背景技术:

目前,随着新技术的快速发展,机器人的应用也越来越广泛,同一地图中的机器人数量可能超过一台。每台机器人执行各自的任务,通常需要从起始位置(起点)移动到目标位置(终点)。上述的地图中分配了多个节点,在该地图中的所有机器人的路径规划只能通过节点进行设定,机器人通过节点进行位置移动。

机器人在从起点移动到终点时,其路径很多,但是这些路径与其他机器人移动的路径可能发生交叉,甚至重合。因此需要一个统一的机器人调度系统对机器人的移动路径进行统筹,以防止发生碰撞等情况。

由于调度系统需要对每一台机器人的路径进行搜索与分配,随着机器人数量的增加,算法将越来越复杂,但重要性却越来越重要。

现有技术中已经提出了多种路径搜索方法,包括Dijkstra算法,A*算法和BFS算法。

其中,Dijkstra算法在一个带权有向图G=(V,E)中搜索从起点到终点的最短路径,其把图中节点集合V分成两组,第一组为已求出最短路径的节点集合S,初始时节点集合S中只有一个源点v,即起点,以后每求得一条最短路径,就将对应的节点加入到节点集合S中,直到全部节点都加入到节点集合S中,算法就结束了;第二组为其余未确定最短路径的节点集合U,按最短路径长度的递增次序依次把节点集合U节点加入节点集合S中。在加入的过程中,总保持从源点v到节点集合S中各节点的最短路径长度不大于从源点v到节点集合U中任何节点的最短路径长度。此外,每个节点对应一个距离,节点集合S中的节点的距离就是从源点v到此节点的最短路径长度,U中的节点的距离,是从源点v到此节点只包括节点集合S中的节点为中间节点的当前最短路径长度。

A*(A Star)算法是一种启发式搜索算法,所谓启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量不必要的搜索路径,大大提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价方法(如时间、长度等)可以有不同的结果。

BFS(Breadth First Search)算法并不使用经验法则算法。从算法的观点,所有因为展开节点而得到的子节点都会被加进一个先进先出的队列中。一般的实验里,其邻居节点尚未被检验过的节点会被放置在一个被称为open的容器中(例如队列或是链表),而被检验过的节点则被放置在被称为closed的容器中。通过依次检验open容器中的节点,从而遍历所有结点。

但是,以上算法都各有缺点:

Dijkstra算法计算量大,可以算出最短路径,但不一定是最优解。

A*算法计算规模虽小,但不一定是全局最优解,而且不一定是最短路径,并且不支持多路径寻找。

BFS算法是节点的遍历,只单纯列出可能的路径,不评判优劣。

因此,设计一个既能尽量提高机器人的移动速率,又能防止机器人之间的碰撞或阻挡等事故的多机器人调度系统的路径搜索方法显得非常迫切。



技术实现要素:

为了解决现有路径搜索方法的问题,本发明提出了一种多机器人调度系统的路径搜索方法。

本发明采用的技术方案如下:

一种多机器人调度系统的路径搜索方法,根据每一个机器人的起始节点和目标终点,通过以下步骤进行路径搜索:

1)建立Close集合和Open集合,两个集合起始为空;

2)输入机器人的起点,并将所述起点节点放入Close集合;

3)判断Close集合中是否有未被标记的路径或节点,如果没有则转到步骤9;否则从Close集合里取出一个未被标记的路径或节点,对该路径或节点按照短路径列表进行路径扩展;然后标记该路径或节点。

4)判断每一条扩展后的路径是否到达目标终点,若是,则保存该扩展后的路径作为一条目标路径;若否,则将该扩展后的路径放入Open集合中;

5)判断Close集合中是否还有未被标记的路径或节点,如果有,则返回步骤3,否则继续执行下列步骤;

6)将Open集合中的所有路径放入Close集合中作为未标记路径,并将Open集合清空;

7)判断目标路径的数量是否达到预定数量,如果达到预定数量,则转到步骤9;

8)判断是否达到搜索限制,如果达到搜索限制,则转到步骤9,如果没达到搜索限制,则返回步骤3;

9)输出所有目标路径的集合,结束计算。

其中,步骤3中路径扩展的具体步骤如下:

3.1)如果需要做路径扩展的是一个未标记的路径,则将该路径的最后一个节点作为扩展节点,如果需要做路径扩展的是一个未标记的节点,则就将该节点作为扩展节点。

3.2)取出短路径列表中的一条短路径。

3.3)判断该短路径两端的两个节点中是否有一个节点与扩展节点为同一个节点,如果有,则把另一个节点追加到扩展节点之后,与扩展节点连接,从而形成一条新的路径作为一条扩展后的路径;

3.4)重复步骤3.2-3.3,直至遍历完短路径列表中的所有短路径。

3.5)输出所有扩展后的路径。

优选的,在进行路径扩展后,还会对所述路径的信息进行统计。

优选的,所述搜索限制是计算时间、计算次数等反应计算量的数值的预设值。

优选的,所述搜索限制是步骤3被循环执行的预定次数。

优选的,所述搜索限制是路径搜索方法被执行的预定时间。

优选的,所述搜索限制是Close集合的预设大小。

优选的,所述短路径列表是预先设计的短路径的集合。

优选的,所述路径还会按照上述路径的信息进行排序。

优选的,所述机器人的导航方式是视觉导航、激光雷达导航、磁条导航等导航方式。

本发明的有益效果:使机器人适合场景增多,导航方式可适合于各种形式。传统的算法都是针对节点进行运算,而节点必须以XY坐标系来表示,遇到磁信号导航就不方便了,适应所有导航方式。解决广度遍历慢的问题,BFS算法因为搜索越到后期,需要空间越多(扩展路径变多了),也间接增加了耗时,设定限制条件后,只要满足预设需要就退出搜索,极大节省了搜索时间。当最优路径不可行,则绕行避免多车冲突;这由实际问题发展而来,有时候由于实际地形较为简单,如果不绕行,则没有多余路径可以选择,机器人就会面临无路径的状态,绕行之后可以在时间上错开从而避免冲突。

【附图说明】

此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:

图1是本发明路径搜索方法的基本流程图。

【具体实施方式】

本发明的目的是提供一种多机器人调度系统的路径搜索方法,即可以尽量提高机器人的移动速率,又能防止机器人之间的碰撞或阻挡等事故。

本发明中的节点是指地形元素里最基础的元素之一,视做地图里的一个坐标点。

短路径是指地形元素里最基础的元素之一,由两个节点连接形成,在这条短路径上,上述两个节点之间不存在任何其他节点。

全路径是指起点和终点由输入参数指定,在起点和终点间,经过一系列节点和短路径所形成的路径,但这些节点不能重复。

路径是2个节点之间的行走途经线,有短路径,全路径等。

导航方式主要指的是适合于机器人导航的视觉导航、激光雷达导航、磁条导航等。

在进行路径搜索之前,首先需要获取机器人的起点和终点,并且已经预先设计和建立了整个系统地图的所有节点和短路径,所有预先设计的短路径的集合构成短路径列表。

参考图1,在多机器人系统中,当需要为一个机器人搜索其路径时,通过本发明的多机器人调度系统的路径搜索方法进行搜索,具体步骤如下:

1)建立Close集合和Open集合,两个集合起始为空;

2)输入机器人的起点,并将所述起点放入Close集合;

3)判断Close集合中是否有未被标记的路径或节点,如果没有则转到步骤9;否则从Close集合里取出一个未被标记的路径或节点,对该路径或节点按照短路径列表进行路径扩展;然后标记该路径或节点;

4)判断每一条扩展后的路径是否到达终点,若是,则保存该扩展后的路径作为一条目标路径;若否,则将该扩展后的路径放入Open集合中;

5)判断Close集合中是否还有未被标记的路径或节点,如果有,则返回步骤3,否则继续执行下列步骤;

6)将Open集合中的所有路径放入Close集合中作为未标记路径,并将Open集合清空;

7)判断目标路径的数量是否达到预定数量,如果达到预定数量,则转到步骤9,否则继续执行下列步骤;;

8)判断是否达到搜索限制,如果达到搜索限制,则转到步骤9,如果没达到搜索限制,则返回步骤3;

9)输出所有目标路径的集合,结束计算。

在本实施例中,步骤3需要对一个未标记的路径或节点做路径扩展,所述路径扩展的具体步骤如下:

1)如果需要做路径扩展的是一个未标记的路径,则将该路径的最后一个节点作为扩展节点,如果需要做路径扩展的是一个未标记的节点,则就将该节点作为扩展节点。

2)取出短路径列表中的一条短路径。

3)判断该短路径两端的两个节点中是否有一个节点与扩展节点为同一个节点,如果有,则把另一个节点追加到扩展节点之后,与扩展节点连接,从而形成一条新的路径作为一条扩展后的路径;

4)重复步骤2-3,直至遍历完短路径列表中的所有短路径。

5)输出所有扩展后的路径。

根据本发明的一个实施例,在进行路径扩展后,还会对所述路径的信息进行统计,如路径的长度或者时间戳。

根据本发明的一个实施例,所述路径还会按照上述路径的信息进行排序。因此,输出的目标路径也是经过排序的,机器人可以按照顺序选择可用的目标路径。

根据本发明的一个实施例,上述搜索限制主要为了防止计算时间过长,可以根据需要事先设定,具体的,可以是计算时间、计算次数等反应计算量的数值的预设值。例如:可以设定搜索限制是步骤3被循环执行的次数,当循环执行预定次数后,无论找到多少目标路径都结束算法。或者,还可以设定搜索限制是Close集合的预设大小。或者,还可以设定是算法执行的预设时间,等等。

本发明提出的路径搜索方法,使用在多机器人调度系统中。在多机器人调度初始,需要对于每一个机器人规划路径,这些路径不是任意自由空间的节点组合的,而是由一系列预置短路径组合而成的目的路径(短路径设定目的是使机器人适合于各种信号的导航方式),这样的目的路径有许多条,通过本方法,可以在短时间内(50ms)找出最优的若干条目的路径并形成集合输出,供后续算法在原路径阻塞的情况下有其他路径可以选择。

以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1