template<unsigned int nrOfPosCoords, unsigned int nrOfDOFs>
iDynTree::MovableJointImpl class

Base template for implementation of non-fixed joints.

A specific joint can be derived from an instantiation of this template.

For more information on the assumption of the joint model, check the IJoint interface.

Base classes

class IJoint
Interface (i.e.

Derived classes

class PrismaticJoint
Class representing a prismatic joint, i.e.
class RevoluteJoint
Class representing a revolute joint, i.e.

Constructors, destructors, conversion operators

~MovableJointImpl() pure virtual
Denstructor.

Public functions

auto getNrOfPosCoords() const -> unsigned int virtual
Get the number of coordinates used to represent the position of the joint.
auto getNrOfDOFs() const -> unsigned int virtual
Get the number of degrees of freedom of the joint.
void setIndex(JointIndex& _index) virtual
Get the motion subspace matrix, i.e.
auto getIndex() const -> JointIndex virtual
Get the index of the joint in the model Joint serialization.
void setPosCoordsOffset(const size_t _index) virtual
Set the offset of the position coordinates of this joint in the position coordiantes serialization of the model.
auto getPosCoordsOffset() const -> size_t virtual
Get the offset of the position coordinates of this joint in the position coordiantes serialization of the model.
void setDOFsOffset(const size_t _index) virtual
Set the offset of the coordinates of this joint in the velocity/acceleration coordiantes serialization of the model.
auto getDOFsOffset() const -> size_t virtual
Get the offset of the position coordinates of joint in the velocity/acceleration coordiantes serialization of the model.

Protected variables

JointIndex m_index
size_t m_posCoordsOffset
size_t m_DOFsOffset

Function documentation

template<unsigned int nrOfPosCoords, unsigned int nrOfDOFs>
unsigned int iDynTree::MovableJointImpl<nrOfPosCoords, nrOfDOFs>::getNrOfPosCoords() const virtual

Get the number of coordinates used to represent the position of the joint.

Returns the number of position coordinates.

For joints whose configuration is in R^n, the number of position coordinates should match the number of degrees of freedom of the joint.

template<unsigned int nrOfPosCoords, unsigned int nrOfDOFs>
unsigned int iDynTree::MovableJointImpl<nrOfPosCoords, nrOfDOFs>::getNrOfDOFs() const virtual

Get the number of degrees of freedom of the joint.

Returns the number of degrees of freedom of the joint.

This should be a number between 0 (fixed joint) and 6 (free joint).

template<unsigned int nrOfPosCoords, unsigned int nrOfDOFs>
void iDynTree::MovableJointImpl<nrOfPosCoords, nrOfDOFs>::setIndex(JointIndex& _index) virtual

Get the motion subspace matrix, i.e.

Returns the motion subspace matrix

the matrix that maps the joint velocity to the relative twist between the two links. In particular the motion subspace matrix is the S matrix such that v_linkA = S_{linkA,linkB}*dq + linkA_X_linkB*v_linkB where dq is the joint velocity.