AVIATOR is a UAV-RC data traffic generation tool based on the data distribution models derived from our experimental UAV measurements. It generates UDP packets according to the data rate, inter-packet interval and packet length distributions of commercial UAV-RC traffic (DJI Spark, DJI Mavic Air and Parrot AR 2.0). AVIATOR records the generated packets as well as their statistical results. It is the outcome of our paper Experimental Data Traffic Modeling and Network Performance Analysis of UAVs, to be presented at 2021 IEEE International Conference on Computer Communications (INFOCOM).
AVIATOR can be utilized in variety of UAV-related works: E.g., to study the UAV traffic characteristics, to design UAV/airborne communication systems, to provide input traffic data for UAV/airborne simulators as well as emulators, or simply as a data traffic generator for other internet applications.
If you use AVIATOR in your work, please cite the paper:
@inproceedings{aviator,
Author = {A. {Baltaci} and M. {Kluegel} and F. {Geyer} and S. {Duhovnikov} and V. {Bajpai} and J. {Ott} and D. {Schupke}},
Title = {Experimental UAV Data Traffic Modeling and Network Performance Analysis},
Booktitle = {{IEEE} {INFOCOM} 2021 - {IEEE} Conference on Computer Communications}
Year = {2021},
Volume={},
Number={},
Pages={1-10},
Doi = {10.1109/INFOCOM42981.2021.9488878},
Url = {https://doi.org/10.1109/INFOCOM42981.2021.9488878},
}
sudo apt install python3-dev python3-pip
Matplotlib, NumPy and Scapy libraries
pip3 install matplotlib numpy scapy
Run the program
python3 aviator.py
Optional parameters:
- --uplink | -u to generate packets for uplink channel
- Otherwise, Downlink channel is the default
- Only 1 channel can be selected at each run
- -n is the number of packets to generate
Keep in mind
- You should generate ~15000 packets for DL and 30000 packets for UL channels to observe the distributions correctly.
- For more information regarding the traffic models, please refer to our paper.
- For graph-related settings, you may find them all in config_matplotlibrc.py, which is an excerpt of matplotlibrc configuration file.
Generated results are saved in the folder outputfiles/:
- .csv: Statistical results in terms of packet inter-arrival, packet length and data rate
- .pcap: The record of the generated packets
- .pdf: The distribution graphs of the statistics in .csv file
Sample of original UDP data traces of the UAVs (DJI Spark, DJI Mavic and Parrot AR 2.0) are provided to observe the actual UAV-RC data traffic. For the details of the measurements, you may refer to the Section III of the paper. Note that the MAC addresses are changed and the payloads are removed from these traces.
This code is licensed under GNU General Public License v3.0. For further information, please refer to LICENSE