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

Add option to make EKF3 more robust to bad IMU and lagged GPS data #24135

Merged
merged 3 commits into from
Aug 16, 2023

Conversation

priseborough
Copy link
Contributor

@priseborough priseborough commented Jun 25, 2023

This provides an alternative to #23030.

Setting EK3_GLITCH_RAD will prevent the EKF from rejecting GPS position and velocity measurements if innovation checks fail. Instead the innovation variance is increased to a value that just passes the measurement which de-weights the measurement but still allows it to be used, ensuring that the EKF always provides a position and velocity estimate.

This has been tested on replay of a log provided from an ArduCopter AUTO mission with 3.5g manoeuvre peaks.

Screen Shot 2023-06-25 at 7 03 45 pm Screen Shot 2023-06-25 at 6 58 40 pm Screen Shot 2023-06-25 at 7 09 34 pm

Commit 219fd3e has been extensively flight tested by @andyp1per , however commit 8e120d8 has only been replay tested.

We need flight testing in setups that can exceed the 4g GPS manoeuvre limit.

@priseborough priseborough force-pushed the pr-ekf3-gps-velpos-igate-mod branch from 61caef6 to 60a2fc4 Compare June 25, 2023 09:39
@andyp1per
Copy link
Collaborator

Thanks Paul, I will do some more testing!

@priseborough
Copy link
Contributor Author

@andyp1per did some testing and the logs show that with the changes, the EKF continued to navigate during higher g maneouvres. Inconsistency between GPS and inertial nav did build up, but recovered quickly when the maneouvres finished.

There is work to do in Copter::ekf_over_threshold() and Copter::ekf_check() so that it doesn't react as quickly to transient increases in the innovation test ratios, but that should be addressed in a separate PR.

Screenshot 2023-08-15 at 9 22 48 pm Screenshot 2023-08-15 at 9 22 56 pm Screenshot 2023-08-15 at 9 23 21 pm Screenshot 2023-08-15 at 9 23 04 pm

Copy link
Collaborator

@andyp1per andyp1per left a comment

Choose a reason for hiding this comment

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

Great work and thanks!

@Hwurzburg Hwurzburg added the WikiNeeded needs wiki update label Aug 15, 2023
@tridge tridge merged commit e3c0175 into ArduPilot:master Aug 16, 2023
@rmackay9
Copy link
Contributor

This may resolve this issue #23594

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EKF WikiNeeded needs wiki update
Projects
Status: 4.4.1-beta1
Status: 4.4.1-beta1
Development

Successfully merging this pull request may close these issues.

6 participants