よくある問題と解決策
工場出荷時の補正パラメータが無効な場合の解決策
工場出荷時の補正パラメータの説明
下図に示すように、補正パラメータがカメラの外部パラメータファイルextri_param.jsonに格納されています。
下図に示すように、カメラに補正パラメータがない場合、その補正パラメータ値は単位行列になります。
「補正パラメータを再計算」にチェックを入れて計算すると、現在のすべてのキャリブレーションポイントのデータによって最適な補正パラメータがフィッティングされ、外部パラメータファイルの補正パラメータが更新されます。
工場出荷時の補正パラメータ:工場出荷時の補正パラメータとは、カメラの焦点距離に応じてカメラの最大視野範囲における計算された補正値です。工場出荷時の補正パラメータを使用することのメリットとデメリットは以下の通りです。
-
メリットは、工場出荷時の補正パラメータを使用すれば、キャリブレーションポイントの個数が少なく、視野範囲が限られる場合に作業領域全体の精度を表す外部パラメータを計算できることです。TCPタッチ法を使用し、ロボットにキャリブレーションボードを取り付けた後、キャリブレーションの作業領域が制限され、作業領域が完全にキャリブレーションできない場合、工場出荷時の補正パラメータを使用することを推奨します。
-
デメリットは、現場でロボットとキャリブレーション経路などが異なり、工場出荷時の補正パラメータを使用しては毎回も最適な結果が得られることを保証できないことです。作業領域を完全にキャリブレーションした場合、補正パラメータを再計算することで、より良い結果を得ることができます。
工場出荷時の補正パラメータを使用して精度要件を満たした外部パラメータを取得した後、作業領域を完全にキャリブレーションしていない場合、より高い精度のためにも、「補正パラメータを再計算」にチェックを入れて再計算することは推奨しません。 |
無効な工場出荷時の補正パラメータは、現場で工場出荷時の補正パラメータがバックアップせずに更新された補正パラメータや、不明なカメラに工場出荷時補正パラメータなどが含まれています。
TCPタッチ法を使用した場合の解決策
この場合、不正確な補正パラメータに対し、複数セットのタッチポイントを追加して統合計算することで解決できます。
複数セットのタッチポイントを追加することは、キャリブレーションボードを作業領域の最下部中央に配置し、TCP先端を3つのポイントにタッチさせ、カメラで撮影して1セットのタッチポイントとします。その後、キャリブレーショボードをエッジに配置し、ポイントをタッチしてもう1セットのタッチポイントを生成します。上記のように、異なる層で複数セットのタッチポイントを追加します(通常、3つの層で、層ごとに2セットのタッチポイントが十分です)。
標準キャリブレーション法を使用した場合の解決策
標準キャリブレーション法を使用する場合、不正確な補正パラメータに対し、作業領域を完全にキャリブレーションして、補正パラメータを再計算 にチェックを入れることで解決できます。
6軸以外のロボットのキャリブレーション
4軸ロボット
4軸ロボットは、一般的に直行ロボット、SCARAロボット、パレタイジングロボットに分けられます。
使用頻度に応じて、Mech-Vizは少数のSCARAロボット及びパレタイジングロボットにのみ対応します(対応範囲は今後拡大します)。
-
TCPタッチ法を使用した場合のTCP先端の取り付け問題
4軸目にTCP先端を取り付けます。4軸目を回転させて、TCP先端が一点で固定しているかを確認して、フランジ中央に取り付けられているかを判断します。 4軸ロボットのTCPはキャリブレーションにより取得できないので、XYZ値は手動で測定する必要があります。
-
4軸ロボットキャリブレーションにおけるZ方向を調整する方法
標準キャリブレーション法を使用する場合、4軸ロボットの回転自由度が不足しているため、キャリブレーション中に回転値が不十分です。キャリブレーション完了後、外部パラメータのZ方向を手動で調整する必要があります。
-
ロボットのベース座標の位置を確定します。
-
キャリブレーションボードを、ロボットのベース座標のXY平面と平行な作業面(通常は地面、作業台など)に配置します。
-
ロボットのベース座標から作業面までの距離を測定します。Mech-Vizで地面の高さを、対象物の位置姿勢のZ方向とロボットのベース座標から作業面までの距離と同じ数値に設定します。下図のように示します。
-
外部パラメータのZ方向を調整して、キャリブレーションボードの点群がMech-Vizの作業平面上に位置するようにして、Z方向の調整が完了します。
-
直行ロボットの使用説明
-
直行ロボットは種類によって、ベース座標の位置が異なります。そのため、ベース座標の位置に基づいてZ方向を調整するのは難しいので、トラスロボットの場合、TCPタッチ法のみを推奨します。
最も使用されるのは、カメラを3軸目に取り付ける方法です。
EIH方式を使用する場合、直行ロボットが3軸ロボットとなり、4軸目は使用できないため、Adapterを介して固定角度を送信するしかありません。
ETH方式を使用する場合、写真撮影点の個数には限りがあり、各写真撮影点間のオフセットは既知です。異なる写真撮影点を使用するたびに、ロボットのベース座標オフセットをAdapterに追加します。
7軸ロボット/スライドレール付き6軸ロボット/5軸ロボット
ここで、スライドレール付き6軸ロボットは、スライドレールがロボットティーチングペンダントに統合されているため、7軸ロボットになります。 |
上記の3種類のロボットを使用する場合、TCPタッチ法を最も推奨します。
-
標準キャリブレーション法を使用する7軸ロボットの操作要件
現場に適切なTCP先端がない場合、またはTCP先端を固定できない場合、7軸ロボットに対して、標準キャリブレーション法を使用してキャリブレーションできます。
キャリブレーション中に、1つの軸の移動を制限して、6軸ロボットとして操作します。他の操作は、基本的に6軸ロボットのキャリブレーションと同じです。
ロボットのオイラー角タイプが不明な場合のキャリブレーション方法
ロボットのオイラー角が不明な場合、カメラキャリブレーションでの「オイラー角のタイプを取得」ツールを使用して現在のロボットのオイラー角タイプを取得します。下図のように示します。
ロボットを3つの異なる位置姿勢で、ロボットハンドに取り付けられたTCP先端を作業面上のTCP先端にタッチさせます。タッチするたびに、ティーチングペンダントに表示されたロボットの位置姿勢を入力します。その後、「オイラー角のタイプを取得」をクリックして、推奨されるオイラー角を取得します。
現場では、TCPが既知のロボットハンドに取り付けられたTCP先端だけがあり、適切な固定TCP先端がない場合
正確なロボットのオイラー角タイプが取得できないため、TCPタッチ法を使用する時、オイラー角を正確なタイプで入力できないことがあります。
この場合、ティーチペンダントで位置姿勢をTCPに切り替えて、即ち、TCP先端の位置姿勢を読み取ります。
順次に3つのポイントにタッチし、ティーチングペンダントのXYZの値を読み取って入力します。いずれかのオイラー角タイプを選択し、いずれかの定数値を入力します。入力した3つの位置姿勢のオイラー角が一致するようにしてください。
長距離のキャリブレーション時、大量のキャリブレーションポイントの点群変動が許容範囲を超え、カメラパラメータを調整しても改善できない場合の解決策
下図に示すように、キャリブレーションボードの状態を確認して、点群に大きな変動を引き起こし得るクロスがあるかどうかを確認します。
A4用紙などを切って、そのキャリブレーションボードの白い円の中心に貼り付けて(エッジではなく、通信のみに貼ります)。クロスによる点群の変動を軽減します。
上記の方法で軽減できまい場合、手動で位置姿勢を追加してから、点群変動が大きい位置姿勢を削除してみてください。
キャリブレーション経路についてよくある誤解
-
キャリブレーションポイントの数が多いほど結果が良くなるか
キャリブレーションポイントが多すぎると、異常点が発生し、全体的な誤差率が高くなる可能性があります。
工場出荷時の補正パラメータを使用して計算する場合、カメラの焦点距離、キャリブレーションボードのサイズなどに応じて、各層のキャリブレーションポイントの個数を決定します。
-
焦点距離が300-2000mmの場合、2*2を推奨します。層ごとに4つのキャリブレーションポイントを設定します。通常は3層ですが、パレットのタイプによっては4層を使用することもあります。
-
焦点距離が2000-3500mmの場合、3*3を推奨します。層ごとに9つのキャリブレーションポイントを設定します。通常は3層ですが、パレットのタイプによっては4、5層を使用することもあります。
-
キャリブレーション範囲はすべての作業領域を含める必要があるか
工場出荷時の補正パラメータを使用する場合、カメラの焦点距離を中心位置として、焦点距離の範囲内で層ごとにキャリブレーションします。
工場出荷時の補正パラメータを使用しない場合、または条件が不十分でカメラの焦点距離の範囲内でキャリブレーションできないときに、作業領域を完全キャリブレーションすることを推奨します。
-
キャリブレーション済みの領域における外部パラメータは正確ですが、それ以外の領域における外部パラメータは不正確か
キャリブレーション後に生成された誤差点群は、キャリブレーション済みの領域における外部パラメータの誤差を表示しますが、キャリブレーションしていない領域における外部パラメータが不正確とは限りません。逆に、基本的に、工場出荷時の補正パラメータを使用する場合、キャリブレーションしていない領域における外部パラメータも正確です。