(57)【要約】【課題】部材の姿勢を簡単かつ正確に求める。【解決手段】処理部が、Ｘ方向に見て円弧部分８１１と切欠部分８１２とを含む部位８０１をＸ方向から撮像した撮像画像を取得する。処理部が、撮像画像において、所定点を中心とする円周に沿う複数の関心領域の各々に含まれる画素の輝度値の平均値を前記関心領域毎に算出する。処理部が、算出した複数の平均値に基づいて、部位８０１を有するワーク８００の姿勢を求める。【選択図】図２
2020170323.tif 000002
【特許請求の範囲】
【請求項１】
処理部が、所定方向に見て円弧部分と切欠部分とを含む部位を有する部材の姿勢を求める処理方法であって、
前記処理部が、前記部位を前記所定方向から撮像した撮像画像を取得し、
前記処理部が、前記撮像画像において、所定点を中心とする円周に沿う複数の関心領域の各々に含まれる画素の輝度値の平均値を前記関心領域毎に算出し、
前記処理部が、算出した複数の前記平均値に基づいて前記部材の姿勢を求めることを特徴とする処理方法。
【請求項２】
前記処理部が、前記複数の平均値のプロファイルから極値を求め、前記極値から前記部材の姿勢を求めることを特徴とする請求項１に記載の処理方法。
【請求項３】
前記複数の関心領域のいずれかが、前記円弧部分を撮像した画素を包含するように設定されることを特徴とする請求項１又は２に記載の処理方法。
【請求項４】
前記複数の関心領域のいずれかが、前記切欠部分を撮像した画素を包含し、前記切欠部分を撮像した画素で、前記部位の内側に対応する第１領域と、前記部位の外側に対応する第２領域とに区画され、
前記第２領域が、前記第１領域よりも広いことを特徴とする請求項１乃至３のいずれか１項に記載の処理方法。
【請求項５】
前記複数の関心領域のいずれかが、前記切欠部分を撮像した画素と接することを特徴とする請求項１乃至３のいずれか１項に記載の処理方法。
【請求項６】
前記複数の関心領域のいずれかが、前記部位を撮像した画素を包含しないように前記切欠部分を撮像した画素と対向し、
前記処理部が、前記極値として、前記複数の平均値に基づく近似曲線の極値を求めることを特徴とする請求項２に記載の処理方法。
【請求項７】
前記複数の関心領域が、前記所定点を中心に所定角度の間隔で設定されることを特徴とする請求項１乃至６のいずれか１項に記載の処理方法。
【請求項８】
前記処理部が、前記部位を前記所定方向から撮像した基準画像を取得し、前記基準画像、又は前記基準画像を画像処理した画像から、前記複数の関心領域のうちの１つとして、前記切欠部分を撮像した画素と同じ形状の辺を有する領域を生成し、前記複数の関心領域のうちの残りを、前記所定点を中心に前記所定角度刻みで前記１つの関心領域を順次回転させる演算処理により求めることを特徴とする請求項７に記載の処理方法。
【請求項９】
前記処理部が、前記部位を前記所定方向から撮像した基準画像を取得し、前記基準画像、又は前記基準画像を画像処理した画像を表示部に表示させ、入力部を用いて指示された領域を前記複数の関心領域のうちの１つとして設定し、前記複数の関心領域のうちの残りを、前記所定点を中心に前記所定角度刻みで前記１つの関心領域を順次回転させる演算処理により求めることを特徴とする請求項７に記載の処理方法。
【請求項１０】
前記複数の関心領域の各々が、矩形形状であり、
前記複数の関心領域の各々における前記所定点の側の辺の長さをＲＯＩＷ［ｐｉｘｅｌ］、前記所定角度をθｓｔｅｐ［ｒａｄ］としたとき、
１＜ＲＯＩＷ×ｔａｎ（θｓｔｅｐ）
を満たすことを特徴とする請求項８又は９に記載の処理方法。
【請求項１１】
前記処理部が、前記所定点として、前記撮像画像において前記円弧部分を撮像した画素を含む円の中心点を求めることを特徴とする請求項１乃至１０のいずれか１項に記載の処理方法。
【請求項１２】
マニピュレータに保持された前記部材の姿勢を、請求項１乃至１１のいずれか１項に記載の処理方法により求めて、前記マニピュレータを制御し、前記部材を別の部材に組み付けて物品を製造する物品の製造方法。
【請求項１３】
請求項１乃至１１のいずれか１項に記載の処理方法を実行する前記処理部を有する処理装置。
【請求項１４】
前記部材を保持可能なマニピュレータと、
前記マニピュレータに保持された前記部材の姿勢を求める、請求項１３に記載の処理装置と、
前記処理装置により求められた前記部材の姿勢に基づき、前記マニピュレータを制御するコントローラと、
を備えるロボット装置。
【請求項１５】
コンピュータに、請求項１乃至１１のいずれか１項に記載の処理方法を実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを記録した、コンピュータにより読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部材の姿勢を求める技術に関する。
【背景技術】
【０００２】
円板形状、円柱形状、円筒形状、又は円環形状の部材を、他の部材に嵌合するためやアライメントするために、部材にＤカットなどの切欠が設けられていることがある。特許文献１には、ウェハの姿勢として、切欠部分の方位を計測する技術が開示されている。この技術では、光源と複数の検知素子からなる素子集合体とを対向して設置しておく。そして、ウェハの縁を光源と素子集合体との間に位置するようにウェハを移動させ、ウェハを回転させる。光源と素子集合体との間をウェハの切欠部分が通過する際に、素子集合体において光が検知される素子の数が変化するため、素子集合体の信号に基づいて、ウェハの切欠部分の方位を計測する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−１３６２６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の方法では、計測対象である部材を回転駆動しなければならず、処理に時間がかかる。また、特許文献１に開示されている技術は、ウェハのような円板状の部材についての技術であり、円柱形状や円筒形状の部材などの姿勢を正確に求めるのは困難であった。
【０００５】
本発明は、部材の姿勢を簡単かつ正確に求めることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、処理部が、所定方向に見て円弧部分と切欠部分とを含む部位を有する部材の姿勢を求める処理方法であって、前記処理部が、前記部位を前記所定方向から撮像した撮像画像を取得し、前記処理部が、前記撮像画像において、所定点を中心とする円周に沿う複数の関心領域の各々に含まれる画素の輝度値の平均値を前記関心領域毎に算出し、前記処理部が、算出した複数の前記平均値に基づいて前記部材の姿勢を求めることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、部材の姿勢を簡単かつ正確に求めることができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係るロボット装置の説明図である。
【図２】（ａ）は、第１実施形態に係るワークの平面図である。（ｂ）は、第１実施形態に係るワークの正面図である。
【図３】第１実施形態に係る画像処理装置のブロック図である。
【図４】（ａ）及び（ｂ）は、第１実施形態に係る処理方法を含む物品の製造方法を説明するためのフローチャートである。
【図５】（ａ）は、第１実施形態に係るカメラにより得られる基準画像の模式図である。（ｂ）及び（ｃ）は、第１実施形態において基準画像に画像処理を施した画像を示す模式図である。
【図６】第１実施形態における基準画像に対する平均輝度のプロファイルを示すグラフである。
【図７】第１実施形態においてワークを撮像した撮像画像の模式図である。
【図８】（ａ）及び（ｂ）は、第１実施形態におけるワークを撮像して得られた撮像画像の写真を示す図である。
【図９】（ａ）及び（ｂ）は、第１実施形態における撮像画像に対する平均輝度のプロファイルを示すグラフである。
【図１０】（ａ）〜（ｃ）は、第１実施形態における関心領域と切欠部分に対応する画素との位置関係を説明するための図である。
【図１１】（ａ）及び（ｂ）は、第１実施形態における関心領域と切欠部分に対応する画素との位置関係を変化させたときの平均輝度のプロファイルを示すグラフである。
【図１２】（ａ）は、第２実施形態に係るワークの平面図である。（ｂ）は、第２実施形態に係るワークの正面図である。
【図１３】（ａ）は、第２実施形態におけるワークを撮像して得られた撮像画像の模式図である。（ｂ）は、第２実施形態における撮像画像に対する平均輝度のプロファイルを示すグラフである。
【図１４】第２実施形態における関心領域の設定方法を示すフローチャートである。
【図１５】（ａ）〜（ｃ）は、第２実施形態における関心領域の設定方法を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
［第１実施形態］
図１は、第１実施形態に係るロボット装置の説明図である。ロボット装置１０００は、産業用ロボットであり、第１実施形態では、ワーク８００をワーク９００に組み付けて物品を製造するのに用いられる。組付物であるワーク８００は、部材の一例であり、被計測物である。ワーク９００は、ワーク８００とは別の部材であり、ワーク８００の被組付物である。
【００１０】
ロボット装置１０００は、ワーク８００を保持可能な装置の一例であるマニピュレータ２００と、マニピュレータ２００を制御するコントローラ３００と、処理装置の一例である画像処理装置１００と、を備える。ロボット装置１０００は、光源４００と、撮像部の一例であるカメラ５００と、入力部の一例である入力装置６００と、表示部の一例であるモニタ７００と、を備える。
【００１１】
画像処理装置１００には、コントローラ３００、光源４００、カメラ５００、入力装置６００、モニタ７００が電気的に接続されている。コントローラ３００には、マニピュレータ２００が電気的に接続されている。光源４００又はカメラ５００は、第１実施形態では、画像処理装置１００によって制御されるが、ＰＬＣなどの装置によって制御されるようにしてもよい。カメラ５００及び光源４００は、所定の位置に固定されている。
【００１２】
マニピュレータ２００は、複数の関節を有し、各関節を動作させることで、ハンド２０２を、可動範囲内で任意の位置に移動させることができる。マニピュレータ２００の基端部は、作業台などに固定される。マニピュレータ２００の先端部は、エンドエフェクタの一例であるハンド２０２であり、ワーク８００を保持することができる。なお、ワーク８００を保持可能な装置としてマニピュレータ２００が好適であるが、これに限定するものではない。ワーク８００を保持可能な装置は、カメラ５００でワーク８００を撮像する間、保持することができればよく、例えば固定治具であってもよい。
【００１３】
光源４００は、ワーク８００に光を照射する照明装置である。光源４００は、例えばＬＥＤやハロゲンランプ等、画像処理に必要な光量の光をワーク８００に照射することが可能なものであればいかなるものでもよい。光源４００は、ワーク８００に光を照射することができれば、いかなる照明装置であってもよく、例えばリング照明、バー照明、フラット照明などであってもよい。また、光源４００の発光面側に拡散板やレンズ等を配置してもよい。
【００１４】
カメラ５００は、ワーク８００からの反射光を受光して、撮像画像のデータを生成するデジタルカメラであり、撮像レンズ５０１と、イメージセンサ５０２と、を有する。イメージセンサ５０２は、例えばＣＭＯＳイメージセンサ又はＣＣＤイメージセンサである。イメージセンサ５０２は、２次元画像を取得できればよく、例えばエリアセンサ又はラインセンサが好適である。撮像レンズ５０１は、倍率を調整する対物レンズユニットであり、イメージセンサ５０２においてワーク８００の主要部分、好ましくはワーク８００の全体が撮像されるように調整される。
【００１５】
画像処理装置１００は、カメラ５００で撮像された撮像画像に対して画像処理を行い、ワーク８００の姿勢、即ちワーク８００に形成された切欠部分の方位角度を計測する。
【００１６】
入力装置６００は、オペレータにより操作可能であり、オペレータの操作に応じた指示を画像処理装置１００に入力することができる。入力装置６００は、キーボード６０１と、ポインティングデバイスの一例であるマウス６０２と、を有する。
【００１７】
図２（ａ）は、第１実施形態に係るワーク８００の平面図である。図２（ｂ）は、第１実施形態に係るワーク８００の正面図である。ワーク８００は、軸状の部材である。図２（ｂ）は、ワーク８００を、所定方向、つまり軸方向であるＸ方向に見た図であり、図２（ａ）は、ワーク８００を、Ｘ方向に直交する方向から視た図である。
【００１８】
ワーク８００は、図２（ａ）に示すように、円柱状の部位８０１と、部位８０１の外側に配置された円筒部材８０２とを有する。部位８０１は、例えば金属で構成されている。円筒部材８０２は、例えば樹脂で構成されている。部位８０１のＸ方向の先端部８１０は、端面８１３と、端面８１３に対して傾斜する斜面８１４とを有する。部位８０１は、図１に示すワーク９００の穴９０１に嵌合させる部位であり、Ｄカットが施されている。なお、ワーク９００の穴９０１も部位８０１と同様の形状の穴である。部位８０１は、図２（ｂ）に示すように、Ｘ方向に見て、円弧部分８１１と、切欠部分８１２とを有する。円弧部分８１１とは、円弧の形状をした部分である。切欠部分８１２とは、円を切り欠いた残部の形状の部分である。切欠部分８１２は、直線形状であるが、これに限定するものではなく、例えばＶ字形状又はＵ字形状であってもよい。ワーク８００において、カメラ５００の撮像対象となる主要部分は、第１実施形態では部位８０１の先端部８１０である。
【００１９】
図３は、第１実施形態に係る画像処理装置１００のブロック図である。画像処理装置１００は、コンピュータで構成されており、処理部としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１を備える。また、画像処理装置１００は、記憶部として、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０４を備えている。また、画像処理装置１００は、記録ディスクドライブ１０５、及びインタフェース（Ｉ／Ｆ）１１１〜１１６を備えている。
【００２０】
ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４、記録ディスクドライブ１０５、Ｉ／Ｆ１１１〜１１６は、相互に通信可能にバス１１０で接続されている。ＲＯＭ１０２には、ＢＩＯＳなどが格納されている。ＲＡＭ１０３は、ＣＰＵ１０１の演算処理結果等、各種データを一時的に記憶する。ＨＤＤ１０４は、ＣＰＵ１０１の演算処理結果や外部から取得した各種データ等を記憶可能である。ＨＤＤ１０４には、プログラム１３０が記録されている。ＣＰＵ１０１は、ＨＤＤ１０４に記録されたプログラム１３０に基づいて、後述する処理方法を実行する。記録ディスクドライブ１０５は、記録ディスク１４０に記録された各種データやプログラム等を読み出すことができる。
【００２１】
Ｉ／Ｆ１１１には、キーボード６０１が接続されており、オペレータがキーボード６０１を操作することにより、ＣＰＵ１０１にオペレータの指示を入力することができる。Ｉ／Ｆ１１２には、マウス６０２が接続されており、オペレータがマウス６０２を操作することにより、ＣＰＵ１０１にオペレータの指示を入力することができる。Ｉ／Ｆ１１３には、モニタ７００が接続されている。ＣＰＵ１０１の制御により、モニタ７００に画像を表示することができる。Ｉ／Ｆ１１４には、光源４００が接続されており、ＣＰＵ１０１の制御により、光源４００を点滅することができる。Ｉ／Ｆ１１５には、カメラ５００が接続されており、ＣＰＵ１０１の制御により、カメラ５００に所定のタイミングで撮像を行わせることができ、また撮像画像をカメラ５００からＣＰＵ１０１へ送信することができる。Ｉ／Ｆ１１６には、コントローラ３００が接続されており、コントローラ３００とＣＰＵ１０１との間で画像処理結果などのデータの通信が可能となる。
【００２２】
なお、第１実施形態では、コンピュータによって読取可能な記録媒体がＨＤＤ１０４であり、ＨＤＤ１０４にプログラム１３０が記録されているが、これに限定するものではない。プログラム１３０は、コンピュータによって読取可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。プログラム１３０を供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。
【００２３】
次に、第１実施形態に係る処理方法を含む物品の製造方法について説明する。図４（ａ）及び図４（ｂ）は、第１実施形態に係る処理方法を含む物品の製造方法を説明するためのフローチャートである。図４（ａ）に示すフローチャートは、生産工程において１度だけ行えばよい処理である。図４（ｂ）に示すフローチャートの処理は、生産工程において繰り返し行う処理である。以下、図４（ａ）及び図４（ｂ）に示すフローチャートの処理について、図１〜図３を参照しながら説明する。
【００２４】
まず、図４（ａ）に示すように、画像処理装置１００のＣＰＵ１０１は、入力装置６００の指示に従って、ワーク８００の姿勢を計測する画像処理を行うための初期設定をする（Ｓ１）。初期設定後、画像処理装置１００は、画像処理によりワーク８００の姿勢を計測することが可能となる。なお、この設定は、オペレータの判断で任意の時期に更新してもよい。
【００２５】
次に、図４（ｂ）のフローチャートの処理について説明する。コントローラ３００は、不図示のトレイに積載された複数のワーク８００のうちの１つをマニピュレータ２００に保持させ、マニピュレータ２００に対してワーク８００を位置合わせするためにワーク８００を一旦、不図示の置台に載置させる（Ｓ１１）。
【００２６】
次に、コントローラ３００は、置台に載置されたワーク８００を再びマニピュレータ２００に保持させる（Ｓ１２）。これにより、マニピュレータ２００に対してワーク８００が位置決めされるが、ワーク８００の切欠部分８１２の方位、即ちワーク８００の姿勢まではわからない。
【００２７】
コントローラ３００は、マニピュレータ２００を制御して、ワーク８００をカメラ５００に対向させる（Ｓ１３）。このとき、コントローラ３００は、ワーク８００の先端部８１０がカメラ５００を向くように、即ちカメラ５００がワーク８００の先端部８１０を図２（ｂ）のＸ方向から撮像可能なように、マニピュレータ２００を動作させる。
【００２８】
コントローラ３００は、ワーク８００をカメラ５００に対向させた後、画像処理装置１００に指令を送る。画像処理装置１００は、コントローラ３００からの指令を受けたとき、光源４００を点灯させ、カメラ５００に撮像を行わせ、カメラ５００から撮像画像を取得する（Ｓ１４）。
【００２９】
画像処理装置１００は、マニピュレータ２００に対するワーク８００の姿勢を求める画像処理を行う（Ｓ１５）。画像処理装置１００は、ワーク８００の姿勢の情報をコントローラ３００に送る。ワーク８００の姿勢の情報を受けたコントローラ３００は、ワーク８００の姿勢の情報に基づいてマニピュレータ２００を制御し、ワーク８００をワーク９００に組み付けて物品を製造する（Ｓ１６）。
【００３０】
ところで、ワーク８００の部位８０１の先端部８１０において、個体差により表面粗さのばらつきがあると、Ｘ方向から撮像した時の２次元画像の輝度にばらつきが発生することがある。画像処理の一例として、計測対象物の標準的な画像をモデル画像として登録しておき、撮像画像から同じ特徴と一致する座標と方位角度を探索するパターンマッチングを利用することが考えられる。しかし、パターンマッチングを利用する方法では、ワークの個体差により撮像画像において輝度のばらつきがあると、モデル画像と撮像画像との一致精度が極端に低下する場合がある。また、探索精度をできるだけ上げるために、輝度の補正や特徴量の抽出などを行う必要があるので、画像処理プロセスが複雑になり、オペレータによる条件設定に時間を要する。
【００３１】
そこで、第１実施形態では、画像処理装置１００は、上述のパターンマッチング処理とは異なる画像処理を行う。まず、図４（ａ）に示すステップＳ１の初期設定について具体的に説明する。先端部８１０の表面粗さの小さい、高精度に作成された、基準となるワーク８００を用意しておく。この基準となるワーク８００を、マニピュレータ２００に保持させ、このワーク８００の先端部８１０をカメラ５００により撮像させる。これにより、ＣＰＵ１０１は、基準となる基準画像を取得する。なお、ワーク８００を撮像する際には、切欠部分８１２が所定の方向、例えば上方向を向くように、ワーク８００の姿勢を調整しておく。
【００３２】
図５（ａ）は、第１実施形態に係るカメラにより得られる基準画像の模式図である。基準画像ＩＡにおいて、背景に対応する画素は、黒色となり相対的に輝度が低く、部位に対応する画素は、白色となり相対的に輝度が高いことを示す。図５（ａ）に示す撮像画像は、光源４００として例えばリング照明を用いることで得られる。なお、光源４００の位置又は種類によっては、輝度、即ち明暗が反転した画像が得られる。例えば光源としてフラット照明を用い、ワーク８００の下から光を照射するようにすれば、図５（ａ）の画像に対して明暗が反転した画像が得られる。なお、取得した基準画像は、画像編集ソフトなどでノイズ除去や２値化などの修正処理を行っても良い。
【００３３】
図５（ｂ）及び図５（ｃ）は、第１実施形態において基準画像ＩＡに画像処理を施した画像ＩＢを示す模式図である。ＣＰＵ１０１は、基準画像ＩＡに輪郭を抽出する画像処理を施すことで、画像ＩＢを得る。輪郭を抽出する方法は、ラプラシアンフィルタ、ソーベルフィルタ、Ｃａｎｎｙ法などがあるが、所望の輪郭を抽出できれば、いずれの方法であってもよい。画像ＩＢには、図２（ｂ）に示す円弧部分８１１を撮像した画素８１１Ｉと、図２（ｂ）に示す切欠部分８１２を撮像した画素８１２Ｉとが含まれる。つまり、画素８１１Ｉは、円弧部分８１１に対応し、画素８１２Ｉは、切欠部分８１２に対応する。
【００３４】
ＣＰＵ１０１は、図５（ｂ）に示す画像ＩＢにおいて、ハフ変換や最小外接円探索などの画像処理を施すことにより、円弧形状の画素８１１Ｉを含む円Ｃ０の中心点ＣＩの座標値を求める。なお、円Ｃ０は、円弧形状の画素８１１Ｉと重なるが、図５（ｂ）では、便宜上、一点鎖線で示す円Ｃ０を、実線で示す円弧形状の画素８１１Ｉと重ならないように図示している。
【００３５】
また、ＣＰＵ１０１は、図５（ｂ）に示すように１つの関心領域ＲＯＩ１を演算により自動で設定する。関心領域ＲＯＩ１は、様々な形を選択することができるが、画素８１２Ｉの形状と、関心領域ＲＯＩ１において、中心点ＣＩの側の辺ＲＯＩＳの形状とを一致させるのが好ましい。第１実施形態では、画素８１２Ｉが直線形状であるので、辺ＲＯＩＳも直線形状である。関心領域ＲＯＩ１は、第１実施形態では矩形形状である。
【００３６】
第１実施形態では、ＣＰＵ１０１は、図５（ｃ）に示すように、中心点ＣＩを中心とする円周上、例えば円Ｃ０上に複数の関心領域ＲＯＩ１〜ＲＯＩ１２を設定する。複数の関心領域ＲＯＩ１〜ＲＯＩ１２は、中心点ＣＩを中心に所定角度θｓｔｅｐ［ｒａｄ］の間隔で設定される。
【００３７】
具体的に説明すると、ＣＰＵ１０１は、画像ＩＢから、複数の関心領域ＲＯＩ１〜ＲＯＩ１２のうちの１つの関心領域ＲＯＩ１として、画素８１２Ｉと同じ形状の辺ＲＯＩＳを有する領域を生成する。ＣＰＵ１０１は、複数の関心領域ＲＯＩ１〜ＲＯＩ１２のうちの残りを、中心点ＣＩを中心に所定角度刻みで１つの関心領域ＲＯＩ１を順次回転させる演算処理、例えばアフィン変換により求める。このように、ＣＰＵ１０１は、関心領域ＲＯＩ１と同じ形状及び同じ面積の関心領域ＲＯＩ２〜ＲＯＩ１２を、中心点ＣＩを中心とする円周に沿って設定する。
【００３８】
各関心領域ＲＯＩ１〜ＲＯＩ１２の辺ＲＯＩＳの長さは、計測精度に影響する。辺ＲＯＩＳの長さをＲＯＩＷ［ｐｉｘｅｌ］とすると、
１＜ＲＯＩＷ×ｔａｎ（θｓｔｅｐ）
の関係を満たすのが好ましい。この関係を満たすことで、θｓｔｅｐ［ｒａｄ］程度の精度で計測することができる。
【００３９】
これら関心領域ＲＯＩ１〜ＲＯＩ１２と中心点ＣＩとの相対的な座標関係が、初期設定として、予めＨＤＤ１０４に記憶される。なお、関心領域ＲＯＩ２〜ＲＯＩ１２を設定するタイミングは、ステップＳ１の初期設定時に限らず、例えば、図４（ｂ）のステップＳ１５の画像処理のタイミングであってもよい。ここで、複数の関心領域ＲＯＩ１〜ＲＯＩ１２のうち、いずれかの関心領域、例えば関心領域ＲＯＩ２〜ＲＯＩ１２は、画素８１１Ｉを包含するように設定される。図５（ｃ）では、説明の便宜上、１２個の関心領域ＲＯＩ１〜ＲＯＩ１２を設定するように図示したが、この数に限定するものではない。
【００４０】
ここで、図５（ａ）の基準画像ＩＡに複数の関心領域を設定し、各関心領域内の画素の輝度値の平均値（平均輝度）を計算した。部位８０１の円弧部分８１１に対応する画素の曲率半径は２００［ｐｉｘｅｌ］、切欠部分８１２に対応する画素は、中心点ＣＩから１５０［ｐｉｘｅｌ］の位置にあった。複数の関心領域は、中心点ＣＩを中心に０．５［ｄｅｇ］間隔で配置した。各関心領域は、幅２６０［ｐｉｘｅｌ］、高さ５０［ｐｉｘｅｌ］の矩形形状とした。１つの関心領域は、切欠部分に対応する画素を含むように、部位に対応する画素側にプラス１０［ｐｉｘｅｌ］重なる位置に設定した。
【００４１】
この条件で各関心領域内の平均輝度を計算した。図６は、第１実施形態における基準画像に対する平均輝度のプロファイルを示すグラフである。横軸は切欠部分が向いている所定方向、第１実施形態では上方向に対する角度［ｄｅｇ］である。縦軸は平均輝度である。切欠部分は上方向を向いているので、図６において、平均輝度のプロファイルを示す曲線は、０［ｄｅｇ］（３６０［ｄｅｇ］）で極小値をとる。なお、明暗が反転した画像であれば、平均輝度のプロファイルを示す曲線は、０［ｄｅｇ］（３６０［ｄｅｇ］）で極大値をとることになる。
【００４２】
次に、物品を製造しているときについて説明する。図４（ｂ）のステップＳ１４により、マニピュレータ２００に保持されたワーク８００の先端部８１０がカメラ５００によって撮像される。図４（ｂ）のステップＳ１４で撮像されるワーク８００は、実際にワーク９００に組み付けられるワークであり、個体差でワーク８００の先端部８１０の表面粗さにばらつきがあり、撮像画像における輝度にもばらつきが生じる。図７は、第１実施形態においてワーク８００を撮像した撮像画像Ｉ１の模式図である。撮像画像Ｉ１には、図２（ｂ）に示す円弧部分８１１を撮像した画素８１１Ｉ１と、図２（ｂ）に示す切欠部分８１２を撮像した画素８１２Ｉ１とが含まれる。つまり、画素８１１Ｉ１は、円弧部分８１１に対応し、画素８１２Ｉ１は、切欠部分８１２に対応する。
【００４３】
ＣＰＵ１０１は、図４（ｂ）のステップＳ１５において、撮像画像Ｉ１にハフ変換や最小外接円探索などの画像処理を施し、所定点として、円弧形状の画素８１１Ｉ１を含む円の中心点ＣＩ１の座標値を求める。そして、ＣＰＵ１０１は、ＨＤＤ１０４に記憶された中心点ＣＩと関心領域ＲＯＩ１〜ＲＯＩ１２との相対関係に基づき、中心点ＣＩ１の座標点を基準とする関心領域ＲＯＩ１〜ＲＯＩ１２を設定する。なお、マニピュレータ２００の動作の再現性が高ければ、ステップＳ１では、画像上の関心領域ＲＯＩ１〜ＲＯＩ１２の座標値をＨＤＤ１０４に記憶させておけばよい。そして、ステップＳ１５では、関心領域ＲＯＩ１〜ＲＯＩ１２のデータを読み出して、関心領域ＲＯＩ１〜ＲＯＩ１２を撮像画像Ｉ１に設定すればよい。マニピュレータ２００の動作の再現性が高ければ、撮像画像中、中心点ＣＩと中心点ＣＩ１との絶対的な座標値が一致することが保障されるため、中心点ＣＩ１の座標値を求める必要がない。
【００４４】
ＣＰＵ１０１は、撮像画像Ｉ１において、複数の関心領域ＲＯＩ２〜ＲＯＩ１２の各々に含まれる画素の輝度値の平均値（平均輝度）を関心領域毎に算出する。そして、ＣＰＵ１０１は、算出した複数の平均輝度に基づいてワーク８００の姿勢を求める。以下、具体例を挙げて説明する。
【００４５】
図８（ａ）及び図８（ｂ）は、第１実施形態におけるワーク８００を撮像して得られた撮像画像の写真を示す図である。図８（ａ）に写り込んでいるワーク８００と、図８（ｂ）に写り込んでいるワーク８００とは、異なるものである。なお、光源４００は、いずれの場合もリング照明とした。図８（ａ）及び図８（ｂ）に示すように、ワーク８００の個体差で、撮像画像における輝度が異なるものとなる。例えば、図８（ｂ）に示す撮像画像においては、ワーク８００先端部８１０の斜面８１４において表面の凹凸が大きいサンプルであったため、図８（ａ）よりも暗い撮像画像になっている。なお、撮像画像において、切欠部分８１２が上を向いているが、これに限定するものではなく、どの方位を向いていてもよい。
【００４６】
図８（ａ）及び図８（ｂ）に示すそれぞれの撮像画像に対し、複数の関心領域を設定し、各関心領域内の平均輝度を計算した。複数の関心領域は、中心点ＣＩを中心に０．５［ｄｅｇ］間隔で配置した。各関心領域は、幅２６０［ｐｉｘｅｌ］、高さ５０［ｐｉｘｅｌ］の矩形形状とした。１つの関心領域は、切欠部分に対応する画素を含むように、部位に対応する画素側にプラス１０［ｐｉｘｅｌ］重なる位置に設定した。
【００４７】
図９（ａ）及び図９（ｂ）は、第１実施形態における撮像画像に対する平均輝度のプロファイルを示すグラフである。図９（ａ）は、図８（ａ）に示す撮像画像に対する平均輝度のプロファイルのグラフである。図９（ｂ）は、図８（ｂ）に示す撮像画像に対する平均輝度のプロファイルのグラフである。
【００４８】
ＣＰＵ１０１は、図９（ａ）及び図９（ｂ）に示すような平均輝度のプロファイルから、極値、即ち極小値を探索により求める。なお、図８（ａ）及び図８（ｂ）の撮像画像において明暗が反転している場合には、極値として極大値を探索すればよい。そして、ＣＰＵ１０１は、求めた極値からワーク８００の姿勢を求める。具体的には、ＣＰＵ１０１は、求めた極値に対応する角度、即ちワーク８００の切欠部分８１２の方位を求める。図９（ａ）及び図９（ｂ）の例では、極値となる角度、即ち切欠部分８１２の方位が０［ｄｅｇ］と求められる。ワーク８００の個体差により、図８（ａ）に示すような明るい撮像画像であっても、図８（ｂ）に示すような暗い撮像画像であっても、ワーク８００の切欠部分８１２の方位、即ちワーク８００の姿勢を高精度に求めることができる。第１実施形態では、パターンマッチングのような複雑な画像処理を必要とせず、オペレータによる条件設定も容易である。また、第１実施形態によれば、撮像画像を二値化処理する必要もない。したがって、二値化処理の閾値を、撮像画像の明暗に応じて変更するような煩雑な作業も必要なく、オペレータによる条件設定も容易である。
【００４９】
ここで、図７に示す撮像画像Ｉ１において、部位８０１の先端部８１０に対応する画素８１０Ｉ１は、白色で示している。背景の画素８３０Ｉ１は、ハッチングで示している。図７に示すように、複数の関心領域ＲＯＩ１〜ＲＯＩ１２のうち、いずれかの関心領域、例えば関心領域ＲＯＩ２〜ＲＯＩ１２は、画素８１１Ｉ１を包含する、つまり画素８１０Ｉ１と画素８３０Ｉ１とに跨るように設定される。これにより、平均輝度のプロファイルに極値が存在することになる。
【００５０】
なお、以上の説明では、予め複数の関心領域を設定しておく場合について説明したが、これに限定するものではない。例えばステップＳ１において１つの関心領域ＲＯＩ１のみを設定しておき、ステップＳ１５において関心領域ＲＯＩ１又は撮像画像Ｉ１を回転操作して、その都度、関心領域ＲＯＩ１内の平均輝度を求めてもよい。これらの回転操作は、例えばアフィン変換をすればよい。なお、関心領域ＲＯＩ１を回転操作する方が、計算負荷が低く、処理速度が速いため好ましい。いずれの場合であっても、結果的に複数の関心領域が撮像画像に対して設定されることになる。もちろん、第１実施形態のように、予め複数の関心領域を作成しておけば、その都度、関心領域を計算するよりも計算負荷が低く、処理速度が速いため好ましい。
【００５１】
次に、関心領域ＲＯＩ１と画素８１２Ｉ１との位置関係について説明する。図１０（ａ）〜図１０（ｃ）は、第１実施形態における関心領域ＲＯＩ１と切欠部分に対応する画素８１２Ｉ１との位置関係を説明するための図である。図１０（ａ）〜図１０（ｃ）に示すように、関心領域ＲＯＩ１を、プラス側及びマイナス側に位置をずらして平均輝度のプロファイル（曲線）がどのように変化するかを検証した。ここで、切欠部分に対応する画素８１２Ｉ１を基準に、部位８０１に対応する画素８１０Ｉ１の側を「プラス」とし、その反対側を「マイナス」としている。関心領域ＲＯＩ１の辺ＲＯＩＳが画素８１２Ｉ１と重なる場合、プラスマイナス「０」となる。
【００５２】
図１１（ａ）及び図１１（ｂ）は、関心領域ＲＯＩ１と切欠部分に対応する画素８１２Ｉ１との位置関係を変化させたときの平均輝度のプロファイルを示すグラフである。図１１（ａ）及び図１１（ｂ）には、プラス３０［ｐｉｘｅｌ］からマイナス２０［ｐｉｘｅｌ］まで、５［ｐｉｘｅｌ］刻みで変化させたプロファイルを図示している。
【００５３】
図１１（ａ）及び図１１（ｂ）から分かるように、関心領域ＲＯＩ１の辺ＲＯＩＳが、図１０（ｂ）に示すように、切欠部分を撮像した画素８１２Ｉ１と接する場合、即ち「０」の位置関係の場合が、最も測定精度が高い。
【００５４】
図１０（ａ）に示すように、関心領域ＲＯＩ１が画素８１２Ｉ１を包含する場合、関心領域ＲＯＩ１は、画素８１２Ｉ１で、部位８０１の内側に対応する第１領域Ｒ１と、部位８０１の外側に対応する第２領域Ｒ２とに区画される。第１領域Ｒ１は、画素８１０Ｉ１と重なる領域であり、第２領域Ｒ２は、画素８１０Ｉ１と重ならない領域である。第２領域Ｒ２が、第１領域Ｒ１よりも広い場合、即ち、図１１（ａ）において、プラス２５［ｐｉｘｅｌ］からプラス５［ｐｉｘｅｌ］が好適である。関心領域ＲＯＩ１の高さは、ワーク８００の製造誤差やワーク８００を保持する位置の誤差を考慮する必要がある。
【００５５】
また、図１０（ｃ）に示すように、関心領域ＲＯＩ１が、画素８１０Ｉ１を包含しないように画素８１２Ｉ１と対向する場合、即ち、関心領域ＲＯＩ１が、画素８１０Ｉ１と重ならない場合、角度０［ｄｅｇ］近傍で平均輝度の値がフラットになる。そのため、この場合、ＣＰＵ１０１は、曲線を補完する、即ち複数の平均輝度の値から近似曲線を求めればよい。そして、近似曲線の極値を求めればよい。このように、ＣＰＵ１０１に推定演算を行わせることで、極値を推定することができる。以上、第１実施形態によれば、ワーク８００の切欠部分８１２の方位、即ちワーク８００の姿勢を簡単かつ正確に求めることができる。
【００５６】
［第２実施形態］
第２実施形態に係る処理方法について説明する。なお、第２実施形態におけるロボット装置の構成は、第１実施形態と同様であり、説明を省略し、適宜、図１、図３、図４（ａ）及び図４（ｂ）等を参照しながら説明する。
【００５７】
図１２（ａ）は、第２実施形態に係るワーク８００の平面図である。図１２（ｂ）は、第２実施形態に係るワーク８００の正面図である。ワーク８００は、軸状の部材である。図１２（ｂ）は、ワーク８００を、所定方向、つまり軸方向であるＸ方向に視た図であり、図１２（ａ）は、ワーク８００を、Ｘ方向に直交する方向から視た図である。図１２（ｂ）に示すように、切欠部分８１２はＶ字形状である。
【００５８】
図１３（ａ）は、第２実施形態におけるワーク８００を撮像して得られた撮像画像Ｉ２の模式図である。図１３（ｂ）は、撮像画像Ｉ２に対する平均輝度のプロファイルを示すグラフである。なお、このプロファイルを得るための関心領域ＲＯＩは、後述する方法で設定される。ＣＰＵ１０１は、図１３（ｂ）に示すような平均輝度のプロファイルから、極値、即ち極小値を探索により求める。なお、図１３（ａ）の撮像画像Ｉ２において明暗が反転している場合には、極値として極大値を探索すればよい。そして、ＣＰＵ１０１は、求めた極値からワーク８００の姿勢を求める。具体的には、ＣＰＵ１０１は、求めた極値に対応する角度、即ちワーク８００の切欠部分８１２の方位を求める。図１３（ｂ）の例では、極値となる角度が３４［ｄｅｇ］と求められる。ワーク８００の切欠部分８１２がＶ字形状であっても、ワーク８００の切欠部分８１２の方位、即ちワーク８００の姿勢を高精度に求めることができる。また、パターンマッチングのような複雑な画像処理を必要としないので、オペレータによる条件設定も容易である。
【００５９】
ここで、上述の第１実施形態では、図４（ａ）に示すステップＳ１において、ＣＰＵ１０１が自動で関心領域ＲＯＩ１を設定する場合について説明したが、第２実施形態では、オペレータが手動で関心領域ＲＯＩを設定する場合について説明する。
【００６０】
図１４は、第２実施形態における関心領域の設定方法を示すフローチャートである。図１５（ａ）〜図１５（ｃ）は、第２実施形態における関心領域の設定方法を説明するための図である。第２実施形態では、図３に示すプログラム１３０に、図１４に示すフローチャートを実行するためのアルゴリズムが含まれており、オペレータは、簡単に関心領域ＲＯＩを作成することができる。
【００６１】
まず、ＣＰＵ１０１は、基準画像を第１実施形態と同様に取得しているものとする。ＣＰＵ１０１は、基準画像に対して、輪郭を抽出する画像処理を施す（Ｓ１−１）。輪郭を抽出する方法は、ラプラシアンフィルタ、ソーベルフィルタ、Ｃａｎｎｙ法などがあるが、所望の輪郭を抽出できれば、いずれの方法であってもよい。ＣＰＵ１０１は、図１５（ａ）に示すような、輪郭を抽出した画像ＩＢ２を、モニタ７００に表示させる（Ｓ１−２）。なお、オペレータが視認しやすいように、輪郭を抽出した画像ＩＢ２をモニタ７００に表示させるようにしたが、画像処理を施していない基準画像をモニタ７００に表示させてもよい。
【００６２】
ＣＰＵ１０１は、ハフ変換や最小外接円探索などにより、中心点ＣＩを求める（Ｓ１−３）。オペレータは、モニタ７００を見ながらマウス６０２を操作して、関心領域の角となる複数の点を選択する（Ｓ１−４）。図１５（ｂ）の例では、３つの点Ｐ１，Ｐ２，Ｐ３を選択する。ＣＰＵ１０１は、選択された３つの点Ｐ１，Ｐ２，Ｐ３から、所定のアルゴリズムに従い、図１５（ｃ）に示すように、関心領域ＲＯＩを作成する（Ｓ１−５）。第２実施形態においても、予め関心領域ＲＯＩを所定角度刻みで複数作成しておくのが好適であるが、ワーク８００の姿勢を計測する度に、複数の関心領域ＲＯＩを作成するようにしてもよい。
【００６３】
具体的に説明すると、ＣＰＵ１０１は、３つの点Ｐ１，Ｐ２，Ｐ３を結ぶ線Ｌ１を作成する。線Ｌ１は、直線であるが、曲線であってもよい。ＣＰＵ１０１は、線Ｌ１と、線Ｌ１を中心点から遠ざかる方向に平行移動させた線とで領域を作成し、当該領域が上側となるように中心点ＣＩを中心に領域を回転操作することで、図１５（ｃ）に示す関心領域ＲＯＩを作成する。このようにして、ＣＰＵ１０１は、入力装置６００のマウス６０２を用いて指示された領域を複数の関心領域のうちの１つとして設定する。ＣＰＵ１０１は、第１実施形態と同様に、複数の関心領域のうちの残りを、中心点ＣＩを中心に所定角度刻みで１つの関心領域ＲＯＩを順次回転させる演算処理により求める。
【００６４】
なお、図１３（ａ）において、円の半径は２２４［ｐｉｘｅｌ］であった。Ｖ字の溝部分は中心点から１３６［ｐｉｘｅｌ］離れた位置にある。Ｖ字の端部分は中心点から１６０［ｐｉｘｅｌ］離れた位置にある。関心領域ＲＯＩは、幅が２６０［ｐｉｘｅｌ］、２辺の距離が５０［ｐｉｘｅｌ］である。中心点と関心領域ＲＯＩとの離間距離は、関心領域ＲＯＩにおける中心点側の辺ＲＯＩＳと切欠部分とが接するような距離である。
【００６５】
以上、第２実施形態によれば、第１実施形態と同様、ワーク８００の切欠部分８１２の方位、即ちワーク８００の姿勢を簡単かつ正確に求めることができる。
【００６６】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
【００６７】
上記実施形態では、切欠部分を有する部位（部材）が、円柱形状の場合について説明したが、これに限定するものではなく、円板形状、円筒形状、又は円環形状であってもよい。また、部位が部材に含まれていればよく、部位そのものが部材であってもよい。
【００６８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６９】
１００…画像処理装置（処理装置）、１０１…ＣＰＵ（処理部）、２００…マニピュレータ、８００…ワーク（部材）、８１１…円弧部分、８１２…切欠部分、１０００…ロボット装置
【図１】
2020170323.tif 000003
【図２】
2020170323.tif 000004
【図３】
2020170323.tif 000005
【図４】
2020170323.tif 000006
【図５】
2020170323.tif 000007
【図６】
2020170323.tif 000008
【図７】
2020170323.tif 000009
【図８】
2020170323.tif 000010
【図９】
2020170323.tif 000011
【図１０】
2020170323.tif 000012
【図１１】
2020170323.tif 000013
【図１２】
2020170323.tif 000014
【図１３】
2020170323.tif 000015
【図１４】
2020170323.tif 000016
【図１５】
2020170323.tif 000017