Logika rozmyta stanowi niezwykle efektywną metodę stosowaną w sterowaniu, zwłaszcza w sytuacjach, które wymagają elastycznego podejścia do nieprecyzyjnych danych wejściowych. W tym kontekście, funkcje przynależności reprezentujące proces regulacji sterowania są ważone w zależności od zmiany wejścia oraz różnych wkładów sterowania, jak pokazano na Rysunku 3.11. Dla pary temperatury i szybkości zmiany temperatury istnieją cztery zestawy rozmytych wyników. Aby określić konkretną wartość działania na podstawie tych wkładów, można użyć jednej z dwóch metod: metody maksimum (MOM) lub metody środka ciężkości (COG). W przedstawionym przykładzie zastosowano metodę COG, gdzie wynik działania jest określany przez środek sumarycznego obszaru, który jest wynikiem różnych rozmytych wyników. Metoda COG zapewnia bardziej niezawodną tabelę wyszukiwania w porównaniu do operacji MOM.

Przykład zastosowania metody COG do obliczenia wyjścia rozmytego dla pary wejściowej (temperatura 35°F i zmiana temperatury 1°F na godzinę) ilustruje sposób obliczeń. Wartość wyjściowa rozmyta dla tej pary wejściowej wynosi 600R/M, a obliczenia są przeprowadzane na podstawie reguł rozmytych. Ostateczny wynik defuzyfikacji, czyli wartość krystaliczna (klasyczna), powinna być umieszczona w odpowiedniej komórce tabeli wyszukiwania. Tabela ta pozwala przypisać odpowiednią wartość wyjściową do komórki na przecięciu odpowiednich funkcji przynależności temperatury (LOW) oraz zmiany temperatury (LOW), co znajduje swoje odzwierciedlenie w tabeli 3.2.

Tabela wyszukiwania jest kluczowym elementem w systemach opartych na logice rozmytej. Aby wypełnić tę tabelę, należy zastosować technikę defuzyfikacji do obliczenia wszystkich innych wartości wyjściowych i umieścić je w odpowiednich komórkach tabeli. Wymiary reguł rozmytych powinny odpowiadać wymiarom tabeli wyszukiwania, co zostało przedstawione w omawianym przykładzie. Dalsze doskonalenie precyzji sterowania może polegać na podzieleniu wejść, takich jak temperatura i szybkość zmiany temperatury, na mniejsze podzbiory, aby uzyskać bardziej szczegółowe funkcje przynależności. Na przykład, można zdefiniować podzbiór „BARDZO NISKIE”, który obejmuje zakres temperatur 20–30°F, podzbiór „NISKIE” dla zakresu 30–40°F i tak dalej. Zastosowanie podobnego podejścia do zmiany temperatury oraz prędkości silnika pozwala na uzyskanie bardziej precyzyjnej tabeli wyszukiwania.

W przypadku aplikacji wymagających wyższej precyzji sterowania, po tabeli wyszukiwania można zastosować proces interpolacji, który pozwoli na uzyskanie bardziej szczegółowych wyników wyjściowych. W praktyce tabela wyszukiwania może być przechowywana w pamięci komputera, a wynik rozmyty może zostać uzyskany na podstawie bieżących wejść, dokładnie w zależności od aktualnego wiersza i kolumny danych wejściowych.

W systemach rzeczywistych można stosować dwie metody obliczania wartości wyjściowej rozmytej: metody offline i online. Metoda offline polega na wcześniejszym obliczeniu wszystkich wartości i zapisaniu ich w tabeli, podczas gdy metoda online polega na obliczaniu wartości wyjściowych w czasie rzeczywistym na podstawie bieżących danych wejściowych.

W rzeczywistej implementacji systemów sterowania opartych na logice rozmytej, takich jak sterowanie silnikami czy innymi urządzeniami, kluczową rolę odgrywa proces feedbacku. Na przykład, w przypadku sterowania prędkością silnika, feedback pochodzi z czujnika lub tachometru, który mierzy aktualną prędkość obrotową silnika. Różnica między pożądaną prędkością (wprowadzoną jako napięcie) a rzeczywistą prędkością obrotową (odczytaną z tachometru) jest przesyłana do kontrolera, który na podstawie reguł rozmytych oraz tabeli wyszukiwania generuje odpowiednie napięcie do silnika, aby dostosować prędkość obrotową.

Zrozumienie logiki rozmytej, procesów defuzyfikacji oraz zastosowania tabel wyszukiwania stanowi fundament w budowie zaawansowanych systemów sterowania, zwłaszcza w aplikacjach, które wymagają elastycznego i szybkiego dostosowania do zmiennych warunków. Dzięki temu podejściu możliwe jest tworzenie systemów sterowania, które w bardziej zrozumiały sposób mogą reagować na nieprecyzyjne dane wejściowe i dostarczać efektywne, dynamiczne rozwiązania w czasie rzeczywistym.

Jak zbudować system sterowania na podstawie logiki rozmytej w MATLAB: Przewodnik krok po kroku

Wykorzystanie logiki rozmytej (FLC) w systemach sterowania jest potężnym narzędziem, które pozwala na opracowanie precyzyjnych układów sterowania, nawet w przypadku złożonych i niepewnych danych wejściowych. Dzięki narzędziom takim jak MATLAB, proces ten może być stosunkowo prosty, zwłaszcza przy wykorzystaniu aplikacji takich jak Fuzzy Logic Designer App (FLDA). Istnieje jednak pewne wyzwanie związane z tym narzędziem, zwłaszcza dla początkujących użytkowników. Używając trybu aplikacji w MATLAB, studenci mogą napotkać pewne ograniczenia związane z ukrytym kodem, co może utrudniać zrozumienie działania systemu i wprowadzenie zaawansowanych modyfikacji. Tryb ten jest bardziej odpowiedni dla osób zaczynających naukę logiki rozmytej, jednak nie pozwala na pełną kontrolę nad kodem systemu.

Aby rozwiązać te trudności, MATLAB oferuje drugi tryb pracy - tryb funkcji logiki rozmytej (Fuzzy Logic Functions Mode). Ten tryb jest przeznaczony dla bardziej zaawansowanych użytkowników, którzy posiadają głębszą wiedzę na temat logiki rozmytej oraz rozumieją jak działa kod funkcji FLC. Dzięki temu trybowi użytkownicy mogą tworzyć bardziej złożone aplikacje FLC, a także korzystać z niestandardowych funkcji, które mogą zastępować wbudowane funkcje członkostwa czy funkcje inferencyjne. Daje to większą elastyczność i pełną kontrolę nad tym, jak system działa.

Zanim przejdziemy do tworzenia systemu sterowania, warto zrozumieć, jak w praktyce wykorzystać te tryby w kontekście konkretnego projektu. Przykładem może być system sterowania klimatyzatorem oparty na logice rozmytej. System taki, choć stosunkowo prosty, świetnie ilustruje zastosowanie logiki rozmytej do sterowania urządzeniami w warunkach zmiennych i niepewnych.

W przypadku sterowania klimatyzatorem, celem jest dostosowanie prędkości wentylatora (Y) w zależności od temperatury (T) oraz zmiany temperatury (ΔT). Pierwszym krokiem jest zdefiniowanie funkcji członkostwa dla obu wejść – temperatury i jej zmiany – oraz wyjścia, którym jest prędkość silnika wentylatora. Funkcje członkostwa są podstawą logiki rozmytej, ponieważ pozwalają na reprezentację wartości wejściowych w sposób, który jest bardziej zbliżony do ludzkiego rozumienia, niż do tradycyjnych metod numerycznych.

Po zdefiniowaniu funkcji członkostwa, przechodzimy do tworzenia reguł rozmytych, które będą decydowały o prędkości wentylatora. Reguły te, zbudowane na podstawie doświadczeń lub danych, odpowiadają na pytanie, jak należy reagować na określony stan wejść. Na przykład, jeśli temperatura rośnie szybko, system może wymagać zwiększenia prędkości wentylatora, aby szybciej schłodzić pomieszczenie.

Aby zbudować taki system w MATLAB, należy najpierw utworzyć folder, w którym przechowywać będziemy projekt. Kolejno, w MATLAB, wywołujemy aplikację Fuzzy Logic Designer, używając komendy fuzzyLogicDesigner w oknie poleceń. Następnie w aplikacji tworzymy nowy system rozmyty, wybierając odpowiednią konfigurację i wpisując wymagane dane. Na przykład, nasz system może mieć dwa wejścia: temperaturę i jej zmiany, oraz jedno wyjście – prędkość silnika wentylatora.

Kiedy mamy już zaprojektowany system rozmyty, możemy przejść do wprowadzenia szczegółowych elementów takich jak komponenty wejściowe, wyjściowe oraz reguły sterujące. Można je dodać za pomocą opcji "Add Components" dostępnej w aplikacji. Dodatkowo, narzędzie to pozwala na testowanie systemu poprzez symulację, co umożliwia sprawdzenie, jak system reaguje na różne dane wejściowe i jak zmienia się jego wydajność w różnych warunkach.

Za pomocą funkcji "System Browser" możemy sprawdzić szczegóły zaprojektowanego systemu, w tym listę wszystkich zmiennych wejściowych, wyjściowych oraz reguł. Jest to bardzo pomocne, gdy chcemy upewnić się, że system jest poprawnie zdefiniowany przed przystąpieniem do dalszych testów czy implementacji w rzeczywistym świecie.

Ważnym aspektem, który warto mieć na uwadze, jest konieczność doboru odpowiednich metod defuzifikacji oraz operatorów rozmytych. W MATLAB standardowo używane są metody takie jak metoda centroidu do defuzifikacji, ale zależnie od charakterystyki systemu, można zdecydować się na inne podejście. Wybór odpowiednich metod ma kluczowe znaczenie dla efektywności i precyzji działania systemu.

Należy również pamiętać, że w praktyce często będziemy musieli dostosować parametry naszego systemu w odpowiedzi na zmieniające się warunki. Może to obejmować dostosowanie reguł w zależności od nowo zdobytych danych lub wyników z rzeczywistych testów, a także poprawienie dokładności funkcji członkostwa, gdy pojawią się nowe, bardziej precyzyjne dane dotyczące zachowania klimatyzatora.