|
template<typename IterateType = Iterate> |
IterateType | createIterate () const |
| Create an iterate with the variable names populated according to the variables added to this problem. More...
|
|
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. More...
|
|
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. More...
|
|
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 |
|
|
Call the add/set functions in the constructor for your problem.
|
virtual void | calcMultibodySystemExplicit (const ContinuousInput &input, bool calcKCErrors, MultibodySystemExplicitOutput &output) const =0 |
| Kinematic constraint errors should be ordered as so: More...
|
|
virtual void | calcMultibodySystemImplicit (const ContinuousInput &input, bool calcKCErrors, MultibodySystemImplicitOutput &output) const =0 |
|
virtual void | calcVelocityCorrection (const double &time, const casadi::DM &multibody_states, const casadi::DM &slacks, const casadi::DM ¶meters, casadi::DM &velocity_correction) const =0 |
|
virtual void | calcCostIntegrand (int, const ContinuousInput &, double &) const |
|
virtual void | calcCost (int, const CostInput &, casadi::DM &) const |
|
virtual void | calcEndpointConstraintIntegrand (int, const ContinuousInput &, double &) const |
|
virtual void | calcEndpointConstraint (int, const CostInput &, casadi::DM &) const |
|
virtual void | calcPathConstraint (int, const ContinuousInput &, casadi::DM &) const |
|
virtual std::vector< std::string > | createKinematicConstraintEquationNamesImpl () const |
|
void | intermediateCallback () const |
|
void | intermediateCallbackWithIterate (const CasOC::Iterate &it) const |
|
virtual void | intermediateCallbackImpl () const |
| This is invoked once for each iterate in the optimization process.
|
|
virtual void | intermediateCallbackWithIterateImpl (const CasOC::Iterate &) const |
| Process an intermediate iterate. More...
|
|
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. More...
|
|
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) |
|