Elevation mapping
výšková mapa pro 3D terén
Jakmile váš robot dokáže zdolávat 3D nerovnosti, zjistíte, že potřebuje vědět kam může jet a co už je něj příliš nebezpečný terén. A jelikož senzory jsou nedokonalé, je třeba tuto informaci sbírat a průběžně analyzovat. Jedna z možných cest je elvation map, tedy lokální 2.5D mapa výškového profilu v okolí robota.
Blog
10. října 2025 — Úvod
Rovnou se přiznám bez mučení, že funkční řešení dneska nemám. Primární motivace byly Matty roboti a následně
DARPA Triage Challenge. Depth data z OAK-D Pro kamery jsem sice používal,
ale jen na jednoduchou detekci překážky a vyhnutí se kolizi. Žádné mapování, nebo držení si většího kontextu než jeden snímek.
S DTC2 mne celkem překvapilo, jak jsou ta data pro mapování nepoužitelná! Rozhodně to není simulovaný svět
bez šumu, jako byl v SubT — prostě realita je vždy zajímavější.
Základní myšlenka elevation map je rozšíření prastaré grid map (mřížková mapa) o výšku. Není to tedy ani 2D mapa s odstíny šedi reprezentující
pravděpodobnost, zda se jedná o překážku, volné místo nebo že nevíme. Není to ani plnohodnotné 3D aneb mapa pro stěhování klavírního křídla v jeskyni.
Elevation map, jak jí prezentuje ANYbotics (koukám, že ten github projekt už je přes 10 let starý),
je vícevrstvá mapa, která může vedle zmiňované grid mapy obsahovat odhad výšky, barvu povrchu, množství podpůrných měření atd.
Vícevrstvá mřížková mapa vychází z malokdy splněného předpokladu a to, že znáte pozici robota. Pokud tomu tak je máte ještě dobře nakalibrovaný senzor,
tak víte, kde na dané prostorové polopřímce pravděpodobně dochází ke kolizi s překážkou (a místo od senzoru k překážce je tedy volné).
Před několika měsící jsem základní algoritmus nerozchodil ani pro úzkou rovnou chodbu s rovnou podlahou. A následně po shlednutí (zavádějících) DTC videi
na složitý terén rezignoval a zůstal jsem o reaktivního řízení. Nyní je čas se k této prohrané partii vrátit a v klidu to vše napravit. I nadále budu vycházet
z jediného senzoru (stereo kamera) + odometrie a IMU.
Asi první pozorování je, že ne všechna data z depth kamery jsou platná — viz OSGAR PR-1034
na kreslení neplatných dat černě aby to člověk neviděl tak moc růžově.
Další pozorování je, že blízká a vzdálena měření typicky nejsou platná nebo jsou hodně nepřesná. U stereo kamery je to z principu, že pixelový rozdíl
mezi levým a pravým obrázkem dá nějakou velikost a dvou-pixlový další a tyto „skoky” jsou pro vzdálené objekty poměrně veliké.
Pro představu hloubkových dat z místnosti viz následjící obrázky:
… nechť první příspěvěk skončíme s tím, že pokud dostanete 0 (černá barva), tak opravdu nevíte, zda je tam hodně volného místa, nebo textura povrchu
je nedostatečná pro počítání 2D hloubkových dat.