• Nie Znaleziono Wyników

Modułowy robot mobilny do celów dydaktycznych i badawczych / PAR 2/2011 / 2011 / Archiwum / Strona główna | PAR Pomiary - Automatyka - Robotyka

N/A
N/A
Protected

Academic year: 2021

Share "Modułowy robot mobilny do celów dydaktycznych i badawczych / PAR 2/2011 / 2011 / Archiwum / Strona główna | PAR Pomiary - Automatyka - Robotyka"

Copied!
9
0
0

Pełen tekst

(1)

mgr inĪ. Paweá Piątek, mgr inĪ. Marcin ZieliĔski, dr hab. inĪ. Piotr SkrzypczyĔski Politechnika PoznaĔska, Instytut Automatyki i InĪynierii Informatycznej

MODUàOWY ROBOT MOBILNY

DO CELÓW DYDAKTYCZNYCH I BADAWCZYCH

W pracy przedstawiono koncepcjĊ, konstrukcjĊ i oprogramowanie moduáowego robota mobilnego, przeznaczonego do celów dydaktycznych i badawczych. Zaprezentowano koncepcjĊ, niewielkiego koáowego robota mobilnego LapBot, którego gáównym zaáoĪeniem konstrukcyjnym byáo maksymalne wykorzystanie zasobów komputera klasy notebook do zadaĔ przetwarzania danych sensorycznych i sterowania. Opisano konstrukcjĊ mechaniczną robota oraz strukturĊ i oprogramowanie jego sterownika warstwy motorycznej. Przedstawiono takĪe przykáadowe moduáy rozszerzeĔ: podsystem dalmierzy optycznych dziaáających w zakresie podczerwieni oraz moduá Īyroskopu wspomagającego odometriĊ. Opisano takĪe przykáadowe oprogramowanie sterujące dla komputera nadrzĊdnego, pozwalające na demonstracjĊ moĪliwoĞci robota.

A MODULAR MOBILE ROBOT FOR EDUCATION AND RESEARCH

In this paper we present a modular mobile robot intended to be used in education and research. The robot is named LapBot, and the main idea behind it’s concept is to use as much as possible the resources of a notebook computer, which is nowadays ubiquitous equipment among students and researchers. The notebook plays the role of a high-level controller, responsible for processing data from the external sensors, guidance of the robot, and the user interface. The paper describes the mechanical design of the robot’s platform, and the structure and functions of the low-level motion controller. Two examples of the extension modules are also presented: a subsystem with infra-red range sensors, and a rate gyro module, which supports the odometry. Also the application software of the robot is presented, which allows for a demonstration of it’s features.

1. WSTĉP

Od kilkunastu juĪ lat zaobserwowaü moĪna wzrastającą popularnoĞü robotyki jako narz Ċdzia i Ğrodka edukacji technicznej [7], zarów no na poziom ie uniwersyteckim , jak t eĪ wĞród roĪnego rodzaju hobbystów i osób zainteresowanych szeroko poj Ċtymi technikam i informacyjnymi. WĞród przyczyn tego zjawiska naleĪy dostrzec takĪe zwiĊkszoną dostĊpnoĞü róĪnego rodzaju robotów edukacyjnych oraz zestawów i kom ponentów um oĪliwiających budowĊ wáasnych robotów. Szczególnie popularne w zastosowaniach edukacyjnych s ą koáowe lub gąsienicowe roboty mobilne, co wi ąĪe siĊ z ich niewielk ą liczbą stopni swobody i najczĊĞciej prostszą, w porównaniu z robotam i manipulacyjnymi, konstrukcją mechaniczną. Jednak wiĊkszoĞü z robotów mobilnych dostĊpnych jako zestawy do samodzielnego m ontaĪu lub gotowe produkty edukacyjne charakteryzuje si Ċ uproszczon ą konstrukcj ą m echaniczną, gdyĪ to w áaĞnie koszt wytworzenia "m echaniki" stanowi najwi Ċkszą cz ĊĞü kosztów ca áego robota.

Odbija siĊ to szczególn ie na jako Ğci odometrii zliczeniowej – jej realizacja wym aga precyzyjnego wykonania ukáadu jezdnego, a wszelkie niedokáadnoĞci wykonania lub montaĪu odbijają siĊ negatywnie na jako Ğci otrzymywanej estymaty pozycji robota [13]. Powoduje to, Īe proste mobilne roboty edukacyjne nie speániają istotnych wymogów stawianych przed nimi

(2)

przez uĪytkowników akademickich, którzy chc ą uĪywaü robotów nie tylko przyci ągających uwagĊ zabawek, lecz tak Īe do realizacji konkretnych zada Ĕ o charakterze edu kacyjno-badawczym. Do realizacji zad aĔ takich jak jednoczesna sam olokalizacji i budow a m apy otoczenia, autonomiczne sterowanie odruchowe, zastosowania systemów wizyjnych, badanie zachowaĔ grupowych potrzebne s ą roboty m obilne posiadaj ące niezawodny podsystem odometrii, moĪliwoĞü dowolnego kszta átowania trajektorii ruchu oraz ud Ĩwig wystarczający do umieszczenia na pok áadzie takich sensorów jak np. skan er laserowy. Dodatkowym, lecz bardzo istotnym z praktycznego punktu widzenia wym ogiem, jest otwarto Ğü ar chitektury sterowania, umoĪliwiająca sterowanie robotem za pomocą programów napisanych w roĪnych jĊzykach (P ascal, C /C++, Java) oraz dzia áających na ró Īnych platform ach systemowych (Unix/Linux, W indows). Niestety, powy Īej wym ienione wym agania nie s ą spe ániane przez dostĊpne na rynku edukacyjne roboty m obilne lub zestawy do budowy robotów. Spe ániają je roboty oferowane jako specjalizowany sprzĊt badawczy, które są jednak kilkakrotnie droĪsze. Sytuacja ta sk áoniáa Instytut Autom atyki i In Īynierii Infor matycznej (IAiII) Politechniki Pozna Ĕskiej do prac nad w áasnym ko áowym robotem m obilnym do celów edukacyjnych i badawczych. Prototypowy robot zosta á wytworzony we wspó ápracy z poznaĔską fi rmą P.P.H. WObit, dzia áającą gáównie w bran Īy nap Ċdów elektryczny ch i sterowników, lecz mającą teĪ w swej ofercie zestawy edukacyjnych robotów mobilnych [15] oraz komponenty do budowy robotów. W spóápraca z firmą WObit, posiadającą odpowiednie zaplecze warsztatowe i do Ğwiadczenie w prod ukcji zestawów edukacyjnych, pozwoli áo na wytworzenie robota, który nie tylko charakteryzuje si Ċ profesjonalnym wykonaniem komponentów, lecz tak Īe posiada pewien potencja á kom ercyjny. Projekt realizow any by á w myĞl zas ad open source, w efekcie czego zarówno IA iII jak i WObit m ają prawo do niezaleĪnego rozwoju powstaáej konstrukcji.

2. KONCEPCJA ROBOTA LAPBOT

Analizując potrzeby IAiII oraz innych Ğrodowisk akadem ickich w zakresie robotów mobilnych, stwierdzono, Īe robot edukacyjno-badawczy powinien charakteryzowa ü si Ċ nastĊpującymi cechami:

x niewielkie wymiary i masa pozwalające na swobodne przenoszenie robota, x moĪliwoĞü montaĪu na pokáadzie robota sensorów zewnĊtrznych,

x dobra jakoĞü estymaty pozycji uzyskiwana z podsystemu odometrii,

x moĪliwoĞü sterowania nadrzĊdnego z komputera klasy PC umieszczonego na pokáadzie, x sterowanie robotem oparte na transmisji szeregowej i jawnym protokole (liĞcie rozkazów), x otwartoĞü systemu sterowania oraz moĪliwoĞü rozbudowy i modyfikacji (moduáowoĞcią). x akceptowalny koszt wytworzenia, umoĪliwiający budowĊ wiĊkszej liczby egzemplarzy.

Jak wida ü z powy Īszej listy wymaga Ĕ, robot powinien niewielki i mo Īliwie tani, a jednoczeĞnie m ieü mo ĪliwoĞü zabran ia na pok áad komputera PC oraz dodatkowych sensorów (kamera, skaner laserowy).

Zapoznając siĊ z is tniejącymi profesjonalnymi i am atorskimi konstrukcjami robotów mobilnych znaleĨü mo Īna kilka, spe ániających niektóre z postawionych powy Īej wymagaĔ. Bardzo in teresującym rozwi ązaniem jest robot VolksBot z Instytutu Fraunhofera [16], pomyĞlany jako uniwersalna i dost Ċpna platform a badawc za do sam odzielnego monta Īu. Robot ten charakteryzuje siĊ wyjątkowo duĪą moduáowoĞcią, pozwalającą na konfigurowanie pojazdów o ró Īnych uk áadach jezdnych, np. ró Īnicowym dwuko áowym (ang. differential

drive), ró Īnicowym c zterokoáowym lub sze Ğciokoáowym (ang. skid steering), a lbo

trójkoáowym z ko áem skr Ċtnym (rys. 1A). Realizacja tej interesuj ącej koncepcji wi ąĪe si Ċ jednak ze sporym i kosz tami moduáów mechanicznych. Innym ciekawym rozwi ązaniem jest

(3)

robot ER-1, sprzedawany w zestawach do sa modzielnego montaĪu (rys. 1C). Jest to przyk áad podejĞcia minim alistycznego, gdzie wi ĊkszoĞü funkcji steruj ących wykonuje dostarczany przez u Īytkownika komputer kl asy notebook [4]. W Ğród robotów mobilnych b Ċdących konstrukcjami jednostkowymi, powstaáych na uczelniach lub w warunkach amatorskich warto odnotowaü robota QuakyAnt [3] (rys. 1B), b Ċdącego udan ą prób ą sam odzielnej budowy robota o cechach i funkcjonalno Ğci zbliĪonych do popularnych robotów kom ercyjnej rodziny Pioneer [9], oraz robota zbudowanego z zestawów Lego M indstorms NXT (rys. 1D), lecz wyposaĪonego w komputer pokáadowy klasy notebook [1]. Konstrukcje te sta áy siĊ inspiracją i swoistymi punktami odniesienia dla powstającego w IAiII robota mobilnego.

Rys. 1. VolksBot (A) [16], QuakyAnt (B) [3], Evolution Robotics ER-1 (C) [4], robot z zestawów Lego NXT (D) [1]

Po analizie potrzeb, mo ĪliwoĞci technologicznych i kosztów podj Ċto d ecyzje usta lające konfiguracjĊ budowanego robota.

x Ukáad jezdny typu ró Īnicowego z ko áem podporowym . jest to najprostszy z punktu widzenia konstrukcji mechanicznej ukáad jezdny, nie wym aga zawieszenia i zapewnia dobre warunki pracy podsystemu odometrii [5].

x Moduáowa budowa uk áadów elektronicznych robota. Robot powinien opiera ü si Ċ na sterowniku warstwy m otorycznej, który realizowaü bĊdzie podstawowe funkcje (sterowanie napĊdami, odom etria, kom unikacja z kom puterem nadrz Ċdnym), który b Ċdzie zawsze stosowany, natomiast pozostaáe komponenty, takie jak dodatkowe sensory m ontowane bĊdą w miarĊ potrzeb.

x Komputerem nadrzĊdnym bĊdzie PC klasy notebook/netbook, um ieszczony na platformie robota i zasilany z w áasnych baterii. Jest to rozwi ązanie znacznie ta Ĕsze ni Ī uĪycie specjalnego kom putera wbudowanego, a m oc obliczeniowa wspó áczesnych notebooków zapewni robotowi m oĪliwoĞü realizacji na pok áadzie praktycznie dowolnych algorytm ów nawigacyjnych. W aĪna jest te Ī áatwoĞü wym iany ca áego notebooka – ta sam a platforma robota moĪe byü uĪyta np. przez róĪnych studentów do realizacji ich prac projektowych.

Ze wzgl Ċdu na koncepcj Ċ uĪycia notebooka (laptopa) jako g áównego zasobu obliczeniowego, robot otrzym aá nazw Ċ LapBot. Jest on robotem nap Ċdzanym przez dwa silniki elektryczne z enkoderami i przek áadniami planetarnym i, na których bezpo Ğrednio osadzone s ą ko áa. Uk áad lokom ocyjny typu differential drive pracuje z jednym ko áem swobodnym, zam ocowanym w tylnej cz ĊĞci obudowy. Platform a wyposa Īona jest w Īyroskop, dwa panele czujnikó w podczerwieni wra Īliwych na obecno Ğü pr zeszkód z przodu i z ty áu robota oraz m oduá pi Ċciu sensorów odleg áoĞci um ieszczony z przodu. Komponenty zarządzane są przez sterownik znajdujący siĊ w obudowie i zasilane przez ukáad dwóch akumulatorów o napi Ċciu 12 V. Nadrz Ċdną jednostk ą st erującą jest kom puter typu notebook umieszczony na platformie, wyposaĪony w interfejs uĪytkownika komunikujący siĊ ze sterownikiem przy pomocy áącza szeregowego RS-232 lub USB.

(4)

wykonawczych i pom iarowych zainstalowanych na platform ie. Zai mplementowane funkcje umoĪliwiają zarz ądzanie robotem poprzez wydawanie polece Ĕ z zewn Ċtrznego komputera PC. Oprogramowanie robota powsta áo w m yĞl zasady open source: u Īytkownik ma moĪliwoĞü rozbudowy lub zm iany algorytmów sterowania. Prosty interfejs typu GUI do instalacji na komputerze zewnĊtrznym (równieĪ open source) zapewnia moĪliwoĞü testowania robota, odczytu wskazaĔ z sensorów oraz wykorzystania elem entów dodatkowych takich jak kamera internetowa.

DziĊki enk oderom zliczaj ącym li czbĊ obrotów wa áu obu silników zrealizowana zostaáa odo metria wspom agana przez dane p ochodzące z Īyroskopu. Na jej podstawie moĪliwe je st Ğledzenie zaplanowanej trajektorii. Czujniki zbli Īeniowe oraz pom iaru odlegáoĞci u moĪliwiają realizacj Ċ procedury w ymijania przeszkód, a tak Īe innych funkcji o charakterze adaptacyjnym , w przypadku poruszania si Ċ w nieznanym Ğrodowisku. Oprogramowanie z opcjĊ obs áugi kam ery internetowej po zwala na implem entacjĊ m etod sterowania i nawigacji opartych na przetwarzaniu obrazu [12].

3. KONSTRUKCJA PLATFORMY JEZDNEJ LAPBOT 3.1. Konstrukcja mechaniczna

LapBot jest robotem przeznaczonym do pracy w pomieszczeniach (ang. indoor). Ukáad noĞny zostaá zaprojektowany w taki sposób, aby um oĪliwiü rea lizacjĊ odom etrii, instalacj Ċ wszystkich zaáoĪonych sensorów oraz bezpiecznie um ieĞciü komputer PC typu notebook na górnej p áycie robota. Platform a zosta áa pom yĞlana jako niedroga w wykonaniu oraz prosta w montaĪu (rys. 2A). Konstrukcja LapBota zostaáa zaprojektowana w programie SolidWorks.

Rys. 2. Projekt robota LapBot (A) i elementy jego obudowy (B)

PlatformĊ wykonano z gi Ċtej blachy ze stali niestopowej ogólnego przeznaczenia St3S o gruboĞci 1,5 mm. Pojedyncze elem enty wyci Ċto technologi ą obróbki laserowej. Po otrzymaniu wyci Ċtego elem entu, ostateczny kszta át uzyskany zosta á za pomoc ą prasy krawĊdziowej CNC. W celu zakon serwowania, wszystkie cz ĊĞci pomalowano technologi ą lakierowania proszkow ego. Na obudow Ċ sk áada si Ċ sze Ğü cz ĊĞci, z których cztery tworz ą gáówną konstrukcj Ċ no Ğną, a pozosta áe dwie stanowi ą mo duá dedykowany dla czujników pomiaru odlegáoĞci (rys. 2B). W ymiary oraz kszta át elementów skáadowych zostaáy dobrane w taki sposób, aby upro Ğciü proces montaĪu obudowy. Wszystkie elementy posiadają otwory lub wypusty sáuĪące do szybkiego montaĪu bez koniecznoĞci uĪycia duĪej liczby Ğrub.

Moduá czujników pomiaru odleg áoĞci jest elem entem niezale Īnym, st ąd o jego wykorzystaniu decyduje u Īytkownik, który w jego m iejsce m oĪe zainstalowa ü inne urządzenie. Modu á m a przedni ą ĞcianĊ ukszta átowaną w taki sposób, aby zapewni ü pole widzenia sensorów odleg áoĞci w zakresie od –50 D do +50 D wzglĊdem osi pod áuĪnej robota.

(5)

osadzonych na okrĊgach o róĪnej Ğrednicy. DziĊki temu za pomocą Ğrub motylkowych moĪna szybko zamontowaü kamerĊ internetową lub inny sensor.

Koáa jezdno-napĊdowe zostaáy wytoczone z aluminiowego walca o Ğrednicy 130 mm, na które na áoĪono gumowe obrĊcze zwiĊkszające przyczepnoĞü do pod áoĪa. Koáo swobodne to elem ent gotowy dobrany spo Ğród asortym entu przezn aczonego do wózków przemysáowych. NapĊd robota zostaá zrealizowany za pomocą dwóch silników elektrycznych firmy Buhler Motor przytwierdzonych do bocznych Ğcian gáównej konstrukcji no Ğnej. Koáo podporowe jest schowane w obudowie i porusza si Ċ w wyci Ċtym w dolnej p áycie otworze. Jego wysoko Ğü jest reg ulowana poprzez dosto sowanie wym iarów áącznika wyst Ċpującego pomiĊdzy mocowaniem ko áa, a górn ą pokryw ą konstrukcji pojazdu. Zapewnia to uĪytkownikowi dowolnoĞü przy ostatecznym wyborze wymiaru kó á napĊdowych, wpáywa na charakterystykĊ ruchu robota.

3.2. Sterownik warstwy motorycznej

Sterownik warstwy m otorycznej jest odpowiedzialny za sterowanie elem entami wykonawczymi robota, zbieranie i przetwarzanie danych z sensorów oraz komunikacj Ċ z komputerem nadrzĊdnym.

Rys. 3. Schemat blokowy ukáadu sterowania robota LapBot

Sterownik oparty jest na 32-bitowym m ikrokontrolerze z rodziny STM32 [14] wyposa Īonym w rdze Ĕ ARM Cortex-M3. Mikrokontrolery te m ogą by ü taktowane zegarem do 72 MHz, mają bardzo szerok ą gam Ċ uk áadów peryferyjnych, w szczegó lnoĞci generatory PW M, interfejsy komunikacyjne oraz k anaáy DMA, a ich dodatkow ą zaletą jest sprz Ċtowy interfejs do zliczania impulsów z enkoderów inkrementalnych, który odciąĪa rdzeĔ mikrokontrolera.

CzĊĞü wykonawczą ukáadu sterującego silnikami prądu staáego zbudowano w oparciu o scalone drivery MC 33887 [6]. Enkodery pod áączone s ą do dedykowanych wej Ğü mikrokontrolera.

Sterownik realizuje te Ī pom iar napi Ċcia zasilania, co pozwala na okre Ğlenie stopnia naáadowania akum ulatorów. Jest to przydatne, bior ąc pod uwag Ċ, Īe u Īytkownik nie m a áatwego dostĊpu do akumulatorów w celu dokonania pomiaru miernikiem.

(6)

4. MODUàY ROZSZERZEē

Istotnym za áoĪeniem konstrukcyjnym robota LapBot by áa sprz Ċtowa i program owa moduáowoĞü. Modu áowoĞü sprz Ċtowa dotyczy uk áadu sterowania robota. Dzi Ċki niej do dziaáania robot nie wym aga pod áączenia wszystkich m oduáów (p áytek), co pozwala uĪytkownikowi na dowolne konfigurowanie jego funkcjonalno Ğci w zale ĪnoĞci od potrzeb. Przekáada s iĊ to równie Ī na m oĪliwoĞü redukcji kosztu nabycia robota w podstawowej konfiguracji oraz jego póĨniejszej rozbudowy.

4.1. Czujniki zbliĪeniowe

W robocie moĪna zainstalowaü dwa moduáy prostych, optycznych czujników zbli Īeniowych, po jednym z przodu i ty áu. Ich zadaniem jest wykrywanie przeszkód znajduj ących siĊ blisko robota (do 10 cm ), dziĊki czemu robot m oĪe siĊ zatrzymaü przed kontaktem z przeszkod ą. Moduáy te zast Ċpują mechaniczne zderzaki, których LapBot jest pozbawiony ze wzgl Ċdu na chĊü uproszczenia konstrukcji mechanicznej.

Moduá czujników zbli Īeniowych sk áada siĊ z dwóch zasadniczych cz ĊĞci: nadajnika i odbiornika. CzĊĞü nadawcz ą stano wi sze Ğü diod LED emituj ących Ğwiatáo podczerwone. Wszystkie s ą za áączane w tym samym m omencie p rzez sterownik warstwy motoryczn ej. CzĊĞü odbiorczą stanowi szeĞü scalonych odbiorników podczerwieni. Zawierają one w swojej strukturze f iltr pasm owo przepustowy oraz uk áad dem odulatora, wykrywaj ący o becnoĞü sygnaáu o zadanej cz ĊstotliwoĞci. Dioda nadawcza wysy áa impuls Ğwiatáa, jeĪeli nie napotka on przeszkody, nie powraca do odbiornika. Natomiast jeĪeli na drodze pojawi siĊ przeszkoda, powoduje to odbicie Ğwiatáa podczerwonego w kierunku odbiornika. Dzi Ċki zast osowaniu odbiorników czu áych tylko na jedn ą cz ĊstotliwoĞü, ograniczono w páyw zewn Ċtrznych czynników (np. Ğwiatáa sáonecznego). WyjĞcie z ukáadu jest cyfrowe.

4.2. Moduá dalmierzy optycznych Sharp

Jest to m oduá sensorów odleg áoĞci "dalek iego zasi Ċgu" dla robota LapBot. Jako czujniki odlegáoĞci wybrano dalm ierze typu GP2Y0A02YK0F [4] fi rmy Sharp, ze wzgl Ċdu na áatwą dostĊpnoĞü, niski koszt oraz zasi Ċg do 150 cm, który jest wystarczaj ący aby zapewni ü robotowi wielkoĞci LapBota moĪliwoĞü omijania przeszkód w pomieszczeniach (rys. 4A).

Rys. 4. Widok moduáu dalmierzy Sharp (A) oraz charakterystyka czujnika (B)

WyjĞcia napiĊciowe z dalm ierzy poáączone są bezpoĞrednio z wej Ğciami przetwornika ADC w m ikrokontrolerze. Mikrokontroler STM32 wyposa Īony jest w 12-bitowy przetwornik analogowo cyfrowy umo Īliwiający pomiar do 16 niezale Īnych kana áów. Wyniki pomiarów zapisywane są w pamiĊci sterownika przy uĪyciu kanaáu DMA. Kolejne wyniki pomiarów s ą uĞredniane. Liczb Ċ próbek do wyliczenia Ğredniej dobrano tak, aby przy liczbie kana áów

(7)

pomiaru ró wnej 5 oraz danej konf iguracji p rzetwornika ADC czas od ĞwieĪania wyników wynosiá ok. 50 ms, co jest wartoĞcią zbliĪoną do czasu uaktualniania wyników pomiaru przez czujniki odleg áoĞci. U Ğrednione wyniki pom iarów s ą przeliczane na warto Ğci wyra Īone w milimetrach, które są gotowe do przes áania na Īądanie do sterownika nadrz Ċdnego. Aby przeliczaü wyniki pomiarów napi Ċcia z ADC na odleg áoĞü, wyznaczono charakterystyk Ċ czujnika GP2Y0A02YK0F (rys. 4B).

Dodatkowo, ze wzglĊdu na niewielkie wymiary ukáadu pomiarowego, w opisywanym

module umieszczono sterownik dwuf azowego silnika krokowego o pr ądzie u zwojeĔ

do 0,75 A w celach przyszáej rozbudowy. Mo Īe on by ü wykorzystany d o obracania zestawu czujników lub kamery.

4.3. Moduá Īyroskopu

PoniewaĪ jedn ą z cech robota L apBot m iaáa by ü precyzyjna odom etria, jego sterownik zaprojektowano z m yĞlą o wspó ápracy z moduáem Īyroskopu ADIS16100PCB firmy Analog

Devices [2]. Jest to czujnik ME MS (ang. Micro Electro-Mechanical System), zawarty

w caáoĞci w m aáym (ok. 8u8 mm) uk áadzie scalonym, razem z uk áadem filtrującym sygnaá,

przetwornikiem ADC oraz cyfro wym interf ejsem w standard zie SPI. Interfejs ten

wykorzystano do komunikacji moduáu ze sterownikiem robota.

ĩyroskop jest sensorem , który m ierzy chwilową prĊdkoĞü obrotową [5]. W związku

z tym wyznaczanie now ej orientacji robota odb ywa siĊ na zasadzie su mowania (caákowania) kolejnych wskaza Ĕ z czujnika w równych odst Ċpach czasu. Odczyt wskazania Īyroskopu wykonywany jest co 1ms. Pobrane dane s ą sumowane przez program sterownika, a nastĊpnie odczytywane przez funkcj Ċ realizu jącą odom etriĊ robota. kalibracja Īyroskopu nast Ċpuje w czasie inicjalizacji ro bota. Funkcja kalib racji wyznacza warto Ğü Ğrednią ze w skazaĔ

Īyroskopu, stanowiącą wskazanie zerowe. WaĪne jest wiĊc aby w czasie kalibracji Īyroskopu

robot pozostawa á w spoczynku. Kalibracja w ykonywana jest na podstawie 500 próbek, pobieranych co 1 ms, co daje áączny czas kalibracji 0,5 s.

5. OPROGRAMOWANIE POKàADOWEGO KOMPUTERA PC 5.1. Komunikacja miĊdzy sterownikiem robota a komputerem PC

Sterownik robota i nadrz Ċdny komputer PC po áączone s ą za pom ocą áącza szeregowego.

Transmisja odbywa si Ċ przez áącze zgodne ze standardem RS-232, USB lub za pom ocą

moduáu radiowego MOBOT-RCRv2 firm y WObit [15]. W zorem dla program owego

rozwiązania komunikacji miĊdzy sterownikiem warstwy m otorycznej a kom puterem PC by á protokóá zaimplementowany w sterowniku robota TRC Labm ate, od dawna z powodzeniem

uĪywanego w IAiII [17]. Jego koncepcja oparta jest na li Ğcie rozkazów i param etrów

opisanych jako ci ągi znaków ASCII, co um oĪliwia im plementacjĊ sterowania ro botem na dowolnej platformie programowo-sprzĊtowej.

W sterowniku warstwy m otorycznej zaim plementowano p rosty interp reter po leceĔ, który um ieszcza odebrane bajty w buforze, a po odebraniu wszystk ich bajtów sprawdza zgodnoĞü su my CRC i przekazu je s kompletowaną w ten sposób ram kĊ rozkazu do funkcji rozpoznającej polecenia i param etry. Funkcja ta z kolei sp rawdza kod polecen ia i wywo áuje

odpowiednie funkcje sterowania robota lub odczytu danych. Realizow ana jest te Ī funkcja

kontroli czasu transmisji (ang. timeout).

Zarówno áącze USB, jak i m oduá radiowy obs áugiwane są przez kom puter nadrzĊdny jako wirtualny port COM. Kom unikacja jest zawsze inicjalizowana p rzez kom puter PC, a robot jedynie odpowiada na polecenia. Pierwszym krokiem w nawi ązaniu komunikacji jest tzw. handshake. Odbywa si Ċ to pop rzez wys áanie przez PC bajtu o warto Ğci ’D’ w kodzie

(8)

ASCII. Robot odpowie wartoĞcią ’D’ lub 0x64H ’d’ w kodzie ASCII, gdy wyst ąpiá jakiĞ báąd (kod báĊdu moĪna odczytaü specjalnym poleceniem). NastĊpnie PC wysyáa znak powtórzenia. Jest to jeden bajt, który m usi by ü inny ni Ī poprzednim razem , a w przypadku pierwszego komunikatu róĪny od zera. Robot ignoruje po lecenia, które mają taki sam bajt powtórzenia jak poprzedni kom unikat. Kolejnym bajtem wysáanym przez PC jest kod rozkazu, jaki robot ma wykonaü. Po kodzie rozkazu s ą przesyáane wszystkie dane, których ilo Ğü jest zaleĪna od wysyáanego rozkazu. Wysy áanie danych przez PC ko Ĕczone jest przes áaniem dwubajtowej sumy kontrolnej CRC. Wys áanie polecenia przez kom puter PC robot po twierdza odesáaniem znaku ’a’ w kodzie ASCII, je Īeli wszystkie dane by áy poprawne lub ’n’, je Īeli nie zgadza áa siĊ suma CRC lub parametry rozkazu nie mieĞciáy siĊ w dozwolonym przedziale. JeĪeli robot odsyáa jakieĞ dane, to są one wysyáane bezpoĞrednio za bajtem potwierdzenia.

5.2. Oprogramowanie aplikacyjne i demonstracyjne

W celu zaprezen towania m oĪliwoĞci robota LapBot, stworzony zosta á graficzny interfejs uĪytkownika (rys. 5), umoĪliwiający testowanie funkcji robota i jego sensorów. Jednocze Ğnie program ten sáuĪy za wzór dla programów przygotowywanych przez uĪytkowników LapBota.

Rys. 5. Okno programu demonstracyjnego robota LapBot wraz z przykáadowymi widokami z kamer

Oprogramowanie komputera typu PC realizuj ącego wy Īsze funkcje sterowania wraz z obsáugą k amery internetowej zos taáo napisany w j Ċzyku zgodnym ze standardem C/C++ . Program realizuje rĊczny oraz czĊĞciowo autonomiczny tryb sterowania ruchem z elementami adaptacyjnymi, a takĪe pozwala Ğledziü pomiary zainstalowanych na platformie sensorów.

Panel operatora pozwala na bezpo Ğrednie sterowanie ruchem robota za pom ocą strzaáek klawiatury albo poprzez podawanie rozkazów (pojedynczych lub z listy). UmoĪliwia to uzyskanie ruch prostoliniowego, po áuku i obrotu w m iejscu. DziĊki trybowi ruchu

point-to-point (wzorowanemu na trybie pracy dost Ċpnym w robocie Labm ate), uĪytkownik moĪe

zadaü kolejne punkty ĞcieĪki w uk áadzie glo balnym bez specyfikowania poszczególnych przesuniĊü i obrotów. Jednocze Ğnie m oĪna Ğledziü po áoĪenie i orien tacjĊ robota i modyfikowaü profil pr ĊdkoĞci. Interfejs graficzny w przejrzysty sposób inform uje o wystĊpujących b áĊdach, wskazuje poziom zapasu energii i odleg áoĞü od obiektów w otoczeniu. Alarm uje tak Īe, gdy robot znajdzie si Ċ w niebezpiecznej o dlegáoĞci od przeszkody, wywoáując t ym s amym k omendĊ zatrzy mania. Dost Ċpne jest tak Īe okno podglądu widoku z ka mery podáączonej do pok áadowego komputera PC (istnieje mo ĪliwoĞü podáączenia 2 kamer).

(9)

6. PODSUMOWANIE I WNIOSKI

Przedstawiony w niniejszym artykule prot otyp robota L apBot (rys. 6) zosta á wykonany w ramach pracy dyplomowej magisterskiej realizowanej w Instytucie Automatyki i InĪynierii Informatycznej Politechniki PoznaĔskiej [10]. W jego konstrukcji i oprogramowaniu udaáo siĊ zrealizowaü wi ĊkszoĞü przyj Ċtych za áoĪeĔ, w szczególno Ğci dotycz ących otwarto Ğci i rozszerzalnoĞci konstrukcji oraz jej niewielkiego kosztu.

Rys. 6. Moduáowy robot mobilny LapBot

Realizacja tego p rojektu m oĪliwa by áa dzi Ċki wspó ápracy z P.P.H. W Obit. W iele komponentów robota wybrano z oferty tego przedsi Ċbiorstwa. Dalszy rozwój koncepcji LapBota w IAiII dotyczy g áównie jego oprogram owania. Prace obejmuj ą mi Ċdzy innym i wykorzystanie system u Player /Stage, popularnego w wielu o Ğrodkach bad awczych oprogramowania sterującego dla robotów mobilnych, dostĊpnego na zasadach open source. BIBLIOGRAFIA

1. Alapetite A., Mobile laptop computer robot,

http://alexandre.alapetite.fr/divers/robot/mobile-laptop/index.en.html. 2. Analog Devices, ADIS16100 Datasheet, http://www.analog.com, 2009.

3. Martinez Barberá H., A Distributed Architecture for Intelligent Control in Autonomous

Mobile Robots, PhD Thesis, University of Murcia, 2001.

4. Evolution Robotics, ER-1 Personal Robot System, http://www.evolution.com

5. Feng L., Borenstein J., Everett H. R., ”Where am I ?” Sensors and Methods for Autonomous Mobile Robot Positioning, Tech. Rep., University of Michigan, 1996.

6. Freescale Semiconductor, MC33887 Datasheet, http://www.freescale.com.

7. Greenwald L., Kopeba J., Mobile R obot Labs, IEEE Robotics & Automation Magazine, 10(2), 2003, s. 25–32.

8. Lego, Lego Mindstorms NXT, http://mindstorms.lego.com.

9. Mobile Robots Inc., Pioneer 3DX, http:/www.activrobots.com/robots/pioneer.html. 10. Pi ątek P., Zieli Ĕski M., Konstrukcja i oprogramowanie moduáowego robota mobilnego,

praca dyplomowa magisterska, IAiII, Politechnika PoznaĔska, PoznaĔ, 2009. 11. Sharp, GP2Y0A02YK Datasheet, http:/www.sharpsme.com, 2006.

12. Skrzypczy Ĕski P., An Approach to Low-cost Real-tim e Visual Percep tion in a Mobile Robot, Proc. Automation 2004, Warszawa, 2004, s. 403–412.

13. Skrzypczy Ĕski P., Metody analizy i redukcji niepewnoĞci percepcji w systemie nawigacji

robota mobilnego, Rozprawy, nr 407, PoznaĔ, Wyd. Politechniki PoznaĔskiej, 2007.

14. STMicroelectronics, STM32F103xB Datasheet, http://www.st.com. 15. WObit, MOBOT, instrukcja obsáugi, http://www.mobot.pl.

Cytaty

Powiązane dokumenty

1 controlling jest systemem pozyskiwania informacji: na poziomie operacyjnym stanowi go ewidencja operacji gospodarczych są to informacje ilościowe, głównie w postaci

Okazuje się, że w kolejnych okresach ustalonego horyzontu czasowego rentowność portfeli utworzonych z elementów maksymalnych była wyższa niż rentowność portfeli utworzonych

Rozpoczêcie procedury s¹dowej, nag³oœnione w prasie równie¿ nie prze³o¿y³o siê na zmianê nastrojów i opinii spo³ecznej obni¿y³a siê liczba badanych postuluj¹cych

QyZEXG\QNLSU]H]QDF]RQHGRVSUDZRZDQLDNXOWXUHOLJLMQHJRWDNLHMDNV\QDJRJL F]\GRP\PRGOLWZ\

Zmiany w duńskim reżimie wiedzy Duński reżim wiedzy zdominowany jest przez organizacje badawcze wywodzące się z  sekto- ra państwowego i  społecznego, przez który ro-

Tak więc, według legalnej definicji karty płatniczej zawartej w prawie bankowym, należy przez nią rozumieć kartę identyfikującą wydawcę i upoważnionego posiadacza,

w programach lojalnościowych, głównie ze względu na osiąganie korzyści finansowych; na ogół charakteryzują się średnim poziomem zaangażowania w związek z firmą,

Chojna J., Miejsce podmiotów z udziałem kapitału zagranicznego w gospodarce narodowej Polski [w:] Inwestycje zagraniczne w Polsce, IKCHZ, Warszawa 2004.. Chrościcki T., Inwestycje