讨论

ABB画螺旋线咋搞 半径一直在变

日进斗金
日进斗金
2026/05/25 17:56

项目上要ABB机器人走个螺旋线轨迹,焊那种锥形工件用的,从上往下半径慢慢变大那种。程序里我用的MoveC套MoveC那种写法,但跑出来轨迹有点飘,半径方向误差差不多有0.5个毫米,焊出来纹路对不上。有没有兄弟干过这活,是用offs指令算点位还是直接走个圆周加Z轴同步下降比较好?求个靠谱的写法,最好能直接给段RAPID看看。

补充下,机器人是IRB1200,配套的OmniCore控制器,工件高度大概80mm,螺旋展开半径从10mm到40mm,转4圈。

12 3

全部回复 (3)

aa666953
aa666953#1

误差0.5mm不算小了,你这MoveC嵌套的方法点位是离散的,肯定有累积误差。建议直接用sin和cos函数算点位,然后for循环i从0到N,比如N=720(每圈180个点),每一步同时更新半径r = r0 + (r1-r0)*i/N,Z = z0 - h*i/N。这样出来的轨迹连续性好,误差能控制在0.1mm以内。我之前给一家做热交换器焊缝的厂子干过类似的,他们要求±0.15mm,就这么写的,程序给你参考下:

FOR i FROM 0 TO 720 DO
r := 10 + 30*i/720;
z := 100 - 80*i/720;
MoveJ Offs(p10,r*Cos(i*2*Pi/180),r*Sin(i*2*Pi/180),z),v500,z1,tool1;
ENDFOR

点位p10选在螺旋中心轴线上就行,记得用MoveJ别用MoveL,速度500够了,再快振动大影响精度。

2026/05/26 01:10
凯姐
凯姐#2

直接抛个数据,我手头有个项目是IRB2600画的,螺旋半径从15到55,转6圈,走下来重复定位误差实测0.08mm,用的就是offs加循环点位的写法,没那么玄乎。关键一点是z1和tool1的TCP一定要校准准了,你这0.5mm大概率是TCP问题,不是轨迹算法问题。

2026/05/26 05:45
招财进宝
招财进宝#3

冒昧问一句,你这焊缝是连续焊还是点焊?连续焊的话0.5mm误差确实能看出来,点焊的话这精度够用了。还有工件是什么材质,碳钢还是不锈钢?不同材质对摆动幅度要求不一样,可能你工艺参数没匹配好。

2026/05/27 03:42