ソリューションの実装

現在ご覧いただいているのは最新版の内容です(V2.1.0)。異なるバージョンを参照する場合は、画面右上のボタンから切り替えが可能です。

■ ご利用中のバージョンが分からない場合はお気軽にサポート窓口までご連絡ください。

本節では、深いかごの小型部品ソリューションの実装手順を説明します。まとめて言えば以下の流れに沿って進めます。

solution configuration overview

ビジョンシステムのハードウェア設置

ビジョンシステムのハードウェア設置は、ハードウェア機器(カメラおよび IPC)を実際の動作環境に統合し、ビジョンシステムの正常な動作をサポートするプロセスです。

この段階では、ビジョンシステムのハードウェアの取り付けと接続を完了させます。詳細については、ビジョンシステムのハードウェア設置 をご参照ください。

ロボット通信設定

ロボット通信設定を行う前に、ソリューションを取得します。クリックしてソリューション取得方法を確認します。
  1. Mech-Vision を起動します。

  2. Mech-Vision のようこそ画面で ソリューションライブラリから新規作成 をクリックし、ソリューションライブラリを開きます。

  3. ソリューションライブラリの代表的な導入事例を選択し、右上の get resource アイコンをクリックしてさらに多くのリソースをダウンロードします。それから表示されたウィンドウで確認をクリックします。

  4. リソースを取得した後、バラ積みされたワークのピッキング深いかごの小型部品を選択して作成ボタンをクリックし、表示されたウィンドウに確認ボタンをクリックします。

    ダウンロードした後、Mech-Vision ではこのソリューションは自動的に開かれます。

Mech-Mind ビジョンシステムとロボット側(ロボット、PLC もしくは上位システム)との通信を構築します。

深いかごの小型部品ソリューションでは、標準インターフェース通信を使用します。詳細な手順説明は、標準インターフェース通信ご参照ください。

ハンド・アイ・キャリブレーション

ハンド・アイ・キャリブレーションとは、カメラ座標系とロボット座標系との対応関係を求めることを指します。ビジョンシステムにより取得した対象物の位置姿勢をロボット座標系に変換し、それによってロボットが正確に把持作業を完了するように制御します。

ハンド・アイ・キャリブレーションの使用ガイドを参考にして実行してください。

カメラを設置し、またはキャリブレーションを実施した後、ロボットとカメラの相対位置が変わったら再度ハンド・アイ・キャリブレーションを行ってください。

ビジョンプロジェクトの設定

通信設定とハンド・アイ・キャリブレーションを完了させたあと、Mech-Vision を使用してビジョンプロジェクトを設定します。

本ソリューションでは、深いかごの小型部品二次位置決め機構の小型部品の 2つのプロジェクトが含まれています。

深いかごの小型部品プロジェクトは、深いかごにある小型部品を認識して出力します。

二次位置決め機構の小型部品プロジェクトは、二次位置決め機構にある小型部品を認識して出力します。

これからそれぞれ説明します。

深いかごの小型部品

ビジョンプロジェクトの設定手順を下図に示します。

deep bin vision overall

カメラを接続して画像を取得

  1. 使用するカメラを接続します。

    Mech-Eye Viewer で接続するカメラを見つけて接続をクリックします。

    vision click connect camera
  2. カメラパラメータを調整します。

    高品質で点群が完全な 2D 画像を取得するためにパラメータを調整します。詳細な調整方法は、PRO M パラメータをお読みください。

  3. 画像を取得します。

    カメラを接続してパラメータグループを設定した後、対象物の写真を撮ります。上部の vision click capture icon ボタンをクリックして一回だけ撮影します。すると対象物の 2D 画像と点群が表示されます。画像がはっきり見られて点群が完全でエッジもはっきりしているか確認します。使える 2D 画像と点群の例は以下にようです。

    deep bin vision image and cloud
  4. Mech-Vision でカメラを接続します。

    カメラから画像を取得ステップをクリックして選択し、ステップパラメータで仮想モードをオフにして、カメラを選択をクリックします。表示される画面で接続するカメラの右にある vision connect camera before icon アイコンをクリックします。アイコンが vision connect camera after icon に変わったらカメラの接続が完了です。それから右のパラメータグループを選択します。

    これでカメラ実機の接続が完了です。これ以上パラメータを調整する必要はありません。カメラから画像を取得ステップの右の vision run step camera icon アイコンをクリックしてこのステップを実行します。エラーメッセージが表示されなければ、カメラが正常に接続されて画像を撮影できることになります。

ワーク認識(ワーク認識)

本ソリューションではワーク認識ステップを使用して部品を認識します。ワーク認識ステップの設定ツールをクリックしてワーク認識設定ウィンドウで設定を進めます。主な設流れは下図に示します。

vision 3d target object recognition overall
点群前処理

点群前処理を行い、各パラメータを調整してデータを前処理し、元の点群をより鮮明にします。これにより、認識精度と効率を向上させることができます。

  1. ROI を設定します。

    認識対象領域を適切に設定し、干渉要因を除去することで認識効率を向上させます。

  2. パラメータを調整します。

    エッジ抽出効果ノイズ除去レベル点のフィルタリングを設定してノイズを除去します。

点群前処理した後、実行ボタンをクリックします。以下のような結果が出てきます。

vision point cloud preprocessing effect
ワーク認識

点群前処理が完了した後、ワークライブラリでワークの点群モデルを作成し、ワーク認識ツールでモデルのマッチングに関連するパラメータを設定します。

  1. ワークのモデルを作成します。

  2. 認識パラメータを設定します。

    • ワーク認識 の右にある 上級モード を有効にします。

    • マッチングモード:マッチングモードを自動的に設定をオンにします。すると、このステップは自動的に低精度マッチングの設定高精度マッチング設定のパラメータを調整します。

    • 低精度マッチングの設定:マッチングにかかる時間を短縮するために、低精度マッチングの設定の実行モードカスタムに、モデル点群の期待点数200 に設定します。

    • 信頼度設定:より正確に部品を認識するために、信頼度の設定方式手動に設定し、以下のパラメータを調整します。

      • 共同スコアリング戦略サーフェスとエッジの両方を考慮に設定します。

      • サーフェスマッチングの信頼度しきい値0.5000 に、エッジマッチングの信頼度しきい値0.1000 に設定します。

        • 左側の可視化ウィンドウの下にある認識結果レポートの最初のドロップダウンメニューから 出力結果 を選択します。サーフェスマッチングの信頼度エッジマッチングの信頼度 の値が設定したしきい値よりも高いワークのみが保持されます。現場の状況に応じて認識結果を確認してください。誤認識や見逃し認識がある場合は、それぞれのしきい値を上げたり下げたりしてください。

        • 信頼度の設定方式 パラメータを調整する際には、まず 自動設定 にした場合の認識結果を確認する必要があります。信頼度しきい値 を調整した後でも認識結果が現場の要件を満たさない場合、かつ可視化ウィンドウの下にある サーフェスマッチングの信頼度エッジマッチングの信頼度 の値に大きな差がある場合は、信頼度の設定方式手動 に設定し、関連するパラメータを調整することをお勧めします。

    • 出力-出力結果の最大数:経路計画の要件を満たす前提で、出力数を最小限に抑え、マッチングにかかる時間を短縮します。このプロジェクトでは、出力結果の最大数30 に設定しています。

それから、ステップを実行ボタンをクリックします。以下のような結果が出てきます。

vision target object recognition effect
ステップのポートタイプを設定

Mech-Viz にビジョン処理の結果と点群を出力して経路を計画して衝突検出を実行するために、ステップのポートを設定する必要があります。

ロボットがワークを正常に把持するように、ワークの中心点を調整し、そのZ軸がワーク中心を指すようにします。ポートを選択対象物の中心点に関連するポートを選択します。コンテナを認識、位置決めするために、前処理後の点群をチェックします。保存 をクリックします。これでワーク認識ステップに対応する出力ポートが追加されます。

ワーク認識(箱認識)

本ソリューションではワーク認識ステップを使用してコンテナ箱を認識します。ワーク認識ステップの設定ツールをクリックしてワーク認識設定ウィンドウで設定を進めます。主な設流れは下図に示します。

vision 3d target object recognition overall
点群前処理

点群前処理を行い、各パラメータを調整してデータを前処理し、元の点群をより鮮明にします。これにより、認識精度と効率を向上させることができます。

  1. ROI を設定します。

    認識対象領域を適切に設定し、干渉要因を除去することで認識効率を向上させます。

  2. パラメータを調整します。

    エッジ抽出効果ノイズ除去レベル点のフィルタリングを設定してノイズを除去します。

点群前処理した後、実行ボタンをクリックします。以下のような結果が出てきます。

vision bin point cloud preprocessing effect
ワーク認識

点群前処理が完了した後、ワークライブラリでコンテナの点群モデルを作成し、ワーク認識ツールでモデルのマッチングに関連するパラメータを設定します。

  1. ワークのモデルを作成します。

    点群モデルを作成して把持位置姿勢を追加します。ワークライブラリを開く をクリックしてワークライブラリを開きます。カメラで取得した点群から点群モデルを生成し、把持位置姿勢を手動で設定します。

  2. 物体認識に関するパラメータを設定します。

    • マッチングモード:マッチングモードを自動的に設定をオンにします。

    • 信頼度設定:間違ったマッチング結果を除去するために、信頼度しきい値を「0.8」に設定します。

    • 出力-出力結果の最大数:コンテナを認識するので出力結果の最大数1 に設定します。

それから、ステップを実行ボタンをクリックします。以下のような結果が出てきます。

vision bin recognition effect
ステップのポートタイプを設定

Mech-Viz にビジョン処理の結果と点群を出力して経路を計画して衝突検出を実行するために、ステップのポートを設定する必要があります。

実際のコンテナ位置の情報を取得するために、ポートを選択対象物の中心点に関連するポートを選択して保存ボタンをクリックします。これでワーク認識ステップに対応する出力ポートが追加されます。

位置姿勢を調整(ワーク位置姿勢)

ワークの位置姿勢を取得した後、位置姿勢を一括調整(V2)ステップを実行して調整します。位置姿勢を一括調整(V2)設定ツールをクリックして位置姿勢調整ツールを開いて設定を行います。主な設流れは下図に示します。

vision adjust poses overall
  1. 位置姿勢転換

    ロボット座標系におけるワーク位置姿勢を出力するために、位置姿勢をロボット座標系に変換をチェックして変換を行います。

  2. 位置姿勢方向調整

    ワークの位置姿勢を調整し、Z 軸が上向き、Y 軸がロボット座標系の X 軸の負の向きにします。これにより、ロボットが衝突せずに指定方向に沿ってワークを把持します。

    • 位置姿勢調整カスタムを選択します。

    • 反転軸と目標方向との角度が最小になるように位置姿勢を反転を設定します。固定する軸X軸に、反転する軸Z軸に設定し、ロボット座標系における Z軸の正方向を目標方向として選択します。

    • 回転軸と目標方向との角度が最小になるように位置姿勢を回転を設定します。固定する軸Z軸に、反転する軸Y軸に設定し、ロボット座標系における X軸の負方向を目標方向として選択します。

  3. 位置姿勢ソート

    位置姿勢ソート位置姿勢のX/Y/Z値でソートに、位置姿勢の指定値Z値に、「ソート順序」を降順に設定します。

  4. 位置姿勢をフィルタリング

    後続の経路計画にかかる時間を短縮するために、位置姿勢の Z 軸と基準方向との角度によって把持できないワーク位置姿勢を除去します。最大角度差90°に設定します。

    ROI を設定し、対象範囲外の把持できない位置姿勢を除去します。

  5. 共通設定。

    「共通設定」パネルに進み、新規ポート数を設定1 に設定します。このステップに入力ポートと出力ポートは 1つずつ追加されます。ワーク認識ワークの名前出力ポートを出力ステップに接続します。

位置姿勢を調整(コンテナ箱位置姿勢)

コンテナ箱の位置姿勢を取得した後、位置姿勢を一括調整(V2)ステップを実行して調整します。位置姿勢を一括調整(V2)設定ツールをクリックして位置姿勢調整ツールを開いて設定を行います。主な設流れは下図に示します。

vision adjust bin poses overall
  1. 位置姿勢処理戦略を選択します。

    ワークが入った深いかごなので Bin を選択します。

  2. 位置姿勢転換

    ロボット座標系におけるコンテナ位置姿勢を出力するために、位置姿勢をロボット座標系に変換をチェックして変換を行います。

  3. 位置姿勢調整指定方向に沿って位置姿勢を移動します。

    ロボット座標系Z軸の正方向を選択し、コンテナの位置姿勢を変えます。手動で移動距離-245mm に設定し、コンテナ位置姿勢を上表面から中心点に移動します。後で Mech-Viz のコンテナ衝突モデル更新に使用できます。

    移動距離値 = -1 × 1/2 コンテナ高さ
  4. 角度によるフィルタリング

    後続の経路計画にかかる時間を短縮するために、位置姿勢の Z 軸と基準方向との角度によって把持できないワーク位置姿勢を除去します。最大角度差90°に設定します。

  5. 共通設定。

    「共通設定」パネルに進み、新規ポート数を設定1 に設定します。このステップに入力ポートと出力ポートは 1つずつ追加されます。ワーク認識ワークの名前出力ポートを出力ステップに接続します。

対象物情報を出力

出力ステップを実行し、対象物中心点の情報、前処理された点群、ワーク名、コンテナ名、コンテナ位置姿勢などの情報を Mech-Viz に出力して経路計画のために使用します。

二次位置決め機構にある小型部品

ビジョンプロジェクトの設定手順を下図に示します。

repositioning station vision overall

カメラを接続して画像を取得

  1. 使用するカメラを接続します。

    Mech-Eye Viewer で接続するカメラを見つけて接続をクリックします。

    vision click connect camera
  2. カメラパラメータを調整します。

    高品質で点群が完全な 2D 画像を取得するためにパラメータを調整します。詳細な調整方法は、PRO S パラメータをお読みください。

  3. 画像を取得します。

    カメラを接続してパラメータグループを設定した後、対象物の写真を撮ります。上部の vision click capture icon ボタンをクリックして一回だけ撮影します。すると対象物の 2D 画像と点群が表示されます。画像がはっきり見られて点群が完全でエッジもはっきりしているか確認します。使える 2D 画像と点群の例は以下にようです。

    repositioning station vision image and cloud
  4. Mech-Vision でカメラを接続します。

    カメラから画像を取得ステップをクリックして選択し、ステップパラメータで仮想モードをオフにして、カメラを選択をクリックします。表示される画面で接続するカメラの右にある vision connect camera before icon アイコンをクリックします。アイコンが vision connect camera after icon に変わったらカメラの接続が完了です。それから右のパラメータグループを選択します。

    これでカメラ実機の接続が完了です。これ以上パラメータを調整する必要はありません。カメラから画像を取得ステップの右の vision run step camera icon アイコンをクリックしてこのステップを実行します。エラーメッセージが表示されなければ、カメラが正常に接続されて画像を撮影できることになります。

ワーク認識(ワーク認識)

本ソリューションではワーク認識ステップを使用して部品を認識します。ワーク認識ステップの設定ツールをクリックしてワーク認識設定ウィンドウで設定を進めます。主な設流れは下図に示します。

vision 3d target object recognition overall
点群前処理

点群前処理を行い、各パラメータを調整してデータを前処理し、元の点群をより鮮明にします。これにより、認識精度と効率を向上させることができます。

  1. ROI を設定します。

    認識対象領域を適切に設定し、干渉要因を除去することで認識効率を向上させます。

  2. パラメータを調整します。

    エッジ抽出効果ノイズ除去レベル点のフィルタリングを設定してノイズを除去します。

点群前処理した後、実行ボタンをクリックします。以下のような結果が出てきます。

repositioning station vision point cloud preprocessing effect
ワーク認識

点群前処理が完了した後、ワークライブラリでワークの点群モデルを作成し、ワーク認識ツールでモデルのマッチングに関連するパラメータを設定します。

  1. ワークのモデルを作成します。

  2. 認識パラメータを設定します。

    • ワーク認識 の右にある 上級モード を有効にします。

    • マッチングモード:マッチングモードを自動的に設定をオンにします。すると、このステップは自動的に低精度マッチングの設定高精度マッチング設定のパラメータを調整します。

    • 低精度マッチングの設定:マッチングにかかる時間を短縮するために、低精度マッチングの設定の実行モード高速に設定します。

    • 信頼度設定:より正確に部品を認識するために、信頼度の設定方式手動に設定し、以下のパラメータを調整します。

      • 共同スコアリング戦略サーフェスとエッジの両方を考慮に設定します。

      • サーフェスマッチングの信頼度しきい値0.8000 に、エッジマッチングの信頼度しきい値0.4000 に設定します。

    • 出力-出力結果の最大数:経路計画の要件を満たす前提で、出力数を最小限に抑え、マッチングにかかる時間を短縮します。このプロジェクトでは、出力結果の最大数10 に設定しています。

それから、ステップを実行ボタンをクリックします。以下のような結果が出てきます。

repositioning station vision target object recognition effect
ステップのポートタイプを設定

Mech-Viz にビジョン処理の結果と点群を出力して経路を計画して衝突検出を実行するために、ステップのポートを設定する必要があります。

ロボットがワークを正常に把持するように、ワークの中心点を調整し、そのZ軸がワーク中心を指すようにします。ポートを選択対象物の中心点に関連するポートを選択します。コンテナを認識、位置決めするために、前処理後の点群をチェックします。保存 をクリックします。これでワーク認識ステップに対応する出力ポートが追加されます。

位置姿勢を調整

ワークの位置姿勢を取得した後、位置姿勢を一括調整(V2)ステップを実行して調整します。位置姿勢を一括調整(V2)設定ツールをクリックして位置姿勢調整ツールを開いて設定を行います。主な設流れは下図に示します。

vision adjust poses overall
  1. 位置姿勢転換

    ロボット座標系におけるワーク位置姿勢を出力するために、位置姿勢をロボット座標系に変換をチェックして変換を行います。

  2. 位置姿勢方向調整

    方向調整自動合わせを選択し、適用シーンZ軸方向合わせ(部品供給)に設定して、ロボットが指定方向に沿ってワークを把持するようにします。衝突を回避できます。

  3. 位置姿勢ソート

    位置姿勢ソート位置姿勢のX/Y/Z値でソートに、位置姿勢の指定値Z値に、「ソート順序」を降順に設定します。

  4. 位置姿勢をフィルタリング

    後続の経路計画にかかる時間を短縮するために、位置姿勢の Z 軸と基準方向との角度によって把持できないワーク位置姿勢を除去します。最大角度差90°に設定します。

    ROI を設定し、対象範囲外の把持できない位置姿勢を除去します。

  5. 共通設定。

    「共通設定」パネルに進み、新規ポート数を設定1 に設定します。このステップに入力ポートと出力ポートは 1つずつ追加されます。ワーク認識ワークの名前出力ポートを出力ステップに接続します。

対象物情報を出力

出力ステップを実行し、対象物中心点の情報、前処理された点群、ワーク名などの情報を Mech-Viz に出力して経路計画のために使用します。

経路計画

ワーク認識を完了された後、Mech-Viz で経路計画とロボットのプログラムを作成して把持を実行します。

以下のように経路計画を設定します。

viz overall

シーンの物体の設定

シーンの物体を設定する目的は、実際の作業現場を再現することで、ロボットの移動経路を計画できるようにすることです。詳細な説明は、シーンの物体の設定をお読みください。

できる限り実際の現場を再現するように設定します。ここでは以下のように設定します。

viz scene objects configuration effect

ロボットハンドモデルの設定

ロボットハンドを仮想空間に表示して衝突検出に使用するためにロボットハンドモデルを設定します。詳細な説明は、ロボットハンドの設定をお読みください。

  • ロボットハンドの衝突モデルを作成するときに、細部まで考慮する必要はありません。

  • しかしグリッパ(フィンガー)の部分を作成する時にできる限り本物を再現するようにしてください。フィンガーに遠い部分に対しては大まかにしてもかまいません。複雑な構造を囲む直方体の凸包で表現することができます。以下にように、左のモデルを右のように簡略化することができます。

    viz end tool configuration effect

ワークフローを構築

ワークフローとは、Mech-Viz でフローチャートの形式で作成されたロボット動作制御プログラムです。シーンの物体とロボットハンドを設定した後、ワークフローを調整します。ワークを把持するワークフローは以下のようになります。

viz adjust workflow overall

Mech-Viz プロジェクトには以下の 2つの分岐があります。

  • 1つは、Mech-Vision の深いかごの小型部品プロジェクトの後に続く把持を実行します。ビジョン処理による認識ステップでこのプロジェクトをトリガーし、深いかごに配置されている部品の位置姿勢を Mech-Viz に送信して経路計画・二次位置決め機構への配置のために使用します。

  • もう 1つの分岐は、Mech-Vision の二次位置決め機構の小型部品プロジェクトトの後に続く把持を実行します。ビジョン処理による認識ステップでこのプロジェクトをトリガーし、二次位置決め機構に配置されている部品の位置姿勢を Mech-Viz に送信して経路計画・位置合わせ機構への配置のために使用します。

  • 二次位置決め機構に配置されている部品を全部把持したあと、対象部品を全部把持するまで分岐 1 を再度実行してワークフローをループします。

プロジェクトのワークフローは下図に示します。

viz workflow

最初と最後の移動ステップはロボットティーチングポイントであり、外部デバイスに送信する必要はありません。他の移動ステップは外部に経路点を送信します。コンテナ内のスマート経路生成ステップは、2つの経路点を使用します。分岐 1 は合計 9 の経路点を、分岐 2 は 7 の経路点を送信します。

シミュレーションと試行

ツールバーのシミュレートをクリックすると、Mech-Viz プロジェクトをシミュレートし、ビジョンシステムを確認することができます。

ワークをランダムにコンテナに配置して Mech-Viz ツールバーのシミュレートボタンをクリックして把持をシミュレートします。把持をシミュレートするたびにワークを再度配置する必要があります。繰り返して 10 回の把持をテストします。10 回のテストですべての把持が成功した場合、ビジョンシステムの構築に問題がないと判断できます。

シミュレーションに異常が発生した場合、よくある課題を参考にして解決してください。

ロボットの把持と配置

ロボットプログラムを作成

シミュレーションの効果に問題がなければ、FANUC ロボット把持・配置プログラムを作成することになります。

FANUC の標準インターフェースサンプルプログラム MM_S10_Viz_Subtask は、このソリューションに適用できます。このサンプルプログラムを基にして変更を加えることができます。より詳細な説明は、S10 サンプルプログラム説明をお読みください。

変更時の注意事項

本サンプルは 2つのプログラムで構成されています。サブタスクは Mech-Viz プロジェクトの実行をトリガーし、計画された経路を取得して深いかごにある部品を把持します。一方、メインタスクは取得した経路に基づいてロボットを移動させ、ロボットが把持領域から離れる際にサブタスクを実行して次の経路を事前に計画し、サイクルタイムを短縮します。サンプルプログラムを基にして以下の通り変更を行います。

  • サブタスク

    1. 分岐コマンドを追加してカメラの撮影をトリガーします。

      変更前 変更後(例)
        10:  !trigger {product-viz} project ;
        11:  **CALL MM_START_VIZ(2,10)** ;
        12:  !get planned path, 1st argument ;
        13:  !(1) means getting pose in JPs ;
        14:  **CALL MM_GET_VIZ(1,51,52,53)** ;
        10:  !trigger {product-viz} project ;
        11:  CALL MM_START_VIZ(2,10) ;
        12:  WAIT    .10(sec) ;
        13:  !(Branch_Num,Exit_Num)" ;
        14:  CALL MM_SET_BCH(1,1) ;
        15:  !get planned path, 1st argument ;
        16:  !(1) means getting pose in JPs ;
        17:  CALL MM_GET_VIZ(1,51,52,53) ;
    2. 返されたすべての経路点をローカル変数に保存するために、計画された経路の保存コマンドを追加します。

      Mech-Viz から返された経路には、9 の経路点(コンテナに進入点、接近点、把持点、退出点、コンテナ退出点、揺さぶる点 1、揺さぶる点 2、コンテナ退出点、配置点)が含まれています。サンプルプログラムには 3つの経路点のみが保存されているため、計画された経路の保存コマンドを追加する必要があります。
      変更前 変更後(例)
        22:  CALL MM_GET_JPS(1,60,70,80) ;
        23:  CALL MM_GET_JPS(2,61,71,81) ;
        24:  CALL MM_GET_JPS(3,62,72,82) ;
        25:  CALL MM_GET_JPS(1,60,70,80) ;
        26:  CALL MM_GET_JPS(2,61,71,81) ;
        27:  CALL MM_GET_JPS(3,62,72,82) ;
        28:  CALL MM_GET_JPS(4,63,70,80) ;
        29:  CALL MM_GET_JPS(5,64,71,81) ;
        30:  CALL MM_GET_JPS(6,65,72,82) ;
        31:  CALL MM_GET_JPS(7,66,70,80) ;
        32:  CALL MM_GET_JPS(8,67,71,81) ;
        33:  CALL MM_GET_JPS(9,68,72,82) ;
  • メインタスク

    1. ツール座標系を設定します。ティーチペンダント側のロボットハンド座標系 TCP が Mech-Viz 側の TCP と一致していることを確認します。現在選択されているツール座標系番号を、実際に使用するロボットハンドの座標系に設定します。

      変更前 変更後(例)
         9:  !set current tool NO. to 1 ;
        10:  UTOOL_NUM=1 ;
         9:  !set current tool NO. to 3 ;
        10:  UTOOL_NUM=3 ;
      数字を実際に使用するロボットハンドの番号に変更します。ここでは「3」は例です。
    2. IPC の IP アドレスとポート番号を指定します。CALL MM_INIT_SKT コマンドの IP アドレスとポート番号を、IPC の実際の IP アドレスとポート番号に変更してビジョンシステムと一致させます。

      変更前 変更後(例)
        16:  CALL MM_INIT_SKT('8','127.0.0.1',50000,5) ;
        16:  CALL MM_INIT_SKT('8','127.1.1.2',50000,6) ;
    3. コンテナに進入点、接近点、把持点、退出点、コンテナ退出点、揺さぶる点 1、揺さぶる点 2、コンテナ退出点、配置点の位置レジスタ番号を設定します。

      変更前 変更後
        32:  !move to approach waypoint ;
        33:  !of picking ;
        34:J PR[60] 50% FINE    ;
        35:  !move to picking waypoint ;
        36:J PR[61] 10% FINE    ;
        ...
        40:  !move to departure waypoint ;
        41:  !of picking ;
        42:J PR[62] 50% FINE    ;
        43:  !move to intermediate waypoint ;
        44:  !of placing, and trigger {product-viz} ;
        45:  !project and get planned path in ;
        46:  !advance ;
        47:J P[3] 50% CNT100 DB   10.0mm,CALL MM_S10_SUB    ;
        48:  !move to approach waypoint ;
        49:  !of placing ;
        50:L P[4] 1000mm/sec FINE Tool_Offset,PR[2]    ;
        51:  !move to placing waypoint ;
        52:L P[4] 300mm/sec FINE    ;

      l

        32:  !move to approach waypoint ;
        33:  !of picking ;
        34:  J PR[60] 100% CNT100    ;
        35:  J PR[61] 100% CNT100    ;
        36:  !move to picking waypoint ;
        37:  L PR[62] 200mm/sec FINE    ;
        ...
        42:  !move to departure waypoint ;
        43:  !of picking ;
        44:  L PR[63] 500mm/sec CNT100    ;
        45:  J PR[64] 100% CNT100    ;
        46:  !Shake ;
        47:  J PR[65] 100% CNT40    ;
        48:  J PR[66] 100% CNT40    ;
        49:  J PR[65] 100% CNT40    ;
        50:  J PR[66] 100% CNT40    ;
        51:  !move to intermediate waypoint ;
        52:  !of placing, and trigger Mech-Viz ;
        53:  !project and get planned path in ;
        54:  !advance ;
        55:  J PR[67] 100% CNT40    ;
        56:  CALL MM_S10_SUB    ;
        57:  !move to approach waypoint ;
        58:  !of placing ;
        59:  J PR[68] 100% FINE    ;
      変更されたサンプルプログラムには、PR[60]はコンテナ進入点、PR[61]は接近点、PR[62]は把持点、PR[63]は退出点、PR[64]はコンテナ退出点、PR[65]、PR[66]揺さぶる点、PR[67]はコンテナ退出点、PR[68]は配置点です。
    4. ワークを把持するためにグリッパを閉じる DO ポート信号を設定します。DO コマンドは、現場で実際に使用されている DO ポート番号に従って設定する必要があります。

      変更前 変更後(例)
        37:  !add object grasping logic here, ;
        38:  !such as "DO[1]=ON" ;
        39:  PAUSE ;
        38:  !Add object grasping logic here ;
        39:  DO[107]=ON ;
        40:  DO[108]=OFF ;
        41:  WAIT    .50(sec) ;
    5. ワークを配置するためにグリッパを開く DO ポート信号を設定します。DO コマンドは、現場で実際に使用されている DO ポート番号に従って設定する必要があります。

      変更前 変更後(例)
        53:  !add object releasing logic here, ;
        54:  !such as "DO[1]=OFF" ;
        55:  PAUSE ;
        60:  !add object releasing logic here, ;
        61:  !such as "DO[0]=OFF" ;
        62:  WAIT    .50(sec) ;
        63:  DO[107]=OFF ;
        64:  DO[108]=ON ;
        65:  WAIT   1.00(sec) ;
    6. ロボットを二次位置決め機構の把持位置に移動させます。

    変更前 変更後(例)
      56:  !move to departure waypoint ;
      57:  !of placing ;
      58:L P[4] 1000mm/sec FINE Tool_Offset,PR[2]    ;
      66:  !move to departure waypoint ;
      67:  !of placing ;
      68:  !Move to HOME2 Position ;
      69:  J P[3:HOME2] 100% FINE    ;
ロボットによる二次位置決め機構にある部品把持のプログラム変更方法は、上記の説明をご参照ください。

把持テスト

実際の生産の安定性を確保ために、変更されたサンプルプログラムを実行してロボットによる把持を試行します。詳細な説明については、標準インターフェース通信をテストをお読みください。

テストの前に、以下の点をティーチングします。

名称 変数 解析

初期位置

P[1]

深いかごの中でティーチングする初期位置。初期位置は、把持するワークや周辺機器から離れ、カメラの視野を遮らないようにする必要がある

撮影位置

P[2]

ティーチングする撮影位置。画像撮影位置とは、カメラが画像を撮影したときにロボットがいる位置を指す。この位置では、ロボットハンドがカメラ視野を遮らないようにする必要がある

中間点

P[3:HOME2]

二次位置決め機構でティーチングする初期位置。初期位置は、把持するワークや周辺機器から離れ、カメラの視野を遮らないようにする必要がある

ティーチング完了後、以下の表に示すようにワークを配置してからロボットを低い速度で動かして把持します。

把持のテストは、かごの中の把持と二次位置決め機構での把持の 2つの段階に分けられます。

第一段階:かごの中の把持

この段階ではかごにある部品を全部把持する必要はないので、現場で低い速度で 5 回の把持ループを試行します。

ワークの位置

説明図

実際のシーンを再現したバラ積み

picking test 1

第二段階:二次位置決め機構での把持

部品を以下の 5つのシーンに配置して低い速度で 5 回ずつ把持ループを試行します。

ワークの位置

説明図

部品を二次位置決め機構の真ん中に配置されている

picking test 2

90°回転

picking test 3

180°回転

picking test 4

270°回転

picking test 5

実際のシーンを再現したバラ積み

picking test 6

上記のテストで、いずれも正常に把持できれば、実装可能なビジョンシステムが完成したことになります。

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。