Skip to the content
FixTheRobot Explore Robotics / UAV / Capstone 2

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.

  • Builds on modules 2, 3, 4
  • About 25–40 hours
  • Research-level

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

LiDAR-inertial UAV architectureA 3D LiDAR and IMU feed FAST-LIO2, which outputs odometry and a point-cloud map. A localisation module registers against the prior map. Position estimation and drift evaluation compare estimates with ground truth.3D LiDARIMU FAST-LIO2iterated EKF + ikd-Treedeskew + register Odometry (pose, v, Σ)3D point-cloud map DriftevaluationMap-basedlocalisation
Capstone 2 data flow: odometry builds the map; the saved map supports localisation on a later flight.

Requirements

Capstone requirements and how each is verified
IDRequirementVerification method
R1LiDAR-inertial odometry drift shall be below 1% of distance on the chosen dataset (report the actual value).Test: evo on dataset with ground truth
R2The map shall have a point density suitable for the planner and fit within the map-size budget.Inspection and size measurement
R3Localisation against the prior map shall converge from an initial position error of up to 2 m and 15∘15^{\circ} yaw.Test: perturbed-start trials, success rate reported
R4Processing 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)
R5The degeneracy case (long corridor) shall be identified and drift along its axis quantified.Analysis: eigenvalues of the registration Hessian or covariance along the axis
R6Mapping accuracy shall be evaluated against a reference map or surveyed points.Analysis: cloud-to-cloud distance statistics

Step 1: odometry on a dataset

  1. Choose a public LiDAR-inertial dataset with ground truth appropriate for FAST-LIO2 and read its sensor documentation.
  2. Configure the extrinsics and the scan-time field; confirm per-point time units.
  3. Run the odometry and save the trajectory; compute ATE and RPE with evo (alignment stated).
  4. Inspect the accumulated map for double surfaces: they indicate timing or extrinsic errors.

Step 2: mapping and localisation

  1. Save the map from run 1 and clean it (voxel filter, outlier removal).
  2. For run 2, provide a coarse initial pose, register the first scans against the map, then switch to odometry with periodic map corrections.
  3. 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

  1. Configuration record: sensor, extrinsics, time offsets, FAST-LIO2 parameters, software versions.
  2. Odometry evaluation: ATE/RPE plots, drift percentage, discussion.
  3. Saved map with a statistics summary and accuracy evaluation against a reference.
  4. Localisation experiment: success rate and error against the perturbation size.
  5. Failure analysis with a recommended mitigation and its expected effect.

Acceptance criteria and grading rubric

Acceptance criteria
CriterionAcceptableStrong
ReproducibilityVersions and configuration recorded and a script reproduces plotsContainerised and re-run from clean checkout
EvaluationATE and RPE with correct alignmentAlso reports drift versus environment type and per-segment analysis
MappingMap produced and sizedAccuracy against reference with numbers
LocalisationWorks from a good startConvergence envelope measured
Failure analysisIdentifies a degenerate caseQuantifies 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.