当前位置: 首页 > 专利查询>北京大学专利>正文

基于跳点寻路与协同避障的多AGV路径规划方法技术

技术编号:29152735 阅读:23 留言:0更新日期:2021-07-06 22:50
本发明专利技术公布了一种基于跳点寻路与协同避障的多AGV路径规划方法,包括步骤:对AGV运行空间场地建模,将AGV运行空间划分为紧密排列的多个栅格类型的栅格区域;将每个栅格区域作为一个路径节点;根据跳点寻路算法为AGV规划初始运行轨迹;根据反应式协同避障方法处理AGV之间在运行过程中可能遇到的各类冲突。通过对场地地图采用跳点寻路算法和协同避障方法进行设计规划,得到多AGV的分布式路径,使得各个AGV无冲突地执行分派的分拣任务,有效提升分布式多AGV的工作效率。本发明专利技术方法在保障最短路径情况下,算法的计算和通信成本低、主控的计算和管理负担小,方法具有可行性和高效性,可为智能仓库的分布式多AGV调度提供完整高效的解决方案。

【技术实现步骤摘要】
基于跳点寻路与协同避障的多AGV路径规划方法
本专利技术属于多智能体路径规划
,涉及物流系统中的多自动引导车的分布式自动分拣中的路径规划任务。尤其涉及一种基于跳点寻路与协同避障的多AGV路径规划方法。
技术介绍
工业4.0的到来,对于我国既是机遇也是挑战。我国机器人拥有量世界最大,但是机器人使用密度低,机器人进入智能仓库,便是一个需求量极大的应用方向。同时,由于我国土地资源逐渐紧缺、劳动成本急剧上升等现实因素,传统的物流行业受到严重的限制。所以,以物联网、云计算、大数据等为支撑,伴随着智慧工厂和自动化物流的发展,自动引导小车(AGV–AutomatedGuidedVehicle)成为工业生产中一个研究热点,在实现由自动化向全智能化转型的工业生产中发挥着不可或缺的作用。智慧物流作为新一轮科技与产业革命背景下的新型的商业模式,不仅是现代科学技术在物流领域的一项高级应用,更是优化我国物流的产业结构、改善物流发展趋势的重要途经。相对于传统仓库人工操作而言,智能仓库主要分配订单任务给多辆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规划的初始运行轨迹。步骤三、本文档来自技高网
...

【技术保护点】
1.一种基于跳点寻路与协同避障的多AGV路径规划方法,通过对场地地图采用跳点寻路算法和协同避障方法进行设计规划,得到多AGV的分布式路径,使得各个AGV无冲突地执行分派的分拣任务,有效提升分布式多AGV的工作效率;包括如下步骤:/n步骤一、对AGV运行空间场地建模,将AGV运行空间划分为紧密排列的多个栅格类型的栅格区域;将每个栅格区域作为一个路径节点;/n步骤二、根据跳点寻路算法为AGV规划初始运行轨迹;/n初始运行轨迹是从AGV当前位置到任务装载位置的路径,以及从任务装载位置到任务投递位置的路径;通过如下过程进行路径搜索,为AGV规划得到初始运行轨迹:/n21)获取栅格地图信息、AGV起点和目标位置信息;/n22)定义用于存储待处理路径节点信息的OPEN列表、用于存储处理完成的路径节点信息的CLOSE列表;OPEN列表和CLOSE列表均初始化为空列表;/n23)从起点开始搜索路径,即将AGV起点加入OPEN列表;/n24)判断OPEN列表是否为空;当OPEN列表不为空即存在待处理的路径节点,继续进行处理;否则说明不存在路径,结束操作;/n25)以距离作为节点代价,选取待处理路径节点中代价最小的路径节点U;/n26)判断节点U是否为终点,如果不是则继续处理;如果是则说明寻路成功,结束步骤二的路径搜索操作,输出路径即为初始运行轨迹;/n27)对U进行拓展,即对U的邻居节点进行进一步处理;/n令当前节点为x,当前节点的父节点为p,当节点n满足len(<p,…,n>\x)≥len(<p,x,n>),则节点n为节点x的邻居节点;如果节点n同时满足len(<p,…,n>\x)>len(<p,x,n>),则节点n为节点x的特殊邻居节点;终点为特殊邻居节点;/n对U的每个邻居节点进行拓展处理的方法具体包括如下步骤:/n271)判断当前邻居节点nb是否可检测到跳点,如果检测到跳点,则对跳点进行进一步的处理,即进入步骤272);/n272)如果节点nb之前已经完成处理即在CLOSE列表中,则不需要进行处理;/n如果节点nb是一个新的节点,则对nb计算其节点代价,之后选择从节点U到达节点nb的路径,将节点nb加入待处理节点,即加入OPEN列表;/n如果节点nb正在等待被处理即在OPEN列表中,则更新到达节点nb的方式为更新为从nb节点原先父节点到达nb和从节点U到达nb中代价更小的一项;/n28)处理完毕后,将节点U放入CLOSE列表;/n29)继续处理后续节点,即返回步骤24);/n步骤二结束即得到各AGV规划的初始运行轨迹;/n步骤三、根据反应式协同避障方法处理AGV之间在运行过程中可能遇到的各类冲突;/n当多AGV发生资源冲突问题时,无需主控中心的参与,多AGV处理冲突包括如下步骤:/n31)判断下一位置是否可行:可行则前进一步,对下一步继续判断处理,即进入步骤31),如果不可行则需要对当前的路径进行修正,即进入步骤32);/n32)修正路径:根据当前冲突情况对基础路径进行修改,针对不同的冲突,可采用的修正方法包括:第一类修正路径方案是修正部分路径;第二类修正路径方案是原地等待一个运行时刻;第三类修正路径方案是重新规划从当前节点至目标节点的路径;/n具体的方法包括:/n321)判断前方是否被长期阻塞,如果前方被长期阻塞,则将前方位置视为障碍,进入第三类修正路径方案,重新规划路径;/n322)判断前方是否被已经到达终点的空闲AGV阻塞,是则空闲AGV主动避让到附近的空闲位置,冲突处理结束,小车正常前进;/n323)判断是否有直接冲突AGV,是则进入第一类修正路径方案,否则进入第二类修正路径方案,原地等待;/n通过上述步骤,实现基于跳点寻路与协同避障的多AGV路径规划。/n...

【技术特征摘要】
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,是则进入第一类修正路径方案,否则进入第二类修正路径方案,原地等...

【专利技术属性】
技术研发人员:程翔都圆圆
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1