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