Repolode
Zihao-Felix-Zhou

Zihao-Felix-Zhou/UavNetSim

Simulador em Python de redes de comunicação para enxames de UAVs, com modelos de roteamento, MAC, camada física, mobilidade e energia.

Estrelas
411
Forks
66
Issues abertas
1
Último commit
mês passado

O que é?

O UavNetSim é uma plataforma de simulação em Python para modelar redes de comunicação entre veículos aéreos não tripulados. Abrange a camada de rede, a camada MAC, a camada física, a mobilidade dos UAVs e o consumo de energia, e usa o SimPy para simulações de eventos discretos.

A plataforma implementa vários protocolos de roteamento, incluindo DSDV, GRAd, greedy forwarding, OPAR e roteamento baseado em aprendizado por reforço, como Q-FANET e QMR. Também oferece controle de acesso ao meio com CSMA/CA, pure ALOHA e TDMA; modelos de mobilidade aleatória (Gauss-Markov, Random Waypoint, Random Walk); um algoritmo de controle de topologia por força virtual; e planejamento de rotas 3D com A*. Métricas de desempenho, como taxa de entrega de pacotes, atraso fim a fim, carga de roteamento normalizada e throughput, são calculadas durante as simulações.

O projeto foi pensado para ser extensível: novos modelos de mobilidade e protocolos MAC ou de roteamento podem ser adicionados como módulos separados e instalados nos drones. Ele também inclui um console web para compilar cenários e executar simulações.

Recursos principais

  • 01Implementa protocolos de roteamento DSDV, GRAd, greedy, OPAR e baseados em RL.
  • 02Oferece controle de acesso ao meio com CSMA/CA, pure ALOHA e TDMA.
  • 03Inclui modelos de mobilidade 3D Gauss-Markov, Random Waypoint e Random Walk.
  • 04Oferece controle de topologia por força virtual e planejamento de rotas 3D com A*.
  • 05Calcula PDR, atraso fim a fim, carga de roteamento normalizada e throughput.
  • 06Permite conectar módulos personalizados de roteamento, MAC e mobilidade.

Casos de uso

  • Pesquisar protocolos de roteamento para redes ad hoc de UAVs antes da implantação em campo.
  • Comparar esquemas MAC, como CSMA/CA e TDMA, considerando a mobilidade dos UAVs.
  • Criar protótipos de algoritmos de controle de movimento de enxames ou de planejamento de rotas 3D com um modelo de comunicação.
  • Ensinar conceitos de redes sem fio usando uma rede simulada de drones.

Início rápido

  1. 1

    Clone o repositório

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

    Crie um ambiente virtual do Python

    py -3.12 -m venv .venv
  3. 3

    Instale o projeto no modo editável

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

    Compile o console web, compile a cena padrão e, em seguida, inicie o servidor conforme descrito no README

Antes de usar

  • Os comandos e as etapas de configuração do README foram escritos para o Windows PowerShell.
  • A camada física depende do NVIDIA Sionna RT, que adiciona dependências pesadas.
  • A compilação do console web requer Node.js 18 ou posterior e npm.

Tópicos

Perguntas frequentes

O que é UavNetSim?
Simulador em Python de redes de comunicação para enxames de UAVs, com modelos de roteamento, MAC, camada física, mobilidade e energia. O UavNetSim é uma plataforma de simulação em Python para modelar redes de comunicação entre veículos aéreos não tripulados. Abrange a camada de rede, a camada MAC, a camada física, a mobilidade dos UAVs e o consumo de energia, e usa o SimPy para simulações de eventos discretos.
UavNetSim é gratuito? Qual é a licença?
UavNetSim é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
UavNetSim ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de UavNetSim foi em 12 de set. de 2026.
Para que posso usar UavNetSim?
Pesquisar protocolos de roteamento para redes ad hoc de UAVs antes da implantação em campo. Comparar esquemas MAC, como CSMA/CA e TDMA, considerando a mobilidade dos UAVs. Criar protótipos de algoritmos de controle de movimento de enxames ou de planejamento de rotas 3D com um modelo de comunicação. Ensinar conceitos de redes sem fio usando uma rede simulada de drones.
Como instalar UavNetSim?
Clone o repositório: git clone https://github.com/Zihao-Felix-Zhou/UavNetSim-v1.git Crie um ambiente virtual do Python: py -3.12 -m venv .venv Instale o projeto no modo editável: .\.venv\Scripts\python.exe -m pip install -e . Compile o console web, compile a cena padrão e, em seguida, inicie o servidor conforme descrito no README
Onde consigo UavNetSim?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Zihao-Felix-Zhou/UavNetSim

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados