直行ロボットのキャリブレーション説明¶
関連概念¶
直行ロボットの自由度¶
直行ロボットは、多自由度運動をサポートしています。各運動自由度の間の空間における角度を直角とします。
直行ロボットは通常、2-6自由度をサポートしています。詳細は以下の通りです。
XYZ方向に3軸の直線運動が可能(3自由度)
XYZ方向に3軸の直線運動、Z軸(RzまたはC軸を呼ぶ)の回転が可能(4自由度)
XZ方向に2軸の直線運動が可能(2自由度)
XZ方向に2軸の直線運動、Z軸の回転が可能(3自由度)
カメラは通常、直行ロボットのいずれかの軸(Z軸、C軸など )に取り付けられています。カメラの撮影位置は、軸の動きに影響されることになります。そのため、キャリブレーション前の設定において、どの軸の動きがカメラの位置に影響を与えるかを指定する必要があります。
左手/右手系¶
Mech-Mindビジョンシステムでは、右手系でのロボットのフランジ位置姿勢を使用して外部パラメータを計算します。そのため、直行ロボットを使用する場合、その座標系が右手系であるかどうかを判断する必要があります。
左手系か右手系かは、以下のような方法で判断できます。
左手の親指をX軸の正方向に、人差し指をY軸の正方向に向け、中指がZ軸の正方向に向けることができれば、この座標系を左手系(下図左)と呼びます。
右手の親指をX軸の正方向に、人差し指をY軸の正方向に向け、中指がZ軸の正方向に向けることができれば、その座標系を右手系(下図右)と呼びます。
直行ロボットの座標系が左手系の場合、その後のキャリブレーションやビジョン処理を容易にするために、それを右手系に変更することを推奨します。通常、直行ロボットのいずれかのXYZ軸のエンコーダの運動の正方向を反転させる必要があります。これは通常、直行ロボットの架台が取り付けられている軸を反転し、Mech-Visionで右手系を選択してキャリブレーションを行います。
直行ロボットで設定できない場合、Mech-Visionで左手系を選択するだけで、ソフトウェアが自動的に入出力位置姿勢データに対して変換を行います。
キャリブレーション原理¶
カメラは通常、直行ロボットのある軸、例えばZ軸に取り付けられ、つまりカメラはEye in Hand方式で取り付けられています。したがって、直行ロボットのキャリブレーションは、カメラ座標系とロボットツール座標系との間の相対関係を求めることを目的としています。
直行ロボットの自由度や作業空間が限られた場合、Mech-VisionがTCPタッチ法でキャリブレーションデータを取得し、キャリブレーションボード、カメラ、ロボット間の関係を確立します。また、直行ロボットのキャリブレーションでは、キャリブレーションボードを複数枚追加することに対応します。自由度が限られ、キャリブレーションボード上の3つのポイントに触れるように直行ロボットを動かせない場合、直行ロボットがキャリブレーションボード上の3つのポイント(3ポイントは共線ではない)に触れるように複数のキャリブレーションボードを使用することが可能です。
直行ロボットのキャリブレーション原理については、 TCPタッチ法(EIH) をご参照ください。
外部パラメータの使用¶
直行ロボットのキャリブレーションにより、キャリブレーション位置の外部パラメータファイルが生成され、Mech-Visionは直行ロボットの位置に基づいて動的外部パラメータをリアルタイムで計算します。計算時は、カメラ座標系における点群や位置姿勢を直行ロボットの座標系に変換するために、 点群変換(直行ロボット) と 位置姿勢を変換(直行ロボット) ステップと併用する必要があります。
プロジェクトを実行する際、直行ロボットがMech-Mindビジョンシステムと正しく通信できること、Mech-Visionプロジェクトが実行した際にロボットプログラムがロボットのフランジ位置姿勢を提供し、「カメラから画像を取得」ステップで画像撮影時にロボットのフランジ位置姿勢を正常に取得できることを確認してください。
注釈
直行ロボットの座標系が左手系を使用する場合、Mech-Centerはロボットプログラムから送信されたロボットのフランジ位置姿勢を自動的に右手系に変換してから、ビジョン処理のためにMech-Visionに送信します。ビジョン結果を返す際に、Mech-CenterはMech-Visionから出力された直行ロボットの座標系での位置姿勢を左手系に変換してから、ロボットプログラムに送信します。