sva::ABInertia< T > Class Template Reference

#include <SpaceVecAlg/ABInertia.h>

Public Types

typedef Eigen::Vector3< T > vector3_t
 
typedef Eigen::Matrix3< T > matrix3_t
 
typedef Eigen::Matrix6< T > matrix6_t
 

Public Member Functions

 ABInertia ()
 
 ABInertia (const matrix3_t &M, const matrix3_t &H, const matrix3_t &I)
 
 ABInertia (const Eigen::TriangularView< matrix3_t, Eigen::Lower > &ltM, const matrix3_t &H, const Eigen::TriangularView< matrix3_t, Eigen::Lower > &ltI)
 
const matrix3_tlowerTriangularMassMatrix () const
 
matrix3_t massMatrix () const
 
const matrix3_tgInertia () const
 
const matrix3_tlowerTriangularInertia () const
 
matrix3_t inertia () const
 
matrix6_t matrix () const
 @retrun Non compact spatial articulated body inertia matrix. More...
 
template<typename T2 >
ABInertia< T2 > cast () const
 
ABInertia< T > operator+ (const ABInertia< T > &rbI) const
 
ABInertia< T > operator- (const ABInertia< T > &rbI) const
 
ABInertia< T > operator- () const
 
ABInertia< T > & operator+= (const ABInertia< T > &rbI)
 
ABInertia< T > & operator-= (const ABInertia< T > &rbI)
 
template<typename T2 >
ABInertia< T > operator* (T2 scalar) const
 
ABInertia< T > operator+ (const RBInertia< T > &rbI) const
 
ForceVec< T > operator* (const MotionVec< T > &mv) const
 
template<typename Derived >
void mul (const Eigen::MatrixBase< Derived > &mv, Eigen::MatrixBase< Derived > &result) const
 
bool operator== (const ABInertia< T > &abI) const
 
bool operator!= (const ABInertia< T > &abI) const
 

Detailed Description

template<typename T>
class sva::ABInertia< T >

Spatial Articulated Body Inertia compact representation. See Roy Featherstone «Rigid Body Dynamics Algorithms» page 247.

Member Typedef Documentation

◆ matrix3_t

template<typename T >
typedef Eigen::Matrix3<T> sva::ABInertia< T >::matrix3_t

◆ matrix6_t

template<typename T >
typedef Eigen::Matrix6<T> sva::ABInertia< T >::matrix6_t

◆ vector3_t

template<typename T >
typedef Eigen::Vector3<T> sva::ABInertia< T >::vector3_t

Constructor & Destructor Documentation

◆ ABInertia() [1/3]

template<typename T >
sva::ABInertia< T >::ABInertia ( )
inline

◆ ABInertia() [2/3]

template<typename T >
sva::ABInertia< T >::ABInertia ( const matrix3_t M,
const matrix3_t H,
const matrix3_t I 
)
inline
Parameters
MMass matrix.
HGeneralized inertia matrix.
IInertia matrix.

◆ ABInertia() [3/3]

template<typename T >
sva::ABInertia< T >::ABInertia ( const Eigen::TriangularView< matrix3_t, Eigen::Lower > &  ltM,
const matrix3_t H,
const Eigen::TriangularView< matrix3_t, Eigen::Lower > &  ltI 
)
inline
Parameters
MLower triangular view of Mass matrix.
HGeneralized inertia matrix.
ILower triangular view Inertia matrix.

Member Function Documentation

◆ cast()

template<typename T >
template<typename T2 >
ABInertia<T2> sva::ABInertia< T >::cast ( ) const
inline

◆ gInertia()

template<typename T >
const matrix3_t& sva::ABInertia< T >::gInertia ( ) const
inline
Returns
Generalized inertia matrix.

◆ inertia()

template<typename T >
matrix3_t sva::ABInertia< T >::inertia ( ) const
inline
Returns
Inertia matrix.

◆ lowerTriangularInertia()

template<typename T >
const matrix3_t& sva::ABInertia< T >::lowerTriangularInertia ( ) const
inline
Returns
Inertia matrix with a zero upper part.

◆ lowerTriangularMassMatrix()

template<typename T >
const matrix3_t& sva::ABInertia< T >::lowerTriangularMassMatrix ( ) const
inline
Returns
Mass matrix with a zero upper part.

◆ massMatrix()

template<typename T >
matrix3_t sva::ABInertia< T >::massMatrix ( ) const
inline
Returns
Mass matrix.

◆ matrix()

template<typename T >
matrix6_t sva::ABInertia< T >::matrix ( ) const
inline

@retrun Non compact spatial articulated body inertia matrix.

◆ mul()

template<typename T >
template<typename Derived >
void sva::ABInertia< T >::mul ( const Eigen::MatrixBase< Derived > &  mv,
Eigen::MatrixBase< Derived > &  result 
) const
inline

◆ operator!=()

template<typename T >
bool sva::ABInertia< T >::operator!= ( const ABInertia< T > &  abI) const
inline

◆ operator*() [1/2]

template<typename T >
ForceVec< T > sva::ABInertia< T >::operator* ( const MotionVec< T > &  mv) const
inline
Returns
Ia * v

◆ operator*() [2/2]

template<typename T >
template<typename T2 >
ABInertia<T> sva::ABInertia< T >::operator* ( T2  scalar) const
inline

◆ operator+() [1/2]

template<typename T >
ABInertia<T> sva::ABInertia< T >::operator+ ( const ABInertia< T > &  rbI) const
inline

◆ operator+() [2/2]

template<typename T >
ABInertia< T > sva::ABInertia< T >::operator+ ( const RBInertia< T > &  rbI) const
inline
Returns
Ia + I

◆ operator+=()

template<typename T >
ABInertia<T>& sva::ABInertia< T >::operator+= ( const ABInertia< T > &  rbI)
inline

◆ operator-() [1/2]

template<typename T >
ABInertia<T> sva::ABInertia< T >::operator- ( ) const
inline

◆ operator-() [2/2]

template<typename T >
ABInertia<T> sva::ABInertia< T >::operator- ( const ABInertia< T > &  rbI) const
inline

◆ operator-=()

template<typename T >
ABInertia<T>& sva::ABInertia< T >::operator-= ( const ABInertia< T > &  rbI)
inline

◆ operator==()

template<typename T >
bool sva::ABInertia< T >::operator== ( const ABInertia< T > &  abI) const
inline

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