具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先对本发明中可能涉及到的术语进行说明:
(1)AGV:Automated Guided Vehicle的缩写,装有电磁或光学等自动引导装置,由计算机控制,以轮式移动为特征,自带动力或动力转换装置,并且能够沿规定的导引路径自动行驶的运输工具,一般具有安全防护、移载等多种功能;
(2)AGV调度:指在具有多种多量AGV的系统中进行任务管理,设备管理,交通管理等功能,使得所有AGV能够合理的完成任务;
(3)任务分配:按照一定原则将系统中的任务分配到具体的AGV去执行;
(4)路径规划:生成所有指定AGV的路径使其能够完成被指派的任务。
在相关技术中在执行任务时,例如,进行物品搬运时,一般在挑选设备时只会从目标点所在的目标区域(例如,待搬运物品所在的区域)进行挑选,由此可能会存在着所在区域内无可用AGV而导致无法执行任务的情况。此外,由于不会从其他区域挑选设备,可能导致没有选择虽然需要从其他区域转移到所在区域但实际能够用时更短到达目标点的AGV。针对相关技术中存在的上述问题,在本发明实施例中提供了一种任务的执行方法,下面结合实施例对本发明进行说明:
在本实施例中提供了一种任务的执行方法,图1是根据本发明实施例的任务的执行方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,确定目标任务的目标点;
步骤S104,从预定区域中确定出用于执行所述目标任务的目标AGV,其中,所述预定区域包括所述目标点所在的目标区域,以及除所述目标区域之外的第一区域;
步骤S106,控制所述目标AGV到达所述目标点以执行所述目标任务。
其中,执行上述操作的可以是设备调度器,例如,后台的具备调度能力的服务器,或者其他的具备调度能力的设备。
在本实施例中,可以预先对各个区域进行划分,例如,可以基于楼层进行区域划分,一层楼对应一个区域。在本实施例中,可以预先配置AGV与区域之间的对应关系,即,记录各区域中有哪些AGV,在AGV完成跨区域的目标任务后,可以调度该AGV返回至其所属的区域。其中,上述的目标点可以是AGV执行目标任务的起始点,例如,待搬运物品的所在点。
在上述实施例中,在选择完成任务的AGV时,是从至少包括目标任务的目标点所在的目标区域的多个区域中来选择AGV的,而并非仅在目标区域中选择AGV,由此增加了AGV的选择性,实现在所多个区域中来综合选择最优选的AGV的目的,有效解决相关技术中存在的无法完成任务或者完成任务耗时较长的问题。
在一个可选的实施例中,从预定区域中确定出用于执行所述目标任务的目标AGV包括:根据所述目标任务的任务信息确定所述预定区域中具备执行所述目标任务的候选AGV;确定所述候选AGV到达所述目标点的时间;将所述候选AGV中到达所述目标点的时间最短的AGV确定为所述目标AGV。其中,候选AGV可以包括空闲AGV,还可以包括虽然目前并不空闲,但是可以在短时间内(例如,10s,30s,60s内等)结束上一个任务的AGV。在本实施例中,可以综合考虑多个区域中的AGV达到目标点的时间,进而从多个区域中确定出到达目标点用时最短的AGV,保证了任务能够被快速执行。
在一个可选的实施例中,候选AGV所在的区域与目标区域可能不是同一个区域,也可能是同一个区域,下面分情况说明如何确定所述候选AGV到达所述目标点的时间:
情况一:在确定所述候选AGV位于所述目标区域内时,利用第一算法确定所述候选AGV到达所述目标点的第一路径,并确定所述第一路径对应的时间;可选地,在该实施例中,第一算法是用于执行路径搜索的算法,例如,可以是A*算法(启发式搜索算法),当然也可以是其他的用来进行同区域的最优路径搜索的算法,即,可以由其他的路径搜索算法替代A*算法。
情况二:在确定所述候选AGV位于所述第一区域内时,确定第一拓扑地图,其中,所述第一拓扑地图中,以所述候选AGV所在位置为起始节点,以所述候选AGV所在区域内所有电梯入口点为所述起始节点的后序节点,以所述AGV所在位置到达所述电梯入口点的第二路径对应的时间作为所述起始节点到所述后序节点的长度,以及,以所述目标点为终止节点,以所述目标区域中的所有电梯出口点为所述终止节点的前序节点,以所述电梯出口点到达所述目标点的第三路径对应的时间作为所述前序节点到所述终止节点的长度;将所述第一拓扑地图与预先确定的跨区域拓扑地图进行组合以得到目标拓扑地图,其中,所述跨区域拓扑地图为根据所述预定区域中的电梯点信息构建的电梯入口点与电梯出口点之间的交接拓扑地图;利用第二算法从所述目标拓扑地图中确定出所述候选AGV到达所述目标点的最小时间。可选地,在该实施例中,第二算法可以是Dijkstra算法,当然也可以由其他用于计算非负权有向拓扑图最短路径的算法替代该Dijkstra算法。
在一个可选的实施例中,在将所述第一拓扑地图与预先确定的跨区域拓扑地图进行组合以得到目标拓扑地图之前,所述方法还包括:以所述预定区域中的电梯入口点和电梯出口点为节点,以由电梯入口点到相应的其他区域的电梯出口点为第一边,以通过电梯交接所需要消耗的时间作为所述第一边的长度,以及,以由电梯出口点到相同区域内的电梯入口点为第二边,以通过执行路径消耗的时间作为所述第二边的长度,构造非负全有向图;将所述非负全有向图确定为所述跨区域拓扑地图。在本实施例中,在对AGV进行调度之前,需要先基于所有区域的电梯点信息,建立跨区域的交接拓扑地图,此外,需要说明的是,前述的建立方法仅是一种可选的实施方式,在实际应用中,还可以采用其他的拓扑地图的构建方式来建立跨区域拓扑地图。
在一个可选的实施例中,控制所述目标AGV到达所述目标点以执行所述目标任务包括:在确定所述目标AGV位于所述第一区域内时,确定所述目标AGV在到达所述目标点的过程中所经过的第一电梯入口点和与所述第一电梯入口点对应的第一电梯出口点;控制所述目标AGV行驶至所述第一电梯入口点以及控制电梯调用与所述第一电梯入口点对应的第一电梯到达所述第一电梯入口点;在确定所述第一电梯到达所述第一电梯入口点且开门之后,控制所述目标AGV进入所述第一电梯内;控制所述第一电梯到达所述第一电梯出口点后,控制所述目标AGV在所述第一电梯开门之后驶出所述第一电梯,以控制所述目标AGV到达所述目标点以执行所述目标任务。在本实施例中,目标AGV到达目标点的过程中可能会执行多次上电梯——下电梯的操作(两个区域之间可能并不是直达的,而是需要通过多部电梯才能由一个区域达到另一个区域),在每次上下电梯的操作中都可以采用前述的方式来实现。
下面结合一个具体的实施例对本发明进行整体说明:
在该具体实施例中提供了一种AGV调度系统中的跨楼层任务分配方法,如图2所示,该方法包括如下步骤:
Step1:根据所有区域的电梯点信息,建立交接拓扑地图。每个区域存在电梯出口点I和电梯入口点O,若相应的电梯口只进不出则无电梯出口点,若只出不进则无电梯入口点。入口点连接着一个或多个其他区域的电梯出口点。以电梯出口点和电梯入口点为节点,不同区域中,一个区域的电梯入口点到相应的其他区域电梯出口点IO为边;相同区域内的出口点到相同区域的其他入口点OI为边,边长(权值)为各点通过电梯交接所需消耗时间(根据目前电梯正在执行的任务和所在的位置估算)或者执行路径消耗的估计时间,构造非负全有向图,作为跨区域的拓扑地图M1。
Step2:根据任务信息,遍历所有符合条件的AGV,计算任务代价值,选取任务代价最小的AGV。计算流程为:若AGV与任务点在同一个区域,则使用A*路径规划算法计算得到最优路径后转换为时间代价。若AGV与任务点不在同一个区域则以AGV所在位置为起始节点,同区域内所有电梯入口点为其后序点,长度为各段通过路径规划得到时间代价值;以目标点为终止节点,目标区域的所有电梯出口点为其前序节点,长度为各段通过路径规划得到时间代价值。共同连接跨区域拓扑地图M1组成拓扑地图MA,后采用Dijkstra算法计算得到从AGV起点位置到达目标点所需的跨区域最小时间代价,并记录当前区域要经过的电梯入口点和对应的电梯出口点。
Step3:判断最小时间代价的AGV是否需要跨区域,需要则执行Step4,不需要则执行Step8。
Step4:根据Step2代价计算时规划的路径输出AGV起点区域的电梯点入口和通过该电梯到达的区域的电梯点出口位置,下发指令让AGV行驶到所选的电梯入口点。
Step5:到达其交接点的入口点后向梯控请求调用相应的电梯,等待请求的电梯到达并开门后,下发指令让AGV进入电梯内。
Step6:调用电梯到达相应区域并开门后下发指令让AGV驶出电梯到达电梯出口位置。
Step7:判断AGV是否到达任务目标区域,若到达则执行Step8,否则重新执行Step1。
Step8:下发到目标点的任务给AGV。
到达目标点后装载货物根据规划的路径或交接信息控制AGV执行后续任务。其中,A*算法是一个种启发式搜索算法,在本实施例中用来进行同区域的最优路径搜索,也可以由其他的路径搜索算法替代;Dijkstra算法也可以由其他用于计算非负权有向拓扑图最短路径的算法替代。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种任务的执行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的任务的执行装置的结构框图,如图3所示,该装置包括:
第一确定模块32,用于确定目标任务的目标点;第二确定模块34,用于从预定区域中确定出用于执行所述目标任务的目标AGV,其中,所述预定区域包括所述目标点所在的目标区域,以及除所述目标区域之外的第一区域;控制模块36,用于控制所述目标AGV到达所述目标点以执行所述目标任务。
在一个可选的实施例中,所述第二确定模块34包括:第一确定单元,用于根据所述目标任务的任务信息确定所述预定区域中具备执行所述目标任务的候选AGV;第二确定单元,用于确定所述候选AGV到达所述目标点的时间;第三确定单元,用于将所述候选AGV中到达所述目标点的时间最短的AGV确定为所述目标AGV。
在一个可选的实施例中,所述第二确定单元可以通过如下方式确定所述候选AGV到达所述目标点的时间:
在确定所述候选AGV位于所述目标区域内时,利用第一算法确定所述候选AGV到达所述目标点的第一路径,并确定所述第一路径对应的时间;或者,
在确定所述候选AGV位于所述第一区域内时,确定第一拓扑地图,其中,所述第一拓扑地图中,以所述候选AGV所在位置为起始节点,以所述候选AGV所在区域内所有电梯入口点为所述起始节点的后序节点,以所述AGV所在位置到达所述电梯入口点的第二路径对应的时间作为所述起始节点到所述后序节点的长度,以及,以所述目标点为终止节点,以所述目标区域中的所有电梯出口点为所述终止节点的前序节点,以所述电梯出口点到达所述目标点的第三路径对应的时间作为所述前序节点到所述终止节点的长度;将所述第一拓扑地图与预先确定的跨区域拓扑地图进行组合以得到目标拓扑地图,其中,所述跨区域拓扑地图为根据所述预定区域中的电梯点信息构建的电梯入口点与电梯出口点之间的交接拓扑地图;利用第二算法从所述目标拓扑地图中确定出所述候选AGV到达所述目标点的最小时间。
在一个可选的实施例中,所述装置还用于在将所述第一拓扑地图与预先确定的跨区域拓扑地图进行组合以得到目标拓扑地图之前,以所述预定区域中的电梯入口点和电梯出口点为节点,以由电梯入口点到相应的其他区域的电梯出口点为第一边,以通过电梯交接所需要消耗的时间作为所述第一边的长度,以及,以由电梯出口点到相同区域内的电梯入口点为第二边,以通过执行路径消耗的时间作为所述第二边的长度,构造非负全有向图;将所述非负全有向图确定为所述跨区域拓扑地图。
在一个可选的实施例中,所述第一算法包括A*算法;和/或,所述第二算法包括Dijkstra算法。
在一个可选的实施例中,所述控制模块可以通过如下方式控制所述目标AGV到达所述目标点以执行所述目标任务:在确定所述目标AGV位于所述第一区域内时,确定所述目标AGV在到达所述目标点的过程中所经过的第一电梯入口点和与所述第一电梯入口点对应的第一电梯出口点;控制所述目标AGV行驶至所述第一电梯入口点以及控制电梯调用与所述第一电梯入口点对应的第一电梯到达所述第一电梯入口点;在确定所述第一电梯到达所述第一电梯入口点且开门之后,控制所述目标AGV进入所述第一电梯内;控制所述第一电梯到达所述第一电梯出口点后,控制所述目标AGV在所述第一电梯开门之后驶出所述第一电梯,以控制所述目标AGV到达所述目标点以执行所述目标任务。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
在本发明实施例中,在多区域场景下,除了估算目标点区域内的AGV到达目标点的时间代价,同时还会通过建立交接拓扑地图来估算系统中其他区域内符合条件的AGV到达目标点的时间代价,挑选最小代价AGV执行任务。避免了只在本区域选取AGV可能发生的其他区域空闲设备较多,却不会被选来执行任务的问题。以及其他区域的AGV能够更快的到达目标点但是没有被选取,而选取了本区域内一辆需要更久的时间才能够到达的AGV去执行任务。
在本发明实施例中,在多区域场景下,将所有电梯在各区域的入口与出口,根据连接关系,建立了交接拓扑图,通过对交接拓扑进行规划计算,使得在无法通过一个电梯直达目标区域的一次性交接的场景下可以规划出经过两次次或多次交接的交接方式到达目标区域。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。