4. 碰撞对与碰撞组设置实战

在ROBOGUIDE中,碰撞检测并不是“打开开关就自动生效”的功能。它依赖一套明确的配对关系:哪些对象之间需要检测、哪些对象之间必须忽略、哪些对象属于同一运动整体。如果碰撞对设置不当,会出现两类典型问题——漏检(危险碰撞未被发现)和误报(相邻但不接触的对象频繁报警)。本节以一个焊接工作单元为例,完整走一遍碰撞对与碰撞组的定义过程。

一、先理清对象清单与运动归属

假设该工作单元包含以下对象:机器人本体(Robot)、焊枪工具(Torch,挂载在机器人J6法兰)、焊接工件(Workpiece,固定在变位机上)、夹具(Fixture,压紧工件)、变位机(Positioner,带动工件翻转)、安全围栏(Fence,固定不动)、控制柜(Cabinet,固定不动)。

碰撞检测的第一原则是:同一运动链上的相邻对象不应互相检测。焊枪与机器人法兰是刚性连接,二者永远保持固定相对位置,若把它们设为碰撞对,系统会持续报警。因此需要先按“运动归属”分组:

  • 运动组A:机器人本体 + 焊枪工具(随机器人运动)
  • 运动组B:变位机 + 工件 + 夹具(随变位机运动)
  • 静态组C:安全围栏 + 控制柜(固定不动)

分组的意义在于:组内对象之间通常设为忽略,组与组之间才建立碰撞对。这就是“碰撞组”的核心作用——用组来批量管理忽略规则,而不是逐个对象手工排除。

焊接工作单元碰撞组划分与碰撞对关系 碰撞组 A:机器人运动链 机器人本体 Robot 焊枪工具 Torch 组内:忽略(刚性连接) 碰撞组 B:变位机运动链 变位机 Positioner 工件 + 夹具 组内:忽略(夹紧固定) 碰撞组 C:静态环境 安全围栏 Fence 控制柜 Cabinet 组内:忽略(均静止) 检测 检测 A ↔ C 检测(机器人/焊枪 对 围栏/控制柜) B ↔ C 检测(变位机/工件 对 围栏) 忽略规则(Ignore Pair) Robot↔Torch、Positioner↔Workpiece↔Fixture、Fence↔Cabinet 均设为忽略,避免刚性连接误报

二、在ROBOGUIDE中建立碰撞组

打开 Collision Detection 面板后,先创建碰撞组。操作路径为:Collision Setup → Collision Groups → Add Group。按上面的划分建立三个组,命名建议使用可读性强的英文或拼音,例如 GRP_Robot、GRP_Positioner、GRP_Static。

建组时有一个容易忽略的细节:组内对象默认不互相检测,但组与组之间是否检测仍需显式指定。ROBOGUIDE不会自动推断“机器人应该和围栏检测”,必须手工建立碰撞对。因此建组之后,进入 Collision Pairs 页面,逐对添加需要检测的组合。

三、碰撞对的建立与忽略规则配置

碰撞对是检测的最小单位。对本工作单元,需要建立的碰撞对包括:

碰撞对对象A对象B检测目的
Pair-01RobotFence防止机器人本体撞围栏
Pair-02TorchFence防止焊枪撞围栏
Pair-03TorchWorkpiece焊接接近检测(可设小间隙阈值)
Pair-04TorchFixture防止焊枪撞夹具
Pair-05RobotPositioner防止机器人撞变位机
Pair-06PositionerFence防止变位机翻转撞围栏

其中 Pair-03 需要特别处理。焊接时焊枪必须接近工件,若按默认零间隙检测,焊枪一靠近就报警。正确做法是在该碰撞对的属性中设置安全距离(Clearance),例如设为 2 mm,表示焊枪与工件表面距离小于 2 mm 时才判定为碰撞。这样既不会漏掉真实碰撞,也不会因正常焊接接近而误报。

安全距离的取值应参考焊枪喷嘴直径、焊接姿态和工件表面粗糙度。示例中 2 mm 属于合理假设值,实际项目需根据焊枪型号和工艺要求调整,通常取 1~5 mm。

四、忽略规则的三种典型场景

忽略规则不是“偷懒”,而是对物理关系的正确描述。本单元涉及三类忽略:

  1. 刚性连接忽略:Robot↔Torch、Positioner↔Workpiece、Workpiece↔Fixture。这些对象之间没有相对运动,检测它们只会产生恒定报警。
  2. 静态共面忽略:Fence↔Cabinet。两者都固定在地面,若安装位置靠近,可能因建模公差被判定为干涉,应忽略。
  3. 工艺允许接触忽略:若夹具压紧工件属于设计接触,则 Fixture↔Workpiece 必须忽略,否则每次夹紧都会报警。

在ROBOGUIDE中,忽略规则可以在碰撞组级别设置(组内忽略),也可以在碰撞对级别单独设置(Pair Properties → Ignore)。建议优先用组内忽略,减少重复配置;只有个别特殊对才用对级忽略。

五、初始化后的验证与判断

配置完成后,不要直接跑完整焊接程序。先用单步手动示教方式验证:将机器人移动到几个关键位置——靠近围栏的极限位、焊枪接近工件的起弧点、变位机翻转 90° 的位置。观察碰撞检测面板的状态指示:

  • 若在起弧点附近出现 Torch↔Workpiece 报警,说明安全距离设得过大或未设置,应检查 Pair-03 的 Clearance 值。
  • 若机器人正常运动却频繁报警 Robot↔Torch,说明组内忽略未生效,应检查 GRP_Robot 是否包含这两个对象。
  • 若变位机翻转时未报警但实际已接近围栏,说明 Pair-06 未建立或围栏模型尺寸偏小,应复核碰撞对清单。

验证通过后,再运行完整焊接轨迹。此时碰撞检测应只在真实危险位置触发,正常焊接过程保持静默。最后建议导出一份碰撞配置清单,记录每个碰撞对的对象、阈值和忽略状态,作为后续修改和复盘的依据。

初始化完成的核心判断标准:正常焊接轨迹全程无碰撞报警;手动将机器人移向围栏或夹具时能立即触发报警;焊枪接近工件起弧点不误报。三者同时满足,才说明碰撞对与碰撞组配置正确。