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 | Private Types | Private Attributes
msf_core::MSF_InitMeasurement< EKFState_T > Class Template Reference

A measurement to be send to initialize parts of or the full EKF state this can especially be used to split the initialization of the EKF between multiple sensors which init different parts of the state.

#include <msf_measurement.h>

Inheritance diagram for msf_core::MSF_InitMeasurement< EKFState_T >:
msf_core::MSF_MeasurementBase< EKFState_T >

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW MSF_InitMeasurement (bool ContainsInitialSensorReadings)
virtual ~MSF_InitMeasurement ()
virtual std::string type ()
EKFState_T::P_type & get_P ()
Eigen::Matrix< double, 3, 1 > & get_w_m ()
 Get the gyro measurement.
Eigen::Matrix< double, 3, 1 > & get_a_m ()
 Get the acceleration measurment.
template<int INDEX, typename T >
void setStateInitValue (const T &initvalue)
 Set the flag that the state variable at index INDEX has init values for the state.
template<int INDEX>
void resetStateInitValue ()
 Reset the flag that the state variable at index INDEX has init values for the state.
template<int INDEX>
const msf_tmp::StripReference
< typename
boost::fusion::result_of::at_c
< StateSequence_T, INDEX >
::type >::result_t::value_t & 
getStateInitValue () const
 Get the value stored in this object to initialize a state variable at index INDEX.
virtual void apply (shared_ptr< EKFState_T > stateWithCovariance, MSF_Core< EKFState_T > &core)
 The method called by the msf_core to apply the measurement represented by this object.
- Public Member Functions inherited from msf_core::MSF_MeasurementBase< EKFState_T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW MSF_MeasurementBase (bool isabsoluteMeasurement, int sensorID)
virtual ~MSF_MeasurementBase ()

Private Types

typedef EKFState_T::StateSequence_T StateSequence_T

Private Attributes

EKFState_T InitState
bool ContainsInitialSensorReadings_
 Flag whether this measurement contains initial sensor readings.

Additional Inherited Members

- Public Attributes inherited from msf_core::MSF_MeasurementBase< EKFState_T >
int sensorID_
bool isabsolute_
double time
 The time_ this measurement was taken.
- Protected Member Functions inherited from msf_core::MSF_MeasurementBase< EKFState_T >
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)

Member Typedef Documentation

template<typename EKFState_T >
typedef EKFState_T::StateSequence_T msf_core::MSF_InitMeasurement< EKFState_T >::StateSequence_T
private

Constructor & Destructor Documentation

template<typename EKFState_T >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW msf_core::MSF_InitMeasurement< EKFState_T >::MSF_InitMeasurement ( bool  ContainsInitialSensorReadings)
inline
template<typename EKFState_T >
virtual msf_core::MSF_InitMeasurement< EKFState_T >::~MSF_InitMeasurement ( )
inlinevirtual

Member Function Documentation

template<typename EKFState_T >
void msf_core::MSF_InitMeasurement< EKFState_T >::apply ( shared_ptr< EKFState_T >  stateWithCovariance,
MSF_Core< EKFState_T > &  core 
)
virtual
template<typename EKFState_T >
Eigen::Matrix<double, 3, 1>& msf_core::MSF_InitMeasurement< EKFState_T >::get_a_m ( )
inline
template<typename EKFState_T >
EKFState_T::P_type& msf_core::MSF_InitMeasurement< EKFState_T >::get_P ( )
inline
template<typename EKFState_T >
Eigen::Matrix<double, 3, 1>& msf_core::MSF_InitMeasurement< EKFState_T >::get_w_m ( )
inline
template<typename EKFState_T >
template<int INDEX>
const msf_tmp::StripReference<typename boost::fusion::result_of::at_c <StateSequence_T, INDEX >::type>::result_t::value_t& msf_core::MSF_InitMeasurement< EKFState_T >::getStateInitValue ( ) const
inline
template<typename EKFState_T >
template<int INDEX>
void msf_core::MSF_InitMeasurement< EKFState_T >::resetStateInitValue ( )
inline
template<typename EKFState_T >
template<int INDEX, typename T >
void msf_core::MSF_InitMeasurement< EKFState_T >::setStateInitValue ( const T &  initvalue)
inline
template<typename EKFState_T >
virtual std::string msf_core::MSF_InitMeasurement< EKFState_T >::type ( )
inlinevirtual

Member Data Documentation

template<typename EKFState_T >
bool msf_core::MSF_InitMeasurement< EKFState_T >::ContainsInitialSensorReadings_
private
template<typename EKFState_T >
EKFState_T msf_core::MSF_InitMeasurement< EKFState_T >::InitState
private

Values for initialization of the state.


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