Appearance
SetColliAutoTune 碰撞检测自学习
该指令用于开启并管理机器人碰撞检测(Collision Detection)参数的自学习与自动调节过程。由于机器人的实际机械摩擦、电缆负载和安装姿态各异,固定的碰撞阈值往往容易导致"误报警"或"检测过迟"。通过该指令,可以让机器人在实际运行中"学习"正常的力矩波动,从而生成一套最精准的保护参数。
指令格式
SetColliAutoTune(cmdType, method, level, colliId) SetColliAutoTune(碰撞检测参数自调整阶段, 检测方式, 灵敏度, 碰撞参数)
参数详细说明
| 参数 | 类型 | 说明 | 默认值/备注 |
|---|---|---|---|
| cmdType:碰撞检测参数自调整阶段 | enum | 该参数控制自调整功能的工作流程。 * Start:开始/重新开始。清空旧数据,开始记录当前轨迹的力矩波动。 * Pause:暂停。暂时停止记录数据。 * Continue:继续。在暂停后恢复记录。 * End:结束。停止数据采样。 * Calculate:计算生成。根据已采样的数据,结合 method 和 level 计算出最终的碰撞检测参数。 | |
| method:检测方式 | enum | 定义算法的严苛程度(仅在 Calculate 阶段有效)。* Default / Default + / Default ++:从左往右,检测力度依次加强。 | |
| level:灵敏度 | enum | 定义对碰撞反应的敏感度(仅在 Calculate 阶段有效)。* 级别从 Highest (最高) 到 Lowest (最低)。灵敏度越高,机器人越容易因微小碰撞或外力而报错停机。 | |
| colliId:碰撞参数存储变量 | COLLIPARAM | 计算得出的优化参数将保存到此变量中,后续可通过相关指令调用。 | 仅在 Calculate 阶段有效。 |
工作原理
碰撞检测自调整通常遵循 "空跑采样 -> 数据计算 -> 应用参数" 的逻辑。机器人会在设定的轨迹上空跑几圈,系统通过 Start 到 End 记录电机电流和力矩曲线,最后通过 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)是否符合现场安全需求。