1 #ifndef __KFD_POS_VEL_ACC_HPP__
2 #define __KFD_POS_VEL_ACC_HPP__
5 #include <Eigen/Geometry>
27 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
63 Eigen::Matrix<double, StatePosVelAcc::SIZE, StatePosVelAcc::SIZE>
Q;
75 bool positionObservation( Eigen::Vector3d position, Eigen::Matrix3d covariance,
float reject_position_threshol);
78 bool velocityObservation(Eigen::Vector3d velocity, Eigen::Matrix3d covariance,
float reject_velocity_threshol);
84 void setPosition( Eigen::Vector3d position, Eigen::Matrix3d covariance );
91 void predict(Eigen::Vector3d acc,
double dt, Eigen::Matrix<double, StatePosVelAcc::SIZE, StatePosVelAcc::SIZE> process_noise);
115 void init(
const Eigen::Matrix<double, StatePosVelAcc::SIZE, StatePosVelAcc::SIZE> &P,
const Eigen::Matrix<double,StatePosVelAcc::SIZE,1> &
x);
Eigen::Quaterniond getRotation()
Definition: KFD_PosVelAcc.hpp:95
void predict(Eigen::Vector3d acc, double dt, Eigen::Matrix< double, StatePosVelAcc::SIZE, StatePosVelAcc::SIZE > process_noise)
Definition: KFD_PosVelAcc.cpp:25
Eigen::Matrix3d getVelocityCovariance()
Definition: KFD_PosVelAcc.cpp:199
Eigen::Block< vector_t, 3, 1 > _pos_w
Definition: KFD_PosVelAcc.hpp:22
void init(const Eigen::Matrix< double, StatePosVelAcc::SIZE, StatePosVelAcc::SIZE > &P, const Eigen::Matrix< double, StatePosVelAcc::SIZE, 1 > &x)
Definition: KFD_PosVelAcc.cpp:216
KFD_PosVelAcc()
Definition: KFD_PosVelAcc.cpp:10
Eigen::Matrix< double, SIZE, 1 > vector_t
Definition: KFD_PosVelAcc.hpp:18
Eigen::Block< vector_t, 3, 1 > _vel_i
Definition: KFD_PosVelAcc.hpp:23
void setPosition(Eigen::Vector3d position, Eigen::Matrix3d covariance)
Definition: KFD_PosVelAcc.cpp:142
static const unsigned int _VEL_DEGREE_OF_FREEDOM
Definition: KFD_PosVelAcc.hpp:47
Eigen::Block< vector_t, 3, 1 > & pos_world()
Definition: KFD_PosVelAcc.hpp:32
Eigen::Block< vector_t, 3, 1 > _acc_i
Definition: KFD_PosVelAcc.hpp:24
Definition: KFD_PosVelAcc.hpp:14
Eigen::Quaterniond R_input_to_world
Definition: KFD_PosVelAcc.hpp:65
Eigen::Vector3d position_world
Definition: KFD_PosVelAcc.hpp:56
vector_t _x
Definition: KFD_PosVelAcc.hpp:21
vector_t & vector()
Definition: KFD_PosVelAcc.hpp:31
void copyState(const KFD_PosVelAcc &kfd)
Definition: KFD_PosVelAcc.cpp:171
Eigen::Matrix3d getPositionCovariance()
Definition: KFD_PosVelAcc.cpp:194
~KFD_PosVelAcc()
Definition: KFD_PosVelAcc.cpp:19
Eigen::Vector3d getPosition()
Definition: KFD_PosVelAcc.cpp:184
Eigen::Matrix< double, StatePosVelAcc::SIZE, StatePosVelAcc::SIZE > Q
Definition: KFD_PosVelAcc.hpp:63
bool positionObservation(Eigen::Vector3d position, Eigen::Matrix3d covariance, float reject_position_threshol)
Definition: KFD_PosVelAcc.cpp:87
Eigen::Vector3d getVelocity()
Definition: KFD_PosVelAcc.cpp:189
void correct_state()
Definition: KFD_PosVelAcc.cpp:156
Eigen::Vector3d getAccBias()
Definition: KFD_PosVelAcc.cpp:209
static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const unsigned int _POS_MEASUREMENT_SIZE
Definition: KFD_PosVelAcc.hpp:44
static const int SIZE
Definition: KFD_PosVelAcc.hpp:17
Eigen::Block< vector_t, 3, 1 > & vel_world()
Definition: KFD_PosVelAcc.hpp:33
Definition: KFD_PosVelAcc.hpp:38
Eigen::Block< vector_t, 3, 1 > & acc_inertial()
Definition: KFD_PosVelAcc.hpp:34
Definition: KalmanFilter.hpp:13
void setRotation(Eigen::Quaterniond R)
Definition: KFD_PosVelAcc.cpp:82
EIGEN_MAKE_ALIGNED_OPERATOR_NEW StatePosVelAcc()
Definition: KFD_PosVelAcc.hpp:28
KalmanFilter::KF< StatePosVelAcc::SIZE > * filter
Definition: KFD_PosVelAcc.hpp:60
bool velocityObservation(Eigen::Vector3d velocity, Eigen::Matrix3d covariance, float reject_velocity_threshol)
Definition: KFD_PosVelAcc.cpp:107
bool positionZObservation(double z, double error, double rejection_threshold)
Definition: KFD_PosVelAcc.cpp:125
static const unsigned int _VEL_MEASUREMENT_SIZE
Definition: KFD_PosVelAcc.hpp:45
StatePosVelAcc x
Definition: KFD_PosVelAcc.hpp:51
Eigen::Vector3d velocity_world
Definition: KFD_PosVelAcc.hpp:55
Eigen::Matrix3d getAccCovariance()
Definition: KFD_PosVelAcc.cpp:204
static const unsigned int _POS_DEGREE_OF_FREEDOM
Definition: KFD_PosVelAcc.hpp:46