Paparazzi UAS  v5.0.5_stable-7-g4b8bbb7
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ahrs_float_lkf.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2009 Felix Ruess <felix.ruess@gmail.com>
3  * Copyright (C) 2008-2009 Antoine Drouin <poinix@gmail.com>
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 AHRS_FLOAT_LKF_H
31 #define AHRS_FLOAT_LKF_H
32 
33 #include "subsystems/ahrs.h"
34 #include "std.h"
35 #include "math/pprz_algebra_int.h"
36 
37 extern struct FloatQuat bafl_quat;
38 extern struct FloatRates bafl_bias;
39 extern struct FloatRates bafl_rates;
40 extern struct FloatEulers bafl_eulers;
41 extern struct FloatRMat bafl_dcm;
42 
43 extern struct FloatQuat bafl_q_a_err;
44 extern struct FloatQuat bafl_q_m_err;
45 extern struct FloatRates bafl_b_a_err;
46 extern struct FloatRates bafl_b_m_err;
47 extern float bafl_qnorm;
48 extern float bafl_phi_accel;
49 extern float bafl_theta_accel;
50 extern struct FloatVect3 bafl_accel_measure;
51 extern struct FloatVect3 bafl_mag;
52 
53 #define BAFL_SSIZE 6
54 extern float bafl_P[BAFL_SSIZE][BAFL_SSIZE];
55 extern float bafl_X[BAFL_SSIZE];
56 
57 extern float bafl_sigma_accel;
58 extern float bafl_sigma_mag;
59 extern float bafl_R_accel;
60 extern float bafl_R_mag;
61 
62 extern float bafl_Q_att;
63 extern float bafl_Q_gyro;
64 
65 
66 #define ahrs_float_lkf_SetRaccel(_v) { \
67  bafl_sigma_accel = _v; \
68  bafl_R_accel = _v * _v; \
69 }
70 #define ahrs_float_lkf_SetRmag(_v) { \
71  bafl_sigma_mag = _v; \
72  bafl_R_mag = _v * _v; \
73 }
74 
75 #endif /* AHRS_FLOAT_LKF_H */
76 
rotation matrix
struct FloatQuat bafl_q_m_err
Attitude and Heading Reference System interface.
angular rates
float bafl_Q_gyro
float bafl_R_mag
euler angles
struct FloatRMat bafl_dcm
#define BAFL_SSIZE
Roation quaternion.
struct FloatEulers bafl_eulers
struct FloatQuat bafl_quat
struct FloatRates bafl_rates
float bafl_sigma_mag
struct FloatVect3 bafl_mag
float bafl_phi_accel
float bafl_sigma_accel
float bafl_R_accel
struct FloatRates bafl_bias
float bafl_P[BAFL_SSIZE][BAFL_SSIZE]
float bafl_theta_accel
float bafl_X[BAFL_SSIZE]
struct FloatRates bafl_b_m_err
struct FloatVect3 bafl_accel_measure
float bafl_Q_att
struct FloatQuat bafl_q_a_err
float bafl_qnorm
struct FloatRates bafl_b_a_err
Paparazzi fixed point algebra.