00001 #ifndef __FOLDING_UTILS__ 00002 #define __FOLDING_UTILS__ 00003 00004 #include <math.h> 00005 #include <ros/ros.h> 00006 #include <Eigen/Dense> 00007 #include <stdexcept> 00008 00009 namespace generic_control_toolbox 00010 { 00011 class MatrixParser 00012 { 00013 public: 00014 MatrixParser(); 00015 ~MatrixParser(); 00016 00028 static bool parseMatrixData(Eigen::MatrixXd &M, const std::string param_name, 00029 const ros::NodeHandle &n); 00030 00037 static Eigen::Matrix3d computeSkewSymmetric(const Eigen::Vector3d &v); 00038 00039 private: 00047 static void initializeEigenMatrix(Eigen::MatrixXd &M, 00048 const std::vector<double> &vals); 00049 }; 00050 } // namespace generic_control_toolbox 00051 00052 #endif