extended-kalman-filter.hpp
Go to the documentation of this file.
1 
15 #ifndef STATEOBSERVER_EXTENDEDKALMANFILTERHPP
16 #define STATEOBSERVER_EXTENDEDKALMANFILTERHPP
17 
18 #include <state-observation/api.h>
21 
22 namespace stateObservation
23 {
42 class STATE_OBSERVATION_DLLAPI ExtendedKalmanFilter : public KalmanFilterBase
43 {
44 
45 public:
49 
51 
59 
61  Index m,
62  Index p,
63  bool directInputOutputFeedthrough = true,
64  bool directInputStateProcessFeedthrough = true);
65 
74 
76  Index nt,
77  Index m,
78  Index mt,
79  Index p,
80  bool directInputOutputFeedthrough,
81  bool directInputStateProcessFeedthrough);
82 
86  void setFunctor(DynamicalSystemFunctorBase * f);
87  DynamicalSystemFunctorBase * getFunctor(void) const;
88 
90  DynamicalSystemFunctorBase * functor() const;
91 
94  void clearFunctor();
95 
98  void setDirectInputOutputFeedthrough(bool b = true);
99 
102  void setDirectInputStateFeedthrough(bool b = true);
103 
108  virtual Amatrix getAMatrixFD(const Vector & dx);
109 
114  virtual Cmatrix getCMatrixFD(const Vector & dx);
115 
117  virtual void reset();
118 
119 protected:
121  virtual StateVector prediction_(TimeIndex k);
122 
124  virtual MeasureVector simulateSensor_(const StateVector & x, TimeIndex k);
125 
127  virtual MeasureVector predictSensor_(TimeIndex k);
128 
131 
134 
137 
138  // optimization
140  {
141  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
149 
150  } opt;
151 
152 public:
153  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
154 };
155 
156 } // namespace stateObservation
157 
158 #endif // EXTENDEDKALMANFILTERHPP
stateObservation::Vector
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition: definitions.hpp:76
stateObservation::ExtendedKalmanFilter::Optimization
Definition: extended-kalman-filter.hpp:139
stateObservation::ExtendedKalmanFilter::Optimization::a_
KalmanFilterBase::Amatrix a_
Definition: extended-kalman-filter.hpp:143
stateObservation::ObserverBase::StateVector
Vector StateVector
StateVector is the type of state vector.
Definition: observer-base.hpp:42
stateObservation::ExtendedKalmanFilter::Optimization::yp_
ObserverBase::MeasureVector yp_
Definition: extended-kalman-filter.hpp:148
stateObservation::DynamicalSystemFunctorBase
This is the base class of any functor that describes the dynamics of the state and the measurement....
Definition: dynamical-system-functor-base.hpp:32
stateObservation::ExtendedKalmanFilter
Definition: extended-kalman-filter.hpp:42
stateObservation::KalmanFilterBase::Cmatrix
Matrix Cmatrix
The type of the jacobian dh/dx.
Definition: kalman-filter-base.hpp:57
stateObservation::KalmanFilterBase::Amatrix
Matrix Amatrix
The type of the jacobian df/dx.
Definition: kalman-filter-base.hpp:54
dynamical-system-functor-base.hpp
stateObservation::ExtendedKalmanFilter::Optimization::u_
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ObserverBase::InputVector u_
Definition: extended-kalman-filter.hpp:142
stateObservation::KalmanFilterBase
It mostly implements the equations of Kalman filtering It is suitablle by derivation to be used incas...
Definition: kalman-filter-base.hpp:50
stateObservation::ExtendedKalmanFilter::Optimization::c_
KalmanFilterBase::Cmatrix c_
Definition: extended-kalman-filter.hpp:144
stateObservation::ExtendedKalmanFilter::Optimization::x_
ObserverBase::StateVector x_
Definition: extended-kalman-filter.hpp:145
kalman-filter-base.hpp
Defines the base class of a Kalman filter.
stateObservation::ExtendedKalmanFilter::Optimization::xp_
ObserverBase::StateVector xp_
Definition: extended-kalman-filter.hpp:147
stateObservation::ObserverBase::MeasureVector
Vector MeasureVector
MeasureVector is the type of measurements vector.
Definition: observer-base.hpp:45
stateObservation::ExtendedKalmanFilter::Optimization::dx_
ObserverBase::StateVector dx_
Definition: extended-kalman-filter.hpp:146
stateObservation::TimeIndex
long int TimeIndex
Definition: definitions.hpp:139
stateObservation::hrp2::m
constexpr double m
mass of the robot
Definition: hrp2.hpp:36
stateObservation::ExtendedKalmanFilter::f_
DynamicalSystemFunctorBase * f_
pointer on the dynamics functor
Definition: extended-kalman-filter.hpp:136
stateObservation::Index
Eigen::Index Index
Definition: definitions.hpp:138
stateObservation::ExtendedKalmanFilter::directInputOutputFeedthrough_
bool directInputOutputFeedthrough_
boolean that provides if theris a need of not for input for the masurement
Definition: extended-kalman-filter.hpp:130
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
stateObservation::ExtendedKalmanFilter::directInputStateProcessFeedthrough_
bool directInputStateProcessFeedthrough_
boolean that provides if theris a need of not for input for the state dynamics
Definition: extended-kalman-filter.hpp:133