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

机器人任务分组方法和装置与流程

2023-01-02 11:44:30 来源:中国专利 TAG:


1.本技术涉及物流技术领域,特别是涉及一种机器人任务分组方法和装置。


背景技术:

2.随着物流技术的发展,物流仓库通常采用“货到人”的方式实现物料的分拣。在这一方式下,以应用于物流仓库的多层料箱机器人为例,物流系统可以通过多层料箱机器人从多个货物存储点取货,再通过多层料箱机器人将装载的货物运送至集货工作站,同时,还可以通过订单箱输送线将订单箱输送至集货工作站,以便集货工作站中的拣货人员,可以快速将多层料箱机器人装载的货物分拣至订单箱中,无需拣货人员在多个货物存储点中穿行、分拣货物。
3.传统技术中,在物流仓库的机器人从多个货物存储点取货的过程中,一般基于s型路径分组算法,采用巷道排序,对每一机器人取货所对应的货物存储点进行分组,以确定每一机器人执行各自取货任务的路径。
4.然而,目前的s型路径分组算法,在需要多个机器人多批次取少量货物,或者各巷道中取货任务分布不均匀的情况下,多个机器人的取货路径会发生冲突,导致机器人的任务执行效率不高。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高机器人任务执行效率的机器人任务分组方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种机器人任务分组方法。所述方法包括:获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点;按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序;将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点;将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序;按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
7.在其中一个实施例中,获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,包括:获取机器人任务所对应多个任务点的位置信息,按照位置信息,将各机器人的出发点与多个任务点中至少一部分任务点进行连接,构建多个凸多边形;基于每一凸多边形所对应任务点的数量,从多个凸多边形中筛选目标凸多边形。
8.在其中一个实施例中,基于每一凸多边形所对应任务点的数量,从多个凸多边形
中筛选目标凸多边形包括:获取每一凸多边形所对应任务点的数量;对各凸多边形各自对应的任务点数量进行排序,得到任务点数量排序结果;基于任务点数量排序结果,从多个凸多边形中筛选目标凸多边形。
9.在其中一个实施例中,将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序包括:从多个未访问点中筛选目标未访问点,获得目标未访问点相对于各已访问点的访问顺序;按照目标未访问点相对于各已访问点的访问顺序,将目标未访问点更新为相应访问顺序的已访问点,并对所得已访问点的访问顺序进行更新;将目标未访问点从未访问点集中删除,得到更新后未访问点集;将更新后未访问点集中的各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与机器人任务所对应任务点的数量一致,获得各任务点各自的访问顺序。
10.在其中一个实施例中,从多个未访问点中筛选目标未访问点包括:基于节约算法,分别获取各未访问点与任意两个已访问点之间的节约值,得到多个待筛选节约值;从多个待筛选节约值中筛选目标节约值,将目标节约值所对应的未访问点确定为目标未访问点。
11.在其中一个实施例中,从多个待筛选节约值中筛选目标节约值包括:对多个待筛选节约值进行排序,得到节约值排序结果;基于节约值排序结果,从多个待筛选节约值中筛选目标节约值。
12.在其中一个实施例中,从多个待筛选节约值中筛选目标节约值,将目标节约值所对应的未访问点确定为目标未访问点之后,还包括:获得目标节约值所对应的两个已访问点,以及目标节约值所对应两个已访问点各自的访问顺序;基于目标节约值所对应两个已访问点各自的访问顺序,获得目标未访问点相对于各已访问点的访问顺序。
13.在其中一个实施例中,按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组包括:按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计;在当前的待装载量累计结果满足机器人的装载量对应的装载条件时,将当前的待装载量累计结果对应的任务点分为同一任务组;返回按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计的步骤,直至各待分组的任务点均分组完成。
14.在其中一个实施例中,按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组之后,还包括:
获取每一机器人所对应任务组中多个任务点各自的访问顺序;控制每一机器人按照各自对应的任务点访问顺序,访问相应任务点,以执行机器人任务。
15.第二方面,本技术还提供了一种机器人任务分组装置。所述装置包括:目标任务点确认模块,用于获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点;访问顺序配置模块,用于按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序;未访问点获得模块,用于将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点;任务点访问顺序获得模块,用于将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序;任务点分组模块,用于按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
16.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点;按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序;将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点;将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序;按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
17.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点;按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序;将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点;将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序;按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
18.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点;按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序;将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点;将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序;按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
19.上述机器人任务分组方法、装置、计算机设备、存储介质和计算机程序产品,先根据目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序,以配置各机器人访问各任务点的初始路径,且确保该初始路径以环形路径为基础,再将多个目标任务点作为已访问点,将其他任务点作为未访问点,并将各未访问点依次迭代更新为已访问点,还对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,即将各任务点均迭代更新为配置有访问顺序的已访问点,从而获得各任务点各自的访问顺序,以确定各机器人访问各任务点的整体路径,且该整体路径是在初始路径的基础上,通过迭代增加未访问点所得,最后按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组,即对整体路径进行了分段处理,将各任务点分为多个任务组。整个过程中,先以环形路径为基础,确定各机器人访问任务点的整体路径,再通过对任务点进行分组,实现对机器人执行任务整体路径的分段,使得各机器人在执行任务时,可以基于环形路径,分别按照各自任务组中多个任务点的访问顺序,从各自对应的任务点中取货,从而减少各机器人执行任务时路径的冲突,进而能够提高机器人执行任务的效率。
附图说明
20.图1为一个实施例中机器人任务分组方法的应用环境图;图2为一个实施例中机器人任务分组方法的流程示意图;图3为一个实施例中整体路径中各任务点访问顺序的示意图;图4为一个实施例中机器人任务的分组示意图;图5为一个实施例中节约算法两种送货路径的示意图;图6为一个实施例中将未访问点添加至两个已访问点之间路径示意图;图7为另一个实施例中机器人任务分组方法的流程示意图;图8为一个实施例中机器人任务分组装置的结构框图;图9为一个实施例中计算机设备的内部结构图。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.本技术实施例提供的机器人任务分组方法,可以应用于如图1所示的应用环境中。其中,机器人102可以通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104可以先获取机器人102所对应的机器人任务,再获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,并将构建目标凸多边形的任务点确定为目标任务点,按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序,然后,将多个目标任务点作为已访问点,将其他任务点作为未访问点,再将各未访问点依次迭代更新为已访问点,对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序,最后,按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
23.其中,机器人102可以但不限于是各种应用于物流仓库且具备装载功能的机器人,包括但不限定于多层料箱机器人等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
24.在一个实施例中,如图2所示,提供了一种机器人任务分组方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤202,获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点。
25.其中,机器人任务具体可以为机器人在各货物存储点的取货任务,任务点具体可以为物流仓库中用于存储货物的存储点,机器人可以响应于取货任务所对应的待取货物,前往相应的存储点(任务点)取货、装载相应的货物,并运输至集货中心,以供集货中心的拣货人员对货物进行分拣,集货中心具体可以为一个将分散的货物集中成大批量货物的物流据点,即集货工作站。凸多边形的定义具体可以为:如果把一个多边形的所有边中,有一条边向两方无限延长成为一直线时,其他各边都在此直线的同旁,那么这个多边形就叫做凸多边形。
26.可选地,服务器可以将一部分任务点进行连接,以构建多个凸多边形,再按照预配置的筛选方式,从多个凸多边形中筛选多个任务点中至少一部分任务点构建的目标凸多边形,并将构建目标凸多边形的任务点确定为目标任务点,其中,筛选方式可以根据实际应用场景配置。
27.步骤204,按照目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序。
28.其中,目标凸多边形的顶点具体可以包括各机器人的出发点、各目标任务点,各机器人的出发点与集货中心的位置对应。
29.可选地,服务器可以将各机器人的出发点作为凸多边形的起始顶点,并基于实际需求,选取相应的旋转方向,依次遍历目标凸多边形中的各目标任务点,再将各机器人的出发点作为凸多边形的终止顶点,从而得到各目标任务点的连接顺序,按照各目标任务点的连接顺序,配置各机器人访问各目标任务点的顺序。
30.示例性地,服务器可以选取顺时针方向或者逆时针方向,依次遍历目标凸多边形中的各目标任务点,以确定各个目标任务点的连接顺序。
31.可选地,服务器可以基于各个目标任务点的连接顺序,确定各机器人访问任务点的初始路径,即以出发点(集货中心)作为起始点,经多个目标任务点(存储点),返回至出发点(集货中心),使得该初始路径为一条闭环路径。
32.步骤206,将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点。
33.可选地,服务器可以将多个目标任务点作为已访问点,并构建存储有各已访问点的已访问点集(visitedset),再将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点,并构建存储有各未访问点的未访问点集(unvisitedset)。其中,已访问点集中还配置有各已访问点各自的访问顺序,未访问点集中未配置各未访问点的访问顺序。
34.步骤208,将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序。
35.可选地,服务器可以通过将各未访问点迭代更新为相应访问顺序的已访问点,将各未访问点依次迭代添加至所得的初始路径中,并通过对所得已访问点的访问顺序进行迭代更新,实现对初始路径的迭代更新,直至所得已访问点的数量与任务点的数量一致,即将各任务点均迭代更新为配置有访问顺序的已访问点,进而获得各任务点的访问顺序,即机器人执行取货任务的整体路径。
36.示例性地,以基于顺时针方向所确定的初始路径为例进行说明,假设需将未访问点k更新为已访问点,已访问点所对应的初始路径为{...,i,j,...},该初始路径所对应的已访问点中包括已访问点i以及已访问点j,且已访问点j的访问顺序为已访问点i访问顺序的下一位。当服务器确定可以将未访问点k更新为已访问点,且需要将未访问点k添加至已访问点i以及已访问点j之间时,服务器可以将未访问点k更新为相应访问顺序的已访问点,得到访问顺序发生更新的路径{...,i,k,j,...}。
37.示例性地,如图3所示,以基于顺时针方向所确定的整体路径为例进行说明,提供了一种整体路径中各任务点访问顺序的示意图。服务器可以先基于顺时针方向确定各目标任务点的连接顺序,得到初始路径,并以此为基础将各未访问点依次迭代添加至初始路径,得到如图3所示的整体路径。以如图3所示的整体路径为例,在对整体路径进行分段处理前,各机器人可以从集货中心出发,按照图3所示的整体路径中各任务点的访问顺序,从各任务点取货,执行取货任务,再返回集货中心。
38.步骤210,按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组。
39.可选地,在将各未访问点均更新为已访问点,完成对所有任务点访问顺序的配置后,服务器可以按照各任务点的访问顺序,确定各机器人访问各任务点的整体路径,再基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组,实现对整体路径的分段,得到多个子路径。
40.示例性地,如图4所示,以将图3所示的整体路径分为三段,且每一子路径配置有一台机器人执行任务为例进行说明,提供了一种机器人任务的分组示意图。当服务器基于每一任务点各自的待装载量以及每一机器人的装载量,确定任务点1至任务点5的待装载量之
和不超过一个机器人的装载量,且任务点1至任务点6的待装载量之和超过一个机器人的装载量时,服务器可以将任务点1至任务点5划分为同一组,得到子路径1,即将任务点1至任务点5所对应的取货任务划分为同一组任务,并基于类似的方式,对任务点6至任务点14进行分组,得到多个待执行的任务组。
41.可选地,当每一子路径配置有多个机器人时,服务器可以基于每一任务点的待装载量以及每一子路径所对应的机器人装载量之和,对多个任务点进行分组,确保每一子路径中,各任务点的待装载量之和不超过机器人的装载量之和。
42.示例性地,在完成对整体路径的分段后,各子路径中的机器人均可从集货中心出发,按照各自对应的子路径中各任务点的访问顺序,前往各任务点取货并装载货物,最后,将所装载的货物输送至集货中心,从而减少各机器人在执行任务过程中路径的交叉、冲突,进而提高各机器人的任务执行效率。
43.上述的机器人任务分组方法,先根据目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序,以配置各机器人访问各任务点的初始路径,且确保该初始路径以环形路径为基础,再将多个目标任务点作为已访问点,将其他任务点作为未访问点,并将各未访问点依次迭代更新为已访问点,还对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,即将各任务点均迭代更新为配置有访问顺序的已访问点,从而获得各任务点各自的访问顺序,以确定各机器人访问各任务点的整体路径,且该整体路径是在初始路径的基础上,通过迭代增加未访问点所得,最后按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组,即对整体路径进行了分段处理,将各任务点分为多个任务组。整个过程中,先以环形路径为基础,确定各机器人访问任务点的整体路径,再通过对任务点进行分组,实现对机器人执行任务整体路径的分段,使得各机器人在执行任务时,可以基于环形路径,分别按照各自任务组中多个任务点的访问顺序,从各自对应的任务点中取货,从而减少各机器人执行任务时路径的冲突,进而能够提高机器人执行任务的效率。
44.在其中一个实施例中,获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,包括:获取机器人任务所对应多个任务点的位置信息,按照位置信息,将各机器人的出发点与多个任务点中至少一部分任务点进行连接,构建多个凸多边形;基于每一凸多边形所对应任务点的数量,从多个凸多边形中筛选目标凸多边形。
45.可选地,服务器可以获取各机器人的出发点,以及机器人任务所对应多个任务点的位置信息,按照位置信息,确定出发点以及各任务点的分布情况,并按照分布情况,将出发点与多个任务点中至少一部分任务点进行连接,构建多个凸多边形,再基于每一凸多边形所对应任务点的数量,从多个凸多边形中筛选目标凸多边形。
46.示例性地,服务器可以遵循“将除凸多边形顶点之外的其他任务点均包含在凸多边形分布范围内”这一原则构建凸多边形的,使得除目标凸多边形顶点(已访问点)之外的未访问点均位于目标凸多边形的分布范围内。
47.本实施例中,基于“将除凸多边形顶点之外的其他任务点均包含在凸多边形分布范围内”这一原则构建多个凸多边形,可以确保目标凸多边形的顶点为最外层的任务点。
48.在其中一个实施例中,基于每一凸多边形所对应任务点的数量,从多个凸多边形
中筛选目标凸多边形包括:获取每一凸多边形所对应任务点的数量;对各凸多边形各自对应的任务点数量进行排序,得到任务点数量排序结果;基于任务点数量排序结果,从多个凸多边形中筛选目标凸多边形。
49.可选地,服务器可以先获取每一凸多边形所对应任务点的数量,再对各凸多边形各自对应的任务点数量进行排序,得到任务点数量排序结果,再基于任务点数量排序结果,从多个凸多边形中筛选出任务点数量最少的目标凸多边形,即将顶点数量最少的凸多边形确定为目标凸多边形。
50.示例性地,服务器可以遵循从多到少的原则,对任务点数量进行排序,以便可以快速筛选出目标凸多边形,也可以遵循从少到多的原则进行排序,本实施例中不对任务点数量的排序方式进行限定,排序方式可以根据实际应用场景进行配置。
51.可选地,在基于“将除凸多边形顶点之外的其他任务点均包含在凸多边形分布范围内”这一原则构建多个凸多边形后,服务器可以进一步对所得多个凸多边形顶点的数量进行排序筛选,得到顶点位于最外层,且顶点数量最少的目标凸多边形,并将目标凸多边形的顶点确定为目标任务点。
52.本实施例中,通过将任务点均位于最外层,且任务点数量最少的凸多边形确定为目标凸多边形,以便后续基于目标凸多边形的顶点确定各机器人的初始路径。
53.在其中一个实施例中,将各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,获得各任务点各自的访问顺序包括:从多个未访问点中筛选目标未访问点,获得目标未访问点相对于各已访问点的访问顺序;按照目标未访问点相对于各已访问点的访问顺序,将目标未访问点更新为相应访问顺序的已访问点,并对所得已访问点的访问顺序进行更新;将目标未访问点从未访问点集中删除,得到更新后未访问点集;将更新后未访问点集中的各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与机器人任务所对应任务点的数量一致,获得各任务点各自的访问顺序。
54.可选地,服务器可以按照预先配置的筛选条件,先从多个未访问点中筛选出一个目标未访问点,同时获得目标未访问点相对于各已访问点的访问顺序,再按照目标未访问点相对于各已访问点的访问顺序,将目标未访问点插入到各已访问点之间,即将目标未访问点更新为相应访问顺序的已访问点,并将目标未访问点添加至已访问点集中,再对所得已访问点的访问顺序进行更新,将目标未访问点从未访问点集中删除,得到更新后未访问点集,然后,继续按照预先配置的筛选条件,迭代筛选出新的目标未访问点,并将更新后未访问点集中新的目标未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与机器人任务所对应任务点的数量一致,使得各任务点均为配置有访问顺序的已访问点,从而获得各任务点各自的访问顺序。
55.示例性地,以基于顺时针方向所确定的初始路径{...,i,j,k,l,n,o,...}为例进行说明,假设存在未访问点m,当服务器确定未访问点m为目标未访问点,且未访问点m所对
应的访问顺序位于已访问点l与已访问点n之间时,服务器可以将未访问点m插入到已访问点l与已访问点n之间,得到更新后的路径{...,i,j,k,l,m,n,o,...},并将未访问点m从未访问点集中删除,得到更新后未访问点集。进一步的,服务器可以从更新后未访问点集中筛选出新的目标未访问点,并获得新的目标未访问点在更新后路径{...,i,j,k,l,m,n,o,...}中所对应的访问顺序,以进一步对更新后路径进行更新,直至确定所有任务点所组成的整体路径。
56.本实施例中,通过迭代选取目标未访问点,并将目标未访问点依次迭代更新为已访问点,达到了在初始路径的基础上,通过迭代增加未访问点,得到整体路径的目的。
57.在其中一个实施例中,从多个未访问点中筛选目标未访问点包括:基于节约算法,分别获取各未访问点与任意两个已访问点之间的节约值,得到多个待筛选节约值;从多个待筛选节约值中筛选目标节约值,将目标节约值所对应的未访问点确定为目标未访问点。
58.其中,节约算法即c-w算法(节约里程法),是一种用于解决车辆路径规划问题的物流算法,其基本思想为:为达到高效率的配送,寻找最佳配送路线,使配送的时间最小、距离最短且成本最低。
59.可选地,服务器可以先基于节约算法,分别获取各未访问点与任意两个已访问点之间的节约值,得到多个待筛选节约值,再根据预配置的筛选方式,从多个待筛选节约值中筛选目标节约值,预配置的筛选方式可以根据实际应用场景进行配置。
60.示例性地,节约算法中获取节约值的思路如下:假设o为配送中心,a点与b点为送货点,设o点到a点、b点之间的距离分别为oa、ob,a点与b点之间的距离为ab。如图5所示,提供了一种节约算法两种送货路径的示意图,与送货路径a相比,送货路径b所节约路径的距离s(a,b)=2oa 2ob-(oa ab ob)= oa ob-ab,并将所节约路径的距离s(a,b)作为配送中心o点与送货点a点、b点之间的节约值,即第三点(o点)与任意两点(a点、b点)之间节约值所对应的计算公式为:s(a,b)= oa ob-ab。
61.进一步的,以未访问点c、已访问点i以及已访问点j为例进行说明,如图6所示,提供了一种将未访问点c添加至已访问点i与已访问点j之间的路径示意图。当未访问点c未添加至路径中,已访问点i与已访问点j之间的路径距离为ij,在未访问点c添加至路径中后,已访问点i与已访问点j之间的路径距离为ic cj,即在将未访问点c添加至路径中后,所增加的路径

s=ic cj-ij。因所获得

s的计算公式,与计算未访问点c与已访问点i、已访问点j之间节约值的公式相同,服务器可以基于节约算法,分别获取各未访问点与任意两个已访问点之间的节约值,以获得将各未访问点分别添加至任意两个已访问点之间所增加的路径。其中,节约值越小,表征将未访问点插入相应两个已访问点之间所增加的路径越少。
62.本实施例中,通过获取各未访问点与任意两个已访问点之间的节约值,可以得到各未访问点添加至任意两个已访问点之间所增加的路径。
63.在其中一个实施例中,从多个待筛选节约值中筛选目标节约值包括:对多个待筛选节约值进行排序,得到节约值排序结果;基于节约值排序结果,从多个待筛选节约值中筛选目标节约值。
64.可选地,服务器可以基于实际应用场景,选择从大到小或者从小到大的排序方式,
对多个待筛选节约值进行排序,得到节约值排序结果,基于节约值排序结果,确定最小的节约值,并将最小的节约值作为目标节约值。其中,节约值最小,表征在将该目标未访问点添加至相应访问顺序所对应的路径位置后,所增加的路径的最小。
65.示例性地,在将第一次筛选所得的最小节约值作为目标节约值,并基于目标节约值对初始路径进行更新后,服务器可以继续遵循“将最小的节约值作为目标节约值”这一原则,迭代确定新的目标节约值。
66.本实施例中,通过将最小的节约值作为目标节约值,并将目标节约值所对应的目标未访问点添加至路径中,可以确保在每次对路径进行更新的过程中,可以通过增加最少的机器人运输距离,增加所能访问的任务点,实现路径的扩张,从而在对初始路径进行迭代增加任务点,得到整体路径的过程中,可以在增加最短路径的前提下,最大程度减少整体路径的距离,从而降低机器人执行任务的时间,进而提高机器人执行任务的效率。
67.在其中一个实施例中,从多个待筛选节约值中筛选目标节约值,将目标节约值所对应的未访问点确定为目标未访问点之后,还包括:获得目标节约值所对应的两个已访问点,以及目标节约值所对应两个已访问点各自的访问顺序;基于目标节约值所对应两个已访问点各自的访问顺序,获得目标未访问点相对于各已访问点的访问顺序。
68.可选地,在获得目标节约值所对应的目标未访问点后,服务器还可以获得目标节约值所对应的两个已访问点,以及目标节约值所对应两个已访问点各自的访问顺序,并基于目标节约值所对应两个已访问点各自的访问顺序,获得目标未访问点相对于各已访问点的访问顺序,再按照目标未访问点相对于各已访问点的访问顺序,将目标未访问点添加至相应的路径位置。示例性地,以基于顺时针方向所确定的初始路径{...,i,j,k,l,n,o,...}为例进行说明,假设服务器确定未访问点m与已访问点l、已访问点n之间的节约值最小,服务器可以将未访问点m作为目标未访问点,并获取已访问点l与已访问点n所对应的访问顺序,并且基于已访问点l与已访问点n的访问顺序,确定目标未访问点m相对于各已访问点,其访问顺序位于已访问点1与已访问点n之间,从而将目标未访问点m添加至相应的路径位置,得到更新后的路径{...,i,j,k,l,m,n,o,...}。
69.本实施例中,可以基于目标节约值所对应的两个已访问点,确定每次对路径进行更新时,新增加的目标未访问点所对应的路径位置,以便后续可以依次迭代增加未访问点至路径中,直至得到整体路径。
70.在其中一个实施例中,按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组包括:按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计;在当前的待装载量累计结果满足机器人的装载量对应的装载条件时,将当前的待装载量累计结果对应的任务点分为同一任务组;返回按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计的步骤,直至各待分组的任务点均分组完成。
71.其中,待装载量累计结果满足机器人装载量对应的装载条件,具体可以表征为:待装载量累计结果不超过机器人的装载量。
72.可选地,服务器可以按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计,获得当前多个任务点待装载量的累计结果,且在当前的多个任务点待装载量的累计结果满足机器人的装载量对应的装载条件时,将当前的待装载量累计结果对应的任务点分为同一任务组,并将该任务组分配至相应的机器人,然后,返回按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计的步骤,直至各待分组的任务点均分组完成。
73.示例性地,在服务器基于顺时针方向确定整体路径的情况下,可以以图4所示的分组结果为例进行说明,在对各任务点进行分组的过程中,服务器可以按照整体路径的访问顺序,从任务点1开始,依次对各待分组任务点的待装载量进行累计。当任务点1至任务点5的待装载量累计结果,满足路径1中机器人所对应的装载条件,且任务点1至任务点6的待装载量累计结果不满足装载条件时,服务器可以将任务点1至任务点5划分至同一任务组。进一步的,基于类似的方式,依次对各待分组的任务点进行待装载量累计的步骤,直至各待分组的任务点均分组完成。
74.本实施例中,在确定整体路径后,可以根据每条子路径中机器人的装载量,对机器人任务所对应的多个任务点进行分组,实现对整体路径的分段。
75.在其中一个实施例中,按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组之后,还包括:获取每一机器人所对应任务组中多个任务点各自的访问顺序;控制每一机器人按照各自对应的任务点访问顺序,访问相应任务点,以执行机器人任务。
76.可选地,服务器可以获取每一机器人所对应的子路径,确定每一机器人所对应任务组中多个任务点各自的访问顺序,再控制每一机器人从集货中心出发,按照各自对应的任务点访问顺序,访问相应任务点,以执行取货任务。
77.示例性地,以图4所示子路径1中机器人执行任务的过程为例进行说明,服务器可以控制子路径1中的机器人,从集货中心出发,依次抵达任务点1、2、3、4、5,装载相应的待取货物,再返回集货中心。
78.本实施例中,通过控制各机器人均按照各自任务组中任务点的访问顺序执行任务,可以确保各机器人均在各自对应的子路径内,基于环形路径执行任务。
79.在一个实施例中,如图7所示,提供了另一种机器人任务分组方法,该方法主要包括以下步骤:步骤702,获取机器人任务所对应多个任务点的位置信息,按照位置信息,将各机器人的出发点与多个任务点中至少一部分任务点进行连接,构建多个凸多边形。
80.步骤704,获取每一凸多边形所对应任务点的数量,对各凸多边形各自对应的任务点数量进行排序,得到任务点数量排序结果。
81.步骤706,基于任务点数量排序结果,从多个凸多边形中筛选目标凸多边形,将构建目标凸多边形的任务点确定为目标任务点。
82.步骤708,按照目标凸多边形中各目标任务点的连接顺序,配置目标任务点的访问
顺序,将多个目标任务点作为已访问点,并将机器人任务所对应多个任务点中除目标任务点以外的其他任务点作为未访问点。
83.步骤710,基于节约算法,分别获取各未访问点与任意两个已访问点之间的节约值,得到多个待筛选节约值,对多个所述待筛选节约值进行排序,得到节约值排序结果。
84.步骤712,基于节约值排序结果,从多个待筛选节约值中筛选目标节约值,将目标节约值所对应的未访问点确定为目标未访问点,并基于目标节约值所对应两个已访问点各自的访问顺序,获得目标未访问点相对于各已访问点的访问顺序。
85.步骤714,将目标未访问点更新为相应访问顺序的已访问点,并对所得已访问点的访问顺序进行更新,将目标未访问点从未访问点集中删除,得到更新后未访问点集。
86.步骤716,将更新后未访问点集中的各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与机器人任务所对应任务点的数量一致,获得各任务点各自的访问顺序。
87.步骤718,按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计,在当前的待装载量累计结果满足机器人的装载量对应的装载条件时,将当前的待装载量累计结果对应的任务点分为同一任务组。
88.步骤720,返回按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计的步骤,直至各待分组的任务点均分组完成。
89.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
90.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的机器人任务分组方法的机器人任务分组装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人任务分组装置实施例中的具体限定可以参见上文中对于机器人任务分组法的限定,在此不再赘述。
91.在一个实施例中,如图8所示,提供了一种机器人任务分组装置,包括:目标任务点确认模块802、访问顺序配置模块804、未访问点获得模块806、任务点访问顺序获得模块808和任务点分组模块810,其中:目标任务点确认模块802,用于获取机器人任务所对应多个任务点中至少一部分任务点构建的目标凸多边形,将构建所述目标凸多边形的任务点确定为目标任务点;访问顺序配置模块804,用于按照所述目标凸多边形中各所述目标任务点的连接顺序,配置各所述目标任务点的访问顺序;未访问点获得模块806,用于将多个所述目标任务点作为已访问点,并将所述机器人任务所对应多个任务点中除所述目标任务点以外的其他任务点作为未访问点;任务点访问顺序获得模块808,用于将各所述未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与所述任务点的数
量一致,获得各所述任务点各自的访问顺序;任务点分组模块810,用于按照各所述任务点的访问顺序,基于每一所述任务点各自的待装载量以及所述机器人的装载量,对各所述任务点进行分组,得到多个待执行的任务组。
92.上述的机器人任务分组装置,先根据目标凸多边形中各目标任务点的连接顺序,配置各目标任务点的访问顺序,以配置各机器人访问各任务点的初始路径,且确保该初始路径以环形路径为基础,再将多个目标任务点作为已访问点,将其他任务点作为未访问点,并将各未访问点依次迭代更新为已访问点,还对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与任务点的数量一致,即将各任务点均迭代更新为配置有访问顺序的已访问点,从而获得各任务点各自的访问顺序,以确定各机器人访问各任务点的整体路径,且该整体路径是在初始路径的基础上,通过迭代增加未访问点所得,最后按照各任务点的访问顺序,基于每一任务点各自的待装载量以及机器人的装载量,对各任务点进行分组,得到多个待执行的任务组,即对整体路径进行了分段处理,将各任务点分为多个任务组。整个过程中,先以环形路径为基础,确定各机器人访问任务点的整体路径,再通过对任务点进行分组,实现对机器人执行任务整体路径的分段,使得各机器人在执行任务时,可以基于环形路径,分别按照各自任务组中多个任务点的访问顺序,从各自对应的任务点中取货,从而减少各机器人执行任务时路径的冲突,进而能够提高机器人执行任务的效率。
93.在其中一个实施例中,机器人任务分组装置中还包括目标凸多边形筛选模块,目标凸多边形筛选模块用于获取机器人任务所对应多个任务点的位置信息,按照位置信息,将各机器人的出发点与多个任务点中至少一部分任务点进行连接,构建多个凸多边形,再基于每一凸多边形所对应任务点的数量,从多个凸多边形中筛选目标凸多边形。
94.在其中一个实施例中,机器人任务分组装置中还包括任务点数量排序模块,任务点数量排序模块用于对各凸多边形各自对应的任务点数量进行排序,得到任务点数量排序结果,以基于任务点数量排序结果,从多个凸多边形中筛选目标凸多边形。
95.在其中一个实施例中,任务点访问顺序获得模块还用于从多个未访问点中筛选目标未访问点,获得目标未访问点相对于各已访问点的访问顺序,再按照目标未访问点相对于各已访问点的访问顺序,将目标未访问点更新为相应访问顺序的已访问点,并对所得已访问点的访问顺序进行更新,然后,将目标未访问点从未访问点集中删除,得到更新后未访问点集,将更新后未访问点集中的各未访问点依次迭代更新为已访问点,并对所得已访问点的访问顺序进行迭代更新,直至所得已访问点的数量与机器人任务所对应任务点的数量一致,获得各任务点各自的访问顺序。
96.在其中一个实施例中,机器人任务分组装置中还包括目标未访问点确定模块,目标未访问点确定模块用于基于节约算法,分别获取各未访问点与任意两个已访问点之间的节约值,得到多个待筛选节约值,再从多个待筛选节约值中筛选目标节约值,将目标节约值所对应的未访问点确定为目标未访问点。
97.在其中一个实施例中,机器人任务分组装置中还包括目标节约值筛选模块,目标节约值筛选模块用于对多个待筛选节约值进行排序,得到节约值排序结果,再基于节约值排序结果,从多个待筛选节约值中筛选目标节约值。
98.在其中一个实施例中,机器人任务分组装置中还包括访问顺序获得模块,访问顺
序获得模块用于获得目标节约值所对应的两个已访问点,以及目标节约值所对应两个已访问点各自的访问顺序,基于目标节约值所对应两个已访问点各自的访问顺序,获得目标未访问点相对于各已访问点的访问顺序。
99.在其中一个实施例中,任务点分组模块还用于按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计,在当前的待装载量累计结果满足机器人的装载量对应的装载条件时,将当前的待装载量累计结果对应的任务点分为同一任务组,然后,返回按照待分组的各任务点的访问顺序,依次对各待分组的任务点进行待装载量累计的步骤,直至各待分组的任务点均分组完成。
100.在其中一个实施例中,机器人任务分组装置中还包括机器人任务执行模块,机器人任务执行模块用于获取每一机器人所对应任务组中多个任务点各自的访问顺序,再控制每一机器人按照各自对应的任务点访问顺序,访问相应任务点,以执行机器人任务。
101.上述机器人任务分组装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
102.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储机器人任务分组数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人任务分组方法。
103.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
104.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
105.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
106.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
107.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器
(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
108.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
109.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献