ハンド・アイ・キャリブレーション(Eye to Eye)

本節では、カメラがEye to Eye方式で取り付けられている場合にキャリブレーションを実行する方法について説明します。

注釈

ハンド・アイ・キャリブレーション(Eye to Eye)の詳細な説明については、 2台カメラのキャリブレーション(Eye to Eye) をご参照ください。

事前準備

以下は、ロボットハンド・アイ・キャリブレーションを実行する前に必要な事前準備です。

  • Mech-Mindビジョンシステムを構築します。

  • キャリブレーションに必要なものを準備します。

  • キャリブレーションボードの点群画像生成を調整します。

  • ロボットと通信の設定を完了します。

Mech-Mindビジョンシステムを構築

詳細については、 ビジョンシステムを構築 をご参照ください。

ハンド・アイ・キャリブレーションには、Mech-Eye Viewer、Mech-Center、Mech-VisionおよびMech-Vizが必要です。これらのソフトウェアがインストールされ、最新バージョンにアップグレードされていることを確認してください。

キャリブレーションに必要なものを準備

カメラがEye to Eye方式で取り付けられている場合、キャリブレーションを実行するにはキャリブレーションボードの使用が必要です。キャリブレーションボードについては、以下の要件があります。

  • キャリブレーションボードの白い円がはっきりと見えること、破損や曲げ変形がないことを確認してください。

  • キャリブレーションボードのコネクタをロボット先端のフランジに取り付け、そのコネクタにキャリブレーションボードを取り付けます。キャリブレーションボードがしっかりと取り付けられていること、ロボット先端のXY平面と平行であることを確認してください。

    注釈

    ロボットフランジに取り外しができないハンドがある場合、キャリブレーションボードをハンドに直接固定します。

また、キャリブレーションを実行する前に、2つのカメラの視野が重なる領域の最下部中央をキャリブレーション開始位置として、ロボットを移動させます。

キャリブレーションボードの点群画像生成を調整

  1. Mech-Eye Viewerソフトウェアを起動し、2つのカメラをそれぞれ接続し、カメラのパラメータを調整します。

  2. 2Dパラメータ を調整して、2D画像にキャリブレーションボードがはっきり見られ、露光過度や露光不足などがないようにします。

  3. 3Dパラメータ を調整して、キャリブレーションボードの白い円の点群が完全に見られるようにします。点群の変動範囲を小さくするために、 点群後処理 の中の 点群平滑化ノイズ除去 をNormalに設定することを推奨します。

    注釈

    現場の環境光が複雑な場合、2D画像や点群への影響を軽減するために、遮光・補光することを推奨します。

  4. 上記の手順を実行して、下図のようにキャリブレーションボードの白い円の点群が完全で輪郭がはっきり表示されていることを確認してください。

../../_images/clear-board.png

ヒント

キャリブレーション中にカメラの2D画像ソースは同じソースのテクスチャ画像であるため、取得した画像と得られたシーンの点群は白黒画像となります。

キャリブレーション前の設定

標準インターフェース通信またはVizティーチング通信の場合、自動キャリブレーション(Eye to Hand)の キャリブレーション前の設定 を参照して設定を行います。

Eye to Eyeのキャリブレーション前の設定は、 カメラの取り付け方式 画面で Eye to eye を選択する必要があります。

../../_images/calib_preset_ete.png

ロボットが標準インターフェース通信またはVizティーチング通信に対応していない場合、標準キャリブレーション法を使用する手動キャリブレーション(Eye to Hand)の キャリブレーション前の設定 を参照して設定を行います。

上記のキャリブレーション手順と比較して、Eye to Eyeのキャリブレーション前の設定は、以下の手順が異なります。

  1. カメラの取り付け方式 画面で Eye to eye を選択する必要があります。

    ../../_images/calib_preset_ete.png
  2. データの取得方法を選択 画面で、 標準キャリブレーション法 を選択します。

    ../../_images/calib_preset_ete_random.png

キャリブレーションの実行手順

カメラ接続

  1. カメラに接続 手順で、検出されたカメラ から接続するサブカメラを選択して icon_1 をクリックするか、ダブルクリックして接続します。

    ../../_images/connect_camera_ete.png
  2. 上記の手順を繰り返してメインカメラに接続します。接続後、カメラIDの前に master が表示されます。

    ちなみに

    メインカメラを切り替えるには、カメラを選択し、 メインカメラとして をクリックします。

  3. 接続後、 一回キャプチャ または 連続キャプチャ をクリックします。

    ../../_images/image_capture_ete.png
  4. 画像ビュー では、取得した2D画像と深度画像が要件を満たしていることを確認してから、下部にある 次へ をクリックします。

    注釈

    • 取得した画像が要件を満たしていない場合、Mech-Eye Viewerで カメラの2Dと3D露光のパラメータを調整 して画像を再取得する必要があります。

    • この手順では、メインカメラの2D画像と深度画像のみが取得されます。サブカメラの画像取得効果を確認するには、それをメインカメラに設定し、画像取得効果を確認してから元の設定に戻ります。

その他の手順

ロボットが標準インターフェース通信またはVizティーチング通信に対応している場合、自動キャリブレーション(Eye to Hand)の キャリブレーション手順 を参照して残りの設定を行います。

ロボットが標準インターフェース通信またはVizティーチング通信に対応していない場合、標準キャリブレーション法を使用する手動キャリブレーション(Eye to Hand)の キャリブレーション手順 を参照して残りの設定を行います。

注釈

  • 画像と位置姿勢を取得 手順で、ソフトウェアは2つのカメラを同時に使用して画像と位置姿勢を取得します。異なるカメラで取得したキャリブレーションボードの画像とキャリブレーションボードの白い円の情報を確認する場合、 画像と位置姿勢一覧 パネルでカメラを切り替えることができます。

  • カメラパラメータを計算 手順で、ソフトウェアは2つのカメラの外部パラメータに加え、サブカメラがメインカメラの座標系における位置姿勢の変換関係も計算します。

キャリブレーション精度が要件を満たしていることを確認してデータを保存

  1. カメラパラメータを計算 手順で、キャリブレーション結果が計算した後、右側の 点群ビュー パネルでキャリブレーションの誤差点群を確認します。

    注釈

    異なるカメラのキャリブレーションの誤差点群を確認する場合、 画像と位置姿勢一覧 パネルでカメラを切り替えることができます。

  2. キャリブレーション精度は、100%を占める誤差の値を求めることで、おおよそ判断することができます。

  3. キャリブレーション精度が要件を満たしていることを確認してから、下部にある 保存 をクリックします。

  4. 表示される キャリブレーションファイルの保存 のダイアログで、 OK をクリックすると、キャリブレーション結果がプロジェクトディレクトリに保存されます。

これで、キャリブレーション手順が完了しました。キャリブレーション精度を向上させるには、 キャリブレーション結果の分析 をご参照ください。

キャリブレーション済みの外部パラメータによる2つのカメラの位置姿勢関係を計算

2つのカメラの外部パラメータを別々にキャリブレーションした後、Eye to Eyeのキャリブレーションで2つのカメラの位置姿勢関係を直接計算することができます。

キャリブレーション済みの外部パラメータで2つのカメラの位置姿勢関係を計算するには、以下の手順を実行します。

  1. Mech-Visionを起動し、ツールバーで カメラキャリブレーション(標準モード) をクリックします。すると、 キャリブレーション前の設定 画面が表示されます。

  2. キャリブレーションの実行方法を選択 画面で、 新なキャリブレーションを開始 を選択してから 次へ をクリックします。

    ../../_images/calib_preset_new.png
  3. キャリブレーションのタスクを選択 画面で、ドロップダウンリストから その他のロボットのハンド・アイ・キャリブレーション を選択し、必要に応じて ロボットのオイラー角のタイプ を指定し、ロボットの座標系を選択してから 次へ をクリックします。

    ../../_images/calib_preset_select_robot_other.png
  4. キャリブレーションするためのロボットを選択 画面で、実際の状況に応じて 6軸ロボット4軸ロボット または 5軸、または他のタイプのロボット を選択してから、 次へ をクリックします。

    ../../_images/calib_preset_select_robot_type1.png
  5. カメラ取り付け方式を選択 画面で、 Eye to eye にチェックを入れ、 次へ をクリックします。

    ../../_images/calib_preset_ete.png
  6. データの取得方法を選択 画面で、 キャリブレーション済みの外部パラメータによる計算 を選択し、2つのカメラの外部パラメータファイルを選択してから 実行 をクリックします。すると、 キャリブレーション(Eye to Hand) 画面が表示されます。

    ../../_images/calib_preset_ete_calculate.png
  7. カメラに接続 手順で、 検出されたカメラ から接続するカメラを選択して icon_1 をクリックするか、ダブルクリックして接続します。

  8. 繰り返して2番目のカメラに接続してから、下部にある 次へ をクリックします。

  9. カメラパラメータを計算 手順で、 パラメータの計算設定 を展開し、 回転結果と並進結果を別々に計算 にチェックを入れてから、 カメラの外部パラメータを計算 をクリックします。

    ../../_images/calcualte_extri_param_ete_quick.png

外部パラメータが計算した後、 点群ビュー パネルで融合された点群が表示されます。

Mech-Visionプロジェクトでキャリブレーションの融合効果を確認

下図のようなプロジェクトを構築し、「出力がない場合に制御フローをトリガー」と「出力がある場合に制御フローをトリガー」にチェックを入れます。

../../_images/ete_project.png

「データをマージ」ステップをシングル実行すると、融合された点群が表示されます。下図に示すように、データをマージした後の出力点群は、融合された全体点群となります。左上隅にある View as Whole| 1 | 2 をクリックして点群を切り替えることができます。

../../_images/converged_poin_cloud.png