Go to the documentation of this file.
25 #ifndef SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_STRUCTURED_OPTIMAL_CONTROL_PROBLEM_H_
26 #define SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_STRUCTURED_OPTIMAL_CONTROL_PROBLEM_H_
43 using Ptr = std::shared_ptr<StructuredOptimalControlProblem>;
44 using UPtr = std::unique_ptr<StructuredOptimalControlProblem>;
81 void setBounds(
const Eigen::VectorXd& x_lb,
const Eigen::VectorXd& x_ub,
const Eigen::VectorXd& u_lb,
const Eigen::VectorXd& u_ub);
82 void setStateBounds(
const Eigen::VectorXd& x_lb,
const Eigen::VectorXd& x_ub);
83 void setControlBounds(
const Eigen::VectorXd& u_lb,
const Eigen::VectorXd& u_ub);
154 #ifdef MESSAGE_SUPPORT
155 void toMessage(corbo::messages::OptimalControlProblem& message)
const override;
156 void fromMessage(
const corbo::messages::OptimalControlProblem& message, std::stringstream* issues =
nullptr)
override;
191 #endif // SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_STRUCTURED_OPTIMAL_CONTROL_PROBLEM_H_
Interface class for signal targets.
std::shared_ptr< OptimizationEdgeSet > Ptr
StageInequalityConstraint::Ptr stage_inequalities
OptimalControlProblemInterface::Ptr getInstance() const override
std::shared_ptr< StagePreprocessor > Ptr
virtual ~StructuredOptimalControlProblem()
Eigen::VectorXd ControlVector
void setControlBounds(const Eigen::VectorXd &u_lb, const Eigen::VectorXd &u_ub)
Interface class for reference trajectories.
std::shared_ptr< OptimalControlProblemStatistics > Ptr
bool providesFutureStates() const override
void setSystemDynamics(SystemDynamicsInterface::Ptr dynamics)
void setPreviousControlInput(const Eigen::Ref< const ControlVector > &u_prev, double dt) override
const NlpFunctions & getNlpFunctions() const
Eigen::VectorXd StateVector
bool initialize() override
double getCurrentObjectiveValue() override
NlpSolverInterface::Ptr _solver
std::shared_ptr< StageInequalityConstraint > Ptr
DiscretizationGridInterface::Ptr _grid
StageCost::Ptr stage_cost
DiscretizationGridInterface::Ptr getDiscretizationGrid()
Eigen::VectorXd StateVector
constexpr const double CORBO_INF_DBL
Representation for infinity (double version)
std::shared_ptr< NlpSolverInterface > Ptr
std::unique_ptr< StructuredOptimalControlProblem > UPtr
FinalStageConstraint::Ptr final_stage_constraints
std::shared_ptr< StageCost > Ptr
void setOptimizedTimeSeriesTf(double tf)
void setSolver(NlpSolverInterface::Ptr solver)
std::shared_ptr< OptimalControlProblemInterface > Ptr
void getTimeSeries(TimeSeries::Ptr x_sequence, TimeSeries::Ptr u_sequence, double t_max=CORBO_INF_DBL) override
std::shared_ptr< DiscretizationGridInterface > Ptr
void setOptimizedTimeSeriesDt(double dt)
Eigen::VectorXd ControlVector
double getFirstDt() const override
StageEqualityConstraint::Ptr stage_equalities
SystemDynamicsInterface::Ptr _dynamics
bool getFirstControlInput(ControlVector &u0) const override
void setStatisticsObject(OptimalControlProblemStatistics::Ptr statistics)
#define FACTORY_REGISTER_OCP(type)
std::shared_ptr< FinalStageConstraint > Ptr
void setFinalStageConstraint(FinalStageConstraint::Ptr final_stage_constraint)
void setDiscretizationGrid(DiscretizationGridInterface::Ptr grid)
StagePreprocessor::Ptr stage_preprocessor
std::shared_ptr< SystemDynamicsInterface > Ptr
void setStageInequalityConstraint(StageInequalityConstraint::Ptr stage_ineq)
StructuredOptimalControlProblem()
bool isConstantControlAction() const override
void setBounds(const Eigen::VectorXd &x_lb, const Eigen::VectorXd &x_ub, const Eigen::VectorXd &u_lb, const Eigen::VectorXd &u_ub)
int getN() const override
BaseHyperGraphOptimizationProblem::Ptr _optim_prob
void setPreviousControlInputDt(double dt) override
std::shared_ptr< BaseHyperGraphOptimizationProblem > Ptr
int getControlInputDimension() const override
TimeSeries::Ptr _ts_x_cache
void setStageCost(StageCost::Ptr stage_cost)
A matrix or vector expression mapping an existing expression.
void setStageEqualityConstraint(StageEqualityConstraint::Ptr stage_eq)
bool compute(const StateVector &x, ReferenceTrajectoryInterface &xref, ReferenceTrajectoryInterface &uref, ReferenceTrajectoryInterface *sref, const Time &t, bool new_run, SignalTargetInterface *signal_target=nullptr, ReferenceTrajectoryInterface *xinit=nullptr, ReferenceTrajectoryInterface *uinit=nullptr, const std::string &ns="") override
bool providesFutureControls() const override
void setStagePreprocessor(StagePreprocessor::Ptr stage_preprocessor)
TimeSeries::Ptr _ts_u_cache
Representation of time stamps.
std::shared_ptr< FinalStageCost > Ptr
OptimizationEdgeSet::Ptr _edges
int getStateDimension() const override
void setStateBounds(const Eigen::VectorXd &x_lb, const Eigen::VectorXd &x_ub)
std::shared_ptr< TimeSeries > Ptr
OptimalControlProblemStatistics::Ptr getStatistics() const override
FinalStageCost::Ptr final_stage_cost
void setFinalStageCost(FinalStageCost::Ptr final_stage_cost)
void setHyperGraphOptimizationProblem(BaseHyperGraphOptimizationProblem::Ptr optim_prob)
bool _increase_n_if_infeas
std::shared_ptr< StageEqualityConstraint > Ptr
OptimalControlProblemStatistics::Ptr _statistics
std::shared_ptr< StructuredOptimalControlProblem > Ptr
control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:06:28