L'agent IA se dote de bras et de jambes : Strands + LeRobot connectent la robotique, le langage naturel pilote directement les vrais robots

Quel est le plus grand problème des agents IA ces deux dernières années ?
Ce n'est pas qu'ils ne savent pas discuter ni coder, c'est qu'ils restent la plupart du temps enfermés à l'écran. Demandez-leur de planifier, de chercher, d'écrire des scripts, d'appeler des API : ils sont très forts ; mais demandez-leur de pousser réellement un bras robotisé, d'enregistrer une démonstration robotique, de lancer une simulation, puis de déployer la politique sur du matériel physique, et ils se heurtent aussitôt à une avalanche de code colle.
Ce point de rupture commence à être comblé.
Dans l'écosystème AWS, le Strands Robots SDK passe en open source et encapsule Hugging Face LeRobot, la simulation MuJoCo, l'inférence de politiques, le mesh multi-robots Zenoh, etc. en AgentTools Strands. La formule officielle est d'une clarté totale : « strands-robots gives a Strands Agent hands ».
Traduit en langage courant : les agents IA commencent à se doter de bras et de jambes.
Qu'a-t-on exactement publié cette fois ?
Le projet s'appelle strands-robots, le code se trouve dans strands-labs/robots, et le paquet PyPI s'appelle aussi strands-robots. Sa capacité centrale : une fabrique Robot() qui transforme un robot simulé ou réel en outil appelable par un Strands Agent.
L'exemple minimal est très parlant :
from strands import Agent
from strands_robots import Robot
robot = Robot(“so100”)
agent = Agent(tools=[robot])
agent(“Pick up the red cube”)
Par défaut, Robot(“so100”) lance une simulation MuJoCo, sans GPU ni matériel réel. Pour passer au robot physique, il faut explicitement ajouter mode=”real” :
robot = Robot(“so100″, mode=”real”, port=”/dev/ttyACM0″)
Ce choix par défaut est crucial : d'abord la simulation, ensuite la vraie machine. Une simple instruction en langage naturel ne peut pas actionner par erreur de vrais servomoteurs.
Qu'est-ce que LeRobot : la boîte à outils « Hugging Face » du monde robotique
Pour comprendre Strands Robots, il faut d'abord comprendre LeRobot.
LeRobot est la bibliothèque d'apprentissage robotique en monde réel lancée par Hugging Face, dont l'objectif est d'unifier les modèles, jeux de données et outils de la robotique dans l'écosystème PyTorch, afin d'abaisser la barrière d'entrée de l'apprentissage robotique.
Le positionnement officiel est clair :
- Fournir modèles, jeux de données et outils pour la robotique en monde réel
- Permettre à un plus grand nombre de partager jeux de données robotiques et modèles pré-entraînés
- Couvrir l'apprentissage par imitation, l'apprentissage par renforcement et les modèles VLA
- Prendre en charge le matériel réel comme les environnements de simulation
L'un des éléments les plus importants de LeRobot est le format LeRobotDataset : il organise vidéos de vision robotique, états et actions dans une structure standard, généralement du MP4 ou des images plus du Parquet. Les données peuvent ainsi être téléversées sur le Hugging Face Hub et réutilisées par les chaînes d'entraînement, d'évaluation et de déploiement.
Autrement dit, LeRobot fournit le « socle de données et de modèles » de l'apprentissage robotique.
Mais un socle ne fait pas un flux de travail complet. Concrètement, il faut encore gérer la simulation, les ports matériels, les caméras, l'étalonnage, l'inférence de politiques, la coordination multi-robots, l'interruption d'urgence. C'est précisément cette couche que Strands Robots vient combler.
Strands Robots ne remplace pas : il encapsule

Face à Strands + LeRobot, la première réaction de beaucoup sera : encore un nouveau framework robotique ?
Non.
C'est plutôt l'encapsulation de la chaîne robotique en une couche d'outils appelables par un agent. LeRobot continue de gérer l'essentiel des données robotiques, des politiques et des interfaces matérielles ; MuJoCo reste aux commandes de la simulation ; GR00T, ACT, Pi0, SmolVLA, Diffusion, etc. restent des sources de politiques ; Zenoh assure le mesh pair-à-pair.
La valeur de Strands Robots, c'est de compacter ces composants dispersés dans un seul flux de travail d'agent :
- Enregistrer les données de démonstration
- Écrire dans un LeRobotDataset
- Téléverser ou réutiliser les données du Hugging Face Hub
- Lancer une simulation dans MuJoCo
- Appeler des politiques locales ou distantes
- Déployer sur un robot réel
- Coordonner plusieurs robots via le mesh
- Diffuser un E-STOP si nécessaire
Avant, toutes ces étapes exigeaient une pile de code colle. Désormais, elles deviennent des AgentTools orchestrés par le même Strands Agent.
La chaîne en une phrase : du langage naturel au mouvement mécanique
La chaîne officielle est très parlante :
Instruction en langage naturel → Strands Agent → outil Robot → Policy Provider → Action Chunk → simulation MuJoCo ou matériel réel → retour d'observation
Le point clé de cette chaîne : l'agent ne pilote pas directement les moteurs ; il passe par un policy provider qui génère des action chunks, ensuite confiés à la simulation ou au matériel.
Les sources de politiques prises en charge incluent :
- NVIDIA GR00T
- LeRobot ACT
- Pi0 / Pi0.5
- SmolVLA
- Diffusion Policy
- Les motion planners classiques
- MPC
- Les contrôleurs scriptés (scripted controller)
- Les politiques fictives (mock policy)
Autrement dit, Strands Robots ne mise pas sur un modèle unique : toutes les politiques passent derrière la même interface d'abstraction. Aujourd'hui vous validez le flux avec une mock policy, demain vous passez à un modèle LeRobot local, après-demain à un service d'inférence GR00T.
Plus de 50 robots, 8 grandes catégories
Strands Robots répertorie officiellement plus de 50 robots, répartis en 8 catégories :
- Bras robotisés : SO100, SO101, Koch, OMX, Panda, UR5e, xArm7, etc.
- Humanoïdes : Unitree G1, Unitree H1, Reachy2, Talos, Cassie, etc.
- Robots mobiles : Spot, Unitree Go2, Stretch, LeKiwi, EarthRover, etc.
- Mains dextres : Shadow Hand, Allegro Hand, Leap Hand, Robotiq 2F85, etc.
- Systèmes bi-bras : ALOHA, bi_openarm, Trossen WXAI
- Aéronefs : Crazyflie, Skydio X2
- Robots d'expression/interaction : Reachy Mini
- Robots de manipulation mobile : Google Robot
Une partie de ces robots peut piloter du matériel réel via LeRobot : SO100, SO101, Koch, OMX, HopeJR, ALOHA, bi_openarm, Reachy2, Unitree G1, LeKiwi, EarthRover, par exemple.
Plus important encore : tous ces robots peuvent être simulés. Pour un développeur, cela signifie pouvoir valider tout le flux en simulation, à bas coût, avant de décider d'acheter ou non du matériel.
Coordination mesh multi-robots + arrêt d'urgence
Multi-robots et contrôle de sécurité : deux sujets incontournables dès qu'on connecte un agent au monde physique.
Strands Robots intègre un réseau mesh Zenoh. Chaque robot devient automatiquement un pair, capable d'interagir avec un autre via tell(), de diffuser des instructions via broadcast() et de déclencher un arrêt d'urgence E-STOP.
Le mesh peut être relié à AWS IoT Core, et enrichi via le plugin device-connect pour des réseaux de détection d'appareils plus avancés.
La conception sécurité est tout aussi explicite :
- Simulation par défaut ; tout passage en mode réel exige un mode=”real” explicite
- Trois actions d'outils distinctes : état, exécution, arrêt
- L'E-STOP est indépendant du flux de contrôle normal
- Interruption pour approbation humaine avant toute action réelle
En contexte industriel, ce ne sont pas des options : en supprimer une seule peut suffire à provoquer un accident.
Précision terminologique : qui a fait quoi
Cette intégration est publiée en open source par AWS (Apache 2.0) et annoncée sur le blog de hugggingface.co. Strands est l'Agent SDK open source d'AWS (Apache 2.0), disponible en Python et TypeScript, avec un framework d'agent complet. LeRobot est un projet de Hugging Face. L'intersection des deux, c'est strands-robots.
Comment démarrer
Pour simplement essayer la simulation, commencez par l'extra MuJoCo :
uv pip install “strands-robots[sim-mujoco]”
Pour connecter du matériel réel et des politiques LeRobot locales :
uv pip install “strands-robots[sim-mujoco,lerobot]”
Et si vous voulez tout installer :
uv pip install “strands-robots[all]”
L'installation de base est légère : numpy, opencv-headless, Pillow, etc. Les autres capacités s'installent par extras séparés : sim-mujoco pour la simulation, lerobot pour le matériel réel et les politiques locales, groot-service pour l'inférence NVIDIA GR00T, mesh pour le réseau multi-robots Zenoh, mesh-iot pour les flottes AWS IoT Core.
Ce découpage est pragmatique : il ne remplit pas votre machine de dépendances dès le premier instant.
Ne vous méprenez pas : ce n'est pas « l'intelligence embarquée en un clic »
Un bémol s'impose ici.
Strands Robots est très séduisant, mais il ne transforme pas l'IA en roboticien d'un seul clic.
Le matériel réel continue d'exiger :
- L'identification des ports
- La communication avec les servomoteurs
- La configuration des caméras
- L'étalonnage du bras robotisé
- L'alignement des schémas de données
- La disponibilité des checkpoints
- GPU / Docker / services d'inférence
- L'écart sim2real entre simulation et réalité
- Les périmètres de sécurité multi-robots
L'inférence locale de GR00T, par exemple, peut exiger un GPU NVIDIA, Docker, des checkpoints et une configuration de données correcte. Un SO-101 physique, lui, ne se met pas à attraper le cube rouge dès que mode=”real” est écrit : il faut toujours caméra, étalonnage, politique et environnement sécurisé.
La vraie valeur : moins de code colle
Ce qui mérite l'attention ici, ce n'est pas un bond soudain des capacités des modèles, mais le déblocage de la chaîne d'ingénierie.
Dans le développement robotique, la douleur vient rarement des articles de recherche : elle vient de systèmes qui ne se parlent pas :
- Un format de jeux de données d'un côté
- Des scripts de simulation d'un autre
- Un contrôle matériel réel de son côté
- Une inférence de politiques de son côté
- Une communication multi-robots de son côté
- Et un arrêt sécurisé encore autre
Strands Robots unifie tout cela en AgentTools.
C'est très concret pour les équipes de recherche comme pour les startups : on peut d'abord faire tourner la simulation du SO100 sur un simple portable, sans acheter de matériel, sans GPU, sans demander d'accès au Hub ; une fois le flux validé, on introduit progressivement le SO101 réel, GR00T, les checkpoints Hugging Face, le mesh multi-robots.
Budget et risques peuvent ainsi être déployés par étapes, au lieu de tout engager dès le premier jour : matériel, données, entraînement, déploiement.
Pourquoi c'est important pour les agents
Les outils des agents étaient jusqu'ici essentiellement numériques : fichiers, navigateurs, bases de données, API, terminaux, interpréteurs de code.
Strands Robots pousse la frontière des outils vers le monde physique : robots, caméras, servomoteurs, environnements de simulation, politiques d'action, communications multi-robots.
Le périmètre de capacité des agents s'étend donc du « traitement de l'information » à l'« exécution physique ».
Évidemment, l'exécution physique exige davantage de prudence. Le monde réel n'a pas de touche « annuler » : un bras qui percute une table, écrase un objet ou blesse quelqu'un ne se répare pas en relançant un script. C'est pourquoi simulation par défaut, passage explicite en réel, E-STOP et approbation humaine sont plutôt les signes d'un projet mûr.
Et la relation avec ROS ?

Certains demanderont : est-ce là un remplaçant de ROS ?
À court terme, non. ROS reste le socle historique de l'ingénierie robotique : nœuds, topics, services, launch, écosystème de pilotes très profond. Strands Robots se positionne plutôt comme une couche d'orchestration d'agents, pensée pour « faire organiser des tâches robotiques par de grands modèles via des interfaces d'outils ».
Le paysage le plus probable à l'avenir : le matériel bas niveau et les systèmes robotiques complexes continuent de reposer sur ROS / SDK constructeurs / contrôleurs, tandis que la couche agent, via des outils comme Strands Robots, articule planification de tâches, appel de politiques, enregistrement de données, validation en simulation et coordination multi-robots.
Autrement dit : il ne vole pas le châssis, il occupe l'entrée des flux de travail supérieurs.
Conclusion
La véritable portée de cette connexion robotique Strands + LeRobot ne tient pas à ce qu'une phrase rendrait un bras robotisé instantanément intelligent : elle tient à ce que les agents IA commencent à disposer d'une interface d'outils standard vers le monde physique.
LeRobot fournit données, modèles et interfaces matérielles pour l'apprentissage robotique ; MuJoCo, une simulation sûre ; GR00T, ACT, Pi0, SmolVLA, Diffusion, etc., les politiques ; le mesh Zenoh, la communication multi-robots ; et Strands Robots encapsule le tout en AgentTools.
Voilà sa valeur : pas une révolution en un clic, mais une énorme économie de code colle.
L'agent IA, qui n'avait jusque-là qu'un cerveau et une bouche, commence à se doter de bras et de jambes.
Mais avant d'entrer vraiment dans le monde réel, il lui faudra encore freins, garde-fous, approbations, simulations et une foule de détails d'ingénierie.
C'est ça, le pas le plus authentique de l'intelligence embarquée, du PowerPoint au banc d'essai.