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

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

m

File size: 2.0 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 class Vector3DSpinBox;
27 }
28}
29
30namespace flair { namespace filter {
31 /*! \class AhrsComplementaryFilter
32 *
33 * \brief Class defining an Ahrs complementary filter
34 *
35 * Implementation from Augustin Manecy
36 */
37 class AhrsComplementaryFilter : public Ahrs {
38 public:
39 /*!
40 * \brief Constructor
41 *
42 * Construct an AhrsComplementaryFilter.
43 *
44 * \param parent parent
45 * \param name name
46 */
47 AhrsComplementaryFilter(const sensor::Imu* parent,std::string name);
48
49 /*!
50 * \brief Destructor
51 *
52 */
53 ~AhrsComplementaryFilter();
54
55 private:
56 /*!
57 * \brief Update using provided datas
58 *
59 * Reimplemented from IODevice.
60 *
61 * \param data data from the parent to process
62 */
63 void UpdateFrom(const core::io_data *data);
64
65 core::Time previous_time;
66
67 bool isInit;
68 core::Quaternion QHat;
69 core::Vector3Df BHat;
70 gui::DoubleSpinBox *ka[3];
71 gui::DoubleSpinBox *kb[3];
72 gui::DoubleSpinBox *km[3];
73 gui::Vector3DSpinBox *magRef;
74 };
75} // end namespace filter
76} // end namespace flair
77#endif // AHRSCOMPLEMENTARYFILTER_H
Note: See TracBrowser for help on using the repository browser.