Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
vf_extended_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  VffExtended
 

Macros

#define VFF_STATE_SIZE   5
 

Functions

void vff_init_zero (void)
 
void vff_init (float z, float zdot, float accel_bias, float baro_offset, float obstacle_hieght)
 
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_baro_conf (float z_meas, float conf)
 
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)
 
void vff_update_agl (float z_meas, float conf)
 

Variables

struct VffExtended vff
 

Detailed Description

Interface for extended vertical filter (in float).

Definition in file vf_extended_float.h.


Data Structure Documentation

◆ VffExtended

struct VffExtended

Definition at line 35 of file vf_extended_float.h.

Data Fields
float accel_noise
float bias accel bias estimate in m/s^2
float obs_height estimate of height of obstacles under the vehicle
float offset baro offset estimate
float P[VFF_STATE_SIZE][VFF_STATE_SIZE] covariance matrix
float r_alt
float r_baro
float r_obs_height
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

◆ VFF_STATE_SIZE

#define VFF_STATE_SIZE   5

Definition at line 33 of file vf_extended_float.h.

Function Documentation

◆ vff_init()

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

◆ vff_init_zero()

void vff_init_zero ( void  )

Definition at line 107 of file vf_extended_float.c.

◆ 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.

◆ vff_realign()

void vff_realign ( float  z_meas)

Definition at line 384 of file vf_extended_float.c.

◆ vff_update_agl()

void vff_update_agl ( float  z_meas,
float  conf 
)

Definition at line 321 of file vf_extended_float.c.

References f, vff_update_z_conf(), and VffExtended::z_meas.

+ Here is the call graph for this function:

◆ vff_update_baro()

void vff_update_baro ( float  z_meas)

Definition at line 333 of file vf_extended_float.c.

References VffExtended::r_baro, vff, vff_update_baro_conf(), and VffExtended::z_meas.

Referenced by baro_cb().

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

◆ vff_update_baro_conf()

void vff_update_baro_conf ( float  z_meas,
float  conf 
)

Definition at line 327 of file vf_extended_float.c.

References f, update_biased_z_conf(), and VffExtended::z_meas.

Referenced by vff_update_baro().

+ 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.

◆ vff_update_z()

void vff_update_z ( float  z_meas)

Definition at line 316 of file vf_extended_float.c.

References VffExtended::r_alt, vff, vff_update_z_conf(), and VffExtended::z_meas.

+ Here is the call 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.

Variable Documentation

◆ vff

struct VffExtended vff

Definition at line 89 of file vf_extended_float.c.