With Kuka robots, it is unnecesary to specify all of the components of a point in space in order to move there. If X, Y, and/or Z are left out of a position, it will automatically assume I do not want to change those values, and if A, B, and/or C (similar to W, P, and R, and quite possibly identical to them) are not given then the robot will take on values that require the minimum amount of axis rotation:
PTP {X 50,Y 70,Z 600,A [some value],B [some value],C [some value]} ; PTP stands for Point To Point, and is essentially a Joint move
PTP {X -50}
For the above example, my final position would be (-50, 70, 600), with an unpredictable ABC orientation for my EOT.
Is there a similar mechanism in Fanuc robots? I want to be able to make my next position a function of my current position, to be able to say if I'm at X = 750, Y = 750, Z = 750, I want to do a joint move to (-750, -750, 750) (a simple negation of the X and Y componants of the EOT position). I don't need any particular orientation of the EOT as long as the position is reached.
Similarly, is there a way to construct a position during runtime? So far I've had to teach points or hardcode them into a .ls file, and then used
to move there. It would be great to be able to do something like this:
:J P[12] 100% FINE;
:P[12].X = (P[12].X + P[13].X) / 2;
:J P[12] 100% CNT100;
:J P[13] 100% CNT100;
but from my minimal experience with Fanuc I doubt it would be that simple in a TP program (though I'm certain it's possible, just not in the way I demonstrated above).
Thanks!