fuzzy produkcijski sustavi
DESCRIPTION
Fuzzy produkcijski sustaviTRANSCRIPT
-
FUZZY PRODUKCIJSKI SUSTAV - primjeriProf.dr.sc.Darko [email protected] 813
Fuzzy Track Inverted Pendulum Hot Shower
mailto:[email protected]
-
FUZZY TRACKOpis zadatka:Kamion treba iz poetnog poloaja dovesti do krajnjeg za razliite poetne orjentacije.
-
FUZZY TRACKSimulacijski prostor je 100 x 100, a ishodite je u donjem lijevom uglu. Kamion polazi iz toke (x,y) i treba doi u toku (100,50). Pri tome kamion moe biti zakrenut bili kako. Na prvoj slici je poetni poloaj (50,50) i zakret 90o, a na drugoj poetni poloaj (20,41) i zakret 45o.
-
FUZZY TRACK
Konani rezultat simulacije i za jedan i za drugi sluaj. Kako smo do toga doli pokazati emo u nastavku.
-
FUZZY TRACK
U voenju kamiona koriste se fuzzy produkcijska pravila oblika:
If the truck is left of the platform's x position target by a medium amount (LeftMedium) and the truck angle is below 90 degrees by a small amount (SmallBelow90) then change the angle of the truck by a negative small amount (NS)
-
FUZZY TRACK
Ukupna tablica produkcijskih pravila ima 35 pravila koje moemo tablino prikazati slikom desno, gdje redovi odgovaraju kutu orijentacije kamiona, a stupci relativnom poloaju x zadnjeg dijela kamiona u odnosu na konanu toku dolaska do cilja.
-
FUZZY TRACK
Kuteva orijentacije ima 7, a a relativnog x poloaja kamiona u odnosu na konanu toku dolaska do cilja 5:
-
FUZZY TRACK
Kako ih definiramo grafiki pomou pridrune funkcije
-
FUZZY TRACKPogledajmo sada primjer. Neka je u poetnom poloaju kamion zakrenut za kut 0, i po x osi nije pomaknut u odnosu na konanu toku.
-
FUZZY TRACKU prvom koraku aktiviraju se dva pravila:
1. If the truck is left of the platform's x position target by a zero amount (CE) and the truck angle is Right Below (RB) then change the angle of the truck by a positive medium amount (PM)
2. If the truck is left of the platform's x position target by a zero amount (CE) and the truck angle is Right Upper (RU) then change the angle of the truck by a positive medium amount (PM)
-
FUZZY TRACKDrugo je pravilo zadovoljeno s veim stupnjem zadovoljenja, pa je crvenije. Nakon primjene fuzzy produkcijskog sustava zakret volana je 15 stupnjeva pozitivno (u desno).
-
FUZZY TRACKU slijedeem koraku aktiviraju se druga dva pravila koja kao rezultat daju PM i PB zakret volana koji rezultira zakretom od 18.3378 stupnjeva.
-
FUZZY TRACK
Kako se proraunava taj zakret fuzzy produkcijskim sustavom pogledajmo na primjeru aktiviranja
-
FUZZY TRACK
Kamion do konanog poloaja doe nakon 52 iteracije.
Pogledajmo i samu simulaciju.
-
INVERTED PENDULUMOpis zadatka:Inverzno njihalo se pomakne iz poetnog poloaja i ono se treba to prije vratiti u nulti neutralni poloaj.
-
INVERTED PENDULUMPendulum se vodi samo sa 11 pravila koja u uvjetnom dijelu imaju varijable: Error (odstupanje u rad od vertikalne osi) i Omega (kutna brzina penduluma u rad/s), dok je izlaz struja motora (Current).
Vrijednosti svih varijabli su:
NM - negative medium , NS - negative small , ZE - zero , PS - positive small , PM - positive medium
-
INVERTED PENDULUM
Primjer primjene pravila:
-
INVERTED PENDULUM
Izlaz se dobije unijom ova dva ponderirana neizrazita skupa struje motora PS i PM
-
INVERTED PENDULUM
Izlaz se dobije unijom ova dva ponderirana neizrazita skupa struje motora PS i PM, a interpretacija se radi metodom teita.
-
FUZZY TU - poetak
-
FUZZY TU - cilj
-
FUZZY TU - cilj
Zadatak:Protok namjestiti to blie 12 lit/min i temperaturu to blie 36 C.
Fuzzy pravila napisana u posebnom jeziku za pisanje fuzzy produkcijskih sustava (FuzzyJESS):
(defrule cold_OK "if temp cold and pressure OK then change cold valve positive medium and change hot valve zero" (temp ?t&:(fuzzy-match ?t "cold")) (flow ?f&:(fuzzy-match ?f "OK")) => (assert (change_hv (new FuzzyValue ?*hotValveChangeFvar* "PM")) (change_cv (new FuzzyValue ?*coldValveChangeFvar* "Z")) )
-
FUZZY TU slijed primjene produkcijskih pravila
Initially ...Cold Valve: 0.0Hot Valve: 0.0ShowerTemp: 5.0Shower Flow: 0.0
Cycle 1:Rule: if Temp none and Flow none then change Hot Valve PS and change Cold Valve PM firesRule: if Temp cold and Flow low then change Hot Valve PB and change Cold Valve Z firesCold Valve Change: 0.019393939393939394Hot Valve Change: 0.05161111111111112Cold Valve: 0.019393939393939394Hot Valve: 0.05161111111111112ShowerTemp: 41.34326765772815Shower Flow: 1.775126262626263
-
FUZZY TU slijed primjene produkcijskih pravilaCycle 2:
Rule: if Temp hot and Flow low then change Hot Valve Z and change Cold Valve PB firesCold Valve Change: 0.06237161616308663Hot Valve Change: 0.0Cold Valve: 0.08176555555702603Hot Valve: 0.05161111111111112ShowerTemp: 24.347878605906374Shower Flow: 3.3344166667034285
Cycle 3:Rule: if Temp cold and Flow low then change Hot Valve PB and change Cold Valve Z firesCold Valve Change: 0.0Hot Valve Change: 0.06380642533114854Cold Valve: 0.08176555555702603Hot Valve: 0.11541753644225966ShowerTemp: 34.266590576305035Shower Flow: 4.929577299982142
-
FUZZY TU slijed primjene produkcijskih pravila
Cycle 10:Rule: if Temp OK and Flow low then change Hot Valve PS and change Cold Valve PS firesRule: if Temp OK and Flow OK then change Hot Valve Z and change Cold Valve Z firesCold Valve Change: 0.013809871825128675Hot Valve Change: 0.02084535847523144Cold Valve: 0.1828118777393236Hot Valve: 0.27594601696970317ShowerTemp: 35.07534258835214Shower Flow: 11.468947367725669
Shower now within limits: Temp between 34.0 and 38.0Flow between 11.0 and 13.0