(57)【要約】【課題】２台の撮像装置によって撮像された対象物の画像から三角測量の原理を用いて対象物の位置を３次元的に計測する際に要する時間を短くする。【解決手段】視覚センサ１０は、２台の撮像装置１２ａ，１２ｂと画像処理装置２６とを備える。画像処理装置２６は、２台の撮像装置の各受像素子２２ａ，２２ｂから出力される画素データのうちから、予め教示された対象物の特徴情報に一致する画素データを抽出し、抽出された画素データの範囲内において一方の撮像装置から出力された画素データと他方の撮像装置から出力された画素データとの間で一致する画素データを検出することによって、２台の撮像装置において対象物の同一の微小部分が結像した受像素子を特定し、特定された受像素子の位置に基づき、三角測量の原理を用いて微小部分の３次元的な位置を算出する。【選択図】図１
2007205982.tif 000002
【特許請求の範囲】
【請求項１】
２台の撮像装置と画像処理装置とを備え、該２台の撮像装置によって撮像された対象物の画像から三角測量の原理を用いて対象物の位置を３次元的に計測する視覚センサにおいて、
前記画像処理装置が、前記２台の撮像装置の複数の受像素子の各々から出力される画素データのうちから、予め教示された対象物の特徴情報に一致する画素データを抽出し、抽出された画素データの範囲内において一方の撮像装置から出力された画素データと他方の撮像装置から出力された画素データとの間で一致する画素データを検出することによって、前記２台の撮像装置において前記対象物の同一の微小部分が結像した受像素子を特定し、特定された受像素子の位置に基づき、三角測量の原理を用いて前記微小部分の位置を算出することを特徴とする３次元視覚センサ。
【請求項２】
前記特徴情報は、前記対象物の色、形状及び輪郭に関する情報のうちの少なくとも一つである、請求項１に記載の３次元視覚センサ。
【請求項３】
前記画像処理装置は、前記撮像装置によって撮像された画像にエッジ検出処理又は線検出処理を施すことにより得られた線に属する画素に対応する受像素子から出力される画素データを特定し、特定された画素データの中から前記予め教示された対象物の特徴情報に一致する画素データを抽出する、請求項１に記載の３次元視覚センサ。
【請求項４】
前記画像処理装置は、前記撮像装置によって撮像された画像にパターンマッチング処理を施すことによって予め定められた対象物の特徴情報に一致する画像範囲を特定し、特定された画像範囲に属する画素に対応する受像素子から出力される画素データを抽出する、請求項１に記載の３次元視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三角測量の原理を用いて対象物の位置を３次元的に計測する３次元視覚センサに関する。
【背景技術】
【０００２】
工場の製造ラインにおける組み立て作業や加工作業等においては、作業の自動化又は省力化を図るために、ロボット等の自動機械と視覚センサとを組み合わせたシステムが利用されている。視覚センサには、単体の撮像装置で撮影された対象物の画像から主に対象物の２次元的な位置ずれを計測するものや、対象物の位置を３次元的に計測する３次元視覚センサが含まれる。３次元視覚センサとしては、スリット光やスポット光を対象物に投射して対象物面上に周辺よりも高輝度の光帯又は光点を形成し、これをＣＣＤカメラ等の撮像装置によって観測して三角測量の原理によって対象物の３次元計測を行うものや、２台の撮像装置を用いてスレテオ画像処理によって対象物の位置を３次元的に計測するものが知られている。
【０００３】
特許文献１は、ステレオ画像処理によって、すなわち２台の撮像装置を用いて得た二つの画像から三角測量によって、対象物の位置を３次元的に計測する３次元視覚センサの一例を示している。特許文献１に示されている３次元視覚センサでは、対象物を２台の撮像装置で撮像し、各撮像装置の受像素子について、当該撮像装置の予め定められた被写界深度に属するものが結像しているか否かを確認して、予め定められた被写界深度内に位置する対象物の微小部分の像が結像した受像素子からの画素データを検出し、一方の撮像装置から検出された画素データと他方の撮像装置から検出された画素データとの間で一致する画素データを検出する。そして、このようにして検出された一致する画素データが対象物の同一の微小部分が結像した受像素子から出力されたものであるとみなして、２台の撮像装置において対象物の同一の微小部分が結像した受像素子を特定し、特定された受像素子の位置に基づいて当該微小部分の位置を算出する。
【０００４】
【特許文献１】特公平５−７００８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の３次元視覚センサでは、各撮像装置の全ての受像素子について被写界深度内に位置するものが結像しているか否かを確認して、予め定められた被写界深度内に位置する対象物の微小部分の像が結像した受像素子からの画素データを検出した後に、被写界深度内の微小部分が結像した受像素子から出力された画素データ同士の間で一致するものを検出するので、全ての受像素子からの画素データについて所定の処理を行う必要があり、長い処理時間を要するという問題があった。
【０００６】
よって、本発明の目的は、上記従来技術に存する問題を解消して、２台の撮像装置によって撮像された画像から三角測量の原理を用いて対象物の位置を３次元的に計測する視覚センサにおいて、対象物の位置の計測に要する時間を短くすることにある。
【課題を解決するための手段】
【０００７】
本発明は、上記目的に鑑み、２台の撮像装置と画像処理装置とを備え、該２台の撮像装置によって撮像された対象物の画像から三角測量の原理を用いて対象物の位置を３次元的に計測する視覚センサにおいて、前記画像処理装置が、前記２台の撮像装置の複数の受像素子の各々から出力される画素データのうちから、予め教示された対象物の特徴情報に一致する画素データを抽出し、抽出された画素データの範囲内において一方の撮像装置から出力された画素データと他方の撮像装置から出力された画素データとの間で一致する画素データを検出することによって、前記２台の撮像装置において前記対象物の同一の微小部分が結像した受像素子を特定し、特定された受像素子の位置に基づき、三角測量の原理を用いて前記微小部分の位置を算出するようにした３次元視覚センサを提供する。
【０００８】
本発明の３次元視覚センサでは、撮像装置によって撮像された画像の全ての画素に対応する受像素子から出力される画素データの中から予め教示された対象物の特徴情報に一致する画素データを抽出し、抽出された画素データの範囲内において一方の撮像装置から出力された画素データと他方の撮像装置から出力された画素データとの間で一致する画素データを検出する。したがって、限定された受像素子から出力された画素データの範囲内で、一致する画素データを特定するので、一方の撮像装置の全ての受像素子から出力される画素データを他方の撮像装置の全ての画素から出力される画素データと一致するか否かを判断する必要がない。この結果、二つの撮像装置のうちの一方の各受像素子と他方の撮像装置の各受像素子との間で対象物の同一の微小部分が結像した受像素子を特定するための処理に要する時間が大幅に短縮され得る。
【０００９】
例えば、前記特徴情報は、前記対象物の色、形状及び輪郭に関する情報のうちの少なくとも一つである。
【００１０】
前記画像処理装置は、前記撮像装置によって撮像された画像にエッジ検出処理又は線検出処理を施すことにより得られた線に属する画素に対応する受像素子から出力される画素データを特定し、特定された画素データの中から前記予め教示された対象物の特徴情報に一致する画素データを抽出することができる。また、前記画像処理装置は、前記撮像装置によって撮像された画像にパターンマッチング処理を施すことによって予め定められた対象物の特徴情報に一致する画像範囲を特定し、特定された画像範囲に属する画素に対応する受像素子から出力される画素データを抽出してもよい。
【発明の効果】
【００１１】
本発明の３次元視覚センサによれば、２台の撮像装置のうちの一方の撮像装置の各受像素子と他方の撮像装置の各受像素子との間で対象物の同一の微小部分が結像した受像素子を特定するための処理に要する時間が大幅に短縮され得るので、対象物の位置の３次元的計測に要する時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の好ましい実施形態を説明する。
図１は本発明の３次元視覚センサの全体構成を示す模式図、図２はレンズとＣＣＤの配置を示す線図、図３は三角測量の原理を用いた対象物の位置の計測方法を説明するための説明図である。
【００１３】
図１を参照すると、本発明の３次元視覚センサ１０は、二つの撮像装置１２ａ，１２ｂを備える。本実施形態では、撮像装置１２ａ，１２ｂとして、ＣＣＤカメラが使用されている。撮像装置１２ａは、レンズ１４ａと、レンズ１４ａから所定距離だけ離れた位置に配置される受像装置１６ａと、レンズ１４ａと受像装置１６ａとの間に配置される絞り１８ａとを備える。同様に、撮像装置１２ｂは、レンズ１４ｂと、レンズ１４ｂから所定距離だけ離れた位置に配置される受像装置１６ｂと、レンズ１４ｂと受像装置１６ｂとの間に配置される絞り１８ｂとを備える。２台の撮像装置１２ａ，１２ｂはその光軸１３ａ，１３ｂが互いと平行になるように配置されている。また、各撮像装置１２ａ，１２ｂにおいて、レンズ１４ａ，１４ｂはモータなどの１つのアクチュエータ２０によってその光軸方向に同時に同じ距離だけ移動できるようになっている。
【００１４】
受像装置１６ａ，１６ｂは、撮像装置１２ａ，１２ｂによって取得される画像の各画素に対応する複数の受像素子２２ａ，２２ｂから構成されており、ワーク（計測対象物）Ｗの像がレンズ１４ａ，１４ｂ及び絞り１８ａ，１８ｂを通った後に受像装置１６ａ，１６ｂの各受像素子２２ａ，２２ｂ上に結像し、各受像素子２２ａ，２２ｂがそこに結像した像の輝度（明るさ）及び色差（色情報）に関する情報を含む画素データを画素信号として出力するようになっている。すなわち、受像装置１６ａ，１６ｂの各受像素子２２ａ，２２ｂから出力される画素データは、受像素子２２ａ，２２ｂ上に結像しているワークＷの各微小部分２４の像に対応している。なお、本実施形態では、受像装置１６ａ，１６ｂは電荷結合素子（ＣＣＤ）である。
【００１５】
３次元視覚センサ１０は、さらに、２台の撮像装置１２ａ，１２ｂから得られる画像を処理してワークＷ（正確には、その特定の微小部分２４）の位置を算出するための画像処理装置２６を備える。画像処理装置２６は、マイクロプロセッサからなる中央演算処理装置２８と、様々なデータを一時的に記憶するためのＲＡＭメモリ３０と、一つの画面に関する情報を記憶するためのフレームメモリ３２ａ，３２ｂと、フレームメモリ３２ａ，３２ｂに記憶された画像情報に所定の画像処理を施した結果の画像情報を記憶するための補助メモリ３４ａ，３４ｂと、入出力コントローラ３６と、フレームメモリ３２ａ，３２ｂにそれぞれ接続されたＡ／Ｄコンバータ３８ａ，３８ｂとを含む。
【００１６】
ＲＡＭメモリ３０、フレームメモリ３２ａ，３２ｂ、補助メモリ３４ａ，３４ｂ、入出力コントローラ３６は、バス４０を介して中央演算処理装置２８に接続されている。また、入出力コントローラ３６には、絞り１８ａ，１８ｂとアクチュエータ２０とが接続されており、中央演算処理装置２８からの指令に従って絞り１８ａ，１８ｂ及びアクチュエータ２０の動作を制御し、ワークＷの所望の微小部分２４にピントが合うようにできるようになっている。詳細には、絞り１８ａ，１８ｂを拡縮することによってピントが合う空間の範囲である被写界深度４２の幅を変化させることができ、アクチュエータ２０でレンズ１４ａ，１４ｂと受像素子２２ａ，２２ｂとの相対距離を変化させることによって、ピント位置すなわち被写界深度４２の位置を変化させることができる。したがって、絞り１８ａ，１８ｂ及びレンズ１４ａ，１４ｂの位置を調整することにより、ワークＷの特定の部分の像が受像素子上に結像するようにできる。
【００１７】
次に、図２及び図３を参照して、図１に示されている３次元視覚センサ１０を用いて所望の微小部分２４の位置を３次元的に計測する手順を説明する。
以下の説明において、図２に示されているように、レンズ１４ａの中心Ｏ１を通り且つ光軸１３ａに沿って延びる軸線をＺ軸、レンズ１４ａの中心Ｏ１とレンズ１４ｂの中心Ｏ２とを結ぶ直線に沿って延びる軸線をＸ軸、レンズ１４ａの中心Ｏ１を通り且つＸ軸及びＺ軸に垂直に延びる軸線をＹ軸とする３次元直交座標系で各点の座標を表すものとする。
【００１８】
最初に、中央演算処理装置２８から入出力コントローラ３６に発せられた指令に従って、二つの撮像装置１２ａ，１２ｂの絞り１８ａ，１８ｂを小さくし、ピントがあっている空間の範囲である被写界深度４２を広くする。そして、ワークＷを撮像装置１２ａ，１２ｂで撮像する。受像装置１６ａ，１６ｂの複数の受像素子２２ａ、２２ｂから出力された複数の画素データ（アナログデータ）からなる画像データは、Ａ／Ｄコンバータ３８ａ，３８ｂによりディジタルデータに変換され、各撮像装置１２ａ，１２ｂに対応する別々のフレームメモリ３２ａ，３２ｂに記憶される。なお、撮像装置１２ａ，１２ｂによる撮像の際には、各受像素子２２ａ，２２ｂから出力される画素信号を適切な大きさにするために、撮像装置１２ａ，１２ｂのシャッタースピードを調整する。詳細には、シャッタースピードを最小の時間から順次増加させていき、受像素子２２ａ，２２ｂから出力される全ての画素信号の大きさが所定の範囲に入ったときに、適切なシャッタースピードと判断して、そのときに各受像素子２２ａ，２２ｂから出力された複数の画素データからなる画像データをフレームメモリ３２ａ，３２ｂに記憶する。
【００１９】
次に、二つのフレームメモリ３２ａ，３２ｂに記憶された画像データは、ＲＡＭメモリ３０に出力され、ＲＡＭメモリ３０に記憶された画像データは中央演算処理装置２８によって画像処理を施され、画像データを構成する複数の画素データの中から、撮像装置１２ａ，１２ｂの被写界深度４２内に位置する微小部分２４の像に対応し且つ予め教示されたワークＷの微小部分２４の特徴情報に一致する画素データが抽出される。予め教示されるワークＷの微小部分２４の特徴情報は、例えば、位置の計測が所望されるワークＷの微小部分２４の色、輪郭又は形状に関するものである。
【００２０】
例えば、位置の計測を所望されるワークＷの微小部分２４について輪郭に関する情報が予め教示されている場合、次のようにして画像処理を行えばよい。まず、ＲＡＭメモリ３０に記憶される画像データにエッジ検出処理や線検出処理を施して、画像データを構成する複数の画素データの中からワークＷ又はその微小部分の輪郭を表す線部分を構成する画素に対応する画素データ群を抽出する。そして、当該線部分に対応する画素データ群の中から、予め教示された微小部分２４の輪郭に関する特徴情報（例えば計測されるべき微小部分が所定の色であること又は輪郭曲線の曲率が極大となる点であることなど）に合致する画素データ群をさらに抽出する。抽出された線部分に対応する画素データ群を各撮像装置１２ａ，１２ｂに対応する補助メモリ３４ａ，３４ｂに記憶する。次に、フレームメモリ３２ａ，３２ｂに記憶される画像データに基づいて、抽出された画素データ群の各画素データに対応する画素を検出する。以下では、この検出された画素を検出画素と呼称する。
【００２１】
各撮像装置１２ａ，１２ｂによって撮像された画像について、検出画素が一つずつ存在する場合には、それぞれの検出画素に対応する受像素子２２ａ，２２ｂにワークＷの同じ微小部分が結像していると判断する。
【００２２】
一方、各撮像装置１２ａ，１２ｂによって撮像された画像について、検出画素が複数存在する場合には、検出画素を一つに絞るために、以下の処理を行う。まず、中央演算処理装置２８から入出力コントローラ３６に発せられた指令に従って二つの撮像装置１２ａ，１２ｂの絞り１８ａ，１８ｂを大きくすることによって、撮像装置１２ａ，１２ｂの被写界深度４２を狭くし、ワークＷを撮像装置１２ａ，１２ｂで撮像する。次に、フレームメモリ３２に記憶された画像データを構成する複数の画素データに基づき、複数ある検出画素に対応する受像素子２２ａ，２２ｂから出力された画素データとそれに隣接する受像素子２２ａ，２２ｂから出力された画素データとの差（コントラストデータ）をＲＡＭメモリ３０に記憶する。さらに、中央演算処理装置２８から入出力コントローラ３６に発せられた指令に従ってアクチュエータ２０を作動させてレンズ１４ａ，１４ｂを移動させた後にワークＷの撮像を行い、同様に複数ある検出画素に対応する受像素子２２ａ，２２ｂから出力された画素データとそれに隣接する受像素子２２ａ，２２ｂから出力された画素データとの差（コントラストデータ）をＲＡＭメモリ３０に記憶する。レンズ１４ａ，１４ｂを移動させることにより被写界深度４２の位置を変えて、各レンズ位置において同じ処理を繰り返す。
【００２３】
例えば、レンズ１４ａ，１４ｂの位置が１０段階で変更でき、一つのレンズ位置につき検出画素に対応する受像素子２２ａ，２２ｂとその周囲の画素に対応する受像素子２２ａ，２２ｂとの差（コントラストデータ）を１０個求める場合、１００個のデータがＲＡＭメモリ３０に記憶されることになる。次に、これらのデータの中から最大となるものが、ピントの合っている画素の位置、すなわち一つの被写界深度４２内に位置する微小部分が結像している受像素子２２ａ，２２ｂの位置を表すことになる。この画素を被写界画素と呼称する。例えば、第５のレンズ位置においてＲＡＭメモリ３０に記憶された画素データの差に最大値が含まれている場合、被写界画素に対応する受像素子２２ａ，２２ｂに結像する微小部分が第５のレンズ位置に対応する被写界深度４２内に位置することになる。
【００２４】
同じレンズ位置、すなわち同じ被写界深度４２において、撮像装置１２ａから得られた画像に基づいて検出された被写界画素と撮像装置１２ｂから得られた画像に基づいて検出された被写界画素とが一つずつである場合には、二つの被写界画素に対応する受像素子にワークＷの同じ微小部分が結像していると判断する。
【００２５】
一方、同じ被写界深度４２において、撮像装置１２ａから得られた画像に基づいて検出された被写界画素又は撮像装置１２ｂから得られた画像に基づいて検出された被写界画素が複数存在する場合、例えば計測すべき微小部分の色や明暗に関する特徴情報など、検出画素を特定する特徴情報をさらに付加して、検出画素又は被写界画素が一つに絞られるまで、以上の処理を繰り返す。予め教示された特徴情報に微小部分の色や明暗に関する情報を含めておいてもよいことはもちろんである。
【００２６】
各撮像装置１２ａ，１２ｂから得られた画像において、検出画素又は被写界画素が一つに絞られたなら、三角測量の原理に基づいて、検出画素又は被写界画素に対応する受像素子に結像する微小部分の位置を３次元的に計測する。
【００２７】
このように、本発明の３次元視覚センサによれば、各撮像装置１２ａ，１２ｂから得た複数の画素データの中から、予め教示されたワークＷの特徴部分の特徴情報に一致する画素データを抽出し、抽出された画素データの範囲内で、一方の撮像装置１２ａから得た画素データと他方の撮像装置１２ｂから得た画素データとの間で一致する画素データを検出している。したがって、各撮像装置１２ａ，１２ｂから得られた全ての画素データの範囲で一致する画素データを検索する必要がなくなる。この結果、一致する画素データを検出するための処理に要する時間を大幅に短縮することが可能となり、ワークＷの位置の計測に要する時間も大幅に短縮され得る。
【００２８】
上記実施形態では、撮像装置１２ａ，１２ｂから得た画像にエッジ検出処理又は線検出処理を施すことによって得られた線に属する画素に対応する受像素子２２ａ，２２ｂから出力される画素データを特定して、特定された画素データの中から、予め教示された特徴情報に一致する画素データを抽出し、抽出された画素データの範囲内で、一方の撮像装置１２ａから得た画素データと他方の撮像装置１２ｂから得た画素データとの間で一致する画素データを検出している。しかしながら、各撮像装置１２ａ，１２ｂから得た画像データにパターンマッチング処理を施すことによって、予め定められた対象物の特徴情報に一致する画像範囲を特定して、特定された画像範囲に属する画素に対応する受像素子から出力される画素データを抽出し、一致する画素データの検索範囲を限定するようにしてもよい。また、計測が所望される微小部分の形状によっては、エッジ検出処理や線検出処理に代えて円検出処理を用いることも可能である。
【００２９】
ここで、図３を参照して、三角測量の原理に基づく、微小部分の位置の計測方法について説明する。以下では、レンズ１４ａの中心Ｏ１から受像装置１６ａの検出画素までのＸ軸方向の距離をＸ１、レンズ１４ａの中心Ｏ１から受像装置１６ａの検出画素までのＹ軸方向の距離をＹ１、レンズ１４ｂの中心Ｏ２から受像装置１６ｂの検出画素までのＸ軸方向の距離をＸ２、レンズ１４ｂの中心Ｏ２から受像装置１６ｂの検出画素までのＹ軸方向の距離をＹ２、レンズ１４ａの中心Ｏ１とレンズ１４ｂの中心Ｏ２の間の距離をＷ、レンズ１４ａ，１４ｂの中心Ｏ１，Ｏ２から受像装置１６ａ，１６ｂまでの距離をＱとする。
【００３０】
図３から分かるように、撮像装置１２ａにおいて、相似則より、Ｑ：Ｘ１＝ｚ：ｘ、Ｑ：Ｙ１＝ｚ：ｙとなり、次式が求められる。
Ｘ１・ｚ＝Ｑ・ｘ    （１−１）
Ｙ１・ｚ＝Ｑ・ｙ    （１−２）
同様に、撮像装置１２ｂにおいて、相似則より、Ｑ：Ｘ２＝ｚ：（Ｗ＋ｘ）、Ｑ：Ｙ２＝ｚ：ｙとなり、次式が求められる。
Ｘ２・ｚ＝Ｑ・（Ｗ＋ｘ）    （２−１）
Ｙ２・ｚ＝Ｑ・ｙ    （２−２）
また、Ｙ１とＹ２との間には、次式の関係がある。
Ｙ１＝Ｙ２    （３）
式（１−１）、式（１−２）、式（２−１）、式（２−２）及び式（３）を解くと、（ｘ，ｙ，ｚ）＝（Ｘ１・Ｗ／（Ｘ２−Ｘ１），Ｙ１・Ｗ／（Ｘ２−Ｘ１），Ｑ・Ｗ／（Ｘ２−Ｘ１））が得られる。
【００３１】
二つのレンズ１４ａ，１４ｂ間の距離Ｗは一定で既知であり、レンズ１４ａ，１４ｂと受像装置１６ａ，１６ｂとの距離はレンズ１４ａ，１４ｂの移動距離から検出することができるので、検出画素又は被写界画素に対応する受像素子２２ａ，２２ｂの位置を特定することができれば、ワークＷの所望の微小部分の位置を計測することが可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の３次元視覚センサの全体構成を示す模式図である。
【図２】レンズとＣＣＤの配置を示す線図である。
【図３】三角測量の原理を用いた対象物の位置の計測方法を説明するための説明図である。
【符号の説明】
【００３３】
１０    ３次元視覚センサ
１２ａ，１２ｂ    撮像装置
２２ａ，２２ｂ    受像素子
２４    微小部分
２６    画像処理装置
Ｗ    ワーク
【図１】
2007205982.tif 000003
【図２】
2007205982.tif 000004
【図３】
2007205982.tif 000005