Ravelin
|
A 6x6 spatial algebra matrix typically used for dynamics calculations. More...
#include <SpatialABInertia.h>
Public Member Functions | |
SPATIAL_AB_INERTIA (boost::shared_ptr< const POSE3 > pose=boost::shared_ptr< const POSE3 >()) | |
SPATIAL_AB_INERTIA (boost::shared_ptr< POSE3 > pose) | |
SPATIAL_AB_INERTIA (const MATRIX3 &M, const MATRIX3 &H, const MATRIX3 &J, boost::shared_ptr< const POSE3 > pose=boost::shared_ptr< const POSE3 >()) | |
SPATIAL_AB_INERTIA (const MATRIX3 &M, const MATRIX3 &H, const MATRIX3 &J, boost::shared_ptr< POSE3 > pose=boost::shared_ptr< POSE3 >()) | |
SPATIAL_AB_INERTIA (const SPATIAL_AB_INERTIA &source) | |
SPATIAL_AB_INERTIA (const SPATIAL_RB_INERTIA &source) | |
void | set_zero () |
Creates a zero matrix. | |
SACCEL | inverse_mult (const SFORCE &f) const |
Multiplies the inverse of this spatial AB inertia by a force to yield an acceleration. | |
SVELOCITY | inverse_mult (const SMOMENTUM &m) const |
Multiplies the inverse of this spatial RB inertia by a momentum to yield a velocity. | |
std::vector< SACCEL > & | inverse_mult (const std::vector< SFORCE > &w, std::vector< SACCEL > &result) const |
SPATIAL_AB_INERTIA & | operator= (const SPATIAL_RB_INERTIA &source) |
Copies a spatial RB inertia to this one. | |
SPATIAL_AB_INERTIA & | operator= (const SPATIAL_AB_INERTIA &source) |
Copies a spatial AB inertia to this one. | |
SPATIAL_AB_INERTIA & | operator+= (const SPATIAL_AB_INERTIA &m) |
Adds m to this in place. | |
SPATIAL_AB_INERTIA & | operator-= (const SPATIAL_AB_INERTIA &m) |
Subtracts m from this in place. | |
SPATIAL_AB_INERTIA & | operator*= (const SPATIAL_AB_INERTIA &m) |
SPATIAL_AB_INERTIA & | operator*= (REAL scalar) |
Multiplies this matrix by a scalar in place. | |
SPATIAL_AB_INERTIA & | operator/= (REAL scalar) |
SPATIAL_RB_INERTIA | to_rb_inertia () const |
Converts this matrix to a spatial RB inertia. | |
SPATIAL_AB_INERTIA | operator+ (const SPATIAL_RB_INERTIA &m) const |
Adds a spatial articulated body inertia and a spatial rigid body inertia. | |
SPATIAL_AB_INERTIA & | operator+= (const SPATIAL_RB_INERTIA &m) |
SPATIAL_AB_INERTIA | operator+ (const SPATIAL_AB_INERTIA &m) const |
Adds two spatial matrices. | |
SPATIAL_AB_INERTIA | operator- (const SPATIAL_AB_INERTIA &m) const |
Subtracts two spatial matrices. | |
SPATIAL_AB_INERTIA | operator* (const SPATIAL_AB_INERTIA &m) const |
SPATIAL_AB_INERTIA | operator* (REAL scalar) const |
SPATIAL_AB_INERTIA | operator/ (REAL scalar) const |
SFORCE | operator* (const SACCEL &s) const |
SFORCE | mult (const SACCEL &s) const |
Multiplies this matrix by an acceleration and returns the result in a force. | |
std::vector< SFORCE > & | mult (const std::vector< SACCEL > &s, std::vector< SFORCE > &result) const |
SMOMENTUM | operator* (const SVELOCITY &s) const |
SMOMENTUM | mult (const SVELOCITY &s) const |
Multiplies this matrix by a velocity and returns the result in a momentum. | |
std::vector< SMOMENTUM > & | mult (const std::vector< SVELOCITY > &s, std::vector< SMOMENTUM > &result) const |
SPATIAL_AB_INERTIA | operator- () const |
Returns the negation of this matrix. | |
template<class Mat > | |
Mat & | to_matrix (Mat &m) const |
Static Public Member Functions | |
static SPATIAL_AB_INERTIA | zero () |
static SPATIAL_AB_INERTIA | inverse_inertia (const SPATIAL_AB_INERTIA &I) |
template<class Mat > | |
static SPATIAL_AB_INERTIA | from_matrix (const Mat &m, boost::shared_ptr< const POSE3 > pose=boost::shared_ptr< const POSE3 >()) |
template<class Mat > | |
static SPATIAL_AB_INERTIA | from_matrix (const Mat &m, boost::shared_ptr< POSE3 > pose=boost::shared_ptr< POSE3 >()) |
Public Attributes | |
MATRIX3 | H |
The lower right hand matrix 'H' (and transpose of upper left matrix) | |
MATRIX3 | J |
The lower left matrix. | |
MATRIX3 | M |
The upper right matrix. | |
boost::shared_ptr< const POSE3 > | pose |
The pose that this inertia is defined in. | |
A 6x6 spatial algebra matrix typically used for dynamics calculations.
Note: this representation differs from Featherstone's new spatial AB inertia representation: | H' M | | J H |