Paparazzi UAS v7.0_unstable
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
Go to the documentation of this file.
1/*
2 * Copyright (C) 2008-2009 Antoine Drouin <poinix@gmail.com>
3 * Copyright (C) 2012 Gautier Hattenberger
4 *
5 * This file is part of paparazzi.
6 *
7 * paparazzi is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
10 * any later version.
11 *
12 * paparazzi is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with paparazzi; see the file COPYING. If not, write to
19 * the Free Software Foundation, 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
21 */
22
30#ifndef VF_EXTENDED_FLOAT_H
31#define VF_EXTENDED_FLOAT_H
32
33#define VFF_STATE_SIZE 5
34
36 /* state vector */
37 float z;
38 float zdot;
39 float bias;
40 float offset;
41 float obs_height;
42
43 float zdotdot;
44 float z_meas;
46
48
50 float r_baro;
51 float r_alt;
53};
54
55extern struct VffExtended vff;
56
57extern void vff_init_zero(void);
58extern void vff_init(float z, float zdot, float accel_bias, float baro_offset, float obstacle_hieght);
59extern void vff_propagate(float accel, float dt);
60extern void vff_update_baro(float z_meas);
61extern void vff_update_z(float z_meas);
62extern void vff_update_baro_conf(float z_meas, float conf);
63extern void vff_update_z_conf(float z_meas, float conf);
64extern void vff_update_vz_conf(float vz_meas, float conf);
65extern void vff_realign(float z_meas);
66extern void vff_update_agl(float z_meas, float conf);
67
68#endif /* VF_EXTENDED_FLOAT_H */
uint16_t foo
Definition main_demo5.c:58
#define VFF_STATE_SIZE
void vff_init_zero(void)
float zdotdot
z-acceleration in m/s^2 (NED, z-down)
float obs_height
estimate of height of obstacles under the vehicle
void vff_update_z_conf(float z_meas, float conf)
void vff_update_z(float z_meas)
float zdot
z-velocity estimate in m/s (NED, z-down)
float offset
baro offset estimate
float z_meas
last z measurement in m
float bias
accel bias estimate in m/s^2
void vff_update_vz_conf(float vz_meas, float conf)
float z_meas_baro
last z measurement from baro in m
void vff_update_baro(float z_meas)
void vff_realign(float z_meas)
void vff_propagate(float accel, float dt)
Propagate the filter in time.
void vff_update_baro_conf(float z_meas, float conf)
struct VffExtended vff
float P[VFF_STATE_SIZE][VFF_STATE_SIZE]
covariance matrix
void vff_update_agl(float z_meas, float conf)
void vff_init(float z, float zdot, float accel_bias, float baro_offset, float obstacle_hieght)
float z
z-position estimate in m (NED, z-down)