Projektowanie regulatorów rozmytych w środowisku Matlab Simulink


Pomiary Automatyka Robotyka 11/2006
Projektowanie regulatorów rozmytych
w środowisku MATLAB-Simulink
Celem pracy jest pokazanie możliwości projektowania regulatorów rozmy-
Bogumiła Mrozek
tych, w tym doboru ich parametrów, z wykorzystaniem bibliotek środowiska
MATLAB-Simulink.
1. Wprowadzenie
W odróżnieniu od klasycznych metod optymalizacji,
Regulatory rozmyte umożliwiają tworzenie adaptacyj- algorytmy te nie wymagają szczegółowej wiedzy o struk-
nych układów sterowania dla dużych zmian parame- turze optymalizowanego problemu. Konieczne jest jedy-
trów obiektu regulowanego, bez potrzeby korzystania nie określenie funkcji celu. Dla regulatorów rozmytych,
ze skomplikowanych lub trudnych do uzyskania modeli jako funkcję celu można przyjąć wskaznik jakości.
tego obiektu. Biblioteka Genetic Algorithm and Direct Search
Regulatory rozmyte o strukturze i parametrach za- Toolbox zawiera algorytm genetyczny dostępny poprzez
projektowanych z wykorzystaniem bibliotek MATLAB-a interfejs Genetic Algorithm Tool (gatool) oraz poprzez
można stosować w aplikacjach przemysłowych. Drogę funkcję ga [1].
od projektu regulatorów w środowisku MATLAB- Celem pracy jest pokazanie możliwości projektowa-
-Simulink do ich implementacji w docelowym urządze- nia regulatorów rozmytych, w tym doboru ich parame-
niu opisano w [6]  rozdział Szybkie prototypowanie trów, z wykorzystaniem bibliotek środowiska MATLAB-
sterowników. -Simulink.
Fuzzy Logic Toolbox jest biblioteką pakietu MATLAB-
-Simulink i zawiera zestaw funkcji oraz interfejsy, które
2. Projektowanie regulatorów
ułatwiają projektowanie regulatorów rozmytych. Biblio-
rozmytych w środowisku
teka ta ma także bloki Simulinka [2], które można użyć
jako model zaprojektowanego regulatora rozmytego. MATLAB-Simulink
Fuzzy Logic Toolbox zawiera interfejs ANFIS Editor,
który wykorzystuje algorytmy uczenia sztucznych sieci W Fuzzy Logic Toolbox są dostępne dwa podstawowe
neuronowych dla strojenia regulatorów rozmytych. modele rozmyte: Mamdani i Sugeno [2]. Są one opisane
Ponadto, Fuzzy Logic Toolbox zawiera interfejs Clu- zbiorem reguł. Każda reguła składa się z przesłanki
stering i funkcje umożliwiające tworzenie modeli (część Jeśli) i konkluzji (część to). Przesłanka zawiera
rozmytych, przy użyciu technik klasteryzacji. Metody zbiór warunków, a konkluzja wniosek.
klasteryzacji określają  ważne punkty układu rozmy- Reguły obu modeli mają identyczną postać przesłanek,
tego w obszarach maksymalnego zagęszczenia próbek różnią się konkluzjami. W modelu rozmytym typu Mam-
pomiarowych i w tych punktach lokalizują reguły oraz dani konkluzja reguł zawiera zbiór rozmyty. Model typu
wyznaczają dla nich parametry funkcji przynależno- Sugeno w konkluzji ma funkcję. Różnice między oboma
ści. rodzajami modeli pokazano na przykładzie rozmytego
Do strojenia regulatorów rozmytych algorytmami regulatora PI.
uczenia sieci neuronowych oraz metodami klasteryza-
cji niezbędne są odpowiednie (wiarygodne) zestawy
2.1. Regulatory rozmyte PI typu Mamdani
danych, najlepiej pomiarowych.
Jakość działania rozmytego regulatora można opisać Rozmyte regulatory PI typu Mamdani zwykle używają
wskaznikiem jakości określonym przez użytkownika. dwóch zmiennych wejściowych E(error) i SE(sum of
Dla zdefiniowanego wskaznika jakości można dobrać errors  całka błędu) oraz jednej zmiennej wyjściowej
strukturę i parametry regulatora rozmytego przy użyciu U(output). Baza reguł regulatora rozmytego PI typu
technik przeszukiwań. Mamdani przyjmuje postać jak poniżej [8].
Algorytmy genetyczne i ewolucyjne są to uniwer-
Jeśli (E jest Aj) i (SE jest Bj), to (U jest Cj)
salne techniki optymalizacji oparte na przeszukiwaniu
przestrzeni rozwiązań. Naśladują one genetyczną ada- gdzie: j = 1,2,& K, K  liczba reguł modelu, Ai, Bj, Cj 
ptację występującą w naturalnych procesach ewolucyj- zbiory rozmyte jako wartości lingwistyczne (np.
nych, zachodzących w przyrodzie [4]. small, large itp.).
Model rozmyty typu Mamdani często jest stosowany
dr inż. Bogumiła Mrozek  Politechnika Krakowska

w układach opartych na wiedzy eksperta [2]. Jest to
model:
5
Pomiary Automatyka Robotyka 11/2006
tworzony intuicyjnie Ważne zalety modelu typu Sugeno to [2]:
powszechnie znany i akceptowany duża wydajność i skuteczność obliczeniowa
dobrze dostosowany do sposobu postrzegania zmien- dobre działanie w połączeniu z metodami stosowa-
nych przez człowieka. nymi w układach liniowych (np. regulator PID)
Jeżeli są dostępne dane uczące, to modele rozmyte dobra współpraca z metodami adaptacyjnymi i me-
typu Mamdani można stroić, po ich przekształceniu todami optymalizacji
w sieć neuronową [8] w sposób podobny do opisanego struktura ułatwiająca przeprowadzenie dowodów
w rozdziale 3. stabilności układów sterowania.
Można też określać ich bazę reguł i kształt funkcji Model Sugeno jest bardziej zwięzły i skuteczniejszy
przynależności modelu rozmytego z wykorzystaniem obliczeniowo w porównaniu z modelem Mamdani.
algorytmów genetycznych, według zasad opisanych Ponadto model rozmyty typu Sugeno umożliwia łatwe
w rozdziale 4. Jednakże żadna z tych metod strojenia stosowanie metod adaptacyjnych do doboru jego para-
nie jest zaimplementowana w Fuzzy Logic Toolbox. metrów. Kilka z tych metod jest zaimplementowanych
w Fuzzy Logic Toolbox.
Na podstawie modelu Sugeno można zbudować układ
2.2. Regulatory rozmyte PI typu Sugeno
rozmyty, który dokonuje przełączeń pomiędzy kilkoma
Typowa reguła Sugeno dla modelu rozmytego z dwoma optymalnymi liniowymi regulatorami jako silnie nieli-
wejściami ma postać [8]: niowy układ poruszający się wokół ich punktu pracy.
Uwzględniając powyższe właściwości, do dalszych roz-
Jeśli (x jest Aj) i (y jest Bj), to zj = f(x,y)
ważań przyjęto model rozmyty typu Sugeno.
gdzie: x, y  zmienne wejściowe, Aj, Bj,  zbiory roz-
myte, f(x,y)  funkcja, z  zmienna wyjściowa,
2.3. Dobór struktury i parametrów
określana ze wzoru defuzyfikacji (wyostrzania)
początkowych regulatora rozmytego
[2, 7, 8].
Określenie wstępnej struktury i parametrów rozmytego
W Fuzzy Logic Toolbox funkcja f(x,y) jest wielomia- regulatora typu Sugeno można zrealizować na kilka spo-
nem rzędu pierwszego lub zerowego. Konkluzję j-tej sobów:
reguły można zapisać w postaci: a. Na podstawie wiedzy eksperta można arbitralnie
określić liczbę reguł oraz rodzaj, kształt (parametry)
zj = f(x,y) = pj x + qj y + rj
i liczbę funkcji przynależności dla każdej zmiennej
gdzie: pj, qj , rj  współczynniki wielomianu, w modelu wejściowej.
rzędu zerowego: zj = rj Wartości współczynników wielomianu w konklu-
zjach reguł można wyznaczyć z wykorzystaniem
Dla regulatora rozmytego PI typu Sugeno w postaci metod stosowanych do doboru parametrów regula-
ogólnej  j-tą regułę można zapisać: torów konwencjonalnych, np. przy użyciu Simulink
Response Optimization (dawniej NCD Blockset) [5].
Jeśli (w1 jest Aj) i (w2 jest Bj) i (w3 jest Cj), b. Na podstawie dostępnych danych uczących  można
to uj = p1j w1 + p2j w2 + p3j w3 + rj (1) użyć funkcji lub interfejsu ANFIS. Wygenerowany
w ten sposób model typu Sugeno ma określoną liczbę
gdzie: Aj, Bj, Cj  zbióry rozmyte, w1  zmienna wej- reguł, parametry funkcji przynależności w przesłan-
ściowa określająca nieliniowości regulatora, kach oraz wartości współczynników wielomianu
w2 = E(error), w3 = SE(sum of error), p1j, p2j, p3j, w konkluzjach reguł.
rj  współczynniki w konkluzji. c. Na podstawie dostępnych danych uczących  można
zastosować funkcje biblioteczne: genfis1, genfis2
Regulator rozmyty o bazie reguł w postaci (1) jest lub genfis3. Funkcje te generują struktury reprezen-
rozpatrywany w punkcie 5.2, jako model rozmyty ge- tujące układy rozmyte typu Sugeno z ustaloną liczbą
nerowany przez funkcję genfis2. reguł oraz z parametrami funkcji w przesłankach
Możliwy jest także prostszy zapis reguł regulatora i konkluzjach.
rozmytego PI typu Sugeno, z j-tą regułą w postaci jak
niżej [2]:
3. Projektowanie regulatorów rozmytych
na podstawie danych uczących
Jeśli (w1 jest Aj), to uj = p1j w2 + p2j w3 + rj (2)
gdzie: Aj,  zbiór rozmyty, w1  zmienna wejściowa Sieci neuronowe mają zdolność uczenia się na bazie da-
(określa nieliniowości regulatora), w2 = E(error), nych uzyskanych na podstawie identyfikacji obiektu lub
w3 = SE(sum of error), p1j, p2j, rj  współczynniki odpowiedzi modelu. W bibliotece Fuzzy Logic Toolbox
w konkluzjach. istnieje możliwość strojenia regulatorów rozmytych
typu Sugeno metodami uczenia stosowanymi w sie-
Regulator rozmyty o bazie reguł w postaci (2) jest roz- ciach neuronowych. W tym celu model rozmyty jest
patrywany w punkcie 5.3.
6
Pomiary Automatyka Robotyka 11/2006
przekształcany w równoważną wielowarstwową sieć 3.1. Ograniczenia funkcji i interfejsu ANFIS
neuronową (perceptron wielowarstwowy).
Takie strojenie realizuje funkcja anfis lub interfejs Okno interfejsu ANFIS Editor pokazano na rys. 2. In-
ANFIS Editor (anfisedit). Akronim ANFIS pochodzi terfejs i funkcja anfis [2] działa poprawnie tylko na
od Adaptive Neuro-Fuzzy Inference System. modelach rozmytych typu Sugeno rzędu zerowego lub
Algorytm strojenia zastosowany w funkcji anfis za- pierwszego. Oznacza to, że w konkluzjach modelu mogą
proponował Jang [3]. Przekształcony w sieć neuronową występować tylko stałe lub funkcje liniowe.
model rozmyty jest reprezentowany przez 6 warstw
neuronów następujących po sobie (rys. 1). Warstwa 1
to wartości wejściowe (input). Warstwa 2 odpowiada
za fuzyfikację (rozmywanie) wartości wejściowych
i reprezentuje funkcje przynależności w przesłankach
(inputmf  najczęściej są to funkcje Gaussa). Warstwa
3 (rule) reprezentuje reguły i na wyjściu każdego jej
neuronu jest określany stopień aktywacji odpowiedniej
reguły. Pozostałe warstwy (outputmf i output) reali-
zują wzór defuzyfikacji dla modelu Sugeno.
Rys. 2. Okno interfejsu ANFIS Editor z wizualizacją danych uczą-
cych w funkcji indeksów wektora danych
Inne ograniczenia:
wszystkie funkcje wyjściowe w konkluzjach muszą
być tego samego typu i muszą być albo stałymi albo
funkcjami liniowymi
funkcje w konkluzjach nie mogą się powtarzać, ich
liczba musi być równa liczbie reguł
należy określić funkcje przynależności dla wszyst-
Rys. 1. Okno Anfis Model Structure z wizualizacją regulatora
rozmytego opisanego przez trzy reguły w postaci (1), kich zmiennych wejściowych
po przekształceniu w sieć neuronową
układ rozmyty musi mieć wagę jednostkową dla każ-
dej reguły.
Uczenie sieci neuronowej polega na stopniowej zmia-
nie jej wag w taki sposób, aby doprowadzić do mini-
3.2. Określenie reguł na podstawie danych
malizacji kryterium nauczania. Jest nim zwykle średni
kwadratowy błąd wyjścia sieci względem danych uczą- pomiarowych
cych.
Funkcja anfis przekształca model rozmyty w sieć Określenie reguł (bazy reguł), liczby funkcji przynależ-
neuronową, jak opisano powyżej. Wagi tej sieci odpowia- ności oraz ich parametrów zależy od umiejętności wy-
dają parametrom funkcji przynależności w przesłankach krywania klasterów (cluster  grono, pęk, rój) w prób-
i współczynnikom wielomianu w konkluzjach [2]. kach pomiarowych i określania ich środków ciężkości.
Na podstawie danych uczących i kontrolnych uzy- Fuzzy Logic Toolbox zawiera funkcje fcm i subclust,
skanych na podstawie identyfikacji lub odpowiedzi które realizują algorytmy klasteryzacji odpowiednio
modelu, realizuje się proces uczenia sieci neuronowej. metodą c-środków (c-means clustering) i klasteryzacji
Wagi jej wyznacza się za pomocą algorytmu wstecznej różnicowej (subtractive clustering).
propagacji błędu (backpropagation) i metody spadku Fuzzy Logic Toolbox zawiera też dwie funkcje (gen-
gradientu albo w połączeniu z metodą najmniejszych fis2 i genfis3), które generują struktury reprezentu-
kwadratów (linear least squares estimation)  metoda jące układy rozmyte typu Sugeno. Liczba i parametry
hybrydowa. funkcji przynależności w przesłankach są określane po-
W ten sposób można uzyskać samostrojący się regu- przez algorytmy odpowiednio: klasteryzacji różnicowej
lator rozmyty na bazie danych pomiarowych typu wej- i klasteryzacji metodą c-środków. Wartości współczynni-
ście-wyjście. ków wielomianu w konkluzjach są wyznaczane metodą
Za samostrojący się regulator rozmyty uznaje się re- najmniejszych kwadratów.
gulator o ustalonej liczbie reguł, zbiorów rozmytych Funkcja genfis1 generuje modele rozmyte typu Su-
w przesłankach i wielomianów w konkluzjach. Zmianie geno na podstawie siatki podziału (grid partition)  bez
(strojeniu) podlegają jedynie parametry funkcji przyna- klasteryzacji. Wartości współczynników wielomianu
leżności w przesłankach i współczynniki wielomianów w konkluzjach reguł mają wartości zerowe, a liczba
w konkluzjach. reguł jest duża.
7
Pomiary Automatyka Robotyka 11/2006
Wygenerowane za pomocą funkcji genfis1, genfis2 malizacji, tj. trudnych do opisania modelem matematycz-
i genfis3 modele rozmyte są zazwyczaj stosowane jako nym. Stosuje się je też w przypadku funkcji nieciągłych,
modele początkowe (wstępne) dla funkcji lub interfejsu silnie nieliniowych, stochastycznych lub takich, które
ANFIS. mają niepewną lub nieokreśloną pochodną.
Ważniejsze możliwości Genetic Algorithm and Direct
Search Toolbox [1]:
4. Algorytm genetyczny w MATLAB-ie graficzne interfejsy użytkownika Genetic Algorithm
Tool i Pattern Search Tool umożliwiają szybkie wy-
Algorytm genetyczny to termin ogólny używany do branie opcji dla funkcji ga i patternsearch oraz
określenia pewnej grupy metod rozwiązywania zagad- monitorowanie procesu optymalizacji
nień optymalizacji. algorytm genetyczny (funkcja ga) zawiera opcje
Wspólną podstawą koncepcyjną tych metod jest sy- tworzenia populacji, selekcji, krzyżowania, mutacji
mulowanie ewolucji indywidualnych struktur poprzez i inne
proces selekcji i stosowanie operatorów genetycznych. algorytm bezpośredniego przeszukiwania (funkcja
Za pomocą tych operatorów są tworzone nowe warianty patternsearch) z metodą poszukiwania wzorca
(populacje) rozwiązań [4]. opcje integrujące Optimization Toolbox i funkcje
W algorytmach genetycznych stosuje się pojęcia za- MATLAB-a z algorytmem genetycznym i bezpośred-
pożyczone z genetyki naturalnej [4]. nich przeszukiwań.
Istnieje populacja rozwiązań. Każde rozwiązanie jest Domyślnie przyjęto, że geny w chromosomach osob-
nazywane osobnikiem, zwykle reprezentuje go jeden ników są liczbami rzeczywistymi. Można też wybrać
chromosom, który zawiera zakodowane potencjalne opcję kodowania binarnego albo zdefiniować własną
rozwiązanie problemu. Elementy składowe chromo- strukturę populacji.
somu to uporządkowane ciągi genów. Poprzez opcje funkcji ga dla poszczególnych etapów
W populacji dokonuje się selekcji (słabe osobniki (kroków) działania algorytmu jest możliwy wybór im-
giną) i stosuje się operatory genetyczne krzyżowania plementacji kilku metod selekcji, mutacji, krzyżowania
i mutacji. Schemat działania algorytmu genetycznego i innych.
pokazano na rys. 3. Należy pamiętać, że funkcja ga poszukuje minimum
W każdej generacji (iteracji algorytmu genetycznego) funkcji przystosowania.
za pomocą funkcji przystosowania (funkcja celu) jest
oceniane przystosowanie każdego osobnika. Na tej
podstawie jest tworzona nowa po-
4.2. Genetyczne systemy
pulacja osobników. Reprezentują
rozmyte
one zbiór potencjalnych rozwiązań
problemu. Reprodukcja skupia się Celem genetycznych systemów roz-
na osobnikach o najwyższym stop- mytych jest zautomatyzowanie kro-
niu przystosowania. ków pozyskiwania wiedzy przy pro-
Krzyżowanie i mutacja mieszają jektowaniu systemów rozmytych.
osobniki, realizując w ten sposób Wiedza zawarta w układach rozmy-
eksplorację przestrzeni rozwiązań. tych składa się z bazy danych i bazy
Kryteria zatrzymania algorytmu reguł. Przy rozróżnianiu pomiędzy
genetycznego (ewolucyjnego) to: bazą danych i bazą reguł istnieją dwa
wykonanie zadanej liczby generacji główne podejścia do genetycznych
albo uzyskanie odpowiedniej warto- układów rozmytych. Są one rozróż-
ści przystosowania osobników. niane poprzez realizację procesów
genetycznego strojenia oraz procesy
genetycznego uczenia maszynowego
4.1. Genetic Algorithm and
(genetic based machine learning sys-
Direct Search Toolbox
tems) [4].
Genetic Algorithm and Direct Se- Genetyczny proces uczenia maszy-
arch Toolbox poszerza możliwości nowego dotyczy zagadnień projekto-
funkcji realizujących optymaliza- wania bazy reguł systemu rozmytego
cję, dostępnych w MATLAB-ie oraz i jest równoważny poszukiwaniu
w bibliotece Optimization Toolbox. optymalnej konfiguracji zbiorów roz-
Zawiera dwa algorytmy: genetyczny mytych i/lub reguł.
(funkcja ga) i bezpośrednich prze- Genetyczny proces strojenia doty-
szukiwań (funkcja patternse- czy optymalizacji działania już zde-
arch) [1]. finiowanych systemów rozmytych.
Algorytmy te można używać do Sprowadza się on do określenia zbioru
problemów trudnych do rozwiąza- Rys. 3. Schemat działania algorytmu ge- parametrów funkcji przynależności
netycznego
nia tradycyjnymi technikami opty- w przesłankach i konkluzjach.
8
Pomiary Automatyka Robotyka 11/2006
Rys. 4. Model Simulinka napędu prądu stałego z rozmytym regulatorem prądu (blok Reg_I fuzzy PI)
iaz
Mux
Sum_I
Prostownik
RIfu
Ia
iaz 1
ei ust
f(u)
Usalf a Ua kia
zad
Tmip.s+1
eiI
6
Usalfa=f(ust) Czas martwy Ta.s+1
Reg_I fuzzy PI Disp_Ia [V]
1
Sem
Obwod
Ia
rfuIsg.fis
Ia
twornika
s
km*115.5
INTEG_ei
Run
1
iniRIrfuPI
|u|2
0.17356273756857
s
Display errorRI
e_RI error_RI
Rys. 5. Model Simulinka dla doboru rozmytego regulatora
Algorytm genetyczny dostępny w funkcji ga nadaje PI typu Sugeno (rys. 4). Parametry tego regulatora do-
się do strojenia regulatorów rozmytych typu Mamdani bierano metodami uczenia stosowanymi w sieciach
i Sugeno z ustaloną strukturą. Można go łatwo stoso- neuronowych (funkcja anfis) oraz z wykorzystaniem
wać w końcowym etapie strojenia regulatora rozmy- algorytmu genetycznego (funkcja ga).
tego. Funkcję przystosowania należy zdefiniować jako
wybraną funkcję błędu określającą jakość sterowania.
5.1. Model obiektu regulacji
W tym przypadku wyznaczone minimum funkcji przy-
stosowania jest także minimum funkcji błędu. Transmitancja obiektu regulowanego składa się z połą-
czonych szeregowo transmitancji obwodu prądu silnika
Gmot i przekształtnika tyrystorowego Gconv (rys. 5).
5. Badania symulacyjne
Model obwodu prądu silnika opisuje transmitancja
Do rozważań przyjęto model napędu prądu stałego, Gmot prądu silnika ia względem napięcia zasilania Ua:
zbudowany z wykorzystaniem pakietu MATLAB-
ia(s) kia
-Simulink [5]. Badania symulacyjne wykonano dla Gmot (s) = = (3)
Ua(s) Tas +1
napędu z silnikiem prądu stałego o mocy 22 kW, za-
silanego z sześciopulsowego przekształtnika (pro- gdzie: kia  wzmocnienie obwodu prądu, Ta = La/Ra
stownika) tyrystorowego. Inne dane znamionowe  stała czasowa obwodu prądu.
silnika: napięcie zasilania UaN = 440 V, prąd silnika
IaN = 56,2 A, obroty znamionowe nN = 1500 obr/min. Model przekształtnika tyrystorowego opisuje trans-
Przyjęto strukturę układu sterowania identyczną jak mitancja:
dla napędu z regulatorami klasycznymi [8]. Parametry
kp
Usa(s)
klasycznego regulatora prędkości (PI) dobrano przy uży- Gconv(s) = = (4)
ust (s) Tmips +1
ciu NCD Blockset (obecnie Simulink Response Optimi-
zation) [5]. Licznik transmitancji odpowiada współczynnikowi
Tutaj, w miejsce regulatora prądu PI (o stałych pa- wzmocnienia przekształtnika kp. Stała czasowa Tmip od-
rametrach) zaprojektowano rozmyty regulator prądu powiada średniemu czasowi martwemu przekształtnika
9
Pomiary Automatyka Robotyka 11/2006
(dla sześciopulsowego układu mostkowego przyjmuje Przyjęto, że w danych uczących wystarczy wydzielić
się Tmip = 1,67 ms). trzy klastery. Uzyskano w ten sposób regulator rozmyty,
Charakterystyka przekształtnika tyrystorowego jest opisany przez 3 reguły i 30 parametrów (18 parametrów
nieliniowa. Jego współczynnik wzmocnienia kp zmienia dla przesłanek i 12 parametrów dla konkluzji  Anfis
się i zależy od kąta wysterowania a, tj. napięcia sterują- Model Structure pokazuje rys. 1).
cego ust. Napięcie wyjściowe przekształtnika tyrystoro- Każda ze zmiennych lingwistycznych in1, in2, in3
wego Usa = f(ust) opisuje wzór: jest określona trzema funkcjami przynależności. Na
rys. 6b pokazano funkcje reprezentujące zbiory rozmyte
p ust
Usa = Us0 cos a = Us0 cos( (1- )) (5) dla in1 = Ua  small (cluster1), medium (cluster2), large
2 ust max
(cluster3).
gdzie: Us0, a  napięcie przekształtnika bez obciążenia, Dla zmiennej in2 = prop (rys. 6c) nazwy zbiorów roz-
kąt wysterowania przekształtnika, ust, ust max  napięcie mytych to: in2cl1 (cluster1), in2cl2 (cluster2), in2cl3
sterujące dla a = 0. (cluster3). Odpowiednio dla in3 = int  in3cl1(cluster1),
in3cl2 (cluster2), in3cl3 (cluster3).
Baza reguł utworzona przez funkcję genfis2 zawiera
5.2. Regulator neuronowo-rozmyty
trzy następujące reguły:
Zaprojektowano rozmyty regulator prądu (PI) typu Su-
Jeśli (Ua jest small) i (prop jest in2cl1) i (int jest in3cl1),
geno dla obwodu prądu silnika. Regulator ten uwzględ-
to ust1 = a1 Ua + k1 prop + t1 int + c1
nia nieliniowość współczynnika wzmocnienia prostow-
nika tyrystorowego (kp). Jeśli (Ua jest medium) i (prop jest in2cl2) i (int jest
Przyjęto jako dane uczące i kontrolne (Training, Chec- in3cl2), to ust2 = a2 Ua + k2 prop + t2 int + c2
king data) wartości uzyskane ze wzoru (5).
Jeśli (Ua jest large) i (prop jest in2cl3) i (int jest in3cl3),
Uwzględniając ograniczenia funkcji anfis opisane
to ust3 = a3 Ua + k3 prop + t3 int + c3
(6)
wyżej, wstępne modele rozmytego regulatora prądu (PI)
typu Sugeno określono przy użyciu funkcji: genfis2 gdzie: a1, k1, t1, c1, a2, k2, c2, t2, a3, k3, t3, c3
i genfis3.  współczynniki wielomianu w konkluzjach.
Funkcja genfis1 generuje modele rozmyte o dużej
liczbie reguł, stąd uznano, iż jej sposób działania nie daje Modele rozmyte wygenerowane przez genfis2
optymalnych rozwiązań rozpatrywanego zagadnienia. i genfis3 różnią się wartościami parametrów funkcji
Obie funkcje, tj. genfis2 i genfis3 tworzą modele przynależności w przesłankach i wielomianów w kon-
rozmyte typu Sugeno, których wszystkie funkcje przy- kluzjach. Wynika to głównie z różnych metod klastery-
należności w przesłankach są symetrycznymi funk- zacji zaimplementowanych w obu tych funkcjach.
cjami Gaussa (gaussmf), a funkcje w konkluzjach są Na rys. 6 pokazano diagram wejść i wyjść zaprojekto-
liniowe. wanego regulatora rozmytego oraz powierzchnię ste-
Rozmyty regulator PI prądu stojana typu Sugeno rowania i funkcje przynależności dwóch zmiennych
używa, jako sygnałów wejściowych, trzech zmiennych: wejściowych, które uzyskano po 20 epokach uczenia
in1 = Ua (napięcie zasilania), in2 = prop (błąd prądu) metodą hybrydową.
oraz in3 = int (całka błędu prądu). Na wyjściu ma jedną
zmienną ust (napięcie sterujące przekształtnika).
5.3. Parametry regulatora rozmytego dobierane
a.
algorytmem genetycznym
b. 20 epok -metoda hybrydowa
cluster1
1
Możliwości strojenia regulatorów rozmytych z wyko-
cluster2
in1 (3) cluster3
sug31
rzystaniem funkcji ga sprawdzono dla regulatora typu
sugeno f(u) 0.5
Sugeno projektowanego dla układu opisanego w punk-
3 rules
in2 (3)
cie 5.1.
out1 (3)
Do rozważań przyjęto strukturę regulatora rozmy-
0
in3 (3)
100 200 300 400 500
tego, który reprezentuje implementację trzech różnych
System sug31: 3 inputs, 1 outputs, 3 rules in1 - Ua
regulatorów PI. Parametry tych regulatorów odpowia-
d. c.
dają wybranym punktom pracy rozpatrywanego ob-
cluster2 cluster1 cluster3
1
wodu regulacji prądu silnika [5].
6
0.8
Sposób działania regulatora rozmytego opisują
0.6
4
zmienne lingwistyczne: Ua (napięcie zasilania silnika),
0.4
2
prop (błąd prądu), int (całka błędu prądu) oraz trzy na-
0.2
stępujące reguły:
0
5
500
0
300
-5 0 5
-5
100 Jeśli Ua jest small, to ust1 = k1 prop + t1 int + c1 (7)
in2
in1 in2 - prop
Jeśli Ua jest medium, to ust2 = k2 prop + t2 int + c2
Rys. 6. Model rozmyty utworzony funkcją genfis2 a  diagram
regulatora rozmytego dla bazy reguł (6), b  funkcje
Jeśli Ua jest large, to ust3 = k3 prop + t3 int + c3
przynależności dla zmiennej in1 = Ua ,c  funkcje przy-
należności dla zmiennej in2 = prop, d  powierzchnia
gdzie: k1, t1, c1, k2, c2, t2, k3, t3, c3  współczynniki wielo-
sterowania uzyskana metodą hybrydową
mianu w konkluzjach.
10
Degree of membership
out1
Degree of membership
Pomiary Automatyka Robotyka 11/2006
Zmienne wejściowe prop (błąd prądu) i int (całka Na rys. 8 pokazano zmiany funkcji przystosowania
błędu prądu) nie pojawiają się w przesłankach. Zmienna (Fitness Value) i średnią odległość między osobnikami
wyjściowa ust jest to napięcie sterujące przekształt- (Average Distance Between Individuals) w kolejnych
nika. Diagram wejść-wyjść tego regulatora pokazano generacjach.
na rys.7. Pokazano też wartości aktualnie najlepszego osob-
nika (Current Best Individual) i wartości funkcji przy-
stosowania (Fitness of Each Individual) wszystkich 20
osobników w aktualnej generacji.
Best: 0.17293 Mean: 23.5808 Average Distance Between Individuals
150 15
100 10
50 5
0 0
050 10020 40 60 80 100
Generation Generation
Current Best Individual Fitness of Each Individual
Rys. 7. Diagram regulatora rozmytego dla bazy
10 100
reguł (7)
5
Zmienna lingwistyczna Ua jest określona
50
trzema funkcjami przynależności (rys. 6b).
0
Funkcje te reprezentują zbiory rozmyte
small (cluster1), medium (cluster2), large
-5 0
1 2 3 4 5 6 7 8 9 0 5 10 15 20
(cluster3).
Number of variables (9)
Zwraca się uwagę, iż liczbę reguł i wie-
lomian w konkluzji tego regulatora okre-
Rys. 8. Wizualizacja procesu genetycznej optymalizacji
ślono według wiedzy eksperta (arbitral-
nie). Parametrów regulatora rozmytego
o strukturze opisanej wyżej nie można
dobierać przy użyciu funkcji anfis (brak Otrzymane parametry regulatora rozmytego, będące
funkcji przynależności dla zmiennych wej- rezultatem optymalizacji przy użyciu algorytmu gene-
ściowych prop i int). tycznego (funkcja ga), zawiera wektor:
Algorytm genetyczny poszukiwał wartości 9 współ-
xk = [1.61 0.07 3.61 0.79 3.43 2.87 0.27 1.78 5.41]
czynników k1, t1, c1, k2, c2, t2, k3, t3, c3 w konkluzjach
regulatora typu Sugeno, aby osiągnąć minimum funkcji Po 38 generacjach błąd miał wartość 0,1720. Odpowie-
przystosowania. dzi regulatora rozmytego na zadany skok jednostkowy
Funkcję przystosowania określono jako sumę błędu dla parametrów wstępnych (wektor xp) i parametrów
kwadratowego odpowiedzi badanego układu (model końcowych (wektor xk) pokazano na rys. 9.
Simulinka z rys. 5) w ciągu 2 sekund symulacji. Projek-
towany rozmyty regulator typu Sugeno jest reprezen-
towany przez blok Simulinka. Na jego wejście wprowa-
6
dzono skokową zmianę sygnału zadawania.
5
Osobnika określa jeden chromosom, który składa się
z genów reprezentujących poszukiwane współczynniki.
wartość zadana
4
Geny w chromosomie są liczbami rzeczywistymi (re-
odpowiedz (parametry końcowe)
odpowiedz (parametry wstępne)
prezentacja domyślna w funkcji ga). Wartości wstępne
3
parametrów regulatora rozmytego (genów) zapisano
w postaci wektora o podwójnej precyzji, z następujący-
2
mi wartościami jego elementów [5]:
1
xp = [1,21 0,031 0 1,58 0,03 0 3,17 0,049 0]
0
(wartość błędu wynosiła 1,5253).
-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Funkcja ga umożliwia wizualizację parametrów istot-
Time
nych dla przebiegu i zbieżności procesu genetycznej
optymalizacji. W każdej generacji tworzy się 20 osob- Rys. 9. Odpowiedzi regulatora na skok jednostkowy dla parame-
trów z wektora xp i xk (dla modelu z rys. 5)
ników (wartość domyślna).
11
Fitness value
Current best individual
Pomiary Automatyka Robotyka 11/2006
Na rys. 10 pokazano rezultaty testów symulacyjnych
6. Uwagi końcowe
napędu prądu stałego (dla modelu z rys. 4) w fazie roz-
ruchu, wzrostu obciążenia, pracy ustalonej i hamowa-
Struktury rozmytego regulatora prądu dobrano z wyko- nia.
rzystaniem funkcji anfis i ga. Następnie testowano je Algorytm genetyczny zaimplementowany w funkcji
w modelach Simulinka pokazanych na rys. 4 i 5. ga umożliwia strojenie rozmytych regulatorów typu Su-
W obu modelach uzyskano lepszą jakość sterowania geno i Mamdani oparte na zdefiniowanych kryteriach
(mniejszy błąd) dla regulatora rozmytego, jeśli parame- błędu, bez potrzeby stosowania danych uczących.
try dobierano za pomocą funkcji ga. Funkcja ga może być używana do doboru parametrów
regulatorów rozmytych o dowolnych strukturach. Nie
podlegają one takim ograniczeniom, jak w przypadku
Reg_I
stosowania funkcji anfis.
8
Funkcja anfis może być przydatna do strojenia [8]
iaz
ia
6 np. układów sterowania pośrednich z modelem wzor-
ust
cowym lub bezpośrednich z modelem odwrotnym.
4
Jakość strojenia regulatorów rozmytych z wykorzysta-
2
niem funkcji anfis zależy w sposób istotny od użytych
0
danych uczących.
0 1 2 3 4 5 6 7 8
W połączeniu z dostępnymi w Fuzzy Logic Toolbox
Ua  napięcie zasilania silnika
metodami klasteryzacji i neuronowo-rozmytymi techni-
300
kami uczenia, Genetic Algorithm Tool jest narzędziem,
które ułatwia znacząco projektowanie regulatorów
200
rozmytych typu Sugeno, w środowisku MATLAB-
skokowy wzrost Mst
100
-Simulink.
Etapy procesu projektowania regulatora rozmytego
0
0 1 2 3 4 5 6 7 8
typu Sugeno z uwzględnieniem funkcji bibliotek MA-
Time
TLAB-a wspomagających to projektowanie pokazano
na rys. 11.
Rys. 10. Przebiegi wejścia-wyjścia rozmytego regulatora prądu
i napięcia Ua dla parametrów z wektora xk (dla modelu
z rys. 4  blok Scope RI)
Bibliografia
1. Genetic Algorithm and Direct Search Toolbox User s
Etap 1: Zmienne lingwistyczne Guide, v. 2.0.1 (R2006a), The MathWorks, Inc.
Liczba i zakres zmian sygnałów na wejściu i
2. Fuzzy Logic Toolbox User s Guide, v. 2.2.3 (R. 2006a),
wyjściu
The MathWorks, Inc.
Wybór funkcji przynależności opisującej zbiory
3. J.-S.R. Jang, ANFIS: Adaptive-Network-based Fuzzy
rozmyte (mfdemo, trimf, gaussmf, & )
Inference Systems, IEEE Transactions on Systems,
Wybór wielomianu w konkluzjach (constant,
Man, and Cybernetics, Vol. 23, No. 3, (1993).
linear)
4. Z. Michalewicz, Algorytmy genetyczne + struktury
danych = programy ewolucyjne. WNT, Warszawa
2003
5. B. Mrozek, Regulatory rozmyte dla napędu prądu
Etap 2: Baza reguł regulatora rozmytego
Wiedza eksperta stałego, Pomiary Automatyka Robotyka 2/2003.
Funkcje genfis1, genfis2, genfis3 6. B. Mrozek, Z. Mrozek, MATLAB i Simulink. Porad-
(fcm, subclust)
nik użytkownika, Helion, Gliwice, 2004.
7. T.J. Ross, Fuzzy logic with engineering applications,
John Wiley&Sons, 2004.
8. P. Vas, Artificial Intelligence Based Electrical Machi-
Etap 3: Algorytmy implikacji, wnioskowania itp.
nes and Drives, Oxford University Press, 1999.
Opcje interejsu Fis Editor
Pola obiektu (ImpMethod, AggMethod, & )
Etap 4: Dobór parametrów regulatora rozmytego REKLAMA
Na podstawie danych numerycznych (anfis)
Na podstawie kryterium jakości sterowania(ga)
Rys. 11. Etapy procesu projektowania regulatora rozmytego
typu Sugeno
12


Wyszukiwarka

Podobne podstrony:
Synteza kaskadowego układu regulacji w środowisku Matlab Simulink
L2 PAA Modelowanie układu regulacji automatycznej z wykorzystaniem pakietu MATLAB Simulink(1)
wprowadzenie Matlab Simulink
projektowanie klasycznego i rozmytego układu sterowania
Podstawowe zasady tworzenia projektu dla STM32F4 w środowisku uVision 4 czesc I
Podstawowe zasady tworzenia projektu dla STM32F4 w środowisku uVision 4 czesc II
S Wprowadzenie do środowiska matlab
Wprowadzenie Matlab Simulink
Magdalena Rucka Macierzowa analiza konstrukcji – przykłady w środowisku MATLAB
Projekt regulatora PID i porownanie jego dzialania z ukladem kaskadowym
1 matlab simulink
SIMULINK MATLAB to VHDL Route

więcej podobnych podstron