30% off your first 3 months

Get the deal

Definition

SLAM

SLAM, simultaneous localization and mapping, is how a robot builds a map of a place while working out where it is inside that map.

  • A robot builds a map and locates itself in it at the same time.
  • Each depends on the other, which is what makes it hard.
  • Loop closure corrects drift when the robot recognizes a place it has seen before.

SLAM stands for simultaneous localization and mapping. A robot placed in an unknown room has two problems at once. To map the room it needs to know where it is, and to know where it is it needs a map. SLAM solves both together by updating each estimate from the other as the robot moves.

Example: a robot mapping a room

Say a small robot with a range sensor starts in one corner of a rectangular room. It senses a wall 2 m ahead and a wall 1 m to its left. It records those as the start of a map and takes its own position as the origin.

It drives forward and its wheels report 1 m of travel. It now senses the front wall 1 m ahead, which agrees: 2 − 1 = 1. The agreement raises its confidence in both the map and its position.

As it goes, small errors in wheel travel pile up, a problem called drift. After a full lap the robot's own estimate says it is 0.3 m away from where it began, even though it has returned to the corner. This is where loop closure comes in: the robot recognizes the corner as one it mapped earlier and corrects its whole path, which pulls the map back into shape. The 0.3 m is a made-up figure for the example.

Why it matters

Without a map and a position, a robot cannot plan a route or avoid known obstacles. SLAM is how vacuum robots, warehouse vehicles and many drones find their way in places with no map ready. It uses sensors such as cameras, lidar and an IMU, often combined.

To see how drift is corrected in practice, read loop closure: how SLAM fixes drift.

Further reading

Reviewed . Next review .

Owner: DuckyHelper

Questions and jobs

Do anything

Ask it a question or hand it a job, in any app.

Doing jobs for you is in early access on Mac. Asking works on Mac, Windows and Linux.