Quadruped-PyMPC
Framework MPC en Python para locomoción cuadrúpeda con control por gradiente y muestreo
Licencia
BSD-3-Clause
Resumen
Quadruped-PyMPC es un framework de control predictivo de modelos basado en Python para locomoción de robots cuadrúpedos del Laboratorio de Sistemas Dinámicos con Patas del IIT. Implementa el modelo de cuerpo rígido único con dos enfoques complementarios: optimización basada en gradiente vía acados (menos de 5ms en CPU) y control basado en muestreo masivamente paralelo vía JAX (10.000 rollouts en menos de 2ms en GPU). Publicado en IROS 2024 e IEEE RAL 2025, validado en robots Unitree reales.
Quadruped-PyMPC es un framework MPC en Python para locomoción cuadrúpeda que ofrece optimización basada en gradiente vía acados (menos de 5ms en CPU) y control basado en muestreo masivamente paralelo vía JAX (10.000 rollouts en menos de 2ms en GPU). Soporta múltiples marchas, optimización de apoyo y despliegue en hardware real en robots Unitree.
Por qué importa
Este proyecto hace que el control de locomoción cuadrúpeda de vanguardia sea accesible en Python, con resultados publicados en IROS 2024 e IEEE RAL 2025. El enfoque dual de gradiente/muestreo y la validación en hardware real del Laboratorio de Sistemas Dinámicos con Patas del IIT lo convierten en una valiosa plataforma de investigación.
Qué problema resuelve
Implementar control predictivo de modelos para locomoción cuadrúpeda implica optimización compleja, programación de contactos y restricciones en tiempo real. Este framework proporciona una implementación limpia en Python con enfoques tanto de gradiente como de muestreo que logran rendimiento en tiempo real.
Puntos clave
- MPC dual: basado en gradiente (acados, <5ms) y basado en muestreo (JAX, 10K rollouts <2ms)
- Soporta marchas de trote, paso y galope con optimización de apoyo
- Validado en el mundo real en robots cuadrúpedos Unitree
- Integración ROS2 para despliegue en hardware
Para quién es
- Investigadores en robótica con patas que trabajan en control cuadrúpedo
- Ingenieros que desean MPC en Python sin escribir código de optimización en C++
- Equipos que despliegan controladores MPC en robots cuadrúpedos Unitree
Limitaciones
- Basado en modelo de cuerpo rígido único — una simplificación de la dinámica completa
- El despliegue en el mundo real requiere robots Unitree y su SDK
- El muestreo basado en GPU requiere hardware NVIDIA con soporte JAX CUDA