|
typedef Base::control_vector_t | control_vector_t |
|
typedef Base::state_vector_t | state_vector_t |
|
typedef Base::state_matrix_t | state_matrix_t |
|
typedef Base::state_control_matrix_t | state_control_matrix_t |
|
typedef Base::StateVectorArrayPtr | StateVectorArrayPtr |
|
typedef Base::StateSubsteps | StateSubsteps |
|
typedef Base::ControlVectorArrayPtr | ControlVectorArrayPtr |
|
typedef Base::ControlSubsteps | ControlSubsteps |
|
typedef Base::optConProblem_t | optConProblem_t |
|
typedef Base::settings_t | settings_t |
|
typedef ct::core::StateVector< STATE_DIM, SCALAR > | state_vector_t |
|
typedef ct::core::StateMatrix< STATE_DIM, SCALAR > | state_matrix_t |
|
typedef ct::core::StateControlMatrix< STATE_DIM, CONTROL_DIM, SCALAR > | state_control_matrix_t |
|
typedef ct::core::StateVectorArray< STATE_DIM, SCALAR > | StateVectorArray |
|
typedef std::shared_ptr< StateVectorArray > | StateVectorArrayPtr |
|
typedef std::vector< StateVectorArrayPtr, Eigen::aligned_allocator< StateVectorArrayPtr > > | StateSubsteps |
|
typedef std::shared_ptr< StateSubsteps > | StateSubstepsPtr |
|
typedef ct::core::ControlVectorArray< CONTROL_DIM, SCALAR > | ControlVectorArray |
|
typedef std::shared_ptr< ControlVectorArray > | ControlVectorArrayPtr |
|
typedef std::vector< ControlVectorArrayPtr, Eigen::aligned_allocator< ControlVectorArrayPtr > > | ControlSubsteps |
|
typedef std::shared_ptr< ControlSubsteps > | ControlSubstepsPtr |
|
typedef ct::core::ConstantController< STATE_DIM, CONTROL_DIM, SCALAR > | constant_controller_t |
|
typedef std::shared_ptr< constant_controller_t > | ConstantControllerPtr |
|
typedef DiscreteOptConProblem< STATE_DIM, CONTROL_DIM, SCALAR > | optConProblem_t |
|
typedef NLOptConSettings | settings_t |
|
|
| OptconDiscreteSystemInterface (const optConProblem_t &problem, const settings_t &settings) |
| constructor More...
|
|
virtual | ~OptconDiscreteSystemInterface ()=default |
| destructor More...
|
|
virtual void | initialize () override |
| perform necessary setup work More...
|
|
virtual void | configure (const settings_t &settings) override |
|
virtual void | getAandB (const state_vector_t &x, const control_vector_t &u, const state_vector_t &x_next, const int n, size_t subSteps, state_matrix_t &A, state_control_matrix_t &B, const size_t threadId) override |
| retrieve discrete-time linear system matrices A and B. More...
|
|
virtual void | propagateControlledDynamics (const state_vector_t &state, const time_t n, const control_vector_t &control, state_vector_t &stateNext, const size_t threadId) override |
| propagate discrete-time dynamics More...
|
|
virtual void | changeNonlinearSystem (const typename optConProblem_t::DynamicsPtr_t &dyn) override |
|
virtual void | changeLinearSystem (const typename optConProblem_t::LinearPtr_t &lin) override |
|
| OptconSystemInterface (const optConProblem_t &problem, const settings_t &settings) |
| constructor More...
|
|
virtual void | configure (const settings_t &settings) |
|
virtual void | getAandB (const state_vector_t &x, const control_vector_t &u, const state_vector_t &x_next, const int n, size_t subSteps, state_matrix_t &A, state_control_matrix_t &B, const size_t threadId)=0 |
| retrieve discrete-time linear system matrices A and B. More...
|
|
virtual void | propagateControlledDynamics (const state_vector_t &state, const time_t n, const control_vector_t &control, state_vector_t &stateNext, const size_t threadId)=0 |
| propagate discrete-time dynamics More...
|
|
virtual void | changeNumStages (const int numStages) |
| set the number of stages/time steps More...
|
|
const optConProblem_t & | getOptConProblem () |
|
std::vector< typename optConProblem_t::DynamicsPtr_t > & | getNonlinearSystemsInstances () |
|
std::vector< typename optConProblem_t::LinearPtr_t > & | getLinearSystemsInstances () |
|
virtual void | changeNonlinearSystem (const typename optConProblem_t::DynamicsPtr_t &dyn)=0 |
|
virtual void | changeLinearSystem (const typename optConProblem_t::LinearPtr_t &lin)=0 |
|
virtual void | getSubstates (StateVectorArrayPtr &subStepsX, const size_t threadId) |
|
virtual void | getSubcontrols (ControlVectorArrayPtr &subStepsU, const size_t threadId) |
|
virtual void | setSubstepTrajectoryReference (const StateSubstepsPtr &xSubsteps, const ControlSubstepsPtr &uSubsteps, const size_t threadId) |
|
template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::optcon::OptconDiscreteSystemInterface< STATE_DIM, CONTROL_DIM, SCALAR >
interface class for optimal control algorithms
Defines the unified interface for optimal control solvers used in conjuction with a discrete optimal control problem.
- Template Parameters
-
STATE_DIM | size of state vector |
CONTROL_DIM | size of input vector |
SCALAR | the underlying scalar type |
template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR >
propagate discrete-time dynamics
- Parameters
-
state | start state to propagate from |
n | discrete time index to propagate the dynamics at |
control | the control input to apply. This is a constant control input applied during the discretization interval |
stateNext | the resulting propagated state |
threadId | which thread specific instantiations to use |
References ct::optcon::OptconSystemInterface< STATE_DIM, CONTROL_DIM, DiscreteOptConProblem< STATE_DIM, CONTROL_DIM, SCALAR >, SCALAR >::controller_, and ct::optcon::OptconSystemInterface< STATE_DIM, CONTROL_DIM, DiscreteOptConProblem< STATE_DIM, CONTROL_DIM, SCALAR >, SCALAR >::systems_.