pose_estimation
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pose_estimation::OrientationUKF Class Reference

#include <OrientationUKF.hpp>

Inheritance diagram for pose_estimation::OrientationUKF:
pose_estimation::UnscentedKalmanFilter< OrientationState >

Public Member Functions

 OrientationUKF (const State &initial_state, const Covariance &state_cov, double gyro_bias_tau, double acc_bias_tau, const LocationConfiguration &location)
 
virtual ~OrientationUKF ()
 
void integrateMeasurement (const RotationRate &measurement)
 
void integrateMeasurement (const Acceleration &measurement)
 
void integrateMeasurement (const VelocityMeasurement &measurement)
 
RotationRate::Mu getRotationRate ()
 
- Public Member Functions inherited from pose_estimation::UnscentedKalmanFilter< OrientationState >
 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

void predictionStepImpl (double delta)
 
- Protected Member Functions inherited from pose_estimation::UnscentedKalmanFilter< OrientationState >
void checkMeasurment (const Eigen::Matrix< scalar_type, DIM, 1 > &mu, const Eigen::Matrix< scalar_type, DIM, DIM > &cov) const
 

Protected Attributes

RotationRate rotation_rate
 
Acceleration acceleration
 
Eigen::Vector3d earth_rotation
 
double gyro_bias_tau
 
double acc_bias_tau
 
- Protected Attributes inherited from pose_estimation::UnscentedKalmanFilter< OrientationState >
boost::shared_ptr< MTK_UKFukf
 
Covariance process_noise_cov
 
base::Time last_measurement_time
 
double max_time_delta
 
double min_time_delta
 

Additional Inherited Members

- Public Types inherited from pose_estimation::UnscentedKalmanFilter< OrientationState >
enum  
 
typedef OrientationState State
 
typedef ukfom::mtkwrap< OrientationState > WState
 
typedef ukfom::ukf< WStateMTK_UKF
 
typedef MTK_UKF::cov Covariance
 

Detailed Description

This filter estimates the orientation of an IMU in the NWU navigation frame. It integrates rotation rates, accelerations and linear velocities. The linear velocities help to constrain the acceleration and to estimate the biases. Given gyroscopes capable of sensing the rotation of the earth (e.g. a fibre optic gyro) this filter is able to estimate it's true heading.

Constructor & Destructor Documentation

◆ OrientationUKF()

pose_estimation::OrientationUKF::OrientationUKF ( const State initial_state,
const Covariance state_cov,
double  gyro_bias_tau,
double  acc_bias_tau,
const LocationConfiguration location 
)

◆ ~OrientationUKF()

virtual pose_estimation::OrientationUKF::~OrientationUKF ( )
inlinevirtual

Member Function Documentation

◆ getRotationRate()

OrientationUKF::RotationRate::Mu pose_estimation::OrientationUKF::getRotationRate ( )

◆ integrateMeasurement() [1/3]

void pose_estimation::OrientationUKF::integrateMeasurement ( const RotationRate &  measurement)

Sets the current rotation rate of the IMU in rad/s.

◆ integrateMeasurement() [2/3]

void pose_estimation::OrientationUKF::integrateMeasurement ( const Acceleration &  measurement)

Sets the current acceleration of the IMU in m/s^2.

◆ integrateMeasurement() [3/3]

void pose_estimation::OrientationUKF::integrateMeasurement ( const VelocityMeasurement &  measurement)

Integrate the linear velocitiy of the IMU in m/s.

◆ predictionStepImpl()

void pose_estimation::OrientationUKF::predictionStepImpl ( double  delta)
protectedvirtual

Member Data Documentation

◆ acc_bias_tau

double pose_estimation::OrientationUKF::acc_bias_tau
protected

◆ acceleration

Acceleration pose_estimation::OrientationUKF::acceleration
protected

◆ earth_rotation

Eigen::Vector3d pose_estimation::OrientationUKF::earth_rotation
protected

◆ gyro_bias_tau

double pose_estimation::OrientationUKF::gyro_bias_tau
protected

◆ rotation_rate

RotationRate pose_estimation::OrientationUKF::rotation_rate
protected

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