#include <chainiksolverpos_nr.hpp>
Public Member Functions | |
virtual int | CartToJnt (const JntArray &q_init, const Frame &p_in, JntArray &q_out) |
ChainIkSolverPos_NR (const Chain &chain, ChainFkSolverPos &fksolver, ChainIkSolverVel &iksolver, unsigned int maxiter=100, double eps=1e-6) | |
Child FK solver failed. More... | |
virtual const char * | strError (const int error) const |
virtual void | updateInternalDataStructures () |
~ChainIkSolverPos_NR () | |
Public Member Functions inherited from KDL::ChainIkSolverPos | |
virtual | ~ChainIkSolverPos () |
Public Member Functions inherited from KDL::SolverI | |
virtual int | getError () const |
Return the latest error. More... | |
SolverI () | |
Initialize latest error to E_NOERROR. More... | |
virtual | ~SolverI () |
Static Public Attributes | |
static const int | E_FKSOLVERPOS_FAILED = -101 |
Child IK solver vel failed. More... | |
static const int | E_IKSOLVER_FAILED = -100 |
Private Attributes | |
const Chain & | chain |
JntArray | delta_q |
Twist | delta_twist |
double | eps |
Frame | f |
ChainFkSolverPos & | fksolver |
ChainIkSolverVel & | iksolver |
unsigned int | maxiter |
unsigned int | nj |
Additional Inherited Members | |
Public Types inherited from KDL::SolverI | |
enum | { E_DEGRADED = +1, E_NOERROR = 0, E_NO_CONVERGE = -1, E_UNDEFINED = -2, E_NOT_UP_TO_DATE = -3, E_SIZE_MISMATCH = -4, E_MAX_ITERATIONS_EXCEEDED = -5, E_OUT_OF_RANGE = -6, E_NOT_IMPLEMENTED = -7, E_SVD_FAILED = -8 } |
Protected Attributes inherited from KDL::SolverI | |
int | error |
Latest error, initialized to E_NOERROR in constructor. More... | |
Implementation of a general inverse position kinematics algorithm based on Newton-Raphson iterations to calculate the position transformation from Cartesian to joint space of a general KDL::Chain.
Definition at line 38 of file chainiksolverpos_nr.hpp.
KDL::ChainIkSolverPos_NR::ChainIkSolverPos_NR | ( | const Chain & | chain, |
ChainFkSolverPos & | fksolver, | ||
ChainIkSolverVel & | iksolver, | ||
unsigned int | maxiter = 100 , |
||
double | eps = 1e-6 |
||
) |
Child FK solver failed.
Constructor of the solver, it needs the chain, a forward position kinematics solver and an inverse velocity kinematics solver for that chain.
chain | the chain to calculate the inverse position for |
fksolver | a forward position kinematics solver |
iksolver | an inverse velocity kinematics solver |
maxiter | the maximum Newton-Raphson iterations, default: 100 |
eps | the precision for the position, used to end the iterations, default: epsilon (defined in kdl.hpp) |
Definition at line 26 of file chainiksolverpos_nr.cpp.
KDL::ChainIkSolverPos_NR::~ChainIkSolverPos_NR | ( | ) |
Definition at line 70 of file chainiksolverpos_nr.cpp.
|
virtual |
Find an output joint pose q_out, given a starting joint pose q_init and a desired cartesian pose p_in
Implements KDL::ChainIkSolverPos.
Definition at line 42 of file chainiksolverpos_nr.cpp.
|
virtual |
Return a description of the latest error
Reimplemented from KDL::SolverI.
Definition at line 74 of file chainiksolverpos_nr.cpp.
|
virtual |
Update the internal data structures. This is required if the number of segments or number of joints of a chain/tree have changed. This provides a single point of contact for solver memory allocations.
Implements KDL::ChainIkSolverPos.
Definition at line 35 of file chainiksolverpos_nr.cpp.
|
private |
Definition at line 82 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 87 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 89 of file chainiksolverpos_nr.hpp.
|
static |
Child IK solver vel failed.
Definition at line 42 of file chainiksolverpos_nr.hpp.
|
static |
Definition at line 41 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 92 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 88 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 86 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 85 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 91 of file chainiksolverpos_nr.hpp.
|
private |
Definition at line 84 of file chainiksolverpos_nr.hpp.