自動キャリブレーション(Eye in Hand)
本節では、カメラがEye in Hand (EIH) 方式で取り付けられている場合に自動キャリブレーションを実行する方法について説明します。
事前準備
以下は、ロボットハンド・アイ・キャリブレーションを実行する前に必要な事前準備です。
-
Mech-Mindビジョンシステムを構築します。
-
キャリブレーションに必要なものを準備します。
-
キャリブレーションボードの点群画像生成を調整します。
-
ロボットと通信の設定を完了します。
ビジョンシステムを構築
Mech-Mindビジョンシステムの構築については、「ビジョンシステムを構築」節をご参照ください。
ハンド・アイ・キャリブレーションを実行するには、Mech-Eye Viewer、Mech-Center、Mech-VisionおよびMech-Vizの使用が必要です。これらのソフトウェアがインストールされ、最新バージョンにアップグレードされていることを確認してください。
キャリブレーションに必要なものを準備
カメラがEye in Hand方式で取り付けられている場合、自動キャリブレーションを実行するにはキャリブレーションボードの使用が必要です。
キャリブレーションボードについては、以下の要件があります。
-
キャリブレーションボードの白い円がはっきりと見えること、破損や曲げ変形がないことを確認してください。
-
キャリブレーションボードを作業平面の中心に配置してください。
また、キャリブレーションを実行する前に、ロボットをキャリブレーションの開始位置に移動させてください。Eye in Handでは、キャリブレーションの開始位置はカメラの稼働位置となります。ロボットは、カメラを移動させて下から上にキャリブレーションを実行します。
キャリブレーションボードの点群画像生成を調整
-
Mech-Eye Viewerを起動し、カメラパラメータを調整します。
-
2Dパラメータを調整して、2D画像にキャリブレーションボードがはっきり見られ、露光過度や露光不足などがないようにします。
-
3Dパラメータを調整して、キャリブレーションボードの白い円の点群が完全に見られるようにします。点群の変動範囲を小さくするために、点群後処理の中の点群平滑化とノイズ除去をNormalに設定することを推奨します。
現場の環境光が複雑な場合、2D画像や点群への影響を軽減するために、遮光・補光することを推奨します。
-
上記の手順を完了することで、キャリブレーションボードの点群の画像品質が要件を満たしていることを確認します。
正常 露光過度 露光不足 2D画像
点群
ロボット通信設定
ロボット側は標準インターフェース方式でビジョン側と通信する場合、ロボット側で標準インターフェースの通信設定を行ってください。詳細については、 標準インターフェース通信 をご参照ください。
ロボット側はVizティーチング方式でビジョン側と通信する場合、ロボット側でVizティーチングの通信設定を行ってください。詳細については、 Vizティーチング通信 をご参照ください。
キャリブレーション前の設定
ロボット側は標準インターフェース方式でビジョン側と通信する場合、 キャリブレーション前の設定(標準インターフェース) を行ってください。
ロボット側はVizティーチング方式でビジョン側と通信する場合、 キャリブレーション前の設定(Vizティーチング) を行ってください。
キャリブレーション前の設定(標準インターフェース)
以下の手順を実行します。
-
Mech-Visionを起動し、ツールバーで カメラキャリブレーション(標準モード) をクリックします。すると、キャリブレーション前の設定 画面が表示されます。
-
キャリブレーションの実行方法を選択 画面で、 新なキャリブレーションを開始 を選択し、 次へ をクリックします。
-
キャリブレーションのタスクを選択 画面で、ドロップダウンリストから 適応可能なロボットのハンド・アイ・キャリブレーション を選択し、 ロボット型番を選択 をクリックして型番を選択してから、 次へ をクリックします。
-
カメラ取り付け方式を選択 画面で、 Eye in hand にチェックを入れ、次へをクリックします。
-
実行モードとロボットの制御方式を選択 画面で、 自動キャリブレーション と標準インターフェース を選択してから、次へをクリックします。
-
通信設定画面で、実際の状況に応じて通信プロトコルとホストIPアドレスを設定してから インターフェースサービスを起動 をクリックします。このボタンがロボットの接続を待機中…に変わります。
上図では、 TCP Sever と Hex(リトルエンディアン) はABBロボットのプロトコル設定の例です。他のロボットのプロトコル設定は異なります。ソフトウェアは自動的にロボットの初期設定を追加しますので、初期設定のままにしておいてください。 -
ティーチペンダントで自動キャリブレーションのプログラムを選択し、キャリブレーションの開始位置を定義してキャリブレーションプログラムを実行します。様々なロボットに対応するキャリブレーション手順については、 標準インターフェース通信 をご参照ください。キャリブレーションプログラムが正常に起動されると、ログに「キャリブレーションプロセスに入ります。Mech-Visionでキャリブレーションを実行してください。」が表示されます。
-
Mech-Visionに戻り、 ロボットを接続 の下で「接続済み」が表示されることを確認してから 実行 をクリックします。すると、キャリブレーション(Eye to Hand)画面が表示されます。
キャリブレーション前の設定(Vizティーチング)
以下の手順を実行します。
-
Mech-Visionを起動し、ツールバーでカメラキャリブレーション(標準モード) をクリックします。すると、キャリブレーション前の設定 画面が表示されます。
-
キャリブレーションの実行方法を選択 画面で、 新なキャリブレーションを開始 を選択し、 次へ をクリックします。
-
キャリブレーションのタスクを選択 画面で、ドロップダウンリストから 適応可能なロボットのハンド・アイ・キャリブレーション を選択し、 ロボット型番を選択 をクリックして型番を選択してから、 次へ をクリックします。
-
カメラ取り付け方式を選択 画面で、 Eye in hand にチェックを入れ、次へをクリックします。
-
実行モードとロボットの制御方式を選択 画面で、 自動キャリブレーション と Vizティーチング を選択して 次へ をクリックします。
-
次の画面で ロボットIPアドレス を設定します。
-
ティーチペンダントで Vizとの通信プログラムを選択して実行します 。様々なロボットに対応する実行方法については、 Vizティーチング通信 をご参照ください。
-
Mech-Visionに戻り、ロボットを接続エリアの下にロボットを接続をクリックします。このボタンがロボットの接続を待機中…に変わります。
-
ロボットを接続 の下で「接続済み」が表示されることを確認してから実行をクリックします。すると、キャリブレーション(Eye to Hand)画面が表示されます。
これで、キャリブレーション前の設定が完了し、キャリブレーションに進むことになります。
キャリブレーションの実行手順
カメラ接続
-
カメラに接続 手順で、検出されたカメラ から接続するカメラを選択して をクリックするか、ダブルクリックして接続します。
-
カメラ接続後、一回キャプチャまたは連続キャプチャをクリックします。
-
画像ビューでは、取得した2D画像と深度画像が要件を満たしていることを確認してから、下部にある次へをクリックします。
取得した画像が要件を満たしていない場合、Mech-Eye Viewerを起動し、 カメラの2Dと3D露出パラメータを調整 して再取得する必要があります。
キャリブレーションボードの取り付け
-
キャリブレーションボードの取り付け 手順で、1. キャリブレーションボードの型番を選択で 標準 を選択し、キャリブレーションボードに貼られているラベルに従って型番を選択します。
-
キャリブレーションボードが作業平面の中心に配置されていることを確認してから、 2. キャリブレーションボードの取り付けで確認をクリックします。
-
キャリブレーションボードがカメラの視野中心(赤い長方形)にあることを確認してから、3. キャリブレーションボードを赤い長方形に配置で確認をクリックします。
-
キャリブレーションボードに関するすべての操作が完了したら、下部にある次へをクリックします。
カメラの内部パラメータをチェック
-
内部パラメータをチェック手順でチェックを開始をクリックします。
-
内部パラメータのチェック結果を確認します。
-
カメラの内部パラメータが合格した場合、OKをクリックして次へをクリックします。
-
カメラの内部パラメータが合格しなかった場合、補助円を描画するか、キャリブレーションボードの白い円の検出パラメータを手動で編集してから、再度チェックをクリックします。
-
補助円を描画
-
補助円を描画する場合、補助円を描画をクリックします。
-
右側の画像ビューパネルで、キャリブレーションボードの画像を右クリックし、ウィンドウに合わせる のチェックを外します。その後、Ctrlキーを押しながらスクロールホイールをドラッグして画像のサイズを適切な大きさに変更します。
-
キャリブレーションボードの白い円の十字型の中心にマウスポインタを合わせて、マウスの左ボタンを押し、補助円をキャリブレーションボードの白い円に完全に含ませてから離します。
-
再度チェックをクリックし、カメラ内部パラメータのチェックが合格したことを確認します。
検出パラメータを手動で調整
検出パラメータを手動で調整する場合、キャリブレーションボードの白い円の検出パラメータ(詳細設定) をクリックし、実際の状況に応じてパラメータ値を変更します。
それでもキャリブレーションボードの白い円が検出されない場合、現場の環境に応じてカメラの関連パラメータを調整する必要があります。カメラパラメータの調整については、 パラメータ調整 をご参照ください。
ロボット経路を設定
-
ロボット経路を設定手順で、高さ範囲を設定します。
高さ範囲は、カメラの推奨稼働範囲とロボットの動作領域に応じて設定する必要があります。
-
カメラとロボットのフランジ座標系のZ軸が平行でない場合、経路を自動的に合わせるをクリックします。
-
実際の状況に応じて経路のタイプを設定する必要があります。ここでInHandに設定します。ピラミッド型の経路パラメータで高さ範囲、層数、最下層サイズ、最上層サイズと層ごとの移動グリッドの列と行数を設定し、衛星パラメータでロボットの移動回数、中心からキャリブレーションボードまでの高さと半径を設定してから、確認をクリックします。
-
右側のシーンビューのパネルで、各経路点の位置が正確で、周囲と衝突していないことを確認します。
-
確認後、下部にある次へをクリックします。
画像と位置姿勢を取得
-
画像と位置姿勢を取得手順で、画像を保存にチェックを入れ、経路に沿ってロボットを自動で移動させ、画像を撮影をクリックします。
-
ロボット動作の安全に関する説明をよく読んでから、OKをクリックします。
-
ロボットが設定した経路に沿って移動し、カメラが各経路点で画像取得を完了するのを待ちます。右側の画像ビューパネルで取得された画像が表示されます。
-
ロボット動作中に、ロボットの動作範囲に近づかないようにしてください。
-
「ロボットを停止」ボタンをクリックするとキャリブレーションを終了しますが、ロボットはすぐには停止せず、現在の経路点に達するまで停止します。緊急時にロボットティーチペンダントの非常停止ボタンを押してください。非常停止を押した後、ロボットに再接続する必要があります。
-
-
画像が取得した後、表示される画面でOKをクリックします。
-
認識したキャリブレーション位置姿勢が要件を満たしていることを確認してから、下部にある次へをクリックします。
要件を満たしていない場合、ロボットを手動で移動した後(ティーチペンダントでもMech-Vizでも選択可能)、画像を手動で追加にチェックを入れ、画像を追加してフランジ位置姿勢を記録をクリックし、キャリブレーションボードの画像を追加してロボットのフランジ位置姿勢を入力する必要があります。
カメラパラメータを計算
-
カメラパラメータを計算手順で、「パラメータの計算設定」を展開し、回転結果と並進結果を別々に計算にチェックを入れてから、カメラの外部パラメータを計算をクリックします。
-
キャリブレーションが正常に実行されたことを示すダイアログで、OKをクリックします。
-
右側の点群ビューパネルでキャリブレーションの誤差点群が表示されます。
誤差点群は、各キャリブレーション位置姿勢におけるキャリブレーションボードの白い円の実際の値と計算値との偏差を示すために使用されます。 -
キャリブレーション精度が要件を満たしていることを確認します。
キャリブレーション精度は、100%を占める誤差の値を求めることで、おおよそ判断することができます。例えば、下図は2.5 mm以下の精度を示しています。
キャリブレーション精度を向上させるには、 キャリブレーション結果の分析 をご参照ください。
キャリブレーション結果の確認と保存
カメラの外部パラメータを計算した後、シーンビューで固定点に対するキャリブレーションボードの点群(キリブレーションボードの白い円の十字中心)のずれを確認することで、キャリブレーション結果を大まかに判断することができます。詳細は以下の通りです。
-
キャリブレーションボードを固定位置に配置します。
-
Mech-Vizを起動し、固定点を追加し、それをキャリブレーションボードの白い円の1つの十字の中心に合わせます。
-
ステップライブラリから「移動」ステップを選択して、それをプロジェクト編集エリアにドラッグします。
-
このステップをクリックして選択し、ステップパラメータで目標点タイプを「対象物位置姿勢」に設定します。それがキャリブレーションボードの白い円のいずれかの十字中心と一致するように、位置姿勢のX/Y/Z座標値を調整します。
-
-
ロボットを制御してカメラの位置姿勢を数回変更し、キャリブレーションの カメラパラメータを計算 手順で 外部パラメータを再計算 ボタンをクリックします。クリックすると、カメラが撮影を行います。
-
シーンビューで、キャリブレーションボードの点群が固定点に対して大きくなずれがあるかどうかを確認します。
キャリブレーションボードの点群が固定点に対して大きくなずれがない場合、キャリブレーション結果が使用可能であることを示します。
|
-
下部にある 保存 をクリックし、ポップアップする キャリブレーションファイルを保存 画面で OK をクリックします。すると、カメラのキャリブレーション結果は、プロジェクトの「calibration」ディレクトリに自動的に保存されます。
これで、キャリブレーション手順が完了しました。