ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The transform odom -> base_link represents the pose of the robot calculated from the robot's wheel encoders. Odometry generally will drift, i.e. the longer the robot drives around, the further away will the odometry transform be from the actual pose of the robot. To fix this, you normally run some sensor based self-localization node (normally using laser sensors). In ROS, the most commonly used nodes for localization are gmapping if you want to build a map and amcl if you want to use an existing map. Both publish the map -> odom transform and by requesting the tranform map -> base_link, you can get the position of the robot in the map. This tutorial might be helpful.