1 #ifndef __KFD_POS_VEL_HPP__
2 #define __KFD_POS_VEL_HPP__
5 #include <Eigen/Geometry>
25 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
40 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
57 Eigen::Matrix<double, StatePosVel::SIZE, StatePosVel::SIZE>
Q;
67 bool positionObservation( Eigen::Vector3d position, Eigen::Matrix3d covariance,
float reject_position_threshol);
70 bool velocityObservation(Eigen::Vector3d velocity, Eigen::Matrix3d covariance,
float reject_velocity_threshol);
76 void setPosition( Eigen::Vector3d position, Eigen::Matrix3d covariance );
79 void setVelocity( Eigen::Vector3d velocity, Eigen::Matrix3d covariance );
82 void predict(Eigen::Quaterniond R_body_2_world,
double dt, Eigen::Matrix<double, StatePosVel::SIZE, StatePosVel::SIZE> process_noise);
97 void init(
const Eigen::Matrix<double, StatePosVel::SIZE, StatePosVel::SIZE> &P,
const Eigen::Matrix<double,StatePosVel::SIZE,1> &
x);
Definition: KFD_PosVel.hpp:12
Eigen::Block< vector_t, 3, 1 > _vel_i
Definition: KFD_PosVel.hpp:21
static const int SIZE
Definition: KFD_PosVel.hpp:15
void setPosition(Eigen::Vector3d position, Eigen::Matrix3d covariance)
Definition: KFD_PosVel.cpp:99
Definition: KFD_PosVel.hpp:36
KFD_PosVel()
Definition: KFD_PosVel.cpp:10
bool positionObservation(Eigen::Vector3d position, Eigen::Matrix3d covariance, float reject_position_threshol)
Definition: KFD_PosVel.cpp:49
Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE > Q
Definition: KFD_PosVel.hpp:57
Eigen::Vector3d getVelocity()
Definition: KFD_PosVel.cpp:133
StatePosVel x
Definition: KFD_PosVel.hpp:49
bool velocityObservation(Eigen::Vector3d velocity, Eigen::Matrix3d covariance, float reject_velocity_threshol)
Definition: KFD_PosVel.cpp:65
void copyState(const KFD_PosVel &kfd)
Definition: KFD_PosVel.cpp:118
static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const unsigned int _POS_MEASUREMENT_SIZE
Definition: KFD_PosVel.hpp:42
static const unsigned int _VEL_DEGREE_OF_FREEDOM
Definition: KFD_PosVel.hpp:45
vector_t & vector()
Definition: KFD_PosVel.hpp:29
~KFD_PosVel()
Definition: KFD_PosVel.cpp:15
KalmanFilter::KF< StatePosVel::SIZE > * filter
Definition: KFD_PosVel.hpp:54
static const unsigned int _POS_DEGREE_OF_FREEDOM
Definition: KFD_PosVel.hpp:44
void init(const Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE > &P, const Eigen::Matrix< double, StatePosVel::SIZE, 1 > &x)
Definition: KFD_PosVel.cpp:150
bool positionZObservation(double z, double error, double rejection_threshold)
Definition: KFD_PosVel.cpp:80
Eigen::Block< vector_t, 3, 1 > & pos_world()
Definition: KFD_PosVel.hpp:30
Eigen::Matrix3d getPositionCovariance()
Definition: KFD_PosVel.cpp:138
Eigen::Block< vector_t, 3, 1 > & vel_body()
Definition: KFD_PosVel.hpp:31
void predict(Eigen::Quaterniond R_body_2_world, double dt, Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE > process_noise)
Definition: KFD_PosVel.cpp:21
EIGEN_MAKE_ALIGNED_OPERATOR_NEW StatePosVel()
Definition: KFD_PosVel.hpp:26
Eigen::Matrix< double, SIZE, 1 > vector_t
Definition: KFD_PosVel.hpp:16
Definition: KalmanFilter.hpp:13
Eigen::Block< vector_t, 3, 1 > _pos_w
Definition: KFD_PosVel.hpp:20
Eigen::Vector3d getPosition()
Definition: KFD_PosVel.cpp:128
vector_t _x
Definition: KFD_PosVel.hpp:19
static const unsigned int _VEL_MEASUREMENT_SIZE
Definition: KFD_PosVel.hpp:43
Eigen::Matrix3d getVelocityCovariance()
Definition: KFD_PosVel.cpp:143
void setVelocity(Eigen::Vector3d velocity, Eigen::Matrix3d covariance)
Definition: KFD_PosVel.cpp:108