This class stores a bodies mass, center of mass, and inertia information. The inertia elements are stored individually since the inertia matrix is a 3x3 symmetric matrix. The bodies inertia matrix, expressed about its center of mass, can be reconstructed as
The full RigidBodyInertia matrix has the following structure,
where
is a 3x3 identity matrix.
More...
#include <RigidBodyInertia.hpp>

Public Member Functions | |
| void | createFromMatrix (const SpatialMatrix &Ic) |
| Create a Math::RigidBodyInertia object from a 6x6 Math::SpatialMatrix. More... | |
| Matrix63 | multiplyMatrix63 (Matrix63 m) const |
| A helper method that returns a 6x3 matrix that is a Math::RigidBodyInertia multiplied by a 6x3 matrix. More... | |
| void | operator+= (const RigidBodyInertia &rbi) |
| Overloaded plus-equals operator. Adds two inertia matrices. More... | |
| RigidBodyInertia & | operator= (const RigidBodyInertia &other) |
| RigidBodyInertia () | |
| Constructor. More... | |
| RigidBodyInertia (double mass, const Vector3d &com_mass, const Matrix3d &inertia) | |
| Constructor. More... | |
| RigidBodyInertia (double m, const Vector3d &h, const double Ixx, const double Iyx, const double Iyy, const double Izx, const double Izy, const double Izz) | |
| Constructor. More... | |
| RigidBodyInertia (const RigidBodyInertia &inertia) | |
| Copy constructor. More... | |
| void | set (const RigidBodyInertia &I) |
| Setter. More... | |
| void | set (double m, const Vector3d &h, const double Ixx, const double Iyx, const double Iyy, const double Izx, const double Izy, const double Izz) |
| Setter. More... | |
| void | setSpatialMatrix (SpatialMatrix &mat) const |
| Store a Math::RigidBodyInertia in the Math::SpatialMatrix. More... | |
| SpatialMatrix | subtractSpatialMatrix (const SpatialMatrix &m) const |
Given Math::RigidBodyInertia ad Math::SpatialMatrix , returns Math::SpatialMatrix such that . More... | |
| SpatialVector | timesSpatialVector (const SpatialVector &v) const |
| Multiply a Math::RigidBodyInertia by a Math::SpatialVector and return the result as a new Math::SpatialVector. More... | |
| SpatialMatrix | toMatrix () const |
| void | transform (const SpatialTransform &X) |
| Transform a Math::RigidBodyInertia matrix. More... | |
| RigidBodyInertia | transform_copy (const SpatialTransform &X) const |
| Copy, transform, and return a Math::RigidBodyInertia. More... | |
Public Attributes | |
| Vector3d | h |
| double | Ixx |
| double | Iyx |
| double | Iyy |
| double | Izx |
| double | Izy |
| double | Izz |
| double | m |
This class stores a bodies mass, center of mass, and inertia information. The inertia elements are stored individually since the inertia matrix is a 3x3 symmetric matrix. The bodies inertia matrix, expressed about its center of mass, can be reconstructed as
The full RigidBodyInertia matrix has the following structure,
where
is a 3x3 identity matrix.
Definition at line 45 of file RigidBodyInertia.hpp.
|
inline |
Constructor.
Definition at line 51 of file RigidBodyInertia.hpp.
|
inline |
Constructor.
| mass | Body mass |
| com_mass | Vector pointing to center of mass scaled by the body mass |
| inertia | 3x3 Inertia tensor about the bodies center of mass |
Definition at line 61 of file RigidBodyInertia.hpp.
|
inline |
Constructor.
| m | Body mass |
| h | Vector pointing to center of mass scaled by the body mass |
| Ixx | |
| Iyx | |
| Iyy | |
| Izx | |
| Izy | |
| Izz |
Definition at line 77 of file RigidBodyInertia.hpp.
|
inline |
| void RobotDynamics::Math::RigidBodyInertia::createFromMatrix | ( | const SpatialMatrix & | Ic | ) |
Create a Math::RigidBodyInertia object from a 6x6 Math::SpatialMatrix.
| Ic |
Definition at line 90 of file RigidBodyInertia.cpp.
A helper method that returns a 6x3 matrix that is a Math::RigidBodyInertia multiplied by a 6x3 matrix.
| m |
Definition at line 199 of file RigidBodyInertia.hpp.
| void RobotDynamics::Math::RigidBodyInertia::operator+= | ( | const RigidBodyInertia & | rbi | ) |
Overloaded plus-equals operator. Adds two inertia matrices.
| rbi |
Definition at line 14 of file RigidBodyInertia.cpp.
|
inline |
Definition at line 207 of file RigidBodyInertia.hpp.
|
inline |
|
inline |
Setter.
| m | Body mass |
| h | Vector pointing to center of mass scaled by the body mass |
| Ixx | |
| Iyx | |
| Iyy | |
| Izx | |
| Izy | |
| Izz |
Definition at line 111 of file RigidBodyInertia.hpp.
| void RobotDynamics::Math::RigidBodyInertia::setSpatialMatrix | ( | SpatialMatrix & | mat | ) | const |
Store a Math::RigidBodyInertia in the Math::SpatialMatrix.
| mat | Modified to store a Math::RigidBodyInertia in the Math::SpatialMatrix |
Definition at line 122 of file RigidBodyInertia.cpp.
|
inline |
Given Math::RigidBodyInertia
ad Math::SpatialMatrix
, returns Math::SpatialMatrix
such that
.
| m |
Definition at line 173 of file RigidBodyInertia.hpp.
|
inline |
Multiply a Math::RigidBodyInertia by a Math::SpatialVector and return the result as a new Math::SpatialVector.
| v |
Definition at line 187 of file RigidBodyInertia.hpp.
| SpatialMatrix RobotDynamics::Math::RigidBodyInertia::toMatrix | ( | ) | const |
Get a Math::RigidBodyInertia as a 6x6 Math::SpatialMatrix
Definition at line 102 of file RigidBodyInertia.cpp.
|
virtual |
Transform a Math::RigidBodyInertia matrix.
| X |
Implements RobotDynamics::Math::TransformableGeometricObject.
Definition at line 26 of file RigidBodyInertia.cpp.
|
inline |
Copy, transform, and return a Math::RigidBodyInertia.
| X |
Definition at line 141 of file RigidBodyInertia.hpp.
| Vector3d RobotDynamics::Math::RigidBodyInertia::h |
Vector pointing to body center of mass in body frame, scaled by body mass
Definition at line 222 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::Ixx |
Element in body's inertia matrix
Definition at line 224 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::Iyx |
Element in body's inertia matrix
Definition at line 225 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::Iyy |
Element in body's inertia matrix
Definition at line 226 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::Izx |
Element in body's inertia matrix
Definition at line 227 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::Izy |
Element in body's inertia matrix
Definition at line 228 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::Izz |
Element in body's inertia matrix
Definition at line 229 of file RigidBodyInertia.hpp.
| double RobotDynamics::Math::RigidBodyInertia::m |
Mass
Definition at line 220 of file RigidBodyInertia.hpp.