Axis configuration for MoveJ Offs()

Saibel
✭
Hi!
I just wonder about how an ABB robot calculates axis configuration for MoveJ commands
with Offs function inside.
For example, I have following robtarget:
CONST robtarget pMag1Fri:=[[-405.900008835915,362.670528535483,392.751064691134],[1.00858694938012E-08,0.707106787726542,-0.707106774646553,-5.67843166063653E-10],[-1,0,-2,1],[9E9,9E9,9E9,9E9,9E9,9E9]];
It's configuration is [-1,0,-2,1].
I set ConfJOn;
Then first I move robot by following command:
MoveJ pMag1Fri,v200,fine,tGrip1WObj:=woMag1;
After that I move the robot using Offs() from the same robtarget:
MoveJ Offs(pMag1Fri,0,-2000,100),v200,fine,tGrip1WObj:=woMag1;
Robot goes there without problems and it's axis configuration in that point is [-2,-1,-1,1].
The only information the robot had is the first configuration [-1,0,-2,1], how did it decide to take another one? A lot of another configurations was possible as well so why the robot selected the [-2,-1,-1,1] but not another one?
Best regards,
Sergej Saibel
Sergej Saibel
0
Comments
-
Hi SergeyMoveJ will typically use the least amount of Axis rotation to get the TCP to the target.With a 2000mm offset value in the Y direction the configuration for would have to change from the origional or you would see a config error on execution.You get a similar behaviour with the RelRool function as well... it seems that it chooses the least amount of axis rotation to achieve the motion when offsets or reltool are used.You can influence ths config with more robtargets along the path so none of the axis are rotated more than 90 degrees from target to target.Kind regardssturner2009-03-09 23:42:090
-
Hi!
Thank you very much for your answer, it was very important to know for me!Best regards,
Sergej Saibel0 -
Hello,I was also wondering how it works. Knowing it would take the easy way to get to a point is ok but there are some other behaviors I cannot explain.For example, you can teach a robtarget in a Workobject.Axis 1 is about -45 degres and in Quadran -1.MoveJ P1, V100, Z0, Gripper1 Wobj:=Plate;Then you redefine the workobject on the other side of axe X of the robot and you end up with Axis 1 at 45 degres and in Quadran 0.The move works perfectly but why? The robtarget never changed, only the Workobject did, how come I don't get a Config Error? ConfJ and ConfL are by default to ON.It seems to me that RelTool, OFFs and workobjects Disable the check on the ConfData when we use them.I have seen other times when I would get the Conf Error but only on very large moves.any thoughts?JetJet,
Janin Delorme, Ing. (P.Eng)0 -
Hi,it feels a little bit unsafe for me, I prefer to KNOW and BE SURE about robots movements.Of course it's convenient to don't think about configurations and just use Offs() and RelTool().I hope only that robots behavior will not be changed in the next RW version.Best regards,
Sergej Saibel0
Categories
- All Categories
- 5.6K RobotStudio
- 399 UpFeed
- 20 Tutorials
- 14 RobotApps
- 301 PowerPacs
- 406 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 339 IRC5
- 67 OmniCore
- 8 RCS (Realistic Controller Simulation)
- 832 RAPID Programming
- 14 AppStudio
- 4 RobotStudio AR Viewer
- 19 Wizard Easy Programming
- 107 Collaborative Robots
- 5 Job listings