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

Revision history [back]

click to hide/show revision 1
initial version

Gmapping (or Cartographer) is used when you do not have an existing map to do SLAM - Simultaneous Localization and Mapping. It builds a map as it goes and publishes the pose relative to that map.

AMCL is used when you already have an existing map, and you want to calculate your pose relative to this existing map.

Using both in the same area is not typical. One could imaging using AMCL for a known area, and then switching to Gmapping, but you would have a situation where both systems are trying to publish the base link to map transform, and you will get poor behavior.

Gmapping (or Cartographer) is used when you do not NOT have an existing map and you need to do SLAM - Simultaneous Localization and Mapping. It builds a map as it goes and publishes the pose relative to that map.

AMCL is used when you already have an existing map, and you want to calculate your pose relative to this existing map.

Using both in the same area is not typical. One could imaging imagine using AMCL for a known area, and then switching to Gmapping, but not both at the same time. With both running you would have a situation where both systems are trying to publish the base link to map transform, and you will get poor likely oscillating behavior.