Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
stabilization_indi.h File Reference
+ Include dependency graph for stabilization_indi.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Indi_gains
 

Macros

#define INDI_G_SCALING   1000.0
 

Functions

void stabilization_indi_init (void)
 Function that initializes important values upon engaging INDI. More...
 
void stabilization_indi_enter (void)
 Function that resets important values upon engaging INDI. More...
 
void stabilization_indi_rate_run (bool in_flight, struct StabilizationSetpoint *rate_sp, struct ThrustSetpoint *thrust, int32_t *cmd)
 Does the INDI calculations. More...
 
void stabilization_indi_attitude_run (bool in_flight, struct StabilizationSetpoint *att_sp, struct ThrustSetpoint *thrust, int32_t *cmd)
 runs stabilization indi More...
 
void stabilization_indi_set_wls_settings (void)
 Function that sets the u_min, u_max and u_pref if function not elsewhere defined. More...
 
void stabilization_indi_update_filt_freq (float freq)
 

Variables

float g1g2 [INDI_OUTPUTS][INDI_NUM_ACT]
 
float actuator_state_filt_vect [INDI_NUM_ACT]
 
bool act_is_servo [INDI_NUM_ACT]
 
bool indi_use_adaptive
 
float * Bwls [INDI_OUTPUTS]
 
float thrust_bx_eff
 
float thrust_bx_act_dyn
 
float actuator_thrust_bx_pprz
 
float thrust_bx_state_filt
 
float act_pref [INDI_NUM_ACT]
 
float stablization_indi_yaw_dist_limit
 Limit the maximum specific moment that can be compensated (units rad/s^2) More...
 
struct Indi_gains indi_gains
 
float stabilization_indi_filter_freq
 
struct WLS_t wls_stab_p
 

Data Structure Documentation

◆ Indi_gains

struct Indi_gains

Definition at line 49 of file stabilization_indi.h.

+ Collaboration diagram for Indi_gains:
Data Fields
struct FloatRates att
struct FloatRates rate

Macro Definition Documentation

◆ INDI_G_SCALING

#define INDI_G_SCALING   1000.0

Definition at line 32 of file stabilization_indi.h.

Function Documentation

◆ stabilization_indi_attitude_run()

void stabilization_indi_attitude_run ( bool  in_flight,
struct StabilizationSetpoint att_sp,
struct ThrustSetpoint thrust,
int32_t cmd 
)

runs stabilization indi

Parameters
in_flightenable integrator only in flight
att_spattitude stabilization setpoint
thrustthrust setpoint
[out]outputcommand vector

Function that should be called to run the INDI controller

Parameters
in_flightnot used
rate_controlrate control enabled, otherwise attitude control

Definition at line 765 of file stabilization_indi.c.

◆ stabilization_indi_enter()

void stabilization_indi_enter ( void  )

Function that resets important values upon engaging INDI.

Don't reset inputs and filters, because it is unlikely to switch stabilization in flight, and there are multiple modes that use (the same) stabilization. Resetting the controller is not so nice when you are flying. FIXME: Ideally we should detect when coming from something that is not INDI

Definition at line 445 of file stabilization_indi.c.

◆ stabilization_indi_init()

void stabilization_indi_init ( void  )

Function that initializes important values upon engaging INDI.

Definition at line 369 of file stabilization_indi.c.

◆ stabilization_indi_rate_run()

void stabilization_indi_rate_run ( bool  in_flight,
struct StabilizationSetpoint sp,
struct ThrustSetpoint thrust,
int32_t cmd 
)

Does the INDI calculations.

Parameters
in_flightboolean that states if the UAV is in flight or not
sprate setpoint
thrustthrust setpoint
cmdoutput command array

Function that calculates the INDI commands

Parameters
in_flighttrue aircraft is flying
sprate setpoint
thrustthrust setpoint
cmdoutput command array

Definition at line 520 of file stabilization_indi.c.

◆ stabilization_indi_set_wls_settings()

void stabilization_indi_set_wls_settings ( void  )

Function that sets the u_min, u_max and u_pref if function not elsewhere defined.

Definition at line 732 of file stabilization_indi.c.

References act_is_servo, act_pref, actuator_state_filt_vect, eff_sched_pusher_time, guidance_h, GUIDANCE_H_MODE_HOVER, GUIDANCE_H_MODE_NAV, MAX_PPRZ, HorizontalGuidance::mode, rw_flap_offset, STABILIZATION_INDI_THROTTLE_LIMIT_AIRSPEED_FWD, stateGetAirspeed_f(), WLS_t::u_max, WLS_t::u_min, WLS_t::u_pref, and wls_stab_p.

+ Here is the call graph for this function:

◆ stabilization_indi_update_filt_freq()

void stabilization_indi_update_filt_freq ( float  freq)

Definition at line 451 of file stabilization_indi.c.

References init_butterworth_2_low_pass(), init_first_order_low_pass(), p, rates_filt_fo, stabilization_indi_filter_freq, and stateGetBodyRates_f().

+ Here is the call graph for this function:

Variable Documentation

◆ act_is_servo

bool act_is_servo[INDI_NUM_ACT]
extern

◆ act_pref

float act_pref[INDI_NUM_ACT]
extern

◆ actuator_state_filt_vect

◆ actuator_thrust_bx_pprz

float actuator_thrust_bx_pprz
extern

◆ Bwls

float* Bwls[INDI_OUTPUTS]
extern

◆ g1g2

◆ indi_gains

◆ indi_use_adaptive

bool indi_use_adaptive
extern

Definition at line 161 of file stabilization_indi.c.

◆ stabilization_indi_filter_freq

float stabilization_indi_filter_freq
extern

Definition at line 220 of file stabilization_indi.c.

Referenced by stabilization_indi_update_filt_freq().

◆ stablization_indi_yaw_dist_limit

float stablization_indi_yaw_dist_limit
extern

Limit the maximum specific moment that can be compensated (units rad/s^2)

Definition at line 206 of file stabilization_indi.c.

Referenced by stabilization_indi_rate_run().

◆ thrust_bx_act_dyn

float thrust_bx_act_dyn
extern

◆ thrust_bx_eff

float thrust_bx_eff
extern

◆ thrust_bx_state_filt

float thrust_bx_state_filt
extern

◆ wls_stab_p