• Nie Znaleziono Wyników

Index of /rozprawy2/11382

N/A
N/A
Protected

Academic year: 2021

Share "Index of /rozprawy2/11382"

Copied!
144
0
0

Pełen tekst

(1)Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Informatyki. Rozprawa doktorska Behawioralny algorytm koordynacji ruchu robotów mobilnych oparty na modelu postępowania przemieszczających się osób mgr inż. Szymon Szomiński Promotor:. dr hab. inż. Aleksander Byrski, prof. n. Promotor pomocniczy:. dr inż. Wojciech Turek. Kraków 2018.

(2)

(3) Edycie oraz Rodzicom, którzy nigdy nie przestali we mnie wierzyć.

(4)

(5) Streszczenie Na przestrzeni lat problem planowania dla grup autonomicznych robotów stanowi tematykę wielu artykułów oraz opracowań naukowych. Wielu badaczy, zarówno z kraju jak i z zagranicy, poszukuje metod wyznaczania bezkolizyjnych trajektorii ruchu robotów w dynamicznie zmieniającym się środowisku. Konieczność bezkolizyjnego wyznaczania trajektorii ruchu zaobserwować możemy zarówno wśród zwierząt jak i ludzi. Niepowiązane ze sobą jednostki w sposób całkowicie autonomiczny podejmują decyzje o wyborze trajektorii ruchu podczas przemieszczania się we wspólnej przestrzeni. Pomiędzy poszczególnymi uczestnikami ruchu brak jest jawnej komunikacji oraz nie występuje centralny planista koordynujący ich działania. Mimo to, duże grupy niepowiązanych ze sobą uczestników ruchu są w stanie koordynować swoje działanie uwzględniając przy wyznaczaniu trajektorii innych uczestników ruchu i wykonując jednocześnie powierzone im zadanie. Obserwacje te zainspirowały do stworzenia zdecentralizowanego algorytmu koordynacji ruchu robotów mobilnych bazującego na modelu postępowania przemieszczających się osób. Potrzeba autonomicznej koordynacji wielu obiektów oraz ich zarządzania stawia wysokie wymagania pod względem stabilności, skalowalności oraz elastyczności podczas tworzenia tego typu rozwiązań. Zastosowanie prostych reaktywnych kontrolerów stanowi remedium spełniające nakładane na algorytm ograniczenia. Rozwiązanie dostarcza metod wyznaczających bezkolizyjną ścieżkę ruchu, bazujących na bieżącej obserwacji otoczenia robota między innymi w: otwartej przestrzeni, wąskim przejściu czy wąskim korytarzu. Za-modelowane w kontrolerze zachowania zostały zainspirowane naturalnymi zjawiskami takimi jak: respekt do stojących wyżej w hierarchii społecznej, ustępowanie pierwszeństwa osobom wychodzącym z pomieszczenia czy ogólnie znane przepisy ruchu. Stworzone rozwiązanie zostało sprawdzone w symulacji oraz przy wykorzystaniu rzeczywistych robotów mobilnych (na stworzonej platformie Czterokołowa Autonomiczna Platforma mObilna (CAPO)). Wyniki przeprowadzonych eksperymentów zostały porównane z wynikami działania uznanej metody Reciprocal Velocity Obstacles (RVO). Zastosowany sposób koordynacji ruchu robotów daje obiecujące wyniki w rozważanych przypadkach użycia, które mogą zostać w dalszym stopniu rozwijane oraz optymalizowane..

(6) Abstract Over the years, the problem of planning for groups of autonomous robots is the aim of many articles and scientific studies. Many researchers, both from the country and abroad, are looking for the methods of determining the collision-free trajectory of robots movement in a dynamically changing environment. The necessity of collision-free determination of the movement trajectory can be observed both among animals and people. Unrelated units, in a completely autonomous way, make decisions on choosing the movement trajectory while moving in a common space. There is no explicit communication between the individual participants of movement and there is no central planner coordinating their activities. Nevertheless, large groups of unrelated movement participants are able to coordinate their actions, taking into account the trajectory of other road users and performing the task entrusted to them. These observations have inspired me to create a decentralized algorithm for coordinating the movement of mobile robots based on the model of the behavior of moving people. The need of autonomous coordination of many objects and their management sets high requirements in terms of stability, scalability and flexibility when such solutions composition. The use of simple reactive controllers is a remedy that meets the limitations imposed on the algorithm. The solution provides methods for defining a collision-free path of movement, based on the current observation of the robot’s environment, including: open space, narrow passage or narrow corridor. Behaviors modeled in the controller have been inspired by natural phenomena such as respect for those standing higher in the social hierarchy, giving priority to people leaving the room or generally known traffic rules. The solution was tested in the simulation and using real mobile robots (on the created platform Czterokołowa Autonomiczna Platforma mObilna (CAPO)) as well. The experiments results were compared with the results of the recognized Reciprocal Velocity Obstacles (RVO) method. The method used to coordinate the robots movement gives promising results in the considered use cases, which can be further developed and optimized..

(7) Spis treści 1 Wstęp. 9. 2 Koordynacja ruchu robotów mobilnych. 15. 2.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 2.2. Problemy koordynacji ruchu robotów mobilnych . . . . . . . . . . . . .. 17. 2.3. Przegląd istniejących algorytmów koordynacji ruchu robotów mobilnych. 20. 3 Model problemu i teza pracy. 35. 3.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35. 3.2. Model problemu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38. 3.3. Teza pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 4 Behawioralne algorytmy koordynacji ruchu robotów. 44. 4.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 4.2. Zjawisko respektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 49. 4.3. Zasada priorytetyzowania wychodzących . . . . . . . . . . . . . . . . .. 55. 4.4. Zasada prawej dłoni . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 61. 5 Eksperymenty 5.1. 62. Eksperymenty symulacyjne . . . . . . . . . . . . . . . . . . . . . . . . .. 62. 5.1.1. Opis symulatora . . . . . . . . . . . . . . . . . . . . . . . . . . .. 62. 5.1.2. Opis przypadków testowych . . . . . . . . . . . . . . . . . . . .. 64. 5.1.3. Otwarta przestrzeń . . . . . . . . . . . . . . . . . . . . . . . . .. 66. 5.1.4. Przejście przez drzwi . . . . . . . . . . . . . . . . . . . . . . . .. 68. 5.1.5. Wąski korytarz . . . . . . . . . . . . . . . . . . . . . . . . . . .. 70. 5.1.6. Skrzyżowanie równorzędne . . . . . . . . . . . . . . . . . . . . .. 71.

(8) 8. 5.2. 5.3. 5.1.7. Skrzyżowanie typu 8 . . . . . . . . . . . . . . . . . . . . . . . .. 71. 5.1.8. Mijanka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 73. Wyniki eksperymentów symulacyjnych . . . . . . . . . . . . . . . . . .. 73. 5.2.1. Otwarta przestrzeń . . . . . . . . . . . . . . . . . . . . . . . . .. 73. 5.2.2. Przejście przez drzwi . . . . . . . . . . . . . . . . . . . . . . . .. 79. 5.2.3. Wąski korytarz . . . . . . . . . . . . . . . . . . . . . . . . . . .. 83. 5.2.4. Skrzyżowanie równorzędne . . . . . . . . . . . . . . . . . . . . .. 84. 5.2.5. Skrzyżowanie typu 8 . . . . . . . . . . . . . . . . . . . . . . . .. 85. 5.2.6. Mijanka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 86. 5.2.7. Podsumowanie eksperymentów symulacyjnych . . . . . . . . . .. 88. Eksperymenty z wykorzystaniem rzeczywistych robotów . . . . . . . . .. 98. 5.3.1. Platforma CAPO . . . . . . . . . . . . . . . . . . . . . . . . . .. 98. 5.3.2. Scenariusze testowe . . . . . . . . . . . . . . . . . . . . . . . . . 100. 5.3.3. Otwarta przestrzeń . . . . . . . . . . . . . . . . . . . . . . . . . 101. 5.3.4. Przejście przez drzwi . . . . . . . . . . . . . . . . . . . . . . . . 104. 5.3.5. Mijanka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106. 5.3.6. Podsumowanie eksperymentów z wykorzystaniem rzeczywistych robotów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107. 6 Podsumowanie. 110. 6.1. Wnioski i kierunki rozwoju . . . . . . . . . . . . . . . . . . . . . . . . . 110. 6.2. Metoda hybrydowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113. Bibliografia. 115. Naukowe Curriculum Vitae. 126. Spis rysunków. 130. Spis tablic. 133. Wykaz skrótów. 135. A Materiały wideo. 136. B Specyfikacja sprzętowo-programowa. 143.

(9) Rozdział 1 Wstęp Dynamiczny rozwój w dziedzinie mechaniki, elektroniki i informatyki przyczynił się do zintensyfikowania prac nad tworzeniem mobilnych platform robotowych. Obecna skala miniaturyzacji układów elektronicznych oraz dostępność komputerów o względnie dużej mocy obliczeniowej umożliwia tworzenie coraz to nowszych i bardziej skomplikowanych konstrukcji robotowych. Na przestrzeni dziesięcioleci zainteresowanie badaczy skupiało się zarówno na kontrolowaniu pojedynczego robota [84] jak i grupy robotów [6]. Należy zaznaczyć, że roboty coraz częściej budzą zainteresowanie badaczy spoza dziedziny samej robotyki. Wśród licznych grup naukowców możemy wymienić: elektroników, informatyków czy osoby spoza nauki zarządzające produkcją czy spedycją towarów. Wciąż rosnące zainteresowanie spowodowało wprowadzanie zajęć dydaktycznych z zakresu robotyki na wszystkich poziomach edukacji. Już dziś roboty wyręczają człowieka w wykonywaniu różnorakich zadań takich jak: sprzątanie [50], poszukiwanie ludzi po trzęsieniu ziemi [43, 25], inspekcja miejsc trudno dostępnych [52, 74], patrolowanie i ochrona terenu [1, 75] czy eksploracja przestrzeni kosmicznej. Roboty mają różne rozmiary, rodzaje stosowanego napędu, sensorów i efektorów, co niejako determinuje ich przeznaczenie i późniejsze zastosowanie. Dostępne na rynku konstrukcje mają ciągle bardzo ograniczone możliwości techniczne. Zastosowane podzespoły niejednokrotnie nie są wystarczające do wykonywania skomplikowanych eksperymentów czy prowadzenia zajęć dydaktycznych na uczelniach wyższych [40, 23, 24]. Komercyjne platformy wyposażane są w podzespoły, których jakość pozwala dokonywać precyzyjnych pomiarów, lecz ceny takich rozwiązań są nierzadko bardzo wygórowane [74]. W przypadku tego typu rozwiązań brak jest otwartej dokumentacji, a co więcej producenci bardzo często zabraniają modyfikowania sprzętu. Pomimo rosnących możliwości technicznych, roboty mobilne ciągle nie są powszechnie obecne w życiu codziennym człowieka a przemysł wykorzystuje je w pracach, które.

(10) 1. Wstęp. 10. jedynie wspomagają ludzi. Praktyczne wykorzystanie robotów mobilnych sprowadza się wciąż do powierzania im nieskomplikowanych zadań wykonywanych przez pojedyncze jednostki. Wysoki stopień skomplikowania znacząco utrudnia tworzenie algorytmów wykorzystujących potencjał grupy robotów do wykonania wspólnego zadania. Robot to nie tylko konstrukcja mechaniczna, zastosowane czujniki czy efektory. Bardzo dużą zaletą tego typu urządzeń jest łatwość sterowania i wytwarzania oprogramowania sterującego nimi. Podczas projektowania sterowania robotów konieczne jest rozwiązanie problemów z wielu dziedzin, poczynając od analizy sygnałów z sensorów, poprzez interakcje z operatorem, a na wpływaniu na środowisko przez efektory kończąc. Złożoność każdego z podsystemów skłania badaczy i konstruktorów do tworzenia rozwiązań konkretnych pod-problemów i scalania ich w jeden system. Podejście modułowe przyspiesza znacząco tworzenie, testowanie, re-konfigurację czy wdrażanie całego systemu. Korzystając z uniwersalnej platformy robotowej możemy w łatwy sposób testować nowe algorytmy sterowania trajektorią robotów oraz porównywać wyniki ich działania, co jest szczególnie istotne w koordynowaniu grup robotów. Celem niniejszej pracy jest zaprojektowanie i wykonanie systemu informatycznego kontrolującego pracę robotów. Projektując system informatyczny kontrolujący pracę robotów należy pamiętać o zdefiniowaniu wymagań funkcjonalnych i poza-funkcjonalnych tworzonego systemu. Do wymagań funkcjonalnych zaliczyć możemy zadania (zestaw czynności) jakie system ma wykonać. Oprócz wymagań funkcjonalnych system musi spełniać szereg wymagań poza-funkcjonalnych, które mają zagwarantować wysoką jakość systemu. Do najważniejszych wymagań poza-funkcjonalnych systemu wykorzystywanego w robotach mobilnych możemy zaliczyć: Skalowalność – rozumianą jako możliwość rozbudowy systemu (gdy zapotrzebowanie na zasoby sprzętowe lub programowe wzrasta) tak, aby system pracował z akceptowalną wydajnością. Rozbudowę można przeprowadzić poprzez dołączanie kolejnych zasobów jak na przykład jednostek przetwarzających sygnały z czujników czy wyspecjalizowanych efektorów [9]. Rozszerzalność – umożliwiającą proste wprowadzanie nowych funkcjonalności. Rozszerzenie systemu może stanowić wyspecjalizowana metoda kooperacji pomiędzy poszczególnymi uczestnikami ruchu, wynikająca z aktualnie zaobserwowanej sytuacji [68]. Wysoką dostępność – rozumianą jako odporność całego systemu na wszelkie awarie. System powinien starać się przeciwdziałać powstawaniu awaryjnych sytuacji, lecz gdy już do nich dojdzie – być w stanie zareagować w sposób autonomiczny. Ponowne wykorzystywanie elementów – umożliwiające tworzenie systemu z dostępnych komponentów. Zaletą takiego podejścia jest łatwość re-konfiguracji i redukcji.

(11) 1. Wstęp. 11. kosztów, co w przypadku bardzo rozbudowanych systemów znacząco skraca czas tworzenia rozwiązania. Projektując algorytm koordynacji zawsze należy zdefiniować kilka założeń i celów, które na etapie projektowania i tworzenia rozwiązania koniecznie należy rozważyć. Algorytm zawsze powinien gwarantować bezpieczeństwo poruszania się poszczególnym jednostkom i przy tym działać stabilnie w przypadku zaistnienia trudnych do przewidzenia sytuacji. Roboty działające w zmiennym środowisku muszą wykazać się odpornością na wystąpienie nieznanych i niepożądanych zdarzeń. Dlatego właśnie muszą być w stanie dynamicznie reagować na zmieniające się warunki, podejmując określone czynność zaradcze. Poruszając się na ograniczonej przestrzeni we wspólnym środowisku, roboty muszą unikać kolizji z obiektami statycznymi oraz innymi uczestnikami ruchu skutecznie dążąc do osiągnięcia zakładanego celu. Z uwagi na fakt, że wiele robotów współistniejących na tym samym obszarze ma do spełnienia różne misje, nie można zapomnieć o możliwości wystąpienia zakleszczeń. Oznacza to więc, że należy wprowadzić takie rozwiązania, które będą zapobiegały zakleszczeniom robotów. Dążenie do redukcji występowania i konieczności rozwiązywania sytuacji, w których dochodzi do wzajemnego blokowania się robotów, stanowi kolejną właściwość, którą powinno posiadać tworzone rozwiązanie. Wykonanie powierzonego zadania nie stanowi celu samego w sobie. Równie ważny jest czas w jakim to zadanie zostanie wykonane, ponieważ jest to czynnik determinujący efektywność danego rozwiązania. Algorytm powinien dążyć do zredukowania całkowitego czasu wykonania powierzonego robotom zadania do niezbędnego minimum. Większość istniejących algorytmów koordynacji ruchu robotów wymaga pewnego poziomu centralizacji podczas planowania wielopodmiotowego. W otaczającym świecie można zaobserwować wiele przykładów w pełni autonomicznych sytuacji koordynacji ruchu, w których brak jest centralnej jednostki sterującej. Uczestnicy ruchu, na przykład piesi na przejściach dla pieszych, pomimo dużego zagęszczenia nie zderzają się ze sobą (rysunek 1.1). Ludzie tworzą i dostosowują swoje plany ruchu w sposób autonomiczny, wykorzystując wiedzę i obserwację oraz stosując wspólne reguły zachowań. W przedstawionym przejściu dla pieszych nie ma planowania wielopodmiotowego, a wyraźna komunikacja pomiędzy podmiotami jest ograniczona do minimum. Niemniej jednak ruch przebiega płynnie, a poszczególne podmioty nie doświadczają znacznych opóźnień. Te same zjawiska można zaobserwować w różnych środowiskach z różnymi typami bytów. Ogromne stada zwierząt przechodzące przez rzekę lub kierowcy na skrzyżowaniu.

(12) 1. Wstęp. 12. Rysunek 1.1: Całkowicie autonomiczna koordynacja ruchu ludzi na przejściu dla pieszych w Warszawie.[89]. bez określonego priorytetu, korzystają z całkowicie autonomicznego planowania i procesu decyzyjnego w celu ustalenia kolejności przejazdu. Zastosowanie powszechnych zasad jest bowiem w wielu przypadkach wystarczające, aby zagwarantować bezpieczeństwo ruchu. Poczynione obserwacje wzorców zachowań stanowiły inspirację do stworzenia w pełni autonomicznego behawioralnego algorytmu koordynowania ruchu robotów mobilnych. W rozwiązaniu brak jest centralnego planisty zarządzającego ruchem oraz nie występuje jawna komunikacja pomiędzy poszczególnymi uczestnikami ruchu. Algorytm opiera się na autonomicznym planowaniu ścieżek i dostosowuje się w czasie rzeczywistym do sytuacji obserwując pozostałych uczestników ruchu. Reakcje robotów na obserwowane sytuacje odzwierciedlają wybrane zachowania ludzi – unikają kolizji z większymi lub pewnymi siebie osobnikami czy okazują szacunek dla zorganizowanych grup. Zachowania są inspirowane jednym z najbardziej podstawowych instynktów przetrwania, którym jest respekt przed silniejszym osobnikiem. W pracy zostanie przedstawiony algorytm koordynacji ruchu bazujący na behawioralnych wzorcach zachowań, wyniki eksperymentów przeprowadzonych z użyciem symulatora oraz z wykorzystaniem rzeczywistych robotów mobilnych. W dalszych częściach niniejszej pracy przedstawione zostaną następujące zagadnienia:.

(13) 13. 1. Wstęp. Rozdział 2 prezentuje szczegółową analizę istniejących podejść oraz możliwych rozwiązań związanych z koordynacją ruchu robotów mobilnych. W rozdziale 3 przedstawiono model problemu oraz omówiono tezę niniejszej rozprawy. Koncepcja opartego o wzorce zachowań algorytmu koordynacji została zaprezentowana w rozdziale 4. Rozdział 5 zawiera opis przeprowadzonych testów i prezentuje wyniki eksperymentów zrealizowanych w symulatorze oraz przy wykorzystaniu rzeczywistych robotów mobilnych. Uzyskane wyniki stanowiły podstawę do wyciągnięcia wniosków potwierdzających poprawność postawionej w pracy tezy, które zostały zaprezentowane w rozdziale 6. ?. ?. ?. Pragnę złożyć serdeczne podziękowania Panu dr hab. inż. Aleksandrowi Byrskiemu, profesorowi nadzwyczajnemu AGH, za nieocenioną pomoc udzieloną w trakcie przygotowywania rozprawy doktorskiej, cierpliwość i wyrozumiałość oraz motywację do krytycznego spojrzenia na problematykę badawczą. Szczególnie pragnę również podziękować za wsparcie w jasnym formułowaniu myśli naukowej oraz inspirację do zgłębiania zagadnień naukowych. Chciałbym wyrazić głęboką wdzięczność Panu dr inż. Wojciechowi Turkowi, bez którego moja praca doktorska nie mogłaby powstać. Dziękuję za inspirację do badań, niezastąpioną pomoc w planowaniu doświadczeń oraz kreatywne podejście w poszukiwaniu rozwiązań problemów z robotami mobilnymi. Pragnę również podziękować za pomoc w redagowaniu pracy oraz motywację do opracowania samodzielnych koncepcji na tle istniejącej literatury naukowej. Składam serdeczne podziękowania, niestety niedawno zmarłemu, Panu prof. dr hab. inż. Krzysztofowi Cetnarowiczowi za opiekę naukową oraz liczne merytoryczne sugestie związane z problematyką zarządzania grupami autonomicznych robotów mobilnych. Dziękuje za wszystkie bezcenne rady, stanowiące inspirację w trakcie przygotowania niniejszej pracy, które zawsze pozostaną w mojej pamięci. Szczególne wyrazy wdzięczności składam na ręce Pana prof. dr hab. inż. Krzysztofa Boryczki, za opiekę w trakcie stawiania pierwszych naukowych kroków. Dziękuję też za wsparcie i rozmowy, które pozwoliły pokonywać problemy spoza obszaru pracy naukowej. Chciałbym również podziękować Rodzinie, za nieustanne wsparcie, motywację i niegasnącą wiarę we mnie. Mojej pierwszej i najważniejszej recenzentce narzeczonej dr.

(14) 14. 1. Wstęp. n. med. Edycie Możdżeń za wszelkie krytyczne uwagi i sugestie, które pomogły mi w „oczyszczeniu” tekstu z licznych błędów stylistycznych zaśmiecających moją pracę. Pragnę również podziękować mojej kuzynce mgr Magdalenie Korzeniowskiej oraz kuzynowi Sewerynowi Talarkowi, którzy nie odmówili mi pomocy, gdy ich o nią poprosiłem. W szczególności dziękuję mojej Mamie oraz Tacie, za wspieranie mnie w trakcie podążania drogą, którą wybrałem oraz nigdy niegasnącą wiarę we mnie. Dziękuję za bezgraniczną miłość, za liczne rozmowy, które dodawały mi nowych sił do pracy. Pragnę podziękować wszystkim moim Przyjaciołom, którym nie znudziło się pytać „Jak tam doktorat?”. Za to, że dawali mi odskocznię od codziennej pracy i poczucie, że jestem nadal potrzebny. Za to, że w chwilach słabości wsparli mnie i nie pozwolili porzucić niedokończonej pracy. Za to, że pokazywali mi dobre strony zawsze wtedy, gdy nie potrafiłem ich dostrzec. Szymon Szomiński Kraków, 2018.

(15) Rozdział 2 Koordynacja ruchu robotów mobilnych 2.1. Wprowadzenie. W otaczającym nas świecie możemy zaobserwować wiele przykładów w pełni autonomicznych sytuacji koordynacji ruchu wśród zwierząt czy ludzi. Aby zrozumieć mechanizmy obserwowane w naturze, badacze starają się matematycznie modelować migracje stad ptaków oraz ławic ryb [73]. Poczynione obserwacje przyrody przyczyniły się do stworzenia między innymi systemów kontroli lotów [58]. Obserwacja zachowań ludzi stanowi również źródło cennych informacji [53]. Zachowanie poszczególnych jednostek może być różne, w zależności od sytuacji w jakiej się aktualnie znalazły. Inne wzorce zachowań zaobserwujemy w ruchu miejskim na przykład na przejściach dla pieszych, zaś inne, gdy osoby przemieszczają się w zamkniętej przestrzeni. Zachodzi więc potrzeba tworzenia symulatorów tłumu, które umożliwiają zbadanie różnych zachowań, w zależności od panujących aktualnie warunków [46, 22] oraz sytuacji takich jak ewakuacja [107]. Zebrane w ten sposób wzorce behawioralne pozwalają na tworzenie różnych systemów na przykład rzeczywistości rozszerzonej [47] (augmented reality). Osadzenie dodatkowych informacji w otaczającym nas świecie dostarcza dodatkowej wiedzy, która może zostać wykorzystana między innymi w systemach nawigacyjnych czy grach komputerowych. Rosnące zainteresowanie wykorzystaniem robotów mobilnych, zarówno w przemyśle jak i gospodarstwach domowych, motywuje badaczy do poszukiwania nowych algorytmów sterowania. Powierzanie coraz to większej ilości bardziej złożonych zadań robotom, stawia coraz większe wymagania przed projektantami oprogramowania sterującego robotami mobilnymi. Opracowywane strategie koordynacji muszą uwzględniać między innymi takie obszary jak unikanie kolizji [69] czy grupowe rozwiązywanie.

(16) 2. Koordynacja ruchu robotów mobilnych. 16. problemów [27]. Konieczność współpracy wielu jednostek wykorzystywana jest między innymi w eksploracji nieznanego środowiska [15], tworzeniu i utrzymywaniu formacji [6] czy obsłudze magazynów [108]. Typowym zadaniem, które zostaje powierzone kołowym robotom mobilnym jest transport przedmiotów z jednej lokalizacji do drugiej. Przykładem zautomatyzowanego systemu magazynowego wykorzystującego roboty jest system firmy Kiva (po roku 2015: Amazon Robotics LLC). W systemie tym, specjalnie przystosowane roboty dostarczają całe regały z produktami do stref, w których ludzie pakują je i wysyłają do klientów (rysunek 2.1). Zastosowanie takiego podejścia znacząco przyspiesza przygotowanie produktów do wysyłki.. Rysunek 2.1: Zrobotyzowany system magazynowania zaprojektowany przez firmę Kiva [108].. Istotną kwestię stanowi wypracowanie metod komunikacji pomiędzy współpracującymi uczestnikami ruchu. Pierwotnie, metody bazowały na występowaniu wspólnego centralnego punktu gromadzącego informacje, który był dość zawodny. Inspiracji do zmiany tego modelu dostarczyły między innymi kolonie owadów, w których informacje przekazywane są lokalnie pomiędzy poszczególnymi osobnikami [86, 63]. Scentralizowane planowanie ruchu w systemach wielorobotowych wiąże się więc z koniecznością rozwiązywania wielu problemów, zarówno komunikacyjnych jak i koordynacyjnych. Autonomiczne roboty mobilne są często opisywane w kategoriach systemów agentowych. Architektura systemów agentowych, sposób ich programowania oraz zarządzania jest zbieżny z tworzeniem algorytmów sterowania grupami robotów mobilnych. Na przestrzeni lat powstało wiele definicji pojęcia agenta [76, 42, 66, 19]. Badaczom oraz projektantom nie udało się jednak stworzyć jednej spójnej definicji tego słowa. W zależności od przeznaczenia, agent posiada odpowiedni zestaw przypisywanych mu.

(17) 2. Koordynacja ruchu robotów mobilnych. 17. cech. Najczęściej jest bytem osadzonym w przestrzeni wirtualnej, którą postrzega i na którą wpływa, posiada pewną autonomię, potrafi się też komunikować oraz wchodzić w interakcje z innymi agentami [19]. Przestrzeń wirtualna stanowi środowisko działania agentów i z punktu widzenia implementacji może być platformą agentową, którą na przykład tworzą połączone maszyny wirtualne. Wykorzystując teorię agentowości do sterowania grupą autonomicznych robotów mobilnych konieczne jest powiązanie przestrzeni wirtualnej z przestrzenią rzeczywistą. Przestrzeń rzeczywista reprezentowana jest przez fizyczne urządzenie (robota mobilnego), który bezpośrednio komunikuje się z agentem osadzonym (działającym) w przestrzeni wirtualnej. W licznych pracach możemy odnaleźć wiele powiązań wynikających z podobnych cech wspólnych pomiędzy agentami oraz robotami mobilnymi. Skłania to badaczy do utożsamiania agenta z robotem mobilnym lub wydzielania z fizycznego robota grupy operacji i określania ich mianem agenta realizującego pewne operacje [95]. Tym samym, terminy agent i robot mobilny bywają przez badaczy stosowane zamiennie i są też różnie interpretowane. W niniejszej pracy teoria systemów wielo-agentowych nie jest wykorzystywana do modelowania systemów wielo-robotowych służących do koordynacji ruchu autonomicznych robotów mobilnych. W dalszej części rozprawa koncentruje się nad stworzeniem algorytmów koordynacji robotów mobilnych, zaś samo pojęcie agenta nie jest utożsamiane z robotem.. 2.2. Problemy koordynacji ruchu robotów mobilnych. Poruszanie się w złożonym środowisku oraz zapewnienie bezpiecznej i skutecznej koordynacji ruchu stanowi nie lada wyzwanie. Roboty poruszające się we wspólnym środowisku muszą manewrować pomiędzy sobą oraz pomiędzy przeszkodami. Unikają one w ten sposób kolizji i zakleszczeń, a co więcej, operując na ograniczonej przestrzeni, starają się jak najszybciej wykonać powierzone zadanie. Jak wykazały badania, znalezienie bezkolizyjnych ścieżek w skończenie krótkim czasie należy do klasy problemów NP-trudnych [87]. Efektywne algorytmy wyznaczania trajektorii wymagają przewidywania ruchu innych obiektów, wykrywania wzajemnych wzorców interakcji oraz działania w czasie rzeczywistym [61]. Ze względu na dużą złożoność obliczeniową problemu poszukuje się optymalizacji metod wyznaczania tras. Aby umożliwić bezkolizyjne poruszanie się w nieznanym środowisku, konieczna jest stała obserwacja otoczenia znajdującego się wokół robota. Informacja płynąca z czujników zainstalowanych na robocie dostarcza danych zarówno o jego najbliższym otoczeniu jak i odległości do przeszkód wokół robota, zaś w połączeniu z lokalizacją na mapie umożliwia nawigowanie do celu..

(18) 2. Koordynacja ruchu robotów mobilnych. 18. Unikanie kolizji z przeszkodami to jedno z podstawowych zadań koordynacyjnych. W pracach [10, 83], autorzy starają się tak sterować robotem, aby ominąć statyczne przeszkody znajdujące się na ścieżce jego ruchu. Jeśli przeszkody poruszają się, metoda ich omijania może polegać na wielokrotnym re-planowaniu uwzględniającym ich nowe położenie. Gdy przeszkody poruszają się wolniej niż robot, metody działają dobrze. Jednak, gdy prędkość przeszkód wzrasta, należy ją uwzględnić na etapie projektowania. Problem ten jest na ogół określany jako „unikanie asteroid”, a podejście zazwyczaj przewiduje prędkości w celu oszacowania przyszłych pozycji przeszkód [29, 48, 37, 110]. Wymagania dotyczące unikania kolizji można sformułować jako ograniczenie odległości pomiędzy uczestnikami ruchu, w celu wyznaczenia zbioru wspólnych, możliwych i wolnych od kolizji ścieżek [65, 4, 20]. Planując ścieżkę ruchu, czy to dla pojedynczego robota [18, 51], czy dla wielu robotów, należy unikać sytuacji kolizyjnych, zakleszczeń [56] powodujących wzajemne blokowanie się robotów, jak również zachować bezpieczeństwo uzależnione od dostępnej przestrzeni. Wyposażając roboty w dodatkowy sprzęt potrzebny do wykonania zadania, jak na przykład ramiona czy chwytaki, znacząco zmienia się rozmiary robota. Gabaryty robotów powiększają się, zaś możliwości manewrowe znacznie się pogarszają. Algorytm koordynacji powinien uwzględniać więc ograniczenia fizyczne wynikające z wielkości robota. Dodatkowe wyposażenie umieszczane w robocie ma często wpływ na prędkość jego poruszania się. Wynikające z tego ograniczenia kinematyczne i dynamiczne uniemożliwiają szybkie przyśpieszanie czy zatrzymanie się w sytuacji awaryjnej [60]. W proponowanych rozwiązaniach często pomija się jednak dynamikę robotów z uwagi na duży stopień złożoności problemu [87]. Zastosowane uproszczenie modelu pozwala bowiem wykonywać obliczenia związane z wykryciem kolizji znacznie szybciej. Współpracujące ze sobą roboty muszą nie tylko wzajemnie się postrzegać, lecz również nawzajem komunikować [36]. Niezawodna i zrozumiała komunikacja pomiędzy wszystkimi uczestnikami ruchu stanowi nierozłączny element, który należy uwzględnić w algorytmie koordynacji. Problemy koordynacji ruchu robotów mobilnych można rozpatrywać w różnym kontekście na przykład planowanie ruchu, kontrola formacji [64] (w tym sterowanie rojem robotów [78, 79]) czy przydzielanie zadań. Wszystkie te problemy posiadają podobną charakterystykę – wraz ze wzrostem zagęszczenia się jednostek na danym obszarze wzrasta liczba konfliktów, do których może dochodzić w trakcie wykonywania zadań. Konieczne jest szukanie metod współpracy w celu rozwiązywania pojawiających się problemów. Zarządzanie wieloma niezależnymi od siebie uczestnikami ruchu wymaga poszu-.

(19) 2. Koordynacja ruchu robotów mobilnych. 19. kiwania rozwiązań organizowania ruchu pomiędzy poszczególnymi członkami grupy. Organizacją ruchu niezależnych jednostek zainteresowali się autorzy w pracy [44]. Badacze w publikacji [14] skupili z kolei swoją uwagę na matematycznym podejściu do algorytmów koordynacji ruchu robotów połączonych w sieć. Gdy wiele robotów obiera wspólny cel, dochodzi do pojawienia się wzajemnych konfliktów. Autorzy w pracach [16] i [80] zdefiniowali problem wspólnego celu w koordynacji wielu robotów oraz podjęli starania, aby go rozwiązać. Problemem nierozłącznie związanym z koordynacją ruchu jest reprezentacja trajektorii, po których poruszają się roboty mobilne. W pracy [39], autorzy zaproponowali reprezentację trajektorii robota jako krzywej parametrycznej składającej się z sum harmonicznych. Dzięki takiej reprezentacji możliwe jest analityczne podejście do wyznaczenia trajektorii oraz zastosowanie optymalizacji numerycznej, co znacząco skraca czas wykonywania obliczeń. Ograniczenie kinematyczne robota, a także wymagania dotyczące krzywizny trajektorii stanowią dane wejściowe dla algorytmu planowania. Poprzez wyrażenie granic przeszkód za pomocą krzywych, możliwa jest realizacja unikania kolizji robota ze statycznymi przeszkodami. Zaproponowana metoda wyznacza trajektorię pomiędzy dwoma punktami nie wykorzystując przy tym żadnej z technik heurystycznych. Autorzy skoncentrowali się na matematycznym sformalizowaniu reprezentacji trajektorii, dodatkowo prezentując kilka przykładów uwzględniających ograniczenia kinematyczne oraz dynamiczne robota. Wysoka złożoność obliczeniowa podejścia sprawia, że trudno jest zastosować tę metodę w koordynacji ruchu wielu grup robotów. Metody oparte na trajektoriach, uwzględniające kolejne stany agentów oraz otoczenie przewidujące ich ruchy, zaprezentowano w [70, 3]. Podzbiór podejść nie-kooperujących uwzględnia dynamikę agentów w czasie, a następnie planuje trasę wolną od kolizji uwzględniając przewidywane ścieżki innych uczestników ruchu. W zatłoczonych środowiskach, zestaw przewidywanych ścieżek często zajmuje znaczną część przestrzeni, której nie można pokonać bezpośrednio, na wprost i w sposób bezpieczny, gdyż prowadzi to do zakleszczania się robota [93, 94] (freezing robot problem). Wspomniane problemy skłaniają badaczy do ciągłego poszukiwania coraz to nowych metod, które starają się rozwiązywać i niwelować wszelkie trudności oraz usprawniać poruszanie się robotów w środowisku..

(20) 20. 2. Koordynacja ruchu robotów mobilnych. 2.3. Przegląd istniejących algorytmów koordynacji ruchu robotów mobilnych. W zależności od poziomu centralizacji, algorytmy koordynacji są zazwyczaj dzielone na w pełni scentralizowane oraz rozproszone [8]. Na rysunku 2.2 zaprezentowano podział algorytmów koordynacji uzależniony od interakcji pomiędzy robotami.. Algorytmy koordynacji. Zdecentralizowane. Z jawną komunikacją. Bez jawnej komunikacji. Scentralizowane. Z planowaniem początkowym. Z planowaniem dynamicznym. Rysunek 2.2: Podział algorytmów koordynacji ze względu na interakcje pomiędzy robotami [8].. W systemach wielorobotowych, rozwiązanie problemu koordynacji ruchu początkowo skupiało się głównie wokół metod scentralizowanych. Metody scentralizowane cechuje istnienie centralnego elementu systemu zwanego planistą. Jak już sama nazwa sugeruje, planista podejmuje wszystkie decyzje związane z planowaniem oraz przemieszczaniem się każdego z uczestników ruchu. Jeśli istnieje niezawodna sieć komunikacyjna pomiędzy uczestnikami ruchu, umożliwiająca wymianę ich intencji takich jak na przykład aktualna pozycja, planowana ścieżka czy cele, wówczas możemy oddelegować proces unikania kolizji scentralizowanemu elementowi. Do głównych zadań planisty należy też wyznaczenie tras, wysyłanie poleceń sterujących, kontrola wykonania zadania oraz obsługa sytuacji awaryjnych. Istotną cechę planisty stanowi dowolność ustalania kolejności tras, dzięki czemu może przeszukiwać całą przestrzeń rozwiązań. Cecha ta może umożliwiać znajdowanie optymalnych tras lub dostarczyć informacji o braku rozwiązania. Zaplanowanie trasy bez zbędnych przestojów oraz sytuacji konfliktowych, dające pewne rozwiązanie, powinno cechować dobry algorytm koordynacji ruchu robotów. Akella i Hutchinson [2] rozwiązują problem koordynacji robotów wzdłuż wyznaczo-.

(21) 2. Koordynacja ruchu robotów mobilnych. 21. nych tras poprzez zmianę czasu startu każdego robota. Gdy robot zacznie się poruszać, zatrzyma się dopiero po osiągnięciu pozycji docelowej. Podejście takie sprawdza się bardzo dobrze w symulatorach, gdzie wszystkie operacje są zsynchronizowane czasowo. Erdmann w [32] jako pierwszy poruszył problem planowania ruchu dla wielu poruszających się obiektów. Zastosowany algorytm centralnie planował trasy wszystkich obiektów, zanim jeszcze wyruszyły one ze swoich punktów początkowych. Każdemu z uczestników ruchu przypisywano priorytet, w oparciu o który wykonywane były kolejne obliczenia planowania trasy. Autor zaznaczył, iż podczas planowania ruchu obiektu z priorytetem pj należy wziąć pod uwagę już zaplanowane ruchy obiektów z priorytetowym pi , gdzie pi < pj (i oraz j oznaczają indeksy kolejnych obiektów uczestniczących w ruchu). Każda z tras wyznaczana była jedna po drugiej tak, aby nie kolidowały one wzajemnie ze sobą. Po wyznaczeniu wszystkich tras planista rozsyła zaplanowane trasy do poszczególnych obiektów oraz wydaje komendę start. Każdy z obiektów ściśle trzyma się otrzymanych od planisty tras. Jednym z założeń powyższego algorytmu był brak możliwości modyfikacji planów w trakcie ich wykonywania. Znalezienie dobrego schematu priorytetów stanowi złożony problem [8]. Koordynacja ruchu polega na wyznaczaniu drogi robotów wzdłuż wcześniej zdefiniowanych ścieżek. Ponieważ ścieżki mogą przecinać się ze sobą, może być konieczne zatrzymanie niektórych robotów podczas zbliżania się do punktu przecięcia, w celu ustąpienia miejsca innym robotom i uniknięcia kolizji. Dążąc do optymalizacji, należy ograniczyć zestaw parametrów wejściowych na przykład do czasu potrzebnego, aby wszystkie roboty osiągnęły cel. To wyklucza pewne banalne schematy koordynacyjne, na przykład takie, w których porusza się tylko jeden robot a pozostałe są nieruchome, ponieważ ogólny czas byłby zbyt wysoki. W artykule [26], autorzy zaprezentowali łączenie w sieci robotów biorących udział w ruchu (ang. dynamic robot networks). Roboty mogące się wzajemnie komunikować wymieniają się informacjami o swoim położeniu, miejscu do którego zmierzają oraz wspólnie planują trajektorię ruchu. Wymiana informacji odbywa się nie tylko pomiędzy robotami przynależącymi do pojedynczej sieci, lecz również pomiędzy innymi sieciami. Przy każdym dołączaniu się robota do sieci konieczne jest ponowne re-planowanie wszystkich ścieżek w ramach sieci. Podejście takie może przyczyniać się do powstawania niepotrzebnych sprzężeń. Roboty, które mogą się komunikować, niekoniecznie muszą ze sobą współpracować, aby znaleźć bezpieczną ścieżkę. Turek w [96] zaprezentował metodę, która w czasie rzeczywistym uwzględnia ograniczenia dynamiki robota w fazie planowania ruchu. Metoda maksymalizuje liczbę robotów, które mogą poruszać się jednocześnie na relatywnie małej przestrzeni. Do wyznaczenia bezkolizyjnej optymalnej czasowo trajektorii, spełniającej ograniczenia dy-.

(22) 2. Koordynacja ruchu robotów mobilnych. 22. namiczne, algorytm wykorzystuje sieć predefiniowanych dróg. Roboty, planując swoje ruchy, bazują na wirtualnej sieci dróg i skrzyżowań reprezentowanych jako graf (rysunek 2.3). Koordynacja ruchu opiera się na tymczasowym rezerwowaniu skrzyżowań przez roboty. Do wyznaczenia najkrótszej ścieżki wykorzystuje heurystyczną metodę przeszukiwania grafu A∗ [30]. Metoda ta konstruuje trajektorię składającą się z małych „kroków podstawowych”, które odwzorowują dynamikę robotów. W przypadku awarii jednego z robotów, konieczne jest zaplanowanie tras dla pozostałych robotów biorących udział w ruchu. Metoda A∗ poprzez tworzenie wirtualnych dróg dyskretyzuje przestrzeń, w której poruszają się roboty, co wpływa niekorzystnie na ich swobodę ruchów.. Rysunek 2.3: Przykładowa reprezentacja środowiska przy pomocy grafu [96].. Z koordynacją grup robotów dobrze radzą sobie metody zdecentralizowane. W przypadku niespodziewanych awarii, potrafią reagować dynamicznie zmieniając swój pierwotny plan. W artykule [21] przedstawiono wieloagentowy zdecentralizowany algorytm unikania kolizji. Proponowane rozwiązanie opiera się na zastosowaniu algorytmów głębokiego uczenia (deep reinforcement learning). Proces przewidywania, analizowania wzorców interakcji jest realizowany w trybie offline, dzięki czemu znacząco zredukowano ilość obliczeń wykonywanych online. Proponowane rozwiązanie tworzy sieć wartości, która koduje szacowany czas dotarcia do celu, biorąc pod uwagę wspólną konfigurację agenta oraz pozycje i prędkości wraz z jego sąsiadami. Takie wykorzystanie sieci wartości oznacza wykonywanie w czasie rzeczywistym zapytania dotyczącego bezkolizyjnego znalezienia wektora prędkości, ale także bierze pod uwagę niepewność ruchu innych agentów. W pracy [17], autorzy zastanawiają się nad innym rozwiązaniem problemu planowania tras robotów. Nie uwzględniając innych uczestników ruchu, dla każdego z robotów obliczają najprostszą trasę biegnącą do celu. Tak wyznaczone trasy mogą ze sobą wzajemnie kolidować. W przytoczonej publikacji, poczyniono również dodatkowe założenie, iż robot nie może zawracać ani zbaczać ze swojej trasy. Jedyną dozwoloną akcję.

(23) 2. Koordynacja ruchu robotów mobilnych. 23. w celu uniknięcia kolizji stanowi zatrzymanie. Algorytm porządkuje trasy poszczególnych robotów w najlepszy możliwy sposób. Fragmentom ścieżek, po których porusza się robot można nadawać różne priorytety. Optymalizacja czasu przejazdu realizowana jest za pomocą modyfikacji priorytetów na poszczególnych fragmentach ścieżek. Dla arbitralnie wyznaczonych tras, wykonując proste losowanie priorytetów, metoda wyznacza rozwiązania bliskie optymalnym. Algorytm wprowadza pewne uproszczenia, dzięki czemu można uzyskać większą efektywność kosztem kompletności. Na rysunku 2.4 zaprezentowano przykładowe wyznaczenie priorytetu dla kolidujących tras.. Rysunek 2.4: Przykładowy problem wyznaczenia priorytetów dla kolidujących tras [17]. Zaciemnione pola na rysunku po prawej reprezentują miejsca, w których może dojść do konfliktu.. Silver w [82] zaprezentował modyfikacje algorytmu A∗ służącego do wyszukiwania ścieżek prowadzących do celu. Klasyczny algorytm opiera swoje działanie na wielowymiarowej mapie reprezentującej model środowiska. W ramach modyfikacji, rozszerzono mapę o kolejny wymiar, w którym zawarto czas. Zbudowana w ten sposób tablica rezerwacji jest współdzielona przez wszystkie roboty. Każdy z robotów, zapisując swój plan, zobowiązany jest do sprawdzenia czy jego plan nie koliduje z planami innych robotów. Na rysunku 2.5 zaprezentowano przykładową tablicę rezerwacji. Wadę metody stanowi centralne miejsce przechowywania tablicy rezerwacji. Przy dużej ilości robotów, ograniczona przepustowość kanału komunikacyjnego może doprowadzić do spowolnienia lub zatrzymania pracy całego systemu. W artykule [5] zaprezentowano rozwiązanie konfliktów w środowisku wielorobotowym. Roboty planują swoją trasę unikając kolizji ze statycznymi przeszkodami, biorąc pod uwagę najkrótszy dystans do celu. Każdy robot analizuje zaplanowaną wcześniej trasę pod kątem potencjalnych kolizji. Ścieżki reprezentowane są w przestrzeni trójwymiarowej jako macierz (x, y, czas). Roboty uzgadniają kolejne etapy swojej trasy pomiędzy sobą, co pozwala na zdecentralizowane i równoległe podejmowanie decyzji. Celem procedury negocjacji jest przypisywanie priorytetów ruchu robotów. Roboty o niższych priorytetach, w celu uniknięcia kolizji, muszą zmniejszyć swoją prędkość..

(24) 24. 2. Koordynacja ruchu robotów mobilnych Cel dla obiektu 1 Cel dla obiektu 2 Obiekt 1 Obiekt 2 Przeszkoda statycz na Obs zar zarezerwowany obiekt 1 Obs zar zarezerwowany obiekt 2 Zaplanowana ścieżka. Rysunek 2.5: Tablica rezerwacji [82].. Główną wadą proponowanego rozwiązania jest brak możliwości dodawania i usuwania kolejnych ścieżek a także to, że podczas wykonywania zadania wszystkie ścieżki muszą być planowane jednocześnie. W pracy [45], autorzy zaprezentowali rozproszony algorytm planowania ścieżki dla wielu robotów. W pierwszym etapie, każdy robot planuje swoją trasę niezależnie używając algorytmu D∗ . Algorytm D∗ jest dynamiczną wersją algorytmu A∗ wyszukiwania najkrótszej ścieżki w grafie. Tak zaplanowana trasa zostaje następnie rozesłana do pozostałych uczestników ruchu. Z otrzymanych trajektorii, robot konstruuje wielowymiarowy diagram koordynacji zawierający obszary kolizyjne oznaczone jako przeszkody. Dla każdej z trajektorii wyliczany jest koszt. Algorytm D∗ szuka w diagramie koordynacji trajektorii, której koszt jest najmniejszy. Ponieważ obliczenia są rozproszone, wyszukanie może zwracać różne koszty dla tej samej trajektorii. Aby zminimalizować różnice, funkcja wylicza koszt na podstawie priorytetu robota oraz przecięć trajektorii. Koszt jest następnie rozsyłany do pozostałych uczestników ruchu, którzy wybierają ten najmniejszy. Konieczność obliczania i przesyłania informacji pomiędzy uczestnikami ruchu, przy dużej ilości robotów, jest dość złożonym zadaniem, co może doprowadzać do pojawiania się opóźnień w trakcie wyznaczania trajektorii ruchu. W rozwiązaniach rozproszonych, w celu wymiany informacji pomiędzy uczestnikami ruchu, najczęściej konieczne jest zastosowanie protokołu komunikacyjnego. Mając na uwadze osiągnięcie lepszych rezultatów, badacze zaproponowali rozproszone algorytmy bazujące na wymianie komunikatów, które rozwiązują problemy lokalnie i tym samym nie wymagają wyznaczania optymalnego rozwiązania dla wszystkich uczestników. Zaproponowany w [104] algorytm oparty na wymianie komunikatów wprowadza pojęcie sieci koordynacji (ang.coordianated network) stanowiącej zbiór robotów znajdujących się blisko siebie. Podejście to znacząco redukuje ilość komunikatów przesyłanych pomiędzy robotami. Robot komunikuje się wyłącznie z innymi robotami w ramach swojej sieci koordynacji, biorąc pod uwagę tylko dwa najbliższe kroki. W sytuacjach konflik-.

(25) 25. 2. Koordynacja ruchu robotów mobilnych. U2[r]. zas. ięg. kom. uni. kac. ji. towych konieczne jest wzajemne negocjowanie wspólnego rozwiązania. Na rysunku 2.6 zaprezentowano przykładową sieć koordynacji.. At[r]. U1[r]. U2[r]. Rysunek 2.6: Sieć koordynacji zaznaczona szarym kołem [104].. W pracy [7], autorzy zaprezentowali zdecentralizowany algorytm dla wielu pojazdów poruszających się we wspólnej przestrzeni. Każdy robot wyznacza własną trasę przejazdu w taki sposób, aby każdy z robotów posiadał tylko jeden bezkolizyjny plan. W kolejnych etapach, robot generuje drzewo możliwych trajektorii w przestrzeni stanów, które nie kolidują z innymi robotami oraz z przeszkodami w kolejnym kroku. Planista uwzględnia również wszystkie trajektorie, które krzyżują się z nieprzewidzianymi zdarzeniami innych uczestników ruchu. Następnie, robot informuje pozostałych uczestników ruchu o wybranej trasie oraz o swoim priorytecie. Roboty o wyższym priorytecie wysyłają plany do robotów o niższym priorytecie, które następnie muszą dokonać wyborów. Roboty zaczynają się przemieszczać dopiero wtedy, gdy wybiorą plany niekolidujące z robotami o wyższym priorytecie, w innym przypadku czekają. Do wad takiego podejścia możemy zaliczyć zawodność kanału komunikacyjnego. W przypadku utraty komunikacji, pomiędzy uczestnikami ruchu może dochodzić do niepotrzebnych zatrzymań. Zależność od niezawodności kanału komunikacyjnego powoduje generowanie problemów komunikacyjnych. Inne podejście koncentruje się na scenariuszach, w których nie można zapewnić niezawodnej komunikacji wynikającej z ograniczeń sprzętowych.

(26) 2. Koordynacja ruchu robotów mobilnych. 26. lub awarii. Redukcja ilości przesyłanych komunikatów stanowi próbę rozwiązania problemu, lecz cierpi na tym skalowalność całego systemu. Ograniczenie to stwarza dodatkowe wyzwania dla unikania kolizji, ponieważ mobilni agenci będą musieli współpracować, niekoniecznie mając wiedzę o zamiarach innych agentów. Rozwiązanie problemów komunikacyjnych stanowi zbiór metod zakładających brak jawnej komunikacji. Unikanie kolizji, przy braku jawnej komunikacji, można zaklasyfikować do dwóch kategorii: bazujących na reakcjach oraz trajektoriach. Reaktywne metody nie budują modelu środowiska ani nie planują przebiegu trasy prowadzącej do celu. Działanie algorytmów reaktywnych opiera się na wykrywaniu zmian w środowisku, które obsługiwane są przez predefiniowane reakcje [97]. Roboty za pomocą sensorów pobierają informacje o otaczającym je środowisku. Obserwacja środowiska dostarcza informacji o innych uczestnikach znajdujących się w niedalekim sąsiedztwie, co umożliwia przewidywanie ich przyszłych pozycji z pewnym wyprzedzeniem. Metody oparte na reakcji określają jednoetapowe reguły interakcji dla bieżącej konfiguracji geometrycznej uczestników ruchu tak, aby zapewnić bezkolizyjną nawigację. Roboty, podejmując konkretne działanie, bazują wyłącznie na obserwowanym stanie środowiska. W artykule [34], autorzy zaproponowali reaktywną metodę unikania kolizji ze statycznymi i poruszającymi się przeszkodami opartą na dynamicznym oknie (ang. dynamic window). Metoda ta polega na wyszukiwaniu w przestrzeni prędkości poleceń sterujących robotem mobilnym. Poprzez zmianę rozmiarów okna, przeszukiwana przestrzeń możliwych prędkości redukowana jest do tych, które jest w stanie osiągnąć robot. Kolejne nakładane ograniczenia związane są z zapewnieniem bezpiecznego omijania przeszkód. Prędkości, które mogą bezpośrednio zagrażać lub doprowadzać do zderzenia z przeszkodą są odrzucane. Do wyznaczenia wynikowego sterowania brane są pod uwagę jedynie te rezultaty, które umożliwiają bezpieczne zatrzymanie robota oraz jednocześnie spełniają ograniczenia dynamiczne w ustalonym krótkim odstępie czasu. Zaproponowane przez Brooks w [11, 12] podejście behawioralne bardzo często wiązane jest z pojęciem sterowników reaktywnych. Algorytm sterujący został podzielony na kilka niezależnych od siebie reguł (zachowań). Każda z nich realizuje pewien zestaw czynności w oparciu o dostarczane z zewnątrz informacje z sensorów. Wyzwalaczem dla poszczególnych zachowań może być informacja pozyskana ze środowiska lub inne zachowanie, które zaistniało w programie. Stosując takie podejście uzyskujemy dużą elastyczność oraz krótki czas reakcji na zmiany pojawiające się w środowisku. Podejście behawioralne nie nadaje się jednak do rozwiązywania bardziej złożonych problemów [97]. Problem rozwiązywania sytuacji konfliktowych w wąskich przejściach został poru-.

(27) 2. Koordynacja ruchu robotów mobilnych. 27. szony w [102]. Autorzy zaproponowali podejście agresywnej rywalizacji (ang. aggressive competition), które w sposób szybki i jednoznaczny wskazuje zwycięzcę sporu. Gdy roboty wykryją, że nastąpił konflikt przełączają się do trybu walki. Roboty obierają pewien dystans i odsuwają się od siebie. Gdy osiągną założoną pozycję przełączają się w tryb jazdy do przodu próbując „przepędzić” rywala. Robot, któremu uda się jako pierwszemu przejść do trybu ataku – zwycięża, zaś pozostałe zobowiązane są ustąpić pierwszeństwa. Na rysunku 2.7 zaprezentowano kolejne kroki działania algorytmu. Istotny problem stanowi sposób wyboru odległości, na jaką odsuwają się roboty. W pracy przytoczono trzy sposoby nazwane przez autorów funkcjami agresji: • losową, • w oparciu o ustaloną hierarchię, • proporcjonalną do ilości miejsca znajdującego się za robotem.. Rysunek 2.7: Etapy działania algorytmu agresywnej rywalizacji [102].. Zaprezentowane wyniki eksperymentów potwierdziły poprawę efektywności robotów w procesie rozwiązywania sytuacji konfliktowych. Jednak nie zaobserwowano istotnych różnic przy zastosowaniu poszczególnych sposobów wyboru odległości. Brown w [13] uzależnił poziom agresji robotów, w przypadku konfliktu, od ilości pracy włożonej w wykonanie zadania. W zależności od przebytego przez robota dystansu zwiększa się jego szansa na przepędzenie przeciwnika. Roboty zbliżające się do punktu docelowego stają się bardziej uprzywilejowanymi robotami, gdy dochodzi do sytuacji konfliktowych. Efektywność metody zależy w dużym stopniu od kształtu środowiska, w którym znajdują się roboty. Gdy cel grupy robotów znajduje się w ciasnym pomieszczeniu, a w tym samym czasie inna grupa próbuje wyjść, może dojść do sytuacji wypełniania się pomieszczenia robotami, co w konsekwencji spowoduje powstanie zatoru..

(28) 28. 2. Koordynacja ruchu robotów mobilnych. W artykule [111], autorzy wyposażyli roboty w mechanizm wykrywania konfliktów w wąskim przejściu. Poziom agresji robotów zależy od już przebytej drogi wewnątrz wąskiego korytarza. Uprzywilejowanym robotem będzie ten, któremu więcej czasu zajmie wycofywanie do miejsca, w którym będzie możliwe wzajemne bezpieczne wyminięcie się. Na rysunku 2.8 zaprezentowano porównanie dwóch sposobów wyboru funkcji agresji. Metoda z lokalnym wyznaczeniem przebytej drogi sprawdza się znacznie lepiej, ponieważ uwzględnia położenie robotów w obrębie aktualnej przeszkody. Efektywność metody lokalnej sprowadza się do rozwiązania globalnego opartego na odległości od punktu startu robota, gdy rozważa się bardzo długie wąskie przejścia. Do wady metody zaliczyć można fakt, iż w rozwiązywaniu sytuacji konfliktowych biorą udział tylko dwa roboty. Pojawienie się w pobliżu trzeciego robota może znacząco zakłócić prawidłowy przebieg rywalizacji obu robotów. Aby rozwiązać spór pomiędzy robotami obie strony muszą się zatrzymać, co dodatkowo wydłuża czas trwania przejazdu.. B A. A praca lokalna. B praca globalna. praca lokalna. praca globalna. A. B A. B. A. B A. B. koszt. koszt. Rysunek 2.8: Porównanie funkcji agresji opartej na globalnym i lokalnym sposobie pomiaru ilości włożonej pracy [111].. Rozwijając metodę [13] autorzy [112] zaproponowali siatkę interakcji (ang. Interaction Grid (IG)). Zadaniem IG jest przestrzenne modelowanie interakcji w systemach wielorobotowych. Mapa całego środowiska została podzielona na zestaw komórek o jednakowej wielkości. Każda komórka na mapie ma swoje odwzorowanie w siatce interakcji. IG gromadzi wszystkie zdarzenia wykonane przez robota oraz informacje o wykrytych przeszkodach. Oprócz lokalizowania przeszkód, ważną kwestię stanowi wykrywanie obecności innego robota na pożądanej ścieżce. Powstałe w ten sposób mapy wykorzystywane są do modelowania zachowania robota w celu nawigacji oraz unikania zakleszczeń. W celu rozwiązywania konfliktów, na podstawie siatki interakcji generowana jest siatka agresji (ang. Aggression Grid (AG)). Każda z komórek wskazuje poziom agresji robota. Gdy dochodzi do konfrontacji pomiędzy robotami, robot sięga do konkretnej komórki reprezentującej lokalizację robota, w której znajduje się wartość wskaźnika agresji. Zastosowane przez autorów podejście powoduje dyskretyzację całej.

(29) 29. 2. Koordynacja ruchu robotów mobilnych. przestrzeni, w której działają roboty. Przy bardzo dużych mapach wielkość siatek stale się powiększa, co wymusza zwiększanie potrzebnej pamięci, a to wprowadza z kolei zwiększenie narzutu na obliczenia. Autorzy [63], wzorując się na pracy [62] bazującej na probabilistycznej skończonej maszynie stanów, stworzyli algorytmy koordynacji robotów, a następnie połączyli je w jedną metodę. Zaproponowana przez Marcolino Probabilistic Congestion Control (PCC) zakłada, że każdy z robotów wykazuje „samolubne” zachowanie stale podążając w kierunku celu. Aby to osiągnąć, każdy robot używa probabilistycznej maszyny stanu do koordynacji w obrębie wspólnego obszaru docelowego. Na rysunku 2.9 przedstawiono możliwe stany, w jakich może znaleźć się każdy robot wraz z przejściami pomiędzy nimi. Zdefiniowano dwa regiony wokół celu: obszar zagrożenia o dużym promieniu oraz obszar wolny o małym promieniu. Roboty współdzielą obszar zagrożenia, zaś nieliczne z nich wchodzą do regionu wolnego w tym samym czasie. Po wejściu do wolnego obszaru robot zobowiązany jest nawigować prosto do celu, w przeciwnym razie może doprowadzić do zakleszczenia z innymi robotami. Niektóre z robotów postanawiają poczekać w obszarze zagrożenia przed podjęciem próby nawigowania do celu, aby zminimalizować wchodzenie w interakcje z innymi członkami roju. Dlatego właśnie mniejsza liczba robotów jednocześnie stara się osiągnąć cel, co niweluje problem zatoru. Rozwiązanie to nie zapobiega sytuacji, gdy dwa lub więcej robotów zmierzają jednocześnie w tym samym kierunku, lecz redukuje liczbę robotów próbujących w tym samym czasie osiągnąć cel. Usprawnienie to niweluje przeciążenie, ale roboty nadal mają problem z opuszczaniem obszaru docelowego. 1-ρ Oczekujący. Normalny. Niecierpliwy Zablokowany. Rysunek 2.9: Probabilistic Congestion Control (PCC) [63].. W celu wyeliminowania problemu opuszczania obszaru docelowego autorzy zaproponowali podzielenie obszaru docelowego na dwie podprzestrzenie Entrance and Exit.

(30) 2. Koordynacja ruchu robotów mobilnych. 30. Regions. Obszar wejściowy przeznaczony jest dla robotów zmierzających w kierunku celu, zaś obszar wyjściowy dla robotów opuszczających cel. Jeśli robot porusza się w kierunku celu i znajduje się w niewłaściwym obszarze, będzie zobligowany do nawigowania w kierunku obszaru wejściowego. Kierunek ruchu robotów w ramach obszarów odbywa się od obszaru wejściowego do obszaru wyjściowego. Rozwiązaniem problemu zakleszczeń jest uwzględnienie interakcji pomiędzy agentami tak, aby każdy ruch agenta miał wpływ na pozostałych. Zaproponowane przez [59] podejście definiuje podklasę opartą na współpracy. W pierwszej kolejności wskazuje na zamiary innych agentów (na przykład cele), a następnie planuje ścieżkę uwzględniając bieżące czynniki środowiskowe. Metody kooperujące, bazujące na trajektoriach, często uzyskują lepszej jakości ścieżki (na przykład krótszy czas dotarcia do celu dla wszystkich agentów) w porównaniu z metodami opartymi na reakcjach [55]. Planowanie ścieżek jednocześnie dla wszystkich agentów jest kosztowne pod względem obliczeniowym, wymaga współpracy oraz dodatkowych informacji jak na przykład znajomości celu, do którego zmierza inny agent. Ponadto przyjęty model, ze względu na niedokładności pomiaru rzeczywistych trajektorii agentów, niewłaściwie odzwierciedla przewidywania ścieżek na kilka sekund w przyszłość. Algorytmy oparte na trajektoriach muszą również wykonywać się bardzo szybko ze względu na dużą złożoność obliczeniową. W pracy [109], autorzy zaprezentowali rozwiązanie problemu zakleszczenia się grup robotów w wąskich korytarzach lub przejściach. Jako rozwiązanie sytuacji wzajemnego blokowania się zaproponowano zwiększenie poziomu agresji jednego z robotów. Strategia nazwana lokalnym inwestowaniem w zespół (ang. team local investment) polega na wybraniu robota, którego zadaniem jest zepchnięcie grupy robotów jadącej z przeciwka. Implementacja funkcji agresji została zrealizowana w oparciu o wielowarstwową sieć neuronową. Sygnały wejściowe pochodzą ze skanera laserowego dostarczającego informacje o odległości z prawego i lewego obszaru obserwowanego przez robota. Przetworzone informacje pozwalają robotowi określić jaki dystans przemierzył do tej pory w wąskim korytarzu. Na wyjściu sieci otrzymujemy poziom agresji robota. W zależności od bieżącego poziomu, robot przyjmuje jedną ze strategii: ucieczka lub walka. Poziom agresji robota będzie tym większy, im dłuższą trasę przebył w wąskim korytarzu. Autorzy nie biorą pod uwagę liczebności grupy, która próbuje przejść przez wąskie przejście. To wybrany „lider” podejmuje w imieniu całej grupy decyzję o wycofaniu się lub przepychaniu przeciwników bazując jedynie na pokonanym do tej pory dystansie. Reaktywne metody nie są w stanie dobrze przewidywać przyszłych stanów, w których znajdą się agenci, co powoduje czasami oscylacje i nienaturalne zachowania w pewnych sytuacjach. Jednym z pierwszych podejść reaktywnych, gdzie roboty za pomocą sensorów obser-.

(31) 31. 2. Koordynacja ruchu robotów mobilnych. wują swoje wzajemne położenie, prędkość i kierunek zostało zaprezentowane w pracy [33]. Na podstawie obserwacji, roboty dokonują predykcji wzajemnych torów ruchu poprzez sprawdzenie czy istnieje ryzyko kolizji. Metoda nazwana Velocity Obstacles (VO) wykorzystuje zbiór wektorów prędkości, których obranie prowadzi do zderzenia z obserwowaną przeszkodą. W trakcie obliczeń ze zbioru nazwanego stożkiem kolizji (ang. collision cone) wybierany jest wektor, który nie należy do stożka kolizji (rysunek: 2.10).. λA B. Bˆ λr. VB. λ CCA ,B f -VB VA ,B. VA. ˆ A Rysunek 2.10: Ilustracja obliczeń wykonywanych przez algorytm Velocity Obstacles [33]. ˆ położenie Punkt Aˆ reprezentuje położenie robota dokonującego obliczeń, a okrąg o środku B i rozmiar przeszkody. Półproste λr i λf mające początek w punkcie Aˆ oraz będące styczne do ˆ ograniczają stożek kolizji CCA,B . Wektory VA i VB symbolizują prędkość robota okręgu B i przeszkody. Ich różnica, VA,B , wykorzystywana jest w dalszych transformacjach.. Udoskonalenie metody Velocity Obstacles (VO) stanowi zaprezentowana w artykule [100] metoda Reciprocal Velocity Obstacles (RVO). W rozważanym przez autorów scenariuszu wszystkie obiekty poruszają się wykorzystując algorytm Velocity Obstacles (VO). Rozwiązanie zakłada, że każdy z uczestników ruchu będzie starał się uniknąć kolizji, co umożliwi reagowanie w mniej gwałtowny sposób. Zaproponowana optymalizacja wygładziła ścieżkę, po której poruszają się roboty, co przekłada się na zmniejszenie czasu przejazdu (rysunek 2.11). Na rysunkach: 2.12 oraz 2.13 przedstawiono geometryczną reprezentację dla VO oraz RVO agenta B w stosunku do agenta A. Metoda nie radzi sobie w sytuacjach dużego zagęszczenia robotów na pewnym obszarze na przykład w przypadku przechodzenia przez drzwi lub w wąskich korytarzach. Takie sytuacje wymagają zastosowania innych metod, które wymuszą ustąpienie pierwszeństwa jednemu z uczestników ruchu. W [99] wiele robotów mobilnych musi uniknąć kolizji ze sobą poruszając się we wspólnym obszarze roboczym. Każdy z robotów działa całkowicie niezależnie i nie.

(32) 32. 2. Koordynacja ruchu robotów mobilnych. Rysunek 2.11: Rysunek po lewej przedstawia ślad ruchu obiektów wykonujących algorytm Velocity Obstacles (VO) [33], a rysunek po prawej modyfikację Reciprocal Velocity Obstacles (RVO) [100]. B⊕ -A. VOAB(V B). B pB. VB (-VB). VA -VB. A pA. VA (VB). Rysunek 2.12: Geometryczna reprezentacja Velocity Obstacles przez agenta B w stosunku do agenta A. [100]. komunikuje się z innymi robotami. Każdy robot obserwuje prędkości innych robotów w celu uniknięcia kolizji, wybierając własną prędkość z przestrzeni dozwolonych prędkości, które nie powodują konfliktu z innymi robotami. Następnie, robot dobiera optymalną prędkość z przecięcia wszystkich dozwolonych pół-płaszczyzn, które wyznacza się wykorzystując metody optymalizacji liniowej (linear programming). Przy gęsto rozmieszczonych robotach, optymalizacja liniowa może nie dać wyników. W takim przypadku wybieramy najbezpieczniejszą prędkość wyznaczoną przy użyciu trójwymiarowej optymalizacji liniowej. Zestaw reguł zaburzający symetrię pomiędzy robotami rywalizującymi o przestrzeń został zaprezentowany w algorytmie nazwanym Biased Reciprocal Velocity Obstacles (BRVO) [77]. Oparta na modyfikacji priorytetów metoda umożliwiać miała rozłado-.

(33) 33. 2. Koordynacja ruchu robotów mobilnych. RVOBA(V B,VA) (-VA). B (VA’). VA’ VA. A VB. Rysunek 2.13: Geometryczna reprezentacja Reciprocal Velocity Obstacles agenta B w stosunku do agenta A. [100]. wanie zatorów, które powstają podczas procesu ładowania baterii robotów. Algorytm ułatwia opuszczenie strefy robotom, które zakończyły cykl ładowania robiąc miejsce nowo nadjeżdżającym. W środowiskach, w których występują wąskie przejścia trudno opierać się wyłącznie na sztywno zdefiniowanym zestawie reguł. Często o wyborze, który robot powinien ustąpić pierwszeństwa, może decydować ważność zadania jakie wykonywał on wcześniej. W pracach [35, 28, 38], autorzy skupiają się na temacie związanym z nieuniknionymi stanami kolizji (inevitable collision states). W celu uniknięcia kolizji, zaproponowano wprowadzenie przyśpieszenia w przypadku, gdy przy aktualnej prędkości nie można wykonać żadnego innego manewru. Nie oznacza to jednak, że zmiana prędkości gwarantuje brak stanu kolizyjnego, ponieważ może to być bezpieczny manewr ucieczki w odniesieniu do jednej przeszkody, zaś w odniesieniu do drugiej może stanowić kurs kolizyjny. Koncepcja podejścia do unikania kolizji dla robotów, która uwzględnia ograniczenia przyśpieszania została przedstawiona w [101]. Autorzy w swoich rozważaniach przedstawiają problematykę przemieszczania się robotów wśród poruszających się przeszkód [72] oraz unikania kolizji z innymi robotami podczas nawigowania we wspólnym obszarze. Inspirację stanowiła koncepcja Velocity Obstacles [33], którą rozszerzyli o przyśpieszanie. Metoda Acceleration Velocity Obstacle (AVO) umożliwia robotom unikanie kolizji z poruszającymi się przeszkodami uwzględniając ograniczenia związane z przyśpieszeniem. AVO charakteryzuje nowy zestaw prędkości robota tak, aby mógł on bezpiecznie dążyć do celu wykorzystując proporcjonalną kontrolę przyśpieszenia. Metoda umożliwia robotowi przyśpieszenie w kierunku nowej prędkości przy użyciu sterowania proporcjonalnego tzn. przyśpieszenie jest stale proporcjonalne do różnicy pomiędzy nową.

(34) 2. Koordynacja ruchu robotów mobilnych. 34. prędkością, a aktualną prędkością. Jeśli trajektoria robota w dowolnym momencie koliduje, wówczas nowa prędkość jest uważana za zabronioną. Wybieranie nowej prędkości spoza zabronionego zakresu gwarantuje bezkolizyjny ruch, który jest zgodny z ograniczeniami przyśpieszenia robota. Ponieważ krok czasowy może być dowolnie mały, dostępny jest tylko mały zestaw dozwolonych prędkości. Rozszerzenie tej koncepcji o wzajemne unikanie kolizji wielu robotów, daje każdemu robotowi połowę odpowiedzialności w sytuacji kolizji par. Każdy robot samodzielnie i niezależnie wyznacza swoje kolejne kroki, nie koordynując ich z innymi uczestnikami ruchu, co znacząco redukuje problem. Podejście można stosować nie tylko do robotów holonomicznych, lecz również do nie-holonomicznych z ograniczeniami kinematycznymi takimi jak samochody, samoloty oraz pojazdy z napędem różnicowym. Przykładowa konfiguracja robotów uwzględniająca ograniczenia przyśpieszenia została przedstawiona na rysunku 2.14.. Rysunek 2.14: Wizualizacja przedstawiająca dwa roboty unikające kolizji, uwzględniające wzajemne przyśpieszenie, zamieniające się swoimi pozycjami [101].. Liczne prace nad zarządzaniem i koordynacją ruchu robotów mobilnych cieszą się ogromną popularnością w kręgu badaczy. Wynikiem ich starań jest udoskonalanie istniejących koncepcji oraz powstawanie nowych rozwiązań. W licznych publikacjach odnaleźć możemy próby rozwiązania problemu koordynacji ruchu robotów mobilnych. Wydawać by się mogło, iż problemy koordynacyjne zostały dobrze zdefiniowane oraz rozwiązane. Prezentowane podejścia rozwiązują co prawda problem, dla którego zostały stworzone, ale wiąże się to z licznymi ograniczeniami. Skłania to do dalszego udoskonalania już istniejących rozwiązań oraz poszukiwania nowych koncepcji. Pomimo licznych badań nad problematyką koordynacji robotów mobilnych, nie udało się znaleźć prac, które w pełni rozwiązywałyby problemy autonomicznego wyznaczenia bezkolizyjnej trajektorii ruchu robotów mobilnych. W niniejszym przeglądzie przedstawiono wyselekcjonowane metody koordynacji ruchu. Wybrano te, które są najbardziej zbliżone do zaprojektowanego i stworzonego algorytmu koordynacji ruchu robotów mobilnych bazującego na modelu przemieszczających się osób..

(35) Rozdział 3 Model problemu i teza pracy 3.1. Wprowadzenie. Koordynując autonomiczną grupę robotów mobilnych należy rozważyć problem wykonywania powierzonych im zadań definiowany następującymi warunkami i założeniami: • istnieje robot mobilny, • istnieje dwuwymiarowe środowisko, • środowisko jest znane przez robota (reprezentowane w postaci mapy), • w środowisku może występować jeden lub wiele robotów, • w środowisku mogą występować przeszkody statyczne (np. ściany) oraz dynamiczne (np. roboty), • robot ma możliwość pobierania stanu środowiska za pomocą wirtualnego sensora, • robot może pobierać za pomocą wirtualnego sensora informacje o swojej aktualnej pozycji i orientacji reprezentowanej przez trójkę liczb (x, y, α) zorientowaną względem punktu odniesienia stanowiącego początek mapy (0, 0), • robot może pobierać za pomocą wirtualnego sensora informacje o pozycji i orientacji (x, y, α) innych robotów w zasięgu Dmax stanowiącym promień od jego bieżącej pozycji (x, y), • robot ma możliwość poruszania się w obrębie środowiska w sposób holonomiczny lub nie-holonomiczny,.

(36) 3. Model problemu i teza pracy. 36. • gęstość robotów znajdujących się w środowisku musi umożliwiać wykonanie ruchu każdemu robotowi z osobna, • robot może zmieniać aktualny stan środowiska przemieszczając się, • liczba robotów w środowisku może być zmienna, możliwe jest dynamiczne dodawanie oraz usuwanie robotów, • każdy z robotów posługując się mapą i w oparciu o informacje dostarczane przez sensor (pozycja i orientacja) jest wstanie wyznaczyć lokalizacje: swoją jak i innych uczestników ruchu, • zadanie robota polega na przejechaniu od lokalizacji startowej (reprezentowanej przez bieżącą lokalizację robota) do lokalizacji docelowej, • robot w trakcie przejazdu nie może zderzać się z przeszkodami statycznymi oraz dynamicznymi, • robot podczas nawigowania do celu musi unikać zderzenia się z innymi robotami, • roboty nie widzą siebie przez ściany, • roboty czasowo wchodzą i wychodzą z zasięgu Dmax postrzegania innych robotów, • dla każdego z robotów został określony jego cel (do którego stara się podążać), • brak jawnej komunikacji pomiędzy robotami – roboty nie wymieniają żadnych informacji pomiędzy sobą. W bardzo zbliżony sposób autorzy w [85] przedstawili warunki i cele podczas koordynacji robotów mobilnych metodą Hybrid Reciprocal Velocity Obstacles (HRVO). W tworzonym rozwiązaniu przyjęto uproszczenie, iż identyfikacja oraz lokalizacja każdego robota jest znana i dostarczana z zewnątrz – co nie zmniejsza znacząco ogólności tworzonego rozwiązania. Zastosowanie jednej z dostępnych metod lokalizacji robotów mobilnych jednoznacznie identyfikuje każdego z robotów, wyznaczając jego pozycję na mapie. W dalszej części pracy system lokalizacji robotów nie jest szczegółowo rozważany. Zadanie (problem), które ma rozwiązać robot polega na przemieszczeniu się pomiędzy dwiema lokalizacjami (od punktu startu do punktu docelowego). Aby prawidłowo rozwiązać postawione zadanie, algorytm musi uwzględnić pojawiające się przeszkody dynamiczne jak i statyczne znajdujące się na trasie przejazdu robota. Na wejściu każdy z robotów otrzymuje pewien zestaw danych, między innymi: identyfikator, pozycja oraz.

(37) 3. Model problemu i teza pracy. 37. orientacja każdego z uczestników ruchu. Informacje o położeniu stanowią zewnętrzny stan środowiska i są pobierane za pomocą sensora. Każdemu z robotów przypisano unikalny identyfikator jednoznacznie go określający. Robot za pomocą wirtualnego sensora otrzymuje lokalizację zarówno swoją, jak i innych robotów (x, y, α). W oparciu o taki zestaw danych wejściowych algorytm koordynacji wyznacza trajektorię ruchu robota. Cykl działania każdego robota jest niezależny od innych robotów i składa się z następujących etapów (kroków): • pobieranie stanu środowiska, • wyznaczenie trajektorii przy pomocy jednego z algorytmów koordynacji, • przemieszczenie się robota. Roboty samodzielnie wykonują cyklicznie wszystkie etapy pobierania stanu środowiska oraz wpływania na niego z pewnym krokiem czasowym ∆t. Procedura jest powtarzana od pozycji bieżącej, w której aktualnie znajduje się robot aż do pozycji docelowej. Pierwszy etap stanowi pobieranie stanu środowiska: identyfikatory oraz pozycje wraz z orientacją wszystkich uczestników ruchu. Z tak otrzymanego zbioru metadanych, robot wybiera tych uczestników, których odległość od niego zawiera się w zasięgu jego postrzegania (Dmax ). W kolejnym kroku robot wyznacza trajektorię ruchu robotów przy pomocy jednego z algorytmów koordynacji modelowanego jednym z zachowań: • zjawiskiem respektu, • zasadą priorytetyzowania wychodzących, • zasadą prawej dłoni. Po wyznaczeniu trajektorii ruchu, robot stara się nią podążać. Cykl powtarza się do momentu, gdy robot nie wykona powierzonego zadania (np. dotarcie do punktu docelowego). W trakcie przemieszczania się roboty nie komunikują się wzajemnie ze sobą. Roboty wykorzystują zaobserwowane informacje w sposób całkowicie niezależny od siebie..

Cytaty

Powiązane dokumenty

Uczestnicy przedsięwzięcia – dzieci, młodzież i ich ro- dzice i opiekunowie – będą mogli wziąć udział w krót- kich wykładach, warsztatach praktycznych, zajęciach

Ufam, że wyniki naszych badań choć w niewielkim stopniu przyczynią się do poznania wspaniałego daru języka, który dany jest człowiekowi i wspólnocie dla realizacji

Dysfunctions of the mitochondrial proteins lead to the mitochondrial diseases, which can be caused by muta- tions in mtDNA as well as in the nuclear genes.. Clinical features of

Obawy przed marginalizacją języka, jak i próby wyjaśniania, że będzie on jednym z języków urzędowych w Unii, to najczęściej pojawiające się tematy, które można odnaleźć

Only those countries whose average were significantly lower than the OECD average (Kazakhstan, Turkey, Qatar and the United Arab Emir- ates) showed a higher rate of change then

The aim of this research was to examine how critical thinking at junior high school level can be developed using the Internet as a source of information.. A group of second

Zgodnie z nimi Sarmata to ‘polski szlachcic wywodzący swe pochodzenie od starożytnych plemion, przy- wiązany do dawnych obyczajów’ [WSJP: 741], także ‘Polak starej

Developing the connection between mathematics and ecology becomes possible with the help of mathematical models that are used to solve biological problems. Showing examples