-
Notifications
You must be signed in to change notification settings - Fork 14.6k
[WIP] Limited airmode #22706
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
base: main
Are you sure you want to change the base?
[WIP] Limited airmode #22706
Conversation
Old mixers? |
Initial commits from this pr were merged already here: #21256 |
3fa95d5
to
ca786e8
Compare
🔎 FLASH Analysispx4_fmu-v5x [Total VM Diff: 216 byte (0.01 %)]
px4_fmu-v6x [Total VM Diff: 192 byte (0.01 %)]
Updated: 2025-05-05T13:50:51 |
This reverts commit f7dadd9.
…uplicating definitions
from information previously only available in the commit message.
ca786e8
to
929581d
Compare
Yes it does. I was thinking though perhaps we pull airmode into its own section of multicopter tuning. That might seem even more relevant if this is something that we expect people to read (now you made this change). At the moment most will not read that doc, because the assumption is that the autotuning does most of what people need. |
…ture This makes it much easier to go through allocation secnarios in one line with comprehensive numbers.
…st cases to improved fixture
…s into new unit tests
929581d
to
9fa2040
Compare
Solved Problem
It's always hard to enable airmode on a product, project, ... because it can amplify any problems with rate control instability like wrong autopilot orientation, wrong motor directions, strong oscillations. That's also why it's disabled by default and should only be enabled after initial test flights. Also once airmode is enabled the minimum thrust can be lowered to zero because it's only there to keep rate control authority.
Solution
Instead of disabling airmode by default and having a minimum thrust commanded to the motors all the time I suggest to always have a limited airmode which can only have as much of an effect as the minimum thrust had before again configurable.
Changelog Entry
Documentation: Needs to be updated: https://docs.px4.io/main/en/config_mc/pid_tuning_guide_multicopter.html#airmode-mixer-saturation
Test coverage
I got hung up in unit testing of corner cases. Unsaturation behaves slightly different than before. I'm convinced it's better but couldn't proof that yet.