マクロデータ形式
このセクションでは、記録されたデータの形式について、より詳細な概要を説明します。 .hrpr-マクロファイル。
録画したものを .hrpr-ファイルを開くと、一連のヘッダーフィールドが表示され、その後に時間ステップごとに分類された記録された移動データが続きます。
ヘッダーには以下のキーが含まれています:
FORMAT_VERSION: のバージョンは.hrpr- データ形式について。PROGRAM_NAME: ファイルが保存された完全なパスを指定します。区切り文字の混在\und/および繰り返しの//ファイルの解釈には影響しません。DATE: 記録が作成された日付を示します。SAMPLE_RATE: 記録周波数を指定します。HARP は、 1秒あたり100回のサンプリング(100 Hz) auf.POSITION_LEADER: 機器を識別する Inverse3、これは記録中に位置リーダーとして使用されたものです。ORIENTATION_LEADER: 機器を識別する ヴァースグリップ oder ルコ、これは録画中に位置確認用のリーダーとして使用されたものです。FOLLOWERS: 録画に含まれているフォロワー端末を一覧表示します。例えば、cg_0auf 対照群 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/s | F0.0010804 F0.0150 |
| Fa#.##### | 角速度(送り速度):rad/s | Fa0.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に対するコマンドを指定する 1 行のコードにより、ロボットは対応する絶対デカルト座標の位置へ移動します。
- ある座標が 省略 の場合、ロボットはその軸について現在の値を維持します。
- たとえば、コマンド内で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
}
マクロの最適化
次の例は、各コマンドに、変更が必要な値のみが含まれるように最適化されたマクロを示しています。
- シーケンス全体を通じて、ロボットの向きは変化しません。
- 最初のコマンドは、指定された送り速度でロボットを完全な目標姿勢まで移動させます。
N2のみを更新します Y軸.N3undN4更新されるのは 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
}