(58)【調査した分野】(Int.Cl.,DB名)
前記塗りつぶしテンプレート画像を所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させるテンプレート画像拡大縮小・回転処理部をさらに備え、
前記テンプレート画像エッジ検出部は、前記塗りつぶしテンプレート画像の複数の大きさ及び複数の角度のそれぞれで、前記塗りつぶしテンプレート画像のエッジを検出して、複数のテンプレートエッジ画像を生成し、
前記マッチング処理部は、前記ワーク撮影エッジ画像に対する前記テンプレートエッジ画像の位置をずらしながら、前記複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像と前記ワーク撮影エッジ画像とをマッチングさせて、前記テンプレートエッジ画像の位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出し、
前記ワーク位置決定部は、前記マッチング処理部で算出された前記複数の組それぞれの類似度に基づいて、前記載置場所に配置されている前記ワークの位置を決定する
請求項1に記載のワーク位置検出装置。
【発明を実施するための形態】
【0019】
以下、一実施形態のワーク位置検出装置及び方法、並びに、ワーク保持用ロボットの制御装置及び制御方法について、添付図面を参照して説明する。
【0020】
まず、
図1を用いて、載置場所に配置されているワークをワーク保持用ロボットで保持させて、加工機に搬入するように構成されている加工システムの全体的な構成例を説明する。
図1に示す構成例において、加工機10はベンディングマシンであり、ワーク保持用ロボット20は、ワークを吸着または把持してベンディングマシンへと搬送するワーク搬送ロボットである。
【0021】
加工機はベンディングマシンに限定されることはなく、パンチングマシン、レーザマシン等の任意の加工機でよい。
【0022】
加工機10は、上下方向に移動自在の上部テーブル101と、固定されている下部テーブル102とを有する。上部テーブル101にはパンチ金型Tpが装着され、下部テーブル102にはダイ金型Tdが装着されている。加工機10には、後述するNC装置2(
図3に図示)と接続された表示・操作部21(操作ペンダント)が装着されている。
【0023】
加工機10の前方には、多関節のワーク保持用ロボット20が設置されている。ワーク保持用ロボット20はガイドレール201上に配置されており、ガイドレール201に沿って移動自在に構成されている。
【0024】
ワーク保持用ロボット20の前方には、ワークWの載置場所であるローディング台30が設置されている。ワークWは、
図2に示すような所定の形状を有する金属の板材である。ここでは、ワークWは矩形状であり、2つの穴W0が形成されている。ローディング台30には、複数枚のワークWが積み重ねられている。
【0025】
複数枚のワークWは、ローディング台30に、面方向の位置がずれないように正確に積み重ねられているとは限らず、
図1に示すように、面方向の位置がずれた状態で積み重ねられていることがある。
【0026】
ローディング台30の近傍には、ローディング台30の設置面に対して所定の高さまで延びる支柱401が配置されている。支柱401は、所定の高さまで垂直方向に延び、ローディング台30側に水平方向に折れ曲がり、さらに、加工機10の方向へと折れ曲がっている。支柱401の先端部には、カメラ4が装着されている。
【0027】
カメラ4は、ローディング台30に置かれたワークWを撮影するように構成されている。ローディング台30上でのワークWの位置はずれることがあるから、カメラ4は、ローディング台30の全体を撮影するのがよい。例えば、ローディング台30の角部P0の位置を、カメラ4がローディング台30を撮影した撮影画像の原点とする。ワーク保持用ロボット20の原点位置は、撮影画像の原点と一致するように設定されている。
【0028】
図3を用いて、加工機10及びワーク保持用ロボット20を制御する制御装置の構成及び動作を説明する。
図3において、CAM1は、図示していないCADで生成されたワークWを示すCADデータを保持している。NC装置2は、加工機10を制御する。表示・操作部21は、NC装置2に接続されている。
【0029】
NC装置2には、画像演算処理装置3とロボット制御装置5が接続されている。画像演算処理装置3は、本実施形態のワーク位置検出装置を構成する。画像演算処理装置3は、例えばパーソナルコンピュータで構成することができる。画像演算処理装置3には、カメラ4が接続されている。
【0030】
後述するように、画像演算処理装置3は、ローディング台30に置かれたワークWの位置を検出し、検出した位置情報をロボット制御装置5に供給する。ロボット制御装置5は、ワークWの位置情報に基づいてワーク保持用ロボット20を制御する。ロボット制御装置5は、本実施形態のワーク保持用ロボットの制御装置を構成する。
【0031】
図3に示す構成例では、加工機10を制御するNC装置2と、ワーク位置検出装置を構成する画像演算処理装置3と、ワーク保持用ロボット20を制御するロボット制御装置5とを別々に設けているが、これは単なる一例である。
【0032】
NC装置2に画像演算処理装置3の機能を持たせることによって、NC装置2がワーク位置検出装置を構成してもよい。NC装置2とロボット制御装置5とが一体化されていてもよい。ロボット制御装置5に画像演算処理装置3の機能を持たせることによって、ロボット制御装置5がワーク位置検出装置を構成してもよい。
【0033】
図3において、CAM1は、CADデータをNC装置2に転送する。NC装置2は、受け取ったCADデータを画像演算処理装置3に転送する。
【0034】
図4を用いて、画像演算処理装置3の機能的な内部構成を説明する。
図4に示すように、画像演算処理装置3は、テンプレート画像作成部31,テンプレート画像塗りつぶし部32,テンプレート画像拡大縮小・回転処理部33,テンプレート画像エッジ検出部34を有する。また、画像演算処理装置3は、ワーク撮影画像エッジ検出部35,マッチング処理部36,ワーク位置決定部37を有する。
【0035】
テンプレート画像作成部31〜ワーク位置決定部37のそれぞれは、ソフトウェアモジュールによって構成することができる。テンプレート画像作成部31〜ワーク位置決定部37の少なくとも一部をハードウェアによって構成してもよい。ソフトウェアとハードウェアとを組み合わせてもよく、両者の使い分けは任意である。
【0036】
図4に示す画像演算処理装置3の動作を、
図5のフローチャートを参照しながら説明する。
図5において、テンプレート画像作成部31は、ステップS1にて、NC装置2より転送されたCADデータを取得する。テンプレート画像作成部31は、ステップS2にて、CADデータを画像データに変換して、
図6に示すようなテンプレート画像TWを作成する(テンプレート画像作成工程)。テンプレート画像TWは、ワークWを示すワーク線画像ImWを含む。
【0037】
CADデータは、例えば、ワークWの形状の各点を示す座標がCSV形式で表されているデータである。テンプレート画像作成部31は、CSV形式のデータに基づいてワークWの形状を示すワーク線画像ImWを含むテンプレート画像TWを作成する。ワーク線画像ImWは、ワークWの外形線を示す画像である。ワークWは
図2に示すように面内に穴W0を有するので、ワーク線画像ImWは、穴W0を示す円形の線も含む。
【0038】
このときのワーク線画像ImWの大きさは、ワークWの実寸に即した大きさである必要がある。そこで、予め1画素当たりの長さを求めておけば、テンプレート画像作成部31は、ワークWの寸法を何画素で表現すればよいかを算出することができる。テンプレート画像作成部31は、算出した画素数となるようにワーク線画像ImWを描画する。
【0039】
具体的には、1画素の長さが0.5mmに相当し、ワークWの所定部分の長さが10cmであったとすれば、その部分を200画素で表現すればよい。
【0040】
ワーク撮影画像エッジ検出部35は、ステップS3にて、カメラ4より出力されたワーク撮影画像データを取得する。ワーク撮影画像データは、カメラ4がローディング台30に置かれたワークWを撮影したデジタル静止画像データである。
【0041】
図8は、ワーク撮影画像データが示すワーク撮影画像W30を概念的に示している。ワーク撮影画像W30は、ローディング台30上で最上位に配置されたワークWの画像を含む。
【0042】
テンプレート画像塗りつぶし部32は、ステップS4にて、ワーク線画像ImWの内部を例えば白で塗りつぶす(塗りつぶしテンプレート画像作成工程)。
図7は、ワーク線画像ImWの外形線の内部を塗りつぶしたワーク塗りつぶし画像ImWwを含むテンプレート画像TWwを示している。以下、テンプレート画像TWwを塗りつぶしテンプレート画像TWwと称することとする。
【0043】
図7に示すように、穴W0を示す円形の線の内部は塗りつぶさないのがよい。テンプレート画像塗りつぶし部32は、ワーク線画像ImWの外形線の内部で、内部に存在する閉じた領域以外を所定の色で塗りつぶせばよい。ワーク線画像ImWの内部を塗りつぶしてワーク塗りつぶし画像ImWwとする理由については後述する。
【0044】
図5に示す例では、ステップS1にてCADデータを取得し、ステップS3にてワーク撮影画像データを取得しているが、CADデータとワーク撮影画像データの取得の順は逆でもよく、同時であってもよい。ステップS1,S2,S4を、ステップS3の前に実行させておき、塗りつぶしテンプレート画像TWwをワークWの撮影前に準備しておいてもよい。
【0045】
テンプレート画像拡大縮小・回転処理部33は、ステップS5にて、塗りつぶしテンプレート画像TWwの角度を0°に初期化する。例えば、
図7に示す塗りつぶしテンプレート画像TWwの左右方向の辺がワーク撮影画像W30の水平方向と平行となる角度を角度0°とすればよい。
【0046】
テンプレート画像拡大縮小・回転処理部33は、ステップS6にて、塗りつぶしテンプレート画像TWwを全ての大きさに変更したか否かを判定する。ローディング台30上のワークWをカメラ4で撮影するとき、ワークWの枚数によって最上位のワークWの撮影画像の大きさは変化する。
【0047】
テンプレート画像拡大縮小・回転処理部33には、ワークWの撮影画像の大きさの最小値と最大値とが設定されている。テンプレート画像拡大縮小・回転処理部33は、塗りつぶしテンプレート画像TWwを最小値から最大値までの範囲で所定の単位ごとに大きさを変更すればよい。
【0048】
ステップS6にて塗りつぶしテンプレート画像TWwを全ての大きさに変更していれば(YES)、処理はステップS14に移行され、変更していなければ(NO)、処理はステップS7に移行される。
【0049】
テンプレート画像拡大縮小・回転処理部33は、ステップS7にて、塗りつぶしテンプレート画像TWwを拡大または縮小する(テンプレート画像拡大縮小工程)。
【0050】
テンプレート画像拡大縮小・回転処理部33は、ステップS8にて、塗りつぶしテンプレート画像TWwを360°回転させたか否かを判定する。360°回転させていれば(YES)、処理はステップS5に戻され、360°回転させていなければ(NO)、処理はステップS9に移行される。
【0051】
テンプレート画像拡大縮小・回転処理部33は、ステップS9にて、塗りつぶしテンプレート画像TWwを所定角度回転させる(テンプレート画像回転工程)。所定角度は例えば1°である。塗りつぶしテンプレート画像TWwを回転させるのは、ローディング台30上のワークWは種々の角度で配置されている可能性があるからである。
【0052】
テンプレート画像エッジ検出部34は、ステップS10にて、塗りつぶしテンプレート画像TWwのエッジを検出する。テンプレート画像エッジ検出部34は、塗りつぶしテンプレート画像TWwのエッジを検出するために、Sobel変換を用いるのが好適である。
【0053】
図9の(a)は、塗りつぶしテンプレート画像TWwの水平方向のエッジを検出するためのフィルタであり、
図9の(b)は塗りつぶしテンプレート画像TWwの垂直方向のエッジを検出するためのフィルタである。それぞれのフィルタは3行3列の係数行列によって構成される。
【0054】
テンプレート画像エッジ検出部34は、ある注目画素を中心として、注目画素と、注目画素の上下左右及び斜め方向の8画素との合計9画素に対して、
図9の(a)に示すフィルタのそれぞれ対応する位置の係数を乗算する。テンプレート画像エッジ検出部34は、9画素それぞれの乗算結果を加算して水平方向のエッジを検出する。
【0055】
また、テンプレート画像エッジ検出部34は、
図10の9画素に対して、
図9の(b)のフィルタのそれぞれ対応する位置の係数を乗算する。テンプレート画像エッジ検出部34は、9画素それぞれの乗算結果を加算して垂直向のエッジを検出する。
【0056】
テンプレート画像エッジ検出部34は、検出した水平方向のエッジと垂直向のエッジとを加算することによって、塗りつぶしテンプレート画像TWwのエッジを検出する。
【0057】
このとき、テンプレート画像エッジ検出部34は、エッジを構成するそれぞれの画素において、エッジの強度と勾配方向を算出するのがよい。
図10において、それぞれの円は画素を示している。ハッチングを付して示す注目画素に対して、Sobel変換によって水平方向のエッジの値(エッジ強度Eh)が5、垂直方向のエッジの値(エッジ強度Ev)が1と検出されたとする。
【0058】
図10に示すように、水平方向のエッジ強度Ehと、垂直方向のエッジ強度Evは、それぞれ、水平方向のベクトルEh、垂直方向のベクトルEvと考えることができる。
【0059】
水平方向のベクトルEhと垂直方向のベクトルEvとの合成ベクトルEhvの大きさはそれぞれの画素におけるエッジ強度、合成ベクトルEhvの方向はエッジ勾配方向を示す。エッジ強度Emagnitudeは式(1)で、エッジ勾配方向Edirectionは式(2)で表すことができる。
【0062】
テンプレート画像エッジ検出部34は、塗りつぶしテンプレート画像TWwのエッジを構成する全ての画素において、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとを求める。
【0063】
テンプレート画像エッジ検出部34は、エッジ強度Emagnitudeのみを求めてもよく、エッジ勾配方向Edirectionのみを求めてもよい。テンプレート画像エッジ検出部34は、少なくともエッジ強度Emagnitudeを求めるのがよく、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとの双方を求めるとさらによい。
【0064】
図5に戻り、ワーク撮影画像エッジ検出部35は、ステップS11にて、ワーク撮影画像データに基づき、ワーク撮影画像W30のエッジを検出する(ワーク撮影画像エッジ検出工程)。ワーク撮影画像エッジ検出部35は、ワーク撮影画像W30のエッジを検出する前にノイズ低減処理を施してもよい。
【0065】
ワーク撮影画像エッジ検出部35は、テンプレート画像エッジ検出部34と同様に、
図9の(a)及び(b)のフィルタを用いるSobel変換によってワーク撮影画像W30のエッジを検出する。ワーク撮影画像エッジ検出部35は、テンプレート画像エッジ検出部34と同様に、ワーク撮影画像W30のエッジを構成する全ての画素において、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとを求めるのがよい。
【0066】
ワーク撮影画像エッジ検出部35は、エッジ強度Emagnitudeのみを求めてもよく、エッジ勾配方向Edirectionのみを求めてもよい。ワーク撮影画像エッジ検出部35は、少なくともエッジ強度Emagnitudeを求めるのがよく、エッジ強度Emagnitudeとエッジ勾配方向Edirectionとの双方を求めるとさらによい。
【0067】
マッチング処理部36は、ステップS12にて、ワーク撮影画像W30のエッジと塗りつぶしテンプレート画像TWwのエッジとをマッチング処理する(マッチング処理工程)。
【0068】
ここで、テンプレート画像塗りつぶし部32がワーク線画像ImWの内部を塗りつぶして塗りつぶしテンプレート画像TWwとする理由を説明する。
【0069】
図11の(a)は、テンプレート画像TWのエッジ近傍の画素値を示している。
図11の(a)の左方向がワーク線画像ImWの外側、右方向がワーク線画像ImWの内側である。テンプレート画像TWをSobel変換すると、エッジが互いの間に間隔を有する2本線の状態で検出されてしまう。
【0070】
図11の(b)は、塗りつぶしテンプレート画像TWwのエッジ近傍の画素値を示している。同様に、
図11の(b)の左方向がワーク塗りつぶし画像ImWwの外側、右方向がワーク塗りつぶし画像ImWwの内側である。塗りつぶしテンプレート画像TWwをSobel変換することにより、エッジは太くはなるものの間隔を有さない2本線の状態、即ち、実質的に1本線の状態となり、エッジが適切に検出される。
【0071】
仮に、マッチング処理部36が、ワーク撮影画像W30のエッジとエッジが間隔を有する2本線の状態で検出されたテンプレート画像TWのエッジとをマッチング処理すると、誤差が発生して適切なマッチング処理が行われない。マッチング処理部36が、ワーク撮影画像W30のエッジと塗りつぶしテンプレート画像TWwのエッジとをマッチング処理することによって、適切なマッチング処理が行われる。
【0072】
図12を用いて、マッチング処理部36によるマッチング処理の詳細を説明する。
図12において、ETWは、テンプレート画像エッジ検出部34が塗りつぶしテンプレート画像TWwをSobel変換したテンプレートエッジ画像を概念的に示している。EW30は、ワーク撮影画像W30をSobel変換したワーク撮影エッジ画像を概念的に示している。
【0073】
図12においては、理解を容易にするために、テンプレートエッジ画像ETWとワーク撮影エッジ画像EW30のそれぞれのエッジを構成する画素を拡大して概念的に示している。
【0074】
マッチング処理部36は、ワーク撮影エッジ画像EW30の所定位置にテンプレートエッジ画像ETWを配置して両者の類似度を算出し、テンプレートエッジ画像ETWを水平方向または垂直方向に1画素ずつずらしながら両者の類似度を算出する。
【0075】
図12に示すように、テンプレートエッジ画像ETWの画素P1とワーク撮影エッジ画像EW30の画素P3とが対応する位置にあるとき、マッチング処理部36は、両者の類似度を算出する。マッチング処理部36は、テンプレートエッジ画像ETWのそれぞれのエッジの画素とワーク撮影エッジ画像EW30の画素との類似度を算出する。
【0076】
マッチング処理部36は、例えば、テンプレートエッジ画像ETWの画素P11とワーク撮影エッジ画像EW30の対応する位置の画素の値の差分値を求め、全ての画素について差分値を積分した積分値を、テンプレートエッジ画像ETWとワーク撮影エッジ画像EW30との全体の類似度とすることができる。この場合、積分値が小さいほど類似度が高くなる。
【0077】
マッチング処理部36は、上述した水平方向のエッジ強度Ehと垂直方向のエッジ強度Evとエッジ強度Emagnitudeとを用いて、類似度を算出してもよい。テンプレートエッジ画像ETWにおける画素の水平方向のエッジ強度Eh1、垂直方向のエッジ強度Ev1、エッジ強度EmagnitudeをEm1、ワーク撮影エッジ画像EW30における画素の水平方向のエッジ強度Eh3、垂直方向のエッジ強度Ev3、エッジ強度EmagnitudeをEm3とすると、対応する位置の画素の類似度Dsは、式(3)によって求めることができる。
【0078】
Ds=(Eh1×Eh3+Ev1×Ev3)/(Em1×Em3) …(3)
【0079】
マッチング処理部36は、テンプレートエッジ画像ETWの全ての画素についてワーク撮影エッジ画像EW30との類似度Dsを求める。マッチング処理部36は、全ての画素について求めた類似度Dsを積分した積分値を、テンプレートエッジ画像ETWとワーク撮影エッジ画像EW30との全体の類似度とすることができる。
【0080】
式(3)を用いる場合、画素が類似しているほど、類似度Dsの値が大きくなり、類似度Dsの積分値も大きくなる。
【0081】
マッチング処理部36は、さらにエッジ勾配方向Edirectionを比較して類似度を算出してもよい。
【0082】
マッチング処理部36は、ステップS13にて、ワーク撮影エッジ画像EW30に対する最も類似度が高いテンプレートエッジ画像ETWの位置を算出する。これによって、マッチング処理部36は、ローディング台30に置かれた最上位のワークWの位置を検出することができる。
【0083】
但し、ステップS13では、1つの選択した角度と大きさの塗りつぶしテンプレート画像TWwに基づくテンプレートエッジ画像ETWによって、ワークWの大まかな位置が検出されているに過ぎない。ワークWの位置が正確に検出されていないこともある。
【0084】
ステップS13の後、処理はステップS8に戻され、1つの大きさの塗りつぶしテンプレート画像TWwを360°回転させるまでステップS9〜S13の処理が繰り返される。ステップS8にて1つの大きさの塗りつぶしテンプレート画像TWwを360°回転させたら、処理はステップS5に戻される。
【0085】
ステップS6〜S8の処理によって、全ての大きさの塗りつぶしテンプレート画像TWwを360°回転させるまでステップS9〜S13の処理が繰り返される。ステップS6で塗りつぶしテンプレート画像TWwを全ての大きさに変更したと判定されれば、全ての角度と大きさの塗りつぶしテンプレート画像TWwに基づくテンプレートエッジ画像ETWによって、ワークWの位置が検出されたことになる。
【0086】
そこで、ワーク位置決定部37は、ステップS14にて、全てのテンプレートエッジ画像ETWによって検出されたワークWの位置のうち、最も類似度が高いテンプレートエッジ画像ETWの位置をワークWの位置と決定する(ワーク位置決定工程)。
【0087】
式(3)を用いる場合を例とすれば、全てのテンプレートエッジ画像ETWによって算出された類似度Dsの積分値のうち、最も大きい値の積分値が得られたテンプレートエッジ画像ETWの位置をワークWの位置と決定すればよい。ステップS14では、ワークWの位置が正確に検出される。
【0088】
このように、マッチング処理部36は、ワーク撮影エッジ画像EW30に対するテンプレートエッジ画像ETWの位置をずらしながら、複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像ETWとワーク撮影エッジ画像EW30とをマッチングさせる。マッチング処理部36は、テンプレートエッジ画像ETWの位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出する。
【0089】
ワーク位置決定部37は、マッチング処理部36で算出された複数の組それぞれの類似度に基づいて、ローディング台30に配置されている最上位のワークWの位置を決定する。ワーク位置決定部37は、ステップS15にて、ワークWの位置情報をロボット制御装置5に転送する。
【0090】
図4において、ロボット制御装置5内のロボット座標変換部51は、入力されたワークWの位置情報を、ワーク保持用ロボット20をどのように動かすかを決めるロボット座標に変換する。ロボット座標は、ワーク保持用ロボット20の回転角、ガイドレール201上の位置、関節の角度のうちの少なくとも1つである。
【0091】
ロボット制御装置5は、ロボット座標に基づいてワーク保持用ロボット20を動かし、ローディング台30上の最上位のワークWを保持させる。ワーク保持用ロボット20は、ワークWを加工機10へと搬送し、加工後のワークWを所定の位置に搬出する。
【0092】
前述のように、ワーク保持用ロボット20の原点位置は撮影画像の原点と一致しているから、上記のように決定したワークWの位置はそのままワーク保持用ロボット20がワークWを保持する位置となる。
【0093】
以上説明したように、本実施形態のワーク位置検出装置は、CADデータに基づいてワークWのテンプレート画像TWを作成するテンプレート画像作成部31と、塗りつぶしテンプレート画像TWwを作成するテンプレート画像塗りつぶし部32とを備える。また、本実施形態のワーク位置検出装置は、塗りつぶしテンプレート画像TWwのエッジを検出して、テンプレートエッジ画像ETWを生成するテンプレート画像エッジ検出部34と、ワーク撮影エッジ画像EW30を生成するワーク撮影画像エッジ検出部35とを備える。
【0094】
本実施形態のワーク位置検出装置は、マッチング処理部36が、テンプレートエッジ画像ETWとワーク撮影エッジ画像EW30とをマッチングさせ、ワーク位置決定部37が、マッチングの結果に基づいて、載置場所に配置されているワークWの位置を決定するように構成されている。
【0095】
本実施形態のワーク位置検出方法は、テンプレート画像作成工程と、塗りつぶしテンプレート画像作成工程と、テンプレート画像エッジ検出工程と、ワーク撮影画像エッジ検出工程と、マッチング処理工程と、ワーク位置決定工程とを含む。
【0096】
よって、本実施形態のワーク位置検出装置及び方法によれば、ワークWの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークWの位置を検出することができる。
【0097】
本実施形態のワーク位置検出装置及び方法によれば、ワークWを撮影してテンプレート画像を作成するという煩雑な作業を省略することができる。ワークWを撮影する場合、一般的には、撮影専用の作業台が用いられる。本実施形態のワーク位置検出装置及び方法によれば、撮影専用の作業台が不要となる。また、本実施形態のワーク位置検出装置及び方法によれば、環境が変化しても、テンプレート画像を作成し直す必要はない。
【0098】
本実施形態のワーク保持用ロボットの制御装置及び制御方法によれば、ワークWの撮影画像に基づくテンプレート画像を用いることなく、載置場所に配置されているワークWの位置を検出して、ワーク保持用ロボット20によってワークWを保持させることができる。
【0099】
本実施形態のワーク位置検出装置は、塗りつぶしテンプレート画像TWwを所定の大きさの範囲で複数の大きさに拡大または縮小し、複数の角度に回転させるテンプレート画像拡大縮小・回転処理部33を備える構成とすることが好ましい。本実施形態のワーク位置検出方法は、テンプレート画像拡大縮小・回転工程を含む構成とすることが好ましい。
【0100】
この場合、テンプレート画像エッジ検出部34(テンプレート画像エッジ検出工程)は、塗りつぶしテンプレート画像TWwの複数の大きさ及び複数の角度のそれぞれで、塗りつぶしテンプレート画像TWwのエッジを検出して、複数のテンプレートエッジ画像ETWを生成する。
【0101】
マッチング処理部36(マッチング処理工程)は、ワーク撮影エッジ画像EW30に対するテンプレートエッジ画像ETWの位置をずらしながら、複数の大きさ及び複数の角度のそれぞれのテンプレートエッジ画像ETWとワーク撮影エッジ画像EW30とをマッチングさせる。そして、マッチング処理部36(マッチング処理工程)は、テンプレートエッジ画像ETWの位置と大きさと角度とを組み合わせた複数の組それぞれの類似度を算出する。
【0102】
ワーク位置決定部37(ワーク位置決定工程)は、マッチング処理部36(マッチング処理工程)で算出された複数の組それぞれの類似度に基づいて、載置場所に配置されているワークWの位置を決定する。
【0103】
この好ましい構成のワーク保持用ロボットの制御装置及び制御方法によれば、ワークWの載置場所上の面方向の位置や角度がばらばらであっても、ワーク保持用ロボット20によってワークWを的確に保持させることができる。よって、作業者は、ワークWを載置場所の決まった位置に厳密に配置しなくてもよい。
【0104】
本発明は以上説明した本実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。