特開2019-207153(P2019-207153A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧
特開2019-207153シミュレーション装置、シミュレーション方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2019-207153(P2019-207153A)
(43)【公開日】2019年12月5日
(54)【発明の名称】シミュレーション装置、シミュレーション方法およびプログラム
(51)【国際特許分類】
   G01B 11/25 20060101AFI20191108BHJP
   G06T 7/521 20170101ALI20191108BHJP
【FI】
   G01B11/25 H
   G06T7/521
【審査請求】未請求
【請求項の数】8
【出願形態】OL
【全頁数】24
(21)【出願番号】特願2018-102411(P2018-102411)
(22)【出願日】2018年5月29日
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】飯田 豊男
【テーマコード(参考)】
2F065
5L096
【Fターム(参考)】
2F065AA04
2F065AA17
2F065AA24
2F065AA37
2F065AA53
2F065BB05
2F065DD03
2F065FF04
2F065FF07
2F065FF09
2F065FF61
2F065HH06
2F065HH07
2F065JJ03
2F065JJ26
2F065MM03
2F065PP12
2F065PP15
2F065QQ13
2F065QQ18
2F065QQ31
2F065QQ38
2F065QQ42
2F065SS12
2F065SS13
5L096AA09
5L096BA05
5L096CA05
5L096CA17
5L096CA22
5L096DA02
5L096DA05
5L096FA32
5L096FA60
5L096FA66
5L096FA67
5L096FA69
(57)【要約】
【課題】センサの計測範囲を容易に把握できるシミュレーション装置を提供する。
【解決手段】シミュレーション装置200は、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定を受け付けるセンサ位置/角度設定部211と、センサが仮想空間に配置されると、センサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出する計測範囲算出部212と、仮想空間におけるセンサの位置および姿勢の情報を出力する計測範囲表示部213とを備える。
【選択図】図3
【特許請求の範囲】
【請求項1】
計測対象フィールドに対応した仮想空間にセンサを配置するための前記センサの位置および姿勢の指定を受け付ける受付部と、
前記センサが前記仮想空間に配置されると、前記センサが有する有効計測範囲情報に基づいて、前記仮想空間内における前記センサの有効計測範囲を算出する計測範囲算出部と、
前記仮想空間における前記センサの前記位置および前記姿勢の情報を出力する情報出力部とを備え、
前記仮想空間に複数の前記センサが配置される場合、前記計測範囲算出部は、前記複数のセンサの各々の前記有効計測範囲を算出し、
前記情報出力部は、前記複数のセンサのいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示する、シミュレーション装置。
【請求項2】
前記計測範囲算出部は、前記複数のセンサの各々の前記有効計測範囲によって形成される合成計測範囲を算出し、
前記情報出力部は、前記合成計測範囲を表示する、請求項1に記載のシミュレーション装置。
【請求項3】
前記計測範囲算出部は、前記複数のセンサのそれぞれの前記有効計測範囲のうちの互いに重なり合う範囲を前記合成計測範囲として算出する、請求項2に記載のシミュレーション装置。
【請求項4】
前記計測範囲算出部は、前記複数のセンサのうち少なくとも2つの前記有効計測範囲を足し合わせて、前記合成計測範囲を算出する、請求項2に記載のシミュレーション装置。
【請求項5】
前記受付部は、前記計測対象フィールドにおいて前記センサが測定すべき物体を表現するCADデータを受け付け、
前記計測範囲算出部は、前記センサが前記物体を計測する際における前記センサによる前記物体の計測可能範囲を算出し、
前記情報出力部は、前記センサの前記計測可能範囲を表示する、請求項1から請求項4のいずれか1項に記載のシミュレーション装置。
【請求項6】
前記受付部は、さらに、前記計測対象フィールドに前記物体とともに存在する構造物を表現するデータを受け付けて、
前記計測範囲算出部は、前記構造物と前記物体との位置の関係に基づいて、前記センサの計測可能範囲を算出するとともに、前記物体の計測可能範囲を算出する、請求項5に記載のシミュレーション装置。
【請求項7】
計測対象フィールドに対応した仮想空間にセンサを配置するための前記センサの位置および姿勢の指定をコンピュータが受け付けるステップと、
前記コンピュータが、前記仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、前記仮想空間内における前記センサの有効計測範囲を算出するステップと、
前記コンピュータが、前記仮想空間における前記センサの前記位置および前記姿勢の情報を出力するステップとを備え、
前記有効計測範囲を算出するステップは、
前記仮想空間に複数の前記センサが配置される場合に、前記複数のセンサの各々の前記有効計測範囲を算出するステップを含み、
前記出力するステップは、
前記複数のセンサのいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示するステップを含む、シミュレーション方法。
【請求項8】
コンピュータに、
計測対象フィールドに対応した仮想空間にセンサを配置するための前記センサの位置および姿勢の指定を受け付けるステップと、
前記仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、前記仮想空間内における前記センサの有効計測範囲を算出するステップと、
前記仮想空間における前記センサの前記位置および前記姿勢の情報を出力するステップとを実行させ、
前記有効計測範囲を算出するステップは、
前記仮想空間に複数の前記センサが配置される場合に、前記複数のセンサの各々の前記有効計測範囲を算出するステップを含み、
前記出力するステップは、
前記複数のセンサのいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示するステップを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はシミュレーション装置、シミュレーション方法およびプログラムに関し、特に、センサの計測範囲をシミュレーションするための装置、方法およびプログラムに関する。
【背景技術】
【0002】
プロジェクタとカメラとを備え、三角測量の原理を用いて対象物体に関する三次元情報を取得する装置が知られている。そのような三次元計測装置は、たとえば製品の組立のために部品をピックアップするロボットのアームに取り付けられる。
【0003】
ロボットピッキング用あるいは計測用の三次元計測装置の数が1台のみである場合、以下に示す課題がある。第1に、3Dデータ(点群)の密度不足により、計測精度が不足する可能性、あるいは対象物体の認識に失敗する可能性がある。第2に、カメラあるいはプロジェクタの影に起因して計測不能な領域が発生することにより、三次元データに欠損が生じる可能性がある。第3に、計測視野の範囲が不足する可能性がある。
【0004】
このような課題を解決するための技術が提案されている。たとえば特開2016−99257号公報(特許文献1)は、ロボットを動かして対象物体の計測位置を移動させることにより、ロボットのアームに取り付けられた三次元センサが複数の計測位置において対象物体を撮影することを開示する。たとえば特開2006−349586号公報(特許文献2)は、複数台の三次元センサにより対象物体を撮影することを開示する。複数台の三次元センサを用いる場合、三次元計測の精度を確保するために、ユーザは、計測対象物が含まれる範囲あるいは計測対象物が取り得る高さの範囲に基づいて、各カメラの位置関係を調整する必要がある。特開2006−349586号公報(特許文献2)は、各カメラが計測目的に応じた状態に設定されたことをユーザが確認することが可能な画像処理方法を開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2016−99257号公報
【特許文献2】特開2006−349586号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特開2016−99257号公報に開示された情報処理装置は、カメラの画像から対象物体が遮蔽される隠れ領域を算出して、その隠れ領域に基づいて三次元センサを移動させる。遮蔽の少ない領域を探索するために、対象物体の位置あるいは姿勢の計測に時間を要する可能性がある。さらに、三次元センサを移動させたときの三次元センサの有効視野の変化を把握することができない。
【0007】
特開2006−349586号公報に開示された三次元計測装置は、各カメラからの画像ごとに、指定された高さ範囲にある点のうち、双方のカメラの視野に含まれる点が現れる範囲を抽出する。さらに、三次元計測装置は、抽出した範囲を計測可能範囲として、画像上に着色表示する。したがってユーザは、基準となるカメラの計測領域が、他のカメラの視野のうちのどの領域に対応しているかを把握することができる。しかし、この方法では、基本的に、カメラの視野方向の情報(すなわち対象物体の上方から下方を見た状態での情報)しか得ることができない。したがって、立体的な情報を得ることが難しい。
【0008】
本発明の目的は、センサの計測範囲を容易に把握できるシミュレーション装置、シミュレーション方法およびプログラムを提供することである。
【課題を解決するための手段】
【0009】
本開示の一例によれば、シミュレーション装置は、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定を受け付ける受付部と、センサが仮想空間に配置されると、センサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出する計測範囲算出部と、仮想空間におけるセンサの位置および前記姿勢の情報を出力する情報出力部とを備える。仮想空間に複数のセンサが配置される場合、計測範囲算出部は、複数のセンサの各々の有効計測範囲を算出する。情報出力部は、複数のセンサのいずれかの有効計測範囲を、他のセンサの有効計測範囲とは異なる態様で表示する。
【0010】
この開示によれば、たとえば個々のセンサの有効計測範囲を把握することができる。したがって、複数のセンサの有効計測範囲を容易に把握できる。
【0011】
上述の開示において、計測範囲算出部は、複数のセンサの各々の有効計測範囲によって形成される合成計測範囲を算出する。情報出力部は、合成計測範囲を表示する。
【0012】
この開示によれば、複数のセンサの有効計測範囲を合成することによって形成された合成計測範囲を容易に把握できる。なお「合成計測範囲」は、複数のセンサの有効計測範囲のうち共通する部分であってもよく、複数のセンサの有効計測範囲を足し合わせた範囲であってもよい。
【0013】
上述の開示において、計測範囲算出部は、複数のセンサのそれぞれの有効計測範囲のうちの互いに重なり合う範囲を合成計測範囲として算出する。
【0014】
この開示によれば、ユーザーは、複数のセンサの有効計測範囲のうち共通する部分によって形成された合成計測範囲を把握することができる。
【0015】
上述の開示において、計測範囲算出部は、複数のセンサのうち少なくとも2つの有効計測範囲を足し合わせて、合成計測範囲を算出する。
【0016】
この開示によれば、ユーザーは、複数のセンサの有効計測範囲を足し合わせることによって形成された合成計測範囲を把握することができる。なお、複数のセンサのすべての有効計測範囲を足し合わせる必要はなく、複数のセンサの中から選択された特定のセンサの有効計測範囲を足し合わせることにより合成計測範囲を算出してもよい。
【0017】
上述の開示において、受付部は、計測対象フィールドにおいてセンサが測定すべき物体を表現するCADデータを受け付ける。計測範囲算出部は、センサが物体を計測する際におけるセンサによる物体の計測可能範囲を算出する。情報出力部は、センサの計測可能範囲を表示する。
【0018】
この開示によれば、計測対象フィールドに物体(計測対象物)が配置された場合のセンサの計測可能な範囲を予め把握することができる。
【0019】
上述の開示において、受付部は、さらに、計測対象フィールドに物体とともに存在する構造物を表現するデータを受け付ける。計測範囲算出部は、構造物と物体との位置の関係に基づいて、センサの計測可能範囲を算出するとともに、物体の計測可能範囲を算出する。
【0020】
この開示によれば、計測対象フィールドに物体とともに構造物(たとえば物体を収容する容器)が配置された場合のセンサの計測可能な範囲を予め把握することができる。
【0021】
本開示の一例によれば、シミュレーション方法は、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定をコンピュータが受け付けるステップと、コンピュータが、仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出するステップと、コンピュータが、仮想空間におけるセンサの位置および姿勢の情報を出力するステップとを備える。有効計測範囲を算出するステップは、仮想空間に複数のセンサが配置される場合に、複数のセンサの各々の有効計測範囲を算出するステップを含む。出力するステップは、複数のセンサのいずれかの有効計測範囲を、他のセンサの前記有効計測範囲とは異なる態様で表示するステップを含む。
【0022】
この開示によれば、センサの計測範囲を容易に把握できる。
本開示の一例によれば、プログラムは、コンピュータに、計測対象フィールドに対応した仮想空間にセンサを配置するためのセンサの位置および姿勢の指定を受け付けるステップと、仮想空間に配置されたセンサが有する有効計測範囲情報に基づいて、仮想空間内におけるセンサの有効計測範囲を算出するステップと、仮想空間におけるセンサの位置および姿勢の情報を出力するステップとを実行させる。有効計測範囲を算出するステップは、仮想空間に複数のセンサが配置される場合に、複数のセンサの各々の有効計測範囲を算出するステップを含む。出力するステップは、複数のセンサのいずれかの有効計測範囲を、他のセンサの前記有効計測範囲とは異なる態様で表示するステップを含む。
【発明の効果】
【0023】
本発明によれば、センサの計測範囲を容易に把握できる。
【図面の簡単な説明】
【0024】
図1】複数の三次元センサを備えた三次元計測装置の構成例を模式的に示す図である。
図2】本実施の形態に係るシミュレーション装置のハードウェアの構成を説明する図である。
図3】本実施の形態に係るシミュレーション装置の機能を説明するブロック図である。
図4】三次元センサの有効計測範囲を説明する模式図である。
図5】3つの三次元センサの有効計測範囲を説明する模式図である。
図6】3つの三次元センサの配置の第1の例を説明する図である。
図7】3つの三次元センサの配置の第2の例を説明する図である。
図8】本実施の形態に係るシミュレーション装置による、センサの位置の設定を説明するための図である。
図9】本実施の形態に係るシミュレーション装置による、三次元センサ1の計測領域のシミュレーションを説明するための図である。
図10】本実施の形態に係るシミュレーション装置による計測範囲のシミュレーションの第1の例を説明する図である。
図11】本実施の形態に係るシミュレーション装置による計測範囲のシミュレーションの第2の例を説明する図である。
図12】本実施の形態に係るシミュレーション装置の第1の応用例を示した図である。
図13】本実施の形態に係るシミュレーション装置の第2の応用例を示した図である。
図14】本実施の形態に係るシミュレーション装置の第3の応用例を示した図である。
図15】本実施の形態に係るシミュレーション装置の第4の応用例を示した図である。
図16】本実施の形態に係る三次元センサの調整を説明した模式図である。
図17】本実施の形態に係る三次元計測装置の機能ブロック図である。
図18】一例に係る濃淡パタンの一部分を示した部分図である。
図19図18に示す濃淡パタンの一部分を拡大した部分拡大図である。
図20】基準面に対する三次元センサの傾きを算出する処理のフローを示したフローチャートである。
図21】基準面の法線ベクトルの第1の算出方法を説明するための模式図である。
図22】基準面の法線ベクトルの第2の算出方法を説明するための模式図である。
図23】三次元センサ1のZ軸周りの回転角度の第1の算出方法を説明するための模式図である。
図24】三次元センサ1のZ軸周りの回転角度の第2の算出方法を説明するための模式図である。
図25】本実施の形態に係るインジケータの1つの構成例を示した図である。
図26】本実施の形態に係るインジケータの別の構成例を示した図である。
図27】本実施の形態に係るインジケータのさらに別の構成例を示した図である。
図28】本実施の形態に係るインジケータのさらに別の構成例を示した図である。
【発明を実施するための形態】
【0025】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0026】
<適用例>
図1は、複数の三次元センサを備えた三次元計測装置の構成例を模式的に示す図である。図1に示すように、三次元計測装置100は、工業製品の生産ラインなどにおいて、ワークWを照明しながら撮影し、得られた撮影画像を用いてワークWの三次元形状を測定する。
【0027】
三次元計測装置100は、三次元センサ1A,1B,1Cと、形状測定部10とを備える。三次元センサ1A,1B,1Cは、互いに異なる方向からワークWを撮像する。これにより、複数の異なる視点からワークWを見たときのワークWの画像が得られる。形状測定部10は、三次元センサ1A,1B,1Cの各々から画像データを取得し、それらの画像データを重ね合わせることにより、三次元データ(点群)を取得する。形状測定部10は、その三次元データに基づいて、三次元計測あるいは三次元形状の認識を行う。
【0028】
図1に示した構成では、三次元計測装置100は、複数の三次元センサを備えることによって、複数の異なる視点からワークWの画像を得る。しかしながら、三次元計測装置100は、1台の三次元センサを備え、その三次元センサの位置および姿勢を変化させて、複数の画像データを取得してもよい。
【0029】
ワークWを撮像するに先立って、複数台の三次元センサの位置が調整される。本実施の形態によれば、三次元センサの計測範囲を算出することが可能なシミュレーション装置が提供される。シミュレーション装置は、仮想空間上で三次元センサの位置を変化させることができるとともに、その三次元センサの計測範囲を算出する。
【0030】
図2は、本実施の形態に係るシミュレーション装置200のハードウェアの構成を説明する図である。図2に示されるように、シミュレーション装置200は、コンピュータであって、CPU(Central Processing Unit)201と、通信装置202と、メモリ203と、入力装置204と、表示装置205と、内部バス206とを含む。
【0031】
メモリ203は、シミュレーション装置200におけるシミュレーション処理を実行するための各種プログラムを格納している。CPU201は、シミュレーション装置200の全体を制御する。CPU201は、さらに、メモリ203に格納されているプログラムを実行することにより各種の機能を実現する。このプログラムは、仮想空間内において三次元センサの位置および姿勢を変化させたときの三次元センサの計測範囲を算出するためのプログラムを含む。
【0032】
入力装置204は、ユーザの入力を受け付ける装置であり、たとえばキーボード、マウス等を含む。通信装置202は、図示しないケーブルあるいはネットワーク等を介して、外部と通信するための装置である。
【0033】
表示装置205は、シミュレーション装置200により実行されたシミュレーションの結果を含む各種の情報を表示する装置である。たとえば表示装置205は、液晶ディスプレイである。
【0034】
内部バス206は、各部と接続され、各部のデータの授受を実行する。
図3は、本実施の形態に係るシミュレーション装置200の機能を説明するブロック図である。シミュレーション装置200は、CPU201がメモリ203に格納されているプログラムを実行することにより各種の機能ブロックを実現する。
【0035】
図3に示されるように、シミュレーション装置200は、センサ位置/角度設定部211と、計測範囲算出部212と、計測範囲表示部213とを含む。
【0036】
センサ位置/角度設定部211は、ユーザによって指定される三次元センサの位置および角度を受け付ける指定受付部である。詳細には、センサ位置/角度設定部211は、計測対象フィールドに対応した仮想空間に、三次元センサを仮想的に配置するための三次元センサの位置の指定を受け付ける。計測対象フィールドとは、三次元センサ1A,1B,1Cが配置される空間である(図1を参照)。
【0037】
計測範囲算出部212は、三次元センサが仮想空間に配置されると、三次元センサが有する有効計測範囲情報に基づいて、仮想空間内における三次元センサの有効計測範囲を算出する。
【0038】
計測範囲表示部213は、仮想空間における三次元センサの位置および姿勢の情報を出力する情報出力部である。
【0039】
仮想空間に複数の三次元センサが配置される場合、計測範囲算出部212は、複数の三次元センサの各々の有効計測範囲を算出する。さらに計測範囲算出部212は、複数の三次元センサの各々の有効計測範囲によって形成される合成計測範囲を算出する。
【0040】
計測範囲表示部213は、複数の三次元センサのいずれかの有効計測範囲を、他の三次元センサの有効計測範囲とは異なる態様で表示する。たとえば計測範囲表示部213は、複数の有効計測範囲を互いに異なる色によって表示する。さらに計測範囲表示部213は、合成計測範囲を表示する。すなわち、計測範囲表示部213は、三次元センサの計測範囲および計測範囲をユーザに表示するためのユーザインタフェースを提供する。
【0041】
以下に、本実施の形態に係るシミュレーション装置200による三次元センサの計測範囲の算出および表示を説明する。なお、三次元センサ1A,1B,1Cのうちのすべてについて同じ説明が成り立つ場合、三次元センサ1A,1B,1Cを「三次元センサ1」と総称する。
【0042】
<三次元センサの有効計測範囲>
図4は、三次元センサの有効計測範囲を説明する模式図である。図4に示すように、三次元センサ1の有効計測範囲6は、立体的な範囲であり、6つのパラメータ(Hmin,Hmax,Wmin,Wmax,Dmin,Dmax)によって表現可能である。下記に説明する6つのパラメータは、三次元センサ1が有する有効計測範囲情報に相当する。
【0043】
Hmin,Hmaxは、三次元センサ1を基準とした、高さ方向のパラメータである。Hminは、有効計測範囲6の最小高さを表すパラメータであり、Hmaxは、有効計測範囲6の最大高さを表すパラメータである。
【0044】
Wmin,Wmaxは有効計測範囲6の幅方向のパラメータであり、Dmin,Dmaxは有効計測範囲6の奥行方向のパラメータである。なお、三次元センサ1からの高さがHminであるときに、有効計測範囲6の幅方向の大きさがWminであり、有効計測範囲6の奥行方向の大きさがDminである。三次元センサ1からの高さがHmaxであるときに、有効計測範囲6の幅方向の長さがWmaxであり、有効計測範囲6の奥行方向の大きさがDmaxである。
【0045】
シミュレーション装置200において、三次元センサ1の仮想空間内の位置および三次元センサ1の傾きが設定されることにより、これらのパラメータの値を決定することができる。
【0046】
図5は、3つの三次元センサの有効計測範囲を説明する模式図である。図5に示すように、三次元センサ1A,1B,1Cは、それぞれ有効計測範囲6A,6B,6Cを有する。三次元センサごとに有効計測範囲の大きさが異なっていてもよく、三次元センサ1A,1B,1Cの間で有効計測範囲の大きさが同じであってもよい。上記のように、各々の有効計測範囲は、各三次元センサの有効計測範囲情報に従って定められる。
【0047】
図6は、3つの三次元センサの配置の第1の例を説明する図である。図6に示すように、有効計測範囲6A,6B,6Cが互いに重なり合うように三次元センサ1A,1B,1Cの計測方向が設定される。3つの有効計測範囲が互いに重なり合う部分が合成計測範囲として選ばれる。3つの有効計測範囲が互いに重なり合う部分が大きいほど、その部分において三次元データ(点群)の密度を高くすることができる。したがって計測精度が不足する可能性、あるいは対象物体の認識が失敗する可能性を下げることができる。
【0048】
図7は、3つの三次元センサの配置の第2の例を説明する図である。図7に示すように、有効計測範囲6A,6Bの一部どうしが重なり合うとともに、有効計測範囲6A,6Cの一部どうしが重なり合うように、三次元センサ1A,1B,1Cの傾きが設定される。有効計測範囲6A,6B,6Cを足し合わせた範囲が合成計測範囲として選ばれる。計測可能な範囲が広がることにより、カメラあるいはプロジェクタの影に起因して計測不能な領域が発生するという可能性、あるいは計測視野の範囲が不足する可能性を低減することができる。
【0049】
<シミュレーション装置の動作>
図8は、本実施の形態に係るシミュレーション装置200による、センサの位置の設定を説明するための図である。図8に示すように、センサ位置/角度設定部211は、ユーザからの入力(たとえばマウス操作による入力)を受け付ける。センサ位置/角度設定部211は、ユーザからの入力に従って、仮想空間300に三次元センサ1を配置するとともに、三次元センサ1の仮想空間300内での位置、および三次元センサ1の角度を設定する。計測範囲算出部212は、三次元センサ1の有効計測範囲6を算出する。
【0050】
計測範囲表示部213は、センサ位置/角度設定部211により設定された三次元センサ1の位置および角度に従って、仮想空間300上に配置された三次元センサ1を表示するとともに、三次元センサ1の有効計測範囲6を表示する。
【0051】
ユーザのマウス操作により、センサ位置/角度設定部211は、仮想空間300での三次元センサ1の位置を示す座標値、および三次元センサ1の傾きを示す角度を変更する。計測範囲算出部212は、三次元センサ1の有効計測範囲6を更新する。計測範囲表示部213は、仮想空間300のXZ面あるいはYZ面内で三次元センサ1の位置あるいは傾きが変化するように三次元センサ1を表示する。なお、X方向は、三次元センサ1の有効計測範囲6の幅方向に対応し、Y方向は有効計測範囲6の奥行方向に対応し、Z方向は、有効計測範囲6の高さ方向に対応する。
【0052】
図9は、本実施の形態に係るシミュレーション装置200による、三次元センサ1の計測領域のシミュレーションを説明するための図である。図9に示すように、3つの三次元センサ1A,1B,1Cが仮想空間300に配置される。計測範囲算出部212は、三次元センサ1A,1B,1Cのそれぞれの有効計測範囲6A,6B,6Cを算出する。
【0053】
計測範囲表示部213は、三次元センサ1A,1B,1Cの各々の位置および姿勢を表示する。計測範囲表示部213は、さらに、有効計測範囲6A,6B,6Cを表示する。たとえば有効計測範囲6A,6B,6Cは、互いに異なる色により表示される。
【0054】
計測範囲表示部213は、さらに、有効計測範囲6A,6B,6Cによって形成される、仮想空間300内の合成計測範囲を表示する。一実施形態では、計測範囲表示部213は、XZ面、YZ面およびXY面の各々に射影された有効計測範囲および合成計測範囲を表示する。
【0055】
図10は、本実施の形態に係るシミュレーション装置200による計測範囲のシミュレーションの第1の例を説明する図である。図10を参照して、計測範囲算出部212は、有効計測範囲6A,6B,6Cの各々の情報(パラメータHmin,Hmax,Wmin,Wmax,Dmin,Dmax)に基づいて、合成計測範囲7を算出する。合成計測範囲7は、有効計測範囲6A,6B,6Cの論理積(AND)を演算することによって算出される。すなわち合成計測範囲7は、有効計測範囲6A,6B,6Cがすべて重なり合う部分である。この例では、合成計測範囲7における点群密度は、三次元センサ1A,1B,1Cの各々の有効計測範囲における点群密度の3倍となる。
【0056】
計測範囲表示部213は、三次元センサ1A,1B,1Cのそれぞれの有効計測範囲6A,6B,6Cを表示するとともに合成計測範囲7を有効計測範囲6A,6B,6Cに重ねて表示する。合成計測範囲7は、有効計測範囲6A,6B,6Cのいずれの色とも異なる色で表示されてもよい。
【0057】
計測範囲表示部213は、さらに三次元センサ1A(図10では「センサA」と表記)に対する三次元センサ1B,1Cの相対位置を表示することができる。相対位置は、計測範囲算出部212によって算出される。具体的には、計測範囲表示部213は、三次元センサ1B,1C(図10では「センサB」、「センサC」とそれぞれ表記)のX座標、Y座標、Z座標、ヨー角、ピッチ角およびロール角を表示してもよい。たとえば三次元センサ1BのX座標、Y座標、Z座標、ヨー角、ピッチ角およびロール角は、(XB,YB,ZB,YawB,PichB,RollB)と表される。三次元センサ1CのX座標、Y座標、Z座標、ヨー角、ピッチ角およびロール角は、(XC,YC,ZC,YawC,PichC,RollC)と表される。
【0058】
図11は、本実施の形態に係るシミュレーション装置200による計測範囲のシミュレーションの第2の例を説明する図である。図11を参照して、合成計測範囲7は、有効計測範囲6A,6B,6Cの論理和(OR)を演算することによって形成される。この例では、有効計測範囲6A,6B,6Cのすべての論理和(OR)によって合成計測範囲7が算出される。しかし、有効計測範囲6A,6B,6Cのうち選択された2つの有効計測範囲の論理和によって合成計測範囲7が算出されてもよい。すべての三次元センサの有効計測範囲の論理和を生成すると限定されない。
【0059】
計測範囲表示部213は、三次元センサ1A,1B,1Cのそれぞれの有効計測範囲6A,6B,6Cを表示するとともに合成計測範囲7を有効計測範囲6A,6B,6Cに重ねて表示する。さらに、計測範囲表示部213は、さらに、三次元センサ1Aに対する三次元センサ1B,1Cの相対位置を表示することができる。
【0060】
<シミュレーション装置の応用例>
図12は、本実施の形態に係るシミュレーション装置200の第1の応用例を示した図である。図12に示すように、シミュレーション装置200は、計測対象8のCADデータを取り込み、仮想空間300に三次元センサ1とともに計測対象8を配置することができる。シミュレーション装置200は、三次元センサ1の有効計測範囲6に基づいて、計測対象8における、センサ1の計測可能範囲8Aを算出するとともに、その計測可能範囲8Aを計測対象8に重ねて表示する。
【0061】
この場合、図2に示すセンサ位置/角度設定部211が計測対象8のCADデータを受け付けてもよい。計測範囲算出部212が、三次元センサ1が計測対象8を計測する際における三次元センサ1の計測可能範囲8Aを算出する。計測範囲表示部213は、三次元センサ1および三次元センサ1の有効計測範囲6を表示するとともに、計測対象8および計測可能範囲8Aを表示する。実際に計測対象8を三次元センサ1によって計測するに先立ち、シミュレーションによって、センサ1の計測可能範囲8Aに関する情報を得ることができる。
【0062】
図13は、本実施の形態に係るシミュレーション装置200の第2の応用例を示した図である。図13に示すように、仮想空間300に複数の三次元センサが配置されてもよい。シミュレーション装置200は三次元センサ1A,1B,1Cのそれぞれの有効計測範囲6A,6B,6Cに基づいて、計測可能範囲8A,8B,8Cを算出する。計測可能範囲8Aは、三次元センサ1Aにより計測可能な範囲であり、計測可能範囲8Bは、三次元センサ1Bにより計測可能な範囲であり、計測可能範囲8Cは、三次元センサ1Cにより計測可能な範囲である。三次元センサ1A,1B,1Cによって計測可能な計測対象8の範囲は、計測可能範囲8A,8B,8Cを足し合わせた範囲である。
【0063】
図13には示されていないが、複数個の計測対象が仮想空間300に配置されてもよい。この場合、シミュレーション装置200は、複数個の計測対象の各々のCADデータを取り込むとともに、そのCADデータの和集合を生成してもよい。CADデータの和集合に対して、図12あるいは図13に示した方法と同じ方法を用いることにより、シミュレーション装置200は、1または複数の三次元センサの計測可能範囲を算出することができる。
【0064】
図14は、本実施の形態に係るシミュレーション装置200の第3の応用例を示した図である。図15は、本実施の形態に係るシミュレーション装置200の第4の応用例を示した図である。図14および図15に示すように、第3および第4の応用例では、シミュレーション装置200は、コンテナ9に収められた計測対象8の計測範囲をシミュレーションする。第1および第2の応用例と同様に、シミュレーション装置200は、計測対象8およびコンテナ9の各々のCADデータを取り込み、仮想空間300において計測対象8およびコンテナ9を配置する。三次元センサ1A,1B,1Cのそれぞれの有効計測範囲6A,6B,6Cから、計測可能範囲8A,8B,8Cが算出される。
【0065】
計測対象8の計測範囲は、コンテナ9の深さに依存する。シミュレーション装置200(より特定的には、計測範囲算出部212)はコンテナ9の深さをパラメータとして計測可能範囲を算出することができる。
【0066】
図14には、コンテナ9が深い場合の計測対象8の計測範囲の例を示す。図15には、コンテナ9が浅い場合の計測対象8の計測範囲の例を示す。このように、本実施の形態に係るシミュレーション装置200は、構造物と計測対象との位置の関係に基づいて、1または複数の三次元センサの計測可能範囲を算出することができる。
【0067】
<三次元センサの調整の一例>
本実施の形態に係るシミュレーション装置200によって、三次元センサの位置および傾きを、ワークの計測に適するように決定することができる。ユーザは、決定された位置および傾きに従って三次元センサの位置関係を調整することができる。
【0068】
本実施の形態では、複数の三次元センサの各々について、以下に説明する調整が適用される。したがって、以下では、1つの三次元センサの調整を代表的に説明する。
【0069】
図16は、本実施の形態に係る三次元センサ1の調整を説明した模式図である。図16に示すように、三次元センサ1は、カメラおよびプロジェクタを収容するセンサ筐体2と、インジケータ5とを備える。インジケータ5は、センサ筐体2の表面に露出するようにセンサ筐体2に設置される。
【0070】
三次元センサ1は、基準面50を撮影して画像を取得する。三次元センサ1により取得された画像は、形状測定部10に転送される。形状測定部10は、たとえば、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサと、RAM(Random Access Memory)等を含むコントローラによって実現可能である。ディスプレイ60は形状測定部10に接続されて、各種の情報を表示することによりユーザインタフェースを提供する。三次元計測装置100の設置時には、ディスプレイ60の画面に、基準面50の画像である画像70が表示される。
【0071】
たとえば設置者は、ディスプレイ60の画面上で、基準面50上の少なくとも3つの点を指定する。形状測定部10は、指定された各点を含む領域をディスプレイ60の画面上に設定する。たとえば、画像70内に、領域71,72,73が設定される。領域71,72,73は、基準面50上の領域51,52,53にそれぞれ対応した領域である。形状測定部10は、センサ筐体2から領域51,52,53の各々までの距離および、位置を測定して、基準面50に対するカメラ3(図2に示さず)の光軸の角度を算出する。
【0072】
図16において、X軸およびY軸は、基準面50上で互いに直交する軸である。角度θXは、基準面50上のX軸を中心とした基準面50を回転させるときにカメラ3(図2に示さず)の光軸がY軸に対してなす角度である。角度θYは、基準面50上のY軸を中心とした基準面50を回転させるときにカメラ3(図2に示さず)の光軸がX軸に対してなす角度である。
【0073】
形状測定部10は、算出された角度および設定角度をディスプレイ60の画面に表示する。さらに形状測定部10は、算出された角度と設定角度との差がインジケータ5によって示されるように、インジケータ5を制御する。
【0074】
一実施形態では、インジケータ5は、複数のLEDを含む。図16に示した例では、インジケータは10個のLEDを含む。シンボル「X」に対応づけられた5個のLEDは、角度θXについて、算出値と設定値との差分を示す。シンボル「Y」に対応づけられた5個のLEDは、角度θYについて、算出値と設定値との差分を示す。
【0075】
シンボル「X」に対応づけられた5個のLEDは、緑色LED21と、黄色LED22,23および赤色LED24,25である。たとえば角度θXについて、算出値と設定値との差分が±0.5°以下の場合、形状測定部10は、緑色LED21を点灯させる。角度θXについて、算出値と設定値との差分の絶対値が1°以内の場合、形状測定部10は、黄色LED22または黄色LED23を点灯させる。算出値と設定値との差分の絶対値が3°以上の場合、形状測定部10は、赤色LED24または赤色LED25を点灯させる。たとえば、(算出値)−(設定値)の符号が正である場合に黄色LED22または赤色LED24が点灯する。一方、(算出値)−(設定値)の符号が負である場合に黄色LED23または赤色LED25が点灯する。
【0076】
シンボル「Y」に対応づけられた5個のLEDは、緑色LED26と、黄色LED27,28および赤色LED29,30である。角度θYについての算出値と設定値との差分に基づいて、形状測定部10は、上記のLEDを制御する。ディスプレイ60に表示された例によれば、基準面50と三次元センサ1との間の距離(WD)は800であり、角度θXの設定値および角度θYの設定値がともに90°である。一方、角度θXの計測値は89°であり、角度θYの計測値は75°である。この場合には、たとえば黄色LED23および赤色LED30が点灯する。
【0077】
<三次元計測装置の構成例>
図17は、本実施の形態に係る三次元計測装置の機能ブロック図である。図17に示すように、三次元センサ1は、カメラ3と、プロジェクタ4と、インジケータ5とを含む。形状測定部10は、パタン生成部11と、パタン検出部12と、三次元形状取得部13と、傾斜演算部14と、角度範囲指定部15と、基準領域設定部16とを含む。ディスプレイ60は、形状測定部10に接続され、各種の情報を表示する。
【0078】
パタン生成部11は、特定の濃淡パタンを生成する。たとえばこの濃淡パタンは、M系列、あるいはdeBruijn系列に従うものであってもよい。プロジェクタ4は、パタン生成部11により生成された濃淡パタンを投射する。カメラ3は、撮像視野内の画像を取得する。パタン検出部12は、カメラ3により取得された、その画像から、濃淡パタンを読み取る。
【0079】
三次元形状取得部13は、パタン生成部11に濃淡パタンを生成するよう指示する。さらに、三次元形状取得部13は、さらにパタン検出部12によって読み取られた濃淡パタンに基づいて、ワークの三次元形状に関する情報を取得する。
【0080】
カメラ3によるワークの撮影に先立って、カメラ3とプロジェクタ4とのキャリブレーションが実行される。さらに基準面50に対する三次元センサ1の傾きが計測される。三次元形状取得部13は、基準面50上に指定された複数の領域と三次元センサ1との間の距離の情報、および、その複数の領域の位置に関する情報を取得する。傾斜演算部14は、三次元形状取得部13によって取得された情報に基づいて、基準面50に対する三次元センサ1の傾きの角度を演算する。さらに、傾斜演算部14は、算出された三次元センサ1の傾斜角度に基づいてインジケータ5を制御する。
【0081】
角度範囲指定部15は、設定角度の範囲をユーザから受け付けて、その設定角度の範囲を傾斜演算部14に指定する。基準領域設定部16は、ユーザによる、基準面50上の複数の領域に関する入力を受け付ける。基準領域設定部16は、ユーザが指定した複数の領域を、基準面50の画像上に設定する。複数の領域は、高さを取得するための領域である。なお、指定される領域の数は3以上であってもよい。ディスプレイ60は、基準面の画像、すなわち濃淡画像を表示する(図16に示す画像70を参照)。
【0082】
図18は、一例に係る濃淡パタンの一部分を示した部分図である。図19は、図18に示す濃淡パタンの一部分を拡大した部分拡大図である。三次元計測装置100は、図18に示した濃淡パタンをワークに投影する。ワークの表面に投影されたパタンには、ワークの高さに応じた歪みが生じる。三次元計測装置100は、パタンが投影されたワークの画像を撮像する。カメラ3とプロジェクタ4との間でキャリブレーションが完了していれば、エピポーラ線上でコードが一意に決まる。これにより、三次元計測装置100は、ワークの三次元形状を計測する。この方法によれば、誤対応が少なく、かつ、高速に三次元再構成(対応位置特定と三角測量)が可能である。
【0083】
図20は、基準面に対する三次元センサ1の傾きを算出する処理のフローを示したフローチャートである。この処理は、三次元計測装置100によって実行される。図17および図20を参照して、ステップS10において、パタン生成部11が投影パタンを生成する。プロジェクタ4は、そのパタンを基準面50に投影する。
【0084】
ステップS11において、カメラ3は、パタン撮像を行う。ステップS12において、三次元形状取得部13は、カメラ3が取得した画像から、対応コードの探索および三角測量により、三次元形状を復元する。これにより距離情報が取得される。
【0085】
ステップS13〜S17の処理により、被写体表面と三次元計測装置100における基準点との間の位置関係が決定される。ステップS13において、傾斜演算部14は、基準面の3か所以上の領域の高さ方向の外れ値を除去する。ステップS14において、傾斜演算部14は、外れ値を除いた基準領域の高さ方向の平均値を算出する。これにより傾斜演算部14は、基準領域の平均高さZを求める。さらに、ステップS14において、傾斜演算部14は、各基準領域の重心の座標を計算する。なお、重心座標はXY座標である。
【0086】
ステップS15において、傾斜演算部14は、ステップS14において算出された平均高さZおよび重心座標XYに基づいて、指定した領域に当てはまる平面を求める。後に詳細に説明するように、この平面は、たとえばax+by+cz+d=0の関係を満たすように定められる。
【0087】
ステップS16において、傾斜演算部14は、基準面の法線ベクトルを求める。さらに、傾斜演算部14は、その法線ベクトルをX−Z平面およびY−Z平面の各々に射影する。これにより、傾斜演算部14は、法線ベクトルのX−Z平面内の傾き、および法線ベクトルのY−Z平面内の傾きを算出する。なお、法線ベクトルのX−Z平面内の傾きは角度θXと表される。法線ベクトルのY−Z平面内の傾きは角度θYと表される。
【0088】
ステップS17において、傾斜演算部14は、角度θX,θYの各々の指定値と、ステップS16において算出された値との差分を計算する。ステップS18において、傾斜演算部14は、ディスプレイ60に、角度θX,θYの各々の指定値および算出値を表示する。
【0089】
ステップS19において、傾斜演算部14は、差分に対応するLEDを点灯するようインジケータ5に指示する。インジケータ5は、この指示に従い、対応のLEDを点灯させる(図16を参照)。
【0090】
ステップS20において、傾斜演算部14は、終了指示の有無を判定する。終了指示があった場合、全体の処理は終了する。終了指示が無い場合には、処理はステップS10に戻される。
【0091】
上述の通り、角度θX,θYを求めるために、本実施の形態では基準面50の法線ベクトル(垂線)が求められる。以下に、基準面50の法線ベクトルを算出することが可能な2つの方法を例示する。なお、法線ベクトルを算出する際、ユーザは基準面50の画像(図16に示す画像70)内の領域を指定する。説明を分かりやすくするために、以下では、基準面50の画像(図16に示す画像70)を、単に「基準面50」と表記する。
【0092】
図21は、基準面の法線ベクトルの第1の算出方法を説明するための模式図である。図21を参照して、まず、基準面50上の3つの領域(P,Q,R)が基準領域として指定される。ユーザがディスプレイ60の画面を見ながら、基準面50上の少なくとも3つの点を三次元計測装置100に対して指定する。三次元計測装置100の基準領域設定部16は、ユーザの入力を受け付けることにより、領域P,Q,Rの各々を設定する。
【0093】
次に、傾斜演算部14は、領域P,Q,Rの高さの平均値を計算して平均高さZを算出する。さらに、傾斜演算部14は、領域P,Q,Rの重心座標を計算する。
【0094】
続いて、傾斜演算部14は、平均高さZおよび重心座標に基づいて、ベクトルPQとベクトルPRを決定する。ベクトルPQは領域Pから領域Qへと向かうベクトルである。ベクトルPRは領域Pから領域Rへと向かうベクトルである。
【0095】
傾斜演算部14は、ベクトルPQとベクトルPRとの外積を計算する。ベクトルPQとベクトルPRとの外積は、ベクトルPQおよびベクトルPRの両方に直交するベクトルである。ベクトルPQとベクトルPRとの外積により、基準面50の法線ベクトルが求められる。
【0096】
上記の第1の方法において、3つ以上の領域を基準領域として指定してもよい。その場合には、それらの領域のうちの任意の3つの領域の組み合わせにより生成された法線ベクトルが平均される。その平均ベクトルを法線ベクトルに設定することができる。
【0097】
図22は、基準面の法線ベクトルの第2の算出方法を説明するための模式図である。図22を参照して、まず、基準面50上のn個の領域51,52,53,54,・・・,5nが基準領域として設定される。nは3以上の整数であるが、特に限定されない。これらの領域はユーザが任意に設定してもよい。あるいは、三次元計測装置100の基準領域設定部16が、基準面50内の領域をランダムに選択して、基準領域設定部16は、その選択した領域を基準領域に設定してもよい。
【0098】
次に、傾斜演算部14は、n個の領域の各々の平均高さ(Z座標)および重心座標(XY座標)を計算する。これによりn個の点の各々の座標(X,Y,Z)が求められる。傾斜演算部14は、ax+by+cz+dと表される平面の式に、上記n点の座標(X,Y,Z)を代入する。傾斜演算部14は、最小二乗法(重回帰分析)により、係数a,b,c,dを計算する。計算により求められた係数(a,b,c)が、基準面の法線ベクトルを表す。
【0099】
続いて三次元センサ1のZ軸周りの回転角度θZを求めることが可能な2通りの方法を例示する。
【0100】
図23は、三次元センサ1のZ軸周りの回転角度θZの第1の算出方法を説明するための模式図である。図23を参照して、基準面50上かつ、三次元センサ1のカメラ3の視野内に、基準対象物80を設ける。基準対象物80は、角度θZの調整に用いられる。三次元センサ1のカメラが2次元画像として取得可能であれば、基準対象物80は特に限定されない。基準対象物80は、たとえばワーク、構造物、あるいはテクスチャ(模様)である。
【0101】
次に、基準対象物80の回転傾きに基づいて、形状測定部10の画像処理により角度θZを取得する。第1の算出方法では、形状測定部10は、三次元センサ1が取得した基準対象物80の画像から、基準対象物80の対向する2つの端面のそれぞれのエッジ81,82を抽出する。形状測定部10は、その抽出されたエッジ81,82に直線のあてはめを行う。
【0102】
直線83は、エッジ81,82から求められた直線であり、ax+by+c=0と表すことができる。形状測定部10は、上記の直線の係数(a,b,c)を求める。形状測定部10は、基準面50上の基準直線84に対する直線83の傾き(=a/b)から角度θZを求める。
【0103】
図24は、三次元センサ1のZ軸周りの回転角度θZの第2の算出方法を説明するための模式図である。図10に示すように、基準面50上かつ、三次元センサ1のカメラ3の視野内に、角度θZの調整のための基準対象物80を設ける。第2の方法では、基準対象物80の認識用モデル85を用いる。形状測定部10は、基準対象物80の位置(座標(X,Y))と傾き(角度θ)とを画像認識によって求める。具体的には、形状測定部10は、三次元センサ1が取得した基準対象物80の画像に、認識用モデル85をフィットさせる。形状測定部10は、認識用モデル85の基準角度と、画像認識によって求められた認識用モデル85の角度との差から回転角θZを求める。
【0104】
本実施の形態において、インジケータ5は、種々の構成を有することができる。図25は、本実施の形態に係るインジケータ5の1つの構成例を示した図である。図25に示すように、インジケータ5の複数のLED(発光素子)は、4つの発光素子グループに分けられる。各発光素子グループがインジケータとして機能する。具体的には、X軸と交わるセンサ筐体2の表面2A(第1の面)にはインジケータ5Aが配置される。Y軸と交わるセンサ筐体2の表面2B(第2の面)にはインジケータ5B,5Dが配置される。Z軸と交わるセンサ筐体2の表面2C(第3の面)にはインジケータ5Cが配置される。なお、インジケータ5Dは、センサ筐体2の表面2A(第1の面)に配置されてもよい。
【0105】
インジケータ5Aは、角度θXを表示するためのインジケータである。インジケータ5Bは、角度θYを表示するためのインジケータである。インジケータ5Cは、角度θZを表示するためのインジケータである。インジケータ5Dは、基準面に対する三次元センサ1の高さ(Z軸方向の距離)を表示するためのインジケータである。
【0106】
図25に示した構成では、X軸、Y軸、Z軸の各々に対応するセンサ筐体2の表面にインジケータが配置される。ユーザから各発光素子グループへの視線の方向を、軸の方向に対応させることができる。したがってユーザは角度θX,θY,θZおよび高さZのいずれが基準からずれているかを直観的に判断することができる。
【0107】
図25に示した例と同様に、インジケータ5A,5B,5C,5Dの各々は、たとえば5つのLEDを含むことができる。5つのLEDは1つの緑色LEDと、緑色LEDの両側に配置された2つの黄色LEDと、2つの黄色LEDの各々の外側に配置された2つの赤色LEDとを含むことができる。緑色LEDは、計測値と指定値との差が第1の範囲内である場合に点灯する。黄色LEDは、計測値と指定値との差が第1の範囲より大きい第2の範囲内である場合に点灯する。赤色LEDは、計測値と指定値との差が第2の範囲を超える場合に点灯する。5つのLEDのいずれが点灯するかにより、インジケータ5A,5B,5C,5Dは、ユーザに、角度θX,θY,θZおよび高さZの基準からのずれの程度、および、ずれの範囲を表示する。
【0108】
図26は、本実施の形態に係るインジケータ5の別の構成例を示した図である。図25に示した構成と比較すると、図26に示した構成では、インジケータ5は、センサ筐体2の1つの面にのみ配置される。これにより、角度θX,θY,θZおよび高さZの各々の基準からのずれの程度をユーザが一覧できる。したがって、三次元センサ1の配置を調整する際のユーザの作業性を高めることができる。
【0109】
なお、図25に示したインジケータ5A,5B,5C,5Dあるいは図26に示したインジケータ5は、複数のLED(発光素子)により、ずれのレベルを表示する。しかし、これらのインジケータにレベルメータを用いてもよい。
【0110】
図27は、本実施の形態に係るインジケータ5のさらに別の構成例を示した図である。図27に示すように、インジケータ5は、矢印および記号「±」を表示する。矢印は、ずれの方向を示す。記号「±」は、基準に対するずれの程度が、許容される範囲内(誤差の範囲内)であることを示す。図27に示したインジケータ5によれば、簡単な表示により、X,Y,Zの各方向の基準からのずれの程度をユーザが把握することができる。
【0111】
図28は、本実施の形態に係るインジケータ5のさらに別の構成例を示した図である。図28に示すように、インジケータ5は、たとえば液晶表示器である。インジケータ5は、角度θX,θY,θZおよび高さZの各々の基準からのずれを数値により表示する。
【0112】
さらにインジケータの構成は、上記の例示された構成に限定されない。たとえばインジケータは、音響(音の高さ、繰り返しの間隔等)により、X,Y,Zの各方向の基準からのずれの程度をユーザに示してもよい。
【0113】
以上のように、三次元計測装置100は、カメラと特定のパタンを投射するプロジェクタによって、対象物の3次元情報(高さ、形状)を取得する。ユーザは、インジケータの表示を参照することにより、三次元センサ1の光軸が所望の角度となるように、三次元センサ1の光軸をリアルタイムで調整することができる。これにより、三次元センサ1の光軸が基準面に対して鉛直となるように三次元センサ1を設置できる。したがって、計測対象のワークの高さおよび傾きを正確に計測することができる。
【0114】
ワークが置かれるコンベアあるいは移動ステージは、特定の傾斜面を有する場合がある。本実施の形態によれば、三次元センサ1が、その傾斜面に正対する(三次元センサ1の光軸が傾斜面に垂直となる)ように三次元センサ1を配置することができる。したがって、ワークが傾斜面に置かれる場合であっても、そのワークの高さを正確に計測することができる。
【0115】
また、本実施の形態に係る三次元センサ1は、たとえばロボットハンドに搭載することができる。本実施の形態によれば、三次元センサ1をロボットハンドに搭載した状態で基準面あるいはワークに正対するように、三次元センサ1を設置することができる。
【0116】
また、1つのセンサによりワークの形状を計測する場合、ワークの一部がセンサのカメラの視野の範囲から外れる可能性がある。このような問題を避けるために、複数のセンサを配置する場合がある。本実施の形態によれば、このような場合に、複数のセンサの間で、光軸の相対角度を確認することができる。
【0117】
<付記>
以上説明されるように、本実施の形態は、以下の開示を含む。
【0118】
(構成1)
計測対象フィールドに対応した仮想空間(300)にセンサ(1,1A,1B,1C)を配置するための前記センサ(1,1A,1B,1C)の位置および姿勢の指定を受け付ける受付部(211)と、
前記センサ(1,1A,1B,1C)が前記仮想空間(300)に配置されると、前記センサ(1,1A,1B,1C)が有する有効計測範囲情報に基づいて、前記仮想空間(300)内における前記センサ(1,1A,1B,1C)の有効計測範囲(6,6A,6B,6C)を算出する計測範囲算出部(212)と、
前記仮想空間(300)における前記センサ(1,1A,1B,1C)の前記位置および前記姿勢の情報を出力する情報出力部(213)とを備え、
前記仮想空間(300)に複数の前記センサ(1A,1B,1C)が配置される場合、前記計測範囲算出部(212)は、前記複数のセンサ(1A,1B,1C)の各々の前記有効計測範囲(6A,6B,6C)を算出し、
前記情報出力部(213)は、前記複数のセンサ(1A,1B,1C)のいずれかの前記有効計測範囲を、他の前記センサの前記有効計測範囲とは異なる態様で表示する、シミュレーション装置(200)。
【0119】
(構成2)
前記計測範囲算出部(212)は、前記複数のセンサ(1A,1B,1C)の各々の前記有効計測範囲(6,6A,6B,6C)によって形成される合成計測範囲(7)を算出し、
前記情報出力部(213)は、前記合成計測範囲(7)を表示する、構成1に記載のシミュレーション装置(200)。
【0120】
(構成3)
前記計測範囲算出部(212)は、前記複数のセンサ(1A,1B,1C)のそれぞれの前記有効計測範囲(6A,6B,6C)のうちの互いに重なり合う範囲を前記合成計測範囲(7)として算出する、構成2に記載のシミュレーション装置(200)。
【0121】
(構成4)
前記計測範囲算出部(212)は、前記複数のセンサ(1A,1B,1C)のうち少なくとも2つの前記有効計測範囲を足し合わせて、前記合成計測範囲(7)を算出する、構成2に記載のシミュレーション装置(200)。
【0122】
(構成5)
前記受付部(211)は、前記計測対象フィールドにおいて前記センサが測定すべき物体(8)を表現するCADデータを受け付け、
前記計測範囲算出部(212)は、前記センサ(1,1A,1B,1C)が前記物体(8)を計測する際における前記センサ(1,1A,1B,1C)による前記物体(8)の計測可能範囲(8,8A,8B,8C)を算出し、
前記情報出力部(213)は、前記センサ(1,1A,1B,1C)の前記計測可能範囲を表示する、構成1から構成4のいずれか1項に記載のシミュレーション装置(200)。
【0123】
(構成6)
前記受付部(211)は、さらに、前記計測対象フィールドに前記物体(8)とともに存在する構造物(9)を表現するデータを受け付けて、
前記計測範囲算出部(212)は、前記構造物(9)と前記物体(8)との位置の関係に基づいて、前記センサ(1,1A,1B,1C)の計測可能範囲(6,6A,6B,6C)を算出するとともに、前記物体の計測可能範囲(8,8A,8B,8C)を算出する、構成5に記載のシミュレーション装置(200)。
【0124】
(構成7)
計測対象フィールドに対応した仮想空間(300)にセンサ(1,1A,1B,1C)を配置するための前記センサ(1,1A,1B,1C)の位置および姿勢の指定をコンピュータ(200)が受け付けるステップと、
前記コンピュータ(200)が、前記仮想空間(300)に配置されたセンサ(1,1A,1B,1C)が有する有効計測範囲情報に基づいて、前記仮想空間(300)内における前記センサ(1,1A,1B,1C)の有効計測範囲(6,6A,6B,6C)を算出するステップと、
前記コンピュータ(200)が、前記仮想空間(300)における前記センサ(1,1A,1B,1C)の前記位置および前記姿勢の情報を出力するステップとを備え、
前記有効計測範囲(6,6A,6B,6C)を算出するステップは、
前記仮想空間(300)に複数の前記センサ(1A,1B,1C)が配置される場合に、前記複数のセンサ(1A,1B,1C)の各々の前記有効計測範囲(6,6A,6B,6C)を算出するステップを含み、
前記出力するステップは、
前記複数のセンサ(1A,1B,1C)のいずれかの前記有効計測範囲(6,6A,6B,6C)を、他の前記センサの前記有効計測範囲(6,6A,6B,6C)とは異なる態様で表示するステップを含む、シミュレーション方法。
【0125】
(構成8)
コンピュータ(200)に、
計測対象フィールドに対応した仮想空間(300)にセンサ(1,1A,1B,1C)を配置するための前記センサ(1,1A,1B,1C)の位置および姿勢の指定を受け付けるステップと、
前記仮想空間(300)に配置されたセンサ(1,1A,1B,1C)が有する有効計測範囲情報に基づいて、前記仮想空間(300)内における前記センサ(1,1A,1B,1C)の有効計測範囲(6,6A,6B,6C)を算出するステップと、
前記仮想空間(300)における前記センサ(1,1A,1B,1C)の前記位置および前記姿勢の情報を出力するステップとを実行させ、
前記有効計測範囲(6,6A,6B,6C)を算出するステップは、
前記仮想空間(300)に複数の前記センサ(1A,1B,1C)が配置される場合に、前記複数のセンサ(1A,1B,1C)の各々の前記有効計測範囲(6,6A,6B,6C)を算出するステップを含み、
前記出力するステップは、
前記複数のセンサ(1A,1B,1C)のいずれかの前記有効計測範囲(6,6A,6B,6C)を、他の前記センサの前記有効計測範囲(6,6A,6B,6C)とは異なる態様で表示するステップを含む、プログラム。
【0126】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
【符号の説明】
【0127】
1,1A,1B,1C 三次元センサ、2 センサ筐体、2A,2B,2C 表面、3 カメラ、4 プロジェクタ、5,5A,5B,5C,5D インジケータ、6,6A,6B,6C 有効計測範囲、7 合成計測範囲、8 計測対象、8A,8B,8C 計測可能範囲、9 コンテナ、10 形状測定部、11 パタン生成部、12 パタン検出部、13 三次元形状取得部、14 傾斜演算部、15 角度範囲指定部、16 基準領域設定部、21,26 緑色LED、22,23,27,28 黄色LED,24,25,29,30 赤色LED、50 基準面、51,52,53,54,71,72,73,P,Q,R 領域、60 ディスプレイ、70 画像、80 基準対象物、81,82 エッジ、83 直線、84 基準直線、85 認識用モデル、100 三次元計測装置、200 シミュレーション装置、201 CPU、202 通信装置、203 メモリ、204 入力装置、205 表示装置、206 内部バス、211 角度設定部、212 計測範囲算出部、213 計測範囲表示部、300 仮想空間、PQ,PR ベクトル、S10〜S20 ステップ、W ワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28