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