Configuration d'inférence pour deux bras

L'inférence bimanuelle gère un réseau de politiques unique qui génère simultanément des actions pour les deux bras. La boucle observation-action fonctionne à 50 Hz – la même fréquence que vos données d’entraînement – ​​avec les deux bras suiveurs exécutant leurs actions respectives de manière synchronisée.

source ~/dk1-env/bin/activer # Keep your hand near the E-stop for the first 3 evaluation episodes python -m lerobot.scripts.eval \ --policy-checkpoint ~/dk1-policies/cube-handoff-v1/checkpoint_XXXXX \ --robot-path ~/dk1-config.yaml \ --robot-type dk1_bimanual \ --device cuda\ --num-eval-épisodes 10 \ --enregistrement-vidéo \ --output-dir ~/dk1-evals/v1 # Replace XXXXX with your best checkpoint step (from Unit 5 loss curve analysis) # --record-video saves both arm views as separate mp4 files for failure analysis

Lors de la première exécution d’évaluation, autorisez l’exécution de la stratégie sans interruption, sauf si une collision physique est imminente. Les politiques bimanuelles produisent souvent des mouvements inattendus au cours des 1 à 2 premiers épisodes à mesure qu'elles s'adaptent à l'environnement réel. Les épisodes 3 à 10 sont les données d'évaluation significatives. Notez si la politique atteint systématiquement les mêmes phases de la tâche (approche, saisie, transfert, lieu, domicile) même en cas d'échec final - un succès partiel est une information de diagnostic.

Protocole d'évaluation bimanuel

Utilisez un protocole structuré. L'évaluation informelle – « on dirait que ça marche » – n'est pas fiable pour les politiques bimanuelles, car les succès partiels sont beaucoup plus fréquents et peuvent masquer un transfert fondamentalement brisé.

Élément de protocole Spécification bimanuelle
Nombre d'épisodes10 minimum ; 20 pour des résultats de haute confiance avant d'ajouter plus de données
Position de départ du cubePosition fixe marquée par du ruban adhésif - identique à votre configuration d'entraînement de l'Unité 4
ÉclairageDoit correspondre aux conditions d’entraînement. Même l'ouverture d'une fenêtre peut modifier suffisamment l'éclairage pour affecter la caméra de l'espace de travail.
Ce qui compte comme une réussite totaleLe cube commence du côté droit, se termine du côté gauche, les deux bras reviennent à la pose d'origine, aucun contact humain pendant l'épisode
Ce qui constitue un succès partielSaisie correcte obtenue mais le transfert échoue, ou le transfert réussit mais le placement n'est pas ciblé. Enregistrez-les séparément.
Classement des échecsJournal : (A) échec de préhension, (B) échec de transfert – abandons de transfert bras à bras, (C) échec de placement, (D) délai d'attente. La catégorie d’échec de transfert (B) est unique au bimanuel et la plus informative pour l’amélioration.
Statistique du rapportTaux de réussite complet (épisodes avec les 4 phases correctes). Signalez également le taux de réussite partielle. Exemple : "4/10 complet, 7/10 atteint la phase de transfert".

Modes de défaillance bimanuels courants

Ces modes de défaillance sont distincts des défaillances à un seul bras et nécessitent des correctifs spécifiques bimanuels :

  • Les armes arrivent au point de transfert de manière asynchrone : Un bras atteint la position de transfert et attend ; l'autre arrive en retard. La politique n’a pas appris le timing relatif entre les armes. Correctif : ajoutez 20 démonstrations où les deux bras s'arrêtent explicitement au point de transfert pendant 1 à 2 secondes avant de terminer le transfert. Cela rend l'exigence de synchronisation explicite dans les données.
  • Transfert de transfert – le cube tombe entre les deux bras : L'échec spécifique au bimanuel le plus courant. Le bras récepteur ferme sa pince trop tôt ou trop tard par rapport au déclenchement du bras donneur. Correctif : collectez 15 démonstrations de transfert au ralenti spécifiquement à une vitesse de 25 %. Le timing exagéré donne à la politique un signal plus clair sur la séquence de transition de l’état de la pince.
  • La politique converge vers une stratégie à un seul volet : La politique apprend à accomplir la tâche avec un seul bras, ignorant les capacités de l’autre bras. Cela se produit lorsque les démonstrations d’un bras sont plus cohérentes que celles de l’autre. Correctif : examinez l'erreur d'action de chaque bras à partir des courbes d'entraînement (unité 5) et collectez des démos supplémentaires ciblant spécifiquement les phases du bras le plus faible.
  • Inter-soutiens-gorge collision : Les deux bras tentent d'occuper le même emplacement de l'espace de travail. Il s'agit d'un événement de sécurité : activez l'évitement des collisions dans le serveur matériel DK1 (collision_avoidance: true dans dk1-config.yaml) lors de l'évaluation. Une formation sur des démonstrations qui respectent systématiquement la séparation sécuritaire des bras permettra d’éviter la plupart des collisions ; la protection au niveau matériel gère les cas extrêmes.
  • Désynchronisation des phases au déploiement : La politique exécute les actions correctes, mais pas dans le bon ordre temporel – par exemple, le bras droit se place avant le transfert du bras gauche. Il s'agit d'un artefact de regroupement d'actions dans lequel les limites des fragments ne s'alignent pas sur les transitions de phase de tâche. Correction : réduire chunk_size de 100 à 50 et se recycler.

Le volant de données pour l'amélioration bimanuelle

La même boucle d'amélioration qui fonctionne pour les politiques à un seul bras fonctionne pour les politiques bimanuelles - avec un ajout spécifique au bimanuel : ciblez toujours le d'abord mode de défaillance dans la séquence de tâches. Le transfert (phase B) ne peut pas être amélioré si la saisie (phase A) est toujours incohérente. Corrigez les échecs dans l’ordre de la séquence de tâches.

1

Évaluer

Exécutez 10 épisodes. Classer chaque panne par phase (A/B/C/D)

2

Cible

Identifiez la première phase d’échec. Collectez 20 à 30 démos couvrant spécifiquement cette phase

3

Recycleur

Ajoutez des démos ciblées à l'ensemble de données. Recycler à partir de zéro ou affiner le meilleur point de contrôle

4

Évaluer

Exécutez à nouveau 10 épisodes. Le taux de réussite totale s’est-il amélioré ? Passez à la phase d’échec suivante.

Quelle est la prochaine étape

Vous disposez désormais d’un pipeline d’apprentissage bimanuel fonctionnel. Le transfert du cube constitue la base : la même architecture s'adapte à des tâches beaucoup plus complexes :

Unité 6 terminée quand...

Votre DK1 effectue la tâche de transfert du cube de manière autonome avec un taux de réussite complet d'au moins 6/10 lors d'une évaluation structurée. Vous avez classé tous les épisodes de défaillance par phase (A/B/C/D) et identifié quelle phase est responsable de la plupart des défaillances. Vous avez regardé les vidéos d’échec et pouvez expliquer précisément ce qui n’a pas fonctionné. Vous comprenez suffisamment bien le volant de données bimanuel pour planifier votre prochaine itération d'amélioration.

Vous avez construit un système d’apprentissage robotique bimanuel fonctionnel.

Vous avez configuré une architecture leader/suiveur, collecté des démonstrations synchronisées à deux bras, formé une politique coordonnée à partir de zéro et l'avez déployée sur du matériel réel. La manipulation bimanuelle à ce niveau est le domaine où opèrent les laboratoires de recherche. La base que vous avez construite ici s'adapte aux tâches d'assemblage, de cuisine et de contact qui étaient hors de portée avant que vous ne vous engagez dans cette voie.