pose_estimation
OrientationUKF.hpp
Go to the documentation of this file.
1 #ifndef _POSE_ESTIMATION_ORIENTATION_UKF_HPP
2 #define _POSE_ESTIMATION_ORIENTATION_UKF_HPP
3 
4 #include "OrientationState.hpp"
6 #include <pose_estimation/Measurement.hpp>
7 #include <pose_estimation/UnscentedKalmanFilter.hpp>
8 #include <Eigen/Core>
9 
10 namespace pose_estimation
11 {
12 
20 class OrientationUKF : public UnscentedKalmanFilter<OrientationState>
21 {
22 public:
23  MEASUREMENT(RotationRate, 3)
24  MEASUREMENT(Acceleration, 3)
25  MEASUREMENT(VelocityMeasurement, 3)
26 
27 public:
28  OrientationUKF(const State& initial_state, const Covariance& state_cov,
29  double gyro_bias_tau, double acc_bias_tau, const LocationConfiguration& location);
30  virtual ~OrientationUKF() {}
31 
35  void integrateMeasurement(const RotationRate& measurement);
36 
40  void integrateMeasurement(const Acceleration& measurement);
41 
45  void integrateMeasurement(const VelocityMeasurement& measurement);
46 
47  /* Returns unbiased rotation rate in IMU frame */
48  RotationRate::Mu getRotationRate();
49 
50 protected:
51  void predictionStepImpl(double delta);
52 
53 protected:
54  RotationRate rotation_rate;
55  Acceleration acceleration;
56  Eigen::Vector3d earth_rotation;
57  double gyro_bias_tau;
58  double acc_bias_tau;
59 };
60 
61 }
62 
63 #endif
Definition: OrientationUKF.hpp:20
void integrateMeasurement(const RotationRate &measurement)
Definition: OrientationUKF.cpp:53
Eigen::Vector3d earth_rotation
Definition: OrientationUKF.hpp:56
Definition: UnscentedKalmanFilter.hpp:16
virtual ~OrientationUKF()
Definition: OrientationUKF.hpp:30
RotationRate rotation_rate
Definition: OrientationUKF.hpp:54
void predictionStepImpl(double delta)
Definition: OrientationUKF.cpp:79
double gyro_bias_tau
Definition: OrientationUKF.hpp:57
MTK_UKF::cov Covariance
Definition: UnscentedKalmanFilter.hpp:25
Definition: OrientationUKFConfig.hpp:24
double acc_bias_tau
Definition: OrientationUKF.hpp:58
Acceleration acceleration
Definition: OrientationUKF.hpp:55
OrientationState State
Definition: UnscentedKalmanFilter.hpp:22
#define MEASUREMENT(NAME, DIM)
Definition: Measurement.hpp:6
OrientationUKF(const State &initial_state, const Covariance &state_cov, double gyro_bias_tau, double acc_bias_tau, const LocationConfiguration &location)
Definition: OrientationUKF.cpp:41
RotationRate::Mu getRotationRate()
Definition: OrientationUKF.cpp:74