Marcin Pluciński ZASTOSOWANIE PROBABILISTYCZNEJ SIECI NEURONOWEJ DO IDENTYFIKACJI OBIEKTÓW NA PODSTAWIE WSKAZAŃ CZUJNIKÓW PODCZERWIENI ROBOTA KHEPERA 2 Streszczenie Do najważniejszych zadań systemów nadzorujących pracę robotów mobilnych należą: sterowanie ruchem oraz analiza sygnałów odczytywanych z czujników w jakie wyposażony jest robot. Drugie z tych zadań jest szczególnie trudne, bowiem roboty wyposażone mogą być w różnorodne zestawy czujników i zadanie analizy sygnałów musi być za każdym razem rozwiązywane praktycznie od początku. W artykule opisana została próba opracowania klasyfikatora, który na podstawie odczytów wskazań czujników podczerwieni w jakie wyposażony jest robot Khepera 2, określa rodzaj napotkanej przeszkody. Słowa kluczowe: Roboty mobilne, roboty autonomiczne, klasyfikacja 1. Wstęp Systemy nadzorujące pracę robotów mobilnych realizują szereg różnorodnych zadań. Do najważniejszych z nich należą: sterowanie ruchem oraz analiza sygnałów odczytywanych z czujników w jakie wyposażony jest robot. O ile pierwsze z tych zadań jest już dobrze rozpoznane i istnieje szereg klasycznych, sprawdzonych algorytmów sterowania ruchem, o tyle analiza pomiarów dokonywanych przez czujniki jest zadaniem trudnym. Wynika to głównie z faktu, iż roboty wyposażone mogą być w różnorodne zestawy czujników i zadanie analizy sygnałów musi być za każdym razem rozwiązywane praktycznie od początku. W przypadku pracy grupy kooperujących robotów mobilnych, ważnym zadaniem jest umiejętność odróżnienia czy zaobserwowany w sąsiedztwie obiekt to przeszkoda czy podobny robot. W artykule przedstawiona została próba rozwiązania powyższego problemu dla robota Khepera 2. 2. Mobilny robot Khepera 2 Robot Khepera 2 jest niewielkim robotem funkcjonalnie zbliżonym do dużych robotów wykorzystywanych w badaniach i dydaktyce. Umożliwia on rzeczywiste testowanie wielu hipotez badawczych z zakresu planowania trajektorii, omijania przeszkód, przetwarzania informacji z czujników wizyjnych, a także hipotez dotyczących zachowania grupowego i kooperacji robotów. Do najważniejszych zalet robota Khepera 2 należą: niewielkie rozmiary, łatwość obsługi, wyposażenie w czujniki podczerwieni pozwalające wykrywać obiekty w najbliższym sąsiedztwie,
bardzo duża ilość akcesoriów dodatkowych, w które można wyposażyć robota (dodatkowe czujniki liniowe lub macierzowe, manipulator, moduł sterowania radiem i wiele innych), budowa modułowa zarówno w warstwie sprzętowej jak i programowej, dobra dokumentacja, bardzo duża ilość oprogramowania komercyjnego i darmowego służącego do sterowania robotem i symulowania jego działania, bardzo duża ilość publikacji naukowych, opisujących badania przeprowadzone na robotach Khepera. Robot Khepera 2 umożliwia przeprowadzanie eksperymentów w wielu dziedzinach działalności naukowej, takich jak: nawigacja, sztuczna inteligencja, systemy wieloagentowe, sterowanie, badanie zachowań grupowych w systemach złożonych, programowanie systemów czasu rzeczywistego. Ze względu na małe rozmiary robotów, do badań nie jest konieczne specjalne laboratorium. Umożliwia to także prostą realizację pokazów z wykorzystaniem robotów praktycznie w każdych warunkach. Z robotem współpracuje wiele programów komercyjnych takich jak przykładowo: MATLAB, SysQuake czy też WEBOTS (umożliwiający fotorealistyczną, trójwymiarową symulację działania robota Khepera). W wielu ośrodkach badawczych opracowano także oprogramowanie służące do sterowania i symulacji robota Khepera, które dostępne jest za darmo. Podstawowe parametry robota Khepera 2 [3]: procesor: Motorola 68331, 25 Mhz, pamięć: RAM 512 Kb, Flash 512 Kb (programowana przez łącze szeregowe), napęd: 2 silniki prądu stałego, prędkość: od 0.02 do 1 m/s, czujniki: 8 czujników na podczerwień do wykrywania przeszkód, zasilanie: ładowanie baterie, umożliwiające godzinę nieprzerwanej pracy, komunikacja: poprzez port szeregowy, rozmiar: średnica 70 mm, wysokość 30 mm, waga: ok. 80 g. Rys. 1 Robot Khepera 2 i moduł umożliwiający sterowanie drogą radiową Za pomocą specjalnego modułu, robotem można sterować drogą radiową. Moduł ten ma następujące funkcje: umożliwia komunikację z innymi robotami (maksymalnie 31),
umożliwia komunikację z komputerem wyposażonym w przystawkę radiową i tym samym sterowanie robotem i monitorowanie jego stanu za pomocą komputera, zasięg komunikacji: 10 m, prędkość transmisji: do 9600 bps, procesor: Motorola M68331, pamięć: RAM 32 Kb, ROM 128 Kb. 2.1. Czujniki podczerwieni Robot Khepera 2 wyposażony jest w 8 czujników podczerwieni rozmieszczonych w taki sposób, aby możliwe było wykrywanie przeszkód we wszystkich kierunkach [3]. Rozmieszczenie czujników pokazuje rys. 2. 2 3 1 4 0 5 7 6 Rys. 2 Rozmieszczenie czujników podczerwieni w robocie Khepera 2 widok z góry Każdy czujnik posiada emiter promieniowania podczerwonego oraz jego odbiornik. Czujniki umożliwiają pomiar promieniowania podczerwonego emitowanego przez otoczenie oraz pomiar promieniowania odbitego od przeszkód. Pomiary dokonywane są co 20 [ms] i są one zapisywane w 10 bitowych rejestrach. wartość pomierzona przez czujnik Rys. 3 Przykładowe charakterystyki czujnika nr 2
Czujniki umożliwiają wykrywanie przeszkód z odległości około 10 [cm]. Wyniki pomiaru natężenia światła podczerwonego odbitego od przeszkód zależą w bardzo dużym stopniu od takich czynników jak warunki oświetlenia otoczenia oraz od stopnia w jakim światło podczerwone odbijane jest od przeszkody (czyli od jej koloru, materiału i chropowatości powierzchni). Przykładowe charakterystyki czujnika nr 2 (przedni-lewy) zdjęte dla białej kartki papieru oraz dla drugiego robota pokazuje rys. 3. Charakterystyki pokazane na rys. 3 mają charakter jedynie przykładowy. Ich wygląd będzie inny dla odmiennych warunków oświetlenia oraz przeszkód wykonanych z innego materiału. Wskazania czujników są zakłócane dodatkowo przez szum pomiarowy, co jeszcze bardziej utrudnia interpretacją ich wskazań. 3. Klasyfikacja obiektów wykrywanych przez czujniki podczerwieni Ze względu na problemy opisane powyżej, rozpoznawanie obiektów na podstawie wskazań czujników podczerwieni jest zadaniem trudnym. W artykule opisany zostanie eksperyment polegający na próbie rozróżnienia przeszkody w kształcie drugiego robota Khepera oraz przeszkody płaskiej, którą w badaniach stanowiła kartka białego papieru. Na rys. 4 przedstawione są biegunowe wykresy obrazujące wskazania wszystkich ośmiu czujników dla przeszkody w kształcie robota i przeszkody płaskiej. Oba wykresy różnią się kształtem, co daje nadzieję na powodzenie eksperymentu. Rys. 4 Biegunowe wykresy obrazujące wskazania wszystkich ośmiu czujników robota Klasyfikacja zrealizowana zostanie za pomocą probabilistycznej sieci neuronowej typu RBF. Sieć tego typu opisana jest szczegółowo w [6]. Stanowi ona bardzo skuteczny klasyfikator, jednocześnie będący łatwy w uczeniu i implementacji. Wybór rodzaju klasyfikatora nie jest dla przeprowadzanych badań najistotniejszy (podobne wyniki uzyskane zostały przy zastosowaniu innych metod klasyfikacji). W celu nauczenia sieci, zebrane zostały dane pomiarowe poprzez odczyt wskazań wszystkich ośmiu czujników dla różnych położeń przeszkód (drugiego robota i kartki). Przeszkody ustawiane były w różnych odległościach i z różnych stron robota. Wskazania
czujników zmieniały się od około 70 (brak przeszkody) do 1024 (przeszkoda w odległości poniżej 1 [cm] maksymalna wartość rejestru 10 bitowego). Ze względu na szum pomiarowy, którego odchylenie standardowe wynosi dla każdego z czujników około 40 [1], odrzucone zostały te próbki, dla których wskazania wszystkich czujników były mniejsze od 100 (nie można dla nich jednoznacznie stwierdzić, czy większe wskazania czujników spowodowane są przez szum czy przez przeszkodę znajdującą w dużej odległości). Klasyfikator nauczony został na podstawie 198 próbek. Każda posiadała 8 danych wejściowych i jedno wyjście wskazujące typ przeszkody: 1 robot (88 próbek), 0 kartka (110 próbek). Uzyskana dokładność klasyfikacji danych uczących wyniosła 62% (75 próbek zostało zaklasyfikowanych źle). Tak niska dokładność wynikała z faktu, iż dla próbek zarejestrowanych dla odległych przeszkód (maksymalne wskazania czujników w zakresie od 100 do 150 odległość przeszkody powyżej 5 [cm]) trudno jednoznacznie rozróżnić obiekt. Przeprowadzono więc szereg prób uczenia klasyfikatora dla danych, z których stopniowo usuwano próbki o niewielkich wartościach wszystkich wejść. Po usunięciu próbek, dla których wartość największego wejścia była mniejsza od 300 dokładność klasyfikacji danych uczących wyniosła 85% (13 z 84 pozostałych próbek sklasyfikowanych zostało błędnie). Pozostałe próbki uczące, zarejestrowane zostały tu dla przeszkód, leżących w odległości mniejszej niż 3 [cm]. Opisany wzrost dokładności ilustruje rys. 5. dokładność w % 90 85 80 75 70 65 60 100 150 200 250 300 minimalna wartość największego wejścia w próbce Rys. 5 Wzrost dokładności klasyfikacji danych uczących w zależności od minimalnej wartości największego wejścia w pozostawionych próbkach Uzyskane wyniki są całkowicie zgodne z tym co podpowiada nam intuicja. Im przeszkoda znajduje się bliżej robota, tym łatwiej ją zidentyfikować. 4. Wnioski Klasyfikator opracowany na podstawie 84 próbek, dla których maksymalna wartość wejścia była większa od 300 pozwala na zidentyfikowanie z akceptowalną (85%) dokładnością przeszkód znajdujących się w odległości do 3 [cm]. Klasyfikacja przeszkód znajdujących się w większej odległości (wskazania czujników mniejsze od 300) obarczona jest zbyt dużym błędem, by jednoznacznie wypowiedzieć się co do rodzaju obiektu. Aby robot umiał rozpoznać obiekty znajdujące się w większej odległości, należałoby wyposażyć go w skuteczniejsze czujniki.
Literatura 1. Bureau P., Khepera 2 IR sensors report, K-Team S.A., Switzerland, 2000 2. Floreano D., Mondada F., Hardware solutions for evolutionary robotics, Proceedings of the First European Workshop on Evolutionary Robotics, Berlin, Springer-Verlag, 1998 3. Khepera 2 user manual, K-Team S.A., Switzerland, 2000 4. Mondada F., Franzi E., Ienne P., Mobile robot miniaturisation: a tool for investigation in control algorithms, Proceedings of the Third International Symposium on Experimental Robotics, 1993 5. Pfeifer R., Scheier C, Understanding Intelligence, MIT Press, 1999 6. Pluciński M., Application of the probabilistic RBF neural network in multidimensional classification problems, Advanced Computer Systems, Eight International Conference ACS'2001, Editors: J. Sołdek, J. Pejaś, Kluwer Academic Publishers, Mielno, Poland, October 17-19, 2001