pose_estimation
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pose_estimation::UnscentedKalmanFilter< Manifold > Class Template Referenceabstract

#include <UnscentedKalmanFilter.hpp>

Inheritance diagram for pose_estimation::UnscentedKalmanFilter< Manifold >:

Public Types

enum  { DOF = Manifold::DOF }
 
typedef Manifold State
 
typedef ukfom::mtkwrap< Manifold > WState
 
typedef ukfom::ukf< WStateMTK_UKF
 
typedef MTK_UKF::cov Covariance
 

Public Member Functions

 UnscentedKalmanFilter ()
 
virtual ~UnscentedKalmanFilter ()
 
void initializeFilter (const State &initial_state, const Covariance &state_cov)
 
bool getCurrentState (State &state, Covariance &state_cov) const
 
bool getCurrentState (State &state) const
 
void predictionStepFromSampleTime (const base::Time &sample_time)
 
void predictionStep (double delta_t)
 
unsigned getStateSize () const
 
bool isInitialized () const
 
const CovariancegetProcessNoiseCovariance () const
 
void setProcessNoiseCovariance (const Covariance &noise_cov)
 
const base::Time & getLastMeasurementTime () const
 
void setLastMeasurementTime (const base::Time &last_measurement_time)
 
double getMaxTimeDelta () const
 
void setMaxTimeDelta (double max_time_delta)
 
double getMinTimeDelta () const
 
void setMinTimeDelta (double min_time_delta)
 

Protected Member Functions

virtual void predictionStepImpl (double delta_t)=0
 
template<int DIM, typename scalar_type >
void checkMeasurment (const Eigen::Matrix< scalar_type, DIM, 1 > &mu, const Eigen::Matrix< scalar_type, DIM, DIM > &cov) const
 

Protected Attributes

boost::shared_ptr< MTK_UKFukf
 
Covariance process_noise_cov
 
base::Time last_measurement_time
 
double max_time_delta
 
double min_time_delta
 

Member Typedef Documentation

template<typename Manifold>
typedef MTK_UKF::cov pose_estimation::UnscentedKalmanFilter< Manifold >::Covariance
template<typename Manifold>
typedef ukfom::ukf<WState> pose_estimation::UnscentedKalmanFilter< Manifold >::MTK_UKF
template<typename Manifold>
typedef Manifold pose_estimation::UnscentedKalmanFilter< Manifold >::State
template<typename Manifold>
typedef ukfom::mtkwrap<Manifold> pose_estimation::UnscentedKalmanFilter< Manifold >::WState

Member Enumeration Documentation

template<typename Manifold>
anonymous enum
Enumerator
DOF 

Constructor & Destructor Documentation

template<typename Manifold>
pose_estimation::UnscentedKalmanFilter< Manifold >::UnscentedKalmanFilter ( )
inline
template<typename Manifold>
virtual pose_estimation::UnscentedKalmanFilter< Manifold >::~UnscentedKalmanFilter ( )
inlinevirtual

Member Function Documentation

template<typename Manifold>
template<int DIM, typename scalar_type >
void pose_estimation::UnscentedKalmanFilter< Manifold >::checkMeasurment ( const Eigen::Matrix< scalar_type, DIM, 1 > &  mu,
const Eigen::Matrix< scalar_type, DIM, DIM > &  cov 
) const
inlineprotected
template<typename Manifold>
bool pose_estimation::UnscentedKalmanFilter< Manifold >::getCurrentState ( State state,
Covariance state_cov 
) const
inline

Provides the current state and covariance of the filter.

Returns
false if the filter has not been initialized.
template<typename Manifold>
bool pose_estimation::UnscentedKalmanFilter< Manifold >::getCurrentState ( State state) const
inline

Provides the current state of the filter.

Returns
false if the filter has not been initialized.
template<typename Manifold>
const base::Time& pose_estimation::UnscentedKalmanFilter< Manifold >::getLastMeasurementTime ( ) const
inline
template<typename Manifold>
double pose_estimation::UnscentedKalmanFilter< Manifold >::getMaxTimeDelta ( ) const
inline
template<typename Manifold>
double pose_estimation::UnscentedKalmanFilter< Manifold >::getMinTimeDelta ( ) const
inline
template<typename Manifold>
const Covariance& pose_estimation::UnscentedKalmanFilter< Manifold >::getProcessNoiseCovariance ( ) const
inline
template<typename Manifold>
unsigned pose_estimation::UnscentedKalmanFilter< Manifold >::getStateSize ( ) const
inline
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::initializeFilter ( const State initial_state,
const Covariance state_cov 
)
inline

(Re-)initializes the UKF filter from a given state.

template<typename Manifold>
bool pose_estimation::UnscentedKalmanFilter< Manifold >::isInitialized ( ) const
inline
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::predictionStep ( double  delta_t)
inline

Calls the predictionStepImpl after checking the delta_t value.

Exceptions
runtime_errorif delta_t is negative or greater then the allowed maximum.
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::predictionStepFromSampleTime ( const base::Time &  sample_time)
inline

Computes the time delta from a given sample timestamp and calls predictionStep(delta_t)

Exceptions
runtime_errorif delta_t is negative or greater then the allowed maximum.
template<typename Manifold>
virtual void pose_estimation::UnscentedKalmanFilter< Manifold >::predictionStepImpl ( double  delta_t)
protectedpure virtual
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::setLastMeasurementTime ( const base::Time &  last_measurement_time)
inline
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::setMaxTimeDelta ( double  max_time_delta)
inline
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::setMinTimeDelta ( double  min_time_delta)
inline
template<typename Manifold>
void pose_estimation::UnscentedKalmanFilter< Manifold >::setProcessNoiseCovariance ( const Covariance noise_cov)
inline

Member Data Documentation

template<typename Manifold>
base::Time pose_estimation::UnscentedKalmanFilter< Manifold >::last_measurement_time
protected
template<typename Manifold>
double pose_estimation::UnscentedKalmanFilter< Manifold >::max_time_delta
protected
template<typename Manifold>
double pose_estimation::UnscentedKalmanFilter< Manifold >::min_time_delta
protected
template<typename Manifold>
Covariance pose_estimation::UnscentedKalmanFilter< Manifold >::process_noise_cov
protected
template<typename Manifold>
boost::shared_ptr<MTK_UKF> pose_estimation::UnscentedKalmanFilter< Manifold >::ukf
protected

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