Professional Documents
Culture Documents
Kovačić, Z. (2003) - Inteligentno Upravljanje Sustavima Neizraziti Sustavi Upravljanja (Upute Za LV) .
Kovačić, Z. (2003) - Inteligentno Upravljanje Sustavima Neizraziti Sustavi Upravljanja (Upute Za LV) .
INTELIGENTNO UPRAVLJANJE
SUSTAVIMA
Tema I: NEIZRAZITI SUSTAVI UPRAVLJANJA
ZAGREB, 2002/2003.
Predgovor
Metode neizrazitog upravljanja predstavljaju novi pristup problemima upravljanja
složenim nelinearnim sustavima, sustavima čiji matematički model je vrlo teško ili nemoguće
opisati te sustavima s većim brojem ulaza i izlaza kod kojih dolazi do nejasno definiranih
međudjelovanja. Treba napomenuti da se tehnika neizrazitog upravljanja afirmirala u brojnim
primjenama na tehničke i netehničke sustave (industrija, ekonomija, medicina).
Ove laboratorijske vježbe sastavni su dio gradiva izbornog predmeta “Inteligentno
upravljanje sustavima”, koji se predaje na smjeru Automatika i Industrijska elektronika u
devetom semestru studija na Fakultetu elektrotehnike i računarstva u Zagrebu. Vježbe su po
svom sadržaju i redoslijedu izvođenja usklađene sa sadržajem i redoslijedom izvođenja teoretske
nastave obuhvaćene u sadržaju skripte Z. Kovačića i S. Bogdana: “Inteligentno upravljanje
sustavima - Tema I: NeizrazitI sustavi upravljanja” Zavoda za automatiku i procesno računarstvo.
Cilj laboratorijskih vježbi je omogućiti studentima da ovladaju osnovnim znanjima iz
područja neizrazitih sustava upravljanja te u tom smislu predstavljaju podlogu za uspješno
svladavanje vještina iskustvenog i automatiziranog projektiranja neizrazitih regulatora. Vježbe
također imaju za cilj razviti kod studenata kritički odnos prema tehnici neizrazitog upravljanja,
kako bi ju što uspješnije mogli koristiti za rješavanje praktičnih problema.
Vježbe koje slijede nastale su kao plod dugogodišnjih istraživanja na području
inteligentnih sustava upravljanja, a tomu su doprinjeli i brojni konstrukcijski i diplomski radovi
studenata FER-a smjera Automatika. Tako se zadaci postavljeni pred studenta u vježbi 1. mogu
povezati s diplomskim radovima [1, 2, 3, 4, 6, 7, 9], a zadaci u vježbi 2. s diplomskim radovima
[5, 8, 10].
[1] Markić M., "Mikroprocesorski neizraziti regulator brzine vrtnje", Dipl. rad , 1994.
[2] Vikalo H., "Adaptivno i robusno neizrazito upravljanje s vremenski optimalnim
podešavanjem koeficijenta pojačanja", Dipl. rad br. 901, 1994.
[3] Štajdohar M., "Realizacija neizrazitog regulatora uz korištenje VME 68030", Dipl. rad br.
913, 1994.
[4] Kovačević N., "Realizacija neizrazitog adaptivnog regulatora s referentnim modelom i
neizrazitim adaptacijskim mehanizmom uz korištenje mikroračunala µSON-85", Dipl. rad
br. 915, 1995.
[5] Cupec R., "Samoučeći neizraziti regulator s referentnim modelom", Dipl. rad br. 916, 1995.
[6] Prpić E., "Realizacija adaptivnog upravljanja s referentnim modelom i neizrazitim
adaptacijskim mehanizmom ", ", Dipl. rad br. 923, 1995.
[7] Vezmarović B., "Realizacija neizrazitog adaptivnog regulatora s µC 8097", Dipl. rad br.
938, 1995.
[8] Balenović M., "Primjena referentnog modela i modela osjetljivosti za učenje (podešavanje)
parametara neizrazitog regulatora", Dipl. rad br. 999, 1997.
[9] Kelebuh T., "Simulacijski modeli neizrazitih algoritama za programski paket Matlab", Dipl.
rad br. 1066, 1998.
[10] Reichenbach T., "Poboljšanje samoučećeg neizrazitog regulatora", Dipl. rad br. 1095, 1999.
[11] Kožnjak K., "Projektiranje neizrazitog regulatora temperature primjenom laboratorijskog
modula fuzzyLAB", Konstr. rad br. 1701, 1998.
Uvod- Kako koristiti Matlab Fuzzy Logic Toolbox 1
FLT se sastoji od četiri glavna prozora: FIS editora (Sl 1.1), editora funkcija pripadnosti za
ulaze i izlaze (Sl 1.2), editora neizrazitih pravila (Sl 1.3), preglednika pravila (Sl 1.4).
Središnji dio FLT-a je FIS Editor (Sl. 1.1.) u kojem se određuje broj ulaza, imena ulaznih
i izlaznih varijabli te tip regulatora ( mamdani ili sugeno). U FIS editoru biraju se metode
odlučivanja i po potrebi otvaraju drugi prozori FLT-a pomoću izbornika View. Izbor neizrazitog
regulatora tipa Mamdani podrazumijeva da su jezične vrijednosti izlazne varijable regularni
neizraziti skupovi. Izbor neizrazitog regulatora tipa Sugeno podrazumijeva da su jezične
vrijednosti izlazne varijable neizraziti skupovi tipa singleton. FIS editor također omogućava izbor
izračunavanja ukupnog skupa izlazne varijable (agregacije). Tako npr. agregacija tipa max vodi
na izračunavanje izlaza preko centra površine, dok sum vodi prema proračunu centra težišta.
> w=readfis(‘ime_dat.fis’),
Editor prikazan na slici 1.2. omogućava definiciju oblika funkcija pripadnosti (naredba
Type) za ulaze i izlaz te zadavanje graničnih parametara svake pojedine funkcije (naredba
Params). Na raspolaganju je 11 standardnih funkcija (trokut, trapez, zvono, Z-oblik, Pi-oblik, S-
oblik, Gauss i dr. - vidi sliku 1.3.). Moguće je odrediti raspon funkcija (naredba Range),
imenovati funkcije (naredba Name) te mijenjati raspon prikaza (naredba Display Range). U
izborniku Help dan je detaljan prikaz i objašnjenje svih operacija.
U izborniku Edit naredbom Add MFs unose se nove funkcije pripadnosti, čiji nazivi i
oblici su dani na slici 1.3.
U editoru pravila prikazanom na slici 1.4. upisuju se pravila na način da se iza svakog
pravila pritisne CTRL-ENTER. Npr: if e is vne and de is vnde then y is a1. Nakon CTRL-
ENTER dobije se:
Pravila se mogu unosti u obliku teksta, simbola ili indeksa. Ukoliko se pojavi pogreška u
pravilima ili ako nije definirana neka funkcija pripadnosti na početku reda, pojavit će se oznaka
#. Uvijek treba prvo unijeti funkcije pripadnosti, pa tek onda unositi pravila odlučivanja.
Preglednik pravila prikazan na slici 1.5. daje potpuniji prikaz neizrazitog odlučivanja.
Svako pravilo predstavljeno je s jednim retkom i tri stupca. Prvi stupac odnosi se na prvi ulaz, a
drugi na drugi ulaz (polazni dio pravila), dok se treći stupac odnosi na izlaz (posljedični dio
pravila). Svaki stupac ima svoju kontrolnu liniju, koja se proteže od vrha do dna preglednika i
koja pokazuje aktivna pravila. U pregledniku pravila može se promatrati kako oblik pojedine
funkcije pripadnosti utječe na rezultat odlučivanja. Pomoću miša (pomicanjem kontrolne linije)
ili tastature (unošenjem brojčanih vrijednosti) zadaju se ulazne vrijednosti, a preglednik pravila
nam daje rezultat odlučivanja.
Uvod- Kako koristiti Matlab Fuzzy Logic Toolbox 4
U FLT-u se može izabrati jedna od 5 metoda N/B pretvorbe (Sl.1.6), a postoji i opcija
Customize u okviru koje se može definirati vlastita metoda pretvorbe.
1.CENTROID
total_area = sum(mf);
out = sum(mf.*x)/total_area;
Napomena: ovisno o tome da li je izabrana agregacija tipa max ili sum, rezultat je središte
površine (COA) ili središte težišta (COG).
2. BISECTOR
tmp = 0;
for k=1:data_n,
tmp = tmp + mf(k);
if tmp >= total_area/2,
break;
end
end
out = x(k);
3. MOM
out = mean(x(find(mf==max(mf))));
4. SOM
tmp = x(find(mf == max(mf)));
[junk, which] = min(abs(tmp));
out = tmp(which);
5. LOM
tmp = x(find(mf == max(mf)));
[junk, which] = max(abs(tmp));
out = tmp(which);
Uvod- Kako koristiti Matlab Fuzzy Logic Toolbox 6
FLT sprema podatke o regulatoru u *.fis datoteku. Svi parametri regulatora mogu se
jednostavno promijeniti editiranjem *.fis datoteke (npr. u NOTEPAD-u), u kojoj se nalazi
jednostavan tekstualni prikaz svih pravila, funkcija pripadnosti, metoda odlučivanja i dr. U
tablici 1.1. dane su neke naredbe Fuzzy Logic Toolbox-a.
y, v c
P1 P2
M0 M
V1 ,S0 S0 , V2
b
Cilindar Radni
mehanizam
Q1 Q2
Servoventil
Pa Pi
gdje je P1 tlak u lijevoj, a P2 tlak u desnoj komori cilindra. Koeficijent pojačanja servoventila k
obuhvaća i proporcionalno pojačanje vezano uz protok te je stoga izostavljeno u jednadžbama (2-
2) i (2-3). Pi je tlak izvora, a Pa tlak rezervoara. Pretpostavlja se da su tlakovi izvora i rezervoara
konstantne veličine. Protoci Q1 i Q2 jednakog su iznosa:
Q1 ( y u , P1 ) = −Q 2 ( y u , P2 ) . (2-4)
Za cilindar vrijedi sljedeća hidrodinamička jednadžba:
V dP dV
⋅ + =Q. (2-5)
B dt dt
Parametar B je modul stlačivosti tekućina (u ovom slučaju ulja), V, P i Q su volumen, tlak
i protok cilindra. Volumeni dviju komora cilindra mijenjaju se s pomakom klipa y na način da je:
V1 = V0 + S 0 y
, (2-6)
V2 = V0 − S 0 y
gdje je S0 površina poprečnog presjeka cilindra, a V0 je poluvolumen cilindra.
Uvrštenjem jednadžbi (2-6) u jednadžbu (2-5) dobiva se ponašanje tlaka unutar dviju
komora cilindra:
dP1 B
= (Q1 − S 0 v ) , (2-7)
dt V0 + S 0 y
dP2 B
= (Q2 + S 0 v ) , (2-8)
dt V0 − S 0 y
Q1
u
Q2
280e5
Pi P1
Pi
Q1 Q1 P1 P1
1 u
y 1000 1
Pa
P2 P2
u Q2 Q2 y
P2
F F m2mm
1e5 Elektrohidraulicki
servoventil y
Pa V1 V1
v
dy V2 V2
Radni
Cilindar
mehanizam
f(u)
1
1 Fcn Q1
Switch
P1
f(u)
2
Pi Fcn1
-k*wn^2
3
u s2 +2*zn*wns+wn^2
+/-20mA
4
f(u)
Pa
Fcn2
5
P2 2
f(u)
Q2
Switch1
Fcn3
1 B 1
1
Q1 s
P1
4 S0
V1
4 S0 3
dy y
3
V0 S0
F
5
S0
V2
1
2 B 2
s
P2
Q2
1 1
1 1/(M0+M) 1
s s
F y
2
v
3
a
c
Cilj vježbe:
Iskustvenim postupkom isprojektirati neizraziti regulator koji upravlja zadanim nelinearnim procesom.
Prije samog projektiranja dobro se upoznati s matematičkim modelom procesa kao i simulacijskim
modelom za Matlab+Simulink radi kreiranja kvalitetne baze znanja o upravljanju zadanim procesom.
Potrebna simulacijska ispitivanja obaviti za zadane parametre nelinearnog procesa. Prilikom projektiranja
regulatora koristiti Fuzzy Logic Toolbox za Matlab. Razraditi vlastiti plan simulacijskih eksperimenata i
rezultate eksperimenata potom detaljno analizirati i komentirati. Pismeni izvještaj o radu i postignutim
rezultatima na laboratorijskoj vježbi pisan u Wordu predati do naznačenog roka. Originalnost i kvaliteta
izvještaja će se bodovati za ukupnu ocjenu iz kolegija.
Priprema za vježbu:
Ad a): Neizraziti regulator treba imati dva ulaza i jedan izlaz. Ulazne varijable u
neizraziti regulator su signal razlike e(k) i promjena signala razlike de(k), de(k)=e(k)-e(k-1), a
izlaz neka je označen s u(k). Povedite računa da se u simulacijskom modelu signali reference i
povratne veze dovedu na ulaze A/D pretvornika te se preko multipleksera u neizraziti regulator
dovode kao normirani ulazi (vidi sliku V1.1.).
1
-
z +
,,.
Sample
time
0.001
+
- Mux K1 K2
Ref. 8 bit A/D ...
vrijednost (0 , +10) Mux1 .. 8 bit D/A Ograničenje
. Fuzzy KONTINUIRANI
(-10 , +10)
Logic DIO1
Controller
Kpv
Tpvs+1
8 bit A/D Ograničenje
(-10 , 0) Povratna veza
Jezične vrijednosti de e
VELIKI NEGATIVAN VNDE VNE
MALI NEGATIVAN MNDE MNE
OKO NIŠTICE ZDE ZE
MALI POZITIVAN MPDE MPE
VELIKI POZITIVAN VPDE VPE
Jezične vrijednosti u
VELIKO NEGATIVNO VNU
SREDNJE NEGATIVNO SNU
MALO NEGATIVNO MNU
OKO NIŠTICE ZU
MALO POZITIVNO MPU
SREDNJE POZITIVNO SPU
VELIKO POZITIVNO VPU
Ad c): Pri izboru oblika funkcija pripadnosti treba voditi računa da su područja
razmatranja vrijednosti ulaznih varijabli neizrazitog regulatora normirana na interval [-1,1]. Izbor
oblika funkcija pripadnosti ovisit će o širini baze znanja o upravljanju procesom te o zadanoj
kvaliteti upravljanja (što je uvijek glavni cilj). Svrsishodno je krenuti s najčešće korištenim
oblicima (trokut, trapez ili gauss). Pri korištenju grafičkog editora funkcija pripadnosti, moguće
je definirane funkcije spremiti u datoteku ime_dat.fis, čije ime se automatski pojavljuje u
zaglavlju prozora editora. Treba još jednom napomenuti (vidi Uvod - Kako koristiti Matlab FLT)
da su konkretne vrijednosti za svaki pojedini neizraziti skup pohranjene u datoteci ime_dat.fis i
da se mogu izravno editirati kao običan tekst.
Ad d): Polazni oblik tablice neizrazitih upravljačkih pravila neka uvijek ima grubu ali
logičnu strukturu (npr. za VPE i VPDE Æ VPU).
Vrijednosti parametara neizrazitih skupova izlaza iz neizrazitog regulatora su slijedeće:
Vježba 1. Projektiranje sustava neizrazite regulacije 9
[Output1]
Name='u'
Range=[-128 128] ; 8-bitni D/A pretvornik
NumMFs=7
MF1='vnu':'trapmf',[ _ _ _ ] ; Napomena: centroidi se u Matlabu definiraju
MF2='snu':'trapmf',[ _ _ _ ] ; kao vrlo uski trapezi
MF3='mnu':'trapmf',[ _ _ _ ]
MF4='zu':'trapmf',[ _ _ _ ]
MF5='mpu':'trapmf',[ _ _ _ ]
MF6='spu':'trapmf',[ _ _ _ ]
MF7='vpu':'trapmf',[ _ _ _ ]
[System]
Name='ime_dat'
Type='mamdani'
NumInputs=2
NumOutputs=1
NumRules=25
AndMethod='min'
OrMethod='max'
ImpMethod='prod' ; može i ‘min’
AggMethod='sum'
DefuzzMethod='centroid'
Zadati željeno dinamičko ponašanje neizrazitog sustava upravljanja (σm, tm) pomoću
referentnog modela drugog reda i snimiti e-de trajektoriju referentnog modela radi
procjene granica područja razmatranja e(k) i de(k). U tu svrhu može se koristiti blok
referentnog modela drugog reda iz vježbe V2. Odziv referentnog modela također
iskoristiti za određivanje najpovoljnijeg iznosa intervala uzorkovanja (tm/20 < td < tm/10).
R1.4. Ocijeniti u svom izvještaju u kojoj mjeri bi stečeno iskustvo iz rada na laboratorijskoj
vježbi koristilo pri projektiranju nekog novog neizrazitog regulatora. Ako postoji
pobuđeno zanimanje i znatiželja, može se pokušati s nekim drugim procesom (npr.
primjeri procesa s predavanja).
R1.5. Neki od simulacijskih eksperimenata mogu se ponoviti uz uporabu 8-bitnih ili 10-bitnih
A/D i D/A pretvornika. Mogu se uočiti i komentirati razlike koje se javljaju u odnosu na
odzive dobivene s 12-bitnim pretvornicima.
Vježba 2. Sustavi upravljani samoučećim neizrazitim regulatorom 11
Cilj vježbe:
Iskustveni postupak projektiranja neizrazitog regulatora primijenjen u Vježbi 1., zamijeniti postupkom
samoorganiziranja, tj. samoučenja na osnovi primjene referentnog modela drugog reda i modela
osjetljivosti. U tu svrhu potrebno je koristiti funkcijski blok samoučećeg neizrazitog regulatora koji je
napravljen za Matlab v. 5.3, a koji je u potpunosti kompatibilan sa standardnim neizrazitim regulatorom iz
Fuzzy Logic Toolbox-a. Razraditi vlastiti plan simulacijskih eksperimenata te rezultate eksperimenata
potom analizirati i stručno komentirati. Pismeni izvještaj o radu i postignutim rezultatima na
laboratorijskoj vježbi pisan u Wordu predati do naznačenog roka. Originalnost i kvaliteta izvještaja će
se bodovati za ukupnu ocjenu iz kolegija.
Priprema za vježbu:
( x − cke ) 2
−
µ e k = e 2 (w )
e 2
k
, k=1,2,3,4,5 (V2-1a)
( x − ckdy ) 2
−
µ dy k = e 2 (w )
dy 2
k
, k=1,2,3,4,5 (V2-1b)
Napomena: U bilješkama za predavanja [1] Gaussove funkcije pripadnosti bile su nešto drugačije definirane:
( x −c )2
−
G ( x, w, c ) = e w
(V2-2)
Ovako definirane funkcije pripadnosti imaju vrijednost različitu od nule u čitavom području razmatranja
ulaznih varijabli. Da bi se izbjeglo nepotrebno aktiviranje onih funkcija pripadnosti koje bi imale vrlo mali utjecaj na
izlaz regulatora, uveden je tzv. α-rez. tj. Gaussove funkcije pripadnosti se prekidaju na mjestima gdje bi poprimile
Vježba 2. Sustavi upravljani samoučećim neizrazitim regulatorom 12
vrijednost manju od minimalne vrijednost funkcija pripadnosti α (sve vrijednosti funkcija pripadnosti manje od α
postavljene su na nulu - vidi bilješke za predavanja).
Vrijednost koeficijenta α u samoučećem neizrazitom regulatoru postavljena je na α=0.05, pa se stoga
vrijednosti funkcija pripadnosti µ ke (x ) i µ kdy (x ) nalaze u intervalu [α,1].
Budući da su izlazni neizraziti skupovi tipa singleton, algoritam za neizrazito-binarnu pretvorbu u
slučaju proračuna izlaza računanjem centra težišta, glasi:
5 5
u FC (k ) = 5 5
(V2-3)
∑∑ µ [e(k )]⋅ µ [dy(k )]
e dy
i j
i =1 j =1
gdje je: Aij - centroid izlaznog neizrazitog skupa (singleton), koji je aktiviran (i,j)-tim neizrazitim pravilom,
k - korak diskretizacije.
Prema izrazu (2-3) vidljivo je da je odabrana neizrazita implikacija tipa produkt, a neizrazita agregacija
tipa suma (koja vodi na metodu centra težišta - vidi Uvod).
Odabrano je pet ulaznih neizrazitih podskupova za ulazne varijable e i dy (Sl.V2.1.). Njihove jezične
vrijednosti su: veliko negativno (VNE, VNDY), malo negativno (MNE, MNDY), oko nule (ZE, ZDY), malo
pozitivno (MPE, MPDY) i veliko pozitivno (VPE, VPDY).
0.8
stupanj pripadnosti
0.6
0.4
0.2
-1 -0.5 0 0.5 1
e
Upravljačka pravila se najjednostavnije mogu prikazati tablicom. Tipično upravljačko neizrazito pravilo
u neizrazitom regulatoru Sugeno tipa nultog reda ima oblik:
Parametri ωn i ξ mogu se proračunati iz zadanih pokazatelja kvalitete prijelaznog procesa, vremena prvog
maksimuma (tm) i nadvišenja (σm):
σ [%]
ln 2 m
100 π
ξ= , ωn = . (V2-5)
2 σ m [% ] − ξ 2
π + ln
2
t m 1
100
y M ( k ) = a M 1 ⋅ y M ( k − 1) + a M 2 ⋅ y M ( k − 2) + bM 1 ⋅ u r ( k − 1) + bM 2 ⋅ u r ( k − 2) (V2-6)
Pogreška slijeđenja referentnog modela služi kao pokazatelj koliko se dinamičko vladanje reguliranog
sustava približilo vladanju referentnog modela, a može poslužiti i kao osnova za procjenu u kolikoj mjeri treba
promijeniti parametre regulatora. Pogreška slijeđenja referentnog modela eM dana je izrazom:
e M (k ) = y M (k ) − y (k ) (V2-7)
Izlazni signal
ulazni signal
reference
referentni
model
Parametri
referentnog modela
Na slici V2.3. prikazano je korisničko sučelje bloka referentnog modela. Parametri bloka su vrijeme prvog
maksimuma, postotno nadvišenje i vrijeme uzorkovanja. Da bi se zadao željeni referentni model, potrebno je u
dijalog okvir za unos upisati željeno vrijeme prvog maksimuma i nadvišenja te vrijeme uzorkovanja. Blok
referentnog modela koristi se u sklopu bloka samoučećeg neizrazitog regulatora.
Svaki nelinearni proces s jednim ulazom i jednim izlazom, može se opisati jednadžbom:
[ ]
y (t ) = f y (n ) (t ), y (n −1) (t ),..., y ' (t ), y , u (m ) (t ), u (m −1) (t ),..., u' (t ), u (t ), t + ξ (t ) (V2-8)
Ukoliko se s λ označe promjenjivi parametri samoučećeg neizrazitog regulatora, njegov izlaz u(k) može se
napisati u slijedećem obliku:
r
u (k ) = Γ(e, dy , λ ) = ∑ Ai ⋅ φ i [e(k ), dy (k )] (V2-9)
i =1
gdje su :
Ai - i-to neizrazito pravilo ,
r - broj neizrazitih pravila,
φi - temeljna neizrazita funkcija i-tog neizrazitog pravila.
Temeljna neizrazita funkcija (engl. fuzzy basis function) definirana je na slijedeći način:
gdje su :
j=1,2,…,r,
a=1,2,…,p,
b=1,2,…q,
p,q označavaju broj ulaznih neizrazitih skupova.
Vježba 2. Sustavi upravljani samoučećim neizrazitim regulatorom 15
Temeljna neizrazita funkcija pokazuje stupanj doprinosa pojedinog aktiviranog pravila pri proračunu izlaza
iz regulatora.
Iz jednadžbe (V2-10) vidi se da je korištena neizrazita implikacija tipa produkt, jer model osjetljivosti
zahtijeva analitičku i derivabilnu formu operatora implikacije.
Ukupni diferencijal izlaza iz sustava uz varijacije parametara je :
N
∂y (k )
dy (k ) = ∑ ⋅ dλ i (V2-11)
i =1 ∂λi
N
∂y (k ) N
∆y (k ) = ∑ ⋅ ∆λ = ∑η λi ⋅ ∆λi (V2-12)
i =1 ∂λi i =1
gdje je :
∂y (k ) ∂y (k ) ∂u (k )
η λ (k ) = = ⋅ (V2-13)
i
∂λi ∂u (k ) ∂λi
Funkcije osjetljivosti ovise o dinamičkom pojačanju procesa (∂y(k)/∂u(k)), a kako je proces nepoznat, treba
ga aproksimirati. Aproksimacija procesa ponaša se kao filter čije dinamičko pojačanje određuje dinamičko ponašanje
funkcija osjetljivosti, a sukladno tome i brzinu učenja. Koristeći različite aproksimacije procesa (filtre) dobijaju se
različite varijante neizrazitih regulatora. Ukoliko se kao aproksimacija procesa koristi Gsm, dobije se slijedeći oblik
funkcija osjetljivosti:
∂y (k ) ∂u (k )
η λ (k ) = ≈ G sm (V2-14)
i
∂λi ∂λi
∂u (k ) ∂
= {Γ[e(k ), dy (k ), λ ]} (V2-15)
∂λi ∂λi
N
∂
∆y (k ) ≈ ∑ G sm {Γ[e(k ), dy (k ), λ ]} ⋅ ∆λi (V2-16)
i =1 ∂λi
Iako λ može biti bilo koji parametar neizrazitog regulatora, u bloku samoučećeg neizrazitog regulatora
mijenjaju se samo težišta izlaznih neizrazitih podskupova, jer se pokazalo da je to dovoljno za kvalitetno upravljanje.
Osjetljivost izlaza iz regulatora na promjene centroida glasi :
∂u (k ) ∂u (k ) ∂
= = {Γ[e(k ), dy (k ), λ ]} = φ i [e(k ), dy (k )] (V2-17)
∂λi ∂Ai ∂Ai
N
∆y (k ) ≈ ∑ G sm {φ i [e(k ), dy (k )]}⋅ ∆Ai (V2-18)
i =1
η A (k ) = a M 1 ⋅ η A (k − 1) + a M 2 ⋅ η A (k − 2 ) + bM 1 ⋅ φ A (k − 1) + bM 1 ⋅ φ A (k − 2 )
i i i i i
(V2-19)
uz:
G sm (z ) ≈ K s G m (z ) (V2-20)
Uvodi se faktor sigurnosti Ks, koji osigurava dodatnu stabilnost učenja. Ukoliko učenje postane nestabilno
ili se želi usporiti učenje s ciljem drugačije izgradnje tablice upravljačkih pravila, tada se to može postići povećanjem
vrijednosti faktora sigurnosti Ks.
Pogreška slijeđenja modela definirana je izrazom (V2-7). Kako je odziv iz referentnog modela uvijek
jednako određen, željena promjena izlaza iz sustava se podudara upravo s pogreškom slijeđenja modela:
∆y (k ) = e M (k ) . (V2-21)
r
e Mκ (k ) − ∑η κ Ai ⋅ ∆Ai
∆A j (k ) =
κ i =1,i ≠ j
(V2-22)
η κA (k ) j
gdje je:
κ - trenutna iteracija učenja.
Budući da se promjena parametara obavlja samo jednom u jednoj iteraciji učenja, pogodno je
promjenu obaviti u trenutku kada je utjecaj tog parametra najveći, a to je trenutak kada pripadajuća funkcija
osjetljivosti poprima maksimalnu vrijednost. Iz izraza (V2-10) vidljivo je da je temeljna neizrazita funkcija i-tog
neizrazitog pravila φi konveksna eksponencijalna funkcija, jer predstavlja umnožak dvije također konveksne
eksponencijalne (Gaussove) funkcije µ ek ( x ) i µ dyk (x ) . Znači da postoji maksimum temeljne neizrazite funkcije,
koji sa stanovišta implementacije algoritma nije teško odrediti.
poprima oblik:
e κM (ν κj ) − ∑η κ (ν κ ) ⋅ ∆Aκ
r
Ai j ii
i =1,i ≠ j
∆Aκj =
η κA (ν κj )
(V2-23)
j
Na slici V2.4. prikazana je općenita struktura samoučećeg neizrazitog regulatora s funkcijama osjetljivosti.
Vježba 2. Sustavi upravljani samoučećim neizrazitim regulatorom 17
Referentni
model
Algoritam Kriterij
ucenja kvalitete
Uref Samouceci u y
neizraziti Proces
regulator
ref erenca
signal pogreš ke e
izlaz iz procesa
Samouč eć i
neizraziti regulator
Na slici V2.6. prikazana je unutarnja struktura bloka SNR-a, koja sadrži blok referentnog modela te
koeficijente skaliranja koef_e i koef_dy koji mijenjaju raspon ulaznih veličina e i dy. Koeficijente treba tako
podesiti da maksimalne ulazne veličine e i dy budu 1, a minimalne -1, kako bi regulator radio s cijelim opsegom
vrijednosti ulaznih veličina. Ako nije tako, (što načelno nije dobro), limiteri će opseg, ukoliko je to potrebno,
ograničiti na opseg [-1,1]. Ulazi u blok SNR u_f i izlaz i_f automatski se pohranjuju u radno područje Matlaba.
Podaci o ulaznim veličinama e i dy pohranjeni su kao matrica, a podaci o izlaznoj veličini kao vektor. Na slici V2.7.
dan je izgled korisničkog sučelja, koje se pokaže nakon što korisnik dvaput klikne mišem na blok SNR-a prikazan na
slici V2.6.
1
1 referentni izlaz iz
model [MOD] referentnog
ref erenca modela
[U] parametri
referentnog
modela
[E] [YM]
2 -K-
signal
pogreš ke e skaliranje e
Mux u_f
2
3 y dy -K-
Izlaz iz
izlaz iz
procesa skaliranje dy
[U]
snr samouč eć eg
regulatora
referenca i_f
[YM]
[MOD]
1. FISMATRIX
tip : <ime>
Prvi parametar bloka SNR-a označava ime neizrazite matrice, koju korisnik zadaje (u ovom slučaju
upisano je ime motorfis). Oblik neizrazite matrice je u potpunosti onakav kakav je definiran u ostalim Simulink
simulacijama, odnosno onakav kakav je definiran u Simulink - Fuzzy Logic Toolbox-u v.2.0. Neizrazita matrica
se mijenja, odnosno stvara pomoću naredbe " fuzzy <ime matrice> ", ili izmjenom tekstualne datoteke <ime
matrice>.fis u kojoj su spremljeni svi njeni podaci.
Vrijednost drugog parametra korisniku dopušta da sam odredi koliko promjena referentne veličine će
trajati učenje. Nakon dosegnutog broja promjene referentne veličine učenje će prestati i samoučeći neizraziti
regulator će dalje raditi sa do tada naučenom upravljačkom tablicom.
Ukoliko se ovdje stavi vrijednost nula učenje neće niti početi, odnosno tablica upravljačkih pravila će ostati
prazna, što se može koristiti za promatranje djelovanja samo proporcionalnog regulatora ili samo koeficijenta
predupravljanja.
3. Koeficijent Ks
Parametar Ks nam određuje vrijednost faktora sigurnosti Ks, koji je u neposrednoj je vezi sa statičkim
pojačanjem reguliranog procesa, odnosno dinamičkim pojačanjem oko neke točke. Ukoliko učenje postane
nestabilno povećanjem vrijednosti koeficijenta Ks može se stabilizirati učenje. Povećanjem koeficijenta Ks
samoučeći neizraziti regulator sporije "uči", odnosno sporije izgrađuje tablicu, ali je učenje stabilnije.
α = e (OGR* em ) , (V2-24)
gdje α označava vrijednost sa kojom se dijeli izračunata promjena akcije u trenutnoj iteraciji učenja.
Što je veći koeficijent α to će učenje biti sporije, te vrijedi sve već rečeno kod koeficijenta Ks.
Ograničenje promjene akcija i koeficijent Ks su djelomično komplementarni, a djelomično čine istu stvar, ali na
nešto drugačiji način.
Ukoliko je vrijednost ogr>1 tada postoji drugo ograničenje, koje ne dopušta promjene akcija veće od 1.
Ukoliko je ogr<1 tada toga ograničenja nema. Kao što se može zaključiti, najbrže učenje je onda kada je
parametar ogr jednak nuli.
Pri svakoj skokovitoj promjeni referentne veličine tijekom učenja kriterij se postavlja na nulu i nakon
toga se računa za trenutnu iteraciju učenja. Ako je učenje u dobrom smjeru, tada vrijednost sume E opada sa
vremenom.
Ovaj parametar bloka SNR-a treba gledati zajedno sa slijedećim parametrom (vidi pod 7.), koji određuje tip
procesa.
Vrijednost parametra Kp određuje pojačanje proporcionalnog regulatora, ako je izabrani tip procesa
"astatički proces", a ukoliko je izabrani proces tipa "statički proces", tada parametar Kp predstavlja početno
podešenje koeficijenta predupravljanja, koje se podešava s vremenom.
U slučaju izbora vrijednosti parametra Kp=0 i tip procesa="astatički proces" (7. parametar ) , tada izlaz iz
bloka SNR predstavlja samo upravljačku veličinu dobivenu iz SNR-a, tj. bez dodatnog djelovanja
proporcionalnog regulatora.
Ako je vrijednost parametara Kp=0, a tip procesa="statički proces" tada, budući da se koeficijent
predupravljanja uči, izlaz iz samoučećeg neizrazitog regulatora će biti kompozicija signala iz samoučećeg
neizrazitog regulatora i dodatnog signala predupravljanja.
7. Tip procesa
Izborom tipa procesa se mijenja struktura samoučećeg neizrazitog regulatora. Moguć je izbor dva tipa
procesa : "statički proces"
"astatički proces"
Ukoliko se izabere "statički" tip procesa tada vrijednost parametra Kp postaje pojačanje proporcionalnog
regulatora, a ukoliko se izabere "astatički" tip procesa tada koeficijent Kp postaje početna vrijednost koeficijenta
predupravljanja.
8. Ispis na disk
tip : <označavanje>
Izborom opcije "Ispis na disk" kreiraju se datoteke na disku s posebno zanimljivim rezultatima
simulacije, koji su navedeni u tablici V2.2. Ovi se parametri mogu koristiti za detaljniju analizu i grafički
prikaz rezultata.
Ovaj parametar označava vrijednost praga funkcija osjetljivosti. Ako je maksimalna vrijednost parametra
funkcije osjetljivost u promatranoj iteraciji učenja manja od praga vrijednosti funkcija osjetljivosti, tada se u toj
iteraciji akcija samoučećeg neizrazitog regulatora vezana uz tu funkciju osjetljivosti neće promijeniti.
Vježba 2. Sustavi upravljani samoučećim neizrazitim regulatorom 21
Rad na vježbi:
Zadati željeno dinamičko ponašanje neizrazitog sustava upravljanja (σm, tm) pomoću
referentnog modela drugog reda i snimiti e(k)-de(k) trajektoriju referentnog modela radi
procjene granica područja razmatranja e(k) i de(k). U tu svrhu može se koristiti blok
referentnog modela drugog reda iz Vježbe 2. Odziv referentnog modela također iskoristiti
za određivanje najpovoljnijeg iznosa intervala uzorkovanja (tm/20 < td < tm/10).