直行ロボットのハンド・アイ・キャリブレーション

本節では、直行ロボットのハンド・アイ・キャリブレーションを実行する方法について説明します。

直行ロボットのハンド・アイ・キャリブレーションの概念や外部パラメータファイルの使用については、 直行ロボットのハンド・アイ・キャリブレーションの説明 をご参照ください。

事前準備

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

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

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

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

ビジョンシステムを構築

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

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

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

以下のものが必要です。

  • キャリブレーションボード

  • TCP先端

  • 巻尺

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

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

  • 直行ロボットのハンド・アイ・キャリブレーションでは、キャリブレーションボードを作業平面の中心に平らに配置してください。

TCP先端は直行ロボットのハンドに取り付ける必要があります。巻尺を使用して、TCP先端からフランジの中心までのX、Y、Z方向のオフセットを測定します。

calibration truss point intall

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

  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
    • ロボットの座標系タイプは、 左・右手系 を参照して確認できます。直行ロボットが左手系を使用している場合は、ここで左手系を選択してください。

    • ロボットと通信する際、通信モジュールは送受信したロボットの位置姿勢を自動的に右手系に変換します。ロボット側からのロボット位置姿勢を受信した場合、左手座標系の位置姿勢を自動的に右手座標系の位置姿勢に変換します。ソフトウェアから出力された位置姿勢をロボット側に送信する前に、右手座標系の位置姿勢を左手座標系の位置姿勢に変換します。

    • キャリブレーション中にロボットのフランジ位置姿勢を手動で入力する場合、Y軸の値を反転させる必要があります。

  4. キャリブレーションするためのロボットを選択画面で、 直行ロボット(最大6自由度に対応、XYZABC)を選択してから次へをクリックします。

    calibration truss calib preset select robot truss
  5. カメラに影響を与える軸を選択 画面で、実際の状況に応じて軸(X軸Y軸Z軸Rzなど)を選択してから実行をクリックします。

    calibration truss calib preset select affected axes

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

カメラ接続

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

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

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

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

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

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

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

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

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

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

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

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

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

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

補助円を描画

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

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

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

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

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

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

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

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

この手順を実行する前に、巻尺を使用してTCP先端からフランジ中心までのX、Y、Z方向のオフセット値(ミリメートル単位)を測定する必要があります。

フランジ座標系でTCP値を設定 手順で、測定したX、Y、Z方向のオフセット値をX、Y、Zのテキストボックスに入力し、TCP値を確認をクリックしてから、下部にある次へをクリックします。

calibration truss set tcp offset truss

左手系を使用する直行ロボットの場合、入力前にY軸の値を反転させる必要があります。

画像と位置姿勢を取得

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

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

    左手系を使用する直行ロボットの場合、ロボットのフランジ位置姿勢を入力する前にY軸の値を反転させる必要があります。

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

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

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

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

    • 直行ロボットがある方向の自由度を持たない場合、複数のキャリブレーションボードの位置姿勢を追加することができます。以下では、Y軸の自由度を持たないことを例として説明します。まず、TCP先端がキャリブレーションボード上の2つのポイントをタッチできるようにキャリブレーションボードの方向を調整し、ロボットのフランジ位置姿勢を入力してキャリブレーションボードの画像を取得します。次に、キャリブレーションボードの位置をZ方向に上に調整(または下に調整)し、X方向にキャリブレーションボード上のポイントをタッチし、ロボットのフランジ位置位置を入力してキャリブレーションボードの画像を取得します。移動されたキャリブレーションボードの位置が、前の位置と大きく異なっていることを確認してください。

カメラパラメータを計算

  1. カメラパラメータを計算手順で、カメラの外部パラメータを計算をクリックします。

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

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

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

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

    calibration error point cloud tcptouch

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

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

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

  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」ディレクトリに自動的に保存されます。

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

直行ロボットのハンド・アイ・キャリブレーションについての説明は終わります。