From ca4932cfc0debacd81dfd1182634d91afca5ecb3 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Tue, 6 Jul 2021 14:13:05 -0400 Subject: [PATCH] EKF: initialize vertical position and velocity variables - otherwise checkVerticalAccelerationHealth() can fail if GPS or EV aren't available to correctly set vertical velocity fusion time and innovation ratio --- EKF/ekf.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EKF/ekf.h b/EKF/ekf.h index 58054d69a5..1f08c143d2 100644 --- a/EKF/ekf.h +++ b/EKF/ekf.h @@ -408,10 +408,10 @@ private: Vector3f _last_vel_obs; ///< last velocity observation (m/s) Vector3f _last_vel_obs_var; ///< last velocity observation variance (m/s)**2 Vector2f _last_fail_hvel_innov; ///< last failed horizontal velocity innovation (m/s)**2 - float _vert_pos_innov_ratio; ///< vertical position innovation divided by estimated standard deviation of innovation - uint64_t _vert_pos_fuse_attempt_time_us; ///< last system time in usec vertical position measurement fuson was attempted - float _vert_vel_innov_ratio; ///< standard deviation of vertical velocity innovation - uint64_t _vert_vel_fuse_time_us; ///< last system time in usec time vertical velocity measurement fuson was attempted + float _vert_pos_innov_ratio{0.f}; ///< vertical position innovation divided by estimated standard deviation of innovation + uint64_t _vert_pos_fuse_attempt_time_us{0}; ///< last system time in usec vertical position measurement fuson was attempted + float _vert_vel_innov_ratio{0.f}; ///< standard deviation of vertical velocity innovation + uint64_t _vert_vel_fuse_time_us{0}; ///< last system time in usec time vertical velocity measurement fuson was attempted Vector3f _gps_vel_innov; ///< GPS velocity innovations (m/sec) Vector3f _gps_vel_innov_var; ///< GPS velocity innovation variances ((m/sec)**2)