З початком повномасштабного вторгнення росії в Україну небо над полем бою перетворилося на простір постійної радіоелектронної боротьби (РЕБ). Ворог масово застосовує спуфінг (підміну навігаційних сигналів) і глушіння GPS-сигналів, через що дрони часто втрачають стабільність і керованість. У таких умовах військові змушені витрачати багато зусиль і часу, щоб просто втримати дрон у повітрі.
Для розв’язання цієї проблеми спеціалісти Abto Software долучилися до проєкту, в межах якого було розроблено додатковий FPV-модуль. Це рішення забезпечує автономне утримання позиції в повітрі навіть тоді, коли супутникова навігація повністю недоступна.
Головне про проєкт
У зонах бойових дій перешкоди сигналу GPS — поширене явище. Через це пілоти дронів змушені постійно вручну коригувати політ, що ускладнює спостереження та підвищує ризики. Основна задача додаткового FPV-модуля — зняти це навантаження з оператора.
У межах проєкту було впроваджено комп’ютерний зір, візуальну одометрію (визначення руху дрона за змінами зображення з камери) та інші сучасні підходи для забезпечення стабільного зависання дрона. Це дозволяє FPV-дронам працювати без постійної ручної стабілізації — навіть без підключення до GNSS (глобальні супутникові навігаційні системи). Така можливість критично важлива для розвідки та ретрансляції сигналу в умовах, де системи РЕБ повністю блокують супутниковий зв’язок.
До розробки модуля були залучені фахівці Abto Software у складі:
* 1 Project Manager
* 2 C/C++ Developers
* 1 Python Developer
* 1 Computer Vision Engineer
* 1 Control Systems Engineer
* 1 Hardware Engineer
* 1 DevOps Specialist
Модуль створювали та тестували у тісній взаємодії з військовими — безпосередньо в бойових умовах. Це дало змогу одразу перевіряти рішення в реальних умовах і швидко вдосконалювати його.
Інструменти та технологічний стек: C++, Python, Linux, Bash, ROS Noetic, SDL2 X11, OpenCV, ORB, SURF, Gazebo, Betaflight SITL, ArduPilot SITL, MSP, MAVLink.
Як працює рішення
Модуль інтегрується з наявними FPV-системами та складається з:
— одноплатного комп’ютера (SBC) з кастомізованим образом Linux;
— камери, спрямованої вниз;
— програмного інтерфейсу, сумісного з Betaflight і ArduPilot.
На практиці це виглядає так:

Такі дрони можуть використовуватися для:
— розвідувальних і спостережних операцій;
— місій у середовищах без GNSS;
— ретрансляції сигналу дистанційного керування;
— протидії глушінню.
Процес створення модуля
Проєкт пройшов шлях від складних досліджень до створення готового модуля, який можна одразу використовувати в бою. У цьому процесі окрему роль відіграла технологічна експертиза Abto Software.
Основні напрямки роботи включали:

Основні виклики проєкту
Автономне керування дроном у реальних умовах — це не лише про складні алгоритми. Це про постійний баланс між точністю, стабільністю та обмеженими ресурсами. Тож під час роботи над рішенням виникали і цікаві виклики.
Стабільний контроль польоту
Одне з головних завдань — зробити керування дроном стабільним у всіх осях руху. Для цього розробили вдосконалені PID-контролери — алгоритми, які допомагають дрону утримувати положення та швидко реагувати на відхилення.
Велику роль тут зіграли польові випробування. Саме вони дозволили точно налаштувати систему під різні платформи і компенсувати відмінності в конфігураціях та компонентах дронів. У результаті політ залишався стабільним навіть за змінних умов.
Сумісність з кількома прошивками
Ще одним важливим викликом стала робота з різними прошивками. Було вирішено підтримувати одразу дві популярні платформи — Betaflight та ArduPilot.
Betaflight широко використовується для керування дронами, але спочатку він розрахований переважно на ручний політ. Це створювало обмеження для автономних сценаріїв, тож в рамках проєкту був розроблений власний алгоритм автономного керування, який розширив можливості платформи.
ArduPilot, зі свого боку, вже має розвинені автономні режими. Для його інтеграції:
— відбувся перехід з протоколу MSP на MAVLink;
— реалізували емуляцію датчиків, використовуючи візуальні дані замість GPS.
Такі рішення забезпечили стабільну роботу модуля на різних платформах.
Стабільне зображення під час польоту
Під час польоту дрон постійно нахиляється і зміщується, що ускладнює роботу з візуальними даними. Щоб уникнути цього, було розроблено програмну систему стабілізації зображення.
Вона автоматично компенсує спотворення, тож відстеження об’єктів залишається точним навіть у динамічних умовах і за складної погоди.
Утримання висоти
Ще один важливий аспект — стабільне зависання та контроль висоти. Для цього було створено алгоритм, який поєднує дані з камери та барометра.
Система аналізує рух зображення, зменшує зсуви та запобігає відхиленню від заданої позиції, забезпечуючи надійне утримання дрона в повітрі.
Робота в реальному часі
Одноплатний комп’ютер (SBC) має обмежені обчислювальні ресурси, але для швидких дронів критично важливо, щоб система реагувала без затримок.
Цю задачу вдалося вирішити завдяки оптимізації програмного забезпечення та використанню багатопоточності. У результаті система стабільно працює в реальному часі навіть під навантаженням.
Мінімальний набір датчиків
Щоб рішення залишалося доступним і масштабованим, довелось працювати з мінімальним набором сенсорів:
— вбудованим IMU та барометром;
— камерою, спрямованою вниз.
За таких умов ключову роль відіграв комп’ютерний зір. Саме він дозволив отримувати додаткову інформацію з відео та компенсувати обмеження апаратної частини.
Надійність незважаючи на зміни погоди
Реальний політ — це вітер, різке освітлення і несподівані коливання. Усе це може впливати на стабільність дрона. Тож алгоритми та апаратна частина були адаптовані для роботи за таких умов, а попередня обробка зображень зменшує вплив різких змін яскравості. Додаткове налаштування контролерів і оптимальний розподіл ваги допомагають знизити коливання та енергоспоживання.
Точне визначення положення
В основі рішення лежить візуальна одометрія — підхід, який визначає рух дрона, порівнюючи ознаки між послідовними кадрами. Щоб підвищити точність:
— працювали з ключовими кадрами;
— оптимізували налаштування камери;
— тестували різні детектори ключових точок і дескриптори.
Це дозволило точно визначати положення дрона навіть у складних умовах.
Польові випробування
Щоб підтвердити стабільність рішення, в рамках проєкту провели серію польових випробувань у реальних умовах. Під час тестів дрон утримував стабільне зависання понад 20 хвилин за таких параметрів:
— температура повітря — 17 °C;
— швидкість вітру — 5 м/с.

У верхньому лівому куті відображається телеметрія від контролера польоту та системи візуальної одометрії. Саме ці дані показують, як змінюється положення та поведінка дрона під час зависання.
У верхньому правому куті представлена карта, яка відстежує фактичне положення дрона в просторі.
В ідеальних умовах траєкторія виглядала б як одна точка — це означало б повністю стабільне утримання позиції. У реальності ж можливий незначний дрейф через вітер або зміну освітлення. Система постійно аналізує ці відхилення та компенсує їх, утримуючи дрон якомога ближче до заданої позиції.
Цінність реалізованого проєкту
Розробка FPV-модуля довела, що дрони можуть залишатися стабільними навіть там, де звична навігація відмовляє. Головна перевага рішення у його практичності: модуль легко інтегрується у вже існуючі платформи та суттєво зменшує навантаження на оператора. Це робить технологію не просто цікавою розробкою, а реальним інструментом для роботи у складних умовах.
Для команди Abto Software цей проєкт став цінною можливістю застосувати свою експертизу в комп’ютерному зорі та алгоритмах автономного керування для розв’язання критично важливої задачі. Поєднання коду та практичних випробувань дозволило створити продукт, який підсилює можливості українських військових, роблячи їхню роботу ефективнішою та, що найважливіше, безпечнішою. Зрештою, саме в таких проєктах технології набувають свого справжнього сенсу.