32 nj(chain.getNrOfJoints()),
33 ns(chain.getNrOfSegments()),
36 chainidsolver_coriolis( chain,
Vector::Zero()),
37 chainidsolver_gravity( chain, grav),
38 wrenchnull(ns,
Wrench::Zero()),
65 if(q.
rows()!=
nj || H.rows()!=
nj || H.columns()!=
nj )
71 for(
unsigned int i=0;i<
ns;i++)
90 for(
int i=ns-1;i>=0;i--)
std::vector< ArticulatedBodyInertia, Eigen::aligned_allocator< ArticulatedBodyInertia > > Ic
virtual void updateInternalDataStructures()
This class encapsulates a serial kinematic interconnection structure. It is built out of segments...
unsigned int getNrOfSegments() const
const RigidBodyInertia & getInertia() const
This class represents an fixed size array containing joint values of a KDL::Chain.
const Segment & getSegment(unsigned int nr) const
std::vector< Wrench > wrenchnull
Input size does not match internal state.
doubleAcc dot(const VectorAcc &lhs, const VectorAcc &rhs)
unsigned int rows() const
const Joint & getJoint() const
represents both translational and rotational velocities.
IMETHOD void SetToZero(Vector &v)
unsigned int getNrOfJoints() const
A concrete implementation of a 3 dimensional vector class.
Frame pose(const double &q) const
ChainDynParam(const Chain &chain, Vector _grav)
int CartToJnt(const JntArray &q, const JntArray &q_dot, const JntArray &q_dotdot, const Wrenches &f_ext, JntArray &torques)
const JointType & getType() const
virtual int JntToCoriolis(const JntArray &q, const JntArray &q_dot, JntArray &coriolis)
void resize(unsigned int newSize)
ChainIdSolver_RNE chainidsolver_gravity
const double & getInertia() const
virtual void updateInternalDataStructures()
represents both translational and rotational acceleration.
Twist twist(const double &q, const double &qdot) const
virtual int JntToMass(const JntArray &q, JntSpaceInertiaMatrix &H)
int error
Latest error, initialized to E_NOERROR in constructor.
ChainIdSolver_RNE chainidsolver_coriolis
virtual int JntToGravity(const JntArray &q, JntArray &gravity)