(57)【要約】【課題】センサの計測範囲を容易に把握できるシミュレーション装置を提供する。【解決手段】シミュレーション装置２００は、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定を受け付けるセンサ位置／角度設定部２１１と、センサが仮想空間に配置されると、センサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出する計測範囲算出部２１２と、仮想空間におけるセンサの位置および姿勢の情報を出力する計測範囲表示部２１３とを備える。【選択図】図３
2019207153.tif 000002
【特許請求の範囲】
【請求項１】
計測対象フィールドに対応した仮想空間にセンサを配置するための前記センサの位置および姿勢の指定を受け付ける受付部と、
前記センサが前記仮想空間に配置されると、前記センサが有する有効計測範囲情報に基づいて、前記仮想空間内における前記センサの有効計測範囲を算出する計測範囲算出部と、
前記仮想空間における前記センサの前記位置および前記姿勢の情報を出力する情報出力部とを備え、
前記仮想空間に複数の前記センサが配置される場合、前記計測範囲算出部は、前記複数のセンサの各々の前記有効計測範囲を算出し、
前記情報出力部は、前記複数のセンサのいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示する、シミュレーション装置。
【請求項２】
前記計測範囲算出部は、前記複数のセンサの各々の前記有効計測範囲によって形成される合成計測範囲を算出し、
前記情報出力部は、前記合成計測範囲を表示する、請求項１に記載のシミュレーション装置。
【請求項３】
前記計測範囲算出部は、前記複数のセンサのそれぞれの前記有効計測範囲のうちの互いに重なり合う範囲を前記合成計測範囲として算出する、請求項２に記載のシミュレーション装置。
【請求項４】
前記計測範囲算出部は、前記複数のセンサのうち少なくとも２つの前記有効計測範囲を足し合わせて、前記合成計測範囲を算出する、請求項２に記載のシミュレーション装置。
【請求項５】
前記受付部は、前記計測対象フィールドにおいて前記センサが測定すべき物体を表現するＣＡＤデータを受け付け、
前記計測範囲算出部は、前記センサが前記物体を計測する際における前記センサによる前記物体の計測可能範囲を算出し、
前記情報出力部は、前記センサの前記計測可能範囲を表示する、請求項１から請求項４のいずれか１項に記載のシミュレーション装置。
【請求項６】
前記受付部は、さらに、前記計測対象フィールドに前記物体とともに存在する構造物を表現するデータを受け付けて、
前記計測範囲算出部は、前記構造物と前記物体との位置の関係に基づいて、前記センサの計測可能範囲を算出するとともに、前記物体の計測可能範囲を算出する、請求項５に記載のシミュレーション装置。
【請求項７】
計測対象フィールドに対応した仮想空間にセンサを配置するための前記センサの位置および姿勢の指定をコンピュータが受け付けるステップと、
前記コンピュータが、前記仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、前記仮想空間内における前記センサの有効計測範囲を算出するステップと、
前記コンピュータが、前記仮想空間における前記センサの前記位置および前記姿勢の情報を出力するステップとを備え、
前記有効計測範囲を算出するステップは、
前記仮想空間に複数の前記センサが配置される場合に、前記複数のセンサの各々の前記有効計測範囲を算出するステップを含み、
前記出力するステップは、
前記複数のセンサのいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示するステップを含む、シミュレーション方法。
【請求項８】
コンピュータに、
計測対象フィールドに対応した仮想空間にセンサを配置するための前記センサの位置および姿勢の指定を受け付けるステップと、
前記仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、前記仮想空間内における前記センサの有効計測範囲を算出するステップと、
前記仮想空間における前記センサの前記位置および前記姿勢の情報を出力するステップとを実行させ、
前記有効計測範囲を算出するステップは、
前記仮想空間に複数の前記センサが配置される場合に、前記複数のセンサの各々の前記有効計測範囲を算出するステップを含み、
前記出力するステップは、
前記複数のセンサのいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示するステップを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシミュレーション装置、シミュレーション方法およびプログラムに関し、特に、センサの計測範囲をシミュレーションするための装置、方法およびプログラムに関する。
【背景技術】
【０００２】
プロジェクタとカメラとを備え、三角測量の原理を用いて対象物体に関する三次元情報を取得する装置が知られている。そのような三次元計測装置は、たとえば製品の組立のために部品をピックアップするロボットのアームに取り付けられる。
【０００３】
ロボットピッキング用あるいは計測用の三次元計測装置の数が１台のみである場合、以下に示す課題がある。第１に、３Ｄデータ（点群）の密度不足により、計測精度が不足する可能性、あるいは対象物体の認識に失敗する可能性がある。第２に、カメラあるいはプロジェクタの影に起因して計測不能な領域が発生することにより、三次元データに欠損が生じる可能性がある。第３に、計測視野の範囲が不足する可能性がある。
【０００４】
このような課題を解決するための技術が提案されている。たとえば特開２０１６−９９２５７号公報（特許文献１）は、ロボットを動かして対象物体の計測位置を移動させることにより、ロボットのアームに取り付けられた三次元センサが複数の計測位置において対象物体を撮影することを開示する。たとえば特開２００６−３４９５８６号公報（特許文献２）は、複数台の三次元センサにより対象物体を撮影することを開示する。複数台の三次元センサを用いる場合、三次元計測の精度を確保するために、ユーザは、計測対象物が含まれる範囲あるいは計測対象物が取り得る高さの範囲に基づいて、各カメラの位置関係を調整する必要がある。特開２００６−３４９５８６号公報（特許文献２）は、各カメラが計測目的に応じた状態に設定されたことをユーザが確認することが可能な画像処理方法を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−９９２５７号公報
【特許文献２】特開２００６−３４９５８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特開２０１６−９９２５７号公報に開示された情報処理装置は、カメラの画像から対象物体が遮蔽される隠れ領域を算出して、その隠れ領域に基づいて三次元センサを移動させる。遮蔽の少ない領域を探索するために、対象物体の位置あるいは姿勢の計測に時間を要する可能性がある。さらに、三次元センサを移動させたときの三次元センサの有効視野の変化を把握することができない。
【０００７】
特開２００６−３４９５８６号公報に開示された三次元計測装置は、各カメラからの画像ごとに、指定された高さ範囲にある点のうち、双方のカメラの視野に含まれる点が現れる範囲を抽出する。さらに、三次元計測装置は、抽出した範囲を計測可能範囲として、画像上に着色表示する。したがってユーザは、基準となるカメラの計測領域が、他のカメラの視野のうちのどの領域に対応しているかを把握することができる。しかし、この方法では、基本的に、カメラの視野方向の情報（すなわち対象物体の上方から下方を見た状態での情報）しか得ることができない。したがって、立体的な情報を得ることが難しい。
【０００８】
本発明の目的は、センサの計測範囲を容易に把握できるシミュレーション装置、シミュレーション方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００９】
本開示の一例によれば、シミュレーション装置は、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定を受け付ける受付部と、センサが仮想空間に配置されると、センサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出する計測範囲算出部と、仮想空間におけるセンサの位置および前記姿勢の情報を出力する情報出力部とを備える。仮想空間に複数のセンサが配置される場合、計測範囲算出部は、複数のセンサの各々の有効計測範囲を算出する。情報出力部は、複数のセンサのいずれかの有効計測範囲を、他のセンサの有効計測範囲とは異なる態様で表示する。
【００１０】
この開示によれば、たとえば個々のセンサの有効計測範囲を把握することができる。したがって、複数のセンサの有効計測範囲を容易に把握できる。
【００１１】
上述の開示において、計測範囲算出部は、複数のセンサの各々の有効計測範囲によって形成される合成計測範囲を算出する。情報出力部は、合成計測範囲を表示する。
【００１２】
この開示によれば、複数のセンサの有効計測範囲を合成することによって形成された合成計測範囲を容易に把握できる。なお「合成計測範囲」は、複数のセンサの有効計測範囲のうち共通する部分であってもよく、複数のセンサの有効計測範囲を足し合わせた範囲であってもよい。
【００１３】
上述の開示において、計測範囲算出部は、複数のセンサのそれぞれの有効計測範囲のうちの互いに重なり合う範囲を合成計測範囲として算出する。
【００１４】
この開示によれば、ユーザーは、複数のセンサの有効計測範囲のうち共通する部分によって形成された合成計測範囲を把握することができる。
【００１５】
上述の開示において、計測範囲算出部は、複数のセンサのうち少なくとも２つの有効計測範囲を足し合わせて、合成計測範囲を算出する。
【００１６】
この開示によれば、ユーザーは、複数のセンサの有効計測範囲を足し合わせることによって形成された合成計測範囲を把握することができる。なお、複数のセンサのすべての有効計測範囲を足し合わせる必要はなく、複数のセンサの中から選択された特定のセンサの有効計測範囲を足し合わせることにより合成計測範囲を算出してもよい。
【００１７】
上述の開示において、受付部は、計測対象フィールドにおいてセンサが測定すべき物体を表現するＣＡＤデータを受け付ける。計測範囲算出部は、センサが物体を計測する際におけるセンサによる物体の計測可能範囲を算出する。情報出力部は、センサの計測可能範囲を表示する。
【００１８】
この開示によれば、計測対象フィールドに物体（計測対象物）が配置された場合のセンサの計測可能な範囲を予め把握することができる。
【００１９】
上述の開示において、受付部は、さらに、計測対象フィールドに物体とともに存在する構造物を表現するデータを受け付ける。計測範囲算出部は、構造物と物体との位置の関係に基づいて、センサの計測可能範囲を算出するとともに、物体の計測可能範囲を算出する。
【００２０】
この開示によれば、計測対象フィールドに物体とともに構造物（たとえば物体を収容する容器）が配置された場合のセンサの計測可能な範囲を予め把握することができる。
【００２１】
本開示の一例によれば、シミュレーション方法は、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定をコンピュータが受け付けるステップと、コンピュータが、仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出するステップと、コンピュータが、仮想空間におけるセンサの位置および姿勢の情報を出力するステップとを備える。有効計測範囲を算出するステップは、仮想空間に複数のセンサが配置される場合に、複数のセンサの各々の有効計測範囲を算出するステップを含む。出力するステップは、複数のセンサのいずれかの有効計測範囲を、他のセンサの前記有効計測範囲とは異なる態様で表示するステップを含む。
【００２２】
この開示によれば、センサの計測範囲を容易に把握できる。
本開示の一例によれば、プログラムは、コンピュータに、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定を受け付けるステップと、仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出するステップと、仮想空間におけるセンサの位置および姿勢の情報を出力するステップとを実行させる。有効計測範囲を算出するステップは、仮想空間に複数のセンサが配置される場合に、複数のセンサの各々の有効計測範囲を算出するステップを含む。出力するステップは、複数のセンサのいずれかの有効計測範囲を、他のセンサの前記有効計測範囲とは異なる態様で表示するステップを含む。
【発明の効果】
【００２３】
本発明によれば、センサの計測範囲を容易に把握できる。
【図面の簡単な説明】
【００２４】
【図１】複数の三次元センサを備えた三次元計測装置の構成例を模式的に示す図である。
【図２】本実施の形態に係るシミュレーション装置のハードウェアの構成を説明する図である。
【図３】本実施の形態に係るシミュレーション装置の機能を説明するブロック図である。
【図４】三次元センサの有効計測範囲を説明する模式図である。
【図５】３つの三次元センサの有効計測範囲を説明する模式図である。
【図６】３つの三次元センサの配置の第１の例を説明する図である。
【図７】３つの三次元センサの配置の第２の例を説明する図である。
【図８】本実施の形態に係るシミュレーション装置による、センサの位置の設定を説明するための図である。
【図９】本実施の形態に係るシミュレーション装置による、三次元センサ１の計測領域のシミュレーションを説明するための図である。
【図１０】本実施の形態に係るシミュレーション装置による計測範囲のシミュレーションの第１の例を説明する図である。
【図１１】本実施の形態に係るシミュレーション装置による計測範囲のシミュレーションの第２の例を説明する図である。
【図１２】本実施の形態に係るシミュレーション装置の第１の応用例を示した図である。
【図１３】本実施の形態に係るシミュレーション装置の第２の応用例を示した図である。
【図１４】本実施の形態に係るシミュレーション装置の第３の応用例を示した図である。
【図１５】本実施の形態に係るシミュレーション装置の第４の応用例を示した図である。
【図１６】本実施の形態に係る三次元センサの調整を説明した模式図である。
【図１７】本実施の形態に係る三次元計測装置の機能ブロック図である。
【図１８】一例に係る濃淡パタンの一部分を示した部分図である。
【図１９】図１８に示す濃淡パタンの一部分を拡大した部分拡大図である。
【図２０】基準面に対する三次元センサの傾きを算出する処理のフローを示したフローチャートである。
【図２１】基準面の法線ベクトルの第１の算出方法を説明するための模式図である。
【図２２】基準面の法線ベクトルの第２の算出方法を説明するための模式図である。
【図２３】三次元センサ１のＺ軸周りの回転角度の第１の算出方法を説明するための模式図である。
【図２４】三次元センサ１のＺ軸周りの回転角度の第２の算出方法を説明するための模式図である。
【図２５】本実施の形態に係るインジケータの１つの構成例を示した図である。
【図２６】本実施の形態に係るインジケータの別の構成例を示した図である。
【図２７】本実施の形態に係るインジケータのさらに別の構成例を示した図である。
【図２８】本実施の形態に係るインジケータのさらに別の構成例を示した図である。
【発明を実施するための形態】
【００２５】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２６】
＜適用例＞
図１は、複数の三次元センサを備えた三次元計測装置の構成例を模式的に示す図である。図１に示すように、三次元計測装置１００は、工業製品の生産ラインなどにおいて、ワークＷを照明しながら撮影し、得られた撮影画像を用いてワークＷの三次元形状を測定する。
【００２７】
三次元計測装置１００は、三次元センサ１Ａ，１Ｂ，１Ｃと、形状測定部１０とを備える。三次元センサ１Ａ，１Ｂ，１Ｃは、互いに異なる方向からワークＷを撮像する。これにより、複数の異なる視点からワークＷを見たときのワークＷの画像が得られる。形状測定部１０は、三次元センサ１Ａ，１Ｂ，１Ｃの各々から画像データを取得し、それらの画像データを重ね合わせることにより、三次元データ（点群）を取得する。形状測定部１０は、その三次元データに基づいて、三次元計測あるいは三次元形状の認識を行う。
【００２８】
図１に示した構成では、三次元計測装置１００は、複数の三次元センサを備えることによって、複数の異なる視点からワークＷの画像を得る。しかしながら、三次元計測装置１００は、１台の三次元センサを備え、その三次元センサの位置および姿勢を変化させて、複数の画像データを取得してもよい。
【００２９】
ワークＷを撮像するに先立って、複数台の三次元センサの位置が調整される。本実施の形態によれば、三次元センサの計測範囲を算出することが可能なシミュレーション装置が提供される。シミュレーション装置は、仮想空間上で三次元センサの位置を変化させることができるとともに、その三次元センサの計測範囲を算出する。
【００３０】
図２は、本実施の形態に係るシミュレーション装置２００のハードウェアの構成を説明する図である。図２に示されるように、シミュレーション装置２００は、コンピュータであって、ＣＰＵ（Central Processing Unit）２０１と、通信装置２０２と、メモリ２０３と、入力装置２０４と、表示装置２０５と、内部バス２０６とを含む。
【００３１】
メモリ２０３は、シミュレーション装置２００におけるシミュレーション処理を実行するための各種プログラムを格納している。ＣＰＵ２０１は、シミュレーション装置２００の全体を制御する。ＣＰＵ２０１は、さらに、メモリ２０３に格納されているプログラムを実行することにより各種の機能を実現する。このプログラムは、仮想空間内において三次元センサの位置および姿勢を変化させたときの三次元センサの計測範囲を算出するためのプログラムを含む。
【００３２】
入力装置２０４は、ユーザの入力を受け付ける装置であり、たとえばキーボード、マウス等を含む。通信装置２０２は、図示しないケーブルあるいはネットワーク等を介して、外部と通信するための装置である。
【００３３】
表示装置２０５は、シミュレーション装置２００により実行されたシミュレーションの結果を含む各種の情報を表示する装置である。たとえば表示装置２０５は、液晶ディスプレイである。
【００３４】
内部バス２０６は、各部と接続され、各部のデータの授受を実行する。
図３は、本実施の形態に係るシミュレーション装置２００の機能を説明するブロック図である。シミュレーション装置２００は、ＣＰＵ２０１がメモリ２０３に格納されているプログラムを実行することにより各種の機能ブロックを実現する。
【００３５】
図３に示されるように、シミュレーション装置２００は、センサ位置／角度設定部２１１と、計測範囲算出部２１２と、計測範囲表示部２１３とを含む。
【００３６】
センサ位置／角度設定部２１１は、ユーザによって指定される三次元センサの位置および角度を受け付ける指定受付部である。詳細には、センサ位置／角度設定部２１１は、計測対象フィールドに対応した仮想空間に、三次元センサを仮想的に配置するための三次元センサの位置の指定を受け付ける。計測対象フィールドとは、三次元センサ１Ａ，１Ｂ，１Ｃが配置される空間である（図１を参照）。
【００３７】
計測範囲算出部２１２は、三次元センサが仮想空間に配置されると、三次元センサが有する有効計測範囲情報に基づいて、仮想空間内における三次元センサの有効計測範囲を算出する。
【００３８】
計測範囲表示部２１３は、仮想空間における三次元センサの位置および姿勢の情報を出力する情報出力部である。
【００３９】
仮想空間に複数の三次元センサが配置される場合、計測範囲算出部２１２は、複数の三次元センサの各々の有効計測範囲を算出する。さらに計測範囲算出部２１２は、複数の三次元センサの各々の有効計測範囲によって形成される合成計測範囲を算出する。
【００４０】
計測範囲表示部２１３は、複数の三次元センサのいずれかの有効計測範囲を、他の三次元センサの有効計測範囲とは異なる態様で表示する。たとえば計測範囲表示部２１３は、複数の有効計測範囲を互いに異なる色によって表示する。さらに計測範囲表示部２１３は、合成計測範囲を表示する。すなわち、計測範囲表示部２１３は、三次元センサの計測範囲および計測範囲をユーザに表示するためのユーザインタフェースを提供する。
【００４１】
以下に、本実施の形態に係るシミュレーション装置２００による三次元センサの計測範囲の算出および表示を説明する。なお、三次元センサ１Ａ，１Ｂ，１Ｃのうちのすべてについて同じ説明が成り立つ場合、三次元センサ１Ａ，１Ｂ，１Ｃを「三次元センサ１」と総称する。
【００４２】
＜三次元センサの有効計測範囲＞
図４は、三次元センサの有効計測範囲を説明する模式図である。図４に示すように、三次元センサ１の有効計測範囲６は、立体的な範囲であり、６つのパラメータ（Ｈｍｉｎ，Ｈｍａｘ，Ｗｍｉｎ，Ｗｍａｘ，Ｄｍｉｎ，Ｄｍａｘ）によって表現可能である。下記に説明する６つのパラメータは、三次元センサ１が有する有効計測範囲情報に相当する。
【００４３】
Ｈｍｉｎ，Ｈｍａｘは、三次元センサ１を基準とした、高さ方向のパラメータである。Ｈｍｉｎは、有効計測範囲６の最小高さを表すパラメータであり、Ｈｍａｘは、有効計測範囲６の最大高さを表すパラメータである。
【００４４】
Ｗｍｉｎ，Ｗｍａｘは有効計測範囲６の幅方向のパラメータであり、Ｄｍｉｎ，Ｄｍａｘは有効計測範囲６の奥行方向のパラメータである。なお、三次元センサ１からの高さがＨｍｉｎであるときに、有効計測範囲６の幅方向の大きさがＷｍｉｎであり、有効計測範囲６の奥行方向の大きさがＤｍｉｎである。三次元センサ１からの高さがＨｍａｘであるときに、有効計測範囲６の幅方向の長さがＷｍａｘであり、有効計測範囲６の奥行方向の大きさがＤｍａｘである。
【００４５】
シミュレーション装置２００において、三次元センサ１の仮想空間内の位置および三次元センサ１の傾きが設定されることにより、これらのパラメータの値を決定することができる。
【００４６】
図５は、３つの三次元センサの有効計測範囲を説明する模式図である。図５に示すように、三次元センサ１Ａ，１Ｂ，１Ｃは、それぞれ有効計測範囲６Ａ，６Ｂ，６Ｃを有する。三次元センサごとに有効計測範囲の大きさが異なっていてもよく、三次元センサ１Ａ，１Ｂ，１Ｃの間で有効計測範囲の大きさが同じであってもよい。上記のように、各々の有効計測範囲は、各三次元センサの有効計測範囲情報に従って定められる。
【００４７】
図６は、３つの三次元センサの配置の第１の例を説明する図である。図６に示すように、有効計測範囲６Ａ，６Ｂ，６Ｃが互いに重なり合うように三次元センサ１Ａ，１Ｂ，１Ｃの計測方向が設定される。３つの有効計測範囲が互いに重なり合う部分が合成計測範囲として選ばれる。３つの有効計測範囲が互いに重なり合う部分が大きいほど、その部分において三次元データ（点群）の密度を高くすることができる。したがって計測精度が不足する可能性、あるいは対象物体の認識が失敗する可能性を下げることができる。
【００４８】
図７は、３つの三次元センサの配置の第２の例を説明する図である。図７に示すように、有効計測範囲６Ａ，６Ｂの一部どうしが重なり合うとともに、有効計測範囲６Ａ，６Ｃの一部どうしが重なり合うように、三次元センサ１Ａ，１Ｂ，１Ｃの傾きが設定される。有効計測範囲６Ａ，６Ｂ，６Ｃを足し合わせた範囲が合成計測範囲として選ばれる。計測可能な範囲が広がることにより、カメラあるいはプロジェクタの影に起因して計測不能な領域が発生するという可能性、あるいは計測視野の範囲が不足する可能性を低減することができる。
【００４９】
＜シミュレーション装置の動作＞
図８は、本実施の形態に係るシミュレーション装置２００による、センサの位置の設定を説明するための図である。図８に示すように、センサ位置／角度設定部２１１は、ユーザからの入力（たとえばマウス操作による入力）を受け付ける。センサ位置／角度設定部２１１は、ユーザからの入力に従って、仮想空間３００に三次元センサ１を配置するとともに、三次元センサ１の仮想空間３００内での位置、および三次元センサ１の角度を設定する。計測範囲算出部２１２は、三次元センサ１の有効計測範囲６を算出する。
【００５０】
計測範囲表示部２１３は、センサ位置／角度設定部２１１により設定された三次元センサ１の位置および角度に従って、仮想空間３００上に配置された三次元センサ１を表示するとともに、三次元センサ１の有効計測範囲６を表示する。
【００５１】
ユーザのマウス操作により、センサ位置／角度設定部２１１は、仮想空間３００での三次元センサ１の位置を示す座標値、および三次元センサ１の傾きを示す角度を変更する。計測範囲算出部２１２は、三次元センサ１の有効計測範囲６を更新する。計測範囲表示部２１３は、仮想空間３００のＸＺ面あるいはＹＺ面内で三次元センサ１の位置あるいは傾きが変化するように三次元センサ１を表示する。なお、Ｘ方向は、三次元センサ１の有効計測範囲６の幅方向に対応し、Ｙ方向は有効計測範囲６の奥行方向に対応し、Ｚ方向は、有効計測範囲６の高さ方向に対応する。
【００５２】
図９は、本実施の形態に係るシミュレーション装置２００による、三次元センサ１の計測領域のシミュレーションを説明するための図である。図９に示すように、３つの三次元センサ１Ａ，１Ｂ，１Ｃが仮想空間３００に配置される。計測範囲算出部２１２は、三次元センサ１Ａ，１Ｂ，１Ｃのそれぞれの有効計測範囲６Ａ，６Ｂ，６Ｃを算出する。
【００５３】
計測範囲表示部２１３は、三次元センサ１Ａ，１Ｂ，１Ｃの各々の位置および姿勢を表示する。計測範囲表示部２１３は、さらに、有効計測範囲６Ａ，６Ｂ，６Ｃを表示する。たとえば有効計測範囲６Ａ，６Ｂ，６Ｃは、互いに異なる色により表示される。
【００５４】
計測範囲表示部２１３は、さらに、有効計測範囲６Ａ，６Ｂ，６Ｃによって形成される、仮想空間３００内の合成計測範囲を表示する。一実施形態では、計測範囲表示部２１３は、ＸＺ面、ＹＺ面およびＸＹ面の各々に射影された有効計測範囲および合成計測範囲を表示する。
【００５５】
図１０は、本実施の形態に係るシミュレーション装置２００による計測範囲のシミュレーションの第１の例を説明する図である。図１０を参照して、計測範囲算出部２１２は、有効計測範囲６Ａ，６Ｂ，６Ｃの各々の情報（パラメータＨｍｉｎ，Ｈｍａｘ，Ｗｍｉｎ，Ｗｍａｘ，Ｄｍｉｎ，Ｄｍａｘ）に基づいて、合成計測範囲７を算出する。合成計測範囲７は、有効計測範囲６Ａ，６Ｂ，６Ｃの論理積（ＡＮＤ）を演算することによって算出される。すなわち合成計測範囲７は、有効計測範囲６Ａ，６Ｂ，６Ｃがすべて重なり合う部分である。この例では、合成計測範囲７における点群密度は、三次元センサ１Ａ，１Ｂ，１Ｃの各々の有効計測範囲における点群密度の３倍となる。
【００５６】
計測範囲表示部２１３は、三次元センサ１Ａ，１Ｂ，１Ｃのそれぞれの有効計測範囲６Ａ，６Ｂ，６Ｃを表示するとともに合成計測範囲７を有効計測範囲６Ａ，６Ｂ，６Ｃに重ねて表示する。合成計測範囲７は、有効計測範囲６Ａ，６Ｂ，６Ｃのいずれの色とも異なる色で表示されてもよい。
【００５７】
計測範囲表示部２１３は、さらに三次元センサ１Ａ（図１０では「センサＡ」と表記）に対する三次元センサ１Ｂ，１Ｃの相対位置を表示することができる。相対位置は、計測範囲算出部２１２によって算出される。具体的には、計測範囲表示部２１３は、三次元センサ１Ｂ，１Ｃ（図１０では「センサＢ」、「センサＣ」とそれぞれ表記）のＸ座標、Ｙ座標、Ｚ座標、ヨー角、ピッチ角およびロール角を表示してもよい。たとえば三次元センサ１ＢのＸ座標、Ｙ座標、Ｚ座標、ヨー角、ピッチ角およびロール角は、（ＸＢ，ＹＢ，ＺＢ，ＹａｗＢ，ＰｉｃｈＢ，ＲｏｌｌＢ）と表される。三次元センサ１ＣのＸ座標、Ｙ座標、Ｚ座標、ヨー角、ピッチ角およびロール角は、（ＸＣ，ＹＣ，ＺＣ，ＹａｗＣ，ＰｉｃｈＣ，ＲｏｌｌＣ）と表される。
【００５８】
図１１は、本実施の形態に係るシミュレーション装置２００による計測範囲のシミュレーションの第２の例を説明する図である。図１１を参照して、合成計測範囲７は、有効計測範囲６Ａ，６Ｂ，６Ｃの論理和（ＯＲ）を演算することによって形成される。この例では、有効計測範囲６Ａ，６Ｂ，６Ｃのすべての論理和（ＯＲ）によって合成計測範囲７が算出される。しかし、有効計測範囲６Ａ，６Ｂ，６Ｃのうち選択された２つの有効計測範囲の論理和によって合成計測範囲７が算出されてもよい。すべての三次元センサの有効計測範囲の論理和を生成すると限定されない。
【００５９】
計測範囲表示部２１３は、三次元センサ１Ａ，１Ｂ，１Ｃのそれぞれの有効計測範囲６Ａ，６Ｂ，６Ｃを表示するとともに合成計測範囲７を有効計測範囲６Ａ，６Ｂ，６Ｃに重ねて表示する。さらに、計測範囲表示部２１３は、さらに、三次元センサ１Ａに対する三次元センサ１Ｂ，１Ｃの相対位置を表示することができる。
【００６０】
＜シミュレーション装置の応用例＞
図１２は、本実施の形態に係るシミュレーション装置２００の第１の応用例を示した図である。図１２に示すように、シミュレーション装置２００は、計測対象８のＣＡＤデータを取り込み、仮想空間３００に三次元センサ１とともに計測対象８を配置することができる。シミュレーション装置２００は、三次元センサ１の有効計測範囲６に基づいて、計測対象８における、センサ１の計測可能範囲８Ａを算出するとともに、その計測可能範囲８Ａを計測対象８に重ねて表示する。
【００６１】
この場合、図２に示すセンサ位置／角度設定部２１１が計測対象８のＣＡＤデータを受け付けてもよい。計測範囲算出部２１２が、三次元センサ１が計測対象８を計測する際における三次元センサ１の計測可能範囲８Ａを算出する。計測範囲表示部２１３は、三次元センサ１および三次元センサ１の有効計測範囲６を表示するとともに、計測対象８および計測可能範囲８Ａを表示する。実際に計測対象８を三次元センサ１によって計測するに先立ち、シミュレーションによって、センサ１の計測可能範囲８Ａに関する情報を得ることができる。
【００６２】
図１３は、本実施の形態に係るシミュレーション装置２００の第２の応用例を示した図である。図１３に示すように、仮想空間３００に複数の三次元センサが配置されてもよい。シミュレーション装置２００は三次元センサ１Ａ，１Ｂ，１Ｃのそれぞれの有効計測範囲６Ａ，６Ｂ，６Ｃに基づいて、計測可能範囲８Ａ，８Ｂ，８Ｃを算出する。計測可能範囲８Ａは、三次元センサ１Ａにより計測可能な範囲であり、計測可能範囲８Ｂは、三次元センサ１Ｂにより計測可能な範囲であり、計測可能範囲８Ｃは、三次元センサ１Ｃにより計測可能な範囲である。三次元センサ１Ａ，１Ｂ，１Ｃによって計測可能な計測対象８の範囲は、計測可能範囲８Ａ，８Ｂ，８Ｃを足し合わせた範囲である。
【００６３】
図１３には示されていないが、複数個の計測対象が仮想空間３００に配置されてもよい。この場合、シミュレーション装置２００は、複数個の計測対象の各々のＣＡＤデータを取り込むとともに、そのＣＡＤデータの和集合を生成してもよい。ＣＡＤデータの和集合に対して、図１２あるいは図１３に示した方法と同じ方法を用いることにより、シミュレーション装置２００は、１または複数の三次元センサの計測可能範囲を算出することができる。
【００６４】
図１４は、本実施の形態に係るシミュレーション装置２００の第３の応用例を示した図である。図１５は、本実施の形態に係るシミュレーション装置２００の第４の応用例を示した図である。図１４および図１５に示すように、第３および第４の応用例では、シミュレーション装置２００は、コンテナ９に収められた計測対象８の計測範囲をシミュレーションする。第１および第２の応用例と同様に、シミュレーション装置２００は、計測対象８およびコンテナ９の各々のＣＡＤデータを取り込み、仮想空間３００において計測対象８およびコンテナ９を配置する。三次元センサ１Ａ，１Ｂ，１Ｃのそれぞれの有効計測範囲６Ａ，６Ｂ，６Ｃから、計測可能範囲８Ａ，８Ｂ，８Ｃが算出される。
【００６５】
計測対象８の計測範囲は、コンテナ９の深さに依存する。シミュレーション装置２００（より特定的には、計測範囲算出部２１２）はコンテナ９の深さをパラメータとして計測可能範囲を算出することができる。
【００６６】
図１４には、コンテナ９が深い場合の計測対象８の計測範囲の例を示す。図１５には、コンテナ９が浅い場合の計測対象８の計測範囲の例を示す。このように、本実施の形態に係るシミュレーション装置２００は、構造物と計測対象との位置の関係に基づいて、１または複数の三次元センサの計測可能範囲を算出することができる。
【００６７】
＜三次元センサの調整の一例＞
本実施の形態に係るシミュレーション装置２００によって、三次元センサの位置および傾きを、ワークの計測に適するように決定することができる。ユーザは、決定された位置および傾きに従って三次元センサの位置関係を調整することができる。
【００６８】
本実施の形態では、複数の三次元センサの各々について、以下に説明する調整が適用される。したがって、以下では、１つの三次元センサの調整を代表的に説明する。
【００６９】
図１６は、本実施の形態に係る三次元センサ１の調整を説明した模式図である。図１６に示すように、三次元センサ１は、カメラおよびプロジェクタを収容するセンサ筐体２と、インジケータ５とを備える。インジケータ５は、センサ筐体２の表面に露出するようにセンサ筐体２に設置される。
【００７０】
三次元センサ１は、基準面５０を撮影して画像を取得する。三次元センサ１により取得された画像は、形状測定部１０に転送される。形状測定部１０は、たとえば、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサと、ＲＡＭ（Random Access Memory）等を含むコントローラによって実現可能である。ディスプレイ６０は形状測定部１０に接続されて、各種の情報を表示することによりユーザインタフェースを提供する。三次元計測装置１００の設置時には、ディスプレイ６０の画面に、基準面５０の画像である画像７０が表示される。
【００７１】
たとえば設置者は、ディスプレイ６０の画面上で、基準面５０上の少なくとも３つの点を指定する。形状測定部１０は、指定された各点を含む領域をディスプレイ６０の画面上に設定する。たとえば、画像７０内に、領域７１，７２，７３が設定される。領域７１，７２，７３は、基準面５０上の領域５１，５２，５３にそれぞれ対応した領域である。形状測定部１０は、センサ筐体２から領域５１，５２，５３の各々までの距離および、位置を測定して、基準面５０に対するカメラ３（図２に示さず）の光軸の角度を算出する。
【００７２】
図１６において、Ｘ軸およびＹ軸は、基準面５０上で互いに直交する軸である。角度θＸは、基準面５０上のＸ軸を中心とした基準面５０を回転させるときにカメラ３（図２に示さず）の光軸がＹ軸に対してなす角度である。角度θＹは、基準面５０上のＹ軸を中心とした基準面５０を回転させるときにカメラ３（図２に示さず）の光軸がＸ軸に対してなす角度である。
【００７３】
形状測定部１０は、算出された角度および設定角度をディスプレイ６０の画面に表示する。さらに形状測定部１０は、算出された角度と設定角度との差がインジケータ５によって示されるように、インジケータ５を制御する。
【００７４】
一実施形態では、インジケータ５は、複数のＬＥＤを含む。図１６に示した例では、インジケータは１０個のＬＥＤを含む。シンボル「Ｘ」に対応づけられた５個のＬＥＤは、角度θＸについて、算出値と設定値との差分を示す。シンボル「Ｙ」に対応づけられた５個のＬＥＤは、角度θＹについて、算出値と設定値との差分を示す。
【００７５】
シンボル「Ｘ」に対応づけられた５個のＬＥＤは、緑色ＬＥＤ２１と、黄色ＬＥＤ２２，２３および赤色ＬＥＤ２４，２５である。たとえば角度θＸについて、算出値と設定値との差分が±０．５°以下の場合、形状測定部１０は、緑色ＬＥＤ２１を点灯させる。角度θＸについて、算出値と設定値との差分の絶対値が１°以内の場合、形状測定部１０は、黄色ＬＥＤ２２または黄色ＬＥＤ２３を点灯させる。算出値と設定値との差分の絶対値が３°以上の場合、形状測定部１０は、赤色ＬＥＤ２４または赤色ＬＥＤ２５を点灯させる。たとえば、（算出値）−（設定値）の符号が正である場合に黄色ＬＥＤ２２または赤色ＬＥＤ２４が点灯する。一方、（算出値）−（設定値）の符号が負である場合に黄色ＬＥＤ２３または赤色ＬＥＤ２５が点灯する。
【００７６】
シンボル「Ｙ」に対応づけられた５個のＬＥＤは、緑色ＬＥＤ２６と、黄色ＬＥＤ２７，２８および赤色ＬＥＤ２９，３０である。角度θＹについての算出値と設定値との差分に基づいて、形状測定部１０は、上記のＬＥＤを制御する。ディスプレイ６０に表示された例によれば、基準面５０と三次元センサ１との間の距離（ＷＤ）は８００であり、角度θＸの設定値および角度θＹの設定値がともに９０°である。一方、角度θＸの計測値は８９°であり、角度θＹの計測値は７５°である。この場合には、たとえば黄色ＬＥＤ２３および赤色ＬＥＤ３０が点灯する。
【００７７】
＜三次元計測装置の構成例＞
図１７は、本実施の形態に係る三次元計測装置の機能ブロック図である。図１７に示すように、三次元センサ１は、カメラ３と、プロジェクタ４と、インジケータ５とを含む。形状測定部１０は、パタン生成部１１と、パタン検出部１２と、三次元形状取得部１３と、傾斜演算部１４と、角度範囲指定部１５と、基準領域設定部１６とを含む。ディスプレイ６０は、形状測定部１０に接続され、各種の情報を表示する。
【００７８】
パタン生成部１１は、特定の濃淡パタンを生成する。たとえばこの濃淡パタンは、Ｍ系列、あるいはｄｅＢｒｕｉｊｎ系列に従うものであってもよい。プロジェクタ４は、パタン生成部１１により生成された濃淡パタンを投射する。カメラ３は、撮像視野内の画像を取得する。パタン検出部１２は、カメラ３により取得された、その画像から、濃淡パタンを読み取る。
【００７９】
三次元形状取得部１３は、パタン生成部１１に濃淡パタンを生成するよう指示する。さらに、三次元形状取得部１３は、さらにパタン検出部１２によって読み取られた濃淡パタンに基づいて、ワークの三次元形状に関する情報を取得する。
【００８０】
カメラ３によるワークの撮影に先立って、カメラ３とプロジェクタ４とのキャリブレーションが実行される。さらに基準面５０に対する三次元センサ１の傾きが計測される。三次元形状取得部１３は、基準面５０上に指定された複数の領域と三次元センサ１との間の距離の情報、および、その複数の領域の位置に関する情報を取得する。傾斜演算部１４は、三次元形状取得部１３によって取得された情報に基づいて、基準面５０に対する三次元センサ１の傾きの角度を演算する。さらに、傾斜演算部１４は、算出された三次元センサ１の傾斜角度に基づいてインジケータ５を制御する。
【００８１】
角度範囲指定部１５は、設定角度の範囲をユーザから受け付けて、その設定角度の範囲を傾斜演算部１４に指定する。基準領域設定部１６は、ユーザによる、基準面５０上の複数の領域に関する入力を受け付ける。基準領域設定部１６は、ユーザが指定した複数の領域を、基準面５０の画像上に設定する。複数の領域は、高さを取得するための領域である。なお、指定される領域の数は３以上であってもよい。ディスプレイ６０は、基準面の画像、すなわち濃淡画像を表示する（図１６に示す画像７０を参照）。
【００８２】
図１８は、一例に係る濃淡パタンの一部分を示した部分図である。図１９は、図１８に示す濃淡パタンの一部分を拡大した部分拡大図である。三次元計測装置１００は、図１８に示した濃淡パタンをワークに投影する。ワークの表面に投影されたパタンには、ワークの高さに応じた歪みが生じる。三次元計測装置１００は、パタンが投影されたワークの画像を撮像する。カメラ３とプロジェクタ４との間でキャリブレーションが完了していれば、エピポーラ線上でコードが一意に決まる。これにより、三次元計測装置１００は、ワークの三次元形状を計測する。この方法によれば、誤対応が少なく、かつ、高速に三次元再構成（対応位置特定と三角測量）が可能である。
【００８３】
図２０は、基準面に対する三次元センサ１の傾きを算出する処理のフローを示したフローチャートである。この処理は、三次元計測装置１００によって実行される。図１７および図２０を参照して、ステップＳ１０において、パタン生成部１１が投影パタンを生成する。プロジェクタ４は、そのパタンを基準面５０に投影する。
【００８４】
ステップＳ１１において、カメラ３は、パタン撮像を行う。ステップＳ１２において、三次元形状取得部１３は、カメラ３が取得した画像から、対応コードの探索および三角測量により、三次元形状を復元する。これにより距離情報が取得される。
【００８５】
ステップＳ１３〜Ｓ１７の処理により、被写体表面と三次元計測装置１００における基準点との間の位置関係が決定される。ステップＳ１３において、傾斜演算部１４は、基準面の３か所以上の領域の高さ方向の外れ値を除去する。ステップＳ１４において、傾斜演算部１４は、外れ値を除いた基準領域の高さ方向の平均値を算出する。これにより傾斜演算部１４は、基準領域の平均高さＺを求める。さらに、ステップＳ１４において、傾斜演算部１４は、各基準領域の重心の座標を計算する。なお、重心座標はＸＹ座標である。
【００８６】
ステップＳ１５において、傾斜演算部１４は、ステップＳ１４において算出された平均高さＺおよび重心座標ＸＹに基づいて、指定した領域に当てはまる平面を求める。後に詳細に説明するように、この平面は、たとえばａｘ＋ｂｙ＋ｃｚ＋ｄ＝０の関係を満たすように定められる。
【００８７】
ステップＳ１６において、傾斜演算部１４は、基準面の法線ベクトルを求める。さらに、傾斜演算部１４は、その法線ベクトルをＸ−Ｚ平面およびＹ−Ｚ平面の各々に射影する。これにより、傾斜演算部１４は、法線ベクトルのＸ−Ｚ平面内の傾き、および法線ベクトルのＹ−Ｚ平面内の傾きを算出する。なお、法線ベクトルのＸ−Ｚ平面内の傾きは角度θＸと表される。法線ベクトルのＹ−Ｚ平面内の傾きは角度θＹと表される。
【００８８】
ステップＳ１７において、傾斜演算部１４は、角度θＸ，θＹの各々の指定値と、ステップＳ１６において算出された値との差分を計算する。ステップＳ１８において、傾斜演算部１４は、ディスプレイ６０に、角度θＸ，θＹの各々の指定値および算出値を表示する。
【００８９】
ステップＳ１９において、傾斜演算部１４は、差分に対応するＬＥＤを点灯するようインジケータ５に指示する。インジケータ５は、この指示に従い、対応のＬＥＤを点灯させる（図１６を参照）。
【００９０】
ステップＳ２０において、傾斜演算部１４は、終了指示の有無を判定する。終了指示があった場合、全体の処理は終了する。終了指示が無い場合には、処理はステップＳ１０に戻される。
【００９１】
上述の通り、角度θＸ，θＹを求めるために、本実施の形態では基準面５０の法線ベクトル（垂線）が求められる。以下に、基準面５０の法線ベクトルを算出することが可能な２つの方法を例示する。なお、法線ベクトルを算出する際、ユーザは基準面５０の画像（図１６に示す画像７０）内の領域を指定する。説明を分かりやすくするために、以下では、基準面５０の画像（図１６に示す画像７０）を、単に「基準面５０」と表記する。
【００９２】
図２１は、基準面の法線ベクトルの第１の算出方法を説明するための模式図である。図２１を参照して、まず、基準面５０上の３つの領域（Ｐ，Ｑ，Ｒ）が基準領域として指定される。ユーザがディスプレイ６０の画面を見ながら、基準面５０上の少なくとも３つの点を三次元計測装置１００に対して指定する。三次元計測装置１００の基準領域設定部１６は、ユーザの入力を受け付けることにより、領域Ｐ，Ｑ，Ｒの各々を設定する。
【００９３】
次に、傾斜演算部１４は、領域Ｐ，Ｑ，Ｒの高さの平均値を計算して平均高さＺを算出する。さらに、傾斜演算部１４は、領域Ｐ，Ｑ，Ｒの重心座標を計算する。
【００９４】
続いて、傾斜演算部１４は、平均高さＺおよび重心座標に基づいて、ベクトルＰＱとベクトルＰＲを決定する。ベクトルＰＱは領域Ｐから領域Ｑへと向かうベクトルである。ベクトルＰＲは領域Ｐから領域Ｒへと向かうベクトルである。
【００９５】
傾斜演算部１４は、ベクトルＰＱとベクトルＰＲとの外積を計算する。ベクトルＰＱとベクトルＰＲとの外積は、ベクトルＰＱおよびベクトルＰＲの両方に直交するベクトルである。ベクトルＰＱとベクトルＰＲとの外積により、基準面５０の法線ベクトルが求められる。
【００９６】
上記の第１の方法において、３つ以上の領域を基準領域として指定してもよい。その場合には、それらの領域のうちの任意の３つの領域の組み合わせにより生成された法線ベクトルが平均される。その平均ベクトルを法線ベクトルに設定することができる。
【００９７】
図２２は、基準面の法線ベクトルの第２の算出方法を説明するための模式図である。図２２を参照して、まず、基準面５０上のｎ個の領域５１，５２，５３，５４，・・・，５ｎが基準領域として設定される。ｎは３以上の整数であるが、特に限定されない。これらの領域はユーザが任意に設定してもよい。あるいは、三次元計測装置１００の基準領域設定部１６が、基準面５０内の領域をランダムに選択して、基準領域設定部１６は、その選択した領域を基準領域に設定してもよい。
【００９８】
次に、傾斜演算部１４は、ｎ個の領域の各々の平均高さ（Ｚ座標）および重心座標（ＸＹ座標)を計算する。これによりｎ個の点の各々の座標（Ｘ，Ｙ，Ｚ）が求められる。傾斜演算部１４は、ａｘ＋ｂｙ＋ｃｚ＋ｄと表される平面の式に、上記ｎ点の座標（Ｘ，Ｙ，Ｚ）を代入する。傾斜演算部１４は、最小二乗法（重回帰分析）により、係数ａ，ｂ，ｃ，ｄを計算する。計算により求められた係数（ａ，ｂ，ｃ）が、基準面の法線ベクトルを表す。
【００９９】
続いて三次元センサ１のＺ軸周りの回転角度θＺを求めることが可能な２通りの方法を例示する。
【０１００】
図２３は、三次元センサ１のＺ軸周りの回転角度θＺの第１の算出方法を説明するための模式図である。図２３を参照して、基準面５０上かつ、三次元センサ１のカメラ３の視野内に、基準対象物８０を設ける。基準対象物８０は、角度θＺの調整に用いられる。三次元センサ１のカメラが2次元画像として取得可能であれば、基準対象物８０は特に限定されない。基準対象物８０は、たとえばワーク、構造物、あるいはテクスチャ（模様）である。
【０１０１】
次に、基準対象物８０の回転傾きに基づいて、形状測定部１０の画像処理により角度θＺを取得する。第１の算出方法では、形状測定部１０は、三次元センサ１が取得した基準対象物８０の画像から、基準対象物８０の対向する２つの端面のそれぞれのエッジ８１，８２を抽出する。形状測定部１０は、その抽出されたエッジ８１，８２に直線のあてはめを行う。
【０１０２】
直線８３は、エッジ８１，８２から求められた直線であり、ａｘ＋ｂｙ＋ｃ＝０と表すことができる。形状測定部１０は、上記の直線の係数（ａ，ｂ，ｃ）を求める。形状測定部１０は、基準面５０上の基準直線８４に対する直線８３の傾き（＝ａ／ｂ）から角度θＺを求める。
【０１０３】
図２４は、三次元センサ１のＺ軸周りの回転角度θＺの第２の算出方法を説明するための模式図である。図１０に示すように、基準面５０上かつ、三次元センサ１のカメラ３の視野内に、角度θＺの調整のための基準対象物８０を設ける。第２の方法では、基準対象物８０の認識用モデル８５を用いる。形状測定部１０は、基準対象物８０の位置（座標（Ｘ，Ｙ））と傾き（角度θ）とを画像認識によって求める。具体的には、形状測定部１０は、三次元センサ１が取得した基準対象物８０の画像に、認識用モデル８５をフィットさせる。形状測定部１０は、認識用モデル８５の基準角度と、画像認識によって求められた認識用モデル８５の角度との差から回転角θＺを求める。
【０１０４】
本実施の形態において、インジケータ５は、種々の構成を有することができる。図２５は、本実施の形態に係るインジケータ５の１つの構成例を示した図である。図２５に示すように、インジケータ５の複数のＬＥＤ（発光素子）は、４つの発光素子グループに分けられる。各発光素子グループがインジケータとして機能する。具体的には、Ｘ軸と交わるセンサ筐体２の表面２Ａ（第１の面）にはインジケータ５Ａが配置される。Ｙ軸と交わるセンサ筐体２の表面２Ｂ（第２の面）にはインジケータ５Ｂ，５Ｄが配置される。Ｚ軸と交わるセンサ筐体２の表面２Ｃ（第３の面）にはインジケータ５Ｃが配置される。なお、インジケータ５Ｄは、センサ筐体２の表面２Ａ（第１の面）に配置されてもよい。
【０１０５】
インジケータ５Ａは、角度θＸを表示するためのインジケータである。インジケータ５Ｂは、角度θＹを表示するためのインジケータである。インジケータ５Ｃは、角度θＺを表示するためのインジケータである。インジケータ５Ｄは、基準面に対する三次元センサ１の高さ（Ｚ軸方向の距離）を表示するためのインジケータである。
【０１０６】
図２５に示した構成では、Ｘ軸、Ｙ軸、Ｚ軸の各々に対応するセンサ筐体２の表面にインジケータが配置される。ユーザから各発光素子グループへの視線の方向を、軸の方向に対応させることができる。したがってユーザは角度θＸ，θＹ，θＺおよび高さＺのいずれが基準からずれているかを直観的に判断することができる。
【０１０７】
図２５に示した例と同様に、インジケータ５Ａ，５Ｂ，５Ｃ，５Ｄの各々は、たとえば５つのＬＥＤを含むことができる。５つのＬＥＤは１つの緑色ＬＥＤと、緑色ＬＥＤの両側に配置された２つの黄色ＬＥＤと、２つの黄色ＬＥＤの各々の外側に配置された２つの赤色ＬＥＤとを含むことができる。緑色ＬＥＤは、計測値と指定値との差が第１の範囲内である場合に点灯する。黄色ＬＥＤは、計測値と指定値との差が第１の範囲より大きい第２の範囲内である場合に点灯する。赤色ＬＥＤは、計測値と指定値との差が第２の範囲を超える場合に点灯する。５つのＬＥＤのいずれが点灯するかにより、インジケータ５Ａ，５Ｂ，５Ｃ，５Ｄは、ユーザに、角度θＸ，θＹ，θＺおよび高さＺの基準からのずれの程度、および、ずれの範囲を表示する。
【０１０８】
図２６は、本実施の形態に係るインジケータ５の別の構成例を示した図である。図２５に示した構成と比較すると、図２６に示した構成では、インジケータ５は、センサ筐体２の１つの面にのみ配置される。これにより、角度θＸ，θＹ，θＺおよび高さＺの各々の基準からのずれの程度をユーザが一覧できる。したがって、三次元センサ１の配置を調整する際のユーザの作業性を高めることができる。
【０１０９】
なお、図２５に示したインジケータ５Ａ，５Ｂ，５Ｃ，５Ｄあるいは図２６に示したインジケータ５は、複数のＬＥＤ（発光素子）により、ずれのレベルを表示する。しかし、これらのインジケータにレベルメータを用いてもよい。
【０１１０】
図２７は、本実施の形態に係るインジケータ５のさらに別の構成例を示した図である。図２７に示すように、インジケータ５は、矢印および記号「±」を表示する。矢印は、ずれの方向を示す。記号「±」は、基準に対するずれの程度が、許容される範囲内（誤差の範囲内）であることを示す。図２７に示したインジケータ５によれば、簡単な表示により、Ｘ，Ｙ，Ｚの各方向の基準からのずれの程度をユーザが把握することができる。
【０１１１】
図２８は、本実施の形態に係るインジケータ５のさらに別の構成例を示した図である。図２８に示すように、インジケータ５は、たとえば液晶表示器である。インジケータ５は、角度θＸ，θＹ，θＺおよび高さＺの各々の基準からのずれを数値により表示する。
【０１１２】
さらにインジケータの構成は、上記の例示された構成に限定されない。たとえばインジケータは、音響（音の高さ、繰り返しの間隔等）により、Ｘ，Ｙ，Ｚの各方向の基準からのずれの程度をユーザに示してもよい。
【０１１３】
以上のように、三次元計測装置１００は、カメラと特定のパタンを投射するプロジェクタによって、対象物の３次元情報（高さ、形状）を取得する。ユーザは、インジケータの表示を参照することにより、三次元センサ１の光軸が所望の角度となるように、三次元センサ１の光軸をリアルタイムで調整することができる。これにより、三次元センサ１の光軸が基準面に対して鉛直となるように三次元センサ１を設置できる。したがって、計測対象のワークの高さおよび傾きを正確に計測することができる。
【０１１４】
ワークが置かれるコンベアあるいは移動ステージは、特定の傾斜面を有する場合がある。本実施の形態によれば、三次元センサ１が、その傾斜面に正対する（三次元センサ１の光軸が傾斜面に垂直となる）ように三次元センサ１を配置することができる。したがって、ワークが傾斜面に置かれる場合であっても、そのワークの高さを正確に計測することができる。
【０１１５】
また、本実施の形態に係る三次元センサ１は、たとえばロボットハンドに搭載することができる。本実施の形態によれば、三次元センサ１をロボットハンドに搭載した状態で基準面あるいはワークに正対するように、三次元センサ１を設置することができる。
【０１１６】
また、１つのセンサによりワークの形状を計測する場合、ワークの一部がセンサのカメラの視野の範囲から外れる可能性がある。このような問題を避けるために、複数のセンサを配置する場合がある。本実施の形態によれば、このような場合に、複数のセンサの間で、光軸の相対角度を確認することができる。
【０１１７】
＜付記＞
以上説明されるように、本実施の形態は、以下の開示を含む。
【０１１８】
（構成１）
計測対象フィールドに対応した仮想空間（３００）にセンサ（１，１Ａ，１Ｂ，１Ｃ）を配置するための前記センサ（１，１Ａ，１Ｂ，１Ｃ）の位置および姿勢の指定を受け付ける受付部（２１１）と、
前記センサ（１，１Ａ，１Ｂ，１Ｃ）が前記仮想空間（３００）に配置されると、前記センサ（１，１Ａ，１Ｂ，１Ｃ）が有する有効計測範囲情報に基づいて、前記仮想空間（３００）内における前記センサ（１，１Ａ，１Ｂ，１Ｃ）の有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出する計測範囲算出部（２１２）と、
前記仮想空間（３００）における前記センサ（１，１Ａ，１Ｂ，１Ｃ）の前記位置および前記姿勢の情報を出力する情報出力部（２１３）とを備え、
前記仮想空間（３００）に複数の前記センサ（１Ａ，１Ｂ，１Ｃ）が配置される場合、前記計測範囲算出部（２１２）は、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）の各々の前記有効計測範囲（６Ａ，６Ｂ，６Ｃ）を算出し、
前記情報出力部（２１３）は、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）のいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示する、シミュレーション装置（２００）。
【０１１９】
（構成２）
前記計測範囲算出部（２１２）は、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）の各々の前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）によって形成される合成計測範囲（７）を算出し、
前記情報出力部（２１３）は、前記合成計測範囲（７）を表示する、構成１に記載のシミュレーション装置（２００）。
【０１２０】
（構成３）
前記計測範囲算出部（２１２）は、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）のそれぞれの前記有効計測範囲（６Ａ，６Ｂ，６Ｃ）のうちの互いに重なり合う範囲を前記合成計測範囲（７）として算出する、構成２に記載のシミュレーション装置（２００）。
【０１２１】
（構成４）
前記計測範囲算出部（２１２）は、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）のうち少なくとも２つの前記有効計測範囲を足し合わせて、前記合成計測範囲（７）を算出する、構成２に記載のシミュレーション装置（２００）。
【０１２２】
（構成５）
前記受付部（２１１）は、前記計測対象フィールドにおいて前記センサが測定すべき物体（８）を表現するＣＡＤデータを受け付け、
前記計測範囲算出部（２１２）は、前記センサ（１，１Ａ，１Ｂ，１Ｃ）が前記物体（８）を計測する際における前記センサ（１，１Ａ，１Ｂ，１Ｃ）による前記物体（８）の計測可能範囲（８，８Ａ，８Ｂ，８Ｃ）を算出し、
前記情報出力部（２１３）は、前記センサ（１，１Ａ，１Ｂ，１Ｃ）の前記計測可能範囲を表示する、構成１から構成４のいずれか１項に記載のシミュレーション装置（２００）。
【０１２３】
（構成６）
前記受付部（２１１）は、さらに、前記計測対象フィールドに前記物体（８）とともに存在する構造物（９）を表現するデータを受け付けて、
前記計測範囲算出部（２１２）は、前記構造物（９）と前記物体（８）との位置の関係に基づいて、前記センサ（１，１Ａ，１Ｂ，１Ｃ）の計測可能範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するとともに、前記物体の計測可能範囲（８，８Ａ，８Ｂ，８Ｃ）を算出する、構成５に記載のシミュレーション装置（２００）。
【０１２４】
（構成７）
計測対象フィールドに対応した仮想空間（３００）にセンサ（１，１Ａ，１Ｂ，１Ｃ）を配置するための前記センサ（１，１Ａ，１Ｂ，１Ｃ）の位置および姿勢の指定をコンピュータ（２００）が受け付けるステップと、
前記コンピュータ（２００）が、前記仮想空間（３００）に配置されたセンサ（１，１Ａ，１Ｂ，１Ｃ）が有する有効計測範囲情報に基づいて、前記仮想空間（３００）内における前記センサ（１，１Ａ，１Ｂ，１Ｃ）の有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するステップと、
前記コンピュータ（２００）が、前記仮想空間（３００）における前記センサ（１，１Ａ，１Ｂ，１Ｃ）の前記位置および前記姿勢の情報を出力するステップとを備え、
前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するステップは、
前記仮想空間（３００）に複数の前記センサ（１Ａ，１Ｂ，１Ｃ）が配置される場合に、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）の各々の前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するステップを含み、
前記出力するステップは、
前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）のいずれかの前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を、他の前記センサの前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）とは異なる態様で表示するステップを含む、シミュレーション方法。
【０１２５】
（構成８）
コンピュータ（２００）に、
計測対象フィールドに対応した仮想空間（３００）にセンサ（１，１Ａ，１Ｂ，１Ｃ）を配置するための前記センサ（１，１Ａ，１Ｂ，１Ｃ）の位置および姿勢の指定を受け付けるステップと、
前記仮想空間（３００）に配置されたセンサ（１，１Ａ，１Ｂ，１Ｃ）が有する有効計測範囲情報に基づいて、前記仮想空間（３００）内における前記センサ（１，１Ａ，１Ｂ，１Ｃ）の有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するステップと、
前記仮想空間（３００）における前記センサ（１，１Ａ，１Ｂ，１Ｃ）の前記位置および前記姿勢の情報を出力するステップとを実行させ、
前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するステップは、
前記仮想空間（３００）に複数の前記センサ（１Ａ，１Ｂ，１Ｃ）が配置される場合に、前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）の各々の前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を算出するステップを含み、
前記出力するステップは、
前記複数のセンサ（１Ａ，１Ｂ，１Ｃ）のいずれかの前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）を、他の前記センサの前記有効計測範囲（６，６Ａ，６Ｂ，６Ｃ）とは異なる態様で表示するステップを含む、プログラム。
【０１２６】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
【符号の説明】
【０１２７】
１，１Ａ，１Ｂ，１Ｃ  三次元センサ、２  センサ筐体、２Ａ，２Ｂ，２Ｃ  表面、３  カメラ、４  プロジェクタ、５，５Ａ，５Ｂ，５Ｃ，５Ｄ  インジケータ、６，６Ａ，６Ｂ，６Ｃ  有効計測範囲、７  合成計測範囲、８  計測対象、８Ａ，８Ｂ，８Ｃ  計測可能範囲、９  コンテナ、１０  形状測定部、１１  パタン生成部、１２  パタン検出部、１３  三次元形状取得部、１４  傾斜演算部、１５  角度範囲指定部、１６  基準領域設定部、２１，２６  緑色ＬＥＤ、２２，２３，２７，２８  黄色ＬＥＤ，２４，２５，２９，３０  赤色ＬＥＤ、５０  基準面、５１，５２，５３，５４，７１，７２，７３，Ｐ，Ｑ，Ｒ  領域、６０  ディスプレイ、７０  画像、８０  基準対象物、８１，８２  エッジ、８３  直線、８４  基準直線、８５  認識用モデル、１００  三次元計測装置、２００  シミュレーション装置、２０１  ＣＰＵ、２０２  通信装置、２０３  メモリ、２０４  入力装置、２０５  表示装置、２０６  内部バス、２１１  角度設定部、２１２  計測範囲算出部、２１３  計測範囲表示部、３００  仮想空間、ＰＱ，ＰＲ  ベクトル、Ｓ１０〜Ｓ２０  ステップ、Ｗ  ワーク。
【図１】
2019207153.tif 000003
【図２】
2019207153.tif 000004
【図３】
2019207153.tif 000005
【図４】
2019207153.tif 000006
【図５】
2019207153.tif 000007
【図６】
2019207153.tif 000008
【図７】
2019207153.tif 000009
【図８】
2019207153.tif 000010
【図９】
2019207153.tif 000011
【図１０】
2019207153.tif 000012
【図１１】
2019207153.tif 000013
【図１２】
2019207153.tif 000014
【図１３】
2019207153.tif 000015
【図１４】
2019207153.tif 000016
【図１５】
2019207153.tif 000017
【図１６】
2019207153.tif 000018
【図１７】
2019207153.tif 000019
【図１８】
2019207153.tif 000020
【図１９】
2019207153.tif 000021
【図２０】
2019207153.tif 000022
【図２１】
2019207153.tif 000023
【図２２】
2019207153.tif 000024
【図２３】
2019207153.tif 000025
【図２４】
2019207153.tif 000026
【図２５】
2019207153.tif 000027
【図２６】
2019207153.tif 000028
【図２７】
2019207153.tif 000029
【図２８】
2019207153.tif 000030