Retour à l'accueil

Apprentissage par imitation de robot : Trajectoires sans encodeurs

L'article décrit l'apprentissage par imitation d'un manipulateur économique sans encodeurs. Des potentiomètres externes sont utilisés pour la collecte de trajectoires, MLP pour la prédiction par étapes, et visée pour la précision. Erreur atteinte ±2 mm en 34 points.

Comment entraîner un robot à répéter des trajectoires sans modèle cinématique
Advertisement 728x90

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.

Google AdInline article slot

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.

Google AdInline article slot

É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.

Google AdInline article slot

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

Advertisement 728x90

Lire ensuite