AHRS: check for bad values in the error before they can affect DCM

this should fix the DCM renorm errors in autotest, probably caused by
bad climb rates
This commit is contained in:
Andrew Tridgell 2012-08-18 13:53:59 +10:00
parent 81cd4b6c13
commit 14cdbd36cb

View File

@ -553,6 +553,12 @@ AP_AHRS_DCM::drift_correction(float deltat)
// convert the error term to body frame
error = _dcm_matrix.mul_transpose(error);
if (error.is_nan() || error.is_inf()) {
// don't allow bad values
check_matrix();
return;
}
_error_rp_sum += error.length();
_error_rp_count++;