无人搬运车的调度方法和装置
文献发布时间:2023-06-19 10:24:22
技术领域
本申请属于智能调度技术领域,具体涉及一种无人搬运车的调度方法、装置、计算机设备以及计算机可读存储介质。
背景技术
无人搬运车简称AGV小车,车体装备有自动引导装置用来引导AGV小车沿着规划好的路径运行,能够完成一系列货物派送、自动充电等任务,具有工作效率高以及安全性好的优势,对于工业实现自动化起着积极推动的作用。
AGV小车车体装备有车载控制系统,可以通过无线局域网与调度系统建立通信,调度系统下发任务,AGV小车根据创建的任务,规划好路线并执行。其中,路径规划是指构成连接起点位置和终点位置的序列点或曲线的策略,A星算法就是路径规划其中的一种启发性搜索算法。
原始的A星算法根据任务信息通过计算后得到最短路径并安排一辆AGV小车执行任务,但原始的A星算法仅仅只是考虑距离长短,并未考虑道路狭窄、易发生行车冲突的单车道路、交叉路和行人密集区等不可抗拒的外部因素,因此规划出的最短路径并不是最优路径,不可避免地存在一定几率造成无法获得最优小车和最优路径的情况。
上述应用方案下原始的A星算法只考虑距离规划出的最短路径不是最优路径,进而降低运输效率。
发明内容
为至少在一定程度上克服相关技术中存在的原始的A星算法只考虑距离规划出的最短路径不是最优路径,进而降低运输效率的问题,本申请提供了一种无人搬运车的调度方法、装置、计算机设备以及计算机可读存储介质,有助于在对无人搬运车进行智能调度时能够准确确定出最优路径,进而达到提高运输效率的技术效果。
为实现以上目的,本申请采用如下技术方案:
第一方面,
本申请提供了一种无人搬运车的调度方法,所述方法包括:
接收调度任务,其中,所述调度任务包括:起点位置和终点位置;
根据每个路段的边权值规划出目标路径,其中,所述目标路径包括从所述起点位置至所述终点位置之间的多个路段,所述多个路段中的每个路段的代价值最小;
按照目标路径执行所述调度任务。
进一步地,根据每个路段的边权值规划出目标路径包括:
从所述起点位置开始,重复执行以下步骤,直至当前位置的下一个位置到达所述终点位置:
获取所述当前位置的可到达位置,其中,所述可到达位置不包括所述当前位置的上一个位置;
分别计算所述当前位置至所述可到达位置的代价值;
将代价值最小的可到达位置确定为所述当前位置的下一个位置。
进一步地,按照以下公式计算所述当前位置至所述可到达位置的代价值:
F(n)=(G(n)+H(n))×i
其中,G(n)表示所述当前位置至所述可达到位置的移动代价值;H(n)表示所述可到达位置至所述终点位置的预测代价值;i表示所述当前位置至所述可到达位置之间的路段的边权值;F(n)表示所述当前位置至所述可到达位置的代价值。
进一步地,在接收调度任务之前,所述方法还包括:
从处于空闲状态的无人搬运车中选择距离所述起点位置最近的无人搬运车,并向所述无人搬运车发送所述调度任务。
进一步地,在接收调度任务之前,所述方法还包括:
预先设置从所述起点位置至所述终点位置之间的多个路段中的每个路段的边权值。
第二方面,
本申请提供了一种无人搬运车的调度装置,所述装置包括:
接收单元,用于接收调度任务,其中,所述调度任务包括:起点位置和终点位置;
规划单元,用于根据每个路段的边权值规划出目标路径,其中,所述目标路径包括从所述起点位置至所述终点位置之间的多个路段,所述多个路段中的每个路段的代价值最小;
执行单元,用于按照目标路径执行所述调度任务。
进一步地,所述规划单元用于:
从所述起点位置开始,重复执行以下步骤,直至当前位置的下一个位置到达所述终点位置:
获取所述当前位置的可到达位置,其中,所述可到达位置不包括所述当前位置的上一个位置;
分别计算所述当前位置至所述可到达位置的代价值;
将代价值最小的可到达位置确定为所述当前位置的下一个位置。
进一步地,按照以下公式计算所述当前位置至所述可到达位置的代价值:
F(n)=(G(n)+H(n))×i
其中,G(n)表示所述当前位置至所述可达到位置的移动代价值;H(n)表示所述可到达位置至所述终点位置的预测代价值;i表示所述当前位置至所述可到达位置之间的路段的边权值;F(n)表示所述当前位置至所述可到达位置的代价值。
第三方面,
本申请提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的无人搬运车的调度方法。
第四方面,
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的无人搬运车的调度方法。
本申请采用以上技术方案,至少具备以下有益效果:
本申请通过接收调度任务,其中,所述调度任务包括:起点位置和终点位置;根据每个路段的边权值规划出目标路径,其中,所述目标路径包括从所述起点位置至所述终点位置之间的多个路段,所述多个路段中的每个路段的代价值最小;按照目标路径执行所述调度任务,相比于现有技术只考虑距离所确定的最短路径,本申请能够在对无人搬运车进行智能调度时能够准确确定出最优路径,进而解决相关技术中存在的原始的A星算法只考虑距离规划出的最短路径不是最优路径,进而降低运输效率的问题,达到提高运输效率的技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的无人搬运车的调度方法的流程图;
图2是根据一示例性实施例示出的无人搬运车的调度流程的示意图;
图3是根据一示例性实施例示出的最优路径对比的示意图;
图4是根据一示例性实施例示出的无人搬运车的调度装置的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
图1是根据一示例性实施例示出的无人搬运车的调度方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101、接收调度任务,其中,所述调度任务包括:起点位置和终点位置。
在一个实施例中,调度系统在接收到调度请求时,生成调度任务,其中,调取请求中携带有起点位置和终点位置。调度系统在生成调度任务之后,调度系统会从处于空闲状态的无人搬运车中选择距离所述起点位置最近的无人搬运车,并向所述无人搬运车发送所述调度任务。
在一个实施例中,在无人搬运车接收调度系统下发的调度任务之前,所述方法还包括:所述调度系统预先设置从所述起点位置至所述终点位置之间的多个路段中的每个路段的边权值。
可选地,对于一些会产生额外代价的特殊性路径、路段,设定边权值最合适的值为i=1.5,对于正常路径、路段,设定边权值最合适的值为i=1。
在一个实施例中,调度系统在向无人搬运车下发调度任务的时候,会同时将每个路段的边权值发送给无人搬运车。
步骤S102、根据每个路段的边权值规划出目标路径,其中,所述目标路径包括从所述起点位置至所述终点位置之间的多个路段,所述多个路段中的每个路段的代价值最小。
在一个实施例中,所述无人搬运车根据每个路段的边权值规划出目标路径包括:
从所述起点位置开始,重复执行以下步骤,直至当前位置的下一个位置到达所述终点位置:
获取所述当前位置的可到达位置,其中,所述可到达位置不包括所述当前位置的上一个位置;
分别计算所述当前位置至所述可到达位置的代价值;
将代价值最小的可到达位置确定为所述当前位置的下一个位置。
进一步地,按照以下公式计算所述当前位置至所述可到达位置的代价值:
F(n)=(G(n)+H(n))×i
其中,G(n)表示所述当前位置至所述可达到位置的移动代价值;H(n)表示所述可到达位置至所述终点位置的预测代价值;i表示所述当前位置至所述可到达位置之间的路段的边权值;F(n)表示所述当前位置至所述可到达位置的代价值。
通过考虑每个路段的边权值所确定的目标路径是最优路径,其代价值最小,无人搬运车按照目标路径执行调度任务可以极大地提高无人搬运车的运输效率。
步骤S103、按照目标路径执行所述调度任务。
在根据每个路段的边权值确定最优的目标路径之后,无人搬运车自动按照规划的目标进行执行调度任务,并在所述调度任务执行完之后向所述调度系统反馈通知消息,通知所述调度系统所述调度任务执行完成。
综上,本申请通过无人搬运车接收调度系统下发的调度任务,其中,所述调度任务包括:起点位置和终点位置;所述无人搬运车根据每个路段的边权值规划出目标路径,其中,所述目标路径包括从所述起点位置至所述终点位置之间的多个路段,所述多个路段中的每个路段的代价值最小;所述无人搬运车按照目标路径执行所述调度任务,相比于现有技术只考虑距离所确定的最短路径,本申请能够在对无人搬运车进行智能调度时能够准确确定出最优路径,进而解决相关技术中存在的原始的A星算法只考虑距离规划出的最短路径不是最优路径,进而降低运输效率的问题,达到提高运输效率的技术效果。
下面通过优选实施例对本申请实施例进行描述和说明。
图2是根据一示例性实施例示出的无人搬运车的调度流程的示意图,如图2所示,该调度流程可以描述为:
无人搬运车系统处于待机中,在接收到开机信号之后,接收调度系统下发的调度任务,调度系统可以指定无人搬运车,也可以自由分配无人搬运车,之后无人搬运车进行路径规划,并按照规划好的路径执行调度任务。其中,调度系统可以检测所有空闲状态的无人搬运车,并基于路段的边权值以及距离因素确定执行任务的无人搬运车,之后该无人搬运车按照起点、终点、边权值以及路径线规划出最优路径。
该实施例提出一种基于A星算法考虑权值的AGV调度方法,此处的AGV即为无人搬运车,将考虑权值因素的改进A星算法应用于创建任务自动分配小车时查询出最优小车以及任务路径规划,考虑权值因素即根据路段状况赋予规定权值,考虑每条路段在实际路段情况中带来的额外开销代价,以时间最优和路径最优的目标进行路线规划,通过考虑边的权值计算的改进A星算法,根据A星算法的移动代价值和估算值之和与权值i的积,规划出最优路径。
该实施例的具体实施方法如下:
(1)规定每条路径的边权值:地图路线和实地路线并不是完全一致的,实验的实地场景有着一定的外力因素影响着实际效果,如单车道、交叉路口等因素。通常这种边权因素所花费的代价比较高一点,该实施例提出对于路径、路段,会动态赋予权值i,考虑到权值设定的大小影响着路段,通过数据对比法进行大量实验,根据聚类算法进行数据分析:当边权值设定过大,会导致A星算法每一次规划都不会经过此路段,即该路段变成了没有存在的意义,当边权值设定过小,规划出的路径也有一定几率不是最优路径,从实验数据分析得出边权值设定的最佳值,对于一些会产生额外代价的特殊性路径、路段,设定边权值最合适的值为i=1.5,对于正常路径、路段,设定边权值最合适的值为i=1。i值是路径花费的代价值,即边权值,作为计算依据。
根据上述数据对比实验得出的分析结果,使用人员根据现场路段情况,对于正常路径,调度系统会默认设定i=1,对于一些交叉路口、单车道等特殊的路径,工作人员需要在调度系统上编辑的边权值,选择设定为i=1.5。
(2)在A星算法计算最短路径时增加边权值i:原始的A星算法评估函数为:
F(n)=G(n)+H(n)
算法过程为从一个起点开始对各个方向的节点进行评估,根据评估代价值,取得代价最少也就是路径最短的节点作为AGV小车经过的点,直到到达终点,但是原始的A星算法只考虑距离问题并未考虑其他因素,导致实际规划的路径存在一定误差,最短路径并不是最优路径。
该优选实施例提出在A星算法计算时增加边权值i,改进算法的新公式为:
F(n)=(G(n)+H(n))×i
边权值i由使用人员根据现场情况设定,G(n)是从起点移动到当前点的移动代价,H(n)是从起点到目标点的估算值,根据计算后两者之和与i的积即为评估函数F(n)结果,数值越小,证明此路径所花费的代价更低,以此得出最优路径。
(3)如图3所示,加粗线段AB、BC、CD即为设定的特殊性路段,原始A星算法通过计算后,得到如图左面所示经过特殊性路段的最短路径,即(AB、BC、CD、DH、HL),虽然规划出的路线是最短路径,但AGV小车在实际运行过程中,经过特殊路段花费的时间长,所付出的代价增加,经过改进后的A星算法将边权值考虑在内,在尽量避免经过特殊路段的情况下,规划出最优路线,即(AE、EF、FG、GH、HL),如图右面所示,相比之下所花费的运输时间大大缩短。
通过以上实验,作用于实现最优路线规划的AGV调度方法,与原始A星算法的最短路径规划相比,能结合实际的作业现场路段情况,将耗费的代价值降低,从而规划出最优路径。
该实施例的应用对象不局限于AGV小车,还可以应用于类似的运输调度工具,如AGV仓库叉车等。
该实施例解决了如下问题:
1、规划最优路径,提高运输效率。针对原始A星算法只考虑距离大小计算出的最短距离问题和一些易发生行车冲突的单车道路、交叉路和行人密集区等外部因素导致的AGV小车大大增加运输时间的问题,采用考虑边权值因素的方法,规划出最优路径提高运输效率。
2、增强安全性。针对于一些行人密集区容易发生意外事故的问题,将该类路段进行赋加权值,尽量避免经过此路段,提升安全性,当由于任务路线需要时,仍然可经过此路段,不会造成路段资源浪费的情况。
该实施例能实现的有益效果为:改进的A星算法对于道路狭窄、易发生行车冲突的单车道路、交叉路和行人密集区等不可抗拒的外部因素也能够正确规划出最优路径,获得最优小车以及最优路径,稳定性和安全性大大增强,极大地提高了运输的效率。
本实施例还提供了一种无人搬运车的调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据一示例性实施例示出的无人搬运车的调度装置的示意图,如图4所示,该装置包括:
接收单元41,用于接收调度任务,其中,所述调度任务包括:起点位置和终点位置;
规划单元42,用于根据每个路段的边权值规划出目标路径,其中,所述目标路径包括从所述起点位置至所述终点位置之间的多个路段,所述多个路段中的每个路段的代价值最小;
执行单元43,用于按照目标路径执行所述调度任务。
在一个实施例中,所述规划单元42用于:
从所述起点位置开始,重复执行以下步骤,直至当前位置的下一个位置到达所述终点位置:
获取所述当前位置的可到达位置,其中,所述可到达位置不包括所述当前位置的上一个位置;
分别计算所述当前位置至所述可到达位置的代价值;
将代价值最小的可到达位置确定为所述当前位置的下一个位置。
在一个实施例中,按照以下公式计算所述当前位置至所述可到达位置的代价值:
F(n)=(G(n)+H(n))×i
其中,G(n)表示所述当前位置至所述可达到位置的移动代价值;H(n)表示所述可到达位置至所述终点位置的预测代价值;i表示所述当前位置至所述可到达位置之间的路段的边权值;F(n)表示所述当前位置至所述可到达位置的代价值。
在一个实施例中,所述装置还包括:
选择单元,用于在接收调度任务之前,从处于空闲状态的无人搬运车中选择距离所述起点位置最近的无人搬运车,并向所述无人搬运车发送所述调度任务。
在一个实施例中,所述装置还包括:
预置单元,用于在接收调度任务之前,预先设置从所述起点位置至所述终点位置之间的多个路段中的每个路段的边权值。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本申请实施例还提供了一种计算机设备,本申请实施例无人搬运车的调度方法可以由计算机设备来实现。本申请实施例中的计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,处理器执行所述计算机程序时实现上述实施例中的任意一种无人搬运车的调度方法。
本申请实施例还提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种无人搬运车的调度方法。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。
应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
- 无人搬运车的调度方法和装置
- 一种基于智能仓库的无人搬运车调度方法及装置