- 3.0.2 optimal control module.
ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim > Class Template Reference

Linear system class for the GNMS unit test. More...

#include <MIMOIntegrator.h>

Inheritance diagram for ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >:
ct::core::LinearSystem< state_dim, control_dim > ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR > ct::core::System< STATE_DIM, SCALAR >

Public Types

using BASE = core::LinearSystem< state_dim, control_dim >
 
typedef BASE::state_matrix_t state_matrix_t
 
typedef BASE::state_control_matrix_t state_control_matrix_t
 
- Public Types inherited from ct::core::LinearSystem< state_dim, control_dim >
typedef Base::time_t time_t
 
typedef StateVector< state_dim, SCALARstate_vector_t
 
typedef ControlVector< control_dim, SCALARcontrol_vector_t
 
typedef StateMatrix< state_dim, SCALARstate_matrix_t
 
typedef StateControlMatrix< state_dim, control_dim, SCALARstate_control_matrix_t
 
- Public Types inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
typedef std::shared_ptr< ControlledSystem< STATE_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 Member Functions

 MIMOIntegratorLinear ()
 
const state_matrix_tgetDerivativeState (const core::StateVector< state_dim > &x, const core::ControlVector< control_dim > &u, const double t=0.0) override
 
const state_control_matrix_tgetDerivativeControl (const core::StateVector< state_dim > &x, const core::ControlVector< control_dim > &u, const double t=0.0) override
 
MIMOIntegratorLinearclone () const override
 
- Public Member Functions inherited from ct::core::LinearSystem< state_dim, control_dim >
 LinearSystem (const ct::core::SYSTEM_TYPE &type=ct::core::SYSTEM_TYPE::GENERAL)
 
virtual ~LinearSystem ()
 
virtual void computeControlledDynamics (const state_vector_t &state, const time_t &t, const control_vector_t &control, state_vector_t &derivative) override
 
virtual const state_matrix_tgetDerivativeState (const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))=0
 
virtual const state_control_matrix_tgetDerivativeControl (const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))=0
 
virtual void getDerivatives (state_matrix_t &A, state_control_matrix_t &B, const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))
 
- Public Member Functions inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
 ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 
 ControlledSystem (const ControlledSystem &arg)
 
virtual ~ControlledSystem ()
 
void setController (const std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR >> &controller)
 
void getController (std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR >> &controller) const
 
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, SCALAR > > getController ()
 
virtual void computeDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM, SCALAR > &derivative) override
 
virtual void computeControlledDynamics (const StateVector< STATE_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< STATE_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
 

Public Attributes

state_matrix_t A_
 
state_control_matrix_t B_
 
- Public Attributes inherited from ct::core::LinearSystem< state_dim, control_dim >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ControlledSystem< state_dim, control_dim, SCALARBase
 
- Public Attributes inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef System< STATE_DIM, SCALARBase
 
- Public Attributes inherited from ct::core::System< STATE_DIM, SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef SCALAR S
 

Additional Inherited Members

- Protected Attributes inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >
std::shared_ptr< Controller< STATE_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 control_dim>
class ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >

Linear system class for the GNMS unit test.

Member Typedef Documentation

◆ BASE

template<size_t state_dim, size_t control_dim>
using ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::BASE = core::LinearSystem<state_dim, control_dim>

◆ state_matrix_t

template<size_t state_dim, size_t control_dim>
typedef BASE::state_matrix_t ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::state_matrix_t

◆ state_control_matrix_t

template<size_t state_dim, size_t control_dim>
typedef BASE::state_control_matrix_t ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::state_control_matrix_t

Constructor & Destructor Documentation

◆ MIMOIntegratorLinear()

template<size_t state_dim, size_t control_dim>
ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::MIMOIntegratorLinear ( )
inline

Member Function Documentation

◆ getDerivativeState()

template<size_t state_dim, size_t control_dim>
const state_matrix_t& ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::getDerivativeState ( const core::StateVector< state_dim > &  x,
const core::ControlVector< control_dim > &  u,
const double  t = 0.0 
)
inlineoverride

◆ getDerivativeControl()

template<size_t state_dim, size_t control_dim>
const state_control_matrix_t& ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::getDerivativeControl ( const core::StateVector< state_dim > &  x,
const core::ControlVector< control_dim > &  u,
const double  t = 0.0 
)
inlineoverride

◆ clone()

template<size_t state_dim, size_t control_dim>
MIMOIntegratorLinear* ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::clone ( ) const
inlineoverridevirtual

Member Data Documentation

◆ A_

template<size_t state_dim, size_t control_dim>
state_matrix_t ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::A_

◆ B_

template<size_t state_dim, size_t control_dim>
state_control_matrix_t ct::optcon::example::MIMOIntegratorLinear< state_dim, control_dim >::B_

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