Drone system for autonomous full-site inspection
Project summary
Our client was struggling with monitoring their assets, and installing additional cameras wasn’t really an option. We designed a module that extends standard drones by localizing and adjusting their movement during flight for scenarios when there’s no reliable GNSS coverage.
Full-site visibility without covering every corner with cameras.
Services:
The gaps between frames
A large logistics operator was struggling to monitor its assets across perimeter without sacrificing some areas. Not exactly the warehouses, but everything in between.
Fixed cameras and sensors could cover large sections, but how many devices would provide full coverage?
A drone is obviously the most practical alternative – no already predefined angles, no inevitable blind spots. But that’s before getting to more obstructed areas where there’s most definitely no reliable satellite signal.
We built a module that provides optical navigation to adjust the flight even within GNSS-denied zones.
More ground. Less effort.
- Full-site visibility
- GNSS-independent inspection
- Faster response to incidents
- No infrastructure to build
When cameras fall short
A large logistics complex isn’t easy to monitor: multiple buildings, internal roads, loading areas, storage zones. Too many access points for cameras and sensors.
And if we were to follow that strategy, the infrastructure it requires would become unreasonably expensive:
- Physical installation
- Network connectivity
- Multiple simultaneous video streams
- Ongoing maintenance…
A drone easily moves the point of observation way beyond predefined angles without hundreds of cameras. But operating all across a quite built-up location, one becomes heavily dependent on reliable satellite signals.
And that’s exactly where we enter the stage.
A drone that sees where exactly it’s going
We designed a module with a downward-facing camera that solves this problem by extending standard drones. And here’s the part that makes the difference – it uses visual information, not fluctuating satellite signals.
The result is localization even without GNSS coverage.
How does it work?
The behind the scenes
Visual odometry
Visual odometry is used to estimate real-time motion by detecting and matching the features between frames.
But here’s the catch:
- For shorter drone trajectories, the estimates are accurate
- For longer drone trajectories, the estimates gradually drift, as errors are accumulated
Machine learning
Machine learning is used to adjust real-time location by correcting said deviations.
That’s how it works:
- It compares the frames with preloaded map tiles
- And identifies the areas that most closely match to what is captured
Aggregator submodule
The model can assign equally high confidence scores to different map areas that have similar-looking objects.
Here’s what we do:
- We leverage VO trajectory to estimate the sector in which the drone is most likely located
- The longer VO reliance since the ML adjustment, the wider the sector to account for uncertainty
- In this predicted sector, we treat all sectors as candidates
- To find the best-fitting, we consider previous observations
Your drone but better
Tricky challenges, smart solutions
- The built-in inertial measurement unit (IMU), which isn’t very accurate, and barometer
- A mounted downward-facing camera
From concept to production
Full-site visibility without gaps
Tech stack
- C++
- Python
- Bash
- PyTorch
- OpenCV
- Docker
Project timeline & team
2 months
