Lidar SLAM is the most capable self-contained GPS-denied solution: it works in the dark, measures true 3D geometry at centimeter accuracy, and produces a map as a deliverable, not just a position. The price is weight, power, compute, and cost — and a failure mode no camera system has: featureless geometry.
This is part of the GPS-denied navigation series: six solutions compared. See also the GPS-denied overview and Vision-Based UAV Navigation.
How it works
A lidar fires laser pulses and times their return to measure range, building a dense 3D point cloud of the surroundings. The estimator aligns each new scan against a growing map while an IMU bridges the gaps between scans at high rate, and outputs a 6-DOF pose (position + orientation), velocity, and a map of the environment. The key split: odometry (LIO) tracks motion frame-to-frame and drifts slowly; SLAM adds loop closure, so revisiting a place corrects the whole trajectory backward.
Two main open stacks:
- LIO-SAM (Shan et al., 2020): tightly coupled lidar + IMU in a factor graph, feature-based (edge/planar points), with loop closure via scan-context descriptors + ICP refinement. Sub-decimeter accuracy over 1–2 km in feature-rich environments; moderate compute (4+ CPU cores). Requires a 9-axis IMU.
- FAST-LIO2: registers raw points directly against an incrementally built map with an iterated Extended Kalman Filter and an incremental k-d tree. Low compute (single CPU core), very fast — but no built-in loop closure, so drift accumulates on long runs without revisits.
2D vs 3D matters: a 2D lidar (RPLiDAR) scans one plane — it gives x/y/yaw only, and altitude must come from a barometer or rangefinder. Full 6-DOF LIO needs a 3D lidar.
What the autopilot does with it: the companion computer runs the SLAM stack in ROS/ROS2 and streams the pose to the flight controller as MAVLink ODOMETRY or VISION_POSITION_ESTIMATE. PX4’s EKF2 fuses it as external vision (EKF2_EV_CTRL, EKF2_HGT_REF = Vision, EKF2_EV_DELAY, EKF2_EV_POS_*). Once fused, position-hold, mission, and return modes work as if GPS were present, in a local frame.
DIY space: hardware and prices
| Hardware | What it is | Price (verified, marketplace listings) |
|---|---|---|
| Slamtec RPLiDAR A1M8 | 2D, 360°, 12 m range. USB/UART, ROS drivers, runs on a Pi | ~$99 (commonly $85–$121) |
| Slamtec RPLiDAR A2M12 | 2D, longer range, higher scan rate | ~$229 (listings $219–$300) |
| Livox Mid-360 | 3D, 360° × 59° FOV, 200,000 pts/s, 40 m at 10% reflectivity, 265 g, built-in IMU, IP67, ~6.5 W | ~$749–$799 street / ~€720 gross (channel-dependent) |
Companion computer: a 2D RPLiDAR + Cartographer/hector SLAM can run on a Raspberry Pi 4/5. 3D FAST-LIO2 realistically wants a Jetson Orin Nano ($250–$500) or x86/NUC-class board. Livox connects over Ethernet; RPLiDAR over USB. LIO needs a time-synced IMU — the Mid-360’s built-in IMU is the usual answer; a 2D RPLiDAR build needs a separate IMU.
Concrete gotcha, verified: LIO-SAM requires a 9-axis IMU. A documented Mid-360 evaluation found LIO-SAM diverges completely with the Mid-360’s 6-axis IMU and recommends FAST-LIO2 instead. FAST-LIO2 works with the Mid-360’s IMU out of the box.
Commercial and industrial use
Emesent Hovermap ST-X: lidar SLAM payload mountable on drone, vehicle, backpack, or handheld; marketed for underground mining and GPS-denied mapping.
Flyability Elios 3: caged collision-tolerant drone, Ouster OS0-32 lidar + VIO cameras + SLAM with NVIDIA onboard compute, 4K + thermal, for tanks, boilers, mines, sewers. One case study cites LKAB Kiruna mine replacing an 8-hour manual stope inspection with a 20-minute flight.
Exyn Technologies: fully autonomous multi-drone underground mine inspection.
Warehouses: Dexory uses lidar-derived 3D spatial data for racking; Gather AI and Verity inventory drones use SLAM + lidar/vision for indoor navigation.
Strengths and limits
Strengths: lighting-independent (works in the dark); direct metric 3D geometry at centimeter accuracy; produces a map as a deliverable; no pre-installed infrastructure.
Limits: degenerate geometry — long uniform corridors, smooth tunnels, and open flat fields starve scan matching (LIO-SAM’s feature set goes sparse and repetitive; FAST-LIO2 keeps going on IMU but drifts). Dust, rain, fog, snow, smoke scatter the laser — false returns, reduced range, unnecessary stops. Reflective/glass surfaces give spurious returns. Compute/weight/power: 265 g + 6.5 W for the sensor alone, plus a companion that can run SLAM in real time. Dynamic obstacles need separate detection. No loop closure (FAST-LIO2) means unbounded drift on long one-way runs.
Mitigations seen in practice: fuse with VIO/cameras, add loop closure, keep flights short or looped, avoid flying in dust or rain.
How it compares
- VIO is lighter, cheaper, and passive, but needs light and texture. Lidar works in the dark and beats VIO on accuracy in warehouses, at the cost of weight, power, and compute.
- Optical flow is the $30 hover aid; lidar SLAM is the mapping system. Different jobs.
- UWB positioning is absolute and drift-free but needs anchors and sees nothing. Lidar needs nothing installed and returns a map. At least one published system fuses both, plus IMU, VIO, and a TFmini, in one estimator.
- Terrain matching bounds error with an absolute map fix; lidar SLAM bounds it with loop closure when you revisit a place. Both need something to match against — a prior map, or your own trail.
- Dead reckoning is what the IMU does between lidar scans; lidar corrections are what keep it from drifting away.