NavCore-Pixhawk v2.0.0 — SR-ESKF & Aviation-Grade Safety #12
Replies: 3 comments 9 replies
|
Great work on v2.0.0. The SR-ESKF upgrade is a solid move - eigenvalue clamping was always a workaround so replacing it properly is the right call RAIM and MHT together is a smart combo for handling GPS jumps after long outages RK4 integration and IEKF for nonlinear sensors are good improvements too. One question - what DEM resolution are you using for the TRN module with the Livox point cloud? Curious how it holds up at different altitudes. Overall a very clean release, the NEES/NIS checks in the test suite are a nice touch. |
|
Really impressive jump from v1 the SR-ESKF is the right call, eigenvalue clamping was always a hack that masked the real problem rather than solving it. RAIM + MHT together is a solid combo, especially for urban or tunnel re-acquisition scenarios where native GPS trust just breaks things. Curious how the MHT hypothesis cap holds up on the Pi4 under full sensor load and with the RLS mag calibration running continuous, are you using a forgetting factor to handle hard-iron shifts mid-flight? The NEES/NIS test coverage is a nice touch too, most projects skip that and just report RMSE. What DEM resolution are you targeting for TRN? |
|
Amazing work on getting v2.0.0 out, Arya! The shift to SR-ESKF and dropping the eigenvalue clamping is a massive stability win for the core filter. I was looking at the compute load you mentioned regarding the Pi4 handling the MHT and TRN point cloud processing via the ThreadPoolExecutor. Since we know that STM32 microcontrollers are highly effective for deterministic, high-frequency execution compared to ESP-series chips or handling everything on a single SBC, have you considered offloading some of the tight-loop sensor ingestion? Pushing the RK4 quaternion integration or the 100Hz EMA mag calibration down to a dedicated STM32 co-processor could free up valuable overhead on the Pi4 for the shadow hypotheses and terrain cross-correlation. Happy to help stress-test the telemetry handling or run some simulations with this new stack if you need an extra set of hands! |
Uh oh!
There was an error while loading. Please reload this page.
This is a major upgrade from v1.0.0. The biggest change is the core filter — I rewrote the ESKF to use Square-Root covariance factorization, which means the covariance matrix can never go numerically unstable during long GPS-denied flights. Previously we were using eigenvalue clamping as a hack to keep things stable, that's gone now.
Added RAIM integrity monitoring so the system can detect and exclude bad GPS measurements instead of blindly trusting them. Multi-Hypothesis Tracking handles the case where GPS jumps after a long outage — instead of trusting the jump immediately, the filter maintains shadow hypotheses and picks the best one.
On the sensor side, magnetometer now does continuous RLS hard/soft-iron calibration during flight, and there's a basic Terrain Relative Navigation module using the Livox point cloud matched against a DEM.
Quaternion integration was upgraded from first-order Euler to RK4, which reduces attitude drift at high angular rates. Measurement updates now use iterated EKF (IEKF) for nonlinear sensors like UWB and tight GPS.
Test suite expanded to 30+ tests including Monte Carlo validation, GPS outage recovery metrics, and NEES/NIS filter consistency checks.
This discussion was created from the release NavCore-Pixhawk v2.0.0 — SR-ESKF & Aviation-Grade Safety.
All reactions