Skip to content
LIBRARY
tests.RevolutePendulumRef.md

tests.RevolutePendulumRef

Revolute Pendulum (reference for Spherical joint tests)

A pendulum using a Revolute joint with axis [0, 0, 1], used as a reference to verify the Spherical joint: a spherical pendulum started in a vertical plane with zero angular velocity stays in that plane and must follow the same trajectory as this revolute pendulum with matching initial deflection. The geometry (rod, body) matches SphericalPendulumQuatJoint and SphericalPendulumConstraint.

Usage

MultibodyComponents.tests.RevolutePendulumRef()

Behavior

Source

dyad
"""
# Revolute Pendulum (reference for Spherical joint tests)

A pendulum using a Revolute joint with axis [0, 0, 1], used as a reference
to verify the Spherical joint: a spherical pendulum started in a vertical
plane with zero angular velocity stays in that plane and must follow the
same trajectory as this revolute pendulum with matching initial deflection.
The geometry (rod, body) matches `SphericalPendulumQuatJoint` and
`SphericalPendulumConstraint`.
"""
example component RevolutePendulumRef
  world = MultibodyComponents.World() {}
  joint = MultibodyComponents.Revolute(n = [0, 0, 1]) {}
  rod = MultibodyComponents.FixedTranslation(r = [1.0, 0, 0]) {}
  body = MultibodyComponents.Body(m = 1) {}
relations
  connect(world.frame_b, joint.frame_a) {}
  connect(joint.frame_b, rod.frame_a) {}
  connect(rod.frame_b, body.frame_a) {}
end
Flattened Source
dyad
"""
# Revolute Pendulum (reference for Spherical joint tests)

A pendulum using a Revolute joint with axis [0, 0, 1], used as a reference
to verify the Spherical joint: a spherical pendulum started in a vertical
plane with zero angular velocity stays in that plane and must follow the
same trajectory as this revolute pendulum with matching initial deflection.
The geometry (rod, body) matches `SphericalPendulumQuatJoint` and
`SphericalPendulumConstraint`.
"""
example component RevolutePendulumRef
  world = MultibodyComponents.World() {}
  joint = MultibodyComponents.Revolute(n = [0, 0, 1]) {}
  rod = MultibodyComponents.FixedTranslation(r = [1.0, 0, 0]) {}
  body = MultibodyComponents.Body(m = 1) {}
relations
  connect(world.frame_b, joint.frame_a) {}
  connect(joint.frame_b, rod.frame_a) {}
  connect(rod.frame_b, body.frame_a) {}
metadata {}
end


Test Cases

No test cases defined.

  • Examples

  • Experiments

  • Analyses