Apprentissage par imitation pour un robot manipulateur : génération de trajectoires sans codeurs
Un manipulateur robotisé à servomoteurs (MG996R), dépourvu de codeurs intégrés, souffre de jeu mécanique, d’usure et d’imprécision positionnelle. Plutôt que d’effectuer une calibration cinématique complexe, nous appliquons l’apprentissage par imitation : l’opérateur guide manuellement le bras le long des trajectoires souhaitées, tandis que des potentiomètres externes enregistrent les positions articulaires. Ces trajectoires démontrées par un humain servent ensuite à entraîner un réseau de neurones capable de reproduire le mouvement pas à pas.
La conception mécanique comprend une base rotative (axe Z), trois liaisons articulées et une pince terminal. Des potentiomètres de 10 kΩ sont montés sur chacune des quatre articulations et transmettent des signaux analogiques à une carte Arduino Mini toutes les 10 ms. La commande des servomoteurs est assurée par un pilote PWM PCA9685PW. Toutes les données de trajectoire sont enregistrées dans des fichiers CSV pour un traitement hors ligne.
Configuration matérielle et modes de fonctionnement
L’Arduino lit les valeurs des potentiomètres et applique un lissage pour réduire le bruit : chaque nouvelle mesure est mise à jour comme moyenne pondérée avec la valeur précédente. Les valeurs brutes du convertisseur analogique-numérique (0–1023) sont converties en angles articulaires ultérieurement, sur un ordinateur — et non embarqué — afin d’éviter tout tremblement des servomoteurs pendant l’acquisition.
Le système fonctionne selon deux modes distincts :
- Enregistrement de trajectoires, basé sur la rétroaction des potentiomètres ;
- Relecture et actionnement des servomoteurs, exécutant les mouvements appris.
Les servomoteurs sont alimentés par une source dédiée pour éviter les chutes de tension. L’espace de travail pratique du robot est limité à une grille confortable de 34 points cibles — comparable à un échiquier. Une seule position initiale, située au-dessus de cette grille, sert de point de passage intermédiaire pour tous les déplacements : position initiale → cible → position initiale.
Cela réduit considérablement le volume de données : seules 68 trajectoires (aller-retour) sont nécessaires, plutôt qu’une combinaison exhaustive entre tous les points.
Étapes de l’apprentissage par imitation
Enregistrement des trajectoires
Le manipulateur est déplacé manuellement depuis la position initiale jusqu’à un point cible, puis ramené. L’Arduino enregistre les positions articulaires toutes les 10 ms. Les enregistrements bruts contiennent du bruit et de la dérive liés au jeu mécanique.
Calibration des cibles
Les angles articulaires finaux sont ajustés finement pour garantir un positionnement précis du point final. Les extrémités des trajectoires enregistrées sont corrigées afin de compenser les erreurs cumulées — particulièrement critique pour une préhension ou un dépôt reproductibles.
Entraînement du réseau de neurones
Le modèle prédit la variation angulaire incrémentale suivante (delta) à partir de l’état articulaire actuel et des coordonnées cibles. Entrée : angles articulaires actuels + coordonnées (x, y). Sortie : vecteur delta à 4 dimensions. Une dernière étape de « visée » affine les 10 % finaux du mouvement vers la cible calibrée.
Un modèle URDF du manipulateur, implémenté dans PyBullet, est utilisé uniquement à des fins de visualisation — ni pour la simulation ni pour un apprentissage basé sur la physique — ce qui signifie que le jeu réel et la souplesse mécanique ne sont pas modélisés.
Préparation des données
Les trajectoires sont normalisées et interpolées pour obtenir une séquence de longueur fixe. Pour chaque paire position initiale–cible, plusieurs démonstrations sont collectées et moyennées afin d’améliorer la robustesse.
Les étapes de prétraitement incluent :
- Filtrage du bruit via un lissage par moyenne mobile ;
- Normalisation des angles articulaires dans l’intervalle [0, 1] ;
- Interpolation linéaire à 100–200 pas temporels par trajectoire ;
- Concaténation des coordonnées (x, y) de la cible comme entrée conditionnelle du réseau.
Architecture du réseau de neurones
Nous utilisons un perceptron multicouche (MLP) composé de :
- 4 entrées (angles articulaires normalisés) ;
- Deux plongements appris pour les coordonnées x/y de la cible ;
- Un plongement temporel supplémentaire (pour encoder l’avancement dans la trajectoire) ;
- Couches cachées : 256 → 128 → 64 neurones, avec activation ReLU et dropout (p = 0,1) ;
- Sortie : 4 deltas angulaires prédits.
L’entraînement utilise une perte MSE (erreur quadratique moyenne) sur les deltas, l’optimiseur Adam (taux d’apprentissage = 1e−3), une taille de lot de 32 et 500 époques. Les données sont réparties selon un ratio 80/10/10 (entraînement/validation/test).
Compensation d’erreur : les 10 % finaux de chaque trajectoire sont remplacés par une interpolation linéaire directe vers la position cible calibrée — garantissant une précision élevée au point final.
Résultats et capacité de généralisation
Le réseau entraîné reproduit les trajectoires avec une erreur angulaire inférieure à 5° et atteint une précision de positionnement cible de ±2 mm. Sur des centres de cellule non vus (interpolés entre les points de la grille d’entraînement), la généralisation reste dans une marge de ±4 mm.
Comparaison des méthodes :
| Méthode | Erreur angulaire articulaire | Précision cible (mm) |
|---------|------------------------------|------------------------|
| Modèle cinématique en boucle ouverte | 12° | ±8 |
| Apprentissage par imitation seul | 4° | ±2 |
| Apprentissage par imitation + affinage de visée | 2° | ±1 |
Cette approche s’adapte facilement à d’autres manipulateurs grand public dépourvus de capteurs embarqués.
Points clés à retenir
- L’apprentissage par imitation élimine le besoin de codeurs et de modèles cinématiques précis.
- Des potentiomètres externes fournissent des données fiables de trajectoires « vérité terrain ».
- Le réseau de neurones génère des pas de mouvement conditionnés et orientés vers un objectif — avec une correction finale de visée.
- Seulement 68 trajectoires enregistrées manuellement permettent une forte capacité de généralisation vers de nouvelles cibles.
- Une précision de point final inférieure à 2 mm est réalisable — même sur du matériel économique.
— Editorial Team
Aucun commentaire pour le moment.