(57)【要約】【課題】撮像された被計測物の撮像画像がボケていても、精度良く被計測物の位置を計測できる位置計測装置を提供する。【解決手段】被計測物Ｗを載置するとともに複数の反射光を放出するマーカー９０を備えたステージ７２と、前記マーカー９０に光を照射する光照射部４８と、前記被計測物Ｗと前記マーカー９０とを異なった視線方向から撮像する複数の撮像装置２０，２１とを備え、前記複数の撮像装置２０，２１により撮像された撮像画像Ｂから前記マーカー９０のマーカー画像１００を抽出して、前記マーカー画像１００から点拡散関数を求める点拡散関数算出部３６と、前記点拡散関数を用いて前記撮像画像Ｂを画像変換して変換画像Ｇを生成する画像生成部３７と、生成された前記変換画像Ｇから前記被計測物Ｗの位置を算出する位置算出部３９と、を有することを特徴とする位置計測装置１。【選択図】図１
2010276447.tif 000002
【特許請求の範囲】
【請求項１】
被計測物を載置するとともに、規則性を有する複数の反射光を放出するマーカーを備えたステージと、
前記マーカーに対して光を照射する光照射部と、
前記被計測物と前記マーカーとを同一画像として異なった視線方向から撮像する複数の撮像装置と、を備え、
前記複数の撮像装置により撮像された撮像画像から前記マーカーのマーカー画像を抽出して、前記マーカー画像から点拡散関数を算出する点拡散関数算出部と、
算出した前記点拡散関数を用いて前記撮像画像を画像変換することにより変換画像を生成する画像生成部と、
生成された前記変換画像から前記被計測物の位置を算出する位置算出部と、を有することを特徴とする位置計測装置。
【請求項２】
前記マーカーは、複数の反射面が三次元的に設けられていることを特徴とする請求項１に記載の位置計測装置。
【請求項３】
前記光照射部は、前記撮像装置の露光時間より短い間隔で前記マーカーに対して光を照射することを特徴とする請求項１または２に記載の位置計測装置。
【請求項４】
前記マーカーの位置情報を含む反射パターンを予め記憶しているパターン記憶部を備え、
前記点拡散関数算出部は、撮像された前記マーカーの前記マーカー画像と前記パターン記憶部に記憶された前記反射パターンとを比較する画像比較部を有することを特徴とする請求項１乃至３のいずれか一項に記載の位置計測装置。
【請求項５】
光照射部から照射される光を受けて規則性を有する反射光を反射するマーカーを備えたステージに載置される被計測物を、複数の撮像装置により前記マーカーとともに、異なった視線方向から撮像する撮像工程と、
前記撮像工程で撮像された撮像画像から前記マーカーのマーカー画像を抽出して、前記マーカー画像のパターン変化から点拡散関数を算出する点拡散関数算出工程と、
算出した前記点拡散関数を用いて前記撮像画像を画像変換することにより変換画像を生成する画像生成工程と、
生成された前記変換画像から前記被計測物の位置を算出する位置算出工程と、を有することを特徴とする位置計測方法。
【請求項６】
請求項１乃至４のいずれか一項に記載の位置計測装置で作業対象物の位置を計測することを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の位置もしくは物体の特徴点の座標を計測する位置計測装置、位置計測方法およびこの位置計測装置を備えたロボットシステムに関する。
【背景技術】
【０００２】
物体の位置もしくは形状を計測する方法として、ステレオ計測法が知られている。ステレオ計測法は、撮像装置を用いて視線方向の異なる複数の方向から物体を撮像し、その撮像画像から対応する点（計測点）を見つけて、三角測量の原理により計測点の位置座標を求める。ステレオ計測法では、計測点を撮像した計測点像が複数の画像においてどの場所に位置するかを検出する必要がある。
【０００３】
この測定点像を検出し易くする方法としては、２つの方向から撮像した撮像画像を映像信号の周波数成分で分割して複数水準の画像とし、その画像を、さらに２次微分処理して３値化処理を行うことにより計測点（特徴点）を検出する。そして、これらの撮像画像を比較して測定点像が対応する場所を検出する方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３５３９７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
各種生産現場において、作業の自動化や省力化のため産業用ロボットが多用されている。このような産業用ロボットは、カメラなどの撮像機器を備え作業対象物（物体）を撮像し、撮像された撮像画像を画像処理して作業対象物の位置を計測する。この作業対象物の位置計測の方法として、上述のステレオ計測法が用いられる場合がある。作業対象物と撮像装置とが相対的に動いている場合は、撮像画像に動きボケが発生してしまう。動きボケが発生すると、撮像画像から計測点を特定することが困難になってしまうという課題がある。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００７】
（適用例１）被計測物を載置するとともに、規則性を有する複数の反射光を放出するマーカーを備えたステージと、前記マーカーに対して光を照射する光照射部と、前記被計測物と前記マーカーとを同一画像として異なった視線方向から撮像する複数の撮像装置と、を備え、前記複数の撮像装置により撮像された撮像画像から前記マーカーのマーカー画像を抽出して、前記マーカー画像から点拡散関数を算出する点拡散関数算出部と、算出した前記点拡散関数を用いて前記撮像画像を画像変換することにより変換画像を生成する画像生成部と、生成された前記変換画像から前記被計測物の位置を算出する位置算出部と、を有することを特徴とする位置計測装置。
【０００８】
この構成によれば、被計測物が載置されるステージには、光を照射する光照射部によって反射光を放出するマーカーが設けられている。このマーカーから放出される反射光は、規則性、すなわち、光照射部に対するマーカーもしくは撮像装置の位置により反射パターンが決定される特性を有している。そのため、マーカーの反射パターンを調べることによって、マーカーの位置情報を知ることができる。
【０００９】
撮像装置により撮像された被計測物の撮像画像は、いわゆる動きボケを含むボケ画像となってしまう場合が多い。この撮像画像には、反射パターンからなるマーカー画像が撮像されている。このマーカー画像の反射パターンの変化を確認することによって、ボケを発生させた動きの方向や速度変化等の点拡散関数の構成要素を取得することができる。なお、点拡散関数は画像がどのようにボケているのかを表すパラメーターとして利用される。その結果、点拡散関数を算出することができ、算出された点拡散関数を用いて撮像画像から変換画像としてのボケていない元画像を生成することができる。すなわち、複数の撮像装置によって撮像されたボケ画像からそれぞれボケていない元画像を生成することができる。そして、これらのボケていない元画像（変換画像）を用いてステレオ計測法を適用することによって被計測物の位置（特徴点の座標）を計測することができる。
【００１０】
（適用例２）前記マーカーは、複数の反射面が三次元的に設けられていることを特徴とする上記の位置計測装置。
【００１１】
この構成によれば、光照射部に対するマーカーの位置によりマーカーから反射される反射光のパターンを異ならせることができる。
【００１２】
（適用例３）前記光照射部は、前記撮像装置の露光時間より短い間隔で前記マーカーに対して光を照射することを特徴とする上記の位置計測装置。
【００１３】
この構成によれば、撮像装置の露光時間内にマーカーから複数回反射光を放出することができる。そのため、撮像画像内に所定数の反射パターンからなるマーカー画像を形成することができる。
【００１４】
（適用例４）前記マーカーの位置情報を含む反射パターンを予め記憶しているパターン記憶部を備え、前記点拡散関数算出部は、撮像された前記マーカーの前記マーカー画像と前記パターン記憶部に記憶された前記反射パターンとを比較する画像比較部を有することを特徴とする上記の位置計測装置。
【００１５】
この構成によれば、撮像されたマーカー画像の反射パターンと、パターン記憶部に記憶されたマーカーの位置情報を有する反射パターンとを比較することによって、撮像されたときのマーカーの位置を知ることができる。
【００１６】
（適用例５）光照射部から照射される光を受けて規則性を有する反射光を反射するマーカーを備えたステージに載置される被計測物を、複数の撮像装置により前記マーカーとともに、異なった視線方向から撮像する撮像工程と、前記撮像工程で撮像された撮像画像から前記マーカーのマーカー画像を抽出して、前記マーカー画像のパターン変化から点拡散関数を算出する点拡散関数算出工程と、算出した前記点拡散関数を用いて前記撮像画像を画像変換することにより変換画像を生成する画像生成工程と、生成された前記変換画像から前記被計測物の位置を算出する位置算出工程と、を有することを特徴とする位置計測方法。
【００１７】
この方法によれば、被計測物が載置されるステージには、光を照射する光照射部によって反射光を放出するマーカーが設けられている。このマーカーから放出される反射光は、規則性、すなわち、光照射部に対するマーカーもしくは撮像装置の位置により反射パターンが決定される特性を有している。そのため、マーカーの反射パターンを調べることによって、マーカーの位置情報を知ることができる。
【００１８】
撮像工程において、撮像された被計測物の撮像画像は、いわゆる動きボケを含むボケ画像となってしまう場合が多い。撮像画像は、反射パターンからなるマーカー画像を含んでいる。このマーカー画像は、マーカー画像に含まれる反射パターンの変化を確認することによって、ボケを発生させた動きの方向や速度変化等の点拡散関数の構成要素を取得することができる。その結果、点拡散関数算出工程では、点拡散関数を算出することができ、画像生成工程では、算出された点拡散関数を用いて撮像画像から変換画像としてのボケていない元画像を生成することができる。すなわち、複数の撮像装置によって撮像されたボケ画像からそれぞれボケていない元画像を生成することができる。そして、位置算出工程では、これらのボケていない元画像（変換画像）を用いてステレオ計測法を適用することによって被計測物の位置（特徴点の座標）を計測することができる。
【００１９】
（適用例６）上記の位置計測装置で作業対象物の位置を計測することを特徴とするロボットシステム。
【００２０】
この構成によれば、作業対象物の位置を容易に算出できるロボットシステムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】位置計測装置を適用したロボットシステムの構成例を示す図。
【図２】作業対象物であるワークが載置されるステージを説明する図。
【図３】撮像装置とステージ上に載置されたワークとの関係を示す図。
【図４】ワークの位置検出方法の流れを示すフローチャート。
【図５】カメラで撮像されたワークおよびマーカーの撮像画像を示す図。
【図６】変換画像としての再生された元画像を示す図。
【図７】第２実施例のステージを説明する図。
【図８】第２実施例にかかるワークの画像を示す図。
【図９】第１変形例にかかる位置計測装置を適用したロボットシステムの構成を示す図。
【図１０】第２変形例のマーカーを説明する図。
【発明を実施するための形態】
【００２２】
（第１実施例）
（位置計測装置の構成について）
本実施例の位置計測装置をロボットシステムに適用した例について、図１〜３を参照して説明する。図１は、ロボットシステムの構成例を示す図である。図２は、２つの撮像装置とステージ上に載置されたワークとの関係を示す図である。図３は、被計測物および作業対象物としてのワークが載置されるステージおよびマーカーを説明する図であり、（ａ）は、ステージの平面図、（ｂ）はマーカーの拡大図であり、（ｃ）はマーカーの断面を示す断面図である。
【００２３】
図１に示すように、位置計測装置１を有するロボットシステム５は、ロボット１０と、ワークＷを載置するワーク載置部７０と、撮像装置としての第１のカメラ２０および第２のカメラ２１と、制御部５０とを備える。ロボット１０は、いわゆる多関節型ロボットであり、ベース２５と、アーム１７Ａ，１７Ｂと、ロボットハンド１９を含む手首部１８と、それぞれを回動自在に支持する関節部である第１軸１２と第２軸１４と第３軸１６とから構成されている。
【００２４】
ロボット１０は、設置面にベース２５により設置される。ベース２５は、第１回転軸１１を備え、ベース２５より上方のロボット１０本体を設置面との鉛直軸を中心に回転させることができる。ベース２５には、第１軸１２を介してアーム１７Ａが回動自在に取り付けられている。アーム１７Ａは、第２回転軸１３を備え、アーム１７Ａ自身が軸方向に回転することができる。アーム１７Ａには、第２軸１４を介してアーム１７Ｂが回動自在に取り付けられている。
【００２５】
アーム１７Ｂは、第３回転軸１５を備え、アーム１７Ｂ自身が軸方向に回転することができる。アーム１７Ｂには、第３軸１６を介して手首部１８が回動自在に取り付けられている。手首部１８の先端にはロボットハンド１９が設けられ、ワークＷに対して作業を実施する。これらの第１〜３軸１２，１４，１６、第１〜３回転軸１１，１３，１５およびロボットハンド１９は、図示しないモーターや空圧機器等により操作される複数の図示しないアクチュエーターの駆動により、回動するように構成されている。複数のアクチュエーターは、制御部５０からケーブル８５を介して送られる制御信号に基づいて駆動される。
【００２６】
図２に示すように、第１のカメラ２０および第２のカメラ２１は、ロボット１０の手首部１８に所定の距離ｘだけ隔てられた状態で並設されている。第１のカメラ２０および第２のカメラ２１は、いわばロボット１０の２つの眼として機能するものであり、例えば、ＣＣＤのような撮像素子によりロボットハンド１９が作業する方向を所定の露光時間で撮像する。そして、撮像されたワークＷを含むそれぞれの画像は、画像信号としてケーブル８６，８７を介して制御部５０に送られる。
【００２７】
ワーク載置部７０は、ワークＷを載置するステージ７２を有する。ステージ７２では、ロボット１０によるワークＷに対する作業が実施される。ステージ７２は、ワークＷが載置されるステージ面７２ａを有し、ステージ面７２ａは、光を反射する機能を有する複数の反射面からなるマーカー９０を１つ以上備えている。このマーカー９０の詳細については後述する。ワークＷは、例えば、図示しないベルトコンベアで搬送されワーク載置部７０のステージ７２に搬入され、ロボット１０による作業が実施された後、次のワーク載置部７０もしくは次の工程に搬出される。ワークＷは、図２に示すように、例えば、長方形の板状に形成され、平面部には３つの貫通穴が設けられている。なお、ワーク載置部７０そのものがベルトコンベアにより搬送されてもよい。
【００２８】
図１に示す制御部５０は、少なくとも、画像処理装置３０と、パターン記憶部３３と、ロボット動作制御部４０と、光照射制御部４５と、コンピューター６０とから構成されている。画像処理装置３０は、少なくとも、第１画像入力部３１と、第２画像入力部３２と、位置情報取得部３４とから構成され、ロボット１０の第１のカメラ２０および第２のカメラ２１で撮像され、第１画像入力部３１および第２画像入力部３２を介して入力されたワークＷとマーカー９０とを含む２つの画像を処理してワークＷの位置情報を取得する。
【００２９】
位置情報取得部３４は、画像比較部３５と、点拡散関数算出部３６と、画像生成部３７と、位置算出部３９とを備え、種々の演算処理を行いワークＷの位置情報を取得する。位置情報取得部３４の動作については後述する。ロボット動作制御部４０は、コンピューター６０の指令に基づいて上述のロボット１０の動作を制御し、ワークＷに対して所定の作業を実施する。
【００３０】
光照射制御部４５は、ワークＷが載置されるステージ面７２ａに設けられたマーカー９０に対して所定の周期で光を照射する光照射部４８を有している。光照射部４８は、ケーブル８８により光照射制御部４５に接続され、光を照射する周期等が制御される。パターン記憶部３３は、光照射部４８に対してマーカー９０の位置と、撮像装置（第１のカメラ２０もしくは第２のカメラ２１）の位置と、を所定の割合で相対移動させながら、撮像装置を用いてマーカー９０を撮像した複数のマーカー画像を複数のパターンデータとして記憶している。
【００３１】
コンピューター６０は、中央処理装置として機能し、図示しないＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ、シーケンサーおよびロボットコントローラー等からなるハードウェア資源と、ＲＯＭやＨＤＤ等に記憶された種々のソフトウェアとを有機的に協働させることにより、ロボット１０、画像処理装置３０、および光照射制御部４５等を総括的に制御する。
【００３２】
ここで、本実施例のステージ７２と、ステージ７２に設けられるマーカー９０について図３を参照して説明する。図３（ａ）に示すように、ステージ７２は四角形形状に形成され、例えばステージ面７２ａの１つのコーナー付近にマーカー９０が設けられている。マーカー９０は、複数の反射面９２を有する。マーカー９０は、より多くの反射面９２を有することが好ましいが、本実施例では、説明を簡便にするため、例えば、３つの反射面９２を有するマーカー９０を例にとり説明する。
【００３３】
図３（ｂ）、（ｃ）に示すように、ステージ面７２ａには、例えば、底面を開口部とする逆三角錐形状の凹部９１が形成され、凹部９１の開口部以外の３面には光を反射する機能を有する三角形の反射面９２がそれぞれ貼付されている。このように形成されることによって、マーカー９０は、所定の方向から光を照射されると、光の入射方向によって異なった反射パターンの光を反射する。なお、ワークＷは、ステージ面７２ａに設けられたマーカー９０を避けて載置されることが好ましい。
【００３４】
（ロボットシステムにおける作業について）
上述のロボットシステム５を用いた作業について、おなじく図１〜３を参照して説明する。ロボットシステム５のロボット１０は、図示しないベルトコンベアによりステージ７２に搬送されたワークＷに対して、作業を実施する。本実施例では、生産効率向上、設備の汎用化および簡素化のため、ワークＷの整列装置や位置決め装置を設けていない。そのため、ワークＷは、ランダムな姿勢で搬送され、それぞれに固有の作業が実施される。従って、ロボット１０は、作業を実施するワークＷの位置や姿勢を検出する必要がある。すなわち、ロボットシステム５は、図１に示す第１のカメラ２０および第２のカメラ２１を用いて、ステージ７２に載置されるワークＷを撮像してワークＷの位置検出を行う。
【００３５】
例えば、図３（ａ）に示すようなレイアウトで、ワークＷがステージ７２上に置かれたとする。ワークＷの位置を検出するため、ロボット１０の手首部１８の先端部に設けられた第１のカメラ２０および第２のカメラ２１を用いて、ステージ７２上のワークＷを撮像する。このとき、ロボット１０の手首部１８の動きを静止させるか、ワークＷを静止させることが好ましい。ところが、このような方法では作業や移動動作が中断されてしまい、作業効率が著しく低下する。そのため、一般には、双方が移動動作を行っている状態で撮像する。このとき、第１のカメラ２０および第２のカメラ２１は、所定の露光時間に渡りシャッターを開放して撮像する。
【００３６】
その結果、撮像されたワークＷのそれぞれの撮像画像は、動きボケを含んだ、いわゆるボケ画像となってしまう場合が多い。そのままでは、ワークＷの位置を検出することができない。そのため、何らかの画像処理が必要である。画像処理方法として、例えばボケ画像がどのようにボケているかを推定し、ボケ画像に対してその逆特性を演算することにより、変換画像としてのボケていない元画像を復元する方法がある。
【００３７】
（ワークの位置検出方法について）
ここで、撮像画像がどのようにボケているのかを表すパラメーターとして点拡散関数を用いたワークの位置検出方法について、図４〜６を参照して説明する。図４は、ワークの位置検出方法の流れを示すフローチャートであり、図５は、カメラで撮像されたワークおよびマーカーの撮像画像を示す図である。図６は、変換画像としての再生された元画像を示す図である。
【００３８】
図４に示すように、この位置検出方法は、ワーク搬入工程Ｓ１１と、第１マーカー＆ワーク撮像工程Ｓ１２ａと、第２マーカー＆ワーク撮像工程Ｓ１２ｂと、第１画像入力工程Ｓ１３ａと、第２画像入力工程Ｓ１３ｂと、第１画像比較工程Ｓ１４ａと、第２画像比較工程Ｓ１４ｂと、第１点拡散関数算出工程Ｓ１５ａと、第２点拡散関数算出工程Ｓ１５ｂと、第１画像生成工程Ｓ１６ａと、第２画像生成工程Ｓ１６ｂと、ワーク位置算出工程Ｓ１７と、を有する。
【００３９】
ワーク搬入工程Ｓ１１では、図１に示すロボットシステム５において、ワークＷが、ベルトコンベア等で搬送されワーク載置部７０のステージ７２に供給される。このときワークＷは、ランダムな姿勢で供給されるため、ワークＷが現在どのような姿勢をなしているか分からない。そこで、次の工程に進む。
【００４０】
第１マーカー＆ワーク撮像工程Ｓ１２ａでは、図１に示す第１のカメラ２０を用いて、ステージ７２に載置されるワークＷを撮像する。このとき、ワークＷが載置されるステージ面７２ａに設けられているマーカー９０も同一視野内に入るように撮像する。しかしながら、第１のカメラ２０およびワークＷ（ステージ７２）は相対的に移動している状態であるため、撮像される撮像画像は、図５（ａ）に示すように、動きボケを含んだいわゆるボケ画像となってしまう。なお、このとき、図１に示す光照射部４８は、光照射制御部４５からの制御信号によって第１のカメラ２０の露光時間よりも短い周期でマーカー９０に向け光を照射する。マーカー９０は、複数の反射面９２を有しているため、光照射部４８からの光を受けその光を反射する。反射された光は複数の反射面９２により所定の反射パターンを形成する。
【００４１】
その結果、図５（ａ）に示すボケ画像Ｂ１を得る。ボケ画像Ｂ１は、動きボケを含んだワークＷの画像Ｂｗと、マーカー９０のマーカー画像１００として、マーカー９０のいくつかの反射パターン画像１０５とを含む。図５の例では、第１のカメラ２０の露光時間の間に光照射部４８から４回光を照射しているため、４つの反射パターン画像１０５ａ，１０５ｂ，１０５ｃ，１０５ｄが撮像されている。本実施例では、図５（ｂ）に示す反射パターン画像１０５ａおよび反射パターン画像１０５ｂの距離Ｌａｂ、反射パターン画像１０５ｂおよび反射パターン画像１０５ｃの距離Ｌｂｃ、反射パターン画像１０５ｃおよび反射パターン画像１０５ｄの距離Ｌｃｄはそれぞれ異なる。
【００４２】
また、第２マーカー＆ワーク撮像工程Ｓ１２ｂでは、図１に示す第２のカメラ２１を用いて、ステージ７２に載置されるワークＷを第１マーカー＆ワーク撮像工程Ｓ１２ａと同様に撮像する。その結果、図示しないボケ画像Ｂ２を得る。第１のカメラ２０と第２のカメラ２１とは、図２に示すように、距離ｘ隔てられ並設されている。そのため、得られるボケ画像Ｂ２は、ボケ画像Ｂ１と比較して、異なった視点、換言すると異なった角度から撮像された画像となる。
なお、以下の説明では説明を簡便にするために、第１のカメラ２０を用いて、ステージ７２に載置されるワークＷを撮像した場合について説明する。
【００４３】
図４に示す第１画像入力工程Ｓ１３ａでは、第１のカメラ２０によって撮像されたマーカー画像１００を含むボケ画像Ｂ１を、画像信号として、図１に示す制御部５０の画像処理装置３０の第１画像入力部３１に取り込む。取り込まれたボケ画像Ｂ１は、位置情報取得部３４に送られる。
【００４４】
図４に示す第１画像比較工程Ｓ１４ａでは、図１に示すパターン記憶部３３に記憶された一連の反射パターンＰの群と、位置情報取得部３４に取り込まれたボケ画像Ｂ１のマーカー９０のマーカー画像１００である反射パターン画像１０５とを比較して、その反射パターン画像１０５にもっとも近似している反射パターンＰを抽出する。図５（ｃ）に示すように、例えば、反射パターン画像１０５ａに対しては、反射パターンＰａが抽出される。なお、図５（ｃ）の反射パターン画像１０５ａおよび反射パターンＰａの各反射面９２に施されている網目の有無もしくは濃度の違いは、各反射面９２から反射される光の強さの差を表す。
【００４５】
反射パターンＰは、前述のように、図１に示す光照射部４８に対してマーカー９０の位置と第１のカメラ２０の位置と所定の割合で相対移動させながら撮像したものである。そのため、反射パターンＰにおけるマーカー９０の反射面９２の光の反射具合を確認することによって、マーカー９０と第１のカメラ２０との位置関係がわかる。また、第１のカメラ２０の位置（座標系）を既知のものとすることによって、マーカー９０の位置（座標系）を知ることができる。換言すると、反射パターンＰは、そのマーカー９０の位置（座標）情報を有している。従って、反射パターン画像１０５ａと近い反射パターンＰａを抽出することによって、その反射パターン画像１０５ａが撮像されたときのマーカー９０の位置（座標）を割り出すことができる。この作業は、反射パターン画像１０５ｂ，１０５ｃ，１０５ｄのそれぞれに対して行われる。その結果、反射パターン画像１０５ａ，１０５ｂ，１０５ｃ，１０５ｄが撮像されたときのマーカー９０のそれぞれの位置を求めることができる。
【００４６】
図４に示す第１点拡散関数算出工程Ｓ１５ａでは、ボケ画像Ｂ１からマーカー画像１００（反射パターン画像１０５）を抽出して点拡散関数を算出する。この点拡散関数の算出方法は、特に限定しない。公知の算出方法を適用すればよい。なお、マーカー画像１００は、点拡散関数の空間移動分の情報、すなわち、ボケを発生させる動きの方向と速度とをデータとして持つ。この場合、反射パターン画像１０５の違いからマーカー９０の位置の変化、すなわち動きベクトル（ボケを発生させた動き方向）を知ることができる。マーカー９０は、略等しい間隔（周期）で光照射部４８の光を反射している。そのため、各反射パターン画像１０５ａ，１０５ｂ，１０５ｃ，１０５ｄ間の距離Ｌａｂ，Ｌｂｃ，Ｌｃｄから、マーカー９０を撮像したときの第１のカメラ２０とマーカー９０との相対移動速度ｖの関係を知ることができる。
【００４７】
図５（ｂ）に示すマーカー画像１００を例にとると、反射パターン画像１０５の違いからわかるマーカー９０の位置（座標）の変化によって矢印Ｍに沿った移動をしていることがわかる。また、反射パターン画像１０５は、反射パターン画像１０５ｂおよび反射パターン画像１０５ｃの距離Ｌｂｃ＞反射パターン画像１０５ｃおよび反射パターン画像１０５ｄの距離Ｌｃｄ＞反射パターン画像１０５ａおよび反射パターン画像１０５ｂの距離Ｌａｂの関係になっている。そのため、反射パターン画像１０５ａ、反射パターン画像１０５ｂ間を撮像したときの第１のカメラ２０とマーカー９０との相対移動速度ｖａｂと、反射パターン画像１０５ｂ、反射パターン画像１０５ｃ間を撮像したときの第１のカメラ２０とマーカー９０との相対移動速度ｖｂｃと、反射パターン画像１０５ｃ、反射パターン画像１０５ｄ間を撮像したときの第１のカメラ２０とマーカー９０との相対移動速度ｖｃｄとの関係は、相対移動速度ｖｂｃ＞相対移動速度ｖｃｄ＞相対移動速度ｖａｂとなることがわかる。
【００４８】
次いで、図４に示す第１画像生成工程Ｓ１６ａでは、第１点拡散関数算出工程Ｓ１５ａで算出した点拡散関数を用いて、ボケ画像Ｂ１からボケてない元画像（変換画像）を生成する。この方法を簡単に説明する。
【００４９】
画像のボケは、下記の式（１）のようにモデル化される。この式（１）で示すように、元画像をＩｍａｇｅ、ボケ画像をＢｌｕｒ、画像がどのようにボケているのかを表すパラメーターである点拡散関数をＰＳＦとすると、ボケ画像（Ｂｌｕｒ）は点拡散関数（ＰＳＦ）と元画像（Ｉｍａｇｅ）との畳み込み演算で与えられる。点拡散関数（ＰＳＦ）は、名前のとおり、本来１点であるデータが、どのように拡がっているのかを表す関数である。
【００５０】
【数１】
2010276447.tif 000003
【００５１】
ここで、下記の式（２）、（３）、（４）のように、関数ｆに対するフーリエ変換操作をＦ［ｆ］と表すとすると、元画像（Ｉｍａｇｅ）のフーリエ変換はｉｍａｇｅ、ボケ画像（Ｂｌｕｒ）のフーリエ変換はｂｌｕｒ、点拡散関数（ＰＳＦ）のフーリエ変換はｐｓｆと表すことができる。畳み込み演算は、フーリエ変換により単なる乗算に変換されるため、式（１）は下記の式（５）に変換される。
【００５２】
【数２】
2010276447.tif 000004
【００５３】
【数３】
2010276447.tif 000005
【００５４】
下記の式（６）のように、元画像のフーリエ変換（ｉｍａｇｅ）は、点拡散関数（ＰＳＦ）のフーリエ変換である（ｐｓｆ）の逆数と、ボケ画像（Ｂｌｕｒ）のフーリエ変換である（ｂｌｕｒ）との積により得られる。関数ｆの逆フーリエ変換操作をＩＦ［ｆ］とすると、ボケの無い元画像（Ｉｍａｇｅ）は、式（６）で得られた元画像のフーリエ変換（ｉｍａｇｅ）を、式（７）のように逆フーリエ変換することにより得られる。
【００５５】
【数４】
2010276447.tif 000006
【００５６】
【数５】
2010276447.tif 000007
【００５７】
上述のような演算処理は、数学的処理としては単純なものであり、その一例として、ウィーナフィルター処理などがある。このようにして図６（ａ）に示すボケていないワーク画像Ｇｗ１が表示されている元画像Ｇ１が生成される。
【００５８】
第２のカメラ２１を用いて、ステージ７２に載置されるワークＷを撮像した場合についても、上述の説明と同様に、第２マーカー＆ワーク撮像工程Ｓ１２ｂ、第２画像入力工程Ｓ１３ｂ、第２画像比較工程Ｓ１４ｂ、第２点拡散関数算出工程Ｓ１５ｂおよび第２画像生成工程Ｓ１６ｂを実施して、図６（ｂ）に示すボケていないワーク画像Ｇｗ２が表示されている元画像Ｇ２が生成される。得られる元画像Ｇ２は、元画像Ｇ１と比較して、異なった視点、換言すると異なった角度から見た画像となる。
【００５９】
次いで、図４に示すワーク位置算出工程Ｓ１７では、生成された元画像Ｇ１および元画像Ｇ２に基づいてワークＷの位置を算出する。ワークＷの位置算出方法は、公知の位置算出方法が適用される。例えば、エピポーラ（Ｅｐｉｐｏｌａｒ）線の性質、すなわち、第１のカメラ２０と計測点を結ぶ直線は第２のカメラ２１に直線として投影され、第１のカメラ２０に写っている点は第２のカメラ２１ではこの直線（エピポーラ線）上にあるという性質を用いて複数の計測点の座標を求め、ワークＷの位置を算出してもよい。このとき、計測点は、ワークＷの形状の特徴点に注目して決定することが好ましい。
【００６０】
そして、算出した位置に関する情報を図１に示すロボット動作制御部４０に送る。ロボット動作制御部４０は、アーム１７等の稼動部の動作を上記情報に基づいて制御する。すなわち、ロボット動作制御部４０は、情報に基づき、ロボット１０を移動させるための複数のアクチュエーターの駆動量を算出し、それぞれのアクチュエーター毎に駆動信号を生成し、それぞれのアクチュエーターに送る。この結果、アーム１７が所定の位置まで移動しロボットハンド１９によりワークＷに所定の作業が実施される。
【００６１】
以下、本実施例の効果を記載する。
（１）上述の位置計測装置１を適用したロボットシステム５は、ワークＷが載置されるステージ７２に第１のカメラ２０および第２のカメラ２１の露光時間より短い周期で反射光を反射する複数の反射面９２からなるマーカー９０が設けられている。そして、ワークＷの位置（特徴点の座標）を計測するとき、ロボット１０に設けられた第１のカメラ２０および第２のカメラ２１を用い、異なる視線方向からワークＷとマーカー９０とを同一視野に入れるように撮像する。ステージ７２と第１のカメラ２０および第２のカメラ２１とが相対移動しているため、ワークＷの撮像画像は、動きボケを含んだボケ画像Ｂとなる。ボケ画像Ｂは、そのマーカー９０の反射パターン画像１０５からなるマーカー画像１００を含んでいる。
【００６２】
マーカー画像１００は、複数の反射パターン画像１０５ａ，１０５ｂ，１０５ｃ，１０５ｄから構成されているため、反射パターン画像１０５ａ，１０５ｂ，１０５ｃ，１０５ｄが形成する列の方向および反射パターン画像１０５ａ，１０５ｂ，１０５ｃ，１０５ｄ間の距離Ｌａｂ，Ｌｂｃ，Ｌｃｄからボケを発生させた動きの方向や速度変化等の点拡散関数の構成要素を容易に取得することができる。その結果、第１のカメラ２０および第２のカメラ２１の撮像画像をそれぞれ解析するだけで、点拡散関数が容易に精度良く求めることができ、求められた点拡散関数を用いて画像変換することにより、撮像画像としてのボケ画像Ｂから変換画像としてのボケていない元画像Ｇを精度良く生成することができる。そして、これらの元画像Ｇを使用してステレオ計測法を適用することによって被計測物の位置をより正確に計測することができる。したがって、ロボットシステム５の作業効率を向上させることができる。
【００６３】
（第２実施例）
ここで、第２実施例の位置計測装置１をロボットシステムに適用した例について図７および図８を参照して説明する。図７は第２実施例のステージを説明する図であり、図８は第２実施例にかかるワークの画像を示す図である。なお、第２実施例は、第１実施例に対して、マーカー９０の設置状況が異なる例である。また、第１実施例と同様な構成および内容については、符号を等しくして説明を省略する。
【００６４】
図７に示すように、ステージ７２は、ワークＷが載置されるステージ面７２ａの３つのコーナー付近に、それぞれマーカー９０ａ，９０ｂ，９０ｃを１つずつ備えている。マーカー９０ａ，９０ｂ，９０ｃは、上述の第１実施例で説明したマーカー９０と同一な構造に形成されている。
【００６５】
図４に示す位置検出方法の第１マーカー＆ワーク撮像工程Ｓ１２ａおよび第２マーカー＆ワーク撮像工程Ｓ１２ｂでは、図１に示す第１のカメラ２０および第２のカメラ２１を用いて、ステージ７２に載置されるワークＷおよびマーカー９０ａ，９０ｂ，９０ｃが同一視野内に入るように撮像する。その結果、図８に示す動きボケを含んだいわゆるボケ画像Ｂａを得る。ボケ画像Ｂａは、動きボケを含んだワークＷの画像Ｂｗと、画像の３つのコーナー付近のそれぞれにマーカー９０ａのマーカー画像１１０と、マーカー９０ｂのマーカー画像１２０とマーカー９０ｃのマーカー画像１３０とを有する。
【００６６】
マーカー画像１１０は、例えば、図８中右下から左上の方向（矢印Ｎ１方向）に向かって形成されている。そのため、矢印Ｎ１に沿った移動をしていることがわかる。さらには、ボケ画像Ｂａの輝点１１０ａ，１１０ｂ，１１０ｃ，１１０ｄに注目することによって、第１実施例と同様に、移動の方向、動きベクトルおよびを第１のカメラ２０とマーカー９０ａとの相対移動速度ｖの関係を知ることができる。
【００６７】
マーカー画像１２０は、図８中右下から左上の方向（矢印Ｎ２方向）に向かって形成されている。そのため、矢印Ｎ２に沿った移動をしていることがわかる。マーカー画像１３０は、図８中右下から左上の方向（矢印Ｎ３方向）に向かって形成されている。そのため、少なくとも矢印Ｎ３に沿った移動をしていることがわかる。また、マーカー画像１１０の輝点１１０ａ〜ｄの距離Ｌ１１０、マーカー画像１２０の輝点１２０ａ〜ｄの距離Ｌ１２０およびマーカー画像１３０の輝点１３０ａ〜ｄの距離Ｌ１３０に注目すると、距離Ｌ１１０＜距離Ｌ１２０＜距離Ｌ１３０の関係にあり、各輝点間の距離が相似し大きくなっていることがわかる。この移動の方向（矢印Ｎ１，Ｎ２，Ｎ３）および距離Ｌ１１０，Ｌ１２０，Ｌ１３０の変化を解析することによって、マーカー画像１１０から求まる方向および速度で移動しながら、図８中の矢印Ｒ方向に回転していることがわかる。
【００６８】
すなわち、第１のカメラ２０とワークＷ（ステージ７２）との相対移動において、回転や傾き等の移動により動きボケが発生したとしても、マーカー画像１１０，１２０，１３０を解析することによって点拡散関数をより正確に算出することができる。従って、求められた点拡散関数よりワークＷの位置をより正確に知ることができ、ロボット１０の作業の精度を向上させることができる。なお、マーカー９０の数は、第１実施例で説明した１つおよび第２実施例で説明した３つに限定されるものではない。予想される第１のカメラ２０および第２のカメラ２１とワークＷ（ステージ７２）との動きに対応して、マーカー９０の数を決定すればよい。
【００６９】
以上、本発明の実施例について説明したが、上記実施例に対しては、本発明の趣旨から逸脱しない範囲で様々な変形を加えることができる。例えば上記実施例以外の変形例は、以下の通りである。
【００７０】
（第１変形例）上述の実施例では、第１のカメラ２０および第２のカメラ２１がロボット１０の手首部１８に設置されている場合を例にとり、説明したがこれに限定されない。第１変形例にかかる位置計測装置１を適用したロボットシステムの構成を示す図である図９に示すように、第１のカメラ２０および第２のカメラ２１は、ロボット１０と別体に設けられていてもよい。この場合についても、ステージ７２に載置されるワークＷの移動に伴う動きボケが補正された元画像（変換画像）を生成することができる。
【００７１】
（第２変形例）上述の実施例では、３つの反射面９２を有するマーカー９０を例にとり説明したが、これに限定されない。マーカー９０は、より多くの反射パターンを有するためにも、より多くの反射面９２を備えることが好ましい。例えば、第２変形例のマーカーを説明する図である図１０に示すようにダイヤモンドのカットに用いられるブリリアンカットされたガラス９４をステージ７２に埋め込み、マーカー９０としてもよい。この場合は、反射パターンをより細かくすることができ、マーカー９０の位置情報をより細かく反射パターンに反映することができる。そのため、点拡散関数の算出精度を高めることが可能になる。
【００７２】
（第３変形例）上述の実施例では、複数の撮像装置として第１のカメラ２０および第２のカメラ２１を適用した場合を例にとり説明したが、撮像装置の数は２つに限定されるものではなく、２つ以上の複数であればよい。また、ロボット１０として多関節型ロボットを採用した場合について説明したが、これに限定されるものではなく、スカラー型のロボットであってもよい。さらには、ロボット１０の用途は、ロボットハンド１９による部品の把持、ハンダ付けや溶接のような加工を行う等様々な用途が想定される。さらに、産業用ロボットに限らず、医療用ロボットや家庭用ロボットであってもよい。
【符号の説明】
【００７３】
１…位置計測装置、５…ロボットシステム、１０…ロボット、１８…手首部、１９…ロボットハンド、２０…撮像装置としての第１のカメラ、２１…撮像装置としての第２のカメラ、３０…画像処理装置、３１…第１画像入力部、３２…第２画像入力部、３３…パターン記憶部、３４…位置情報取得部、３５…画像比較部、３６…点拡散関数算出部、３７…画像生成部、３９…位置算出部、４５…光照射制御部、４８…光照射部、５０…制御部、６０…コンピューター、７２…ステージ、９０…マーカー、９２…反射面、１００，１１０，１２０，１３０…マーカー画像、１０５ａ，１０５ｂ，１０５ｃ，１０５ｄ…反射パターン画像、Ｂ，Ｂ１，Ｂ２，Ｂａ…撮像画像としてのボケ画像、Ｇ，Ｇ１，Ｇ２…変換画像としての元画像、Ｗ…被計測物および作業対象物としてのワーク。
【図１】
2010276447.tif 000008
【図２】
2010276447.tif 000009
【図３】
2010276447.tif 000010
【図４】
2010276447.tif 000011
【図５】
2010276447.tif 000012
【図６】
2010276447.tif 000013
【図７】
2010276447.tif 000014
【図８】
2010276447.tif 000015
【図９】
2010276447.tif 000016
【図１０】
2010276447.tif 000017