class
#include <iDynTree/ArticulatedBodyInertia.h>
ArticulatedBodyInertia Class representing an Articulated Body Inertia.
For more information on Articulated Body Inertia, please check Featherstone 2008, Chapter 7 .
Storage: The symmetric articulated body inertia is stored as 3 3x3 matrices :
- the linearLinear is the top left submatrix
- the linearAngular is the top right submatrix
- the angularAngular is the bottom right submatrix
The bottom left submatrix can be obtained as the transpose of the linearAngular matrix.
Public static functions
- static auto combine(const ArticulatedBodyInertia& op1, const ArticulatedBodyInertia& op2) -> ArticulatedBodyInertia
- static auto ABADyadHelper(const SpatialForceVector& U, const double d) -> ArticulatedBodyInertia
- Build the ArticulatedInertia .
- static auto ABADyadHelperLin(const SpatialForceVector& U, const double inv_d, const SpatialForceVector& dU, const double d_inv_d) -> ArticulatedBodyInertia
- Build the ArticulatedInertia dU inv_d U^\top + U d_inv_d U^\top + U inv_d dU^\top Used in the linearization of the articulated body algorithm.
Constructors, destructors, conversion operators
- ArticulatedBodyInertia()
- The data is not reset to zeo for perfomance reason.
- ArticulatedBodyInertia(const double* in_data, const unsigned int in_rows, const unsigned int in_cols)
- Constructor from a buffer of 36 doubles, stored as a C-style array (i.e.
-
ArticulatedBodyInertia(const iDynTree::
SpatialInertia& rigidBodyInertia) - Constructor from a Rigid Body Inertia.
- ArticulatedBodyInertia(const ArticulatedBodyInertia& other)
- Copy constructor: create a ArticulatedBodyInertia from another ArticulatedBodyInertia.
Public functions
- auto getLinearLinearSubmatrix() -> Matrix3x3&
- Low level data getters.
- auto getLinearAngularSubmatrix() -> Matrix3x3&
- auto getAngularAngularSubmatrix() -> Matrix3x3&
- auto getLinearLinearSubmatrix() const -> const Matrix3x3&
- auto getLinearAngularSubmatrix() const -> const Matrix3x3&
- auto getAngularAngularSubmatrix() const -> const Matrix3x3&
- auto applyInverse(const Wrench& wrench) const -> SpatialAcc
- Return the inverse of this ArticulatedBodyInertia applied to the passed wrench.
- auto asMatrix() const -> Matrix6x6
- Get the ArticulatedBodyInertia as a 6x6 matrix.
- auto getInverse() const -> Matrix6x6
- Get the inverse of the ArticulatedBodyInertia matrix.
- auto operator+(const ArticulatedBodyInertia& other) const -> ArticulatedBodyInertia
- auto operator-(const ArticulatedBodyInertia& other) const -> ArticulatedBodyInertia
- auto operator+=(const ArticulatedBodyInertia& other) -> ArticulatedBodyInertia&
- auto operator*(const SpatialMotionVector& other) const -> SpatialForceVector
- auto operator*(const SpatialAcc& other) const -> Wrench
- void zero()
- reset to zero (i.e.
Function documentation
static ArticulatedBodyInertia iDynTree:: ArticulatedBodyInertia:: ABADyadHelper(const SpatialForceVector& U,
const double d)
Build the ArticulatedInertia .
Used in the articulated body algorithm .
iDynTree:: ArticulatedBodyInertia:: ArticulatedBodyInertia()
The data is not reset to zeo for perfomance reason.
Please initialize the data in the class before any use.
iDynTree:: ArticulatedBodyInertia:: ArticulatedBodyInertia(const double* in_data,
const unsigned int in_rows,
const unsigned int in_cols)
Constructor from a buffer of 36 doubles, stored as a C-style array (i.e.
row major).
void iDynTree:: ArticulatedBodyInertia:: zero()
reset to zero (i.e.
the inertia of body with zero mass) the ArticulatedBodyInertia