-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
Tecs: restore pitch integrator when fast descends ends #24216
base: main
Are you sure you want to change the base?
Conversation
🔎 FLASH Analysispx4_fmu-v5x [Total VM Diff: 192 byte (0.01 %)]
px4_fmu-v6x [Total VM Diff: 192 byte (0.01 %)]
Updated: 2025-01-15T10:04:48 |
Isn't "fast descend" some emergency logic that should only kick in some rare cases when altitude tracking is degraded (e.g.: wind gust)? In an emergency case that should never occur, do we really need a perfect behavior? To explain a bit my question, my fear is that we start to completely rely on fast descend because tuning a vehicle is too complicated and that a ton of extra logic needs to be added as an attempt to shape the desired response. The result would be an overcompicated TECS code with a completely nonlinear an unpredictable behavior. |
No, when fast descend is enabled it will always be on when trying to descend above a threshold. We use it to cut down the loiter down time significantly. The problem with the other TECS logic is that it will always try to keep the cruising airspeed as well so the descend speed is limited by that. In fast descend we allow for descending with higher airspeed, something you nromally want to have as an option. So not only emergencies
I get what you mean. Ideally there is an easier way to switch TECS between at least a few modes (Normal altitude/airspeed tracking, thrust/speed tracking where i can define a thrust input and define speed to be tracked for pitch loop, and maybe altitude tracking only). But that would mean to make Tecs structured a bit better and have those modes separated |
Maybe we can even et away with it by just tuning for faster ptch integrator and changing the speed weight. |
Solved Problem
When engaging fast descend the pitch integrator usually changes to pitch, as the pitch control loop controls the airspeed. When the fast descend ends and the AV approaches the target altitude, the Av thus tends to undershoot it a bit until the pitch integrator is back close to the original value.
Fixes #{Github issue ID}
Solution
Changelog Entry
For release notes:
Test coverage
Flight log of integrator without the fix:
Flight log with integrator fix:
Still needs to be tested!