以下に添付図面を参照して、本発明にかかる計測機器、特定プログラム、および特定方法の実施の形態を詳細に説明する。
図1は、計測機器による一動作例を示す説明図である。第1計測機器100−1は、3D計測によって得られた計測点群の測位データに基づいて、例えば他の計測機器100−2の位置を特定可能なコンピュータである。
従来、物体に向けてレーザを照射し、反射光が返ってくるまでの時間を測定することにより、物体までの距離を計測するセンサがある。また、センサ内で光学系を回転させて水平方向のスキャニングを行いながら物体までの距離を計測する、いわゆる2Dセンサがある。2Dセンサを駆動装置によって回転させることにより3D計測を行うことができる。
測位データは、例えば、各種シミュレータやCAD(Computer Aided Design)などのアプリケーションに利用される。測位データは、3Dの計測点群のデータである。計測点とは、2Dセンサによってレーザが照射された物体の点である。具体的には、測位データは、計測点ごとに、計測機器100から計測点までの距離に基づく位置情報を有する。各計測機器100は、x軸、y軸、z軸などのローカルな直交座標系を用いて各計測点の位置を表す。より詳細に説明すると、測位データは、計測機器100で用いる座標系Cにおける各計測点の位置を示す座標値を含む。座標値はx座標値、y座標値、z座標値である。
また、CADなどは、例えば、測位データに基づいてコンピュータ空間上に計測対象の空間を再現することができる。より詳細に説明すると、CADなどは、例えば、測位データが示す計測点の距離別に各計測点の色付けを行うことにより計測対象の空間を再現することができる。
また、手前にある物体が背後にある物体を隠す状態(以下、オクルージョンと称する。)により計測されない場所などがある。そこで、計測対象の空間を死角なく測定するために複数の計測箇所において3D計測が行われる。複数の計測箇所で測定するためには、例えば、1台の計測機器で計測してもよいし、複数の計測機器で計測してもよい。
しかしながら、計測対象の空間を死角なく測定するために異なる計測箇所における複数の測位データが取得された場合、複数の測位データを合成することが難しい場合がある。例えばオクルージョンを解消するために計測の高さを変えて計測が行われると、測位データが局所に偏るため、複数の測位データに共通の特徴がなく、測位データを合成させることが難しいことがある。なお、オクルージョンの例については図2を用いて説明する。また、例えば、複数の測位データにおいて類似する特徴が複数得られることや特徴そのものが明確でないことなど特徴が取り難いことがある。なお、特徴が取り難い計測対象の空間例については図3を用いて説明する。
そこで、計測機器100は、自計測機器の測位データに基づく自計測機器から他計測機器の距離と、他計測機器での測位データに基づく他計測機器から自計測機器の距離に基づいて、自計測機器から見た他計測機器の位置を特定する。これにより、他計測機器を容易に特定することができ、異なる計測箇所における各測位データの合成の容易化を図る。したがって、オクルージョンなどの隠れた場所も3D計測によって再現させることの容易化を図ることができる。
まず、図1において、第1計測機器100−1と第2計測機器100−2との2台が所定の空間101に設置される。所定の空間101は測定対象の空間である。具体的に所定の空間101は、屋内、屋外等特に限定しない様々な場所である。また、計測機器100の筐体の形状は、例えば、いずれの方向から計測機器100を見ても外形が略同一となる形状である。これにより、測位データによってある計測機器100から他の計測機器100までの距離の候補が導出可能である。第1計測機器100−1および第2計測機器100−2の筐体の形状は、同じとする。なお、計測機器100の筐体の形状については図5を用いて詳細に説明する。
第1計測機器100−1は、ローカルな第1座標系C1を用いる。第1座標系C1は、x1軸とy1軸とz1軸との直交座標系が定義される。また、第2計測機器100−2は、ローカルな第2座標系C2を用いる。第2座標系C2は、x2軸とy2軸とz2軸との直交座標系が定義される。第1計測機器100−1と第2計測機器100−2との2台の場合、第1座標系C1のx1軸およびy1軸と、第2座標系C2のx2軸およびy2軸と、の向きが平行となるように第1計測機器100−1と第2計測機器100−2とが配置される。
計測機器100は、例えば、取得部111と、導出部112と、を有する。また、第1計測機器100−1は、さらに、特定部113を有する。
取得部111は、光を照射しながら走査すると共に所定の空間101内の物体から反射される反射光を用いて、計測機器100から所定の空間101内の物体までの距離に基づく計測機器100で用いる座標系Cにおける計測点群の測位データを取得する。ここでの所定の空間101内の物体とは、例えば、他の計測機器100、壁、机、地面、床など特に限定しない。計測点群の測位データを「計測点群の測位データDtk」と表す場合がある。tは1〜Nのいずれかである。Nは所定の空間101に設置された計測機器100の数である。図1においてNは2である。1≦k≦sである。sは計測点の数である。計測点群の測位データDtkは各計測点についての測位データの集合である。測位データは、各計測点の位置を示す位置情報を含む。位置情報は、例えば、各計測機器100で用いる座標系Cにおけるx座標値、y座標値、z座標値を含む。なお、測位データによって計測機器100から各計測点までの距離が特定可能である。
具体的には、取得部111−1は、例えば、第1座標系C1における第1計測点群の測位データD1kを取得する。第1計測点群の測位データD1kは、測位データD11〜D1sの集合である。また、取得部111−2は、例えば、第2座標系C2における第2計測点群の測位データD2kを取得する。第2計測点群の測位データD2kは、測位データD21〜D2sの集合である。
導出部112は、取得部111によって取得された計測点群の測位データに基づいて、計測機器100から他の計測機器100までの距離の候補を導出する。ある計測機器100から他の計測機器100までの距離の候補をターゲット候補とも称する。導出部112は、計測点群の測位データに基づいて、計測機器100の形状に相当する計測点の集合を抽出する。そして、導出部112は、抽出した計測点の集合に応じた距離を、ターゲット候補として導出する。なお、距離の候補の導出方法の詳細については、図10、図11、図12などを用いて後述する。
図1の例では、導出部112−1は、例えば、第1計測点群の測位データD1kに基づいて、第1計測機器100−1から第2計測機器100−2までの距離の候補を導出する。ここで、ターゲット候補を測距値Lとも表す。例えば、第1計測機器100−1によるターゲット候補を測距値L1iと表す。iは、1〜Iのいずれかである。Iは第1計測機器100−1によって導出されたターゲット候補の数である。また、図1の例では、導出部112−2は、例えば、第2計測点群の測位データD2kに基づいて、第2計測機器100−2から第1計測機器100−1までの距離の候補を導出する。第2計測機器100−2によるターゲット候補を測距値L2jと表す。jは、1〜Jのいずれかである。Jは導出されたターゲット候補の数である。
つぎに、特定部113は、第1計測機器100−1から第2計測機器100−2までの距離の候補と、第2計測機器100−2から第1計測機器100−1までの距離の候補と、に基づいて、第1座標系C1における第2計測機器100−2の位置を特定する。ここで、各座標系における計測機器100の位置はPと表す。例えば、第1座標系C1における第2計測機器100−2の位置はP12と表す。
具体的には、特定部113は、例えば、無線通信や有線通信などによって測距値L2jを第2計測機器100−2から取得してもよい。特定部113は、例えば、測距値L1iのうち、測距値L2jと一致する測距値Lを特定する。そして、特定部113は、特定した測距値Lと、測距値Lに対応する測位データに基づいて、第1座標系C1における第2計測機器100−2の位置P12を特定する。第1座標系C1における第2計測機器100−2の位置P12は、例えば、第1座標系C1における第2座標系C2の原点の位置である。第1座標系C1における第2計測機器100−2の位置P12は、第1計測機器100−1から見た第2計測機器100−2の位置P12とも称する。
これにより、第1計測機器100−1は、第2計測機器100−2を測位データから容易に特定することができる。したがって、第1計測機器100−1は、測位データを合成する際に、特定した第2計測機器100−2を位置合わせの指標とすることができ、異なる計測箇所における測位データの合成の容易化を図ることができる。また、複数台の計測機器100を用いることで、オクルージョンなどによって隠れた場所についても計測機器100の高さや設置箇所を変更することで測定を行うことができる。
また、図1において、各計測機器100は導出部112を有しているが、これに限らない。例えば、複数の計測機器100のうちのいずれかの計測機器100が、導出部112を有し、いずれかの計測機器100が、自計測機器および他の計測機器100のそれぞれについてのターゲット候補を導出してもよい。このように、計測機器100が有する機能部は種々変更可能である。また、図1の例では、第1計測機器100−1は、導出部112と特定部113を有しているが、これに限らず、計測機器100と異なるPC、サーバ、携帯端末装置などの他の装置が導出部112と特定部113を有していてもよい。以降の説明では、PCなどの情報処理装置が、導出部112と特定部113の機能を有する例を用いる。
図2は、オクルージョンの一例を示す説明図である。図2(1)の例では、従来の計測機器100は、機械の表側などに配置して計測する場合、機械の裏側を計測することができない。また、図2(2)の例では、従来の計測機器100が、机の上側などに配置して計測する場合、机の下側を計測することができない。オクルージョンにおいて、CADなどが、測位データに基づいて測定対象の空間をコンピュータ空間上に模擬する場合、図2(1)に示す機械の裏側や図2(2)に示す机の下側などは、測位データがないため、再現することができない。
図2(2)に示すように、オクルージョンを解消するために、例えば、計測の位置を高い場合と低い場合との両方において計測を行うと、計測の位置が低い測位データの計測点が局所に偏る。このため、計測の位置が高い測位データと、計測の位置が低い測位データとを合成させることが難しい。
図3は、特徴が取り難い空間例を示す説明図である。図3(1)には、背の高い什器や設備などが等間隔に配置された空間を示す。図3(2)には、駐車場など開けた空間に類似した車が等間隔で停車している様子を示す。このような環境空間の場合、異なる計測箇所における複数の測位データは類似の特徴が複数得られるため、複数の測位データの合成が難しい。
図3(3)には、屋外の樹木や斜面など複雑な曲面を有する空間を示す。このような空間の場合、異なる計測箇所における複数の測位データからは特徴そのものを得ることが難しいため、複数の測位データの合成が難しい。
なお、図2や図3の例では、1台の計測機器によって計測される例を示すが、複数台の計測機器によって計測される場合も共通の特徴がなければ、同様に測位データを合成させることが難しい。
図4は、本実施の形態におけるシステム例を示す説明図である。システム400は、例えば、端末装置401と、情報処理装置402と、複数の計測機器100−1〜100−Nと、を有する。Nは上述したように計測機器100の数であり、2以上の整数である。端末装置401と、情報処理装置402と、複数の計測機器100とは、例えば、ネットワーク410を介して接続される。端末装置401は、例えば、計測機器100に対する計測指示を行う。複数の計測機器100−1〜100−Nは、設置された空間の3D計測を行う。情報処理装置402は、複数の計測機器100−1〜100−Nによって計測された測位データを集約する。
本実施の形態では、情報処理装置402は、複数の計測機器100−1〜100−Nや端末装置401と異なる装置であるが、これに限らない。例えば、情報処理装置402は、複数の計測機器100−1〜100−Nのいずれかの機器であってもよいし、端末装置401であってもよく、特に限定しない。
図5は、本実施の形態における3D計測を行うための計測機器の一例を示す説明図である。図5において、計測機器100は、駆動装置501と、測定装置502と、制御装置503と、を有する。計測機器100は、例えば、水平床面に設置されて使用される。
計測機器100の筐体の形状は、例えば、いずれの方向から計測機器100を見ても外形が略同一となる形状である。筐体の形状は、例えば、略球体形状、球体に近い略多面体形状、略円筒形状などが挙げられる。例えば、筐体の形状が球体形状の場合、いずれの方向から計測機器100を見ても外形が略円形形状である。図5において、筐体の形状は略球体形状である。例えば、筐体の直径は特に限定しない。ただし、各計測機器100は予め他の計測機器100の筐体の直径を記憶装置などに記憶してあることとする。本実施の形態では、各計測機器100の筐体の直径は同一とする。
また、計測機器100の3脚部分は、例えば伸縮することができる。計測機器100の3脚部分の伸縮により計測機器100の高さを変更することができる。計測機器100は、3脚部分により、例えば、30cmから130cmまでの高さを変更することができる。
駆動装置501は、回転軸510(図5中、z軸に対応)を中心にパン方向d1に回転するモータである。以下の説明では、パン方向d1の回転角(図5中、x軸に対する角度)を「回転角θh(θh=0〜360°(度))」と表記する場合がある。ただし、駆動装置501が初期位置のときの正面方向とx軸方向とが一致しているものとする。
測定装置502は、チルト方向d2に走査しながら光(例えば、レーザ)を物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する2Dセンサである。チルト方向d2は、チルト軸520を中心に回転する方向である。すなわち、測定装置502は、チルト軸520を中心に光学系(例えば、後述の図6に示す発光部611、受光部612等)を回転させながら、図5中の太線矢印で示す方向(照射方向)に光を照射する。
計測機器100において、測定装置502は、パン方向d1に対してチルト方向d2が垂直となるように駆動装置501に取り付けられる。そして、測定装置502は、回転軸510を中心として円軌道に沿って移動される状態で、チルト方向d2に走査しながら光(以下、「レーザ」という)を物体に向けて照射して物体までの距離を測定する。
この際、測定装置502は、チルト方向d2に「0〜360°」の範囲でレーザを照射する。チルト角θvは、回転軸110に対するチルト方向d2の角度である。より詳細に説明すると、例えば、測定装置502は、チルト方向d2に0°から360°」まで所定の角度ずつ移動される度に、この計測を行う。例えば、所定角度が0.25°の場合、測定装置502は、1周当たり25[msec]で約1440点の計測を行う。また、測定装置502は、例えば、駆動装置501によってパン方向d1に、「0〜360°」まで所定の角度ずつ移動される度に、この計測を行う。ただし、チルト方向とパン方向共に0°から360°計測する必要はない。どちらか一方が0から180°の計測を実施すれば、全方位の計測を行うことができる。また、全方位に限らず、角度を指定して計測範囲を制限してもよい。これにより、2Dセンサである測定装置502を利用して3D計測を行うことができる。
(計測機器100のハードウェア構成例)
図6は、計測機器のハードウェア構成例を示すブロック図である。図6において、計測機器100は、CPU(Central Processing Unit)601と、メモリ602と、I/F(Interface)603と、駆動装置501と、測定装置502と、を有する。また、各構成部は、バス600によってそれぞれ接続される。
ここで、CPU601は、計測機器100の全体の制御を司る。メモリ602は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU601のワークエリアとして使用される。メモリ602に記憶されるプログラムは、CPU601にロードされることで、コーディングされている処理をCPU601に実行させる。
I/F603は、有線または無線のネットワークに接続され、ネットワーク410を介して他のコンピュータ(例えば、利用者のパーソナル・コンピュータ)に接続される。そして、I/F603は、ネットワークと自装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。なお、図5に示した制御装置503は、例えば、CPU601と、メモリ602と、I/F603と、を含む。
駆動装置501は、図1に示したように、回転軸510を中心にパン方向d1に回転するモータである。測定装置502は、発光部611と、受光部612と、駆動部613と、センサ制御部614と、を含む。発光部611は、レーザを照射する光源であり、例えば、半導体レーザである。受光部612は、反射光を受光する。駆動部613は、チルト軸520を中心にチルト方向d2に発光部611を回転させる。センサ制御部614は、チルト方向d2に走査しながらレーザを物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する。センサ制御部614は、距離に基づいて座標系Cにおける物体の座標値を計測点の座標データとしてメモリ602などに出力する。
なお、計測機器100は、上述した構成部のほかに、例えば、ディスクドライブ、ディスク、SSD(Solid State Drive)、入力装置、ディスプレイなどを有することにしてもよい。
つぎに、計測機器100の設置例について説明する。本実施の形態では、2台以上の計測機器100が設置される。
図7は、計測機器の設置例を示す説明図である。図7には、2台の計測機器100が設置される場合の例を示す。上述したように、第1計測機器100−1は、例えば、x1軸、y1軸、z1軸のローカルな直交座標系である第1座標系C1を用いて計測点の位置を表す。また、上述したように、第2計測機器100−2は、例えば、x2軸、y2軸、z2軸のローカルな直交座標系である第2座標系C2を用いて計測点の位置を表す。
本実施の形態では、計測機器100が2台の場合、2台の計測機器100は、同一もしくは異なる高さの水平面上に設置され、水平方向の向きが揃えられる。すなわち、x1軸とx2軸は向きが揃えられ、y1軸とy2軸とは向きが揃えられるように第1計測機器100−1と第2計測機器100−2とが設置される。
図7において、第1計測機器100−1は、例えば、机の上などのように高い位置に配置する。これにより、第1計測機器100−1は、例えば、第1計測機器100−1からハッチで示す部分までの距離を計測することができる。図7において、第2計測機器100−2は、机の下などのように低い位置に配置する。これにより、第2計測機器100−2は、例えば、第2計測機器100−2から黒い太線で示す部分までの距離を計測することができる。また、第1計測機器100−1と第2計測機器100−2とは、互いの距離を計測可能な位置関係である。
このように、高い位置からの3D計測と、低い位置からの3D計測との両方の3D計測が行われ、2台の計測機器100によってオクルージョンにより計測されない場所が発生することを抑制することができる。
図8は、3D計測の例を示す説明図である。第1計測機器100−1は、図5で説明したように、チルト軸520を中心に光学系を回転させながら光を照射する。第1計測機器100−1は、光の照射した先にある物体までの距離を計測する。図8に示すように、第1計装機器100−1は、無数の計測点までの距離を計測する。第1計測機器100−1は、複数の計測点において第2計測機器100−2までの距離を計測する。
(情報処理装置402のハードウェア構成例)
つぎに、情報処理装置402のハードウェア構成について説明する。図9では、情報処理装置402としてPCを例に挙げて説明するが、これに限らない、例えばスマートフォンやPDAなどの端末装置401やサーバなどであってもよいし、計測機器100であってもよく、特に限定しない。また、端末装置401のハードウェア構成については、情報処理装置402と同様であってもよいし、情報処理装置402から種々変更可能であり、詳細な説明を省略する。
図9は、情報処理装置のハードウェア構成例を示すブロック図である。情報処理装置402は、CPU901と、ROM902と、RAM903と、ディスクドライブ904と、ディスク905と、を有する。情報処理装置402は、I/F906と、キーボード907と、マウス908と、ディスプレイ909と、を有する。また、CPU901と、ROM902と、RAM903と、ディスクドライブ904と、I/F906と、キーボード907と、マウス908と、ディスプレイ909とは、バス900によってそれぞれ接続される。
ここで、CPU901は、情報処理装置402の全体の制御を司る。ROM902は、ブートプログラムなどのプログラムを記憶する。RAM903は、CPU901のワークエリアとして使用される。ディスクドライブ904は、CPU901の制御にしたがってディスク905に対するデータのリード/ライトを制御する。ディスク905は、ディスクドライブ904の制御で書き込まれたデータを記憶する。ディスク905としては、磁気ディスク、光ディスク、SDカードなどの半導体媒体などが挙げられる。
I/F906は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク410に接続され、このネットワーク410を介して他の装置に接続される。そして、I/F906は、ネットワーク410と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F906には、例えばモデムやLANアダプタなどを採用することができる。
キーボード907やマウス908は、利用者の操作により、各種データの入力を受け付けるインターフェースである。ディスプレイ909は、CPU901の指示により、データを出力するインターフェースである。
また、図示を省略するが、情報処理装置402には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置、ディスプレイ909を介したタッチパネル式入力装置が設けられていてもよい。また、図示を省略するが、情報処理装置402には、プリンタなどの出力装置が設けられていてもよい。
また、本実施の形態では、情報処理装置402のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置402がサーバである場合、情報処理装置402と、利用者が操作可能な装置やディスプレイ909などと、がネットワーク410を介して接続されてもよい。
(システム400の機能的構成例)
図10は、システムの機能的構成例を示すブロック図である。上述したように、システム400は、情報処理装置402と、端末装置401と、計測機器100と、を有する。
まず、端末装置401について説明する。端末装置401は、入力受付部1021と、通信部1022と、記憶部1030と、を有する。入力受付部1021から通信部1022の処理は、例えば、図9に示すCPU901がアクセス可能なROM902、RAM903、ディスク905などの記憶装置に記憶されたプログラムにコーディングされている。そして、CPU901が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、入力受付部1021から通信部1022の処理が実現される。また、入力受付部1021から通信部1022の処理結果は、例えば、ROM902、RAM903、ディスク905などの記憶装置に記憶される。記憶部1030は、ROM902、RAM903、ディスク905などの記憶装置に記憶される。
入力受付部1021は、キーボード907やマウス908、ディスプレイ909を介したタッチパネルなどの利用者による操作入力を受け付ける。具体的には、入力受付部1021は、例えば、利用者からの測定指示の入力を受け付ける。
また、通信部1022は、I/F906を用いて、入力受付部1021によって受け付けた測定指示を各計測機器100に通知する。
つぎに、計測機器100について説明する。計測機器100は、通信部1041と、取得部1042と、記憶部1050と、を有する。通信部1041の処理は、例えば、図6に示すCPU601がアクセス可能なメモリ602などの記憶装置に記憶されたプログラムにコーディングされている。そして、CPU601が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、通信部1041の処理が実現される。また、通信部1041の処理結果は、例えば、メモリ602などの記憶装置に記憶される。記憶部1050は、メモリ602などの記憶装置に記憶される。取得部1042は、駆動装置501と測定装置502によって実現される。
通信部1041は、I/F603を用いて、端末装置401からの測定指示の通知に関する情報を受信する。
取得部1042は、測定指示の通知に関する情報が受信された場合、光を照射しながら走査すると共に物体から反射される反射光を用いて、自計測機器100から物体までの距離に基づく計測点群の測位データを取得する。なお、取得部1042は、図1に示した取得部111である。
そして、通信部1041は、I/F603を用いて、取得部1042によって計測された計測点群の測位データを情報処理装置402へ送信する。
情報処理装置402は、制御部1000と、記憶部1010と、を有する。制御部1000は、取得部1001と、導出部1002と、判定部1003と、特定部1004と、算出部1005と、変換部1006と、合成部1007と、生成部1008と、出力部1009と、を有する。制御部1000の処理は、例えば、図9に示すCPU901がアクセス可能なROM902、RAM903、ディスク905などの記憶装置に記憶されたプログラムにコーディングされている。そして、CPU901が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部1000の処理が実現される。また、制御部1000の処理結果は、例えば、ROM902、RAM903、ディスク905などの記憶装置に記憶される。
また、記憶部1010は、ROM902、RAM903、ディスク905などによって実現される。記憶部1010には、例えば、計測機器100からの各計測点群の測位データなどが記憶される。
各機能部の詳細な処理について、計測機器100が2台の場合について説明した後に、計測機器100が3台以上の場合について説明する。
まず、取得部1001は、複数の計測機器100の各々の計測機器100について、計測機器100によって計測された計測点群の測位データを取得する。具体的には、取得部1001は、例えば、通信部1041によって送信された計測点群の測位データを受信してもよい。また、取得部1001は、例えば、受信された計測点群の測位データを記憶する記憶部1010から計測点群の測位データを読み出してもよい。なお、本実施の形態では、情報処理装置402と計測機器100とが異なる装置であるが、同一の装置である場合、取得部1001は取得部1042として機能してもよい。
導出部1002は、複数の計測機器100の各々の計測機器100について、計測機器100によって計測された計測点群の測位データを用いて、その計測機器100から他の計測機器100までの距離の候補を導出する。距離を測距値とも称する。導出対象の計測機器100から他の計測機器100までの距離の候補をターゲット候補とも称する。導出部1002は、図1に示した計測機器100に含まれる導出部112と同じ機能を有する。
ここでは、具体的に導出部1002によって他の計測機器100までの距離の候補を求める方法として、2つの処理を例に挙げる。1つ目の距離を求める処理としては、距離が略同一の隣り合う計測点の集合に基づいてターゲット候補を導出する。なお、1つ目の距離を求める詳細な処理例については図11を用いて後述する。2つ目の距離を求める詳処理としては、各計測点の距離を濃淡によって表した画像に含まれるターゲットの形状の濃淡に基づいて他の計測機器100までの距離の候補を求める。なお、2つ目の距離を求める詳細な処理例については図12を用いて後述する。
特定部1004は、第1計測機器100−1についてのターゲット候補と、第2計測機器100−2についてのターゲット候補と、に基づいて、第1座標系C1における第2計測機器100−2の位置P12を特定する。上述したように、位置P12は、第1座標系C1における第2座標系C2の原点の位置である。この位置は、並進成分とも称する。なお、特定部1004は、第1計測機器100−1に含まれる特定部113と同じ機能を有する。図10において、第1計測機器100−1によるターゲット候補と第2計測機器100−2によるターゲット候補とは、導出部1002によって導出されるが、図1に示すように各計測機器100によって導出させてもよい。
第1計測機器100−1についてのターゲット候補と、第2計測機器100−2についてのターゲット候補と、が一致している場合、特定部1004は、第1計測機器100−1によるターゲット候補に対応する計測点に第2計測機器100−2があると判定する。そこで、特定部1004は、判定部1003によって、例えば、第1計測機器100−1による各ターゲット候補と、第2計測機器100−2による各ターゲット候補と、の一致判定を行う。具体的には、判定部1003は、例えば、第1計測機器100−1による各ターゲット候補と、第2計測機器100−2による各ターゲット候補と、の一致を判定する。なお、ターゲット候補の一致判定例については、図13を用いて後述する。
特定部1004は、判定部1003によって一致すると判定されたターゲット候補についての計測点の測位データに基づいて、第1座標系C1における第2計測機器100−2の位置P12を特定する。ターゲット候補についての計測点の測位データは、ターゲット候補を導出するために用いた計測点の測位データである。
上述したように、計測機器100が2台の場合、前提条件として、第1計測機器100−1と第2計測機器100−2とは、同一もしくは異なる高さの水平面上に設置される。そして、第1計測機器100−1と第2計測機器100−2とは、水平方向の向きが同じとする。すなわち、第1座標系C1と第2座標系C2とにおいてx軸方向とy軸方向とが揃った状態となる。
つぎに、変換部1006は、特定部1004によって特定された第1座標系C1における第2計測機器100−2の位置P12に基づいて、第2計測点群の測位データD2kを、第1座標系C1における第2計測点群の測位データに変換する。ここで、第1座標系C1における測位データに変換された変換後の計測点群の測位データはD’と表す。例えば、変換後の第1座標系C1における第2計測点群の測位データはD’2kと表す。このように、第2計測点群の測位データD2kが座標変換され、情報処理装置402は、第1計測点群の測位データD1kと、第2計測点群の測位データD’2kとを同じ第1座標系C1の情報として扱うことができる。
具体的には、変換部1006は、特定部1004によって特定された第2計測機器100−2の位置P12に基づいて、第2計測点群の測定データD2kを、第1座標系C1における第2計測点群の測位データD’2kに変換する。より詳細に説明すると、変換部1006は、以下式(1)によって第2計測点群の測定データD2kを第2計測点群の測位データD’2kに変換する。
D’2k=P12+D2k・・・式(1)
そして、合成部1007は、変換部1006によって変換された第2計測点群の測位データD’2kと、第1計測機器100−1によって計測された計測点群の測位データD1kと、を合成する。これにより、第1座標系C1で表された計測点群の測位データが合成される。なお、合成部1007は、変換部1006によって変換された計測点群の測位データをIPC(Interative Closet Point)などによって微調整した後に合成する処理を行ってもよい。
また、生成部1008は、合成された計測点群の測位データに基づいて、合成された各計測点の測位データによって特定される距離に応じて濃淡を付けた画像を示す画像情報を生成する。出力部1009は、画像情報を出力する。なお、濃淡を付けた画像例は図12のようになるため、詳細な説明を省略する。また、濃淡を付けた画像に限らず、合成された各計測点の測位データによって特定される距離に応じた色を付けた画像などであってもよい。具体的には、出力部1009は、例えば、画像情報が示す画像をディスプレイ909などに表示する。なお、生成部1008や出力部1009の処理についてはCADなどによって実現してもよい。
つぎに、計測機器100が3台以上の場合について説明する。計測機器100が3台以上の場合、各計測機器100は、同一もしくは異なる高さの水平面上に設置される。計測機器100の各座標系Cの2軸の向きは平行であってもよいし、平行でなくてもよい。計測機器100が3台以上の場合の例として計測機器100が3台の場合を例に挙げて説明する。取得部1001から導出部1002までの処理は2台の場合と同じであり、3台の場合も同様に計測機器100の各々について処理を行う。
2台の場合と同様に、特定部1004は、第1座標系C1における第3計測機器100−3の位置P13を特定する。位置P13は、第1座標系C1における第3座標系C3の原点の位置である。
つぎに、特定部1004は、第3計測機器100−3から第1計測機器100−1までの距離の候補と、第1計測機器100−1から第3計測機器100−3までの距離の候補と、に基づいて、第1座標系C1における第3計測機器100−3の位置P13を特定する。第3計測機器100−3から第1計測機器100−1までの距離の候補は、例えば、第3計測点群の測位データD3kに基づいて導出部1002によって導出される。
そして、特定部1004は、第3計測機器100−3から計測機器100までの距離の候補と、第2計測機器100−2から計測機器100までの距離の候補と、に基づいて、第2座標系C2における第3計測機器100−3の位置P23を特定する。位置P23は、第2座標系C2における第3座標系C3の原点の位置である。
特定部1004による計測機器100の位置の特定方法は、2台の場合の処理と同じであるため、詳細な説明を省略する。
変換部1006は、第2座標系C2における第2計測点群の測位データD2kを、第1座標系C1における第2計測点群の測位データD’2kに変換する。具体的には、変換部1006は、位置P12と、位置P13と、第2座標系C2における第3計測機器100−3の位置P23と、に基づいて、2計測点群の測位データD2kを2計測点群の測位データD’2kに変換する。より詳細に説明すると、変換部1006は、第2計測点群の測位データD2kを、以下式(2)により、2計測点群の測位データD’2kに変換する。
D’2k=P12+R2×D2k・・・式(2)
R2は、第1座標系C1の2軸が第2座標系C2の2軸に平行となるように変換可能な変換行列を表す。具体的にR2は、第1座標系C1のx軸を、第2座標系C2のx軸と平行となるようにθ回転させることが可能な変換行列である。変換行列R2は以下式(3)である。式(3)によって示す変換行列R2は、3次元空間におけるx軸をy軸に向ける方向のz軸周りの回転を表す回転行列である。
ここで、変換行列については算出部1005によって算出される。算出部1005は、例えば、位置P12と、位置P13と、位置P23と、に基づいて、変換行列R2を算出する。より詳細に説明すると、例えば、以下式(4)によって上記式(3)のθが求まり、変換行列R2が導かれる。
R2×P23=P13−P12・・・式(4)
D’2kに第1座標系C1における第3計測機器100−3の位置P13が含まれ、D2kに第2座標系C2における第3計測機器100−3の位置P23が含まれているとすることにより、上記式(4)が得られる。なお、各計測機器100により取得された各計測点群の測位データに基づいて、第2計測点群の測位データD2kを第2計測点群の測位データD’2kに変換する例を図15に示す。
合成部1007は、第1計測点群の測位データD1kと、変換部1006によって変換された第2計測点群の測位データD2kと、を合成する。このように、3台の計測機器100によって得られた各計点群の測位データを用いて2台の計測機器100によって得られた各計測点群の測位データを容易に合成させることができる。
ここまで、3台の計測機器100によって得られた各計測点群の測位データを用いて2台の計測機器100によって得られた各計測点群の測位データが合成される例について説明した。つぎに、3台の計測機器100によって得られた各計測点群の測位データを用いて3台の計測機器100によって得られた各計測点群の測位データが合成される例について説明する。
特定部1004は、第3計測機器100−3から計測機器100までの距離の候補と、第2計測機器100−2から計測機器100までの距離の候補と、に基づいて、第3座標系C3における第2計測機器100−2の位置P32を特定する。位置P32は、第3座標系C3における第2座標系C2の原点の位置である。
変換部1006は、位置P12と位置P13とP32に基づいて、第3計測点群の測位データD3kを第3計測点群の測位データD’3kに変換する。具体的には、変換部1006は、例えば、第2計測点群の測位データD2kを第2計測点群の測位データD’2kに変換する処理と同様に、第3計測点群の測位データD3kを第3計測点群の測位データD’3kに変換する。より詳細に説明すると、例えば、算出部1005は、第1座標系C1の2軸が第3座標系C3の2軸に平行となるように変換可能な変換行列を算出する。具体的には、算出部1005は、その変換行列を以下式(5)によって算出する。その変換行列はR3と表す場合がある。
R3×P32=P12−P13・・・式(5)
そして、変換部1006は、算出部1005によって算出された変換行列R3と、位置P13とに基づいて、第3計測点群の測位データD3kを、第3計測点群の測位データD’3kに変換する。具体的には、変換部1006は、例えば、以下式(6)によって第3計測点群の測位データD3kを、第3計測点群の測位データD’3kに変換する。
D’3k=P13+R3×D3k・・・式(6)
計測機器100が3台以上の場合、特定部1004は、位置P12と、第1座標系C1における第M計測機器100の位置P1Mと、第M計測機器100の第M座標系CMにおける第2計測機器100−2の位置PM2と、を特定する。Mは3〜sのいずれかである。位置P1Mは第1座標系C1における第M座標系CMの原点の位置である。位置PM2は第M座標系CMにおける第2座標系C2の原点の位置である。
つぎに、変換部1006は、第M座標系CMにおける第M計測点群の測位データDMkを、第1座標系C1における第M計測点群の測位データD’Mkに変換する。具体的には、算出部1005は、特定部1004によって特定された位置P12と、位置P1Mと、位置PM2と、に基づいて、第1座標系C1の2軸が第M座標系CMの2軸に平行となるように変換可能な変換行列を算出する。具体的には、算出部1005は、その変換行列を以下式(7)によって算出する。その変換行列はRMと表す場合がある。
RM×PM2=P12−P1M・・・式(7)
変換部1006は、変換行列RMと、位置P1Mと、に基づいて、第M計測点群の測位データDMkを、第M計測点群の測位データD’Mkに変換する。具体的には、変換部1006は、例えば、以下式(8)によって第3計測点群の測位データDMkを、第3計測点群の測位データD’Mkに変換する。
D’Mk=P1M+RM×DMk・・・式(8)
そして、合成部1007は、変換部1006によって変換された第2計測点群の測位データD’2kから第N計測点群の測位データD’Nkと、第1計測機器100−1によって計測された第1計測点群の測位データD1kと、を合成する。また、2台の場合と同様に、合成部1007は、変換部1006によって変換された各計測点群の測位データをIPCなどによって微調整した後に合成する処理を行ってもよい。より具体的には、合成部1007は、例えば、以下式(9)によって微調整を行う。
D’’nk=AICP×D’nk・・・式(9)
D’’nkはIPCによる調整後の計測点群の測位データを表す。なお、2≦n≦Nである。例えば、測位データD’’2kは、測位データD’’21から測位データD’ ’2sの集合である。AICPは、微調整を行うための予め定められた係数の行列である。
そして、合成部1007は、微調整後の計測点群の測位データD’’nkと、第1計測機器100−1によって計測された第1計測点群の測位データD1kと、を合成する。具体的には、合成部1007は、例えば、以下式(10)によって合成を行う。
D=SUM{D1k,D’’2k,・・・,D’’Nk}・・・式(10)
Dは、合成後の各計測点群の測位データである。なお、異なる計測機器による計測点間は異なる場合が多い。このため、測位データDは、例えばN×kの計測点の測位データを有する。
合成部1007から出力部1009までの処理については、計測機器100が2台の場合と3台以上の場合とで同じであるため、詳細な説明を省略する。
また、本実施の形態では、情報処理装置402が、取得部1001から出力部1009による各処理を行っているが、これに限らない。例えば、導出部1002については、各計測機器100によって行われてもよい。また、例えば、図1に示したように、複数の計測機器100のうちのいずれかの計測機器100が、特定部1004の処理や特定部1004から変換部1006までの処理を行ってもよく、種々変更可能である。
図11は、ターゲット候補の導出例を示す説明図(その1)である。図11(1)には、ターゲットの形状を有する物体が計測機器100から10m先にいる例を示す。図11(2)には、ターゲットの形状を有する物体が計測機器100から20m先にいる例を示す。
ここで、上述したように、例えば計測機器100の筐体の直径を190mmとする。また、チルト方向d2およびパン方向d1の分解能を0.25°とする。すなわち、上述したように、測定機器は、チルト方向d2に「0〜360°」の範囲で0.25°移動される都度レーザを照射する。また、測定機器は、パン方向d1に、「0〜360°」の範囲で0.25°移動される都度、計測を行う。
距離と、計測機器100の筐体の形状に応じた各方向の計測点の数とを対応付けた情報が予め記憶部1010などに記憶されてある。
導出部1002は、各計測点群の測位データから略同一の距離の隣り合う計測点の集合を抽出する。図11(1)および図11(2)の例ではハッチが付された計測点は、略同一の距離で隣り合う計測点の集合である。そして、導出部1002は、抽出した計測点の集合の各々について、抽出した集合についての距離に基づいて、記憶部1010から計測機器100の筐体の形状に応じた各方向の計測点の数を取得する。抽出した集合についてのされる距離とは、計測機器100から抽出した集合に含まれる計測点までの距離である。つぎに、導出部1002は、抽出した集合に含まれる各方向の計測点の数と、取得した各方向の計測点の数が一致する場合、抽出した集合についての距離をターゲット候補として抽出する。ターゲット候補には、抽出した集合が対応付けられて記憶部1010などに記憶される。
図11(1)に示すように、10m先に計測機器100の筐体の形状と同様の形状の物体がある場合、物体に対応する隣り合う計測点間の距離は43.6mmであり、各方向の計測点の数は3〜4個である。導出部1002は、抽出した集合についての距離が10mの場合、各方向の計測点の数が3〜4個であれば、抽出した集合についての距離をターゲット候補とする。
図11(2)に示すように、20m先に計測機器100の筐体の形状と同様の形状の物体がある場合、物体に対応する隣り合う計測点間の距離は87.2mmであり、各方向の計測点の数は2個である。導出部1002は、抽出した集合に含まれる計測点の距離が20mの場合、各方向の計測点の数が2個であれば、抽出した集合についての距離をターゲット距離とする。
図12は、ターゲット候補の導出例を示す説明図(その2)である。図12(1)に示すように、導出部1002は、第1計測機器100−1についての計測点群の各計測点の距離に応じて濃淡を付けた画像を示す画像情報を生成する。図12(2)に示すように、導出部1002は、画像情報が示す画像から、濃淡変化量に基づいてエッジ検出を行う。図12(3)に示すように、導出部1002は、エッジ検出によって検出されたエッジから、Hough変換などによって円検出を行う。
つぎに、図12(4)に示すように、導出部1002は、画像情報が示す画像から、検出された円内部の画像を抽出する。つづいて、図12(5)に示すように、導出部1002は、検出された円の大きさに応じた理想のターゲットの濃淡画像を示す画像情報を取得する。ここで、記憶部1010には、予め円の大きさ別に、理想のターゲットの濃淡画像を示す画像情報が記憶されてある。図12(6)に示すように、導出部1002は、抽出した画像と、取得した画像情報が示す画像と、の濃淡の差が閾値以下であれば、抽出した画像がターゲットであると判断する。そして、導出部1002は、ターゲットであると判断された円の画像の濃淡に応じた距離を、他の計測機器100までの距離の候補として抽出する。
図13は、計測機器間の距離の判定例を示す説明図である。測定対象の空間に計測機器100の筐体の形状と似た形状の物体がある場合がある。図13に示すように、例えば、筐体の形状が球体形状の場合、計測機器100の筐体の形状と似た形状の物体はボールなどが挙げられる。導出部1002は、計測機器100から似た形状の物体までの距離もターゲット候補として抽出する。このため、計測機器100が2台であっても各計測機器100についてのターゲット候補の数は、2以上ある場合がある。
図13の例では、導出部1002は、例えば、ターゲット候補として、測距値L11と測距値L12と測距値離L13とを導出する。導出部1002は、例えば、ターゲット候補として、測距値L21と測距値L22と測距値L23とを導出する。
そして、判定部1003は、第1計測機器100−1についての測距値L11と測距値L12と測距値L13と、第2計測機器100−2についての測距値L21と測距値L22と測距値L23との一致を判定する。図13の例では、判定部1003は、測距値L22と測距値L12とが一致すると判定する。このように、計測機器100の形状と同様な形状を有する物体までの距離が抽出されても、一致判定によって計測機器100間の距離が一意に特定可能である。
図14は、計測機器が2台の場合における測位データの座標変換例を示す説明図である。図14に示すように、計測機器100が2台の場合、前提条件として、第1計測機器100−1と第2計測機器100−2とは、同一もしくは異なる高さの水平面上に設置される。そして、第1計測機器100−1と第2計測機器100−2とは、水平方向の向きが同じとする。すなわち、第1座標系C1のx1軸の方向およびy1軸の方向と、第2座標系C2のx2軸の方向およびy2軸の方向とが揃っている。
特定部1004は、一致した距離と、一致した距離に対応する計測点の集合に基づいて、第1座標系C1においての第2座標系C2の原点の位置P12を算出する。一致した距離は、第1計測機器100−1の外形面から第2計測機器100−2の外形面までの距離である。より詳細に説明すると、特定部1004は、第1計測機器100−1の外形面と第1座標系C1の原点の距離と、一致した距離と、第2計測機器100−2の外形面と第2座標系C2の原点の距離と、を合計した距離を算出する。そして、特定部1004は、第1座標系C1の原点から算出した距離を加算した位置を位置P12として算出する。
そして、変換部1006は、位置P12に基づいて、第2座標系C2における第2計測点群のデータを、第1座標系C1における第2計測点群のデータに変換する。具体的には、変換部1006は、上述した式(1)を用いて変換する。図14に示すように、計測点pの測位データD2pが、測位データD’2pに変換される。
図15は、計測機器が3台の場合における測位データの座標変換例を示す説明図である。上述したように、図15に示すθは、第1座標系C1のx1軸およびy1軸が第2座標系C2のx2軸およびy2軸と平行になるために、第1座標系C1をz1軸方向に回転させる角度である。
ここで、第1座標系C1における第2計測点群の測位データD’2pに第1座標系C1における第3計測機器100−3の位置P13が含まれるとする。また、第2座標系C2における第2計測点群の測位データD2pに第2座標系C2における第3計測機器100−3の位置P23が含まれるとする。このように、D’2p=位置P13と、D2p=位置P23とすると、上記式(4)が得られる。
算出部1005は、上記式(4)によって変換行列R2を算出する。そして、変換部1006は、算出部1005によって算出された変換行列R2を、上記式(2)に与える。変換部1006は、上記式(2)によって、第2座標系C2における第2計測点群の測位データD2kを、第1座標系C1における第2計測点群の測位データD’2kに変換する。
図16は、広域な空間を計測する場合の計測範囲の広げ方を示す説明図である。図16において、広域な空間を2台の計測機器100によって計測する例を示す。広域な空間とは、例えば、体育館のような広い場所や屋外などが挙げられる。2台の計測機器100のうち一方の計測機器100が他方の計測機器100の位置を把握することができるため、利用者が例えば交互に計測機器100を手動で移動させることにより計測範囲を広げることができる。
一連の合成処理のタイミングについては、後述する図17で説明するため、図16において詳細な説明を省略する。一連の合成処理とは、一方の計測機器100から見た他方の計測機器100の位置を特定し、特定した位置に基づいて測位データの座標変換を行い、座標変換後のデータを合成するまでの処理である。
具体的には、ステップS1601において、第1計測機器100−1と第2計測機器100−2とが配置される。そして、ステップS1601において、第1計測機器100−1と第2計測機器100−2とがそれぞれ3D計測を行う。
つぎに、ステップS1602において、第1計測機器100−1が、例えば、利用者によって手動で移動される。そして、移動された位置において第1計測機器100−1と第2計測機器100−2とがそれぞれ3D計測を行う。
ステップS1603において、第2計測機器100−2が、例えば、利用者によって手動で移動される。そして、第1計測機器100−1と、移動された位置において第2計測機器100−2とがそれぞれ3D計測を行う。ステップS1603において、例えば情報処理装置402が、3D計測によって得られた各計測点群の測位データに基づいて、第1計測機器100−1から見た第2計測機器100−2の位置P12を特定する。
ステップS1604において、第1計測機器100−1が、例えば、利用者によって手動で移動される。そして、移動された位置において第1計測機器100−1と第2計測機器100−2とがそれぞれ3D計測を行う。ステップS1604において、例えば情報処理装置402が、3D計測によって得られた各計測点群の測位データに基づいて、第1計測機器100−1から見た第2計測機器100−2の位置P12を特定する。
情報処理装置402は、一方の計測機器100から見た他方の計測機器100の位置を把握することができれば、計測機器100の移動量を特定することができる。図16の例では、計測機器100を交互に移動させる例を示したが、一方の計測機器100から見た他方の計測機器100の位置を特定可能であれば、交互でなくてもよい。例えば、第1計測機器100−1→第2計測機器100−2→第1計測機器100−1→第1計測機器100−1→第2計測機器100−2→第2計測機器100−2などの順番で計測機器100が移動されてもよい。なお、ここでは計測機器100は、利用者によって手動で移動される例で説明したが、これに限らず、自動で移動可能な機構を有していてもよい。つぎに、図16のように移動させる場合における計測処理と合成処理とのタイミングについて説明する。
図17は、計測処理と合成処理とのタイミングを示す説明図である。図17(1)と図17(2)には、計測処理および統合処理とが行われるタイミングを示す。図17(1)には、ステップごとに計測処理が行われた後に統合処理が行われる例を示す。図17(2)には、ステップごとに計測処理が行われ、すべてのステップが終了した後に統合処理が行われる例を示す。
まず、図17(1)について詳細に説明する。ステップS1701において、各計測機器100が3D計測を行う。ステップS1701において、情報処理装置402は、各計測機器100によって計測された測位データの合成処理を行う。
つぎに、ステップS1702において、いずれかの計測機器100が移動される。そして、ステップS1702において、各計測機器100が3D計測を行う。ステップS1702において、情報処理装置402は、各計測機器100によって計測された測位データの合成処理を行う。
そして、ステップS170mにおいて、いずれかの計測機器100が移動される。つぎに、ステップS170mにおいて、各計測機器100が3D計測を行う。ステップS170mにおいて、情報処理装置402は、各計測機器100によって計測された測位データの合成処理を行う。
最後に、情報処理装置402は、各ステップS1701からS170mにおいて合成された各測位データに対する合成処理を行う。
つぎに、図17(2)について詳細に説明する。ステップS1711において、各計測機器100が3D計測を行う。
つぎに、ステップS1712において、いずれかの計測機器100が移動される。そして、ステップS1712において、各計測機器100が3D計測を行う。ステップS1712において、情報処理装置402は、各計測機器100によって計測された測位データの合成処理を行う。
そして、ステップS171mにおいて、いずれかの計測機器100が移動される。ステップS171mにおいて、各計測機器100が3D計測を行う。
最後に、情報処理装置402は、各ステップS1711からS171mにおいて計測された測位データに対する合成処理を行う。情報処理装置402は、例えば、ステップ別に計測された測位データに対する合成処理を行った後に、ステップごとの合成した測位データに対して合成処理を行ってもよい。
図17(1)に示すように、情報処理装置402は、各ステップにおいて測位データを合成した後に、つぎのステップに移行し、最後にすべてのステップについての測位データを合成してもよい。また、図17(2)に示すように、情報処理装置402は、各ステップにおいて測位データを最後に合成してもよい。
(端末装置401が行う処理手順例)
図18は、端末装置が行う処理手順例を示すフローチャートである。端末装置401は、利用者からの操作入力を受け付ける(ステップS1801)。つぎに、端末装置401は、受け付けた利用者からの操作入力に応じて各計測機器100に対して計測開始を指示し(ステップS1802)、一連の処理を終了する。例えば、利用者は、いずれかの計測機器100を移動する度に、端末装置401を操作して各計測機器100の計測を開始させてもよい。
(計測機器100が行う処理手順例)
図19は、計測機器が行う処理手順例を示すフローチャートである。計測機器100は、例えば、端末装置401から計測開始指示を受け付けたか否かを判断する(ステップS1901)。端末装置401から計測開始指示を受け付けていないと判断された場合(ステップS1901:No)、計測機器100は、ステップS1901へ戻る。
端末装置401から計測開始指示を受け付けたと判断された場合(ステップS1901:Yes)、計測機器100は、3D計測を行う(ステップS1902)。計測機器100は、測位データを送信し(ステップS1903)、一連の処理を終了する。
(情報処理装置402が行う処理手順例)
図20および図21は、情報処理装置が行う処理手順例を示すフローチャートである。ここでは、図18に示すステップ別に測位データを合成する際の各ステップにおける合成処理について説明する。
情報処理装置402は、第1計測機器100−1から第N計測機器100−Nからそれぞれの計測点群の測位データを取得する(ステップS2001)。つぎに、情報処理装置402は、各第1計測機器100−1から第N計測機器100−Nについてターゲット候補を導出する(ステップS2002)。
そして、情報処理装置402は、S=1、T=2とする(ステップS2003)。情報処理装置402は、並進成分の特定処理を行う(ステップS2004)。並進成分の特定処理の詳細な処理手順については図22に示す。並進成分の特定処理では、第S計測機器100−Sから見た第T計測機器100−Tの位置PSTを特定する。ステップS2004において、情報処理装置402は、第1計測機器100−1から見た第2計測機器100−2の位置P12を特定する。第1計測機器100−1から見た第2計測機器100−2の位置P12は、上述したように、第1計測機器100−1で用いる第1座標系C1における第2計測機器100−2の位置P12である。
情報処理装置402は、計測機器100の数N>2であるか否かを判断する(ステップS2005)。計測機器100の数N>2でないと判断された場合(ステップS2005:No)、情報処理装置402は、位置P12に基づいて、第2座標系C2における第2計測点群の測位データD2kを、第1座標系C1における第2計測点群の測位データD’2kに変換し(ステップS2006)、ステップS2007へ移行する。ステップS2006において、情報処理装置402は、式(1)によって第2計測点群の測位データD2kを、第2計測点群の測位データD’2kに変換する。
ステップS2005において、計測機器100の数N>2であると判断された場合(ステップS2005:Yes)、情報処理装置402は、図21に示すステップS2101へ移行する。
情報処理装置402は、M=3とする(ステップS2101)。つぎに、情報処理装置402は、M<計測機器100の数Nであるか否かを判断する(ステップS2102)。Mは対象の計測機器100を示すインクリメント用の演算子である。M<計測機器100の数Nであると判断された場合(ステップS2102:Yes)、情報処理装置402は、S=1、T=Mとする(ステップS2103)。
そして、情報処理装置402は、並進成分の特定処理を行う(ステップS2104)。ステップS2104において、情報処理装置402は、第1計測機器100−1から見た第M計測機器100の位置P1Mを特定する。
情報処理装置402は、S=2、T=Mとする(ステップS2105)。情報処理装置402は、並進成分の特定処理を行う(ステップS2106)。ステップS2105において、情報処理装置402は、第2計測機器100−2から見た第M計測機器100の位置P2Mを特定する。つぎに、情報処理装置402は、第M計測機器100−Mから見た第2計測機器100の位置PM2を特定する(ステップS2107)。ステップS2106において第2計測機器100−2と第M計測機器100−Mとの間の距離の一致判定済みである。このため、ステップS2107において、情報処理装置402は、ステップS2106における距離の一致判定結果に基づいて、第M計測機器100−Mから見た第2計測機器100の位置PM2を特定する。
情報処理装置402は、M=3であるか否かを判断する(ステップS2108)。M=3でないと判断された場合(ステップS2108:No)、情報処理装置402は、ステップS2111へ移行する。M=3であると判断された場合(ステップS2108:Yes)、情報処理装置402は、第1座標系C1のx軸およびy軸を第2座標系C2のx軸およびy軸と平行となるように変換可能な変換行列R2を算出する(ステップS2109)。ステップS2109において、情報処理装置402は、上記式(4)によって変換行列R2を算出する。
そして、情報処理装置402は、変換行列R2に基づいて、第2座標系C2における第2計測点群の測位データD2kを第1座標系C1における第2計測点群の測位データD’2kに変換する(ステップS2110)。ステップS2110において、情報処理装置402は、上記式(2)によって第2計測点群の測位データD2kを第2計測点群の測位データD’2kに変換する。
情報処理装置402は、第1計測機器100−1の第1座標系C1のx軸およびy軸を第M計測機器100の第M座標系CMのx軸およびy軸と平行となるように変換可能な変換行列RMを算出する(ステップS2111)。ステップS2111において、情報処理装置402は、上記式(7)によって、変換行列RMを算出する。
そして、情報処理装置402は、変換行列RMに基づいて、第M計測機器100の第M座標系CMの第M計測点群の測位データDMkを第1座標系C1の第M計測点群の測位データD’Mkに変換する(ステップS2112)。ステップS2112において、情報処理装置402は、上記式(8)によって、第M計測点群の測位データDMkを第M計測点群の測位データD’Mkに変換する。つぎに、情報処理装置402は、M=M+1とし(ステップS2113)、ステップS2102へ戻る。
ステップS2102において、M<計測機器100の数Nでないと判断された場合(ステップS2102:No)、情報処理装置402は、図20に示すステップS2007へ移行する。
つぎに、情報処理装置402は、第2計測機器100−2から第N計測機器100について、変換後の測位データをIPCで微調整する(ステップS2007)。ステップS207において、情報処理装置402は、上記式(9)によって調整後の測位データD’’nkを得る。
そして、情報処理装置402は、第1計測機器100−1から第2計測機器100−2についての測位データを合成し(ステップS2008)、一連の処理を終了する。ステップS2008において、情報処理装置402は、例えば、上記式(10)によって測位データDを得る。測位データDは、上述したように、測位データD1kから測位データD’’Nkの集合である。
図22は、並進成分の特定処理の詳細な説明を示すフローチャートである。並進成分の特定処理は、図20のステップS2004、図21のステップS2104およびステップS2105に示す。並進成分の特定処理では、第S計測機器100−Sから見た第T計測機器100−Tの位置PSTを特定する。
まず、情報処理装置402は、I=第S計測機器100−Sのターゲット候補数とする(ステップS2201)。そして、情報処理装置402は、J=第T計測機器100−Tのターゲット候補数とする(ステップS2202)。つぎに、情報処理装置402は、i=1とする(ステップS2203)。iは、第S計測機器100−Sのターゲット候補を順に選択するためのインクリメント演算子である。
情報処理装置402は、i≦Iであるか否かを判断する(ステップS2204)。i≦Iであると判断された場合(ステップS2204:Yes)、情報処理装置402は、j=1とする(ステップS2205)。情報処理装置402は、j≦Jであるか否かを判断する(ステップS2206)。
j≦Jであると判断された場合(ステップS2206:Yes)、情報処理装置402は、第S計測機器100−Sについてのターゲット候補i番目の測距値LSiを取得する(ステップS2207)。情報処理装置402は、第T計測機器100−Tについてのターゲット候補j番目の測距値LTjを取得する(ステップS2208)。情報処理装置402は、|LSi−LTj|<εであるか否かを判断する(ステップS2209)。
|LSi−LTj|<εであると判断された場合(ステップS2209:Yes)、情報処理装置402は、第S計測機器100−Sから見た第T計測機器100−Tの位置PSTを特定し(ステップS2210)、一連の処理を終了する。
ステップS2209において、|LSi−LTj|<εでないと判断された場合(ステップS2209:No)、情報処理装置402は、j=j+1とし(ステップS2211)、ステップS2206へ戻る。
ステップS2206において、j≦Jでないと判断された場合(ステップS2206:No)、情報処理装置402は、i=i+1とし(ステップS2212)、ステップS2204へ戻る。
ステップS2204において、i≦Iでないと判断された場合(ステップS2204:No)、情報処理装置402は、エラー出力を行い(ステップS2213)、一連の処理を終了する。ステップS2204においてNoと判断されるのは、第S計測機器100−Sと第T計測機器100−Tとが互いに計測可能な位置にない場合である。このため、ステップS2213において、情報処理装置402は、エラーメッセージとして第S計測機器100−Sと第T計測機器100−Tとが互いに計測可能な位置にないこと旨を出力してもよい。
以上説明したように、計測機器100は、自計測機器での測位データに基づく自計測機器から第2計測機器までの距離と、第2計測機器での測位データに基づく第2計測機器から自計測機器までの距離に基づいて、自計測機器から見た第2計測機器の位置を特定する。これにより、他の計測機器を容易に特定することができる。したがって、互いの計測機器自体をターゲットにできるため、異なる計測箇所における各測位データの合成の容易化を図る。したがって、計測機器100は、オクルージョンなどの隠れた場所も3D計測によって再現させることの容易化を図ることができる。また、例えば、位置合わせに計測機器以外のターゲットを用いる場合、ターゲットを設置する手間が発生し、どの地点にターゲットを設置するのがよいか否かの判断が現場の利用者に委ねられることから使用時の手軽さが損なわれる。これに対して、本実施の形態では、計測機器自体が位置合わせのターゲットとなるため、利用者の使用の容易化を図ることができる。
また、計測機器100は、自計測機器で用いる第1座標系における第2計測機器の位置に基づいて、第2計測機器で用いる第2座標系における第2計測機器が測定した測位データを、第1座標系における測位データに変換する。これにより、各計測機器で取得された測位データの座標系が同じになり、各測位データの合成の容易化を図ることができる。
また、測定対象の空間に計測機器が2台設置される場合、計測機器100の第1座標系の2軸と、他の計測機器で用いる第2座標系の2軸とが平行である。これにより、計測機器が2台の場合に、計測機器100は、回転行列を用いることなく第2座標系における他計測機器が測定した測位データを、第1座標系における測位データに変換することができる。
また、計測機器が3台以上設置される場合について説明する。計測機器100は、第1座標系における第2計測機器の位置と、第1座標系における第3計測機器の位置第2座標系における第3計測機器の位置と、に基づいて、第2座標系における他計測機器が測定した測位データを、第1座標系における測位データに変換する。具体的には、計測機器100は、第1座標系の2軸が第2座標系の2軸と平行となる変換行列に基づいて測位データの座標変換を行う。計測機器100は、変換行列を、第1座標系における第2計測機器の位置と、第1座標系における第3計測機器の位置と第2座標系における第3計測機器の位置と、に基づいて算出する。これにより、計測機器が3台以上の場合に、計測機器100は、回転行列によって、第2座標系における他計測機器が測定した測位データを、第1座標系における測位データに変換することができる。したがって、2台の計測機器で取得された測位データの座標系が同じになり、各測位データの合成の容易化を図ることができる。
また、計測機器100は、第1座標系に第2計測機器で測定した測位データを第1座標系に変換した変換後の測位データと、自計測機器で計測した測位データと、を合成する。これにより、広範囲の測位データが得られる。例えば、オクルージョンなどの隠れた場所の測位データも基準となる測位データに合成させることができ、隠れた場所もCADなどによって再現させることができる。
なお、本実施の形態で説明した特定方法は、予め用意された特定プログラムをPCやワークステーション、端末装置、計測機器等のコンピュータで実行することにより実現することができる。本特定プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、特定プログラムは、インターネット等のネットワークを介して配布されてもよい。
また、本実施の形態で説明した情報処理装置は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、例えば、上述した情報処理装置の機能をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、情報処理装置を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)所定の空間に設置される計測機器であって、
光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて、前記計測機器から前記所定の空間内の物体までの距離に基づく前記計測機器の第1座標系における第1計測点群の測位データを取得する第1取得部と、
前記第1取得部によって取得された前記第1計測点群の測位データに基づいて、前記計測機器から、前記所定の空間に設置された第2計測機器までの距離の候補を導出する導出部と、
前記第2計測機器によって光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて計測された前記第2計測機器から前記所定の空間内の物体までの距離に基づく前記第2計測機器の第2座標系における第2計測点群の測位データから導出された前記第2計測機器から前記計測機器までの距離の候補と、前記導出部によって導出された前記距離の候補と、に基づいて、前記第1座標系における前記第2計測機器の位置を特定する特定部と、
を有することを特徴とする計測機器。
(付記2)前記第2計測点群の測位データを取得する第2取得部と、
前記特定部によって特定された前記第1座標系における前記第2計測機器の位置に基づいて、前記第2取得部によって取得された前記第2計測点群の測位データを、前記第1座標系における前記第2計測点群の測位データに変換する変換部と、
を有することを特徴とする付記1に記載の計測機器。
(付記3)前記第1座標系の2軸と前記第2座標系の2軸とが平行であることを特徴とする付記2に記載の計測機器。
(付記4)前記導出部は、
前記第1計測点群の測位データに基づいて、前記計測機器から、前記所定の空間に設けられた第3計測機器までの距離の候補を導出し、
前記特定部は、
前記第3計測機器により光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて計測された前記第3計測機器から前記所定の空間内の物体までの距離に基づく前記第3計測機器の第3座標系における第3計測点群の測位データから導出された前記第3計測機器から前記計測機器までの距離の候補と、前記導出部によって導出された前記計測機器から前記第3計測機器までの前記距離の候補と、に基づいて、前記第1座標系における前記第3計測機器の位置を特定し、
前記第3計測機器から前記計測機器までの前記距離の候補と、前記第2計測機器から前記計測機器までの前記距離の候補と、に基づいて、前記第2座標系における前記第3計測機器の位置を特定し、
前記変換部は、
特定された前記第1座標系における前記第2計測機器の位置と、前記特定部によって特定された前記第1座標系における前記第3計測機器の位置と、前記特定部によって特定された前記第2座標系における前記第3計測機器の位置と、に基づいて、取得された前記第2計測点群の測位データを、前記第1座標系における前記第2計測点群の測位データに変換する、
ことを特徴とする付記2に記載の計測機器。
(付記5)特定された前記第1座標系における前記第2計測機器の位置と、前記特定部によって特定された前記第1座標系における前記第3計測機器の位置と、前記特定部によって特定された前記第2座標系における前記第3計測機器の位置と、に基づいて、前記第1座標系の2軸が前記第2座標系の2軸に平行となるように変換可能な変換行列を算出する算出部を有し、
前記変換部は、
前記算出部によって算出された前記変換行列と、特定された前記第1座標系における前記第2計測機器の位置と、に基づいて、取得された前記第2計測点群の測位データを、前記第1座標系における前記第2計測点群の測位データに変換する、
ことを特徴とする付記4に記載の計測機器。
(付記6)前記変換部によって変換された前記第1座標系における前記第2計測点群の測位データと、前記第1計測点群の測位データと、を合成する合成部を有することを特徴とする付記2〜5のいずれか一つに記載の計測機器。
(付記7)コンピュータに、
所定の空間に設置される第1計測機器によって光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて計測された前記第1計測機器から前記所定の空間内の物体までの距離に基づく前記第1計測機器の第1座標系における第1計測点群の測位データから導出された前記第1計測機器から前記所定の空間に設置された第2計測機器までの距離の候補を取得し、
前記第2計測機器によって光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて計測された前記第2計測機器から前記所定の空間内の物体までの距離に基づく前記第2計測機器の第2座標系における第2計測点群の測位データから導出された前記第2計測機器から前記第1計測機器までの距離の候補を取得し、
取得した前記第1計測機器から前記第2計測機器までの距離の候補と、取得した前記第2計測機器から前記第1計測機器までの距離の候補と、に基づいて、前記第1座標系における前記第2計測機器の位置を特定する、
処理を実行させることを特徴とする特定プログラム。
(付記8)コンピュータが、
所定の空間に設置される第1計測機器によって光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて計測された前記第1計測機器から前記所定の空間内の物体までの距離に基づく前記第1計測機器の第1座標系における第1計測点群の測位データから導出された前記第1計測機器から前記所定の空間に設置された第2計測機器までの距離の候補を取得し、
前記第2計測機器によって光を照射しながら走査すると共に前記所定の空間内の物体から反射される反射光を用いて計測された前記第2計測機器から前記所定の空間内の物体までの距離に基づく前記第2計測機器の第2座標系における第2計測点群の測位データから導出された前記第2計測機器から前記第1計測機器までの距離の候補を取得し、
取得した前記第1計測機器から前記第2計測機器までの距離の候補と、取得した前記第2計測機器から前記第1計測機器までの距離の候補と、に基づいて、前記第1座標系における前記第2計測機器の位置を特定する、
処理を実行することを特徴とする特定方法。