SLAM (Simultaneous Localisation and Mapping) is the core algorithm that enables autonomous mobile robots to navigate unknown environments β building a map of the environment while simultaneously determining the robot's position within it, in real time. In 2026, lidar-camera fusion SLAM has reached production maturity for AMR (Autonomous Mobile Robot) deployments in warehouses, hospitals, and manufacturing facilities. This guide covers the SLAM algorithm landscape, lidar vs camera trade-offs, fusion architectures, and the ROS 2 integration patterns used in enterprise AMR deployments.
SLAM Fundamentals
SLAM β The Core Problem
A robot entering an unknown environment faces a chicken-and-egg problem: to build a map, it needs to know where it is; to know where it is, it needs a map. SLAM algorithms solve this jointly β maintaining a probabilistic estimate of both the robot's pose and the environment map simultaneously, updating both as new sensor data arrives. Modern SLAM systems handle: loop closure (recognising a previously visited location and correcting accumulated drift), dynamic environments (people moving through the space), and multi-robot SLAM (shared map across a fleet of AMRs).
Lidar vs Camera vs Fusion
| Sensor | Strengths | Weaknesses | Best For |
| 3D Lidar (Velodyne, Ouster, Livox) | Accurate 3D depth; works in dark; not affected by lighting changes | Expensive ($500β$5000); poor texture discrimination; large/heavy | Outdoor AMR; large indoor spaces; safety-critical navigation |
| 2D Lidar (SICK, Hokuyo) | Cheap ($200β$500); proven in AMR; simple 2D map | No height data; misses low/high obstacles; limited in dynamic environments | Indoor flat-floor AMR; forklift automation; hospital robots |
| RGB-D Camera (RealSense, ZED 2) | Rich visual features; compact; inexpensive | Performance degrades in bright light/outdoor; limited range (<10m) | Indoor manipulation; object recognition; cluttered environments |
| Lidar + Camera Fusion | Best accuracy; semantic scene understanding; robust in all conditions | Calibration complexity; higher compute requirement | Production AMR fleets; complex dynamic environments |
2cm
Localisation accuracy achievable with lidar SLAM in well-mapped indoor environments β sufficient for most AMR docking, pick-and-place, and navigation tasks in structured facilities
SLAM toolbox
The standard ROS 2 SLAM implementation for indoor AMR β lifelong mapping, multi-session mapping, and serialisable/deserialisable maps. Default choice for new ROS 2 AMR projects in 2026
NDT
Normal Distribution Transform β the 3D lidar SLAM algorithm used by most production autonomous vehicle and AMR systems; robust to lidar scan density variation and computationally efficient for real-time use
πΊοΈ
SLAM Toolbox (ROS 2)
The production standard for 2D lidar SLAM in ROS 2. Install: sudo apt install ros-jazzy-slam-toolbox. Launch synchronous SLAM for mapping: ros2 launch slam_toolbox online_sync_launch.py. Save map: ros2 run slam_toolbox lifelong_map_saver. For localisation-only mode with existing map: ros2 launch slam_toolbox localization_launch.py map:=my_map.yaml. Integrate with Nav2 for full navigation stack. Supports Cartographer-compatible map format for compatibility with existing infrastructure.
π·
Visual-Inertial SLAM (ORB-SLAM3)
For camera-based or camera+IMU SLAM, ORB-SLAM3 is the most robust open-source implementation. Handles: monocular, stereo, RGB-D, and visual-inertial configurations. Achieves centimetre-level accuracy in indoor environments with stereo camera. ROS 2 wrapper available. Best for small indoor robots where lidar bulk is prohibitive β manipulation robots, social robots, inspection drones. Requires good lighting conditions β add lidar for outdoor or variable-light environments.
π
Lidar-Camera Fusion Architecture
For production AMR fleets requiring maximum robustness: fuse 3D lidar (for geometry) with camera (for semantic labels β "this obstacle is a person, yield; this obstacle is a wall, navigate around"). Fusion pipeline: lidar SLAM for primary localisation β camera detections projected to lidar coordinate frame β semantic annotations added to costmap β Nav2 planner uses semantically-annotated costmap for routing decisions. Implement with ROS 2 sensor_msgs, RTAB-Map for fusion SLAM, and our
ROS 2 software development team.
π€
Multi-Robot Fleet SLAM
For AMR fleets of 5+ robots: implement a shared map server where all robots contribute observations to a single continuously-updated facility map. Each robot localises against the shared map; detected changes (new obstacles, reconfigured shelving) propagate to the fleet immediately. Use Cartographer or a commercial fleet management platform (MiR Fleet, Fetch Autonomy) for managed multi-robot SLAM. Shared mapping eliminates per-robot re-mapping and improves fleet-wide localisation accuracy.