Format der Makrodatei
Dieser Abschnitt bietet einen detaillierteren Überblick über das Makro-Dateiformat .hrpr gespeichert.
Wenn Sie eine Datei öffnen .hrpr Nach der Erfassung sehen Sie eine Reihe von Kopfzeilenfeldern, gefolgt von den erfassten Bewegungsdaten, die nach Zeitschritten geordnet sind.
Der Kopf enthält die folgenden Schlüssel:
FORMAT_VERSION: Geben Sie die Version des Dateiformats an.hrpr.PROGRAM_NAME: Geben Sie den vollständigen Pfad an, unter dem die Datei gespeichert wurde. Die Trennzeichen\et/Mélangés sowie die//Wiederholungen haben keinen Einfluss auf die Interpretation der Datei.DATE: Geben Sie das Erstellungsdatum des Datensatzes an.SAMPLE_RATE: Geben Sie die Aufnahmegeschwindigkeit an. „ HARP “ nimmt mit einer Geschwindigkeit von 100 Abtastungen pro Sekunde (100 Hz).POSITION_LEADER: Gerät identifizieren Inverse3 wurde während der Aufnahme als Positionsführer eingesetzt.ORIENTATION_LEADER: Gerät identifizieren VerseGrip ou Ruko wurde während der Aufnahme als Orientierungshilfe verwendet.FOLLOWERS: Listet die in der Aufzeichnung enthaltenen Folgegeräte auf. Zum Beispiel:cg_0bezeichnet das Kontrollgruppe 0, und der Wert in eckigen Klammern gibt die Position des Nachführers innerhalb dieser Steuergruppe an.DESCRIPTION: Enthält eine optionale Freitextbeschreibung, die mit dem Datensatz verknüpft ist.
Nach dem Kopf werden die erfassten Bewegungsdaten in dem in der folgenden Tabelle beschriebenen Format gespeichert.
| Champ | Bedeutung | Beispiel |
|---|---|---|
| N# | Rahmennummer | N1 N169 |
| t# | Zeit im Format eines Unix-Zeitstempels in Millisekunden | t1788878409547 |
| {...} | enthält ein Raster. Jede Zeile des Tracers endet mit „,“. Eine Datei muss mindestens einen vollständigen Block enthalten, damit sie gelesen werden kann. | {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 | Ausrichtung des Werkzeugs als Quaternion | rW 0,1575889 rX -0,160 rY 0,973 rZ -0,051 |
| F#.##### | Lineargeschwindigkeit (Vorschub) in m/s | F0.0010804 F0.0150 |
| Fis.##### | Winkelgeschwindigkeit (Vorschub), in rad/s | Fa0,2586200 Fa1,0053328 |
| J6[#,#,#,#,#,#] | Gelenkwinkel in Radiant | J6[0,403; 0,157; 1,000; -0,936; 0,214; 0,977] |
| JV6[#,#,#,#,#,#] | Gelenkbeweglichkeiten | JV6[0,000 0,000 0,000 0,000 0,000 0,000] |
Deutung der Linien
- Eine Zeile, in der die X-, Y- und Z-Werte angegeben sind, bewegt den Roboter an die entsprechende absolute kartesische Position.
- Wenn eine Koordinate Versprechen, behält der Roboter seinen aktuellen Wert für diese Achse bei.
- Wenn beispielsweise X in einem Befehl weggelassen wird, werden bei der Ausführung nur die angegebenen Achsen, wie Y und Z, aktualisiert, während die aktuelle X-Position beibehalten wird.
- Das Dateiformat ist bewusst flexibel gehalten: Jede Zeile kann nur die Achsen oder Werte enthalten, die geändert werden sollen.
- Wenn Sie eine Datei bearbeiten
.hrprfalls vorhanden, verwenden Sie Speichern unter um die Originaldatei zu erhalten und eine separate Version Ihres geänderten Makros zu erstellen.
Beispiele
Format
Das folgende Beispiel zeigt einen Ausschnitt aus einer Makrodatei .hrpr aufgezeichnet, einschließlich der Kopfdaten und der aufgezeichneten Bewegungsmuster:
(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] ,
}
...
Sicherheitshöhe Z
Dieses Beispiel zeigt, wie ein einziger Befehl vonAchse Z kann in die Zeile eingefügt werden N4 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
Dieses Beispiel zeigt, wie die Befehle X und Y gemeinsam verwendet werden können, um den Roboter ausschließlich entlang dieser beiden Achsen zu bewegen.
Zeilenweise N5, werden nur die Werte der X- und Y-Achse aktualisiert. Alle nicht berücksichtigten Achsen behalten ihren aktuellen Wert 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 eines Makros
Das folgende Beispiel zeigt ein optimiertes Makro, bei dem in jedem Befehl nur die Werte enthalten sind, die geändert werden sollen.
- Die Ausrichtung des Roboters bleibt während der gesamten Sequenz unverändert.
- Der erste Befehl bewegt den Roboter mit einer vorgegebenen Vorschubgeschwindigkeit in die vollständige Zielposition.
N2Es wird nur dasY-Achse.N3etN4aktualisieren nur dieAchse Z.N5hat dieAchse X und passt die Vorschubgeschwindigkeiten an.N6aktualisiert sowohl dieY-Achse und dasAchse Z.
Indem man die Werte weglässt, die sich nicht ändern, bleibt das Makro übersichtlicher und lässt sich leichter lesen oder 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
}