Aller au contenu principal

Format du fichier de macro

Cette section présente une vue d'ensemble plus détaillée du format de fichier des macros .hrpr enregistré.

Lorsque vous ouvrez un fichier .hrpr Une fois l'enregistrement effectué, vous voyez une série de champs d'en-tête suivis des données de mouvement enregistrées, classées par intervalle de temps.

L'en-tête contient les clés suivantes :

  • FORMAT_VERSION : Indique la version du format de fichier .hrpr.
  • PROGRAM_NAME : Indiquez le chemin d'accès complet où le fichier a été enregistré. Les séparateurs \ et / mélangés, ainsi que les // même s'ils sont répétés, ils n'ont aucune incidence sur l'interprétation du fichier.
  • DATE : Indique la date de création de l'enregistrement.
  • SAMPLE_RATE : Indique la fréquence d'enregistrement. HARP enregistre à 100 échantillons par seconde (100 Hz).
  • POSITION_LEADER : Identifie l'appareil Inverse3 utilisé comme meneur de position pendant l'enregistrement.
  • ORIENTATION_LEADER : Identifie l'appareil VerseGrip ou Ruko utilisé comme repère d'orientation pendant l'enregistrement.
  • FOLLOWERS : Énumère les appareils suiveurs inclus dans l'enregistrement. Par exemple, cg_0 désigne le groupe témoin 0, et la valeur entre crochets indique la position du suiveur au sein de ce groupe de contrôle.
  • DESCRIPTION : Contient une description facultative sous forme de texte libre associée à l'enregistrement.

Après l'en-tête, les données de mouvement enregistrées sont stockées selon le format décrit dans le tableau ci-dessous.

ChampSignificationExemple
N#Numéro de trameN1
N169
t#Heure sous forme d'horodatage Unix en millisecondest1788878409547
{...}contient une trame. Chaque ligne de suiveur se termine par ,. Un fichier doit contenir au moins un bloc complet pour pouvoir être lu.{cg_0::Follower(0): ...
cg_0::Follower(1): ...}
X Y ZCoordonnées de position de l'outil en mètresX 0,1183887 Y -0,0375092 Z 0,1076392
rW rX rY rZOrientation de l'outil sous forme de quaternionrW 0,1575889 rX -0,160 rY 0,973 rZ -0,051
Fa#.#####Vitesse linéaire (avance), en m/sF0.0010804
F0.0150
Fa#.#####Vitesse angulaire (avance), en rad/sFa0,2586200
Fa1,0053328
J6[#,#,#,#,#,#]Angles articulaires en radiansJ6[0,403 ; 0,157 ; 1,000 ; -0,936 ; 0,214 ; 0,977]
JV6[#,#,#,#,#,#]Vitesses articulairesJV6[0,000 0,000 0,000 0,000 0,000 0,000]

Interprétation des lignes​

  • Une ligne indiquant les coordonnées X, Y et Z déplace le robot vers la position cartésienne absolue correspondante.
  • Si une coordonnée est promesse, le robot conserve sa valeur actuelle pour cet axe.
    • Par exemple, si X est omis dans une commande, la lecture ne met à jour que les axes indiqués, tels que Y et Z, tout en conservant la position actuelle de l'axe X.
  • Le format de fichier est volontairement flexible : chaque ligne peut ne contenir que les axes ou les valeurs qui doivent être modifiés.
  • Lorsque vous modifiez un fichier .hrpr existant, utilisez Enregistrer sous pour conserver le fichier d'origine et créer une version distincte de votre macro modifiée.

Exemples​

Format​

L'exemple suivant présente un extrait d'un fichier de macro .hrpr enregistré, comprenant les informations d'en-tête et les échantillons de mouvement enregistrés :

(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] ,
}
...

Hauteur Z de sécurité​

Cet exemple montre comment une seule commande d'axe Z peut être ajoutée à la ligne N4 pour déplacer le robot à une position Z précise sans modifier les autres axes.

Comme les valeurs des axes omis sont conservées, seul l'axe Z est mis à jour lors de cette étape.

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
}

Déplacement XY​

Cet exemple montre comment les commandes X et Y peuvent être utilisées conjointement pour déplacer le robot uniquement selon ces deux axes.

À la ligne N5, seules les valeurs des axes X et Y sont mises à jour. Tous les axes non pris en compte conservent leur valeur actuelle.

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
}

Optimisation d'une macro​

L'exemple suivant présente une macro optimisée dans laquelle seules les valeurs susceptibles de changer sont incluses dans chaque commande.

  • L'orientation du robot reste inchangée tout au long de la séquence.
  • La première commande déplace le robot vers la position cible finale à une vitesse d'avance spécifiée.
  • N2 on ne met à jour que l'axe Y.
  • N3 et N4 ne mettent à jour que l'axe Z.
  • N5 a mis à jour leaxe X et modifie les vitesses d'avance.
  • N6 met à jour à la fois l'axe Y et l'axe Z.

En omettant les valeurs qui ne changent pas, la macro reste plus concise et plus facile à lire ou à modifier.

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
}