Obserwator stanu

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
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

Obserwator stanu (estymator stanu) – w teorii sterowania obserwator stanu to model układu rzeczywistego, który wykorzystując pomiary wejść i wyjść tego układu dostarcza estymaty (wewnętrznego) stanu układu. Zwykle jest to model matematyczny zaimplementowany na komputerze.

Wstęp[edytuj | edytuj kod]

Znajomość stanu układu jest niezbędna przy rozwiązaniu wielu problemów teorii sterowania; na przykład, problemu stabilizacji układu z użyciem lokowania biegunów układu zamkniętego. W większości praktycznych przypadków, nie można poprzez bezpośrednią obserwację ustalić jaki jest stan fizyczny układu. Zamiast tego na wyjściu systemu obserwuje się pośrednie skutki jakie wywołuje stan wewnętrzny układu. Można to zilustrować przykładem z pojazdami w tunelu: częstość i prędkości z jakimi pojazdy wjeżdżają do tunelu i opuszczają go podlegają bezpośredniej obserwacji ale dokładny stan wnętrza tunelu może być tylko estymowany. Jeśli system jest obserwowalny, można, z użyciem obserwatora stanu, na podstawie pomiarów, w pełni zrekonstruować stan układu.

Typowy model obserwatora[edytuj | edytuj kod]

Można założyć, że stan dyskretnego układu fizycznego spełnia poniższe równania stanu:

\mathbf{x}(k+1) = A \mathbf{x}(k) + B \mathbf{u}(k)
\mathbf{y}(k) = C \mathbf{x}(k) + D \mathbf{u}(k)

gdzie \mathbf{x}(k) to stan obiektu w chwili k\,, \mathbf{u}(k) to wejścia systemu a \mathbf{y}(k) to jego wyjścia. Z równań tych wynika, ze zarówno aktualne wyjścia układu i ich przyszły stan określone są jedynie przez bieżący stan układu i bieżące wejścia układu. (Podane wyżej równania odnoszą się do przypadku układu dyskretnego (czyli przyjmują dyskretny krok czasowy), podobne równania stanu określa się również dla przypadku układu ciągłego). Jeśli układ ten jest obserwowalny to wyjście obiektu \mathbf{y}(k) można wykorzystać do sterowania stanem obserwatora stanu.

Model obserwatora stanu dla systemu fizycznego wyprowadza się zwykle korzystając z powyższych równań. Można w nich ująć dodatkowe wyrażenia by zapewnić zbieżność stanu modelu do stanu fizycznego systemu po otrzymaniu kolejnych pomierzonych wartości wejść i wyjść obiektu.

W szczególności wyjście obserwatora można odjąć od wyjścia obiektu i wówczas pomnożyć przez macierz L\,, wyrażenie to następnie jest dodawane do równań stanu obserwatora w wyniku czego otrzymuje się tak zwany obserwator Luenbergera (zaproponowany po raz pierwszy przez Davida Luenbergera), określony przez poniższe równania:

\mathbf{\hat{x}}(k+1) = A \mathbf{\hat{x}}(k) + L \left[\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right] + B \mathbf{u}(k)
\mathbf{\hat{y}}(k) = C \mathbf{\hat{x}}(k) + D \mathbf{u}(k)

Wyrażenie  L \left[\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right] bywa nazywane częścią korekcyjną, a macierz L\, macierzą wzmocnienia błędu zbieżności.

Należy przy tym zauważyć, że zmienne stanu obserwatora zwykle oznacza się "daszkiem": \mathbf{\hat{x}}(k) i \mathbf{\hat{y}}(k) - tak by można je odróżnić od zmiennych równań opisujących system fizyczny.

Obserwator jest stabilny asymptotycznie jeśli błąd obserwatora \mathbf{e}(k) = \mathbf{\hat{x}}(k) - \mathbf{x}(k) zmierza do zera gdy  k \rightarrow \infty . W przypadku obserwatora Luenbergera, błąd obserwatora spełnia następujace równanie  \mathbf{e}(k+1) = (A - LC) \mathbf{e}(k). Obserwator Luenbergera dla rozważanego układu dyskretnego jest więc stabilny asymptotycznie jeśli macierz  A - LC \, posiada wszystkie wartości własne wewnątrz okręgu jednostkowego.

Do celów sterowania (zob. przesuwanie biegunów i regulator liniowo-kwadratowy) wyjście obserwatora układu jest sprzężone z wejściem zarówno obserwatora jak i obiektu poprzez tzw. macierz wzmocnienia K\, :

\mathbf{u(k)}= -K \mathbf{\hat{x}}(k)

Równania obserwatora przyjmują wówczas postać:

\mathbf{\hat{x}}(k+1) = A \mathbf{\hat{x}}(k) + L \left(\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right) - B K \mathbf{\hat{x}}(k)
\mathbf{\hat{y}}(k) = C \mathbf{\hat{x}}(k) - D K \mathbf{\hat{x}}(k)

lub, po uproszczeniu:

\mathbf{\hat{x}}(k+1) = \left(A - B K \right) \mathbf{\hat{x}}(k) + L \left(\mathbf{y}(k) - \mathbf{\hat{y}}(k)\right)
\mathbf{\hat{y}}(k) = \left(C - D K\right) \mathbf{\hat{x}}(k)

Z uwagi na zasadę separacji, macierze K\, i L\, mogą być dobrane niezależnie, bez negatywnego wpływu na ogólną stabilność układu. W praktyce bieguny obserwatora A-LC\, dobiera się zwykle tak by były zbieżne 10 razy szybciej niż bieguny układu A-BK\,.

Przypadek układu liniowego z czasem ciągłym[edytuj | edytuj kod]

Podany powyżej przykład obserwatora dotyczy stacjonarnego, dyskretnego układu liniowego. Podobnie wygląda przypadek dla układu czasu ciągłego: wzmocnienie obserwatora L\, dobiera się tak aby błąd był asympotycznie zbieżny do zera (to znaczy gdy A-LC\, jest macierzą Hurwitza).

W przypadku układu liniowego z czasem ciągłym:

\mathbf{\dot{x}} = A \mathbf{x}+ B \mathbf{u}
\mathbf{y} = C \mathbf{x}

gdzie \mathbf{x} \in \mathbb{R}^n, \mathbf{u} \in \mathbb{R}^m ,\mathbf{y} \in \mathbb{R}^r, obserwator wygląda podobnie jak w przypadku dyskretnym opisanym powyżej:

\mathbf{\dot{\hat{x}}} = A \mathbf{\hat{x}}+ B \mathbf{u} + L \left(\mathbf{y} - C \mathbf{\hat{x}}\right) .

Błąd obserwatora \mathbf{e}=\mathbf{\hat{x}}-\mathbf{x} spełnia równanie:

 \mathbf{\dot{e}} = (A - LC) \mathbf{e}

Wartości własne macierzy A-LC\, można abitralnie dobrać poprzez właściwy wybór wzmocnienia obserwatora L\, gdzie para [A,C]\, jest obserwowalna to znaczy zachowany jest warunek obserwowalności. W szczególności, może to być macierz Hurwitza, tak że błąd obserwatora e(t) \rightarrow 0\, gdy t \rightarrow \infty.

Szczytowanie i inne metody związane z obserwatorami[edytuj | edytuj kod]

Gdy wzmocnienie obserwatora L\, jest duże to liniowy obserwator Luenbergera jest bardzo szybko zbieżny do stanu układu. Jednakże, duże wzmocnienie obserwatora prowadzi do zjawiska szczytowania, które polega na tym, że początkowy błąd estymatora może się stać niewspółmiernie duży (to znaczy, niepraktyczny lub niebezpieczny w użyciu).

Teorię (zamkniętego) obserwatora Luenbergera rozwija teoria filtru Kalmana. Filtr Kalmana jest optymalnym obserwatorem stanu układu dlatego pozwala na wyznaczenie optymalnego wzmocnienia obserwatora.

Opracowano też inne nieliniowe metody obserwatorów z dużym wzmocnieniem. Na przykład sterowanie ślizgowe może być stosowane do projektowania obserwatorów, które w skończonym czasie doprowadzają błąd estymowanej zmiennej stanu do zera, nawet w obecności błędów pomiarowych; inne zmienne stanu mają błąd, który zachowuje się podobnie do błędu w obserwatorze Luenbergera gdy ustanie szczytowanie. Obserwatory z przesuwnym trybem mają również pożądane własności radzenia sobie z szumem, podobne do tych jakie wykazuje filtr Kalmana.

Obserwator pełnego rzędu a obserwator zredukowany[edytuj | edytuj kod]

Obserwator pełnego rzędu to taki obserwator, który odtwarza wszystkie składowe wektora stanu x\,. W przypadku, gdy część tych składowych jest mierzalna nie ma potrzeby ich odtwarzania i można się ograniczyć do odtwarzania jedynie grupy składowych niemierzalnych wektora stanu. Obserwatory tego typu noszą nazwę obserwatorów zredukowanych (lub obserwatorów zredukowanego rzędu). Ich konstruowanie opiera się na metodzie stosowanej dla obserwatorów odtwarzających cały wektor stanu (takie obserwatory nazywa się czasami obserwatorami rzędu n\, gdzie n\, jest wymiarem wektora stanu obiektu).

Zobacz też[edytuj | edytuj kod]