ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I think that both comments are correct, assuming you distinguish a subtle difference between the words "transform" and "transformation".

The pose in the TransformStamped message describes the pose of the child frame within the parent frame. For example, using standard xy axes, the msg value transform.translation.x = 1 places the child_frame origin to the right of the parent_frame origin. The TF Tree clearly describes a parent to child relationship.

The terminology gets less clear if your goal is to convert a child pose into the equivalent parent frame pose. You can reformat the TF msg as an equivalent homogeneous 4x4 matrix M and use this linear algebra equation:

pose_in_parent = M * pose_in_child

If you expect to use this equation, then M can be interpreted as providing a "transformation" operation from child_frame to parent_frame, which is what that second comment is describing.

I think that both comments are correct, assuming you distinguish a subtle difference between the words "transform" and "transformation".

The pose in the TransformStamped message describes the pose of the child frame within the parent frame. For example, using standard xy axes, axes and identity quaternion, the msg value transform.translation.x = 1 places the child_frame origin to the right of the parent_frame origin. The TF Tree clearly describes a parent to child relationship.

The terminology gets less clear if your goal is to convert a child pose into the equivalent parent frame pose. You can reformat the TF msg as an equivalent homogeneous 4x4 matrix M and use this linear algebra equation:

pose_in_parent = M * pose_in_child

If you expect to use this equation, then M can be interpreted as providing a "transformation" operation from child_frame to parent_frame, which is what that second comment is describing.