Download: KnowHow_robocup
Transkrypt
Download: KnowHow_robocup
KNOW HOW Robocup Autonomiczne roboty linuksowe: zespół Ulm Sparrows Robocup 2004 Okazuje się, że piłka nożna rozgrywana przez roboty zapewnia niemal te same emocje, których oczekujemy od prawdziwych rozgrywek na murawie boiska: wślizgi, faule, żółte kartki – tak naprawdę wszystko poza zagraniem głową... Zawodnikami są autonomiczne roboty działające pod kontrolą systemu Linux. W tym artykule pokazujemy przykłady zastosowań Linuksa w robotyce. GERD MAYER, HANS UTZ, PHILIPP BAER R oadrunner (Struś Pędziwiatr), Coyote (Kojot), Speedy (Szybki), Gonzales to nazwy czterech robotów piłkarskich niemieckiego zespołu Ulm Sparrows, które brały udział w tegorocznych rozgrywkach Robocup German Open [1] w dniach 1-4 kwietnia 2004 roku. Tegoroczne otwarte mistrzostwa piłki nożnej robotów wciągnęły do rywalizacji 150 zespołów. Robocup [2] to międzynarodowa inicjatywa, której celem jest rozwój robotów i związanych z nimi dziedzin, takich jak sztuczna inteligencja (AI) czy przetwarzanie obrazów. Piłka nożna, w której zawodnikami są autonomiczne roboty, to wyzwanie dla twórców robotów, ale jednocześnie znakomita platforma badawcza. Zespół Uniwersytetu z Ulm, Ulm Sparrows [3], po raz pierwszy wziął udział w tych zawodach w 1998 roku, osiągając całkiem dobry wynik. Mimo że w 2003 roku zespół zajął drugie miejsce, w 2004 roku nie udało się przeskoczyć ćwierćfinałów. Mistrzami w Middle Size (średniej wielkości) zostali Brainstormer Tribots, drugie miejsce zajął zespół Persia z Iranu. Czterech na czeterech W meczu biorą udział dwie drużyny po cztery roboty w każdej. Rozgrywane są dwie, 10-minutowe połowy, a boisko ma wymiary 12 na 58 Sierpień 2004 8 metrów. Każda drużyna ma bramkarza i trzech zawodników w polu. Wszelkie obiekty na boisku posiadają odmienne oznaczenia. Używana jest zwykła piłka zimowa FIFA (w kolorze pomarańczowym), a bramki pomalowano na żółto i niebiesko. Murawa ma kolor zielony z naniesionymi białymi liniami. Roboty mogą komunikować się ze sobą, ale nie mogą przekazywać informacji zewnętrznym układom decyzyjnym, takimi jak dodatkowe komputery. Boiska są sztucznie oświetlone przy pomocy lamp studyjnych, które zapewniają stałe, lecz nieregularne źródło światła. Jako że roboty potrafią osiągać prędkość do trzech metrów na sekundę i nadawać piłce spore przyspieszenie, gra może być bardzo dynamiczna. W tym roku obrońca portugalskiego zespołu Minho wpadł z dużą prędkością na własną bramkę, ledwo mijając bramkarza drużyny, podczas gdy napastnik próbował wepchnąć piłkę wraz z bramkarzem drużyny Allemaniacs Aachen do bramki. Oczywiście zawodnik otrzymał żółtą kartkę za ten faul. Na boisku sędzia musi szybko uskakiwać z drogi robotom – szczególnie wtedy, gdy robot zauważy pomarańczową piłkę w rękach sędziego. Ciekawie wyglądała także rozgrywka w czteronożnej lidze Sony zespołu Hamburg www.linux-magazine.pl Dog Bots przeciwko Microsoft Hellhounds, którzy zostali bezapelacyjnie zdeklasowani, przegrywając w kwalifikacjach i tracąc trzecie miejsce w rozgrywkach playoff stosunkiem bramek 6:0. W rozgrywkach Robocup roboty muszą być całkowicie samowystarczalne. Włączane są one na początku meczu i do ostatniego gwizdka nie można przeprowadzać żadnej ingerencji z zewnątrz – wyjątkiem jest przerwa w połowie meczu, kiedy zespoły mogą dokonywać napraw i modyfikacji swoich zawodników (Rysunek 1). Problemy badawcze Oczywiście piłka nożna robotów nie jest celem badawczym samym w sobie, a jedynie swoistym poligonem doświadczalnym, który umożliwia badanie praktycznych aspektów robotyki. Roboty skonstruowano tak, aby współpracowały z członkami swojego zespołu i unikały przeciwnika. Problemy pojawiające się w piłce nożnej robotów są zbliżone do tych z życia codziennego, np. wysłania robota do sklepu, aby zrobił zakupy w zatłoczone sobotnie popołudnie. Przyglądając się rozgrywkom szczegółowo, możemy odkryć takie zagadnienia jak automatyczne pozycjonowanie czy rozpoznawa- Robocup nie przedmiotów. Robot musi znać swoje dokładne położenie na boisku, aby móc podjąć decyzję o obronie lub ataku. Inne istotne zagadnienia to planowanie aktywności, czyli podejmowanie decyzji o tym, kiedy i jaką czynność wykonać i koordynacja z robotami własnej drużyny. Zasady Robocup zmieniają się z roku na rok, zmuszając zawodników do ciągłego rozwoju swoich projektów. Jeszcze kilka lat temu boisko było otoczone bandą, obecnie na liniach bocznych mogą stać widzowie, co znacznie utrudnia zagadnienie przetwarzania obrazu. Budowa robota Robot Sparrows 03 reprezentuje drugą generację robotów, zaprojektowanych i skonstruowanych w całości przez zespół Ulm Sparrows. Dzięki okrągłemu kształtowi korpusu roboty nie zakleszczają się między sobą, po- KNOW HOW siadają również pneumatyczny „kopacz” piłki, zawierający odpowiednią ilość sprężonego gazu na cały mecz. Na Rysunku 2 pokazano schemat obecnie używanej, drugiej generacji robotów. Aby uniknąć problemów z wydajnością jednostek centralnych, wszystkie roboty korzystają z niewielkich komputerów przenośnych. Głównym czujnikiem obrazu jest kamera Firewire Sony DFW V-500, która w przeciwieństwie do kamer analogowych zapewnia lepszy obraz Rysunek 1: W przerwie zespoły kalibrują roboty i dokonują w trakcie ruchu i obrotów. Roboty napraw. W rozgrywkach Robocup zespoły nie używające zostały wyposażone dodatkowo komputerów przenośnych muszą czasami ustawiać na w czujniki odległości działające na murawie komputery stacjonarne. podczerwień oraz liczniki pokonato magistrala szeregowa wykorzystywana nej odległości. w przemyśle motoryzacyjnym. Doskonale Wewnętrzne elementy robotów są podłąradzi sobie ona bez ekranowania i jest wyjątczone do magistrali CAN. Magistrala CAN KNOPPIX STD 0.1 Zakazana dystrybucja CD-ROM Nr 7 KNOPPIX STD 0.1 (Syphilis) Knoppix-STD to specjalna wersja najpopularniejszej dystrybucji Live-CD (uruchamianej bezpośrednio z płyty CD-ROM). Została ona przygotowana tak, aby zawierała jak najwięcej narzędzi związanych z bezpieczeństwem. Archiwum LINUX MAGAZINE 1/2004 Dodatkowo przygotowaliśmy specjalną atrakcję – na płycie znajduje się pełne archiwum wszystkich artykułów opublikowanych w Linux Magazine 1/2004 (luty). Artykuły publikujemy w łatwym do przeglądania i wydruku formacie PDF. www.linux-magazine.pl Sierpień 2004 59 KNOW HOW Robocup kowo odporna na błędy. Ponadto umożliwia komunikację pomiędzy poszczególnymi elementami podłączonymi do niej bez udziału jednostki centralnej. Magistrala CAN jest podłączona do komputera przenośnego przy pomocy portu równoległego, dla którego napisano specjalny sterownik. Sterowanie i przetwarzanie obrazu Złożone projekty z zakresu robotyki wymagają dobrze przemyślanej architektury. Oprogramowanie musi w dużej części działać niezależnie od innych urządzeń robota, aby umożliwić takim elementom jak autolokacja prawidłowe działanie w środowiskach innych niż boisko do gry w piłkę, np. w biurze i w sytuacjach awaryjnych. Głównym elementem programowym jest moduł Miro – abstrakcyjna warstwa sterowania urządzeniami. Dostarcza ona też różnych struktur programowych dla sterowania robotem i przetwarzania obrazu wideo. Miro zbudowano w oparciu o CORBA [4], a to oznacza, że poszczególne elementy programu można łatwo przenosić w ramach grupy komputerów. Cecha ta przydaje się szczególnie do złożonych zadań obliczeniowych lub przy wykrywaniu i usuwaniu usterek. Miro staje się ostatnio bardzo popularny – wydano go na licencji GPL i można go pobrać ze strony znajdującej się pod adresem [5]. Elastyczne moduły Miro Inny projekt wykorzystuje strukturę przetwarzania obrazu wideo Miro i zajmuje się rozpoznawaniem obiektów. Ostatnim modułem jest samo oprogramowanie do gry w piłkę. Zajmuje się ono takimi aspektami, jak modelowanie świata, autolokacja, szablony zachowań dla przyjęcia czy kopnięcia piłki, itd. Zwykłe problemy Problemy praktyczne robotyki mają zwykle niewiele wspólnego z rzeczywistymi celami naukowymi. Przykładowo roboty mogą korzystać z ograniczonej liczby odpowiednich komputerów przenośnych. To poważny problem, dlatego nasz zespół – Ulm Sparrows, wybrał komputery przenośne IBM serii X31, czyli najmniejsze modele IBM z 12-calową matrycą. Laptopy mają na pokładzie procesor Pentium 4 taktowany z częstotliwością 1.4GHz i technologią Centrino, która zapewnia kompromis pomiędzy czasem działania na akumulatorach a wydajnością obliczeniową jednostki. Użycie architektury Centrino oznaczało konieczność pokonania kilku problemów związanych z modułem Intel WLAN. Z pomocą projektu Ndiswrapper [6] oraz sterownika binarnego dla Windows XP udało nam się zmusić do prawidłowej pracy interfejs WLAN. Obecna wersja testowa sterownika WLAN Open Source firmy Intel [7] nie spełnia naszych oczekiwań. Podczas testów laboratoryjnych największym problemem było obciążenie procesora. Nadzieja w tym, że każdego tygodnia pojawia się nowa wersja tego sterownika. Głodna magistrala CAN Rysunek 2: Jako jednostki centralne roboty korzystają z komputerów przenośnych IBM (niebieska pokrywa i szara obudowa). Poniżej znajduje się zespół napędowy z akumulatorem (szary) i zbiornikiem sprężonego powietrza (fioletowy). 60 Sierpień 2004 Magistrala CAN przysporzyła nam znacznie więcej problemów niż transmisja bezprzewodowa WLAN. Podczas gdy magistrala CAN wymaga cyklów procesora tylko wtedy, kiedy trzeba coś przesłać, sterownik CAN [8] korzystał z cyklów procesora przez cały czas. Zdecydowaliśmy się skontaktować z autorem sterownika, który od razu udostępnił nam nową wersję testową. Dzięki temu mogliśmy przesiąść się na jądro 2.6 – w meczach kwalifikacyjnych używaliśmy jądra 2.6.5-pre3-bk. Poprawki, które zawiera jądro 2.6, zwiększyły także znacznie wydajność naszych systemów. W przeciwieństwie do urządzeń konsumenckich, kamery Firewire nie używają biblioteki libdv1394, lecz libdc1394 albo libraw1394. System z jądrem 2.4 miał nieprzyjemną tendencję do nagłego przerywania pracy, co gorsza nie byliśmy w stanie odtworzyć błędu www.linux-magazine.pl Rysunek 3: Wnętrze Gonzalesa: Pokrywa (po prawej stronie) mieści silnik krokowy dla kamery Firewire, która leży po lewej stronie obudowy robota. w warunkach testowych. Po pojawieniu się problemu nie można też było usunąć z pamięci problematycznych modułów, jedyną metodą było ponowne uruchomienie komputera. Problemy zniknęły po przesiadce na jądro 2.6 – a przynajmniej nie są one teraz takie częste. Przyszłość Od czasu pierwszych rozgrywek Robocup w Japonii w 1997 roku nastąpił znaczny postęp. Wtedy roboty ledwo były w stanie się poruszać, teraz ich prędkość dochodzi do trzech metrów na sekundę i to z prowadzeniem piłki. Mistrzostwa Świata rozegrane zostaną w dniach 27 maja – 3 czerwca 2004 roku w Lizbonie (Portugalia). Pamiętajmy, że ostatecznym celem organizacji Robocup jest zwycięstwo robotów w meczu z ludzkim zespołem Mistrzów Świata do roku 2050 (http://www.robocup.org). ■ INFO [1] Robocup Open 2004: http://ais.gmd.de/GO/2004 [2] Strona domowa międzynarodowego pucharu Robocup: http://www.robocup.org [3] Strona domowa Ulm Sparrows: http://www.sparrows.uni-ulm.de [4] The Ace Corb (CORBA): http://www.theaceorb.com/ [5] Środki programowo-sprzętowe dla robotów (Miro): http://smart.informatik.uni-ulm.de/Miro/ [6] Strona domowa projektu Ndiswrapper: http://ndiswrapper.sourceforge.net [7] Strownik Centrino WLAN firmy Intel: http://ipw2100.sourceforge.net [8] Sterownik magistrali CAN dla Linuksa: http://www.peak-system.com/linux/