Teleoperation und Sitzungswiedergabe
Ergebnis: Eine aktivierte gemeinsame Zuordnung ermöglicht es dem Anführer, den Follower zu steuern, und eine gespeicherte Sitzung kann ohne den Anführer wiedergegeben werden.
Bereiten Sie zwei Busse vor
Verwenden Sie separate serielle Adapter für Leader und Follower, 1–6 Gelenkpaare, gespeicherte Nicht-Leer-Grenzwerte, normalen Positionsmodus und Einheitenauflösung. Der Leiter darf die Werksfirmware verwenden; Der Follower benötigt Extension v9.
Jeder Bus muss genau seine konfigurierten IDs enthalten. Deaktivieren Sie das Vorspanndrehmoment vorher: Das Tool schreibt niemals an den Vorspann. Follower-Einstellungen müssen ohne verzögertes Legacy-Schreiben gesperrt werden. Bereiten Sie Profile und bei Bedarf ein Schwerkraftmodell vor, indem Sie den Konfigurationsleitfaden verwenden.
Konfigurieren Sie die Datei
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
Legen Sie unterschiedliche leaderPort– und followerPort-, Baudraten- und alle joints-Paare fest. Das Quellbeispiel enthält ein Paar; Erweitern Sie es für den eigentlichen Arm. Geben Sie jedem Follower ein Profil mit Pfaden relativ zur Controller-Datei.
{"leaderId": 1, "followerId": 1, "mapping": "angle", "direction": 1}
Dies ist ein joints-Array-Eintrag, keine vollständige Datei. Zuordnungsoptionen:
| Feld | Bedeutung |
|---|---|
mapping: "angle" |
Behalten Sie die Zählverschiebung vom Mittelpunkt des gespeicherten Grenzwerts bei; setzt kompatible Encoder-Maßstäbe und Getriebe voraus |
mapping: "range" |
Skalieren Sie jede Hälfte des Führungswegs auf die entsprechende Hälfte des Mitnehmers, was für verschiedene Greifer nützlich ist |
direction |
1 oder −1 |
leaderMiddle, followerMiddle |
Optionale Zentren nur für range, streng innerhalb der jeweiligen Grenzen |
Der Grenzwertmittelpunkt kann vom Referenzzähler 2048 abweichen. Übereinstimmende Kalibrierungsposen garantieren daher keine übereinstimmenden Ziele, wenn die Grenzwerte asymmetrisch sind. Die Ziele sind auf Follower-Limits begrenzt.
Vorschau und Start
Dieser Befehl liest beide Busse und zeigt eine Vorschau der Zuordnung an, ohne die Einstellungen zu ändern:
macOS / Linux
npm run teleoperate -- tools/teleoperation/controller.local.json
Windows PowerShell
npm.cmd run teleoperate -- tools/teleoperation/controller.local.json
Vergleichen Sie gemeldete Positionen und Ziele mit dem physischen Aufbau und überprüfen Sie die Richtung jedes Paares. Unterstützen Sie beide Mechanismen und lassen Sie dem Mitläufer Raum, sich der Anführerpose zu nähern. Dann starten Sie explizit die Steuerung:
macOS / Linux
npm run teleoperate -- tools/teleoperation/controller.local.json --run
Windows PowerShell
npm.cmd run teleoperate -- tools/teleoperation/controller.local.json --run
Der angeforderte hz-Bereich liegt zwischen 1 und 60 Hz und ist standardmäßig auf 60 eingestellt. Die tatsächliche Rate hängt vom Bus, Computer, Feedback und Protokollierung ab. Versäumte Zeiträume werden übersprungen und nicht in Nachhol-Bursts gesendet. Betreiben Sie keinen anderen Controller am selben Bus.
Überprüfen Sie: keine Stale-Frame- oder Feedback-Fehler, korrekte Richtung und erwartete Bewegungsgrenzen. Normaler Abschluss und Strg+C behalten die Stromversorgung bei. Bei einem Schwerkraftmodell wartet die Vollendung auf den Rest; Ohne eins kann der Prozess beendet werden, während der Motor weiter in Richtung des letzten Ziels läuft. Das Werkzeug bewegt den Arm nicht automatisch in eine Parkposition.
Wiederholung ohne Anführer
Protokolle werden in logs/motion/ gespeichert. Wählen Sie SESSION.ndjson mit Preflight-Leader-Grenzwerten und -Zuordnung, gefolgt von Befehlsereignissen. Behalten Sie die gleiche Gelenkzuordnung in der aktuellen Controller-Datei bei. Replay öffnet nur den 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
Der erste Befehl zeigt eine Vorschau an; der zweite bewegt den Arm. Bei der Wiedergabe werden aufgezeichnete Führungspositionen und -grenzen, aktuelle Follower-Grenzwerte, aktuelle Profile und die aktuelle Schwerkraft verwendet. Es werden keine historischen Regelverstärkungen oder -stellwerte wiedergegeben. Aufgezeichnete Pausen bleiben bestehen; Die Verarbeitung verzögert die Dehnungszeit, anstatt Aufhol-Bursts auszugeben.
Ein Protokolleintrag, der einen beabsichtigten Befehl zum Ausdruck bringt, beweist nicht die Motorakzeptanz. Vergleichen Sie bei der Überprüfung einer fehlgeschlagenen Sitzung die beabsichtigten Befehle, die tatsächliche Übertragung und das Feedback.
Startseite der Dokumentation · Quellrevision: a995f77. Erweiterung 9.0.