CN110861925A - 一种用于相同货物的码垛方法及系统 - Google Patents
一种用于相同货物的码垛方法及系统 Download PDFInfo
- Publication number
- CN110861925A CN110861925A CN201910959610.7A CN201910959610A CN110861925A CN 110861925 A CN110861925 A CN 110861925A CN 201910959610 A CN201910959610 A CN 201910959610A CN 110861925 A CN110861925 A CN 110861925A
- Authority
- CN
- China
- Prior art keywords
- stacking
- scheme
- layer
- goods
- tray
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G57/00—Stacking of articles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Mechanical Engineering (AREA)
- Marketing (AREA)
- Finance (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Stacking Of Articles And Auxiliary Devices (AREA)
Abstract
本发明公开了一种用于相同货物的码垛方法及系统,步骤A,获取托盘信息和码垛约束信息;步骤B,获取货物信息;步骤C,生成托盘上的单层码垛方案;步骤D,遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。从而快速可靠地得出高质量的码垛方案,可避免靠人工经验码放货物时码放质量无法保证,和避免人工示教机器人如何进行码垛时需要花费大量的时间且需要专业的人员进行示教。
Description
技术领域
本发明涉及码垛技术领域,尤其涉及一种用于相同货物的码垛方法及系统。
背景技术
目前大多数企业将相同货物码放到一个托盘时,都是靠人工的经验进行码放,码放的好与坏完全取决于工人的经验;少数企业使用机器人替代了人工码放相同货物到托盘,但也是需要人工提前示教好机器人码垛的程序,有多种产品时,工人需提前示教好机器人如何进行码垛,示教过程需要花费大量的时间且需要专业的人员进行示教,码垛效率低且成本高。
发明内容
本发明的目的在于提出一种用于相同货物的码垛方法及系统,可快速可靠地得出高质量的码垛方案,可避免靠人工经验码放货物时码放质量无法保证,和避免人工示教机器人如何进行码垛时需要花费大量的时间且需要专业的人员进行示教。
为达此目的,本发明采用以下技术方案:
一种用于相同货物的码垛方法,包括以下步骤:
步骤A,获取托盘信息和码垛约束信息,所述托盘信息包括托盘的长度L和宽度W,所述码垛约束信息包括托盘限制重量和托盘限制高度;
步骤B,获取货物信息,所述货物信息包括货物的长度l、宽度w、高度、重量和货物之间的间隔s;
步骤C,生成托盘上的单层码垛方案:
步骤C1,初始化时,托盘的长度L和宽度W均加上货物之间的间隔s,并且货物的长度l和宽度w均加上货物之间的间隔s,即初始化L=L+s,W=W+s,l=l+s,w=w+s;
步骤C2,定义托盘上的单层码垛最大货物数量为
M(x,y)=max{M(x,y-l)+(x/w),M(x-l,y)+y/w},
其中,x为长度方向变量,y为宽度方向变量,0≤x≤L,0≤y≤L,初始时若x<w或y<w,则M(x,y)=0;
定义每次单层码垛条的顺序用N(x,y)表示,N(x,y)=1时表示为水平码垛条,N(x,y)=2时表示为垂直码垛条;
步骤C3,对M(x,y)进行递推,得到多个单层码垛方案;
步骤C4,对所有单层码垛方案进行过滤:在货物数量值相同的多个单层码垛方案中,先将垛形不是交错的单层码垛方案过滤掉,然后从垛形是交错的多个单层码垛方案中筛选出垛形为外轮轮廓最小的单层码垛方案作为该货物数量值对应的最终单层码垛方案;对每个货物数量值下的多个单层码垛方案重复以上步骤,直至所有货物数量值均有对应的最终单层码垛方案为止;
步骤D,遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。
优选地,所述步骤C3具体包括:
步骤C31,初始设定M(x,y)=0,N(x,y)=0;
步骤C32,x从0遍历至L,x每次在区间[0,L]取一个值时y从0遍历至L,并且y每次在区间[0,L]取一个值时执行以下判断:
如果y≥l并且M(x,y)<M(x,y-l)+(x/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x,y-l)+(x/w),并记录此时码放了一条水平码垛条N(x,y)=1;
如果y≥l并且M(x,y)<M(x-l,y)+(y/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x-l,y)+(y/w),并记录此时码放了一条垂直码垛条N(x,y)=2。
优选地,所述步骤D中生成每个最终单层码垛方案对应的单个托盘码垛方案具体包括:
步骤D1,将当前选择的最终单层码垛方案作为对应的单个托盘码垛方案中的最底层码垛方案;
步骤D2,计算当前选择的最终单层码垛方案在单个托盘上最多允许堆垛层数:
maxLayer=min{托盘限制高度/货物高度,托盘限制重量/(单层码垛方案的货物数量*货物重量)};
步骤D3,生成以当前选择的最终单层码垛方案作为每层码垛方案,并以步骤D2计算出的最多允许堆垛层数maxLayer作为堆垛层数的单个托盘码垛方案。
优选地,所述步骤D2和步骤D3之间还包括:
步骤D4,生成层间分布方案:偶数层相对于奇数层的最终单层码垛方案旋转180°,从而生成交错码放垛形的层间分布方案;所述单个托盘码垛方案还以步骤D4生成的层间分布方案作为层间分布方案。
优选地,所述步骤D还包括:若货物数量最多的单个托盘码垛方案存在多个时,筛选出货物数量最多且堆垛层数最少的单个托盘码垛方案作为最优单个托盘码垛方案;
所述码垛约束信息还包括货物放置方向,所述货物信息还包括单次可抓取的货物数量和标签方向;
还包括步骤E,根据所述最优单个托盘码垛方案生成对应的码垛控制指令集,并将所述码垛控制指令集下发至机器人,所述机器人根据码垛控制指令集码垛货物。
优选地,一种用于相同货物的码垛系统,其特征在于,包括:
信息获取模块,用于获取托盘信息、货物信息和码垛约束信息,所述托盘信息包括托盘的长度L和宽度W,所述码垛约束信息包括托盘限制重量和托盘限制高度,所述货物信息包括货物的长度l、宽度w、高度、重量和货物之间的间隔s;
单层码垛方案生成模块,用于生成托盘上的单层码垛方案;
初始化时,托盘的长度L和宽度W均加上货物之间的间隔s,并且货物的长度l和宽度w均加上货物之间的间隔s,即初始化L=L+s,W=W+s,l=l+s,w=w+s;
定义托盘上的单层码垛最大货物数量为
M(x,y)=max{M(x,y-l)+(x/w),M(x-l,y)+y/w},
其中,x为长度方向变量,y为宽度方向变量,0≤x≤L,0≤y≤L,初始时若x<w或y<w,则M(x,y)=0;
定义每次单层码垛条的顺序用N(x,y)表示,N(x,y)=1时表示为水平码垛条,N(x,y)=2时表示为垂直码垛条;
然后,对M(x,y)进行递推,得到多个单层码垛方案;
最后,对所有单层码垛方案进行过滤:在货物数量值相同的多个单层码垛方案中,先将垛形不是交错的单层码垛方案过滤掉,然后从垛形是交错的多个单层码垛方案中筛选出垛形为外轮轮廓最小的单层码垛方案作为该货物数量值对应的最终单层码垛方案;对每个货物数量值下的多个单层码垛方案重复以上步骤,直至所有货物数量值均有对应的最终单层码垛方案为止;
最优单个托盘码垛方案生成模块,用于遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。
优选地,所述单层码垛方案生成模块中的M(x,y)递推过程为:
初始设定M(x,y)=0,N(x,y)=0;
然后x从0遍历至L,x每次在区间[0,L]取一个值时y从0遍历至L,并且y每次在区间[0,L]取一个值时执行以下判断:
如果y≥l并且M(x,y)<M(x,y-l)+(x/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x,y-l)+(x/w),并记录此时码放了一条水平码垛条N(x,y)=1;
如果y≥l并且M(x,y)<M(x-l,y)+(y/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x-l,y)+(y/w),并记录此时码放了一条垂直码垛条N(x,y)=2。
优选地,所述最优单个托盘码垛方案生成模块中的生成每个最终单层码垛方案对应的单个托盘码垛方案为通过以下子模块实现:
第一子模块,用于将当前选择的最终单层码垛方案作为对应的单个托盘码垛方案中的最底层码垛方案;
第二子模块,用于计算当前选择的最终单层码垛方案在单个托盘上最多允许堆垛层数:
maxLayer=min{托盘限制高度/货物高度,托盘限制重量/(单层码垛方案的货物数量*货物重量)};
第三子模块,用于生成以当前选择的最终单层码垛方案作为每层码垛方案,并以第二子模块计算出的最多允许堆垛层数maxLayer作为堆垛层数的单个托盘码垛方案。
优选地,所述最优单个托盘码垛方案生成模块还包括:
第四子模块,用于生成层间分布方案:偶数层相对于奇数层的最终单层码垛方案旋转180°,从而生成交错码放垛形的层间分布方案;
所述第三子模块生成的单个托盘码垛方案还以第四子模块生成的层间分布方案作为层间分布方案。
优选地,所述最优单个托盘码垛方案生成模块还包括:若货物数量最多的单个托盘码垛方案存在多个时,筛选出货物数量最多且堆垛层数最少的单个托盘码垛方案作为最优单个托盘码垛方案;
所述码垛约束信息还包括货物放置方向,所述货物信息还包括单次可抓取的货物数量和标签方向;
还包括码垛控制指令集生成模块,用于根据所述最优单个托盘码垛方案生成对应的码垛控制指令集,并将所述码垛控制指令集下发至机器人,所述机器人根据码垛控制指令集码垛货物。
所述用于相同货物的码垛方法得出的最优单个托盘码垛方案用于指导工人或机器人码放货物,可快速可靠地得出高质量的码垛方案,可避免靠人工经验码放货物时码放质量无法保证,和避免人工示教机器人如何进行码垛时需要花费大量的时间且需要专业的人员进行示教,可广泛应用于日用消费品、食品、饮料、家电、电子消费品及其其他的物流领域。
附图说明
附图对本发明做进一步说明,但附图中的内容不构成对本发明的任何限制。
图1是本发明其中一个实施例的码垛方法流程示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例1
本实施例的用于相同货物的码垛方法,如图1所示,包括以下步骤:
步骤A,获取托盘信息和码垛约束信息,所述托盘信息包括托盘的长度L和宽度W,所述码垛约束信息包括托盘限制重量和托盘限制高度;
步骤B,获取货物信息,所述货物信息包括货物的长度l、宽度w、高度、重量和货物之间的间隔s;
步骤C,生成托盘上的单层码垛方案:
步骤C1,初始化时,托盘的长度L和宽度W均加上货物之间的间隔s,并且货物的长度l和宽度w均加上货物之间的间隔s,即初始化L=L+s,W=W+s,l=l+s,w=w+s;
步骤C2,定义托盘上的单层码垛最大货物数量为
M(x,y)=max{M(x,y-l)+(x/w),M(x-l,y)+y/w},
其中,x为长度方向变量,y为宽度方向变量,0≤x≤L,0≤y≤L,初始时若x<w或y<w,则M(x,y)=0;
定义每次单层码垛条的顺序用N(x,y)表示,N(x,y)=1时表示为水平码垛条,N(x,y)=2时表示为垂直码垛条;
步骤C3,对M(x,y)进行递推,得到多个单层码垛方案;
步骤C4,对所有单层码垛方案进行过滤:在货物数量值相同的多个单层码垛方案中,先将垛形不是交错的单层码垛方案过滤掉,然后从垛形是交错的多个单层码垛方案中筛选出垛形为外轮轮廓最小的单层码垛方案作为该货物数量值对应的最终单层码垛方案;对每个货物数量值下的多个单层码垛方案重复以上步骤,直至所有货物数量值均有对应的最终单层码垛方案为止;
步骤D,遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。
所述用于相同货物的码垛方法通过获取的托盘信息、货物信息和码垛约束信息,生成单层码垛方案,再生成对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案,货物的形状为尺寸相同的矩形体。其中,单层码垛方案生成过程中考虑到间隔s,使单层码垛方案中货物之间存有间隔,方便机器人抓取;通过对M(x,y)进行递推,得到多个单层码垛方案,可知单层码垛方案中共有多少条水平码垛条及其如何分布,和共有多少条垂直码垛条及其如何分布。由于相同货物数量值下有多个单层码垛方案,这些单层码垛方案中有的垛形为交错,有的垛形不是交错的,垛形交错是指既有旋转90°的货物又有未旋转90°的货物,即既有水平码垛条也有垂直码垛条;垛形的外轮轮廓大小也不一样,因此通过步骤C4对每一个货物数量值下的单层码垛方案进行过滤,筛选出垛形交错且外轮轮廓最小的单层码垛方案作为最终单层码垛方案,以减少后续生成单个托盘码垛方案的总工作量,提高工作效率。
优选地,步骤D中最优单个托盘码垛方案的筛选条件可自定义设置,企业根据自身需求来设置筛选条件,挑选出适合自身的单个托盘码垛方案。最优单个托盘码垛方案生成后,还可对最优单个托盘码垛方案进行参数调整,例如删减或增加层数、顶层的码垛方案删减货物等。
所述用于相同货物的码垛方法得出的最优单个托盘码垛方案用于指导工人或机器人码放货物,可快速可靠地得出高质量的码垛方案,可避免靠人工经验码放货物时码放质量无法保证,和避免人工示教机器人如何进行码垛时需要花费大量的时间且需要专业的人员进行示教,可广泛应用于日用消费品、食品、饮料、家电、电子消费品及其其他的物流领域。
优选地,所述步骤C3具体包括:
步骤C31,初始设定M(x,y)=0,N(x,y)=0;
步骤C32,x从0遍历至L,x每次在区间[0,L]取一个值时y从0遍历至L,并且y每次在区间[0,L]取一个值时执行以下判断:
如果y≥l并且M(x,y)<M(x,y-l)+(x/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x,y-l)+(x/w),并记录此时码放了一条水平码垛条N(x,y)=1;
如果y≥l并且M(x,y)<M(x-l,y)+(y/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x-l,y)+(y/w),并记录此时码放了一条垂直码垛条N(x,y)=2。
通过上述步骤,在遍历过程中不断更新单层码垛最大货物数量,并且每次更新时记录x和y的取值以及对应的N(x,y)取值,N(x,y)取值表示此时码放的是水平码垛条还是垂直码垛条,从而可根据N(x,y)的取值获知单层码垛方案中共有多少条水平码垛条及其如何分布,和共有多少条垂直码垛条及其如何分布,由于x和y有多种组合从而对应生成多个单层码垛方案。
M(x,y)的递推伪代码可如下设置:
优选地,所述步骤D中生成每个最终单层码垛方案对应的单个托盘码垛方案具体包括:
步骤D1,将当前选择的最终单层码垛方案作为对应的单个托盘码垛方案中的最底层码垛方案;
步骤D2,计算当前选择的最终单层码垛方案在单个托盘上最多允许堆垛层数:
maxLayer=min{托盘限制高度/货物高度,托盘限制重量/(单层码垛方案的货物数量*货物重量)};
步骤D3,生成以当前选择的最终单层码垛方案作为每层码垛方案,并以步骤D2计算出的最多允许堆垛层数maxLayer作为堆垛层数的单个托盘码垛方案。
单个托盘码垛方案中堆垛层数受到托盘限制重量和托盘限制高度限制,从高度考虑的话托盘限制高度除以货物高度可得到高度允许情况下的最大堆垛层数,从重量考虑的话托盘限制重量除以货物总重量可得到重量允许情况下的最大堆垛层数,因此为避免托盘受损,单个托盘上最多允许堆垛层数为高度允许情况下的最大堆垛层数和重量允许情况下的最大堆垛层数这两者中的最小值。
优选地,所述步骤D2和步骤D3之间还包括:
步骤D4,生成层间分布方案:偶数层相对于奇数层的最终单层码垛方案旋转180°,从而生成交错码放垛形的层间分布方案;
所述单个托盘码垛方案还以步骤D4生成的层间分布方案作为层间分布方案。单个托盘码垛方案从最底层开始偶数层相对于奇数层的单层码垛方案旋转180°,形成交错码放垛形的层间分布,可提高码垛结构的稳定性,确保整垛货物转运时安全性。
优选地,所述步骤D还包括:若货物数量最多的单个托盘码垛方案存在多个时,筛选出货物数量最多且堆垛层数最少的单个托盘码垛方案作为最优单个托盘码垛方案;
所述码垛约束信息还包括货物放置方向,所述货物信息还包括单次可抓取的货物数量和标签方向;
还包括步骤E,根据所述最优单个托盘码垛方案生成对应的码垛控制指令集,并将所述码垛控制指令集下发至机器人,所述机器人根据码垛控制指令集码垛货物。
直接根据最优单个托盘码垛方案生成对应的码垛控制指令集来控制机器人码垛货物,无需人工示教,节省大量的人力物力,大大提高效率。货物放置方向、单次可抓取的货物数量和标签方向这些信息可用于指导机器人码垛货物,以指导机器人按照什么方向摆放货物。
实施例2
本实施例的用于相同货物的码垛系统,其特征在于,包括:
信息获取模块,用于获取托盘信息、货物信息和码垛约束信息,所述托盘信息包括托盘的长度L和宽度W,所述码垛约束信息包括托盘限制重量和托盘限制高度,所述货物信息包括货物的长度l、宽度w、高度、重量和货物之间的间隔s;
单层码垛方案生成模块,用于生成托盘上的单层码垛方案;
初始化时,托盘的长度L和宽度W均加上货物之间的间隔s,并且货物的长度l和宽度w均加上货物之间的间隔s,即初始化L=L+s,W=W+s,l=l+s,w=w+s;
定义托盘上的单层码垛最大货物数量为
M(x,y)=max{M(x,y-l)+(x/w),M(x-l,y)+y/w},
其中,x为长度方向变量,y为宽度方向变量,0≤x≤L,0≤y≤L,初始时若x<w或y<w,则M(x,y)=0;
定义每次单层码垛条的顺序用N(x,y)表示,N(x,y)=1时表示为水平码垛条,N(x,y)=2时表示为垂直码垛条;
然后,对M(x,y)进行递推,得到多个单层码垛方案;
最后,对所有单层码垛方案进行过滤:在货物数量值相同的多个单层码垛方案中,先将垛形不是交错的单层码垛方案过滤掉,然后从垛形是交错的多个单层码垛方案中筛选出垛形为外轮轮廓最小的单层码垛方案作为该货物数量值对应的最终单层码垛方案;对每个货物数量值下的多个单层码垛方案重复以上步骤,直至所有货物数量值均有对应的最终单层码垛方案为止;
最优单个托盘码垛方案生成模块,用于遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。
所述用于相同货物的码垛系统通过获取的托盘信息、货物信息和码垛约束信息,生成单层码垛方案,再生成对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案,货物的形状为尺寸相同的矩形体。其中,单层码垛方案生成模块中考虑到间隔s,使单层码垛方案中货物之间存有间隔,方便机器人抓取;通过对M(x,y)进行递推,得到多个单层码垛方案,可知单层码垛方案中共有多少条水平码垛条及其如何分布,和共有多少条垂直码垛条及其如何分布。由于相同货物数量值下有多个单层码垛方案,这些单层码垛方案中有的垛形为交错,有的垛形不是交错的,垛形交错是指既有旋转90°的货物又有未旋转90°的货物,即既有水平码垛条也有垂直码垛条;垛形的外轮轮廓大小也不一样,因此通过步骤C4对每一个货物数量值下的单层码垛方案进行过滤,筛选出垛形交错且外轮轮廓最小的单层码垛方案作为最终单层码垛方案,以减少后续生成单个托盘码垛方案的总工作量,提高工作效率。
优选地,最优单个托盘码垛方案的筛选条件可自定义设置,企业根据自身需求来设置筛选条件,挑选出适合自身的单个托盘码垛方案。最优单个托盘码垛方案生成后,还可对最优单个托盘码垛方案进行参数调整,例如删减或增加层数、顶层的码垛方案删减货物等。
所述用于相同货物的码垛系统得出的最优单个托盘码垛方案用于指导工人或机器人码放货物,可快速可靠地得出高质量的码垛方案,可避免靠人工经验码放货物时码放质量无法保证,和避免人工示教机器人如何进行码垛时需要花费大量的时间且需要专业的人员进行示教,可广泛应用于日用消费品、食品、饮料、家电、电子消费品及其其他的物流领域。
优选地,所述单层码垛方案生成模块中的M(x,y)递推过程为:
初始设定M(x,y)=0,N(x,y)=0;
然后x从0遍历至L,x每次在区间[0,L]取一个值时y从0遍历至L,并且y每次在区间[0,L]取一个值时执行以下判断:
如果y≥l并且M(x,y)<M(x,y-l)+(x/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x,y-l)+(x/w),并记录此时码放了一条水平码垛条N(x,y)=1;
如果y≥l并且M(x,y)<M(x-l,y)+(y/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x-l,y)+(y/w),并记录此时码放了一条垂直码垛条N(x,y)=2。
通过单层码垛方案生成模块,在遍历过程中不断更新单层码垛最大货物数量,并且每次更新时记录x和y的取值以及对应的N(x,y)取值,N(x,y)取值表示此时码放的是水平码垛条还是垂直码垛条,从而可根据N(x,y)的取值获知单层码垛方案中共有多少条水平码垛条及其如何分布,和共有多少条垂直码垛条及其如何分布,由于x和y有多种组合从而对应生成多个单层码垛方案。
M(x,y)的递推伪代码可如下设置:
优选地,所述最优单个托盘码垛方案生成模块中的生成每个最终单层码垛方案对应的单个托盘码垛方案为通过以下子模块实现:
第一子模块,用于将当前选择的最终单层码垛方案作为对应的单个托盘码垛方案中的最底层码垛方案;
第二子模块,用于计算当前选择的最终单层码垛方案在单个托盘上最多允许堆垛层数:
maxLayer=min{托盘限制高度/货物高度,托盘限制重量/(单层码垛方案的货物数量*货物重量)};
第三子模块,用于生成以当前选择的最终单层码垛方案作为每层码垛方案,并以第二子模块计算出的最多允许堆垛层数maxLayer作为堆垛层数的单个托盘码垛方案。
单个托盘码垛方案中堆垛层数受到托盘限制重量和托盘限制高度限制,从高度考虑的话托盘限制高度除以货物高度可得到高度允许情况下的最大堆垛层数,从重量考虑的话托盘限制重量除以货物总重量可得到重量允许情况下的最大堆垛层数,因此为避免托盘受损,单个托盘上最多允许堆垛层数为高度允许情况下的最大堆垛层数和重量允许情况下的最大堆垛层数这两者中的最小值。
优选地,所述最优单个托盘码垛方案生成模块还包括:
第四子模块,用于生成层间分布方案:偶数层相对于奇数层的最终单层码垛方案旋转180°,从而生成交错码放垛形的层间分布方案;
所述第三子模块生成的单个托盘码垛方案还以第四子模块生成的层间分布方案作为层间分布方案。
单个托盘码垛方案从最底层开始偶数层相对于奇数层的单层码垛方案旋转180°,形成交错码放垛形的层间分布,可提高码垛结构的稳定性,确保整垛货物转运时安全性。
优选地,所述最优单个托盘码垛方案生成模块还包括:若货物数量最多的单个托盘码垛方案存在多个时,筛选出货物数量最多且堆垛层数最少的单个托盘码垛方案作为最优单个托盘码垛方案;
所述码垛约束信息还包括货物放置方向,所述货物信息还包括单次可抓取的货物数量和标签方向;
还包括码垛控制指令集生成模块,用于根据所述最优单个托盘码垛方案生成对应的码垛控制指令集,并将所述码垛控制指令集下发至机器人,所述机器人根据码垛控制指令集码垛货物。
通过码垛控制指令集生成模块,可直接根据最优单个托盘码垛方案生成对应的码垛控制指令集来控制机器人码垛货物,无需人工示教,节省大量的人力物力,大大提高效率。货物放置方向、单次可抓取的货物数量和标签方向这些信息可用于指导机器人码垛货物,以指导机器人按照什么方向摆放货物。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (10)
1.一种用于相同货物的码垛方法,其特征在于,包括以下步骤:
步骤A,获取托盘信息和码垛约束信息,所述托盘信息包括托盘的长度L和宽度W,所述码垛约束信息包括托盘限制重量和托盘限制高度;
步骤B,获取货物信息,所述货物信息包括货物的长度l、宽度w、高度、重量和货物之间的间隔s;
步骤C,生成托盘上的单层码垛方案:
步骤C1,初始化时,托盘的长度L和宽度W均加上货物之间的间隔s,并且货物的长度l和宽度w均加上货物之间的间隔s,即初始化L=L+s,W=W+s,l=l+s,w=w+s;
步骤C2,定义托盘上的单层码垛最大货物数量为
M(x,y)=max{M(x,y-l)+(x/w),M(x-l,y)+y/w},
其中,x为长度方向变量,y为宽度方向变量,0≤x≤L,0≤y≤L,初始时若x<w或y<w,则M(x,y)=0;
定义每次单层码垛条的顺序用N(x,y)表示,N(x,y)=1时表示为水平码垛条,N(x,y)=2时表示为垂直码垛条;
步骤C3,对M(x,y)进行递推,得到多个单层码垛方案;
步骤C4,对所有单层码垛方案进行过滤:在货物数量值相同的多个单层码垛方案中,先将垛形不是交错的单层码垛方案过滤掉,然后从垛形是交错的多个单层码垛方案中筛选出垛形为外轮轮廓最小的单层码垛方案作为该货物数量值对应的最终单层码垛方案;对每个货物数量值下的多个单层码垛方案重复以上步骤,直至所有货物数量值均有对应的最终单层码垛方案为止;
步骤D,遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。
2.根据权利要求1所述的用于相同货物的码垛方法,其特征在于,所述步骤C3具体包括:
步骤C31,初始设定M(x,y)=0,N(x,y)=0;
步骤C32,x从0遍历至L,x每次在区间[0,L]取一个值时y从0遍历至L,并且y每次在区间[0,L]取一个值时执行以下判断:
如果y≥l并且M(x,y)<M(x,y-l)+(x/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x,y-l)+(x/w),并记录此时码放了一条水平码垛条N(x,y)=1;
如果y≥l并且M(x,y)<M(x-l,y)+(y/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x-l,y)+(y/w),并记录此时码放了一条垂直码垛条N(x,y)=2。
3.根据权利要求1所述的用于相同货物的码垛方法,其特征在于,所述步骤D中生成每个最终单层码垛方案对应的单个托盘码垛方案具体包括:
步骤D1,将当前选择的最终单层码垛方案作为对应的单个托盘码垛方案中的最底层码垛方案;
步骤D2,计算当前选择的最终单层码垛方案在单个托盘上最多允许堆垛层数:
maxLayer=min{托盘限制高度/货物高度,托盘限制重量/(单层码垛方案的货物数量*货物重量)};
步骤D3,生成以当前选择的最终单层码垛方案作为每层码垛方案,并以步骤D2计算出的最多允许堆垛层数maxLayer作为堆垛层数的单个托盘码垛方案。
4.根据权利要求3所述的用于相同货物的码垛方法,其特征在于:
所述步骤D2和步骤D3之间还包括:
步骤D4,生成层间分布方案:偶数层相对于奇数层的最终单层码垛方案旋转180°,从而生成交错码放垛形的层间分布方案;
所述单个托盘码垛方案还以步骤D4生成的层间分布方案作为层间分布方案。
5.根据权利要求1所述的用于相同货物的码垛方法,其特征在于:
所述步骤D还包括:若货物数量最多的单个托盘码垛方案存在多个时,筛选出货物数量最多且堆垛层数最少的单个托盘码垛方案作为最优单个托盘码垛方案;
所述码垛约束信息还包括货物放置方向,所述货物信息还包括单次可抓取的货物数量和标签方向;
还包括步骤E,根据所述最优单个托盘码垛方案生成对应的码垛控制指令集,并将所述码垛控制指令集下发至机器人,所述机器人根据码垛控制指令集码垛货物。
6.一种用于相同货物的码垛系统,其特征在于,包括:
信息获取模块,用于获取托盘信息、货物信息和码垛约束信息,所述托盘信息包括托盘的长度L和宽度W,所述码垛约束信息包括托盘限制重量和托盘限制高度,所述货物信息包括货物的长度l、宽度w、高度、重量和货物之间的间隔s;
单层码垛方案生成模块,用于生成托盘上的单层码垛方案;
初始化时,托盘的长度L和宽度W均加上货物之间的间隔s,并且货物的长度l和宽度w均加上货物之间的间隔s,即初始化L=L+s,W=W+s,l=l+s,w=w+s;
定义托盘上的单层码垛最大货物数量为
M(x,y)=max{M(x,y-l)+(x/w),M(x-l,y)+y/w},
其中,x为长度方向变量,y为宽度方向变量,0≤x≤L,0≤y≤L,初始时若x<w或y<w,则M(x,y)=0;
定义每次单层码垛条的顺序用N(x,y)表示,N(x,y)=1时表示为水平码垛条,N(x,y)=2时表示为垂直码垛条;
然后,对M(x,y)进行递推,得到多个单层码垛方案;
最后,对所有单层码垛方案进行过滤:在货物数量值相同的多个单层码垛方案中,先将垛形不是交错的单层码垛方案过滤掉,然后从垛形是交错的多个单层码垛方案中筛选出垛形为外轮轮廓最小的单层码垛方案作为该货物数量值对应的最终单层码垛方案;对每个货物数量值下的多个单层码垛方案重复以上步骤,直至所有货物数量值均有对应的最终单层码垛方案为止;
最优单个托盘码垛方案生成模块,用于遍历所有过滤后的最终单层码垛方案,生成每个最终单层码垛方案对应的单个托盘码垛方案,从所有单个托盘码垛方案中筛选出货物数量最多的单个托盘码垛方案作为最优单个托盘码垛方案。
7.根据权利要求6所述的用于相同货物的码垛系统,其特征在于,所述单层码垛方案生成模块中的M(x,y)递推过程为:
初始设定M(x,y)=0,N(x,y)=0;
然后x从0遍历至L,x每次在区间[0,L]取一个值时y从0遍历至L,并且y每次在区间[0,L]取一个值时执行以下判断:
如果y≥l并且M(x,y)<M(x,y-l)+(x/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x,y-l)+(x/w),并记录此时码放了一条水平码垛条N(x,y)=1;
如果y≥l并且M(x,y)<M(x-l,y)+(y/w),则更新当前的单层码垛最大货物数量为M(x,y)=M(x-l,y)+(y/w),并记录此时码放了一条垂直码垛条N(x,y)=2。
8.根据权利要求6所述的用于相同货物的码垛系统,其特征在于,所述最优单个托盘码垛方案生成模块中的生成每个最终单层码垛方案对应的单个托盘码垛方案为通过以下子模块实现:
第一子模块,用于将当前选择的最终单层码垛方案作为对应的单个托盘码垛方案中的最底层码垛方案;
第二子模块,用于计算当前选择的最终单层码垛方案在单个托盘上最多允许堆垛层数:
maxLayer=min{托盘限制高度/货物高度,托盘限制重量/(单层码垛方案的货物数量*货物重量)};
第三子模块,用于生成以当前选择的最终单层码垛方案作为每层码垛方案,并以第二子模块计算出的最多允许堆垛层数maxLayer作为堆垛层数的单个托盘码垛方案。
9.根据权利要求8所述的用于相同货物的码垛系统,其特征在于,所述最优单个托盘码垛方案生成模块还包括:
第四子模块,用于生成层间分布方案:偶数层相对于奇数层的最终单层码垛方案旋转180°,从而生成交错码放垛形的层间分布方案;
所述第三子模块生成的单个托盘码垛方案还以第四子模块生成的层间分布方案作为层间分布方案。
10.根据权利要求6所述的用于相同货物的码垛系统,其特征在于:
所述最优单个托盘码垛方案生成模块还包括:若货物数量最多的单个托盘码垛方案存在多个时,筛选出货物数量最多且堆垛层数最少的单个托盘码垛方案作为最优单个托盘码垛方案;
所述码垛约束信息还包括货物放置方向,所述货物信息还包括单次可抓取的货物数量和标签方向;
还包括码垛控制指令集生成模块,用于根据所述最优单个托盘码垛方案生成对应的码垛控制指令集,并将所述码垛控制指令集下发至机器人,所述机器人根据码垛控制指令集码垛货物。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910959610.7A CN110861925B (zh) | 2019-10-10 | 2019-10-10 | 一种用于相同货物的码垛方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910959610.7A CN110861925B (zh) | 2019-10-10 | 2019-10-10 | 一种用于相同货物的码垛方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110861925A true CN110861925A (zh) | 2020-03-06 |
CN110861925B CN110861925B (zh) | 2021-02-19 |
Family
ID=69652263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910959610.7A Active CN110861925B (zh) | 2019-10-10 | 2019-10-10 | 一种用于相同货物的码垛方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110861925B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111891758A (zh) * | 2020-08-04 | 2020-11-06 | 广东工业大学 | 一种欠完备信息的在线货物码垛方法 |
CN112077843A (zh) * | 2020-08-24 | 2020-12-15 | 北京配天技术有限公司 | 机器人图形化码垛方法、计算机存储介质及机器人 |
CN113128118A (zh) * | 2021-04-20 | 2021-07-16 | 广东工业大学 | 一种基于分支定界算法的单规格码垛方法及码垛系统 |
CN113200367A (zh) * | 2021-05-13 | 2021-08-03 | 河南牧业经济学院 | 兼顾方便性和稳定性的托盘装载堆码方法 |
CN113387189A (zh) * | 2021-08-17 | 2021-09-14 | 天津施格自动化科技有限公司 | 一种码垛垛型自动生成方法 |
CN115392842A (zh) * | 2022-10-30 | 2022-11-25 | 合肥焕智科技有限公司 | 一种基于人工智能的托盘识别分析方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458021A1 (de) * | 1990-05-25 | 1991-11-27 | KEURO MASCHINENBAU GMBH & CO. KG | Regallager für in selbsttragenden Kassetten aufgenommenes Material |
WO2008021841A2 (en) * | 2006-08-08 | 2008-02-21 | Db Studios, Inc. | Dispensing slidable tray systems and methods |
CN103988214A (zh) * | 2011-10-17 | 2014-08-13 | 西姆伯蒂克有限责任公司 | 集装架搭建系统 |
CN104063778A (zh) * | 2014-07-08 | 2014-09-24 | 深圳市远望谷信息技术股份有限公司 | 一种在立体货仓中为货物分配货位的方法 |
CN107013063A (zh) * | 2017-04-24 | 2017-08-04 | 绵阳鹏志科技有限公司 | 二列n排内驱套筒轮形车轮式组合平面无人车库 |
CN108238451A (zh) * | 2016-12-27 | 2018-07-03 | 北京京东尚科信息技术有限公司 | 码垛方法和码垛装置 |
CN108750685A (zh) * | 2018-04-28 | 2018-11-06 | 武汉库柏特科技有限公司 | 一种离线混合码垛方法及系统 |
-
2019
- 2019-10-10 CN CN201910959610.7A patent/CN110861925B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0458021A1 (de) * | 1990-05-25 | 1991-11-27 | KEURO MASCHINENBAU GMBH & CO. KG | Regallager für in selbsttragenden Kassetten aufgenommenes Material |
WO2008021841A2 (en) * | 2006-08-08 | 2008-02-21 | Db Studios, Inc. | Dispensing slidable tray systems and methods |
CN103988214A (zh) * | 2011-10-17 | 2014-08-13 | 西姆伯蒂克有限责任公司 | 集装架搭建系统 |
CN104063778A (zh) * | 2014-07-08 | 2014-09-24 | 深圳市远望谷信息技术股份有限公司 | 一种在立体货仓中为货物分配货位的方法 |
CN108238451A (zh) * | 2016-12-27 | 2018-07-03 | 北京京东尚科信息技术有限公司 | 码垛方法和码垛装置 |
CN107013063A (zh) * | 2017-04-24 | 2017-08-04 | 绵阳鹏志科技有限公司 | 二列n排内驱套筒轮形车轮式组合平面无人车库 |
CN108750685A (zh) * | 2018-04-28 | 2018-11-06 | 武汉库柏特科技有限公司 | 一种离线混合码垛方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111891758A (zh) * | 2020-08-04 | 2020-11-06 | 广东工业大学 | 一种欠完备信息的在线货物码垛方法 |
CN111891758B (zh) * | 2020-08-04 | 2021-01-05 | 广东工业大学 | 一种欠完备信息的在线货物码垛方法 |
CN112077843A (zh) * | 2020-08-24 | 2020-12-15 | 北京配天技术有限公司 | 机器人图形化码垛方法、计算机存储介质及机器人 |
CN113128118A (zh) * | 2021-04-20 | 2021-07-16 | 广东工业大学 | 一种基于分支定界算法的单规格码垛方法及码垛系统 |
CN113128118B (zh) * | 2021-04-20 | 2021-11-30 | 广东工业大学 | 一种基于分支定界算法的单规格码垛方法及码垛系统 |
CN113200367A (zh) * | 2021-05-13 | 2021-08-03 | 河南牧业经济学院 | 兼顾方便性和稳定性的托盘装载堆码方法 |
CN113387189A (zh) * | 2021-08-17 | 2021-09-14 | 天津施格自动化科技有限公司 | 一种码垛垛型自动生成方法 |
CN115392842A (zh) * | 2022-10-30 | 2022-11-25 | 合肥焕智科技有限公司 | 一种基于人工智能的托盘识别分析方法 |
CN115392842B (zh) * | 2022-10-30 | 2023-01-31 | 合肥焕智科技有限公司 | 一种基于人工智能的托盘识别分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110861925B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110861925B (zh) | 一种用于相同货物的码垛方法及系统 | |
CN104408589B (zh) | 基于混合粒子群算法的agv优化调度方法 | |
CN108750685B (zh) | 一种离线混合码垛方法及系统 | |
CN110443549B (zh) | 一种物流仓库中物品的装箱方案生成方法及系统 | |
CN106709692A (zh) | 一种物流中心储位分配方法 | |
CN108776879B (zh) | 一种基于权重学习的垛形规划方法 | |
CN112478566B (zh) | 多种产品混合码垛的方法及系统 | |
CN107784305A (zh) | 基于卷积神经网络的设施蔬菜病害识别方法及装置 | |
CN107016642A (zh) | 用于对有噪图像进行分辨率上调的方法以及用于对有噪图像进行分辨率上调的装置 | |
CN107977756B (zh) | 解决三维装箱问题的三叉树规划计算方法 | |
EP2114805A1 (de) | Robotersystem zur beladung von lademitteln mit stückguteinheiten | |
CN109062296B (zh) | 一种基于温湿度监控的粮食仓储方法 | |
CN113086659B (zh) | 包件码垛方法及终端 | |
CN108846502A (zh) | 车间生产线布局优化方法及装置 | |
CN113086655B (zh) | 板材分包方法及终端 | |
CN103632026A (zh) | 拣货方法和系统 | |
CN109795751A (zh) | 板件智能分包的方法和装置 | |
CN106251207A (zh) | 订单监控方法及装置 | |
CN111860837A (zh) | 装箱问题的处理方法、装置及计算机可读存储介质 | |
CN109384042A (zh) | 序列增量式码垛方法及其装置和计算机可读存储介质 | |
CN112193706A (zh) | 一种应用于智能仓储的自适应控制方法和仓储控制系统 | |
CN206734831U (zh) | 一种食用菌多功能周转箱 | |
CN116187499A (zh) | 货运配载方法、装置、电子设备及存储介质 | |
CN115879625A (zh) | 一种面向卷型材的二维带缺陷排样方法及系统 | |
CN109523634A (zh) | 优化网格的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |