Colección de entornos de robótica para aprendizaje por refuerzo basados en MuJoCo y construidos sobre la API de Gymnasium.
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
Clona el repositorio
git clone https://github.com/learnsyslab/gym-pybullet-drones.git - 2
Crea y activa un entorno conda con Python 3.12
conda create -n drones python=3.12 && conda activate drones - 3
Instala el paquete en modo editable
pip3 install -e . - 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
Simulador de conducción ligero en Python para aprendizaje por refuerzo e investigación sobre conducción autónoma, con simulación de sensores y entornos al estilo Gymnasium.
Simulador de cuadricópteros basado en JAX que ejecuta simulaciones diferenciables por lotes en CPU y GPU para drones Crazyflie 2.x.
Simulador de UAV multirrotor en Python con aerodinámica de parámetros concentrados, diseñado para la enseñanza y la investigación en estimación, planificación y control.
Biblioteca de Python con una API estándar y entornos de referencia para investigar el aprendizaje por refuerzo multiagente, similar a Gymnasium.
Colección de entornos de conducción simulados compatibles con Gymnasium para entrenar y probar agentes de conducción autónoma y toma de decisiones.