mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-19 23:28:32 -04:00
925c5751bd
This will enable in-flight magnetometer calibration to be inhibited unconditionally, This is required for long balloon carriage flights where ground speed can be high enough to put it into in-air state, but with very poor observability of magnetic field states causing bad state estimates and heading offsets to develop over time. The covariance matrix no longer has rows and columns artificially zeroed when in static mode. Instead booleans indicating whether wind or magentic field state estimation is active are used to: a) Set the process noise on these states to zero to stop their variances from increasing unchecked when not being updated, and b) Turn off updates for these states when measurement fusion is being performed. This reduces the likelihood of a badly conditioned covariance matrix forming during static mode operation. A filter divergence check has also been added that will declare the filter unhealthy if position, velocity and magnetic field observations are all failing their innovation consistency checks. This unhealthy status will persist for 10 seconds after the condition clears. AP_NavEKF: Remove unnecessary zeroing of wind covariances |
||
---|---|---|
.. | ||
AP_NavEKF.cpp | ||
AP_NavEKF.h |