CDR.cz - Vybráno z IT

TÉMA - Co se skrývá pod kapotou samořídících automobilů?

Autonomní i elektrická auta dobývají svět. Mladá generace by už nejraději jezdila jen v nich. Bohužel si ne každý dokáže představit, co takové autonomní řízení obnáší; jak je složité nebo jaké algoritmy se skrývají v pozadí.
Autonomni Vozidla 1

Kapitoly článků

1.  Úvod
3.  Algoritmy používané v autonomních vozidlech
4.  Závěr

Máme tedy v krátkosti probrané nejdůležitější senzory a některé výpočetní systémy. Nyní se pustíme do algoritmů. Chytrý čtenář by samozřejmě na tomto místě mohl podotknout, že pro řízení auta člověkem stačí visuální (obrazová) informace a navíc z monokulární kamery. Nepotřebujeme ani stereoskopické vidění, i když to je značně výhodnější.

Pokud bychom na místo řidiče umístili otočnou dvojici kamer (stereoskopické vidění) a auto řídili dálkově např. pomocí zařízení jako je OculusRift, výsledek by byl stejný jako kdyby řidič seděl přímo ve voze.

Na tomto principu jsou založené např. letecké simulátory nebo simulátory v autoškole. Proč tedy musí mít autonomní auto ostatní senzory? Důvod je ten, že zpracování obrazové informace je značně složité. Slovo „značně“ ani zdaleka nevystihuje onu „strašnou“ složitost a především obrovskou výpočetní náročnost.

Bohužel stále nevíme, jak v tomto směru pracuje lidský mozek a proto není možné řídící algoritmus klasicky od někoho „okopírovat“. Využíváním více senzorů se tak ospravedlňuje dočasná neschopnost navrhnout zcela autonomního a perfektního pilota. Právě radar a 3D Laserové senzory zastávají velmi důležitou roli, protože díky nim je možné určit vzdálenost statických a pohyblivých překážek vůči vozu. Stejně tak je důležitý i GPS a akcelerometr.  

Ideální svět

Původní myšlenka řízení vozů v autonomním režimu byla poměrně jednoduchá a dnes se běžně využívá v průmyslových závodech, kde k tomu jsou vhodné podmínky. V reálném světě - na ulici - je bohužel situace poněkud jiná. Světu vládne chaos a ten se počítačům příliš nelíbí.

V ideálním případě – resp. původní čistě akademická myšlenka autonomního vozu – byla taková, že každý vůz je reprezentován bodem – viz obrázek níže (žlutý bod) a má kolem sebe jakousi bezpečnou oblast, kterou reprezentuje červený obdélník.

Do této oblasti se celý automobil vejde a tato oblast je cca o několik cm větší než půdorysná projekce vozu na silnici. Každé auto současně ví o všech ostatních účastnících silničního provozu – tedy nejen o osobních vozech, ale také o chodcích, nákladních vozech, cyklistech apod. K navigaci je využíván systém GPS, 3D Laser, akcelerometr, odometrie, sonar, a další.

Autonomni Vozidla 19

Protože všichni účastníci silničního provozu o sobě vzájemně ví, znají svoji přesnou polohu, znají svoji rychlost i rychlost okolních účastníků silničního provozu, stav vozovky, okolní teplotu, svoji váhu, tak silniční provoz je zcela bezpečný. Ke kolizím by teoreticky nemělo vůbec dojít. Pro případ nenadálých situací má každé auto senzory jako je kamera, 2D/3DScanner, Sonar, Radar a tyto senzory zajistí okamžité zastavení nebo zpomalení vozu.

V tomto ideálním světě neprší, nesněží, nepráší se, nedochází s poruchám senzorů, silnice má ideální povrch, nefouká vítr a do silnice nemůže vběhnout nějaké zvíře - a pokud ano, tak v takové vzdálenosti, že auto dokáže bezpečně zastavit. Jednoduše ideální svět. Je těžké vyjmenovat seznam všeho ideálního. 

Práce na několik desetiletí

Tento „naivní“ stav panoval od počátku 70. let a přetrval i do 80 let. Především v akademické sféře, protože nikdo jiný s tím jednoduše řečeno nechtěl mít nic společného. Po hlubší analýze daného problému se ukázalo, že výpočetní náročnost zpracování všech dat ze senzorů vysoce překračovala jakékoliv výpočetní možnosti a to i možnosti tehdejších superpočítačů.

Proto byl problém zjednodušen a první autonomní vozítka měla pouze 2 senzory, a to sonar a data z odometrie, později přibyla jednoduchá černobílá kamera. O autonomní Tesle se tehdy nikomu ani nezdálo a tehdejší vozítka zvládla „autonomně“ ujet pouze několik metrů v laboratoři. Ona kamera byla zvolena spíše symbolicky, protože na nějaké zpracování toku dat z kamery nebylo technické vybavení.

Autonomni Vozidla 20

Robot sestavený v roce 1975, autor Hans Moravec

Mapa prostředí, kterou si robotí vozítko dokázalo zapamatovat, vypadala přibližně jako na následujícím obrázku. Obdélník reprezentuje malou místnost, trojúhelník autonomní vozítko a nepravidelné paprsky pak měření sonaru. Je nutné upozornit, že takovéto z dnešního pohledu směšné výsledky byly k dispozici až v roce 1991(!!!). Výsledkem práce řídícího algoritmu bylo tedy několik detekovaných stěn a bodů – viz. obrázek (l) vpravo dole. 

SLAM

Robot se pohyboval rychlostí max. několik cm za sekundu. V pozdějších letech se pro úlohu navigace a tvorby mapy vžilo označení SLAM neboli Simultaneous Localization And Mapping. Řešení problému SLAM je v dnešní době jedním z hlavních témat vývoje v oblasti návrhu řízení autonomních vozidel a jedná se o nesmírně rozsáhlou problematiku.

Autonomni Vozidla 21

[Zdroj: Leonard J.J. and Durrant-Whyte H.F. (1991) Simultaneous map building and localization for an autonomous mobile robot,IROS-91, pp. 1442-1447]

Řešení problému SLAM je každodenním chlebem právě pro vývojáře, kteří pracují na GoogleCars a autonomních pilotech Tesla. Pojem SLAM zahrnuje schopnost řídícího algoritmu sestavit si vlastní mapu prostředí, ve kterém se autonomní entita pohybuje a na základě této mapy se v daném prostředí orientovat, nebo-li jednoznačně určit svoji polohu, provádět permanentní update mapy v případě změn a to vše v prostředí s pohybujícími se objekty – tedy v reálném světě.

Problém SLAM je opravdu velmi složitý, a tak systémy pro navigaci vozu jako např. auta GoogleCars nebo Tesla využívají již hotové mapy prostředí, ve kterém se pohybují a soustava senzorů pouze zajišťuje korekce pozice a prevenci kolizí. To co takový 3DLidar senzor vidí, je zobrazeno na videu zde. V příkladu je senzor použit pro navigaci dronu – tetrakoptery. Nicméně auto „vidí“ to samé. 

Lokalizace

V oblasti navigace je nezbytné, aby autonomní vůz věděl, kde se nachází. Říká se tomu lokalizace. Existuje tzv. globální lokalizace a lokální lokalizace. Globální lokalizace reprezentuje stav, kdy entita ví, kde se nachází v globálním měřítku.

Autonomni Vozidla 22

[Zdroj]

Česky řečeno vím, že právě jsem na planetě Zemi, v Evropě, v Praze, v Celetné ulici č.p. 10, sedím v kanceláři na židli za stolem u okna a dívám se směrem na sever. To samé platí i pro autonomní auto, které jede po dálnici kdesi v Kalifornii.

Lokální lokalizací je myšlena schopnost detekovat změnu lokální pozice a to i vůči ostatním statickým nebo pohybujícím se objektům. Obvykle se jedná o nutnost detekce jiných objektů, které se v daném nejbližším okolí vyskytují. Tedy domy, stromy, okolo jedoucí auta, chodci, zvěř, ale také prach, sníh apod.

Na základě této informace pak autonomní vůz musí nějak reagovat, neboli plánovat tu správnou trajektorii bez kolizí. Pro autonomní vozy je právě lokální lokalizace tím možná nejdůležitějším, protože svoji globální polohu zná auto obvykle z GPS nebo ji zadá řidič a systémy GPS, pokud fungují, zvládnou pozici aktualizovat dostatečně rychle. Dostáváme se tedy stále hlouběji do králičí nory, která začíná být z pohledu dnešní vědy v podstatě nekonečná.

Umělá inteligence

Problémy popsané výše v dnešní době řeší vědní obor nazývaný Umělá Inteligence (Artificial Intelligence). Tento obor je dnes již nesmírně rozsáhlý. Nahlédneme proto blíže do problému lokální lokalizace a necháme vše ostatní stranou a to i přesto, že je to velmi důležité. V dnešní době existuje mnoho různých algoritmů pro řízení autonomního vozu v lokálním prostředí.

Jak již bylo řečeno, pro člověka je dostačující visuální informace, aby mohl řídit vůz. Tak, jak auto projíždí např. městem nebo krajinou, dokáže řidič-člověk identifikovat jednotlivé objekty např. značky u silnice, bílé čáry na silnici, okolní auta, chodce. Už jen samotná detekce a identifikace všech těchto objektů je nesmírně náročná. Některé automobilky nabízí již v základní výbavě detektory dopravních značek

Autonomni Vozidla 23

Auto samo přizpůsobí rychlost podle dopravního značení. Obvykle se za ideálních podmínek uvádí úspěšnost vyšší než 90 procent a dokonce někdy i vyšší než má člověk. To samé platí i o tzv. parkovacích automatech. Zdálo by se, že když existuje algoritmus na detekci a identifikaci značek, pak vše ostatní bude jednoduché a v podstatě to samé, ale bohužel tak tomu není.

Teorie kontra praxe

Zde najdeme jednu z mnoha zajímavých prací, která se zabývá právě problémem mapování a lokalizace na malém prostředí s využitím visuální informace. Cílem je právě vytvořit mapu lokálního prostředí čistě na základě visuální informace. Algoritmus nejprve vytvoří sféru a na ni promítá jednotlivé obrazy získané z kamery. Takto si vytvoří celé lokální prostředí.

Podobné algoritmy se využívají již dlouho např. hotely je používají pro tzv. virtuální prohlídku. Pokud bychom takto prošli s kamerou městem a nasnímali postupně všechna místa, pak by za ideálních podmínek – ideální osvětlení, žádné pohybující se objekty - bylo možné autonomní vůz navigovat jen s pomocí těchto informací.

Autonomni Vozidla 24Autonomni Vozidla 25

[Zdroj]

Svět ale takový není. Budovy nebo stromy vrhají stíny, ve městě probíhají neustále opravy, okolní prostředí je v podstatě pohyblivé. Ani výpočetní náročnost není nejmenší. K vytvoření tohoto příkladu bylo zapotřebí plné síly Intel i7 920 + NVidia GTX 480 GPU (z dnešního pohledu opět poněkud úsměvné).

Na příkladu je však řešen JEN problém sestavení obrazu a následná lokalizace s využitím navrženého algoritmu. Žádná další identifikace objektů v obraze není prováděna. Některé problémy jako např. existence tmavých stínů a změna jejich polohy v průběhu dne je dnes již dobře řešitelná s využitím hlubokých neuronových sítí.

Existuje však možnost si jednotlivé prvky uměle „přimalovat“ do mapy v paměti a tento obraz pak porovnat s reálným obrazem. Jinými slovy přidat možnost chápat reálný svět, běh slunce po obloze, cyklus dne a noci. V paměti počítače se tak vytváří obraz reálného světa z různých míst formou shluků sfér (mraky sfér), ve kterých se autonomní vozidlo pohybuje.

Při opakovaném průchodu se již jen porovnávají jednou nasbíraná data s aktuálním obrazem z kamery. Detekce pohybu a především odhad změny pozice čistě z obrazových dat se děje tak, že v poměti počítače je uložena sféra a lokální kamera snímá okolní obraz. Počítač se pak snaží aktuální obraz nějak připodobnit k tomu, který je možné vybavit si z paměti počítače z aktuální sféry, ve které se pravděpodobně lokalizovaný objekt nachází.

PŘEJÍT NA NÁSLEDUJÍCÍ KAPITOLU

Kapitoly článků
1.  Úvod
3.  Algoritmy používané v autonomních vozidlech
4.  Závěr

Diskuse ke článku TÉMA - Co se skrývá (nejen) pod kapotou samořídících automobilů?

Pátek, 2 Červen 2017 - 13:43 | Ondar | Celetná 10? vy máte kancl v muzeu čokolády? :O
Čtvrtek, 1 Červen 2017 - 17:43 | BlackRider | "Výhodou Evropského systému Galileo má být...
Středa, 31 Květen 2017 - 19:45 | HKMaly | Problem je ze sice zname prumer kola ale nevime o...
Středa, 31 Květen 2017 - 14:18 | Peter Fodrek | To si robíte srandu " Odometrie Jedná se o...

Zobrazit diskusi