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.
spencerfolk/rotorpy
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.
- Estrellas
- 326
- Forks
- 66
- Issues abiertos
- 8
- Último commit
- hace 2 meses
¿Qué es?
RotorPy es un entorno de simulación en Python para UAV multirrotor. Modela la dinámica de las aeronaves de ala rotatoria mediante fuerzas y momentos aerodinámicos de parámetros concentrados, por lo que efectos como la resistencia aerodinámica y el flujo inducido por los rotores cobran importancia a velocidades altas, durante maniobras agresivas o con vientos fuertes. El simulador está diseñado para ser ligero, tener pocas dependencias y resultar fácil de entender para quienes cuentan con conocimientos básicos de Python.
El proyecto incluye archivos de parámetros de vehículos (como un cuadricóptero estilo Crazyflie), controladores SE(3) y de otros tipos, generadores de trayectorias, perfiles de viento y modelos de sensores IMU, mocap y de estimación. Un entorno por lotes ejecuta muchos vehículos en paralelo en CPU o GPU, y un entorno compatible con Gymnasium admite aprendizaje por refuerzo. La versión 3.0 añade un sensor de cámara estenopeica que renderiza características visuales para algoritmos basados en visión.
RotorPy está pensado para el diseño de cursos de posgrado, la investigación exploratoria y la generación de grandes volúmenes de datos para estudios basados en aprendizaje o de Monte Carlo. También ofrece integración opcional con PX4.
Funciones clave
- 01Fuerzas y momentos aerodinámicos de parámetros concentrados, relevantes a velocidades altas y con viento.
- 02Se instala con pip y ofrece extras opcionales para simulación por lotes, aprendizaje, pruebas y uso con PX4.
- 03Entorno por lotes para simular muchos vehículos en paralelo en CPU o GPU.
- 04Entorno de Gymnasium con abstracciones de control configurables y recompensas personalizadas.
- 05Sensor de cámara estenopeica que renderiza características visuales en 3D para algoritmos de visión.
Casos de uso
- Enseñar dinámica, control y estimación de UAV en cursos de posgrado.
- Probar controladores o estimadores con efectos aerodinámicos y vientos fuertes.
- Entrenar políticas de aprendizaje por refuerzo para el control de posición o velocidad de cuadricópteros.
- Generar grandes conjuntos de datos simulados para estudios de Monte Carlo.
Inicio rápido
- 1
Instala RotorPy desde PyPI
pip install rotorpy - 2
Ejecuta el ejemplo de uso básico de la carpeta examples
Antes de usarlo
- Los efectos aerodinámicos son importantes sobre todo a altas velocidades, por lo que quizá no sean necesarios para trabajos que solo impliquen vuelo estacionario.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es rotorpy?
- 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. RotorPy es un entorno de simulación en Python para UAV multirrotor. Modela la dinámica de las aeronaves de ala rotatoria mediante fuerzas y momentos aerodinámicos de parámetros concentrados, por lo que efectos como la resistencia aerodinámica y el flujo inducido por los rotores cobran importancia a velocidades altas, durante maniobras agresivas o con vientos fuertes. El simulador está diseñado para ser ligero, tener pocas dependencias y resultar fácil de entender para quienes cuentan con conocimientos básicos de Python.
- ¿rotorpy es gratuito? ¿Qué licencia tiene?
- rotorpy es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿rotorpy sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de rotorpy fue el 7 sept 2026.
- ¿Para qué puedo usar rotorpy?
- Enseñar dinámica, control y estimación de UAV en cursos de posgrado. Probar controladores o estimadores con efectos aerodinámicos y vientos fuertes. Entrenar políticas de aprendizaje por refuerzo para el control de posición o velocidad de cuadricópteros. Generar grandes conjuntos de datos simulados para estudios de Monte Carlo.
- ¿Cómo se instala rotorpy?
- Instala RotorPy desde PyPI: pip install rotorpy Ejecuta el ejemplo de uso básico de la carpeta examples
- ¿Dónde consigo rotorpy?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/spencerfolk/rotorpy
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.
Colección de código Python y libro de texto sobre algoritmos de robótica que abarcan localización, mapeo, SLAM, planificación de rutas y control.
Un simulador de robots ligero, basado en Python, para navegación, control y aprendizaje, configurable mediante archivos YAML.
Framework de código abierto para simular y entrenar robots en paralelo en la GPU, basado en SAPIEN y enfocado en habilidades de manipulación.
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.