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 00015 namespace KDL { 00016 00017 typedef std::map<std::string, Twist> Twists; 00018 typedef std::map<std::string, Jacobian> Jacobians; 00019 typedef std::map<std::string, Frame> Frames; 00020 00027 class TreeIkSolverPos { 00028 public: 00040 virtual double CartToJnt(const JntArray& q_init, const Frames& p_in,JntArray& q_out)=0; 00041 00042 virtual ~TreeIkSolverPos() { 00043 } 00044 ; 00045 }; 00046 00053 class TreeIkSolverVel { 00054 public: 00066 virtual double CartToJnt(const JntArray& q_in, const Twists& v_in, JntArray& qdot_out)=0; 00067 00068 virtual ~TreeIkSolverVel() { 00069 } 00070 ; 00071 00072 }; 00073 00074 } 00075 00076 #endif /* TREEIKSOLVER_HPP_ */