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

URDF robot root joint

asked 2013-01-24 18:36:55 -0500

Tobias Kunz gravatar image

updated 2013-01-24 19:10:15 -0500

How do I specify in the URDF file format how the root link of a robot is connected to the world? The root link of the robot could either be free floating in the world or it could be fixed. E.g. for a PR2 the root link should be free floating as the robot should be able to move around. In contrast, a robot arm is usually bolted into something and thus the root link is fixed.


I'll try to make more clear what I am trying to achieve. I am not trying to implement anything in ROS. Thus, a publisher or node is not going to help me. I am trying to load a URDF model into our own simulator and I am trying to understand the URDF file format. A dynamics simulator needs to know whether a robot root link is attached rigidly to the world or free floating. I am not sure exactly how gazebo does this.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-01-25 05:37:48 -0500

David Lu gravatar image

There is no way to specify what a URDF model's relationship to the world is. You can

A) Include part of the world as part of the URDF, thus specifying the relationship with a joint, as you would any other part.

B) Add some custom field to the URDF to specify such, although such a feature would most likely not be natively supported by the URDF standard.

C) Specify the relationship some other way.

edit flag offensive delete link more

answered 2013-01-24 18:44:48 -0500

Thomas gravatar image

It is not directly specified by the model (the robot motion w.r.t the world may vary depending on your application). However, an external node usually provides the "base_link" to "world" frame (or other global frames, see REP 105). If you have a fixed manipulator then a static_transform_publisher is enough but if you have a mobile robot then you need a localization node that will estimate the robot motion.

edit flag offensive delete link more


Hi Thomas, could you please better explain what you mean with "localization node"? I have the same problem as Tobias but to me is not clear how to create a localizatione node nor how to implement it. Thank you

Andromeda gravatar image Andromeda  ( 2014-08-28 03:31:25 -0500 )edit

Question Tools


Asked: 2013-01-24 18:36:55 -0500

Seen: 2,029 times

Last updated: Jan 25 '13