20.11.2017
1
Řídicí technika
Fuzzy řízení
Akademický rok 2017/2018
Připravil: Radim Farana
Obsah
• Fuzzy řízení
• Fuzzy množiny
• Operace s fuzzy množinami
• Fuzzy pravidla
• Fuzzy regulátory
2
Fuzzy řízení
3
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. experta), 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.11.2017
2
Fuzzy množiny
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,1> na rozdíl od klasické teorie množin,
kdy každý prvek do množiny buď patří nebo nepatří.
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ě, 1
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.
Lotfi Aliasker Zadeh
* 4. 2. 1921 Baku
https://cs.wikipedia.org/wiki/Lotfi_Zadeh
Fuzzy množiny
5
teplota stupeň příslušnosti m slovní vyjádření
5 °C 0 zcela jistě není příjemná
10 °C 0,3 asi sotva
15 °C 0,5 snad
20 °C 0,8 téměř jistě
25 °C 1,0 zcela jistě
35 °C 0,5 sotva
Tabulka stupně příslušnosti skutečně teploty k množině
„Příjemná teplota“:
Fuzzy množiny
6
Příklad funkce příslušnosti
20.11.2017
3
Fuzzy množiny
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)}
Fuzzy množiny
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í mS(x).
Charakteristická funkce mS(x) se u fuzzy množin nazývá funkcí příslušnosti
mS(x). 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 1, kdy
prvek do množiny zcela jistě patří.
0
0,2
0,4
0,6
0,8
1
1,2
-20 -10 0 10 20 30 40
teplota [°C]
L-funkce
StudenámS(x) Λ-funkce
VlažnámV(x)
Fuzzy množiny
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.
20.11.2017
4
Fuzzy množiny
10
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
11
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í) Ux
Komplement fuzzy množiny, doplněk množiny A, C = NOT A
)(1)( xmxm AC
Průnik fuzzy množin (logický součin) C = A AND B
)(),(min)()( xmxmxmxm BABAC
Sjednocení fuzzy množin (logický součet) C = A OR B
)(),(max)()( xmxmxmxm BABAC
Operace s fuzzy množinami
12
x
1
x
1
x
1 mA(x)
x
1 mB(x)
x
1 mA(x)
mB(x)
x
1
x
1 sjednocení )(),(max)()( xmxmxmxm BABAC
x
1 průnik )(),(min)()( xmxmxmxm BABAC
x
1 komplement
(doplněk)
x
1 mC(x) = 1 – mA(x)
20.11.2017
5
Fuzzy pravidla
13
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
JESTLIŽE <fuzzy výrok> PAK <fuzzy výrok>,
V anglické verzi pak
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.
Fuzzy pravidla
14
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 mkladná(E).
Konsekvent obsahuje jazykovou proměnnou U (akční veličinu) s hodnotou
kladná, jejíž funkce příslušnosti je mkladná(U),
mkladná(E)
IF <E.kladná>
0 4 10 e0
mkladná(U) THEN <U.kladná>
α
-20 0 20
*mkladná(U)
Fuzzy pravidla
15
Změříme-li ostrou hodnotu regulační odchylky e0, pak můžeme na obrázku
5 pomocí funkce příslušnosti mkladná(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 maximálně stupeň příslušnosti jako má
podmínka – antecedent. Stupeň příslušnosti změřené „ostré“ hodnoty e0
určuje tedy hladinu, která nám ořízne výstupní fuzzy množinu U
konsekventu. Funkce příslušnosti konsekventu je pak *mkladná(E).
20.11.2017
6
Fuzzy pravidla
16
Zobecnění tohoto principu na dvourozměrný
antecedent
JESTLIŽE (X je kladné malé) AND (Y je kladné střední)
PAK (U je záporné střední)
Existuje celá řada způsobů jak modeloval význam
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 )(),(min 21 xmxmm BAIM
Minimalizací se vyjadřuje skutečnosti, že důsledek (konsekvent) může mít
maximálně stupeň příslušnosti, jako má podmínka (antecedent)
mKS(y)
y0
mZS(u)
α
y
mKM(x)
x0x
β
MIN
u
Ebrahim H. Mamdani
* 6/1942 Tanzania
+ 22. 1. 2010 https://www.researchgate.net/publication/262424900
_Obituary_Abe_Mamdani_in_Memoriam
Fuzzy pravidla
17
Je-li vazba OR, tak vybíráme maximum z odpovídajících funkcí příslušnosti
IF <x.KM> OR <y.KS> THEN <u.ZS>
mKS(y)
y0
mZS(u)
α
y
mKM(x)
x0x
β
MAX
u
Fuzzy pravidla
18
Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost a
Mamdaniho metodu
IF <x.KM> AND <y.KM> THEN <u.KM> ELSE
IF <x.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.
)(),(min)()(1 ymxmymxm KMKMKMKM
)(),(min)()(2 ymxmymxm KSKSKSKS
Pro konsekventy obou implikací dostaneme
)(,min)()( 11 umumum KMKMKM
)(,min)()( 22 umumum KSKSKS
20.11.2017
7
Fuzzy pravidla
19
Konsekventy obou implikací *mKS(u) a *mKM(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
)(,min,)(,minmax)( 11 umumum KMKMCEL
1
mKM(x)
1
mKS(x)
1
mKM(y)
mKS(y)
y
1
x
y0x0
MIN
MIN
u
1
1
mKM(u)
mKS(u)
*mKM(u)
*mKS(u)
u
1
mCEL(u)
*mCEL(u)
Defuzzifikace
20
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 „aproximace neostrých termů“ ostrou hodnotnou akční veličiny
se nazývá defuzzifikace.
Existuje celá řada metod defuzzifikace, které vycházejí z empirického ověření
až po heuristické přístupy.
Defuzzyfikace
21
a)
(Left of Maximum)uvys
b)
LoM MoMRoM
(Mean of Maximum)uvys
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
maxima).
20.11.2017
8
Fuzzy regulátor
22
Na místě regulátoru budeme používat vhodný fuzzy regulátor, který bude
působit na regulovanou soustavu
Fuzzy regulátor 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í experta
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
fuzzy
převod
defuzzi-
fikace
y(t) w(t) regulátor
(fuzzy)
soust
ava
-
Fuzzy regulátor
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.
Fuzzy regulátor
24
Dynamický
systém
d
Fuzzifikace Defuzzifikace Inference
Fuzzy
pravidla
x w
e
F I D
y + -
A/D D/A
Podrobná struktura fuzzy regulátoru. Jeho ústřední člen tvoří tři základní
bloky: Fuzzifikace F, Inference I a blok Defuzzifikace D.
20.11.2017
9
Fuzzy regulátor
25
Praxe ukázala, že pro jednoduchý fuzzy regulátor typu PI, PD je možno
odvodit bázi pravidel pomocí tří základních 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).
Fuzzy regulátor
26
Z N K
Z Z Z N
N Z N K
K N K K
Δe
e
Regulační odchylka e { Z, N, K}
Změna regulační odchylky Δe { Z, N, K}
Akční zásah Δu { Z, N, K}
Jednoduchý inkrementální fuzzy regulátor typu PI
Typy fuzzy regulátorů
27
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:
dt
tdeTde
Ttektu D
t
I
P
)()(
1)()(
0
V případě diskrétních regulátorů musíme vztahy aproximovat s ohledem na
časovou diskretizaci danou vzorkovací periodou T:
T
TkekTeTiTe
T
TkTekkTu D
k
iI
P
])1[()()()()(
1
což můžeme přepsat do tvaru:
T
kTekTkTekkTekkTu DIP
)()()()(
20.11.2017
10
Typy fuzzy regulátorů
28
fuzzifikátor jazykové
proměnné E, který převádí
ostré hodnoty e na fuzzy
množiny E~
defuzzifikátor jazykové
proměnné U, který k
fuzzy množině
určuje její
defuzzifikovanou
hodnotu u.
U~
zesílení signálu a konstantou
K na hodnotu aK
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
Typy fuzzy regulátorů
29
Fuzzy P regulátor je nejjednodušší variantou fuzzy regulátoru. Jedná se v
podstatě o fuzzy aproximaci lineární závislosti dané analogií s klasickým P
regulátorem v podobě vztahu:
)()( kTekkTu P
Tato aproximace 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 AE THEN U is BU.
Typy fuzzy regulátorů
30
Fuzzy PD regulátor je obdobně aproximací vztahu
T
kTekkTekkTu DP
)()()(
Jazyková pravidla mají v tomto případě tvar:
IF E is AE AND ΔE is AΔE THEN U is BU.
20.11.2017
11
Typy fuzzy regulátorů
31
Fuzzy PI regulátor je analogií ke klasickému PI regulátoru, jehož akční zásah
je počítán podle
TkTekkTekkTu IP )()()(
Fuzzy PI regulátor můžeme realizovat dvěma způsoby. První varianta je dána
přímou aproximací výše uvedeného vztahu. V tomto případě mají fuzzy IF–
THEN pravidla popisující chování regulátoru tvar
IF E is AE AND δE is AδE THEN U is BU.
Typy fuzzy regulátorů
32
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 AE AND ΔE is AΔE THEN ΔU is BΔU.
Tento typ fuzzy regulátoru se v praxi 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.
Použití fuzzy regulátoru
33
Model magnetické levitace, nelineární systém, vzorkovací perioda 0,002 [s]
20.11.2017
12
Použití fuzzy regulátoru
34
Systém řízení včetně modelu regulované soustavy od výrobce
Použití fuzzy regulátoru
35
Fuzzy regulátor s oddělenými parametry
Použití fuzzy regulátoru
36
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Magnetic levitation - PID control
time [s]
w(t
), y
(t)
w(t)
y(t)
PID regulátor
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Magnetic levitation - LFLC control
time [s]
w(t
), y
(t)
w(t)
y(t)
Fuzzy regulátor
Řízení polohy kuličky
20.11.2017
13
Použití fuzzy regulátoru
37
PID regulátor
0 20 40 60 80 100 120 140 160 180 200-0.2
0
0.2
0.4
0.6
0.8
1
1.2Magnetic levitation - PID control
time [s]
w(t
), y
(t)
w(t)
y(t)
Fuzzy regulátor
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Magnetic levitation - LFLC control
time [s]
w(t
), y
(t)
w(t)
y(t)
Programové řízení, střídání změny polohy