Aller directement au corps du texte

Format de fichier macro

Dans cette section, les données enregistrées .hrpr Nous allons examiner plus en détail le format des fichiers macro.

enregistré .hrpr Lorsque l'on ouvre le fichier, les champs d'en-tête s'affichent en premier, suivis des données d'enregistrement de mouvement classées par intervalle de temps.

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

  • FORMAT_VERSION: .hrpr Spécifie la version du format de fichier.
  • PROGRAM_NAME: Indiquez le chemin d'accès complet du fichier. \Wa / lorsque les séparateurs sont utilisés de manière indifférenciée ou //Même si cela se répète, cela n'affecte pas l'interprétation du fichier.
  • DATE: Permet de spécifier la date de création de l'enregistrement.
  • SAMPLE_RATE: Définit la fréquence d'enregistrement. HARP enregistre à **100 échantillons par seconde (100 Hz)**.
  • POSITION_LEADER: utilisé comme lecteur de position pendant l'enregistrement Inverse3 Identifie l'appareil.
  • ORIENTATION_LEADER: utilisé comme repère de direction pendant l'enregistrement VerseGrip ou bien Ruko Identifie l'appareil.
  • FOLLOWERS: Répertorie les appareils suiveurs inclus dans l'enregistrement. Par exemple : cg_0은 Groupe témoin 0et la valeur entre crochets identifie l'emplacement de l'abonné au sein du groupe de contrôles correspondant.
  • DESCRIPTION: Enregistre une description sous forme de texte libre, qui est une option associée à l'enregistrement.

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

ChampSignificationExemple
N#Numéro de trameN1
N169
t#Heure exprimée sous forme d'horodatage Unix en millisecondest1788878409547
{...}Contient une image. Chaque ligne de suivi se termine par une virgule (,), et au moins un bloc complet est nécessaire pour lire le fichier.{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 exprimée en quaternionsrW 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), unité : rad/sFa0,2586200
Fa1,0053328
J6[#,#,#,#,#,#]Angles articulaires en radiansJ6[0,403 ; 0,157 ; 1,000 ; -0,936 ; 0,214 ; 0,977]
JV6[#,#,#,#,#,#]Vitesse articulaireJV6[0,000 0,000 0,000 0,000 0,000 0,000]

Méthode d'interprétation ligne par ligne​

  • Les lignes contenant les commandes X, Y et Z font se déplacer le robot vers la position correspondante en coordonnées cartésiennes absolues.
  • Les coordonnées sont Si on l'omet, Le robot maintient la valeur actuelle de cet axe.
    • Par exemple, si la valeur Xest omise dans la commande, seules les coordonnées des axes spécifiés ( comme Y et Z) sont mises à jour lors de la lecture, tandis que la position actuelle de l'axe X reste inchangée.
  • Ce format de fichier a été conçu de manière délibérément flexible, de sorte que chaque ligne ne puisse contenir que les axes ou les valeurs devant être modifiés.
  • Existant .hrpr Lorsque vous modifiez un fichier, Enregistrer sousUtilisez cette fonction pour conserver le fichier d'origine et créer une version distincte de la macro modifiée.

Exemple​

Format​

L'exemple suivant présente les données enregistrées, y compris les informations d'en-tête et l'échantillon de mouvement enregistré, .hrpr Voici un extrait du fichier de macro :

(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 de sécurité Z​

Cet exemple est N4 Un seul par ligne Axe Z Cette commande montre comment déplacer le robot vers une position Z spécifiée sans modifier les autres axes.

Les valeurs des axes omis étant conservées, seule l'axe Z est mis à jour à 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 utiliser conjointement les commandes X et Y pour faire se déplacer le robot uniquement le long de ces deux axes.

N5 Dans la ligne, seules les valeurs des axes X et Y sont mises à jour. Tous les axes omis 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 des macros​

L'exemple suivant présente une macro optimisée qui ne contient que les valeurs devant être modifiées 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 pose cible complète en utilisant la vitesse d'avance spécifiée.
  • N2est Axe YJe ne mets à jour que cela.
  • N3et N4est Axe ZJe ne mets à jour que cela.
  • N5est Axe XMettre à jour et modifier la fréquence d'actualisation.
  • N6은 Axe Yet Axe Zmet à jour tous les éléments.

En omettant les valeurs qui ne changent pas, la macro devient 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
}