- 3.0.2 core module.
|
Interface class for all controllers. More...
#include <DiscreteController.h>
Public Types | |
typedef ControlVector< CONTROL_DIM, SCALAR > | control_vector_t |
Public Member Functions | |
DiscreteController () | |
Default constructor. More... | |
DiscreteController (const DiscreteController &other) | |
Copy constructor. More... | |
virtual | ~DiscreteController () |
Destructor. More... | |
virtual DiscreteController * | clone () const =0 |
Deep cloning. More... | |
virtual void | computeControl (const state_vector_t &state, const int n, control_vector_t &controlAction)=0 |
Compute control signal. More... | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef StateVector< STATE_DIM, SCALAR > | state_vector_t |
Interface class for all controllers.
This is a pure interface class for Controllers that can be fed to any ControlledSystem. Any custom controller should derive from this class to ensure it is compatible with ControlledSystem and the Integrator.
typedef ControlVector<CONTROL_DIM, SCALAR> ct::core::DiscreteController< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_t |
|
inline |
Default constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
|
pure virtual |
Deep cloning.
Has to be implemented by any custom controller.
Implemented in ct::core::StateFeedbackController< STATE_DIM, CONTROL_DIM, SCALAR >, and ct::core::ConstantController< STATE_DIM, CONTROL_DIM, SCALAR >.
Referenced by ct::core::DiscreteController< STATE_DIM, CONTROL_DIM, SCALAR >::~DiscreteController().
|
pure virtual |
Compute control signal.
Evaluate the given controller for a given state and time index returns the computed control action.
This function has to be implemented by any custom controller
state | current state of the system |
n | current time index of the system |
controlAction | the corresponding control action |
Referenced by ct::core::DiscreteController< STATE_DIM, CONTROL_DIM, SCALAR >::~DiscreteController().
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef StateVector<STATE_DIM, SCALAR> ct::core::DiscreteController< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_t |