pose_ekf
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
pose_ekf::KFD_PosVel Class Reference

#include <KFD_PosVel.hpp>

Public Member Functions

 KFD_PosVel ()
 
 ~KFD_PosVel ()
 
void copyState (const KFD_PosVel &kfd)
 
bool positionObservation (Eigen::Vector3d position, Eigen::Matrix3d covariance, float reject_position_threshol)
 
bool velocityObservation (Eigen::Vector3d velocity, Eigen::Matrix3d covariance, float reject_velocity_threshol)
 
bool positionZObservation (double z, double error, double rejection_threshold)
 
void setPosition (Eigen::Vector3d position, Eigen::Matrix3d covariance)
 
void setVelocity (Eigen::Vector3d velocity, Eigen::Matrix3d covariance)
 
void predict (Eigen::Quaterniond R_body_2_world, double dt, Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE > process_noise)
 
Eigen::Vector3d getPosition ()
 
Eigen::Vector3d getVelocity ()
 
Eigen::Matrix3d getPositionCovariance ()
 
Eigen::Matrix3d getVelocityCovariance ()
 
void init (const Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE > &P, const Eigen::Matrix< double, StatePosVel::SIZE, 1 > &x)
 

Public Attributes

StatePosVel x
 
KalmanFilter::KF
< StatePosVel::SIZE > * 
filter
 
Eigen::Matrix< double,
StatePosVel::SIZE,
StatePosVel::SIZE
Q
 

Static Public Attributes

static
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
const unsigned int 
_POS_MEASUREMENT_SIZE = 3
 
static const unsigned int _VEL_MEASUREMENT_SIZE = 3
 
static const unsigned int _POS_DEGREE_OF_FREEDOM = 3
 
static const unsigned int _VEL_DEGREE_OF_FREEDOM = 3
 

Constructor & Destructor Documentation

KFD_PosVel::KFD_PosVel ( )

CHECK

KFD_PosVel::~KFD_PosVel ( )

Member Function Documentation

void KFD_PosVel::copyState ( const KFD_PosVel kfd)

Copy the Kalman Filter State from KFD

Eigen::Vector3d KFD_PosVel::getPosition ( )

gets the estimated position

Eigen::Matrix3d KFD_PosVel::getPositionCovariance ( )

get the Position covariance

Eigen::Vector3d KFD_PosVel::getVelocity ( )

gets the estimated velocity

Eigen::Matrix3d KFD_PosVel::getVelocityCovariance ( )

get the Velocity covariance

void KFD_PosVel::init ( const Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE > &  P,
const Eigen::Matrix< double, StatePosVel::SIZE, 1 > &  x 
)

set the inital values for state x and covariance P

configurarion hook

bool KFD_PosVel::positionObservation ( Eigen::Vector3d  position,
Eigen::Matrix3d  covariance,
float  reject_position_threshol 
)

A 3D position observation

bool KFD_PosVel::positionZObservation ( double  z,
double  error,
double  rejection_threshold 
)

A z position observation

void KFD_PosVel::predict ( Eigen::Quaterniond  R_body_2_world,
double  dt,
Eigen::Matrix< double, StatePosVel::SIZE, StatePosVel::SIZE process_noise 
)

prediction step of the kalman filter

Kalman Filter

void KFD_PosVel::setPosition ( Eigen::Vector3d  position,
Eigen::Matrix3d  covariance 
)

set the position

void KFD_PosVel::setVelocity ( Eigen::Vector3d  velocity,
Eigen::Matrix3d  covariance 
)

set the position

bool KFD_PosVel::velocityObservation ( Eigen::Vector3d  velocity,
Eigen::Matrix3d  covariance,
float  reject_velocity_threshol 
)

A 3D velocity observation

Member Data Documentation

const unsigned int pose_ekf::KFD_PosVel::_POS_DEGREE_OF_FREEDOM = 3
static
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const unsigned int pose_ekf::KFD_PosVel::_POS_MEASUREMENT_SIZE = 3
static

ensure alignment for eigen vector types

const unsigned int pose_ekf::KFD_PosVel::_VEL_DEGREE_OF_FREEDOM = 3
static
const unsigned int pose_ekf::KFD_PosVel::_VEL_MEASUREMENT_SIZE = 3
static
KalmanFilter::KF<StatePosVel::SIZE>* pose_ekf::KFD_PosVel::filter

Instance of the Extended Kalman filter

Eigen::Matrix<double, StatePosVel::SIZE, StatePosVel::SIZE> pose_ekf::KFD_PosVel::Q

process noise

StatePosVel pose_ekf::KFD_PosVel::x

state estimate


The documentation for this class was generated from the following files: