Automatically recover from joint out of range?
Zack
✭
in RobotStudio
Dear All
I have a question. In RS simulation, is there any way to
automatically handle and recover the err of joint out of range with either
Rapid or RS API. We need to run our simulation smoothly without any human
interference like manually jogging.
Zack
I have a question. In RS simulation, is there any way to
automatically handle and recover the err of joint out of range with either
Rapid or RS API. We need to run our simulation smoothly without any human
interference like manually jogging.
I program a trap function to monitor joints angle and set
limits for them. If a joint is out of range, I use StopMove/quick function to
stop robot, then use MoveAbsJ to turn the problematic joint away from limit. But simulated robot still keep going when reach limit.
Can you help me with this problem.
Thanks
Zack
0
Comments
-
I had that exact problem, with a go home routine
Here is what i did in pseudo code
Point:=crobt(\tool:=tool0\wobj=wobj0);
Point.trans.z:=Point.trans.z+TooHigh;
TmpJoint;=CalcJoint(Point,tool0\wobj=wobj0);
Movej Point,V1000,z100,ool0\wobj=wobj0;
ERRORIF ERRNO=ERR_ROBLIMIT THEN!stop;Point.trans.z:=Point.trans.z-10;RETRY;ELSEIF ERRNO=ERR_OUTSIDE_REACH THEN!stop;Point.trans.z:=Point.trans.z-10;RETRY;
endif
So basically.
I test if the robot can reach the point, by calculating the abs angles.
If that fails, i catch the error, and try again, just a little lower.
Of course is should limit how far down, and where this can be done and so on and so forth
0 -
I use following function to check if robtarget is reachableFUNC bool IsReachable(robtarget pReach, PERS tooldata ToolReach, PERS wobjdata WobjReach)! Check if specified robtarget can be reach with given tool and wobj.!! Output:! Return TRUE if given robtarget is reachable with given tool and wobj! otherwise return FALSE!! Parameters:! pReach - robtarget to be checked, if robot can reach this robtarget! ToolReach - tooldata to be used for possible movement! WobjReach - wobjdata to be used for possible movementVAR bool bReachable;VAR jointtarget jntReach;bReachable := TRUE;jntReach := CalcJointT(pReach, ToolReach\Wobj:=WobjReach);RETURN bReachable;ERRORIF ERRNO = ERR_ROBLIMIT THENbReachable := FALSE;TRYNEXT;ENDIFENDFUNC0
Categories
- All Categories
- 5.5K RobotStudio
- 395 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 310 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 785 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings