Logika rozmyta a systemy sterowania

Idea logiki rozmytej (ang. fuzzy logic) to narzędzie do kreowania algorytmów sterowania, bazujących w znacznej mierze na wiedzy praktycznej operatorów i użytkowników urządzeń sterowanych aplikacji. Niejednokrotnie traktowana z pewną nieufnością i niezrozumieniem, w wielu aplikacjach sprawdza się doskonale. Warto zatem wiedzieć, jak z niej skorzystać.

Logika rozmyta powszechnie postrzegana jest jako usankcjonowany zbiór pobożnych życzeń dotyczących optymalizacji parametrycznej procesów przemysłowych, dzięki zastosowaniu samouczących się algorytmów sterowania, realizowanych automatycznie poprzez odpowiednio dobrane sterowniki i moduły I/O. Tymczasem w rzeczywistości jest to najczęściej system sterowania bazujący na regułach i zasadach wynikających z praktycznych doświadczeń operatorów i użytkowników sterowanych urządzeń, linii produkcyjnych itp. Podstawowym założeniem przy generowaniu zasad logiki rozmytej w sterowaniu aplikacjami jest właśnie uchwycenie, zapamiętanie i wykorzystanie wiedzy praktycznej operatorów systemowych. Tak więc technologię logiki rozmytej można rozumieć jako swego rodzaju platformę programową sztucznej inteligencji, opartą na rozbudowanych i wielowątkowych procesach decyzyjnych. Dzięki temu może ona być dość łatwo i sprawnie włączana w różnorodne pakiety narzędziowe oprogramowania służącego do budowy systemów sztucznej inteligencji. W niniejszym artykule zawarto podstawowe informacje niezbędne do podjęcia decyzji o wdrożeniu technologii logiki rozmytej.
Idea sformułowania zasad i wykorzystania logiki rozmytej sięga swym rodowodem lat 60. ubiegłego stulecia, jednakże pierwsze wdrożenia w aplikacjach rzeczywistych zrealizowano w latach 70. Najbardziej zaawansowane działania w kierunku rozwoju tej technologii prowadzili Japończycy, z czasem logika rozmyta pojawiła się w obsłudze wielu urządzeń, takich jak kamery, pralki, a nawet w zupełnie odmiennych aplikacjach typu platformy obsługi transakcji giełdowych. W ostatniej dekadzie kolejnym znaczącym graczem na rynku wykorzystania technologii logiki rozmytej stały się Stany Zjednoczone, które wdrażają ją w bardzo szerokim spektrum aplikacji. Jednakże nie są upubliczniane faktyczne dane obrazujące skalę tych wdrożeń, głównie ze względu na sceptycyzm branży automatyki co do jej możliwości.
Jak już wspomniano wcześniej, idea logiki rozmytej może być z powodzeniem zastosowana w aplikacjach nie-technicznych, czego przykładem są transakcje giełdowe. Dobrze sprawdza się również w diagnostyce medycznej czy rozpoznawaniu pisma odręcznego. W praktyce można obsługiwać za jej pomocą niemal wszystkie rodzaje aplikacji bazujących na zaawansowanej obsłudze sygnałów we/wy.

W przypadku aplikacji do sterowania urządzeń idea logiki rozmytej nadaje się doskonale do obsługi modułów nieliniowych, z dużą liczbą we/wy. Jako technologia z pogranicza sztucznej inteligencji sprawdza się doskonale w aplikacjach, które nie mogą być w prosty sposób zamodelowane przy wykorzystaniu tradycyjnych narzędzi i platform modelowych.
Skoro technologia ma tak szeroki potencjał wykorzystania, skąd wspomniany sceptycyzm wśród branżowców? Okazuje się, że większość osób ze środowiska inżynierskiego jej nie rozumie. Jednakże idea logiki rozmytej nie musi być wcale tak trudna w zrozumieniu i opanowaniu zasad jej wykorzystania, nawet wziąwszy pod uwagę jakże charakterystyczne dla niej zawiłości matematyczno-logiczne.
Logika systemów cyfrowych bazuje na dwóch sygnałach ustalonych: 0 i 1. Logika rozmyta obejmuje zakres sygnałów ciągłych od 0 do 1, które mogą być również przedstawiane jako wartości od 0% do 100%. Przykładem może być interpretacja liczbowa pojęcia MŁODY, dla którego można przyjąć: wiek 5 lat ? 100% MŁODY, wiek 18 lat ? 50% MŁODY i wiek 30 lat ? 0% MŁODY. W koncepcji systemu cyfrowego każdy wiek z zakresu 5?18 będzie uznawany za 100% MŁODY, a z zakresu powyżej 18?30 lat ? 0% MŁODY.
Jak już wspomniano wcześniej, system z technologią logiki rozmytej bazuje na zbiorze zasad tworzonych w oparciu o praktyczne doświadczenia operatorów i użytkowników urządzeń. Projektowanie takiego systemu rozpoczyna się od ustalenia pewnego wstępnego zbioru funkcjonalności dla sygnałów z każdego wejścia i wyjścia. Następnie w ich organizacji i parametryzacji wykorzystuje się wiedzę operatorską i doświadczalną, tak by zoptymalizować proces obsługi każdego wejścia i wyjścia w systemie.
Aby lepiej zilustrować ten proces, w przykładzie przyjęto sygnał pomiaru temperatury TEMP jako sygnał wejściowy systemu oraz sygnał sterujący wentylatorem FAN ? jako sygnał wyjściowy. W pierwszym etapie niezbędne jest ustalenie podstawowej funkcji sterowania, w tym przypadku opartej na graficznej reprezentacji trzech ?rozmytych? parametrów ? ZIMNO, CIEPŁO i GORĄCO. Wzajemne zależności między nimi  w logice rozmytej pokazano na rysunku 1.
Do obsługi wyjścia sterującego wentylatorem zakłada się wykorzystanie trzech parametrów ? WOLNO, ŚREDNIO i SZYBKO (rysunek 2). Następnie odpowiedni zestaw funkcji i wzajemnych zależności generowany jest osobno dla każdego z sygnałów wejściowych i wyjściowych. Trzeba podkreślić, że funkcje i zależności parametryczne sygnałów wejściowych i wyjściowych nie muszą mieć koniecznie kształtu trójkątnego, jak to pokazano na rysunkach 1 i 2, ale również możliwe jest wygenerowanie obszarów zmian o kształtach trapezoidalnych, krzywej Gaussa czy innych, zdefiniowanych przez użytkownika. Dzięki temu możliwe staje się optymalne dopasowanie funkcji układu sterowania do konkretnej aplikacji.
Po zdefiniowaniu funkcjonalności można przystąpić do określenia zasad ich oddziaływania w systemie. Dla rozważanego układu sterowania przyjęto trzy podstawowe zasady:

  • jeżeli GORĄCO to SZYBKO
  • jeżeli CIEPŁO to ŚREDNIO
  • jeżeli ZIMNO to WOLNO

Tak ustalone zasady aplikuje się do systemu, wiążąc wzajemnie odpowiednie parametry, w celu wygenerowania pożądanych sygnałów sterujących ? wyjściowych. Dla uproszczenia przykładu przyjęto układ z dwoma funkcjami wejściowymi i wyjściowymi. Dla poziomu 52st temperatury zmierzonej na wejściu zaznaczono prostą przecinającą granice ?rozmytych? obszarów zmian parametrów; przecięcie dotyczy dwóch obszarów, gdyż oba obszary obejmują ten poziom temperatury (rysunek 3). Następnie punkty przecięcia przenoszone są na wykresy funkcji wyjściowych, tworząc kolejne punkty przecięcia, tym razem z wykresami funkcji zmian parametrów wyjściowych. Pola zmian parametrów wyjściowych zostają w ten sposób podzielone na dwa obszary ? pod i nad kreskami przecięcia. Pola znajdujące się pod kreskami należy zsumować ze sobą, uzyskując dostępny obszar zmian parametrów wyjściowych. Wyliczany jest również punkt centralny tego obszaru. Dla tego punktu rzutuje się na oś poziomą wykresu współrzędną, określającą procentowo poziom szybkości obrotów wentylatora ? w tym przypadku 44%.
Pokazano tu bardzo prosty przykład funkcjonowania systemu sterowania bazującego na technologii logiki rozmytej. W rzeczywistych systemach zwykle występuje znacznie więcej sygnałów wejściowych i wyjściowych, co przekłada się na bardziej skomplikowany zbiór funkcji, zasad i współzależności między nimi. Dość często można spotkać się z systemami, gdzie występuje 40 i więcej zasad ? powiązań. Jednak nawet wówczas ogólne reguły implementacji logiki rozmytej do systemu sterowania pozostają niezmienne i identyczne jak w przedstawionym wcześniej przykładzie.
Firma National Instruments zaaplikowała bogaty zbiór narzędzi do tworzenia systemów sterowania w oparciu o logikę rozmytą w swoim sztandarowym produkcie inżynierskim ? pakiecie LabView. Znalazło się tam również kilka programów i aplikacji przykładowych, ułatwiających zrozumienie idei tej technologii, a dzięki środowisku graficznemu każdy inżynier może łatwo się zorientować, jak przyjmowane nastawy, parametry i zasady przekładają się na reakcję układu i stan parametrów wyjściowych.
Użytkownicy muszą jednak mieć świadomość, że technologia z logiką rozmytą nie jest złotym środkiem na wszystkie problemy pojawiające się w skomplikowanych aplikacjach systemów sterowania. Wręcz przeciwnie ? w wielu sytuacjach znacznie lepiej sprawdzają się metody tradycyjne i znane od lat z teorii automatyki. Możliwe jest również ich wzajemne łączenie i tworzenie układów dynamicznych tylko tam, gdzie jest to niezbędne dla zoptymalizowania procesu sterowania. Trzeba jednak pamiętać, że idea logiki rozmytej wciąż nie ma statusu usankcjonowanego rozwiązania technologicznego dla systemów sterowania, stąd jej wykorzystanie np. w systemach związanych z bezpieczeństwem musi być rozważane z dużą dozą ostrożności.
Mamy nadzieję, że artykuł ten rozbudzi w czytelnikach chęć głębszego zaznajomienia się z ideą logiki rozmytej w sterowaniu i zachęci do jej wykorzystania w swoich przyszłych projektach. Zachęcamy do korzystania z dość bogatej literatury tej tematyki. Informacje przedstawione pokrótce w niniejszym tekście to jedynie podstawy, mające na celu zainteresowanie czytelnika omawianą tematyką.
Norm Dingle jest inżynierem systemów w EMP Technical Group of Noblesville, USA.
Opracował dr inż. Andrzej Ożadowicz, AGH Kraków.
CE