-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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 Brescianini controller #1156
Conversation
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.
I think it's great to have this! I just don't like the naming: i) this seems to also be a position controller, not only attitude; ii) most other controllers are also non-linear (like Mellinger or INDI). Perhaps we can just name it by the name again: controller_brescianini?
Sounds like a good name, I'll change it. I started with Mike's controller but that did not feel right :-) |
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.
Looks good to me. Awesome that we finally have Mike's controller in the firmware's git!
This PR adds a non linear attitude controller by Brescianini, originally written by Mike Hamer. The code has been adjusted to fit the current framework. Also, matrix, vector and quaternion operations use the math3d lib instead of the CMSIS lib to make it testable from python.
Note: the controller uses the SI units in the power distribution system and it should be converted to use normalized forces instead to make it easier to adjust for different platforms.