Repolode
learnsyslab

learnsyslab/gym-pybullet-drones

Entornos de Gymnasium basados en PyBullet para entrenar controladores de aprendizaje por refuerzo para cuadricópteros, con uno o varios agentes.

Estrellas
2,201
Forks
578
Issues abiertos
111
Último commit
ayer

¿Qué es?

gym-pybullet-drones ofrece entornos de simulación de cuadricópteros basados en la física de PyBullet y la API de Gymnasium. Permite a investigadores y estudiantes entrenar políticas de aprendizaje por refuerzo para el control de uno o varios drones, por ejemplo, para mantener el vuelo estacionario, volar en formación y modelar las interacciones de downwash entre drones.

El proyecto es una refactorización simplificada de una base de código anterior de IROS 2021, actualizada para Gymnasium y Stable-Baselines3 2.0. Incluye controladores PID clásicos y de velocidad, un controlador adaptativo MRAC y scripts de ejemplo para entrenar agentes PPO con learn.py y reproducir sus resultados con play.py.

También incluye un ejemplo de Betaflight SITL en Ubuntu para ejecutar varios controladores de vuelo simulados junto con el entorno.

Funciones clave

  • 01Entornos de cuadricópteros compatibles con Gymnasium, para uno o varios agentes
  • 02Basado en la simulación física de PyBullet
  • 03Incluye ejemplos de controladores PID, de velocidad y MRAC
  • 04Scripts de entrenamiento y reproducción con PPO de Stable-Baselines3
  • 05Modelado del efecto downwash entre drones
  • 06Integración con Betaflight SITL en Ubuntu

Casos de uso

  • Entrenar controladores de aprendizaje por refuerzo para mantener el vuelo estacionario o seguir trayectorias con cuadricópteros
  • Investigar la coordinación de varios drones y el vuelo en formación
  • Probar algoritmos de control con el firmware Betaflight en configuraciones software-in-the-loop

Inicio rápido

  1. 1

    Clona el repositorio

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

    Crea y activa un entorno conda con Python 3.12

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

    Instala el paquete en modo editable

    pip3 install -e .
  4. 4

    Ejecuta un ejemplo de control PID

    cd gym_pybullet_drones/examples/ && python3 pid.py

Antes de usarlo

  • Para compilar pybullet con Python 3.11 o posterior, puede que necesites un compilador o una solución alternativa de CFLAGS específica para macOS.
  • El ejemplo de Betaflight SITL solo funciona en Ubuntu.

En colecciones

Temas

Preguntas frecuentes

¿Qué es gym-pybullet-drones?
Entornos de Gymnasium basados en PyBullet para entrenar controladores de aprendizaje por refuerzo para cuadricópteros, con uno o varios agentes. gym-pybullet-drones ofrece entornos de simulación de cuadricópteros basados en la física de PyBullet y la API de Gymnasium. Permite a investigadores y estudiantes entrenar políticas de aprendizaje por refuerzo para el control de uno o varios drones, por ejemplo, para mantener el vuelo estacionario, volar en formación y modelar las interacciones de downwash entre drones.
¿gym-pybullet-drones es gratuito? ¿Qué licencia tiene?
gym-pybullet-drones es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿gym-pybullet-drones sigue mantenido?
Mantenimiento activo. El último commit de gym-pybullet-drones fue el 6 nov 2026.
¿Para qué puedo usar gym-pybullet-drones?
Entrenar controladores de aprendizaje por refuerzo para mantener el vuelo estacionario o seguir trayectorias con cuadricópteros Investigar la coordinación de varios drones y el vuelo en formación Probar algoritmos de control con el firmware Betaflight en configuraciones software-in-the-loop
¿Cómo se instala gym-pybullet-drones?
Clona el repositorio: git clone https://github.com/learnsyslab/gym-pybullet-drones.git Crea y activa un entorno conda con Python 3.12: conda create -n drones python=3.12 && conda activate drones Instala el paquete en modo editable: pip3 install -e . Ejecuta un ejemplo de control PID: cd gym_pybullet_drones/examples/ && python3 pid.py
¿Dónde consigo gym-pybullet-drones?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/learnsyslab/gym-pybullet-drones

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

Proyectos relacionados