キャリブレーション原理
ハンド・アイキャリブレーションは、ロボットとビジョンシステムでよく使用されるキャリブレーション方法であり、カメラ座標系とロボット座標系(通常はツール座標系)間の変換関係を特定することを目的としています。ハンド・アイ・キャリブレーションを通じて、ビジョンシステムとロボットシステムの空間情報を整合させ、ビジョンシステムによる把持や位置決めなどのタスクを実行するためのサポートを提供します。
以下では、ロボットのハンド・アイ・キャリブレーション過程における各位置姿勢または各点間の関係について説明します。
本文では、点と位置姿勢を表すために異なる表記法を使用しています。 位置姿勢は大文字の T を使用して表します。例えば、robotTflange は、ロボット台座(robot)に対するロボットフランジの位置姿勢(flange)を表します。 点は小文字の p を使用して表します。例えば、robotpboard-robot は、ロボット台座(robot)に対するキャリブレーションボード(board-robot)上のマーカーポイントを表します。 |
標準キャリブレーション法を使用するハンド・アイ・キャリブレーション(ETH)
ETHシーンでは、標準キャリブレーション法を使用してキャリブレーションを行う場合、カメラ、ロボット台座、ロボットフランジ、キャリブレーションボードの位置姿勢関係は下図のようになります。これらの位置姿勢関係を閉ループとして構成できます。

その後の方程式形式で表される各位置姿勢関係を理解しやすくするために、まずは以下の表を参照して、各相対位置姿勢の表現方法を理解してください。
位置姿勢 | 関係 | 詳細 |
---|---|---|
robotTflange |
ロボットフランジがロボット台座に対する位置姿勢 |
ロボット側から取得可能 |
cameraTboard |
キャリブレーションボードがカメラに対する位置姿勢 |
カメラで撮影し計算で取得可能 |
flangeTboard |
キャリブレーションボードがロボットフランジに対する位置姿勢 |
外部パラメータのキャリブレーションにおける不変量、方程式を構築するために使用 |
robotTcamera |
カメラがロボット台座に対する位置姿勢(外部パラメータ) |
外部パラメータキャリブレーション結果、求める値 |
上図と上記の位置姿勢関係から、以下の式が得られます。

標準キャリブレーション法を使用するハンド・アイ・キャリブレーション(EIH)
EIHシーンでは、標準キャリブレーション法を使用してキャリブレーションを行う場合、カメラ、ロボット台座、ロボットフランジ、キャリブレーションボードの位置姿勢関係は下図のようになります。これらの位置姿勢関係を閉ループとして構成できます。

その後の方程式形式で表される各位置姿勢関係を理解しやすくするために、まずは下表を参照して、各相対位置姿勢の表現方法を理解してください。
位置姿勢 | 関係 | 詳細 |
---|---|---|
robotTflange |
ロボットフランジがロボット台座に対する位置姿勢 |
ロボット側から取得可能 |
cameraTboard |
キャリブレーションボードがカメラに対する位置姿勢 |
カメラで撮影し計算で取得可能 |
robotTboard |
キャリブレーションボードがロボット台座に対する位置姿勢 |
外部パラメータのキャリブレーションにおける不変量、方程式を構築するために使用 |
flangeTcamera |
カメラがロボットフランジに対する位置姿勢(外部パラメータ) |
外部パラメータキャリブレーション結果、求める値 |
上図と上記の位置姿勢関係から、以下の式が得られます。

TCPタッチ法を使用するハンド・アイ・キャリブレーション(ETH)
ETHシーンでは、TCPタッチ法を使用してハンド・アイ・キャリブレーションを行う場合、撮影およびタッチ動作時の各位置姿勢/点の相対関係は下図のようになります。各位置姿勢/点の相対関係を閉ループとして構成できます。

その後の方程式形式で表される各位置姿勢関係を理解しやすくするために、まずは下表を参照して、各相対位置姿勢/点の表現方法を理解してください。
撮影/タッチ動作 | 位置姿勢/点 | 関係 | 詳細 |
---|---|---|---|
撮影 |
camerapboard-point |
カメラ内のキャリブレーションボード上のマーカーポイント(マーカーポイントとカメラとの関係を示す) |
カメラで撮影し計算で取得可能 |
robotTcamera |
カメラがロボット台座に対する位置姿勢(外部パラメータ) |
外部パラメータキャリブレーション結果、求める値 |
|
タッチ動作 |
robotTflange |
タッチ動作時、ロボットフランジがロボット台座に対する位置姿勢 |
ロボット側から取得可能 |
flangeptcp |
ロボットTCP(ロボットハンドとフランジ先端との関係を示す) |
外部パラメータのキャリブレーションにおける不変量、方程式を構築するために使用 |
|
robotptcp |
ロボットTCP(タッチ動作時にTCPとロボット台座との関係を示す) |
flangeptcp および robotTflange の計算による取得可能 |
上図と上記の関係から、撮影時とタッチ動作時の式がそれぞれ得られます。
撮影時には、上記の既知の関係に基づいて、キャリブレーションボード上のマーカーポイントとロボット台座との関係を計算できます。

タッチ動作時には、TCPがタッチポイントと重なり、上記の既知の関係に基づいて、キャリブレーションボード上のマーカーポイントとロボット台座との関係を計算できます。

上述の2つの式から、以下の方程式を構築できます。

TCPタッチ法を使用するハンド・アイ・キャリブレーション(EIH)
EIHシーンでは、TCPタッチ法を使用してハンド・アイ・キャリブレーションを行う場合、撮影およびタッチ動作時の各位置姿勢/点の相対関係は下図のようになります。各位置姿勢/点の相対関係を閉ループとして構成できます。

その後の方程式形式で表される各位置姿勢関係を理解しやすくするために、まずは下表を参照して、各相対位置姿勢/点の表現方法を理解してください。
撮影/タッチ動作 | 位置姿勢 | 関係 | 詳細 |
---|---|---|---|
撮影 |
robotTflange-capture |
撮影時、ロボットフランジがロボット台座に対する位置姿勢 |
ロボット側から取得可能 |
flange-captureTcamera |
カメラがロボットフランジに対する位置姿勢(外部パラメータ) |
外部パラメータキャリブレーション結果、求める値 |
|
camerapboard-point |
カメラ内のキャリブレーションボード上のマーカーポイント(マーカーポイントとカメラとの関係を示す) |
カメラで撮影し計算で取得可能 |
|
タッチ動作 |
robotTflange-touch |
タッチ動作時、ロボットフランジがロボット台座に対する位置姿勢 |
ロボット側から取得可能 |
flange-touchptcp |
ロボットTCP(ロボットハンドとフランジ先端との関係を示す) |
外部パラメータのキャリブレーションにおける不変量、方程式を構築するために使用 |
|
robotptcp |
ロボットTCP(タッチ動作時にTCPとロボット台座との関係を示す) |
robotTflange-touch および flangeptcp の計算による取得可能 |
上図と上記の関係から、撮影時とタッチ動作時の式がそれぞれ得られます。
撮影時には、上記の関係に基づいて、キャリブレーションボード上のマーカーポイントとロボット台座との関係を計算できます。

タッチ動作時には、TCPがタッチポイントと重なり、上記の既知の関係に基づいて、キャリブレーションボード上のマーカーポイントとロボット台座との関係を計算できます。

上述の2つの式から、以下の方程式を構築できます。
