Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How does Gazebo (1.0) derive the tf (transform) tree

When used in conjunction with ROS, Gazebo naturally makes use of the tf package to transform between different local coordinate systems ("poses"?). To this end, it somehow derives a tf frame tree from the model's link structure (as described in the URDF/SDF file).

How does it do this?

I am asking because I'm having trouble with certain tf prefixes, and using a ROS-like name (like /commonprefix/specific_base_link) for the base-link of the model does not work (the /commonprefix part is ignored).

This is especially a problem since I use multple robot instances in one simulation -- the plugins for which I didn't write myself (I use a slightly modified TUM Simulator which in turn is based on the TU Darmstadt Hector packages). For certain visualizations in RViz, I need a common root frame -- which I can't seem to achieve, since Gazebo derives the frame tree for the robot models itself, without being told how in any of the description (URDF) files I've found so far.

A note on my environment: Ubuntu 12.04 with ROS fuerte and its builtin/packaged Gazebo 1.0.2. I know this Gazebo is REALLY old, but the mentioned packages only properly work with this version combination for now, and I do not have the time to update it all to Hydro+1.9, since the alterations are rather significant.