发明内容
本申请提供一种任务处理方法、装置、设备和存储介质,用以解决运送设备处理任务的处理效率较低,需要消耗的时间较长的问题。
第一方面,本申请提供了一种任务处理方法,包括:
获取待处理的多个任务,其中,每一个所述任务包括处理任务时的行驶路径;
根据各个所述任务的行驶路径,生成至少一个任务组合,其中,每一个所述任务组合中包括至少一个所述任务,归属于同一任务组合的任务的行驶路径之间具有路径相似性;
对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径;
将各所述任务组合发送给运送设备,以使所述运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理。
进一步地,所述行驶路径包括多个行驶位置点,所述行驶位置点表征任务的抵达点,归属于同一行驶路径的行驶位置点之间具有行驶次序关系;根据各个所述任务的行驶路径,生成至少一个任务组合,包括:
根据每一个所述任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个所述任务的路径向量;
根据每一个所述任务的路径向量,确定每两个所述任务之间的路径相似性;
将所述路径相似性所表征的值大于预设值的每两个所述任务,加入到同一个所述任务组合中。
进一步地,根据每一个所述任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个所述任务的路径向量,包括:
根据每一个所述任务的行驶路径中的行驶次序关系,对根据每一个所述任务的行驶路径中的各个行驶位置点进行排序,得到每一个所述任务的路径向量。
进一步地,每两个所述任务之间的路径相似性为
其中,Wm为每两个所述任务中的一个任务的路径向量,Wn为每两个所述任务中的另一个任务的路径向量。
进一步地,每一个所述任务组合中包括至少一个路径点;对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径,包括:
根据每一个所述任务组合中的路径点,采用旅行商问题TSP算法对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径。
进一步地,将各所述任务组合发送给运送设备,以使所述运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理,包括:
根据预设的任务组合与运送设备之间的对应关系,将每一个所述任务组合发送给与任务组合对应的运送设备,以使与每一个所述任务组合对应的运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理。
进一步地,对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径,包括:
根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径;
将各所述任务组合发送给运送设备,以使所述运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理,包括:
根据所述匹配关系,将每一个所述任务组合发送给与任务组合匹配的运送设备,以使与每一个所述任务组合匹配的运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理并行驶至与每一个任务组合匹配的预设区域处。
进一步地,每一个所述任务组合中包括至少一个路径点;在所述根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个所述任务组合进行路径规划处理之前,还包括:
根据每一个所述任务组合中的各个路径点和各个任务,确定每一个所述任务组合的重心;
根据各所述运送设备的位置信息、各所述任务组合的重心、各所述预设区域的位置信息,确定匹配表达关系;
在确定所述匹配表达关系达到最小值时,确定得到所述匹配关系。
进一步地,每一个所述任务组合的重心为
其中,rx为每一个所述任务组合中的第x个路径点的位置信息;qx为每一个所述任务组合中的第x个路径点对应的任务的数量或重量;x∈[1,H],H为每一个所述任务组合中路径点的总个数,x、H为正整数。
进一步地,达到最小值的匹配表达关系为
其中,当第i个运送设备与第j个任务组合匹配时,xij=1;当第i个运送设备不与第j个任务组合匹配时,xij=0;当第j个任务组合与第k个预设区域匹配时,yjk=1;当第j个任务组合不与第k个预设区域匹配时,yjk=0;dij为第i个运送设备的位置信息与第j个任务组合的重心之间的欧几里得距离;cjk为第j个任务组合的重心与第k个预设区域的位置信息之间的欧几里得距离;Q为预设最小匹配数,Q=min(|I|,|J|);I为运送设备的总个数,J为任务组合的总个数,M为预设区域的总个数;i∈[1,I],j∈[1,J],k∈[1,M],
第二方面,本申请提供了一种任务处理装置,包括:
获取单元,用于获取待处理的多个任务,其中,每一个所述任务包括处理任务时的行驶路径;
生成单元,用于根据各个所述任务的行驶路径,生成至少一个任务组合,其中,每一个所述任务组合中包括至少一个所述任务,归属于同一任务组合的任务的行驶路径之间具有路径相似性;
处理单元,用于对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径;
发送单元,用于将各所述任务组合发送给运送设备,以使所述运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理。
进一步地,所述行驶路径包括多个行驶位置点,所述行驶位置点表征任务的抵达点,归属于同一行驶路径的行驶位置点之间具有行驶次序关系;所述生成单元,包括:
第一确定模块,用于根据每一个所述任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个所述任务的路径向量;
第二确定模块,用于根据每一个所述任务的路径向量,确定每两个所述任务之间的路径相似性;
加入模块,用于将所述路径相似性所表征的值大于预设值的每两个所述任务,加入到同一个所述任务组合中。
进一步地,所述第一确定模块,具体用于:
根据每一个所述任务的行驶路径中的行驶次序关系,对根据每一个所述任务的行驶路径中的各个行驶位置点进行排序,得到每一个所述任务的路径向量。
进一步地,每两个所述任务之间的路径相似性为
其中,Wm为每两个所述任务中的一个任务的路径向量,Wn为每两个所述任务中的另一个任务的路径向量。
进一步地,每一个所述任务组合中包括至少一个路径点;所述处理单元,具体用于:
根据每一个所述任务组合中的路径点,采用旅行商问题TSP算法对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径。
进一步地,所述发送单元,具体用于:
根据预设的任务组合与运送设备之间的对应关系,将每一个所述任务组合发送给与任务组合对应的运送设备,以使与每一个所述任务组合对应的运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理。
进一步地,所述处理单元,具体用于:
根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个所述任务组合进行路径规划处理,得到每一个所述任务组合对应的规划路径;
所述发送单元,具体用于:
根据所述匹配关系,将每一个所述任务组合发送给与任务组合匹配的运送设备,以使与每一个所述任务组合匹配的运送设备在每一个所述任务组合对应的规划路径上进行行走,以将每一个所述任务组合上的任务进行处理并行驶至与每一个任务组合匹配的预设区域处。
进一步地,每一个所述任务组合中包括至少一个路径点;所述装置,还包括:
第一确定单元,用于在所述处理单元根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个所述任务组合进行路径规划处理之前,根据每一个所述任务组合中的各个路径点和各个任务,确定每一个所述任务组合的重心;
第二确定单元,用于根据各所述运送设备的位置信息、各所述任务组合的重心、各所述预设区域的位置信息,确定匹配表达关系;
第三确定单元,用于在确定所述匹配表达关系达到最小值时,确定得到所述匹配关系。
进一步地,每一个所述任务组合的重心为
其中,rx为每一个所述任务组合中的第x个路径点的位置信息;qx为每一个所述任务组合中的第x个路径点对应的任务的数量或重量;x∈[1,H],H为每一个所述任务组合中路径点的总个数,x、H为正整数。
进一步地,达到最小值的匹配表达关系为
其中,当第i个运送设备与第j个任务组合匹配时,xij=1;当第i个运送设备不与第j个任务组合匹配时,xij=0;当第j个任务组合与第k个预设区域匹配时,yjk=1;当第j个任务组合不与第k个预设区域匹配时,yjk=0;dij为第i个运送设备的位置信息与第j个任务组合的重心之间的欧几里得距离;cjk为第j个任务组合的重心与第k个预设区域的位置信息之间的欧几里得距离;Q为预设最小匹配数,Q=min(|I|,|J|);I为运送设备的总个数,J为任务组合的总个数,M为预设区域的总个数;i∈[1,I],j∈[1,J],k∈[1,M],
第三方面,本申请提供了一种任务处理设备,包括用于执行以上第一方面的任一方法各个步骤的单元或者手段(means)。
第四方面,本申请提供了一种任务处理设备,包括处理器、存储器以及计算机程序,其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现第一方面的任一方法。
第五方面,本申请提供了一种任务处理设备,包括用于执行以上第一方面的任一方法的至少一个处理元件或芯片。
第六方面,本申请提供了一种计算机程序,该计算程序在被处理器执行时用于执行以上第一方面的任一方法。
第七方面,本申请提供了一种计算机可读存储介质,其上存储有第六方面的计算机程序。
本申请提供的任务处理方法、装置、设备和存储介质,通过获取待处理的多个任务,其中,每一个任务包括处理任务时的行驶路径;根据各个任务的行驶路径,生成至少一个任务组合,其中,每一个任务组合中包括至少一个任务,归属于同一任务组合的任务的行驶路径之间具有路径相似性;对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径;将各任务组合发送给运送设备,以使运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理。通过将任务的行驶路径之间的路径相似性,将多个任务进行组合,得到至少一个任务组合;为每一个任务组合进行路径规划,将规划了路径的每一个任务组合发送给运送设备;从而,运送设备可以在每一个任务组合对应的规划路径上进行行走,进而,运送设备将每一个任务组合上的各个任务进行处理。通过以上方式,运送设备可以在一条路径上处理多个任务,可以提高处理任务的处理效率,降低任务处理时间。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例可以应用到各类设备中;可以应用到基于Go语言得到的系统或应用中。
需要指出的是,本申请实施例中涉及的名词或术语可以相互参考,不再赘述。
本申请具体的应用场景为:随着机器人技术的发展和应用,机器人开始作为运送设备应用到生活的工作中的各个领域中,包括了制造业、服务领域、等等。其中,机器人开始应用到物流领域中。机器人的使用可以优化流程及效率,机器人所进行的任务处理比人工的任务处理更加精确高效,同时降低了人员雇佣成本。在餐厅中,可以采用机器人为用户进行送餐服务;在进行配货的时候,可以采用机器人从多个配货点上拣选货物。
现有技术中,可以将每一个任务依次下发给运送设备,即下发给机器人;进而运送设备可以根据每一个任务所指示的地址点,依次的将每一个任务进行执行。
举例来说,在餐厅中为用户进行送餐的时候,餐厅内部的终端设备可以操作运送设备的运动轨迹,终端设备获取到菜品的任务之后,终端设备将该任务发送给运送设备;运送设备可以接收到一个菜品的任务,运送设备将该菜品,送达到该菜品所指示的地址点,该地址点为一个餐桌。
再举例来说,在配货的时候,运送设备可以接收到一个货物的拣选任务,然后,运送设备抵达到该货物所指示的地址点,该地址点为一个存储地点,然后,运送设备拣选出该货物进行运送。
然而现有技术中,运送设备逐个的执行每一个任务,即,运送设备在每处理一个任务的时候,依据每一个任务所指示的位置点生成一个路径,然后,运送设备在该路径上完成任务的处理;然后运送设备在完成一个任务之后,返回起点去执行下一个任务。从而,只能依据每一个任务的起点与任务的位置点生成一个路径,运送设备每次需要走一个路径去处理一个任务,运送设备处理任务的处理效率较低,需要消耗的时间较长。
本申请提供的任务处理方法、装置、设备和存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种任务处理方法的流程示意图。如图1所示,该方法包括:
101、获取待处理的多个任务,其中,每一个任务包括处理任务时的行驶路径。
在本实施例中,本实施例的执行主体可以是运送设备、或者终端设备、或者服务器、或者任务处理装置或设备、或者其他可以执行本实施例方法的装置或设备。
获取多个任务,例如,任务为菜品的送餐任务、或者货物的拣选任务、等等;每一个任务中包括一个路径点,该路径点为任务的指定的位置;例如,任务为菜品的送餐任务时,任务的路径点为餐桌的位置;任务为货物的拣选任务时,任务的路径点为货物所在的位置。然后,可以采用旅行商问题(Traveling Salesman Problem,简称TSP)算法,对每一个任务进行路径规划,得到每一个任务的行驶路径,可知,每一个任务的行驶路径为处理该任务时所要行驶的路径。
举例来说,若任务为菜品的送餐任务,菜品对应了一个起点,该起点为餐厅的厨房;并且,菜品对应了一个餐桌,该餐桌为菜品的路径点,即该餐桌为菜品的终点;可以采用TSP算法,对菜品的起点和终点进行路径规划,得到该任务的行驶路径。
再举例来说,若任务为货物的拣选任务,货物对应了一个起点,该起点为运送设备的起始位置点;并且,货物对应了一个货物所在位置点,即货物对应了一个路径点,可知,运送设备需要从货物所在位置点上拣选到该货物;可以采用采用TSP算法,对货物的起点和货物所在位置点进行路径规划,得到该任务的行驶路径。
102、根据各个任务的行驶路径,生成至少一个任务组合,其中,每一个任务组合中包括至少一个任务,归属于同一任务组合的任务的行驶路径之间具有路径相似性。
在本实施例中,为了便于多任务进行处理,可以将获取到的多个任务进行组合,得到至少一个任务组合,就可以将任务组合派发给运送设备,使得运送设备可以对多个任务进行处理。
从而,可以依据任务的行驶路径之间路径相似性,对任务进行组合处理,得到至少一个任务组合。
举例来说,若任务为菜品的送餐任务,可以将多个菜品进行组合处理,得到至少一个任务组合,每一个任务组合中包括至少一个菜品。
再举例来说,若任务为货物的拣选任务,可以将多个拣选任务进行组合处理,得到至少一个任务组合,每一个任务组合中包括至少一个货物的拣选任务。
103、对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径。
在本实施例中,由于将一个或多个任务组合成了一个任务组合,从而需要对任务的路径进行重新的规划;可以对每一个任务组合进行路径规划,以得到每一个任务组合的规划路径。
104、将各任务组合发送给运送设备,以使运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理。
在本实施例中,由于已经得到了每一个任务组合对应的规划路径,可以将任务组合派发给运送设备;然后,运送设备就可以在每一个任务组合对应的规划路径上进行行走,进而,运送设备将每一个任务组合上的各个任务进行处理。其中,运送设备可以为机器人。
并且,在运送设备的行走过程中,运送设备可以采用障碍物避让方式。可以在运送设备上设置激光雷达等检测设备;其中,激光雷达不仅用于地图制作和定位,还是室内障碍物感知的重要传感器。例如,激光雷达为一线激光雷达;但是一线激光雷达通常有较远的探测距离,但是无法感知在其探测平面外的障碍物,例如,无法检测到偏平障碍物、空中伸出的障碍物。从而为解决障碍物检测问题,可以在运送设备上设置深度相机,进而运送设备可以采用双传感器融合算法和深度视觉算法,去探测障碍物,进而躲避障碍物。
举例来说,若任务为菜品的送餐任务,每一个任务组合中包括多个菜品;将任务组合发送给运送设备;从而,运送设备可以在任务组合对应的规划路径上进行行走,将任务组合中的每一个菜品,运送至菜品对应的餐桌上。
再举例来说,若任务为货物的拣选任务,每一个任务组合中包括多个货物的拣选任务;将任务组合发送给运送设备;从而,运送设备可以在任务组合对应的规划路径上进行行走,运送设备在每一个货物的货物所在位置点上拣选到货物,然后,运送设备将任务组合中各拣选设备对应的货物拣选完毕之后,将各货物运送到指定地点。
本实施例,通过获取待处理的多个任务,其中,每一个任务包括处理任务时的行驶路径;根据各个任务的行驶路径,生成至少一个任务组合,其中,每一个任务组合中包括至少一个任务,归属于同一任务组合的任务的行驶路径之间具有路径相似性;对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径;将各任务组合发送给运送设备,以使运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理。通过将任务的行驶路径之间的路径相似性,将多个任务进行组合,得到至少一个任务组合;为每一个任务组合进行路径规划,将规划了路径的每一个任务组合发送给运送设备;从而,运送设备可以在每一个任务组合对应的规划路径上进行行走,进而,运送设备将每一个任务组合上的各个任务进行处理。通过以上方式,运送设备可以在一条路径上处理多个任务,可以提高处理任务的处理效率,降低任务处理时间。
图2为本申请实施例提供的另一种任务处理方法的流程示意图。如图2所示,该方法包括:
201、获取待处理的多个任务,其中,每一个任务包括处理任务时的行驶路径。
在本实施例中,本实施例的执行主体可以是运送设备、或者终端设备、或者服务器、或者任务处理装置或设备、或者其他可以执行本实施例方法的装置或设备。
在本实施例中,在任务为菜品的送餐任务的时候,对餐厅进行区域划分;图3为本申请实施例提供的区域划分示意图。如图3所示,可以将餐厅分为第一区域和第二区域;其中,第一区域为单菜品送餐的自动导引运输车(Automated Guided Vehicle,简称AGV)区域,第二区域为多菜品同时送达的飞马送餐区。
对于上述第一区域,在第一区域中设置了轨道,小车设置在轨道上;当用户在第一区域的餐桌上点餐时,餐桌上的终端设备可以接收到用户的点餐信息,其中,点餐信息中包括了菜品的标识;后台设备可以获取到餐桌上的终端设备的点餐信息和餐桌标识;当厨师完成菜品的制作之后,厨师触发后台设备进行菜品的配送,即厨师向后台设备发送触发指令;后台设备中存储有排队的AGV小车的序列,后台设备确定一个排队最靠前的AGV小车,然后后台设备显示该排队最靠前的AGV小车的标识;厨师将菜品放置到排队最靠前的AGV小车上;AGV小车具有重力识别功能,AGV小车可以确定被放置了菜品,然后AGV小车会将菜品盖住;然后,AGV小车在轨道上运行,将菜品送到餐桌标识对应的餐桌上;然后,AGV小车在轨道上运行,再次进行排队以运送其他菜品。
对于上述第二区域,可以执行本实施例提供的方法。首先,为第二区域配置了多个运送设备,即配置了多个机器人;当用户在第二区域的餐桌上点餐时,餐桌上的终端设备可以接收到用户的点餐信息,其中,点餐信息中包括了菜品的标识;后台设备可以获取到多个终端设备的点餐信息和餐桌标识;当厨师完成多个菜品的制作之后,厨师触发后台设备进行多个菜品的配送,即厨师向后台设备发送触发指令。此时,需要运送设备一次性的前往多个餐桌进行送餐。每一个菜品对应了一个餐桌,该餐桌为菜品的路径点,即该餐桌为菜品的终点;菜品的送达的起点为餐厅的厨房;每一个菜品为一个任务;后台设备可以采用TSP算法,对每一个菜品的起点和终点进行路径规划,得到每一个任务的行驶路径。
202、行驶路径包括多个行驶位置点,行驶位置点表征任务的抵达点,归属于同一行驶路径的行驶位置点之间具有行驶次序关系;根据每一个任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个任务的路径向量。
可选的,步骤202具体包括:根据每一个任务的行驶路径中的行驶次序关系,对根据每一个任务的行驶路径中的各个行驶位置点进行排序,得到每一个任务的路径向量。
在本实施例中,在步骤201之后,需要将多个任务进行分组,得到至少一个任务组合。
首先,由于每一个任务的行驶路径中包括了多个行驶位置点,一个行驶位置点是一个任务的抵达点,在进行送餐的时候,一个行驶位置点是一个餐品的抵达点,即,一个行驶位置点是一个餐品的送餐点;并且,每一个任务的行驶路径中还可以包括起点和终点,在进行送餐的时候,起点和终点都可以是餐厅的厨房;并且,由于是依次经过各个行驶位置点的,从而归属于同一行驶路径的行驶位置点之间具有行驶次序关系。进而,可以依据每一个任务的行驶路径中的行驶次序关系和各个行驶位置点,得到每一个任务的路径向量,可知,路径向量为任务的各个行驶位置点依据行驶次序关系所构成的。
举例来说,对于任务A,任务A的行驶路径中依次包括了位置点1、位置点2、位置点3、位置点4;可以根据位置点1、位置点2、位置点3、位置点4,构成任务A的路径向量。
203、根据每一个任务的路径向量,确定每两个任务之间的路径相似性。
可选的,每两个任务之间的路径相似性为其中,Wm为每两个任务中的一个任务的路径向量,Wn为每两个任务中的另一个任务的路径向量。
在本实施例中,对于待处理的多个任务,采用余弦相似性方法,计算每两个任务之间的路径相似性。即,一个任务的路径向量为Wm,另一个任务的路径向量为Wn,则这两个任务之间的路径相似性为
204、将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中。
在本实施例中,判断每两个任务之间的路径相似性所表征的值,是否大于预设值;将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中。
具体来说,对于待处理的多个任务,在得到每一个任务的行驶路径之后,可以得到每一个任务的各行驶位置点和位置点之间的行驶次序关系;首先,将一个任务加入到一个任务组合中,然后,可以得到该任务的路径向量,并且得到下一个任务的路径向量;采用上述余弦相似性方法,计算该任务的路径向量与下一个任务的路径向量之间的路径相似性;在确定路径相似性大于预设值的时候,将下一个任务加入到该任务所在任务组合中;在确定路径相似性小于等于预设值的时候,将下一个任务加入到新的任务组合中;然后,对于再下一个任务,计算上述任务的路径向量与再下一个任务的任务向量之间的路径相似性,并计算上述下一个任务的路径向量与再下一个任务的任务向量之间的路径相似性,若其中的一个路径相似性大于预设值,则将再下一个任务加入到对应的任务组合中,若这两个路径相似性都小于等于预设值的时候,则将再一个任务加入到新的任务组合中;对后面的任务,依次类推进行计算。进而得到至少一个任务组合。
举例来说,将任务A加入到任务组合1中;对于任务B,采用上述余弦相似性方法,计算任务A的路径向量与任务B的路径向量之间的路径相似性;在确定路径相似性大于预设值的时候,将任务B加入到任务组合1中;在确定路径相似性小于等于预设值的时候,将任务B加入到新的任务组合2中。对于任务C,计算任务A的路径向量与任务C的任务向量之间的路径相似性,并计算任务B的路径向量与任务C的任务向量之间的路径相似性;若任务A的路径向量与任务C的任务向量之间的路径相似性大于预设值,则将任务C加入到任务组合1中;若这两个路径相似性都小于等于预设值,则将任务C加入到新的任务组合3中;依次类推。
采用上述方式得到任务组合,可以保证后面得到每一个任务组合的规划路径,每个餐桌只能到达一次,而且最后要回到原来的起点上;保证得到的规划路径为所有路径之中的最小值。
205、每一个任务组合中包括至少一个路径点;根据每一个任务组合中的路径点,采用TSP算法对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径。
在本实施例中,由于将一个或多个任务组合成了一个任务组合,从而需要对任务的路径进行重新的规划。每一个任务组合中包括至少一个路径点,可以采用TSP算法对每一个任务组合进行路径规划处理,以得到每一个任务组合的规划路径。
206、根据预设的任务组合与运送设备之间的对应关系,将每一个任务组合发送给与任务组合对应的运送设备,以使与每一个任务组合对应的运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理。
在本实施例中,预先配置了任务组合与运送设备之间的对应关系,将每一个任务组合发送给与任务组合对应的运送设备;然后,每一个运送设备就可以在每一个任务组合对应的规划路径上进行行走,进而,每一个运送设备将每一个任务组合上的各个任务进行处理。
在任务为菜品的送餐任务的时候,将每一个任务组合依次派发给空闲的各个运送设备,每一个运送设备处理一个任务组合,即每一个运送设备派送一个任务组合中的各个菜品。从而,每一个运送设备依据得到的任务组合中的规划路径进行行走,将该任务组合中的各个菜品送达到各个餐桌上。
本实施例,通过将任务的行驶路径之间的路径相似性,将多个任务进行组合,得到至少一个任务组合;为每一个任务组合进行路径规划,将规划了路径的每一个任务组合发送给运送设备;从而,运送设备可以在每一个任务组合对应的规划路径上进行行走,进而,运送设备将每一个任务组合上的各个任务进行处理。通过以上方式,运送设备可以在一条路径上处理多个任务,可以提高处理任务的处理效率,降低任务处理时间。并且,根据每一个任务的路径向量,确定每两个任务之间的路径相似性,将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中;从而,可以保证后面得到每一个任务组合的规划路径,每个餐桌只能到达一次,而且最后要回到原来的起点上;保证得到的规划路径为所有路径之中的最小值。
图4为本申请实施例提供的又一种任务处理方法的流程示意图。如图4所示,该方法包括:
301、获取待处理的多个任务,其中,每一个任务包括处理任务时的行驶路径。
在本实施例中,本实施例的执行主体可以是运送设备、或者终端设备、或者服务器、或者任务处理装置或设备、或者其他可以执行本实施例方法的装置或设备。
在本实施例中,在任务为货物的拣选任务的时候,在货物位于仓库中,且多个货物分散在多个路径点,即每一个路径上具有多个待拣选的货物;运送设备需要一次性的拣选到多个货物,然后将多个货物送达到预设区域上。
首先,后台设备接收到多个任务,其中,每一个任务中包括了货物标识、货物所在的路径点;后台设备可以采用TSP算法,对每一个任务进行路径规划,得到每一个任务的行驶路径。
302、行驶路径包括多个行驶位置点,行驶位置点表征任务的抵达点,归属于同一行驶路径的行驶位置点之间具有行驶次序关系;根据每一个任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个任务的路径向量。
可选的,步骤302具体包括:根据每一个任务的行驶路径中的行驶次序关系,对根据每一个任务的行驶路径中的各个行驶位置点进行排序,得到每一个任务的路径向量。
在本实施例中,在步骤301之后,需要将多个任务进行分组,得到至少一个任务组合。
首先,由于每一个任务的行驶路径中包括了多个行驶位置点,一个行驶位置点是一个任务的抵达点,在任务为货物的拣选任务的时候,一个行驶位置点是一个需要拣货的地点,即,一个行驶位置点是一个物品的所在位置点;并且,每一个任务的行驶路径中还可以包括起点和终点,在任务为货物的拣选任务的时候,起点为运送设备的初始位置点,终点为复核台的所在位置点。并且,由于是依次经过各个行驶位置点的,从而归属于同一行驶路径的行驶位置点之间具有行驶次序关系。进而,可以依据每一个任务的行驶路径中的行驶次序关系和各个行驶位置点,得到每一个任务的路径向量,可知,路径向量为任务的各个行驶位置点依据行驶次序关系所构成的。
303、根据每一个任务的路径向量,确定每两个任务之间的路径相似性。
可选的,每两个任务之间的路径相似性为其中,Wm为每两个任务中的一个任务的路径向量,Wn为每两个任务中的另一个任务的路径向量。
在本实施例中,本步骤可以参见图2所示的步骤203,不再赘述。
304、将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中。
在本实施例中,本步骤可以参见图2所示的步骤204,不再赘述。
305、每一个任务组合中包括至少一个路径点,根据每一个任务组合中的各个路径点和各个任务,确定每一个任务组合的重心。
可选的的,每一个任务组合的重心为其中,rx为每一个任务组合中的第x个路径点的位置信息;qx为每一个任务组合中的第x个路径点对应的任务的数量或重量;x∈[1,H],H为每一个任务组合中路径点的总个数,x、H为正整数。
在本实施例中,在任务为货物的拣选任务的时候,在泊车区停了多个运送设备,在运送设备拣选了多个货物之后,运送设备需要将拣选的获取运送到复核台上,进而由复核台的复核设备或复核人员对运送设备所拣选的货物进行复核。从而,除了需要配置任务组合与运送设备之间的对应关系,即,需要确定将任务组合派发给运送设备的对应关系;还需要确定运送设备与预设区域的对应关系,其中,预设区域为复核台;从而,需要确定任务组合、运送设备和预设区域三者之间的匹配关系。
首先,对于每一个任务组合来说,任务组合的规划路径中包括了至少一个路径点;路径点为货物的仓库中的位置点,仓库中的每一个位置点上具有多个待拣选的货物;每一个任务组合中包括至少一个任务,每一个任务位于一个路径点,但是每一个任务组合中的路径点上不一定需要去拣选货物。
举例来说,任务组合1中包括任务1、任务2、任务3;任务组合1的规划路径中包括了路径点1、路径点2、路径点3。其中,任务1位于路径点1上,任务2位于路径点2上,任务3位于路径点3上。其中,每一个任务可以是一个货物的拣选任务。
再举例来说,任务组合1中包括任务1、任务2、任务3;任务组合1的规划路径中包括了路径点1、路径点2、路径点3、路径点4。其中,任务1位于路径点1上,任务2位于路径点2上,任务3位于路径点4上,在路径点3上不需要处理任务,即在路径点上不需要拣选货物。
然后,可以确定出每一个任务组合中的第x个路径点的位置信息,每一个任务组合中的第x个路径点对应的任务的数量或重量,该数量或重量qx采用表示,然后,就可以计算出每一个任务组合的重心其中,H为每一个任务组合中路径点的总个数。
306、根据各运送设备的位置信息、各任务组合的重心、各预设区域的位置信息,确定匹配表达关系;在确定匹配表达关系达到最小值时,确定得到匹配关系。
可选的,达到最小值的匹配表达关系为其中,当第i个运送设备与第j个任务组合匹配时,xij=1;当第i个运送设备不与第j个任务组合匹配时,xij=0;当第j个任务组合与第k个预设区域匹配时,yjk=1;当第j个任务组合不与第k个预设区域匹配时,yjk=0;dij为第i个运送设备的位置信息与第j个任务组合的重心之间的欧几里得距离;cjk为第j个任务组合的重心与第k个预设区域的位置信息之间的欧几里得距离;Q为预设最小匹配数,Q=min(|I|,|J|);I为运送设备的总个数,J为任务组合的总个数,M为预设区域的总个数;i∈[1,I],j∈[1,J],k∈[1,M],
在本实施例中,在泊车区配置了I个运送设备,在复核台区域配置了M个复核台,此时,上述预设区域为复核台。通过本实施例的方法设置了J个任务组合。需要将任务组合、运送设备、预设区域三者进行匹配。
可以计算出第i个运送设备的位置信息与第j个任务组合的重心之间的欧几里得距离dij,第j个任务组合的重心与第k个预设区域的位置信息之间的欧几里得距离cjk;在得到了每一个任务组合的重心r之后,可以根据各运送设备的位置信息、各任务组合的重心、各预设区域的位置信息、以及上述距离dij和cjk,确定出匹配表达关系其中,当第i个运送设备与第j个任务组合匹配时,xij=1;当第i个运送设备不与第j个任务组合匹配时,xij=0;当第j个任务组合与第k个预设区域匹配时,yjk=1;当第j个任务组合不与第k个预设区域匹配时,yjk=0。/>
为上述匹配表达关系配置了约束条件,约束条件包括以下内容:表示表示一辆运送设备最多绑定一个任务组合;/>表示一个任务组合最多被一个运送设备绑定;/>表示最小匹配数量大于运送设备的总个数I和任务组合的较小值;/>表示一辆任务组合最多绑定一个复核台;/>表示绑定运送设备的任务组合一定绑定一个复核台,未绑定运送设备的任务组合不绑定复核台;并且,xij∈{0,1},yjk∈{0,1},i∈[1,I],j∈[1,J],k∈[1,M]。从而,通过以上约束条件,得到达到最小值的匹配表达关系为/>
从而,在匹配表达关系达到最小值时,可以得到任务组合、运送设备和预设区域三者之间的匹配关系。
可选的,H可以称作每一个任务组合中路径点的集合,则每一个任务组合的重心表示为I可以称作运送设备的集合,J可以称作任务组合的集合,M可以称作预设区域的集合,则达到最小值的匹配表达关系表示为min(∑i∈I∑j∈J dijxij+∑j∈J∑k∈Mcjkyjk)。
从而,通过以上方式,将任务组合、运送设备和预设区域三者进行匹配,可以防止后续采用TSP算法计算规划路径时的计算量过大。
307、根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径。
在本实施例中,采用TSP算法,将泊车区作为起点,将预设区域作为终点,并依据任务组合中的每个任务,对每一个任务组合进行路径规划,得到每一个任务组合对应的规划路径。TSP是一种路径规划的现有算法,不再赘述。
308、根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,将每一个任务组合发送给与任务组合匹配的运送设备,以使与每一个任务组合匹配的运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理并行驶至与每一个任务组合匹配的预设区域处。
在本实施例中,对于每一个任务组合来说,根据上述匹配关系,将任务组合发送给与任务组合匹配的运送设备;与任务组合匹配的运送设备,在任务组合对应的规划路径上进行行走,经过该规划路径上的各个路径点,在需要拣选货物的路径点上进行货物的拣选;然后,与任务组合匹配的运送设备,将拣选的各个货物,运送至与任务组合匹配的预设区域处;进而由于预设区域是复核台,复核台上的复核设备或复核人员对运送设备拣选的各个货物可以进行复核。
本实施例,通过将任务的行驶路径之间的路径相似性,将多个任务进行组合,得到至少一个任务组合;为每一个任务组合进行路径规划,将规划了路径的每一个任务组合发送给运送设备;从而,运送设备可以在每一个任务组合对应的规划路径上进行行走,进而,运送设备将每一个任务组合上的各个任务进行处理。通过以上方式,运送设备可以在一条路径上处理多个任务,可以提高处理任务的处理效率,降低任务处理时间。并且,根据每一个任务的路径向量,确定每两个任务之间的路径相似性,将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中;从而,可以保证后面得到每一个任务组合的规划路径,每个路径点只能到达一次。并且,采用将任务组合、运送设备和预设区域三者进行匹配,依据三者的匹配关系为每一个任务组合进行路径规划,可以防止采用TSP算法计算规划路径时的计算量过大。
图5为本申请实施例提供的一种任务处理装置的结构示意图,如图5所示,本实施例的装置可以包括:
获取单元31,用于获取待处理的多个任务,其中,每一个任务包括处理任务时的行驶路径。
生成单元32,用于根据各个任务的行驶路径,生成至少一个任务组合,其中,每一个任务组合中包括至少一个任务,归属于同一任务组合的任务的行驶路径之间具有路径相似性。
处理单元33,用于对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径。
发送单元34,用于将各任务组合发送给运送设备,以使运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理。
本实施例的任务处理装置可执行本申请实施例提供的一种任务处理方法,其实现原理和技术效果相类似,此处不再赘述。
图6为本申请实施例提供的另一种任务处理装置的结构示意图,在图5所示实施例的基础上,如图6所示,本实施例的装置中,行驶路径包括多个行驶位置点,行驶位置点表征任务的抵达点,归属于同一行驶路径的行驶位置点之间具有行驶次序关系;生成单元32,包括:
第一确定模块321,用于根据每一个任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个任务的路径向量。
第二确定模块322,用于根据每一个任务的路径向量,确定每两个任务之间的路径相似性。
加入模块323,用于将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中。
可选的,第一确定模块321,具体用于:根据每一个任务的行驶路径中的行驶次序关系,对根据每一个任务的行驶路径中的各个行驶位置点进行排序,得到每一个任务的路径向量。
可选的,每两个任务之间的路径相似性为其中,Wm为每两个任务中的一个任务的路径向量,Wn为每两个任务中的另一个任务的路径向量。
可选的,每一个任务组合中包括至少一个路径点;处理单元33,具体用于:根据每一个任务组合中的路径点,采用旅行商问题TSP算法对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径。
可选的,发送单元34,具体用于:根据预设的任务组合与运送设备之间的对应关系,将每一个任务组合发送给与任务组合对应的运送设备,以使与每一个任务组合对应的运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理。
本实施例的任务处理装置可执行本申请实施例提供的另一种任务处理方法,其实现原理和技术效果相类似,此处不再赘述。
图7为本申请实施例提供的另一种任务处理装置的结构示意图,在图5所示实施例的基础上,如图7所示,本实施例的装置中,行驶路径包括多个行驶位置点,行驶位置点表征任务的抵达点,归属于同一行驶路径的行驶位置点之间具有行驶次序关系;生成单元32,包括:
第一确定模块321,用于根据每一个任务的行驶路径中的行驶位置点和行驶次序关系,确定每一个任务的路径向量。
第二确定模块322,用于根据每一个任务的路径向量,确定每两个任务之间的路径相似性。
加入模块323,用于将路径相似性所表征的值大于预设值的每两个任务,加入到同一个任务组合中。
可选的,第一确定模块321,具体用于:根据每一个任务的行驶路径中的行驶次序关系,对根据每一个任务的行驶路径中的各个行驶位置点进行排序,得到每一个任务的路径向量。
可选的,每两个任务之间的路径相似性为其中,Wm为每两个任务中的一个任务的路径向量,Wn为每两个任务中的另一个任务的路径向量。
可选的,处理单元33,具体用于:根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个任务组合进行路径规划处理,得到每一个任务组合对应的规划路径;
可选的,发送单元34,具体用于:根据匹配关系,将每一个任务组合发送给与任务组合匹配的运送设备,以使与每一个任务组合匹配的运送设备在每一个任务组合对应的规划路径上进行行走,以将每一个任务组合上的任务进行处理并行驶至与每一个任务组合匹配的预设区域处。
可选的,每一个任务组合中包括至少一个路径点;本实施例提供的装置,还包括:
第一确定单元41,用于在处理单元33根据预设的任务组合、运送设备和预设区域三者之间的匹配关系,采用TSP算法对每一个任务组合进行路径规划处理之前,根据每一个任务组合中的各个路径点和各个任务,确定每一个任务组合的重心。
第二确定单元42,用于根据各运送设备的位置信息、各任务组合的重心、各预设区域的位置信息,确定匹配表达关系。
第三确定单元43,用于在确定匹配表达关系达到最小值时,确定得到匹配关系。
可选的,每一个任务组合的重心为其中,rx为每一个任务组合中的第x个路径点的位置信息;qx为每一个任务组合中的第x个路径点对应的任务的数量或重量;x∈[1,H],H为每一个任务组合中路径点的总个数,x、H为正整数。/>
达到最小值的匹配表达关系为其中,当第i个运送设备与第j个任务组合匹配时,xij=1;当第i个运送设备不与第j个任务组合匹配时,xij=0;当第j个任务组合与第k个预设区域匹配时,yjk=1;当第j个任务组合不与第k个预设区域匹配时,yjk=0;dij为第i个运送设备的位置信息与第j个任务组合的重心之间的欧几里得距离;cjk为第j个任务组合的重心与第k个预设区域的位置信息之间的欧几里得距离;Q为预设最小匹配数,Q=min(|I|,|J|);I为运送设备的总个数,J为任务组合的总个数,M为预设区域的总个数;i∈[1,I],j∈[1,J],k∈[1,M],
本实施例的任务处理装置可执行本申请实施例提供的又一种任务处理方法,其实现原理和技术效果相类似,此处不再赘述。
图8为本申请实施例提供的一种任务处理设备的结构示意图,如图8所示,本申请实施例提供了一种任务处理设备,可以用于执行图1-图3所示实施例中装置的动作或步骤,具体包括:处理器2701,存储器2702和通信接口2703。
存储器2702,用于存储计算机程序。
处理器2701,用于执行存储器2702中存储的计算机程序,以实现图1-图3所示实施例中装置的动作,不再赘述。
可选的,任务处理设备还可以包括总线2704。其中,处理器2701、存储器2702以及通信接口2703可以通过总线2704相互连接;总线2704可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,简称EISA)总线等。上述总线2704可以分为地址总线、数据总线和控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,上述各实施例之间可以相互参考和借鉴,相同或相似的步骤以及名词均不再一一赘述。
或者,以上各个模块的部分或全部也可以通过集成电路的形式内嵌于该任务处理设备的某一个芯片上来实现。且它们可以单独实现,也可以集成在一起。即以上这些模块可以被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2702,上述指令可由上述任务处理设备的处理器2701执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由任务处理设备的处理器执行时,使得任务处理设备能够执行上述任务处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、终端设备或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、终端设备或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的终端设备、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。