An implementation of a distributed protocol for cooperative sensing and sending operations of Unmanned Aerial Vehicles (UAVs) [1]. It is built on top of TensorFlow Agents and uses reinforcement learning techniques (e.g. Deep Q-Learning, Actor-Critic) to compute ideal trajectories.
- Download and install Miniconda
- Run
conda env create -f environment.yml
- Run
conda activate durp
- That's it!
We also developed a simple GUI using the PyQt5 library to test the effects of applying different scenarios on the simulation. To run it, launch the simulator from the project directory with default arguments using:
./simulation.py
or to see the list of available options run:
./simulation.py --help
Icons made by Freepik, photo3idea_studio, and Roundicons from www.flaticon.com
[1] Jingzhi Hu, Hongliang Zhang, Lingyang Song, Robert Schober, & H. Vincent Poor. (2020). Cooperative Internet of UAVs: Distributed Trajectory Design by Multi-agent Deep Reinforcement Learning.