-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce false positives in pre-flight accel bias check #11350
Conversation
success = false; | ||
goto out; | ||
} | ||
} | ||
|
||
if (fabsf(status.states[13]) > test_limit || fabsf(status.states[14]) > test_limit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove the original "High Accelerometer Bias" check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reporting the reason for failure if report_fail is true is consistent with the way other test failures are handled.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this new "High Accelerometer Bias" check with uncertainty a replacement for the existing "High Accelerometer Bias"? The existing check is still going to trigger, and hence not reduce the number of false positives.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will fix.
Addresses issue #10833
This PR adjusts the test threshold so that the threshold is scaled up with increasing uncertainty in state estimate. Eventually given sufficient acceleration/rotation all delta velocity bias variances collapse to 5E-8, eg:
which equates to an effective test threshold of 1.73E-3 + 3*sqrt(5E-8) = 2.4E-3 which is the same as the previous threshold and equates to an accel bias of 2.4E-3 / dtEKF = 2.4E-3 / 8E-3 = 0.3 m/s/s
Note that the EKF internally limits the max bias estimate to within an equivalent +-0.4 m/s/s, so we need this check to stay inside that range.
The horizontal axes are poorly observable when on ground and the variances remain high until the vehicle is moved/tilted. In the example shown below the XY axes stay at 100E-8 which would result in a test threshold of (1.73E-3 + 3*sqrt(100E-8)) / 8E-3 = 0.59 m/s/s which would not trigger.
Test data / coverage
Request for testing from affected users in #10833 .