Anti Windup
- class gem_controllers.stages.anti_windup.AntiWindup(control_task='CC')[source]
This class should prevent a Windup of a the intgration part of the controller. A windup arises when a reference variable is in the limit and the I controller is still integrated, so that it takes more time for the controlled variable to go under the limit again. To prevent this, only the I controllers whose controlled variable is below the limits are integrated.
- Parameters
control_task (str) – Control task of the controller.
- __call__(state, reference, clipping_difference)[source]
Limits the integrative part in the base-controllers.
If any output of the controller was clipped, the integration on this path is stopped.
- Parameters
state (np.ndarray) – The state of the environment.
reference (np.ndarray) – The reference that was input into the controller to limit.
clipping_difference (np.ndarray) – The amount of clipping that was put on the output action of the controller.
- Returns
The amount how much the integrator-value is altered.
- Return type
np.ndarray