pose_estimation
PoseUKF.hpp
Go to the documentation of this file.
1 #ifndef _POSE_ESTIMATION_POSE_UKF_HPP
2 #define _POSE_ESTIMATION_POSE_UKF_HPP
3 
4 #include "PoseWithVelocity.hpp"
5 #include <pose_estimation/Measurement.hpp>
6 #include <pose_estimation/UnscentedKalmanFilter.hpp>
7 
8 namespace pose_estimation
9 {
10 
17 class PoseUKF : public UnscentedKalmanFilter<PoseWithVelocity>
18 {
19 public:
20  MEASUREMENT(PositionMeasurement, 3)
21  MEASUREMENT(XYMeasurement, 2)
22  MEASUREMENT(ZMeasurement, 1)
23  MEASUREMENT(OrientationMeasurement, 3)
24  MEASUREMENT(VelocityMeasurement, 3)
25  MEASUREMENT(XYVelocityMeasurement, 2)
26  MEASUREMENT(ZVelocityMeasurement, 1)
27  MEASUREMENT(XVelYawVelMeasurement, 2)
28  MEASUREMENT(AngularVelocityMeasurement, 3)
29  MEASUREMENT(AccelerationMeasurement, 3)
30 
31 public:
32  PoseUKF(const State& initial_state, const Covariance& state_cov);
33  virtual ~PoseUKF() {}
34 
38  void integrateMeasurement(const PositionMeasurement& measurement);
39 
43  void integrateMeasurement(const XYMeasurement& measurement);
44 
48  void integrateMeasurement(const ZMeasurement& measurement);
49 
53  void integrateMeasurement(const OrientationMeasurement& measurement);
54 
58  void integrateMeasurement(const VelocityMeasurement& measurement);
59 
63  void integrateMeasurement(const XYVelocityMeasurement& measurement);
64 
68  void integrateMeasurement(const ZVelocityMeasurement& measurement);
69 
74  void integrateMeasurement(const XVelYawVelMeasurement& measurement);
75 
79  void integrateMeasurement(const AngularVelocityMeasurement& measurement);
80 
86  void integrateMeasurement(const AccelerationMeasurement& measurement);
87 
88 protected:
89  virtual void predictionStepImpl(const double delta);
90 
91 protected:
92  AccelerationMeasurement acceleration;
93 };
94 
95 }
96 
97 #endif
virtual ~PoseUKF()
Definition: PoseUKF.hpp:33
PoseUKF(const State &initial_state, const Covariance &state_cov)
Definition: PoseUKF.cpp:99
virtual void predictionStepImpl(const double delta)
Definition: PoseUKF.cpp:180
Definition: PoseUKF.hpp:17
Definition: UnscentedKalmanFilter.hpp:16
MTK_UKF::cov Covariance
Definition: UnscentedKalmanFilter.hpp:25
AccelerationMeasurement acceleration
Definition: PoseUKF.hpp:92
Definition: GeographicProjection.hpp:9
void integrateMeasurement(const PositionMeasurement &measurement)
Definition: PoseUKF.cpp:112
PoseWithVelocity State
Definition: UnscentedKalmanFilter.hpp:22
#define MEASUREMENT(NAME, DIM)
Definition: Measurement.hpp:6