gmapping: base_link to odom missing
The simulated robot I'm using does not define a transformation from \base_link to \odom. When I started Gazebo and load the robot, the top most node of the frames tree is the \base_link.
When I run gmapping, \odom is automatically created with a \map parent, on a separate tree from the rest of the robot's frames.
So I'm manually writing a transformation from \base_link to \odom. However, there's a nav_msgs::odometry topic published by the robot which I suspect is the odometry of the robot in the world frame. I can't figure out how to make use of that topic.
Do I just read from it and broadcast the transform like in http://www.ros.org/wiki/navigation/Tutorials/RobotSetup/Odom? How would gmapping know which is the odometry frame? Is it the name?
If it's the name then the \base_link frame of my robot isn't named "base_link". Is that a problem?
On a related note, does the transformation from base_link to laser has to be direct? Or as long as a path on the tree exists, it's fine?