密集存储下的作业调度方法、装置、系统、设备及介质与流程

文档序号:27015851发布日期:2021-10-23 00:39阅读:87来源:国知局
密集存储下的作业调度方法、装置、系统、设备及介质与流程
密集存储下的作业调度方法、装置、系统、设备及介质
1.本技术要求在2020年4月15日提交中国专利局、申请号为2020102967594、发明名称为“密集存储下的作业调度方法、装置、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本发明涉及机器人控制技术领域,特别是涉及一种密集存储下的作业调度方法、装置、仓储系统、电子设备及存储介质。


背景技术:

3.密集存储环境下,在完成单个出入库任务时经常会碰到前有阻碍容器的情况,此时通常是先将阻碍容器移除再执行正式的任务,这样往往导致效率低下。例如,在图1所示的以托盘四向穿梭车为代表的典型密集存储场景下,库位1中的托盘1需要出库必须先控制1个机器人a将库位2中的托盘2移出巷道,再派新的机器人b或者等待机器人a完成任务后进入巷道移动托盘1出库,整个过程是串行执行的,在托盘2移库的任务完成前托盘1的出库任务根本无法开始,导致作业效率较低。再如,在图1所示的以托盘四向穿梭车为代表的典型密集存储场景下,库位1和库位2都等待托盘入库,但如果库位2先完成入库,待库位1的托盘要入库时,必须先将库位2的托盘移出,这样又会造成大量效率损耗。
4.在任务比较紧急的情况下,通过上述方式往往无法保证任务完成的时效性,且这种负面效应与巷道的深度成正比,而近年来,密集存储成了高地价趋势下的一种非常流行的存储方式,亟待一些科学的调度算法降低这一负面效应。


技术实现要素:

5.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种密集存储下的作业调度方法、装置、仓储系统、电子设备及存储介质。
6.依据本发明实施例的第一方面,提供了一种密集存储下的作业调度方法,包括:
7.根据各个待执行任务之间的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合;
8.根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系;其中,所述任务类型包括将货物搬出巷道或将货物搬入巷道;
9.根据各任务子集合之间的依赖关系确定各任务子集合的优先级,并根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级;
10.根据各任务子集合的优先级依次执行各任务子集合;
11.其中,在执行每个任务子集合时,确定执行该任务子集合中的待执行任务的至少一个搬运设备,并根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务。
12.依据本发明实施例的第二方面,提供了一种仓储系统,包括:
13.作业调度装置,用于执行如第一方面所述的作业调度方法;
14.搬运设备,用于在所述作业调度装置的控制下搬运货物。
15.依据本发明实施例的第三方面,提供了一种密集存储下的作业调度装置,包括:
16.任务依赖集合确定模块,用于根据各个待执行任务的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合;
17.子集合划分模块,用于根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系;其中,所述任务类型包括将货物搬出巷道或将货物搬入巷道;
18.优先级确定模块,用于根据各任务子集合之间的依赖关系确定各任务子集合的优先级,并根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级;
19.子集合执行控制模块,用于根据各任务子集合的优先级依次执行各任务子集合;
20.其中,所述子集合执行控制模块包括:
21.子集合内任务控制单元,用于在执行每个任务子集合时,确定执行该任务子集合中的待执行任务的至少一个搬运设备,并根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务。
22.依据本发明实施例的第四方面,提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面中所述的密集存储下的作业调度方法。
23.依据本发明实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的密集存储下的作业调度方法。
24.本发明实施例提供的密集存储下的作业调度方法、装置、仓储系统、电子设备及存储介质,首先通过各个待执行任务之间的依赖关系,得到至少一个任务依赖集合,然后根据待执行任务的所属巷道以及任务类型将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合的优先级以及各任务子集合内待执行任务的优先级,根据各任务子集合的优先级依次执行各任务子集合,根据每个任务子集合中待执行任务的优先级,调度至少一个搬运设备执行任务子集合中的待执行任务。由于在执行任务子集合时根据任务子集合的优先级依次执行各任务子集合,而且在执行每个任务子集合内的待执行任务时也根据待执行任务的优先级进行执行,这样可以优先执行会阻碍到其他待执行任务的待执行任务,从而可以提高作业效率,提升出入库效率。
25.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
26.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明
的限制。
27.图1是现有技术中的密集存储场景的结构示意图;
28.图2本发明实施例提供的一种密集存储下的作业调度方法的步骤流程图;
29.图3是本发明实施例中的密集存储仓库的结构示意图;
30.图4是本发明实施例提供的一种仓储系统的结构框图;
31.图5是本发明实施例提供的一种密集存储下的作业调度装置的结构框图。
具体实施方式
32.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
33.图2是本发明实施例提供的一种密集存储下的作业调度方法的步骤流程图,该方法适用于提升密集存储环境下出入库效率的一种多车协同调度的场景中,如图2所示,该方法可以包括:
34.步骤201,根据各个待执行任务之间的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合。
35.其中,路径阻碍关系是指两个待执行任务的规划路径之间存在阻碍关系,即一个待执行任务的规划路径被另一个待执行任务的规划路径阻碍到,即一个待执行任务的执行依赖于另一待执行任务的执行,或者一个待执行任务的执行影响到另一待执行任务的执行。
36.将所有未开始执行的任务作为待执行任务。遍历所有的待执行任务,根据各待执行任务的起点和终点能进行的路径规划确定各待执行任务之间的路径阻碍关系,从而确定各个待执行任务之间的依赖关系,根据各个待执行任务之间的依赖关系,将各个待执行任务归为至少一个任务依赖集合。
37.在本发明的一个实施例中,所述根据各个待执行任务之间的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合,包括:根据各个待执行任务的起点和终点,确定各个待执行任务的规划路径;将具有依赖关系的至少两个待执行任务归为一个任务依赖集合,将与其他待执行任务没有依赖关系的每个待执行任务归为一个任务依赖集合,得到至少一个任务依赖集合,并在每个任务依赖集合内按照各个待执行任务之间的依赖关系排列各个待执行任务,其中,若两个待执行任务的规划路径之间存在路径阻碍关系,则确定所述两个待执行任务之间具有依赖关系。换句话说,同一任务依赖集合中的待执行任务之间存在依赖关系,不同任务依赖集合之间的待执行任务之间不存在依赖关系。
38.首先根据各个待执行任务的起点和终点,为各个待执行任务进行路径规划,得到各个待执行任务的规划路径;之后根据各个待执行任务的规划路径,确定各个待执行任务的规划路径之间是否存在路径阻碍关系,若两个待执行任务的规划路径之间存在路径阻碍关系,则确定这两个待执行任务之间具有依赖关系,将具有依赖关系的至少两个待执行任务归为一个任务依赖集合;将与其他待执行任务没有依赖关系的待执行任务作为一个独立
的任务依赖集合,从而得到至少一个任务依赖集合。通过根据各个待执行任务之间的路径阻碍关系确定各个待执行任务的依赖关系,从而将待执行任务分为至少一个任务依赖集合,便于后续根据任务依赖集合内的依赖关系执行各个待执行任务,以提高作业效率。
39.例如,当前有4个尚未执行的任务,即具有4个待执行任务,待执行任务具体信息如表1所示,密集存储仓库的现场布局结构如图3所示,b、c、f为站点,a、d、e、g所在位置为巷道中的4个库位,巷道为单口巷道,故a对d构成路径阻碍,task002和task003都依赖task001先完成;同时,task002也依赖task003先完成出库,以释放d库位;故,以上task001~task003构成一个任务依赖集合,且内部的依赖执行顺序为:task001>task003>task002。task004为一个独立的依赖集合。
40.表1未执行任务的信息
41.任务id类型起点终点task001出库abtask002入库cdtask003移库detask004入库fg
42.需要说明的是,由于各个任务依赖集合之间的待执行任务之间不存在依赖关系,所以各个任务依赖集合可以并行执行,对于任务依赖集合内的各个待执行任务可以依据各个待执行任务的依赖关系依次执行。
43.步骤202,根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系;其中,所述任务类型包括将货物搬出巷道或将货物搬入巷道。
44.任务依赖集合中的各个待执行任务可能属于不同巷道,也可能属于相同巷道,所以依据待执行任务的所属巷道以及任务类型,对每个任务依赖集合进行拆分,将每个任务依赖集合拆分为至少一个任务子集合,由于任务依赖集合中的各个待执行任务之间存在依赖关系,从而可以确定每个任务依赖集合内的各任务子集合之间的依赖关系。其中,待执行任务的所属巷道是指待执行任务要将货物搬入的巷道或者将货物搬出的巷道。
45.在本发明的一个实施例中,所述根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系,包括:将所述每个任务依赖集合中属于同一巷道、在巷道内移动方向一致、任务类型相同以及在所述每个任务依赖集合中优先级相邻的待执行任务,作为任务子集合;所述每个任务依赖集合中的待执行任务的优先级是根据待执行任务之间的依赖关系确定的;根据所述每个任务依赖集合中各待执行任务之间的依赖关系,确定各任务子集合的依赖关系。
46.可以将每个独立的任务依赖集合中的待执行任务按以下原则划分成多个任务子集合:待执行任务的起点或终点同属同一巷道;待执行任务执行过程中在巷道移动方向一致;且属于任务子集合中的待执行任务是相邻优先级的,即各待执行任务之间的依赖关系没有被不能同时满足前述2点的待执行任务阻断。其中,对于单口巷道,所谓移动方向一致就是同为将货物搬出巷道或同为将货物搬入巷道;对于双口巷道,所谓移动方向一致就是将货物从同侧搬入巷道,或者,从同侧搬出巷道。
47.例如,在上述举例得到的依赖集合task001>task003>task002中,由于task002是进单口巷道,task001和task003是同一方向出单口巷道,可以划分的2个最小的任务子集合为{task001>task003}、{task002}。
48.将各独立依赖集合中划分出的各个任务子集合按照依赖关系串联,得到各个任务子集合之间的依赖关系,例如:{task001>task003}>{task002}。
49.步骤203,根据各任务子集合之间的依赖关系确定各任务子集合的优先级,并根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级。
50.若一个任务子集合依赖于另一个任务子集合,则被依赖的另一个任务子集合的优先级高于依赖于该另一个任务子集合的任务子集合的优先级,从而根据各任务子集合之间的依赖关系,可以确定各任务子集合的优先级。同理,对于任务子集合中各待执行任务之间的优先级可以同样根据各待执行任务之间的依赖关系确定。
51.其中,所述根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级,包括:根据任务子集合中各待执行任务依赖的前置待执行任务的数量,确定任务子集合内各待执行任务的优先级。
52.任务子集合中各待执行任务的优先级等于该任务子集合中各待执行任务所依赖的前置待执行任务的数量,前置待执行任务的数量的数值越小,优先级越高。例如,在上述例子得到的最小任务子集合task001>task003中,task001优先级值为0,task003优先级值为1,task001优先级高于task003优先级。
53.对于任务子集合,可以按照与任务子集合内各待执行任务的优先级的确定方式,确定各个任务子集合的优先级,即依据任务子集合所依赖的前置的任务子集合的数量,确定任务子集合的优先级。
54.步骤204,根据各任务子集合的优先级依次执行各任务子集合。
55.按照各任务子集合的优先级从高到低的顺序,依次执行各个任务子集合。
56.其中,步骤204可以包括如下步骤:
57.步骤2041,在执行每个任务子集合时,确定执行该任务子集合中的待执行任务的至少一个搬运设备,并根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务。
58.其中,所述搬运设备例如可以是自动导引车、叉车、机器人等可以搬运货物的设备。
59.在执行每个任务子集合时,首先确定执行该任务子集合中的待执行任务的至少一个搬运设备,从而根据该任务子集合中的任务类型,采用与任务类型对应的执行方式执行该任务子集合中的待执行任务,以按照任务子集合中待执行任务的优先级调度至少一个搬运设备执行任务子集合中的待执行任务。
60.在本发明的一个实施例中,所述确定执行该任务子集合中的待执行任务的至少一个搬运设备,可选包括:将该任务子集合中待执行任务的数量和当前空闲搬运设备数量中的最小值作为执行该任务子集合中的待执行任务的搬运设备的数量;从所述当前空闲搬运设备中选择所述数量个搬运设备,作为执行该任务子集合中待执行任务的至少一个搬运设备。
61.若该任务子集合中待执行任务的数量小于当前空闲搬运设备数量,则将该任务子
集合中待执行任务的数量作为执行该任务子集合中的待执行任务的搬运设备的数量;若该任务子集合中待执行任务的数量大于当前空闲搬运设备数量,则将当前空闲搬运设备数量作为执行该任务子集合中的待执行任务的搬运设备的数量。在确定执行该任务子集合中的待执行任务的搬运设备的数量后,可以按照最近导航距离的原则从当前空闲搬运设备中选择所述数量个搬运设备,作为执行该任务子集合中待执行任务的至少一个搬运设备。通过将任务子集合中待执行任务的数量和当前空闲搬运设备数量中的最小值作为执行该任务子集合中的待执行任务的搬运设备的数量,可以保证最快的执行该任务子集合中的待执行任务,提高作业效率。
62.在本发明的一个实施例中,所述根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务,包括:
63.若该任务子集合中的任务类型为将货物搬出巷道,则控制所述至少一个搬运设备前往所述巷道的巷道口,并根据所述至少一个搬运设备到达所述巷道口的顺序,为所述至少一个搬运设备分配相应优先级的待执行任务,并控制所述至少一个搬运设备执行待执行任务;
64.若该任务子集合中的任务类型为将货物搬入巷道,则根据当前任务子集合中待执行任务的优先级,将当前任务子集合中待执行任务依次分配给所述至少一个搬运设备,并控制所述至少一个搬运设备执行待执行任务。
65.若该任务子集合中的任务类型为将货物搬出巷道,则控制至少一个搬运设备前往所述巷道的巷道口,在搬运设备到达巷道口时,为该搬运设备分配待执行任务。在为搬运设备分配待执行任务时,根据至少一个搬运设备到达巷道口的顺序,为至少一个搬运设备分配相应优先级的待执行任务,在为至少一个搬运设备均分配待执行任务后,控制至少一个搬运设备执行待执行任务。
66.若该任务子集合中的任务类型为将货物搬入巷道,则根据当前任务子集合中待执行任务的优先级从高到低的顺序,将当前任务子集合中待执行任务依次分配给至少一个搬运设备,并控制至少一个搬运设备去待执行任务的起点搬运货物,并将货物搬运至待执行任务的终点。
67.在本发明的一个实施例中,若该任务子集合中的任务类型为将货物搬出巷道,所述根据所述至少一个搬运设备到达所述巷道口的顺序,为所述至少一个搬运设备分配相应优先级的待执行任务,并控制所述至少一个搬运设备执行待执行任务,包括:
68.若所述至少一个搬运设备的数量为n,则:
69.为到达所述巷道口的第一个搬运设备分配优先级值为n-1的待执行任务,并控制第一个搬运设备进入巷道到达相应待执行任务的位置;
70.为到达所述巷道口的第二个搬运设备分配优先级值为n-2的待执行任务,并控制第二个搬运设备进入巷道到达相应待执行任务的位置;
71.直到为到达所述巷道口的第n个搬运设备分配优先级值为0的待执行任务,控制第n个搬运设备进入巷道到达相应待执行任务的位置;其中,按照优先级值从大到小的顺序,对应的优先级为从低到高;
72.依次控制n个搬运设备启动并执行待执行任务,其中,在第n个搬运设备启动成功
后控制第n-1个搬运设备启动并执行待执行任务,直至第一个搬运设备启动并执行待执行任务。
73.为到达巷道口的第一个搬运设备分配优先级值为n-1的待执行任务,并控制第一个搬运设备进入巷道到达相应待执行任务的位置;为到达巷道口的第二个搬运设备分配优先级值为n-2的待执行任务,并控制第二个搬运设备进入巷道到达相应待执行任务的位置;依次类推,按照搬运设备到达巷道口的顺序,为搬运设备分配相应优先级的待执行任务,直到为到达巷道口的第n个搬运设备分配优先级值为0的待执行任务,控制第n个搬运设备进入巷道到达相应待执行任务的位置。当至少一个搬运设备均进入巷道后,优先启动第n个搬运设备,即优先启动优先级值为0的搬运设备,控制该搬运设备执行待执行任务,即控制该搬运设备搬运货物出巷道;在接收到第n个搬运设备的启动成功反馈信号后,启动第n-1个搬运设备,控制该第n-1个搬运设备执行待执行任务;在接收到第n-1个搬运设备的启动成功反馈信号后,启动第n-2个搬运设备,控制该第n-2个搬运设备执行待执行任务;依次类推,至少一个搬运设备按照优先级从高到低依次启动,直至启动第一个搬运设备并执行待执行任务,实现了各个搬运设备一个挨一个的出巷道,即至少一个搬运设备紧跟着咬着尾巴出巷道,不必等到一个搬运设备完全出巷道后再控制下一个搬运设备出巷道,从而可以提高任务子集合内待执行任务的作业效率。
74.若至少一个搬运设备的数量与该任务子集合中待执行任务的数量相同,则通过上述一次控制,可以完成对任务子集合中的待执行任务的执行;若至少一个搬运设备的数量为n,且n小于该任务子集合中待执行任务的数量s,则首先为n个搬运设备分配n个优先级较高的待执行任务,并控制n个搬运设备按照上述方式执行n个优先级较高的待执行任务,在这些待执行任务执行完成后,为n个搬运设备分配剩余s-n个待执行任务,直至任务子集合内待执行任务执行完成。
75.在本发明的一个实施例中,在任务子集合中的任务类型为将货物搬入巷道时,控制所述至少一个搬运设备执行待执行任务,包括:
76.在一个搬运设备到达所述巷道的巷道口时,若比该搬运设备执行的待执行任务高一优先级的另一待执行任务对应的另一搬运设备还未完成出巷道,则控制该搬运设备等待,直至所述另一搬运设备完成出巷道,控制该搬运设备执行待执行任务。
77.在任务子集合中的任务类型为将货物搬入巷道时,按照待执行任务的优先级从高到低的顺序,为至少一个搬运设备分配待执行任务,可以同时控制至少一个搬运设备前往各自待执行任务的起点并搬运货物入巷道,在一个搬运设备到达巷道的巷道口时,判断比该搬运设备执行的待执行任务高一优先级的另一待执行任务对应的另一搬运设备是否完成出巷道,若另一搬运设备未完成出巷道,则控制该搬运设备在巷道口附近等待,直至另一个搬运设备完成出巷道,控制该搬运设备执行待执行任务,以将搬运货物搬运至巷道内待执行任务对应的终点,之后控制该搬运设备出巷道。应理解,如果一个待执行任务的任务类型为将货物搬入巷道,则搬运设备将货物搬入巷道内对应的终点位置(即对应的库位)后驶出该巷道,认为搬运设备完成了该待执行任务。通过将执行高优先级待执行任务的另一搬运设备执行完成并出巷道后,再控制执行下一优先级的待执行任务的搬运设备执行待执行任务,可以及时释放另一搬运设备,从而该另一搬运设备可以去执行其他任务,从而可以提高作业效率。
78.若至少一个搬运设备的数量与该任务子集合中待执行任务的数量相同,则通过上述一次控制,可以完成对任务子集合中的待执行任务的执行;若至少一个搬运设备的数量n小于该任务子集合中待执行任务的数量s,则首先为n个搬运设备分配n个优先级较高的待执行任务,并控制n个搬运设备按照上述方式执行待执行任务,在执行较高优先级的待执行任务的一个搬运设备将待执行任务执行完成后,可以为该搬运设备分配所述n个待执行任务的下一优先级的待执行任务,并控制该搬运设备执行该待执行任务,在执行待执行任务的过程中,按照上述方式执行,即在搬运货物到达巷道口时按照上述方式判断并执行,直至任务子集合内待执行任务执行完成。
79.本实施例提供的密集存储下的作业调度方法,首先通过各个待执行任务之间的依赖关系,得到至少一个任务依赖集合,然后根据待执行任务的所属巷道以及任务类型将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合的优先级以及各任务子集合内待执行任务的优先级,根据各任务子集合的优先级依次执行各任务子集合,根据每个任务子集合中待执行任务的优先级,调度至少一个搬运设备执行任务子集合中的待执行任务。由于在执行任务子集合时根据任务子集合的优先级依次执行各任务子集合,而且在执行每个任务子集合内的待执行任务时也根据待执行任务的优先级进行执行,这样可以优先执行会阻碍到其他待执行任务的待执行任务,从而可以提高作业效率,提升出入库效率。
80.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
81.图4是本发明实施例提供的一种仓储系统的结构示意图,如图4所示,所述仓储系统400包括作业调度装置401和搬运设备402。
82.其中,作业调度装置401,用于执行本发明实施例所述的作业调度方法;
83.搬运设备402,用于在作业调度装置401的控制下搬运货物。
84.作业调度装置401在执行作业调度方法时,执行如下步骤:
85.根据各个待执行任务之间的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合;
86.根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系;其中,所述任务类型包括将货物搬出巷道或将货物搬入巷道;
87.根据各任务子集合之间的依赖关系确定各任务子集合的优先级,并根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级;
88.根据各任务子集合的优先级依次执行各任务子集合;
89.其中,在执行每个任务子集合时,确定执行该任务子集合中的待执行任务的至少一个搬运设备,并根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务。
90.可选的,所述根据各个待执行任务之间的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合,包括:
91.根据各个待执行任务的起点和终点,确定各个待执行任务的规划路径;
92.将具有依赖关系的至少两个待执行任务归为一个任务依赖集合,将与其他待执行任务没有依赖关系的每个待执行任务归为一个任务依赖集合,得到至少一个任务依赖集合,并在每个任务依赖集合内按照各个待执行任务之间的依赖关系排列各个待执行任务,其中,若两个待执行任务的规划路径之间存在路径阻碍关系,则确定所述两个待执行任务之间具有依赖关系。
93.可选的,所述根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系,包括:
94.将所述每个任务依赖集合中属于同一巷道、在巷道内移动方向一致、任务类型相同以及在所述每个任务依赖集合中优先级相邻的待执行任务,作为任务子集合;所述每个任务依赖集合中的待执行任务的优先级是根据待执行任务之间的依赖关系确定的;
95.根据所述每个任务依赖集合中各待执行任务之间的依赖关系,确定各任务子集合的依赖关系。
96.可选的,所述根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级,包括:
97.根据任务子集合中各待执行任务依赖的前置待执行任务的数量,确定任务子集合内各待执行任务的优先级。
98.可选的,所述根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务,包括:
99.若该任务子集合中的任务类型为将货物搬出巷道,则控制所述至少一个搬运设备前往所述巷道的巷道口,并根据所述至少一个搬运设备到达所述巷道口的顺序,为所述至少一个搬运设备分配相应优先级的待执行任务,并控制所述至少一个搬运设备执行待执行任务;
100.若该任务子集合中的任务类型为将货物搬入巷道,则根据当前任务子集合中待执行任务的优先级,将当前任务子集合中待执行任务依次分配给所述至少一个搬运设备,并控制所述至少一个搬运设备执行待执行任务。
101.可选的,所述根据所述至少一个搬运设备到达所述巷道口的顺序,为所述至少一个搬运设备分配相应优先级的待执行任务,并控制所述至少一个搬运设备执行待执行任务,包括:
102.若所述至少一个搬运设备的数量为n,则:
103.为到达所述巷道口的第一个搬运设备分配优先级值为n-1的待执行任务,并控制第一个搬运设备进入巷道到达相应待执行任务的位置;
104.为到达所述巷道口的第二个搬运设备分配优先级值为n-2的待执行任务,并控制第二个搬运设备进入巷道到达相应待执行任务的位置;
105.直到为到达所述巷道口的第n个搬运设备分配优先级值为0的待执行任务,控制第n个搬运设备进入巷道到达相应待执行任务的位置;其中,按照优先级值从大到小的顺序,对应的优先级为从低到高;
106.依次控制n个搬运设备启动并执行待执行任务,其中,在第n个搬运设备启动成功
后控制第n-1个搬运设备启动并执行待执行任务,直至第一个搬运设备启动并执行待执行任务。
107.可选的,在任务子集合中的任务类型为将货物搬入巷道时,控制所述至少一个搬运设备执行待执行任务,包括:
108.在一个搬运设备到达所述巷道的巷道口时,若比该搬运设备执行的待执行任务高一优先级的另一待执行任务对应的另一搬运设备还未完成出巷道,则控制该搬运设备等待,直至所述另一搬运设备完成出巷道,控制该搬运设备执行待执行任务。
109.可选的,所述确定执行该任务子集合中的待执行任务的至少一个搬运设备,包括:
110.将该任务子集合中待执行任务的数量和当前空闲搬运设备数量中的最小值作为执行该任务子集合中的待执行任务的搬运设备的数量;
111.从所述当前空闲搬运设备中选择所述数量个搬运设备,作为执行该任务子集合中待执行任务的至少一个搬运设备。
112.本实施例提供的仓储系统,由于作业调度装置在调度搬运设备执行任务子集合时根据任务子集合的优先级依次执行各任务子集合,而且执行任务子集合内待执行任务时也根据待执行任务的优先级执行各个待执行人,从而可以优先执行会阻碍到其他待执行任务的待执行任务,从而可以提高作业效率,提升出入库效率。
113.图5是本发明实施例提供的一种密集存储下的作业调度装置的结构框图,如图5所示,该密集存储下的作业调度装置可以包括:
114.任务依赖集合确定模块501,用于根据各个待执行任务的路径阻碍关系,确定各个待执行任务之间的依赖关系,得到至少一个任务依赖集合;
115.子集合划分模块502,用于根据每个任务依赖集合中的待执行任务的所属巷道以及任务类型,将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合之间的依赖关系;其中,所述任务类型包括将货物搬出巷道或将货物搬入巷道;
116.优先级确定模块503,用于根据各任务子集合之间的依赖关系确定各任务子集合的优先级,并根据任务子集合中各待执行任务之间的依赖关系确定各任务子集合内待执行任务的优先级;
117.子集合执行控制模块504,用于根据各任务子集合的优先级依次执行各任务子集合;
118.其中,子集合执行控制模块504包括:
119.子集合内任务控制单元5041,用于在执行每个任务子集合时,确定执行该任务子集合中的待执行任务的至少一个搬运设备,并根据该任务子集合中的任务类型,按照任务子集合中待执行任务的优先级,调度所述至少一个搬运设备执行任务子集合中的待执行任务。
120.可选的,所述任务依赖集合确定模块包括:
121.任务规划路径确定单元,用于根据各个待执行任务的起点和终点,确定各个待执行任务的规划路径;
122.任务依赖集合确定单元,用于将具有依赖关系的至少两个待执行任务归为一个任务依赖集合,将与其他待执行任务没有依赖关系的每个待执行任务归为一个任务依赖集合,得到至少一个任务依赖集合,并在每个任务依赖集合内按照各个待执行任务之间的依
赖关系排列各个待执行任务,其中,若两个待执行任务的规划路径之间存在路径阻碍关系,则确定所述两个待执行任务之间具有依赖关系。
123.可选的,所述子集合划分模块包括:
124.子集合划分单元,将所述每个任务依赖集合中属于同一巷道、在巷道内移动方向一致、任务类型相同以及在所述每个任务依赖集合中优先级相邻的待执行任务,作为任务子集合;所述每个任务依赖集合中的待执行任务的优先级是根据待执行任务之间的依赖关系确定的;
125.子集合依赖关系确定单元,根据所述每个任务依赖集合中各待执行任务之间的依赖关系,确定各任务子集合的依赖关系。
126.可选的,所述优先级确定模块包括:
127.任务优先级确定单元,用于根据任务子集合中各待执行任务依赖的前置待执行任务的数量,确定任务子集合内各待执行任务的优先级。
128.可选的,所述子集合内任务控制单元包括:
129.出巷道任务控制子模块,用于若该任务子集合中的任务类型为将货物搬出巷道,则控制所述至少一个搬运设备前往所述巷道的巷道口,并根据所述至少一个搬运设备到达所述巷道口的顺序,为所述至少一个搬运设备分配相应优先级的待执行任务,并控制所述至少一个搬运设备执行待执行任务;
130.入巷道任务控制子模块,用于若该任务子集合中的任务类型为将货物搬入巷道,则根据当前任务子集合中待执行任务的优先级,将当前任务子集合中待执行任务依次分配给所述至少一个搬运设备,并控制所述至少一个搬运设备执行待执行任务。
131.可选的,所述出巷道任务控制子模块包括:
132.搬运设备到达巷道控制子单元,用于若所述至少一个搬运设备的数量为n,则:
133.为到达所述巷道口的第一个搬运设备分配优先级值为n-1的待执行任务,并控制第一个搬运设备进入巷道到达相应待执行任务的位置;
134.为到达所述巷道口的第二个搬运设备分配优先级值为n-2的待执行任务,并控制第二个搬运设备进入巷道到达相应待执行任务的位置;
135.直到为到达所述巷道口的第n个搬运设备分配优先级值为0的待执行任务,控制第n个搬运设备进入巷道到达相应待执行任务的位置;其中,按照优先级值从大到小的顺序,对应的优先级为从低到高;
136.第一搬运设备任务执行控制子单元,用于依次控制n个搬运设备启动并执行待执行任务,其中,在第n个搬运设备启动成功后控制第n-1个搬运设备启动并执行待执行任务,直至第一个搬运设备启动并执行待执行任务。
137.可选的,所述入巷道任务控制子模块包括:
138.第二搬运设备任务执行控制子单元,用于在一个搬运设备到达所述巷道的巷道口时,若比该搬运设备执行的待执行任务高一优先级的另一待执行任务对应的另一搬运设备还未完成出巷道,则控制该搬运设备等待,直至所述另一搬运设备完成出巷道,控制该搬运设备执行待执行任务。
139.可选的,所述子集合内任务控制单元包括:
140.搬运设备数量确定子模块,用于将该任务子集合中待执行任务的数量和当前空闲
搬运设备数量中的最小值作为执行该任务子集合中的待执行任务的搬运设备的数量;
141.搬运设备确定子模块,用于从所述当前空闲搬运设备中选择所述数量个搬运设备,作为执行该任务子集合中待执行任务的至少一个搬运设备。
142.本实施例密集存储下的作业调度装置,通过任务依赖集合确定模块根据各个待执行任务之间的依赖关系,得到至少一个任务依赖集合,子集合划分模块根据待执行任务的所属巷道以及任务类型将每个任务依赖集合拆分为至少一个任务子集合,并确定各任务子集合的优先级以及各任务子集合内待执行任务的优先级,子集合执行控制模块根据各任务子集合的优先级依次执行各任务子集合,子集合内任务控制单元根据每个任务子集合中待执行任务的优先级,调度至少一个搬运设备执行任务子集合中的待执行任务。由于在执行任务子集合时根据任务子集合的优先级依次执行各任务子集合,而且在执行每个任务子集合内的待执行任务时也根据待执行任务的优先级进行执行,这样可以优先执行会阻碍到其他待执行任务的待执行任务,从而可以提高作业效率,提升出入库效率。
143.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
144.进一步地,根据本发明的一个实施例,提供了一种电子设备,所述电子设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现前述实施例的密集存储下的作业调度方法。
145.根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括但不限于磁盘存储器、cd-rom、光学存储器等,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例的密集存储下的作业调度方法。
146.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
147.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
148.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
149.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
150.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
151.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
152.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
153.以上对本发明所提供的一种密集存储下的作业调度方法、装置、仓储系统、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1