UAV Systems Engineering · Capstone 2 of 4
LiDAR-Inertial GNSS-Denied UAV
Map and localise with a LiDAR and an IMU, then measure honestly how far the result drifts and why.
This project connects modules 2, 3 and 4. You will run FAST-LIO2 on public data and on your own simulated sequences, build a point-cloud map, localise against it, and quantify drift against ground truth, including the cases that break it.
Mission and scope
A UAV carries a spinning or solid-state 3D LiDAR and an IMU and must estimate its position without GNSS while building a 3-D map of a structured environment (for example a warehouse or a building exterior). A second flight must localise against the first flight’s map and report the position error.
What you will implement
- LiDAR and IMU data handling: per-point timestamps, extrinsic transform, time synchronisation (lessons M7-T8, M7-T16).
- FAST-LIO2 configured for your sensor (lesson M4-T8): run on a public dataset with ground truth first.
- A 3-D point-cloud map built from the registered scans, with voxel downsampling and a size budget.
- Map-based localisation of a second run against the saved map (ICP or NDT initialised from a coarse pose; lesson M4-T13).
- Position estimation output with covariance for downstream control, in NED/FRD for PX4 if bridging.
- Drift evaluation: ATE and RPE over distance, and a degeneracy case (corridor).
System architecture
Requirements
| ID | Requirement | Verification method |
|---|---|---|
| R1 | LiDAR-inertial odometry drift shall be below 1% of distance on the chosen dataset (report the actual value). | Test: evo on dataset with ground truth |
| R2 | The map shall have a point density suitable for the planner and fit within the map-size budget. | Inspection and size measurement |
| R3 | Localisation against the prior map shall converge from an initial position error of up to 2 m and yaw. | Test: perturbed-start trials, success rate reported |
| R4 | Processing shall keep up with the LiDAR rate on the target computer (latency below one scan period at p99). | Test: profiling (lessons M7-T3, M7-T6) |
| R5 | The degeneracy case (long corridor) shall be identified and drift along its axis quantified. | Analysis: eigenvalues of the registration Hessian or covariance along the axis |
| R6 | Mapping accuracy shall be evaluated against a reference map or surveyed points. | Analysis: cloud-to-cloud distance statistics |
Step 1: odometry on a dataset
- Choose a public LiDAR-inertial dataset with ground truth appropriate for FAST-LIO2 and read its sensor documentation.
- Configure the extrinsics and the scan-time field; confirm per-point time units.
- Run the odometry and save the trajectory; compute ATE and RPE with evo (alignment stated).
- Inspect the accumulated map for double surfaces: they indicate timing or extrinsic errors.
Step 2: mapping and localisation
- Save the map from run 1 and clean it (voxel filter, outlier removal).
- For run 2, provide a coarse initial pose, register the first scans against the map, then switch to odometry with periodic map corrections.
- Perturb the starting pose and measure the convergence rate and the final error.
Report what happens when the environment changed between runs: moved objects are a normal condition for a map-based system, not an error case.
Step 3: where it breaks
Find or construct a segment that defeats the method: a long straight corridor, an open field, heavy dust or rain, aggressive yaw. Quantify the failure with the metrics above, and propose a mitigation using another sensor from the track (camera, barometer, GNSS when available, radar). This analysis is a deliverable: knowing the envelope is the engineering result.
Deliverables
- Configuration record: sensor, extrinsics, time offsets, FAST-LIO2 parameters, software versions.
- Odometry evaluation: ATE/RPE plots, drift percentage, discussion.
- Saved map with a statistics summary and accuracy evaluation against a reference.
- Localisation experiment: success rate and error against the perturbation size.
- Failure analysis with a recommended mitigation and its expected effect.
Acceptance criteria and grading rubric
| Criterion | Acceptable | Strong |
|---|---|---|
| Reproducibility | Versions and configuration recorded and a script reproduces plots | Containerised and re-run from clean checkout |
| Evaluation | ATE and RPE with correct alignment | Also reports drift versus environment type and per-segment analysis |
| Mapping | Map produced and sized | Accuracy against reference with numbers |
| Localisation | Works from a good start | Convergence envelope measured |
| Failure analysis | Identifies a degenerate case | Quantifies it and tests a mitigation |
Common failure points
- Wrong time field units or missing per-point times: the map smears on every turn.
- LiDAR-IMU extrinsics taken from a different mounting.
- Comparing odometry to ground truth without stating the alignment.
- Letting the map grow unbounded on the onboard computer.
- Assuming map-based localisation is robust to changes in the scene; test with moved objects.
References
Record your progress
Capstones are assessed by you against the rubric above, so this records your own sign-off.