00001 /* 00002 * KalmanStateEstimator.hpp 00003 * 00004 * Created on: Jun 19, 2012 00005 * Author: rspica 00006 */ 00007 00008 #ifndef MEASUREHANDLER_HPP_ 00009 #define MEASUREHANDLER_HPP_ 00010 00011 00012 #include <telekyb_defines/telekyb_defines.hpp> 00013 #include <StateEstimators/KalmanDataTypes.hpp> 00014 #include <telekyb_base/Options.hpp> 00015 00016 using namespace TELEKYB_NAMESPACE; 00017 00018 namespace telekyb_state { 00019 00020 class MeasureHandlerOption : public OptionContainer { 00021 public: 00022 //Option<std::string>* viconTopic; 00023 00024 Option<Eigen::Matrix<double,6,6> >* vicCov; 00025 00026 Option<Eigen::Vector3d>* vicPosition; 00027 Option<Eigen::Quaterniond>* vicOrientation; 00028 00029 MeasureHandlerOption(); 00030 }; 00031 00032 class MeasureHandler{ 00033 protected: 00034 MeasureHandlerOption options; 00035 00036 //ros::Subscriber vicSub; 00037 public: 00038 //Core functions 00039 void update(StateBufferElement& state, const MeasureBufferElement& z); 00040 }; 00041 00042 00043 } /* namespace telekyb_state */ 00044 #endif /* MEASUREHANDLER_HPP_ */