Implement Mahony filter for attitude estimation - #142
Open
bjornhbengtsson wants to merge 7 commits into
Open
Conversation
Contributor
|
Yeeeeeees 🔥🔥🔥🔥🔥🔥will review soon |
Contributor
|
2600 line test 💀 wdym |
18 tasks
Author
|
Yeah I think its nuts too 🐿️ |
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
Implements the Mahony attitude filter for quaternion based attitude estimation.
The filter maintains a body to world attitude quaternion using body frame gyroscope propagation with proportional and integral accelerometer feedback.
Changes include:
Issue Link
Depends on #138
#138
Closes #141
#141
Testing
Mahony unit test results:

-------------Test Complete--------------
Passes: 20141
Fails: 0
Result: PASS
note: there are about 23 test cases which is substantial enough, but what really causes the 20141 (which is huge) is the test framework counting every assertion inside every loop.
Math test results:
-------------Test Complete--------------
Passes: 26
Fails: 0
Result: PASS
Other
Accelerometer correction is only applied when:
When accelerometer feedback is disabled or rejected, the filter continues using gyroscope only propagation.
The current accelerometer thresholds, proportional gain, integral gain, and integral limit are initial software values. Final tuning should be performed using hardware characterization, vibration testing, and flight data.
Deferred work includes:
Reviewer Checklist
Standards
Error Handling
Memory
Performance