中国机器人网 App
手机扫码下载 · 或点击查看
刚上手KUKA不到仨月,项目上跑KRC4的KR16做搬运,程序里挂了个碰撞检测,到点了能停,但我想让它检测到碰撞之后自动退回去一段距离然后接着干,不想每次都手动复位。有没有兄弟做过类似的?是要自己写个中断监测$STOPMESS然后规划回退轨迹吗?有没有现成的包或者标准做法能参考一下?
这个在KUKA叫CollisionDetection,直接配WorkVisual里的$COLLMON_ALARM和$STOPMESS用就行。要做自动恢复的话,自己写个SUB程序监听$STOPMESS,一旦被置位触发碰撞就跳进去,先把$COLLMON_ACTIVE临时关掉(不然一动它又报警),然后用LIN或者PTP往反方向退个20到50mm,停了之后再打开监控继续跑。我们这边抓料节拍快的时候是这么干的,每秒七八次的频率测过没问题。注意$COLLMON_TOL和$COLLMON_TOL_ROT这两个值要根据负载调,不然灵敏度乱跳。
你这需求如果负载经常变,每次标定碰撞阈值会烦死。我们厂KR60拧螺丝那台直接没走KUKA原生的监控,外挂了一个力矩传感器配上EtherCAT从站读取,碰撞阈值按当前电流的1.3倍动态算,比系统自带的灵活多了,退回原位走一段原路径逆序就行。你那搬运负载稳不稳?稳的话原生方案够用。
回退之前先确认机械臂当前位置是不是已经偏了,万一是真撞变形了它还按原轨迹回那不就二次撞击了吗?建议在退回去之前先读一下$AXIS_ACT_MEAS和目标位的偏差,超过5mm就别自动恢复了直接报警让人来处理。
你KRC4系统版本是8.3还是8.5?8.5之后好像多了个$COLLMON_STOP_MODE能配停止策略,老版本得自己写中断处理。