source: flair-dev/trunk/include/FlairFilter/AhrsComplementaryFilter.h@ 16

Last change on this file since 16 was 16, checked in by Sanahuja Guillaume, 6 years ago

complementary filter

File size: 1.9 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file AhrsComplementaryFilter.h
7 * \brief Class defining an Ahrs Kalman filter
8 * \author Augustin Manecy (RT-MaG Toolbox author, augustin.manecy@gmail.com), API changes by Guillaume Sanahuja to fit the Flair framework
9 * \date 2014/01/15
10 * \version 4.0
11 */
12
13#ifndef AHRSCOMPLEMENTARYFILTER_H
14#define AHRSCOMPLEMENTARYFILTER_H
15
16#include <Ahrs.h>
17#include <Vector3D.h>
18#include <Quaternion.h>
19
20namespace flair {
21 namespace sensor {
22 class Imu;
23 }
24 namespace gui {
25 class DoubleSpinBox;
26 }
27}
28
29namespace flair { namespace filter {
30 /*! \class AhrsComplementaryFilter
31 *
32 * \brief Class defining an Ahrs complementary filter
33 *
34 * Implementation from Augustin Manecy
35 */
36 class AhrsComplementaryFilter : public Ahrs {
37 public:
38 /*!
39 * \brief Constructor
40 *
41 * Construct an AhrsComplementaryFilter.
42 *
43 * \param parent parent
44 * \param name name
45 */
46 AhrsComplementaryFilter(const sensor::Imu* parent,std::string name);
47
48 /*!
49 * \brief Destructor
50 *
51 */
52 ~AhrsComplementaryFilter();
53
54 private:
55 /*!
56 * \brief Update using provided datas
57 *
58 * Reimplemented from IODevice.
59 *
60 * \param data data from the parent to process
61 */
62 void UpdateFrom(const core::io_data *data);
63
64 core::Time previous_time;
65
66 bool isInit;
67 core::Quaternion QHat;
68 core::Vector3D BHat;
69 gui::DoubleSpinBox *ka[3];
70 gui::DoubleSpinBox *kb[3];
71 };
72} // end namespace filter
73} // end namespace flair
74#endif // AHRSCOMPLEMENTARYFILTER_H
Note: See TracBrowser for help on using the repository browser.