This aims to formally describe the problem of SLAM with mathematical language.

Data sampling happens at discrete time steps . We use to indicate the position of our robot, such that the positions at different time steps can be written as , constituting the trajectory of the robot.

We also assume that the map is made up of several landmarks, and at each time step, sensors can see a part of the landmarks and record their observations. Assuming there is a total of landmarks on the map, they are denoted as .

Then, the process of the robot moving in the environment has 2 parts:

  1. Motion – we want to describe how changes from to .
  2. Sensor observations – assuming the robot detects a landmark at position , we need to describe this event in mathematical language.

Motion Equation

Motion commands like “turn 15 degrees left” are carried out by a controller. In universal abstract terms, motion can be described as:

where is an input command, and is noise. The presence of noise means that this model is stochastic (some randomness involved).

Observation Equation

This describes the process that the robot sees a landmark at and generates an observation data , such that:

where is the noise in this observation.

Example

The specifics of these equations, such as the functions and , depend on specific robots and how they can be parametrized. For example, a robot that moves in a plane would have its pose (position + rotation) described by two coordinates and an angle , such that

The input command is the position and angle change between time interval , so the motion equation can be parametrized as:

where is noise. This is just a simple example with a linear relationship, most commands will be much more complex.

For observation, let’s say that the robot has a simple 2D laser sensor, which observes 2D landmarks by measuring the distance between the landmark and the robot, and the angle . Let’s say that the landmark is at , the pose is at , and the observed data is . Then, the observation equation can be written as:

Unified SLAM equation

The motion and observation equations can be summarized into the abstract form:

where is a set that contains the information at which pose the landmark was observed. These equations together describe a basic SLAM problem:

  • How to solve the estimate (localization) and (mapping) problem with the noisy control input and sensor reading data?

This is a state estimation problem: How do we estimate internal, hidden state variables through noisy measurement data?