GPS-Denied Waypoint Recovery System
EKF3 dual-lane failover with real-time electronic warfare event detection on a tactical UAS platform.
- Stack
- Python · pymavlink · MAVLink · ArduPilot SITL
- Domain
- Drone / ISR · Electronic Warfare
- Status
- Complete · Apr 2026
Mission Planner — programmed waypoint path prior to GPS denial injection. Yellow lines show the planned autonomous route with green waypoint markers.
KML intelligence product rendered in Google Earth Pro — GPS track (green), denied track (red), denial onset marker, and estimated jamming zone polygon.
- 98%
- Reduction in EKF Position Divergence Through Tuning
- 4.5cm
- Altitude Precision During GPS Denial
- 0
- EKF Position Spikes in Final Tuned Run
- 5
- Flight Runs Across Iterative Tuning Cycle
GPS jamming renders standard UAS navigation unreliable mid-mission. Detecting the denial event in real time, maintaining controlled flight on backup sensors, and producing an actionable geospatial record of the denial zone requires a multi-layer architecture that most platforms do not implement out of the box.
Built a three-component system on ArduPilot SITL: a GPS denial injection script, a real-time EW Event Logger that detects EKF3 lane switches via MAVLink flag transitions and applies a 3-second debounce window, and a KML intelligence product generator that outputs a georeferenced flight record with track segmentation and denial zone polygon. EKF3 dual-lane architecture switches automatically from GPS to optical flow on denial. Rangefinder integration eliminated altitude collapse observed in baseline runs, achieving 4.5cm altitude standard deviation throughout the denial window.
| Lane 0 — GPS | Lane 1 — GPS-Denied | |
|---|---|---|
| Position | GPS | None (dead reckoning) |
| Velocity | GPS | Optical Flow |
| Altitude | Barometer | Rangefinder |
| Active when | GPS healthy | GPS jammed |
Lane 1 carries no absolute position source — optical flow provides velocity only, so the EKF dead reckons from the last known GPS fix and drift accumulates over time. On-course flight post-denial lasted approximately 28 seconds. Integrating a visual-inertial odometry source such as the Intel RealSense T265 is the natural next step.
Real-time denial detection via MAVLink EKF3 lane flag transitions, 3-second debounce window, geolocation capture, and KML output.
MAVLink-based GPS jamming injection triggered mid-mission to simulate contested-environment conditions.
Georeferenced denial record with track segmentation and denial zone polygon, validated in Google Earth Pro.
In a contested environment, GPS is a vulnerability. When it's jammed, most platforms drift, crash, or abort the mission. This system detects the denial event in real time, keeps the aircraft flying on backup sensors, and hands the operator a georeferenced record of where the jamming originated. That turns an attack on navigation into actionable targeting intelligence.