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 det u t K et 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 yk p | k p y zad k p | k yk 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 yk 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 uk p | k umax p 0,1,..., Nu 1 • ograniczenia przyrostów wartości sygnałów sterujących ∆u umax uk p | k umax p 0,1,..., Nu 1 • ograniczenia wartości sygnałów wyjściowych regulowanych y ymin yk 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