Model Predictive Control podstawy Politechnika Gdańska Wydział Elektrotechniki i Automatyki Opracowanie: dr inż. Tomasz Rutkowski Katedra Inżynierii Systemów Sterowania 2014/2015 1
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
Część I : Przypomnienie 3
Obiekt SISO - przykładowa struktura sterowania 4
Obiekt SISO - przykładowa struktura sterowania 5
Obiekty MIMO - przykłady struktur sterowania 6
Regulator PID Postać ciągłą regulatora PID: u t 1 de = dτ + Td T i dt 0 ( t) K e( t) + e( τ ) ( t) gdzie: u(t) wielkość sterująca e(t) uchyb sterowania K współczynnik wzmocnienia, T i stała czasowa całkowania (czas zdwojenia) T d stała czasowa różniczkowania (czas wyprzedzenia) 7
Regulator PID - uwzględnienie możliwości urządzeń wykonawczych Kp = Ki = Kd = 1-0.1 u 0.1 8
Regulator PID - uwzględnienie możliwości urządzeń wykonawczych Kp = Ki = Kd = 1-0.1 u 0.1 9
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
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
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 Porównanie działania układu z regulatorem bez (linia zielona) i z filtrem anti-windup, przeciwnasyceniowym (linia niebieska) y(t) u(t) czesccalk. reg. I(t) czas t 13
Część II: Sterowanie predykcyjne 14
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 jedynie 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
Czym jest sterowanie predykcyjne? krok predykcji horyzont sterowania horyzont predykcji 16
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
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
Rozwój sterowania predykcyjnego 19
Podstawowe algorytmy regulacji predykcyjnej z przesuwnym horyzontem liniowe 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
Podstawowe algorytmy regulacji predykcyjnej z przesuwnym horyzontem nieliniowe 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 21
Rozwój sterowania predykcyjnego 22
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, 23
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 24
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. 25
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. 26
Sterowanie predykcyjne z przesuwnym horyzontem - koncepcja 27
Sterowanie predykcyjne z przesuwnym horyzontem - koncepcja 28
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. 29
Sterowanie predykcyjne z przesuwnym horyzontem koncepcja bardziej szczegółowo Reprezentacja modelu procesu na potrzeby predykcji: model liniowy lub nieliniowy ciągły lub dyskretny w postaci odpowiedzi impulsowych lub skokowych np..: liniowy nieliniowy x( k + 1) = A x( k) + B u( k) y( k) = C x( k) x( k + 1) = f ( x( k), u( k)) y( k) = g( x( k)) 30
Sterowanie predykcyjne z przesuwnym horyzontem koncepcja bardziej szczegółowo funkcja celu (postać ogólna) J N = ( ) ( ) ( ( ) ( ) ) T zad Ψ p y k + p k y k + p k +... zad ( k) y ( k + p k) y( k + p k) + p= 1 N u 1 p= 0 T ( u( k + p k) Λ( p) u( k + p k) ) Ψ( p) > 0 Λ( p) > 0 Ψ( p) = Ι Λ ( ) = λ Ι p λ 0 31
Sterowanie predykcyjne z przesuwnym horyzontem koncepcja bardziej szczegółowo funkcja celu (często stosowane sformułowanie) J N zad 2 ( k) y ( k + p k) y( k + p k) +... = p= 1 + λ N u 1 p= 0 u ( k + p k) 2 32
Sterowanie predykcyjne z przesuwnym horyzontem koncepcja bardziej szczegółowo ograniczenia wartości sygnałów sterujących u u min u ( k + p k) u p = 0,1,..., N 1 max ograniczenia przyrostów wartości sygnałów sterujących u u max u ( k + p k) u p = 0,1,..., N 1 max ograniczenia wartości sygnałów wyjściowych regulowanych y u u ( k + p k) y p 1 N y y,..., min max = ograniczenia wartości sygnałów wyjściowych nieregulowanych y n y n n ( k + p k) y max p 1,..., N n min y = 33
Sterowanie predykcyjne z przesuwnym horyzontem koncepcja bardziej szczegółowo zadanie optymalizacji (minimalizacji) min J u N 2 zad ( k) = y ( k + p k) y( k + p k) + λ u( k + p k) p= 1 przy ograniczeniach: u u y u min u max u max u max y min y max n min y y n y n max N u 1 p= 0 2 gdzie: u, u, y, y n to wektory zmiennych odpowiednio, na horyzoncie sterowania i predykcji 34
Sterowanie predykcyjne z przesuwnym horyzontem koncepcja bardziej szczegółowo zadanie optymalizacji (minimalizacji) min J u N 2 zad ( k) = y ( k + p k) y( k + p k) + λ u( k + p k) p= 1 przy ograniczeniach: u u y u min u max u max u max y y min y max n min y n y n max N u 1 p= 0 2 u = T 1 T zad ( A A + λ Ι) A ( y y) W przypadku gdy nie uwzględnia się ograniczeń a model procesu opisany jest przez serię odpowiedzi skokowych na horyzoncie predykcji, które zapisano odpowiednio w macierzy A 35
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 kt p, gdzie T p 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 N u 36
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)t p następuje nowy pomiar wyjścia obiektu i cała procedura jest powtarzana, z horyzontem predykcji o niezmienionej długości N. 37
38
. MPC przykład 1 39
. MPC przykład 1 40
. MPC przykład 1 41
. MPC przykład 1 42
. MPC przykład 1 43
MPC przykład 1 Funkcja celu: min J= 44
MPC przykład 1 Ograniczenia: zmienna decyzyjna dopuszczalny przedział wartości przyrost dopuszczalny przedział wartości u ret < -5000 ; 5000 > [m 3 /d] u ret < -2000 ; 2000 > [m 3 /d] u rec_w ( 0 ; 60 > [%] Q rec _ w < - 1000 ; 1000 > [m 3 /d] u rec_z ( 0 ; 200 > [%] Q rec_z < - 1000 ; 1000 > [m 3 /d] horyzont czasu < k 0 ; k 0 + p > horyzont czasu < k 0 ; k 0 + s > zmienna regulowana dopuszczalny przedział wartości Q AX Q AE h 0:00 < 9000 ; 11000 > [m 3 /d] < 8000 ; 10000 > [m 3 /d] < 3,5 ; 5,5 > [m] horyzont czasu < k 0 ; k 0 + s > 45
Taryfa energetyczna: MPC przykład 1 46
MPC przykład 1 Wariant 1: brak w funkcji celu składnika kosztów operacyjnych 47
MPC przykład 1 Wariant 1: brak w funkcji celu składnika kosztów operacyjnych 48
MPC przykład 1 Wariant 1: brak w funkcji celu składnika kosztów operacyjnych 49
MPC przykład 1 Wariant 1: brak w funkcji celu składnika kosztów operacyjnych 50
MPC przykład 1 Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych 51
MPC przykład 1 Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych 52
MPC przykład 1 Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych 53
MPC przykład 1 Wariant 2: funkcja celu ze składnikiem kosztów operacyjnych 54
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 przykład 2 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 przykład 2 realizacja w Matlab/Simulink h W 1, C b1 W 2, C b2 W 0, C b 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 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
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 58
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 59
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 60
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 61
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 62
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 63
MPC przykład 2 realizacja w Matlab/Simulink Krok 1 64
Krok 1 MPC przykład 2 realizacja w Matlab/Simulink 65
Krok 1 MPC przykład 2 realizacja w Matlab/Simulink Zadanie 1: Zmieniając parametry regulatorów PID polepszyć jakość działania procesu. Należy zaproponować odpowiedni wskaźnik jakości działania układu sterowania np.. wykorzystując kryterium całkowe całka z kwadratu uchybu sterowania. Zadanie do realizacji w trakcie laboratoriów. Wykorzystanie zdobytej dotychczas wiedzy inżynierskiej. 66
Krok 2 MPC przykład 2 realizacja w Matlab/Simulink 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
MPC przykład 2 realizacja w Matlab/Simulink Krok 2 68
MPC przykład 2 realizacja w Matlab/Simulink 69
MPC przykład 2 realizacja w Matlab/Simulink 70
Krok 2 MPC przykład 2 realizacja w Matlab/Simulink 71
Krok 2 MPC przykład 2 realizacja w Matlab/Simulink 72
Krok 2 MPC przykład 2 realizacja w Matlab/Simulink 73
MPC przykład 2 realizacja w Matlab/Simulink 74
MPC przykład 3 realizacja w Matlab/Simulink 75
MPC przykład 3 realizacja w Matlab/Simulink 76
MPC przykład 3 realizacja w Matlab/Simulink 77
MPC przykład 3 realizacja w Matlab/Simulink 78
MPC przykład 3 realizacja w Matlab/Simulink 79
MPC przykład 2 realizacja w Matlab/Simulink 80
MPC przykład 2 realizacja w Matlab/Simulink PID MPC2 81
MPC przykład 2 realizacja w Matlab/Simulink 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 przykład 2 realizacja w Matlab/Simulink 83
MPC przykład 3 realizacja w Matlab/Simulink 84
MPC przykład 3 realizacja w Matlab/Simulink 85
MPC przykład 2 realizacja w Matlab/Simulink 86
MPC przykład 2 realizacja w Matlab/Simulink 87
MPC przykład 2 realizacja w Matlab/Simulink 88
MPC przykład 3 realizacja w Matlab/Simulink 89
MPC przykład 3 realizacja w Matlab/Simulink 90
MPC przykład 3 realizacja w Matlab/Simulink 91
MPC przykład 2 realizacja w Matlab/Simulink 92
MPC przykład 2 realizacja w Matlab/Simulink MPC2 MPC3 93
MPC przykład 2 realizacja w Matlab/Simulink Zadanie: Zweryfikować działanie regulatora MPC dla różnych punktów pracy. 94
Krok 2 MPC przykład 2 realizacja w Matlab/Simulink Dalszy ciąg na zajęciach laboratoryjnych ;) 95
Bibliografia [1] Camacho E.F., Bordons C. (2004). Model Predictive Control. SpringerBVerlag, London Limited.. [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
Dziękuję za uwagę!!! 97