FAKULTA ELEKTROTECHNICKÁ DIPLOMOVÁ PRÁCE. Tomáš Pytlíček. Strategie multi-robotického průzkumu neznámého prostředí

Podobné dokumenty
WP6 - Komponenty robotického systému interakce člověk-stroj

Multirobotická kooperativní inspekce

SLAM. Simultaneous localization and mapping. Ing. Aleš Jelínek 2015

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Úvod do mobilní robotiky AIL028

Studie webů automobilek

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Algoritmizace prostorových úloh

Úvod do mobilní robotiky AIL028

SENZORY PRO ROBOTIKU

Úloha - rozpoznávání číslic

Algoritmizace prostorových úloh

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Základy umělé inteligence

Dijkstrův algoritmus

11. Tabu prohledávání

jednoduchá heuristika asymetrické okolí stavový prostor, kde nelze zabloudit připustit zhoršují cí tahy Pokročilé heuristiky

Rozvoj tepla v betonových konstrukcích

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Prohledávání do šířky = algoritmus vlny

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Emergence chování robotických agentů: neuroevoluce

GIS Geografické informační systémy

Moderní systémy pro získávání znalostí z informací a dat

SEBELOKALIZACE MOBILNÍCH ROBOTŮ. Tomáš Jílek

Úvod do mobilní robotiky NAIL028

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Plánování pohybu mobilního robotu a skupiny mobilních robotů

NÁSTROJE A TECHNIKY PROJEKTOVÉHO MANAGEMENTU. Projektová dekompozice

VK CZ.1.07/2.2.00/

Pokročilé operace s obrazem

U Úvod do modelování a simulace systémů

S T R A T E G I C K Ý M A N A G E M E N T

Cíle lokalizace. Zjištění: 1. polohy a postavení robota (robot pose) 2. vzhledem k mapě 3. v daném prostředí

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Ctislav Fiala: Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb

UITS / ISY. Ústav inteligentních systémů Fakulta informačních technologií VUT v Brně. ISY: Výzkumná skupina inteligentních systémů 1 / 14

Algoritmy pro shlukování prostorových dat

Buněčné automaty a mřížkové buněčné automaty pro plyny. Larysa Ocheretna

VYUŽITÍ SNÍMACÍCH SYSTÉMU V PRŮMYSLOVÉ AUTOMATIZACI SVOČ FST 2019

Grafové algoritmy. Programovací techniky

Numerické metody a programování. Lekce 8

GIS Geografické informační systémy

P R O J E K T O V É Ř Í Z E N Í A M A R K E T I N G 1. Akad. rok 2015/2016, LS Projektové řízení a marketing - VŽ 1

Základní postupy a zásady při plnění smlouvy s ohledem na 3E při zadávání veřejných zakázek

Úvod do mobilní robotiky NAIL028

Evoluční výpočetní techniky (EVT)

Usuzování za neurčitosti

Efektivní hledání nejkratších cest v sítích hromadné přepravy osob

Algoritmus pro hledání nejkratší cesty orientovaným grafem

5 Orientované grafy, Toky v sítích

NÁSTROJE A TECHNIKY PROJEKTOVÉHO MANAGEMENTU

Management projektu III. Fakulta sportovních studií přednáška do předmětu Projektový management ve sportu

Lokalizační systém pro roje mobilních robotů

Architektura počítačů

Datové struktury 2: Rozptylovací tabulky

Téma 8: Optimalizační techniky v metodě POPV

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

Metody síťové analýzy

Centrum pro rozvoj dopravních systémů

Sítě SFN Systém pro analýzu a vizualizaci pokrytí a rušení vysílacích sítí

1. DEFINICE KRITÉRIÍ PRO SROVNÁNÍ HODNOCENÝCH TRAS ROZVOJ ÚZEMÍ VLIV NA ŽIVOTNÍ PROSTŘEDÍ EKONOMICKÁ NÁROČNOST

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

Jana Dannhoferová Ústav informatiky, PEF MZLU

Grafové algoritmy. Programovací techniky

Vícerozměrné statistické metody

OPTIMALIZACE. (přehled metod)

Základní rozdělení aplikací

Úvod do mobilní robotiky AIL028

Simulace pohybu chodců pomocí celulárních modelů

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Časová a prostorová složitost algoritmů

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Generování sítě konečných prvků

Automatické rozpoznávání dopravních značek

CA Business Service Insight

Ing. Jiří Fejfar, Ph.D. Geo-informační systémy

Úvod do mobilní robotiky AIL028

Určeno studentům středního vzdělávání s maturitní zkouškou, předmět Marketing a management, okruh Plánování

Vypracovat přehled paralelních kinematických struktur. Vytvořit model a provést analýzu zvolené PKS

Seminář z umělé inteligence. Otakar Trunda

Neinformované metody prohledávání stavového prostoru. Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague

Složitost Filip Hlásek

Metodická pomůcka pro specifikaci dočasných opatření. doc. Ing. Pavel Šenovský, Ph.D. Ing. Pavlína Ježková

EXTRAKT z české technické normy

Stanovení nejistot při výpočtu kontaminace zasaženého území

Václav Jirchář, ZTGB

9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.

Algoritmizace. 1. Úvod. Algoritmus

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Analytické metody v motorsportu

VE 2D A 3D. Radek Výrut. Abstrakt Tento článek obsahuje postupy pro výpočet Minkowského sumy dvou množin v rovině a pro výpočet Minkowského sumy

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ

PROGRAMOVÁNÍ ROBOTŮ LEGO MINDSTORM S VYUŽITÍM MATLABU

INTELIGENTNÍ SYSTÉM ŘÍZENÍ DOPRAVY V MĚSTSKÉ OBLASTI

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ DIPLOMOVÁ PRÁCE Tomáš Pytlíček Strategie multi-robotického průzkumu neznámého prostředí Katedra kybernetiky Vedoucí diplomové práce: Ing. Jan Faigl, Ph.D. Praha, 2012

Abstrakt Tato práce se zabývá přístupy řešení problému autonomního průzkumu neznámého prostředí skupinou mobilních robotů. Hlavním cílem je porovnat vybrané metody průzkumu především z hlediska času průzkumu. V úloze multi-robotického průzkumu je hlavním řešeným problémem nalezení vhodného rozdělení cílů mezi jednotlivé roboty tak, aby bylo co nejefektivněji využito počtu robotů. Pro porovnání byly vybrány tři metody vycházející z tzv. frontier-based přístupu, který definuje potencionální cílová místa k navštívění. První metoda je hladová, ve které je každému robotu přiřazen nejbližší cíl. Druhá metoda je založena na řešení problému přiřazení n cílů mezi r robotů mad arským algoritmem. Ve třetí metodě je problém přiřazení řešen jako úloha více obchodních cestujících, ve které je uvažováno přiřazení cílů z dlouhodobějšího horizontu plánování. Porovnání metod je založeno na vyhodnocení řady testů multi-robotického průzkumu pro různá prostředí a nastavení metod. Mimoto je vyvinutý rámec pro multi-robotický průzkum experimentálně ověřen v reálném prostředí se dvěma roboty. Abstract This thesis discusses various approaches of autonomous exploration of unknown environment using a team of mobile robots. The main objective is to compare selected methods regarding the time needed to explore the whole environment. The main problem of the multi-robot exploration is to find assignment of goals to the robots. Three methods based on frontier based approach are selected for the comparison of various strategies how to distribute goals to the robots. The first method is greedy, i.e., each robot explores its nearest goal. The second method is based on the assignment problem of n tasks to r robots using the Hungarian algorithm. The third method solves the assignment problem as a solution of the multiple traveling salesman problem, which aims to consider distribution of goals regarding a longer planning horizon. The methods have been evaluated in thousands of tests for various environments and parameters settings. Besides, the developed multi-robot exploration framework has experimentally verified using two real robots.

Velice děkuji vedoucímu mé práce Ing. Janu Faiglovi, Ph.D. za jeho ochotu a množství času, které mi věnoval při konzultacích a kontrolách práce. Dále bych chtěl poděkovat své rodině a přátelům za poskytovanou podporu.

Obsah 1 Problémy robotického průzkumu 3 1.1 Senzory........................................ 3 1.2 Modely prostředí.................................. 4 1.3 Lokalizace...................................... 5 1.4 Navigace....................................... 5 2 Robotický průzkum 8 2.1 Přístupy robotického průzkumu......................... 8 2.2 Frontier-Based přístup............................... 11 2.3 Základní metoda robotického průzkumu.................... 12 2.4 Užitečností metody robotického průzkumu................... 12 2.5 Řešení robotického průzkumu jako problém obchodního cestujícího..... 13 3 Multi-robotický průzkum 15 3.1 Přidělování cílů v multi-robotickém průzkumu................. 16 3.2 Aukční metody................................... 17 3.3 Metody založené na rozdělení prostředí..................... 18 3.4 Využití mad arského algoritmu.......................... 20 3.5 Využití genetických algoritmů........................... 20 3.6 Využití formulace problému více obchodních cestujících........... 21 3.6.1 Problém více obchodních cestujících................... 21 3.6.2 Řešení úlohy MTSP v multi-robotickém průzkumu.......... 22 4 Porovnání strategií multi-robotického průzkumu 26 4.1 Uvažované parametry průzkumné mise..................... 27 4.2 Poznámky k implementaci............................. 28 4.3 Výsledky porovnání nastavení a metod strategií průzkumu.......... 30 4.3.1 Testované scénáře robotických misí................... 30 4.3.2 Testy chování jednotlivých testovaných metod............. 31 4.3.3 Porovnání strategií průzkumu...................... 32 4.4 Reálný experiment................................. 36 i

5 Závěr 38 A Výsledky testů 40 A.1 Časy průzkumu................................... 40 A.1.1 Prostředí autolab.............................. 40 A.1.2 Prostředí jh................................. 42 A.1.3 Prostředí hospital.............................. 44 A.2 Vliv uvažování neznámého prostoru jako volného nebo obsazeného.... 46 A.3 Vliv počtu robotů na čas průzkumu....................... 47 B Obsah CD 48 ii

Seznam obrázků 2.1 Příklad předem zadané trajektorie.......................... 9 2.2 Mřížka s vyznačením frontieru........................... 11 2.3 Porovnání výběru nejbližšího cíle a plánování přes více cílů.......... 12 2.4 Ukázka prostředí s chodbou............................ 13 3.1 Příklad výběru cílů při multi-robotickém průzkumu.............. 17 3.2 Ukázka mapy prostředí s vytvořenými Voroného diagramy.......... 19 3.3 Geometrická interpretace SOM pro TSP...................... 23 3.4 Příklad grafu vytvořeného pro SOM metodu řešení MTSP........... 25 4.1 Vliv velikosti frontieru................................ 28 4.2 Plánování průjezdu přes neznámý prostor.................... 29 4.3 Testovací prostředí pro průzkumné mise..................... 31 4.4 Robot bez přiřazeného cíle............................. 32 4.5 Průměrné časy průzkumu: prostředí autolab, výchozí pozice P 1....... 33 4.6 Průměrné časy průzkumu: prostředí autolab, výchozí pozice P 2....... 34 4.7 Průměrné časy průzkumu: prostředí jh, počet robotů R = 3........... 34 4.8 Průměrné časy průzkumu: prostředí jh, počet robotů R = 6........... 35 4.9 Průměrné časy průzkumu: prostředí hospital, počet robotů R = 5....... 35 4.10 Průměrné časy průzkumu: prostředí hospital, počet robotů R = 6....... 36 4.11 Roboty S1R v úloze autonomního multi-robotického průzkumu........ 37 4.12 Ukázka modelu prostředí generovaného během reálného průzkumu..... 37 iii

Seznam tabulek A.1 Časy průzkumu prostředí autolab, hladová metoda.............. 40 A.2 Časy průzkumu prostředí autolab, metoda s mad arským algoritmem... 41 A.3 Časy průzkumu prostředí autolab, metoda MTSP............... 41 A.4 Časy průzkumu prostředí jh, hladová metoda................. 42 A.5 Časy průzkumu prostředí jh, metoda s mad arským algoritmem....... 43 A.6 Časy průzkumu prostředí jh, metoda MTSP................... 43 A.7 Časy průzkumu prostředí hospital, hladová metoda.............. 44 A.8 Časy průzkumu prostředí hospital, metoda s mad arským algoritmem... 45 A.9 Časy průzkumu prostředí hospital, metoda MTSP............... 45 A.10 Čas průzkumu při uvažování neznámého prostoru jako volného nebo obsazeného....................................... 46 A.11 Čas průzkumu pro rozdílné počty robotů; G - hladová metoda, H - metoda s mad arským algoritmem, M - metoda MTSP.................. 47 B.1 Adresářová struktura na CD............................ 48 iv

Úvod Mobilní robotika je v současné době stále se rozvíjejícím technickým oborem, ve kterém se využívají znalosti z mnoha jiných technických oborů, jako je měření a zpracování senzorických dat, teorie systémů a řízení, umělá inteligence, elektronika nebo počítačová grafika. Uplatňují se zde však i obory netechnické, jako je například biologie. V té lze hledat inspiraci nejen pro tvorbu nových konstrukcí robotů, ale také postupů. Biologicky inspirovaných robotů a principů řešení úloh již existuje značné množství. Vznikají konstrukce robotů napodobující rozličné živočichy, kteří se pohybují po dvou, čtyř či šesti nohou, roboty skákající, plovoucí a mnoho dalších konstrukcí. Mezi postupy pak patří například genetické algoritmy nebo algoritmy mravenčích kolonií. S mobilními roboty se lze setkat v oblastech, která jsou svým charakterem pro člověka nehostinná nebo nebezpečná, například při průzkumu vesmíru či vojenství - bezpilotní letadla. V posledních letech se mobilní roboty začínají také stávat součástí běžného života, například v podobě robotických vysavačů. První mobilní roboty však byly spíše experimentální, které měly jen velmi omezené možnosti a byly bud předprogramované nebo spíše (a to častěji) tele-operované, tj. neměly žádnou míru autonomie a byly řízeny na dálku člověkem - operátorem. Tele-operovaný robot explicitně nevyužívá znalosti o prostředí, ve kterém se pohybuje. Řízení je tak výlučně na operátorovi, který na základě těchto znalostí rozhoduje o dalším postupu mise. S rozvojem výpočetní techniky se zlepšují schopnosti mobilních robotů, které tak mohou zpracovat senzorická data o prostředí a na jejich základě se samočinně rozhodovat a tím zvýšit svou autonomii. Tele-operované roboty mají sice stále své uplatnění i v současnosti, například již zmíněná bezpilotní letadla, avšak zajímavější aplikace mobilní robotiky se týkají především zcela autonomních a inteligentních robotů. Z hlediska řízení mobilního robotu lze v triviálních úlohách využít takzvaných reaktivních algoritmů. Robot řízený reaktivním algoritmem se rozhoduje pouze na základě aktuálních vjemů a podobně jako robot tele-operovaný, nevyužívá explicitně budované znalosti o pracovním prostředí. Má-li robot v daném prostředí vykonávat složitější činnost, nemusí reaktivní algoritmus postačovat, nebot například v případě opakované činnosti mohou být sledována další kritéria činnosti robotu jako je například efektivita a výkonnost. V takovém případě je vhodné, aby robot vyžíval znalosti o prostředí, ve kterém se pohybuje, a přizpůsoboval svou činnosti aktuální situaci s ohledem na zvolené optimalizační kritérium. Základní znalosti o prostředí, které umožňují mobilnímu robotu se v prostředí efektivně pohybovat, mohou být reprezentovány modelem prostředí, typicky ve formě nějaké mapy. Jsou-li k dispozici mapy prostředí (např. plány budov), lze model vytvořit přímo z těchto plánů, což může být snadné například v případě existujících elektronických nákresů budov. V případech, kdy nejsou podklady k dispozici, nebo jim nelze důvěřovat, je možné model prostředí vytvořit takzvaným robotickým průzkumem. Robotický průzkum proto 1

představuje jednou z důležitých úloh mobilní robotiky, nebot jeho hlavním cílem je autonomní získání znalostí o prostředí a tvorba modelu prostředí. Význam autonomního robotického průzkumu spočívá především v aplikačním nasazení v prostředích, která jsou člověku nebezpečná či nedostupná. Postupem času bylo představeno mnoho různých metod, které problém průzkumu řeší. Tyto metody se v mnohém liší. Na druhou stranu lze v celé řadě metod nalézt společné vlastnosti. Jednou z důležitých vlastností všech metod je, zda-li k průzkumu využívají jeden či více robotů. V případě více robotů se jedná o tzv. úlohu multi-robotického průzkumu. Přirozenou motivací této úlohy je předpokládané zrychlení průzkumu a robustnosti s ohledem na případné poruchy jednotlivých robotů zapojených v průzkumné misi. Tato práce je zaměřena na studium strategií řešení úlohy autonomního multi-robotického průzkumu prostředí, zejména s ohledem na efektivitu průzkumu, tj. čas potřebný k vytvoření modelu prostředí autonomním pohybem skupiny robotů v neznámém prostředí. Nedílnou součástí řešení úlohy autonomního průzkumu je též úloha autonomní navigace mobilního robotu, která zahrnuje řadu dílčích problémů. Tyto problémy jsou společné pro mnoho aplikací mobilních robotů a lze je tak označit za klíčové. Tato práce je členěna následovně. Přehledu souvisejících problémů autonomní navigace v kontextu robotického průzkumu je věnována následující kapitola, která stručně shrnuje elementární přístupy řešení těchto dílčích problémů. V kapitole 2 jsou podrobněji popsány obecné techniky robotického průzkumu prostředí, především pro průzkum jedním robotem. Většina uvedených technik tvoří základ pro přístupy řešení úlohy multirobotického průzkumu, které jsou rozšířením základních technik. Problémy související s rozšířením pro multi-robotický průzkum a vybrané metody multi-robotického průzkumu jsou popsány v kapitole 3. V kapitole 4 jsou pak popsány implementace vybraných metod, které byly použity k ověření vlastností zkoumaných strategií, a dosažené výsledky získané v prostředí Player/Stage [?]. Závěrečné zhodnocení a možnosti dalšího zaměření výzkumu jsou diskutovány v kapitole 5. 2

Kapitola 1 Problémy robotického průzkumu V podstatě v každé úloze mobilní robotiky je nutné řešit základní úlohu navigace mobilního robotu, která v sobě zahrnuje řadu dílčích pod-problémů, které přímo nesouvisí s řešení úlohy efektivního robotického průzkum, tj. rozhodování do které části dosud neprozkoumané oblasti se má robot vydat. I přesto však nelze pro úspěšné řešení úlohy průzkumu tyto podproblémy opomíjet, nebot zanedbání řešení těchto dílčích problémů může zcela znehodnotit výsledky hlavní úlohy. Základní problémy související s úlohou navigace lze rozdělit na problémy související s konstrukcí robotu (tj. jeho kinematické a dynamické vlastnosti) a na úlohy vztahující se k s vlastnímu rozhodování, řízení a zpracování senzorických data, tj. problémy spíše algoritmické. S ohledem na řešení nějaké konkrétní úlohy robotického průzkumu souvisí s konstrukcí robotu také jeho tvar, způsob řízení, požadavky na rychlost a výkon, výdrž baterie, a také prostředí, kde se robot bude pohybovat a musí být před ním chráněn apod. Dle pracovního prostředí lze roboty dělit na pozemní, vzdušné a podvodní. Každou takovou skupinu lze pak dále dělit dle konstrukce, přičemž pro každou konstrukci platí určitá omezení pohybu vyplývající z kinematiky robotu. Tato omezení se zahrnují do takzvaného konfiguračního prostoru C, který představuje přípustné konfigurace (stavy) robotu [?]. Konfigurační prostor představuje abstrakci kinematických vlastností robotu a využívá se pro řešení algoritmických problémů, zejména pro plánování pohybu, přičemž dimenze C je dána počtem stupňů volnosti robotu. Dále lze do konstrukčních problémů zařadit také požadavky na senzorické vybavení robotu a s tím související modely senzorů a jejich omezení. Algoritmické problémy souvisí s inteligencí robotu a mírou jeho autonomie. Mezi nejvýznamnější z nich patří úloha lokalizace, plánování cesty nebo pohybu a také práce s vlastním modelem prostředí, která souvisí se způsobem reprezentace prostředí. V následujících oddílech jsou stručně diskutovány dílčí pod-problémy a přístupy jejich řešení související s robotickým průzkumem. Jsou zde taktéž uvedeny konkrétní přístupy řešení dílčích úloh využité v této práci, jejichž shrnutí je uvedeno v závěru této kapitoly. Oddíl 1.4 je věnován vlastní problematice navigace robotu. 1.1 Senzory Senzory poskytují robotu informace o okolním pracovním prostředí a zpracování senzorických dat patří mezi základní problémy robotiky. Pro tvorbu modelu prostředí (mapy) 3

KAPITOLA 1. PROBLÉMY ROBOTICKÉHO PRŮZKUMU se využívají především dálkoměrné senzory (laser, sonar) nebo kamera. Lze využít i kombinaci těchto senzorů a data z nich slučovat metodami senzorické fúze. Problém zpracování a interpretace senzorických dat je těžký především z důvodu nepřesnosti dat poskytovaných reálnými senzory. Mezi chyby může patřit například šum, nesprávné odrazy u dálkoměrných senzorů, nevhodné světelné podmínky pro kameru atd. Dalším problémem, který se může vyskytovat v multi-robotických aplikacích, je použití stejných senzorů, u kterých může docházet k přeslechům. Pro řešení chyb v senzorických datech se používá model senzoru, na jehož základě je do jisté míry možné určit, jak moc jsou data důvěryhodná a tím například filtrovat chybná měření. Přestože v této práci diskutované přístupy robotického průzkumu jsou v podstatě nezávislé na konkrétním typu senzoru, je tato práce zaměřena především na budování mapy prostředí z laserových dálkoměrných senzorů. Konkrétně je použit senzor Hokuyo URG-04LX, s úhlovým rozsahem až 240. Měřené vzdálenosti jsou filtrovány na očekávaný rozsah. Hodnoty vzdálenosti větší než zvolená maximální hodnota jsou omezeny na očekávaný dosah (např. 3,5 m). Znamená to, že taková měření informují o volném prostoru a odraz od vzdálenější překážky není uvažován. Dále nejsou uvažovány hodnoty měřené vzdálenosti menší než je poloměr robotu, zde se předpokládá, že dálkoměr je umístěn ve středu robotu a nejsou uvažovány bližší překážky než je poloměr robotu. 1.2 Modely prostředí Mezi základní modely prostředí patří mřížka obsazenosti, topologická mapa nebo symbolická mapa [?]. Každý z těchto modelů poskytuje určité výhody, ale má také své nevýhody, zejména v souvislosti s náročností tvorby modelu a následné práci s modelem. Pravděpodobnostní mřížka obsazenosti patří mezi velmi jednoduché modely, ale zároveň také poskytuje snadnou manipulaci. Pracovní prostředí robotu je reprezentováno mřížkou, která dělí prostor na množinu buněk. Každá buňka pak má přiřazenu hodnotu pravděpodobnosti obsazení buňky překážkou. Nevýhody tohoto modelu jsou především pamět ová náročnost a s ní související výpočetní náročnost, což platí zejména pro rozsáhlá prostředí. Náročnost také vzrůstá při požadavku na vyšší přesnost, kdy je dělení prostoru na buňky jemnější a tím celkový počet buněk vyšší. Se současnou úrovní výpočetních prostředků je však tato nevýhoda ve většině případů (pro reprezentaci vnitřních prostor s řádově jednotkami až desítkami metrů čtverečních) nepodstatná. Proto se jedná o často využívaný způsob reprezentace prostředí. V této práci je jako model použita právě mřížka, která dobře vyhovuje požadavkům pro průzkum prostředí. Pro úlohu průzkumu je podstatné, že se velmi snadno integruje více měření do jediné mapy. Pravděpodobnostní přístup určuje pravděpodobnost obsazení buňky b za předpokladu měření r. Alternativně lze využít například věrohodnostní přístup, tzv. Dempster Shaferova teorie [?]. V pravděpodobnostním přístupu lze pro slučování více měření do jediné mapy zavést zjednodušující předpoklady, kterými jsou nezávislost stavu jednotlivých buněk a komplementarita pravděpodobnostního popisu. Komplementaritou se rozumí uvažování pouze dvou stavů buňky, kde s(b) = v značí volnost a s(b) = o obsazenost buňky. Pak platí P (s(b) = v) = 1 P (s(b) = o). Po zavedení zjednodušujících předpokladů platí pro novou hodnotu pravděpodobnosti 4

KAPITOLA 1. PROBLÉMY ROBOTICKÉHO PRŮZKUMU obsazení buňky b: P (s(b) = o r) = p(r s(b) = o).p (s(b) = o) p(r s(b) = o).p (s(b) = o) + p(r s(b) = v).p (s(b) = v), kde p(r s(b) = o) reprezentuje model senzoru a P (s(b) = o) je předchozí hodnota buňky. 1.3 Lokalizace Úlohou lokalizace se rozumí problém určení polohy robotu v prostředí. Pro řešení této úlohy byla vyvinuta celá řada přístupů řešení, které jsou méně či více sofistikované. Mezi základní přístupy lokalizace patří takzvaná úloha dead-reckoning, jejímž nejjednodušším případem je odometrie, u které se pozice robotu určuje na základě sledování ujeté vzdálenosti. Tento přístup je sice velmi jednoduchý, má však nevýhody především v integrující se chybě. Jiné způsoby lokalizace využívají například principu trilaterace [?], která slouží k určení vzdáleností od známých bodů, podobně jako u GPS. Existuje však mnoho dalších metod, například třída přístupu označovaná jako SLAM z anglického Simultaneous localization and mapping [?]. Lokalizace je složitý problém a zabývá se jím mnoho prací, nebot úloha lokalizace patří mezi základní a klíčové problémy mobilní robotiky. Cílem této práce však není řešit úlohu lokalizace, proto je v řešené úloze autonomního průzkumu robot uvažován jako lokalizovaný, tzn. lokalizaci řeší nezávislý systém, který poskytuje dostatečně přesné určení polohy robotu. 1.4 Navigace Úloha navigace řeší problém jak dostat robot z nějakého místa na zvolenou pozici, aniž by se robot srazil s objekty prostředí. Tato úloha v sobě kromě lokalizace také zahrnuje úlohu řízení a zejména plánování pohybu / cesty. Z pohledu plánování a řízení lze navigaci rozdělit do dvou kategorií: na globální a lokální. Úkolem globální navigace je naplánovat cestu z jednoho místa prostředí do druhého ve známém prostředí (mapě). Taková globální mapa však nemusí zcela odpovídat skutečné situaci, protože mohla být například vytvořena dříve než došlo k nějaké modifikaci prostředí. Proto se využívají lokální plánovače, které jsou schopny korigovat pohyb robotu dle globálně naplánované cesty v závislosti na aktuálním stavu prostředí. Navigační (plánovací) metody lze dále dělit podle použitého modelu prostředí. Globální i lokální možnosti navigace jsou podrobněji popsány dále v tomto oddíle. Globální navigace Na mřížkové reprezentaci prostředí (použité v této diplomové práci) je příkladem plánovacího algoritmu takzvaný Distance Transform (DT) [?] či také wavefront, který je též využit v této diplomové práci. Podstatou tohoto algoritmu je ohodnocení všech buněk určitou cenou. Cena každé buňky odpovídá vzdálenosti od buňky označené jako cílová. Tento algoritmus dokáže naplánovat nejkratší bezkolizní cestu ze všech buněk reprezentující volný prostor do cílové buňky. 5

KAPITOLA 1. PROBLÉMY ROBOTICKÉHO PRŮZKUMU Alternativně lze pro plánování cesty využít algoritmy hledání cesty v grafu, nebot mřížku si lze představit také jako graf, kde každá buňka znamená jeden vrchol spojený hranami s vrcholy reprezentující sousední buňky volného prostoru. Tím se mřížková reprezentace podobá topologické mapě. Topologická mapa je v podstatě také graf, kde vrcholy grafu představují určité oblasti prostředí a hrany pak cesty mezi vrcholy. Mezi základní algoritmy hledání cesty v grafu patří například Dijkstrův algoritmus, algoritmus A nebo algoritmy prohledávání do šířky či do hloubky [?]. U plánování cesty je třeba uvažovat také fyzické rozměry robotu, protože by se mohlo snadno stát, že naplánovaná cesta není pro robot schůdná, nebot vede robot nějakým úzkým průjezdem, do kterého se robot nevejde. K plánování schůdných cest a trajektorií se využívá dříve zmíněný konfigurační prostor C [?]. Ten zohledňuje různá omezení robotu, například že robot s Ackermanovým podvozkem se nemůže otočit na místě. V této práci je uvažován robot s diferenciálním podvozkem, který lze snadno modelovat jako disk o poloměru r, kružnice opsané kolem půdorysu robotu. Konfigurační prostor takového robotu lze snadno vytvořit z mapy prostředí, ve kterém jsou překážky zvětšeny právě o poloměr r operací označovanou jako Minkowského suma. Tuto operaci si lze na mřížkové mapě představit (a též přímo implementovat) jako vepsání kružnice poloměru r, která modeluje robot, kolem hraničních bodů překážek. Všechny buňky uvnitř této kružnice jsou označeny jako překážky. Takto získaný konfigurační prostor je vlastně pouze zvětšenou mapu, ve které lze jednoduše plánovat pro bodový robot. Lokální navigace Lokální plánovací algoritmy slouží především pro zabránění kolizím. I přesto, že globální plánovací algoritmus dokáže naplánovat bezkolizní cestu, nelze předpokládat její přesné projetí. Při průzkumu neznámého prostředí je totiž například možné, že se vyskytnou dříve špatně detekované překážky. Další problém nastává u dynamického prostředí, což je v podstatě i případ použití více robotů. V multi-robotickém průzkumu je totiž nutné zajistit, aby některý z robotů neuvažoval jiný robot jako překážku. To by mohlo vést k tomu, že v budované mapě, která je též použita pro plánování pohybu dalších robotů, by se mohl robot označený jako překážka (jiným robotem) zablokovat. Na druhé straně může globální plánovač pro některý robot naplánovat cestu přes pozici jiného robotu. Jedním z možných přístupů řešení zmíněných problémů jsou vlastní lokální mapy pro každý robot, kde pozice ostatních robotů mohou být označeny jako překážky. Lokální mapy však neřeší problém dynamických překážek. V takovém případě může přesným (a slepým ) sledováním naplánované cesty dojít ke kolizi robotu s pohybující se překážkou či vzájemné kolizi mezi roboty. Proto je při pohybu robotu nutné sledovat, zda se v cestě neobjevila nová překážka. Pokud ano, je nutné se ji vyhnout. K tomu lze využít některého z reaktivních algoritmů řízení robotu, jako je například algoritmus Bug [?]. Další možností jsou rozšíření tohoto algoritmu jako jsou například přístupy Vector Field Histogram (VFH) [?] či jeho vylepšení VFH+ [?] nebo Smooth Nearness Diagram (SND) [?]. Reaktivní algoritmy využívají přímo aktuální data z dálkoměrných senzorů robotu k detekci překážek a navrhují směr pohybu robotu jak se jim vyhnout. V této práci je použit algoritmus SND, konkrétně jeho implementace z projektu Player [?]. 6

KAPITOLA 1. PROBLÉMY ROBOTICKÉHO PRŮZKUMU Předpoklady a přístupy autonomní navigace uvažované v práci V předchozích odstavcích jsou zmíněna některá možná řešení dílčích problémů v souvislosti s robotickým průzkumem. Konkrétní řešení využitá v této práci jsou následující. Robot: Je použit robot S1R ze systému SyRoTek [?] s diferenciálním podvozkem. Senzory: Robot je vybaven laserovým dálkoměrem Hokuyo URG-04LX. Lokalizace: Robot je lokalizovaný. Model prostředí: pravděpodobnostní mřížka obsazenosti. Navigace - globální plánovač: algoritmus DT. Navigace - lokální plánovač: algoritmus SND. 7

Kapitola 2 Robotický průzkum Cílem robotického průzkumu je vytvořit požadovaný model neznámého prostředí, tj. dané prostředí prozkoumat. Základním problémem průzkumu neznámého prostředí je určit kam navigovat robot s ohledem na zvolené kritérium průzkumné mise. V případě stavby modelu prostředí v co nejkratším čase tak mohou být místa navigace určována s požadavek získání co nejvíce nových informací o prostředí. Alternativně lze také zohledňovat například požadavky na podmínky lokalizace [?]. Mimoto je možné v úloze průzkumu zohledňovat dílčí cíle průzkumu, které souvisí s konkrétními požadavky, např. vytvoření modelu celého prostředí, nalezení nějakých prvků v prostředí apod. Složitost efektivního autonomního průzkumu neznámého prostředí vyplývá přímo z definice úlohy, a to proto, že se jedná o prostředí neznámé. Hlavním problémem tedy je, že je nutné se rozhodovat v okamžiku, kdy všechny relevantní informace nejsou k dispozici, nebot znalosti o prostředí jsou budovány postupně tak jak je prostředí postupně prozkoumáváno. Z důvodu nedostatku informací nelze zajistit správné rozhodnutí, jak nejlépe postupovat, nebot možnosti předvídání následného vývoje jsou omezené. Je zřejmé, že různé metody, případně různá nastavení konkrétních metod, mají za následek různé chování, a také mohou poskytovat různé výsledky. Posouzení kvality vybraných strategií přidělování cílů (konkrétních nových míst pro navigaci) jsou hlavní náplní této diplomové práce, přičemž kvalita průzkumu je posuzována z hlediska času potřebného k vytvoření mapy celého prozkoumávaného prostředí. Přehled základních přístupů řešení úlohy robotického průzkumu je uveden v následujících oddílech této kapitoly. 2.1 Přístupy robotického průzkumu Přestože je z hlediska řízení mobilního robotu nejjednodušším způsobem řízení robotu operátorem na dálku, tzv. tele-operovaný režim, zabývá se tato práce autonomními způsoby robotického průzkumu. Zejména proto, že v řadě případů není tele-operovaný způsob řízení efektivní, například z důvodu značného dopravního zpoždění řídicího signálu. Dále to jsou případy, kdy pracovní prostředí je velmi rozsáhlé a složité a proces rozhodování o dalším postupu je pro lidského operátora značně náročný. Lze sice operátorovi poskytnout různé prostředky pro podporu rozhodování, nicméně ty však mohou využívat přístupy, které se blíží využití plně autonomní metody řízení robotu. Navíc je přirozeným cílem nově vyvíjených metod zvýšení efektivity. Proto je jedním z výzkumných témat současné robotiky studium takových přístupů řešení, která povedou na autonomní 8

KAPITOLA 2. ROBOTICKÝ PRŮZKUM rozhodování bez nutnosti zásahu lidského operátora. Takovými přístupy se také zabývá tato diplomová práce a některé z těchto přístupů jsou diskutovány v následující části textu. Reaktivní přístupy První skupinu přístupů tvoří ty, u kterých robot nové informace zjišt uje pohybem po předem zadané trajektorii. Tento přístup je využit například v [?]. Zde se robot může pohybovat po kružnicích, trojúhelnících nebo jiných předem definovaných trajektoriích, případně je jeho pohyb náhodný. V [?] je uveden algoritmus, který robot naviguje po křivce inspirované Archimédovou spirálou. Příklad takové trajektorie je uveden na obr. 2.1. Náhodný pohyb robotu byl popsán v [?] a další odkazy na podobné postupy lze najít v [?]. Obrázek 2.1: Příklad průzkumu pohybem po předem zadané trajektorii - spirále. Obrázek převzat z [?]. Výše zmíněné metody byly jedny z prvních, které se k robotickému průzkumu využívaly. Není zde potřeba žádný složitý plánovač, způsob průjezdu prostředím je znám již před začátkem průzkumu. Pro navigaci pak při vlastním průzkumu stačí jednoduchý reaktivní algoritmus, který slouží pro sledování překážek. Nijak se zde nevyužívá nově získaných informací o prostředí, což může způsobit nevhodné chování, například opakované průjezdy již prozkoumaným prostředím. Nevýhody se projeví zejména ve velmi komplexních prostředích. U těchto metod se také často předpokládají značně omezující podmínky na prostředí - rovnoběžnost či kolmost stěn apod. Tyto metody proto tvoří specifickou skupinu a nelze je dobře srovnávat s ostatními metodami, především s těmi, které využívají vytvářené znalosti o prostředí. Z tohoto důvodu nejsou v této práci dále podrobněji popisovány. Informované přístupy Na druhé straně reaktivních algoritmů jsou přístupy, které pro navigaci využívají nově získaných informací o prozkoumávaném prostředí. Tyto algoritmy zpravidla pracují iterativně. Nejdříve je provedeno zjištění prvotních informací o prostředí v okolí robotu. Následně již probíhá hlavní iterativní cyklus řízení robotického průzkumu. Průběh cyklu lze shrnout v pěti krocích: 9

KAPITOLA 2. ROBOTICKÝ PRŮZKUM 1. Na základě doposud získaných informací o prostředí se provede rozdělení prostředí na určité oblasti. Způsob rozdělení se může lišit podle konkrétní metody/strategie průzkumu. 2. Provede se ohodnocení definovaných oblastí. 3. Po ohodnocení se provede výběr cíle (či množiny cílů), kam má být robot navigován. 4. Následně se robot k cíli vydá, přičemž zkoumá své okolí a průběžně aktualizuje mapu (budovanou reprezentaci znalostí o prostředí). 5. Po dosažení cíle či jiné události, kterou může být například uplynutí zadaného času se provádí test ukončení průzkumu. Takovým testem může být například detekce situace kdy neexistují neprohledané části prostředí, které jsou dosažitelné. V takovém případě je průzkum ukončen. V opačném případě následuje nový běh cyklu (skok na krok 1), ve kterém jsou již uvažovány nově získané informace o prostředí. Jednou z důležitých částí tohoto obecného přístupu je uvažování nedosažitelných částí prostředí. Ty se mohou vyskytovat například za úzkým průchodem, kam se robot nemůže dostat. Takové části proto musí být vyřazeny, nebot by vedly na snahu o splnění nedosažitelného cíle. Z tohoto důvodu je nutné je označit jako neprozkoumatelné. Vlastní ohodnocování oblastí/cílů probíhá podle zvolených kritérií, například vzdálenosti od robotu, vzdálenosti mezi jednotlivými cíli nebo možného informačního zisku. Je zřejmé, že různá kritéria mohou být kombinována, případně použita pouze některá podle konkrétní úlohy řešení robotického průzkumu. Základním problémem řešeným u všech metod je výběr vhodného cíle k navštívení. V každém okamžiku existuje množina cílových pozic, které je nutno prozkoumat, přičemž počet cílů se v průběhu průzkumu mění. Na začátku bývá cílů málo a tím, že se robot vydá k vybranému cíli, odkrývá nové prostředí a tím přibývají i cíle nové. Vlastním úkolem plánování průzkumu je postupně vybírat jednotlivé cíle, aby byla dodržena stanovená kritéria. Právě způsob výběru nového cíle definuje strategii robotického průzkumu. Mezi kritéria patří například rychlost (potřebný čas) průzkumu. V případě, že se robot většinou pohybuje nějakou konkrétní známou rychlostí, lze místo času uvažovat kritérium ujeté dráhy. Pořadí průzkumu/navštívení jednotlivých cílů vyplývá z ohodnocení jednotlivých oblastí. Takové ohodnocení je však vytvořenou bez celkové znalosti prostředí, proto je tak pouze aproximací skutečné očekávané hodnoty. Hlavním důvodem je, že při pohybu robotu k jedné oblasti se objevují oblasti nové, se kterými se v předchozím plánu nepočítalo. Výběr nejlepšího cíle pro průzkum proto není triviální a postupy výběru mohou být složité. V souvislosti s cílovými oblastmi se nabízejí následující otázky. První takovou otázkou je, jaký vliv na kvalitu a rychlost průzkumu má pořadí, ve kterém se cíle navštíví. Druhá otázka je, jaký vliv má na průzkum počet cílových oblastí. Zde je možné předpokládat, že s rostoucím počtem cílů a při využití vhodných postupů je možné navštívení jednotlivých cílů lépe naplánovat. Nalezení odpovědí na tyto otázky je rovněž cílem této diplomové práce a lze je nalézt v kapitole 4. Hlavním představitelem informovaného přístupu robotického průzkumu je takzvaný frontier-based přístup, který představitel Yamauchi v [?]. Jádrem tohoto přístupu je definice cílových oblastí pro pohyb robotu, které jsou velmi často používány i v jiných 10

KAPITOLA 2. ROBOTICKÝ PRŮZKUM přístupech, proto představuje Yamauchiho přístup de facto standardní způsob nalezení množiny cílových oblastí v robotickém průzkumu. Proto je tento elementární přístup podrobněji popsán v následujícím oddíle. 2.2 Frontier-Based přístup V úloze průzkumu se rozlišují dva základní stavy prostředí. Daná část prostředí je bud známá, tj. prozkoumaná již dříve, nebo neznámá. Mezi známými a neznámými částmi je rozhraní, pro které Yamauchi v [?] zavedl termín frontier. Jeho práce [?] se stala základem pro mnoho dnes používaných metod robotického průzkumu a všechny metody využívající rozhraní se proto označují frontier-based. Z důvodu významu jeho práce se i v této práci používá originálního anglického termínu 1. Jako model prostředí je v původní práci [?] zvolena pravděpodobnostní mřížka. Ta se pro tento účel jeví jako velmi vhodný model. Mřížkou lze totiž prostředí rozdělit na mnoho malých částí - buněk. Jemnější dělení znamená vyšší počet buněk a též vyšší přesnost určení cílových oblastí. Jednoduše se také hledají frontiery a existují dobré metody plánování cesty, například algoritmus DT uvedený v oddíle 1.4. Frontier se skládá ze souvislé množiny hraničních bodů, přičemž hraniční bod je každý takový bod, který leží ve volném (a tedy známém) prostoru a sousedí s nějakým neznámým bodem. Pro zjednodušení se každá taková množina bodů - frontier reprezentuje nějakým významným bodem, například středem oblasti množiny bodů. Frontiery, respektive jejich středy, tvoří množinu cílů, kam je robot následně navigován. Příklad mřížky s vyznačeným frontierem je uveden na obrázku 2.2. Obrázek 2.2: Mřížka s vyznačením prozkoumaného prostou - bíle je značen volný prostor, černě překážky, neznámý prostor světlým a frontiery tmavým odstínem šedi. Frontier-based je skupina metod, které využívají definice frontieru k výběru cílů pro navigaci robotu. Základem těchto metod je metoda, kterou popsal Yamauchi v [?]. Jednotlivé rozšiřující metody odvozené od této základní metody se liší především ve způsobu ohodnocení cílů. Z toho vyplývá i změna pořadí, ve které jsou cíle navštíveny, a které se upřednostňují. Základní metoda robotického průzkumu a vybrané rozšiřující metody jsou popsány v následujících oddílech. 1 Mimoto vhodný český ekvivalent, který by dobře vystihoval podstatu rozhraní známé a neznámé části prostředí, není dosud ustálen. 11

2.3 Základní metoda robotického průzkumu KAPITOLA 2. ROBOTICKÝ PRŮZKUM Základní metoda popsaná Yamauchim v [?] je velmi jednoduchá. Spočívá v navigaci robotu k nejbližšímu frontieru. Jedná se o takzvaný hladový algoritmus a v době svého uvedení bylo experimentálně zjištěno, že poskytuje uspokojivé výsledky. Tato metoda je sice velmi snadná na implementaci má však některé nevýhody plynoucí z hladové strategii přidělování cílů. V prvé řadě není vždy nejvhodnější navigovat robot k nejbližšímu frontieru. Příkladná situace je znázorněna na obrázku 2.3(a). Robot se pohybuje po zelené křivce. Následně se provede výběr nejbližšího cíle, naplánovaná cesta je znázorněna silnými černými úsečkami. Je zřejmé, že v této situaci je vhodnější nejprve vybrat cíl nalevo a následně pokračovat, jak je znázorněno na obrázku 2.3(b). V konečném důsledku může robot řízený hladovou strategií ujet mnohem delší trasu a průzkum se tak značně prodlouží. (a) hladový přístup (b) plánování přes více cílů Obrázek 2.3: Porovnání výběru cíle. Obrázek převzat z [?]. Především z důvodu možného neefektivního hladové výběru nejbližšího cíle se navazující přístupy snaží o rozšíření této základní metody. Touto problematikou se zabývá například [?], odkud je převzat i obrázek 2.3. Vybrané metody rozšířující základní Yamauchiho přístup jsou uvedeny v následujících oddílech. 2.4 Užitečností metody robotického průzkumu Jedno z možných rozšíření základního přístupu spočívá v přidání dalšího parametru k ohodnocení potencionálních cílů. Takové rozšířující metody používají různě definované tzv. užitkové funkce, které zohledňují i jiné kritéria než jen vzdálenost cíle od aktuální pozice robotu. Tyto metody jsou založeny na ohodnocení informačního zisku, pravděpodobnosti výskytu dalších neprohledaných částí, výpočtu viditelnosti a podobně, tj. potencionálního užitku daného cíle pro následný průzkum. Jeden z příkladů možného ohodnocení užitečnosti je popsán v [?], kde je generována množina potencionálních cílů Q ve volném prostoru poblíž frontierů. Ohodnocení každého kandidáta probíhá podle očekávané informačního zisku v kombinaci se vzdáleností od současné pozice. Užitková funkce je definována vztahem (2.1), kde L(q) je délka bezkolizní cesty, λ je kladná konstanta a A(q) je potencionální viditelnost z kandidáta q, q Q. g(q) = A(q)e λl(q), (2.1) Zajímavým užitečnostním přístupem je ohodnocení založené na struktuře prostředí [?]. Tento přístup je motivován faktem, že prostředí vytvořená člověkem často obsahují 12

KAPITOLA 2. ROBOTICKÝ PRŮZKUM Obrázek 2.4: Ukázka prostředí s chodba. Převzato z [?]. určité struktury, jako jsou například chodby s přilehlými místnostmi. Těchto apriorních znalostí lze využít k zefektivnění průzkumu. Autoři [?] upřednostňují v případě průzkumu vnitřních prostor (např. kancelářských budov) právě chodby, nebot jejich průzkumem se zvyšuje počet nových cílů a tím také nalezení přilehlých místností. To je výhodné zejména při větším počtu robotů, protože nalezené cíle lze lépe rozdělit mezi roboty. Ukázka takového prostředí je znázorněna na obrázku 2.4. Jedná se o mapu skutečné nemocnice, která je jednou ze vzorových map systému Player/Stage [?]. Podobné rozšířující metody průzkumu předpokládají, že změna způsobu výpočtu ohodnocení potencionálních cílů bude mít za následek zefektivnění průzkumu. Výsledky zmíněných rozšířujících metod ukazují, že průzkum může být skutečně efektivnější při uvažování dalších parametrů v ohodnocení jednotlivých cílů. Výběr následujícího cíle je však stále prováděn podobně jako v základním přístupu. Jako příští cíl je vždy vybrán ten, který má nejlepší ohodnocení. Proto může dojít k podobné situaci, která je znázorněna na obrázku 2.3(a). Přístupy, které vybírají pouze aktuální nejlepší řešení, se často označují jako hladové. Nevýhodou prostého výběru nejbližšího, či nejlépe ohodnoceného frontieru, jako následujícího cíle je, že se vůbec nezohledňuje výběr cílů v dalším běhu plánovacího cyklu. Je zřejmé, že většina hraničních oblastí nalezených během průzkumu musí být prozkoumána přímo. Výjimkou jsou situace, kdy robot objede překážku a k hranici se dostane z druhé strany. Pak nemusí prozkoumávat původně nalezený cíl. Pokud však překážku nelze objet a někde na začátku zůstane neprohledaná část, robot se musí vracet zpět, aby byly prohledány všechny cíle. Tato situace typicky nastává právě při průzkumu hladovou metodou. Je proto možné, že dlouhodobější plánování a snaha optimalizovat celkovou ujetou vzdálenost může přinést vyšší užitek a průzkum tak zefektivnit. Cílem takové strategie průzkumu je zohlednění výběru cílů v budoucnu, tj. nalezení plánu, který definuje pořadí, v jakém se mají současné cíle navštívit. 2.5 Řešení robotického průzkumu jako problém obchodního cestujícího Využití problému obchodního cestujícího při řešení úlohy průzkumu neznámého prostředí jedním robotem bylo představeno v [?]. Hlavní motivací tohoto přístupu je určit pořadí navštívení více cílů, což je problém velmi podobný úloze obchodního cestujícího. Problém obchodního cestujícího, v angličtině Traveling Salesman Problem (TSP), byl popsán v roce 1930 [?]. Jedná se o problém nalezení nejkratší hamiltonovské kružnice (hamiltonovského cyklu) v ohodnoceném grafu [?]. Graf tvoří množina vrcholů v 0, v 1,..., v n a ohodnocených hran s cenou d(v i, v j ), která představuje délku hrany z vrcholu v i do 13

KAPITOLA 2. ROBOTICKÝ PRŮZKUM vrcholu v j, pokud tato hrana existuje. Hamiltonovská kružnice je v teorii grafů taková kružnice, která projde právě jednou všemi vrcholy grafu. Kružnice je uzavřená (tj. počáteční vrchol je identický s koncovým vrcholem) posloupnost vrcholů. Pro využití TSP pro robotický průzkum je důležité poznamenat, že na rozdíl od výše uvedené definice problému, ve kterém se hledá uzavřená cesta, se při průzkumu hledá otevřená cesta, tj. robot se nevrací na výchozí pozici v 0. Tento problém je možno řešit přidáním fiktivního vrcholu v tak, že z tohoto vrcholu vede hrana do všech ostatních vrcholů, přičemž d(v, v 0 ) = 0 a d(v, v i ) = ω, i = 1,..., n, kde ω je nějaké velmi vysoké číslo, např. větší než délka nejdelší možné cesty [?]. Jelikož řešení úlohy TSP optimalizuje cenu celkové cesty přes více cílů, tak velmi dobře popisuje požadavek na zlepšení metody průzkumu více cílových oblastí. Řešení založené na formulaci úlohy průzkumu jako TSP navíc umožňuje k ohodnocení hrany využít kromě vzdáleností i užitkových funkcí popsaných v předchozím oddíle 2.4 a využít tak i jejich výhod. Uvedená formulace problému obchodního cestujícího je definován pro graf, na který je nutné převést i úlohu plánování navštívení více cílů v robotickém průzkumu. Při reprezentaci prostředí mřížkou to může na první pohled sice vypadat jako nevýhoda, ale vytvoření grafu z mřížky je velmi jednoduché. Vrcholy v grafu jsou dvou typů. První vrchol reprezentuje výchozí pozici robotu. Druhým typem jsou vrcholy, které jsou tvořeny středy všech hraničních oblastí, tj. vrcholy které je nutné prozkoumat. Ohodnocení hran se nalezne z délky cest mezi jednotlivými vrcholy, například algoritmem DT [?], který je určen přímo pro plánování na mřížce. V [?] autoři provedli porovnání robotického průzkumu založeného na řešení úlohy TSP se základním hladovým přístupem pro různá prostředí a nastavení. Z uvedených výsledků vyplývá, že průzkum touto metodou je až o 30 % rychlejší než při použití hladové metody. Tento nárůst efektivity je jednou z hlavní motivací řešení této diplomové práce, která se věnuje ověření možnosti rozšíření tohoto principu pro průzkum více roboty, tj. na základě řešení problému více obchodních cestujících. 14

Kapitola 3 Multi-robotický průzkum Využití více robotů pro průzkum neznámého prostředí představuje způsob, jak průzkum urychlit. Mezi další výhody nasazení více robotů také patří vyšší robustnost - při výpadku některého z robotů mohou průzkum dokončit ostatní roboty. V mobilní robotice se úlohy řešené vyšším počtem robotů označují jako multi-robotické. Při multi-robotickém průzkumu prostředí však nelze předpokládat, že použití n robotů zrychlí průzkum n- krát. V multi-robotických úlohách je totiž nutné uvažovat další omezující podmínky plynoucí ze sdílení pracovního prostoru více roboty, což přináší řadu komplikací. Mezi komplikace patří koordinace robotů, jejímž úkolem je zajistit, aby se roboty nesrazily. To lze řešit několika způsoby. Jednou z možností je, že každý robot zná pozice ostatních a s ohledem na to plánuje své další akce. Alternativní možností je využití některého z reaktivních navigačních algoritmů. Dále je vhodné zajistit, aby se roboty při průzkumu prostředí vzájemně neoznačovaly jako překážky. To by totiž mohlo vést k tomu, že robot označený v mapě za překážku by byl v případě použití stejné mapy k plánování jeho trajektorie zablokovaný a nemohl by dále pokračovat v průzkumu. Další komplikace mohou být způsobeny použitím stejných senzorů jednotlivými roboty, například sonary, u kterých může docházet ke vzájemnému rušení nebo přeslechům. Z hlediska efektivního řešení úlohy je hlavní problém multi-robotického přístupu takzvaná kooperace, která spočívá ve vhodném rozdělení cílů jednotlivým robotům. V případě multi-robotického průzkumu je u složitých a rozsáhlých prostor vhodné, aby každý robot prozkoumával určitou část prostředí. Nevhodné je naopak, aby více robotů prozkoumávalo stejné či blízké části prostředí nebo, aby jeden robot často přejížděl přes již známé části prostředí. Podobně jako v případě průzkumu neznámého prostředí jediným robotem, je i při využití více robotů obtížnost plánování dána právě znalostmi o prostředí, které jsou budovány postupně během průzkumu. V multi-robotického průzkumu je možné zvolit jak bude přidělování cílů a plánování pohybu probíhat. Zde je možné volit mezi centralizovaným nebo decentralizovaným přístupem. Centralizovaná architektura plánování se vyznačuje jediným řídicím prvkem, který rozděluje cíle všem robotům. Při decentralizovaném způsobu si každý robot vybírá cíle sám, tj. každý robot se rozhoduje individuálně. Oba jmenované přístupy mají své výhody i nevýhody. Mezi výhody centralizovaného přístupu patří jednoduché řešení problému koordinace robotů, nebot v tomto přístupu se využívá společná globální mapa a při plánování jsou známy pozice všech robotů. Lze tedy jednoduše zabránit označení ostatních robotů za překážky a také případně naplánovat cesty jednotlivým robotů tak, aby se roboty vzájemně vyhnuly. 15

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM Kromě pozic všech robotů jsou v případě centralizovaného přístupu také vždy známy všechny potencionální cíle. Využitím jediného plánovače pak lze také jednodušeji řešit i kooperaci robotů, nebot plánovač může využít veškeré dostupné znalosti o aktuální situaci průzkumu. Hlavní nevýhodou centralizovaného přístupu je však robustnost, která je závislá na centrálním řídicím prvku. Při selhání řídicího systému totiž selhává i celá průzkumná mise. Naproti tomu výhoda decentralizovaného přístupu je právě v robustnosti na případné výpadky dílčích komponent, nebot neobsahuje centrální prvek [?]. V tomto přístupu může mít každý robot také jinou strategii výběru cílů, což může vést k efektivnějšímu průzkumu. Decentralizovaný přístup je však složitější na koordinaci, nebot roboty si udržují své lokální mapy a je nutná vzájemná komunikace. Plánování a výběr cílů je také složitější, protože ne vždy jsou všechny informace o možných cílech dostupné každému robotu. Dalším problémem je omezený dosah komunikace robotu, což vede na přístupy, ve kterých je společná mapa budována pouze v jistých definovaných okamžicích. Cílem této práce je studium strategií přidělování cílů v centralizovaném přístupu a jejich vliv na rychlost provedení průzkumné mise. Proto jsou dále v textu uvažovány zejména centralizované přístupy. Diskuse základního problému multi-robotického průzkumu a stručný přehled možných přístupů řešení je uveden v následujícím oddíle. Podrobnější popis vybraných strategií přidělování cílů je pak uveden v navazujících oddílech. 3.1 Přidělování cílů v multi-robotickém průzkumu Tak jako v případě průzkumu jediným robotem jsou i přístupy řešení problému rozdělení cílů v úloze multi-robotického průzkumu založeny na frontier-based přístupu, který zavedl Yamauchi v [?]. V této hladové metodě robot vybírá jako následný cíl pro průzkum vždy nejbližší frontier. Přirozeným rozšířením pro multi-robotický průzkum je, že každý robot vybírá jako svůj další cíl k němu nejbližší frontier. Toto rozšíření představil sám Yamauchi v [?]. Jedná se o decentralizovaný a hladový způsob průzkumu, ve kterém má každý robot svoji mapu a nové cíle jsou vybírány individuálně. To má však za následek, že více robotů může prozkoumávat stejný cíl, a proto je tento způsob výběru neefektivní, viz obr. 3.1(a). V případě centralizované realizace přístupu [?] je možným řešením problému průzkumu jednoho cíle více roboty postupné vybírání ze společného seznamu frontierů. Pořadí výběru cílů může být například dáno pořadím v jakém jsou roboty aktivovány a registrovány v centrálnímu prvku. Případně může být pořadí výběru náhodné. Po přiřazení určitého frontieru některému z robotů se tento frontier odstraní ze seznamu. I v tomto případě však nemusí být přidělování cílů jednoznačné, nebot je vhodné zohlednit zvolená kritéria. Například celkový čas průzkumu závisí na ujeté vzdálenosti jednotlivými roboty, které jsou závislé právě na pořadí v jakém jsou cíle robotům přiděleny. Může tak nastat situace, kdy je jednomu robotu přiřazen jemu nejbližší cíl, který je následně odstraněn ze seznamu aktivních cílů. Z pohledu maximální ujeté vzdálenosti jednotlivými roboty však může být výhodnější, aby tento cíl prozkoumal jiný robot. Příklad takovéto situace je zobrazena na obrázku 3.1. Při hladovém přístupu, obr. 3.1(b), vybere robot R1 nejbližší cíl C1, robot R2 následně vybere nejbližší cíl ze zbylých cílů. V tomto případě je však výhodnější rozdělení cílů dle obrázku 3.1(c), které vede na kratších dobu potřebnou k navštívení obou cílů. 16

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM (a) dva roboty prohledávají jeden cíl (b) nevhodné rozdělení cílů (c) optimální rozdělení cílů Obrázek 3.1: Příklad výběru cílů hladovým a optimalizovaným přístupem při multirobotickém průzkumu. Neefektivita hladové metody plyne především z nedostatečného řešení kooperace. Snadno se tak může stát, že několik blízkých cílů či jedna místnost je prohledána více roboty. V těchto případech je však většinou mnohem výhodnější blízké cíle prohledávat jedním robotem, zatímco zbylé roboty mohou prohledávat ostatní cíle v jiné (vzdálenější) části prostředí. Pokud by navíc jednu místnost prozkoumávalo více robotů mohlo by se stát, že by se roboty potkaly ve dveřích, což může průzkum ještě více zdržet z důvodu nutnosti postupného průjezdu dveřmi. Je zřejmé, že základní hladová metody sice dokáže úlohu multi-robotického průzkumu řešit, avšak její nevýhoda je v neefektivním rozdělování cílů mezi roboty. Tato práce se zabývá studiem vlivu jiných strategií přidělování cílů na efektivitu průzkumu pokročilejšími metodami plánování, které se snaží o lepší řešení kooperace. Mezi pokročilejší přístupy patří například aukční metody či různé metody využívající rozdělení prostředí na menší celky. Jinou možností pro rozdělení cílů je využití některých biologicky inspirovaných algoritmů, v literatuře též označované jako softcomputing techniky, mezi které patří genetické algoritmy nebo algoritmy mravenčích kolonií. Jednou z možných metod je také rozšíření přístupu řešení robotického průzkumu formulovaného jako úloha obchodního cestujícího (viz oddíl 2.5) pro průzkum více roboty. Vybrané metody jmenovaných pokročilých přístupů jsou podrobněji popsány v následujících oddílech. 3.2 Aukční metody Aukční přístupy, někdy také nazývané market-based, je množina podobných a velmi často používaných metod pro řešení problému rozdělování úloh. V případě multi-robotického průzkumu se tyto přístupy využívají pro přidělení jednotlivých cílů mezi roboty. Aukční přístupy jsou reprezentantem metod založených na takzvaných agentních technologiích. Jako agent se označuje entita, která je schopna vykonávat určitou činnost, proto lze mobilní robot považovat za agenta. Dále se agent označuje jako racionální agent, pokud se vždy snaží vykonat nejlepší činnost z ohledem na řešenou úlohu. Aukční metody vycházejí z tržního chování, proto se v aukčním přístupu každý agent snaží zajistit vysokou globální produktivitu tím, že maximalizuje osobní zisk pokud možno za minimálních výdajů. Hlavním problémem v aukčním přístupu je určit, co je ještě pro agenta výhodné a co již nikoli. Princip aukčního přístupu je následující. Nejdříve je nutné provést ohodnocení užitečnosti každého potencionálního cíle pro každého agenta. Dále každý agent vypočte cenu dosažení cílů. Výpočet ceny dosažení je 17

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM poměrně jednoduchý, nebot lze přímo použít vzdálenost cíle od robotu. Výpočet užitečnosti je však složitější. Slouží k tomu užitkové funkce podobné těm uvedeným v předchozí kapitole, v oddíle 2.4. K užitečnosti tak lze přistupovat z mnoha různých pohledů, čímž se také liší její výpočet. Podobně jako při průzkumu jediným robotem se používá řada dodatečných kritérií jako jsou předpokládaný informační zisk nebo viditelnost ostatních cílových pozic. Oproti užitečnosti definované pro jeden robot však existují některé významné rozdíly. Například důležitým faktem je, že určitý cíl může mít pro různé roboty různý užitek. Je zřejmé, že pro efektivní kooperaci by užitečnost potencionálního cíle měla být také závislá na skutečnosti, zda tento (či jiný blízký) cíl je již vybrán některým z robotů. Výpočet užitečnosti pro multi-robotický průzkum je proto složitější než pro případ jediného robotu a lze k němu přistupovat z různých hledisek. Po ohodnocení spolu agenti soupeří a snaží se získat takový cíl, který je pro ně nejvýhodnější. Přístupy založené na strategii trhu byly popsány například v [?] nebo v [?]. Xin Ma a kolektiv [?] popisují využití více-kolové jedno-položkové aukce. V tomto přístupu je užitečnost každého potencionálního cíle definována následovně: Jestliže nějaký robot má přiřazen nějaký cíl, tak užitečnost tohoto cíle se pro ostatní roboty snižuje. Dále se pro ostatní roboty snižuje užitečnost všech cílů, které tento robot může pokrýt. Celková cena daného cíle, která vstupuje do aukce, se poté vypočte jako rozdíl jeho užitečnosti a vzdálenosti ke konkrétnímu robotu. Vlastní mechanismus přidělování cílů probíhá v několika krocích. Nejprve je vybrán licitátor (dražebník). Tím je některý z robotů, ostatní roboty jsou označeny jako dražitelé. Dražebník má informace o všech cílech. Poté probíhá dražba. Dražebník vybere jeden z cílů. Každý dražitel vypočte cenu a předpokládanou užitečnost cíle. Poté každý dražitel podá nabídku tak, aby maximalizoval svůj zisk. Vítězem se stává robot, který má z tohoto cíle největší prospěch. Takto se přiřadí všechny cíle, přičemž jeden robot může mít i více cílů. Po přiřazení cílů se naleznou cesty robotů k cílům a také se určí příští dražebník. Ve chvíli, kdy roboty dosáhnou svých cílů, aktualizují své lokální mapy a ty zašlou licitátorovi. Poté se dražba opakuje dalším kolem. Simulacemi bylo ověřeno, že uvedený algoritmus může efektivně řešit rozdělení více cílů mezi více robotů. Experimenty na reálných robotech však nebyly v citovaných zdrojích uvedeny. Jedním publikovaných z výsledků je porovnání aukčního přístupu s kombinatorickými aukcemi, ve kterém přístup více-kolové jedno-položkové aukce vychází jako mnohem efektivnější. 3.3 Metody založené na rozdělení prostředí Další možností jak koordinaci robotů explicitně zohlednit je nalezení vhodného rozdělení prostředí na určité menší celky. Tato idea vychází z předpokladu, že ve většině případů je vhodné určitou část prostředí s několika blízkými cíli prohledat jedním robotem. Hlavní myšlenkou rozdělením prostředí na menší části a přiřazení těchto částí jednotlivým robotům je, že pak lze relativně snadno zajistit, aby jednu část, například místnost, prohledával jen jeden robot. 18

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM Rozdělení prostředí lze provést různými způsoby. V [?] byl představen způsob založený na využití Voroného diagramu. Popsaný přístup využívá frontier-based metody a mřížkové reprezentace prostředí. Ohodnocení hraničních oblastí kromě vzdálenosti navíc závisí i na struktuře prostředí. Ke tvorbě Voroného diagramu se využívá algoritmus DT - pro každou buňku se vypočte vzdálenost k nejbližší překážce. Z těchto vzdáleností se vytvoří nová mřížka, tzv. mapa DT, ve které jednotlivé buňky mají hodnotu vypočtené nejkratší vzdálenosti k překážce. Voroného graf je poté zkonstruován nalezením kostry mapy DT. Tento proces je zobrazen na obrázku 3.2. Po vytvoření Voroného diagramu jsou vrcholy grafu rozděleny do množin na základě tzv. kritických bodů. Každá množina pak tvoří segment, který je přiřazen některému robotu. Pro přiřazení jednotlivých segmentů robotům se používá mad arský algoritmus, který je detailně popsán v oddíle 3.4. Pro jeho použití je nutné vypočítat cenu dosažení každého segmentu každým robotem. Tato cena je vypočtena jako vzdálenost robotu k nejbližšímu cílovému bodu v daném segmentu. Od této ceny pak autoři odečítají zvolenou hodnotu (penalizaci), pokud se robot nachází v daném segmentu. (a) mapa prostředí (b) mapa DT (c) Voroného diagram Obrázek 3.2: Ukázka mapy prostředí s vytvořenými Voroného diagramy. Převzato z [?]. Z výsledků uvedených v [?] vyplývá, že jednoduché prostředí kancelářského typu lze takto rozdělit na jednotlivé místnosti a chodby. Nicméně pro dělení složitějších prostředí je zapotřebí sofistikovanějších přístupů. Z výsledků taktéž vyplývá, že průzkum uvedeným postupem dosahuje mnohem kratších časů, než při použití čistě hladového přístupu. V [?] je použit způsob shlukování cílů K-Means clustering, který však ve výsledku vede taktéž na Voroného graf. Tímto způsobem je neznámé prostředí rozděleno na tolik částí, kolik je robotů. Každému robotu je pak přiřazena nejbližší část reprezentovaná jejím středem. Dále je každému robotu přiřazen cíl s nejnižší cenou, která je složena ze tří částí: délka nejkratší cesty mezi robotem a cílem; penalizace vzdálenosti cíle a přiřazené oblasti, pokud cíl leží v jiné oblasti než té přiřazené robotu; penalizace pokud je cíl v dosahu senzoru od jiného cíle přiřazeného jinému robotu. Hlavním sledovaným kritériem je tzv. minimalizace odchylky času čekání, tj. že každá část rozděleného prostředí bude prohledána za podobný čas. Uvedený způsob průzkumu byl 19

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM porovnán s vybranými reprezentativními metodami, mezi kterými byl hladový přístup popsaný v [?]. Z výsledků uvedených v [?] vyplývá, že použitím této metody lze dosáhnout kratších časů průzkumu jednotlivých částí a tím i kratšího celkového času průzkumu. 3.4 Využití mad arského algoritmu Využití mad arského algoritmu pro rozdělení cílů v úloze multi-robotického průzkumu bylo představeno v [?]. V popsaném postupu je však algoritmus primárně určen pro přiřazení oblastí v segmentovaném prostředí, viz oddíl 3.3. V této práci je ověřena možnost využití mad arské metody pro přímé přidělování cílů (frontierů) jednotlivým robotům a je porovnána se základní hladovou metodou. Jako mad arská metoda nebo také mad arský algoritmus, se označuje metoda, která řeší problém rozdělení úloh. Problém rozdělení lze definovat následovně. Necht existuje n úloh a n agentů. Každý agent vykoná každou úlohu s určitou cenou, což lze zapsat ve formě matice, ve které jsou v jednotlivých buňkách uvedeny ceny agenta (řádek) a cíl (sloupec). Cílem je přiřadit jednotlivým agentům úlohy tak, aby celková cena byla co nejmenší a každý vykonával právě jednu úlohu. V [?] Kuhn představil algoritmus, který dokáže problém přidělení řešit v polynomiálním čase. Algoritmus je pojmenován podle mad arských matematiků Dénese Kőniga a Jenő Egerváryho, protože je do značné míry založen na jejich dřívější práci. Mad arský algoritmus předpokládá stejný počet agentů a úloh. Při multi-robotickém průzkumu však tento požadavek nemusí být splněn. Především proto, že se během průzkumu počet potencionálních cílů mění. V případě, že je počet cílů menší než počet robotů, lze vytvořit imaginární cíle, které mají pro všechny roboty stejnou cenu. Pak na přiřazení těchto imaginárních cílů nezáleží a optimalizuje se pouze přiřazení skutečných cílů. V případě, kdy je cílů více, se vytvoří imaginární roboty, pro které všechny cíle mají taktéž stejnou cenu. Skutečné roboty pak prozkoumávají nejvýhodnější cíle a zbylé cíle jsou přiřazeny až v další iteraci přidělování cílů. Z tohoto důvodu je toto rozšíření také částečně hladové, protože každému robotu je přiřazen jeden cíl podle aktuálně nejvýhodnějšího rozdělení a neuvažuje se přiřazení cílů v budoucnu. Oproti základní hladové metodě však lze předpokládat, že přidělení cílů mad arským algoritmem zamezí některým problémům, které jsou pro základní hladový přístup typické. Problémy hladového přístupu souvisí se způsobem zacházení přidělených cílů v seznamu aktuálních cílů. V případě, že přiřazené cíle nejsou mazány, mohou dva roboty prozkoumávat stejný cíl viz obr. 3.1(a). Pokud mazány jsou, má pořadí výběru velký vliv a rozdělení může být neoptimální, viz obr. 3.1(b). Oběma projevům může zabránit právě rozdělení cílů mad arskou metodou. 3.5 Využití genetických algoritmů Genetické algoritmy (GA) představují prohledávací metodu využívanou v řadě úloh umělé inteligence a je to jedna z metod, která dokáže řešit složité optimalizační problémy. Z tohoto důvodu o nich lze uvažovat jako o vhodném přístupu pro přidělování cílů robotům při multi-robotickém průzkumu neznámého prostředí. Využití GA pro multirobotický průzkum bylo popsáno například v [?]. 20

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM GA jsou založeny na principu přirozeného výběru, kde přežívá nejsilnější jedinec. Jsou to iterativní algoritmy, jejichž základem je počáteční generace, která se postupně vyvíjí. Každý jedinec z populace je reprezentován tzv. chromozomem, který představuje jedno z možných řešení dané úlohy. Kvalita tohoto řešení se označuje tzv. fitness funkcí. Pro tvorbu nové generace jsou vybráni nejlepší jedinci 1 a jejich křížením či mutací vzniká nová generace. Kvalitní jedinci přitom mají větší pravděpodobnost nalezení vhodného partnera pro křížení. Po určitém počtu opakování vzniká jedinec představující dostatečně kvalitní řešení. Kvalitu tohoto řešení je však složité předpovědět. Jedním z důvodů je fakt, že kvalitní jedinec pro tvorbu další generace je definován pouze v porovnání s kvalitou ostatních jedinců, takže i špatné řešení může být označeno za dobré, pokud existují ještě horší. Tento fakt je také jedním z důvodů časté kritiky GA. GA lze pro průzkum využít několika způsoby. V nejjednodušším případě je fitness funkce definována pouze cenou určenou celkovou vzdáleností, kterou roboty ujedou při průzkumu cílů. Složitější možností je podobně jako u aukčních metod využití užitkových funkcí pro ohodnocení užitku všech cílů. Tento postup je popsán v [?]. Na počátku je užitečnost všech cílů pro všechny roboty rovna 1. Užitečnost cíle pro ostatní roboty se snižuje v okamžiku, kdy je tento cíl přiřazen nějakému jinému robotu. Snižuje se také užitečnost všech ostatních cílů, které lze z tohoto cíle vidět. Z užitečnosti a ceny je pak vypočtena fitness funkce daného řešení podle (3.1). f itness = užitečnost β cena vzdálenosti (3.1) Délka každého chromozomu je rovna počtu frontierů. Chromozom se skládá z čísel robotů přiřazených jednotlivým frontierům. Počáteční populace je generována náhodně. Z výsledků uvedených v [?] je patrné, že algoritmus dokáže efektivně provést průzkum neznámého prostředí. 3.6 Využití formulace problému více obchodních cestujících V oddíle 2.5 je popsána metoda průzkumu založená na řešení problému obchodního cestujícího [?], která vede na výrazně kratší dobu potřebnou k průzkumu neznámého prostředí. Přirozeným rozšířením toho přístupu v úloze multi-robotického průzkumu je formulace úlohy jako problému více obchodních cestujících, v angličtině označovaném jako Multiple Traveling Salesman Problem (MTSP). V porovnání s výše uvedenými postupy je motivace přístupu založeného na řešení úlohy TSP nebo MTSP zohlednění navštívení budoucích cílů a ne pouze aktuálně nevýhodnějšího cíle. To znamená, že je plánováno s ohledem na delší horizont robotického průzkumu a nikoliv pouze hladové rozhodování v aktuálním kroku. Ověření možnosti řešení úlohy multi-robotického průzkumu jako úlohy MTSP je jedním z hlavních přínosů této diplomové práce. Z toho důvodu je problém více obchodních cestujících popsán v tomto oddíle podrobněji. 3.6.1 Problém více obchodních cestujících Jedná se o rozšíření základního problému jednoho cestujícího. V tomto případě se uvažuje m cestujících a n měst, přičemž se předpokládá m n. Úkolem je stejně jako v případě jednoho cestujícího navštívit všechna města (vrcholy grafu) tak, aby celková 1 Definice dobrého jedince pro výběr závisí na konkrétních požadavcích řešené úlohy. 21

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM vzdálenost byla co nejmenší. Postup tvorby grafu je v podstatě identický jako v případě úlohy TSP, jen vrcholů představujících výchozí pozici robotů je m. Existuje mnoho variant tohoto problému a také přístupů jejich řešení. Přehled variant a přístupu řešení lze nalézt například v [?]. V následujících odstavcích tohoto oddílu jsou uvedeny pouze ty varianty, které přímo souvisí s multi-robotickým průzkumem. V první řadě je možné úlohu MTSP definovat pro dvě základní optimalizační kritéria označované jako MinSum a MinMax. Cílem řešení úlohy MTSP-MinSum je nalezení takových cest, pro které je součet jejich délek minimální. V [?] je představen postup jak úlohu MTSP-MinSum převést na úlohu TSP, kterou pak lze řešit metodami TSP. V případě MTSP-MinMax je cílem nalézt takové řešení, ve kterém je minimalizována délka nejdelší cesty. Autoři [?] uvádějí, že tuto variantu úlohy MTSP není možné řešit převodem na TSP, nebot řešení takové úlohy TSP vede na degenerované řešení původní úlohy MTSP-MinMax, tj. například některé cesty jsou velmi krátké nebo obsahují pouze jediný vrchol. Varianta MTSP-MinMax lépe vystihuje zvolené kritérium efektivního robotického průzkumu, kterým je čas potřebný pro prozkoumání neznámého prostředí. Jednou z důležitých variant problému MTSP je zda všichni cestující začínají v tomtéž vrcholu či v rozdílných vrcholech. V případě multi-robotického průzkumu je zřejmé, že každý robot začíná na jiné výchozí pozici, tzn. v grafu této situaci odpovídají různé počáteční vrcholy pro každého cestujícího. Další důležitou vlastností rozlišující varianty MTSP je podmínka na poslední vrchol cesty každého cestujícího. Variant je několik a základní rozlišení je, že se každý cestující bud vrací do svého počáteční vrcholu, nebo se může vracet do libovolného vrcholu. Dále je možné zavést různá omezení počtu cestujících v jednom vrcholu apod. Pro robotický průzkum prostředí je však důležitá varianta, ve které se cestující do výchozích vrcholů nevrací a hledaná cesta je tzv. otevřená, podobně jako v případě jednoho obchodního cestujícího. Samotná úloha TSP je NP-těžká a nejinak je tomu také v případě úlohy MTSP, což je snadno dokazatelné zmíněným převodem MTSP na TSP. Z tohoto důvodu jsou z hlediska praktického řešení úlohy MTSP při multi-robotickém průzkumu preferovány přístupy aproximační, které sice negarantují optimální vyřešení úlohy, ale mají mnohem nižší výpočetní nároky. Mezi aproximační přístupy patří například algoritmy mravenčích kolonií [?,?] nebo genetických algoritmů, jejichž využití v multi-robotickém průzkumu je zmíněno v [?,?]. V této diplomové práci je zvolen přístup řešení úlohy MTSP-MinMax [?], který je založen na samo-organizujících se mapách (SOM). Ty nejen, že řeší přímo úlohu s MinMax kritériem, ale také poskytují dostatečnou flexibilitu [?] pro řešení varianty MTSP vyplývající z řešení multi-robotického průzkumu, tj. různé počáteční vrcholy jednotlivých cestujících a otevřených cest. 3.6.2 Řešení úlohy MTSP v multi-robotickém průzkumu Rozšíření úlohy TSP na MTSP v úloze multi-robotického průzkumu vede na variantu MTSP-MinMax, ve které cestující začínají v různých vrcholech a zároveň jsou hledané cesty otevřené. Zvolený přístup řešení této varianty MTSP a použitý v této diplomové práci je založen algoritmu samo-organizující se mapy (SOM) [?]. SOM je v tomto případě dvou-vrstvá kompetitivní neuronová sít, která obsahuje dvou dimenzionální vstupní vektor a pole výstupních jednotek. Geometrická reprezentace neuronové sítě je zobrazena 22

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM na obrázku 3.3. Vstupní vektor reprezentuje souřadnice (c i1, c i2 ) města c i a váhové koe- 1 city i c i 1 c i 2 [, ] 2 c i 1 j [, ν ] νj 1 j 2 ν j 1 j c i 2 ν j 2 M 1 M ring of connected nodes (a) (b) Obrázek 3.3: Geometrická interpretace SOM pro TSP. Obrázek převzat z [?]. ficienty sítě ν j1, ν j2 mohou být interpretovány jako souřadnice neuronu ν j. Neurony jsou spojeny do řetízku, který reprezentuje hledanou cestu a v případě úlohy MTSP je pro každého cestujícího vytvořen samostatný řetízek. Sít je inicializována malými náhodnými hodnotami váhových koeficientů a města jsou sekvenčně předkládána na vstup neuronové sítě v náhodném pořadí. Z výstupní jednotky je pak vybírán vítězný neuron pro předkládané město podle kompetitivního pravidla ( ν = argmin ν c, ν 1 + l ) ν l avg, (3.2) l avg kde c, ν je eukleidovská vzdálenost mezi městem c a neuronem ν, l ν je délka řetízku, do kterého patří neuron ν a l avg je průměrná délka řetízků. Toto pravidlo preferuje neurony, které jsou z kratších řetízků, což vede na minimalizaci nejdelší cesty a tím řešení úlohy MTSP-MinMax. Váhové koeficienty vítězného neuronu a jeho sousedních neuronů jsou upraveny tak, aby se přiblížili k předkládanému městu podle funkce f. Tato funkce vlastně posouvá neurony blíž k městu c i podle pravidla ν j = ν j + µf(g, d)(c i ν j ), (3.3) kde µ je rychlost učení. Funkce f je ve tvaru f(g, d) = exp( d 2 /G 2 ) pro d < 0.2m a f(g, d) = 0 jinak, kde G je parametr zesílení, d je vzdálenost (v počtu neuronů) neuronu od vítězného neuronu měřena podél příslušejícího řetízku a m je počet neuronů v řetízku, který je stanoven na m = 2.5n/k, kde n je počet měst a k je počet cestujících. Zesílení G je snižováno v každé iteraci, tj. po kompletním předložení všech měst neuronové síti, dle parametru rychlosti snižování zesílení α. Vhodné nastavení počáteční hodnoty G závisí na počtu měst n a autoři [?] experimentálně nalezli vztah G 0 = 0.06 + 12.41n. Autoři rovněž doporučují hodnoty parametrů µ = 0.6 a α = 0.1. Základní schema SOM algoritmu pro MTSP-MinMax je znázorněno v Algoritmu 1. Vlastní adaptační schema SOM je vlastně iterativní procedura, během které jsou neurony adaptovány k městům dokud každé město nemám vítězný neuron dostatečně blízko, tj. je blíže než zvolená hodnota δ. Vlastní řešení úlohy MTSP je reprezentováno právě vítěznými neurony, nebot inhibiční mechanismus zajišt uje, že na konci každé iterace má 23

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM Algoritmus 1: SOM pro MTSP-MinMax 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Vstup: C = {c 1,..., c n } - množina měst Vstup: c d, c d C počáteční město Vstup: k počet cestujících Vstup: (G, µ, α, d) - parametry SOM Vstup: δ maximální přípustná chyba R {r 1,..., r m r i = ring(c d )} // počáteční inicializace řetízků repeat error 0 I // množina inhibovaných neuronů foreach r R do ν vyber vítězný neuron z r k c d, ν / I error max{error, ν, c d } adaptuj(ν, c d ) I I {ν } // vítězný neuron je inhibován Π(C \ {c d }) náhodná permutace měst foreach c Π(C \ {c d }) do ν vyber vítězný neuron k c, ν / I error max{error, ν, c } adaptuj(ν, c) I I {ν } G (1 α)g until error δ // vítězný neuron je inhibován // snížení zesílení každé město asociován unikátní neuron. Inhibiční mechanismus znamená, že v rámci jedné iterace je vítězný neuron vyřazen z výběru dalšího vítězného neuronu pro jiné město. Proto lze na konci každé iterace získat řešení úlohy, tj. posloupnost navštívení měst pro jednotlivé cestující, jako posloupnost měst asociovaných k vítězným neuronům každého řetízku. Uvedený algoritmus řeší variantu MTSP, ve které cestující začínají ve společném městě a cestují po uzavřených cestách. Rozšíření tohoto algoritmu pro variantu s různými počátečními městy je velmi snadné, nebot v první for smyčce stačí uvažovat individuální město pro každého cestujícího. Také rozšíření o uvažování otevřených cest je podobně jednoduché. Funkce adaptuj pracuje v základní verzi s řetízkem, tj. poslední neuron má dva sousední neurony: předposlední a první. V případě hledání otevřené cesty stačí řetízek rozpojit a pro poslední neuron uvažovat pouze jediný sousední neuron (ten předposlední). Tato modifikace algoritmu byla představena v [?], kde lze také nalézt podrobnější popis těchto rozšíření. Přestože uvedený algoritmus hledá řešení úlohy MTSP-MinMax není jeho přímé použití pro nalezení cest v prostředí s překážkami úplně přímočaré, nebot základní varianta algoritmu uvedená v [?] předpokládá, že neurony se pohybují v rovině, tj. v prostředí bez překážek, kde je postačují uvažovat eukleidovské vzdálenosti mezi neurony a městy a mezi neurony navzájem (pro výpočet délky řetízku). V případě prostředí s překážkami je důležité zajistit, aby neurony (váhové koeficienty neuronové sítě) byly vždy ve volném prostoru, jelikož v opačném případě by řetízek mohl reprezentovat cestu, která není pro robot schůdná, nebot by jej navedla do překážky. V [?] jsou představena rozšíření uve- 24

KAPITOLA 3. MULTI-ROBOTICKÝ PRŮZKUM dené základní SOM metody pro MTSP, které umožňují použít tuto metodu také v prostředí s překážkami a tím i pro řešení úlohy multi-robotického průzkumu. Základní myšlenka těchto rozšíření se dá shrnout tak, že během adaptace není uvažována eukleidovská vzdálenost neuronu k městu, ale délka nejkratší cesty, která se vyhýbá překážkám, z neuronu k danému městu. Této vzdálenosti je využito při výběru vítězného neuronu. Nejkratší cesta neuron-město je pak využita při vlastní adaptaci, kterou si lze představit tak, že neuron je posunován po této cestě k městu o vzdálenost definovanou funkcí f. Bližší popis těchto rozšíření je možné nalézt v [?]. V průběhu adaptace neuronové sítě je nutné vyhodnotit velké množství dotazů na nejkratší cestu mezi dvěma body (neuron-města a neuron-neuron), což může být výpočetně náročné, nebot v případě robotického průzkumu je mapa prostředí postupně vytvářena, a proto není možné využít urychlujících struktur uvedených v [?]. Z tohoto důvodu je využito SOM adaptačních pravidel na grafu, která byla představena v [?]. Princip je velmi podobný jako v případě nejkratší cesty, jen je pohyb neuronů omezen na pohyb po hranách grafu a nejkratší cesty jsou hledány v grafu nějakým standardním algoritmem, např. Dijkstrovým algoritmem. Klíčem k použití SOM metody pro řešení MTSP v úloze multirobotického průzkumu tak je vytvoření vhodného grafu. Obrázek 3.4: Příklad grafu vytvořeného pro metodu SOM s vyznačenými třemi typy vrcholů: roboty zeleně, cíle modře a přidané vrcholy překážek červeně. Požadovaný graf je nalezen podobným způsobem jako v případě použití formulace úlohy TSP uvedené v oddíle 2.5. Hlavní rozdíl je však v počtu vrcholů grafu, nebot je nutné přidat třetí typ vrcholů představující vrcholy překážek, které tvoří nejkratší cesty (nalezené algoritmem DT). Výsledný graf tak obsahuje pouze hrany, pro které představují úsečky mezi body reprezentované vrcholy grafu, a které celé leží ve volném prostoru. Tím je zajištěno, že neuron ležící na libovolné hraně vždy reprezentuje bod ve volném prostoru a souřadnice toho bodu jsou dány váhovými koeficienty neuronu. Příklad uvedeného grafu je uveden na obrázku 3.4. To, zda-li lze uvedené rozšíření SOM algoritmu řešení úlohy MTSP použít při multi-robotickém průzkumu, bylo ověřeno v řadě konkrétních úloh průzkumu a dosažené výsledky jsou uvedeny v kapitole 4. 25

Kapitola 4 Porovnání strategií multi-robotického průzkumu Cílem této práce je porovnat vybrané metody multi-robotického průzkumu neznámého prostředí, konkrétně porovnat vliv strategie výběrů cílů na efektivitu průzkumné mise. Pro porovnání byly vybrány tři strategie přidělování cílů vycházející z tzv. frontierbased přístupu: Základní hladový přístup [?] popsaný v oddíle 3.1, který každému robotu přiřazuje nejbližší cíl. Metoda využívající mad arský algoritmus popsaná v oddíle 3.4, který slouží k optimálnímu výběru a rozdělení současných cílů mezi roboty. Přístup založený na rozdělení cílů řešením problému MTSP (viz oddíl 3.6) metodou popsánou v oddíle 3.6.2. Pro účely porovnání byl vytvořen softwarový rámec pro multi-robotický průzkum založený na centralizovaném přístupu, do kterého jsou zahrnuty implementace dílčích metod výběru cílů. Součástí rámce je vyčítání senzorů, stavba mapy a též vlastní autonomní navigace. Rámec je založen na systému Player/Stage [?], který umožňuje jednoduchý přechod ze simulovaného prostředí k nasazení metod v reálném experimentu. S ohledem na očekávané množství testů byly metody zkoumány v simulátoru. Poznámky k implementacím jednotlivých metod jsou uvedeny v oddíle 4.2. Hlavním sledovaným kritériem průzkumné mise je celkový čas průzkumu T a dílčími kritérii jsou časy T 67%, T 90% a T 95% potřebné k prohledání 67 %, 90 % a 95 % prostředí z celkového prozkoumaného prostoru. Porovnání metod bylo provedeno pro různá prostředí, konkrétní nastavení metod a parametry průzkumné mise. Uvažované parametry jsou detailně popsány v následujícím oddíle a prostředí a použitá nastavení metod pak v oddíle 4.3. Prezentaci výsledků a jejich vyhodnocení jsou věnovány oddíly 4.3.2 a 4.3.3. V oddíle 4.4 je pak popsáno nasazení multi-robotického průzkumu na reálných robotech prostředí SyRoTek [?]. 26

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU 4.1 Uvažované parametry průzkumné mise Základními uvažovanými parametry průzkumné mise jsou: typ robotů a senzorické vybavení. počet robotů provádějících průzkum, velikost buňky v mřížkové mapě, podmínka pro provedení přeplánování, počet buněk seskupených do jednoho frontieru, uvažování neznámého prostředí jako obsazený/volný prostor. Diskuse jednotlivých parametrů je uvedena v následujících odstavcích. Typ robotu uvažovaný v testech metod průzkumu vychází z reálného robotu S1R jehož model pro systému Player/Stage [?] je součástí prostředí SyRoTek [?]. Jedná se o diferenciální robot s rozměry 17,4 16.3 18,0 cm a maximální rychlostí 0.35 m.s 1 [?]. Robot byl řízen lokálním navigačním algoritmem SND [?], přičemž byla využita implementace algoritmu v projektu Player [?]. V realizovaných testech v simulátoru byly použity následující nastavení algoritmu: poloměr robotu (0,1 m) a maximální rychlost robotu 0,75 m.s 1. Pro globální navigaci (plánování cesty) byl využit algoritmus DT. Senzorické vybavení robotu je tvořeno laserovým dálkoměrem Hokuyo URG-04LX, pro který je v simulátoru taktéž vytvořen model. V tomto modelu lze nastavit úhlový rozsah a maximální měřenou vzdálenost. V případě simulací byly zvolen úhlový rozsah 240, tedy maximální rozsah, který skutečný senzor poskytuje. Reálný robot S1R má v důsledku umístění senzoru do těla robotu tento rozsah mírně omezen. Měřená vzdálenost je omezena na maximálně 3,5 m. Pro zpracování senzorických dat je použit jednoduchý model laserového dálkoměru. Pokud je naměřena vzdálenost menší, než maximální povolená vzdálenost, je příslušný bod v mapě označen jako překážka s pravděpodobností p = 0, 9 a zbylé body ležící na úsečce spojující střed dálkoměru s posledním bodem jako volný prostor s pravděpodobností p = 0.1. Velikost buňky v mřížkové mapě je zvolena s ohledem na testována prostředí, která mají rozměry Testovaná prostředí mají rozměry 20 m 20 m až 22 m 54 m. Velikost jedné buňky v mapě je stanovena na hodnotu 0,05 m, která se v porovnání s uvažovanými prostředími jeví jako vhodný kompromis mezi přesností dělení prostředí a náročností výpočtů. Podmínek pro přeplánování je možné stanovit více. Je zřejmé, že k přeplánování by mělo dojít ve chvíli, kdy všechny roboty dojedou do určeného cíle, případě cíle dosáhne alespoň jeden z nich. Dojezd robotů do cílů však může trvat dlouho. V případě, že by toto bylo jediné kritérium pro přeplánování, mělo by to za následek pomalou reakci na nově nalezené frontiery. Z tohoto důvodu jsou také uvažovány další podmínky. První je možnost přeplánovat po určitém čase, takže plánovač má pevně stanovenou periodu plánování. Druhou možností je přeplánování ve chvíli, kdy některý z robotů ujede předem zadanou vzdálenost. Počet buněk seskupených do jednoho frontieru - ovlivňuje počet frontierů. Menší počet buněk znamená vyšší počet frontierů a tedy i potencionálních cílů. Počet buněk, 27

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU které leží na rozhraní mezi známým a neznámým prostorem, a které jsou získány jedním měřením dat z laseru, závisí na dosahu dálkoměru, jeho úhlovém rozsahu a samozřejmě na velikosti jedné buňky. Při nevhodném nastavení se může stát, že jsou všechny nalezené buňky seskupeny do jediného frontieru. V případě, že cíl je uvažován jako bodový (tj. střed zvolené buňky) reprezentant frontieru, může takový jediný frontier vést situaci, že se robot nebude pohybovat. Příklad takové situace je znázorněn na obrázku 4.1, ve kterém Obrázek 4.1: Ukázka případu kdy jsou všechny hraniční buňky sloučeny do jediného frontieru a jeho střed je téměř totožný s pozicí robotu (černý kruh uprostřed). je cíl určen jako střed frontieru. Tento střed však leží velmi blízko aktuální pozici robotu, proto by přiřazení tohoto cíle robotu způsobilo, že by se robot téměř nepohnul z místa. V provedených testech byl počet buněk tvořící frontier volem v rozsahu 30 až 100. Uvažování neznámého prostředí jako obsazeného nebo volného prostoru ovlivňuje způsob plánování cest k cílům. Ve známém prostředí, kde se prostor dělí na volný a obsazený překážkou, se cesty přirozeně plánují přes volný prostor. O neznámém prostředí lze uvažovat jako obsazeném prostoru případně jako o volném prostoru. Příklad způsobu plánování při rozdílném uvažování neznámého prostoru je znázorněna na obrázku 4.2. Ten ukazuje situaci, kde jsou dva roboty (znázorněné jako větší černé disky) a tři cíle (menší tmavé disky). Černě jsou značeny překážky a světlým odstínem šedi neznámý prostor. V neznámém prostoru se může nacházet překážka (tmavý odstín šedi). Pokud je uvažováno, že neznámý prostor je obsazený, a tedy nelze přes něj plánovat, robot zvolí delší cestu k dosažení cíle na druhé straně. V případě, že se tam překážka nevyskytuje je však tato cesta zbytečně dlouhá. Druhou možností je uvažovat, že neznámý prostor je volný a využít jej pro plánování cesty. Pokud by však v naplánované cestě ležela překážka, robot by cíle nedosáhl. V takovém případě by reaktivní algoritmus zabránil srážce a snažil by se robot navigovat tak, aby překážku objel. To však může být v konečném důsledku časově náročnější než v případě naplánované cesty ve skutečném aktuálně známém volném prostoru. Je zřejmě, že uvažování o neznámém prostoru je spekulativní. Pro získání přehledu, zda-li situace, ve kterých by rozdílná interpretace byla výhodná, vůbec při vlastním průzkumu nastává, bylo rozdílné uvažování volného prostoru testováno ve vybraných scénářích průzkumných misí. 4.2 Poznámky k implementaci Softwarový rámec pro multi-robotický průzkum byl implementován v jazyce C++. Součástí rámce jsou implementací dílčích úloh nezbytných pro autonomní navigaci robotu, 28

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU (a) není povoleno (b) je povoleno Obrázek 4.2: Porovnání Povolení/zakázání plánování cest přes neznámý prostor. zpracování senzorických dat a funkce pro aktualizaci a tvorbu mapy prostředí. Tyto implementace zahrnují algoritmus DT pro výpočet cest, metody pro nalezení frontierů a metody pro práci s mapou, které jsou zejména zanesení nového měření, implementace Minkowského sumy pro zvětšování překážek a Bresenhamův algoritmus pro rasterizaci úseček v mřížce. Pro přidělování cílů mad arskou metodou byla využitá dostupná knihovna libhungarian [?]. Implementaci algoritmu MTSP SOM pro řešení úlohy MTSP dodal vedoucí práce. K vykreslování stavu úlohy a ukládání záznamů byla využita knihovna SDL [?]. Dílčí implementační detaily k jednotlivým metodám přidělování cílů jsou uvedeny v následujících odstavcích. Hladová metoda Tato metoda vychází z postupu představeného v [?], kde je však uvažováno decentralizované řešení, ve kterém se každému robotu přiřazuje nejbližší cíl. To však může způsobit, že dva roboty budou prohledávat stejný cíl. V případě implementovaného centralizovaného přístupu je možný ještě další způsob výběru cílů založený na společném seznamu cílů, ve kterém se po přiřazení cíle některému robotu tento cíl odstraní. Oba přístupy rozdělení cílů byly implementovány a porovnání vlivu na čas průzkumu je součástí prezentovaných výsledků této kapitoly. Metoda s mad arským algoritmem Tato metoda je založena na rozdělení cílů robotům mad arským algoritmem, konkrétně implementací 1 [?]. Vstupem algoritmu je matice délek cest ke všem cílům pro všechny roboty, výstupem je matice definující přiřazení robotů k cílům. Použitá implementace dokáže problém řešit i pro matici, která není čtvercová, a pro kterou platí r c, kde r značí počet řádků a c počet sloupců. V případě, že je potřeba r > c, lze problém řešit na transponované matici a výslednou matici opět transponovat. Metoda MTSP V této metodě se využívá pro rozdělení cílů řešení problému více obchodních cestujících. Implementaci algoritmu řešení MTSP založené na samo-organizujících se mapách 1 Tato konkrétní implementace obsahuje chybu, jež může při hledání řešení způsobit uváznutí v nekonečné smyčce. Z tohoto důvodu bylo nutno program doplnit o detekci tohoto problému a ukončení hledání řešení. 29

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU dodal vedoucí práce. Tento algoritmu má řadu parametrů, které byly ponechány ve výchozím nastavení, nebot představují kompromis mezi kvalitou řešení výpočetní náročností a vycházejí z původní práce autorů [?]. Konkrétní použité hodnoty odpovídají hodnotám uvedeným v oddíle 3.6.2. Jelikož algoritmus negarantuje nalezení optimálního řešení je pro účel nalezení kvalitnějšího řešení spuštěn vícekrát. Jako výsledné řešení je pak vybráno nejlepší z nalezených. Pozorováním bylo zjištěno, že přibližně po pěti spuštěních se nalezená řešení často opakují, proto po počátečním testování byla tato hodnota opakování označena jako dostačující. Ve všech prezentovaných výsledcích v této práci byl výběr proveden vždy jako nejlepší řešení z pěti nalezených řešení. Prvotními testy prováděnými na počítači s dvou-jádrovým procesorem 2 GHz bylo zjištěno, že nalezení jednoho řešení trvá maximálně 20 ms, což je vzhledem k průměrné době průzkumu zanedbatelná hodnota. 4.3 Výsledky porovnání nastavení a metod strategií průzkumu Pro porovnání metod bylo celkově provedeno přibližně 3000 simulací. Nejdříve byly testovány dílčí nastavení a následně pak pro zvolené parametry byly provedeny testy pro vzájemné porovnání studovaných strategií přidělování cílů v multi-robotickém průzkumu. Pro každé nastavení bylo 20 testů a prezentované hodnoty jsou tak průměrnou hodnotou z provedených běhů. Provedené testy byly realizovány s využitím více-procesorového systému s procesory Intel Xeon X5660 2.8 GHz poskytující celkem 12 výpočetních jader, disponující 48 GB RAM a nainstalovaným 64-bitovým operačním systémem FreeBSD 8.2. 4.3.1 Testované scénáře robotických misí Výsledky pro posouzení vliv jednotlivých parametrů vybraných strategií přidělení cílů i vzájemné porovnání strategií byly získány pro tři různá testovací prostředí simulátoru systému Player/Stage. Prostředí jsou vizualizována na obrázku 4.3. První z nich je prostředí autolab obr. 4.3(a), kde byly simulace provedeny pro pět robotů a dvě různé výchozí pozice P1 a P2, v obrázku značeny čárkovaným obdélníkem, jednotlivé pozice robotů jsou vyznačeny černými disky. Rozměr prostředí je 20 m 20 m. Druhým testovaným prostředím jh obr. 4.3(b), které představuje mapu skutečné kancelářské budovy. V tomto prostředí byly vytvořeny scénáře pro průzkum se třemi a šesti roboty. V případě průzkumu třemi roboty je obsazena jen spodní řada robotů. Rozměr prostředí je 21 m 24 m. Konečně třetím testovaným prostředím je prostředí je mírně upravené prostředí hospital obr. 4.3(c), taktéž převzato z projektu Player. Úpravy spočívají v odstranění některých zdí tak, aby se některé překážky daly objet a došlo k vytvoření smyček v prostředí, které jsou z hlediska plánování zajímavější. V takových prostředích se totiž více úplatní vliv plánování, nebot existuje více způsobů jak cílů dosáhnout. Odstraněné zdi jsou vyznačeny na obrázku 2.4 černými elipsami. V tomto prostředí byly testy provedeny pro pět a šest robotů, výchozí pozice je opět značena čárkovaným obdélníkem. Roboty jsou číslovány zleva doprava, tzn. v případě průzkumu pěti roboty je pozice zcela vpravo neobsazena. Rozměr prostředí je 22 m 54 m. Výchozí pozice robotů byly voleny s ohledem na průzkum neznámého prostředí, proto roboty začínají na pozicích představující vstup do zkoumaného prostředí. 30

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU (a) autolab (b) jh (c) Upravené prostředí hospitalm Obrázek 4.3: Testovací prostředí pro průzkumné mise. 4.3.2 Testy chování jednotlivých testovaných metod Nejdříve byly zkoumáno dílčí chování jednotlivých metod ve vybraných scénářích. Na základě těchto prvotních testů byly ověřeny implementace metod, případně byly metody upraveny. Následující odstavce jsou věnovány dílčím závěrům z provedených testů. Hladová metoda Prvotními testy bylo zjištěno, že v případě hladové metody je vhodné cíl po přiřazení některému z robotů vymazat a zamezit tak jeho přiřazení dalšímu robotu. Byla provedena řada dalších testů pro různá nastavení parametrů, kdy se cíle bud mazaly, nebo zůstávaly dále v seznamu cílů. Ve většině situací vycházelo mnohem výhodněji cíle mazat, nebot v takovém případě dosahují časy průzkumu průměrně 85 % času potřebného pro průzkum pokud se cíle ze seznamu nemažou. Další testování proto bylo uvažováno jen s touto modifikovanou hladovou metodou, tj. s nastavením mazání cílů po jejich přiřazení. U této modifikace bylo pozorováno nevýhodné chování v případě, kdy zbýval k prohledání jediný cíl. Na konci úlohy, kdy je prostředí téměř prozkoumané, jsou roboty často daleko od sebe. V případě, ve kterém tento cíl získal jako první vzdálenější robot, musel tento robot ujet že zbýval poslední cíl v blízkosti jednoho robotu, a získal cíl jako první vzdálenější robot, dlouhou cestu, zatímco ostatní roboty zůstaly stát. Proto byla pro tento případ byla provedena drobná úprava spočívající v obrácení metodiky, tedy nikoli 31

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU přiřazení nejbližšího cíle některému robotu, ale přiřazení nejbližšího robotu ke konkrétnímu cíli. Metoda s mad arským algoritmem Hned z prvních testů této metody bylo zřejmé, že rozdělení cílů metodou s mad arským algoritmem dokáže ve srovnání s oběma variantami hladové metody zabránit nežádoucím projevům znázorněných na obrázcích 3.1(a) a 3.1(b). Na rozdíl od výše popsané hladové metody například nebylo nutné nějakým způsobem řešit situaci s posledním cílem, který v případě hladové metody mohl být nevhodně přidělen. Metoda MTSP V případě použití metody MTSP bylo zjištěno, že se v některých případech pro některé roboty nenaplánuje průzkum k žádným cílům. Analýzou těchto situací bylo zjištěno, že to nastává v případě, ve kterém je některý z robotů mnohem dále od cílů než ostatní roboty. V takovém případě je totiž průzkum vhodné naplánovat jen pro roboty blízké k cílům (z hlediska optimalizovaného kritéria MTSP). Důsledek ovšem je, že v dalším plánovacím cyklu se vzdálenost tohoto robotu ještě zvýší, a proto bude tento robot téměř jistě vynechán z přidělování cílů až do ukončení průzkumu. Z tohoto důvodu byla původně navržená metoda mírně upravena. Tato úprava spočívá v přiřazení nejbližšího frontieru jako cíle každému robotu, pro který není naplánován žádný jiný cíl. Uvedenou situaci znázorňuje obrázek 4.4, kde robot R3 je dále od všech cílů a průzkum se tak naplánuje pouze pro roboty R1 a R2. Obrázek 4.4: Robot R3 nemá žádný přiřazený cíl a zastaví se. 4.3.3 Porovnání strategií průzkumu V tomto oddíle jsou diskutovány výsledky provedených testů, porovnání strategií průzkumu a také vliv parametrů průzkumu. Hlavními sledovanými parametry jsou počet buněk seskupených do jednoho frontieru (dále v textu značeno mf ) a vzdálenost ujetá některým z robotů pro přeplánování (značeno td). Všechny metody a všechna prostředí pak byla testována se stejnými zvolenými hodnotami parametrů. Pro vybrané hodnoty parametrů pak byly provedeny simulace s povolením plánování průjezdu neznámým prostorem. Detailní výsledky jsou uvedeny v tabulkách v příloze A. Přehled výsledků je graficky prezentován v grafech pro prostředí autolab na obr. 4.5 a 4.6, pro prostředí jh na obr. 4.7 a 4.8 a pro prostředí hospital na obr. 4.9 a 4.10. Další nastavení a metod na multi-robotický průzkum jsou diskutovány v následujících odstavcích. 32

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU Vliv na rychlost průzkumu Z prezentovaných grafů jsou patrné rozdíly potřebného času průzkumu mezi jednotlivými metodami. Jako nejrychlejší se jeví metoda, která k rozdělení využívá mad arského algoritmu, nebot ve většině případů vede na nejkratší dobu na úplné prohledání neznámého prostředí. V porovnání s modifikovanou hladovou metodou dosahuje ve většině případů rychlejších časů, v průměru asi o 5%. V malém množství případů je však o něco pomalejší. Naopak metoda MTSP vede na nejpomalejší průzkum. Z výsledků také vyplývá, že vliv parametrů td a mf na rychlost průzkumu tak významný, jak bylo původně předpokládáno. Ačkoli lze pro některé metody a některá prostředí nalézt vhodná nastavení, pro jiná prostředí jsou vhodnější nastavení jiná. Obrázek 4.5: Průměrné časy průzkumu: prostředí autolab, výchozí pozice P 1. Využití více robotů Vliv počtu robotů byl testován pro prostředí jh a hospital. V tabulce A.3 je uvedeno srovnání průzkumu s různým počtem robotů pro obě prostředí. Z dosažených výsledků je patrné, že n-násobné zvýšení počtu robotů nepřinese n-násobné zrychlení průzkumu. Například při zvýšení počtu robotů ze tří na šest, a možném očekávaném dvojnásobném zkrácení časů průzkumu, došlo ke zkrácení časů maximálně 1,5 krát. V případě prostředí hospital, kde byl testovaný počet robotů nejprve pět a poté šest, je teoretické zkrácení času průzkumu 1,2 krát. Nejenže takové časové úspory nebylo dosaženo, naopak v některých případech došlo ke zvýšení potřebného času průzkumu. Na základě těchto výsledků lze konstatovat, že pro toto konkrétní prostředí a nastavení metod nepřináší vyšší počet robotů než 5 očekávaný přínos. 33

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU Obrázek 4.6: Průměrné časy průzkumu: prostředí autolab, výchozí pozice P 2. Obrázek 4.7: Průměrné časy průzkumu: prostředí jh, počet robotů R = 3. 34

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU Obrázek 4.8: Průměrné časy průzkumu: prostředí jh, počet robotů R = 6. Obrázek 4.9: Průměrné časy průzkumu: prostředí hospital, počet robotů R = 5. 35

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU Obrázek 4.10: Průměrné časy průzkumu: prostředí hospital, počet robotů R = 6. Toto chování může být způsobeno řadou faktorů. Při vyšším počtu robotů se častěji stává, že roboty přejíždějí přes již zmapované části prostředí a nezískávají tak nové informace. Dalším pozorovaným faktem bylo, že při vyšším počtu robotů docházelo k častému setkání více robotů v úzkém průchodu (dveře) a roboty se zdržely vyhýbáním. Je také patrné, že ne vždy musí být dostatečný počet cílů pro všechny roboty, takže se některé roboty mohou zastavit. Například u metody MTSP bylo před provedením úprav často pozorováno, že pro některé roboty nebyly naplánovány žádné cíle. 4.4 Reálný experiment Ověření realizovaného rámce v reálném experimentu bylo provedeno v systému Sy- RoTek [?]. Systém je tvořen skupinou mobilních robotů S1R, které jsou vybaveny různými senzory, mimo jiné i laserovým dálkoměrem Hokuyo URG-04LX. Další částí systému je testovací aréna s množstvím překážek, z nichž některé je možné ovládat a měnit tak konfiguraci prostoru 2. Rozměry arény jsou 3.5m 3.8m. Z důvodů poměrně malých rozměrů arény a vzhledem k rozměrům prostředí testovaných v simulacích bylo nutné upravit nastavení některých parametrů zkoumaných metod. Především byl omezen dosah dálkoměru na 0, 5m. K laserovému dálkoměru je ještě nutné poznamenat, že jeho umístění na robotu S1R znemožňuje využití jeho plného úhlového rozsahu, který je omezen přibližně na 220. Toto omezení však nemá na průzkum velký vliv. Experimentální ověření bylo 2 Bohužel v době realizace diplomové práce nebylo rozhraní ovládání překážek veřejně přístupné, proto nebylo možné prostředí modifikovat. 36

KAPITOLA 4. POROVNÁNÍ STRATEGIÍ MULTI-ROBOTICKÉHO PRŮZKUMU provedenou se dvěma roboty, které byly v době testování k dispozici. Roboty jsou zobrazeny na obr. 4.11 a příklad mapy z reálného prostředí je zobrazen na obr. 4.12. Obrázek 4.11: Roboty S1R v úloze autonomního multi-robotického průzkumu. Obrázek 4.12: Ukázka modelu prostředí generovaného během reálného průzkumu. Experimentem bylo ověřeno, že s využitím simulátoru Player/Stage lze řešenou úlohu přenést do reálného světa. Na rozdíl od idealizovaného světa simulátoru se lze v reálných experimentech setkat s častějšími problémy. Prvním z nich je méně přesná lokalizace, která je v prostředí SyRoTek realizována kamerou sledující specifické vzory umístěné na vrchní straně těla robotu. Druhým problémem je šum senzorických dat, který v případě simulace je pouze aproximací reálného šumu. V tomto případě bylo nutné upravit původně použitý model senzoru, především pravděpodobnost správného měření. Zatímco pro model použitý v simulaci bylo možné měření důvěřovat s vysokou pravděpodobností a aktualizaci buňky provádět s hodnotami 0,92 pro překážku a 0,08 pro volný prostor, v případě reálného senzoru bylo nutné hodnoty změnit na 0,75 pro aktualicaci překážky a 0,12 pro aktualizaci volného prostoru. 37