observer-base.hpp
Go to the documentation of this file.
1 
17 #ifndef OBSERVERBASEHPP
18 #define OBSERVERBASEHPP
19 
20 #include <boost/assert.hpp>
21 #include <boost/static_assert.hpp>
22 
23 #include <state-observation/api.h>
25 
26 namespace stateObservation
27 {
38 class STATE_OBSERVATION_DLLAPI ObserverBase
39 {
40 public:
43 
46 
49 
54  ObserverBase(Index n, Index m, Index p = 0);
55 
57  ObserverBase();
58 
60  virtual ~ObserverBase(){};
61 
63  virtual void setStateSize(Index n);
64 
66  virtual Index getStateSize() const;
67 
69  virtual void setMeasureSize(Index m);
70 
72  virtual Index getMeasureSize() const;
73 
75  virtual void setInputSize(Index p);
76 
78  virtual Index getInputSize() const;
79 
81  virtual void setState(const StateVector & x_k, TimeIndex k) = 0;
82 
84  virtual void clearStates() = 0;
85 
87  virtual void setMeasurement(const MeasureVector & y_k, TimeIndex k) = 0;
88 
90  virtual void clearMeasurements() = 0;
91 
93  virtual void setInput(const InputVector & x_k, TimeIndex k) = 0;
94 
96  virtual void clearInputs() = 0;
97 
99  virtual void clearInputsAndMeasurements();
100 
103  virtual StateVector getEstimatedState(TimeIndex k) = 0;
104 
107  virtual void reset();
108 
112  virtual StateVector stateVectorConstant(double c) const;
113 
115  virtual StateVector stateVectorRandom() const;
116 
118  virtual StateVector stateVectorZero() const;
119 
121  virtual bool checkStateVector(const StateVector & v) const;
122 
124  virtual MeasureVector measureVectorConstant(double c) const;
125 
127  virtual MeasureVector measureVectorRandom() const;
128 
130  virtual MeasureVector measureVectorZero() const;
131 
133  virtual bool checkMeasureVector(const MeasureVector &) const;
134 
136  virtual InputVector inputVectorConstant(double c) const;
137 
139  virtual InputVector inputVectorRandom() const;
140 
142  virtual InputVector inputVectorZero() const;
143 
145  virtual bool checkInputVector(const InputVector &) const;
146 
147 protected:
150 
153 
156 };
157 
158 } // namespace stateObservation
159 
160 #endif // OBSERVERBASEHPP
stateObservation::Vector
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition: definitions.hpp:76
stateObservation::ObserverBase::~ObserverBase
virtual ~ObserverBase()
Destructor.
Definition: observer-base.hpp:60
stateObservation::ObserverBase::StateVector
Vector StateVector
StateVector is the type of state vector.
Definition: observer-base.hpp:42
stateObservation::ObserverBase::n_
Index n_
stateSize is the size of the state vector
Definition: observer-base.hpp:149
stateObservation::ObserverBase::p_
Index p_
inputSize is the size of the input vector
Definition: observer-base.hpp:155
stateObservation::ObserverBase
The base class for observers. The observer is destinated to any dynamical system with a vector state ...
Definition: observer-base.hpp:38
stateObservation::ObserverBase::MeasureVector
Vector MeasureVector
MeasureVector is the type of measurements vector.
Definition: observer-base.hpp:45
stateObservation::TimeIndex
long int TimeIndex
Definition: definitions.hpp:139
stateObservation::ObserverBase::m_
Index m_
measureSize is the size of measurements vector
Definition: observer-base.hpp:152
stateObservation::hrp2::m
constexpr double m
mass of the robot
Definition: hrp2.hpp:36
stateObservation::Index
Eigen::Index Index
Definition: definitions.hpp:138
definitions.hpp
Definitions of types and some structures.
stateObservation::ObserverBase::InputVector
Vector InputVector
InputVector is the type of the input vector.
Definition: observer-base.hpp:48
stateObservation
Definition: bidim-elastic-inv-pendulum-dyn-sys.hpp:20