Every inspection site we work in is GPS-denied in some way. Substations are shielded by grounded steel structures. Refineries are obscured by pipe racks and vessels. Underground mines have no signal by definition. Fire scenes have neither GPS nor good lighting. Rail tunnels are signal-dead. The choice of SLAM stack decides whether the robot finishes the route or ends up against a wall at minute 14, so it is worth being deliberate.
Three families, three failure modes
| Family | Strength | Failure mode |
|---|---|---|
| 3D LiDAR SLAM (LOAM, LIO-SAM, FAST-LIO) | Metrically accurate, robust to lighting, works in total darkness | Fails in geometrically repetitive spaces (long straight corridors, large open tank farms) — the loop-closure algorithm cannot tell where it is |
| Visual / visual-inertial SLAM (ORB-SLAM, VINS-Mono, RTAB-Map) | Excellent in textured environments, low cost, low power | Fails in low light, low texture (concrete tunnels, smoke-filled rooms, monochrome industrial corridors), and suffers from motion blur on fast maneuvers |
| LiDAR–visual–IMU fusion (R3LIVE, FAST-LIVO, LVI-SAM) | Best of both; redundancy across modalities | Calibration drift if the camera and LiDAR are mounted on the same suspension that flexes under the quadruped's gait; computational load |
What the environment actually demands
The decision is not technical in the abstract — it is technical in the room the robot has to walk.
- Long featureless corridors (tunnels, rail underpasses): pure LiDAR fails. Add wheel odometry or a fiducial system on the wall, or use a fused stack that weights IMU more heavily.
- Cluttered, textured indoor spaces (substations, control rooms, indoor plant corridors): visual SLAM is usually fine and cheaper.
- Outdoor plant with reflective metal (refineries, chemical plants): LiDAR misreads shiny surfaces; fusion with IMU and careful threshold tuning is the only credible answer.
- Smoke, dust, low light (fire response, post-incident): visual SLAM is dead. Thermal SLAM is a research field, not a product. The realistic answer is LiDAR plus an IMU plus a pre-mapped route.
- Reflective or transparent surfaces (glass-walled control rooms, polished floors): both LiDAR and vision hallucinate ghost geometry. Pre-mapping the route and using AMCL localization against the prior map is more reliable than running SLAM live.
The under-appreciated variable: gait
SLAM papers assume a hand-held sensor or a wheeled robot. A quadruped's body bobs and twists with every step. The IMU sees it; the algorithm sees it as motion. If the SLAM stack assumes a slowly-accelerating platform, every footfall introduces drift that takes a long time to recover from. The fix is either a suspension-mounted sensor rig (mechanical isolation) or a stack that explicitly models the gait (software compensation). We default to the former when the budget allows.
Our default stack, by environment
For most plant and substation work we run a fused LiDAR-IMU stack with the LiDAR mounted on a vibration-isolated plate, plus a wide-FOV camera as backup. For fire and incident response we use LiDAR-IMU only, with a pre-mapped route from the last known good run. For long tunnels we use LiDAR-IMU with wheel odometry augmentation. In all cases we keep a hand-coded fallback behavior: if pose confidence drops below a threshold, the robot stops, marks the spot in the report, and waits for operator input — instead of fabricating a path home.
What to ask an integrator
- Show me the recorded pose estimates from a 30-minute run in a representative environment — not a marketing video, the actual data.
- What happens when SLAM loses confidence? Is the behavior stop, return, or guess?
- How do you handle calibration drift between LiDAR and camera when the body flexes?
- What is the manual intervention rate per 100 inspection runs?
If the integrator cannot answer these with data, they have not deployed at scale yet.
These environment decisions feed directly into budgeting — the sensor rig and compute you choose is a line item in the total cost of ownership, and a requirement you should write down before signing, in your inspection robot specification.