ekf-flexibility-estimator-base.hpp
Go to the documentation of this file.
1 
13 #ifndef FLEXIBILITYESTIMATION_EKFFLEXIBILITYESTIMATORBASE_H
14 #define FLEXIBILITYESTIMATION_EKFFLEXIBILITYESTIMATORBASE_H
15 
16 #include <boost/utility.hpp>
17 
18 #include <state-observation/api.h>
20 
22 
23 namespace stateObservation
24 {
25 namespace flexibilityEstimation
26 {
35 class STATE_OBSERVATION_DLLAPI EKFFlexibilityEstimatorBase : public FlexibilityEstimatorBase
36 {
37 public:
43 
45  Index measurementSize,
46  Index inputSize,
47  const Vector & dx = Vector::Zero(0));
48 
50  virtual ~EKFFlexibilityEstimatorBase();
51 
56  virtual void setFlexibilityGuess(const Matrix &) = 0;
57 
59  virtual void setFlexibilityCovariance(const Matrix & P);
60 
62  virtual Matrix getFlexibilityCovariance() const;
63 
66  virtual void setProcessNoiseCovariance(const Matrix & Q);
67 
70  virtual void setMeasurementNoiseCovariance(const Matrix & R);
71 
73  virtual Matrix getProcessNoiseCovariance() const;
74 
76  virtual Matrix getMeasurementNoiseCovariance() const;
77 
79  virtual void setMeasurement(const Vector & y);
80 
81  virtual Vector getMeasurement();
82 
85  virtual void setInput(const Vector & u);
86 
89  virtual void setMeasurementInput(const Vector & u);
90 
91  virtual Vector getInput();
92 
93  virtual Vector getMeasurementInput();
94 
96  virtual const Vector & getFlexibilityVector();
97 
99  virtual Matrix4 getFlexibility() = 0;
100 
102  virtual const stateObservation::ExtendedKalmanFilter & getEKF() const;
103 
105  virtual stateObservation::ExtendedKalmanFilter & getEKF();
106 
109  virtual Index getStateSize() const = 0;
110 
113  virtual Index getMeasurementSize() const = 0;
114 
117  virtual Index getInputSize() const = 0;
118 
120  virtual Vector getSimulatedMeasurement();
121 
123  virtual void resetCovarianceMatrices() = 0;
124 
126  virtual Vector getInnovation();
127 
129  virtual Vector getPredictedMeasurement();
130 
132  virtual Vector getPrediction();
133 
135  virtual Vector getLastPredictedMeasurement();
136 
138  virtual Vector getLastPrediction();
139 
140 protected:
141  virtual void setJacobians(const Matrix & A, const Matrix & C);
142 
143  virtual void useFiniteDifferencesJacobians(Vector dx);
144 
146 
148 
150 
152 
154 
155 private:
156 };
157 } // namespace flexibilityEstimation
158 } // namespace stateObservation
159 #endif // FLEXIBILITYESTIMATION_EKFFLEXIBILITYESTIMATORBASE_H
stateObservation::Vector
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition: definitions.hpp:76
stateObservation::Matrix4
Eigen::Matrix4d Matrix4
4x4 Scalar Matrix
Definition: definitions.hpp:115
stateObservation::ExtendedKalmanFilter
Definition: extended-kalman-filter.hpp:42
stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase
This class is the base class of the flexibility estimators that use an extended Kalman Filter....
Definition: ekf-flexibility-estimator-base.hpp:35
stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::lastX_
Vector lastX_
Definition: ekf-flexibility-estimator-base.hpp:151
stateObservation::Matrix
Eigen::MatrixXd Matrix
Dynamic sized Matrix.
Definition: definitions.hpp:100
stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::ekf_
stateObservation::ExtendedKalmanFilter ekf_
Definition: ekf-flexibility-estimator-base.hpp:145
stateObservation::TimeIndex
long int TimeIndex
Definition: definitions.hpp:139
stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::dx_
Vector dx_
Definition: ekf-flexibility-estimator-base.hpp:149
stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::k_
TimeIndex k_
Definition: ekf-flexibility-estimator-base.hpp:153
stateObservation::flexibilityEstimation::FlexibilityEstimatorBase
This class is the base class of the flexibility estimators.
Definition: flexibility-estimator-base.hpp:27
stateObservation::Index
Eigen::Index Index
Definition: definitions.hpp:138
extended-kalman-filter.hpp
flexibility-estimator-base.hpp
Definitions of base class for flexibility estimator.
stateObservation
Definition: bidim-elastic-inv-pendulum-dyn-sys.hpp:20
stateObservation::flexibilityEstimation::EKFFlexibilityEstimatorBase::finiteDifferencesJacobians_
bool finiteDifferencesJacobians_
Definition: ekf-flexibility-estimator-base.hpp:147