码垛方法、码垛装置、计算机可读存储介质及电子设备
技术领域
本公开涉及仓储技术领域,尤其涉及一种码垛方法、码垛装置、计算机可读存储介质及电子设备。
背景技术
产品仓库中常有大量的货物需要进行码垛堆叠,货物在入库上架或者出库时,需要将散放的货物按照一定的方式尽可能紧密的码放在托盘上,以便于配送和运输。这一过程主要是通过输送线将货物运送到码垛机的机械手臂处,再通过机械手抓取货物,并根据指定的码放坐标将货物码放在托盘上来实现的。
现有的码垛方式主要包括基本顺序码垛方法、横竖交错码垛方法和压缝式码垛方法。如图1所示,基本顺序码垛方法是指货物通过输送线传送过来,码垛机器人抓取输送线上的一个货物,按相同方向一个挨一个的逐层进行码放,或者在输送线终端通过理货设备将一层货物整理后,码垛机器人一次性抓取一层的货物码放在托盘上。如图2所示,横竖交错码垛方法是指第一层所有货物按横向顺序码放若干行,竖向码放若干行,第二层所有货物按第一层的镜像码放,第三层与第一层相同,以此类推。如图3所示,压缝式码垛方法是指第一层顺序码放,第二层货物压放在第一层货物之间的缝隙上与第一层货物同方向进行顺序码放,以此类推。现有的码垛方式具有简单规整的特点,但是货物的紧密度不足,从而导致托盘的空间利用率较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种码垛方法、码垛装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种码垛方法,用于将多个矩形的待码垛货物码放至一矩形的托盘;所述方法包括:
S1、从托盘可码放区域的候选码放区域中择一作为目标码放区域;
S2、根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则转至步骤S3,若不能则剔除所述目标码放区域并转至步骤S1,直至所有所述候选码放区域均不能容置一个待码垛货物时转至步骤S5;
S3、在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
S4、将所述目标码放区域中除所述占用区域之外的区域分割为两个互无交集的矩形区域,并将该两个所述矩形区域分别作为所述候选码放区域,转至步骤S1;
S5、根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
在本公开的一种示例性实施例中,所述步骤S3中,在所述目标码放区域的一顶角确定一待码垛货物的占用区域包括:
在所述目标码放区域的一顶角以概率P按照第一方向确定一待码垛货物的占用区域,当所述目标码放区域只能按照第一方向容置一个待码垛货物时,所述概率P=1;或者,
在所述目标码放区域的一顶角以概率1-P按照第二方向确定一待码垛货物的占用区域,当所述目标码放区域只能按照第二方向容置一个待码垛货物时,所述概率P=0;
其中,所述第一方向和所述第二方向分别平行于所述目标码放区域的两垂直边。
在本公开的一种示例性实施例中,所述步骤S4中,将所述目标码放区域中除所述占用区域之外的区域分割为两个互无交集的矩形区域包括:
以所述占用区域的一长边或者一宽边所在的直线为界,将所述目标码放区域中除所述占用区域之外的区域划分为互无交集的第一矩形区域和第二矩形区域。
在本公开的一种示例性实施例中,所述方法还包括:
判断沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和是否小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸;
当沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸时,使所述托盘可码放区域中各边末端的待码垛货物的边界与所述托盘可码放区域的边界保持齐平。
在本公开的一种示例性实施例中,所述方法还包括:
调整输送线终端的待码放货物的摆放方式,使多个所述待码垛货物按照所确定的占用区域规整成整层货物,以备码垛机器人码放至所述托盘的对应位置处;或者,
调整输送线终端的待码垛货物的摆放方式,使多个所述待码垛货物同向卡放在所述输送线终端的一角,以备码垛机器人码放至所述托盘的对应位置处。
在本公开的一种示例性实施例中,所述方法还包括:
根据所述托盘的限高,在完成单层待码垛货物的码放后,按照与单层待码垛货物的码放方式相同或者互成镜像的码放方式,逐层进行所述待码垛货物的码放。
根据本公开的第二方面,提供一种码垛装置,用于将多个矩形的待码垛货物码放至一矩形的托盘;所述装置包括:
获取模块,用于从托盘可码放区域的候选码放区域中择一作为目标码放区域;
判定模块,用于根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则输入至计算模块,若不能则剔除所述目标码放区域并输入至所述获取模块,直至所有所述候选码放区域均不能容置一个待码垛货物时输入至码垛模块;
计算模块,用于在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
分割模块,用于将所述目标码放区域中除所述占用区域之外的区域分割为两个互无交集的矩形区域,并将该两个所述矩形区域分别作为所述候选码放区域输入至所述获取模块;
码垛模块,用于根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
根据本公开的第三方面,提供一种码垛方法,用于将多个矩形的待码垛货物码放至一矩形的托盘;所述方法包括:
S10、从托盘可码放区域的候选码放区域中择一作为目标码放区域;
S20、根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则剔除未选中的所述候选码放区域并转至步骤S30,若不能则剔除所述目标码放区域并转至步骤S10,直至所有所述候选码放区域均不能容置一个待码垛货物时转至步骤S50;
S30、在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
S40、将所述托盘可码放区域中除所有所述占用区域之外的区域分割为多个矩形区域,其中每个所述矩形区域的各边均接触到所述托盘可码放区域的边界或者所述占用区域的边界,并将该多个所述矩形区域分别作为所述候选码放区域,转至步骤S10;
S50、根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
在本公开的一种示例性实施例中,所述步骤S30中,在所述目标码放区域的一顶角确定一待码垛货物的占用区域包括:
在所述目标码放区域的一顶角以概率P按照第一方向确定一待码垛货物的占用区域,当所述目标码放区域只能按照第一方向容置一个待码垛货物时,所述概率P=1;或者,
在所述目标码放区域的一顶角以概率1-P按照第二方向确定一待码垛货物的占用区域,当所述目标码放区域只能按照第二方向容置一个待码垛货物时,所述概率P=0;
其中,所述第一方向和所述第二方向分别平行于所述目标码放区域的两垂直边。
在本公开的一种示例性实施例中,所述方法还包括:
判断沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和是否小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸;
当沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸时,使所述托盘可码放区域中各边末端的待码垛货物的边界与所述托盘可码放区域的边界保持齐平。
在本公开的一种示例性实施例中,所述方法还包括:
调整输送线终端的待码放货物的摆放方式,使多个所述待码垛货物按照所确定的占用区域规整成整层货物,以备码垛机器人码放至所述托盘的对应位置处;或者,
调整输送线终端的待码垛货物的摆放方式,使多个所述待码垛货物同向卡放在所述输送线终端的一角,以备码垛机器人码放至所述托盘的对应位置处。
在本公开的一种示例性实施例中,所述方法还包括:
根据所述托盘的限高,在完成单层待码垛货物的码放后,按照与单层待码垛货物的码放方式相同或者互成镜像的码放方式,逐层进行所述待码垛货物的码放。
根据本公开的第四方面,提供一种码垛装置,用于将多个矩形的待码垛货物码放至一矩形的托盘;所述装置包括:
获取模块,用于从托盘可码放区域的候选码放区域中择一作为目标码放区域;
判定模块,用于根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则剔除未选中的所述候选码放区域并输入至计算模块,若不能则剔除所述目标码放区域并输入至所述获取模块,直至所有所述候选码放区域均不能容置一个待码垛货物时输入至码垛模块;
计算模块,用于在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
分割模块,用于将所述托盘可码放区域中除所有所述占用区域之外的区域分割为多个矩形区域,其中每个所述矩形区域的各边均接触到所述托盘可码放区域的边界或者所述占用区域的边界,并将该多个所述矩形区域分别作为所述候选码放区域输入至所述获取模块;
码垛模块,用于根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
根据本公开的第五方面,提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述第一方面或者第三方面的码垛方法。
根据本公开的第六方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行根据上述第一方面或者第三方面的码垛方法。
本公开示例性实施方式所提供的码垛方法和码垛装置,用于将多个矩形的待码垛货物码放至一矩形的托盘。所述码垛方法在选定的目标码放区域的一顶角设定待码垛货物的占用区域,然后再将该目标码放区域进行空间分割,形成新的候选码放区域以备选择利用,如此循环,最后根据所确定的待码垛货物的占用区域完成码垛工作。本示例实施方式通过对托盘可码放区域的逐步分割来确定待码放货物的占用区域,能够有效的避免现有码垛方法中因货物边缘和托盘可码放区域边缘的间距过大而造成的空间浪费,从而提高了托盘的空间利用率,并进一步提高了码垛的工作效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出现有技术中的基本顺序码垛方法示意图;
图2示意性示出现有技术中的横竖交错码垛方法示意图;
图3示意性示出现有技术中的压缝式码垛方法示意图;
图4示意性示出本公开示例性实施例一中的码垛方法流程图;
图5A-5D示意性示出本公开示例性实施例一中基于空间分割的码垛方法示意图;
图6示意性示出本公开示例性实施例一中的码垛效果示意图;
图7示意性示出本公开示例性实施例二中的码垛方法流程图;
图8A-8D示意性示出本公开示例性实施例二中基于空间分割的码垛方法示意图;
图9示意性示出本公开示例性实施例中的电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本示例实施方式中提出了一种码垛方法,用于将多个矩形的待码垛货物码放至一矩形的托盘,以提高托盘的空间利用率。如图4所示,所述的码垛方法主要可以包括以下步骤:
S1、从托盘可码放区域的候选码放区域中择一作为目标码放区域;
S2、根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则转至步骤S3,若不能则剔除所述目标码放区域并转至步骤S1,直至所有所述候选码放区域均不能容置一个待码垛货物时转至步骤S5;
S3、在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
S4、将所述目标码放区域中除所述占用区域之外的区域分割为两个互无交集的矩形区域,并将该两个所述矩形区域分别作为所述候选码放区域,转至步骤S1;
S5、根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
本公开示例性实施方式所提供的码垛方法,用于将多个矩形的待码垛货物码放至一矩形的托盘。所述码垛方法在选定的目标码放区域的一顶角设定待码垛货物的占用区域,然后再将该目标码放区域进行空间分割,形成新的候选码放区域以备选择利用,如此循环,最后根据所确定的待码垛货物的占用区域完成码垛工作。本示例实施方式通过对托盘可码放区域的逐步分割来确定待码放货物的占用区域,能够有效的避免现有码垛方法中因货物边缘和托盘可码放区域边缘的间距过大而造成的空间浪费,从而提高了托盘的空间利用率,并进一步提高了码垛的工作效率。
需要说明的是:本示例实施方式所提供的码垛方法适用于任意尺寸的待码垛货物和任意尺寸的托盘,尤其在所述托盘可码放区域的各边尺寸不是所述待码垛货物的各边尺寸的整数倍时,空间利用率的提高更加明显。
下面将对本示例实施方式中的码垛方法的各步骤进行进一步说明。
在步骤S1中,从托盘可码放区域的候选码放区域中择一作为目标码放区域。
本示例实施方式中,所述托盘可码放区域是指所述托盘上能够用于待码垛货物码放的所有区域;所述目标码放区域是指所选定的用于确定所述待码垛货物的占用区域的区域。在最初开始确定所述待码垛货物的占用区域时,所述候选码放区域即为所述托盘可码放区域,此时所述目标码放区域也是所述托盘可码放区域;在已经确定完至少一个所述待码垛货物的占用区域之后,所述候选码放区域则是所述托盘可码放区域中的部分区域且包含多个,此时所述目标码放区域只是多个候选码放区域中选定的一个。
需要说明的是:在有多个候选码放区域的情况下,只能选择其中一个候选码放区域作为目标码放区域完成后续的步骤,这一过程称为一个循环;但是,本示例实施方式允许多个循环同步进行,即在循环A选择了一个候选码放区域作为目标码放区域进行后续步骤的同时,循环B可以选择另一个候选码放区域作为目标码放区域进行后续步骤。
举例来说,如图5A所示,所述托盘可码放区域为图中最大的矩形框内的区域,该区域包括一个左下角的待码垛货物的占用区域、一个上方的候选码放区域I和一个右下方的候选码放区域II,从托盘可码放区域的上下两个候选码放区域中可以选择其中一个作为目标码放区域。
在步骤S2中,根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则转至步骤S3,若不能则剔除所述目标码放区域并转至步骤S1,直至所有所述候选码放区域均不能容置一个待码垛货物时转至步骤S5。
本示例实施方式中,所述容置一个待码垛货物包括横向、竖向或者斜向容置所述待码垛货物,但考虑到所码垛货物的规整性以及托盘的空间利用率问题,这里优选采用横向和竖向的方式;其中,所述横向是指待码垛货物的长边平行于第一方向,所述竖向是指待码垛货物的宽边平行于第一方向。
当所选定的目标码放区域能够横向或者竖向容置一个待码垛货物时,则需根据该目标码放区域的实际尺寸来确定待码垛货物的占用区域;当所选定的目标码放区域横向或者竖向均无法容置一个待码垛货物时,说明该目标码放区域的面积太小而无法利用,则需将其从备选的候选码放区域库中剔除,然后再重新选择一个目标码放区域进行判定;当所有的候选码放区域横向或者竖向均无法容置一个待码垛货物时,说明所述托盘可码放区域已经被充分利用、完成了待码垛货物的占用区域的设定,此时只需通过码垛机器人完成整个码垛工作即可。
举例来说,如图5B所示,假设选择了上方的候选码放区域I作为目标码放区域,该目标码放区域无论是横向还是竖向均能容置一个待码垛货物,此时可转至步骤S3以确定待码垛货物的占用区域。
在步骤S3中,在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边。
本示例实施方式中,为了便于程序控制,在确定所述待码垛货物的占用区域时优选从目标码放区域的一顶角开始设定,且针对每次获取的目标码放区域,均从相同的顶角开始进行设定;这里所述的一顶角可以是所述目标码放区域的左下角、左上角、右下角或者右上角。此外,所述待码垛货物的占用区域的形状应当为一矩形,其两垂直边恰好与所述目标码放区域的两垂直边相重合。
其中,所述在所述目标码放区域的一顶角确定一待码垛货物的占用区域包括:
在所述目标码放区域的一顶角以概率P按照第一方向(横向)确定一待码垛货物的占用区域,当所述目标码放区域只能按照第一方向容置一个待码垛货物时,所述概率P=1;或者,
在所述目标码放区域的一顶角以概率1-P按照第二方向(竖向)确定一待码垛货物的占用区域,当所述目标码放区域只能按照第二方向容置一个待码垛货物时,所述概率P=0。
举例来说,如图5C所示,在选定的目标码放区域的左下角确定待码垛货物的占用区域时,由于该目标码放区域无论是横向还是竖向均可以容置一个所述待码垛货物,因此选择横向还是竖向确定该占用区域需要按照一定的概率进行,本实施例假设以1-P=30%的概率按照第二方向(竖向)确定了待码垛货物的占用区域。
在步骤S4中,将所述目标码放区域中除所述占用区域之外的区域分割为两个互无交集的矩形区域,并将该两个所述矩形区域分别作为所述候选码放区域,转至步骤S1。
本示例实施方式中,针对一选定的目标码放区域,在确定了所述待码垛货物的占用区域之后,可以以所述占用区域的一长边或者一宽边所在的直线为界,将所述目标码放区域中出所述占用区域之外的剩余区域划分为第一矩形区域和第二矩形区域,且二者之间互无交叠。在此情况下,所述待码垛货物的占用区域、所述第一矩形区域和所述第二矩形区域恰好完全覆盖住所述托盘可码放区域。这里新划分好的两个矩形区域将作为候选码放区域以备选择。
举例来说,如图5D所示,将所选定的目标码放区域中除竖向的占用区域之外的区域分割为互无交集的第一矩形区域和第二矩形区域,并将所述第一矩形区域和所述第二矩形区域分别作为候选码放区域I-1和I-2以备选择。
在步骤S5之前,所述方法还可以包括:
判断沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和是否小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸;
当沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸时,使所述托盘可码放区域中各边末端的待码垛货物的边界与所述托盘可码放区域的边界保持齐平。
本示例实施方式中,通过调整每行或每列所码放货物之间的内部间距,可将每行或每列末端空出的间隙分摊至该行或该列的内部间隔中去,以使该层货物的外廓呈规整的矩形,便于最终的包装运输。
进一步的,所述方法还可以包括:
调整输送线终端的待码放货物的摆放方式,使多个所述待码垛货物按照所确定的占用区域规整成整层货物,以备码垛机器人码放至所述托盘的对应位置处;或者,
调整输送线终端的待码垛货物的摆放方式,使多个所述待码垛货物同向卡放在所述输送线终端的一角,以备码垛机器人码放至所述托盘的对应位置处。
这里需要说明的是:根据上述步骤S1-S4即可确定所述待码垛货物在托盘上的占用区域。在此情况下,本示例的第一种方式可以将输送线终端的待码放货物的摆放方式调整成与所确定的托盘上的占用区域完全一致的方式,这样相当于在输送线终端提前完成了待码垛货物的位置设定,只需通过码垛机器人将输送线终端的待码垛货物转移至托盘的对应位置处即可;本示例的第二种方式可以将输送线终端的待码垛货物的摆放方式调整成同向摆放,这样便于码垛机器人识别输送线终端的待码垛货物的坐标,从而有利于码垛机器人将输送线终端的待码垛货物转移至托盘的对应位置处。
在步骤S5中,根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
其中,所述待码垛货物的码放是通过码垛机器人的机械手实现的。
基于上述步骤S1-S5即可完成单层待码垛货物的码放,其码垛效果如图6所示。相比于现有的码垛方法,本示例实施方式所提供的码垛方法能够有效的提高托盘的空间利用率。
在实际的码垛过程中,通常需要码放不止一层的待码垛货物。在此基础上,所述方法进一步还可以包括:
根据所述托盘的限高,在完成单层待码垛货物的码放后,按照与单层待码垛货物的码放方式相同、或者互成镜像、或者平面旋转的码放方式,逐层进行所述待码垛货物的码放。
其中,相同的码放方式是指第一层的码放方式与第二层的码放方式完全一致;互成镜像的码放方式是指第一层的码放方式与第二层的码放方式呈镜像对称;平面旋转的码放方式是指第二层的码放方式相对于第一层的码放方式成一定角度的旋转,例如90°、180°或270°。
本示例实施方式主要针对的是具有相同尺寸的长方体货物的码垛,且假定货物底面(长和宽确定的面)朝下码放与货物前面(长和高确定的面)朝下码放和货物侧面(宽和高确定的面)朝下码放的情况类似。这样一来,在托盘的单层空间利用率提高的前提下,以相同方式、或镜像方式、或平面旋转方式来码放其它层的待码垛货物,便可提高整体的空间利用率,进而提高码垛的工作效率。
为了便于最终的配送输运,在完成待码垛货物的整体码放之后,所述方法进一步还可以包括:通过托盘缠绕机将码放好的货物进行膜缠绕包装。
相比于现有的码垛方法,本示例实施方式所提供的基于空间分割的码垛方法能够有效的提高托盘的空间利用率。为了证明本示例实施方式的效果,下面提供两组基于具体数据通过仿真计算得到的结果。
(1)托盘可码放区域的尺寸为1200mm·1200mm·1200mm,待码垛货物的尺寸为270mm·160mm·100mm,经过仿真计算的结果如下:
(a)基本顺序码放:空间利用率为84.0%
(b)基于空间分割码放:空间利用率为87.0%
(2)托盘的可码放区域的尺寸为1200mm·1200mm·1200mm,待码垛货物的尺寸为350mm·250mm·100mm,经过仿真计算的结果如下:
(a)基本顺序码放:空间利用率为73.1%
(b)基于空间分割码放:空间利用率为85.3%
经过仿真计算可知,采用本示例实施方式提供的码垛方法,能够有效的提高托盘的空间利用率。
本示例实施方式中还提出了一种码垛装置,用于将多个矩形的待码垛货物码放至一矩形的托盘;所述装置包括:
获取模块,用于从托盘可码放区域的候选码放区域中择一作为目标码放区域;
判定模块,用于根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则输入至计算模块,若不能则剔除所述目标码放区域并输入至所述获取模块,直至所有所述候选码放区域均不能容置一个待码垛货物时输入至码垛模块;
计算模块,用于在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
分割模块,用于将所述目标码放区域中除所述占用区域之外的区域分割为两个互无交集的矩形区域,并将该两个所述矩形区域分别作为所述候选码放区域输入至所述获取模块;
码垛模块,用于根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
本示例实施方式中,所述码垛装置还可以包括一缓存单元,用于存储至少一个所述候选码放区域。其中,所述缓存单元可以是获取模块中的一部分,在需要时获取模块直接读取该缓存单元中关于候选码放区域的数据;或者,所述缓存单元也可以是一个独立的模块,获取模块通过调用缓存单元中的数据来对候选码放区域进行选择。
本示例实施方式所提供的码垛装置适用于任意尺寸的待码垛货物和任意尺寸的托盘,尤其在所述托盘可码放区域的各边尺寸不是所述待码垛货物的各边尺寸的整数倍的情况下,托盘的空间利用率明显得以提高。
所述的码放装置还可以包括规整模块,用于在沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸时,使所述托盘可码放区域中各边末端的待码垛货物的边界与所述托盘可码放区域的边界保持齐平。
所述的码放装置还可以包括理货模块,用于调整输送线终端的待码放货物的摆放方式,使多个所述待码垛货物按照所确定的占用区域规整成整层货物,或者使多个所述待码垛货物同向卡放在所述输送线终端的一角,以备码垛机器人码放至所述托盘的对应位置处。
当所述的码垛装置需要进行多层待码垛货物的码放时,所述计算模块还用于在完成单层待码垛货物的码放后,根据所述托盘的限高和单层待码垛货物的码放方式,确定其它层待码垛货物的码放方式;在此基础上,所述码垛模块还用于在完成单层待码垛货物的码放后,按照与单层待码垛货物的码放方式相同或者互成镜像的码放方式,逐层进行待码垛货物的码放。
为了便于最终的配送输运,所述的码垛装置还可以进一步包括包装模块,用于通过托盘缠绕机将码放好的货物进行膜缠绕包装。
需要说明的是:所述码垛装置中各模块单元的具体细节已经在对应的码垛方法中进行了详细的描述,因此这里不再赘述。
本示例实施方式中还提出了一种码垛方法,用于将多个矩形的待码垛货物码放至一矩形的托盘,以提高托盘的空间利用率。如图7所示,所述的码垛方法主要可以包括以下步骤:
S10、从托盘可码放区域的候选码放区域中择一作为目标码放区域;
S20、根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则剔除未选中的所述候选码放区域并转至步骤S30,若不能则剔除所述目标码放区域并转至步骤S10,直至所有所述候选码放区域均不能容置一个待码垛货物时转至步骤S50;
S30、在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
S40、将所述托盘可码放区域中除所有所述占用区域之外的区域分割为多个矩形区域,其中每个所述矩形区域的各边均接触到所述托盘可码放区域的边界或者所述占用区域的边界,并将该多个所述矩形区域分别作为所述候选码放区域,转至步骤S10;
S50、根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
本公开示例性实施方式所提供的码垛方法,用于将多个矩形的待码垛货物码放至一矩形的托盘。所述码垛方法在选定的目标码放区域的一顶角设定待码垛货物的占用区域,然后再将该目标码放区域进行空间分割,形成新的候选码放区域以备选择利用,如此循环,最后根据所确定的待码垛货物的占用区域完成码垛工作。本示例实施方式通过对托盘可码放区域的逐步分割来确定待码放货物的占用区域,能够有效的避免现有码垛方法中因货物边缘和托盘可码放区域边缘的间距过大而造成的空间浪费,从而提高了托盘的空间利用率,并进一步提高了码垛的工作效率。
需要说明的是:本示例实施方式所提供的码垛方法适用于任意尺寸的待码垛货物和任意尺寸的托盘,尤其在所述托盘可码放区域的各边尺寸不是所述待码垛货物的各边尺寸的整数倍时,空间利用率的提高更为明显。
下面将对本示例实施方式中的码垛方法的各步骤进行进一步说明。
在步骤S10中,从托盘可码放区域的候选码放区域中择一作为目标码放区域。
本示例实施方式中,所述托盘可码放区域是指所述托盘上能够用于待码垛货物码放的所有区域;所述目标码放区域是指所选定的用于确定所述待码垛货物的占用区域的区域。在最初开始确定所述待码垛货物的占用区域时,所述候选码放区域即为所述托盘可码放区域,此时所述目标码放区域也是所述托盘可码放区域;在已经确定完至少一个所述待码垛货物的占用区域之后,所述候选码放区域则是所述托盘可码放区域中的部分区域且包含多个,此时所述目标码放区域只是多个候选码放区域中选定的一个。
举例来说,如图8A所示,所述托盘可码放区域为图中最大的矩形框内的区域,该区域包括一个左下角的待码垛货物的占用区域、一个上方的候选码放区域I和一个右方的候选码放区域II,且这两个候选码放区域之间存在阴影部分的交叠区域,从这两个候选码放区域中可以选择其中一个作为目标码放区域。
在步骤S20中,根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则剔除未选中的所述候选码放区域并转至步骤S30,若不能则剔除所述目标码放区域并转至步骤S10,直至所有所述候选码放区域均不能容置一个待码垛货物时转至步骤S50。
本示例实施方式中,所述容置一个待码垛货物包括横向、竖向或者斜向容置所述待码垛货物,但考虑到所码垛货物的规整性以及托盘的空间利用率问题,这里优选采用横向和竖向的方式;其中,所述横向是指待码垛货物的长边平行于第一方向,所述竖向是指待码垛货物的宽边平行于第一方向。
当所选定的目标码放区域能够横向或者竖向容置一个待码垛货物时,则需根据该目标码放区域的实际尺寸来确定待码垛货物的占用区域;当所选定的目标码放区域横向或者竖向均无法容置一个待码垛货物时,说明该目标码放区域的面积太小而无法利用,则需将其从备选的候选码放区域库中剔除,然后再重新选择一个目标码放区域进行判定;当所有的候选码放区域横向或者竖向均无法容置一个待码垛货物时,说明所述托盘可码放区域已经被充分利用、完成了待码垛货物的占用区域的设定,此时只需通过码垛机器人完成整个码垛工作即可。
需要说明的是:在有多个候选码放区域的情况下,只能选择其中一个候选码放区域作为目标码放区域;当选定了一个目标码放区域且该目标码放区域足以容置一个待码垛货物时,由于不同的候选码放区域之间可能存在交叠区域,因此应当及时删除其它未被选中的候选码放区域,以防后续确定待码垛货物的占用区域时出现错误。
举例来说,如图8B所示,假设选择了右方的候选码放区域II作为目标码放区域,该目标码放区域无论是横向还是竖向均能容置一个待码垛货物,此时则需将候选码放区域I剔除后再转至步骤S3,以确定待码垛货物的占用区域。
在步骤S30中,在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边。
本示例实施方式中,为了便于程序控制,在确定所述待码垛货物的占用区域时优选从目标码放区域的一顶角开始设定,且针对每次获取的目标码放区域,可以均从相同的顶角开始进行设定;这里所述的一顶角可以是所述目标码放区域的左下角、左上角、右下角或者右上角。此外,所述待码垛货物的占用区域的形状应当为一矩形,其两垂直边恰好与所述目标码放区域的两垂直边相重合。
其中,所述在所述目标码放区域的一顶角确定一待码垛货物的占用区域包括:
在所述目标码放区域的一顶角以概率P按照第一方向(横向)确定一待码垛货物的占用区域,当所述目标码放区域只能按照第一方向容置一个待码垛货物时,所述概率P=1;或者,
在所述目标码放区域的一顶角以概率1-P按照第二方向(竖向)确定一待码垛货物的占用区域,当所述目标码放区域只能按照第二方向容置一个待码垛货物时,所述概率P=0。
举例来说,如图8C所示,在选定的目标码放区域的左下角确定待码垛货物的占用区域时,由于该目标码放区域无论是横向还是竖向均可以容置一个所述待码垛货物,因此选择横向还是竖向确定该占用区域需要按照一定的概率进行,本实施例假设以1-P=30%的概率按照第二方向(竖向)确定了待码垛货物的占用区域。
在步骤S40中,将所述托盘可码放区域中除所有所述占用区域之外的区域分割为多个矩形区域,其中每个所述矩形区域的各边均接触到所述托盘可码放区域的边界或者所述占用区域的边界,并将该多个所述矩形区域分别作为所述候选码放区域,转至步骤S10。
本示例实施方式中,在划分新的矩形区域时是以整个托盘可码放区域为基准的,那么新划分的矩形区域和已确定的占用区域不仅能够完全覆盖住所述托盘可码放区域,而且多个矩形区域中至少有两个矩形区域之间存在交叠。在此基础上,为了保证所划分的矩形区域的唯一性,需使每个矩形区域的各边在所述托盘可码放区域的范围内均无法再进行延伸,也就是说,每个矩形区域的各边都会碰触到障碍,即所述托盘可码放区域的边界或者所述占用区域的边界。
举例来说,如图8D所示,将所述托盘可码放区域中除横向的占用区域和竖向的占用区域之外的剩余区域分割为三个矩形区域I、II和III,其中,矩形区域I和III之间、以及矩形区域II和III之间存在交叠区域;该三个矩形区域便可作为候选码放区域以备选择。
在步骤S50之前,所述方法还可以包括:
判断沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和是否小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸;
当沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸时,使所述托盘可码放区域中各边末端的待码垛货物的边界与所述托盘可码放区域的边界保持齐平。
本示例实施方式中,通过调整每行或每列所码放货物之间的内部间距,可将每行或每列末端空出的间隙分摊至该行或该列的内部间隔中去,以使该层货物的外廓呈规整的矩形,便于最终的包装运输。
进一步的,所述方法还可以包括:
调整输送线终端的待码放货物的摆放方式,使多个所述待码垛货物按照所确定的占用区域规整成整层货物,以备码垛机器人码放至所述托盘的对应位置处;或者,
调整输送线终端的待码垛货物的摆放方式,使多个所述待码垛货物同向卡放在所述输送线终端的一角,以备码垛机器人码放至所述托盘的对应位置处。
这里需要说明的是:根据上述步骤S10-S40即可确定所述待码垛货物在托盘上的占用区域。在此情况下,本示例的第一种方式可以将输送线终端的待码放货物的摆放方式调整成与所确定的托盘上的占用区域完全一致的方式,这样相当于在输送线终端提前完成了待码垛货物的位置设定,只需通过码垛机器人将输送线终端的待码垛货物转移至托盘的对应位置处即可;本示例的第二种方式可以将输送线终端的待码垛货物的摆放方式调整成同向摆放,这样便于码垛机器人识别输送线终端的待码垛货物的坐标,从而有利于码垛机器人将输送线终端的待码垛货物转移至托盘的对应位置处。
在步骤S50中,根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
其中,所述待码垛货物的码放是通过码垛机器人的机械手实现的。
基于上述步骤S10-S50即可完成单层待码垛货物的码放。相比于现有的码垛方法,本示例实施方式所提供的码垛方法能够有效的提高托盘的空间利用率。
在实际的码垛过程中,通常需要码放不止一层的待码垛货物。在此基础上,所述方法进一步还可以包括:
根据所述托盘的限高,在完成单层待码垛货物的码放后,按照与单层待码垛货物的码放方式相同、或者互成镜像、或者平面旋转的码放方式,逐层进行所述待码垛货物的码放。
其中,相同的码放方式是指第一层的码放方式与第二层的码放方式完全一致;互成镜像的码放方式是指第一层的码放方式与第二层的码放方式呈镜像对称;平面旋转的码放方式是指第二层的码放方式相对于第一层的码放方式成一定角度的旋转,例如90°、180°或270°。
本示例实施方式主要针对的是具有相同尺寸的长方体货物的码垛,且假定货物底面(长和宽确定的面)朝下码放与货物前面(长和高确定的面)朝下码放和货物侧面(宽和高确定的面)朝下码放的情况类似。这样一来,在托盘的单层空间利用率提高的前提下,以相同方式、或镜像方式、或平面旋转方式来码放其它层的待码垛货物,便可提高整体的空间利用率,进而提高码垛的工作效率。
为了便于最终的配送输运,在完成待码垛货物的整体码放之后,所述方法进一步还可以包括:通过托盘缠绕机将码放好的货物进行膜缠绕包装。
本示例实施方式中还提出了一种码垛装置,用于将多个矩形的待码垛货物码放至一矩形的托盘;所述装置包括:
获取模块,用于从托盘可码放区域的候选码放区域中择一作为目标码放区域;
判定模块,用于根据所述目标码放区域的尺寸以及所述待码垛货物的尺寸,判断所述目标码放区域能否容置一个待码垛货物;若能则剔除未选中的所述候选码放区域并输入至计算模块,若不能则剔除所述目标码放区域并输入至所述获取模块,直至所有所述候选码放区域均不能容置一个待码垛货物时输入至码垛模块;
计算模块,用于在所述目标码放区域的一顶角确定一待码垛货物的占用区域,所述占用区域的两垂直边分别平行于所述目标码放区域的两垂直边;
分割模块,用于将所述托盘可码放区域中除所有所述占用区域之外的区域分割为多个矩形区域,其中每个所述矩形区域的各边均接触到所述托盘可码放区域的边界或者所述占用区域的边界,并将该多个所述矩形区域分别作为所述候选码放区域输入至所述获取模块;
码垛模块,用于根据所确定的待码垛货物的占用区域,将所述待码垛货物码放至所述托盘的对应位置处。
本示例实施方式中,所述码垛装置还可以包括一缓存单元,用于存储至少一个所述候选码放区域。其中,所述缓存单元可以是获取模块中的一部分,在需要时获取模块直接读取该缓存单元中关于候选码放区域的数据;或者,所述缓存单元也可以是一个独立的模块,获取模块通过调用缓存单元中的数据来对候选码放区域进行选择。
本示例实施方式所提供的码垛装置适用于任意尺寸的待码垛货物和任意尺寸的托盘,尤其在所述托盘可码放区域的各边尺寸不是所述待码垛货物的各边尺寸的整数倍的情况下,托盘的空间利用率明显得以提高。
所述的码放装置还可以包括规整模块,用于在沿所述第一方向或者所述第二方向的所述待码垛货物的尺寸之和小于沿所述第一方向或者所述第二方向的所述托盘可码放区域的尺寸时,使所述托盘可码放区域中各边末端的待码垛货物的边界与所述托盘可码放区域的边界保持齐平。
所述的码放装置还可以包括理货模块,用于调整输送线终端的待码放货物的摆放方式,使多个所述待码垛货物按照所确定的占用区域规整成整层货物,或者使多个所述待码垛货物同向卡放在所述输送线终端的一角,以备码垛机器人码放至所述托盘的对应位置处。
当所述的码垛装置需要进行多层待码垛货物的码放时,所述计算模块还用于在完成单层待码垛货物的码放后,根据所述托盘的限高和单层待码垛货物的码放方式,确定其它层待码垛货物的码放方式;在此基础上,所述码垛模块还用于在完成单层待码垛货物的码放后,按照与单层待码垛货物的码放方式相同或者互成镜像的码放方式,逐层进行待码垛货物的码放。
为了便于最终的配送输运,所述的码垛装置还可以进一步包括包装模块,用于通过托盘缠绕机将码放好的货物进行膜缠绕包装。
需要说明的是:所述码垛装置中各模块单元的具体细节已经在对应的码垛方法中进行了详细的描述,因此这里不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本示例实施方式中还提出了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的码垛方法。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质中包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、射频等等,或者上述的任意合适的组合。
本示例实施方式中还提出了一种电子设备,如图9所示,该电子设备10包括:处理组件11,其进一步可以包括一个或多个处理器,以及由存储器12所代表的存储器资源,用于存储可由处理组件11执行的指令,例如应用程序。存储器12中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件11被配置为执行指令,以执行上述方法。
该电子设备10还可以包括:一个电源组件,电源组件被配置成对执行电子设备10进行电源管理;一个有线或无线网络接口13,被配置成将电子设备10连接到网络;以及一个输入输出(I/O)接口14。该电子设备10可以操作基于存储在存储器12的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。