Skip to main content
A robot in an unknown room has to build a map and find itself in it at the same time. This chapter gets there in steps. It starts with mapping from known poses, adds the question of which landmark a measurement belongs to, and then estimates the pose and the map together. It then brings in two sensors that measure the robot’s own motion, an IMU and a camera, and ends with a camera that maps the room and localizes itself from its images alone. The last step is the Visual SLAM assignment.

Before you start

The chapter assumes the extended Kalman filter and EKF localization sections, which supply the motion model, the measurement model and the filter equations every later section reuses. The D435i for landmark features section explains how the depth camera turns a pixel and a depth into a range and a bearing.

Reading order

Steps 1 to 4 use landmarks and range sensors, and step 4 is the baseline SLAM algorithm. Steps 5 to 7 replace the wheels with inertial and visual motion estimates. Read step 5 before step 6, because the VIO filter’s prediction is the IMU integration of step 5. Read step 7 before the assignment: its first task asks you to build the same front end on real images.

Occupancy grid mapping

Mapping with known poses, and what odometry drift does to the map.

Correspondence estimation

Matching measurements to the map: data association and joint compatibility.

Scan registration

Aligning two LIDAR scans with ICP, from the closed-form fit to point-to-line and robust variants.

EKF SLAM

Pose and landmark map in one EKF, with landmarks from a lidar or a D435i.

IMU

Gyroscope and accelerometer models, bias, and IMU dead reckoning.

Visual-inertial odometry

The camera corrects the IMU and estimates its biases.

Visual SLAM

Two-view geometry, monocular scale, and loop closure with a pose graph.

Found an error on this page? Report an issue.