Uploaded by gage.ahan

MPC podstawy

advertisement
MPC - podstawy
Model Predictive Control
– podstawy –
Politechnika Gdańska
Wydział Elektrotechniki i Automatyki
Opracowanie: dr inż. Tomasz Rutkowski
Katedra Inżynierii Systemów Sterowania
2015/2016
1
MPC - podstawy
Plan wykładu
Część I: Przypomnienie
• Struktury sterowania SISO i MIMO
• Klasyczny regulator PID
• Regulator PID z filtrem anti-windup
Część II: Sterowanie predykcyjne
• Czym jest sterowanie predykcyjne
• Dlaczego sterowanie predykcyjne
• Potencjalne wady
• Zasada działania
2
MPC - podstawy
Część I : Przypomnienie
3
MPC - podstawy
Obiekt SISO
- przykładowa struktura sterowania
4
MPC - podstawy
Obiekt SISO
- przykładowa struktura sterowania
5
Obiekty MIMO
- przykłady struktur sterowania
MPC - podstawy
Regulator
Wejścia
Obiekt
Wyjścia
Regulator
Obiekt
Wyjścia
Wejścia
Regulator
6
Regulator PID
MPC - podstawy
Postać ciągła regulatora PID:
t

1
det 
u t   K  et     e d  Td 

Ti 0
dt 

gdzie:
u(t) – wielkość sterująca
e(t) – uchyb sterowania
K – współczynnik wzmocnienia
Ti – stała czasowa całkowania (czas zdwojenia)
Td – stała czasowa różniczkowania (czas wyprzedzenia)
7
MPC - podstawy
Regulator PID
- uwzględnienie możliwości urządzeń wykonawczych
Kp = Ki = Kd = 1
-0.1 ≤ u ≤ 0.1
8
MPC - podstawy
Regulator PID
- uwzględnienie możliwości urządzeń wykonawczych
Kp = Ki = Kd = 1
-0.1 ≤ u ≤ 0.1
9
MPC - podstawy
Regulator PID
- uwzględnienie możliwości urządzeń wykonawczych
Jeden z wielu przykładów realizacji ciągłego regulatora
PID z filtrem anti-windup (przeciwnasyceniowym):
ujemne sprzężenie zwrotne obejmujące część
całkującą (ang. tracking anti-windup, back-calculation)
10
MPC - podstawy
Regulator PID
- uwzględnienie możliwości urządzeń wykonawczych
Jeden z wielu przykładów realizacji ciągłego regulatora
PID z filtrem anti-windup (przeciwnasyceniowym):
ujemne sprzężenie zwrotne obejmujące część
całkującą (ang. tracking anti-windup, back-calculation)
11
MPC - podstawy
Regulator PID
- uwzględnienie możliwości urządzeń wykonawczych
Kp = Ki = Kd = Tt = 1
-0.1 ≤ u_sat ≤ 0.1
12
Regulator PID
- uwzględnienie możliwości urządzeń wykonawczych
y(t)
u(t)
czesc calk. reg. I(t)
MPC - podstawy
Porównanie działania układu z regulatorem bez (linia
zielona) i z filtrem anti-windup, przeciwnasyceniowym
(linia niebieska)
czas t
13
MPC - podstawy
Część II: Sterowanie predykcyjne
14
MPC - podstawy
Czym jest sterowanie predykcyjne?
Predykcyjne algorytmy regulacji wyznaczają w każdej
chwili próbkowania sterowanie przez optymalizację
pewnej funkcji kryterialnej (funkcji celu) zdefiniowanej na
skończonym horyzoncie, na którym w oparciu o model
obiektu predykowane (przewidywane) jest jego
zachowanie.
Funkcja celu to odpowiednio zdefiniowane zadanie
sterowania optymalnego. Na wejście obiektu podawana
jest początkowa część wyznaczonego rozwiązania
(sterowanie). Przy czym horyzont na którym rozwiązuje
się zadanie optymalizacji jest typowo przesuwany z
kroku na krok (kolejne chwile próbkowania).
15
MPC - podstawy
Czym jest sterowanie predykcyjne?
krok predykcji
horyzont sterowania
horyzont predykcji
16
MPC - podstawy
Czym jest sterowanie predykcyjne?
• Krok predykcji powinien być odpowiednio mniejszy od
najmniejszej stałej czasowej regulowanego procesu po to, aby
regulator MPC uwzględniał „najszybszą” dynamikę występującą
w analizowanym procesie,
• Horyzont predykcji powinien być odpowiednio większy od
największej stałej czasowej regulowanego procesu po to, aby
horyzont obejmował odpowiedź procesu od chwili bieżącej do
czasu jej ustalenia (dla obiektów liniowych często przyjmuje się
sześciokrotność największej stałej czasowej obiektu),
• Horyzont sterowania dobiera się tak by był mniejszy od
horyzontu predykcji:
– całe sterowanie wyznaczone przez optymalizator w aktualnej chwili czasu k
wykorzystane jest do predykcji zachowania procesu w przyszłości na
horyzoncie predykcji,
– w aktualnej chwili czasu k przykładane jest jedynie sterowanie
„obowiązujące” na kroku predykcji.
17
MPC - podstawy
Rozwój sterowania predykcyjnego
Dynamicznie rozwijające się w ostatnich latach różnego
rodzaju algorytmy sterowania predykcyjnego szybko
znalazły szerokie zastosowanie w przemyśle:
chemicznym, rafineryjnym, gazowym, metalurgicznym,
papierniczym, samochodowym, kosmicznym,
farmaceutycznym, w cukrowniach, elektrowniach,
kotłowniach, hutnictwie, przetwórstwie spożywczym,
górnictwie, mikroelektronice, biotechnologii,
w procesach destylacji, polimeryzacji oraz oczyszczania
ścieków
18
MPC - podstawy
Rozwój sterowania predykcyjnego
19
MPC - podstawy
Podstawowe algorytmy regulacji
predykcyjnej z przesuwnym horyzontem
• Algorytm DMC (ang. Dynamic Matrix Control) dla
modeli obiektu opisanych odpowiedzią skokową lub
impulsową
• Algorytm GPC (ang. Generized Predictive Control) dla
modeli obiektu w postaci dyskretnych równań
różnicowych
• Algorytm MPCS (ang. Model Predictive Control with
State equations) dla modeli obiektu w postaci równań
stanu
20
MPC - podstawy
Rozwój sterowania predykcyjnego
21
MPC - podstawy
Podstawowe algorytmy regulacji
predykcyjnej z przesuwnym horyzontem
• Algorytm MPC-NO z nieliniową optymalizacją dla nieliniowych
modeli obiektu
• Algorytm MPC-NSL nieliniowe z sukcesywną linearyzacją, w
każdej chwili próbkowania wykonuje się linearyzację modelu
nieliniowego w aktualnym stanie obiektu a następnie wyznacza się
sterowanie stosując liniowe MPC
• Algorytm MPC-NPL z nieliniową predykcją i linearyzacją, w
odróżnieniu od MPC-NSL do predykcji wykorzystuje się model
nieliniowy a jedynie zadania optymalizacji rozwiązywane są na
modelu
22
MPC - podstawy
Rozwój sterowania predykcyjnego
23
MPC - podstawy
Dlaczego sterowanie predykcyjne?
Sterowanie predykcyjne umożliwia:
• projektowanie algorytmu regulacji z uwzględnieniem
ograniczeń wielkości sterujących i regulowanych,
• uwzględnienie interakcji wewnętrznych obiektu na
podstawie jego modelu matematycznego
• projektowanie algorytmu regulacji dla problemów typu
SISO jak i MIMO, liniowych oraz nieliniowych
• elastyczność wzbogacania projektowanego algorytmu
o np.: metody estymacji parametrów modelu obiektu,
• wykorzystanie niestacjonarnych modeli obiektów,
•…
24
MPC - podstawy
Dlaczego sterowanie predykcyjne?
• …
• możliwość operowania w zakresie wartości wielkości
sterujących i regulowanych bliskich ograniczeniom
• optymalne sterowanie procesem
• uwzględnienie przyszłych zmian trajektorii referencyjnej
/ referencyjnych, co przekłada się na „wcześniejszą”
reakcję regulatora
25
MPC - podstawy
Algorytm sterowania predykcyjnego z
przesuwnym horyzontem
• Algorytmy predykcyjne z przesuwanym horyzontem
charakteryzują się tym, że podczas wyznaczania
sterowania są w nich brane pod uwagę nie tylko
informacje z bieżącej chwili, ale także przewidywane
wartości wyjścia/wyjść (wielkości regulowane) w
przyszłości, na wiele chwil do przodu, na tzw. horyzoncie
predykcji.
• Predykcja w chwilach przyszłych dokonywana jest na
podstawie dostępnych informacji o obiekcie, o
występujących ograniczeniach, o przewidywanych
(przyszłych) zakłóceniach i wartościach zadanych oraz
innych informacji mogących poprawić jakość prognozy.
26
MPC - podstawy
Algorytm sterowania predykcyjnego z
przesuwnym horyzontem (cd.)
• Możliwe jest zatem efektywne wykorzystanie całej
dostępnej wiedzy (o obiekcie i układzie regulacji),
podczas syntezy algorytmu predykcyjnego
• Przyszłe sterowania są przez algorytm predykcyjny
wyznaczane tak, aby przewidywane zachowanie układu
regulacji spełniało założone kryteria.
27
MPC - podstawy
Sterowanie predykcyjne z przesuwnym
horyzontem - koncepcja
28
MPC - podstawy
Sterowanie predykcyjne z przesuwnym
horyzontem - koncepcja
29
MPC - podstawy
Potencjalne wady algorytmów sterowania
predykcyjnego?
Do wad sterowania predykcyjnego można zaliczyć przede
wszystkim:
• „zachłanność” na zasoby i czas obliczeń (algorytmy optymalizacji)
dla systemów o złożonej dynamice,
• potrzebę budowy modelu/modeli obiektów/procesów, co może być
kosztowne i wymagać odpowiedniej wiedzy o modelowanym
obiekcie/procesie,
• fakt, iż spełnienie ograniczeń dotyczących jakości regulacji dla
przyjętego modelu obiektu nie daje gwarancji ich spełnienia na
obiekcie rzeczywistym (wówczas konieczna jest synteza
mechanizmu krzepkodopuszczalności dla zaprojektowanego
regulatora MPC),
• „dość” skomplikowaną implementację poprawnie działającego
algorytmu sterowania predykcyjnego, a w szczególności
prawidłowego mechanizmu predykcji oraz pewnie działających
algorytmów optymalizacji.
30
MPC - podstawy
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
Reprezentacja modelu procesu na potrzeby predykcji:
• model liniowy lub nieliniowy
• ciągły lub dyskretny
Dalej ogólnie rozważać będziemy modele dyskretne opisane w
przestrzeni stanu:
liniowy
x(k  1)  A  x(k )  B  u(k )
nieliniowy
x(k  1)  f ( x(k ), u(k ))
31
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
MPC - podstawy
• funkcja celu (postać ogólna)
N




J k    y zad k  p | k   yk  p | k    p   y zad k  p | k   yk  p | k   ...
p 1

N u 1
T

  u k  p | k    p   u k  p | k 
p 0
T
 p   0
 p   
 p   0
 p     
 0
32
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
MPC - podstawy
• funkcja celu (często stosowane sformułowanie)
N
J k    y
zad
k  p | k   yk  p | k 
2
 ...
p 1
N u 1
    u k  p | k 
2
p 0
33
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
MPC - podstawy
• ograniczenia wartości sygnałów sterujących u
umin  uk  p | k   umax
p  0,1,..., Nu  1
• ograniczenia przyrostów wartości sygnałów sterujących ∆u
 umax  uk  p | k   umax
p  0,1,..., Nu  1
• ograniczenia wartości sygnałów wyjściowych regulowanych y
ymin  yk  p | k   ymax
p  1,..., N
• ograniczenia wartości sygnałów wyjściowych nieregulowanych yn
y n min  y n k  p | k   y n max
p  1,..., N
34
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
MPC - podstawy
• zadanie optymalizacji (minimalizacji)
w zależności od wykorzystanego modelu procesu do predykcji
(liniowy czy nieliniowy) odpowiednie zadanie optymalizacji przy
uwzględnieniu funkcji celu (wcześniejszy slajd) sprowadza się
odpowiednio do rozwiązania następujących zadań minimalizacji
liniowe
min J  u T Hu  2 f 2u
u
przy ograniczen iach :
Ac  bc
nieliniowe
min J(u, x(k ))
u
przy ograniczen iach :
g (u, x(k ))  0
35
MPC - podstawy
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
• W każdej iteracji algorytmu, czyli w każdej kolejnej
dyskretnej chwili czasu k (dokładniej kTp, gdzie Tp
oznacza okres próbkowania, czyli okres powtarzania
interwencji regulatora, k = 0,1, ... ) , dysponując:
• dynamicznym modelem obiektu,
• pomiarami zmiennych wyjściowych układu w chwili bieżącej i
poprzednich,
• poprzednimi wartościami sterowania,
• znaną (lub założoną) trajektorią wartości zadanych wyjść
regulowanych obiektu, w chwili bieżącej i chwilach przyszłych,
wyznaczyć wartość sterowań w bieżącej chwili, jak i wartość
sterowania w chwilach przyszłych na horyzoncie sterowania Nu
36
MPC - podstawy
Sterowanie predykcyjne z przesuwnym
horyzontem – koncepcja bardziej szczegółowo
• Sterowanie wyznaczane jest tak, aby zminimalizować
różnice między wartościami regulowanych wyjść obiektu,
przewidywanymi w chwili k na chwilę k+p, a wartościami
zadanymi dla tych wyjść (też na chwilę k+p ), na
horyzoncie predykcji N ( p = 1,2,...,N ).
Minimalizacja różnic rozumiana jest w sensie
określonego kryterium jakości regulacji – funkcja
kryterialna (funkcja celu).
• Do sterowania wyznaczany jest jedynie pierwszy
element tak wyznaczonego optymalnego ciągu wartości
sterowań. W kolejnej chwili (k+1)Tp następuje nowy
pomiar wyjścia obiektu i cała procedura jest powtarzana,
37
z horyzontem predykcji o niezmienionej długości N.
38
MPC - podstawy
MPC – przykład 1
MPC - podstawy
.
39
MPC – przykład 1
MPC - podstawy
.
40
MPC – przykład 1
MPC - podstawy
.
41
MPC – przykład 1
MPC - podstawy
.
42
MPC – przykład 1
MPC - podstawy
.
43
MPC – przykład 1
Funkcja celu:
MPC - podstawy
min J=
44
MPC – przykład 1
MPC - podstawy
Ograniczenia:
zmienna decyzyjna
dopuszczalny przedział wartości
przyrost
dopuszczalny przedział wartości
uret
< -5000 ; 5000 > [m3/d]
∆uret
< -2000 ; 2000 > [m3/d]
urec_w
( 0 ; 60 > [%]
∆Qrec_w
< - 1000 ; 1000 > [m3/d]
urec_z
( 0 ; 200 > [%]
∆Qrec_z
< - 1000 ; 1000 > [m3/d]
horyzont czasu
< k0 ; k0 + p >
horyzont czasu
< k0 ; k0 + s >
zmienna regulowana
dopuszczalny przedział wartości
QAX
< 9000 ; 11000 > [m3/d]
QAE
< 8000 ; 10000 > [m3/d]
h0:00
< 3,5 ; 5,5 > [m]
horyzont czasu
< k0 ; k0 + s >
45
MPC – przykład 1
MPC - podstawy
Taryfa energetyczna:
46
MPC - podstawy
MPC – przykład 1
Wariant 1: brak w funkcji celu składnika kosztów operacyjnych
47
MPC - podstawy
MPC – przykład 1
Wariant 1: brak w funkcji celu składnika kosztów operacyjnych
48
MPC - podstawy
MPC – przykład 1
Wariant 1: brak w funkcji celu składnika kosztów operacyjnych
49
MPC - podstawy
MPC – przykład 1
Wariant 1: brak w funkcji celu składnika kosztów operacyjnych
50
MPC - podstawy
MPC – przykład 1
Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych
51
MPC - podstawy
MPC – przykład 1
Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych
52
MPC - podstawy
MPC – przykład 1
Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych
53
MPC - podstawy
MPC – przykład 1
Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych
54
MPC - podstawy
MPC – przykład 1
Zestawienie realnych kosztów operacyjnych dla obu
analizowanych wariantów:
analizowany wariant
Wariant I
Wariant II
optymalizacja kosztów
nie
tak
koszty operacyjne [zł]
7201,68
6123,28
55
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
Zadanie obejmuje następujące dwa główne elementy:
Krok 1: Budowa modelu symulacyjnego układu
sterowania, odpowiednio poziomem produktu w
reaktorze i stężeniem produktu na wypływie z reaktora, z
regulatorami PID,
Krok 2: synteza regulatora MPC, w określonym punkcie
pracy, poziomem produktu w reaktorze i stężeniem
produktu na wypływie z reaktora.
56
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
W1, Cb1
h
W2, Cb2
W1 - natężenie dopływu substratu Cb1
W2 - natężenie dopływu substratu Cb2
W0 - natężenie odpływu produktu Cb
h - poziom produktu
Stałe stężenia substratów Cb1 i Cb2 w dopływach
odpowiednio 24.9 i 0.1
Zmienne decyzyjne: W1, W2
Zmienne kontrolowane: h, Cb
W0, Cb Zadanie sterowania:
- utrzymać Cb na poziomie 22
- utrzymać h na poziomie 30
- ograniczenia przedziału zmian W1 <0; 4>
- ograniczenia prędkości zmian W1 <-0.1; 0.1>
- ograniczenia przedziału zmian W2 <0; 1>
- ograniczenia prędkości zmian W2 <-0.02; 0.02>
57
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
58
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
59
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
60
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
61
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
62
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
63
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
64
Krok 1
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
65
Krok 1
MPC – przykład 3
– realizacja w Matlab/Simulink
MPC - podstawy
Zadanie 1:
Zmieniając parametry regulatorów PID „polepszyć jakość” działania procesu.
Zadanie do realizacji w trakcie laboratoriów.
Wykorzystanie zdobytej dotychczas wiedzy inżynierskiej.
66
Krok 2
MPC – przykład 3
– realizacja w Matlab/Simulink
MPC - podstawy
Zadanie 2:
Zaprojektować liniowy regulator MPC dla rozważanego procesu.
Przykład z wykorzystaniem zbudowanego wcześniej modelu symulacyjnego
procesu oraz narzędzi wbudowanych w Matlab/Simulink
(analiza liniowa - linearyzacja w wybranym punkcie pracy)
67
Krok 2
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
68
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
69
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
70
Krok 2
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
71
Krok 2
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
72
Krok 2
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
73
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
74
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
75
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
76
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
77
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
78
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
79
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
80
MPC – przykład 3
– realizacja w Matlab/Simulink
MPC2
MPC - podstawy
PID
81
MPC – przykład 3
– realizacja w Matlab/Simulink
MPC - podstawy
Zadanie 3:
Zweryfikować działanie zaprojektowanego regulatora MPC przy jego różnych
„ ustawieniach”, przeanalizować wpływ zmiany następujących parametrów na
„jakość” działania układu:
- horyzont sterowania,
- horyzont predykcji,
- wagi w funkcji celu.
82
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
83
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
84
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
85
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
86
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
87
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
88
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
89
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
90
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
91
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
92
MPC – przykład 3
– realizacja w Matlab/Simulink
MPC3
MPC - podstawy
MPC2
93
MPC – przykład 3
– realizacja w Matlab/Simulink
MPC - podstawy
Zadanie:
Zweryfikować działanie regulatora MPC dla różnych punktów pracy.
94
Krok 2
MPC - podstawy
MPC – przykład 3
– realizacja w Matlab/Simulink
Dalszy ciąg na zajęciach laboratoryjnych ;)
95
Bibliografia
[1] Camacho E.F., Bordons C. (2004). Model Predictive Control. Springer
Verlag, London Limited.
MPC - podstawy
.
[2] Maciejowski J.M. (2002). Predictive Control with Constraints. Prentice
Hall, Pearson Education Ltd. Harlowe, England.
[3]
Tatjewski P. (2002). Sterowanie zaawansowane obiektów
przemysłowych, Struktury i algorytmy. Akademicka Oficyna
Wydawnicza EXIT, Warszawa.
[4] Mathworks Webinar.
Introduction to Model Predictive Control
Toolbox
http://www.mathworks.com/videos/introduction-to-model-predictive-controltoolbox-81596.html?s_iid=main_custom_MP_cta1
[5] Pękalski P., Nałęcz P. (2011). Nadzorowane sterowanie predykcyjne
biologiczną oczyszczalnią ścieków. Praca dyplomowa na WEIA PG
pod opieką: dr inż. T. Rutkowskiego i dr inż. M. Grochowskiego.
96
MPC - podstawy
Dziękuję za uwagę !!!
97
Download