Skip to content

Change integrator antiwindup behavior so better suited to MIMO problems #12

@mfbolus

Description

@mfbolus

Is your feature request related to a problem? Please describe.
When actuator saturates, the integral error can continue to integrate, which makes the controller sluggish to responding future changes in the opposite direction.

Describe the solution you would like.
I am not settled on a solution as yet. One possible solution is if the controller is saturated, set the reference output/state to their values at saturation or simply do not integrate. The former is known as conditioning (Hanus 1987) and the latter is "conditional integration" which is an old technique and ad hoc. The benefit, however, is that it would generalize to MIMO. See Astrom+Rudqwist 1989 for survey of such methods.

Describe alternatives you have considered.
Currently, the way antiwindup is handled in an ad hoc manner known as (gradual) back-calculation (Astrom+Rudqwist 1989, Astrom+Murray 2009). This "works" if set up appropriately, but is most applicable to SISO systems. In the library, there is a hack for expanding to MIMO, but this should really be avoided

Additional Context
N/A

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions