![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Multiplicative Extended Kalman Filter in rotation matrix formulation. More...
Go to the source code of this file.
Data Structures | |
struct | ins_mekf_wind_parameters |
Variables | |
struct ins_mekf_wind_parameters | ins_mekf_wind_params |
Multiplicative Extended Kalman Filter in rotation matrix formulation.
Estimate attitude, ground speed, position, gyro bias, accelerometer bias and wind speed.
Definition in file ins_mekf_wind.h.
struct ins_mekf_wind_parameters |
Definition at line 42 of file ins_mekf_wind.h.
Data Fields | ||
---|---|---|
bool | disable_wind | disable wind estimation |
float | Q_accel | accel process noise |
float | Q_accel_bias | accel bias process noise |
float | Q_baro_bias | baro bias process noise |
float | Q_gyro | gyro process noise |
float | Q_rates_bias | rates bias process noise |
float | Q_wind | wind process noise |
float | R_airspeed | airspeed measurement noise |
float | R_aoa | angle of attack measurement noise |
float | R_aos | sideslip angle measurement noise |
float | R_baro | baro measurement noise |
float | R_mag | mag measurement noise |
float | R_pos | pos measurement noise |
float | R_pos_z | vertical pos measurement noise |
float | R_speed | speed measurement noise |
float | R_speed_z | vertical speed measurement noise |
Definition at line 106 of file ins_mekf_wind.h.
Definition at line 116 of file ins_mekf_wind.h.
Definition at line 121 of file ins_mekf_wind.h.
Definition at line 101 of file ins_mekf_wind.h.
Definition at line 111 of file ins_mekf_wind.h.
Definition at line 126 of file ins_mekf_wind.h.
Definition at line 161 of file ins_mekf_wind.h.
Definition at line 166 of file ins_mekf_wind.h.
Definition at line 171 of file ins_mekf_wind.h.
Definition at line 156 of file ins_mekf_wind.h.
Definition at line 151 of file ins_mekf_wind.h.
Definition at line 136 of file ins_mekf_wind.h.
Definition at line 146 of file ins_mekf_wind.h.
Definition at line 131 of file ins_mekf_wind.h.
Definition at line 141 of file ins_mekf_wind.h.
|
extern |
Definition at line 487 of file ins_mekf_wind.cpp.
References mwp, FloatRates::p, FloatRates::q, FloatQuat::qi, FloatQuat::qx, FloatQuat::qy, FloatQuat::qz, and FloatRates::r.
Referenced by aligner_cb().
|
extern |
Definition at line 821 of file ins_mekf_wind.cpp.
References foo, mwp, and FloatVect3::x.
Referenced by gyro_cb(), and send_inv_filter().
Definition at line 755 of file ins_mekf_wind.cpp.
References mwp, and NedCoor_f::x.
Referenced by gyro_cb(), and set_state_from_ins().
Definition at line 804 of file ins_mekf_wind.cpp.
References foo, mwp, and NedCoor_f::x.
Definition at line 816 of file ins_mekf_wind.cpp.
References mwp.
Referenced by gyro_cb(), send_inv_filter(), and send_wind().
Definition at line 841 of file ins_mekf_wind.cpp.
References mwp.
Referenced by gyro_cb().
|
extern |
Definition at line 784 of file ins_mekf_wind.cpp.
References mwp, FloatRates::p, and FloatRates::r.
Referenced by gyro_cb(), and set_state_from_ins().
Getter/Setter functions.
Definition at line 721 of file ins_mekf_wind.cpp.
References mwp, p, and NedCoor_f::x.
Referenced by gyro_cb(), send_inv_filter(), and set_state_from_ins().
Definition at line 765 of file ins_mekf_wind.cpp.
References mwp, and FloatQuat::qi.
Referenced by gyro_cb(), send_euler(), send_inv_filter(), and set_state_from_ins().
|
extern |
Definition at line 831 of file ins_mekf_wind.cpp.
References foo, mwp, and FloatRates::p.
Referenced by gyro_cb(), and send_inv_filter().
Definition at line 738 of file ins_mekf_wind.cpp.
References mwp, s, and NedCoor_f::x.
Referenced by gyro_cb(), send_inv_filter(), and set_state_from_ins().
Definition at line 794 of file ins_mekf_wind.cpp.
References mwp, and NedCoor_f::x.
Referenced by gyro_cb(), and send_wind().
Init function.
Definition at line 308 of file ins_mekf_wind.cpp.
References ins_mekf_wind_parameters::disable_wind, foo, init_mekf_state(), INS_MEKF_WIND_DISABLE_WIND, ins_mekf_wind_params, INS_MEKF_WIND_Q_ACCEL, INS_MEKF_WIND_Q_ACCEL_BIAS, INS_MEKF_WIND_Q_BARO_BIAS, INS_MEKF_WIND_Q_GYRO, INS_MEKF_WIND_Q_RATES_BIAS, INS_MEKF_WIND_Q_WIND, INS_MEKF_WIND_R_AIRSPEED, INS_MEKF_WIND_R_AOA, INS_MEKF_WIND_R_AOS, INS_MEKF_WIND_R_BARO, INS_MEKF_WIND_R_MAG, INS_MEKF_WIND_R_POS, INS_MEKF_WIND_R_POS_Z, INS_MEKF_WIND_R_SPEED, INS_MEKF_WIND_R_SPEED_Z, InsMekfWindPrivate::mag_h, mekf_wind_private, ins_mekf_wind_parameters::Q_accel, ins_mekf_wind_parameters::Q_accel_bias, ins_mekf_wind_parameters::Q_baro_bias, ins_mekf_wind_parameters::Q_gyro, ins_mekf_wind_parameters::Q_rates_bias, ins_mekf_wind_parameters::Q_wind, ins_mekf_wind_parameters::R_airspeed, ins_mekf_wind_parameters::R_aoa, ins_mekf_wind_parameters::R_aos, ins_mekf_wind_parameters::R_baro, ins_mekf_wind_parameters::R_mag, ins_mekf_wind_parameters::R_pos, ins_mekf_wind_parameters::R_pos_z, ins_mekf_wind_parameters::R_speed, and ins_mekf_wind_parameters::R_speed_z.
Referenced by ins_mekf_wind_wrapper_init().
|
extern |
Full INS propagation.
Definition at line 350 of file ins_mekf_wind.cpp.
References A, MekfWindInputs::accel, ins_mekf_wind_parameters::disable_wind, foo, gravity(), InsMekfWindPrivate::inputs, INS_MEKF_WIND_P0_WIND, ins_mekf_wind_params, MEKF_WIND_abx, MEKF_WIND_bb, MEKF_WIND_COV_SIZE, mekf_wind_private, MEKF_WIND_px, MEKF_WIND_qabx, MEKF_WIND_qax, MEKF_WIND_qbb, MEKF_WIND_qgp, MEKF_WIND_qrbp, MEKF_WIND_qwx, MEKF_WIND_qx, MEKF_WIND_rbp, MEKF_WIND_vx, MEKF_WIND_wx, MEKF_WIND_wy, MEKF_WIND_wz, mwp, FloatRates::p, FloatRates::q, quat_add(), quat_smul(), FloatRates::r, MekfWindInputs::rates, skew_sym(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.
Referenced by gyro_cb().
|
extern |
AHRS-only propagation + accel correction.
Definition at line 422 of file ins_mekf_wind.cpp.
References A, MekfWindInputs::accel, foo, gravity(), H, InsMekfWindPrivate::inputs, K, mekf_wind_private, MEKF_WIND_qgp, MEKF_WIND_qrbp, MEKF_WIND_qx, MEKF_WIND_rbp, MEKF_WIND_rmx, mwp, FloatRates::p, FloatRates::q, quat_add(), quat_smul(), FloatRates::r, MekfWindInputs::rates, skew_sym(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.
Referenced by gyro_cb().
Definition at line 343 of file ins_mekf_wind.cpp.
References init_mekf_state().
|
extern |
Definition at line 335 of file ins_mekf_wind.cpp.
References InsMekfWindPrivate::mag_h, and mekf_wind_private.
Referenced by geo_mag_cb(), and ins_mekf_wind_wrapper_init().
Definition at line 731 of file ins_mekf_wind.cpp.
Referenced by gps_cb().
Definition at line 776 of file ins_mekf_wind.cpp.
References mwp, FloatQuat::qi, FloatQuat::qx, FloatQuat::qy, and FloatQuat::qz.
Definition at line 748 of file ins_mekf_wind.cpp.
Referenced by gps_cb().
Definition at line 614 of file ins_mekf_wind.cpp.
References ins_mekf_wind_parameters::disable_wind, foo, H, ins_mekf_wind_params, K, MEKF_WIND_abx, MEKF_WIND_bb, MEKF_WIND_px, MEKF_WIND_qx, MEKF_WIND_ras, MEKF_WIND_rbp, MEKF_WIND_vx, MEKF_WIND_wx, mwp, and skew_sym().
Referenced by airspeed_cb(), and pressure_diff_cb().
Definition at line 541 of file ins_mekf_wind.cpp.
References baro_alt, ins_mekf_wind_parameters::disable_wind, foo, H, ins_mekf_wind_params, K, MEKF_WIND_abx, MEKF_WIND_bb, MEKF_WIND_px, MEKF_WIND_pz, MEKF_WIND_qx, MEKF_WIND_rb, MEKF_WIND_rbp, MEKF_WIND_vx, MEKF_WIND_wx, and mwp.
Referenced by baro_cb().
Definition at line 652 of file ins_mekf_wind.cpp.
References B, ins_mekf_wind_parameters::disable_wind, foo, H, ins_mekf_wind_params, K, MEKF_WIND_abx, MEKF_WIND_bb, MEKF_WIND_px, MEKF_WIND_qx, MEKF_WIND_raoa, MEKF_WIND_rbp, MEKF_WIND_vx, MEKF_WIND_wx, mwp, and skew_sym().
Referenced by incidence_cb().
|
extern |
Definition at line 501 of file ins_mekf_wind.cpp.
References ins_mekf_wind_parameters::disable_wind, foo, H, ins_mekf_wind_params, K, MEKF_WIND_abx, MEKF_WIND_bb, MEKF_WIND_px, MEKF_WIND_qx, MEKF_WIND_rbp, MEKF_WIND_rmx, MEKF_WIND_vx, MEKF_WIND_wx, mwp, skew_sym(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.
Referenced by mag_cb().
Definition at line 846 of file ins_mekf_wind.cpp.
References foo, ins_mekf_wind_params, mekf_wind_private, MEKF_WIND_qabx, MEKF_WIND_qaby, MEKF_WIND_qabz, MEKF_WIND_qax, MEKF_WIND_qay, MEKF_WIND_qaz, MEKF_WIND_qbb, MEKF_WIND_qgp, MEKF_WIND_qgq, MEKF_WIND_qgr, MEKF_WIND_qrbp, MEKF_WIND_qrbq, MEKF_WIND_qrbr, MEKF_WIND_qwx, MEKF_WIND_qwy, MEKF_WIND_qwz, MEKF_WIND_raoa, MEKF_WIND_raos, MEKF_WIND_ras, MEKF_WIND_rb, MEKF_WIND_rmx, MEKF_WIND_rmy, MEKF_WIND_rmz, MEKF_WIND_rpx, MEKF_WIND_rpy, MEKF_WIND_rpz, MEKF_WIND_rvx, MEKF_WIND_rvy, MEKF_WIND_rvz, InsMekfWindPrivate::Q, ins_mekf_wind_parameters::Q_accel, ins_mekf_wind_parameters::Q_accel_bias, ins_mekf_wind_parameters::Q_baro_bias, ins_mekf_wind_parameters::Q_gyro, ins_mekf_wind_parameters::Q_rates_bias, ins_mekf_wind_parameters::Q_wind, InsMekfWindPrivate::R, ins_mekf_wind_parameters::R_airspeed, ins_mekf_wind_parameters::R_aoa, ins_mekf_wind_parameters::R_aos, ins_mekf_wind_parameters::R_baro, ins_mekf_wind_parameters::R_mag, ins_mekf_wind_parameters::R_pos, ins_mekf_wind_parameters::R_pos_z, ins_mekf_wind_parameters::R_speed, and ins_mekf_wind_parameters::R_speed_z.
Referenced by init_mekf_state().
|
extern |
Definition at line 575 of file ins_mekf_wind.cpp.
References ins_mekf_wind_parameters::disable_wind, foo, H, ins_mekf_wind_params, K, MEKF_WIND_abx, MEKF_WIND_bb, MEKF_WIND_px, MEKF_WIND_qx, MEKF_WIND_rbp, MEKF_WIND_rvx, MEKF_WIND_vx, MEKF_WIND_wx, mwp, FloatVect3::x, FloatVect3::y, and FloatVect3::z.
Referenced by gps_cb().
|
extern |
Definition at line 217 of file ins_mekf_wind.cpp.
Referenced by ins_mekf_wind_init(), ins_mekf_wind_propagate(), ins_mekf_wind_update_airspeed(), ins_mekf_wind_update_baro(), ins_mekf_wind_update_incidence(), ins_mekf_wind_update_mag(), ins_mekf_wind_update_params(), and ins_mekf_wind_update_pos_speed().