CN116625378A - 一种跨区域路径规划方法及系统、存储介质 - Google Patents
一种跨区域路径规划方法及系统、存储介质 Download PDFInfo
- Publication number
- CN116625378A CN116625378A CN202310882244.6A CN202310882244A CN116625378A CN 116625378 A CN116625378 A CN 116625378A CN 202310882244 A CN202310882244 A CN 202310882244A CN 116625378 A CN116625378 A CN 116625378A
- Authority
- CN
- China
- Prior art keywords
- path
- cross
- algorithm
- regional
- buffer
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 85
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 239000003795 chemical substances by application Substances 0.000 claims description 29
- 238000004140 cleaning Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种跨区域路径规划方法及系统、存储介质,方法步骤包括:S100以连接通道为起点,解析所有拓扑节点到达起点的最短路径长度,获取跨区域启发项,建立AA*算法;S200为MAPF建立A、B缓存区,缓存相同区域路径及跨区域路径;S300执行查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入,反之返回结果;S400执行查询指令,当未在B缓存区中查得对应路径时,执行S300,以从A缓存区获取最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”,V”),之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区中;反之返回结果。籍此实现跨区域路径规划。
Description
技术领域
本发明涉及导航路径规划技术,尤其涉及一种跨区域路径规划方法及系统、存储介质。
背景技术
随着移动机器人被广泛的应用于各种自动化生产环节,如何引导移动机器人可靠的往返于任务起止点,是确保无人化自动作业的关键。例如移动机器人在多楼层、多区域的作业场景下作业时,由于存在空间资源上的冲突,包括当前区域的冲突以及不同区域间连接通道的冲突(如廊桥、电梯与提升机等),由此使得移动机器人在面对跨区域路径规划时,需要考虑如何化解这些空间资源冲突问题,并使得连接通道资源分配尽可能达到最优化。
为此,发明人考虑先将不同的楼层或区域抽象成一个独立的节点,再将连接通道(廊桥、电梯和提升机等)抽象为边,以此构成一个标准的有向图模型;即先计算智能体(即包括各种具备人工智能,并通过传感器感知环境,且具有移动能力的机器人)到达某个连接通道的代价,再计算从这个连接通道到达其他连接通道的代价,最终计算当前连接通道到达指定目标点的代价,即可得到从某一点到达指定目标点的最优路径。
然而该方案仍然存在一些缺陷,例如:无法直接搜索跨楼层最短路径,通常在同一区域的最短路径,会直接应用A*(A-Star)算法,但是由于不同楼层不同区域的坐标系在实际生成中,大多是不同的,且无法找到严格的数学映射关系,导致无法使用传统的曼哈顿距离等经典的启发项,最终会使得A*算法搜索跨楼层路径时退化成Dijkstra算法。这会让整个架构的算法复杂度上升一个数量级。
因此,基于上述问题,使得该方案无法与MAPF(Multi-agent Path Finding)算法形成结合,究其原因,多智能体调度中,需要实时修改机器人的规划路径,甚至可能会修改最终目标点,在这种情况下,由于上述问题的存在,将无法保证规划的稳定性,如对上一次规划路线继承的特性,以及防止智能体在多个连接通道之间反复横跳等问题。
发明内容
为此,本发明的主要目的在于提供一种跨区域路径规划方法及系统、存储介质,以解决背景技术中提到的相关技术问题。
为了实现上述目的,根据本发明的第一个方面,提供了一种跨区域路径规划方法,步骤包括:
步骤S100,在Dijkstra迭代架构下,输入反向的邻接表,以连接通道为起点,解析所有拓扑节点到达起点的最短路径长度,获取跨区域启发项,以替换A*算法原启发项,建立AA*算法;
步骤S200,为MAPF算法建立A、B缓存区,分别缓存相同区域路径及跨区域路径;
步骤S300,依据起点S与终点D执行路径查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入A缓存区;反之则返回查询结果;
步骤S400,依据起点S、终点D及智能体编号X执行路径查询指令,当未在B缓存区中查得对应路径时,执行步骤S300,以从A缓存区获取对应起终点之间的最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”, V”),其中E”需根据当前连接通道分配情况进行修正,之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区中;反之则返回查询结果。
在可能的优选实施方式中,其中A、B缓存区设定了清理目标,当触发时,则按先进先出的顺序进行清理,所述清理目标包括:定期清理、根据设定的存储容量上限清理中的至少一种。
在可能的优选实施方式中,其中步骤S400中根据当前连接通道分配情况,对E”进行修正的步骤包括:
步骤S410计算起点到所有连接通道的距离,当任一连接通道被占用时,为其添加对应等待耗时的路径长度;
步骤S420根据步骤S410修正起终点之间各条路径的总长度,获取修正后的最短路径E”。
在可能的优选实施方式中,所述的跨区域路径规划方法,步骤还包括:步骤S500当执行路线调整时,删除A、B缓存区内对应的路径。
在可能的优选实施方式中,其中连接通道包括:廊桥、电梯或提升机中的至少一种。
对应上述方法,根据本发明的第二个方面,还提供了一种跨区域路径规划系统,其包括:
存储单元,用于存储包括如上任一所述跨区域路径规划方法步骤的程序,以供处理单元,通信单元适时调取执行;
处理单元,用于根据输入的起点S、终点D及智能体编号X,在B缓存区执行第一路径查询指令,当未在B缓存区中查得对应路径时,依据起点S与终点D在A缓存区执行第二路径查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入A缓存区后反馈第二路径查询结果;反之则直接返回第二路径查询结果;之后从A缓存区获取对应起终点之间的最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”, V”),其中E”需根据当前连接通道分配情况,进行修正,之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区后反馈第一路径查询结果;反之则直接返回第一路径查询结果;
通信单元,用于根据智能体编号X向对应智能体发送第一路径查询结果。
在可能的优选实施方式中,其中根据当前连接通道分配情况,对E”进行修正的步骤包括:
处理单元,计算起点到所有连接通道的距离,当任一连接通道被占用时,为其添加对应等待耗时的路径长度;然后根据修正后的起终点之间各条路径的总长度,解析出最短路径E”。
在可能的优选实施方式中,所述的跨区域路径规划系统,其中还包括:
清理单元,用于根据预设的时间周期、存储容量上限中的至少一种清理目标,对A、B缓存区按先进先出的顺序进行清理。
在可能的优选实施方式中,所述的跨区域路径规划系统,其中还包括:调整单元,用于当执行路线调整时,删除A、B缓存区内对应的路径。
对应上述方法,根据本发明的第三个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上任一项所述跨区域路径规划方法的步骤。
通过本发明提供的该跨区域路径规划方法及系统、存储介质,提出了一种A*算法的改进方案,通过改进A*算法的启发项,解决了A*算法在不同区域中,不同坐标系下会导致算法收敛性能下降的问题。使得改进后的AA*算法能够处理不同楼层区域、不同坐标系导致启发项失效的问题,从而能够以接近原先的A*计算复杂度实现跨区域的最短路径规划。
同时,本发明还提出了双缓存结构,使得MAPF算法在大量的重复路径搜索时具备更高的性能,使得MAPF算法能够更快速、并且动态的求解联合路径,并具备允许动态修改路径重新规划的能力。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为发明提供的该跨区域路径规划方法的步骤示意图;
图2为发明提供的该跨区域路径规划方法中的跨楼层地图拓扑示意图;
图3为发明提供的该跨区域路径规划系统结构示意图。
具体实施方式
为了使本领域的技术人员能够更好的理解本发明的技术方案,下面将结合实施例来对本发明的具体技术方案进行清楚、完整地描述,以助于本领域的技术人员进一步理解本发明。显然,本案所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思及相互不冲突的前提下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的揭露及保护范围。
此外本发明的说明书和权利要求书及附图中的术语“第一”、“第二”、“S100”、“S200”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里描述的那些以外的顺序实施。同时本发明中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。除非另有明确的规定和限定,术语“设置”、“布设”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况,结合现有技术来理解上述术语在本案中的具体含义。
请参阅图1至图2所示,本发明提供的该跨区域路径规划方法,步骤包括:
步骤S100,在Dijkstra迭代架构下,输入反向的邻接表,以连接通道为起点,解析所有拓扑节点到达起点的最短路径长度,获取跨区域启发项,以替换A*算法原启发项,建立AA*算法。
具体来说,对于A*(A-Star)算法,其使用Dijkstra算法的框架进行迭代,节点拓展的代价函数被定义为:f(x) = g(x) + h(x),其中 h(x) 是启发项,通常情况下使用曼哈顿距离等可直接用坐标计算值,因为只有这样,复杂度O(1) 才不会让算法损失性能。
但是对于多楼层多区域时,坐标不是准确的,因为不同的区域坐标系可能不同,所以此时 h(x) 会变得没有意义,算法会退化成Dijkstra原始的形式(即 h(x) 等于0时)。所以经典的A-Star算法无法直接以原先的性能,求解出跨楼层跨区域的最短路径。
为此,本发明考虑通过Dijkstra迭代的架构,输入反向的邻接表,以连接通道为起点,可以得到一个关于所有拓扑点位的拓展表,根据此表的解析,可以得到所有拓扑点位到达该起点的最短路径,此时可用一个新的列表记录每个拓扑点位到达连接通道的最短路径的长度,并用来替换A-Star算法启发项失效时的情况,即当同一区域时,使用曼哈顿距离、不同区域时,使用上述列表中的距离。
此时,跨楼层规划路径时,算法的收敛依旧会被加速,会倾向先搜索到连接通道,而一旦到达连接通道,便可以使用另一区域准确的坐标了,算法的性能便不会退化为Dijkstra算法的复杂度。除此之外,由于到达连接通道的距离必定小于到达目标点的距离,此时A-Star算法依旧是满足收敛条件而稳定收敛。
举例来说,对于最短路算法,假设有:图 G(E,V),其中E边,V是拓扑节点;最短路 P(E) 或 P(V),二者可以等价转换,如果存在起点S与终点D,那么对于一个最短路算法 F,有P(V) = F(G, S, D)。若 P(V) = {1, 2, 3},则其代表一条路径,从节点1出发,通过节点2,最终到达节点3,以此类推。
对于Dijkstra算法,调用形式为 P = Dijkstra(G, S, D),其在搜索过程中,能够得到两个中间临时变量,均为列表类型,T(V) 与 Q(V),其中 T(V) 的含义是起点S到达节点V的最短路径的代价(长度);Q(V) 的含义是一条从起点S出发,到达节点V的以V为结尾的最短路的倒数第二个节点;若 F(G, 1, 8) = {1, 3, 5, 8},则 Q(8) = 5,Q(5) = 3,以此类推。
Dijkstra的算法流程如下:
1)输入起点S,终点D,图G(E,V);
2)初始化,对于任意 v ∈ V,T(v) = ∞,Q(v) = v,额外初始化起点,T(S) = 0;
3)初始化,返回路径 P 设置为空,拓展表O = V;
4)循环,对于任意 v ∈ O,a = argmin T(v),将 a 从 O 中删除;
5)循环,对于任意 E(a,b) ∈ G(E,V),f(b) = T(a) + E(a,b),如果 f(b) < T(b),则令Q(b) = a 且T(b) = f(b);
6)如果此时 a 不是终点并且 O 不为空,则转4),否则转7);
7)计算 P = [Q(a), P],a = Q(a),[ ] 是拼接操作,此时如果 a 是起点S,转8),否则转7);
8)输出 P,退出算法。
对于A-Star算法,其调用形式与算法流程和Dijkstra基本一致,但在拓展节点时增加了一个启发项,将例一第5)步中的 f(b) 表达式修改为:f(b) = T(a) + E(a,b) + h(b,D);其中h是启发项,通常使用曼哈顿距离。
而本发明中,当判断需要跨区域时,则使用AA*算法:f’(b) = T(a) + E(a,b) +h’(b),其中h’(b) 是需要跨区域时的启发项,代表任意节点到连接通道的最短距离。
对于改进后,需要跨区域时的AA*启发项 h’(b),其初始化算法如下:
1)初始化,对于任意 v ∈ V,h’(v) = ∞;
2)初始化,构造全反向的G’,对于任意 E’(a,b) ∈ G',必定有 E(b,a) ∈ G 且E’(a,b) = E(b,a);
3)初始化,对于任意 a ∈ V 且 a 是一个连接通道(如廊桥、电梯等),拓展表O ={a};
4)随机抽样 s ∈ O;
5)计算,T = Dijkstra(G’, s, ∞);无穷代表不输入终点,Dijkstra算法迭代至其自身拓展表变成空为止;
6)循环,对于任意 v ∈ V,h’(v) = min{ h’(v), T(v) };
7)将s从O中删除;若O不为空,转至4),否则转至8);
8)输出 h’,退出算法。
如图2所示为图 G(E,V),节点5、6为电梯时,起点选5,得到的是其他所有点位到它的最短路径E’(b, a),当用这个当做跨楼层时的启发项,效果就是,算法拓展点位时,会尽可能地拓展距离5与6更近的点位,达到加速效果。
例如,h’(3) = 2, h’(1) = 4, h’(2) = 5,虽然2与6直接相连,但是他距离5电梯更近,这时只需要查询所有电梯,每个点位取最小值即可达到。假设此时需要1-4的最短路,因为不跨楼层,此时的A*启发项是曼哈顿距离,如果需要1-8的最短路,跨了楼层,所以此时A*在拓展到跟8一致楼层的点位之前,都是使用h’作为启发项。是否启用改进的启发项,取决于,当前被拓展的点位,跟目标点是否是同一楼层。
至此,即可了解A-Star算法改进后的AA*算法,当拓展节点与目标点在同一区域时,使用h作为启发项,否则,使用h’作为启发项,克服了不同坐标系导致启发项失效的难题。显然,启发项h’的本质是拓展节点到达某个连接通道的最短距离,其必定小于拓展节点先通过连接通道再到达任务终点的距离,所以满足A-Star算法的收敛条件,该改进算法必定收敛到全局最优解。
步骤S200,为MAPF算法建立A、B缓存区,分别通过哈希表A、B缓存相同区域路径及跨区域路径;
步骤S300,依据起点S与终点D执行路径查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入A缓存区;反之则返回查询结果;
步骤S400,依据起点S、终点D及智能体编号X执行路径查询指令,当未在B缓存区中查得对应路径时,执行步骤S300,以从A缓存区获取对应起终点之间的最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”, V”),其中E”需根据当前连接通道分配情况进行修正,之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区中;反之则返回查询结果。
具体来说,基于搜索的MAPF算法,其内部是通过大量的搜索,不断地生成新的路径,判断联合路径的冲突情况,并基于特定方式不断优化,最终找到没有冲突,且代价尽可能小的联合路径。因此MAPF本身的计算方式,是在其内部需要大量计算任意两点之间的最短路径。因此如果我们能提供更高性能的,计算两点之间路径的算法,那么就能够以相同数量级提升MAPF算法本身的性能,这便是基于搜索的MAPF算法的特性。
考虑这样一个问题,如果一个实际应用场景,存在10000个拓扑点位,那么想要将所有最短路径都提前缓存下来,需要的存储空间上界为10000*10000*10000个int,大约是3725 GB,此时MAPF算法达到性能上限,因为对于任意两点间最短路径,他都可以通过哈希查表的方式直接查找到。但是这样大小的内存,实际生产中基本很难达到。就算达到了,空间复杂度 O(N^3) 过于巨大,拓扑点位每增加2倍,内存需要的空间就需要增长8倍,这需要我们设计更高效地缓存结构,以支持MAPF算法快速搜路的需求。
为此本发明巧妙的设计了双缓存结构,对于A缓存区,其提供相同区域的路径规划结果,而B缓存区,则根据实时的跨区域调度需求调整跨区域的路径规划结果,从而能够用有限的内存资源,达到非常优秀的最短路规划加速性能。
例如:对于A缓存区,对其输入起点S与终点D,返回的是对应的最短路径P。首先搜索哈希表A,查找元素H(S,D) 是否存在,如果存在则直接返回对应的路径,复杂度为 O(1);若不存在,则调用先前AA*算法,复杂度为O(N^2),得到最优路径并缓存到对应的哈希表A中。此外在优选示例中,当哈希表A的元素数量超过设置存储容量上限、或到了清理周期时,可将最先缓存的一半数据删去,即可滚动刷新A缓存区。
A缓存区算法示例流程如下:
1)输入起点S,终点D;
2)查找哈希表A,若存在对应的最短路径,则返回,否则转3);
3)调用A-Star算法得到最短路径,将其添加到哈希表中;
4)若哈希表的容量超过设定的上限,则按先进先出的顺序,将一半的元素删除;
5)返回最优路线,退出算法。
对于B缓存区,对其输入起点S、终点D以及智能体编号X,返回的是跨楼层的一条路径P。与A缓存区不同,B会首先查找哈希表B,查找元素 H(S,D,X) 是否存在,如果存在则直接返回对应的路径,复杂度为 O(1),若不存在,则会根据连接通道和相关其他智能体的分配情况规划路径,复杂度为 O(NM^2),其中N是地图拓扑点位数量,M是连接通道数量。
B缓存区算法示例流程如下:
1)输入起点S,终点D,智能体编号X;
2)查找哈希表B,若存在对应的最短路径,则返回,否则转3);
3)构造图G’’(E’’, V’’),E’’是节点之间的最短路径,均通过A缓存区得到,V’’是连接通道与起终点的集合;
4)根据当前的连接通道分配情况(与X相关),修改对应的E''中的元素;
5)调用AA*(G’’, S, D) 得到跨区域的最优路线,将其添加到哈希表B中;
6)若哈希表的容量超过设定的上限,则按先进先出的顺序,将一半的元素删除。
7)返回最优路线,退出算法。
由此,当智能体通过连接通道后,刷新B缓存区相关的记录、想要跨区域时新增记录,以及故障或其他人为修改线路时均可刷新,因此,B缓存区返回的路径,必定是联合规划里的最优路线,同时也会满足实际应用中动态修改的需求。
此外值得一提的是,上述提出的AA*算法及A、B缓存区方案,可以有机的结合MAPF算法,从而得到一个非常易于多线程的路径规划器。如对于相同区域使用缓存A,跨区域使用缓存B,从而能够以非常低的计算复杂度,得到需要求解的具体最短路径,可以近似等价于1秒内调用10的6次方次A-Star算法而得到的信息量,而单纯地直接调用A-Star算法,由于复杂度过高,且存在多次重复运算,使用传统的方法会降低至少两个数量级,而本方法可以使得MAPF算法能够更快速、并且动态的求解联合路径。
此外,为了实现连接通道资源分配情况的动态修改效果,在优选示例中,可在步骤S400中根据当前连接通道分配情况,对E”进行修正,其步骤包括:
步骤S410计算起点到所有连接通道的距离,当任一连接通道被占用时,为其添加对应等待耗时的路径长度;
步骤S420根据步骤S410修正起终点之间各条路径的总长度,获取修正后的最短路径E”。
举例来说,如图2所示,假设一个多智能体的场景,智能体X需要搜索1-10的路线,向哈希表B申请1-10,最开始B为空,此时判断为跨楼层,故调用AA*算法,AA*算法的点,除了起点与终点外,都必须是电梯(即连接通道)。此时,从1开始拓展,一共有两个节点,分别是5和6,那么1-5和1-6,与普通A*不同,普通的A*点之间就是邻接表内部的值,而1-5的值不能从邻接表里查,需要从哈希表A中查,如果查不到就必须用A*算法进行计算。最后再从点位5拓展到点位10,通样是通过哈希表A得到。
所以,1-10在哈希表B中,本质上是一个只有四个节点(1、5、6、10)的图,点之间的邻接表,使用了哈希表A进行替代。现在假设X决定自己要通过电梯5,他需要更新电梯的使用情况(即占用了5),此时,智能体Y要查询2-9的最短路线,在5没有被占用时,Y一样会搜到经过5的最短路径,但因为5已经被X声明要通过,此时哈希表B中所有新的路径,需要拓展到电梯5这个节点时,都需要加上一个通过的延时,假设通过电梯需要一分钟,那么需要将这一分钟转换成对应的路径长度,并加到搜索过程中,此时通过电梯6就变成了更短的路径,于是Y会选择电梯6。
好比智能体声明要通过哪个电梯时,就将哪一个电梯的通行计数增1,通过后减1,即可达到动态修改的目的。通过双缓存结构,能够实时地适应多智能体同时快速查询最短路的需求。并且,该结构,随时可以重新搜路。如果哈希表B中的相关数据需要修改,那么只需要修改那一部分即可,其他未改动部分,均可以高效地直接返回结果。
如此一来,当连接通道被占用时,仅需将任一连接此路径所需等待时间的时间权重,转换为路径长度加入到路径总长度中,这样就可以使算法为其改变路径调度到与其最短的连接通道路径上,从而实现连接通道资源的动态分配。
另一方面,当出现临时修改路线,机器人故障造成阻塞等因素存在某些路径上时,为了具备动态修改路径并重新规划的能力,所述的跨区域路径规划方法,步骤还包括:
步骤S500,当执行路线调整时,删除A、B缓存区内对应的路径,这样便可让智能体在路径规划时避开这些需要调整的路径,从而变相达到动态修改路径重新规划的能力,而这个能力也是基于本案提出的A、B缓存区的方案。
此外由于双缓存结构设计,使得MAPF可以快速地搜索任意两点之间的动态最短路,能够在一秒内达到百万次搜索。在实际的项目中,可以支持上万拓扑点位、多楼层、100台AGV的跨楼层联合路径规划,能够动态响应,平均1.5秒就能让所有智能体完整规划一次(每1.5秒都可以全部重规划一次,保证路径实时有效性)。
另一方面,对应上述方法,如图3所示,本发明还提供了一种跨区域路径规划系统,其包括:
存储单元,用于存储包括如上任一所述跨区域路径规划方法步骤的程序,以供处理单元,通信单元适时调取执行;
处理单元,用于根据输入的起点S、终点D及智能体编号X,在B缓存区执行第一路径查询指令,当未在B缓存区中查得对应路径时,依据起点S与终点D在A缓存区执行第二路径查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入A缓存区后反馈第二路径查询结果;反之则直接返回第二路径查询结果;之后从A缓存区获取对应起终点之间的最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”, V”),其中E”需根据当前连接通道分配情况,进行修正,之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区后反馈第一路径查询结果;反之则直接返回第一路径查询结果。
通信单元,用于根据智能体编号X向对应智能体发送第一路径查询结果。
在可能的优选实施方式中,其中根据当前连接通道分配情况,对E”进行修正的步骤包括:
处理单元,计算起点到所有连接通道的距离,当任一连接通道被占用时,为其添加对应等待耗时的路径长度;然后根据修正后的起终点之间各条路径的总长度,解析出最短路径E”。
进一步的,所述的跨区域路径规划系统,还包括:
清理单元,用于根据预设的时间周期、存储容量上限中的至少一种清理目标,对A、B缓存区按先进先出的顺序进行清理。
进一步的,所述的跨区域路径规划系统,还包括:调整单元,用于当执行路线调整时,删除A、B缓存区内对应的路径。
另一方面,对应上述方法,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上任一项所述跨区域路径规划方法的步骤。
综上所述,通过本发明提供的该跨区域路径规划方法及系统、存储介质,提出了一种A*算法的改进方案,通过改进A*算法的启发项,解决了A*算法在不同区域中,不同坐标系下会导致算法收敛性能下降的问题。使得改进后的AA*算法能够处理不同楼层区域、不同坐标系导致启发项失效的问题,从而能够以接近原先的A*计算复杂度实现跨区域的最短路径规划。同时,本发明还提出了双缓存结构,使得MAPF算法在大量的重复路径搜索时具备更高的性能,使得MAPF算法能够更快速、并且动态的求解联合路径,并具备允许动态修改路径重新规划的能力。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本领域技术人员可以理解,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
此外实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。
Claims (10)
1.一种跨区域路径规划方法,步骤包括:
步骤S100,在Dijkstra迭代架构下,输入反向的邻接表,以连接通道为起点,解析所有拓扑节点到达起点的最短路径长度,获取跨区域启发项,以替换A*算法原启发项,建立AA*算法;
步骤S200,为MAPF算法建立A、B缓存区,分别缓存相同区域路径及跨区域路径;
步骤S300,依据起点S与终点D执行路径查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入A缓存区;反之则返回查询结果;
步骤S400,依据起点S、终点D及智能体编号X执行路径查询指令,当未在B缓存区中查得对应路径时,执行步骤S300,以从A缓存区获取对应起终点之间的最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”, V”),其中E”需根据当前连接通道分配情况进行修正,之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区中;反之则返回查询结果。
2.根据权利要求1所述的跨区域路径规划方法,其中A、B缓存区设定了清理目标,当触发时,则按先进先出的顺序进行清理,所述清理目标包括:定期清理、根据设定的存储容量上限清理中的至少一种。
3.根据权利要求1所述的跨区域路径规划方法,其中步骤S400中根据当前连接通道分配情况,对E”进行修正的步骤包括:
步骤S410计算起点到所有连接通道的距离,当任一连接通道被占用时,为其添加对应等待耗时的路径长度;
步骤S420根据步骤S410修正起终点之间各条路径的总长度,获取修正后的最短路径E”。
4.根据权利要求1所述的跨区域路径规划方法,步骤还包括:
步骤S500,当执行路线调整时,删除A、B缓存区内对应的路径。
5.根据权利要求1所述的跨区域路径规划方法,其中连接通道包括:廊桥、电梯或提升机中的至少一种。
6.一种跨区域路径规划系统,其包括:
存储单元,用于存储包括如权利要求1至5中任一所述跨区域路径规划方法步骤的程序,以供处理单元,通信单元适时调取执行;
处理单元,用于根据输入的起点S、终点D及智能体编号X,在B缓存区执行第一路径查询指令,当未在B缓存区中查得对应路径时,依据起点S与终点D在A缓存区执行第二路径查询指令,当未在A缓存区中查得对应路径时,采用AA*算法获取路径,并存入A缓存区后反馈第二路径查询结果;反之则直接返回第二路径查询结果;之后从A缓存区获取对应起终点之间的最短路径E”及连接通道与起/终点的集合V”来构造图G”(E”, V”),其中E”需根据当前连接通道分配情况,进行修正,之后调用AA*算法计算(G”,S,D)获取跨区域路径,并存入B缓存区后反馈第一路径查询结果;反之则直接返回第一路径查询结果;
通信单元,用于根据智能体编号X向对应智能体发送第一路径查询结果。
7.根据权利要求6所述的跨区域路径规划系统,其中根据当前连接通道分配情况,对E”进行修正包括:
处理单元,计算起点到所有连接通道的距离,当任一连接通道被占用时,为其添加对应等待耗时的路径长度;然后根据修正后的起终点之间各条路径的总长度,解析出最短路径E”。
8.根据权利要求6所述的跨区域路径规划系统,其中还包括:
清理单元,用于根据预设的时间周期、存储容量上限中的至少一种清理目标,对A、B缓存区按先进先出的顺序进行清理。
9.根据权利要求6所述的跨区域路径规划系统,其中还包括:
调整单元,用于当执行路线调整时,删除A、B缓存区内对应的路径。
10.一种计算机可读存储介质,其上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如权利要求1至5中任一项所述跨区域路径规划方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310882244.6A CN116625378B (zh) | 2023-07-18 | 2023-07-18 | 一种跨区域路径规划方法及系统、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310882244.6A CN116625378B (zh) | 2023-07-18 | 2023-07-18 | 一种跨区域路径规划方法及系统、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116625378A true CN116625378A (zh) | 2023-08-22 |
CN116625378B CN116625378B (zh) | 2023-10-31 |
Family
ID=87590590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310882244.6A Active CN116625378B (zh) | 2023-07-18 | 2023-07-18 | 一种跨区域路径规划方法及系统、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116625378B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670162A (zh) * | 2023-12-06 | 2024-03-08 | 珠海市格努信息技术有限公司 | 一种场内智能物流解决方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421605B1 (en) * | 1997-10-21 | 2002-07-16 | Siemens Aktiengesellschaft | Method and system for computer-supported determination of a route from a starting point to a destination point |
TW201115123A (en) * | 2009-10-26 | 2011-05-01 | Infoexplorer Co Ltd | Navigation method and system thereof |
CN102435200A (zh) * | 2011-09-05 | 2012-05-02 | 广东东纳软件科技有限公司 | 一种路径快速规划方法 |
US9476723B1 (en) * | 2015-02-20 | 2016-10-25 | Amazon Technologies, Inc. | Hierarchical processing and caching of path solutions |
CN111750862A (zh) * | 2020-06-11 | 2020-10-09 | 深圳优地科技有限公司 | 基于多区域的机器人路径规划方法、机器人及终端设备 |
CN112465127A (zh) * | 2020-11-29 | 2021-03-09 | 西北工业大学 | 一种基于改进的生物启发神经网络的多智能体协同目标搜索方法 |
CN113804209A (zh) * | 2021-05-27 | 2021-12-17 | 中国人民解放军战略支援部队信息工程大学 | 一种四角格网高精度长距离越野路径规划方法 |
US20220009099A1 (en) * | 2020-07-08 | 2022-01-13 | Naver Labs Corporation | Method and system for specifying nodes for robot path planning |
-
2023
- 2023-07-18 CN CN202310882244.6A patent/CN116625378B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421605B1 (en) * | 1997-10-21 | 2002-07-16 | Siemens Aktiengesellschaft | Method and system for computer-supported determination of a route from a starting point to a destination point |
TW201115123A (en) * | 2009-10-26 | 2011-05-01 | Infoexplorer Co Ltd | Navigation method and system thereof |
CN102435200A (zh) * | 2011-09-05 | 2012-05-02 | 广东东纳软件科技有限公司 | 一种路径快速规划方法 |
US9476723B1 (en) * | 2015-02-20 | 2016-10-25 | Amazon Technologies, Inc. | Hierarchical processing and caching of path solutions |
CN111750862A (zh) * | 2020-06-11 | 2020-10-09 | 深圳优地科技有限公司 | 基于多区域的机器人路径规划方法、机器人及终端设备 |
US20220009099A1 (en) * | 2020-07-08 | 2022-01-13 | Naver Labs Corporation | Method and system for specifying nodes for robot path planning |
CN112465127A (zh) * | 2020-11-29 | 2021-03-09 | 西北工业大学 | 一种基于改进的生物启发神经网络的多智能体协同目标搜索方法 |
CN113804209A (zh) * | 2021-05-27 | 2021-12-17 | 中国人民解放军战略支援部队信息工程大学 | 一种四角格网高精度长距离越野路径规划方法 |
Non-Patent Citations (2)
Title |
---|
汤红杰;王鼎;皇攀凌;周军;: "优化Dijkstra算法在工厂内物流AGV路径规划的研究", 机械设计与制造, no. 1, pages 122 - 125 * |
黄科佳;李少杰;左尧;蔡文文;李绍俊;宋关福;钟耳顺;: "基于室内路网的跨楼层路径规划技术的设计与实现", 地理信息世界, no. 03, pages 99 - 103 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117670162A (zh) * | 2023-12-06 | 2024-03-08 | 珠海市格努信息技术有限公司 | 一种场内智能物流解决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116625378B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106979785B (zh) | 一种面向多机器人系统的完全遍历路径规划方法 | |
Fanti et al. | A decentralized control strategy for the coordination of AGV systems | |
RU2589869C2 (ru) | Способ и система для эффективного планирования для множества автоматизированных неголономных транспортных средств с использованием планировщика скоординированных маршрутов | |
US10800042B2 (en) | Executing centralized and decentralized controlled plans collaboratively by autonomous robots | |
Möhring et al. | Conflict-free real-time AGV routing | |
CN116625378B (zh) | 一种跨区域路径规划方法及系统、存储介质 | |
CN109059926B (zh) | 跨楼层路径规划方法及系统 | |
CN111708364B (zh) | 一种基于a*算法改进的agv路径规划方法 | |
WO2023155371A1 (zh) | 室内移动机器人的平稳移动全局路径规划方法 | |
JP5931685B2 (ja) | ロボット協調搬送計画装置、方法、プログラム | |
KR101620290B1 (ko) | 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법 | |
Henkel et al. | An optimal algorithm to solve the combined task allocation and path finding problem | |
KR20150137166A (ko) | 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법 | |
Felner et al. | PHA*: Finding the shortest path with A* in an unknown physical environment | |
CN113075927A (zh) | 基于预约表的仓储潜伏式多agv路径规划方法 | |
Clark | Probabilistic road map sampling strategies for multi-robot motion planning | |
Alatartsev et al. | On optimizing a sequence of robotic tasks | |
CN115729231A (zh) | 多机器人路线规划 | |
Fernandez et al. | Hierarchical graph search for mobile robot path planning | |
Kouvelis et al. | Heuristic unidirectional flowpath design approaches for automated guided vehicle systems | |
Basile et al. | An auction-based approach to control automated warehouses using smart vehicles | |
Chen et al. | Optimal multi-robot perimeter defense using flow networks | |
Gong et al. | Multi-agent deterministic graph mapping via robot rendezvous | |
JP2005505434A (ja) | 全平面を部分平面に分割してそれぞれの部分平面をそれぞれの移動ユニットに割り当てる方法、装置、プログラムコード手段を備えたコンピュータプログラム、およびコンピュータプログラム製品 | |
CN110975291A (zh) | 一种路径提取方法及系统 |
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 |