Logika Stosowana – Cwiczenia - Systemy sterowania ...

26
Logika Stosowana – Ćwiczenia Systemy sterowania wykorzystujące zbiory rozmyte Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Semestr letni 2014/15 Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 1 / 26

Transcript of Logika Stosowana – Cwiczenia - Systemy sterowania ...

Page 1: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Logika Stosowana – ĆwiczeniaSystemy sterowania wykorzystujące zbiory rozmyte

Marcin Szczuka

Instytut Matematyki, Uniwersytet Warszawski

Semestr letni 2014/15

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 1 / 26

Page 2: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 2 / 26

Page 3: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Zbiory rozmyte - przypomnienie

Zbiór romyty A = funkcja przynależności µA : X → [0, 1].

W przypadku zbiorów rozmytych możemy definiować operacje na nich nawiele sposobów. Jednakże w ponad 90% zastosowań (i dalej u nas)wykorzystuje się operacje podane w oryginalnej pracy Zadeha.

Operatory rozmyteDla danych zbiorów rozmytych A i B o funkcjach przynależności(odpowiednio) µA i µB definiujemy:

Sumę zbiorów rozmytych A ∪B będącą zbiorem rozmytym zadanymprzez funkcję przynależności: µA∪B = max(µA, µB).Sumę zbiorów rozmytych A ∩B będące zbiorem rozmytym zadanymprzez funkcję przynależności: µA∩B = min(µA, µB).Dopełnienie zbioru rozmytego \A będące zbiorem rozmytym zadanymprzez funkcję przynależności: µ\A = 1− µA.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 3 / 26

Page 4: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 4 / 26

Page 5: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Reguły lingwistyczne - przypomnienie

Reguły lingwistyczne (ang. linguistic rules) to wyrażenia postaci:

IF A1 AND A2 AND ... AND Ak THEN D

Gdzie warunki A1, . . . , Ak i decyzja D odpowiadają pewnym zbioromrozmytym. Na przykład:

IF pogoda jest dobra AND ruch jest niewielki AND mamy dosyćbenzyny THEN będziemy na lotnisku za około 30 minut

Takie reguły możemy pozyskać od eksperta lub wydobyć z dostępnychźródeł danych. Aby je wykorzystywać w kontekście zbiorów rozmytychbędziemy wykorzystywać operatory rozmyte. W dalszej części pokażemyjak (w praktyce) używać takich reguł w sterowaniu, w sczególności, jakinterpretować THEN.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 5 / 26

Page 6: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 6 / 26

Page 7: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 7 / 26

Page 8: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Zadanie sterowania

W mnóstwie sytuacji znanych z życia codziennego musimy wykorzystywaćalgorytmy (metody) pozwalające nam sterować otaczającymi nasurządzeniami. Niemal wszystkie urządzenia, od prostego grzejnika, przezautomat do kawy, aż do promu kosmicznego, wymagają jakiejś technikisterowania.Podstawowe idee dotyczące sterowania urządzeniami sięgają starożytności,zaś początku współczesnej teorii sterowania upatruje się w pracach JamesaClerka Maxwella z 1868 roku, gdzie opisał on m.in. zagadnienie sprzężeniazwrotnego.Zadaniem systemu sterowania (sterownika) jest mierzenie aktualnego stanusytemu (układu), porównanie z wartościami spodziewanymi(referencyjnymi) i wyznaczenie ewentualnych poprawek (wartościsterowania), które należy wykonać.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 8 / 26

Page 9: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Systemy sterowania

Systemy sterowania dzielą się na dwa ogólne typy:Otwarte (open loop). System działa bez “oglądania się wstecz”.Ze sprzężeniem zwrotnym (feedback loop). System odczytuje aktualnystan, ustala sterowanie, a następnie w pętli mierzy rezultat poprzedniejzmiany i koryguje sterowanie.

r - wartość odniesienia (referencyjna); e - obecny błąd (error); C -sterownik; P - sterowany proces (urządzenie); u - korekta (update); y -zmierzony stan P.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 9 / 26

Page 10: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Zagadnienia w systemach sterowania

Aby (z sukcesem) zaprojektować system sterowania trzeba:

Wyznaczyć przyzwoity model matematyczny sterowanego układu(urządzenia).Zidentyfikować zmienne sensoryczne i sterowane.Zdefiniować oczekiwane zachowanie - wartości referencyjne.Rozwiązać równanie (zwykle różniczkowe/różnicowe) sterowania.Zmodyfikować rozwiązanie w celu poprawy stabilności, odporności nazakłócenia i optymalności.

Każdy z powyższych kroków może być bardzo trudny (o ile nie niemożliwy)do wykonania w praktyce. Szczególnie modelowanie układu metodamimatematycznymi często okazuje się niezwykle trudne. Także spełnieniekryteriów optymalności i stabilności może być istotnym wyzwaniem.Istotnymi czynnikami oceny przy tworzeniu rozwiązań jest możliwość ichpóźniejszej implementacji w hardwarze i koszt uzyskania rozwiązania.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 10 / 26

Page 11: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 11 / 26

Page 12: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Motywacja dla sterowników rozmytych

W wielu rzeczywistych sytuacjach nie jesteśmy w stanie podaćzadowalającego, stabilnego modelu matematycznego dla urządzenia którymchcemy sterować. Co ciekawe, wieloma takimi urządzeniami operator(człowiek) jest w stanie sterować całkiem nieźle. Na przykład człowiekmoże sterować śmigłowcem, podczas gdy stworzenie autopilota dlahelikopterów jest niezwykle trudne.Możemy wszakże próbować wydobyć reguły sterowania od ekspertów.Takie reguły są jednak zwykle wyrażone w sposób nieprecyzyjny, np.:

If x jest małe and y jest średnie then uruchom alarm.If x jest małe and y jest małe then zbiór z staje się duży.If x jest duże then ustal z jako małe.

Dzięki zbiorom rozmytym możemy przetłumaczyć takie sentencje nakonkretne wartości numeryczne.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 12 / 26

Page 13: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 13 / 26

Page 14: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 14 / 26

Page 15: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Budowanie sterownika rozmytego

Tworzenie sterownika rozmytego (FLC od ang. Fuzzy Logic Control) składasię z kilku etapów:

1 Identyfikacja zmiennych sensorycznych (mierzonych na wejściu) isterowanych (podawanych na wyjście).

2 Zdefiniowanie (skonstruowanie) zbiorów rozmytych dla zmiennychwejściowych i wyjściowych.

3 Skonstruowanie zestawu reguł sterowania - bazy wiedzy.4 Rozmycie (fuzyfikacja), czyli zamiana pomierzonych (numerycznych)

zmiennych wejściowych na odpowiadające im stopnie przynależności.5 Zastosowanie reguł z bazy wiedzy. Wyznaczenie rozmytej wartości

wyjścia.6 Wyostrzenie (defuzyfikacja) - zamiana wyznaczonej z reguł rozmytej

wartości wyjścia na konkretne wartości numeryczne które następnie sąpodawane do sterowanego układu.

Na każdym z powyższych etapów musimy dokonywać wyborów mogącychzadecydować o stosowalności i jakości FLC.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 15 / 26

Page 16: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Schemat rozmytego układu sterowania

Typowy FLC wykorzystujący architekturę Mamdaniego zostałprzedstawiony poniżej.

FLCRozmywaniefuzzyfikacja

Wnioskowanie rozmyte

Baza wiedzy(reguły)

Wyostrzaniedefuzzyfikacja

Procesurządzenie

Wartośćodniesieniar(t) Sterowanie

Wartość zmiennych sensorycznych y(t)mierzonych na wyjściu sterowanego procesu

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 16 / 26

Page 17: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Plan

1 WprowadzenieReguły lingwistyczne

2 Zagadnienia sterowaniaKlasyczna teoria sterowaniaAlternatywa - sterowanie rozmyte

3 Sterowanie rozmyteElementy sterowania rozmytegoPrzykład tworzenia sterownika rozmytego

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 17 / 26

Page 18: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Problem odwróconego wahadła

Zagadnienie odwróconego wahadła przypomina zabawę, w której staramysię utrzymać kij od szczotki na czubku palca dzięki poruszaniu dłonią.Poruszmy podstawą (dłonią) w celu utrzymania masy (kijka) w pozycji jaknajbliższej pionu. To zadanie jest często przedstawione w uproszczonej,jednowymiarowej formie jako zadanie utrzymania w pionie masy naramieniu przymocowanym na zawiasie do wózka poruszającego się poszynach (patrz rysunek).

Choć pozornie trywialny, problem odwróconego wahadła okazuje sięnieprzyjemny dla metod klasycznej teorii sterowania.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 18 / 26

Page 19: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Opis układu i zmiennych

Aby uprościć rozważania i uczynić je bardziej przejrzystymi będziemyużywać tylko dwóch zmiennych sensorycznych (pomiarów wejściowych):

1 θ(t) odpowiada kątowi (w stopniach) w chwili t. Kąt jest mierzonywzględem pionu tzn. jest równy 0 gdy ramię jest pionowe. θ(t) leży wzakresie od -90 do 90 stopni.

2 θ̇(t) - prędkość kątowa w chwili t.

Jako zmienną wyjściową (sterowanie) przyjmiemy prędkość wózka. Będzieona dodatnia bądź ujemna zależnie od kierunku jego ruchu. Jest to kolejneznaczące uproszczenie, gdyż w rzeczywistości ta prędkość jest funkcją masywózka M , masy ramienia m i siły f(t) wywieranej w chwili t.Demonstrator w sieci: http://www.cs.dartmouth.edu/~spl/publications/fuzzytalk/FuzzyPendulum.html Filmik na YouTube:https://www.youtube.com/watch?v=rTrxLqSk0Kc

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 19 / 26

Page 20: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Rozmycie (Fuzyfikacja)

Definiujemy zbiory rozmyte dla zmiennych następująco:

Prędkość (wyjście)

Kąt

Prędkość kątowa

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 20 / 26

Page 21: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Baza wiedzy - reguły lingwistyczne

Tworzymy bazę wiedzy złożoną z reguł postaci:If kąt jest zero and prędkość kątowa jest zero then prędkość powinnabyć zero.If kąt jest zero and prędkość kątowa jest małą dodatnia (PL - positivelow) then prędkość powinna być positive low.

Prędkość Kąt↘ NH NL Z PL PH

Pr. NH NHNL NL Z

k Z NH NL Z PL PHą PL Z PLt. PH PH

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 21 / 26

Page 22: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Zastosowanie bazy reguł 1

Jeśli weźmiemy konkretne numeryczne wartości dla kąta i prędkościkątowej, otrzymamy:

Kąt

Prędkość kątowa

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 22 / 26

Page 23: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Zastosowanie bazy reguł 2

W naszej bazie są 4 reguły które pasują do tej sytuacji (odpalają):

If kąt zeroand prędkość kątowa zerothen prędkość zero.If kąt zeroand prędkość kątowa negative low (NL)then prędkość negative low (NL).If kąt PLand prędkość kątowa zerothen prędkość PL.If kąt PLand prędkość kątowa NLthen prędkość zero.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 23 / 26

Page 24: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Zastosowanie bazy reguł – wyostrzenie

Przez zsumowanie (wzięcie alternatywy) czterech reguł otrzymujemy zbiórrozmyty dla prędkości (wyjścia).

Póki co rezultat działania sterownika jest zbiorem rozmytym (dla prędkościwózka). Musimy teraz wybrać jedną wartość numeryczną reprezentującąten zbiór. Istnieje wiele heurystyk pozwalających wyznaczyć tą wartość(wyostrzyć). Jedną z nich jest wzięcie środka ciężkości zbioru.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 24 / 26

Page 25: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Wyostrzanie (defuzzyfication)

Wyostrzanie (defuzyfikacja) ma kluczowe znaczenie dla działania FLC.Istnieje kilka powszechnie stosowanych metod ustalania ostatecznejwartości numerycznej sterowania na podstawie zbioru rozmytegootrzymanego na wyjściu sterownika rozmytego.Przyjmując, że wyjście sterownika jest dane jako funkcja przynależnoscimoutput : X 7→ [0, 1] możemy użyć na przykład:

Środka ciężkości (center of area – COA) w wersji ciągłej:

output =

∫X x ·moutput(x)dx∫X moutput(x)dx

Środka ciężkości w wersji dyskretnej dla X = {x1, . . . , xn}:

output =

∑ni=1 xi ·moutput(xi)∑n

i=1moutput(xi)

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 25 / 26

Page 26: Logika Stosowana – Cwiczenia - Systemy sterowania ...

Wyostrzanie (defuzzyfication)

Istnieje wiele innych metod, z których najlepiej znane to:

Średniej maksimów (Mean of maxima method – MOM). Dla Z ⊂ Xbędącego zbiorem punktów gdzie moutput osiąga maksimum kładziemy

output =∫Z zdz∫Z 1dz

. W częściej spotykanym przypadku dyskretnym, gdy

Z = {z1, . . . , zk} wynik jest dany przez 1k

∑kj=1 zj .

Minimum (maksimum) z maksimów – bierzemy pierwszy (ostatni)punkt w którym funkcja przynalezności wyjścia osiąga maksimum.

Wybór właściwej metody wyostrzania ma duży wpływ na stabilność iefektywność (optymalność) sterowania. Rózne strategie wyostrzania mogąprowadzić do radylkalnie róznych zahowań sterowanego układu. Zwyklenajlepsze jest rozwiązanie dające najstabilniejszy wynik w jak najkrótszymczasie.Przykłady sukcesów zbirów rozmytych w zastosowaniach (nie tylko wsterowaniu) można znależć nahttps://www.calvin.edu/~pribeiro/othrlnks/Fuzzy/apps.htm.

Marcin Szczuka (MIMUW) Logika Stosowana 2014/15 26 / 26