chainiksolverpos_nr_jl.hpp
Go to the documentation of this file.
00001 // Copyright  (C)  2007-2008  Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
00002 // Copyright  (C)  2008  Mikael Mayer
00003 // Copyright  (C)  2008  Julia Jesse
00004 
00005 // Version: 1.0
00006 // Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
00007 // Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
00008 // URL: http://www.orocos.org/kdl
00009 
00010 // This library is free software; you can redistribute it and/or
00011 // modify it under the terms of the GNU Lesser General Public
00012 // License as published by the Free Software Foundation; either
00013 // version 2.1 of the License, or (at your option) any later version.
00014 
00015 // This library is distributed in the hope that it will be useful,
00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 // Lesser General Public License for more details.
00019 
00020 // You should have received a copy of the GNU Lesser General Public
00021 // License along with this library; if not, write to the Free Software
00022 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
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         virtual void updateInternalDataStructures();
00107 
00109         const char* strError(const int error) const;
00110 
00111     private:
00112         const Chain& chain;
00113         unsigned int nj;
00114         JntArray q_min;
00115         JntArray q_max;
00116         ChainIkSolverVel& iksolver;
00117         ChainFkSolverPos& fksolver;
00118         JntArray delta_q;
00119         unsigned int maxiter;
00120         double eps;
00121 
00122         Frame f;
00123         Twist delta_twist;
00124 
00125     };
00126 
00127 }
00128 
00129 #endif


orocos_kdl
Author(s):
autogenerated on Fri Jun 14 2019 19:33:22