Where GPS Fails
GPS is a line-of-sight system. The receiver needs an unobstructed view of at least four satellites to compute a 3D position fix. In an open field at midday, that is trivially available. In the environments where search and rescue operations actually happen, it is often not.
Coastal cliffs create two problems. The cliff face blocks satellites on one side of the sky, reducing the geometric dilution of precision. Worse, the rock face reflects GPS signals, causing multipath errors where the receiver triangulates using both the direct signal and a reflected copy. The computed position can jump by tens of metres between fixes.
Dense tree canopy attenuates the L1 signal. GPS was designed for military use in the open, not for penetrating forest canopy. Under heavy foliage, the signal-to-noise ratio drops to the point where the receiver loses lock on individual satellites. A drone flying at 30m altitude above a forest is above the canopy and typically fine. A drone flying at 10m between buildings or in a narrow ravine below the tree line is in trouble.
Urban canyons combine the worst characteristics of cliffs and multipath. Tall buildings block satellite visibility and reflect signals off glass and steel facades. This is a well-studied problem in autonomous vehicle research, but it is equally relevant for SAR operations in urban disaster scenarios.
Mountains block entire quadrants of the sky. In a steep valley, the drone might have satellite visibility only in a narrow cone directly overhead. As the satellite constellation rotates, the available fix quality fluctuates minute to minute. A drone that requires continuous GPS for navigation will abort the mission or drift unpredictably during gaps.
The common thread: GPS fails in exactly the terrain where SAR operations are most likely to occur. A system that depends entirely on GPS for navigation is a system that will fail when you need it most.
Visual-Inertial Odometry
Visual-inertial odometry — VIO — is the primary alternative for position estimation without external infrastructure. It works by combining two complementary sensor streams.
The visual component uses a camera (typically a downward or forward-facing camera) to track features between consecutive frames. As the drone moves, objects in the camera frame shift position. By matching features across frames and computing the geometric transformation that explains the shift, the system estimates the camera's motion in 3D space. This is essentially the same mathematics used in photogrammetry and SLAM (simultaneous localisation and mapping).
The inertial component uses an IMU — an accelerometer and gyroscope — to measure linear acceleration and angular velocity at high frequency, typically 200 to 1000 Hz. By integrating accelerations over time, the system estimates velocity and position changes between visual updates.
The fusion is complementary. The camera provides absolute displacement estimates at relatively low frequency (30 Hz typical) but with no drift over short baselines. The IMU provides high-frequency motion estimates but accumulates error quickly due to integration of noisy acceleration signals. A Kalman filter or similar estimator fuses the two, using the camera to correct IMU drift and the IMU to interpolate between camera frames.
VIO requires no external infrastructure. No satellites, no base stations, no pre-mapped environment. It works anywhere the camera can see visual texture — which includes virtually all outdoor SAR environments during daylight. It runs onboard the drone with no communication link required.
The Drift Problem
VIO is not GPS. It estimates position relative to a starting point, and that estimate accumulates error over time and distance. This is an inherent property of dead-reckoning systems: each position estimate builds on the previous one, and small errors compound.
A well-calibrated VIO system on a modern platform like the Parrot ANAFI UKR achieves approximately 1% drift in ideal conditions. That means after 100m of flight, the estimated position might be off by roughly 1m. After 1km, roughly 10m. The error is not constant — it depends on flight speed, visual texture quality, lighting conditions, and wind-induced vibration affecting the IMU.
For SAR grid search, drift matters because it translates directly to coverage gaps. If the drone thinks it is flying a sweep line 33m to the right of the previous line but is actually only 28m to the right, there is a 5m gap between coverage strips. Over a 200m sweep, a 1% lateral drift means the gap between actual and planned coverage grows with each pass.
Drift is worst in specific conditions. Flying over water (no visual texture for feature tracking). Flying over uniform terrain like snow or sand. Flying in low light where the camera gains up and produces noisy frames. Flying in high wind where vibration degrades IMU integration.
The drift problem is real but bounded. Understanding the expected drift rate for your operating conditions lets you plan around it — specifically, by increasing the overlap between sweep lines to absorb the worst-case position error.
Hybrid Navigation Architecture
The pragmatic approach is not to choose between GPS and VIO, but to use both. The architecture works in layers.
Primary: GPS when available. When the drone has a valid GPS fix with adequate satellite geometry (typically 6+ satellites, PDOP below 4), use GPS as the primary position source. GPS provides an absolute position with bounded error that does not accumulate over time.
Correction: GPS anchors VIO. While GPS is available, use it to continuously correct the VIO estimate. This resets the drift accumulation. Every valid GPS fix brings the VIO baseline error back to zero. The VIO system is always running, but its output is being compared against GPS and recalibrated.
Fallback: VIO when GPS degrades. When GPS fix quality drops below a threshold — fewer satellites, rising DOP values, excessive position variance between fixes — the system seamlessly transitions to VIO-only navigation. The drone continues flying the mission without interruption.
The critical architectural decision is how the flight plan is stored. A mission defined as a sequence of absolute GPS coordinates — "fly to 48.8566 N, 2.3522 E, then fly to 48.8570 N, 2.3525 E" — requires GPS to navigate. If GPS drops, the drone cannot determine where the next waypoint is relative to its current position.
A mission defined as a sequence of relative vectors — "from your current position, move 33m east, then move 200m north, then move 33m east" — works regardless of the position source. The drone tracks its displacement from the last waypoint using whatever navigation is available: GPS, VIO, or both. The format is {dx, dy, dz, dpsi} — relative translation and heading change from the previous point.
This is the key insight. Store waypoints as relative moveBy commands, not absolute moveTo commands. The former survives GPS dropout. The latter does not.
Practical Implications
This hybrid architecture has several practical consequences for SAR operations.
Graceful degradation. When GPS drops, the mission continues. The operator sees a status change on the telemetry display, and the drone's position estimate quality decreases, but the search pattern executes without interruption. For a time-critical SAR operation, this is the difference between completing the search and having to restart.
Drift-aware overlap. Because the system tracks estimated drift over time, it can dynamically adjust grid overlap to compensate. If the VIO drift estimate exceeds a threshold, the system increases the spacing margin on subsequent sweep lines. The search takes slightly longer but maintains coverage guarantees.
Return-to-home reliability. The entire flight plan is stored as relative vectors from the takeoff point. The sum of all vectors in a complete mission should be approximately zero — the drone returns to where it started. In practice, accumulated drift means the return position will be offset. But the offset is bounded by the total drift over the mission distance, which is predictable and typically within a few metres for missions under 2km total path length.
Operational simplicity. From the operator's perspective, none of this is visible. They draw a search area on the map, the system computes the grid, the mission uploads to the drone. The hybrid navigation runs automatically. The operator does not need to know whether the drone is using GPS, VIO, or both at any given moment. They need to know whether the search is progressing — and it is.