dynkin::rigidbody::RigidBody struct

Representing an ideal rigid body.

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

double dynkin::rigidbody::RigidBody::mass()

Returns the mass of this rigid body.

Returns Mass

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)