(57)【要約】      （修正有）【課題】３次元計測を好適に行うことのできる情報処理装置等を提供する。【解決手段】３Ｄ計測センサ１３が３次元計測を行う複数の計測位置および／又は方向を決める決定部１０５と、３Ｄ計測センサを複数の計測位置および／又は方向の各々に順次移動させる制御部１０１と、複数の計測位置および／又は方向の各々において３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する計測部１０３と、複数の３Ｄ計測データを統合するデータ統合部１０７とを備える。【選択図】図２
2019184340.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄ計測センサが３次元計測を行う複数の計測位置および／又は方向を決める決定部と、
前記３Ｄ計測センサを前記複数の計測位置および／又は方向の各々に順次移動させる制御部と、
前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する計測部と、
前記複数の３Ｄ計測データを統合するデータ統合部と
を備える情報処理装置。
【請求項２】
前記データ統合部は、前記複数の３Ｄ計測データのうち、第１の３Ｄ計測データで３次元計測が行えなかった欠損領域が、当該第１の３Ｄ計測データとは計測位置および／又は方向の異なる第２の３Ｄ計測データで３次元計測が行えた場合に、前記第１の３Ｄ計測データの前記欠損領域に対して前記第２の３Ｄ計測データを適用する、
請求項１記載の情報処理装置。
【請求項３】
前記データ統合部は、前記第１の３Ｄ計測データおよび前記第２の３Ｄ計測データのいずれでも３次元計測が行えた領域に対しては、計測対象物からの距離が近い計測位置および／又は方向での計測結果を適用する、
請求項２記載の情報処理装置。
【請求項４】
前記データ統合部による前記複数の３Ｄ計測データの統合と、前記制御部による前記３Ｄ計測センサの移動とを並列に行う、
請求項１乃至請求項３のいずれか１項記載の情報処理装置。
【請求項５】
前記制御部は、ロボットの有するロボットハンドにより前記３Ｄ計測センサを移動させる、
請求項１乃至請求項４のいずれか１項記載の情報処理装置。
【請求項６】
前記制御部は、前記ロボットハンドに取り付けられた前記３Ｄ計測センサに対するハンドアイ・キャリブレーションを行う、
請求項５記載の情報処理装置。
【請求項７】
前記データ統合部は、前記複数の計測位置および／又は方向の間の相対位置および相対的な回転角度を算出することにより、前記複数の３Ｄ計測データの座標系が同一になるように変換した上で前記複数の３Ｄ計測データを統合する、
請求項１乃至請求項６のいずれか１項記載の情報処理装置。
【請求項８】
３Ｄ計測センサが３次元計測を行う複数の計測位置および／又は方向を決める処理と、
前記３Ｄ計測センサを前記複数の計測位置および／又は方向の各々に順次移動させる処理と、
前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する処理と、
前記複数の３Ｄ計測データを統合する処理と
を情報処理装置が行う、情報処理方法。
【請求項９】
３Ｄ計測センサが３次元計測を行う複数の計測位置および／又は方向を決める処理と、
前記３Ｄ計測センサを前記複数の計測位置および／又は方向の各々に順次移動させる処理と、
前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する処理と、
前記複数の３Ｄ計測データを統合する処理と
を情報処理装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、３Ｄセンサ等で対象物を撮影し、当該撮影結果に応じて部材の位置を判別した上で、アームにより当該対象物を掴んだり組み立てたりするなどの操作を行う産業ロボットが普及しつつある。３Ｄセンサは通常、対象物表面で反射した反射光により３Ｄセンサから対象物表面までの距離を計測する。しかしながら、対象物が金属で構成されている部材である場合等には表面で鏡面反射が起きるため、好適な反射光が得られにくい。また対象物の形状によっては、反射光が得られにくい死角が生じることがある。この結果、鏡面反射等を生じさせる部材や複雑な形状の対象物は３Ｄ計測が困難であり、３Ｄセンサでの検出範囲の一部に３Ｄ計測が行えない領域が発生しやすい。
【０００３】
ここで、例えば特許文献１には、プロジェクタと３台以上の撮像手段とを用いて複数位置で３Ｄ計測を行う３次元計測装置が開示されている。この３次元計測装置では、複数位置で撮影した３Ｄ計測結果を所定の座標系で統合することにより、３次元計測を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５６３３０５８号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の手法では、撮像手段の位置が固定されているため、対象物の形状や部材等によっては、依然として、死角や鏡面反射等により３Ｄ計測が行えない領域が残ることがある。また、複数台の撮像装置を使用するため、それぞれの装置の較正（キャリブレーション）や、撮像タイミングの制御が必要になるため、装置構成が複雑である。
【０００６】
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、死角や鏡面反射等による未計測領域の少ない３次元計測を好適に行うことのできる情報処理装置、情報処理方法、およびプログラムを提供することを目的の１つとする。
【課題を解決するための手段】
【０００７】
本発明の一態様にかかる情報処理装置は、３Ｄ計測センサが３次元計測を行う複数の計測位置および／又は方向を決める決定部と、前記３Ｄ計測センサを前記複数の計測位置および／又は方向の各々に順次移動させる制御部と、前記複数の計測位置の各々において前記３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する計測部と、前記複数の３Ｄ計測データを統合するデータ統合部とを備える。
【０００８】
当該構成では、死角や鏡面反射等の影響により特定の計測位置からは計測対象物に対する３次元計測が行えなかった場合であっても、異なる計測位置から３次元計測が行えれば、両者を統合することで、３Ｄ計測データにおける欠損領域を狭めることができる。
【０００９】
上記構成において、前記データ統合部は、前記複数の３Ｄ計測データのうち、第１の３Ｄ計測データで３次元計測が行えなかった欠損領域が、当該第１の３Ｄ計測データとは計測位置および／又は方向の異なる第２の３Ｄ計測データで３次元計測が行えた場合に、前記第１の３Ｄ計測データの前記欠損領域に対して前記第２の３Ｄ計測データを適用する、ように構成されてもよい。
【００１０】
当該構成では、第１の３Ｄ計測データでの欠損領域を、第２の３Ｄ計測データで補完することにより、欠損領域を狭めることができる。
【００１１】
上記構成において、前記データ統合部は、前記第１の３Ｄ計測データおよび前記第２の３Ｄ計測データのいずれでも３次元計測が行えた領域に対しては、計測対象物からの距離が近い計測位置および／又は方向での計測結果を適用する、ように構成されてもよい。
【００１２】
３次元計測では一般的に、近い位置からの計測の方が高精度であるため、当該構成では、距離が近い位置からの３次元計測結果を適用することで、統合結果である３Ｄ計測データの精度を高めることができる。
【００１３】
上記構成において、前記データ統合部による前記複数の３Ｄ計測データの統合と、前記制御部による前記３Ｄ計測センサの移動とを並列に行う、ように構成されてもよい。
【００１４】
当該構成では、３Ｄ計測データの統合と３Ｄ計測センサの移動とを並列に行うことで、全体的な処理時間を低減させることができる。
【００１５】
上記構成において、前記制御部は、ロボットの有するロボットハンドにより前記３Ｄ計測センサを移動させる、ように構成されてもよい。
【００１６】
当該構成では、把持等の作業を行うロボットハンドを用いて３Ｄ計測センサを移動させることができる。この結果、作業を行うロボットハンドとは別に３Ｄ計測センサを移動させる機構を設ける必要がなく、また、作業を行うロボットハンドの位置から３Ｄ計測を行うことが可能となる。
【００１７】
上記構成において、前記制御部は、前記ロボットハンドに取り付けられた前記３Ｄ計測センサに対するハンドアイ・キャリブレーションを行う、ように構成されてもよい。
【００１８】
当該構成では、複数の３Ｄ計測データの統合において、精密に位置合わせを行うことができる。
【００１９】
上記構成において、前記データ統合部は、前記複数の計測位置および／又は方向の間の相対位置および相対的な回転角度を算出することにより、前記複数の３Ｄ計測データの座標系が同一になるように変換した上で前記複数の３Ｄ計測データを統合する、ように構成されてもよい。
【００２０】
特にロボットハンドを用いて３Ｄ計測センサを移動させる場合、ロボットハンドを持つロボットのエンコーダから計測位置および／又は方向を取得できることが多いため、当該構成では、それらを用いて、容易かつ好適に３Ｄ計測データの統合を行うことができる。
【００２１】
本発明の一態様にかかる情報処理方法は、３Ｄ計測センサが３次元計測を行う複数の計測位置および／又は方向を決める処理と、前記３Ｄ計測センサを前記複数の計測位置および／又は方向の各々に順次移動させる処理と、前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する処理と、前記複数の３Ｄ計測データを統合する処理とを情報処理装置が行う。
【００２２】
当該構成では、死角や鏡面反射等の影響により特定の計測位置からは計測対象物に対する３次元計測が行えなかった場合であっても、異なる計測位置から３次元計測が行えれば、両者を統合することで、３Ｄ計測データにおける欠損領域を狭めることができる。
【００２３】
本発明の一態様にかかるプログラムは、３Ｄ計測センサが３次元計測を行う複数の計測位置および／又は方向を決める処理と、前記３Ｄ計測センサを前記複数の計測位置および／又は方向の各々に順次移動させる処理と、前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサを用いて３次元計測を行うことにより複数の３Ｄ計測データを生成する処理と、
前記複数の３Ｄ計測データを統合する処理とを情報処理装置に実行させる。
【００２４】
当該構成では、死角や鏡面反射等の影響により特定の計測位置からは計測対象物に対する３次元計測が行えなかった場合であっても、異なる計測位置から３次元計測が行えれば、両者を統合することで、３Ｄ計測データにおける欠損領域を狭めることができる。
【００２５】
なお、本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や「手段」、「装置」、「システム」が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や「手段」、「装置」、「システム」の機能が１つの物理的手段や装置により実現されてもよい。
【図面の簡単な説明】
【００２６】
【図１Ａ】実施形態にかかる３Ｄ位置検出システムの処理の一例を説明するための図である。
【図１Ｂ】実施形態にかかる３Ｄ位置検出システムの処理の一例を説明するための図である。
【図２】実施形態にかかる３Ｄ位置検出システムの構成の一例を模式的に例示するための図である。
【図３】実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。
【図４】実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。
【図５】実施形態にかかる情報処理装置の処理手順の一例を例示するフローチャートである。
【図６】実施形態にかかる情報処理装置のハードウェア構成の一例を模式的に例示するための図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００２８】
［１  適用例］
図１Ａおよび図１Ｂを参照しながら、実施形態にかかる全体の概要を説明する。実施形態にかかる情報処理装置は、例えば、ロボットハンド１１を持つ産業ロボット１０の先端に取り付けられた３Ｄ計測センサ１３を用いて対象物Ｏの３次元位置を計測するためのものである。
【００２９】
３Ｄ計測センサ１３は、対象物Ｏの表面からの反射光Ｌを検出することにより対象物Ｏの表面までの距離を計測する。これを一定範囲内に行うことで、対象物Ｏの表面の３次元座標を計測できる。なお、図１Ａおよび図１Ｂの例では、３Ｄ計測センサ１３が対象物Ｏに光を照射しているが、これに限られるものではなく、３Ｄ計測センサ１３以外の光源からの光の反射光Ｌを３Ｄ計測センサ１３で検出することにより対象物Ｏの表面までの距離を計測してもよい。なお、３Ｄ計測センサ１３には、ステレオカメラやＴＯＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）センサ、位相シフト方式のセンサ等、種々のものを適用することができ、３Ｄ計測センサ１３による３次元計測方法は任意である。
【００３０】
しかしながら、対象物Ｏが金属で構成されている場合等には対象物Ｏの表面で鏡面反射が生じる結果、好適な反射光Ｌが得られにくい。また、対象物Ｏの形状によっても、部分敵に反射光Ｌが得られにくい死角が生じる場合がある。好適な反射光Ｌが得られない領域では３次元位置を計測することはできない。以下、死角や鏡面反射等の影響により３次元位置が計測できなかった領域を「未計測領域」または「欠損領域」ともいう。
【００３１】
図１Ａおよび図１Ｂに示すように、本実施形態にかかる３Ｄ位置検出システムは、ロボットハンド１１により３Ｄ計測センサ１３の位置および方向を変化させ、複数の位置および方向から対象物Ｏの３次元位置を計測する。たとえば、図１Ａの３Ｄ計測センサ１３の位置からは対象物Ｏの３次元位置が計測できなかった領域であっても、図１Ｂの３Ｄ計測センサ１３の位置および方向から対象物Ｏの３次元位置が計測できれば、両者を統合することにより未計測領域を狭めることができる。このように、複数の位置および方向から計測した３次元位置を統合することにより、死角や鏡面反射等により生じる未計測領域を狭めつつ、１つの位置および方向のみの３次元位置計測よりも精度を向上させる。
【００３２】
なお、以下の説明では産業ロボット１０のロボットハンド１１を駆動させることにより３Ｄ計測センサ１３の位置および方向を変化させるが、３Ｄ計測センサ１３の位置および方向を移動させる方法はロボットハンド１１に限られない。例えば、３Ｄ計測センサ１３がレール上を任意に移動可能に設けられたり、あるいは車両型の移動ロボットやドローンに３Ｄ計測センサ１３を取り付けたりすることも考えられる。
【００３３】
また、以下の説明では、３Ｄ計測センサ１３の位置および方向の両者を変更する場合を例に説明するが、これに限られるものではなく、位置および方向の一方のみを変化させてもよい。
【００３４】
［２  構成例］
図２を参照しながら、本実施形態にかかる３Ｄ位置検出システム１の動作構成例を説明する。本実施形態にかかる３Ｄ位置検出システム１は、大きく産業ロボット１０および情報処理装置１００を含む。なお、情報処理装置１００と産業ロボット１０は、物理的に異なる装置として実現される必要はなく、産業ロボット１０と情報処理装置１００とを１台の装置として実現してもよい。
【００３５】
［２．１  産業ロボット１０］
産業ロボット１０は、ロボットハンド１１および３Ｄ計測センサ１３を含む。ロボットハンド１１は、情報処理装置１００のロボット制御部１０１による制御により、３Ｄ計測センサ１３の３次元位置および方向を任意に変えるための機構である。ロボットハンド１１に、対象物Ｏに対する任意の作業を行う機構を設けても良い。
【００３６】
３Ｄ計測センサ１３は、情報処理装置１００の３Ｄ計測部１０３による制御により、対象物Ｏに光を照射し、その反射光Ｌを検出することにより、対象物Ｏの表面までの距離を計測するための機構である。
【００３７】
［２．２  情報処理装置１００］
情報処理装置１００は、ロボット制御部１０１、３Ｄ計測部１０３、センサ位置決定部１０５、３Ｄ計測データ統合部１０７、出力部１０９、およびデータベース（ＤＢ）１１１を含む。
【００３８】
ロボット制御部１０１は、産業ロボット１０のロボットハンド１１との間で各種制御信号を送受信することにより、ロボットハンド１１を動かす。特に、後述のセンサ位置決定部１０５が決めた位置および方向に３Ｄ計測センサ１３が位置するように、ロボット制御部１０１はロボットハンド１１を制御する。これによりロボットハンド１１は、３Ｄ計測センサ１３の３次元位置を変化させることができる。なお、３Ｄ計測センサ１３が計測を行った際のロボットハンド１１の姿勢情報は、ロボット制御部１０１が産業ロボット１０の有するエンコーダからロボット姿勢データ１１５として取得し、ＤＢ１１１に格納する。ここで、ロボット制御部１０１が産業ロボット１０の有するエンコーダから取得するロボット姿勢データ１１５には、ロボットの台座の設置位置を基準とするロボットハンド１１の相対回転角度Ｒおよび相対位置ｔの情報を含むことができる。ロボット制御部１０１は、本発明の「制御部」の一例である。
【００３９】
３Ｄ計測部１０３は、産業ロボット１０の３Ｄ計測センサ１３との間で各種制御信号を送受信することにより、対象物Ｏ表面の３次元位置を計測する。センサ位置決定部１０５が決めた複数の位置および方向から３次元位置の計測を行う場合には、ロボット制御部１０１による制御の下、３Ｄ計測センサ１３が各々の位置および方向に移動した時点で、３Ｄ計測部１０３は３次元位置の計測を行えばよい。３次元位置の計測結果は、３Ｄ計測データ１１３としてＤＢ１１１に格納される。なお、３Ｄ計測部１０３は、３次元位置の計測精度を上げるため、３次元位置計測に先立ってハンドアイ・キャリブレーション（較正）処理を行ってもよい。３Ｄ計測部１０３は、本発明の「計測部」の一例である。
【００４０】
センサ位置決定部１０５は、３Ｄ計測センサ１３が対象物Ｏの表面の３次元位置を計測するための３Ｄ計測センサ１３の位置および方向を複数決める。計測を行う３Ｄ計測センサ１３の位置および方向の決定方法は任意であるが、例えば同一円弧上や同一球面上を一定角度（例えば１５度）ずつ３Ｄ計測センサ１３を移動させるとともに対象物Ｏの方向に向くようにすることにより計測位置および方向を決めたり、ランダムに３Ｄ計測センサ１３を移動させることにより計測位置および方向を決めたりすることが考えられる。あるいは、３次元位置の計測範囲における死角がなるべく少なくなるようにセンサ位置決定部１０５が３Ｄ計測センサ１３の位置および方向を決めるようにすることも考えられる。センサ位置決定部１０５は、本発明の「決定部」の一例である。
【００４１】
３Ｄ計測データ統合部１０７は、複数の位置および方向で計測された３Ｄ計測結果である３Ｄ計測データ１１３の統合処理を行う。統合処理において３Ｄ計測データ統合部１０７は、たとえばまずロボット姿勢データ１１５を用いて、３Ｄ計測データ１１３の座標系が同一になるように変換した上で統合すればよい。より具体的には、３Ｄ計測データ統合部１０７はロボット姿勢データ１１５を用いて、３Ｄ計測データ１１３が生成された際の３Ｄ計測センサ１３の各々の位置および方向の間の相対的な回転角度および相対位置を算出する。そのうえで、３Ｄ計測データ統合部１０７は３Ｄ計測データ１１３の座標系が同一になるように変換し、両者を統合する。統合方法は種々考えられるが、例えば、第１位置および方向で３次元位置が計測されず第２位置および方向で３次元位置が計測できた領域については、３Ｄ計測データ統合部１０７は後者を適用して３次元位置を決めればよい。また、第１位置および方向および第２位置および方向のいずれでも３次元位置が計測できた場合には、第１位置および方向並びに第２位置および方向のうち、対象物Ｏ表面の計測対象の位置からの直線距離が近い位置で計測された３次元位置計測結果を適用することが考えられる。より具体的には、例えば第１位置および第２位置から計測された３Ｄ計測データ１１３において、（ｘ，ｙ）座標が同一であれば、ｚ座標の値がより小さい方を採用すればよい。
【００４２】
あるいは３Ｄ計測データ統合部１０７は、ＴＳＤＦ（Ｔｒｕｎｃａｔｅｄ  Ｓｉｇｎｅｄ  Ｄｉｓｔａｎｃｅ  Ｆｕｎｃｔｉｏｎ）などのアルゴリズムを用いて３Ｄ計測データ１１３を統合することも考えられる。またこのとき、周囲の３次元位置の情報により未計測領域の３次元位置を補完してもよい。３Ｄ計測データ統合部１０７による処理の流れの具体例は、図４を参照しながら後述する。３Ｄ計測データ統合部１０７は、本発明の「データ統合部」の一例である。
【００４３】
出力部１０９は、３Ｄ計測データ統合部１０７により統合された３Ｄ計測データ１１３を外部へと出力する。出力先は種々考えられるが、例えば、対象物Ｏに対する把持操作等を行うために産業ロボット１０を制御するための制御モジュールへ出力部１０９から３Ｄ計測データ１１３を出力すること等が考えられる。なお、制御モジュールはソフトウェアモジュールであるかハードウェアモジュールであるかは問わない。
【００４４】
ＤＢ（データベース）１１１は、各位置で計測された対象物Ｏ表面の位置を示す３Ｄ計測データ１１３、およびその際のロボットハンド１１の姿勢情報を示すロボット姿勢データ１１５を格納および管理する。３Ｄ計測データ１１３には、計測範囲内における各々の３次元座標情報を含むことができる。また、ロボット姿勢データ１１５には、３Ｄ計測センサ１３の座標および回転角度の情報を含むことができる。
【００４５】
［３  処理の流れ］
図３乃至図５を参照しながら、情報処理装置１００の処理の流れを２つの例に分けて説明する。図３および図４は処理例１に関する、図５は処理例２に関する情報処理装置１００の処理の流れを示すフローチャートである。
【００４６】
なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行されてもよい。また、各処理ステップ間に他のステップが追加されて実行されてもよい。さらに、便宜上１つのステップとして記載されているステップは複数のステップに分けて実行されることもでき、便宜上複数に分けて記載されているステップを１ステップとして実行されることもできる。
【００４７】
［３．１  処理例１］
図３を参照しながら、処理例１に関する情報処理装置１００の処理の流れを説明する。
【００４８】
まず３Ｄ計測部１０３は、３次元位置の計測に先立ち、計測位置に応じた３Ｄ計測データ１１３の座標変換に使用するために３Ｄ計測センサ１３に対するハンドアイ・キャリブレーション（較正）処理を行う（Ｓ３０１）。なお、ハンドアイ・キャリブレーション処理は、計測の度に毎回行う必要はなく、３Ｄ計測センサ１３を取り付けた後１回行えば十分である。
【００４９】
センサ位置決定部１０５は、３Ｄ計測センサ１３で３次元位置計測を行う位置および方向を複数決める（Ｓ３０３）。
【００５０】
ロボット制御部１０１は、センサ位置決定部１０５が決めた位置および方向に３Ｄ計測センサ１３が移動するように産業ロボット１０のロボットハンド１１を制御する（Ｓ３０５）。
【００５１】
センサ位置決定部１０５が決めた位置および方向に３Ｄ計測センサ１３が移動すると、３Ｄ計測部１０３は計測範囲内（対象物Ｏの表面を含む）の３次元位置を計測する（Ｓ３０７）。
【００５２】
ロボット制御部１０１および３Ｄ計測部１０３は、それぞれロボットハンド１１の姿勢位置を示すロボット姿勢データ１１５および３Ｄ計測部１０３が計測した３Ｄ計測データ１１３を取得し、ＤＢ１１１に格納する（Ｓ３０９）。
【００５３】
ロボット制御部１０１および３Ｄ計測部１０３は、センサ位置決定部１０５が決めた全ての位置および方向に対してＳ３０５乃至Ｓ３０９の処理を繰り返す（Ｓ３１１のＮｏ）。
【００５４】
全ての位置および方向に対する処理が終わると（Ｓ３１１のＹｅｓ）、３Ｄ計測データ統合部１０７はロボット姿勢データ１１５を用いて、３Ｄ計測データ１１３の統合処理を行う（Ｓ３１３）。
【００５５】
出力部１０９は、統合された３Ｄ計測データ１１３を出力する（Ｓ３１５）。
【００５６】
図４を参照しながら、Ｓ３１３に示した３Ｄ計測データ統合部１０７による３Ｄ計測データ１１３の統合処理の流れを説明する。ここでは、位置および方向０の３Ｄ計測データ１１３に対し、他の位置および方向の３Ｄ計測データ１１３を統合するものとする。
【００５７】
まず３Ｄ計測データ統合部１０７は、ＤＢ１１１に格納された任意の３Ｄ計測データ１１３の中から、３Ｄ計測データｉを選択する（Ｓ４０１）。ここでｉは自然数である。
【００５８】
次に３Ｄ計測データ統合部１０７は、ロボット姿勢データ１１５を用いて、位置および方向０における３Ｄ計測センサ１３の位置および回転角度に対する位置および方向ｉにおける３Ｄ計測センサ１３の相対回転角度Ｒおよび相対位置ｔを算出する。位置および方向ｉにおける相対回転角度Ｒおよび相対位置ｔは、以下の式により算出できる。
【００５９】
【数１】
2019184340.tif 000003
【００６０】
ここで、
【数２】
2019184340.tif 000004
は３Ｄ計測センサ１３の位置および方向０を基準とした、３Ｄ計測センサ１３の位置および方向ｉの相対回転角度および相対位置ｔを、
【数３】
2019184340.tif 000005
は、図３のＳ３０１に示したハンドアイ・キャリブレーションにおける、ロボットハンド１１に対する３Ｄ計測センサ１３の相対回転角度Ｒおよび位置ｔを、
【数４】
2019184340.tif 000006
は、位置および方向０のときの、産業ロボット１０の台座の設置位置を基準とするロボットハンド１１の相対回転角度Ｒおよび位置ｔを、
【数５】
2019184340.tif 000007
は、位置および方向ｉのときの、産業ロボット１０の台座の設置位置を基準とするロボットハンド１１の相対回転角度Ｒおよび相対位置ｔを、それぞれ示す。
【００６１】
３Ｄ計測データ統合部１０７は、３Ｄ計測データ０と３Ｄ計測データｉとの精密位置合わせを行う（Ｓ４０５）。精密位置合わせの方法は種々考えられるが、例えば、Ｓ４０３で算出した位置および方向ｉにおける初期相対回転角度Ｒおよび相対位置ｔを元にＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）により位置合わせを行うことが考えられる。なお、産業ロボット１０のロボットハンド１１の駆動精度およびハンドアイ・キャリブレーションの精度が十分高いと考えられる場合には、Ｓ４０５の精密位置合わせの処理を省略してもよい。
【００６２】
このようにして位置および方向０および位置および方向ｉに対する相対回転角度Ｒおよび相対位置ｔを求め、両者の座標系を一致させた上で、３Ｄ計測データ統合部１０７は、３Ｄ計測データ０と３Ｄ計測データｉとの統合処理を行う（Ｓ４０７）。先述のとおり、統合方法は種々考えられる。例えば、第１位置および方向で３次元位置が計測されず第２位置および方向で３次元位置が計測できた領域については、３Ｄ計測データ統合部１０７は後者を適用して３次元位置を決めればよい。また、第１位置および方向並びに第２位置および方向のいずれでも３次元位置が計測できた場合には、より直線距離の近い位置および方向で計測された３次元位置計測結果を適用することが考えられる。またこのとき、周囲の３次元位置の情報により未計測領域の３次元位置を補完してもよい。これにより、３次元位置の計測精度を向上させることができる。
【００６３】
このようにして統合処理が終わると、３Ｄ計測データ統合部１０７は、統合後の３Ｄ計測データにより、位置および方向０の３Ｄ計測データ０を更新する（Ｓ４０９）。
【００６４】
３Ｄ計測データ統合部１０７は、全ての位置および方向の３Ｄ計測データ１１３に対して、同様に位置および方向０の３Ｄ計測データとの統合処理を行う（Ｓ４１１のＮｏ）。
【００６５】
［３．２  処理例２］
続いて、図５を参照しながら、３Ｄ計測データ１１３の生成にかかる処理例２を説明する。先述の処理例１は、全ての計測位置で３次元位置の計測を行った後、計測結果である３Ｄ計測データの統合処理を行っていたが、処理例２では、計測が完了した３Ｄ計測データ１１３から順次統合処理を行う。３Ｄ計測処理（図５のＳ５０５乃至Ｓ５０９）と統合処理（図５のＳ５１３）とを並列に処理すれば、処理時間の短縮を図ることができる。
【００６６】
Ｓ５０１乃至Ｓ５０９の処理は、図３を参照しながら説明した処理例１のＳ３０１乃至Ｓ３０９の処理と同様であるため、説明を省略する。
【００６７】
３Ｄ計測データ統合部１０７は、未処理の３Ｄ計測データ１１３が生成されると（Ｓ５１１のＹｅｓ）、位置および方向０の３Ｄ計測データ１１３と、当該未処理の３Ｄ計測データ１１３との統合処理を行う（Ｓ５１３）。
【００６８】
３Ｄ計測データ１１３の統合処理は、図４を参照しながら説明したＳ４０３乃至Ｓ４０９と同様であるため説明を省略する。
【００６９】
ロボット制御部１０１、３Ｄ計測部１０３、および３Ｄ計測データ統合部１０７は、センサ位置決定部１０５が決めた全ての位置および方向に対するＳ５０５ないしＳ５１３の処理を繰り返す（Ｓ５１５のＮｏ）。
【００７０】
センサ位置決定部１０５が決めた全ての位置および方向に対する処理が終わると（Ｓ５１５のＹｅｓ）、出力部１０９は、統合された３Ｄ計測データ１１３を出力する（Ｓ５１７）。
【００７１】
［３．３  変形例］
なお、図３乃至図５を参照しながら説明した上記処理例１および２では、センサ位置決定部１０５が予め決めた全ての位置および方向に対して処理を行っているが、これに限られるものではない。例えば、統合後の３Ｄ計測データ１１３において計測できている領域の密度が一定値以上に達した場合、或いは統合後の３Ｄ計測データ１１３に対して物体認識を行い、認識できた物体数が一定数以上に達した場合等には処理を終了することも考えられる。
【００７２】
［４  ハードウェア構成］
図６を参照しながら、情報処理装置１００を実現可能なハードウェア構成を説明する。図６は、本実施形態にかかる情報処理装置１００のハードウェア構成の一例を模式的に例示する。
【００７３】
図６の例に示す情報処理装置１００は、制御部６０１、記憶部６０５、通信インタフェース（Ｉ／Ｆ）部６１１、入力部６１３、及び出力部６１５を含み、各部はバスライン６１７を介して相互に通信可能に選択され得る。
【００７４】
制御部６０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を含み、情報処理に応じて各構成要素の制御を行う。より具体的には、たとえば、制御部６０１に含まれ得るＣＰＵは、記憶部６０５から制御プログラム６０７をＲＡＭ６０３へ読込み、当該制御プログラム６０７を実行することで、図２に示すロボット制御部１０１、３Ｄ計測部１０３、センサ位置決定部１０５、３Ｄ計測データ統合部１０７、および出力部１０９に関する上述の各種処理を実行可能である。
【００７５】
記憶部６０５は、例えばハード・ディスク・ドライブ（ＨＤＤ）、ソリッド・ステート・ドライブ（ＳＳＤ）等の補助記憶装置であり制御部６０１で実行される制御プログラム６０７、及び、データベース（ＤＢ）１１１等を記憶する。ＤＢ１１１では、先述のとおり、３Ｄ計測データ１１３やロボット姿勢データ１１５等を管理することができる。
【００７６】
制御プログラム６０７は、図１乃至図５を参照しながら説明した情報処理装置１００の処理を実行させるためのプログラムである。特に、図２に示したロボット制御部１０１、３Ｄ計測部１０３、センサ位置決定部１０５、３Ｄ計測データ統合部１０７、および出力部１０９の各構成は、制御プログラム６０７として実現しうる。
【００７７】
通信Ｉ／Ｆ部６１１は、例えば、有線又は無線により他の装置、例えば産業ロボット１０と通信するための通信モジュールである。通信Ｉ／Ｆ部６１１が他の装置との通信に用いる通信方式は任意であるが、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等が挙げられる。例えば、産業ロボット１０のロボットハンド１１や３Ｄ計測センサ１３との間の制御信号の送受信は、通信Ｉ／Ｆ部６１１を介して行われることが考えられる。
【００７８】
入力部６１３は、例えば、マウスやキーボード、タッチパネル等で実現しうる、ユーザからの各種入力操作等を受け付けるためのデバイスである。出力部６１５は、例えば、ディスプレイやスピーカ等、表示や音声等により、情報処理装置１００を利用するユーザ等へ各種情報を報知するための装置である。例えば、３Ｄ計測データ統合部１０７により統合された３Ｄ計測データ１１３を出力部１０９が表示装置に表示等させることにより、ユーザに提示することが考えられる。
【００７９】
［５  実施形態にかかる効果］
以上説明したように、本実施形態にかかる３Ｄ位置検出システム１では、３Ｄ計測センサ１３をロボットハンド１１に搭載した上で、ロボットハンド１１により３Ｄ計測センサ１３の位置を自由に変更することで、複数位置および方向から対象物Ｏの３次元位置に関する３Ｄ計測データ１１３を生成する。３Ｄ計測データ統合部１０７がそれらを統合することにより、ある位置および方向では３次元位置が計測できなかった領域も別の位置および方向で計測された３次元位置を適用することで、欠損（未計測領域）の少ない３Ｄ計測データ１１３を生成することができる。
【００８０】
また、複数位置および方向の３Ｄ計測データ１１３を統合することにより、１つの位置および方向のみで計測された３Ｄ計測データ１１３よりも計測精度を向上させることが可能である。
【００８１】
［６  付記］
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００８２】
［付記１］
３Ｄ計測センサ（１３）が３次元計測を行う複数の計測位置および／又は方向を決める決定部（１０５）と、
前記３Ｄ計測センサ（１３）を前記複数の計測位置および／又は方向の各々に順次移動させる制御部（１０１）と、
前記複数の計測位置の各々において前記３Ｄ計測センサ（１３）を用いて３次元計測を行うことにより複数の３Ｄ計測データ（１１３）を生成する計測部（１０３）と、
前記複数の３Ｄ計測データを統合するデータ統合部（１０７）と
を備える情報処理装置（１００）。
【００８３】
［付記２］
前記データ統合部（１０７）は、前記複数の３Ｄ計測データ（１１３）のうち、第１の３Ｄ計測データで３次元計測が行えなかった欠損領域が、当該第１の３Ｄ計測データとは計測位置および／又は方向の異なる第２の３Ｄ計測データで３次元計測が行えた場合に、前記第１の３Ｄ計測データの前記欠損領域に対して前記第２の３Ｄ計測データを適用する、
付記１記載の情報処理装置（１００）。
【００８４】
［付記３］
前記データ統合部（１０７）は、前記第１の３Ｄ計測データおよび前記第２の３Ｄ計測データのいずれでも３次元計測が行えた領域に対しては、計測対象物からの距離が近い前記計測位置および／又は方向での計測結果を適用する、
付記２記載の情報処理装置（１００）。
【００８５】
［付記４］
前記データ統合部（１０７）による前記複数の３Ｄ計測データ（１１３）の統合と、前記制御部（１０１）による前記３Ｄ計測センサ（１３）の移動とを並列に行う、
付記１乃至付記３のいずれか１項記載の情報処理装置（１００）。
【００８６】
［付記５］
前記制御部（１０１）は、前記ロボット（１０）の有するロボットハンド（１１）により前記３Ｄ計測センサ（１３）を移動させる、
付記１乃至付記４のいずれか１項記載の情報処理装置（１００）。
【００８７】
［付記６］
前記制御部（１０１）は、前記ロボットハンド（１１）に取り付けられた前記３Ｄ計測センサ（１３）に対するハンドアイ・キャリブレーションを行う、
付記５記載の情報処理装置（１００）。
【００８８】
［付記７］
前記データ統合部（１０７）は、前記複数の計測位置および／又は方向の間の相対位置および相対的な回転角度を算出することにより、前記複数の３Ｄ計測データ（１１３）の座標系が同一になるように変換した上で前記複数の３Ｄ計測データ（１１３）を統合する、
付記乃至付記６のいずれか１項記載の情報処理装置（１００）。
【００８９】
［付記８］
３Ｄ計測センサ（１３）が３次元計測を行う複数の計測位置および／又は方向を決める処理と、
前記３Ｄ計測センサ（１３）を前記複数の計測位置の各々に順次移動させる処理と、
前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサ（１３）を用いて３次元計測を行うことにより複数の３Ｄ計測データ（１１３）を生成する処理と、
前記複数の３Ｄ計測データ（１１３）を統合する処理と
を情報処理装置（１００）が行う、情報処理方法。
【００９０】
［付記９］
３Ｄ計測センサ（１３）が３次元計測を行う複数の計測位置および／又は方向を決める処理と、
前記３Ｄ計測センサ（１３）を前記複数の計測位置および／又は方向の各々に順次移動させる処理と、
前記複数の計測位置および／又は方向の各々において前記３Ｄ計測センサ（１３）を用いて３次元計測を行うことにより複数の３Ｄ計測データ（１１３）を生成する処理と、
前記複数の３Ｄ計測データ（１１３）を統合する処理と
を情報処理装置（１００）に実行させるためのプログラム（９０７）。
【符号の説明】
【００９１】
１…３Ｄ位置検出システム、１０…産業ロボット、１１…ロボットハンド、１３…３Ｄ計測センサ、１００…情報処理装置、１０１…ロボット制御部、１０３…３Ｄ計測部、１０５…センサ位置決定部、１０７…３Ｄ計測データ統合部、１０９…出力部、１１１…データベース（ＤＢ）、１１３…３Ｄ計測データ、１１５…ロボット姿勢データ、６０１…制御部、６０３…ＲＡＭ、６０５…記憶部、６０７…制御プログラム、６１１…通信インタフェース（Ｉ／Ｆ）部、６１３…入力部、６１５…出力部、６１７…バスライン
【図１Ａ】
2019184340.tif 000008
【図１Ｂ】
2019184340.tif 000009
【図２】
2019184340.tif 000010
【図３】
2019184340.tif 000011
【図４】
2019184340.tif 000012
【図５】
2019184340.tif 000013
【図６】
2019184340.tif 000014