Professional Documents
Culture Documents
AC2 09 AntiWindup PDF
AC2 09 AntiWindup PDF
Automatic Control 2
Anti-windup techniques
University of Trento
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 1 / 17
Lecture: Anti-windup techniques Saturation effects
Problem
Kx(k)+Hr(k)
saturation
r(k)
linear u(k) x(k)
controller G(z)
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 3 / 17
Lecture: Anti-windup techniques Saturation effects
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 4 / 17
Lecture: Anti-windup techniques Saturation effects
There are several techniques to handle input saturation, the most popular
ones are anti-windup techniques
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 5 / 17
Lecture: Anti-windup techniques Saturation effects
Saturation function
Saturation can be defined as the static nonlinearity
1
u < umin
0.5
umin if
sat(u) = u if umin ≤ u ≤ umax 0
−1
−2 −1 0 1 2
umin and umax are the minimum and maximum allowed actuation signals
(example: ±12 V for a DC motor)
If u is a vector with m components, the saturation function is defined as the
saturation of all its components (umin , umax ∈ Rm )
sat(u1 )
sat(u2 )
sat(u) =
..
.
sat(um )
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 6 / 17
Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods
du/dt
Derivative input
1
1 s
reference Gain Saturation Process output
1
s integ
Integrator To Workspace
r(KT)
incremental ∆u(kT ) 1 u(kT) y(kT)
PID 1 − z −1
G(z)
where
∆u(kT) = u(kT) − u((k − 1)T)
Integration is stopped if adding a new ∆u(kT) causes a violation of the
saturation bound
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 8 / 17
Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods
PID
r ! "e ! ! v u y
sTd
!
Kp actuator G(s)
!
Kp 1 " !
Ti ! ! s
1 et
anti-windup Tt
The anti-windup scheme has no effect when the actuator is not saturating
(et (t) = 0)
The time constant Tt determines how quickly the integrator of the PID
controller is reset
If the actual output u(t) of the actuator in not measurable, we can use a
mathematical model of the actuator. Example: et (t) = v(t) − sat(v(t))
Wednesday, June 2, 2010
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 9 / 17
Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods
du/dt
Derivative input
1
1 s
reference Gain Saturation Process output
integ_aw
To Workspace
1
s
Integrator
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 10 / 17
Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods
Let’s look at the difference between having and not having an anti-windup
scheme
2
output y(t)
1.5
0.5
0
0 10 20 30 40 50 60 70 80
Note that in case of windup we have
0.1
strong output oscillations
input u(t)
0.05
0
a longer time to reach the
−0.05
−0.1
0 10 20 30 40 50 60 70 80
steady-state
the peaks of control signal
integral term i(t)
−5
0 10 20 30 40 50 60 70 80
time t
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 11 / 17
Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods
where umin and umax are the saturation limits of the actuator
The idea of conditional integration is to update the integral term I(t) only
when yp is within the proportional band (for PI control simply set yp = y)
An hysteresis effect may be included to prevent chattering
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 12 / 17
Lecture: Anti-windup techniques Anti-windup schemes: General methods
x̂(k + 1) = Ax̂(k) + Bu(k)
+L(y(k) − Cx̂(k))
r(k) + + ˆ
x(k) .1$1-
H K
u(k) = Kx̂(k) + Hr(k)
-.1&%$1,+
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 13 / 17
Lecture: Anti-windup techniques Anti-windup schemes: General methods
Example
The process to be controlled is obtained by exactly sampling
−1.364 0.4693 0.736 1.131
0.05574
ẋ = 0.0499 0.8704 −0.9675 −0.3388 x + −0.04123 u
−1.08 −1.424 0.1945 −0.7132 0
−0.9333 0.8579 −0.5436 −0.9997 −1.128
y = [ −1.349 0 0.9535 0.1286 ] x
with T = 0.5s
The input u saturates between ±2
Control design by pole placement: poles in e−5T , e−5T , e(−2±j)T
Observer design by pole placement: 4 poles in e−10T
The dynamic compensator is
x̂(k + 1) = Ax̂(k) + B sat(v(k)) + L(y(k) − Cx̂(k))
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 14 / 17
Lecture: Anti-windup techniques Anti-windup schemes: General methods
Example (cont’d)
Compare the results with anti-windup and without anti-windup:
1.5
1
output y(t)
0.5
−0.5
−1
0 5 10 15 20 25 30 35 40 45 50
1
input u(t)
−1
−2
0 5 10 15 20 25 30 35 40 45 50
time t
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 15 / 17
Lecture: Anti-windup techniques Anti-windup schemes: General methods
Conclusions
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 16 / 17
Lecture: Anti-windup techniques Anti-windup schemes: General methods
English-Italian Vocabulary
Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 17 / 17