某制药厂项目是纸箱码垛,采用3台ABB公司IRB460机器人,其中每台机器人完成4工位码垛任务,即2条产品拾取工位和4个产品码垛工位,机器人码垛布置图如图1所示。
其中,L0为左侧拾取工位,对应码垛放置工位L11和L12;R0为右侧拾取工位,对应右侧码垛放置工位R11和R12。
图1 机器人码垛布置图
码垛放置顺序的主要因素有:
1)机器人卡具的影响。常用的机器人卡具主要有钩爪式,真空吸盘式和夹抱式等。若采用钩爪式卡具,在放置时,要考虑钩爪的位置,否则有可能会压箱子,损坏设备;
2)箱子尺寸的影响。箱子的尺寸应在机器人卡具的工作变径范围内,若箱子的长度小于机器人卡具的长度时,箱子被夹在卡具内部,在放置时应考虑卡具对已码跺型的影响。
2 影响机器人码垛放置顺序的因素
在实际应用中,机器人在码垛过程中,影响机器人
收稿日期:2018-06-19
作者简介:李亚军(1984 -),男,河南人,中级工程师,硕士研究生,主要从事仓库物流,化纤包装行业的自动化设备 的设计与研究。【52】 第40卷 第10期 2018-10
3)条码标签的影响。为便于操作,客户要求标签朝外,方便手持扫码拼盘。
最后,综合工艺流程和现场因素,确定了左右放置工位的奇数层偶数层的“32跺型”码垛顺序,如图2所示。其他跺型不在赘述。
(a) (b)
(c) (d)
图2 码垛工位顺序图
在图2中,(a)为左侧工位码垛奇数层顺序,(b)为左侧工位码垛偶数层顺序,(c)为右侧工位码垛奇数层顺序,(d)为右侧工位码垛偶数层顺序。
3 参考点选择
3.1 拾取参考点设定
拾取参考点选择如图3所示。由于拾取工位箱子定位的对称性,所以,觉得码放位置码放的对称性,使左右放置工位位置的不一致,决定拾取参考点选择的对称性,所以引入码垛算法比例系数K。在L0拾取工位,箱子靠右侧定位,K=1;在R0拾取工位,箱子靠左侧工位,K=-1。
/5图3 拾取参考点选择
3.2 放置基准点选择
3.2.1 基于放置位置的码垛算法放置基准点选择
基于放置位置的码垛算法,就是要求在工具坐标系中,要求放置基准点pBase0与放置位置点1重合,放置基准点pBase90与放置位置3重合。
L11号栈板的放置基准位置pBase0,如图4(a)中1位置,此栈板的上其他位置若姿态与此基准相同,则可以通过偏移算法得出。示教时使用工具坐标系tGripper,工件坐标系Wobj0。L13号栈板的放置基准位置pBase90,如图4(c)中3位置,此栈板的上其他位置若姿态与此基准相同,则可以通过偏移算法得出。示教时使用工具坐标系
tGripper,工件坐标系Wobj0。
右侧栈板与此类似,不再赘述。
3.2.2 基于栈板位置的码垛算法放置基准点选择
基于栈板位置的码垛算法,就是要求在工具坐标系中,要求放置基准点pBase0,pBase90, pBase180,pBase270栈板的角位置重合。
L11号栈板的放置基准位置pBase0,如图4(b)中1位置,此栈板的上其他位置若姿态与此基准相同,则可以通过偏移算法得出。示教时使用工具坐标系tGripper,工件坐标系Wobj0。
L13号栈板的放置基准位置pBase90,如图4(d)中3位置,此栈板的上其他位置若姿态与此基准相同,则可以通过偏移算法得出。示教时使用工具坐标系tGripper,工件坐标系Wobj0。
右侧栈板与此类似,不再赘述。
(a) (b)
(c) (d)
图4 放置基准位置图
第40卷 第10期 2018-10 【53】
4 常用码垛算法
4.1 基于放置位置的码垛算法
以左侧工位L11为例说明,放置位置的顺序如图2(a)和图2(b)所示。
首先,位置1和位置3分别是需要示教位置的放置基准点pBase0和pBase90。
其中,位置1与创建好的放置基准点pBase0重合,则直接将pBase0各项数据赋值给当前的放置目标点;相对于放置基准点pBase0,位置2只是在X正方向偏移了一个产品长度,只需要在pBase0目标点X数据上面加上一个产品长度即可;位置3则和pBase90重合,以此类推,则可计算出剩余的全部码放位置。
在码垛应用过程中,通常奇数层跺型一致,偶数层跺型一致,这样只要算出第一层和等二层,三层及其以上奇数层位置是可以直接复制第一层各项X,Y轴位置,然后在Z轴正方向上面叠加相应产品码垛高度(通常为箱子高度整数倍)即可完成。四层及其以上偶数层,则直接复制第二层各项X,Y轴位置,然后,在Z轴的基础正方向上叠加相应产品的码垛高度即可完成。这样即可完成整个跺型的码放位置,如表1所示。
其次,为方便对各箱型码放位置进行调整,利用Offs功能在已经计算好的码放位置基础上,沿X,Y,Z再进行微调,其中调用的是已创建好的三维数组Compensation,例如码放不同类型箱型,nBoxType不同,第一个位置时,则拍Target:=Offs(pTarget,Compensation{nBoxType,1}, Compensation{nBoxType,2}, Compensation{nBoxType,3})。
偶数层奇数层层数
表1 码垛算法1放置目标点位置计算表计数12345678910
参考点pBase0pBase0pBase90pBase90pBase90pBase90pBase90pBase90pBase0pBase0
Delta X0L-Cx0-W-Cx-2W-2Cx
0-W-Cx-2W-2Cx
0+L-Cx
Delta Y00000-W-Cy-W-Cy-W-Cy+L+Cx+L+Cx
Delta ZnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*H
注: L表示箱子的长度;W表示箱子的宽度;H表示箱子的高度;Cx表示箱与箱之间在X轴方向的间隙;Cy表示箱与箱之间在Y轴方向的间隙。nLayer表示层高,计算公式nLayer:= (nCount-1) div 10;其中nCount表示当前已码垛箱子计数。
4.2 基于栈板位置的码垛算法
以左侧工位L11为例说明,放置位置的顺序如图2(a)和图2(b)所示。
首先,位置1和位置3分别是需要示教位置的放置基准点pBase0和pBase90,但是,考虑到栈板尺寸的影响,要求放置基准点的参考点与栈板的顶点重合,箱子的边缘与栈板的边缘平行。
其中,位置1的放置目标点,其姿态与放置基准点
表2 码垛算法2放置点目标位置计算表
层数
计数12
奇数层
34567
偶数层
8910
参考点pBase0pBase0pBase90pBase90pBase90pBase90pBase90pBase90pBase0pBase0
Delta X+0.5*(TL-2L-Cx)+0.5* (TL-2L-Cx)+L+Cx-0.5* (TL-3W-2Cx)-0.5* (TL-3W-2Cx)-W-Cx-0.5* (TL-3W-2Cx)-2W-2Cx
-0.5* (TL-3W-2Cx)-0.5* (TL-3W-2Cx)-W-Cx-0.5* (TL-3W-2Cx)-2W-2Cx
+0.5* (TL-2L-Cx)+0.5* (TL-2L-Cx)+L+Cx
Delta Y
+0.5*K* (TW-L-W-Cy)+0.5*K* (TW-L-W-Cy)+K*(0.5* (TW-L-W-Cy)+W+Cy)+K*(0.5* (TW-L-W-Cy)+W+Cy)+K*(0.5* (TW-L-W-Cy)+W+Cy)
+0.5*K* (TW-L-W-Cy)+0.5*K* (TW-L-W-Cy)+0.5*K* (TW-L-W-Cy)+K*(0.5* (TW-L-W-Cy)+L+Cy)+K*(0.5* (TW-L-W-Cy)+L+Cy)
Delta ZnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*HnLayer*H
注释:TL,表示栈板长度;TW表示栈板宽度。
【54】 第40卷 第10期 2018-10
表3 码垛算法总结
序号12
基于放置位置的码垛算法码垛放置程序计算简单,易于理解
基于栈板位置的码垛算法跺型放置程序编写复杂
前期工作量比较大。根据每种箱子的尺寸,不但要明确放置码垛跺型,前期工作量不大,根据每种箱子的尺寸,只需知道码而且要求画出详细的码放放置跺型图,测量放置基准点到栈板边缘的距离。放跺型即可示教基准点比较少。只需示教pBase0,pBase90,示教基准点较多,示教位置点工作量较大。如果是多工位,多规格,
pBase270三个或两个方向的位置即可。位置要求参考
多箱型的机器人码垛,由于每种箱子至少需要示教两个位置,pBase0,
点与栈板的边缘一致即可。码垛放置基准点示教位置
pBase90或pBase270,码垛放置基准掉示教位置的数量仅与箱子的品种箱
的数量仅与栈板放置工位数量有关,与箱子的品种箱
型有关,与栈板无关。如果箱子类型越多,则示教位置成倍增加。
型无关。
此方式适用于箱型少,品种规格较少的码垛方式。
此方式适用于适用于箱型多,品种规格较多的码垛方式
3
4
5
如果采用钩爪式机器人卡具,采用上下放置式码垛,由于箱子尺寸的不
如果采用钩爪式机器人卡具。采用左右靠压式,彻底
规则,或者箱子内重量的不均匀,随着层数的增高,
解决了压箱子的问题。但是机器人需增加路径点。
会出现压箱子的情况。由于在托盘内示教pBase0,pBase90或pBase270两个方向位置,当需调整
由于示教基准点位置,考虑了栈板的位置的因素影
箱子之间的间隙时,则pBase0与pBase90相交方向位置缝隙减小,如果调
响,所以在机器人码垛时,跺型紧凑,放置合理。实
整示教位置点,则会出现压箱子或损坏机器人卡具的情况。此方法的局
际放置位置不会超长,超宽。
限性没有考虑到栈板尺寸的影响因素。增加箱型比较麻烦,需知道栈板的尺寸,箱子尺寸,需要画详细码放跺
增加箱型时,只需要知道栈板和箱子尺寸,放置跺型
型图,测量放置基准点到栈板边缘的距离,示教基准点,修改地面站程
即可,修改作业调度简单,操作简便。
序和作业调度,可实践性差,程序继承性不好。
6
7
即是pBase0一致,位置也即是在其X,Y,两个方向偏移了箱子边缘与栈板边缘之间的距离。
X轴方向偏移距离为:
Delta X:=0.5*(TL-2*nBoxSize{nBoxType,1}-Compensation{nBoxType,1})
Y轴方向偏移距离为:
Delta Y:=0.5*(TW-nBoxSize{nBoxType,1}-nBoxSize{nBoxType,2}-Compensation {nBoxType,2});
位置2的放置目标点,其姿态与放置基准点pBase0一致,位置2是在位置1的基础上在X轴方向便移了箱子长度的距离,Y轴与位置1一致。
X轴方向偏移距离为:
Delta X :=0.5*(TL-2*nBoxSize{nBoxType,1}-Compensation{nBoxType,1})+ nBoxSize{nBoxType,1}+Compensation{nBoxType,1}
位置3的放置目标点,其姿态与放置基准点即是pBase90一致,位置也即是在其X,Y两个方向偏移了一定的距离。即X轴方向偏移距离为:箱子上长边边缘与栈板上宽边边缘之间的距离。
Delta X :=0.5*(TL-2*nBoxSize{nBoxType,1}-Compensation{nBoxType,1})
Y轴方向偏移距离为:箱子右短边边缘与栈板右长边边缘之间的距离。
Delta Y :=0.5*(TW-nBoxSize{nBoxType,1}-
nBoxSize{nBoxType,2}-Compensation {nBoxType,2}) + nBoxSize{nBoxType,2}+Compensation{nBoxType,2};
以此类推,则可计算出剩余的全部码放位置,如表2所示。
5 结束语
基于放置位置的码垛算法,虽然计算简单,易于理解,但是适用品种单一,增加跺形不便,后期工作量比较大,影响效率;而基于栈板位置的码垛算法,程序算法复杂,前期编程工作量比较大,但是适用于多箱型的码垛,增加跺形方便。因此可以根据项目实际应用的要求,针对具体作业方案,选择具体算法。
参考文献:
[1] 蔡自兴.机器人学[M].清华大学出版社.2009.[2] 熊有伦.机器人学[M].上海交通大学出版社.1993.
[3] HG/T 20663-1999,化工粉粒产品计量、包装及码垛系统设计
规定[S].北京:全国化工工程建设标准编辑中心,2000.
[4] 赵辉.基于plc的包装码垛控制系统设计[J].电气自动化博
览,2004,(4):13-41.
[5] BRIANW.Rooks Off-line programming:a success for the
automotive industry[J].Industrial Robot,1997,24(1):30 -40.
[6] 李师廉,屈贤明.先进制造技术( IT )[J].计算机世界,1995,26(4):115.[7] 孙大涌,屈贤明,张松滨.先进制造技术[M].北京:机械工业出版
社,2000.
[8] GREENWAYB. Robot accuracy[J].Industrial Robot,2000,27(4):257-265.计算机信息.
[9] 刘颖明.型钢码垛机自动控制系统的位置检测与变频器控制[J].
沈阳师范大学学报:自然科学版,2004,22(3):190-192.
第40卷 第10期 2018-10 【55】
因篇幅问题不能全部显示,请点此查看更多更全内容