Repolode
learnsyslab

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. 1

    Instala la versión para CPU desde PyPI

    pip install crazyflow
  2. 2

    Instala la versión para GPU (Linux x86-64, CUDA 12)

    pip install "crazyflow[gpu]"
  3. 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