Zum Artikel

Telemetrie anzeigen

Geprüft 2026-11-01

Ergebnis: Öffnen Sie ein Protokoll und überprüfen Sie, ob seine Anzeige dem tatsächlichen Mechanismus entspricht. Der Betrachter liest Dateien; Es stellt niemals eine Verbindung zu Servos her, steuert keine Hardware und sagt niemals PID-Tuning-Ergebnisse voraus.

Protokolle installieren und öffnen

Aus dem Projektstammverzeichnis mit Python 3.12:

macOS / Linux
python3.12 -m venv tools/simulation/.venv
tools/simulation/.venv/bin/python -m pip install -r tools/simulation/requirements.txt
mkdir -p logs/motion
Windows PowerShell
py -3.12 -m venv tools/simulation/.venv
.\tools\simulation\.venv\Scripts\python.exe -m pip install -r tools/simulation/requirements.txt
New-Item -ItemType Directory -Force logs/motion | Out-Null

Beobachten Sie das Protokollverzeichnis in einem Terminal:

macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py live logs/motion --model so101
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py live logs/motion --model so101

Ein leeres Verzeichnis wartet auf seine erste Aufnahme. Starten Sie die Hardwaresteuerung in einem anderen Terminal; Der Betrachter folgt dem neuen Protokoll und wechselt zu nachfolgenden Sitzungen. Es sucht nach .ndjson-Dateien in diesem Verzeichnis, nicht in seinen Unterverzeichnissen. Durch das Schließen des Viewers wird die Hardwaresteuerung nicht beendet.

Um eine abgeschlossene Sitzung anzuzeigen, ersetzen Sie EVENTS.ndjson durch den Pfad:

macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py play EVENTS.ndjson --model so101
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py play EVENTS.ndjson --model so101

Wählen Sie --model so101 für SO-101 oder --model so102 für SO-102. SO-102 ist die Standardeinstellung. Modelle und Netze werden gebündelt. Eine benannte Pose POSES.json ist kein Viewer-Protokoll: Spielen Sie sie über den Controller ab und öffnen Sie dann das resultierende Ereignisprotokoll.

Überprüfen Sie die Positionszuordnung

Kalibrierung und Anzeigezuordnung sind getrennt:

angle = referenceRadians + (counts − referenceCount) × radiansPerCount

Die protokollierten Zählungen beinhalten bereits die Positionskorrektur des Servos; subtrahiere es nicht noch einmal.

Modell Standardannahme
SO-101 Bei Zählung 2048 sind alle sechs URDF-Verbindungen auf 0°; Positive Zählungen erhöhen den Winkel um 2π/4096 Bogenmaß pro Zählung
SO-102 Bei Zählung 2048: M1 0°, M2 −3°, M3 1°, M4 1°; Handgelenkrolle und Backen verwenden feste Anzeigepositionen

SO-101 ist mit reference pose assumed gekennzeichnet: Dies ist eine Annahme, keine erkannte Ausrichtung. Der Greifer verwendet einen Encoderwinkel, keine normalisierte 0–100-Öffnung. Die SO-102-Karte bindet die spezifischen Offsets des Originalarms.

Passen Sie nach der Neukalibrierung die physische Referenz an die URDF-Winkel an. Überprüfen Sie eine zweite Pose und die Anzeichen einer kleinen manuellen Bewegung an jedem Gelenk. Eine passende Pose kann weder Maßstab noch Richtung verifizieren. Durch die minimale und maximale Encoderanzahl werden diese Winkel nicht automatisch abgeleitet.

Für eine benutzerdefinierte Karte der Version 2 kopieren Sie tools/simulation/so101-encoder-map.json oder tools/simulation/encoder-angle-map.json, bearbeiten Sie sie und geben Sie den Pfad an:

macOS / Linux
tools/simulation/.venv/bin/python tools/simulation/viewer.py play EVENTS.ndjson --model so101 --mapping MY_MAP.json
Windows PowerShell
.\tools\simulation\.venv\Scripts\python.exe tools/simulation/viewer.py play EVENTS.ndjson --model so101 --mapping MY_MAP.json

MY_MAP.json ist Ihre Karte mit korrektem model, joints, fixedJoints und optionaler encoderCalibration. Jedes Modellgelenk muss abgebildet bzw. fixiert werden. Wenn Sie nur die Kalibrierungsprüffelder ändern, wird die physikalische Winkelumrechnung nicht korrigiert. Die Auswahl eines Viewer-Modells ändert weder den Hardware-Controller noch sein Schwerkraftmodell.

Interpretieren Sie die Anzeige

Die gemessene Pose und die Cyan-Referenz sind unterschiedlich. Das detaillierte C2-Feedback enthält die zwischenzeitlich geplante Flugbahn. Compact C1 enthält nur Messungen, daher wird für den Vergleich das befohlene Ziel verwendet. Ein Fehler relativ zum endgültigen Ziel während der Bewegung ist kein Trackingfehler relativ zum Plan.

Der Viewer stellt fehlende Messungen nicht wieder her. Veraltete Daten werden gekennzeichnet; Befehle allein können es nicht aktualisieren. Diagramme bleiben bis zu 20 Sekunden erhalten. Die Wiedergabe hält das letzte Bild ohne automatische Schleife; Öffnen Sie eine ersetzte oder abgeschnittene Datei erneut.

Tasten: 1–6 wählen Sie einen Motor; G Referenz-Overlay; C-Diagramme; J-Verbindungen; M/R gemessene/Referenzpose; F Qualität; H Hilfe. Das Raster ist visuell, ohne Kollisionen. Die Geometrie wird mit Simulatorkontakten und deaktivierter Schwerkraft reproduziert.

Überprüfen Sie: Das Modell passt zum Arm, zwei Körperhaltungen und Gelenkrichtungen werden korrekt angezeigt und Sie verstehen den Feedbacktyp. Korrigieren Sie die Zuordnung, bevor Sie die Steuerungsleistung beurteilen, wenn diese Prüfungen fehlschlagen.


Startseite der Dokumentation · Quellrevision: a995f77. Erweiterung 9.0.