Wybór manewru antykolizyjnego metodą ARTMAP
|
|
- Marcin Grzelak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Rok akademicki 2012/2013 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA INŻYNIERSKA Adam Antoniuk Wybór manewru antykolizyjnego metodą ARTMAP Opiekun pracy mgr inż. Zbigniew Szymański Ocena: Podpis Przewodniczącego Komisji Egzaminu Dyplomowego
2 Kierunek: Informatyka Specjalność: Inżynieria Systemów Informatycznych Data urodzenia: Data rozpoczęcia studiów: Życiorys Urodziłem się 8 sierpnia 1989 roku w Warszawie. W 2002 roku ukończyłem szkołę Podstawową i rozpocząłem naukę w Gimnazjum nr 27 im. Orląt Lwowskich, które skończyłem w 2005 roku. Po ukończeniu w 2008 roku CV Liceum Ogólnokształcącego im. Zbigniewa Herberta i zdaniu egzaminu maturalnego, rozpocząłem studia na Wydziale Zastosowań Informatyki i Matematyki Szkoły Głównej Gospodarstwa Wiejskiego, z których zrezygnowałem w 2009 roku, aby rozpocząć studia na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W 2011 roku odbyłem praktyki w firmie farmaceutycznej POLFA WARSZAWA S.A. w dziale informatyki.... Podpis studenta EGZAMIN DYPLOMOWY Złożył egzamin dyplomowy w dniu...20 r z wynikiem... Ogólny wynik studiów:... Dodatkowe wnioski i uwagi Komisji:
3 STRESZCZENIE W pracy przedstawiono zastosowanie sieci neuronowej typu Fuzzy ARTMAP do wybierania manewrów antykolizyjnych w systemie unikania kolizji AURA (autonomiczny układ antykolizyjny przeznaczony dla bezzałogowych środków latających wykorzystujących aktywną metodę teledetekcji obiektów). System ten może zostać użyty w bezzałogowych środkach latających. Określony został sposób tworzenia zarówno danych uczących jak i danych testowych przy pomocy symulatora radiowego detektora przeszkód. Ponadto wykonano testowanie, za pomocą stworzonych do tego celu skryptów i funkcji, zaproponowanego algorytmu w środowisku MATLAB. Słowa kluczowe: sieć neuronowa, ARTMAP, Fuzzy ARTMAP, MATLAB, AURA, samolot, manewr antykolizyjny, bezzałogowy Collision avoidance using ARTMAP neural network SUMMARY This dissertation analyzes the Fuzzy ARTMAP neural network architecture employed to select from a number of evasive actions enabled by the AURA anti-collision system (an autonomous anti-collision system designed for unmanned aerial vehicles which use active remote sensing). This system may be utilized in unmanned aerial vehicles. Discussed is the method of creating both machine learning data and test data by using a radio wave obstacle detector simulator. Also, carried out is a test of the Fuzzy ARTMAP algorithm in the MATLAB environment with designed functions and scripts for this task. Keywords: neural network, ARTMAP, Fuzzy ARTMAP, MATLAB, AURA, plane, evasive actions, unmanned 2
4 Spis treści 1. WSTĘP Opis problemu Cel pracy Podział pracy ELEMENTY SYSTEMU ANTYKOLIZYJNEGO Radarowy detektor przeszkód Attitude and Heading Reference System Mapa percepcyjna SIEĆ NEURONOWA Fuzzy ARTMAP Sieć fuzzy ART Ogólny opis sieci Fuzzy ARTMAP Działanie Fuzzy ARTMAP GENERACJA ZBIORÓW UCZĄCYCH Środowisko testowe Symulator Radaru Statku Powietrznego Zbiory uczące UCZENIE I TESTOWANIE Generacja sieci ARTMAP Testy Ogólny opis procesu testowania Testowanie Zakończenie...32 DODATEK A OPIS FUNKCJI
5 1. WSTĘP 1.1 Opis problemu Samoloty bezzałogowe zdobywają coraz większą popularność, a ich liczba w przestrzeni ciągle rośnie. Są wykorzystywane do coraz to nowych zadań takich jak rozpoznawanie terenu, transport zaopatrzenia czy wykonywania pomiarów w warunkach trudnych dla człowieka. Ich główną zaletą jest minimalizacja wkładu człowieka w sterowanie (pilot znajduje się w bezpiecznym miejscu na ziemi i wydaje tylko polecenia) lub nawet możliwość zaprogramowania pojazdu do samodzielnego działania. Wysyłając jednak tak zaprogramowany pojazd, często nie posiadamy żadnych informacji na temat przeszkód jakie może napotkać. Z tego powodu niezbędne jest opracowanie autonomicznego systemu, który rozpoznawał by zagrożenie w trakcie misji i wybierał taką trasę by uniknąć wszelkich kolizji (zarówno z przeszkodami naturalnymi jak drzewa i góry, jaki i przeszkodami sztucznymi jak np. budynki i mosty). Jest to realizacja zasady Sense and Avoid będąca odpowiednikiem zasady See and Avoid stosowanej w przypadku jednostek latających pilotowanych przez ludzi [1]. Tego typu system opracowywany jest przez Instytut Lotnictwa i Politechnikę Warszawską. Projekt nosi nazwę AURA (autonomiczny układ antykolizyjny przeznaczony dla bezzałogowych środków latających wykorzystujący aktywną metodę teledetekcji obiektów) i składa się z trzech elementów: radiowego detektora przeszkód, radiowysokościomierza oraz modułu odpowiedzialnego za unikanie kolizji [2]. 4
6 Informacje dostarczane przez dwa pierwsze elementy służą do tworzenia modelu otoczenia i są wykorzystywane przez moduł odpowiedzialny za unikanie kolizji do określania manewrów przez odpowiedni algorytm. 1.2 Cel pracy Celem pracy jest zastosowanie sieci neuronowej typu Fuzyy ARTMAP do wyboru manewru antykolizyjnego. Wybrany algorytm zostanie zaimplementowany w środowisku MATLAB przez specjalnie do tego celu stworzone funkcje. Do generowania map percepcyjnych, które posłużą jako wektory wejściowe dla sieci, wykorzystany zostanie symulator radaru statku powietrznego [3]. Zbiory uczące dla algorytmu będą tworzone przez odpowiednią modyfikację modelu otoczenia uzyskanego z symulatora. 1.3 Podział pracy Praca została podzielona na 6 rozdziałów. Rozdział 2 zawiera podstawowe informacje o urządzeniach pokładowych, dzięki którym tworzony jest model otoczenia oraz podstawowy opis map percepcyjnych. Rozdział 3 opisuje sieci typu fuzzy ARTMAP, wykorzystaną do wyboru manewru antykolizyjnego. W rozdziale 4 przedstawiono środowisko programowe służące do testowania danych i algorytmu. Rozdział 5 zawiera opis procesu uczenia sieci neuronowej i jej testowania. W rozdziale 6 znajduje się podsumowanie testów i dokonanych obserwacji w czasie ich wykonywania. Dodatek A zawiera opis funkcji utworzonych w środowisku MATLAB wykorzystywanych do tworzenia danych testowych i testowania. 5
7 2. ELEMENTY SYSTEMU ANTYKOLIZYJNEGO W tym rozdziale opisane zostaną elementy systemu antykolizyjnego, które biorą udział w tworzeniu modelu otoczenia. Zawarty jest tu krótki opis radarowego detektora przeszkód (RDP) oraz Attitude and Heading Reference System. Oba te elementy dostarczają danych niezbędnych do tworzenia map percepcyjnych otoczenia. 2.1 Radarowy detektor przeszkód Radar pokładowy (RDP) wykrywający przeszkody jest głównym elementem systemu antykolizyjnego. Dostarcza on informacji o aktualnym otoczeniu pojazdu i przeszkodach: zarówno statycznych (takich jak linie wysokiego napięcia czy drzewa), jak i dynamicznych, znajdujących się w niedużej odległości. Detekcja odbywa się w przedniej półsferze, ograniczonej w poziomie kątem ±78 i w pionie od -12 do +36. Półsfera podzielona jest na odpowiednio 13 stref o szerokości 12 (Rys. 2.1) i 2 strefy o wysokości 24 (Rys. 2.2). Maksymalna odległość, z której możliwe jest wykrycie przeszkody, wynosi 200m, jednak faktyczny dystans, przy którym nastąpi rozpoznanie przeszkoda, zależy od jej kształtu oraz materiału, z którego jest wykonana [4]. Wykryty obiekt opisywany jest przez odległość i jego prędkość względem statku powietrznego, oraz numerem strefy, w której został wykryty. Niewykorzystana przestrzeń pełnej półsfery, odpowiadająca dwóm sektorom, została umiejscowiona na początku i końcu półsfery. Wykorzystywane są one do określania warunków pracy, oraz korekcji błędów, które wynikają z budowy radaru [5]. 6
8 Rys Wiązki radaru w płaszczyźnie poziomej[5]. Rys Wiązki radaru w płaszczyźnie poziomej[5]. 2.2 Attitude and Heading Reference System Urządzenie Attitude and Heading Reference System (AHRS) [6] dostarcza dane między innymi o położeniu samolotu (dzięki wbudowanemu układowi GPS), oraz skorygowanej wysokości bezwzględnej (dzięki czujnikowi ciśnieniowemu). Położenie jest określone w systemie WGS84, jednak przetwarzane są one do kartezjańskiego układu PUWG 1992 ponieważ w tej postaci można je wykorzystać w systemie antykolizyjnym gdyż łatwo jest określić położenie statku powietrznego na mapach percepcyjnych. Dodatkowo system ten dostarcza wielu informacji o samolocie, wszystkie dostarczane parametry zamieszczone zostały w tabeli poniżej (Tabela 2.1). 7
9 Tabela 2.1: Parametry dostarczane przez układ AHRS. Zmienna Opis Pozycja GPS Współrzędne geograficzne - dwie liczby, po jednej dla każdej współrzędnej. U,V,W Składowe prędkości liniowej. Ich rozdzielczość wynosi 0,01 [m/s]. ax, ay, az Składowe przyspieszenia liniowego. Ich rozdzielczość wynosi 0,01 [mg]. Φ,Θ,Ψ Kąty przechylenia (Φ), odchylenia (Θ) i kursu (Ψ). Ich rozdzielczość wynosi 0,01 [º]. P,Q, R Składowe prędkości kątowej: przechylenia (P), pochylenia (Q) i odchylenia (R). 0,01 [º/s] 2.3 Mapa percepcyjna Mapa percepcyjna jest to liczbowa reprezentacja otoczenia samolotu z oznaczonymi przeszkodami za pomocą wartości niezerowych. Tworzona jest na podstawie danych pochodzących z radarowego detektora przeszkód w czasie trwania lotu. Mapa percepcyjnej bazuje na idei siatki pewności (certainty grid) [7] i przechowuje informacje o prawdopodobieństwie wystąpienia przeszkody na podstawie informacji dostarczonych przez elementy systemu antykolizyjnego. Podczas lotu z RDP dane otrzymywane są w biegunowym układzie współrzędnych. Pozyskane w ten sposób informacje, po transformacji z układu biegunowego na układ współrzędnych kartezjański, wykorzystywane są do tworzenia dwuwymiarowego histogramu na siatce kartezjańskiej. Przy analizowaniu danych pochodzących z radaru, modyfikowana jest tylko jedna komórka mapy, co w efekcie daje rozkład prawdopodobieństwa. Ponieważ proces ten odbywa się podczas ciągłego ruchu pojazdu i przy dużej częstotliwości próbkowania, zarówno komórka, jak i jej sąsiedztwo doznają przyrostów. Takie wielokrotne skanowanie pozwala na osiągnięcie dużych wartości w histogramie, co umożliwia określenie faktycznego położenia przeszkód. Informacje pochodzące z AHRS pozwalają określić które komórki w mapie percepcyjnej należy modyfikować. W wyniku tego procesu tworzona jest mapa percepcyjna, będącą tablicą. W komórkach zawiera ona liczby odpowiadające gęstość prawdopodobieństwa wystąpienia przeszkody. Plik mapy percepcyjnej poza tablicą wartości posiada nagłówek (Rys. 2.3) zawierający: 8 ncols rozmiar mapy w poziomie (liczba komórek) nrows rozmiar mapy w pionie (liczba komórek) xllcorner współrzędna x dolnego lewego rogu mapy (w układzie PUWG1992 jest to współrzędna y)
10 yllcorner - współrzędna y dolnego lewego rogu mapy (w układzie PUWG1992 jest to współrzędna x) cellsize rozmiar pojedynczej komórki mapy w metrach Została też przedstawiona graficzna interpretacja mapy percepcyjnej, im ciemniejszy kolor tym większa szansa na wystąpienie przeszkody w danym sektorze (Rys. 2.4). Mapa taka stanowi podstawę dla algorytmu wybierającego manewr antykolizyjny. ncols 485 nrows 762 xllcorner yllcorner cellsize 20 NODATA_value Rys Przykładowy fragment mapy percepcyjnej. Rys. 2.4: Wizualizacja przykładowego fragmentu mapy percepcyjnej z Rys Im ciemniejszy kolor tym większa szansa wystąpienia przeszkody w tym sektorze. 9
11 3. SIEĆ NEURONOWA Rozdział ten zawiera opis ogólny sieci neuronowej fuzzy ARTMAP - zarówno jej zalety jak i budowę oraz sposób jej działania. Znajduje się tu również ogólny opis sieci ART z której zbudowana jest wykorzystywany algorytm. Sieć typu fuzzy ARTMAP została wykorzystana do wyboru manewru antykolizyjnego bezzałogowego statku kolizyjnego w poniższych rozdziałach. 2.1 Fuzzy ARTMAP Sieć fuzzy ART Sieć fuzzy ART (Fuzzy Adaptive resonance theory) [8] jest typem sieci neuronowej wykorzystywanej do rozpoznawania wzorców i przewidywania zachowań. Wykorzystywane są najczęściej w budowie systemów eksperckich, elektronicznych systemach sterowania i eksploracji danych. Sieć ta w wektorze wejściowym przyjmuje wartości z zakresu 1 i 0. Rozpoznawanie i identyfikacja obiektówy odbywa się za pomocą działania góradół (top-down) i dół-góra (bottom-up). Przyjmuje się że góra-dół jest rodzajem pamięci, z którą porównywane są wartości wejściowe i w ten sposób określana jest kategoria do której należy przypisać wektor wejściowy. Jeśli wartość współczynnika dopasowania (vigilance parameter) zostanie przekroczona, to badany wektor nie zostaje przypisany danej kategorii. 10
12 2.1.2 Ogólny opis sieci Fuzzy ARTMAP W odróżnieniu od sieci ARTMAP, która była wykorzystywana do klasyfikacji wektorów wejściowych posiadających wartości binarne, sieć fuzzy ARTMAP [9] pozwala na wprowadzanie wartości z przedziału <0;1>. Efekt ten osiągnięto przez zamianę dwóch modułów ART 1 pierwotnej sieci ARTMAP na moduły logiki rozmytej (fuzzy ART). Tworzy to idealny układ do uczenia nadzorowanego. Do pierwszego modułu wprowadzane są dane wejściowe, do drugiego zaś wektor wyjściowy, jaki chcemy by zwrócił cały model po poprawnej klasyfikacji. Głównym celem uczenia jest maksymalne zwiększenia kompresji kodu przy jednoczesnej minimalizacji błędu predykcji. Cel ten realizowany jest głównie przez wykorzystanie procesu dopasowania, który w minimalny sposób modyfikuje wartość współczynnika dopasowania (vigilance paraneter) tak by poprawić błąd predykcji. Generowanie niepotrzebnych, nadmiarowych kategorii zostało wyeliminowane przez zastosowanie kodowania komplementarnego. Rys. 3.1: Architektura ARTMAP [9]. Sieć ARTMAP w czasie szybkiego uczenia tworzy inne macierze wagowe i kategorie dla tych samych zbiorów uczących, wprowadzanych w innej kolejności, mimo że całkowita dokładność predykcji każdej symulacji jest podobna. W celu eliminacji tego zjawiska wprowadzono strategię głosowania. Sieć uczy się tego samego zbioru danych kilkakrotnie, ładując kolejne wektory uczące w różnej kolejności. Klasyfikacja która została wybrana przez największą ilość symulacji jest wybierana jako końcowa predykcja dla zadanego zbioru danych. Zbiory dające błędną predykcję różnią się między przebiegami symulacji, ale dzięki wykorzystaniu strategii głosowania możliwa jest eliminacja znaczną część błędów. Metoda 11
13 sprawdza się również w sytuacjach, gdzie zbiory uczące są niewielkie, zakłócone lub niekompletne. Wielokrotne uczenie tych samych wektorów wejściowych, ale w innej kolejności znacznie zwiększa szansę poprawnej predykcji. Dodatkowo fuzzy ARTMAP w trakcie nauki przyjmuje wektory tak, jak by było to uczenie on-line. Więc po zakończeniu uczenia współczynniki sieci mogą być modyfikowane i nie są blokowane jak ma to miejsce w czasie uczenia off-line. Przez zastosowanie dwóch modułów typu ART (ARTa i ARTb) możliwa jest stabilna kategoryzacja wprowadzanych wektorów. Połączone są one przez asocjacyjną sieć uczącą, oraz wewnętrzny kontroler. Rysunek Rys. 3.1 przedstawia architekurę fuzzy ARTMAP z zaznaczonymi elementami składowymi (ARTa, ARTb i polem mapowym). Kontroler zaprojektowany jest tak. by utworzyć minimalną liczbę kategorii modułu ART a która zapewni osiągnięcie żądanej dokładności klasyfikacji, co więcej zapewnia on działanie w czasie rzeczywistym. Po kolejnych próbach w momencie udanej predykcja jest ona automatycznie łączona z odpowiednią kategorią w module ART a. Odbywa się to przez zwiększenie o jak najmniejszą wartości współczynnika dopasowania (ρa), która w module ARTb zapewni eliminację błędnej klasyfikacji. Współczynnik dopasowania określa minimalny stopień pokrycia jaki musi osiągnąć moduł ART dla zadanego wektora wejściowego przy porównywaniu go z aktualną kategorią, by został on do niej zaklasyfikowany. W przypadku niepoprawnej predykcji moduł ART b zwiększa wartość współczynnika dopasowania w module ART a tak, aby uruchomić proces dopasowywania. Efektem tego procesu jest wybranie nowej kategorii i grupy z wektora wejściowego (a) który pozwoli na lepszą predykcję sygnału nadzorującego (b).dzięki temu sieć typu fuzzy ARTMAP umożliwia poprawną klasyfikację zarówno sytuacji typowych, których wiele pojawiło się w trakcie uczenia, jak również sytuacji nietypowych, które znajdowały się w niewielkiej liczbie w zbiorach uczących [9]. Sieć ta została wybrana gdyż jest względnie prosta w użyciu, nie wymaga wstępnego określenia macierzy wagowej dla sieci oraz ilość parametrów, która ją określa jest stosunkowo niewielka Działanie Fuzzy ARTMAP Algorytm ten składa się z dwóch modułów typu Fuzzy ART (zwanych dalej ART a i ARTb). Każdy z modułów ART składa się z trzech pól - F0,F1 i F2. Moduły połączone są za pomocą pola mapowego (map field), który jest odpowiedzialny za łączenie kategorii z oczekiwaną wartością. Główne elementy systemu fuzzy ARTMAP został przedstawione na schemacie blokowym (Rys. 3.2). W przypadku gdy uzyskana predykcja nie zgadza się z tą pochodzącą z ARTb) pole mapowe zwiększa współczynnik dopasowania ART a) w celu uruchomienia procedury dopasowania (match tracking). 12
14 Rys. 3.2: Schemat blokowy fuzzy ARTMAP. W polu F0 odbywa się normalizacja sygnału który został podany na wejście. Polega to na zamianie wektora wejściowego w wektor dwa razy dłuższy, który jest uzupełniony o negację pierwotnego sygnału (3.1) i jest określana jako kodowanie komplementarne. Dzięki temu uzyskiwana jest stała norma wektora(3.2). a c =1 a (3.1) A= a, a c (3.2) Wyjściami dla pól F1 są odpowiednio wektory xa (3.3) i xb (3.4), natomiast dla pól F2 jest to ya (3.5) i yb (3.6). Przy czym M i N to wielkości wektorów wejściowego do każdego z modułów przed normalizacją, wja (3.7) i wib (3.8) natomiast to macierze wagowe ARTa i ARTb, powiązane z polem F2. x a = x1a, x a2... x a2m (3.3) x b= x b1, xb2... x b2n (3.4) a a a a y = y 1, y 2... y 2M (3.5) y b= y b1, y b2... y b2n (3.6) a a a a w j = w j1, w j2... w j2m (3.7) w bi = w bi1, wbi2... wbi2n (3.8) Pole mapowe (zwane również Fab) posiada również swoją macierz wagową wkab (3.9), która łączy pole F2 modułu ARTa. Wyjściowym natomiast, dla tej części sieci jest wektor xab (3.10). Pole mapowe zostaje pobudzone do działania w momencie, gdy jedna z kategorii ARTa lub ARTb staje się aktywna. Jednoczesna aktywacja kategorii w obu modułach powoduje pobudzenie pola Fab tylko i wyłącznie w sytuacji, gdy zarówno ART a jak i ARTb wybrało tę samą kategorię. Procedura dopasowania jest uruchamiana w sytuacji, gdy pole mapowe zwróci wartość 0. Inne wartości zwracana przez to pole są zależne od tego które moduły są aktywne i mogą przyjmować: 13 yb, gdy tylko pole F2 w ARTb jest aktywne. 0, gdy pola F2 w obu modułach są nieaktywne.
15 wkab, gdy tylko pole F2 w ARTa jest aktywne. yb kab, gdy oba pola F2 obu modułach są aktywne.aa ab ab ab ab w k = w k1, w k2... w k2n ab ab x ab= x ab 1, x 2... x N (3.9) (3.10) Procedura dopasowania wymusza na module ARTa poszukiwania lepszej kategorii niż aktualnie wybrana. Przy każdym nowym zbiorze danych wartość parametru ρa przyjmuje wartość początkową, która w przypadku uruchomienia procedury dopasowania jest modyfikowana tak by nieznacznie przewyższać pewną wartość (3.11). W momencie, gdy wyjście pola F1 w ARTa spełnia nierówność xa = A wja < ρa A (gdzie j to indeks kategorii aktywnej w polu F2 tego modułu) powoduje wybranie innej kategorii zapewniającej lepsze dopasowanie i która da lepsze dopasowanie do aktywnej kategorii w module ARTb(3.12)(3.13). Uczenie pola mapowego odbywa się przez dopasowywanie wag pomiędzy polem F2 modułu ARTa i Fab, tak aby jak najlepiej połączyć aktywne kategorie w obu modułach. Podczas szybkiego uczenia które zostało wykorzystane w tej pracy, w momencie, gdy kategoria aktywna w module ARTa poprawnie przewidują tę aktywną w module ART b utworzone jest stałe połączenie między nimi, a wartość wagowa w polu mapowym dla kategorii z tych modułów zostaje przypisana na stałe(3.14). A w aj A 1 x a = A w aj ρa A x ab = yb w abj ρab y b ab w ji 0 =1 14 (3.11) (3.12) (3.13) (3.14)
16 4. GENERACJA ZBIORÓW UCZĄCYCH Rozdział ten zawiera opis tworzenia zbiorów uczących dla sieci neuronowej. Przedstawia informacja o przyjętych założeniach, takich jak maksymalne odchylenia i szybkość skrętu. Zawarte są również opisy wykorzystanego środowiska programowego, oraz wykorzystanej implementacji algorytmu fuzzy ARTMAP do testowania manewrów antykolizyjnych. 4.1 Środowisko testowe Uczenie i testowanie zostało przeprowadzone w programie MATLAB R2011a. Środowisko to zostało wybrane, ponieważ w łatwy sposób umożliwia operację na danych macierzowych oraz umożliwia ich wizualizację. dane które stanowią wektory wejściowe dla algorytmu wyboru antykolizyjnego mają postać macierzową, jak również sam algorytm (sieci neuronowe) jest typu macierzowego. Wykorzystana została implementacja sieci neuronowej Fuzzy ARTMAP autorstwa Aarona Garetta [10]. Dostarcza ona funkcje (Tabela 5.1) pozwalające między innymi na tworzenie i uczenie sieci oraz klasyfikację wektorów wejściowych. Pełen opis funkcji można znaleźć w rozdziale 5. Możliwy jest dostęp do parametrów utworzonej sieci, oraz modyfikowanie części z nich w zależności od potrzeb. 15
17 4.2 Symulator Radaru Statku Powietrznego Do tworzenia map percepcyjnych został wykorzystany symulator radaru statku powietrznego autorstwa Michała Pawłowskiego [3]. Symulator ten służy do symulacji RDP, a dane wejściowe zawarte są w następujących plikach: 1. Plik trajektorii - umożliwia wprowadzanie trajektorii lotu, określając między innymi położenie liniowe (przesunięcie), wysokość, aktualne przechylenie, odchylenie i pochylenia statku powietrznego w każdym momencie symulacji, fragment przykładowego pliku trajektorii przedstawia Rys Plik z opisem przeszkód terenowych - plik zawiera przeszkody określając ich położenie oraz wysokość. Wartości zawarte w pliku określają wysokość przeszkody, wartość 0 oznacz brak przeszkody w danym sektorze. Przykładowy fragment pliku trajektorii wraz z nagłówkiem przedstawiono na Rys Plik ten zawiera w nagłówku następujące informacje: ncols rozmiar mapy w poziomie (liczba komórek) nrows rozmiar mapy w pionie (liczba komórek) xllcorner współrzędna x dolnego lewego rogu mapy (w układzie PUWG1992 jest to współrzędna y) yllcorner - współrzędna y dolnego lewego rogu mapy (w układzie PUWG1992 jest to współrzędna x) cellsize rozmiar pojedynczej komórki mapy w metrach "t","dh","dv","dl","t","u","v","w","p","q","r","fi","tetea","psi","x1","y1","z1" 0,1.84,0,0, , ,0, ,0,0,0,0,0,0,0,0, ,1.8399, ,3.7723, , , , ,5.2951, , ,0,0,0,5,-0, ,1.8399,-0.534,3.6417, , , , , , , ,0,0,0,10,-0, ,1.8403, ,3.5167, , , , , , , ,0,0,0,15,0, ,1.8416, ,3.3978, , ,0.3646, , , , ,0,0,-0.5,20,-0.04, ,1.844, ,3.2853, , , ,2.6581, , , ,0,0,-1.5,25,-0.17, ,1.8472, ,3.1789, , , , , , , ,0,0,-2.5,30,-0.39, ,1.8507, ,3.0783, , , , , , ,-0.265,0,0,-4,34.99,-0.74, ,1.8537,-0.522,2.9826, , ,0.9693, , , , ,0,0,-5.5,39.97,-1.22, ,1.8554, ,2.8908, , , , ,7.9972, , ,0,0,-7,44.93,-1.83, ,1.8551,-0.477,2.8017, , , , , , , ,0,0,-8.5,49.88,-2.57, ,1.8523, ,2.7144, , ,1.0845, , , , ,0,0,-10,54.8,-3.44, ,1.8468, ,2.6277, , , , , , , ,0,0,-11.5,59.7,-4.44, ,1.8386, ,2.5409, , ,0.9656, , , , ,0,0,-12.5,64.58,-5.52, ,1.828, ,2.4534, , , , , , , ,0,0,-13.5,69.44,-6.69, ,1.8154, ,2.3649, ,49.942, , , , , ,0,0,-14.5,74.28,-7.94, ,1.8013, ,2.2754, , , , , , ,3.9126,0,0,-15.5,79.1,-9.28, ,1.7862, ,2.185, , , , , , , ,0,0,-16.5,83.89,-10.7, ,1.7708, ,2.0943, , , , , ,0.502, ,0,0,-17.5,88.66,-12.2, ,1.7556,-0.34,2.0038,782.21, , , , , , ,0,0,-18.5,93.4,-13.79, ,1.7408, ,1.914,780.17, , , , , , ,0,0,-19.5,98.11,-15.46, Rys. 4.1: Fragment przykładowej, dwu sekundowej trajektorii. 16
18 ncols 334 nrows 504 xllcorner yllcorner cellsize 20 NODATA_value Rys Fragment pliku z przeszkodami Symulator tworzy plik z wykrytymi obiektami detection_results.dat, który zawiera informacje o przeszkodach wykrytych w poszczególnych sektorach RDP w formie jak Rys. 4.3, który przedstawia przykładowy plik z wykrytymi obiektami. Wartości zawarte w tym pliku oznaczają jaką część poszczególnych sektorów RDP zajmują przeszkody w danej chwili symulacji. Tworzona jest również mapa percepcyjna perception_map.txt, powstałą przy zadanej trajektorii i przeszkodach. Mapa ta jest podstawą do tworzenia wektorów wejściowych dla algorytmu Fuzzy ARTMAP odpowiedzialnego za wybór manewru antykolizyjnego. 17
19 0.1,698637,200000,5,0,0,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0, (4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.0,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0, (10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698642,200000,5,0,0,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0, (4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.0,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0, (10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698647,200000,5,0,0,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0, (4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.50,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698652,200000,5,0,-0.5,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0,(4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 1.0,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698657,200000,5,0,-1.5,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0,(4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 1.0,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698662,200000,5,0,-2.5,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0,(4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.50,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698667,199999,5,0,-4,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0, (4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.50,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698672,199999,5,0,-5.5,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0,(4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.50,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) ,698677,199998,5,0,-7,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0, (4 1) 0.0,(5 0) 0.0,(5 1) 0.0,(6 0) 0.0,(6 1) 0.0,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0, (10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) 0.0 1,698682,199997,5,0,-8.5,0,(0 0) 0.0,(0 1) 0.0,(1 0) 0.0,(1 1) 0.0,(2 0) 0.0,(2 1) 0.0,(3 0) 0.0,(3 1) 0.0,(4 0) 0.0, (4 1) 0.0,(5 0) 0.25,(5 1) 0.50,(6 0) 0.0,(6 1) 0.0,(7 0) 0.0,(7 1) 0.0,(8 0) 0.0,(8 1) 0.0,(9 0) 0.0,(9 1) 0.0,(10 0) 0.0,(10 1) 0.0,(11 0) 0.0,(11 1) 0.0,(12 0) 0.0,(12 1) 0.0 Rys. 4.3: Fragment pliku z wykrytymi obiektami. 4.3 Zbiory uczące Po utworzeniu pliku trajektorii lotu i mapy przeszkód, uruchamiany zostaje symulator. Następnie po zakończeniu symulacji tworzone są wszystkie pliki wyjściowe, między innymi aktualna mapa percepcyjna. Przyjęto, że rozdzielczość siatki (parametr cellsize mapy percepcyjnej wynosi 20) to 20 m, ponieważ większa gęstość spowodowała by niepotrzebny wzrost zajętości pamięci i obciążenie procesora systemu antykolizyjnego, natomiast rzadsza - utratę informacji [4]. Rys. 4.4 przedstawia ogólny schemat blokowy systemu antykolizyjnego. Po określeniu położenia samolotu na podstawie współrzędnych x i y, można dokonać wyboru interesującego nas fragmentu mapy percepcyjnej. Fragment ten jest prostokątem o wymiarach 20x30 komórek (czyli 400x600 m) o środku w sektorze w którym znajduje się samolot. 18
20 Rys. 4.4: Ogólny schemat systemu antykolizyjnego AURA [4]. Następnie uzyskane fragment mapy percepcyjnej w postaci macierzowej, zamieniany jest na 600 elementowy wektor. Dodając do niego informację o aktualnym kierunku samolotu (stopniu skrętu w stopniach) otrzymujemy wektor, który będzie stanowił wejście dla sieci neuronowej. Sygnał nadzorujący dla zadanej mapy jest obliczany na podstawie pliku trajektorii - jest to różnica między aktualnym kursem, a kursem którym podążał samolot krok wcześniej. Sposób zamiany mapy percepcyjnej na wektor przedstawiono na rysunku Rys Natomiast na Rys. 4.6 przedstawiono schemat blokowy całego procesu tworzenia zbioru uczącego, łącznie z krokiem kodowania komplementarnego. W bloku Położenie i kierunek z pliku trajektorii wydobywana jest informacja o aktualnym położeniu i kursie oraz o ile wynosi wartość zmiany kursu. Sygnał nadzorujący jest obliczany na podstawie aktualnie analizowanego wpisu w trajektorii z jego poprzednikiem. Blok Wybór fragmentu na podstawie położenia statku powietrznego wybiera fragment mapy percepcyjnej do dalszego przetwarzania. Fragment ten zamieniany jest na wektor i rozszerzany o aktualny kurs, odbywa się to w bloku Wektor kolumnowy + kurs. Po kodowaniu komplementarnym wektor może być podany jako wejście sieci fuzzy ARTMAP. 19
21 Rys. 4.5: Zamiana fragmentu mapy percepcyjnej na wektor kolumnowy. Rys. 4.6: Schemat blokowy tworzenia zbioru uczącego. Sygnałem nadzorującym, wykorzystywanym do uczenia sieci jest pojedyncza liczba określająca o ile stopni należy zmienić kurs statku powietrznego. Ponieważ istnieje obecnie wiele różnych typów założono, że istnieje 7 możliwych rodzajów zmiany kursu (7 klas dla sieci ARTMAP), które zamieszczono w tabeli poniżej (Tabela 4.1). 20
22 Tabela 4.1: Przyjęte możliwości zmiany kursu oraz wartości ich promienia skrętu. Opis Przyjęta wartość Promień skrętu Szybki skręt w lewo -1.5 /0.1s m Normalny skręt w lewo -1.0 /0.1s m Wolny skręt w lewo -0.5 /0.1s m Brak konieczności skrętu 0.0 /0.1s 0m Wolny skręt w prawo 0.5 /0.1s m Normalny skręt w prawo 1.0 /0.1s m Szybki skręt w prawo 1.5 /0.1s m Możliwość uniknięcia przeszkody za pomocą zwiększenia wysokości nie została wzięta pod uwagę. Czas 4 sekund jakie mamy do dyspozycji przy przyjętej prędkości 50m/s i obecnym zasięgu radaru (200m), od momentu wykrycia przeszkody do momentu zderzenia, jest zbyt krótki by możliwe było uzyskanie wystarczającej siły nośnej potrzebnej do wyminąć przeszkody górą. 21
23 5. UCZENIE I TESTOWANIE Rozdział ten zawiera informację o procesie uczenia sieci neuronowej, funkcjach do tego wykorzystywanych, typie i liczbie wektorów wejściowych, jak również o sposobie przeprowadzania testów, na nauczonej już sieci ARTMAP przez przygotowane do tego celu zbiory uczące. 5.1 Generacja sieci ARTMAP Sieć fuzzy ARTMAP została utworzona za pomocą funkcji ARTMAP_Create_Network i nauczona za pomocą funkcji ARTMAP_Learn które udostępnia pakiet implementujący sieć typu fuzzy ARTMAP w środowisku MATLAB. Autorem tego pakietu jest Aaron Garett [10], a pełen opis funkcji wchodzących w skład tego pakietu wykorzystywanych do obsługi sieci ARTMAP znajduje się w tabeli. Tabela 5.1.Pełen zestaw dostępnych funkcji umożliwiających obsługę sieci fuzzy ARTMAP z pakietu implementującego sieć Fuzzy ARTMAP w środowisku MATLAB [10]. Nazwa funkcji Parametry Opis ARTMAP_Add_New_Category macierz wag sieci; mapa kategorii Dodaje nową kategorię do sieci ARTMAP 22
24 ARTMAP_Classify sieć ARTMAP; wektor wejściowy ARTMAP_Create_Network liczba zmiennych w wektorze Tworzy sieć ARTMAP wejściowym; liczba klas ARTMAP_Learn sieć ARTMAP; wektor wejściowy; wektor nadzorujący Uczy sieć ARTMAP wskazanymi danymi. ART_Activate_Categories wektor wejściowy; macierz wag; współczynnik funkcji aktywacji Wykorzystywana przez wektor wejściowy; wektor wag danej kategorii Wykorzystywana przez ART_Calculate_Match Używane do klasyfikacji danych wejściowych przez nauczoną sieć ARTMAP ARTMAP_Classify i ARTMAP_Learn. Aktywuje kategorie sieci dla zadanego wektora wejściowego. ARTMAP_Classify i ARTMAP_Learn.Określ a dopasowanie zadanego wektora wejściowego i kategorii. ART_Complement_Code wektor wejściowy Uzupełnienie zadanego wejścia, gdzie uzupełnienem x jest 1-x. ART_Update_Weights wektor wejściowy; macierz wag; numer kategorii; prędkość uczenia Wykorzystywane przez ARTMAP_Learn. Aktualizuje macierz wagową sieci. Zbiory testowe tworzone były średnio kilka razy w ciągu sekundy trwania symulacji. Każda utworzona mapa percepcyjna zawiera w swojej nazwie indeks czasowy, w którym została utworzona, tak aby dało się powiązać położenie samolotu (z pliku trajektorii) z daną mapą percepcyjną. Format nazewnictwa tworzonych map percepcyjnych przedstawiono Rys Rys. 5.1: Format nazewnictwa map percepcyjnych (np. dla mapy wygenerowanej po 1.2s symulacji będzie to 1.2_perception_map.txt). Posiadając katalog z utworzonymi mapami jaki i plikiem trajektorii (trajectory.dat), możliwe jest rozpoczęcie tworzenia danych testowych. Do tego celu została przygotowana funkcja load_maps_from_dir.m, która pobiera wszystkie mapy percepcyjne wskazanego katalogu, tworzy z nich wektory uczące i sygnały nadzorujące, oraz dodaje je do podanych jako 23
25 parametry zmiennych. W opisany powyżej sposób zostało wygenerowanych ponad 500 zbiorów uczących pochodzących z trzech symulowanych przelotów w których narzucono z góry sposób wymijania przeszkody. Pierwsza symulacja którą widzimy na Rys. 5.3, przedstawia sytuację gdzie przeszkody nie powodują konieczności zmiany trajektorii lotu. Konieczność skrętu w lewo, po wykryciu przeszkody przed samolotem w czasie lotu prosto, przedstawia Rys Rys. 5.6 przedstawia sytuacje, gdy podczas lotu prosto wykryta przeszkoda zmusza pojazd do skrętu w prawo w celu jej wyminięcia. Algorytm uczenia został przedstawiony w formie pseudokodu i znajduje się w listingu poniżej (Listing 5.1). Pierwsza linia odpowiada za utworzenie sieci fuzzy ARTMAP A, następnie ustalane są parametry tej sieci. Linia czwarta przypisuje do zmiennej I tablice danych wejściowych, natomiast w kolejnej linii następuje kodowanie komplementarne zmiennej I. W linii szóstej następuje przypisanie wektora uczącego do zmiennej s. W linii ósmej rozpoczyna się pętla która w kolejnych przebiegach uczy sieć A kolejnymi danymi ze zmiennej S i cci dopóki nie zostaną nauczone wszystkie dostępne dane znajdujące się w zmiennej cci. Listing 5.1: Sposób uczenia sieci neuronowej wskazanymi danymi create ARTMAP A; A.vigilance = 0.8; A.maxNumCategories = 1000; I = input data matrix; cci = complemented code I; S = supervisor vector; j=0; while j< size(cci) { learn A with cci(j) supervised by S(j); j=j+1; } Zaznaczyć należy, że w poniższych wykresach, opisy na osiach są to numery komórek we fragmencie mapy percepcyjnej (numer wyciętego sektoru mapy percepcyjnej od początku danej symulacji, na Rys. 5.5 możemy zobaczyć przykład mapy percepcyjną z zaznaczonym fragmentem w którego sąsiedztwie znajdował się samolot w trakcie symulacji), której rozdzielczość jest równa wartości parametru cellsize umieszczonemu w nagłówku mapy percepcyjnej i w tym przypadku wynosi 20m. Położenie samolotu zostało oznaczone różowymi punktami, w miejscach, w których z aktualnej mapy percepcyjnej utworzono zbiór uczący. Prawdopodobieństwo wystąpienia przeszkody w poniższych mapach percepcyjnych zostało określone za pomocą odpowiedniej skali kolorów (Rys. 5.2), kolory cieplejsze oznaczają większe prawdopodobieństwo obecności przeszkody w danym sektorze, zimne natomiast oznaczają niewielką szansę wystąpienia przeszkody. Rys. 5.2: Skala odpowiadająca prawdopodobieństwu wystąpienia przeszkody. Wszystkie wykresy w tym i następnych rozdziałach zostały sporządzone w tej skali. 24
26 Rys. 5.3: Fragment przelotu samolotu z przeszkodami, w którym nie jest wymagane unikanie przeszkody. Fragment ten w rzeczywistości posiada wymiary 400 na 1400 metrów. Rys. 5.4: Fragment przelotu samolotu wymagający skrętu w lewo celem uniknięcia przeszkody. Fragment ten w rzeczywistości posiada wymiary 600 na 400 metrów. 25
27 Rys. 5.5: Przykład mapy percepcyjnej z zaznaczonym fragmentem, na podstawie której utworzono wykresy z zaznaczonym kolorami prawdopodobieństwem i położeniem samolotu. (Z tego fragmentu utworzono wykres przedstawiony na Rys. 5.4) Rys. 5.6: Fragment przelotu samolotu wymagający skrętu w prawo celem uniknięcia przeszkody. Fragment ten w rzeczywistości posiada wymiary 840 na 660 metrów. 26
28 Kolejnym krokiem było utworzenie sieci ARTMAP, która przyjmuje wektory wejściowe posiadające 1202 wartości po normalizacji wektora uzyskanego z mapy percepcyjnej i pozwala na utworzenie 7 klas. Przeprowadzono uczenie sieci utworzonymi danymi testowymi. Użyto 100 przebiegów (100 epoch) i doprowadziło to do utworzenia 134 kategorii, pełen zestaw parametrów utworzonej sieci przed i po uczeniu znaleźć można w tabeli poniżej (Tabela 5.3). (Powyższe operacje zostały wykonane przy pomocy funkcji z Tabela 5.1). Natomiast opis danych które zostały wykorzystane do uczenia znajduje się w Tabela 5.2. Tabela 5.2: Nazwy katalogów wraz z opisem w których znajdują się mapy percepcyjne wykorzystane do uczenia sieci fuzzy ARTMAP. Katalog z mapami Opis u1_mapy_percepcyjne Katalog zawiera mapy percepcyjne utworzone w czasie symulacji nie wymagającej wykonywania manewrów antykolizyjnych. u2_mapy_percepcyjne Katalog zawiera mapy percepcyjne utworzone w czasie symulacji unikania przeszkody przez skręt w lewo. u3_mapy_percepcyjne Katalog zawiera mapy percepcyjne utworzone w czasie symulacji unikania przeszkody przez skręt w prawo. Tabela 5.3: Wartości parametrów sieci fuzzy ARTMAP utworzonej w MATLAB'ie przed i po uczeniu. 27 Parametr Wartość przed uczeniem Wartość po uczeniu numfeatures numcategories maxnumcategories numclasses 7 7 weight [] macierz 1202x134, z wartościami od -39 do 1. mapfield [] macierz 1x134, z wartościami od -1.5 do 1.5. vigilance bias 1.000e e-06 numepochs learningrate 1 1
29 5.2 Testy Ogólny opis procesu testowania a. b. c. d. e. f. g. Algorytm testowania składa się z następujących kroków: Pobranie mapy percepcyjnej. Utworzenie wektora wejściowego dla nauczonej sieci ARTMAP. Podanie wektora na wejście sieci neuronowej. Określenie zmiany kursu przez algorytm, którym powinien się poruszać samolot (czyli o ile trzeba zmienić aktualny kurs jakim się porusza). Na podstawie nowego kursu obliczane jest położenia w którym powinien znajdować się statek powietrzny. Wprowadzenie nowego położenia i kursu do pliku trajektorii. W momencie osiągnięcia określonego w podpunkcie f) położenie ponowne rozpoczęcie testowania od podpunktu a dla aktualnej mapy percepcyjnej) Testowanie Do testowania utworzono kilka funkcji: classify_pm - jest wykorzystywana do klasyfikacji zadanej mapy percepcyjnej przez wskazaną sieć ARTMAP. Zwracana wartość określa o ile stopni należy zmienić aktualny kurs samolotu. trajectory_init - tworzy plik trajektorii (jeśli nie istnieje), lub usuwa zawartość już istniejącego, następnie wstawia linię z opisami kolumn które zawiera plik trajektorii i wprowadza pierwszą linię trajektorii o zadanych parametrach z indeksem czasowym 0.0. Simple_add_to_trajectory wykorzystywana jest do tworzenia wpisów w pliku trajektorii z możliwością określenia prędkości statku powietrznego, oraz jaki czas powinien upłynąć od poprzedniego położenia samolotu do położenia w aktualnie tworzonym wpisie w trajektorii. Pełen opis dostępnych funkcji znajduje się w załączniku A (DODATEK A OPIS FUNKCJI). Przy próbie wyminięcia przeszkody po nauczeniu fuzzy ARTMAP niecałymi 200 zbiorami uczącymi dochodziło do kolizji z przeszkodą w trakcie symulacji, jednak po nauczeniu sieci zbiorami zawierającymi ponad 500 przypadków opisanymi w 5.1 Generacja sieci ARTMAP, osiągnięty został zadowalający wynik działania algorytmu. Odpytywanie algorytmu (pobieranie kolejnych map percepcyjnych i tworzenie z nich wektorów wejściowych) odbywało się co 0.2s. Określanie położenia i kierunku samolotu odbywało się co 0.1s, czyli wprowadzano dwie linie do pliku trajektorii z nowymi parametrami między przekazaniami kolejnych map percepcyjnych do klasyfikacji. Dane nowych wpisów były zgodne z ostatnią zwróconą wartością z sieci ARTMAP. 28
30 Na Rys. 5.8 została wykryta możliwa przeszkoda, ale wartość prawdopodobieństwa odpowiadająca jej wystąpieniu jest na tyle mała, że dopiero po przelocie 20m zostaje podjęta decyzja o rozpoczęciu wolnego skrętu w lewo. W momencie gdy samolot przemieszcza się do przodu wiadomo już, w którym sektorze znajduje się przeszkoda i zostaje podjęta decyzja o zwiększeniu prędkości skręcania do normalnej (prędkości skręcania zostały przedstawione w Tabela 4.1) co widać na Rys W ciągu następnej sekundy symulacji kontynuowany jest skręt z normalną prędkością pozwalający na bezpieczne uniknięcie kolizji, sytuacje tą przedstawia Rys Na Rys. 5.11, widać że samolot znajduje się na kursie który zapewnia bezpieczne wyminięcie przeszkody, więc nie zostaje podjęta decyzja o dalszej zmianie kursu. Po 4.6 sekundach symulacji widać, że nie doszło do sytuacji w której statek znalazł by się niebezpiecznie blisko przeszkody, co przedstawia Rys Dalsza zmiana kursu nie jest zalecana przez sieć fuzzy ARTMAP, ponieważ pojazd nie znajduje się w dalszym ciągu na kursie kolizyjnym. Pełna lista decyzji jakie podjęła sieć neuronowa podczas każdego zapytania znajduje się w tabeli poniżej (Tabela 5.4). Tabela 5.4: Przedstawiono tu wszystkie decyzje, o ile stopni nalezy zmienić aktualny kurs, jakie podjęła sieć Fuzzy ARTMAP w trakcie trwania symulacji - dla map percepcyjnych utworzonych w momencie 't' trwania symulacji. 't' [s] Decyzja sieci Fuzzy ARTMAP º º º º º º º º º º º º º º 3.0 0º 3.2 0º 3.4 0º 3.6 0º
31 3.8 0º 4.0 0º 4.2 0º 4.4 0º 4.6 0º Po wykonaniu map percepcyjnych podczas testowania została przeprowadzona ich walidacja. Do tego celu została wykorzystana funkcja validate_trajectory. Sprawdza ona, czy w pobliżu (określonym przez parametr) samolotu znajduje się jakaś przeszkoda. Sprawdzenie odbywa się dla każdej dostępnej mapy percepcyjnej, czyli w tym przypadku co 0.2s trwania symulacji. Jeśli w którymkolwiek momencie utworzenia mapy percepcyjnej w sąsiedztwie samolotu znajduje się przeszkoda funkcja zwróci wartość 0, lub 1 w momencie brak wykrycia przeszkody. W przedstawionym teście przyjęty parametr jaki ma być sprawdzony to 1 (Rys. 5.7). W wymienionym przypadku wynik walidacji wynosił 1, czyli dla wszystkich wygenerowanych w teście map percepcyjnych nie zdarzyła się sytuacja, by w pobliżu samolotu pojawiła się przeszkoda. Można wiec z całą pewnością powiedzieć że algorytm spełnia swoje zadanie i system jest zdolny do unikania kolizji z wykorzystaniem sieci ARTMAP. Rys. 5.7: Obszary brane podczas walidacji. Kropka oznacza sektor w którym znajduje się samolot, krzyżykiem oznaczono sektory które są sprawdzane pod kątem obecności przeszkód. Tutaj argumentem funkcji walidującej było 1, sprawdzone więc zostały sektory sąsiadujące z samolotem, bo ich odległość od niego wynosi 1. 30
32 Rys. 5.8: Sytuacja po 1.0s trwania symulacji testowej. 31 Rys. 5.9: Sytuacja po 2.0s trwania symulacji testowej.
33 Rys. 5.10: Sytuacja po 3.0s trwania symulacji Rys. 5.11: Sytuacja po 4.0s trwania symulacji testowej. testowej. 32
34 Rys. 5.12: Sytuacja po 4.6s trwania symulacji testowej. 33
35 6. Zakończenie Celem pracy było wykorzystanie sieci neuronowej typu fuzzy ARTMAP do wyboru manewru antykolizyjnego i cel ten został osiągnięty. Algorytm po nauczeniu 556 przypadków jest w stanie w sposób zadowalający działanie, jakie należy wykonać w celu uniknięcia przeszkody. W żadnym momencie działania algorytmu antykolizyjnego symulowany pojazd nie znalazł się w sąsiedztwie przeszkody. Parametry przyjęte do działania algorytmu (jak maksymalna szybkość z jaką może skręcać) mogą się różnić od faktycznych możliwości konkretnego bezzałogowego statku powietrznego. W zależności od specyfikacji pojazdu, w którym będzie się znajdował, należy dostosować odpowiednie parametry w zbiorach uczących (tak, by wartości zwracane były odpowiednie dla danego pojazdu), lub w odpowiedni sposób przeskalować wartości zaproponowane powyżej jakie zwraca sieć fuzzy ARTMAP. Po wyminięciu przeszkód (gdy ostatnia wykryta przeszkoda znajduje się kilka sektorów za samolotem) kontrolę nad pojazdem powinien przejąć autopilot. Najlepszym rozwiązaniem jest użycie opisanego algorytmu wraz z innym modułem, odpowiedzialnym za planowanie trasy misji. Algorytm powinien przejąć kontrolę, lub wpływać na moduł sterowania w momencie wykrycia zagrożenia (czyli np. gdy w części mapy percepcyjnej w otoczeniu samolotem wartości nie są równe zeru), a nie powinien ingerować, czy też być branym pod uwagę, w momencie braku zagrożenia. 34
36 Bibliografia [1] J. D. Grithy, M. J. Kochenderferz, J. K. Kuchar, "Electro-Optical System Analysis for Sense and Avoid", AIAA Guidance - Navigation and Control Conference and Exhibit, Honolulu, Hawaii, 1-11 (2008) [2] Instytut Lotnictwa, "Autonomiczny układ antykolizyjny przeznaczony dla bezzałogowych środków latających wykorzystujący aktywną metodę teledetekcji obiektów - Koncepcja systemu antykolizyjnego", 2011 [3] M.Pawłowski, "Symulator radaru statku powietrznego", Praca Inżynierska, Politechnika Warszawska, 2012 [4] S.Jankowski, Z.Szymański, J.Szczyrek, J.Graffstein, "Metoda tworzenia modelu otoczenia z pomiarów Radarowego Detektora Przeszkód wsystemie unikania kolizji", Prace Instytutu Lotnictwa 224, 2012 [5] Z.Szymańsk, S.Jankowski, J.Szczyrek, "Reconstruction of environment model by using radar vector fieldhistograms", Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments, Vol. 8454, 20 (2012) [6] [IG-500N GPS aided AHRS User Manual], SBG Systems (2009) [7] J. Borenstein, Y. Koren, The Vector Field Histogram -Fast Obstacle Avoidance ForMobile Robots, IEEE Journal of Robotics and Automation Vol 7, No 3, June 1991, pp [8] G.A. Carpenter, S. Grossbergf, D.B. Rosen, "A neural netrowk realization of fuzzy ART." Tech. Rep. CAS/CNS-TR Boston, MA: Boston University, 1991 [9] G.A. Carpenter, S. Grossberg, N. Markuzon, J.H. Reynolds, D.B. Rosen, "Fuzzy ARTMAP: A Neural Network Architecture for Incremental Supervised Learning of Analog Multidimensional Maps", IEEE TRANSACTIONS ON NEURAL NETWORKS, VOL. 3, NO. 5, 698 (1992) [10] Aaron Garett, "Fuzzy ARTMAP Neural Network Implementation", Jacksonville State University, 22-Dec-2003 [11] M.Pawłowski, Z.Szymański, "Environment model for unmanned flying vehicles based on simulatedradar data.", Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments, Vol. 8454, 22 (2012) [11][1][4][4][3][11][3][9][5][11][1] [9][5][5][2] 35
37 DODATEK A OPIS FUNKCJI Funkcja Argumenty Wartości zwracane Opis funkcji [new_data_set, simulator_ new_supervisor] = location - ścieżka do add_pm_to_learnin katalogu symulatora; g_set( simulator_ data_set - zmienna location, zawierająca wektory danych data_set, wejściowych (musi być to supervisor, co najmniej jedna kolumna direction_change_ posiadająca 601 linij); value ) supervisor - wektor zawierający sygnały nadzorujące dla kolumn zawartych w data_set; direction_change_v alue - wartość o jaką należy zmienić kurs samolotu w wypadku tej mapy (jest to zarówno wartość sygnału nadzorującego) new_data_set - jest Funkcja pobiera mapę percepcyjną z zadanej to wprowadzona macierz lokacji, wycina z niej data_set rozszerzona interesujący ją fragment o wektor utworzony z (20x30) określając jego zadanej mapy środek dzięki percepcyjnej; odpowiedniemu wpisowi new_supervisor w pliku trajektorii i pliku jest to wprowadzony detection_results.dat. wektor supervisor Następnie przekształca ją rozszerzony o sygnał do wektora kolumnowego nadzorujący dla nowo i dodaje do data_set. dodanej kolumny w Również wektor new_data_set. supervisor jest rozszerzany o wartość direction_change_v alue i zwracany. [new_data_set, simulator_ new_supervisor] = location - ścieżka do add_cc_pm_to_lear katalogu symulatora; ning_set( simulat data_set - zmienna or_location, zawierająca wektory danych data_set, wejściowych (musi być to supervisor, co najmniej jedna kolumna direction_change_ posiadająca 1202 linij); value ) supervisor - wektor zawierający sygnały nadzorujące dla kolumn zawartych w data_set; direction_change_v alue - wartość o jaką należy zmienić kurs samolotu w wypadku tej mapy (jest to zarówno wartość sygnału nadzorującego). new_data_set - jest Działa jak funkcja to wprowadzona macierz add_pm_to_learning data_set rozszerzona _set, tylko zwracany wektor kolumnowy o wektor utworzony z dodawany do data_set zadanej mapy posiada uzupełniający percepcyjnej; new_supervisor wartości (complement jest to wprowadzony code). wektor supervisor rozszerzony o sygnał nadzorujący dla nowo dodanej kolumny w new_data_set. f = simulator_location f - jest to wartość klasy Funkcja ta klasyfikuje classify_pm( simu - katalog symulatora, lub mapę percepcyjną z do której sieć lator_location, miejsca w którym znajduje przyporządkowała zadany zadanej lokacji, ARTMAP) wykorzystuje do tego poza się mapa percepcyjna do wektor. samym plikiem mapy plik klasyfikacji; trajektorii, oraz plik ARTMAP - sieć detection_results. Po czym neuronowa która ma 36
METOdA TWORzENiA MOdELU OTOCzENiA z POMiARóW RAdAROWEgO detektora PRzESzkód W SYSTEMiE UNikANiA kolizji
PRACE instytutu LOTNiCTWA 224, s. 20-30, Warszawa 2012 METOdA TWORzENiA MOdELU OTOCzENiA z POMiARóW RAdAROWEgO detektora PRzESzkód W SYSTEMiE UNikANiA kolizji StaNISłaW JaNkoWSkI*, ZbIgNIeW SZymańSkI*,
S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor
S O M SELF-ORGANIZING MAPS Przemysław Szczepańczyk Łukasz Myszor Podstawy teoretyczne Map Samoorganizujących się stworzył prof. Teuvo Kohonen (1982 r.). SOM wywodzi się ze sztucznych sieci neuronowych.
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
2.2 Opis części programowej
2.2 Opis części programowej Rysunek 1: Panel frontowy aplikacji. System pomiarowy został w całości zintegrowany w środowisku LabVIEW. Aplikacja uruchamiana na komputerze zarządza przebiegiem pomiarów poprzez
Oprogramowanie Systemów Obrazowania SIECI NEURONOWE
SIECI NEURONOWE Przedmiotem laboratorium jest stworzenie algorytmu rozpoznawania zwierząt z zastosowaniem sieci neuronowych w oparciu o 5 kryteriów: ile zwierzę ma nóg, czy żyje w wodzie, czy umie latać,
Algorytmy sztucznej inteligencji
Algorytmy sztucznej inteligencji Dynamiczne sieci neuronowe 1 Zapis macierzowy sieci neuronowych Poniżej omówione zostaną części składowe sieci neuronowych i metoda ich zapisu za pomocą macierzy. Obliczenia
ALGORYTM RANDOM FOREST
SKRYPT PRZYGOTOWANY NA ZAJĘCIA INDUKOWANYCH REGUŁ DECYZYJNYCH PROWADZONYCH PRZEZ PANA PAWŁA WOJTKIEWICZA ALGORYTM RANDOM FOREST Katarzyna Graboś 56397 Aleksandra Mańko 56699 2015-01-26, Warszawa ALGORYTM
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu
WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI Robot do pokrycia powierzchni terenu Zadania robota Zadanie całkowitego pokrycia powierzchni na podstawie danych sensorycznych Zadanie unikania przeszkód
ANTYKOLIZYJNY SYSTEM RADAROWY I JEGO WSPÓŁPRACA Z POKŁADOWYMI SYSTEMAMI AUTOMATYCZNEGO STEROWANIA
ANTYKOLIZYJNY SYSTEM RADAROWY I JEGO WSPÓŁPRACA Z POKŁADOWYMI SYSTEMAMI AUTOMATYCZNEGO STEROWANIA Jerzy Graffstein Instytut Lotnictwa, Al. Krakowska 110/114, 02-256 Warszawa Streszczenie Wzrastające wymagania
Sztuczna Inteligencja Tematy projektów Sieci Neuronowe
PB, 2009 2010 Sztuczna Inteligencja Tematy projektów Sieci Neuronowe Projekt 1 Stwórz projekt implementujący jednokierunkową sztuczną neuronową złożoną z neuronów typu sigmoidalnego z algorytmem uczenia
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
Zastosowania sieci neuronowych
Zastosowania sieci neuronowych aproksymacja LABORKA Piotr Ciskowski zadanie 1. aproksymacja funkcji odległość punktów źródło: Żurada i in. Sztuczne sieci neuronowe, przykład 4.4, str. 137 Naucz sieć taką
Systemy uczące się Lab 4
Systemy uczące się Lab 4 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 26 X 2018 Projekt zaliczeniowy Podstawą zaliczenia ćwiczeń jest indywidualne wykonanie projektu uwzględniającego
8. Neuron z ciągłą funkcją aktywacji.
8. Neuron z ciągłą funkcją aktywacji. W tym ćwiczeniu zapoznamy się z modelem sztucznego neuronu oraz przykładem jego wykorzystania do rozwiązywanie prostego zadania klasyfikacji. Neuron biologiczny i
Lekcja 5: Sieć Kohonena i sieć ART
Lekcja 5: Sieć Kohonena i sieć ART S. Hoa Nguyen 1 Materiał Sieci Kohonena (Sieć samo-organizująca) Rysunek 1: Sieć Kohonena Charakterystyka sieci: Jednowarstwowa jednokierunkowa sieć. Na ogół neurony
Klasyfikator liniowy Wstęp Klasyfikator liniowy jest najprostszym możliwym klasyfikatorem. Zakłada on liniową separację liniowy podział dwóch klas między sobą. Przedstawia to poniższy rysunek: 5 4 3 2
6. Zagadnienie parkowania ciężarówki.
6. Zagadnienie parkowania ciężarówki. Sterowniki rozmyte Aby móc sterować przebiegiem pewnych procesów lub też pracą urządzeń niezbędne jest stworzenie odpowiedniego modelu, na podstawie którego można
7. Zagadnienie parkowania ciężarówki.
7. Zagadnienie parkowania ciężarówki. Sterowniki rozmyte Aby móc sterować przebiegiem pewnych procesów lub też pracą urządzeń niezbędne jest stworzenie odpowiedniego modelu, na podstawie którego można
Metody Sztucznej Inteligencji II
17 marca 2013 Neuron biologiczny Neuron Jest podstawowym budulcem układu nerwowego. Jest komórką, która jest w stanie odbierać i przekazywać sygnały elektryczne. Neuron działanie Jeżeli wartość sygnału
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-10-11 1 Modelowanie funkcji logicznych
Systemy uczące się wykład 2
Systemy uczące się wykład 2 dr Przemysław Juszczuk Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny 19 X 2018 Podstawowe definicje Fakt; Przesłanka; Konkluzja; Reguła; Wnioskowanie. Typy wnioskowania
Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski
Samochodowy system detekcji i rozpoznawania znaków drogowych Sensory w budowie maszyn i pojazdów Maciej Śmigielski Rozpoznawanie obrazów Rozpoznawaniem obrazów możemy nazwać proces przetwarzania i analizowania
PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM
Mostefa Mohamed-Seghir Akademia Morska w Gdyni PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM W artykule przedstawiono propozycję zastosowania programowania dynamicznego do rozwiązywania
Automatyczna klasyfikacja zespołów QRS
Przetwarzanie sygnałów w systemach diagnostycznych Informatyka Stosowana V Automatyczna klasyfikacja zespołów QRS Anna Mleko Tomasz Kotliński AGH EAIiE 9 . Opis zadania Tematem projektu było zaprojektowanie
Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia II stopnia (magisterskie)
Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia II stopnia (magisterskie) Temat: Analiza właściwości pilotażowych samolotu Specjalność: Pilotaż lub Awionika 1. Analiza stosowanych kryteriów
Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz
Wykład 8 Testowanie w JEE 5.0 (1) Autor: 1. Rola testowania w tworzeniu oprogramowania Kluczową rolę w powstawaniu oprogramowania stanowi proces usuwania błędów w kolejnych fazach rozwoju oprogramowania
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa, Andrzej Rutkowski Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2018-10-15 Projekt
Optymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
Temat: ANFIS + TS w zadaniach. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE
Temat: ANFIS + TS w zadaniach Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE Dr inż. Barbara Mrzygłód KISiM, WIMiIP, AGH mrzyglod@ agh.edu.pl 1. Systemy neuronowo - rozmyte Systemy
Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy
Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy Wykorzystane materiały: Zadanie W dalszej części prezentacji będzie omawiane zagadnienie rozpoznawania twarzy Problem ten można jednak uogólnić
FIZYKA klasa 1 Liceum Ogólnokształcącego (4 letniego)
2019-09-01 FIZYKA klasa 1 Liceum Ogólnokształcącego (4 letniego) Treści z podstawy programowej przedmiotu POZIOM ROZSZERZONY (PR) SZKOŁY BENEDYKTA Podstawa programowa FIZYKA KLASA 1 LO (4-letnie po szkole
1 Moduł Modbus ASCII/RTU
1 Moduł Modbus ASCII/RTU Moduł Modbus ASCII/RTU daje użytkownikowi Systemu Vision możliwość komunikacji z urządzeniami za pomocą protokołu Modbus. Moduł jest konfigurowalny w taki sposób, aby umożliwiał
Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.
1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń
Ćwiczenie 6. Transformacje skali szarości obrazów
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 6. Transformacje skali szarości obrazów 1. Obraz cyfrowy Obraz w postaci cyfrowej
P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H
W O J S K O W A A K A D E M I A T E C H N I C Z N A W Y D Z I A Ł E L E K T R O N I K I Drukować dwustronnie P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H Grupa... Data wykonania
MATLAB Neural Network Toolbox przegląd
MATLAB Neural Network Toolbox przegląd WYKŁAD Piotr Ciskowski Neural Network Toolbox: Neural Network Toolbox - zastosowania: przykłady zastosowań sieci neuronowych: The 1988 DARPA Neural Network Study
b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.
DODATEK: FUNKCJE LOGICZNE CD. 1 FUNKCJE LOGICZNE 1. Tablice Karnaugha Do reprezentacji funkcji boolowskiej n-zmiennych można wykorzystać tablicę prawdy o 2 n wierszach lub np. tablice Karnaugha. Tablica
Zastosowania sieci neuronowych
Zastosowania sieci neuronowych klasyfikacja LABORKA Piotr Ciskowski zadanie 1. klasyfikacja zwierząt sieć jednowarstwowa żródło: Tadeusiewicz. Odkrywanie własności sieci neuronowych, str. 159 Przykład
Regresja logistyczna (LOGISTIC)
Zmienna zależna: Wybór opcji zachodniej w polityce zagranicznej (kodowana jako tak, 0 nie) Zmienne niezależne: wiedza o Unii Europejskiej (WIEDZA), zamieszkiwanie w regionie zachodnim (ZACH) lub wschodnim
Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.
Bioinformatyka Ocena wiarygodności dopasowania sekwencji www.michalbereta.pl Załóżmy, że mamy dwie sekwencje, które chcemy dopasować i dodatkowo ocenić wiarygodność tego dopasowania. Interesujące nas pytanie
UKŁADY MIKROPROGRAMOWALNE
UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim
KLASYFIKACJA. Słownik języka polskiego
KLASYFIKACJA KLASYFIKACJA Słownik języka polskiego Klasyfikacja systematyczny podział przedmiotów lub zjawisk na klasy, działy, poddziały, wykonywany według określonej zasady Klasyfikacja polega na przyporządkowaniu
Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.
1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a
PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**
Górnictwo i Geoinżynieria Rok 31 Zeszyt 3 2007 Dorota Pawluś* PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH** 1. Wstęp Eksploatacja górnicza złóż ma niekorzystny wpływ na powierzchnię
Zastosowania Robotów Mobilnych
Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym
EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. MIN 2018 KOD UZUEŁNIA ZDAJĄCY ESEL miejsce na naklejkę EGZAMIN MATURALNY Z INORMATYKI OZIOM ROZSZERZONY CZĘŚĆ I DATA: 11 maja
Nazwisko i imię: Zespół: Data: Ćwiczenie nr 9: Swobodne spadanie
Nazwisko i imię: Zespół: Data: Ćwiczenie nr 9: Swobodne spadanie Cel ćwiczenia: Obserwacja swobodnego spadania z wykorzystaniem elektronicznej rejestracji czasu przelotu kuli przez punkty pomiarowe. Wyznaczenie
Układy VLSI Bramki 1.0
Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie
EGZAMIN MATURALNY Z INFORMATYKI MAJ 2013 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2011 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5 Format złożonego polecenia konfigurującego system pozycjonowania GPS SPY-DOG SAT ProSafe-Flota -KGPS A a B b C c D d E e F f G g H h I i J j K
Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała
Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, 43-305 Bielsko-Biała NIP 937-22-97-52 tel. +48 33 488 89 39 zwcad@zwcad.pl www.zwcad.pl Aplikacja do rysowania wykresów i oznaczania
Szybkie prototypowanie w projektowaniu mechatronicznym
Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią
Dokąd on zmierza? Przemieszczenie i prędkość jako wektory
A: 1 OK Muszę to powtórzyć... Potrzebuję pomocy Dokąd on zmierza? Przemieszczenie i prędkość jako wektory Łódź żegluje po morzu... Płynie z szybkością 10 węzłów (węzeł to 1 mila morska na godzinę czyli
Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF
Krzysztof Leszczyński Adam Sosnowski Michał Winiarski Projekt UCYF Temat: Dekodowanie kodów 2D. 1. Opis zagadnienia Kody dwuwymiarowe nazywane często kodami 2D stanowią uporządkowany zbiór jasnych i ciemnych
EGZAMIN MATURALNY Z INFORMATYKI MAJ 2010 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2010 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY
Symulacja sygnału czujnika z wyjściem częstotliwościowym w stanach dynamicznych
XXXVIII MIĘDZYUCZELNIANIA KONFERENCJA METROLOGÓW MKM 06 Warszawa Białobrzegi, 4-6 września 2006 r. Symulacja sygnału czujnika z wyjściem częstotliwościowym w stanach dynamicznych Eligiusz PAWŁOWSKI Politechnika
Asocjacyjna reprezentacja danych i wnioskowanie
Asocjacyjna reprezentacja danych i wnioskowanie Wykorzystane technologie JetBrains PyCharm 504 Python 35 Struktura drzewa GRAPH PARAM PARAM ID1 ID2 ID_N params params params param_name_1: param_value_1
PRACA DYPLOMOWA MAGISTERSKA
Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania PRACA DYPLOMOWA MAGISTERSKA Konstrukcja autonomicznego robota mobilnego Małgorzata Bartoszewicz Promotor: prof. dr hab. inż. A. Milecki Zakres
Symulator radaru statku powietrznego
Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki Rok akademicki 2011/2012 PRACA DYPLOMOWA INŻYNIERSKA Michał Pawłowski mgr inż. Zbigniew Szymański Ocena:......
Bezzałogowy samolot rozpoznawczy Mikro BSP
Bezzałogowy samolot rozpoznawczy Mikro BSP Konrad Warnicki Tomasz Wnuk Opiekun pracy: dr. Andrzej Ignaczak Kierownik pracy: dr. Ryszard Kossowski Projekt bezzałogowego samolotu rozpoznawczego Konsorcjum:
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 6 SYSTEMY ROZMYTE TYPU MAMDANIEGO
Optymalizacja systemów
Optymalizacja systemów Laboratorium Sudoku autor: A. Gonczarek Cel zadania Celem zadania jest napisanie programu rozwiązującego Sudoku, formułując problem optymalizacji jako zadanie programowania binarnego.
Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.
Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink. Celem ćwiczenia jest symulacja działania (w środowisku Matlab/Simulink) sterownika dla dwuosiowego robota
Tematy prac dyplomowych w Katedrze Awioniki i Sterowania. Studia: II stopnia (magisterskie)
Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia II stopnia (magisterskie) Temat: Układ sterowania płaszczyzną sterową o podwyższonej niezawodności 1. Analiza literatury. 2. Uruchomienie
Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy
Metody modelowania i symulacji kinematyki i dynamiki z wykorzystaniem CAD/CAE Laboratorium 6 Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy Opis obiektu symulacji Przedmiotem
Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.
Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9
Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia
Doświadczenie: Ruch jednostajnie przyspieszony wyznaczenie przyspieszenia Cele doświadczenia Celem doświadczenia jest zbadanie zależności drogi przebytej w ruchu przyspieszonym od czasu dla kuli bilardowej
ALGORYTM PROJEKTOWANIA ROZMYTYCH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO
Szybkobieżne Pojazdy Gąsienicowe (2) Nr 2, 24 Mirosław ADAMSKI Norbert GRZESIK ALGORYTM PROJEKTOWANIA CH SYSTEMÓW EKSPERCKICH TYPU MAMDANI ZADEH OCENIAJĄCYCH EFEKTYWNOŚĆ WYKONANIA ZADANIA BOJOWEGO. WSTĘP
ANTYKOLIZYJNY SYSTEM RADAROWY I JEGO WSPÓŁPRACA Z POKŁADOWYMI SYSTEMAMI AUTOMATYCZNEGO STEROWANIA
ZESZYTY NAUKOWE POLITECHNIKI RZESZOWSKIEJ 288, Mechanika 85 RUTMech, t. XXX, z. 85 (3/13), lipiec-wrzesień 2013, s. 259-266 Jerzy GRAFFSTEIN 1 ANTYKOLIZYJNY SYSTEM RADAROWY I JEGO WSPÓŁPRACA Z POKŁADOWYMI
Python: JPEG. Zadanie. 1. Wczytanie obrazka
Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać
Algorytm grupowania danych typu kwantyzacji wektorów
Algorytm grupowania danych typu kwantyzacji wektorów Wstęp Definicja problemu: Typowe, problemem często spotykanym w zagadnieniach eksploracji danych (ang. data mining) jest zagadnienie grupowania danych
Dziennik Urzędowy Unii Europejskiej L 274/9
20.10.2009 Dziennik Urzędowy Unii Europejskiej L 274/9 ROZPORZĄDZENIE KOMISJI (WE) NR 976/2009 z dnia 19 października 2009 r. w sprawie wykonania dyrektywy 2007/2/WE Parlamentu Europejskiego i Rady w zakresie
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015
Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner rok akademicki 2014/2015 Sieci Kohonena Sieci Kohonena Sieci Kohonena zostały wprowadzone w 1982 przez fińskiego
OPROGRAMOWANIE DEFSIM2
Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych OPROGRAMOWANIE DEFSIM2 Instrukcja użytkownika mgr inż. Piotr Trochimiuk, mgr inż. Krzysztof Siwiec, prof. nzw. dr hab. inż. Witold Pleskacz
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.
Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-10 Projekt pn. Wzmocnienie
Testowanie modeli predykcyjnych
Testowanie modeli predykcyjnych Wstęp Podczas budowy modelu, którego celem jest przewidywanie pewnych wartości na podstawie zbioru danych uczących poważnym problemem jest ocena jakości uczenia i zdolności
1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania
1. Opis aplikacji Interfejs programu podzielony jest na dwie zakładki. Wszystkie ustawienia znajdują się w drugiej zakładce, są przygotowane do ćwiczenia i nie można ich zmieniac bez pozwolenia prowadzącego
1 Moduł Modbus ASCII/RTU 3
Spis treści 1 Moduł Modbus ASCII/RTU 3 1.1 Konfigurowanie Modułu Modbus ASCII/RTU............. 3 1.1.1 Lista elementów Modułu Modbus ASCII/RTU......... 3 1.1.2 Konfiguracja Modułu Modbus ASCII/RTU...........
EGZAMIN MATURALNY Z INFORMATYKI
Miejsce na naklejkę z kodem szkoły dysleksja MIN-R1A1P-061 EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY Czas pracy 90 minut ARKUSZ I STYCZEŃ ROK 2006 Instrukcja dla zdającego 1. Sprawdź, czy arkusz
Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych
Metody Sztucznej Inteligencji w Sterowaniu Ćwiczenie 3 Identyfikacja obiektów dynamicznych za pomocą sieci neuronowych Przygotował: mgr inż. Marcin Pelic Instytut Technologii Mechanicznej Politechnika
Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych
Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Informatyka, Matematyka,
1. Opis okna podstawowego programu TPrezenter.
OPIS PROGRAMU TPREZENTER. Program TPrezenter przeznaczony jest do pełnej graficznej prezentacji danych bieżących lub archiwalnych dla systemów serii AL154. Umożliwia wygodną i dokładną analizę na monitorze
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Temat: Zaprojektowanie procesu kontroli jakości wymiarów geometrycznych na przykładzie obudowy.
Raport z przeprowadzonych pomiarów. Temat: Zaprojektowanie procesu kontroli jakości wymiarów geometrycznych na przykładzie obudowy. Spis treści 1.Cel pomiaru... 3 2. Skanowanie 3D- pozyskanie geometrii
Projekt Sieci neuronowe
Projekt Sieci neuronowe Chmielecka Katarzyna Gr. 9 IiE 1. Problem i dane Sieć neuronowa miała za zadanie nauczyć się klasyfikować wnioski kredytowe. W projekcie wykorzystano dane pochodzące z 110 wniosków
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335
Sztuczne sieci neuronowe Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335 Wykład 10 Mapa cech Kohonena i jej modyfikacje - uczenie sieci samoorganizujących się - kwantowanie wektorowe
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia
Warsztat nauczyciela: Badanie rzutu ukośnego
Warsztat nauczyciela: Badanie rzutu ukośnego Patryk Wolny Dydaktyk Medialny W nauczaniu nic nie zastąpi prawdziwego doświadczenia wykonywanego przez uczniów. Nie zawsze jednak jest to możliwe. Chcielibyśmy
Optymalizacja systemów
Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji
Dalmierze firmy SHARP na przykładzie 2D120XJ100F
Często w robotach zachodzi potrzeba zmierzenia dystansu, od robota do przeszkody. Wtedy z pomocą przychodzą nam gotowe dalmierze firmy SHARP. Zależnie od modelu mogą one mierzyć dystans z rożnych przedziałów.
Podstawy MATLABA, cd.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie
Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner
Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska Elementy nieprzystające Definicja odrzucania Klasyfikacja
Sieci neuronowe w Statistica
http://usnet.us.edu.pl/uslugi-sieciowe/oprogramowanie-w-usk-usnet/oprogramowaniestatystyczne/ Sieci neuronowe w Statistica Agnieszka Nowak - Brzezińska Podstawowym elementem składowym sztucznej sieci neuronowej
W tym celu korzystam z programu do grafiki wektorowej Inkscape 0.46.
1. Wprowadzenie Priorytetem projektu jest zbadanie zależności pomiędzy wartościami średnich szybkości przemieszczeń terenu, a głębokością eksploatacji węgla kamiennego. Podstawowe dane potrzebne do wykonania
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji
Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń.
Funkcje: wejściowe, wyjściowe i logiczne. Konfigurowanie zabezpieczeń. 1. ZASADA DZIAŁANIA...2 2. FUNKCJE WEJŚCIOWE...5 3. FUNKCJE WYJŚCIOWE...6 4. FUNKCJE LOGICZNE...9 Zabezpieczenie : ZSN 5U od: v. 1.0
Instrukcja realizacji ćwiczenia
SIEĆ KOHONENA ROZPOZNAWANIE OBRAZÓW Cel ćwiczenia: zapoznanie się ze sposobem reprezentacji wiedzy w sieciach Kohonena i mechanizmami sąsiedztwa i sumienia neuronów. Zadanie do analizy: analizujemy sieć