Hi,
Actually, when they refer to mapping, they are doing SLAM (if they do loop closure detection online). When they refer to localization, it means the map created by SLAM is fixed and not updated anymore, we just localize on the prebuilt map. Doing SLAM is more computationally expensive as the map has to be updated and optimized, and memory is not bounded. In localization mode, memory size and computation time would be always constant, while in SLAM mode, computation time and memory would increase indefinitely (if we keep all data).
In many practical scenarios where the environment is relatively static, we do often navigation in two phases: 1) SLAM, then 2) localization-only. Example:
- SLAM phase: the robot is teleoperated to map the office, house, warehouse, in a way that loop closures can be detected to correct odometry drift.
- Localization phase: Once the map is completed, we switch in localization mode and do autonomous navigation.
Doing navigation while doing SLAM can be tricky, in particular when a loop is closed. This
paper discusses how this can be handled with rtabmap in SLAM mode.
cheers,
Mathieu