Repolode
Zihao-Felix-Zhou

Zihao-Felix-Zhou/UavNetSim

A Python simulator for UAV swarm communication networks, covering routing, MAC, physical layer, mobility and energy models.

Stars
411
Forks
66
Open issues
1
Last commit
last month

What is it?

UavNetSim is a Python simulation platform for modeling communication networks among unmanned aerial vehicles. It covers the network layer, MAC layer, physical layer, UAV mobility and energy consumption, and is built on SimPy for discrete-event simulation.

The platform implements several routing protocols, including DSDV, GRAd, greedy forwarding, OPAR, and reinforcement-learning-based routing such as Q-FANET and QMR. It also provides CSMA/CA, pure ALOHA and TDMA medium access control, random mobility models (Gauss-Markov, Random Waypoint, Random Walk), a virtual-force topology control algorithm, and A* 3D path planning. Performance metrics such as packet delivery ratio, end-to-end delay, normalized routing load and throughput are computed during runs.

The project is designed for extension: new mobility models, MAC protocols or routing protocols can be added as separate modules and installed on drones. It also includes a web console for compiling scenes and running simulations.

Key features

  • 01Implements DSDV, GRAd, greedy, OPAR and RL-based routing protocols.
  • 02Provides CSMA/CA, pure ALOHA and TDMA medium access control.
  • 03Includes Gauss-Markov, Random Waypoint and Random Walk 3D mobility models.
  • 04Offers virtual-force topology control and A* 3D path planning.
  • 05Computes PDR, end-to-end delay, normalized routing load and throughput.
  • 06Allows custom routing, MAC and mobility modules to be plugged in.

Use cases

  • Researching routing protocols for UAV ad hoc networks before field deployment.
  • Comparing MAC schemes such as CSMA/CA and TDMA under UAV mobility.
  • Prototyping swarm motion control or 3D path planning algorithms with a communication model.
  • Teaching wireless network concepts through a simulated drone network.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/Zihao-Felix-Zhou/UavNetSim-v1.git
  2. 2

    Create a Python virtual environment

    py -3.12 -m venv .venv
  3. 3

    Install the project in editable mode

    .\.venv\Scripts\python.exe -m pip install -e .
  4. 4

    Build the web console, compile the default scene, then start the server as described in the README

Things to know

  • The README's commands and setup steps are written for Windows PowerShell.
  • The physical layer depends on NVIDIA Sionna RT, which adds heavy dependencies.
  • Building the web console requires Node.js 18 or later and npm.

Topics

FAQ

What is UavNetSim?
A Python simulator for UAV swarm communication networks, covering routing, MAC, physical layer, mobility and energy models. UavNetSim is a Python simulation platform for modeling communication networks among unmanned aerial vehicles. It covers the network layer, MAC layer, physical layer, UAV mobility and energy consumption, and is built on SimPy for discrete-event simulation.
Is UavNetSim free to use? What license does it have?
UavNetSim is open source under the MIT license. Check the license terms before using it in commercial products.
Is UavNetSim still maintained?
Updated within 6 months. The last commit to UavNetSim was on Sep 12, 2026.
What can I use UavNetSim for?
Researching routing protocols for UAV ad hoc networks before field deployment. Comparing MAC schemes such as CSMA/CA and TDMA under UAV mobility. Prototyping swarm motion control or 3D path planning algorithms with a communication model. Teaching wireless network concepts through a simulated drone network.
How do I install UavNetSim?
Clone the repository: git clone https://github.com/Zihao-Felix-Zhou/UavNetSim-v1.git Create a Python virtual environment: py -3.12 -m venv .venv Install the project in editable mode: .\.venv\Scripts\python.exe -m pip install -e . Build the web console, compile the default scene, then start the server as described in the README
Where can I get UavNetSim?
The source code and installation instructions are on GitHub: https://github.com/Zihao-Felix-Zhou/UavNetSim

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects