プロジェクトの構築手順
本節では、Mech-Visionプロジェクトの構築手順と方法について説明し、簡単な部品供給プロジェクトを作成します。
このプロジェクトでは、マッチングアルゴリズムを用いて部品の把持位置姿勢の計算を実現します。
プロジェクトの構造
このプロジェクトは、 カメラから画像を取得 、 点群を生成 、 点群の法線ベクトルを計算 、 点群の大まかなマッチング 、 点群の精確なマッチング 、 位置姿勢を変換 と 出力 で構成されます。
その中で、対象物の把持位置姿勢を取得することを目的とした3D位置姿勢推定は、プロジェクトのコア部分となります。
プロジェクトを新規作成して保存
詳細については、 プロジェクトを新規作成して保存 をご参照ください。
ステップを追加
プロジェクトの構造を理解してプロジェクトを作成したら、ステップを追加してプロジェクトの構築を行うことができます。
-
まずはカメラをトリガーして撮影し、カラー画像と深度画像を取得します。ステップ「カメラから画像を取得」を追加します。
このステップを追加する前に、カメラが取り付けられていること、IPCと接続されていることを確認し、取得した画像の品質確認と ロボットハンド・アイ・キャリブレーション を完了させる必要があります。
このステップを追加したら、ステップを選択し、ステップパラメータをクリックして、ステップパラメータの画面でカメラタイプ、カメラID、キャリブレーションパラメータグループを選択し、IPアドレスを入力します。
-
続いてカメラで取得した深度画像を点群データに変換します。ステップ「深度画像を点群に変換」を追加します。 このステップを「カメラから画像を取得」ステップの後に配置します。「カメラから画像を取得」ステップの「カメラ深度画像」の出力ポートを、「深度画像を点群に変換」ステップの「カメラ深度画像」の入力ポートにつなぎます。
この2つのステップの「カメラカラー画像」の入力・出力ポートを、このような方法でつなぎます。このステップのパラメータ設定は不要です。
上図のような状態になると、「深度画像を点群に変換」ステップの追加と必要なデータの入力設定は完了しました。
このステップが追加された後、不要な点群の干渉を減らし、後続のステップの処理時間を短縮するために、2D関心領域を選択する必要があります。 このステップを選択し、ステップパラメータをクリックして2D ROIを設定をクリックします。クリック後、表示される画面で2D ROIの設定を行います。設定方法については、 ROI設定 をご参照ください。
-
次に法線ベクトルの計算を行います。ステップ「点群の法線ベクトルを計算してフィルタリング」を追加します。このステップにより、入力点群内の各点の法線ベクトルを計算し、位置情報のみを含む点群データを法線ベクトル付きの点群データに変換することができます。 このステップを「深度画像を点群に変換」ステップの後に配置します。「深度画像を点群に変換」ステップの 「点群」出力ポートを、「点群の法線ベクトルを計算してフィルタリング」ステップの「点群」入力ポートにつなぎます。
法線ベクトル付きの点群を取得したら、点群マッチングを行います。「3D位置姿勢低精度推定」と「3D位置姿勢高精度推定」ステップを使用します。
-
これから、点群の大まかなマッチングを行います。ステップ「3D位置姿勢低精度推定」を追加します。このステップにより、事前に作成した点群モデルを入力の法線ベクトル付きの点群と大まかにマッチングすることができます。また、マッチング結果が得られた後、マッチングした位置に従って対象物の幾何学的中心または把持位置姿勢が生成されます。 このステップを「点群の法線ベクトルを計算してフィルタリング」ステップの後に配置します。「点群の法線ベクトルを計算してフィルタリング」ステップの「法線ベクトル付きの点群」出力ポートを、「3D位置姿勢低精度推定」ステップの「法線ベクトル付きの点群」入力ポートにつなぎます。
その後、事前に作成したモデルファイルと幾何学中心的ファイルをインポートします。 「3D位置姿勢低精度推定」ステップを選択し、ステップパラメータをクリックして をクリックします。モデルファイルと幾何学中心的ファイルを選択してインポートします。
モデルファイルと幾何学的中心ファイルの作成方法については、 マッチングモデル・把持位置姿勢エディタ をご参照ください。
-
続いて精確なマッチングを行います。ステップ「3D位置姿勢高精度推定」を追加します。このステップにより、「3D位置姿勢低精度推定」で得られたマッチング結果をより精確なマッチング計算を実行することでより高精度なマッチング結果を取得し、高精度の幾何学的中心または把持位置姿勢を生成できます。 このステップを「3D位置姿勢低精度推定」ステップの後に配置します。「点群の法線ベクトルを計算してフィルタリング」ステップの「法線ベクトル付きの点群」出力ポートを「3D位置姿勢高精度推定」ステップの「法線ベクトル付きの点群」入力ポートにつなぎ、「3D位置姿勢低精度推定」ステップの「大まかな候補位置姿勢」出力ポートを「3D位置姿勢高精度推定」ステップの「大まかな候補位置姿勢」入力ポートにつなぎます。
「3D位置姿勢高精度推定」により精確な位置姿勢を取得した後、位置姿勢の変換を行います。
「3D位置姿勢低精度推定」ステップと同じ方法で、モデルファイルと幾何学中心的ファイルを「3D位置姿勢高精度推定」ステップに追加します。
-
さらに、位置姿勢の座標系を変換します。ステップ「位置姿勢を変換」を追加します。このステップにより、入力されたカメラ座標系での位置姿勢をロボット座標系に変換することができます。 このステップを「3D位置姿勢高精度推定」ステップの後に配置します。「3D位置姿勢高精度推定」ステップの「把持位置姿勢」出力ポートを、「位置姿勢を変換ステップの「元の位置姿勢」入力ポートにつなぎます。このステップのパラメータ設定は不要です。このステップのパラメータ設定は不要です。
-
最後にデータの送信を行います。ステップ「出力」を追加します。このステップにより、データをMech-Centerに送信して、後でMech-Centerからデータを使用するソフトウェアとハードウェアに送信します。 このステップを「位置姿勢を変換」の後に配置します。「位置姿勢を変換」ステップの「変換後の位置姿勢」出力ポートを、「出力」ステップの「Abstract Poses」入力ポートにつなぎます。それで、このポート名は「PoseList poses」になります。つなぐ前とつないだ後の効果はそれぞれ下図の①と②に示します。
これで、簡単なマッチングプロジェクトの構築は完了しました。メニュバーで
をクリックするか、ショートカットキーCtrl + Sを押してプロジェクトを保存することができます。
ステップが追加された後、データ転送関係をより直感的にするために、ステップのレイアウトを調整できます。以下の3つの方法があります。
|
プロジェクトの構築が完了したら、 プロジェクトを実行してデバッグ することができます。