Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "firmwares/rotorcraft/stabilization/stabilization_attitude.h"
#include "math/pprz_algebra_int.h"
#include "filters/notch_filter.h"
#include "filters/delayed_first_order_lowpass_filter.h"
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 |
struct HeliIndiGains |
#define __k 1 |
Definition at line 30 of file stabilization_attitude_heli_indi.h.
#define INDI_DOF 4 |
Definition at line 32 of file stabilization_attitude_heli_indi.h.
#define INDI_NR_FILTERS 2 |
Definition at line 31 of file stabilization_attitude_heli_indi.h.
#define INDI_PITCH 1 |
Definition at line 34 of file stabilization_attitude_heli_indi.h.
#define INDI_ROLL 0 |
Definition at line 33 of file stabilization_attitude_heli_indi.h.
#define INDI_THRUST 3 |
Definition at line 36 of file stabilization_attitude_heli_indi.h.
#define INDI_YAW 2 |
Definition at line 35 of file stabilization_attitude_heli_indi.h.
#define INDI_YAW_BUFFER_SIZE 9 |
Definition at line 37 of file stabilization_attitude_heli_indi.h.
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.
void stabilization_attitude_heli_indi_set_steadystate_pitch | ( | float | pitch | ) |
stabilization_attitude_heli_indi_set_steadystate_pitch
pitch | neutral 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().
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().
void stabilization_attitude_heli_indi_set_steadystate_roll | ( | float | roll | ) |
stabilization_attitude_heli_indi_set_steadystate_roll
roll | neutral 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().
|
extern |
Definition at line 1 of file stabilization_attitude_heli_indi.c.
Referenced by indi_apply_actuator_models(), indi_apply_compensator_filters(), and stabilization_attitude_heli_indi_init().
|
extern |
Definition at line 1 of file stabilization_attitude_heli_indi.c.
Referenced by stabilization_attitude_run().