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_0auf 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.
| Feld | Signification | Exemple |
|---|---|---|
| N# | Numéro de châssis | N1 N169 |
| t# | Le temps exprimé sous forme d'horodatage Unix en millisecondes | t1788878409547 |
| {...} | 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 Z | Coordonnées de la position de l'outil en mètres | X 0,1183887 Y -0,0375092 Z 0,1076392 |
| rW rX rY rZ | Orientation de l'outil sous forme de quaternion | rW 0,1575889 rX -0,160 rY 0,973 rZ -0,051 |
| Fa#.##### | Vitesse linéaire (vitesse d'avance) en m/s | F0.0010804 F0.0150 |
| Fa#.##### | Vitesse angulaire (vitesse d'avance) en rad/s | Fa0,2586200 Fa1,0053328 |
| J6[#,#,#,#,#,#] | Angle d'articulation dans Radiant | J6[0,403 ; 0,157 ; 1,000 ; -0,936 ; 0,214 ; 0,977] |
| JV6[#,#,#,#,#,#] | Vitesses articulaires | JV6[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.
N2met à jour uniquement les Axe Y.N3etN4ne mettent à jour que les Axe Z.N5met à jour la Axe X et modifie les vitesses d'avance.N6met à 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
}