(57)【特許請求の範囲】
【請求項１】
可動部を有する物体の外面形状を計測して得られる点群データを用いて、前記物体の３次元モデルを生成するモデル生成装置であって、
前記点群データは、３次元座標を有する点データの集合であり、
前記可動部が動作していないときに前記物体を計測して得られる前記点群データである第１のデータセット、及び前記可動部が動作しているときに前記物体を計測して得られる前記点群データである第２のデータセットの入力を受け付ける入力手段と、
前記第１のデータセットから複数の平面を検出し、前記複数の平面に基づいて前記物体の第１の外面形状を推定する第１の推定手段と、
前記第２のデータセットから前記第１の外面形状と所定の位置関係にある平面を検出し、前記所定の位置関係にある平面に基づいて前記可動部の可動域を推定する第２の推定手段とを有する
モデル生成装置。
【請求項２】
前記第２のデータセットは、前記可動部が動作しているときに前記物体を所定の時間間隔で計測して得られる複数の前記点群データを含み、
前記第２の推定手段は、前記第２のデータセットに含まれる複数の前記点群データから、前記第１の外面形状の１つの面と略平行な複数の第１の平面を検出するとともに、前記複数の第１の平面を包含する直方体を前記可動域として推定する
請求項１記載のモデル生成装置。
【請求項３】
前記第２のデータセットは、前記可動部が動作しているときに前記物体を所定の時間間隔で計測して得られる複数の前記点群データを含み、
前記第２の推定手段は、前記第２のデータセットに含まれる複数の前記点群データから、前記第１の外面形状の１つの面の法線との外積が前記１つの面に略平行となる法線を有する第２の平面をそれぞれ検出し、複数の前記第２の平面に基づいて前記可動部の回転軸を推定する
請求項１記載のモデル生成装置。
【請求項４】
前記第２の推定手段は、複数の前記第２の平面から、前記１つの面を含む平面に対する垂直投影点が前記１つの面内に存在するような中心座標を有する前記第２の平面を複数検出し、前記複数の第２の平面に基づいて前記可動部の回転軸を推定する
請求項３記載のモデル生成装置。
【請求項５】
可動部を有する物体の外面形状を計測して得られる点群データであって、３次元座標を有する点データの集合である前記点群データを用いて、前記物体の３次元モデルを生成するモデル生成方法であって、
前記可動部が動作していないときに前記物体を計測して得られる前記点群データである第１のデータセットから複数の平面を検出し、前記複数の平面に基づいて前記物体の第１の外面形状を推定する第１の推定ステップと、
前記可動部が動作しているときに前記物体を計測して得られる前記点群データである第２のデータセットから、前記第１の外面形状と所定の位置関係にある平面を検出し、前記所定の位置関係にある平面に基づいて前記可動部の可動域を推定する第２の推定ステップとを有する
モデル生成方法。
【請求項６】
前記第２のデータセットは、前記可動部が動作しているときに前記物体を所定の時間間隔で計測して得られる複数の前記点群データを含み、
前記第２の推定ステップは、前記第２のデータセットに含まれる複数の前記点群データから、前記第１の外面形状の１つの面と略平行な複数の第１の平面を検出するとともに、前記複数の第１の平面を包含する直方体を前記可動域として推定する
請求項５記載のモデル生成方法。
【請求項７】
前記第２のデータセットは、前記可動部が動作しているときに前記物体を所定の時間間隔で計測して得られる複数の前記点群データを含み、
前記第２の推定ステップは、前記第２のデータセットに含まれる複数の前記点群データから、前記第１の外面形状の１つの面の法線との外積が前記１つの面に略平行となる法線を有する第２の平面をそれぞれ検出し、複数の前記第２の平面に基づいて前記可動部の回転軸を推定する
請求項５記載のモデル生成方法。
【請求項８】
前記第２の推定ステップは、複数の前記第２の平面から、前記１つの面を含む平面に対する垂直投影点が前記１つの面内に存在するような中心座標を有する前記第２の平面を複数検出し、前記複数の第２の平面に基づいて前記可動部の回転軸を推定する
請求項７記載のモデル生成方法。
【請求項９】
コンピュータに、
可動部を有する物体の外面形状を計測して得られる点群データであって、３次元座標を有する点データの集合である前記点群データを用いて、前記物体の３次元モデルを生成する処理を実行させるモデル生成プログラムであって、
前記可動部が動作していないときに前記物体を計測して得られる前記点群データである第１のデータセットから複数の平面を検出し、前記複数の平面に基づいて前記物体の第１の外面形状を推定する第１の推定ステップと、
前記可動部が動作しているときに前記物体を計測して得られる前記点群データである第２のデータセットから、前記第１の外面形状と所定の位置関係にある平面を検出し、前記所定の位置関係にある平面に基づいて前記可動部の可動域を推定する第２の推定ステップとを有する
モデル生成プログラム。
【請求項１０】
前記第２のデータセットは、前記可動部が動作しているときに前記物体を所定の時間間隔で計測して得られる複数の前記点群データを含み、
前記第２の推定ステップは、前記第２のデータセットに含まれる複数の前記点群データから、前記第１の外面形状の１つの面と略平行な複数の第１の平面を検出するとともに、前記複数の第１の平面を包含する直方体を前記可動域として推定する
請求項９記載のモデル生成プログラム。
【請求項１１】
前記第２のデータセットは、前記可動部が動作しているときに前記物体を所定の時間間隔で計測して得られる複数の前記点群データを含み、
前記第２の推定ステップは、前記第２のデータセットに含まれる複数の前記点群データから、前記第１の外面形状の１つの面の法線との外積が前記１つの面に略平行となる法線を有する第２の平面をそれぞれ検出し、複数の前記第２の平面に基づいて前記可動部の回転軸を推定する
請求項９記載のモデル生成プログラム。
【請求項１２】
前記第２の推定ステップは、複数の前記第２の平面から、前記１つの面を含む平面に対する垂直投影点が前記１つの面内に存在するような中心座標を有する前記第２の平面を複数検出し、前記複数の第２の平面に基づいて前記可動部の回転軸を推定する
請求項１１記載のモデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル生成装置、モデル生成方法及びモデル生成プログラムに関し、特に可動部を含む物体の３次元モデルを生成する技術に関する。
【背景技術】
【０００２】
物体の外面形状を測定可能なセンサを利用して、その物体の３次元モデルを生成する方式が種々提案されている。特に、可動部を有する物体のモデル化は、例えば人の生活を支援するロボット等の分野において、重要な意義を有する。このようなロボットには、日常環境に存在する様々な物体を認識し、操作する機能が要求される。このような物体の中でも、食器や衣類などの物品を収納する家具等は、引き出しや引き戸などの可動構造を有していることが多い。そこで、かかるロボットには、かかる家具等の外面形状だけでなく、可動構造についての知識も持たせておく必要がある。
【０００３】
非特許文献１は、可動構造を持つ物体をモデル化する方法を示している。この方法によれば、揺動させたレーザセンサを用いて取得する物体の外面形状データと、人がロボットの手先を直接操作することで取得する操作軌道データとに基づき、家具の可動部の情報（引き出しの前板サイズ及び引き出し量、引き戸の扉の操作軌道及び開閉角度等）を推定することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｋｉｍｉｔｏｓｈｉ  Ｙａｍａｚａｋｉ，Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｍｏｔｉｏｎ  Ｐｌａｎｎｉｎｇ  ｆｏｒ  Ｈａｎｄｌｉｎｇ  Ｆｕｒｎｉｔｕｒｅ  ｂｙ  ａ  Ｍｏｂｉｌｅ  Ｍａｎｉｐｕｌａｔｏｒ，２００７  ＩＥＥＥ／ＲＳＪ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｒｏｂｏｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，２００７年１０月２９日，第１９２６頁
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１にかかる方法では、揺動させたレーザセンサを使用しているため、高周期で物体の外面形状を測定することができない。そのため、レーザセンサにより得られる情報のみでは物体の可動部の操作軌道を推定できず、人がロボットを直接操作するダイレクトティーチの手法を採用する必要があった。かかる手法は、人手による操作を必要とするため、多大な手間や時間がかかるという問題点があった。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、可動部を含む物体の３次元計測データのみに基づいて前記物体の３次元モデルを生成できるモデル生成装置、モデル生成方法及びモデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るモデル生成装置は、可動部を有する物体の外面形状を計測して得られる点群データを用いて、前記物体の３次元モデルを生成するモデル生成装置であって、前記点群データは、３次元座標を有する点データの集合であり、前記可動部が動作していないときに前記物体を計測して得られる前記点群データである第１のデータセット、及び前記可動部が動作しているときに前記物体を計測して得られる前記点群データである第２のデータセットの入力を受け付ける入力手段と、前記第１のデータセットから複数の平面を検出し、前記複数の平面に基づいて前記物体の第１の外面形状を推定する第１の推定手段と、前記第２のデータセットから前記第１の外面形状と所定の位置関係にある平面を検出し、前記所定の位置関係にある平面に基づいて前記可動部の可動域を推定する第２の推定手段とを有するものである。
【０００８】
本発明においては、第１の推定手段１０２が、第１のデータセットのみを用いて物体の外面形状モデルを作成する。また、第２の推定手段１０３が、第２のデータセットのみを用いて可動部のモデルを作成する。そのため、可動部を有する物体のモデル化処理を簡便かつ高速に実施することができる。
【０００９】
本発明におけるモデル生成方法は、可動部を有する物体の外面形状を計測して得られる点群データであって、３次元座標を有する点データの集合である前期点群データを用いて、前記物体の３次元モデルを生成するモデル生成方法であって、前記可動部が動作していないときに前記物体を計測して得られる前記点群データである第１のデータセットから複数の平面を検出し、前記複数の平面に基づいて前記物体の第１の外面形状を推定する第１の推定ステップと、前記可動部が動作しているときに前記物体を計測して得られる前記点群データである第２のデータセットから、前記第１の外面形状と所定の位置関係にある平面を検出し、前記所定の位置関係にある平面に基づいて前記可動部の可動域を推定する第２の推定ステップとを有するものである。
【００１０】
本発明においては、第１の推定手段１０２が、第１のデータセットのみを用いて物体の外面形状モデルを作成する。また、第２の推定手段１０３が、第２のデータセットのみを用いて可動部のモデルを作成する。そのため、可動部を有する物体のモデル化処理を簡便かつ高速に実施することができる。
【００１１】
本発明におけるモデル生成プログラムは、コンピュータに、可動部を有する物体の外面形状を計測して得られる点群データであって、３次元座標を有する点データの集合である前期点群データを用いて、前記物体の３次元モデルを生成する処理を実行させるモデル生成プログラムであって、前記可動部が動作していないときに前記物体を計測して得られる前記点群データである第１のデータセットから複数の平面を検出し、前記複数の平面に基づいて前記物体の第１の外面形状を推定する第１の推定ステップと、前記可動部が動作しているときに前記物体を計測して得られる前記点群データである第２のデータセットから、前記第１の外面形状と所定の位置関係にある平面を検出し、前記所定の位置関係にある平面に基づいて前記可動部の可動域を推定する第２の推定ステップとを有するものである。
【００１２】
本発明においては、第１の推定手段１０２が、第１のデータセットのみを用いて物体の外面形状モデルを作成する。また、第２の推定手段１０３が、第２のデータセットのみを用いて可動部のモデルを作成する。そのため、可動部を有する物体のモデル化処理を簡便かつ高速に実施することができる。
【発明の効果】
【００１３】
本発明により、可動部を含む物体の３次元計測データのみに基づいて前記物体の３次元モデルを生成できるモデル生成装置、モデル生成方法及びモデル生成プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかるモデル生成装置の構成を示す図である。
【図２】実施の形態１にかかる物体の例を示す図である。
【図３】実施の形態１にかかるモデル生成装置の処理を示すフローチャートである。
【図４】実施の形態１にかかるモデル生成装置の処理を示す模式図である。
【図５】実施の形態１にかかるモデル生成装置の処理を示す模式図である。
【図６】実施の形態１にかかるモデルの例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１６】
＜実施の形態１＞
本発明の実施の形態１では、特に引き出しを有する家具を測定対象とし、この家具のモデルを生成する場合を例として説明する。
【００１７】
まず、図１を用いて、本実施の形態にかかるモデル生成装置１００の構成について説明する。
【００１８】
モデル生成装置１００は、典型的にはコンピュータ（パーソナルコンピュータ、サーバコンピュータ、携帯端末装置等）である。このコンピュータは、制御装置（ＣＰＵ）、記憶装置（揮発性メモリ及び不揮発性メモリ）、入出力装置（ディスプレイ、キーボード、ポインティングデバイス、通信インタフェイス等）を含み、特に記憶装置には、本発明に関する処理を制御装置に実行させるためのプログラムが格納されている。但し、コンピュータは物理的に単一の装置である必要はなく、複数の装置がこれらの機能を分散的に実現する構成であってもよい。例えば、プログラムは、遠隔に設けられた記憶装置から通信インタフェイスを介して取得され、制御手段に供給されるようにしてもよい。
【００１９】
モデル生成装置１００は、少なくとも入力手段１０１、第１の推定手段１０２及び第２の推定手段１０３を有する。これらの手段１０１乃至１０３は、いずれも上述の制御装置、記憶装置、入出力装置等のハードウェアと、プログラムとして定義されたソフトウェアとの協働により実現される、論理的な手段である。
【００２０】
入力手段１０１は、図示しない３次元距離センサ等から点群データの入力を受け付ける手段である。典型的には、入力手段１０１は、通信インタフェイスを介して接続された３次元距離センサから点群データを受信し、記憶装置に一時的に保持して、後述の第１の推定手段１０２及び第２の推定手段１０３による処理に供する。
【００２１】
ここで、３次元距離センサについて説明する。３次元距離センサは、物体の外面形状を計測するための装置である。本実施の形態において用いる３次元距離センサは、物体までの距離が１メートル程度の場合、１平方センチメートルあたり数点の密度、かつ１秒あたり３０回程度の高周期で物体表面の３次元座標を計測できる。また、３次元距離センサは、計測結果として、当該座標を示す点データの集合である点群データを出力する。
【００２２】
３次元距離センサは、測定対象の物体が略直方体である場合、その物体の少なくとも２面を観測できる位置に配置するものとする。この場合、３次元距離センサは、これらの２面の測定結果である点群データを出力する。モデル生成装置１００は、後述の処理により、この２面の点群データのみから、略直方体の物体全体の形状を推定する。
【００２３】
測定対象の物体としては、本実施の形態では可動部を有する家具を採用する。モデル生成装置１００が生成するモデルは、例えばロボットが人の生活空間を自律移動し、生活空間に存在する物体を操作する際の基礎データとして利用することが想定される。この点、家具は、生活空間に日常的に存在し、ロボットによる操作の対象となることが多いため、物体の例として好適である。図２に、本実施の形態において測定対象とする家具の例を示す。家具は、可動部として引き出し又は開き戸（ヒンジを回転軸として回動する扉）を有しているものとする。また、この家具は、可動部が動作していない状態（引き出し又は開き戸を閉じた状態）で、略直方体であるものとする。この状態における家具の外面形状を、特に概形という。また、この家具の可動部の前板又は扉は、略平面で構成されているものとする。
【００２４】
入力手段１０１は、この家具に関する２種類の測定データを受信する。３次元距離センサはまず、可動部が動作していない状態の家具を少なくとも１度計測し、入力手段１０１はこの計測結果の点群データ（以下、第１のデータセットという）を受信する。第１のデータセットは、後述の処理において、家具の概形を推定するために用いられる。つぎに、３次元距離センサは、可動部が動作中の家具を所定の周期すなわち時間間隔で計測し、入力手段１０１はこれらの時系列の点群データ（以下、第２のデータセットという）を受信する。第２のデータセットは、後述の処理において、可動部に関する情報（引き出しの前板サイズ及び引き出し量、引き戸の扉の操作軌道及び開閉角度等）を推定するために用いられる。
【００２５】
第１の推定手段１０２は、家具の概形を推定する処理を行う。第１の推定手段１０２は、第１のデータセットに含まれる点群データから複数の平面、具体的には３次元距離センサが計測した家具の２面を検出し、これらの平面に基づいて、家具全体の外面形状すなわち概形を推定する。換言すれば、第１の推定手段１０２は家具の幅、奥行、高さを推定する。
【００２６】
第２の推定手段１０３は、可動部、具体的には引き出し又は開き戸の前板部分を検出する処理を行う。第２の推定手段１０３は、第２のデータセットに含まれる時系列の点群データから、第１の推定手段１０２が推定した家具の外面形状と所定の位置関係にある平面を検出することにより、可動部の検出を行う。また、第２の推定手段は、同じ第２のデータセットから、この可動部の可動域も推定する。すなわち、第２の推定手段１０３は引き出しの前板の幅、高さ及び引き出し量、又は開き戸の幅、高さ及び開き角度を推定する。
【００２７】
本実施の形態においては、このように、物体及びその可動部のサイズ及び可動域等を推定することを、物体のモデルを生成するという。また、物体及びその可動部のサイズ及び可動域等を、物体のモデルという。
【００２８】
つづいて、図３を用いて、本発明の実施の形態１にかかるモデル生成装置１００が実行する処理について説明する。
【００２９】
Ｓ１０１：３次元距離センサは、まず可動部すなわち引き出しが全て閉じた状態で、家具の概形を測定する。測定結果は、点群データ（第１のデータセット）として記憶装置に一時的に保持される。つづいて、３次元距離センサは、可動部が動いている状況、すなわち引き出しが引かれている状況における家具の外面形状を、所定の周期（時間間隔）で複数回測定する。測定結果は、時系列の複数の点群データ（第２のデータセット）として記憶装置に一時的に保持される。なお、発明者による試験結果によれば、ここで、可動部を動作させる人の腕などが可動部の一部を覆い隠しても、後述の平面検出処理に与える影響は非常に限定的であり、実用上問題とならない。
【００３０】
入力手段１０１は、上述の第１のデータセット及び第２のデータセットを３次元距離センサから受信する。本実施の形態では、まず第１のデータセットの点群データが、つづいて第２のデータセットを構成する複数の点群データが時系列（測定順）に逐次、入力手段１０１に入力されてくるものとする。
【００３１】
Ｓ１０２：第１の推定手段１０２は、入力手段１０１に第１のデータセットが入力されると、第１のデータセットに含まれる点群データから平面を検出する処理を行う。本実施の形態における平面検出処理は、（１）点のリダクション処理、（２）平面検出処理、（３）クラスタリングの３つの処理を含む。第１の推定手段１０２は、これらの（１）乃至（３）の処理を１セット実行することにより、１つの平面を検出することができる。第１の推定手段１０２は、これらの（１）乃至（３）の処理を任意の回数繰り返すことにより、複数の平面を検出する。繰り返しの回数としては、例えば、３次元距離センサが観測可能な家具の面数を上限とする繰り返し、又は平面が検出されなくなるまでの無限回の繰り返し等が考えられる。
【００３２】
（１）リダクション処理
リダクション処理とは、点群データに含まれる点を削減する処理である。リダクション処理を実施することにより、後続の平面検出処理、クラスタリング等の実行負荷を軽減することができる。よって、リダクション処理は必要に応じ実施すればよく、必ずしも実施しなくても良い。
【００３３】
本実施の形態では、Ｐｏｉｎｔ  Ｃｌｏｕｄ  Ｌｉｂｒａｒｙ（ＰＣＬ）と呼ばれるオープンソースの３次元点群処理ライブラリに含まれるＶｏｘｅｌＧｒｉｄアルゴリズムを用いて、点のリダクション処理を行う。ＶｏｘｅｌＧｒｉｄは、空間を直方体に区切り、点群の代わりにその直方体の重心を使うことで、３次元点群をダウンサンプリングする処理を行う。より具体的には、ＶｏｘｅｌＧｒｉｄは、３次元空間を所定の大きさの直方体に区切り、それぞれの直方体に入っている３次元点群を特定し、これらの３次元点群の重心を計算する。ＶｏｘｅｌＧｒｉｄは、これらの３次元点群を代表する点として、この重心を出力する。
【００３４】
（２）平面検出処理
平面検出処理とは、点群データから平面を実際に検出する処理である。ここでいう点群データとは、３次元距離センサから出力された生の点群データであってもよく、リダクション処理を行った点群データであっても良い。本実施の形態では、ＰＣＬに含まれるＳＡＣＳｅｇｍｅｎｔａｔｉｏｎアルゴリズムを用いて、平面検出処理を行う。ＳＡＣＳｅｇｍｅｎｔａｔｉｏｎは、点群データの中からランダムに選んだ点の組から法線ベクトルを求めることにより、平面を構成する点群を抽出する処理を行う。より具体的には、ＳＡＣＳｅｇｍｅｎｔａｔｉｏｎは、点群データからランダムに２点を選択し、これらの２点に基づくベクトルを生成する。さらに、このベクトルをランダムに２組選択し、これらの２組のベクトルにより構成される平面の法線ベクトルを計算する。かかる処理を複数回繰り返し、法線ベクトルが同じ方向を向いている平面があれば、その平面を構成する点群を抽出する。ＳＡＣＳｅｇｍｅｎｔａｔｉｏｎは、これらの抽出された点群を、同じ平面に属するものと判定する。
【００３５】
なお、平面検出処理は上述の手法によるもののみに限定されず、例えばＲｅｇｉｏｎ  Ｇｒｏｗｉｎｇアプローチによる手法、近傍点を楕円体近似した後に当てはめを行う手法等、公知の手法であればどのような手法によるものであっても差し支えない。
【００３６】
（３）クラスタリング
クラスタリングは、検出された平面に属する点群とそれ以外の点群とを分割する処理である。本実施の形態では、ＰＣＬに含まれるＥｕｃｌｉｄｉａｎＣｌｕｓｔｅｒＥｘｔｒａｃｔｉｏｎアルゴリズムを用いて、平面検出処理において同じ平面に属するものと判定された点群に対するクラスタリングを行う。ＥｕｃｌｉｄｉａｎＣｌｕｓｔｅｒＥｘｔｒａｃｔｉｏｎは、近距離にある点群は同じクラスに属するという考えのもと、３次元点群をクラスタリングする処理を行う。より具体的には、ＥｕｃｌｉｄｉａｎＣｌｕｓｔｅｒＥｘｔｒａｃｔｉｏｎは、３次元点群からランダムに１点を選び、その１点を中心として指定した半径の球内に存在する点群を、同じクラスタに属する点群とする。かかる処理を複数回繰り返し、同じクラスタに属すると判定された点群が、１つの平面を構成する点群として最終的に特定される。
【００３７】
第２の推定手段１０３は、入力手段１０１に第２のデータセットを構成する複数の点群データが逐次入力されると、それらの点群データそれぞれから平面を検出する処理を行う。ここでいう平面検出処理は、第１の推定手段１０２が実施する平面検出処理と同様である。すなわち、点のリダクション処理、平面検出処理、クラスタリングの３つの処理を、任意の回数繰り返すことにより、それぞれの点群データから複数の平面を検出する。
【００３８】
上述の平面検出処理によれば、取っ手などの突起物や、家具を操作する人の身体の一部等は除去され、家具やその可動部の前面及び側面等を構成する平面のみを検出することが可能である。
【００３９】
Ｓ１０３：第１の推定手段１０２は、第１のデータセットの点群データから検出した複数の平面を用いて、家具の概形を推定する処理を行う。
【００４０】
図４を用いて、家具の概形を推定する処理について説明する。Ｓ１０３にかかる家具の概形を推定する処理は、（１）稜線の算出、（２）平面矩形の決定、（３）直方体の当てはめの各処理を含む。
【００４１】
（１）稜線の算出
第１の推定手段１０２は、第１のデータセットの点群データから検出した平面群のうち、近接かつ略直交している２つの平面を特定し、これらの２つの平面の稜線を求める。近接している平面とは、例えば、平面を構成する点群の代表点同士の距離が所定の閾値以下である平面である。また、略直交している平面とは、なす角が直角か所定の許容範囲内にある２つの平面である。
【００４２】
（２）平面矩形の決定
まず、第１の推定手段１０２は、上述の２つの平面それぞれに属する点群のうち、上述の稜線から最も遠い点までの距離を、これらの平面毎に特定する。また、第１の推定手段１０２は、上述の２つの平面それぞれに属する点群を、上述の稜線上へ全て投影したとき、最両端に位置する２つの点を特定する。第１の推定手段１０２は、これらの最両端の投影点間の距離を高さとし、稜線から最も遠い点までの距離を幅とする平面矩形を、２つ定義する。
【００４３】
（３）直方体の当てはめ
第１の推定手段１０２は、これらの２つの平面矩形を包括する直方体を定義し、この直方体を家具の概形とする。ここで、この直方体を構成する平面は、上記２つの平面矩形と必ずしも一致する必要はない。すなわち、当該２つの平面矩形が直方体に包含されていればよく、図４（３）に示すように、当該２つの平面矩形と直方体の構成面との間に隙間が生じていても差し支えない。
【００４４】
上述の家具の概形の推定処理によれば、家具の少なくとも２つの面が見えていれば、その概形を推定することが可能である。
【００４５】
Ｓ１０４：第２の推定手段１０３は、第２のデータセットの時系列の点群データから検出した平面群を用いて、可動部の形状と可動範囲とを推定する処理を行う。
【００４６】
本実施の形態における家具が有する引き出しとは、通常、直方体の引き出し領域を家具に対して出し入れする形態の可動部である。また、引き出しは、一般に、前板部分に設置された取っ手を用いて操作がなされ、その操作方向は前板に対して垂直である。そこで、本実施の形態では、引き出しの前板の形状と、引き出しの掃引領域（前板の形状×奥行き）を推定することにより、引き出しのモデル化を行う。以下、図５を用いて引き出しのモデル化について説明する。
【００４７】
まず、第２の推定手段１０３は、引き出しの前板の形状を推定する。第２の推定手段１０３は、第２のデータセットに含まれる時系列の点群データそれぞれから、家具の概形を示す直方体の１つの面と略平行であって、かつこの１つの面からの距離が所定の閾値の範囲内にある平面を検出する。本実施の形態では、一般的な家具の引き出しのサイズを考慮し、この閾値を５０ミリメートル乃至４００ミリメートルと設定した。また、各点群データからの平面の検出は、Ｓ１０２において示した手法により実施することができる。特に、家具の概形を示す直方体の１つの面と略平行な平面は、平面の法線方向によるクラスタリングを行うことにより抽出することが可能である。このようにして検出された平面に属する３次元点群は、その点群が測定された時点における引き出しの前板の形状を示すものと考えられる。ここで、前板とほぼ平行であるとされた家具の面を、以下、注目平面と呼ぶ。
【００４８】
つぎに、第２の推定手段１０３は、引き出しの奥行きと掃引領域とを推定する。第２のデータセットは、引き出しが操作されている様を時系列に測定したデータである。よって、前板を示す上述の平面を、時系列に重ね合わせることにより、前板の軌跡、すなわち掃引領域を特定することができる。具体的には、第２の推定手段１０３は、第２のデータセットに含まれる各点群データから前板として抽出された平面群に属する３次元点群を全て包括するような直方体を定義する。より具体的には、第２の推定手段１０３は、まず、家具の概形を示す直方体の注目平面上に、前板として抽出された全ての３次元点群を垂直投影する。つぎに、第２の推定手段１０３は、この注目平面上に、これらの投影点を全て包含する平面矩形を定義する。この平面矩形は、注目平面の４辺とそれぞれ平行な４辺を持つよう定義する。最後に、第２の推定手段１０３は、前板として抽出された全ての３次元点群のうちこの平面矩形から最も遠い距離にある点と、この平面矩形との距離を算定する。第２の推定手段１０３は、この距離を引き出しの奥行きと推定する。また、第２の推定手段１０３は、この平面矩形を底面とし、この距離を高さとする直方体を、この引き出しの形状として推定する。
【００４９】
図６に、第１の推定手段１０２及び第２の推定手段１０３により生成されたモデルの例を示す。このモデルは、家具の概形を示す直方体と、引き出し（第１、３、５段目）の掃引領域を示す直方体からなる３次元モデルである。
【００５０】
本実施の形態によれば、第１の推定手段１０２が、第１のデータセット、すなわち少なくとも物体の２面の計測結果である点群データのみを用いて物体の概形モデルを作成する。そのため、物体のモデル化処理を簡便かつ高速に実施することができる。
【００５１】
また、本実施の形態によれば、第１の推定手段１０２が、第１のデータセットの点群データを用いて平面検出処理及びクラスタリング処理を行う際、測定者の体の一部等のノイズを自動的に除去することができる。そのため、物体のモデル化処理を簡便かつ高速に実施することができる。
【００５２】
さらに、本実施の形態によれば、第２の推定手段１０３が、可動部が動作中の物体を高周期で測定した時系列データである第２のデータセットのみを用いて、人による直接の教示等を要せず、独自のアルゴリズムにより、可動部、特に引き出しのモデルを作成する。そのため、物体のモデル化処理を簡便かつ高速に実施することができる。
【００５３】
＜実施の形態２＞
本発明の実施の形態２では、特に開き戸を有する家具を測定対象とし、この家具のモデルを生成する場合を例として説明する。
【００５４】
本実施の形態にかかるモデル生成装置１００は、実施の形態１と同様の構成を有する。すなわち、図１に示すように、モデル生成装置１００は少なくとも入力手段１０１、第１の推定手段１０２及び第２の推定手段１０３を有する。
【００５５】
つづいて、図３を用いて、本発明の実施の形態２にかかるモデル生成装置１００が実行する処理について、実施の形態１との相違点を主として説明する。なお、本実施の形態において特に言及しない事項については、実施の形態１と同様の処理を行うものとする。
【００５６】
Ｓ１０１：３次元距離センサは、まず可動部すなわち開き戸が全て閉じた状態で、家具の概形を測定する。測定結果は、点群データ（第１のデータセット）として記憶装置に一時的に保持される。つづいて、３次元距離センサは、可動部が動いている状況、すなわち開き戸が回動している状況における家具の外面形状を、所定の周期（時間間隔）で複数回測定する。測定結果は、時系列の複数の点群データ（第２のデータセット）として記憶装置に一時的に保持される。
【００５７】
入力手段１０１は、上述の第１のデータセット及び第２のデータセットを３次元距離センサから逐次受信する。
【００５８】
Ｓ１０２：第１の推定手段１０２は、第１のデータセットに含まれる点群データから平面を検出する処理を行う。すなわち、（１）点のリダクション処理、（２）平面検出処理、（３）クラスタリングの３つの処理を任意の回数繰り返すことにより、複数の平面を検出する。これらの処理（１）乃至（３）の内容は、実施の形態１と同様である。
【００５９】
第２の推定手段１０３も同様に、第２のデータセットを構成する複数の点群データそれぞれから平面を検出する処理を行う。ここでいう平面検出処理は、第１の推定手段１０２が実施する平面検出処理と同様である。
【００６０】
Ｓ１０３：第１の推定手段１０２は、第１のデータセットの点群データから検出した複数の平面を用いて、家具の概形を推定する処理を行う。すなわち、（１）稜線の算出、（２）平面矩形の決定、（３）直方体の当てはめの各処理を行う。これらの処理（１）乃至（３）の内容は、実施の形態１と同様である。
【００６１】
Ｓ１０４：第２の推定手段１０３は、第２のデータセットの時系列の点群データから検出した平面群を用いて、可動部の形状と可動範囲とを推定する処理を行う。
【００６２】
本実施の形態における家具が有する開き戸とは、通常、ある軸のまわりに前板を回転することで収納領域へのアクセスを行う形態の可動部である。そこで、本実施の形態では、開き戸の前板の形状と、軸位置とを推定することにより、開き戸のモデル化を行う。
【００６３】
まず、第２の推定手段１０３は、開き戸の前板の形状を推定する。第２の推定手段１０３は、第２のデータセットに含まれる時系列の点群データそれぞれから、家具の概形を示す直方体の１つの面の法線との外積がこの１つの面と略平行となるような法線を有する平面であって、その平面の中心座標を上述の１つの面に垂直投影したときその投影点がその１つの面内にあるような平面を検出する。以下、家具の上記１つの面を注目平面と呼ぶ。つづいて、第２の推定手段１０３は、第２のデータセットに含まれる各点群データから前板として抽出された平面群に属する３次元点群を全て包括する直方体であって、家具の注目平面に底面を置く直方体を定義する。第２の推定手段１０３は、これらの３次元点群のうち注目平面から最も遠い距離にある点と、後述の軸位置の関係から、前板のサイズを特定することができる。
【００６４】
軸位置の推定方法について説明する。一般に、軸の回転中心は、前板から離れた位置に存在し得る。この軸上のある点の座標をＢ＝（ｘ，ｙ，ｚ）とする。また、この軸から前板を示す平面までの距離をｒとする。かかる前提のもと、第２の推定手段１０３は、以下の数１の式によって軸位置を推定する。
【数１】
0005785074.tif 000002
【００６５】
ここでｎ１は、第２のデータセットから検出された、前板を示す平面群のうち１つの平面の法線ベクトル、ｄ１は、座標系の原点からこの平面までの距離を示す。また、ｎ２は、前板を示す平面群のうち他の１つの平面の法線ベクトル、ｄ２は、座標系の原点からこの平面までの距離を示す。本実施の形態では、時系列データとして、前板の平面パラメータ（ｎ及びｄ）が複数得られるため、最小二乗法によりＢを求めることが可能である。前板を示す平面群は、全て点Ｂによって拘束されており、点Ｂと常に同じ距離を保つため、上記数１の式が成り立つ。
【００６６】
第２の推定手段１０３は、この数１の式より、まずｒを消去したうえで点Ｂを特定し、ついでｒを特定することができる。
【００６７】
本実施の形態によれば、第２の推定手段１０３が、可動部が動作中の物体を高周期で測定した時系列データである第２のデータセットのみを用いて、人による直接の教示等を要せず、独自のアルゴリズムにより、可動部、特に開き戸のモデルを作成する。そのため、物体のモデル化処理を簡便かつ高速に実施することができる。
【００６８】
＜その他の実施の形態＞
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００６９】
例えば、上述の実施の形態では、モデル生成装置１００を主にハードウェアにより構成されるものとして説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより論理的に実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００７０】
１００  モデル生成装置
１０１  入力手段
１０２  第１の推定手段
１０３  第２の推定手段
【図１】
0005785074.tif 000003
【図３】
0005785074.tif 000004
【図５】
0005785074.tif 000005
【図２】
0005785074.tif 000006
【図４】
0005785074.tif 000007
【図６】
0005785074.tif 000008