跳转至主要内容

宏数据格式

本节对录制的文件格式进行了更详细的概述 .hrpr-宏文件。

如果您有一段录制的 .hrpr-打开文件后,您会看到一系列标题字段,后面是按时间步长分类的记录运动数据。

页眉包含以下键:

  • FORMAT_VERSION: 是否提供了该版本的 .hrpr- 日期格式。
  • PROGRAM_NAME: 指定文件保存时的完整路径。混合分隔符 \ und / 以及反复的 // 不会影响对该文件的解释。
  • DATE: 表示该记录的创建日期。
  • SAMPLE_RATE: 指定采样频率。HARP 的采样频率为 每秒100个采样值(100 Hz) auf.
  • POSITION_LEADER: 标识该设备 Inverse3,该设备在录制过程中被用作定位引导器。
  • ORIENTATION_LEADER: 标识该设备 VerseGrip oder简体中文(大陆) Ruko,该设备在录制过程中被用作导航引导器。
  • FOLLOWERS: 列出了记录中包含的从属设备。例如, cg_0 auf简体中文(大陆) 对照组 0,而方括号中的数值表示该追随者在该控制组中的排名。
  • DESCRIPTION: 保存该记录的可选自由文本描述。

在标题行之后,记录的运动数据将按照下表所述的格式进行存储。

费尔德含义示例
N#车架号N1
N169
t#作为 Unix 时间戳的 Zeit(单位为毫秒)t1788878409547
{...}包含一个帧。每行跟随指令以 , 结尾。要播放一个文件,至少需要一个完整的块。{cg_0::Follower(0): ...
cg_0::Follower(1): ...}
X Y Z刀具位置坐标(单位:米)X0.1183887 Y-0.0375092 Z0.1076392
rW rX rY rZ作为四元数的工具坐标系rW0.1575889 rX-0.160 rY0.973 rZ-0.051
F#.#####线速度(进给速度)单位为 m/sF0.0010804
F0.0150
Fa#.#####角速度(进给速度)单位为 rad/sFa0.2586200
Fa1.0053328
J6[#,#,#,#,#,#,#]Radiant 中的关节角度J6[0.403,0.157,1.000,-0.936,0.214,0.977]
JV6[#,#,#,#,#,#,#]关节速度JV6[0.000 0.000 0.000 0.000 0.000 0.000]

行是如何被解析的​

  • 一行指定X、Y和Z坐标值的指令,会将机器人移动到相应的绝对笛卡尔坐标位置。
  • 如果一个坐标 省略 如果未进行更改,机器人将保持该轴的当前值不变。
    • 例如,如果在命令中省略了 X,则播放操作只会更新指定的轴(例如Y和Z),并保持当前的 X 位置不变。
  • 该文件格式在设计上特意采用了容错机制:每行只需包含必须更改的坐标轴或数值即可。
  • 如果您有一个现有的 .hrpr-要编辑文件,请使用 另存为,以便保留原始文件并创建您修改后的宏的独立版本。

示例​

格式​

以下示例展示了一段录制内容的片段 .hrpr-宏文件,包括头信息和记录的运动采样值:

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

安全的Z高度​

此示例展示了如何在第 N4 一个 Z轴-可以添加该命令,使机器人移动到指定的Z轴位置,同时不改变其他轴的位置。

由于省略的轴值将被保留,因此在此步骤中仅更新Z轴。

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
}

XY法​

此示例演示了如何结合使用X 和Y 命令,使机器人仅沿这两个轴移动。

在行中 N5 仅更新X轴和Y轴的数值。所有未涉及的轴将保持其当前数值。

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
}

优化一个宏​

以下示例展示了一个经过优化的宏,其中每个命令中仅包含需要更改的值。

  • 在整个序列中,机器人的姿态保持不变。
  • 第一个指令会以指定的进给速度将机器人移动到完全的目标姿势。
  • N2 仅更新 Y轴.
  • N3 und N4 仅更新 Z轴.
  • N5 更新 X轴 并调整进给速度。
  • N6 同时更新了 Y轴 以及 Z轴.

通过省略那些不会发生变化的值,宏的代码会更加简洁,也更容易阅读和编辑。

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
}