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

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

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

ロボット通信設定 でソリューションライブラリを使用して「バラ積みされたワークの供給」ソリューションを作成しました。

以下では、プロジェクトの構築手順を確認し、ステップパラメータの調整とプロジェクト実装により、ワークの位置姿勢を取得してビジョン結果を出力します。

本ガイドでは、ワークのCADモデルを点群マッチングモデルに変換する必要があります。CADモデルファイルの準備に時間がかかることがありますので、ワークのCADモデルファイルを事前に準備することをお勧めします。こちら をクリックしてダウンロードできます。
動画:ビジョンプロジェクトの設定

プロジェクトの構築手順

Mech-VisionとMech-Vizソフトウェアを使用してビジョンプロジェクトの設定を行います。ビジョンプロジェクトの設定は、下図のような手順で行われます。

project workflow

詳細な手順は下表の通りです。

手順 必要なソフトウェア 説明

カメラ接続と画像取得

Mech-Vision

Mech-Visionの「カメラから画像を取得」ステップを使用してカメラを接続し、画像を取得します。

ワーク認識

Mech-Vision

Mech-Visionの「ワーク認識」ステップを使用して、画像データに対して一連のビジョン処理(点群前処理、3Dマッチング、ディープラーニング推論など)を行い、ワークの迅速な認識を実現します。

位置姿勢を調整

Mech-Vision

Mech-Visionの「位置姿勢を一括調整(V2)」ステップを使用して、「ワーク認識」ステップから出力された位置姿勢に対して座標系変換、調整、ソート、フィルタリングなどの処理を行います。

コンテナの位置決め

Mech-Vision

Mech-Visionの「標準コンテナの位置決め」ステップの組合せを使用して、コンテナを認識します。認識されたコンテナの位置姿勢をMech-Vizに送信してコンテナモデルの位置を更新します。

ロボットの動作経路を計画

Mech-Vision & Mech-Viz

Mech-Visionの「出力」ステップを使用して、ビジョン結果(対象物中心点、前処理後の点群、コンテナのシーンのモデル名、コンテナの中心位置姿勢などの情報)をMech-Vizに送信します。
Mech-Vizプロジェクトはビジョン結果に基づいて、衝突のないロボット動作経路を動的に計画します。

計画された経路を出力

Mech-Viz

ロボット(本ガイドでは使用)またはPLCから送信された標準インターフェースコマンドを受信すると、Mech-Vizが計画された衝突のないロボット動作経路を返します。
ロボット通信設定、Mech-VizとMech-Vizプロジェクトの設定が完了した後、Mech-Visionは各実行後に計画された経路を出力できます。
ロボット側では、Mech-Vizプロジェクトをトリガーし、Mech-Vizの出力された計画経路を取得するための標準インターフェースコマンドを実装する必要があります。詳細については、「把持と配置を実行」をご参照ください。

ステップパラメータの調整

以下では、パラメータの調整について説明します。

「バラ積みされたワークの供給」ソリューションの 「Vis_Target_Objects_Recognition 」プロジェクトを例として説明します。

カメラから画像を取得

ステップ名

カメラから画像を取得

プロジェクトの構築手順

カメラ接続と画像取得

説明図

acquire images from camera

説明

実際のカメラを接続し、関連するパラメータを設定して、カメラが正常に画像を取得できるようにします。

  1. Mech-Visionのプロジェクト編集エリアで、カメラから画像を取得 ステップを選択し、画面右下にある ステップパラメータ タブで カメラを選択 をクリックします。

    select camera
  2. ポップアップウィンドウで カメラとキャリブレーションパラメータグループを選択 ウィンドウが表示され、カメラ番号の右側にある image アイコンをクリックします。このアイコンが image アイコンに変わると、カメラの接続が成功したことを示します。

    connect camera

    カメラを接続した後、パラメータグループを選択 をクリックし、ETH/EIHおよび日付のついたキャリブレーションパラメータグループを選択します。

    select calibration parameter group
    ここで選択するキャリブレーションパラメータグループは、ハンド・アイ・キャリブレーションが完了した後に生成されたパラメータグループです。
  3. カメラを接続してキャリブレーションパラメータグループを設定すると、カメラのキャリブレーションパラメータグループ、IPアドレス、ポートなどのパラメータが自動的に取得されます。設定パラメータグループ が「寸切りボルト(Threaded rod)」に設定されていることを確認してください。

    camera other parameters
    • カメラから画像を取得 ステップのシングル実行ボタンをクリックして画像取得をトリガーし、ステップの「カメラの深度画像」と「カメラカラー画像」データフローの線をダブルクリックし、デバッグ結果出力 ウィンドウで正常にカメラから画像が取得できたかどうかを確認します。

      double click data flow line

デバッグ結果出力 に深度画像とカラー画像が正常に表示されていれば、Mech-Visionが実際のカメラに正常に接続され、画像を正常に取得できることを示しています。

confirm image acquire

ワーク認識

ステップ名

ワーク認識

プロジェクトの構築手順

ワーク認識

説明図

target object recognition

説明

点群前処理パラメータを設定し、ワークライブラリでワークモデルを作成してワークを選択し、ディープラーニング関連パラメータと認識パラメータを設定し、出力ポートを設定する必要があります。

「ワーク認識」ステップでは、組み込みの可視化ワーク認識設定ツールを提供しており、3つの手順で簡単にワークの位置姿勢を認識することができます。

overall recognition configuration process

ワーク認識設定ツールを開くには、以下のいずれかの方法を使用します。

  • プロジェクト編集エリアで、ステップ上にある 設定ツール をクリックします。

  • ステップパラメータ タブで 設定ツールを開く をクリックします。

点群前処理

取得された画像データを点群に変換し、有効な点群認識領域を設定します。その後、エッジ点群を検出し、要件を満たしていない点群を除去して、認識効率を向上させます。

この手順では、有効な認識領域を設定し、干渉要素を除去して認識効率を向上させる必要があります。認識領域を設定する際は、コンテナおよびその内のワークをカバーし、コンテナ位置の小さな変動による影響を受けることがないように、適切に20~30ミリメートル外側に拡張する必要があります。

set 3d roi

通常、他の前処理パラメータは初期値のままで問題ありません。シーンに多くのノイズが存在する場合は、関連パラメータを調整してください。詳細については、点群前処理 をご参照ください。

パラメータの調整が完了した後、前処理結果をプレビュー の下の ステップを実行 をクリックして、可視化領域で前処理結果が要件を満たしているかを確認できます。

ワークの選択と認識

  • Mech-Visionは、3Dマッチングとディープラーニング推論を使用してワークの認識をサポートします。

  • 3Dマッチングとは、対象物のモデル点群をシーン内の物体点群にフィットさせ、シーン内の物体の位置姿勢を算出するプロセスです。3Dマッチングを使用して認識する場合、最初にワークのモデル(点群モデルまたは点群マッチングモデルとも呼ばれます)を作成する必要があります。

  • ディープラーニング推論を使用して認識する場合、Mech-DLKソフトウェアでトレーニングされたディープラーニングモデルを使用し、その後、Mech-Visionの関連ステップでディープラーニングモデルを使用してワークを認識、分類、そしてワークの位置姿勢を計算します。

  • パラメータ調整が完了した後、実行結果を表示 の下の ステップを実行 をクリックして、可視化領域で認識結果が要件を満たしているか確認することができます。

ワークのモデルを作成

このガイドでは、ワークのCADモデルファイル(.stl形式)を使用して、ワークの点群モデルを生成します。こちら をクリックしてダウンロードできます。

ワークの点群マッチングモデルを作成する方法については、STLファイルをインポートして点群モデルを生成し、把持位置姿勢を手動で設定 をご参照ください。

注意事項:

  • カメラでボルトの点群データを取得する際、点群が過度に平滑化されることがあります。この現象により、ネジの詳細な特徴が失われることがあります。そのため、このガイドではSTLファイルをインポートして点群モデルを生成します。下図に示すように、提供されたSTLモデルファイルは簡略化されています。

    stl model
  • 「STLファイルを設定」手順で、実際の状況に応じて単位を設定し、すべての視点 にチェックを入れてください。

    configure stl file
  • 「把持位置姿勢を設定」手順で、実際の状況に応じて点群モデルの把持位置姿勢を設定します。詳細については、把持位置姿勢を設定 をご参照ください。このソリューションでは、クランプ式ハンドでボルトを把持するため、ワークの把持位置姿勢はボルトの中央に設定されます。

    set pickpoint tip
ワークを把持する際に使用するロボットハンドに関する設定は、現時点では設定を行う必要はありません。後でMech-Vizプロジェクトを設定する際に設定を行ってください。

ワークモデルの作成が完了したら、ワークライブラリを閉じてワーク認識の設定ツールの画面に戻り、ワークを更新 ボタンをクリックします。このソリューションのワークライブラリにワークモデルが1つしかない場合、ツールは自動的にそのワークモデルを選択します。複数のワークモデルがある場合、使用したいワークモデルを選択してください。

select object model

ディープラーニングのパラメータを設定

  1. ディープラーニングを使用 の下の ディープラーニングによる認識 を有効にします。

  2. モデルパッケージ管理ツールを使用して本ガイドで提供されている ディープラーニングモデルパッケージ、またはMech-DLKでトレーニングした独自のモデルパッケージをインポートします。詳細については、ディープラーニングモデルパッケージをインポート をご参照ください。

  3. モデルパッケージのドロップダウンリストから インポート済みのモデル を選択します。

    初めてディープラーニングモデルを読み込む際は時間がかかる場合がありますので、しばらくお待ちください。
  4. ROI設定 をクリックして2D ROIを設定します。設定方法については、2D ROIの設定流れ をご参照ください。

  5. ディープラーニングパラメータを調整します。ディープラーニングモデルが出力するマスク画像の情報欠損を防ぐため、マスク画像を5ピクセル膨張処理し、より完全なワーク点群データを取得します。

set dl parameters

マッチングパラメータを設定

  1. ワーク認識 エリアでは、「マッチングモード」の マッチングモードを自動的に設定 パラメータを無効にします。

  2. 低精度マッチングモード を「エッジマッチング」、高精度マッチングモード を「サーフェスマッチング」に設定します。

  3. 信頼度しきい値 を0.5に設定して、誤ったマッチング結果を除去します。

  4. 実際の状況に応じて 出力結果の最大数 を設定します。例えば30に設定します。経路計画の要件を満たす前提で、出力数を最小限に抑え、マッチングにかかる時間を短縮します。

    set matching parameters
出力ポートを設定

その後の経路計画と衝突検出の要件に応じて、以下の出力ポートを選択します。

  • 対象物の中心点に関連するポート

  • 前処理後の点群

set output ports

位置姿勢を一括調整(V2)

ステップ名

位置姿勢を一括調整(V2)

プロジェクトの構築手順

位置姿勢を一括調整

説明図

adjust poses

説明

パラメータを設定して位置姿勢変換、調整、ソート、フィルタリングを実行する必要があります。

ワークの位置姿勢を取得した後、位置姿勢を調整する必要があります。処理フローは以下の通りです。

adjust poses process

Mech-Visionには位置姿勢編集ツールが組み込まれています。このツールを使用して対象物の位置姿勢の調整と把持順序の最適化を簡単に行うことができます。位置姿勢編集ツールを開くには、以下のいずれかの方法を使用します。

  • プロジェクト編集エリアで、ステップ上にある 設定ツール をクリックします。

  • ステップパラメータ タブで 設定ツールを開く をクリックします。

以下の手順に従ってパラメータを調整してください。

  1. 位置姿勢を変換:「座標系設定」の下の 位置姿勢をロボット座標系に変換 にチェックを入れ、位置姿勢をカメラ座標系からロボット座標系に変換します。

    adjust reference frame
  2. 位置姿勢を調整:「方向調整」を 基準点を指す に設定し、Z軸がコンテナ位置姿勢の真上を向くようにします。

    adjust pose direction
  3. 位置姿勢をソート:ロボット座標系における 位置姿勢のZ値 を基準に、降順でソートを行います。

    sort poses
  4. 角度によるフィルタリング位置姿勢のZ軸方向 に基づき、明らかに把持できない位置姿勢を除去し、Mech-Vizの経路計画時間を短縮して効率を向上させます。

    filter poses
  5. ROI外の位置姿勢を除去:ROI(関心領域)を設定し、位置姿勢がROI内にあるかを判断し、ROI内の位置姿勢のみ を残します。

    ここでは、ROI(3d_roi)はロボット座標系に基づいて設定されます。誤ったフィルタリングを避けるため、実際の外部パラメータに基づいてROIを再設定する必要があります。
    set 3d roi

標準コンテナの位置決め

ステップ名

標準コンテナの位置決め(カスタマイズされたステップの組合せ)

プロジェクトの構築手順

コンテナの位置決め

説明図

locate bin

説明

Mech-Vizプロジェクト内で、コンテナをシーンの物体として設定する名前、およびコンテナの位置姿勢オフセットを設定する必要があります。

  1. Mech-Visionプロジェクト設定エリアでは、標準コンテナの位置決め をクリックして選択し、ステップパラメータ文字列のリスト パラメータを設定します。

    文字列のリスト パラメータの値は、Mech-Vizプロジェクト内のコンテナのシーンのモデルの名前として使用されます。Mech-Vizプロジェクトでコンテナのシーンの物体を設定する際、このパラメータ値を名前として使用する必要があります。
    adjust bin parameters
  2. 並進距離 パラメータをコンテナの高さの半分に設定します。

    現在認識されたコンテナの位置姿勢はコンテナの上面にあります。認識されたコンテナの位置姿勢を正確にコンテナの中心位置に対応させるためには、認識された位置姿勢を調整する必要があります。このステップの組合せでは、コンテナ座標系のZ軸方向に移動するため、特定のオフセット値を引く必要があります。そのため、ここでは負の値として設定してください。

出力

ステップ名

出力

プロジェクトの構築手順

ロボットの動作経路を計画(前提条件)

説明図

procedure out

説明

経路計画と衝突検出に必要な情報がすべて出力されていることを確認する必要があります。

経路計画と衝突検出の要件に基づき、以下の情報をMech-Vizソフトウェアに出力する必要があります。

  • 対象物中心点(PoseList)

  • ワークの名前(StringList)

  • 法線ベクトル付きの点群(Cloud(XYZ-Normal)):前処理後の点群

  • シーンの物体の名前(StringList):コンテナのシーンのモデル名

  • シーンの物体の位置姿勢(PoseList):コンテナの中心位置姿勢

上記のポートがすべてデータフローで接続されていることを確認した後、実行 をクリックします。プロジェクトが正常に実行され、ビジョンの結果が出力されることを確認します。Mech-Visionソフトウェアのログバーの Vision タブで、ビジョン結果を含むログが表示されているか確認できます。

check output result

経路計画

このソリューションでは、Mech-Vizを使用して計画された経路を取得します。標準インターフェース通信方式を使用する際、3Dビジョンシステムによるワークの把持・配置を実行するために、Mech-Vizプロジェクトとロボットが連携して使用する必要があります。

Mech-Vizプロジェクトを使用してロボットの動作経路を計画する方法については、次の「把持と配置を実行」をご参照ください。

これで、ビジョンプロジェクトの設定は完了しました。

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

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