fuzzy produkcijski sustavi

Upload: noname

Post on 01-Mar-2016

226 views

Category:

Documents


1 download

DESCRIPTION

Fuzzy produkcijski sustavi

TRANSCRIPT

  • 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