OpenSim Moco
0.2.0
|
This path constraint enforces that the distance between the origins of pairs of model frames is kept between minimum and maximum bounds.
Frame pairs and their bounds are specified via a MocoFrameDistancConstraintPair. Any model component derived from Frame is valid to be included in a frame pair, and any number of frame pairs may be append to this constraint via addFramePair().
This constraint can be used as a simple method for preventing bodies in your model from intersecting during an optimization. For example, the following prevents feet from intersecting during a walking optimization:
#include <Moco/Moco/MocoFrameDistanceConstraint.h>
Public Member Functions | |
void | addFramePair (MocoFrameDistanceConstraintPair pair) |
void | addFramePair (const std::string &frame1_path, const std::string &frame2_path, double minimum_distance, double maximum_distance) |
![]() | |
const MocoConstraintInfo & | getConstraintInfo () const |
MocoConstraintInfo & | updConstraintInfo () |
void | setConstraintInfo (const MocoConstraintInfo &cInfo) |
int | getPathConstraintIndex () const |
For use by solvers. More... | |
void | calcPathConstraintErrors (const SimTK::State &state, SimTK::Vector &errors) const |
Calculate errors in the path constraint equations. More... | |
void | initializeOnModel (const Model &model, const MocoProblemInfo &, const int &pathConstraintIndex) const |
For use by solvers. This also performs error checks on the Problem. | |
Protected Member Functions | |
void | initializeOnModelImpl (const Model &model, const MocoProblemInfo &) const override |
Perform any caching. More... | |
void | calcPathConstraintErrorsImpl (const SimTK::State &state, SimTK::Vector &errors) const override |
![]() | |
OpenSim_DECLARE_UNNAMED_PROPERTY (MocoConstraintInfo, "The bounds and " "labels for this MocoPathConstraint.") | |
void | setNumEquations (int numEqs) const |
Set the number of scalar equations for this MocoPathConstraint. More... | |
const Model & | getModel () const |
For use within virtual function implementations. | |
|
overrideprotectedvirtual |
Implements OpenSim::MocoPathConstraint.
|
overrideprotectedvirtual |
Perform any caching.
The number of scalar constraint equations this MocoPathConstraint implements must be defined here (see setNumEquations() below).
Implements OpenSim::MocoPathConstraint.