Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

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

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.