HIERARCHICKÝ OPTIMÁLNÍ REGULÁTOR Branislav Rehák ČVUT FEL, katedra řídicí techniky

Podobné dokumenty
Pozorovatel, Stavová zpětná vazba

DIPLOMOVÁ PRÁCE Nelineární řízení magnetického ložiska

MATEMATIKA III. Olga Majlingová. Učební text pro prezenční studium. Předběžná verze

Numerická matematika 1

Vypracovat přehled paralelních kinematických struktur. Vytvořit model a provést analýzu zvolené PKS

CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I

JEDNOTKY. E. Thöndel, Ing. Katedra mechaniky a materiálů, FEL ČVUT v Praze. Abstrakt

Modelování a simulace Lukáš Otte

7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí


VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Diferenciální rovnice

Obyčejné diferenciální rovnice počáteční úloha. KMA / NGM F. Ježek

Budeme hledat řešení y(x) okrajové úlohy pro diferenciální rovnici druhého řádu v samoadjungovaném tvaru na intervalu a, b : 2 ) y i p i+ 1

Vzpěr jednoduchého rámu, diferenciální operátory. Lenka Dohnalová

Dnešní látka: Literatura: Kapitoly 3 a 4 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

Rozvoj tepla v betonových konstrukcích

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Obsah. Gain scheduling. Obsah. Linearizace

Kapitola 12: Soustavy diferenciálních rovnic 1. řádu

Numerické řešení diferenciálních rovnic

OPTIMALIZACE A MULTIKRITERIÁLNÍ HODNOCENÍ FUNKČNÍ ZPŮSOBILOSTI POZEMNÍCH STAVEB D24FZS

Soustavy lineárních diferenciálních rovnic I. řádu s konstantními koeficienty

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Obsah Obyčejné diferenciální rovnice

Nelineární obvody. V nelineárních obvodech však platí Kirchhoffovy zákony.

POUŽITÍ REAL TIME TOOLBOXU PRO REGULACI HLADIN V PROPOJENÝCH VÁLCOVÝCH ZÁSOBNÍCÍCH

Úloha - rozpoznávání číslic

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

VÝVOJ PARNÍHO KONDENZÁTORU PRO SIMULACI PROVOZU KONDENZAČNÍCH TURBÍN

Státnicová otázka 6, okruh 1

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky

Periodicita v časové řadě, její popis a identifikace, exponenciální vyrovnáván

Časové řady, typy trendových funkcí a odhady trendů

Časové řady, typy trendových funkcí a odhady trendů

Kombinatorická minimalizace

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Lineární stabilita a teorie II. řádu

Měření dat Filtrace dat, Kalmanův filtr

Nastavení parametrů PID a PSD regulátorů

Diferenciální rovnice

Princip řešení soustavy rovnic

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Co jsme udělali: Au = f, u D(A)

9.5. Soustavy diferenciálních rovnic

Diferenˇcní rovnice Diferenciální rovnice Matematika IV Matematika IV Program

Jaroslav Tuma. 8. února 2010

Nyní využijeme slovník Laplaceovy transformace pro derivaci a přímé hodnoty a dostaneme běžnou algebraickou rovnici. ! 2 "

Řízení a optimalizace Stavové modely a model-prediktivní řízení

Nelineární optimalizace a numerické metody (MI NON)

MODIFIKOVANÝ KLIKOVÝ MECHANISMUS

Řešení diferenciálních rovnic v MATLABu

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

KMS cvičení 9. Ondřej Marek

Identifikace a řízení nelineárního systému pomocí Hammersteinova modelu

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Úvod do analytické mechaniky

Soustavy lineárních rovnic

Libovolnou z probraných metod najděte s přesností na 3 desetinná místa kladný kořen rovnice. sin x + x 2 2 = 0.

Lineární klasifikátory

Katedra geotechniky a podzemního stavitelství

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

OHYB (Napjatost) M A M + qc a + b + c ) M A = 2M qc a + b + c )

ŘÍZENÍ MODELU NEKÝVAVÉHO JEŘÁBU. Autor.: Lukáš Řápek Vedoucí.: Ing. Jan Zavřel, Ph.D.

Učební texty k státní bakalářské zkoušce Matematika Diferenciální rovnice. študenti MFF 15. augusta 2008

Soustavy nelineárních rovnic pomocí systému Maple. Newtonova metoda.

Stabilizace Galerkin Least Squares pro

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Příklady použití tenkých vrstev Jaromír Křepelka

11.Numerické řešení parciálních diferenciálních rovnic

Reference 10. Předpokládejme stavový popis spojitého, respektive diskrétního systému

Nalezněte obecné řešení diferenciální rovnice (pomocí separace proměnných) a řešení Cauchyho úlohy: =, 0 = 1 = 1. ln = +,

Řešení "stiff soustav obyčejných diferenciálních rovnic

Flexibilita jednoduché naprogramování a přeprogramování řídícího systému

Matematika 5 FSV UK, ZS Miroslav Zelený

Měření dat Filtrace dat, Kalmanův filtr

1 Projekce a projektory

Aplikovaná numerická matematika

pouze u některých typů rovnic a v tomto textu se jím nebudeme až na

Kapitola 11: Lineární diferenciální rovnice 1/15

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Parciální diferenciální rovnice

Vypracoval: Miloslav Krajl

5. Lokální, vázané a globální extrémy

Řešení diferenciálních rovnic

Převedení okrajové úlohy na sled

Základy matematické analýzy

GEODETICKÉ VÝPOČTY I.

ODR metody Runge-Kutta

1.1 Existence a jednoznačnost řešení. Příklad 1.1: [M2-P1] diferenciální rovnice (DR) řádu n: speciálně nás budou zajímat rovnice typu

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Modelování polohových servomechanismů v prostředí Matlab / Simulink

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

POPIS, IDENTIFIKACE SYSTÉMU A NÁVRH REGULÁTORU POMOCÍ MATLABU V APLIKACI FOTBAL ROBOTŮ

Software pro modelování chování systému tlakové kanalizační sítě Popis metodiky a ukázka aplikace

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Transkript:

HIERARCHICKÝ OPTIMÁLNÍ REGULÁTOR Branislav Rehák ČVUT FEL, katedra řídicí techniky Úvod Teorie dynamických optimalizačních úloh je již delší dobu dobře rozpracována. Přesto není v praxi příliš často využívána. Jedním z důvodů je, že řešení obecných dynamických optimalizačních problémů vede na nutnost řešit obecné okrajové úlohy pro obyčejné diferenciální rovnice. Řešení těchto úloh je spojeno se značnými nároky, a to jak z hlediska algoritmizace, tak i z hlediska spotřeby času pro provedení výpočtu. Další nevýhodou je, že zákon řízení nelze v obecném případě formulovat ve tvaru zpětné vazby. Pro řešení okrajových úloh pro obyčejné diferenciální rovnice lze využít metodu konečných prvků podobným způsobem, jakým se tato metoda používá pro řešení parciálních diferenciálních rovnic. Z toho vyplývá možnost využití nástrojů pro řešení parciálních diferenciálních rovnic, jako je např. Femlab, i pro řešení úloh dynamické optimalizace. I při použití moderní výpočetní techniky nemusí být rychlost výpočtu řešení okrajových úloh vždy dostatečná na to, aby ji bylo možné použít pro sestavení řídicího algoritmu bez dalších úprav. Proto jsme navrhli regulátor hierarchický. 2 Hierarchické řízení Úlohu optimálního řízení v reálném čase jsme rozdělili na dvě podúlohy. První z nich je výpočet predikce optimální trajektorie systému na zadaném horizontu, druhá je výpočet řízení, které zajistí optimální sledování této trajektorie. Tyto podúlohy se řeší v různých úrovních regulátoru, přičemž řešení první úlohy představuje vyšší, řešení druhé úlohy pak nižší úroveň. Nyní stručně shrneme vlastnosti obou úrovní. Vyšší úroveň určuje optimální trajektorii systému, provádějí se v ní náročné výpočty, při výpočtech se bere v úvahu celá struktura systému, nelinearity apod. Nižší úroveň zajišťuje sledování trajektorie vypočtené ve vyšší úrovni, kompenzují se zde vlivy poruchových veličin, zákon řízení by měl být co nejjednodušší, nejlépe ve tvaru zpětné vazby, pro výpočet řízení systém dekomponovat, využívat jen nejpodstatnějších vazeb mezi subsystémy, nelinearity nahradit linearizací atd. Při návrhu optimálního řízení je nutné vzít v úvahu i zpoždění vzniklé při provádění výpočtů ve vyšší úrovni. Po tuto dobu nižší úroveň používá trajektorii vypočítanou v předchozím kroku. Dobu, po kterou se používá trajektorie vypočítaná v průběhu jednoho výpočtu vyšší úrovně, označíme T v. Tato doba musí být delší než délka nejdelšího výpočtu ve vyšší úrovni. 3 Návrh řídicího algoritmu Je dán systém ẋ = f(x(t), u(t)) s počáteční podmínkou x(0) = x 0. Nejprve formulujme úlohu, kterou řeší vyšší úroveň: je-li T H > 0 horizont predikce a τ 0, máme nalézt x, u tak, že τ+th J(x (t), u (t))dt τ

je minimální, za podmínky ẋ = f(x (t), u (t)), x (τ) = x 0. Tento problém označíme jako problém (P) na intervalu (τ, τ + T H ) s počáteční podmínkou x 0. Je-li čas t = kt v, k celé, pak se provedou následující akce: vyšší úroveň zjistí hodnoty stavů a začne provádět výpočet, do bufferu se nahraje hodnota optimální přímé vazby pro interval (kt v, (k + )T v ). Výpočet ve vyšší úrovni se skládá z těchto fází (pro čas t = kt v ):. spočítá se predikce stavu v čase (k+)t v pomocí hodnot přímé vazby zjištěné v předchozím kroku. Tuto predikci stavu označíme ˆx((k + )T v ). 2. Vyřeší se optimalizační problém (P) na intervalu ((k + )T v, (k + 2)T v ) s počáteční podmínkou ˆx((k + )T v ). 3. Z hodnot predikce stavu v intervalu ((k + )T v, (k + 2)T v ) se spočítá hodnota přímé vazby v tomto intervalu. V čase (k + )T v se hodnota přímé vazby nahraje do bufferu. Stručně představíme úlohu, která se ve vyšší úrovni řeší. Dynamická optimalizace se převede na problém minimalizace Lagrangeovy funkce L = (k+2)tv (k+)t v J(x(t), u(t)) + λ(t)(ẋ f(x(t), u(t))dt, kde funkce λ je Lagrangeův multiplikátor neboli kostav. Pro optimální řízení platí, že splňuje následující okrajovou úlohu: ẋ = f(x(t), u(t)), () λ = D x J(x(t), u(t)) + D x f(x(t), u(t))λ(t) (2) 0 = D u J(x(t), u(t)) + D u f(x(t), u(t))λ(t). (3) Okrajové podmínky pro stavy jsou dány jejich hodnotami v bodě (k + )T v, kostavy splňují podmínku λ((k + 2)T v ) = 0. Více viz []. Regulátory v nižší úrovni by měly být co nejjednodušší, např. navržené pomocí LQ teorie. Výhodou těchto regulátorů je konstantní zesílení ve zpětné vazbě, vliv vyšší úrovně se projevuje jen prostřednictvím přímé vazby. Předpokládáme, že stavová rovnice je lineární a má tvar a dále, že kritérium lze psát ve tvaru ẋ(t) = f(x(t), u(t)) = Ax(t) + Bu(t). J(x, u) = x T Qx + u T Ru + Π(x, u), kde funkce Π obsahuje členy řádu vyššího než 2. Předpokládejme, že systém je složen z N subsystémů, které spolu slabě interagují. Pak existují matice A,..., A N, A vazba, B,..., B N, B vazba, Q,..., Q N a R,..., R N takové, že lze matici A zapsat takto: A = A 0 0..... 0... A N + A vazba, předpokládáme, že matice B, Q, R lze zapsat analogicky. Přitom vliv vazeb mezi systémy je malý a při definici nižší úrovně ho nebudeme uvažovat, stejně jako vliv členů vyššího řádu v kritériu. Pak se úloha nalezení regulátorů nižší úrovně redukuje na problém nalézt N regulátorů pro systém ẋ i (t) = A i x i (t) + B i u i (t)

takových, že je minimalizováno kritérium + 0 x T i (t)q i x i (t) + u T i (t)r i u i (t)dt. To je standardní úloha lineárně-kvadratického řízení (LQ řízení). Předpokládáme, že matice A i, B i, Q i, R i splňují podmínky zaručující existenci řešení tohoto problému. Více viz [2]. O otázkách decentralizovaného řízení systémů pojednává např. [3]. Z této teorie plyne, že optimální řízení i-tého subsystému je dáno vztahem kde: u zv i u i = u zv i (t) Ri Bi T p i (t), (t) = Ri Bi T P ix i (t) je zpětná vazba (ta se nemění), Ri Bi T p i(t) je přímá vazba. Funkce p je definována vztahem Matice P i je řešení Riccatiho rovnice: ṗ i (t) = (A i P i Bi T Ri B i )p i (t) + Q i r i (t). A T i P i + P i A i P i B i R i B T i P i Q i = 0 a r i je i-tá reference. Ta je spočítána ve vyšší úrovni, jako příslušná část predikce optimální trajektorie. Pokud by původní systém byl nelineární, pak je pro výpočet regulátorů nižší úrovně nutné provést linearizaci. Pokud by byla provedena jen jednou, je možné provést předchozí postup beze změn, s to výjimkou, že k výslednému stavu, resp. řízení je nutno přičíst stav, resp. řízení v bodě, kde se počítá linearizace. Jestliže by se bod, okolo něhož se systém linearizuje, měnil (na základě informací o predikci ve vyšší úrovni), pak je nutné kromě toho přepočítávat i zesílení matice zpětné vazby. 4 Implementace vyšší úrovně Pro implementaci vyšší úrovně regulátoru byl adaptován kód vytvořený GUI systému Femlab 2.. Pro řešení úlohy byla zvolena obecná forma pro soustavu šesti jednodimenzionálních rovnic na intervalu (0, T H ), použit byl nelineární řešič. Zde uvádíme systém rovnic, který byl řešen ve Femlabu: ẋ = x + 0.0x 2 + u (4) ẋ 2 = 0, 0x + 2x 2 + u 2 (5) λ = q (x x ) + λ + 0.0λ 2 (6) λ 2 = q 2 (x 2 x 2 ) + 0.0λ + 2λ 2 (7) 0 = r u + λ (8) 0 = r 2 u 2 + λ 2 (9) pro neznámé x, x 2, λ, λ 2, u, u 2. Do seznamu proměnných byly zařazeny q, q 2, r, r 2, xx0, xx20. Dirichletovy okrajové podmínky byly x (0) = xx0, x 2 (0) = xx20, λ (T H ) = 0, λ 2 (T H ) = 0. Dirichletovy podmínky pro stavy v čase T H a kostavy v čase 0 byly formulovány tak, aby byly vždy splněné, tj. např. x (T H ) x (T H ) = 0. Neumannova podmínka byla také zadána tak, aby byla vždy splněna a neměla tedy vliv na řešení. Tím jsme dosáhli toho, že úloha byla korektně zadaná. Obě tyto podmínky je nutné zadat, neboť to vyžaduje použitá verze systému Femlab (viz [4]). Funkce x, x 2 provádějí výpočet žádané hodnoty. Musí být implementovány v souladu s požadavky na syntaxi funkcí počítajících hodnoty koeficientů rovnic, jak ji vyžaduje Femlab. Vytvořený m-file byl dále upraven, aby obsahoval všechny fáze popsané ve třetím odstavci:

byla z něj vytvořena funkce predfun2 s argumenty (cas, qq, qq2, rr, rr2, xcas, x2cas). Argumenty qq,qq2,rr,rr2 odpovídají proměnným q, q 2, r, r 2. Argument cas předává funkci hodnotu času, kdy dochází k volání funkce predfun2, v argumentech xcas,x2cas se předávají hodnoty stavů v tomto čase. interval, na kterém se řeší okrajový problém, byl změněn na (cas,cas+t H ) před výpočtem okrajového problému se vyřeší stavové rovnice na intervalu (cas,cas+). Tím získáme predikci stavů v čase cas+. Tu použijeme jako okrajovou podmínku pro stavy. následuje řešení okrajové úlohy, tj. část, kterou vygenerovalo GUI Femlabu struktura fem se uloží do souboru. Dále se vykoná spočítá hodnota přímé vazby na intervalu (cas,cas+t H ) a opět se uloží do souboru. 5 Simulační schéma Pro modelování systému byl použit Simulink. Pro správné odsimulování by bylo potřebné provádět výpočty v obou úrovních v odlišných procesech, což jsme neprováděli. Výpočet se proto při každém volání vyšší úrovně zastaví. Schéma je na obr. (). Zesilovače Gain a Gain, sumátory a systém tvoří nižší úroveň. Funkce Obrázek : Simulační schéma prvnireference a druhareference vybírají správnou hodnotu přímé vazby z hodnot spočítaných ve vyšší úrovni. Vazba z nižší úrovně do vyšší je realizována funkcí MATLAB Fcn, která vždy po uplynutí doby T v = aktivuje výpočet ve vyšší úrovni, tj. funkci predfun a předá jí potřebné parametry. 6 Výsledky simulací Pro simulace byl použit systém (4) s kvadratickým kritériem. Váhové matice v kritériu byly zvoleny takto: ( ) ( ) q 0 r 0 Q =, R =, 0 q 2 0 r 2 kde q = q 2 = 0, r = r 2 = 0.2. Regulátory v nižší úrovni mají zesílení, které je optimální pro řízení systému ẋ = x + u s kvadratickým kritériem s váhovými maticemi q, r, resp. ẋ 2 = x 2 + u 2, v kritériu jsou váhové matice q 2, r 2. To znamená, že vazby mezi systémy jsou zanedbány. Stav x by měl sledovat referenci x = sin 4t a stav x 2 sleduje referenci x 2 = cos 5t. Dále byly provedeny simulace stejného systému s tím, že kritérium bylo doplněno o člen b(x, x 2 ) = 0.005( ((x 0.6) 2 +x 2 2 +0.05) 5)4 je li ((x 0.6) 2 +x 2 2 +0.05) > 5 0 jinak.

Tato bariérová funkce penalizuje trajektorie, které se příliš blíží bodu x p = (0.6, 0) ve stavovém prostoru. Rovnice pro adjungované stavy se po přidání bariérové funkce změní takto: λ = q (x x ) + λ + 0.0λ 2 + b(x, x 2 ) x (0) λ 2 = q 2 (x 2 x 2 ) + 0.0λ + 2λ 2 + b(x, x 2 ) x () Vývoj stavů systému v čase je zobrazen na obr 2 bez bariérové funkce (vlevo) a s přidanou bariérovou funkcí (vpravo). Vývoj stavů ve stavovém prostoru je znázorněn na obr. 3, z něhož je zřejmý účinek Obrázek 2: Stav x, plná čára - skutečný stav, čárkovaná čára - reference penalizace stavů v okolí bodu x p. Čárkovanou kružnicí jsou označeny body, na nichž bariérová funkce nabývá hodnoty. State space State space x 2 0.8 x 2 0.6 0.4 0.5 0.2 0 0.2 0 0.4 0.6 0.8 0.5 0 0.5.5 2 x 0.5 0.5 0 0.5.5 2 x Obrázek 3: Stavový prostor 7 Poznámky k výpočtům Je-li zvolena příliš velká váha na odchylku stavů od reference (q i = 000), začnou se objevovat problémy se splněním okrajových podmínek při řešení okrajové úlohy - tyto podmínky nejsou splněny ani po velkém počtu iterací. Použití takto nepřesné aproximace výrazně zhorší kvalitu regulace. Další problémy se vyskytnou, je-li bariérová funkce příliš strmá. Pak výpočet obvykle končí chybovým hlášením. Je nutné upozornit i na značnou časovou náročnost výpočtu, a to zejména při výpočtu optimální přímé vazby pro nižší úroveň. Zde se řeší diferenciální rovnice, v jejíž pravé straně se vyskytuje optimální trajektorie x vypočtená ve vyšší úrovni. Z toho vyplývá nutnost volání funkce postinterp při každém vyčíslování pravé strany. 8 Závěr Odsimulovali jsme systém s víceúrovňovým regulátorem, v němž se řeší okrajová úloha pomocí systému Femlab.

Reference [] Bryson, A.E., Ho, Y., Applied Optimal Control, J. Wiley, New York, 975 [2] Havlena, V., Štecha, J, Moderní teorie řízení, Vyd. ČVUT, Praha, 996 [3] Trave, L., Titli, A., Tarras, A., Large Scale Systems: Decentralization, Structure Constraints and Fixed Modes, Springer, Berlin 989 [4] Femlab Reference Manual v. 2.0, COMSOL AB, 2000 Kontakt Branislav Rehák ČVUT FEL, katedra řídicí techniky Karlovo nám. 3 2 35 Praha 2 tel. 02 / 2435 7336 rehakb@control.felk.cvut.cz