class
#include <iDynTree/OptimalControlProblem.h>
OptimalControlProblem Constructors, destructors, conversion operators
- OptimalControlProblem()
- ~OptimalControlProblem()
- OptimalControlProblem(const OptimalControlProblem& other) deleted
Public functions
- auto setTimeHorizon(double startingTime, double finalTime) -> bool
- auto initialTime() const -> double
- auto finalTime() const -> double
- auto setDynamicalSystemConstraint(std::shared_ptr<DynamicalSystem> dynamicalSystem) -> bool
- auto setDynamicalSystemConstraint(std::shared_ptr<LinearSystem> linearSystem) -> bool
- auto dynamicalSystem() const -> const std::weak_ptr<DynamicalSystem>
- auto systemIsLinear() const -> bool
- auto addGroupOfConstraints(std::shared_ptr<ConstraintsGroup> groupOfConstraints) -> bool
- auto removeGroupOfConstraints(const std::string& name) -> bool
- auto addConstraint(std::shared_ptr<Constraint> newConstraint) -> bool
- auto addConstraint(std::shared_ptr<LinearConstraint> newConstraint) -> bool
- auto removeConstraint(const std::string& name) -> bool
- auto countConstraints() const -> unsigned int
- auto countLinearConstraints() const -> unsigned int
- auto getConstraintsDimension() const -> unsigned int
- auto listConstraints() const -> const std::vector<std::string>
- auto listGroups() const -> const std::vector<std::string>
- auto getConstraintsTimeRanges() const -> std::vector<TimeRange>&
- auto getLinearConstraintsIndeces() const -> std::vector<size_t>&
- auto addMayerTerm(double weight, std::shared_ptr<Cost> cost) -> bool
- auto addMayerTerm(double weight, std::shared_ptr<QuadraticCost> quadraticCost) -> bool
- auto addMayerTerm(double weight, std::shared_ptr<L2NormCost> quadraticCost) -> bool
- auto addMayerTerm(double weight, std::shared_ptr<LinearCost> linearCost) -> bool
- auto addLagrangeTerm(double weight, std::shared_ptr<Cost> cost) -> bool
- auto addLagrangeTerm(double weight, std::shared_ptr<QuadraticCost> quadraticCost) -> bool
- auto addLagrangeTerm(double weight, std::shared_ptr<L2NormCost> quadraticCost) -> bool
- auto addLagrangeTerm(double weight, std::shared_ptr<LinearCost> linearCost) -> bool
- auto addLagrangeTerm(double weight, double startingTime, double finalTime, std::shared_ptr<Cost> cost) -> bool
- auto addLagrangeTerm(double weight, double startingTime, double finalTime, std::shared_ptr<QuadraticCost> quadraticCost) -> bool
- auto addLagrangeTerm(double weight, double startingTime, double finalTime, std::shared_ptr<L2NormCost> quadraticCost) -> bool
- auto addLagrangeTerm(double weight, double startingTime, double finalTime, std::shared_ptr<LinearCost> linearCost) -> bool
- auto addLagrangeTerm(double weight, const TimeRange& timeRange, std::shared_ptr<Cost> cost) -> bool
- auto addLagrangeTerm(double weight, const TimeRange& timeRange, std::shared_ptr<QuadraticCost> quadraticCost) -> bool
- auto addLagrangeTerm(double weight, const TimeRange& timeRange, std::shared_ptr<L2NormCost> quadraticCost) -> bool
- auto addLagrangeTerm(double weight, const TimeRange& timeRange, std::shared_ptr<LinearCost> linearCost) -> bool
- auto updateCostTimeRange(const std::string& name, double newStartingTime, double newEndTime) -> bool
- auto updateCostTimeRange(const std::string& name, const TimeRange& newTimeRange) -> bool
- auto removeCost(const std::string& name) -> bool
- auto getCostsTimeRanges() const -> std::vector<TimeRange>&
- auto hasOnlyLinearCosts() const -> bool
- auto hasOnlyQuadraticCosts() const -> bool
- auto setStateLowerBound(const VectorDynSize& minState) -> bool
- auto setStateLowerBound(std::shared_ptr<TimeVaryingVector> minState) -> bool
- auto setStateUpperBound(const VectorDynSize& maxState) -> bool
- auto setStateUpperBound(std::shared_ptr<TimeVaryingVector> maxState) -> bool
- auto setControlLowerBound(const VectorDynSize& minControl) -> bool
- auto setControlLowerBound(std::shared_ptr<TimeVaryingVector> minControl) -> bool
- auto setControlUpperBound(const VectorDynSize& maxControl) -> bool
- auto setControlUpperBound(std::shared_ptr<TimeVaryingVector> maxControl) -> bool
- auto setStateBoxConstraints(const VectorDynSize& minState, const VectorDynSize& maxState) -> bool
- auto setStateBoxConstraints(std::shared_ptr<TimeVaryingVector> minState, std::shared_ptr<TimeVaryingVector> maxState) -> bool
- auto setControlBoxConstraints(const VectorDynSize& minControl, const VectorDynSize& maxControl) -> bool
- auto setControlBoxConstraints(std::shared_ptr<TimeVaryingVector> minControl, std::shared_ptr<TimeVaryingVector> maxControl) -> bool
- auto getStateLowerBound(double time, VectorDynSize& minState) -> bool
- auto getStateUpperBound(double time, VectorDynSize& maxState) -> bool
- auto getControlLowerBound(double time, VectorDynSize& minControl) -> bool
- auto getControlUpperBound(double time, VectorDynSize& maxControl) -> bool
- auto costsEvaluation(double time, const VectorDynSize& state, const VectorDynSize& control, double& costValue) -> bool
- auto costsFirstPartialDerivativeWRTState(double time, const VectorDynSize& state, const VectorDynSize& control, VectorDynSize& partialDerivative) -> bool
- auto costsFirstPartialDerivativeWRTControl(double time, const VectorDynSize& state, const VectorDynSize& control, VectorDynSize& partialDerivative) -> bool
- auto costsSecondPartialDerivativeWRTState(double time, const VectorDynSize& state, const VectorDynSize& control, MatrixDynSize& partialDerivative) -> bool
- auto costsSecondPartialDerivativeWRTControl(double time, const VectorDynSize& state, const VectorDynSize& control, MatrixDynSize& partialDerivative) -> bool
- auto costsSecondPartialDerivativeWRTStateControl(double time, const VectorDynSize& state, const VectorDynSize& control, MatrixDynSize& partialDerivative) -> bool
-
auto costsSecondPartialDerivativeWRTStateSparsity(iDynTree::
optimalcontrol:: SparsityStructure& stateSparsity) -> bool -
auto costsSecondPartialDerivativeWRTControlSparsity(iDynTree::
optimalcontrol:: SparsityStructure& controlSparsity) -> bool -
auto costsSecondPartialDerivativeWRTStateControlSparsity(iDynTree::
optimalcontrol:: SparsityStructure& stateControlSparsity) -> bool - auto constraintsEvaluation(double time, const VectorDynSize& state, const VectorDynSize& control, VectorDynSize& constraintsValue) -> bool
- auto getConstraintsUpperBound(double time, double infinity, VectorDynSize& upperBound) -> bool
- auto getConstraintsLowerBound(double time, double infinity, VectorDynSize& lowerBound) -> bool
- auto isFeasiblePoint(double time, const VectorDynSize& state, const VectorDynSize& control) -> bool
- auto constraintsJacobianWRTState(double time, const VectorDynSize& state, const VectorDynSize& control, MatrixDynSize& jacobian) -> bool
- auto constraintsJacobianWRTControl(double time, const VectorDynSize& state, const VectorDynSize& control, MatrixDynSize& jacobian) -> bool
-
auto constraintsJacobianWRTStateSparsity(iDynTree::
optimalcontrol:: SparsityStructure& stateSparsity) -> bool -
auto constraintsJacobianWRTControlSparsity(iDynTree::
optimalcontrol:: SparsityStructure& controlSparsity) -> bool - auto constraintsSecondPartialDerivativeWRTState(double time, const VectorDynSize& state, const VectorDynSize& control, const VectorDynSize& lambda, MatrixDynSize& hessian) -> bool
- auto constraintsSecondPartialDerivativeWRTControl(double time, const VectorDynSize& state, const VectorDynSize& control, const VectorDynSize& lambda, MatrixDynSize& hessian) -> bool
- auto constraintsSecondPartialDerivativeWRTStateControl(double time, const VectorDynSize& state, const VectorDynSize& control, const VectorDynSize& lambda, MatrixDynSize& hessian) -> bool
-
auto constraintsSecondPartialDerivativeWRTStateSparsity(iDynTree::
optimalcontrol:: SparsityStructure& stateSparsity) -> bool -
auto constraintsSecondPartialDerivativeWRTControlSparsity(iDynTree::
optimalcontrol:: SparsityStructure& controlSparsity) -> bool -
auto constraintsSecondPartialDerivativeWRTStateControlSparsity(iDynTree::
optimalcontrol:: SparsityStructure& stateControlSparsity) -> bool