Orocos KDL
KDL::ChainDynParam Class Reference

#include <chaindynparam.hpp>

Inheritance diagram for KDL::ChainDynParam:
KDL::SolverI

Public Member Functions

 ChainDynParam (const Chain &chain, Vector _grav)
virtual ~ChainDynParam ()
virtual int JntToCoriolis (const JntArray &q, const JntArray &q_dot, JntArray &coriolis)
virtual int JntToMass (const JntArray &q, JntSpaceInertiaMatrix &H)
virtual int JntToGravity (const JntArray &q, JntArray &gravity)
virtual void updateInternalDataStructures ()
Public Member Functions inherited from KDL::SolverI
 SolverI ()
 Initialize latest error to E_NOERROR.
virtual ~SolverI ()
virtual int getError () const
 Return the latest error.
virtual const char * strError (const int error) const

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.

Detailed Description

Implementation of a method to calculate the matrices H (inertia),C(coriolis) and G(gravitation) for the calculation torques out of the pose and derivatives. (inverse dynamics)

The algorithm implementation for H is based on the book "Rigid Body Dynamics Algorithms" of Roy Featherstone, 2008 (ISBN:978-0-387-74314-1) See page 107 for the pseudo-code. This algorithm is extended for the use of fixed joints

It calculates the joint-space inertia matrix, given the motion of the joints (q,qdot,qdotdot), external forces on the segments (expressed in the segments reference frame) and the dynamical parameters of the segments.

Constructor & Destructor Documentation

◆ ChainDynParam()

KDL::ChainDynParam::ChainDynParam ( const Chain & chain,
Vector _grav )

◆ ~ChainDynParam()

virtual KDL::ChainDynParam::~ChainDynParam ( )
virtual

Member Function Documentation

◆ JntToCoriolis()

virtual int KDL::ChainDynParam::JntToCoriolis ( const JntArray & q,
const JntArray & q_dot,
JntArray & coriolis )
virtual

◆ JntToGravity()

virtual int KDL::ChainDynParam::JntToGravity ( const JntArray & q,
JntArray & gravity )
virtual

◆ JntToMass()

virtual int KDL::ChainDynParam::JntToMass ( const JntArray & q,
JntSpaceInertiaMatrix & H )
virtual

◆ updateInternalDataStructures()

virtual void KDL::ChainDynParam::updateInternalDataStructures ( )
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::SolverI.


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