Repolode
Zihao-Felix-Zhou

Zihao-Felix-Zhou/UavNetSim

Simulador en Python de redes de comunicación para enjambres de UAV, con modelos de enrutamiento, MAC, capa física, movilidad y energía.

Estrellas
411
Forks
66
Issues abiertos
1
Último commit
el mes pasado

¿Qué es?

UavNetSim es una plataforma de simulación en Python para modelar redes de comunicación entre vehículos aéreos no tripulados. Abarca la capa de red, la capa MAC, la capa física, la movilidad de los UAV y el consumo de energía, y está basada en SimPy para realizar simulaciones de eventos discretos.

La plataforma implementa varios protocolos de enrutamiento, como DSDV, GRAd, greedy forwarding, OPAR y protocolos basados en aprendizaje por refuerzo, como Q-FANET y QMR. También ofrece control de acceso al medio mediante CSMA/CA, ALOHA puro y TDMA; modelos de movilidad aleatoria (Gauss-Markov, Random Waypoint y Random Walk); un algoritmo de control de topología basado en fuerzas virtuales; y planificación de rutas 3D con A*. Durante las simulaciones se calculan métricas de rendimiento como la tasa de entrega de paquetes, el retardo de extremo a extremo, la carga de enrutamiento normalizada y el rendimiento.

El proyecto está diseñado para ampliarse: se pueden añadir nuevos modelos de movilidad y protocolos MAC o de enrutamiento como módulos independientes e instalarlos en los drones. También incluye una consola web para compilar escenarios y ejecutar simulaciones.

Funciones clave

  • 01Implementa protocolos de enrutamiento DSDV, GRAd, greedy, OPAR y basados en RL.
  • 02Ofrece control de acceso al medio mediante CSMA/CA, ALOHA puro y TDMA.
  • 03Incluye modelos de movilidad 3D Gauss-Markov, Random Waypoint y Random Walk.
  • 04Ofrece control de topología basado en fuerzas virtuales y planificación de rutas 3D con A*.
  • 05Calcula la PDR, el retardo de extremo a extremo, la carga de enrutamiento normalizada y el rendimiento.
  • 06Permite incorporar módulos personalizados de enrutamiento, MAC y movilidad.

Casos de uso

  • Investigar protocolos de enrutamiento para redes ad hoc de UAV antes de desplegarlos en campo.
  • Comparar esquemas MAC como CSMA/CA y TDMA en condiciones de movilidad de UAV.
  • Crear prototipos de algoritmos de control del movimiento de enjambres o de planificación de rutas 3D con un modelo de comunicación.
  • Enseñar conceptos de redes inalámbricas mediante una red simulada de drones.

Inicio rápido

  1. 1

    Clona el repositorio

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

    Crea un entorno virtual de Python

    py -3.12 -m venv .venv
  3. 3

    Instala el proyecto en modo editable

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

    Compila la consola web, compila la escena predeterminada y, después, inicia el servidor tal como se indica en el README

Antes de usarlo

  • Los comandos y pasos de configuración del README están pensados para Windows PowerShell.
  • La capa física depende de NVIDIA Sionna RT, que añade dependencias pesadas.
  • Para compilar la consola web se necesita Node.js 18 o posterior y npm.

Temas

Preguntas frecuentes

¿Qué es UavNetSim?
Simulador en Python de redes de comunicación para enjambres de UAV, con modelos de enrutamiento, MAC, capa física, movilidad y energía. UavNetSim es una plataforma de simulación en Python para modelar redes de comunicación entre vehículos aéreos no tripulados. Abarca la capa de red, la capa MAC, la capa física, la movilidad de los UAV y el consumo de energía, y está basada en SimPy para realizar simulaciones de eventos discretos.
¿UavNetSim es gratuito? ¿Qué licencia tiene?
UavNetSim es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿UavNetSim sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de UavNetSim fue el 12 sept 2026.
¿Para qué puedo usar UavNetSim?
Investigar protocolos de enrutamiento para redes ad hoc de UAV antes de desplegarlos en campo. Comparar esquemas MAC como CSMA/CA y TDMA en condiciones de movilidad de UAV. Crear prototipos de algoritmos de control del movimiento de enjambres o de planificación de rutas 3D con un modelo de comunicación. Enseñar conceptos de redes inalámbricas mediante una red simulada de drones.
¿Cómo se instala UavNetSim?
Clona el repositorio: git clone https://github.com/Zihao-Felix-Zhou/UavNetSim-v1.git Crea un entorno virtual de Python: py -3.12 -m venv .venv Instala el proyecto en modo editable: .\.venv\Scripts\python.exe -m pip install -e . Compila la consola web, compila la escena predeterminada y, después, inicia el servidor tal como se indica en el README
¿Dónde consigo UavNetSim?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Zihao-Felix-Zhou/UavNetSim

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados