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

Go to the source code of this file.

Data Structures

struct  HeliIndiGains
 
struct  IndiController_int
 

Macros

#define __k   1
 
#define INDI_NR_FILTERS   2
 
#define INDI_DOF   4
 
#define INDI_ROLL   0
 
#define INDI_PITCH   1
 
#define INDI_YAW   2
 
#define INDI_THRUST   3
 
#define INDI_YAW_BUFFER_SIZE   9
 

Functions

void stabilization_attitude_heli_indi_init (void)
 stabilization_attitude_heli_indi_init More...
 
void stabilization_attitude_heli_indi_set_steadystate_pitch (float pitch)
 stabilization_attitude_heli_indi_set_steadystate_pitch More...
 
void stabilization_attitude_heli_indi_set_steadystate_roll (float roll)
 stabilization_attitude_heli_indi_set_steadystate_roll More...
 
void stabilization_attitude_heli_indi_set_steadystate_pitchroll (void)
 stabilization_attitude_heli_indi_set_steadystate_pitchroll More...
 

Variables

struct delayed_first_order_lowpass_filter_t actuator_model [INDI_DOF]
 
struct HeliIndiGains heli_indi_gains
 

Data Structure Documentation

◆ HeliIndiGains

struct HeliIndiGains

Definition at line 39 of file stabilization_attitude_heli_indi.h.

Data Fields
int32_t pitch_p
int32_t roll_p
int32_t yaw_d
int32_t yaw_p

Macro Definition Documentation

◆ __k

#define __k   1

Definition at line 30 of file stabilization_attitude_heli_indi.h.

◆ INDI_DOF

#define INDI_DOF   4

Definition at line 32 of file stabilization_attitude_heli_indi.h.

◆ INDI_NR_FILTERS

#define INDI_NR_FILTERS   2

Definition at line 31 of file stabilization_attitude_heli_indi.h.

◆ INDI_PITCH

#define INDI_PITCH   1

Definition at line 34 of file stabilization_attitude_heli_indi.h.

◆ INDI_ROLL

#define INDI_ROLL   0

Definition at line 33 of file stabilization_attitude_heli_indi.h.

◆ INDI_THRUST

#define INDI_THRUST   3

Definition at line 36 of file stabilization_attitude_heli_indi.h.

◆ INDI_YAW

#define INDI_YAW   2

Definition at line 35 of file stabilization_attitude_heli_indi.h.

◆ INDI_YAW_BUFFER_SIZE

#define INDI_YAW_BUFFER_SIZE   9

Definition at line 37 of file stabilization_attitude_heli_indi.h.

Function Documentation

◆ stabilization_attitude_heli_indi_init()

void stabilization_attitude_heli_indi_init ( void  )

stabilization_attitude_heli_indi_init

Initialize the heli indi attitude controller.

Definition at line 334 of file stabilization_attitude_heli_indi.c.

References actuator_lowpass_filters, actuator_model, actuator_notchfilter, delayed_first_order_lowpass_filter_t::alpha, alpha_yaw_dec, alpha_yaw_inc, ANGLE_BFP_OF_REAL, IndiController_int::apply_actuator_filters, IndiController_int::apply_actuator_models, IndiController_int::apply_compensator_filters, IndiController_int::apply_measurement_filters, DELAYED_FIRST_ORDER_LOWPASS_FILTER_FILTER_ALPHA_SHIFT, delayed_first_order_lowpass_initialize(), IndiController_int::enable_notch, FALSE, heli_indi_ctl, indi_apply_actuator_butterworth_filters(), indi_apply_actuator_models(), indi_apply_actuator_notch_filters(), indi_apply_compensator_filters(), indi_apply_measurement_butterworth_filters(), indi_apply_measurement_notch_filters(), INDI_PITCH, INDI_ROLL, INDI_THRUST, INDI_YAW, init_butterworth_2_low_pass_int(), IndiController_int::invG, INVG_00, INVG_11, INVG_22, INVG_33, MAX_PPRZ, measurement_lowpass_filters, measurement_notchfilter, IndiController_int::motor_rpm, notch_filter_init(), IndiController_int::pitch_comp_angle, IndiController_int::roll_comp_angle, IndiController_int::sp_offset_pitch, IndiController_int::sp_offset_roll, STABILIZATION_ATTITUDE_HELI_INDI_BUTTERW_CUTOFF_PITCH, STABILIZATION_ATTITUDE_HELI_INDI_BUTTERW_CUTOFF_ROLL, STABILIZATION_ATTITUDE_HELI_INDI_BUTTERW_CUTOFF_THRUST, STABILIZATION_ATTITUDE_HELI_INDI_BUTTERW_CUTOFF_YAW, STABILIZATION_ATTITUDE_HELI_INDI_NOTCHFILT_BW_PITCH, STABILIZATION_ATTITUDE_HELI_INDI_NOTCHFILT_BW_ROLL, STABILIZATION_ATTITUDE_HELI_INDI_NOTCHFILT_BW_THRUST, STABILIZATION_ATTITUDE_HELI_INDI_NOTCHFILT_BW_YAW, STABILIZATION_ATTITUDE_HELI_INDI_PITCH_COMMAND_ROTATION, STABILIZATION_ATTITUDE_HELI_INDI_ROLL_COMMAND_ROTATION, stabilization_attitude_heli_indi_set_steadystate_pitchroll(), STABILIZATION_ATTITUDE_HELI_INDI_STEADY_STATE_PITCH, STABILIZATION_ATTITUDE_HELI_INDI_STEADY_STATE_ROLL, and TRUE.

+ Here is the call graph for this function:

◆ stabilization_attitude_heli_indi_set_steadystate_pitch()

void stabilization_attitude_heli_indi_set_steadystate_pitch ( float  pitch)

stabilization_attitude_heli_indi_set_steadystate_pitch

Parameters
pitchneutral pitch angle [deg].

Change the neutral pitch angle.

Definition at line 290 of file stabilization_attitude_heli_indi.c.

References heli_indi_ctl, IndiController_int::sp_offset_pitch, and stabilization_attitude_heli_indi_set_steadystate_pitchroll().

+ Here is the call graph for this function:

◆ stabilization_attitude_heli_indi_set_steadystate_pitchroll()

void stabilization_attitude_heli_indi_set_steadystate_pitchroll ( void  )

stabilization_attitude_heli_indi_set_steadystate_pitchroll

Updates the neutral pitch and roll angles and calculates the compensation quaternion.

Definition at line 315 of file stabilization_attitude_heli_indi.c.

References float_quat_of_orientation_vect(), heli_indi_ctl, QUAT_BFP_OF_REAL, sp_offset, IndiController_int::sp_offset_pitch, IndiController_int::sp_offset_roll, FloatVect3::x, FloatVect3::y, and FloatVect3::z.

Referenced by stabilization_attitude_heli_indi_init(), stabilization_attitude_heli_indi_set_steadystate_pitch(), and stabilization_attitude_heli_indi_set_steadystate_roll().

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

◆ stabilization_attitude_heli_indi_set_steadystate_roll()

void stabilization_attitude_heli_indi_set_steadystate_roll ( float  roll)

stabilization_attitude_heli_indi_set_steadystate_roll

Parameters
rollneutral roll angle [deg].

Change the neutral roll angle. Especially useful for helicopters, since they need a small roll angle in hover to compensate the tail force.

Definition at line 303 of file stabilization_attitude_heli_indi.c.

References heli_indi_ctl, IndiController_int::sp_offset_roll, and stabilization_attitude_heli_indi_set_steadystate_pitchroll().

+ Here is the call graph for this function:

Variable Documentation

◆ actuator_model

◆ heli_indi_gains

struct HeliIndiGains heli_indi_gains
extern

Definition at line 1 of file stabilization_attitude_heli_indi.c.

Referenced by stabilization_attitude_run().