Zihao-Felix-Zhou/UavNetSim

UavNetSim: A Python-based simulation platform for designing and testing communication protocols and control algorithms in UAV swarm.

What it solves

UavNetSim provides a realistic simulation environment for UAV (Unmanned Aerial Vehicle) communication networks. It addresses the difficulty of modeling complex interactions between network layers, drone mobility, and physical radio propagation in a way that is extensible for researchers to test new protocols.

How it works

Built with Python and SimPy, the platform models the entire networking stack:

  • Physical Layer: Uses NVIDIA SionnaRT for online channel modeling, accounting for signal interference and packet collisions.
  • MAC Layer: Implements contention and scheduling protocols like CSMA/CA, Pure ALOHA, and TDMA.
  • Network Layer: Handles packet routing using various algorithms, including Greedy, Gradient (GRAd), DSDV, and several Reinforcement Learning (RL) based protocols.
  • Topology & Mobility: Simulates 3D movement using Gauss-Markov, Random Waypoint, and Random Walk models, alongside A* 3D path planning and obstacle avoidance.
  • Visualization: Includes a web console for monitoring and optional detailed scene rendering via OSM2World.

Who it’s for

It is designed for researchers and engineers working on UAV network optimization, routing protocol development, and the study of aerial ad-hoc networks (FANETs).

Highlights

  • Full-Stack Modeling: Covers everything from application-layer packet arrival to physical-layer radio propagation.
  • RL Integration: Specifically supports deep reinforcement learning modules for developing intelligent routing protocols.
  • Extensible Architecture: Allows users to customize and develop their own protocols to suit specific application needs.
  • Realistic Radio Propagation: Leverages ray-tracing (via SionnaRT) for accurate signal modeling.

Related

  • Project
  • Project
  • Project
  • Project
  • Project