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

A joint in your urdf defines the transform between two links, which are represented in your TF tree as frames.

So a revolute joint joint_1 between link_1 and link_2 for which JointState messages are being published will cause robot_state_publisher (in this example) to update the relative pose of link_2 wrt link_1 based on the transform specified by the origin tag of joint_1.

A joint in your urdf defines the transform between two links, which are represented in your TF tree as frames.

So a revolute joint joint_1 between link_1 and link_2 for which JointState messages are being published will cause robot_state_publisher (in this example) to update the relative pose of link_2 wrt link_1 based on the transform specified by the origin tag of joint_1.

Is a joint in a URDF considered a frame in the TF library?

So I believe the answer would be "no, but links are".

A joint in your urdf defines the transform between two links, which are represented in your TF tree as frames.

So a revolute joint joint_1 between link_1 and link_2 for which JointState messages are being published will cause robot_state_publisher (in this example) to update the relative pose of link_2 wrt link_1 based on the transform specified by the origin tag of joint_1.. Rotation will be around the origin of link_1 (plus or minus some offset specified by the joint).

Is a joint in a URDF considered a frame in the TF library?

So I believe the answer would be "no, but links are".

A joint in your urdf defines the transform between two links, which are represented in your TF tree as frames.

So a revolute joint joint_1 between link_1 and link_2 for which JointState messages are being published will cause robot_state_publisher (in this example) to update the relative pose of link_2 wrt link_1 based on the transform specified by the origin tag of joint_1. Rotation will be around the origin of link_1 (plus or minus some offset specified by the joint).

Is a joint in a URDF considered a frame in the TF library?

So I believe the answer would be "no, but links are".


Edit: note that the origin element in your urdf specifies the transform between links with the robot in it's zero pose. Afterwards those transforms are updated based on JointState messages.