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

一种单通道场景下的启发式路径规划方法、设备及介质与流程

2022-06-30 00:49:15 来源:中国专利 TAG:
1.本发明属于智能仓储交通控制与设计领域,涉及一种路径规划方法,尤其是涉及一种单通道场景下的启发式路径规划方法、设备及介质。
背景技术
::2.智能仓储的建设是现代物流业发展的重要一环,其理念在于利用自动化设备和智能的管理方法,建立更加高效、柔性和精确的仓储系统,以满足消费者趋于多样化和个性化的需求转变。智能仓储承担的主要任务是在少数工作人员辅助、多种自动化设备协同工作的条件下,按照客户下达的订单内容将仓库内种类繁多的商品以正确的种类和数量分别拣选出来,再各自装进纸箱打包封箱,最后送达到物流公司的快递揽收点装车运出仓库,其中,最主要的协同工作的自动化设备是自动引导工具(automatedguidedvehicle,agv)机器人。3.其中,如何协同一个智能仓储系统内部大量的agv是一个非常复杂的问题。特别是在一些复杂场景下,比如单通道场景。在单通道场景中,由于可行空间十分有限,因此极其容易发生碰撞,死锁,并且仅仅设定相应的规则是不够的,因为空间狭小,很容易再次在相同的地方发生问题。4.因此,在单通道复杂场景下,如何设定相应有效的多智能体路径规划方法就变得非常重要。而现有的普通路径规划方法并不适用于单通道复杂场景。技术实现要素:5.本发明的目的就是为了克服上述现有路径规划方法在单通道场景下容易出现循环碰撞与死锁的问题而提供一种执行时间短、效率高的单通道场景下的启发式路径规划方法、设备及介质。6.本发明的目的可以通过以下技术方案来实现:7.一种单通道场景下的启发式路径规划方法,包括以下步骤:8.1)获取每个agv的任务起始位置与终止位置,构建输入列表;9.2)计算每个agv的所述任务起始位置与终止位置间的曼哈顿距离,按曼哈顿距离由小到大,对各agv进行排序,曼哈顿距离越小的agv优先级越高,生成输出列表;10.3)逐次按优先级从高到低使用whca*算法对各agv进行路径规划,存储规划路径,形成预约表,基于所述规划路径移动各agv设定步数,统计当前规划过程中每个agv的碰撞次数;11.4)按所述碰撞次数由高到低更新所述输出列表,碰撞次数越多的agv优先级越高;12.5)重复步骤3)和步骤4),直至所有agv均到达各自的终止位置。13.进一步地,所述曼哈顿距离的计算公式为:14.dmanhattan=|xi-xj| |yi-yj|15.其中,(xi,yi)、(xj,yj)分别为id为i和j的agv在任务地图上的x与y轴上的索引。16.进一步地,步骤3)中,存储所述规划路径的数据结构的数据格式为(位置,到达时间)。17.进一步地,步骤3)中,所述设定步数为k,且k《w,其中,w为whca*算法中的时间窗大小。18.进一步地,步骤3)中,对各agv进行路径规划时,当前agv的规划不得与预约表中已存在的路径产生冲突。19.进一步地,步骤3)中,对各agv进行路径规划时,若存在规划失败的agv,则将该agv失败列表中,继续执行所述输出列表中后续agv的路径规划,直至输出列表为空,清空当前预约表,将规划成功的agv当前占据位置作为障碍点不可通行,重新对失败列表中的agv进行路径规划。20.进一步地,步骤3)中,所述碰撞次数按哈希表的形式保存,哈希表的键为agv号数,值为该agv对应的碰撞次数。21.进一步地,所述碰撞包括节点碰撞和对向碰撞。22.本发明还提供一种电子设备,包括:23.一个或多个处理器;24.存储器;和25.被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于执行如上所述启发式路径规划方法的指令。26.本发明还提供一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如上所述启发式路径规划方法的指令。27.与现有技术相比,本发明具有以下有益效果:28.(1)本发明先按曼哈顿距离确定各agv优先级,后续每一轮agv优先级更新,均按照上一轮统计的每个agv对应的碰撞次数进行更新,对于单通道场景更加适合,极大程度上解决了循环碰撞问题,有效缩短执行时间。29.(2)相比于原有算法,本发明方法规划出来的路径实际执行时间更短,效率更高。附图说明30.图1为本发明的主要流程示意图;31.图2为本发明采用的测试任务地图;32.图3为采用任务地图中的单通道场景提取图;33.图4为单通道场景中agv死锁的说明;34.图5为单通道场景中agv碰撞拥堵的说明;35.图6为实验中优先级按设定规则排序的变化展示图。具体实施方式36.下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。37.实施例138.参考图1所示,本实施例提供一种单通道场景下的启发式路径规划方法,包括以下步骤:39.步骤s1,获取每个agv的任务起始位置与终止位置,构建输入列表。40.具体地,所述位置包括agv在任务地图上的x与y轴上的索引。41.本实施例中,在获取每个agv的任务起始位置与终止位置之前,先要构建agv所执行任务的网格地图,如图2所示。其中,网格地图上分为障碍位置与可通行位置。并且,在整个任务地图中,包含着如图3所示的单通道结构,作为整个场景的核心部分。在单通道场景中,更容易出现所述死锁与拥堵现象,如图4和图5所示。故为测试算法优越性,将任务起点终点均置于单通道周围两侧。42.本实施例中,从设置好的总可行点列表中随机设置每个agv的起点与终点;在选取好的起点位置设置agv;将agv终点添加到对应agv的任务点列表中。具体初始任务可参照如下表1。43.表1[0044][0045]任务设定完成之后,在任务起始点上生成对应id的agv,随后构建agv任务列表itemlist。[0046]步骤s2:对每一个agv,计算它的起点到终点的曼哈顿距离。[0047]具体地,分别计算s1中每个agv的起始点与终止点的x上索引与y上索引对应相减的绝对值,随后再各自相加,计算公式如下:[0048]dmanhattan=|xi-xj| |yi-yj|[0049]其中,(xi,yi)、(xj,yj)分别为id为i和j的agv在任务地图上的x与y轴上的索引。[0050]步骤s3:找到s2步骤中计算所得最小值对应的agv,将其设置为最高优先级。[0051]具体地,将s2中计算所得的各agv的起始点与终点之间的曼哈顿距离由小到大进行排序,将排序后的结果中最前面的位置弹出,也即曼哈顿距离最小的agv弹出。[0052]步骤s4:将优先级最高的agv从输入列表中移除,将其加入至输出列表中,并将移除的agv终点记为current_node。[0053]步骤s5:重复s2-s4步骤,直至输入列表为空。[0054]步骤s6:执行whca*算法进行多agv路径规划,并移动agv至相应位置。[0055]具体地,首先建立存放已规划agv路径的数据结构预约表(reservationtable),随后按照之前步骤确定的优先级顺序,逐次按优先级从高到低使用a*算法进行路径规划。计算好的路径按(位置,到达时间)的格式放入到reservationtable,从而使后续低优先级的agv进行规划时不得与已经在reservationtable中的路径进行冲突。[0056]利用whca*算法,根据已输入的w时间窗大小,按上述每个agv进行一轮路径规划后,开始执行相应的移动步骤,移动步数可由用户输入,设定为k(k《w)。每个agv按先前w时间窗内规划好的路径,移动k步,到达相应位置。如果规划成功,则一直按此步骤进行规划与移动,如果规划失败,则执行步骤s10。[0057]步骤s7:统计当前规划中每个agv的碰撞次数。[0058]具体地,当低优先级的agv进行规划时,如果与高优先级agv已经规划好的在reservationtable中的时空步发生collision(包括nodecollision与swapcollision),则相应该agv的碰撞数加1。最后按哈希表的形式将agv与对应的碰撞数进行保存,哈希表的键为agv号数,值为该agv对应的collision数量。[0059]根据实际中的碰撞与死锁设计碰撞规则,当agv在寻路过程中发现会和已经在reservationtable中的点发生碰撞时,相应agv的碰撞统计数加1。所述根据实际中的碰撞与死锁设计碰撞规则,包括:程序中设定关于节点碰撞的相关规则;程序中设定关于对向碰撞(死锁)的相关规则。[0060]步骤s8:将agv按碰撞次数降序排列,按所述碰撞次数由高到低更新所述输出列表,碰撞次数越多的agv优先级越高。[0061]步骤s9:重复s6至s8步骤,如果所有agv均到达终点,则算法结束。[0062]具体地,也就是除第一轮的优先级为事先输入以外,剩余whca*算法各轮的优先级皆按照先前轮统计的各agv冲突数进行降序排列,并抽取对应的agv组成。具体示意图如图5所示。[0063]步骤s10:如果出现agv规划失败的情况,将其加入失败列表fail_agent_list中,先按顺序继续使用whca*规划剩余agv至相应位置,直至当前轮规划完成。[0064]步骤s11:将whca*算法中的reservationtable清空,重新规划当前规划失败的agv。[0065]具体地,对于先前未能规划成功的agv,则在清空当前轮预约表后,将规划成功的剩余agv当前占据位置作为障碍点不可通行。此时,再进行先前规划失败的agv的路径规划,直至所有agv均达到终点。[0066]上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0067]实施例2[0068]本实施例提供一种电子设备,包括一个或多个处理器、存储器和被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于执行如实施例1所述启发式路径规划方法的指令。[0069]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本
技术领域
:中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献