(57)【特許請求の範囲】
【請求項１】
撮像装置によりワークを撮像してワークの位置を検出する物体認識装置において、
前記撮像装置から出力された２次元のグレーレベル画像データを記憶するグレーデータ記憶手段と、
前記グレーデータ記憶手段に記憶された２次元のグレーレベル画像データを所定の直線方向に沿ってスキャンし、ワークを判別する第１スキャン手段と、
第１スキャン手段によって判別された前記ワークの位置より、前記スキャンした直線方向と交差する方向にスキャンし、判別されたワークの端部を検出する第２スキャン手段と、
前記第２スキャン手段によって検出されたワークの端部に基づいて最も長い
ワークを検出するワーク位置出力手段と、
前記ワーク検出手段によって検出された最も長いワークを取り出すワーク取り出し手段と、
を備える物体認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、撮像装置によりワークを撮像してワークの位置を検出する物体認識装置に関し、特に、ロボットにワークを自動的に把持させるのに好適に用い得る物体認識装置に関するものである。
【０００２】
【従来の技術】
従来、物体をＣＣＤカメラ等で撮像して、物体の画像データを入力し、濃淡レベルを所定のしきい値を基準として２値化することにより物体の画像を単純化し、その２値化された画像から対象物体を認識する装置が知られている。この種の装置として、本出願人は、特公平６−７２７７０号を提案している。
【０００３】
シャフトを２値化画像処理しロボットにより把持させる場合について、図７を参照して説明する。図７（Ａ）は、搬送ケースに収容されたシャフトＷ１〜Ｗ６を示している。図中に示すように、シャフトＷ２は、シャフトＷ１、Ｗ３、Ｗ４、Ｗ５、Ｗ６の下に有り、また、シャフトＷ３は、シャフトＷ４の下にある。ここで、ロボットにシャフト等のワークを順次取り出させる場合には、最上段にあるものから取り出す必要がある。ここでは、シャフトＷ１、Ｗ４、Ｗ５、Ｗ６のいずれかを先ず取り出す。これは、他のシャフトの下段にあるＷ２又はＷ３を取り出そうとすると、上側のシャフトと干渉して取り出せないからである。
【０００４】
図７（Ｂ）及び図７（Ｃ）は、図７（Ａ）に示すシャフトＷ１〜Ｗ６を２値化処理した結果を示している。ここで、図７（Ｂ）は、適切に２値化処理できた場合を示している。最上段にあるシャフトＷ１、Ｗ４、Ｗ５、Ｗ６は、１本の連続した線として認識され、他のシャフトの下側にあるシャフトＷ２、Ｗ３は、断続する線として認識される。従来は、２値化処理のしきい値を調整することで、シャフトＷ２、Ｗ３に対して、上側にあるシャフトの陰となる部分を断続させていた。
【０００５】
【発明が解決しようとする課題】
一方、図７（Ｃ）は、２値化処理が適正に行えなかった場合を示している。
ここでは、シャフトを収容する搬送ケースの底面の明るさ、照明の変化、シャフトに付いた汚れ等の影響により、下側のシャフトＷ２、Ｗ３に対して、上側にあるシャフトの陰となる部分が断続したり、しなかったりしている。即ち、シャフトＷ１とシャフトＷ２の接触部分で線が交差し、同様に、シャフトＷ３とシャフトＷ４、又、シャフトＷ４とシャフトＷ２で交差しているため、最上段にあるシャフトを認識できなくなっている。この結果、シャフトをロボットが取り出すことができなくなっている。また、従来は、全体の画像データを処理しているため、処理に時間がかかっていた。
【０００７】
また、請求項１の発明は、上述した課題を解決するためになされたものであり、その目的とするところは、ワークを適正に検出できる物体認識装置を提供することにある。
【０００９】
【課題を解決するための手段】
請求項１の発明は、撮像装置によりワークを撮像してワークの位置を検出する物体認識装置において、
前記撮像装置から出力された２次元のグレーレベル画像データを記憶するグレーデータ記憶手段と、
前記グレーデータ記憶手段に記憶された２次元のグレーレベル画像データを所定の直線方向に沿ってスキャンし、ワークを判別する第１スキャン手段と、
第１スキャン手段によって判別された前記ワークの位置より、前記スキャンした直線方向と交差する方向にスキャンし、判別されたワークの端部を検出する第２スキャン手段と、
前記第２スキャン手段によって検出されたワークの端部に基づいて最も長い
ワークを検出するワーク位置出力手段と、
前記ワーク検出手段によって検出された最も長いワークを取り出すワーク取り出し手段と、
を備えることを技術的特徴とする。
【００１１】
請求項１の発明では、グレーデータ記憶手段が、撮像装置から出力された２次元のグレーレベル画像データを記憶する。そして、第１スキャン手段が、グレーレベル画像データを所定の直線方向、例えは、縦方向にスキャンし、断面形状に対応する明るさ（明度）によりワークを検出する。その後、第２スキャン手段が、検出したワークについて、該所定の直線方向と交差する方向、例えば、横方向にスキャンし、断面形状に対応する明るさ（明度）の連続性に基づき該ワークの端部を検出する。最後に、ワーク位置出力手段が、第２スキャン手段によって検出されたワークの端部に基づいて最も長いワーク、即ち、他のワークの下になっていないワークを検出し、ワーク取り出し手段が、ワーク検出手段によって検出された最も長いワークを取り出す。
先ず、所定の直線方向にスキャンを行い、ワークの存在（特徴部分）を検出し、該ワークが存在している位置から交差する方向にスキャン（特徴部分の追従）を行い、ワークの端部を検出する。ここでは、ワークの端部検出を局所的な特徴部分を追従して行っているため、画面全体の明るさの変化及び局所的な照明の変化が存在しても影響を受け難く、正しい認識が可能である。
【００１２】
【発明の実施の形態】
以下、本発明の第１実施形態に係る物体認識装置について図を参照して説明する。  図１は第１実施態様の物体認識装置２０の電気的な構成を示すブロック図である。物体認識装置２０は、搬送ケースＣに収容されたシャフトＷを撮像するＣＣＤカメラ２２と、該ＣＣＤカメラ２２にて撮像された画像信号を処理する画像処理装置２４とから成る。また、該物体認識装置２０には、図示しない光源が設けられ、光２６をシャフトＷへ照射するよう構成されている。
【００１３】
ロボット４０を制御するためのロボット制御装置３０は、上述した物体認識装置２０とインターフェイス３２を介して接続されたＣＰＵ３４と、ロボット位置制御情報のプログラム等を記憶したＲＯＭ３７と、教示データ等を記憶するＲＡＭ３６と、ロボット４０の各駆動軸を駆動するサーボモータを制御するサーボＣＰＵ３８とから成る。
他方、ロボット４０は、６軸多関節ロボットであり、アーム４２及びアーム４４等により位置及び姿勢を制御され、ハンド４６によりシャフトＷ等のワークを把持する。なお、ＣＣＤカメラ２２は、搬送ケ−スＣ上に固定しても良いし、ロボット４０に固定して、移動可能としてもよい。
【００１４】
引き続き、該物体認識装置２０による処理に付いて、図２〜図５を参照して説明する。  図２は、物体認識装置２０による処理を示すフローチャートであり、図３は、図１に示す搬送ケースＣの平面図及び断面図を示している。図４は、処理結果を示す図である。また、図５（Ａ）、図５（Ｂ）は、スキャン方向と明度との関係を示すグラフである。  物体認識装置２０は、先ず、搬送ケースＣ全体の２５６明度階調の画像データ（グレーレベルデータ）を入力し、このデータを図示しないメモリに保持する（Ｓ１０２）。次に、該搬送ケースＣの画像データを縦方向にスキャンする（Ｓ１０４）。ここでは、図３中の搬送ケースＣのＡ−Ａ線に沿ってスキャンし、該平面図の右側に示す明度のスキャンデータを得る。なお、参考のために該搬送ケースＣのＡ−Ａ断面図を、明度データの右側に示す。ここでは、シャフトＷ１、Ｗ３、Ｗ４、Ｗ５、Ｗ６の断面形状に対応する明度のスキャンデータを得る。
【００１５】
引き続き、スキャンしたグレーレベルデータ（明度データ）にピーク（頂点）が有るか否かにより、シャフト（ワーク）の有無を判断する（Ｓ１０６）。
頂点が無い場合には（Ｓ１０６がＮｏ）、ステップ１０８へ移行し、次の明度データを取得する。そして、スキャン方向の明度データを全て取得したかを判断し（Ｓ１１０）、全ての明度データを判断するまでは（Ｓ１１０がＮｏ）、ステップ１０６へ戻り、頂点の有無の判断を続ける。
【００１６】
開始点からスキャンを続け、図３に示すシャフトＷ１の点Ｐｃ−Ｐｄをスキャンした際に、図５（Ａ）に示すように明度の頂点Ｘ３が表れる。このように頂点があった際には（Ｓ１０６がＹｅｓ）、この頂点が実際にシャフト（ワーク）であるか否かを更に判断する。先ず、該頂点の高さＨ及び幅Ｌを検出する（Ｓ１１２）。ここで、高さＨとは、図５（Ａ）中に示す谷部Ｐｃ、Ｐｄから頂点Ｘ３までの高さ（明度差）を意味し、幅Ｌとは、半分の高さ（Ｈ／２）のスキャン方向の幅を指す。ここで、図５（Ｂ）に示すように、谷部Ｐｅと谷部Ｐｆとの高さ（明度）が異なる際には、高い方の谷部（ここでは、谷部Ｐｆ）からの明度差が高さＨの基準となる。
【００１７】
次に、ステップ１１４で、高さＨが所定のしきい値ＨＯ  以上であって、且つ、幅Ｌが所定のしきい値ＬＯ  以上かを判断する。ここで、高さＨがＨＯ  未満、或いは、幅ＬがＬＯ  未満の場合には（Ｓ１１４がＮｏ）、例えば、図５（Ａ）に示す頂点Ｘ１、Ｘ２については、ステップ１０８へ移行し、次のデータを取得する。他方、高さＨがＨＯ  、以上、且つ幅ＬがＬＯ  以上の場合には（Ｓ１１４がＹｅｓ）、シャフトを検出したとして、引き続き、該シャフトの端部を検出するための処理を開始する。なお、ここで、高さのしきい値Ｈ０  は、ロボットにて取り扱うワークの表面材質に合わせて（即ち、光の反射率）、また、スキャン幅のしきい値Ｌ０  は、ワークの幅に合わせて調整することで、種々のワークに対応させることが可能である。
【００１８】
先ず、ステップ１１６にて、スキャン方向（Ａ−Ａ）と交差する方向（垂直方向）へシャフト断面をトレースする。即ち、上述した画像データ（グレーレベルデータ）は、明度をマトリクス状に並べたものであるため、シャフト断面と同等の明度レベルを有する点を該マトリクス上にあらかじめ定められた幅（Ａ−Ａ方向）をもって、直線でなぞって行く。ここでは、図３に示すシャフトＷ１の点Ｐ０から右側の端部Ｐｂ１までトレースし、更に、左側の端部Ｐｂ２までトレースする。次に、両端（Ｐｂ１、Ｐｂ２）の座標とシャフトの太さ（幅）とをバッファに格納する（Ｓ１１８）。ここで、シャフトの幅とは、シャフトのフランジ部の径を意味する。
【００１９】
その後、カウンタの値をインクリメントし（Ｓ１２０）、シャフトＷ１の処理を終了して、ステップ１０６に戻り、次のシャフトに対する処理を開始する。図３に示すシャフトＷ３、Ｗ４、Ｗ５、Ｗ６に対して同様な処置を行うと、上述したステップ１１０の判断がＹｅｓとなって、ステップ１２２へ移行し、引き続き横方向へのスキャンを開始する。
【００２０】
先ず、ステップ１２２では、現在縦方向のスキャンを行ったかを判断する。ここでは、縦方向へのスキャンを行ったところなので（Ｓ１２２がＹｅｓ）、ステップ１２４へ進み、上述した搬送ケースＣの画像データを横方向へスキャンする。ここでは、図３中の搬送ケースＣのＢ−Ｂ線に沿ってスキャンし、該平面図の下側に示す明度のスキャンデータを得る。なお、参考のために該搬送ケースＣのＢ−Ｂ断面図を、明度データの下側に示す。ここでは、シャフトＷ４、Ｗ２の断面形状に対応する明度のスキャンデータを得る。
【００２１】
引き続き、スキャンＷ４及びＷ２に対して上述したと同様な処理を行い、スキャンＷ４及びＷ２の両端の座標とシャフトの太さ（幅）とをバッファに格納する（Ｓ１１８）。これにより、ステップ１１０がＹｅｓとなり、また、ステップ１２２の判断が横方向のスキャンの終了によりＮｏとなって、ステップ１２６へ移行する。
【００２２】
上述した処理の結果得られたシャフトの状態を図４を参照して説明する。
なお、上記処理により、図４に示すデータが得られるのでは無く、この図は、シャフトの端部位置及び端部太さを模式的に示している点に注意されたい。ここで、シャフトＷ４の下側にあるシャフトＷ３は、該シャフトＷ４にて切断されている。同様に、シャフトＷ２は、該シャフトの上側に有るシャフトＷ４、Ｗ５にて分断されている。このため、他のシャフトの下になっていないシャフト、即ち、最上段のシャフトＷ２、Ｗ４、Ｗ５、Ｗ６の長さが最長となっている。
【００２３】
このため、物体認識装置２０は、ステップ１２６において、最も長いシャフトＷ２、Ｗ４、Ｗ５、Ｗ６のフランジの位置（座標）と姿勢（シャフトの座標上の傾き）をロボット制御装置３０側に出力する。これに応じて、該ロボット制御装置３０は、ロボット４０を制御して、シャフトＷ２、Ｗ４、Ｗ５、Ｗ６のフランジを把持させ、搬送ケースＣから取り出して行く。
【００２４】
図６は、上述した実施態様の改変例に係るスキャンを示している。図３を参照して述べた例では、縦横１回スキャンを行ったが、図６（Ａ）に示すように縦を２回スキャンすることも、或いは、図６（Ｂ）に示すように縦、横２回ずつスキャンすることも可能である。同方向に複数回スキャンすることにより、図中に示すようにシャフトＷ７、シャフトＷ８が重なりあっているような時でも、適切にシャフトを検出することができる。
【００２５】
一方、図６（Ｃ）は、縦方向に１回のみスキャンする場合を示している。図６（Ｃ）中に示すようにシャフトの配列方向が、ほぼ横で統一されている時には、縦方向に１回スキャンすることで、全てのスキャンを適切に検出することができる。
【００２６】
なお、上述した実施態様においては、図２を参照して上述したように、先ずスキャンを行ってから、頂点があるかないかで、シャフトを検出し、その後、シャフトをスキャン方向と交差する方向にトレースを行った。この代わりに、スキャンを行っている最中にシャフトを検出した時点で、交差方向へのトレースを開始することもできる。また、上述した実施態様では、物体認識装置２０にてシャフトを検出する例を挙げたが、本発明の物体認識装置は、種々の物体の検出に用い得ることは言うまでも無い。
【００２８】
【発明の効果】
以上のように、本発明によれば、所定の直線方向にスキャンを行い、ワークの存在（特徴部分）を検出し、該ワークが存在している位置から交差する方向にスキャン（特徴部分の追従）を行い、ワークの端部を検出する。即ち、ワークの端部検出を局所的な特徴部分を追従して行っているため、画面全体の明るさの変化及び局所的な照明の変化、即ち、照明の変化、シャフトに付いた汚れ等の影響を受けず、正しく最上段のワークを検出することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施態様に係る物体認識装置の電気的な構成を示すブロック図である。
【図２】物体認識装置による処理を示すフローチャートであり、
【図３】図１に示す搬送ケースの平面及び断面を示す説明図である。
【図４】物体認識装置による処理結果を示す説明図である。
【図５】図５（Ａ）、図５（Ｂ）は、スキャン方向と明度との関係を示すグラフである。
【図６】図６（Ａ）、図６（Ｂ）、図６（Ｃ）は、第１実施態様の改変例に係る物体認識装置によるスキャンを示す説明図である。
【図７】図７（Ａ）は従来技術の画像処理装置により処理されるシャフトの平面図であり、図７（Ｂ）、図７（Ｃ）は、該画像処理装置による処理画面の説明図である。
【符号の説明】
２０  物体認識装置
２２  ＣＣＤカメラ
３０  ロボット制御装置
４０  ロボット
４２  ハンド
Ｗ  シャフト
Ｃ  搬送ケース
【図１】
0003550273.tif 000002
【図２】
0003550273.tif 000003
【図３】
0003550273.tif 000004
【図４】
0003550273.tif 000005
【図５】
0003550273.tif 000006
【図６】
0003550273.tif 000007
【図７】
0003550273.tif 000008