Open-source desktop app and web UI for running, fine-tuning and exporting LLMs and diffusion models locally, plus a code-based training library.
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
Clone the repository
git clone https://github.com/Zihao-Felix-Zhou/UavNetSim-v1.git - 2
Create a Python virtual environment
py -3.12 -m venv .venv - 3
Install the project in editable mode
.\.venv\Scripts\python.exe -m pip install -e . - 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
AI-oriented quantitative investment platform from Microsoft covering data, model training, backtesting and order execution for quant research.
Ray is a unified framework for scaling Python and AI applications from a laptop to a cluster, with a distributed runtime and AI libraries.
A Python code collection and textbook of robotics algorithms covering localization, mapping, SLAM, path planning and control.
verl is an open-source reinforcement learning training library for post-training large language models, built on the HybridFlow paper.
A lightweight agentic RL framework from Microsoft for training existing AI agents with reinforcement learning while they keep their real tools and harnesses.