11.07.2015 Views

Identifikace a návrh °ízení pro model kuli£ka na plo²e

Identifikace a návrh °ízení pro model kuli£ka na plo²e

Identifikace a návrh °ízení pro model kuli£ka na plo²e

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7027 - NEW


vPoděkováníMoja veľká vďaka patrí viacerým ľuďom. Najdôležitejšiu rolu zohral pri tvorení tejtopráce pán Ing. Jiří Řehoř, vedúci. Za jeho ochotu stretávať sa a prejednávať jednotlivé<strong>pro</strong>blémy a pasáže mu veľmi pekne ďakujem. Ďalej by som chcel poďakovať mojejmamke, bratovi a jeho rodinke. Podporovali ma a verili mi, že to dokážem. Nemalúzásluhu majú aj moji kamaráti, ktorí mi <strong>na</strong>povedali ako postupovať, keď som sa dostaldo slepej uličky. Rád by som uviedol ich mená, Bc. Ján Michalko, Bc. Matej Pčolka aBc. Eva Žáčeková. Ďakujem Vám.


viiProhlášeníProhlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouzepodklady (literaturu, <strong>pro</strong>jekty, SW atd.) uvedené v přiloženém sez<strong>na</strong>mu.V Praze dne 7. 1. 2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


viii


AbstractBachelory thesis Modeling and Control design for the ball and plate system is usingmodern theories of controling. In the first part of this thesis we’ll create theoretical <strong>model</strong>and consenquently we’ll identify controling system. For identification we use GREY BOXmethod. The ball and plate system will be controlled using two regulator types LQ orPID. Regulators will be compared and evaluated.AbstraktBakalárska práca identifikace a návrh řízení <strong>pro</strong> <strong>model</strong> kulička <strong>na</strong> ploše využíva modernéteórie riadenia. V prvej časti tejto práce zostrojíme teoretický <strong>model</strong> a následne budemeidentifikovať systém a riadiť ho. Pre identifikáciu použijeme metódu GREY BOX. Gulička<strong>na</strong> rovine bude riadená dvomi typmi regulatorov LQ alebo PID. Regulátory budúporov<strong>na</strong>né a zhodnotené.ix


Obsah1 Úvod 12 Identifikácia 32.1 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 A<strong>na</strong>lytické <strong>model</strong>ovanie(white box) . . . . . . . . . . . . . . . . . . . . . 42.2.1 Príklad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Black-box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Grey-box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4.2 Teoretický základ . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Najmenšie štvorce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.5.1 Riešenie LS pomocou pseudoinverzie . . . . . . . . . . . . . . . . 92.5.2 Príklad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Grey-Box 133.1 Optimalizácia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.1 Optimalizačný solver . . . . . . . . . . . . . . . . . . . . . . . . . 143.1.2 Vstupné argumenty . . . . . . . . . . . . . . . . . . . . . . . . . . 143.1.3 Možnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Popis funkcie prederrSISO . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.1 Volanie funkcie prederrSISO . . . . . . . . . . . . . . . . . . . . . 163.2.2 Validace <strong>model</strong>u . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Príklad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Popis systému gulička <strong>na</strong> rovine 194.1 Teoretický <strong>model</strong> gulička <strong>na</strong> rovine . . . . . . . . . . . . . . . . . . . . . 194.2 Nelineárny <strong>model</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3 Linearizácia a stavový popis . . . . . . . . . . . . . . . . . . . . . . . . . 224.4 Popis riadiacej karty humusoft MF 624 . . . . . . . . . . . . . . . . . . . 244.5 Servo systém . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.6 Identifikácia systému gulička <strong>na</strong> <strong>na</strong>klonenej rovine . . . . . . . . . . . . . 255 Návrh riadenia 295.1 PID regulátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2 LQR (Lineárny kvadratický regulátor) . . . . . . . . . . . . . . . . . . . 31xi


xiiOBSAH6 Záver 33Literatura 35A lsqnonlin solver 37A.0.1 Výstupné argumenty . . . . . . . . . . . . . . . . . . . . . . . . . 37B Obrazová príloha 39C CD 41


Sez<strong>na</strong>m obrázků1.1 Wattov regulátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Matematické kyvadlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Black box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Najmenšie štvorce - príklad . . . . . . . . . . . . . . . . . . . . . . . . . 113.1 Zle identifikované parametre . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Správne identifikované parametre . . . . . . . . . . . . . . . . . . . . . . 184.1 Nelineárny <strong>model</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Lineárny <strong>model</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Odozva <strong>na</strong> skok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4 Vstup, výstup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.5 Identifikácia systému 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.6 Vstup, výstup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.7 Identifikácia systému 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.1 PSD regulátor zapojený <strong>na</strong> systém č.1 . . . . . . . . . . . . . . . . . . . 305.2 PSD regulátor zapojený <strong>na</strong> systém č.2 . . . . . . . . . . . . . . . . . . . 305.3 Výstupy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.4 LQ regulátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32B.1 Simulinková schéma zapojenia PSD do systému . . . . . . . . . . . . . . 39B.2 PSD regulátor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40B.3 Zapojenie LQ regulátora . . . . . . . . . . . . . . . . . . . . . . . . . . . 40xiii


xivSEZNAM OBRÁZKŮ


Kapitola 1ÚvodRiadenie je technológia, ktorú ľudstvo využíva tisícročia. Prvé zmienky riadiacih systémovsahajú až do praveku 2000 rokov pred <strong>na</strong>šim letopočtom. Polynézania v tej dobezačali podnikať dlhé plavby v Pacifiku. Ich jednoduché lode vydlabané len z kmeňastromu boli veľmi vratké. Potrebovali teda vymyslieť niečo jednoduché, nejaký kvázyregulátor, ktorý by im pomohol potlačiť aspoň čiastočne vplyv vetra, vĺn. Riešenie sa<strong>na</strong>skytlo v podobe váhadla. Takto vznikli prvé vahadlové kanoe a katamarány [16].Snáď za jeden z <strong>na</strong>jkrajších a <strong>na</strong>jznámejších regulátor môžme považovať Wattov odstredivýregulátor, ktorý sa používal ku stabilizácii otáčok parného stroja. Bol zavedenýJamesom Wattom v roku 1782. Skladá sa z dvoch závaží, ktoré rotujú a sú poháňanéstrojom, ktorého otáčky majú byť regulované. Čím rýchlejšie tieto závažia rotujú, týmväčšia je výchylka od zvislej osy rotácie. Uvedené vychýlenie je <strong>na</strong>d ich ukotvením prevedené<strong>na</strong> zvislý pohyb, ktorý je ďalej pákou a ťahlom prevedené k ventilu privádzajúcemuparu do stroja. Je tak realizovaná mechanická záporná spätná väzba, ktorá dovoľuje pôsobenímpomerne malých síl regulovať veľmi výkonný stroj [4].Obrázek 1.1: Wattov regulátorZa posledných pár desaťročí sa zvýšili nároky <strong>na</strong> riadenie. Vytvárajú sa mnohé nestabilnésystémy, ktoré potrebujú stabilizovať. Bez stabilizovaného riadenia by teda nemohli1


2 KAPITOLA 1. ÚVODexistovať niektoré dôležité <strong>pro</strong>cesy. Veľmi zaujímavým príkladom je družica <strong>na</strong> obežnejdráhe Zeme, ktorá predstavuje veľmi nestabilný a ťažko vybuditelný sýtem. Je veľmiobtiažne s ňou manévrovať. Keby sme pre ňu nevedeli <strong>na</strong>vrhnúť stabilizované riadenie,ľahko by sa nám mohlo stať, že pri pokuse o pohyb by sa družica začala nekontrolovateľneotáčať a mohla by aj opustiť obežnú dráhu okolo Zeme.Pri moderných metódach optimálneho riadenia sa vyžaduje dobrá z<strong>na</strong>losť <strong>model</strong>u, uktorého je nevyhnutná identifikácia. Čím presnejšie máme popísaný <strong>model</strong>, tým lepšiemôžme <strong>na</strong>vrhovať regulátor. Pri <strong>model</strong>ovaní systémov s viacerými vstupmi a výstupmipomocou klasického prístupu Black-box <strong>na</strong>stáva <strong>pro</strong>blém. Neviem totiž ako vyzerá,správa sa systém vo vnútri. Pozorujeme len vstupy a výstupy. Niekedy, je ale Blackboxnevyhnutný. Vtip je v tom, že zvyčajne, ale niečo vieme viac a môžeme to zahrnúťdo <strong>pro</strong>cesu identifikácie. Pri <strong>na</strong>šej práci sme si preto zvolili prístup, ktorý sa nám zdávýhodnejší, Grey-box. Je to systém so zadanou vnútornou štruktúrou.Práca gulička <strong>na</strong> rovine nám predstavuje systém podobný systému družici už spomí<strong>na</strong>nej.Preto je veľmi zaujímavá a dáva nám možnosť lepšie pochopiť a niečo nové sa<strong>na</strong>učiť o riadení nestabilných systémov.


Kapitola 2IdentifikáciaIdentifikácia je spracovanie meraní získaných <strong>na</strong> <strong>pro</strong>cese s cieľom zvoliť vhodný typ<strong>model</strong>u, nájsť štruktúru a <strong>na</strong>koniec identifikovať jeho parametry z <strong>na</strong>meraných dát.Identifikáciu zďaleka neuskutočňujeme len pre účely simulácie a návrhu riadiacich systémov,to je <strong>na</strong>jmenšia časť aplikácií. Identifikácia sa uskutočňuje pre účely diagnostikyv biológii a lekárstve, meteorológii a iných oblastiach, kde formálne <strong>model</strong>y s parametramizískanými z dát umožňujú hlbšie poz<strong>na</strong>nie systémov, predikciu chovania systémudo budúc<strong>na</strong> či zmenu konštrukcie, pokiaľ ide o inžinierský systém [7]. Lineárne systémysú veľmi často používané z hľadiska jednochoduchého a pohodlného riadenia o<strong>pro</strong>ti nelineárnymsystémom. Preto sa s<strong>na</strong>žíme nelineárne systémy linearizovať v okolí nejakéhopracovného bodu, aby sme ich následne mohli identifikovať a riadiť ako lineárne.Poznáme niekoľko druhou identifikácií, spomenieme si niekoľko základných z nich.Napríklad by sme mohli odvodiť teoretický popis z fyzikálnej podstaty a následne uskutočniťnejaké experimenty <strong>na</strong> systéme, tak aby sme získali všetky potrebné konštanty.Ďalej by to mohlo byť meranie frekvenčnej charakteristiky. Vieme, že frekvenčnácharakteristika je v podstate prenos, ktorý plne popisuje lineárny systém.Jed<strong>na</strong> z <strong>na</strong>jslabších metód je identifikácia z prechodovej charakteristiky. Zmeriameteda prechodovú charakteristiku nejakého systému a následne hľadáme taký prenos,ktorý sa s <strong>na</strong>meranou charakteristikou zhoduje <strong>na</strong>jviac [14].V <strong>na</strong>šej práci sa budeme zaoberať identifikáciou systému metódou Grey-box.2.1 ModelŠtúdium dy<strong>na</strong>miky reálnych systémov je tradične založené <strong>na</strong> <strong>model</strong>e systému. Modelysystému sú zjednodušené, abstraktné nástroje používané pre predikciu chovania <strong>model</strong>ovanýchsystémov. Vďaka nim vieme dostatočne presne určiť ako sa systém bude chovať.Predikátor výstupu nám hovorí, ako sa bude chovať výstup pokiaľ poznáme históriu abudúci vstup. Zvyčajne je popísaný diferenčnými, či difernciálnymi rovnicami.Zložitý a veľmi detailný <strong>model</strong> spravidla obsahuje parametry, ktoré nie je možnéčíselne odhadnúť. Takéto <strong>model</strong>y bude veľmi ťažké a<strong>na</strong>lyzovať. Preh<strong>na</strong>nou s<strong>na</strong>hou o3


4 KAPITOLA 2. IDENTIFIKÁCIAčo <strong>na</strong>jvernejšie <strong>model</strong>ovanie detailného chovania môžu pominúť dôležité globálne charakteristiky.Na druhej strane veľmi zjednodušený <strong>model</strong> nebude schopný re<strong>pro</strong>dukovaťchovanie skutočného systému. Úlohou návrhára je preto <strong>na</strong>vrhnúť čo <strong>na</strong>jjednoduchší <strong>model</strong>,ktorý bude dostatočne presný <strong>na</strong> to, aby dokázal reprezentovať chovanie skutočnéhosytému [7].2.2 A<strong>na</strong>lytické <strong>model</strong>ovanie(white box)Matematický <strong>model</strong> <strong>pro</strong>cesu sa vytvára <strong>na</strong> základe fyzikálnych, chemických, matematickýcha iných zákonov často s ich zjednodušením. Zjednodušené <strong>model</strong>y sa potomskladajú do zložitých systémov, aby sa vytvoril čo <strong>na</strong>jpresnejší <strong>model</strong> [12].Spočiatku vychádzame z fyzikálneho <strong>model</strong>u, kde máme systém popísaný pomocoufyzikálnych zákonov, javov. Následne rovnice upravujeme a dostávame diferenciálny popis<strong>model</strong>u.Nevýhoda spočíva v tom, že nikdy sa nám presne nepodarí popísať všetky podstatnéfyzikálne javy. Nikdy sa nám nepodarí zmerať všetky potrebné konštanty.2.2.1 PríkladAzda jedným z <strong>na</strong>jznámejších matematických <strong>model</strong>ov je matematické kyvadlo [1]. Umatematického kyvadla sa skúma len hmotný bod zavesený <strong>na</strong> tenkom vlákne zanedbateľnejhmotnosti, zanedbáva sa odpor vzduchu pri pohybe kyvadla a trenia v závese,gravitačné pole sa považuje za homogénne. Matematické kyvadlo je mechanický oscilátor,ktorý pri dodaní počiatočnej energie voľne kmitá bez vonkajšieho pôsobenia. Premalé výchylky platí, že toto kmitanie je harmonické, teda ho môžeme popísať pomocoufunkcie sínus.Matematický popis:Výsledná sila pôsobiaca <strong>na</strong> hmotný bod jeF = mg sin ϕa diferenciál<strong>na</strong> rovnica pre popis pohybu kyvadla je z 2.Newtonova pohybového záko<strong>na</strong>¨ϕ = − g l sin ϕpokiaľ je maximál<strong>na</strong> výchylka z rovnovážnej polohy ϕ max malá (< 5 stupňov), ide funkciusínus <strong>na</strong>hradiť lineárnou funkciou


2.3. BLACK-BOX 5Obrázek 2.1: Matematické kyvadlosin ϕ ≈ ϕDiferenciál<strong>na</strong> rovnica má preto jednoduchší tvar¨ϕ = − g l ϕ2.3 Black-boxPokiaľ nevieme nič o vnútornej štruktúre systému a nepoznáme fyzikálnu podstatuneostáva nám nič iné ako použiť black box <strong>model</strong>.Čier<strong>na</strong> skrinka, takto by bol oz<strong>na</strong>čený pojem v Slovenčine známy ako black box.Všeobecne sa jedná o oz<strong>na</strong>čenie zariadenia, alebo obecne akéhokoľvek javu, u ktoréhoje zrejmé ako sa chová či prejavuje <strong>na</strong>vonok, ale princípy, <strong>na</strong> ktorých funguje zostávajupre nás utajené.V typickom prípade má čier<strong>na</strong> skrinka vstupné a výstupné svorky. Experimentátormá možnosť privádzať <strong>na</strong> vstupné svorky rôzne <strong>na</strong>pätia a signály a pritom merať signál<strong>na</strong> výstupných svorkách. Zo vzťahu medzi výstupným a vstupným signálom sa potom vpriebehu funkcionálnej a<strong>na</strong>lýzy s<strong>na</strong>ží odvodiť takzvaný funkcionálny <strong>model</strong> neznámehosystému. Z funkcionálneho <strong>model</strong>u potom ide usudzovať <strong>na</strong> skrytú vnútornú štruktúru,tj. vytvárať hypotézy o možných štruktúrnych <strong>model</strong>och aj keď s konečnou istotou tonikdy nejde tvrdiť [5].


6 KAPITOLA 2. IDENTIFIKÁCIAUvedené postupy sú základom <strong>model</strong>ovania a funkcionálnej identifikácie systému,ktorá <strong>na</strong>chádza svoje uplatnenie ako v technických, priemyslových tak aj v iných oboroch.Schéma black boxu je znázornená <strong>na</strong> obrázku 2.2.Obrázek 2.2: Black box2.4 Grey-box2.4.1 ÚvodMatematický <strong>model</strong> systému je základným stavebným prvkom pre väčšinu riadiacichalgoritmov. S príchodom moderných metód riadenia, založených <strong>na</strong> optimalizácii vstupnýcha výstupných trajektórií, je dobrý <strong>model</strong> nezbytnou súčasťou kvalitného návrhuregulátoru.Modely zaobstarané len <strong>na</strong> základe vstupno-výstupných dát pri neurčitej vnútornejštruktúre, tzv. black-box [8], môžu byť ľahko vzdialené fyzickej realite a častokrát dobrepopisujú systém len <strong>na</strong> krátkom horizonte predikcie. Tento fakt vyplýva z podstatypoužívaných prediction error method (PEM) identifikácie. Zvyčajne máme k dispozíciiviac informácií o zadanej sústave (statické zosílenie v danej vetvy, kmitavá/nekmitaváodozva), ktoré sa dajú s výhodou použiť pre zúženie súboru hľadaných <strong>model</strong>ov. Popissystému pomocou grey−box umožňuje ľahko zahrnúť tieto aprioritné informácie priamodo <strong>pro</strong>cesu identifikácie, čím sa dá získať fyzikálne opodstatnený <strong>model</strong>, ktorý bude lepšiepredikovať v otvorenej smyčke.K <strong>model</strong>ovaniu zvyčajne používame experiment, kedy vybudíme odozvu systému <strong>na</strong>zadaný vstupný signál. Úlohou identifikácie je potom nájsť taký popis sytému, aby chybamedzi skutočným výstupom a výstupom vygenerovaným <strong>model</strong>om bola čo <strong>na</strong>jmenšia.2.4.2 Teoretický základV <strong>na</strong>sledujúcom budeme uvažovať lineárny, časovo invariantný stochastický systém sdiskrétným meraním vstupu, popísaný v inovačnom tvare [11]


2.5. NAJMENŠIE ŠTVORCE 7x(k + 1) = Ax(k) + Bu(k) + Le(k) (2.1)y(k) = Cx(k) + Du(k) (2.2)kde k ∈ R je diskrétny čas T s (t = kT s ), x ∈ R nx stav systému, y ∈ R ny meranývýstup, u ∈ R nu deterministický vstup a e ∈ R ny biely, gaussovský šum s nulovoustrednou hodnotou a kovariančnou maticouE{e(k)e(k) T } = R. (2.3)Takto popísaný systém umožňuje nezávislo <strong>model</strong>ovať deterministickú a stochastickúčasť. Identifikácia systému vyššie popísaného ako black − box <strong>model</strong>u je pomerne náročnouúlohou.Tu predpokladáme, že maticeA = A(θ), B = B(θ), C = C(θ), D = D(θ), L = L(θ) (2.4)majú pevne zadanú štruktúru a sú parametrizované vektorom parametrov θ. Štruktúramatíc vychádza z fyzikálneho popisu systému a definuje hľadaný grey − box.Našim cieľom je pre takto zvolenú štruktŕuru nájsť optimálnu hodnotu parametrovθ takú, aby sme dosiahli čo <strong>na</strong>jlepšie jednokrokovú predikcie výtupu.2.5 Najmenšie štvorceMetóda <strong>na</strong>jmenších štvorcov je matimaticko štatistická metóda spracovania zložitýchdát, pomocou ktorej sa dá hľadať zjednodušený <strong>model</strong>: Umožňuje nájsť vhodnú a<strong>pro</strong>ximačnúfunkciu pre dané empiricky zistené hodnoty. Hľadaná funkcia musí byť kombináciouvopred známych funkcií, metóda umožní vypočítať ich koeficienty [2].Výsledok sa dá následne použiť ako optimalizačné kritérium, <strong>na</strong>príklad ako cieľ regulácie.Kritérium optimality poskytuje mieru presnosti dát v porov<strong>na</strong>ní s danouhypotézou. Výberový <strong>pro</strong>ces je určený riešením, ktoré optimalizuje kritérium použité kohodnoteniu alter<strong>na</strong>tívnych hypotéz [3]. Metóda <strong>na</strong>jmenších štvorcov slúži k <strong>na</strong>lezeniutakého riešenia, aby súčet druhých mocnín chýb nájdeného riešenia bol minimálny, tedaaby súčet štvorcov odchýlok bol <strong>na</strong>jmenší.Metódu <strong>na</strong>jmenších štvorcov taktiež je možné použiť pre <strong>model</strong> ARX.Často sa k a<strong>pro</strong>ximácii riešenia používa lineár<strong>na</strong> funkcia. V tomto prípade sa s toutometódou stretávame pod názvom lineár<strong>na</strong> regresia [2].V tejto časti podkapitoly je vysvetlená lineár<strong>na</strong> regresia pomocou <strong>na</strong>jmenších štvorcov.Teraz uvažujme o nejakom <strong>model</strong>y (<strong>na</strong>príklad statického systému) popísaný lineárnourovnicou v tvare


8 KAPITOLA 2. IDENTIFIKÁCIAa 1 x 1 + a 2 x 2 . . . + a n x n = yx i - veliči<strong>na</strong>, ktorej hodnoty presne poznámea i - neznáme parametrey - veliči<strong>na</strong>, ktorej hodnoty meriameCieľom nášho s<strong>na</strong>ženia je nájdenie parametra a i v takto popísanom systéme. Ako užbolo spomenuté, hodnoty veličín x i a a i sú známe. Predpokladáme, že hodnoty veličínx i poznáme presne, ale hodnoty veličín y sú zaťažené chybou meraniay = ŷ + ekde ďalej predpokladáme, že chyba merania e je náhodná veliči<strong>na</strong> s normálnym rozloženíme ≈ N(0, σ 2 e)Pokiaľ uskutočníme viac pozorovaní <strong>na</strong> systéme, získame sústavu niekoľkých rovníca 1 x 1 1 + a 2 x 2 2 + . . . + a n x 1 n = y 1a 1 x 2 1 + a 2 x 2 2 + . . . + a n x 2 n = y 2.a 1 x k 1 + a 2 x k 2 + . . . + a n x k n = y kZískali sme sústavu k rovníc o n neznámych. Túto sústavu môžeme zapísať maticovokde⎡⎤x 1 1 x 1 2 . . . x 1 nx 2 1 x 2 2 . . . x 2 nA = ⎢⎥⎣ . . . . ⎦x k 1 x k 2 . . . x k n⎡b = ⎢⎣y 1y 2.y k⎤⎥⎦⎡x = ⎢⎣Cieľom je nájdenie neznámeho vektoru x. Ak však máme viac rovníc ako neznámych,teda k > n, sústava je preurčená a obecne neexistuje exaktné riešenie. Správne oz<strong>na</strong>čenietakéjto sústavy rovníc teda jea 1a 2.a k⎤⎥⎦Ax ≈ b


2.5. NAJMENŠIE ŠTVORCE 9Existuje niekoľko možných definícii "<strong>na</strong>jlepšieho" riešenia. Uvedený spôsob riešenia vychádzaz predpokladu, že chybou je zaťažená len jed<strong>na</strong> veliči<strong>na</strong> y a teda aj vektor b.Maticu dát A poznáme presne. Definícia <strong>na</strong>jmenších štvorcov v tomto zmysle je potom<strong>na</strong>sledujúcaminx∈R n ‖ Ax − b ‖ 2Každé x, ktoré minimalizuje uvedené kritérium sa potom <strong>na</strong>zýva linear least squares solution.K nájdeniu riešenia môžeme pristúpiť viacerými spôsobmi. Nižšie popísanú máme jednuz nich.2.5.1 Riešenie LS pomocou pseudoinverziePredpokladáme sústavu rovnícAx ≈ bObe strany rovnice môžeme vynásobiť maticou A T a dostávameA T Ax ≈ A T bKeď sa dobre pozrieme <strong>na</strong> maticu A T A zistíme, že ich rozmer je nxn. To z<strong>na</strong>mená, žesústava vyššie uvedená má n rovníc o n neznámych. Z toho vyplýva, že sústava rovnícbude mať jednoz<strong>na</strong>čné riešenie a z<strong>na</strong>mienko ≈ môžme <strong>na</strong>hradiť rovnosťou. Po vyjadreníx získame rov<strong>na</strong>ké riešenie ako pri priamej minimalizácii normy (za predpokladu, že hod(A) = n)x LS = (A T A) −1 A T b


10 KAPITOLA 2. IDENTIFIKÁCIA2.5.2 PríkladTeraz si spolu pozrieme riešenie jednoduchého príkladu <strong>na</strong> použitie <strong>na</strong>jmenších štvorcov.Uvažujeme <strong>model</strong> systému v tvare priamky:a 1 x + a 2 = yNa systéme sme spravili štyri pozorovania− x y1 −1 0.82 0 2.23 1 3.64 1 3.1Zostavíme potrebné matice podľa definície uvedenej v podkapitole 2.5A =⎡⎢⎣−1 10 11 10 1⎤⎥⎦ b =⎡⎢⎣0.82.23.63.1Výsledné riešenie statického systému je dané vzťahom⎤⎥⎦ x = [ a 1 a 2]x LS = (A T A) −1 A T b =[ 1.26362.1091]Výsledný <strong>model</strong> statického systému je daný rovnicou (viď obrázok)1.2636x + 2.1091 = yTakto bola popísaná metóda lineárnych <strong>na</strong>jmenších štvorcov. Naša úloha, ale vedie<strong>na</strong> nelineárne <strong>na</strong>jmenšie štvorce. Riešenie spočíva v iteratívnom riešení pomocouoptimalizačného solvra. Nie je zaistená konvergencia k globálnemu optimu. Dôležitá jespráv<strong>na</strong> inicializácia počiatočných podmienok (počiatočný odhad). Čo nie je v <strong>na</strong>šomprípade až také obmedzenie, keď vezmeme v úvahu, že máme nejakú predstavu o hodnoteparametrov z fyzikálneho <strong>model</strong>ovania.


2.5. NAJMENŠIE ŠTVORCE 11Obrázek 2.3: Najmenšie štvorce - príklad


12 KAPITOLA 2. IDENTIFIKÁCIA


Kapitola 3Grey-BoxIdentifikácia pomocou metódy Grey-box je veľmi dobre použitelná pri identifikácii systémovs čiastočne známou vnútornou štruktúrou. Zvyčajne máme niekoľko známychúdajov o danej sústave, ktoré sme získali pomocou meraní. Tieto údaje môžeme použitpre zúženie súboru hľadaných <strong>model</strong>ov. Popis systému pomocou Grey-box umožnujeľahko zahrnúť tieto informácie do <strong>pro</strong>cesu identifikácie.Našim cieľom je pre zvolenú štruktútu (2.1)(2.2) nájsť optimálnu hodnotu parametrovθ takú, aby sme dosiahli čo <strong>na</strong>jlepšiu viackrokovú predikciu výstupu. Za predpokladunormálnych bielych šumov sa jedná o maximálne vierohodný odhad (ML)[10]. V <strong>na</strong>šomprípade formulujeme tvar kritéria lineárnych systémov pre MLJ =N∑(e P (t)) 2 (3.1)t=1e P (t) = y(t) − Cx P (t) + Du(t) (3.2)x P (t + 1) = Ax P (t) + Bu(t) + Le P (t) (3.3)kde e P (t) je chyba predikcie a x P (t) je stav systému.Optimál<strong>na</strong> hodnota θ ∗ teda podľa ML odhadu bude3.1 Optimalizáciaθ ∗ = arg minθJ (3.4)Naša práca vedie <strong>na</strong> úlohu nelineárnych <strong>na</strong>jmenších štvorcov. Optimalizačný <strong>pro</strong>blém jepotrebné riešiť numerickými metódami, ktoré iterativne vyhodnocujú stratovú funkciu(3.1) a aktualizujú hodnotu θ. Pri inicializácii algoritmu je preto nevyhnutné udať počiatočnýodhad parametrov θ 0 . Kritérium pravdepodobne nebude konvexné a teda nemámeistotu, že nájdené minimum bude globálny minimom. Odhad je závislý <strong>na</strong> správnej voľbe13


14 KAPITOLA 3. GREY-BOXpočiatočných podmienok. Keďže pri <strong>model</strong>ovaní pomocou grey-box vychádzame z fyzikálnehopopisu systému, ide tieto podmienky stanoviť relatívne správne. Pre vlastnúnumerickú optimalizáciu používame algoritmus NLSQ Levenberg-Marquardt [13], s obmedzením<strong>na</strong> hodnotu parametrov v tvareθ min ≤ θ ≤ θ max3.1.1 Optimalizačný solverV tejto časti sa budeme zaoberať lsqnonlin solverom použitým v Matlabe.Rieši <strong>pro</strong>blém nelineárnych <strong>na</strong>jmenších štvorcov, zahŕňajúc <strong>pro</strong>blémy nelineárnej datamontáži.Radšej ako počítanie hodnôt ‖ f i (x) ‖ 2 2 (suma štvorcov), lsqnonlinn∑požadujeužívateľom definovanú funkciu k spočítaniu vektoru-oceňujúcej funkciii=1⎡f(x) = ⎢⎣f 1 (x)f 2 (x).f n (x)Pričom funkcia f(x) počíta chybu predikcie e P (t)(3.2). Potom, vo vektorovej oblasti,môžeme novo formulovať <strong>pro</strong>blém optimalizácie ako⎤⎥⎦minx‖ f(x) ‖ 2 2= minx(f 1 (x) 2 + f 2 (x) 2 + . . . + f n (x) 2 ) (3.5)kde x je vektor a f(x) je funkcia, ktorá vracia vektor hodnôt.x = lsqnonlin(fun, x0, lb, ub, options) minimalizuje s optimalizačnými možnosťami špecifikovanýmiv štruktúre options. Pužijeme optimset k <strong>na</strong>staveniu týchto možností. Prechodprázdnych matíc pre lb a ub ak neexistuje hranica.x = lsqnonlin(<strong>pro</strong>blem) <strong>na</strong>jde minimum pre <strong>pro</strong>blem, kde <strong>pro</strong>blém je štruktúra popísanáv stupných argumentoch.3.1.2 Vstupné argumentyFunkcia argumenty zahŕňa obecný popis argumentov vstupujúcich do lsqnonlin. Tátočasť poskytuje detaily o špecifikácii funkcie pre fun, options a <strong>pro</strong>blem:


3.2. POPIS FUNKCIE PREDERRSISO 15funFunkcia, ktorej sumy štvorcov su minimalizované. fun je funkcia, ktorá akceptuje vektorx a vráti vektor F , objektívne vratenie funkcie v x. Funkcia fun môže byť špecifikovanáako funkcia zapísaná v M-file.kde myfun je MATLAB funkcia akox = lsqnonlin(@myfun, x0)F = . . . Počíta funkčné hodnoty v x.function F = myfun(x)optionsOptions poskytujú detaily o špecifikácii funkcie pre hotnoty options3.1.3 MožnostiOptimalizačné možnosti. Môžeme <strong>na</strong>staviť alebo zmeniť hodnoty týchto možností použitímoptimset funkcie. Niektoré možnosti platia pre všetky algoritmy, niektoré súrelevantné len keď používame large-scale algoritmus a ostatné sú relevantné len keďpoužívame medium-scale algoritmus.3.2 Popis funkcie prederrSISOFunkciu prederrSISO sme definovali v matlabe a popisuje nám ako funguje výpočetchyby predikcie e P (t) (3.2). PrederrSISO nám vlastne vyjadruje funkciu f(x) spomí<strong>na</strong>núv podkapitolo optimalizačn solver. Na jej vytvorenie sme postupovali podľa týchtobodov:• <strong>na</strong> základe Grey-box <strong>model</strong>u a vstupných parametrov vektoru θ(3.6) zostrojímespojitý stavový <strong>model</strong>.• diskretizácia spojitého popisu.• pomocou známych výstupných a vstupných dát <strong>na</strong>počítame chyby predikcie e P (t)(3.2)(3.2).


16 KAPITOLA 3. GREY-BOX3.2.1 Volanie funkcie prederrSISOV prvom kroku sme <strong>na</strong>čítali dáta, ktoré musia byť spojité. Inicializovali sme počiatočnéparametre <strong>na</strong> hodnoty,T = 0,18Kb = 3/5*gKm = 0,202Ts = 0,15ktoré sme si predtým zmerali, odvodili a <strong>na</strong>stavili. Ďalej voláme funkciu prederrSISO,ktorá nám dokáže spočítať vektor chýb predikcie EP. Funkcia pracuje následovne. Vstupnýmargumentom funkcie prederrSISO je parameter θ(3.6), ktorým parametrizujemerovnice stavového popisu (3.9-3.12).⎡θ =⎢⎣TK bK mLx⎤⎡⎥⎦ L = ⎣L1L2L3⎤⎡⎦ x = ⎣x1x2x3⎤⎦ (3.6 − 3.8)kde T je časová konštanta, Kb a Km su zosílenia, L je injekčná matica, x je stavovývektor. Pre počiatočné podmienky sú hodnoty matice L a vektoru x nulové. Systémďalej diskretizujeme a následne vypočítame chybu predikcie podľa vzťahu (2.1)(2.2).Výstupným parametrom funkcie je vektor chýb predikcie E P . Po spočítaní chýb predikciespustíme lsqnonlin optimalizačný solver.3.2.2 Validace <strong>model</strong>uAby sme vedeli <strong>na</strong>koľko máme presný <strong>model</strong> pozorujeme skutočný, simulovaný a predikovanýpriebeh. Predikovaný priebeh sme dostali tým, že <strong>model</strong> má v spätnej väzbeinjekčnú maticu L (3.6). Simulovaný je otvorená slučka, kde do <strong>model</strong>u vstupuje lensamotný vstup.Funkcia fitFit funkcia nám určuje mieru zhody daných 2 kriviek. Určujeme ju v %. V <strong>na</strong>šomprípade sa budeme pozerať <strong>na</strong> mieru zhody skutočného (reálneho) a simulovaného priebehu.Funkcia je definovaná:F it = 100(1 − ‖Y − Y s‖ 2 2) [%] (3.13)‖Y ‖ 2 2kde Y je skutočný priebeh a Y s je simulovaný [11].


3.3. PRÍKLAD 173.3 PríkladV <strong>na</strong>sledujúcom príklade si názorne demonštrujeme použitie metódy Grey-box <strong>na</strong> identifikáciuparametrov. Ako <strong>model</strong> použijeme guličku <strong>na</strong> tyči. Teda jeden vstup a jedenvýstup. Model máme popísaný stavovým popisom:⎡A = ⎣-1/T 0 0-Kb 0 00 1 0⎤⎡⎦ B = ⎣Km/T00C = [ 0 0 1 ] D = [ 0 ]⎤⎦ (3.9 − 3.12)Keď už máme popísaný <strong>model</strong> a taktiež máme dáta, s ktorými môžeme pracovať môžemeidentifikovať <strong>model</strong>. Na obrázku 3.1 sme <strong>na</strong>schval zvolili, zle identifkované parametry,aby sme následne mohli poukázať <strong>na</strong> obrázku 3.2 ako dobre pracuje identifikácia Greybox.Teda správne určenie parametrov.počiatočné parametre skutočné správne, identifikovanéT = 0, 5 T = 0, 18 T = 0, 1911K b = 5, 259 K b = 3/5g K b = 25, 3784Vzorkovacia perióda T s = 0, 15s a parameter Km sme zafixovali <strong>na</strong> hodnotu Km =0.202. Mohli sme si to dovoliť pretože vhľadom k výstupu figuruje len jedno zosílenieK, pre ktoré platí K = K m K b , čo odpovedá u[−] → náklon [radiány]. Pre počiatočnépodmienky sú hodnoty matice L a vektoru x nulové. Na obrázku 3.1 sa prekrýva predikovanýa simulovaný priebeh, kvôli tomu, že matica L je nulová. Na overenie zhodypriebehov sme použili funkciu Fit (3.13). Pri nesprávne identifikovaných parametrochje rovná 28,20 % a pri správne identifikovaných je 94,6399 %. Po identifikácii zisťujeme,že sa reálny a predikovaný priebeh výrazne zhodujú.


18 KAPITOLA 3. GREY-BOXObrázek 3.1: Zle identifikované parametreObrázek 3.2: Správne identifikované parametre


Kapitola 4Popis systému gulička <strong>na</strong> rovine4.1 Teoretický <strong>model</strong> gulička <strong>na</strong> rovineNa odvodenie základného dy<strong>na</strong>mického systému <strong>model</strong>u vynímajúc servosystém pre <strong>na</strong>klonenieroviny, ktorý bude <strong>model</strong>ovaný osobitne, sa môže použiť variačná <strong>model</strong>ovaciametóda. Základná forma Euler-Lagrangeovej rovnice jed ∂Tdt ∂ ˙q i− ∂T∂q i+ ∂V∂q i= Q ikde premenné majú <strong>na</strong>sledovný výz<strong>na</strong>mq iq˙iTVQ ije i-ty zovšeobecnený parameterje derivácia prvého rádu z i-tého zovšeobecneného parametraje kinetická energia systémuje potenciál<strong>na</strong> energia systémuje i-ta zovšeobecnená silaSystém má štyri stupne voľnosti, dva v pohybe guličky <strong>na</strong> rovine a dva stupne voľnostiv sklone roviny. Pre pozíciu guličky sa ako všeobecné súradnice vybrali koordináty x ay. Pre sklon roviny boli vybraté uhly α a β. Naklonenie roviny je ovládané zovšeobecnenýmikrútiacimi momentmi τα a τβ pôsobiacimi <strong>na</strong> rovinu v príslušnom smere. A tedazjednodušené súradnice budú tieto premenné:q 1 = x q 2 = y q 3 = α q 4 = β19


20 KAPITOLA 4. POPIS SYSTÉMU GULIČKA NA ROVINENasledujúce systémové premenné a parametre boli zadefinované:x,y súradnice pozície guličky <strong>na</strong> rovine [m]r polohový vektor guličky [m]v vektor rýchlosti guličky [m/s]r b polomer guličky [m]ω vektor uhlovej rýchlosti rotujúcej guličky [rad/s]Ω vektor uhlovej rýchlosti rotujúce roviny [rad/s]α , β uhly <strong>na</strong>klonenia roviny [rad]I b zotrvačnosť guličky [kg.m 2 ]I p zotrvačnosť roviny [kg.m 2 ]m hmotnosť guličky [kg]Na zjednodušenie odvodenia dy<strong>na</strong>mického systému sme uvažovali systém s týmito predpokladmi:• kontakt guličky s rovinou nie je prerušený za žiadnych okolností• šmýkanie guličky <strong>na</strong> rovine nie je dovolené• všetky trecie sily a krútiace momenty sú zanedbané• uhly roviny a rozsah obmedzenia nie sú zvažovanéCelková kinetická energia systému jeT = T p + T b = 1 2 [(I p + I b )( α ˙2+ β ˙2) + m( β ˙2y 2 + 2 ˙α ˙βxy + α ˙2x 2 ) + (m + I br 2 b)(ẋ 2 + ẏ 2 )]kde T p je kinetická energia roviny vrátane loptičky umiestnenej v polohe (x, y), rotujúcejokolo svojho stredu. T b je kinetická energia guličky daná súčtom rotačnej energievzhľadom <strong>na</strong> stred pohybujúcej sa guličky a pohybovej energie guličky [9].4.2 Nelineárny <strong>model</strong>Pri nelineárnom <strong>model</strong>i budeme vychádzať z <strong>na</strong>sledujúcich rovnícx : (m +52 r2 b)ẍ = m( ˙αr ˙βy + ˙α 2 x) + mg sin α (4.1)b2y : (m +52 r2 b)ÿ = m( ˙αr ˙βy + ˙α 2 x) + mg sin α (4.2)b2Tieto rovnice vyjadrujú matematicko-fyzikálny pohyb guličky po <strong>na</strong>klonenej rovine.Vstupy do systému nie sú sily Fα a Fβ, ale priamo uhly α a β. Je to kvôli tomu, žefrekvencia krokovacieho motoru je nižšia ako akceleračný limit. Žiadne kroky motora


4.2. NELINEÁRNY MODEL 21nemôžu byť stratené a veľkosť zátaže neovplyvňuje jeho pozíciu. Za tohoto predpokladuzanedbávame rovnice, ktoré nám popisujú ako je dy<strong>na</strong>mika náklonu plošiny ovplyvnenávonkajšou riadiacou silou a pozíciou a rýchlosťou guličky:(I p + I b + mx 2 )¨α + m( ¨βxy + ˙βẋy + ˙βxẏ + 2 ˙αẋx) + mgx cos α = F α(I p + I b + my 2 ) ¨β + m(¨αxy + ˙αẋy + ˙αxẏ + 2 ˙βẋx) + mgx cos β = F βkde( ˙α ˙βy ˙ α 2 x)m(I p + I b + mx 2 )¨αodstredivý krútiaci moment vyplývajúci z rotácierovinyje krútiaci moment ako <strong>pro</strong>dukt zotrvačnosti z plošinyplus guličky a uhlového zrýchlenia okolo jednej z osí.( ¨βxy + ˙βẋy + ˙βxẏ)m je vplyv gyroskopických momentov.2 ˙αẋx je corrioliosové zrýchlenie.mgx cos αje moment ako <strong>pro</strong>dukt váhy guličky.Po úprave rovníc (4.1) a (4.2) dostávameẍ = 3 5 ˙α ˙βy + 3 α5 ˙2x − 3 g sin α (4.3)5ÿ = 3 5 ˙α ˙βy + 3 β5 ˙2x − 3 g sin β (4.4)5Na <strong>na</strong>šom pracovnom <strong>model</strong>i sme pracovali s ping-pongovou loptičkou. Preto sme <strong>na</strong> nášmatematicko-fyzikálny nelineárny <strong>model</strong> aplikovali moment zotrvačnosti dutej guličky.TedaI b = 2 3 mr2 bNa obrázku 4.1 vidíme simulinkovú schému nelineárneho <strong>model</strong>u.


22 KAPITOLA 4. POPIS SYSTÉMU GULIČKA NA ROVINEObrázek 4.1: Nelineárny <strong>model</strong>4.3 Linearizácia a stavový popisPre lineárne systémy používame stavové <strong>model</strong>y v tvare:ẋ = A(t)x(t) + B(t)u(t)y(t) =C(t)x(t) +D(t)u(t)u(t) sú vstupyy(t) výstupyx(t) vnútorné stavykdeA(t) je matica systému R(nxn), B(t) je matica riadenia rozmeru (nxr),C(t) a D(t)sú výstupné matice rozmerov (mxn) a (mxr). Rýdzo dy<strong>na</strong>mický systém je taký, u ktoréhoje výstup y ovplyvnený vstupom u vždy s istým meškaním. To platí aj pre nášsystém, teda matica D = 0.Pri linearizácii budeme vychádzať z <strong>na</strong>sledujúcich rovníc:x˙2 = x 1x˙1 = ẍ 2 = 3 5 ˙α ˙βy 2 + 3 α5 ˙2x 2 − 3 5 g sin αy˙2 = y 1y˙1 = ÿ 2 = 3 5 ˙α ˙βy 2 + 3 α5 ˙2x 2 − 3 5 g sin β


4.3. LINEARIZÁCIA A STAVOVÝ POPIS 23˙α = − 1 T α − K mT u˙β = − 1 T β − K mT uY x = ˙ X 2Y y = y˙2Linearizáciou nelineárneho <strong>model</strong>u, skôr popísaného v okolí bodu x=0, y=0 a za predpokladu,že aj ˙α=0 a ˙β=0 sme upravili <strong>na</strong>sledujúce rovnice. Dostali sme z nich následnýstavový popis.⎡A =⎢⎣-1/T 0 0 0 0 00 -1/T 0 0 0 0-3/5g 0 0 0 0 00 0 1 0 0 00 -3/5g 0 0 0 00 0 0 0 1 0C =⎤⎥⎦[ 0 0 0 1 0 00 0 0 0 0 1⎡B =⎢⎣]Km/T 00 Km/T0 00 00 00 0D =[ 0 00 0]⎤⎥⎦(4.5 − 4.8)Obrázek 4.2: Lineárny <strong>model</strong>


24 KAPITOLA 4. POPIS SYSTÉMU GULIČKA NA ROVINE4.4 Popis riadiacej karty humusoft MF 624MF 624 reprezentuje viac-účelovú riadiacu kartu určenú pre potreby spojenia PC sexterným zariadením, ktoré prijíma signály z reálneho sveta. MF 624 obsahuje 8 kanálov14 bitových A/D prevodníkov so simultálnou sample/hold smyčkou, 8 nezávyslých 14bitových D/A prevodníkov, 8 bitový digitálny vstup a 8 bitový výstup, 4 kvadratickékódovacie vstupy s jedno-koncovým alebo s diferenciálnym rozhraním a 5 čítačmi. Kartaje <strong>na</strong>vrhnutá pre štandartné získavanie dát a riadenie aplikácií optimalizovaných prepoužitie Real Time Toolbox v Simulinku. MF 624 plne podporuje 32 bitovú štruktúrupre rýchly prechodový výkon [9].4.5 Servo systémNáklon plošiny zabezpečujú 2 krokové servomotory. Tieto motory sú rov<strong>na</strong>ké, teda jedenkrok odpovedá konštantnej zmene uhlu plošiny, ∆α = ∆β. Krokový motor môžeme<strong>model</strong>ovať ako ideálny integrátor, ktorý integruje konštantnou rýchlosťou. Rýchlosť zavisí<strong>na</strong> frekvencii pulzov podporovaných riadiacou kartou humusoft MF 624. Ovládačeriadiacej karty krokových motorov a elektroniky karty samotnej vykazujú ďalšie známkynelinearity. V prvom prípade hodnota poslaná karte z <strong>pro</strong>stredia Matlab je limitovaná <strong>na</strong>1. Potom je hodnota zapísaná do zásobníku a obsah nemôže byť prepísaný pokiaľ kartageneruje počet impulzov úmerných hodnote zaz<strong>na</strong>me<strong>na</strong>nej v zásobníku. Toto mení tvarvstupného signálu ak sa vstupný signál servosystému mení rýchlejšie ako nominál<strong>na</strong>rýchlosť krokového motoru, potom motor nie je schopný <strong>na</strong>sledovať vstup a <strong>na</strong>stávameškanie. Riešenie danného <strong>pro</strong>blému spočíva vo filtrácii vstupného signálu, tak abyservosystém bol schopný <strong>na</strong>sledovať filtrovaný signál. Najjednoduchší filter, odvodenýpriamo zo známej hodnoty rýchlosti krokovacieho motoru je rýchlostný obmedzovač("rate limiter") [9].Pre rýchlostný obmedzovač platí:rate = u α(k) − u α (k − 1)T su αf (k) = +T s R + u αf (k − 1) pre rýchlosť > +Ru αf (k) = −T s R + u αf (k − 1) pre rýchlosť < -Ru αf (k) = u αi<strong>na</strong>kkdeu α . . . vstup do filtrau αf . . . výstup z filtrak . . . index časuT s vzorkovacia perioda


4.6. IDENTIFIKÁCIA SYSTÉMU GULIČKA NA NAKLONENEJ ROVINE 25R . . . prahová intenzitaAk je prahová intenzita R rovná alebo nižšia nominálnej rýchlosti serva, potom jeservo schopné kopírovať signál u αf a obsah riadiacej karty v zásobníku je pravidelneaktualizovaná( "update-ovaná").Na obrázku 4.3 vidíme odozvu <strong>na</strong> skok pre rôzne veľkosti hodnôt. Je tam zobrazenésprávanie sa lineárneho a nelineárneho krokového motoru. Tvar krivky zodpovedásystému prvého rádu.Obrázek 4.3: Odozva <strong>na</strong> skok4.6 Identifikácia systému gulička <strong>na</strong> <strong>na</strong>klonenej rovineV tejto časti kapitoly sa budeme zaoberať identifikáciou systému gulička <strong>na</strong> <strong>na</strong>klonenejrovine. Využívať budeme metódu grey-box spomí<strong>na</strong>nú v kapitole Identifikácia a vkapitole Grey-box.Rozhodli sme sa pre identifikáciu každého motora zvlášť, predpokladáme že sa nesprávajúúplne rov<strong>na</strong>ko. Identifikovať každý motor zvlášť môžeme vďaka tomu, že sa námsystém rozdelil <strong>na</strong> dva nezávislé SISO systémy.


26 KAPITOLA 4. POPIS SYSTÉMU GULIČKA NA ROVINEPočiatočné hodnoty parametrov sú:T = 0,2037Kb = 25,259Km = 0,202Ts = 0,15Matica L (3.7) je nulová a vektor x (3.8) je tiež. Teda gulička sa v počiatočných podmienkach<strong>na</strong>chádza v strede plošiny a ploši<strong>na</strong> je vo vodorovnom stave.Identifikácia prvého systémuTeda motoru č.1 pôsobiaceho <strong>na</strong> náklon plošiny v jednej ose a <strong>na</strong> nej pôsobiacej guličky.Na obrázku 4.4 vidíme vstupný a výstupný signál.Na obrázku 4.5 vidíme, že predikovaný výstup kopíruje pomerne presne reálny výstup.No simulácia nie. Priebeh simulácie nesplýva v dôsledku pôsobiacich nelinearít.Čiastočne popisuje dy<strong>na</strong>miku systému. Z dôvodu zlej skupiny dát, sme teda nemohlisprávne identifikovať prvý motor.Identifikácia druhého systémuTeda motoru č.2 pôsobiaceho <strong>na</strong> náklon plošiny v druhej ose a <strong>na</strong> nej pôsobiacej guličky.Na obrázku 4.6 vidíme vstupný a výstupný signál. Obrázok 4.6 nám ukazuje veľmipresnú identifikáciu. Simulácia aj predikcia sledujú výstup s veľmi veľkou zhodou až 99% (3.13).ZáverT = 0,2074Km = 0.202 fixovanýKb = 25,2590L1 = 0,5208L2 = 3,9236L3 = 1,1089Pre nedostatok dát sme sa rozhodli urobiť <strong>model</strong>, ktorý bude popisovať oba motorysúčasne. V skutočnosti by, ale bolo lepšie keby sme mohli identifikovať každý systémzvlášť ako sme mali v pláne.


4.6. IDENTIFIKÁCIA SYSTÉMU GULIČKA NA NAKLONENEJ ROVINE 27Obrázek 4.4: Vstup, výstupObrázek 4.5: Identifikácia systému 1


28 KAPITOLA 4. POPIS SYSTÉMU GULIČKA NA ROVINEObrázek 4.6: Vstup, výstupObrázek 4.7: Identifikácia systému 2


Kapitola 5Návrh riadeniaVšetky doterajšie prípravy, teda identifikácia <strong>model</strong>u viedli k jedinému, k riadeniu. Akmáme správne identifikovaný, <strong>model</strong>, môžeme prejsť k <strong>na</strong>vrhovaniu funkčného regulátoru.5.1 PID regulátorK riadeniu väčšiny priemyslových <strong>pro</strong>cesov (a mnohých ďalších systémov) stačí PIDregulátor, pokiaľ nie sú požiadavky <strong>na</strong> riadenie príliš vysoké. V <strong>na</strong>šej práci sme použiliPSD (Proportio<strong>na</strong>l-Summation-Differentiation) regulátor, teda diskrétnu verziu PIDregulátoru. Uplatňuje sa teda v diskrétnych systémoch. Pre diskretizáciu PID regulátorovsa <strong>na</strong>jčastejšie používa metóda spätnej diferencie. Diskrét<strong>na</strong> verzia spojitých verziíjednotlivých komponentov vyzerá následovne:Spojitá verziaDiskrét<strong>na</strong> verziaP P = K P e(t) P (t k ) = K P e(t k )I I(t) = K ∫ te(s)dsI(t k ) = I(t k−1) + KT se(t k )T i t 0T iD D(t) = − T d dDN dt − KT dyT dd D(t k ) = D(t k−1 ) −KT dN(y(t k ) − y(t k−1 ))dtT d + NT s T d + NT sKonštanta N sa volí podľa potreby potlačenia zosilenia derivačnej zložky <strong>na</strong> vysokýchfrekvenciách, typicky má hodnotu 10 až 30 [15].Na obrázku B.2 (viď obrazová príloha) možeme vidieť zapojenie nášho dvojdimenzionálnehoPSD regulátora. Náš PSD regulátor bol <strong>na</strong>vrhnutý empirickou metódou <strong>na</strong> skutočnom<strong>model</strong>i. Postupne sme vyladili <strong>pro</strong>porcionálnu, integračnú a derivačnú zložku ažkým sme neboli spokojný s výsledkom. Hodnoty sú :P = 0,5I = 0,09D = 0,5529


30 KAPITOLA 5. NÁVRH RIADENIASchéma zapojenia regulátoru <strong>na</strong> danom systéme je <strong>na</strong> obrázku B.1 (viď obrazová príloha).Základné riadiace prvky sme mali od firmy Humusoft.Náš regulátor nebol <strong>na</strong>vrhnutý práve <strong>na</strong>jideálnejšouou metodóu, empirickou. Preto pojeho <strong>na</strong>vrhnutí sme chceli zistiť, ako sa bude správať <strong>na</strong> lineárnom <strong>model</strong>i. Zistili sme,že prekmity sú dosť veľké. Pri správnejšom postupe (<strong>na</strong>jprv simulovaní <strong>na</strong> lineárnom<strong>model</strong>i a až potom <strong>na</strong> skutočnom systéme) by teda <strong>na</strong>mi <strong>na</strong>vrhnutý regulátor neprešiel.Na obrázkoch 5.1 - 5.2 vidíme, ako vyzeral simulovaný a reálny výstup <strong>na</strong> referenciu.Obrázek 5.1: PSD regulátor zapojený <strong>na</strong> systém č.1Obrázek 5.2: PSD regulátor zapojený <strong>na</strong> systém č.2


5.2. LQR (LINEÁRNY KVADRATICKÝ REGULÁTOR) 315.2 LQR (Lineárny kvadratický regulátor)Lineárne stavové spätnoväzbové riadenie, ktoré je optimálne v niektorých prípadoch,môže byť určené ako riešenie zvané LQR <strong>pro</strong>blém. LQR <strong>pro</strong>blém bol skúmaný pre časovovariantnéa časovo-invariantné prípady. My sa zameriame <strong>na</strong> druhý prípad.Uvažujme si časovo-invariantný lineárny systém:ẋ = Fx + Gu,z = Hxkde vektor z t reprezentuje premenné (signál, ktorý nás zaujíma), ktoré majú byť regulované,riadené k nule. Taktiež sa s<strong>na</strong>žíme určiť u(t), t ≥ 0, ktoré minimalizuje kvadratickékritériumJ(u) =∫ ∞0[z T Qz(t) + u T Ru(t)]dtpre ľubovoľné počiatočné stavy x(0). Váhové matice Q, R sú reálne, symetrické a kladné,Q = Q T , R = R T , Q > 0, R > 0 [6]. Váhová matica Q nám určuje do akej miery chcememať presný výstup, a váhová matica R nám určuje, aký veľký chceme mať akčný zásah.Optimálne riadenie má tvar u(t) = −K opt x(t) −→ stavová spätná väzba, kde K jestavové spätnoväzbové zosílenie.Pri návrhu LQ regulátora budeme potrebovať pozorovateľa, ktorý vytvára odhadstavu sústavy miesto skutočného stavu sústavy, ktorý potom použijeme pre spätnúväzbu. Pozorovateľ má rov<strong>na</strong>ký vstup ako sústava a vedieme doň aj výstup. Má rov<strong>na</strong>kýrád ako sústava. Póly pozorovateľa volíme 5x rýchlejšie, obvykle to sú 2 až 6-krát rýchlejšie[17]. Pre návrh pozorovateľa sme použili duálny Ackermanov vzorec. Pre výpočetstavového spätného zosílenia sme použili funkciu dare <strong>na</strong>definovanú v matlabe.Na obrázku 5.3 vidíme simulovaný a pozorovateľom predikovaný výstup. Ako vídime,predikovaný výstup pekne sleduje simulovaný. Na obrázku 5.4 vídime, ako po zapojeníLQ regulátora sleduje výstup referenciu. Zapojenie regulátora do lineárneho systémuB.3 (viď obrazová príloha).ZáverNavrhnutý LQ regulátor <strong>na</strong> skutočnom systéme nefungoval. Na systém totiž pôsobilinelinearity. Strácali sa kroky motora a to viedlo k nesprávnemu odhadu <strong>na</strong>sledujúcehostavu a následne k nie <strong>na</strong>jpresnejšej identifikácii. Správne riešenie by vyžadovalo rozšíriťsystém o odhad poruchy, čo by však bolo <strong>na</strong>d rámec práce.


32 KAPITOLA 5. NÁVRH RIADENIAObrázek 5.3: VýstupyObrázek 5.4: LQ regulátor


Kapitola 6ZáverBakalárska práca Identikace a návrh řízení <strong>pro</strong> <strong>model</strong> kulička <strong>na</strong> ploše si kládla za cieľspracovať veľmi zaujímavú tému. Kvôli svojej náročnosti, ktorá presahuje rámec bežnéhobakalárskeho štúdia, si vyžadovala veľa času a trpezlivosti. Odmenou za vy<strong>na</strong>loženéúsilie je však množstvo zaujímavých a dôležitých informácií, ktoré sa určite zídu v <strong>na</strong>sledujúcomštúdiu.V práci sme sa venovali identikácii a návrhu riadenia pre systém gulička <strong>na</strong> rovine.Väčšiu váhu sme prikladali identifikácii. V identifikácii používame metódu Grey-box.Vybrali sme si ju kvôli možnosti ľahko zahrnúť aprioritné informácie (statické zosileniev danej vetve, kmitavá/nekmitavá odozva) priamo do <strong>pro</strong>cesu identikácie, čím jemožné získať fyzikálne viac opodstatnený <strong>model</strong>, ktorý bude lepšie predikovať v otvorenejsmyčke. Kvôli dôležitosti správneho <strong>model</strong>u pre potreby neskoršej optimálnejregulácie sme venovali tejto časti práce väčšinu pozornosti a úsilia.Pri identikácii sme rozdelili systém <strong>na</strong> dva SISO systémy. Neskôr sme ale zistili, žekvôli nedostatku dát musíme urobiť <strong>model</strong>, ktorý bude popisovať oba motory súčasne.Napriek skutočnosti, že by bolo lepšie identikovať každý systém zvlášť podľa pôvodnéhoplánu, sme úspešne zvládli aj túto druhú možnosť. Výsledkom identifikácie je tedapopísaný <strong>model</strong>, ktorý zohľadňuje všetky dôležité fyzikálne vlastnosti reálneho systému.Druhou časťou <strong>na</strong>mi vypracovanej práce bol návrh riadenia pomocou LQ alebo PIDregulátora. PID regulátor sme <strong>na</strong>vrhli empirickou metódou, ktorá sa ukázala ako <strong>na</strong>jvhodnejšia.Úspešnosť použitej metódy dokazujú odozvy <strong>na</strong>merané <strong>na</strong> reálnom systéme.Navrhnutý LQ regulátor <strong>na</strong> skutočnom systéme nefungoval z dôvodu pôsobenia externýchporúch. Strácali sa kroky motora a to viedlo k nesprávnemu odhadu <strong>na</strong>sledujúcehostavu a následne k zhoršeniu presnosti identikácie. Riešenie vzniknutých <strong>pro</strong>blémov vidímev rozšírení o odhad poruchy. Keďže však táto <strong>pro</strong>blematika presahuje rámec <strong>na</strong>šejpráce, <strong>na</strong>vrhujeme odhad poruchy ako vhodné a vítané rozšírenie realizovateľné v priebehu<strong>na</strong>sledujúcich <strong>na</strong>dväzujúcich prác.Výsledkom práce Identikace a návrh řízení <strong>pro</strong> <strong>model</strong> kulička <strong>na</strong> ploše je teda ucelený<strong>model</strong>, ktorý svojim popisom s využitím pokročilých metód identifikácie veľmi vernevystihuje reálny systém. Predložený je spracovaný návrh dvoch regulátorov, ktoré boliotestované aj <strong>na</strong> reálnom <strong>model</strong>i. Metódy spracovania a návrhu vychádzajú z moderných33


34 KAPITOLA 6. ZÁVERtrendov a je možné ich ďalej vylepšiť, rov<strong>na</strong>ko ako aj modifikovať a použiť pri práci sinými <strong>model</strong>mi v rámci výuky, výskumu či technickej praxe.


Literatura[1] Matematické kyvadlo.http://cs.wikipedia.org/wiki/Matematické_kyvadlo.[2] Metoda nejmenších čtverců.http://cs.wikipedia.org/wiki/Metoda_nejmenších_čtverců.[3] Optimality criterion.http://en.wikipedia.org/wiki/Optimality_criterion.[4] Wattův odstředivý regulátor.http://en.wikipedia.org/wiki/Wattův_odstředivý_regulátor.[5] Černá skřínka (kybernetika).http://cs.wikipedia.org/wiki/Černá_skřínka_(kybernetika).[6] M. Ansaklis. Linear System Primer.[7] Doc.Ing.P.Horáček. Systémy a <strong>model</strong>y, volume 1. Vydavatelství ČVUT, 2000.[8] G. G.E.P a Jenkins. Time series a<strong>na</strong>lysis, forecasting and control, volume 1. 1990.[9] Humusoft. Educatio<strong>na</strong>l manual.[10] V. H. Jiří Řehoř. <strong>Identifikace</strong> grey-box <strong>model</strong>u s praktickou aplikací v průmyslu aenergetice.[11] L. Ljung. System identification, volume 1. Springer, 1987.[12] T. Math-Works. System Identification Toolbox – Getting Started Guide.[13] J. J. Mor. The Levenberg-Marquardt algorythm: implementation and theory,Lecture notes in mathematics. Springer, 630:105–116.[14] J. Roubal. <strong>Identifikace</strong>. page 1.[15] K. řídicí techniky ČVUT. PSD regulátor.http://dce.felk.cvut.cz/sari/download/sri/cv11_psd_regulator.pdf.[16] M. Šebek. Systémy a řízení 1:Úvod. pages 7–9.[17] M. Šebek. Systémy a řízení 7:Observer.35


36 LITERATURA


Dodatek Alsqnonlin solverx = lsqnonlin(fun, x0) začí<strong>na</strong> v bode x0 a hľadá minumum sumy štvorcov funkcie popísanejvo fun. fun by mal vraciať vektor hodnôt a nie sumu štvorcov hodnôt.(Algoritmusimplicitne sumuje a štvorcuje fun(x).)x = lsqnonlin(fun, x0, lb, ub) definuje a <strong>na</strong>stavuje spodnú a hornú hranicu <strong>na</strong> vzorkepremenných v x, takže toto riešenie je vždy v rozsahu<strong>pro</strong>blemobjectivex0lbubsolveroptionsVšeobecná funkciaPočiatočné podmienkyVektor spodnej hraniceVektor hornej hranice’lsqnonlin’Možnosti štruktúry vytvorené s funkciou optimsetA.0.1Výstupné argumentyFunkcia argumenty zahŕňa obecný popis argumentov vrátenych lsqnonlin. Táto časťposkytuje detaily o špecifikácii funkcie pre exitflag, lambda, output:exitflag37


38 DODATEK A. LSQNONLIN SOLVERInteger identifikujúci ukončenie algoritmuDôvod ukončenia algoritmu exitflag.1 Funkcia konvergujúca k riešeniu x.2 Zme<strong>na</strong> v x bola menšia ako špecifikovanátolerancia.3 Zme<strong>na</strong> zvyšku bola menšia ako špecifikovanátolerancia.4 Veľkosť hľadaného smeru bola menšia akošpecifická tolerancia.0 Počet iterácií prekročil options.MaxIteralebo počet hodnotení funkcieprekročil options.F unEvals.−1Algoritmus bol ukončený výstupnou funkciou.−2Problém je nerealizovateľný: hranice lb a ubsú nekonzistentné.−4Line vyhľadávanie nemohlo dostatočne znížiť zpozdĺž súčasného vyhľadávacieho smeru.lambdaŠtruktúra obsahujúca Lagrangeoveloweruppermultiplikátory v riešení x. Polia súSpodná hranica lbHorná hranica uboutputŠtruktúra obsahujúca informácie o optimalizáciifirstorderoptiterationsfuncCountcgiterations Celkový počet PCG iteráciístepsizealgorithmmessagePolia štruktúry súMeranie optimality prvého rádu(large-scale algoritmus,[] pre ostatné)Počet zobratých iteráciíPočet hodnotení funkcie(large-scale algoritmus,[] pre ostatné)Finálne posunutie v x(len medium-scale algoritmus)Použitý optimalizačný algoritmusVýstupná správa


Dodatek BObrazová prílohaObrázek B.1: Simulinková schéma zapojenia PSD do systému39


40 DODATEK B. OBRAZOVÁ PRÍLOHAObrázek B.2: PSD regulátorObrázek B.3: Zapojenie LQ regulátora


Dodatek CCD• Súbory vytvorené v matlabe• PDF bakalárskej práce Identikace a návrh řízení <strong>pro</strong> <strong>model</strong> kulička <strong>na</strong> ploše• Naskenovanie oficiálneho zadania práce a podpísaného prehlásenia41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!