![]() |
- 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 |