您的当前位置:首页正文

基于ABB码垛机器人跺型算法的应用分析

2023-08-16 来源:易榕旅网
基于ABB码垛机器人跺型算法的应用分析Application analysis of stamp-type algorithm based on ABB palletizing robot李亚军,吴振强,徐 慧,邱 野,侯 伟LI Ya-jun, WU Zhen-qiang, XU Hui, QIU Ye, HOU Wei(北京机械工业自动化研究所有限公司,北京 100120)摘 要:随着科学技术的发展,工业机器人技术已经渗透到了人类生活的各个领域,并将在未来发挥着越来越重要的作用。码垛是把物品按照一定规律码放成垛,使物品的存放、搬运、转移等工作变得单元化自动化,从而提高工作效率。在仓储物流行业中,码垛机器人的码垛算法影响机器人的行走路径,直接决定了机器人的码垛效率和货物吞吐量。因此,研究码垛机器人算法不但具有着重要的理论意义,而且具有更广泛的实用意义和应用前景。主要研究码垛机器人码垛放置算法,围着这一研究目标,将介绍两种常用的码垛机器人放置算法:即基于放置位置的码垛算法和基于栈板位置的码垛算法。首先从最简单的基于放置位置的码垛算法入手,并在此基础上提出基于栈板位置的码垛算法,然后,总结归纳两种算法特点,应用范围,适用要求。从而可以根据项目实际应用的要求,针对具体作业方案,选择具体算法。关键词:包装;码垛;机器人;算法中图分类号:TP182;TH246 文献标识码:B 文章编号:1009-0134(2018)10-0052-040 引言在某制药厂项目中,机器人码垛系统采用的是ABB的特点,为了方便产品的输送,储存,销售和管理,该机器人码垛不但具有操作简单,运行稳定,可视性强,维修方便,而且还具有增加箱型简单等优点。它通过与PLC和触摸屏的连接,能够实现信息实时追踪,信息传递,远程诊断和方便WMS,EMS管理。下面结合实例,综合分析码垛的算法,比较其优缺点,分析码垛的应用范围,掌握编程的思路,这样可以在安装调试阶段减少大量人力物力,降低劳动强度,提高生产效率,节约成本。/󰀔󰀕5󰀔󰀕/󰀔󰀔5󰀔󰀔码垛机器人,具有多机器人,多工位,多箱型,多跺型/󰀓5󰀓1 包装码垛工艺流程简介

某制药厂项目是纸箱码垛,采用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】

因篇幅问题不能全部显示,请点此查看更多更全内容