Repolode
learnsyslab

learnsyslab/gym-pybullet-drones

Среды Gymnasium на базе PyBullet для обучения контроллеров квадрокоптеров с подкреплением — как одиночных, так и мультиагентных.

Звёзды
2,201
Форки
578
Открытые issues
111
Последний коммит
позавчера

Что это?

gym-pybullet-drones предоставляет среды для симуляции квадрокоптеров на основе физического движка PyBullet и API Gymnasium. С их помощью исследователи и студенты могут обучать стратегии управления с подкреплением для одного дрона или нескольких агентов, например для зависания, полёта строем и изучения эффекта нисходящего потока между дронами.

Проект представляет собой упрощённую переработку прежней кодовой базы IROS 2021, адаптированную для Gymnasium и Stable-Baselines3 2.0. В него входят классические PID- и скоростные контроллеры, адаптивный контроллер MRAC, а также примеры скриптов для обучения агентов PPO с помощью learn.py и их воспроизведения через play.py.

Также проект содержит пример Betaflight SITL для Ubuntu, позволяющий запускать несколько симулируемых полётных контроллеров во взаимодействии со средой.

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

  • 01Среды Gymnasium для управления квадрокоптерами с одним или несколькими агентами
  • 02Работает на основе физической симуляции PyBullet
  • 03Примеры PID-контроллера, управления скоростью и контроллера MRAC
  • 04Скрипты для обучения и воспроизведения PPO-моделей с помощью Stable-Baselines3
  • 05Моделирование эффекта нисходящего потока между дронами
  • 06Интеграция с Betaflight SITL на Ubuntu

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

  • Обучение контроллеров с подкреплением для зависания квадрокоптера и отслеживания траектории
  • Исследование координации нескольких дронов и полёта строем
  • Тестирование алгоритмов управления с прошивкой Betaflight в конфигурациях software-in-the-loop

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

  1. 1

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

    git clone https://github.com/learnsyslab/gym-pybullet-drones.git
  2. 2

    Создайте и активируйте окружение conda с Python 3.12

    conda create -n drones python=3.12 && conda activate drones
  3. 3

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

    pip3 install -e .
  4. 4

    Запустите пример управления PID

    cd gym_pybullet_drones/examples/ && python3 pid.py

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

  • Для сборки pybullet на Python 3.11 и новее может понадобиться компилятор или обходное решение с CFLAGS, специфичное для macOS.
  • Пример Betaflight SITL работает только в Ubuntu.

В подборках

Темы

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

Что такое gym-pybullet-drones?
Среды Gymnasium на базе PyBullet для обучения контроллеров квадрокоптеров с подкреплением — как одиночных, так и мультиагентных. gym-pybullet-drones предоставляет среды для симуляции квадрокоптеров на основе физического движка PyBullet и API Gymnasium. С их помощью исследователи и студенты могут обучать стратегии управления с подкреплением для одного дрона или нескольких агентов, например для зависания, полёта строем и изучения эффекта нисходящего потока между дронами.
gym-pybullet-drones можно использовать бесплатно? Какая у него лицензия?
gym-pybullet-drones распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
gym-pybullet-drones всё ещё поддерживается?
Активно поддерживается. Последний коммит в gym-pybullet-drones — 6 нояб. 2026 г..
Для чего можно использовать gym-pybullet-drones?
Обучение контроллеров с подкреплением для зависания квадрокоптера и отслеживания траектории Исследование координации нескольких дронов и полёта строем Тестирование алгоритмов управления с прошивкой Betaflight в конфигурациях software-in-the-loop
Как установить gym-pybullet-drones?
Клонируйте репозиторий: git clone https://github.com/learnsyslab/gym-pybullet-drones.git Создайте и активируйте окружение conda с Python 3.12: conda create -n drones python=3.12 && conda activate drones Установите пакет в режиме editable: pip3 install -e . Запустите пример управления PID: cd gym_pybullet_drones/examples/ && python3 pid.py
Где скачать gym-pybullet-drones?
Исходный код и инструкции по установке — на GitHub: https://github.com/learnsyslab/gym-pybullet-drones

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

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

Симулятор мультикоптеров на Python с аэродинамикой на основе сосредоточенных параметров для обучения и исследований в области оценивания состояния, планирования и управления.

326+4 за неделю66PythonMITОбновлён 2 месяца назад

Python-библиотека со стандартным API и эталонными средами для исследований многоагентного обучения с подкреплением, аналогичная Gymnasium.

3,6 тыс.+9 за неделю555PythonMITАктивно поддерживаетсяОбновлён 8 дней назад