Go to the documentation of this file.
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; }
74 return "Implementation of extended Kalman filter \n"
76 " Dynamics of the system: \n"
78 " x = f (x , u ) + w (state) \n"
81 " y = h (x ) + v (observation)\n"
87 " x = f (x , u ) (state) \n"
88 " k|k-1 k-1|k-1 k-1 \n"
91 " P = F P F + Q (covariance)\n"
92 " k|k-1 k-1 k-1|k-1 k-1 \n"
97 " F = --- (x , u ) \n"
98 " k-1 \\ k-1|k-1 k-1 \n"
110 " z = y - h (x ) (innovation)\n"
113 " S = H P H + R (innovation covariance)\n"
116 " K = P H S (Kalman gain)\n"
119 " x = x + K z (state) \n"
122 " P =(I - K H ) P \n"
126 " - input(vector)::x_pred: state prediction\n"
128 " - input(vector)::y_pred: observation prediction: h (x )\n"
130 " - input(matrix)::F: partial derivative wrt x of f\n"
131 " - input(vector)::y: measure \n"
132 " - input(matrix)::H: partial derivative wrt x of h\n"
133 " - input(matrix)::Q: variance of noise w\n"
135 " - input(matrix)::R: variance of noise v\n"
137 " - output(matrix)::P_pred: variance of prediction\n"
139 " - output(vector)::x_est: state estimation x\n"
148 stateEstimation_ =
x0;
149 stateUpdateSOUT.recompute(0);
154 varianceUpdateSOUT.recompute(0);
189 void display(std::ostream &os)
const;
SignalPtr< Matrix, sigtime_t > noiseTransitionSIN
SignalTimeDependent< Matrix, sigtime_t > innovationSINTERN
void setStateVariance(const Matrix &P0)
SignalPtr< Matrix, sigtime_t > modelTransitionSIN
SignalPtr< Vector, sigtime_t > observationPredictedSIN
SignalPtr< Vector, sigtime_t > statePredictedSIN
SignalPtr< Matrix, sigtime_t > noiseMeasureSIN
virtual const std::string & getClassName(void) const
#define SOT_KALMAN_EXPORT
static const std::string CLASS_NAME
SignalTimeDependent< Vector, sigtime_t > stateUpdateSOUT
SignalTimeDependent< Matrix, sigtime_t > gainSINTERN
virtual std::string getDocString() const
void setStateEstimation(const Vector &x0)
SignalTimeDependent< Matrix, sigtime_t > varianceUpdateSOUT
SignalPtr< Vector, sigtime_t > measureSIN
SignalPtr< Matrix, sigtime_t > modelMeasureSIN
sot-core
Author(s): Olivier Stasse, ostasse@laas.fr
autogenerated on Tue Oct 24 2023 02:26:31