Download - Model Predictive Control: Background
![Page 1: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/1.jpg)
Chemical and Biological Engineering
Model Predictive Control: Background
B. Wayne Bequette
• Concise Review of Undergraduate Process Control
• Introduction to Discrete-time Systems• Discrete Internal Model Control (IMC)
![Page 2: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/2.jpg)
Automation and Control
![Page 3: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/3.jpg)
feedforward
feedback
![Page 4: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/4.jpg)
![Page 5: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/5.jpg)
Control Algorithm
Compares measured process output with desired setpoint, and calculates a manipulated input (often a flowrate)
Proportional-integral-derivative (PID)Long history, “workhorse”, lower-level control loops
Model predictive control (MPC)Most widely applied “advanced” control algorithmConstraints, multivariable systems
![Page 6: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/6.jpg)
Common notation
r = setpoint (desired value of process output)
y = measured process output
e = error (setpoint – output, r – y)
u = manipulated input (often a flowrate)
![Page 7: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/7.jpg)
Proportional-Integral-Derivative (PID) Control
( ) ( ) ( )
( ) ( ) ( ) ( )⎥⎦
⎤⎢⎣
⎡+++=
−=
∫ dttdedttetekutu
tytrte
D
t
Ic τ
τ 001
ManipulatedInput
Error = setpoint − measured output
Proportionalgain
Integral time Derivative time
Single-input, single-output designProblems with one controller can impact another controller
ConstraintsCan cause “windup” problems
Does not explicitly require a process model
![Page 8: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/8.jpg)
Chemical and Biological Engineering
Continuous Linear Models
State Space and Transfer Function
B. Wayne Bequette
• Linearization• State Space Form• Transfer Function• Step Responses• MV Properties
![Page 9: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/9.jpg)
Nonlinear ODE Models
General “Lumped Parameter” Form
( )puxfx ,,=&
y = g x,u, p( )
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nx
xx
xM2
1
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
mu
uu
uM2
1
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
ry
yy
yM2
1
differential state equations
algebraic output equations
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
=
qp
pp
pM
2
1
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
dtdx
dtdxdtdx
x
n
M
&2
1
states state derivatives(from accumulationterm)
inputs outputs parameters
![Page 10: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/10.jpg)
Linearization
ssssssss uxj
iij
uxj
iij
uxj
iij
uxj
iij u
gDxgC
ufB
xfA
,,,,
∂∂
∂∂
∂∂
∂∂
====
uDxCyuBxAx
′+′=′′+′=′&
( )puxfx ,,=&
y = g x,u, p( )
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−−
=′
nsn
s
s
xx
xxxx
xM
22
11
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−−
=′
msm
s
s
uu
uuuu
uM
22
11
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−−
=′
rsr
s
s
yy
yyyy
yM
22
11
‘perturbation’ or ‘deviation’ variables
eqn i state j eqn i input j
steady-state solution, us, xs, ys
Where:
![Page 11: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/11.jpg)
Example: Van de vuuse Reaction
( )
BABB
AAAAfA
CkCkCVF
dtdC
CkCkCCVF
dtdC
21
231
−+−=
−−−=
[ ]BsBAfsAf
s
BsB
AsA CCxyCC
VFVFu
CCCC
xx
x −==⎥⎦
⎤⎢⎣
⎡−−
=⎥⎦
⎤⎢⎣
⎡−−
=⎥⎦
⎤⎢⎣
⎡= 2
2
1 , ,
[ ] [ ]00 ,10
,0
,02
21
31
==
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
−
−=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
−−−=
DC
CVFCCB
kVFk
CkkVF
ABs
sAsAfs
s
Ass
= f1
= f2
etcCAux AsssCf
xfA
,
1
,1
111 ∂
∂∂∂
==
“hidden slide” provided for additional background
![Page 12: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/12.jpg)
Continuous State Space Model
DuCxyBuAxx
+=+=&
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
mrmr
m
nrnr
n
r
mnmn
m
nnnn
n
n
u
u
dd
dd
x
x
cc
cc
y
y
u
u
bb
bb
x
x
aa
aa
x
x
M
L
MLM
L
M
L
MLM
L
M
M
L
MLM
L
M
L
MLM
L
&
M
&
1
1
1111
1
1111
1
1
1111
1
1111
n by n n by m
r by n r by m
Assumes deviation variable form
![Page 13: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/13.jpg)
StabilityEigenvalues of A
n x n A matrix = n eigenvalues = n states If all eigenvalues have a negative real portion – stableIf any eigenvalue has a positive real portion – unstableComplex – generally ‘oscillatory’
( ) 0det =− AIλ
Characteristic Polynomial (n roots): Must have at least 2 states to oscillate (be complex)
eigenvalues are the roots of the equation
Identity matrix
![Page 14: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/14.jpg)
Example: CSTR at 2 Operating PointsOperating condition 1 Operating condition 2
A1 =−1.1680 −0.08862.0030 −0.2443
⎡
⎣ ⎢
⎤
⎦ ⎥ A2 =
−1.8124 −0.23249.6837 1.4697
⎡
⎣ ⎢
⎤
⎦ ⎥
( ) ( )( ) ( )( )04628.04123.1
0003.20886.02443.01680.1det2443.00030.2
0886.01680.1
21
1
=++=
=−−++=−
⎥⎦
⎤⎢⎣
⎡+−
+=−
λλ
λλλλ
λλ
AI
AI
λ = −0.8955 hr-1 and λ = −0.5168 hr-1
λ = −0.8366 hr-1 and λ = 0.4939 hr-1 Operating Point 2 = Unstable
Operating Point 1 = Stable
Can show that the Eigenvalues for Operating Point 2 are:
“hidden slide” provided for additional background
![Page 15: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/15.jpg)
Laplace Transform
Convert Differential Equations to Algebraic EquationsDesign controllers using algebra rather than differential equations
Easy Analysis of “Block Diagrams”
L f t( )[ ]= F s( ) = f t( )e− st dt0
∞
∫
L 1[ ]=1s
( ) ( ) ( )0fssFdt
tdfL −=⎥⎦⎤
⎢⎣⎡
Definition of Laplace Transform
Unit step
Derivative
![Page 16: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/16.jpg)
Laplace Transforms, cont’d
Most Undergraduate CoursesMuch (perhaps too much) time is spent:
Taking Laplace transform of process differential equationLaplace transform of “forcing function” (typically a step)Multiply, then perform partial fraction expansionInvert each term back to the time domain for an analytical expression
In PracticeStep response behavior for process understandingMain use of transfer function is for “controller synthesis”Can easily convert from differential equations (“state space”) to transfer function form using MATLAB, etc.Closed-loop block diagram analysis
Very painful, many nightmares?
![Page 17: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/17.jpg)
Block Diagram AnalysisSetpoint Error Manipulated input Measured output
g c e(s)
controller
(s) u(s)g (s) p
y(s)r(s) +
−process
( ) ( ) ( )( ) ( ) ( )sr
sgsgsgsg
sypc
pc ⋅+
=1
Closed-loop characteristic equation(roots determine stability)
Routh Array, etc.
![Page 18: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/18.jpg)
State Space to Transfer Function Form
DuCxyBuAxx
+=+=&
( ) ( ) ( )( ) ( ) ( )sDusCxsy
sBusAxssx+=+=
( ) ( ) ( )( ) ( )[ ] ( )
( ) ( ) ( )susGsy
suDBAsICsy
sBuAsIsx
1
1
=
+−=
−=−
−
Take the Laplace Transform (s = transform variable)
Transfer function matrix
usually, D = 0
( ) ( )[ ]BAsICsG 1−−=
![Page 19: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/19.jpg)
Matrix Transfer Function Form
( ) ( ) ( )susGsy =
y1 s( )M
yr s( )
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=g11 s( ) L g1m s( )
M
gr1 s( ) L grm s( )
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
u1 s( )M
um s( )
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
yi s( ) = gij s( )uj s( )
r outputsm inputs
output i input j
r rows by m columns
Transfer Function MatrixFirst subscript = outputSecond subscript = input
![Page 20: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/20.jpg)
Dynamic Behavior: SISO
( )01
11
011
1
asasasabsbsbsbsg n
mn
n
mm
mm
p ++++++++
= −−
−−
L
L
( ) ( )( ) ( )( )( ) ( )n
mpzp pspsps
zszszsksg
−−−
−−−=
L
L
21
21
( ) ( )( ) ( )( )( ) ( )111
111
21
21
+++
+++=
ssssssk
sgpnpp
nmnnpp τττ
τττL
L
Polynomial
Pole-zero
Gain-time constant
Zeros = roots of numeratorPoles = roots of denominator = determine stability
11 1 pp −=τ Large time constant = small, negative, pole
Relative order= n-m
![Page 21: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/21.jpg)
Example of Pole-Zero Cancellation
Number of states = Number of poles (order of numerator of transfer function), except when some poles and zeros ‘cancel’
[ ] [ ]0 018255.35301.1
5640.275.0
9056.00
==
⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡−−
=
DC
BA
( ) ( )( )( )2640.23.0
3.05302.16792.0564.2
4590.05302.12 ++
+−=
++−−
=ss
sss
ssg p
gp s( ) =−0.6758
0.4417s + 1
Bioreactormodel
“hidden slide” provided for additional background
![Page 22: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/22.jpg)
Chemical Process Engineers
More familiar with gain-time constant formMost chemical processes are stable
Exceptions: Exothermic or bioreactors, closed-loop systems (mistuned)
Real axis
Imaginary axis
x
x
more oscillatory
faster response o
inverse response zeros
xunstable poles
x = poleo = zero
“hidden slide” provided for additional background
![Page 23: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/23.jpg)
First-Order
( ) ( )susk
syp
p
1+=
τ
τ pdydt
+ y = kpudydt
= −1τ p
y +kp
τ p
uor
gain
time constant
0 2 4 6 8 10 12 14 16 18 200
5
10
15
20
t, minutes
y, d
eg C
0 2 4 6 8 10 12 14 16 18 200
2
4
6
8
10
t, minutes
u, k
W
Example: gain = 1.43 oC/kWtime constant = 5 minutes
output
input
![Page 24: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/24.jpg)
First Order + Time-delay
( ) ( )susek
syp
sp
1+=
−
τ
θ
( )θτ −=+ tukydtdy
pp
gain
time constant
time- delay
time constant
y
u
long-term change in process output
change in process input
63.2 % of change in process output
time-delay
![Page 25: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/25.jpg)
Second-order Underdamped
time
period of oscillation
a
b
c rise time
decay ratio = b/a
overshoot ratio = a/c
time to first peak
y s( ) =k
τ 2s 2 + 2ζτs +1⋅u s( )
Im Re
1
2,1
2
2,1
jp
p
±=
−±−=
τζ
τζ
1<ζ
step response
![Page 26: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/26.jpg)
Numerator Dynamics
0 10 20 30 40 50 60-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
time
-15
-10
-3
3
10
15
20
various values of numerator time constant
y
( ) ( )( )( )11513
1++
+=
ssssg n
pτ
nz τ1−=
00 >→< znτ
“inverse response”(right-half-plane zeros)[challenging control problem]
responsefaster large →=nτ
![Page 27: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/27.jpg)
Steady-state Gain
For stable systems, the steady-state gain is found from the long-term response
( ) ( )( ) ( )( )( ) ( ) s
usss
sssksy
pnpp
nmnnp Δ⋅
+++
+++=
111111
21
21
ττττττ
L
L
( ) ( ) ( )( ) ( )( )( ) ( )
( ) ( ) uksuksssyty
su
ssssssk
sssyty
ppst
pnpp
nmnnp
st
Δ=Δ
⋅⋅==
Δ⋅
+++
+++⋅==
→∞→
→∞→
0
21
21
0
limlim
111111
limlimττττττ
L
L
( )uy
u
tyk t
p ΔΔ
=Δ
= ∞→lim
Step input
Final value theorem
“hidden slide” provided for additional background
![Page 28: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/28.jpg)
Process Gain: Controller Implications
Long-term behavior from steady-state information
Controller really serves as “inverse” of process
uky pΔ=Δ
yk
up
Δ=Δ1
Process with higher gain is generally easier to control, all else being equal…
![Page 29: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/29.jpg)
Process Zero: Controller Implications
For “tight” control, controller is “inverse” of process
( ) ( )sysg
sup
1)( =
Inverse of gp(s) is unstable if gp(s) has a right-half-plane zero
( ) ( )susgsy p=)(
![Page 30: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/30.jpg)
Transfer Function to State Space
An infinite number of state space models can yield a given transfer function model
Two different state space “realizations” are normally usedControllable canonical formObservable canonical form
![Page 31: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/31.jpg)
Multivariable Systems: Properties
Matrix-vector Notation
( ) ( )suGsy p=
( )( )
( ) ( )( ) ( )
( )( )⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡susu
sgsgsgsg
sysy
2
1
2221
1211
2
1
( ) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( )susgsusgsy
susgsusgsy
2221212
2121111
+=+=
2 input – 2 output Example
Similar to SISO, controller serves as “process inverse”
( ) ( )syGsu p1−=
![Page 32: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/32.jpg)
Steady-state Implications
⎥⎦
⎤⎢⎣
⎡−
=1111
1pK
212
211
1111
uuyuuy
+−=+=
System 1
Which system will be more difficult to control?
System 2
212
211
1111
uuyuuy
+=+=
⎥⎦
⎤⎢⎣
⎡=
1111
2pK
yKu p1−=
![Page 33: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/33.jpg)
Steady-state Implications
⎥⎦
⎤⎢⎣
⎡−
=1111
1pK
212
211
1111
uuyuuy
+−=+=
System 1
Inverse does not exist (Gain Matrix is singular, rank = 1)Cannot independently control both outputs
System 2
212
211
1111
uuyuuy
+=+=
⎥⎦
⎤⎢⎣
⎡=
1111
2pK
yKu p1−=
![Page 34: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/34.jpg)
Another Example
212
211
1195.01
uuyuuy
+=+=
⎥⎦
⎤⎢⎣
⎡=
1195.01
3pK
Inverse exists – No longer singular (“gut feeling” that there may still be a problem…)
![Page 35: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/35.jpg)
Directional Sensitivity:Singular Value Decomposition (SVD)
G = UΣVT
T
VUG44 344 2144 344 2144 344 2143421
⎥⎦
⎤⎢⎣
⎡−
−−⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−−=⎥
⎦
⎤⎢⎣
⎡
Σ
72.070.070.072.0
0253.00098.1
70.072.072.070.0
1195.01
Gain matrix Left singular Vector matrix
Right singular Vector matrix
Matrix of singularvalues
Example
Strongest input direction
Strongest output direction
Max singular value
![Page 36: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/36.jpg)
Example, cont’d
T
VUG44 344 2144 344 2144 344 2143421
⎥⎦
⎤⎢⎣
⎡−
−−⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−−=⎥
⎦
⎤⎢⎣
⎡
Σ
72.070.070.072.0
0253.00098.1
70.072.072.070.0
1195.01
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡41.138.1
70.072.0
1195.01
2
1
yy
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡70.072.0
2
1
uu
⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡72.070.0
2
1
uu
⎥⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡−⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡018.0018.0
72.070.0
1195.01
2
1
yy
Input in Strongest Direction Output in Strongest Direction
Input in Weakest Direction Output in Weakest Direction
Same magnitude input = very different magnitude output
y = Kp u
![Page 37: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/37.jpg)
Example, cont’d
T
VUG44 344 2144 344 2144 344 2143421
⎥⎦
⎤⎢⎣
⎡−
−−⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−−=⎥
⎦
⎤⎢⎣
⎡
Σ
72.070.070.072.0
0253.00098.1
70.072.072.070.0
1195.01
High condition number indicates problems
Condition number = σ1/σ2 = 1.98/0.0253 = 78
Note: For SVD analysis it is important to properly scale the inputs and outputs
![Page 38: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/38.jpg)
MV Dynamic Properties: Quadruple Tank
G1 s( ) =
2.662s + 1
1.523s +1( ) 62s +1( )
1.430s +1( ) 90s +1( )
2.890s +1( )
⎡
⎣
⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥
G2 s( ) =
1.563s +1
2.539s +1( ) 63s +1( )
2.556s +1( ) 91s +1( )
1.691s +1( )
⎡
⎣
⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥
z = −0.057 and + 0.013 sec-1
z = −0.060 and − 0.018 sec-1
Operating Point 1 – Minimum Phase
Operating Point 2 – Nonminimum Phase (RHPT zero)
Matrix inverse is unstable
“Transmission zeros” are bothnegative
![Page 39: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/39.jpg)
Multivariable Systems
Can have right-half-plane “transmission zeros” even when no individual transfer function has a RHP zero
Can have individual RHP zeros yet not have a RHPT zero Fine performance when constraints are not activeMay fail when one constraint becomes active or a loop is “opened”
Can exhibit “directional sensitivity” – with some setpointdirections much easier to achieve than others
Some of these MV properties cause challenges independent of control strategy selected
![Page 40: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/40.jpg)
Summary
Nonlinear ModelSolve for steady-state, then linearize (Taylor series expansion)
State Space (linear) ModelDeviation variable form (perturbations from steady-state)
DynamicsEigenvalues of A matrix = poles of transfer function matrix
Pole-zero cancellation may reduce number of polesRight-half-plane zeros = inverse responseMV: Transmission Zeros
Long term behavior from steady-state gainSingular Value Decomposition (SVD)
![Page 41: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/41.jpg)
Chemical and Biological Engineering
Discrete Linear Models
B. Wayne Bequette
• Sampling Rules/Assumptions• Continuous to Discrete• Z-transform• Dynamic Properties of Discrete Systems
![Page 42: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/42.jpg)
Discrete Models
Input held constant between sample times (zero-order hold)
Sample time is constant
Rule of thumb for discrete control – select sample time roughly 1/10 of dominant time constant
![Page 43: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/43.jpg)
Discrete Models
kkk
kkk
DuCxyuxx
+=Γ+Φ=+1 State Space
Input-Output(ARX)mkmkkk
nknkkk
ububububyayayay
−−−
−−−
+++++−−−−=
L
L
22110
2211
( ) [ ]kyZzy = Z-transform
[ ] ( )zyzyZ k1
1−
− = Backwards shift operator
( ) ( )( ) ( )zuzbzbzbb
zyzazazam
mm
m
nn
nn
−+−−
−
−+−−
−
++++
=++++1
11
10
11
11
...
...1Solve for y(z)
usually b0 = 0
Some texts/papers have different sign conventions
![Page 44: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/44.jpg)
Discrete Models
DiscreteTransfer Function
Multiply by
( ) ( )zuzazazazbzbzbbzy n
nn
n
mm
mm
−+−−
−
−+−−
−
++++++++
= 11
11
11
110
...1
...
gp z( ) =b0 + b1z
−1 + ... + bm −1z− m +1 + bmz− m
1 + a1z−1 + ... + an−1z
− n+1 + anz− n
gp z( ) =b0z
n + b1zn−1 + ... + bmzn− m
zn + a1z−1 + ... + an −1z
−n+1 + an
n
n
zz
zeros = roots of numerator polynomialpoles = roots of denominator polynomial
( ) ( )( ) ( )( )( ) ( )n
mpzp pzpzpz
zzzzzzKzg−−−−−−
⋅=L
L
21
21
![Page 45: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/45.jpg)
Stability
DiscreteContinuous
StableStable
poles in LHP are stable poles inside unit circle are stable
![Page 46: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/46.jpg)
Example
y k( ) = −a1y k − 1( )+ b1u k − 1( ) gp z( ) =b1z
−1
1 + a1z−1 =
b1
z + a1
p = −a1
a1 = 0.5,−0.5,1.5,−1.5 p = −0.5,0.5,−1.5,1.5
Monotonic, unstable
Oscillatory, unstable
Monotonic, stable
Oscillatory, stable
Characteristic behavior
5.06255.06250.06250.0625y(4)
3.375-3.3750.125-0.125y(3)
2.252.250.250.25y(2)
1.5-1.50.5-0.5y(1)
1.5-1.50.5-0.5p
-1.51.5-0.50.5a1
Let y(0) = 1, u(k) = 0
Value of the pole
![Page 47: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/47.jpg)
Simple Example: Results
Poles inside circlestable
Poles outside circleunstable
Negative polesoscillate
First-order discrete systems can oscillateThis cannot happen with continuous systems
![Page 48: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/48.jpg)
Discrete zerosZeros outside unit circle
Inverse is unstable (not necessarily inverse response)
Any continuous system with relative order >2 will have an unstable inverse with a small enough sample time
Astrom, KJ, P Hagander & J Sternby “Zeros of Sampled Systems,”Proceedings of the 1984 American Control Conference, 1077-1081
gp s( )=1
s +1( )3 ( ) ( )( )( )33679.0
1238.07990.10803.0−
++=
zzzzg p
Sample time = 1
poles = 0.3679 (multiplicity 3)zeros = -1.7990 & -0.1238
Unstable inverse
Relative order = 1Relative order = 3
poles = -1 (multiplicity 3)
![Page 49: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/49.jpg)
Final & Initial Value Theorems
limn→ ∞
y nΔt( ) = limz→1
1 − z −1( )y z( )
y z( ) = gp z( )u z( ) = gp z( )⋅1
1− z−1
limt→ ∞
y t( )= limz →1
1 − z −1( )y z( ) = limz →1
1 − z −1( )gp z( ) 11− z−1 = lim
z →1 gp z( )
limt → 0
y t( ) = limz →∞
1 − z −1( )y z( )Initial value theorem
Final value theorem
Long-term step response
unit step
So, simply set z = 1 in gp(z) for long-term unit step response
“hidden slide” provided for additional background
![Page 50: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/50.jpg)
Final Value Theorems
( )( )31
1+
=s
sg p
( ) ( )( )( )33679.0
1238.07990.10803.0−
++=
zzzzg p
( ) ( )( )( )
12525.02525.0
3679.011238.017990.110803.01 3 ==
−++
=→zg p
( )( )
110
10 3 =+
=→sg p
Long-term outputs for unit step inputs
continuous
discrete
“hidden slide” provided for additional background
![Page 51: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/51.jpg)
State Space Models
DuCxyBuAxx
+=+=&
kkk
kkk
DuCxyuxx
+=Γ+Φ=+1
Continuous
?
Discrete
Finite differences approximation for derivative
( )( ) ( )
[ ] kkk
kkkk
kk
tuBxtAIx
BuAxt
xxt
xxt
tkxtkxx
Δ+Δ+=
+≈Δ−
Δ−
=Δ
Δ−Δ+≈
+
+
+
1
1
11&
Φ Γ How good are the approximations?
![Page 52: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/52.jpg)
Exact Discretization
( ) ( ) ( )
( ) ktA
ktA
k
tt
t kAtA
ktA
k
BuAIexex
tBudeetxettx k
k
11
−ΔΔ+
Δ+ −ΔΔ
−+=
+=Δ+ ∫ σσ
( ) BAIee
tA
tA
1−Δ
Δ
−=Γ
=Φ
[ ]tB
tAIΔ=Γ
Δ+=Φ
Exact
Approximate
![Page 53: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/53.jpg)
Example Discretization
( ) ⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−−Φ=Γ
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡−
−==Φ
−
Δ
0157.02592.0
01.0
04.004.001.0
8869.00974.007408.0
12.012.003.0
exp
1
I
e tA
⎥⎦
⎤⎢⎣
⎡=Γ
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡−
−+⎥
⎦
⎤⎢⎣
⎡=Φ
03.0
88.012.007.0
12.012.003.0
1001
Exact
Approximate
[ ] ⎥⎦
⎤⎢⎣
⎡=
⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−=⎥
⎦
⎤⎢⎣
⎡
2
1
2
1
2
1
10
01.0
04.004.001.0
xx
y
uxx
xx&
&
( ) ( )( )1251101
++=
sssg p
3=Δt
![Page 54: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/54.jpg)
Example, Continued
Exact
Approximate
( ) ( ) DzICzg p +ΓΦ−= −1
( ) 21
21
2 65702.06277.110136.00157.0
65702.06277.10136.00157.0
−−
−−
+−+
=+−
+=
zzzz
zzzzg p
( ) 21
2
2 616.058.11036.0
616.058.1036.0
−−
−
+−=
+−=
zzz
zzzg p
Poles/eigenvalues = 0.7408 & 0.8869
Poles/eigenvalues = 0.7 & 0.88
Discrete Transfer Function
“hidden slide” provided for additional background
![Page 55: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/55.jpg)
-2 0 2 4 6 8
0
0.5
1
1.5
2
temp, deg C
discrete-time step
-2 0 2 4 6 8
0
0.2
0.4
0.6
0.8
1
discrete-time step
psig
s 1
ss
s
s
2
4 53
Etc.
S = s1 s2 s3 s4 s5 L sN[ ]T
Example Step Response Model
![Page 56: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/56.jpg)
Step Response Model
∞−∞+−−+−−
∞
=−
Δ++Δ+Δ++Δ=
Δ= ∑kNNkNNkNk
iikik
usususus
usy
LL 1111
1
( )
.
,
1
1
1111
1111
∑−
=−−
∞−−+−−−
∞−−+−−−
Δ+=
Δ++Δ+Δ++Δ=Δ++Δ+Δ++Δ=
−
N
iikiNkNk
u
kNkNNkNk
kNNkNNkNkk
ususy
uusususususususy
Nk
444 3444 21LL
LL
![Page 57: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/57.jpg)
-2 0 2 4 6 8 10
0
0.2
0.4
0.6
0.8
1
discrete-time step
psig
-2 0 2 4 6 8 10-0.2
0
0.2
0.4
0.6
0.8
1
discrete-time step
temp, deg Ch
hh
1 2
3
hi = si − si −1
si = hjj=1
i
∑
Example Impulse Response Model
Impulse and step responsecoefficients are related
![Page 58: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/58.jpg)
Parameter Estimation, ARX Models
22112211
021102112
120112011
ˆ
ˆˆ
−−−−
−−
++−−=
++−−=++−−=
NNNNN ububyayay
ububyayayububyayay
M
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡−−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−−−
−−
2
1
2
1
2121
10101
....
....
ˆ..ˆ
bbaa
uuyy
uuyy
y
y
NNNNN
ΘΦ= Y
model output measured output known (measured) input
time step index
Npts
could changesign on columns1 & 2 of Φ
![Page 59: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/59.jpg)
Optimization/Parameter Solution
yi − ˆ y i( )2
i =1
N
∑ = Y − ˆ Y ( )TY − ˆ Y ( )= Y − ΦΘ( )T Y − ΦΘ( )
( )∑=
−N
iiibbaa
yy1
2
,,,ˆmin
2121
Θ = ΦTΦ( )−1ΦTY
Objective Function
Solution
parameterestimatevector
measuredoutputvector
![Page 60: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/60.jpg)
Example
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5-0.2
0
0.2
0.4
0.6
time, min
y
PRBS estimation example
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-1
-0.5
0
0.5
1
time, min
u
PRBSinput
![Page 61: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/61.jpg)
Result
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
−
−−
−
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−
−−−−
−−−
−−−−
−−−
−−−−−
−−
−−
−
=Φ
0502.01134.01162.01513.00172.03846.05007.02003.00463.01123.01879.00485.01558.02171.03446.01771.04618.01564.00137.0
111162.01134.0111513.01162.0110172.01513.0113846.00172.0115007.03846.0112003.05007.0110463.02003.0111123.00463.0111879.01123.0110485.01879.0111558.00485.0112171.01558.0113446.02171.0111771.03446.0114618.01771.0111564.04618.0110137.01564.0110889.00137.01100889.0
Y
Θ = ΦTΦ( )−1ΦTY
Θ =
1.1196−0.3133−0.0889
0.2021
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
=
−a1
−a2
b1
b2
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
( )
( )( )( )5481.05716.0
274.20889.0
3133.01196.112021.00889.0
3133.01196.12021.00889.0
21
21
221
221
−−−−
=
+−+−
=
+−+−
=++
+=
−−
−−
zzz
zzzz
zzz
azazbzbzg p
![Page 62: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/62.jpg)
Identified Model
( )
( ) ( )
3133.01196.112021.00889.0
3133.01196.12021.00889.0
21
21
221
221
zuzzzzzy
zzz
azazbzbzg p
⋅+−+−
=
+−+−
=++
+=
−−
−−
2021.00889.03133.01196.1 2121 −−−− +−−= kkkkk uuyyy
![Page 63: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/63.jpg)
Subspace Identification
Subspace ID can be used to develop discrete state space models from input-output data
![Page 64: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/64.jpg)
SummaryDiscrete models
State space, ARX, discrete transfer function
Zeros & polesPoles inside unit circle are stable (negative = oscillate)Zeros inside unit circle have stable inverses
Parameter estimationExample with PRBS input
Step and impulse response models
![Page 65: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/65.jpg)
Chemical and Biological Engineering
Discrete (Digital) Control
B. Wayne Bequette
• Review of Digital Control Techniques• Discrete Internal Model Control• Examples• Summary
![Page 66: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/66.jpg)
Manfred Morari
![Page 67: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/67.jpg)
Digital Feedback Control
r(z) e(z) u(z)gc(z) gp(z)
d(z)
y(z)+
++
_
Digital Controller DesignResponse specification-based
( ) ( ) ( )( ) ( ) ( )
( ) ( ) ( )zrzgzy
zrzgzg
zgzgzy
CL
cp
cp
1
=
⋅+
=
Desired response
![Page 68: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/68.jpg)
Controller Design
( ) ( ) ( )( ) ( )
( ) ( )( )
( )zgzg
zgzg
zgzgzgzg
zg
CL
CL
pc
cp
cpCL
−⋅=
+=
11
1Desired responsesolve forcontroller
![Page 69: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/69.jpg)
Internal Model Form
u(z)q(z)r(z)
d(z)
y(z) ++
+ -
+ -~g (z) p
d(z)~
r(z)~
g (z) p
y(z) ~
Process
Process model
IMC controller
For controller design, consider perfect model and no disturbances
![Page 70: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/70.jpg)
IMC Design
r(z) u(z)q(z) gp(z)
y(z)
( ) ( ) ( ) ( )( ) ( ) ( )zrzgzy
zrzqzgzy
CL
p
=
=
Desired response ( ) ( )( )zg
zgzqp
CL=
solve forcontroller
Really based on the model
( ) ( )( ) ( ) ( )zgzgzgzgzq pCL
p
CL 1~~
−==
![Page 71: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/71.jpg)
Can implement IMC in Classic Feedback Form
( ) ( )( ) ( )zgzq
zqzgp
c ~1−=
![Page 72: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/72.jpg)
Digital Controller Design
Deadbeat
Dahlin’s Controller
State Deadbeat
State Deadbeat with Filter (Vogel-Edgar)
Modified Dahlin’s Controller
NEW (IMC) DESIGN
John Ragazzini
![Page 73: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/73.jpg)
Deadbeat
Achieve setpoint in the minimum time (if no time-delay, then one time step)
kk ry =+1
( ) ( )zrzzy 1−=Backwards shift operator
( ) ( )zgzzq p11~−−=
( ) 1−= zzgCL
IMC Form
( ) ( ) 1
11
1~
−
−−
−⋅=
zzzgzg pc Classic Feedback Form
![Page 74: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/74.jpg)
Example 0, FO Process
( )110
1~+
=s
sg p ( ) 1
1
9048.010952.0~
−
−
−=
zzzg pΔt = 1
( ) ( )00952.0
9048.00952.0
9048.011
11
+−
=−
= −
−−
zz
zzzzq
( ) ( ) ( )
( )
( ) ( )( ) 1
1
1
1
1
11
21
1
1504.9
1504.10
1504.9504.10
10952.09048.0
stepunit 1
1
−
−
−
−
−
−−
−−
−
−−
+−
=
−−
=−
−=
=−
=
=
zz
zzu
zz
zzzzzu
zzrlet
zrzqzu
Large control action up,then down
Control action
setpoint change
![Page 75: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/75.jpg)
Classic Feedback Form for Deadbeat Design
( )
( )
( )
1
1
1
1
1
11
1
1
19048.015.10
19048.01
0952.01
19048.0
0952.01
11
0952.09048.0
0952.09048.0
0952.09048.01~
9048.00952.0
9048.010952.0~
−
−
−
−
−
−−
−
−
−−
⋅=−
−⋅⎟
⎠⎞
⎜⎝⎛=
−−
⋅⎟⎠⎞
⎜⎝⎛=
−⋅
−=
−=
−=
−=
−=
zz
zz
zz
zzzg
zz
zzg
zzzzg
c
p
p
( ) ( ) ( )1
1~1
~ 11
11
−⋅=
−⋅= −
−
−−
zzg
zzzgzg ppc
![Page 76: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/76.jpg)
Classic Feedback Implementation
( )
( ) ( ) ( )
( ) ( ) ( ) ( )
( )
( )11
11
11
1
1
9048.05.10
9048.05.10
9048.015.101
19048.015.10
−−
−−
−−
−
−
−⋅+=
−⋅=−
−⋅=−
=
−−
⋅=
kkkk
kkkk
c
c
eeuu
eeuu
zezzuz
zezgzu
zzzg
![Page 77: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/77.jpg)
IMC Implementation
u(z)q(z)r(z)
d(z)
y(z) ++
+ -
+ -
~g (z)p
d(z)~
r(z)~ g (z) p
y(z) ~
Process
Process model
IMC controller
( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )zrzqzu
zdzrzr
zyzyzd
zuzgzy p
~
~~
~~~~
=−=
−=
=( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( )1
1
111
11
11
~9048.0~0952.01
~9048.010952.01
~9048.010952.0
~~
~~0952.0~9048.0~
0952.0~9048.01
−
−
−−−
−−
−−
−⎟⎠⎞
⎜⎝⎛=
−⎟⎠⎞
⎜⎝⎛=
−=
−=
−=
+==−
kkk
kkk
kkk
kkk
rru
zrzzu
zrzzzuz
drr
yyd
uyyzuzzyz
![Page 78: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/78.jpg)
Discussion
( )1
11
~9048.0~0952.01
~~
~~0952.0~9048.0~
−
−−
−⎟⎠⎞
⎜⎝⎛=
−=
−=
+=
kkk
kkk
kkk
kkk
rru
drr
yyd
uyy
( )11 9048.05.10 −− −⋅+=−=
kkkk
kkk
eeuuyre
Standard feedback control clearly has the current control actionas a function of the previous control action. Why doesn’t IMC?
Standard Feedback
IMC
![Page 79: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/79.jpg)
Example 0 (First-order), Deadbeat Design
-2 0 2 4 6 8
0
0.5
1
time
y
deadbeat, FO example
-2 0 2 4 6 8
0
5
10
time
u
![Page 80: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/80.jpg)
Example 1, Second-Order Process
( ) ( )( )1251101~
++=
sssg p ( ) 21
21
65702.06277.110136.00157.0~
−−
−−
+−+
=zz
zzzg pΔt = 3
( )00136.00157.0
65702.06277.10136.00157.0
65702.06277.12
2
21
321
+++−
=+
+−= −−
−−−
zzzz
zzzzzzq
“ringing” behavior as shown next
zero = -0.0136/0.0157 = -0.8694
controller has pole = -0.8694, which is stable, but oscillates
![Page 81: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/81.jpg)
Example 1 (Second-order): Deadbeat Design
-5 0 5 10 15 20 25 30
0
0.5
1
1.5
time
ydeadbeat, SO example
-5 0 5 10 15 20 25 30-100
-50
0
50
100
time
u
Perfect control, at sample times
“ringing” behavior (intersample)
![Page 82: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/82.jpg)
Dahlin’s Controller
Desired first-order + time-delay response to setpointchange
( ) ( )( )
( ) ( ) ( )( ) ( )zgz
zgzz
zgzgzq pp
p
CL 111
1~1~
11
~−−
−
−
⋅−−
=⋅−−
==αα
αα
( ) ( )1
1
11
−
−
−−
=zzzgCL α
αwhere α = exp(-Δt/λ)For no time-delay:
( ) ( )
( )( ) 0136.00157.0
65702.06277.11
0136.00157.065702.06277.11
11
2
21
21
1
1
++−
⋅−−
=
++−
⋅−−
= −−
−−
−
−
zzz
z
zzzz
zzzq
αααα
For the second-order example:
![Page 83: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/83.jpg)
Second-order Process: Dahlin’s Controller
Still “ringing”, but more damped than deadbeat
For λ = 3, α= 0.3679
-5 0 5 10 15 20 25 30
0
0.5
1
1.5
time
y
Dahlin, SO example
-5 0 5 10 15 20 25 30-100
-50
0
50
100
time
u
First-order response, at sample times
![Page 84: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/84.jpg)
Dahlin’s Modified Controller
Substitute zeros at origin for unstable (|zero|>1) or ringing (|zero|<1 but negative) zeros. Also, keep the gain the same
Problem: Dahlin applied this to gc(z), but should have applied it to the IMC form, q(z)!
“hidden slide” provided for additional background
![Page 85: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/85.jpg)
State Deadbeat Controller Design
Brings outputs & inputs to new steady-state in the minimum number of time stepsDoes not invert zeros at all
( )000293.0
65702.06277.10293.0
65702.06277.11~2
2211
+++−
=+−
==−−
−− zz
zzzzgzq p
( )
0136.00157.00136.00157.0
65702.06277.110136.00157.0
65702.06277.110136.00157.0~
21
21
21
21
++
⋅+−+
=
+−+
=
−−
−−
−−
−−
zzzz
zzzzzg p
( )zg p−~ ( )zg p+
~
second-order example
![Page 86: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/86.jpg)
Second-order Example: State Deadbeat Design
-5 0 5 10 15 20 25 30
0
0.5
1
1.5
time
y
State Deadbeat, SO example
-5 0 5 10 15 20 25 30-100
-50
0
50
100
time
u
![Page 87: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/87.jpg)
Controller Forms
( ) ( ) ( ) ( )( ) ( )( ) ( )n
nkkpzp pzpz
azazazazKzGzg
−−
−−−−==
+−
++
−−
L
LL
1
111~
Zafiriou & Morari notation Assumes stable poles
+ia−
iazero inside unit circle = = zero outside unit circle
( ) ( ) ( )( ) ( ) n
kpz
nSD zaaK
pzpzzq −− −−−−
=11 1
1
L
L
( ) ( ) ( ) ( )( ) ( )
( )1
1
1
1
11
11 −
−
−− −−
⋅−−−−
==zz
zaaKpzpzzFqzq n
kpz
nSDVE α
αL
L
State Deadbeat:
State Deadbeat with Filter (Vogel-Edgar):
Notice that neither the state deadbeat nor Vogel-Edgar controllers try to invert zeros (even good ones!)
![Page 88: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/88.jpg)
IMC Design SummaryModel Factorization (“good stuff” and “bad stuff”)
( ) ( ) ( )zgzgzg ppp +−= ~~~
• zeros outside unit circle• zeros inside unit circle that are negative• “all-pass” by including pole at 1/zi for each positive zi outside the unit circle (but not the negative ones)
• numerator one order less than denominator
( ) ( ) ( )zFzgzq p1~−−=
Controller: Invert “good stuff” part of model
• “Filter” for desired response, often first-order
![Page 89: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/89.jpg)
Example 2: Third-Order (3-tank)
( )( )31
1~+
=s
sg p ( ) ( )( )( )33679.0
1238.07990.10803.0~−
++=
zzzzg p
( ) ( )( )( )
( )( )( )( ) 23
2
1238.17990.21238.07990.1
3679.01238.17990.20803.0~
zzz
zzzg p
++⋅
−=
( ) ( ) ( )zgzgzg ppp +−= ~ ~ ~
Sample time = 1
( ) ( ) ( ) ( ) ( )
( ) ( )αααα
−−
⋅−
=
−−
⋅−
== −
−−
−
zzz
zz
zzzFzgzq p
12526.0
3679.0
11
2526.03679.0~
2
3
1
1
2
31
Note gain is 1 (value at z = 1)
where α = exp(-Δt/λ)
zeros at -1.7990 (outside unit circle)-0.1238 (inside, but negative)
![Page 90: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/90.jpg)
Example 2 (Third-Order) IMC Design
-2 0 2 4 6 8 10
0
0.5
1
1.5
time
y
Discrete IMC, TO example
-2 0 2 4 6 8 10-1
0
1
2
3
4
5
time
u
For λ = 1, α= 0.135
![Page 91: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/91.jpg)
Third-Order, Inverse Response (Ex. 3, Z&M, 1985)
( ) ( )( )( )( )5.221
5.1333.3~+++
+−=
sssssg p ( ) ( )( )
( )( )( )779.0819.0905.0792.0162.101316.0~
−−−+−−
=zzzzzzg p
( )( )( )( )
( )( )( )
( )( )
( )( )792.1162.0162.11
162.111792.0162.1
779.0819.0905.0162.111
162.11792.1162.001316.0
~
−⎟⎠⎞
⎜⎝⎛ −
⎟⎠⎞
⎜⎝⎛ −+−
⋅−−−⎟
⎠⎞
⎜⎝⎛ −
⎟⎠⎞
⎜⎝⎛ −−−
=zz
zz
zzz
zzzg p
Δt = 0.1
( ) ( ) ( ) ( )( )( )( )
( )αα
−−
⋅−
−−−== −
− zzzzzzzFzgzq p
18606.002741.0
779.0819.0905.0~ 1
where α = exp(-Δt/λ)
zeros at 1.162 (outside unit circle)-0.792 (inside, but negative)
( ) ( )( )( )( )779.0819.0905.0
8606.002741.0~−−−
−=− zzz
zzzg p
![Page 92: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/92.jpg)
Response (Ex. 3, Z&M ’85)
-1 0 1 2 3 4 5-1
-0.5
0
0.5
1
1.5
time
y
Discrete IMC, RHPZ - Example 3 Z&M
-1 0 1 2 3 4 5-2
0
2
4
6
8
10
time
u
For λ = 0.5, α= 0.8187
![Page 93: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/93.jpg)
“Real-World” Discussion
Have assumed a “perfect model” for these simulations. In practice, the real-world “plant” is not perfectly modeled (indeed, there are usually nonlinearities involved).
Can approximate real-world challenges by having the “plant” be different than the model used for controller design. Also, it is important to incorporate constraints and noise in the simulations.
![Page 94: Model Predictive Control: Background](https://reader031.vdocuments.us/reader031/viewer/2022021508/589da2841a28abc74a8bcb6d/html5/thumbnails/94.jpg)
Summary
Digital Control TechniquesDeadbeatDahlin’sState Deadbeat, State Deadbeat w/filter (Vogel-Edgar)Modified Dahlin’s (mis-developed by Dahlin!)
Internal Model ControlFactorization of zeros outside unit circle and negative zeros inside the circleForm “all-pass”(reflection of positive zeros outside the unit circle)Invert “good stuff” and use first-order filter