キャリブレーション結果の確認と分析
キャリブレーション済みの外部パラメータデータを確認し、その精度が要件を満たしているかどうかを判断する必要があります。誤差が通常の範囲を超えた場合は、原因を突き止めて問題を解決し、外部パラメータが要件を満たすまでキャリブレーションを再度実行する必要があります。
キャリブレーション結果を確認
以下では、キャリブレーション結果を確認するための4つの簡単な方法について説明します。
検証方法 | 適用シーン | その他の説明 |
---|---|---|
精度要件が低い場合 |
キャリブレーション結果を大まかに検証できます |
|
精度要件が低い場合 |
キャリブレーション結果を大まかに検証できます |
|
精度要件が低い場合 |
キャリブレーション結果を大まかに検証できます |
|
精度要件が高い場合 |
キャリブレーション結果は完全かつ定量的に検証できます |
点群ビューで誤差点群を確認
カメラの外部パラメータを計算した後、以下の操作を行います。
-
キャリブレーション結果が計算されたら、外部パラメータを計算 手順の 点群ビュー パネルに誤差点群を確認します。
誤差点群は、各キャリブレーション位置姿勢でキャリブレーション円の実際の値と計算値との偏差を示すために使用されます。詳細については、誤差点群の説明 をご参照ください。 -
キャリブレーション精度誤差がプロジェクト要件を満たしていることを確認します。キャリブレーション精度は、100%を占める誤差の値を求めることで、おおよそ判断することができます。
標準キャリブレーション法でキャリブレーションを行った後の点群ビューは、下図のようになります。キャリブレーション精度の誤差は±2.5 mm以内です。

点群誤差の基準は以下の通りです。
上記の基準値は参考用であり、具体的な要件は実際のプロジェクトの精度要件に準じます。 |
シーンビューでロボットの点群とロボットモデルとの重なり具合を確認
このキャリブレーション結果の検証方法は、ETHおよびEIHシーンでのキャリブレーションに適用されます。ETHシーンのキャリブレーションでは、カメラはロボットアームの点群を取得する必要があります。EIHシーンのキャリブレーションでは、カメラはロボット台座の点群を取得する必要があります。EIHシーンでは、ロボットの自由度と作業空間が、ロボット先端が台座の近くに到達できることを保証する必要があります。これにより、カメラが台座を撮影できるようになります。 |
キャリブレーション(ETH):
カメラの外部パラメータを計算した後、以下の操作を行います。
-
ロボットアームをカメラの視野範囲内に移動させます。
-
外部パラメータを計算 手順で、補助ツール の下の カメラによる取得 をクリックします。クリックすると、カメラが撮影を行います。
-
右側の シーンビュー で、ロボット実機の点群とロボットモデルの重なり具合を目視で確認します。ロボットの点群がロボットモデルとほぼ一致すれば、キャリブレーション結果が使用可能です。
下図のように、カラー部分はロボットモデル、黒い部分はロボットの点群です。図からわかるように、ロボットモデルとロボット点群がほぼ重なっており、キャリブレーション結果が使用可能であることを示しています。
キャリブレーション(EIH):
カメラの外部パラメータを計算した後、以下の操作を行います。
-
ロボット先端を、カメラが台座を撮影できる位置まで移動させます。
-
外部パラメータを計算 手順で、補助ツール の下の カメラによる取得 をクリックします。クリックすると、カメラが撮影を行います。
-
右側の シーンビュー で、ロボット実機の点群とロボットモデルの重なり具合を目視で確認します。ロボットの点群がロボットモデルとほぼ一致すれば、キャリブレーション結果が使用可能です。
下図のように、カラー部分はロボットモデル、黒い部分はロボットの点群です。図からわかるように、ロボットモデルとロボット点群がほぼ重なっており、キャリブレーション結果が使用可能であることを示しています。
|
シーンビューで固定点に対するキャリブレーションボードの点群ずれを確認
EIHシーンでは、ロボットの自由度と作業空間の制約により、カメラが台座を撮影できない場合、この方法を用いてキャリブレーション結果を大まかに検証することができます。 |
カメラの外部パラメータを計算した後、以下の操作を実行します。
-
キャリブレーションボードを固定位置に配置します。
-
Mech-Vizを起動し、固定点を追加し、それをキャリブレーションボードの任意の白い円の中心に合わせます。
-
ステップライブラリから「移動」ステップを選択して、プロジェクト編集エリアにドラッグします。
-
このステップをクリックして選択し、ステップパラメータで 目標点タイプ を「ワークの位置姿勢」に設定し、X/Y/Z座標値を調整して、その位置姿勢をキャリブレーションボードの任意の白い円の十字中心と一致させます。
-
-
ロボットを制御してカメラの位置姿勢を複数回変更し、外部パラメータを計算 手順で カメラによる取得 をクリックします。すると、カメラが撮影を行います。
-
シーンビュー で、キャリブレーションボードの点群が固定点に対して明らかなずれがあるかどうかを確認します。
キャリブレーションボードの点群が固定点に対して明らかなずれがない場合、キャリブレーション結果は使用可能であることを示します。
|
外部パラメータ精度検証ツールによる外部パラメータの検証
Mech-Visionでは、外部パラメータの誤差分析ツールを提供しています。このツールは、カメラ取り付け方式がEye to Hand(ETH)およびEye in Hand(EIH)の両方に対応可能で、外部パラメータのキャリブレーション誤差とロボットの絶対精度の誤差の両方を包括的に分析します。
キャリブレーションの 外部パラメータを計算 手順で、外部パラメータの精度チェック をクリックすると、このツールを開くことができます。ツールの操作ガイドに従って外部パラメータの精度を検証し、最終的な評価レポートを生成してください。
メニューバーの
を選択します。詳細については、外部パラメータの誤差をチェック をご参照ください。
キャリブレーション結果を分析
外部パラメータのキャリブレーションレポートを表示
六軸ロボットの自動キャリブレーションおよび標準キャリブレーション法を使用する手動キャリブレーションに対して、Mech-Visionのキャリブレーションツールは「外部パラメータのキャリブレーションレポート」機能を提供しています。
キャリブレーションレポートは、キャリブレーションの 外部パラメータを計算 手順での 外部パラメータを計算 をクリックし、 外部パラメータのキャリブレーションレポートを表示 をクリックして確認できます。
Mech-Visionのキャリブレーションツールは、取得されたキャリブレーションデータに基づいて外部キャリブレーションの結果をチェックし、外部パラメータのキャリブレーションレポートを生成します。
このレポートは以下の項目のチェック結果と最適化アドバイスを表示します。
-
キャリブレーションデータのオイラー角のタイプをチェック
-
ロボットの絶対精度をチェック
外部パラメータのキャリブレーションレポートに表示されるカメラの精度が要件を満たさない場合、推奨事項を参考にして、カメラ精度の誤差の原因を特定してください。
外部パラメータの精度を向上
精度要件を満たさないキャリブレーション済みの外部パラメータデータに対しては、エラーの原因を特定する必要があります。
キャリブレーションデータに問題がないか確認
問題の原因を特定するために、キャリブレーションデータを以下の順番で1つずつ確認してください。
キャリブレーションデータとは、キャリブレーション時に生成される キャリブレーションポイント のデータのことを指します。それは、カメラIDフォルダの下のcalib_data.jsonファイルに格納されています。このファイルには、キャリブレーションポイントのフランジ位置姿勢、 キャリブレーション円 のデータなどが含まれています。
キャリブレーションポイントのデータを確認するには、以下の手順を実行します。
-
Mech-Visionを起動し、ツールバーの カメラキャリブレーション をクリックします。すると、キャリブレーション前の設定 画面が表示されます。
-
キャリブレーションの実行方法を選択 画面で、既存のキャリブレーションパラメータを使用 を選択し、キャリブレーションのパラメータファイルを選択してから 次へ をクリックします。
キャリブレーションパラメータファイルのパスを選択する際は、キャリブレーションパラメータファイルが保存されているフォルダのパスを選択する必要があります。
-
パラメータの使用法を選択 画面で、現在読み込んでいるカメラをキャリブレーション を選択してから 次へ をクリックします。
-
キャリブレーションのタスクを選択 画面で、外部パラメータを再計算 を選択し、キャリブレーションデータを読み込む にチェックを入れてから 実行 をクリックします。
-
外部パラメータを計算 手順で、画像と位置姿勢一覧 からキャリブレーションポイント(pose_000など)を1つ選択し、キャリブレーションボードの白い円の情報 パネルでキャリブレーションポイントのフランジ位置姿勢とキャリブレーションボードの白い円のデータを確認します。
下図では、X (pixel)とY (pixel)列は、キャリブレーションボードが現在のキャリブレーションボード経路点での2D画像におけるキャリブレーションボードの白い円の中心ピクセル座標を示します。Camera frame: X(m)/Y(m)/Z(m)列は、キャリブレーションボードが現在のキャリブレーションボード経路点での深度画像におけるキャリブレーションボードの白い円の中心がカメラ座標系での座標を示します。 |
キャリブレーションポイントのデータは、3つの方法で確認します。
-
ピラミッド型の経路のキャリブレーションポイントのフランジ位置姿勢において、前後のオイラー角の変化を確認
ピラミッド型の経路のキャリブレーションポイントのみが含まれ、回転のキャリブレーションポイントは含まれないことに注意してください。このチェックは、標準キャリブレーション法でキャリブレーションデータを取得する場合にのみ適しています。 画像と位置姿勢一覧 からキャリブレーションポイント(pose_000など)を1つ選択し、 キャリブレーションボードの白い円の情報 パネルでキャリブレーションポイントのフランジ位置姿勢を確認します。ピラミッド型の経路に沿って移動する際、ロボットは自身のベース座標系またはフランジ座標系に沿って移動し、回転はしないので、オイラー角は基本的に変わりません。
ロボットの精度によっては、位置姿勢が上下に変動することがあります。変動が1度以上の場合、ロボット自体の原点が失われたり、ロボットの精度が低下することがあります。
解決策:この場合には、ハンド・アイ・キャリブレーションは使用できません。ロボットの原点をチェック(再位置決め)して、問題を解決しなければ、続いてキャリブレーションすることはできません。
-
キャリブレーションポイントの「キャリブレーションボードの白い円の中心距離の測定値の平均誤差」が標準値を超えたかどうかを確認
画像と位置姿勢一覧 パネルからキャリブレーションポイントを選択し、画面の下部でキャリブレーションボードの白い円の中心距離の測定値の平均誤差を確認します。
誤差が上限を超えると、キャリブレーションポイントが黄色に変わり、警告が表示されます。キャリブレーションボードの白い円の中心距離の測定値の平均誤差 は、内部パラメータのチェック結果の一部として、現在のカメラ内部パラメータの誤差値を部分的に反映させるために使用されます。
解決策:高精度が求められない場合では、標準値からわずかに外れた内部パラメータでも使用することができます。しかし、高い精度が求められるや大きな誤差がある場合は、カメラの内部パラメータを再キャリブレーションするか、メーカーに返送して交換することを推奨しています。
-
キャリブレーションポイントの「キャリブレーションボードの白い円の点群変動」が3mmを超えたかどうかを確認
画像と位置姿勢一覧 パネルからキャリブレーションポイントを選択し、画面の下部で キャリブレーションボードの白い円の点群変動 を確認します。キャリブレーションボードの白い円の点群変動 は、現在のキャリブレーションポイントですべてのキャリブレーションボードの白い円の中心座標がフィッティングする平面での変動を統計します。その大きさは外部パラメータの精度に直接影響します。求められる精度が高いほど、点群変動の値は小さくなります。
通常、最大値を3mm以上に設定しないでください。3つ以上のキャリブレーションポイントの点群変動の最大値が3mmを超える場合、全体的な精度が保証できなくなります。この時点に、問題を突き止めて解決したら、キャリブレーションを再度実行する必要があります。
キャリブレーションボードの白い円の点群に変動が発生する原因は以下の通りです。
原因1:Mech-Eye Viewerで 表面平滑化 と 外れ値除去 機能が有効になっていない、または カメラゲイン が有効になっているため、点群抜けが発生する可能性があります。
解決策:表面平滑化 と 外れ値除去 を有効にし、カメラゲイン を無効にします。上記の操作を実行しても解決しない場合、現場での遮光処理が必要です。
原因2:ETH方式で自動キャリブレーションを実行する際、キャリブレーションボードがロボットフランジにしっかりと固定されていません。キャリブレーション中にロボット動作が速すぎるため、カメラ撮影時にキャリブレーションボードが揺れ、点群に大きな変動が発生します。
解決策:ロボットの移動速度を下げ、キャリブレーションボードをしっかり取り付け、カメラ撮影の待ち時間を長くします。