-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
FW Rate Controller: fix saturation logic for VTOLs with differential thrust enabled #21713
Conversation
You mean integrator part I assume? We had similar problems on helicopters. The allocation now does some interfacing with the saturation logic, it works but is not ideal: Lines 222 to 254 in fc35792
Definitely 💯 |
a9ee838
to
1c6088b
Compare
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.
@sfuhrer I reworked it 😇 What do you think? Please check if it really works as expected.
1c6088b
to
687c049
Compare
This helps for more complicated cases where certain axes are controlled through and get feedback from a different allocator.
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
687c049
to
31a18e5
Compare
@MaEtUgR thanks a lot for the rework, much cleaner and it now even does what it was intended to do. |
bfba259
to
35b49bc
Compare
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.
👍
…esn't have VTOL module built Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
35b49bc
to
5ce63a6
Compare
CI was complaining about _param_vt_fw_difthr_en being int and not int32_t. Addressed and force pushed. |
Context: #21501 (comment)
Solved Problem
Actuator saturation logic in the FW rate controller was not working as intended if the actuators for a certain axis aren't in the matrix 1 (servo matrix) for VTOL. That led to the rate controller being very often disabled as the controller thought it the axis was saturated. That in turn leads to very bad rate tracking.
It is most prominent when flying a Quad tailsitter without control surfaces, as in this case all 3 axis are affected.
Solution
Add logic for when to use which allocation matrix.
Changelog Entry
For release notes:
Alternatives
We need to work towards keeping this customization per vehicle in the allocation.
Test coverage
SITL tested.
I would port this to 1.14.