(57)【特許請求の範囲】
【請求項１】
載置場所に配置されているワークの形状を示すＣＡＤデータに基づいて、前記ワークの外形線を線画像で示す２次元のテンプレート画像を作成するテンプレート画像作成部と、
前記外形線の内部を所定の色で塗りつぶして、塗りつぶしテンプレート画像を作成するテンプレート画像塗りつぶし部と、
前記塗りつぶしテンプレート画像の各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記塗りつぶしテンプレート画像のエッジを検出して、テンプレートエッジ画像を生成するテンプレート画像エッジ検出部と、
前記載置場所に配置されているワークを撮影した２次元のワーク撮影画像データの各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記ワーク撮影画像データのエッジを検出して、ワーク撮影エッジ画像を生成するワーク撮影画像エッジ検出部と、
前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせるマッチング処理部と、
前記マッチング処理部による前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とのマッチングの結果に基づいて、前記載置場所に配置されている前記ワークの位置を決定するワーク位置決定部と、
を備えるワーク位置検出装置。
【請求項２】
前記塗りつぶしテンプレート画像を所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させるテンプレート画像拡大縮小・回転処理部をさらに備え、
前記テンプレート画像エッジ検出部は、前記塗りつぶしテンプレート画像の複数の大きさ及び複数の角度のそれぞれで、前記塗りつぶしテンプレート画像のエッジを検出して、複数のテンプレートエッジ画像を生成し、
前記マッチング処理部は、前記ワーク撮影エッジ画像に対する前記テンプレートエッジ画像の位置をずらしながら、前記複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせて、前記テンプレートエッジ画像の位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出し、
前記ワーク位置決定部は、前記マッチング処理部で算出された前記複数の組それぞれの類似度に基づいて、前記載置場所に配置されている前記ワークの位置を決定する
請求項１に記載のワーク位置検出装置。
【請求項３】
前記テンプレート画像エッジ検出部は、前記塗りつぶしテンプレート画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、
前記ワーク撮影画像エッジ検出部は、前記ワーク撮影エッジ画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、
前記マッチング処理部は、前記テンプレートエッジ画像のエッジ強度と前記ワーク撮影エッジ画像のエッジ強度とを比較して前記類似度を算出する
請求項２に記載のワーク位置検出装置。
【請求項４】
前記テンプレート画像塗りつぶし部は、前記外形線の内部を白で塗りつぶす請求項１〜３のいずれか１項に記載のワーク位置検出装置。
【請求項５】
載置場所に配置されているワークの形状を示すＣＡＤデータに基づいて、前記ワークの外形線を線画像で示す２次元のテンプレート画像を作成し、
前記外形線の内部を所定の色で塗りつぶして、塗りつぶしテンプレート画像を作成し、
前記塗りつぶしテンプレート画像の各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記塗りつぶしテンプレート画像のエッジを検出して、テンプレートエッジ画像を生成し、
前記載置場所に配置されているワークを撮影した２次元のワーク撮影画像データの各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記ワーク撮影画像データのエッジを検出して、ワーク撮影エッジ画像を生成し、
前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせ、
前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とのマッチングの結果に基づいて、前記載置場所に配置されている前記ワークの位置を決定する
ワーク位置検出方法。
【請求項６】
前記塗りつぶしテンプレート画像を所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させ、
前記塗りつぶしテンプレート画像の複数の大きさ及び複数の角度のそれぞれで、前記塗りつぶしテンプレート画像のエッジを検出して、複数のテンプレートエッジ画像を生成し、
前記ワーク撮影エッジ画像に対する前記テンプレートエッジ画像の位置をずらしながら、前記複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせて、前記テンプレートエッジ画像の位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出し、
算出された前記複数の組それぞれの類似度に基づいて、前記載置場所に配置されている前記ワークの位置を決定する
請求項５に記載のワーク位置検出方法。
【請求項７】
前記塗りつぶしテンプレート画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、
前記ワーク撮影エッジ画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、
前記テンプレートエッジ画像のエッジ強度と前記ワーク撮影エッジ画像のエッジ強度とを比較して前記類似度を算出する
請求項６に記載のワーク位置検出方法。
【請求項８】
前記外形線の内部を白で塗りつぶす請求項５〜７のいずれか１項に記載のワーク位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワーク位置検出装置及びワーク位置検出方法に関する。
【背景技術】
【０００２】
ベンディングマシン等の加工機で金属のワークを加工する際に、所定の載置場所に配置されているワークをワーク保持用ロボットで保持させて、加工機に搬入することがある。この場合、ワークが載置場所内のどこにどのような向きで配置されているかを検出する必要がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−３１９５２５号公報
【特許文献２】特開２０００−２８８９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ワークは、以下のようにして、載置場所内のどこにどのような向きで配置されているかを検出することができる。作業者は、予め、カメラによってワークを撮影してパターンマッチング用のテンプレート画像を作成する。載置場所に設置されているカメラは、載置場所に配置されているワークを撮影する。
【０００５】
画像演算処理装置は、テンプレート画像と載置場所に配置されているワークの撮影画像とを、正規化相互相関等の手法を用いてパターンマッチングさせる。これによって、画像処理装置は、ワークが載置場所内のどこにどのような向きで配置されているかを検出することができる。
【０００６】
作業者が、ワークを撮影してパターンマッチング用のテンプレート画像を作成するのは煩雑である。ワークの形状や材質が複数存在する場合には、それぞれのワークのテンプレート画像を作成しなければならない。しかも、照明等の環境が変化すると、環境の変化に応じてテンプレート画像を作成し直さなければならないこともある。
【０００７】
そこで、ワークの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークの位置を検出することが望まれる。
【０００８】
本発明は、ワークの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークの位置を検出することができるワーク位置検出装置及びワーク位置検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、載置場所に配置されているワークの形状を示すＣＡＤデータに基づいて、前記ワークの外形線を線画像で示す２次元のテンプレート画像を作成するテンプレート画像作成部と、
前記外形線の内部を所定の色で塗りつぶして、塗りつぶしテンプレート画像を作成するテンプレート画像塗りつぶし部と、前記塗りつぶしテンプレート画像の各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記塗りつぶしテンプレート画像のエッジを検出して、テンプレートエッジ画像を生成するテンプレート画像エッジ検出部と、前記載置場所に配置されているワークを撮影した２次元のワーク撮影画像データの各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記ワーク撮影画像データのエッジを検出して、ワーク撮影エッジ画像を生成するワーク撮影画像エッジ検出部と、前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせるマッチング処理部と、前記マッチング処理部による前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とのマッチングの結果に基づいて、前記載置場所に配置されている前記ワークの位置を決定するワーク位置決定部とを備えるワーク位置検出装置を提供する。
【００１０】
上記のワーク位置検出装置において、前記塗りつぶしテンプレート画像を所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させるテンプレート画像拡大縮小・回転処理部をさらに備え、前記テンプレート画像エッジ検出部は、前記塗りつぶしテンプレート画像の複数の大きさ及び複数の角度のそれぞれで、前記塗りつぶしテンプレート画像のエッジを検出して、複数のテンプレートエッジ画像を生成し、前記マッチング処理部は、前記ワーク撮影エッジ画像に対する前記テンプレートエッジ画像の位置をずらしながら、前記複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせて、前記テンプレートエッジ画像の位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出し、前記ワーク位置決定部は、前記マッチング処理部で算出された前記複数の組それぞれの類似度に基づいて、前記載置場所に配置されている前記ワークの位置を決定することが好ましい。
【００１１】
上記のワーク位置検出装置において、前記テンプレート画像エッジ検出部は、前記塗りつぶしテンプレート画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、前記ワーク撮影画像エッジ検出部は、前記ワーク撮影エッジ画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、前記マッチング処理部は、前記テンプレートエッジ画像のエッジ強度と前記ワーク撮影エッジ画像のエッジ強度とを比較して前記類似度を算出することが好ましい。
【００１２】
前記テンプレート画像塗りつぶし部は、前記外形線の内部を白で塗りつぶしてもよい。
【００１３】
本発明は、載置場所に配置されているワークの形状を示すＣＡＤデータに基づいて、前記ワークの外形線を線画像で示す２次元のテンプレート画像を作成し、前記外形線の内部を所定の色で塗りつぶして、塗りつぶしテンプレート画像を作成し、前記塗りつぶしテンプレート画像の各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記塗りつぶしテンプレート画像のエッジを検出して、テンプレートエッジ画像を生成し、前記載置場所に配置されているワークを撮影した２次元のワーク撮影画像データの各画素を注目画素として、前記注目画素と前記注目画素の周辺画素との複数の画素に対して、水平方向のエッジを検出するためのフィルタを用いたフィルタリングを行って水平方向のエッジを検出し、垂直方向のエッジを検出するためのフィルタを用いたフィルタリングを行って垂直方向のエッジを検出し、前記水平方向のエッジと前記垂直方向のエッジとを加算することによって前記ワーク撮影画像データのエッジを検出して、ワーク撮影エッジ画像を生成し、前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせ、前記テンプレートエッジ画像と前記ワーク撮影エッジ画像とのマッチングの結果に基づいて、前記載置場所に配置されている前記ワークの位置を決定するワーク位置検出方法を提供する。
【００１４】
上記のワーク位置検出方法において、前記塗りつぶしテンプレート画像を所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させ、前記塗りつぶしテンプレート画像の複数の大きさ及び複数の角度のそれぞれで、前記塗りつぶしテンプレート画像のエッジを検出して、複数のテンプレートエッジ画像を生成し、前記ワーク撮影エッジ画像に対する前記テンプレートエッジ画像の位置をずらしながら、前記複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせて、前記テンプレートエッジ画像の位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出し、算出された前記複数の組それぞれの類似度に基づいて、前記載置場所に配置されている前記ワークの位置を決定することが好ましい。
【００１５】
上記のワーク位置検出方法において、前記塗りつぶしテンプレート画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、前記ワーク撮影エッジ画像の各注目画素において得られた前記水平方向のエッジのエッジ強度と前記垂直方向のエッジのエッジ強度とを合成したエッジ強度を検出し、前記テンプレートエッジ画像のエッジ強度と前記ワーク撮影エッジ画像のエッジ強度とを比較して前記類似度を算出することが好ましい。
【００１６】
上記のワーク位置検出方法において、前記外形線の内部を白で塗りつぶしてもよい。
【発明の効果】
【００１７】
本発明のワーク位置検出装置及びワーク位置検出方法によれば、ワークの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークの位置を検出することができる。
【図面の簡単な説明】
【００１８】
【図１】加工システムの全体的な構成例を示す斜視図である。
【図２】加工システムで加工するワークの一例を示す斜視図である。
【図３】一実施形態のワーク位置検出装置及びワーク保持用ロボットの制御装置を含む加工システムの全体的な構成例を示すブロック図である。
【図４】図３の画像演算処理装置３及びロボット制御装置５の内部構成例を示すブロック図である。
【図５】一実施形態のワーク位置検出装置の動作及び一実施形態のワーク位置検出方法を説明するためのフローチャートである。
【図６】一実施形態のワーク位置検出装置及び方法で用いるテンプレート画像を示す図である。
【図７】一実施形態のワーク位置検出装置及び方法で用いる塗りつぶしテンプレート画像を示す図である。
【図８】一実施形態のワーク位置検出装置及び方法で用いるワーク撮影画像を示す図である。
【図９】塗りつぶしテンプレート画像及びワーク撮影画像のエッジを検出するために用いる係数行列の一例を示す図である。
【図１０】塗りつぶしテンプレート画像またはワーク撮影画像のエッジのエッジ強度を説明するための図である。
【図１１】テンプレート画像と塗りつぶしテンプレート画像のそれぞれをSobel変換した状態を比較するための図である。
【図１２】テンプレートエッジ画像とワーク撮影エッジ画像とのマッチング処理を説明するための概念図である。
【発明を実施するための形態】
【００１９】
以下、一実施形態のワーク位置検出装置及び方法、並びに、ワーク保持用ロボットの制御装置及び制御方法について、添付図面を参照して説明する。
【００２０】
まず、図１を用いて、載置場所に配置されているワークをワーク保持用ロボットで保持させて、加工機に搬入するように構成されている加工システムの全体的な構成例を説明する。図１に示す構成例において、加工機１０はベンディングマシンであり、ワーク保持用ロボット２０は、ワークを吸着または把持してベンディングマシンへと搬送するワーク搬送ロボットである。
【００２１】
加工機はベンディングマシンに限定されることはなく、パンチングマシン、レーザマシン等の任意の加工機でよい。
【００２２】
加工機１０は、上下方向に移動自在の上部テーブル１０１と、固定されている下部テーブル１０２とを有する。上部テーブル１０１にはパンチ金型Ｔｐが装着され、下部テーブル１０２にはダイ金型Ｔｄが装着されている。加工機１０には、後述するＮＣ装置２（図３に図示）と接続された表示・操作部２１（操作ペンダント）が装着されている。
【００２３】
加工機１０の前方には、多関節のワーク保持用ロボット２０が設置されている。ワーク保持用ロボット２０はガイドレール２０１上に配置されており、ガイドレール２０１に沿って移動自在に構成されている。
【００２４】
ワーク保持用ロボット２０の前方には、ワークＷの載置場所であるローディング台３０が設置されている。ワークＷは、図２に示すような所定の形状を有する金属の板材である。ここでは、ワークＷは矩形状であり、２つの穴Ｗ０が形成されている。ローディング台３０には、複数枚のワークＷが積み重ねられている。
【００２５】
複数枚のワークＷは、ローディング台３０に、面方向の位置がずれないように正確に積み重ねられているとは限らず、図１に示すように、面方向の位置がずれた状態で積み重ねられていることがある。
【００２６】
ローディング台３０の近傍には、ローディング台３０の設置面に対して所定の高さまで延びる支柱４０１が配置されている。支柱４０１は、所定の高さまで垂直方向に延び、ローディング台３０側に水平方向に折れ曲がり、さらに、加工機１０の方向へと折れ曲がっている。支柱４０１の先端部には、カメラ４が装着されている。
【００２７】
カメラ４は、ローディング台３０に置かれたワークＷを撮影するように構成されている。ローディング台３０上でのワークＷの位置はずれることがあるから、カメラ４は、ローディング台３０の全体を撮影するのがよい。例えば、ローディング台３０の角部Ｐ０の位置を、カメラ４がローディング台３０を撮影した撮影画像の原点とする。ワーク保持用ロボット２０の原点位置は、撮影画像の原点と一致するように設定されている。
【００２８】
図３を用いて、加工機１０及びワーク保持用ロボット２０を制御する制御装置の構成及び動作を説明する。図３において、ＣＡＭ１は、図示していないＣＡＤで生成されたワークＷを示すＣＡＤデータを保持している。ＮＣ装置２は、加工機１０を制御する。表示・操作部２１は、ＮＣ装置２に接続されている。
【００２９】
ＮＣ装置２には、画像演算処理装置３とロボット制御装置５が接続されている。画像演算処理装置３は、本実施形態のワーク位置検出装置を構成する。画像演算処理装置３は、例えばパーソナルコンピュータで構成することができる。画像演算処理装置３には、カメラ４が接続されている。
【００３０】
後述するように、画像演算処理装置３は、ローディング台３０に置かれたワークＷの位置を検出し、検出した位置情報をロボット制御装置５に供給する。ロボット制御装置５は、ワークＷの位置情報に基づいてワーク保持用ロボット２０を制御する。ロボット制御装置５は、本実施形態のワーク保持用ロボットの制御装置を構成する。
【００３１】
図３に示す構成例では、加工機１０を制御するＮＣ装置２と、ワーク位置検出装置を構成する画像演算処理装置３と、ワーク保持用ロボット２０を制御するロボット制御装置５とを別々に設けているが、これは単なる一例である。
【００３２】
ＮＣ装置２に画像演算処理装置３の機能を持たせることによって、ＮＣ装置２がワーク位置検出装置を構成してもよい。ＮＣ装置２とロボット制御装置５とが一体化されていてもよい。ロボット制御装置５に画像演算処理装置３の機能を持たせることによって、ロボット制御装置５がワーク位置検出装置を構成してもよい。
【００３３】
図３において、ＣＡＭ１は、ＣＡＤデータをＮＣ装置２に転送する。ＮＣ装置２は、受け取ったＣＡＤデータを画像演算処理装置３に転送する。
【００３４】
図４を用いて、画像演算処理装置３の機能的な内部構成を説明する。図４に示すように、画像演算処理装置３は、テンプレート画像作成部３１，テンプレート画像塗りつぶし部３２，テンプレート画像拡大縮小・回転処理部３３，テンプレート画像エッジ検出部３４を有する。また、画像演算処理装置３は、ワーク撮影画像エッジ検出部３５，マッチング処理部３６，ワーク位置決定部３７を有する。
【００３５】
テンプレート画像作成部３１〜ワーク位置決定部３７のそれぞれは、ソフトウェアモジュールによって構成することができる。テンプレート画像作成部３１〜ワーク位置決定部３７の少なくとも一部をハードウェアによって構成してもよい。ソフトウェアとハードウェアとを組み合わせてもよく、両者の使い分けは任意である。
【００３６】
図４に示す画像演算処理装置３の動作を、図５のフローチャートを参照しながら説明する。図５において、テンプレート画像作成部３１は、ステップＳ１にて、ＮＣ装置２より転送されたＣＡＤデータを取得する。テンプレート画像作成部３１は、ステップＳ２にて、ＣＡＤデータを画像データに変換して、図６に示すようなテンプレート画像ＴＷを作成する（テンプレート画像作成工程）。テンプレート画像ＴＷは、ワークＷを示すワーク線画像ＩｍＷを含む。
【００３７】
ＣＡＤデータは、例えば、ワークＷの形状の各点を示す座標がＣＳＶ形式で表されているデータである。テンプレート画像作成部３１は、ＣＳＶ形式のデータに基づいてワークＷの形状を示すワーク線画像ＩｍＷを含むテンプレート画像ＴＷを作成する。ワーク線画像ＩｍＷは、ワークＷの外形線を示す画像である。ワークＷは図２に示すように面内に穴Ｗ０を有するので、ワーク線画像ＩｍＷは、穴Ｗ０を示す円形の線も含む。
【００３８】
このときのワーク線画像ＩｍＷの大きさは、ワークＷの実寸に即した大きさである必要がある。そこで、予め１画素当たりの長さを求めておけば、テンプレート画像作成部３１は、ワークＷの寸法を何画素で表現すればよいかを算出することができる。テンプレート画像作成部３１は、算出した画素数となるようにワーク線画像ＩｍＷを描画する。
【００３９】
具体的には、１画素の長さが０．５ｍｍに相当し、ワークＷの所定部分の長さが１０ｃｍであったとすれば、その部分を２００画素で表現すればよい。
【００４０】
ワーク撮影画像エッジ検出部３５は、ステップＳ３にて、カメラ４より出力されたワーク撮影画像データを取得する。ワーク撮影画像データは、カメラ４がローディング台３０に置かれたワークＷを撮影したデジタル静止画像データである。
【００４１】
図８は、ワーク撮影画像データが示すワーク撮影画像Ｗ３０を概念的に示している。ワーク撮影画像Ｗ３０は、ローディング台３０上で最上位に配置されたワークＷの画像を含む。
【００４２】
テンプレート画像塗りつぶし部３２は、ステップＳ４にて、ワーク線画像ＩｍＷの内部を例えば白で塗りつぶす（塗りつぶしテンプレート画像作成工程）。図７は、ワーク線画像ＩｍＷの外形線の内部を塗りつぶしたワーク塗りつぶし画像ＩｍＷｗを含むテンプレート画像ＴＷｗを示している。以下、テンプレート画像ＴＷｗを塗りつぶしテンプレート画像ＴＷｗと称することとする。
【００４３】
図７に示すように、穴Ｗ０を示す円形の線の内部は塗りつぶさないのがよい。テンプレート画像塗りつぶし部３２は、ワーク線画像ＩｍＷの外形線の内部で、内部に存在する閉じた領域以外を所定の色で塗りつぶせばよい。ワーク線画像ＩｍＷの内部を塗りつぶしてワーク塗りつぶし画像ＩｍＷｗとする理由については後述する。
【００４４】
図５に示す例では、ステップＳ１にてＣＡＤデータを取得し、ステップＳ３にてワーク撮影画像データを取得しているが、ＣＡＤデータとワーク撮影画像データの取得の順は逆でもよく、同時であってもよい。ステップＳ１，Ｓ２，Ｓ４を、ステップＳ３の前に実行させておき、塗りつぶしテンプレート画像ＴＷｗをワークＷの撮影前に準備しておいてもよい。
【００４５】
テンプレート画像拡大縮小・回転処理部３３は、ステップＳ５にて、塗りつぶしテンプレート画像ＴＷｗの角度を０°に初期化する。例えば、図７に示す塗りつぶしテンプレート画像ＴＷｗの左右方向の辺がワーク撮影画像Ｗ３０の水平方向と平行となる角度を角度０°とすればよい。
【００４６】
テンプレート画像拡大縮小・回転処理部３３は、ステップＳ６にて、塗りつぶしテンプレート画像ＴＷｗを全ての大きさに変更したか否かを判定する。ローディング台３０上のワークＷをカメラ４で撮影するとき、ワークＷの枚数によって最上位のワークＷの撮影画像の大きさは変化する。
【００４７】
テンプレート画像拡大縮小・回転処理部３３には、ワークＷの撮影画像の大きさの最小値と最大値とが設定されている。テンプレート画像拡大縮小・回転処理部３３は、塗りつぶしテンプレート画像ＴＷｗを最小値から最大値までの範囲で所定の単位ごとに大きさを変更すればよい。
【００４８】
ステップＳ６にて塗りつぶしテンプレート画像ＴＷｗを全ての大きさに変更していれば（YES）、処理はステップＳ１４に移行され、変更していなければ（NO）、処理はステップＳ７に移行される。
【００４９】
テンプレート画像拡大縮小・回転処理部３３は、ステップＳ７にて、塗りつぶしテンプレート画像ＴＷｗを拡大または縮小する（テンプレート画像拡大縮小工程）。
【００５０】
テンプレート画像拡大縮小・回転処理部３３は、ステップＳ８にて、塗りつぶしテンプレート画像ＴＷｗを３６０°回転させたか否かを判定する。３６０°回転させていれば（YES）、処理はステップＳ５に戻され、３６０°回転させていなければ（NO）、処理はステップＳ９に移行される。
【００５１】
テンプレート画像拡大縮小・回転処理部３３は、ステップＳ９にて、塗りつぶしテンプレート画像ＴＷｗを所定角度回転させる（テンプレート画像回転工程）。所定角度は例えば１°である。塗りつぶしテンプレート画像ＴＷｗを回転させるのは、ローディング台３０上のワークＷは種々の角度で配置されている可能性があるからである。
【００５２】
テンプレート画像エッジ検出部３４は、ステップＳ１０にて、塗りつぶしテンプレート画像ＴＷｗのエッジを検出する。テンプレート画像エッジ検出部３４は、塗りつぶしテンプレート画像ＴＷｗのエッジを検出するために、Sobel変換を用いるのが好適である。
【００５３】
図９の（ａ）は、塗りつぶしテンプレート画像ＴＷｗの水平方向のエッジを検出するためのフィルタであり、図９の（ｂ）は塗りつぶしテンプレート画像ＴＷｗの垂直方向のエッジを検出するためのフィルタである。それぞれのフィルタは３行３列の係数行列によって構成される。
【００５４】
テンプレート画像エッジ検出部３４は、ある注目画素を中心として、注目画素と、注目画素の上下左右及び斜め方向の８画素との合計９画素に対して、図９の（ａ）に示すフィルタのそれぞれ対応する位置の係数を乗算する。テンプレート画像エッジ検出部３４は、９画素それぞれの乗算結果を加算して水平方向のエッジを検出する。
【００５５】
また、テンプレート画像エッジ検出部３４は、図１０の９画素に対して、図９の（ｂ）のフィルタのそれぞれ対応する位置の係数を乗算する。テンプレート画像エッジ検出部３４は、９画素それぞれの乗算結果を加算して垂直向のエッジを検出する。
【００５６】
テンプレート画像エッジ検出部３４は、検出した水平方向のエッジと垂直向のエッジとを加算することによって、塗りつぶしテンプレート画像ＴＷｗのエッジを検出する。
【００５７】
このとき、テンプレート画像エッジ検出部３４は、エッジを構成するそれぞれの画素において、エッジの強度と勾配方向を算出するのがよい。図１０において、それぞれの円は画素を示している。ハッチングを付して示す注目画素に対して、Sobel変換によって水平方向のエッジの値（エッジ強度Ｅｈ）が５、垂直方向のエッジの値（エッジ強度Ｅｖ）が１と検出されたとする。
【００５８】
図１０に示すように、水平方向のエッジ強度Ｅｈと、垂直方向のエッジ強度Ｅｖは、それぞれ、水平方向のベクトルＥｈ、垂直方向のベクトルＥｖと考えることができる。
【００５９】
水平方向のベクトルＥｈと垂直方向のベクトルＥｖとの合成ベクトルＥｈｖの大きさはそれぞれの画素におけるエッジ強度、合成ベクトルＥｈｖの方向はエッジ勾配方向を示す。エッジ強度Emagnitudeは式（１）で、エッジ勾配方向Edirectionは式（２）で表すことができる。
【００６０】
【数１】
0006588270.tif 000002
【００６１】
【数２】
0006588270.tif 000003
【００６２】
テンプレート画像エッジ検出部３４は、塗りつぶしテンプレート画像ＴＷｗのエッジを構成する全ての画素において、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとを求める。
【００６３】
テンプレート画像エッジ検出部３４は、エッジ強度Emagnitudeのみを求めてもよく、エッジ勾配方向Edirectionのみを求めてもよい。テンプレート画像エッジ検出部３４は、少なくともエッジ強度Emagnitudeを求めるのがよく、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとの双方を求めるとさらによい。
【００６４】
図５に戻り、ワーク撮影画像エッジ検出部３５は、ステップＳ１１にて、ワーク撮影画像データに基づき、ワーク撮影画像Ｗ３０のエッジを検出する（ワーク撮影画像エッジ検出工程）。ワーク撮影画像エッジ検出部３５は、ワーク撮影画像Ｗ３０のエッジを検出する前にノイズ低減処理を施してもよい。
【００６５】
ワーク撮影画像エッジ検出部３５は、テンプレート画像エッジ検出部３４と同様に、図９の（ａ）及び（ｂ）のフィルタを用いるSobel変換によってワーク撮影画像Ｗ３０のエッジを検出する。ワーク撮影画像エッジ検出部３５は、テンプレート画像エッジ検出部３４と同様に、ワーク撮影画像Ｗ３０のエッジを構成する全ての画素において、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとを求めるのがよい。
【００６６】
ワーク撮影画像エッジ検出部３５は、エッジ強度Emagnitudeのみを求めてもよく、エッジ勾配方向Edirectionのみを求めてもよい。ワーク撮影画像エッジ検出部３５は、少なくともエッジ強度Emagnitudeを求めるのがよく、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとの双方を求めるとさらによい。
【００６７】
マッチング処理部３６は、ステップＳ１２にて、ワーク撮影画像Ｗ３０のエッジと塗りつぶしテンプレート画像ＴＷｗのエッジとをマッチング処理する（マッチング処理工程）。
【００６８】
ここで、テンプレート画像塗りつぶし部３２がワーク線画像ＩｍＷの内部を塗りつぶして塗りつぶしテンプレート画像ＴＷｗとする理由を説明する。
【００６９】
図１１の（ａ）は、テンプレート画像ＴＷのエッジ近傍の画素値を示している。図１１の（ａ）の左方向がワーク線画像ＩｍＷの外側、右方向がワーク線画像ＩｍＷの内側である。テンプレート画像ＴＷをSobel変換すると、エッジが互いの間に間隔を有する２本線の状態で検出されてしまう。
【００７０】
図１１の（ｂ）は、塗りつぶしテンプレート画像ＴＷｗのエッジ近傍の画素値を示している。同様に、図１１の（ｂ）の左方向がワーク塗りつぶし画像ＩｍＷｗの外側、右方向がワーク塗りつぶし画像ＩｍＷｗの内側である。塗りつぶしテンプレート画像ＴＷｗをSobel変換することにより、エッジは太くはなるものの間隔を有さない２本線の状態、即ち、実質的に１本線の状態となり、エッジが適切に検出される。
【００７１】
仮に、マッチング処理部３６が、ワーク撮影画像Ｗ３０のエッジとエッジが間隔を有する２本線の状態で検出されたテンプレート画像ＴＷのエッジとをマッチング処理すると、誤差が発生して適切なマッチング処理が行われない。マッチング処理部３６が、ワーク撮影画像Ｗ３０のエッジと塗りつぶしテンプレート画像ＴＷｗのエッジとをマッチング処理することによって、適切なマッチング処理が行われる。
【００７２】
図１２を用いて、マッチング処理部３６によるマッチング処理の詳細を説明する。図１２において、ＥＴＷは、テンプレート画像エッジ検出部３４が塗りつぶしテンプレート画像ＴＷｗをSobel変換したテンプレートエッジ画像を概念的に示している。ＥＷ３０は、ワーク撮影画像Ｗ３０をSobel変換したワーク撮影エッジ画像を概念的に示している。
【００７３】
図１２においては、理解を容易にするために、テンプレートエッジ画像ＥＴＷとワーク撮影エッジ画像ＥＷ３０のそれぞれのエッジを構成する画素を拡大して概念的に示している。
【００７４】
マッチング処理部３６は、ワーク撮影エッジ画像ＥＷ３０の所定位置にテンプレートエッジ画像ＥＴＷを配置して両者の類似度を算出し、テンプレートエッジ画像ＥＴＷを水平方向または垂直方向に１画素ずつずらしながら両者の類似度を算出する。
【００７５】
図１２に示すように、テンプレートエッジ画像ＥＴＷの画素Ｐ１とワーク撮影エッジ画像ＥＷ３０の画素Ｐ３とが対応する位置にあるとき、マッチング処理部３６は、両者の類似度を算出する。マッチング処理部３６は、テンプレートエッジ画像ＥＴＷのそれぞれのエッジの画素とワーク撮影エッジ画像ＥＷ３０の画素との類似度を算出する。
【００７６】
マッチング処理部３６は、例えば、テンプレートエッジ画像ＥＴＷの画素Ｐ１１とワーク撮影エッジ画像ＥＷ３０の対応する位置の画素の値の差分値を求め、全ての画素について差分値を積分した積分値を、テンプレートエッジ画像ＥＴＷとワーク撮影エッジ画像ＥＷ３０との全体の類似度とすることができる。この場合、積分値が小さいほど類似度が高くなる。
【００７７】
マッチング処理部３６は、上述した水平方向のエッジ強度Ｅｈと垂直方向のエッジ強度Ｅｖとエッジ強度Emagnitudeとを用いて、類似度を算出してもよい。テンプレートエッジ画像ＥＴＷにおける画素の水平方向のエッジ強度Ｅｈ１、垂直方向のエッジ強度Ｅｖ１、エッジ強度EmagnitudeをＥｍ１、ワーク撮影エッジ画像ＥＷ３０における画素の水平方向のエッジ強度Ｅｈ３、垂直方向のエッジ強度Ｅｖ３、エッジ強度EmagnitudeをＥｍ３とすると、対応する位置の画素の類似度Ｄｓは、式（３）によって求めることができる。
【００７８】
Ｄｓ＝（Ｅｈ１×Ｅｈ３＋Ｅｖ１×Ｅｖ３）／（Ｅｍ１×Ｅｍ３）    …（３）
【００７９】
マッチング処理部３６は、テンプレートエッジ画像ＥＴＷの全ての画素についてワーク撮影エッジ画像ＥＷ３０との類似度Ｄｓを求める。マッチング処理部３６は、全ての画素について求めた類似度Ｄｓを積分した積分値を、テンプレートエッジ画像ＥＴＷとワーク撮影エッジ画像ＥＷ３０との全体の類似度とすることができる。
【００８０】
式（３）を用いる場合、画素が類似しているほど、類似度Ｄｓの値が大きくなり、類似度Ｄｓの積分値も大きくなる。
【００８１】
マッチング処理部３６は、さらにエッジ勾配方向Edirectionを比較して類似度を算出してもよい。
【００８２】
マッチング処理部３６は、ステップＳ１３にて、ワーク撮影エッジ画像ＥＷ３０に対する最も類似度が高いテンプレートエッジ画像ＥＴＷの位置を算出する。これによって、マッチング処理部３６は、ローディング台３０に置かれた最上位のワークＷの位置を検出することができる。
【００８３】
但し、ステップＳ１３では、１つの選択した角度と大きさの塗りつぶしテンプレート画像ＴＷｗに基づくテンプレートエッジ画像ＥＴＷによって、ワークＷの大まかな位置が検出されているに過ぎない。ワークＷの位置が正確に検出されていないこともある。
【００８４】
ステップＳ１３の後、処理はステップＳ８に戻され、１つの大きさの塗りつぶしテンプレート画像ＴＷｗを３６０°回転させるまでステップＳ９〜Ｓ１３の処理が繰り返される。ステップＳ８にて１つの大きさの塗りつぶしテンプレート画像ＴＷｗを３６０°回転させたら、処理はステップＳ５に戻される。
【００８５】
ステップＳ６〜Ｓ８の処理によって、全ての大きさの塗りつぶしテンプレート画像ＴＷｗを３６０°回転させるまでステップＳ９〜Ｓ１３の処理が繰り返される。ステップＳ６で塗りつぶしテンプレート画像ＴＷｗを全ての大きさに変更したと判定されれば、全ての角度と大きさの塗りつぶしテンプレート画像ＴＷｗに基づくテンプレートエッジ画像ＥＴＷによって、ワークＷの位置が検出されたことになる。
【００８６】
そこで、ワーク位置決定部３７は、ステップＳ１４にて、全てのテンプレートエッジ画像ＥＴＷによって検出されたワークＷの位置のうち、最も類似度が高いテンプレートエッジ画像ＥＴＷの位置をワークＷの位置と決定する（ワーク位置決定工程）。
【００８７】
式（３）を用いる場合を例とすれば、全てのテンプレートエッジ画像ＥＴＷによって算出された類似度Ｄｓの積分値のうち、最も大きい値の積分値が得られたテンプレートエッジ画像ＥＴＷの位置をワークＷの位置と決定すればよい。ステップＳ１４では、ワークＷの位置が正確に検出される。
【００８８】
このように、マッチング処理部３６は、ワーク撮影エッジ画像ＥＷ３０に対するテンプレートエッジ画像ＥＴＷの位置をずらしながら、複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像ＥＴＷとワーク撮影エッジ画像ＥＷ３０とをマッチングさせる。マッチング処理部３６は、テンプレートエッジ画像ＥＴＷの位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出する。
【００８９】
ワーク位置決定部３７は、マッチング処理部３６で算出された複数の組それぞれの類似度に基づいて、ローディング台３０に配置されている最上位のワークＷの位置を決定する。ワーク位置決定部３７は、ステップＳ１５にて、ワークＷの位置情報をロボット制御装置５に転送する。
【００９０】
図４において、ロボット制御装置５内のロボット座標変換部５１は、入力されたワークＷの位置情報を、ワーク保持用ロボット２０をどのように動かすかを決めるロボット座標に変換する。ロボット座標は、ワーク保持用ロボット２０の回転角、ガイドレール２０１上の位置、関節の角度のうちの少なくとも１つである。
【００９１】
ロボット制御装置５は、ロボット座標に基づいてワーク保持用ロボット２０を動かし、ローディング台３０上の最上位のワークＷを保持させる。ワーク保持用ロボット２０は、ワークＷを加工機１０へと搬送し、加工後のワークＷを所定の位置に搬出する。
【００９２】
前述のように、ワーク保持用ロボット２０の原点位置は撮影画像の原点と一致しているから、上記のように決定したワークＷの位置はそのままワーク保持用ロボット２０がワークＷを保持する位置となる。
【００９３】
以上説明したように、本実施形態のワーク位置検出装置は、ＣＡＤデータに基づいてワークＷのテンプレート画像ＴＷを作成するテンプレート画像作成部３１と、塗りつぶしテンプレート画像ＴＷｗを作成するテンプレート画像塗りつぶし部３２とを備える。また、本実施形態のワーク位置検出装置は、塗りつぶしテンプレート画像ＴＷｗのエッジを検出して、テンプレートエッジ画像ＥＴＷを生成するテンプレート画像エッジ検出部３４と、ワーク撮影エッジ画像ＥＷ３０を生成するワーク撮影画像エッジ検出部３５とを備える。
【００９４】
本実施形態のワーク位置検出装置は、マッチング処理部３６が、テンプレートエッジ画像ＥＴＷとワーク撮影エッジ画像ＥＷ３０とをマッチングさせ、ワーク位置決定部３７が、マッチングの結果に基づいて、載置場所に配置されているワークＷの位置を決定するように構成されている。
【００９５】
本実施形態のワーク位置検出方法は、テンプレート画像作成工程と、塗りつぶしテンプレート画像作成工程と、テンプレート画像エッジ検出工程と、ワーク撮影画像エッジ検出工程と、マッチング処理工程と、ワーク位置決定工程とを含む。
【００９６】
よって、本実施形態のワーク位置検出装置及び方法によれば、ワークＷの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークＷの位置を検出することができる。
【００９７】
本実施形態のワーク位置検出装置及び方法によれば、ワークＷを撮影してテンプレート画像を作成するという煩雑な作業を省略することができる。ワークＷを撮影する場合、一般的には、撮影専用の作業台が用いられる。本実施形態のワーク位置検出装置及び方法によれば、撮影専用の作業台が不要となる。また、本実施形態のワーク位置検出装置及び方法によれば、環境が変化しても、テンプレート画像を作成し直す必要はない。
【００９８】
本実施形態のワーク保持用ロボットの制御装置及び制御方法によれば、ワークＷの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークＷの位置を検出して、ワーク保持用ロボット２０によってワークＷを保持させることができる。
【００９９】
本実施形態のワーク位置検出装置は、塗りつぶしテンプレート画像ＴＷｗを所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させるテンプレート画像拡大縮小・回転処理部３３を備える構成とすることが好ましい。本実施形態のワーク位置検出方法は、テンプレート画像拡大縮小・回転工程を含む構成とすることが好ましい。
【０１００】
この場合、テンプレート画像エッジ検出部３４（テンプレート画像エッジ検出工程）は、塗りつぶしテンプレート画像ＴＷｗの複数の大きさ及び複数の角度のそれぞれで、塗りつぶしテンプレート画像ＴＷｗのエッジを検出して、複数のテンプレートエッジ画像ＥＴＷを生成する。
【０１０１】
マッチング処理部３６（マッチング処理工程）は、ワーク撮影エッジ画像ＥＷ３０に対するテンプレートエッジ画像ＥＴＷの位置をずらしながら、複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像ＥＴＷとワーク撮影エッジ画像ＥＷ３０とをマッチングさせる。そして、マッチング処理部３６（マッチング処理工程）は、テンプレートエッジ画像ＥＴＷの位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出する。
【０１０２】
ワーク位置決定部３７（ワーク位置決定工程）は、マッチング処理部３６（マッチング処理工程）で算出された複数の組それぞれの類似度に基づいて、載置場所に配置されているワークＷの位置を決定する。
【０１０３】
この好ましい構成のワーク保持用ロボットの制御装置及び制御方法によれば、ワークＷの載置場所上の面方向の位置や角度がばらばらであっても、ワーク保持用ロボット２０によってワークＷを的確に保持させることができる。よって、作業者は、ワークＷを載置場所の決まった位置に厳密に配置しなくてもよい。
【０１０４】
本発明は以上説明した本実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。
【符号の説明】
【０１０５】
１  ＣＡＭ
２  ＮＣ装置
３  画像演算処理装置
４  カメラ
５  ロボット制御装置
１０  加工機
２０  ワーク保持用ロボット
３０  ローディング台（載置場所）
３１  テンプレート画像作成部
３２  テンプレート画像塗りつぶし部
３３  テンプレート画像拡大縮小・回転処理部
３４  テンプレート画像エッジ検出部
３５  ワーク撮影画像エッジ検出部
３６  マッチング処理部
３７  ワーク位置決定部
Ｗ  ワーク
【図１】
0006588270.tif 000004
【図２】
0006588270.tif 000005
【図３】
0006588270.tif 000006
【図４】
0006588270.tif 000007
【図５】
0006588270.tif 000008
【図６】
0006588270.tif 000009
【図７】
0006588270.tif 000010
【図８】
0006588270.tif 000011
【図９】
0006588270.tif 000012
【図１０】
0006588270.tif 000013
【図１１】
0006588270.tif 000014
【図１２】
0006588270.tif 000015