How does Gazebo (1.0) derive the tf (transform) tree [closed]
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.
@evilBiber, I have found out more about the transforms and topics, and will add more details to my question and probably post an answer later. But I'm very much interested in your port to groovy+1.9 (especially if you converted it all to a catkin workspace). Please drop me an email (just added my address to my profile), and we can discuss this further.
@Nevik I have not created a catkin_package right now... But as soon as I have tested everything successfully I will create one and It will probably be published somewhere ;)