Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
ahrs_float_mlkf.h File Reference

Multiplicative linearized Kalman Filter in quaternion formulation. More...

#include "std.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_orientation_conversion.h"
+ Include dependency graph for ahrs_float_mlkf.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  AhrsMlkf
 

Enumerations

enum  AhrsMlkfStatus { AHRS_MLKF_UNINIT , AHRS_MLKF_RUNNING }
 

Functions

void ahrs_mlkf_init (void)
 
bool ahrs_mlkf_align (struct FloatRates *lp_gyro, struct FloatVect3 *lp_accel, struct FloatVect3 *lp_mag)
 
void ahrs_mlkf_propagate (struct FloatRates *gyro, float dt)
 
void ahrs_mlkf_update_accel (struct FloatVect3 *accel)
 
void ahrs_mlkf_update_mag (struct FloatVect3 *mag)
 
void ahrs_mlkf_update_mag_2d (struct FloatVect3 *mag)
 
void ahrs_mlkf_update_mag_full (struct FloatVect3 *mag)
 

Variables

struct AhrsMlkf ahrs_mlkf
 

Detailed Description

Multiplicative linearized Kalman Filter in quaternion formulation.

Estimate the attitude, heading and gyro bias.

Definition in file ahrs_float_mlkf.h.


Data Structure Documentation

◆ AhrsMlkf

struct AhrsMlkf

Definition at line 43 of file ahrs_float_mlkf.h.

+ Collaboration diagram for AhrsMlkf:
Data Fields
struct FloatRates body_rate Rotational velocity in body frame.
struct FloatQuat gibbs_cor
struct FloatRates gyro_bias
bool is_aligned
float lp_accel
struct FloatQuat ltp_to_body_quat Rotation from LocalTangentPlane to body frame as unit quaternion.
struct FloatVect3 mag_h
struct FloatVect3 mag_noise
float P[6][6]
enum AhrsMlkfStatus status

Enumeration Type Documentation

◆ AhrsMlkfStatus

Enumerator
AHRS_MLKF_UNINIT 
AHRS_MLKF_RUNNING 

Definition at line 38 of file ahrs_float_mlkf.h.

Function Documentation

◆ ahrs_mlkf_align()

bool ahrs_mlkf_align ( struct FloatRates lp_gyro,
struct FloatVect3 lp_accel,
struct FloatVect3 lp_mag 
)

Definition at line 91 of file ahrs_float_mlkf.c.

References ahrs_float_get_quat_from_accel_mag(), ahrs_mlkf, AhrsMlkf::gyro_bias, AhrsMlkf::is_aligned, AhrsMlkf::lp_accel, and AhrsMlkf::ltp_to_body_quat.

Referenced by aligner_cb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ahrs_mlkf_init()

void ahrs_mlkf_init ( void  )

◆ ahrs_mlkf_propagate()

void ahrs_mlkf_propagate ( struct FloatRates gyro,
float  dt 
)

Definition at line 106 of file ahrs_float_mlkf.c.

References propagate_ref(), and propagate_state().

Referenced by gyro_cb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ahrs_mlkf_update_accel()

void ahrs_mlkf_update_accel ( struct FloatVect3 accel)

Definition at line 112 of file ahrs_float_mlkf.c.

References ahrs_mlkf, alpha, dn, float_vect3_norm(), AhrsMlkf::lp_accel, reset_state(), and update_state().

Referenced by accel_cb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ahrs_mlkf_update_mag()

void ahrs_mlkf_update_mag ( struct FloatVect3 mag)

Definition at line 125 of file ahrs_float_mlkf.c.

References ahrs_mlkf_update_mag_2d(), and ahrs_mlkf_update_mag_full().

Referenced by mag_cb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ahrs_mlkf_update_mag_2d()

void ahrs_mlkf_update_mag_2d ( struct FloatVect3 mag)

Definition at line 134 of file ahrs_float_mlkf.c.

References ahrs_mlkf, AhrsMlkf::mag_h, AhrsMlkf::mag_noise, reset_state(), and update_state_heading().

Referenced by ahrs_mlkf_update_mag().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ahrs_mlkf_update_mag_full()

void ahrs_mlkf_update_mag_full ( struct FloatVect3 mag)

Definition at line 140 of file ahrs_float_mlkf.c.

References ahrs_mlkf, AhrsMlkf::mag_h, AhrsMlkf::mag_noise, reset_state(), and update_state().

Referenced by ahrs_mlkf_update_mag().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ ahrs_mlkf