Srovna´nı´ Mamdaniho a CFR regula´toru Jakub Sˇt’astny´
[email protected]
NÆ- CTU–CMP–2001–04 16. ˇr´ıjna 2001
Lze zı´skat na ftp://cmp.felk.cvut.cz/pub/cmp/articles/navara/TR Stastny.ps.gz Sˇkolitel: Mirko Navara Pra´ce vznikla s podporou vy´zkumne´ho za´meˇru J04/98:212300013. Centrum strojove´ho vnı´ma´nı´, Katedra kybernetiky Fakulta elektrotechnicka´ CˇVUT Karlovo na´meˇstı´ 13, 121 35 Praha 2 fax: (02) 2435 7385, tel: (02) 2435 7637, www: http://cmp.felk.cvut.cz
1 U´vod ´ kolem pra´ce bylo prove´st srovna´nı´ chova´nı´ Mamdaniho a Conditional Firing Rules (CFR) reU gula´toru. Srovna´va´no bylo na zadany´ch regulacˇnı´ch u´loha´ch, jejichzˇ strucˇny´ popis je uveden v textu. Hodnocenı´ kvality regulace bylo provedeno na za´kladeˇ jednoduchy´ch kriteriı´ (zjednodusˇene´ schema syste´mu spolu s definicı´ pouzˇity´ch promeˇnny´ch lze nale´zt na obra´zku 1):
maxima´lnı´ prˇekmit max =
ymax y
1
y1
;
kde y1
= lim y (t); ymax = max y (t)
!1
t
t
(1)
asymptoticka´ hodnota y1 ; typicky se zava´dı´ trvala´ odchylka jako Æ = lim (y (t)
!1
t
w (t))
(2)
zde je asymptoticka´ hodnota shodna´ s trvalou odchylkou, protozˇe lim w (t) = 0
!1
t
pocˇet maxim a minim (prˇekmitu˚) regulovane´ velicˇiny y (t) cˇas do usta´lenı´ syste´mu, prˇesneˇji nejmensˇ´ı cˇas t0 takovy´, zˇe
8t t0 : y(t) 2 h0,999y1; 1,001y1i
(3)
(4)
kriterium kvadraticke´ regulacˇnı´ plochy Z
I =
0
1
e2 (t) dt
Podrobneˇji byla neˇktera´ z kriteriı´ vykreslena na obra´ zku 2.
1
(5)
regulacni odchylka w(t)
e(t)
+
zadana hodnota
x(t) regulátor
regulovaná soustava
-
regulovaná velicina y(t)
Obra´zek 1: Zjednodusˇene´ schema simulovane´ soustavy
2 Technicke´ prostrˇedky Pro simulaci a vy´pocˇty nad soustavami byl pouzˇit programovy´ syste´m Matlab verze 5 a jeho nadstavba Simulink. Simulovane´ soustavy byly reprezentova´ny modely pro Simulink, regula´tory byly vytvorˇeny pomocı´ fuzzy toolboxu Matlabu.
2.1 Implementace Mamdaniho regula´toru Pouzˇite´ skripty pro vy´pocˇet Mamdaniho inference pocha´zejı´ z fuzzy toolboxu Matlabu. Inference pouzˇ´ıva´ (jak je asi typicke´) standardnı´ podoby fuzzy operacı´ (standardnı´ konjunkci = min, standardnı´ disjunkci = max).
2.2 Implementace Conditional Firing regula´toru CFR regula´tor [MN99, FCFR] bylo nutno naprogramovat. Skripty lze nale´zt v dodatku ke zpra´veˇ (spolu s jejich popisem a zdu˚vodneˇnı´m realizace jednotlivy´ch operacı´). Defuzzifikace byla provedena metodou hleda´nı´ teˇzˇisˇteˇ konvexnı´ho obalu (stejna´ metoda, jakou pouzˇ´ıva´ fuzzy regula´tor implementovany´ v Simulinku v Matlabu).
3 Regulovana´ soustava Konstrukce regula´toru vyzˇaduje pochopenı´ principu cˇinnosti regulovane´ soustavy. K soustaveˇ uva´dı´me jejı´ strucˇny´ popis.
3.1 Houpacˇka s kulicˇkou (Ball on Plate) Cı´lem regulace je udrzˇet kulicˇku v prˇedem urcˇene´m mı´steˇ houpacˇky (viz obr. 3). Vstupem soustavy je na´klon houpacˇky (x [rad℄) a pocˇ. poloha (y0 [m℄). Vy´stupem je okamzˇita´ poloha kulicˇky. Pro jednotlive´ velicˇiny soustavy lze napsat jednoduche´ vztahy — viz (6), (9), (7), (14). V modelu soustavy je pouzˇita aproximace zachycena´ vztahem (13). 2
y
y max asymptoticka hodnota <0.999;1.001> interval kolem asymptoty
cas do ustaleni
0
x
Obra´zek 2: Neˇktera´ regulacˇnı´ krite´ria
y 0
v(t)dt sin x(t)
v(t)dt x(t)
x(t)
0
Obra´zek 3: Houpacˇka s kulicˇkou - schema soustavy
3
J = 1
2 5
1
7
(7)
mv (t)dv : : : diferen iál kineti ké energie 5 dEp = mgv (t) sin x(t)dt : : : diferen iál poten iální energie
(8)
2
dEk =
7
2
J !2 =
10
dEp + dEk = 0 mgv (t) sin x(t)dt =
7 5
mv (t)dv
dv dt
=
5 7
g sin x(t)
sin x(t)
v (t) =
0
(11) (12)
0
(13)
a(x)dx + v0
(14)
x(t) : : : pro x(t) Z t
7
(9) (10)
dv
g sin x(t)dt = a=
(6)
mv 2 : : : kineti ká energie
Ek =
mv 2 +
mr 2 : : : moment setrvaènosti kulièky
5
Model zahrnuje i staticke´ trˇenı´, prˇesneˇji nutnost dodat na pocˇa´tku veˇtsˇ´ı impulz, aby se kulicˇka rozhy´bala. Je to realizova´no pomocı´ jednoduche´ nelinearity - podmı´nky:.
jj
j j
if v < 0,01 and ma < 0,4
) kulièka stojí
Soucˇa´stı´ vstupnı´ho obvodu regulovane´ soustavy je vzorkovacı´ obvod. Na vy´stup regulovane´ soustavy umı´stı´me take´ vzorkovacı´ obvod. Ucˇinı´me tak ze dvou du˚vodu˚: 1. Regula´tor nema´ nekonecˇneˇ rychlou odezvu. Perioda vzorkova´nı´ na vstupu soustavy vy´stupu regula´toru je TIN = 100 ms. Necht’pro periodu vzorkova´nı´ na vy´stupu soustavy - vstupu regula´toru platı´ TIN = lTOU T ; kde l 2 N . Potom TOU T je za´rovenˇ doba odezvy regula´toru - zpozˇdeˇnı´, s jaky´m regula´tor reaguje na zmeˇnu na vstupu. Pro prvnı´ experimenty nastavı´me TIN = TOU T , hodnota bude prˇ´ıpadneˇ patrˇicˇneˇ upravena (myslı´me si, zˇe rea´lne´ regula´tory mohou mı´t podstatneˇ kratsˇ´ı dobu odezvy, nezˇ ma´ regulovana´ soustava). 2. Zrychlı´ se simulace soustavy (vedlejsˇ´ı efekt) - Simulink nebude vyhodnocovat novy´ vy´stup regula´toru prˇi kazˇde´ zmeˇneˇ jeho vstupu˚, ale jenom v pevny´ch cˇasovy´ch intervalech. Vstup regula´toru se meˇnı´ spojiteˇ - tedy usˇetrˇ´ıme mnoho vy´pocˇtu˚ v pohyblive´ ˇra´dove´ cˇa´rce.
4 Srovna´nı´ regula´toru˚ 4.1 Nastavenı´ regula´toru˚ Prˇi nastavenı´ regula´toru bylo prˇihlı´zˇeno k vlastnostem soustavy (viz bod 3.1). Nastavenı´ vycha´zelo z na´sledujı´cı´ch prostrˇedku˚: 4
velka´ mala´ nulova´ mala´ neg. neg. pos. pozice pozice pozice pozice velka´ velky´ velky´ velky´ velky´ neg. pos. pos. pos. pos. rychlost u´hel u´hel u´hel u´hel mala´ velky´ maly´ maly´ maly´ neg. pos. pos. pos. pos. rychlost u´hel u´hel u´hel u´hel nulova´ velky´ velky´ nulovy´ velky´ pos. pos. neg. rychlost u´hel u´hel u´hel u´hel mala´ nulovy´ maly´ maly´ maly´ pos. neg. neg. neg. rychlost u´hel u´hel u´hel u´hel velka´ maly´ velky´ velky´ velky´ pos. neg. neg. neg. neg. rychlost u´hel u´hel u´hel u´hel
velka´ pos. pozice maly´ pos. u´hel nulovy´ u´hel velky´ neg. u´hel velky´ neg. u´hel velky´ neg. u´hel
Tabulka 1: Inferencˇnı´ tabulka regula´toru
Je-li kulicˇka v klidu, je trˇeba pouzˇ´ıt veˇtsˇ´ı sı´ly pro rozhy´ba´nı´, nezˇ kdyzˇ je pouze nutno upravit zrychlenı´ uzˇ pohybujı´cı´ se kulicˇky. ´ hel ˇr´ıdı´ zrychlenı´, nikoliv rychlost. Pokud se kulicˇka uzˇ hy´be zˇa´dany´m smeˇrem, je zˇa´doucı´ U nastavit u´hel do nuly ) tı´m i zrychlenı´ do nuly. Kulicˇka bude jinak sta´le nabı´rat na rychlosti a bude obtı´zˇne´ dostatecˇneˇ operativneˇ zmeˇnit smeˇr nebo ji zastavit. Dokonce bude neˇkdy vhodne´ kulicˇku trochu brzdit, i kdyzˇ se pohybuje zˇa´dany´m smeˇrem. Bude to pouzˇito tehdy, kdyzˇ se bude pohybovat „velkou” rychlostı´. Zˇa´doucı´ je, aby se kulicˇka pohybovala „malou” rychlostı´, aby bylo jednodusˇsˇ´ı ji v zˇa´dane´ poloze zastavit. Vlastnı´ regulace bude vycha´zet z polohy kulicˇky, podle rychlosti se urcˇ´ı na´klon. Ba´zi znalostı´ demonstrujeme ve formeˇ tabulky 1. Tabulka prˇedstavuje sadu 25ti regulacˇnı´ch pravidel a je interpretova´na takto: Prˇ:
IF pozi e = velká negativní AND ry hlost = velká positivní THEN úhel = malý positivní
Fuzzy mnozˇiny pro vstup i vy´stup jsou rozkresleny na obra´ zcı´ch 4, 5, 6. 5
maly neg.
1
velky neg.
angle
maly pos. velky pos.
nulovy
0.9
0.8
membership [−]
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 −0.2
−0.15
−0.1
−0.05
0 angle [rad]
0.05
0.1
0.15
0.2
Obra´zek 4: Vy´stupnı´ mnozˇiny - u´hel na´klonu
mala neg.
1
velka neg.
velocity
mala pos.
nulova
velka pos.
0.9
0.8
membership [−]
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0 −0.8
−0.6
−0.4
−0.2
0 velocity [−]
0.2
0.4
0.6
0.8
Obra´zek 5: Vstupnı´ mnozˇiny - rychlost kulicˇky
6
mala neg.position mala pos.
1
0.9
velka neg.
velka pos.
rovnovaha
0.8
0.7
membership [−]
0.6
0.5
0.4
0.3
0.2
0.1
0 −0.2
−0.15
−0.1
−0.05
0 position [−]
0.05
0.1
0.15
0.2
Obra´zek 6: Vstupnı´ mnozˇiny: pozice kulicˇky
4.2 Mamdaniho regula´tor Na obra´zku 7 cˇtena´ˇr mu˚zˇe najı´t schema nejvysˇsˇ´ı u´rovneˇ syste´mu v Simulinku.
4.3 CFR regula´tor Schema soustavy je totozˇne´ s obr. Mamdaniho regula´toru s vy´jimkou bloku inference. Ten je nahrazen vola´nı´m matlabove´ funkce realizujı´cı´ CFR regula´tor. Bylo nutno spra´vneˇ zvolit zobrazenı´ , a konstantu c — viz [CFR]. Vy´pocˇtem lze rychle zjistit, zˇe DT (Xi ; Xj )
0,5 kdykoliv ; kdy¾ i 6= j
(15)
Tedy konstanta a obeˇ zobrazenı´ byla zvolena takto:
= 0,6
7 0,4 x + 0,6 ! : x 7! x
: x
4.4 Experimenty 4.4.1 Vyrovna´nı´ polohy Pro experimenty oznacˇene´ jako „vyrovna´nı´ polohy” jsou charakteristicke´ tyto pocˇa´tecˇnı´ podmı´nky:
nulova´ pocˇa´tecˇnı´ rychlost 7
perioda vzorkování T out
Obra´zek 7: Kulicˇka na houpacˇce (Ball on plate) s Madamiho regula´torem - schema soustavy
8
position 0.3
−0.02
0.25
magnitude [m]
magnitude [m/s]
velocity 0
−0.04 −0.06 −0.08 −0.1 −0.12
0.2 0.15 0.1 0.05 0
0
1
2 3 time [s]
4
−0.05
5
0
angle
4
5
magnitude [m, m/s]
0.1
0.05
magnitude [−]
2 3 time [s]
position + velocity (detail)
0.1
0
−0.05
−0.1
1
0
1
2 3 time [s]
4
0.05 0 −0.05 −0.1 −0.15 1.5
5
2
2.5 time [s]
3
3.5
Obra´zek 8: Chova´nı´ Mamdamiho regula´toru v cˇase, vyrovna´nı´ polohy. TOU T Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
= 100 ms
Mam. regula´tor CFR regula´tor -0.0021 0.0012 3.56 3.05 0.0552 0.0569
Tabulka 2: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ poloha kulicˇky +0.25 , de´lka simulace 5 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 100 ms
nenulova´ pocˇa´tecˇnı´ poloha
Vy´sledky meˇˇrenı´ na obou regula´torech lze najı´t v tabulce 2, 3, 4, 5. Jedna´ se o typicke´ vy´sledky pro tuto regulacˇnı´ u´lohu a nastavenı´ regula´ toru˚. K tabulka´m si dovolı´me uve´st neˇkolik pozna´mek:
Maxima´lnı´ prˇekmit ani pocˇet maxim/minim nenı´ uveden, nebot’regulovana´ velicˇina meˇla monoto´nnı´ pru˚beˇh bez prˇekmitu˚. CFR regula´tor dosahuje ve vsˇech kriteriı´ch lepsˇ´ıch vy´sledku˚ nezˇ Mamdaniho regula´tor se stejnou ba´zı´ pravidel.
V obra´zcı´ch 8, 9 mu˚zˇe cˇtena´ˇr nale´zt cˇasove´ pru˚beˇ hy jednotlivy´ch regulacˇnı´ch velicˇin pro meˇˇrenı´ z tabulky 2. Na obra´zcı´ch je velmi dobrˇe patrny´ rozdı´l mezi Mamdaniho a CFR regulacı´. Vy´stup CFR regula´toru le´pe odpovı´da´ aktua´lnı´mu stavu soustavy, docha´zı´ k pozvolne´mu zabrzdeˇnı´ kulicˇky (na rozdı´l od M. regula´toru). 9
velocity
position
0
0.25 0.2
−0.04
magnitude [m]
magnitude [m/s]
−0.02
−0.06 −0.08 −0.1
0.1 0.05
−0.12 −0.14
0.15
0
1
2 3 time [s]
4
0
5
0
angle
4
5
magnitude [m, m/s]
0.1
0
magnitude [−]
2 3 time [s]
position + velocity (detail)
0.05
−0.05
−0.1
−0.15
1
0
1
2 3 time [s]
4
0.05 0 −0.05 −0.1 −0.15 1.5
5
2
2.5 time [s]
3
3.5
Obra´zek 9: Chova´nı´ CFR regula´toru v cˇase, vyrovna´nı´ polohy. TOU T
Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
= 100 ms
Mam. regula´tor CFR regula´tor -0.0052 -0.0006 18.06 17.22 23.12 22.34
Tabulka 3: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ poloha kulicˇky +2.00 , de´lka simulace 20 s - do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ lepsˇ´ı regulace. TOU T = 100 ms
Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor -0.0081 -0.0021 3.01 2.89 9.2 9
Tabulka 4: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ poloha kulicˇky +1.00 , de´lka simulace 20 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 100 ms
10
Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor -0.006 -0.0013 77.58 73.27 26.51 24.84
Tabulka 5: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ poloha kulicˇky +3.00 , de´lka simulace 30 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 100 ms Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor 0.347 0.348 -0.005 0.003 1 1 12.25 4.9 0.48 0.202
Tabulka 6: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ rychlost 0,5ms 1 , de´lka simulace 15 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ lepsˇ´ı regulace. TOU T = 100 ms 4.4.2 Vyrovna´nı´ rychlosti, TOU T
= 100 ms
Sada experimentu˚ oznacˇena´ jako „vyrovna´nı´ rychlosti” je charakterizova´na teˇmito pocˇa´tecˇnı´mi podmı´nkami:
nulova´ pocˇa´tecˇnı´ poloha
nenulova´ pocˇa´tecˇnı´ rychlost
Vy´sledky tentokra´t ukazujı´ lepsˇ´ı chova´nı´ Mamdaniho regula´toru. CFR regula´tor kulicˇce udeˇlı´ vysˇsˇ´ı rychlost, nezˇ Mamdaniho a pak ji nenı´ schopen zastavit - vznikajı´ oscilace s amplitudou cca h0,003; 0,003i. Pru˚beˇhy regulacˇnı´ch velicˇin pro tento prˇ´ıpad lze nale´zt na obra´zcı´ch 11 a 10. Nameˇˇrene´ hodnoty lze nale´zt v tabulce 6. Hodnoty zmeˇˇrene´ pro CFR regula´tor neuda´va´me (vzhledem k jeho chova´nı´ to ani nemı´ smysl). Kvadraticka´ regulacˇnı´ plocha je pocˇ´ıta´na pouze do konce simulace. Pro popsane´ chova´nı´ CFR regula´toru jsme se pokousˇeli najı´t vysveˇtlenı´. Na prvnı´ pohled je patrne´, zˇe CFR regula´tor udeˇlı´ kulicˇce beˇhem na´vratu do rovnova´zˇne´ polohy vysˇsˇ´ı rychlost, nezˇ Mamdaniho regula´tor. To na´s navedlo na mysˇlenku zkra´tit simulovanou dobu odezvy regula´toru TOU T , v prvnı´m prˇiblı´zˇenı´ na TOU T = 50 ms. Prˇedpoklad takove´ reakcˇnı´ doby opeˇt nenı´ nerealisticky´, technicky jsou realizovatelne´ jisteˇ i kratsˇ´ı cˇasy vy´pocˇtu inference. 11
velocity
position
1.2
1.5
0.8
1
magnitude [m]
magnitude [m/s]
1
0.6 0.4 0.2
0.5
0
0 −0.2
0
20
40
−0.5
60
0
20
time [s]
40
60
time [s]
angle
position + velocity (detail)
0.15
0.2
magnitude [m, m/s]
magnitude [−]
0.1 0.05 0 −0.05 −0.1
0.1
0
−0.1
−0.15 −0.2
0
20
40
−0.2 44
60
45
46 time [s]
time [s]
47
48
Obra´zek 10: Chova´nı´ CFR regula´toru v cˇase - vyrovna´nı´ rychlosti. Pocˇa´tecˇnı´ rychlost 0,75 ms 1 ; TOU T = 100 ms. Vsˇimne ˇ te si pravidelny´ch oscilacı´ kolem rovnova´zˇne´ polohy.
velocity
position
1.2
1.5
magnitude [m]
magnitude [m/s]
1 0.8 0.6 0.4 0.2
1
0.5
0 −0.2
0
20
40
0
60
0
20
time [s] angle
magnitude [m, m/s]
0.1
0
magnitude [−]
60
position + velocity (detail)
0.05
−0.05
−0.1
−0.15
40 time [s]
0
20
40
60
time [s]
0.05
0
−0.05
−0.1 44
45
46 time [s]
47
48
Obra´zek 11: Chova´nı´ Mamdamiho regula´toru v cˇase, vyrovna´nı´ rychlosti. Pocˇa´tecˇnı´ rychlost 0,75 ms 1 ; TOU T = 100 ms
12
Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor 1.496 1.496 0.0077 -0.00038 1 2 (druhy´ extre´m = minimum -0.0143) 52.2 47 39.1 35.2
Tabulka 7: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ rychlost 0,75ms 1 , de´lka simulace 60 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ lepsˇ´ı regulace. TOU T = 50 ms Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor 0.35 0.35 -0.0032 -0.0041 1 1 13.49 11.39 0.523 0.474
Tabulka 8: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ rychlost 0,5ms 1 , de´lka simulace 15 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ lepsˇ´ı regulace. TOU T = 50 ms
4.4.3 Vyrovna´va´nı´ rychlosti, TOU T
= 50 ms; 5 ms
Experimenty ze sekce 4.4.2 jsme opakovali pro reakcˇnı´ cˇas regula´toru TOU T = 50 ms. Vy´sledky prezentujeme ve formeˇ tabulek 7, 8, 9 (pro TOU T = 5 ms). Ve veˇtsˇineˇ prˇ´ıpadu˚ je patrne´, zˇe CFR regula´tor da´va´ lepsˇ´ı vy´sledky ( s vy´jimkou asymptoticke´ hodnoty v experimentu z tabulky 8 ). Zajı´mave´ je, zˇe po zkra´cenı´ reakcˇnı´ doby na 5 ms je CFR regula´tor opeˇt lepsˇ´ı, nezˇ Mamdaniho.
Na´zev kriteria Maxima´lnı´ prˇekmit [m] Asymptoticka´ hodnota [m] y1 pocˇet maxim/minim [-] cˇas do usta´lenı´ [s] kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor 0.346 0.346 0.0051 0.0034 1 1 14.8 11.1 0.583 0.441
Tabulka 9: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, pocˇa´tecˇnı´ rychlost 0,5ms 1 , de´lka simulace 15 s - azˇ do u´plne´ho usta´lenı´. Mensˇ´ı hodnoty kriteriı´ lepsˇ´ı regulace. TOU T = 5 ms 13
Na´zev kriteria minima´lnı´ vy´chylka [m] ymin maxima´lnı´ vy´chylka [m] ymax strˇednı´ vy´chylka [m] y smeˇrodatna´ odchylka [m] y kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor -0.01 -0.0456 0.01 0.0454 -2.15e-3 3.08e-4 0.004 0.015 6.7e-4 3.08e-4
Tabulka 10: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, udrzˇenı´ dynamicke´ rovnova´hy, de´lka simulace 30 s. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 50 ms, pocˇa´tecˇnı´ podmı´nka genera´toru na´hodny´ch cˇ´ısel 10000 4.4.4 Udrzˇenı´ dynamicke´ rovnova´hy, TOU T
= 50 ms; 5 ms
Testovali jsme schopnost regula´toru udrzˇet dynamickou rovnova´hu. Sˇum v syste´mu byl simulova´n genera´torem rovnomeˇrneˇ rozdeˇlene´ho sˇumu z intervalu h 0,3; 0,3i prˇicˇtene´ho ke zrychlenı´ kulicˇky. Pocˇa´tecˇnı´ poloha i rychlost = 0, regula´tor vyrovna´va´ pouze zmeˇny polohy vyvolane´ sˇumem ve zrychlenı´. Du˚vod volby tohoto zpu˚sobu byl spı´sˇe ve snazˇsˇ´ı implementaci v Simulinku a rychlejsˇ´ı simulaci, nezˇ z fyzika´lnı´ch du˚vodu˚. V simulacı´ch jsme hodnotili podle malicˇko odlisˇny´ch kriteriı´. Zajı´maly na´s na´sledujı´cı´ parametry:
maxima´lnı´ a minima´lnı´ hodnota vy´chylky ymin ; ymax : v idea´lnı´m prˇ´ıpadeˇ by vy´chylka meˇla zu˚stat nulova´, proto minima´lnı´ a maxima´lnı´ hodnota jako kriterium strˇednı´ hodnota a smeˇrodatna´ odchylka vy´chylky y; y kvadraticka´ regulacˇnı´ plocha
U vsˇech experimentu˚ uva´dı´me nastavenı´ pocˇa´tecˇnı´ podmı´nky genera´toru na´hodny´ch cˇ´ısel kvu˚li opakovatelnosti meˇˇrenı´. Zpocˇa´tku jsme nastavili TOU T = 50 ms, vy´sledky experimentu˚ lze najı´t v tabulce 10 a 11. CFR regula´tor zde vykazoval horsˇ´ı vlastnosti nezˇ Mamdaniho. Po zkusˇenostech z prˇedchozı´ch experimentu˚ jsme zkra´tili zpozˇdeˇnı´ regula´toru na TOU T = 5 ms. Vy´sledky mu˚zˇe cˇtena´ˇr najı´t v tabulce 12 a 13. Pak uzˇ CFR regula´tor dosahuje srovnatelny´ch s Mamdaniho regula´torem. 4.4.5 Za´veˇr Vy´sledky experimentu˚ ukazujı´, zˇe CFR regulace je citliveˇjsˇ´ı nezˇ Mamdaniho. Projevuje se to i v za´vislosti kvality regulace na zpozˇdeˇnı´ regula´toru. CFR regula´tor musı´ zrˇejmeˇ by´t alesponˇ o ˇra´d rychlejsˇ´ı nezˇ regulovana´ soustava. Za te´to podmı´nky poskytuje lepsˇ´ı vy´sledky nezˇ Mamdaniho regula´tor.
14
Na´zev kriteria minima´lnı´ vy´chylka [m] ymin maxima´lnı´ vy´chylka [m] ymax strˇednı´ vy´chylka [m] y smeˇrodatna´ odchylka [m] y kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor -0.01 -0.044 0.0076 0.39 -1.62e-3 8.6e-4 0.0036 0.0118 0.0046 0.0041
Tabulka 11: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, udrzˇenı´ dynamicke´ rovnova´hy, de´lka simulace 30 s. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 50 ms, pocˇa´tecˇnı´ podmı´nka genera´toru na´hodny´ch cˇ´ısel 100
Na´zev kriteria minima´lnı´ vy´chylka [m] ymin maxima´lnı´ vy´chylka [m] ymax strˇednı´ vy´chylka [m] y smeˇrodatna´ odchylka [m] y kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor -0.01 -0.0092 0.0098 0.0086 -2.15e-3 3.15e-4 0.0041 0.0036 0.000638 0.00042
Tabulka 12: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, udrzˇenı´ dynamicke´ rovnova´hy, de´lka simulace 30 s. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 5 ms, pocˇa´tecˇnı´ podmı´nka genera´toru na´hodny´ch cˇ´ısel 10000
Na´zev kriteria minima´lnı´ vy´chylka [m] ymin maxima´lnı´ vy´chylka [m] ymax strˇednı´ vy´chylka [m] y smeˇrodatna´ odchylka [m] y kvadraticka´ regulacˇnı´ plocha [ms]
Mam. regula´tor CFR regula´tor -0.0098 -0.0085 0.0078 0.0087 -2.42e-4 -1.22e-3 0.0037 0.0038 0.00042 0.00046
Tabulka 13: Vy´sledky srovna´nı´ Mamdaniho a CFR regula´toru: u´loha Houpacˇka s kulicˇkou, udrzˇenı´ dynamicke´ rovnova´hy, de´lka simulace 30 s. Mensˇ´ı hodnoty kriteriı´ - lepsˇ´ı regulace. TOU T = 5 ms, pocˇa´tecˇnı´ podmı´nka genera´toru na´hodny´ch cˇ´ısel 100
15
Reference [SAR] John, J.: Syste´my a ˇr´ızenı´. Skriptum FEL CˇVUT, Praha, 1996. [FCFR] Moser, B., Navara, M.: Fuzzy controllers with conditionally firing rules. Submitted.
5 Dodatek - zdrojove´ ko´dy skriptu˚ 5.1 cfrcall.m vstupnı´ bod regula´toru. Je vola´n Simulinkem beˇhem simulace soustavy. function y = cfrcall (din) vel = din(1); %vezmi rychlost posi = din(2); %vezmi pozici kulicky infuzzy; %definice vst. mnozin outfuzzy; %definice vyst. mnozin relfuzzy; %definice base znaslosti %volani regulatoru y=cfr(dim_in1,dim_in2,input_typ,input_par, ... output_typ,output_par,vel,posi,0.6,pair_mx);
5.2 cfr.m Realizace CFR regula´toru pro dva vstupy a jeden vy´stup. function y = cfr(dim1,dim2,input_typ,input_par, ... output_typ,output_par,vel,posi,const,pair_mx) %function y = cfr(dim1,dim2,input_typ,input_par, %output_typ,output_par,vel,posi,const,pair_mx) %dim 1 - pocet mnozin pro prvni vstup %dim 2 - pocet mnozin pro druhy vstup %input_typ - typy vstupnich mnozin (lichob., trojuh....) %input_par - prislusne parametry nozin %output_typ,output_par -totez pro vystup %vel - 1. parametr(rychlost kulicky) %posi - 2. parametr(posizce kulicky) %const - konstanta zobrazeni sigma %pair_mx - matice prirazeni vst/vyst %vypocet vstupnich prislusnosti - fuzzyfikace
input_membership_v = rho(evalmmf(vel,input_par(1:dim1,:),... input_typ(1:dim1,:))); input_membership_p = rho(evalmmf(posi,input_par((dim1+1):(dim1+dim2),:),... input_typ((dim1+1):(dim1+dim2),:))); %vypocet prislusnosti do kazde dvojice vst. mnozin %rychlost/pozice n = 1; for fi_i = 1:dim1 for fi_j = 1:dim2
16
vp(n) = min(input_membership_v(fi_i),input_membership_p(fi_j)); n = n + 1; end end %degree of cond. firing Dt = vp; Ct = Dt ./ max(Dt); %navzorkovani vystupu left_y = -1; right_y = 1; step_y = 500; step_ay = ((right_y-left_y)/(step_y-1)); out_vals = left_y:step_ay:right_y; out_memberships = evalmmf (out_vals,output_par,output_typ); %transformace sigma out_memberships = const + out_memberships.*(1-const); %vypocet min (Cti(X),sigma(Yi(y))) for fi_i=1:dim1*dim2 z(fi_i,:) = min(Ct(fi_i)*ones(1,step_y),... out_memberships(pair_mx(fi_i),:)); end %max pres sloupce - konv. obal z_max = max(z); %zpetna transformace (sigma inv) y_value = (z_max - const) ./ (1 -const); %nalezeni teziste %pouziva se lichobeznikove pravidlo. %zcela zamerne; utvary jsou slozene z usecek %(kompozice lichobezniku), ostre uhly %1. integral z y_value - hmotnost m = 0; for idx=1:(length(out_vals)-1) m = m + step_ay * 0.5*(y_value(idx)+y_value(idx+1)); end; %integral 1. momentu m1 = out_vals .* y_value; im = 0; for idx=1:(length(out_vals)-1) im = im + step_ay * 0.5*(m1(idx)+m1(idx+1)); end; %vypocet teziste gravity_center = im / m; %vystupni hodnota y = gravity_center;
5.3 infuzzy.m Definice vstupnı´ch mnozˇin. dim_in1 = 5; %dimenze - pocet mnozin rychlosti (1. vst)
17
dim_in2 = 5;
%dimenze - dtto pro 2. vst
%parametry rychlosti v_n_par = [-1001 -1000 -0.5 -0.25]; v_n_typ = ’trapmf’; v_nm_par = [-0.5 -0.25 0 0]; v_nm_typ = ’trimf’; v_0_par = [-0.05 0 0.05 0]; v_0_typ = ’trimf ’; v_pm_par = [0 0.25 0.5 0]; v_pm_typ = ’trimf’; v_p_par = [0.25 0.5 1000 1001]; v_p_typ = ’trapmf’; %parametry pozice p_n_par = [-1001 -1000 -0.1 0.0]; p_n_typ = ’trapmf’; p_rl_par = [-0.05 -0.05 -0.01 -0.005]; p_rl_typ = ’trapmf’; p_0_par = [-0.01 0 0.01 0]; p_0_typ = ’trimf ’; p_rp_par = [0.005 0.01 0.05 0.05]; p_rp_typ = ’trapmf’; p_p_par = [0.0 0.1 1000 1001]; p_p_typ = ’trapmf’; %definice vstupnich mnozin pro obe vst .prom. input_typ = str2mat(v_n_typ,v_nm_typ,v_0_typ, ... v_pm_typ,v_p_typ,p_n_typ,p_rl_typ,p_0_typ,p_rp_typ,p_p_typ); input_par = [v_n_par ;v_nm_par ; v_0_par;v_pm_par ;... v_p_par; p_n_par ;p_rl_par ;p_0_par; p_rp_par; p_p_par];
5.4 outfuzzy.m Definice vy´stupnı´ch mnozˇin. %parametry vychylky a_n_par = [-0.15 -0.1 -0.05 0]; a_n_typ = ’trimf’; a_nm_par = [-0.1 -0.05 0.00 0]; a_nm_typ = ’trimf’; a_0_par = [-0.05 0 0.05 0]; a_0_typ = ’trimf’; a_pm_par = [-0.00 0.05 0.1 0]; a_pm_typ = ’trimf’; a_p_par = [0.05 0.1 0.15 0]; a_p_typ = ’trimf’; %definice mnozin output_typ = str2mat(a_n_typ,a_nm_typ, ... a_0_typ,a_pm_typ,a_p_typ); output_par = [a_n_par;a_nm_par; a_0_par; ... a_pm_par; a_p_par];
5.5 relfuzzy.m Definice ba´ze znalostı´.
18
pair_mx=zeros(dim_in1*dim_in2,1); %pomocne konstanty - ctivejsi kod: vneg mneg rov mpos vpos
= = = = =
1; 2; 3; 4; 5;
%prirazeni dvojic X a Y k sobe pair_mx= [vpos vpos vpos vpos mpos vpos mpos mpos mpos rov ... vpos vpos rov vneg vneg ... rov mneg mneg mneg vneg ... mneg vneg vneg vneg vneg]; %negativni rychlost:neg/ %mala neg. rychlost:neg/ %nulova rychlost :neg/ %mala pos. rychlost:neg/ %positivni rychlost:neg/
leva leva leva leva leva
...
0/0/prava 0/0/prava 0/0/prava 0/0/prava 0/0/prava
nula/pos nula/pos nula/pos nula/pos nula/pos
pozice pozice pozice pozice pozice
5.6 rho.m Zobrazenı´ . function out = rho(in) %zobrazeni rho %for i=1:length(in) % if (in(i)>0.5) % out(i) = 0.9*(in(i)-0.5)/0.5 + 0.1; % else % out(i) = in(i) * 0.2; % end; %end; out=in; %identita
19