Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 3.83 KB

README.md

File metadata and controls

59 lines (45 loc) · 3.83 KB

uAV communIcation dAta Traffic generatOR (AVIATOR)

License: GPL v3 Python 3.7 Code Grade Last Commit

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.

Citation

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},
}

Dependencies

Python3

sudo apt install python3-dev python3-pip

Matplotlib, NumPy and Scapy libraries

pip3 install matplotlib numpy scapy

Usage

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.

Results

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

uav_datatraces.zip

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.

Copyright

This code is licensed under GNU General Public License v3.0. For further information, please refer to LICENSE