Dear Community,
I have a question regarding the way Fanuc robots perform positioning of a tool. I am using an LRMate200iC with a R-30 Mate controller, but I guess this will be the same for all Fanuc robots.
In World (or base) coordinate system, the pose of the currently selected tool is reported as X Y Z W P R.
This means that the current tool's pose is reached by (/understood as):
0) Start by assuming the tool's coordinate system (frame or pose) is overlapping with that of the robot base = world coordinate system. This means that the tool pose is x=0, y=0, z=0, w=0, p=0, r=0 so that the tool's coordinate system's x axis corresponds to that of the robot base and the same is true for the y and z axes (respectively). Of course, the tool would be inside the robot, so this is only a starting point to consider in your mind / theoretically. Now to reach our X Y Z W P R,
1) Rotate the tool's coordinate system compared to the base (=world) coordinate system using angles W P and R
2) Translate the tool's coordinate system ( ! after the rotation performed in 1) ! ) by X Y Z.
My questions are:
The rotation of 1) :
- is Fanuc using intrinsic (after rotating around the first axis, following rotations are always performed around the new -or rotated- axes of the tool's coordinate system) or extrinsic (all rotations around all axes are performed around the original - static - coorinate system's axes) rotations ?
(See this for rotation details: https://en.wikipedia.org/wiki/Euler_angles )
- I believe the order of rotation used by Fanuc is W , P , R = Yaw , Pitch , Roll = first rotate around the x axis by W degrees, then around the y axis by P degrees and finally rotate around the z axis by R degrees.
Is this right? (note: the above question is now important to decide which x, y and z axes are used....).
I found some comments on this in the sources below, but a full and clear description would be very helpful.
https://www.robot-forum.com/robotforum/fan…-forum/xyz-wpr/
https://www.robot-forum.com/robotforum/fan…me-orientation/
Thank you for comments / clarifications!
P.S.: does anyone have / know some code to help me define the pose commands in order to achieve tool positioning to x1,y1,z1, alpha, beta, gamma on a point (on a surface) in front of the robot, such that alpha, beta, gamma are the final geometrical angles to the local surface normal (consider the coordinate system in that point as having parallel axes to the robot base= world coordinate system)?