#include <non_uniform_multiple_shooting_variable_grid.h>

Public Types | |
| enum | GridAdaptStrategy { GridAdaptStrategy::NoGridAdapt, GridAdaptStrategy::TimeBasedSingleStep, GridAdaptStrategy::RedundantControls } |
| using | Ptr = std::shared_ptr< NonUniformMultipleShootingVariableGrid > |
| using | UPtr = std::unique_ptr< NonUniformMultipleShootingVariableGrid > |
Public Types inherited from corbo::NonUniformShootingGridBase | |
| using | Ptr = std::shared_ptr< NonUniformShootingGridBase > |
| using | UPtr = std::unique_ptr< NonUniformShootingGridBase > |
Public Types inherited from corbo::DiscretizationGridInterface | |
| using | Ptr = std::shared_ptr< DiscretizationGridInterface > |
| using | UPtr = std::unique_ptr< DiscretizationGridInterface > |
Public Types inherited from corbo::VertexSetInterface | |
| using | Ptr = std::shared_ptr< VertexSetInterface > |
Public Member Functions | |
| void | disableGridAdaptation () |
| DiscretizationGridInterface::Ptr | getInstance () const override |
| Return a newly created shared instance of the implemented class. More... | |
| NonUniformMultipleShootingVariableGrid ()=default | |
| void | setDtBounds (double dt_lb, double dt_ub) |
| void | setDtEqConstraint (bool active) |
| void | setGridAdaptRedundantControls (int n_max, int num_backup_nodes=1, double epsilon=1e-3) |
| void | setGridAdaptTimeBasedSingleStep (int n_max, double dt_hyst_ratio=0.1) |
| void | setNmin (int n_min) |
| virtual | ~NonUniformMultipleShootingVariableGrid ()=default |
Public Member Functions inherited from corbo::NonUniformShootingGridBase | |
| void | clear () override |
| std::vector< VertexInterface * > & | getActiveVertices () override |
| double | getDtRef () const |
| void | getDts (std::vector< double > &dts) const |
| double | getFinalTime () const override |
| bool | getFirstControlInput (Eigen::VectorXd &u0) override |
| double | getFirstDt () const override |
| double | getInitialDt () const override |
| int | getInitialN () const override |
| int | getN () const override |
| int | getNRef () const |
| void | getStateAndControlTimeSeries (TimeSeries::Ptr x_sequence, TimeSeries::Ptr u_sequence, double t_max=CORBO_INF_DBL) const override |
| Return state and control trajectory as time series object (shared instance) More... | |
| void | getVertices (std::vector< VertexInterface *> &vertices) override |
| bool | hasConstantControls () const override |
| bool | hasSingleDt () const override |
| bool | isEmpty () const override |
| bool | isTimeVariableGrid () const override |
| bool | isUniformGrid () const override |
| bool | isValid () const |
| NonUniformShootingGridBase ()=default | |
| bool | providesStateTrajectory () const override |
| void | setConsiderIntermediateStateConstraints (bool active) |
| void | setDtRef (double dt) |
| void | setInitialDt (double dt) override |
| void | setN (int n, bool try_resample=true) override |
| Return dimension of the control input dimension in the grid. More... | |
| void | setNRef (int n) |
| void | setNumControlsPerShootingInterval (int num_u_per_interv) |
| void | setNumControlsPerShootingInterval (int num_u_per_interv, bool intermediate_x_constraints) |
| void | setNumericalIntegrator (NumericalIntegratorExplicitInterface::Ptr integrator) |
| void | setWarmStart (bool active) |
| void | setXfFixed (const Eigen::Matrix< bool, -1, 1 > &xf_fixed) |
| GridUpdateResult | update (const Eigen::VectorXd &x0, ReferenceTrajectoryInterface &xref, ReferenceTrajectoryInterface &uref, NlpFunctions &nlp_fun, OptimizationEdgeSet &edges, SystemDynamicsInterface::Ptr dynamics, bool new_run, const Time &t, ReferenceTrajectoryInterface *sref=nullptr, const Eigen::VectorXd *prev_u=nullptr, double prev_u_dt=0, ReferenceTrajectoryInterface *xinit=nullptr, ReferenceTrajectoryInterface *uinit=nullptr) override |
| virtual | ~NonUniformShootingGridBase ()=default |
Public Member Functions inherited from corbo::DiscretizationGridInterface | |
| DiscretizationGridInterface ()=default | |
| DiscretizationGridInterface (int state_dim, int control_dim) | |
| virtual | ~DiscretizationGridInterface ()=default |
| Virtual destructor. More... | |
Public Member Functions inherited from corbo::VertexSetInterface | |
| void | applyIncrementNonFixed (const Eigen::Ref< const Eigen::VectorXd > &increment) |
| Active vertices related methods. More... | |
| void | applyIncrementNonFixed (int idx, double increment) |
| void | backupParametersActiveVertices () |
| void | clearConnectedEdges () |
| void | computeVertexIndices () |
| Precompute vertex indices in the hyper-graph (e.g. for the Jacobian or Hessian structure) More... | |
| void | discardBackupParametersActiveVertices (bool all=false) |
| void | getBounds (Eigen::Ref< Eigen::VectorXd > lb, Eigen::Ref< Eigen::VectorXd > ub) |
| double | getLowerBound (int idx) |
| int | getParameterDimension () |
| double | getParameterValue (int idx) |
| void | getParameterVector (Eigen::Ref< Eigen::VectorXd > x) |
| double | getUpperBound (int idx) |
| bool | isModified () const |
| void | restoreBackupParametersActiveVertices (bool keep_backup) |
| void | setBounds (const Eigen::Ref< const Eigen::VectorXd > &lb, const Eigen::Ref< const Eigen::VectorXd > &ub) |
| void | setLowerBound (int idx, double lb) |
| void | setModified (bool modified) |
| void | setParameterValue (int idx, double x) |
| void | setParameterVector (const Eigen::Ref< const Eigen::VectorXd > &x) |
| void | setUpperBound (int idx, double ub) |
| VertexSetInterface () | |
| virtual | ~VertexSetInterface () |
| Virtual destructor. More... | |
Static Public Member Functions | |
| static Factory< DiscretizationGridInterface > & | getFactory () |
| Get access to the associated factory. More... | |
Static Public Member Functions inherited from corbo::DiscretizationGridInterface | |
| static Factory< DiscretizationGridInterface > & | getFactory () |
| Get access to the accociated factory. More... | |
Protected Member Functions | |
| bool | adaptGrid (bool new_run, NlpFunctions &nlp_fun) override |
| bool | adaptGridRedundantControls (NlpFunctions &nlp_fun) |
| bool | adaptGridTimeBasedSingleStep (NlpFunctions &nlp_fun) |
| void | createEdges (NlpFunctions &nlp_fun, OptimizationEdgeSet &edges, SystemDynamicsInterface::Ptr dynamics) override |
| void | getStageFunctionEdgesIntermediateControlDtMultipleShooting (int k, VectorVertex &uk, ScalarVertex &dt, VectorVertex &u_prev, ScalarVertex &dt_prev, const StageFunction &stage_fun, std::vector< BaseEdge::Ptr > &edges) |
| bool | isDtFixedIntended () const override |
| bool | isGridAdaptActive () const override |
| bool | isMovingHorizonWarmStartActive () const override |
Protected Member Functions inherited from corbo::NonUniformShootingGridBase | |
| bool | checkAndInitializeXfFixedFlags (int dim_x) |
| void | computeActiveVertices () override |
| int | findNearestShootingInterval (const Eigen::VectorXd &x0) |
| void | initializeSequences (const Eigen::VectorXd &x0, const Eigen::VectorXd &xf, ReferenceTrajectoryInterface &uref, NlpFunctions &nlp_fun) |
| void | initializeSequences (const Eigen::VectorXd &x0, const Eigen::VectorXd &xf, ReferenceTrajectoryInterface &xref, ReferenceTrajectoryInterface &uref, NlpFunctions &nlp_fun) |
| virtual bool | isXfShootingNode () const |
| void | updateBounds (const NlpFunctions &nlp_fun) |
| void | warmStartShifting (const Eigen::VectorXd &x0) |
Protected Member Functions inherited from corbo::DiscretizationGridInterface | |
| void | setLastControlRef (const Eigen::VectorXd &last_u_ref) |
| void | setPreviousControl (const Eigen::VectorXd &prev_u, double prev_u_dt) |
Protected Member Functions inherited from corbo::VertexSetInterface | |
| void | setVertexIdx (VertexInterface &vertex, int idx) |
Definition at line 34 of file non_uniform_multiple_shooting_variable_grid.h.
| using corbo::NonUniformMultipleShootingVariableGrid::Ptr = std::shared_ptr<NonUniformMultipleShootingVariableGrid> |
Definition at line 37 of file non_uniform_multiple_shooting_variable_grid.h.
| using corbo::NonUniformMultipleShootingVariableGrid::UPtr = std::unique_ptr<NonUniformMultipleShootingVariableGrid> |
Definition at line 38 of file non_uniform_multiple_shooting_variable_grid.h.
| Enumerator | |
|---|---|
| NoGridAdapt | |
| TimeBasedSingleStep | |
| RedundantControls | |
Definition at line 40 of file non_uniform_multiple_shooting_variable_grid.h.
|
default |
|
virtualdefault |
|
overrideprotectedvirtual |
Reimplemented from corbo::NonUniformShootingGridBase.
Definition at line 285 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
protected |
Definition at line 380 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
protected |
Definition at line 315 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
overrideprotectedvirtual |
Implements corbo::NonUniformShootingGridBase.
Definition at line 60 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
inline |
Definition at line 53 of file non_uniform_multiple_shooting_variable_grid.h.
|
inlinestatic |
Get access to the associated factory.
Definition at line 49 of file non_uniform_multiple_shooting_variable_grid.h.
|
inlineoverridevirtual |
Return a newly created shared instance of the implemented class.
Implements corbo::NonUniformShootingGridBase.
Definition at line 46 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 254 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
inlineoverrideprotectedvirtual |
Reimplemented from corbo::NonUniformShootingGridBase.
Definition at line 76 of file non_uniform_multiple_shooting_variable_grid.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from corbo::NonUniformShootingGridBase.
Definition at line 83 of file non_uniform_multiple_shooting_variable_grid.h.
|
inlineoverrideprotectedvirtual |
Reimplemented from corbo::NonUniformShootingGridBase.
Definition at line 82 of file non_uniform_multiple_shooting_variable_grid.h.
| void corbo::NonUniformMultipleShootingVariableGrid::setDtBounds | ( | double | dt_lb, |
| double | dt_ub | ||
| ) |
Definition at line 39 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
inline |
Definition at line 57 of file non_uniform_multiple_shooting_variable_grid.h.
| void corbo::NonUniformMultipleShootingVariableGrid::setGridAdaptRedundantControls | ( | int | n_max, |
| int | num_backup_nodes = 1, |
||
| double | epsilon = 1e-3 |
||
| ) |
Definition at line 52 of file non_uniform_multiple_shooting_variable_grid.cpp.
| void corbo::NonUniformMultipleShootingVariableGrid::setGridAdaptTimeBasedSingleStep | ( | int | n_max, |
| double | dt_hyst_ratio = 0.1 |
||
| ) |
Definition at line 45 of file non_uniform_multiple_shooting_variable_grid.cpp.
|
inline |
Definition at line 52 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 93 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 95 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 88 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 86 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 87 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 89 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 91 of file non_uniform_multiple_shooting_variable_grid.h.
|
protected |
Definition at line 90 of file non_uniform_multiple_shooting_variable_grid.h.