Format de fichier Macro
Cette section propose un aperçu plus détaillé des données enregistrées .hrpr format de fichier macro.
Lorsque vous ouvrez un fichier enregistré .hrpr Dans ce fichier, vous verrez 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.hrprformat de fichier.PROGRAM_NAME: Indique le chemin d'accès complet où le fichier a été enregistré. Mixte\et/les séparateurs, ainsi que les répétitions//, n'ont aucune incidence sur l'interprétation des fichiers.DATE: Indique la date à laquelle l'enregistrement a été créé.SAMPLE_RATE: Définit la fréquence d'enregistrement. « HARP » enregistre à 100 échantillons par seconde (100 Hz).POSITION_LEADER: Identifie le Inverse3 appareil utilisé comme référence de position pendant l'enregistrement.ORIENTATION_LEADER: Identifie le VerseGrip ou Ruko appareil servant de repère d'orientation pendant l'enregistrement.FOLLOWERS: Affiche la liste des appareils connectés inclus dans l'enregistrement. Par exemple,cg_0fait référence à Groupe témoin 0, et la valeur entre parenthèses identifie l'emplacement du suiveur au sein de ce groupe de contrôle.DESCRIPTION: Permet de stocker une description libre facultative 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.
| Champ d'application | Signification | Exemple |
|---|---|---|
| N# | Numéro de châssis | N1 N169 |
| t# | L'heure sous forme d'horodatage Unix en millisecondes | t1788878409547 |
| {...} | contient une image. 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[#,#,#,#,#,#] | Angles articulaires en radians | 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] |
Comment interpréter les lignes
- Une ligne contenant les commandes X, Y et Z déplace le robot vers la position cartésienne absolue correspondante.
- Si une coordonnée est omise, le robot conserve la valeur actuelle de cet axe.
- Par exemple, si X est omis dans une commande, la lecture ne met à jour que les axes spécifiés, tels que Y et Z, tout en conservant la position actuelle de X.
- Le format du fichier est volontairement souple, ce qui permet à chaque ligne de ne contenir que les axes ou les valeurs à modifier.
- Lors de la modification d'un
.hrprfichier, 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 montre un extrait d'un enregistrement .hrpr fichier macro, comprenant les informations d'en-tête et les échantillons de mouvements 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 un seul axe Z La commande peut être ajoutée à la ligne N4 pour déplacer le robot vers une position Z spécifiée sans modifier les autres axes.
Les valeurs des axes omises étant conservées, seul l'axe Z est mis à jour au cours 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éplacer XY
Cet exemple montre comment les commandes X et Y peuvent être utilisées conjointement pour déplacer le robot uniquement le long de 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 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
}
Optimisation d'une macro
L'exemple suivant présente une macro optimisée dans laquelle seules les valeurs devant être modifiées 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 jusqu'à la position cible complète en utilisant une vitesse d'avance spécifiée.
N2met à jour uniquement le axe des y.N3etN4mettre à jour uniquement le axe Z.N5met à jour le Axe X et modifie les vitesses d'avance.N6met à jour à la fois le axe des y et 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
}