zero-delay-observer.hpp
Go to the documentation of this file.
1 
16 #ifndef ZERODELAYOBSERVER_H
17 #define ZERODELAYOBSERVER_H
18 
19 #include <deque>
20 
21 #include <state-observation/api.h>
23 
24 namespace stateObservation
25 {
43 class STATE_OBSERVATION_DLLAPI ZeroDelayObserver : public ObserverBase
44 {
45 public:
51 
54 
56  virtual ~ZeroDelayObserver(){};
57 
65  virtual void setState(const ObserverBase::StateVector & x_k, TimeIndex k);
66 
76  virtual void setCurrentState(const ObserverBase::StateVector & x_k);
77 
80  virtual void clearStates();
81 
86  bool stateIsSet() const;
87 
90  virtual void setMeasurement(const ObserverBase::MeasureVector & y_k, TimeIndex k);
91 
95  virtual void pushMeasurement(const ObserverBase::MeasureVector & y_k);
96 
98  virtual void clearMeasurements();
99 
103  virtual void setInput(const ObserverBase::InputVector & u_k, TimeIndex k);
104 
108  virtual void pushInput(const ObserverBase::InputVector & u_k);
109 
112  virtual void clearInputs();
113 
116  virtual void clearInputsAndMeasurements();
117 
124  virtual TimeIndex estimateState();
125 
150  virtual ObserverBase::StateVector getEstimatedState(TimeIndex k);
151 
154  virtual ObserverBase::StateVector getCurrentEstimatedState() const;
155 
157  virtual TimeIndex getCurrentTime() const;
158 
160  Vector getInput(TimeIndex k) const;
161 
163  virtual TimeSize getInputsNumber() const;
164 
166  virtual TimeIndex getInputTime() const;
167 
169  Vector getMeasurement(TimeIndex k) const;
170 
172  virtual TimeIndex getMeasurementTime() const;
173 
175  virtual TimeSize getMeasurementsNumber() const;
176 
178  virtual void setStateSize(Index n);
179 
181  virtual void setMeasureSize(Index m);
182 
184  virtual void setInputSize(Index p);
185 
186 protected:
189  virtual StateVector oneStepEstimation_() = 0;
190 
192 
195 
198 
201 
202 public:
203  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
204 };
205 
206 } // namespace stateObservation
207 
208 #endif // ZERODELAYOBSERVER
stateObservation::Vector
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition: definitions.hpp:76
stateObservation::ZeroDelayObserver::u_
IndexedVectorArray u_
Container for the inputs.
Definition: zero-delay-observer.hpp:200
stateObservation::ObserverBase::StateVector
Vector StateVector
StateVector is the type of state vector.
Definition: observer-base.hpp:42
stateObservation::ZeroDelayObserver::x_
IndexedVector x_
while the measurements and iputs are put in lists
Definition: zero-delay-observer.hpp:194
stateObservation::ZeroDelayObserver::y_
IndexedVectorArray y_
Container for the measurements.
Definition: zero-delay-observer.hpp:197
observer-base.hpp
Defines the base class of a state observer. The observer is destinated to any dynamical system with a...
stateObservation::IndexedMatrixArrayT< Vector >
stateObservation::TimeSize
Index TimeSize
Definition: definitions.hpp:140
stateObservation::ZeroDelayObserver::~ZeroDelayObserver
virtual ~ZeroDelayObserver()
Destructor.
Definition: zero-delay-observer.hpp:56
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::ZeroDelayObserver::ZeroDelayObserver
ZeroDelayObserver()
Default constructor (default values for n,m,p are zero)
Definition: zero-delay-observer.hpp:53
stateObservation::hrp2::m
constexpr double m
mass of the robot
Definition: hrp2.hpp:36
stateObservation::Index
Eigen::Index Index
Definition: definitions.hpp:138
stateObservation::ObserverBase::InputVector
Vector InputVector
InputVector is the type of the input vector.
Definition: observer-base.hpp:48
stateObservation::IndexedMatrixT< Vector >
stateObservation
Definition: bidim-elastic-inv-pendulum-dyn-sys.hpp:20
stateObservation::ZeroDelayObserver
Defines the base class of online zero delay observers. Zero delay observers are the classical state o...
Definition: zero-delay-observer.hpp:43
stateObservation::ZeroDelayObserver::ZeroDelayObserver
ZeroDelayObserver(Index n, Index m, Index p=0)
Definition: zero-delay-observer.hpp:50