[robot]_algo.json ファイル属性
[robot]_algo.json はロボット設定ファイルであり、ロボットのプロパティの情報が記載されており、ロボットの種類や各リンクの DH パラメータ、各関節の運動の上・下限、各関節の初期位置、各関節の回転方向などを決めます。
以下は [robot]_algo.json ファイルのコードの一部です。
{
"algo_type": "SphericalWrist_SixAxis",
#DH parameters [meter]
"dh": [ A, B, C, D, E, F ],
"dhPassive": [ A1X, A1Z, B0X, B0Z, B2X, B2Z ],
#joint limits [degree]
"min_limits": [ J1 min, J2 min, J3 min, J4 min, J5 min, J6 min ],
"max_limits": [ J1 max, J2 max, J3 max, J4 max, J5 max, J6 max ],
"link3_dynamic_limits": [Min, Max],
#joint positions at standard pose [degree]
"mastering_joints": [ J1, J2, J3, J4, J5, J6 ],
#joint orientations [0/1]
"axis_flip": "J1J2J3J4J5J6",
#robot base location [meter,meter,meter,degree,degree,degree]. If robot has not been moved, robot base frame equals to World frame.
"robot_frame_in_robot_base_frame": [ x, y, z, rx, ry, rz ],
#robot flange frame orientation [x/y/z]
"flange_frame_orientation": "z"
}
[robot]_algo.json ファイルの中身
ロボット構造
パラメータ |
algo_type |
例 |
"algo_type": "SphericalWrist_SixAxis" |
説明 |
ロボット構造。
|
ロボット DH パラメータ
パラメータ |
dh |
例 |
"dh": [ 0.465, 0.2, 0.88, 0.21, 1.100, 0.225 ] |
説明 |
ロボットの能動関節の DH パラメータ。
|
パラメータ |
dhPassive |
説明 |
ロボット受動関節の DH パラメータ。定義と計算の方法はロボット構造をお読みください。
|
ロボット関節運動範囲
パラメータ |
minlimits |
例 |
"min_limits": [ -160, -65, -77, -360, -125, -360 ] |
説明 |
ロボット各軸の最小運動範囲を定義する |
パラメータ |
maxlimits |
例 |
"max_limits": [ 160, 120, 90 , 360, 125, 360 ] |
説明 |
ロボット各軸の最大運動範囲を定義する |
|
パラメータ |
link3_dynamic_limits |
例 |
"link3_dynamic_limits": [-204,80] |
説明 |
動的リミットのパラメータ |
パラメータ |
link4_dynamic_limits |
説明 |
動的リミットのパラメータ |
ロボットの各軸が 0°になっている時の位置姿勢
パラメータ |
mastering_joints |
例 |
"mastering_joints": [ -90, 0, 0, 0, 0, 90 ] |
説明 |
ロボットの各軸が 0°になっている時の位置姿勢を定義する。
|
KUKA などのロボットは、J2、J3 が 0 になった姿勢は Mech-Viz ではデフォルト姿勢ではないので、それぞれ J2、J3 mastering_joints パラメータを調整する必要があります。 |
ロボットの各関節の回転方向
パラメータ |
axis_flip |
例 |
"axis_flip": "101010" |
説明 |
ロボット各軸の回転方向を定義する |
|
ロボット座標系パラメータ
パラメータ |
robot_frame_in_robot_base_frame |
説明 |
ロボット座標系がロボットベースに対する位置を定義する |
|
新しく作成したロボットモデルを使用する時の注意事項
新しく作成したロボットモデルを使用するとき、ロボット実機で以下のパラメータを確認します。
-
axis_flip
Mech-Viz とロボット実機を照合して、各軸の回転方向が一致するかを確認します。
-
dh
以下の 2つの方法で Mech-Viz の仮想ロボットとロボット実機の位置姿勢データが一致するかを確認します。
-
関節角度を同期してロボットハンドの位置姿勢を照合する。
-
ロボットハンドの位置姿勢を同期して関節角度を照合する。
ロボット実機の DH パラメータがパラメータファイルにある理論値に近ければ近いほど、ロボットの精度は高くなります。普通、1mm 以下の誤差は許容されます。
-
-
mastering_joints
Mech-Viz の仮想ロボットとロボット実機の位置姿勢データが一致するかを確認します。
とくに、1、4、6 軸に注意深くチェックします。
-
min_limits/max_limit
Mech-Viz の仮想ロボットとロボット実機の位置姿勢データが一致するかを確認します。
ソフトリミットがロボット実機のハードリミットを超えないようにしてください。