Téléopération et relecture des sessions
Résultat : , un mappage commun vérifié permet au leader de contrôler le suiveur, et une session enregistrée peut être rejouée sans le leader.
Préparez deux bus
Utilisez des adaptateurs série séparés pour le leader et le suiveur, les paires de joints 1 – 6, les limites non vides enregistrées, le mode de position ordinaire et la résolution unitaire. Le leader peut utiliser le micrologiciel d’usine ; le suiveur nécessite Extension v9.
Chaque bus doit contenir exactement ses identifiants configurés. Désactivez au préalable le couple leader : l’outil n’écrit jamais dans le leader . Les paramètres des suiveurs doivent être verrouillés sans écriture héritée différée. Préparez des profils et, si nécessaire, un modèle gravitaire à l’aide du guide de configuration .
Configurer le fichier
macOS / Linux
cp tools/teleoperation/example.json tools/teleoperation/controller.local.json
Windows PowerShell
Copy-Item tools/teleoperation/example.json tools/teleoperation/controller.local.json
Définissez leaderPort et followerPort distincts, le débit en bauds et toutes les paires joints. L’exemple source contient une paire ; développez-le pour le bras réel. Donnez à chaque suiveur un profil, avec des chemins relatifs au fichier du contrôleur.
{"leaderId": 1, "followerId": 1, "mapping": "angle", "direction": 1}
Il s’agit d’une entrée de tableau joints, et non d’un fichier complet. Options de cartographie :
| Champ | Signification |
|---|---|
mapping: "angle" |
Préserver le déplacement du nombre à partir du point médian de la limite enregistrée ; suppose des échelles d’encodeur et des engrenages compatibles |
mapping: "range" |
Adaptez chaque moitié du déplacement du leader à la moitié du suiveur correspondante, utile pour différentes pinces |
direction |
1 ou − 1 |
leaderMiddle , followerMiddle |
Centres optionnels uniquement pour range , strictement dans les limites respectives |
Le point médian de la limite peut différer du décompte de référence 2048. Les poses d’étalonnage correspondantes ne garantissent donc pas la correspondance des cibles lorsque les limites sont asymétriques. Les cibles sont plafonnées aux limites de suiveurs.
Aperçu et démarrage
Cette commande lit à la fois les bus et prévisualise le mappage sans modifier les paramètres :
macOS / Linux
npm run teleoperate -- tools/teleoperation/controller.local.json
Windows PowerShell
npm.cmd run teleoperate -- tools/teleoperation/controller.local.json
Comparez les positions et les cibles signalées avec la configuration physique et vérifiez la direction de chaque paire. Soutenez les deux mécanismes et laissez de l’espace pour que le suiveur s’approche de la pose du leader. Ensuite, démarrez explicitement le contrôle :
macOS / Linux
npm run teleoperate -- tools/teleoperation/controller.local.json --run
Windows PowerShell
npm.cmd run teleoperate -- tools/teleoperation/controller.local.json --run
Le hz demandé va de 1 à 60 Hz et est par défaut 60 ; le taux réel dépend du bus, de l’ordinateur, du feedback et de la journalisation. Les périodes manquées sont ignorées plutôt que envoyées en rafales de rattrapage. N’exécutez pas un autre contrôleur sur le même bus.
Vérifiez : aucune erreur de cadre obsolète ou de retour, direction correcte et limites de déplacement attendues. Achèvement normal et Ctrl+C conservent le maintien motorisé. Avec un modèle gravitationnel, l’achèvement attend le repos ; sans cela, le processus peut se terminer pendant que le moteur continue vers la dernière cible. L’outil ne déplace pas automatiquement le bras dans une position de stationnement.
Rejouer sans le leader
Les journaux sont enregistrés dans logs/motion/ . Sélectionnez SESSION.ndjson contenant les limites du leader de contrôle en amont et le mappage suivi des événements de commande. Conservez le même mappage commun dans le fichier de contrôleur actuel. La relecture ouvre uniquement le follower :
macOS / Linux
npm run replay -- tools/teleoperation/controller.local.json SESSION.ndjson
Windows PowerShell
npm.cmd run replay -- tools/teleoperation/controller.local.json SESSION.ndjson
macOS / Linux
npm run replay -- tools/teleoperation/controller.local.json SESSION.ndjson --run
Windows PowerShell
npm.cmd run replay -- tools/teleoperation/controller.local.json SESSION.ndjson --run
La première commande affiche un aperçu ; le deuxième bouge. La relecture utilise les positions et les limites des leaders enregistrées, les limites actuelles des suiveurs , les profils actuels et la gravité actuelle. Il ne rejoue pas les gains ou les efforts historiques. Les pauses enregistrées restent ; les retards de traitement allongent le temps plutôt que d’émettre des rafales de rattrapage.
Un enregistrement de journal exprimant une commande prévue ne prouve pas l’acceptation du moteur. Lorsque vous examinez une session ayant échoué, comparez les commandes prévues, la transmission réelle et les commentaires.
Accueil de la documentation · Révision source : a995f77 . Extension 9.0 .