15 const Eigen::MatrixXd& A,
16 const Eigen::MatrixXd& C,
17 const Eigen::MatrixXd& Q,
18 const Eigen::MatrixXd& R,
19 const Eigen::MatrixXd& P)
20 : A(A), C(C), Q(Q), R(R), P0(P),
21 m(C.rows()), n(A.rows()), dt(dt), initialized(false),
22 I(n, n), x_hat(n), x_hat_new(n)
49 throw std::runtime_error(
"Filter is not initialized!");
52 P =
A*
P*
A.transpose() +
Q;
65 throw std::runtime_error(
"Filter is not initialized!");
66 if(
x_hat.size() != new_states.size())
67 throw std::runtime_error(
"State vectors do not have the same size");
TFSIMD_FORCE_INLINE Quaternion inverse(const Quaternion &q)
Eigen::VectorXd x_hat_new
void changeStates(const Eigen::VectorXd &new_states)
void update(const Eigen::VectorXd &y)