メインコンテンツへ移動

マクロファイルの形式

このセクションでは、マクロのファイル形式について、より詳細な概要を説明します。 .hrpr 登録済み。

ファイルを開くときは .hrpr 登録すると、一連のヘッダー欄が表示され、その後に時間単位ごとに整理された取引データが表示されます。

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

  • FORMAT_VERSION : ファイル形式のバージョンを指定してください .hrpr.
  • PROGRAM_NAME : ファイルが保存された完全なパスを指定してください。区切り文字 \ et / メランジェ、および // 繰り返し記述されていても、ファイルの解釈には影響しません。
  • DATE : レコードの作成日を入力してください。
  • SAMPLE_RATE : 録音間隔を指定してください。HARP は、 1秒あたり100サンプル(100 Hz).
  • POSITION_LEADER : デバイスを識別する Inverse3 収録中はポイントガードとして起用された。
  • ORIENTATION_LEADER : デバイスを識別する ヴァースグリップ ou ルコ 収録中に誘導役として使用された。
  • FOLLOWERS : レコードに含まれる追跡対象デバイスを列挙します。例えば、 cg_0 は、以下のことを指す 対照群 0、また、角括弧内の値は、その制御グループ内におけるフォロワーの位置を示しています。
  • DESCRIPTION : レコードに関連付けられた、任意の自由形式の説明が含まれています。

ヘッダーの後に、記録された取引データは、以下の表に記載されている形式に従って格納されます。

チャンピオン意味例
N#フレーム番号N1
N169
t#Unixタイムスタンプ形式(ミリ秒単位)での時刻t1788878409547
{...}フレームが含まれています。各トラッカーの行は「,」で終わります。ファイルが読み込まれるには、少なくとも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の座標を指定する行は、ロボットを対応する絶対デカルト座標の位置へ移動させます。
  • ある座標が omise, ロボットはその軸について現在の値を維持します。
    • たとえば、コマンドでX が省略された場合、読み取り処理では現在の X 位置を維持したまま、YやZ といった指定された軸のみが更新されます。
  • ファイル形式は意図的に柔軟に設計されています。各行には、変更が必要な軸または値のみを記載すればよいのです。
  • ファイルを変更するとき .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高​

この例は、1つのコマンドでZ軸 行に追加できます N4 他の軸の位置を変えずに、ロボットを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
}

マクロの最適化​

次の例は、変更が必要な値のみが各コマンドに含まれるように最適化されたマクロを示しています。

  • このシーケンス全体を通じて、ロボットの方向は変わりません。
  • 最初のコマンドにより、ロボットは指定された送り速度で目標の完全な姿勢まで移動します。
  • N2 更新されるのは、Y軸.
  • N3 et 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
}