ARCHITEKTURA OPROGRAMOWANIA I SYSTEMU … · dr hab. in *. Piotr Skrzypczy ski Politechnika Pozna...

12
Pomiary Automatyka Robotyka 2/2010 285 automation 2010 automation 2010 dr hab. inĪ. Piotr SkrzypczyĔski Politechnika PoznaĔska, Instytut Automatyki i InĪynierii Informatycznej ARCHITEKTURA OPROGRAMOWANIA I SYSTEMU TELEOPERACJI ROBOTA KROCZĄCEGO O ZWIĉKSZONEJ AUTONOMII W pracy przedstawiono architekturĊ najwyĪszej warstwy systemu sterowania i nawigacji szeĞcionoĪnego robota kroczącego Messor. Robot ten charakteryzuje siĊ bogatym zestawem sensorów i zwi Ċkszonym zakresem autonomii decyzyjnej, co pozwala na samodzielne pokonywanie trudnego terenu. Przedstawiony system sterowania zostaá zaprojektowany z wykorzystaniem paradygmatu wieloagentowego, co czyni go elastycznym i podatnym na ewentualne rozszerzenia. W artykule przedstawiono strukturĊ systemu oraz wybrane moduáy funkcjonalne realizujące zadania nawigacji i wspomagania teleoperatora. A SOFTWARE ARCHITECTURE AND TELEOPERATION SYSTEM FOR A SEMI-AUTONOMOUS WALKING ROBOT In this paper we present a software architecture of the high-level control and navigation system for the semi-autonomous hexapod robot Messor. This architecture integrates a number of sensory-data processing and planning modules into a system that allows the robot to traverse unknown rugged terrain autonomously. The proposed architecture is based on the multi-agent paradigm, which provides flexibility and makes modularization of the software much easier. Selected components of both the navigation and teleoperation system are presented in more details, to illustrate our research and design methodology. 1. WSTĉP W ostatnich latach odnotowano znaczny postĊp w zakresie algorytmów nawigacji i autonomii decyzyjnej robotów mobilnych oraz ich praktycznego wdraĪania w róĪnych aplikacjach. PostĊp ten dotyczy jednak gáównie robotów koáowych. Roboty kroczące są bardziej záoĪone niĪ koáowe roboty mobilne i w przeciwieĔstwie do nich wymagają wyrafinowanych algorytmów sterowania lokomocją. Problem generowania ruchu maszyn kroczących byá wielokrotnie badany. Zaproponowano miĊdzy innymi sterowniki behawioralne [15] i wykorzystujące sztuczne sieci neuronowe [11] oraz metody wyznaczania sterowania ruchem robota przy uĪyciu algorytmów genetycznych [1]. Jednak zakres autonomii lokomocyjnej i nawigacyjnej wiĊkszoĞci budowanych robotów kroczących jest nadal niewielki – mogą siĊ one poruszaü jedynie w prostym, znanym Ğrodowisku. OdróĪnia to stan badaĔ nad robotami kroczącymi od prac nad robotami koáowymi, gdzie osiągniĊto etap umoĪliwiający autonomiczną nawigacjĊ we wnĊtrzach budynków oraz niektórych misjach w terenie otwartym. Z najnowszej literatury znane są stosunkowo nieliczne próby implementacji záoĪonych algorytmów sterowania ruchem robota kroczącego pod kontrolą sensorów exteroceptywnych [12, 17, 18].

Transcript of ARCHITEKTURA OPROGRAMOWANIA I SYSTEMU … · dr hab. in *. Piotr Skrzypczy ski Politechnika Pozna...

Pomiary Automatyka Robotyka 2/2010

285automation 2010automation 2010

dr hab. in . Piotr Skrzypczy ski Politechnika Pozna ska, Instytut Automatyki i In ynierii Informatycznej

ARCHITEKTURA OPROGRAMOWANIA I SYSTEMU TELEOPERACJI ROBOTA KROCZ CEGO

O ZWI KSZONEJ AUTONOMII

W pracy przedstawiono architektur najwy szej warstwy systemu sterowania i nawigacji sze ciono nego robota krocz cego Messor. Robot ten charakteryzuje si bogatym zestawem sensorów i zwi kszonym zakresem autonomii decyzyjnej, co pozwala na samodzielne pokonywanie trudnego terenu. Przedstawiony system sterowania zosta zaprojektowany z wykorzystaniem paradygmatu wieloagentowego, co czyni go elastycznym i podatnym na ewentualne rozszerzenia. W artykule przedstawiono struktur systemu oraz wybrane modu y funkcjonalne realizuj ce zadania nawigacji i wspomagania teleoperatora.

A SOFTWARE ARCHITECTURE AND TELEOPERATION SYSTEM FOR

A SEMI-AUTONOMOUS WALKING ROBOT

In this paper we present a software architecture of the high-level control and navigation system for the semi-autonomous hexapod robot Messor. This architecture integrates a number of sensory-data processing and planning modules into a system that allows the robot to traverse unknown rugged terrain autonomously. The proposed architecture is based on the multi-agent paradigm, which provides flexibility and makes modularization of the software much easier. Selected components of both the navigation and teleoperation system are presented in more details, to illustrate our research and design methodology.

1. WST P W ostatnich latach odnotowano znaczny post p w zakresie algorytmów nawigacji i autonomii decyzyjnej robotów mobilnych oraz ich praktycznego wdra ania w ró nych aplikacjach. Post p ten dotyczy jednak g ównie robotów ko owych. Roboty krocz ce s bardziej z o one ni ko owe roboty mobilne i w przeciwie stwie do nich wymagaj wyrafinowanych algorytmów sterowania lokomocj . Problem generowania ruchu maszyn krocz cych by wielokrotnie badany. Zaproponowano mi dzy innymi sterowniki behawioralne [15] i wykorzystuj ce sztuczne sieci neuronowe [11] oraz metody wyznaczania sterowania ruchem robota przy u yciu algorytmów genetycznych [1]. Jednak zakres autonomii lokomocyjnej i nawigacyjnej wi kszo ci budowanych robotów krocz cych jest nadal niewielki – mog si one porusza jedynie w prostym, znanym rodowisku. Odró nia to stan bada nad robotami krocz cymi od prac nad robotami ko owymi, gdzie osi gni to etap umo liwiaj cy autonomiczn nawigacj we wn trzach budynków oraz niektórych misjach w terenie otwartym. Z najnowszej literatury znane s stosunkowo nieliczne próby implementacji z o onych algorytmów sterowania ruchem robota krocz cego pod kontrol sensorów exteroceptywnych [12, 17, 18].

Pomiary Automatyka Robotyka 2/2010

286 automation 2010automation 2010

Do tego nurtu bada nawi zuje projekt badawczy ”Autonomiczny robot krocz cy z wielomodowym pok adowym systemem sensorycznym przeznaczony do misji patrolowych w skomplikowanych wn trzach budynków i s abo uporz dkowanym rodowisku naturalnym” realizowany w Instytucie Automatyki i In ynierii Informatycznej (IAiII) Politechniki Pozna skiej. W ramach tego projektu zosta opracowany sze ciono ny robot krocz cy Messor (rys. 1), który

cechuje si niskimi kosztami budowy, a jednocze nie w porównaniu ze znanymi rozwi zaniami robotów podobnej wielko ci charakteryzuje si otwart i elastyczn architektur uk adu sterowania, modularnym zestawem sensorów oraz zwi kszon autonomi w zakresie sterowania chodem i nawigacji. Konstrukcja mechaniczna robota Messor, jego elektronika steruj ca oraz architektura systemu sterowania warstw motoryczn zosta y szczegó owo przedstawione w [5]. Niniejsza praca koncentruje si na oprogramowaniu pok adowego komputera nadrz dnego robota. Przedstawiono architektur tego oprogramowania oraz opisano wybrane modu y programowe, decyduj ce o zdolno ci robota do autonomicznego pokonywania trudnego terenu. Scharakteryzowano tak e zwi le struktur i rozwi zania programowe podsystemu teleoperacji ze wsparciem sensorycznym. Podsystem ten nie decyduje o zwi kszeniu autonomii robota, ale jest istotny dla jego ewentualnych zastosowa praktycznych. 2. ARCHITEKTURA OPROGRAMOWANIA ROBOTA 2.1. Robot Messor i struktura jego systemu sterowania Przy projektowaniu robota Messor wykorzystano do wiadczenia z poprzedniej konstrukcji sze ciono nego robota krocz cego opracowanego w IAiII [5]. G ówne za o enia projektowe dla robota Messor dotyczy y mo liwo ci pracy w otoczeniu cz owieka, co poci ga za sob konieczno pokonywania schodów, kraw ników itp. Za o enia te zdeterminowa y wymiary geometryczne robota. Ponadto robot mia by zdolny do przenoszenia konfigurowalnego zestawu sensorów zewn trznych, którego g ównymi komponentami s miniaturowy skaner laserowy Hokuyo URG-04LX oraz kolorowa kamera μEye. Uzupe nieniem tych sensorów jest o wietlacz laserowy, tworz cy razem z kamer aktywny system wizyjny, oraz w ze czujników wykrywaj cych st enie wybranych substancji niebezpiecznych. Oprogramowanie realizuj ce funkcje nawigacji, modelowania otoczenia i planowania ruchu osadzone jest na pok adowym komputerze klasy PC – wykorzystano miniaturow , energooszcz dn jednostk PICO 820 z procesorem Intel Atom. Wynikiem dzia ania tego oprogramowania, tworz cego nadrz dn warstw sterowania, s rozkazy dla sterownika warstwy motorycznej robota. System sterowania ruchem robota ma struktur hierarchiczn , ni sze warstwy wykonuj rozkazy przesy ane z warstw wy szych. Struktura sprz towa sterownika warstwy motorycznej odzwierciedla logiczn architektur sterowania robota [5]. Zadania warstwy sterowania ruchem robota obejmuj obliczanie warto ci zadanych dla serwomechanizmów nóg robota w oparciu o jego kinematyk i warto ci zadane (rozkazy) z warstwy nadrz dnej

Pomiary Automatyka Robotyka 2/2010

287automation 2010automation 2010

oraz koordynacj pracy wszystkich nóg, tak aby zapewni realizacj odpowiedniego typu chodu (ang. gait). Procedury sterownika warstwy motorycznej maj natychmiastowy dost p do danych dotycz cych stanu wewn trznego robota, pochodz cych z enkoderów i czujników pr du w serwomechanizmach, czujników si y nacisku stopy na pod o e oraz zintegrowanej jednostki sensorów inercyjnych IMU (ang. Inertial Measurement Unit). Dane te s wykorzystywane do wyznaczania w sterowniku estymaty bie cej pozycji robota (odometria) [10]. Planowana jest rozbudowa oprogramowania tej warstwy o procedury reakcji na sytuacje nieprzewidziane, zwi zane z nag utrat stabilno ci robota krocz cego oraz kolizj nogi z pod o em. Umieszczenie tych procedur w sterowniku warstwy motorycznej zapewni odpowiedni szybko reakcji. Najni sz warstw sterowania robota Messor stanowi sterowniki nóg. Ich g ównym zadaniem jest dystrybucja warto ci zadanych do serwomechanizmów [5]. Odr bnym modu em sprz towym posiadaj cy w asny sterownik mikroprocesorowy jest w ze czujników st enia substancji chemicznych. Urz dzenie to mo e wykrywa ska enie rodowiska przez gazy organiczne, takie jak: gaz ziemny, tlenek w gla i pary etanolu. W ze

posiada 8 czujników zdolnych wykry nap yw substancji z ró nych kierunków i ma budow modu ow – istnieje mo liwo wymiany czujników w celu wykrywania innych ska e . Modu pod czany jest do pok adowego komputera PC przez port USB, podobnie jak pozosta e sensory zewn trzne (skaner, kamera).

2.2. Agentowa architektura tablicowa warstwy nadrz dnej

W autonomicznym robocie krocz cym gromadzenie i przetwarzanie danych z sensorów prowadzone jest przez niezale ne, wspó bie ne procesy percepcji. W nadrz dnej warstwie systemu sterowania dane uzyskane z sensorów przetwarzane s w modele u yteczne podczas wykonywania poszczególnych funkcji robota. Oprogramowanie warstwy nadrz dnej wykonuje nast puj ce operacje zwi zane z przetwarzaniem danych i planowaniem ruchu:

realizacja algorytmu wizyjnego SLAM (ang. Simultaneous Localization and Mapping) — jednoczesna budowa globalnej mapy cech i wyznaczanie pozycji robota na podstawie informacji z kamery wyznaczanie estymaty pozycji robota za pomoc podsystemu odometrii wizyjnej aktualizacja lokalnej mapy terenu na podstawie danych ze skanera laserowego aktualizacja globalnej mapy terenu na podstawie mapy lokalnej i globalnej estymaty pozycji poszukiwanie ród a ska enia – wyznaczanie kolejnego celu ruchu robota wyznaczanie cie ki robota na podstawie globalnej mapy terenu, estymaty pozycji i danych o celu wyznaczanie punktów podparcia nóg w kolejnym kroku na podstawie cie ki oraz lokalnej mapy terenu wyznaczanie parametrów kolejnego ruchu przy pokonywaniu typowych przeszkód (np. schodów) wyliczanie parametrów kolejnego kroku robota i generowanie rozkazów dla warstwy motorycznej.

Powy sze operacje s ze sob lu no powi zane przekazywanymi mi dzy nimi danymi. Porz dek wykonywania operacji zale y od bie cych warto ci danych. Taki system mo na rozpatrywa jako system tablicowy, który sk ada si z tablicy, zbioru modu ów

Pomiary Automatyka Robotyka 2/2010

288 automation 2010automation 2010

przetwarzaj cych dane (ekspertów) oraz mechanizmu sterowania. Tablica jest z o on , wielodost pn struktur danych, do której poszczególne modu y przesy aj wyniki swojego przetwarzania, a cz z nich pobiera te dane. Pozosta a cz modu ów pobiera dane z sensorów fizycznych. Mechanizm sterowania odpowiada za aktywacj poszczególnych modu ów i realizacj kolejnych cykli dzia ania ca ego systemu.

Rys. 2. Proponowana struktura wieloagentowego systemu tablicowego robota Messor

Opisany system tablicowy mo na modelowa jako system agentowy (rys. 2). Umieszczone wokó tablicy modu y przetwarzaj ce oraz sensory dostarczaj ce informacje s agentami, a rodowiskiem ich dzia ania jest tablica, z której pobieraj informacje i na której zapisuj wyniki swoich dzia a [6]. Agent mo e wykonywa swoje akcje równolegle z akcjami innych agentów – jest implementowany w postaci w tku. Synchronizacja z innymi agentami korzystaj cymi z tych samych zasobów odbywa si za pomoc rodków programowych udost pnianych przez system operacyjny (Linux). Zalet agentowego systemu tablicowego jest podatno na modyfikacje, gdy w prosty sposób mo na do cza lub usuwa poszczególnych agentów [19].

2.3. Struktura tablicy i zestaw agentów

Na tablicy umieszczone s dane, które reprezentuj po o enie i orientacj robota, opisuj jego otoczenie oraz definiuj sterowanie ruchem na ró nych poziomach szczegó owo ci. Na tablicy znajduj si tak e kolejki komunikatów wymienianych ze zdalnym operatorem, podstawowe informacje statusowe dotycz ce dzia ania poszczególnych sensorów i modu ów programowych oraz informacje (flagi) wykorzystywane do sterowania w systemie tablicowym. Zestaw agentów w tablicowej architekturze robota krocz cego zosta ustalony w oparciu o zbiór operacji wykonywanych przez nadrz dn warstw sterowania tego robota. Dodatkowym kryterium wyodr bnienia agentów urz dze by a kontrola danego urz dzenia fizycznego (sensora, sterownika) przez pojedynczego agenta. Ze sprz towymi komponentami robota s zwi zani nast puj cy agenci urz dze :

Pomiary Automatyka Robotyka 2/2010

289automation 2010automation 2010

ADScan – agent skanera laserowego URG-04LX. Wst pnie przetwarza dane oraz okre la ich niepewno . Zapisuje skany 2D. Dzia anie podejmuje co ustalony kwant czasu. ADCam – agent monookularowego systemu wizyjnego. Zapisuje obrazy. Dzia anie podejmuje co ustalony kwant czasu. ADEnvSens – agent podsystemu czujników st enia substancji niebezpiecznych. Co ustalony kwant czasu umieszcza na tablicy informacje o st eniu wykrywanej substancji w poszczególnych kierunkach dzia ania. ADCtrl – agent sterownika warstwy motorycznej — co ustalony kwant czasu umieszcza na tablicy wyniki dzia ania podsystemu odometrii, IMU oraz pozosta ych czujników wewn trznych robota. Wysy a do sterownika robota rozkazy ruchu wyznaczone przez agenta AEPilot. lub AEClimb ADComm – agent komunikacji. Obs uguje fizyczny kana komunikacyjny – sie standardu IEEE 802.11. Jego dzia anie jest inicjowane przez obecno komunikatów w kolejce komunikatów do wys ania (OutMsg) lub po nadej ciu komunikatu z zewn trz. Nadchodz ce komunikaty s do czane do kolejki InMsg.

Przetwarzaniem informacji uzyskanej z sensorów oraz planowaniem ruchu robota zajmuj si agenci eksperci:

AESlamAlg – agent SLAM. Jego zadaniem jest realizacja algorytmu wizyjnego EKF-SLAM w postaci opisanej w [2]. Dzia anie tego agenta inicjowane jest w ustalonych odst pach czasu lub przez agenta AEPosUpd. Warunkiem uruchomienia jest dost pno nowej prognozy pozycji uzyskanej na podstawie odometrii robota lub odometrii wizyjnej. Na tablicy uaktualnia map globaln cech i globaln pozycj robota wraz z niepewno ci (wektor stanu EKF-SLAM). AEVisOdo – agent odometrii wizyjnej (ang. visual odometry). Implementuje metod okre lania po o enia i orientacji robota mobilnego na podstawie analizy przep ywu optycznego [7]. Danymi wej ciowymi s obrazy z kamery pok adowej oraz informacje z jednostki IMU o pochyleniu i przechyleniu robota. Warunkiem rozpocz cia dzia ania jest pojawienie si nowych danych z kamery. Zapisuje na tablicy estymat pozycji robota. AEPosUpd – agent pozycjonowania. Aktualizuje estymat globalnej pozycji robota na podstawie dost pnych estymat z poszczególnych modu ów (odometria robota, IMU, odometria wizyjna) za pomoc filtru Kalmana. Zapisuje aktualn pozycj robota na tablicy. Warunkiem rozpocz cia dzia ania jest pojawienie si nowej estymaty pozycji. Inicjuje AESlamAlg, który dokonuje korekcji wektora stanu systemu. AEGridUpd – agent aktualizacji lokalnej mapy terenu. Implementuje metod budowy rastrowej mapy wysoko ci (ang. elevation map) przedstawion w [14]. Zapisuje lokaln map terenu. Warunkiem rozpocz cia dzia ania jest pojawienie si nowych danych ze skanera laserowego. AEMapUpd – agent aktualizacji globalnej rastrowej mapy terenu na podstawie bie cej mapy lokalnej. Dokonuje transformacji mapy lokalnej do globalnego uk adu odniesienia i integruje te dane z map globaln . Warunkiem rozpocz cia aktualizacji mapy globalnej jest up yni cie okre lonego kwantu czasu lub przemieszczenie si robota poza poznany obszar mapy globalnej. AEPathPlan – agent planuj cy cie k ruchu robota od bie cej pozycji do celu wyznaczonego w postaci wspó rz dnych w uk adzie globalnym. Dzia anie tego agenta inicjowane jest przez pojawienie si na tablicy nowych danych o celu lub zaktualizowanej

Pomiary Automatyka Robotyka 2/2010

290 automation 2010automation 2010

mapy globalnej. Implementuje on metod planowania cie ki opart na algorytmie RRT-Connect [13]. Zapisuje na tablicy wyznaczon cie k robota. AEFootPlan – agent planuj cy punkty podparcia nóg robota. Cyklicznie analizuje zaplanowan cie k , bie c pozycj robota oraz lokaln map terenu i ustala najlepsze punkty podparcia nóg robota w kolejnym kroku. Modyfikuje typ chodu (krok trójpodporowy lub pi ciopodporowy). Warunkiem rozpocz cia dzia ania jest zako czenie wykonywania poprzedniego kroku. Zapisuje na tablicy wyznaczone punkty podparcia oraz informacje o parametrach chodu. AELeakLoc – agent realizuj cy poszukiwanie ród a substancji chemicznej (np. wycieku) [16] wykrywanej przez agenta urz dzenia ADEnvSens. Warunkiem rozpocz cia dzia ania jest pojawienie si nowych danych z podsystemu wykrywania ska e . Zapisuje na tablicy nowy punkt docelowy dla planera cie ki. AEClimb – agent steruj cy kroczeniem robota podczas pokonywania typowych przeszkód. Implementuje specyficzne algorytmy sterowania robotem podczas pokonywania schodów oraz uskoków, których wymiary nie pozwalaj na pokonanie ich chodem falowym, zak adanym przez agenta AEFootPlan. Zak ada si , e model pokonywanej przeszkody jest znany (np. standardowe schody). Bezpo rednio zapisuje na tablicy rozkazy steruj ce warstwy motorycznej. AEPilot – agent wypracowuj cy rozkazy warstwy motorycznej. Cyklicznie odczytuje wyznaczone parametry chodu i punkty podparcia nóg dla kolejnych kroków, a nast pnie generuje rozkazy zrozumia e dla sterownika robota oraz wyznacza ich parametry. Zapisuje na tablicy rozkazy steruj ce warstwy motorycznej. AETeleOp – agent teleoperacji i sprawozdawca. Jego zadanie polega na interpretowaniu rozkazów docieraj cych do robota drog radiow od zdalnego operatora i zapisywaniu odpowiednich informacji na tablicy. Przygotowuje te komunikaty o stanie robota dla operatora i do cza je do kolejki OutMsg. Ma on dost p do ca ej tablicy. Dzia anie podejmuje co ustalony kwant czasu, w przypadku wyst pienia awarii którego z podsystemów (odpowiednie warto ci danych statusowych) lub na danie operatora (pojawienie si komunikatu od operatora w kolejce InMsg).

3. IMPLEMENTACJA WYBRANYCH AGENTÓW WARSTWY NADRZ DNEJ

1. Budowa mapy terenu

Aby móc planowa swój ruch w nieznanym terenie robot krocz cy potrzebuje mapy tego terenu. Problematyka budowy mapy otoczenia jest cz sto poruszana w literaturze dotycz cej robotów autonomicznych [19], jednak w przypadku robotów krocz cych za o enia le ce u podstaw wi kszo ci znanych metod budowy mapy (ruch w jednej p aszczy nie, reprezentacja 2D) nie obowi zuj . Potrzebna jest mapa nie tylko zawieraj ca po o enie wybranych cech rodowiska, lecz odzwierciedlaj ca kszta t terenu, po którym kroczy robot, tak, aby robot móg planowa nie tylko bezkolizyjn cie k , lecz tak e miejsca, w których postawi nogi (ang. footholds). Z tego powodu mapy u ywane przez roboty krocz ce s zazwyczaj mapami rastrowymi. W systemie sterowania robota Messor zastosowano metod budowy mapy terenu wzorowan na algorytmie zaproponowanym przez Ye i Borensteina [20] dla ko owego pojazdu poruszaj cego si w trudnym terenie. Jest to rastrowa mapa wysoko ci terenu, która uzupe niona jest map wiarygodno ci, okre laj c pewno estymat wysoko ci terenu

Pomiary Automatyka Robotyka 2/2010

291automation 2010automation 2010

przechowywanych w poszczególnych komórkach g ównej mapy. Do budowy mapy wykorzystywane s dane z laserowego sensora odleg o ci dostarczaj cego skany 2D, lecz zamocowanego z przodu robota pod pewnym k tem ”w dó ” i obserwuj cego teren przed pojazdem. W ten sposób, podczas ruchu robota otrzymywane s trójwymiarowe dane o powierzchni terenu. Algorytm zak ada, e dost pna jest informacja o aktualnej pozycji robota, dzi ki czemu dane pomiarowe mog by przeliczone do uk adu wspó rz dnych mapy.

Rys. 3. Robot z aktywnym systemem wizyjnym (A) i uzyskana mapa wysoko ci (B)

W procesie aktualizacji komórek mapy wiarygodno ci brane jest pod uwag ograniczenie maksymalnego przyrostu wysoko ci terenu w danej komórce mapy mi dzy dwoma kolejnymi pomiarami, wynikaj ce ze zmiany pozycji robota oraz maksymalnego b du pomiaru sensora odleg o ci [20]. Pomiary, które nie spe niaj tego ograniczenia, traktowane s jako niewiarygodne. Po aktualizacji, mapa wysoko ci podlega filtracji filtrem CAS (ang. Certainty Assisted Spatial). Jest to wa ony medianowy filtr przestrzenny wspomagany informacj z mapy wiarygodno ci. Filtr CAS pozwala usun wi kszo artefaktów powsta ych na skutek b dów pomiarowych. Lokalna mapa terenu budowana na bie co ma wymiary 100×100 komórek o wielko ci 10×10 mm i pod a za robotem (jej rodek jest zaczepiony w pocz tku uk adu wspó rz dnych robota). Globalna mapa terenu powstaje przez z o enie kolejnych map lokalnych, które rejestrowane s wzgl dem globalnego uk adu odniesienia, zgodnego z uk adem odniesienia podsystemu SLAM. Przed implementacj w oprogramowaniu robota Messor metoda budowy mapy lokalnej zosta a zbadana przy wykorzystaniu robota Ragno wyposa onego w aktywny system wizyjny z o wietleniem strukturalnym [14]. Testy przeprowadzono mi dzy innymi przy u yciu makiety nierównego terenu (rys. 3). Obecnie w podobny sposób testowana jest docelowa implementacja agenta-eksperta AEGridUpd dla robota Messor, wykorzystuj ca dane ze skanera laserowego URG-04LX.

2. Planowanie cie ki robota

Do planowania cie ki robota wybrano algorytm wykorzystuj cy drzewa RRT (ang. Rapidly exploring Random Trees). Zaimplementowano planer oparty na algorytmie RRT-Connect zaprezentowanym w [13]. Algorytm ten rozwi zuje zadanie planowania cie ki za pomoc dwóch drzew RRT, z których pierwsze rozrasta si od konfiguracji pocz tkowej, a drugie od ko cowej. Rozrost drzewa zapewniany jest przez losow sekwencj próbek. Drzewo inicjalizowane jest w konfiguracji pocz tkowej, a nast pnie algorytm przez okre lon liczb iteracji dodaje do drzewa nowe, dobierane losowo konfiguracje z przestrzeni konfiguracyjnej

Pomiary Automatyka Robotyka 2/2010

292 automation 2010automation 2010

robota. Ka da nowa konfiguracja jest do czana do konfiguracji najbli szej w sensie wybranej metryki. Za metryk przyj to odleg o euklidesow mi dzy dwoma konfiguracjami robota. Dodawanie kolejnych wierzcho ków odbywa si w taki sposób, aby drzewa spotka y si ze sob . Mechanizm wykrywania kolizji na podstawie mapy terenu klasyfikuje konfiguracje robota jako mo liwe lub niemo liwe do osi gni cia. Tylko konfiguracje mo liwe do osi gni cia s dodawane do struktury drzewa. W przypadku robota krocz cego procedura sprawdzania kolizyjno ci ocenia mo liwo postawienia nóg robota w badanym obszarze mapy i zachowania stabilno ci statycznej. Jej dzia anie opiera si na kilku parametrach, które okre laj przydatno danego fragmentu terenu:

wyst powanie wystarczaj cej liczby dobrych punktów podparcia dla nóg robota stopie zró nicowania wysoko ci terenu wyst powanie punktów, których wysoko znacznie ró ni si od wysoko ci redniej dla tego obszaru pochylenie platformy robota (wzgl dem osi poprzecznej) przechylenie platformy robota (wzgl dem osi pod u nej).

Warto ci nachyle (dwa ostatnie parametry) nie mog przekracza maksymalnych k tów pochylenia i przechylenia robota gwarantuj cych stabilno . Tak e dla pozosta ych parametrów okre lono eksperymentalnie wska niki, których warto ci nie powinny zosta przekroczone. Algorytm RRT-Connect przystosowany do planowania bezkolizyjnej cie ki robota krocz cego zosta zaimplementowany w symulatorze robota [4] i zbadany dla wielu przyk adów rodowisk wygenerowanych losowo, zaprojektowanych przy u yciu programów graficznych (np. Blender) oraz dla przyk adowych rzeczywistych map terenu zbudowanych metod opisan w poprzednim punkcie [9]. Przyk ad dzia ania algorytmu RRT-Connect na mapie rzeczywistej pokazano na rys. 4A. Dalsze prace prowadzi b d do implementacji agenta AEPathPlan zdolnego do planowania cie ki na podstawie dynamicznie aktualizowanej globalnej mapy terenu.

Rys. 4. Zaplanowana cie ka (A) i trajektoria po zaplanowaniu punktów podparcia (B) [9]

3. Planowanie punktów podparcia nóg

Pomimo poruszania si wzd u cie ki zaplanowanej z uwzgl dnieniem lokalnych w a ciwo ci terenu robot krocz cy powinien na bie co analizowa profil pod o a

Pomiary Automatyka Robotyka 2/2010

293automation 2010automation 2010

i dostosowywa sterowanie chodem do napotkanych nierówno ci. Tak wi c zaplanowana cie ka s u y jedynie jako zestaw referencyjnych punktów po rednich, które robot kolejno

osi ga z dok adno ci zale n od rzeczywistego ukszta towania terenu odzwierciedlanego przez lokaln map wysoko ci (rys. 4B). W bie cym sterowaniu chodem w czasie ledzenia cie ki zak ada si zachowanie stabilno ci statycznej oraz maksymalne ograniczenie

po lizgów nóg. Drugie z tych za o e mo e by zrealizowane przez wybór punktów podparcia nóg robota minimalizuj cych ryzyko po lizgu. W systemach sterowania chodem znanych z literatury problem wyboru punktów podparcia jest cz sto rozwi zywany za pomoc heurystycznych metod oceny przydatno ci obszarów (komórek mapy rastrowej) do postawienia na nim nogi robota [17]. Dla robota Messor opracowano natomiast adaptacyjny algorytm wyboru punktów podparcia nóg, który umo liwia gromadzenie wiedzy przez robota na drodze symulacji lub eksperymentu, a nast pnie podejmowanie decyzji o wyborze odpowiedniego punktu podparcia [3]. Robot poruszaj c si po przyk adowym nierównym terenie zbiera informacje o kszta cie tego terenu oraz zapami tuje rezultat wyboru odpowiednich punktów w postaci warto ci po lizgów nóg. Algorytm adaptacji kojarz c opis terenu z warto ci po lizgu buduje powierzchni decyzyjn , która nast pnie jest wykorzystywana do podejmowania decyzji dotycz cych punktów podparcia nóg. Zak ada si , e robot porusza si chodem falowym (np. tripod). W fazie przenoszenia nóg oceniane s komórki nale ce do niewielkiego wycinka mapy otaczaj cego nominalny punkt podparcia ka dej nogi, a nast pnie wybierany jest punkt, który minimalizuje ryzyko po lizgu. Algorytm zosta przetestowany w symulatorze robota krocz cego [3], przeprowadzono te zako czon sukcesem weryfikacj na rzeczywistym robocie sze ciono nym Ragno poruszaj cym si po makiecie terenu. Uzyskane wyniki zostan wykorzystane podczas implementacji agenta AEFootPlan.

4. STRUKTURA SYSTEMU TELEOPERACJI

Pomimo zwi kszonego zakresu autonomii robota Messor, spodziewany poziom trudno ci rzeczywistych misji patrolowych lub poszukiwawczych, w których robot ten mo e zosta zastosowany, czyni niezb dnym wyposa enie go w interfejs teleoperatora. Interfejs ten pozwala cz owiekowi wspomaga robota swoimi decyzjami i zdolno ci do rozpoznawania z o onych sytuacji. Jednocze nie system nawigacji i sterowania robota udost pnia liczne funkcje uwalniaj cych cz owieka-operatora od bezpo redniego sterowania maszyn o wielu stopniach swobody. Dla robota Messor zaprojektowano system teleoperacji (rys. 5), który charakteryzuje si :

integracj z systemem sterowania autonomicznego przez wprowadzenie do nadrz dnej warstwy sterowania agenta AETeleOp elastycznym podej ciem do sterowania przez operatora, z mo liwo ci wydawania robotowi polece na ró nych poziomach abstrakcji wielomodowym sprz eniem zwrotnym od sensorów zewn trznych i wewn trznych robota.

Wprowadzenie specjalizowanego agenta teleoperacji do architektury systemu sterowania pozwala operatorowi wysy a ró nego typu polecenia, które umieszczane s na tablicy przez agenta AETeleOp z zachowaniem zasad synchronizacji mi dzy modu ami steruj cymi. Mo liwe jest nie tylko przej cie bezpo redniego sterowania na poziomie polece sterownika

Pomiary Automatyka Robotyka 2/2010

294 automation 2010automation 2010

warstwy motorycznej robota (za pomoc joysticka), lecz tak e wprowadzenie nowego punktu docelowego o znanych wspó rz dnych kartezja skich lub przes anie fragmentu cie ki. Je eli okre lony zostanie cel, robot samodzielnie wyznaczy cie k , a nast pnie przyst pi do jej ledzenia. Wys ana przez operatora cie ka zast puje t zaplanowan automatycznie, lecz

podczas jej ledzenia aktywny pozostaje modu planowania punktów podparcia nóg.

Rys. 5. Struktura systemu teleoperacji robota Messor

W wi kszo ci robotów krocz cych zdalny operator sprawuje bezpo redni wizualn kontrol nad robotem. Ogranicza to zasi g przeprowadzanych misji, a jego zwi kszenie wymaga wprowadzenia interfejsu cz owiek–maszyna udost pniaj cego operatorowi bogat informacj sensoryczn [8]. Dla robota Messor opracowywane jest oprogramowanie stanowiska teleoperatora, które pozwoli na prezentacj zarówno danych uzyskiwanych z sensorów zewn trznych (obrazy, skany 2D), jak i wyników przetwarzania tych danych (mapa terenu) oraz stanu samego robota (po o enie i orientacja, kontakt nóg z pod o em). Testowane s rozwi zania maj ce na celu poprawienie wiadomo ci sytuacyjnej teleoperatora. Jednym z nich jest modu ARVI (ang. Augmented Reality Visual Interface) (rys. 6), który pozwala nak ada na wy wietlany obraz z kamery obrazy wybranych cech otoczenia, takich jak poziome i/lub pionowe linie, kontury obiektów. Poniewa funkcja ta nie jest wykorzystywana przez system nawigacji robota, wykrywanie cech w czasie rzeczywistym zosta o zaimplementowane po stronie komputera teleoperatora, aby nie obci a jednostki pok adowej. Dodatkow funkcj ARVI jest ledzenie na obrazie wybranych (przez zaznaczenie mysz ) kontrastowych obiektów, co docelowo powinno umo liwi ich ledzenie robotowi, np. w celu pod ania za wskazan osob .

Rys. 6. ARVI: podkre lone cechy liniowe (A) i ledzenie obiektu (B,C)

Pomiary Automatyka Robotyka 2/2010

295automation 2010automation 2010

5. WNIOSKI

W pracy przedstawiono projekt architektury oprogramowania komputera nadrz dnego robota krocz cego, która poszerza zakres autonomii decyzyjnej robota i pozwala mu na samodzielne pokonywanie trudnego terenu na podstawie informacji z sensorów zewn trznych. Charakterystyczn cech zaproponowanego rozwi zania jest tablicowa struktura danych oraz budowa wieloagentowa, która umo liwia stopniowe dodawanie funkcjonalno ci do systemu przez wprowadzanie kolejnych agentów. Cecha ta jest wykorzystywana na etapie implementacji prezentowanego systemu, którego komponenty s opracowywane i testowane niezale nie, tak e z wykorzystaniem symulatora oraz prostszych robotów krocz cych Ragno. PODZI KOWANIA Praca finansowana ze rodków na nauk w latach 2008-2010 w ramach projektu badawczego N514 294635. LITERATURA [1] Barfoot T., Earon E., D’Eleuterio G., Experiments in Learning Distributed Control for

a Hexapod Robot, Robotics and Autonomous Systems, 54, 2006, s. 864–872. [2] B czyk R., Kasi ski A., Visual SLAM Supported by Structured Landmarks, Int.

Journal of Applied Mathematics and Computer Science, 2010 (to appear). [3] Belter D., Adaptive Foothold Selection for a Hexapod Robot Walking on Rough

Terrain, th Workshop on Advanced Control and Diagnosis, Zielona Góra, 2009, CD-ROM.

[4] Belter D., Skrzypczy ski P., Efficient Gait Learning in Simulation: Crossing the Reality Gap by Evolutionary Model Identification, Mobile Robotics: Solutions and Challenges (O. Tosun et al., eds.), Singapore, World Scientific 2009, s. 861–868.

[5] Belter D., Walas K., Skrzypczy ski P., Autonomiczny robot sze ciono ny – rozwój konstrukcji i systemu sterowania, Pomiary Automatyka Robotyka, nr 2, 2009, s. 249–258.

[6] Brzykcy G., Martinek J., Meissner A., Skrzypczy ski P., Blackboard Agent Architecture for Perception and World Modelling, Proc. Automation 2001, Warszawa, 2001, s. 212–219.

[7] Campbell J., Sukthankar R., Nourbakhsh I., Pahwa A., A Robust Visual Odometry and Precipice Detection System Using Consumer-grade Monocular Vision, Proc. IEEE Int. Conf. Robotics & Automation, Barcelona, 2005, s.3421–3427.

[8] Estremera J., Garcia E., Gonzalez de Santos P., A Multi-Modal and Collaborative Human-Machine Interface for a Walking Robot, Journal of Intelligent and Robotic Systems, 35, 2002, s. 397–425.

[9] Gajewski T., Sterowanie chodem robota sze ciono nego na podstawie informacji z pok adowego systemu wizyjnego, Praca dyplomowa magisterska, Wydzia Elektryczny, Politechnika Pozna ska, 2009.

[10] B. Gaßmann, J. M. Zöllner, R. Dillmann, Navigation of Walking Robots: Localisation by Odometry, Climbing and Walking Robots VIII, Springer, Berlin, 2005, s. 953–960.

Pomiary Automatyka Robotyka 2/2010

296 automation 2010automation 2010

[11] Ishii T., Masakado S., Ishii K., Locomotion of a Quadruped Robot Using CPG, Proc. IEEE Int. Joint Conf. on Neural Networks, Budapest, 2004, s. 3179-3184.

[12] Kolter J., Rodgers M., Ng A. A Control Architecture for Quadruped Locomotion Over Rough Terrain, Proc. IEEE Int. Conf. Robotics & Automation, Pasadena, 2008, s. 811–818.

[13] Kuffner J., Lavalle S., RRT-Connect: An Efficient Approach to Single-query Path Planning, Proc. IEEE Int. Conf. Robotics & Automation, San Francisco, 2000, s. 995-1001.

[14] ab cki P., opatowski A., Skrzypczy ski P., Terrain Perception for a Walking Robot with a Low-Cost Structured Light Sensor, Proc. European Conf. on Mobile Robots, Dubrovnik, 2009, s. 199–204.

[15] Porta J., Celaya R., Reactive Free-Gait Generation to Follow Arbitrary Trajectories with a Hexapod Robot, Robotics and Autonomous Systems, 47(4), 2004, s. 187-201.

[16] Naeem W., Sutton R., Chudley J., Chemical Plume Tracing and Odour Source Localisation by Autonomous Vehicles, Journal of Navigation, 60(2), 2007, s. 173–190.

[17] Roennau A., Kerscher T., Ziegenmeyer M., Zoellner J., Dillmann R., Six-legged Walking in Rough Terrain Based on Foot Point Planning, Mobile Robotics: Solutions and Challenges (O. Tosun et al., eds.), Singapore, World Scientific, 2009, s. 591–598.

[18] Rusu R., Sundaresan A., Morisset B., Hauser K., Agrawal M., Latombe J.-C., Beetz M., Leaving Flatland: Efficient Real-time Three-dimensional Perception and Motion Planning, Journal of Field Robotics, 26(10) 2009, s. 841–862.

[19] Skrzypczy ski P., Metody analizy i redukcji niepewno ci percepcji w systemie nawigacji robota mobilnego, Rozprawy, nr 407, Pozna , Wyd. Politechniki Pozna skiej 2007.

[20] Ye C., Borenstein J., A Novel Filter for Terrain Mapping with Laser Rangefinders, IEEE Trans. Robotics & Automation, 20(5), 2004, s. 913–921.