Sterowaniem – nazywamy celowe oddziaływanie na przebieg proces
Transkrypt
Sterowaniem – nazywamy celowe oddziaływanie na przebieg proces
Dwiczenia 2 Automatyka i robotyka Wstęp Podstawowe pojęcia: Sterowaniem – nazywamy celowe oddziaływanie na przebieg procesów. Można wyróżnid ręczne oraz automatyczne. Układ – wyodrębniony ze środowiska układ fizyczny lub jego częśd. Środowisko i układ fizyczny są pojęciami pierwotnymi. Omówid przykład sterowania : Kierowanie samochodem Sterowanie kotłem grzewczym Autopilot samolotu Google self-driving car : http://www.youtube.com/watch?v=S_eVE6KQ4Jg http://www.youtube.com/results?search_query=google+self+car+driving&aq=f Wymuszenie (sygnał wejściowy) – oddziaływanie środowiska na wyodrębniony układ. Wymuszenia dzielimy na : Wielkości sterujące (sterowania) – wielkości które dla osiągnięcia pożądanych zachowao układu są zmieniane celowo Zakłócenia – podlegają zmianom losowym Co może byd wielkościami sterującymi a co zakłóceniami w przypadku automatycznego samochodu. Odpowiedź układu (wyjścia układu) – oddziaływanie układu na środowisko. Stan układu – najmniejszy liczebnie zbiór wielkości, którego znajomośd w chwili początkowej t0 oraz znajomośd wymuszeo w przedziale (y0,yt+ pozwala wyznaczyd stan i odpowiedź układu w dowolnej chwili t>t0. Obiekt regulacji – proces technologiczny lub urządzenie, w którym zachodzi proces podlegający regulacji. Przykłady obiektów: samochód, proces technologiczny, maszyna, robot. Regulator (urządzenie sterujące) – urządzenie, które wykorzystując różnice między odpowiednimi wielkościami zadanymi i mierzonymi, tak oddziałuje – za pomocą wielkości sterujących – na obiekt, aby wielkości regulowane miały pożądany przebieg. Sterowanie w układzie otwartym i zamkniętym (regulacja) czyli z sprzężeniem zwrotnym w(t) – wartośd zadana v(t) – wartośd rzeczywista zwana też sprzężeniem zwrotnym e(t) – błąd regulacji, uchyb u(t) – wartośd regulacji zwana też punktem pracy, sterowanie z(t) – zakłócenia Równanie stanu i równanie wyjścia Rozważmy układ elektryczny jak na rysunku poniżej Wymuszeniami będą wartości siły elektromotorycznej e1 i e2, zmiennymi stanu będą Uc – napięcie na kondensatorze i IL – prąd w cewce. Odpowiedzią układu będzie napięcie U na oporniku o rezystancji R3. Spróbujmy utworzyd model tego układu. Korzystając z pierwszego i drugiego prawa Kirchhoffa dla obwodu, możemy napisad równania: 1) 2) 3) Podstawiając za i rugując z powyższych równao prądy „Ic” i „I3” 4) 5) Porządkując równanie 5) mamy: 6) Podstawiając zależnośd z równania 6) do 4) otrzymamy 7) Zapisując 6) i 7) w postaci równania macierzowego mamy: Upraszczając równanie ma postad Nazywamy je równaniem stanu. Macierz A nazywamy macierzą systemu, a B macierzą wejścia. Pamiętajmy iż mamy wyznaczyd wartośd odpowiedź układu czyli w naszym przypadku „U”, na podstawie drugiego prawa Kirchhoffa dla oczka, możemy napisad 8) Podstawiając ponownie 6) do równania 8) otrzymamy Zapisując macierzowo Upraszczając równanie ma postad ogólną Równanie to nazywamy 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. Charakterystyki układu skokowa i impulsowa Charakterystyką skokową układu dynamicznego nazywamy odpowiedź układu na wymuszenie w postaci skoku jednostkowego przy zerowych warunkach początkowych. Charakterystyka impulsową układu dynamicznego nazywamy odpowiedź układu na wymuszenie w postaci impulsu Diraca przy zerowych warunkach początkowych 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) 2) 3) 4) 5) 6) 7) 8) 'step’ 'impulse' 'bode' 'nyquist' 'nichols' 'sigma' 'lsim' 'initial' LTIVIEW(PLOTTYPE,SYS) wywołanie to kreśli zadany rodzaj odpowiedzi dlazadanego 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. Utwórz w matlabie model w przestrzeni stanów 2. Wyznacz odpowiedź układu na zadane warunki początkowe 3. 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”. 4. Zbudowad model jak w dwiczeniu 3 zbadad odpowiedź na wymuszenia wykorzystując matlabową funkcję LITVIEW. 5. Zbudowad model jak w dwiczeniu 3 narysowad odpowiedź modelu na sinusoidalne wymuszenie U określone w chwilach T. 6. 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”