Robot Dynamics Library
|
Describes all properties of a single body. More...
#include <Body.hpp>
Public Member Functions | |
Body () | |
Body (const Body &body) | |
Body & | operator= (const Body &body) |
Body (const double &mass, const Math::Vector3d &com, const Math::Vector3d &gyration_radii, const Math::Vector3d ¢erOfBuoyancy, const double volume, const Math::SpatialMatrix &addedMassMatrix, const DragData &dragData) | |
Constructs a body from mass, center of mass, radii of gyration, the center of buoyancy, added mass matrix, drag data, and the volume taken up by the body. More... | |
Body (const double &mass, const Math::Vector3d &com, const Math::Vector3d &gyration_radii, const Math::Vector3d ¢erOfBuoyancy, const double volume, const Math::SpatialMatrix &addedMassMatrix) | |
Constructs a body from mass, center of mass, radii of gyration, the center of buoyancy, and hydrodynamic parameters. More... | |
Body (const double &mass, const Math::Vector3d &com, const Math::Vector3d &gyration_radii) | |
Constructs a body from mass, center of mass, radii of gyration. Hydrodynamic terms are set such that they will have no effect on the dynamics. More... | |
Body (const double &mass, const Math::Vector3d &com, const Math::Matrix3d &inertia_C, const Math::Vector3d ¢erOfBuoyancy, const double volume, const Math::SpatialMatrix &addedMassMatrix, const DragData &dragData) | |
Constructs a body from mass, center of mass, a 3x3 inertia matrix, the center of buoyancy, and hydrodynamic parameters. More... | |
Body (const double &mass, const Math::Vector3d &com, const Math::Matrix3d &inertia_C, const Math::Vector3d ¢erOfBuoyancy, const double volume, const Math::SpatialMatrix addedMassMatrix) | |
Constructs a body from mass, center of mass, a 3x3 inertia matrix, the center of buoyancy, and hydrodynamic parameters. More... | |
Body (const double &mass, const Math::Vector3d &com, const Math::Matrix3d &inertia_C) | |
Constructs a body from mass, center of mass, a 3x3 inertia matrix. Hydrodynamic terms are set such that they will have no dynamic effects. More... | |
void | join (const Math::SpatialTransform &transform, const Body &other_body) |
Joins inertial parameters of two bodies to create a composite body. More... | |
~Body () | |
Public Attributes | |
double | mMass |
The mass of the body. More... | |
Math::Vector3d | mCenterOfMass |
The position of the center of mass in body coordinates. More... | |
Math::Matrix3d | mInertia |
Inertia matrix at the center of mass. More... | |
double | volume |
Math::Vector3d | mCenterOfBuoyancy |
Math::SpatialMatrix | addedMassMatrix |
DragData | dragData |
bool | mIsVirtual |
Describes all properties of a single body.
A Body contains information about mass, the location of its center of mass, the ineria tensor in the center of mass as well as information for hydrodynamics such as center of buoyancy, volume, and shape parameters for modeling fluid added mass/drag effects. This class is designed to use the given information and transform it such that it can directly be used by the spatial algebra.
|
inline |
|
inline |
|
inline |
Constructs a body from mass, center of mass, radii of gyration, the center of buoyancy, added mass matrix, drag data, and the volume taken up by the body.
This constructor eases the construction of a new body as all the required parameters can be specified as parameters to the constructor. These are then used to generate the spatial inertia matrix which is expressed at the origin.
mass | the mass of the body |
com | the position of the center of mass in the bodies coordinates |
gyration_radii | the radii of gyration at the center of mass of the body |
centerOfBuoyancy | The center of buoyancy for the body |
volume | The volume taken up by the body |
addedMassMatrix | The hydrodynamic added mass matrix |
dragData | Hydrodynamic drag data struct for the body |
|
inline |
Constructs a body from mass, center of mass, radii of gyration, the center of buoyancy, and hydrodynamic parameters.
This constructor eases the construction of a new body as all the required parameters can be specified as parameters to the constructor. These are then used to generate the spatial inertia matrix which is expressed at the origin.
mass | the mass of the body |
com | the position of the center of mass in the bodies coordinates |
gyration_radii | the radii of gyration at the center of mass of the body |
centerOfBuoyancy | The center of buoyancy for the body |
volume | The volume taken up by the body |
addedMassMatrix | The hydrodynamic added mass matrix for the body |
|
inline |
Constructs a body from mass, center of mass, radii of gyration. Hydrodynamic terms are set such that they will have no effect on the dynamics.
This constructor eases the construction of a new body as all the required parameters can be specified as parameters to the constructor. These are then used to generate the spatial inertia matrix which is expressed at the origin.
mass | the mass of the body |
com | the position of the center of mass in the bodies coordinates |
gyration_radii | the radii of gyration at the center of mass of the body |
|
inline |
Constructs a body from mass, center of mass, a 3x3 inertia matrix, the center of buoyancy, and hydrodynamic parameters.
This constructor eases the construction of a new body as all the required parameters can simply be specified as parameters to the constructor. These are then used to generate the spatial inertia matrix which is expressed at the origin.
mass | the mass of the body |
com | the position of the center of mass in the bodies coordinates |
inertia_C | the inertia at the center of mass |
centerOfBuoyancy | The center of buoyancy for the body |
volume | The volume taken up by the body |
addedMassMatrix | Hydrodynamic added mass matrix for the body |
dragData | The drag data for this body |
|
inline |
Constructs a body from mass, center of mass, a 3x3 inertia matrix, the center of buoyancy, and hydrodynamic parameters.
This constructor eases the construction of a new body as all the required parameters can simply be specified as parameters to the constructor. These are then used to generate the spatial inertia matrix which is expressed at the origin.
mass | the mass of the body |
com | the position of the center of mass in the bodies coordinates |
inertia_C | the inertia at the center of mass |
centerOfBuoyancy | The center of buoyancy for the body |
volume | The volume taken up by the body |
addedMassMatrix | The hydrodynamic added mass matrix for the body |
|
inline |
Constructs a body from mass, center of mass, a 3x3 inertia matrix. Hydrodynamic terms are set such that they will have no dynamic effects.
This constructor eases the construction of a new body as all the required parameters can simply be specified as parameters to the constructor. These are then used to generate the spatial inertia matrix which is expressed at the origin.
mass | the mass of the body |
com | the position of the center of mass in the bodies coordinates |
inertia_C | the inertia at the center of mass |
|
inline |
|
inline |
Joins inertial parameters of two bodies to create a composite body.
This function can be used to join inertial parameters of two bodies to create a composite body that has the inertial properties as if the two bodies were joined by a fixed joint.
transform | The frame transformation from the origin of the original body to the origin of the added body |
other_body | The other body that will be merged with *this. |
Math::SpatialMatrix RobotDynamics::Body::addedMassMatrix |
The hydrodynamic added mass for the body
DragData RobotDynamics::Body::dragData |
The hydrodynamic drag data for the body
Math::Vector3d RobotDynamics::Body::mCenterOfBuoyancy |
Center of buoyancy for a body
Math::Vector3d RobotDynamics::Body::mCenterOfMass |
The position of the center of mass in body coordinates.
Math::Matrix3d RobotDynamics::Body::mInertia |
Inertia matrix at the center of mass.
bool RobotDynamics::Body::mIsVirtual |
double RobotDynamics::Body::mMass |
The mass of the body.
double RobotDynamics::Body::volume |
Volume taken up by body.