Skip to content

SetColliAutoTune 碰撞检测自学习

该指令用于开启并管理机器人碰撞检测(Collision Detection)参数的自学习与自动调节过程。由于机器人的实际机械摩擦、电缆负载和安装姿态各异,固定的碰撞阈值往往容易导致"误报警"或"检测过迟"。通过该指令,可以让机器人在实际运行中"学习"正常的力矩波动,从而生成一套最精准的保护参数。

指令格式

SetColliAutoTune(cmdType, method, level, colliId) SetColliAutoTune(碰撞检测参数自调整阶段, 检测方式, 灵敏度, 碰撞参数)


参数详细说明

参数类型说明默认值/备注
cmdType:碰撞检测参数自调整阶段enum该参数控制自调整功能的工作流程
* Start开始/重新开始。清空旧数据,开始记录当前轨迹的力矩波动。
* Pause暂停。暂时停止记录数据。
* Continue继续。在暂停后恢复记录。
* End结束。停止数据采样。
* Calculate计算生成。根据已采样的数据,结合 methodlevel 计算出最终的碰撞检测参数。
method:检测方式enum定义算法的严苛程度(仅在 Calculate 阶段有效)。
* Default / Default + / Default ++:从左往右,检测力度依次加强。
level:灵敏度enum定义对碰撞反应的敏感度(仅在 Calculate 阶段有效)。
* 级别从 Highest (最高)Lowest (最低)。灵敏度越高,机器人越容易因微小碰撞或外力而报错停机。
colliId:碰撞参数存储变量COLLIPARAM计算得出的优化参数将保存到此变量中,后续可通过相关指令调用。仅在 Calculate 阶段有效。

工作原理

碰撞检测自调整通常遵循 "空跑采样 -> 数据计算 -> 应用参数" 的逻辑。机器人会在设定的轨迹上空跑几圈,系统通过 StartEnd 记录电机电流和力矩曲线,最后通过 Calculate 拟合出一条紧贴实际工况的阈值线。


示例:完整的自调整流程

estun
// 1. 开始采样记录
SetColliAutoTune("Start", "Default", "Default", COLLI1)

// 2. 执行需要学习的典型运动轨迹(建议循环多次以获取稳定数据)
FOR (I = 1 TO 3) DO
    MovL(P1, 1000, 0, 1)
    MovL(P2, 1000, 0, 1)
ENDFOR

// 3. 采样结束并计算参数
SetColliAutoTune("End", "Default", "Default", COLLI1)
SetColliAutoTune("Calculate", "Default", "High", COLLI1)

// 4. 计算完成后,系统生成的 COLLI1 即可用于生产环境的碰撞保护

应用场景

  • 新线调试:由于每台机器人的机械特性有细微差异,通过自调整可以为每一台机器人定制最优的报警阈值。
  • 重负载作业:当机器人末端工具非常沉重且重心偏移时,手动设置阈值极难。自调整可以自动适应这种复杂的动力学负载。
  • 高精度防碰撞:在狭窄空间内作业时,需要极高的灵敏度(High/Highest),自调整能确保在不发生误报警的前提下,提供最灵敏的保护。

💡 总结建议

  • 在进行 Start 记录前,请确保机器人的负载参数(Load)已设置正确。
  • 计算(Calculate)完成后,务必进行轻微的人工碰撞测试,确认灵敏度等级(Level)是否符合现场安全需求。

ESTUN Robotics — ER 系列机器人编程语言指令参考