Kombinace GNSS/RTK a vizuální odometrie pro přesnou lokalizaci

Přehled: proč kombinovat GNSS/RTK a vizuální odometrii

Centimetrová poloha a stabilní orientace za letu jsou základem pro katastrální mapování, přesné postřikování, inspekce či autonomní přistání. GNSS/RTK poskytuje absolutní georeferenci ve světě (WGS84/ECEF/ENU) a vizuální odometrie (VO/VIO) zajišťuje husté, rychlé a robustní relativní změny polohy a orientace i v prostředích se oslabeným satelitním signálem. Fúze obou přístupů v optimální architektuře umožňuje dosáhnout přesnosti na úrovni cm-level s odolností vůči výpadkům jednoho zdroje.

Základní pojmy a cílový stav přesnosti

  • GNSS – globální satelitní systém (GPS, Galileo, GLONASS, BeiDou) poskytuje pseudovzdálenosti a fáze nosné vlny.
  • RTK – diferenciální technika s korekcemi z báze (NTRIP/rádio), která řeší integer ambiguity nosné fáze a redukuje chyby způsobené atmosférou a hodinami.
  • VO/VIO – vizuální (mono/stereo) nebo vizuálně-inerciální odometrie, která odhaduje SE(3) transformace mezi rámci z obrazu a IMU.

Cíl: absolutní poloha v ENU s 1–3 cm (horizontálně) a 3–5 cm (vertikálně) při 20–100 Hz odhadu stavu a schopnost překonat krátkodobé výpadky RTK či degradovanou texturu v obraze.

Architektury fúze: volné vs. těsné propojení

  • Volně (loosely) propojené: RTK řešení poskytuje pose + kovarianci do fuzoru (např. rozšířený Kalmanův filtr – EKF); VO/VIO dodává relativní rychlost/pose. Jednodušší integrace, rychlé nasazení.
  • Těsně (tightly) propojené: surová měření (pseudorange/carrier-phase, vizuální features, inerciální data) vstupují do společného faktorového grafu (BA/Smoothing) nebo do UKF/EKF s nelineárním modelováním měření. Vyšší přesnost a robustnost, vyšší složitost.

Koordinační rámce a transformace

  • WGS84/ECEF → ENU: RTK poskytuje lat/lon/výšku; pro lokální navigaci přeměňujeme do ENU (East-North-Up) okolo „home“ reference.
  • Bodové rámce, senzory, dron: definujte pevné rámce base_link (těleso dronu), imu_link, camera_link, gnss_antenna. Udržujte kalibrované extrinsics (posun/rotaci).
  • Časování: synchronizace PTP/GPS-PPS; časové zpoždění kamery, IMU a GNSS modelujte jako stav (latency bias), pokud přesahuje 2–3 ms.

GNSS/RTK: zdroje chyb a provozní doporučení

  • Integer fix: stav FIX vs. FLOAT – sledujte AR poměr, stáří korekcí (< 2 s), základní délku baseline k bázi (< 20 km pro L1/L2).
  • Multipath a stínění: vyhněte se odrazivým povrchům při startu a přistání, použijte anténu s nízkým multipath efektem (geodetickou, správný ground-plane).
  • Galileo E5/E1 a GPS L2C/L5: multikonstelace a více frekvencí snižují ionosférické chyby a zvyšují poměr fixací.
  • NTRIP/rádiový link: zajistěte kvalitu služby QoS; pokud stáří korekcí překročí limit, fuzujte RTK s menší vahou nebo přepněte na PPP/float.

Vizuální odometrie a VIO: výběr a omezení

  • Monokulární VO: levnější varianta, ale neposkytuje pozorovatelnou absolutní měřítkovou veličinu bez IMU/známých rozměrů; vhodná pouze s kvalitní IMU.
  • Stereo VO: přímý odhad měřítka, menší drift; náročnější kalibrace a mechanická stabilita základní délky baseline.
  • VIO (IMU+mono/stereo): nejlepší kompromis pro dynamiku letu; IMU překlene rozmazání a nízkou texturu.
  • Nepříznivé podmínky: rolling shutter, vysoké vibrace, prudké změny expozice, mlha/prach, homogenní vegetace/voda.

Stavový vektor a měřicí modely v EKF/UKF

Typický stav: pozice pENU, rychlost v, orientace (kvaternion), biasy IMU (gyroskop/akcelerometr), měřítko (u monokuláru), časové zpoždění senzorů, případně lever-arm GNSS antény vůči base_link.

  • Procesní model: strapdown inerciální integrace (IMU), integrace s frekvencí 200–1 000 Hz s odhadem biasů a kovariací Q podle Allanových parametrů.
  • Měřicí model GNSS: absolutní pozice v ENU s kovariancí z RTK řešení; při těsné fúzi fázové rezidua dle satelitních geometrií.
  • Měřicí model VO/VIO: relativní transformace nebo přímo reprojekční chyby features do kamery; robustní ztrátové funkce (Huber/Cauchy) pro outliery.

Faktorové grafy a smoothing (tightly-coupled)

Optimalizace pomocí nelineárních nejmenších čtverců přes časově propojené uzly (stavy) a faktory (IMU pre-integrace, GNSS, reprojekce). Výhody: lepší zvládání nekonzistencí (smyčky, zpoždění), přesnější orientace a měřítko. Nevýhody: výpočetní náročnost a citlivost na inicializaci.

Kalibrace: klíč k centimetrové přesnosti

  • Vnitřní parametry kamery: matice kamery, zkreslení (radiální/tangenciální); kalibrujte při pracovních clonách a expozicích.
  • Vnější parametry (extrinsics): camera↔imu, imu↔base_link, gnss_antenna↔base_link. Sledujte teplotní stabilitu a mechanický „creep“.
  • Timestampy: validujte latenci pomocí „shake testu“ (krátké impulzy a korelace mezi osami gyroskopu a obrazem).

Váhování a ladění kovariancí

  • Adaptivní váhy: snižujte váhu VO při rychlých změnách expozice nebo nízkém počtu inlierů; snižujte váhu RTK při FLOAT stavu, vysokém PDOP nebo starých korekcích.
  • Gateování: Mahalanobisovo gateování pro GNSS/VO měření, aby outliery neovlivňovaly stavový odhad.
  • Kontrola konzistence: NEES/NIS testy a sledování innovation v reálném čase.

Redundance a fail-safe chování

  • Krátkodobá ztráta RTK (stíny, tunely): držení pozice pomocí VIO+IMU; při návratu na otevřenou oblohu zpětné „snapnutí“ do ENU s jemným pose-graph zarovnáním, aby nevznikl skok.
  • Degradovaný obraz: přepněte na IMU+RTK, snižte rychlost pohybu, zvyšte výšku, upravte expozici/ISO; u monokuláru použijte zero-velocity update (ZUPT) při visení na místě.
  • Monitor kvality: stavový automat (FIX/FLOAT/DGNSS/NO-RTK) a metriky VO (inliery, reprojekční RMS, paralaxa) mapujte do letových režimů.

Integrace s autopilotem (PX4/ArduPilot) a ROS 2

  • MAVLink ODOM/VISION: publikujte ODOMETRY/VISION_POSITION_ESTIMATE s přesnými kovariancemi; autopilot (EKF2/EKF3) převezme fúzi s barometrem a magnetometrem.
  • ROS 2 graf: uzly pro kameru/IMU (přesné časové značky), VIO (např. VINS-Fusion, Basalt), GNSS/RTK klient (RTKLIB, u-blox driver), fuzor (robot_localization UKF/EKF nebo vlastní faktorový graf), diagnostics.
  • Reálný čas: QoS best effort pro obraz, reliable pro stavové zprávy; pinning vláken a DMA pro kamery.

Hardware: senzory, výkon a montáž

  • IMU: střední třída s nízkým šumem (≤0,005 °/s/√Hz gyro, ≤80 µg/√Hz akcelerometr), pevná montáž blízko těžiště.
  • Kamerové systémy: global-shutter při vysokých dynamikách; stereo s pevnou mechanikou; ND filtry pro slunečné dny.
  • GNSS: geodetická anténa s ground-plane, nízkošumový přijímač, pevný lever-arm vůči IMU.
  • Počítač: SBC (např. Jetson/NUC) s HW akcelerací pro SLAM a kódování videa; vibrace tlumit (Moongel/TPU).

Testování a validace

  • Laboratorní: Allanova devae IMU, latence kamery, reprojekční chyba po kalibraci (< 0,3 px).
  • Polní testy: statická konvergence RTK (CEP95), letové trajektorie ve tvaru osmiček, rychlé yaw/pitch impulzy, hovering 2–5 minut.
  • Metodika metrik: ATE/RPE vůči RTK-ground-truth; horizontální/vertikální CEP50/95; procento času ve FIX; průměrný inlier-ratio VO.
  • Datasety: vlastní „range runs“ s geodetickou tyčí a prizmatem; opakovatelnost v různých světelných podmínkách.

Praktická nastavení a „guardrails“ pro centimetrovou přesnost

  • Expozice kamery: auto-expozice s pevně danými limity (např. 1/500–1/2000 s), aby bylo minimalizováno pohybové rozostření.
  • Řízení biasů IMU: teplotní kalibrační tabulka nebo online odhad; po startu 30–60 s stání pro inicializaci.
  • Politika RTK: publikujte „quality flag“ do fuzoru; při přechodu FIX→FLOAT snižujte váhu lineárně během 1–3 s.
  • Odmítání odlehlých hodnot: RANSAC pro essential matrix/stereo matching, 3σ gate pro GNSS, robustní ztráty (Huber 1,0–1,5 px).

Škálování do průmyslu: údržba a provozní standardy

  • Verzování kalibrací: uchovávejte historii intrinsics/extrinsics vázanou na konkrétní rám dronu a kameru/IMU.
  • Monitor kvality: dashboard (poměr FIX, PDOP, inlier ratio, reprojekční RMSE, zatížení CPU/GPU, teploty senzorů); alarmy.
  • Předsletová kontrola: checklist antény (čistota, konektor), optiky (čistota), časová synchronizace (PPS lock), baseline vůči bázi <= definovaný limit.

Časté poruchy a rychlá řešení

  • Skoky v poloze při návratu RTK: aplikujte „pose alignment“ s plynulým přechodem (blend v čase, ne okamžitý přepínač).
  • Rozbíhání měřítka u mono-VIO: fixujte měřítko pomocí barometru/altimetru, známých značek (Apriltags) nebo periodických stereo triangulací.
  • Vysoký drift při větru: zkontrolujte vibrace (IMU clipping), snižte zisky expozice, zvyšte FPS.
  • Slabý FIX: ověřte stáří korekcí, PDOP, masku elevace satelitů, přepněte na vícefrekvenční profil.

KPI a cílové hodnoty pro centimetrovou navigaci

Ukazatel Cíl Poznámka
Horizontální CEP95 ≤ 3 cm Let v otevřeném terénu, FIX > 85 % času
Vertikální CEP95 ≤ 5 cm S fúzí barometru/VO/RTK
Poměr FIX ≥ 85 % NTRIP s nízkým stáří korekcí
Poměr inlier VO ≥ 60 % Do rychlosti < 12 m/s
Reprojekční RMS ≤ 0,5 px Po kvalitní kalibraci

Implementační plán 30–60–90 dní

  • 0–30 dní: výběr hardwaru (IMU/kamera/GNSS), kalibrace, základní VIO pipeline, RT