-
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
Fixed Wing: Compensate minimum sink rate based on weight ratio and air density #22049
Conversation
… density Signed-off-by: RomanBapst <[email protected]>
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.
Are you still working on this one? - looks like geMinimumSinkRate()
isnt actually called anywhere..
/** | ||
* @brief Return the maximum climb rate achievable under the current conditions. | ||
* @return Maximum climbrate. | ||
*/ |
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.
thanks for writing a brief - can you list the conditions that are considered, and can you add units to the @return
?
|
||
/** | ||
* @brief Return the minimum sink rate achievable under the current conditions. | ||
* @return Minimum sink rate. | ||
*/ |
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.
same comment
also you can replace this with your new encapsulated weight ratio method PX4-Autopilot/src/modules/fw_pos_control/FixedwingPositionControl.cpp Lines 466 to 469 in d6a770a
|
Signed-off-by: RomanBapst <[email protected]>
Closing in favor of #22091 |
Solved Problem
The minimum sink rate (gliding) of a fixed wing is a function of vehicle weight, air density, wing area and the airfoil polars.
While the wing area and the polars are generally constant, the weight and the air density are likely to change.
In PX4 the parameter
FW_T_SINK_MIN
determines the mapping between commanded sink rate and throttle output. If the commanded sinkrate equals or exceedsFW_T_SINK_MIN
then generally TECS will command minimum throttle (since we are gliding or maybe even descending faster).Since the minimum sink rate changes with weight and air density, it's important to compensate for this, as it affects how well TECS tracks desired energy rate.
For both the vehicle weight and the air density there is a square root relation to sinkrate. This makes compensation based on these two factors straightforward.
where$S$ is the wing area.
Solution
Compensate minimum sink rate based on weight ration and air density.
Changelog Entry
For release notes:
Test coverage
Context
Related links, screenshot before/after, video