(57)【特許請求の範囲】
【請求項１】
露光調整機能を有すると共に、基準ワークを含む複数のワークを撮像して画像データを取得する撮像装置と、
前記画像データを記憶する記憶部と、
前記複数のワークの中から１つのワークを選定し、前記選定したワークに対応する選定領域を設定し、前記画像データから前記選定領域に関する輝度ヒストグラムを生成し、前記選定領域に関する輝度ヒストグラムが、前記画像データに含まれる前記基準ワークに対応する基準領域に関する輝度ヒストグラムに近づくように前記選定領域における露光条件を算出し、前記撮像装置により前記露光条件で前記選定領域を再撮像して部分画像データを取得させ、前記部分画像データに基づき前記選定したワークの位置を検出する制御部と、を備えた、
ことを特徴とするワーク位置検出装置。
【請求項２】
前記記憶部は、前記基準ワークの形状データを記憶しており、
前記制御部は、前記基準ワークの形状データと前記部分画像データとにより前記選定したワークの位置を検出する、
ことを特徴とする請求項１記載のワーク位置検出装置。
【請求項３】
前記制御部は、前記画像データに含まれる前記基準ワークの画像から前記基準ワークの形状データを取得して、前記記憶部に記憶させる、
ことを特徴とする請求項２記載のワーク位置検出装置。
【請求項４】
前記請求項１ないし３のいずれか１項記載のワーク位置検出装置と、
前記ワーク位置検出装置により検出したワークの位置に基づき、そのワークを把持するように制御されるロボットアームと、を備えた、
ことを特徴とするロボットシステム。
【請求項５】
制御部が、露光調整機能を有する撮像装置に指令して、基準ワークを含む複数のワークを撮像して画像データを取得する画像データ取得工程と、
前記制御部が、記憶部に前記画像データを記憶させる記憶工程と、
前記制御部が、前記複数のワークの中から１つのワークを選定する選定工程と、
前記制御部が、前記選定したワークに対応する選定領域を設定する選定領域設定工程と、
前記制御部が、前記画像データから前記選定領域に関する輝度ヒストグラムを生成し、前記選定領域に関する輝度ヒストグラムが、前記画像データに含まれる前記基準ワークに対応する基準領域に関する輝度ヒストグラムに近づくように前記選定領域における露光条件を算出する露光条件算出工程と、
前記制御部が、前記撮像装置に指令して、前記露光条件で前記選定領域を再撮像して部分画像データを取得する部分画像データ取得工程と、
前記制御部が、前記部分画像データに基づき前記選定したワークの位置を検出する位置検出工程と、を備えた、
ことを特徴とするワーク位置検出方法。
【請求項６】
前記請求項５に記載のワーク位置検出方法の各工程を、コンピュータに実行させるためのワーク位置検出プログラム。
【請求項７】
前記請求項６に記載のワーク位置検出プログラムを記録したコンピュータで読み込み可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置により撮像した画像データからワークの位置を検出するワーク位置検出装置、及びワーク位置検出方法に関する。
【背景技術】
【０００２】
従来、事務機器などを生産する工場においては、複数のワーク（部品）が通い箱と呼ばれる流通用の箱に入れられた状態で部品製造元から生産ラインに送られている。通い箱の中に入れられたワークは、通常ワーク毎に区画された領域に配置されている。しかしながら各ワークは通い箱には固定されていないため、各ワークは配置された領域内で動き、位置や姿勢が一意に定まっていない。そのため撮像装置によって撮像（撮影）した画像データから各ワークの位置や姿勢を認識し、その結果を使って作業ロボットにより通い箱から順次ワークを取りだすことが行われている。
【０００３】
撮像装置により撮像した画像データから通い箱内の各ワークの位置を高精度に認識するためには、各ワークの輪郭情報を正確に捉えなければならない。しかし、通い箱内の複数のワークに対して均一に光を照射することは難しい。画像データのうち、明るすぎる部分や暗すぎる部分では、その部分にあるワークの輪郭情報が正確に得られない。そのため、ワークの位置（ワークの位置に基づくワークの姿勢も含む）を正確に認識できない虞もある。
【０００４】
このような問題に対し、明暗の差を解消した良好な画像データを得る撮影方法が提案されている（特許文献１参照）。この特許文献１の撮影方法では、被写体と背景に着目した露光及び重み付けを加味した画像処理により、逆光や過順光等のように高コントラスト状態になる照明条件でも良好な画像データを得ることを可能としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４６００６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の撮影方法で、明るすぎる部分や暗すぎる部分を含む全てのワークの位置を検出するための画像データを得ようとすると、全領域の撮影を３回以上行う必要がある。すなわち、最初に通常露光条件で、次に被写体抽出用露光条件で、最後に背景抽出露光条件で全領域の撮影が必要となる。このため、撮影時間や３回以上の画像の合成処理の時間などを考慮すると、ワークの位置を検出までの時間が長時間になるという問題がある。
【０００７】
また、上記特許文献１に記載の撮影方法では、全体的に画像データのコントラストが良好になるように画像の合成処理を行うため、局所的には改善されていないことがあった。局所的にコントラストが改善されていないと、その部分にあるワークの位置を正確に検出できないという問題がある。
【０００８】
そこで本発明は、短時間でかつワークの位置を正確に検出することが可能なワーク位置検出装置、及びワーク位置検出方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明に係るワーク位置検出装置は、露光調整機能を有すると共に、基準ワークを含む複数のワークを撮像して画像データを取得する撮像装置と、前記画像データを記憶する記憶部と、前記複数のワークの中から１つのワークを選定し、前記選定したワークに対応する選定領域を設定し、前記画像データから前記選定領域に関する輝度ヒストグラムを生成し、前記選定領域に関する輝度ヒストグラムが、前記画像データに含まれる前記基準ワークに対応する基準領域に関する輝度ヒストグラムに近づくように前記選定領域における露光条件を算出し、前記撮像装置により前記露光条件で前記選定領域を再撮像して部分画像データを取得させ、前記部分画像データに基づき前記選定したワークの位置を検出する制御部と、を備えたことを特徴とする。
【００１０】
本発明に係るワーク位置検出方法は、制御部が、露光調整機能を有する撮像装置に指令して、基準ワークを含む複数のワークを撮像して画像データを取得する画像データ取得工程と、前記制御部が、記憶部に前記画像データを記憶させる記憶工程と、前記制御部が、前記複数のワークの中から１つのワークを選定する選定工程と、前記制御部が、前記選定したワークに対応する選定領域を設定する選定領域設定工程と、前記制御部が、前記画像データから前記選定領域に関する輝度ヒストグラムを生成し、前記選定領域に関する輝度ヒストグラムが、前記画像データに含まれる前記基準ワークに対応する基準領域に関する輝度ヒストグラムに近づくように前記選定領域における露光条件を算出する露光条件算出工程と、前記制御部が、前記撮像装置に指令して、前記露光条件で前記選定領域を再撮像して部分画像データを取得する部分画像データ取得工程と、前記制御部が、前記部分画像データに基づき前記選定したワークの位置を検出する位置検出工程と、を備えたことを特徴とする。
【発明の効果】
【００１１】
本発明によると、例えば明るすぎる部分や暗すぎる部分にあるワークの位置を、複数のワークの画像データと選定領域の部分画像データとの取得だけ、つまり２回の撮像だけで検出できる。このため、撮像時間や画像の合成処理の時間などを短縮することができ、短時間でワークの位置を検出することができる。また、選定したワークに対応する選定領域の部分画像データを、基準領域に輝度ヒストグラムに近づく露光条件で取得するので、局所的にコントラストの改善が図れ、その部分にあるワークの位置を正確に検出できる。これにより、ワークの位置検出を、高速化でき、かつ照明条件などの外部環境変化にロバストに対応できる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に係るロボットシステムを示す概略図。
【図２】制御コンピュータを示すブロック図。
【図３】基準領域の事前設定制御を示すフローチャート。
【図４】ワーク位置検出制御を示すフローチャート。
【図５】全域の画像データを示す図。
【図６】二値化処理及びラベリング処理を説明する図で、（ａ）は処理前の図、（ｂ）は処理後の図。
【図７】各領域設定を説明する図で、（ａ）は全域の画像データを示す図、（ｂ）は選定領域を示す図。
【図８】再撮像データを示す図。
【図９】各領域の輝度ヒストグラムを示す図で、（ａ）は基準領域の輝度ヒストグラム、（ｂ）は全域の画像データにおける選定領域の輝度ヒストグラム、（ｃ）は再撮像した選定領域の輝度ヒストグラム。
【発明を実施するための形態】
【００１３】
以下、本発明に係る実施の形態を図１乃至図９に沿って説明する。まず、本実施の形態に係るロボットシステム５０について図１及び図２に沿って説明する。
【００１４】
図１に示すように、本発明に係るロボットシステム５０は、通い箱９の内部に区画されて収納された複数のワーク８を１本ずつ把持して取り出し、製造ラインの後工程に供給するロボットアーム７を備えている。ロボットアーム７の上方には、通い箱９を照明する照明装置６が配置されている。照明装置６は、ロボットアーム７が通い箱９からワーク８を取り出す動作が必要となるため、通い箱９から距離を離して設置することが求められる。そのため、通い箱９の全域に均一な照明条件を作りだすことを困難にしている。
【００１５】
照明装置６の上方或いは照明装置６に並設して配置され、かつ通い箱９を撮影する際にその照明装置６が邪魔にならない位置に、ワーク位置検出装置１の撮像装置としてのカメラ５が設置されている。その際、照明装置６はカメラ５の視野内に入らないように設置される。ワーク位置検出装置１は、大まかに、露光調整機能を有するカメラ５と、詳しくは後述する制御部１０２、記憶部１０３、通信部１１６などを有する制御コンピュータ１０と、を互いに接続された状態で備えている。制御コンピュータ１０は、ロボット制御部２０に接続されており、詳しくは後述するようにカメラ５の画像データから検出したワーク８の位置データを送信する。ロボット制御部２０は、受信したワーク８の位置データに基づきロボットアーム７を駆動制御し、ワーク８を把持して取り出す。
【００１６】
上記制御コンピュータ１０は、図２に示すように、制御部１０２、記憶部１０３、及び通信部１１６を有しており、上記カメラ５が接続されて構成されている。詳しくは、制御コンピュータ１０は、ＣＰＵ１０２ａを主体として、画像処理装置１０２ｂ、音声処理装置１０２ｃを有して上記制御部１０２を構成している。このＣＰＵ１０２ａには、上記画像処理装置１０２ｂ、音声処理装置１０２ｃの他に、ＲＯＭ１０３ａ及びＲＡＭ１０３ｂがバス１１１を介して接続されている。ＲＯＭ１０３ａには、コンピュータの基本制御に必要なプログラムが格納されていると共に、後述するワーク位置検出制御の各工程を実行させるための各種プログラムやワーク８の形状データ等のデータが格納されている。各種プログラムとしては、例えばヒストグラムを算出して生成するプログラム、二値化処理するプログラム、二値化画像にラベリング処理するプログラム、選定領域を設定するプログラム、露光条件を演算するプログラムなどが含まれる。更に選定領域の部分画像データを再撮像して取得するプログラム、ワークの位置を検出するプログラムなども含まれる。本実施の形態では、これら各種プログラムを総称してワーク位置検出プログラムという。ＲＡＭ１０３ｂには、ＣＰＵ１０２ａに対する作業領域が確保されており、カメラ５により撮像した画像データを一時的に記憶し得る。
【００１７】
画像処理装置１０２ｂは、ＣＰＵ１０２ａからの描画指示に応じてディスプレイ１０７を制御して、その画面上の所定の画像を表示させる。音声処理装置１０２ｃは、ＣＰＵ１０２ａからの発音指示に応じた音声信号生成してスピーカ１０９に出力する。ＣＰＵ１０２ａには、バス１１１に接続されたインターフェース１０６ｃを介して、入力装置１０６としてのキーボード１０６ａ及びマウス１０６ｂが接続されており、ワーク位置検出に必要な指定情報、或いはその他の指示の入力を可能としている。
【００１８】
また、バス１１１には、カメラ５が接続されていると共に、記録メディア読取装置１１７が接続されている。そのため、該記録メディア読取装置１１７によってプログラムなどを記録した記録媒体１１０を読み込み、例えばＲＯＭ１０３ａやＲＡＭ１０３ｂに格納できるようになっている。なお、上述した記憶部１０３は、主記憶装置であるＲＯＭ１０３ａ及びＲＡＭ１０３ｂの他に、外部記憶装置などを備えて構成されていてもよい。
【００１９】
そして、バス１１１には、通信部１１６が接続されており、通信部１１６は、上述したロボット制御部２０（図１参照）に検出したワーク８の位置データを送信し得る。なお、通信部１１６は、ネットワーク等で他のロボットに接続されたロボット制御部にも接続されていてもよい。この場合、制御コンピュータ１０は、複数のロボットに動作指令を送出する上位コンピュータとなって、各ロボット制御部はこの上位コンピュータの指令に基づき動作する下位コンピュータとなり得る。また、通信部１１６をインターネットなどに接続し、プログラムのダウンロード等を行うようにしてもよい。
【００２０】
なお、本実施の形態では、カメラ５と制御コンピュータ１０とを分けて構成したものを説明しているが、カメラ５と一体に構成されたコンピュータを備えて、ワーク位置検出装置１としてもよい。
【００２１】
ついで、以上のように構成されたワーク位置検出装置１によるワーク位置検出制御について説明する。まず、ワーク位置検出制御の事前準備（サブ制御）としての事前設定制御について図３に沿って説明する。
【００２２】
図３に示すように、本事前設定制御では、まず、画像処理装置１０２ｂにてディスプレイ１０７に表示された通い箱９全域の画像に対して、マウス１０６ｂを用いて矩形領域を描画する。矩形領域は通い箱９内の１つのワーク８の全域を覆うように描画する（Ｓ２１）。これは、領域内のワーク８の輪郭情報を他のワーク８を探す際の見本となる基準ワークとして登録するために用いるものである。マスターパターン領域の設定例を図７（ａ）に示す。図７（ａ）では通い箱９の中心部をマスターパターン領域ＡｒｅａＭＰとして設定している。マスターパターン領域ＡｒｅａＭＰを通い箱９の中心部に設定することで、通い箱９の外周付近と比較してワーク８に均一に照明が当たるため、ワーク８の輪郭情報を正確に捉えることができる。ディスプレイ１０７に表示されている、カメラ５で撮影された画像は、ＲＡＭ１０３ｂにおいて複数の画素情報によって構成されている。画素情報は０から２５５の数値データで構成されており、白いほど数値が高く、黒いほど低くなる。この数値データを輝度値と呼ぶ。
【００２３】
次に、設定した時のマスターパターン領域ＡｒｅａＭＰ内の輝度の平均値を事前輝度平均値として制御部１０２にて算出し、記憶部１０３にその値を記憶しておく（Ｓ２２）。
【００２４】
続いて、カメラ５の露光量を変化させた場合のマスターパターン領域ＡｒｅａＭＰの輝度ヒストグラムを複数作成し、露光量を変化させた場合の輝度ヒストグラムの分布変化を制御部１０２にて演算する。そして、制御部１０２により、露光量を変化させた場合の輝度ヒストグラムの分布変化から、後述する選定領域の露光条件を求めるための露光調整量演算パラメータを決定する（Ｓ２３）。言い換えると、この露光調整量演算パラメータに基づいて、明るすぎる部分や暗すぎる部分を撮影する際の露光条件を演算し、この露光条件で撮像することで、適度な露光状態の画像データを得ることができる。
【００２５】
次に、本実施の形態のメイン制御であるワーク位置検出制御について図４に沿って説明する。本制御を開始すると、まず、カメラ５がその視野に通い箱９全体を含んでいるため、カメラ５内の撮像素子情報を全て取りこむことで通い箱９全域の画像データを読み込む（Ｓ１）（画像データ取得工程）。撮像素子全域で読み込んだ画像例を図５に示す。図５における格子１つ１つが画素を表し、全域ＡｒｅａＡＬＬが画素全体を表しており、画像原点Ｏから直交座標を構成するｘ方向とｙ方向とに画素が並んでいる。この座標（ｘ，ｙ）は、各ワーク８の位置情報、ロボットアームの位置制御情報等の座標系として用いることができる。読み込んだ全域の撮像素子情報（全域の画像データ）は、上述したマスターパターン領域の基準ワークを含む全てのワーク８（複数のワーク）を撮像した画像データであり、上記記憶部１０３の例えばＲＡＭ１０３ｂに記憶される（記憶工程）。なお、図５内の通い箱９内の各格子に入っている黒い塊は、図１においてロボットアーム７により取り出されているワーク８を上面から見た形状を表している。図５内のワーク８の濃淡は照明の当たり方を表しており、中心付近ほど均一かつ明るく、周囲にいくにつれて不均一かつ暗くなる様子を示している。
【００２６】
ついで、制御部１０２は、通い箱９の入れ替え直後であるか否かを判定する（Ｓ２）。入れ替え直後でなければ（Ｓ２のＮｏ）、後述するマスターパターンの更新等の作業が不要であるので、ステップＳ６に進む。通い箱９の入れ替え直後である場合は（Ｓ２のＹｅｓ）、次のステップＳ３に進む。
【００２７】
ステップＳ３に進むと、事前設定制御（図３参照）によって規定されたマスターパターン領域ＡｒｅａＭＰにあるワーク８を他のワーク検出のための見本となる基準ワークとして、その輪郭情報（基準ワークの形状データ）を制御部１０２にて抽出する。抽出した情報は記憶部１０３に記憶させる。このステップＳ３のマスターパターン更新処理は、通い箱９の入れ替え直後に一度だけ行う。
【００２８】
次にステップＳ１で取得した全域の画像データにおいて、事前設定制御（図３参照）で規定したマスターパターン領域ＡｒｅａＭＰ内の輝度ヒストグラムを制御部１０２にて算出する（Ｓ４）。
【００２９】
次に、事前設定制御（図３参照）により設定時に記憶した事前輝度平均値と、今回の画像データから得たマスターパターン領域ＡｒｅａＭＰ内の輝度平均値とを比較し、それらの輝度平均値の差異が規定値以上であるか否かを判定する（Ｓ５）。ここでは一例として規定値を１０として以下を説明する。なお、規定値の値は割合や編差等によって変更してもよい。
【００３０】
上記ステップＳ５において、事前の輝度平均値と今回の輝度平均値との差異が１０以上である場合（Ｓ５のＹｅｓ）、ステップＳ１６に進む。ステップＳ１６では、事前設定制御で記憶した事前輝度平均値に近づくように（１０未満になるように）カメラ５の露光量を調整し、再度全域の撮像素子情報（画像データ）を取り直す。これにより照明装置２の時間経過による輝度低下へも対応することが可能となりロバスト性が向上する。またステップＳ３でマスターパターンを通い箱９の入れ替えごとに更新すれば、ワーク８のロット差の影響を少なくしたり、ワーク８の形状が変更しても対応できる効果も見込める。
【００３１】
上記ステップＳ５において、事前の輝度平均値と今回の輝度平均値との差異が１０未満であると判定された場合は、ステップＳ６に進む。ここでは、ステップＳ３にて登録したマスターパターンの輪郭情報を用いて、全域の撮像素子情報におけるワーク８の有無の演算を制御部１０２により開始する。まず、ステップＳ６では、取得した撮像素子情報（画像データ）の全域を二値化処理する。なお、通い箱９の色をワーク８の色とコントラスト差を生じやすいものにしておくことで、二値化のような簡易な画像処理アルゴリズムのみでワーク８の有無を判別することが可能となる。
【００３２】
二値化前後の画像変化を図６に示す。本実施形態ではワーク８が黒色に近い部材だったため、通い箱９側を白色に近い色の部材にすることでコントラスト差が大きくなる。そこで、中間値を閾値とする二値化処理により、二値化前の画像である図６（ａ）は、二値化後の画像である図６（ｂ）に示すように、ワーク８を黒い塊として抽出できる。次にステップＳ６の二値化画像に対して、黒い部分が連続した画素に同じ番号を割り振るラベリング処理を行う（Ｓ７）。同じ番号を振られた塊をラベルと呼ぶ。図６（ｂ）の「８１」〜「８２５」がラベル化されたワーク８を表す。
【００３３】
次に、ステップＳ７においてラベル化された各ワーク８の塊ごとに図５における画像原点Ｏから見た重心位置の座標を算出する（Ｓ８）。算出した座標によってラベルの優先順位を決定する（Ｓ９）。ここでは優先順位として図５における画像原点Ｏからの距離が遠いほど優先的に取り出しを行うものとする。従って、１回目の取り出し作業では、図７（ａ）に示す通い箱９の右下のワーク８が選定される（選定工程）。
【００３４】
続いて、制御部１０２は、図７（ｂ）に示すように次回取り出し対象として選定されたラベルの外接矩形領域ＡｒｅａＣｉｒを算出し、それを規定分拡張させた矩形領域を選定領域ＡｒｅａＳＥＬとして設定する（Ｓ１０）。ここでは規定量を２０％としているが、ワーク８の大きさや通い箱９の大きさによって変更してもよい。具体的には、二値化画像のワーク８に外接する外接矩形領域ＡｒｅａＣｉｒが、ｘ方向に長さＬｘ及びｙ方向に長さＬｙを有しているとすると、選定領域ＡｒｅａＳＥＬは、ｘ方向に長さＬｘ×１．２及びｙ方向に長さＬｙ×１．２の領域を有していることになる。このようにステップＳ１０では、選定したワーク８に対する選定領域ＡｒｅａＳＥＬを設定する（選定領域設定工程）。
【００３５】
ついで、制御部１０２は、設定した選定領域ＡｒｅａＳＥＬ内の画素が持つ輝度値の分布から輝度ヒストグラムを算出する（Ｓ１１）。続けて、マスターパターン領域（基準領域）ＡｒｅａＭＰと選定領域ＡｒｅａＳＥＬとで算出した各々の輝度ヒストグラムの最頻出グレー値を求める。求めた各々の最頻出グレー値の差異に対して、事前設定制御（図３参照）で決定した露光調整量演算パラメータを掛け合わせることで、選定したワーク８の撮像に適した露光調整量を算出する（Ｓ１２）。つまり、選定領域ＡｒｅａＳＥＬに関する輝度ヒストグラムが、マスターパターン領域ＡｒｅａＭＰに関する輝度ヒストグラムに近づくように選定領域ＡｒｅａＳＥＬを再撮像するための露光条件を算出する（露光条件算出工程）。
【００３６】
即ち、図９（ａ）のマスターパターン領域ＡｒｅａＭＰは、輝度分布が両端に偏らないことで良好なコントラストで、高い分解能の画像が得られている。一方で、図９（ｂ）のように低輝度に偏った輝度分布の画像の場合、そのままワーク８の位置、姿勢を検出しようとしても一部が黒とびにより輪郭情報を損なっているため、どのような画像処理を行っても高精度に位置、姿勢情報を算出することは難しい。なお、反対に高輝度に偏った輝度分布の画像の場合、一部が白とびにより輪郭情報を損なうことになる。例えば選定領域ＡｒｅａＳＥＬが図９（ｂ）に示すように低輝度に偏った輝度分布の場合、検出対象が黒とびしている箇所が多い。そこで、図９（ａ）の輝度分布に近づけるため、上記算出した露光条件に基づきカメラ５による露光時間を増やすことによって図９（ｃ）のような良好な輝度分布に近づけることができる。
【００３７】
このように選定領域ＡｒｅａＳＥＬを再撮像するための露光条件を算出した後、選定領域ＡｒｅａＳＥＬに相当するカメラ５の撮像素子情報（部分画像データ）のみを、その算出した露光条件にて再撮像し、取得する（Ｓ１３）（部分画像データ取得工程）。この取得した部分画像データの一例を図８に示す。図８に示すように、カメラ５の視野である全域ＡｒｅａＡＬＬに対し、次に取りだすべきワーク８付近の選定領域ＡｒｅａＳＥＬの画像素子情報のみ取り込むことで、全体取り込みの時と比較し取り込み時間を大幅に短縮することができる。
【００３８】
そして、ステップＳ３で更新したマスターパターン情報を用いて、ステップＳ１３で取得した部分画像データから取り出すワーク８の位置（位置に基づく姿勢）を制御部１０２にて高精度に検出する（Ｓ１４）（位置検出工程）。
【００３９】
最後にステップＳ１４にて検出したワーク８の位置情報（及び姿勢情報）を通信部１１６からロボット制御部２０に送信することで（Ｓ１５）、ロボットアーム７によりワーク８を把持するように制御し、その取り出しを行うことができる。取り出し完了後は、再度図４のワーク位置検出制御を開始することで、同様の流れを経て残りのワーク８がロボットアーム７に取り出されることになる。以後、同様の流れを通い箱９内のワーク８がなくなるまで行った後、通い箱９を交換することになる。
【００４０】
以上のように本ワーク位置検出装置１によると、例えば明るすぎる部分や暗すぎる部分にあるワーク８の位置を、複数のワーク８の画像データと選定領域の部分画像データとの取得だけ、つまり２回の撮像だけで検出できる。このため、撮像時間や画像の合成処理の時間などを短縮することができ、短時間でワーク８の位置を検出することができる。また、選定したワーク８に対応する選定領域の部分画像データを、基準領域に輝度ヒストグラムに近づく露光条件で取得するので、局所的にコントラストの改善が図れ、その部分にあるワークの位置を正確に検出できる。これにより、ワークの位置検出を、高速化でき、かつ照明条件などの外部環境変化にロバストに対応できる。
【００４１】
また、制御部１０２は、マスターパターン（基準ワーク）の形状データ（輪郭情報）と部分画像データとにより選定したワーク８の位置を検出するので、部分画像データだけから輪郭情報を取得して位置検出する場合に比して高精度に位置検出することができる。
【００４２】
なお、以上説明した本実施の形態では、ワークの位置検出をロボットアームによる取り出し作業に利用しているが、単にワーク位置検出で終了する検査装置でもよい。また、ワーク位置検出を利用して、製造ラインで加工等の処理を施すようなことも考えられる。
【００４３】
また、本実施の形態では、複数のワークの中から１つのワークを選定する際に、二値化処理を行ってワークの有無を判定し、その重心座標に基づき１つのワークを選定しているものを説明した。しかし、これに限らず、例えばグレースケール等の他の画像処理を施してワークの有無を判定する手法、エッジ成分を取得して大まかに輪郭を取得してワークの有無を判定する手法など、どのような選定手法でも構わない。
【００４４】
また、カメラ５としては、露光調整機能を有していればよく、モノクロカメラでもカラーカメラであっても構わない。更に、カメラ５を２つ以上用いて、ステレオ撮像して三次元位置計測するようなものでも、本発明を応用して適用することが可能である。
【符号の説明】
【００４５】
１…ワーク位置検出装置：５…撮像装置（カメラ）：７…ロボットアーム：８…ワーク：５０…ロボットシステム：１０２…制御部：１０３…記憶部：ＡｒｅａＭＰ…基準領域（マスターパターン）：ＡｒｅａＳＥＬ…選定領域
【図１】
0006025400.tif 000002
【図２】
0006025400.tif 000003
【図３】
0006025400.tif 000004
【図４】
0006025400.tif 000005
【図５】
0006025400.tif 000006
【図６】
0006025400.tif 000007
【図７】
0006025400.tif 000008
【図８】
0006025400.tif 000009
【図９】
0006025400.tif 000010