Repolode
Zihao-Felix-Zhou

Zihao-Felix-Zhou/UavNetSim

Симулятор на Python для коммуникационных сетей роев БПЛА с моделями маршрутизации, MAC, физического уровня, мобильности и энергопотребления.

Звёзды
411
Форки
66
Открытые issues
1
Последний коммит
в прошлом месяце

Что это?

UavNetSim — платформа на Python для моделирования коммуникационных сетей между беспилотными летательными аппаратами. Она охватывает сетевой и физический уровни, MAC, мобильность БПЛА и энергопотребление и использует SimPy для дискретно-событийного моделирования.

Платформа реализует несколько протоколов маршрутизации, включая DSDV, GRAd, жадную маршрутизацию, OPAR и протоколы на основе обучения с подкреплением, такие как Q-FANET и QMR. Также доступны CSMA/CA, pure ALOHA и TDMA для управления доступом к среде, модели случайной мобильности (Gauss-Markov, Random Waypoint, Random Walk), алгоритм управления топологией на основе виртуальных сил и планирование 3D-маршрутов с помощью A*. Во время моделирования рассчитываются такие показатели производительности, как доля доставленных пакетов, сквозная задержка, нормализованная нагрузка маршрутизации и пропускная способность.

Проект рассчитан на расширение: новые модели мобильности, протоколы MAC и маршрутизации можно добавлять в виде отдельных модулей и устанавливать на дроны. Также в него входит веб-консоль для настройки сценариев и запуска симуляций.

Ключевые возможности

  • 01Реализует протоколы маршрутизации DSDV, GRAd, greedy, OPAR и протоколы на основе обучения с подкреплением.
  • 02Поддерживает CSMA/CA, pure ALOHA и TDMA для управления доступом к среде.
  • 03Включает 3D-модели мобильности Gauss-Markov, Random Waypoint и Random Walk.
  • 04Предоставляет управление топологией на основе виртуальных сил и планирование 3D-маршрутов с помощью A*.
  • 05Рассчитывает PDR, сквозную задержку, нормализованную нагрузку маршрутизации и пропускную способность.
  • 06Позволяет подключать пользовательские модули маршрутизации, MAC и мобильности.

Сценарии использования

  • Исследование протоколов маршрутизации для ad hoc-сетей БПЛА до развертывания в полевых условиях.
  • Сравнение схем MAC, например CSMA/CA и TDMA, с учетом мобильности БПЛА.
  • Создание прототипов алгоритмов управления движением роя или планирования 3D-маршрутов с моделью коммуникаций.
  • Обучение принципам беспроводных сетей на примере симулируемой сети дронов.

Быстрый старт

  1. 1

    Клонируйте репозиторий

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

    Создайте виртуальное окружение Python

    py -3.12 -m venv .venv
  3. 3

    Установите проект в редактируемом режиме

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

    Соберите веб-консоль, скомпилируйте сцену по умолчанию, а затем запустите сервер, как описано в README

Что важно знать

  • Команды и инструкции по настройке в README предназначены для Windows PowerShell.
  • Физический уровень зависит от NVIDIA Sionna RT, который добавляет тяжёлые зависимости.
  • Для сборки веб-консоли требуются Node.js 18 или более поздней версии и npm.

Темы

Частые вопросы

Что такое UavNetSim?
Симулятор на Python для коммуникационных сетей роев БПЛА с моделями маршрутизации, MAC, физического уровня, мобильности и энергопотребления. UavNetSim — платформа на Python для моделирования коммуникационных сетей между беспилотными летательными аппаратами. Она охватывает сетевой и физический уровни, MAC, мобильность БПЛА и энергопотребление и использует SimPy для дискретно-событийного моделирования.
UavNetSim можно использовать бесплатно? Какая у него лицензия?
UavNetSim распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
UavNetSim всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в UavNetSim — 12 сент. 2026 г..
Для чего можно использовать UavNetSim?
Исследование протоколов маршрутизации для ad hoc-сетей БПЛА до развертывания в полевых условиях. Сравнение схем MAC, например CSMA/CA и TDMA, с учетом мобильности БПЛА. Создание прототипов алгоритмов управления движением роя или планирования 3D-маршрутов с моделью коммуникаций. Обучение принципам беспроводных сетей на примере симулируемой сети дронов.
Как установить UavNetSim?
Клонируйте репозиторий: git clone https://github.com/Zihao-Felix-Zhou/UavNetSim-v1.git Создайте виртуальное окружение Python: py -3.12 -m venv .venv Установите проект в редактируемом режиме: .\.venv\Scripts\python.exe -m pip install -e . Соберите веб-консоль, скомпилируйте сцену по умолчанию, а затем запустите сервер, как описано в README
Где скачать UavNetSim?
Исходный код и инструкции по установке — на GitHub: https://github.com/Zihao-Felix-Zhou/UavNetSim

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты