RigidBody struct
#include <dynkin/dynkin.hpp>
Representing an ideal rigid body.
Contents
Constructors, destructors, conversion operators
-
RigidBody(const Eigen::
Matrix6d inertia, const Eigen::Vector3d& cog = Eigen::Vector3d::Zero()) - Construct a new Rigid Body object.
Public functions
- auto mass() -> double
- Returns the mass of this rigid body.
-
auto coriolis_centripetal_matrix(const Eigen::
Matrix6d inertia, const Eigen:: Vector6d twist) -> Eigen:: Matrix6d - Assemble Coriolis-Centripetal Matrix.
-
auto generalized_coordinates() -> Eigen::
Vector6d - Generalized coordinates of this rigid body [x, y, z, fi, theta, psi].
-
auto generalized_velocities() -> Eigen::
Vector6d - Generalized velocities of this rigid body [dx, dy, dz, dfi, dtheta, dpsi].
-
auto acceleration(const Eigen::
Vector6d& wrench, const Eigen:: Matrix6d& additional_inertia = Eigen::Matrix6d::Zero()) -> Eigen:: Vector6d - Returns the resulting acceleration from the given wrench.
-
auto wrench(const Eigen::
Vector6d& acceleration, const Eigen:: Matrix6d& additional_inertia = Eigen::Matrix6d::Zero()) -> Eigen:: Vector6d - Returns the required wrench to obtain the given acceleration.
Function documentation
dynkin:: rigidbody:: RigidBody:: RigidBody(const Eigen:: Matrix6d inertia,
const Eigen::Vector3d& cog = Eigen::Vector3d::Zero())
Construct a new Rigid Body object.
| Parameters | |
|---|---|
| inertia | Generalized Inertia of the rigid body (6x6) |
| cog | Position vector relating the origin and the CoG of the (3x1) rigid body |
Eigen:: Matrix6d dynkin:: rigidbody:: RigidBody:: coriolis_centripetal_matrix(const Eigen:: Matrix6d inertia,
const Eigen:: Vector6d twist)
Assemble Coriolis-Centripetal Matrix.
| Parameters | |
|---|---|
| inertia | Generalized Inertia Matrix of rigid body (6x6) |
| twist | Twist of rigid body (3x1) |
| Returns | Coriolis-Centripetal Matrix (6x6) |
Eigen:: Vector6d dynkin:: rigidbody:: RigidBody:: generalized_coordinates()
Generalized coordinates of this rigid body [x, y, z, fi, theta, psi].
| Returns | Generalized coordinates (6x1) |
|---|
Eigen:: Vector6d dynkin:: rigidbody:: RigidBody:: generalized_velocities()
Generalized velocities of this rigid body [dx, dy, dz, dfi, dtheta, dpsi].
| Returns | Generalized velocities (6x1) |
|---|
Eigen:: Vector6d dynkin:: rigidbody:: RigidBody:: acceleration(const Eigen:: Vector6d& wrench,
const Eigen:: Matrix6d& additional_inertia = Eigen::Matrix6d::Zero())
Returns the resulting acceleration from the given wrench.
| Parameters | |
|---|---|
| wrench | Wrench acting on the rigid body (6x1) |
| additional_inertia | Inertia in addition to the inertia of this rigid body that should be accelerated (6x6) |
| Returns | Acceleration (6x1) |
Eigen:: Vector6d dynkin:: rigidbody:: RigidBody:: wrench(const Eigen:: Vector6d& acceleration,
const Eigen:: Matrix6d& additional_inertia = Eigen::Matrix6d::Zero())
Returns the required wrench to obtain the given acceleration.
| Parameters | |
|---|---|
| acceleration | Given acceleration (6x1) |
| additional_inertia | Inertia in addition to the inertia of this rigid body that should be accelerated (6x6) |
| Returns | Wrench (6x1) |