Skip to content
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

Merged
merged 3 commits into from
Feb 4, 2019

Conversation

priseborough
Copy link
Contributor

@priseborough priseborough commented Jan 30, 2019

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:

screen shot 2019-01-31 at 8 51 26 am

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.

screen shot 2019-01-31 at 9 10 35 am

Test data / coverage
Request for testing from affected users in #10833 .

success = false;
goto out;
}
}

if (fabsf(status.states[13]) > test_limit || fabsf(status.states[14]) > test_limit
Copy link
Member

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?

Copy link
Contributor Author

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.

Copy link
Member

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants