Z-kamera 1.

Bez měření vzdáleností je mobilní robot vyřízený jak blondýna bez kabelky. Proto od počátku robotiky máme celé spektrum způsobů jak měřit vzdálenost k překážkám v okolí.

Pokud bychom to brali školským způsobem, tak máme velkou škálu pasivních metod měření vzdálenosti, tedy takových kdy z robota nic nevyzařuje. Principem těchto metod je většinou triangulace – stejný signál, který přichází zvenčí, zachycujeme více než jedním čidlem a podle drobných rozdílů mezi jejich signály vypočteme směr a vzdálenost cíle.

Příklad: člověk, opice, kočkovité šelmy atd. mají dvě oči a vidí „stereoskopicky“ neboli mozek porovnává dva obrazy a z drobných rozdílů a známé vzdálenosti mezi očima je schopen odhadnout (alias vypočítat) vzdálenost k překážce / kořisti.

Pasivní měření vzdálenosti je v přírodě vůbec velmi oblíbené, protože příroda umí vyrobit mozek – a tudíž má výpočetního výkonu kolik si jen přeje, proto pro ni není problém analyzovat obraz z očí a zvuk z uší způsobem, který my dodnes neumíme. Navíc pasivní měření vzdálenosti je v přírodě přímo nutnost – žádné zvíře nechce vysíláním signálů upozorňovat, že „už si jde pro kořist“.

Z-kamera01

Když už jsme u toho, v živočišné říši se vyskytují i aktivní čidla – sonary – u mořských savců a u netopýrů; u obou  ze stejného důvodu – protože se pohybují v prostředí, kde se pasivní čidla nemají čeho chytit, neb tam není na krok vidět, ať z důvodu tmy nebo z důvodu kalné vody. U delfínů i u netopýrů se však projevuje základní nevýhoda aktivních čidel – kořist má schopnost poslouchat signály, ví, že je zle, a může této informace využít k útěku.

My robotici jsme v úplně opačné situaci. Naši roboti, až na výjimky, neloví důchodkyně v parku. Navíc, přestože se to nezdá, neumíme vyrobit zdaleka tak výkonné počítače jako jsou mozky zvířátek, proto si ulehčujeme situaci tím, že používáme spíše aktivní čidla. Robot něco vysílá, pak přijímá odraz a podle vlastností přijatého signálu měří vzdálenost.

Když to zase vezmeme školsky – ať vysíláme cokoliv, informaci z odraženého signálu je možné získat měřením jedné z těchto tří veličin:

  1. Amplituda neboli intenzita signálu – hulákání opilců je s rostoucí vzdáleností od hospody stále tišší a tišší…
  2. Čas – jeho měření může mít různé formy od měření doby návratu ozvěny u radarů a sonarů přes měření frekvence odraženého signálu u policejních dopplerovských radarů po měření fáze (zpoždění) odraženého signálu proti vysílanému.
  3. Úhel – to je klasická triangulace – jenom v aktivní formě. Příklad: svítím si laserovým ukazovátkem a odraz se hýbe podle toho jak se překážka, která jej odráží přibližuje a vzdaluje.

Použití měření intenzity pro měření signálu má problém v tom, že intenzita odraženého signálu závisí nejenom na vzdálenosti překážky ale i na její barvě – tedy hůře odrážející překážky se zdají vzdálenější. Navíc, abychom mohli měřit intenzitu odrazu, musíme zpracovávat obrovský rozsah signálu, protože pokud se vzdálenost překážky zvětší 10x, intezita odrazu klesne 10 000x. Proto se čisté měření intenzity moc nepoužívá.

V průmyslu se nejčastěji používá měření vzdálenosti na principu měření času návratu ozvěny (odrazu). V tomto případě máme dvě možnosti:

  1. používat mechanické kmity alias zvuk (ultrazvuk)
  2. používat elektromagnetické vlnění alias světlo (nebo rádiové vlny u radarů) .

V obou případech závisí přesnost měření na přesnosti měření času a na vlastnostech prostředí, kterým se signál šíří. Rychlost zvuku závisí na tlaku, teplotě a vlhkosti vzduchu. Rychlost světla závisí na optické hustotě – indexu lomu prostředí. V každém případě robot se většinou pohybuje ve stejném prostředí, ve kterém je překážka, takže pokud změříme teplotu vzduchu kolem robota, můžeme předpokládat, že neuděláme velkou chybu, protože stejná teplota je patrně i kolem překážky. Odrazivost překážky tady nehraje roli, protože náš robot odražený signál zesílí až do přesycení zesilovačů, právě proto aby se zbavil závislosti na měnící se intenzitě.

V „malé robotice“ používáme sonary, protože zvuk je pomalý a každý procesor sonar „utáhne“. Probémem sonarů je jednak jejich mizerná konstrukce , pak fakt, že přesnost žádného čidla není nikdy větší než vlnová délka, kterou používá. U sonarů to je 8,5 mm, takže překážky menší než centimetr jsou pro sonar prakticky neviditelné a navíc co je z jedné strany výhoda, je z druhé strany nevýhoda. Pokud bychom sonarem chtěli měřit vzdálenost 100 metrů, odraz by se vrátil za 0,6 sekundy takže bychom nestihli více než 1,7 měření za sekundu.

Z-kamera02

Proto se u armády, v průmyslu a ve „velké robotice“ používají čidla na principu RADARů nebo LIDARů. Z robotických soutěží nepochybně znáte „ikonický“ vzhled LIDARu – neboli světelného radaru SICK LSM200. To je krásné a robotiky z akademické sféry milované čidlo, které má jedinou chybu – stojí přes 100 000 kč.  Naštěstí jsou tady i lacinější laserové dálkoměry, třeba od firmy Hokyuo. Ten je mnohem levnější – v době kdy jsem to sledoval stálo „jenom“ kolem 35 000 kč. V oblasti roboticky řízených aut se zase s oblibou používá laserový dálkoměr od firmy Velodyne, ten stojí „jenom“ kolem miliónu korun. Jak dálkoměr Velodyne HDL64 vypadá vidíte na obrázku spolu s tím jak vypadá počítačem zpracovaný „svět“ jak jej toto čidlo vnímá.

Co tedy dělat? Používat nekvalitní sonary? Čekat až cena laserových dálkoměrů klesne? Jelikož firmy, které vyrábějí laserové dálkoměry jsou zvyklé na ceny, které platí armáda a velké korporace, nemyslím si, že by spěchali se zlevňováním. A navíc laserové dálkoměry nejsou ani nějak hromadně vyráběné zboží, takže cena patrně nikdy tak úplně neklesne.

Takhle beznadějně to vypadalo až do doby než přišel Microsoft Kinect – „zázračná 3D kamera“ která kromě obrazu poskytuje i informace o vzdálenosti předmětů, které vidí.

Protože dneska už jsme toho probrali spoustu a většinou „školním způsobem“ předpokládám, že je čas informace vstřebat, takže Kinect a jeho následníky probereme v dalším díle.