00001 /* 00002 * InertiaMatrixEstimator.hpp 00003 * 00004 * Created on: Jul 28, 2012 00005 * Author: rspica 00006 */ 00007 00008 #ifndef INERTIAMATRIXESTIMATOR_HPP_ 00009 #define INERTIAMATRIXESTIMATOR_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <telekyb_msgs/TKState.h> 00013 00014 #include <tk_param_estimator/InertiaMatrixEstimDefines.hpp> 00015 00016 #include <string> 00017 00018 namespace TELEKYB_NAMESPACE 00019 { 00020 00021 // Interface definition for StateEstimators 00022 00023 class InertiaMatrixEstimator 00024 { 00025 protected: 00026 // InertiaMatrixEstimator(); 00027 00028 00029 public: 00030 virtual void initialize() = 0; 00031 00032 virtual void destroy() = 0; 00033 00034 virtual std::string getName() const = 0; 00035 00036 // actual method 00037 virtual void run(const InertiaMatrixEstimInput& input,InertiaMatrixEstimOutput& output) = 0; 00038 00039 // ask for current InertiaMatrix // also for initial; 00040 virtual Eigen::Matrix3d getInitialInertiaMatrix() const = 0; 00041 00042 // Destructor 00043 virtual ~InertiaMatrixEstimator() {}; 00044 }; 00045 00046 00047 } // namepsace 00048 00049 00050 #endif /* INERTIAMATRIXESTIMATOR_HPP_ */