Collision error handler
Dzmitry
✭
Hi
I have the robot IRB 8700, IRC5 controller, RobotWare 6.12.00.00.
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:
ERROR
__IF ERRNO=ERR_COLL_STOP THEN
____StorePath;
____MoveL p1,v200,z10,tool\WObj:=wobj;
____ALARM(100); (my own program to raise an error by code)
____RestoPath;
____StartMove;
__ENDIF
RETRY;
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?
I have the robot IRB 8700, IRC5 controller, RobotWare 6.12.00.00.
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:
ERROR
__IF ERRNO=ERR_COLL_STOP THEN
____StorePath;
____MoveL p1,v200,z10,tool\WObj:=wobj;
____ALARM(100); (my own program to raise an error by code)
____RestoPath;
____StartMove;
__ENDIF
RETRY;
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?
0
Best 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.Lee Justice0
Answers
-
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:EOffsOff;MoveL point,v100,z10,tool\WObj:=wobj;
Collision_moment:
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;EOffsOff;StopMove;ClearPath;StopMoveReset;ENDPROC
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.0 -
Problem solved0
-
How did you fix it?0
-
graemepaulin said:How did you fix it?0
-
i had something similar, that i fixed by using softmove on the external axis. Then i used a background task to see, it the axis kept moving (could also be done by using a while loop, moving the axis 5 mm then stopping when it doesnt move anymore).
0
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 316 IRC5
- 61 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 798 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings