ACwing FC firmware
STM32WB55: attitude IEKF, altitude Kalman filter, flight core, protocol v2
Loading...
Searching...
No Matches
iekf_t Struct Reference

#include <iekf.h>

Collaboration diagram for iekf_t:
[legend]

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]
 

Detailed Description

Definition at line 96 of file iekf.h.

Field Documentation

◆ cfg

◆ R

◆ b

float iekf_t::b[3]

Definition at line 99 of file iekf.h.

Referenced by iekf_init(), iekf_propagate_dtheta(), and vector_update().

◆ P

◆ g_ref

float iekf_t::g_ref[3]

Definition at line 101 of file iekf.h.

Referenced by iekf_init(), iekf_update_acc(), and project_gain().

◆ m_ref

float iekf_t::m_ref[3]

Definition at line 101 of file iekf.h.

Referenced by iekf_init(), and iekf_update_mag_ex().

◆ nom_acc

float iekf_t::nom_acc

Definition at line 102 of file iekf.h.

Referenced by iekf_init(), and iekf_update_acc().

◆ nom_mag

float iekf_t::nom_mag

Definition at line 102 of file iekf.h.

Referenced by iekf_init(), and iekf_update_mag_ex().

◆ last_acc_dev

float iekf_t::last_acc_dev

Definition at line 103 of file iekf.h.

Referenced by iekf_update_acc().

◆ last_mag_dev

float iekf_t::last_mag_dev

relative magnitude deviation

Definition at line 103 of file iekf.h.

Referenced by iekf_update_mag_ex().

◆ acc_infl

float iekf_t::acc_infl

Definition at line 104 of file iekf.h.

Referenced by iekf_init(), iekf_reset_attitude(), and iekf_update_acc().

◆ mag_infl

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().

◆ last_acc_nis

float iekf_t::last_acc_nis

Definition at line 105 of file iekf.h.

Referenced by iekf_update_acc().

◆ last_mag_nis

float iekf_t::last_mag_nis

Definition at line 105 of file iekf.h.

Referenced by iekf_update_mag_ex().

◆ last_acc_dir

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().

◆ dip_ref

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().

◆ last_dip_dev

float iekf_t::last_dip_dev

Definition at line 108 of file iekf.h.

Referenced by iekf_update_mag_ex().

◆ acc_trusted

uint8_t iekf_t::acc_trusted

Definition at line 109 of file iekf.h.

Referenced by iekf_update_acc().

◆ acc_gated_run

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().

◆ acc_grace

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().

◆ lockouts

uint32_t iekf_t::lockouts

how many times the protection fired

Definition at line 113 of file iekf.h.

Referenced by iekf_update_acc().

◆ innov_w_mean

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().

◆ innov_w_pow

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().

◆ last_acc_innov_b

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().

◆ E_last

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().

◆ wF

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().

◆ wA

float iekf_t::wA[36]

Definition at line 119 of file iekf.h.

Referenced by iekf_propagate_dtheta(), and vector_update().

◆ wB

float iekf_t::wB[36]

Definition at line 119 of file iekf.h.

Referenced by iekf_propagate_dtheta(), and vector_update().

◆ wH

float iekf_t::wH[18]

Definition at line 120 of file iekf.h.

Referenced by vector_update().

◆ wHt

float iekf_t::wHt[18]

Definition at line 120 of file iekf.h.

Referenced by vector_update().

◆ wPHt

float iekf_t::wPHt[18]

Definition at line 120 of file iekf.h.

Referenced by vector_update().

◆ wK

float iekf_t::wK[18]

Definition at line 120 of file iekf.h.

Referenced by project_gain(), and vector_update().


The documentation for this struct was generated from the following file: