Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "std.h"
#include "math/pprz_algebra_int.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_geodetic_float.h"
#include "modules/meteo/ekf_aw.h"
Go to the source code of this file.
Data Structures | |
struct | ekfAw |
Macros | |
#define | EKF_AW_RPM_HOVER_NUM 4 |
Euler angles. More... | |
#define | ekf_aw_wrapper_reset(_v) |
#define | ekf_aw_wrapper_set_wind_N(_v) |
#define | ekf_aw_wrapper_set_wind_E(_v) |
#define | ekf_aw_wrapper_set_wind_D(_v) |
#define | ekf_aw_wrapper_set_offset_x(_v) |
#define | ekf_aw_wrapper_set_offset_y(_v) |
#define | ekf_aw_wrapper_set_offset_z(_v) |
Functions | |
void | ekf_aw_wrapper_init (void) |
void | ekf_aw_wrapper_periodic (void) |
void | ekf_aw_wrapper_fetch (void) |
void | set_in_air_status (bool) |
Variables | |
float | tau_filter_high |
float | tau_filter_low |
struct ekfAw | ekf_aw |
struct ekfAw |
Definition at line 12 of file ekf_aw_wrapper.h.
Data Fields | ||
---|---|---|
struct FloatVect3 | acc | Last accelerometer measurements. |
struct FloatVect3 | acc_filt |
Ground Speed. Last accelerometer measurements |
float | elevator_angle | Skew. |
float | elevator_force[3] | |
struct FloatEulers | euler | |
float | fuselage_force[3] | |
struct FloatRates | gyro | Last gyroscope measurements. |
struct ekfHealth | health | |
float | hover_force[3] | |
bool | in_air | |
struct FloatVect3 | innov_acc_filt | |
struct FloatVect3 | innov_V_gnd | Pitot tube airspeed. |
float | innov_V_pitot | |
uint64_t | internal_clock | |
int32_t | last_RPM_hover[EKF_AW_RPM_HOVER_NUM] | |
int32_t | last_RPM_pusher | |
float | meas_cov[7] | |
struct NedCoor_f | offset | |
struct NedCoor_f | offset_guess | |
bool | override_quick_convergence | |
bool | override_start | |
float | process_cov[12] | |
float | pusher_force[3] | |
bool | reset | |
float | RPM_hover[EKF_AW_RPM_HOVER_NUM] | |
float | RPM_pusher | Hover motor RPM. |
float | skew | Pusher motor RPM. |
float | state_cov[9] | |
uint64_t | time_last_in_air | |
uint64_t | time_last_on_gnd | |
struct NedCoor_f | V_body | |
float | V_pitot | |
struct FloatVect3 | Vg_NED | |
struct NedCoor_f | wind | |
struct NedCoor_f | wind_guess | |
float | wing_force[3] |
#define EKF_AW_RPM_HOVER_NUM 4 |
Euler angles.
Definition at line 24 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_reset | ( | _v | ) |
Definition at line 82 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_set_offset_x | ( | _v | ) |
Definition at line 103 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_set_offset_y | ( | _v | ) |
Definition at line 108 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_set_offset_z | ( | _v | ) |
Definition at line 113 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_set_wind_D | ( | _v | ) |
Definition at line 98 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_set_wind_E | ( | _v | ) |
Definition at line 93 of file ekf_aw_wrapper.h.
#define ekf_aw_wrapper_set_wind_N | ( | _v | ) |
Definition at line 88 of file ekf_aw_wrapper.h.
void ekf_aw_wrapper_fetch | ( | void | ) |
Definition at line 338 of file ekf_aw_wrapper.c.
References ACCEL_BFP_OF_REAL, ACCELS_FLOAT_OF_BFP, body_accel_f, ekf_aw, EKF_AW_RPM_HOVER_NUM, filt_acc, filt_acc_low, filt_airspeed_pitot, filt_elevator_pprz, filt_euler, filt_groundspeed, filt_hover_prop_rpm, filt_pusher_prop_rpm, filt_rate, filt_skew, int32_rmat_vmult(), ekfAw::last_RPM_hover, ekfAw::last_RPM_pusher, p, stateGetAccelBody_i(), stateGetAccelNed_i(), stateGetAirspeed_f(), stateGetBodyRates_f(), stateGetNedToBodyEulers_f(), stateGetNedToBodyRMat_i(), stateGetSpeedNed_f(), update_butterworth_2_low_pass(), VECT3_COPY, FloatVect3::x, NedCoor_f::x, FloatVect3::y, NedCoor_f::y, FloatVect3::z, Int32Vect3::z, and NedCoor_f::z.
void ekf_aw_wrapper_init | ( | void | ) |
Definition at line 136 of file ekf_aw_wrapper.c.
References ACT_FEEDBACK_RPM_SENSOR_ID, ekfHealth::crashes_n, DefaultPeriodic, ekf_aw, ekf_aw_get_param_handle(), ekf_aw_init(), EKF_AW_RPM_HOVER_NUM, ekf_params, ekfAw::elevator_angle, ekfAw::elevator_force, filt_acc, filt_acc_low, filt_airspeed_pitot, filt_elevator_pprz, filt_euler, filt_groundspeed, filt_hover_prop_rpm, filt_pusher_prop_rpm, filt_rate, filt_skew, ekfAw::fuselage_force, ekfAw::health, ekfHealth::healthy, ekfAw::hover_force, ekfAw::in_air, init_butterworth_2_low_pass(), ekfAw::innov_acc_filt, ekfAw::innov_V_gnd, ekfAw::innov_V_pitot, ekfAw::internal_clock, ekfAw::last_RPM_hover, ekfAw::last_RPM_pusher, ekfAw::offset, ekfAw::override_quick_convergence, ekfAw::override_start, PERIODIC_FREQUENCY_AIRSPEED_EKF_FETCH, ekfAw::pusher_force, register_periodic_telemetry(), rpm_cb(), RPM_ev, ekfAw::RPM_hover, ekfAw::RPM_pusher, send_airspeed_wind_ekf(), send_airspeed_wind_ekf_debug(), ekfAw::skew, tau_filter_high, tau_filter_low, ekfAw::time_last_on_gnd, ekfAw::V_body, ekfAw::wind, ekfAw::wing_force, FloatVect3::x, NedCoor_f::x, FloatVect3::y, NedCoor_f::y, FloatVect3::z, and NedCoor_f::z.
void ekf_aw_wrapper_periodic | ( | void | ) |
Definition at line 215 of file ekf_aw_wrapper.c.
References ekfAw::acc, ekfAw::acc_filt, autopilot_in_flight(), ekf_aw, ekf_aw_get_elevator_force(), ekf_aw_get_fuselage_force(), ekf_aw_get_health(), ekf_aw_get_hover_force(), ekf_aw_get_innov_accel_filt(), ekf_aw_get_innov_V_gnd(), ekf_aw_get_innov_V_pitot(), ekf_aw_get_meas_cov(), ekf_aw_get_offset(), ekf_aw_get_process_cov(), ekf_aw_get_pusher_force(), ekf_aw_get_speed_body(), ekf_aw_get_state_cov(), ekf_aw_get_wind_ned(), ekf_aw_get_wing_force(), ekf_aw_propagate(), EKF_AW_QUICK_CONVERGENCE, EKF_AW_QUICK_CONVERGENCE_TIME, EKF_AW_RPM_HOVER_NUM, ekf_aw_set_speed_body(), EKF_AW_WRAPPER_RANDOM_INPUTS, ekf_params, ekfAw::elevator_angle, ekfAw::elevator_force, ekfAw::euler, filt_acc, filt_acc_low, filt_airspeed_pitot, filt_elevator_pprz, filt_euler, filt_groundspeed, filt_hover_prop_rpm, filt_pusher_prop_rpm, filt_rate, filt_skew, ekfAw::fuselage_force, ekfAw::gyro, ekfAw::health, ekfAw::hover_force, ekfAw::in_air, ekfAw::innov_acc_filt, ekfAw::innov_V_gnd, ekfAw::innov_V_pitot, ekfAw::internal_clock, ekfAw::meas_cov, SecondOrderLowPass::o, ekfAw::offset, ekfAw::override_quick_convergence, ekfAw::override_start, FloatRates::p, PERIODIC_FREQUENCY_AIRSPEED_EKF, PERIODIC_FREQUENCY_AIRSPEED_EKF_FETCH, FloatEulers::phi, ekfAw::process_cov, FloatEulers::psi, ekfAw::pusher_force, FloatRates::q, ekfAwParameters::quick_convergence, FloatRates::r, ekfAw::RPM_hover, ekfAw::RPM_pusher, set_in_air_status(), ekfAw::skew, ekfAw::state_cov, stateGetNedToBodyEulers_f(), stateGetPositionNed_f(), FloatEulers::theta, ekfAw::time_last_on_gnd, ekfAw::V_body, ekfAw::V_pitot, ekfAw::Vg_NED, ekfAw::wind, ekfAw::wing_force, FloatVect3::x, FloatVect3::y, FloatVect3::z, NedCoor_f::z, and zero_speed.
void set_in_air_status | ( | bool | in_air | ) |
Definition at line 445 of file ekf_aw_wrapper.c.
References ekf_aw, ekfAw::in_air, ekfAw::internal_clock, ekfAw::time_last_in_air, and ekfAw::time_last_on_gnd.
Referenced by ekf_aw_wrapper_periodic().
|
extern |
Definition at line 97 of file ekf_aw_wrapper.c.
Referenced by ekf_aw_wrapper_fetch(), ekf_aw_wrapper_init(), ekf_aw_wrapper_periodic(), rpm_cb(), send_airspeed_wind_ekf(), send_airspeed_wind_ekf_debug(), and set_in_air_status().
|
extern |
Definition at line 104 of file ekf_aw_wrapper.c.
Referenced by ekf_aw_wrapper_init().
|
extern |
Definition at line 105 of file ekf_aw_wrapper.c.
Referenced by ekf_aw_wrapper_init().