Skip to content
LIBRARY
tests.SphericalFreeSpin.md

tests.SphericalFreeSpin

Spherical Free Spin (zero gravity)

A body attached directly to a Spherical joint in a world without gravity. The joint is stateless; the Body carries the orientation state as a quaternion and starts with a nonzero angular velocity. The body sits at the pivot with isotropic inertia, so it is torque-free and its angular velocity must remain constant — verifying that the Spherical joint transmits no torque. (The quaternion-in-joint variant of Spherical pins the initial angular velocity to zero, hence the state lives in the Body here.)

Usage

MultibodyComponents.tests.SphericalFreeSpin()

Behavior

Source

dyad
"""
# Spherical Free Spin (zero gravity)

A body attached directly to a Spherical joint in a world without gravity.
The joint is stateless; the Body carries the orientation state as a
quaternion and starts with a nonzero angular velocity. The body sits at the
pivot with isotropic inertia, so it is torque-free and its angular velocity
must remain constant — verifying that the Spherical joint transmits no
torque. (The quaternion-in-joint variant of Spherical pins the initial
angular velocity to zero, hence the state lives in the Body here.)
"""
example component SphericalFreeSpin
  world = MultibodyComponents.World(g = 0) {}
  joint = MultibodyComponents.Spherical(orientation_state = OrientationState.None()) {}
  body = MultibodyComponents.Body(m = 1, orientation_state = OrientationState.Quaternion(), w_a(initial = [1.0, 2.0, 3.0]), r_0(initial = missing), v_0(initial = missing)) {}
relations
  connect(world.frame_b, joint.frame_a) {}
  connect(joint.frame_b, body.frame_a) {}
end
Flattened Source
dyad
"""
# Spherical Free Spin (zero gravity)

A body attached directly to a Spherical joint in a world without gravity.
The joint is stateless; the Body carries the orientation state as a
quaternion and starts with a nonzero angular velocity. The body sits at the
pivot with isotropic inertia, so it is torque-free and its angular velocity
must remain constant — verifying that the Spherical joint transmits no
torque. (The quaternion-in-joint variant of Spherical pins the initial
angular velocity to zero, hence the state lives in the Body here.)
"""
example component SphericalFreeSpin
  world = MultibodyComponents.World(g = 0) {}
  joint = MultibodyComponents.Spherical(orientation_state = OrientationState.None()) {}
  body = MultibodyComponents.Body(m = 1, orientation_state = OrientationState.Quaternion(), w_a(initial = [1.0, 2.0, 3.0]), r_0(initial = missing), v_0(initial = missing)) {}
relations
  connect(world.frame_b, joint.frame_a) {}
  connect(joint.frame_b, body.frame_a) {}
metadata {}
end


Test Cases

No test cases defined.

  • Examples

  • Experiments

  • Analyses