Systemy rozmyte

 

System nawilżania ogrodu - pliki:

ogrod.m
sym_biomasy.m 

Sterowanie lądownikiem

Należy zaprojektować sterownik rozmyty lądownika dobierający siłę ciągu w zależności od ilości paliwa, wysokości i prędkości lądownika. Przebieg symulacji przedstawić na wykresach. Dla wstępnej oceny zachowania się lądownika można skorzystać z możliwości ręcznego sterowania – skrypt ladster.m.
 

zestaw 0

zestaw 3

zestaw_6

zestaw 9

zestaw 12

zestaw 15

zestaw 18

zestaw 1

zestaw 4

zestaw 7

zestaw 10

zestaw 13

zestaw 16

zestaw 19

zestaw 2

zestaw 5

zestaw 8

zestaw 11

zestaw 14

zestaw 17



Po uruchomieniu edytora systemów rozmytych w Matlabie komendą  fuzzy, należy stworzyć system obliczający siłę na podstawie 3 zmiennych wejściowych. W tym celu należy zaproponować zestawy zbiorów rozmytych dla każdej ze zmiennych (3 zmienne wejściowe, 1 wyjściowa) oraz zestaw reguł sterowania. Po zapisaniu  systemu na dysku (File/Export/To disk), należy zmodyfikować skrypt sym.m wpisując nazwę pliku z systemem rozmytym w linii fis=readfis(...). Następnie należy uruchomićskrypt sym w oknie dialogowym Matlaba. Po zakończeniu działania skryptu, na ekranie pojawiają się wyniki 5 symulacji dla 5 różnych stanów początkowych. Działanie sterownika rozmytego można uznać za poprawne jeśli w żadnej symulacji wartość bezwzględna prędkości końcowej lądownika nie przekroczy 5 m/s. Uruchomienie dodatkowego skryptu sym_pokaz_regul.m pozwala na obserwację procesu wnioskowania rozmytego.

Sterowanie samochodem podczas parkowania

Należy zaprojektować sterownik rozmyty samochodu dobierający kierunek ruchu K ze zbioru {-1,0,1}, oznaczający odpowiednio jazdę do tyłu, zatrzymanie, jazdę do przodu, oraz kąt skrętu kół w zakresie (-pi/4, pi/4) w zależności od współrzędnych położenia środka pojazdu: x, y oraz kąta ustawienia pojazdu względem osi drogi alfa. Zadanie zostanie uznane za wykonane, jeśli po każdym końcowym zatrzymaniu pojazdu odległość jego środka od środka miejsca postoju będzie mniejsza niż 0.5 m, a kąt mniejszy niż 0.25 rad.

Do wykonania systemu można wykorzystać edytor systemów rozmytych uruchamiany komendą fuzzy w systemie Matlab. Do symylacji systemu należy użyć skryptu parkster.m zamieniając tryb sterowania ręcznego na rozmyty w linii 20 oraz umieszczając w linii 27 nazwę systemu rozmytego (plik z rozszerzeniem fis). W linii 138 należy ustawić granicę wartości drugiej zmiennej wyjściowej, przy której podejmowana jest decyzja o zatrzymaniu pojazdu. Dodatki do wszystkich zestawów: skrypt parkster2.m pokazujący przebieg wnioskowania rozmytego podczas symulacji oraz parkster3.m pozwalający na symulację parkowania z każdego dowolnego położenia pojazdu na placu manewrowym.
 

zestaw 0

zestaw 3

zestaw 6

zestaw 9

zestaw 12

zestaw 15

zestaw 18

zestaw 1

zestaw 4

zestaw 7

zestaw 10

zestaw 13

zestaw 16

zestaw 19

zestaw 2

zestaw 5

zestaw 8

zestaw 11

zestaw 14

zestaw 17

zestaw 20


Zadanie dodatkowe: uczenie systemu rozmytego typu sugeno metodą anfis na podstawie historii sterowania ręcznego (po zakończeniu parkowania należy kliknąć środkowym klawiszem myszy).

Sterowanie układem złożonym z odwróconego wahadła umieszczonego na ruchomym wózku

sterowanie odwróconym wahadłem - wah_ucz.m 
przykładowa historia sterowania - rekordy.zip 
program wizualizacyjno-symulacyjny - WahRuch.exe
przykładowy sterownik neuronowy - wah_siec_10.txt 

Sterowanie odwróconym wahadłem - zestawy zadań:
 

zestaw1 

zestaw3

zestaw5

 

 

zestaw2

zestaw4 

 

 

 


Rozmyte systemy uczące się (anfis) :

aproksymacja funkcji 2-wymiarowej - sug1.m
aproksymacja funkcji 1-wymiarowej - an.m