|
OpenSim Moco
0.4.0
|
This class constrains any number of control signals from ScalarActautors to be between two time-based functions.
It is possible to constrain the control signal to be exactly to a provided function; see the equality_with_lower property.
If a function is a GCVSpline, we ensure that the spline covers the entire possible time range in the problem (using the problem's time bounds). We do not perform such a check for other types of functions.
#include <Moco/Moco/MocoControlBoundConstraint.h>
Public Member Functions | |
| void | setLowerBound (const Function &f) |
| void | clearLowerBound () |
| bool | hasLowerBound () const |
| const Function & | getLowerBound () const |
| void | setUpperBound (const Function &f) |
| void | clearUpperBound () |
| bool | hasUpperBound () const |
| const Function & | getUpperBound () const |
| void | setEqualityWithLower (bool v) |
| Should the control be constrained to be equal to the lower bound (rather than an inequality constraint)? In this case, the upper bound must be unspecified. More... | |
| bool | getEqualityWithLower () const |
Control paths | |
Set the control paths (absolute paths to actuators in the model) constrained by this class. | |
| void | addControlPath (std::string controlPath) |
| void | setControlPaths (const std::vector< std::string > &controlPaths) |
| void | clearControlPaths () |
| std::vector< std::string > | getControlPaths () const |
Public Member Functions inherited from OpenSim::MocoPathConstraint | |
| 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 |
Protected Member Functions inherited from OpenSim::MocoPathConstraint | |
| 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.
|
inline |
Should the control be constrained to be equal to the lower bound (rather than an inequality constraint)? In this case, the upper bound must be unspecified.