Paparazzi UAS  v6.2.0_stable
Paparazzi is a free software Unmanned Aircraft System.
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
eff_scheduling_nederdrone.c File Reference
+ Include dependency graph for eff_scheduling_nederdrone.c:

Go to the source code of this file.

Macros

#define INDI_SCHEDULING_LOWER_BOUND_G1   0.0001
 
#define INDI_SCHEDULING_LOW_AIRSPEED   12.0
 

Functions

void schdule_control_effectiveness (void)
 Function that calculates control effectiveness values for the Nederdrone inner loop. More...
 
void ctrl_eff_scheduling_init (void)
 Initialises periodic loop;. More...
 
void ctrl_eff_scheduling_periodic (void)
 Periodic function that interpolates between gain sets depending on the scheduling variable. More...
 

Variables

bool all_act_fwd_sched = false
 
int32_t use_scheduling = 1
 
float thrust_eff_scaling = 1.0
 
static float g_forward [4][INDI_NUM_ACT] = {STABILIZATION_INDI_G1_ROLL_FWD, STABILIZATION_INDI_G1_PITCH_FWD, STABILIZATION_INDI_G1_YAW_FWD, STABILIZATION_INDI_G1_THRUST_FWD}
 
static float g_hover [4][INDI_NUM_ACT] = {STABILIZATION_INDI_G1_ROLL, STABILIZATION_INDI_G1_PITCH, STABILIZATION_INDI_G1_YAW, STABILIZATION_INDI_G1_THRUST}
 
float sched_ratio_tip_props = 1.0
 
float sched_tip_prop_upper_pitch_limit_deg = -45
 
float sched_tip_prop_lower_pitch_limit_deg = -65
 
bool sched_tip_props_always_on = false
 

Detailed Description

Author
Dennis van Wijngaarden D.C.v.nosp@m.anWi.nosp@m.jngaa.nosp@m.rden.nosp@m.@tude.nosp@m.lft..nosp@m.nl Interpolation of control effectivenss matrix of the Nederdrone.

If instead using online adaptation is an option, be sure to not use this module at the same time!

Definition in file eff_scheduling_nederdrone.c.

Macro Definition Documentation

◆ INDI_SCHEDULING_LOW_AIRSPEED

#define INDI_SCHEDULING_LOW_AIRSPEED   12.0

Definition at line 41 of file eff_scheduling_nederdrone.c.

◆ INDI_SCHEDULING_LOWER_BOUND_G1

#define INDI_SCHEDULING_LOWER_BOUND_G1   0.0001

Definition at line 37 of file eff_scheduling_nederdrone.c.

Function Documentation

◆ ctrl_eff_scheduling_init()

void ctrl_eff_scheduling_init ( void  )

Initialises periodic loop;.

Definition at line 65 of file eff_scheduling_nederdrone.c.

References g_forward, g_hover, and INDI_G_SCALING.

◆ ctrl_eff_scheduling_periodic()

void ctrl_eff_scheduling_periodic ( void  )

Periodic function that interpolates between gain sets depending on the scheduling variable.

Definition at line 81 of file eff_scheduling_nederdrone.c.

References schdule_control_effectiveness(), and sched_ratio_tip_props.

+ Here is the call graph for this function:

◆ schdule_control_effectiveness()

void schdule_control_effectiveness ( void  )

Function that calculates control effectiveness values for the Nederdrone inner loop.

Default requency: 20 Hz.

Definition at line 94 of file eff_scheduling_nederdrone.c.

References all_act_fwd_sched, eulers_zxy, float_eulers_of_quat_zxy(), g1g2, g_forward, g_hover, INDI_SCHEDULING_LOW_AIRSPEED, RADIO_AUX2, radio_control, sched_ratio_tip_props, sched_tip_prop_lower_pitch_limit_deg, sched_tip_prop_upper_pitch_limit_deg, sched_tip_props_always_on, stateGetAirspeed_f(), stateGetNedToBodyQuat_f(), FloatEulers::theta, thrust_eff_scaling, use_scheduling, and RadioControl::values.

Referenced by ctrl_eff_scheduling_periodic().

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

Variable Documentation

◆ all_act_fwd_sched

bool all_act_fwd_sched = false

Definition at line 44 of file eff_scheduling_nederdrone.c.

Referenced by schdule_control_effectiveness().

◆ g_forward

float g_forward[4][INDI_NUM_ACT] = {STABILIZATION_INDI_G1_ROLL_FWD, STABILIZATION_INDI_G1_PITCH_FWD, STABILIZATION_INDI_G1_YAW_FWD, STABILIZATION_INDI_G1_THRUST_FWD}
static

◆ g_hover

float g_hover[4][INDI_NUM_ACT] = {STABILIZATION_INDI_G1_ROLL, STABILIZATION_INDI_G1_PITCH, STABILIZATION_INDI_G1_YAW, STABILIZATION_INDI_G1_THRUST}
static

◆ sched_ratio_tip_props

float sched_ratio_tip_props = 1.0

◆ sched_tip_prop_lower_pitch_limit_deg

float sched_tip_prop_lower_pitch_limit_deg = -65

Definition at line 59 of file eff_scheduling_nederdrone.c.

Referenced by schdule_control_effectiveness().

◆ sched_tip_prop_upper_pitch_limit_deg

float sched_tip_prop_upper_pitch_limit_deg = -45

Definition at line 57 of file eff_scheduling_nederdrone.c.

Referenced by schdule_control_effectiveness().

◆ sched_tip_props_always_on

bool sched_tip_props_always_on = false

Definition at line 61 of file eff_scheduling_nederdrone.c.

Referenced by schdule_control_effectiveness().

◆ thrust_eff_scaling

float thrust_eff_scaling = 1.0

Definition at line 48 of file eff_scheduling_nederdrone.c.

Referenced by schdule_control_effectiveness().

◆ use_scheduling

int32_t use_scheduling = 1

Definition at line 46 of file eff_scheduling_nederdrone.c.

Referenced by schdule_control_effectiveness().