Advances in PID Control: Karl Johan Åström
Advances in PID Control: Karl Johan Åström
Advances in PID Control: Karl Johan Åström
The left hand side converges to a constant and the left hand side
does not converge to a constant unless e0 = 0, furthermore
Z ∞
u(∞) = ki e(τ ) − e0 dτ
0
A controller with integral action will always give the correct steady
state provided that a steady state exists. Sometimes expressed as it
adapts to changing disturbances.
Predictions about PID Control
◮ 1982: The ASEA Novatune Team 1982 (Novatune is a
useful general digital control law with adaptation):
PID Control will soon be obsolete
◮ 1989: Conference on Model Predictive Control:
Using a PI controller is like driving a car only looking at the
rear view mirror: It will soon be replaced by Model
Predictive Control.
◮ 2002: Desborough and Miller (Honeywell):
Based on a survey of over 11 000 controllers in the refining,
chemicals and pulp and paper industries, 98% of regulatory
controllers utilise PID feedback. The importance of PID
controllers has not decreased with the adoption of
advanced control, because advanced controllers act by
changing the setpoints of PID controllers in a lower
regulatory layer.The performance of the system depends
critically on the behavior of the PID controllers.
◮ 2016: Sun Li
A recent investigation of 100 boiler-turbine units in the
Guangdong Province in China showed 94.4% PI, 3.7% PID
and 1.9% advanced controllers
Entech Experience & Protuner Experiences
Bill Bialkowsk Entech - Canadian consulting company for pulp
and paper industry Average paper mill has 3000-5000 loops,
97% use PI the remaining 3% are PID, MPC, adaptive etc.
◮ 50% works well, 25% ineffective, 25% dysfunctional
Major reasons why they don’t work well
◮ Poor system design 20%
◮ Problems with valve, positioners, actuators 30%
◮ Bad tuning 30%
Process Performance is not as good as you think. D. Ender,
Control Engineering 1993.
◮ More than 30% of installed controllers operate in manual
◮ More than 30% of the loops increase short term variability
◮ About 25% of the loops use default settings
◮ About 30% of the loops have equipment problems
PID versus More Advanced Controllers
Error Present
Past Future
Time
t t + Td
t dy dyf
Z
sp
u(t) = kp β ysp (t) − yf (t) + ki ysp (τ ) − yf (τ ) dτ + kd γ −
0 dt dt
6
10
Pubications per year
4
10
2
10
0
10
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Year
1. Introduction
2. Requirements
3. Tradeoffs
4. PI Control
5. PID Control
6. Relay Auto-tuners
7. Summary
Requirements
d n
ysp ym e u x y
F Σ C Σ P Σ
−1
Controller Process
0 1 0
d x1 x1
= + y,
dt x2 −Tf−2 −Tf−1 x2 Tf−2
has the states x1 = yf and x2 = dyf /dt. The filter thus gives
filtered versions of the measured signal and its derivative. The
second-order filter also provides good high-frequency roll-off.
Tune for Load Disturbances - Shinskey 1993
“The user should not test the loop using set-
point changes if the set point is to remain
constant most of the time. To tune for fast
recovery from load changes, a load distur-
bance should be simulated by stepping the
controller output in manual, and then trans-
ferring to auto. For lag-dominant processes,
the two responses are markedly different.”
t dr dy
Z
− f
u(t) = kp β r (t) − yf (t) + ki r (τ ) − yf (τ ) dτ + kd γ
0 dt dt
1
Yf (s) = Y (s)
1 + sTf + s2 Tf 2 /2
Assessment of Disturbance Reduction
Ycl 1
= =S
Yol 1 + PC
P sP(s) s s
Gyd = = SP ( ( $K (
1 + PC s + Kki s + Kki ki
0
10
pGxd (ω )p
−1
10
−2
10
−2 −1 0 1
10 10 10 10
ω
Criteria and FOTD Model
Traditionally the criteria
Z ∞ Z ∞ Z ∞
IE = e(t)dt , IAE = pe(t)pdt , IE2 = e2 (t)dt
Z0 ∞ 0
Z ∞ 0
2 2
ITAE = t pe(t)pdt , QE = (e (t) + ρ u (t))dt
0 0
1
Z ∞
u(∞) = ki e(t)dt , IE =
0 ki
u x y
CPID Σ P Σ
−Gg
Controller Process
C s ki + kp s + kd s2
−Gun (s) = − = −SC ( − $
1 + PC s + Kki s(1 + sTf + (sTf )2 /2)
0 0 0
10 10 10
−1 −1 −1
10 10 10
−2 0 2 4 −2 0 2 −2 0 2
10 10 10 10 10 10 10 10 10 10
1 1 1
10 10 10
PID
0 0 0
10 10 10
−1 −1 −1
10 10 10
−2 0 2 4 −2 0 2 4 −2 0 2
10 10 10 10 10 10 10 10 10 10 10
1. Introduction
2. Requirements
3. Tradeoffs
4. PI Control
5. PID Control
6. Relay Auto-tuners
7. Summary
Load Disturbance Attenuation and Robustness
◮ Performance (IAE= 1/ki blue) and robustness (Ms , Mt red)
◮ IE level curves are horizontal lines (P(s) = (s + 1)−4
1
0.9
0.8
0.7
1.8
0.6
1.6
ki
2
0.5
1.4
0.4
1.9
0.3 1.7
1.2 1.5
0.2
1.3
0.1
0
0 0.1 0.2 0.3 0.4 0.5
kp
Little difference IE and IAE for ki < 0.4 and robust systems Ms < 1.6
Approximately: ki gives performance and kp sets robustness
Load Disturbance Attenuation and Noise Injection
1
Process: P(s) = e−s τ = 0.09 lag dominated!
1 + 0.1s
k 1
Controller: C = kp + i + kd s $
s 1 + sTf + (sTf )2 /2
MIGO design without filtering: kp = 2.78, Ti = 47.2, Td = 11.6
2
10
IE
1
10
0
10
0 1 2
10 10 10
kn
Outline
1. Introduction
2. Requirements
3. Tradeoffs
4. PI Control
5. PID Control
6. Relay Auto-tuners
7. Summary
Design Process
Models - Essentially monotone step responses
Ziegler-Nichols - Two parameters
The FOTD model - Three parameters K , L, T
◮ G(s) = K e−sL
1+sT
◮ Normalized time delay τ = L , 0 ≤ τ ≤ 1
L+T
◮ Lag (small τ ) and delay dominated dynamics τ close to one
More complex models
The test batch - essentially monotone dynamics
◮ Heritage of Eurotherm and Mike Sommerville
◮ 123 processes
0.8
0.6
y
0.4
0.2
−0.2
0 0.5 1 1.5 2 2.5 3 3.5 4
x
Robustness Ms Mt
ℑ L(i ω )
Measurement noise SDU
Noise gain kn
−1
◮ Loop transfer function
ki
Gl = PGf kp + + kd s
s −2
−2 −1 0
github.com/JuliaControl/ControlSystems.jl/
PI Control: Minimize IAE, Ms , Mt ≤ 1.4
2 Kkp vs τ akp vs τ
10
1
10
1
10
0
0 10
10
−1 −1
10 10
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
2 Ti /T vs τ Ti /L vs τ
10
1
10
0
10 0
10
−2 −1
10 10
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
0.9 0.27
kp = ki = Ti = L/0.3
K v L3
, ,
Kv L
◮ Ziegler-Nichols frequency
ku
kp = 0.45ku , ki = 0.54 , Ti = Tu /1.2
Tu
◮ Lambda Tuning - Tcl = T , 2T , 3T
T 1
kp = , ki = , Ti = T
K (Tcl + L) K (Tcl + L)
◮ Skogestad SIMC Like Lambda but Ti = min(T , 4(Tcl + L))
◮ Skogestad SIMC+
T + L/3
kp = , Ti = min(T + L/3, 4(Tcl + L))
K (Tcl + L)
◮ AMIG0 (Ms , Mt = 1.4)
0.15 LT T 13LT 2
kp = + 0.35 − Ti = 0.35L +
(L + T )2 KL T 2 + 12LT + 7L2
,
K
Tuning – Lag-Dominated Dynamics
Lagdominant
20
1.9
18 S S+
16
14
12
1.6
ki
10
8 S S+
A
6
S S+
4 21.8
1.7
1.5
1.4
2 1.3
1.2
0
λ
0 2 4 6 8 10
kp
0.35
0.25 2
1.8
λ
S
ki
S+
0.2 1.6
1.5 A 1.7
0.15
S
S+ λ
1.3
S
S+λ
0.1
0
0 0.2 0.4 0.6 0.8 1 1.2
kp
0.9 λ
0.8
λ
λ 2
0.7
1.9
0.6 1.8
1.7
S 1.6
ki
0.5
A S+
0.4 1.4
0.3
S S+
S 1.2 S+
0.2
1.5
0.1 1.3
ZN
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
kp
1. Introduction
2. Requirements
3. Tradeoffs
4. PI Control
5. PID Control
6. Relay Auto-tuners
7. Summary
Difficulties with Derivative Action
◮ Shapes of stability region - don’t fall off the cliff
0.8
0.6
ki
0.4
0.2
0
0
0.5 3.5
3
2.5
1 2
1.5
1
0.5
kp 1.5 0
kd
◮ Filtering necessary
√
Temperature Control P(s) = e − s
11.54 48.25
CPI (s) = 2.94 + CPID (s) = 7.40 + + 0.46s
s s
IE = 0.086, IAE = 0.10 IE = 0.021, IAE = 0.031
0.2 1
0.1
0
ℑ L(i ω )
−1
0 1 2 3
Control signal, u(t)
−2
0.5
0
−0.5 −3
−3 −2 −1 0 1
−1
ℜ L(i ω )
−1.5
0 1 2 3
IE or IAE for P = (s + 1)−3
1
6.62
CIE = 3.31 + + 6.26s 0.5
s 0
IAE = 0.74
−0.5
3.20
Cκ = 3.61 + + 3.34s −1
s
= 0.57
−1.5
IAE
3.33
−2
IAE = 0.53 −3
−3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1
0.2
0.15
0.1
0.05
−0.05
−0.1
0 2 4 6 8 10 12 14 16 18 20
PID Control: Minimize IAE, Ms , Mt ≤ 1.4
2
10 Kkp vs τ 2
10
aK = kp KL/T vs τ
1 1
10 10
0 0
10 10
−1 −1
10 10
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
1
10
Ti /T vs τ 2
10
Ti /L vs τ
0 1
10 10
−1 0
10 10
−2 −1
10 10
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
1
10
Td /T vs τ 1
10
Td /L vs τ
0 0
10 10
−1 −1
10 10
−2 −2
10 10
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
2
ki [PID]/ki [PI] vs τ
10
1
10
0
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
K K
circles: P(s) = e−sL , squares: P(s) = e−sL
1 + sT (1 + sT )2
1. Introduction
2. Requirements
3. Tradeoffs
4. PI Control
5. PID Control
6. Relay Auto-tuning
7. Summary
Relay Auto-tuning
0.5
0
y
−0.5
−1
0 5 10 15 20 25 30
t
y
0 0
−5 −1
10 11 12 13 14 15 16
10 2
5 1
u
y
0 0
−5 −1
0 10 20 30 40 50
10 2
5 1
u
y
0 0
−5 −1
10 12 14 16 18 20 22
Time [s]
0.08
0.06
|U|2
R
0.04
|U|2
0.02
0.00
0 1 2 3 4 5 6 7 8 9 10
ω [rad/s]
2
u(t)
−2
−4
0 1 2 3 4 5 6 7 8 9 10
1
u(t)dt
0.8
0.6
0.4
Rt
0.2
0
0 1 2 3 4 5 6 7 8 9 10
t
0 0
10 10
−1 −1
10 10
−2 −2
10 10
−2 −1 0 1 2 −2 −1 0 1 2
10 10 10 10 10 10 10 10 10 10
0 0
−90 −90
−180 −180
−270 −270
−2 −1 0 1 2 −2 −1 0 1 2
10 10 10 10 10 10 10 10 10 10
Outline
1. Introduction
2. Requirements
3. Tradeoffs
4. PI Control
5. PID Control
6. Relay Auto-tuners
7. Summary
Summary