RobotStudio event

Collision error handler


I have the robot IRB 8700, IRC5 controller, RobotWare
Robot have a grip which movent is a 7th axis of the robot.
I'm trying to confugire Error Handler in that way that when the 7th axis have a collision (for example pressing too much when taking the piece) robot have to open the grip and stop with an error.

Now it's look like this:
____MoveL p1,v200,z10,tool\WObj:=wobj;
____ALARM(100); (my own program to raise an error by code)

Testing this I was succeed when collision happend on the robot's axes, but when collision appears at 7th axis it's not working and robot stops at an error 50056: Joint collision.

Where is my mistake?

Best Answer

  • lemster68
    lemster68 ✭✭✭
    Answer ✓
    Collision detection works for only the six robot axes and certain positioners.  Try anyway to add that error number to your error handler to see if you can trap it.


  • I failed to try to make it by Error Handler, but now I'm trying another thing.

    The moment when I want to control the collision looks like this:
         MoveL point,v100,z10,tool\WObj:=wobj;
         Reset flagCollision;
         EOffsSet [-500,0,0,0,0,0];
         MoveL point,v100,fine,tool\WObj:=wobj;
         IF flagCollision GOTO Collision_moment;

    I made an event routine for the "Stop" event, it runs when I have a collision.
        PROC event_stop()
            Set flagCollision;

    I thought that if after that I will press play the robot have to start to move to the point without offset => robot will open the grip. But I have a strange situation: program is running, speed is 100%, no errors, program pointer at the MoveL line, but robot don't move.
  • Problem solved
  • How did you fix it?
  • How did you fix it?
    I've configure a system input for interruption and connect this input with programmable button. Now when collision happens the operator have to switch motors on and press the button. After that robot will open the grip and go out.