|
Simbody
3.6
|
This is a Constraint that uses a Function to prescribe the behavior of a single generalized coordinate as a function of time. More...
Inheritance diagram for SimTK::Constraint::PrescribedMotion:Public Member Functions | |
| PrescribedMotion (SimbodyMatterSubsystem &matter, const Function *function, MobilizedBodyIndex coordBody, MobilizerQIndex coordIndex) | |
| Create a PrescribedMotion constraint. More... | |
| PrescribedMotion () | |
| Default constructor creates an empty handle. More... | |
Public Member Functions inherited from SimTK::Constraint::Custom | |
| Custom (Implementation *implementation) | |
| Create a Custom Constraint. More... | |
| Custom () | |
| Default constructor creates an empty handle. More... | |
| SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Custom, CustomImpl, Constraint) | |
Public Member Functions inherited from SimTK::Constraint | |
| Constraint () | |
| Default constructor creates an empty Constraint handle that can be used to reference any Constraint. More... | |
| Constraint (ConstraintImpl *r) | |
| For internal use: construct a new Constraint handle referencing a particular implementation object. More... | |
| void | disable (State &) const |
| Disable this Constraint, effectively removing it from the system. More... | |
| void | enable (State &) const |
| Enable this Constraint, without necessarily satisfying it. More... | |
| bool | isDisabled (const State &) const |
| Test whether this constraint is currently disabled in the supplied State. More... | |
| bool | isDisabledByDefault () const |
| Test whether this Constraint is disabled by default in which case it must be explicitly enabled before it will take effect. More... | |
| void | setDisabledByDefault (bool shouldBeDisabled) |
| Normally Constraints are enabled when defined and can be disabled later. More... | |
| operator ConstraintIndex () const | |
| This is an implicit conversion from Constraint to ConstraintIndex when needed. More... | |
| const SimbodyMatterSubsystem & | getMatterSubsystem () const |
| Get a const reference to the matter subsystem that contains this Constraint. More... | |
| SimbodyMatterSubsystem & | updMatterSubsystem () |
| Assuming you have writable access to this Constraint, get a writable reference to the containing matter subsystem. More... | |
| ConstraintIndex | getConstraintIndex () const |
| Get the ConstraintIndex that was assigned to this Constraint when it was added to the matter subsystem. More... | |
| bool | isInSubsystem () const |
| Test whether this Constraint is contained within a matter subsystem. More... | |
| bool | isInSameSubsystem (const MobilizedBody &mobod) const |
| Test whether the supplied MobilizedBody is in the same matter subsystem as this Constraint. More... | |
| int | getNumConstrainedBodies () const |
| Return the number of unique bodies directly restricted by this constraint. More... | |
| const MobilizedBody & | getMobilizedBodyFromConstrainedBody (ConstrainedBodyIndex consBodyIx) const |
| Return a const reference to the actual MobilizedBody corresponding to one of the Constrained Bodies included in the count returned by getNumConstrainedBodies(). More... | |
| const MobilizedBody & | getAncestorMobilizedBody () const |
| Return a const reference to the actual MobilizedBody which is serving as the Ancestor body for the constrained bodies in this Constraint. More... | |
| int | getNumConstrainedMobilizers () const |
| Return the number of unique mobilizers directly restricted by this Constraint. More... | |
| const MobilizedBody & | getMobilizedBodyFromConstrainedMobilizer (ConstrainedMobilizerIndex consMobilizerIx) const |
| Return a const reference to the actual MobilizedBody corresponding to one of the Constrained Mobilizers included in the count returned by getNumConstrainedMobilizers(). More... | |
| const SimbodyMatterSubtree & | getSubtree () const |
| Return a subtree object indicating which parts of the multibody tree are potentially affected by this Constraint. More... | |
| int | getNumConstrainedQ (const State &, ConstrainedMobilizerIndex) const |
| Return the number of constrainable generalized coordinates q associated with a particular constrained mobilizer. More... | |
| int | getNumConstrainedU (const State &, ConstrainedMobilizerIndex) const |
| Return the number of constrainable mobilities u associated with a particular constrained mobilizer. More... | |
| ConstrainedUIndex | getConstrainedUIndex (const State &, ConstrainedMobilizerIndex, MobilizerUIndex which) const |
| Return the index into the constrained mobilities u array corresponding to a particular mobility of the indicated ConstrainedMobilizer. More... | |
| ConstrainedQIndex | getConstrainedQIndex (const State &, ConstrainedMobilizerIndex, MobilizerQIndex which) const |
| Return the index into the constrained coordinates q array corresponding to a particular coordinate of the indicated ConstrainedMobilizer. More... | |
| int | getNumConstrainedQ (const State &) const |
| Return the sum of the number of coordinates q associated with each of the constrained mobilizers. More... | |
| int | getNumConstrainedU (const State &) const |
| Return the sum of the number of mobilities u associated with each of the constrained mobilizers. More... | |
| QIndex | getQIndexOfConstrainedQ (const State &state, ConstrainedQIndex consQIndex) const |
| Map one of this Constraint's constrained q's to the corresponding index within the matter subsystem's whole q vector. More... | |
| UIndex | getUIndexOfConstrainedU (const State &state, ConstrainedUIndex consUIndex) const |
| Map one of this Constraint's constrained U's (or mobilities) to the corresponding index within the matter subsystem's whole u vector. More... | |
| void | getNumConstraintEquationsInUse (const State &state, int &mp, int &mv, int &ma) const |
| Find out how many holonomic (position), nonholonomic (velocity), and acceleration-only constraint equations are currently being generated by this Constraint. More... | |
| void | getIndexOfMultipliersInUse (const State &state, MultiplierIndex &px0, MultiplierIndex &vx0, MultiplierIndex &ax0) const |
| Return the start of the blocks of multipliers (or acceleration errors) assigned to this Constraint. More... | |
| void | setMyPartInConstraintSpaceVector (const State &state, const Vector &myPart, Vector &constraintSpace) const |
| Set the part of a complete constraint-space vector that belongs to this constraint. More... | |
| void | getMyPartFromConstraintSpaceVector (const State &state, const Vector &constraintSpace, Vector &myPart) const |
| Get the part of a complete constraint-space vector that belongs to this constraint. More... | |
| Vector | getPositionErrorsAsVector (const State &) const |
| Get a Vector containing the position errors. More... | |
| Vector | calcPositionErrorFromQ (const State &, const Vector &q) const |
| Matrix | calcPositionConstraintMatrixP (const State &) const |
| Matrix | calcPositionConstraintMatrixPt (const State &) const |
| Matrix | calcPositionConstraintMatrixPNInv (const State &) const |
| void | calcConstraintForcesFromMultipliers (const State &, const Vector &lambda, Vector_< SpatialVec > &bodyForcesInA, Vector &mobilityForces) const |
| This operator calculates this constraint's body and mobility forces given the complete set of multipliers lambda for this Constraint. More... | |
| Vector | getVelocityErrorsAsVector (const State &) const |
| Get a Vector containing the velocity errors. More... | |
| Vector | calcVelocityErrorFromU (const State &, const Vector &u) const |
| Matrix | calcVelocityConstraintMatrixV (const State &) const |
| Matrix | calcVelocityConstraintMatrixVt (const State &) const |
| Vector | getAccelerationErrorsAsVector (const State &) const |
| Get a Vector containing the acceleration errors. More... | |
| Vector | calcAccelerationErrorFromUDot (const State &, const Vector &udot) const |
| Vector | getMultipliersAsVector (const State &) const |
| Get a Vector containing the Lagrange multipliers. More... | |
| void | getConstraintForcesAsVectors (const State &state, Vector_< SpatialVec > &bodyForcesInG, Vector &mobilityForces) const |
| Given a State realized through Acceleration stage, return the forces that were applied to the system by this Constraint, with body forces expressed in Ground. More... | |
| Vector_< SpatialVec > | getConstrainedBodyForcesAsVector (const State &state) const |
| For convenience, returns constrained body forces as the function return. More... | |
| Vector | getConstrainedMobilityForcesAsVector (const State &state) const |
| For convenience, returns constrained mobility forces as the function return. More... | |
| Real | calcPower (const State &state) const |
| Calculate the power being applied by this Constraint to the system. More... | |
| Matrix | calcAccelerationConstraintMatrixA (const State &) const |
| Matrix | calcAccelerationConstraintMatrixAt (const State &) const |
| void | setIsConditional (bool isConditional) |
| (Advanced) Mark this constraint as one that is only conditionally active. More... | |
| bool | isConditional () const |
| (Advanced) Get the value of the isConditional flag. More... | |
Public Member Functions inherited from SimTK::PIMPLHandle< Constraint, ConstraintImpl, true > | |
| bool | isEmptyHandle () const |
| Returns true if this handle is empty, that is, does not refer to any implementation object. More... | |
| bool | isOwnerHandle () const |
| Returns true if this handle is the owner of the implementation object to which it refers. More... | |
| bool | isSameHandle (const Constraint &other) const |
| Determine whether the supplied handle is the same object as "this" PIMPLHandle. More... | |
| void | disown (Constraint &newOwner) |
| Give up ownership of the implementation to an empty handle. More... | |
| PIMPLHandle & | referenceAssign (const Constraint &source) |
| "Copy" assignment but with shallow (pointer) semantics. More... | |
| PIMPLHandle & | copyAssign (const Constraint &source) |
| This is real copy assignment, with ordinary C++ object ("value") semantics. More... | |
| void | clearHandle () |
| Make this an empty handle, deleting the implementation object if this handle is the owner of it. More... | |
| const ConstraintImpl & | getImpl () const |
| Get a const reference to the implementation associated with this Handle. More... | |
| ConstraintImpl & | updImpl () |
| Get a writable reference to the implementation associated with this Handle. More... | |
| int | getImplHandleCount () const |
| Return the number of handles the implementation believes are referencing it. More... | |
Additional Inherited Members | |
Public Types inherited from SimTK::Constraint | |
| typedef Rod | ConstantDistance |
| Synonym for Rod constraint. More... | |
| typedef Ball | CoincidentPoints |
| Synonym for Ball constraint. More... | |
| typedef Ball | Spherical |
| Synonym for Ball constraint. More... | |
| typedef Weld | CoincidentFrames |
Public Types inherited from SimTK::PIMPLHandle< Constraint, ConstraintImpl, true > | |
| typedef PIMPLHandle< Constraint, ConstraintImpl, PTR > | HandleBase |
| typedef HandleBase | ParentHandle |
Protected Member Functions inherited from SimTK::Constraint::Custom | |
| const Implementation & | getImplementation () const |
| Implementation & | updImplementation () |
Protected Member Functions inherited from SimTK::PIMPLHandle< Constraint, ConstraintImpl, true > | |
| PIMPLHandle () | |
| The default constructor makes this an empty handle. More... | |
| PIMPLHandle (ConstraintImpl *p) | |
| This provides consruction of a handle referencing an existing implementation object. More... | |
| PIMPLHandle (const PIMPLHandle &source) | |
| The copy constructor makes either a deep (value) or shallow (reference) copy of the supplied source PIMPL object, based on whether this is a "pointer
semantics" (PTR=true) or "object (value) semantics" (PTR=false, default) class. More... | |
| ~PIMPLHandle () | |
| Note that the destructor is non-virtual. More... | |
| PIMPLHandle & | operator= (const PIMPLHandle &source) |
| Copy assignment makes the current handle either a deep (value) or shallow (reference) copy of the supplied source PIMPL object, based on whether this is a "pointer sematics" (PTR=true) or "object (value) semantics" (PTR=false, default) class. More... | |
| void | setImpl (ConstraintImpl *p) |
| Set the implementation for this empty handle. More... | |
| bool | hasSameImplementation (const Constraint &other) const |
| Determine whether the supplied handle is a reference to the same implementation object as is referenced by "this" PIMPLHandle. More... | |
This is a Constraint that uses a Function to prescribe the behavior of a single generalized coordinate as a function of time.
You provide a Function which takes the current time as its argument and returns the required value of the generalized coordinate. It also must support derivatives up to second order.
| SimTK::Constraint::PrescribedMotion::PrescribedMotion | ( | SimbodyMatterSubsystem & | matter, |
| const Function * | function, | ||
| MobilizedBodyIndex | coordBody, | ||
| MobilizerQIndex | coordIndex | ||
| ) |
Create a PrescribedMotion constraint.
You specify a Function that takes time as its single argument, and returns the required value for the constrained coordinate.
| matter | The matter subsystem to which this constraint will be added. |
| function | The Function which specifies the value of the constrained coordinate. The constraint takes over ownership of this object, and automatically deletes it when the constraint is deleted. |
| coordBody | The MobilizedBody corresponding to the generalized coordinate which will be constrained. |
| coordIndex | The index of the generalized coordinate which will be constrained. |
Default constructor creates an empty handle.