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

Revision history [back]

In an ideal world, odom and map will both be fixed and, when doing SLAM, at the same place. However, the world is not ideal. [citation needed]

When running SLAM (or any localization algorithm, for that matter), you account for errors in the odometry using the respective algorithm. In ROS, the typical way to do this is to adjust the map->odom transform. This allows you to publish the transform from odom->base_link from your robot and other nodes to access it.

So the transform odom->base_link is what the robot thinks it has traveled based on the (noisy and inaccurate) odometry, the transform map->odom is the correction of the noisy odometry provided by the localization algorithm, resulting in the robot pose in the world displayed by the map->odom->base_link transform.