Zum Hauptinhalt springen

Makro-Dateiformat

Dieser Abschnitt bietet einen tieferen Einblick in die aufgezeichneten .hrpr Makro-Dateiformat.

Wenn Sie eine Aufzeichnung öffnen, .hrpr In dieser Datei sehen Sie eine Reihe von Kopfzeilenfeldern, gefolgt von den aufgezeichneten Bewegungsdaten, die nach Zeitschritten geordnet sind.

Der Header enthält die folgenden Schlüssel:

  • FORMAT_VERSION: Gibt die Version des .hrpr Dateiformat.
  • PROGRAM_NAME: Gibt den vollständigen Pfad an, unter dem die Datei gespeichert wurde. Gemischt \ und / Trennzeichen sowie wiederholte //, haben keinen Einfluss auf die Interpretation der Datei.
  • DATE: Gibt das Datum an, an dem die Aufzeichnung erstellt wurde.
  • SAMPLE_RATE: Legt die Aufzeichnungsfrequenz fest. „ HARP “ zeichnet mit einer Frequenz von 100 Abtastungen pro Sekunde (100 Hz).
  • POSITION_LEADER: Bezeichnet die Inverse3 Gerät, das während der Aufzeichnung als Positionsführer diente.
  • ORIENTATION_LEADER: Bezeichnet die VerseGrip oder Ruko Gerät, das während der Aufnahme als Orientierungshilfe dient.
  • FOLLOWERS: Listet die in der Aufzeichnung enthaltenen Folgegeräte auf. Zum Beispiel: cg_0 bezieht sich auf Kontrollgruppe 0, und der Wert in Klammern gibt den Follower-Slot innerhalb dieser Kontrollgruppe an.
  • DESCRIPTION: Speichert eine optionale Freitextbeschreibung, die mit der Aufzeichnung verknüpft ist.

Im Anschluss an den Header werden die aufgezeichneten Bewegungsdaten in dem in der folgenden Tabelle beschriebenen Format gespeichert.

FeldBedeutungBeispiel
N#BildnummerN1
N169
t#Zeit als Unix-Zeitstempel in Millisekundent1788878409547
{...}enthält ein Einzelbild. Jede Folgerzeile endet mit „.,“. Eine Datei benötigt mindestens einen vollständigen Block, um wiedergegeben werden zu können.{cg_0::Follower(0): ...
cg_0::Follower(1): ...}
X Y ZWerkzeugpositionskoordinate in MeternX 0,1183887 Y -0,0375092 Z 0,1076392
rW rX rY rZWerkzeugausrichtung als QuaternionrW 0,1575889 rX -0,160 rY 0,973 rZ -0,051
F#.#####Lineargeschwindigkeit (Vorschubgeschwindigkeit) in m/sF0.0010804
F0.0150
Fis.#####Winkelgeschwindigkeit (Vorschubgeschwindigkeit) in rad/sFa0,2586200
Fa1,0053328
J6[#,#,#,#,#,#]Gelenkwinkel in RadiantenJ6[0,403; 0,157; 1,000; -0,936; 0,214; 0,977]
JV6[#,#,#,#,#,#]GelenkgeschwindigkeitenJV6[0,000 0,000 0,000 0,000 0,000 0,000]

Wie Linien interpretiert werden​

  • Eine Zeile, in der die Befehle X, Y und Z angegeben sind, bewegt den Roboter an die entsprechende absolute kartesische Position.
  • Wenn eine Koordinate weggelassen, behält der Roboter seinen aktuellen Wert für diese Achse bei.
    • Wird beispielsweise „X“ in einem Befehl weggelassen, aktualisiert die Wiedergabe nur die angegebenen Achsen, wie z. B. Y und Z, während die aktuelle X-Position beibehalten wird.
  • Das Dateiformat ist bewusst flexibel gehalten, sodass jede Zeile nur die Achsen oder Werte enthalten kann, die geändert werden müssen.
  • Beim Bearbeiten eines bestehenden .hrpr Datei, 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 aufgezeichneten .hrpr Makrodatei, einschließlich der Kopfzeileninformationen und der aufgezeichneten Bewegungsbeispiele:

(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​

Dieses Beispiel zeigt, wie ein einzelnes Z-Achse Der Befehl kann in Zeile N4 um den Roboter auf eine bestimmte Z-Position zu bewegen, ohne die anderen Achsen zu verändern.

Da ausgelassene Achsenwerte 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 verschieben​

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.

In Zeile N5, werden nur die Werte der X- und Y-Achse aktualisiert. Alle nicht berücksichtigten 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
}

Ein Makro optimieren​

Das folgende Beispiel zeigt ein optimiertes Makro, in dem in jedem Befehl nur die Werte enthalten sind, die geändert werden müssen.

  • Die Ausrichtung des Roboters bleibt während der gesamten Abfolge unverändert.
  • Der erste Befehl bewegt den Roboter mit einer festgelegten Vorschubgeschwindigkeit in die vollständige Zielposition.
  • N2 aktualisiert nur die Y-Achse.
  • N3 und N4 Nur die Z-Achse.
  • N5 aktualisiert die X-Achse und passt die Vorschubgeschwindigkeiten an.
  • N6 aktualisiert sowohl die Y-Achse und Z-Achse.

Durch das Weglassen von Werten, die sich nicht ändern, bleibt das Makro kompakter und lässt sich leichter lesen und ändern.

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
}