Aller au contenu principal

Format de fichier Makro

Cette section offre un aperçu plus détaillé du format des fichiers enregistrés .hrpr-Fichier macro.

Si vous avez un enregistrement .hrpr- Lorsque vous ouvrez le fichier, vous voyez une série de champs d'en-tête, suivis des données de mouvement enregistrées, classées par intervalles de temps.

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

  • FORMAT_VERSION: Indique-t-elle la version du .hrpr- Formats de fichiers an.
  • PROGRAM_NAME: Indique le chemin d'accès complet sous lequel le fichier a été enregistré. Séparateurs mixtes \ et / ainsi que répétées // n'ont aucune incidence sur l'interprétation du fichier.
  • DATE: Indique la date à laquelle l'enregistrement a été créé.
  • SAMPLE_RATE: Indique la fréquence d'enregistrement. HARP enregistre à 100 échantillons par seconde (100 Hz) auf.
  • POSITION_LEADER: Identifie l'appareil Inverse3, qui a servi de repère de position pendant l'enregistrement.
  • ORIENTATION_LEADER: Identifie l'appareil VerseGrip ou Ruko, qui a servi de repère pendant l'enregistrement.
  • FOLLOWERS: Répertorie les appareils connectés figurant dans l'enregistrement. Par exemple, cela fait référence à cg_0 auf Groupe témoin 0, et la valeur entre crochets indique la position de l'abonné au sein de ce groupe de contrôle.
  • DESCRIPTION: Enregistre une description libre facultative de l'enregistrement.

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

FeldSignificationExemple
N#Numéro de châssisN1
N169
t#Le temps exprimé sous forme d'horodatage Unix en millisecondest1788878409547
{...}contient un cadre. Chaque ligne de suivi se termine par « , ». Un fichier doit comporter au moins un bloc complet pour pouvoir être lu.{cg_0::Follower(0): ...
cg_0::Follower(1): ...}
X Y ZCoordonnées de la 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 (vitesse d'avance) en m/sF0.0010804
F0.0150
Fa#.#####Vitesse angulaire (vitesse d'avance) en rad/sFa0,2586200
Fa1,0053328
J6[#,#,#,#,#,#]Angle d'articulation dans RadiantJ6[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]

Voici comment les lignes sont interprétées​

  • Une ligne contenant des commandes pour X, Y et Z déplace le robot vers la position cartésienne absolue correspondante.
  • Lorsqu'une coordonnée omise Si c'est le cas, le robot conserve la valeur actuelle pour cet axe.
    • Si, par exemple, la valeur X est omise dans une commande, la lecture ne met à jour que les axes spécifiés, tels que Y et Z, et conserve la position X actuelle.
  • Le format de fichier a été conçu de manière délibérément souple : chaque ligne ne doit contenir que les axes ou les valeurs qui doivent être modifiés.
  • Si vous souhaitez modifier une .hrpr- Pour modifier le fichier, utilisez Enregistrer sous, afin de conserver le fichier d'origine et de créer une version distincte de votre macro modifiée.

Exemples​

Format​

L'exemple suivant montre un extrait d'un enregistrement .hrpr- Fichier macro, comprenant les informations d'en-tête et les données d'enregistrement des mouvements :

(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, à la ligne N4 un seul Axes Z-Une commande peut être ajoutée pour déplacer le robot vers une position Z définie, sans modifier les autres axes.

Étant donné que les valeurs des axes omises sont conservées, seule 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
}

Procédé XY​

Cet exemple montre comment utiliser conjointement les commandes X et Y pour déplacer le robot uniquement le long de ces deux axes.

En ligne N5 Seules les valeurs des axes X et Y sont mises à jour. Tous les axes non pris en compte conservent leurs valeurs actuelles.

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
}

Optimiser une macro​

L'exemple suivant présente une macro optimisée dans laquelle chaque commande ne contient que les valeurs qui doivent être modifiées.

  • 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 à la vitesse d'avance indiquée.
  • N2 met à jour uniquement les Axe Y.
  • N3 et N4 ne mettent à jour que les Axe Z.
  • N5 met à jour la Axe X et modifie les vitesses d'avance.
  • N6 met à jour à la fois la Axe Y ainsi que la Axe Z.

En omettant les valeurs qui ne changent pas, la macro reste plus concise et plus facile à lire et à 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
}