段ボール箱の認識
本ガイドを読む前に、「ハンド・アイ・キャリブレーション」を参照し、「同じ種類の段ボール箱」を使用してMech-Visionプロジェクトを作成する必要があります。
まず、プロジェクトの構築手順を確認し、ステップパラメータの調整とプロジェクト実装により、段ボール箱の位置姿勢を取得してビジョン結果を出力します。
プロジェクトの構築手順
プロジェクトに使用するステップ・ステップの組合せと機能は下表のどおりです。
番号 | ステップ/ステップの組合せ | サンプル図 | 機能 |
---|---|---|---|
1 |
カメラから画像を取得 |
カメラを接続して段ボール箱の画像を取得します。 |
|
2 |
点群前処理・最高層マスクを取得 |
段ボール箱の点群前処理を行い、最高層の箱のマスクを取得します。 |
|
3 |
ディープラーニングによる単一箱のマスクを取得 |
入力された最高層の箱のマスクを使用し、ディープラーニングによるこの領域内の単一箱のマスクを取得します。これにより、単一箱のマスクを使用して、それが対応する点群を取得することを容易にします。 |
|
4 |
箱の位置姿勢を計算 |
箱の位置姿勢を取得し、入力された寸法情報に基づいて結果を確認または調整します。 |
|
5 |
位置姿勢を調整 |
箱の位置姿勢の座標系変換を行い、複数箱の位置姿勢を行または行でソートします。 |
|
6 |
出力 |
ロボット把持のための箱の位置姿勢を出力します。 |
パラメータの調整説明
以下では、パラメータの調整について説明します。
カメラから画像を取得
「同じ種類の段ボール箱」プロジェクトには仮想データが組み込まれているため、「カメラから画像を取得」のステップパラメータで仮想モードを終了し、カメラ実機に接続する必要があります。
-
「カメラから画像を取得」をクリックして選択し、ステップパラメータで 仮想モード をオフにして、カメラを選択をクリックします。
-
表示される画面でカメラIDの右側にある をクリックすると、カメラの接続は完了です。カメラが正常に接続された場合、 は に変わります。
カメラ接続後、パラメータグループを選択をクリックし、キャリブレーション済みのパラメータグループを選択します。
-
カメラを接続し、パラメータグループを設定すると、キャリブレーションパラメータグループ、IPアドレス、ポートなどのパラメータが自動的に入力されます。それ以外のパラメータ設定は不要です。
これで、カメラの接続が完了しました。
点群前処理・最高層の箱を取得
最高層の箱以外の箱を把持することによるロボットと他の箱との衝突を避けるために、このステップ組合せにより、最高層の箱を取得し、ロボットが最高層の箱を優先的に把持させる必要があります。
このステップ組合せでは、3D ROIと層の高さの設定が必要です。
-
ステップパラメータで 3D ROIを設定 をクリックします。表示される設定画面で 3D ROI の設定を行います。
パレットに積みされている箱の高さの上限と下限が3D ROI内に収まる必要があります。また、3D ROIには干渉点群を含まないことも必要です。
-
下層の箱を認識しないように層の高さを設定する必要があります。層の高さは、単一箱の高さより小さくに設定する必要があります。例えば、箱の高さの半分に設定します。通常は推奨値を使用します。
現場では、パレットに積みされている箱の寸法が異なる場合、層の高さは箱の高さの最小値に従って設定されるべきです。
層の高さを正しく設定しないと、最高層以外の箱を認識することになり、ロボットが把持する際に他の箱と衝突する可能性があります。
ディープラーニングによる単一箱のマスクを取得
最高層の箱の認識が完了した後、ディープラーニングによる各箱の認識に進みます。
本ガイドで使用されているソリューショには、様々な段ボール箱に適応可能なインスタンスセグメンテーションのモデルが組み込まれています。このステップの組合せを実行すると、下図のような各箱のマスクが取得されます。
結果が要件を満たさない場合は、3D ROIを再設定する必要があります。 |
箱の位置姿勢を計算
各箱の点群を取得した後、箱の位置姿勢の計算が可能になります。また、ビジョン処理による認識の精度を確保するために、箱の寸法を入力します。
「箱の位置姿勢を計算」ステップの組合せでは、X、Y、Z軸における長さを箱の寸法の誤差許容範囲を設定します。
-
X、Y、Z軸における長さ:実際に使用される箱の寸法に応じて設定します。
-
箱の寸法の誤差許容範囲:初期値30mmを使用します。入力された箱の寸法が認識された箱の寸法と大きく異なる場合は、このパラメータを変更する必要があります。
位置姿勢を調整
箱の位置姿勢を取得した後、ロボットが正常に把持できるように、ワークの位置姿勢をカメラ座標系からロボット座標系に変換する必要があります。
また、このステップの組合せにより、位置姿勢を行または列でソートし、ロボットの順次把持を実現できます。
-
昇順(ロボットベース座標系における箱位置姿勢のX値による):通常は初期値(チェックを入れる)を使用します。チェックを入れると、行はロボットのベース座標系における箱位置姿勢のX値に従って昇順にソートされ、そうでない場合は降順にソートされます。
-
昇順(ロボットベース座標系における箱位置姿勢のY値による):通常は初期値(チェックを入れる)を使用します。チェックを入れると、列はロボットのベース座標系における箱位置姿勢のY値に従って昇順にソートされ、そうでない場合は降順にソートされます。