Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych



Podobne dokumenty
Środowiska Symulacji Robotów Kraków

Skanowanie trójwymiarowej przestrzeni pomieszczeñ

METODY SZYBKIEGO PROTOTYPOWANIA ZE SPRZĘŻENIEM ZWROTNYM ROBOTÓW MOBILNYCH Z WYKORZYSTANIEM HARDWARE IN THE LOOP

Zastosowania Robotów Mobilnych

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

ROCZNIKI 2010 GEOMATYKI. Metodyka i technologia budowy geoserwera tematycznego jako komponentu INSPIRE. Tom VIII Zeszyt 3(39) Warszawa

Wykład 1. Wprowadzenie do systemów CAD

Systemy Czasu Rzeczywistego (SCR)

Specjalność: Komputerowe systemy sterowania i diagnostyki

Automatyka i Robotyka studia stacjonarne drugiego stopnia

PLAN STUDIÓW - STUDIA STACJONARNE I STOPNIA kierunek: automatyka i robotyka

dr inż. Tomasz Krzeszowski

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Specjalność: Komputerowe systemy sterowania i diagnostyki. Strona 1 z 5

Si³owniki elektryczne typu 5801 (o ruchu obrotowym) typu 5802 (o ruchu posuwistym)

WIZUALIZACJA I STEROWANIE ROBOTEM

Mechatronika i szybkie prototypowanie układów sterowania

Szybkie prototypowanie w projektowaniu mechatronicznym

Wyznaczanie charakterystyki widmowej kolorów z wykorzystaniem zapisu liczb o dowolnej precyzji

przewidziane s¹ menu rozwijane i ikony, które uruchamiaj¹ rzadziej u ywane i bardziej zaawansowane opcje programu.

W Y B R A N E P R O B L E M Y I N Y N I E R S K I E

Systemy Informatyki Przemysłowej

PRACA DYPLOMOWA MAGISTERSKA

MICROAUTOMATIC INFORMACJA O PRODUKCIE

Kurs wybieralny: Zastosowanie technik informatycznych i metod numerycznych w elektronice

Instrukcja obs³ugi PL

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia

INSTRUKCJA OBS UGI MIKROPROCESOROWY PRZETWORNIK TEMPERATURY. TxRail 4-20 ma. wydanie listopad 2004

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Projektowanie logistycznych gniazd przedmiotowych

WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE URUCHAMIANIA I TESTOWANIA UKŁADÓW MIKROPROCESOROWYCH

ECTS - program studiów kierunku Automatyka i robotyka, Studia I stopnia, rok akademicki 2015/2016

Tabela odniesień efektów kierunkowych do efektów obszarowych

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

ZAGADNIENIA SPECJALNOŚCIOWE

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

Kierunek: Automatyka i Robotyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Tabela odniesień efektów kierunkowych do efektów obszarowych

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

SYSTEM INFORMACJI GEOGRAFICZNEJ JAKO NIEZBÊDNY ELEMENT POWSZECHNEJ TAKSACJI NIERUCHOMOŒCI**

Tematy prac dyplomowych w Katedrze Awioniki i Sterowania Studia I stopnia (inżynierskie)

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO. Specjalność magisterska Katedry Systemów Elektroniki Morskiej

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

II-go stopnia. Stacjonarne. Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Modelowanie œrodowiska 3D z danych pomiarowych**

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu

INSTRUKCJA OBS UGI MIKROPROCESOROWY PRZETWORNIK TEMPERATURY. TxBlock 4-20 ma. wydanie listopad 2004

PLAN STUDIÓW - STUDIA STACJONARNE I STOPNIA kierunek: automatyka i robotyka

PLAN STUDIÓW - STUDIA NIESTACJONARNE I STOPNIA kierunek: automatyka i robotyka. semestralny wymiar godzin. Semestr 1. Semestr 2. Semestr 3.

System zarządzający grami programistycznymi Meridius

Model symulacyjny robota Explorer 6WD z uwzględnieniem uszkodzeń

LEGO Segway. Budowa i analiza strukturalnie niestabilnego robota mobilnego na bazie projektu Segway

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Lista zagadnień kierunkowych pomocniczych w przygotowaniu do egzaminu dyplomowego magisterskiego Kierunek: Mechatronika

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 2-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Rozszerzony konspekt przedmiotu Inteligentne maszyny i systemy

Urządzenia Elektroniki Morskiej Systemy Elektroniki Morskiej

Katedra Systemów Elektroniki Morskiej. Specjalność Systemy elektroniki morskiej

ZESZYTY NAUKOWE INSTYTUTU POJAZDÓW 2(98)/2014

Egzamin / zaliczenie na ocenę*

Informatyka studia stacjonarne pierwszego stopnia

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Projekt Zaprogramować działanie robota w narzędziu USARSim

Specjalizacja uzupełniająca. urządzeniowo - informatyczna dla wszystkich kierunków na ETI (II st.)

POKL /10. Gliwice, SKN Robotyki Encoder Wydział Automatyki, Elektroniki i Informatyki Politechnika Śląska RAPORT

O autorze... 9 Wprowadzenie... 11

Si³owniki elektrohydrauliczne Typ do -23

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows

Proces technologiczny. 1. Zastosowanie cech technologicznych w systemach CAPP

PRZEWODNIK PO PRZEDMIOCIE

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW AUTOMATYKA I ROBOTYKA STUDIA PIERWSZEGO STOPNIA PROFIL PRAKTYCZNY

Stanowisko pomiarowe do wyznaczania ró nicowego pr¹du wy³¹czania wy³¹czników ró nicowo-pr¹dowych typu AC

Instrukcja Prasy Termotransferowej Secabo TS7

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Rozproszona pamiêæ dzielona - 1

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW AUTOMATYKA I ROBOTYKA

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

INŻYNIERIA OPROGRAMOWANIA

DROGA ROZWOJU OD PROJEKTOWANIA 2D DO 3D Z WYKORZYSTANIEM SYSTEMÓW CAD NA POTRZEBY PRZEMYSŁU SAMOCHODOWEGO

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Kinematyka manipulatora równoległego typu DELTA 106 Kinematyka manipulatora równoległego hexapod 110 Kinematyka robotów mobilnych 113

Wykaz tematów prac dyplomowych w roku akademickim 2012/2013 kierunek: informatyka, studia niestacjonarne

Załącznik Nr 5 do Zarz. Nr 33/11/12

Uniwersytet Śląski w Katowicach str. 1 Wydział Informatyki i Nauki o Materiałach

Wykaz osób pełniących funkcję opiekunów Warsztatów

Projektowanie baz danych za pomocą narzędzi CASE

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

Spis treści. Od autorów / 9

Projekt i implementacja filtra dzeń Pocket PC

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

AUTOMATYKA 2009 Tom 13 Zeszyt 3 S³awomir Je ewski*, Maciej aski* Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych 1. Wprowadzenie Symulacja i wspomaganie projektowania odgrywa coraz powa niejsz¹ rolê we wspó³czesnym przemyœle. Œrodowiska CAD/CAM i œrodowiska symulacyjne z powodzeniem stosowane s¹ w przemyœle maszynowym, samochodowym i lotniczym zmniejszaj¹c koszty opracowania rozwi¹zañ, przyspieszaj¹c termin wprowadzenia produktu do u ytku. Podobnie jest w zastosowaniach robotycznych, w których zadanie konstrukcji robota zawiera w sobie etapy projektowania mechanicznego, elektrycznego i informatycznego. Etapy te mo na zreorganizowaæ, przyspieszyæ i zrównolegliæ, stosuj¹c narzêdzia CAD/CAM w po- ³¹czeniu z narzêdziami symulacyjnymi. Symulacja robota i jego otoczenia pozwala na znacznie szybsze testowanie algorytmów zachowania robota w ró nych sytuacjach, czasem niedostêpnych w rzeczywistym otoczeniu. Dziêki symulacji zmniejszane s¹ koszta testowania i sprzêtu, oraz zmniejszane jest ryzyko uszkodzenia sprzêtu w wyniku nieprawid³owego zachowania robota podczas pierwszych faz uruchomienia. Praca z symulatorem wyklucza podstawowe Ÿród³a b³êdów z algorytmów i dostarcza danych dla usprawnienia konstrukcji mechanicznej i elektronicznej robota. Literatura naukowa na temat tworzenia symulatorów robotów mobilnych i wymagañ stawianych symulatorom jest stosunkowo uboga. Pojedyncze publikacje pochodz¹ g³ównie ze œrodowiska twórców symulatorów [1, 2]. Szersza aktywnoœæ publikacyjna zwi¹zana jest z programami CAD/CAM w zastosowaniach robotycznych [3 5]. W niniejszej publikacji zawarto wyniki przegl¹du dostêpnych œrodowisk symulacji robotów mobilnych. Sformu- ³owano oczekiwania w stosunku do œrodowiska symulacyjnego. Opracowanie ma po czêœci charakter przewodnika dla projektantów oprogramowania i konstruktorów robotów, którzy chc¹ wykorzystaæ potencja³ dostêpnych narzêdzi. 2. Kryteria doboru œrodowiska symulacji W trakcie projektowania robota, a w szczególnoœci robota mobilnego, wystêpuje wiele sta³ych i charakterystycznych punktów projektu. Pierwszym etapem jest zaprojektowanie * Katedra Informatyki Stosowanej, Politechnika ódzka 1095

1096 S³awomir Je ewski, Maciej aski konstrukcji mechanicznej robota na podstawie postawionych a priori wymagañ, zaprojektowanie elektroniki steruj¹cej, a w etapie koñcowym oprogramowania. Z oczywistych przyczyn wiêkszoœæ prac musi przebiegaæ etap po etapie. Wdra anie algorytmów mo e siê odbywaæ po zaprojektowaniu, wykonaniu i uruchomieniu mikroprocesorowych uk³adów wykonawczych. Systemy mikroprocesorowe mog¹ byæ uruchamiane w obecnoœci minimalnego oprzyrz¹dowania mechanicznego. Kolejnoœæ etapów upodabnia projekt konstruowania robota do kaskadowego modelu i powoduje, e wiêkszoœæ problemów i niedoci¹gniêæ projektowych ujawniaæ siê bêdzie dopiero na koñcowym etapie prac. Czêœæ za³o eñ projektowych postawionych a priori wyka e sw¹ nierealnoœæ lub niemo liwoœæ realizacji dopiero na etapie tworzenia oprogramowania (problem pierwszego typu). Niektóre za³o enia determinuj¹ce pocz¹tkowe prace konstrukcyjne powstan¹ dopiero po opracowaniu i przeanalizowaniu prototypów oprogramowania (problem drugiego typu). Stosuj¹c oprogramowanie symulacyjne i oprogramowanie CAD/CAM w roli narzêdzia prototypuj¹cego, mo na unikn¹æ problemów obydwu typów. Przyjmuj¹c, e oprogramowanie symulacyjne bêdzie stanowiæ oœrodek dzia³añ zespo- ³u projektowego i p³aszczyznê prototypowania dla algorytmów i konstrukcji mechanicznej robota, nale y zadbaæ, by œrodowisko symulacji charakteryzowa³o siê okreœlonymi cechami. Wed³ug autorów publikacji istotne jest by œrodowisko: Umo liwia³o zrównoleglenie prac poszczególnych zespo³ów projektowych. Stanowi³o platformê ³¹cz¹c¹ wysi³ki wielu grup projektowych. Umo liwia³o pracê wielodostêpn¹ i pracê zdaln¹, kontrolê wersji. Umo liwia³o pracê w œrodowisku rozproszonym tak, by wielkoœæ modelu nie stawia³a bariery dla zadañ projektowych. Aby symulacja by³a skuteczna od strony fizycznej, nale y zapewniæ: mo liwoœæ tworzenia/importowania z oprogramowania CAD/CAM trójwymiarowego modelu robota lub dowolnego jego elementu; mo liwoœæ importowania parametrów masowych i geometrycznych dostêpnych jako wyniki projektowania CAD/CAM; mo liwoœæ symulacji tarcia statycznego, dynamicznego oraz tarcia w uk³adach hydraulicznych; mo liwoœæ symulacji dynamiki bry³y sztywnej, kinematyki i statyki po³¹czeñ przegubowych. Symulowanie zachowania siê robota mobilnego w otoczeniu wymaga by mo liwe by³o: tworzenie trójwymiarowych modeli otoczenia; symulowanie dzia³ania oprogramowanego modelu w czasie rzeczywistym; symulowanie interakcji robota z otoczeniem; symulowanie pracy czujników: ultradÿwiêkowych, skanerów laserowych 2D i 3D, GPS-u, yrokompasu, akcelerometrów, kamer.

Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych 1097 Oprogramowanie symulacyjne mo e siê staæ oœrodkiem prac po³¹czonych zespo³ów projektowych, jeœli programiœci bêd¹ mogli zaimplementowaæ dowolnie zdefiniowane bry- ³y/obiekty i dowolne ich zachowania. W tym celu wymaga siê: mo liwoœci pod³¹czania modu³ów programowych korzystaj¹cych ze zmiennych stanu symulatora i mog¹cych wp³ywaæ na obiekty elementarne symulatora; mo liwoœci instalowania modu³ów zmieniaj¹cych charakterystyki obiektów wbudowanych np. modu³ implementuj¹cy tarcie pod³o a o niestandardowej charakterystyce; symulacji w œrodowisku wieloprocesorowym lub wielokomputerowym; mo liwoœci wykorzystania akceleratorów sprzêtowych np. Nvidia PhysX. W nastêpnych rozdzia³ach porównamy znalezione œrodowiska symulacyjne i zaproponujemy te, które mog³y by nadawaæ siê do celów symulacji robota mobilnego lub spe³niaj¹ choæby niektóre z ww. wymagañ. 3. Istniej¹ce œrodowiska symulacji krótka charakterystyka W niniejszym rozdziale przedstawiono listê dostêpnych komercyjnie œrodowisk do symulacji robotów mobilnych. Czêœæ z wymienionych ni ej narzêdzi jest ogólnie dostêpna na prawach oprogramowania open source, lub oprogramowania darmowego, czêœæ jest sk³adnikami pakietów komercyjnych. Aerosim Blockset [6] Biblioteka dla programu Matlab/Simulink dostarczaj¹ca komponenty umo liwiaj¹ce projektowanie nieliniowych 6-DOF modeli samolotów. Posiada narz¹dza symuluj¹ce atmosferê, wiatr, turbulencje i modeluj¹ce ziemiê (geoida, grawitacja, pole magnetyczne). Istnieje darmowa wersja akademicka. ARS MAGNA: Abstract Robot Simulator [7] Dostarcza abstrakcyjny model œwiata w którym u ytkownik mo e kontrolowaæ robota mobilnego. Program pisany w jêzyku LISP dla œrodowisk linuksowych na licencji GPL. Biorobotic Simulation Program [8] Jêzyk skryptowy o nazwie Config++ u ywany do symulacji dynamiki wielosegmentowych robotów. Licencja tylko dla u ytkowników niekomercyjnych. BugWorks [9] Dwuwymiarowa symulacja robota. Robot konstruowany jest w wizualnym edytorze. Oferuje mo liwoœæ wbudowania w robota czujników zbli eniowych (odleg³oœci, zderzaki, itp.). Dostêpny jest tak e jêzyk skryptowy pozwalaj¹cy na proste obliczenia numeryczne, zawiera instrukcje warunkowe i skoki bezwarunkowe, które mog¹ realizowaæ pêtle. Wersja darmowa pozwala na pe³ne wykorzystanie mo liwoœci symulacji, ale nie pozwala na zapisywanie i ³adowanie wczeœniej przygotowanych projektów. RapSim [10] Œrodowisko do modelowania robotów przemys³owych. DYNAMECHS [11] Silnik fizyki i dynamiki bry³ sztywnych napisany ca³kowicie w C++. Pozwala na generowanie trójwymiarowego otoczenia oraz modelowania robotów. Oparty na licencji GNU GPL.

1098 S³awomir Je ewski, Maciej aski DynawizXMR [12] Symulator dynamiki napisany w œrodowisku Matlab/Simulink. Wersja komercyjna. Wizualizacja w postaci wykresów robionych w Matlabie. EASY-ROB [13] Program s³u ¹cy do modelowania robotów przemys³owych. Produkt komercyjny. eyesim [14] Symulator robotów mobilnych. Udostêpnia fizykê platformy z ko³ami dyferencyjnymi, szereg czujników i wizualizacjê trójwymiarow¹. eyewyre Simulation Studio [15] Œrodowisko symulacji i modelowania robotów. Mo liwoœæ modelowania dynamiki oraz zachowania czujników. Projekt komercyjny. The FLAT 2-D Robot Simulator [16] Symulator robota RWI 1 w œrodowisku dwuwymiarowym. Program dzia³a w œrodowisku Linux. Program komunikuj¹cy siê z robotem mo e byæ napisany w Jêzyku LISP. Gwelf [17] Symulacja robota przemys³owego i jego interakcji z otoczeniem. Licencja GNU GPL. Juice [18] Trójwymiarowe œrodowisko symulacji dynamiki robota przy u yciu jêzyka VPL 2. Brak mo liwoœci interakcji z otoczeniem (brak czujników). Khepera Simulator [19] Dwuwymiarowy symulator robota Khrpera 3. Œrodowisko dostêpne pod systemem Linux. Licencja dla u ytku niekomercyjnego. Kinlab [20] Modelowanie dynamiki robota przemys³owego. Oprogramowanie oparte na Java i Java3D. Oprogramowanie darmowe. LME Hexapod [21] Œrodowisko symulacji robota szeœciono nego. Do³¹czone s¹ Ÿród³a w jêzyku C++. Licencja GNU GPL. Microsoft Robotics Developer Studio 2008 [22] RDS jest rozbudowanym œrodowiskiem symulacji robotów przeznaczonym dla hobbystów, studentów i u ytkowników komercyjnych. Oparty jest na technologii dostarczania us³ug (w stylu REST). ¹czenie siê z us³ug¹ dostarcza odpowiedniej funkcjonalnoœci, która pozwoli symulowaæ, lub sterowaæ rzeczywistym lub symulowanym robotem. Oprogramowanie dostêpne jest nieodp³atnie w wersji akademickiej, przeznaczonej dla studentów oraz wersji Express, która nie posiada pe³nej funkcjonalnoœci. MOBS [23] Symulator istniej¹cego robota Robuter II. Œrodowisko pozwala na modelowanie zachowania czujników i widok z kamery robota. Projekt napisany w jêzyku C. U ytkownik ma mo liwoœæ tworzenia w³asnego trójwymiarowego otoczenia. OpenDynamicEngine [24] Niezale na od platformy biblioteka napisana w jêzyku C++ do symulacji dynamiki cia³a sztywnego, pojazdów naziemnych, robotów i obiektów ruchomych. Obs³uguje dynamikê ruchu stawów, tarcie i detekcje kolizji. Oparte na licencji GNU GPL. 1 RWI Robot dwuko³owy posiadaj¹cy jeden lub dwa skanery laserowe i dwanaœcie sonarów. 2 Visual Programming Language 3 http://www.k-team.com/kteam/home.php?rub=0&site=1&version=en

Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych 1099 POPBUGS [25] Œrodowisko symulacji dwuwymiarowej przestrzeni przeznaczonego dla robotów posiadaj¹cych bezw³adnoœæ. System operacyjny Linux. ROBOOP [26] Obiektowo zorientowana biblioteka do symulacji robotów napisana w jêzyku C++. Implementuje kinematykê prost¹ i odwrotn¹, przyspieszenia itp. Licencja GNU GPL. RoBOSS [27] System do symulacji i testowania konstrukcji oraz algorytmów dla robotów. Umo liwia budowanie robotów o dowolnych kszta³tach i w³aœciwoœciach. Symuluje ró ne po³¹czenia pomiêdzy czêœciami robotów: si³owniki, osie, itp oraz elementy aktywne, jak silniki, serwomechanizmy, oraz sensory. System zbudowany z mniejszych modu³ów, z których ka dy mo e zostaæ uruchomiony na osobnym komputerze. Dostêpne jêzyki programowania C++ i C#. Dostêpne s¹ Ÿród³a oraz skompilowane wersje programu. Brak wzmianki o typie licencji. RobotWorks [28] Interaktywne œrodowisko CAD do modelowania i symulacji ruchu robotów przemys³owych. Rozwi¹zanie komercyjne. RoboWorks [29] Narzêdzie do modelowania i symulowania systemów fizycznych. Pozwala na modelowanie dowolnego obiektu (robota). Udostêpnia interfejs programistyczny do wykorzystania w jêzykach umo liwiaj¹cych korzystanie z bibliotek dll. Wersja komercyjna. SodaConstructor [30] Symulator oparty na Javie udostêpniany poprzez interfejs WWW. Umo liwia modelowanie robotów i symulacjê dwuwymiarow¹. Nie posiada implementacji pe³nego symulatora dynamiki i kinematyki. Webots [31] Pozwala na tworzenie trójwymiarowych œwiatów zasiedlonych wieloma symulowanymi robotami. Wspiera tworzenie ko³owych, no nych lub lataj¹cych robotów. Zawiera API do kontroli robotów, pe³n¹ fizyk¹ opart¹ na Silniku ODE (Open Dynamic Engine), bardzo du ¹ bibliotekê modeli czujników, skanerów, kamer i urz¹dzeñ komunikacyjnych. Rozwi¹zanie komercyjne dzia³aj¹ce pod systemami Windows, Linuks i MAC OS X. Yobotics! Simulation Construction Set [32] Symulator dynamiki cia³a. Przeznaczony do symulacji robotów krocz¹cych: humanoidów, robotów szeœciono nych, r¹k b¹dÿ chwytaków i innych mechanizmów. 4. Porównanie dostêpnych œrodowisk symulacji robotów Analiza w³aœciwoœci wy ej wymienionych œrodowisk symulacji wykazuje, e nie wszystkie spe³niaj¹ wyznaczone w rozdziale drugim kryteria. Niektóre nie zawieraj¹ zaimplementowanej dynamiki bry³y sztywnej lub nie potrafi¹ wizualizowaæ danych trójwymiarowych. W tabelach 1 i 2, zosta³o przedstawione zestawienie tych œrodowisk, które spe³niaj¹ podstawowe kryteria.

1100 S³awomir Je ewski, Maciej aski Tabela 1 Porównanie wybranych œrodowisk symulacji robotów Nazwa œrodowiska Wbudowane wsparcie dla grupowego projektowania Wsparcie dla istniej¹cych œrodowisk CAD/CAM Dzia³anie w œrodowisku rozproszonym Modelowanie otoczenia i interakcji z nim DYNAMECHS eyesim eyewyre Simulation Studio Microsoft Robotics Developer Studio 2008 OpenDynamicEngine ROBOOP * Wspierany format obj i collada * RoBOSS RoboWorks Webots Nazwa œrodowiska * Do rozwi¹zañ niekomercyjnych ** Brak wzmianki o typie licencji Tabela 2 Porównanie wybranych œrodowisk symulacji robotów (kontynuacja) Wizualizacja 3D Kinematyka stawów Dynamika bry³y sztywnej Gotowe biblioteki czujników Sprzêtowe wsparcie obliczeñ fizycznych Darmowe b¹dÿ studencka wersja DYNAMECHS eyesim * eyewyre Simulation Studio Microsoft Robotics Developer Studio 2008 OpenDynamicEngine ROBOOP RoBOSS ** RoboWorks Webots

Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych 1101 5. Projekt robota mobilnego w œrodowisku Microsoft Robotics Developer Studio Spoœród wszystkich przedstawionych œrodowisk symulacji, Microsoft Robotics Developer Studio jest jednym z najbardziej funkcjonalnych i rozbudowanych symulatorów. Posiada wsparcie dla projektowania grupowego i mo e zostaæ uruchomione w œrodowisku rozproszonym, dziêki czemu mo na przyspieszyæ pracê w zespole projektowym. Jako jedyne wspiera sprzêtowe obliczenia fizyczne Nvidia PhysX, oraz spe³nia podstawowe wymagania postawione œrodowiskom symulacji. Analiza pozycji ww. tabelach ukazuje, e œrodowisko MRDS jest najlepszym narzêdziem do symulacji robota mobilnego i dlatego zosta³o wykorzystane przez autorów w projekcie. Symulowany robot to szeœcioko³owa platforma ze sztywnym zawieszeniem umo liwiaj¹ca niezale ne sterowanie ka dym z kó³. Dodatkowo do platformy przymocowane jest ramiê z dwoma stopniami swobody oraz g³owica znajduj¹ca siê na koñcu ramienia, równie z czterema stopniami swobody. Robot wyposa ony jest w szereg czujników i kamery, które tak e s¹ zamodelowane i wprowadzone do systemu symulacyjnego. Wœród czujników znajduj¹ siê: skaner laserowy typu SICK, dalmierze ultradÿwiêkowe, kamery w uk³adzie stereowizyjnym oraz kamer obserwacyjne. Za³o eniem symulacji jest przetestowanie robota i jego mo liwoœci w œrodowisku podobnym do rzeczywistego. Œrodowisko ma zapewniaæ symulacjê podstawowych zjawisk fizycznych, daæ mo liwoœæ kontroli nad czêœciami ruchomymi robota (silniki napêdzaj¹ce ko³a i elementy ramienia pokazano na rys. 1 i 2) oraz pobieraæ dane z symulowanych czujników. Algorytmy steruj¹ce bêd¹ implementowane w jêzyku C lub C++ jako zewnêtrzne programy komunikuj¹ce siê z symulatorem za pomoc¹ dowolnego protoko³u. Na rysunku 3 pokazano wysokopoziomow¹ koncepcjê œrodowiska symulacyjnego. Sercem symulacji jest œrodowisko Microsoft Robotics Developer Studio z modelem robota i otoczenia. Natomiast MODU Y DECYZYJNE s¹ to wczeœniej wspomniane programy lub elektroniczne sterowniki, które bêd¹ nadzorowa³y pracê robota oraz zbiera³y i przetwarza³y dane pochodz¹ce z symulacji. Pozwoli to na póÿniejsze przeniesienie kodu algorytmów na procesory docelowe znajduj¹ce siê w rzeczywistym robocie. Z tego powodu interfejs komunikacyjny symulatora musi byæ zgodny z interfejsem poszczególnych urz¹dzeñ znajduj¹cych siê w robocie. Do zagadnieñ symulacyjnych zdecydowano siê wykorzystaæ protokó³ TCP/IP, gdy jest ³atwo dostêpny w komputerach typu PC oraz jest zgodny z dyrektyw¹ JAUS (Joint Architecture for Unmanned Systems), która zosta³a opracowana przez DARPA na potrzeby robotyki wojskowej. Ka dy modu³ robota otwiera swoje gniazdo komunikacyjne, do którego bêd¹ ³¹czyæ siê zewnêtrzne programy steruj¹ce. Modu³ami, które bêd¹ otwieraæ swoje porty, s¹: podstawa (sterowanie silnikami kó³), ramiê (sterowanie silnikami ramienia), kamery, czujniki ultradÿwiêkowe, skaner laserowy typu SICK. W ten sposób mo na testowaæ ka dy modu³ z osobna i dowolnie sterowaæ strumieniem danych.

1102 S³awomir Je ewski, Maciej aski Rys. 1. Symulowany robot Rys. 2. Symulowane ramiê Rys. 3. Schemat symulacji 6. Problemy implementacyjne dostrze one w œrodowisku Microsoft Robotics Developer Studio W procesie tworzenia symulacji rzeczywistego robota w œrodowisku Microsoft Robotics Developer Studio natrafiliœmy na problemy, które uniemo liwi³y przeprowadzenie symulacji w za³o onych warunkach. Œrodowisko to jest stosunkowo nowym oprogramowa-

Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych 1103 niem i zawiera jeszcze wiele niedoci¹gniêæ oraz s³ab¹ dokumentacjê. Poni ej przedstawimy te, na które natrafiliœmy w trakcie procesu implementacji symulatora naszego rzeczywistego robota. Jednym z nich jest symulacja modelu tarcia ko³a, drugim jest powstawanie dodatkowych si³ w silniku fizyki wywo³ywanych prób¹ poruszania ramieniem do pozycji kolizyjnych. 6.1. Model tarcia ko³a Silnik PhysX dostarcza zaimplementowany model ko³a (WheelEntity), którego podstawowymi w³aœciwoœciami s¹ promieñ, prêdkoœæ k¹towa oraz k¹t skrêtu ko³a (potrzebny do symulacji samochodu). Dla ko³a dostêpny jest bardzo rozbudowany model tarcia. Mo - na symulowaæ tarcie wzd³u ne i boczne w zale noœci od potrzeb. Model ten ma jednak du- ¹ wadê, poniewa jest nieparametryczny i nie zale y od wspó³czynnika tarcia pod³o a. W praktycznych zadaniach projektowych autorzy publikacji za³o yli, e robot bêdzie porusza³ siê po ró norodnym pod³o u oraz powinien reagowaæ na zmieniaj¹ce siê charakterystyki pod³o a. Dlatego opracowano zamienny model ko³a oparty na cylindrycznym kszta³cie, po³¹czony z cia³em robota za pomoc¹ obrotowego po³¹czenia. Dziêki nowemu modelowi mo na uzyskaæ ró ny wspó³czynnik tarcia w zale noœci od pod³o a, na którym robot siê porusza. Model tego tarcia zawiera uproszczenia, jednak na potrzeby testowania i symulacji jest wystarczaj¹cy. Rys. 4. Symulacja ko³a Rys. 5. Widok z silnika fizyki Przy realizacji modelu ko³a natrafiono na dodatkowy problem: œrodowisko symulacyjne MRDS nie ma zaimplementowanej bry³y o kszta³cie cylindra, ale wystêpuje tam kszta³t kapsu³y (walec zakoñczony z obu stron kulistymi kopu³ami). Jest to jedyny kszta³t, który mo e pos³u yæ do symulacji ko³a. Wprowadza on pewne b³êdy zwi¹zane z szerokoœci¹ ro-

1104 S³awomir Je ewski, Maciej aski bota oraz faktem, e fizyczna reprezentacja ko³a wtapia siê w cia³o robota, przez co pojawia siê problem z ustawianiem fizycznych modeli czujników i ramienia blisko bocznych krawêdzi obudowy. 6.2. Dodatkowe si³y wystêpuj¹ce w po³¹czeniach elementów dynamicznych Podczas symulowania pracy ramienia robota dostrzegliœmy b³êdne zachowanie silnika fizyki. Próbowaliœmy ustawiæ ramiê robota w konfiguracji, która jest nieosi¹galna ze wzglêdu na kolizjê ramienia z obudow¹ robota (rys. 6). Rys. 6. Niemo liwa do osi¹gniêcia konfiguracja ramienia W tej konfiguracji g³owica napiera ze stosunkowo du ¹ si³¹ na pozosta³e elementy robota. Zgodnie z zasadami fizyki robot powinien pozostawaæ w stanie spoczynku, poniewa nie dzia³a na niego adna zewnêtrzna si³a. Jednak mechanizm symulacyjny powoduje powolne poruszanie siê ca³ego robota do przodu, tak jakby dzia³a³a na niego zewnêtrzna si³a. 6.3. Podsumowanie Pomimo kilku dostrze onych niedoci¹gniêæ Microsoft Robotics Developer Studio plasuje siê na pierwszym miejscu pod wzglêdem funkcjonalnoœci oraz stabilnoœci pracy. Gotowe komponenty oraz inne rzeczywiste roboty, takie jak Pioneer 3DX czy LEGO NXT

Przegl¹d i porównanie œrodowisk symulacji robotów mobilnych 1105 zawarte w œrodowisku MRDS, dostarczaj¹ du ej iloœci wiedzy na temat symulacji zarówno ca³ego robota, jak i jego elementów. Zalet¹ jest tak e du a spo³ecznoœæ korzystaj¹ca z ogólnodostêpnego forum. Najwiêkszym minusem jest uboga dokumentacja, jednak to zrozumia³e, bior¹c pod uwagê krótki sta œrodowiska, które pojawi³o siê w 2008 roku. Podsumowuj¹c cechy œrodowiska Microsoft Robotics Developer Studio, dochodzimy do wniosku, e jest ono odpowiednim narzêdziem do przeprowadzenia symulacji robota mobilnego. Dostrze one w trakcie pracy œrodowiska b³êdy uda³o siê omin¹æ i opracowaæ pakiet oprogramowania, który pozwoli prototypowaæ procedury, schematy zachowania robota, przeprowadziæ wiele testów jeszcze przed powstaniem w³aœciwego robota wraz ze wszystkimi uk³adami elektronicznymi. Literatura [1] Koestler A., Bräunl T., Mobile Robot Simulation with Realistic Error Models. [w:] International Conference on Autonomous Robots and Agents, ICARA 2004, Dec. 2004. [2] Brian P., Gerkey R., Vaughan T., Howard A., The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems. [w:] Proceedings of the International Conference on Advanced Robotics (ICAR 2003), 2003. [3] Pollack J., Lipson H., Funes P., Ficici S., Hornby G., Coevolutionary Robotics. IEEE Computer Society, Washington 1991. [4] Ribeiro F., Norrish J., Rapid prototyping using robot welding process description. [5] Èuboòová N., Kumièáková D., Tools and applications of computer aided manufacturing and robot virtual model designing. [w:] 6th International Multidisciplinary Conference, 2005. [6] Aerosim_Blockset, http://www.u-dynamics.com/aerosim/, luty 2009. [7] ARS_MAGNA:_Abstract_Robot_Simulator, http://www.cs.cmu.edu/afs/cs/project/ai-repository/ ai/areas/testbeds/arsmagna/0.html, luty 2009. [8] Biorobotic_Simulation_Program, http://www.life.uiuc.edu/delcomyn/rssimsoftware.htm, luty 2009l. [9] BugWorks, http://www.cogs.sussex.ac.uk/users/christ/bugworks/, luty 2009. [10] RapSim, http://www.camelot.dk/, luty 2009. [11] DYNAMECHS, http://sourceforge.net/projects/dynamechs/, luty 2009. [12] DynawizXMR, http://www.concurrent-dynamics.com/xmr/, luty 2009. [13] EASY-ROB, http://www.easy-rob.com/en/product.html, luty 2009. [14] eyesim, http://robotics.ee.uwa.edu.au/eyebot/doc/sim/sim.html, luty 2009. [15] eyewyre_simulation_studio, http://www.eyewyre.com/, luty 2009. [16] The_FLAT_2-D_Robot_Simulator, http://www.cs.utexas.edu/users/qr/robotics/flat/, luty 2009. [17] Gwell, http://diablo.ict.pwr.wroc.pl/~pjakwert/, luty 2009. [18] Juice, http://www.natew.com/juice/, luty 2009. [19] Khepera_Simulator, http://diwww.epfl.ch/lami/team/michel/khep-sim/index.html, luty 2009. [20] Kinlab, http://kinlab.dyndns.org/, luty 2009. [21] LME_Hexapod, http://www.laboratoryformicroenterprise.org/lme/computercraftsmanship.html, luty 2009. [22] Microsoft_Robotics_Developer_Studio_2008, http://msdn.microsoft.com/en-us/robotics/default.aspx, luty 2009. [23] MOBS, http://robotics.ee.uwa.edu.au/mobs/, luty 2009. [24] OpenDynamicEngine, http://ode.org/, luty 2009.

1106 S³awomir Je ewski, Maciej aski [25] POPBUGS, http://www.cogs.sussex.ac.uk/users/christ/popbugs/intro.html, luty 2009. [26] ROBOOP, http://www.cours.polymtl.ca/roboop/, luty 2009. [27] RoBOSS, http://home.icslab.agh.edu.pl/~soofka/roboss2/, luty 2009. [28] RobotWorks, http://www.robotworks-eu.com/, luty 2009. [29] RoboWorks, http://www.newtonium.com/, luty 2009. [30] SodaConstructor, http://sodaplay.com/creators/chris_gjersing/items/recycler, luty 2009. [31] Webots, http://www.cyberbotics.com/products/webots/, luty 2009. [32] Yobotics!_Simulation_Construction_Set, http://yobotics.com/simulation/simulation.htm, luty 2009.