Update state interface to current cflib - #113
Merged
Merged
Conversation
main landed the body rate control interface as a squashed commit (#112), which conflicted with this branch's copy of the same work. Resolved in favour of main's reviewed structure and reapplied the 16-element state interface on top: - Examples use main's trajectory/control split with the 16D command. - test_body_rate_interface uses main's direct rate tracking test. - Docs keep main's wording, with the state command at 16D and body rate entries named wx, wy, wz. - Dropped the MellingerBodyRateData class that the merge duplicated.
ratheron
force-pushed
the
fix.state_interface
branch
from
September 14, 2026 16:12
8e4e844 to
6392a8f
Compare
amacati
approved these changes
Sep 14, 2026
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.
Due to the implementation in cflib2 #13, we can implement it here as well. Had to change some docs and examples as well. I decided to always compute the state quat with
cmd[..., 9:13] = R.from_euler("z", yaw).as_quat(). This should prime users to also do it properly. However, users that just put zeros as state commands will experience errors. We could wrap the controller, but I think we shouldn't. The official cflib implementation would also just crash.Closes #76