本文へスキップ

付録B - 記録コード

記録データに含まれるすべてのコマンドとその詳細を網羅した最新リストを以下に示します。

コマンドデータ例
N#行番号N 1
N 2
N 3
t#録音時間(ミリ秒)t 1 - 記録データの1ms目
記録データの10~10ms後
記録データの20~20ms後
{ 0:
1: }
各時間間隔において、各フォロワーのすべてのデータはこれらの括弧内に示されます。
0: は1つのフォロワー、1: はもう1つのフォロワー(例:アームとグリッパー)を表します。
{ 0: X0.15 Y2.4
1: X0 }
This example shows follower 0 given just an X and Y coordinate and follower 1 given an X coordinate.
X#.#####X座標(メートル)X 0.523
X -0.0021
Y#.#####Y座標(メートル)Y 0.234
Y -0.00022
Z#.#####Z座標(メートル)Z 0.0024
Z -0.3400
rW rX rY rZクォータニオン - ロボットフランジに向かって外向きに伸びるベクトルrW 0.0498286 rX -0.032 rY 0.998 rZ -0.024
F#.#####直交座標系XYZ移動の送り速度F 0.0010804
F 0.0150
Fa#.#####方向転換時の送り速度(rW、rX、rY、rZ方向移動)Fa 0.2586200
Fa 1.0053328
J6[#,#,#,#,#,#]記録中の関節角度J6 [2.466 26.561 11.815 -3.983 46.007 1.453]
JV6[#,#,#,#,#,#]現在使用されていません - 将来的に使用予定
記録中の関節速度
JV 6[0.000 0.000 0.000 0.000 0.000 0.000]

​

送り速度 - 記録用の速度は1つ​

以下の録音は、直交座標系と方位角の送り速度を、1行目で一度設定し、5行目で再度設定する例です。
N1~N4のラインはすべて最初の送り速度で動作します。
N5~N6線は第2の送り速度で動作します。
送り速度は、その行の移動に対して有効になり、更新されるまで維持されます。

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

Z高さを保存​

この例では、他のコマンドを使用せずに、N4行目にZコマンドを1つだけ配置することで、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 - 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
}