- 3.0.2 optimal control module.
ct::optcon::example::DiehlSystem Class Reference

Dynamics class for the Diehl system. More...

#include <DiehlSystem.h>

Inheritance diagram for ct::optcon::example::DiehlSystem:
ct::core::ControlledSystem< 1, 1 > ct::core::System< STATE_DIM, SCALAR >

Public Member Functions

 DiehlSystem ()
 
void computeControlledDynamics (const core::StateVector< 1 > &state, const core::Time &t, const core::ControlVector< 1 > &control, core::StateVector< 1 > &derivative) override
 
DiehlSystemclone () const override
 
- Public Member Functions inherited from ct::core::ControlledSystem< 1, 1 >
 ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (std::shared_ptr< ct::core::Controller< 1, 1, SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (const ControlledSystem &arg)
 
virtual ~ControlledSystem ()
 
void setController (const std::shared_ptr< Controller< 1, 1, SCALAR >> &controller)
 
void getController (std::shared_ptr< Controller< 1, 1, SCALAR >> &controller) const
 
std::shared_ptr< Controller< 1, 1, SCALAR > > getController ()
 
virtual void computeDynamics (const StateVector< 1, SCALAR > &state, const time_t &t, StateVector< 1, SCALAR > &derivative) override
 
virtual void computeControlledDynamics (const StateVector< 1, SCALAR > &state, const time_t &t, const ControlVector< 1, SCALAR > &control, StateVector< 1, SCALAR > &derivative)=0
 
ControlVector< 1, 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 const int state_dim = 1
 
static const int control_dim = 1
 

Additional Inherited Members

- Public Types inherited from ct::core::ControlledSystem< 1, 1 >
typedef std::shared_ptr< ControlledSystem< 1, 1, 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< 1, 1 >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef System< 1, 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< 1, 1 >
std::shared_ptr< Controller< 1, 1, SCALAR > > controller_
 
ControlVector< 1, SCALARcontrolAction_
 
- Protected Attributes inherited from ct::core::System< STATE_DIM, SCALAR >
SYSTEM_TYPE type_
 

Detailed Description

Dynamics class for the Diehl system.

We named this system after Prof. Moritz Diehl from the University of Freiburg, who gave it to us as a simple 1-dimensional test system. The system dynamics are dx/dt = (1+x)x + u + 0.1

Constructor & Destructor Documentation

◆ DiehlSystem()

ct::optcon::example::DiehlSystem::DiehlSystem ( )
inline

References SECOND_ORDER.

Referenced by clone().

Member Function Documentation

◆ computeControlledDynamics()

void ct::optcon::example::DiehlSystem::computeControlledDynamics ( const core::StateVector< 1 > &  state,
const core::Time t,
const core::ControlVector< 1 > &  control,
core::StateVector< 1 > &  derivative 
)
inlineoverride

◆ clone()

DiehlSystem* ct::optcon::example::DiehlSystem::clone ( ) const
inlineoverridevirtual

Member Data Documentation

◆ state_dim

const int ct::optcon::example::DiehlSystem::state_dim = 1
static

◆ control_dim

const int ct::optcon::example::DiehlSystem::control_dim = 1
static

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