- 3.0.2 optimal control module.
ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS > Class Template Referencefinal

#include <MultipleShooting.hpp>

Inheritance diagram for ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >:
ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >

Public Types

typedef NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS > Base
 
typedef Base::Policy_t Policy_t
 
typedef Base::Settings_t Settings_t
 
typedef Base::Backend_t Backend_t
 
typedef SCALAR Scalar_t
 
- Public Types inherited from ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >
typedef NLOCBackendBase< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS > Backend_t
 
typedef NLOptConSettings Settings_t
 
typedef SCALAR Scalar_t
 

Public Member Functions

 MultipleShooting (std::shared_ptr< Backend_t > &backend_, const Settings_t &settings)
 constructor More...
 
virtual ~MultipleShooting ()=default
 destructor More...
 
virtual void configure (const Settings_t &settings) override
 configure the solver More...
 
virtual void setInitialGuess (const Policy_t &initialGuess) override
 set an initial guess More...
 
virtual bool runIteration () override
 runIteration combines prepareIteration and finishIteration More...
 
virtual void prepareIteration () override
 
virtual bool finishIteration () override
 finish iteration for unconstrained MultipleShooting More...
 
virtual void prepareMPCIteration () override
 prepare iteration, dedicated to MPC. More...
 
virtual bool finishMPCIteration () override
 finish iteration, dedicated to MPC More...
 
- Public Member Functions inherited from ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >
 NLOCAlgorithm (const std::shared_ptr< Backend_t > &backend)
 
virtual ~NLOCAlgorithm ()
 
virtual void setInitialGuess (const Policy_t &initialGuess)=0
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t STATE_D = STATE_DIM
 
static const size_t CONTROL_D = CONTROL_DIM
 

Additional Inherited Members

- Public Attributes inherited from ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ct::core::StateFeedbackController< STATE_DIM, CONTROL_DIM, SCALARPolicy_t
 
- Protected Attributes inherited from ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >
std::shared_ptr< Backend_tbackend_
 

Member Typedef Documentation

◆ Base

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
typedef NLOCAlgorithm<STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS> ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::Base

◆ Policy_t

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
typedef Base::Policy_t ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::Policy_t

◆ Settings_t

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
typedef Base::Settings_t ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::Settings_t

◆ Backend_t

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
typedef Base::Backend_t ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::Backend_t

◆ Scalar_t

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
typedef SCALAR ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::Scalar_t

Constructor & Destructor Documentation

◆ MultipleShooting()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::MultipleShooting ( std::shared_ptr< Backend_t > &  backend_,
const Settings_t settings 
)

constructor

◆ ~MultipleShooting()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
virtual ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::~MultipleShooting ( )
virtualdefault

destructor

Member Function Documentation

◆ configure()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
void ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::configure ( const Settings_t settings)
overridevirtual

◆ setInitialGuess()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
void ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::setInitialGuess ( const Policy_t initialGuess)
overridevirtual

◆ runIteration()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
bool ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::runIteration ( )
overridevirtual

◆ prepareIteration()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
void ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::prepareIteration ( )
overridevirtual

◆ finishIteration()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
bool ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::finishIteration ( )
overridevirtual

◆ prepareMPCIteration()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
void ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::prepareMPCIteration ( )
overridevirtual

prepare iteration, dedicated to MPC.

finishIteration()

requirements: no line-search, end with update-step of controls and state, no rollout after update steps. Therefore: rollout->linearize->solve

Implements ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >.

References ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::backend_.

◆ finishMPCIteration()

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR , bool CONTINUOUS>
bool ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::finishMPCIteration ( )
overridevirtual

finish iteration, dedicated to MPC

prepareMPCIteration()

todo: replace by a simple sum after computeQuadraticCostsAround....

todo: we might not need this in MPC

update solutions

Implements ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >.

References ct::optcon::NLOCAlgorithm< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::backend_.

Member Data Documentation

◆ STATE_D

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::STATE_D = STATE_DIM
static

◆ CONTROL_D

template<size_t STATE_DIM, size_t CONTROL_DIM, size_t P_DIM, size_t V_DIM, typename SCALAR = double, bool CONTINUOUS = true>
const size_t ct::optcon::MultipleShooting< STATE_DIM, CONTROL_DIM, P_DIM, V_DIM, SCALAR, CONTINUOUS >::CONTROL_D = CONTROL_DIM
static

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