CN113074728B - 基于跳点寻路与协同避障的多agv路径规划方法 - Google Patents
基于跳点寻路与协同避障的多agv路径规划方法 Download PDFInfo
- Publication number
- CN113074728B CN113074728B CN202110253326.5A CN202110253326A CN113074728B CN 113074728 B CN113074728 B CN 113074728B CN 202110253326 A CN202110253326 A CN 202110253326A CN 113074728 B CN113074728 B CN 113074728B
- Authority
- CN
- China
- Prior art keywords
- node
- agv
- path
- avoidance
- conflict
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公布了一种基于跳点寻路与协同避障的多AGV路径规划方法,包括步骤:对AGV运行空间场地建模,将AGV运行空间划分为紧密排列的多个栅格类型的栅格区域;将每个栅格区域作为一个路径节点;根据跳点寻路算法为AGV规划初始运行轨迹;根据反应式协同避障方法处理AGV之间在运行过程中可能遇到的各类冲突。通过对场地地图采用跳点寻路算法和协同避障方法进行设计规划,得到多AGV的分布式路径,使得各个AGV无冲突地执行分派的分拣任务,有效提升分布式多AGV的工作效率。本发明方法在保障最短路径情况下,算法的计算和通信成本低、主控的计算和管理负担小,方法具有可行性和高效性,可为智能仓库的分布式多AGV调度提供完整高效的解决方案。
Description
技术领域
本发明属于多智能体路径规划技术领域,涉及物流系统中的多自动引导车的分布式自动分拣中的路径规划任务。尤其涉及一种基于跳点寻路与协同避障的多AGV路径规划方法。
背景技术
工业4.0的到来,对于我国既是机遇也是挑战。我国机器人拥有量世界最大,但是机器人使用密度低,机器人进入智能仓库,便是一个需求量极大的应用方向。同时,由于我国土地资源逐渐紧缺、劳动成本急剧上升等现实因素,传统的物流行业受到严重的限制。所以,以物联网、云计算、大数据等为支撑,伴随着智慧工厂和自动化物流的发展,自动引导小车(AGV–Automated Guided Vehicle)成为工业生产中一个研究热点,在实现由自动化向全智能化转型的工业生产中发挥着不可或缺的作用。智慧物流作为新一轮科技与产业革命背景下的新型的商业模式,不仅是现代科学技术在物流领域的一项高级应用,更是优化我国物流的产业结构、改善物流发展趋势的重要途经。
相对于传统仓库人工操作而言,智能仓库主要分配订单任务给多辆AGV构成的集群式AGV 系统来进行复杂耗时的分拣操作。AGV是智能仓储的重要组成部分,属于移动式机器人范畴,通过磁感、视觉、激光及各种组合方式导引和定位。针对多AGV调度问题的研究,主要需要解决的问题可归纳为如下:1)单车实时高效路径规划问题,2)多车可靠快速冲突处理问题。
但是,现有的多AGV路径规划调度技术大多存在如下问题:
只追求路径长度最短进行单目标调度,大地图场景下耗时长,没有考虑路径平滑等处理,导致转折点过多、还存在冗余节点或需要额外进行路径平滑化处理等。这会造成系统效率低、控制难度大、机器磨损、存储压力大等问题。并且,控制系统大多采用集中式控制,将所有信息都汇聚于主智能体上位机之中,是一种分层的自上而下的管控方式,AGV只需被动接收控制,简单易行,但AGV需要和中心频繁通信,管理中心面临着较大的管理和计算压力。
同时当前方案大多在AGV数量较少场景下具有良好性能,但是随着AGV数量增加,算法弊端会逐渐展露出来,低效的冲突解决策略难以应对由于AGV共享网络路径、竞争资源带来的频发复杂的冲突死锁,AGV常处于原地等待的状态,浪费了大量宝贵的时间。此外还存在有决策信息滞后的问题:按照先前的预判冲突进行规划,与运行过程实际情况存在滞后。并且在高密度AGV场景下算法的求解难度大。这些都会导致各AGV的运行效率低,导致算法可用性、灵活性差。综上,多AGV场景下可用分布式协同作业算法设计是一个有待解决的问题。
发明内容
为了克服上述现有技术的不足,本发明提供了一种基于跳点寻路与协同避障的多AGV路径规划方法。在给定仓库场地地图的基础上,设计规划得到多AGV的分布式路径,以满足各个AGV可以无冲突地执行分派的分拣任务的作业需求。本发明方法适用性广,可有效提升分布式多AGV的工作效率。
本发明为实现上述目的,采用以下技术方案:
一种基于跳点寻路与协同避障的多AGV路径规划方法,跳点寻路算法主要解决多AGV路径规划问题,协同避障主要解决运行过程中遇到的各类AGV间的冲突问题。该方法包括如下步骤:
步骤一、采用栅格地图法为仓库场地建模,将AGV运行空间划分为多个栅格类型区域,包括空闲区、装载口、投递口、临时障碍区、AGV所在区五大主要类型。以AGV型号大小为准将场地划分为紧密排列的栅格区域,每个划分出的栅格区域都将作为一个路径节点。
步骤二、根据跳点寻路算法为AGV规划初始运行轨迹。
初始运行轨迹即从AGV当前位置到任务装载位置的路径,以及从任务装载位置到任务投递位置的路径。以经典路径规划算法A*算法为基础,跳点寻路算法忽略了部分不必要遍历的节点以提高搜索路径效率。包括如下操作过程:
21)获取栅格地图信息、AGV起点和目标位置信息;
22)定义用于存储之后待处理路径节点信息的OPEN列表、用于存储已处理完毕的路径节点信息的CLOSE列表,两个列表均初始化为空列表;
23)从起点开始搜索路径,即将AGV起点加入OPEN列表;
24)判断OPEN列表是否为空,即判断是否存在AGV起点之后的其他待处理的节点;如果 OPEN列表不为空即存在AGV起点之后的其他待处理的节点则继续进行处理;否则结束操作,说明不存在路径;
25)选取待处理节点中代价最小的节点U;
节点代价的计算方法具体为,节点的代价等于节点n距离起点的代价加上节点n距离终点的预计代价(用曼哈顿距离表示),可用下面的式子表示:
fn=gn+hn
其中,fn代表节点综合优先级,gn代表节点n距离起点的代价,hn代表节点n距离终点的预计代价。hn选择为曼哈顿距离:hn=dx+dy,dx,dy分别表示当前节点与终点在x 轴的方向和y轴的方向上间的距离。
26)判断节点U是否为终点,如果不是则继续处理,如果是则说明寻路成功,结束步骤二的路径搜索操作,输出路径即为从起点到目标位置的最短路径;
27)对U进行拓展,即对U的邻居节点进行进一步处理;
其中,U的邻居节点的判断方法具体为:令当前节点为x,当前节点的父节点为p,节点 n满足:len(<p,…,n>\x)≥len(<p,x,n>)则可判断为节点x的邻居节点,如果还进一步满足len(<p,…,n>\x)>len(<p,x,n>)则可判断为节点x的特殊邻居节点,终点也作为特殊邻居节点处理。
对U的每个邻居节点进行拓展处理的方法具体包括如下步骤:
271)判断当前邻居节点nb是否可检测到跳点,如果检测到了跳点,则对跳点进行进一步的处理,即进入步骤272);
其中,确定节点是否是跳点的方法具体为:
2711)判断当前节点是否存在特殊邻居节点,如果存在,判断的结果为检测到跳点,当前节点为跳点,结束搜索;若不存在可以按下列步骤继续搜寻跳点;
2712)沿着搜索方向的垂直方向依次检测是否为跳点,如果存在,判断的结果为检测到跳点,当前节点为跳点,结束搜索。
如果仍未检测到跳点,则沿着搜索方向(即从当前节点的父节点到当前节点的运行方向) 继续2711),2712)所述的搜索过程,直到检索到跳点或搜索到了障碍、地图边缘。
272)如果节点nb之前已经被处理完毕(即在CLOSE列表中),则不需要进行处理;
如果节点nb是一个新的节点(即不在CLOSE列表中,也不在CLOSE列表中),则要根据之前所述节点代价的具体的计算方法对nb的代价进行计算,之后选择从节点U 到达节点nb(即令节点nb的父节点为节点U),将节点nb加入待处理节点(即加入 OPEN列表);
如果节点nb正在等待被处理(即在OPEN列表中),则更新到达节点nb的方式为从nb节点原先父节点到达nb和从节点U到达nb中代价更小的一项;
28)处理完毕后,将节点U放入CLOSE列表;
29)继续处理后续节点,即返回步骤24)。
步骤二结束即可得到各AGV规划的初始运行轨迹。
步骤三、根据反应式协同避障方法处理AGV之间在运行过程中可能遇到的各类的(相遇冲突、占位冲突、相向冲突、赶超冲突)冲突问题。
当多AGV发生资源冲突问题时,无需主控中心的参与,AGVs根据冲突类型合作运作以解决各类的冲突问题。主要包括如下两个步骤:
31)判断下一位置是否可行:可行则前进一步,对下一步继续判断处理,即进入步骤31),如果不可行则需要对当前的路径进行修正,即进入步骤32);
32)修正路径:根据当前冲突情况对基础路径进行修改,针对不同的冲突情况,共有三类可能的修正方法,一是修正部分路径;二是原地等待一个运行时刻;三是重新规划从当前节点至目标节点的路径。
具体的方法包括:
321)判断前方是否被长期阻塞,如果前方被长期阻塞,则将前方位置视为障碍,进入第三类修正路径方案:重新规划路径;
322)判断前方是否被已经到达终点的空闲AGV阻塞,是则空闲AGV主动避让到附近的空闲位置,冲突处理结束,小车正常前进;
323)判断是否有直接冲突AGV,是则进入第一类修正路径方案,否则进入第二类修正路径方案:原地等待。
第一类修正路径的具体方法如下:
a)判断理想情况下的协同避让方案是否可行,可行则依据理想情况下的策略解决冲突,不可行则尝试最优避让方案,即则进入步骤b);
b)确定避让AGV和通行AGV:下下步骤位置空闲的AGV可以获得通行资格、是通行AGV,与之冲突的AGV为避让AGV。若双方都获得通行资格,则任意指定一组避让 &通行AGV,另外的一组作为备用方案。
c)判断避让AGV是否存在可用的最优避让区域,最优避让区域指避让AGV周围除通行AGV下下步骤目标位置外的栅格区域。是则进入最优避让,即进入步骤d),否则判断是否有必要进行次优避让,即进入步骤e);
d)避让AGV驶入避让区域进行避让,通行AGV优先行驶;之后避让AGV回归原路径行驶;
e)判断当前是否为二次冲突,如果当前为二次冲突,则进一步判断是否存在备用方案,即进入步骤h)。否则进行次优避让,即进入步骤f);
f)避让AGV先驶入通行AGV下下步骤目标位置,通行AGV追随避让AGV驶入通行 AGV之前占用位置;
g)判断当前的二次冲突情形,针对二次冲突的情况尝试对应的理想情况,即进入步骤a);
h)判断是否存在备用方案,是则尝试备用方案,即进入步骤a);否则不存在合适的协同方案,冲突双方需要原地等待。
第二类修正路径的具体方法如下:小车原地等待一个运行时刻。
第三类修正路径的具体方法如下:将前方位置视为障碍,重新规划路径,如果重新规划路径的结果为空,则进入第二类修正路径方案。
本发明的有益效果:
与现有技术相比,本发明提供的基于跳点寻路与协同避障的多AGV路径规划方法稳定可靠,相较于原始A*算法而言,在保障最短路径的情况下,算法耗时大大降低、需要遍历的节点数目大大减少、不附加任何额外的路径平滑化处理(如“视野线”法),转弯次数就可达到极低水平,无冗余节点,并且本发明方法可解决多车场景下的各类冲突。同时,本发明算法的计算和通信成本低、主控的计算和管理负担小。方法可行性和高效性得以验证。本发明设计的基于跳点寻路与协同避障的多AGV路径规划技术方案,为智能仓库的分布式多AGV调度任务存在的各项问题提供了一套完整的高效解决方案。
附图说明
图1是本发明提供的分布式多AGV系统的组成结构示意图。
图2是本发明提供的跳点寻路算法的算法流程框图。
图3是多AGV系统中各类冲突情况示意图。
其中,(a)为相遇冲突;(b)为占位冲突;(c)为相向冲突;(d)为赶超冲突。
图4是本发明提供的反应式协同避障方法的流程框图。
图5是本发明实施例中AGV运行模式示意图;图中A、B、C、D为AGV可以移动的四个方向。
图6是本发明实施例中的仓库场地经过栅格地图建模得到的结果示意图。
图7是本发明实施例中所选择的仓库布局示意图,图示了各AGV的初始位置,分拣任务的装载和投递位置。
图8是本发明实施例中所选择的路径搜寻示意图。
图9是本发明实施例中所选择的协同避障示意图。
图10是本发明提供的理想情况下的协同避让方案。
图11是本发明提供的第一类修正路径方案的流程框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明提供一种基于跳点寻路与协同避障的多AGV路径规划方法,主要应用于如图1所示的分布式多AGV系统中。其中,跳点寻路算法主要解决多AGV 路径规划问题,图2所示是本发明提出的跳点寻路算法流程图;反应式协同避障策略主要解决运行过程中遇到的各类AGV间的冲突问题,图4所示是本发明提供的反应式协同避障策略的算法流程图。
具体实施包括如下步骤:
步骤一、采用栅格地图法为仓库场地建模,将AGV的运行空间分解为多个简单区域,AGV 每次的移动以一个栅格区域为单位。栅格区域大小设置为与AGV小车的型号大小相同,这样,既不会划分过大,导致环境信息存储量小、路径规划不明确;也不会划分过小,导致精度高但寻找时间过长、效率下降。其中,将AGV运行空间划分为多个栅格类型区域,包括空闲区、装载口、投递口、临时障碍区、AGV所在区五大主要类型:
1)空闲区:自由可用的小车活动区域。
2)装载口:所有AGV可选起始位置。
3)投递口:所有AGV可选目标位置,从装载口出发,到达目标投递口附近任意一个栅格启用智能投递装置即完成一次车载货物的投递工作。非本AGV目标投递口在本 AGV运行过程中视为障碍物。
4)临时障碍区:存在需要长时间占据以完成任务的AGV的位置。
5)AGV所在区:当前地图上所有的AGV所处的位置。
为仓库场地建模得到的栅格地图信息包括上述多个栅格类型区域。图6展示了一种小型 (大小为:11*11)仓库下的栅格地图建模结果。
步骤二、根据跳点寻路算法为AGV规划初始运行轨迹。
初始运行轨迹即从AGV当前位置到任务装载位置的路径,以及从任务装载位置到任务投递位置的路径。以经典路径规划算法A*算法为基础,跳点寻路算法裁剪掉部分不必要遍历的节点以提高搜索路径效率。图2所示是采用跳点寻路算法的算法流程图。以四向运作模式的一辆AGV小车(AGV-1)采用跳点寻路算法完成一项分拣任务(TASK-1)为例,对具体方法所包含的步骤进行说明。四向运作模式如图5所示,可以控制AGV向A、B、C、D四个方向移动。仓库布局,各AGV的初始位置,分拣任务的装载和投递位置如图7所示。具体的方法包括如下步骤:
1)获取栅格地图信息、AGV起点和目标位置信息;
2)定义用于存储之后待处理的路径节点信息的OPEN列表、用于存储已处理完毕的路径节点信息的CLOSE列表,两个列表均初始化为空列表;
3)从起点开始搜索路径,即将起点加入OPEN列表;
4)判断OPEN列表是否为空,即判断是否还存在之后待处理的节点;如果存在之后待处理的路径节点则继续进行处理;否则结束操作,说明不存在路径;
5)选取待处理节点中代价最小的节点U;
6)判断节点U是否为终点,如果不是则继续处理,如果是则说明寻路成功,结束步骤二的路径搜索操作,输出路径;
7)对U进行拓展,即依次对U的“邻居”节点进行进一步处理;
8)处理完毕后,将节点U放入CLOSE列表;
9)继续处理后续节点,即返回步骤4)。
其中,步骤二5)所述节点代价的计算方法具体为,节点的代价等于节点n距离起点的代价加上节点n距离终点的预计代价(用曼哈顿距离表示),可用下面的式子表示:
fn=gn+hn
其中,fn代表节点综合优先级,gn代表节点n距离起点的代价,hn代表节点n距离终点的预计代价。hn选择为曼哈顿距离:hn=dx+dy,dx,dy分别表示当前节点与终点在x轴的方向和y轴的方向上间的距离。
其中,步骤二7)所述U的邻居节点的判断方法具体为:令当前节点为x,当前节点的父节点为p,节点n满足:len(<p,…,n>\x)≥len(<p,x,n>)则可判断为节点x的邻居节点,如果还进一步满足len(<p,…,n>\x)>len(<p,x,n>)则可判断为节点x的特殊邻居节点,终点也作为特殊邻居节点处理。
其中,步骤二的7)所述对U的每个邻居节点进行拓展处理的方法具体为:
271)判断当前邻居节点nb是否可检测到跳点,如果检测到了跳点,则对跳点进行进一步的处理,即进入步骤272);
272)如果节点nb之前已经被处理完毕(即在CLOSE列表中),则不需要进行处理;
如果节点nb是一个新的节点(即不在CLOSE列表中,也不在CLOSE列表中),则要根据之前所述节点代价的具体的计算方法对nb的代价进行计算,之后选择从节点U 到达节点nb(即令节点nb的父节点为节点U),将节点nb加入待处理节点(即加入 OPEN列表);
如果节点nb正在等待被处理(即在OPEN列表中),则更新到达节点nb的方式为从nb节点原先父节点到达nb和从节点U到达nb中代价更小的一项;
其中,步骤271)确定节点是否是跳点的方法具体为:
2711)判断当前节点是否存在特殊邻居节点,如果存在,判断的结果为检测到跳点,当前节点为跳点,结束搜索;若不存在可以按下列步骤继续搜寻跳点;
2712)沿着搜索方向的垂直方向依次检测是否为跳点,如果存在,判断的结果为检测到跳点,当前节点为跳点,结束搜索。
2713)如果仍未检测到跳点,则沿着搜索方向(即从当前节点的父节点到当前节点的运行方向)继续2711),22712)所述的搜索过程,直到检索到跳点或搜索到了障碍、地图边缘。
步骤二结束即可得到各AGV规划的初始运行轨迹。
如图8所示,搜寻得到的AGV-1从装载口装载TASK-1物品后,到达对应任务投递口的基本路径为:1-2-4-7-12-15
对应的OPEN列表和CLOSE列表的处理情况为:
OPEN | CLOSE |
1 | |
2,3 | 1 |
3,4,5 | 1,2 |
4,5,6 | 1,2,3 |
5,6,7,8 | 1,2,3,4 |
6,7,8,9 | 1,2,3,4,5 |
7,8,9,10 | 1,2,3,4,5,6 |
8,9,10,11,12 | 1,2,3,4,5,6,7 |
9,10,11,12,13 | 1,2,3,4,5,6,7,8 |
10,11,12,13,14 | 1,2,3,4,5,6,7,8,9 |
10,11,13,14,15 | 1,2,3,4,5,6,7,8,9,12 |
10,11,14,15,16 | 1,2,3,4,5,6,7,8,9,12,13 |
10,11,14,16,17,18 | 1,2,3,4,5,6,7,8,9,12,13,15 |
步骤三、根据反应式协同避障策略处理AGV之间在运行过程中可能遇到的如图3所示的各类的冲突问题。当多AGV发生资源冲突问题时,无需主控中心的参与,AGV系统根据冲突类型合作运作以决各类的冲突问题。具体的方法包括如下步骤:
31)判断前方是否被长期阻塞,如果前方被长期阻塞,则将前方位置视为障碍,进入第三类修正路径方案:重新规划路径;
32)判断前方是否被已经到达终点的空闲AGV阻塞,是则空闲AGV主动避让到附近的空闲位置,冲突处理结束,小车正常前进;
33)判断是否有直接冲突AGV,是则进入第一类修正路径方案,否则进入第二类修正路径方案:原地等待。
所述第一类修正路径的具体方法如下,其中协同避让的各类避让点的确定方法如图9所示,第一类修正路径算法的具体流程图如图11所示:
1)判断理想情况下的协同避让方案(如图10所示)是否可行,可行则依据理想情况下的策略解决冲突,不可行则尝试最优避让方案,即则进入步骤2);
2)确定避让AGV和通行AGV:下下步骤位置空闲的AGV可以获得通行资格、是通行AGV,与之冲突的AGV为避让AGV。若双方都获得通行资格,则任意指定一组避让 &通行AGV,另外的一组作为备用方案。
3)判断避让AGV是否存在可用的最优避让区域,最优避让区域指避让AGV周围除通行AGV下下步骤目标位置外的栅格区域。是则进入最优避让,即进入步骤4),否则判断是否有必要进行次优避让,即进入步骤5);
4)避让AGV驶入避让区域进行避让,通行AGV优先行驶;之后避让AGV回归原路径行驶;
5)判断当前是否为二次冲突,如果当前为二次冲突,则进一步判断是否存在备用方案,即进入步骤8)。否则进行次优避让,即进入步骤6);
6)避让AGV先驶入通行AGV下下步骤目标位置,通行AGV追随避让AGV驶入通行 AGV之前占用位置;
7)判断当前的二次冲突情形,针对二次冲突的情况尝试对应的理想情况,即进入步骤1);
8)判断是否存在备用方案,是则尝试备用方案,即进入步骤1);否则不存在合适的协同方案,冲突双方需要原地等待。
第二类修正路径的具体方法如下:小车原地等待一个运行时刻。
第三类修正路径的具体方法如下:将前方位置视为障碍,重新规划路径,如果重新规划路径的结果为空,则进入第二类修正路径方案。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (7)
1.一种基于跳点寻路与协同避障的多AGV路径规划方法,通过对场地地图采用跳点寻路算法和协同避障方法进行设计规划,得到多AGV的分布式路径,使得各个AGV无冲突地执行分派的分拣任务,有效提升分布式多AGV的工作效率;包括如下步骤:
步骤一、对AGV运行空间场地建模,将AGV运行空间划分为紧密排列的多个栅格类型的栅格区域;将每个栅格区域作为一个路径节点;
步骤二、根据跳点寻路算法为AGV规划初始运行轨迹;
初始运行轨迹是从AGV当前位置到任务装载位置的路径,以及从任务装载位置到任务投递位置的路径;通过如下过程进行路径搜索,为AGV规划得到初始运行轨迹:
21)获取栅格地图信息、AGV起点和目标位置信息;
22)定义用于存储待处理路径节点信息的OPEN列表、用于存储处理完成的路径节点信息的CLOSE列表;OPEN列表和CLOSE列表均初始化为空列表;
23)从起点开始搜索路径,即将AGV起点加入OPEN列表;
24)判断OPEN列表是否为空;当OPEN列表不为空即存在待处理的路径节点,继续进行处理;否则说明不存在路径,结束操作;
25)以距离作为节点代价,选取待处理路径节点中代价最小的路径节点U;
26)判断节点U是否为终点,如果不是则继续处理;如果是则说明寻路成功,结束步骤二的路径搜索操作,输出路径即为初始运行轨迹;
27)对U进行拓展,即对U的邻居节点进行进一步处理;
令当前节点为x,当前节点的父节点为p,当节点n满足len(<p,…,n>\x)≥len(<p,x,n>),则节点n为节点x的邻居节点;如果节点n同时满足len(<p,…,n>\x)>len(<p,x,n>),则节点n为节点x的特殊邻居节点;终点为特殊邻居节点;
对U的每个邻居节点进行拓展处理的方法具体包括如下步骤:
271)判断当前邻居节点nb是否可检测到跳点,如果检测到跳点,则对跳点进行进一步的处理,即进入步骤272);
272)如果节点nb之前已经完成处理即在CLOSE列表中,则不需要进行处理;
如果节点nb是一个新的节点,则对nb计算其节点代价,之后选择从节点U到达节点nb的路径,将节点nb加入待处理节点,即加入OPEN列表;
如果节点nb正在等待被处理即在OPEN列表中,则更新到达节点nb的方式为更新为从nb节点原先父节点到达nb和从节点U到达nb中代价更小的一项;
28)处理完毕后,将节点U放入CLOSE列表;
29)继续处理后续节点,即返回步骤24);
步骤二结束即得到各AGV规划的初始运行轨迹;
步骤三、根据反应式协同避障方法处理AGV之间在运行过程中可能遇到的各类冲突;当多AGV发生资源冲突问题时,无需主控中心的参与,多AGV处理冲突包括如下步骤:
31)判断下一位置是否可行:可行则前进一步,对下一步继续判断处理,即进入步骤31),如果不可行则需要对当前的路径进行修正,即进入步骤32);
32)修正路径:根据当前冲突情况对基础路径进行修改,针对不同的冲突,可采用的修正方法包括:第一类修正路径方案是修正部分路径;第二类修正路径方案是原地等待一个运行时刻;第三类修正路径方案是重新规划从当前节点至目标节点的路径;
具体的方法包括:
321)判断前方是否被长期阻塞,如果前方被长期阻塞,则将前方位置视为障碍,进入第三类修正路径方案,重新规划路径;
322)判断前方是否被已经到达终点的空闲AGV阻塞,是则空闲AGV主动避让到附近的空闲位置,冲突处理结束,小车正常前进;
323)判断是否有直接冲突AGV,是则进入第一类修正路径方案,否则进入第二类修正路径方案,原地等待;
其中,第一类修正路径的具体方法如下:
a)判断理想情况下的协同避让方案是否可行,可行则依据理想情况下的策略解决冲突,不可行则尝试最优避让方案,即则进入步骤b);
b)确定避让AGV和通行AGV:下下步骤位置空闲的AGV能够获得通行资格、是通行AGV,与之冲突的AGV为避让AGV;若双方都获得通行资格,则任意指定一组避让&通行AGV,另外的一组作为备用方案;
c)判断避让AGV是否存在可用的最优避让区域,最优避让区域指避让AGV周围除通行AGV下下步骤目标位置外的栅格区域;是则进入最优避让,即进入步骤d),否则判断是否有必要进行次优避让,即进入步骤e);
d)避让AGV驶入避让区域进行避让,通行AGV优先行驶;之后避让AGV回归原路径行驶;
e)判断当前是否为二次冲突,如果当前为二次冲突,则进一步判断是否存在备用方案,即进入步骤h);否则进行次优避让,即进入步骤f);
f)避让AGV先驶入通行AGV下下步骤目标位置,通行AGV追随避让AGV驶入通行AGV之前占用位置;
g)判断当前的二次冲突情形,针对二次冲突的情况尝试对应的理想情况,即进入步骤a);
h)判断是否存在备用方案,是则尝试备用方案,即进入步骤a);否则不存在合适的协同方案,冲突双方需要原地等待;
通过上述步骤,实现基于跳点寻路与协同避障的多AGV路径规划。
2.如权利要求1所述基于跳点寻路与协同避障的多AGV路径规划方法,其特征是,步骤一中,具体采用栅格地图法为仓库场地建模,以AGV型号大小为准将场地划分为紧密排列的栅格区域;所述多个栅格类型的栅格区域包括空闲区、装载口、投递口、临时障碍区、AGV所在区。
3.如权利要求1所述基于跳点寻路与协同避障的多AGV路径规划方法,其特征是,步骤25)中,用曼哈顿距离表示节点代价,节点代价等于节点n距离起点的代价加上节点n距离终点的预计代价;节点代价的计算方法表示为:
fn=gn+hn
其中,fn代表节点综合优先级,gn代表节点n距离起点的代价,hn代表节点n距离终点的预计代价;hn选择为曼哈顿距离:hn=dx+dy,dx,dy分别表示当前节点与终点在x轴的方向和y轴的方向之间的距离。
4.如权利要求1所述基于跳点寻路与协同避障的多AGV路径规划方法,其特征是,步骤271)确定当前节点是否是跳点的方法具体为:
2711)判断当前节点是否存在特殊邻居节点,如果存在,判断的结果为检测到跳点,当前节点为跳点,结束搜索;若不存在则按下列步骤继续搜寻跳点;
2712)沿着搜索方向的垂直方向依次检测是否为跳点,如果存在,判断的结果为检测到跳点,当前节点为跳点,结束搜索;
如果仍未检测到跳点,则沿着搜索方向即从当前节点的父节点到当前节点的运行方向,继续执行步骤2711)~2712)进行搜索,直到检索到跳点或搜索到障碍/地图边缘。
5.如权利要求1所述基于跳点寻路与协同避障的多AGV路径规划方法,其特征是,步骤三所述各类冲突包括相遇冲突、占位冲突、相向冲突、赶超冲突中的至少一种。
6.如权利要求1所述基于跳点寻路与协同避障的多AGV路径规划方法,其特征是,步骤32)中,第二类修正路径的具体方法为:小车原地等待一个运行时刻。
7.如权利要求1所述基于跳点寻路与协同避障的多AGV路径规划方法,其特征是,步骤32)中,第三类修正路径的具体方法如下:将前方位置视为障碍,重新规划路径,如果重新规划路径的结果为空,则进入第二类修正路径方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110253326.5A CN113074728B (zh) | 2021-03-05 | 2021-03-05 | 基于跳点寻路与协同避障的多agv路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110253326.5A CN113074728B (zh) | 2021-03-05 | 2021-03-05 | 基于跳点寻路与协同避障的多agv路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113074728A CN113074728A (zh) | 2021-07-06 |
CN113074728B true CN113074728B (zh) | 2022-07-22 |
Family
ID=76612133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110253326.5A Active CN113074728B (zh) | 2021-03-05 | 2021-03-05 | 基于跳点寻路与协同避障的多agv路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113074728B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568408A (zh) * | 2021-07-28 | 2021-10-29 | 福勤智能科技(昆山)有限公司 | 一种分布式agv系统 |
CN114089747B (zh) * | 2021-11-05 | 2023-07-04 | 季华实验室 | 一种基于时间片的多agv路径规划方法 |
CN116263600A (zh) * | 2021-12-14 | 2023-06-16 | 灵动科技(北京)有限公司 | 用于控制自主移动机器人的行驶的方法和设备 |
CN114326621B (zh) * | 2021-12-25 | 2023-11-14 | 长安大学 | 一种基于分层架构的群体智能机场托运车调度方法和系统 |
CN114229312B (zh) * | 2022-01-21 | 2023-09-19 | 清华大学 | 一种货物搬运方法、装置、服务器和存储介质 |
CN114564023B (zh) * | 2022-03-11 | 2022-11-08 | 哈尔滨理工大学 | 一种动态场景下的跳点搜索路径规划方法 |
CN115016506A (zh) * | 2022-07-18 | 2022-09-06 | 北京大学 | 基于自主绕障的异构型多智能体网联协同调度规划方法 |
CN115049347B (zh) * | 2022-08-17 | 2022-12-06 | 成都秦川物联网科技股份有限公司 | 用于agv控制的工业物联网系统及其控制方法 |
CN115140481B (zh) * | 2022-09-01 | 2022-12-02 | 青岛盈智科技有限公司 | 一种四向穿梭车动态避让方法及装置 |
CN116360378B (zh) * | 2023-06-02 | 2023-09-19 | 北京中鼎昊硕科技有限责任公司 | 一种基于数据分析的agv小车安全调度方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294934A (ja) * | 2008-06-05 | 2009-12-17 | Ihi Corp | 自律移動装置及び自律移動装置の制御方法 |
CN105955280A (zh) * | 2016-07-19 | 2016-09-21 | Tcl集团股份有限公司 | 移动机器人路径规划和避障方法及系统 |
CN109115226A (zh) * | 2018-09-01 | 2019-01-01 | 哈尔滨工程大学 | 基于跳点搜索的多机器人冲突避免的路径规划方法 |
CN110174111A (zh) * | 2019-05-31 | 2019-08-27 | 山东华锐智能技术有限公司 | 基于时间窗的任务分段式的多agv路径规划算法 |
CN110989570A (zh) * | 2019-10-15 | 2020-04-10 | 浙江工业大学 | 一种多agv防碰撞协同路径规划方法 |
CN111811514A (zh) * | 2020-07-03 | 2020-10-23 | 大连海事大学 | 一种基于正六边形栅格跳点搜索算法的路径规划方法 |
-
2021
- 2021-03-05 CN CN202110253326.5A patent/CN113074728B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294934A (ja) * | 2008-06-05 | 2009-12-17 | Ihi Corp | 自律移動装置及び自律移動装置の制御方法 |
CN105955280A (zh) * | 2016-07-19 | 2016-09-21 | Tcl集团股份有限公司 | 移动机器人路径规划和避障方法及系统 |
CN109115226A (zh) * | 2018-09-01 | 2019-01-01 | 哈尔滨工程大学 | 基于跳点搜索的多机器人冲突避免的路径规划方法 |
CN110174111A (zh) * | 2019-05-31 | 2019-08-27 | 山东华锐智能技术有限公司 | 基于时间窗的任务分段式的多agv路径规划算法 |
CN110989570A (zh) * | 2019-10-15 | 2020-04-10 | 浙江工业大学 | 一种多agv防碰撞协同路径规划方法 |
CN111811514A (zh) * | 2020-07-03 | 2020-10-23 | 大连海事大学 | 一种基于正六边形栅格跳点搜索算法的路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113074728A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113074728B (zh) | 基于跳点寻路与协同避障的多agv路径规划方法 | |
CN112833905B (zh) | 基于改进a*算法的分布式多agv无碰撞路径规划方法 | |
CN109115226B (zh) | 基于跳点搜索的多机器人冲突避免的路径规划方法 | |
CN109991977B (zh) | 机器人的路径规划方法及装置 | |
CN110009259B (zh) | 一种应用于双向路径下柔性制造车间的多agv调度方法 | |
CN105354648B (zh) | Agv调度管理的建模及其优化方法 | |
CN107179078A (zh) | 一种基于时间窗优化的agv路径规划方法 | |
CN111596658A (zh) | 一种多agv无碰撞运行的路径规划方法及调度系统 | |
CN111007862B (zh) | 一种多agv协同工作的路径规划方法 | |
CN113075927A (zh) | 基于预约表的仓储潜伏式多agv路径规划方法 | |
CN114489062B (zh) | 面向车间物流的多自动导引车分布式动态路径规划方法 | |
CN113592158B (zh) | 多agv路径规划和多agv智能生产线中agv与机器联合调度方法 | |
KR101010718B1 (ko) | 복수개의 자원을 점유하는 무인 반송차의 동적 주행방법 | |
CN112859847B (zh) | 一种通行方向限制下的多机器人协同路径规划方法 | |
CN113516429B (zh) | 一种基于网络拥堵模型的多agv全局规划方法 | |
CN111024088A (zh) | 一种激光叉车路径规划方法 | |
CN115237137A (zh) | 一种多agv调度与协同路径规划方法和装置 | |
CN114358233A (zh) | 基于双混合粒子群的多agv路径规划问题优化方法及系统 | |
CN114840001A (zh) | 一种封闭环境下的多车协同轨迹规划方法 | |
CN110412990B (zh) | 一种用于工厂环境下的agv避碰方法 | |
Xu et al. | Dynamic spare point application based coordination strategy for multi-AGV systems in a WIP warehouse environment | |
CN116414139B (zh) | 基于A-Star算法的移动机器人复杂路径规划方法 | |
CN116719312A (zh) | 一种单行道场景下基于折返避让的多agv解锁方法 | |
CN115293394A (zh) | 一种基于动态时空图的多机器人联合调度优化方法 | |
Fan et al. | Research and implementation of multi-robot path planning based on genetic algorithm |
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 |