4軸/5軸ロボットの自動キャリブレーション(Eye to Hand)
以下では、カメラがEye to Hand(ETH)方式で取り付けられている場合に4軸/5軸ロボットの自動キャリブレーションを実行する方法について説明します。
全体フロー
Eye to Hand(ETH)シーンで、4軸/5軸ロボットの自動キャリブレーションは、下図のようなフローで行います。
-
キャリブレーション前の準備:キャリブレーションを開始する前に、関連する準備作業を完了します。
-
キャリブレーション前の設定:キャリブレーション前に、ロボット型番やカメラの取り付け方式などの設定項目を選択します。
-
キャリブレーションを開始:キャリブレーションを正式に開始します。一連の操作手順を完了し、キャリブレーション結果を取得します。この手順では、ロボット側での操作を行い、ビジョンシステムとロボット間の通信を確立します。
-
キャリブレーション結果を検証:取得したキャリブレーション結果を検証し、結果が要件を満たしているかどうかを確認します。
-
キャリブレーション結果を適用:ビジョンプロジェクトで新しいキャリブレーションパラメータグループを使用します。
以下は、上記フローの詳細な説明です。
事前準備
以下は、ハンド・アイ・キャリブレーションを実行する前に必要な事前準備です。
ビジョンシステムを構築
ビジョンシステムのハードウェア設置 を参照してMech-Mindビジョンシステムの構築を完了させてください。
ハンド・アイ・キャリブレーションを実行するには、Mech-Eye Viewer、Mech-Vision&Mech-Vizの使用が必要です。これらのソフトウェアがインストールされ、最新バージョンにアップグレードされていることを確認してください。
ロボット通信設定を実行
ロボットは標準インターフェース方式でビジョンシステムと通信する場合、ロボットの標準インターフェースの通信設定を完了させてください。使用するロボットブランドに基づいて、標準インターフェース通信 を参照して、ロボットの標準インターフェース通信設定を完了できます。
ロボットはVizティーチング方式でビジョンシステムと通信する場合、ロボットのVizティーチングの通信設定を完了させてください。使用するロボットブランドに基づいて、Vizティーチング通信 を参照して、ロボットのVizティーチング通信設定を完了できます。
キャリブレーションに必要なものを準備
カメラがEye to Hand方式で取り付けられている場合、自動キャリブレーションを実行するにはキャリブレーションボードの使用が必要です。
キャリブレーションボードについては、以下の要件があります。
-
キャリブレーションボードの白い円がはっきりと見えること、破損や曲げ変形がないことを確認してください。
-
キャリブレーションボードのコネクタをロボット先端のフランジに取り付け、そのコネクタにキャリブレーションボードを取り付けます。キャリブレーションボードがしっかりと取り付けられていることを確認してください。また、ボードがカメラの視野の中心に位置し、カメラが設置されている平面とできるだけ平行であることを確認してください。
ロボットフランジに取り外しができないハンドがある場合、キャリブレーションボードをハンドに直接固定します。
キャリブレーションボードの点群品質をチェック
キャリブレーションボードの点群品質は、キャリブレーション結果の精度に影響を与えます。キャリブレーション結果の正確性と信頼性を確保するために、キャリブレーションボードの点群品質を確認する必要があります。キャリブレーション手順には、キャリブレーションボードの点群品質を確認する操作が含まれています。また、キャリブレーション前にキャリブレーションボードの点群品質を事前に確認することで、キャリブレーションの時間を短縮できます。 |
-
キャリブレーションボードをカメラ視野内の作業平面の中央に水平に配置します。
-
Mech-Eye Viewerを起動し、プロジェクトに使用するカメラを選択し、「calib」パラメータグループを選択して カメラパラメータを調整 します。
-
2Dパラメータを調整して、2D画像内でキャリブレーションボード全体の明るさが暗すぎず、各キャリブレーション円がはっきり見えるようにします。
-
3Dパラメータを調整し、キャリブレーションボード上の各キャリブレーション円が完全に見えるようにします。
現場では、環境光が複雑な場合、2D画像や点群への影響を軽減するために、遮光・補光することを推奨します。
-
上記の手順を完了することで、キャリブレーションボードの点群の品質が要件を満たしていることを確認します。
正常 露出過度 露出不足 2D画像
点群
キャリブレーション前の確認作業を完了
キャリブレーション前の確認作業 を参照して、以下のことを完了させてください。
-
ロボット台座がしっかりと取り付けられていることを確認します。
-
カメラとそのブラケットがしっかりと取り付けられていることを確認します。
-
ロボットの絶対精度が使用要件を満たしていることを確認します。
-
ロボットモデルパラメータの正確性を検証します。
-
カメラの予熱が実行されたことを確認します。
-
キャリブレーションボードがロボット先端にしっかりと取り付けられていることを確認(ETHの場合)します。
キャリブレーション前の設定
-
Mech-Visionを起動し、ツールバーの カメラキャリブレーション をクリックします。すると、キャリブレーション前の設定 画面が表示されます。
-
キャリブレーション前の確認作業が完了したこと を確認し、確認完了 ボタンをクリックし、次へ ボタンをクリックします。
-
キャリブレーションの実行方法を選択 画面で、新なキャリブレーションを開始 を選択し、次へ をクリックします。
-
キャリブレーションのタスクを選択 画面で、ドロップダウンリストから 適応可能なロボットのハンド・アイ・キャリブレーション を選択し、ロボット型番を選択 をクリックして型番を選択してから、次へ をクリックします。
-
カメラの取り付け方式を選択 画面で、 Eye to hand を選択して 次へ をクリックします。
-
実行モードとロボットの制御方式を選択 画面で、自動キャリブレーション と標準インターフェース を選択してから、実行をクリックします。すると、キャリブレーション(Eye to Hand) 画面が表示されます。
Vizティーチング通信の場合、自動キャリブレーション と Vizティーチング を選択します。
これで、キャリブレーションの事前設定が完了しました。
キャリブレーションを開始
カメラに接続
-
カメラに接続 手順で、カメラ一覧 から接続するカメラを選択して をクリックするか、ダブルクリックして接続します。
-
カメラ接続後、連続キャプチャ または 一回キャプチャ をクリックします。
-
右側にある 画像ビュー パネルでは、カメラが画像を正常に取得できることを確認した上で 次へ をクリックします。
キャリブレーションボードを取り付けて内部パラメータをチェック
-
キャリブレーションボードを取り付けて内部パラメータをチェック 手順で、キャリブレーションボードを選択 の下の 標準キャリブレーションボード型番 を選択します。
-
キャリブレーションボードの位置と点群品質を確認 で、チェック基準を確認してから、連続キャプチャ をクリックします。すると、連続キャプチャ が キャプチャを停止して位置を検出 に変わります。
-
ロボットを手動で操作し、キャリブレーションボードを適切な位置に移動させてください。キャリブレーションボードが赤枠内に完全に収まり、ボードとカメラの距離がソフトウェア画面に表示されている推奨距離にできるだけ近づくように調整してください。
標準インターフェース通信を使用する場合、画面の指示に従ってキャリブレーションボードとカメラ間の距離を調整した後、その時点でのロボットの位置をキャリブレーションの開始点として使用することができます。 -
キャリブレーションボードの2D画像と深度画像がチェック基準を満たしていることを確認してから、キャプチャを停止して位置を検出 をクリックします。
取得した画像がチェック基準を満たしていない場合、Mech-Eye Viewerを起動 をクリックしてMech-Eye Viewerを起動し、カメラの2Dと3D露出パラメータを調整 してから画像を再度取得します。パラメータを調整する前に、必ず パラメータグループ を「calib」に切り替えてください。
-
カメラの内部パラメータをチェック の下の 内部パラメータをチェック をクリックします。
-
内部パラメータのチェック結果を確認します。
-
カメラの内部パラメータのチェックが合格している場合は、表示される画面で OK をクリックし、下の 次へ をクリックします。
-
内部パラメータのチェックに失敗した場合は、補助円描画機能を使用して内部パラメータをチェックし、その後 内部パラメータを再チェック をクリックしてください。
-
補助円を描画
-
補助円を描画する場合、補助円を描画をクリックします。
-
右側の 画像ビュー パネルで、キャリブレーションボードの画像を右クリックし、ウィンドウに合わせる のチェックを外します。その後、Ctrlキーを押しながらスクロールホイールをドラッグして画像のサイズを適切な大きさに変更します。
-
マウスポインタをキャリブレーション円の十字型の中心に移動させ、マウスの左ボタンを押して補助円がキャリブレーション円を完全に含むように調整した後、マウスの左ボタンを離します。
-
内部パラメータを再チェック をクリックし、カメラ内部パラメータのチェックが合格しているかどうかを確認します。それでもチェックに失敗する場合は、テクニカルサポートにお問い合わせください。
ロボットを接続
キャリブレーションで標準インターフェース通信を使用する場合は、ロボットを接続(標準インターフェース通信の場合) をご参照ください。
キャリブレーションでVizティーチング通信方式を使用する場合は、ロボットを接続(Vizティーチング通信の場合) をご参照ください。
ロボットを接続(標準インターフェース通信の場合)
-
(オプション)ロボットを接続 手順で インターフェースサービスを起動 をクリックします。すると、このボタンが ロボットの接続を待機中… に変わります。ツールバーの ロボット通信設定 がすでに有効になっている場合は、この操作は不要です。
-
ティーチペンダントでロボット側の操作を行います。自動キャリブレーションのプログラムを選択し、キャリブレーションの開始位置を設定してキャリブレーションプログラムを実行します。キャリブレーションプログラムが正常に起動されると、ログに「キャリブレーションプロセスに入ります。Mech-Visionでキャリブレーションを実行してください。」が表示されます。
使用するロボットブランドに基づいて、標準インターフェース通信 で該当するロボットの「自動キャリブレーション」マニュアルを参照して、ロボット側の操作を完了してください。
ロボットを接続(Vizティーチング通信の場合)
-
ティーチペンダントで Vizとの通信プログラムを選択して実行します 。
使用するロボットブランドに基づいて、Vizティーチング通信 で該当する「Vizティーチング通信設定」マニュアルを参照して、ロボット側の操作を完了してください。
-
ロボットを接続 手順で ロボットのIPアドレス を設定します。
-
ロボットを接続 の下の ロボットを接続 をクリックします。すると、このボタンが ロボットの接続を待機中… に変わります。
-
ロボットを接続 の下に「接続を切断」が表示されることを確認してから、下の 次へ をクリックします。
動作経路を設定
-
キャリブレーション範囲を確定します。
高さ範囲 パラメータを設定します。高さ範囲 は、カメラの推奨ワーキングディスタンスとロボットの稼働空間に基づいて設定する必要があります。高さ範囲は通常、認識するワークの高さよりやや大きめに設定します。
-
キャリブレーション経路を自動的に生成します(推奨)。
自動生成 をクリックし、ポップアップする ロボット経路をカメラ座標系に自動的に合わせる 画面で 確認 をクリックします。
この操作では、ロボットをわずかに移動させ、画像を取得します。全体のプロセスは10から15秒かかります。動作経路が安全であることを確認してください。緊急時にロボットティーチペンダントの非常停止ボタンを押してください。 キャリブレーション経路の生成が完了した後、ポップアップする キャリブレーション 画面で 確認 をクリックします。
-
キャリブレーション経路を手動で修正します。
手順2で自動生成されたキャリブレーション経路に衝突のリスクがある場合は、キャリブレーション経路を手動で修正することもできます。例えば、ピラミッド構造を変更し、ピラミッドのグリッドを再設定し、回転角度を設定します。
-
空間グリッド:キャリブレーション時間を短縮するため、またはキャリブレーション範囲が狭い場合は、2行、2列、2層を設定することができます。
-
最下層のサイズ:現場の空間が十分な場合、最下層のサイズは一般的にコンテナまたはパレットのサイズになります。現場の空間が制限されている場合、衝突を避けるために最下層のサイズを適切に小さくすることができます。
-
最高層のサイズ:一般に、最高層のサイズは最下層のサイズよりも少し小さく設定し、キャリブレーション範囲が台形になるようにします。
-
-
右側の シーンビュー パネルで、各経路点の位置が適切で、ロボットの移動中に周囲の物体と衝突しないことを確認してください。
-
パラメータに基づいて経路を生成 をクリックし、下の 次へ をクリックします。
画像と位置姿勢を取得
この手順を実行する前に、ロボットの現在位置姿勢がティーチペンダントの実際の位置姿勢と同じであることを確認してください。 |
-
画像と位置姿勢を取得 手順で キャリブレーションを実行 をクリックします。
-
ポップアップウィンドウに表示されるロボット動作の安全に関する注意事項をよく読み、OK をクリックします。
-
ロボットが設定された経路に沿って各キャリブレーションポイントに移動し、各キャリブレーションポイントで画像を撮影するのを待ちます。ポップアップウィンドウにキャリブレーションポイントへの移動進捗状況が表示されます。
ロボット動作中に、ロボットの動作範囲に近づかないようにしてください。 -
「すべてのキャリブレーションポイントに正常に到達し、キャリブレーションが完了しました」と表示されたら、OK をクリックします。
-
取得されたキャリブレーションデータが要件を満たしていることを確認してから、下の 次へ をクリックします。
要件を満たしていない場合、ロボットを手動で移動した後(ティーチペンダントまたはMech-Vizも使用可能)、補助ツール で 画像を手動で追加 にチェックを入れ、画像を追加してフランジ位置姿勢を記録 をクリックし、キャリブレーションボードの画像を追加してロボットのフランジ位置姿勢を入力する必要があります。
外部パラメータを計算
-
外部パラメータを計算 手順で、外部パラメータを計算して結果を確認 の 外部パラメータを計算 をクリックします。
-
キャリブレーションが正常に実行されたことを示すダイアログで、OK をクリックします。
-
補助ツール の下の 外部パラメータのZ値を補正 の操作手順に従って、外部パラメータのZ値の補正値 を計算します。
キャリブレーションの実行中では、4軸/5軸ロボットには 回転自由度 がないため、画像を取得する際は 回転 が不足しています。キャリブレーションが完了したら、外部パラメータのZ値を補正する必要があります。 -
下の 保存 をクリックし、ポップアップする キャリブレーションファイルの保存 画面で OK をクリックします。すると、キャリブレーション結果はプロジェクトの「calibration」ディレクトリに自動的に保存されます。
これで、キャリブレーション手順が完了しました。
キャリブレーション結果の確認
以下では、キャリブレーション結果を迅速に検証する方法について説明します。
点群ビューで誤差点群を確認
カメラの外部パラメータを計算した後、以下の操作を行います。
-
キャリブレーション結果が計算されたら、外部パラメータを計算 手順の 点群ビュー パネルに誤差点群を確認します。
誤差点群は、各キャリブレーション位置姿勢でキャリブレーション円の実際の値と計算値との偏差を示すために使用されます。詳細については、誤差点群の説明 をご参照ください。 -
キャリブレーション精度誤差がプロジェクト要件を満たしていることを確認します。キャリブレーション精度は、100%を占める誤差の値を求めることで、おおよそ判断することができます。
例えば、標準キャリブレーション法でキャリブレーションを行った後の点群ビューは、下図のようになります。キャリブレーション精度の誤差は±2.5 mm以内です。
シーンビューでロボットの点群とロボットモデルとの重なり具合を確認
カメラの外部パラメータを計算した後、以下の操作を行います。
-
ロボットアームをカメラの視野範囲内に移動させます。
-
外部パラメータを計算 手順で、補助ツール の下の カメラによる取得 をクリックします。クリックすると、カメラが撮影を行います。
-
右側の シーンビュー で、ロボット実機の点群とロボットモデルの重なり具合を目視で確認します。ロボットの点群がロボットモデルとほぼ一致すれば、キャリブレーション結果が使用可能です。
下図のように、カラー部分はロボットモデル、黒い部分はロボットの点群です。図からわかるように、ロボットモデルとロボット点群がほぼ重なっており、キャリブレーション結果が使用可能であることを示しています。
外部パラメータ精度検証ツールによる外部パラメータの検証
精度要求が高いシーン(±2mm以内)の場合は、この方法を用いて外部パラメータを全面的に検証する必要があります。
キャリブレーションの 外部パラメータを計算 手順で、外部パラメータの精度チェック をクリックすると、このツールを開くことができます。ツールの操作ガイドに従って外部パラメータの精度を検証し、最終的な評価レポートを生成してください。
キャリブレーション精度の誤差が要件を満たさない場合は、外部パラメータのキャリブレーションレポートを表示 ボタンをクリックして、キャリブレーションデータのオイラー角タイプチェック、カメラ精度チェック、ロボットの絶対精度チェックの結果を確認できます。
|
キャリブレーション結果を適用
キャリブレーションパラメータグループには、カメラの内部パラメータおよび外部パラメータファイルが含まれています。以前にMech-Visionプロジェクトでカメラのキャリブレーションパラメータグループを使用する場合、キャリブレーション完了後に新しい外部パラメーターファイルを使用するため、Mech-Visionプロジェクト内でキャリブレーションパラメータグループを再選択する必要があります。
-
カメラから画像を取得 ステップを選択します。
-
ステップパラメータ で キャリブレーションパラメータグループ の をクリックし、表示される画面で新しいキャリブレーションパラメータグループを選択します。
キャリブレーションに関するステータスコード
ハンド・アイ・キャリブレーションを行う際、ロボットとビジョンシステムが標準インタフェースを使用して通信している場合、ビジョンシステムからのデータにはコマンドの実行状態を示すステータスコードが含まれます。このステータスコードには正常な実行完了および異常なアラートが含まれ、ステータスコードに基づいてエラー処理を行うことができます。