|
| 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_.