What is SLAM?
SLAM (Simultaneous Localization and Mapping) is the computational problem of building a map of an unknown environment while simultaneously determining the robot’s position within that map. It’s the foundation of autonomous navigation.
The Two Problems
Localization: “Where am I?” — requires a map. Mapping: “What does the world look like?” — requires knowing where you are.
SLAM solves both at once by iterating:
- Robot moves and observes the environment
- New observations update the map
- Updated map refines the robot’s estimated position
- Repeat
Sensor Inputs
| Sensor | What It Provides | Common Use |
|---|---|---|
| LiDAR | 3D point cloud of surroundings | Warehouse robots, autonomous vehicles |
| Camera | Visual features, texture, color | Drones, visual SLAM systems |
| imu | Acceleration and rotation rate | All mobile robots — fills gaps between other sensors |
| Wheel odometry | Distance traveled | Ground robots; accumulates error over time |
Key Algorithms
- lidar SLAM: LOAM, LeGO-LOAM, Cartographer — precise, works in darkness
- Visual SLAM: ORB-SLAM, VINS-Mono — uses cameras, cheaper hardware
- Visual-Inertial SLAM: Fuses camera + imu — popular for drones and AR
The Challenges
- Dynamic environments: A warehouse with moving pallets breaks static-map assumptions
- Loop closure: When the robot returns to a previously visited spot, aligning old and new observations is computationally hard
- Scale: Mapping a 100,000 sq ft warehouse in real time requires significant compute
- Featureless spaces: A white corridor with no texture gives cameras nothing to track
The Bottom Line
SLAM is solved for structured environments (warehouses, highways, indoor spaces). It’s still hard for unstructured terrain — which is why DARPA RACER focused on off-road autonomy, and why military UGVs still struggle in forests and rubble.