pinocchio  2.4.4
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
InertiaTpl< _Scalar, _Options > Class Template Reference
Inheritance diagram for InertiaTpl< _Scalar, _Options >:
Collaboration diagram for InertiaTpl< _Scalar, _Options >:

Public Types

enum  { Options = _Options }
 
typedef Symmetric3::AlphaSkewSquare AlphaSkewSquare
 
typedef Eigen::Matrix< _Scalar, 10, 1, _Options > Vector10
 

Public Member Functions

 InertiaTpl (const Scalar mass, const Vector3 &com, const Matrix3 &rotational_inertia)
 
 InertiaTpl (const Matrix6 &I6)
 
 InertiaTpl (Scalar mass, const Vector3 &com, const Symmetric3 &rotational_inertia)
 
 InertiaTpl (const InertiaTpl &clone)
 
template<int O2>
 InertiaTpl (const InertiaTpl< Scalar, O2 > &clone)
 
InertiaTpl__equl__ (const InertiaTpl &clone)
 
template<typename MotionDerived >
ForceTpl< typename traits< MotionDerived >::Scalar, traits< MotionDerived >::Options > __mult__ (const MotionDense< MotionDerived > &v) const
 
template<typename MotionDerived , typename ForceDerived >
void __mult__ (const MotionDense< MotionDerived > &v, ForceDense< ForceDerived > &f) const
 
InertiaTpl__pequ__ (const InertiaTpl &Yb)
 
InertiaTpl __plus__ (const InertiaTpl &Yb) const
 
template<typename NewScalar >
InertiaTpl< NewScalar, Options > cast () const
 
void disp_impl (std::ostream &os) const
 
const Symmetric3inertia () const
 
Symmetric3inertia ()
 
bool isApprox_impl (const InertiaTpl &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isEqual (const InertiaTpl &Y2) const
 
bool isZero_impl (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
const Vector3 & lever () const
 
Vector3 & lever ()
 
Scalar mass () const
 
Scalar & mass ()
 
Matrix6 matrix_impl () const
 
InertiaTploperator= (const InertiaTpl &clone)
 
InertiaTpl se3Action_impl (const SE3 &M) const
 aI = aXb.act(bI)
 
InertiaTpl se3ActionInverse_impl (const SE3 &M) const
 bI = aXb.actInv(aI)
 
void setIdentity ()
 
void setRandom ()
 
void setZero ()
 
 SPATIAL_TYPEDEF_TEMPLATE (InertiaTpl)
 
Vector10 toDynamicParameters () const
 
Matrix6 variation (const Motion &v) const
 
Scalar vtiv_impl (const Motion &v) const
 
Force vxiv (const Motion &v) const
 
- Public Member Functions inherited from InertiaBase< InertiaTpl< _Scalar, _Options > >
Derived_tderived ()
 
const Derived_tderived () const
 
void disp (std::ostream &os) const
 
const Symmetric3inertia () const
 
Symmetric3inertia ()
 
bool isApprox (const InertiaTpl< _Scalar, _Options > &other, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isZero (const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
Matrix6 ivx (const Motion &v) const
 
const Vector3 & lever () const
 
Vector3 & lever ()
 
Scalar mass () const
 
Scalar & mass ()
 
Matrix6 matrix () const
 
 operator Matrix6 () const
 
bool operator!= (const Derived_t &other) const
 
ForceTpl< typename traits< MotionDerived >::Scalar, traits< MotionDerived >::Options > operator* (const MotionDense< MotionDerived > &v) const
 
Derived_t operator+ (const Derived_t &Yb) const
 
Derived_toperator+= (const Derived_t &Yb)
 
Derived_toperator= (const Derived_t &clone)
 
bool operator== (const Derived_t &other) const
 
Derived_t se3Action (const SE3 &M) const
 aI = aXb.act(bI)
 
Derived_t se3ActionInverse (const SE3 &M) const
 bI = aXb.actInv(aI)
 
void setIdentity ()
 
void setRandom ()
 
void setZero ()
 
Matrix6 variation (const Motion &v) const
 
Scalar vtiv (const Motion &v) const
 
Matrix6 vxi (const Motion &v) const
 

Static Public Member Functions

static InertiaTpl FromBox (const Scalar m, const Scalar x, const Scalar y, const Scalar z)
 
static InertiaTpl FromCylinder (const Scalar m, const Scalar r, const Scalar l)
 
template<typename Vector10Like >
static InertiaTpl FromDynamicParameters (const Eigen::MatrixBase< Vector10Like > &params)
 
static InertiaTpl FromEllipsoid (const Scalar m, const Scalar x, const Scalar y, const Scalar z)
 
static InertiaTpl FromSphere (const Scalar m, const Scalar radius)
 
static InertiaTpl Identity ()
 
template<typename M6 >
static void ivx_impl (const Motion &v, const InertiaTpl &I, const Eigen::MatrixBase< M6 > &Iout)
 
static InertiaTpl Random ()
 
template<typename M6 >
static void vxi_impl (const Motion &v, const InertiaTpl &I, const Eigen::MatrixBase< M6 > &Iout)
 
static InertiaTpl Zero ()
 
- Static Public Member Functions inherited from InertiaBase< InertiaTpl< _Scalar, _Options > >
static void ivx (const Motion &v, const InertiaTpl< _Scalar, _Options > &I, const Eigen::MatrixBase< M6 > &Iout)
 Time variation operator. It computes the time derivative of an inertia I corresponding to the formula \( \dot{I} = v \times^{*} I \). More...
 
static void vxi (const Motion &v, const InertiaTpl< _Scalar, _Options > &I, const Eigen::MatrixBase< M6 > &Iout)
 Time variation operator. It computes the time derivative of an inertia I corresponding to the formula \( \dot{I} = v \times^{*} I \). More...
 

Protected Attributes

Vector3 m_com
 
Symmetric3 m_inertia
 
Scalar m_mass
 

Friends

class InertiaBase< InertiaTpl< _Scalar, _Options > >
 

Additional Inherited Members

- Protected Types inherited from InertiaBase< InertiaTpl< _Scalar, _Options > >
typedef InertiaTpl< _Scalar, _Options > Derived_t
 
- Protected Member Functions inherited from InertiaBase< InertiaTpl< _Scalar, _Options > >
 SPATIAL_TYPEDEF_TEMPLATE (Derived_t)
 

Detailed Description

template<typename _Scalar, int _Options>
class pinocchio::InertiaTpl< _Scalar, _Options >

Definition at line 52 of file fwd.hpp.

Member Function Documentation

◆ cast()

InertiaTpl<NewScalar,Options> cast ( ) const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 547 of file inertia.hpp.

◆ FromDynamicParameters()

static InertiaTpl FromDynamicParameters ( const Eigen::MatrixBase< Vector10Like > &  params)
inlinestatic

Builds and inertia matrix from a vector of dynamic parameters.

Parameters
[in]paramsThe dynamic parameters.

The parameters are given as \( v = [m, mc_x, mc_y, mc_z, I_{xx}, I_{xy}, I_{yy}, I_{xz}, I_{yz}, I_{zz}]^T \) where \( I = I_C + mS^T(c)S(c) \) and \( I_C \) has its origin at the barycenter.

Definition at line 318 of file inertia.hpp.

◆ toDynamicParameters()

Vector10 toDynamicParameters ( ) const
inline

Returns the representation of the matrix as a vector of dynamic parameters. The parameters are given as \( v = [m, mc_x, mc_y, mc_z, I_{xx}, I_{xy}, I_{yy}, I_{xz}, I_{yz}, I_{zz}]^T \) where \( c \) is the center of mass, \( I = I_C + mS^T(c)S(c) \) and \( I_C \) has its origin at the barycenter and \( S(c) \) is the the skew matrix representation of the cross product operator.

Definition at line 298 of file inertia.hpp.


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