ロボットモデルの作成とインポート

ソフトウェアのロボットライブラリもオンラインロボットライブラリも使用するロボットがない場合、本節の説明を参考してロボットのモデルを作成してインポートしてください。

FANUC M-900iB/400L を例とします。

ロボット CAD ファイルと説明書を用意する

ロボットモデルを作成する前に、ロボットの CAD モデルを作成し、ロボットの DH パラメータや各関節リミットなどを明記する説明書ファイルを用意します。

ユーザーは、ロボットメーカーの公式サイトから使用するロボットのファイルを入手することができます。

下図は、FANUC M-900iB/400L CAD モデル説明書 です。

robot model1
一部のロボットメーカーのホームページに x_t フォーマットのモデルを入手できます。STEP フォーマットモデルに比べれば、x_t フォーマットを使用すればより高い成功率と速度が図れるので x_t フォーマットを優先使用することを推奨します。

[robot]_algo.json パラメータファイルを編集する

[robot]_algo.json ファイルモデル

[robot]_algo.json モデルファイルは Mech-Viz のインストールパスの C:/Users/Administrator/AppData/Roaming/Mmind/robot/profile_example.json に保存されます。ユーザーは、これに基づいて新たな _algo.json ファイルを作成することができます。

[robot]_algo.json ファイルの各パラメータについての説明は、robot_profile.json ファイル属性 をご参照ください。

ロボットの構造タイプ(algo_type)を確認する

ロボットには、様々な構造タイプがあります。構造タイプによって座標系と DH パラメータ定義が異なります。

ロボット構造タイプについては ロボット構造のタイプ をご参照ください。

FANUC M-900iB/400L ロボットは 、SphericalWrist_SixAxis タイプで一般的な 6 軸産業用ロボットです。

DH パラメータ(dh、dhPassive)を確認する

ロボットの構造タイプ に記載されているロボット分類の内容を参照して対応するロボット構造タイプ図を見つけて、ロボット説明書を使用して [robot]_algo.jsonの dh 値を確認します。

FANUC M-900iB/400L の dh パラメータは、a=0.940,b=0.410,c=1.120,d=0.250,e=2.180,f=0.300です。

robot model2

上図では、左は SphericalWrist_SixAxis ロボット構造タイプ図で、右は FANUC M-900iB/400L ロボット寸法図です。

ロボットの各軸のリミット(minlimits、maxlimits)を確認する

普通、ロボット説明書にはロボットの各軸の運動範囲が記載されますが、FANUC ロボットの場合、FANUC ロボットシミュレーションソフトウエア RoboGuide を起動してその情報を入手します。

robot model3

その他のパラメータを確認する

一般的なロボットブランドに対し、すでに追加したロボットのデータを参照できます。 参照になれるデータがなければ、現場ではエンジニアがロボット実機と合わせて以下のパラメータを確認する必要があります:mastering_joints、axis_flip、base_z_offset、axis_flip、mastering_joints。

  • json パラメータファイルの句読点(コンマなど)は、英文にしなければなりません。

  • ロボットモデル作成後に、mastering_joints、axis_flip、base_z_offsetを ロボットシミュレーションソフトウエア と照合してください。

  • axis_flip は minlimits、maxlimits と連動するので必要に応じて一つの関節の上・下限数値の正負を反転して位置を交換します。

  • mastering_joints の最後の J6 はよく無視されます。これは オイラー角 に影響を与えるのでチェックしてください。

[robot]_profile.json パラメータファイルを編集する

[robot]_profile.json ファイルモデルは Mech-Viz インストールパスにある resource/robot/profile_example.json に保存されます。ユーザーは、これに基づいて新たな _profile.json ファイルを作成することができます。

  • [robot]_profile.json ファイルの各パラメータについての説明は robot_profile_json_attribute をご参照ください。

  • このファイルは必須ではありません。

Solidworks を使用して完全な STL モデルを作成する

モデルを SolidWorks にインポートする

図に示すように、SolidWorks を使用して事前に作成したロボット CAD モデルを開きます。

robot model4

上図では、左は 3D ソフトウエアで表示されたロボットモデルで、右は組立参考図です。

  • ロボットモデルをダウンロードするとき、なるべくメーカーのホームページで予め組立済みの完全なモデルをダウンロードしてください。

  • 完全なモデルでなく、パーツしか入手できない場合、パーツを組み立て、かつ dh パラメータを参照してチェックしてください。

  • モデルの読み込みの速度を上げるために、衝突検出に影響しないモデルのディテールを適当に削除します。

座標系を構築する

ロボット構造のタイプ を参照して各軸の座標系を構築します。

FANUC M-900iB/400L ロボットは SphericalWrist_SixAxis タイプなので、正しい姿勢は:1 軸は正、2 軸は垂直で上向き、3、4 軸は水平前向き、5 軸は下向きでなく前向きです。 姿勢を確認してから全てのパーツを固定にすることを推奨します。

robot model5
robot model6
robot model7

ロボットの各関節の STL モデルをエクスポートする

ロボットモデルをエクスポートする時、一つずつエクスポートするために、組み立て部品の中に他のパーツを非表示します。

モデルは stl フォーマットのファイルとしてエクスポートされ、出力がバイナリでメートルを単位とします。ファイルの命名と各部分に使用する座標系については、ロボット構造のタイプ をご参照ください。 他のオプションについては下図をご参照ください。

robot model8

下図は、FANUC M-900iB/400L ロボットモデルを保存した後の完全な STL モデルファイルです。

robot model9

これでロボットモデルの作成が完了します。

モデルファイルを Mech-Viz にインポートする

ロボットライブラリは Mech-Viz インストールパスにある resource/robot フォルダに保存されます。同じブランドのロボットモデルファイルは、同じブランド名で名付けたフォルダに保存され、各ロボットのモデルファイルはそのブランドのフォルダの中に、ロボット名で名付けたフォルダに保存されます。

FANUC M900iB/400L ロボットを例に、そのモデルファイルは resource/robot/fanuc_m900ib_400l で、ファイルの構造は下図のようです。

robot model10
  • STL:モデルファイル

  • fanuc_m900ib_400l_algo.json:ロボット運動学パラメータファイル

  • fanuc_m900ib_400l_preview.png:ロボットの画像

  • fanuc_m900ib_400l_profile.json:ロボットパラメータファイル

  • ロボットファイル名は、いずれも小文字にしてください。

  • STL、DAE、OBJ は、ロボットモデルファイルのフォーマットです。それぞれのフォルダに保存されます。

  • STL モデルは 3D モデル・衝突モデルとして使用できます。

  • DAE モデルは 3D モデルにしか使用できません。

  • OBJ モデルは衝突モデルにしか使用できません。

  • 完全なモデルは、3D モデルと衝突モデルがすくなくともそれぞれ一つなければなりません。

全てのファイルを対応するパスに保存すればロボットモデルのインポートが完了です。インポートされたロボットを使用するには、Mech-Viz のロボットライブラリで選択することができます。