(57)【要約】【課題】実機を用いてロボットの進入禁止領域を設定する際の画像データの処理を比較的簡単に済ませると共に、オペレータの操作も容易に済ませる。【解決手段】カメラのワークＷ全体が視野内に収まる第１の姿勢で第１の画像Ｉ１を撮像し、カメラをそれとは角度９０度程度異なる第２姿勢に移動させ、第２の画像Ｉ２を撮像する。表示装置８の画面に第１の画像Ｉ１を表示させ、オペレータはワークＷを内包した楕円形の第１の閉領域Ａ１を指定する。パソコン本体は、指定された第１の閉領Ａ１を第１の方向に延長した第１の投射空間Ｐ１を作業空間内に仮想的に算出する。表示装置８の画面に第２の画像Ｉ２及び第１の投射空間Ｐ１を投影した領域を表示させ、オペレータは、ワークＷを内包した部分を切取るように２本の直線Ｌ１，Ｌ２を指定する。パソコン本体は、直線Ｌ１、Ｌ２を延長した２つの平面で第１の投射空間Ｐ１を切断した仮想円柱Ｃを算出し、ロボットの進入禁止領域として設定する。【選択図】図１
2008254150.tif 000002
【特許請求の範囲】
【請求項１】
三次元座標系で定義されロボットの作業が実行される作業空間における、障害物の存在する領域を、前記ロボットの進入禁止領域として設定するロボットの教示装置であって、
前記作業空間内に配置された前記障害物全体が視野内に収まる第１の画像を、第１の位置及び第１の方向から撮像する第１の撮像手段と、
前記作業空間内に配置された前記障害物全体が視野内に収まる第２の画像を、前記第１の位置及び第１の方向とは相違する第２の位置及び第２の方向から撮像する第２の撮像手段と、
前記第１の画像及び第２の画像を画面上に表示可能な表示手段と、
前記第１の画像が表示された画面上の、前記障害物を内包した第１の閉領域を指定するための第１の指定手段と、
前記第１の閉領域を前記第１の方向に延長した第１の投射空間を前記作業空間内に仮想的に算出する第１の演算手段と、
前記第２の画像が表示された画面上の、前記障害物を内包した第２の閉領域を指定するための第２の指定手段と、
前記第２の閉領域を前記第２の方向に延長した第２の投射空間を前記作業空間内に仮想的に算出する第２の演算手段と、
前記作業空間内における前記第１の投射空間と第２の投射空間とが重なる重複領域を算出し、その重複領域を進入禁止領域として設定する設定手段とを具備することを特徴とするロボットの教示装置。
【請求項２】
前記ロボットを手動操作により自在に移動させるための遠隔操作手段を備えていると共に、前記第１及び第２の撮像手段は、前記ロボットの手先部に取付けられたカメラから構成されており、
前記遠隔操作手段の操作により、前記第１の位置及び第１の方向に移動されたカメラによって第１の画像が撮像され、次に、前記第２の位置及び第２の方向に移動されたカメラによって第２の画像が撮像されるように構成されていることを特徴とする請求項１記載のロボットの教示装置。
【請求項３】
前記第２の画像が表示された画面上には、前記第１の演算手段により算出された第１の投射空間を該第２の画像に投影した領域が併せて表示され、前記第２の指定手段により、その投影領域のうち前記障害物を内包した部分を切取るように２本の線を指定することによって、前記第２の閉領域がそれら２本の線と前記投影領域の外形線とで囲まれる領域に設定されるように構成されていることを特徴とする請求項１又は２記載のロボットの教示装置。
【請求項４】
前記第１及び第２の指定手段により指定される閉領域は、楕円又は四角形とされることを特徴とする請求項１ないし３のいずれかに記載のロボットの教示装置。
【請求項５】
三次元座標系で定義されロボットの作業が実行される作業空間における、障害物の存在する領域を、前記ロボットの進入禁止領域として設定するためのロボットの教示方法であって、
前記作業空間内に配置された前記障害物全体が視野内に収まる第１の画像を、撮像装置により第１の位置及び第１の方向から撮像する第１の撮像工程と、
前記作業空間内に配置された前記障害物全体が視野内に収まる第２の画像を、撮像装置により前記第１の位置及び第１の方向とは相違する第２の位置及び第２の方向から撮像する第２の撮像工程と、
表示装置の画面に前記第１の画像が表示された状態で、指定操作装置により当該画面上に前記障害物を内包した第１の閉領域を指定する第１の指定工程と、
前記第１の閉領域を前記第１の方向に延長した第１の投射空間を前記作業空間内に仮想的に算出する第１の演算工程と、
前記表示装置の画面に前記第２の画像が表示された状態で、前記指定操作装置により当該画面上に前記障害物を内包した第２の閉領域を指定する第２の指定工程と、
前記第２の閉領域を前記第２の方向に延長した第２の投射空間を前記作業空間内に仮想的に算出する第２の演算工程と、
前記作業空間内における前記第１の投射空間と第２の投射空間とが重なる重複領域を算出し、その重複領域を進入禁止領域として設定する設定工程とを実行することを特徴とするロボットの教示方法。
【請求項６】
前記ロボットの手先部に前記撮像装置としてのカメラが取付けられていると共に、該ロボットを手動操作により自在に移動させるための遠隔操作手段を備え、
前記第１の撮像工程は、前記遠隔操作手段の操作により、前記第１の位置及び第１の方向に前記カメラを移動させることにより実行され、前記第２の撮像工程は、前記遠隔操作手段の操作により、前記第２の位置及び第２の方向に前記カメラを移動させることにより実行されることを特徴とする請求項５記載のロボットの教示方法。
【請求項７】
前記第２の指定工程においては、前記第２の画像が表示された画面上に、前記第１の演算工程において算出された第１の投射空間を該第２の画像に投影した領域が併せて表示され、その投影領域のうち前記障害物を内包した部分を切取るように２本の線を指定することにより、前記第２の閉領域がそれら２本の線と前記投影領域の外形線とで囲まれた領域に設定されることを特徴とする請求項５又は６記載のロボットの教示方法。
【請求項８】
前記第１及び第２の指定工程において指定される閉領域は、楕円又は四角形とされることを特徴とする請求項５ないし７のいずれかに記載のロボットの教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元座標系で定義されロボットの作業が実行される作業空間における、障害物の存在する領域を、ロボットの進入禁止領域として設定するロボットの教示装置及び教示方法に関する。
【背景技術】
【０００２】
例えば部品の組付作業や検査作業等を行う産業用ロボットにあっては、実際の作業の前に、例えばティーチングペンダントを用いた遠隔手動操作により、ロボットの手先（ハンド等のツール）が移動する目標位置を教示（設定）する教示作業が行われる。また、その際、ロボットの作業空間における、ワークや治具、他の設備などの障害物が存在する空間を、ロボットの進入禁止領域として設定することが予め行われる。これにより、教示作業時のロボットの移動、及びその後の経路計算が、設定された進入禁止領域を回避する（障害物に干渉しない）ようにして行われる。
【０００３】
従来では、上記したロボットの進入禁止領域の設定方法として、第１に、ＣＡＤデータを用いてコンピュータ上で設定する方法が提案されている。しかし、この設定方法では、ＣＡＤデータが必要となると共に、ＣＡＤデータと実機との誤差により、ずれが生ずる虞があり、実用が難しい問題点があった。
【０００４】
また、ロボットの進入禁止領域の設定方法として、第２に、実機を用いて、実際の作業空間における障害物を、カメラなどのセンサにより三次元計測する方法も提案されている。このような三次元計測の具体的な方法として、ワークなどの計測対象物を、ステレオカメラ装置により異なる視点となる２箇所から撮影し、ステレオ視の原理を用いて三次元情報を得る方法が知られている（例えば特許文献１参照）。
【特許文献１】特許第３３４３６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したステレオカメラ装置を使用して対象物の三次元情報を得る方法にあっては、画像データ処理装置による画像データの処理が複雑で、演算量が膨大となる不具合がある。また、画像データの処理にあっては、画像データ中の対象物の頂点やエッジを検出し、２つの画像間で対応点を見つける必要があるが、オペレータが画像上の対応点を指定しなければならない等、オペレータに面倒な操作を強いるものとなっていた。このとき、対象物が比較的複雑な形状のものである場合や、カメラの撮像方向によっては、必要な頂点やエッジが隠れてしまうことがあり、１回（２箇所から）の撮像で必要な画像データが得られないケースが生ずる。
【０００６】
本発明は上記事情に鑑みてなされたもので、その目的は、実機における撮像に基づいて、ロボットの作業空間における障害物の存在する領域をロボットの進入禁止領域として設定することができ、その際の画像データの処理を比較的簡単に済ませることができ、しかも、オペレータの操作も容易に済ませることができるロボットの教示装置及び教示方法を提供するにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のロボットの教示装置は、ロボットの作業空間内に配置された障害物全体が視野内に収まる第１の画像を、第１の位置及び第１の方向から撮像する第１の撮像手段と、前記作業空間内に配置された前記障害物全体が視野内に収まる第２の画像を、前記第１の位置及び第１の方向とは相違する第２の位置及び第２の方向から撮像する第２の撮像手段と、前記第１の画像及び第２の画像を画面上に表示可能な表示手段と、前記第１の画像が表示された画面上の、前記障害物を内包した第１の閉領域を指定するための第１の指定手段と、前記第１の閉領域を前記第１の方向に延長した第１の投射空間を前記作業空間内に仮想的に算出する第１の演算手段と、前記第２の画像が表示された画面上の、前記障害物を内包した第２の閉領域を指定するための第２の指定手段と、前記第２の閉領域を前記第２の方向に延長した第２の投射空間を前記作業空間内に仮想的に算出する第２の演算手段と、前記作業空間内における前記第１の投射空間と第２の投射空間とが重なる重複領域を算出し、その重複領域を進入禁止領域として設定する設定手段とを具備するところに特徴を有する（請求項１の発明）。
【０００８】
また、本発明のロボットの教示方法は、ロボットの作業空間内に配置された障害物全体が視野内に収まる第１の画像を、撮像装置により第１の位置及び第１の方向から撮像する第１の撮像工程と、前記作業空間内に配置された前記障害物全体が視野内に収まる第２の画像を、撮像装置により前記第１の位置及び第１の方向とは相違する第２の位置及び第２の方向から撮像する第２の撮像工程と、表示装置の画面に前記第１の画像が表示された状態で、指定操作装置により当該画面上に前記障害物を内包した第１の閉領域を指定する第１の指定工程と、前記第１の閉領域を前記第１の方向に延長した第１の投射空間を前記作業空間内に仮想的に算出する第１の演算工程と、前記表示装置の画面に前記第２の画像が表示された状態で、前記指定操作装置により当該画面上に前記障害物を内包した第２の閉領域を指定する第２の指定工程と、前記第２の閉領域を前記第２の方向に延長した第２の投射空間を前記作業空間内に仮想的に算出する第２の演算工程と、前記作業空間内における前記第１の投射空間と第２の投射空間とが重なる重複領域を算出し、その重複領域を進入禁止領域として設定する設定工程とを実行するところに特徴を有する（請求項５の発明）。
【０００９】
ここで、障害物が存在する領域をロボットの進入禁止領域として設定する場合、ロボットに対し目標点を教示する場合のような厳密性は求められず、当該障害物の厳密な外形を求める必要はない。つまり、進入禁止領域がある程度大雑把に設定されていても、設定された範囲内に障害物全体が含まれていれば、ロボットによる作業を安全に行うことができ、進入禁止領域を設定することの所期の目的を達成することができる。むしろ、進入禁止領域を、実際の障害物が存在する空間よりも、やや広めの空間（障害物が包含される空間）に設定することにより、安全性は高まるということができる。
【００１０】
本発明によれば、障害物全体を撮像した第１の画像及び第２の画像から、基本的には、ステレオ視の原理により、三次元計測が行われるのであるが、オペレータによって、第１の画像が表示された画面上において第１の指定手段（第１の指定工程）により第１の閉領域が指定されると共に、第２の画像が表示された画面上において第２の指定手段（第２の指定工程）により第２の閉領域が指定される。それに伴い、第１の演算手段（第１の演算工程）により、第１の閉領域を第１の方向に延長した第１の投射空間が仮想的に算出されると共に、第２の演算手段（第２の演算工程）により、第２の閉領域を第２の方向に延長した第２の投射空間が仮想的に算出される。
【００１１】
そして、設定手段（設定工程）により、それら第１の投射空間と第２の投射空間との重複領域が求められる。このとき、第１の投射空間及び第２の投射空間は、共に、障害物全体を包含する空間であり、それらの重複領域は、作業空間中において２つの投射空間がクロスした空間であり且つそのクロス部分内に障害物全体が包含されているということができる。従って、この重複領域を進入禁止領域として設定することにより、実際の障害物が存在する空間よりもやや広めの空間が進入禁止領域として設定されることになり、ロボットが障害物に干渉することなく安全に作業を行うことができる。
【００１２】
この場合、オペレータは、２つの画像間における障害物の対応点の指示を行う必要はなく、また、障害物の形状が単純であるか複雑であるかに関係なく、障害物全体を囲むように閉領域を単に指定すれば良いので、操作が容易となり、撮像方向によって画像中の障害物の必要な頂点やエッジが隠れてしまうことに起因する不具合も生じない。しかも、画像中の障害物の頂点やエッジの検出を行う必要もなく、投射空間や重複領域を求めるだけで済むので、画像データの処理を比較的簡単に済ませることができる。
【００１３】
本発明においては、ロボットを手動操作により自在に移動させるための遠隔操作手段を設け、ロボットの手先部に取付けられたカメラから第１及び第２の撮像手段を構成し、遠隔操作手段の操作により、第１の位置及び第１の方向に移動されたカメラによって第１の画像が撮像され、次に、前記第２の位置及び第２の方向に移動されたカメラによって第２の画像が撮像されるように構成することができる（請求項２、請求項６の発明）。これによれば、撮像手段を１つのカメラで兼用することができると共に、ロボットの手先に取付けられたカメラを、任意の位置に移動させて第１の画像及び第２の画像を撮像することができる。
【００１４】
また、本発明においては、第２の画像が表示された画面上に、第１の演算手段（第１の演算工程）により算出された第１の投射空間を該第２の画像に投影した領域を併せて表示し、第２の指定手段（第２の指定工程）により、その投影領域のうち障害物を内包した部分を切取るように２本の線を指定することによって、第２の閉領域がそれら２本の線と投影領域の外形線とで囲まれる領域に設定されるように構成することができる（請求項３、請求項７の発明）。これによれば、第２の閉領域の指定をより容易に行うことができるようになり、重複領域の算出の処理もより簡単となる。
【００１５】
本発明においては、第１及び第２の指定手段（指定工程）により指定される閉領域を、楕円又は四角形とすることができる（請求項４、請求項８の発明）。これによれば、閉領域の指定の作業が容易となり、演算手段（演算工程）による投射空間の算出の処理も簡単となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を具体化した一実施例について、図面を参照しながら説明する。尚、この実施例は、例えば自動車用部品などのワークの部品の組付けが正しく行われているかどうか等を検査するための視覚検査用のロボットシステムに本発明を適用したものである。まず、図４は、本実施例におけるロボットシステムの外観構成を概略的に示している。
【００１７】
ここで、検査設備１は、例えば短いトンネル状をなし、その下部には搬送路２（搬送装置）が設けられ、検査対象物であるワークＷは、その搬送路２を送られて検査設備１の所定位置に停止され、その位置にて外観検査が行われるようになっている。前記検査設備１の天井部（架台）に、ロボット３が下向きに取付けられている。このロボット３は、例えば多関節（６軸）型のロボットアーム４を備え、そのロボットアーム４の先端部（手先部）に撮像手段として機能する例えばＣＣＤカメラ等のカメラ５が取付けられている。
【００１８】
このとき、前記ロボットアーム４（各軸のモータ）は、ロボットコントローラ６により、三次元の固有座標系（ロボット座標系）に基づいて動作制御され、前記カメラ５を任意の位置（位置及び向き（姿勢））に自在に移動させるようになっている。また、前記ロボットコントローラ６は、画像処理装置としての機能を内蔵し、前記カメラ５の撮像データの処理を行うようになっている。
【００１９】
前記ロボットコントローラ６は、検査プログラムの実行により、搬送路２上を送られて検査設備１の所定位置に停止されたワークＷに対し、予め教示された三次元的な位置や向きの異なる複数の目標点（検査点）に前記カメラ５を順に移動させながら撮影を行い、その撮影画像を処理することに基づいて、ワークＷの各部の外観検査（部品の組付けが正しく行われているかどうか等）を行うようになっている。このとき、上記複数の目標点（検査点）の位置データ（ロボット３の位置及び姿勢）は、予め教示（ティーチング）されて記憶されるようになっている。また、この教示時には、併せて、ロボット３の進入禁止領域も設定されるようになっている。
【００２０】
尚、前記カメラ５は、撮影時の光学的条件（視野の大きさ（焦点距離）、レンズのピント、絞り等）が自動調整されるようになっているが、後述する進入禁止領域の設定処理の実行時においては、それら条件が一定値に固定されるようになっている。また、このカメラ５の撮影画像のカメラ座標系と、上記ロボット座標系とのキャリブレーション（座標変換）がなされることは勿論である。
【００２１】
そして、上記のようなワークＷの外観検査を行うにあたり、複数の検査点の位置を教示（設定）すると共に、ロボット３の進入禁止領域を設定するための本実施例に係る教示装置について以下述べる。この教示装置は、図４に示すように、この場合、例えば汎用のパーソナルコンピュータシステムから構成され、前記ロボットコントローラ６に接続されたパソコン本体７に、表示装置８、並びに、キーボード９及びマウス１０からなる入力操作装置などを接続して構成されている。
【００２２】
詳しく図示はしないが、前記パソコン本体７は、ＣＰＵ、ＲＯＭ、ＲＡＭ、画像メモリ、前記キーボード９及びマウス１０からの入力を制御する入力制御部、前記表示装置８の表示を制御する表示制御部、外部からのデータの入出力を制御する入出力制御部等を備えて構成されている。前記ＲＯＭには、前記検査点を教示するための教示用プログラムや、進入禁止領域を設定するための進入禁止領域設定用プログラムなどが記憶されている。また、前記画像メモリには、後述するように、前記カメラ５が撮像した画像データが記憶されるようになっており、記憶手段として機能する。
【００２３】
パソコン本体７は、表示装置８の画面に、前記カメラ５の撮影画像（モニタ画像）を表示することが可能となっている。そして、本実施例では、オペレータＭが、キーボード９やマウス１０を操作することにより、前記ロボットコントローラ６を介してロボットアーム４を手動により遠隔操作することができるようになっており、これらキーボード９やマウス１０が遠隔操作手段として機能する。尚、前記ロボットコントローラ６には、図示しないティーチングペンダントが接続可能とされ、このティーチングペンダントを遠隔操作手段として用いる（単独使用或いは併用する）ことも可能である。
【００２４】
さて、パソコン本体７は、そのソフトウエア的構成（進入禁止領域設定用プログラムの実行）により、オペレータＭによるキーボード９やマウス１０の操作に基づき、本実施例に係る教示方法（各工程）を実行し、ロボット３の作業空間における障害物（この場合ワークＷ）の存在する領域を、ロボット３の進入禁止領域として設定するようになっている。この教示作業は、実際の検査設備１において、搬送路２の所定位置にワークＷが停止された状態で、ロボット３（カメラ５）を用いて行われる。
【００２５】
このとき、本実施例では、カメラ５が、第１及び第２の撮像手段として機能し、また、キーボード９又はマウス１０が、第１及び第２の指定手段として機能する。指定手段としては、タッチペン等のペン型のデバイスを採用することも可能であり、表示装置８の画面にタッチパネルなどを設けて、ダイレクトに指定する構成としても良い。尚、このロボット３の進入禁止領域の設定の処理は、検査点の教示の作業に先立って行われる。これにより、検査点の教示作業時に、ロボット３がワークＷに干渉することが防止される。さらに、検査点の教示後の軌道生成（計算）時にも、ロボット３が進入禁止領域に進入することのないように軌道が求められる。
【００２６】
具体的には、後の作用説明（フローチャート説明）でも述べるように、パソコン本体７は、進入禁止領域の設定の処理を、次のようにして実行する。即ち、まず、オペレータＭの操作により、カメラ５をワークＷ全体が視野内に収まる第１の位置及び第１の方向（これらをまとめて「第１の姿勢」と称する）に移動させ、第１の画像を撮像すること（第１の撮像工程）が行われる。次いで、カメラ５を前記第１の姿勢とは異なる第２の位置及び第２の方向（これらをまとめて「第２の姿勢」と称する）に移動させ、第２の画像を撮像すること（第２の撮像工程）が行われる。
【００２７】
この際、第１及び第２の姿勢の情報（ロボット座標系における位置及び方向のデータ）が、メモリ（ＲＡＭ）に記憶されると共に、撮像された２つの画像の画像データは、画像メモリに記憶される。尚、このとき、第１の方向と第２の方向とは、９０度程度の角度異なっていることが望ましい（図２参照）。
【００２８】
次に、図１にも示すように、表示装置８の画面に前記第１の画像を表示させ、その状態で、オペレータＭがキーボード９又はマウス１０を操作して当該画面上に前記ワークＷを内包した第１の閉領域を指定すること（第１の指定工程）が行われる。本実施例では、第１の閉領域は、例えば楕円形（真円を含む）とされる。すると、パソコン本体７は、指定された第１の閉領域を前記第１の方向に延長した第１の投射空間（第１の方向に延びる円筒状の空間）をロボット３の作業空間内に仮想的に算出する（第１の演算工程）。
【００２９】
引続き、表示装置８の画面に前記第２の画像を表示させ、その状態で、オペレータＭが、キーボード９又はマウス１０を操作して当該画面上に前記ワークＷを内包した第２の閉領域を指定すること（第２の指定工程）が行われる。このとき、本実施例では、第２の画像が表示された画面上に、上記第１の演算工程により算出された第１の投射空間を該第２の画像に投影した領域を併せて表示することが行われる。そして、第２の指定工程では、その投影領域のうちワークＷを内包した部分を切取るように２本の線（直線）を指定することによって、第２の閉領域がそれら２本の線と投影領域の外形線とで囲まれる領域（四角形の領域）に設定される。
【００３０】
第２の閉領域が指定されると、パソコン本体７は、指定された第２の閉領域を前記第２の方向に延長した第２の投射空間をロボット３の作業空間内に仮想的に算出する（第２の演算工程）と共に、作業空間内における前記第１の投射空間と第２の投射空間とが重なる重複領域を算出し、その重複領域を進入禁止領域として設定するようになっている（設定工程）。従って、本実施例では、パソコン本体７（ＣＰＵ）が、第１及び第２の演算手段、並びに、設定手段として機能するようになっている。
【００３１】
次に、上記構成の作用について、図１〜図３も参照して述べる。図３のフローチャートは、上記した進入禁止領域の設定の処理手順を示している。オペレータＭは、検査設備１において、搬送路２の所定位置（実際の作業位置）にワークＷを配置した状態で、進入禁止領域設定用プログラムを実行させる。進入禁止領域の設定の処理が開始されると、まず、ステップＳ１１にて、カメラ５とロボット３（ロボットアーム４）との位置関係のキャリブレーションが実行される。
【００３２】
ステップＳ１２〜Ｓ１８では、撮像工程が実行される。ここでは、カメラ５の撮影したモニタ画像が表示装置８の画面に表示され（ステップＳ１２）、オペレータＭが、そのモニタ画面を見ながら、キーボード９又はマウス１０を操作することにより（ステップ１Ｓ３）、操作に応じてカメラ５（ロボットアーム４）が移動される（ステップＳ１４）。オペレータＭは、ワークＷにできるだけ近づくようにカメラ５を移動させ、ワークＷ全体が視野内に（画面ほぼ一杯に）収まる第１の姿勢にカメラ５を移動させたところで、移動を停止させ、撮像操作を行うことにより（ステップＳ１５）、カメラ５による撮像動作が実行される（ステップＳ１６）。そして、その第１の画像Ｉ１（図１参照）の画像データが記憶されると共に、その撮像時のカメラ５の第１の位置及び第１の方向のデータが記憶される（ステップＳ１７）。
【００３３】
次のステップＳ１８では、２箇所について撮像動作が実行されたかどうかが判断される。未だ１箇所のみの撮像であれば（Ｎｏ）、ステップＳ１２に戻り、オペレータＭは、今度は、上記第１の姿勢とは異なる第２の姿勢にカメラ５を移動させ、上記と同様にワークＷ全体が視野内に（画面ほぼ一杯に）収まる第２の姿勢にて、カメラ５による撮像動作を実行させる（ステップＳ１２〜Ｓ１６）。これにより、第２の画像Ｉ２（図１参照）の画像データが記憶されると共に、その撮像時のカメラ５の第２の位置及び第２の方向のデータが記憶される（ステップＳ１７）。
【００３４】
このとき、図２にロボットアーム４とカメラ５とを模式的に示すように、ステレオ視の原理を用いて進入禁止領域を設定する（ワークＷの存在領域を求める）関係上、第１の姿勢における向き（第１の方向）と、第２の姿勢における向き（第２の方向）とが、角度４５度〜９０度程度、なかでも角度９０度程度異なっていることが望ましい。また、ワークＷまでの撮像距離もほぼ同等とすることが望ましい。図２では、第１の姿勢としてワークＷの斜め左方向から第１の画像Ｉ１を撮像し（実線）、その後、第２の姿勢として、角度がほぼ９０度異なるワークＷの斜め右方向から第２の画像Ｉ２を撮像する様子（破線）を示している。尚、図１及び図２では、便宜上ワークＷを立方体として図示している。
【００３５】
このようにして２箇所での撮像動作が完了すると（ステップＳ１８にてＹｅｓ）、ステップＳ１９〜Ｓ２５にて、指定工程及び演算工程、並びに設定工程が実行される。即ち、図１（ａ）にも示すように、まずステップＳ１９では、表示装置８の画面に、第１の画像Ｉ１を表示することが行われ、次のステップＳ２０では、オペレータＭが、その画面上で、前記ワークＷを内包した第１の閉領域Ａ１を指定することが行われる（第１の指定工程）。このとき、図１に示すように、第１の閉領域Ａ１はワークＷの画像を取囲む例えば楕円形状とされ、オペレータＭは、キーボード９又はマウス１０を操作して、例えば、中心点と長短の半径とを指定することにより、第１の閉領域Ａ１を簡単に指定することができる。
【００３６】
ステップＳ２１では、第１の閉領域Ａ１を第１の方向に延長した第１の投射空間Ｐ１をロボット３の作業空間内に仮想的に算出することが行われる（第１の演算工程）。この第１の投射空間Ｐ１は、カメラ５の第１の位置と第１の方向とから、カメラ５の撮像面（第１の方向に直交する映像プレーンＳ１）に描かれた第１の閉領域Ａ１を、第１の方向に延長することにより、作業空間内に定義される円筒状の空間として容易に算出される。また、その投射空間Ｐ１内に、前記ワークＷ全体が含まれることは勿論である。
【００３７】
次いで、ステップＳ２２では、表示装置８の画面に、第２の画像Ｉ２を表示することが行われるのであるが、ここでは、図１（ｂ）に示すように、上記ステップＳ２１で算出された第１の投射空間Ｐ１を、第２の画像Ｉ２に投影した領域が、第２の画像Ｉ２に重ねて表示される。この場合、第１の投射空間Ｐを投影した領域は、円筒状の空間の２本の外形線で表され、その２本の線の間に、ワークＷの画像が存在することになる。次のステップＳ２３では、オペレータＭが、その画面上で、前記ワークＷを内包した第２の閉領域Ａ２を指定することが行われる（第２の指定工程）。
【００３８】
本実施例では、この第２の閉領域Ａ２の指定は、図１（ｃ）に示すように、オペレータＭが、キーボード９又はマウス１０を操作して、第２の画像Ｉ２に重ねて表示された第１の投射空間Ｐの投影領域のうち、ワークＷを内包した部分を切取るように２本の線（直線Ｌ１、Ｌ２）を指定することによって行われ、第２の閉領域Ａ２は、それら２本の直線Ｌ１、Ｌ２と投影領域の外形線とで囲まれる四角形の領域に設定される。この場合、オペレータＭは、直線Ｌ１、Ｌ２の夫々の両端の点を指定すれば良く、第２の閉領域Ａ２を、簡単に指定することができる。
【００３９】
ステップＳ２４では、図１（ｄ）に示すように、指定された直線Ｌ１、Ｌ２を、カメラ５の撮像面（第２の方向に直交する映像プレーンＳ２）に対して垂直に延ばした２つの平面が算出され、その２つの平面で前記第１の投射空間Ｐ１を切断した円柱状の領域（仮想円柱Ｃ）が算出される。これにより、実質的には、第２の閉領域Ａ２を第２の方向に延長した第２の投射空間Ｐ２が作業空間に仮想的に算出され（第２の演算工程）、その第２の投射空間Ｐ２と前記第１の投射空間Ｐ１とが重なる重複領域が、仮想円筒Ｃとして算出されることになる。このとき、求められた仮想円筒Ｃは、ワークＷ全体が包含され、実際にワークＷが存在する空間よりもやや広めの空間とされている。
【００４０】
ステップＳ２５では、その仮想円筒Ｃの存在領域が、ロボット３の進入禁止領域として設定され（設定工程）、処理が終了される。尚、設定された進入禁止領域のデータは、ロボットコントローラ６に送信され、記憶される。障害物が複数ある場合には、次の障害物に対し上記した処理を繰返すようにすれば良い。この場合、障害物としては、ワークＷに限らず、ワーク等を保持するために必要となる治具や、作業空間内に固定的に配置される他の設備なども含まれることは勿論である。
【００４１】
これにて、その後の検査点の教示作業においては、ロボット３が進入禁止領域に進入しないようにしながら行われるので、ロボットアーム４やカメラ５がワークＷに干渉（接触）することを未然に防止することができる。さらに、検査点の教示後の軌道生成（計算）時にも、ロボット３が進入禁止領域に進入することのないように軌道が求められ、検査作業時にもロボット３がワークＷに干渉することが防止されるのである。
【００４２】
このように本実施例のロボットの教示装置及び教示方法によれば、実機（検査設備１）において、カメラ５によりワークＷ全体を撮像した第１の画像Ｉ１及び第２の画像Ｉ２から、基本的には、ステレオ視の原理による三次元計測に基づき、作業空間における障害物（ワークＷ）の存在する領域をロボット３の進入禁止領域として設定することができる。そして、パソコン本体７は、画像中の障害物の頂点やエッジの検出を行う必要もなく、投射空間Ｐ１，Ｐ２や重複領域（仮想円筒Ｃ）を求めるだけで済むので、画像データの処理を比較的簡単に済ませることができるものである。
【００４３】
このとき、オペレータＭが、２つの画像間における障害物の対応点の指示を行う必要はなく、オペレータＭは、単純にワークＷ全体を囲むように、第１の画像Ｉ１が表示された画面上において第１の閉領域Ａ１を指定し、第２の画像Ｉ２が表示された画面上において２直線Ｌ１，Ｌ２を指定するだけで済むので、操作が容易となる。またこのとき、ワークＷの形状が単純であるか複雑であるかに影響を受けることはなく、撮像方向によって画像中の障害物の必要な頂点やエッジが隠れてしまうことに起因する不具合も生じない。
【００４４】
特に本実施例においては、第１の閉領域Ａ１を楕円形状とし、さらに、２本の直線Ｌ１、Ｌ２により第２の閉領域Ａ２を指定するように構成したので、第２の閉領域Ａ２の指定をより容易に行うことができるようになり、重複領域の算出の処理もより簡単となる。更に、本実施例では、ロボット３（ロボットアーム４）に取付けられたカメラ５を、撮像手段として利用し、遠隔操作によりカメラ５を移動させて２つの画像を撮像するように構成したので、検査設備１に設置されているロボット３及びカメラ５をそのまま利用することができ、別途にカメラを設けるような場合と比較して、構成を簡単に済ませることができるものである。
【００４５】
尚、本発明は上記した実施例に限定されるものではなく、例えば、次のような拡張、変更が可能である。即ち、上記実施例では、ロボットアーム４の手先部に取付けられたカメラ５を撮像手段として利用したが、ロボットとは独立して設けられた１台或いは２台のカメラを撮像手段として用いることもできる。この場合、カメラは、固定であっても移動可能に設けても良く、ロボットの座標系とカメラの画像上の座標系とのキャリブレーションが適切になされることによって、上記実施例と同様に実施することができる。
【００４６】
上記実施例では、表示装置８の画面に第２の画像Ｉ２を表示する際に、第１の投射空間Ｐを第２の画像Ｉ２に投影した領域を併せて表示し、２本の直線Ｌ１、Ｌ２により第２の閉領域Ａ２の指定を行うように構成したが、第２の閉領域Ａ２に関しても、第１の閉領域Ａ１の指定と同様に、楕円を指定するように構成しても良い。この場合、第２の閉領域Ａ２を第２の方向に延長した円筒状の第２の投射空間Ｐ２が求められ、その後、重複領域を算出することにより、進入禁止領域が設定されることになる。
【００４７】
また、オペレータＭが指定する閉領域は、楕円形状に限らず、例えば四角形としても良い。四角形の閉領域の場合、オペレータＭは、画面上で４個の頂点を指定したり、長方形（正方形）の場合は中心点と一つの頂点とを指定したりすることにより、閉領域を指定することが可能である。閉領域を四角形とした場合でも、投射空間や重複領域の演算を比較的容易に行うことができる。
【００４８】
さらには、上記実施例では、ロボットコントローラ６にパソコンシステムを接続して、パソコン本体７によって、進入禁止領域設定の処理を実行させるように構成したが、パソコンシステムを、単に表示及び入力操作を行うための周辺機器として用い、ロボットコントローラ６側において、制御や演算を行う構成としても良い。また、パソコンシステムに代えて、表示装置を備えたティーチングペンダントを採用しても良く、パソコンシステムに加えて、ロボットを手動操作するためにティーチングペンダント（操作ペンダント）を用いても良いことは勿論である。
【００４９】
上記実施例では、ワークに対して２つの方向から夫々第１の画像及び第２の画像を撮像するよう構成したが、それに加えて、さらにそれらとは異なる方向及び位置から第３の画像さらにはそれ以上の画像を撮像し、それら画像をも考慮して進入禁止領域（重複領域）を設定するように構成しても良い。これによれば、進入禁止領域をより詳細に設定することが可能となる。その他、本発明は、視覚検査用のロボットシステムに限らず、組立作業用、塗装作業用など各種のロボットシステム全般に適用することができ、また、ロボット３（ロボットアーム４）の形状や構造などについても、種々の変形が可能であるなど、要旨を逸脱しない範囲内で適宜変更して実施し得るものである。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施例を示すもので、進入禁止領域の設定の工程を説明するための図
【図２】第１の姿勢及び第２の姿勢を説明するための図
【図３】進入禁止領域の設定の処理手順を示すフローチャート
【図４】ロボットのシステムの構成を概略的に示す斜視図
【符号の説明】
【００５１】
図面中、１は検査設備、３はロボット、４はロボットアーム、５はカメラ（撮像手段）、６はロボットコントローラ、７はパソコン本体（演算手段，設定手段）、８は表示装置（表示手段）、９はキーボード（指定手段）、１０はマウス（指定手段）、Ｗはワーク（障害物）を示す。
【図１】
2008254150.tif 000003
【図２】
2008254150.tif 000004
【図３】
2008254150.tif 000005
【図４】
2008254150.tif 000006