S

SLAM (Simultaneous Localization and Mapping)

Definition

SLAM (Simultaneous Localization and Mapping) is the computational problem of constructing or updating a map of an unknown environment while simultaneously tracking a robot's location within it. It is a foundational capability for autonomous mobile robots operating without GPS or pre-built maps.

Formula

p(x_{1:t},\, m \mid z_{1:t},\, u_{1:t})

In-Depth Explanation

SLAM is often described as a 'chicken-and-egg' problem: to build a map, you need to know where you are; to know where you are, you need a map. SLAM algorithms solve both problems concurrently using probabilistic estimation. Core components of SLAM: 1. Sensor input: - LiDAR (2D or 3D point clouds) - Cameras (monocular, stereo, RGB-D) - IMU (Inertial Measurement Unit) for motion estimation - Wheel odometry 2. Front-end (data association): - Feature extraction and matching between sensor frames - Scan matching (ICP – Iterative Closest Point) for LiDAR - Visual odometry for cameras 3. Back-end (state estimation): - Pose graph optimization: Robot poses are nodes; relative measurements are edges - Loop closure detection: Recognizing a previously visited location to correct drift - Filter-based: Extended Kalman Filter (EKF-SLAM), Particle Filter (FastSLAM) Popular SLAM algorithms and libraries: - GMapping: Particle filter-based 2D LiDAR SLAM (classic, ROS-compatible) - Cartographer (Google): Graph-based 2D/3D SLAM with loop closure - ORB-SLAM3: Visual/visual-inertial SLAM using ORB features - RTAB-Map: RGB-D and LiDAR SLAM with loop closure detection - LIO-SAM: Tightly-coupled LiDAR-IMU odometry and mapping - HECTOR SLAM: LiDAR SLAM without odometry (useful for UAVs) Mathematical formulation: SLAM estimates the joint posterior over the robot's trajectory x_{1:t} and map m, given observations z_{1:t} and controls u_{1:t}: p(x_{1:t}, m | z_{1:t}, u_{1:t}) Practical example: A warehouse robot equipped with a 2D LiDAR starts in an unknown facility. Using Cartographer, it drives around while the SLAM algorithm builds a grid map of the walls and obstacles and tracks the robot's pose in real time. Once the map is complete, the robot can use it for autonomous navigation. Challenges in SLAM: - Drift accumulation over long trajectories without loop closures - Dynamic environments (moving people, objects) - Computational cost for large-scale 3D SLAM - Perceptual aliasing: Different places looking visually similar

Related Terms