EKF: Rework nav validity reporting

Remove duplicate checking for dead reckoning and consolidate into a single function.
Use separate timers to check for start of dead reckoning and check when dead reckoning has been performed for too long for the nav solution to be valid.
Allow the timeout for validity reporting to be adjusted externally.
Separate external reporting of dead reckoning from internal checks.
This commit is contained in:
Paul Riseborough
2018-04-21 13:04:04 -04:00
committed by Daniel Agar
parent bd72f3c521
commit 9747dc778d
6 changed files with 21 additions and 13 deletions
+2
View File
@@ -326,6 +326,8 @@ struct parameters {
///< the EKF will report that it has been inertial dead-reckoning for too long and needs to revert to a
/// mode that doesn't privide horizontal vbelocity and position estimates (uSec)
int32_t valid_timeout_max{5000000}; ///< amount of time spent inertial dead reckoning before the estimator reports the state estimates as invalid (uSec)
// multi-rotor drag specific force fusion
float drag_noise{2.5f}; ///< observation noise variance for drag specific force measurements (m/sec**2)**2
float bcoef_x{25.0f}; ///< ballistic coefficient along the X-axis (kg/m**2)