TCPタッチ法を使用する手動キャリブレーション(Eye in Hand)

本節では、カメラがEye in Hand (EIH)方式で取り付けられている場合にTCPタッチ法で手動キャリブレーションを実行する方法について説明します。

事前準備

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

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

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

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

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

ビジョンシステムを構築

Mech-Mindビジョンシステムの構築については、「ビジョンシステムを構築」節をご参照ください。

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

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

カメラがEye in Hand方式で取り付けられている場合、手動キャリブレーションを実行するにはキャリブレーションボードとTCP先端の使用が必要です。

キャリブレーションボードについては、以下の要件があります。

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

  • キャリブレーションボードを作業平面の中心に配置してください。

TCP先端をロボットフランジに取り付ける必要があります。ロボットフランジに取り外しができないハンドがある場合、TCP先端をハンドに直接固定します。

また、キャリブレーションを実行する前に、ロボットをキャリブレーションの開始位置に移動させてください。

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

  1. Mech-Eye Viewerを起動し、カメラパラメータを調整します。

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

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

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

  4. 上記の手順を完了することで、キャリブレーションボードの点群の画像品質が要件を満たしていることを確認します。

    正常 露光過度 露光不足

    2D画像

    normal-2d

    overexposure-2d

    underexposure-2d

    点群

    normal-3d

    overexposure-3d

    underexposure-3d

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

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

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

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

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

    calibration manual calib preset select robot type
  5. カメラ取り付け方式を選択画面で、Eye in handにチェックを入れ、次へをクリックします。

    calibration calib preset eih
  6. データの取得方法を選択 画面で、TCPタッチ法を選択してから、実行をクリックします。すると、キャリブレーション(Eye in Hand)画面が表示されます。

    calibration manual calib preset manual select method tcptouch

これで、キャリブレーション前の設定が完了し、キャリブレーションに進むことになります。

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

カメラ接続

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

    calibration manual connect camera tcptouch
  2. カメラ接続後、一回キャプチャまたは連続キャプチャをクリックします。

    calibration manual image capture tcptouch
  3. 画像ビューでは、取得した2D画像と深度画像が要件を満たしていることを確認した上で次へをクリックします。

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

キャリブレーションボードの取り付け

  1. キャリブレーションボードの取り付け手順で、 1. キャリブレーションボードの型番を選択標準を選択し、キャリブレーションボードに貼られているラベルに従って型番を選択します。

    calibration manual select calib board tcptouch
  2. キャリブレーションボードが作業平面の中心に配置されていることを確認してから、 2. キャリブレーションボードの取り付け確認をクリックします。

  3. キャリブレーションボードがカメラの視野中心(赤い長方形)にあることを確認してから、3. キャリブレーションボードを赤い長方形に配置確認をクリックします。

  4. キャリブレーションボードに関するすべての操作が完了したら、下部にある次へをクリックします。

カメラの内部パラメータをチェック

  1. 内部パラメータをチェック手順でチェックを開始をクリックします。

    calibration manual check intri tcptouch
  2. 内部パラメータのチェック結果を確認します。

    • カメラの内部パラメータが合格した場合、OKをクリックして次へをクリックします。

      calibration check intri pass
    • カメラの内部パラメータが合格しなかった場合、補助円を描画するか、キャリブレーションボードの白い円の検出パラメータを手動で編集してから、再度チェックをクリックします。

補助円を描画

  1. 補助円を描画する場合、補助円を描画をクリックします。

  2. 右側の画像ビューパネルで、キャリブレーションボードの画像を右クリックし、ウィンドウに合わせるのチェックを外します。その後、Ctrlキーを押しながらスクロールホイールをドラッグして画像のサイズを適切な大きさに変更します。

  3. キャリブレーションボードの白い円の十字型の中心にマウスポインタを合わせて、マウスの左ボタンを押し、補助円をキャリブレーションボードの白い円に完全に含ませてから離します。

    calibration adjust blob
  4. 再度チェックをクリックし、カメラ内部パラメータのチェックが合格したことを確認します。

検出パラメータを手動で調整

検出パラメータを手動で調整する場合、キャリブレーションボードの白い円の検出パラメータ(詳細設定)をクリックし、実際の状況に応じてパラメータ値を変更します。

それでもキャリブレーションボードの白い円が検出されない場合、現場の環境に応じてカメラの関連パラメータを調整する必要があります。カメラパラメータの調整については、 パラメータ調整 をご参照ください。

フランジ座標系でTCP値を設定

  1. フランジ座標系でTCP値を設定手順で、既知のTCPを記入 を選択します。

    calibration manual set flange pose manual tcptouch
  2. TCP値を確認をクリックします。

  3. 確認後、下部にある次へをクリックします。

    TCPが未知の場合、キャリブレーションによるTCP値を取得を選択して TCPキャリブレーションをクリックします。TCPキャリブレーションツールを使用してTCP値を計算できます。

画像と位置姿勢を取得

  1. 画像と位置姿勢を取得手順で、画像を保存にチェックを入れます。

  2. TCP先端がキャリブレーションボードのポイント1の十字型の中心にタッチするようにロボットを移動させ、ティーチペンダントでのロボットのフランジ位置姿勢を読み取ります。

  3. ポイント1の add_button をクリックし、表示されるロボットのフランジ位置姿勢を入力画面でロボットのフランジ位置姿勢を入力してから、OKをクリックします。

    calibration manual add pose tcptouch
  4. 上記の手順をクリックし、TCP先端がポイント2とポイント3での十字型の中心にタッチし、ロボットのフランジ位置姿勢を入力します。

  5. キャリブレーションボードの add_button をクリックし、キャリブレーションボードの画像を取得します。

  6. データを更新をクリックし、下部にある次へ をクリックします。

    calibration manual add image pose tcptouch

    キャリブレーションでは、外部パラメータを計算するために、少なくとも3つの共線でないポイントをタッチする必要があります。

カメラパラメータを計算

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

    calibration manual calculate extri params tcptouch
  2. キャリブレーションが正常に実行されたことを示すダイアログで、OKをクリックします。

    calibration manual confirm calib result manual tcptouch
  3. 右側の点群ビューパネルでキャリブレーションの誤差点群が表示されます。

    誤差点群は、各キャリブレーション位置姿勢におけるキャリブレーションボードの白い円の実際の値と計算値との偏差を示すために使用されます。
  4. キャリブレーション精度が要件を満たしていることを確認します。

    キャリブレーション精度は、100%を占める誤差の値を求めることで、おおよそ判断することができます。例えば、下図は2.5 mm以下の精度を示しています。

    calibration error point cloud

キャリブレーション精度を向上させるには、 キャリブレーション結果の分析 をご参照ください。

キャリブレーション結果の確認と保存

カメラの外部パラメータを計算した後、シーンビューで固定点に対するキャリブレーションボードの点群(キリブレーションボードの白い円の十字中心)のずれを確認することで、キャリブレーション結果を大まかに判断することができます。詳細は以下の通りです。

  1. キャリブレーションボードを固定位置に配置します。

  2. Mech-Vizを起動し、固定点を追加し、それをキャリブレーションボードの白い円の1つの十字の中心に合わせます。

    1. ステップライブラリから「移動」ステップを選択して、それをプロジェクト編集エリアにドラッグします。

    2. このステップをクリックして選択し、ステップパラメータで目標点タイプを「」に設定します。それがキャリブレーションボードの白い円のいずれかの十字中心と一致するように、位置姿勢のX/Y/Z座標値を調整します。

  3. ロボットを制御してカメラの位置姿勢を数回変更し、キャリブレーションの カメラパラメータを計算 手順で 外部パラメータを再計算 ボタンをクリックします。クリックすると、カメラが撮影を行います。

  4. シーンビューで、キャリブレーションボードの点群が固定点に対して大きくなずれがあるかどうかを確認します。

    キャリブレーションボードの点群が固定点に対して大きくなずれがない場合、キャリブレーション結果が使用可能であることを示します。

    calibration reference plate point cloud
  1. EIHの場合、ロボットが接続されていないとロボットの位置姿勢はリアルタイムで取得できないため、シーンビューまたはMech-Vizに表示される正確な点群を確認するには、画像撮影時のロボットの位置姿勢を記入する必要があります。

  2. シーンビューに加え、キャリブレーションボードの点群が固定点に対して大きくずれていないかどうかをMech-Vizで確認することも可能です。

  1. 下部にある保存をクリックし、ポップアップする キャリブレーションファイルを保存 画面でOKをクリックします。すると、カメラのキャリブレーション結果は、プロジェクトの「calibration」ディレクトリに自動的に保存されます。

これで、キャリブレーション手順が完了しました。