PX4 Firmware
PX4 Autopilot Software http://px4.io
Landingslope Class Reference

#include <Landingslope.hpp>

Collaboration diagram for Landingslope:

Public Member Functions

 Landingslope ()=default
 
 ~Landingslope ()=default
 
float getLandingSlopeRelativeAltitude (float wp_landing_distance)
 
float getLandingSlopeRelativeAltitudeSave (float wp_landing_distance, float bearing_lastwp_currwp, float bearing_airplane_currwp)
 
float getFlareCurveRelativeAltitudeSave (float wp_landing_distance, float bearing_lastwp_currwp, float bearing_airplane_currwp)
 
void update (float landing_slope_angle_rad_new, float flare_relative_alt_new, float motor_lim_relative_alt_new, float H1_virt_new)
 
float landing_slope_angle_rad ()
 
float flare_relative_alt ()
 
float motor_lim_relative_alt ()
 
float flare_length ()
 
float horizontal_slope_displacement ()
 

Static Public Member Functions

static float getLandingSlopeRelativeAltitude (float wp_landing_distance, float horizontal_slope_displacement, float landing_slope_angle_rad)
 
static float getLandingSlopeAbsoluteAltitude (float wp_landing_distance, float wp_landing_altitude, float horizontal_slope_displacement, float landing_slope_angle_rad)
 
static float getLandingSlopeWPDistance (float slope_altitude, float wp_landing_altitude, float horizontal_slope_displacement, float landing_slope_angle_rad)
 

Private Member Functions

void calculateSlopeValues ()
 

Private Attributes

float _landing_slope_angle_rad {0.0f}
 phi in the plot More...
 
float _flare_relative_alt {0.0f}
 h_flare,rel in the plot More...
 
float _motor_lim_relative_alt {0.0f}
 
float _H1_virt {0.0f}
 H1 in the plot. More...
 
float _H0 {0.0f}
 h_flare,rel + H1 in the plot More...
 
float _d1 {0.0f}
 d1 in the plot More...
 
float _flare_constant {0.0f}
 
float _flare_length {0.0f}
 d1 + delta d in the plot More...
 
float _horizontal_slope_displacement {0.0f}
 delta d in the plot More...
 

Detailed Description

Definition at line 45 of file Landingslope.hpp.

Constructor & Destructor Documentation

◆ Landingslope()

Landingslope::Landingslope ( )
default

◆ ~Landingslope()

Landingslope::~Landingslope ( )
default

Member Function Documentation

◆ calculateSlopeValues()

void Landingslope::calculateSlopeValues ( )
private

Definition at line 59 of file Landingslope.cpp.

References _d1, _flare_constant, _flare_length, _flare_relative_alt, _H0, _H1_virt, _horizontal_slope_displacement, and _landing_slope_angle_rad.

Referenced by update().

Here is the caller graph for this function:

◆ flare_length()

float Landingslope::flare_length ( )
inline

Definition at line 112 of file Landingslope.hpp.

References _flare_length.

Referenced by FixedwingPositionControl::control_landing(), and FixedwingPositionControl::landing_status_publish().

Here is the caller graph for this function:

◆ flare_relative_alt()

float Landingslope::flare_relative_alt ( )
inline

Definition at line 110 of file Landingslope.hpp.

References _flare_relative_alt.

Referenced by FixedwingPositionControl::control_landing().

Here is the caller graph for this function:

◆ getFlareCurveRelativeAltitudeSave()

float Landingslope::getFlareCurveRelativeAltitudeSave ( float  wp_landing_distance,
float  bearing_lastwp_currwp,
float  bearing_airplane_currwp 
)

Definition at line 89 of file Landingslope.cpp.

References _flare_constant, _flare_length, _H0, _H1_virt, f(), math::max(), and math::radians().

Referenced by FixedwingPositionControl::control_landing().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLandingSlopeAbsoluteAltitude()

float Landingslope::getLandingSlopeAbsoluteAltitude ( float  wp_landing_distance,
float  wp_landing_altitude,
float  horizontal_slope_displacement,
float  landing_slope_angle_rad 
)
static
Returns
Absolute altitude of point on landing slope at distance to landing waypoint=wp_landing_distance

Definition at line 116 of file Landingslope.cpp.

References getLandingSlopeRelativeAltitude().

Referenced by MissionFeasibilityChecker::checkFixedWingLanding().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLandingSlopeRelativeAltitude() [1/2]

float Landingslope::getLandingSlopeRelativeAltitude ( float  wp_landing_distance)
Returns
relative altitude of point on landing slope at distance to landing waypoint=wp_landing_distance

Definition at line 69 of file Landingslope.cpp.

References _horizontal_slope_displacement, and _landing_slope_angle_rad.

Referenced by getLandingSlopeAbsoluteAltitude(), and getLandingSlopeRelativeAltitudeSave().

Here is the caller graph for this function:

◆ getLandingSlopeRelativeAltitude() [2/2]

float Landingslope::getLandingSlopeRelativeAltitude ( float  wp_landing_distance,
float  horizontal_slope_displacement,
float  landing_slope_angle_rad 
)
static
Returns
Relative altitude of point on landing slope at distance to landing waypoint=wp_landing_distance

Definition at line 105 of file Landingslope.cpp.

◆ getLandingSlopeRelativeAltitudeSave()

float Landingslope::getLandingSlopeRelativeAltitudeSave ( float  wp_landing_distance,
float  bearing_lastwp_currwp,
float  bearing_airplane_currwp 
)
Returns
relative altitude of point on landing slope at distance to landing waypoint=wp_landing_distance Performs check if aircraft is in front of waypoint to avoid climbout

Definition at line 76 of file Landingslope.cpp.

References f(), getLandingSlopeRelativeAltitude(), and math::radians().

Referenced by FixedwingPositionControl::control_landing().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getLandingSlopeWPDistance()

float Landingslope::getLandingSlopeWPDistance ( float  slope_altitude,
float  wp_landing_altitude,
float  horizontal_slope_displacement,
float  landing_slope_angle_rad 
)
static
Returns
distance to landing waypoint of point on landing slope at altitude=slope_altitude

Definition at line 127 of file Landingslope.cpp.

References horizontal_slope_displacement().

Referenced by MissionFeasibilityChecker::checkFixedWingLanding().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ horizontal_slope_displacement()

float Landingslope::horizontal_slope_displacement ( )
inline

Definition at line 113 of file Landingslope.hpp.

References _horizontal_slope_displacement.

Referenced by getLandingSlopeWPDistance(), and FixedwingPositionControl::landing_status_publish().

Here is the caller graph for this function:

◆ landing_slope_angle_rad()

float Landingslope::landing_slope_angle_rad ( )
inline

Definition at line 109 of file Landingslope.hpp.

References _landing_slope_angle_rad.

Referenced by FixedwingPositionControl::landing_status_publish().

Here is the caller graph for this function:

◆ motor_lim_relative_alt()

float Landingslope::motor_lim_relative_alt ( )
inline

Definition at line 111 of file Landingslope.hpp.

References _motor_lim_relative_alt.

Referenced by FixedwingPositionControl::control_landing().

Here is the caller graph for this function:

◆ update()

void Landingslope::update ( float  landing_slope_angle_rad_new,
float  flare_relative_alt_new,
float  motor_lim_relative_alt_new,
float  H1_virt_new 
)

Definition at line 45 of file Landingslope.cpp.

References _flare_relative_alt, _H1_virt, _landing_slope_angle_rad, _motor_lim_relative_alt, and calculateSlopeValues().

Referenced by FixedwingPositionControl::init().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _d1

float Landingslope::_d1 {0.0f}
private

d1 in the plot

Definition at line 54 of file Landingslope.hpp.

Referenced by calculateSlopeValues().

◆ _flare_constant

float Landingslope::_flare_constant {0.0f}
private

Definition at line 55 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), and getFlareCurveRelativeAltitudeSave().

◆ _flare_length

float Landingslope::_flare_length {0.0f}
private

d1 + delta d in the plot

Definition at line 56 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), flare_length(), and getFlareCurveRelativeAltitudeSave().

◆ _flare_relative_alt

float Landingslope::_flare_relative_alt {0.0f}
private

h_flare,rel in the plot

Definition at line 50 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), flare_relative_alt(), and update().

◆ _H0

float Landingslope::_H0 {0.0f}
private

h_flare,rel + H1 in the plot

Definition at line 53 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), and getFlareCurveRelativeAltitudeSave().

◆ _H1_virt

float Landingslope::_H1_virt {0.0f}
private

H1 in the plot.

Definition at line 52 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), getFlareCurveRelativeAltitudeSave(), and update().

◆ _horizontal_slope_displacement

float Landingslope::_horizontal_slope_displacement {0.0f}
private

delta d in the plot

Definition at line 57 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), getLandingSlopeRelativeAltitude(), and horizontal_slope_displacement().

◆ _landing_slope_angle_rad

float Landingslope::_landing_slope_angle_rad {0.0f}
private

phi in the plot

Definition at line 49 of file Landingslope.hpp.

Referenced by calculateSlopeValues(), getLandingSlopeRelativeAltitude(), landing_slope_angle_rad(), and update().

◆ _motor_lim_relative_alt

float Landingslope::_motor_lim_relative_alt {0.0f}
private

Definition at line 51 of file Landingslope.hpp.

Referenced by motor_lim_relative_alt(), and update().


The documentation for this class was generated from the following files: