Engineering Guides · Module 02
Sensor combination: GNSS + IMU + LiDAR
GNSS anchors the pose globally, the LiDAR holds it where GNSS fails, the IMU ties them together. The outdoor-to-indoor combination.
Assumptions: General fusion guidance. Named algorithms appear only where their READMEs were checked (see the SLAM Selection Guide). No performance figures are given.
1. Engineering problem
GNSS fails near structures and indoors; LiDAR-inertial odometry drifts over long distances. Together they give a globally anchored pose that survives GNSS loss.
2. When is this needed?
- Robots that cross open ground and enter or pass structures.
- Urban canyons, under canopy, tunnels, building entrances.
3. Selection and design decisions
What each sensor contributes
| Sensor | Contribution | Weakness the other covers |
|---|---|---|
| GNSS | Global anchor | Drops out and can be biased by multipath |
| LiDAR | Local geometry and mapping | Drifts without a global reference |
| IMU | Deskewing and prediction | Drifts alone |
Fusion approaches
- LiDAR-inertial odometry as the continuous local estimator, with GNSS as an absolute correction (tightly as a factor, or loosely through an outer filter).
- Covariance-aware handover between GNSS and a prior-map localiser (see Module 12).
4. Advantages and disadvantages
- Loose coupling is modular; tight coupling is more accurate and harder to debug.
- Gating protects the estimate from biased GNSS and delays its return.
5. Requirements and constraints
- Time synchronisation to within what the estimator tolerates (use the Sensor Time Synchronization Simulator).
- Calibrated extrinsics between every fused pair, with the transform direction documented (see the frame-conventions guide).
- All three on a shared clock; extrinsics for LiDAR–IMU and the GNSS lever arm.
- A GNSS health monitor with hysteresis.
6. Architecture
GNSS ─▶ monitor ─▶ gated absolute fix ─┐
LiDAR + IMU ─▶ LIO (continuous) ───────┼─▶ offset estimator ─▶ map → odom
└─▶ odom → base_link (smooth)7. Implementation
- Calibrate and synchronise LiDAR and IMU; measure the GNSS lever arm.
- Run LIO alone and validate; add GNSS and validate the alignment.
- Add the GNSS monitor and tune on recorded data.
- Validate a deliberate GNSS dropout and return.
Compare structures in the Sensor Fusion Architecture Builder.
8. Real examples
- A campus delivery robot passing under a bridge and into a building.
9. Failure scenarios
- Biased GNSS absorbed before the monitor reacts.
- Frame misalignment between GNSS and the map: a pose jump at handover.
- LIO degeneracy during a long GNSS outage.
- Wrong lever arm.
10. Troubleshooting
- Plot GNSS minus LIO position through the transition.
- Check the monitor’s state against observed errors.
- Use the Localization Handover Visualizer to reproduce the jump size.
11. Validation
- Largest pose step through repeated transitions below the limit.
- Error against a surveyed reference within the requirement.
- Deliberately degraded GNSS handled.
12. Engineering checklist
13. Further references
- Class-level guidance written from general engineering knowledge; it contains no product specifications. Product-specific numbers must come from the manufacturer’s datasheet for the exact model and operating mode.
- ROS 2 message types: sensor_msgs (jazzy branch).
Related on FixTheRobot
- GPS-Denied Localization SLAM · Lesson
- LIO-SAM SLAM · Lesson