Disturbed controller allows us to augment the controller so that all the CT interfaces and dimensions are satisfied. Augmenting is done in such a way that the nominal controller is wrapped and all the nominal states are controlled in the same way as before augmenting the state. The augmented state (the disturbance part) is assumed constant, thus the computed derivates of that part of the state are set to zero.
More...
|
| DisturbedSystemController (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller=nullptr) |
| Constructor. Takes in the nominal controller. More...
|
|
| DisturbedSystemController (const DisturbedSystemController &other) |
| Copy constructor. More...
|
|
DisturbedSystemController * | clone () const override |
| Clone method. More...
|
|
void | computeControl (const ct::core::StateVector< AUGMENTED_DIM, SCALAR > &state, const SCALAR &t, ct::core::ControlVector< CONTROL_DIM, SCALAR > &controlAction) override |
| Implementation of the base computeControl method. More...
|
|
ct::core::ControlMatrix< CONTROL_DIM, SCALAR > | getDerivativeU0 (const ct::core::StateVector< AUGMENTED_DIM, SCALAR > &state, const SCALAR time) override |
| Implementation of the base getDerivativeU0 method. More...
|
|
ct::core::ControlMatrix< CONTROL_DIM, SCALAR > | getDerivativeUf (const ct::core::StateVector< AUGMENTED_DIM, SCALAR > &state, const SCALAR time) override |
| Implementation of the base getDerivativeUf method. More...
|
|
void | setController (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller) |
| Sets the nominal controller. More...
|
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | Controller () |
|
| Controller (const Controller &other) |
|
virtual | ~Controller () |
|
virtual void | computeControl (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const SCALAR &t, ControlVector< CONTROL_DIM, SCALAR > &controlAction)=0 |
|
virtual ControlMatrix< CONTROL_DIM, SCALAR > | getDerivativeU0 (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const SCALAR time) |
|
virtual ControlMatrix< CONTROL_DIM, SCALAR > | getDerivativeUf (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const SCALAR time) |
|
template<size_t STATE_DIM, size_t DIST_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::optcon::DisturbedSystemController< STATE_DIM, DIST_DIM, CONTROL_DIM, SCALAR >
Disturbed controller allows us to augment the controller so that all the CT interfaces and dimensions are satisfied. Augmenting is done in such a way that the nominal controller is wrapped and all the nominal states are controlled in the same way as before augmenting the state. The augmented state (the disturbance part) is assumed constant, thus the computed derivates of that part of the state are set to zero.
- Template Parameters
-
STATE_DIM | nominal state dimensionality |
DIST_DIM | dimensionality of the disturbance |
CONTROL_DIM | |