KDL 1.5.1
Public Types | Public Member Functions | Protected Attributes | Private Attributes | List of all members
KDL::ChainJntToJacSolver Class Reference

Class to calculate the jacobian of a general KDL::Chain, it is used by other solvers. More...

#include <src/chainjnttojacsolver.hpp>

Inheritance diagram for KDL::ChainJntToJacSolver:
Inheritance graph
[legend]
Collaboration diagram for KDL::ChainJntToJacSolver:
Collaboration graph
[legend]

Public Types

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
}
 

Public Member Functions

 ChainJntToJacSolver (const Chain &chain)
 
virtual ~ChainJntToJacSolver ()
 
virtual int JntToJac (const JntArray &q_in, Jacobian &jac, int seg_nr=-1)
 Calculate the jacobian expressed in the base frame of the chain, with reference point at the end effector of the *chain. More...
 
int setLockedJoints (const std::vector< bool > locked_joints)
 
virtual void updateInternalDataStructures ()
 Update the internal data structures. More...
 
virtual int getError () const
 Return the latest error. More...
 
virtual const char * strError (const int error) const
 Return a description of the latest error. More...
 

Protected Attributes

int error
 Latest error, initialized to E_NOERROR in constructor. More...
 

Private Attributes

const Chainchain
 
Twist t_tmp
 
Frame T_tmp
 
std::vector< bool > locked_joints_
 

Detailed Description

Class to calculate the jacobian of a general KDL::Chain, it is used by other solvers.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
E_DEGRADED 

Converged but degraded solution (e.g. WDLS with psuedo-inverse singular)

E_NOERROR 

No error.

E_NO_CONVERGE 

Failed to converge.

E_UNDEFINED 

Undefined value (e.g. computed a NAN, or tan(90 degrees) )

E_NOT_UP_TO_DATE 

Chain size changed.

E_SIZE_MISMATCH 

Input size does not match internal state.

E_MAX_ITERATIONS_EXCEEDED 

Maximum number of iterations exceeded.

E_OUT_OF_RANGE 

Requested index out of range.

E_NOT_IMPLEMENTED 

Not yet implemented.

E_SVD_FAILED 

Internal svd calculation failed.

Constructor & Destructor Documentation

◆ ChainJntToJacSolver()

KDL::ChainJntToJacSolver::ChainJntToJacSolver ( const Chain chain)
explicit

◆ ~ChainJntToJacSolver()

KDL::ChainJntToJacSolver::~ChainJntToJacSolver ( )
virtual

Member Function Documentation

◆ getError()

virtual int KDL::SolverI::getError ( ) const
inlinevirtualinherited

Return the latest error.

References KDL::SolverI::error.

◆ JntToJac()

int KDL::ChainJntToJacSolver::JntToJac ( const JntArray q_in,
Jacobian jac,
int  seg_nr = -1 
)
virtual

◆ setLockedJoints()

int KDL::ChainJntToJacSolver::setLockedJoints ( const std::vector< bool >  locked_joints)
Parameters
locked_jointsnew values for locked joints
Returns
success/error code

References chain, KDL::SolverI::E_NOERROR, KDL::SolverI::E_NOT_UP_TO_DATE, KDL::SolverI::E_SIZE_MISMATCH, KDL::SolverI::error, KDL::Chain::getNrOfJoints(), and locked_joints_.

◆ strError()

virtual const char * KDL::SolverI::strError ( const int  error) const
inlinevirtualinherited

◆ updateInternalDataStructures()

void KDL::ChainJntToJacSolver::updateInternalDataStructures ( )
virtual

Member Data Documentation

◆ chain

const Chain& KDL::ChainJntToJacSolver::chain
private

◆ error

int KDL::SolverI::error
protectedinherited

◆ locked_joints_

std::vector<bool> KDL::ChainJntToJacSolver::locked_joints_
private

◆ t_tmp

Twist KDL::ChainJntToJacSolver::t_tmp
private

Referenced by JntToJac().

◆ T_tmp

Frame KDL::ChainJntToJacSolver::T_tmp
private

Referenced by JntToJac().


The documentation for this class was generated from the following files: