Simbody  3.4 (development)
SimTK::Constraint::ConstantOrientation Class Reference

Three constraint equations. More...

#include <Constraint.h>

+ Inheritance diagram for SimTK::Constraint::ConstantOrientation:

List of all members.

Public Member Functions

 ConstantOrientation (MobilizedBody &baseBody_B, const Rotation &defaultRB, MobilizedBody &followerBody_F, const Rotation &defaultRF)
 ConstantOrientation ()
 Default constructor creates an empty handle.
ConstantOrientationsetDefaultBaseRotation (const Rotation &)
ConstantOrientationsetDefaultFollowerRotation (const Rotation &)
MobilizedBodyIndex getBaseMobilizedBodyIndex () const
MobilizedBodyIndex getFollowerMobilizedBodyIndex () const
const RotationgetDefaultBaseRotation () const
const RotationgetDefaultFollowerRotation () const
const RotationgetBaseRotation (const State &) const
const RotationgetFollowerRotation (const State &) const
Vec3 getPositionErrors (const State &) const
Vec3 getVelocityErrors (const State &) const
Vec3 getAccelerationErrors (const State &) const
Vec3 getMultipliers (const State &) const
Vec3 getTorqueOnFollowerBody (const State &) const

Detailed Description

Three constraint equations.

This constraint enforces that a reference frame fixed to one body (the "follower body") must have the same orientation as another reference frame fixed on another body (the "base body"). That is, we have three constraint equations that collectively prohibit any relative rotation between the base and follower. The run time equations we use are just three "constant angle" constraints enforcing perpendicularity between follower's x,y,z axes with the base y,z,x axes respectively.

This constraint is enforced by an internal (non-working) torque vector applied equal and opposite on each body.

TODO: The assembly condition is not the same as the run-time constraint, because the perpendicularity conditions can be satisfied with antiparallel axes. For assembly we must have additional (redundant) constraints requiring parallel axes.


Constructor & Destructor Documentation

SimTK::Constraint::ConstantOrientation::ConstantOrientation ( MobilizedBody baseBody_B,
const Rotation defaultRB,
MobilizedBody followerBody_F,
const Rotation defaultRF 
)

Default constructor creates an empty handle.


Member Function Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines