![]() |
ACwing FC firmware
STM32WB55: attitude IEKF, altitude Kalman filter, flight core, protocol v2
|
#include <iekf.h>
Data Fields | |
| iekf_config_t | cfg |
| float | R [9] |
| float | b [3] |
| float | P [IEKF_NX *IEKF_NX] |
| float | g_ref [3] |
| float | m_ref [3] |
| float | nom_acc |
| float | nom_mag |
| float | last_acc_dev |
| float | last_mag_dev |
| relative magnitude deviation | |
| float | acc_infl |
| float | mag_infl |
| current inflation of R (>= 1) | |
| float | last_acc_nis |
| float | last_mag_nis |
| float | last_acc_dir [3] |
| last measured acc direction (for dip) | |
| float | dip_ref |
| g_ref-m_ref angle, rad | |
| float | last_dip_dev |
| uint8_t | acc_trusted |
| uint16_t | acc_gated_run |
| consecutive acc updates with inflation > 2 | |
| uint16_t | acc_grace |
| remaining acc updates without inflation | |
| uint32_t | lockouts |
| how many times the protection fired | |
| float | innov_w_mean [3] |
| moving mean of acc innovation, world frame | |
| float | innov_w_pow |
| moving mean of |innovation|^2 | |
| float | last_acc_innov_b [3] |
| acc innovation (body) before the update | |
| float | E_last [9] |
| rotation of the last propagation step | |
| float | wF [36] |
| static workspace: no large matrices on the RTOS task stack | |
| float | wA [36] |
| float | wB [36] |
| float | wH [18] |
| float | wHt [18] |
| float | wPHt [18] |
| float | wK [18] |
| iekf_config_t iekf_t::cfg |
Definition at line 97 of file iekf.h.
Referenced by condition_covariance(), iekf_init(), iekf_propagate_dtheta(), iekf_reset_attitude(), iekf_update_acc(), iekf_update_mag_ex(), project_gain(), reset_covariance(), and vector_update().
| float iekf_t::R[9] |
Definition at line 98 of file iekf.h.
Referenced by iekf_get_quat(), iekf_init(), iekf_propagate_dtheta(), iekf_reset_attitude(), iekf_update_acc(), iekf_update_mag_ex(), project_gain(), and vector_update().
| float iekf_t::b[3] |
Definition at line 99 of file iekf.h.
Referenced by iekf_init(), iekf_propagate_dtheta(), and vector_update().
Definition at line 100 of file iekf.h.
Referenced by condition_covariance(), iekf_init(), iekf_propagate_dtheta(), iekf_reset_attitude(), iekf_update_acc(), reset_covariance(), and vector_update().
| float iekf_t::g_ref[3] |
Definition at line 101 of file iekf.h.
Referenced by iekf_init(), iekf_update_acc(), and project_gain().
| float iekf_t::m_ref[3] |
Definition at line 101 of file iekf.h.
Referenced by iekf_init(), and iekf_update_mag_ex().
| float iekf_t::nom_acc |
Definition at line 102 of file iekf.h.
Referenced by iekf_init(), and iekf_update_acc().
| float iekf_t::nom_mag |
Definition at line 102 of file iekf.h.
Referenced by iekf_init(), and iekf_update_mag_ex().
| float iekf_t::last_acc_dev |
Definition at line 103 of file iekf.h.
Referenced by iekf_update_acc().
| float iekf_t::last_mag_dev |
relative magnitude deviation
Definition at line 103 of file iekf.h.
Referenced by iekf_update_mag_ex().
| float iekf_t::acc_infl |
Definition at line 104 of file iekf.h.
Referenced by iekf_init(), iekf_reset_attitude(), and iekf_update_acc().
| float iekf_t::mag_infl |
current inflation of R (>= 1)
Definition at line 104 of file iekf.h.
Referenced by iekf_init(), iekf_reset_attitude(), and iekf_update_mag_ex().
| float iekf_t::last_acc_nis |
Definition at line 105 of file iekf.h.
Referenced by iekf_update_acc().
| float iekf_t::last_mag_nis |
Definition at line 105 of file iekf.h.
Referenced by iekf_update_mag_ex().
| float iekf_t::last_acc_dir[3] |
last measured acc direction (for dip)
Definition at line 106 of file iekf.h.
Referenced by iekf_init(), iekf_update_acc(), and iekf_update_mag_ex().
| float iekf_t::dip_ref |
g_ref-m_ref angle, rad
Definition at line 107 of file iekf.h.
Referenced by iekf_init(), and iekf_update_mag_ex().
| float iekf_t::last_dip_dev |
Definition at line 108 of file iekf.h.
Referenced by iekf_update_mag_ex().
| uint8_t iekf_t::acc_trusted |
Definition at line 109 of file iekf.h.
Referenced by iekf_update_acc().
| uint16_t iekf_t::acc_gated_run |
consecutive acc updates with inflation > 2
Definition at line 111 of file iekf.h.
Referenced by iekf_reset_attitude(), and iekf_update_acc().
| uint16_t iekf_t::acc_grace |
remaining acc updates without inflation
Definition at line 112 of file iekf.h.
Referenced by iekf_reset_attitude(), and iekf_update_acc().
| uint32_t iekf_t::lockouts |
how many times the protection fired
Definition at line 113 of file iekf.h.
Referenced by iekf_update_acc().
| float iekf_t::innov_w_mean[3] |
moving mean of acc innovation, world frame
Definition at line 114 of file iekf.h.
Referenced by iekf_reset_attitude(), and iekf_update_acc().
| float iekf_t::innov_w_pow |
moving mean of |innovation|^2
Definition at line 115 of file iekf.h.
Referenced by iekf_reset_attitude(), and iekf_update_acc().
| float iekf_t::last_acc_innov_b[3] |
acc innovation (body) before the update
Definition at line 116 of file iekf.h.
Referenced by iekf_update_acc().
| float iekf_t::E_last[9] |
rotation of the last propagation step
Definition at line 117 of file iekf.h.
Referenced by iekf_init(), and iekf_propagate_dtheta().
| float iekf_t::wF[36] |
static workspace: no large matrices on the RTOS task stack
Definition at line 119 of file iekf.h.
Referenced by iekf_propagate_dtheta(), and vector_update().
| float iekf_t::wA[36] |
Definition at line 119 of file iekf.h.
Referenced by iekf_propagate_dtheta(), and vector_update().
| float iekf_t::wB[36] |
Definition at line 119 of file iekf.h.
Referenced by iekf_propagate_dtheta(), and vector_update().
| float iekf_t::wH[18] |
Definition at line 120 of file iekf.h.
Referenced by vector_update().
| float iekf_t::wHt[18] |
Definition at line 120 of file iekf.h.
Referenced by vector_update().
| float iekf_t::wPHt[18] |
Definition at line 120 of file iekf.h.
Referenced by vector_update().
| float iekf_t::wK[18] |
Definition at line 120 of file iekf.h.
Referenced by project_gain(), and vector_update().