Quadruped-PyMPC
Framework MPC Python pour la locomotion quadrupède avec contrôle par gradient et échantillonnage
Licence
BSD-3-Clause
Aperçu
Quadruped-PyMPC est un framework de contrôle prédictif de modèle basé sur Python pour la locomotion de robots quadrupèdes du laboratoire Dynamic Legged Systems de l'IIT. Il implémente le modèle de corps rigide unique avec deux approches complémentaires : l'optimisation basée sur le gradient via acados (moins de 5ms sur CPU) et le contrôle basé sur l'échantillonnage massivement parallèle via JAX (10 000 rollouts en moins de 2ms sur GPU). Publié à IROS 2024 et IEEE RAL 2025, validé sur de vrais robots Unitree.
Quadruped-PyMPC est un framework MPC Python pour la locomotion quadrupède offrant l'optimisation basée sur le gradient via acados (moins de 5ms sur CPU) et le contrôle basé sur l'échantillonnage massivement parallèle via JAX (10 000 rollouts en moins de 2ms sur GPU). Il supporte plusieurs allures, l'optimisation des appuis et le déploiement sur du matériel réel Unitree.
Pourquoi c'est important
Ce projet rend le contrôle de locomotion quadrupède de pointe accessible en Python, avec des résultats publiés à IROS 2024 et IEEE RAL 2025. L'approche duale gradient/échantillonnage et la validation sur matériel réel du laboratoire Dynamic Legged Systems de l'IIT en font une plateforme de recherche précieuse.
Le problème résolu
L'implémentation du contrôle prédictif de modèle pour la locomotion quadrupède implique une optimisation complexe, la planification des contacts et des contraintes temps réel. Ce framework fournit une implémentation Python propre avec des approches par gradient et par échantillonnage atteignant des performances temps réel.
Points clés
- MPC dual : basé sur le gradient (acados, <5ms) et basé sur l'échantillonnage (JAX, 10K rollouts <2ms)
- Supporte les allures de trot, amble et galop avec optimisation des appuis
- Validé en conditions réelles sur des robots quadrupèdes Unitree
- Intégration ROS2 pour le déploiement matériel
Pour qui
- Chercheurs en robotique à pattes travaillant sur le contrôle quadrupède
- Ingénieurs souhaitant du MPC en Python sans écrire de code d'optimisation C++
- Équipes déployant des contrôleurs MPC sur des robots quadrupèdes Unitree
Limites
- Basé sur le modèle de corps rigide unique — une simplification de la dynamique complète
- Le déploiement réel nécessite des robots Unitree et leur SDK
- L'échantillonnage basé sur GPU nécessite du matériel NVIDIA avec support JAX CUDA