Rosanswers logo

Hi everyone! I know this might sound silly but I just want to ask simple question to reassure myself. Is a joint in a URDF considered a frame in the TF library? Thanks!

Originally posted by MechLc on ROS Answers with karma: 41 on 2018-03-27

Post score: 1


1 Answer 1


Rosanswers logo

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.

Originally posted by gvdhoorn with karma: 86574 on 2018-03-27

This answer was ACCEPTED on the original site

Post score: 3

Original comments

Comment by MechLc on 2018-03-27:
Oh! makes sense! Thank you so much!


rosrun tf view_frames 

confirms it


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.