17
Lecture: Anti-windup techniques Automatic Control 2 Anti-windup techniques Prof. Alberto Bemporad University of Trento Academic year 2010-2011 Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 1 / 17

Ac2 09-anti windup

Embed Size (px)

Citation preview

Page 1: Ac2 09-anti windup

Lecture: Anti-windup techniques

Automatic Control 2

Anti-windup techniques

Prof. Alberto Bemporad

University of Trento

Academic year 2010-2011

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 1 / 17

Page 2: Ac2 09-anti windup

Lecture: Anti-windup techniques Saturation effects

Problem

G(z)x(k)

r(k)Kx(k)+Hr(k)

linearcontroller

u(k)saturation

Wednesday, June 2, 2010

Most control systems are designed based on linear theory

A linear controller is simple to implement and performance is good, as longas dynamics remain close to linear

Nonlinear effects require care, such as actuator saturation (always present)

Saturation phenomena, if neglected in the design phase, can lead toclosed-loop instability, especially if the process is open-loop unstable

Main reason: the control loop gets broken if saturation is not taken intoaccount by the controller: u(k) 6= Kx(k) for some k

[1] K.J. Åstrom, L. Rundqwist, “Integrator windup and how to avoid it”, Proc. American ControlConference, Vol. 2, pp. 1693-1698, 1989Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 2 / 17

Page 3: Ac2 09-anti windup

Lecture: Anti-windup techniques Saturation effects

Example: AFTI-F16 aircraft

Linearized model:

x =�−0.0151 −60.5651 0 −32.174−0.0001 −1.3411 0.9929 00.00018 43.2541 −0.86939 0

0 0 1 0

x+� −2.516 −13.136−0.1689 −0.2514−17.251 −1.5766

0 0

u

y =� 0 1 0 0

0 0 0 1

x

Inputs: elevator and flaperon(=flap+aileron) angles

Outputs: attack and pitch angles

Sampling time: Ts = 0.05 sec (+ ZOH)

Constraints: ±25◦ on both angles

Open-loop response: unstableopen-loop poles:−7.6636,−0.0075± 0.0556j, 5.4530

!"##$%

&'$()*+%,

-').,

/0'$%+1

/0'$%+12+130*"#01)'4)50,

6$%*07)'4)50,

2)*$%)'4)50,

!+''

80*79:);

Wednesday, June 2, 2010

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 3 / 17

Page 4: Ac2 09-anti windup

Lecture: Anti-windup techniques Saturation effects

Example: AFTI-F16 aircraft

LQR control + actuator saturation ±25◦

The system is unstable !

Actuator saturation cannot be neglected in the design of a good controller

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 4 / 17

Page 5: Ac2 09-anti windup

Lecture: Anti-windup techniques Saturation effects

Example: AFTI-F16 aircraft

With a controller designed to handle saturation constraints:

There are several techniques to handle input saturation, the most popularones are anti-windup techniques

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 5 / 17

Page 6: Ac2 09-anti windup

Lecture: Anti-windup techniques Saturation effects

Saturation function

Saturation can be defined as the static nonlinearity

sat(u) =

umin if u< uminu if umin ≤ u≤ umax

umax if u> umax

−2 −1 0 1 2−1

−0.5

0

0.5

1

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 thesaturation of all its components (umin, umax ∈ Rm)

sat(u) =

sat(u1)sat(u2)

...sat(um)

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 6 / 17

Page 7: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

The windup problem

reference output

input

To Workspace

integ

Saturation Process

1s

Integrator

1s

Gain

1

Derivative

du/dt

very simple process (=an integrator)controlled by a PID controller (KP = KI = KD = 1)

under saturation −0.1≤ u≤ 0.1

The output takes a long time to go steady-state

The reason is the “windup” of the integrator contained in the PID controller,which keeps integrating the tracking error even if the input is saturating

anti-windup schemes avoid such a windup effect

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 7 / 17

Page 8: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

Anti-windup #1: incremental algorithm

y(kT)r(KT)

u(kT)incremental PID

1

1 ! z!1 G(z)!u(kT )

Sunday, May 16, 2010

It only applies to PID control laws implemented in incremental form

u((k+ 1)T) = u(kT) +∆u(kT)

where∆u(kT) = u(kT)− u((k− 1)T)

Integration is stopped if adding a new ∆u(kT) causes a violation of thesaturation bound

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 8 / 17

Page 9: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

Anti-windup #2: Back-calculation

G(s)!"e

sTd Kp!

v yr uactuator

!!

!

PID

! !

1

s

1

Tt

!"Kp

Ti

anti-windup

et

Wednesday, June 2, 2010

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 PIDcontroller is reset

If the actual output u(t) of the actuator in not measurable, we can use amathematical model of the actuator. Example: et(t) = v(t)− sat(v(t))

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 9 / 17

Page 10: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

Anti-windup #2: Back-calculation

reference output

input

To Workspace

integ_aw

Saturation Process

1s

Integrator

1s

Gain

1

Derivative

du/dt

anti-windup scheme for a PID controller (KP = KI = KD = 1, Tt = 1)

Integrator windup is avoided thanks to back-calculation

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 10 / 17

Page 11: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

Benefits of the anti-windup scheme

Let’s look at the difference between having and not having an anti-windupscheme

0 10 20 30 40 50 60 70 800

0.5

1

1.5

2

outp

ut y

(t)

0 10 20 30 40 50 60 70 80−0.1

−0.05

0

0.05

0.1

inpu

t u(t

)

0 10 20 30 40 50 60 70 80−5

0

5

inte

gral

term

i(t)

time t

Note that in case of windup we have

strong output oscillations

a longer time to reach thesteady-state

the peaks of control signal

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 11 / 17

Page 12: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: Ad hoc methods

Anti-windup #3: Conditional integration

The PID control law is

u(t) = Kp(br(t)− y(t)) + I(t)−KpTddy(t)

dt= Kpbr(t)−Kpyp(t) + I(t)

where yp(t) = y(t) + Tddy(t)

dtis the prediction of the output for time t+ Td

Consider the proportional band [yl(t), yh(t)] for yp(t) in which thecorresponding u is not saturating

yl(t) = br(t) +I(t)− umax

Kp

yh(t) = br(t) +I(t)− umin

Kp

where umin and umax are the saturation limits of the actuatorThe idea of conditional integration is to update the integral term I(t) onlywhen 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

Page 13: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: General methods

Anti-windup #4: Observer approach

The anti-windup method applies todynamic compensators

x(k+ 1) = Ax(k) + Bu(k)+L(y(k)− Cx(k))

u(k) = Kx(k) +Hr(k)

by simply feeding the saturatedinput to the observer

x(k+ 1) = Ax(k) + B sat(v(k)))+L(y(k)− Cx(k))

v(k) = Kx(k) +Hr(k)

u(k) = sat(v(k))

x(k) y(k)A,B

u(k)C

.1$1-

-.1&%$1,+

!"#$%&'$()*+,'-..)/0).$12+$1&,#

r(k)K

x(k)ˆ++H

saturation

v(k)

Wednesday, June 2, 2010

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 13 / 17

Page 14: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: General methods

Example

The process to be controlled is obtained by exactly sampling

x =

−1.364 0.4693 0.736 1.131−1.08 −1.424 0.1945 −0.71320.0499 0.8704 −0.9675 −0.3388−0.9333 0.8579 −0.5436 −0.9997

x+� 0.05574

0−0.04123−1.128

u

y = [−1.349 0 0.9535 0.1286 ]x

with T = 0.5sThe input u saturates between ±2Control 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))v(k) = Kx(k) +Hr(k)

with

K =� 0.4718−1.5344−2.82532.1819

�′

, L=� 1.1821

1.19244.2054−3.6554

, H = 1/(C(I− A− BK)−1B) = 8.2668

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 14 / 17

Page 15: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: General methods

Example (cont’d)

Compare the results with anti-windup and without anti-windup:

0 5 10 15 20 25 30 35 40 45 50−1

−0.5

0

0.5

1

1.5ou

tput

y(t

)

0 5 10 15 20 25 30 35 40 45 50−2

−1

0

1

2

inpu

t u(t

)

time t

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 15 / 17

Page 16: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: General methods

Conclusions

Conditional integration is easy to apply to many controllers, although it maynot be immediate to find the conditions to block integration and to avoidchattering

Back-calculation only requires tuning one parameter, the time constant Tt.But it only applies to PID control

The observer approach is very general and does not require tuning anyadditional parameter. It also applies immediately to MIMO (multi-inputmulti-output) systems

Saturation effects can be included in an optimal control formulation. In thiscase the control action is decided by a constrained optimization algorithm, asin model predictive control (MPC) techniques

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 16 / 17

Page 17: Ac2 09-anti windup

Lecture: Anti-windup techniques Anti-windup schemes: General methods

English-Italian Vocabulary

anti-windup scheme schema di anti-windupaileron alettonepitch beccheggioroll rollioyaw imbardatamodel predictive control controllo predittivo

Translation is obvious otherwise.

Prof. Alberto Bemporad (University of Trento) Automatic Control 2 Academic year 2010-2011 17 / 17