Signals and Systems - Performance
Signals and Systems - Performance
Jake Nease
McMaster University
1
Topic Outline
▪ Designing controllers based on tuning correlations
– Cohen-Coon
– ITAE
– Ciancone
Section10: Controller_Design 2
Measuring Controller Performance
Easy 12.
3
1
The Tuning Procedure 𝐺𝐶 𝑠 = 𝐾𝐶 +
𝜏𝐼 𝑠
+ 𝐾𝐷 𝑠
▪ Tuning a PID controller involves the selection of the controller parameters 𝐾𝐶 , 𝜏𝐼 and
𝐾𝐷 in order to optimize the performance of the closed-loop system
Section10: Controller_Design 4
The Tuning Procedure
1
𝐺𝐶 𝑠 = 𝐾𝐶 + + 𝐾𝐷 𝑠
𝜏𝐼 𝑠
▪ The process generally turns into an optimization problem wherein the objective is to
minimize some quantitative measure of the controller’s performance:
min 𝜙 = 𝑓 𝑡, 𝑦, 𝐾𝐶 , 𝜏𝐼 , 𝐾𝐷 …
𝐾𝐶 ,𝜏𝐼 ,𝐾𝐷
Section10: Controller_Design 5
Tuning Optimization Objectives 𝜙
▪ Integral Absolute Error (IAE) ∞ ∞
𝐼𝐴𝐸 = න 𝑟 𝑡 − 𝑦 𝑡 𝑑𝑡 = න 𝜖 𝑡 𝑑𝑡
– Most popular – penalizes all errors equally 0 0
Section10: Controller_Design 6
Examples from MATLAB
∞
𝐼𝐴𝐸 = න 𝜖 𝑡 𝑑𝑡
0
∞
𝐼𝑆𝐸 = න 𝜖 𝑡 2 𝑑𝑡
0
∞
𝐼𝑇𝐴𝐸 = න 𝑡 𝜖 𝑡 𝑑𝑡
0
∞
𝐼𝑇𝑆𝐸 = න 𝑡𝜖 𝑡 2 𝑑𝑡
0
Section10: Controller_Design 7
Where to Start?
▪ This is all well and good… how do we come up with a starting point?
▪ We can use these measures of error (and the work of others) to choose a
combination of tuning parameters that should perform well for FO processes
▪ These methods aim to provide a good baseline error value… then, we can focus on
one of the optimization objectives we discussed to fine tune parameters
Section10: Controller_Design 8
Controller Design Correlations
Like a bladed sand wedge onto the green.
9
Some Important Notes
▪ The following methods are good for systems that can be approximated as first-order plus
dead time models
𝐾𝑒 −𝜃𝑠
𝐺𝑃 𝑠 ≈
𝜏𝑠 + 1
▪ It is also important that the “process” includes any measurement and actuation dynamics
(aka sensor dynamics 𝐺𝑀 and 𝐺𝑉 )
– If these are not known ahead of time, the following procedures will still work, but be suboptimal
Section10: Controller_Design 10
Some Important Notes
▪ These controller tuning correlations consider the controller transfer function to be in
ideal form
1
𝐺𝐶 𝑠 = 𝐾𝐶 1+ + 𝐾𝑑 𝑠
𝜏𝐼 𝑠
▪ If implementing in parallel form, make sure you “decouple” the effects of 𝐾𝐶 from
the other tuning parameters!
Section10: Controller_Design 11
𝐾𝑒 −𝜃𝑠
Cohen-Coon Correlations 𝐺𝑃 𝑠 ≈
𝜏𝑠 + 1
▪ The Cohen-Coon correlations give an estimate of initial guesses for controller tuning
parameters based on process dynamics
– Attempt to achieve a decay ratio of ¼
– Typically, not “optimal” but offer a good starting point
– Based on the IAE metric
– Like ZN, parameters depend on controller structure
1𝜏 𝜃
P 𝐾𝐶 =
𝐾𝜃
1+
3𝜏
3𝜃
30+
PI
1𝜏 𝜃 𝜏
𝐾𝐶 = 0.9 + 𝜏𝐼 = 𝜃 20𝜃
𝐾𝜃 12𝜏 9+
𝜏
6𝜃
32+
PID
1𝜏 4 𝜃 𝜏 4
𝐾𝐶 = + 𝜏𝐼 = 𝜃 8𝜃 𝐾𝐷 = 𝜃 2𝜃
𝐾𝜃 3 4𝜏 13+ 11+
𝜏 𝜏
Section10: Controller_Design 12
𝐾𝑒 −𝜃𝑠
Cohen-Coon Correlations 𝐺𝑃 𝑠 ≈
𝜏𝑠 + 1
▪ Discussion
– What happens to 𝐾𝐶 as 𝐾 increases?
– What happens to 𝜏𝐼 as 𝜏 decreases?
– What happens to 𝜏𝐼 as 𝜃 increases?
– NOTE that this correlation is inappropriate if 𝜃 = 0 (why?)
1𝜏 𝜃
P 𝐾𝐶 =
𝐾𝜃
1+
3𝜏
3𝜃
30+
PI
1𝜏 𝜃 𝜏
𝐾𝐶 = 0.9 + 𝜏𝐼 = 𝜃 20𝜃
𝐾𝜃 12𝜏 9+
𝜏
6𝜃
32+
PID
1𝜏 4 𝜃 𝜏 4
𝐾𝐶 = + 𝜏𝐼 = 𝜃 8𝜃 𝐾𝐷 = 𝜃 2𝜃
𝐾𝜃 3 4𝜏 13+ 11+
𝜏 𝜏
Section10: Controller_Design 13
𝐾𝑒 −𝜃𝑠
ITAE Correlations 𝐺𝑃 𝑠 ≈
𝜏𝑠 + 1
▪ The ITAE correlations developed by Smith and Corripio (1997) are based on a general
minimization of ITAE
– Correlation depends on if the controller is tuned for set-point tracking or disturbance rejection
*Note the different relation for 𝑌𝐼 for the set-point tracking controller
Section10: Controller_Design 14
𝐾𝑒 −𝜃𝑠
Ciancone Correlations 𝐺𝑃 𝑠 ≈
𝜏𝑠 + 1
disturbance setpoint
▪ Developed by Ciancone and Marlin (1997)
– Separate correlations for setpoint tracking and
disturbance rejection
Section10: Controller_Design 15
Correlations - Conclusions
▪ Controller design using correlations has limitations
– These correlations are restricted to first-order plus dead time systems (except ZN from the
previous section)
· Good for process engineering, less likely for biomedical applications
– However, note that many higher-order systems can be approximated as first order,
especially if the system is overdamped
· Although not perfect by any means, something very important about these correlations must be
remembered…
▪ These correlations are for initial guesses of the tuning parameters only
– You will still need to “tinker”
– This is where your knowledge of tuning parameter effects on output are handy
Section10: Controller_Design 16
Workshop 10.1: Controller Design Using Tuning Correlations
▪ Consider the first-order plus dead time process, assuming this captures all sensor and
actuation dynamics:
3𝑒 −2𝑠
𝐺𝑃 =
5𝑠 + 1
▪ Design a PID controller for this process for efficient set-point tracking using the
correlations:
– Cohen-Coon ← we’ll do this now
– ITAE ← we’ll do this now
– Ciancone (in solution manual)
– Ziegler-Nichols (in solution manual)
▪ Compare the results of each set of tunings by simulating them in Simulink and
plotting/commenting on the results
Section10: Controller_Design 17
Workshop 10.1 Solution
▪ Cohen-Coon
Section10: Controller_Design 18
Workshop 10.1 Solution
▪ ITAE
Section10: Controller_Design 19
Workshop 10.1 Solution - Simulation
Section10: Controller_Design 20
Direct Synthesis
Taking the guess out of “Guess that’ll work”
21
The Idea
▪ Direct synthesis exploits the structure of the closed-loop feedback system to choose
𝐺𝐶
– Unlike a PID controller specifically, the structure of 𝐺𝐶 depends on the structure of the
process
– Can lead to controllers that “appear” as P/PI/PID or can be completely different
Section10: Controller_Design 22
The Idea
▪ Consider a typical feedback loop, ignoring the disturbance (we’ll just hope for the
best)
D(s)
Let’s take all this garbage to be 𝐺 𝑠 ,
which is the overall response of the
system that is fed back to 𝐺𝐶 𝑠
GD(s)
YM(s)
GM(s)
Section10: Controller_Design 23
The Idea
R(s) + Y(s)
GC G
-
𝑌 𝑠 𝐺 𝑠 𝐺 𝑠
▪ 𝑅 𝑠
= 1+𝐺𝐶 → Can we isolate for 𝐺𝐶 𝑠 ?
𝐶 𝑠 𝐺 𝑠
𝑌 𝑠
▪ Wait, I have a clever idea… If I want to choose 𝐺𝐶 (𝑠) so that has a certain shape, why
𝑅 𝑠
𝑌 𝑠
don’t I substitute a desired relationship for and solve for 𝐺𝐶 𝑠 ?
𝑅 𝑠
▪ Now that is a fascinating idea. This is called Direct Synthesis
Section10: Controller_Design 24
Workshop 10.3: Direct Synthesis – Perfect Control
▪ Determine the controller transfer function 𝐺𝐶 𝑠 if the desired response to a unit step
in 𝑅 𝑠 is a unit step, then tell me why this won’t work
y(t)
r(t)
y(t)
Section10: Controller_Design 25
Workshop 10.3: Direct Synthesis – Perfect Control
▪ Can we brainstorm a different “ideal” response?
𝐺𝐶 → ∞
Section10: Controller_Design 26
Direct Synthesis: FO CLTF Response
▪ OK, well that was a bit of a pipe dream.
▪ Instead, let’s try to produce a “good” response recognizing that matching 𝑟 𝑡 exactly
is impossible… There will need to at least be SOME sort of dynamics
▪ Here’s an idea: what if we target a first order response:
y(t)
r(t)
𝑌 𝑠 1 0.63
=
𝑅 𝑠 𝜏𝑐 𝑠 + 1
t
τc
Section10: Controller_Design 27
Direct Synthesis: FO CLTF Response
▪ You may ask: “what is 𝜏𝑐 ”?
– That’s a good question. It is the first-order time constant of the idealized closed-loop
response we are trying to create using our controller
– We can CHOOSE 𝜏𝑐 if we want!
▪ WORKSHOP 10.4: Direct Synthesis – FO CLTF for a FO Process
𝑌 𝑠 1 𝐾
– Derive 𝐺𝐶 𝑠 if =𝜏 and 𝐺 𝑠 = 𝜏𝑠+1
𝑅 𝑠 𝑐 𝑠+1
y(t)
r(t)
0.63
t
τc
Section10: Controller_Design 28
Workshop 10.4 Solution
Section10: Controller_Design 29
Workshop 10.4 Solution
▪ Is there anything familiar about 𝐺𝐶 𝑠 ?
𝜏 1
𝐺𝐶 𝑠 = 1+
𝐾𝜏𝑐 𝜏𝑠
Section10: Controller_Design 30
Direct Synthesis: Higher Order TF
▪ Second-order processes follow a similar path
𝐾
𝐺 𝑠 =
𝜏1 𝑠 + 1 𝜏2 𝑠 + 1
𝑌 𝑠
– Determine a controller 𝐺𝐶 𝑠 using direct synthesis if (like the previous workshop) =
𝑅 𝑠
1
𝜏𝑐 𝑠+1
Section10: Controller_Design 31
Workshop 10.5 Solution
▪ Is there anything familiar about THIS 𝐺𝐶 𝑠 ?
𝜏1 + 𝜏2 1 𝜏1 𝜏2
𝐺𝐶 𝑠 = 1+ + 𝑠
𝐾𝜏𝑐 𝜏1 + 𝜏2 𝑠 𝜏1 + 𝜏2
Section10: Controller_Design 32
Direct Synthesis: Remarks
▪ We really only can choose 𝜏𝑐 , which impacts 𝐾𝑐 of the controller in ideal form
– Choosing a faster response is going to result in a higher gain
▪ Naturally, a high process gain 𝐾 leads to a lower controller gain 𝐾𝑐
– This makes sense intuitively – if the impact of the controller is high, we want the
aggressiveness of the controller to be low
▪ Typically, start with 𝜏𝑐 = 0.25𝜏
– If you are dealing with a second-order process, use the higher 𝜏 to be conservative
▪ Works for ANY system to provide initial guesses for controller parameters
– Will STILL need to tune!
Section10: Controller_Design 33
Optimizing Controller Performance
Minimum error, maximum effort
34
How do we Optimize the Response?
▪ Now that we have an initial guess, we can return to our optimization objectives to achieve
well-tuned performance
▪ All strategies involve:
1. Selecting a combination of tuning coefficients
2. Simulating the response (or performing tests on real system if required)
3. Evaluating the tuning objective 𝜙
4. Make some decision based on 𝜙 and return to (1)
▪ Step (4) can be performed in several ways:
– Graphical analysis (how does 𝜙 change for different decision vars?)
– Surface response analysis (use local changes in 𝜙 to predict what values of decision vars will
further lower 𝜙)
· AKA local approximated optimization
· AKA Design of Experiments (DOE)
– Formal optimization (certainly not required in this course, but there are some good ones you
could take)
Section10: Controller_Design 35
Graphical Analysis Examples
▪ When selecting one parameter (𝐾𝐶 here), we can plot the IAE for a variety of
simulations and choose the lowest
Section10: Controller_Design 36
Image from Marlin (2000)
Graphical Analysis Examples
▪ When selecting multiple parameters (𝐾𝐶 ant 𝜏𝐼 here), we can plot the IAE for a variety
of simulations and choose the lowest
– Can also be subjected to constraints
Section10: Controller_Design 37
Image from Marlin (2000)
Remarks
▪ Formal optimization is nice, but it requires an accurate process model
– We can sometimes treat the system as “black box”
– System identification is crucial in absence of rigorous dynamic models
▪ Practically speaking, we often try to apply the known relationships between tuning
parameters
– Tweak or “adjust the knobs” of the controller to achieve “optimal” performance (loosely speaking)
Section10: Controller_Design 38
Conclusions: Controller Design
▪ Controller tuning is a detailed process
– Can use metrics (IAE, ISE, etc.) to help
▪ Initial guesses exist for FO processes
– Cohen-Coon
– Ciancone
– ITAE
▪ Zielger-Nichols is applicable to higher-order processes
– Requires a frequency analysis and a stable open-loop system
▪ Direct synthesis is another method that can be used on any process
– Unique for each type of system
– Make sure to account for sensor dynamics!
– Does not guarantee a typical PID control structure
▪ Regardless of your initial guess, optimization can be used to fine-tune
Section10: Controller_Design 39