Proč vizuálně-inerciální navigace v GNSS-denied prostředí
Autonomní létající systémy (UAV) jsou čím dál častěji nasazovány v interiérech, městských kaňonech, pod překážkami a tunelech, kde je globální navigace satelitními systémy (GNSS) nedostupná nebo výrazně degradována multipath efektem a stíněním. Vizuálně-inerciální navigace (VIN), respektive vizuálně-inerciální odometrie a SLAM (VIO/VINS), kombinuje kameru a inerciální měřící jednotku (IMU) tak, aby využila komplementární vlastnosti: kamera poskytuje informace o poloze z vizuálních znaků s minimálním driftem ve nízkých frekvencích, IMU přináší robustní krátkodobé odhady s vysokou frekvencí a nízkou latencí. Výsledkem je přesná, nízkolatenční a energeticky efektivní lokalizace, vhodná pro GNSS-denied mise i agresivní manévry.
Senzorický balíček: kamera, IMU a doplňkové zdroje
- Kamera: globální závěrka (GS) pro přesná měření bez rolling-shutter zkreslení; pokud se použije RS, modelování rolling-shutter v optimalizaci je nutností. Objektiv: pinhole/fisheye; širokoúhlý a fisheye rozšiřují zorné pole a snižují počet ztrát znaků.
- IMU: 6D (3× gyroskop + 3× akcelerometr) s rozsahem ≥ 2000 °/s a ≥ 16 g pro akrobatické trajektorie. Důležité parametry: šum, Allanova odchylka, teplotní závislost a stabilita biasu.
- Doplňky: barometr (výška), magnetometr (heading – s opatrností ve ocelových konstrukcích), UWB/LPS (relativní vzdálenosti), altimetr (LiDAR/ToF) na krátké vzdálenosti, případně event kamera pro extrémně dynamické scény.
Kalibrace: intriziky, extrinziky, časování
Přesnost VIN stojí na kalibraci:
- Intriziky kamery: ohnisková vzdálenost, střed obrazu, model zkreslení (radiální/tangenciální, případně unified omnidirectional pro fisheye).
- Extriziky kamera↔IMU: 6-DoF transformace (rotace a posun). Doporučuje se offline kalibrace (kalibrační tabule + excitační manévry) a online doladění v SLAM grafu.
- Časová synchronizace: hardwarový trigger, PTP/1588 nebo softwarové časování s odhadem posunu. Nesoulad > 2–3 ms se výrazně projeví při vysokých úhlových rychlostech.
Formulace problému: VIO vs. VINS vs. SLAM
- VIO (odometrie): lokálně konzistentní, bez explicitního uzavírání smyček. Nižší paměťová stopa, menší výpočty, mírný drift v dlouhém horizontu.
- VINS (VI-SLAM): faktorový graf s loop closure a relokalizací; zachycuje globální omezení a výrazně snižuje drift.
- Filtr vs. optimalizace: (i) MSCKF/EKF pro nízkou latenci, (ii) Sliding-window bundle adjustment s preintegrovanou IMU pro vyšší přesnost, (iii) Full pose-graph BA pro mapování a slučky.
Matematika pro integraci IMU: preintegrovaní, model šumu a biasy
IMU poskytuje měření úhlových rychlostí a lineárních zrychlení. Přímé integrační schémata jsou citlivá na krok a časování; proto se používá preintegrovaní mezi klíčovými snímky:
- Preintegrované přírůstky komprimují tisíce IMU vzorků do jednoho faktoru, který je invariantní vůči následné aktualizaci biasů (prvního řádu linearizace).
- Modely biasů: náhodná procházka (random walk) s teplotně závislými drifty; online odhad biasů je nezbytný.
- Šum: dán spektrální hustotou (gyro/acc noise density) a random walk; Allanova analýza slouží k určení parametrů do filtru/optimalizace.
Vizuální fronta: detekce, sledování a rekonstrukce prvků
- Výběr znaků: FAST/ORB pro robustnost a rychlost; pro přesnost BA preferovat SHI-TOMASI + L2 patch tracking (KLT) s filtrováním odlehlých hodnot (RANSAC).
- Stereoskopie vs. mono: stereo poskytuje metriku ihned při inicializaci; mono vyžaduje bootstrap měřítka (viz níže). Fisheye stereo snižuje slepá místa.
- Inverzní hloubka: parametrizace bodů inverzní hloubkou stabilizuje optimalizaci u vzdálených struktur.
- Vizuální faktory: reprojekční chyby s robustními ztrátovými funkcemi (Huber/Cauchy) pro potlačení odlehlých hodnot a dynamických objektů.
Inicializace a měřítko: klíčový krok pro mono VIO
Mono VIO potřebuje určit metriku:
- Visual-only bootstrap: odhad trajektorie a mapy s měřítkem + využití průměrné gravitační normy z IMU k určení měřítka.
- Observabilita: pro citlivé oddělení gravitačního vektoru a akcelerace jsou potřeba excitační manévry (otáčení, změna rychlosti).
- Alternativy: krátkodobé stereo, známý rozměr objektu, výška z barometru nebo rangefinder pro one-shot metriku.
Sliding-window optimalizace a marginalizace
V praxi se udržuje okno posledních N stavů (pozice, rychlosti, orientace, biasy, případně body) a řeší se nelineární úloha nejmenších čtverců:
- Faktory: reprojekce, preintegrované IMU, prior z marginalizace starých stavů, případně baro/UWB.
- Marginalizace: vytváří kompaktní prior; pozor na „drift“ způsobený změnou linearizačních bodů (staré prior jsou třeba relinearizovatelné nebo řízené přes IMM/first-estimate Jacobians).
- Řešiče: Schur-komplement pro body, sparsity-aware QR/Cholesky; inkrementální řešiče (iSAM2-like) zkracují latenci.
Loop closure, relokalizace a mapový management
- Rozpoznávání místa: Bag-of-Words/NetVLAD/DELF pro kandidáty smyček; geometrická verifikace esenciální/fundamentální maticí.
- Pozorovací omezení: pose-graph faktory mezi klíčovými snímky snižují akumulovaný drift; slučování map (map merge) pro opakované mise.
- Životní cyklus mapy: komprese, selekce klíčových snímků, vyhazování starých prvků, submapy a vícestupňové mapování (lokální vs. globální).
Robustnost v nepříznivých podmínkách
- Osvětlení a HDR: automatická expozice s omezeními, HDR snímání, fotometricky invariantní deskriptory, direct methods s fotometrickou kalibrací.
- Rozmazání pohybem: kratší expozice, vyšší ISO, deblur filtry; nebo event kamery, které zvládají >1 kHz časové rozlišení.
- Nízká textura a opakující se vzory: kombinovat rohové a hraniční prvky, semi-dense direct přístup, doplnit UWB/rangefinder pro pevné ukotvení výšky.
- Vibrace a aliasing: mechanická izolace IMU, softwarové filtrování (notch), správné nastavení antialias filtru a vzorkování.
- Detekce selhání: testy konzistence inovací, monitor reprojekčních reziduí, watchdogy na diverzenci a failsafe režimy (držení polohy, RTH po trajektorii).
Časování, latence a real-time pipeline
Autonomní řízení potřebuje nízkou latenci a deterministiku:
- Pipeline: IMU fronta (1–2 kHz), vizuální fronta (30–60 Hz), fúze (200–400 Hz stavový filtr + 10–30 Hz okenní optimalizace).
- On-board výpočty: ARM CPU + NPU/GPU pro front-end (detekce, sledování), DSP pro předzpracování. Kritické úlohy pinovat na jádra, používat lock-free fronty.
- Předikce stavu: pro řídicí smyčku předpovídat do času aktuátoru (např. +5–15 ms) s využitím IMU a posledních odhadů.
Fúze s doplňkovými senzory
- Barometr: stabilizace pomalých driftů ve výšce, robustní vůči vizuální degeneraci nad homogenním povrchem (sníh, voda).
- UWB/LPS: jednocestné časování nebo obousměrné ranging; faktory vzdáleností kotví měřítko i v mono konfiguraci a zlepšují observabilitu yaw.
- LiDAR altimetr/ToF: přesné výškové body a detekce terénu pro přistání; jednoduché 1D faktory do okna.
- Magnetometr: opatrně vevnitř; v exteriéru poskytne heading, který se promítá jako prior/faktor s adaptivní váhou.
Multikamera, stereo a omnidirekce
Vícekamerové sestavy snižují slepá místa a zvyšují robustnost:
- Synchronizované stereo: okamžitá metricky kalibrovaná hloubka, menší závislost na excitačních manévrech při inicializaci.
- Omnidirekce (fisheye, katadioptrické): více znaků v každé scéně, vyšší redundance při prudkých rotacích, nutnost odpovídajícího modelu projekce.
- Rolling-shutter stereo: při vysoké dynamice – model RS v BA nebo zkrátit expozici, snížit časový rozdíl mezi levým/pravým snímkem.
Event kamery a přímé metody
Event-based senzory emitují asynchronní události při změnách jasu, vhodné pro rychlé manévry a slabé osvětlení. Přímé (fotometrické) metody optimalizují nad intenzitami/pseudogradienty místo bodových korespondencí. Kombinace s IMU poskytuje extrémně nízkou latenci a vysoký dynamic range.
Metodika hodnocení: metriky a datové sady
- ATE/RPE: absolutní a relativní chyba trajektorie; hodnotit medián a 95. percentil.
- Vzorkovací latence a jitter: E2E latence od snímání po stav použitý v řízení (< 30–50 ms pro rychlé lety).
- Robustnost: procento úspěšných běhů bez divergence při degradovaných podmínkách (tma, kouř, nízká textura).
| Metrika | Cíl (BVLOS/Indoor) | Poznámka |
|---|---|---|
| ATE (m / 100 m) | < 1.0 | Po smyčkách < 0.3 m/100 m |
| RPE (%, 1–5 m baseline) | < 1.0 % | Bez driftu rotace > 0.5°/min |
| Latence E2E | < 40 ms | Při 60 Hz vizuální frekvenci |
Integrace do řízení letu: odhad stavu a fail-safe
- Rozhraní: odhad stavu v tělovém nebo mapovém rámci (SE(3) pozice/orientace, rychlost, biasy), kovariace/informační matice pro covariance-aware řízení.
- Předikce a latence: poskytovat předikovaný stav k času aktuátoru, vystavovat časové značky a zpoždění do autopilota.
- Fail-safe: přepnutí na IMU-only INS s zero-velocity updates při přistání, hover-hold s barometrickou výškou, spouštět RTH při divergenci lokalizace.
Kooperativní VIN pro roje a multi-UAV
V rojích je výhodné sdílet informace:
- Distribuovaný pose-graph: každý UAV udržuje lokální mapu a výměnou keyframe deskriptorů hledá meziagentní smyčky.
- UWB/relativní ranging: faktory vzdáleností/DOA mezi UAV doplňují vizuální omezení při vzájemné viditelnosti.
- Komunikační omezení: komprimované deskriptory, gossip protokoly, covisibility-guided výměna; konflikt s latencí řízení řešit prioritizací lokální smyčky.
Energetika a hardwarový design
- Spotřeba: kamera 0.5–2 W, IMU < 0.2 W, výpočet 2–8 W dle SoC. Zohlednit chlazení a EMI z motorů/regulátorů.
- Umístění senzorů: IMU blízko