ドリフト補正ソリューションを導入
以下では、カメラがEIH方式で取り付けられている場合のドリフト自動補正ソリューションの導入方法について説明します。
導入手順
ドリフト補正ソリューションの導入は、下図のような手順で行います。
-
前提条件を確認:「ドリフト自動補正(EIH)」ソリューションを導入するために必要な前提条件を確認します。
-
準備作業を完了:導入前に必要な事前準備を完了させます。
-
セル情報を取得:異なるワーク層からキャリブレーションボードの位置姿勢を取得し、必要なキャリブレーションボールの撮影経路点を計算します。
-
キャリブレーションボールを固定:キャリブレーションボードの位置情報と推奨されるロボットのフランジ位置姿勢を基に、推奨されるキャリブレーションボールの固定位置を取得し、要件に従ってキャリブレーションボールを固定します。
-
撮影経路点を検証:各撮影経路点でキャリブレーションボールの位置姿勢の繰り返し精度を統計し、正確で信頼性の高いドリフト補正データを取得できることを確認します。
-
自動補正機能の有効化:把持プロジェクトで自動補正機能を有効にし、ロボット自動補正プログラムを作成して実行します。実際の生産プロセスでビジョンシステムのドリフトを補正します。
-
設定結果を確認:「ドリフト自動補正(EIH)」ソリューションの導入結果を確認します。
前提条件を確認
ドリフト補正ソリューションを導入する前に、以下の前提条件を満たす必要があります。
-
セル内に把持ビジョンソリューションが正しく設定されていることを確認します。
-
カメラ、ロボット、および外部パラメータの精度チェックが完了し、ロボットがワークを正常に把持できることを確認します。具体的な手順については、精度誤差分析ツール をご参照ください。
-
セル内にキャリブレーションボールを固定するための十分なスペースが確保されていることを確認します。
準備作業を完了
上記の前提条件が満たされた後、次の準備作業を行います。
-
キャリブレーションボードを準備します。
-
必要なものを確認します。キャリブレーションボールキット(EIH)の梱包を開封し、キャリブレーションボールやその取付ブラケットなどが含まれていることを確認します。
-
カメラを十分に暖機運転します。カメラがコールドスタート状態である場合、データ取得中の温度上昇によって内部パラメータ精度が変化する可能性があります。そのため、カメラを十分に暖機運転してください。詳細については、カメラの暖機運転 をご参照ください。
導入開始
上記の準備作業が完了した後、メニューバーで
を順番に選択し、設定ツールのホームページの右下にある 設定 をクリックして関連設定を行います。セル情報を取得
セル情報を取得して、キャリブレーションボールの撮影経路点を計算します。
カメラに接続
-
カメラを選択 をクリックし、把持プロジェクトで使用するカメラを選択して接続します。
-
ドリフト補正が必要な把持プロジェクトを選択し、対応するキャリブレーションパラメータグループと設定パラメータグループを選択します。
現場状況を確認
現場の実際の状況に応じて、適用可能なキャリブレーションボードの型番とキャリブレーションボードの固定状態を選択します。
「固定済み」を選択した場合、その後の「キャリブレーションボールを固定」手順では、「キャリブレーションボールの直径」のみを設定する必要があります。 |
キャリブレーションボードの位置決め
上記の手順が完了したら、以下のような図例と要件に従ってキャリブレーションボードを位置決めし、各ワーク層のキャリブレーションボードの位置姿勢を取得してください。
キャリブレーションボードを正確に位置決めするには、カメラの視野内に1つのキャリブレーションボードしかないことを確認してください。 |
ワークが整列して並べられている場合、キャリブレーションボードの位置決め方法はこちらをクリックして確認してください。
-
キャリブレーションボードを最高層のワークの中央に配置します。
大きなサイズのワークに対しては、ワークの特徴部分、つまり点群モデルのマッチングに使用される部分にキャリブレーションボードを配置する必要があります。
-
ロボットをワーク層の上方にある撮影経路点に移動させます。この撮影経路点は、実際の生産時に使用する撮影経路点と 一致している 必要があります。
-
+追加 をクリックして新しいワーク層を追加します。
-
位置決め をクリックして、現在のワーク層のキャリブレーションボードを撮影します。
成功した場合は、位置決めに成功 というメッセージが表示されます。下図に示すように、画像を表示 をクリックして位置決めに成功したキャリブレーションボードを確認できます。
失敗した場合は、位置決めに失敗 というメッセージが表示されます。この場合、キャリブレーションボードの範囲を選択 をクリックして、ポップアップウィンドウでキャリブレーションボードの範囲を選択するか、カメラパラメータグループを調整してから再試行してください。
-
キャリブレーションボードを2層目、3層目…と順に配置し、すべてのワーク層の情報が取得されるまで、上記の手順を繰り返します。
ワークがバラ積みされている場合、キャリブレーションボードの位置決め方法はこちらをクリックして確認してください。
-
キャリブレーションボードを最下層のワークの中央に配置します。
大きなサイズのワークに対しては、ワークの特徴部分、つまり点群モデルのマッチングに使用される部分にキャリブレーションボードを配置する必要があります。
-
ロボットをワーク層の上方にある撮影経路点に移動させます。この撮影経路点は、実際の生産時に使用する撮影経路点と 一致している 必要があります。
-
+追加 をクリックして新しいワーク層を追加します。
-
位置決め をクリックして、現在のワーク層のキャリブレーションボードを撮影します。
成功した場合は、位置決めに成功 というメッセージが表示されます。下図に示すように、画像を表示 をクリックして位置決めに成功したキャリブレーションボードを確認できます。
失敗した場合は、位置決めに失敗 というメッセージが表示されます。この場合、キャリブレーションボードの範囲を選択 をクリックして、ポップアップウィンドウでキャリブレーションボードの範囲を選択するか、カメラパラメータグループを調整してから再試行してください。
-
キャリブレーションボードを前回位置決めしたワーク層から20cm上方に配置し、再度キャリブレーションボードの位置決めを行います。
-
ワークの高さ範囲内にあるすべてのワーク層の情報が取得されるまで、上記の操作を繰り返します。
セル情報が取得されたら、次へ をクリックしてキャリブレーションボールを固定します。
キャリブレーションボールを固定
キャリブレーションボードの位置情報と推奨されるロボットのフランジ位置姿勢を基に、推奨されるキャリブレーションボールの固定位置を取得し、要件に従ってキャリブレーションボールを固定します。
キャリブレーションボードを配置
-
以下の要件に従ってキャリブレーションボードを配置します。
キャリブレーションボードを、その後のキャリブレーションボールを固定する空きスペースに配置します。
-
ロボットが到達可能な範囲内にキャリブレーションボードを配置し、ロボットが周囲の物体と衝突しないことを確認してください。
-
キャリブレーションボードを水平に配置し、正面が上向きになるようにしてください。また、ボードの周囲にはキャリブレーションボールを配置するための十分なスペースを確保してください。
-
通常、キャリブレーションボードの下側を支える物体が必要です。これにより、キャリブレーションボードの高さがキャリブレーションボールの中心高さと一致することが確保されます。
-
キャリブレーションボードの上方には障害物がないようにし、ロボットがボードの上方に正常に移動できるようにしてください。
-
-
キャリブレーションボードを位置決めします。
ロボットを移動させ、カメラを適切な高さに調整します。キャリブレーションボードがカメラの視野内にはっきりと見え、カメラの視野中心に位置することを確認します。その後、位置決め をクリックします。
-
位置決めに成功した場合は、位置決め ボタンの左側に 位置決めに成功 が表示され、キャリブレーションボードの画像を確認できます。この時、現在のロボットのフランジ位置姿勢を対応する入力ボックスに入力する必要があります。
ロボットのオイラー角タイプが正確であることを確認してください。
-
位置決めに失敗した場合は、位置決め ボタンの左側に 位置決めに失敗 が表示されます。キャリブレーションボードの範囲を選択 をクリックして、ポップアップウィンドウでキャリブレーションボードの範囲を選択して再試行してください。
-
-
撮影経路点を計算します。
キャリブレーションボードの位置決めに成功した後、下の 撮影経路点を計算 をクリックすると、キャリブレーションボールの画像撮影位置姿勢(撮影時のロボットのフランジ位置姿勢)が自動的に計算されます。
キャリブレーションボールを固定
「セル情報を取得」手順で「キャリブレーションボードの固定状況」を「固定済み」に選択した場合、この手順ではキャリブレーションボールの直径のみを設定する必要があります。 |
-
ロボットを移動させます。
「キャリブレーションボードを配置」手順で複数のロボットのフランジ位置姿勢が取得された場合、現在のページにはキャリブレーションボールに最も近いロボットフランジ位置姿勢が表示され、これが推奨値となります。この時点で、キャリブレーションボールの画像を連続してキャプチャするために、ロボットはこの位置姿勢に移動する必要があります。
ロボットを移動させる際には、ロボットが衝突しないことを確認する必要があります。まずはロボットを手動で低速で目標位置姿勢に移動させ、衝突しないかを常に確認することを推奨します。
ロボットが移動経路で衝突する可能性がある場合は、キャリブレーションボールの撮影経路点を適切に持ち上げることができますが、持ち上げ範囲が100mm以内である必要があります。100mmを超える場合は、キャリブレーションボールの台座を追加する必要があります。
-
キャリブレーションボールの寸法を設定します。
お使いのキャリブレーションボールに従って直径を設定します。
-
キャリブレーションボールを固定します。
連続キャプチャ をクリックして、表示される推奨位置(緑の円)にキャリブレーションボールを配置し、固定します。
-
キャリブレーションボールを地面にしっかりと固定します。生産中にキャリブレーションボールに誤って触れないようご注意ください。
-
それぞれのキャリブレーションボールとその台座にマーカーで線を引き、相対位置が変化していないか確認できるようにすることをお勧めします。
-
固定後、固定完了 をクリックします。
-
次へ をクリックしてキャリブレーションボールの撮影経路点を検証します。
撮影経路点を検証
各撮影経路点でキャリブレーションボールの位置姿勢の繰り返し精度を統計し、正確で信頼性の高いドリフト補正データを取得できることを確認します。
-
ロボットを撮影経路点に対応するフランジ位置姿勢に移動させ、この位置姿勢を手動でロボットプログラムに記録します。
ロボットを移動させる際には、ロボットが衝突しないことを確認する必要があります。まずはロボットを手動で低速で目標位置姿勢に移動させ、衝突しないかを常に確認することを推奨します。
ロボットが移動経路で衝突する可能性がある場合は、キャリブレーションボールの撮影経路点を適切に持ち上げることができますが、持ち上げ範囲が100mm以内である必要があります。100mmを超える場合は、キャリブレーションボールの台座を追加する必要があります。
-
選択して検証 をクリックし、各撮影経路点でキャリブレーションボールの範囲を選択して 検証 をクリックします。
選択範囲はキャリブレーションボールを完全に囲み、ボールの上下左右にそれぞれボールの直径と同じ余白を残す必要があります。「位置決め失敗」と表示された場合は、「セル情報を取得」手順で設定した「キャリブレーションボールの直径」が正しいか確認してください。
すべてのキャリブレーションボールの撮影経路点の検証を完了したら、保存 をクリックして設定内容を保存します。この時、以下のドリフト補正関連プロジェクトが自動的に生成されます。
-
Drift_Collection_EIH:各撮影経路点でキャリブレーションボールの位置姿勢を取得するためのプロジェクト。
-
Drift_Calculation:「Drift_Collection_EIH」プロジェクトで取得したキャリブレーションボールの位置姿勢に基づき、ドリフト補正データを生成するためのプロジェクト。
ドリフト補正に関連するプロジェクト内容は変更しないでください。また、その後のドリフト補正過程において、関連プロジェクトの名前およびプロジェクト番号が変更されないようにしてください。 プロジェクトを生成すると同時に、ワークライブラリ内にキャリブレーションボールの点群モデルが自動的に生成されます。この点群モデルの名前および関連設定は変更しないでください。 |
自動補正機能の有効化
撮影経路点の検証を完了した後、実際の生産過程でビジョンシステムのドリフトを補正するためには、以下の操作を行う必要があります。
-
把持プロジェクトで自動補正機能を有効にします。
-
自動補正のためのロボットプログラムを作成します。
ロボットの自動補正プログラムを作成
キャリブレーションボールの位置姿勢を自動的に取得し、ドリフト補正データを生成するために、ロボットの自動補正プログラムを作成する必要があります。プログラムを作成する際には、事前に手動で記録したロボットのフランジ位置姿勢が必要です。記録されていない場合は、完了 をクリックし、ツールホームページの下部にある 設定を確認 をクリックして、設定結果を通して対応する撮影経路点のフランジ位置姿勢を確認できます。
ツールのホームページに戻った後は、4番目の手順の右側にある をクリックして、「自動補正機能の有効化」の操作手順を引き続き確認できます。 |
以下のプログラムフローの説明、および FANUCロボットのサンプルプログラムとその説明を参照して、ロボットの自動補正プログラムを作成することができます。ロボットの自動補正プログラムの主要フローは以下の通りです。
手順1:ロボット座標系とツール座標系を設定します。
手順2:ロボットを安全な経路点に移動させます。
手順3:ロボットを事前に計画された撮影経路点1に移動させます。
手順4:撮影経路点1に到達した後、キャリブレーションボール位置姿勢取得プロジェクト(Drift_Collection_EIH)でこの撮影経路点に対応するパラメータレシピに切り替えます。
手順5:パラメータレシピを切り替えた後、「Drift_Collection_EIH」プロジェクトの実行をトリガーし、撮影経路点1でキャリブレーションボールの位置姿勢を取得します。
手順6:他の層の撮影経路点で上記の手順3~5を実行し、それぞれの撮影経路点でキャリブレーションボールの位置姿勢を取得します。
手順7:各撮影経路点でキャリブレーションボールの位置姿勢を取得した後、ドリフト補正データ生成プロジェクト(Drift_Calculation)でパラメータレシピを切り替えます。
手順8:「Drift_Calculation」プロジェクトの実行をトリガーし、ドリフト補正データを生成します。
手順9:ロボットを安全な経路点に移動させます。
上記の手順に基づき、FANUCロボットを例にし、キャリブレーションボールの撮影経路点の数は2、キャリブレーションボールの位置姿勢取得プロジェクトのプロジェクト番号は2、ドリフト補正データ生成プロジェクトのプロジェクト番号は3であることを仮定しています。自動補正プログラムと各主要手順の説明は以下の通りです。
UFRAME_NUM=0 ;
UTOOL_NUM=1 ;
J P[1] 100% FINE ;
CALL MM_INIT_SKT('8','192.168.10.22',50000,5) ;
L P[2] 1000mm/sec FINE ;
WAIT 2.00(sec) ;
CALL MM_SET_MOD(2,1) ;
CALL MM_START_VIS(2,0,2,10) ;
WAIT 1.00(sec) ;
L P[3] 1000mm/sec FINE ;
WAIT 2.00(sec) ;
CALL MM_SET_MOD(2,2) ;
CALL MM_START_VIS(2,0,2,10) ;
WAIT 1.00(sec) ;
CALL MM_SET_MOD(3,1) ;
CALL MM_START_VIS(3,0,2,10) ;
J P[1] 100% FINE ;
END ;
自動補正プログラムの主要手順の説明は下表の通りです。
下表は主要な手順の説明をまとめたものです。 |
手順 | コードと説明 | ||
---|---|---|---|
座標系設定 |
ロボット座標系をワールド座標系に、ツール座標系をフランジ座標系に設定します。 |
||
ロボットをHome位置に移動 |
ワークや周辺機器から離れ、ロボットをHome位置に移動させます。
|
||
通信パラメータの初期化 |
ロボットのポート番号を8、接続するIPCのIPアドレスを192.168.10.22、IPCがロボットとの通信を確立するために使用するポート番号を50000、タイムアウト待機時間を5分に設定します。 |
||
ロボットを撮影経路点1に移動 |
ロボットは1000mm/secの速度でキャリブレーションボールの撮影経路点1まで直線移動します。この撮影経路点の情報は、設定結果 から確認できます。 |
||
キャリブレーションボールの位置姿勢取得プロジェクトでパラメータレシピを切り替える |
「Drift_Collection_EIH」プロジェクトでは、パラメータレシピを番号1のレシピに切り替えます。 |
||
キャリブレーションボールの位置姿勢取得プロジェクトを実行 |
「Drift_Collection_EIH」プロジェクトを実行し、撮影経路点でキャリブレーションボールの位置姿勢を取得します。 |
||
ドリフト補正データ生成プロジェクトでパラメータレシピを切り替える |
すべての撮影経路点でキャリブレーションボールの位置姿勢取得が完了した後、「Drift_Calculation」プロジェクトでは、パラメータレシピを番号1のレシピに切り替えます。
|
||
ドリフト補正データ生成プロジェクトを実行 |
「Drift_Calculation」プロジェクトを実行して、取得したキャリブレーションボールの位置姿勢に基づいてドリフト補正データを生成します。 |
||
ロボットをHome位置に移動 |
ワークや周辺機器から離れ、ロボットをHome位置に移動させます。 |
ロボットの自動補正プログラムを試運転
ロボットの自動補正プログラムを実行すると、ロボットは対応する撮影経路点に移動し、Mech-Visionプロジェクトの実行をトリガーし、キャリブレーションボールを撮影してその位置姿勢データを取得します。最終的に、生成されたドリフト補正データに基づいてドリフトが補正されます。
ロボットの自動補正プログラムを実行した後、補正記録が生成されます。この記録は、データ監視ダッシュボード で確認できます。
ワーク把持を試行
ロボットの把持プログラムを実行し、ロボットがワークを正確に把持できた場合は、ソリューションの導入が成功したことを示します。
把持試行後、実際の生産現場で長期間安定して稼働させるためには、データ監視ダッシュボード にドリフトのアラート閾値を設定する必要があります。通常、10mmに設定することを推奨します。ドリフトがこのしきい値を超えた場合は、カメラとロボットハンドがしっかりと取り付けられているか、ロボットの原点がずれていないかなどを確認してください。
自動補正周期を設定
実際の生産環境に応じて、ロボット自動補正プログラムを一定の周期で(手動または自動)実行し、定期的にキャリブレーションボールの位置姿勢データを取得 します。このデータを使用して、ビジョンシステムのドリフトを定期的に補正します。
これで、「ドリフト自動補正(EIH)」ソリューションの導入が完了しました。完了 をクリックしてツールのホームページに戻ります。
導入完了後、現在のカメラ設定パラメータグループをローカルにエクスポートしてバックアップすることをお勧めします。これにより、カメラが故障して交換が必要になった場合、設定パラメータグループをエクスポートできなくなるリスクを回避できます。 |
ツールのホームページ下部にある 設定を確認 をクリックして設定結果を確認できます。設定結果には、ドリフト自動補正機能が設定されたカメラの番号、設定結果の保存パス、撮影経路点の情報、およびカメラ番号情報が含まれます。 |