Implementation of an input disturbed system where, the dimension of the disturbance is equal to the dimension of the control input, thus DIST_DIM = CONTROL_DIM. This is a special case, however it occurs often and is convenient to have as separate class.
More...
|
| | InputDisturbedSystem (std::shared_ptr< ct::core::ControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR >> sys) |
| | Construct a new Input Disturbed System object. More...
|
| |
| | InputDisturbedSystem (const InputDisturbedSystem &other) |
| | copy constructor More...
|
| |
| InputDisturbedSystem * | clone () const override |
| | deep cloning More...
|
| |
| void | computeControlledDynamics (const ct::core::StateVector< AUGMENTED_STATE_DIM, SCALAR > &state, const SCALAR &t, const ct::core::ControlVector< CONTROL_DIM, SCALAR > &control, ct::core::StateVector< AUGMENTED_STATE_DIM, SCALAR > &derivative) override |
| | compute the dynamics (the left-hand-side of the dynamics equation) for the disturbance-augmented system More...
|
| |
| | DisturbedSystem () |
| | Constructor. More...
|
| |
| | DisturbedSystem (std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller) |
| | Copy constructor. More...
|
| |
| virtual | ~DisturbedSystem ()=default |
| |
| void | setController (const std::shared_ptr< ct::core::Controller< STATE_DIM, CONTROL_DIM, SCALAR >> controller) |
| |
| virtual void | computeControlledDynamics (const ct::core::StateVector< AUGMENTED_DIM, SCALAR > &state, const SCALAR &t, const ct::core::ControlVector< CONTROL_DIM, SCALAR > &control, ct::core::StateVector< AUGMENTED_DIM, SCALAR > &derivative)=0 |
| | Implementation of the base computeControlledDynamics method. More...
|
| |
| | ControlledSystem (const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL) |
| |
| | ControlledSystem (std::shared_ptr< ct::core::Controller< STATE_DIM+DIST_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+DIST_DIM, CONTROL_DIM, SCALAR >> &controller) |
| |
| void | getController (std::shared_ptr< Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR >> &controller) const |
| |
| std::shared_ptr< Controller< STATE_DIM+DIST_DIM, CONTROL_DIM, SCALAR > > | getController () |
| |
| virtual void | computeDynamics (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const time_t &t, StateVector< STATE_DIM+DIST_DIM, SCALAR > &derivative) override |
| |
| virtual void | computeControlledDynamics (const StateVector< STATE_DIM+DIST_DIM, SCALAR > &state, const time_t &t, const ControlVector< CONTROL_DIM, SCALAR > &control, StateVector< STATE_DIM+DIST_DIM, SCALAR > &derivative)=0 |
| |
| ControlVector< CONTROL_DIM, SCALAR > | getLastControlAction () |
| |
| | 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 |
| |
template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::optcon::InputDisturbedSystem< STATE_DIM, CONTROL_DIM, SCALAR >
Implementation of an input disturbed system where, the dimension of the disturbance is equal to the dimension of the control input, thus DIST_DIM = CONTROL_DIM. This is a special case, however it occurs often and is convenient to have as separate class.
The new state vector has the form x_aug = [x_system + disturbance];
- Note
- this system should not be for simulation, but for filtering. It is not suitable for simulation since the disturbance state gets mapped back to the control input.
- Template Parameters
-
| STATE_DIM | state dimension |
| CONTROL_DIM | |
| double | |
- Examples:
- KalmanDisturbanceFiltering.cpp.