Computer vision companion module for autonomous FPV drone last-mile navigation

Attack module to enable FPV drone last-mile guidance and delivery
Industry:

Project summary

The solution is a fallback module that equips FPV drones with autonomous last-mile navigation for combat. GNSS jamming & spoofing, antenna faults and other hardware failures, satellite occlusion, multipath errors – no longer a problem for soldiers.

Field trials have shown success rates of 80-90% on different drop points, even despite weather changes. 

Services:

AI development Military drone software R&D
Field trials
Software development
Technical consulting
Solution design
1

Project overview

The solution is an attack module to extend FPV drones with autonomous last-mile navigation.

Our company was contracted to address the challenge of undesirable success rates of affordable FPV drones. The strikes are compromised by widespread electronic warfare (EW equipment) and existing physical limitations of radio wave propagation.

 

Abto Software was involved from conceptualization to scaling the solution for production.

 

With expertise in implementing AI/ML models, computer vision, and more we helped to build a mission-ready, high-performing solution, already tested and deployed in combat.

 

A unique, warfare-connected ecosystem of services

Each feature is validated with soldiers in combat, not sanitized lab conditions, to deliver battle-ready systems that minimize the risk and defeat the enemy.

 

Equip, deploy, and win – choose technology repeatedly validated in real military scenarios.

2

Main goals

  • To increase the low success rates of different FPV drones by automating last-mile navigation
  • And provide a low-cost, scalable solution for integration into on-hand FPV drones

Last-mile autonomy where radios are silent

Targets locked, hits precise
cta image2 cta image1
3

How the solution works

The module is a companion computer with a forward-facing camera that can be attached to most FPV drones.  The modules are provided with encrypted USB drives that contain the software.

 

How the solution works:

  • The drone with the companion module is activated 
  • The encrypted USB drive is inserted into the USB port
  • The software is decrypted by using unique keys (the software isn’t stored on the module itself – it is loaded directly into RAM, so when the power is off, it is permanently deleted)
  • Once loaded, the drone is ready for mission
  • The drone is controlled like any other craft, without requiring additional configuration 
  • The parameters are adjusted by the built-in algorithm that considers the current payload weight

When seeing the target coming into visual range, the pilot can activate targeting mode by using the controller. A viewfinder (an enlarged frame center) will appear to simplify target acquisition.

 

After centering the target, the operator can switch to autonomous attack mode, again, using remote control. The module will take over ensuring the drone does strike the target, even under jammed control or signal.

 

This works for both static and moving targets.

 

The autonomous attack mode is “hit-and-forget” – it doesn’t require further actions after target acquisition, but for higher precision, the pilot can adjust target lock:

  • To adjust the setting, the pilot needs only the stick normally assigned to pitch and roll
  • This allows to reposition the scope during autonomous attack mode and increase the chance of success

Built-in “trackers”

Object tracking

A custom object tracker that attempts to capture object boundaries by using deep learning extracted features. The model works great for clearly visible targets (for example, vehicles on the road) and might also correct operator errors made during the target acquisition stage.

 

Pixel tracking

An accurate pixel tracker that follows selected points without clearly visible targets by leveraging optical flow. The method can be especially efficient in scenarios when targets are camouflaged. 

 

Key features

  • Integration with Betaflight 4.5.0 (top firmware on the battlefield today) 
  • Support for static and moving targets 
  • Tracker-based autonomous UAV control 
  • Target tracking:
  • object tracking based on deep learning, accelerated by Neural Processing Unit (NPU) 
  • pixel tracking based on optical flow
  • Real-time processing on the single-board computer 
  • Custom embedded Linux image for the single-board computer
  • CRSF-based manual target adjustment 
  • Support for different cameras to mitigate luminance changes
  • Automatic calibration for different payload weights
  • Code encryption
  • Verbose logging and flight analysis ecosystem for future R&D efforts
  • GStreamer video processing pipeline
4

Our contribution

In-house development

R&D (research & development)

R&D activities were performed in parallel with all other stages and included:

  • POC development
  • Parameter tuning
  • Hardware investigation
  • Competitor analysis
  • CV research to investigate different approaches
  • Controller research

SITL simulation

We set up a SITL simulation for initial POC composing – Gazebo & Betaflight testing – and covered smoke testing of the new builds.

 

Software development

We helped to build a configurable, scalable solution for real-time UAV control and autonomous target tracking.

 

Industrial design

  • The selection of optimal price-quality hardware (companion SBC, D/A converter, camera, connectors)
  • The design of a custom enclosure to protect the module

 

Data security

We went with the CI/CD pipeline to create and encrypt ARM builds.

 

Data analysis

An ecosystem for flight data analysis collects data from multiple sources (videos, logs, GPS trajectories) and generates informative reports.

 

Field trials

To facilitate field trials, an integral project part, it has been important to develop:

  • “Aggressive tracker” – an application for high-precision GPS logging to record reference trajectories
  • USB clock – a device to set the time on the delivered module to synchronize the logs
  • Extended interface – a menu for quick algorithm configuration in real-world field conditions
5

Main challenges

  • Betaflight integration

Betaflight firmware was chosen as the target platform, as it’s the leading flight controller to run various crafts. Being designed primarily for manual-only operation, its autonomous flight capabilities are limited, in particular to accommodate our objectives.

 

This challenge was handled by developing a better-fitting, custom algorithm for autonomous flight control.

  •  Betaflight configuration

Betaflight provides many options that allow the pilots to tune drone behavior to their individual preferences. Some parameters were essential to operate our module.

 

A script was built to override default settings before launching, while keeping the pilot’s personal preferences.

  •  Robustness despite weather changes

After achieving reliable operation in controlled, ideal conditions, there were other challenges to resolve:

  • We helped to implement a solution that combines algorithm changes, PID tuning, and corrections to hardware to mitigate wind speed and direction, which affected drone behavior
  • Changing luminance was negated by applying image preprocessing and supporting low-light cameras, which complicated target aiming and tracking
  • The potential precipitation damage was minimized by improving the module’s physical enclosure – thereby, though not being completely waterproof, the module water resistance was enhanced

 

  • PID tuning

PID control (Proportional-Integral-Derivative control feedback mechanism) is at the core of our custom model. PID parameters are commonly tuned empirically.

 

We used the values we obtained from simulations as our reference point, but performed additional fine-tuning for optimal flight control in the real world.

  •  Reliable tracking in an extreme environment

While popular off-the-shelf trackers deliver acceptable results under ideal conditions, our case is not that easy. Military targets may either be camouflaged or obscured by smoke.

 

To mitigate this issue, a custom “pixel tracker” that uses optical flow to track a single pixel only was developed – it works no matter if targets can be locked at this point.

  •  Intuitive experience

One of our objectives is designing a solution that’s easy to use and can be operated by less experienced pilots. We’ve already added many convenience features (for example, targeting mode and manual target adjustment) and continue collecting feedback from end-users.

 

We provide ongoing support and maintenance, and implement on-demand adjustments if requested.

  •  Real-time performance

With the computing power of the single board computer (SBC), real-time performance is a massive challenge. But nonetheless, it’s critical to have a fast (and low-latency) control loop when operating high-speed drones.

 

This challenge was addressed through careful software optimization, the use of multithreading, and leveraging NPU acceleration.

  •  Limited sensors

We aimed to keep the module both affordable and not GNSS dependent, so the only available options were:

  • The built-in inertial measurement unit (IMU), which isn’t very accurate, and barometer
  • And a forward-facing camera

To achieve robust control under these limiting conditions:

  • We went for leveraging computer vision to extract additional information from the integrated camera
  • And developed an algorithm to split the tasks into phases
    At the first stage, it accelerates the drone toward target while maintaining constant altitude
    At the second stage, when reaching desired angle, it dives toward target

Tools and technology stack

Tech stack:

  • C++
  • Python
  • OpenCV
  • GStreamer
  • Linux
  • Bash
  • V4L2
  • CrossFire
  • Betaflight SITL
  • Rockchip NPU (RKNN models)
  • Gazebo
  • MSP

Device integration:

  • FPV quadcopters of different frame sizes (7-10 inches and higher)

Timeline:

  • 2 months – POC development
  • 3 months – product version 1 development
  • 4 months – product version 2 development
  • 3 months – drone adaptation and scaling for production
  • Total duration: 12 months

Team:

  • 1 project manager
  • 2 C/C++ developers
  • 1 Python developer
  • 2 computer vision R&D engineers
  • 2 machine learning R&D engineers
  • 2 hardware engineers
  • 1 DevOps specialist
  • 1 data scientist

Final-mile delivery when pilots can’t see

Strike clean without re-run
cta image2 cta image1
6

Value delivered to business

  • Increased precision – an automated last-mile navigation for topmost success rates
  • Reduced investment – easy integration with already procured drones 
  • Field-proven technology –already tested and deployed in combat
  • EW-withstanding algorithm – no dependency on real-time control signals
  • No extra training needed – the interface is easy-to-navigate, no matter skill level
  • Future-proof stack – designed adaptable for future software development and improvements
7

Technical specifications

Module weight180 grams
FPV compatibility
  • Compatible with drones of 7 inches and above
  • Performance varies by size
Platform examples
  • 8″ drone: 16 km range with 2 kg payload
  • 10″ drone: 2 km range with 3 kg payload
Firmware compatibilityBetaflight via MSP (MultiWii Serial Protocol)
GNSS independence GNSS independent thanks to:

  • Computer vision
  • IMU fusion 
Functional scopeAn autonomous last-mile guidance
Remote control jamming resistanceOnce autonomous attack mode is enabled, the drone can approach the target no matter remote control signal integrity
Wind resistanceUp to 10 m/s (may depend on drone platform capability)
Success ratio (static target)80-90% rate with wind up to 8-10 m/s
Success ratio (moving target)Moving targets at a speed of up to 60 km/h have not been missed so far, but the testing opportunities were limited. We assume a similar performance level.
Boot time (when on the ground)45 seconds
Targeting mode activation time5 milliseconds 
Recommended distance for activation300-500 meters to target
Core components
  • ARM-based SBC with custom Linux OS
  • Forward-facing camera 
  • USB-drive with encrypted software
Processing
  • Computer vision real-time processing
  • IMU fusion
CameraDigital, USB, 2 MP, FOV 145°
Input voltage5 V
Temperature rangeFrom -20°C to +50°C
Control integration
  • In autonomous attack mode, it overrides pilot’s controls
  • The pilot can adjust target location
Module deploymentField-ready enclosure
8

User interface

Starting screen

The module is loaded, and drone is ready to launch:

abto software

Targeting mode

  • The scope is yellow 
  • The operator can see the target in the magnified view
abto software

Autonomous mode

  • The scope turns red and follows the object
  • The algorithm is controlling the drone to hold the target in the frame center

The drone will attack the target even after losing connection to the ground control:

abto software

Target adjustment

  • The scope turns orange and follows the object
  • The operator can move the stick to adjust the target and reinitialize the tracker
abto software

Categories:

See. Lock. Attack. Wrap.

Contact us

Tell your idea, request a quote or ask us a question