Skip to main content
🔴 LIVE — Day 1516 of the full-scale invasion  |  Latest: Frontline Dynamics — March 2026 Analysis
🧩 Sensor Fusion

Alt Navigation Fusion

· 8 min read ·

Поєднання GPS, VIO, terrain-matching, UWB, барометра і IMU в єдину надійну систему позиціювання: Extended Kalman Filter, адаптивне перемикання джерел і архітектура максимальної стійкості до РЕБ

Оновлено: 19 лютого 2026 • Час читання: ~8 хв

Жодне окремо взяте джерело навігації не є ідеальним: GPS — точний але вразливий до jamming; IMU — незалежний але накопичує дрейф; VIO — точний у локальному масштабі але чутливий до освітлення; барометр — надійний по висоті але схильний до вітрового шуму. Sensor fusion — математичне мистецтво об'єднати всі ці неідеальні джерела в одне найкраще рішення.

Extended Kalman Filter (EKF) — серце сучасного ArduPilot і PX4. Він постійно відстежує оцінку стану (позиція, швидкість, орієнтація) і її невизначеність (covariance matrix). Коли надходить нове спостереження → EKF обновлює оцінку, зважуючи довіру до нового спостереження з накопиченою невизначеністю. Чим точніший датчик → тим більша його «вага» у фінальній оцінці.

Для бойових умов ключова властивість fusion навігації — деградований режим: навіть при відмові GPS і VIO → INS dead reckoning + барометр зберігають достатній рівень для автономного польоту ще 2–5 хвилин до виходу з зони глушіння або виконання emergency RTH.

EKF3
Extended Kalman Filter v3 у ArduPilot — fusion до 10 датчиків одночасно включно з GPS і VIO
6–7
Типова кількість джерел навігаційної інформації у сучасних бойових БПЛА середнього класу
INS
Inertial Navigation System — «останній рубіж» після відмови всіх зовнішніх джерел
<2°
Точність орієнтації EKF3 при нормальній роботі GPS + IMU + Magnetometer fusion

Матриця джерел навігації та їх внесок у fusion

🛰️
GPS/GNSS
Точність±2–5 м
JammingВразл.
DriftНемає
ДоступGlobal
Вага при норм.роботі
📐
IMU / INS
ТочністьДрейфує
JammingНемає
DriftНакоп.
Оновлення1000 Hz
Вага посдного шансу
📷
VIO / Optic Flow
Точність±2% dist
JammingНемає
DriftМалий
УмовиОсвітл.
Вага при GPS-jam
🌡️
Барометр
Точність Z±0.5 м
JammingНемає
DriftМалий
XYНемає
Вага для висоти
🧲
Magnetometer
Точність±1–2°
JammingНемає
InterferenceМетал
HeadingGlobal
Вага для heading
📡
UWB / Beacon
Точність±15 см
JammingСтійкий
RangeLocal
Setup30 хв
Вага у зоні маяків

Пріоритети fusion в залежності від доступних датчиків

СценарійДоступні джерелаEKF стратегіяТочність позиції
Norma / MaxGPS + IMU + Baro + Mag + VIOFull fusion всіх джерел±2–5 м
GPS JamIMU + Baro + Mag + VIOGPS excluded, VIO primary±5–30 м (drift)
GPS + VIO failIMU + Baro + MagDead reckoning modeDrift > 1 m/min
UWB zoneUWB + IMU + BaroUWB primary, GPS secondary±15–30 см
Indoor SLAMVIO+SLAM + Baro + IMUSLAM anchor correction±50 см

Часті запитання

Що таке Extended Kalman Filter і як він об'єднує різні навігаційні датчики?

Extended Kalman Filter (EKF) — математична основа навігаційного fusion: Калман-фільтр (KF) — оптимальний оціночний алгоритм для лінійних систем з Gaussian noise. Extended KF (EKF) — нелінійна версія (БПЛА = нелінійна система). Що EKF відстежує: «State vector»: [position_x, position_y, position_z, velocity_x, velocity_y, velocity_z, roll, pitch, yaw, gyro_bias_x, gyro_bias_y, gyro_bias_z, accel_bias_x, accel_bias_y, accel_bias_z, …]. 15–24 змінні стану. Covariance matrix P: невизначеність кожної змінної і кореляції між ними. Prediction step (кожен IMU tick, 1000 Hz): використовує фізичну модель польоту + IMU measurements. Передбачає новий стан → невизначеність P зростає (без нового observation). Update step (при нових спостереженнях GPS/VIO/etc): Innovation: різниця між спостереженням і передбаченням. Kalman Gain K: скільки довіряти новому спостереженню vs нашій передбачені. K = f(P, noise_matrix_R). Оновлення: state += K × innovation. P зменшується (більше перевпевненості). Practical result: EKF автоматично «знає» що GPS drift=0 але latency 1 Hz → GPS contributor для slow position. IMU = instant response → contributor для fast angular dynamics. Виняток: Kalman divergence. Якщо observation дуже різко відрізняється від prediction → велика innovation → EKF update може дестабілізувати систему. Рішення: innovation gate (відкидає outliers). ArduPilot EKF3: 3 паралельних EKF instanceID → majority voting. Якщо один EKF дивергує → виключається. Висока надійність.

Як ArduPilot EKF3 виявляє і виключає ненадійний GPS або InnavidовнийIMU модуль?

ArduPilot EKF3 health monitoring і fault detection: EKF health indicators: EKF3 постійно відслідковує: 1) Innovation magnitude: якщо GPS measurement занадто відрізняється від prediction → GPS може бути spoofed або jammed. Innovation gate threshold. 2) Normalized Innovation Squared (NIS): якщо NIS > threshold → датчик помічається «unhealthy». 3) Velocity consistency: якщо GPS velocity inconsistent with accelerometer integration → GPS GPS glitch. 4) Position loop consistency: порівнює 3 паралельних EKF instances. GPS Glitch detection: EKF відстежує GPS velocity inconsistency. Параметр EK3_GLITCH_RAD: радіус можливого GPS руху за один крок. Якщо GPS стрибок > threshold → GPS temporarily excluded → IMU dead reckoning. Practical messages: «EKF3 IMU0 GPS0 ground lock not achieved» — GPS failure. «EKF3 IMU0 using GPS» vs «EKF3 IMU0 not using GPS» — статус. IMU fault detection: IMU vibration check: якщо Accel клipping (вібрація > 16 g) → IMU data unreliable. Multiple IMU: ArduPilot підтримує 2–3 IMU. Якщо 1 IMU розходиться з іншими → excluded. Magnetometer inconsistency: якщо compass heading розходиться з GPS course при русі → compass excluded. Параметр: COMPASS_USE = 0 (disable problematic compass). EKF Lane switching: 3 паралельних EKF «lanes». При primary EKF health fail → automatic failover до secondary lane. Log message: «EKF3 lane switch 0→1». Практика ЗСУ: моніторинг GCS (Mission Planner) EKF health в реальному часі. При «GPS glitch» warning → оператор переходить у manual alt-hold і чекає відновлення.

Як реалізується перемикання між джерелами навігації у реальному польоті при деградації умов?

Cascaded navigation failure management — ієрархія деградації: Level 1: GPS excellent (HDOP < 2.0, satellites ≥ 10). EKF primary = GPS + IMU + Mag + Baro. Режим польоту: Loiter, Auto, rtl — все доступно. Точність: ±2–5 м. Level 2: GPS degraded (HDOP 2.0–5.0, satellites 6–9, jamming moderate). EKF зменшує вагу GPS, підвищує вагу IMU dead reckoning. Режим: Loiter possible but drifting. Pilot should consider manual. ArduPilot попередження: «GPS primary quality degraded». Level 3: GPS unavailable/jammed/spoofed (satellites < 6 або EKF GPS health fail). ArduPilot Failsafe: якщо не EKF health → AltHold активується (можна тримати висоту, але горизонт дрейфує). Якщо FLOW sensor активний → FLOWHOLD mode (hover using optical flow). Level 4: EKF недостатньо здоровий для Loiter. Pilot forced to STABILIZE (manual acrobatic). Лише barometer для висоти. Level 5: Complete IMU failure. Automatic motor shutdown (ARM_STATUS = DISARMED_FAILSAFE). Practical настройки ЗСУ: EK3_SRC1_POSXY = GPS. EK3_SRC2_POSXY = WHEEL_ENCODER або EXTNAV (зовнішній VIO). EK3_SRC_OPTIONS = 1 (fuse all compatible). Automatic source switching при degrade. LTE telemetry: оператор бачить EKF status remotely навіть при RC jam. Auto-intervention pre-flight checks: GPS lock required before arm → запобігає старту без GPS у нормальних умовах.

Чи є «навігаційний отруєний» GPS реалістичною загрозою і як EKF протидіє spoofing?

GPS Spoofing detection у EKF і обмеження захисту: Що таке GPS spoofing у контексті fusion: Спуфер генерує фальшивий GPS сигнал що вказує іншу позицію ніж реальна. EKF отримує «GPS position» яка суперечить IMU dead reckoning prediction. Якщо спуфынг дуже повільний → EKF accept gradually → БПЛА ненавмисно летить не туди. EKF detects rapid spoofing: якщо GPS стрибнув на 100 м за 0.1 с → innovation > gate → GPS excluded. Але: «повільний» спуфінг (1–5 м/с drift інʼєкція) → EKF може не помітити. Це відомо як «gradual spoofing attack». Захист у EKF від gradual spoofing: 1) Multi-constellation: GPS + GLONASS + Galileo. Спуфити всі одночасно з різних DIY-систем — складно. 2) Cross-check GPS velocity vs IMU: GPS velocity (Doppler) vs IMU-integrated velocity. Якщо відрізняються > threshold → GPS navigation warning. 3) GPS position vs known map: якщо GPS каже «я над морем» а TERCOM/terrain знає «там земля» → anomaly detection. 4) Magnetometer cross-check: GPS heading vs mag heading при русі. Суперечність → spoof indicator. Обмеження: Без криптографічного захисту GPS сигналу (тільки військовий P(Y) і M-Code) → spoofing завжди теоретично можливий. Практичний наслідок для ЗСУ: FPV пілот здатен реагувати візуально на неправильне положення. Автономні місії — більший ризик. Рішення: перевірка waypoints за землею (оптичний landmark) при автономному польоті.

Яка максимальна тривалість автономного польоту тільки на IMU dead reckoning після відмови GPS?

IMU Dead Reckoning — практичний ліміт без корекцій: Теорія IMU drift: Consumer IMU (ICM-42688): gyro bias ~5°/год, accel bias ~3 mg. Через double integration: позиційна помилка накопичується ~ t² / 6 × accel_noise. Практичні цифри: 10-секундний GPS loss: ±0.5–2 м позиційна помилка → прийнятно. 30 секунд: ±5–15 м → БПЛА відхиляється але продовжує завдання. 60 секунд: ±20–50 м → suisse небезпечна зона. 3 хвилини: ±100–500 м → очевидний дрейф. 10 хвилин: ±500–2000 м → БПЛА в невідомому місці. Практика ArduPilot при GPS loss: ArduPilot автоматично: 1) GPS_TIMEOUT: якщо GPS відсутній > 5 секунд → EKF виключає GPS. 2) IMU dead reckoning продовжується. 3) При «EKF quality insufficient» → failsafe може бути triggered (RTH або Land). 4) RTH без GPS: БПЛА скористається останнім відомим heading + dead reckoning. Може повернутись з ±50–200 м відхиленням від home. Оптимізація для EW-stresserd середовища: 1) COMPASS_USE=0 (не покладатися на compass що може бути perturbed EW). 2) GPS_HDOP_GOOD = 2.0 (прийняти GPS тільки при HDOP < 2). 3) EK3_ERR_THRESH = 0.8 (суворіше виключення ненадійного EKF instance). 4) FENCE_ACTION = 4 (RTL при breach) + FENCE_MARGIN = 30 м. Висновок: тактична рекомендація: БПЛА повинен мати автономний план для будь-якого відрізку аж до 3 хвилин GPS loss → готова до дрейфу на ±30–100 м і відповідної safety margin у місії.

Яка архітектура fusion навігації оптимальна для перспективних БПЛА ЗСУ 2025–2027?

Оптимальна fusion архітектура для наступного покоління бойових БПЛА: Visió 2025–2027 для розвідувальних БПЛА (Mavic+ клас): Primary: Multi-constellation RTK GPS (GPS+GLONASS+Galileo+BeiDou L1+L5 dual-freq). Secondary: VIO (Intel RealSense або VINS-Fusion): автоматична активація при GPS degraded. Tertiary: Optical Flow + Barometger: hover при VIO failure. LTE backup telemetry: position sharing через LTE при повному radio loss. Companion computer: Raspberry Pi 5 або Jetson Orin Nano (15W). Для loitering munitions (Switchblade-type, Ukrainian equivalents): GPS + INS (tightly coupled): навігація на маршруті. Terrain-aided TERCOM на mid-course: корекція накопиченого INS дрейфу. DSMAC або CV-based terminal guidance: ±3 м кінцева точність. EW-resistant design: diverse freq (multi-constellation), encrypted MAVLink. Для роїв мікро-БПЛА: Centralized GCS swarm coordination: одна позиція відома (командний БПЛА з GPS). Mesh relative positioning: відносне позиціювання між агентами рою. UWB inter-drone ranging: ±15 см відносна позиція між агентами. Distributed EKF: кожен агент запускає власний EKF, обмінюється оцінками з сусідами. Software stack 2025: PX4 v1.14+ (краща VIO підтримка). ArduPilot 4.5+ (EKF3 multi-source). ROS2 + Nav2 + VINS-Fusion для складних автономних місій. Основний принцип: layer redundancy at every level — жоден компонент не повинен бути single point of failure у навігаційному ланцюжку.

Джерела та посилання

ArduPilot: EKF3 Navigation Filter Documentationardupilot.org — Документація фільтру EKF3 у ArduPilot
PX4: EKF2 Multi-Source Fusion Theorydocs.px4.io — Теорія злиття джерел у EKF2 PX4
Kalman, R.E.: A New Approach to Linear Filtering (1960)ASME Journal — Оригінальна стаття Калмана про фільтрацію
RUSI: Multi-Sensor Navigation for Ukrainian UAVsrusi.org — Мульти-сенсорна навігація для БПЛА України
IEEE AES: Tightly Coupled GPS/INS Integrationieeexplore.ieee.org — Тісна інтеграція GPS/INS у навігаційних системах
NASA: Multi-Sensor Fusion for Autonomous UAV Navigationntrs.nasa.gov — Злиття сенсорів для автономних БПЛА NASA