Paparazzi UAS  v5.2.2_stable-0-gd6b9f29
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
guidance_v.h File Reference

Vertical control for fixed wing vehicles. More...

#include <inttypes.h>
#include "paparazzi.h"
+ Include dependency graph for guidance_v.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define V_CTL_MODE_MANUAL   0
 
#define V_CTL_MODE_AUTO_THROTTLE   1
 
#define V_CTL_MODE_AUTO_CLIMB   2
 
#define V_CTL_MODE_AUTO_ALT   3
 
#define V_CTL_MODE_NB   4
 
#define V_CTL_CLIMB_MODE_AUTO_THROTTLE   0
 
#define V_CTL_CLIMB_MODE_AUTO_PITCH   1
 
#define V_CTL_AUTO_THROTTLE_STANDARD   0
 
#define V_CTL_AUTO_THROTTLE_AGRESSIVE   1
 
#define V_CTL_AUTO_THROTTLE_BLENDED   2
 
#define guidance_v_SetCruiseThrottle(_v)
 
#define guidance_v_SetAutoThrottleIgain(_v)
 

Functions

void v_ctl_init (void)
 
void v_ctl_altitude_loop (void)
 outer loop More...
 
void v_ctl_climb_loop (void)
 Auto-throttle inner loop. More...
 
void v_ctl_throttle_slew (void)
 Computes throttle_slewed from throttle_setpoint. More...
 

Variables

uint8_t v_ctl_mode
 
float v_ctl_altitude_error
 in meters, (setpoint - alt) -> positive = too low More...
 
float v_ctl_altitude_setpoint
 in meters above MSL More...
 
float v_ctl_altitude_pre_climb
 Path Angle. More...
 
float v_ctl_altitude_pgain
 
float v_ctl_altitude_pre_climb_correction
 
float v_ctl_altitude_max_climb
 
float v_ctl_climb_setpoint
 
uint8_t v_ctl_climb_mode
 
uint8_t v_ctl_auto_throttle_submode
 
float v_ctl_auto_throttle_nominal_cruise_throttle
 
float v_ctl_auto_throttle_min_cruise_throttle
 
float v_ctl_auto_throttle_max_cruise_throttle
 
float v_ctl_auto_throttle_cruise_throttle
 
float v_ctl_auto_throttle_climb_throttle_increment
 
float v_ctl_auto_throttle_pgain
 
float v_ctl_auto_throttle_igain
 
float v_ctl_auto_throttle_dgain
 
float v_ctl_auto_throttle_sum_err
 
float v_ctl_auto_throttle_pitch_of_vz_pgain
 
float v_ctl_auto_throttle_pitch_of_vz_dgain
 
float v_ctl_auto_pitch_pgain
 
float v_ctl_auto_pitch_igain
 
float v_ctl_auto_pitch_sum_err
 
pprz_t v_ctl_throttle_setpoint
 
pprz_t v_ctl_throttle_slewed
 
float v_ctl_pitch_setpoint
 

Detailed Description

Vertical control for fixed wing vehicles.

Definition in file guidance_v.h.

Macro Definition Documentation

#define guidance_v_SetAutoThrottleIgain (   _v)
Value:
{ \
}
float v_ctl_auto_throttle_sum_err
Definition: energy_ctrl.c:80
float v_ctl_auto_throttle_igain
Definition: guidance_v.c:61

Definition at line 118 of file guidance_v.h.

#define guidance_v_SetCruiseThrottle (   _v)
Value:

Definition at line 113 of file guidance_v.h.

#define V_CTL_AUTO_THROTTLE_AGRESSIVE   1

Definition at line 58 of file guidance_v.h.

#define V_CTL_AUTO_THROTTLE_BLENDED   2

Definition at line 59 of file guidance_v.h.

#define V_CTL_AUTO_THROTTLE_STANDARD   0

Definition at line 57 of file guidance_v.h.

#define V_CTL_CLIMB_MODE_AUTO_PITCH   1

Definition at line 54 of file guidance_v.h.

#define V_CTL_CLIMB_MODE_AUTO_THROTTLE   0

Definition at line 53 of file guidance_v.h.

#define V_CTL_MODE_AUTO_ALT   3

Definition at line 38 of file guidance_v.h.

#define V_CTL_MODE_AUTO_CLIMB   2

Definition at line 37 of file guidance_v.h.

#define V_CTL_MODE_AUTO_THROTTLE   1

Definition at line 36 of file guidance_v.h.

#define V_CTL_MODE_MANUAL   0

Definition at line 35 of file guidance_v.h.

#define V_CTL_MODE_NB   4

Definition at line 39 of file guidance_v.h.

Function Documentation

void v_ctl_climb_loop ( void  )

Auto-throttle inner loop.

Definition at line 314 of file energy_ctrl.c.

References ac_char_update(), Imu::accel, ACCEL_FLOAT_OF_BFP, AIRSPEED_SETPOINT_SLEW, Imu::body_to_imu, controlled_throttle, dt_attidude, imu, INT32_RMAT_TRANSP_VMULT, kill_throttle, launch, low_pass_vdot(), MAX_PPRZ, nav_pitch, orientationGetRMat_i(), stateGetAirspeed_f(), stateGetHorizontalSpeedNorm_f(), stateGetNedToBodyEulers_f(), stateGetSpeedEnu_f(), TRIM_UPPRZ, v_ctl_airspeed_pgain, v_ctl_auto_airspeed_controlled, v_ctl_auto_airspeed_setpoint, v_ctl_auto_airspeed_setpoint_slew, v_ctl_auto_groundspeed_igain, V_CTL_AUTO_GROUNDSPEED_MAX_SUM_ERR, v_ctl_auto_groundspeed_pgain, v_ctl_auto_groundspeed_setpoint, v_ctl_auto_groundspeed_sum_err, v_ctl_auto_pitch_of_airspeed_dgain, v_ctl_auto_pitch_of_airspeed_igain, v_ctl_auto_pitch_of_airspeed_pgain, v_ctl_auto_throttle_climb_throttle_increment, v_ctl_auto_throttle_cruise_throttle, v_ctl_auto_throttle_nominal_cruise_pitch, v_ctl_auto_throttle_nominal_cruise_throttle, v_ctl_auto_throttle_of_airspeed_igain, v_ctl_auto_throttle_of_airspeed_pgain, v_ctl_auto_throttle_pitch_of_vz_pgain, v_ctl_climb_auto_throttle_loop(), v_ctl_climb_mode, V_CTL_CLIMB_MODE_AUTO_PITCH, V_CTL_CLIMB_MODE_AUTO_THROTTLE, v_ctl_climb_setpoint, v_ctl_desired_acceleration, v_ctl_energy_diff_igain, v_ctl_energy_diff_pgain, v_ctl_energy_total_igain, v_ctl_energy_total_pgain, V_CTL_GLIDE_RATIO, v_ctl_max_acceleration, v_ctl_mode, V_CTL_MODE_AUTO_CLIMB, v_ctl_pitch_setpoint, v_ctl_set_pitch(), v_ctl_set_throttle(), V_CTL_SPEED_AIRSPEED, V_CTL_SPEED_GROUNDSPEED, v_ctl_speed_mode, V_CTL_SPEED_THROTTLE, v_ctl_throttle_setpoint, Int32Vect3::x, and EnuCoor_f::z.

Referenced by attitude_loop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void v_ctl_init ( void  )

Definition at line 202 of file energy_ctrl.c.

References controlled_throttle, v_ctl_airspeed_pgain, v_ctl_altitude_error, v_ctl_altitude_max_climb, V_CTL_ALTITUDE_MAX_CLIMB, v_ctl_altitude_pgain, v_ctl_altitude_pre_climb, v_ctl_altitude_pre_climb_correction, V_CTL_ALTITUDE_PRE_CLIMB_CORRECTION, v_ctl_altitude_setpoint, v_ctl_auto_airspeed_controlled, v_ctl_auto_airspeed_pitch_dgain, v_ctl_auto_airspeed_pitch_igain, v_ctl_auto_airspeed_pitch_pgain, v_ctl_auto_airspeed_pitch_sum_err, v_ctl_auto_airspeed_setpoint, v_ctl_auto_airspeed_setpoint_slew, v_ctl_auto_airspeed_throttle_dgain, v_ctl_auto_airspeed_throttle_igain, v_ctl_auto_airspeed_throttle_pgain, v_ctl_auto_airspeed_throttle_sum_err, v_ctl_auto_groundspeed_igain, v_ctl_auto_groundspeed_pgain, v_ctl_auto_groundspeed_setpoint, v_ctl_auto_groundspeed_sum_err, v_ctl_auto_pitch_dgain, V_CTL_AUTO_PITCH_DGAIN, V_CTL_AUTO_PITCH_IGAIN, v_ctl_auto_pitch_igain, v_ctl_auto_pitch_of_airspeed_dgain, v_ctl_auto_pitch_of_airspeed_igain, v_ctl_auto_pitch_of_airspeed_pgain, v_ctl_auto_pitch_pgain, v_ctl_auto_pitch_sum_err, v_ctl_auto_throttle_climb_throttle_increment, v_ctl_auto_throttle_cruise_throttle, V_CTL_AUTO_THROTTLE_DGAIN, v_ctl_auto_throttle_dgain, v_ctl_auto_throttle_igain, v_ctl_auto_throttle_max_cruise_throttle, v_ctl_auto_throttle_min_cruise_throttle, v_ctl_auto_throttle_nominal_cruise_pitch, v_ctl_auto_throttle_nominal_cruise_throttle, v_ctl_auto_throttle_of_airspeed_igain, v_ctl_auto_throttle_of_airspeed_pgain, v_ctl_auto_throttle_pgain, v_ctl_auto_throttle_pitch_of_vz_dgain, V_CTL_AUTO_THROTTLE_PITCH_OF_VZ_DGAIN, v_ctl_auto_throttle_pitch_of_vz_pgain, V_CTL_AUTO_THROTTLE_STANDARD, v_ctl_auto_throttle_submode, v_ctl_auto_throttle_sum_err, v_ctl_climb_mode, V_CTL_CLIMB_MODE_AUTO_THROTTLE, v_ctl_climb_setpoint, v_ctl_energy_diff_igain, v_ctl_energy_diff_pgain, v_ctl_energy_total_igain, v_ctl_energy_total_pgain, v_ctl_max_acceleration, V_CTL_MAX_ACCELERATION, v_ctl_max_climb, v_ctl_mode, V_CTL_MODE_MANUAL, v_ctl_speed_mode, V_CTL_SPEED_THROTTLE, and v_ctl_throttle_setpoint.

Referenced by init_ap().

+ Here is the caller graph for this function:

void v_ctl_throttle_slew ( void  )

Computes throttle_slewed from throttle_setpoint.

Computes throttle_slewed from throttle_setpoint.

Definition at line 428 of file energy_ctrl.c.

References MAX_PPRZ, TRIM_PPRZ, v_ctl_throttle_setpoint, V_CTL_THROTTLE_SLEW, and v_ctl_throttle_slewed.

Referenced by attitude_loop().

+ Here is the caller graph for this function:

Variable Documentation

float v_ctl_altitude_error

in meters, (setpoint - alt) -> positive = too low

Definition at line 95 of file energy_ctrl.c.

Referenced by h_ctl_course_loop(), v_ctl_altitude_loop(), v_ctl_climb_auto_throttle_loop(), and v_ctl_init().

float v_ctl_altitude_max_climb

Definition at line 43 of file guidance_v.c.

Referenced by v_ctl_altitude_loop(), and v_ctl_init().

float v_ctl_altitude_pgain

Definition at line 93 of file energy_ctrl.c.

Referenced by v_ctl_altitude_loop(), and v_ctl_init().

float v_ctl_altitude_pre_climb

Path Angle.

Definition at line 92 of file energy_ctrl.c.

Referenced by v_ctl_altitude_loop(), and v_ctl_init().

float v_ctl_altitude_pre_climb_correction

Definition at line 42 of file guidance_v.c.

Referenced by v_ctl_altitude_loop(), and v_ctl_init().

float v_ctl_altitude_setpoint

in meters above MSL

Definition at line 91 of file energy_ctrl.c.

Referenced by flight_benchmark_periodic(), nav_set_altitude(), send_desired(), v_ctl_altitude_loop(), and v_ctl_init().

float v_ctl_auto_pitch_igain

Definition at line 84 of file guidance_v.c.

Referenced by v_ctl_init(), and v_ctl_set_pitch().

float v_ctl_auto_pitch_pgain

Definition at line 83 of file guidance_v.c.

Referenced by v_ctl_init(), and v_ctl_set_pitch().

float v_ctl_auto_pitch_sum_err

Definition at line 85 of file guidance_v.c.

Referenced by v_ctl_init(), and v_ctl_set_pitch().

float v_ctl_auto_throttle_climb_throttle_increment
float v_ctl_auto_throttle_dgain

Definition at line 62 of file guidance_v.c.

Referenced by v_ctl_climb_auto_throttle_loop(), v_ctl_init(), and v_ctl_set_throttle().

float v_ctl_auto_throttle_igain

Definition at line 61 of file guidance_v.c.

Referenced by v_ctl_climb_auto_throttle_loop(), v_ctl_init(), and v_ctl_set_throttle().

float v_ctl_auto_throttle_max_cruise_throttle

Definition at line 58 of file guidance_v.c.

Referenced by v_ctl_init().

float v_ctl_auto_throttle_min_cruise_throttle

Definition at line 57 of file guidance_v.c.

Referenced by v_ctl_init().

float v_ctl_auto_throttle_nominal_cruise_throttle

Definition at line 107 of file energy_ctrl.c.

Referenced by v_ctl_climb_loop(), and v_ctl_init().

float v_ctl_auto_throttle_pgain

Definition at line 60 of file guidance_v.c.

Referenced by v_ctl_climb_auto_throttle_loop(), v_ctl_init(), and v_ctl_set_throttle().

float v_ctl_auto_throttle_pitch_of_vz_dgain

Definition at line 66 of file guidance_v.c.

Referenced by v_ctl_climb_auto_throttle_loop(), and v_ctl_init().

float v_ctl_auto_throttle_pitch_of_vz_pgain
uint8_t v_ctl_auto_throttle_submode
float v_ctl_auto_throttle_sum_err

Definition at line 80 of file energy_ctrl.c.

Referenced by v_ctl_climb_auto_throttle_loop(), v_ctl_init(), and v_ctl_set_throttle().

uint8_t v_ctl_climb_mode

Definition at line 78 of file energy_ctrl.c.

Referenced by v_ctl_altitude_loop(), v_ctl_climb_loop(), and v_ctl_init().

float v_ctl_pitch_setpoint
pprz_t v_ctl_throttle_slewed

Definition at line 135 of file energy_ctrl.c.

Referenced by attitude_loop(), send_bat(), and v_ctl_throttle_slew().