讨论

ABB码垛机器人IRB660那种,示教器里码垛程序到底咋走的?

alei
alei
2026/05/05 16:26

最近在搞一个饲料厂的码垛项目,用的ABB IRB660,配的是IRC5控制器。码垛样式不复杂,就是5层、每层8包,袋子规格统一,整托盘1200×1000的。我看了ABB官方手册里那个Pallet模板,大概明白是设定托盘原点、垛型矩阵、放置点这些,但是有个地方一直没整明白——码垛程序运行时,机器人在每放完一包之后回安全点,这个安全点的高度是按哪一层自动抬升的?是系统根据当前层号自己算的,还是得我在程序里手动写IF判断?

另外想问下大家实际项目里,这个安全点高度一般怎么设比较合理?我现在是固定写了1500mm的Z偏移,调试的时候发现回原点路径跟放包路径干涉,想改成动态的。还有就是下层放完后抬升过程中,软限位报警过一次,把Z的上限改大了才过去,这样做稳不稳?

24 3

全部回复 (3)

顺其自然
顺其自然#1

你用的是Pallet PowerPac还是直接在RAPID里手写码垛逻辑?两种方式不一样的。你说的安全点问题,如果是Pallet模板的话,在配置垛型的时候有个"approach height"和"retract height"参数,这俩是相对托盘原点的Z偏移,系统确实会按当前层号自动抬升。但很多人忽略了一个点——如果夹具(抓手)加上物料的总高度是H,那approach height至少要大于H,不然从上一层放完回到这一层的approach高度时抓手会撞到下面已经码好的包。你那个干涉八成是这个原因。

至于软限位报警直接改上限,这操作不太建议。ABB的软限位是有保护作用的,你可以把Z上限改成相对当前Tool和Workobj动态计算的,或者干脆建一个专门的码垛Wobj,在那个Wobj下重新定义Z的范围,别动世界坐标系的硬限位。软限位随便放宽真出事的时候就晚了。

2026/05/05 23:35
生意人
生意人#2

说个不一样的——我们去年做的一个乳制品码垛项目,跟你这个差不多,也是5层8包。当时没用Pallet模板,就纯手写循环,原因是甲方要求异常处理逻辑太灵活,Pallet模板那种标准化的东西不好加。安全点那块直接用变量`nLayer * pBagHeight + nSafeOffset`算的,每放完一包前nLayer++,回安全点的时候取这个值。这样改动也灵活,换垛型就改两个数字。

2026/05/06 00:59
老冯
老冯#3

你这饲料厂的袋子如果重量超过50kg,节拍上要注意,IRB660的标准周期在那种负载下大概就是10-12秒左右,如果再把回安全点高度抬太高,整体节拍会被拖慢。1500mm那个偏移如果从底层就开始算,机械臂走完一个完整回程路径时间不短。

2026/05/07 01:03