Makro-Dateiformat
In diesem Abschnitt werden die aufgezeichneten .hrpr Wir sehen uns das Makro-Dateiformat genauer an.
aufgezeichnet .hrpr Wenn man die Datei öffnet, werden zunächst die Kopfzeilen angezeigt, gefolgt von den Bewegungsdaten, die nach Zeitabschnitten geordnet sind.
Der Header enthält die folgenden Schlüssel:
FORMAT_VERSION:.hrprGibt die Version des Dateiformats an.PROGRAM_NAME: Geben Sie den vollständigen Pfad an, unter dem die Datei gespeichert ist.\Wow/Trennzeichen werden durcheinander verwendet oder//Selbst wenn dies wiederholt wird, hat dies keinen Einfluss auf die Interpretation der Datei.DATE: Legt das Datum fest, an dem der Datensatz erstellt wurde.SAMPLE_RATE: Legen Sie die Aufzeichnungsfrequenz fest. Bei HARP erfolgt die Aufzeichnung mit **100 Abtastungen pro Sekunde (100 Hz)**.POSITION_LEADER: Als Positionsleser während der Aufzeichnung verwendet Inverse3 Identifiziert das Gerät.ORIENTATION_LEADER: Bei der Aufzeichnung als Richtungsanzeige verwendet VerseGrip oder Ruko Identifiziert das Gerät.FOLLOWERS: Listet die in den Aufzeichnungen enthaltenen Folgegeräte auf. Zum Beispielcg_0은 Kontrollgruppe 0entspricht, wobei der Wert in eckigen Klammern den Follower-Slot innerhalb der entsprechenden Steuerelementgruppe identifiziert.DESCRIPTION: Speichert eine frei formulierte Textbeschreibung, die mit dem Datensatz verknüpft ist.
Nach dem Header werden Bewegungsdaten im in der folgenden Tabelle beschriebenen Format gespeichert.
| Feld | Bedeutung | Beispiel |
|---|---|---|
| N# | Bildnummer | N1 N169 |
| t# | Zeit, angegeben als Unix-Zeitstempel in Millisekunden | t1788878409547 |
| {...} | Es wird ein Einzelbild gespeichert. Jede Zeile mit einem Follower endet mit einem Komma (,), und zur Wiedergabe der Datei ist mindestens ein vollständiger Block erforderlich. | {cg_0::Follower(0): ... cg_0::Follower(1): ...} |
| X Y Z | Werkzeugkoordinaten in Metern | X 0,1183887 Y -0,0375092 Z 0,1076392 |
| rW rX rY rZ | Werkzeugrichtung, dargestellt als Quaternion | rW 0,1575889 rX -0,160 rY 0,973 rZ -0,051 |
| F#.##### | Lineargeschwindigkeit (Vorschubgeschwindigkeit), Einheit m/s | F0.0010804 F0.0150 |
| Fis.##### | Winkelgeschwindigkeit (Vorschubgeschwindigkeit), Einheit rad/s | Fa0,2586200 Fa1,0053328 |
| J6[#,#,#,#,#,#] | Gelenkwinkel in Radiant | J6[0,403; 0,157; 1,000; -0,936; 0,214; 0,977] |
| JV6[#,#,#,#,#,#] | Gelenkgeschwindigkeit | JV6[0,000 0,000 0,000 0,000 0,000 0,000] |
Zeileninterpretationsverfahren
- Zeilen, in denen die Befehle X, Y und Z angegeben sind, bewegen den Roboter an die entsprechende Position in absoluten kartesischen Koordinaten.
- Die Koordinaten lauten Falls weggelassen wird, Der Roboter behält den aktuellen Wert der betreffenden Achse bei.
- Wird beispielsweise Xin einem Befehl weggelassen, werden bei der Wiedergabe nur die festgelegten Achsen wie Y und Zaktualisiert, während die aktuelle X-Position unverändert bleibt.
- Dieses Dateiformat wurde bewusst flexibel gestaltet, sodass jede Zeile nur die Achsen oder Werte enthalten kann, die geändert werden müssen.
- Bisher
.hrprBeim Bearbeiten von Dateien Speichern unterVerwenden Sie diese Funktion, um die Originaldatei zu erhalten, und erstellen Sie aus dem geänderten Makro eine separate Version.
Beispiel
Format
Das folgende Beispiel enthält die aufgezeichneten Daten, einschließlich der Kopfzeileninformationen und der aufgezeichneten Bewegungsbeispiele, .hrpr Hier sehen Sie einen Ausschnitt aus der Makrodatei:
(FORMAT_VERSION: 1)
(PROGRAM_NAME: C:\Users\demo\Documents\user\projects\demo\raw//2026-8-14_12-13-19.hrpr)
(DATE: 2026/09/14)
(SAMPLE_RATE: 100)
(POSITION_LEADER: 051D)
(ORIENTATION_LEADER: 1451)
(FOLLOWERS:
cg_0::Follower(0): Mecademic Industrial Robotics SERIAL (arm);
cg_0::Follower(1): Mecademic Industrial Robotics PARALLEL (end_effector);
)
(DESCRIPTION: a story of two machines)
N1 t1789402399210 {
cg_0::Follower(0): X0.1183887 Y0.0375092 Z0.1076392 rW0.1575889 rX-0.160 rY0.973 rZ-0.051 F0.0008606 Fa0.9414008 J6[0.403,0.157,1.000,-0.936,0.214,0.977] JV6[0.000,0.000,0.000,0.000,0.000,0.000] ,
cg_0::Follower(1): J1[4.800] ,
}
...
Sicherheit Z Höhe
Dieses Beispiel ist N4 Einzelnes Zeichen in einer Zeile Z-Achse Hier wird gezeigt, wie man den Roboter durch Hinzufügen eines Befehls an die angegebene Z-Position bewegt, ohne die anderen Achsen zu verändern.
Da die Werte der ausgelassenen Achsen beibehalten werden, wird in diesem Schritt nur die Z-Achse aktualisiert.
N1 t1 {
0: X0.184 Y0.004 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024 F0.00200 Fa0.005
}
N2 t10 {
0: X0.184 Y0.022 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024
}
N3 t20 {
0: X0.184 Y0.022 Z-0.052 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
N4 t31 {
0: Z0.600
}
N5 t41 {
0: X-0.005 Y0.022 Z-0.6 rW0.049 rX-0.032 rY0.998 rZ-0.024 F0.00010 Fa0.400
}
N6 t51 {
0: X-0.005 Y-0.054 Z0.000 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
XY-Verschiebung
Dieses Beispiel zeigt, wie man mithilfe der Befehle „X“ und „Y“ den Roboter so steuert, dass er sich ausschließlich entlang dieser beiden Achsen bewegt.
N5 In der Zeile werden nur die Werte der X- und Y-Achse aktualisiert. Alle nicht genannten Achsen behalten ihre aktuellen Werte bei.
N1 t1 {
0: X0.184 Y0.004 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024 F0.00200 Fa0.005
}
N2 t10 {
0: X0.184 Y0.022 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024
}
N3 t20 {
0: X0.184 Y0.022 Z-0.052 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
N4 t31 {
0: X0.184 Y0.022 Z-0.600 rW0.049 rX-0.032 rY0.998 rZ-0.024 F0.00010 Fa0.400
}
N5 t41 {
0: X-0.005 Y0.022
}
N6 t51 {
0: X-0.005 Y-0.054 Z0.000 rW0.049 rX-0.032 rY0.998 rZ-0.024
}
Makro-Optimierung
Das folgende Beispiel zeigt ein optimiertes Makro, das für jeden Befehl nur die Werte enthält, die geändert werden müssen.
- Die Ausrichtung des Roboters bleibt während der gesamten Sequenz unverändert.
- Der erste Befehl bewegt den Roboter mit der angegebenen Vorschubgeschwindigkeit in die vollständige Zielpose.
N2ist Y-AchseEs wird nur aktualisiert.N3undN4ist Z-AchseEs wird nur aktualisiert.N5ist X-AchseAktualisieren Sie es und ändern Sie die Bildwiederholrate.N6은 Y-Achseund Z-Achsewird vollständig aktualisiert.
Durch das Weglassen unveränderlicher Werte werden Makros übersichtlicher und lassen sich leichter lesen und bearbeiten.
N1 t1 {
0: X0.184 Y0.004 Z0.141 rW0.0498 rX-0.032 rY0.998 rZ-0.024 F0.00200 Fa0.005
}
N2 t10 {
0: Y0.022
}
N3 t20 {
0: Z-0.052
}
N4 t31 {
0: Z-0.600
}
N5 t41 {
0: X-0.005 F0.00010 Fa0.400
}
N6 t51 {
0: Y-0.054 Z0.000
}