20..207 Akademický rok 207/208 Připravil: Radim Farana Řídicí technika Fuzzy řízení 2 Obsah Fuzzy řízení Operace s fuzzy množinami y 3 Fuzzy řízení Fuzzy řízení je spolu s dalšími přístupy, jako například neuronové sítě, jednou z moderních metod regulace a ovládání řízených soustav. Podstatou fuzzy logiky je matematická metoda popisu neurčitého vyjadřování blízkého člověku: přidej špetku soli, je celkem horko, nijak daleko apod. Fuzzy logika naplňuje toto vyjadřování matematickým obsahem, proto jí rozumí i počítač. Je tak možno zpracovávat i nepřesná (neurčitá) vstupní data což není možné u klasické Booleovy algebry. U fuzzy řízení není základem řízená soustava a její model, ale pozornost je zaměřena na chování člověka (tzv. eperta), který umí soustavu řídit, ale přitom nemá znalosti o klasickém matematickém modelu. Takový člověk pak řídí soustavu na základě pravidel typu jestliže ukazatel teploty hodně pomalu klesá, stačí o trochu pootočit ventilem doprava.
20..207 4 Fuzzy logika spočívá v rozšíření logických operátorů na fuzzy množiny. Teorie fuzzy množin spočívá v zavedení tzv. stupně anebo síly příslušnosti prvku k množině, který může nabývat hodnot z intervalu <0,> na rozdíl od klasické teorie množin, kdy každý prvek do množiny buď patří nebo nepatří. Lotfi Aliasker Zadeh * 4. 2. 92 Baku https://cs.wikipedia.org/wiki/lotfi_zadeh Stupeň příslušnosti prvku (např. okamžité teploty) k fuzzy množině (teplota) může nabývat všech hodnot od nuly do jedné (včetně). Při hodnotě 0 prvek do množiny určitě nepatří, 0,2 znamená asi sotva, 0,5 snad, 0,8 téměř jistě, znamená zcela jistou příslušnost k množině. Tím se elegantně vyhneme situaci, kdy v klasické logice teplotu 25 C označíme jako příjemnou a 24,9 jako nepříjemnou. 5 Tabulka stupně příslušnosti skutečně teploty k množině Příjemná teplota : teplota stupeň příslušnosti m slovní vyjádření 5 C 0 zcela jistě není příjemná 0 C 0,3 asi sotva 5 C 0,5 snad 20 C 0,8 téměř jistě 25 C,0 zcela jistě 35 C 0,5 sotva 6 Příklad funkce příslušnosti 2
20..207 7 Jazyková proměnná je taková proměnná, jejíž hodnoty jsou výrazy nějakého jazyka. Hodnotu jazykové proměnné můžeme interpretovat jako fuzzy množiny. Množina hodnot se označuje jako množina n jazykových termů. Význam termů je definován na univerzu U, které chápeme jako univerzální množinu. Např. při regulaci teploty lázně můžeme teplotu kapaliny chápat jako jazykovou proměnnou s názvem Teplota lázně. Teplotu měříme ve stupních Celsia. Kvantitativní vyjádření teploty lázně v hovorovém jazyce však nemusí být vyjádřeno jen ve stupních, ale v běžně používaných výrazech jako: lázeň je LEDOVÁ, STUDENÁ, VLAŽNÁ, TEPLÁ atd. Jako hodnotu jazykové proměnné Teplota lázně pak můžeme označit prvek z množiny teplot: {ledová(l), studená(s), vlažná(v), horká(h)} 8 Takto zavedená jazyková kvantifikace teplot pomocí výrazů přirozeného jazyka (např. studená), představuje termy, jejichž význam je vágní a modeluje se pomocí fuzzy množin a je definována charakteristickou funkcí m S (). Charakteristická funkce m S () se u fuzzy množin nazývá funkcí příslušnosti m S (). Charakterizuje stupeň, s jakým daný prvek patří do dané množiny, a to od hodnoty 0, kdy prvek do množiny určitě nepatří, až do hodnoty, kdy prvek do množiny zcela jistě patří. Studená m S(),2 0,8 0,6 0,4 L-funkce Vlažná m V() Λ-funkce 0,2 0-20 -0 0 0 20 30 40 teplota [ C] 9 Proces přiřazování měřených hodnot vstupních veličin do fuzzy množin pomocí funkcí příslušností se označuje jako fuzzifikace. Pro regulační úlohy se používají standardní funkce příslušnosti: Λ-funkce (funkce trojúhelníková), L-funkce (viz obrázek), Π-funkce (funkce lichoběžníková), Γ- funkce, S-funkce, Z-funkce. 3
20..207 0 Pro označování hodnot jazykové proměnné se používá standardní označení. Význam Ozn. Čes. Ozn. Ang. Hodnota velká záporná ZV NL Hodnota střední záporná ZS NM Hodnota malá záporná ZM NS Hodnota záporná blízká nule ZN NZ Hodnota nulová NU Z Hodnota kladná blízká nule KN PZ Hodnota malá kladná KM PS Hodnota střední kladná KS PM Hodnota velká kladná KV PL Operace s fuzzy množinami Na fuzzy množinách můžeme používat operace podobné těm, které jsme používali na klasických množinách. Pro naší potřebu uvedeme pouze základní tři operace (doplněk, průnik, sjednocení) U Komplement fuzzy množiny, doplněk množiny A, C = NOT A m ( ) m ( ) C A Průnik fuzzy množin (logický součin) C = A AND B m ( ) m ( ) min m ( ), m ( ) C AB Sjednocení fuzzy množin (logický součet) C = A OR B m ( ) m ( ) mam ( ), m ( ) C AB A A B B 2 Operace s fuzzy množinami ma() ma() mb() mb() sjednocení mc ( ) m A B ( ) mam A( ), mb ( ) průnik m ( ) m ( ) minm ( ), m ( ) C AB A B komplement (doplněk) mc() = ma() 4
20..207 3 Obecně je logické řízení založeno na vyhodnocování rozhodovacích pravidel ve formě podmíněných výroků JESTLIŽE PAK. Pro fuzzy řízení a regulaci je podmínka vyjádřena formou implikace dvou fuzzy výroků většinou jako V anglické verzi pak JESTLIŽE <fuzzy výrok> PAK <fuzzy výrok>, IF <fuzzy výrok> THEN <fuzzy výrok>. Tato podmínka je označována jako fuzzy IF-THEN pravidlo. První fuzzy výroková množina, kterou je často složený výrok, se nazývá antecedent, kde jednotlivé části výroku jsou vázány logickými spojkami. Druhý fuzzy výrok je konsekvent. 4 Jednoduchý fuzzy výrok IF <E.kladná> THEN <U.kladná> V rozhodovacím pravidle je v antecedentu jazyková proměnná E (regulační odchylka), jejíž hodnota je kladná a má funkci příslušnosti m kladná (E). Konsekvent obsahuje jazykovou proměnnou U (akční veličinu) s hodnotou kladná, jejíž funkce příslušnosti je m kladná (U), mkladná(e) IF <E.kladná> mkladná(u) THEN <U.kladná> α *mkladná(u) 0 4 e0 0-20 0 20 5 Změříme-li ostrou hodnotu regulační odchylky e 0, pak můžeme na obrázku 5 pomocí funkce příslušnosti m kladná (E) odečíst stupeň příslušnosti α, s jakým změřená hodnota přísluší k množině hodnot E.kladná. Naším úkolem je však nalézt pro změřenou ostrou hodnotu odpovídající fuzzy množinu konsekventu. Nejčastější postup jak určit tuto množinu vychází z logického předpokladu, že důsledek konsekvent může mít maimálně stupeň příslušnosti jako má podmínka antecedent. Stupeň příslušnosti změřené ostré hodnoty e 0 určuje tedy hladinu, která nám ořízne výstupní fuzzy množinu U konsekventu. Funkce příslušnosti konsekventu je pak *m kladná (E). 5
20..207 6 Zobecnění tohoto principu na dvourozměrný antecedent Ebrahim H. Mamdani JESTLIŽE (X je kladné malé) AND (Y je kladné střední) * 6/942 Tanzania PAK (U je záporné střední) + 22.. 200 Eistuje celá řada způsobů jak modeloval význam _Obituary_Abe_Mamdani_in_Memoriam fuzzy IF-THEN pravidla, ale z hlediska řízení a regulace je nejdůležitější následující metoda (Mamdaniho), která definuje funkci příslušnosti konsekventu jako m min m ( ), ( ) IM A mb 2 https://www.researchgate.net/publication/262424900 Minimalizací se vyjadřuje skutečnosti, že důsledek (konsekvent) může mít maimálně stupeň příslušnosti, jako má podmínka (antecedent) m KM () m KS (y) m ZS (u) MIN β α 0 y 0 y u 7 Je-li vazba OR, tak vybíráme maimum z odpovídajících funkcí příslušnosti IF <.KM> OR <y.ks> THEN <u.zs> m KM () m KS (y) m ZS (u) MAX β α 0 y 0 y u 8 Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost a Mamdaniho metodu IF <.KM> AND <y.km> THEN <u.km> ELSE IF <.KS> AND <y.ks> THEN <u.ks> Pro dvě fuzzy IF-THEN pravidla je jejich význam modelován těmito funkcemi příslušnosti. m ( ) m ( y) min m ( ), m ( y) KM KM KM KM 2 m ( ) m ( y) minm ( ), mks ( y) KS KS KS Pro konsekventy obou implikací dostaneme m m KM ( u) mkm ( u) min, mkm ( u) KS ( u) 2 mks ( u) min 2, mks ( u) 6
20..207 9 Konsekventy obou implikací *m KS (u) a *m KM (u) určují jejich dílčí podíly na velikosti akční veličiny. Intuitivně se nabízí možnost interpretovat účinek obou dílčích výstupních termů jako jejich logický součet. Pak pro výstupní fuzzy množinu obou účinků dostaneme mcel u) mamin, m ( u), min, m ( ) ( KM u KM m KM () m KM (y) m KM (u) MIN *m KM (u) m KS() m KS(y) m KS(u) 0 y 0 MIN *m KS (u) y m CEL(u) u *m CEL(u) u 20 Defuzzifikace Výsledkem činnosti bloku rozhodovacích pravidel je soubor funkcí příslušnosti pro jednotlivé termy výstupních jazykových proměnných. Funkce příslušnosti výstupní množiny je dána sjednocením oříznutých funkcí příslušnosti (Mamdaniho metoda). Po praktickém provedení akčních zásahů je třeba přiřadit výstupním jazykovým proměnným ostrou hodnotu akční veličiny v přípustném rozsahu. Tento proces aproimace neostrých termů ostrou hodnotnou akční veličiny se nazývá defuzzifikace. Eistuje celá řada metod defuzzifikace, které vycházejí z empirického ověření až po heuristické přístupy. 2 Defuzzyfikace a) b) LoM MoM RoM u vys (Left of Maimum) u vys (Mean of Maimum) Při volbě metody defuzzyfikace můžeme zvolit buď metody, které hodnotu akční veličiny určí výpočtem jako nejlepší kompromis (metody těžiště Center of Gravity) nebo metody hledající přijatelné řešení (metody nejvýznamnějšího maima). 7
20..207 22 Na místě regulátoru budeme používat vhodný fuzzy regulátor, který bude působit na regulovanou soustavu přiřazuje zvoleným vstupním veličinám jazykovou hodnotu. To se provede nejlépe pomocí tzv. funkcí příslušnosti bývají voleny obvykle ve tvaru lichoběžníku či trojúhelníku. Tato etapa je označována jako fuzzifikace. V dalším kroku určí fuzzy regulátor na základě znalostí eperta slovní hodnoty akčních veličin (např. regulační odchylka bude záporná malá). V závěrečném kroku převede slovní vyjádření na konkrétní číselné hodnoty veličin tzv. defuzzifikaci w(t) - fuzzy převod regulátor (fuzzy) defuzzifikace soust ava y(t) 23 Fuzzy řízení je vhodný prostředek pro řízení soustav, u nichž neznáme matematický model, ale které dovede člověk řídit. Lze určit hodnotu výstupu, aniž tak známe vzorce mezi vstupem a výstupem. Každé fuzzy pravidlo přispívá jen částí ke konečnému výsledku. Takový postup je odolnější proti chybám než obvyklý algoritmus. K nevýhodám fuzzy regulátorů patří složitý řídicí algoritmus, možnost oscilací v ustáleném stavu a zatím malé zkušenosti s návrhem. 24 Podrobná struktura fuzzy regulátoru. Jeho ústřední člen tvoří tři základní bloky: Fuzzifikace F, Inference I a blok Defuzzifikace D. d y Dynamický - + systém e w D/A A/D Defuzzifikace Inference Fuzzifikace D I F Fuzzy pravidla 8
20..207 25 Prae ukázala, že pro jednoduchý fuzzy regulátor typu PI, PD je možno odvodit bázi pravidel pomocí tří základních metapravidel MP: Jestliže regulační odchylka e(k) a její změna Δe(k) je nulová nebo blízká nule, pak by měl být přírůstek akční veličiny Δu(k) akční zásah nulový nebo blízký nule. MP2: Jestliže regulační odchylka e(k) klesá k nule nebo se blíží nule s dostačující rychlostí, pak je vhodné také neměnit akční veličinu. MP3: Jestliže se regulační odchylka e(k) nekoriguje sama, potom je třeba akční veličinu změnit a akční zásah Δu(k) bude nenulový. Jeho velikost a znaménko závisí na znaménku a velikosti regulační odchylky e(k) a její změny Δe(k). 26 Jednoduchý inkrementální fuzzy regulátor typu PI e Δe Z N K Z Z Z N N Z N K K N K K Regulační odchylka e { Z, N, K} Změna regulační odchylky Δe { Z, N, K} Akční zásah Δu { Z, N, K} 27 Typy fuzzy regulátorů Rozlišujeme základní typy fuzzy regulátorů, které vycházejí z analogie klasických regulátorů. Vyjdeme z ideálního spojitého klasického PID regulátoru: u( t) t de( t) k P e( t) e( ) d TD T dt I 0 V případě diskrétních regulátorů musíme vztahy aproimovat s ohledem na časovou diskretizaci danou vzorkovací periodou T: T u( kt ) k P e( kt ) TI což můžeme přepsat do tvaru: k e( kt ) e[( k ) T ] e( it ) T D i T e( kt ) u( kt ) kpe( kt ) kie( kt ) T kd T 9
20..207 28 Typy fuzzy regulátorů fuzzifikátor jazykové proměnné E, který převádí ostré hodnoty e na fuzzy množiny E ~ zesílení signálu a konstantou K na hodnotu ak defuzzifikátor jazykové proměnné U, který k fuzzy množině určuje její defuzzifikovanou hodnotu u. U ~ inferenční mechanismus fuzzy regulátoru odpovídajícího typu paměť předchozí hodnoty, umožňuje jednokrokové časové zpoždění vstupní hodnoty, která se na výstupu objeví až v následujícím časovém okamžiku 29 Typy fuzzy regulátorů Fuzzy P regulátor je nejjednodušší variantou fuzzy regulátoru. Jedná se v podstatě o fuzzy aproimaci lineární závislosti dané analogií s klasickým P regulátorem v podobě vztahu: u( kt ) k e( kt ) Tato aproimace sama o sobě však lineární být nemusí a jak z podstaty samotné přibližné dedukce vyplývá, ani nebývá. Celkový charakter přenosové funkce je závislý na tvaru použitých fuzzy množin a především na bázi pravidel, které jsou v případě fuzzy regulátoru tohoto typu ve tvaru: IF E is A E THEN U is B U. P 30 Typy fuzzy regulátorů Fuzzy PD regulátor je obdobně aproimací vztahu e( kt ) u( kt ) kpe( kt ) kd T Jazyková pravidla mají v tomto případě tvar: IF E is A E AND ΔE is A ΔE THEN U is B U. 0
20..207 3 Typy fuzzy regulátorů Fuzzy PI regulátor je analogií ke klasickému PI regulátoru, jehož akční zásah je počítán podle u( kt ) k e( kt ) k e( kt T P I ) Fuzzy PI regulátor můžeme realizovat dvěma způsoby. První varianta je dána přímou aproimací výše uvedeného vztahu. V tomto případě mají fuzzy IF THEN pravidla popisující chování regulátoru tvar IF E is A E AND δe is A δe THEN U is B U. 32 Typy fuzzy regulátorů Druhou variantou fuzzy PI regulátoru je tzv. inkrementální fuzzy PI regulátor. Jeho název pochází z toho, že výstupem z inferenčního pravidla není přímo hodnota akčního zásahu, ale jeho změna (přírůstek) oproti stávající hodnotě. Tomu také odpovídá struktura pravidel: IF E is A E AND ΔE is A ΔE THEN ΔU is B ΔU. Tento typ fuzzy regulátoru se v prai používá nejčastěji, protože pravidla obsahují pouze dvě antecedentové proměnné, takže pravidla můžeme přehledně zobrazit ve dvojrozměrné tabulce. Pro člověka je navíc snazší uvažovat změnu akčního zásahu, která představuje například další pootočení řídicího ventilu oproti stávající poloze. 33 Použití fuzzy regulátoru Model magnetické levitace, nelineární systém, vzorkovací perioda 0,002 [s]
20..207 34 Použití fuzzy regulátoru Systém řízení včetně modelu regulované soustavy od výrobce 35 Použití fuzzy regulátoru s oddělenými parametry 36 Použití fuzzy regulátoru Řízení polohy kuličky Magnetic levitation - PID control Magnetic levitation - LFLC control 0.9 w(t) y(t) 0.9 w(t) y(t) 0.8 0.8 0.7 0.7 0.6 0.6 w(t), y(t) 0.5 0.4 w(t), y(t) 0.5 0.4 0.3 0.3 0.2 0.2 0. 0. 0 0 20 40 60 80 00 20 40 60 80 200 time [s] 0 0 20 40 60 80 00 20 40 60 80 200 time [s] PID regulátor 2
20..207 37 Použití fuzzy regulátoru Programové řízení, střídání změny polohy.2 Magnetic levitation - PID control w(t) y(t) 0.9 Magnetic levitation - LFLC control w(t) y(t) 0.8 0.8 0.7 w(t), y(t) 0.6 0.4 w(t), y(t) 0.6 0.5 0.4 0.2 0.3 0.2 0 0. -0.2 0 20 40 60 80 00 20 40 60 80 200 time [s] PID regulátor 0 0 20 40 60 80 00 20 40 60 80 200 time [s] 3