LABORATORIUM TEORII STEROWANIA I TECHNIKI REGULACJI | Imię Nazwisko: Seweryn Kwieciński |
WYDZIAŁ EAIiE |
Rok akademicki.: 2011/2012 |
Temat ćwiczenia: Opis UAR w przestrzeni stanu |
|
Data wykonania ćwiczenia: 02.04.2012r. |
OCENA |
Cel ćwiczenia
Celem ćwiczenia było zapoznanie z podstawowymi pojęciami związanymi z opisem układów w przestrzeni stanu, poznanie równania stanu oraz jego zastosowania w rozwiązywaniu problemów teori sterowania oraz wady i zalety tego rozwiązania. Ważną częścią była również możliwość nabycia wiedzy jak rozwiązywać zadania z użyciem metod numeryczncych czyli poznanie komend do środowiska matlab oraz ich prawidłowe użycie.
Wstęp teoretyczny oraz przebieg ćwiczenia
Równania stanu reprezentują model matematyczny układu dynamicznego. W wypadku większości układów wyjście układu y w chwili tn zależy nie tylko od wejścia układu u w chwili tn, ale także od przeszłych wejść układu. Całkowity wpływ na układ wartości wejść jest reprezentowany przez pojęcie stanu wewnętrznego układu. Dzięki wprowadzeniu tego pojęcia upraszczamy analizę układu, bowiem by wyznaczyć wyjście układu y w chwili tn musimy znać tylko dwie wielkości: wejścia układu u w chwili bieżącej oraz stan układu x w chwili bieżącej. Związek między wejściami, wyjściami oraz stanami wewnętrznymi (w ogólnym przypadku wielkości te są wektorami) układu jest reprezentowany przez równania stanu. Alternatywnym do równań stanu sposobem opisu układu dynamicznego jest transmitancja.
Większość obiektów można zapisać przy użyciu równań stanu:
dla układów stacjonarnych, natomiast dla układów niestacjonarnych macierze są zależne od czasu A(t), C(t), B(t), D(t)
A – macierz układu (stanu) - reprezentuje dynamikę systemu o wymiarach [nxn]
B – macierz wejścia (sterowania) – opisuje oddziaływanie sterowania na system o
wymiarach [nxp]
C – macierz wyjścia (odpowiedzi) - pokazuje w jaki sposób są transformowane zmienne
stanu na zmienne wyjściowe o wymiarach [qxn]
D – macierz przejścia (transmisyjna) układu o wymiarach [qxp]
x(t) – wektor stanu
u(t) – wektor sterowania
y(t) – wektor wyjścia
Powyższe równania pożna zapisać w postaci macierzowej
Porównanie klasycznej i nowoczesnej teorii sterowania
Klasyczna teoria sterowania związana jest z opisem układów sterowania w przestrzeni zmiennej zespolonej (opis transmitancyjny układów), natomiast nowoczesta teoria sterowania związane jest z opisem przestrzeni stanu
Kategoria | Klasyczna teoria sterowania | Nowoczesna teoria sterowania |
---|---|---|
Projektowanie układów regulacji | Najwygodniejsza przy projektowaniu układów SISO, gdzie obliczenia opierają się i charakterystykach częstotliwościowych . Trudność zastosowania opisu dla MIMO i układów niestacjonarnych | Można projektować układ dla szerokiej klasy sygnałów wejściowych a nie tylko dla typowych. Bardzo użyteczna do projektowania układów sterowania MIMO i do sterowania optymalnego wg określonego wskaźnika jakości |
Opis układu |
|
Trudno jest zapisać układ równań różniczkowych przedstawiający dynamikę obiektu |
Przekształcanie modeli | Przekształcenia algebraiczne modelu układu można dokonać przed podstawieniem za parametry wartości liczbowych | Równania ruchu wyprowadzamy na wzorach ogólnych, podstawiamy dane liczbowe i wszelkie operacje macierzowe przeprowadzamy na danych numerycznych - uciążliwość macierzowych obliczeń symbolicznych |
Uwzględnienie warunków początkowych | Włączenie do rozważań warunków początkowych bardzo komplikuje opis, często niemożliwe jest włączenie warunków początkowych | Można włączyć do rozważań warunki początkowe |
Przejście z klasycznej teorii sterowania do nowoczesnej
Dla wybranego przykładu:
przejdę z postaci wykładniczej do postaci zmiennych stanu. Wykorzystam do tego funkcje takie jak:
Funkcja tf2ss(L,M) która dokonuje konwersji opisu układu w postaci transmitancji na opis w postaci zmiennych stanu ([A,B,C,D]=tf2ss(L,M)).
Funkcja ss2tf(A,B,C,D) która dokonuje konwersji z opisu postaci zmiennych stanu
(macierze A,B,C,D) na transmitancję ([L,M]=ss2tf(A,B,C,D)).
Funkcja tf(L,M) która przedstawia model typu funkcja przejścia ,
gdzie: ,
,
L i M przedstawia się w postaci wektorów.
Funckja sys=ss(A,B,C,D) która służy do tworzenia modelu obiektu ciągłego w postaci zmiennych stanu, gdzie A, B, C, i D to odpowiednie macierze równań stanu i wyjścia (wymiary tych macierzy zależą od liczby współrzędnych stanu, sterowań i wyjść)
Kod MATLAB
W wyniku otrzymałem dwa ułamki:
Tranmitancja przed przejściem do układu stanu
Transmitancja po przejściu przez układ stanu
Jak widać mianownik obu trasmitancji nie zmienił się natomiast po powrocie z układu stanu w liczniku pojawił się nowy wyraz. Jest to spowodowane tym, że środowisko MATLAB obliczyło te współczynniki w sposób numeryczny, a taki sposób niesie ze sobą ryzyko popełnienia niewielkiego błędu, związanego ze skończoną ilością przeprowadzonych operacji arytmetycznych
Dokonam teraz przybliżenia. W tym celu użyje teraz funkcji zaokraglij która w przypadku gdy współczynnik jest barzo mały (poniżej 10-6) przypisze do współczynnika wartość 0.
W wyniku otrzymałem taką samą transmitancje jak przed konwersją co oznacza że transmitancja zapisana w obu układach nie zmienia swojej wartości.
4. Wartosci własne układu
Wartościami własnymi układu są miejsca zerowe wielomianu charakterystycznego układu czyli pierwiastki równania charakterystycznego. Wartości własne układu są zarazem wartościami własnymi macierzy układu. Tylko wśród wartości własnych mogą się znaleźć bieguny układu - bieguny transmitancji operatorowej, tzn. miejsca zerowe mianownika transmitancji.
Do wyznaczenia wartości własnych użyje funkcji [V,D]= eig(X) która służy do wyznaczania zarówno wartości własnych jak i odpowiadających im wektorów własnych dla dowolnej macierzy kwadratowej.
W wyniku działania funkcji otrzymałem:
Wartości własne Zera i bieguny
Zatem wnioskuje że zera oraz bieguny odpowiadają wartościom własnym macierzy stanu
Zapis macierzowy - forma zmiennych fazowych
Użyje funkcji ss która przedstawi mi model opisu zmiennych stanu w przejrzysty sposób:
Otrzymane macierze:
Ogólny schemat blokowy dla opisu w przestrzeni stanu
Opierając się na powyższym schemacie blokowym, można utworzyć schemat blokowy układu sterowania dla naszego przepadku. Wygląda on następująco:
Jeśli porównamy macierze zmiennych stanu z schematem to odkryjemy że są tam naniesione oznaczenia poszczególnych wierszy i kolumn w postaci litery x z odpowiednim indeksem n
Liczba integratorów w schemacie jest zależna od stopnia wielomianu mianownika w jego transmitancji
Charakterystyki dynamiczne układu sterowania w odpowiedzi na skok jednostkowy dla zerowych i niezerowych warunków początkowych
Zerowe warunki początkowe
Do wykreślenia charakterystyki liniowo-czasowej obiektu, można wykorzystać funkcję lsim. Umożliwia ona symulację odpowiedzi obiektu na dowolne wymuszenie (również wymuszenie liniowe). Można ją wywołać w następujący sposób:
[y,t,x] = lsim(sys,u,t,x0), gdzie:
y — wektor odpowiedzi (odpowiedź obiektu na zadane wymuszenie),
t — wektor czasu,
x — wektor trajektorii stanu (tylko dla modeli w postaci zmiennych stanu),
sys — liniowy model dynamiczny
, u — macierz (wektor dla układów SISO) wymuszeń,
x0 — warunki początkowe (tylko dla modeli w postaci zmiennych stanu).
ones[M,N]: tworzy macierz o zadanych wymiarach wypełnioną samymi jedynkami
Implementacja MATLAB
Zadane warunki początkowe
CSYS = CANON(SYS,TYPE) - funkcja form kanonicznych – z kluczem companion dla kanonicznej postaci obserwowalności, z kluczem modal dla diagonalnej postaci kanonicznej
Opis układu w przestrzeni stanu w różnych (równoważnych) postaciach:
Postać kanoniczna „modal” Postać kanoniczna „companion”
Opis układu w nowym układzie współrzędnych po zastosowaniu liniowej transformacji