出库控制方法、电子设备、可读存储介质和出库系统与流程

专利2024-07-31  47



1.本技术涉及仓储管理技术领域,具体而言,涉及一种出库控制方法、电子设备、可读存储介质和出库系统。


背景技术:

2.在仓库中存放物品时并不知道后续物品的出库顺序,因此,在存放时并不会将需要先出库的物品放在方便取的位置,后出库的物品放在更深的位置。在出库时,不可避免的一些物品可能会被其他物品遮挡,需要先将遮挡物移出至其他位置后再拿出需要的物品;这种出库方式出库的会极大影响出库效率。


技术实现要素:

3.本技术的目的在于提供一种出库控制方法、电子设备、可读存储介质和出库系统,改善出库效率低的问题。
4.第一方面,本技术实施例提供了一种出库控制方法,包括:获取仓库当前需出库的各待出库容器组所对应的依赖关系数据,每个所述待出库容器组包括一个或多个待出库容器;其中,所述依赖关系数据基于所述待出库容器组中的待出库容器在出库时所需依赖的其他容器所确定;根据所述依赖关系数据,确定各所述待出库容器组是否可出库;其中,可出库的容器组包括第一容器组和/或第二容器组,所述第一容器组之间互相存在依赖关系,且各所述第一容器组中的待出库容器在出库时不依赖所述仓库中除各所述第一容器组之外的其他容器;所述第二容器组中的待出库容器在出库时不需要依赖除所述第二容器组之外的任何其他容器;执行所述可出库的容器组的出库操作。
5.在可选的实施方式中,所述待出库容器组的依赖关系数据通过依赖链表征;所述根据所述依赖关系数据,确定各所述待出库容器组是否可出库,包括:根据所述依赖关系数据,确定不需要依赖除自身容器组之外的任何其他容器的待出库容器组,作为可出库的容器组;针对除所述可出库的容器组之外的任一当前容器组,基于所述当前容器组所对应依赖链上的各待出库容器组或所述待出库容器组所对应依赖链上的各待出库容器所属待出库容器组的依赖关系数据,确定所述当前容器组是否可出库。
6.在可选的实施方式中,所述当前容器组所对应依赖链由待出库容器组构成;相应的,针对除所述可出库的容器组之外的任一当前容器组,基于所述当前容器组所对应依赖链上的各待出库容器组,确定所述当前容器组是否可出库,包括:针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若所述第i依赖链上的第j个待出库容器组在出库时不依赖除自身之外的其他容器,则确定所述当前容器组不能出库,其中,j为大于等于1且小于或等于所述第i依赖链上容器组的总组数的正整数;若所述第i依赖链上的第j个待出库容器组在出库时依赖于其他容器,根据所述第j个待出库容器组所对应的依赖链上的各个待出库容器组确定出所述当前容器组是否可出库。
7.在可选的实施方式中,所述根据所述第j个待出库容器组所对应的依赖链上的各个待出库容器组确定出所述当前容器组是否可出库,包括:若所述第j个待出库容器组所对应依赖链上的任意一个待出库容器组为确定状态,或者,若所述第j个待出库容器组所对应依赖链上的任意一个容器组属于环形依赖,且所述当前容器组不属于所述环形依赖,则确定所述当前容器组不能出库;所述确定状态用于表征所述待出库容器组是否能够出库;否则,对所述第j个待出库容器组所对应的依赖链进行更新,根据更新后的依赖链确定所述第j待出库容器是否可出库。
8.在可选的实施方式中,所述对所述第j个待出库容器组所对应的依赖链进行更新,根据更新后的依赖链确定所述第j待出库容器是否可出库,包括:若所述第j个待出库容器组所对应依赖链上的任意一个待出库容器组属于当前记录的临时环形依赖中的一个容器组,则将所述第i依赖链上的所有待出库容器组加入所述当前记录的临时环形依赖中;环形依赖表示形成环形依赖链的各容器组相互依赖,且形成环形依赖的各容器组不依赖于除形成环形依赖的各容器组之外的其他容器组,所述临时环形依赖的初始状态仅包括所述当前容器组;否则,则将所述第j个待出库容器组所对应依赖链上的待出库容器组加入所述第i依赖链中;完成对所述当前容器组的所有依赖链的识别后,确定所述临时环形依赖中的所有待出库容器组可出库。
9.在可选的实施方式中,所述当前容器组所对应依赖链由待出库容器构成;所述针对除所述可出库的容器组之外的任一当前容器组,基于所述待出库容器组所对应依赖链上的各待出库容器所属待出库容器组的依赖关系数据,确定所述当前容器组是否可出库,包括:针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若所述第i依赖链上的第j个待出库容器所在待出库容器组中的各个待出库容器不依赖于除自身所在容器组之外的其他容器,则确定所述当前容器组不能出库,其中,j为大于等一1且小于或等于所述第i依赖链上容器组的总组数的正整数;若所述第i依赖链上的第j个待出库容器所在待出库容器组中至少一个待出库容器依赖于其他容器,根据所述第j个待出库容器所在待出库容器组所对应依赖链上的各个待出库容器确定出所述当前容器组的定性标签。
10.在可选的实施方式中,每个所述待出库容器组对应至少一条依赖链,每条所述依赖链包括至少一个待出库容器或者待出库容器组;所述针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,包括:按照各所述当前容器组所依赖的待出库容器组或者待出库容器的数量从少到多的顺序,对所述当前容器组的第i依赖链进行识别;和/或,针对任一所述当前容器组,按照从所述第i依赖链的尾端至首端的顺序,对所述第i依赖链进行识别。
11.在可选的实施方式中,所述执行所述可出库的容器组的出库操作,包括:按照所述可出库的容器组出库所需搬运代价,对所述多组可出库的容器组进行排序,得到排序结果,所述可出库的容器组所需搬运代价表示搬运所述可出库的容器组中的容器所需花费的时长或所需执行的任务数量;根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库。
12.在可选的实施方式中,所述根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库,包括:控制运输车将所
述可出库的容器组中的各待出库容器,从其当前所在的库位搬运至对应的缓存储位;若所述当前待出库容器是排序在首位中的可出库的容器组中的待出库容器,则控制所述当前待出库容器出库。
13.在可选的实施方式中,所述根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库,还包括:若所述当前待出库容器不是排序在首位中的可出库的容器组中的待出库容器,则判断当前排序在首位的可出库的容器组是否存在已出库的待出库容器;若当前排序在首位的可出库的容器组不存在已出库的待出库容器,则判断所述当前待出库容器所在的可出库的容器组中的所有待出库容器是否搬运至对应的缓存储位;若所述当前待出库容器所在的可出库的容器组中的所有待出库容器均搬运至对应的缓存储位,则控制所述当前待出库容器所在的可出库的容器组中的所有待出库容器出库。
14.在可选的实施方式中,所述执行所述可出库的容器组的出库操作,包括:控制运输车将所述可出库的容器组中的待出库容器,从其所在的库位搬运至用于所述待出库容器出库的目标提升机所对应的目标缓存储位;控制所述目标提升机将所述待出库容器,从所述目标缓存储位移至所述仓库的出口层,以对所述待出库容器进行出库操作。
15.在可选的实施方式中,通过以下过程确定用于所述待出库容器出库的目标提升机:根据所述可出库的容器组中的待出库容器所在库位的位置信息,与当前可用的提升机的位置信息,计算出各个待出库容器至各个可用的提升机所需的距离代价;根据所述距离代价,以及所述可用的提升机的数量,为所述可出库的容器组中的各个待出库容器配置提升机。
16.在可选的实施方式中,所述方法还包括:若当前所需运输的待出库容器的数量小于第一阈值,重新获取所述仓库中的各容器组的依赖关系数据,以更新需要出库的可出库的容器组,所述第一阈值是根据所述仓库中的运输车的运输能力确定。
17.第二方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述的方法。
18.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现上述的方法。
19.第四方面,本技术实施例提供了一种计算机程序产品,包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现上述的方法。
20.第五方面,本技术实施例提供了一种出库系统,包括:运输车、提升机和仓库控制系统;所述仓库控制系统用于根据上述的出库控制方法,控制所述运输车和所述提升机执行待出库容器组的出库操作;
21.其中,所述运输车,用于在所述仓库控制系统的控制下将待出库容器组中的各待出库容器从库位搬运至提升机所对应的缓存储位;
22.所述提升机,用于在所述仓库控制系统的控制下将待出库容器组中的各待出库容器从所述缓存储位移至所述仓库出口层。
23.本技术实施例的有益效果是:通过在需要对容器组进行出库之前,可以基于各容器组之间的依赖关系数据确定出一组或多组可以出库的容器组,基于该依赖关系数据确定出的可以出库的容器相互依赖,且不依赖除各所述第一容器组之外的其他容器的多组第一
容器组,在控制各第一容器组出库时,每次移动的容器均为任意一个第一容器组中的容器,可以实现每一次移动动作都是移动的可出库的容器,不需要通过移动其它除各第一容器组之外的其它容器就能够实现第一容器组的出库操作,可以降低各第一容器组整体出库所需移动的容器数量,提高第一容器组的出库效率。另一方面,基于该依赖关系数据确定出的可以出库的容器是不依赖其它容器组的第二容器组,在控制这类第二容器组出库时,可以在不移动其它容器组的情况下就能够实现移出该容器组,可以使移出该类第二容器组的效率更高,提高容器组的出库效率。
附图说明
24.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
25.图1为本技术实施例提供的仓库的结构示意图;
26.图2为本技术实施例提供的出库系统的运行环境示意图;
27.图3为本技术实施例提供的电子设备的方框示意图;
28.图4为本技术实施例提供的出库控制方法的流程图;
29.图5a为本技术实施例提供的一层库位层的容器陈设示意图;
30.图5b为本技术实施例提供的一层库位层的容器另一陈设示意图;
31.图6为本技术实施例提供的出库控制方法的步骤320的示意流程图;
32.图7为本技术实施例提供的出库控制方法的步骤322的示意流程图;
33.图8为本技术实施例提供的出库控制方法的步骤330的示意流程图;
34.图9为本技术实施例提供的一层库位层的容器再一陈设示意图;
35.图10为本技术实施例提供的出库控制方法的出库逻辑的示意流程图;
36.图11为本技术实施例提供的出库控制方法的步骤330的示意流程图;
37.图12为本技术实施例提供的出库控制装置的功能模块示意图。
具体实施方式
38.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行描述。
39.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
40.为了降低面积的需求,提高空间利用率,现有的仓储技术中也会考虑使用更少的面积存储更多的货物,实现在有限的空间里产生更大的效能。进一步地,还可以通过提高仓储技术中的自动化率,以提高仓库中的物品的更换效率,也能够提高仓库的使用率。
41.基于上述需求,出现了一种密集式存储仓库,如穿梭车仓库(具体可以为四向穿梭车、两向穿梭车等等),该穿梭车仓库一方面可以节省通道提高存储密度,其巷道可以多个深度,另一方面该穿梭车仓库可以通过往高度方向发展,可以包括多层储物层,使得存储容积大大增加了,从而达到了节约空间资源的目的。
42.但是,如果密集式存储仓库作为独立自动化仓库进行出库拣选作业也会带来一定的困难。在整托出库时要求在出库时按照某种组顺序出库,这里组顺序指的是按出库容器顺序组内部任两个容器之间没有其他容器组的容器。也就是其中一个容器组出库完成后,才能够进行下一个容器组的出库动作。这种完全串行作业,出库效率相对比较地,不能满足高吞吐效率要求。
43.经本技术发明人研究了解到,在密集式存储仓库中实现高吞吐效率的要求有一定的困难。主要体现在:(1)在仓库内部由于密集存储,容器之间形成的阻碍关系会导致容器组与容器组之间形成阻碍;(2)在仓库内部没有缓存设备来帮助排序作业,或者存放形成阻碍的容器;(3)一般的四向穿梭车仓库还存在多个楼层使得调度更加复杂;(4)在一些更加复杂的场景中,仓库出口与提升机不相连还需要四向穿梭车接驳。
44.基于上述的吞吐效率上不足的问题,本技术提供了一种出库控制方法,能够使多组容器组并行出库,提高出库效率。下面通过一些实施例来描述本技术提供的出库控制方法。
45.为便于对本实施例进行理解,首先对执行本技术实施例所公开的出库控制方法的运行环境进行介绍。
46.如图1所示,图1示出了一个密集式存储仓库的示意图。该仓库100可以包括多个巷道110,其中,巷道110可以是由库位所构成的存储空间。每个巷道110可以有一定的深度,巷道110深度可以表示巷道110中的连续库位数。每个巷道可以包括一个或两个巷道口。在一个实例中,如图1所示,被虚线框选中的巷道110中包括三个库位111,因此,该巷道110的深度为3。该库位111可用于放置物品或用于装载物品的容器,例如,该容器可以是托盘、料箱等能够装载货物的容器。
47.仓库100中除巷道110外,还可以包含过道130、传送带(图未示)、出口(图1示出了第一出口121和第二出口122)等其他一项或多项配置。
48.仓库100可以包括一层或多层库位层,图1是仓库100的俯视示意图,示出了一层库位层。当仓库100包括多层库位层时,可以通过提升机220将容器在不同层之前移动。
49.如图1所示,该提升机220可以位于不同层库层的接驳口140处。该提升机220还可以与第一出口121连接。该提升机220可以将拿取的容器从该第一出口121出库。
50.图1所示的实例中,还可以包括第二出口122。该第二出口122可以未与提升机220直接连接,则需要从该第二出口122出容器时,则需要运输车210将容器从其它位置移动至该第二出口122。基于不同需求,仓库100还可以包括更多的出口,例如,该仓库100还可以包括更多出口。本技术实施例并不以仓库100的出口数量为限。
51.仓库100内的容器可以通过出库系统200移出库,外部的容器也可以通过该出库系统200存入该仓库100中。如图2所示,该出库系统200可以包括运输车210、提升机220和仓库控制系统。
52.其中,仓库控制系统可以用于后续实施例提供的出库控制方法,控制所述运输车和所述提升机执行待出库容器组的出库操作。
53.示例性地,该仓库控制系统可以为运行在电子设备230上的逻辑系统,该逻辑系统可以通过计算机程序实现。
54.电子设备230在执行仓库控制系统时,可以控制该运输车210和提升机220。例如,
该运输车210可以基于从电子设备230接收到的指令,执行相应的动作。该提升机220也可以基于从电子设备230接收到的指令,执行相应的动作。
55.其中,运输车210,用于在所述仓库控制系统的控制下将待出库容器组中的各待出库容器从库位搬运至提升机所对应的缓存储位。示例性地,运输车210(图1未示出,可参阅图2所示)可以穿梭于巷道110中,以获得巷道110中各个库位111上的容器。该运输车210可以将从仓库100的入口处进入的容器存放在巷道110中的库位111中。该运输车210也可以将库位111上的容器移出,移送至提升机220的缓存储位,该缓存储位可以是提升机220的接驳口或提升机220的等待位。
56.运输车210可以从巷道口进入巷道,以拿取巷道中的各库位上的容器。
57.本实施例中,该运输车210拿取巷道110中离巷道口最近的容器。例如,一个巷道110的深度为五,且五个库位上都存放有容器,则该运输车210仅能够拿取该巷道110的巷道口第一个库位中的容器。例如,若需要拿取巷道口里面的第三个库位,则需要先移出巷道口前面两个库位中的容器,才能拿取第三个库位中的容器。
58.示例性地,该运输车210可以是四向穿梭车,该仓库100可以是四向穿梭车仓库。
59.该提升机220,用于在所述仓库控制系统的控制下将待出库容器组中的各待出库容器从所述缓存储位移至所述仓库出口层。该提升机220可以将获得的容器在不同的库位层之间移动。在一个实例中,该提升机220也可以接入其中一个仓库100的出口,则该提升机220也可以将不同层的容器移送至该出口。在一个实例中,该提升机220也可以接入其中一个仓库100的入口,则该提升机220也可以将入口的容器移送至不同的库位层。
60.示例性地,电子设备230可以是可编程逻辑控制器(programmable logic controller,简称:plc)。
61.电子设备230可以包括存储器231、处理器232。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对电子设备230的结构造成限定。例如,电子设备230还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
62.上述的存储器231、处理器232各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器232用于执行存储器中存储的可执行模块。
63.其中,存储器231可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除只读存储器(erasable programmable read-only memory,简称eprom),电可擦除只读存储器(electric erasable programmable read-only memory,简称eeprom)等。其中,存储器231用于存储程序,所述处理器232在接收到执行指令后,执行所述程序,本技术实施例任一实施例揭示的过程定义的电子设备230所执行的方法可以应用于处理器232中,或者由处理器232实现。
64.上述的处理器232可能是一种集成电路芯片,具有信号的处理能力。上述的处理器232可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
65.本实施例中的电子设备230可以用于执行本技术实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述出库控制方法的实现过程。
66.请参阅图4,是本技术实施例提供的出库控制方法的流程图。该出库控制方法可以应用于图3所示的电子设备230。本实施例提供的出库控制方法可以包括以下步骤:
67.步骤310,获取仓库当前需出库的各待出库容器组所对应的依赖关系数据;
68.步骤320,根据依赖关系数据,确定各待出库容器组是否可出库;
69.步骤330,执行可出库的容器组的出库操作。
70.一些可选的实施方式中,步骤310可以通过以下方式实现:
71.每个所述待出库容器组包括一个或多个待出库容器;其中,依赖关系数据基于待出库容器组中的各待出库容器在出库时所需依赖的其他容器所确定。
72.就仓库中的一个巷道而言,一个巷道可以存放多个容器,如果该巷道只有一个巷道口,则运输车只能从离巷道口近至远拿取容器,也就是若需要拿取离巷道口远的容器,需要将离巷道口更近的其它容器均拿出该巷道后才能拿取到该容器。因此该巷道内的容器的依赖关系为:离巷道口远的容器依赖于所有比其离巷道口更近的容器。
73.每个容器组包括一个或多个容器,各个容器中可以放置有物品。在一个实例中,若一个库存单位(stock keeping unit,简称:sku)包括多项物品,被放置在多个容器中,则该多个容器可以被划分为一个容器中。在另一个实例中,若多个容器中多装载的物品可以被放置在一个容器中,因此,需要将该多个容器一起出库,以进行后续的合并处理,该多个容器也可以被划分为一个容器组。
74.当然,也可以基于其他需求,将多个容器划分为一个容器组,例如,多款物品能够形成一个销售套装,则装载该多款物品的容器可以被划分为一个容器组。
75.在移出一个容器组之前,必须先移出阻碍该容器组中的容器的其他容器。该依赖关系数据用于表示容器组依赖的其他容器组。
76.若任意一个容器组中的各个容器都放在巷道中离巷道口最近的库位,或者容器所存放的库位与巷道口之间没有存放其他物品,则该容器组的各个容器都不依赖于其它容器,则该容器组的依赖关系数据为空。
77.在一个实例中,如图5a所示,该图5a示出了一层库位中的陈设情况,该图5a中示出了四组容器组a、b、c、d,分别包括以下容器:a1、a2、a3、a4、a5;b1、b2、b3、b4;c1、c2、c3、c4、c5;d1、d2。
78.在第一组容器组a中,容器a1没有依赖容器,容器a2的依赖容器包括:b1;容器a3的依赖容器包括:c3;容器a4的依赖容器包括:d1和d2;容器a5的依赖容器包括:d1、d2和a4。在一些实现方式中,容器组的依赖链可以由容器构成,该第一组容器组包括四条依赖链,分别为:b1;c3;d1-d2;d1-d2-a4。但是由于容器a4与容器a5是同一组容器组,因此,在出库时容器a4与容器a5会一起出库,因此,容器a4不会对容器a5造成实质性的阻碍,因此,容器a5的依赖链也可以是:d1-d2。该第一组容器也可以理解为仅包括三条依赖链,分别为:b1;c3;d1-d2。在一些实现方式中,容器组的依赖链可以由容器组构成,该第一组容器组包括三条依赖链,每一条依赖链仅包括一个容器组,分别为:b;c;d-a。但是由于容器a4与容器a5是同
一组容器组,因此,在出库时容器a4与容器a5会一起出库,因此,容器a4不会对容器a5造成实质性的阻碍,因此,容器a5的依赖链也可以仅包括一个容器组d。该第一组容器也可以理解为仅包括三条依赖链,分别为:b;c;d。
79.在第二组容器组b中,容器b1没有依赖容器;容器b2的依赖容器包括:a1;容器b3的依赖容器包括:a1和b2;容器b4的依赖容器包括:a1、b2和b3。考虑b2、b3、b4属于同一组容器组,则该第二组容器组包括一条依赖链:a1。若依赖链以容器组构成,则该第二组容器组包括一条依赖链也可以包括容器组a。
80.在第三组容器组c中,容器c1的依赖容器包括:b1和a2;容器c2的依赖容器包括:c3和a3;容器c3的没有依赖容器;容器c4的依赖容器包括:b1、a2和c1;容器c5的依赖容器包括:c3、a3和c2。不考虑本组的容器的阻碍的情况下,该第三组容器组包括两条依赖链,分别为:b1-a2;a3。若依赖链以容器组构成,则该第三组容器组所包括两条依赖链,分别为:b-a;a。
81.在第四组容器组d中,容器d1没有依赖容器,容器d2的依赖容器仅包括:d1。因此,该第四组容器组没有依赖链。
82.在实际的仓库中,巷道的深度可以比图5a所示的巷道深度深,各容器组的陈设可能更加杂乱,则各组容器组所包含的依赖链可能比图5a中所示的各组容器组的依赖链更复杂。当然,在实际的仓库中,一个巷道可以有两个巷道口,拿取库位上的容器的路径可能不同,因此,各组容器组所包含的依赖链可能比图5a中所示的各组容器组的依赖链更简单。
83.可选地,依赖关系数据也可以仅包括除自身所在容器组之外的容器组。
84.一些可选的实施方式中,步骤320可以通过以下方式实现:
85.其中,可出库的容器组包括第一容器组和/或第二容器组,所述第一容器组之间互相存在依赖关系,且各所述第一容器组中的待出库容器在出库时不依赖所述仓库中除各所述第一容器组之外的其他容器;所述第二容器组中的待出库容器在出库时不需要依赖除所述第二容器组之外的任何其他容器。
86.可选地,该可出库的容器组可以没有依赖链的一组或多组容器组。以图5a为例,则第四组容器组的依赖关系数据中不包括依赖链。则该第四组容器组可以被选定为可出库的容器组。
87.可选地,该可出库的容器组也可以是依赖链中仅包括其所在容器组中的容器。
88.可选地,可出库的容器组也可以是多组相互依赖的环形依赖的多组可出库的容器组。以图5b为例,图5b所示的实例中,第四组容器组中的各个容器均已出库,则容器c4和容器c5原始陈设的库位已变更为空,第一组容器组的依赖链中则不包括第四组容器组,且第一组容器组、第二组容器组和第三组容器组三组容器组相互依赖,则第一组容器组、第二组容器组和第三组容器组可以确定为环形依赖,则可以将第一组容器组、第二组容器组和第三组容器组作为可出库的容器组。
89.当然,根据仓库环境的复杂度的不同,呈环形依赖的容器组组数也可以更多或更少。
90.一些可选的实施方式中,步骤330可以通过以下方式实现:
91.可选地,若存放容器的仓库仅包括一层库位,则可以通过运输车将库位上的容器运输至仓库的出口处,或者,运输至仓库的缓存储位处。
92.可选地,若存放容器的仓库仅包括多层库位层,则可以通过运输车将库位上的容器运输至提升机的接驳口,再通过提升机将该容器运送至仓库的出口处;或者,可以通过运输车将库位上的容器运输至提升机的接驳口,再通过提升机将该容器运送至仓库的出口层的接驳口,然后通过运输车运输至仓库的出口处;或者,通过运输车将库位上的容器运输至提升机的接驳口或提升机的等待位,等待提升机将容器运送至其他地方。
93.本实施例中,当存在多组容器组在并行出库流程时,可以维护一个出库顺序,也就是从库位拿出容器的流程可以并行进行,从出口出库则需要按照约定顺序出库。例如,在一组容器组未完全从出口出库之前,其它容器组可以从库位拿出,但是不能够从出口出库。
94.示例性地,当前维护的顺序是排序在首位的容器组出库完成后,再控制其它容器组从出口出库。若当前运输的容器是排序在首位的容器组中的容器,则可以将该当前容器运输至仓库的出口处,以使该容器能够从该出口出库。若当前运输的容器不是排序在首位的容器组中的容器,则可以将该当前容器运输至缓存储位处,需等待排序在首位的容器组中的容器出库完成后,再控制其它容器组从出口出库。
95.通过上述流程,通过在需要对容器组进行出库之前,可以基于各容器组之间的关系可以确定出一组或多组容器组,从而可以使需要组数的容器组出库,以此不再局限于一组容器组单独出库,可以实现多组容器组并行的出库,可以提高容器组出库效率。进一步地,由于还可以限定从出口出库的顺序,可以避免多组容器组交替从出口出库,也就能够更好地维持组顺序,避免各容器组错乱。
96.被选定为可出库的容器组的容器组可以分为两个类型,例如,存在相互依赖,其不依赖于其它容器组的多组第一容器组和不依赖于其它容器组的相对独立的第二容器组。可以先将不依赖于其它容器组的相对独立的第二容器组筛选出来,然后再从可能存在相对复杂的依赖关系中的容器中筛选出第一容器组。因此,如图6所示,步骤320可以包括步骤321和步骤322。
97.步骤321,根据依赖关系数据,确定不需要依赖除自身容器组之外的任何其他容器的待出库容器组,作为可出库的容器组。
98.其中,由步骤321确定出来的可出库的容器组则为上述的第二容器组,该第二容器组中的各容器不依赖于除该第二容器组之外的其它容器。
99.步骤322,针对除该可出库的容器组之外的任一当前容器组,基于该当前容器组所对应依赖链上的各待出库容器组或该待出库容器组所对应依赖链上的各待出库容器所属待出库容器组的依赖关系数据,确定该当前容器组是否可出库。
100.基于步骤322确定出来的各组可出库的容器组则为上述的第一容器组,该各组第一容器组相互依赖,且各组第一容器组不依赖于该仓库中存放的除各该第一容器组之外的其他容器组。
101.当前容器组所对应依赖链可以由待出库容器组构成,如图7所示,步骤322可以包括:步骤3221至步骤3223。
102.步骤3221,对当前容器组的第i依赖链进行识别。
103.步骤3222,若该第i依赖链上的第j个待出库容器组在出库时不依赖除自身之外的其他容器,则确定该当前容器组不能出库。
104.步骤3223,若该第i依赖链上的第j个待出库容器组在出库时依赖于其他容器,根
h-j-k,则可以依次遍历容器组k,容器组j,容器组h,容器组g。
116.一些可能的实施方式中,上述的步骤3222可以通过以下方式实现:
117.可选地,为了方便对待出库容器组的识别,避免重复识别,则可以确定为可出库的容器组设置定性标签,定性标签包括该第一标签和第二标签。该第一标签用于标识容器组不能出库,该第二标签用于标识容器组可以出库。例如,在步骤3221至步骤3223的过程中,确定出一些容器组能够出库时,则可以为该容器组设置第二标签。
118.其中,j为大于等一1且小于或等于第i依赖链上容器组的总组数的正整数。
119.如图5a所示的陈设关系可以了解到,在上述的当前容器组为第一组容器组时,当前i的取值为3时,由于第四组容器组d,没有依赖链,则该第一组容器组不能作为可出库的容器组。也可以为该第一组容器组设置定性标签,该定性标签确定为第一标签。
120.针对当前容器组的第i依赖链的识别过程,可以按照从所述第i依赖链的尾端至首端的顺序,对所述第i依赖链进行识别。
121.以图5a所示的实例为例,若当前容器组为第三组容器组c,第三组容器组中的第一条依赖链的末端为a,当前i的取值为1时,则可以先对容器组a进行识别,再对容器组b进行识别。
122.一些可能的实施方式中,上述的步骤3223可以通过以下方式实现:
123.可选地,第j个待出库容器组的依赖链上的各个容器组中任意一个容器组为确定状态,则表示该容器组不随当前容器组定性,不能与当前容器组构成环形依赖,则确定当前容器组不能够出库。
124.例如,若第j个待出库容器组的依赖链上的各个容器组中一个容器组的定性标签为第一标签,则表示该容器组不能够出库,由于当前容器组间接依赖于第j个待出库容器组的依赖链上的各个容器组中任意一个容器组,则该当前容器组也不能够出库。
125.例如,若第j个待出库容器组的依赖链上的各个容器组中一个容器组的定性标签为第二标签,则表示该容器组能够出库,但是当前容器组却没有被定性为可以出库,则表示该当前容器组与第j个待出库容器组的依赖链上的各个容器组中一个容器组未在同一个环形依赖上,则该当前容器组也不能够出库。
126.可选地,第j个待出库容器组的依赖链上的各个容器组中任意一个容器组属于环形依赖,且所述当前容器组不属于所述环形依赖,则表示该容器组不能与当前容器组构成环形依赖,则确定当前容器组不能够出库。
127.下面通过一个流程,描述步骤3223对第j个待出库容器组进行识别,以确定出当前容器组是否可以出库,该步骤3223可以包括以下流程:
128.步骤a,对第j个待出库容器组的依赖链上的各个容器组进行识别。
129.可以依次读取该第j个待出库容器组的依赖关系数据所包含的依赖链。
130.步骤b,如果该第j个待出库容器组的依赖链上的任意一个容器组为确定状态,则确定该当前容器组不能出库。
131.可选地,为了方便记录可以为该当前容器组设置定性标签,该定性表情可以是第一标签。
132.可选地,该确定状态可以包括容器组设置有定性标签,该定性标签可以是第一标签,也可以是第二标签。
133.可选地,该确定状态也可以是容器组不属于当前需出库的各待出库容器组中的容器组。
134.步骤c,如果该第j个待出库容器组的依赖链上的任意一个容器组为环形依赖中的一个容器组,且该当前容器组不属于其环形依赖中的一个容器组,则确定该当前容器组不能出库。
135.若该当前容器组已经确定与第j个待出库容器组的依赖链上的任意一个容器组不能够属于同一个环形依赖,可以将当前容器组确定为不能够出库。为了方便记录,可以为当前容器组设置定性标签,该定性标签为第一标签。
136.步骤d,若所述第j个待出库容器组所对应依赖链上的任意一个待出库容器组属于当前记录的临时环形依赖中的一个容器组,则将所述第i依赖链上的所有待出库容器组加入所述当前记录的临时环形依赖中。
137.环形依赖表示形成环形依赖链的各容器组相互依赖,且形成环形依赖的各容器组不依赖于除形成环形依赖的各容器组之外的其他容器组。
138.临时环形依赖的初始状态仅包括所述当前容器组。
139.以第二变量circle记录临时环形依赖,若第二变量circle当前已经记录了第j个待出库容器组的依赖链上的任意一个容器组,则表示第i依赖链上的所有容器组可能与当前容器组形成环形依赖,则可以将第i依赖链上的所有待出库容器组均记录在该第二变量circle中。
140.步骤e,否则,则将该第j个待出库容器组的依赖链上的容器组加入该第i依赖链中,形成该当前容器组的新的依赖链。
141.如果第j个待出库容器组的依赖链上的一个容器组不满足步骤b、步骤c和步骤d中的任意一种情况,则可以将第j个待出库容器组的依赖链上的这个容器组加入第i依赖链中,形成当前容器组的一个新的依赖链,并将该依赖链记录在第一变量stack中。
142.通过步骤a-e可以完成对当前容器组的第i依赖链上的容器组的依赖关系数据的识别,通过步骤3221至步骤3223的流程可以完成当前容器组中的所有依赖链的识别,在完成当前容器组的所有依赖关系数据的识别后,将第二变量circle中记录的容器组确定为可出库的容器组,且第二变量circle中记录的容器组被确定为第一容器组。
143.其中,在步骤a-e,或步骤3221至步骤3223中任意一个步骤将当前容器组确定为不可出库的容器组时,可以结束对当前容器组中的依赖链以及依赖链上的容器组的依赖数据的识别,并清除临时环形依赖中记录的内容。
144.通过上述对当前容器组中的依赖链的识别的流程,可以实现根据各组容器组的依赖关系数据,确定出需要出库的各组容器组中呈环形依赖的多组容器组。将环形依赖的多组容器组同步进入出库流程,可以降低各组容器组出库所需的等待时长,提高容器组出库效率。
145.当前容器组所对应依赖链可以由待出库容器构成,步骤322可以包括:针对任一该当前容器组,对该当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若该第i依赖链上的第j个待出库容器所在待出库容器组中的各个待出库容器不依赖于除自身所在容器组之外的其他容器,则确定该当前容器组不能出库,其中,j为大于等一1且小于或等于该第i依赖链上容器组的总组数的正整数;若该第i
依赖链上的第j个待出库容器所在待出库容器组中至少一个待出库容器依赖于其他容器,根据该第j个待出库容器所在待出库容器组所对应依赖链上的各个待出库容器确定出该当前容器组的定性标签。
146.其中,该步骤322的过程可以参阅上述的步骤3221至步骤3223中的描述,在此不再赘述。
147.由于每一组容器组成组呈现,如果在出库时打乱顺序出库,可能会导致各组的容器混合增加后续工作人员的工作,因此,在基于上述的步骤320确定出可出库的容器组后,可以通过运输车并行地从库位中拿取各个可出库的容器组的待出库容器,然后再基于组顺序将拿取到的待出库容器出库。基于此需求,在控制各个可出库的容器组出库之前可以先对各组进行排序。因此,如图8所示,步骤330可以包括:步骤331和步骤332。
148.步骤331,按照该可出库的容器组出库所需搬运代价,对该多组可出库的容器组进行排序,得到排序结果。
149.步骤332,根据该排序结果,按照各该可出库的容器组所需搬运代价从少到多的顺序依次控制多组该可出库的容器组出库。
150.一些可选的实施方式中,上述的步骤331可以通过以下方式实现:
151.上述的可出库的容器组所需搬运代价表示搬运所述可出库的容器组中的容器所需花费的时长或所需执行的任务数量。
152.示例性地,该所需搬运代价可以表现为可出库的容器组所需搬运容器次数,该搬运代价也可以表现为可出库的容器组搬运出库所需时间。
153.可选地,所需执行的任务数量可以表示可出库的容器组所需搬运容器次数,该所需搬运容器次数可以表示搬运所述可出库的容器组中的容器以及所述可出库的容器组中的各容器依赖的容器所需的搬运容器次数。
154.可出库的容器组搬运出库所需时间可以包括搬运可出库的容器组各个容器至缓存储位所需花费时长,与搬运可出库的容器组中的各容器依赖的容器至缓存储位所需花费时长之和。
155.可选地,使用贪心算法,对该多组可出库的容器组进行排序,以得到排序结果。
156.该贪心算法可以先按照设定标准,筛选出一个初始首位可出库的容器组,然后再以该设定标准叠加后续序位的可出库的容器组。
157.可选地,该设定标准可以可出库的容器组所需搬运容器次数最少。
158.以图5b所示的实例为例,若当前已经选定第一组容器组至第三组容器组为可出库的容器组,则该第一组容器组的所需搬运容器次数可以为五个待出库容器加两个依赖容器;该第二组容器组的所需搬运容器次数可以为四个待出库容器加一个依赖容器;该第三组容器组的所需搬运容器次数可以为五个待出库容器加三个依赖容器。在图5b所示的实例中,第二组容器组的所需搬运容器次数最少,则可以将该第二组容器组作为初始首位可出库的容器组。
159.可选地,可以以移出各组所需的所需搬运容器次数最少的一组可出库的容器组作为初始首位可出库的容器组;然后从余下的各组可出库的容器组中所需移出的容器数量最少的一组作为排序为第二位;以此类推,对多组可出库的容器组进行排序,得到一个第一排序。
160.其中,若排序在前的容器组中的待出库容器不再形成后序的可出库的容器组的阻碍,排序在前的容器组中的依赖容器也不再计数为后序容器组所需的所需搬运容器次数。
161.以在图5b所示的实例中,第二组容器组的所需搬运容器次数最少,则可以将该第二组容器组作为初始首位可出库的容器组。如图9所示,由于第二组容器组在首位,则该第二组容器组中的容器以及该第二组容器组的依赖容器不再计数为后序容器组所需的所需搬运容器次数。则第一组容器组的所需搬运容器次数为四个待出库容器和一个依赖容器,第三组容器组的所需搬运容器次数为五个待出库容器和两个依赖容器。则该第一组容器组排序在第二位,第三组容器组排序在第三位。
162.可选地,该设定标准也可以是可出库的容器组搬运出库所需时间最短。
163.可选地,也可以按照多个设定标准,对多组可出库的容器组进行排序,得到多个初始排序结果。
164.然后基于多个初始排序结果计算各个排序结果下,各可出库的容器组完成出库所需的总时长,以及各容器组完成所需的等待时长。在基于出库所需的总时长,以及各可出库的容器组完成出库所需的等待时长,确定出最后的排序结果。
165.其中,可出库的容器组完成出库所需的等待时长可以表示该可出库的容器组从第一个待出库容器出库位至最后一个待出库容器出库位之间的间隔时长。
166.可选地,也可以将多组可出库的容器组,按照排列组合的方式得到多个初始排序结果;然后基于多个初始排序结果计算各个排序结果下,各可出库的容器组完成出库所需的总时长,以及各容器组完成所需的等待时长。在基于成出库所需的总时长,以及各容器组完成所需的等待时长,确定出最后的排序结果。
167.可选地,可以选出各组可出库的容器组所需等待时间最短,且出库所需的总时长相对更短的排序结果作为最终的排序结果。
168.通过对各组可出库的容器组进行排序,可以实现通过相对更少的动作,完成各组可出库的容器组的出库。进一步地,由于考虑了各组容器组所需的等待时长,可以实现花费更少的时间实现各组可出库的容器组的出库,从而提高了可出库的容器组的出库效率。进一步地,通过将各组待出库容器进行排序,使提升机或运输车的运输量更小,也可以实现各层库位层的工作量的动态平衡。
169.一些实施方式中,上述的步骤332可以通过以下方式实现:
170.可选地,可以在排序在首位的可出库的容器组中的所有待出库容器均已经出库,再控制其他可出库的容器组中的待出库容器出库。在排序在首位的可出库的容器组出库完成之前,其它可出库的容器组的容器可以先被搬运至对应的缓存储位处等待。
171.示例性地,可以控制运输车从该可出库的容器组的各项待出库容器的库位拿取当前待出库容器,将该待出库容器搬运至对应的缓存储位;若该当前待出库容器是排序在首位中的可出库的容器组中的待出库容器,则控制该当前待出库容器出库。
172.在一可选的实施方式中,若该当前待出库容器不是排序在首位中的可出库的容器组中的待出库容器,则可以在该缓存储位处等待,直到排序在首位的可出库的容器组中的所有容器均已出库。
173.通过上述步骤331和步骤332,可以基于从搬运代价更小的容器组进行出库,在前面容器组移出后也能够降低对后续的可出库的容器组的阻碍,从而可以提高可出库的容器
组的整体出库所需花费代价,提高可出库的容器组的出库效率。
174.在另一种可选地实施方式中,也可以在适应性调整用于控制出库的排序结果。如图10所示,控制流程出库流程可以如下所示:
175.步骤j1,判断当前待出库容器是排序在首位中的可出库的容器组中的待出库容器。若当前待出库容器是排序在首位中的可出库的容器组中的待出库容器,则执行步骤j5。若该当前待出库容器不是排序在首位中的可出库的容器组中的待出库容器,则执行步骤j2。步骤j2,判断当前排序在首位的可出库的容器组是否存在已出库的待出库容器。若当前排序在首位的可出库的容器组不存在已出库的待出库容器,则执行步骤j3。若当前排序在首位的可出库的容器组存在已出库的待出库容器,则该当前待出库容器在该缓存储位等待。步骤j3,判断该当前待出库容器所在的可出库的容器组中的所有待出库容器是否搬运至对应的缓存储位。若该当前待出库容器所在的可出库的容器组中的所有待出库容器均搬运至对应的缓存储位,则执行步骤j4。若前待出库容器所在的可出库的容器组中存在待出库容器未被搬运对应的缓存储位,则该当前待出库容器在对应的缓存储位等待。步骤j4,控制该当前待出库容器所在的可出库的容器组中的所有待出库容器出库。步骤j5,控制当前待出库容器出库。
176.若当前待出库容器为仓库的出口层的待出库容器,则可以直接由运输车移送至出口处。若当前待出库容器为仓库的其他层的待出库容器,则可以由提升机先运输至出口层,再进行后续的搬运至出口处出库。
177.为了避免排序情况影响后续的出库进程,当任意一个可出库的容器组中的所有容器完成出库,则对该排序结果进行更新。
178.可选地,当排序在首位的可出库的容器组所有容器完成出库,则可以将排序在后序的可出库的容器组均提前一个位序,并删除该排序在首位的可出库的容器组的排序。
179.可选地,当其他位序的可出库的容器组所有容器完成出库,则可以将排序在该完成出库的可出库的容器组后序的可出库的容器组均提前一个位序,并删除该排序完成出库的可出库的容器组的排序。
180.通过上述的实现手段,可以维持每个可出库的容器组的出库组内顺序,还能够在一个可出库的容器组均已达到缓存储位时,再不影响其它可出库的容器组出库的情况下,提前将一个可出库的容器组一起出库,也能够提高容器出库效率。
181.用于存放各容器的仓库可以包括多层库位层时,则不同库位层之间的容器运输可以由提升机实现。如图11所示,步骤330可以包括步骤333和步骤334。
182.步骤333,控制运输车将可出库的容器组中的待出库容器,从其所在的库位搬运至用于该待出库容器出库的目标提升机所对应的目标缓存储位。
183.步骤334,控制该目标提升机将该待出库容器,从该目标缓存储位移至该仓库的出口层,以对该待出库容器进行出库操作。
184.提升机可以将目标缓存储位的待出库容器运输至仓库的出口层,以供出口层的运输车将待出库容器搬运出库。
185.一些可选的实施方式中,上述的步骤333可以通过以下方式实现:
186.该目标缓存储位可以是目标提升机的目标接驳口,也可以是目标提升机的目标等待位。其中,该目标提升机的目标接驳口处,运输车可以直接将待出库容器放置在目标提升
机上。当前可用的提升机的数量比需要移出的待出库容器的数量更少,因此,在目标提升机不能够直接对所有待出库容器进行搬运时,则运输车可以将待出库容器先运输至该目标提升机的目标等待位。
187.本实施例中,每个仓库可以包括多个提升机,每个提升机可以对应有接驳口和等待位。提升机可以运输其对应的接驳口和等待位的待出库容器。
188.若已为每一个待出库容器配置了对应的提升机,则可以控制运输车将该可出库的容器组中的待出库容器从其所在库位,运输至对应的提升机的缓存储位。
189.通过上述实现方式可以,结合运输车以及提升机实现对待出库容器进行搬运,可以使仓库内的容器的搬运能够更加有序。
190.为了使各个运输车以及提升机的工作更加均衡,在搬运待出库容器之前,可以为各个待出库容器配置提升机。在步骤333之前,出库控制方法还可以包括:根据该可出库的容器组中的待出库容器所在的库位信息,与可用的提升机的缓存储位,为该可出库的容器组中的待出库容器配置提升机。
191.若可用的提升机的数量大于待出库容器的数量,可以根据各个待出库容器所在的库位信息以及各可用的提升机的缓存储位之间的距离,为每一个待出库容器配置一个可用的提升机。例如,可以按照运输车运动距离最短的原则为每一个待出库容器配置提升机。
192.若可用的提升机的数量不大于待出库容器的数量,则可能存在一个提升机需要运输多个待出库容器的情况,则除了考虑运输车运动距离最短,还需要平衡各个提升机的运输量。
193.示例性地,根据该可出库的容器组中的待出库容器所在库位的位置信息,与当前可用的提升机的位置信息,计算出各个待出库容器至各个可用的提升机所需的距离代价;根据该距离代价,以及该可用的提升机的数量,为该可出库的容器组中的各个待出库容器配置提升机。
194.若待出库容器的数量是可用提升机的数量的整数倍,则可以平均地为每个提升机分配待出库容器,也就是每个可用的提升机可以服务相同数量的待出库容器,且所需运输车运输的距离最小。
195.若待出库容器的数量不是可用提升机的数量的整数倍,则任意两个可用提升机运输的待出库容器的数量差不大于一,且所需运输车运输的距离最小。
196.通过根据待出库容器的数量和提升机的数量,配置提升机可以均衡地使用各提升机,避免过度消耗一个提升机,也可以提升出库效率。
197.为了提高出库的效率,在各层的运输车的所需运输的待出库容器下降下来之后,也可以持续地根据当前仓库中的需要出库的容器组筛选出更多的可出库的容器组。因此,在出库控制方法还可以包括:若当前所需运输的待出库容器的数量小于第一阈值,重新获取所述仓库中的各容器组的依赖关系数据,以更新需要出库的可出库的容器组。
198.可选地,可以通过步骤310至步骤330中的流程实现重新获取该仓库中的各容器组的依赖关系数据,以更新需要出库的可出库的容器组的步骤。关于更新需要出库的可出库的容器组的流程可以筛选流程可以参与步骤310至步骤330中的相关介绍,在此不再赘述。
199.第一阈值是根据所述仓库中的运输车的运输能力确定。该运输能力可以通过仓库中的运输车的数量表示,例如,仓库中的运输车的数量越多,则表示仓库中的运输车的运输
能力越大。
200.通过动态地调整筛选出可出库的容器组,可以动态地选出当前最适合出库的可出库的容器组,以提高容器组的出库效率。
201.基于同一申请构思,本技术实施例中还提供了与出库控制方法对应的出库控制装置,由于本技术实施例中的装置解决问题的原理与前述的出库控制方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
202.请参阅图12,是本技术实施例提供的出库控制装置的功能模块示意图。本实施例中的出库控制装置中的各个模块用于执行上述方法实施例中的各个步骤。出库控制装置包括:第一获取模块410、第一确定模块420和出库模块430;其各个模块如下所示:
203.第一获取模块410,用于获取仓库当前需出库的各待出库容器组所对应的依赖关系数据,每个所述待出库容器组包括一个或多个待出库容器;其中,所述依赖关系数据基于所述待出库容器组中的待出库容器在出库时所需依赖的其他容器所确定;
204.第一确定模块420,用于根据所述依赖关系数据,确定各所述待出库容器组是否可出库;其中,可出库的容器组包括第一容器组和/或第二容器组,所述第一容器组之间互相存在依赖关系,且各所述第一容器组中的待出库容器在出库时不依赖所述仓库中除各所述第一容器组之外的其他容器;所述第二容器组中的待出库容器在出库时不需要依赖除所述第二容器组之外的任何其他容器;
205.出库模块430,用于执行所述可出库的容器组的出库操作。
206.一种可能的实施方式中,所述待出库容器组的依赖关系数据通过依赖链表征;第一确定模块,包括:第一确定单元和第二确定单元:
207.第一确定单元,用于根据所述依赖关系数据,确定不需要依赖除自身容器组之外的任何其他容器的待出库容器组,作为可出库的容器组;
208.第二确定单元,用于针对除所述可出库的容器组之外的任一当前容器组,基于所述当前容器组所对应依赖链上的各待出库容器组或所述待出库容器组所对应依赖链上的各待出库容器所属待出库容器组的依赖关系数据,确定所述当前容器组是否可出库。
209.一种可能的实施方式中,所述当前容器组所对应依赖链由待出库容器组构成;相应的,第二确定单元,用于针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若所述第i依赖链上的第j个待出库容器组在出库时不依赖除自身之外的其他容器,则确定所述当前容器组不能出库,其中,j为大于等于1且小于或等于所述第i依赖链上容器组的总组数的正整数;若所述第i依赖链上的第j个待出库容器组在出库时依赖于其他容器,根据所述第j个待出库容器组所对应的依赖链上的各个待出库容器组确定出所述当前容器组是否可出库。
210.一种可能的实施方式中,第二确定单元,还用于若所述第j个待出库容器组所对应依赖链上的任意一个待出库容器组为确定状态,或者,若所述第j个待出库容器组所对应依赖链上的任意一个容器组属于环形依赖,且所述当前容器组不属于所述环形依赖,则确定所述当前容器组不能出库;所述确定状态用于表征所述待出库容器组是否能够出库;否则,对所述第j个待出库容器组所对应的依赖链进行更新,根据更新后的依赖链确定所述第j待出库容器是否可出库。
211.一种可能的实施方式中,第二确定单元,还用于若所述第j个待出库容器组所对应
依赖链上的任意一个待出库容器组属于当前记录的临时环形依赖中的一个容器组,则将所述第i依赖链上的所有待出库容器组加入所述当前记录的临时环形依赖中;环形依赖表示形成环形依赖链的各容器组相互依赖,且形成环形依赖的各容器组不依赖于除形成环形依赖的各容器组之外的其他容器组,所述临时环形依赖的初始状态仅包括所述当前容器组;否则,则将所述第j个待出库容器组所对应依赖链上的待出库容器组加入所述第i依赖链中;完成对所述当前容器组的所有依赖链的识别后,确定所述临时环形依赖中的所有待出库容器组可出库。
212.一种可能的实施方式中,所述当前容器组所对应依赖链由待出库容器构成;第二确定单元,还用于针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若所述第i依赖链上的第j个待出库容器所在待出库容器组中的各个待出库容器不依赖于除自身所在容器组之外的其他容器,则确定所述当前容器组不能出库,其中,j为大于等一1且小于或等于所述第i依赖链上容器组的总组数的正整数;若所述第i依赖链上的第j个待出库容器所在待出库容器组中至少一个待出库容器依赖于其他容器,根据所述第j个待出库容器所在待出库容器组所对应依赖链上的各个待出库容器确定出所述当前容器组的定性标签。
213.一种可能的实施方式中,每个所述待出库容器组对应至少一条依赖链,每条所述依赖链包括至少一个待出库容器或者待出库容器组;第二确定单元,还用于按照各所述当前容器组所依赖的待出库容器组或者待出库容器的数量从少到多的顺序,对所述当前容器组的第i依赖链进行识别;和/或,针对任一所述当前容器组,按照从所述第i依赖链的尾端至首端的顺序,对所述第i依赖链进行识别。
214.一种可能的实施方式中,出库模块430,用于按照所述可出库的容器组出库所需搬运代价,对所述多组可出库的容器组进行排序,得到排序结果,所述可出库的容器组所需搬运代价表示搬运所述可出库的容器组中的容器所需花费的时长或所需执行的任务数量;根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库。
215.一种可能的实施方式中,出库模块430,还用于控制运输车将所述可出库的容器组中的各待出库容器,从其当前所在的库位搬运至对应的缓存储位;若所述当前待出库容器是排序在首位中的可出库的容器组中的待出库容器,则控制所述当前待出库容器出库。
216.一种可能的实施方式中,出库模块430,还用于若所述当前待出库容器不是排序在首位中的可出库的容器组中的待出库容器,则判断当前排序在首位的可出库的容器组是否存在已出库的待出库容器;若当前排序在首位的可出库的容器组不存在已出库的待出库容器,则判断所述当前待出库容器所在的可出库的容器组中的所有待出库容器是否搬运至对应的缓存储位;若所述当前待出库容器所在的可出库的容器组中的所有待出库容器均搬运至对应的缓存储位,则控制所述当前待出库容器所在的可出库的容器组中的所有待出库容器出库。
217.一种可能的实施方式中,出库模块430,用于控制运输车将所述可出库的容器组中的待出库容器,从其所在的库位搬运至用于所述待出库容器出库的目标提升机所对应的目标缓存储位;控制所述目标提升机将所述待出库容器,从所述目标缓存储位移至所述仓库的出口层,以对所述待出库容器进行出库操作。
218.一种可能的实施方式中,出库控制装置还可以包括:第二确定模块,用于根据所述可出库的容器组中的待出库容器所在库位的位置信息,与当前可用的提升机的位置信息,计算出各个待出库容器至各个可用的提升机所需的距离代价;根据所述距离代价,以及所述可用的提升机的数量,为所述可出库的容器组中的各个待出库容器配置提升机。
219.一种可能的实施方式中,出库控制装置还可以包括:第二获取模块,用于若当前所需运输的待出库容器的数量小于第一阈值,重新获取所述仓库中的各容器组的依赖关系数据,以更新需要出库的可出库的容器组,所述第一阈值是根据所述仓库中的运输车的运输能力确定。
220.此外,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的出库控制方法的步骤。
221.本技术实施例所提供的出库控制方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的出库控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
222.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
223.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
224.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过
程、方法、物品或者设备中还存在另外的相同要素。
225.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
226.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种出库控制方法,其特征在于,包括:获取仓库当前需出库的各待出库容器组所对应的依赖关系数据,每个所述待出库容器组包括一个或多个待出库容器;其中,所述依赖关系数据基于所述待出库容器组中的待出库容器在出库时所需依赖的其他容器所确定;根据所述依赖关系数据,确定各所述待出库容器组是否可出库;其中,可出库的容器组包括第一容器组和/或第二容器组,所述第一容器组之间互相存在依赖关系,且各所述第一容器组中的待出库容器在出库时不依赖所述仓库中除各所述第一容器组之外的其他容器;所述第二容器组中的待出库容器在出库时不需要依赖除所述第二容器组之外的任何其他容器;执行所述可出库的容器组的出库操作。2.根据权利要求1所述的方法,其特征在于,所述待出库容器组的依赖关系数据通过依赖链表征;所述根据所述依赖关系数据,确定各所述待出库容器组是否可出库,包括:根据所述依赖关系数据,确定不需要依赖除自身容器组之外的任何其他容器的待出库容器组,作为可出库的容器组;针对除所述可出库的容器组之外的任一当前容器组,基于所述当前容器组所对应依赖链上的各待出库容器组或所述待出库容器组所对应依赖链上的各待出库容器所属待出库容器组的依赖关系数据,确定所述当前容器组是否可出库。3.根据权利要求2所述的方法,其特征在于,所述当前容器组所对应依赖链由待出库容器组构成;相应的,针对除所述可出库的容器组之外的任一当前容器组,基于所述当前容器组所对应依赖链上的各待出库容器组,确定所述当前容器组是否可出库,包括:针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若所述第i依赖链上的第j个待出库容器组在出库时不依赖除自身之外的其他容器,则确定所述当前容器组不能出库,其中,j为大于等于1且小于或等于所述第i依赖链上容器组的总组数的正整数;若所述第i依赖链上的第j个待出库容器组在出库时依赖于其他容器,根据所述第j个待出库容器组所对应的依赖链上的各个待出库容器组确定出所述当前容器组是否可出库。4.根据权利要求3所述的方法,其特征在于,所述根据所述第j个待出库容器组所对应的依赖链上的各个待出库容器组确定出所述当前容器组是否可出库,包括:若所述第j个待出库容器组所对应依赖链上的任意一个待出库容器组为确定状态,或者,若所述第j个待出库容器组所对应依赖链上的任意一个容器组属于环形依赖,且所述当前容器组不属于所述环形依赖,则确定所述当前容器组不能出库;所述确定状态用于表征所述待出库容器组是否能够出库;否则,对所述第j个待出库容器组所对应的依赖链进行更新,根据更新后的依赖链确定所述第j待出库容器是否可出库。5.根据权利要求4所述的方法,其特征在于,所述对所述第j个待出库容器组所对应的依赖链进行更新,根据更新后的依赖链确定所述第j待出库容器是否可出库,包括:若所述第j个待出库容器组所对应依赖链上的任意一个待出库容器组属于当前记录的
临时环形依赖中的一个容器组,则将所述第i依赖链上的所有待出库容器组加入所述当前记录的临时环形依赖中;环形依赖表示形成环形依赖链的各容器组相互依赖,且形成环形依赖的各容器组不依赖于除形成环形依赖的各容器组之外的其他容器组,所述临时环形依赖的初始状态仅包括所述当前容器组;否则,则将所述第j个待出库容器组所对应依赖链上的待出库容器组加入所述第i依赖链中;完成对所述当前容器组的所有依赖链的识别后,确定所述临时环形依赖中的所有待出库容器组可出库。6.根据权利要求2所述的方法,其特征在于,所述当前容器组所对应依赖链由待出库容器构成;所述针对除所述可出库的容器组之外的任一当前容器组,基于所述待出库容器组所对应依赖链上的各待出库容器所属待出库容器组的依赖关系数据,确定所述当前容器组是否可出库,包括:针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,i为大于或等于1,且小于或等于当前容器组的依赖链总数的正整数;若所述第i依赖链上的第j个待出库容器所在待出库容器组中的各个待出库容器不依赖于除自身所在容器组之外的其他容器,则确定所述当前容器组不能出库,其中,j为大于等一1且小于或等于所述第i依赖链上容器组的总组数的正整数;若所述第i依赖链上的第j个待出库容器所在待出库容器组中至少一个待出库容器依赖于其他容器,根据所述第j个待出库容器所在待出库容器组所对应依赖链上的各个待出库容器确定出所述当前容器组的定性标签。7.根据权利要求3-6任意一项所述的方法,其特征在于,每个所述待出库容器组对应至少一条依赖链,每条所述依赖链包括至少一个待出库容器或者待出库容器组;所述针对任一所述当前容器组,对所述当前容器组的第i依赖链进行识别,包括:按照各所述当前容器组所依赖的待出库容器组或者待出库容器的数量从少到多的顺序,对所述当前容器组的第i依赖链进行识别;和/或,针对任一所述当前容器组,按照从所述第i依赖链的尾端至首端的顺序,对所述第i依赖链进行识别。8.根据权利要求1-7任意一项所述的方法,其特征在于,所述执行所述可出库的容器组的出库操作,包括:按照所述可出库的容器组出库所需搬运代价,对所述多组可出库的容器组进行排序,得到排序结果,所述可出库的容器组所需搬运代价表示搬运所述可出库的容器组中的容器所需花费的时长或所需执行的任务数量;根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库。9.根据权利要求8所述的方法,其特征在于,所述根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库,包括:控制运输车将所述可出库的容器组中的各待出库容器,从其当前所在的库位搬运至对应的缓存储位;
若当前待出库容器是排序在首位中的可出库的容器组中的待出库容器,则控制所述当前待出库容器出库。10.根据权利要求9所述的方法,其特征在于,所述根据所述排序结果,按照各所述可出库的容器组所需搬运代价从少到多的顺序依次控制多组所述可出库的容器组出库,还包括:若所述当前待出库容器不是排序在首位中的可出库的容器组中的待出库容器,则判断当前排序在首位的可出库的容器组是否存在已出库的待出库容器;若当前排序在首位的可出库的容器组不存在已出库的待出库容器,则判断所述当前待出库容器所在的可出库的容器组中的所有待出库容器是否搬运至对应的缓存储位;若所述当前待出库容器所在的可出库的容器组中的所有待出库容器均搬运至对应的缓存储位,则控制所述当前待出库容器所在的可出库的容器组中的所有待出库容器出库。11.根据权利要求1所述的方法,其特征在于,所述执行所述可出库的容器组的出库操作,包括:控制运输车将所述可出库的容器组中的待出库容器,从其所在的库位搬运至用于所述待出库容器出库的目标提升机所对应的目标缓存储位;控制所述目标提升机将所述待出库容器,从所述目标缓存储位移至所述仓库的出口层,以对所述待出库容器进行出库操作。12.根据权利要求11所述的方法,其特征在于,通过以下过程确定用于所述待出库容器出库的目标提升机:根据所述可出库的容器组中的待出库容器所在库位的位置信息,与当前可用的提升机的位置信息,计算出各个待出库容器至各个可用的提升机所需的距离代价;根据所述距离代价,以及所述可用的提升机的数量,为所述可出库的容器组中的各个待出库容器配置提升机。13.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-12中任意一项所述的方法。14.一种计算机可读存储介质,其上存储有计算机程序或计算机指令,其特征在于,该计算机程序或计算机指令被处理器执行时实现权利要求1-12中任意一项所述的方法。15.一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,该计算机程序或计算机指令被处理器执行时实现权利要求1-12中任意一项所述的方法。16.一种出库系统,其特征在于,包括:运输车、提升机和仓库控制系统;所述仓库控制系统用于根据权利要求1-12任一项所述的出库控制方法,控制所述运输车和所述提升机执行待出库容器组的出库操作;其中,所述运输车,用于在所述仓库控制系统的控制下将待出库容器组中的各待出库容器从库位搬运至提升机所对应的缓存储位;所述提升机,用于在所述仓库控制系统的控制下将待出库容器组中的各待出库容器从所述缓存储位移至所述仓库出口层。

技术总结
本申请提供了一种出库控制方法、电子设备、可读存储介质和出库系统,其中,该方法包括:获取仓库当前需出库的各待出库容器组所对应的依赖关系数据,每个该待出库容器组包括一个或多个待出库容器;其中,该依赖关系数据基于该待出库容器组中的待出库容器在出库时所需依赖的其他容器所确定;根据该依赖关系数据,确定各该待出库容器组是否可出库;执行该可出库的容器组的出库操作。可出库的容器组的出库操作。可出库的容器组的出库操作。


技术研发人员:郭瑞
受保护的技术使用者:北京旷视机器人技术有限公司
技术研发日:2022.06.30
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-9081.html

最新回复(0)