Senzorická fúze pro sledování a určování polohy autonomních systémů

Autonomní robotické systémy a vozidla, tedy systémy, které jsou schopné samostatného provozu bez asistence člověka, vyžadují přesné informace a stavu, ve kterém se systém a jeho okolí nachází. Pokud jsou tyto informace zkreslené, nemůže se autonomní systém správně rozhodovat. Proto je přesnost a spolehlivost měření nesmírně důležitá. Senzorická fúze představuje způsob, jak řešit omezenou přesnost a spolehlivost jednotlivých snímačů a měřicích systémů. MATLAB, jakožto nástroj pro vědecké a technické výpočty, poskytuje pro tuto oblast specializovanou nadstavbu – Sensor Fusion and Tracking Toolbox.

Určování polohy a sledování trajektorie objektů je jednou ze základních úloh v řízení a navigaci autonomních systémů. Úspěšnost je však ovlivňována omezenou přesností měření a chybami snímačů. Abychom dokázali přesněji odhadnout stavy systému, jako je jeho poloha nebo natočení, je třeba sloučit dostupné informace ze snímačů do jednoho modelu. K tomu účelu slouží senzorická fúze.

SENZORICKÁ FÚZE

„Senzorická fúze kombinuje data ze senzorů nebo data získaná z různorodých zdrojů tak, že výsledné informace mají menší nejistotu, než by bylo možné dosáhnout, kdyby byly tyto zdroje použity samostatně.“ (https://en.wikipedia.org, překlad autora)

Příkladem jednoduché fúze je využití dvou a více stejných snímačů k získání hodnoty dané veličiny. Pokud bychom chtěli měřit údaj z akcelerometru mobilního telefonu položeného na stole, měli bychom dostat konstantní hodnotu 9.81 ms-2. Snímač je však zatížen náhodným šumem, takže hodnota bude v okolí správné hodnoty oscilovat. Pokud použijeme akcelerometry dva, můžeme aktuální získané hodnoty průměrovat, čímž se potlačí část náhodného (nekorelovaného) šumu a získaný údaj bude přesnější.

Duplicitou snímačů však neodstraníme systematické chyby způsobené daným typem měření. Například ovlivnění magnetického kompasu v telefonu magnetickým polem pocházejícím z vlastní elektroniky ovlivní stejným způsobem jeden i více magnetometrů a vyvolanou chybu průměrováním neodstraníme. K potlačení chyby můžeme využít doplňkové údaje z odlišného senzoru – například gyroskopu – a pomocí něho určit zda se telefon pootočil či nikoliv. Pokud se telefon nepohnul a magnetické pole se přesto změnilo, bude se pravděpodobně jednat o chybné měření.

Kombinace výstupů různých snímačů umožní využít silné stránky každého způsobu snímání a potlačit nedostatky jednotlivých snímačů. Také zvyšuje spolehlivost systému, kdy při výpadku jednoho systému měření jej nahradí zbývající (alespoň částečně).

Nejčastěji využívaným algoritmem senzorické fúze je Kálmánův filtr. Jedná se o výpočetní algoritmus, který zahrnuje i model vlastního systému a který kromě sloučení senzorových údajů umožní začlenit do výpočtu vliv chování systému jako takového. Díky tomu lze informace ze snímače nejen korigovat, ale také po nějakou dobu předpovídat chování systému v případě krátkodobého výpadku „dodávky“ údajů.

Základními úkoly senzorické fúze jsou:
• zvýšení kvality snímaných údajů
• zvýšení spolehlivosti systému
• odhad hodnot veličin, které přímo neměříme
• zisk více informací (celek je více než součet jeho částí)

SLEDOVÁNÍ A NAVIGACE

V případě autonomních systémů se senzorická fúze uplatní zejména v úloze sledování okolí a vlastní navigace systému (obrázek 1). Na senzorickou fúzi je možné nahlížet ve dvou rovinách.

 

Obrázek 1: Úloha senzorické fúze v autonomním systému řízení

První rovina se zabývá vlastním stavem autonomního systému, tedy jeho polohou nebo natočením. V tomto případě jsou využívány snímače jako akcelerometr, magnetometr, výškoměr, případně GPS. Druhá rovina se zabývá tím, co se děje v okolí systému. Zde najdou uplatnění snímače, jako jsou radar, kamera, sonar nebo lidar. Senzorická fúze dále propojuje dvě domény reálného světa, zpracování signálů a obrazu s řídicími systémy.

Návrh algoritmů senzorické fúze lze provést například v programu MATLAB, vývojovém prostředí pro vědecké a technické výpočty, modelování a simulace systémů. Jsou zde k dispozici specifické nástroje pro senzorickou fúzi, jakož i nástroje pro návrh řídicích systémů.

MODELY SNÍMAČŮ

Algoritmus senzorické fúze je navrhován pro práci v reálném prostředí. Při návrhu a testování algoritmu je třeba pracovat s daty z různých snímačů, které budou výsledným systémem využívány. Ne vždy jsou ale k dispozici data z reálných měření z různých snímačů a z různých situací. Zde přicházejí ke slovu modely snímačů. Ty lze využít k vytváření umělých dat, generovaných na základě nejrůznějších scénářů, a s jejich využitím algoritmy senzorické fúze virtuálně testovat (obrázek 2). Simulační prostředí umožňuje také posouzení vlivu odlišné periody vzorkování snímačů, jakož i jejich výpadků.

Obrázek 2: Příklad scénáře pro senzorickou fúzi v prostředí MATLAB
Obrázek v plném rozlišení

V prostředí MATLAB je možné modelovat jednotky IMU (akcelerometr, gyroskop, magnetometr), GPS přijímače a případně INS (inerciální navigační systém). Modely mají množství volitelných parametrů, aby jejich chování odpovídalo realitě. Také lze nastavit vlastnosti prostředí a parametry šumu, jako kdyby byl snímač umístěn v reálném světě.

Z aktivních snímačů je možné modelovat radar nebo sonar a s jejich využitím vytvářet simulovaná data z mechanického či elektronického skenovaní okolního prostoru, včetně detekcí okolních objektů. Modely pasivních snímačů jsou zde rovněž k dispozici.

ODHAD POLOHY A ORIENTACE

K odhadu polohy, rychlosti a orientace autonomního systému jsou používány algoritmy inerciální senzorické fúze. Systém musí vědět, kde se nachází, aby pochopil, kde jsou umístěny objekty v jeho okolí. Využívají se typické kombinace senzorů, např. IMU + GPS. V prostředí MATLAB jsou k dispozici připravené algoritmy pro fúzi různých kombinací senzorů, opět založené na Kálmánových filtrech, s možností uživatelského nastavení.

SLEDOVÁNÍ OBJEKTŮ

Sledování trajektorie okolních objektů je druhou významnou úlohou, kterou musí autonomní systémy řešit. Opět zde nachází uplatnění senzorická fúze, tentokrát zapouzdřená v rámci sledovacích algoritmů (tracking algorithm, tracker). Sledovací algoritmus sestává ze dvou základních částí. Sledovacího filtru, který odhaduje a aktualizuje stav trajektorie sledovaného objektu na základě snímaných informací ze senzorů (typicky z radaru, lidaru, apod.) a modelu přepokládaného pohybu (konstantní rychlost, zrychlení, zatáčení, apod.). Druhou částí je algoritmus správy trajektorií, který přiřazuje detekované objekty (detekce) k trajektoriím, přidává trajektorie pro nové objekty, maže trajektorie objektů, které unikly z dosahu senzorů, apod.

Při vývoji sledovacího algoritmu mohou být na vstupu využita zaznamenaná reálná data, aktuální „živá“ data nebo simulovaná data generovaná z modelů snímačů.

V prostředí MATLAB existují dva přístupy pro práci se sledovacími algoritmy. První je ten jednodušší, kdy lze využít dodávané algoritmy tak jak jsou. Druhý přístup umožňuje uživatelské přizpůsobení jednotlivých komponent algoritmu, tj. přizpůsobení filtrů, modelů pohybu a algoritmů přiřazování detekcí.

Ukázkovým příkladem může být sledování trajektorie dvou přibližujících se objektů. Úkolem je určit, kterým směrem budou jednotlivé objekty pokračovat. V závislosti na použitém algoritmu můžeme dosáhnout několika výsledků (obrázek 3). Pokud se objekty přiblíží příliš blízko, mohou být detekce přiřazeny jediné trajektorii, protože si sledovací algoritmus „myslí“, že se jedná o jeden objekt. Tím dojde ke ztrátě informace o druhém objektu a při oddělení trajektorií je založena trajektorie nová. Takový výsledek může podat jednodušší sledovací algoritmus, například trackerGNN (global nearest-neighbor). Pokročilejší algoritmy, jako jsou trackerJPDA nebo trackerTOMHT, jsou většinou přesnější, ale za cenu vyšší výpočetní náročnosti. Chování sledovacího algoritmu také významně ovlivňuje volba vnitřního modelu předpokládaného pohybu objektu. Lze zvolit konkrétní model pohybu (například konstantní rychlost – CV) nebo algoritmus přepínající různé modely (IMM). Volba vhodného sledovacího algoritmu musí odpovídat požadované přesnosti, dostupnému výpočetnímu výkonu a předpokladům, jaké situace mohou v reálném prostředí nastat.

Obrázek 3: Odlišné výsledky při sledování trajektorií dvojice objektů různými algoritmy
Obrázek v plném rozlišení

ZÁVĚR

Algoritmy senzorické fúze a sledování okolních objektů jsou nedílnou součástí mobilních autonomních systémů. Prostředí MATLAB poskytuje nástroje a algoritmy k návrhu, simulaci a analýze těchto systémů využívajících senzorickou fúzi. K dispozici je též vizualizace pomocí grafů znázorňujících trajektorie objektů nebo detekce. K vyhodnocení přesnosti algoritmů lze využít integrovaných metrik. Návrh systému je možné zakončit automatickým převodem algoritmů do jazyka C a jejich integrací do prostředí mimo MATLAB.

 

Distributor produktů společnosti MathWorks v České republice a na Slovensku:
HUMUSOFT s. r. o.
http://www.humusoft.cz

Exotická fyzika neutronových hvězd: jaderné těstoviny a odkapávání protonů

Neutronové hvězdy jsou extrémní objekty, do jejichž nitra nevidíme. S poloměrem kolem 12 kilometrů mohou …

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *