ethzasl-msf - Modular Sensor Fusion
Time delay compensated single and multi sensor fusion framework based on an EKF
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Protected Member Functions
msf_core::MSF_MeasurementBase< EKFState_T > Class Template Reference

The base class for all measurement types. These are the objects provided to the EKF core to be applied in correct order to the states.

#include <msf_measurement.h>

Inheritance diagram for msf_core::MSF_MeasurementBase< EKFState_T >:
msf_core::MSF_InitMeasurement< EKFState_T > msf_core::MSF_InvalidMeasurement< EKFState_T > msf_core::MSF_Measurement< T, RMAT_T, EKFState_T >

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW MSF_MeasurementBase (bool isabsoluteMeasurement, int sensorID)
virtual ~MSF_MeasurementBase ()
virtual void apply (shared_ptr< EKFState_T > stateWithCovariance, MSF_Core< EKFState_T > &core)=0
 The method called by the msf_core to apply the measurement represented by this object.
virtual std::string type ()=0

Public Attributes

int sensorID_
bool isabsolute_
double time
 The time_ this measurement was taken.

Protected Member Functions

template<class H_type , class Res_type , class R_type >
void calculateAndApplyCorrection (shared_ptr< EKFState_T > state, MSF_Core< EKFState_T > &core, const Eigen::MatrixBase< H_type > &H, const Eigen::MatrixBase< Res_type > &residual, const Eigen::MatrixBase< R_type > &R)
void calculateAndApplyCorrection (shared_ptr< EKFState_T > state, MSF_Core< EKFState_T > &core, const Eigen::MatrixXd &H, const Eigen::MatrixXd &residual, const Eigen::MatrixXd &R)
template<class H_type , class Res_type , class R_type >
void calculateAndApplyCorrectionRelative (shared_ptr< EKFState_T > state_old, shared_ptr< EKFState_T > state_new, MSF_Core< EKFState_T > &core, const Eigen::MatrixBase< H_type > &H_old, const Eigen::MatrixBase< H_type > &H_new, const Eigen::MatrixBase< Res_type > &residual, const Eigen::MatrixBase< R_type > &R)

Constructor & Destructor Documentation

template<typename EKFState_T >
msf_core::MSF_MeasurementBase< EKFState_T >::MSF_MeasurementBase ( bool  isabsoluteMeasurement,
int  sensorID 
)
template<typename EKFState_T>
virtual msf_core::MSF_MeasurementBase< EKFState_T >::~MSF_MeasurementBase ( )
inlinevirtual

Member Function Documentation

template<typename EKFState_T>
virtual void msf_core::MSF_MeasurementBase< EKFState_T >::apply ( shared_ptr< EKFState_T >  stateWithCovariance,
MSF_Core< EKFState_T > &  core 
)
pure virtual
template<typename EKFState_T >
template<class H_type , class Res_type , class R_type >
void msf_core::MSF_MeasurementBase< EKFState_T >::calculateAndApplyCorrection ( shared_ptr< EKFState_T >  state,
MSF_Core< EKFState_T > &  core,
const Eigen::MatrixBase< H_type > &  H,
const Eigen::MatrixBase< Res_type > &  residual,
const Eigen::MatrixBase< R_type > &  R 
)
protected

Main update routine called by a given sensor, will apply the measurement to the state inside the core.

Correction from EKF update.

template<typename EKFState_T >
void msf_core::MSF_MeasurementBase< EKFState_T >::calculateAndApplyCorrection ( shared_ptr< EKFState_T >  state,
MSF_Core< EKFState_T > &  core,
const Eigen::MatrixXd &  H,
const Eigen::MatrixXd &  residual,
const Eigen::MatrixXd &  R 
)
protected

Correction from EKF update.

template<typename EKFState_T >
template<class H_type , class Res_type , class R_type >
void msf_core::MSF_MeasurementBase< EKFState_T >::calculateAndApplyCorrectionRelative ( shared_ptr< EKFState_T >  state_old,
shared_ptr< EKFState_T >  state_new,
MSF_Core< EKFState_T > &  core,
const Eigen::MatrixBase< H_type > &  H_old,
const Eigen::MatrixBase< H_type > &  H_new,
const Eigen::MatrixBase< Res_type > &  residual,
const Eigen::MatrixBase< R_type > &  R 
)
protected

Correction from EKF update.

template<typename EKFState_T>
virtual std::string msf_core::MSF_MeasurementBase< EKFState_T >::type ( )
pure virtual

Member Data Documentation

template<typename EKFState_T>
bool msf_core::MSF_MeasurementBase< EKFState_T >::isabsolute_
template<typename EKFState_T>
int msf_core::MSF_MeasurementBase< EKFState_T >::sensorID_
template<typename EKFState_T>
double msf_core::MSF_MeasurementBase< EKFState_T >::time

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