15
Institutionen för datavetenskap Artificiell intelligens II, 729g11 Projekt HT-12 LINKÖPING UNIVERSITET Fuzzy control systems Användning av fuzzy logic I tvättmaskiner Karolin Nissa 9/17/2012

Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

Institutionen för datavetenskap Artificiell intelligens II, 729g11 Projekt HT-12

LINKÖPING UNIVERSITET

Fuzzy control systems Användning av fuzzy logic I tvättmaskiner

Karolin Nissa

9/17/2012

Page 2: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

2

Abstract Den här rapporten är en redovisning av den litteraturstudie som har gjorts på fuzzy logic

control system, med fokusering på tvättmaskiner. En tvättmaskin som programmerats med

fuzzy logic som grund kan med hjälp av inbyggda sensorer mäta variabler som smutsmängd,

smutstyp samt vilken typ av smuts det rör sig om. Dessa variabler kan sedan konverteras till

fuzzy variabler och därmed hanteras i systemet. Med hjälp av fuzzy logic control kan

tvättmaskinen framställa ett individuellt anpassat program för varje tvätt och spara in på ett

flertal faktorer som vatten, ström, tidsåtgång och tvättmedel.

Page 3: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

3

Contents

Abstract ................................................................................................................................................... 2

1. Inledning .......................................................................................................................................... 4

1.1 Syfte ............................................................................................................................................. 4

1.2 Metod och källor ......................................................................................................................... 4

2. Fuzzy Logic ........................................................................................................................................... 5

2.1Fuzzy sets och preproccessing........................................................................................................ 5

2.2 Lingvistiska variabler ..................................................................................................................... 6

2.3Medlemsfunktioner och fuzzification ............................................................................................ 7

2.4 Regelbas ............................................................................................................................................ 9

2.5 Inference Engine .............................................................................................................................. 10

2.5.1 Aggregering .............................................................................................................................. 11

2.5.2 Aktivering ................................................................................................................................. 11

2.5.3 Ackumulering ............................................................................................................................ 11

2.6 Defuzzication ................................................................................................................................... 11

2.6.1 Centre of gravity ................................................................................................................... 12

2.6.2 Centre of gravity method for singletons .............................................................................. 12

2.6.3 Mean of Maxima .................................................................................................................. 13

2.7 Postprocessing ................................................................................................................................. 14

Referenser ............................................................................................................................................. 15

Page 4: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

4

1. Inledning Fuzzy Logic har kommit att användas allt mer inom den industriella världen. I en värld där

svaren på alla frågor inte alltid är sant eller falskt, ja eller nej, så måste även maskiner besitta

den mänskliga förmågan att kunna granska sin indata, för att utifrån denna utföra den mest

optimala handlingen. Fuzzy logic tar maskinernas funktioner ett steg närmare mänskligt

tänkande. Fuzzy control system är baserade på fuzzy logic och består av 6 stycken olika

deloment; preprocessing, fuzzification, regelbas, inference engine, defuzzification och sist

postprocessing.

Figur1 de olika blocken av en fuzzy controller

1.1 Syfte Min avsikt med den här rapporten är att fördjupa mig i hur man har funnit ett

användningsområde för fuzzy logic control system i tvättmaskiner. Rapporten är resultatet av

min litteraturstudie och det kommer därmed inte tillföras några nya resultat eller upptäckter.

1.2 Metod och källor Som metod har jag använt mig av Biblioteket på Linköpings Universitets internetsökning

efter relevanta artiklar inom Fuzzy Logic och fuzzy logic control systems.

Page 5: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

5

2. Fuzzy Logic

2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan vara sant eller falskt så

använder man i fuzzy logic något som kallas för fuzzy sets. I ett fuzzy set så talar man om

medlemskap, i vilket grad ett element är medlem inom en kategori. Denna grad av

medlemskap sträcker sig mellan 0 och 1. Ett element kan med andra ord finna sig någonstans

mellan 0 och 1. Jämfört med FOPL där reglerna säger att om ett element har värdet 0 så är

elementet falskt, och har det värdet 1 så är det sant. Däremot om ett fuzzy set endast har ett

element så kallas detta element för en fuzzy singleton. Detta element får medlemskapet 1, och

är därmed endast sann. Senare i kontrollsystemet så kommer detta fuzzy set få en annan

hantering än de andra i defuzzification-stadiet.

För att ett fuzzy logic system ska kunna fungera måste man först definiera det så kallade

universumet. Universumet innehåller alla objekt som kan existera inom ett fuzzy set.Den

indata som tvättmaskinen får in sitt systemet via sensorerna är ofta ett crisp-värde. Detta värde

är i många fall inte helt optimalt för att kunna hanteras av systemet, utan måste först

konverteras, preprocessas, exempelvis genom att normalisera värdet genom att avrunda det så

det stämmer överens med hur universumet är definierat.

I tvättmaskinens system finns det ett universum för graden av smuts på tvätten.

Bedömningen av hur smutsig tvätten är sker med hjälp av en sensor som mäter hur transparent

vattnet är efter att ha sköljt igenom tvätten. Ju smutsigare tvätten är, ju mindre transparent är

vattnet som blir analyserat.Detta universum är definierat i procentenheter [0-100%]. Utifrån

detta har vi sedan 3 fuzzy sets: låg, mellan, hög. Som representerar 0 %, 50 % och 100 %.

Det ska skapas ytterligare 3 fuzzy sets utifrån vilken typ av smuts det är på kläderna.

Det bestäms utifrån hur lång tid det tar för vattnet att nå mättnad. När vattnet har nått mättnad

så ändras inte längre färgen på vattnet. Om smutsen är av fet sort så tar det mycket längre tid

för vattnet att bli transparent igen eftersom fett är svårlösligare i vatten är andra typer av

smuts. Följaktligen kombineras den ovannämnda funktionen för smutsmängd och denna för

typ av smuts. De 3 sets som skapas är:ickefet, medium, fet. Även här representerade av

procentdelarna 0 %, 50 % och 100 %.

Page 6: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

6

Det sista fuzzy setet skapas ur universumet för tvättid. Det definieras i minuter mellan

[0.. 60] givet att maxtiden för ordentligt smutsad tvätt är en timme.

Parametrarna för detta fuzzy set är:

Väldigtkort - [0 8 12] Kort - [8 12 20] Normal - [12 20 40]

Länge - [20 40 60] ExtraLänge - [40 60 60]

2.2 Lingvistiska variabler Ytterligare en skillnad mellan fuzzy logic och andra logiker är att fuzzy logic nyttjar

lingvistiska variabler och inte siffertal för att uttrycka regler och information. Man använder

med fördel dessa lingvistiska variabler för att de är mindre specifika än numeriska och

framförallt påminner de mer om människans naturliga språk. Som till exempel när vi säger

hur lång tid det kommer ta att genomföra en tvätt så säger vi att den kommer ta” lång tid”, i

jämförelse med om vi säger att den kommer ta 40 minuter. I det här fallet kommer

beteckningen ”lång” betraktas som ett lingvistiskt värde för variabeln tvättid, med förståelse

för att det betyder samma sak som det numeriska värdet 40, bara att det är mindre exakt.

I tvättmaskinen blir nu de lingvistiska variablerna Smutsmängd, Smutstyp och Tvättid.

Smutsmängd får term set, M, och innefattar fuzzy seten låg, mellan, hög. En variabels term

set innehåller alla värden som finns i en lingvistisk variabel. Smutstyp får term set Y, och

innefattar fuzzy seten: ickefet, medium, fet. Den tredje variabeln Tvättid med term set V

innefattar fuzzy seten väldigtkort, kort, normal, länge och extralänge. Detta skrivs inom fuzzy

logic som:

M(Smutsmängd ) = {låg, mellan, hög}

Y(Smutstyp) = {ickefet, medium, fet}

V(Tvättid) ={väldigtkort, kort, normal, länge, extralänge}

Page 7: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

7

2.3Medlemsfunktioner och fuzzification Alla element i ett fuzzy set besitter en nivå av medlemskap inom intervallet [0-1]. För att först

kunna fastställa om elementet är medlem i ett set så måste element x vara medlem i set X:

𝒙 ∈ 𝑿

Efter det bestämmer man grad av medlemskap. U är universum som x existerar i och µx är

graden av medlemskap som elementet x får inom intervallet [0,1]

µx :U→ [0,1]

I tvättmaskinen använder man sig av en medlemskapsfunktion som kallas för triangulär form,

eller trianglar, om man så vill. X i funktionen är värdet på det element i ett fuzzy set som man

ska beräkna. A betecknar den nedre gränsen på funktionen, med andra ord det första objektet

som är medlem i setet. I exemplet med tvättmaskinens set som tidigare togs fram innebär

detta till exempel element "0min" i setet "VäldigtKort" som är definierat mellan 0-60. B står

för det första värde som har det hösta medlemsvärdet i setet. M är den sista medlemmen i

setet.

Formeln lyder som så att medlemsgraden µ, för x är 0 om värdet x är mindre eller lika

med a. Om x befinner sig mellan a och m räknas istället medlemsgraden ( µ ) ut genom

(x-a)/(m-a). Följande metoder lyder även för de två andra värdena.

Exempel: Beräkning av medlemsgrad för elementet '20minuter' i fuzzy setet 'Normal'

Fuzzy setet: Normal - [12 20 40]

x = 20 min

a = 12 min

m = 40 20 − 12

40 − 12≈ 0,29

Page 8: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

8

Figur2: Medlemsfunktion för smutsmängd 1. X-axeln visar den procentuella

mängden smuts på tvätten och y-axeln visar grad av medlemskap .

Figur3: medlemsfunktion för smutstyp 2. X-axeln visar vilken typ av smuts det är

på tvätten i form av vilken fettprocent den innehåller. Y -axeln visar grad av

medlemskap.

1 Agarwal, M. Fuzzy Logic Control of Washing Machines

2Agarwal, M. Fuzzy Logic Control of Washing Machines

Page 9: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

9

Figur4: medlemsfunktionen för tvättid

Utifrån medlemsfunktionera för smutsmängd och smutstyp kan tvättmaskinen sedan erhålla

den beräknade tidsåtgången.

2.4 Regelbas En fuzzy regel är formaterad enligt nedanstående exempel. Det här formatet kallas för if-then

format.

If x is A then y is B

A och B är fuzzy sets, definierade från respektive universum x och y. Det här en implikation

där premissen är ”x är A” och implikationen blir då att ”y är B”.

Tvättmaskinen ska utifrån den input den får från sina sensorer avgöra vilket

tvättprogram som den ska köra. De tidigare lingvistiska variablerna smutsmängd, smutstyp

och tvättid kan modifieras med hjälp av en eller flera samlingar bestämmelser. Vanligast är IF

och THEN, som till exempel säger att om (IF) smutsmängden på tvätten är Stor och

smutstypen är Fet så (THEN) ska ett extra långt program köras.Det här sammanställs som en

regel som sen sparas i tvättmaskinens databas. Reglerna består alla av sparade krav som ska

uppfyllas för de olika programmen. Det används alltid samma konnektiv för att kunna

kombinera två eller fler regler och sammanställa dessa till en helt ny regel. I tvättmaskinens

fall används ”and”. Ett annat vanligt konnektiv är ”or”. Det viktigaste är att det är samma

konnektiv för alla regler, så att de inte blandas inom regelbasen.

Page 10: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

10

”If” ”and” ”Then”

Regel Smutsmängd Smutstyp Tvättid

1 Hög Fet Extralänge

2 Mellan Fet Länge

3 Låg Fet Länge

4 Hög Mellan Länge

5 Mellan Mellan Normal

6 Låg Mellan Normal

7 Hög IckeFet Normal

8 Mellan IckeFet Kort

9 Låg IckeFet VäldigtKort

Figur 5. Regelbas för tvättmaskin. Modifierad version grundad från Agarwal,

M. Fuzzy Logic Control ofWashing Machines[2]

Den översta raden är headern, med namnen på konnektiven . Raden under

innehåller de tre olika variablerna. De två mittersta kolumnerna är inputs och

den längst till höger är den output som tvättmaskinen ger. Varje rad

representerar en regel i databasen.

2.5 Inference Engine För att kunna dra slutsatser utifrån en regelbas behövs det en funktion som kan producera en

output från samlingen av if-then regler. Inference engine är kopplad till regelbasen och ger

output i form av vilket program som tvättmaskinen ska köra. För varje regel i regelbasen

söker inferensen upp medlemsskapsvärdet i tillståndet av regeln. Inference engine använder

sig av tre steg; aggregering, aktivering och ackumulering.

Page 11: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

11

2.5.1 Aggregering

Används för att beräkna graden av uppfyllelse αk för tillståndet av regel k. Reglerna kommer

att generera ett fuzzy medlemskapsvärde µ för villkoren. Aggregering är ekvivalent till

fuzzification, där det endast finns en input till kontrollen. Det kallas även ibland för att man

fullföljer reglerna.

2.5.2 Aktivering

Outputen från aggregeringen når sedan aktiveringen. Beroende på hur reglerna är utformade

så används operatorerna min eller max. Om regeln utgår ifrån flera premisser kommer

min-operatorn att användas, men om regeln lyder till exempel ”if A or B, then”, så används

max-operatorn. Min-operatorn reducerar regelns fuzzy set så att det representerar en output

som gäller för det minsta medlemsvärdet för försatsen. Detta görs eftersom det inte är

troligare att regeln gäller än att försatsen blir sann. Max-operatorn genererar en output som

gäller för det högsta medlemsvärdet genom att klippa av konsekvenssetet. Detta görs eftersom

att om en av försatsens villkor blir sanna så implementeras även detta på konsekvensen.

2.5.3 Ackumulering

Här blir alla aktiverade slutsatser ihopsamlade med hjälp av max-operatorn. Och formulerade

i en graf som skickas vidare till defuzzification.

2.6 Defuzzication Det resulterande fuzzy setet måste bli konverterat till ett nummer, och med andra ord gå

tillbaka till en form av sin ursprungsform som den hade vid input. Outputen måste bestå av ett

bestämt värde eftersom systemet inte kan utföra ändringar som till exempel ”öka

temperaturen lite”. Man genomför detta genom defuzzification där man tar det resulterande

fuzzy setet som kommit från inference engine och konverterar tillbaka det till ett crisp-värde

som skickas till styrsystemet. Detta kan göras genom ett flertal metoder, här tas endast de

metoder som är relevanta för tvättmaskinen upp:

Page 12: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

12

2.6.1 Centre of gravity

Grafen som skickades vidare från inference engine används här genom att man räknar ut

arean under grafen. I ekvationen står xi för en flytpunkt i ett bestämt universum och µ(xi)står

för den givna flytpunktens medlemskapsvärde. Ekvationen multiplicerar alla element xi med

sina respektive medlemskapsfunktioner µ(xi), summerar sedan dessa för att vidare divideras

med summan av alla medlemskapsfunktioner.

𝑢 = 𝜇 𝑥𝑖 𝑥𝑖𝑖

𝜇(𝑥𝑖𝑖 )

Räkneexempel: Det här är en relativt komplex beräkningsmetod, så för att visa hur metoden

fungerar så reducerar jag antalet element till endast 3st, samt dess 3st tillhörande

medlemskapsfunktioner. I verkligheten finns det 60st olika element i universumet för tvättid.

Se figur 4.

X1 = 30 minuter från universumet för tvättid. Denna flytpunkt har medlemskapsvärdet 0,64.

Beräkning av medlemskap:

𝑥 − 𝑎

𝑚 − 𝑎 →

30 − 12

40 − 12= 0,64

X2 = 48 minuter med medlemskapsvärdet 0,7

Beräkning av medlemskap: 𝑥 − 𝑎

𝑚 − 𝑎 →

48 − 20

60 − 20= 0,7

X3 = 18 minuter med medlemskapsvärdet 0,83

Beräkning av medlemskap: 𝑥 − 𝑎

𝑚 − 𝑎 →

18 − 8

20 − 8= 0,83

COG:

𝑢 = 0,64 ∗ 30 + 0,7 ∗ 48 + 0,83 ∗ 18

(0,64 + 0,7 + 0,83)

𝑢 = 67,74

2,17 ≈ 31,2

Page 13: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

13

Detta värde skulle då vara ekvivalent med grafens mittpunkt. Då jag valde att reducera

universumet avsevärt så stämmer detta värde inte alls med exemplet med tvättmaskinen, utan

det var bara ett räkneexempel för att visa hur metoden fungerar.

2.6.3 Mean of Maxima

Den här metoden har fått sitt namn för att den genererar ett medelvärde för de värdena med

högst medlemskap i outputen från inference engine. Om outputen bara innehåller ett värde

som har utmärkande högt medlemskap så skickas detta enskilda värde vidare. Men om setet

däremot innehåller ett flertal värden med höga medlemskapsnivåer så räknas medelvärdet av

dessa ut.

𝑢 = 𝑥 𝜇 𝑥 = max(𝜇 x )}

𝑚

Summan av alla element x som har högst medlemskapsvärde dividerat med antal element m

som är med i ekvationen.

Alla fuzzy setsen för tvättid; väldigtkort, kort, normal, länge och extralänge innehåller ett

element med utmärkande hög medlemsgrad. (se Figur 4) Dessa är elementen 8, 12, 20, 40, 60.

Alla har medlemskapsvärdet 1.

Räkneexempel: Om vi då tar fuzzy setet ’länge’ där elementet 40 har högst

medlemskapsvärde så är det detta som skickas vidare.

𝑢 = 40 1 40 = max(𝜇 x )}

1

Page 14: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

14

2.7 Postprocessing Detta är det sista steget i kontrollsystemet. Här är det viktigt att outputen, som nu är tillbaka i

form av ett crisp-värde, har fått rätt definition inom rätt skala. I tvättmaskinens system gäller

det då till exempel att tvättiden fortfarande är definierat i minuter och inte har råkat

omformuleras till någon annan enhet under defuzzification-stegen.

Tvättmaskinen kommer köra ett program som är helt anpassat efter den tvätt som ska

tvättas för tillfället. I jämförelse med andra tvättmaskiner som har förprogrammerade

tvättprogram med fasta inställningar så kan en tvättmaskinen som använder fuzzy logic spara

in på ett flertal faktorer som vatten, ström, tidsåtgång och tvättmedel.

Page 15: Fuzzy control systems729G43/projekt/studentpapper-12/...5 2. Fuzzy Logic 2.1Fuzzy sets och preproccessing Till skillnad från första ordningens logik, FOPL, där ett set endast kan

15

Referenser Chien, L. C. (1990). Fuzzy Logic in control systems: Fuzzy logic controller - Part 1. California: University

of California.

Jantzen, J. (1998). Tutorial On Fuzzy Logic. Lyngby, Denmark: Technical University of Denmark.

Zadeh, L. (1975). The Concept of a Linguistic Variable and its Application to Approximate Reasoning -

I. Berkely, California: University of Calofornia.

Internetkällor

1. Jantzen, J. Design Of Fuzzy Controllers Besökt den 5/9-12kl 11.00

http://site.iugaza.edu.ps/mahir/files/2010/02/design.pdf

2. Agarwal, M. Fuzzy Logic Control of Washing Machines Besökt 30/8 den 30/8-12

kl12.00

http://softcomputing.tripod.com/sample_termpaper.pdf

3. Hellman. M Fuzzy LogicIntroductionBesökt 30/8-12 kl. 12.00

http://epsilon.nought.de/tutorials/fuzzy/fuzzy.pdf