- 3.0.2 optimal control module.
|
This class performs the state and the sensitivity integration on a shot. More...
#include <ShotContainer.h>
Public Types | |
typedef DIMENSIONS::state_vector_t | state_vector_t |
typedef DIMENSIONS::control_vector_t | control_vector_t |
typedef DIMENSIONS::state_vector_array_t | state_vector_array_t |
typedef DIMENSIONS::control_vector_array_t | control_vector_array_t |
typedef DIMENSIONS::time_array_t | time_array_t |
typedef DIMENSIONS::state_matrix_t | state_matrix_t |
typedef DIMENSIONS::state_control_matrix_t | state_control_matrix_t |
typedef DIMENSIONS::state_matrix_array_t | state_matrix_array_t |
typedef DIMENSIONS::state_control_matrix_array_t | state_control_matrix_array_t |
Public Member Functions | |
ShotContainer ()=delete | |
ShotContainer (std::shared_ptr< ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >> controlledSystem, std::shared_ptr< ct::core::LinearSystem< STATE_DIM, CONTROL_DIM, SCALAR >> linearSystem, std::shared_ptr< ct::optcon::CostFunctionQuadratic< STATE_DIM, CONTROL_DIM, SCALAR >> costFct, std::shared_ptr< OptVectorDms< STATE_DIM, CONTROL_DIM, SCALAR >> w, std::shared_ptr< SplinerBase< control_vector_t, SCALAR >> controlSpliner, std::shared_ptr< tpl::TimeGrid< SCALAR >> timeGrid, size_t shotNr, DmsSettings settings, size_t nIntegrationSteps) | |
Custom constructor. More... | |
void | integrateShot () |
Performs the state integration between the shots. More... | |
void | integrateCost () |
void | integrateSensitivities () |
Performs the state and the sensitivity integration between the shots. More... | |
void | integrateCostSensitivities () |
void | reset () |
const state_vector_t & | getStateIntegrated () |
Returns the integrated state. More... | |
const SCALAR | getIntegrationTimeFinal () |
Returns the end time of the integration. More... | |
const state_matrix_t & | getdXdSiIntegrated () |
Returns the integrated ODE sensitivity with respect to the discretized state s_i. More... | |
const state_control_matrix_t & | getdXdQiIntegrated () |
Returns the integrated ODE sensitivity with respect to the discretized inputs q_i. More... | |
const state_control_matrix_t & | getdXdQip1Integrated () |
Returns the integrated ODE sensitivity with respect to the discretized inputs q_{i+1}. More... | |
const state_vector_array_t & | getXHistory () const |
Returns the integrated ODE sensitivity with respect to the time segments h_i. More... | |
const control_vector_array_t & | getUHistory () |
Returns the control input trajectory used during the state integration. More... | |
const time_array_t & | getTHistory () const |
Returns the time trajectory used during the integration. More... | |
const SCALAR | getCostIntegrated () const |
Gets the cost integrated. More... | |
const state_vector_t & | getdLdSiIntegrated () const |
Returns the cost gradient with respect to s_i integrated over the shot. More... | |
const control_vector_t & | getdLdQiIntegrated () const |
Returns the cost gradient with respect to q_i integrated over the shot. More... | |
const control_vector_t & | getdLdQip1Integrated () const |
Returns to cost gradient with respect to q_{i+1} integrated over the shot. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef DmsDimensions< STATE_DIM, CONTROL_DIM, SCALAR > | DIMENSIONS |
This class performs the state and the sensitivity integration on a shot.
STATE_DIM | The state dimension |
CONTROL_DIM | The control dimension |
typedef DIMENSIONS::state_vector_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_t |
typedef DIMENSIONS::control_vector_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_t |
typedef DIMENSIONS::state_vector_array_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_array_t |
typedef DIMENSIONS::control_vector_array_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_array_t |
typedef DIMENSIONS::time_array_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::time_array_t |
typedef DIMENSIONS::state_matrix_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::state_matrix_t |
typedef DIMENSIONS::state_control_matrix_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::state_control_matrix_t |
typedef DIMENSIONS::state_matrix_array_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::state_matrix_array_t |
typedef DIMENSIONS::state_control_matrix_array_t ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::state_control_matrix_array_t |
|
delete |
|
inline |
Custom constructor.
[in] | controlledSystem | The nonlinear system |
[in] | linearSystem | The linearized system |
[in] | costFct | The costfunction |
[in] | w | The optimization vector |
[in] | controlSpliner | The control input spliner |
[in] | timeGrid | The timegrid |
[in] | shotNr | The shot number |
[in] | settings | The dms settings |
References ct::optcon::DmsSettings::costEvaluationType_, ct::optcon::DmsSettings::EULER, ct::core::EULERCT, ct::optcon::DmsSettings::FULL, ct::optcon::DmsSettings::integrationType_, ct::optcon::DmsSettings::N_, ct::optcon::DmsSettings::RK4, ct::core::RK4CT, and ct::optcon::DmsSettings::RK5.
|
inline |
Performs the state integration between the shots.
References ct::optcon::DmsSettings::dt_sim_.
Referenced by ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::integrateCost(), and ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::integrateSensitivities().
|
inline |
|
inline |
Performs the state and the sensitivity integration between the shots.
References ct::optcon::DmsSettings::dt_sim_, ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::integrateShot(), ct::optcon::DmsSettings::PIECEWISE_LINEAR, and ct::optcon::DmsSettings::splineType_.
Referenced by ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::integrateCostSensitivities().
|
inline |
|
inline |
|
inline |
Returns the integrated state.
|
inline |
Returns the end time of the integration.
|
inline |
Returns the integrated ODE sensitivity with respect to the discretized state s_i.
|
inline |
Returns the integrated ODE sensitivity with respect to the discretized inputs q_i.
|
inline |
Returns the integrated ODE sensitivity with respect to the discretized inputs q_{i+1}.
|
inline |
Returns the integrated ODE sensitivity with respect to the time segments h_i.
|
inline |
Returns the control input trajectory used during the state integration.
References t.
|
inline |
Returns the time trajectory used during the integration.
|
inline |
Gets the cost integrated.
|
inline |
Returns the cost gradient with respect to s_i integrated over the shot.
|
inline |
Returns the cost gradient with respect to q_i integrated over the shot.
|
inline |
Returns to cost gradient with respect to q_{i+1} integrated over the shot.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef DmsDimensions<STATE_DIM, CONTROL_DIM, SCALAR> ct::optcon::ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >::DIMENSIONS |