12 #ifndef __SOT_KALMAN_H    13 #define __SOT_KALMAN_H    20 #include <dynamic-graph/entity.h>    30 #if defined(kalman_EXPORTS)    31 #define SOT_KALMAN_EXPORT __declspec(dllexport)    33 #define SOT_KALMAN_EXPORT __declspec(dllimport)    36 #define SOT_KALMAN_EXPORT    49   virtual const std::string &
getClassName(
void)
 const { 
return CLASS_NAME; }
    73     return "Implementation of extended Kalman filter     \n"    75            "  Dynamics of the system:                    \n"    77            "    x = f (x   , u   ) + w       (state)      \n"    80            "    y = h (x ) + v               (observation)\n"    86            "    x     = f (x       , u   )     (state) \n"    87            "     k|k-1      k-1|k-1   k-1          \n"    90            "    P     = F    P        F    + Q (covariance)\n"    91            "     k|k-1   k-1  k-1|k-1  k-1         \n"    96            "    F    = --- (x       , u   )           \n"    97            "     k-1   \\     k-1|k-1   k-1            \n"   109            "    z = y  - h (x     )             (innovation)\n"   112            "    S = H  P      H  + R            (innovation covariance)\n"   115            "    K = P      H  S                 (Kalman gain)\n"   118            "    x   = x      + K  z             (state)   \n"   121            "    P   =(I - K  H ) P                        \n"   125            "    - input(vector)::x_pred:  state prediction\n"   127            "    - input(vector)::y_pred:  observation prediction: h (x     )\n"   129            "    - input(matrix)::F:       partial derivative wrt x of f\n"   130            "    - input(vector)::y:       measure         \n"   131            "    - input(matrix)::H:       partial derivative wrt x of h\n"   132            "    - input(matrix)::Q:       variance of noise w\n"   134            "    - input(matrix)::R:       variance of noise v\n"   136            "    - output(matrix)::P_pred: variance of prediction\n"   138            "    - output(vector)::x_est:  state estimation x\n"   143   Matrix &computeVarianceUpdate(
Matrix &P_k_k, 
const int &time);
   144   Vector &computeStateUpdate(
Vector &x_est, 
const int &time);
   147     stateEstimation_ = x0;
   188   void display(std::ostream &os) 
const;
 
void setStateVariance(const Matrix &P0)
SignalPtr< Vector, int > statePredictedSIN
SignalPtr< Matrix, int > modelMeasureSIN
SignalPtr< Matrix, int > noiseTransitionSIN
virtual const std::string & getClassName(void) const
SignalTimeDependent< Matrix, int > gainSINTERN
SignalPtr< Matrix, int > modelTransitionSIN
static const std::string CLASS_NAME
SignalTimeDependent< Matrix, int > varianceUpdateSOUT
SignalPtr< Vector, int > observationPredictedSIN
SignalTimeDependent< Vector, int > stateUpdateSOUT
virtual void recompute(const Time &t)
unsigned int size_measure
#define SOT_KALMAN_EXPORT
SignalTimeDependent< Matrix, int > innovationSINTERN
virtual std::string getDocString() const
SignalPtr< Matrix, int > noiseMeasureSIN
void setStateEstimation(const Vector &x0)
SignalPtr< Vector, int > measureSIN