EKF: capture innovation checks and reset events in separate variables

rename the innovation check status class variable and remove the reset flags from it.
This commit is contained in:
Paul Riseborough
2016-06-01 17:13:00 +10:00
parent 79705da7e6
commit 65da9173b9
8 changed files with 22 additions and 26 deletions
+6 -6
View File
@@ -204,25 +204,25 @@ void Ekf::fuseVelPosHeight()
// record the successful velocity fusion event
if (vel_check_pass && _fuse_hor_vel) {
_time_last_vel_fuse = _time_last_imu;
_sensor_fault_status.flags.reject_vel_NED = false;
_innov_check_fail_status.flags.reject_vel_NED = false;
} else if (!vel_check_pass) {
_sensor_fault_status.flags.reject_vel_NED = true;
_innov_check_fail_status.flags.reject_vel_NED = true;
}
// record the successful position fusion event
if (pos_check_pass && _fuse_pos) {
_time_last_pos_fuse = _time_last_imu;
_sensor_fault_status.flags.reject_pos_NE = false;
_innov_check_fail_status.flags.reject_pos_NE = false;
} else if (!pos_check_pass) {
_sensor_fault_status.flags.reject_pos_NE = true;
_innov_check_fail_status.flags.reject_pos_NE = true;
}
// record the successful height fusion event
if (innov_check_pass_map[5] && _fuse_height) {
_time_last_hgt_fuse = _time_last_imu;
_sensor_fault_status.flags.reject_pos_D = false;
_innov_check_fail_status.flags.reject_pos_D = false;
} else if (!innov_check_pass_map[5]) {
_sensor_fault_status.flags.reject_pos_D = true;
_innov_check_fail_status.flags.reject_pos_D = true;
}
for (unsigned obs_index = 0; obs_index < 6; obs_index++) {