Základy fuzzy řízení a regulace
Ing. Ondřej Andrš
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Obsah • • • • •
Úvod do problematiky měkkého programování Základy fuzzy množin a lingvistické proměnné Fuzzyfikace Základní operace s fuzzy množinami Vyhodnocování rozhodovacích pravidel – inferenční pravidla
• Defuzzyfikace • Struktura fuzzy řízení • Fuzzy regulátor 2
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Měkké programování – Soft Computing • Možnost zpracování nepřesností, nejistoty a částečně (nepřesně) platných údajů • Příkladem reálného modelu měkkého programování je lidský mozek • Cílem je dosáhnout vyšší poddajnosti, robustnosti a nízkých výpočetních nároků • Nejdůležitějšími částmi jsou: – Fuzzy logika – Pravděpodobnostní usuzování – Neuronové sítě – Genetické algoritmy 3
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Fuzzy množiny a lingvistické proměnné • Fuzzy množiny zavádějí tzv. stupeň příslušnosti prvku k množině, který může nabývat hodnot <0,1> • Charakteristická funkce mS(x) u neostrých fuzzy množin se nazývá funkcí příslušnosti mS(x); charakterizuje stupeň, s jakým daný prvek patří do příslušné množiny
4
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Lingvistická proměnná • Hodnoty lingvistické proměnné jsou výrazy nějakého jazyka • Hodnotu lingvistické proměnné můžeme interpretovat jako fuzzy-neostré množiny • Množina lingvistických hodnot se označuje jako množina termů • Termy jsou definovány na univerzu, které chápeme jako univerzální množinu Např. „teplota lázně“ { ledová(L), studená(S), vlažná(V), teplá(T), horká(H) } 5
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Fuzzyfikace • Přiřazování měřených hodnot vstupních veličin do fuzzy množin pomocí funkcí příslušnosti • Normalizované univerzum pokryjeme nosiči příslušných fuzzy množin – Je nezbytné obsáhnout celý rozsah univerza – Pro žádný prvek univerza není funkce příslušnosti menší než jisté ε – Většinou volíme mezi 3 až 7 primárními fuzzy množinami – Pro mnohé úlohy volíme tvar na základě předem zvolených funkcí příslušnosti; jinak je možný odhad na základě měřených dat 6
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Fuzzyfikace
Funkce příslušnosti proměnné „Úhel“ a její hodnoty (termy): záporný, nulový a kladný
7
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Fuzzyfikace Některé jednoduché funkce příslušnosti
8
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Fuzzyfikace Označení hodnot lingvistické proměnné
9
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Základní operace s fuzzy množinami
10
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Inferenční pravidla Obecně je logické řízení založeno na vyhodnocování rozhodovacích pravidel ve formě Pro fuzzy řízení a regulaci je podmínka vyjádřena formou implikace dvou fuzzy výroků většinou jako
Tato podmínka je označována jako “produkční pravidlo, jestliže-pak” Laboratoř mechatroniky a robotiky
11
Základy fuzzy řízení a regulace
Mandaniho implikace • Důsledek (konsekvent) může mít maximálně stupeň příslušnosti, jako má podmínka (ancedent)
12
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Mandaniho implikace
Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost 13
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Larsenova implikace • Výstupní množina není hladinou příslušnosti oříznuta, ale vynásobena
14
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Larsenova implikace
Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost 15
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Defuzzyfikace • Proces „aproximace neostrých termů“ ostrou hodnotou akční veličiny • Výsledkem činností bloků rozhodovacích pravidel je soubor funkcí příslušnosti pro jednotlivé termy výstupních lingvistických proměnných; funkce příslušnosti výstupní veličiny je dána jejich sjednocením • Pro praktické provedení akčních zásahů je třeba přiřadit výstupním lingvistickým proměnným ostrou hodnotu akční veličiny • Metody: – Nejlepší kompromis (metody těžiště) – Přijatelné řešení (metody nejvýznamnějšího maxima)
16
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Metody těžiště • Center of Maximum (těžiště singltonů)
Ostrou výstupní veličinu určí jako těžiště typických hodnot každého výstupního termu 17
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Metody těžiště • Center of Gravity (těžiště plochy)
Hodnotu akční veličiny určí jako souřadnici těžiště plochy vzniklé sjednocením dílčích ploch Laboratoř mechatroniky a robotiky
18
Základy fuzzy řízení a regulace
Metody nejvýznamnějšího maxima • Left of Maximum (LoM) • Mean of Maximum (MoM) • Right of Maximum (RoM)
19
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Fuzzy řízení • Charakteristickým znakem fuzzy řízení je možnost bezprostředního použití empirických znalostí člověka operátora o řízeném procesu, které označujeme jako bázi znalostí • Báze znalostí tvoří: – informace o stacionárních stavech, intervalech ve kterých se pohybují hodnoty vstupních a výstupních veličin, jejich mezní hodnoty, atd.; rozšíříme-li tato data o funkce příslušnosti všech vstupních a výstupních fuzzy množin, pak se všechny tyto informace o procesu v bázi znalostí označují jako báze dat – kvantitativně formulované zkušenosti včetně slovně definované strategie řízení, pomocí kterých je možno realizovat řízení; tyto zkušeností získané strategie řízení označujeme jako bázi pravidel 20
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Struktura fuzzy regulátoru
21
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Struktura fuzzy regulátoru
22
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Tvorba báze pravidel • Tvorba – Na základě empirických znalostí – Na základě obecně platných pravidel (metapravidel) • MP1: 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). 23
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Tabulky pravidel
e
Δe NB
NS
ZO
PS
PB
NB
NB
NB
NB
NS
Z
NS
NB
NB
NS
Z
PS
ZO
NB
NS
Z
PS
PB
PS
NS
Z
PS
PB
PB
PB
Z
PS
PB
PB
PB
24
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Implementace MATLAB • Fuzzy logic toolbox – Fuzzy logic controller – Fuzzy logic controller with Ruleviewer Příkaz fuzzy nebo fuzzy jmeno.fis -> FIS editor Příkaz fis_new = readfis('jmeno') -> import do workspace
• Implementace fuzzy logiky – – – –
FIS editor (editor inferenčního systému regulátoru) Membership Function Editor (editor fci. příslušnosti) Rule editor (editor pravidel) Rule Viewer, Surface Viewer 25
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Implementace MATLAB
26
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
FIS editor
27
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Membership Function Editor
28
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Rule editor
29
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Rule Viewer
30
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Surface Viewer
31
Laboratoř mechatroniky a robotiky
Základy fuzzy řízení a regulace
Příklad tvorby inferenčního systému • Tvorba pomocí FIS editoru • Možnost manuální editace • Kontrola funkčnosti
32
Laboratoř mechatroniky a robotiky
Děkuji za pozornost
Laboratoř mechatroniky a robotiky