Simulace dynamických systémů v Matlabu, teoretické základy

Slides:



Advertisements
Podobné prezentace
PID regulátory Ideální paralelní tvar (také nazýván standardní či ISA tvar) ro proportional gain popř. proportional band pb=100%/ ro, Td derivative action,
Advertisements

Základy teorie řízení 2010.
Analýza signálů - cvičení
Počítačové modelování dynamických systémů
Dynamické systémy.
MATHCAD Jiří Petržela icq
Ústav technologie, mechanizace a řízení staveb
Ústav technologie, mechanizace a řízení staveb
Programování numerických výpočtů - návrh písemky.
Softwarový systém DYNAST
Aplikační počítačové prostředky X15APP MATLAB - SIMULINK
Kalmanuv filtr pro zpracování signálů a navigaci
Přednáška 12 Diferenciální rovnice
Příklady z Matlabu (5) Jednoduché scripty.
Počítačové modelování dynamických systémů Simulink 5. cvičení Miloslav LINDA katedra elektrotechniky a automatizace.
Aplikační počítačové prostředky X15APP MATLAB cvičení 3 Zbyněk Brettschneider
Základy teorie řízení Frekvenční charakteristika
 př. 4 výsledek postup řešení Zjistěte, zda jsou vektory a, b, c lineárně závislé. a=(1;2;3), b=(3;0;1), c=(-1;4;5)
TMF045 letní semestr 2005/2006 II Časová propagace vlnové funkce na mřížce I. (práce s momentovou reprezentací) (Lekce II)
Ing. Lukáš OTTE kancelář: A909 telefon: 3840
TYPY MODELŮ FYZIKÁLNÍ MATEMATICKÉ ANALYTICKÉ NUMERICKÉ.
Laboratorní model „Kulička na ploše“ 1. Analytická identifikace modelu „Kulička na ploše“ 2. Program „Flash MX 2004“ Výhody/Nevýhody Program „kulnapl.swf“
AŘTP - diskrétní regulátor
Počítačová podpora konstruování I 4. přednáška František Borůvka.
Harmonická analýza Součet periodických funkcí s periodami T, T/2, T/3,... je periodická funkce s periodu T má periodu T perioda základní frekvence vyšší.
Modelování a simulace MAS_02
Tato prezentace byla vytvořena
Tato prezentace byla vytvořena
Aplikační počítačové prostředky X15APP MATLAB Katedra elektroenergetiky, Fakulta elektrotechniky ČVUT, Technická 2, Praha 6 Ing. Zbyněk Brettschneider.
Diferenciální počet funkcí více proměnných
Databázové modelování
Numerické řešení počítačového modelu
Karel Vlček, Modelování a simulace Karel Vlček,
Nelineární systémy Funkcí f(x(t),u(t)) je v každém okamžiku pohybu systému definován vektor rychlosti změny stavu dx(t)/dt určující okamžitý směr stavové.
SIGNÁLY A LINEÁRNÍ SYSTÉMY
Analýza lineárních regulačních systémů v časové doméně.
HUMUSOFT s.r.o. 1 FEMLAB 2.3 Konference MATLAB 2002, 7. listopadu 2002 Karel Bittner, HUMUSFOT s.r.o.
Metodika generování a ladění modelů neuronových sítí Ing. Martin MoštěkVŠB – Technická Univerzita Ostrava.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Linearizace dynamického systému
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Stabillita numerické metody
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ SIGNÁLY A LINEÁRNÍ SYSTÉMY prof. Ing. Jiří Holčík, CSc.
Teorie náhodných matic aneb tak trochu jiná statistika
BioTech 2011, Strážná. O čem to bude? Stochastické simulace Diferenciální rovnice (ODR) Automaty.
11/2003Přednáška č. 41 Regulace výpočtu modelu Předmět: Modelování v řízení MR 11 (Počítačová podpora) Obor C, Modul M8 ZS, 2003, K126 EKO Předn./Cvič.:
Stavová formulace v diskrétním čase důvody pro diskrétní interpretaci času některé dynamické jevy má smysl sledovat vždy jen ve zvláštních okamžicích,
Úloha 1 Měření vzdálenosti pomocí ultrazvuku na vstupu mikropočítače Projekt CZ.1.07/1.1.16/ Bc. Štěpán Janás 2013.
Struktura měřícího řetězce
Úloha 1 Projekt CZ.1.07/1.1.16/ David Holoubek 2014 Dotykový senzor na vstupu mikrokontroléru NXT.
Práce pro profesionály Cvičíme se v MATLABu © Leonard Walletzký, ESF MU, 2003.
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Grafické systémy II. Ing. Tomáš Neumann Interní doktorand kat. 340 Vizualizace, tvorba animací.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Robotika 3.
Katedra řídicí techniky FEL ČVUT1 11. přednáška. Katedra řídicí techniky FEL ČVUT2 Diskrétní regulační obvod Předpoklad: v okamžiku, kdy se na vstup číslicového.
Paul Adrien Maurice Dirac 3. Impulsní charakteristika
Identifikace modelu Tvorba matematického modelu Kateřina Růžičková.
Katedra řídicí techniky FEL ČVUT1 5. Přednáška. Katedra řídicí techniky FEL ČVUT2 Regulační obvod S … regulovaná soustava R … regulátor (řídicí systém)
Interpolace funkčních závislostí
Laplaceova transformace
Ing. Milan Houška KOSA PEF ČZU v Praze
Regulátory v automatizaci
MM2 – úvodní cvičení.
ČASOVÉ ŘADY (SIGNÁLY A LINEÁRNÍ SYSTÉMY )
Dynamické systémy Topologická klasifikace
Simulace dynamických systémů v Matlabu, Simulink
Simulace dynamických systémů v Matlabu, Simulink
Statické a dynamické vlastnosti čidel a senzorů
Interpolace funkčních závislostí
Transkript prezentace:

Simulace dynamických systémů v Matlabu, teoretické základy Stavový popis dynamického systému stavová vektorová rovnice x(t)=[x1(t) x2(t) .... xn(t)]T - vektor stavových veličin, stav systému u(t)=[u1 (t) u2(t) .... um(t)]T - vektor vstupů f – vektor funkcí pravých stran stav systému – minimální počet veličin modelu pro které platí: x(0), u(h), h0, t  x(t) – stav v čase h=t výstupní rovnice systému y(t)=[y1(t) y2(t) .... yp(t)]T - vektor výstupů g – vektor funkcí Pozn. - pro tentýž systém je možné volit různé vektory x - při tvorbě modelu se mohou některé proměnné xi ukázat jako nadbytečné a je nutné je vyloučit u(t) y(t) vnitřní struktura systém

Simulace dynamických systémů v Matlabu, teoretické základy Struktura modelu ve stavové formulaci

Simulace dynamických systémů v Matlabu, teoretické základy Stavový prostor a jeho vlastnosti stavový prostor – prostor vektoru stavových proměnných x(t)Rn n - řád systému – počet stavových proměnných – dimenze stavového prostoru – odpovídá složitosti systému stavová trajektorie – parametrické vyjádření křivky ve stavovém prostoru spojující všechny body x kterými systém při svém pohybu prošel

Simulace dynamických systémů v Matlabu, teoretické základy Lineární dynamický systém ve stavové formulaci stavová vektorová rovnice ARnn – matice dynamiky BRnm – matice pravých stran výstupní rovnice systému CRpn, DRpm výhody: možnost aplikace Laplaceovy transformace snadná analýza dynamických vlastností vhodný výchozí model pro návrh lin. regulátorů (PID, stavový reg.) nevýhody: většina systémů reálného světa má nelineární charakter  omezená platnost lineárního modelu při popisu nelineárního systému

Simulace dynamických systémů v Matlabu, Simulink nástroj pro modelování, simulaci a analýzu dynamických systémů podporuje tvorbu jak lineárních tak i nelineárních modelů, ve spojitém i diskrétním čase velice user-friendly prostředí, umožňuje vytvářet jak jednoduché tak i velmi složité modely interaktivné formou obsahuje celou řadu knihoven funkcí

Simulace dynamických systémů v Matlabu, Simulink Začínáme se Simulinkem otevřeme nové okno modelu v menu Simulinku File-new-model z knihoven Simulinku postupě taháme bloky do okna modelu a nastavíme do nich potřebné parametry bloky pospojujeme nastavíme délku simulace spustíme simulaci Vytvořme model pro nalezení přechodové odezvy následujícího systému:

Simulace dynamických systémů v Matlabu, Simulink Začínáme se Simulinkem - knihovny Comonly used blocks – bloky z níže uvedených knihoven, které se nejčastěji používají Continuous - spojité lineární systémy (integrator, transfer function, state-space....) Math operations – maticové operace (sum, gain, product,...) Sinks –zobrazení a uložení výsledků (scope, display, to worspace...) Sources – definice vstupů (step, signal generator, from file...) User-defined functions – umožňuje zadat funkce a zabudovat do simulinku m-fily Triky s bloky: Rotace bloku – Ctrl + R Klonování bloků – uchopení pravým tlačítkem myši a přetažení Rychlé spojení bloků – klik na blok - zmáčknout Ctrl – klik na druhý blok

Simulace dynamických systémů v Matlabu, Simulink Příklad tříramenná hadicová vodováha pro vytyčení roviny h1, h2, h3- výšky hladin v koncovkách q1, q2, q3- hmotn. průtoky ve spoj. hadicích ZZH S – plocha průřezu válce - hustota vody F – plocha průřezu hadice g – tíhové zrychlení L – délka hadicového spoje R – hydraulický odpor při průtoku hadicovými spoji

Simulace dynamických systémů v Matlabu, Simulink Uvažujme: S=F=3cm2, L=10m, r =1000kg/m3, g=9.81m/s2, R=5m/s Stavový popis systému Ustálený stav: Dynamika systému Vlastní čísla matice A (výsledek příkazu eig(A)) dvojnásobný komplexně sdružený pól,  dynamika stabilní, kmitavá

Simulace dynamických systémů v Matlabu, Simulink S=3*e-4; Ro=1000; F=S; L=10; R=5; g=9.82; a=1/(S*Ro); K=Ro*g*F/L; r=R/L; hs=1; h10=1.5; h20=0.3;

Simulace dynamických systémů v Matlabu, Simulink S=3*e-4; Ro=1000; F=S; L=10; R=5; g=9.82; a=1/(S*Ro); K=Ro*g*F/L; r=R/L; hs=1; h10=1.5; h20=0.3; Lineární modely je výhodné modelovat pomocí bloku State-Space, do kterého se zadávají matice systému A: [0 0 -a a;0 0 -a -2*a;2*K K -r 0;-K K 0 -r] B: [0;0;-3*K;0] C: eye(4) D: zeros(4,1) Init. cond.: [h10;h20;0;0] State-Space

Simulace dynamických systémů v Matlabu, Simulink

Simulace dynamických systémů v Matlabu, Simulink Příklad nelineární systém Van der Pole u(t) = us = konst. A=0.1

A*(1-u(1)^2)*u(2)-u(1)+u(3) Simulace dynamických systémů v Matlabu, Simulink Příklad nelineární systém Van der Pole u(t) = us = konst. A=0.1 Sestavení nelineárních modelů se zjednodušší použitím bloků Fcn, kam se zadá funkce pravé strany příslušné stavové rovnice. Proměnné se do bloku poté přivedou přes multiplexor mux. Všechny signály svedené do funkce přes mux jsou uvnitř funkce k dispozici ve vektoru u. Danou funkci je nutné zadat do bloku Fcn v syntaxi tohoto vektoru u, zde: kde u(1)=x1, u(2)=x2, u(3)=u A*(1-u(1)^2)*u(2)-u(1)+u(3)

Simulace dynamických systémů v Matlabu, Simulink Příklad nelineární systém Van der Pole Stavové trajektorie systému v závislosti na parametru u

Simulace dynamických systémů v Matlabu, Simulink Příklad nelineární systém Lorenzův oscilátor A = 20, B = 40, C = 8/3 simlorenz.mdl viz. web v bloku To Workspace nastavíme save format na array

Simulace dynamických systémů v Matlabu, Simulink Příklad nelineární systém Lorenzův oscilátor Stavovou trajektorii tak jak je na obr zobrazíme pomocí příkazů: plot3(x(:,1),x(:,2),x(:,3)) set(gca,'View',[-120 20]) xlabel('x_1') ylabel('x_2') zlabel('x_3') grid

Teoretické zákady numerického řešení počítačového modelu Simulace dynamických systémů v Matlabu, teorie Teoretické zákady numerického řešení počítačového modelu Problém: numericky simulovat (modelovat) chování systému (odezvy zahrnující vliv počátečních podmínek a změn vstupů) Stavová rovnice Numerický výpočet Výstupní rovnice Algebraický přepočet Dáno: Hledáme: Ze znalosti vektoru stvu x v čase mohu vypočítat stav v čase pomocí následující integrální rovnice, která vychází z rovnice stavové

Metody Runge-Kutta Simulace dynamických systémů v Matlabu, teorie Eulerova metoda (ode1) Heunova metoda (ode2) Substitucí jsme přešli na diskrétní čas k - krok metody

Simulace dynamických systémů v Matlabu, teorie Runge-Kutta 4. řádu (ode4) vytváří si pomocný bod uprostřed vzorkovacího intervalu jednoduchá, ale robustní při kombinaci s algoritmem pro adaptaci Dt velmi výkonná existují R-K metody i řádu r=3,5,6,7

Simulace dynamických systémů v Matlabu, teorie Příklad Řešme pomocí Eulerovy metody odezvu systému Van der Pole pro u = 0, A=0.1, A=0.1; u=0; dt=0.03; t=0:dt:100; x(1:2,1)=[0;5]; for k=2:length(t) x1=x(1,k-1); x2=x(2,k-1); x(1,k)=x1+dt*x2; x(2,k)=x2+dt*(A*x2*(1-x1^2)-x1+u); end plot(x(1,:),x(2,:)) grid, xlabel('x_1'),ylabel('x_2')

Spouštění modelu Simulinku z příkazové řádky Matlabu Simulace dynamických systémů v Matlabu, Simulink Spouštění modelu Simulinku z příkazové řádky Matlabu sim('model') – spustí Simulinkový model ‘model.mdl‘ s parametry nastavenými v modelu. [t,x]= sim('model',tmax,options) - spustí ‘model.mdl‘ s parametry nastavenými v options, s délkou simulace tmax. Výstupem jsou vektor času t a vektor stavů (hodnot na výstupu integrátorů) v matici x. options=simget('model') – zjistí aktuálně nastavené parametry simulace v model.mdl a uloží je do strukturované proměnné options options= simset(options,’par1’,value,....) – updatuje options s nově nastavenými parametry Pozn. Pro ukládání výsledných dat je vhodé použít blok Simulinku To Workspace, kde se dá zvolit typ datového výsledku (ve volbě save format – doporučuji array) a kde je možné výsledný vektor vzorkovat s definovanou periodou vzorkování (ve volbě sample time – když je -1 tak je vzorkování identické s krokem simulace).

Simulace dynamických systémů v Matlabu, Simulink Příklad Porovnejme výsledky simulace přechodové charakteristiky systému prvního řádu (skok vstupu v čase t=1) s využitím různých metod fixed-step solverů s krokem 2 V simulinku sestavíme model prvrad.mdl, viz obr., poté pomocí příkazů simget a simset měníme solvery od ode1 do ode5 a pro každé nastavení spustíme simulaci příkazem sim, tmax=50. options=simget('prvrad'); for k=1:5 switch k case 1 options=simset(options,'solver','ode1','FixedStep',2); case 2 options=simset(options,'solver','ode2'); case 3 options=simset(options,'solver','ode3'); case 4 options=simset(options,'solver','ode4'); case 5 options=simset(options,'solver','ode5'); end [t,x]=sim(‘prvrad’,50,options) X(:,k)=x; end plot(t,X) xlabel('t'),ylabel('y') legend('ode1','ode2','ode3','ode4','ode5')

Simulace dynamických systémů v Matlabu, Simulink Jak je patrné, v modelu prvrad.mdl není žádný blok pro uložení žádaného výstupu. Vzhledem k tomu, že výstupem je zde přímo výstup integrátoru, tedy stav modelu, lze jej spolu s časem získat přímo příkazem sim (v menu Configuration parameters modelu – Select: Data Import/Export – je vhodné zaškrtnou tout a xout.