Regulator rozmyty

 

Defuzyfikacja (ostrzenie).

 

Jest to ostatni blok układu sterowania rozmytego[2]. Na jego wejście trafia wynikowa funkcja przynależności. Jest to wynik działania regulatora przedstawiony w postaci rozmytej. Żeby móc go wyprowadzić na obiekt sterowany, zamieniany jest  na konkretną wartość liczbową. Działanie to, stanowiące istotę tego bloku, nazywamy ostrzeniem (inaczej defuzyfikacją).

 

Ogólnie działanie bloku defuzyfikacja można przedstawić następująco:

 

 

Wyróżniamy kilka metod defuzyfikacji. Do najpopularniejszych należą: 

1)         metoda pierwszego maksimum

2)         metoda ostatniego maksimum

3)         metoda środka maksimum

4)         metoda środka ciężkości

5)         metoda wysokości

Ad. 1-3.

Pierwsze trzy metody są bardzo proste do obliczenia dzięki czemu można je stosować w tańszych i wolniejszych mikroprocesorach.  Niestety na wynik defuzyfikacji ma wpływ jedynie najbardziej zaktywowany zbiór rozmyty zmiennej wyjściowej. Powoduje to duże różnice pomiędzy kolejnymi wartościami wyjściowymi regulatora (nieciągłość sterowania).

 

   a)                                      b)                                      c)

Rys. 1. Przykładowe wyniki defuzyfikacji [2] metodą pierwszego maksimum (a), ostatniego maksimum (b), środkowego maksimum (c).

 

 

Wyniki defuzyfikacji tymi metodami dla wynikowej funkcji przynależności obliczonej w przykładzie z zakładki 'WNIOSKOWANIE' przedstawione są poniżej.

 

Metoda pierwszego maksimum:

yad1 = 8,5;

Metoda środkowego maksimum:

yad3 = 10;

Metoda ostatniego maksimum:

yad2 = 11,5;

Graficznie wyniki te przedstawiają się następująco:

 

 

 

Ad. 4.

Metoda środka ciężkości jest trudniejsza obliczeniowo od powyższych. W celu otrzymania ostrej wartości wynikowej wymaga obliczenia dwóch całek. Powoduje to zwiększenie nakładów obliczeniowych i może powodować opóźnienia w słabszych mikroprocesorach. Jednak metoda ta uwzględnia wszystkie zaktywowane zbiory rozmyte dzięki czemu otrzymujemy płynne zmiany na wyjściu sterownika (ciągłość sterowania). Niestety metoda ta ma również swoje wady. W przypadku zaktywowania tylko jednego zbioru rozmytego,  niezależnie od stopnia jego aktywacji, układ podaje nam ten sam wynik. Inną wadą tej metody jest zawężanie zakresu defuzyfikacji. W przypadku aktywacji któregoś z brzegowych zbiorów rozmytych (nawet gdy jest ona maksymalna) nie otrzymamy wartości maksymalnej (minimalnej)  danego zakresu sterowania. Można temu zaradzić zwiększając przedział brzegowych zbiorów rozmytych zmiennej wyjściowej.

 

Rys. 2. Przykładowy wynik defuzyfikacji [2] metodą środka ciężkości.

 

 

Obliczanie wynikowej wartości następuje według poniższego wzoru:

 

y*= yc      – wartość ostra wyjścia regulatora

mwyn(y)    – wynikowa funkcja przynależności

y             – wartość zmiennej wyjściowej 

 

Wynik defuzyfikacji tą metodą dla wynikowej funkcji przynależności obliczonej w przykładzie z zakładki 'WNIOSKOWANIE' przedstawiony jest poniżej.

 

yc = 9,56;

 

Graficznie wynik ten przedstawia się następująco:

 

 

 

Ad. 5.

W metodzie wysokości, w przeciwieństwie do pozostałych metod, na wartość wyjściową mają wpływ wszystkie aktywowane przesłanki, a nie tylko te które mają największy wpływ na dany zbiór rozmyty zmiennej wyjściowej. W niektórych przypadkach może się to okazać konieczne. Metoda ta łączy w sobie prostotę obliczeń wraz z ciągłością wyniku i czułością układu na zmianę danych wejściowych. W metodzie tej zbiory rozmyte zmiennej wyjściowej zamieniane są na zbiory jednoelementowe (singletony). Znajdują się one w miejscu, dla którego dany zbiór rozmyty przyjmuje wartość 1. Ważne jest aby odpowiednio dobrać funkcje przynależności żeby nie mieć problemów z określeniem położenia singletonów.  Może to mieć miejsce w przypadku, kiedy funkcja będzie trapezoidalna. 

 

Rys. 3. Przykład zamiany zbiorów rozmytych na singletony [2].

 

Obliczanie wynikowej wartości następuje według poniższego wzoru:

y*            – wartość ostra wyjścia regulatora

mCi*         – stopień aktywacji i-tego singletonu przez daną regułę

yi             – wartość zmiennej wyjściowej, w miejscu położenia i-tego singletonu

m            – ilość reguł

 

W poniższym przykładzie posłużę się następującymi stopniami aktywacji, obliczonymi w przykładzie z zakładki 'WNIOSKOWANIE'.

 

1:  mC1 (x1*, x2*) = 0,3

2:  mC2 (x1*, x2*) = 0,7

3:  mC2 (x1*, x2*) = 0,2

4:  mC3 (x1*, x2*) = 0,2

 

Za pomocą singletonów można je przedstawić tak jak na poniższych rysunkach.

 

  

    

 

Wynik defuzyfikacji dla tych singletonów jest następujący: