4. 轨迹规划基础:点到点运动(PTP)、直线插补(LIN)、圆弧插补(CIRC)
各位工程师朋友,大家好。今天我们来聊聊焊接机器人运动控制里最基础、也最核心的一块——轨迹规划。
说实话,我入行那会儿,第一次调试焊接机器人,就被“轨迹”这俩字给整懵了。明明示教器上按几个按钮,焊枪就能走,但为什么有时候焊缝漂亮,有时候却歪歪扭扭?后来我才明白,这背后就是轨迹规划在起作用。
轨迹规划,说白了就是告诉机器人“怎么走”。不是简单的从A到B,而是要考虑速度、加速度、路径形状,甚至焊接工艺的配合。今天我们就拆开揉碎了讲三种最基本的运动模式:点到点(PTP)、直线插补(LIN)、圆弧插补(CIRC)。
核心观点: 这三种运动模式,是焊接轨迹规划的“三原色”。所有复杂的焊缝路径,都是它们的组合。
4.1 点到点运动(PTP)—— 快,但别乱用
PTP,全称Point To Point。你想想看,它的逻辑很简单:我只关心起点和终点,中间怎么走?不关心。每个关节电机各自以最快速度转到目标角度。
特点:
- 速度最快:因为所有关节同时运动,没有路径约束。
- 路径不可预测:焊枪在空间里走的是一条曲线,具体形状取决于各关节的转速比。
- 适合空行程:比如从一个焊点快速移动到下一个焊点,中间不焊接。
⚠️ 我曾经犯过的错: 有一次,我图省事,用PTP让焊枪从焊缝起点移动到终点,结果焊枪在空中划了个大弧,差点撞到夹具。记住,焊接过程中绝对不能用PTP!它只适合非焊接的快速定位。
我个人习惯,在示教编程时,PTP只用于“接近点”和“离开点”的移动。比如:
MOVJ P[1] 100% CNT100 ; 快速移动到安全点P1
MOVJ P[2] 100% CNT100 ; 快速移动到焊缝起点上方
这里的MOVJ就是PTP运动。速度给100%,CNT100表示圆滑过渡,不精确停靠。
4.2 直线插补(LIN)—— 焊接的“基本功”
直线插补,就是让焊枪末端沿着一条空间直线运动。这是焊接中最常用的模式,尤其是平焊、横焊、立焊的直线段。
它是怎么实现的?
控制器会实时计算从起点到终点的直线路径,然后反解出每个关节在每个时刻的角度。说白了,就是让六个轴协同工作,保证末端走的是一条笔直的线。
关键参数:
| 参数 | 说明 | 我的建议 |
|---|---|---|
| 速度(Speed) | 焊枪末端线速度,单位mm/s | 根据板厚和焊接电流匹配,一般3-10mm/s |
| 加速度(Accel) | 加减速的平滑度 | 别设太大,否则起弧收弧会有抖动 |
| 精确停靠(Fine/CNT) | 是否精确到达目标点 | 焊缝拐角处用Fine,直线段用CNT |
💡 避坑指南: 我在项目中遇到过,有人把直线插补的速度设成1000mm/s,结果焊枪一启动,焊缝还没熔化,焊丝就飞出去了。嗯,这里要注意,焊接速度必须与送丝速度、焊接电流匹配,不是越快越好。
代码示例(发那科系统):
MOVL P[3] 500mm/s FINE ; 直线移动到焊缝起点P3,精确停靠
ARCON ; 起弧
MOVL P[4] 500mm/s CNT50 ; 直线焊接至P4,圆滑过渡
ARCOFF ; 收弧
4.3 圆弧插补(CIRC)—— 让焊缝“拐弯”更丝滑
圆弧插补,就是让焊枪沿着一段空间圆弧运动。焊接中常见于管板接头、弯头焊缝、或者需要圆角过渡的地方。
实现原理:
圆弧插补需要定义三个点:起点、中间点(辅助点)、终点。控制器通过这三个点拟合出一个圆弧,然后让焊枪末端沿着这个圆弧运动。
为什么会这样?因为空间里三个不共线的点,唯一确定一个圆。你想想看,如果只给起点和终点,那圆弧可以有无数种可能。
编程要点:
- 中间点不能与起点、终点共线,否则系统报错。
- 圆弧半径不能太小,否则焊枪姿态变化剧烈,影响熔池成型。
- 姿态控制要小心:圆弧运动时,焊枪的Z轴(焊丝方向)最好始终指向圆心,或者保持固定角度。
我的经验: 有一次焊接一个环形焊缝,我用CIRC指令,但焊枪姿态没调好,结果焊到一半,导电嘴碰到了工件。后来我学乖了,在圆弧插补前,先手动调整好焊枪的姿态,然后用“姿态直线”过渡到圆弧起点。
代码示例(库卡系统):
LIN P1 C_DIS ; 直线移动到圆弧起点P1
CIRC P2, P3 ; 以P2为中间点,圆弧插补到P3
LIN P4 ; 直线离开
4.4 三种运动的对比与选择
为了让你一目了然,我整理了一个对比表:
| 特性 | PTP | LIN | CIRC |
|---|---|---|---|
| 路径形状 | 不可控曲线 | 空间直线 | 空间圆弧 |
| 速度 | 最快 | 中等 | 中等(受半径影响) |
| 精度 | 低(末端路径不精确) | 高 | 高 |
| 适用场景 | 空行程、快速定位 | 直线焊缝、坡口焊接 | 圆弧焊缝、拐角过渡 |
| 是否可焊接 | ❌ 绝对不行 | ✅ 可以 | ✅ 可以 |
选择建议:
- 90%的直线焊缝,用LIN。
- 遇到圆弧、圆角、环形焊缝,用CIRC。
- 从一个焊缝到另一个焊缝的快速移动,用PTP。
4.5 知识体系总览
下面这张图,是我自己画的轨迹规划知识框架。你可以把它当作一个“地图”,以后遇到焊接轨迹问题,先看这张图,心里就有数了。
4.6 实际应用中的“组合拳”
在实际焊接中,很少只用一种运动模式。我举个例子,一个典型的“角焊缝”程序可能是这样的:
- PTP:快速移动到焊缝起点上方50mm的安全点。
- LIN:直线下降到焊缝起点,起弧。
- LIN:直线焊接100mm。
- CIRC:圆弧过渡到另一条边(比如圆角处)。
- LIN:继续直线焊接。
- LIN:直线抬枪,收弧。
- PTP:快速移动到下一个焊缝起点。
你看,这就是一个典型的“PTP + LIN + CIRC”组合。你想想看,如果不懂每种模式的特性,写出来的程序要么效率低,要么焊缝质量差。
💡 最后一个小技巧: 我个人习惯,在调试新程序时,先用PTP把整个路径空跑一遍,确认没有碰撞风险。然后再把焊接段改成LIN或CIRC,加上焊接参数。这样既安全又高效。