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.
ConstantOrientation & setDefaultBaseRotation (const Rotation &)
ConstantOrientation & setDefaultFollowerRotation (const Rotation &)
MobilizedBodyIndex getBaseMobilizedBodyIndex () const
MobilizedBodyIndex getFollowerMobilizedBodyIndex () const
const Rotation & getDefaultBaseRotation () const
const Rotation & getDefaultFollowerRotation () const
const Rotation & getBaseRotation (const State &) const
const Rotation & getFollowerRotation (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