4. ABB机器人工作站有效载荷与重心参数设置

ABB机器人工作站有效载荷与重心参数设置 学习卡片

负载参数为什么必须设置

机器人本体只知道自己各轴的角度和电机电流,它并不知道法兰盘上装了什么。如果负载参数与实际不符,控制器计算出的动力学模型就会偏离真实情况,导致两类问题:一是运动过程中出现抖动、过冲或轨迹偏差,二是电机长期过载或负载不足时动态响应变差。RobotStudio 中的 loaddata 就是用来告诉控制器"末端装了什么、有多重、重心在哪"的数据结构。

一个完整的 loaddata 包含四个核心字段:

字段含义单位
mass工具与工件的总质量kg
cog重心在工具坐标系中的位置 [x, y, z]mm
aom重心处惯性矩 [ix, iy, iz]kg·m²
ix, iy, iz惯性矩分量(部分版本合并到 aom)kg·m²

对于大多数焊接、搬运工作站,aom 可以先用默认值或估算值,但 mass 和 cog 必须尽量准确,因为它们直接影响重力补偿和电机电流的计算。

在 RobotStudio 中创建并绑定 loaddata

操作路径:Controller 选项卡 → Configuration → Types → loaddata,新建一个数据类型实例,例如命名为 load_gun。填写质量与重心后,还需要在 Motion → Tool 中把该 loaddata 绑定到对应的工具(tooldata)上,否则机器人运动时不会使用这组负载参数。

下面是一段典型的 RAPID 声明,用于在程序中直接定义并激活负载:

MODULE LoadDemo
  PERS loaddata load_gun := [12.5, [0, 0, 180], [1, 0, 0, 0], 0.15, 0.12, 0.08];

  PROC main()
    ! 将负载绑定到当前工具
    SetLoad \Tool:=tWeldGun, load_gun;
    ! 后续运动将按 12.5kg、重心在 Z=180mm 计算
    MoveJ pHome, v500, fine, tWeldGun;
    MoveL pWeld1, v200, z10, tWeldGun;
  ENDPROC
ENDMODULE

其中 [12.5, [0,0,180], [1,0,0,0], 0.15, 0.12, 0.08] 依次表示:质量 12.5 kg、重心在工具坐标系 (0, 0, 180) mm、四元数姿态 [1,0,0,0](无旋转)、以及三个方向的惯性矩。

不同负载参数下的运动与电流观察

为了直观理解负载参数的影响,可以在 RobotStudio 中做一组对照实验:同一段运动轨迹,分别用三组负载参数运行,观察仿真中的电机电流曲线和运动平稳性。

  • 参数偏小(如实际 12.5 kg 却填 5 kg):重力补偿不足,机器人"以为"很轻,加速时电流峰值偏低但末端可能出现下坠或轨迹偏差。
  • 参数准确(12.5 kg,重心 Z=180 mm):电流曲线平滑,加减速段电流变化与理论值接近,运动无异常抖动。
  • 参数偏大(如填 25 kg):控制器过度补偿,电机在静止保持时电流偏高,长时间运行可能触发过载警告。
在 RobotStudio 的 Simulation → Signal Analyzer 或 Motion Monitor 中可以记录各轴电机电流。建议先跑一遍空载(不设 loaddata)作为基准,再依次切换三组参数对比。
loaddata 参数设置与电机电流响应关系 末端工具与负载 法兰盘 焊枪 重心 COG mass = 12.5 kg cog = [0, 0, 180] mm loaddata 结构 mass : 12.5 kg cog : [0, 0, 180] mm aom : [0.15, 0.12, 0.08] 姿态四元数 : [1,0,0,0] 控制器动力学计算 重力补偿力矩 τ_g τ_g = m·g·r_cog 惯性力矩 τ_a τ_a = I·α + m·a·r 电机电流指令 I_ref I_ref ∝ τ_total / K_t 三组负载参数下的电机电流响应对比(示例) 参数设置 运动表现 电机电流特征 判断 mass=5kg(偏小) 末端下坠、轨迹偏差 加速段电流偏低 ✗ 不准确 mass=12.5kg(准确) 运动平滑、无抖动 电流曲线与理论吻合 ✓ 推荐 mass=25kg(偏大) 保持时电流偏高 静止保持电流偏大 △ 过载风险

验证与调整方法

设置完成后,不要只看一次运动就下结论。建议按以下顺序验证:

  1. 在 RobotStudio 中运行一段包含 MoveJ 和 MoveL 的测试轨迹,速度设为中速(如 v200~v500)。
  2. 打开 Motion Monitor,记录各轴电机电流曲线,重点关注加速段和减速段的峰值。
  3. 将 mass 分别设为实际值的 0.5 倍、1 倍、2 倍,重复运行,对比电流峰值变化。
  4. 如果 1 倍参数下电流曲线最平滑、峰值最低且无异常抖动,说明负载参数基本准确。
  5. 若实际工况中工件质量会变化(如抓取不同零件),应使用 SetLoad 在程序中动态切换 loaddata,而不是只设一组固定值。
不要为了"让电流看起来小"而故意把 mass 设小。控制器会按偏小的负载计算重力补偿,实际电机需要输出更大电流来维持位置,长期运行反而更容易过热。负载参数的目标是"准确",不是"越小越好"。

常见问题与排查

  • 设置了 loaddata 但电流无变化:检查是否在 tooldata 中绑定了该负载,或是否在程序中调用了 SetLoad。仅创建 loaddata 实例不会自动生效。
  • 重心方向填反:cog 的 Z 值通常为工具长度方向。如果焊枪朝下安装,重心 Z 可能为负值,需根据实际工具坐标系方向确认。
  • 惯性矩不确定:对于形状规则的焊枪或夹具,可以用简化公式估算;若无法估算,可先保留默认值,优先保证 mass 和 cog 准确。