We design a solution to achieve coordinated localization between two unmanned aerial vehicles (UAVs) using radio and camera perception. We achieve the localization between the UAVs in the context of solving the problem of UAV Global Positioning System (GPS) failure or its unavailability. Our approach allows one UAV with a functional GPS unit to coordinate the localization of another UAV with a compromised or missing GPS system. Our solution for localization uses a sensor fusion and coordinated wireless communication approach.


This dataset inludes a nonlinear disturbance observer (NDOB)-based controller for attitude and altitude control of a quadrotor. The NDOB is used to estimate and compensate disturbances that are imposed naturally on the quadrotor due to aerodynamics and parameter uncertainties. It is demonstrated herein that the proposed observer can estimate external disturbances asymptotically.


The DroneDetect dataset consists of 7 different models of popular Unmanned Aerial Systems (UAS) including the new DJI Mavic 2 Air S, DJI Mavic Pro, DJI Mavic Pro 2, DJI Inspire 2, DJI Mavic Mini, DJI Phantom 4 and the Parrot Disco. Recordings were collected using a Nuand BladeRF SDR and using open source software GNURadio. There are 4 subsets of data included in this dataset, the UAS signals in the presence of Bluetooth interference, in the presence of Wi-Fi signals, in the presence of both and with no interference.


Sample rate: 60Mbits/s

Bandwidth: 28MHz

Centre Freq: 2.4375GHz

Each recording consists of 1.2 x 10^8 complex samples equating to 2 seconds recording time. Data is saved into ‘.dat’ files  and the complex data is saved as interleaved floats. ‘load_data.py’ is included for the data to be loaded into python and further split into smaller samples 20ms in length.

Files are categorised by interference, then by flight mode –

Switched on = ON

Hovering = HO

Flying = FY

Each file name uses an interference identifier, 00 for a clean signal, 01 for Bluetooth only, 10 for Wi-Fi only and 11 for Bluetooth and Wi-Fi interference concurrently. An example file name for Mavic Mini switched on in the presence of Bluetooth and Wi-Fi interference would be:

MIN + 11 + 00 + 00 = MIN_1100_00.dat



GPS spoofing and jamming are common attacks against the UAV, however, conducting these experiments for research can be difficult in many areas. This dataset consists of a logs from a benign flight as well as one where the UAV experiences GPS spoofing and jamming. The Keysight EXG N5172B signal generator is used to provide the true coordinates as a location in Shanghai, China.


PX4 Autopilot v1.11.3 (https://px4.io) is used for all experiments, running on Pixhawk 4 flight controller (PX4_FMU_V5) and Pixhawk GPS receiver. The UAV frame is the Holybro S500. QGroundControl (v4.0.9) is used for GCS (http://qgroundcontrol.com). 

Full flight data is contained in ULOG files (https://dev.px4.io/v1.9.0/en/log/ulog_file_format.html)

CSV files are obtained by conversion using the ulog2csv script (https://github.com/PX4/pyulog/blob/master/pyulog/ulog2csv.py)