Robotics - Euler Angles from Linear Transformation

32 Views Asked by At

In a robotics application (3d Cartesian Space), I need to transform my Point position and orientation in a particular frame to the world frame. The Frame Position and Orientation is known and I was able to get the position by calculating the Rotation Matrix and concatenating it inside the Homogeneous Transformation Matrix alongside the Frame Position.

However, how can I get the point's orientation (RX,RY,RZ)?

To exemplify: I have a Frame positioned at: X = 234.067 Y = -662.889 Z = -168.332 RX = -0.115 RY = 0.095 RZ = -63.417

And a Point "P" in reference to that Frame at: X = 36.851 Y = 3.669 Z = -14.5 RX = 0 RY = 0 RZ = 71.913

After calculating the Rotation Matrix and Homogeneous Transformation Matrix for Point "P" in reference to World Frame I reached the position: X = 253.80191194 Y = -694.1939878 Z = -182.90041625

Which is right.

However, how can I calculate the Orientation (RX,RY and RZ)? RZ seems to be just adding RZ of "P" to RZ of my Frame. So, -63.417 + 71.913 = 8.496 degrees

But for RX and RY I have no idea. The answer is: RX = 0.054 and RY = 0.139, (all in degrees) but I don't know how it got there. [Positions were denoted in mm] [Angles in degrees] [Rotation Matrix Calculated using RZRYRX, in this order] [Rotation is Extrinsic - Fixed Frame ]

Thanks for any insight!