Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KDLCHAINIKSOLVERPOS_NR_JL_HPP
00025 #define KDLCHAINIKSOLVERPOS_NR_JL_HPP
00026
00027 #include "chainiksolver.hpp"
00028 #include "chainfksolver.hpp"
00029
00030 namespace KDL {
00031
00040 class ChainIkSolverPos_NR_JL : public ChainIkSolverPos
00041 {
00042 public:
00043
00044 static const int E_IKSOLVERVEL_FAILED = -100;
00045 static const int E_FKSOLVERPOS_FAILED = -101;
00046
00064 ChainIkSolverPos_NR_JL(const Chain& chain,const JntArray& q_min, const JntArray& q_max, ChainFkSolverPos& fksolver,ChainIkSolverVel& iksolver,unsigned int maxiter=100,double eps=1e-6);
00065
00081 ChainIkSolverPos_NR_JL(const Chain& chain, ChainFkSolverPos& fksolver,ChainIkSolverVel& iksolver,unsigned int maxiter=100,double eps=1e-6);
00082
00083 ~ChainIkSolverPos_NR_JL();
00084
00085
00095 virtual int CartToJnt(const JntArray& q_init, const Frame& p_in, JntArray& q_out);
00096
00103 int setJointLimits(const JntArray& q_min, const JntArray& q_max);
00104
00106 const char* strError(const int error) const;
00107
00108 private:
00109 const Chain chain;
00110 unsigned int nj;
00111 JntArray q_min;
00112 JntArray q_max;
00113 ChainIkSolverVel& iksolver;
00114 ChainFkSolverPos& fksolver;
00115 JntArray delta_q;
00116 unsigned int maxiter;
00117 double eps;
00118
00119 Frame f;
00120 Twist delta_twist;
00121
00122 };
00123
00124 }
00125
00126 #endif