Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
Rate stabilization for rotorcrafts. More...
#include "generated/airframe.h"
#include "firmwares/rotorcraft/stabilization.h"
#include "firmwares/rotorcraft/stabilization/stabilization_rate.h"
#include "state.h"
#include "subsystems/imu.h"
#include "subsystems/radio_control.h"
#include "firmwares/rotorcraft/autopilot_rc_helpers.h"
#include "subsystems/datalink/telemetry.h"
Go to the source code of this file.
Macros | |
#define | MAX_SUM_ERR 40000 |
#define | STABILIZATION_RATE_IGAIN_P 0 |
#define | STABILIZATION_RATE_IGAIN_Q 0 |
#define | STABILIZATION_RATE_IGAIN_R 0 |
#define | OFFSET_AND_ROUND(_a, _b) (((_a)+(1<<((_b)-1)))>>(_b)) |
#define | OFFSET_AND_ROUND2(_a, _b) (((_a)+(1<<((_b)-1))-((_a)<0?1:0))>>(_b)) |
#define | STABILIZATION_RATE_DEADBAND_P 0 |
#define | STABILIZATION_RATE_DEADBAND_Q 0 |
#define | STABILIZATION_RATE_DEADBAND_R 200 |
#define | ROLL_RATE_DEADBAND_EXCEEDED() |
#define | PITCH_RATE_DEADBAND_EXCEEDED() |
#define | YAW_RATE_DEADBAND_EXCEEDED() |
Functions | |
static void | send_rate (struct transport_tx *trans, struct link_device *dev) |
void | stabilization_rate_init (void) |
void | stabilization_rate_read_rc (void) |
void | stabilization_rate_read_rc_switched_sticks (void) |
void | stabilization_rate_enter (void) |
void | stabilization_rate_run (bool in_flight) |
Variables | |
struct FloatRates | stabilization_rate_sp |
struct FloatRates | stabilization_rate_gain |
struct FloatRates | stabilization_rate_igain |
struct FloatRates | stabilization_rate_sum_err |
struct FloatRates | stabilization_rate_fb_cmd |
Rate stabilization for rotorcrafts.
Control loops for angular velocity.
Definition in file stabilization_rate.c.
#define MAX_SUM_ERR 40000 |
Definition at line 40 of file stabilization_rate.c.
Referenced by stabilization_rate_run().
#define OFFSET_AND_ROUND | ( | _a, | |
_b | |||
) | (((_a)+(1<<((_b)-1)))>>(_b)) |
Definition at line 64 of file stabilization_rate.c.
#define OFFSET_AND_ROUND2 | ( | _a, | |
_b | |||
) | (((_a)+(1<<((_b)-1))-((_a)<0?1:0))>>(_b)) |
Definition at line 65 of file stabilization_rate.c.
#define PITCH_RATE_DEADBAND_EXCEEDED | ( | ) |
Definition at line 88 of file stabilization_rate.c.
Referenced by stabilization_rate_read_rc(), and stabilization_rate_read_rc_switched_sticks().
#define ROLL_RATE_DEADBAND_EXCEEDED | ( | ) |
Definition at line 84 of file stabilization_rate.c.
Referenced by stabilization_rate_read_rc(), and stabilization_rate_read_rc_switched_sticks().
#define STABILIZATION_RATE_DEADBAND_P 0 |
Definition at line 75 of file stabilization_rate.c.
#define STABILIZATION_RATE_DEADBAND_Q 0 |
Definition at line 78 of file stabilization_rate.c.
#define STABILIZATION_RATE_DEADBAND_R 200 |
Definition at line 81 of file stabilization_rate.c.
#define STABILIZATION_RATE_IGAIN_P 0 |
Definition at line 43 of file stabilization_rate.c.
Referenced by stabilization_rate_init().
#define STABILIZATION_RATE_IGAIN_Q 0 |
Definition at line 47 of file stabilization_rate.c.
Referenced by stabilization_rate_init().
#define STABILIZATION_RATE_IGAIN_R 0 |
Definition at line 51 of file stabilization_rate.c.
Referenced by stabilization_rate_init().
#define YAW_RATE_DEADBAND_EXCEEDED | ( | ) |
Definition at line 92 of file stabilization_rate.c.
Referenced by stabilization_rate_read_rc(), and stabilization_rate_read_rc_switched_sticks().
|
static |
Definition at line 99 of file stabilization_rate.c.
References FloatRates::p, FloatRates::q, FloatRates::r, stabilization_cmd, stabilization_rate_fb_cmd, stabilization_rate_sp, and stabilization_rate_sum_err.
Referenced by stabilization_rate_init().
void stabilization_rate_enter | ( | void | ) |
Definition at line 182 of file stabilization_rate.c.
Referenced by guidance_h_mode_changed().
void stabilization_rate_init | ( | void | ) |
Definition at line 115 of file stabilization_rate.c.
void stabilization_rate_read_rc | ( | void | ) |
Definition at line 137 of file stabilization_rate.c.
Referenced by guidance_h_read_rc().
void stabilization_rate_read_rc_switched_sticks | ( | void | ) |
Definition at line 160 of file stabilization_rate.c.
Referenced by guidance_h_read_rc().
void stabilization_rate_run | ( | bool | in_flight | ) |
Definition at line 187 of file stabilization_rate.c.
Referenced by guidance_h_run().
struct FloatRates stabilization_rate_fb_cmd |
Definition at line 72 of file stabilization_rate.c.
Referenced by send_rate(), and stabilization_rate_run().
struct FloatRates stabilization_rate_gain |
Definition at line 68 of file stabilization_rate.c.
Referenced by stabilization_rate_init(), and stabilization_rate_run().
struct FloatRates stabilization_rate_igain |
Definition at line 69 of file stabilization_rate.c.
Referenced by stabilization_rate_init(), and stabilization_rate_run().
struct FloatRates stabilization_rate_sp |
Definition at line 67 of file stabilization_rate.c.
Referenced by send_rate(), stabilization_rate_init(), stabilization_rate_read_rc(), stabilization_rate_read_rc_switched_sticks(), and stabilization_rate_run().
struct FloatRates stabilization_rate_sum_err |
Definition at line 70 of file stabilization_rate.c.
Referenced by send_rate(), stabilization_rate_enter(), stabilization_rate_init(), and stabilization_rate_run().