OpenSim Moco
0.4.0
|
This goal requires the average speed of the system to match a desired average speed.
The average speed of the system is the displacement of the system's center of mass divided by the duration of the phase.
#include <Moco/Moco/MocoGoal/MocoGoal.h>
Public Member Functions | |
OpenSim_DECLARE_PROPERTY (desired_average_speed, double, "The desired average speed of the system (m/s). Default: 0.") | |
MocoAverageSpeedGoal (std::string name) | |
Public Member Functions inherited from OpenSim::MocoGoal | |
MocoGoal (std::string name) | |
MocoGoal (std::string name, double weight) | |
void | setEnabled (bool enabled) |
Set whether this goal is used in the problem. | |
bool | getEnabled () const |
void | setWeight (double weight) |
In cost mode, the goal is multiplied by this weight. More... | |
double | getWeight () const |
void | setMode (std::string mode) |
Set the mode property to either 'cost' or 'endpoint_constraint'. More... | |
std::string | getModeAsString () const |
This returns the default mode of the goal, unless the user overrode the default using setMode(). More... | |
Mode | getMode () const |
bool | getModeIsCost () const |
bool | getModeIsEndpointConstraint () const |
Mode | getDefaultMode () const |
Types of goals have a class-level default for whether they are enforced as a cost or endpoint constraint. More... | |
bool | getSupportsEndpointConstraint () const |
Can this constraint be used in endpoint constraint mode? | |
const MocoConstraintInfo & | getConstraintInfo () const |
Get bounds for the constraints when using this goal in endpoint constraint mode. More... | |
MocoConstraintInfo & | updConstraintInfo () |
int | getNumOutputs () const |
Get the length of the return value of calcGoal(). | |
int | getNumIntegrals () const |
Get the number of integrals required by this cost. More... | |
SimTK::Real | calcIntegrand (const SimTK::State &state) const |
Calculate the integrand that should be integrated and passed to calcCost(). More... | |
void | calcGoal (const GoalInput &input, SimTK::Vector &goal) const |
In cost mode, the returned cost includes the weight, and the elements of the returned vector should be summed by the caller to obtain the total cost. More... | |
void | initializeOnModel (const Model &model) const |
For use by solvers. This also performs error checks on the Problem. | |
void | printDescription (std::ostream &stream=std::cout) const |
Print the name type and mode of this goal. More... | |
Protected Member Functions | |
bool | getSupportsEndpointConstraintImpl () const override |
Mode | getDefaultModeImpl () const override |
void | calcGoalImpl (const GoalInput &input, SimTK::Vector &values) const override |
The Lagrange multipliers for kinematic constraints are not available. | |
void | initializeOnModelImpl (const Model &) const override |
Perform any caching before the problem is solved. More... | |
Protected Member Functions inherited from OpenSim::MocoGoal | |
void | setNumIntegralsAndOutputs (int numIntegrals, int numOutputs) const |
Set the number of integral terms required by this goal and the length of the vector passed into calcGoalImpl(). More... | |
virtual void | calcIntegrandImpl (const SimTK::State &state, double &integrand) const |
virtual void | printDescriptionImpl (std::ostream &stream=std::cout) const |
Print a more detailed description unique to each goal. | |
const Model & | getModel () const |
For use within virtual function implementations. | |
double | calcSystemDisplacement (const SimTK::State &initial, const SimTK::State &final) const |
Additional Inherited Members | |
Public Types inherited from OpenSim::MocoGoal | |
enum | Mode { Cost, EndpointConstraint } |
|
inlineoverrideprotectedvirtual |
Perform any caching before the problem is solved.
You must override this function and invoke setNumIntegralsAndOutputs().
Implements OpenSim::MocoGoal.