ビジョンプロジェクトの設定
ロボット通信設定 でソリューションライブラリを使用して「整列して並べられたワークの供給」ソリューションを作成しました。
以下では、プロジェクトの構築手順を確認し、ステップパラメータの調整とプロジェクト実装により、ワークの位置姿勢を取得してビジョン結果を出力します。
プロジェクトの構築手順
Mech-Visionソフトウェアを使用してビジョンプロジェクトの設定を行います。ビジョンプロジェクトの設定は、下図のような手順で行われます。
詳細な手順は下表の通りです。
手順 | 必要なソフトウェア | 説明 |
---|---|---|
カメラ接続と画像取得 |
Mech-Vision |
Mech-Visionの「カメラから画像を取得」ステップを使用してカメラを接続し、画像を取得します。 |
ワーク認識 |
Mech-Vision |
Mech-Visionの「ワーク認識」ステップを使用して、画像データに対して一連のビジョン処理(点群前処理、3Dマッチングなど)を行い、ワークの迅速な認識を実現します。 |
位置姿勢を調整 |
Mech-Vision |
Mech-Visionの「位置姿勢を一括調整(V2)」ステップを使用して、「ワーク認識」ステップから出力された位置姿勢に対して座標系変換、調整、ソート、フィルタリングなどを行います。 |
ロボットの動作経路を計画 |
Mech-Vision |
Mech-Visionの「経路計画」ステップを使用して、前のステップで調整されたワークの位置姿勢に基づき、衝突のないロボット動作経路を動的に計画します。 |
計画された経路を出力 |
Mech-Vision |
ロボット(本ガイドでは使用)またはPLCから送信された標準インターフェースコマンドを受信すると、Mech-Visionの「出力」ステップが計画された衝突のないロボット動作経路を返します。
|
ステップパラメータの調整
以下では、パラメータの調整について説明します。
「整列して並べられたワークの供給」ソリューションの 「Vis_Target_Objects_Recognition 」プロジェクトを例として説明します。 |
カメラから画像を取得
ステップ名 |
カメラから画像を取得 |
---|---|
プロジェクトの構築手順 |
カメラ接続と画像取得 |
説明図 |
|
説明 |
実際のカメラを接続し、関連するパラメータを設定して、カメラが正常に画像を取得できるようにします。 |
-
Mech-Visionのプロジェクト編集エリアで、カメラから画像を取得 ステップを選択し、画面右下にある ステップパラメータ タブで カメラを選択 をクリックします。
-
ポップアップウィンドウで カメラとキャリブレーションパラメータグループを選択 ウィンドウが表示され、カメラ番号の右側にある アイコンをクリックします。このアイコンが アイコンに変わると、カメラの接続が成功したことを示します。
カメラを接続した後、パラメータグループを選択 をクリックし、ETH/EIHおよび日付のついたキャリブレーションパラメータグループを選択します。
ここで選択するキャリブレーションパラメータグループは、ハンド・アイ・キャリブレーションが完了した後に生成されたパラメータグループです。 -
カメラを接続してキャリブレーションパラメータグループを設定すると、カメラのキャリブレーションパラメータグループ、IPアドレス、ポートなどのパラメータが自動的に取得されます。設定パラメータグループ が「反射する物体(Reflective object)」に設定されていることを確認してください。
-
カメラから画像を取得 ステップのシングル実行ボタンをクリックして画像取得をトリガーし、ステップの「カメラの深度画像」と「カメラカラー画像」データフローの線をダブルクリックし、デバッグ結果出力 ウィンドウで正常にカメラから画像が取得できたかどうかを確認します。
-
デバッグ結果出力 に深度画像とカラー画像が正常に表示されていれば、Mech-Visionが実際のカメラに正常に接続され、画像を正常に取得できることを示しています。
ワーク認識
ステップ名 |
ワーク認識 |
---|---|
プロジェクトの構築手順 |
ワーク認識 |
説明図 |
|
説明 |
点群前処理パラメータを設定し、ワークライブラリでワークモデルを作成してワークを選択し、認識パラメータを設定し、出力ポートを設定する必要があります。 |
「ワーク認識」ステップでは、組み込みの可視化ワーク認識設定ツールを提供しており、3つの手順で簡単にワークの位置姿勢を認識することができます。
ワーク認識設定ツールを開くには、以下のいずれかの方法を使用します。
-
プロジェクト編集エリアで、ステップ上にある 設定ツール をクリックします。
-
ステップパラメータ タブで 設定ツールを開く をクリックします。
点群前処理
取得された画像データを点群に変換し、有効な点群認識領域を設定します。その後、エッジ点群を検出し、要件を満たしていない点群を除去して、認識効率を向上させます。
この手順では、有効な認識領域を設定し、干渉要素を除去して認識効率を向上させる必要があります。認識領域を設定する際、パレットおよびパレット上のすべてのワークを囲み、パレットの配置位置に小幅な変動が生じる影響に対応するために、20〜30mm外側に拡張する必要があります。
通常、他の前処理パラメータは初期値のままで問題ありません。シーンに多くのノイズが存在する場合は、関連パラメータを調整してください。詳細については、点群前処理 をご参照ください。
パラメータの調整が完了した後、前処理結果をプレビュー の下の ステップを実行 をクリックして、可視化領域で前処理結果が要件を満たしているか確認することができます。 |
ワークの選択と認識
|
ワークのモデルを作成
本ガイドでは、ティーチング方法による把持位置姿勢を設定し、カメラで点群を取得して点群モデル生成 し、ワークの点群マッチングモデルを作成します。
ユーザーがシミュレーションのみを行う場合、以下の位置姿勢をティーチング法で設定した把持点の位置姿勢として使用できます。
把持点の位置姿勢を設定する際に、「オイラー角」を選択して姿勢を表します。 |
注意事項:
-
モデル作成時にティーチング方法を使用する場合、出力されるマッチング位置姿勢とモデルの角度の差をできるだけ小さくする必要があります。ワークライブラリの モデルを編集 タブの点群モデル設定 エリアで、点群モデルを設定 を有効にし、誤マッチング回避 パラメータを「マッチングに失敗する可能性のある位置姿勢を自動的に計算」に設定します。
ワークモデルの作成が完了したら、ワークライブラリを閉じてワーク認識設定ツールの画面に戻り、ワークを更新 ボタンをクリックします。このソリューションのワークライブラリにワークモデルが1つしかない場合、ツールは自動的にそのワークモデルを選択します。複数のワークモデルがある場合、使用したいワークモデルを選択してください。
マッチングパラメータを設定
-
ワーク認識 エリアでは、「マッチングモード」の マッチングモードを自動的に設定 パラメータを有効にします。
-
上級モード を有効にし、追加の高精度マッチング を有効にします。
-
誤マッチング回避のパラメータ設定を行います。「位置姿勢を調整」を「マッチングに失敗する可能性のある位置姿勢をフィルタリング」に設定し、範囲を45°に設定します。これにより、モデルの角度偏差が45°を超えるマッチング位置姿勢が除去されます。
-
信頼度しきい値を調整します。信頼度しきい値 を0.6に設定して、誤ったマッチング結果を除去します。
-
実際の状況に応じて 出力結果の最大数 を設定します。例えば10に設定します。経路計画の要件を満たす範囲で、出力数を最小限に抑え、マッチングにかかる時間を短縮します。
位置姿勢を一括調整(V2)
ステップ名 |
位置姿勢を一括調整(V2) |
---|---|
プロジェクトの構築手順 |
位置姿勢を調整 |
説明図 |
|
説明 |
パラメータを設定して位置姿勢変換、調整、ソート、フィルタリングを実行する必要があります。 |
ワークの位置姿勢を取得した後、位置姿勢を調整する必要があります。処理フローは以下の通りです。
Mech-Visionには位置姿勢編集ツールが組み込まれています。このツールを使用して対象物の位置姿勢の調整と把持順序の最適化を簡単に行うことができます。位置姿勢編集ツールを開くには、以下のいずれかの方法を使用します。
-
プロジェクト編集エリアで、ステップ上にある 設定ツール をクリックします。
-
ステップパラメータ タブで 設定ツールを開く をクリックします。
以下の手順に従ってパラメータを調整してください。
-
位置姿勢を変換:「座標系設定」の下の 位置姿勢をロボット座標系に変換 にチェックを入れ、位置姿勢をカメラ座標系からロボット座標系に変換します。
-
位置姿勢を調整:「位置姿勢調整」の下の 方向調整 を「自動合わせ」に設定し、適用シーン を Z軸方向合わせ を選択します。この操作により、位置姿勢のZ軸方向が可能な限りロボット座標系のZ軸正方向と一致するように調整されます。
-
位置姿勢をソート:「ソート方法」を 平面上のZ形状でソート に設定します。
-
角度によるフィルタリング:位置姿勢のZ軸方向 に基づき、明らかに把持できない位置姿勢を除去し、経路計画にかかる時間を減らします。
-
ROI外の位置姿勢を除去:ROI(関心領域)を設定し、位置姿勢がROI内にあるかを判断し、ROI内の位置姿勢のみ を残します。
ここでは、ROI(3d_roi)はロボット座標系に基づいて設定されます。誤ったフィルタリングを避けるため、実際の外部パラメータに基づいてROIを再設定する必要があります。