Přehled: proč kombinovat GNSS/RTK a vizuální odometrii
Centimetrová přesnost polohy 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) nabízí husté, rychlé a robustní relativní změny polohy a orientace i v prostředích se sníženým satelitním signálem. Fúze obou přístupů ve správné architektuře zajišťuje cm-level přesnost s odolností proti 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é atmosferou 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řežít 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 fúze (např. rozšířený Kalmanův filtr – EKF); VO/VIO dodává relativní rychlost/poloha. 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 měřicím modelem. Vyšší přesnost a robustnost, ale vyšší složitost.
Koordinační rámce a transformace
- WGS84/ECEF → ENU: RTK poskytuje lat/lon/výšku; pro lokální navigaci transformujeme do ENU (East-North-Up) kolem „home“ reference.
- Body, senzory, dron: definujte pevné rámce base_link (tělo dronu), imu_link, camera_link, gnss_antenna. Udržujte kalibrované extrinsics (posun/rotace).
- Časování: synchronizace PTP/GPS-PPS; časové zpoždění kamery, IMU a GNSS modelujte jako stav (latency bias), je-li větší než 2–3 ms.
GNSS/RTK: zdroje chyb a provozní požadavky
- Integer fix: stav FIX vs. FLOAT – sledujte AR poměr, věk korekcí (<2 s), baseline k bázi (<20 km pro L1/L2).
- Multipath a stínění: vyhněte se odrazivým povrchům při startu/přistání, použijte anténu s nízkým multipath (geodetická, 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ádio link: garantujte QoS; pokud age of corrections překročí limit, fůzujte RTK s nižší vahou nebo přepněte na PPP/float.
Vizuální odometrie a VIO: volba a limity
- Monokulární VO: levná, ale bez IMU/známých rozměrů nepozorovatelná absolutní měřítka; vhodná jen s kvalitní IMU.
- Stero VO: přímý odhad měřítka, méně driftu; náročnější kalibrace a mechanická stabilita baseline.
- VIO (IMU+mono/stereo): nejlepší kompromis pro dynamiku letu; IMU překlenuje rozmazání a nízkou texturu.
- Negativní podmínky: rolling-shutter, vysoké vibrace, prudké změny expozice, mlha/prach, homogenní tráva/voda.
Stavový vektor a měřicí modely v EKF/UKF
Typický stav: pozice pENU, rychlost v, orientace (kvaternion), biasy IMU (gyro/akcelerometr), škála (při mono), časová zpoždění senzorů, případně lever-arm GNSS antény vůči base_link.
- Procesní model: strapdown inerciální integrace (IMU) při 200–1 000 Hz s odhadem biasů a kovariancí Q podle Allanových parametrů.
- Měřicí model GNSS: absolutní pozice v ENU s kovariancí z RTK řešení; při těsném propojení fázové rezidua dle satelitní geometrie.
- Měřicí model VO/VIO: relativní transformace nebo přímo reprojekční chyby features do kamery; robustní ztráty (Huber/Cauchy) pro odlehlé hodnoty.
Faktorové grafy a smoothing (tightly-coupled)
Optimalizace přes nonlinear least squares nad časově propojenými uzly (stavy) a faktory (IMU preintegrace, 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
- Intrinsics kamery: matice, zkreslení (radiální/tečné); kalibrujte při pracovních clonách a expozicích.
- Extrinsics: camera↔imu, imu↔base_link, gnss_antenna↔base_link. Sledujte teplotní stabilitu a mechanický „creep“.
- Časové značky: validujte latenci pomocí „shake testu“ (krátké impulzy a korelace mezi osami gyroskopu a obrazem).
Vážení 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, vysokém PDOP nebo starých korekcích.
- Gateování: Mahalanobisovo gateování pro GNSS/VO měření, aby se odlehlé hodnoty nepropagovaly do stavu.
- Kontrola konzistence: NEES/NIS testy a monitorování innovation v reálném čase.
Redundance a fail-safe chování
- Krátkodobá ztráta RTK (stíny, tunely): držení přes VIO+IMU; při návratu na otevřené nebe zpětné „snapnutí“ na ENU s jemným pose-graph zarovnáním, aby nevznikl skok.
- Degradovaný obraz: přepněte na IMU+RTK, snižte rychlost, zvyšte výšku, upravte expozici/ISO; pro mono použijte zero-velocity update (ZUPT) při visení.
- Monitor kvality: stavový automat (FIX/FLOAT/DGNSS/NO-RTK) a metriky VO (inliers, reprojekční RMS, paralaxa) mapujte na letové režimy.
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řebírá fúzi s barometrem a magnetometrem.
- ROS 2 graf: uzly pro kameru/IMU (timestamp-exact), VIO (např. VINS-Fusion, Basalt), GNSS/RTK klient (RTKLIB, u-blox driver), fůze (robot_localization UKF/EKF nebo vlastní faktorový graf), diagnostics.
- Real-time: 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 acc), pevná montáž blízko těžiště.
- Kamera: global-shutter při vysoké dynamice; stereo s pevnou mechanikou; ND filtry pro jasný den.
- 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í: IMU Allanova deviace, latence kamery, reprojekční chyba po kalibraci (<0,3 px).
- Letové testy: statická konvergence RTK (CEP95), letové trajektorie osmiček, rychlé impulsy yaw/pitch, hoverování 2–5 min.
- Metodika metrik: ATE/RPE proti 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 cm přesnost
- Expozice kamery: auto-expozice s pevnými limity (např. 1/500–1/2000 s), aby se minimalizovalo rozmazání pohybem.
- IMU bias handling: teplotní mapovací tabulka nebo on-line odhad; po startu 30–60 s stání pro inicializaci.
- RTK politika: publikujte „quality flag“ do fúze; při přechodu FIX→FLOAT lineárně snižujte váhu po dobu 1–3 s.
- Odmítání odlehlých hodnot: RANSAC pro essential matrix/stereo match, 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í: udržujte historii intrinsics/extrinsics vázanou na konkrétní rám dronu a kameru/IMU.
- Monitor kvality: dashboard (FIX ratio, PDOP, inlier ratio, reproj RMSE, CPU/GPU load, teploty senzorů); alarmy.
- Předletová kontrola: checklist antény (čistota, konektor), optiky (čistota), synchronizace času (PPS lock), baseline k bázi ≤ definovaný limit.
Běžné poruchy a rychlá řešení
- Skoky v poloze při návratu RTK: aplikujte „pose alignment“ s měkkým přechodem (blend v čase, nikoli instantní přepnutí).
- Rozbíhání měřítka při mono-VIO: stabilizujte měřítko přes barometr/altimetr, známé značky (Apriltags) nebo periodické stereo triangulace.
- Vysoký drift při větru: zkontrolujte vibrace (IMU clipping), snižte gainy expozice, zvyšte FPS.
- Slabý FIX: zkontrolujte age of corrections, PDOP, masku elevace satelitů, přepněte na vícefrekvenční profil.
KPI a cílové hodnoty pro cm 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í baro/VO/RTK |
| FIX ratio | ≥ 85 % | NTRIP s nízkým věkem korekcí |
| VO inlier ratio | ≥ 60 % | Při rychlosti < 12 m/s |
| Reproj. RMS | ≤ 0,5 px | Po dobré kalibraci |
Implementační plán 30–60–90 dní
- 0–30 dní: výběr hardwaru (IMU/kamera/GNSS), kalibrace, základní VIO pipeline, RTK klient, volně propojený EKF.
- 31–60 dní: adaptivní vážení, kvalitativní flagy, robustní ztráty, testy ve různých světelných podmínkách, integrace s autopilotem.
- 61–90 dní: přechod na těsně propojenou fúzi (faktorový graf), on-line kalibrace extrinsics/časových zpoždění, KPI dashboard a provozní SOP.
Centimetrov