Aller à l’article

Enregistrer et rejouer les premières poses

Vérifié 2026-11-01

Résultat : rejoue un court chemin révisé et comprend l’état final du moteur. Vous avez besoin de Extension v9, d’un calibrage vérifié et d’un profil pour chaque moteur . N’exécutez pas un bras complet en utilisant un exemple à un seul profil.

1. Vérifiez le matériel fixe

Soutenez le bras et maintenez le couple hors tension. Ces commandes lisent le matériel ; ne pas ajouter --include-writes :

macOS / Linux
npm run bus-benchmark -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
Windows PowerShell
npm.cmd run bus-benchmark -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
macOS / Linux
npm run telemetry -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Windows PowerShell
npm.cmd run telemetry -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check

Utilisez les identifiants réels. Choisissez un nouveau répertoire de sortie de télémétrie pour une autre exécution. Les contrôles de tension sont par défaut 8 – 16 V ; si cela n’est pas approprié, définissez --voltage-min et --voltage-max sur la plage attendue du matériel.

Contrôle  :  enquête sur les échecs de communication, les alarmes et les relevés signalés. Un fichier de rapport à lui seul ne signifie pas que le contrôle a réussi. Ne remplacez pas la suite complète de différences matérielles : elle peut déplacer les moteurs et remplacer les paramètres.

2. Enregistrez deux poses à proximité

Exécutez l’enregistreur dans un terminal interactif :

macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6
  1. Soutenez le mécanisme et appuyez sur Entrée pour confirmer le relâchement du couple.
  2. Attendez Torque off verified .
  3. Choisissez une pose prise en charge dans les limites de déplacement, maintenez-la immobile et entrez start .
  4. Faites un petit mouvement manuel révisé, maintenez la nouvelle pose et entrez nearby .
  5. Saisissez done et conservez le chemin JSON imprimé.

Une pose est un instantané séquentiel de moteurs stationnaires, et non un enregistrement de mouvements synchronisés. Le couple reste désactivé. Les fichiers sont enregistrés dans tools/poses/recordings/ ; ils ne contiennent aucun instantané d’étalonnage et ne peuvent pas détecter les changements de décalage ultérieurs.

3. Vérifiez la configuration et le chemin complet

Créez tools/poses/controller.local.json à l’aide de le guide de configuration . Incluez chaque moteur enregistré, son profil et le port correct. Le bus doit contenir exactement ces moteurs. Si votre mécanisme nécessite un modèle de gravité validé pour la prise en charge, configurez-le avant de commencer ; un exemple de compensation nulle n’établit pas l’adéquation à votre charge.

Remplacez POSES.json par le chemin enregistré et citez les chemins contenant des espaces. Preview se connecte au matériel, le lit et vérifie les cibles et les limites configurées tout au long de l’enregistrement sans modifier les paramètres ni démarrer le mouvement. Il ne vérifie pas les collisions, les dégagements ou le chemin physique des liens :

macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json

Contrôle  : les identifiants et le port sont corrects, le nombre d’images correspond à l’enregistrement et les cibles et vitesses sont attendues. cappedTargets signale les cibles tronquées aux limites actuelles. Examinez tout découpage avant la première exécution au lieu de supposer que le chemin modifié correspond à l’enregistrement.

4. Commencez le mouvement

Vérifiez le chemin libre depuis la position actuelle jusqu’à la première pose , ainsi qu’entre les poses enregistrées. Gardez les mains en dehors de la zone de déplacement et conservez l’accès à la déconnexion de l’alimentation du moteur. Cette commande permet le contrôle et le mouvement :

macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json --run
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json --run

Une nouvelle session ou des profils modifiés peuvent libérer brièvement du couple lors du démarrage. Fixez ou soutenez en toute sécurité le mécanisme au préalable. Les vitesses communes évoluent en fonction de la distance parcourue, mais chaque servo planifie sa propre courbe en S : une arrivée simultanée exacte n’est pas garantie. Les waypoints sont visités avec des arrêts plutôt que fusionnés en une seule trajectoire continue.

Vérifiez : , le programme se termine sans erreur, les positions atteignent la tolérance configurée et un journal est enregistré dans logs/motion/. La réussite n’est pas une mesure de la précision absolue du point final.

5. Terminez la séance

À la fin normale d’une relecture en mode Extension, les moteurs restent alimentés et maintiennent la dernière cible. Ctrl+C arrête l’envoi de nouvelles cibles ; le mouvement ne s’arrête pas immédiatement. Avec un modèle de gravité, le contrôleur continue de gérer le mouvement restant et attend l’immobilité avant de se fermer. Sans ce modèle, il peut se fermer alors que le moteur continue vers la dernière cible. Si la compensation de gravité est configurée, sa dernière contribution reste appliquée, mais l’ordinateur cesse de la mettre à jour après la fermeture.

Pour relâcher le couple une fois le processus terminé, soutenez le bras, exécutez la commande d’enregistrement à partir de l’étape 2 , confirmez la libération, attendez Torque off verified , puis entrez done . Cela crée un enregistrement vide inutilisé. Si la communication est perdue, cette procédure peut échouer ; un sectionneur d’alimentation du moteur accessible est toujours nécessaire.

Continuez selon vos besoins : gravité , téléopération , réglage ou affichage du journal . Voir la référence de session pour connaître les différences entre le comportement d’arrêt de l’outil.


Accueil de la documentation · Révision source : a995f77 . Extension 9.0 .