کنترل پيش بين-دکتر توحيدخواه

Download Report

Transcript کنترل پيش بين-دکتر توحيدخواه

‫‪MPC Review‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
Model Predictive Control (MPC)
1. Receding (Finite) Horizon Control
2. Using Time (Impulse/Step) Response
3. Based on Optimal Control with Constraints
‫دکتر توحيدخواه‬-‫کنترل پيشبين‬
Model Predictive Control Basis
‫دکتر توحيدخواه‬-‫کنترل پيشبين‬
‫مدلهاي استفاده شده در كنترل پيش بين‪:‬‬
‫• انواع مدلهائي كه در كنترل پيش بين استفاده ميشود‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪4‬‬
‫مدل پاسخ پله )‪(DMC‬‬
‫مدل پاسخ ضربه )‪(MAC‬‬
‫مدل تابع تبديل )‪(GPC‬‬
‫مدل فضاي حالت‬
:‫روشهاي ابداع شده توسط صنعت‬
1. Dynamic Matrix Control (DMC)
Shell Development Co.: Cutler and Ramaker (1980),
Cutler later formed DMC, Inc.
DMC acquired by Aspentech in 1997.
2. Model Algorithmic Control (MAC)
ADERSA/GERBIOS, Richalet et al. (1978) in France.
•
Over 5000 applications of MPC since 1980
Reference: Qin and Badgwell, 1998 and 2003).
‫‪Dynamic Matrix Control‬‬
‫)‪(DMC‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
‫‪ DMC‬تاريخچه‬
‫‪ Ramaker‬و ‪ Cutler‬ابداع در اواخر دهة ‪ 70‬توسط‬
‫استقبال از آن در دنياي صنعت به ويژه در صنايع پتروشيمي‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
‫مدل مورد استفاده براي پيشبيني‪:‬‬
‫پاسخ پله سيستم‬
‫فرض‪:‬‬
‫ثابت بودن اغتشاش در طول پيش بيني‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
Discrete Step Response Models
Consider a single input, single output process:
u
Process
y
where u and y are deviation variables (i.e., deviations from
nominal steady-state values).
9
‫مدل پاسخ پله‬
‫‪‬‬
‫‪y (t )   g i u (t  i ); s i  g i‬‬
‫‪i 1‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
:‫پيش بيني يك پله جلوتر‬
y(k + 1)  y 0 
yˆ (k  1) 
N 1
 g i u( k  i  1)
i 1
 g N u( k  N  1)
N 1
 g i u (k  i  1)  g N u (k  N  1)
i 1
yˆ (k  1) 
g1u (k )
Effect of current
control action
‫دکتر توحيدخواه‬-‫کنترل پيشبين‬

N 1
 g i u (k  i  1)  g N u (k  N  1)
i 2
Effect of past control actions
11
:‫پله جلوتر‬K ‫پيش بيني‬

yˆ (t  k t )   g i u (t  k  i)  nˆ (t  k t ) 
i 1

k
 g u(t  k  i)   g u(t  k  i)  nˆ(t  k t )
i 1
i
‫دکتر توحيدخواه‬-‫کنترل پيشبين‬
i  k 1
i
:‫فرض اغتشاش ثابت‬
nˆ (t  k t )  nˆ (t t )  y m (t )  yˆ (t t )
:‫بنابراين‬
k
yˆ (t  k t )   g i u (t  k  i ) 
i 1

k

 g u (t  k  i ) y
i  k 1
i
 g u (t  i )   g u (t  k  i )  f (t  k )
i 1
i
i 1
‫دکتر توحيدخواه‬-‫کنترل پيشبين‬
i
m
(t )  yˆ (t t )
‫پاسخ آزاد سيستم ‪:‬‬
‫آن قسمت از پاسخ كه به عمليات كنترلي آينده ربطي ندارد‬
‫‪‬‬
‫)‪f (t  k )  y m (t )   ( g k i  g i )u (t  i‬‬
‫‪i 1‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
‫اگر فرايند به صورت مجانبي پايدار باشد داريم‬
‫‪g k i  g i  0, i  N‬‬
‫و در نتيجه‪:‬‬
‫‪N‬‬
‫)‪f (t  k )  y m (t )   ( g k i  g i )u (t  i‬‬
‫‪i 1‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
‫محاسبه پيشگوييها در امتداد افق پيش بيني‪:‬‬
‫‪ : p‬افق پيشگويي‬
‫‪ :m‬افق كنترل‬
‫‪‬‬
‫)‪y (t  1 t )  g1 u (t )  f (t  1‬‬
‫‪‬‬
‫)‪y (t  2 t )  g 2 u (t )  g1 u (t  1)  f (t  2‬‬
‫‪‬‬
‫‪m‬‬
‫‪‬‬
‫)‪y (t  p t )   g i u (t  p  i )  f (t  p‬‬
‫‪i 1‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
:‫تعريف ميکنيم‬
 g1
g
 2
 
G
g m
 

 g p
0

g1



g m 1

g p 1



0 
 

g1 
 

g p  m 1 
0
:‫بنابراين‬

y  Gu  f
‫دکتر توحيدخواه‬-‫کنترل پيشبين‬
‫الگوريتم کنترل‬
‫هدف‪:‬‬
‫کمينه نمودن يک تابع هزينه مرتبه دو با كمك مفهوم كمترين‬
‫مربعات‪:‬‬
‫‪2‬‬
‫‪‬‬
‫‪J   y(t  j t )  w(t  j )‬‬
‫‪p‬‬
‫و يا به صورت کامل تر‪:‬‬
‫‪j 1‬‬
‫‪m‬‬
‫‪2‬‬
‫‪‬‬
‫‪2‬‬
‫‪J   y(t  j t )  w(t  j )   u(t  j  1)‬‬
‫‪p‬‬
‫‪j 1‬‬
‫‪j 1‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
‫در حالت بدون قيد به صورت تحليلي با محاسبه مشتق‬
‫و مساوي صفر قرار دادن آن داريم‪:‬‬
‫) ‪u  (G G  I ) G (w  f‬‬
‫‪T‬‬
‫‪1‬‬
‫‪T‬‬
‫کنترل پيشبين‪-‬دکتر توحيدخواه‬
‫خالصه‬
‫)‪DMC (Dynamic Matrix Control‬‬
‫• از پاسخ پله استفاده میکند‬
‫• برای سیستمهای چند متغیره استفاده می شود‬
‫• اغتشاش در طول افق ثابت است‬
‫) ‪nˆ(t  k | t )  nˆ(t | t )  ym (t )  yˆ (t | t‬‬
DMC ‫روابط الگوریتم‬

y (t ) 
 gi u(t  i)
i 1
nˆ (t  k | t )  nˆ (t | t )  y m (t )  yˆ (t | t )

yˆ (t  k | t ) 
 gi u(t  k  i)  nˆ(t  k | t ) 
i 1
k

i 1
i  k 1
 gi u(t  k  i)   gi u(t  k  i)  nˆ(t  k | t )
yˆ (t  k | t ) 
k


k
i 1
i  k 1
i 1
i 1
 gi u(t  k  i)   gi u(t  k  i)  ym (t )   gi u(t  i)   gi u(t  k  i)  f (t  k )

f (t  k )  y m (t ) 
 ( g k i  gi ) u(t  i)
i 1
N
f (t  k )  y m (t ) 
 ( g k i  gi ) u(t  i)
i 1
if
g k i  g i
 0,
iN

DMC ‫روابط الگوریتم‬
yˆ (t  1 | t )  g1 u (t )  f (t  1)
yˆ (t  2 | t )  g 2 u (t )  g1 u (t  1)  f (t  2)

p
yˆ (t  p | t ) 
 gi u(t  p  i)  f (t  p)
i  p  m 1
 g1
g
 2
 
 G
gm
 

 g p
yˆ  G .u f
0
g1

0
0

g m 1

g m2

g p 1
g p2



 

g1 
 

 g p  m 1 
pm





0
0
‫الگوریتم کنترلی‬
‫سیگنال کنترلی با کمینه کردن تابع هزینه به صورت زیر بدست می آید‬
‫‪Nu‬‬
‫‪N2‬‬
‫‪ y(t  j | t )  w( t  j)    u( t  j  1)‬‬
‫‪2‬‬
‫‪‬‬
‫‪j1‬‬
‫‪2‬‬
‫‪j N1‬‬
‫‪J( N1 , N 2 , N u ) ‬‬
‫اگر محدودیت نداشته باشیم‪ ،‬با مشتق گیری از ‪ J‬و مساوی صفر قرار دادن آن‬
‫سیگنال کنترلی به صورت زیر بدست می آید‪:‬‬
‫) ‪u  (GT G  I ) 1GT (w  f‬‬
‫دقت تتت شت تتود کت تته در تمت تتام الگت تتوریتم هت تتای کنترلت تتی ت ت تتا اولت تتین ا ت تتان از بت تتردار کنترلت تتی‬
‫استفاده می شود‬
Bias Correction
• The model predictions can be corrected by utilizing the
latest measurement, y(k).
• The corrected prediction is defined to be:
y(k + j)
ˆy(k + j)+ [y(k) - ˆy(k)]
(20-23)
• Similarly, adding this bias correction to each prediction in
(20-19) gives:
Y (k +1 )= S U(k)  Yˆ o (k +1)+[y(k) - ˆy(k)] 1
(20-24)
where Y (k +1 ) is defined as:
Y (k +1 ) col [y(k +1 ), y(k + 2 ),
25
, y(k + P)]
(20-25)
EXAMPLE
The benefits of using corrected predictions will be illustrated by a simple
example, the first-order plus-time-delay model
Y (s)
5e -2s
=
U(s) 15s  1
Assume that the disturbance transfer function is identical to the
process transfer function, Gd(s)=Gp(s). A unit step change in u
occurs at time t=2 min and a step disturbance, d=0.15, occurs at
t=8 min. The sampling period is t= 1 min.
(a) Compare the process response y(k) with the predictions that
were made 15 steps earlier based on a step response model with
N=80. Consider both the corrected prediction
(b) Repeat part (a) for the situation where the step response coefficients
are calculated using an incorrect model:
Y (s)
4e -2s
=
U(s) 20s  1
26
Figure 20.6 Without model error.
27
Figure 20.7 With model error.
28
Figure 20.10 Input blocking.
29
‫الگوریتم کنترلی با محدودیت‬
‫سیگنال کنترلی با کمینه کردن تابع هزینه و لحاظ کردن محدودیت ها بدست می‬
‫آید‪:‬‬
‫‪J  (G u f  w) T (G u f  w)   u T u‬‬
‫‪1 T‬‬
‫‪J  u Hu  b T u  f 0‬‬
‫‪2‬‬
‫)‪H  2(G T G   I‬‬
‫‪b T  2(f  w) T G‬‬
‫)‪f 0  (f  w) T (f  w‬‬
‫‪to : u min  u  u max ,...‬‬
‫‪min J subject‬‬
‫الگوریتم کنترلی با محدودیت‬
Quadratic Programming
- qpdantz
- linprog
-quadprog
‫‪Extended DMC‬‬
‫• ایده آن افزودن ترم جدیدی به خروجی پیش بینی است که در بر‬
‫دارنده ترم غیر خطی است‪.‬‬
‫• برای سیستمهای چند متغیره استفاده می شود‬
‫• اغتشاش در طول افق ثابت است‬
‫) ‪nˆ(t  k | t )  nˆ(t | t )  ym (t )  yˆ (t | t‬‬