メインコンテンツへスキップ

ファイル形式

このセクションでは、録画済みの .hrpr ファイル形式。

録画済みのものを開く .hrpr ファイルを開くと、一連のヘッダーフィールドが表示され、その後に時間ステップごとに整理された記録済みの運動データが続きます。

ヘッダーには以下のキーが含まれます:

  • FORMAT_VERSION:指定 .hrpr ファイル形式のバージョン。
  • PROGRAM_NAME:指定したファイルを保存する際の完全なパス。混用 \ 和 / 区切り文字および重複する // いずれもファイルの解析には影響しません。
  • DATE:録画の作成日を指定します。
  • SAMPLE_RATE:録画頻度を指定します。HARP で 1秒あたり100サンプル(100 Hz) 録画を開始します。
  • POSITION_LEADER:録画期間中、位置情報のマスター端末として使用される Inverse3 設備。
  • ORIENTATION_LEADER:録画中に姿勢のマスター端末として使用される ヴァースグリップ あるいは ルコ 設備。
  • FOLLOWERS:録画に含まれる端末を一覧表示します。例えば、cg_0 指 対照群 0,角括弧内の数値は、その制御グループ内のスレーブスロット位置を示しています。
  • DESCRIPTION:保存および録画に関する任意の自由記述を入力してください。

頭部を通過した後、記録された運動データは、下表に示す形式で保存されます。

フィールド意味例
N#フレーム番号N1
N169
t#ミリ秒単位のUnixタイムスタンプt1788878409547
{...}1フレーム分のデータが含まれています。各データ行は , で終わります。再生するには、ファイルに少なくとも1つの完全なデータブロックが必要です。{cg_0::Follower(0): ...
cg_0::Follower(1): ...}
X Y Z工具の位置座標(単位:メートル)X 0.1183887 Y -0.0375092 Z 0.1076392
rW rX rY rZ四元数で表された機体の姿勢rW 0.1575889 rX -0.160 rY 0.973 rZ -0.051
F#.#####線速度(送り速度)、単位は m/sF0.0010804
F0.0150
Fa#.#####角速度(送り速度)、単位は rad/sFa0.2586200
Fa1.0053328
J6[#,#,#,#,#,#]ラジアンで表される関節の角度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 コマンドを組み合わせて使用し、ロボットをこれら 2 つの軸に沿ってのみ移動させる方法を示しています。

第 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
}

マクロの最適化​

以下の例は、最適化されたマクロを示しており、各命令には変更が必要な数値のみが含まれています。

  • シーケンス全体を通じて、ロボットの姿勢は変わらない。
  • 第1条:指定された送り速度を用いて、ロボットを目標の位置・姿勢まで移動させる。
  • N2 更新のみ Y軸。
  • N3 和 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
}