Regulator liniowo-kwadratowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Niniejszy artykuł jest częścią cyklu teoria sterowania.

Klasy układów
Układy statyczne - Układy dynamiczne
Układy liniowe - Układy nieliniowe
Układy stacjonarne - Układy niestacjonarne
Układy deterministyczne - Układy stochastyczne
Układy o parametrach skupionych - Układy o parametrach rozłożonych
Układy ciągłe - Układy dyskretne


Wybrane typy regulacji
Regulacja stałowartościowa
Regulacja nadążna
Regulacja optymalna
Regulacja adaptacyjna


Metody klasyczne
Opis typu wejście-wyjście
Stabilność
Transmitancja
Charakterystyki czasowe
Regulacja PID
Charakterystyki częstotliwościowe
Linie pierwiastkowe
Korekcja fazy


Nowoczesna teoria sterowania
Równania stanu - Stan układu
Sterowalność - Przesuwanie biegunów
Regulator liniowo-kwadratowy
Obserwowalność - Obserwator stanu
Filtr Kalmana
Regulator LQG
Sterowanie predykcyjne
Krzepkość - H-nieskończoność


Inne zagadnienia
identyfikacja systemów


Dziedziny powiązane
Teoria układów dynamicznych
Przetwarzanie sygnałów
Sztuczna inteligencja
Teoria decyzji
Metody numeryczne


Perspektywa historyczna
Historia automatyki
Teoretycy sterowania

Regulator liniowo-kwadratowy (LQR – ang. Linear-quadratic regulator)

Opis ogólny[edytuj | edytuj kod]

Regulator liniowo-kwadratowy jest regulatorem ze sprzężeniem zwrotnym, który określa rozwiązanie dla tzw. problemu LQ – to jest dla przypadku, w którym układ dynamiczny został opisany przez układ liniowych równań różniczkowych, a koszt (który ma być zminimalizowany zgodnie z zasadami teorii sterowania optymalnego) opisany jest funkcjonałem kwadratowym. Regulator liniowo-kwadratowy stanowi istotną część w rozwiązaniu dla problemu LQG (ang. Linear-quadratic-Gaussian). Zarówno regulator liniowo-kwadratowy (LQR) jak i problem LQG zaliczają się do fundamentalnych zagadnień w teorii sterowania.

Poglądowo rzecz ujmując w regulacji liniowo-kwadratowej chodzi o określanie nastaw regulatora sterującego np. maszyną lub procesem z wykorzystaniem algorytmu matematycznego, który minimalizuje funkcję kosztów. Parametrami tej funkcji są wagi podane przez inżyniera. Koszt (w istocie jego funkcja) jest najczęściej zdefiniowana jako suma pomierzonych odchyłek od wartości zadanych. Algorytm znajduje więc takie nastawy regulatora, które minimalizują niepożądane odchyłki pomiarów (np. temperatury, wysokości itp.) Czasami w powyższej sumie ujmuje się też samą wielkość związaną z działaniem sterującym tak by energia zużyta na działanie sterujące była jak najmniejsza.

Taki regulator wyręcza więc inżyniera w żmudnej pracy związanej z optymalizacją regulacji. Jednak inżynier i tak musi wyspecyfikować wagi i sprawdzić jakie efekty dało ich zastosowanie w praktyce (często takie działanie przybiera charakter iteracyjny gdyż specyfikacje i sprawdzenia trzeba powtarzać do czasu osiągnięcia zadowalających wyników).

Algorytm regulatora liniowo-kwadratowego jest w istocie zautomatyzowaną metodą doboru regulatora ze sprzężeniem zwrotnym opisanego zmiennymi stanu. Konieczność specyfikacji wag stanowi znaczną niedogodność w tej metodzie. Często inżynierowie preferują alternatywne metody takiego doboru (np. poprzez określanie położenia biegunów), które dają im lepszy wgląd w powiązanie pomiędzy zmianą parametrów a zmianami w obserwowanym systemie.

LQR w czasie ciągłym ze skończonym horyzontem[edytuj | edytuj kod]

Dla liniowego systemu czasu ciągłego określonego na przedziale t\in[t_0,t_1] równaniem

\dot{x} = Ax + Bu

z kwadratową funkcją kosztu

J = \frac{1}{2} x^T(t_1)F(t_1)x(t_1)  + \int\limits_{t_0}^{t_1} \left( x^T Q x + u^T R u \right) dt

sterowanie ze sprzężeniem zwrotnym minimalizujące koszt określone jest przez równanie:

u = -K x \,

gdzie K\, dane jest wzorem

K = R^{-1} B^T P(t) \,

a P\, można znaleźć rozwiązując równanie różniczkowe Riccatiego dla czasu ciągłego

A^T P(t) + P(t) A - P(t) B R^{-1} B^T P(t) + Q = - \dot{P}(t) \,

LQR w czasie ciągłym z nieskończonym horyzontem[edytuj | edytuj kod]

Dla liniowego systemu czasu ciągłego określonego równaniem

\dot{x} = Ax + Bu

z funkcją kosztu

J = \int_{0}^\infty \left( x^T Q x + u^T R u \right) dt

sterowanie ze sprzężeniem zwrotnym minimalizujące koszt określone jest przez równanie:

u = -K x \,

gdzie K\, jest dane równaniem

K = R^{-1} B^T P \,

a P\, można znaleźć rozwiązując algebraiczne równanie Riccatiego dla czasu ciągłego

A^T P + P A - P B R^{-1} B^T P + Q = 0 \,

LQR w czasie dyskretnym ze skończonym horyzontem[edytuj | edytuj kod]

Dla liniowego systemu dyskretnego określonego przez równanie

x_{k} = A x_{k-1} + B u_k \,

z miarą jakości określoną przez

J = \sum\limits_{k=0}^{N} \left( x_k^T Q x_k + u_k^T R u_k \right)

optymalna sekwencja sterująca minimalizująca miarę jakości dana jest jako

u_k = -F_k x_{k-1} \,

gdzie

F_k = (R + B^T P_k B)^{-1} B^T P_k A \,

a P_k\, można znaleźć poprzez iterację wstecz w czasie z wykorzystaniem dynamicznego równania Riccatiego

P_{k-1} = Q + A^T \left( P_k - P_k B \left( R + B^T P_k B \right)^{-1} B^T P_k \right) A

z warunkiem początkowym P_N = Q\,.

Uwaga (notacja zwyczajowa)[edytuj | edytuj kod]

Funkcja minimalizująca (która nakłada "kary" na wartości kwadratów odchyłek sygnału na wejściu u\, i zmiennych stanu układu x\,) zawiera odrębne, odpowiednie macierze wag Q\, i R\, dla obu tych wartości. Przyjął się następujący zapis:

J = \sum\limits_{k=0}^{N} \left( \|\mathbf{x_k}\|_Q^2 + \|\mathbf{u_k}\|_R^2 \right)

gdzie wyrażenia unormowane określone są jak poniżej

\|\mathbf{x_k}\|_Q^2=x_k^T Q x_k
\|\mathbf{u_k}\|_R^2=u_k^T R u_k

LQR w czasie dyskretnym z nieskończonym horyzontem[edytuj | edytuj kod]

Dla liniowego systemu dyskretnego określonego równaniem

x_{k+1} = A x_k + B u_k \,

z miarą jakości określoną przez

J = \sum\limits_{k=0}^{\infty} \left( x_k^T Q x_k + u_k^T R u_k \right)

optymalna sekwencja sterująca minimalizująca miarę jakości dana jest jako

u_k = -F x_k \,

gdzie

F = (R + B^T P B)^{-1} B^T P A \,

a P\, jest jednoznacznym dodatnio określonym rozwiązaniem algebraicznego równania Riccati'ego dla czasu dyskretnego

P = Q + A^T \left( P - P B \left( R + B^T P B \right)^{-1} B^T P \right) A.

Jedna z metod znalezienia rozwiązania tego równania polega na iteracji dynamicznego równania Riccatiego dla przypadku ze skończonym horyzontem tak długo aż osiągnie się zbieżność.

Zobacz też[edytuj | edytuj kod]