- 3.0.2 optimal control module.
ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR > Class Template Referenceabstract

Disturbed system augments the nominal system so that all the CT interfaces and dimensions are satisfied. What is done is basically augmenting the state with the assumed disturbance with specified dimensionality. More...

#include <DisturbedSystem.h>

Inheritance diagram for ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >:
ct::core::ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR > ct::core::System< STATE_DIM, SCALAR >

Public Member Functions

 DisturbedSystem ()
 Constructor. More...
 
virtual ~DisturbedSystem ()=default
 
 DisturbedSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller)
 Copy constructor. More...
 
void setController (const std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller)
 
virtual void computeControlledDynamics (const ct::core::StateVector< AUGMENTED_DIM, SCALAR > &state, const SCALAR &t, const ct::core::ControlVector< CONTROL_DIM, SCALAR > &control, ct::core::StateVector< AUGMENTED_DIM, SCALAR > &derivative)=0
 Implementation of the base computeControlledDynamics method. More...
 
- Public Member Functions inherited from ct::core::ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >
 ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (const ControlledSystem &arg)
 
virtual ~ControlledSystem ()
 
virtual ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR > * clone () const override=0
 
void setController (const std::shared_ptr< Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >> &controller)
 
void getController (std::shared_ptr< Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >> &controller) const
 
std::shared_ptr< Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR > > getController ()
 
virtual void computeDynamics (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM+DIST_DIM, SCALAR > &derivative) override
 
virtual void computeControlledDynamics (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< STATE_DIM+DIST_DIM, SCALAR > &derivative)=0
 
ControlVector< CONTROL_DIM, SCALARgetLastControlAction ()
 
- Public Member Functions inherited from ct::core::System< STATE_DIM, SCALAR >
 System (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 System (const System &other)
 
virtual ~System ()
 
virtual void computeDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM, SCALAR > &derivative)=0
 
SYSTEM_TYPE getType () const
 
virtual bool isSymplectic () const
 

Static Public Attributes

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t AUGMENTED_DIM = STATE_DIM + DIST_DIM
 

Additional Inherited Members

- Public Types inherited from ct::core::ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >
typedef std::shared_ptr< ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR > > Ptr
 
typedef Base::time_t time_t
 
- Public Types inherited from ct::core::System< STATE_DIM, SCALAR >
typedef SCALAR time_t
 
- Public Attributes inherited from ct::core::ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef System< STATE_DIM+DIST_DIM, SCALARBase
 
- Public Attributes inherited from ct::core::System< STATE_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef SCALAR S
 
- Protected Attributes inherited from ct::core::ControlledSystem< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >
std::shared_ptr< Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR > > controller_
 
ControlVector< CONTROL_DIM, SCALARcontrolAction_
 
- Protected Attributes inherited from ct::core::System< STATE_DIM, SCALAR >
SYSTEM_TYPE type_
 

Detailed Description

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >

Disturbed system augments the nominal system so that all the CT interfaces and dimensions are satisfied. What is done is basically augmenting the state with the assumed disturbance with specified dimensionality.

Template Parameters
STATE_DIMnominal state dimensionality
DIST_DIMdimensionality of the disturbance
CONTROL_DIM

Constructor & Destructor Documentation

◆ DisturbedSystem() [1/2]

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR >
ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >::DisturbedSystem ( )

Constructor.

◆ ~DisturbedSystem()

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >::~DisturbedSystem ( )
virtualdefault

◆ DisturbedSystem() [2/2]

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR>
ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >::DisturbedSystem ( std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >>  controller)

Copy constructor.

Member Function Documentation

◆ setController()

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR>
void ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >::setController ( const std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >>  controller)

◆ computeControlledDynamics()

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR = double>
virtual void ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >::computeControlledDynamics ( const ct::core::StateVector< AUGMENTED_DIM, SCALAR > &  state,
const SCALAR t,
const ct::core::ControlVector< CONTROL_DIM, SCALAR > &  control,
ct::core::StateVector< AUGMENTED_DIM, SCALAR > &  derivative 
)
pure virtual

Implementation of the base computeControlledDynamics method.

Member Data Documentation

◆ AUGMENTED_DIM

template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR = double>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW const size_t ct::optcon::DisturbedSystem< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >::AUGMENTED_DIM = STATE_DIM + DIST_DIM
static

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