Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
Main Page
Related Pages
Modules
Data Structures
Data Structures
Data Structure Index
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
m
n
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
ahrs_madgwick.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2020 Gautier Hattenberger <gautier.hattenberger@enac.fr>
3
*
4
* This file is part of paparazzi.
5
*
6
* paparazzi is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2, or (at your option)
9
* any later version.
10
*
11
* paparazzi is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with paparazzi; see the file COPYING. If not, see
18
* <http://www.gnu.org/licenses/>.
19
*/
20
29
#ifndef AHRS_MADGWICK_H
30
#define AHRS_MADGWICK_H
31
32
#include "
subsystems/ahrs.h
"
33
#include "
math/pprz_algebra_float.h
"
34
#include "
math/pprz_orientation_conversion.h
"
35
38
struct
AhrsMadgwick
{
39
struct
FloatQuat
quat
;
40
struct
FloatRates
rates
;
41
struct
FloatRates
bias
;
42
struct
FloatVect3
accel
;
43
struct
OrientationReps
body_to_imu
;
44
bool
reset
;
45
bool
is_aligned
;
46
};
47
48
extern
struct
AhrsMadgwick
ahrs_madgwick
;
49
50
extern
void
ahrs_madgwick_init
(
void
);
51
extern
void
ahrs_madgwick_set_body_to_imu_quat
(
struct
FloatQuat
*q_b2i);
52
extern
void
ahrs_madgwick_align
(
struct
FloatRates
*lp_gyro,
struct
FloatVect3
*lp_accel);
53
extern
void
ahrs_madgwick_propagate
(
struct
FloatRates
* gyro,
float
dt);
54
extern
void
ahrs_madgwick_update_accel
(
struct
FloatVect3
*
accel
);
55
56
#endif
/* AHRS_MADGWICK_H */
57
OrientationReps
Definition:
pprz_orientation_conversion.h:79
ahrs_madgwick_align
void ahrs_madgwick_align(struct FloatRates *lp_gyro, struct FloatVect3 *lp_accel)
Definition:
ahrs_madgwick.c:59
ahrs_madgwick
struct AhrsMadgwick ahrs_madgwick
Definition:
ahrs_madgwick.c:39
AhrsMadgwick::bias
struct FloatRates bias
Gyro bias (from alignment)
Definition:
ahrs_madgwick.h:41
ahrs_madgwick_propagate
void ahrs_madgwick_propagate(struct FloatRates *gyro, float dt)
Definition:
ahrs_madgwick.c:69
pprz_algebra_float.h
Paparazzi floating point algebra.
FloatVect3
Definition:
pprz_algebra_float.h:54
FloatQuat
Roation quaternion.
Definition:
pprz_algebra_float.h:63
AhrsMadgwick::quat
struct FloatQuat quat
Estimated attitude (quaternion)
Definition:
ahrs_madgwick.h:39
AhrsMadgwick::is_aligned
bool is_aligned
aligned flag
Definition:
ahrs_madgwick.h:45
ahrs.h
AhrsMadgwick::body_to_imu
struct OrientationReps body_to_imu
body_to_imu rotation
Definition:
ahrs_madgwick.h:43
AhrsMadgwick::reset
bool reset
flag to request reset/reinit the filter
Definition:
ahrs_madgwick.h:44
AhrsMadgwick::rates
struct FloatRates rates
Measured gyro rates.
Definition:
ahrs_madgwick.h:40
pprz_orientation_conversion.h
AhrsMadgwick::accel
struct FloatVect3 accel
Measured accelerometers.
Definition:
ahrs_madgwick.h:42
ahrs_madgwick_init
void ahrs_madgwick_init(void)
Definition:
ahrs_madgwick.c:50
ahrs_madgwick_set_body_to_imu_quat
void ahrs_madgwick_set_body_to_imu_quat(struct FloatQuat *q_b2i)
Definition:
ahrs_madgwick.c:147
AhrsMadgwick
Madgwick filter structure.
Definition:
ahrs_madgwick.h:38
ahrs_madgwick_update_accel
void ahrs_madgwick_update_accel(struct FloatVect3 *accel)
Definition:
ahrs_madgwick.c:142
FloatRates
angular rates
Definition:
pprz_algebra_float.h:93
sw
airborne
modules
ahrs
ahrs_madgwick.h
Generated on Tue Feb 1 2022 13:51:14 for Paparazzi UAS by
1.8.17