KDL 1.5.1
Loading...
Searching...
No Matches
KDL::ArticulatedBodyInertia Class Reference

6D Inertia of a articulated body More...

#include <src/articulatedbodyinertia.hpp>

Public Member Functions

 ArticulatedBodyInertia ()
 This constructor creates a zero articulated body inertia matrix,.
 
 ArticulatedBodyInertia (const RigidBodyInertia &rbi)
 This constructor creates a cartesian space articulated body inertia matrix, the arguments is a rigid body inertia.
 
 ArticulatedBodyInertia (double m, const Vector &oc=Vector::Zero(), const RotationalInertia &Ic=RotationalInertia::Zero())
 This constructor creates a cartesian space inertia matrix, the arguments are the mass, the vector from the reference point to cog and the rotational inertia in the cog.
 
 ~ArticulatedBodyInertia ()
 
ArticulatedBodyInertia RefPoint (const Vector &p)
 Reference point change with v the vector from the old to the new point expressed in the current reference frame.
 
 ArticulatedBodyInertia (const Eigen::Matrix3d &M, const Eigen::Matrix3d &H, const Eigen::Matrix3d &I)
 

Static Public Member Functions

static ArticulatedBodyInertia Zero ()
 Creates an inertia with zero mass, and zero RotationalInertia.
 

Public Attributes

Eigen::Matrix3d M
 
Eigen::Matrix3d H
 
Eigen::Matrix3d I
 

Friends

ArticulatedBodyInertia operator* (double a, const ArticulatedBodyInertia &I)
 Scalar product: I_new = double * I_old.
 
ArticulatedBodyInertia operator+ (const ArticulatedBodyInertia &Ia, const ArticulatedBodyInertia &Ib)
 addition I: I_new = I_old1 + I_old2, make sure that I_old1 and I_old2 are expressed in the same reference frame/point, otherwise the result is worth nothing
 
ArticulatedBodyInertia operator+ (const ArticulatedBodyInertia &Ia, const RigidBodyInertia &Ib)
 
ArticulatedBodyInertia operator- (const ArticulatedBodyInertia &Ia, const ArticulatedBodyInertia &Ib)
 
ArticulatedBodyInertia operator- (const ArticulatedBodyInertia &Ia, const RigidBodyInertia &Ib)
 
Wrench operator* (const ArticulatedBodyInertia &I, const Twist &t)
 calculate spatial momentum: h = I*v make sure that the twist v and the inertia are expressed in the same reference frame/point
 
ArticulatedBodyInertia operator* (const Frame &T, const ArticulatedBodyInertia &I)
 Coordinate system transform Ia = T_a_b*Ib with T_a_b the frame from a to b.
 
ArticulatedBodyInertia operator* (const Rotation &R, const ArticulatedBodyInertia &I)
 Reference frame orientation change Ia = R_a_b*Ib with R_a_b the rotation of b expressed in a.
 

Detailed Description

6D Inertia of a articulated body

The inertia is defined in a certain reference point and a certain reference base. The reference point does not have to coincide with the origin of the reference frame.

Constructor & Destructor Documentation

◆ ArticulatedBodyInertia() [1/4]

KDL::ArticulatedBodyInertia::ArticulatedBodyInertia ( )
inline

This constructor creates a zero articulated body inertia matrix,.

References Zero().

Referenced by RefPoint(), and Zero().

◆ ArticulatedBodyInertia() [2/4]

KDL::ArticulatedBodyInertia::ArticulatedBodyInertia ( const RigidBodyInertia & rbi)

This constructor creates a cartesian space articulated body inertia matrix, the arguments is a rigid body inertia.

References KDL::RotationalInertia::data, H, KDL::RigidBodyInertia::h, I, KDL::RigidBodyInertia::I, M, and KDL::RigidBodyInertia::m.

◆ ArticulatedBodyInertia() [3/4]

KDL::ArticulatedBodyInertia::ArticulatedBodyInertia ( double m,
const Vector & oc = Vector::Zero(),
const RotationalInertia & Ic = RotationalInertia::Zero() )
explicit

This constructor creates a cartesian space inertia matrix, the arguments are the mass, the vector from the reference point to cog and the rotational inertia in the cog.

◆ ~ArticulatedBodyInertia()

KDL::ArticulatedBodyInertia::~ArticulatedBodyInertia ( )
inline

◆ ArticulatedBodyInertia() [4/4]

KDL::ArticulatedBodyInertia::ArticulatedBodyInertia ( const Eigen::Matrix3d & M,
const Eigen::Matrix3d & H,
const Eigen::Matrix3d & I )

References H, I, and M.

Member Function Documentation

◆ RefPoint()

ArticulatedBodyInertia KDL::ArticulatedBodyInertia::RefPoint ( const Vector & p)

Reference point change with v the vector from the old to the new point expressed in the current reference frame.

References ArticulatedBodyInertia(), H, I, and M.

◆ Zero()

static ArticulatedBodyInertia KDL::ArticulatedBodyInertia::Zero ( )
inlinestatic

Creates an inertia with zero mass, and zero RotationalInertia.

References ArticulatedBodyInertia().

Referenced by ArticulatedBodyInertia().

Friends And Related Symbol Documentation

◆ operator* [1/4]

Wrench operator* ( const ArticulatedBodyInertia & I,
const Twist & t )
friend

calculate spatial momentum: h = I*v make sure that the twist v and the inertia are expressed in the same reference frame/point

◆ operator* [2/4]

ArticulatedBodyInertia operator* ( const Frame & T,
const ArticulatedBodyInertia & I )
friend

Coordinate system transform Ia = T_a_b*Ib with T_a_b the frame from a to b.

◆ operator* [3/4]

ArticulatedBodyInertia operator* ( const Rotation & R,
const ArticulatedBodyInertia & I )
friend

Reference frame orientation change Ia = R_a_b*Ib with R_a_b the rotation of b expressed in a.

◆ operator* [4/4]

ArticulatedBodyInertia operator* ( double a,
const ArticulatedBodyInertia & I )
friend

Scalar product: I_new = double * I_old.

◆ operator+ [1/2]

ArticulatedBodyInertia operator+ ( const ArticulatedBodyInertia & Ia,
const ArticulatedBodyInertia & Ib )
friend

addition I: I_new = I_old1 + I_old2, make sure that I_old1 and I_old2 are expressed in the same reference frame/point, otherwise the result is worth nothing

◆ operator+ [2/2]

ArticulatedBodyInertia operator+ ( const ArticulatedBodyInertia & Ia,
const RigidBodyInertia & Ib )
friend

◆ operator- [1/2]

ArticulatedBodyInertia operator- ( const ArticulatedBodyInertia & Ia,
const ArticulatedBodyInertia & Ib )
friend

◆ operator- [2/2]

ArticulatedBodyInertia operator- ( const ArticulatedBodyInertia & Ia,
const RigidBodyInertia & Ib )
friend

Member Data Documentation

◆ H

Eigen::Matrix3d KDL::ArticulatedBodyInertia::H

◆ I

Eigen::Matrix3d KDL::ArticulatedBodyInertia::I

◆ M

Eigen::Matrix3d KDL::ArticulatedBodyInertia::M

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