(57)【要約】【課題】マスタ画像と検査画像との間にずれが生じた場合に、マスタ画像と検査画像とを迅速且つ容易に見当合せ可能とする技術が求められている。【解決手段】物体検査システム１０は、撮像部１６と、第１の物体又は第２の物体と撮像部とを相対的に移動させる移動機械１４と、移動機械が第１の物体又は第２の物体と撮像部とを相対位置に配置するときの、移動機械の位置データを取得する位置データ取得部４４と、第１の物体の第１画像及び第２の物体の第２画像を取得する画像データ取得部４６と、第１画像と第２画像との見当合せを行う画像見当合せ部５６とを備え、第１の物体に対する第２の物体の視覚的に認識される誤差の有無を検査できるようにする。【選択図】図２
2019113348.tif 000002
【特許請求の範囲】
【請求項１】
共通の外形を有する第１の物体及び第２の物体を撮像する撮像部と、
前記第１の物体又は前記第２の物体と前記撮像部とを相対的に移動させる移動機械と、
前記移動機械が前記第１の物体と前記撮像部とを第１相対位置に配置するときの、前記移動機械の第１位置データを取得するとともに、前記移動機械が前記第２の物体と前記撮像部とを第２相対位置に配置するときの、前記移動機械の第２位置データを取得する位置データ取得部と、
前記第１相対位置で前記撮像部が撮像した前記第１の物体の第１画像を取得するとともに、前記第２相対位置で前記撮像部が撮像した前記第２の物体の第２画像を取得する画像データ取得部と、
前記移動機械の移動機械座標系と前記撮像部の撮像座標系との間の既知の位置関係と、前記第１位置データ及び前記第２位置データとを用いて、前記撮像座標系における前記第１画像と前記第２画像との見当合せを行う画像見当合せ部と、を備え、
見当合せを行った前記第１画像と前記第２画像とに基づき、前記第１の物体に対する前記第２の物体の視覚的に認識される誤差の有無を検査できるようにする、物体検査システム。
【請求項２】
前記移動機械座標系と前記撮像座標系との間の座標変換データを取得する座標変換データ取得部をさらに備え、
前記画像見当合せ部は、前記既知の位置関係として前記座標変換データを用いる、請求項１に記載の物体検査システム。
【請求項３】
前記既知の位置関係と前記第１位置データ及び前記第２位置データとに基づいて、前記撮像座標系における前記第１画像と前記第２画像との位置差を取得する画像位置差取得部をさらに備え、
前記画像見当合せ部は、前記位置差に基づいて前記見当合せを行う、請求項１又は２に記載の物体検査システム。
【請求項４】
見当合せを行った前記第１画像と前記第２画像とを用いて、前記第１の物体に対する前記第２の物体の前記誤差の有無を検査する物体検査部をさらに備える、請求項１〜３のいずれか１項に記載の物体検査システム。
【請求項５】
前記撮像部は、予め定められた位置に固定され、
前記移動機械は、前記第１の物体又は前記第２の物体と予め定められた目的位置で接触して該第１の物体又は該第２の物体を移動させる、請求項１〜４のいずれか１項に記載の物体検査システム。
【請求項６】
前記移動機械は、前記第１の物体又は前記第２の物体を把持する把持部を有し、
前記第１位置データ及び前記第２位置データは、前記把持部の位置データである、請求項５に記載の物体検査システム。
【請求項７】
前記第１位置データは、前記移動機械が移動する前記第１の物体上の基準点の位置データであり、
前記第２位置データは、前記移動機械が移動する前記第２の物体上の、前記基準点に対応する第２基準点の位置データである、請求項５に記載の物体検査システム。
【請求項８】
前記基準点の指定を受け付ける基準点受付部をさらに備える、請求項７に記載の物体検査システム。
【請求項９】
前記移動機械が前記第２の物体を把持しているときの、前記移動機械に対する前記第２の物体の前記目的位置からの位置ずれを取得する位置ずれ取得部をさらに備え、
前記移動機械は、前記位置ずれを打ち消すように前記第２の物体を前記撮像部に対して移動させて、該第２の物体と該撮像部とを前記第２相対位置に位置決めするか、又は
前記画像見当合せ部は、前記位置ずれをさらに用いて、前記見当合せを行う、請求項５〜８のいずれか１項に記載の物体検査システム。
【請求項１０】
前記画像見当合せ部は、
前記第１画像又は前記第２画像を、前記撮像部の光軸と直交する平面内で移動させることによって、前記見当合せを行うか、
前記第１画像又は前記第２画像を、前記光軸周りに回転させることによって、前記見当合せを行うか、又は
前記第１画像又は前記第２画像を拡大又は縮小させることによって、前記見当合せを行う、請求項１〜９のいずれか１項に記載の物体検査システム。
【請求項１１】
前記画像位置差取得部は、前記位置差として、前記第２の画像を前記第１の画像に一致させるように変換する行列を取得し、
前記画像見当合せ部は、前記第２の画像を前記行列で変換することによって、前記見当合せを行う、請求項３に記載の物体検査システム。
【請求項１２】
前記位置データ取得部は、前記撮像部をモデル化した撮像部モデルと前記移動機械をモデル化した機械モデルとをモデル環境で動作させることにより前記第１位置データを取得するシミュレーション部を有する、請求項１〜１１のいずれか１項に記載の物体検査システム。
【請求項１３】
第１の物体と撮像部とを移動機械によって第１相対位置に配置するときの、前記移動機械の第１位置データを取得することと、
前記第１相対位置で前記撮像部が撮像した前記第１の物体の第１画像を取得することと、
前記第１の物体と共通の外形を有する第２の物体と前記撮像部とを前記移動機械によって第２相対位置に配置するときの、前記移動機械の第２位置データを取得することと、
前記第２相対位置で前記撮像部が撮像した前記第２の物体の第２画像を取得することと、
前記移動機械の移動機械座標系と前記撮像部の撮像座標系との間の既知の位置関係と、前記第１位置データ及び前記第２位置データとを用いて、前記撮像座標系における前記第１画像と前記第２画像との見当合せを行うことと、
見当合せを行った前記第１画像と前記第２画像とに基づき、前記第１の物体に対する前記第２の物体の視覚的に認識される誤差の有無を検査することと、を備える、物体検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体検査システム及び物体検査方法に関する。
【背景技術】
【０００２】
ワーク等の物体の表面を撮像して該物体の表面を検査する物体検査システムが知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０１５３９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
物体検査システムにおいて、基準となる物体のマスタ画像を取得するとともに、検査対象となる物体の検査画像を取得し、これら２つの画像を比較することで、基準となる物体に対する検査対象となる物体の視覚的な誤差の有無を検査する。
【０００５】
この場合において、マスタ画像と検査画像との間にずれが生じる場合がある。従来、このようなずれが生じた場合に、マスタ画像と検査画像とを迅速且つ容易に見当合せ可能とする技術が求められている。
【課題を解決するための手段】
【０００６】
本開示の一態様において、物体検査システムは、共通の外形を有する第１の物体及び第２の物体を撮像する撮像部と、第１の物体又は第２の物体と撮像部とを相対的に移動させる移動機械と、移動機械が第１の物体と撮像部とを第１相対位置に配置するときの、移動機械の第１位置データを取得するとともに、移動機械が第２の物体と撮像部とを第２相対位置に配置するときの、移動機械の第２位置データを取得する位置データ取得部と、第１相対位置で撮像部が撮像した第１の物体の第１画像を取得するとともに、第２相対位置で撮像部が撮像した第２の物体の第２画像を取得する画像データ取得部と、移動機械の移動機械座標系と撮像部の撮像座標系との間の既知の位置関係と、第１位置データ及び第２位置データとを用いて、撮像座標系における第１画像と第２画像との見当合せを行う画像見当合せ部とを備え、見当合せを行った第１画像と第２画像とに基づき、第１の物体に対する第２の物体の視覚的に認識される誤差の有無を検査できるようにする。
【０００７】
本開示の他の態様において、物体検査方法は、第１の物体と撮像部とを移動機械によって第１相対位置に配置するときの、移動機械の第１位置データを取得することと、第１相対位置で撮像部が撮像した第１の物体の第１画像を取得することと、第１の物体と共通の外形を有する第２の物体と撮像部とを移動機械によって第２相対位置に配置するときの、移動機械の第２位置データを取得することと、第２相対位置で撮像部が撮像した第２の物体の第２画像を取得することと、移動機械の移動機械座標系と撮像部の撮像座標系との間の既知の位置関係と、第１位置データ及び第２位置データとを用いて、撮像座標系における第１画像と第２画像との見当合せを行うことと、見当合せを行った第１画像と第２画像とに基づき、第１の物体に対する第２の物体の視覚的に認識される誤差の有無を検査することとを備える。
【発明の効果】
【０００８】
本開示の一態様によれば、仮にマスタ画像と検査画像との間でずれが生じていた場合に、移動機械の位置データを用いて、これら２つの画像の見当合せを行うことができる。これにより、画像の見当合せに掛かる作業の軽減化及び迅速化を実現できる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る物体検査システムの図である。
【図２】物体検査システムのブロック図である。
【図３】図１に示すロボットハンドの拡大図であって、該ロボットハンドを、ツール座標系のｙ軸プラス方向から見た図である。
【図４】物体に対するツール座標系の配置を説明するための図である。
【図５】図１の撮像部及び物体を拡大した拡大図である。
【図６】第１の物体と撮像部とが第１の基準相対位置に位置決めされたときの被検査面における視野を示す図である。
【図７】第１の物体と撮像部とが第１の基準相対位置に配置されたときに撮像部によって撮像されるマスタ画像の例を示す。
【図８】第１の物体と撮像部とが第ｎの基準相対位置（ｎ＝１〜１２）に配置されたときの被検査面における視野を示す図である。
【図９】第２の物体と撮像部とが第１の検査相対位置に配置されたときに撮像部によって撮像される検査画像の例を示す。
【図１０】第２の物体と撮像部とが第１の検査相対位置に配置されたときに撮像部によって撮像される検査画像の例を示す。
【図１１】第２の物体と撮像部とが第１の検査相対位置に配置されたときに撮像部によって撮像される検査画像の例を示す。
【図１２】第２の物体と撮像部とが第１の検査相対位置に配置されたときに撮像部によって撮像される検査画像の例を示す。
【図１３】図１２に示す検査画像を撮像したときの物体と撮像部との位置関係を説明するための図であって、（ａ）は、マスタ画像撮像時の第１の物体と撮像部との位置関係を示し、（ｂ）は、検査画像撮像時の第２の物体と撮像部との位置関係を示す。
【図１４】物体検査システムの動作フローの一例を示すフローチャートである。
【図１５】図１４中のステップＳ１のフローの一例を示すフローチャートである。
【図１６】図１４中のステップＳ２のフローの一例を示すフローチャートである。
【図１７】図１４中のステップＳ３のフローの一例を示すフローチャートである。
【図１８】図１４中のステップＳ４のフローの一例を示すフローチャートである。
【図１９】物体検査システムの他の機能を表すブロック図を示す。
【図２０】図１９に示す物体検査システムが実行する図１４中のステップＳ１のフローの一例を示すフローチャートである。
【図２１】基準点が指定された第１のマスタ画像の例を示す。
【図２２】検査基準点がプロットされた第１の検査画像の例を示す。
【図２３】検査基準点がプロットされた第１の検査画像の例を示す。
【図２４】検査基準点がプロットされた第１の検査画像の例を示す。
【図２５】基準点が指定された第１のマスタ画像の例を示す。
【図２６】検査基準点がプロットされた第１の検査画像の例を示す。
【図２７】物体検査システムのさらに他の機能を表すブロック図を示す。
【図２８】物体検査システムのさらに他の機能を表すブロック図を示す。
【図２９】他の実施形態に係る物体検査システムの図である。
【図３０】さらに他の実施形態に係る物体検査システムのブロック図である。
【発明を実施するための形態】
【００１０】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図１〜図３を参照して、一実施形態に係る物体検査システム１０について説明する。
【００１１】
物体検査システム１０は、制御部１２、移動機械１４、撮像部１６、及び照明装置１８を備える。制御部１２は、ＣＰＵ及び記憶部（図示せず）等を有し、移動機械１４、撮像部１６及び照明装置１８を制御する。
【００１２】
本実施形態においては、移動機械１４は、垂直多関節ロボットであって、ロボットベース２０、旋回胴２２、ロボットアーム２４、手首部２６、及びロボットハンド（把持部）２８を有する。ロボットベース２０は、作業セルの床の上に固定されている。旋回胴２２は、鉛直軸周りに旋回可能となるように、ロボットベース２０に設けられている。
【００１３】
ロボットアーム２４は、旋回胴２２に回動可能に連結された上腕部３０と、該上腕部３０の先端に回動可能に連結された前腕部３２とを有する。手首部２６は、前腕部３２の先端に取り付けられ、ロボットハンド２８を回動可能に支持している。
【００１４】
図３に示すように、ロボットハンド２８は、ハンドベース３４、複数の指部３６、及び指部駆動部（図示せず）を有する。ハンドベース３４は、手首部２６に連結されている。複数の指部３６は、ハンドベース３４に開閉可能に設けられている。
【００１５】
複数の指部３６は、ハンドベース３４から一方へ向かって延び、互いに対向する面に、段差部３６ａを有する。ロボットハンド２８がワーク等の物体Ｗを把持するとき、物体Ｗの上面ＳＵは、段差部３６ａと係合する。指部駆動部は、例えばエアシリンダであって、ハンドベース３４に内蔵されている。指部駆動部は、制御部１２からの指令に応じて、指部３６を開閉させる。
【００１６】
移動機械１４は、複数のサーボモータ３８（図２）を有する。サーボモータ３８は、移動機械１４の旋回胴２２、ロボットアーム２４、及び手首部２６にそれぞれ内蔵され、制御部１２からの指令（速度指令、トルク指令等）に応じて、これらの構成要素を駆動する。
【００１７】
移動機械１４の各構成要素を制御するための自動制御の座標系の１つとして、ロボット座標系（移動機械座標系）ＣＲ（図１）が設定される。制御部１２は、ロボット座標系ＣＲを基準として、該移動機械１４の各構成要素を動作させる。例えば、ロボット座標系ＣＲのｚ軸は、実空間の鉛直方向に平行であり、旋回胴２２は、ロボット座標系ＣＲのｚ軸周りに回動される。
【００１８】
一方、ロボットハンド２８に対しては、ツール座標系ＣＴが設定される。このツール座標系ＣＴは、自動制御の座標系の１つであって、該ツール座標系ＣＴの位置及び方向をロボット座標系ＣＲで表現することにより、空間内でのロボットハンド２８の位置及び姿勢を規定する。
【００１９】
図３に示すように、本実施形態においては、ツール座標系ＣＴの原点が、指部３６の段差部３６ａの間に位置し、指部３６が、ハンドベース３４からツール座標系ＣＴのｚ軸プラス方向へ延出し、ツール座標系ＣＴのｘ軸方向へ開閉するように、ツール座標系ＣＴが設定されている。
【００２０】
制御部１２は、ロボットハンド２８の位置及び姿勢を、ツール座標系ＣＴによって規定される位置及び姿勢に一致させるように、ロボット座標系ＣＲにおいて旋回胴２２、ロボットアーム２４、及び手首部２６を動作させる。こうして、ロボットハンド２８は、ロボット座標系ＣＲにおいて任意の位置及び姿勢に配置される。
【００２１】
撮像部１６は、フォーカスレンズ等の光学系と、ＣＣＤセンサ又はＣＭＯＳセンサ等の撮像センサとを有する。本実施形態においては、撮像部１６は、ロボット座標系ＣＲにおける予め定められた位置に、移動機械１４から離隔して固定されている。撮像部１６は、制御部１２からの指令に応じて、物体Ｗを撮像し、撮像した画像を制御部１２へ送信する。
【００２２】
撮像部１６の固定位置、及び該撮像部１６の光軸Ｏ（すなわち、撮像部１６の光学系に入射する被写体像の光路）は、ロボット座標系ＣＲに対してキャリブレーションしておくことによって、ロボット座標系ＣＲにおいて座標化され、制御部１２の記憶部に予め記憶される。これにより、制御部１２は、ロボット座標系ＣＲにおける撮像部１６及び光軸Ｏの位置を、認識できる。
【００２３】
照明装置１８は、白熱灯、蛍光灯、又はＬＥＤ等を有し、予め定められた位置に固定される。照明装置１８は、制御部１２からの指令に応じてＯＮ／ＯＦＦし、ＯＮとなっているときに、移動機械１４に把持された物体Ｗへ光を照射する。
【００２４】
次に、図１〜図１１を参照して、物体検査システム１０の機能について説明する。本実施形態においては、物体検査システム１０は、第１の物体Ｗ１の被検査面ＳＩを撮像し、次いで、第２の物体Ｗ２の被検査面ＳＩを撮像し、これら２つの画像を比較することによって、第１の物体Ｗ１に対する第２の物体Ｗ２の視覚的に認識される誤差（例えば、傷痕、表面粗さの差、部品取付位置の差、溶接位置の差等）の有無を検査する。
【００２５】
第１の物体Ｗ１と第２の物体Ｗ２とは、共通の外形を有する。本実施形態においては、第１の物体Ｗ１と第２の物体Ｗ２とは、互いに同じ外形の矩形板であって、計４個の孔Ｈを有する。
【００２６】
まず、制御部１２は、移動機械１４を動作させて、予め定められた保管場所に保管された第１の物体Ｗ１を、ロボットハンド２８によって把持する。このとき、ロボットハンド２８は、第１の物体Ｗ１を、予め指定された把持位置（目的位置）で把持する。この把持位置は、ロボットハンド２８で第１の物体Ｗ１を把持するときに制御部１２が設定するツール座標系ＣＴの位置及び方向によって、決められる。
【００２７】
一例として、オペレータは、物体検査システム１０に設けられたキーボード又はタッチパネル等の操作部（図示せず）を操作して、第１の物体Ｗ１においてツール座標系ＣＴの原点の位置を指定する。
【００２８】
仮に、オペレータが、図４に示すように、ツール座標系ＣＴの原点の位置を、第１の物体Ｗ１の上面ＳＵの中心に指定したとする。この場合、制御部１２は、保管場所に保管された第１の物体Ｗ１をロボットハンド２８で把持するとき、ツール座標系ＣＴの原点が該第１の物体Ｗ１の上面ＳＵの中心に位置し、且つ、ツール座標系ＣＴのｙ−ｚ平面が被検査面ＳＩと平行となるように、ツール座標系ＣＴを該第１の物体Ｗ１に対して設定する。
【００２９】
そして、制御部１２は、移動機械１４を動作させて、ロボットハンド２８を、設定されたツール座標系ＣＴによって規定される位置及び姿勢に配置させ、該ロボットハンド２８によって第１の物体Ｗ１を把持する。その結果、ロボットハンド２８は、図１、図３及び図５に示すように、オペレータが指定したツール座標系ＣＴに対応する把持位置で、第１の物体Ｗ１を把持することになる。
【００３０】
ロボットハンド２８が所定の把持位置で第１の物体Ｗ１を把持した場合、ロボットハンド２８（すなわち、ツール座標系ＣＴ）に対する第１の物体Ｗ１の位置が既知となり、第１の物体Ｗ１上の任意の位置は、この把持位置と第１の物体Ｗ１の図面データとを用いて、ロボット座標系ＣＲにおいて座標化することができる。
【００３１】
換言すれば、既知の把持位置でロボットハンド２８に把持された第１の物体Ｗ１は、ロボット座標系ＣＲにおいて制御される、移動機械１４の一構成要素と見做すことができる。
【００３２】
次いで、制御部１２は、移動機械１４を動作させて、第１の物体Ｗ１の被検査面ＳＩの少なくとも一部が撮像部１６の視野Ａに入るように第１の物体Ｗ１を移動させ、該第１の物体Ｗ１と該撮像部１６とを基準相対位置（第１相対位置）に配置する。
【００３３】
撮像部１６の視野Ａについて、図５を参照して説明する。撮像部１６には、撮像可能な範囲を示す視野角が存在する。この視野角は、撮像部１６の光学系及び撮像センサの仕様に依存する。具体的には、撮像部１６の光学系の焦点距離が長い程、又は撮像センサの受光面が小さい程、視野角は狭くなる。
【００３４】
撮像部１６の視野角の例を、図１及び図５中の仮想線Ｂとして示す。この視野角Ｂと、撮像部１６と被検査面ＳＩとの間の距離Ｄとによって、図１に示すように第１の物体Ｗ１と撮像部１６とが位置決めされたときに撮像部１６が撮像可能な被検査面ＳＩ上の範囲（すなわち、視野Ａ）が、決定される。
【００３５】
つまり、この視野Ａは、撮像部１６と被検査面ＳＩとが互いから距離Ｄだけ離間するように配置されたときに、撮像部１６の焦点が合った状態で撮像部１６が撮像可能な被検査面ＳＩ上の領域を示す。なお、撮像部１６によって撮像される画像の解像度と視野Ａとは、反比例の関係にあり、視野Ａが小さい程、得られる画像の解像度は高くなる。
【００３６】
ロボットハンド２８によって第１の物体Ｗ１の把持位置を把持した後、制御部１２は、移動機械１４を動作させて、ロボットハンド２８を、図１に示す第１の位置及び姿勢に配置させる。
【００３７】
具体的には、制御部１２は、ツール座標系ＣＴを、図１に示す第１の位置及び方向（すなわち、原点位置及び各軸の方向）に設定する。そして、制御部１２は、移動機械１４を動作させて、第１の物体Ｗ１を把持したロボットハンド２８を、図１に示すツール座標系ＣＴによって規定される位置及び姿勢に一致させるように、移動する。
【００３８】
その結果、ロボットハンド２８は、第１の位置及び姿勢に配置され、ロボットハンド２８によって把持している第１の物体Ｗ１は、撮像部１６に対して、図１に示す第１の基準相対位置に位置決めされる。
【００３９】
このとき、撮像部１６の視野Ａは、第１の物体Ｗ１の被検査面ＳＩに対して、図１、図５、及び図６に示す位置に配置される。そして、撮像部１６の光軸Ｏは、第１の物体Ｗ１の被検査面ＳＩと直交し、且つ、撮像部１６と被検査面ＳＩとは、距離Ｄだけ互いから離間する。
【００４０】
次いで、制御部１２は、照明装置１８に指令を送り、該照明装置１８をＯＮとする。これにより、移動機械１４に把持された第１の物体Ｗ１は、照明装置１８によって照らされることになる。
【００４１】
次いで、制御部１２は、撮像部１６に撮像指令を送る。撮像部１６は、制御部１２から撮像指令を受信すると、第１の物体Ｗ１の被検査面ＳＩを撮像する。第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に位置決めしたときに撮像部１６によって撮像される第１の物体Ｗ１の画像（第１画像。以下、「マスタ画像」とする）の例を、図７に示す。
【００４２】
図７に示す第１のマスタ画像４０は、第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に位置決めしたとき（すなわち、第１の物体Ｗ１を把持するロボットハンド２８が第１の位置及び姿勢に配置されたとき）に、撮像部１６の視野Ａに入る画像である。
【００４３】
撮像部１６によって撮像された第１のマスタ画像４０の各画素は、図７中の撮像座標系ＣＩで表される。撮像座標系ＣＩは、撮像部１６の視野Ａを規定する座標系であって、撮像部１６が撮像した第１のマスタ画像４０の各画素は、撮像座標系ＣＩの座標として表される。
【００４４】
ロボット座標系ＣＲと撮像座標系ＣＩとの位置関係（すなわち、ロボット座標系ＣＲに対する、撮像座標系ＣＩの原点位置及び各軸の方向）は、上述したキャリブレーションによって、既知となっている。
【００４５】
より具体的には、オペレータは、ロボット座標系ＣＲに対して、撮像部１６の固定位置及び該撮像部１６の光軸Ｏの位置をキャリブレーションすることで、ロボット座標系ＣＲと撮像座標系ＣＩとの間の座標変換データを取得する。この座標変換データは、例えばヤコビ行列であって、ロボット座標系ＣＲの座標を撮像座標系ＣＩの座標へ変換するためのデータである。
【００４６】
制御部１２は、この座標変換データを取得し、記憶部に記憶する。このように、本実施形態においては、制御部１２は、座標変換データを取得する座標変換データ取得部４２（図２）として機能する。
【００４７】
制御部１２は、第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に配置して撮像部１６によって第１の物体Ｗ１を撮像したときの移動機械１４の位置データ（第１位置データ。以下、「基準位置データ」とする）を取得する。
【００４８】
例えば、制御部１２は、第１の基準位置データとして、第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に配置したときの、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置及び方向の情報を取得する。
【００４９】
又は、制御部１２は、第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に配置したときの移動機械１４の各サーボモータ３８の回転角度を記憶し、該回転角度から、ロボット座標系ＣＲにおけるロボットハンド２８の位置及び姿勢を算出する。制御部１２は、算出したロボットハンド２８の位置及び姿勢を、第１の基準位置データとして取得してもよい。
【００５０】
この第１の基準位置データは、第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に配置したときの、第１の物体Ｗ１のロボット座標系ＣＲにおける位置及び姿勢に対応する情報となる。このように、本実施形態においては、制御部１２は、基準位置データ（第１位置データ）を取得する位置データ取得部４４（図２）として機能する。
【００５１】
次いで、制御部１２は、移動機械１４を動作させて、第１の物体Ｗ１を把持したロボットハンド２８を、第２の位置及び姿勢に配置させる。ロボットハンド２８が第２の位置及び姿勢に配置されたとき、ロボットハンド２８によって把持されている第１の物体Ｗ１は、撮像部１６に対して第２の基準相対位置に配置される。このとき、撮像部１６の視野Ａは、第１の物体Ｗ１の被検査面ＳＩに対して、図８中の領域Ａ２に示す位置に配置される。
【００５２】
第１の物体Ｗ１と撮像部１６とを第２の基準相対位置に位置決めしたとき（すなわち、ロボットハンド２８を第２の位置及び姿勢に配置させたとき）、制御部１２は、撮像部１６に撮像指令を送り、第１の物体Ｗ１の被検査面ＳＩを撮像する。これにより、図８中の領域Ａ２に対応する第２のマスタ画像が撮像される。
【００５３】
ここで、図８中の領域Ａｎ（ｎ＝１〜１２）は、第１の物体Ｗ１を把持したロボットハンド２８が第ｎの位置及び姿勢に配置され、これにより、第１の物体Ｗ１が撮像部１６に対して第ｎの基準相対位置に配置されたときの、被検査面ＳＩに対する撮像部１６の視野Ａの位置を表している。
【００５４】
図８に示すように、領域Ａｎと領域Ａｎ＋１とは、一辺が互いに一致するように、隣接している。なお、互いに隣接する２つの領域Ａｎの少なくとも一部が互いに重複するように、撮像部１６に対する第１の物体Ｗ１の第ｎの基準相対位置を規定してもよい。
【００５５】
ロボットハンド２８を第ｎの位置及び姿勢に配置するとき、制御部１２は、ツール座標系ＣＴを、第ｎの位置及び方向に設定する。そして、制御部１２は、第ｎの位置及び方向に配置されたツール座標系ＣＴによって規定される位置及び姿勢に一致させるように、移動機械１４を動作させてロボットハンド２８を移動する。
【００５６】
このようにして、制御部１２は、ロボットハンド２８を第３の位置及び姿勢、第４の位置及び姿勢、・・・第ｎの位置及び姿勢に順次配置させ、これにより、ロボットハンド２８によって把持された第１の物体Ｗ１を、撮像部１６に対して第３の基準相対位置、第４の基準相対位置、・・・第ｎの基準相対位置に、順次位置決めする。
【００５７】
制御部１２は、第１の物体Ｗ１と撮像部１６とをそれぞれの基準相対位置に位置決めする毎に、撮像部１６によって第１の物体Ｗ１の被検査面ＳＩを撮像する。これにより、制御部１２は、図８中の領域Ａ１〜Ａ１２に対応する第１〜第１２のマスタ画像を取得する。このように、本実施形態においては、制御部１２は、第ｎのマスタ画像を取得する画像データ取得部４６（図２）として機能する。
【００５８】
また、制御部１２は、位置データ取得部４４として機能して、第１の物体Ｗ１と撮像部１６とを第ｎの基準相対位置に配置して第ｎのマスタ画像を撮像したときの移動機械１４の位置を、第ｎの基準位置データとして、それぞれ取得する。
【００５９】
制御部１２は、ロボットプログラムに従って、上述した一連の位置決め動作を実行する。このロボットプログラムは、例えば、オペレータが教示操作盤（図示せず）を用いて、ロボットハンド２８を第ｎの位置及び姿勢に配置させる動作を、実機の移動機械１４に教示することによって、構築され得る。
【００６０】
ロボットプログラムは、ロボットハンド２８を第ｎの位置及び姿勢に配置させるときの、ツール座標系ＣＴの第ｎの位置及び方向の情報、並びに移動機械１４の各サーボモータ３８の回転角度の情報を含む。
【００６１】
次いで、制御部１２は、第２の物体Ｗ２の被検査面ＳＩを撮像した検査画像（第２画像）を取得する。具体的には、制御部１２は、移動機械１４を動作させて、予め定められた保管場所に保管された第２の物体Ｗ２を、ロボットハンド２８によって把持する。
【００６２】
このとき、ロボットハンド２８は、第２の物体Ｗ２を、第１の物体Ｗ１に対して指定された把持位置と同じ把持位置で、把持する。すなわち、第２の物体Ｗ２をロボットハンド２８で把持するとき、図４に示すように、ツール座標系ＣＴの原点が、該第２の物体Ｗ２の上面ＳＵの中心に位置し、且つ、ツール座標系ＣＴのｙ−ｚ平面が、該第２の物体Ｗ２の被検査面ＳＩと平行となるように、ツール座標系ＣＴを該第２の物体Ｗ２に対して設定する。
【００６３】
そして、制御部１２は、移動機械１４を動作させて、ロボットハンド２８を、設定されたツール座標系ＣＴによって規定される位置及び姿勢に配置させ、該ロボットハンド２８によって第２の物体Ｗ２を把持する。こうして、ロボットハンド２８は、第２の物体Ｗ２を、第１の物体Ｗ１に対して指定された把持位置と同じ把持位置で、把持する。
【００６４】
次いで、制御部１２は、移動機械１４を動作させて、ロボットハンド２８によって把持された第２の物体Ｗ２を、撮像部１６に対して第１の検査相対位置（第２相対位置）に配置する。この第１の検査相対位置は、第１の基準相対位置に対応する位置である。次いで、制御部１２は、撮像部１６に撮像指令を送り、第２の物体Ｗ２の被検査面ＳＩを撮像し、検査画像（第２画像）を取得する。
【００６５】
ここで、第１の基準相対位置と第１の検査相対位置との間で、ずれが生じる場合がある。このようなずれは、例えば、制御部１２が移動機械１４によって第２の物体Ｗ２を移動させながら、撮像部１６によって第２の物体Ｗ２を撮像したときに、起こり得る。又は、このようなずれは、第２の物体Ｗ２の撮像時に移動機械１４の位置及び姿勢を微調整した場合にも、起こり得る。
【００６６】
このようなずれが生じている状態で、第１の検査相対位置において撮像部１６が第２の物体Ｗ２を撮像した第１の検査画像の例を、図９〜図１２に示す。なお、図９〜図１２においては、第１の検査画像と第１のマスタ画像４０とを、撮像座標系ＣＩ（すなわち、視野Ａ）を基準として重ね合せたときに第１のマスタ画像４０に写る第１の物体Ｗ１の像を、一点鎖線で示している。
【００６７】
図９に示す第１の検査画像４８においては、該第１の検査画像４８に写る第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像から、位置差δだけ撮像座標系ＣＩのｘ軸プラス方向へずれている。
【００６８】
このような位置差δは、第１の検査相対位置に配置された第２の物体Ｗ２が、第１の基準相対位置に配置された第１の物体Ｗ１から、撮像座標系ＣＩのｘ軸プラス方向へずれていたときに、発生する。
【００６９】
図１０に示す第１の検査画像５０においては、該第１の検査画像５０に写る第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像から、撮像部１６の光軸Ｏ周りの方向へ、位置差θだけ回転している。
【００７０】
このような位置差θは、第１の検査相対位置に配置された第２の物体Ｗ２が、第１の基準相対位置に配置された第１の物体Ｗ１から、撮像部の光軸Ｏ周りにずれていたときに、発生する。
【００７１】
また、図１１に示す第１の検査画像５２においては、該第１の検査画像５２に写る第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像と比べて、位置差αだけ縮小されている。
【００７２】
このような位置差αは、第１の検査相対位置に配置された第２の物体Ｗ２が、第１の基準相対位置に配置された第１の物体Ｗ１から、撮像部の光軸Ｏの方向へずれていた（より具体的には、離れていた）ときに、発生する。
【００７３】
この位置差αが生じたとき、第１の基準相対位置に配置された第１の物体Ｗ１の被検査面ＳＩと撮像部１６との距離Ｄ１と、第１の検査相対位置に配置された第２の物体Ｗ２の被検査面ＳＩと撮像部１６との距離Ｄ２とが、互いに異なっている（より具体的には、Ｄ１＜Ｄ２となっている）。この位置差αは、第１のマスタ画像４０に対する第１の検査画像５２の縮小率を表す。
【００７４】
また、図１２に示す第１の検査画像５３においては、該第１の検査画像５３に写る第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像から、矢印Ｅに示すようにずれている。
【００７５】
このような第１の検査画像５３について、図１３を参照して説明する。図１３（ａ）は、第１のマスタ画像４０の撮像時の第１の物体Ｗ１と撮像部１８との位置関係を示し、図１３（ｂ）は、第１の検査画像５３の撮像時の第２の物体Ｗ２と撮像部１８との位置関係を示している。
【００７６】
第１のマスタ画像４０の撮像時においては、上述したように、第１の物体Ｗ１は、撮像部１６に対して第１の基準相対位置に位置決めされる。この第１の基準相対位置においては、図１３（ａ）に示すように、撮像部１６の光軸Ｏは、第１の物体Ｗ１の被検査面ＳＩと直交し、且つ、撮像部１６と被検査面ＳＩとは、距離Ｄ１だけ互いから離間する。
【００７７】
一方、第１の検査画像５３の撮像時においては、図１３（ｂ）に示すように、第２の物体Ｗ２の被検査面ＳＩ（すなわち、ツール座標系ＣＴのｙ−ｚ平面）は、撮像部１６の光軸Ｏに対して傾斜している。
【００７８】
このような傾斜によって、第１の検査画像５３のように、第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像から矢印Ｅに示すように、ずれることになる。このような傾斜による、第１の検査画像５３に写る第２の物体Ｗ２の像と第１のマスタ画像４０に写る第１の物体Ｗ１の像との位置差は、後述する行列Ｍ（例えば、ホモグラフィ行列）で表すことができる。
【００７９】
以上のようなずれが生じた場合、第２の物体Ｗ２の被検査面ＳＩを検査すべくマスタ画像と検査画像とを比較するときに、２つの画像の見当合せを行う必要がある。そこで、本実施形態に係る物体検査システム１０は、位置差δ、θ、α、Ｍを算出し、該位置差δ、θ、α、Ｍに基づいて、マスタ画像と検査画像とを見当合せする。
【００８０】
ここで、「見当合せ」とは、撮像座標系ＣＩにおけるマスタ画像に写る第１の物体Ｗ１の像と検査画像に写る第２の物体Ｗ２の像とを、互いに一致させる（位置合わせする）ことである。
【００８１】
具体的には、制御部１２は、位置データ取得部４４として機能して、移動機械１４が第２の物体Ｗ２と撮像部１６とを第１の検査相対位置に配置して撮像部１６によって第１の検査画像４８、５０、５２を撮像したときの、移動機械１４の位置データ（第２位置データ。以下、「検査位置データ」とする）を取得する。
【００８２】
例えば、制御部１２は、第１の検査位置データとして、第２の物体Ｗ２と撮像部１６とを第１の検査相対位置に配置したときの、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置及び方向の情報を取得する。
【００８３】
又は、制御部１２は、第２の物体Ｗ２と撮像部１６とを第１の検査相対位置に配置したときの移動機械１４の各サーボモータ３８の回転角度を記憶し、該回転角度から、ロボット座標系ＣＲにおけるロボットハンド２８の位置及び姿勢を算出する。制御部１２は、算出したロボットハンド２８の位置及び姿勢を、第１の検査位置データとして取得してもよい。
【００８４】
この第１の検査位置データは、第２の物体Ｗ２と撮像部１６とを第１の検査相対位置に配置したときの、第２の物体Ｗ２のロボット座標系における位置及び姿勢に対応する情報となる。
【００８５】
同様にして、制御部１２は、移動機械１４を動作させて、ロボットハンド２８によって把持された第２の物体Ｗ２を、撮像部１６に対して第ｎの検査相対位置（ｎ＝２〜１２）に位置決めする。第ｎの検査相対位置は、第ｎの基準相対位置に対応する。
【００８６】
制御部１２は、第２の物体Ｗ２と撮像部１６とを第ｎの検査相対位置に位置決めする毎に、撮像部１６によって第２の物体Ｗ２の被検査面ＳＩを撮像し、第ｎの検査画像を取得する。そして、制御部１２は、位置データ取得部４４として機能して、第２の物体Ｗ２と撮像部１６とを第ｎの検査相対位置に位置決めしたときの移動機械１４の位置データを、第ｎの検査位置データとしてそれぞれ取得する。
【００８７】
次いで、制御部１２は、ロボット座標系ＣＲと撮像座標系ＣＩとの位置関係と、第１の基準位置データ及び第１の検査位置データとに基づいて、第１の位置差（例えば、δ、θ又はα）を算出する。
【００８８】
一例として、上述の位置差δ又はθに関し、制御部１２は、第１の基準位置データに含まれるツール座標系ＣＴの位置及び方向の、ロボット座標系ＣＲにおける座標と、第１の検査位置データに含まれるツール座標系ＣＴの位置及び方向の、ロボット座標系ＣＲにおける座標とを取得し、これら２つの座標の差ΔＲ１を算出する。
【００８９】
そして、制御部１２は、キャリブレーションにより得られた座標変換データを用いて、ロボット座標系ＣＲの値として表される差ΔＲ１を、撮像座標系ＣＩの値に変換する。これにより、撮像座標系ＣＩにおける位置差δ又はθが算出される。
【００９０】
また、上述の位置差αに関し、例えば、制御部１２は、第１の基準位置データに含まれるツール座標系ＣＴの位置のロボット座標系ＣＲにおける座標と、第１の検査位置データに含まれるツール座標系ＣＴの位置のロボット座標系ＣＲにおける座標とから、上述した距離Ｄ１と距離Ｄ２とを求める。
【００９１】
そして、制御部１２は、求めたＤ１とＤ２との比率から、第１のマスタ画像４０に対する第１の検査画像５２の縮小率（又は拡大率）を表す位置差αを求める。Ｄ１とＤ２との比率と、第１のマスタ画像４０に対する第１の検査画像５２の縮小率α（又は拡大率α）とは、互いに相関する。
【００９２】
制御部１２は、同様の手法で、第ｎのマスタ画像に写る第１の物体Ｗ１の像と、第ｎの検査画像に写る第２の物体Ｗ２の像との第ｎの位置差を算出する（ｎ＝２〜１２）。このように、本実施形態においては、制御部１２は、撮像座標系ＣＩにおけるマスタ画像（第１画像）と検査画像（第２画像）との位置差（例えば、δ、θ、α）を取得する画像位置差取得部５４（図２）として機能する。なお、位置差として上述の行列Ｍを取得する例については、後述する。
【００９３】
次いで、制御部１２は、算出した第１の位置差（δ、θ、α）に基づいて、第１のマスタ画像４０又は第１の検査画像４８、５０、５２をシフトして、これら２つの画像の見当合せを行う。
【００９４】
例えば、第１の位置差δを算出した場合、制御部１２は、第１の検査画像４８（又は第１のマスタ画像４０）を、撮像座標系ＣＩのｘ軸マイナス方向（又はｘ軸プラス方向）へ、撮像座標系ＣＩのｘ−ｙ平面内で第１の位置差δだけ移動する。
【００９５】
また、第１の位置差θを算出した場合、制御部１２は、第１の検査画像５０（又は第１のマスタ画像４０）を、撮像座標系ＣＩのｘ−ｙ平面と直交する光軸Ｏ周りに、図１０の紙面表側から見て反時計回り（又は時計回り）となるように、第１の位置差θだけ回転させる。
【００９６】
また、第１の位置差αを算出した場合、制御部１２は、第１の検査画像４８（又は第１のマスタ画像４０）を、第１の位置差αに基づいて拡大（又は縮小）させる。
【００９７】
これにより、第１のマスタ画像４０に写る第１の物体Ｗ１の像と、検査画像４８に写る第２の物体Ｗ２の像とを、撮像座標系ＣＩにおいて一致させることができる。このように、本実施形態においては、制御部１２は、撮像座標系ＣＩにおけるマスタ画像（第１画像）と検査画像（第２画像）との見当合せを行う画像見当合せ部５６（図２）として機能する。なお、画像見当合せ部５６が、位置差としての行列Ｍに基づいてマスタ画像（４０）と検査画像（５３）との見当合せを行う例については、後述する。
【００９８】
同様にして、制御部１２は、第ｎの位置差に基づいて、第ｎのマスタ画像又は第ｎの検査画像をシフトして、これら２つの画像の見当合せを順次行う。
【００９９】
次いで、制御部１２は、見当合せを行った第ｎのマスタ画像（４０）と第ｎの検査画像（４８、５０、５２）とを用いて、第１の物体Ｗ１に対する第２の物体Ｗ２の視覚的に認識される誤差の有無を検査する。具体的には、制御部１２は、見当合せを行った第ｎのマスタ画像と第ｎの検査画像との第ｎの差分画像を生成する。
【０１００】
この第ｎの差分画像は、例えば、第ｎのマスタ画像の各画素の輝度と、第ｎの検査画像の各画素の輝度との差を表す。制御部１２は、この第ｎの差分画像を解析することで、第１の物体Ｗ１の被検査面ＳＩに対する、第２の物体Ｗ２の被検査面ＳＩの誤差（傷痕、表面粗さの差等）があるか否かを検査する。
【０１０１】
このように、本実施形態においては、制御部１２は、第１の物体Ｗ１に対する第２の物体Ｗ２の誤差の有無を検査する物体検査部５８（図２）として機能する。
【０１０２】
次に、図１４〜図１８を参照して、物体検査システム１０の動作フローの一例について説明する。図１４に示すフローは、制御部１２が、オペレータ又は上位コントローラから検査実行指令を受け付けたときに、開始する。
【０１０３】
ステップＳ１において、制御部１２は、マスタ画像（第１画像）及び基準位置データ（第１位置データ）を取得する。このステップＳ１について、図１５を参照して説明する。ステップＳ１１において、制御部１２は、第ｎのマスタ画像、第ｎの検査画像、第ｎの基準位置データ、第ｎの検査位置データ、第ｎの基準相対位置、第ｎの検査相対位置、及び第ｎの位置差を特定する番号「ｎ」を、「１」にセットする。
【０１０４】
ステップＳ１２において、制御部１２は、第ｎのマスタ画像を取得する。具体的には、制御部１２は、上述した手法により、移動機械１４を動作させて、ロボットハンド２８によって把持した第１の物体Ｗ１を撮像部１６に対して第ｎの基準相対位置に配置する。
【０１０５】
そして、制御部１２は、撮像部１６によって第１の物体Ｗ１の被検査面ＳＩを撮像し、第ｎのマスタ画像を取得する。仮に、ステップＳ１２の開始時点でｎ＝１にセットされていた場合、制御部１２は、図７に示す第１のマスタ画像４０を取得する。
【０１０６】
ステップＳ１３において、制御部１２は、第ｎの基準位置データを取得する。具体的には、制御部１２は、上述した手法により、第１の物体Ｗ１と撮像部１６とを第ｎの基準相対位置に配置したときの移動機械１４の位置データを、第ｎの基準位置データとして取得する。
【０１０７】
ステップＳ１４において、制御部１２は、番号「ｎ」を、「１」だけインクリメント（すなわち、ｎ＝ｎ＋１）する。
【０１０８】
ステップＳ１５において、制御部１２は、番号「ｎ」が、「１２」よりも大きい値となったか否かを判定する。この数「１２」は、図８に示す領域Ａ１〜Ａ１２の数（すなわち、マスタ画像及び検査画像を取得する回数）に相当し、オペレータによって定められる。制御部１２は、番号「ｎ」が「１２」よりも大きい（すなわち、ＹＥＳ）と判定した場合、図１４のステップＳ２へ進む。
【０１０９】
一方、制御部１２は、番号「ｎ」が「１２」以下である（すなわち、ＮＯ）と判定した場合、ステップＳ１２へ戻る。こうして、制御部１２は、ステップＳ１５にてＹＥＳと判定するまで、ステップＳ１２〜Ｓ１５をループする。
【０１１０】
再度、図１４を参照して、ステップＳ２において、制御部１２は、検査画像（第２画像）及び検査位置データ（第２位置データ）を取得する。このステップＳ２について、図１６を参照して説明する。ステップＳ２１において、制御部１２は、番号「ｎ」を「１」にセットする。
【０１１１】
ステップＳ２２において、第ｎの検査画像を取得する。具体的には、制御部１２は、上述した手法により、移動機械１４を動作させて、ロボットハンド２８によって把持した第２の物体Ｗ２を撮像部１６に対して移動させ、第２の物体Ｗ２と撮像部１６とを第ｎの検査相対位置に配置する。
【０１１２】
そして、制御部１２は、撮像部１６によって第２の物体Ｗ２の被検査面ＳＩを撮像し、第ｎの検査画像を取得する。このとき、制御部１２は、移動機械１４によって第２の物体Ｗ２を移動させながら、撮像部１６によって第２の物体Ｗ２を撮像してもよい。この場合、撮像部１６によって第２の物体Ｗ２を撮像した時点での、撮像部１６に対する第２の物体Ｗ２の相対位置が、第ｎの検査相対位置となる。
【０１１３】
仮に、このステップＳ２２の開始時点でｎ＝１にセットされていた場合、制御部１２は、図９、図１０又は図１１に示す第１の検査画像４８、５０又は５２を取得する。
【０１１４】
ステップＳ２３において、制御部１２は、第ｎの検査位置データを取得する。具体的には、制御部１２は、上述した手法により、第２の物体Ｗ２と撮像部１６とを第ｎの検査相対位置に配置したときの移動機械１４の位置データを、第ｎの検査位置データとして取得する。
【０１１５】
ステップＳ２４において、制御部１２は、番号「ｎ」を、「１」だけインクリメント（すなわち、ｎ＝ｎ＋１）する。
【０１１６】
ステップＳ２５において、制御部１２は、番号「ｎ」が、「１２」よりも大きい値となったか否かを判定する。制御部１２は、番号「ｎ」が「１２」よりも大きい（すなわち、ＹＥＳ）と判定した場合、図１４のステップＳ３へ進む。
【０１１７】
一方、制御部１２は、番号「ｎ」が「１２」以下である（すなわち、ＮＯ）と判定した場合、ステップＳ２２へ戻る。こうして、制御部１２は、ステップＳ２５にてＹＥＳと判定するまで、ステップＳ２２〜Ｓ２５をループする。
【０１１８】
再度、図１４を参照して、ステップＳ３において、制御部１２は、撮像座標系ＣＩにおけるマスタ画像と検査画像との位置差を取得する。このステップＳ３について、図１７を参照して説明する。ステップＳ３１において、制御部１２は、番号「ｎ」を「１」にセットする。
【０１１９】
ステップＳ３２において、制御部１２は、第ｎの基準相対位置と第ｎの検査相対位置との差があるか否かを判定する。具体的には、制御部１２は、第ｎの基準位置データ（例えば、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置座標）と、第ｎの検査位置データを読み出し、両者の差Δ２が予め定められた閾値β以上であるか否かを判定する。
【０１２０】
制御部１２は、Δ２≧β以上である場合、ＹＥＳと判定し、ステップＳ３３へ進む。一方、制御部１２は、Δ２＜β以上である場合、ＮＯと判定し、ステップＳ３４へ進む。
【０１２１】
ステップＳ３３において、制御部１２は、第ｎの位置差を取得する。仮に、このステップＳ３３の開始時点でｎ＝１にセットされていた場合、制御部１２は、上述の手法を用いて、撮像座標系ＣＩにおける第１のマスタ画像４０と第１の検査画像４８、５０又は５２との第１の位置差δ、θ又はαを取得する。
【０１２２】
ステップＳ３４において、制御部１２は、番号「ｎ」を、「１」だけインクリメント（すなわち、ｎ＝ｎ＋１）する。
【０１２３】
ステップＳ３５において、制御部１２は、番号「ｎ」が、「１２」よりも大きい値となったか否かを判定する。制御部１２は、番号「ｎ」が「１２」よりも大きい（すなわち、ＹＥＳ）と判定した場合、図１４のステップＳ４へ進む。
【０１２４】
一方、制御部１２は、番号「ｎ」が「１２」以下である（すなわち、ＮＯ）と判定した場合、ステップＳ３２へ戻る。こうして、制御部１２は、ステップＳ３５にてＹＥＳと判定するまで、ステップＳ３２〜Ｓ３５をループする。
【０１２５】
再度、図１４を参照して、ステップＳ４において、制御部１２は、マスタ画像と検査画像との見当合せを行う。このステップＳ４について、図１８を参照して説明する。ステップＳ４１において、制御部１２は、番号「ｎ」を「１」にセットする。
【０１２６】
ステップＳ４２において、制御部１２は、上述のステップＳ３３で第ｎの位置差を取得したか否かを判定する。仮に、このステップＳ４２の開始時点でｎ＝１にセットされていた場合、制御部１２は、第１の位置差(例えば、δ、θ又はα）を取得したか否かを判定する。
【０１２７】
制御部１２は、第ｎの位置差を取得した（すなわち、ＹＥＳ）と判定した場合、ステップＳ４３へ進む。一方、制御部１２は、第ｎの位置差を取得していない（すなわち、ＮＯ）と判定した場合、ステップＳ４４へ進む。
【０１２８】
ステップＳ４３において、制御部１２は、第ｎのマスタ画像と第ｎの検査画像との見当合せを行う。仮に、このステップＳ４３の開始時点でｎ＝１にセットされていた場合、制御部１２は、上述した手法を用いて、第１の位置差（δ、θ、α）に基づいて、第１のマスタ画像４０又は第１の検査画像４８、５０、５２をシフトさせ、これら２つの画像の見当合せを行う。
【０１２９】
その結果、第１のマスタ画像４０に写る第１の物体Ｗ１の像と、検査画像４８に写る第２の物体Ｗ２の像とを、撮像座標系ＣＩにおいて一致させることができる。
【０１３０】
一方、ステップＳ４２でＮＯと判定した場合、ステップＳ４４において、制御部１２は、第ｎのマスタ画像と第ｎの検査画像とを、撮像座標系ＣＩを基準として互いに重ね合せる。この第ｎのマスタ画像及び第ｎの検査画像については、第ｎの位置差がない、すなわち、第ｎの基準相対位置と第ｎの検査相対位置とが同じ相対位置である。
【０１３１】
したがって、第ｎのマスタ画像と第ｎの検査画像とを撮像座標系ＣＩを基準として単に重ね合せるだけで、第１のマスタ画像４０に写る第１の物体Ｗ１の像と、検査画像４８に写る第２の物体Ｗ２の像とが、撮像座標系ＣＩにおいて互いに一致することになる。
【０１３２】
ステップＳ４５において、制御部１２は、番号「ｎ」を、「１」だけインクリメント（すなわち、ｎ＝ｎ＋１）する。
【０１３３】
ステップＳ４６において、制御部１２は、番号「ｎ」が、「１２」よりも大きい値となったか否かを判定する。制御部１２は、番号「ｎ」が「１２」よりも大きい（すなわち、ＹＥＳ）と判定した場合、図１４のステップＳ５へ進む。
【０１３４】
一方、制御部１２は、番号「ｎ」が「１２」以下である（すなわち、ＮＯ）と判定した場合、ステップＳ４２へ戻る。こうして、制御部１２は、ステップＳ４６にてＹＥＳと判定するまで、ステップＳ４２〜Ｓ４６をループする。
【０１３５】
再度、図１４を参照して、ステップＳ５において、制御部１２は、物体検査部５８（図２）として機能して、第１の物体Ｗ１に対する第２の物体Ｗ２の視覚的に認識される誤差の有無を検査する。具体的には、制御部１２は、ステップＳ４３で見当合せを行った、又は、ステップＳ４４で重ね合せた、第ｎのマスタ画像と第ｎの検査画像との第ｎの差分画像を生成する。
【０１３６】
制御部１２は、この第ｎの差分画像を解析し、第１の物体Ｗ１の被検査面ＳＩに対する、第２の物体Ｗ２の被検査面ＳＩの誤差があるか否かを検査する。この作業を、ｎ＝１〜１２について実行することにより、第２の物体Ｗ２の被検査面ＳＩの全域を検査することができる。
【０１３７】
このように本実施形態においては、制御部１２は、ロボット座標系ＣＲと撮像座標系ＣＩとの既知の位置関係（座標変換データ）と、第ｎの基準位置データ及び第ｎの検査位置データとを用いて、撮像座標系ＣＩにおける第ｎのマスタ画像と第ｎの検査画像との見当合せを行っている。
【０１３８】
この構成によれば、仮にマスタ画像と検査画像との間でずれが生じていた場合に、移動機械１４の位置データを用いて、これら２つの画像の見当合せを行うことができる。これにより、画像の見当合せに掛かる作業の軽減化及び迅速化を実現できる。
【０１３９】
また、本実施形態においては、制御部１２は、ロボット座標系ＣＲと撮像座標系ＣＩとの位置関係を示す座標変換データを取得している。この構成によれば、ロボット座標系ＣＲの座標を撮像座標系ＣＩに変換可能となり、移動機械１４の位置データを用いて、撮像座標系ＣＩにおけるマスタ画像と検査画像との見当合せを高精度に行うことができる。
【０１４０】
また、本実施形態においては、制御部１２は、位置差（例えば、δ、θ又はα）を取得し（ステップＳ３）、該位置差に基づいてマスタ画像と検査画像との見当合せを行っている。この構成によれば、マスタ画像と検査画像との見当合せをさらに高精度に行うことができる。
【０１４１】
次に、図１４、図１６〜図２６を参照して、物体検査システム１０の他の機能について説明する。図１９は、物体検査システム１０の他の機能を表すブロック図を示す。制御部１２は、図１４に示すフローを実行する。
【０１４２】
ここで、本実施形態においては、制御部１２は、図２０に示すステップＳ１を実行する。なお、図２０に示すフローにおいて、図１５に示すフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。ステップＳ１の開始後、制御部１２は、上述のステップＳ１１、Ｓ１２、Ｓ１４、Ｓ１５、Ｓ１１を順次実行する。
【０１４３】
ステップＳ５１において、制御部１２は、第ｎのマスタ画像に設定される、第ｎ群の基準点の指定を受け付ける。仮に、現時点でｎ＝１にセットされているとする。この場合、制御部１２は、物体検査システム１０に設けられた表示部（図示せず）に、図７に示す第１のマスタ画像４０を表示する。
【０１４４】
そして、オペレータは、表示部（図示せず）に表示された第１のマスタ画像４０を視認しつつ、キーボード又はタッチパネル等の操作部を操作して、少なくとも１つの基準点を指定する。図２１に、３つの基準点６０、６２、及び６４が指定された例を示す。また、図２５に、４つの基準点８０、８２、８４及び８６が指定された例を示す。
【０１４５】
第１のマスタ画像４０において指定された基準点６０、６２、及び６４、並びに、基準点８０、８２、８４、及び８６を、第１群の基準点６０、６２、及び６４、並びに、第１群の基準点８０、８２、８４、及び８６として言及する。
【０１４６】
制御部１２は、第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の指定を受け付ける。このように、本実施形態においては、制御部１２は、基準点の指定を受け付ける基準点受付部７０（図１９）として機能する。
【０１４７】
ステップＳ５２において、制御部１２は、第ｎの基準位置データを取得する。具体的には、制御部１２は、第ｎの基準位置データとして、第ｎ群の基準点のロボット座標系ＣＲにおける座標と、第ｎ群の基準点のツール座標系ＣＴにおける座標とを取得する。
【０１４８】
仮に、現時点でｎ＝１にセットされていたとする。この場合、制御部１２は、まず、ステップＳ５１で指定された第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の、撮像座標系ＣＩにおける座標を取得する。
【０１４９】
次いで、制御部１２は、ロボット座標系ＣＲと撮像座標系ＣＩとの間の座標変換データ（変換行列）を用いて、撮像座標系ＣＩにおける第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の座標を、ロボット座標系ＣＲに変換し、ロボット座標系ＣＲにおける第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の座標を取得する。
【０１５０】
次いで、制御部１２は、ツール座標系ＣＴにおける第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の座標を取得する。この時点で、ツール座標系ＣＴは、ロボット座標系ＣＲにおいて、第１の基準相対位置に対応する、第１の位置及び方向に配置されている（ステップＳ１２）。
【０１５１】
このようにロボット座標系ＣＲとツール座標系ＣＴとの位置関係は既知であるので、制御部１２は、第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）のロボット座標系ＣＲの座標に変換行列を乗算することにより、第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）のツール座標系ＣＴにおける座標に取得できる。この変換行列は、例えばヤコビ行列であって、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置及び方向によって定められる。
【０１５２】
ツール座標系ＣＴにおける第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の座標は、第１の物体Ｗ１の被検査面Ｓ１における基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の位置を示すデータとなる。
【０１５３】
こうして、制御部１２は、第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の位置データとして、該基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）のロボット座標系ＣＲにおける座標とツール座標系ＣＴにおける座標とを取得する。
【０１５４】
上述したように、ロボットハンド２８が所定の把持位置で第１の物体Ｗ１を把持した場合、第１の物体Ｗ１は、移動機械１４の一構成要素と見做すことができる。よって、第１の物体Ｗ１上の第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の位置データは、移動機械１４が第１の物体Ｗ１と撮像部１６とを第１の基準相対位置に配置したときの移動機械１４の第１の基準位置データと見做すことができる。
【０１５５】
このように、制御部１２は、位置データ取得部６６（図１９）として機能する。ステップＳ５２の後、制御部１２は、上述のステップＳ１４及びＳ１５を順次実行する。
【０１５６】
再度、図１４を参照して、制御部１２は、ステップＳ２において、検査画像（第２画像）及び検査位置データ（第２位置データ）を取得する。このステップＳ２について、図１６を参照して説明する。
【０１５７】
本実施形態に係るステップＳ２は、上述の実施形態と、ステップＳ２３において相違する。具体的には、制御部１２は、ステップＳ２３において、第ｎの検査位置データとして、移動機械１４が第２の物体Ｗ２と撮像部１６とを第ｎの検査相対位置に配置したときの、第ｎ群の基準点に対応する、第２の物体Ｗ２上の点（第２基準点。以下、検査基準点とする）の位置データを取得する。
【０１５８】
仮に、現時点でｎ＝１にセットされていたとすると、制御部１２は、第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）に対応する、第２の物体Ｗ２上の第１群の検査基準点の位置データを取得する。
【０１５９】
この第１群の検査基準点とは、第１の物体Ｗ１における第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の位置関係（すなわち、ツール座標系ＣＴの座標）と、第２の物体Ｗ２における第１群の検査基準点の位置関係とが互いに同じとなる、点である。
【０１６０】
制御部１２は、ロボット座標系ＣＲにおける第１群の検査基準点の座標を、第１の検査位置データとして取得する。ロボット座標系ＣＲにおける第１群の検査基準点の座標は、ステップＳ５２で取得した、ツール座標系ＣＴにおける第１群の基準点６０、６２、及び６４（又は８０、８２、８４、及び８６）の座標と、第２の物体Ｗ２と撮像部１６とを第１の検査相対位置に配置したときの、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置及び方向とから求めることができる。
【０１６１】
このように、制御部１２は、このステップＳ２３において、位置データ取得部６６（図１９）として機能して、ロボット座標系ＣＲにおける第ｎ群の検査基準点の座標を、第ｎの検査位置データとして取得する。
【０１６２】
再度、図１４を参照して、制御部１２は、ステップＳ３において、制御部１２は、位置差を取得する。このステップＳ３について、図１７を参照して説明する。本実施形態に係るステップＳ３は、上述の実施形態と、ステップＳ３３において相違する。
【０１６３】
具体的には、ステップＳ３３において、制御部１２は、ステップＳ５２で取得した第ｎ群の基準点の位置データと、ステップＳ２３で取得した第ｎ群の検査基準点の位置データとの撮像座標系ＣＩにおける差を、第ｎの位置差として取得する。
【０１６４】
仮に、現時点でｎ＝１にセットされていたとすると、制御部１２は、ロボット座標系ＣＲと撮像座標系ＣＩとの間の座標変換データ（変換行列）を用いて、ステップＳ２３で取得した、ロボット座標系ＣＲにおける第１群の検査基準点の座標を、撮像座標系ＣＩの座標に変換する。
【０１６５】
図２２〜図２４に、第１の検査画像に第１群の検査基準点をプロットした図を示す。なお、図２２〜図２４においては、第１の検査画像と第１のマスタ画像４０（図２１）とを、撮像座標系ＣＩ（すなわち、視野Ａ）を基準として重ね合せたときに第１のマスタ画像４０に写る第１の物体Ｗ１の像を、一点鎖線で示している。
【０１６６】
図２２に示す第１の検査画像４８においては、第１群の基準点６０、６２、及び６４に対応する、第１群の検査基準点６０ａ、６２ａ、及び６４ａが、それぞれプロットされている。
【０１６７】
第１の検査画像４８においては、第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像から、位置差δだけ撮像座標系ＣＩのｘ軸プラス方向へずれている。このようなずれは、撮像座標系ＣＩにおける、基準点６０と検査基準点６０ａ、基準点６２と検査基準点６２ａ、及び、基準点６４と検査基準点６４ａとの位置差に一致する。
【０１６８】
制御部１２は、撮像座標系ＣＩにおける基準点６０、６２、又は６４の座標と検査基準点６０ａ、６２ａ、又は６４ａの座標との差を、第１の位置差δとして取得する。
【０１６９】
図２３に示す第１の検査画像５０においては、第１群の基準点６０、６２、及び６４に対応する、第１群の検査基準点６０ｂ、６２ｂ、及び６４ｂが、それぞれプロットされている。
【０１７０】
第１の検査画像５０においては、該第１の検査画像５０に写る第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像から、撮像部の光軸Ｏ周りの方向へ、位置差θだけ回転している。
【０１７１】
一例として、制御部１２は、撮像座標系ＣＩにおける基準点６０、６２及び６４と検査基準点６０ｂ、６２ｂ及び６４ｂの座標に基づいて、基準点６０、６２及び６４のうちの２点（例えば、基準点６０と６２）を結ぶ直線と、該２点に対応する、検査基準点６０ｂ、６２ｂ及び６４ｂのうちの２点（例えば、検査基準点６０ｂと６２ｂ）を結ぶ直線との角度を求める。制御部１２は、該角度を、位置差θとして取得する。
【０１７２】
図２４に示す第１の検査画像５２においては、第１群の基準点６０、６２、及び６４に対応する、第１群の検査基準点６０ｃ、６２ｃ、及び６４ｃが、それぞれプロットされている。
【０１７３】
第１の検査画像５２においては、該第１の検査画像５２に写る第２の物体Ｗ２の像が、第１のマスタ画像４０に写る第１の物体Ｗ１の像と比べて、位置差αだけ縮小されている。
【０１７４】
一例として、制御部１２は、撮像座標系ＣＩにおける基準点６０、６２及び６４と検査基準点６０ｃ、６２ｃ及び６４ｃの座標に基づいて、撮像座標系ＣＩにおける基準点６０、６２及び６４によって画定される図形（本実施形態においては、三角形）と、検査基準点６０ｃ、６２ｃ及び６４ｃによって画定される図形の面積比を求める。制御部１２は、該面積比に基づいて、位置差αを算出する。
【０１７５】
一方、図２６は、第１の検査画像５３に第１群の検査基準点８０ａ、８２ａ、８４ａ、及び８６ａをプロットした図を示す。図２６に示す第１の検査画像５３においては、図２５に示す第１群の基準点８０、８２、８４、及び８６に対応する、第１群の検査基準点８０ａ、８２ａ、８４ａ、及び８６ａが、それぞれプロットされている。なお、図２６においては、第１群の基準点８０、８２、８４、及び８６を一点鎖線で示している。
【０１７６】
一例として、制御部１２は、上述のステップＳ５２で取得した、第１群の基準点８０、８２、８４、及び８６のロボット座標系ＣＲにおける座標ＣＲ_８０、ＣＲ_８２、ＣＲ_８４、及びＣＲ_８６と、上述のステップＳ２３で取得した、第１群の検査基準点８０ａ、８２ａ、８４ａ、及び８６ａのロボット座標系ＣＲにおける座標ＣＲ_８０ａ、ＣＲ_８２ａ、ＣＲ_８４ａ、及びＣＲ_８６ａとを用いて、以下の式１を満たす行列Ｍを求める。
【０１７７】
ＣＲ_８０＝Ｍ・ＣＲ_８０ａ  ・・・（式１）
ＣＲ_８２＝Ｍ・ＣＲ_８２ａ  ・・・（式２）
ＣＲ_８４＝Ｍ・ＣＲ_８４ａ  ・・・（式３）
ＣＲ_８６＝Ｍ・ＣＲ_８６ａ  ・・・（式４）
【０１７８】
ここで、座標ＣＲ−８０は、ロボット座標系ＣＲにおける基準点８０の座標を示し、座標ＣＲ−８０ａは、ロボット座標系ＣＲにおける検査基準点８０ａの座標を示している。他の座標ＣＲ−８２、ＣＲ−８４、ＣＲ−８６、ＣＲ−８２ａ、ＣＲ−８４ａ、及びＣＲ−８６ａに関しても同様である。
【０１７９】
以上の式１〜式４から、行列Ｍの各パラメータを求めることができる。このように求められる行列Ｍは、例えばホモグラフィ行列であって、図２６に示す第１の検査画像５３に写る第２の物体Ｗ２の像と、第１のマスタ画像４０に写る第１の物体Ｗ１の像との第１の位置差を表す。
【０１８０】
このようにして、制御部１２は、撮像座標系ＣＩにおける第ｎのマスタ画像と第ｎの検査画像との第ｎの位置差（α、θ、α、Ｍ）を取得する。したがって、制御部１２は、第ｎの位置差を取得する画像位置差取得部６８（図１９）として機能する。
【０１８１】
再度、図１４を参照して、ステップＳ３の後、制御部１２は、画像見当合せ部５６として機能して、ステップＳ４にてマスタ画像と検査画像との見当合せを行う。例えば、ステップＳ３３で位置差δ、θ、又はαを取得した場合、ステップＳ４３において、制御部１２は、上述の実施形態と同様に、第１の位置差（δ、θ、α）に基づいて、第１のマスタ画像４０又は第１の検査画像４８、５０、５２をシフトさせ、これら２つの画像の見当合せを行う。
【０１８２】
一方、ステップＳ３３において第ｎの位置差として行列（行列Ｍを含む）を取得した場合、ステップＳ４３において、制御部１２は、第ｎの検査画像（５３）を行列（Ｍ）で変換する。
【０１８３】
そして、制御部１２は、変換後の第ｎの検査画像と第ｎのマスタ画像（４０）とを、撮像座標系ＣＩを基準として互いに重ね合せる。これにより、変換後の第ｎの検査画像に写る第２の物体Ｗ２の像と、第ｎのマスタ画像（４０）に写る第１の物体Ｗ１の像とを一致させることができる。
【０１８４】
なお、第ｎの検査画像（５３）を行列（Ｍ）で変換して第ｎのマスタ画像と重ね合せたときに、変換後の第ｎの検査画像に写る第２の物体Ｗ２の像と、第ｎのマスタ画像（４０）に写る第１の物体Ｗ１の像との間で依然としてずれがある場合、制御部１２は、変換後の第ｎの検査画像又第ｎのマスタ画像（４０）を、撮像座標系ＣＩのｘ−ｙ平面内でさらにシフトさせて、変換後の第ｎの検査画像と第ｎのマスタ画像（４０）とを見当合せしてもよい。
【０１８５】
ステップＳ４の後、制御部１２は、ステップＳ５にて第１の物体Ｗ１に対する第２の物体Ｗ２の視覚的に認識される誤差の有無を検査する。
【０１８６】
このように、本実施形態においては、制御部１２は、第１の物体Ｗ１上の基準点（６０、６２、６４、８０、８２、８４、８６）の位置データと、第２の物体Ｗ２上の検査基準点（第２基準点）の位置データとを取得し（ステップＳ５２、Ｓ２３）、これら位置データを用いてマスタ画像（４０）と検査画像（４８、５０、５２）との位置差を取得している。この構成によれば、マスタ画像と検査画像との間の位置差を高精度に算出できる。
【０１８７】
また、本実施形態においては、制御部１２は、オペレータから基準点（６０、６２、６４、８０、８２、８４、８６）の指定を受け付けている（ステップＳ５１）。この構成によれば、オペレータは、マスタ画像と検査画像との見当合せに用いる基準点を、任意に設定することができる。
【０１８８】
なお、制御部１２は、第１の物体Ｗ１の特徴点を、基準点として設定してもよい。この特徴点は、例えば、孔Ｈの中心点、第１の物体Ｗ１のエッジ、第１の物体Ｗ１の被検査面ＳＩに形成された模様又は形状であってもよい。この場合、制御部１２は、上述のステップＳ５１において、例えば画像処理を行うことで、第１の物体Ｗ１の特徴点を検出する。
【０１８９】
次に、図２７を参照して、物体検査システム１０のさらに他の機能について説明する。図２７は、物体検査システム１０のさらに他の機能を表すブロック図を示す。上述のステップＳ２２において移動機械１４が第２の物体Ｗ２を移動させているときに、ロボットハンド２８が第２の物体Ｗ２を把持している位置（ロボットハンド２８（ツール座標系ＣＴ）に対する第２の物体Ｗ２の位置）が、所定の把持位置からずれる場合がある。
【０１９０】
本実施形態においては、制御部１２は、ロボットハンド２８が第２の物体Ｗ２を把持している位置の、所定の把持位置からの位置ずれを取得する。このような位置ずれは、例えば、撮像部１６が撮像した画像（例えば、第ｎの検査画像）を画像処理することで求めてもよいし、又は、位置ずれ検出用の他の撮像部を設けて、該位置ずれを検出してもよい。
【０１９１】
制御部１２は、位置ずれ取得部７２（図２７）として機能して、検出した位置ずれを取得する。位置ずれを取得した場合、制御部１２は、ロボット座標系ＣＲにおける位置ずれを算出し、上述のステップＳ２２にて第２の物体Ｗ２と撮像部１６とを第ｎの検査相対位置に配置させるときに、移動機械１４を動作させて、該位置ずれを打ち消すように、第２の物体Ｗ２を撮像部１６に対して移動させる。
【０１９２】
又は、制御部１２は、ロボット座標系ＣＲにおける位置ずれを撮像座標系ＣＩに変換した撮像座標系位置ずれを取得し、上述したステップＳ４３において、該撮像座標系位置ずれをさらに用いて、マスタ画像と検出画像との見当合せを行ってもよい。
【０１９３】
この構成によれば、仮にロボットハンド２８が第２の物体Ｗ２を把持している位置が、所定の把持位置からずれた場合においても、マスタ画像と検出画像との見当合せを行うことができる。
【０１９４】
次に、図２８を参照して、物体検査システム１０のさらに他の機能について説明する。図２８は、物体検査システム１０のさらに他の機能を表すブロック図を示す。本実施形態においては、制御部１２は、上述の第ｎの基準位置データを、シミュレーションによって取得する。
【０１９５】
具体的には、制御部１２は、撮像部１６をモデル化した撮像部モデルと、移動機械１４をモデル化した機械モデルと、第１の物体Ｗ１をモデル化した物体モデルとを、仮想空間であるモデル環境に配置する。
【０１９６】
そして、制御部１２は、撮像部モデルと機械モデルとをモデル環境で仮想的に動作させて、撮像部モデルと機械モデルとを第ｎの基準相対位置に配置させる。制御部１２は、モデル環境において撮像部モデルと機械モデルとを第ｎの基準相対位置に配置したときの機械モデルの位置データを、第ｎの基準位置データとして取得する。
【０１９７】
このように、本実施形態においては、制御部１２は、第ｎの基準位置データを取得する位置データ取得部７４として機能し、該位置データ取得部７４は、シミュレーションによって第ｎの基準位置データを取得するシミュレーション部７６を有している。この構成によれば、実機の移動機械１４を教示することなく、シミュレーションによって第ｎの基準位置データを取得できるので、教示に掛かる作業を削減できる。
【０１９８】
次に、図２及び図２９を参照して、他の実施形態に係る物体検査システム１００について説明する。物体検査システム１００は、上述した物体検査システム１０と、以下の構成において相違する。
【０１９９】
すなわち、物体検査システム１００においては、撮像部１６は、移動機械１４の手首部２６に固定されている。その一方で、物体Ｗ１、Ｗ２は、ワーク保持部１０２に固定され、ロボット座標系ＣＲにおける予め定められた位置に、移動機械１４から離隔して配置される。制御部１２の記憶部は、ロボット座標系ＣＲにおける物体Ｗ１、Ｗ２の固定位置の情報を、予め記憶する。
【０２００】
本実施形態においては、ツール座標系ＣＴが、撮像部１６に対して設定される。このツール座標系ＣＴは、自動制御の座標系の１つであって、該ツール座標系ＣＴの位置をロボット座標系ＣＲ上で表現することにより、空間内での撮像部１６の位置及び姿勢を規定する。
【０２０１】
本実施形態においては、ツール座標系ＣＴのｚ軸が、撮像部１６の光軸Ｏと一致するように、ツール座標系ＣＴが設定されている。すなわち、撮像座標系ＣＩは、ツール座標系ＣＴに対して、所定の位置関係となっている。
【０２０２】
一方、制御部１２は、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置及び方向の情報を保有している。したがって、ロボット座標系ＣＲと撮像座標系ＣＩとの位置関係は、ツール座標系ＣＴを介して、既知となる。
【０２０３】
制御部１２は、撮像部１６の位置及び姿勢を、ツール座標系ＣＴによって規定される位置及び姿勢に一致させるように、ロボット座標系ＣＲにおいて旋回胴２２、ロボットアーム２４、及び手首部２６を動作させる。こうして、撮像部１６は、ロボット座標系ＣＲにおいて任意の位置及び姿勢に配置される。
【０２０４】
物体検査システム１００の制御部１２は、図１４〜図１８に示すフローを実行することによって、上述の物体検査システム１０と同様に、マスタ画像と検査画像の見当合せ、及びマスタ画像と検査画像との誤差の有無の検査を行うことができる。
【０２０５】
以下、物体検査システム１００の動作フローに関し、物体検査システム１０と異なるプロセスについて説明する。図１４に示すフローを開始するとき、第１の物体Ｗ１が、ワーク保持部１０２に固定される。
【０２０６】
図１５を参照して、ステップＳ１２において、制御部１２は、画像データ取得部４６（図２）として機能して、第ｎのマスタ画像を取得する。具体的には、移動機械１４を動作させて、撮像部１６を第１の物体Ｗ１に対して第ｎの基準相対位置に配置する。そして、制御部１２は、撮像部１６によって第１の物体Ｗ１の被検査面ＳＩを撮像し、第ｎのマスタ画像を取得する。
【０２０７】
仮に、ステップＳ１２の開始時点でｎ＝１にセットされていた場合、制御部１２は、撮像部１６と第１の物体Ｗ１とを、図２９に示す第１の基準相対位置に配置し、撮像部１６によって第１の物体Ｗ１の被検査面ＳＩを撮像する。その結果、制御部１２は、図７に示す第１のマスタ画像４０を取得する。
【０２０８】
ここで、制御部１２は、撮像部１６と第１の物体Ｗ１とを第ｎの基準相対位置に配置する毎に、座標変換データ取得部４２（図２）として機能して、ロボット座標系ＣＲと撮像座標系ＣＩとの位置関係に関する情報（座標変換データ）を取得する。
【０２０９】
ステップＳ１３において、制御部１２は、位置データ取得部４４（図２）として機能して、第ｎの基準位置データを取得する。具体的には、制御部１２は、撮像部１６と第１の物体Ｗ１とを第ｎの基準相対位置に配置したときの移動機械１４の位置データを、第ｎの基準位置データとして取得する。
【０２１０】
例えば、制御部１２は、第ｎの基準位置データとして、撮像部１６と第１の物体Ｗ１とを第ｎの基準相対位置に配置したときの、ロボット座標系ＣＲにおけるツール座標系ＣＴの位置及び方向の情報を取得する。
【０２１１】
図１５に示すステップＳ１が終了したとき、第２の物体Ｗ２が、ワーク保持部１０２に固定される。図１６を参照して、ステップＳ２２において、制御部１２は、第ｎの検査画像を取得する。具体的には、制御部１２は、移動機械１４を動作させて、撮像部１６を第２の物体Ｗ２に対して第ｎの検査相対位置に配置する。そして、制御部１２は、撮像部１６によって第２の物体Ｗ２の被検査面ＳＩを撮像し、第ｎの検査画像を取得する。
【０２１２】
仮に、ステップＳ１２の開始時点でｎ＝１にセットされていた場合、制御部１２は、撮像部１６と第１の物体Ｗ１とを、第１の検査相対位置に配置し、撮像部１６によって第１の物体Ｗ１の被検査面ＳＩを撮像し、図９、図１０又は図１１に示す第１の検査画像４８、５０又は５２を取得する。
【０２１３】
ここで、制御部１２は、撮像部１６と第２の物体Ｗ２とを第ｎの検査相対位置に配置する毎に、座標変換データ取得部４２として機能して、ロボット座標系ＣＲと撮像座標系ＣＩとの位置関係に関する情報（座標変換データ）を取得する。
【０２１４】
ステップＳ２３において、制御部１２は、第ｎの検査位置データを取得する。具体的には、制御部１２は、撮像部１６と第２の物体Ｗ２とを第ｎの検査相対位置に配置したときの移動機械１４の位置データを、第ｎの検査位置データとして取得する。
【０２１５】
図１７を参照して、ステップＳ３３において、制御部１２は、画像位置差取得部５４（図２）として機能して、第ｎの位置差を取得する。仮に、このステップＳ３３の開始時点でｎ＝１にセットされていた場合、制御部１２は、撮像座標系ＣＩにおける第１のマスタ画像４０と第１の検査画像４８、５０、５２、又は５３との第１の位置差δ、θ、α、Ｍを取得する。
【０２１６】
例えば、第１の位置差δ又はθに関し、制御部１２は、第１の基準位置データに含まれるツール座標系ＣＴの位置及び方向のロボット座標系ＣＲにおける座標と、第１の検査位置データに含まれるツール座標系ＣＴの位置及び方向のロボット座標系ＣＲにおける座標とを算出し、これら２つの座標の差ΔＲ１を算出する。
【０２１７】
そして、制御部１２は、ステップＳ２２（又はＳ１２）で取得した座標変換データを用いて、ロボット座標系ＣＲの値として表される差ΔＲ１を、ステップＳ２２（又はＳ１２）の実行時の撮像座標系ＣＩの値に変換する。これにより、第１の検査画像４８、５０（又は第１のマスタ画像４０）において、撮像座標系ＣＩにおける位置差δ又はθが算出される。
【０２１８】
また、上述の位置差αに関し、制御部１２は、第１の基準位置データに含まれるツール座標系ＣＴの位置のロボット座標系ＣＲにおける座標と、第１の検査位置データに含まれるツール座標系ＣＴの位置のロボット座標系ＣＲにおける座標とから、距離Ｄ１と距離Ｄ２とを求める。そして、制御部１２は、求めたＤ１とＤ２との比率から、第１のマスタ画像４０に対する第１の検査画像５２の縮小率（又は拡大率）を表す位置差αを求める。
【０２１９】
また、位置差として行列Ｍを取得する場合、例えば、制御部１２は、第１の基準位置データに含まれる、第１群の基準点８０、８２、８４、及び８６のロボット座標系ＣＲにおける座標ＣＲ_８０、ＣＲ_８２、ＣＲ_８４、及びＣＲ_８６と、第１の検査位置データに含まれる、第１群の検査基準点８０ａ、８２ａ、８４ａ、及び８６ａのロボット座標系ＣＲにおける座標ＣＲ_８０ａ、ＣＲ_８２ａ、ＣＲ_８４ａ、及びＣＲ_８６ａとを用いて、行列Ｍの各パラメータを求める。
【０２２０】
図１８を参照して、ステップＳ４３において、制御部１２は、画像見当合せ部５６（図２）として機能して、上述の実施形態と同様に、第ｎのマスタ画像と第ｎの検査画像との見当合せを行う。仮に、このステップＳ４３の開始時点でｎ＝１にセットされていた場合、制御部１２は、ステップＳ３３で取得した第１の位置差δ、θ、α、Ｍに基づいて、第１のマスタ画像４０又は第１の検査画像４８、５０、５２、５３をシフトさせ、これら２つの画像の見当合せを行う。
【０２２１】
ステップＳ３３で第１の検査画像４８、５０、５２における位置差δ、θ、αを算出した場合、制御部１２は、このステップＳ４３において、画像見当合せ部５６（図２）として機能して、第１の検査画像４８、５０、５２をシフトさせて、第１のマスタ画像４０と第１の検査画像４８、５０、５２との見当合せを行う。
【０２２２】
一方、ステップＳ３３で第１のマスタ画像４０における位置差δ、θ、αを算出した場合、制御部１２は、このステップＳ４３において、第１のマスタ画像４０をシフトさせて、第１のマスタ画像４０と第１の検査画像４８、５０、５２の見当合せを行う。その結果、第１のマスタ画像４０に写る第１の物体Ｗ１の像と、検査画像４８に写る第２の物体Ｗ２の像とを、撮像座標系ＣＩにおいて一致させることができる。
【０２２３】
次いで、図１４に示すステップＳ５において、制御部１２は、物体検査部５８（図２）として機能して、上述の物体検査システム１０と同様に、第１の物体Ｗ１に対する第２の物体Ｗ２の視覚的に認識される誤差の有無を検査する。
【０２２４】
このように、本実施形態によれば、仮にマスタ画像と検査画像との間でずれが生じていた場合に、移動機械１４の位置データを用いて、これら２つの画像の見当合せを行うことができる。これにより、画像の見当合せに掛かる作業の軽減化及び迅速化を実現できる。
【０２２５】
次に、図３０を参照して、さらに他の実施形態に係る物体検査システム１１０について説明する。物体検査システム１１０は、移動機械１４、撮像部１６、位置データ取得部１１２、画像データ取得部１１４、画像見当合せ部１１６を備える。
【０２２６】
位置データ取得部１１２、画像データ取得部１１４、及び画像見当合せ部１１６は、個々のコンピュータからそれぞれ構成されてもよいし、１つのコンピュータから構成されてもよい。
【０２２７】
位置データ取得部１１２は、移動機械１４が第１の物体Ｗ１と撮像部１６とを基準相対位置に配置するときの、移動機械１４の基準位置データを取得するとともに、移動機械１４が第２の物体Ｗ２と撮像部１６とを検査相対位置に配置するときの、移動機械１４の検査位置データを取得する。
【０２２８】
画像データ取得部１１４は、基準相対位置で撮像部１６が撮像したマスタ画像を取得するとともに、検査相対位置で撮像部１６が撮像した検査画像を取得する。
【０２２９】
画像見当合せ部１１６は、ロボット座標系ＣＲと撮像座標系ＣＩとの間の既知の位置関係と、基準位置データ及び検査位置データとを用いて、撮像座標系ＣＩにおけるマスタ画像と検査画像との見当合せを行う。
【０２３０】
例えば、画像見当合せ部１１６は、ロボット座標系ＣＲの座標と撮像座標系ＣＩの座標との関係を表すデータテーブルを予め記憶し、ロボット座標系ＣＲにおける基準位置データ及び検査位置データを該データテーブルに適用し、撮像座標系ＣＩにおける基準位置データ及び検査位置データを取得する。
【０２３１】
そして、画像見当合せ部１１６は、撮像座標系ＣＩにおける基準位置データ及び検査位置データに基づいて、マスタ画像と検査画像との見当合せを行う。この場合、画像見当合せ部１１６は、上述した位置差を取得することなく、マスタ画像と検査画像との見当合せを行うことができる。
【０２３２】
なお、上述の物体検査システム１０又は１００から、照明装置１８を省略し、例えば自然光によって物体Ｗ１、Ｗ２の被検査面ＳＩを照らしてもよい。
【０２３３】
また、上述の実施形態においては、移動機械１４が垂直多関節ロボットである場合について述べたが、これに限らず、移動機械１４は、パラレルリンクロボットであってもよいし、又は、ローダ等の他の機械であってもよい。
【０２３４】
上述の実施形態においては、第１の物体Ｗ１と第２の物体Ｗ２とが、互いに同じ外形を有する場合について述べた。しかしながら、これに限らず、第１の物体Ｗ１と第２の物体Ｗ２とは、少なくとも一部に共通の外形を有していればよい。この場合、撮像部１６は、該共通の外形を撮像したマスタ画像及び検査画像を取得する。
【０２３５】
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【０２３６】
１０，１００    物体検査システム
１２    制御部
１４    移動機械
１６    撮像部
４２    座標変換データ取得部
４４，１１２    位置データ取得部
４６，１１４    画像データ取得部
５４    画像位置差取得部
５６，１１６    画像見当合せ部
５８    物体検査部
【図１】
2019113348.tif 000003
【図２】
2019113348.tif 000004
【図３】
2019113348.tif 000005
【図４】
2019113348.tif 000006
【図５】
2019113348.tif 000007
【図６】
2019113348.tif 000008
【図７】
2019113348.tif 000009
【図８】
2019113348.tif 000010
【図９】
2019113348.tif 000011
【図１０】
2019113348.tif 000012
【図１１】
2019113348.tif 000013
【図１２】
2019113348.tif 000014
【図１３】
2019113348.tif 000015
【図１４】
2019113348.tif 000016
【図１５】
2019113348.tif 000017
【図１６】
2019113348.tif 000018
【図１７】
2019113348.tif 000019
【図１８】
2019113348.tif 000020
【図１９】
2019113348.tif 000021
【図２０】
2019113348.tif 000022
【図２１】
2019113348.tif 000023
【図２２】
2019113348.tif 000024
【図２３】
2019113348.tif 000025
【図２４】
2019113348.tif 000026
【図２５】
2019113348.tif 000027
【図２６】
2019113348.tif 000028
【図２７】
2019113348.tif 000029
【図２８】
2019113348.tif 000030
【図２９】
2019113348.tif 000031
【図３０】
2019113348.tif 000032