直行ロボットのハンド・アイ・キャリブレーション
以下では、直行ロボットのハンド・アイ・キャリブレーションを実行する方法について説明します。
直行ロボットのハンド・アイ・キャリブレーションの概念や外部パラメータファイルの使用については、 直行ロボットのハンド・アイ・キャリブレーションの説明 をご参照ください。 |
事前準備
以下は、ハンド・アイ・キャリブレーションを実行する前に必要な事前準備です。
-
Mech-Mindビジョンシステムを構築します。
-
キャリブレーションに必要なものを準備します。
-
キャリブレーションボードの点群画像生成を調整します。
ビジョンシステムを構築
ビジョンシステムのハードウェア設置 を参照してMech-Mindビジョンシステムの構築を完了させてください。
ハンド・アイ・キャリブレーションを実行するには、Mech-Eye Viewer、Mech-VisionおよびMech-Vizの使用が必要です。これらのソフトウェアがインストールされ、最新バージョンにアップグレードされていることを確認してください。
キャリブレーションに必要なものを準備
以下のものが必要です。
-
キャリブレーションボード
-
TCP先端
-
巻尺
キャリブレーションボードは以下の要件を満たす必要があります。
-
キャリブレーションボードの白い円がはっきりと見えること、破損や曲げ変形がないことを確認してください。
-
直行ロボットのハンド・アイ・キャリブレーションでは、キャリブレーションボードを作業平面の中心に平らに配置してください。
TCP先端は直行ロボットのハンドに取り付ける必要があります。巻尺を使用して、TCP先端からフランジの中心までのX、Y、Z方向のオフセットを測定します。
キャリブレーションボードの点群画像生成を調整
-
Mech-Eye Viewerを起動し、カメラパラメータを調整します。
-
2D画像内のキャリブレーションボードがはっきり見え、露出過度や露出不足がないように、2Dパラメータを調整します。
-
3Dパラメータを調整して、キャリブレーションボードの白い円の点群が完全に見られるようにします。点群の変動範囲を小さくするために、点群後処理の中の表面平滑化とノイズ除去をNormalに設定することを推奨します。
現場では、環境光が複雑な場合、2D画像や点群への影響を軽減するために、遮光・補光することを推奨します。
-
上記の手順を完了することで、キャリブレーションボードの点群の画像品質が要件を満たしていることを確認します。
正常 露出過度 露出不足 2D画像
点群
キャリブレーション前の設定
-
Mech-Visionを起動し、ツールバーの カメラキャリブレーション(標準モード) をクリックします。すると、キャリブレーション前の設定 画面が表示されます。
-
キャリブレーションの実行方法を選択 画面で、 新なキャリブレーションを開始 を選択し、 次へ をクリックします。
-
キャリブレーションのタスクを選択 画面で、ドロップダウンリストから その他のロボットのハンド・アイ・キャリブレーション を選択し、必要に応じて ロボットのオイラー角のタイプ を指定し、ロボットの座標系を選択してから 次へ をクリックします。
-
ロボットの座標系タイプは、 左/右手系 を参照して確認できます。直行ロボットが左手系を使用している場合は、ここで左手系を選択してください。
-
ロボットと通信する際、通信モジュールは送受信したロボットの位置姿勢を自動的に右手系に変換します。ロボット側からのロボット位置姿勢を受信した場合、左手座標系の位置姿勢を自動的に右手座標系の位置姿勢に変換します。ソフトウェアから出力された位置姿勢をロボット側に送信する前に、右手座標系の位置姿勢を左手座標系の位置姿勢に変換します。
-
キャリブレーション中にロボットのフランジ位置姿勢を手動で入力する場合、Y軸の値を反転させる必要があります。
-
-
キャリブレーションするためのロボットを選択 画面で、 直行ロボット(最大6自由度に対応、XYZABC) を選択してから 次へ をクリックします。
-
カメラ位置に影響を与える直行ロボットの動きを選択 画面で、実際の状況に応じて(X軸に沿って並進/X軸を中心に回転、Y軸に沿って並進/Y軸を中心に回転、Z軸に沿って並進/Z軸を中心に回転、カメラ位置に影響を与える動きがない)選択してから 実行 をクリックします。
これで、キャリブレーション前の設定が完了し、キャリブレーションに進むことになります。
キャリブレーションの実行手順
カメラ接続
-
カメラに接続 手順で、カメラ一覧から接続するカメラを選択して をクリックするか、ダブルクリックして接続します。
-
カメラ接続後、 一回キャプチャ または 連続キャプチャ をクリックします。
-
画像ビュー では、カメラが画像を正常に取得できることを確認した上で 次へ をクリックします。
キャリブレーションボードを取り付けて内部パラメータをチェック
-
キャリブレーションボードを取り付けて内部パラメータをチェック 手順で、使用されているキャリブレーションボードに貼られているラベルに従って、キャリブレーションボードを選択 の下の 標準キャリブレーションボード型番 を選択します。
-
キャリブレーションボードの位置と点群品質を確認 で、チェック基準を確認してから、 連続キャプチャ をクリックします。すると、 連続キャプチャ が キャプチャを停止して位置を検出 に変わります。
-
キャリブレーションボードを適切な位置までロボットを移動させ、キャリブレーションボードの2D画像と深度画像がチェック基準を満たしていることを確認してから、 キャプチャを停止して位置を検出 をクリックします。
取得した画像がチェック基準を満たしていない場合、 Mech-Eye Viewerを起動 をクリックしてMech-Eye Viewerを起動し、 カメラの2Dと3D露出パラメータを調整 してから画像を再取得します。パラメータを調整する前に、必ず パラメータグループ を「calib」に切り替えてください。
-
カメラの内部パラメータをチェック で 内部パラメータをチェック をクリックします。
-
内部パラメータのチェック結果を確認します。
-
カメラの内部パラメータのチェックが合格している場合は、表示される画面で OK をクリックし、下の 次へ をクリックします。
-
カメラの内部パラメータのチェックが合格していない場合、補助円を描画するか、キャリブレーションボードの白い円の検出パラメータを手動で調整してから、 内部パラメータを再チェック をクリックします。
-
補助円を描画
-
補助円を描画する場合、 補助円を描画 をクリックします。
-
右側の 画像ビュー パネルで、キャリブレーションボードの画像を右クリックし、 ウィンドウに合わせる のチェックを外します。その後、Ctrlキーを押しながらスクロールホイールをドラッグして画像のサイズを適切な大きさに変更します。
-
キャリブレーションボードの白い円の十字型の中心にマウスポインタを合わせて、マウスの左ボタンを押し、補助円をキャリブレーションボードの白い円に完全に含ませてから離します。
-
内部パラメータを再チェック をクリックし、カメラ内部パラメータのチェックが合格しているかどうかを確認します。
検出パラメータを手動で調整
検出パラメータを手動で調整する場合、 キャリブレーションボードの白い円の検出パラメータ(詳細設定) をクリックして展開し、検出パラメータの値を変更します。その後、 内部パラメータを再チェック をクリックし、カメラの内部パラメータのチェックが合格しているかどうかを確認します。
それでもキャリブレーションボードの白い円が検出されない場合、現場の環境に応じてカメラの関連パラメータを調整する必要があります。カメラパラメータの調整については、 パラメータ調整 をご参照ください。
フランジ座標系でTCP値を設定
この手順を実行する前に、巻尺を使用してTCP先端からフランジ中心までのX、Y、Z方向のオフセット値(ミリメートル単位)を測定する必要があります。 |
フランジ座標系でTCP値を設定 手順で、測定したX、Y、Z方向のオフセット値をX、Y、Zのテキストボックスに入力し、 TCP値を確認 をクリックしてから、下の 次へ をクリックします。
左手系を使用する直行ロボットの場合、入力前にY軸の値を反転させる必要があります。 |
キャリブレーションボードの画像とフランジ位置姿勢を取得
-
ロボットハンドのTCP先端がキャリブレーションボードの白い円のポイント1での十字型の中心にタッチするように直行ロボットを移動させ、ティーチペンダントに表示されるロボットのフランジ位置姿勢を読み取ります。
-
キャリブレーションボードの画像とフランジ位置姿勢を取得 手順で、ポイント1の をクリックし、表示される ロボットのフランジ位置姿勢を入力 画面でロボットのフランジ位置姿勢を入力してから、 OK をクリックします。
左手系を使用する直行ロボットの場合、ロボットのフランジ位置姿勢を入力する前にY軸の値を反転させる必要があります。
-
上記の手順をクリックし、TCP先端がポイント2とポイント3での十字型の中心にタッチし、ロボットのフランジ位置姿勢を入力します。
-
現在のキャリブレーションボードの をクリックし、キャリブレーションボードの画像を取得します。
-
データを更新 をクリックし、下の 次へ をクリックします。
-
キャリブレーションでは、外部パラメータを計算するために、少なくとも3つの共線でないポイントをタッチする必要があります。
-
直行ロボットがある方向の自由度を持たない場合、複数のキャリブレーションボードの位置姿勢を追加することができます。以下では、Y軸の自由度を持たないことを例として説明します。まず、TCP先端がキャリブレーションボード上の2つのポイントをタッチできるようにキャリブレーションボードの方向を調整し、ロボットのフランジ位置姿勢を入力してキャリブレーションボードの画像を取得します。次に、キャリブレーションボードの位置をZ方向に上に移動(または下に移動)し、X方向に沿ってキャリブレーションボード上のポイントをタッチし、ロボットのフランジ位置姿勢を入力してキャリブレーションボードの画像を取得します。移動されたキャリブレーションボードの位置が、前の位置と大きく異なっていることを確認してください。
-
外部パラメータを計算
-
外部パラメータを計算 手順で、 外部パラメータを計算 をクリックします。
-
キャリブレーションが正常に実行されたことを示すダイアログで、 OK をクリックします。
キャリブレーション精度を向上させるには、 キャリブレーション結果の分析 をご参照ください。 -
下の 保存 をクリックし、ポップアップする キャリブレーションファイルの保存 画面で OK をクリックします。すると、キャリブレーション結果はプロジェクトの「calibration」ディレクトリに自動的に保存されます。
これで、キャリブレーション手順が完了しました。
外部パラメータファイルの切替え
Mech-Visionプロジェクトがカメラの外部パラメータファイルを使用している場合、ハンド・アイ・キャリブレーションが完了したら、Mech-Visionプロジェクトに使用されている外部パラメータファイルを新しいものに切り替える必要があります。
-
カメラから画像を取得 ステップを選択します。
-
ステップパラメータ から キャリブレーションパラメータグループ の をクリックし、表示される画面で新しい外部パラメータファイルを選択します。
キャリブレーションに関するステータスコード
ハンド・アイ・キャリブレーションを行う際、ロボットとビジョンシステムが標準インタフェースを使用して通信している場合、ビジョンシステムからのデータにはコマンドの実行状態を示すステータスコードが含まれます。このステータスコードには正常な実行完了および異常なアラートが含まれ、ステータスコードに基づいてエラー処理を行うことができます。