Motor de física de cuerpos rígidos basado en JAX que ejecuta simulaciones diferenciables y masivamente paralelas en aceleradores para investigación en robótica y RL.
learnsyslab/crazyflow
Simulador de cuadricópteros basado en JAX que ejecuta simulaciones diferenciables por lotes en CPU y GPU para drones Crazyflie 2.x.
- Estrellas
- 200
- Forks
- 49
- Issues abiertos
- 9
- Último commit
- hace 19 horas
¿Qué es?
Crazyflow es un simulador de investigación para drones cuadricópteros. Está construido sobre JAX y ejecuta en paralelo muchos entornos independientes y enjambres de varios drones en CPU o GPU, por lo que es adecuado para entrenamientos y experimentos a gran escala en aprendizaje y control de robots.
El simulador ofrece dos tipos de dinámica para la familia Crazyflie 2.x: ecuaciones basadas en primeros principios, con parámetros identificados a partir de mediciones del mundo real, y dinámicas simplificadas y abstractas en tres variantes ajustadas con datos de vuelos reales. Como el flujo de procesamiento es diferenciable, los gradientes pueden propagarse por toda la cadena de dinámica y control con jax.grad. Las funciones de paso y reinicio son funciones JAX simples que los usuarios pueden ampliar o sustituir.
La integración con MuJoCo mediante MJX proporciona renderizado en pantalla y fuera de pantalla, raycasting y detección de contactos.
Funciones clave
- 01Simulación por lotes de muchos mundos y enjambres de varios drones a la vez
- 02Funciona en CPU, con aceleración opcional por GPU en CUDA 12
- 03Flujo de dinámica y control diferenciable mediante jax.grad
- 04Modelos de dinámica basados en primeros principios y modelos abstractos para Crazyflie 2.x
- 05Flujos modulares de paso y reinicio construidos con funciones JAX simples
- 06Integración con MuJoCo para renderizado, raycasting y detección de contactos
Casos de uso
- Entrenar políticas de aprendizaje por refuerzo o de control en miles de entornos de drones en paralelo
- Ejecutar simulaciones de enjambres a gran escala con varios drones por mundo
- Desarrollar ajustes de controladores basados en gradientes o identificación de sistemas para la dinámica de drones
- Crear prototipos de algoritmos de control para Crazyflie antes de volar con hardware real
Inicio rápido
- 1
Instala la versión para CPU desde PyPI
pip install crazyflow - 2
Instala la versión para GPU (Linux x86-64, CUDA 12)
pip install "crazyflow[gpu]" - 3
Consulta la documentación para ver ejemplos y la guía de usuario
Antes de usarlo
- La instalación para GPU está limitada a Linux x86-64 con CUDA 12.
- La documentación está alojada externamente en learnsyslab.github.io/crazyflow.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es crazyflow?
- Simulador de cuadricópteros basado en JAX que ejecuta simulaciones diferenciables por lotes en CPU y GPU para drones Crazyflie 2.x. Crazyflow es un simulador de investigación para drones cuadricópteros. Está construido sobre JAX y ejecuta en paralelo muchos entornos independientes y enjambres de varios drones en CPU o GPU, por lo que es adecuado para entrenamientos y experimentos a gran escala en aprendizaje y control de robots.
- ¿crazyflow es gratuito? ¿Qué licencia tiene?
- crazyflow es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿crazyflow sigue mantenido?
- Mantenimiento activo. El último commit de crazyflow fue el 6 nov 2026.
- ¿Para qué puedo usar crazyflow?
- Entrenar políticas de aprendizaje por refuerzo o de control en miles de entornos de drones en paralelo Ejecutar simulaciones de enjambres a gran escala con varios drones por mundo Desarrollar ajustes de controladores basados en gradientes o identificación de sistemas para la dinámica de drones Crear prototipos de algoritmos de control para Crazyflie antes de volar con hardware real
- ¿Cómo se instala crazyflow?
- Instala la versión para CPU desde PyPI: pip install crazyflow Instala la versión para GPU (Linux x86-64, CUDA 12): pip install "crazyflow[gpu]" Consulta la documentación para ver ejemplos y la guía de usuario
- ¿Dónde consigo crazyflow?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/learnsyslab/crazyflow
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Entornos de Gymnasium basados en PyBullet para entrenar controladores de aprendizaje por refuerzo para cuadricópteros, con uno o varios agentes.
Framework de Python que compila funciones Python comunes con JIT para convertirlas en kernels que se ejecutan en CPU o GPU NVIDIA, para simulación, robótica y ML.
Framework basado en NVIDIA Isaac Sim para simular drones multirrotor, con integración de los autopilotos PX4 y ArduPilot y una interfaz de control en Python.
Simulador basado en Unreal Engine para drones, autos y otros vehículos, ampliado por Cosys-Lab con nuevos modelos de sensores y API.
Benchmark de aprendizaje por imitación para el control de cuerpo completo, con entornos MuJoCo y MJX para humanoides, cuadrúpedos y modelos musculoesqueléticos humanos.