How a robot draws the map of a room it has never seen

A lidar returns a few hundred dots per sweep and no idea where it is. One slider walks from that cloud to a floor plan with the robot standing in the right spot.

Stage A cloud of points
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4

Tap a part of the diagram to open that stage.

Why the loop is the whole trick

Odometry only ever reports what changed since the last frame, so its error grows with distance and never shrinks by itself. Recognising a place you have already been is the one measurement that compares now against long ago — a single loop closure takes back the error that a thousand steps put in.

What's inside

  1. 1 The sensor returns distances, not a room — Every dot lands somewhere slightly different on the next sweep. That jitter is the whole difficulty.
  2. 2 Keep only what can be recognised twice — A landmark is not an interesting place. It is a place you can match again from another angle.
  3. 3 The robot locates itself from how the corners slide — No single measurement is wrong. Drift is the sum of many honest small errors.
  4. 4 The first corner comes back into view — The correction cannot know which step was wrong, so it charges every step in proportion to how far it travelled.
  5. 5 The cloud becomes a plan with the robot inside it — Mapping and localisation are one problem. Neither one can be solved first.

Explorable Explanations

Stage A cloud of points
  1. 0
  2. 1
  3. 2
  4. 3
  5. 4
1 / 5