|
OpenSim Moco
0.2.0
|
This class is the bridge between CasOC::Problem and MocoProblemRep.
Inputs are CasADi types, which are converted to SimTK types to evaluate problem functions. Then, results are converted back into CasADi types.
#include <Moco/Moco/MocoCasADiSolver/MocoCasOCProblem.h>
Public Member Functions | |
| MocoCasOCProblem (const MocoCasADiSolver &mocoCasADiSolver, const MocoProblemRep &mocoProblemRep, std::unique_ptr< ThreadsafeJar< const MocoProblemRep >> jar, std::string dynamicsMode) | |
| int | getJarSize () const |
Public Member Functions inherited from CasOC::Problem | |
| template<typename IterateType = Iterate> | |
| IterateType | createIterate () const |
| Create an iterate with the variable names populated according to the variables added to this problem. | |
| void | initialize (const std::string &finiteDiffScheme, std::shared_ptr< const std::vector< VariablesDM >> pointsForSparsityDetection) const |
| int | getNumStates () const |
| int | getNumControls () const |
| int | getNumParameters () const |
| int | getNumMultipliers () const |
| std::string | getDynamicsMode () const |
| bool | isDynamicsModeImplicit () const |
| int | getNumDerivatives () const |
| int | getNumSlacks () const |
| int | getNumCoordinates () const |
| This is the number of generalized coordinates, which may be greater than the number of generalized speeds. | |
| int | getNumSpeeds () const |
| int | getNumAccelerations () const |
| int | getNumAuxiliaryStates () const |
| int | getNumCosts () const |
| bool | isPrescribedKinematics () const |
| int | getNumMultibodyDynamicsEquations () const |
| If the coordinates are prescribed, then the number of multibody dynamics equations is not the same as the number of speeds. | |
| const std::vector< std::string > & | getAuxiliaryDerivativeNames () const |
| int | getNumAuxiliaryResidualEquations () const |
| int | getNumKinematicConstraintEquations () const |
| std::vector< std::string > | createKinematicConstraintEquationNames () const |
| Create a vector of names for scalar kinematic constraint equations. More... | |
| int | getNumHolonomicConstraintEquations () const |
| int | getNumNonHolonomicConstraintEquations () const |
| int | getNumAccelerationConstraintEquations () const |
| bool | getEnforceConstraintDerivatives () const |
| const Bounds & | getKinematicConstraintBounds () const |
| const Bounds & | getTimeInitialBounds () const |
| const Bounds & | getTimeFinalBounds () const |
| const std::vector< StateInfo > & | getStateInfos () const |
| const std::vector< ControlInfo > & | getControlInfos () const |
| const std::vector< MultiplierInfo > & | getMultiplierInfos () const |
| const std::vector< SlackInfo > & | getSlackInfos () const |
| const std::vector< ParameterInfo > & | getParameterInfos () const |
| const std::vector< CostInfo > & | getCostInfos () const |
| const std::vector< EndpointConstraintInfo > & | getEndpointConstraintInfos () const |
| const std::vector< PathConstraintInfo > & | getPathConstraintInfos () const |
| const casadi::Function & | getMultibodySystem () const |
| Get a function to the full multibody system (i.e. More... | |
| const casadi::Function & | getMultibodySystemIgnoringConstraints () const |
| Get a function to the multibody system that does not compute kinematic constraint errors (if they exist). More... | |
| const casadi::Function & | getVelocityCorrection () const |
| Get a function to compute the velocity correction to qdot when enforcing kinematic constraints and their derivatives. More... | |
| const casadi::Function & | getImplicitMultibodySystem () const |
| const casadi::Function & | getImplicitMultibodySystemIgnoringConstraints () const |
| void | intermediateCallback () const |
| void | intermediateCallbackWithIterate (const CasOC::Iterate &it) const |
Additional Inherited Members | |
Protected Member Functions inherited from CasOC::Problem | |
| void | setTimeBounds (Bounds initial, Bounds final) |
| void | addState (std::string name, StateType type, Bounds bounds, Bounds initialBounds, Bounds finalBounds) |
| Add a differential state. More... | |
| void | addControl (std::string name, Bounds bounds, Bounds initialBounds, Bounds finalBounds) |
| Add an algebraic variable/"state" to the problem. | |
| void | addKinematicConstraint (std::string multName, Bounds multbounds, Bounds multInitialBounds, Bounds multFinalBounds, KinematicLevel kinLevel) |
| void | addSlack (std::string name, Bounds bounds) |
| Add a slack velocity correction variable to the problem associated with a kinematic constraint in the model. | |
| void | setPrescribedKinematics (bool tf, int numMultibodyDynamicsEquations) |
| Set if all kinematics are prescribed. More... | |
| void | setEnforceConstraintDerivatives (bool tf) |
| Set whether not constraint derivatives are to be enforced. | |
| void | setKinematicConstraintBounds (Bounds bounds) |
| Set the bounds for all kinematic constraints in the problem. | |
| void | addParameter (std::string name, Bounds bounds) |
| Add a constant (time-invariant) variable to the optimization problem. | |
| void | addCost (std::string name, int numIntegrals, int numOutputs) |
| Add a cost term to the problem. | |
| void | addEndpointConstraint (std::string name, int numIntegrals, std::vector< Bounds > bounds) |
| Add an endpoint constraint to the problem. | |
| void | addPathConstraint (std::string name, std::vector< Bounds > bounds) |
| The size of bounds must match the number of outputs in the function. More... | |
| void | setDynamicsMode (std::string dynamicsMode) |
| void | setAuxiliaryDerivativeNames (const std::vector< std::string > &names) |