Corrected Ground-Truth Smoother

A corrected ground-truth-like product across all 26 INSANE flights at the PX4-IMU scoring point, vetted against the maintainer ground truth.

The corrected ground-truth smoother is a robust GTSAM batch factor graph that produces a ground-truth-like product across all 26 INSANE flights at the PX4-IMU scoring point, with empirically calibrated per-pose covariance (code). It preserves the shipped maintainer truth where dual-fixed RTK already makes it strong, repairs the structural attitude defect documented on Ground-Truth Attitude Quality, and bridges the outdoor-to-indoor transition gap described on The Outdoor-to-Indoor Transition Handoff. Three dependency studies feed it.

The graph carries, per regime:

The dual-RTK position factors are the only outdoor heading source, so attitude is validated against held-out evidence rather than self-consistency.

Outdoor and Mars Result

On the 20 outdoor/Mars runs (19 Mars missions plus outdoor_1), the smoother reproduces the trustworthy position where dual-fixed RTK supports it and repairs the attitude where the shipped solution is gravity-inconsistent.

Quantity Median Worst
Position RMS vs maintainer truth (m) 0.063 0.351 (mars_14)
Static-gravity tilt, recovered (deg) 1.22
Static-gravity tilt improvement vs shipped (deg) 8.15 53.7 (outdoor_1, 16.9 → 0.28)
Held-out-baseline heading residual p95 (deg) 3.11 6.30

Heading is validated by holding out the dual-antenna baseline-heading factor over a window placed in a dual-fixed-rich region, re-solving, and scoring recovered keyframe yaw against the withheld measured baseline heading versus gap length. A gyro-rate-integral consistency witness bounds the yaw-rate increment independently, and a mars_5/6/7 shipped-attitude cross-check is applied where those runs’ attitude is trustworthy. Across 2 s, 5 s, 10 s, and 20 s held-out gaps the median recovered-yaw error p95 stays at 0.4-1.6 deg; the gyro-integral witness confirms the shape datum independently.

Covariance Calibration

The formal pose marginals are optimistic. Calibration is empirical and split by RTK regime, fitting a position-variance inflation scalar against held-out NEES computed in the world frame (the body-frame marginal translation block rotated by R Cov R^T; the world-over-body NEES ratio is 0.96, so the choice of frame barely moves the position NEES):

Regime Keyframes Raw NEES (median) Variance inflation Calibrated in-χ² fraction
Dual-fixed RTK 1218 77.5 32.8× 0.67
Float RTK 558 93.2 39.4× 0.75

The raw marginals are roughly 33-39× too tight in variance on held-out segments. The calibrated covariance is exported separately from the raw formal marginals the solve carries.

Transition Result

The transition runs add the indoor mocap flank to the outdoor RTK flank through a jointly-solved ENU↔︎mocap transform T_enu_mocap and a rigid-body↔︎PX4-IMU calibration T_body_pximu, stereo visual-odometry between-factors mapped into the IMU body frame, and per-tag in-gap fiducial factors from the pooled board-fixed map. No transition run has co-temporal ground_truth_8hz and mocap_vehicle overlap, and the raw dual-RTK rows that overlap mocap_vehicle arrive at degraded RTK status, so closure comes from the visual and inertial chain across the gap rather than a direct truth-lane overlap. All three transitions converge.

Run Gap (s) Recovered net gap displacement (m) ENU↔︎mocap yaw p95 (deg) Fiducial yaw p95 (deg) Stereo yaw-rate p95 (deg/s)
transition_1 4.97 3.19 0.22 2.13 4.33
transition_2 5.50 3.92 0.37 1.53 2.82
transition_3 11.11 3.39 0.70 1.81 4.08

The recovered net gap displacement lands in the independent 2.6-4.0 m cluster set by rs_odom onboard VIO and the marker-bridge reconstruction; the shipped ground_truth_80hz in-gap fill on transition_3 (8.05 m) is a 2.37× outlier and is excluded as a scoring lane. Transition heading is validated by three physically independent through-gap consistency checks rather than self-consistency: one rigid ENU↔︎mocap yaw that reconciles the outdoor dual-RTK heading with the indoor mocap heading, stereo yaw-rate continuity against the stereo-VO between-factors, and per-tag fiducial orientation through the board-fixed map. The gap has no fully independent absolute in-gap yaw witness, so these guard against common-mode yaw error rather than supplying a second external truth.

Dependency Studies

The Computer-Vision Feasibility Probe established that cameras can carry the transition gap and gates the vision front-end. The Visual-Inertial Bundle Adjustment provides the pooled board-fixed fiducial map and the stereo relative-pose front-end. The Camera-LRF Calibration Tests resolve the laser-range-finder beam direction with an explicit uncertainty band.

Limitations and Open Work

  • transition_3’s absolute board→ENU map registration is still metres off (the relative motion through the gap is correct and matches the marker-bridge cluster; the absolute placement of the board-fixed map in ENU is not). A corner-level fiducial bundle adjustment is the planned fix.
  • A level-then-yaw decomposition of the ENU↔︎mocap registration was tested and rejected: leveling the mocap vertical to ENU up and solving the residual yaw separately leaves transition_1/transition_2 unchanged but seeds transition_3 into a worse optimizer basin that collapses the gap displacement to ~1.9 m, so the plain SO(3)-mean registration is retained for the solve and the decomposition is kept only as an A/B diagnostic.
  • UWB, previously treated as unusable for lack of shipped anchor geometry, is being reopened: the three ground anchors are mounted on the fixed fiducial boards at the door and are recoverable in the board frame.
  • The vertical baro/LRF path and the indoor-only completion remain in progress, and the calibrated covariance still needs consolidation across all 26 flights.