- 3.0.2 rigid body dynamics module.
iit::TestHyQ::dyn::tpl::JSIM< TRAIT > Class Template Reference

#include <jsim.h>

Inheritance diagram for iit::TestHyQ::dyn::tpl::JSIM< TRAIT >:
iit::rbd::StateDependentMatrix< iit::TestHyQ::tpl::JointState< TRAIT::Scalar >, 18, 18, JSIM< TRAIT > > iit::rbd::StateDependentBase< iit::TestHyQ::tpl::JointState< TRAIT::Scalar >, JSIM< TRAIT > >

Public Types

typedef TRAIT::Scalar Scalar
 
typedef iit::TestHyQ::tpl::JointState< ScalarJointState
 
typedef iit::rbd::Core< ScalarCoreS
 
typedef Base::Index Index
 
typedef iit::rbd::PlainMatrix< Scalar, 18, 18 > MatrixType
 
typedef const Eigen::Block< const MatrixType, 6, 12 > BlockF_t
 
typedef const Eigen::Block< const MatrixType, 12, 12 > BlockFixedBase_t
 
typedef InertiaProperties< TRAIT > IProperties
 
typedef iit::TestHyQ::tpl::ForceTransforms< TRAIT > FTransforms
 
typedef iit::rbd::tpl::InertiaMatrixDense< ScalarInertiaMatrix
 
- Public Types inherited from iit::rbd::StateDependentMatrix< iit::TestHyQ::tpl::JointState< TRAIT::Scalar >, 18, 18, JSIM< TRAIT > >
typedef Base::Index Index
 
typedef Base MatrixType
 

Public Member Functions

 JSIM (IProperties &, FTransforms &)
 
 ~JSIM ()
 
const JSIMupdate (const JointState &)
 
void computeL ()
 
void computeInverse ()
 
const MatrixTypegetL () const
 
const MatrixTypegetInverse () const
 
const InertiaMatrixgetWholeBodyInertia () const
 
const BlockF_t getF () const
 
const BlockFixedBase_t getFixedBaseBlock () const
 
- Public Member Functions inherited from iit::rbd::StateDependentMatrix< iit::TestHyQ::tpl::JointState< TRAIT::Scalar >, 18, 18, JSIM< TRAIT > >
 StateDependentMatrix ()
 
 ~StateDependentMatrix ()
 
StateDependentMatrixoperator= (const MatrixBase< OtherDerived > &other)
 
- Public Member Functions inherited from iit::rbd::StateDependentBase< iit::TestHyQ::tpl::JointState< TRAIT::Scalar >, JSIM< TRAIT > >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const JSIM< TRAIT > & operator() (iit::TestHyQ::tpl::JointState< TRAIT::Scalar > const &state)
 
const JSIM< TRAIT > & update (iit::TestHyQ::tpl::JointState< TRAIT::Scalar > const &state)
 

Protected Member Functions

void computeLInverse ()
 

Additional Inherited Members

- Public Attributes inherited from iit::rbd::StateDependentMatrix< iit::TestHyQ::tpl::JointState< TRAIT::Scalar >, 18, 18, JSIM< TRAIT > >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Base::Scalar Scalar
 

Detailed Description

template<typename TRAIT>
class iit::TestHyQ::dyn::tpl::JSIM< TRAIT >

The type of the Joint Space Inertia Matrix (JSIM) of the robot TestHyQ.

Member Typedef Documentation

◆ Scalar

template<typename TRAIT>
typedef TRAIT::Scalar iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::Scalar

◆ JointState

template<typename TRAIT>
typedef iit::TestHyQ::tpl::JointState<Scalar> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::JointState

◆ CoreS

template<typename TRAIT>
typedef iit::rbd::Core<Scalar> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::CoreS

◆ Index

template<typename TRAIT>
typedef Base::Index iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::Index

◆ MatrixType

template<typename TRAIT>
typedef iit::rbd::PlainMatrix<Scalar, 18, 18> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::MatrixType

◆ BlockF_t

template<typename TRAIT>
typedef const Eigen::Block<const MatrixType,6,12> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::BlockF_t

The type of the F sub-block of the floating-base JSIM

◆ BlockFixedBase_t

template<typename TRAIT>
typedef const Eigen::Block<const MatrixType,12,12> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::BlockFixedBase_t

The type of the fixed-base sub-block of the JSIM

◆ IProperties

template<typename TRAIT>
typedef InertiaProperties<TRAIT> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::IProperties

◆ FTransforms

template<typename TRAIT>
typedef iit::TestHyQ::tpl::ForceTransforms<TRAIT> iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::FTransforms

◆ InertiaMatrix

Constructor & Destructor Documentation

◆ JSIM()

template<typename TRAIT >
iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::JSIM ( IProperties inertiaProperties,
FTransforms forceTransforms 
)

◆ ~JSIM()

Member Function Documentation

◆ update()

◆ computeL()

template<typename TRAIT >
void iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::computeL ( )

Computes and saves the matrix L of the L^T L factorization of this JSIM.

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ computeInverse()

template<typename TRAIT >
void iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::computeInverse ( )

Computes and saves the inverse of this JSIM. This function assumes that computeL() has been called already, since it uses L to compute the inverse. The algorithm takes advantage of the branch induced sparsity of the robot, if any.

References iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::computeLInverse().

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ getL()

template<typename TRAIT >
const JSIM< TRAIT >::MatrixType & iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::getL ( ) const
inline

Returns an unmodifiable reference to the matrix L. See also computeL()

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ getInverse()

template<typename TRAIT >
const JSIM< TRAIT >::MatrixType & iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::getInverse ( ) const
inline

Returns an unmodifiable reference to the inverse of this JSIM

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ getWholeBodyInertia()

template<typename TRAIT >
const JSIM< TRAIT >::InertiaMatrix & iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::getWholeBodyInertia ( ) const
inline

The spatial composite-inertia tensor of the robot base, ie the inertia of the whole robot for the current configuration. According to the convention of this class about the layout of the floating-base JSIM, this tensor is the 6x6 upper left corner of the JSIM itself.

Returns
the 6x6 InertiaMatrix that correspond to the spatial inertia tensor of the whole robot, according to the last joints configuration used to update this JSIM

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ getF()

template<typename TRAIT >
const JSIM< TRAIT >::BlockF_t iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::getF ( ) const
inline

The matrix that maps accelerations in the actual joints of the robot to the spatial force acting on the floating-base of the robot. This matrix is the F sub-block of the JSIM in Featherstone's notation.

Returns
the 6x12 upper right block of this JSIM

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ getFixedBaseBlock()

template<typename TRAIT >
const JSIM< TRAIT >::BlockFixedBase_t iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::getFixedBaseBlock ( ) const
inline

The submatrix of this JSIM related only to the actual joints of the robot (as for a fixed-base robot). This matrix is the H sub-block of the JSIM in Featherstone's notation.

Returns
the 12x12 lower right block of this JSIM, which correspond to the fixed-base JSIM

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().

◆ computeLInverse()

template<typename TRAIT >
void iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::computeLInverse ( )
protected

Computes and saves the inverse of the matrix L. See also computeL()

Referenced by iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::computeInverse(), and iit::TestHyQ::dyn::tpl::JSIM< TRAIT >::~JSIM().


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