A six-state MEKF attitude filter - #144
Open
bjornhbengtsson wants to merge 7 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a six-state Multiplicative Extended Kalman Filter (MEKF) for attitude estimation using gyroscope prediction and accelerometer gravity-direction correction.
The nominal state contains a body-to-world attitude quaternion and a three-axis gyroscope-bias estimate. The Kalman error state contains three local attitude-error components and three gyro-bias-error components with a 6x6 covariance matrix.
Key changes
Conventions
Larger Documentation
References:
Made with assistance of GPT-5.6 Sol
Issue Link
Related to closing: #64
Parent PR: #142
Testing
MEKF unit tests are included directly in this PR.
MEKF unit-test result:
Passes: 722
Fails: 0
Result: PASS
Other
Magnetometer correction is intentionally deferred until hard-iron/soft-iron calibration and sensor-to-body orientation are verified.
Other simulation and validation will be completed separately.
Reviewer Checklist
Standards
Error Handling
Memory
Performance