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

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

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

事前準備

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

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

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

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

ビジョンシステムを構築

ビジョンシステムのハードウェア設置 を参照してMech-Mindビジョンシステムの構築を完了させてください。

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

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

以下のものが必要です。

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

  • TCP先端

  • 巻尺

キャリブレーションボードは以下の要件を満たす必要があります。

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

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

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

truss calib install tip

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

  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. キャリブレーションの実行方法を選択 画面で、 新なキャリブレーションを開始 を選択し、 次へ をクリックします。

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

    truss calib preset select robot other
    • ロボットの座標系タイプは、 左/右手系 を参照して確認できます。直行ロボットが左手系を使用している場合は、ここで左手系を選択してください。

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

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

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

    truss calib preset select robot type
  5. カメラ位置に影響を与える直行ロボットの動きを選択 画面で、実際の状況に応じて(X軸に沿って並進/X軸を中心に回転Y軸に沿って並進/Y軸を中心に回転Z軸に沿って並進/Z軸を中心に回転カメラ位置に影響を与える動きがない)選択してから 実行 をクリックします。

    truss calib select affected axes

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

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

カメラ接続

  1. カメラに接続 手順で、カメラ一覧から接続するカメラを選択して connect camera icon をクリックするか、ダブルクリックして接続します。

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

    truss calib camera capture tcp touch
  3. 画像ビュー では、カメラが画像を正常に取得できることを確認した上で 次へ をクリックします。

キャリブレーションボードを取り付けて内部パラメータをチェック

  1. キャリブレーションボードを取り付けて内部パラメータをチェック 手順で、使用されているキャリブレーションボードに貼られているラベルに従って、キャリブレーションボードを選択 の下の 標準キャリブレーションボード型番 を選択します。

    truss calib select calib board tcp touch
  2. キャリブレーションボードの位置と点群品質を確認 で、チェック基準を確認してから、 連続キャプチャ をクリックします。すると、 連続キャプチャキャプチャを停止して位置を検出 に変わります。

  3. キャリブレーションボードを適切な位置までロボットを移動させ、キャリブレーションボードの2D画像と深度画像がチェック基準を満たしていることを確認してから、 キャプチャを停止して位置を検出 をクリックします。

    truss calib install calib board tcp touch

    取得した画像がチェック基準を満たしていない場合、 Mech-Eye Viewerを起動 をクリックしてMech-Eye Viewerを起動し、 カメラの2Dと3D露出パラメータを調整 してから画像を再取得します。パラメータを調整する前に、必ず パラメータグループ を「calib」に切り替えてください。

  4. カメラの内部パラメータをチェック内部パラメータをチェック をクリックします。

  5. 内部パラメータのチェック結果を確認します。

    • カメラの内部パラメータのチェックが合格している場合は、表示される画面で OK をクリックし、下の 次へ をクリックします。

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

補助円を描画

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

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

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

    truss calib adjust blob
  4. 内部パラメータを再チェック をクリックし、カメラ内部パラメータのチェックが合格しているかどうかを確認します。

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

検出パラメータを手動で調整する場合、 キャリブレーションボードの白い円の検出パラメータ(詳細設定) をクリックして展開し、検出パラメータの値を変更します。その後、 内部パラメータを再チェック をクリックし、カメラの内部パラメータのチェックが合格しているかどうかを確認します。

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

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

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

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

truss calib set tcp tcp touch

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

キャリブレーションボードの画像とフランジ位置姿勢を取得

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

    truss calib tcp touch three points
  2. キャリブレーションボードの画像とフランジ位置姿勢を取得 手順で、ポイント1の add_button をクリックし、表示される ロボットのフランジ位置姿勢を入力 画面でロボットのフランジ位置姿勢を入力してから、 OK をクリックします。

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

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

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

  5. データを更新 をクリックし、下の 次へ をクリックします。

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

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

外部パラメータを計算

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

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

    truss calib confirm calib result
    キャリブレーション精度を向上させるには、 キャリブレーション結果の分析 をご参照ください。
  3. 下の 保存 をクリックし、ポップアップする キャリブレーションファイルの保存 画面で OK をクリックします。すると、キャリブレーション結果はプロジェクトの「calibration」ディレクトリに自動的に保存されます。

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

外部パラメータファイルの切替え

Mech-Visionプロジェクトがカメラの外部パラメータファイルを使用している場合、ハンド・アイ・キャリブレーションが完了したら、Mech-Visionプロジェクトに使用されている外部パラメータファイルを新しいものに切り替える必要があります。

  1. カメラから画像を取得 ステップを選択します。

    change calibration parameter group
  2. ステップパラメータ から キャリブレーションパラメータグループchange calibration parameter group icon をクリックし、表示される画面で新しい外部パラメータファイルを選択します。

キャリブレーションに関するステータスコード

ハンド・アイ・キャリブレーションを行う際、ロボットとビジョンシステムが標準インタフェースを使用して通信している場合、ビジョンシステムからのデータにはコマンドの実行状態を示すステータスコードが含まれます。このステータスコードには正常な実行完了および異常なアラートが含まれ、ステータスコードに基づいてエラー処理を行うことができます。

キャリブレーションに関するエラーコード

エラーコード 意味

7001

キャリブレーション:パラメータエラーです

7002

キャリブレーション:Mech-Visionはキャリブレーションするためのフランジ位置姿勢を提供していません

7003

キャリブレーション:Mech-Visionはキャリブレーションするための関節角度を提供していません

7004

キャリブレーション:ロボットがキャリブレーションポイントに到達できませんでした

キャリブレーションに関する正常実行完了のコード

正常実行完了のコード 意味

7100

キャリブレーション:ロボットがキャリブレーションポイントに到達しました

7101

キャリブレーション:Mech-Visionから位置姿勢を取得しました

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。