ABB机器人环形仓码垛

[复制链接]
查看95754 | 回复0 | 2025-3-11 07:07:13 | 显示全部楼层 |阅读模式



video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_1043679268426973184

[img=415.3pt,212.65pt]https://mmbiz.qpic.cn/mmbiz_png/RZ5RadbLaf7tuSnSSqRe1n3c2vVF5FUQ3kMicBibXf3fL8S8gqz9n0c9Libn4GbCiaFy0UuGnKJ3fCQazL2XicJSgWA/640?wx_fmt=png[/img]

点击阅读原文,获取完整环形仓工作站源代码!!

1. 机器人仓储码垛有常见的直线跺型,也有如上图的环形跺型。环形跺型可以更好的利用6轴工业机器人自身的机械结构优势,完成产品的中转和分拣。

2 要完成如上下图的环形仓码垛,如何实现?



3. 环形仓码垛,通常机器人位于环形的中间,故各产品位置可以利用产品到中心的距离以及相应角度,计算sin和cos得到具体位置坐标

4. 假设如下图的抓取位置为基准位置,此处位置与环形中心相聚1500mm。利用机器人坐标系xyz对应方向,计算点位数组中各元素的位置,此处按如下图顺序1-9码垛。

[img=415.3pt,303.55pt]https://mmbiz.qpic.cn/mmbiz_png/RZ5RadbLaf7tuSnSSqRe1n3c2vVF5FUQBSNhDcaytLbYGCf1omI0JOagr6npNQbxOaz2PiawE54rtgZGSrQnwew/640?wx_fmt=png[/img]

count:=1;       radius:=1500;       FOR j FROM 1 TO 3 DO        !假设共三层          FORi FROM -4 TO 4 DO             !每层共9个,如图开始的位置1-9               pPlace_cal{count}:=pPlace0;               pPlace_cal{count}.trans.x:=radius*cos(i*36);               !计算坐标x               pPlace_cal{count}.trans.y:=radius*sin(i*36);               pPlace_cal{count}.trans.z:=pPlace0.trans.z+(j-1)*205;               pPlace_cal{count}:=RelTool(pPlace_cal{count},0,0,0Rz:=-i*36);!修正点位姿态,此处假设机器人工具z垂直向下               count:=count+1;           ENDFOR       ENDFOR
5 由于机器人在环形仓中运动时,运动范围较大,通常为1轴旋转较大角度,若直接使用moveJ,则可能产生碰撞/姿态奇异等问题。

6. 故在从抓取位置去放置位置时,先移动到抓取位置,再基于该位置获取Jointtarget,让机器人只是先1轴旋转一定角度后,再去放置位置

jtmp:=CJointT(); !获取机器人抓取位置的JointTarget       jtmp2:=CJointT();       IF count>9 THEN           count:=count-9;           IF count>9 count:=count-9;       ENDIF       jtmp.robax.rax_1:=jtmp.robax.rax_1+count*36-10;       !将机器人的抓取位置1轴坐标计算,此后先只移动一轴       MoveAbsJ jtmpNoEOffs,v5000,fine,tVacuumWObj:=wobj0;       ! 先只移动一轴       MoveJ offs(pPlace{i},0,0,200),v5000,z10,tVacuumWObj:=wobj0;       !再移动到计算得到的放置位置


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则