From fc155bc57e284cd5443b9bf2f202b8841c00f00c Mon Sep 17 00:00:00 2001 From: bresch Date: Thu, 18 Nov 2021 11:22:17 +0100 Subject: [PATCH] Ekf2Selector: declare filter unhealthy when high test ratio Request a switch to another instance when the combined test ratio is too high. --- src/modules/ekf2/EKF2Selector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ekf2/EKF2Selector.cpp b/src/modules/ekf2/EKF2Selector.cpp index 95a8d30a55..1169aeff9a 100644 --- a/src/modules/ekf2/EKF2Selector.cpp +++ b/src/modules/ekf2/EKF2Selector.cpp @@ -293,7 +293,7 @@ bool EKF2Selector::UpdateErrorScores() float combined_test_ratio = fmaxf(0.5f * (status.vel_test_ratio + status.pos_test_ratio), status.hgt_test_ratio); _instance[i].combined_test_ratio = combined_test_ratio; - _instance[i].healthy = (status.filter_fault_flags == 0) && (combined_test_ratio > 0.f); + _instance[i].healthy = (status.filter_fault_flags == 0) && (combined_test_ratio > 0.f) && (combined_test_ratio < 1.f); _instance[i].filter_fault = (status.filter_fault_flags != 0); _instance[i].timeout = false;