Public Types | Public Member Functions | Protected Attributes | List of all members
corbo::StructuredOptimalControlProblem Class Reference

#include <structured_optimal_control_problem.h>

Inheritance diagram for corbo::StructuredOptimalControlProblem:
Inheritance graph
[legend]

Public Types

using ControlVector = Eigen::VectorXd
 
using Ptr = std::shared_ptr< StructuredOptimalControlProblem >
 
using StateVector = Eigen::VectorXd
 
using UPtr = std::unique_ptr< StructuredOptimalControlProblem >
 
- Public Types inherited from corbo::OptimalControlProblemInterface
using ControlVector = Eigen::VectorXd
 
using Ptr = std::shared_ptr< OptimalControlProblemInterface >
 
using StateVector = Eigen::VectorXd
 
using UPtr = std::unique_ptr< OptimalControlProblemInterface >
 

Public Member Functions

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
 
int getControlInputDimension () const override
 
double getCurrentObjectiveValue () override
 
DiscretizationGridInterface::Ptr getDiscretizationGrid ()
 
bool getFirstControlInput (ControlVector &u0) const override
 
double getFirstDt () const override
 
OptimalControlProblemInterface::Ptr getInstance () const override
 
int getN () const override
 
const NlpFunctionsgetNlpFunctions () const
 
int getStateDimension () const override
 
OptimalControlProblemStatistics::Ptr getStatistics () const override
 
void getTimeSeries (TimeSeries::Ptr x_sequence, TimeSeries::Ptr u_sequence, double t_max=CORBO_INF_DBL) override
 
bool initialize () override
 
bool isConstantControlAction () const override
 
bool providesFutureControls () const override
 
bool providesFutureStates () const override
 
void reset () override
 
void setBounds (const Eigen::VectorXd &x_lb, const Eigen::VectorXd &x_ub, const Eigen::VectorXd &u_lb, const Eigen::VectorXd &u_ub)
 
void setControlBounds (const Eigen::VectorXd &u_lb, const Eigen::VectorXd &u_ub)
 
void setDiscretizationGrid (DiscretizationGridInterface::Ptr grid)
 
void setFinalStageConstraint (FinalStageConstraint::Ptr final_stage_constraint)
 
void setFinalStageCost (FinalStageCost::Ptr final_stage_cost)
 
void setHyperGraphOptimizationProblem (BaseHyperGraphOptimizationProblem::Ptr optim_prob)
 
void setOptimizedTimeSeriesDt (double dt)
 
void setOptimizedTimeSeriesTf (double tf)
 
void setPreviousControlInput (const Eigen::Ref< const ControlVector > &u_prev, double dt) override
 
void setPreviousControlInputDt (double dt) override
 
void setSolver (NlpSolverInterface::Ptr solver)
 
void setStageCost (StageCost::Ptr stage_cost)
 
void setStageEqualityConstraint (StageEqualityConstraint::Ptr stage_eq)
 
void setStageInequalityConstraint (StageInequalityConstraint::Ptr stage_ineq)
 
void setStagePreprocessor (StagePreprocessor::Ptr stage_preprocessor)
 
void setStateBounds (const Eigen::VectorXd &x_lb, const Eigen::VectorXd &x_ub)
 
void setStatisticsObject (OptimalControlProblemStatistics::Ptr statistics)
 
void setSystemDynamics (SystemDynamicsInterface::Ptr dynamics)
 
 StructuredOptimalControlProblem ()
 
 StructuredOptimalControlProblem (DiscretizationGridInterface::Ptr grid, SystemDynamicsInterface::Ptr dynamics, BaseHyperGraphOptimizationProblem::Ptr optim_prob, NlpSolverInterface::Ptr solver)
 
virtual ~StructuredOptimalControlProblem ()
 
- Public Member Functions inherited from corbo::OptimalControlProblemInterface
virtual ~OptimalControlProblemInterface ()
 

Protected Attributes

SystemDynamicsInterface::Ptr _dynamics
 
OptimizationEdgeSet::Ptr _edges = std::make_shared<OptimizationEdgeSet>()
 
NlpFunctions _functions
 
DiscretizationGridInterface::Ptr _grid
 
bool _increase_n_if_infeas = false
 
double _objective_value = -1
 
bool _ocp_modified = true
 
BaseHyperGraphOptimizationProblem::Ptr _optim_prob
 
double _resample_dt_hint = -1
 
double _resample_tf = -1
 
NlpSolverInterface::Ptr _solver
 
OptimalControlProblemStatistics::Ptr _statistics
 
double _ts_dt_cache = 0
 
TimeSeries::Ptr _ts_u_cache
 
TimeSeries::Ptr _ts_x_cache
 
ControlVector _u_prev
 
double _u_prev_dt = 0
 

Detailed Description

Definition at line 62 of file structured_optimal_control_problem.h.

Member Typedef Documentation

◆ ControlVector

Definition at line 90 of file structured_optimal_control_problem.h.

◆ Ptr

Definition at line 87 of file structured_optimal_control_problem.h.

◆ StateVector

Definition at line 89 of file structured_optimal_control_problem.h.

◆ UPtr

Definition at line 88 of file structured_optimal_control_problem.h.

Constructor & Destructor Documentation

◆ StructuredOptimalControlProblem() [1/2]

StructuredOptimalControlProblem::StructuredOptimalControlProblem ( )

Definition at line 63 of file structured_optimal_control_problem.cpp.

◆ StructuredOptimalControlProblem() [2/2]

StructuredOptimalControlProblem::StructuredOptimalControlProblem ( DiscretizationGridInterface::Ptr  grid,
SystemDynamicsInterface::Ptr  dynamics,
BaseHyperGraphOptimizationProblem::Ptr  optim_prob,
NlpSolverInterface::Ptr  solver 
)

Definition at line 65 of file structured_optimal_control_problem.cpp.

◆ ~StructuredOptimalControlProblem()

virtual corbo::StructuredOptimalControlProblem::~StructuredOptimalControlProblem ( )
inlinevirtual

Definition at line 96 of file structured_optimal_control_problem.h.

Member Function Documentation

◆ compute()

bool StructuredOptimalControlProblem::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 = "" 
)
overridevirtual

◆ getControlInputDimension()

int corbo::StructuredOptimalControlProblem::getControlInputDimension ( ) const
inlineoverridevirtual

◆ getCurrentObjectiveValue()

double corbo::StructuredOptimalControlProblem::getCurrentObjectiveValue ( )
inlineoverridevirtual

Reimplemented from corbo::OptimalControlProblemInterface.

Definition at line 194 of file structured_optimal_control_problem.h.

◆ getDiscretizationGrid()

DiscretizationGridInterface::Ptr corbo::StructuredOptimalControlProblem::getDiscretizationGrid ( )
inline

Definition at line 171 of file structured_optimal_control_problem.h.

◆ getFirstControlInput()

bool StructuredOptimalControlProblem::getFirstControlInput ( ControlVector u0) const
overridevirtual

◆ getFirstDt()

double corbo::StructuredOptimalControlProblem::getFirstDt ( ) const
inlineoverridevirtual

◆ getInstance()

OptimalControlProblemInterface::Ptr corbo::StructuredOptimalControlProblem::getInstance ( ) const
inlineoverridevirtual

◆ getN()

int corbo::StructuredOptimalControlProblem::getN ( ) const
inlineoverridevirtual

◆ getNlpFunctions()

const NlpFunctions& corbo::StructuredOptimalControlProblem::getNlpFunctions ( ) const
inline

Definition at line 196 of file structured_optimal_control_problem.h.

◆ getStateDimension()

int corbo::StructuredOptimalControlProblem::getStateDimension ( ) const
inlineoverridevirtual

◆ getStatistics()

OptimalControlProblemStatistics::Ptr corbo::StructuredOptimalControlProblem::getStatistics ( ) const
inlineoverridevirtual

Reimplemented from corbo::OptimalControlProblemInterface.

Definition at line 190 of file structured_optimal_control_problem.h.

◆ getTimeSeries()

void StructuredOptimalControlProblem::getTimeSeries ( TimeSeries::Ptr  x_sequence,
TimeSeries::Ptr  u_sequence,
double  t_max = CORBO_INF_DBL 
)
overridevirtual

◆ initialize()

bool StructuredOptimalControlProblem::initialize ( )
overridevirtual

Reimplemented from corbo::OptimalControlProblemInterface.

Definition at line 76 of file structured_optimal_control_problem.cpp.

◆ isConstantControlAction()

bool corbo::StructuredOptimalControlProblem::isConstantControlAction ( ) const
inlineoverridevirtual

◆ providesFutureControls()

bool StructuredOptimalControlProblem::providesFutureControls ( ) const
overridevirtual

◆ providesFutureStates()

bool StructuredOptimalControlProblem::providesFutureStates ( ) const
overridevirtual

◆ reset()

void StructuredOptimalControlProblem::reset ( )
overridevirtual

◆ setBounds()

void StructuredOptimalControlProblem::setBounds ( const Eigen::VectorXd &  x_lb,
const Eigen::VectorXd &  x_ub,
const Eigen::VectorXd &  u_lb,
const Eigen::VectorXd &  u_ub 
)

Definition at line 187 of file structured_optimal_control_problem.cpp.

◆ setControlBounds()

void StructuredOptimalControlProblem::setControlBounds ( const Eigen::VectorXd &  u_lb,
const Eigen::VectorXd &  u_ub 
)

Definition at line 204 of file structured_optimal_control_problem.cpp.

◆ setDiscretizationGrid()

void corbo::StructuredOptimalControlProblem::setDiscretizationGrid ( DiscretizationGridInterface::Ptr  grid)
inline

Definition at line 165 of file structured_optimal_control_problem.h.

◆ setFinalStageConstraint()

void corbo::StructuredOptimalControlProblem::setFinalStageConstraint ( FinalStageConstraint::Ptr  final_stage_constraint)
inline

Definition at line 153 of file structured_optimal_control_problem.h.

◆ setFinalStageCost()

void corbo::StructuredOptimalControlProblem::setFinalStageCost ( FinalStageCost::Ptr  final_stage_cost)
inline

Definition at line 135 of file structured_optimal_control_problem.h.

◆ setHyperGraphOptimizationProblem()

void corbo::StructuredOptimalControlProblem::setHyperGraphOptimizationProblem ( BaseHyperGraphOptimizationProblem::Ptr  optim_prob)
inline

Definition at line 174 of file structured_optimal_control_problem.h.

◆ setOptimizedTimeSeriesDt()

void corbo::StructuredOptimalControlProblem::setOptimizedTimeSeriesDt ( double  dt)
inline

Definition at line 186 of file structured_optimal_control_problem.h.

◆ setOptimizedTimeSeriesTf()

void corbo::StructuredOptimalControlProblem::setOptimizedTimeSeriesTf ( double  tf)
inline

Definition at line 187 of file structured_optimal_control_problem.h.

◆ setPreviousControlInput()

void corbo::StructuredOptimalControlProblem::setPreviousControlInput ( const Eigen::Ref< const ControlVector > &  u_prev,
double  dt 
)
inlineoverridevirtual

Reimplemented from corbo::OptimalControlProblemInterface.

Definition at line 117 of file structured_optimal_control_problem.h.

◆ setPreviousControlInputDt()

void corbo::StructuredOptimalControlProblem::setPreviousControlInputDt ( double  dt)
inlineoverridevirtual

Reimplemented from corbo::OptimalControlProblemInterface.

Definition at line 123 of file structured_optimal_control_problem.h.

◆ setSolver()

void corbo::StructuredOptimalControlProblem::setSolver ( NlpSolverInterface::Ptr  solver)
inline

Definition at line 180 of file structured_optimal_control_problem.h.

◆ setStageCost()

void corbo::StructuredOptimalControlProblem::setStageCost ( StageCost::Ptr  stage_cost)
inline

Definition at line 129 of file structured_optimal_control_problem.h.

◆ setStageEqualityConstraint()

void corbo::StructuredOptimalControlProblem::setStageEqualityConstraint ( StageEqualityConstraint::Ptr  stage_eq)
inline

Definition at line 141 of file structured_optimal_control_problem.h.

◆ setStageInequalityConstraint()

void corbo::StructuredOptimalControlProblem::setStageInequalityConstraint ( StageInequalityConstraint::Ptr  stage_ineq)
inline

Definition at line 147 of file structured_optimal_control_problem.h.

◆ setStagePreprocessor()

void corbo::StructuredOptimalControlProblem::setStagePreprocessor ( StagePreprocessor::Ptr  stage_preprocessor)
inline

Definition at line 159 of file structured_optimal_control_problem.h.

◆ setStateBounds()

void StructuredOptimalControlProblem::setStateBounds ( const Eigen::VectorXd &  x_lb,
const Eigen::VectorXd &  x_ub 
)

Definition at line 197 of file structured_optimal_control_problem.cpp.

◆ setStatisticsObject()

void corbo::StructuredOptimalControlProblem::setStatisticsObject ( OptimalControlProblemStatistics::Ptr  statistics)
inline

Definition at line 189 of file structured_optimal_control_problem.h.

◆ setSystemDynamics()

void corbo::StructuredOptimalControlProblem::setSystemDynamics ( SystemDynamicsInterface::Ptr  dynamics)
inline

Definition at line 173 of file structured_optimal_control_problem.h.

Member Data Documentation

◆ _dynamics

SystemDynamicsInterface::Ptr corbo::StructuredOptimalControlProblem::_dynamics
protected

Definition at line 210 of file structured_optimal_control_problem.h.

◆ _edges

OptimizationEdgeSet::Ptr corbo::StructuredOptimalControlProblem::_edges = std::make_shared<OptimizationEdgeSet>()
protected

Definition at line 208 of file structured_optimal_control_problem.h.

◆ _functions

NlpFunctions corbo::StructuredOptimalControlProblem::_functions
protected

Definition at line 206 of file structured_optimal_control_problem.h.

◆ _grid

DiscretizationGridInterface::Ptr corbo::StructuredOptimalControlProblem::_grid
protected

Definition at line 207 of file structured_optimal_control_problem.h.

◆ _increase_n_if_infeas

bool corbo::StructuredOptimalControlProblem::_increase_n_if_infeas = false
protected

Definition at line 228 of file structured_optimal_control_problem.h.

◆ _objective_value

double corbo::StructuredOptimalControlProblem::_objective_value = -1
protected

Definition at line 214 of file structured_optimal_control_problem.h.

◆ _ocp_modified

bool corbo::StructuredOptimalControlProblem::_ocp_modified = true
protected

Definition at line 223 of file structured_optimal_control_problem.h.

◆ _optim_prob

BaseHyperGraphOptimizationProblem::Ptr corbo::StructuredOptimalControlProblem::_optim_prob
protected

Definition at line 209 of file structured_optimal_control_problem.h.

◆ _resample_dt_hint

double corbo::StructuredOptimalControlProblem::_resample_dt_hint = -1
protected

Definition at line 225 of file structured_optimal_control_problem.h.

◆ _resample_tf

double corbo::StructuredOptimalControlProblem::_resample_tf = -1
protected

Definition at line 226 of file structured_optimal_control_problem.h.

◆ _solver

NlpSolverInterface::Ptr corbo::StructuredOptimalControlProblem::_solver
protected

Definition at line 211 of file structured_optimal_control_problem.h.

◆ _statistics

OptimalControlProblemStatistics::Ptr corbo::StructuredOptimalControlProblem::_statistics
protected

Definition at line 212 of file structured_optimal_control_problem.h.

◆ _ts_dt_cache

double corbo::StructuredOptimalControlProblem::_ts_dt_cache = 0
protected

Definition at line 221 of file structured_optimal_control_problem.h.

◆ _ts_u_cache

TimeSeries::Ptr corbo::StructuredOptimalControlProblem::_ts_u_cache
protected

Definition at line 219 of file structured_optimal_control_problem.h.

◆ _ts_x_cache

TimeSeries::Ptr corbo::StructuredOptimalControlProblem::_ts_x_cache
protected

Definition at line 220 of file structured_optimal_control_problem.h.

◆ _u_prev

ControlVector corbo::StructuredOptimalControlProblem::_u_prev
protected

Definition at line 216 of file structured_optimal_control_problem.h.

◆ _u_prev_dt

double corbo::StructuredOptimalControlProblem::_u_prev_dt = 0
protected

Definition at line 217 of file structured_optimal_control_problem.h.


The documentation for this class was generated from the following files:


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:07:21