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

#include <est_pipeline.h>

Collaboration diagram for est_config_t:
[legend]

Data Fields

uint8_t gyro_per_step
 2 with ODR 1920 Hz, 1 with 960 Hz

 
uint8_t steps_per_acc
 4 -> acc update at 240 Hz

 
uint16_t calib_samples
 mag samples while standing still

 
float calib_gyro_still
 rad/s

 
float sigma_vec_min
 
iekf_config_t ekf
 sigma_acc/sigma_mag overwritten by calib
 
float mag_map [9]
 LIS2MDL sensor -> body (LSM6DSV16X)

 
float mag_hard_iron [3]
 uT, body frame

 
float mag_scale [3]
 
float mag_latency_s
 Age of the mag sample on arrival: the LIS2MDL converts at f_lis, the sensor hub re-reads it at f_sh > f_lis and duplicates are discarded, so the age is ~uniform in [0, 1/f_sh]: mean 0.5/f_sh, std (1/f_sh)/sqrt(12).
 
float mag_latency_std_s
 
float still_acc_tol
 Stillness detector: if |a| ~ nominal and |omega| small for still_time_s, an external acceleration is physically implausible -> the accelerometer NIS inflation is reset and the filter trusts it again at once (fast recovery from a true attitude error).
 
float still_gyro_thr
 rad/s, e.g.
 
float still_time_s
 e.g.
 

Detailed Description

Definition at line 35 of file est_pipeline.h.

Field Documentation

◆ gyro_per_step

uint8_t est_config_t::gyro_per_step

2 with ODR 1920 Hz, 1 with 960 Hz

Definition at line 36 of file est_pipeline.h.

Referenced by app_est_config().

◆ steps_per_acc

uint8_t est_config_t::steps_per_acc

4 -> acc update at 240 Hz

Definition at line 37 of file est_pipeline.h.

Referenced by app_est_config().

◆ calib_samples

uint16_t est_config_t::calib_samples

mag samples while standing still

Definition at line 38 of file est_pipeline.h.

Referenced by app_est_config().

◆ calib_gyro_still

float est_config_t::calib_gyro_still

rad/s

Definition at line 39 of file est_pipeline.h.

Referenced by app_est_config().

◆ sigma_vec_min

float est_config_t::sigma_vec_min

Definition at line 40 of file est_pipeline.h.

Referenced by app_est_config().

◆ ekf

iekf_config_t est_config_t::ekf

sigma_acc/sigma_mag overwritten by calib

Definition at line 41 of file est_pipeline.h.

Referenced by app_est_config().

◆ mag_map

float est_config_t::mag_map[9]

LIS2MDL sensor -> body (LSM6DSV16X)

Definition at line 42 of file est_pipeline.h.

Referenced by ImuTask().

◆ mag_hard_iron

float est_config_t::mag_hard_iron[3]

uT, body frame

Definition at line 43 of file est_pipeline.h.

Referenced by ImuTask(), and take_calibrations().

◆ mag_scale

float est_config_t::mag_scale[3]

Definition at line 44 of file est_pipeline.h.

Referenced by ImuTask(), and take_calibrations().

◆ mag_latency_s

float est_config_t::mag_latency_s

Age of the mag sample on arrival: the LIS2MDL converts at f_lis, the sensor hub re-reads it at f_sh > f_lis and duplicates are discarded, so the age is ~uniform in [0, 1/f_sh]: mean 0.5/f_sh, std (1/f_sh)/sqrt(12).

The mean is compensated by rotating the measurement forward with the gyro; the random part enters as a variance proportional to |omega|^2.

Definition at line 51 of file est_pipeline.h.

Referenced by app_est_config().

◆ mag_latency_std_s

float est_config_t::mag_latency_std_s

Definition at line 52 of file est_pipeline.h.

Referenced by app_est_config().

◆ still_acc_tol

float est_config_t::still_acc_tol

Stillness detector: if |a| ~ nominal and |omega| small for still_time_s, an external acceleration is physically implausible -> the accelerometer NIS inflation is reset and the filter trusts it again at once (fast recovery from a true attitude error).

still_time_s = 0: disabled. relative deviation of |a|, e.g. 0.02

Definition at line 57 of file est_pipeline.h.

Referenced by app_est_config().

◆ still_gyro_thr

float est_config_t::still_gyro_thr

rad/s, e.g.

3 deg/s

Definition at line 58 of file est_pipeline.h.

Referenced by app_est_config().

◆ still_time_s

float est_config_t::still_time_s

e.g.

0.3 s

Definition at line 59 of file est_pipeline.h.

Referenced by app_est_config().


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