Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
RigidBodyTypes.hpp
Go to the documentation of this file.
1// Vulcan Rigid Body Dynamics Types
2// State, derivative, and mass property structures for 6DOF simulation
3#pragma once
4
7
8#include <janus/math/Quaternion.hpp>
9
10// =============================================================================
11// State Structures
12// =============================================================================
13
14namespace vulcan::dynamics {
15
16// Import MassProperties from mass namespace for backward compatibility
18using vulcan::mass::MassProperties;
20
24template <typename Scalar> struct RigidBodyState {
25 Vec3<Scalar> position;
26 Vec3<Scalar> velocity_body;
27 janus::Quaternion<Scalar> attitude;
28 Vec3<Scalar> omega_body;
29};
30
32template <typename Scalar> struct RigidBodyDerivatives {
33 Vec3<Scalar> position_dot;
34 Vec3<Scalar> velocity_dot;
35 janus::Quaternion<Scalar> attitude_dot;
36 Vec3<Scalar> omega_dot;
37};
38
39} // namespace vulcan::dynamics
Definition Guided5Dof.hpp:13
MassProperties< Scalar > transform_mass_properties(const MassProperties< Scalar > &props, const Mat3< Scalar > &rotation, const Vec3< Scalar > &translation)
Definition MassProperties.hpp:370
MassProperties< Scalar > aggregate_mass_properties(const std::vector< MassProperties< Scalar > > &components)
Definition MassProperties.hpp:347
Time derivatives of rigid body state.
Definition RigidBodyTypes.hpp:32
Vec3< Scalar > position_dot
Velocity in reference frame [m/s].
Definition RigidBodyTypes.hpp:33
janus::Quaternion< Scalar > attitude_dot
Quaternion rate.
Definition RigidBodyTypes.hpp:35
Vec3< Scalar > velocity_dot
Acceleration in body frame [m/s²].
Definition RigidBodyTypes.hpp:34
Vec3< Scalar > omega_dot
Angular accel in body frame [rad/s²].
Definition RigidBodyTypes.hpp:36
Definition RigidBodyTypes.hpp:24
Vec3< Scalar > velocity_body
Velocity in body frame [m/s].
Definition RigidBodyTypes.hpp:26
Vec3< Scalar > position
Position in reference frame [m].
Definition RigidBodyTypes.hpp:25
Vec3< Scalar > omega_body
Angular velocity in body frame [rad/s].
Definition RigidBodyTypes.hpp:28
janus::Quaternion< Scalar > attitude
Body-to-reference quaternion.
Definition RigidBodyTypes.hpp:27