Równanie stanu (teoria układów dynamicznych)

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

Równania stanu są sposobem na reprezentację modelu matematycznego układu dynamicznego (zwłaszcza układu automatycznej regulacji). Znajomość stanu układu daje bardzo wiele, ale jeszcze więcej wiemy o układzie, gdy znamy związki zmiennej stanu z innymi ważnymi zmiennymi. Dlatego w opisie układu (w jego modelu matematycznym) kluczową rolę odgrywa związek rządzący zachowaniem się zmiennej stanu czyli równania stanu. Opis układu za pomocą równań stanu nazywany jest też czasami opisem w przestrzeni stanów lub modelem zmiennych stanu.

Sformułowanie równań stanu[edytuj | edytuj kod]

Szeroką klasę układów dynamicznych, których miarą zmiany procesu w czasie jest pochodna wektora stanu, a stan procesu dla t \geqslant{t_{0}}\, zależy tylko od stanu w chwili początkowej t_{0}\, oraz od wymuszenia \mathbf{u}(t)\, dla t\geqslant {t_{0}}\,, można opisać równaniem \mathbf{\dot{x}}(t) = \mathbf{f}(t, \mathbf{x}(t), \mathbf{u}(t)) z warunkiem początkowym \mathbf{x}(t_{0})=\mathbf{x}_{0}\,. Jest to tak zwane równanie stanu.

Zwykle nie wszystkie zmienne stanu są dostępne (bezpośrednio mierzalne), czyli wektor stanu \mathbf{x}(t)\, nie jest zarazem wektorem odpowiedzi układu. Do pełnego opisu potrzebne jest jeszcze równanie wiążące \mathbf{y}(t) z \mathbf{x}(t)\, i z wektorem wymuszenia \mathbf{u}(t) o postaci :\mathbf{y}(t) = \mathbf{g}(t, \mathbf{x}(t), \mathbf{u}(t)). Równanie to nazywamy równaniem wyjścia układu. Równanie wyjścia jest równaniem algebraicznym i dlatego nie zawiera się w nim opis dynamiki układu.

W ten sposób otrzymaliśmy równania stanu czyli równania różniczkowe pierwszego rzędu, które stanowią matematyczny model układu fizycznego określonego przez powiązane między sobą:

Schemat blokowy równań stanu dla układu ciągłego. Człon całkujący (integrator) zachowuje się jak element magazynujący (zob. stan układu)

Związek ten w przypadku modelu dla układu liniowego, ciągłego, stacjonarnego, o wielu wejściach i wielu wyjściach, deterministycznego, o parametrach stałych można zapisać w postaci:

\dot{\mathbf{x}}(t)
  = \mathbf{Ax}(t) + \mathbf{Bu}(t)
\mathbf{y}(t)
  = \mathbf{Cx}(t) + \mathbf{Du}(t)

(jak już wyżej wskazano, drugie z powyższych równań nazywa się równaniem wyjścia) gdzie

\operatorname{dim}[A] = q \times n
\operatorname{dim}[B] = q \times m
\operatorname{dim}[C] = p \times n
\operatorname{dim}[D] = p \times m
\dot{\mathbf{x}}(t)
  = {d\mathbf{x}(t) \over dt}.

Dla przypadku braku wymuszeń zewnętrznych \mathbf{u}(t) mamy do czynienia z tak zwanym układem swobodnym (opisanym jednorodnym równaniem stanu). W przypadku gdy takie wymuszenia pojawiają się w równaniu stanu nazywane jest ono też czasami niejednorodnym równaniem stanu.

Dla przypadku układu o jednym wejściu u(t)\, i jednym wyjściu y(t)\,, podane powyżej równania stanu przybierają postać:

\dot{\mathbf{x}}(t)
  = \mathbf{Ax}(t) + \mathbf{b}u(t)
y(t)
  = \mathbf {c^{T}x}(t) + d u(t)\,

gdzie  \mathbf{b},\mathbf{c} \, są odpowiednimi wektorami a d\, jest czynnikiem skalarnym.

Dla przypadku układu niestacjonarnego, podane na wstępie równania stanu przybierają postać:

\dot{\mathbf{x}}(t)
  = \mathbf{A}(t)\mathbf{x}(t) + \mathbf{B}(t)\mathbf{u}(t)
\mathbf{y}(t)
  = \mathbf{C}(t)\mathbf{x}(t) + \mathbf{D}(t)\mathbf{u}(t)

Dla przypadku układu nieliniowego, podane na wstępie równania stanu przybierają postać:

\mathbf{\dot{x}}(t) = \mathbf{f}(t, \mathbf{x}(t), \mathbf{u}(t))
\mathbf{y}(t) = \mathbf{g}(t, \mathbf{x}(t), \mathbf{u}(t))

Gdzie \mathbf{f} i \mathbf{h} są funkcjami nieliniowymi. Jeśli funkcja \mathbf{f}(\cdot,\cdot,\cdot) jest liniową kombinacja stanów i wejść to równania te można zapisać w notacji macierzowej jak w zapisach wyżej.

Dla przypadku układu stochastycznego, podane na wstępie równania stanu przybierają postać:

\mathbf{\dot{x}}(t)=\mathbf{Ax}(t)+\mathbf{Bu}(t)+\mathbf{v}(t)
\mathbf{y}(t)=\mathbf{Cx}(t)+\mathbf{Du}(t)+\mathbf{w}(t)

gdzie dodatkowo ujęte zostały wektory zakłóceń stochastycznych (wektory szumu): \mathbf{v}(t) - wektor szumu przetwarzania, \mathbf{w}(t) - wektor szumu pomiarowego.

Schemat blokowy równań stanu dla układu dyskretnego. Jednokrokowy operator opóźnienia z^{-1}\, wskazuje, że mamy do czynienia z członem opóźniającym.

Dla przypadku modelu dyskretnego (z czasem dyskretnym), podane na wstępie równania stanu przybierają postać:

\mathbf{x}(n+1) = 
\mathbf{Ax}(n) + \mathbf{Bu}(n)
\mathbf{y}(n) = 
\mathbf{Cx}(n) + \mathbf{Du}(n)

gdzie: n=\dots,-1,0,1,2,\dots oznacza dyskretną chwilę czasu.

W przypadku tzw. układów uogólnionych, podane na wstępie równania stanu (zwane też w tym kontekście równaniami stanu układu normalnego) mają postać uogólnioną:

\mathbf{E}\dot{\mathbf{x}}(t)
  = \mathbf{Ax}(t) + \mathbf{Bu}(t)
\mathbf{y}(t)
  = \mathbf{Cx}(t) + \mathbf{Du}(t)

gdzie \mathbf{E} jest macierzą o elementach rzeczywistych (tzn. \mathbf {E} \in \mathbb{R}^{pm}) a \dot{\mathbf{x}}(t) jest tu tzw. semiwektorem stanu (deskryptorem). Cechą układu uogólnionego jest to, że macierz \mathbf{E} może nie mieć pełnego rzędu to znaczy rząd \mathbf{E} = r \leqslant min(q,n)\,.

Układ uogólniony nazywany jest układem singularnym jeśli rząd \mathbf{E} = r < n\,. W przypadku szczególnym, gdy q=n\, wyżej podany układ uogólniony jest singularny, jeżeli det\mathbf{E} =0\, (tzn. \mathbf{E}\, jest macierzą osobliwą).

Rozwiązanie równań stanu[edytuj | edytuj kod]

Dla równań przedstawionych na wstępie rozwiązanie ogólne dane jest równaniem (jest to tak zwany wzór Cauchy-Bellmana):

\mathbf{x}(t)= \mathbf{\Phi} (t, t_0)\mathbf{x}(t_0)+\int_{t_0}^t \mathbf{\Phi}(t, \tau)\mathbf{B}(\tau)\mathbf{u}(\tau)d\tau

gdzie \mathbf{\Phi}(t, \tau) jest macierzą przejścia.

Niejednoznaczność opisu równaniami stanu[edytuj | edytuj kod]

W przeciwieństwie do opisu typu wejście-wyjście (w postaci odpowiedniego równania różniczkowego, transmitancji lub całki splotowej) opis równaniami stanu nie jest jednoznaczny. Oznacza to, że:

  • różnym postaciom opisu w przestrzeni stanów może odpowiadać jeden opis transmitancyjny a z drugiej strony
  • dla danej transmitancji istnieje nieskończenie wiele opisów w przestrzeni stanów (tym niemniej spośród różnych możliwych sposobów wyboru zmiennych stanu kilka jest szczególnie ciekawych).

Wprowadzenie przekształcenia nieosobliwego zmiennych stanu (to znaczy takiej zmiany współrzędnych w przestrzeni stanów, że przejście od jednych współrzędnych do drugich jest wzajemnie jednoznaczne) spowoduje, że ten sam układ będzie mógł być opisany innymi zmiennymi stanu i równaniami o innej postaci - przy zachowaniu tych samych własności.

Przekształcenie współrzędnych w przypadku układu liniowego oznacza, że współrzędne stanu x\, są kombinacjami liniowymi nowych współrzędnych z (i na odwrót), np:

x_1=p_{11} z_1 + p_{12} z_2 + ... + p_{1n} z_n\,
x_2=p_{21} z_1 + p_{22} z_2 + ... + p_{2n} z_n\,
.\,
.\,
.\,
x_n=p_{n1} z_1 + p_{n2} z_2 + ... + p_{nn} z_n\,

Nieosobliwość przekształcenia oznacza, że wyznacznik macierzy przekształcenia \textbf {P}=[p_{ij}] jest różny od zera, co zapewni jednoznaczność zamiany zmiennych x\, na z\, i na odwrót.

Równania można zapisać w skrócie jako \textbf {x}=\textbf{P} \textbf{z} lub \textbf {z}=P^{-1} \textbf{x} . Zastępując w poprzednich równaniach wektor stanu \textbf {x} przez \textbf{P} \textbf{z}, otrzymuje się nowe równania:

{dz\over dt}=P^{-1}\textbf{A}\textbf{P}\textbf{z}+P^{-1}\textbf{B} u
\textbf {y}=\textbf{CPz} + du

Przy użyciu nowych zmiennych stanu \textbf{z} otrzymuje się równania podobnej postaci, przy czym w miejscu macierzy \textbf{A} pojawia się macierz P^{-1}\textbf{AP} , zamiast wektora \textbf{B} - wektor P^{-1}\textbf{B} , zamiast wektora \textbf{C} - wektor \textbf{CP}.

Najważniejsze jest spostrzeżenie, że macierz \textbf{B} charakteryzuje cecha podobieństwa do macierzy \textbf{A}. Przesądza to o identyczności właściwości dynamicznych układu niezależnie od wyboru współrzędnych stanu.

Nieosobliwe przekształcenie współrzędnych stanu nie zmienia więc zasadniczych właściwości układu. Właściwości te są w istocie określone przez wartości własne, które są jednoznaczne w odróżnieniu od współrzędnych stanu i macierzy A\, układu.

Pojęciowo jest oczywiste, że właściwości układu nie mogą zależeć od wyboru zmiennych stanu. Istnieje nieskończenie wiele sposobów wyboru zmiennych stanu.

Powiązanie równań stanu z transmitancją[edytuj | edytuj kod]

Alternatywnym do równań stanu sposobem opisu układu dynamicznego (aczkolwiek zakładającym zerowy stan początkowy) jest transmitancja.

W przypadku układu o jednym wejściu i jednym wyjściu macierze stanu łączy z transmitancją następująca zależność:

G(s) = \mathbf{C}(sI -  \mathbf{A})^{-1}\mathbf{B} + D
Typowy model w przestrzeni stanów dla układu opisanego macierzami A, B, C, D

Istnieje nieskończenie wiele kombinacji macierzy A, B, C reprezentujących daną transmitancję G. Dla układu rzędu n = 2 macierze stanu można opisać następująco:

{\textbf{A}} = \begin{bmatrix}
a_{11}& a_{12}/\alpha\\
a_{21}\alpha& a_{22}\\
\end{bmatrix},
\textbf{B} = \begin{bmatrix} b_{11}\\ b_{21}\alpha\\ \end{bmatrix},
\textbf{C} = \begin{bmatrix} c_{11}& c_{12}/\alpha \end{bmatrix},

gdzie α jest dowolną liczbą rzeczywistą różną od 0.

W przypadku układu o wielu wejściach i wielu wyjściach w miejsce wspomnianej wyżej transmitancji określa się tak zwaną macierz transmitancji  \mathbf{G}(s) . Wówczas wyżej podana zależność przybiera postać:

\mathbf{G}(s) = \mathbf{C}(s\mathbf{I} -  \mathbf{A})^{-1}\mathbf{B} + \mathbf{D}

(wytłuszczenia symboli we wzorach wskazują na to, że chodzi o wektory a nie o wartości skalarne).

Postacie kanoniczne[edytuj | edytuj kod]

Jeśli wybiera się zmienne stanu dla układu o danej transmitancji to spośród różnych możliwych sposobów wyboru tych zmiennych kilka jest szczególnie ciekawych.

Ze względów rachunkowych najbardziej pożądany jest sposób, w którym otrzymuje się macierz A\, układu w postaci diagonalnej, przy czym na przekątnej tej macierzy występują poszczególne wartości własne układu (czyli bieguny transmitancji). Model taki (ang. uncoupled form) można uzyskać rozkładając transmitancję na ułamki proste. Jako zmienne wybiera się wtedy zmienne poszczególnych członów elementarnych połączonych równolegle. Zasadnicze wady tego opisu wynikają z braku ogólności metody (innymi słowy z braku jej kanoniczności), ponieważ przy wielokrotnych wartościach własnych układu nie jest możliwy rozkład na ułamki o mianownikach tylko pierwszego stopnia.

Cechy ogólności (kanoniczności) ma sposób wyboru zmiennych jako tzw. współrzędnych fazowych (ang. direct phase variable form) - w efekcie uzyskuje się model, który zawsze będzie odpowiadał modelowi sterowalnemu. Podobną strukturę ma model, w którym przyjmiemy y=x_n\,, zmienne stanu ponumerujemy odwrotnie i uzależnimy wszystkie równania stanu od x\, (ang. direct feed-forward form) - uzyskuje się wówczas strukturę systematyczną i ogólną a model taki odpowiada zawsze układowi obserwowalnemu. Modele sterowalne i obserwowalne są szczególnie pożądane z uwagi na to, że z niesterowalnością i nieobserwowalnością wiąże się pewna "niezręczność" w sposobie wprowadzenia sterowania lub wyprowadzenia wyjścia układu - w stosunku do układu swobodnego (zobacz też dekompozycja Kalmana).

Przykład[edytuj | edytuj kod]

Rozważmy przykład dla układu 4-wymiarowego o jednym wejściu i jednym wyjściu. Każda transmitancja ściśle właściwa może być zamieniona do przestrzeni stanów w następujący sposób. Transmitancję należy przekształcić tak aby w mianowniku i liczniku pojawiły się odpowiednie współczynniki:

 \textbf{G}(s) = \frac{n_{1}s^{3} + n_{2}s^{2} + n_{3}s + n_{4}}{s^{4} + d_{1}s^{3} + d_{2}s^{2} + d_{3}s + d_{4}}.

Sterowalna[edytuj | edytuj kod]

\dot{\textbf{x}}(t) = \begin{bmatrix}
0& 1& 0& 0\\
0& 0& 1& 0\\
0& 0& 0& 1\\
-d_{4}& -d_{3}& -d_{2}& -d_{1}

\end{bmatrix}\textbf{x}(t) + 
\begin{bmatrix} 0\\ 0\\ 0\\ 1\\ \end{bmatrix}\textbf{u}(t)
 \textbf{y}(t) = \begin{bmatrix} n_{4}& n_{3}& n_{2}& n_{1} \end{bmatrix}\textbf{x}(t).

Powstały model jest sterowalny.

Obserwowalna[edytuj | edytuj kod]

\dot{\textbf{x}}(t) = \begin{bmatrix}
-d_{1}&   1&  0&  0\\
-d_{2}&   0&  1&  0\\
-d_{3}&   0&  0&  1\\
-d_{4}&   0&  0&  0
\end{bmatrix}\textbf{x}(t) + 
\begin{bmatrix} n_{1}\\ n_{2}\\ n_{3}\\ n_{4} \end{bmatrix}\textbf{u}(t)
 \textbf{y}(t) = \begin{bmatrix} 1& 0& 0& 0 \end{bmatrix}\textbf{x}(t).

Powstały model jest obserwowalny.

Równania dla układów ze sprzężeniem zwrotnym[edytuj | edytuj kod]

Sprzężenie zwrotne od wyjścia[edytuj | edytuj kod]

Typowy model w przestrzeni stanu dla układu ze sprzężeniem zwrotnym od wyjścia

W przypadku sprzężenia zwrotnego od wyjścia, wyjście mnożone jest przez macierz K\, i podawane jest na wejście systemu:

\mathbf{u}(t) = -K \mathbf{y}(t)\,.

Ponieważ wartości K\, nie są ograniczone można je w prosty sposób zanegować dla ujemnego sprzężenia zwrotnego. Obecność znaku minus (zwykle spotykana w notacji) ma charakter jedynie notacyjny - jego nieobecność nie ma wpływu na wyniki końcowe obliczeń. Wówczas równania:

\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B \mathbf{u}(t)
\mathbf{y}(t) = C \mathbf{x}(t) + D \mathbf{u}(t)

można zapisać:

\dot{\mathbf{x}}(t) = A \mathbf{x}(t) + B K \mathbf{y}(t)
\mathbf{y}(t) = C \mathbf{x}(t) + D K \mathbf{y}(t)

Przekształcając równanie wyjścia dla \mathbf{y}(t) i dokonując podstawienia w równaniu stanu otrzymujemy:

\dot{\mathbf{x}}(t) = \left(A + B K \left(I - D K\right)^{-1} C \right) \mathbf{x}(t)
\mathbf{y}(t) = \left(I - D K\right)^{-1} C \mathbf{x}(t)

Zaleta powyższego zapisu polega na tym, że na wartości własne macierzy A\, można wpływać poprzez odpowiednie określenie K\, przez dekompozycję własną wyrażenia \left(A + B K \left(I - D K\right)^{-1} C \right).

Zakłada się przy tym, ze układ zamknięty jest sterowalny lub, że niestabilne wartości własne A\, można uczynić stabilnymi poprzez odpowiedni dobór K\,.

Często spotyka się uproszczenie dla takiego układu polegające na usunięciu D\, i określeniu C\, jako macierz jednostkową co redukuje równania do postaci:

\dot{\mathbf{x}}(t) = \left(A + B K \right) \mathbf{x}(t)
\mathbf{y}(t) = \mathbf{x}(t)

To znów sprowadza niezbędną dekompozycję własną jedynie do wyrażenia A + B K\,.

Zobacz też[edytuj | edytuj kod]

Bibliografia[edytuj | edytuj kod]