RAI Institute simplifie le pilotage de Spot avec ROS 2

Illustration d’un robot quadrupède relié à une interface ROS 2
spot_basic ajoute une interface Python de haut niveau au pilote ROS 2 du robot Spot.

Le Robotics and AI Institute (RAI Institute) publie spot_basic, une interface Python open source destinée à simplifier le pilotage du robot quadrupède Spot avec ROS 2. L’outil regroupe dans une API cohérente les commandes de déplacement et de manipulation, l’accès aux capteurs ainsi que l’exécution synchrone ou asynchrone.

L’annonce a été publiée le 10 novembre sur Open Robotics Discourse. Le code est disponible sous licence MIT sur GitHub. spot_basic ne remplace ni le pilote ROS 2 de Spot ni le SDK de Boston Dynamics. Il ajoute une couche de plus haut niveau au-dessus de ces briques afin de réduire le code répétitif nécessaire pour envoyer des ordres au robot.

Une API plus directe pour commander Spot

Dans ROS 2, l’exploitation de Spot passe par plusieurs topics, services et actions. Cette architecture donne un contrôle fin, mais oblige les développeurs à gérer de nombreuses interfaces pour une tâche simple. spot_basic encapsule ces échanges dans des commandes Python plus lisibles.

Le projet couvre la locomotion, la manipulation et la pince du bras de Spot. Il donne aussi accès à l’état du robot, aux transformations entre repères et aux flux de ses caméras. Les développeurs peuvent écrire une séquence d’actions classique ou lancer plusieurs opérations de façon asynchrone.

L’exemple fourni par le RAI Institute montre comment prendre le contrôle du robot, récupérer sa position, calculer une cible située un mètre devant lui, puis lui demander d’avancer. Le contexte de contrôle gère aussi la mise sous tension, le passage en position debout et l’arrêt propre du robot.

Un environnement technique encore ciblé

La version actuelle est développée et testée sur Ubuntu 22.04 avec ROS 2 Humble et Python 3.10. Elle prend en charge les architectures x86-64 et ARM64. Le dépôt demande le SDK Spot 5.0.1 ainsi que le pilote spot_ros2 et plusieurs dépendances compilées dans un espace de travail colcon.

Les fonctions liées à la manipulation nécessitent naturellement un Spot équipé de son bras. Le projet ne masque pas non plus toutes les contraintes du système : le pilote ROS 2 doit déjà être configuré, le robot doit être accessible sur le réseau et les identifiants restent gérés dans la configuration locale.

Réduire le coût d’intégration des robots mobiles

L’intérêt de spot_basic tient moins à une nouvelle capacité physique qu’à la réduction du temps d’intégration. Une interface stable et documentée peut accélérer la création de prototypes d’inspection, de téléopération ou de manipulation mobile, tout en laissant l’accès aux composants ROS 2 sous-jacents lorsque le projet exige un contrôle plus précis.

Le choix d’une licence MIT facilite aussi la reprise du code dans des projets de recherche ou des outils internes. Le RAI Institute invite les utilisateurs à signaler les erreurs et à proposer de nouvelles commandes. La valeur du projet dépendra désormais de sa maintenance et de sa capacité à suivre les évolutions du SDK Spot et des distributions ROS 2.

Sources : annonce du RAI Institute sur Open Robotics Discourse et dépôt officiel spot_basic.

Fiches Robodex citées

Le briefing RoboActu

L’essentiel de la robotique, une fois par semaine.

Une sélection courte des annonces, usages et robots à suivre.

Continuer sur ce sujet

Comparer les robots