42 #include <mathlib/mathlib.h> 46 float flare_relative_alt_new,
47 float motor_lim_relative_alt_new,
77 float bearing_airplane_currwp)
80 if (fabsf(bearing_airplane_currwp - bearing_lastwp_currwp) <
math::radians(90.0
f)) {
90 float bearing_airplane_currwp)
93 if (fabsf(bearing_airplane_currwp - bearing_lastwp_currwp) <
math::radians(90.0
f)) {
109 return (wp_landing_distance - horizontal_slope_displacement) * tanf(landing_slope_angle_rad);
120 landing_slope_angle_rad) + wp_landing_altitude;
void update(float landing_slope_angle_rad_new, float flare_relative_alt_new, float motor_lim_relative_alt_new, float H1_virt_new)
static float getLandingSlopeAbsoluteAltitude(float wp_landing_distance, float wp_landing_altitude, float horizontal_slope_displacement, float landing_slope_angle_rad)
float _flare_relative_alt
h_flare,rel in the plot
float getLandingSlopeRelativeAltitudeSave(float wp_landing_distance, float bearing_lastwp_currwp, float bearing_airplane_currwp)
float _H1_virt
H1 in the plot.
float getLandingSlopeRelativeAltitude(float wp_landing_distance)
float _flare_length
d1 + delta d in the plot
float _horizontal_slope_displacement
delta d in the plot
float landing_slope_angle_rad()
constexpr T radians(T degrees)
Vector< float, 6 > f(float t, const Matrix< float, 6, 1 > &, const Matrix< float, 3, 1 > &)
void calculateSlopeValues()
float _H0
h_flare,rel + H1 in the plot
static float getLandingSlopeWPDistance(float slope_altitude, float wp_landing_altitude, float horizontal_slope_displacement, float landing_slope_angle_rad)
float getFlareCurveRelativeAltitudeSave(float wp_landing_distance, float bearing_lastwp_currwp, float bearing_airplane_currwp)
float _motor_lim_relative_alt
constexpr _Tp max(_Tp a, _Tp b)
float horizontal_slope_displacement()
float _landing_slope_angle_rad
phi in the plot