What is the mathematical relationship between parent and child frame in tf?
I am very confused by the coordinate frame in this tutorial.
In this command line syntax
rosrun tf static_transform_publisher x y z yaw pitch roll frame_id child_frame_id period_in_ms
- Does the value
x y z yaw pitch roll
represents the transform fromchild_frame_id
toframe_id
? Or the other way around? And what is the relationship between
frame_id
andchild_frame_id
? What is the order of the yaw pitch row in the transformation? Which one is the correct relationship?Extrinsic rotation (occurs about the axes of the fixed coordinate system):
child_frame_id = R(yaw) * R(pitch) * R(roll) * frame_id + [x,y,z]
child_frame_id = R(roll) * R(pitch) * R(yaw) * frame_id + [x,y,z]
Intrinsic rotation (occurs about the axes of a coordinate system XYZ attached to a moving body):
child_frame_id = frame_id * R(yaw) * R(pitch) * R(roll) + [x,y,z]
child_frame_id = frame_id * R(roll) * R(pitch) * R(yaw) + [x,y,z]