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
Namespaces | Classes | Typedefs | Enumerations | Functions
msf_core Namespace Reference

Namespaces

namespace  similarity_transform

Classes

class  GPSConversion
class  CheckFuzzyTracking
class  CheckFuzzyTracking< EKFState_T, mpl_::void_ >
class  MSF_Core
 The core class of the EKF Does propagation of state and covariance but also applying measurements and managing states and measurements in lists sorted by time stamp. More...
class  IMUHandler
class  IMUHandler_ROS
class  MSF_MeasurementBase
 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. More...
class  MSF_InvalidMeasurement
 An invalid measurement needed for the measurement container to report if something went wrong. More...
class  MSF_Measurement
 The class for sensor based measurements which we want to apply to a state in the update routine of the EKF. This calls the apply correction method of the EKF core. More...
class  MSF_InitMeasurement
 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. More...
class  sortMeasurements
 A comparator to sort measurements by time. More...
class  SensorHandler
 Handles a sensor driver which provides the sensor readings. More...
class  MSF_SensorManager
 A manager for a given sensor set. Handlers for individual sensors (camera/vicon etc.) are registered with this class as handlers of particular sensors. This class also owns the EKF core instance and handles the initialization of the filter. More...
class  MSF_SensorManagerROS
 Abstract class defining user configurable calculations for the msf_core with ROS interfaces. More...
class  SortedContainer
 Manages a sorted container with strict less than ordering used to store state and measurement objects which can then be queried for closest states/measurements to a given time instant. More...
struct  StateVar_T
 A state variable with a name as specified in the state name enum. More...
struct  GenericState_T
 The state vector containing all the state variables for this EKF configuration. More...
class  sortStates
 Comparator for the state objects. sorts by time asc. More...
class  StateVisitor
 Visitor pattern to allow the user to set state init values. More...

Typedefs

typedef
dynamic_reconfigure::Server
< msf_core::MSF_CoreConfig > 
ReconfigureServer
typedef Eigen::Quaternion< double > Quaternion

Enumerations

enum  { CoreStateWithPropagation, CoreStateWithoutPropagation, Auxiliary, AuxiliaryNonTemporalDrifting }
enum  { none = 0x0, correctionMultiplicative = 0x1 }
enum  { HLI_EKF_STATE_SIZE = 16 }

Functions

double timehuman (double val)
template<typename D >
Eigen::MatrixBase< D >::Scalar getMedian (const Eigen::MatrixBase< D > &data)
Vector3 geometry_msgsToEigen (const geometry_msgs::Point &p)
 Converts a geometry_msgs::Point to an Eigen Vector3d.
Eigen::Quaterniond geometry_msgsToEigen (const geometry_msgs::Quaternion &q)
 Converts a geometry_msgs::Quaternion to an Eigen::Quaterniond.
Matrix3 geometry_msgsCovBlockToEigen (const geometry_msgs::PoseWithCovariance::_covariance_type &gcov, int start_row, int start_col)
 Returns a 3x3 covariance block entry from a geometry_msgs::PoseWithCovariance::covariance array.
template<class Derived >
void eigenCovBlockToGeometry_msgs (geometry_msgs::PoseWithCovariance::_covariance_type &gcov, const Eigen::MatrixBase< Derived > &ecov, int start_row, int start_col)
 Fills a 3x3 covariance block entry of a geometry_msgs::PoseWithCovariance::covariance array from an Eigen 3x3 matrix.
template<class Derived >
geometry_msgs::Point eigenToGeometry_msgs (const Eigen::MatrixBase< Derived > &p)
 Converts any eigen vector with 3 elements to a geometry_msgs::Point.
geometry_msgs::Quaternion eigenToGeometry_msgs (const Eigen::Quaterniond &q)
 Converts an Eigen::Quaterniond to a geometry_msgs::Quaternion.

Typedef Documentation

typedef Eigen::Quaternion<double> msf_core::Quaternion
typedef dynamic_reconfigure::Server<msf_core::MSF_CoreConfig> msf_core::ReconfigureServer

Enumeration Type Documentation

anonymous enum
Enumerator:
CoreStateWithPropagation 
CoreStateWithoutPropagation 
Auxiliary 
AuxiliaryNonTemporalDrifting 
anonymous enum
Enumerator:
none 
correctionMultiplicative 
anonymous enum
Enumerator:
HLI_EKF_STATE_SIZE 

Number of states exchanged with external propagation.

Function Documentation

template<class Derived >
void msf_core::eigenCovBlockToGeometry_msgs ( geometry_msgs::PoseWithCovariance::_covariance_type &  gcov,
const Eigen::MatrixBase< Derived > &  ecov,
int  start_row,
int  start_col 
)
inline
Parameters
[out]gcovthe geometry_msgs::PoseWithCovariance::covariance array to get the block from
[in]ecov3x3 Eigen::Matrix covariance block
[in]start_rowstart row of the block; use
[in]start_colstart column of the block; use
template<class Derived >
geometry_msgs::Point msf_core::eigenToGeometry_msgs ( const Eigen::MatrixBase< Derived > &  p)
inline
geometry_msgs::Quaternion msf_core::eigenToGeometry_msgs ( const Eigen::Quaterniond &  q)
inline
Matrix3 msf_core::geometry_msgsCovBlockToEigen ( const geometry_msgs::PoseWithCovariance::_covariance_type &  gcov,
int  start_row,
int  start_col 
)
inline
Parameters
gcovthe geometry_msgs::PoseWithCovariance::covariance array to get the block from.
start_rowstart row of the block; use .
start_colstart column of the block; use .
Returns
3x3 Eigen::Matrix covariance block.
Vector3 msf_core::geometry_msgsToEigen ( const geometry_msgs::Point &  p)
inline
Eigen::Quaterniond msf_core::geometry_msgsToEigen ( const geometry_msgs::Quaternion &  q)
inline
template<typename D >
Eigen::MatrixBase<D>::Scalar msf_core::getMedian ( const Eigen::MatrixBase< D > &  data)
double msf_core::timehuman ( double  val)