Skip to content

Update state interface to current cflib - #113

Merged
ratheron merged 8 commits into
mainfrom
fix.state_interface
Sep 15, 2026
Merged

ratheron merged 8 commits into
mainfrom
fix.state_interface

Conversation

@ratheron

@ratheron ratheron commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

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

@ratheron
ratheron requested a review from amacati as a code owner September 14, 2026 15:02
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
ratheron merged commit 1421b88 into main Sep 15, 2026
6 checks passed
@ratheron
ratheron deleted the fix.state_interface branch September 15, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Mellinger state interface to match cflib

2 participants