Go to the documentation of this file.
22 #ifndef KDLCHAINIKSOLVERPOS_NR_HPP
23 #define KDLCHAINIKSOLVERPOS_NR_HPP
ChainIkSolverPos_NR(const Chain &chain, ChainFkSolverPos &fksolver, ChainIkSolverVel &iksolver, unsigned int maxiter=100, double eps=1e-6)
Child FK solver failed.
Definition: chainiksolverpos_nr.cpp:26
virtual const char * strError(const int error) const
Return a description of the latest error.
Definition: solveri.hpp:125
ChainFkSolverPos & fksolver
Definition: chainiksolverpos_nr.hpp:86
double eps
Definition: chainiksolverpos_nr.hpp:92
Definition: jntarray.hpp:69
void resize(unsigned int newSize)
Resize the array.
Definition: jntarray.cpp:55
JntArray delta_q
Definition: chainiksolverpos_nr.hpp:87
void Add(const JntArray &src1, const JntArray &src2, JntArray &dest)
Function to add two joint arrays, all the arguments must have the same size: A + B = C.
Definition: jntarray.cpp:82
~ChainIkSolverPos_NR()
Definition: chainiksolverpos_nr.cpp:70
@ E_NOT_UP_TO_DATE
Chain size changed.
Definition: solveri.hpp:97
Definition: chainfksolver.hpp:41
virtual const char * strError(const int error) const
Return a description of the latest error.
Definition: chainiksolverpos_nr.cpp:74
virtual int JntToCart(const JntArray &q_in, Frame &p_out, int segmentNr=-1)=0
Calculate forward position kinematics for a KDL::Chain, from joint coordinates to cartesian pose.
static const int E_FKSOLVERPOS_FAILED
Child IK solver vel failed.
Definition: chainiksolverpos_nr.hpp:42
Definition: articulatedbodyinertia.cpp:28
@ E_MAX_ITERATIONS_EXCEEDED
Maximum number of iterations exceeded.
Definition: solveri.hpp:101
represents both translational and rotational velocities.
Definition: frames.hpp:720
virtual int CartToJnt(const JntArray &q_in, const Twist &v_in, JntArray &qdot_out)=0
Calculate inverse velocity kinematics, from joint positions and cartesian velocity to joint velocitie...
unsigned int nj
Definition: chainiksolverpos_nr.hpp:84
unsigned int rows() const
Returns the number of rows (size) of the array.
Definition: jntarray.cpp:72
virtual int CartToJnt(const JntArray &q_init, const Frame &p_in, JntArray &q_out)
Find an output joint pose q_out, given a starting joint pose q_init and a desired cartesian pose p_in...
Definition: chainiksolverpos_nr.cpp:42
@ E_SIZE_MISMATCH
Input size does not match internal state.
Definition: solveri.hpp:99
unsigned int maxiter
Definition: chainiksolverpos_nr.hpp:91
@ E_DEGRADED
Converged but degraded solution (e.g. WDLS with psuedo-inverse singular)
Definition: solveri.hpp:89
ChainIkSolverVel & iksolver
Definition: chainiksolverpos_nr.hpp:85
Definition: frames.hpp:570
const Chain & chain
Definition: chainiksolverpos_nr.hpp:82
Implementation of a general inverse position kinematics algorithm based on Newton-Raphson iterations ...
Definition: chainiksolverpos_nr.hpp:38
virtual void updateInternalDataStructures()=0
Update the internal data structures.
Frame f
Definition: chainiksolverpos_nr.hpp:88
virtual void updateInternalDataStructures()=0
Update the internal data structures.
Twist delta_twist
Definition: chainiksolverpos_nr.hpp:89
static Twist Zero()
Definition: frames.inl:290
IMETHOD bool Equal(const FrameAcc &r1, const FrameAcc &r2, double eps=epsilon)
Definition: chainiksolver.hpp:66
Definition: chainiksolver.hpp:42
IMETHOD Vector diff(const Vector &p_w_a, const Vector &p_w_b, double dt=1)
determines the difference of vector b with vector a.
@ E_NOERROR
No error.
Definition: solveri.hpp:91
virtual void updateInternalDataStructures()
Update the internal data structures.
Definition: chainiksolverpos_nr.cpp:35
static const int E_IKSOLVER_FAILED
Definition: chainiksolverpos_nr.hpp:41
unsigned int getNrOfJoints() const
Request the total number of joints in the chain.
Definition: chain.hpp:71
int error
Latest error, initialized to E_NOERROR in constructor.
Definition: solveri.hpp:149