Dwiczenia 3 Automatyka i robotyka Równaniem stanu. Macierz A nazywamy macierzą systemu, a B macierzą wejścia. Równaniem wyjścia. Do opisu układu możemy użyd jednocześnie równania stanu i równania wyjścia jest to opis układu w przestrzeni stanów. Operacje przydatne do ćwiczeo: SS ( state-space ) układ opisany za pomocą równao stanu. SYS = SS(A,B,C,D) tworzy układ ciągły. SYS = SS(A,B,C,D,T) tworzy układ dyskretny z czasem próbkowania T. INITIAL wyznacza odpowiedź układu na zadane warunki początkowe. INITIAL(SYS,X0) wywołanie to kreśli odpowiedź układu na zadany warunek początkowy X0, odpowiedź jest opisana przez następujące równanie: Układ ciągły: Układ dyskretny: x[k+1] = A x[k], y[k] = C x[k], x[0] = x0 Przedział czasu i liczba punktów są dobierane automatycznie. INITIAL(SYS,X0,TFINAL) wywołanie to symuluje odpowiedź dla podanego czasu, dla układu dyskretnego TFINAL określa liczbę kroków. INITIAL(SYS,X0,T) wywołanie to wektor T określa czas symulacji odpowiedzi, dla układu dyskretnego T ma postad Ti:Ts:Tf gdzie Ts określa czas próbkowania, dla układu ciągłego T ma postad Ti:dt:Tf gdzie dt określa odstęp między kolejnym próbkowaniem. INITIAL(SYS1,SYS2,...,X0,T) wywołanie to kreśli odpowiedź impulsową dla wielu układów na jednym wykresie z opcjonalnie użytym wektorem T, można też określid kolor oraz styl linii dla każdego z układów np. initial(sys1,'r',sys2,'y--',sys3,'gx').
*Y,T,X+ = INITIAL(SYS,X0,...) wywołanie to dla układu przestrzeni stanu zwraca również wektor stanu X z kolejnych chwil symulacji. STEP wyznacza odpowiedź układu na skok jednostkowy. STEP(SYS) wywołanie to kreśli odpowiedź układu na skok jednostkowy podany na wejście, przedział czasu i liczba punktów dobierane są automatycznie. STEP(SYS,TFINAL) wywołanie to symuluje odpowiedź skokową dla zadanego czasu TFINAL, natomiast dla układu dyskretnego bez ustalonego czasu próbkowania TFINAL jest interpretowany jako liczba próbkowao. STEP(SYS,T) wywołanie to wektor T określa czas symulacji odpowiedzi skokowej,dla układu dyskretnego T ma postad Ti:Ts:Tf gdzie Ts określa czas próbkowania, dla układu ciągłego T ma postad Ti:dt:Tf gdzie dt jest czasem próbkowania z dyskretnej aproksymacji na układ ciągły. STEP(SYS1,SYS2,...,T) wywołanie to kreśli odpowiedź skokową dla wielu układów na jednym wykresie z opcjonalnie użytym wektorem T, można też określid kolor oraz styl linii dla każdego z układów np. (sys1,'r',sys2,'y--',sys3,'gx'). *Y,T+ = STEP(SYS,...) wywołanie to zwraca wyniki symulacji w postaci wektora odpowiedzi skokowej Y oraz wektora czasu trwania symulacji T. *Y,T,X+ = STEP(SYS,...) wywołanie to dla układu przestrzeni stanu zwraca również wektor stanu X z kolejnych chwil symulacji. IMPULSE wyznacza odpowiedź układu na impuls jednostkowy. IMPULSE(SYS) wywołanie to kreśli odpowiedź układu na impuls jednostkowy podany na wejście, przedział czasu i liczba punktów dobierane są automatycznie. IMPULSE(SYS,TFINAL) wywołanie to symuluje odpowiedź impulsową dla zadanego czasu TFINAL, natomiast dla układu dyskretnego bez ustalonego czasu próbkowania TFINAL jest interpretowany jako liczba próbkowao. IMPULSE(SYS,T) wywołanie to wektor T określa czas symulacji odpowiedzi impulsowej, dla układu dyskretnego T ma postad Ti:Ts:Tf gdzie Ts określa czas próbkowania, dla układu ciągłego T ma postad Ti:dt:Tf gdzie dt jest czasem próbkowania z dyskretnej aproksymacji na układ ciągły. IMPULSE(SYS1,SYS2,...,T) wywołanie to kreśli odpowiedź impulsową dla wielu układów na jednym wykresie z opcjonalnie użytym wektorem T, można też określid kolor oraz styl linii dla każdego z układów np. (sys1,'r',sys2,'y--',sys3,'gx').
[Y,T] = IMPULSE(SYS,T) wywołanie to zwraca wyniki symulacji w postaci wektora odpowiedzi skokowej Y oraz wektora czasu trwania symulacji T. *Y,T,X+ = IMPULSE(SYS,...) wywołanie to dla układu przestrzeni stanu zwraca również wektor stanu X z kolejnych chwil symulacji. LTIVIEW udostępnia interakcyjny graficzny interfejs użytkownika dla porównao czasowych i częstotliwościowych odpowiedzi układów. LTIVIEW(PLOTTYPE) wywołanie to generuje przypadkowy układ dla którego kreśli odpowiedź. PLOTTYPE określa rodzaj odpowiedzi. W pole PLOTTYPE można wstawid: 1) 'step 2) 'impulse' 3) 'bode' 4) 'nyquist' 5) 'nichols' 6) 'sigma' 7) 'lsim' 8) 'initial' LTIVIEW(PLOTTYPE,SYS) wywołanie to kreśli zadany rodzaj odpowiedzi dla zadanego układu. LTIVIEW(PLOTTYPE,SYS1,SYS2,...SYSN) wywołanie to kreśli odpowiedzi wielu układów na jednym wykresie. LSIM symuluje odpowiedź czasową układu na zadany sygnał wejściowy. LSIM(SYS,U,T) wywołanie to kreśli odpowiedź czasową układu na sygnał wejściowy określony przez U i T przy zerowych warunkach początkowych, parametr U powinien zawierad wierszami wektory sterowao dla kolejnych chwil czasu określonych w wektorze T, stąd liczba wierszy macierzy U musi byd równa liczbie elementów wektora czasu T np. T = 0:0.01:5; U = cos(t); lsim(sys,u,t) symuluje odpowiedź układu na sygnał wejściowy U przez 5 sekund. LSIM(SYS,U,T,X0) wywołanie to dla układu opisanego równaniami stanu można określid warunki początkowe X0. LSIM(SYS1,SYS2,...,U,T,X0) wywołanie to symuluje odpowiedź kilku układów na jednym wykresie przy czym warunki początkowe mogą ale nie muszą byd określone, każdemu układowi można przypisad odpowiedni kolor i rodzaj linii np. lsim(sys1,'r',sys2,'y--',sys3,'gx',u,t).
*Y,T+ = LSIM(SYS,U,...) wywołanie to zapamiętuje przebieg symulacji zapisując przebieg wyjścia Y dla danych chwil czasu zapisanych w wektorze T, przy czym macierz Y ma tyle samo wierszy co liczba elementów wektora T oraz tyle kolumn ile jest wyjśd układu. *Y,T,X+ = LSIM(SYS,U,...) wywołanie to dla układu opisanego równaniami stanu zwraca też macierz stanów X, która ma tyle rzędów co liczba elementów wektora T i tyle kolumn ile jest stanów układu. GENSIG tworzy sygnały wejściowe dla LSIM. *U,T+ = GENSIG(TYPE,TAU) wywołanie to tworzy skalarny sygnał U z pola TYPE o okresie TAU. Generowane sygnały mogą byd funkcjami typu: TYPE = 'sin' --- sinusoidalna TYPE = 'square' --- prostokątna TYPE = 'pulse' --- okresowo-impulsowa GENSIG zwraca wektor T z czasem próbkowania i wektor U z wartościami sygnału dla tych próbkowao, wszystkie generowane sygnały mają amplitudę równą jeden. *U,T+ = GENSIG(TYPE,TAU,TF,TS) wywołanie to dodatkowo można określid długośd trwania sygnału TF oraz czas próbkowania TS. Zadania 1. Wyznacz charakterystykę skokową, impulsową układu Do narysowania charakterystyki skokowej wykorzystaj funkcję STEP, a impulsowej IMPULSE. Do umieszczenia wykresów na jednym obrazku można użyd funkcji subplot. 2. Zbuduj losowy model składający się z : a. 4 zmiennych stanu, 3 wymuszeo oraz 1 wyjściu b. 3 zmiennych stanu, 2 wymuszeo oraz 2 wyjśd. Dla każdego modelu narysuj charakterystyki skokową oraz impulsową. Zaobserwuj wygląd wykresów, zastanów się dlaczego tyle ich jest.
3. Zbudowad model jak w dwiczeniu 1 zbadad odpowiedź na wymuszenia wykorzystując matlabową funkcję LTIVIEW. 4. Zbudowad model jak w dwiczeniu 1 narysowad odpowiedź modelu na sinusoidalne wymuszenie U określone w chwilach T. 5. Wyznacz przebieg odpowiedzi układu o wielu wejściach i wielu wyjściach na wymuszenie sinusoidalne oraz wymuszenie zmieniające się skokowo. Układ dyskretny opisany jest modelem Został poddany działaniu dyskretnego wymuszenie sinusoidalnego o okresie Pi w wejściu u1 oraz wymuszenia zmieniającego się skokowo na wejściu u2. Okres próbkowania wynosi 0,1s. Do utworzenia odpowiednich wymuszeo użyj funkcji gensig 6. Wyznacz przebieg odpowiedzi układu o wielu wejściach i wielu wyjściach, na bazie dowolnego modelu o 4 zmiennych stanu, 3 wymuszeniach oraz 2 wyjściach, wykorzystując funkcję gensig podaj na wejście u1 sygnał sinusoidalny o okresie Pi, u2 prostokątny o okresie pi, u3 sinusoidalny o okresie 3/2Pi.