LIBRARY
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) {}
endFlattened 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 {}
endTest Cases
No test cases defined.
Related
Examples
Experiments
Analyses