- 3.0.2 core module.
LinearizedOscillator Class Reference

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

Inheritance diagram for LinearizedOscillator:
ct::core::LinearSystem< 2, 1 > ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, double > ct::core::System< STATE_DIM, double >

Public Member Functions

const state_matrix_tgetDerivativeState (const StateVector< 2 > &x, const ControlVector< 1 > &u, const double t=0.0) override
 
const state_control_matrix_tgetDerivativeControl (const StateVector< 2 > &x, const ControlVector< 1 > &u, const double t=0.0) override
 
LinearizedOscillatorclone () const override
 deep cloning More...
 
- Public Member Functions inherited from ct::core::LinearSystem< 2, 1 >
 LinearSystem (const ct::core::SYSTEM_TYPE &type=ct::core::SYSTEM_TYPE::GENERAL)
 default constructor More...
 
virtual ~LinearSystem ()
 destructor More...
 
virtual void computeControlledDynamics (const state_vector_t &state, const time_t &t, const control_vector_t &control, state_vector_t &derivative) override
 compute the system dynamics More...
 
virtual const state_matrix_tgetDerivativeState (const state_vector_t &x, const control_vector_t &u, const time_t t=time_t(0.0))=0
 get the A matrix of a linear system More...
 
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
 get the B matrix of a linear system More...
 
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))
 Get both linear system matrices A and B in one call. More...
 
- Public Member Functions inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, double >
 ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 default constructor More...
 
 ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, double >> controller, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 constructor More...
 
 ControlledSystem (const ControlledSystem &arg)
 copy constructor More...
 
virtual ~ControlledSystem ()
 destructor More...
 
void setController (const std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double >> &controller)
 set a new controller More...
 
void getController (std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double >> &controller) const
 get the controller instance More...
 
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double > > getController ()
 get the controller instace More...
 
virtual void computeDynamics (const StateVector< STATE_DIM, double > &state, const time_t &t, StateVector< STATE_DIM, double > &derivative) override
 compute the dynamics of the system More...
 
ControlVector< CONTROL_DIM, double > getLastControlAction ()
 
- Public Member Functions inherited from ct::core::System< STATE_DIM, double >
 System (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
 default constructor More...
 
 System (const System &other)
 copy constructor More...
 
virtual ~System ()
 destructor More...
 
virtual void computeDynamics (const StateVector< STATE_DIM, double > &state, const time_t &t, StateVector< STATE_DIM, double > &derivative)=0
 computes the system dynamics More...
 
SYSTEM_TYPE getType () const
 get the type of system More...
 
virtual bool isSymplectic () const
 Determines if the system is in symplectic form. More...
 

Public Attributes

state_matrix_t A_
 
state_control_matrix_t B_
 
- Public Attributes inherited from ct::core::LinearSystem< 2, 1 >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ControlledSystem< STATE_DIM, CONTROL_DIM, double > Base
 
- Public Attributes inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, double >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef System< STATE_DIM, double > Base
 
- Public Attributes inherited from ct::core::System< STATE_DIM, double >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef double S
 the scalar type More...
 

Additional Inherited Members

- Public Types inherited from ct::core::LinearSystem< 2, 1 >
typedef Base::time_t time_t
 
typedef StateVector< STATE_DIM, double > state_vector_t
 state vector type More...
 
typedef ControlVector< CONTROL_DIM, double > control_vector_t
 input vector type More...
 
typedef StateMatrix< STATE_DIM, double > state_matrix_t
 state Jacobian type More...
 
typedef StateControlMatrix< STATE_DIM, CONTROL_DIM, double > state_control_matrix_t
 input Jacobian type More...
 
- Public Types inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, double >
typedef std::shared_ptr< ControlledSystem< STATE_DIM, CONTROL_DIM, double > > Ptr
 
typedef Base::time_t time_t
 
- Public Types inherited from ct::core::System< STATE_DIM, double >
typedef double time_t
 the type of the time variable More...
 
- Protected Attributes inherited from ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, double >
std::shared_ptr< Controller< STATE_DIM, CONTROL_DIM, double > > controller_
 the controller instance More...
 
ControlVector< CONTROL_DIM, double > controlAction_
 
- Protected Attributes inherited from ct::core::System< STATE_DIM, double >
SYSTEM_TYPE type_
 type of system More...
 

Detailed Description

Linear system class for the GNMS unit test.

Member Function Documentation

◆ getDerivativeState()

const state_matrix_t& LinearizedOscillator::getDerivativeState ( const StateVector< 2 > &  x,
const ControlVector< 1 > &  u,
const double  t = 0.0 
)
inlineoverride

◆ getDerivativeControl()

const state_control_matrix_t& LinearizedOscillator::getDerivativeControl ( const StateVector< 2 > &  x,
const ControlVector< 1 > &  u,
const double  t = 0.0 
)
inlineoverride

◆ clone()

LinearizedOscillator* LinearizedOscillator::clone ( ) const
inlineoverridevirtual

deep cloning

Implements ct::core::LinearSystem< 2, 1 >.

Member Data Documentation

◆ A_

state_matrix_t LinearizedOscillator::A_

◆ B_

state_control_matrix_t LinearizedOscillator::B_

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