Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
General stabilization interface for rotorcrafts. More...
#include "std.h"
#include "generated/airframe.h"
#include "math/pprz_algebra_int.h"
#include "math/pprz_algebra_float.h"
#include "firmwares/rotorcraft/stabilization/stabilization_attitude_rc_setpoint.h"
Go to the source code of this file.
Data Structures | |
struct | StabilizationSetpoint |
Stabilization setpoint. More... | |
struct | ThrustSetpoint |
Thrust setpoint // TODO to a setpoint header Structure to store the desired thrust vector with different format. More... | |
struct | Stabilization |
Stabilization structure. More... | |
union | StabilizationSetpoint.sp |
struct | StabilizationSetpoint.sp.ltp_i |
struct | StabilizationSetpoint.sp.ltp_f |
union | StabilizationSetpoint.r_sp |
union | ThrustSetpoint.sp |
Macros | |
#define | STABILIZATION_MODE_NONE 0 |
Stabilization modes. | |
#define | STABILIZATION_MODE_DIRECT 1 |
#define | STABILIZATION_MODE_RATE 2 |
#define | STABILIZATION_MODE_ATTITUDE 3 |
#define | STABILIZATION_ATT_SUBMODE_HEADING 0 |
Stabilization sub-modes for attitude. | |
#define | STABILIZATION_ATT_SUBMODE_CARE_FREE 1 |
#define | STABILIZATION_ATT_SUBMODE_FORWARD 2 |
#define | THRUST_AXIS_X 0 |
#define | THRUST_AXIS_Y 1 |
#define | THRUST_AXIS_Z 2 |
#define | STAB_SP_SET_EULERS_ZERO(_sp) |
#define | THRUST_SP_SET_ZERO(_sp) |
Variables | |
struct Stabilization | stabilization |
General stabilization interface for rotorcrafts.
Definition in file stabilization.h.
struct Stabilization |
Stabilization structure.
Definition at line 102 of file stabilization.h.
Data Fields | ||
---|---|---|
uint8_t | att_submode | current attitude sub-mode |
int32_t | cmd[COMMANDS_NB] | output command vector, range from [-MAX_PPRZ:MAX_PPRZ] (store for messages) |
uint8_t | mode | current mode |
struct AttitudeRCInput | rc_in | RC input. |
struct StabilizationSetpoint | rc_sp | Keep it ? FIXME. |
struct StabilizationSetpoint | sp | current attitude setpoint (store for messages) |
float | transition_ratio | transition percentage for hybrids (0.: hover; 1.: forward) |
union StabilizationSetpoint.sp |
Definition at line 65 of file stabilization.h.
Data Fields | ||
---|---|---|
struct FloatEulers | eulers_f | |
struct Int32Eulers | eulers_i | |
struct StabilizationSetpoint.sp.ltp_f | ltp_f | |
struct StabilizationSetpoint.sp.ltp_i | ltp_i | |
struct FloatQuat | quat_f | |
struct Int32Quat | quat_i |
struct StabilizationSetpoint.sp.ltp_i |
Definition at line 70 of file stabilization.h.
Data Fields | ||
---|---|---|
int32_t | heading | |
struct Int32Vect2 | vect |
struct StabilizationSetpoint.sp.ltp_f |
Definition at line 71 of file stabilization.h.
Data Fields | ||
---|---|---|
float | heading | |
struct FloatVect2 | vect |
union StabilizationSetpoint.r_sp |
Definition at line 73 of file stabilization.h.
Data Fields | ||
---|---|---|
struct FloatRates | rates_f | |
struct Int32Rates | rates_i |
union ThrustSetpoint.sp |
#define STABILIZATION_ATT_SUBMODE_CARE_FREE 1 |
Definition at line 46 of file stabilization.h.
#define STABILIZATION_ATT_SUBMODE_FORWARD 2 |
Definition at line 47 of file stabilization.h.
#define STABILIZATION_ATT_SUBMODE_HEADING 0 |
Stabilization sub-modes for attitude.
Definition at line 45 of file stabilization.h.
#define STABILIZATION_MODE_ATTITUDE 3 |
Definition at line 41 of file stabilization.h.
#define STABILIZATION_MODE_DIRECT 1 |
Definition at line 39 of file stabilization.h.
#define STABILIZATION_MODE_NONE 0 |
Stabilization modes.
Definition at line 38 of file stabilization.h.
#define STABILIZATION_MODE_RATE 2 |
Definition at line 40 of file stabilization.h.
#define THRUST_AXIS_X 0 |
Definition at line 172 of file stabilization.h.
#define THRUST_AXIS_Y 1 |
Definition at line 173 of file stabilization.h.
#define THRUST_AXIS_Z 2 |
Definition at line 174 of file stabilization.h.
|
extern |
Definition at line 638 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_EULERS, StabilizationSetpoint::STAB_SP_FLOAT, and StabilizationSetpoint::type.
Referenced by guidance_h_from_nav(), and stabilization_get_failsafe_sp().
|
extern |
Definition at line 628 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_EULERS, StabilizationSetpoint::STAB_SP_INT, and StabilizationSetpoint::type.
Referenced by guidance_module_run(), and vertical_ctrl_module_run().
|
extern |
Definition at line 659 of file stabilization.c.
References StabilizationSetpoint::format, heading, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_FLOAT, StabilizationSetpoint::STAB_SP_LTP, and StabilizationSetpoint::type.
|
extern |
Definition at line 648 of file stabilization.c.
References StabilizationSetpoint::format, heading, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_INT, StabilizationSetpoint::STAB_SP_LTP, and StabilizationSetpoint::type.
Referenced by guidance_pid_h_run().
|
extern |
Definition at line 607 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_FLOAT, StabilizationSetpoint::STAB_SP_QUAT, and StabilizationSetpoint::type.
Referenced by guidance_h_from_nav(), guidance_indi_run(), stabilization_attitude_read_rc(), and stabilization_attitude_reset_rc().
|
extern |
Definition at line 617 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::r_sp, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_FLOAT, StabilizationSetpoint::STAB_SP_QUAT_FF_RATE, and StabilizationSetpoint::type.
Referenced by guidance_indi_run().
|
extern |
Definition at line 597 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_INT, StabilizationSetpoint::STAB_SP_QUAT, and StabilizationSetpoint::type.
Referenced by guidance_hybrid_set_cmd_i().
|
extern |
Definition at line 680 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::r_sp, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_FLOAT, StabilizationSetpoint::STAB_SP_RATES, and StabilizationSetpoint::type.
Referenced by stabilization_indi_attitude_run(), and stabilization_rate_read_rc().
|
extern |
Definition at line 670 of file stabilization.c.
References StabilizationSetpoint::format, StabilizationSetpoint::r_sp, StabilizationSetpoint::sp, StabilizationSetpoint::STAB_SP_INT, StabilizationSetpoint::STAB_SP_RATES, and StabilizationSetpoint::type.
|
extern |
Definition at line 454 of file stabilization.c.
References EULERS_FLOAT_OF_BFP, float_eulers_of_quat(), QUAT_FLOAT_OF_BFP, stab_sp_rotate_f(), and stab_sp_rotate_i().
Referenced by stabilization_attitude_run(), and stabilization_attitude_run().
|
extern |
Definition at line 415 of file stabilization.c.
References EULERS_BFP_OF_REAL, int32_eulers_of_quat(), QUAT_BFP_OF_REAL, stab_sp_rotate_f(), and stab_sp_rotate_i().
Referenced by reset_horizontal_vars(), stabilization_attitude_run(), stabilization_attitude_run(), and stabilization_indi_attitude_run().
|
extern |
Definition at line 373 of file stabilization.c.
References EULERS_FLOAT_OF_BFP, float_quat_identity(), float_quat_of_eulers(), QUAT_FLOAT_OF_BFP, quat_from_earth_cmd_f(), and quat_from_earth_cmd_i().
Referenced by stabilization_attitude_run(), and stabilization_indi_attitude_run().
|
extern |
Definition at line 331 of file stabilization.c.
References EULERS_BFP_OF_REAL, int32_quat_identity(), int32_quat_of_eulers(), QUAT_BFP_OF_REAL, quat_from_earth_cmd_f(), and quat_from_earth_cmd_i().
Referenced by stabilization_attitude_run(), stabilization_attitude_run(), and stabilization_indi_attitude_run().
|
extern |
Definition at line 510 of file stabilization.c.
References RATES_FLOAT_OF_BFP.
Referenced by stabilization_indi_attitude_run(), stabilization_indi_rate_run(), and stabilization_rate_run().
|
extern |
Definition at line 493 of file stabilization.c.
References RATES_BFP_OF_REAL.
Command filter for vibrating airframes.
Definition at line 314 of file stabilization.c.
References Stabilization::cmd, foo, MAX_PPRZ, stabilization, and update_second_order_low_pass_int().
Referenced by stabilization_run().
|
extern |
Get stabilization setpoint for failsafe.
Definition at line 275 of file stabilization.c.
References foo, FloatEulers::phi, FloatEulers::psi, stab_sp_from_eulers_f(), and stateGetNedToBodyEulers_f().
Referenced by autopilot_static_periodic().
Init function.
Definition at line 94 of file stabilization.c.
References Stabilization::att_submode, Stabilization::cmd, DefaultPeriodic, foo, SecondOrderLowPass_int::i, init_second_order_low_pass_int(), Stabilization::mode, rc_cb(), rc_ev, Stabilization::rc_in, Stabilization::rc_sp, register_periodic_telemetry(), send_tune_hover(), STAB_SP_SET_EULERS_ZERO, stabilization, STABILIZATION_ATT_SUBMODE_HEADING, stabilization_attitude_rc_setpoint_init(), STABILIZATION_MODE_NONE, and STABILIZATION_RC_ID.
Check mode change.
Definition at line 138 of file stabilization.c.
References Stabilization::att_submode, foo, Stabilization::mode, Stabilization::rc_in, stabilization, STABILIZATION_ATT_SUBMODE_CARE_FREE, stabilization_attitude_enter(), stabilization_attitude_reset_care_free_heading(), stabilization_attitude_reset_rc(), stabilization_direct_enter(), STABILIZATION_MODE_ATTITUDE, STABILIZATION_MODE_DIRECT, STABILIZATION_MODE_NONE, STABILIZATION_MODE_RATE, and stabilization_rate_enter().
Referenced by autopilot_static_set_mode().
|
extern |
Call default stabilization control.
[in] | in_flight | true if rotorcraft is flying |
[in] | sp | pointer to the stabilization setpoint, computed in guidance or from RC |
[in] | thrust | pointer to thrust setpoint computed by vertical guidance |
[out] | cmd | pointer to the output command vector |
Definition at line 242 of file stabilization.c.
References Stabilization::att_submode, Stabilization::mode, StabilizationSetpoint::sp, Stabilization::sp, stabilization, STABILIZATION_ATT_SUBMODE_FORWARD, stabilization_attitude_run(), stabilization_direct_run(), stabilization_filter_commands(), STABILIZATION_MODE_ATTITUDE, STABILIZATION_MODE_DIRECT, STABILIZATION_MODE_RATE, stabilization_rate_run(), transition_run(), TRANSITION_TO_FORWARD, and TRANSITION_TO_HOVER.
Referenced by autopilot_static_periodic(), and guidance_module_run().
|
extern |
Definition at line 720 of file stabilization.c.
References foo, ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_INCR_SP, ThrustSetpoint::THRUST_SP_FLOAT, and ThrustSetpoint::type.
|
extern |
Definition at line 710 of file stabilization.c.
References foo, ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_INCR_SP, ThrustSetpoint::THRUST_SP_INT, and ThrustSetpoint::type.
|
extern |
Definition at line 766 of file stabilization.c.
References foo, ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_INCR_SP, ThrustSetpoint::THRUST_SP_FLOAT, and ThrustSetpoint::type.
Referenced by guidance_indi_run().
|
extern |
Definition at line 754 of file stabilization.c.
References foo, ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_INCR_SP, ThrustSetpoint::THRUST_SP_INT, and ThrustSetpoint::type.
|
extern |
Definition at line 700 of file stabilization.c.
References foo, ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_SP, ThrustSetpoint::THRUST_SP_FLOAT, and ThrustSetpoint::type.
|
extern |
Definition at line 690 of file stabilization.c.
References foo, ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_SP, ThrustSetpoint::THRUST_SP_INT, and ThrustSetpoint::type.
Referenced by guidance_hybrid_vertical(), guidance_indi_run(), guidance_module_run(), guidance_pid_v_run(), guidance_v_from_nav(), guidance_v_guided_run(), guidance_v_run(), vertical_ctrl_module_run(), and vertical_ctrl_module_run().
|
extern |
Definition at line 742 of file stabilization.c.
References ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_SP, ThrustSetpoint::THRUST_SP_FLOAT, and ThrustSetpoint::type.
|
extern |
Definition at line 730 of file stabilization.c.
References ThrustSetpoint::format, ThrustSetpoint::sp, ThrustSetpoint::THRUST_SP, ThrustSetpoint::THRUST_SP_INT, and ThrustSetpoint::type.
|
extern |
Definition at line 579 of file stabilization.c.
Referenced by stabilization_indi_rate_run().
|
extern |
Definition at line 562 of file stabilization.c.
|
extern |
Definition at line 544 of file stabilization.c.
|
extern |
Definition at line 527 of file stabilization.c.
Referenced by guidance_hybrid_vertical(), stabilization_attitude_run(), stabilization_attitude_run(), stabilization_direct_run(), stabilization_indi_rate_run(), and stabilization_rate_run().
|
extern |
Definition at line 41 of file stabilization.c.
Referenced by autopilot_check_in_flight(), autopilot_in_flight_end_detection(), autopilot_static_periodic(), autopilot_static_set_mode(), ctrl_module_run(), ctrl_module_run(), direct_memory_logger_periodic(), draw_osd(), eff_scheduling_generic_periodic(), eff_scheduling_periodic_a(), guidance_flip_run(), guidance_indi_enter(), guidance_indi_hybrid_set_wls_settings(), guidance_indi_run(), guidance_module_enter(), guidance_module_run(), guidance_pid_h_run(), guidance_v_thrust_adapt(), ins_flow_update(), logger_control_effectiveness_periodic(), logger_file_write_row(), nav_heli_spinup_run(), nav_heli_spinup_setup(), oneloop_andi_run(), rc_cb(), reset_horizontal_vars(), rotwing_state_hover_motors_idling(), rotwing_state_periodic(), send_att(), send_att(), send_att(), send_att(), send_bebop_actuators(), send_rate(), send_rate(), send_tune_hover(), send_windtunnel_meas(), stabilization_attitude_read_rc(), stabilization_attitude_reset_rc(), stabilization_filter_commands(), stabilization_init(), stabilization_mode_changed(), stabilization_run(), transition_run(), and vertical_ctrl_module_run().