00001
00002
00003
00004
00005
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