1#ifndef KDL_CHAINIKSOLVERPOS_GN_HPP
2#define KDL_CHAINIKSOLVERPOS_GN_HPP
34#include "chainiksolver.hpp"
67 typedef double ScalarType;
68 typedef Eigen::Matrix<ScalarType,Eigen::Dynamic,Eigen::Dynamic> MatrixXq;
69 typedef Eigen::Matrix<ScalarType,Eigen::Dynamic,1> VectorXq;
97 const Eigen::Matrix<double,6,1>& _l,
100 double _eps_joints=1E-15
112 double _eps_joints=1E-15
218 unsigned int maxiter;
221 Eigen::Matrix<ScalarType,6,1> L;
226 std::vector<KDL::Frame> T_base_jointroot;
227 std::vector<KDL::Frame> T_base_jointtip;
238 Eigen::LDLT<MatrixXq> ldlt;
239 Eigen::JacobiSVD<MatrixXq> svd;
242 VectorXq original_Aii;
void updateInternalDataStructures()
void compute_jacobian(const VectorXq &q)
for internal use only. Only exposed for test and diagnostic purposes. compute_fwdpos(q) should always...
ChainIkSolverPos_LMA(const KDL::Chain &_chain, double _eps=1E-5, int _maxiter=500, double _eps_joints=1E-15)
identical the full constructor for ChainIkSolverPos_LMA, but provides for a default weight matrix.
static const int E_INCREMENT_JOINTS_TOO_SMALL
Definition chainiksolverpos_lma.hpp:73
KDL::Frame T_base_head
for internal use only.
Definition chainiksolverpos_lma.hpp:210
bool display_information
display information on each iteration step to the console.
Definition chainiksolverpos_lma.hpp:215
static const int E_GRADIENT_JOINTS_TOO_SMALL
Definition chainiksolverpos_lma.hpp:72
virtual ~ChainIkSolverPos_LMA()
destructor.
ChainIkSolverPos_LMA(const KDL::Chain &_chain, const Eigen::Matrix< double, 6, 1 > &_l, double _eps=1E-5, int _maxiter=500, double _eps_joints=1E-15)
constructs an ChainIkSolverPos_LMA solver.
virtual int CartToJnt(const KDL::JntArray &q_init, const KDL::Frame &T_base_goal, KDL::JntArray &q_out)
computes the inverse position kinematics.
double lastTransDiff
contains the last value for the (unweighted) translational difference after an execution of CartToJnt...
Definition chainiksolverpos_lma.hpp:180
VectorXq lastSV
contains the last values for the singular values of the weighted Jacobian after an execution of CartT...
Definition chainiksolverpos_lma.hpp:190
double lastDifference
contains the last value for after an execution of CartToJnt.
Definition chainiksolverpos_lma.hpp:175
void compute_fwdpos(const VectorXq &q)
for internal use only.
int lastNrOfIter
contains the last number of iterations for an execution of CartToJnt.
Definition chainiksolverpos_lma.hpp:170
virtual const char * strError(const int error) const
MatrixXq jac
for internal use only.
Definition chainiksolverpos_lma.hpp:197
void display_jac(const KDL::JntArray &jval)
for internal use only. Only exposed for test and diagnostic purposes.
double lastRotDiff
contains the last value for the (unweighted) rotational difference after an execution of CartToJnt.
Definition chainiksolverpos_lma.hpp:185
VectorXq grad
for internal use only.
Definition chainiksolverpos_lma.hpp:204
This abstract class encapsulates the inverse position solver for a KDL::Chain.
Definition chainiksolver.hpp:42
This class encapsulates a serial kinematic interconnection structure. It is built out of segments.
Definition chain.hpp:35
represents a frame transformation in 3D space (rotation + translation)
Definition frames.hpp:572
Definition jntarray.hpp:70
int error
Latest error, initialized to E_NOERROR in constructor.
Definition solveri.hpp:149
Definition articulatedbodyinertia.hpp:32