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