ハンドアイ GUI
はじめに
このガイドでは、 Python サンプルと RoboDK を使用して、 Zivid ハンドアイ GUI のセットアップからキャリブレーション、検証までを順を追って説明します。
ビデオチュートリアル
これは短い動画です。より詳細な解説については、 Eye-to-hand バージョンをご確認ください。
前提条件とセットアップ
Zivid Python がインストール済みであること
[オプション] RoboDK がインストールされ、ロボットのポーズ/ターゲット/セーフポイントが設定されていること。 RoboDK で HE キャリブレーション用のポーズを作成する
ハードウェアのセットアップ:
Zivid カメラが PC に接続されていること
[オプション] RoboDK ロボットライブラリにデジタルツインを持つロボット
[オプション] PC に接続されたロボット
初期化
セッションを選択: 新しいセッションを作成するか、既存のセッションを選択します。セッションとは、取得した点群、ロボットのポーズ、キャリブレーション結果など、ハンドアイキャリブレーションプロセスに関連するすべてのデータが保存されるフォルダです。
Tip
独自のデータセットを作成せずにハンドアイ GUI をテストしたい場合は、既存のセッションとして Hand-Eye Calibration Sample Dataset を読み込むことができます。
カメラを選択: 接続されているカメラの中から1台を選択します。ファームウェアのアップグレードが必要な場合は、次の手順で指示が表示されます。
Select a camera setting: Choose the settings that will be used for the hand-eye calibration. We recommend using the same settings as your final application.
定義済みの YAML 設定ファイルを読み込む場合は、「使用しない」をクリックするとファイルブラウザーが開き、 YAML ファイルを手動で選択できます。ファイルの読み込みを行わない場合は、 Vision Engine と サンプリング(3D) を選択するよう求められます。
通常使用時に GUI から設定ファイルを後から読み込むこともできます。
Select the setup type: Choose the hand-eye calibration type based on your system configurations and the Zivid キャリブレーションオブジェクト you will use.
Select robot configuration: Choose whether you want to use the GUI with or without RoboDK.
注釈
RoboDK が設定されていない場合やロボットが接続されていない場合でも、 GUI を使用することは可能です。ただし、この場合はカメラ関連の機能のみが利用可能となります。ロボットが適切に設定され接続されるまでは、ロボットの接続を必要とする機能は無効になります。
回転表現形式を選択: ロボットに合った回転形式と単位を選択します。リストからロボットを選択するか、設定を手動で構成することができます。下の表にはよく使われるロボットが掲載されていますが、すべての形式がサポートされています。
ポーズ表現とその変換方法の詳細については、 ポーズ変換 を参照してください。
Tip
初期化処理後、 GUI で機能(例:WARMUP)を選択すると、右上にステップごとのチェックリストが表示されます。このチェックリストには、タスクを完了するための正確な手順が記載されており、順番通りに実行する必要があります。
ウォームアップ
最適な 正確度 を得るために、キャリブレーションを行う前にカメラを十分にウォームアップしてください。
詳細については、 カメラのウォームアップガイド を参照してください。
Infield Correction
最良の結果を得るには、ハンドアイキャリブレーションを行う前に Infield Correction を適用してください。
詳細については、 Infield Correction を参照してください。
キャリブレーション
チュートリアルセクション(右上)の手順に従って、 GUI を使用してハンドアイキャリブレーション手順を実行してください。
詳細については、 ハンドアイキャリブレーションプロセス を参照してください。
検証
ハンドアイキャリブレーションを実行した後、カメラ座標系とロボット座標系間の変換の 正確度 を検証することが不可欠です。 GUI には、キャリブレーションの精度と信頼性を確保するためのいくつかの補完的な方法が用意されています。
タッチテストによる検証
この方法では、エンドエフェクタツールの物理的な寸法(ツール先端のオフセットを含む)を指定します。 Zivid カメラでシーンをキャプチャし、ArUco マーカー(既知のタイプと辞書を持つ)を検出します。カメラフレーム内でマーカーの 3D ポーズを推定し、ハンドアイキャリブレーションを使用してロボットベースフレームに変換します。その後、ロボットはエンドエフェクタでマーカーの中心に物理的に接触します。
ツールの仕様と詳細なテスト手順については、 タッチテスト手順 を参照してください。
下の画像は、タッチテストによる検証の期待される結果を示しています。
投影による検証
カメラは、 Zivid キャリブレーションボードの既知のチェッカーボードの角に緑色の円を投影します。
テストは、ロボット座標系におけるキャリブレーションオブジェクトの位置をシステムに指示することによって開始されます。これは、ロボットの既知のポーズとハンドアイ変換行列を使用して、初期キャプチャを行うことによって実施されます。
ロボットの各連続ポーズについて、カメラ座標系におけるキャリブレーションボードの位置が計算されます。これは以下を用いて計算されます。
ロボットのポーズ
ロボット座標系におけるキャリブレーションオブジェクトの既知の位置
ハンドアイ変換行列
計算されたキャリブレーションオブジェクトの位置はプロジェクターの画像平面に投影され、その後プロジェクターを使用して物理的なシーンに投影し直されます。
投影プロセスの詳細については、 Projector を参照してください。
下の画像は、投影による検証の期待される結果を示しています。
ステッチングによる検証
各ロボットのポーズごとに、 Zivid カメラで 3D 点群をキャプチャし、ハンドアイ変換行列を使用してロボットのベースフレームに変換します。この処理をポーズごとに繰り返し、変換された点群を共通のフレームに統合することで、合成されたシーンが作成されます。正確なキャリブレーションを行うと、チェッカーが正確に整列したきれいな再構成画像が得られますが、キャリブレーションが不十分な場合は、チェッカー間のずれや位置ずれなどのアーティファクトが発生します。
次のステップ
検証が問題なく完了した場合は、以下をご確認ください。
ハンドアイキャリブレーションの結果に満足できない場合は、以下の記事のいずれかを参照してください。
関連リンク