Prezentacja - Instytut Automatyki i Informatyki Stosowanej
Transkrypt
Prezentacja - Instytut Automatyki i Informatyki Stosowanej
Instytut Automatyki i Informatyki Stosowanej Politechniki Warszawskiej Algorytmy predykcyjne w wersji analitycznej z efektywnym mechanizmem uwzględniania ograniczeń wyjść Piotr Marusak Plan prezentacji 1. Wstęp 2. Algorytmy regulacji predykcyjnej 3. Uwzględnianie ograniczeń nałoŜonych na sygnał sterujący 4. Uwzględnianie ograniczeń sygnału wyjściowego 4.1. Uproszczenie mechanizmu 4.2. Przypadek uwzględniania niedokładności modelowania 5. Eksperymenty symulacyjne 6. Podsumowanie Wstęp • Dwie wersje algorytmów predykcyjnych • Wersja numeryczna – rozwiązywanie zadania optymalizacji kwadratowej z ograniczeniami uwzględnianymi podczas generacji sterowania • Wersja analityczna (wymagająca mniej obliczeń i szybsza) – sterowania generowane na podstawie prawa regulacji; ograniczenia nie są uwzględniane podczas generacji sterowania Uwzględnianie ograniczeń przez przycinanie Do tej pory ograniczenia nałoŜone na wartości wyjścia mogły być uwzględniane tylko dla następnej chwili W zaproponowanym rozwiązaniu ograniczenia wyjść uwzględniane na całym horyzoncie predykcji Idea regulacji predykcyjnej przeszłość yzadane przyszłość yprzewidywane uwyznaczane ∆uk k–1 k k+1 k+s k+p czas Rys. 1. Idea regulacji predykcyjnej; p – horyzont predykcji, s – horyzont sterowania, ∆uk – przyrost sygnału sterującego w bieŜącej iteracji Algorytmy regulacji predykcyjnej W kaŜdej iteracji rozwiązywany jest problem optymalizacji: p min J MPC = ∑ yk − yk +i|k ∆u k|k i =1 ( ) 2 ( ) + λ ⋅ ∆u 2 k |k • ∆uk|k jest szukaną wartością przyszłego przyrostu sterowania • y k +i|k są przewidywanymi wartościami wyjścia obiektu w przyszłych chwilach • sposób wyznaczania tych wartości zaleŜy od uŜytego modelu Predykcja w algorytmie DMC Wykorzystywany jest model w postaci odpowiedzi skokowej: ( yk = pd −1 ∑a i ⋅ ∆uk −i + a pd ⋅ uk − pd i =1 • ai są elementami odpowiedzi skokowej obiektu Przewidywane wartości wyjść: i y k + i | k = ∑ a n ⋅ ∆u k − n + i + n =1 • ( d k = y k − y k −1 pd −1 ∑a n = i +1 n ⋅ ∆u k − n + i + a p d ⋅ u k − p d + i + d k Predykcja w algorytmie DMC Przewidywane wartości wyjść: pd −1 y k + i| k = y k + ∑a pd + i −1 n ⋅ ∆uk − n +i + a pd ⋅ n =i +1 ∑ ∆u n = pd pd −1 k −n+i − ∑ an ⋅ ∆uk − n + ai ⋅ ∆uk |k n =1 =~ yk +i|k + ai ⋅ ∆uk |k • ∆u k |k jest przyszłym przyrostem sterowania Predykcja w algorytmie bazującym na równaniu róŜnicowym Wykorzystywany model: ( yk = b1 ⋅ yk −1 + b2 ⋅ yk −2 + K + bn ⋅ yk −n + + c1 ⋅ uk −1 + c2 ⋅ uk −2 + K + cm ⋅ uk −m • b1,…, bn, c1,…, cm są parametrami modelu obiektu Predykcja w algorytmie bazującym na równaniu róŜnicowym Przewidywane wartości wyjść: y k + i|k ~ i −1 ~ i −1 ~ i −1 ~ i −1 = b1 ⋅ y k + b2 ⋅ y k −1 + K + bn ⋅ y k −n+1 + bn+1 ⋅ y k −n + + c1i −1 ⋅ ∆u k|k + c2i −1 ⋅ ∆u k −1 + K + cmi −−11 ⋅ ∆u k −m+ 2 + cmi −1 ⋅ ∆u k −m+1 =~ y + c i −1 ⋅ ∆u . k +i|k 1 ~ i −1 ~ ~ i −1 b ~ i 1 ⋅ b j + b j +1 ; b j = ~ i −1 ~ b 1 ⋅ b j ; b1 + 1; ~ ~ b j0 = b j = b j − b j −1 ; − bn ; k |k j ≥ 1, j ≤ n j = n +1 ~ b1i −1 ⋅ c j + cij−+11; j ≥ 1, j ≤ m − 1 cij = ~ i −1 j=m b1 ⋅ c j ; j =1 j ≥ 2, j ≤ n j = n +1 c 0j = c j Predykcja w algorytmach bazujących na modelach liniowych Przewidywane wartości wyjść na horyzoncie predykcji: y = ~y + A ⋅ ∆uk|k , [ y = yk +1|k , K , yk + p|k [ ~y = ~ yk +1|k ,K, ~ yk + p|k [ A = a1 L a p ] T ] ] T przewidywane wartości wyjść T trajektoria swobodna wektor rzędnych odpowiedzi skokowej Algorytmy regulacji predykcyjnej w wersji analitycznej W kaŜdej iteracji rozwiązywany jest problem optymalizacji: p min J MPC = ∑ yk − yk +i|k ∆u k|k i =1 ( bez ograniczeń ) 2 ( ) + λ ⋅ ∆u 2 k |k Algorytmy regulacji predykcyjnej w wersji analitycznej W kaŜdej iteracji rozwiązywany jest problem optymalizacji: min { J ∆u k|k T 2 ( ) ( ) ( ) ⋅ y − y + λ ⋅ ∆u k | k MPC = y − y [ gdzie y = ~y + A ⋅ ∆uk |k = yk +1|k ,K, yk + p|k [ ~y = ~ yk +1|k ,K, ~ yk + p|k [ ] [ T A = a1 L a p y = y k ,K, y k ] ] ] } T T T wektor wartości zadanych (p elementów) Algorytmy regulacji predykcyjnej w wersji analitycznej W kaŜdej iteracji rozwiązywany jest problem optymalizacji: min { J ∆u k|k T 2 ( ) ( ) ( ) ⋅ y − y + λ ⋅ ∆u k | k MPC = y − y [ gdzie y = ~y + A ⋅ ∆uk |k = yk +1|k ,K, yk + p|k [ A = a1 L a p ] ] T T Rozwiązanie analityczne: ( T ∆u k |k = A ⋅ A + λ ) −1 ⋅ AT ⋅ ( y − ~y ) MoŜna więc wyznaczyć prawo regulacji. } Prawo regulacji Algorytm DMC pd −1 ∆uk|k = −r0 ⋅ ek + ∑ ri ⋅ ∆uk −i i =1 Algorytm bazujący na modelu w postaci równania róŜnicowego m −1 n +1 ∆uk |k = re ⋅ ek + ∑ ru ⋅ ∆uk − j + ∑ ryj ⋅ yk − j +1 j j =1 j =1 Uwzględnianie ograniczeń nałoŜonych na sygnał sterujący z–1 yk y + – Regulator+ analityczny ∆u u ∆uk ∆u u + model el. wykon. yk uk Obiekt el. wykon. Rys. 2. Schemat blokowy układu regulacji z analitycznym regulatorem predykcyjnym i ograniczeniami uwzględnionymi w regulatorze Ograniczenia nałoŜone na: • przyrosty sterowań jeśli ∆uk|k < ∆umin, to ∆uk|k = ∆umin. jeśli ∆uk|k > ∆umax, to ∆uk|k = ∆umax. • wartości sterowań jeśli uk–1 + ∆uk|k < umin, to ∆uk|k = umin – uk–1. jeśli uk–1 + ∆uk|k > umax, to ∆uk|k = umax – uk–1. Uwzględnianie ograniczeń sygnału wyjściowego Ograniczenia: yk + i|k ≥ ymin i = 1,…, p yk + i|k ≤ ymax i = 1,…, p Przewidywane wartości wyjść: y k + i| k = ~ yk +i|k + ai ⋅ ∆uk |k Uwzględnianie ograniczeń sygnału wyjściowego Ograniczenia: ai ⋅ ∆uk |k ≥ ymin − ~ yk + i | k i = 1,…, p ai ⋅ ∆uk |k ≤ ymax − ~yk + i|k i = 1,…, p Reguły przycinania (łącznie 2·p): • dla dolnych ograniczeń ~ jeśli ai ⋅ ∆u k|k ≤ ymin − yk +i|k to ∆uk|k = ymin − ~ yk +i|k ai • dla górnych ograniczeń yk +i|k to ∆uk|k = jeśli ai ⋅ ∆u k|k ≥ ymax − ~ ymax − ~ yk +i|k ai Uproszczenie mechanizmu Przyjmijmy: { } { } yk +l|k = min yk +1|k ,K, yk + p|k yk +h|k = max yk +1|k ,K, yk + p|k Reguły przycinania (łącznie 2): • dla dolnych ograniczeń jeśli yk + l | k ≤ ymin to ∆u k|k = ymin − ~ yk + l |k al • dla górnych ograniczeń jeśli yk + h|k ≥ ymax to ∆u k|k = ymax − ~ yk + h|k ah Uwzględnianie niedokładności modelowania Predykcja z uwzględnieniem niedokładności: ) yk +i|k = yk +i|k + rk +i|k = ~ yk +i|k + ai ⋅ ∆uk|k + rk +i|k rk+i|k reprezentuje wpływ błędu modelowania na dokładność predykcji Oszacowanie niedokładności: max rkmin ≤ r ≤ r +i|k k +i|k k +i|k max ≤ 0 , r gdzie rkmin +i|k k +i|k ≥ 0 Uwzględnianie niedokładności modelowania Przyjmijmy: { = max{y min ykr +l|k = min yk +1|k + rkmin , K , y + r +1|k k + p|k k + p|k ykr +h|k k +1|k max + rkmax , K , y + r +1|k k + p|k k + p|k } } Reguły przycinania: • dla dolnych ograniczeń min jeśli yk + l |k + rk + l |k ≤ ymin to ∆u k|k = ~ ymin − rkmin + l | k − yk + l | k al • dla górnych ograniczeń jeśli yk + h|k + rkmax + h | k ≥ ymax to ∆u k |k = ~ ymax − rkmax + h | k − y k + h| k ah Uproszczenie Przyjmijmy: { = max{r min rmin = min rkmin , K , r +1|k k + p|k rmax max max , K , r k +1|k k + p|k } } Wtedy: { } ykr +h|k = yk +h|k + rmax = max{yk +1|k + rmax ,K, yk + p|k + rmax } ykr +l|k = yk +l|k + rmin = min yk +1|k + rmin ,K, yk + p|k + rmin Uproszczenie Przyjmijmy: { } ykr +h|k = yk +h|k + rmax = max{yk +1|k + rmax ,K, yk + p|k + rmax } ykr +l|k = yk +l|k + rmin = min yk +1|k + rmin ,K, yk + p|k + rmin Reguły przycinania: • dla dolnych ograniczeń jeśli yk + l |k + rmin ≤ ymin • dla górnych ograniczeń jeśli yk + h|k + rmax ≥ ymax to ∆u k|k = ymin − rmin − ~yk + l |k al to ∆u k|k = ymax − rmax − ~ y k + h| k ah Obiekt regulacji s +1 G ( s) = 2 ⋅ e −4 s 4s + 2s + 1 • Oscylacyjny, z opóźnieniem, symulowany z okresem próbkowania Tsp=0.1 Model obiektu wykorzystany w regulatorze yk = 1,414 ⋅ yk −1 − 0,6065 ⋅ yk − 2 + 0, 2931 ⋅ u k −5 − 0,1004 ⋅ u k − 6 • Okres próbkowania regulatora Tsc=1 • Parametry regulatora: p=20 i λ=0 • Ograniczenie wyjścia yk+i ≤ 1,1 Eksperymenty symulacyjne Rys. 3. Odpowiedzi układu regulacji na skok wartości zadanej z 0 do 1; ograniczenia wyjścia: nie uwzględnione, uwzględnione, uwzględnione z marginesem bezpieczeństwa; po lewej – wyjście, po prawej – sterowanie Eksperymenty symulacyjne Rys. 4. Odpowiedzi układu regulacji na skok wartości zadanej z 0 do 1; ograniczenia wyjścia uwzględnione z marginesem bezpieczeństwa; tylko pierwsza wartość z horyzontu predykcji wzięta pod uwagę, wszystkie wartości z horyzontu predykcji wzięte pod uwagę; po lewej – wyjście, po prawej – sterowanie Podsumowanie • Zaproponowano algorytmy predykcyjne w wersji analitycznej z efektywnym mechanizmem uwzględniania ograniczeń wyjść • Dzięki zastosowaniu krótkiego horyzontu sterowania jest moŜliwe uwzględnianie ograniczeń na całym horyzoncie predykcji • Zaproponowano prostą metodę uwzględniania ograniczeń • Pokazano, jak uwzględnić niedokładność modelowania