ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
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.