00001 /* 00002 * treeiksolver.hpp 00003 * 00004 * Created on: Nov 28, 2008 00005 * Author: rubensmits 00006 */ 00007 00008 #ifndef TREEIKSOLVER_HPP_ 00009 #define TREEIKSOLVER_HPP_ 00010 00011 #include "tree.hpp" 00012 #include "jntarray.hpp" 00013 #include "frames.hpp" 00014 #include <map> 00015 00016 namespace KDL { 00017 00018 typedef std::map<std::string, Twist> Twists; 00019 typedef std::map<std::string, Jacobian> Jacobians; 00020 typedef std::map<std::string, Frame> Frames; 00021 00028 class TreeIkSolverPos { 00029 public: 00041 virtual double CartToJnt(const JntArray& q_init, const Frames& p_in,JntArray& q_out)=0; 00042 00043 virtual ~TreeIkSolverPos() { 00044 } 00045 ; 00046 }; 00047 00054 class TreeIkSolverVel { 00055 public: 00067 virtual double CartToJnt(const JntArray& q_in, const Twists& v_in, JntArray& qdot_out)=0; 00068 00069 virtual ~TreeIkSolverVel() { 00070 } 00071 ; 00072 00073 }; 00074 00075 } 00076 00077 #endif /* TREEIKSOLVER_HPP_ */