Paparazzi UAS  v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
vf_extended_float.h File Reference

Interface for extended vertical filter (in float). More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VffExtended
 

Macros

#define VFF_STATE_SIZE   4
 

Functions

void vff_init_zero (void)
 
void vff_init (float z, float zdot, float accel_bias, float baro_offset)
 
void vff_propagate (float accel, float dt)
 Propagate the filter in time. More...
 
void vff_update_baro (float z_meas)
 
void vff_update_z (float z_meas)
 
void vff_update_offset (float offset)
 
void vff_update_baro_conf (float z_meas, float conf)
 
void vff_update_z_conf (float z_meas, float conf)
 
void vff_realign (float z_meas)
 

Variables

struct VffExtended vff
 

Detailed Description

Interface for extended vertical filter (in float).

Definition in file vf_extended_float.h.


Data Structure Documentation

struct VffExtended

Definition at line 35 of file vf_extended_float.h.

Data Fields
float bias accel bias estimate in m/s^2
float offset baro offset estimate
float P[VFF_STATE_SIZE][VFF_STATE_SIZE] covariance matrix
float z z-position estimate in m (NED, z-down)
float z_meas last z measurement in m
float z_meas_baro last z measurement from baro in m
float zdot z-velocity estimate in m/s (NED, z-down)
float zdotdot z-acceleration in m/s^2 (NED, z-down)

Macro Definition Documentation

#define VFF_STATE_SIZE   4

Definition at line 33 of file vf_extended_float.h.

Referenced by vff_init().

Function Documentation

void vff_init ( float  z,
float  zdot,
float  accel_bias,
float  baro_offset 
)

Definition at line 85 of file vf_extended_float.c.

References VffExtended::bias, DefaultPeriodic, VffExtended::offset, VffExtended::P, register_periodic_telemetry(), vff, VFF_EXTENDED_INIT_PXX, VFF_STATE_SIZE, VffExtended::z, and VffExtended::zdot.

Referenced by vff_init_zero(), and vff_realign().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vff_init_zero ( void  )

Definition at line 80 of file vf_extended_float.c.

void vff_propagate ( float  accel,
float  dt 
)

Propagate the filter in time.

F = [ 1 dt -dt^2/2 0 0 1 -dt 0 0 0 1 0 0 0 0 1 ];

B = [ dt^2/2 dt 0 0]';

Q = [ Qzz 0 0 0 0 Qzdotzdot 0 0 0 0 Qbiasbias 0 0 0 0 0 Qoffoff ];

Qzz = VFF_EXTENDED_ACCEL_NOISE * DT_VFILTER * DT_VFILTER / 2. Qzdotzdot = VFF_EXTENDED_ACCEL_NOISE * DT_VFILTER

Xk1 = F * Xk0 + B * accel;

Pk1 = F * Pk0 * F' + Q;

F = [ 1 dt -dt^2/2 0 1 -dt 0 0 1 ];

B = [ dt^2/2 dt 0]';

Q = [ 0.01 0 0 0 0.01 0 0 0 0.001 ];

Xk1 = F * Xk0 + B * accel;

Pk1 = F * Pk0 * F' + Q;

Definition at line 127 of file vf_extended_float.c.

void vff_realign ( float  z_meas)

Definition at line 347 of file vf_extended_float.c.

void vff_update_baro ( float  z_meas)

Definition at line 216 of file vf_extended_float.c.

References R_BARO, and update_baro_conf().

Referenced by baro_cb().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void vff_update_baro_conf ( float  z_meas,
float  conf 
)

Definition at line 221 of file vf_extended_float.c.

References update_baro_conf().

+ Here is the call graph for this function:

void vff_update_offset ( float  offset)

Definition at line 341 of file vf_extended_float.c.

References R_OFFSET, and update_offset_conf().

+ Here is the call graph for this function:

void vff_update_z ( float  z_meas)

Definition at line 279 of file vf_extended_float.c.

References R_ALT, and update_alt_conf().

+ Here is the call graph for this function:

void vff_update_z_conf ( float  z_meas,
float  conf 
)

Definition at line 284 of file vf_extended_float.c.

Variable Documentation

struct VffExtended vff

Definition at line 66 of file vf_extended_float.c.