diff --git a/src/modules/commander/failure_detector/FailureDetector.cpp b/src/modules/commander/failure_detector/FailureDetector.cpp index e47532856603..585e91116865 100644 --- a/src/modules/commander/failure_detector/FailureDetector.cpp +++ b/src/modules/commander/failure_detector/FailureDetector.cpp @@ -394,7 +394,9 @@ void FailureDetector::updateMotorStatus(const vehicle_status_s &vehicle_status, } // Check if ESC telemetry was available and valid at some point. This is a prerequisite for the failure detection. - if (!(_motor_failure_esc_valid_current_mask & (1 << i_esc)) && cur_esc_report.esc_current > 0.0f) { + static constexpr float kMinExpectedCurrent = 1.f; // we consider the current measurement valid if ever above this value + + if (!(_motor_failure_esc_valid_current_mask & (1 << i_esc)) && cur_esc_report.esc_current > kMinExpectedCurrent) { _motor_failure_esc_valid_current_mask |= (1 << i_esc); }