Le principe général
Le système repose sur deux bras SO-ARM 101. Le bras Leader, manipulé par l’humain, sert à montrer le geste. Le bras Follower le reproduit en temps réel. Pendant cette phase, deux caméras enregistrent la scène : une caméra globale, qui observe l’ensemble de la zone de travail, et une caméra placée près de la pince.
Les démonstrations enregistrées forment un dataset, c’est-à-dire l’ensemble des exemples à partir desquels le robot va apprendre. Ce dataset sert à entraîner un modèle d’apprentissage par imitation : plutôt que d’être programmé étape par étape, le robot apprend en imitant les exemples montrés par l’humain. Le projet utilise pour cela un type de modèle conçu pour la robotique, appelé ACT (Action Chunking Transformers).
Une fois entraîné, le modèle est déployé sur le robot. Le bras Follower n’est alors plus guidé directement : il s’appuie sur les caméras et sur ce qu’il a appris pour réaliser la tâche de manière autonome.
La tâche de référence
La tâche de référence est volontairement simple : le robot doit attraper un cube posé sur le plateau, puis le déposer dans une boîte. Le cube est présenté à cinq positions différentes (centre, libre, haut, gauche, droite), et l’on enregistre dix démonstrations par position, soit cinquante au total.
Cette tâche, simple en apparence, permet d’aborder plusieurs questions essentielles : la précision du geste, la qualité des démonstrations, la cohérence entre ce que le robot voit pendant l’enregistrement et pendant le déploiement, la construction d’un dataset exploitable, l’entraînement d’un modèle, et le passage d’un contrôle humain à un comportement autonome.
Ce que l’on peut travailler avec les élèves
RobotiqueLes servomoteurs, les articulations, la calibration, les limites mécaniques, la téléopération et les questions de sécurité liées au mouvement d’un robot réel. |
ProgrammationDes scripts Python pour configurer les servomoteurs, communiquer avec le robot, gérer les caméras, enregistrer les données, entraîner le modèle et déployer le robot. |
DonnéesLes démonstrations deviennent un dataset. Les élèves découvrent pourquoi la qualité des données est déterminante pour l’apprentissage d’un modèle. |
VisionLes deux caméras permettent d’aborder le cadrage, la zone utile et la cohérence entre entraînement et déploiement, ainsi que le rôle de l’image dans le comportement du robot. |
Intelligence artificielleL’apprentissage par imitation : le robot apprend à partir d’exemples fournis par l’humain, puis tente de reproduire la tâche de façon autonome. |
Démarche scientifiqueUne approche expérimentale : tester, observer, corriger, comparer, documenter et améliorer progressivement le système. |
Avant de commencer : se procurer et fabriquer le robot
Avant d’aborder le logiciel (phases 1 à 10), il faut réunir le matériel, fabriquer les bras et préparer le plateau de la tâche.
Le matériel nécessaire
- Deux bras SO-ARM 101 : un Leader et un Follower.
- Douze servomoteurs Feetech STS3215 (six par bras) et deux cartes de contrôle.
- Deux caméras USB.
- Un PC sous Linux. Une carte graphique compatible CUDA est recommandée pour accélérer l’entraînement (phase 9), mais le reste du projet permet déjà de travailler de nombreuses notions sans dépendre de cette étape.
Les servomoteurs et les cartes
Le plus simple est de partir du kit SO-ARM101 Servo Motor Kit Pro de Seeed Studio, qui réunit les servomoteurs, les cartes/adaptateurs et les câbles nécessaires au montage. Les alimentations ne sont pas comprises dans le kit : elles sont à prévoir séparément (5 V pour le Leader, 12 V pour le Follower dans la version Pro). Voir le kit chez Seeed Studio.
Les pièces du robot : à imprimer ou à acheter
Les pièces de structure des bras peuvent être imprimées en 3D à partir des fichiers du projet — disponibles dans le dossier hardware du dépôt GitHub, issus de la conception open source de The Robot Studio — ou achetées toutes faites (par exemple le squelette imprimé proposé par Seeed Studio). Le montage des deux bras est ensuite détaillé en phase 2.
Fichiers de The Robot Studio (SO-ARM100) · Squelette imprimé Seeed Studio
Le plateau de la tâche
Le plateau est une planche en bois de 60 × 40 cm ; les cibles (les cinq positions du cube) et les emplacements des boîtes y ont été découpés et gravés au laser du SEMLab. Les fichiers de construction (STL, SVG, etc.) seront mis à disposition dans le dossier hardware du dépôt GitHub.
Les phases du projet
De l’installation au robot autonome, le projet se parcourt en dix phases, chacune accompagnée d’un guide. (Les guides déjà documentés sont disponibles dans le dépôt GitHub ; les suivants y sont ajoutés au fur et à mesure de l’avancement du projet.)
Les guides détaillés et les fichiers PDF sont disponibles dans le dépôt GitHub du projet.
Phase 1 — Installation de l’environnement
Préparer l’ordinateur : environnement LeRobot, Python, bibliothèques nécessaires, outils vidéo et permissions Linux pour accéder au robot et aux caméras.
Phase 2 — Configuration et montage des servomoteurs
Attribuer un identifiant unique à chacun des servomoteurs (six par bras), tester leur mouvement, les centrer, puis monter les bras Leader et Follower.
Phase 3 — Calibration des limites et position de repos
Définir, pour chaque servomoteur, ses positions minimale, centrale et maximale, afin d’obtenir des mouvements sûrs et reproductibles.
Phase 4 — Tests et contrôle manuel
Vérifier le bon fonctionnement des deux bras et piloter chaque articulation au clavier, pour valider les limites avant de passer à la téléopération.
Phase 5 — Téléopération Leader → Follower
Piloter le bras Follower en temps réel à partir du bras Leader : le geste effectué sur l’un est reproduit immédiatement par l’autre.
Phase 6 — Caméras
Ajouter les deux caméras (vue globale et vue proche de la pince), vérifier leur cadrage et préparer la cohérence visuelle nécessaire à l’apprentissage.
Phase 7 — Enregistrement du dataset
Enregistrer les démonstrations qui serviront à l’apprentissage : cinquante au total pour la tâche de référence (dix par position du cube). Ces démonstrations constituent le dataset.
Phase 8 — Consolidation et vérification du dataset
Regrouper et contrôler les démonstrations enregistrées, et vérifier leur qualité et leur cohérence — car c’est à partir de ces données que le modèle apprendra.
Phase 9 — Entraînement du modèle ACT
Entraîner le modèle d’apprentissage par imitation : à partir du dataset, l’ordinateur apprend à reproduire le geste. Une carte graphique accélère nettement cette étape.
Phase 10 — Déploiement autonome
Installer le modèle entraîné sur le robot. Le bras Follower n’est plus guidé par l’humain : il réalise la tâche de manière autonome, à partir des caméras et de ce qu’il a appris.
Ressources du projet
Le dépôt GitHub SO-ARM 101 est le point central du projet.
Lien GitHub :
https://github.com/yanko-sem/SO-ARM-101
Il regroupe les scripts Python, les guides de phase et leurs fichiers PDF, les fichiers matériels, les fichiers de configuration, la documentation, ainsi que les informations de licence, de citation, de contribution et de suivi des versions.
Remerciements
Ce projet s’appuie sur des travaux open source que nous tenons à remercier :
- The Robot Studio, pour la conception open source des bras SO-ARM100 / SO-ARM101, dont sont issus les fichiers 3D utilisés ici. Ces fichiers sont réutilisés et redistribués dans le dossier hardware du dépôt GitHub du projet, dans le respect de leur licence Apache 2.0.
- Hugging Face, pour le framework open source LeRobot, qui sert de base à toute la chaîne d’apprentissage par imitation.
Nous remercions également la communauté open source de la robotique éducative, dont les ressources rendent ce type de projet accessible à l’enseignement.
