5 Další témata

V předcházejících částech této práce jsme předpokládali, že prostředí, ve kterém se má robot lokalizovat, je statické, tedy stálé a neměnné, přičemž jediným objektem, který se v tomto prostředí pohybuje nebo mění svůj stav, je lokalizující se robot. Zároveň jsme se doposud zabývali pouze lokalizací pasivní, která pro odhad polohy průběžně vyhodnocuje proud příchozích senzorických dat, ale nijak nezasahuje do řízení robota.

V této kapitole se naopak budeme věnovat metodám lokalizace v dynamickém prostředí a systémům aktivní lokalizace. V závěru pak ještě stručně zmíníme dvě úlohy využívající spojení lokalizace s dalšími technikami.

5.1 Lokalizace v dynamickém prostředí

Lokalizace v dynamickém prostředí, jehož vlastnosti se v čase mění, čímž ovlivňují senzorické vnímání robota, představuje složitější úlohu než problém lokalizace ve statickém prostředí, jehož řešením jsme se zabývali doposud. V čase se měnící vlastnosti prostředí mohou být různé – pohybující nebo přemísťující se cizí objekty, například jiní roboti, lidé nebo palety se zbožím, dveře, jež mohou být otevřeny či uzavřeny, nebo třeba kolísající úroveň osvětlení – pro lokalizaci ale všechny představují společný principiální problém: na jednom jediném místě může být senzorické vnímání robota v různých časech rozdílné. Formálně popsáno to znamená nesplnění Markovovy vlastnosti (viz kapitola 2.1.1), jejíž splnění bylo předpokladem všech doposud popisovaných technik lokalizace ve statickém prostředí. Existují v zásadě tři přístupy, jak se při lokalizaci vyrovnat s dynamickým prostředím.

5.1.1 Řešení spoléháním na robustnost

První možností je problém dynamického prostředí neřešit a spoléhat se na robustnost pravděpodobnostní lokalizace, která se s drobnými změnami v prostředí dokáže zpravidla vyrovnat, stejně jako se vyrovnává s příležitostnými chybami v měření senzorů. Toto „řešení“ sice není principiálně správné, v některých případech ale může být plně postačující.

V prostředích s vyšším výskytem dynamických změn bude ale tento přístup příčinou selhání lokalizace. Příkladem může být robot ve volném prostoru náhle obestoupený řadou živých diváků. Robot, který se bude snažit opravit svůj odhad polohy tak, aby odpovídal statickému modelu světa, který živé diváky neobsahuje, a stavu senzorů, které detekují překážku bezprostředně vedle robota, tedy nejspíš bude nesprávně považovat diváky za zeď a svou svou domnělou určí polohu při některé zdi obsažené v modelu světa.

5.1.2 Řešení filtrováním senzorických měření

Druhou možností je filtrovat ta ze senzorických měření, u kterých lze předpokládat, že jsou ovlivněna dynamickými rysy prostředí, kvůli čemuž neodpovídají statickému popisu světa, vůči němuž se má robot lokalizovat. Zahozením těchto měření se zabrání selhání lokalizace v případech podobných výše uvedenému příkladu. Například podle [22] a [23] lze senzorická data filtrovat těmito způsoby:

Na data z jakéhokoliv absolutního senzoru lze aplikovat tzv. entropy filter, který zajišťuje, aby se zahrnutím nového měření nezvyšovala nejistota odhadu polohy. Nejistota odhadu polohy je přitom vyjádřena pomocí tzv. entropie, definované takto:

Vzorec(5.1)

Pro ideální jednobodový odhad polohy je H(l) = 0, čím je naopak odhad polohy neurčitější, tím je H(l) vyšší. Změnu entropie po zahrnutí absolutního měření z lze vyjádřit jako

Vzorec

Pokud je ΔH(l|z) > 0 , tedy pokud by zahrnutí absolutního měření z v korekčním kroku entropii zvýšilo, bez náhrady se toto měření zahodí.

Na data z dálkoměrných senzorů, měřících vzdálenost nejbližších překážek od robota, lze aplikovat tzv. distanční filtr, který vyřadí všechna měření, která jejichž hodnota je s vysokou pravděpodobností menší, než jaká odpovídá očekávané vzdálenosti nejbližší překážky obsažené ve statickém modelu prostředí, a které jsou tedy pravděpodobně způsobeny detekováním nemodelovaného objektu nebo chybou měření.

Obrázek

Obrázek 5.1: Pravděpodobnosti výstupů senzoru p(di|l) a pravděpodobnost naměření kratší než očekávané vzdálenosti pshort(di|l). Převzato z [23].

Jsou-li d1dn možné výstupy dálkoměrného senzoru a p(di|l) pravděpodobnost naměření hodnoty di v poloze l vzdálené ol od nejbližší překážky obsažené v modelu světa, potom

Vzorec

vyjadřuje pravděpodobnost, že v poloze l naměřená hodnota di je menší než očekávaná vzdálenost ol. Váženým průměrem přes všechny možné polohy pak získáme hledanou pravděpodobnost, že naměřená hodnota di je menší než očekávaná vzdálenost, t.j. že byla naměřena vzdálenost k nemodelovanému objektu.

Vzorec

Všechna měření, pro která je pravděpodobnost tohoto jevu vysoká, tedy pshort(di) > γ (přičemž vhodné γ podle [23] je rovno 0,99), se vyřadí. Filtrováním senzorických měření na jedné straně brání selhání lokalizace, na druhé straně konzervuje představu robota o jeho poloze, což může zhoršit schopnost znovunalezení správné polohy při řešení problému uneseného robota. Na první pohled zajímavým vedlejším efektem této metody je schopnost robota lokalizovat se podle mapy neobsahující všechny detaily (například nábytek a další vybavení místností v kancelářském prostředí).

5.1.3 Řešení modelováním dynamických rysů

Třetí možností je všechny dynamické rysy prostředí modelovat, tedy detekovat okamžitý stav všech měnících se vlastností prostředí i všech cizích pohybujících se objektů a zahrnovat ho do popisu prostředí. Z takového popisu prostředí lze pak za běhu získávat aktuální pravděpodobnostní pohybový i senzorický model, s jejichž pomocí se robot lokalizuje obdobně jako v případě statického prostředí. Na rozdíl od případu statického prostředí nejsou ovšem tyto modely pevné, ale dynamicky se mění spolu s měnícím se prostředím.

Modelování dynamických rysů prostředí je řešením nejnáročnějším a samo o sobě představuje velmi komplexní problematiku. Ne vždy je ale možné nebo efektivní dynamické změny v prostředí modelovat.

5.2 Aktivní lokalizace

Na rozdíl od doposud popisovaných technik pasivní lokalizace, které nikterak nezasahují do přímého řízení robota, ale pouze vyhodnocují proud dostupných senzorických dat, na jeho základě vytvářejí aktuální odhad polohy a tento předávají vyšším vrstvám řídící architektury robota, poskytuje aktivní lokalizace lokalizačnímu systému robota možnost převzít přímou kontrolu nad ovládáním robota, je-li to potřeba ke zlepšení odhadu polohy. Aktivní lokalizace se používá především v prostředích, která obsahují pouze omezené množství rysů, podle kterých se může robot lokalizovat.

Techniky aktivní lokalizaci lze rozdělit na aktivní snímání, dovolující lokalizačnímu systému ovládat senzory robota, například jejich nastavení nebo nasměrování, a aktivní navigaci, umožňující lokalizačnímu systému řídit pohyb celého robota. Protože během aktivní navigace zpravidla robot nemůže současně plnit svůj primární úkol, nemůže se věnovat aktivní navigaci kontinuálně, ale pouze tehdy, je-li to nutné ke zlepšení příliš neurčitého odhadu polohy; případně se aktivní navigace a plnění primárního úkolu střídají. Níže uvedený postup vychází z [24]. Základním principem aktivní lokalizace je takové řízení aktuátorů robota, aby se minimalizovala neurčitost budoucího odhadu polohy. Měřítkem této neurčitosti či nejistoty odhadu polohy je entropie, kterou jsme už definovali v (5.1). Pro výběr vhodné akce zavedeme tzv. očekávanou entropii. Očekávaná entropie po provedení akce a a získání výsledku měření z je

Vzorec(5.2)

Očekávanou entropii po provedení akce a lze vypočítat integrováním přes všechny možné výsledky měření z, substitucí výrazu (5.2) a provedením korekčního kroku podle (2.12).

Vzorec

Při aktivním snímání je hledanou akcí nastavení nebo nasměrování senzorů. To robota stojí zanedbatelné množství času i energie, proto se nejvhodnější akce vybere minimalizací Ea[H], protože akce s minimálním Ea[H] má pravděpodobně nejvyšší přínos pro zlepšení odhadu polohy.

Složitější situace je při aktivní navigaci, u níž je akcí přesun robota na jinou pozici. Ten stojí robota čas i energii. Proto se v případě aktivní navigace vybírá cíl jako kompromis mezi přínosem pro lokalizaci a náklady na přesunutí se do tohoto cíle. Tuto cenu lze odhadnout podle délky cesty a množství na cestě se nacházejících překážek, a to takto:

Akcí a budeme rozumět relativní posunutí robota v ploše vůči jeho stávající poloze. Pravděpodobnost obsazení absolutní polohy l nějakou překážkou označíme Pocc(l), pravděpodobnost obsazení polohy dosažitelné akcí a označíme Pocc(a). Protože robot svou polohu nezná, ale pouze odhaduje, je očekávaná pravděpodobnost obsazení polohy dosažitelné akcí a rovna Vzorec, kde fa(l) je funkce zajišťující transformaci relativních souřadnic daných akcí a do absolutních souřadnic při předpokládané poloze robota l.

Výpočet ceny v(a) pro jednotlivé akce a začíná inicializací, při které se akci a0 = move(0, 0) nastaví cena v(a0) = 0 a ceny všech ostatních akcí se inicializují nekonečnem. Ceny akcí se pak postupně upravují podle rekurzivního vzorce

Vzorec,

kde b jsou akce odpovídající poloze přímo sousedící s polohou dosažitelnou akcí a. Iterací tohoto postupu se získá ohodnocení všech akcí, přičemž toto ohodnocení současně tvoří potenciálové pole vhodné pro výběr optimální cesty z aktuální polohy robota do cílové polohy specifikované zvolenou akcí a.

Samotná volba akce, která je kompromisem mezi přínosem pro lokalizaci a cenou akce, lze vyjádřit jako hledání minimálního váženého součtu očekávané entropie a ceny přesunu.

Vzorec

Konstanta w ≥ 0 určuje relativní důležitost očekávaného zlepšení odhadu nebo levné cesty.

5.3 Spojení lokalizace a dalších technik

Závěrem této kapitoly krátce zmíníme ještě dvě úlohy spojující techniky lokalizace s dalšími technikami – simultánní lokalizaci a mapování a lokalizaci ve skupině kooperujících robotů. Ty nejsou čistě lokalizačními technikami, srovnatelnými v této práci, ale spíše využitím jejich integrace s dalšími technikami.

Úloha simultánní lokalizace a mapování (Simultaneous localization and mappingSLAM) spočívá v tvorbě mapy prostředí bez jakýchkoliv apriorních informací a současné lokalizace v této postupně budované mapě. Součástí možného řešení této úlohy jsou techniky kontinuální lokalizace, popsané v části 4.2, pracující v následujícím cyklu: po každém přemístění robota se podle údajů relativních senzorů vytvoří apriorní odhad polohy, který se podle měření absolutních senzorů s využitím technik kontinuální lokalizace opraví. Výstupy absolutních senzorů se zároveň využijí k aktualizaci mapy prostředí.

Kombinaci lokalizace a distribuovaných systémů představuje úloha lokalizace více vzájemně kooperujících robotů. Tu v jednodušší podobě dvojice robotů, z nichž se vždy nejvýše jeden pohybuje, zatímco druhý stojí a poskytuje prvnímu stabilní orientační bod. Ve složitější podobě se pak několik robotů pohybuje současně, přičemž využívají měření vzájemné polohy, komunikaci a lokalizační údaje ostatních robotů ke zpřesnění vlastní lokalizace.