|
Robotics Library
0.6.2
|
Go to the documentation of this file.
27 #ifndef _RL_MATH_KALMAN_H_
28 #define _RL_MATH_KALMAN_H_
63 template<
typename Vector1,
typename Matrix2,
typename Matrix3,
typename Matrix4,
typename Vector5,
typename Vector6,
typename Matrix7 >
65 const Vector1& xPrior,
66 const Matrix2& pPrior,
75 Matrix k = pPrior * h.transpose() * (h * pPrior * h.transpose() + r).inverse();
77 xPost = xPrior + k * (z - h * xPrior);
79 pPost = (Matrix::Identity(k.rows(), h.cols()) - k * h) * pPrior;
93 template<
typename Vector1,
typename Matrix2,
typename Matrix3,
typename Matrix4,
typename Vector5,
typename Matrix6 >
106 pPrior = a * pPost * a.transpose() + q;
122 template<
typename Vector1,
typename Matrix2,
typename Matrix3,
typename Matrix4,
typename Vector5,
typename Matrix6,
typename Vector7,
typename Matrix8 >
124 const Vector1& xPost,
125 const Matrix2& pPost,
135 xPrior = a * xPost + b * u;
137 pPrior = a * pPost * a.transpose() + q;
148 #endif // _RL_MATH_KALMAN_H_
static void predict(const Vector1 &xPost, const Matrix2 &pPost, const Matrix3 &a, const Matrix4 &q, Vector5 &xPrior, Matrix6 &pPrior)
Definition: Kalman.h:94
Kalman()
Definition: Kalman.h:42
virtual ~Kalman()
Definition: Kalman.h:46
static void predict(const Vector1 &xPost, const Matrix2 &pPost, const Matrix3 &a, const Matrix4 &b, const Vector5 &u, const Matrix6 &q, Vector7 &xPrior, Matrix8 &pPrior)
Definition: Kalman.h:123
::Eigen::Matrix< Real, 6, 1 > Vector6
Definition: Vector.h:49
static void correct(const Vector1 &xPrior, const Matrix2 &pPrior, const Matrix3 &h, const Matrix4 &r, const Vector5 &z, Vector6 &xPost, Matrix7 &pPost)
Definition: Kalman.h:64
::Eigen::Matrix< Real, ::Eigen::Dynamic, ::Eigen::Dynamic > Matrix
Definition: Matrix.h:41