MobileRobotUnscentedKalmanFilterModel.hpp

00001 #ifndef MOBILEROBOTUNSCENTEDKALMANFILTERMODEL_HPP
00002 #define MOBILEROBOTUNSCENTEDKALMANFILTERMODEL_HPP
00003 
00004 #include "indii/ml/filter/UnscentedKalmanSmootherModel.hpp"
00005 #include "indii/ml/aux/vector.hpp"
00006 
00007 using namespace indii::ml::filter;
00008 
00009 namespace aux = indii::ml::aux;
00010 
00011 /**
00012  * Mobile robot model for unscented Kalman filter and smoother tests.
00013  */
00014 class MobileRobotUnscentedKalmanFilterModel
00015     : public UnscentedKalmanSmootherModel<unsigned int> {
00016 public:
00017   MobileRobotUnscentedKalmanFilterModel();
00018 
00019   virtual unsigned int getStateSize();
00020 
00021   virtual indii::ml::aux::GaussianPdf& getSystemNoise();
00022    
00023   virtual indii::ml::aux::GaussianPdf& getMeasurementNoise();
00024 
00025   virtual aux::vector transition(const aux::vector& x, const aux::vector& w,
00026       unsigned int delta);
00027 
00028   virtual aux::vector measure(const aux::vector& x, const aux::vector& v);
00029 
00030   virtual aux::vector backwardTransition(const aux::vector& x,
00031       const aux::vector& w, unsigned int delta);
00032 
00033 private:
00034   /**
00035    * System noise.
00036    */
00037   aux::GaussianPdf w;
00038   
00039   /**
00040    * Measurement noise.
00041    */
00042   aux::GaussianPdf v;
00043   
00044 };
00045 
00046 #endif

Generated on Wed Dec 17 15:05:50 2008 for dysii Filtering Test Suite by  doxygen 1.5.3