Regelung abstimmen und validieren
Ergebnis: Akzeptieren Sie Einstellungen anhand gemessener Kriterien und nicht anhand einer erfolgreichen Bewegung. Überprüfen Sie zunächst die Kalibrierung, den anfänglichen Bewegungspfad, Profile und etwaige Schwerkraftmodelle.
1. Bereiten Sie einen Basisplan vor
macOS / Linux
cp tools/tuning/example.json tools/tuning/plan.local.json
cp tools/tuning/controller.example.json tools/tuning/controller.local.json
Windows PowerShell
Copy-Item tools/tuning/example.json tools/tuning/plan.local.json
Copy-Item tools/tuning/controller.example.json tools/tuning/controller.local.json
Setzen Sie in tools/tuning/plan.local.json config auf controller.local.json, stage auf baseline und candidates auf []. Das Quellbeispiel enthält einen PID-Kandidaten; Führen Sie es nicht unverändert als Basismessung aus.
Legen Sie den Controller-Port und die Profile fest und fügen Sie jeden unterstützenden Motor in joints als {"followerId": ID} ein. Entfernen Sie eine kopierte durationMs: Die batch.maxDurationMs des Plans besitzt das Dauerbudget.
| Feld planen | Entscheidung vor dem Rennen |
|---|---|
probeId |
Motor, der sich bewegt |
poses.screen, poses.validate |
Unterschiedliche zulässige Endpunktpaare für Screening und Validierung; Kopieren Sie die Beispielzählungen 2000/2050 nicht, ohne die physischen Positionen zu überprüfen |
motion.speeds |
Für die überprüfte Last geeignete Geschwindigkeiten |
limits |
Folge-/Unterstützungsfehler, Temperatur- und Spannungsgrenzen |
acceptance |
Fehler-, Überschwing-, Einschwing- und Sättigungskriterien |
batch |
Wiederholungen, Haltedauer und Gesamtbudget |
Positionen sind korrigierte Encoder-Zählungen. Nach der Neukalibrierung können dieselben Zahlen unterschiedliche physische Positionen darstellen. Stützgelenke halten bestehende Haltepunkte aufrecht; Das Werkzeug führt nicht automatisch eine Neupositionierung des gesamten Arms durch.
2. Trennen Sie die drei Befehle
Überprüfen Sie Dateien und geschätzte Busnutzung ohne Verbindung:
macOS / Linux
npm run tune -- inspect tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- inspect tools/tuning/plan.local.json
Firmware, Kalibrierung, Grenzwerte und Profile auslesen ohne Motorwechsel:
macOS / Linux
npm run tune -- preflight tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- preflight tools/tuning/plan.local.json
Führen Sie den Stapel mit Bewegung aus:
macOS / Linux
npm run tune -- run tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- run tools/tuning/plan.local.json
Nicht ausführen, wenn der Preflight unerwartet abgeschnittene Ziele, einen Modellfehler oder ein auf eine Position reduziertes Endpunktpaar aufdeckt. Der Stapel verschiebt probeId; Andere Motoren müssen eine überprüfte Stützhaltung beibehalten.
3. Stellen Sie die Reihenfolge ein
- Grundlinie: anfängliche Bewegungen und Griffe ohne Kandidaten; Wiederholbarkeit feststellen und Alarme untersuchen.
- Schwerkraft: Überprüfen Sie ein Modell anhand von Posen, Richtungen und mindestens zwei Geschwindigkeiten. In dieser Phase werden Daten gesammelt, ohne dass sich die Regelverstärkungen ändern.
- Geschwindigkeit: Vergleichen Sie die Richtungsvorsteuerung unter Verwendung einer stetigen Bewegung.
- PID: P, D und Filterung über Lasten hinweg vergleichen; Verwenden Sie längere Haltezeiten, um die Schwingungen auszusetzen.
- Integral: nur für einen dauerhaften Fehler einführen; Testen Sie Verstärkung und Limit zusammen, einschließlich kleiner Umkehrungen.
- Bewegung: Kontrollverstärkungen festhalten, während Beschleunigung und Rampenzeit verglichen werden.
- Kombinierte Bewegung: einen gesamten Armpfad wiedergeben; Eine isolierte gemeinsame Abstimmung validiert keine gekoppelte Bewegung.
- Validierung: Einstellungen einfrieren und erforderliche Geschwindigkeiten, Beschleunigungen, Nutzlasten und verlängerte Ladezeiten prüfen.
Die Bühne schränkt Kandidatenfelder ein. Grundlinie, Schwerkraft und Validierung ändern die Einstellungen nicht. Die Gesamtausgabegrenzen bleiben explizit konfiguriert und werden nicht automatisch angepasst.
4. Ergebnisse interpretieren
Jedetools/tuning/logs/<run>/Verzeichnis enthältevents.ndjsonUndsummary.json. Überprüfen Sie den Abschlussstatus, die Baselines vor und nach der Charge, unabhängige Validierungspaare und jedes Akzeptanzkriterium. Für einen unvollständigen oder fehlgeschlagenen Stapel gibt es keine Empfehlung. Eine Abweichung von der Basislinie kann dazu führen, dass ein Vergleich nicht schlüssig ist.
Die Metriken umfassen Moving Tracking RMS, stetigen Fehler und Spanne, Überschwingen, Einschwingzeit, Gesamtreaktionszeit und Sättigungsanteil. Das Absetzen erfordert ein kontinuierliches Intervall innerhalb des Bandes; eine frühe Überfahrt reicht nicht aus. Kurzes Halten kann nicht das Fehlen einer langsamen Oszillation beweisen.
Bei normalem Abschluss wird die konfigurierte Ausgangseinstellung wiederhergestellt und die Position weiter gehalten. Strg+C während der Abstimmung versucht, das Drehmoment abzuschalten; dies unterscheidet sich von der Extension-Wiedergabe. Stützen Sie den Mechanismus vor der Unterbrechung ab. Ein zwangsweise beendeter Prozess oder eine getrennte Busverbindung kann den vorherigen Haltezustand aktiv lassen.
5. Akzeptierte Einstellungen speichern
Das Tool installiert nicht automatisch einen erfolgreichen Kandidaten. Aktualisieren Sie nach der Überprüfung die lokalen Profile und bewahren Sie sie mit Kalibrierungs-, Modell-, Nutzlast-/Montagedetails und Validierungsprotokollen auf. Der folgende Export verwendet den Named-Pose-Controller aus der First-Motion-Anleitung. Aktualisieren Sie seine Profile auf die akzeptierten Werte. Um apply zu verwenden, fügen Sie zunächst diese Eigenschaft der obersten Ebene joints zu tools/poses/controller.local.json hinzu und passen Sie die IDs so an, dass sie mit dem physischen Arm übereinstimmen:
"joints": [
{"followerId": 1}, {"followerId": 2}, {"followerId": 3},
{"followerId": 4}, {"followerId": 5}, {"followerId": 6}
]
Dies ist ein Eigenschaftsfragment, keine vollständige JSON-Datei: Fügen Sie ein Komma zwischen ihm und der angrenzenden Eigenschaft ein. In ein neues Verzeichnis exportieren, ohne eine Verbindung zu Motoren herzustellen:
macOS / Linux
npm run tune -- export tools/poses/controller.local.json accepted-controller
Windows PowerShell
npm.cmd run tune -- export tools/poses/controller.local.json accepted-controller
Verwenden Sie ein Verzeichnis, das noch nicht existiert. Beim Export werden die Einstellungen nicht zertifiziert. Um den exportierten Controller ohne Wiedergabe anzuwenden, muss er joints für alle Follower enthalten. Dieser Befehl ändert die Steuerung und aktiviert das Halten:
macOS / Linux
npm run tune -- apply accepted-controller/controller.json
Windows PowerShell
npm.cmd run tune -- apply accepted-controller/controller.json
Durch einen Profilwechsel kann kurzzeitig Drehmoment freigesetzt werden. Die normale Wiedergabe wendet ihre eigene Konfiguration an und erfordert keinen separaten apply-Befehl.
Startseite der Dokumentation · Quellrevision: a995f77. Erweiterung 9.0.