Makro-Dateiformat
In diesem Abschnitt werden die aufgezeichneten .hrpr Ich werde nun näher auf das Makro-Dateiformat eingehen.
aufgezeichnet .hrpr Beim Öffnen der Datei werden zunächst die Kopfzeilenfelder als Liste angezeigt, gefolgt von den aufgezeichneten Bewegungsdaten, die nach Zeitschritten geordnet sind.
Der Header enthält die folgenden Schlüssel:
FORMAT_VERSION:.hrprGeben Sie die Version des Dateiformats an.PROGRAM_NAME: Geben Sie den vollständigen Pfad an, unter dem die Datei gespeichert wurde.\und/Trennzeichen, die sich vermischen, oder aufeinanderfolgende//hat keinen Einfluss auf die Interpretation der Datei.DATE: Geben Sie das Datum an, an dem der Datensatz erstellt wurde.SAMPLE_RATE: Hier wird die Aufzeichnungsfrequenz festgelegt. „HARP “ bedeutet 100 Abtastungen pro Sekunde (100 Hz) wird dort aufgezeichnet.POSITION_LEADER: Wurde während der Aufzeichnung als Positionsreferenz verwendet Inverse3 Das Gerät wird identifiziert.ORIENTATION_LEADER: Wurde während der Aufzeichnung als Vorbilder für die Körperhaltung verwendet VerseGrip oder Ruko Das Gerät wird identifiziert.FOLLOWERS: Zeigt eine Liste der in den Aufzeichnungen enthaltenen Folgegeräte an. Zum Beispiel:cg_0は Kontrollgruppe 0 bezieht sich auf, und die Werte in eckigen Klammern geben die Folger-Slots innerhalb dieser Steuerelementgruppe an.DESCRIPTION: Speichert beliebige Freitext-Erläuterungen, die mit dem Datensatz verknüpft sind.
Im Anschluss an den Header werden die aufgezeichneten Bewegungsdaten in dem in der folgenden Tabelle beschriebenen Format gespeichert.
| Feld | Bedeutung | Beispiel |
|---|---|---|
| N# | Rahmennummer | N1 N169 |
| t# | Die Uhrzeit als Unix-Zeitstempel in Millisekunden | t1788878409547 |
| {...} | Es wird 1 Frame gespeichert. Jede Folgerzeile endet mit einem . Zur Wiedergabe der Datei ist mindestens ein vollständiger Block erforderlich. | {cg_0::Follower(0): ... cg_0::Follower(1): ...} |
| X Y Z | Werkzeugpositionskoordinaten in Metern | X 0,1183887 Y -0,0375092 Z 0,1076392 |
| rW rX rY rZ | Die Lage des Werkzeugs, 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] |
Interpretation von Zeilen
- Zeilen, in denen die Befehle X,YundZ angegeben sind, bewirken, dass sich der Roboter an die entsprechende Position in absoluten kartesischen Koordinaten bewegt.
- Die Koordinaten lauten Auslassung In diesem Fall behält der Roboter den aktuellen Wert dieser Achse bei.
- Wenn beispielsweise das X im Befehl weggelassen wird, werden bei der Wiedergabe nur die angegebenen Achsen wie Y oder Z aktualisiert, während die aktuelle X-Position beibehalten wird.
- Dieses Dateiformat ist bewusst flexibel gestaltet, sodass jede Zeile nur die Achsen und Werte enthalten kann, bei denen Änderungen erforderlich sind.
- bestehende
.hrprWenn Sie eine Datei bearbeiten möchten,Speichern unter Bitte verwenden Sie diese Funktion, um die Originaldatei beizubehalten, und speichern Sie das geänderte Makro als separate Version.
Beispiel
Form
Im folgenden Beispiel wird eine bereits aufgezeichnete Datei angezeigt, die Kopfzeileninformationen und aufgezeichnete Bewegungsbeispiele enthält: .hrpr Hier ein Auszug 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] ,
}
...
Sichere Z-Höhe
In diesem Beispiel, Zeile N4 ein einziges Z-Achse Hier wird gezeigt, wie man einen Befehl hinzufügt, um den Roboter an eine bestimmte Z-Position zu bewegen, 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
In diesem Beispiel wird gezeigt, wie man durch die Kombination der BefehleX und Y den Roboter ausschließlich entlang dieser beiden Achsen bewegen kann.
Zeile N5 In diesem Fall 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
}
Optimierung von Makros
Im folgenden Beispiel werden optimierte Makros gezeigt, in denen nur die Werte enthalten sind, die geändert werden müssen.
- Während der gesamten Sequenz ändert sich die Lage des Roboters nicht.
- Der erste Befehl bewegt den Roboter mit der angegebenen Vorschubgeschwindigkeit in die vollständige Zielposition.
N2Also Y-Achse wird nur aktualisiert.N3undN4Also Z-Achse wird nur aktualisiert.N5Also X-Achse Aktualisieren Sie die Daten und ändern Sie die Übertragungsrate.N6Also Y-Achse und Z-Achse Beides wird aktualisiert.
Durch das Weglassen von Werten, die nicht geändert werden sollen, werden Makros kompakter, lesbarer und lassen sich leichter anpassen.
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
}