Kurs: Algorytmy Nawigacji Robotów Mobilnych Temat 1 Wprowadzenie do nawigacji robotów mobilnych 1 Pojęcia podstawowe Dariusz Pazderski Opracowanie w ramach programu ERA Inżyniera Na początku wprowadzimy wybrane podstawowe pojęcia związane z robotyką mobilną. Rozpoczniemy od zdefiniowania robota mobilnego. Jest to rodzaj robota, który posiada zdolność przemieszczania się względem otoczenia (czyli lokomocji), a jednym z układów wykonawczych tego robota jest układ lokomocyjny. W robotach mobilnych można wyróżnić platformę mobilna i część manipulacyjna (por. rys. 1), która w najprostszych przypadkach nie występuje (w takim przypadku robot mobilny utożsamiany jest z platformą mobilną). Często w literaturze używa się również określania manipulator mobilny w celu podkreślenia zdolności robota mobilnego do wykonywania manipulacji. Rysunek 1: Przykład robota mobilnego komercyjny robot badawczy youbot wyposażony w platformę mobilną i manipulator Kluczowym zagadnieniem, do rozwiązania którego zmierza robotyka mobilna i które niejako stanowi punkt odniesienia aktualnego jej rozwoju, jest problem uzyskania przez roboty autonomii. Robot mobilny autonomiczny wykonuje swoje zadanie bez zewnętrznego wsparcia ze strony człowieka. Podstawową właściwością takiego systemu jest zdolność do samodzielnego tworzenia i wykonywania planów działania na podstawie obserwacji otoczenia. Zbudowanie robota w pełni autonomicznego w istocie oznacza opracowanie systemu wyposażonego w zaawansowaną inteligencję maszynową i możliwość uczenia się. Ponieważ taki stopień autonomii jest obecnie nieosiągalny, mówi się o robotach półautonomicznych, które wykazują ograniczoną zdolność samodzielnej realizacji pewnych typów zadań. Warto zauważyć, że nadal znacząca część zautomatyzowanych pojazdów mobilnych to systemy teleoperowane, 1
które mają bardzo ograniczone możliwości w zakresie samodzielnego wykonywania ruchu a sterowanie oraz decyzje podejmuje człowiek. Roboty mobilne mogą działać w różnych środowiskach. W zależności od tego mówimy o robotach naziemnych, pływajacych (po powierzchni lub poruszających się pod wodą), latajacych, kosmicznych, itd. Odnosząc się bardziej szczegółowo do robotów naziemnych można zwrócić uwagę na dużą różnorodność układów lokomocyjnych, tj. systemy kołowe (najpopularniejsze), gąsienicowe, kroczące lub skaczące. Niniejszy kurs jest przeglądem wybranych metod wykorzystywanych w nawigacji robotów[1]. Nawigacja jest stosunkowo starym pojęciem. Sam termin wywodzi się z łacińskiego słowa navigatio, oznaczającego żeglugę. W odniesieniu do robotów mobilnych nawigację możemy rozumieć jako problem umiejscowienia robota w środowisku (względem wybranego układu odniesienia) oraz problem osiagnię- cia przez tego robota założonego celu. Już z tej krótkiej definicji wynika, że nawigacja jest bardzo obszer- nym zagadnieniem na rozwiązanie którego składa się szereg często bardzo złożonych zagadnień elementarnych. Zauważmy, że nawigacja będzie obejmowała: lokalizację robota percepcję środowiska i jego model metody planowania ruchu algorytmy sterowania ruchem robota Można stwierdzić, że nawigacja robotów jest podstawowym warunkiem umożliwiającym uzyskanie autonomii w ruchu. 2 Struktura układu nawigacji robota mobilnego Problem nawigacji robota mobilnego jest zagadnieniem bardzo złożonym. W syntetyczny sposób obrazuje to rys. 2, na którym wyróżniono poszczególne zadania wykonywane przez układ sterowania robotem oraz interakcję robota ze światem. Rysunek 2: Interakcja robota ze światem i układ sterowania (opracowano na podstawie [2]) Autor: D. Pazderski, v. 1.0, 9/2012 2
Realizacja zadania ruchu przez robota mobilnego wymaga pozyskiwania informacji o otaczającym środowisku stąd duże znaczenie ma układ sensoryczny, który pozwala na obserwację otoczenia i jego percepcję. W tym celu stosuje się zarówno proste układy dalmierzy i czujniki kontaktowe, które odpowiadają za wykrywanie kolizji i są elementem systemu bezpieczeństwa robota, jak również złożone układy lokalizacji, które w dalszym etapie pozwalają na umiejscowienia robota. Warto zauważyć, że choć część czujników, tzw. czujniki wewnętrzne, dokonują pomiaru stanu samego robota, dane przez nie dostarczane mogą być istotne z punktu widzenia poruszania się robota przykładem są czujniki impulsowo obrotowe, które pozwalają estymować lokalnie przemieszczenie pojazdu. Należy podkreślić, że pobranie informacji przesyłanych przez układ sensoryczny stanowi zwykle dopiero pierwszy etap percepcji. Właściwe przetworzenie informacji oraz fuzja danych z wielu czujników pozwala na zaawansowaną percepcję i w pewnym sensie umożliwia rozumienie przez robota elementów środowiska (np. znajdowanie jego charakterystycznych cech). Na tym etapie powstaje mapa lokalna, czyli numeryczna interpretacja najbliższego otoczenia robota. Ma ona duże znaczenie w sensie krótkoterminowym i umożliwia wykrywanie przeszkód, których występowanie może naruszać warunek bezpiecznego ruchu robota. Lokalna mapa świata, która często jest budowana na podstawie elementarnych informacji sensorycznych może być również wykorzystana do wzbogacenia wiedzy robota o środowisku w sensie globalnym. W ten sposób można dokonać lokalizacji robota w oparciu o dostępną informację, na którą składa się wiedza a priori (np. plany budynków) oraz wiedza uzyskiwana na etapie wcześniejszej eksploracji środowiska. Mapa globalna może zawierać dane dotyczące niepewności pozyskiwanej informacji, które stanowią miarę jej jakości. W oparciu o mapę globalną (niezależnie od stopnia jej złożoności w najprostszym przypadku mapą globalną mogą stanowić informacje o położeniu punktów nawigacyjnych) zachodzi proces umiejscowienia robota w środowisku. Lokalizacja robota (choćby zgrubna względem elementów środowiska) jest warunkiem koniecznym wykonania zadania ruchu zmierzającego do uzyskania zdefiniowanego celu. Jest to też punkt wyjścia do zaplanowania ruchu na postawie dostępnych informacji o środowisku. Planowanie zadania wymaga uwzględnienia wielu, często antagonistycznych aspektów. Należą do nich m. in.: uzyskanie zadanej pozycji i orientacji robota w środowisku poruszanie się robota z określonym profilem prędkości unikanie kolizji z przeszkodami statycznymi (np. ściany budynków, elementy wyposażenia pomieszczenia) i dynamicznymi (np. ludzie, inne roboty, pojazdy transportowe w fabryce, itd.) występowanie niebezpiecznych obszarów środowiska o dużym stopniu niepewności (tj. ruch jest możliwy, ale pod pewnymi warunkami wynikającymi z zapewnienia bezpieczeństwa) ograniczona mobilność robotów, wynikająca z ograniczeń prędkości (tj. ograniczeń nieholonomicznych) optymalizacja zużycia energii, itd. Część z tych aspektów można bezpośrednio wziąć pod uwagę podczas planowania ruchu. W tym celu wykorzystuje się różne metody oparte na podejściu formalnym i deterministycznym (ściśle matematycznym), probabilistycznym (uwzględniającym np. niepewność pozyskiwanej informacji o środowisku), heurystycznym i rozmytym (tj. pewnym regułom, opracowanym dla szczególnych przypadków). Mnogość algorytmów wynika przede wszystkim z dużej złożoności problemu, który może być rozwiązany alternatywnymi technikami. Wynikiem planowania ruchu jest wyznaczenie zbioru punktów przez które ma przejechać robot, określenie ścieżki ruchu i zdefiniowanie profilu prędkości (trajektorii). Nie wszystkie z wymienionych elementów muszą być zdefiniowane precyzyjnie zależy to konkretnego przypadku Autor: D. Pazderski, v. 1.0, 9/2012 3
i szczegółowości realizacji zadania. W pewnych zastosowaniach ważne będzie tylko uzyskanie punktu w przestrzeni, w innych krytyczne może być odtworzenie trajektorii ruchu w czasie. Końcowym etapem jest sterowanie ruchem ruchem robota, tj. realizacja zadań wcześniej zaplanowanych. Wykorzystuje się tutaj sterownik, którego celem jest wyznaczenie sygnałów sterujących elementami wykonawczymi (np. silnikami elektrycznymi) aby poruszać się zgodnie z planem. Nierzadko sterownik ten implementuje zaawansowane nieliniowe reguły sterowania wynikające np. z występowania ograniczeń nieholonomicznych w ruchu robota. Dodatkowo może on uwzględniać pewne zachowania odruchowe, będące wynikiem detekcji kolizji i konieczności jej unikania. Należy bowiem podkreślić, że na etapie realizacji ruchu mogą pojawić się, których formalnie można było przewidzieć i zaplanować. 3 Charakterystyka metod lokalizacji robotów mobilnych Lokalizacja robota mobilnego należy do podstawowych problemów, których rozwiązanie warunkuje możliwość sterowania robotem w celu wykonywania programowanych zadań w środowisku. Można wręcz powiedzieć, że rozwiązanie zagadnienia lokalizacji kluczowe w zapewnieniu możliwości autonomicznego lub półautonomicznego działania robota mobilnego. Warto wskazać na zasadniczą różnicę pomiędzy lokalizacją robota mobilnego a lokalizacją robota stacjonarnego manipulatora. Mianowicie, w klasycznych robotach manipulacyjnych można znaleźć układ współrzędnych, związany z robotem, który nie zmienia swojego miejsca w przestrzeni (względem wybranego inercjalnego układu odniesienia). Z tego wynika możliwość określenia współrzędnych każdego punktu robota lub chwytanego detalu na podstawie znajomości struktury geometrycznej (w tym informacji o konfiguracji wewnętrznej obejmującej kąty lub przesunięcia pomiędzy poszczególnymi złączami). Lokalizację w tym przypadku można sprowadzić do wyznaczenia kinematyki prostej manipulatora, które polega na rozwiązaniu równania algebraicznego. Dla robotów mobilnych ta właściwość nie występuje (por. rys. 3), tj. układ lokalny robota nie jest jawnie związany z układem podstawowym i może względem niego zmieniać swoje położenie. W efekcie lokalizacja tej klasy obiektów wymaga bardziej wyrafinowanych metod wspomaganych odpowiednimi środkami technicznymi. Rysunek 3: Lokalizacja robota stacjonarnego i mobilnego Rozpatrując metody lokalizacji można wskazać na dwie podstawowe kategorie: metody statyczne (bezwzględne) wykorzystują elementy środowiska o znanych współrzędnych, tzw. znaczniki (sztuczne dodatkowo wprowadzone do środowiska, naturalne istniejące w danym środowisku) do umiejscowienia robota w wybranym układzie współrzędnych na podstawie zależności geometrycznych metody dynamiczne (względne, przyrostowe) wykorzystują obserwator (tj. wymagają rozwiązania równania różniczkowego/różnicowego), który na podstawie pomiaru prędkości i przyspieszeń pozwala estymować położenie robota przy założeniu odpowiednich warunków początkowych. Autor: D. Pazderski, v. 1.0, 9/2012 4
Pierwsza grupa algorytmów, oparta na geometrii znaczników potencjalnie zapewnia dużą odporność (brak założeń lub ograniczone założenia dotyczące modelu robota) lokalizacji robota i wysoką stabilność długoterminową (tj. gwarantują stabilność rozwiązania). Ich wadami, które wynikają nie tyle z podstaw teoretycznych, ale z ograniczonych współczesnych możliwości technicznych, jest stosunkowo niewielka dokładność krótkoterminowa (występowanie znacznego szumu pomiarowego) oraz duże opóźnienia komunikacyjne. Z kolei druga klasa algorytmów, która wykorzystuje model procesu opisującego ruch pojazdu nie gwarantuje stabilnego wyniku w sensie długoterminowym. Metody przyrostowe są zwykle stosunkowo proste w implementacji, mają dobrą dokładność krótkoterminową oraz cechują się dobrą dynamiką i małymi opóźnieniami pomiarowymi. Można powiedzieć, że metody statyczne i dynamiczne są względem siebie komplementarne. Między innymi z tego powodu w rozwiązaniu problemu lokalizacji robota zachodzi konieczność realizacji fuzji danych w oparciu o informacje zwracane przez różne zestawy czujników i systemów pomiarowych. W tym celu korzysta się z obserwatorów, tj. układów dynamicznych które w oparciu o założony model procesu wyznaczają estymatę poszukiwanych zmiennych. Typowo do rozwiązania tego problemu korzysta się z obserwatorów liniowych Luenbergera, filtru Kalmana oraz rozwiązań pokrewnych (rozszerzony filtr Kalmana, filtracja cząsteczkowa, itd.). W tym opracowaniu nie będziemy tego zagadnienia szerzej omawiali. Literatura [1] J. Borenstein, redaktor. Where am I - Systems and Methods for Mobile Robot Positioning. 1996. [2] R. Siegwart, I. Nourbakhsh. Introduction to Autonomous Mobile Robots. MIT, 2004. Autor: D. Pazderski, v. 1.0, 9/2012 5