-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Update EKF2 overview #3533
base: main
Are you sure you want to change the base?
Update EKF2 overview #3533
Conversation
bresch
commented
Jan 6, 2025
•
edited
Loading
edited
- add terrain state
- mention error-state formulation
- mention Joseph covariance update
- change position state to global position
- update derivation link
- add terrain state - mention error-state formulation - mention Joseph covariance update - change position state to global position
Reducing the 'fusion time horizon' delay reduces errors in the complementary filter used to propagate states forward to current time. | ||
::: | ||
|
||
The EKF uses the IMU data for state prediction only. IMU data is not used as an observation in the EKF derivation. | ||
The algebraic equations for the covariance prediction and measurement jacobians are derived using [SymForce](https://symforce.org/) and can be found here: [Symbolic Derivation](https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/ekf2/EKF/python/ekf_derivation/derivation.py). | ||
Covariance update is done using the Joseph Stabilized form to improve numerical stability and allow conditional update of independent states. |
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.
Would a link be helpful or will all readers know what this is or be able to search? https://en.wikipedia.org/wiki/Kalman_filter#Deriving_the_posteriori_estimate_covariance_matrix
No flaws found |
# Using PX4's Navigation Filter (EKF2) | ||
|
||
This tutorial answers common questions about use of the ECL EKF algorithm. | ||
This tutorial answers common questions about use of the EKF algorithm used for navigation. |
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.
@bresch This is good. Did some minor fixes for style, such as running prettier. Also fixed up all the cross links where sensible to refer to the new name.
It is excellent to provide a descriptive name for this topic such as "Using PX4's Navigation Filter (EKF2)" because it helps you understand what this is for even if you don't know what EKF is, or if you know you want the navigation filter, but you don't know what filter PX4 uses.
But what is a navigation filter? I mean, this is not a term we've had before, so is this a term that drone developers will usually expect? Is that what they would search for? I am used to seeing "state estimator".
It might be worth adding a few words. I am not sure what they should be ... but to give you and idea of what I mean...
# Using PX4's Navigation Filter (EKF2) | |
This tutorial answers common questions about use of the ECL EKF algorithm. | |
This tutorial answers common questions about use of the EKF algorithm used for navigation. | |
# Using PX4's Navigation Filter (EKF2) | |
A navigation filter is an Xxxxx. | |
PX4's navigation filter is the EKF2 algorithm, as implemented in the ECL module. | |
This tutorial answers common questions about use of the EKF and the module. |
Note, suggestion for your thought. If you think this is a great name and the text is sufficient we can merge this.