1 Lokalizace v mobilní robotice
Lokalizace představuje jeden ze základních problémů mobilní robotiky. Jeho řešení je nutnou podmínkou pro autonomní chování mobilních robotů a také předpokladem pro řešení dalších klíčových robotických úloh, jako jsou plánování cílů nebo navigace.
Tato kapitola je věnována stručnému úvodu do robotiky a vysvětlení významu lokalizace pro jednotlivé kategorie robotů. Dále se zabývá systematickým rozdělením lokalizačních technik podle několika různých kritérií do jednotlivých kategorií, charakterizujících společné vlastnosti těchto technik. Závěr kapitoly je pak věnován problematice vzájemného srovnání jednotlivých lokalizačních technik používaných v robotice.
1.1 Robotika, mobilita a autonomie
Robotem1 budeme mít na mysli samostatně pracující stroj s určitou mírou autonomie, schopný vnímání svého okolí, který je určen k plnění stanoveného úkolu. Robotikou pak budeme rozumět interdisciplinární obor zabývající se návrhem, konstrukcí, řízením i využíváním robotů.
V současném světě nacházejí roboti uplatnění v širokém spektru činností, především tam, kde mohou cenou své práce úspěšně konkurovat ceně práce lidské, případně tam, kde využití lidské práce nepřipadá vůbec v úvahu. S dostatečným přísunem energie zvládají roboti mnohem větší námahu a dokáží neúnavně pracovat přesněji a rychleji. Nasazení robotů v nebezpečných aplikacích eliminuje hrozbu úrazů a lidských tragédií, výměnou za zpravidla přijatelnější riziko materiálních ztrát při případném poškození nebo zničení robota. Roboti též mohou být nasazeni pro činnosti v prostředích, ve kterých živí lidé nemohou pracovat vůbec.
Roboty různých kategorií nalezneme – bez nároku na úplnost – při pracích a činnostech v těchto odvětvích:
- průzkum a práce v nebezpečném prostředí: záchranné práce při přírodních katastrofách nebo technických haváriích, zneškodňování výbušnin, vojenské aplikace…
- činnosti v prostředí pro člověka zcela nepřístupném: aplikace ve vesmíru, ve velkých hloubkách pod hladinou, ve stísněných prostorách, za vysokých teplot, v zamořeném prostředí…
- průmyslová výroba: manipulace, montáž, svařování, lakování, kontrola, balení…
- letecká, kolejová i pozemní doprava: autopilot, automatické vedení vlaku, automaticky řízená vozidla…
- medicína: manipulátory pro provádění chirurgických operací, robotické protézy…
- osobní výpomoc: robotické vysavače, asistenční roboti a společníci…
- zábavní aplikace: robotický fotbal a další soutěže, hračky, umělá zvířata…
Množství strojů nesoucích společné označení robot je velké a jejich charakteristiky jsou rozmanité, závislé na konkrétním určení a specializaci robotů. Podle společných rysů můžeme roboty rozdělit do různých kategorií, které se od sebe budou odlišovat, mimo jiné, též významem lokalizačních technik pro správné fungování robotů v těchto kategoriích.
Podle schopnosti pohybu můžeme roboty rozdělit na stacionární a mobilní.
- Stacionární robot je upevněn k jednomu pevnému místu, ke svojí základně. Kolem této základny se může otáčet, případně se vůči ní posunovat, může také obsahovat další otočné nebo posuvné součásti, ale pevným spojením se základnou je rozsah jeho možného pohybu omezen. Typickými představiteli stacionárních robotů jsou průmyslové roboty.
- Mobilní robot se může volně pohybovat v prostoru, typicky tedy jezdit nebo kráčet po pevném povrchu, ale též plavat ve vodě nebo létat ve vzduchu. Na rozdíl od stacionárních robotů je zpravidla jeho součástí také vlastní zdroj energie, který mu dovoluje prakticky neomezený rozsah pohybu.
Lokalizace stacionárních robotů, respektive jejich součástí, je díky možnosti opatřit všechna pohyblivá uložení absolutními senzory posunutí nebo otočení poměrně přímočará. Naproti tomu lokalizace mobilních robotů poměrně složitý, avšak zajímavý problém. Právě různým technikám jeho řešení je věnována celá tato práce.
Dále můžeme roboty rozdělit podle míry jejich autonomie, a to takto:
- Dálkově ovládané (teleoperované) roboty jsou přímo řízené pomocí povelů udělovaných prostřednictvím živého operátora. Jedinou úlohou teleoperovaných robotů je správně interpretovat přijaté povely a případně též přenášet aktuální stavy senzorů zpět obsluhujícímu operátorovi.
- Plně autonomní roboti pracují naproti tomu naprosto samostatně, zcela bez zásahu živého operátora. Podle řídícího programu, apriorních informací a stavu okolního světa detekovaného pomocí senzorů autonomní roboti sami volí a vykonávají akce směřující ke splnění zadaných úkolů.
- Kombinaci obou kategorií představují roboti semi-autonomní. Ti mohou být přímo řízeni obsluhujícím operátorem, v určitých situacích ale mohou přejít do režimu autonomního chování, například při řešení nějaké rutinní úlohy, při ztrátě dostupnosti řídícího signálu nebo při výskytu nebezpečného stavu vyžadujícího okamžitou reakci. Příkladem může být návrat na počáteční pozici nebo vyhýbání se překážkám.
U autonomních a semi-autonomních robotů je lokalizace nezbytná pro jejich samostatné fungování, a to bez ohledu na architekturu jejich řídícího systému (s drobnou výhradou popsanou v části 1.2). Řešení problému lokalizace se přitom v zásadě sestává ze dvou na sebe navazujících úloh: ze snímání a měření vhodných veličin a z následného zpracování a vyhodnocení takto získaných dat pro pokud možno přesný a spolehlivý odhad skutečné polohy2 robota.
1 Slovo robot, dnes přejaté do většiny jazyků na světě, použil poprvé Karel Čapek ve hře R.U.R [1]. V češtině se dnes používá v životné i neživotné variantě, zpravidla podle míry autonomie nebo humanoidní podoby robota.
2 Výrazy „poloha“ a „pozice“ jsou v této práci užívána jako synonyma.
1.2 Mobilní robotika bez lokalizace
Ačkoliv je lokalizace nepostradatelnou součástí většiny řídících systémů autonomních robotů, je třeba zmínit také existenci alternativních přístupů k řízení robota, které ke svojí činnosti žádnou lokalizaci nepotřebují, jmenovitě reaktivní řízení nebo evoluční algoritmy. I když existují aplikace, ve kterých mají tyto přístupy svoje uplatnění, klasický přístup dekompozice řízení robota na jednotlivé úlohy, přičemž lokalizace je jednou z nich, je většinou výhodnější. Reaktivní řízení dovoluje řešit jenom poměrně jednoduché úlohy, evoluční (respektive genetické) algoritmy zase neumožňují nahlédnout do nitra řídícího systému, což nemusí být při plnění zodpovědnějších úkolů žádoucí.
1.3 Taxonomie lokalizačních technik
Jednotlivé lokalizační techniky se liší svým určením, schopnostmi, nutnými předpoklady ke svému fungování a dalšími atributy. Podle různých kritérií je lze rozdělit do kategorií, které charakterizují jejich společné vlastnosti. V této práci budeme lokalizační techniky rozdělovat podle charakteru měření, podle typu řešeného problému, podle možnosti lokalizační rutiny ovládat robota a podle dynamiky okolního prostředí.
1.3.1 Relativní a absolutní lokalizace
Podle charakteru měření můžeme lokalizační prostředky rozdělit na relativní a absolutní.
- Prostředky relativní lokalizace měří nebo odhadují relativní změnu polohy robota, tedy typicky jeho posunutí a rotaci v rovině vůči jeho předcházející poloze. Celková změna polohy vůči počáteční nebo poslední známé poloze robota v prostoru se určuje skládáním jednotlivých dílčích změn polohy. Kvůli drobným nepřesnostem v jednotlivých měřeních a řetězení těchto měření dochází k akumulaci celkové chyby odhadu polohy, takže se chyba s ujetou vzdáleností neustále zvětšuje. Prostředky relativní lokalizace jsou proto vhodné pouze pro krátkodobý odhad polohy robota. Mezi hlavní prostředky relativní lokalizace patří odometrie a inerciální navigace. Podrobnému popisu prostředků relativní lokalizace je věnována kapitola 3.
- Prostředky absolutní lokalizace umožňují zjistit nebo odhadnout absolutní polohu robota v prostoru, bez ohledu na události a stavy, které dosažení této polohy předcházely. Ačkoliv je přesnost a spolehlivost prostředků absolutní lokalizace také omezená, na rozdíl od prostředků relativní lokalizace nejsou zatíženy problémem akumulující se chyby, což je jejich hlavní výhodou. Ve srovnání s prostředky relativní lokalizace jsou však často technicky nebo výpočetně náročnější, frekvence jejich měření je zpravidla nižší a v některých případech mohou mít dostupnost omezenou pouze na část prostoru, v němž se robot pohybuje a v němž se má lokalizovat. Detailnímu popisu prostředků absolutní lokalizace se věnuje kapitola 4.
Pro spolehlivou, přesnou a robustní lokalizaci se v praxi v naprosté většině případů techniky z obou těchto kategorií kombinují. Mobilní robot typicky používá jednu techniku relativní lokalizace a jednu nebo více technik lokalizace absolutní. Ke zpracování dat z více vstupů stejného nebo různého charakteru se zpravidla používá pravděpodobnostní přístup. Ten dovoluje odhadnout polohu robota vhodným kombinováním informací z více senzorů, vzít přitom v úvahu předpoklady o omezené přesnosti jednotlivých senzorů a vyrovnat se i se situací, kdy si kvůli nepřesnostem a chybám jednotlivá měření o poloze robota vzájemně odporují. Podrobně se touto problematikou zabývá kapitola 2.
1.3.2 Globální a lokální techniky
Podle typu problému, který lokalizační techniky řeší, a podle nutnosti znát počáteční polohu robota můžeme lokalizační techniky rozdělit na lokální a globální.
- Lokální techniky nebo také techniky sledování pozice (anglicky tracking) předpokládají, že je robotovi jeho počáteční poloha v okamžiku jeho zapnutí známá. Za běhu tyto techniky pak průběžně udržují korektní odhad aktuální polohy robota a vypořádávají se s chybami jednotlivých měření. Při selhání lokalizace, a to i krátkodobém, při kterém se odhad polohy příliš odchýlí od skutečné polohy robota, hrozí ale při použití výhradně lokálních technik možnost vzniku nezotavitelné chyby.
- Globální techniky dovolují lokalizovat robota i bez předcházející znalosti
jeho polohy. Podle robustnosti, konkrétně podle schopnosti řešit následující
problémy, lze globální techniky dále rozdělit do dvou podkategorií:
- Globální techniky řešící problém probuzeného robota (wake-up robot problem), které jsou schopné lokalizovat robota bez znalosti jeho polohy v okamžiku probuzení, respektive zapnutí. Robot přitom ale dobře ví, že byl právě probuzen, aniž by tušil, kde.
- Globální techniky řešící problém uneseného robota (kidnapped robot problem), které dokáží lokalizovat robota po jeho „únosu“ během jeho provozu, tedy v době, kdy už udržoval odhad své vlastní polohy. „Únosem“ se v tomto případě rozumí přemístění (teleportování) robota na jiné místo, aniž by robot tento akt přemístění mohl detekovat. Zdánlivě umělá úloha poměrně dobře dokáže hodnotit schopnost lokalizace zotavit se při neočekávaných zásadních selháních. Příkladem „únosu“ z praxe může být násilné příčné posunutí diferenčně řízeného robota způsobené bočním nárazem jiného robota. Zajišťují-li relativní lokalizaci robota inkrementální encodery, nemůže posunutí v příčném směru nikterak detekovat. Při použití jiných senzorů, například akcelerometrů, by ale stejný pohyb „únosem“ nebyl.
Schopnost lokální a globální lokalizace je dána jak senzorickým vybavením robota, tak i způsobem následného zpracování a kombinace senzorických dat.
1.3.3 Pasivní a aktivní lokalizace
Podle možnosti lokalizačního systému cíleně ovlivňovat řízení robota lze lokalizační systémy rozdělit na pasivní a aktivní.
- Pasivní lokalizace zajišťuje vytvoření a udržování odhadu polohy robota na základě proudu senzorických dat, který průběžně dostává na svůj vstup. Nemůže ale nikterak zasahovat do ovládání robota. Pasivní lokalizace je běžnější, velká část robotů disponuje pouze pasivní lokalizací.
- Aktivní lokalizace dovoluje lokalizačnímu systému robota částečně nebo
zcela převzít kontrolu nad ovládáním robota, je-li toho zapotřebí ke zlepšení
odhadu polohy. Technikami aktivní lokalizace jsou:
- aktivní snímání, které lokalizační rutině umožňuje ovládat senzory robota, například jejich nastavení nebo nasměrování („kam se podívat“),
- aktivní navigace, která lokalizační rutině dovoluje řídit pohyb celého robota („kam se pohnout“).
Nebude-li výslovně uvedeno jinak, zabývá se tato práce lokalizačními technikami v systémech pasivní lokalizace. Aktivní lokalizaci je potom věnována část 5.2.
1.3.4 Statické a dynamické prostředí
Prostředí, ve kterém se robot pohybuje, lze charakterizovat podle jeho neměnnosti či nestálosti jako statické nebo dynamické.
- Statické prostředí je zcela stálé a neměnné. V ideálním statickém prostředí je robot jediným objektem, který se pohybuje.
- Dynamické prostředí mění v čase svoje vlastnosti, například úroveň osvětlení nebo otevření a uzavření dveří, případně se v něm kromě robota pohybují či přemísťují i další objekty, typicky jiní roboti, lidé nebo třeba krabice či palety se zbožím. Tyto proměnné vlastnosti prostředí přitom ovlivňují senzorické vnímání robota – na jednom a témže místě bude vnímání robota v různém čase rozdílné.
Vzhledem k zásadnímu rozdílu složitosti modelů používaných v lokalizačních metodách mezi statickým prostředím a prostředím dynamickým se při lokalizaci zpravidla uvažuje prostředí statické. Řešením problému lokalizace v dynamickém prostředí, ve kterém jsou porušeny předpoklady kladené na statické prostředí, se zabývá část 5.1.
1.4 Srovnání lokalizačních technik
Tato práce se podrobně zabývá srovnáním různých lokalizačních technik používaných v robotice a jejich systematickým popisem v jednotlivých kapitolách, uspořádaných podle charakteru těchto technik. Při porovnávání lokalizačních technik se tato práce soustředí na podrobné porovnávání jednotlivých možností a vlastností těchto technik. Přitom se často ukazuje, že přednosti jedné techniky v určitém atributu jsou kompenzovány určitými nevýhodami v jiném atributu a obráceně.
Protože si tato práce klade za cíl srovnání lokalizačních technik v obecné rovině, bez ohledu na jednu konkrétní aplikaci, nemůže rozhodnout, zda je lepší přesnější, ale výpočetně náročnější lokalizační technika, nebo je-li naopak lepší méně přesná technika, která je však rychlá a schopná fungování bez silného hardwaru. Z tohoto důvodu nelze od této práce očekávat žádný závěr typu jednoduchého žebříčku, který by srovnával lokalizační techniky podle toho, jak jsou „dobré“, protože žádnou všeobecnou „dobrost“ nelze rozumně definovat.
Dalším vymezením této práce je úmyslná rezignace na experimentální srovnávání kvantitativních vlastností jednotlivých technik a metod. Taková činnost by totiž nutně nebyla srovnáním lokalizačních technik a metod samotných, nýbrž jen srovnáním některých jejich implementací. U simulovaných (i případně fyzicky realizovaných) experimentů by navíc byly výsledky zkoumání zatíženy počáteční pevnou volbou podmínek a prostředí, přestože tato práce ukazuje, že pro různá prostředí a pro různé podmínky jsou vhodné různé lokalizační techniky. Z toho plyne, že by takovéto experimentální srovnání nekorespondovalo se snahou této práce o obecné a v maximální možné míře objektivní srovnání lokalizačních technik.
1.5 Shrnutí kapitoly
V této úvodní kapitole jsme se věnovali stručnému představení robotiky a významu řešení problému lokalizace v robotice mobilní a autonomní. Ukázali jsme, že se jedná o jeden ze základních problémů robotiky, jehož řešení je podmínkou pro řešení dalších robotických úloh. Zmínili jsme ale také alternativní řídící architektury používané v mobilní robotice, které lokalizaci ke svému fungování nepotřebují.
Lokalizační techniky jsme poté systematicky rozdělili a kategorizovali, a to podle charakteru měření, podle typu řešeného problému, podle přístupu lokalizační rutiny k ovládání robota a podle dynamiky okolního prostředí. Tyto kategorie využijeme v následujících kapitolách při charakterizaci jednotlivých popisovaných lokalizačních technik. V závěru kapitoly jsme se zabývali vlastní problematikou srovnávání lokalizačních technik používaných v robotice.