1.一种基于错位码垛规划的分段阶梯码垛的方法,其特征在于:按照下述步骤进行:(1)输入自定义的垛型数据,规划出全车厢垛型:用户输入自定义的垛型数据,用户输入自定义的垛型数据,数据包括车厢的长为L01,宽为L02,货物的长为B,宽为A,高为h,码垛层数为n,码垛机器人工作空间长度为CL,规划出全车厢垛型,具体步骤为:首先根据货物长、宽之间的补偿作用,合理的利用托盘上的面积,使托盘上码垛的货物的个数最多;相邻区域货物的摆放方式正好相差90度;将托盘随机分成六个区域:I、II、III、IV、V、VI,各个区域的面积是随机分配的;L01和L02分别表示托盘的长和宽,分别对应于托盘的X和Y方向;
在托盘上建立托盘坐标系,以托盘左上角点作为托盘的原点,计算各个货物的坐标都是以该坐标系为参考的;所述I、II、III、IV区域称为托盘的使用面积,V、VI区域为I、II、III、IV区域之间的间隔面积,V、VI区域称为可再利用面积;Xij表示托盘上奇数层I、II、III、IV四个子区域中在X和Y方向上的个数,XijO表示托盘上偶数层I、II、III、IV四个子区域中在X和Y方向上的个数,其下标i=1,2,分别表示包装件的短边和长边,下标j=1,2,3,
4,分别表示I、II、III、IV四个子区域;
X21的最大个数为int(L01/B),X13的最大个数为int(L01/A);同理,X11和X22的最大个数分别为int(L02/A)和int(L02/B),X23和X14的最大个数分别为int(L02/B)和int(L02/A);其中,int()函数为向下取整函数;当X21从int(L01/B)以1递减时,X13从0开始递增,搜寻L01边最优解;其次,X11从int(L02/A)以1递减,则X22从0开始递增,搜寻L02边最优解;然后X23从int(L02/B)以1递减,则X14从0开始递增,搜寻L02对边的最优解;最后,II区在X方向上的码垛长度不超过I区码垛长度,IV区在X方向上的码垛长度不超过III区码垛长度;如此,搜索每一种潜在的布局,并从中挑选出空间利用最大化的布局,在确定I、II、III、IV四个子区域的布局之后,需要尽量填满V、VI区域;
上述搜索可能得到多个包装件个数最多的布局,因此,引入错位量作为评判最优布局的条件;错位指的是偶数层中的箱子正好压住奇数层中相邻箱子的缝隙;在本方法中,定义错位单位:在托盘的四周,奇数层中货物之间的缝隙距偶数层货物两边的最短距离,称之为错位单元;错位量最大指的是托盘四周所有的错位单元的总和最大值,此时符合要求的垛型即为所要求的垛型;
(2)当前段内阶梯状码垛:
设定车厢左上角点为原点,长度方向为X方向,宽度方向为Y方向,码垛到当前层任意位置时,都要校验沿X方向已码垛长度与下一层已码垛层长之差是否小于一个包装箱长度或宽度;若差值小于一个包装箱长度或宽度,则换层并记忆此层此位置的阶梯沿X方向的层长;否则,将继续沿车厢长度X方向码垛当前层;如此,每一层均记录阶梯层长,形成了分段阶梯中各层阶梯;
具体步骤如下:
(a)计算当前层已码垛层长R1j、R2j已知规划出的全车厢垛型每层最多随机分成五个区域:Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ,各个区域的面积是随机分配的,其中,Ⅰ、Ⅱ、Ⅲ、Ⅳ区域分别占据车厢四角,称为使用面积,Ⅴ区域为Ⅰ、Ⅱ、Ⅲ、Ⅳ区域之间的间隔面积,称为可再利用面积;设定Ⅰ、Ⅲ区域沿车厢X方向分布,设定Ⅰ、Ⅱ区域沿车厢Y方向分布;Ⅰ、Ⅲ区域与Ⅱ、Ⅳ、Ⅴ区域分别位于车厢长边的两侧,各区域应码垛列数分别为x21、x12、x13、x24、x25;
设第j层Ⅰ‑Ⅴ区已码垛列数(沿Y方向)分别为i1j、i2j、i3j、i4j、i5j,其中,j=1...n,并令它们的初始值均为1,当前层每一列码垛完毕都应计算该层已码垛层长,并更新;由于沿车厢长度方向两侧布局不一致,因此分别记两侧已码垛层长为R1j和R2j,其初始值均为0,其中,j=1...n,并令R10=CL,R20=CL;
(b)校验沿车厢X方向已码垛长度与下一层已码垛层长之差是否小于一个包装箱长度或宽度,即是否应该码垛下一列,
取Rminj‑1作为当前第j层的最大可码垛长度,Rminj‑1的值为:Rminj‑1=min(R1j‑1,R2j‑1)对于Ⅰ和Ⅲ区,若Rminj‑1‑R1j≥B或Rminj‑1‑R1j≥A,则判断下一列位于哪一区域并码垛;
否则,该层码垛完毕,换层,并记录i1j、i3j;
对于Ⅱ、Ⅳ和Ⅴ区,若Rminj‑1‑R2j≥B或Rminj‑1‑R2j≥A,则判断下一列位于哪一区域并码垛;否则,该层码垛完毕,换层,并记录i2j、i4j、i5j;
(c)每一层不能再码一个包装箱时,记录阶梯层长R1j、R2j,如此,形成了分段阶梯中各层阶梯;
(3)车辆移动平台移动,形成新分段:已知码垛机器人工作空间长度CL,需要确定车辆移动段落距离D;当前段码垛完成时,最顶层已码垛的长度不应在下一段机器人工作空间长度之内,所以车辆需要移动的距离等于当前段内最顶层已码垛的最小长度;因此,取最顶层两侧已码垛长度R1n和R2n的最小值Rminn作为最顶层已完全码垛的长度,当前段与上一段的最小值Rminn之差即是车辆移动段落距离D,令D初始值为0,其公式如下:Rminn=min(R1n,R2n)D=Rminn‑D
(4)车辆移动平台移动后,进入新的阶梯码垛循环:车辆移动平台移动后,同时R10、R20的值应变为最顶层已码垛最小距离Rminn和码垛机器人工作空间长度CL之和:
R10=CL+Rminn
R20=CL+Rminn
然后进入新的阶梯码垛循环,第j层各区域分别从下一列开始码垛;
(5)循环往复,直至最后一段码垛完成:当最顶层两侧已码垛距离R1n、R2n与L01的差值小于一个包装箱的宽时,分段阶梯码垛全部完成。