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::SIZEQ
 

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::KFD_PosVel ( )

CHECK

◆ ~KFD_PosVel()

KFD_PosVel::~KFD_PosVel ( )

Member Function Documentation

◆ copyState()

void KFD_PosVel::copyState ( const KFD_PosVel kfd)

Copy the Kalman Filter State from KFD

◆ getPosition()

Eigen::Vector3d KFD_PosVel::getPosition ( )

gets the estimated position

◆ getPositionCovariance()

Eigen::Matrix3d KFD_PosVel::getPositionCovariance ( )

get the Position covariance

◆ getVelocity()

Eigen::Vector3d KFD_PosVel::getVelocity ( )

gets the estimated velocity

◆ getVelocityCovariance()

Eigen::Matrix3d KFD_PosVel::getVelocityCovariance ( )

get the Velocity covariance

◆ init()

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

◆ positionObservation()

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

A 3D position observation

◆ positionZObservation()

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

A z position observation

◆ predict()

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

◆ setPosition()

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

set the position

◆ setVelocity()

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

set the position

◆ velocityObservation()

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

A 3D velocity observation

Member Data Documentation

◆ _POS_DEGREE_OF_FREEDOM

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

◆ _POS_MEASUREMENT_SIZE

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

ensure alignment for eigen vector types

◆ _VEL_DEGREE_OF_FREEDOM

const unsigned int pose_ekf::KFD_PosVel::_VEL_DEGREE_OF_FREEDOM = 3
static

◆ _VEL_MEASUREMENT_SIZE

const unsigned int pose_ekf::KFD_PosVel::_VEL_MEASUREMENT_SIZE = 3
static

◆ filter

KalmanFilter::KF<StatePosVel::SIZE>* pose_ekf::KFD_PosVel::filter

Instance of the Extended Kalman filter

◆ Q

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

process noise

◆ x

StatePosVel pose_ekf::KFD_PosVel::x

state estimate


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