A robot needs to be able to localize; without knowing its own location, it cannot move well. It also need to be able to map – understanding its surroundings.

The general approach to localization is to continually fuse internal and external information:

  • Proprioception: encoder, IMU, etc. provide odometry data
  • Exteroception: GPS, vision, LiDAR, etc. take corrective action

The above can be done through state estimation. What states do we want to estimate?

  • Pose of the robot itself (localization). The pose could be given as .
  • Shape of environment (mapping). This could be given in many ways, but a popular one is to do representing the probability of being occupied.

State estimation is inherently probabilistic. This is because mobile robots combine signals from many sensors, and their movements are made by actuators. Each sensor and actuator is prone to errors, uncertainties, failures, etc. These unpredictable behaviors can be best described by statistical models.

In mathematical terms, the robot is modeled by a probabilistic motion model and measurement model:

Localization: given noisy measurement data, , , and the map , and trying to get the best estimate for :

Mapping: given noisy data and , get the best estimate of the map:

SLAM: