Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
vf_float.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Vff
 

Macros

#define VFF_STATE_SIZE   3
 

Functions

void vff_init_zero (void)
 
void vff_init (float z, float zdot, float bias)
 
void vff_propagate (float accel, float dt)
 Propagate the filter in time. More...
 
void vff_update (float z_meas)
 
void vff_update_z_conf (float z_meas, float conf)
 
void vff_update_vz_conf (float vz_meas, float conf)
 
void vff_realign (float z_meas)
 

Variables

struct Vff vff
 

Detailed Description

Vertical filter (in float) estimating altitude, velocity and accel bias.

Definition in file vf_float.h.


Data Structure Documentation

◆ Vff

struct Vff

Definition at line 34 of file vf_float.h.

Data Fields
float bias accel bias estimate in m/s^2
float P[VFF_STATE_SIZE][VFF_STATE_SIZE] covariance matrix
float z z-position estimate in m (NED, z-down)
float z_meas last measurement
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

◆ VFF_STATE_SIZE

#define VFF_STATE_SIZE   3

Definition at line 32 of file vf_float.h.

Function Documentation

◆ vff_init()

void vff_init ( float  z,
float  zdot,
float  bias 
)

Definition at line 71 of file vf_float.c.

References Vff::bias, DefaultPeriodic, Vff::P, register_periodic_telemetry(), send_vff(), vff, VFF_INIT_PXX, VFF_STATE_SIZE, Vff::z, and Vff::zdot.

Referenced by vff_init_zero().

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

◆ vff_init_zero()

void vff_init_zero ( void  )

Definition at line 107 of file vf_extended_float.c.

References f, and vff_init().

Referenced by ins_int_init().

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

◆ vff_propagate()

void vff_propagate ( float  accel,
float  dt 
)

Propagate the filter in time.

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

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

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

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 181 of file vf_extended_float.c.

References VffExtended::accel_noise, Vff::bias, VffExtended::bias, DefaultChannel, DefaultDevice, f, Vff::P, VffExtended::P, Qbiasbias, Qobsobs, Qoffoff, send_vffe(), vff, VFF_ACCEL_NOISE, Vff::z, VffExtended::z, Vff::zdot, VffExtended::zdot, Vff::zdotdot, and VffExtended::zdotdot.

Referenced by ins_int_propagate().

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

◆ vff_realign()

void vff_realign ( float  z_meas)

Definition at line 384 of file vf_extended_float.c.

References VffExtended::obs_height, VffExtended::offset, vff, Vff::z, VffExtended::z, Vff::z_meas, VffExtended::z_meas, Vff::zdot, and VffExtended::zdot.

Referenced by baro_cb().

+ Here is the caller graph for this function:

◆ vff_update()

void vff_update ( float  z_meas)

Definition at line 189 of file vf_float.c.

References update_z_conf(), VFF_MEAS_NOISE, and Vff::z_meas.

Referenced by baro_cb().

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

◆ vff_update_vz_conf()

void vff_update_vz_conf ( float  vz_meas,
float  conf 
)

Definition at line 433 of file vf_extended_float.c.

References f, and update_vz_conf().

Referenced by ins_int_update_gps(), and vel_est_cb().

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

◆ vff_update_z_conf()

void vff_update_z_conf ( float  z_meas,
float  conf 
)

Definition at line 310 of file vf_extended_float.c.

References f, update_alt_conf(), update_z_conf(), Vff::z_meas, and VffExtended::z_meas.

Referenced by ins_int_update_gps(), pos_est_cb(), vff_update_agl(), and vff_update_z().

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

Variable Documentation

◆ vff