返回主站|会员中心|保存桌面

ABB机器人配件服务中心    

ABB机器人配件|机器人配件

联系方式
  • 联系人:方经理
  • 电话:13073017555
  • 邮件:gzws26@126.com
新闻分类
首页 > 新闻中心 > 如何通过 ABB 机器人自身法兰 Rz 轴旋转来控制夹爪旋转角度?
新闻中心
如何通过 ABB 机器人自身法兰 Rz 轴旋转来控制夹爪旋转角度?
发布时间:2026-10-11        浏览次数:2        返回列表

核心概念:不是额外增加旋转气缸 / 电动旋转夹爪,直接用机器人 6 轴带动法兰旋转;夹爪固定在法兰上,夹爪连同工件一起绕 TCP 的 Z 轴旋转。 两种编程方式:

  1. RelTool:在当前点位,绕工具 Z 轴相对旋转指定角度

  2. MoveAbsJ:直接修改 6 轴关节角度,固定旋转法兰

注意:这个方案是姿态旋转,TCP 的 XYZ 坐标保持不动,夹爪尖点位置不变,只旋转姿态。适合取放、摆盘,工件原地旋转。

一、前提准备

  1. 标定夹爪 tooldata(TCP+Z,X 六点标定)只四点标定 TCP 不行!必须【TCP & Z,X】六点标定,定义夹爪工具坐标系的 X/Z 方向,否则RelTool \Rz旋转方向错乱。

    • 工具坐标系 Z 轴:夹爪开合方向(夹爪中心轴线)

    • 工具坐标系 X 轴:夹爪旋转的 0° 参考边

  2. 工具负载填写正确(mass、重心),否则高速旋转时报负载报警。

  3. 确认运动空间:6 轴旋转时,末端电缆、气管不能拉扯缠绕!

 最大限制:6 轴是机械限位,一般 ±360°,不能无限连续旋转,电缆会扭断。

二、两种实现方案

方案 1:RelTool(推荐!原地绕 TCP Z 轴旋转,TCP 位置不动)

RelTool(原始点位, dx, dy, dz \Rz:=角度),\Rz单位度,正数逆时针、负数顺时针。

逻辑:读取当前 robtarget,生成一个同 XYZ 位置、仅工具 Z 轴旋转的新目标点。

完整 RAPID 示例(IO 触发旋转,原地旋转 90°)

MODULE GripperRotateByFlange
   !工具数据,提前六点标定好夹爪
   PERS tooldata tGripper:=[TRUE,[[0,0,150],[1,0,0,0]],[2,[0,0,80],[1,0,0,0],0,0,0]];
   PERS wobjdata wobj0:=[FALSE,TRUE,"",[[0,0,0],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
   
   VAR robtarget pCurr;
   VAR num RotAngle;

   !DI触发:DI1=外部启动旋转信号
   PROC RotGripByToolRz(num angle)
       !读取当前机器人点位
       pCurr:=CRobT(\Tool:=tGripper\WObj:=wobj0);
       !生成新目标:XYZ不变,仅工具Z轴旋转angle度
       pCurr:=RelTool(pCurr,0,0,0 \Rz:=angle);
       !线性运动,原地旋转;fine点保证姿态到位
       MoveL pCurr, v200, fine, tGripper\WObj:=wobj0;
       !旋转完成输出DO信号
       SetDO doRotFinish,TRUE;
       WaitTime 0.1;
       SetDO doRotFinish,FALSE;
   ENDPROC

   !调用示例:原地旋转90度
   PROC Rot90()
       RotGripByToolRz(90);
   ENDPROC

   !调用示例:原地旋转-90度(反向)
   PROC RotNeg90()
       RotGripByToolRz(-90);
   ENDPROC
ENDMODULE

调用:RotGripByToolRz(45); → TCP 不动,夹爪原地旋转 45°。

方案 2:MoveAbsJ 直接修改 6 轴关节

直接操作 jointtarget 的第六轴 jpos.ax6,适合固定站位旋转;缺点:TCP 位置会偏移,不适合任意点位原地旋转。

VAR jointtarget jHome;
jHome:=CJointT();
jHome.ax6:=jHome.ax6 + 90; !6轴增加90度
MoveAbsJ jHome, v200, fine, tGripper;

三、IO 联动逻辑

这里 IO 不再用来下发角度编码,IO 只做握手触发:

  • DI [1]:外部 PLC 下发【开始旋转】触发信号

  • DO [1]:旋转完成反馈

  • DI [2]:夹爪夹紧到位(必须夹紧后,才允许旋转!防止工件甩出)

!带前置安全判断的主程序
PROC RotTask()
   !安全条件:夹爪夹紧到位,无报警
   WaitDI diGripClamp,TRUE;
   !等待外部触发
   WaitDI diStartRot,TRUE;
   !原地旋转90°
   RotGripByToolRz(90);
ENDPROC

四、高频故障 & 注意事项

1. 旋转方向反了 / 角度不对

  • 原因:工具坐标系没有做 TCP&Z,X 六点标定,只四点标定;工具 X 轴定义反了。

  • 排查:手动【重定位】模式,选中工具坐标系,拨动 6 轴,观察工具 X 轴方向是否符合预期。

2. RelTool 旋转时,TCP 位置跑掉(XYZ 偏移)

  • 原因:RelTool 是工具坐标系下旋转,程序里 MoveL 使用了错误的 tooldata!

RelTool 生成目标点时的工具,必须和 MoveL 的工具完全一致。

3. 旋转时机器人突然反转,走最短路径

ABB 姿态旋转默认走最小角度路径:比如当前 0°,目标 270°,机器人会反向转 - 90°,而不是正向 270°,容易扭断气管电缆。 ✅解决办法:

  1. 尽量控制单次旋转角度≤±180°

  2. 长角度拆分多次小角度旋转,不要一次性写 270°

  3. 必要时改用MoveAbsJ关节运动强制旋转方向(代价:TCP 偏移)

4. 6 轴机械限位、电缆扭绞

  • 法兰自带气管、EE 手爪线缆,禁止连续多圈旋转,超过 ±360° 会扭断。

  • 工艺上每次旋转完成后,程序复位回 0° 基准姿态,避免累积角度。

5. 奇异点报错(Wrist Singularity)

当轴 4、轴 5 接近共线(手腕奇异点),MoveL姿态旋转会报警,机器人剧烈抖动。 ✅解决:

  • 尽量避开奇异点位进行姿态旋转;

  • 代码增加 SingArea \Wrist; 允许手腕微调。

6. 旋转过程工件晃动、精度差

  • 负载参数填写错误;

  • 速度 v 取值过大,姿态旋转建议低速 v50~v200;

  • zone 使用 fine,必须姿态到位,不能用 zone 圆弧过渡。

7. 和电动旋转夹爪(IO 编码方案)对比

表格

项目法兰 Rz 旋转(机器人 6 轴)电动旋转夹爪 IO 编码
角度任意角度,连续可调只能预设档位
TCP 位置原地旋转,TCP 不动原地旋转 TCP 不动
工件工件跟着法兰一起转工件相对于法兰旋转
限制6 轴限位、电缆不能多圈扭转无电缆扭转,独立伺服
成本零额外硬件成本夹爪伺服驱动器成本
精度机器人本体重复精度夹爪伺服精度

五、调试步骤

  1. 示教器:工具坐标系,切换到【工具】手动操纵,重定位模式,拨动 6 轴,确认旋转方向是否符合预期。

  2. 单步运行 RAPID,pCurr:=CRobT()打印当前点位,确认 XYZ 不变,仅姿态变化。

  3. 低速试运行,观察气管 / EE 线缆有没有拉扯。

  4. 接入外部 IO 握手,增加安全联锁:夹爪未夹紧禁止旋转。

收缩
  • QQ咨询

  • 电话咨询

  • 13073017555
  • 添加微信客服