(57)【要約】【課題】  視覚センサにおける誤検出を検知し、衝突等によるライン停止を防止する。【解決手段】  ロボットに搭載した計測用カメラで計測用の撮像を行い、ワークの画像を取得し、所定箇所の検出、計測を行ない（Ｓ１〜Ｓ３）、確認用カメラで確認用の撮像を行い、ワークの画像を取得し、所定箇所の検出、計測を行なう（Ｓ4〜Ｓ６）。ロボット移動を組み合わせて、カメラを１台で計測／確認に兼用しても良い。両者で得られた計測結果が同一の箇所の検出に基づくものかどうか判定し（Ｓ７）、イエスであれば計測は有効とし（Ｓ８）、ノーであれば計測は無効として、リトライ等の例外処理を行なう（Ｓ９）。確認用のカメラを大サイズ対象物計測時のロボット移動経路の適否判断に使用しても良い。【選択図】          図２
2005251086.tif 000002
【特許請求の範囲】
【請求項１】
カメラを使用して物体に関する計測を行なう視覚センサであって、
２台以上のカメラにより、互いに異なる視点から物体の撮像を行ないそれぞれ画像を取得する手段と、
前記それぞれの画像に基づいて、前記物体の所定箇所と判断される箇所の計測をそれぞれ行ない、複数の計測結果を得る手段と、
前記複数の計測結果を比較、照合することにより、前記複数の計測結果が同一箇所を計測した計測結果を表わしているか否かを判定する判定手段と、
前記判定手段により同一箇所の計測が行なわれたと判定されたときのみ、正しく計測が行われたと判断する手段を備えることを特徴とする視覚センサ。
【請求項２】
カメラを使用して物体に関する計測を行なう視覚センサであって、
計測用のカメラと、
確認用のカメラと、
前記確認用のカメラにより取得した画像の満たすべき条件を設定、記憶する手段と、
前記確認用のカメラにより取得した画像が、前記設定された条件を満たす場合のみ、前記計測用のカメラの画像での計測結果を有効にする手段とを備えることを特徴とする視覚センサ。
【請求項３】
前記確認用のカメラは移動手段に搭載されており、
前記移動手段による移動の過程で前記確認用のカメラによって複数個の画像が取得され、
前記確認用のカメラの画像の満たすべき条件が、前記確認用のカメラが前記移動手段による移動の過程で取得した複数個の画像のそれぞれにおいて、前記物体の一部が捕えられていることである、請求項２に記載の視覚センサ。
【請求項４】
カメラを使用して物体に関する計測を行なう視覚センサであって、
１台のカメラにより、２箇所以上の異なる視点から物体の撮像を行ないそれぞれ画像を取得する手段と、
前記それぞれの画像に基づいて、前記物体の所定箇所と判断される箇所の計測をそれぞれ行ない、複数の計測結果を得る手段と、
前記複数の計測結果を比較、照合することにより、前記複数の計測結果が同一箇所を計測した計測結果を表わしているか否かを判定する判定手段と、
前記判定手段により同一箇所の計測が行なわれたと判定されたときのみ、正しく計測が行われたと判断する手段を備えることを特徴とする視覚センサ。
【請求項５】
カメラを使用し物体を計測する視覚センサであって、
同一のカメラにより少なくとも計測用と確認用の２種類の画像を取得する手段と、
前記確認用の画像の満たすべき条件を設定、記憶する手段と、
前記確認用のカメラ画像が前記設定された条件を満たす場合のみ、前記計測用のカメラ画像での計測結果を有効にする手段とを備えることを特徴とする視覚センサ。
【請求項６】
前記カメラが移動手段に搭載され、
前記確認用の画像が前記移動手段による移動の過程で複数個取得され、
前記複数個の確認用の画像が満たすべき条件が、前記複数個の確認用の画像のぞれぞれにおいて、前記物体の一部が捕えられていることである、請求項５に記載の視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば生産ラインにおいてロボットと組み合わせて使用され、ロボットが作業対象とするワークの位置ずれを認識し、それに基づいてロボットがずれ量を補って作業を行なうアプリケーションに好適な視覚センサに関する。
【背景技術】
【０００２】
生産ラインにおいて必要とされることが多い一般的な工程の１つとして、整列されていない多数の部品を順次取出し、次工程へ搬送する工程がある。この工程を自動化するために、ロボットと視覚センサを組み合わせたロボット−視覚センサシステムを用いる試みが種々提案されている。一般に、視覚センサは画像取得を行なうセンサヘッドと、同センサヘッドの制御及び画像処理等を行なう画像処理装置を含み、センサヘッドにはカメラ、あるいは、カメラに加えてパターン光（スリット光、スポット光など）の投光器が設けられる。また、センサヘッドはロボットの先端部付近に取り付けられて使用されることが多いが、ロボットの周辺に固定した状態で使用されることもある。
【０００３】
ところで、上記の提案を信頼性のある形で実用化することは簡単でなく、少し前までは条件をうまく設定することで一部実用化にこぎつけていた程度であったのであるが、最近は試験段階から普及段階に入ろうとしており、様々なアプリケーションヘの適用の拡大が見られるようになってきた。例えば下記特許文献１に開示されているように、従来実現していなかったシステムも、現実的に稼動し始めている。
【０００４】
しかし、作業対象のワークの中には、照明などの外部環境や、ワークに個体差があったり、似たような特徴が本来求めたい特徴の近傍にあったりするなどの理由により、検出結果が不安定となることも多い。そのため、未検出（検出されるべきワークが検出されない）が起きたり、誤検出（本来求めたい特徴以外の特徴を本来求めたい特徴と誤認する）が起きたりして、ラインを停止させてしまうことがある。
【０００５】
これら事態に対する対策の１つとして、例えば下記特許文献２に示されているように、未検出や誤検出が起きそうな画質を判断して画質が良くない場合に警告を発する（特許文献２中ではコントラストで判断）、または、画質低下時用の処理に切り替える、というような提案がなされている。ところが未検出や誤検出の理由は、先に述べたように画質によるものだけではなく、すべての未検出や誤検出が除去できないケースは珍しくない。
【０００６】
【特許文献１】特開２００３−３４４３０号公報
【特許文献２】特開２００１−１６０１４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、未検出と誤検出を比較した場合、未検出である場合は視覚センサ自身でその状態がわかるので、リトライなどの例外処理を組むなどして、ラインの停止を回避する手段を講じ易い。一方、誤検出の場合は、視覚センサ自身でその状態が把握できないため、例外処理を行いにくい上、誤検出によってロボットの誤動作を誘発し、衝突など影響の大きいトラブルでラインを停止させてしまう危険性も大きい。そこで本発明は、特にこのように影響の大きい誤検出を防ぐことのできる視覚センサを提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明は、カメラを利用して取得した画像に基づく視覚センサによる計測について、それが正しい計測であるかを判定できるようにして、誤検出の発生を防ぐものである。計測結果の妥当性の判断は、計測用のカメラと確認用のカメラ（１台で兼用することもあり得る）、または、計測用の画像と確認用の画像、といった複数の入力により得られる複数の結果を参照して行なわれる。
【０００９】
より具体的に言えば、請求項１に記載された発明では、カメラを使用して物体に関する計測を行なう視覚センサに、２台以上のカメラにより、互いに異なる視点から物体の撮像を行ないそれぞれ画像を取得する手段と、前記それぞれの画像に基づいて、前記物体の所定箇所と判断される箇所の計測をそれぞれ行ない、複数の計測結果を得る手段と、前記複数の計測結果を比較、照合することにより、前記複数の計測結果が同一箇所を計測した計測結果を表わしているか否かを判定する判定手段と、前記判定手段により同一箇所の計測が行なわれたと判定されたときのみ、正しく計測が行われたと判断する手段が設けられる。
【００１０】
また、請求項２に記載された発明では、カメラを使用して物体に関する計測を行なう視覚センサに、計測用のカメラと、確認用のカメラと、前記確認用のカメラにより取得した画像の満たすべき条件を設定、記憶する手段と、前記確認用のカメラにより取得した画像が、前記設定された条件を満たす場合のみ、前記計測用のカメラの画像での計測結果を有効にする手段とが設けられる。ここで、前記確認用のカメラを移動手段に搭載し、前記移動手段による移動の過程で前記確認用のカメラによって複数個の画像を取得する一方、前記確認用のカメラの画像の満たす条件を、連続的にワークの一部が捕えられていることであるとすることができる（請求項３に記載された発明）。
【００１１】
次に、請求項４に記載された発明では、カメラを使用して物体に関する計測を行なう視覚センサに、１台のカメラにより、２箇所以上の異なる視点から物体の撮像を行ないそれぞれ画像を取得する手段と、前記それぞれの画像に基づいて、前記物体の所定箇所と判断される箇所の計測をそれぞれ行ない、複数の計測結果を得る手段と、前記複数の計測結果を比較、照合することにより、前記複数の計測結果が同一箇所を計測した計測結果を表わしているか否かを判定する判定手段と、前記判定手段により同一箇所の計測が行なわれたと判定されたときのみ、正しく計測が行われたと判断する手段が設けられる。
【００１２】
更に、請求項５に記載された発明では、カメラを使用し物体を計測する視覚センサに、同一のカメラにより少なくとも計測用と確認用の２種類の画像を取得する手段と、前記確認用の画像の満たすべき条件を設定、記憶する手段と、前記確認用のカメラ画像が前記設定された条件を満たす場合のみ、前記計測用のカメラ画像での計測結果を有効にする手段が設けられる。ここで、前記カメラを移動手段に搭載し、前記確認用の画像を前記移動手段による移動の過程で複数個取得する一方、前記複数個の確認用の画像が満たすべき条件が、前記複数個の確認用の画像のぞれぞれにおいて、前記物体の一部が捕えられていることであるとすることができる（請求項６に記載の発明）。
【発明の効果】
【００１３】
請求項１，４の発明により、主に１箇所での計測で作業ができる比較的小さなワークでの誤検出を防ぐことができる。加えて、請求項２，３，５，６の発明により、複数箇所の計測が必要な比較的大型のワークでの誤検出を防ぐことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。先ず図１には本発明の実施形態における全体構成図が示されている。同図を参照すると、符号１はロボットコントローラ５で制御されるロボットで、ケーブル１２で相互に接続されている。その先端部周辺には２台のカメラ２、３とハンド９が装着されている。２台のカメラ２、３の内の一方のカメラは計測用のカメラであり、他方のカメラは確認用のカメラである。ここでは、カメラ２が計測用、カメラ３が確認用とするが、逆であっても構わない。また、後述するように、ロボット１をカメラの移動手段に用いて１台のカメラ２（又は３）を計測用と確認用に兼用することも可能である。
【００１５】
カメラ２、３は各々ケーブル７、８を用いてパーソナルコンピュータ４に接続されており、ハンド９はケーブル１０を用いてロボットコントローラ５に接続されている。パーソナルコンピュータ４は、視覚センサの制御／画像処理部を構成するもので、視覚センサのセンサヘッドを構成するカメラ２、３の撮像動作を制御するとともに、各カメラ２、３による撮像で取得された画像を取り込み、画像処理を行ない、それに基づき所要の検出（特徴部検出）と計測を行なう。
【００１６】
なお、カメラ２、３のキャリブレーション及びロボット座標系とセンサ座標系の結合は、周知の手法により完了しているものとする。視覚センサによる計測としては、ここではワーク２０の特徴部の１つに対応する所定箇所２１の２次元位置の計測を想定する。以下、この所定箇所を適宜特徴部とも言う。
【００１７】
パーソナルコンピュータ４とロボットコントローラ５は、ネットワーク回線６で接続されており、パーソナルコンピュータ４での検出・計測結果（所定箇所２１の位置計測結果）に基づいてロボット１及びハンド９を動作させる。ここに示された例は２次元視覚センサであり、視線の位置・方向を求めることはできるが、最終的に３次元位置を求めるには情報不足である。これを補う情報としては、例えば特徴部２１の高さ（ロボット座標系Σb 上でのＺ座標値）が既知であればそれを利用できる。また、視覚センサが３次元視覚センサ（例えばセンサヘッドにスリット光あるいはスポット光を投射する投光部を更に備えた３次元視覚センサ）であれば、当然、３次元位置が求められる。なお、ワーク２０の姿勢が知りたい場合には、例えば検出すべきワーク毎の特徴部を複数個としてそれらの３次元位置から姿勢を求めれば良い。
【００１８】
図２は、図１に示した構成を用いた実施形態で実行される処理の一例を示したフローチャートである。各ステップの要点を記せば次のようになる。なお、処理開始時点において、ロボット１はカメラ２、３でワーク２０の全体を視野に入れた初期位置に位置決めされているものとする。
【００１９】
ステップＳ１；カメラ２を用いて計測用の撮像を行い、ワーク２０の画像（計測用の画像）を取得する。  
ステップＳ２；ステップＳ１で得た画像を処理して、ワーク２０の所定箇所２１の検出を行なう。但し、後述するように、この所定箇所２１以外の箇所を誤検出している可能性がある。既述の通り、ワーク２０の所定箇所２１には例えば穴、突起、輪郭の稜線などの特徴部が選ばれ、その検出には同特徴部２１を表わす基準画像をテンプレートに用いた周知のパターンマッチングの手法を用いることができる。なお、視覚センサが例えばスリット光投光器を加えた３次元視覚センサの場合には、スリット光の投光によってワーク２０上に形成される輝線の画像から特徴部２１を抽出することで、所定箇所２１を検出する。
【００２０】
ステップＳ３；ステップＳ２で検出された所定箇所２１について計測を行なう。前述したように、２次元視覚センサでは３次元位置を求めることはできないが、視線の位置・方向を求めることはできる。そこで、ここでは図３に示したように、カメラ２の代表点（レンズ中心）から所定箇所２１の代表点２１ａに向かう視線２３を計算するものとする。
【００２１】
但し、もしも所定箇所２１の検出が誤検出であった場合には、別の箇所へ向かう視線が計算されることになる。その例を図４に示した。図３、図４において、所定箇所（特徴部）２１は、円形の穴で例示されており、代表点２１ａはその中心である。誤検出は、別の円形の穴（特徴部）２２を誤認して起ったもので、その代表点（穴の中心）を２２ａとする。図４に示した誤検出時には、視線２３ではなく視線２５（図４参照）が計算されることになる。なお、３次元視覚センサを用いた場合には、誤検出でなければ特徴部２１の代表点２１ａの３次元位置が計算され、誤検出時には特徴部２２の代表点２２ａの３次元位置が計算される。
【００２２】
ステップＳ４；カメラ３を用いて確認用の撮像を行い、ワーク２０の画像（確認用の画像）を取得する。なお、ロボット１はカメラ２による撮像を行なった位置のままで良い。但し、確認用の画像と計測用の画像の差異をより明瞭にするために、ロボットを移動させて位置決めしても構わない。なお、計測用のカメラ２を確認用のカメラ３に兼用する場合には、確認用の画像と計測用の画像が同一にならないように、ロボットを移動させてから確認用の画像を取得することもある。
【００２３】
ステップＳ５；ステップＳ４で得た確認用の画像を処理して、ワーク２０の所定箇所２１の検出を行なう。なお、ここでも誤検出が起る可能性はあり、その場合は、他の箇所（例えば特徴部２２）が検出される。  
ステップＳ６；ステップＳ５で検出された所定箇所２１について計測を行なう。ここでは図３に示したように、カメラ３の代表点（レンズ中心）から所定箇所２１の代表点２１ａに向かう視線２４を計算するものとする。但し、もしも所定箇所２１の検出（確認用）が誤検出であった場合には、別の箇所へ向かう視線（例えば視線２７；図４参照）が計算されることになる。３次元視覚センサを用いた場合には、所定箇所２１の代表点２１ａの３次元位置（正しい検出時）、あるいは、他の箇所の代表点（例えば点２２ａ）の３次元位置（誤検出時）が計算されることになる。
【００２４】
ステップＳ７；ステップＳ３における計測結果と、ステップＳ６における計測結果を比較、照合して、同一箇所の検出・計測を行なったか否か判断する。この判断のためのアルゴリズムについては、後述する。同一箇所の検出・計測を行なっていれば誤検出でないと判断してステップＳ８へ進み、そうでなければステップＳ９へ進む。なお、元々「誤検出」の確率がある程度低く抑えられている限り、ステップＳ３における計測結果と、ステップＳ６における計測結果の両方が誤検出に基づくケース（視線２５、２７の組み合わせ）は極く稀にしか起こり得ないと考えられる。
【００２５】
ステップＳ８；ステップＳ３における計測結果を正しい計測結果として記憶し、ロボットコントローラ５に計測結果を送って、処理を終了する。ロボットコントローラ５は、この計測結果をロボット１、ハンド９の制御に利用する。  
ステップＳ９；誤検出の場合の例外処理を実行する。誤検出の場合の例外処理には種々考えられるが、例えばロボット位置を変更してからのリトライがある。
【００２６】
図５には、上記ステップＳ７で行なう判断のためのアルゴリズムの一例を示した。各ステップの要点を記せば次のようになる。  
ステップＱ１；ステップＳ３、Ｓ６で求めた各視線間の距離、即ち、ステップＳ３で求めた視線上の任意の点と、ステップＳ６で求めた視線上の任意の点との間の距離の内最小のものを求める。これをｄで表わす。両視線が交点を持てばｄ＝０となる（両視線の一致はあり得ない）。
【００２７】
ステップＱ２；距離ｄが基準値δ未満であるか否か判断する。ここで基準値δには、誤差範囲内で両視線が実質的に交わっているかいないかの識別に用いられる値が予め設定される。先ず、ｄ≧δであれば両視線が実質的に交わっていないと判断する。両視線が実質的に交わっていないことは、ステップＳ２、Ｓ５で共に誤検出のない図３のケースではあり得ないので、誤検出に該当すると考え、ステップＱ５へ進む。ステップＳ２では誤検出はなく、ステップＳ５のみで誤検出のケース（視線２３と視線２７の組み合わせ）もあり得るが信頼性がないと考え、計測は無効とする。
【００２８】
ｄ＜δの場合は、ステップＱ３へ進み、交点が点２１ａに該当するか判断する。これは、ステップＳ２、Ｓ４の少なくとも一方で誤検出があっても、両視線（２５と２６、２５と２７、あるいは２３と２７）が交点を持つこともあり得るからである。なお、距離ｄは理想的にはｄ＝０となるべきものであり、このｄの値を記憶して検出ずれ（同じ点２１ａを検出しているが検出位置にぶれがあり、視線２３、２４が２１ａで完全に交わらないこと）の指標として用いても良い。δは同一箇所の検出がなされたかどうかをチェックする基準であり、検出ぶれを「誤検出」と区別できる程度の大きさに定めることが好ましい。例えば最大の検出ぶれが１ｍｍ程度と想定される場合、δはそれよりやや大きく２ｍｍに設定する。
【００２９】
ステップＱ３；予め適当に設定した補助基準を用いて視線の交点が点２１ａに該当するか判断する。補助基準としては例えば点２１ａのＺ座標値（ロボット座標系Σb 上）が収まるであろう座標値範囲（高さ位置範囲）を指定しておき、その範囲内なら交点は点２１ａに該当すると判断し、ステップＱ４へ進む。そうでなければ点２１ａに該当しないと判断し、ステップＱ５へ進む。なお、ステップＳ２、ステップＳ５で共に点２２ａを誤検出した場合、この補助基準では排除できないが、前述した通り、それは稀にしか起らないと考える。
【００３０】
ステップＱ４；計測は正しい（誤検出なしで計測は有効）と判定する（ステップＳ８へ進む）。  
ステップＱ５；計測は信頼できない（誤検出あり、計測は無効）と判定する（ステップＳ９へ進む）。  
なお、３次元視覚センサを使用した場合、ステップＳ３、Ｓ６の計測結果は３次元位置で与えられるから、それらが不一致（誤差範囲以上）ならば無条件に「誤検出で計測無効」とし、一致（誤差範囲未満）ならば、上記ステップＱ３と同様の補助基準（点２１ａのＺ座標値範囲）によりその一致点は、「点２１ａ」に該当するか否かを判断する。そして、該当していれば「計測有効」、そうでなければ「計測無効」とする。
【００３１】
以上説明した処理により、誤検出から導出された計測結果にも拘らず、それに基づくロボット制御やハンド制御が行なわれ、衝突事故等で生産ラインが停止する頻度を大幅に減らすことができるようになる。なお、確認用の撮像は、カメラの数をさらに増やす、あるいは、ロボット１の位置をさらに変更するなどして、複数箇所から行われても良い。その場合、計測用の計測結果（ステップＳ３）と、複数の確認用の画像に基づく複数の計測結果が、すべて同一の箇所の検出に基づくものであると判断された場合に「誤検出なし」と判断すれば良い。
【００３２】
上記の例では、ワーク２０は比較的小サイズでロボット１の移動を行なわなくて済む程度の範囲内に検出・計測箇所が存在しているが、例えば自動車の車体部品のように大型のワークについては、ワークの位置や姿勢の計測精度を確保するために、ロボット移動しなければ検出・計測が行えないような離れた２箇所以上を計測する必要がある。図６は、そのような事例における実施形態について説明する図である。
【００３３】
同図において、符号２００は大サイズのワークを表わし、代表点３１で代表される特徴部（第１の所定箇所）３０と、代表点４１で代表される特徴部（第２の所定箇所）４０の計測を行なうものとする。また、図示したように、特徴部４０の近傍には特徴部４０と類似した特徴部５０が存在し、この特徴部５０は検出・計測されるべき箇所ではないとする。このようなワーク２００について、今、ワーク２００が特徴部３０側の周囲部がラフにクランプされており、特徴部４０がある反対側の周囲部は、かなりの範囲で自由に動くケースを考える。
【００３４】
この場合、特徴部３０側ではワーク２００の位置には多少のばらつきはあるものの、ロボット１がある位置（一定の位置）を取った場合に、計測用カメラ２の視野２０１内に特徴部３０を確実に捉えられる。しかし、特徴部４０がある反対側では、ワーク２００がかなりの範囲で自由に動くため、いつも同じロボット位置で検出・計測を行なおうとすると、計測用カメラ２の視野２０２から特徴部４０が消えてしまい、その代わりに非計測対象の特徴部５０が現れる現象が発生する。このような視野を符号２０３で表わしている。
【００３５】
今、図示の都合上、ワーク２００を図示した位置・姿勢に固定し、且つ、ロボットの移動経路を視野の移動で描示すると、上記の現象（特徴部４０に代えて特徴部５０が現れる現象）が生じた場合には、ロボットが同じ教示経路をとったとしても、符号２０４で示した経路になったり、符号２０５で示した経路になったりすることが起こり得る。符号２０４で示した経路をとれば、特徴部３０を視野２０２で捉えられるので誤検出は起り難いが、符号２０５で示した経路をとったケースでは、本来は検出・計測すべきでない特徴部５０を視野２０３で捉えて検出する誤検出が起ることになる。
【００３６】
そこで、確認用カメラ３を使って、ロボット１の移動（即ち、カメラ２、３の移動）がワーク２００に対してどのような相対位置をとりながら行なわれていくのかを逐一確認して行くことで、視野２０２が得られる位置に到達する経路２０４を辿っているか否かを確認することができる。図６において、符号２０６〜２０９は、経路２０４の途中で確認用カメラ３で得られる視野を表わしている。一方、間違った経路２０５をたどると、例えば、確認用カメラ３は２１０〜２１３のような視野となるものとする。
【００３７】
このような状況では、確認用カメラ３で、ワーク２００の一部（ここでは、線が２本）が観測しつづけられれば、自分が正しい経路（ワーク２００に対する相対経路）を通っていると判断でき、結果として、視野２０２を得られると言える。更に言えば、観測対象であるワーク２００の一部が、常に視野の真中に来るような補正を加えながら移動していけば、より安定的に視野２０２を得る位置に到達させることができる。
【００３８】
図７は、このような前提で、「所定の条件」を満たした経路が実現しているかどうかを確認して計測の有効／無効を決定する処理手順の概略をフローチャートで表わしたものである。「所定の条件」は予め、パーソナルコンピュータ４に設定しておくもので、ここでは経路２０４のような経路をとることを表現する条件として、「ワーク２００の輪郭線が２本見えること」を採用するがこれは一例であり、一般にはワークの形状と視野の経路の関係を検討して定めるものである。なお、以下の説明では、視野２０１が得られるロボット位置を「ロボット位置Ａ」と呼び、視野２０２が得られたり視野２０３が得られたりするロボット位置を「ロボット位置Ｂ」と呼ぶことにする。各ステップの要点を記せば次のようになる。
【００３９】
ステップＲ１；ロボット１を位置Ａに移動させる。  
ステップＲ２；計測用カメラ２による撮像で特徴部３０を含む画像を得て、特徴部３０を検出する。この検出には、前述の例と同様、例えばパターンマッチングの手法を用いる。  
ステップＲ３；特徴部３０の代表点３１の計測を行なう。前述したように、２次元視覚センサの場合、例えば代表点３１を通る視線が求められる。３次元視覚センサの場合、代表点３１の３次元位置が求められる。
【００４０】
ステップＲ４；ロボット位置Ｂへ移動開始。  
ステップＲ５；ステップＲ２の撮像時点の位置から距離Ｄ１以上移動したかチェックする。ここで、距離Ｄ１は、条件チェック（２本線が見えるか否か）で経路の正常／異常が判別できるようになるまでの最小移動距離より若干大きく設定する。
【００４１】
ステップＲ６；確認用カメラ３による撮像で確認用の画像を得て、ワーク２００の輪郭線を検出する。  
ステップＲ７；画像の条件（ここでは輪郭線が２本検出できること）が満たされたか判定する。イエスならステップＲ８へ進み、ノーならステップＲ１２へ進む。
【００４２】
ステップＲ８；ロボット位置Ｂの手前の距離Ｄ２の位置に到達したか否かチェックする。ここで距離Ｄ２は、条件チェック（２本線が見えるか否か）で経路の正常／異常が判別できなくなる位置とロボット位置Ｂの間の距離より若干大きく設定する。到達していなければステップＲ６へ戻り、以降の処理を繰り返す。到達していればステップＲ９へ進む。  ステップＲ９；ロボット位置Ｂへ到達させる。  
ステップＲ１０；特徴部４０（２箇所目の所定箇所）のための計測用の撮像を行ない、特徴部４０を検出する。  
ステップＲ１１；特徴部４０の代表点４１の計測を行う。この計測結果とステップＲ３で得た計測結果とを正しい計測結果として記憶し、ロボットコントローラ５に計測結果を送って、処理を終了する。ロボットコントローラ５は、この計測結果をロボット１、ハンド９の制御に利用する。  
【００４３】
ステップＲ１２；未検出の場合の例外処理を実行する。即ち、このステップＲ１２へ進んだということは、「輪郭線が２本観測されること（ワーク２００を横断して一部が見えつづけること）」が満たされなくなったことを意味するので、これを、「軌道が外れていること」の証拠と見なし、未検出とする。そして、適宜未検出用の例外処理を実行する。
【００４４】
以上の処理により、特徴部５０を特徴部４０と誤認（誤検出）して誤った計測結果を採用してしまう危険性が解消される。なお、本例においてはステップＲ２での計測用の撮像とステップＲ６での確認用の撮像は、計測用カメラ２と確認用カメラ３をそれぞれ用意して行なったが、計測用のカメラ２を確認用に兼用して、計測用カメラ２だけで撮像を行なってもよい。また、これらで行われた計測は、ワークに応じて、２次元計測でも良いし、３次元計測でも良い。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態における全体構成図を示したものである。
【図２】本発明の実施形態で実行される処理の一例を示したフローチャートである。
【図３】視覚センサが２次元視覚センサである場合に、計測用のカメラと確認用のカメラか同一の箇所を正しく所定箇所として検出したケースについて説明する図である。
【図４】視覚センサが２次元視覚センサである場合に、計測用のカメラが誤検出を起こし、確認用のカメラは正しく所定箇所を検出したケースについて説明する図である。
【図５】視覚センサが２次元視覚センサである場合について、図２に示したフローチャート中のステップＳ７の具体例について説明するフローチャートである。
【図６】計測対象の物体のサイズが大きいケースについて説明する図である。
【図７】図６に示したケースに関連して、実施形態で実行される処理の例を示したフローチャートである。
【符号の説明】
【００４６】
１  ロボット
２  計測用カメラ（但し、確認用カメラとの兼用のケースあり）
３  確認用カメラ
４  パーソナルコンピュータ（視覚センサの制御／画像処理部）
５  ロボットコントローラ
６  ネットワーク回線
７、８  ケーブル（視覚センサ用）
９  ハンド
１０  ケーブル（ハンド−ロボットコントローラ用）
１２  ケーブル（ロボットド用）
２０、２００  ワーク
２１  所定箇所（特徴部）
２１ａ  特徴部２１の代表点
２２  検出予定でない特徴部（丸穴）
２２ａ  特徴部２２の中心
２３〜２７  視線
３０  第１の所定箇所（特徴部）
３１  第１の所定箇所（特徴部）の代表点
４０  第２の所定箇所（特徴部）
４１  第２の所定箇所（特徴部）の代表点
５０  特徴部（検出・計測対象外）
２０１〜２０３、２０６〜２１３  視野
２０４  適正な移動経路
２０５  不適正な移動経路
【図１】
2005251086.tif 000003
【図２】
2005251086.tif 000004
【図３】
2005251086.tif 000005
【図４】
2005251086.tif 000006
【図５】
2005251086.tif 000007
【図６】
2005251086.tif 000008
【図７】
2005251086.tif 000009