Fuzzy Logic - Ett sätt att uppnå kontroll baserat på exakta ingångar

Prova Vårt Instrument För Att Eliminera Problem





I denna era av digital kontroll styrs nästan alla apparater med den digitala kontrollen nivå med 1 och 0. Men tänk bara, är det inte helt opraktiskt att tänka att varje produktion av de dagliga processerna du stöter på beror bara på två tillstånd i ingången. Nej, definitivt. Tänk dig att din mamma lagar god mat och du kan inte hindra dig från att berömma henne. Så hur blir maten så god? Med tillsats av ingredienser i rätt mängd och andel, naturligtvis. Så hur klarar hon det? Med perfekt numerisk kunskap om kvantiteterna? Inte alltid. Hon gör det med en känd idé som kommer med erfarenhet. Det är här kommer tanken på en styrlogik som använder graderna av ingångstillstånd snarare än själva ingångarna, en logik som inte kräver några perfekta ingångar utan snarare fungerar med endast en typisk uppskattning av ingångarna. Det här är suddig logik.

Vad är Fuzzy Logic?

Fuzzy logic är ett grundläggande styrsystem som förlitar sig på ingångens tillståndsgrader och utgången beror på ingångstillståndet och förändringshastigheten för detta tillstånd. Med andra ord fungerar ett suddigt logiskt system på principen att tilldela en viss utgång beroende på sannolikheten för ingångens tillstånd.




Hur uppstod Fuzzy Logic?

Fuzzy Logic utvecklades 1965 av Lotfi Zadeh vid University of California, Berkley som ett sätt att utföra datorprocesser baserade på naturliga värden snarare än binära värden. Det användes ursprungligen som ett sätt att bearbeta data och började senare användas som en kontrollstrategi.

Hur fungerar Fuzzy Logic?

Fuzzy logic arbetar med konceptet att bestämma produktionen baserat på antaganden. Det fungerar baserat på uppsättningar. Varje uppsättning representerar några språkliga variabler som definierar det möjliga tillståndet för utdata. Varje möjligt ingångstillstånd och tillståndets förändringsgrad är en del av uppsättningen, beroende på vilken utgången förutses. Det fungerar på principen om If-else-the, dvs. If A AND B Then Z.



Antag att vi vill styra ett system där utdata kan vara var som helst i uppsättningen X, med ett generiskt värde x, så att x tillhör X. Tänk på en viss uppsättning A som är en delmängd av X så att alla medlemmar i A tillhör intervallet 0 och 1. Uppsättningen A är känd som en suddig uppsättning och värdet på fTILL(x) at x betecknar graden av medlemskap av x i den uppsättningen. Produktionen bestäms baserat på graden av medlemskap av x i uppsättningen. Denna tilldelning av medlemskap beror på antagandet om utgångarna beroende på ingångarna och förändringshastigheten för ingångarna.

Dessa suddiga uppsättningar representeras grafiskt med hjälp av medlemsfunktioner och utdata bestäms baserat på graden av medlemskap i varje del av funktionen. Sammansättningens medlemskap bestäms av IF-Else-logiken.


Generellt är uppsättningsvariablerna ingångarnas tillstånd och förändringsgraden för ingången och medlemskapet för utgången beror på logiken för OCH-drift av ingångens tillstånd och ingångens förändringshastighet. För ett system med flera ingångar kan variablerna också vara olika ingångar och utgången kan vara det möjliga resultatet av OCH-operationen mellan variablerna.

Fuzzy Control System

Ett suddigt kontrollsystem består av följande komponenter:

Ett Fuzzy Logic Control System

Ett Fuzzy Logic Control System

En fuzzifier som omvandlar de uppmätta variablerna eller ingångsvariablerna i numeriska former till språkliga variabler.

En styrenhet utför den otydliga logiska operationen för att tilldela utgångarna baserat på den språkliga informationen. Den utför ungefärliga resonemang baserat på det mänskliga sättet att tolka för att uppnå kontrollogik. Styrenheten består av kunskapsbasen och slutmotorn. Kunskapsbasen består av medlemsfunktionerna och de suddiga reglerna, som erhålls genom kunskap om systemets funktion enligt miljön.

Defuzzifier konverterar denna suddiga utgång till önskad utgång för att styra systemet.

Ett enkelt styrsystem som använder Fuzzy Logic för att styra fläktens hastighet beroende på ingångens temperatur.

Antag att du vill styra fläktens hastighet beroende på rumstemperaturen. För en normal lekman om rumstemperaturen är sådan att han / hon känner sig för varm, ökar fläkthastigheten till fullt värde. Om han / hon känner sig lite varm, ökar fläkthastigheten måttligt. Om han / hon känner sig för kall minskar fläkthastigheten drastiskt.

Så hur får din dator att göra detta?

Så här kan vi uppnå detta:

Kontroll av fläkthastighet baserat på temperaturingång

Kontroll av fläkthastighet baserat på temperaturingång

  • Temperaturgivaren mäter rums temperaturvärden. De erhållna värdena tas och ges sedan till fuzzifier.
  • Fuzzifier tilldelar språkvariabler för varje uppmätt värde och förändringshastigheten för uppmätt värde.

Till exempel, om det uppmätta värdet är 40 ° C och högre, är rummet för varmt

Om det uppmätta värdet är mellan 30 ° C och 40 ° C är rummet ganska varmt

Om det uppmätta värdet är 22 till 28 ° C är rummet måttligt

Om det uppmätta värdet är 10 till 20 ° C är rummet kallt

Om det uppmätta värdet är under 10 är rummet för kallt.

  • Nästa steg innefattar funktionen hos kunskapsbasen som innehåller informationen om dessa medlemsfunktioner såväl som regelbasen.

Till exempel, om rummet är för varmt OCH rummet värms upp snabbt, ställ sedan in fläkthastigheten till Hög

Om rummet är för varmt OCH rummet värms upp långsamt, ställ in fläkthastigheten till lägre än hög.

  • Nästa steg handlar om att konvertera denna språkliga variabel till numeriska variabler eller logiska variabler som används för att driva fläkten motorförare .
  • Det sista steget innebär att man kontrollerar fläkthastigheten genom att ge korrekt inmatning till fläktmotorföraren.

Så detta är en kort översikt över Fuzzy Logic, alla andra ingångar är välkomna att läggas till.