Skip to content
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

Plane: Allow lower speeds in landing final #29265

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

rubenp02
Copy link
Contributor

Plane: Allow lower speeds in landing final

Description

This PR allows for lower airspeeds during the landing final while maintaining appropriate limits during other phases of the flight, including the landing approach phase, if AIRSPEED_STALL is set. This enables smoother/slower landings when a conservative AIRSPEED_MIN is used, which previously resulted in fast touchdowns.

Changes

  • Relaxed target airspeed constraints in navigation.cpp to allow for target airspeeds as low as AIRSPEED_STALL if set. This enables the following changes while maintaining safety, as the TECS further constraints the target airspeed as appropriate.
  • Added a method to the landing controller to determine if the aircraft is on landing final.
  • Adjusted the TECS airspeed constraints during landing final to allow speeds as low as AIRSPEED_STALL, if set.
  • Corrected an inaccuracy in the AIRSPEED_STALL parameter description (this can be moved to a separate PR if required, but I thought it was small enough to include here).
  • Updated the AIRSPEED_STALL parameter description to explain its new role during landing.

Relaxed target airspeed constraints in navigation.cpp to allow for
target airspeeds as low as the AIRSPEED_STALL if set. The TECS will
still further constrain the target airspeed as appropriate.
Introduced the is_on_final public method, which determines if the
landing is at the pre-flare stage or later, so the aircraft is on final
for landing. Similar to the existing is_flaring and is_on_approach
methods.
Previously the TECS never allowed for a speed demand outside of the
navigation airspeed range (AIRSPEED_MIN to AIRSPEED_MAX), even on
landing final. This can be too fast for touchdown if a conservative
AIRSPEED_MIN is used, which might be preferable for other phases of
flight.

This commit lowers the min. airspeed to AIRSPEED_STALL, if set, during
landing final only. Using a value of TECS_LAND_ARSPD or LAND_PF_ARSPD
lower than AIRSPEED_MIN, it enables slower touchdowns while ensuring the
rest of the flight remains safely at or above AIRSPEED_MIN.
Corrected the AIRSPEED_STALL parameter description, which stated that it
was an indicated airspeed. More accurately, according to its TECS
implementation and in line with the other airspeed parameters, it is a
true airspeed (or an indicated airspeed at sea level).
Updated the AIRSPEED_STALL parameter description to explain its effects
on the landing final
@Hwurzburg Hwurzburg added the WikiNeeded needs wiki update label Feb 10, 2025
Copy link
Collaborator

@Hwurzburg Hwurzburg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is a change in behavior, probably should be a flight option with current behavior as default.

@rubenp02
Copy link
Contributor Author

rubenp02 commented Feb 10, 2025

Since this is a change in behavior, probably should be a flight option with current behavior as default.

It could be added to LAND_OPTIONS, but currently you need to have AIRSPEED_STALL specified, and TECS_LAND_ARSPD or LAND_PF_ARSPD set to a value lower than AIRSPEED_MIN for this to do anything different than the current behavior. What do you think?

@Hwurzburg
Copy link
Collaborator

Up to @tridge ...many set airspeed_stall, but default for landing airspeed is 1/2 way between min and cruise....so probably not a big deal...

@rubenp02 rubenp02 requested a review from Hwurzburg February 13, 2025 08:27
@Hwurzburg Hwurzburg requested a review from IamPete1 February 13, 2025 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WikiNeeded needs wiki update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants