(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】情報処理システム、情報処理方法、プログラム
(51)【国際特許分類】
G01B 11/245 20060101AFI20241210BHJP
G01B 11/00 20060101ALI20241210BHJP
【FI】
G01B11/245 H
G01B11/00 H
(21)【出願番号】P 2021084726
(22)【出願日】2021-05-19
【審査請求日】2024-03-19
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】成瀬 洋介
(72)【発明者】
【氏名】大西 康裕
【審査官】仲野 一秀
(56)【参考文献】
【文献】特開2014-126494(JP,A)
【文献】特開平11-183172(JP,A)
【文献】国際公開第2020/004162(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G01N 21/84-21/958
(57)【特許請求の範囲】
【請求項1】
三角測量の原理を用いて距離画像を取得する距離画像センサによって異なる撮像位置で取得された複数の距離画像を用いて、物体の3次元的な測定を行う測定装置に関して、
前記物体の測定に用いるべきM枚の距離画像それぞれの撮像位置を決定する情報処理システムであって、
N個の撮像位置(N>M)のそれぞれから前記距離画像センサを用いて、ティーチング用物体を撮像したN枚の距離画像を取得する撮像制御手段と、
前記N枚の距離画像のうち互いに異なる複数の組合せのそれぞれから複数の統合データを構成する構成手段と、
前記複数の統合データそれぞれの、前記ティーチング用物体との一致度を表す精度を算出し、前記複数の統合データそれぞれの精度に基づき、前記N個の撮像位置の中からM個の撮像位置を決定する決定手段と、
を有することを特徴とする情報処理システム。
【請求項2】
前記複数の統合データのそれぞれは、点群によって3次元空間における物体を表現する点群データであり、
前記精度とは、前記ティーチング用物体に対する前記点群のばらつきに応じた値である、
ことを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記点群のばらつきは、予め設定された基準面に対する統合データの各点のばらつき、および、前記ティーチング用物体の表面に対する統合データの各点のばらつきに基づく、
ことを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記距離画像センサが最短の時間で前記M個の撮像位置から前記物体の撮像を完了できるように、前記M個の撮像位置に前記距離画像センサの位置を変える移動経路を生成する経路生成手段をさらに有する、
ことを特徴とする請求項1から3のいずれか1項に記載の情報処理システム。
【請求項5】
前記決定手段は、前記精度と、前記距離画像センサが撮像に要する時間とに基づき、前記M個の撮像位置を決定する、
ことを特徴とする請求項1から4のいずれか1項に記載の情報処理システム。
【請求項6】
それぞれが前記N個の撮像位置を含み、かつ、それぞれが前記距離画像センサの移動経路である、複数の仮移動経路を取得する取得手段をさらに有し、
前記複数の仮移動経路それぞれについて、
前記撮像制御手段は、前記N枚の距離画像を取得し、
前記構成手段は、前記複数の統合データを構成し、
前記決定手段は、前記複数の統合データそれぞれの精度に基づき、前記M個の撮像位置の候補を決定し、
前記決定手段は、前記複数の仮移動経路から1つの仮移動経路を選択し、選択した仮移動経路に対応する前記M個の撮像位置の候補を前記M個の撮像位置として決定する、
ことを特徴とする請求項1から5のいずれか1項に記載の情報処理システム。
【請求項7】
前記距離画像センサが撮像に要する時間の上限は、予め設定されており、
前記Mは、前記距離画像センサが撮像に要する時間の上限に達するまでに前記距離画像センサが取得できる距離画像の最大の数である、
ことを特徴とする請求項1から6のいずれか1項に記載の情報処理システム。
【請求項8】
前記決定手段が決定した前記撮像位置の数と前記精度との関係を示すグラフを、表示するように表示手段を制御する制御手段をさらに有し、
前記Mは、前記グラフが表示された後に入力された、ユーザ入力に応じた数である、
ことを特徴とする請求項1から6のいずれか1項に記載の情報処理システム。
【請求項9】
前記制御手段は、前記距離画像センサが撮像に要する時間と前記決定手段が決定した前記撮像位置の数と前記精度との関係を示すグラフを、表示手段に表示するように制御する、
ことを特徴とする請求項8に記載の情報処理システム。
【請求項10】
前記決定手段は、
前記N枚の距離画像から最も精度の高い距離画像を選択し、
前記N枚の距離画像のうち選択していない各距離画像と、前記N枚の距離画像のうち選択した全ての距離画像とを統合した各統合データの精度に基づき、当該選択していない距離画像から1つの距離画像をさらに選択することを、前記M枚の距離画像を選択するまで繰り返し、
前記N個の撮像位置の中から、選択した前記M枚の距離画像に対応する前記M個の撮像位置を決定する、
ことを特徴とする請求項1から9のいずれか1項に記載の情報処理システム。
【請求項11】
前記撮像制御手段は、さらに、前記N個の撮像位置とそれぞれ一定の相対的な位置関係にある周辺位置から前記距離画像センサを用いて前記ティーチング用物体を撮像した距離画像を取得し、
前記構成手段は、前記N個の撮像位置のうちの1個の撮像位置から撮像した距離画像と当該1個の撮像位置の前記周辺位置から撮像した距離画像とを1個のセットとしたN個の画像セットを、互いに異なる複数の組み合わせで統合して前記複数の統合データを構成する、
ことを特徴とする請求項1から10のいずれか1項に記載の情報処理システム。
【請求項12】
前記撮像制御手段は、さらに、前記N個の撮像位置から前記距離画像センサを用いて、前記ティーチング用物体を含むW個のティーチング用物体をそれぞれ個別に撮像した距離画像を取得し、
前記構成手段は、前記N個の撮像位置のうちの1個の撮像位置から前記W個のティーチング用物体を個別に撮像したW枚の距離画像を1個のセットとしたN個の画像セットを、互いに異なる複数の組み合わせで統合して前記複数の統合データを構成する、
ことを特徴とする請求項1から11のいずれか1項に記載の情報処理システム。
【請求項13】
前記情報処理システムは、前記測定装置を有し、
前記測定装置は、前記M個の撮像位置から前記距離画像センサが前記物体を撮像した前記M枚の距離画像を統合した統合データを、前記物体の測定結果として取得する、
ことを特徴とする請求項1から12のいずれか1項に記載の情報処理システム。
【請求項14】
三角測量の原理を用いて距離画像を取得する距離画像センサによって異なる撮像位置で取得された複数の距離画像を用いて、物体の3次元的な測定を行う測定装置に関して、
前記物体の測定に用いるべきM枚の距離画像それぞれの撮像位置を決定する情報処理方法であって、
N個の撮像位置(N>M)のそれぞれから前記距離画像センサを用いて、ティーチング用物体を撮像したN枚の距離画像を取得する撮像制御ステップと、
前記N枚の距離画像のうち互いに異なる複数の組合せのそれぞれから複数の統合データを構成する構成ステップと、
前記複数の統合データそれぞれの、前記ティーチング用物体との一致度を表す精度を算出し、前記複数の統合データそれぞれの精度に基づき、前記N個の撮像位置の中からM個の撮像位置を決定する決定ステップと、
を有することを特徴とする情報処理方法。
【請求項15】
請求項14に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、プログラムに関する。
【背景技術】
【0002】
従来から、センサが物体を測定して、当該物体の形状や大きさを検査する検査システムが存在している。
【0003】
特許文献1では、センサと物体との相対的な位置が互いに異なる複数の位置において、センサが物体に照射されたライン光(ライン状の測定光)を検出することによって、測定のばらつき誤差を抑制して、物体を測定する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1では、高精度にライン光の照射および検出をする高額な部材が必要であるため、検査システム全体が高額になってしまう。これに対して、ライン光の検出の代わりに、三角測量の原理を用いた距離画像に基づき、物体を測定するように構成すれば、より安価に、検査システムを構成することができる。検査システムが距離画像に基づき物体を測定する場合には、検査システムは、複数の距離画像を統合して1つの3次元データである統合データを物体の測定結果として生成して、当該統合データに基づき物体の検査をする。
【0006】
一方で、検査システムが距離画像に基づき物体を測定する場合には、1つ1つの距離画像の精度があまり高くないという問題があり、物体の測定結果である統合データにノイズが発生しやすいという問題があった。このため、従来は、このようなノイズを低減するために、非常に多くの撮像位置から物体を撮像しなければならず、物体の測定のための距離画像の撮像(取得)に多くの処理(時間)がかかっていた。
【0007】
そこで、本発明では、三角測量の原理を用いた距離画像に基づき物体を測定する場合に、測定の精度を維持しつつ、当該物体の距離画像の撮像の処理を効率化する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明は、以下の構成を採用する。
【0009】
すなわち、本発明の一側面に係る情報処理システムは、三角測量の原理を用いて距離画像を取得する距離画像センサによって異なる撮像位置で取得された複数の距離画像を用いて、物体の3次元的な測定を行う測定装置に関して、前記物体の測定に用いるべきM枚の距離画像それぞれの撮像位置を決定する情報処理システムであって、N個の撮像位置(N>M)のそれぞれから前記距離画像センサを用いて、ティーチング用物体を撮像したN枚の距離画像を取得する撮像制御手段と、前記N枚の距離画像のうち互いに異なる複数の組合せのそれぞれから複数の統合データを構成する構成手段と、前記複数の統合データそれぞれの、前記ティーチング用物体との一致度を表す精度を算出し、前記複数の統合データそれぞれの精度に基づき、前記N個の撮像位置の中からM個の撮像位置を決定する決定手
段と、を有する(
図7AのStep1,Step2)。
【0010】
このような構成によれば、物体を撮像する撮像位置の数が少ない(Mの値が小さい)場合であっても、高い精度で物体を測定することができる。つまり、距離画像を用いて物体(ワークピース)を測定する場合に、測定の精度を高く維持しつつ、当該物体の距離画像の撮像枚数を削減することができる。なお、上記において、ティーチング用物体と物体とは、例えば、互いに同じ型番の物体である。
【0011】
上記情報処理システムにおいて、前記複数の統合データのそれぞれは、点群によって3次元空間における物体を表現する点群データであり、前記精度とは、前記ティーチング用物体に対する前記点群のばらつきに応じた値であってもよい。
【0012】
上記情報処理システムにおいて、前記点群のばらつきは、予め設定された基準面に対する統合データの各点のばらつき、および、前記ティーチング用物体の表面に対する統合データの各点のばらつきに基づくものでもよい。本構成によれば、基準面とティーチング用物体の表面とが予め分かればよいため、ユーザがティーチング用物体に関する詳細な情報を入力しなくても、点群のばらつきを決定できる。つまり、M点の撮像位置を決定するにあたるユーザの負荷を低減できる。
【0013】
上記情報処理システムにおいて、前記距離画像センサが最短の時間で前記M個の撮像位置から前記物体の撮像を完了できるように、前記M個の撮像位置に前記距離画像センサの位置を変える移動経路を生成する経路生成手段をさらに有してもよい。本構成によれば、M点の撮像位置をより効率的に距離画像センサが移動できる経路が生成できるため、物体の測定時において、より効率的に撮像処理を実行することができる(
図7AのStep3)。
【0014】
上記情報処理システムにおいて、前記決定手段は、前記精度と、前記距離画像センサが撮像に要する時間とに基づき、前記M個の撮像位置を決定してもよい。本構成によれば、物体の測定時における測定の精度と、撮像に要する時間とをバランスよく調整することができる。
【0015】
上記情報処理システムにおいて、それぞれが前記N個の撮像位置を含み、かつ、それぞれが前記距離画像センサの移動経路である、複数の仮移動経路を取得する取得手段をさらに有し、前記複数の仮移動経路それぞれについて、前記撮像制御手段は、前記N枚の距離画像を取得し、前記構成手段は、複数の前記統合データを構成し、前記決定手段は、前記複数の統合データそれぞれの精度に基づき、前記M個の撮像位置の候補を決定し、前記決定手段は、前記複数の仮移動経路から1つの仮移動経路を選択し、選択した仮移動経路に対応する前記M個の撮像位置の候補を前記M個の撮像位置として決定してもよい。本構成によれば多くの仮移動経路から最適な1つの本移動経路が生成可能(M点の本撮像位置が決定可能)であるため、より精度の高く測定が可能なM点の本撮像位置が決定可能である(
図8)。
【0016】
上記情報処理システムにおいて、前記距離画像センサが撮像に要する時間の上限は、予め設定されており、前記Mは、前記距離画像センサが撮像に要する時間の上限に達するまでに前記距離画像センサが取得できる距離画像の最大の数であってもよい。本構成によれば、物体の測定時における測定の精度と、撮像に要する時間とをバランスよく調整することができる。
【0017】
上記情報処理システムにおいて、前記決定手段が決定した前記撮像位置の数と前記精度との関係を示すグラフを、表示するように表示手段を制御する制御手段をさらに有し、前
記Mは、前記グラフが表示された後に入力された、ユーザ入力に応じた数であってもよい。本構成によれば、表示されるグラフによって、ユーザは撮像位置の数と測定の精度との関係を容易に把握できる。このため、ユーザが撮像位置の数Mを決定する場合であっても、容易にMを決定できる。
【0018】
上記情報処理システムにおいて、前記制御手段は、前記距離画像センサが撮像に要する時間と前記決定手段が決定した前記撮像位置の数と前記精度との関係を示すグラフを、表示手段に表示するように制御してもよい。本構成によれば、表示されるグラフによって、ユーザは撮像位置の数と測定の精度と撮像に要する時間との関係を容易に把握できる。このため、ユーザは、撮像に要する時間をさらに考慮して、適切な撮像位置の数Mを決定することができる。
【0019】
上記情報処理システムにおいて、前記決定手段は、前記N枚の距離画像から最も精度の高い距離画像を選択し、前記N枚の距離画像のうち選択していない各距離画像と、前記N枚の距離画像のうち選択した全ての距離画像とを統合した各統合データの精度に基づき、当該選択していない距離画像から1つの距離画像をさらに選択することを、前記M枚の距離画像を選択するまで繰り返し、前記N個の撮像位置の中から、選択した前記M枚の距離画像に対応する前記M個の撮像位置を決定してもよい。本構成によれば、Greedy選択を用いることで、K個の距離画像を選択していればK+1個目の距離画像を効率的に選択できるため、より効率的にM点の撮像位置を決定することができる。これによれば、情報処理システムをより簡易な構成にすることもできる。
【0020】
上記情報処理システムにおいて、前記撮像制御手段は、さらに、前記N個の撮像位置とそれぞれ一定の相対的な位置関係にある周辺位置から前記距離画像センサを用いて前記ティーチング用物体を撮像した距離画像を取得し、前記構成手段は、前記N個の撮像位置のうちの1個の撮像位置から撮像した距離画像と当該1個の撮像位置の前記周辺位置から撮像した距離画像とを1個のセットとしたN個の画像セットを、互いに異なる複数の組み合わせで統合して前記複数の統合データを構成してもよい。本構成によれば、N点の撮像位置の周囲の撮像位置から撮像した距離画像にも基づき、M点の撮像位置を決定することができる。このため、物体の撮像時と、ティーチング用物体の撮像時とで僅かな撮像位置の差が生じてしまった場合においても、安定した精度で物体の測定を行うことができる。
【0021】
上記情報処理システムにおいて、前記撮像制御手段は、さらに、前記N個の撮像位置から前記距離画像センサを用いて、前記ティーチング用物体を含むW個のティーチング用物体をそれぞれ個別に撮像した距離画像を取得し、前記構成手段は、前記N個の撮像位置のうちの1個の撮像位置から前記W個のティーチング用物体を個別に撮像したW枚の距離画像を1個のセットとしたN個の画像セットを、互いに異なる複数の組み合わせで統合して前記複数の統合データを構成してもよい。本構成によれば、N点の撮像位置から2以上のティーチング用物体を撮像した距離画像に基づき、M点の撮像位置を決定することができる。このため、ティーチング用物体に個体差が生じている場合においても、安定した精度で物体の測定を行うことができる。
【0022】
上記情報処理システムにおいて、前記情報処理システムは、前記測定装置を有し、前記測定装置は、前記M個の撮像位置から前記距離画像センサが前記物体を撮像した前記M枚の距離画像を統合した統合データを、前記物体の測定結果として取得してもよい。
【0023】
本発明は、上記手段の少なくとも一部を有する装置として捉えてもよいし、電子機器や撮像システム、検査システム、測定システム、情報処理装置、検査装置、測定装置として捉えてもよい。また、本発明は、上記処理の少なくとも一部を含む制御方法、情報処理方法、測定方法、検査方法として捉えてもよい。また、本発明は、かかる方法を実現するた
めのプログラムやそのプログラムを非一時的に記録した記録媒体(記憶媒体)として捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合せて本発明を構成することができる。
【発明の効果】
【0024】
本発明によれば、三角測量の原理を用いた距離画像に基づき物体を測定する場合に、測定の精度を維持しつつ、当該物体の距離画像の撮像の処理を効率化することができる。
【図面の簡単な説明】
【0025】
【
図1】
図1は、実施形態1に係る検査システムの構成図である。
【
図2】
図2は、実施形態1に係る情報処理装置の内部構成図である。
【
図3】
図3Aは、実施形態1に係る決定フェーズの処理を示すフローチャートであり、
図3Bは、実施形態1に係る検査フェーズの処理を示すフローチャートである。
【
図5】
図5Aは、実施形態5に係る決定フェーズの処理を示すフローチャートであり、
図5Bは、実施形態6に係る決定フェーズの処理を示すフローチャートである。
【
図7】
図7Aおよび
図7Bは、実施形態1に係る決定フェーズの処理を説明する図である。
【
図8】
図8は、実施形態3に係る決定フェーズの処理を説明する図である。
【
図9】
図9は、実施形態1に係る統合データを説明する図である。
【
図10】
図10は、実施形態1に係る効果を説明する図である。
【発明を実施するための形態】
【0026】
以下、本発明を実施するための実施形態について図面を用いて記載する。
【0027】
<適用例>
以下では、物体の距離画像を取得する距離画像センサ20から得られた複数の距離画像を用いて、当該物体を検査する検査システム1を説明する。なお、距離画像センサ20は、三角測量の原理を用いて物体を撮像することにより、距離画像を取得する。検査システム1の処理は、決定フェーズと検査フェーズとの処理を含む。検査フェーズでは、検査システム1は、決定フェーズにおいて決定された複数の撮像位置のそれぞれに距離画像センサ20の位置を変えて物体を撮像した複数の距離画像を取得することによって物体を測定し、測定結果に応じて物体を検査する。
【0028】
なお、同じ1つの撮像位置から距離画像センサ20が取得した複数の距離画像には、物体(ワーク)のBRDF(Bidirectional Reflectance Distribution Function)特性に起因したセンサ位置依存の座標ノイズが測定誤差として生じてしまい、各距離画像に同じようなノイズが生じてしまう。このため、複数の距離画像を統合した測定結果である統合データにも、ノイズの影響が出てしまう。一方で、以下の各実施形態に述べるように、異なる複数の撮像位置から距離画像センサ20が取得した複数の距離画像を統合して統合データを構成する場合に、複数の距離画像が互いに座標ノイズを打ち消す。このため、精度よく物体を検査することができる。
【0029】
決定フェーズでは、検査システム1は、検査フェーズにおいて距離画像センサ20が物体を撮像する複数の撮像位置を決定(設定)する。ここで、検査システム1は、複数の撮像位置の候補から撮像した複数の距離画像を統合した統合データの精度に基づき、複数の撮像位置を決定(設定)する。
【0030】
これによれば、検査フェーズにおいて、物体を撮像する撮像位置の数が少ない場合であ
っても、高い精度で物体を測定することができる。つまり、距離画像を用いて物体を測定する場合に、測定の精度を高く維持しつつ、当該物体の距離画像の撮像の処理を効率化することができる。具体的には、検査フェーズにおける撮像枚数(検査タクト)の削減と、処理の計算量の削減ができる。
【0031】
<実施形態1>
[検査システムの構成]
図1を参照して、実施形態1に係る検査システム1の構成を説明する。検査システム1は、物体を検査する情報処理システムである。検査システム1は、決定フェーズと検査フェーズとを含み、決定フェーズと検査フェーズでは、同種の物体(例えば、同じ品番である物体)を撮像する。そこで、決定フェーズで撮像されるティーチング用の物体(ティーチング用物体)をワーク50Aと称し、検査フェーズで撮像(検査)される物体をワーク50Bと称する。そして、ワーク50Aとワーク50Bとを総称してワーク50と称する。なお、ワーク50Aとワーク50Bとは、同じ位置姿勢で配置されている。
【0032】
検査システム1は、ロボット10、距離画像センサ20、情報処理装置30、制御サーバ40を有する。
【0033】
ロボット10は、自身の姿勢(動き;アームの関節の角度)を制御することによって、距離画像センサ20の位置姿勢を制御する。ここで、ロボット10の姿勢は、情報処理装置30によって制御される。ロボット10のアームの先端に、距離画像センサ20が設けられている。このため、ロボット10が距離画像センサ20を有しているとみなしてもよい。なお、「位置姿勢」とは、本実施形態では、位置および姿勢であるが、技術的な矛盾が生じなければ、位置または姿勢であってもよい。また、以下では、位置が決まれば、位置に対応する姿勢が一意に決まる場合には、位置についてのみ言及し、姿勢については言及しない。
【0034】
距離画像センサ20は、ワーク50を撮像することによって距離画像を取得する。ここで、距離画像とは、画素のそれぞれが被写体までの距離を示す画像である。本実施形態では、より具体的には、距離画像とは、画素のそれぞれが、距離画像センサ20からの各距離における物体の有無を示す点を表わす点群データ(3次元データ)である。距離画像は、点群(複数の点の集合)によって3次元空間における物体を表現する。本実施形態では、距離画像センサ20は、いわゆるアクティブステレオ方式によって距離画像を撮像する。アクティブステレオ方式は、例えば、時間的または空間的に符号化したパターンの画像を被写体にプロジェクタにより照射して、カメラで撮像したパターンの画像を解析することでカメラの画像とプロジェクタの画像とを対応付けて、三角測量の原理に基づいて3次元の位置を特定する方式を含む。
【0035】
なお、距離画像センサ20は、アクティブステレオ方式によって距離画像を撮像することに限らず、三角測量の原理に基づいて3次元の位置を特定する方式であれば、パッシブステレオ方式または位相シフト方式など任意の方式によって距離画像を取得してもよい。
【0036】
情報処理装置30は、距離画像センサ20が撮像したワーク50Bの距離画像に基づき、ワーク50Bの3次元データである統合データを生成して、統合データからワーク50Bを検査する。また、情報処理装置30は、距離画像センサ20がワーク50を撮像する位置である撮像位置を決定して、当該撮像位置に位置するように距離画像センサ20を制御する。なお、本実施形態では、距離画像センサ20の位置が決定すれば、ワーク50の中心(または任意の点)に距離画像センサ20の光軸が通るような、距離画像センサ20の姿勢が一意に決定されるものとする。そして、情報処理装置30は、或る撮像位置に距離画像センサ20を移動させた場合には、当該撮像位置に対応する姿勢に距離画像センサ
20の姿勢を変更するものとする。
【0037】
制御サーバ40は、ネットワーク60を介して、複数の情報処理装置30を制御する。制御サーバ40は、情報処理装置30が有する構成要素の全部または一部を有していてもよい。
【0038】
[情報処理装置の構成]
図2の構成図を参照して、情報処理装置30の内部構成を説明する。情報処理装置30は、制御部301、記憶部302、情報取得部303、撮像制御部304、構成部305、決定部306、経路生成部307、検査部308、出力部309を有する。
【0039】
制御部301は、記憶部302に記憶されたプログラムに従って、情報処理装置30の各構成要素を制御する。なお、制御部301の処理は、制御サーバ40が実行してもよい。
【0040】
記憶部302は、各構成要素が動作するための情報や、制御部301が実行するためのプログラムを記憶する。記憶部302は、例えば、決定フェーズにおいて距離画像センサ20が移動する仮の経路である仮移動経路の情報を記憶する。また、記憶部302は、仮移動経路において距離画像センサ20がワーク50Aを撮像する撮像位置であるN点(Nは、2以上の自然数)の撮像位置(以下、仮撮像位置と呼ぶ)の情報を記憶する。また、記憶部302は、ワーク50の形状や大きさ、ワーク50の表面の滑らかさを表す仕様情報を記憶する。また、仕様情報は、ワーク50の3次元モデル(CADモデル)の情報や、平面の範囲を表す平面モデルの情報であってもよい。
【0041】
情報取得部303は、距離画像センサ20が撮像したワーク50の距離画像を、距離画像センサ20から取得する。また、情報取得部303は、仮移動経路の情報、仮撮像位置の情報、および仕様情報を、ユーザ入力に従って、または記憶部302から取得する。
【0042】
撮像制御部304は、ロボット10および距離画像センサ20の動作を制御する。具体的には、撮像制御部304は、検査フェーズにおいて距離画像センサ20が移動する移動経路(以下では、本移動経路と呼ぶ)または仮移動経路に従って、距離画像センサ20を移動させる。なお、撮像制御部304は、距離画像センサ20を移動させるために、ロボット10の姿勢を制御する。そして、撮像制御部304は、仮移動経路または本移動経路のそれぞれに対応した複数の撮像位置から、ワーク50を撮像するように距離画像センサ20を制御する。なお、撮像制御部304は、ワーク50の位置および姿勢を変化させることが可能であってもよい。
【0043】
構成部305は、距離画像センサ20が撮像した複数の距離画像を統合することによって、ワーク50の統合データを構成する。本実施形態では、統合データは、
図9に示すような、距離画像と同様に、点群(複数の点の集合)によって3次元空間における物体を表現する点群データであり得る。構成部305は、複数の距離画像を統合して統合データを構成する場合には、例えば、
図9に示すように、ワーク50を含む3次元空間を複数の空間に(所定の大きさの立方体単位で)区切り、複数の距離画像において区切った空間ごとに物体の存在を示す点の位置を平均化することによって、統合データにおける点群を取得できる。これによって、点群座標に平均ゼロのノイズが加わっている場合において、複数の距離画像を統合することで、よりノイズの少ない点群を取得できる。
【0044】
決定部306は、
図7AのStep2のように、N点の仮撮像位置の中から、検査フェーズにおいて距離画像センサ20がワーク50Bを撮像する位置であるM点(Mは、M<Nを満たす自然数)の撮像位置(以下、本撮像位置と呼ぶ)を決定する。決定部306は
、構成部305が構成した統合データの精度(測定精度)に基づき、M点の本撮像位置を決定する。測定精度とは、ワーク50Aと統合データとの一致度を表す値である。なお、本撮像位置の決定方法(選択方法)についての詳細は、後述する。
【0045】
経路生成部307は、
図7AのStep3のように、決定部306が決定したM点の本撮像位置を接続することによって、本移動経路を決定する。本実施形態では、経路生成部307は、最も短い時間(検査タクト)でM点の本撮像位置からワーク50を撮像できる経路を本移動経路として決定する。最も短い時間でM点の本撮像位置からワーク50を撮像できる経路の決定には、既知の任意の最適化アルゴリズムを用いることができる。なお、経路生成部307は、最も短い時間でM点の本撮像位置からワーク50を撮像できる経路の代わりに、M点の本撮像位置を最も短い時間または距離で移動できる経路を本移動経路として決定してもよい。
【0046】
検査部308は、M点の本撮像位置から距離画像センサ20がワーク50Bを撮像したM枚の距離画像を統合した統合データを、構成部305から測定結果として取得する。そして、検査部308は、測定結果に基づきワーク50Bを検査する。例えば、検査部308は、ワーク50の仕様情報から判定可能なワーク50の形状と、統合データが表すワーク50Bの形状を比較することによって、ワーク50Bを検査する。
【0047】
出力部309は、検査部308による検査結果(ワーク50Bの検査の合否)を出力する。また、出力部309は、M点の本撮像位置の情報や、本移動経路の情報を出力してもよい。
【0048】
なお、実施形態では、1つの装置(情報処理装置30)によって決定フェーズおよび検査フェーズの処理が行われるが、各フェーズの処理を異なる装置が行ってもよい。例えば、決定フェーズの処理を決定装置(設定装置)が行い、検査フェーズの処理を検査装置(測定装置)が行ってもよい。この場合には、例えば、決定装置の出力部が、M点の本撮像位置の情報または/および本移動経路の情報を検査装置に出力する。
【0049】
また、情報処理装置30は、例えば、CPU(プロセッサ)、メモリ、ストレージなどを備えるコンピュータにより構成することができる。その場合、
図2に示す構成は、ストレージに格納されたプログラムをメモリにロードし、CPUが当該プログラムを実行することによって実現されるものである。かかるコンピュータは、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよいし、オンボードコンピュータのように組み込み型のコンピュータでもよい。あるいは、
図2に示す構成の全部または一部を、ASICやFPGAなどで構成してもよい。あるいは、
図2に示す構成の全部または一部を、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
【0050】
[決定フェーズ]
以下では、情報処理装置30が行う決定フェーズにおける処理を
図3Aのフローチャートを用いて説明する。
図3Aのフローチャートの各処理は、制御部301が記憶部302に格納されたプログラムを実行することによって実現される。
【0051】
ステップS1001では、制御部301は、情報取得部303を制御して、仮移動経路の情報、N点の仮撮像位置の情報、およびワーク50の仕様情報などの設定情報を記憶部302から取得する。なお、情報取得部303は、ユーザの入力によって設定情報を取得してもよい。
【0052】
ステップS1002では、制御部301は、撮像制御部304を介してロボット10お
よび距離画像センサ20を制御して、N点の仮撮像位置からワーク50Aを撮像したN枚の距離画像を取得する。具体的には、撮像制御部304は、距離画像センサ20が仮移動経路に従って移動するようにロボット10の姿勢を制御し、距離画像センサ20がN点の仮撮像位置のいずれかに到達するたびに、距離画像センサ20を制御して距離画像を取得する。
【0053】
ステップS1003では、制御部301は、構成部305および決定部306を制御して、N点の仮撮像位置から、M点(M<N)の本撮像位置を決定する。本実施形態では、Greedy選択という考え方を用いて、M点の本撮像位置を決定する例を説明する。Greedy選択は、既にK枚の画像が選択されている状況において、さらに1枚の画像を追加するとした場合に、残るN-K枚の画像のうちのどの1枚を追加すれば最も評価値がよくなるかを判定し、最良となる1枚を追加したものをK+1枚の選択結果とするものである。本実施形態では、評価値は、構成部305が1または複数の距離画像から構成した統合データの測定精度である。統合データの測定精度は、点群情報である統合データの点群のばらつき誤差D(ばらつき)に応じた値である。例えば、測定精度は、ばらつき誤差Dの逆数であり得る。ばらつき誤差Dの詳細については、後述する。
【0054】
本実施形態では、まず、決定部306は、N枚の距離画像のうち最も精度のよい距離画像を選ぶ。次に、構成部305は、選択された距離画像と、残りのN-1枚の距離画像のそれぞれとを統合したN-1個の統合データを構成する。そして、決定部306は、選択した距離画像と統合すると統合データの測定精度が最も高くなる距離画像を残りのN-1枚の距離画像から選択する。これによって、2枚の距離画像が選択される。
【0055】
続いて、構成部305は、選択された2枚の距離画像と、残りのN-2枚の距離画像のそれぞれとを統合したN-2個の統合データを構成する。そして、決定部306は、選択した2枚の距離画像と統合すると統合データの測定精度が最も高くなる距離画像を残りのN-2枚の距離画像から選択する。決定部306および構成部305は、これらの処理をM枚の距離画像を選択するまで繰り返す。そして、決定部306は、選択したM枚の距離画像に対応するM点の仮撮像位置をM点の本撮像位置に決定する。
【0056】
このようにGreedy選択を用いることによれば、K枚の距離画像が決定すればK+1枚目の距離画像が決定できるため、総当たり方式で最も好適なM枚の距離画像を選択する場合よりも高速にM点の本撮像位置を決定することができる。
【0057】
以下では、
図4A~
図4Cを参照して、統合データの測定精度と対応する、ばらつき誤差Dの算出方法の例を説明する。ここでは、決定部306は、測定面および基準面に基づく、点群のばらつきである、ばらつき誤差Dを算出する。ここで、「測定面」とは、測定対象であるワーク50の表面である。「基準面」とは、ワーク50を測定する際に基準となるような、予め設定された固定面である。「基準面」とは、例えば、ワーク50を置くための土台などの任意の面であり得る。また、
図4A~
図4Cに示す丸い点は、統合データである点群情報の点を示す。
【0058】
なお、基準面および測定面のそれぞれの形状および位置は、仕様情報から判定可能であってよい。例えば、仕様情報のそれ自体が、基準面および測定面の形状および位置の情報(平面情報)を有していてもよい。この場合には、ユーザが指定する情報が多くなるので、ユーザ負担が大きいが、精度よくばらつき誤差Dを算出できる。また、仕様情報は、一方の面の形状および位置と他方の面の滑らかさの情報とを有していてもよいし、両方の面の滑らかさの情報を有していてもよい。仕様情報が面の滑らかさの情報を有していれば、点群情報である統合データの各点を、当該滑らかさを有する曲面で近似すれば、当該面の形状および位置が判定可能である。さらには、仕様情報は、基準面および測定面のそれぞ
れの形状および位置が仕様情報から判定するために、基準面および測定面のエッジの情報を有していてもよい。
【0059】
図4Aは、測定面が平面である場合のばらつき誤差Dの算出方法を説明する図である。ここで測定面が1面である場合、決定部306は、基準面の周辺に位置する点と基準面との距離の分散σ
A
2と、測定面の周辺に位置する点と測定面との距離の分散σ
B
2の合計をばらつき誤差Dとして算出する。つまり、決定部306は、基準面に対する点群のばらつきと、測定面に対する点群のばらつきとに基づき、ばらつき誤差Dを算出する。
【0060】
図4Bは、測定面が平面でない(例えば、曲面である)場合のばらつき誤差Dの算出方法を説明する図である。ここで測定面が2面である場合、決定部306は、基準面と基準面の周辺に存在する点との距離の分散σ
A
2と、第1の測定面と第1の測定面の周辺に位置する点との距離の分散σ
B
2と、第2の測定面と第2の測定面の周辺に位置する点との距離の分散σ
C
2との合計をばらつき誤差Dとして算出する。
【0061】
なお、基準面の形状および位置のみが仕様情報から把握できる場合(例えば、仕様情報が基準面の形状および位置のみを有する場合)であって、測定面の形状および位置が仕様情報から把握できない場合でも、ばらつき誤差Dは算出可能である。例えば、決定部306は、基準面の周辺に位置する各点と基準面との距離の分散を、ばらつき誤差Dとして決定してもよい。
【0062】
図4Cは、点群情報から寸法の計測指標を算出するためのアルゴリズムが与えられている場合の、ばらつき誤差Dの算出方法を説明する図である。この場合、決定部306は、基準面と測定面についてそれぞれ3次元モデルフィッティングを行い、それらの相対位置の関係から定まる寸法zを算出する。そして、決定部306は、寸法zの分散であるvar[z]をばらつき誤差Dとして算出する。
【0063】
なお、以上では、ばらつき誤差Dに応じて、統合データの測定精度を算出したが、統合データの測定精度が算出できれば任意の方法を用いてもよい。例えば、決定部306は、検査部308が行う検査と同様の処理を行い、検査の良否を表す値を測定精度として用いてもよい。例えば、仕様情報がワーク50の3次元モデルの情報を含んでおり、決定部306は、仕様情報が表す3次元モデルと構成部305が構成した統合データが表す3次元モデルとの合致度を、統合データの測定精度としてもよい。
【0064】
ステップS1004では、制御部301は、経路生成部307を制御して、M点の本撮像位置を接続する本移動経路を生成する。経路生成部307は、具体的には、最短時間(検査タクト)でM点の本撮像位置での撮像を完了できるような本移動経路を生成する。経路生成部307は、例えば、ロボット10の稼働速度や稼働範囲などの情報に基づき、M点の本撮像位置間の移動に要する時間を算出できる。また、経路生成部307は、例えば、距離画像センサ20の露光時間などの設定の情報に基づき、各本撮像位置での撮像に要する時間を算出できる。そして、経路生成部307は、M点の本撮像位置それぞれでの撮像に要する時間の合計とM点の本撮像位置間の移動に要する時間とを合計することにより、M点の本撮像位置での撮像の完了に要する時間を算出できる。
【0065】
なお、M点の本撮像位置は仮移動経路にも含まれる位置なので、経路生成部307は、
図7Bのように、仮移動経路を本移動経路として用いてもよい。仮移動経路を本移動経路として用いれば、決定フェーズにおける処理を簡略化することができる。また、移動経路がロボット10の組み立て動作の一部を兼ねていたりして、移動経路が予め決まった経路から変更できない場合にも有効である。
【0066】
このように、本移動経路および本撮像位置を決定することによれば、検査システム1は、検査フェーズにおいて少ない撮像位置から撮像した少数の距離画像を用いた場合であっても、測定精度が維持された統合データが生成可能である。このため、処理数が少なく、かつ、精度よくワーク50Bの検査ができる。
【0067】
[検査フェーズ]
以下では、情報処理装置30が行う検査フェーズにおける処理を
図3Bのフローチャートを用いて説明する。
図3Bのフローチャートの各処理は、制御部301が記憶部302に格納されたプログラムを実行することによって実現される。
【0068】
ステップS2001では、制御部301は、撮像制御部304を介してロボット10および距離画像センサ20を制御して、M点の本撮像位置からワーク50Bを撮像したM枚の距離画像を取得する。具体的には、撮像制御部304は、距離画像センサ20が本移動経路に従って移動するようにロボット10の姿勢を制御し、距離画像センサ20がM点の本撮像位置のいずれかに到達するたびに、距離画像センサ20を制御して距離画像を取得する。
【0069】
ステップS2002では、制御部301は、構成部305を制御して、ステップS2002にて撮像したM枚の距離画像を統合して、ワーク50Bの統合データを生成する。これにより、構成部305は、ワーク50Bの測定結果として統合データを取得する。
【0070】
ステップS2003では、検査部308を制御して、ワーク50Bの統合データに基づき、ワーク50を検査する。
【0071】
なお、検査フェーズの処理は、ワーク50Bの組立工程を含んでいてもよい。例えば、距離画像センサ20がロボット10の把持部と並んで取り付けられており、部品のピッキングや組付けのための動作の位置において、本撮像位置での撮像や検査を行ってもよい。これによれば、検査および組立の総合的な時間を削減できる。
【0072】
このように、本実施形態では、検査システム1は、統合データの測定精度に基づき、検査フェーズにおいて距離画像センサ20が撮像を行う本撮像位置の数を絞る。これによって、検査フェーズにおいて、少数の撮像位置から距離画像センサ20が撮像した少数の距離画像を用いた場合でも、高い精度でワーク50Bの検査が可能になる。このため、検査フェーズにおける、検査(測定)の精度を維持しつつ、撮像処理を低減させることができる。
【0073】
また、発明者が行った実験によれば、
図10のグラフのように、同じばらつき誤差Dを実現するための距離画像の撮像枚数を大幅に減少することができた。具体的には、20点の任意の撮像位置から距離画像センサ20が撮像した距離画像を統合した統合データと同様の測定精度の統合データを、本実施形態で説明したように決定した12点の本撮像位置から撮像した距離画像から生成することができた。
【0074】
なお、決定フェーズにおいてステップS1004の処理が行われずに、検査フェーズにおいて検査システム1は仮移動経路を本移動経路として、M点の本撮像位置からワーク50Bを撮像するようにしてもよい。
【0075】
また、本実施形態では、撮像制御部304は、ワーク50Aおよびワーク50Bを移動させることなく、距離画像センサ20を移動させることによって撮像位置を変化させた。そして、撮像位置とは、距離画像センサ20の絶対的な位置である必要はなく、ワーク50に対する距離画像センサ20の相対的な位置であってもよい。このため、撮像制御部3
04は、距離画像センサ20を移動させることなく、ワーク50Aおよびワーク50Bを移動させることにより撮像位置を変化させてもよい。つまり、本移動経路は、ワーク50Bが移動する経路であり、仮移動経路はワーク50Bが移動する経路であってもよい。また、撮像制御部304は、距離画像センサ20を移動させるとともに、ワーク50Aおよびワーク50Bを移動させることにより撮像位置を変化させてもよい。このように距離画像センサ20とワーク50との両方を移動させることによれば、距離画像センサ20は複数の撮像位置からの撮像をより早く完了させることが可能になる。
【0076】
[変形例1]
実施形態1では、検査システム1は、Greedy選択を用いてM点の本撮像位置を決定したが、ステップS1003においてM枚の距離画像を統合した複数の統合データを生成し、その中から測定精度の高い統合データに対応するM点を本撮像位置として決定してもよい。以下では、本変形例に係るステップS1003の具体的な処理について説明する。
【0077】
ステップS1003では、制御部301は、構成部305を制御して、N枚の距離画像のうちのM枚の距離画像を選択して、M枚の距離画像から統合データ(点群データ)を構成する。ここで、構成部305は、N枚の距離画像のうちのM枚を選択する全ての組合せについて、M枚の距離画像から統合データを構成する。つまり、構成部305は、nCm=(n(n-1)・・・(n-m+1))/(m(m-1)・・・1)の数だけ、統合データを構成する。なお、構成部305は、全ての組合せの統合データを構成する必要はなく、任意の数の組合せのみについて統合データを構成してもよい。
【0078】
その後、制御部301は、決定部306を制御して、N点の仮撮像位置からM点の本撮像位置を決定する。具体的には、まず、決定部306は、構成部305が構成した複数の統合データの測定精度を算出する。そして、決定部306は、複数の統合データのうち測定精度が最も高い統合データに対応するM点の仮撮像位置を本撮像位置として決定する。
【0079】
なお、Greedy選択や本変形例に係る決定方法(組み合わせ最適化方法)だけでなく、混合整数二次計画問題などを用いた任意の組み合わせ最適化方法を用いてもよい。
【0080】
以下では、
図9を参照して、混合整数二次計画問題を用いて、Greedy選択よりも好適な組み合わせ解を求めたい場合に、{0,1}最適化問題に帰着させる例を示す。評価関数を具体的に表現するために、実現値を複数の空間(ボクセルメッシュ)で区切ってその中で集合平均をとる手法を実施した場合を考える。
図9は、N枚の距離画像の全ての点群を、そのまま3次元空間上に配置した図を示す。そして、n番目の距離画像におけるk番目のボクセルメッシュに含まれる点群をp∈P
k,nという集合で示す。つまり、kはボクセルメッシュのインデックスであり、nはN枚の距離画像のインデックスである。また、k番目のボクセルメッシュの代表座標をr
kとする。代表座標r
kは、選択された距離画像の点群座標の平均値であり、次の式(1)ように表現する。つまり、代表座標r
kは、選択された距離画像を構成部305が統合して統合データを構成した場合の、統合データにおけるk番目のボクセルメッシュの代表座標であるといえる。このため、本例でも、構成部305は、N枚の距離画像のうち互いに異なる複数の組合せのそれぞれから複数の統合データを構成しているといえる。
【数1】
【0081】
ここで、x=(x
1,x
2,・・・,x
N)
T∈{0,1}
NはN枚の距離画像のうち
、選択されたら1となり、選択されなかったら0となる選択ベクトルである。次に、同じ距離画像に属する点群だけを予め平均化しておくことで、式(1)は次の式(2)のように変形できる。
【数2】
【0082】
そして、上記のように求められた代表座標r
kがとるべき目標の座標値(目標座標)をq
kとする。この目標座標q
kの決定方法は任意である。例えば、決定部306は、フィッティング推定された
図9のuv平面や滑らかな曲面とボクセルメッシュとの交点を目標座標q
kとして決定してもよいし、ボクセルメッシュ内でN枚全部の座標を平均して目標座標q
kを算出してもよい。これら用いて、選択の際に最小化すべき、代表座標r
kと目標座標q
kとのフィッティング誤差の二乗和Jは次の式(3)のように表現できる。このフィッティング誤差の二乗和Jは、上記のばらつき誤差Dと同様に用いることができる。つまり、ワーク50との一致度を表す測定精度は、フィッティング誤差の二乗和Jの値が小さいほど、大きい。
【数3】
【0083】
上の式(3)において、N個のうち選択される要素数がM(定数)であるとすると、フィッティング誤差の二乗和である評価関数Jは、次の式(4)のように2次式として表現できる。
【数4】
【0084】
ここで、式(4)におけるQおよびbは、次の式(5)および式(6)のように定義した数である。
【数5】
【0085】
そして、選択される要素数がMという定数であるという拘束条件を導入すると、最終的に最小化すべき評価関数Jは次の式(7)のように表現できる。
【数6】
【0086】
評価関数Jをx∈{0,1}Nの範囲で最小化する問題は、QUBO(Quadratic Unconstrained Binary Optimization:二次制約なし二値最適化)として知られており、イジングマシンやGPUなどの専用ハードウェアや数理計画ソルバーを用いることで、より最適な組み合わせを求めることができる。そして、決定部306は、評価関数Jが最小化された場合(測定精度が最大化された場合)に、x=1となる距離画像が、M枚の距離画像として選択できる。さらに、決定部306は、このM枚の距離画像に対応するM点の仮測定位置を、M点の本測定位置として決定できる。
【0087】
[変形例2]
なお、実施形態1では、N点の仮撮像位置は、ユーザ入力に応じた位置であるとしたが、検査システム1がN点の仮撮像位置を決定してもよい。例えば、決定部306が、p点(p<N)の仮撮像位置が決定している状態で、当該p点までのワーク50Aの撮像結果に基づき、次のp+1点目の仮撮像位置を決定していくことを繰り返すことによって、N点の仮撮像位置を決定してもよい。例えば、決定部306は、p点目の仮撮像位置から所定の範囲(例えば、半径5cm以内)の撮像位置であって、ワーク50Aが他の物体によって隠れてしまうオクルージョンが発生しない撮像位置、または/および、p点の仮撮像位置から未だ撮像されていないワーク50Aの範囲を撮像できる撮像位置を優先的に、p+1点目の仮撮像位置に決定する。
【0088】
本変形例によれば、オクルージョンなどの実際に撮像してみなければ分からない現象を回避するように、好適なN点の仮撮像位置を選ぶことができることができる。
【0089】
<実施形態2>
実施形態1では、検査システム1は、ステップS1003において統合データの測定精度(ばらつき誤差D)のみに基づき、M点の本撮像位置を決定したが、さらに、距離画像センサ20が撮像を完了するまでに要する時間に基づきM点の本撮像位置を決定してもよい。
【0090】
以下では、ステップS1003において、検査システム1が、K枚の距離画像が選択されている状態において、K+1枚目の距離画像を選択する場合の例を説明する。この場合、まず、構成部305は、K枚の距離画像と、残りのN-K枚の距離画像それぞれ1枚とを統合したN-K個の統合データを構成する。決定部306は、K+1個の統合データそれぞれについて、測定精度と、当該統合データに対応するK+1点の仮撮像位置で距離画像センサ20が最短で撮像を完了できる時間(検査タクト)とを算出する。そして、決定部306は、複数の統合データのうちの、測定精度を検査タクトで除算した値が最も大きい統合データに対応するK+1枚の距離画像を選択する。なお、決定部306は、測定精度を検査タクトで除算した値の代わりに、測定精度が高いほど大きな値をとり、かつ、検査タクトが小さいほど大きな値をとる任意の値を用いてK+1枚の距離画像を選定してもよい。
【0091】
これによれば、撮像処理に要する時間と、検査精度とのバランスがよくなるようなM点の本撮像位置を決定することができる。このため、撮像処理に要する時間を低減しつつも、検査精度を高く保つことができる。
【0092】
<実施形態3>
実施形態1,2では、決定フェーズにおいて、1つの仮移動経路から1つの本移動経路が生成されたが、複数の仮移動経路(
図8の例では、L=1~3の3つの仮移動経路)に基づき1つの本移動経路が生成されてもよい。ここでは、複数の仮移動経路のそれぞれに対して、予めN点の仮撮像位置が対応するように設定されている。なお、Nは、仮移動経路ごとに異なる値であってもよい。
【0093】
ここで、L個の仮移動経路および、L個の仮移動経路それぞれに対応する仮撮像位置の情報が記憶部302に記憶されているものとする。この場合には、ステップS1001において、制御部301は、情報取得部303を制御して、L個の仮移動経路の情報、およびそれらに対応するL個×N点の仮撮像位置の情報を取得する。ステップS1002(
図8のStep1)において、制御部301は、撮像制御部304を制御して、L個×N点の仮撮像位置から、距離画像センサ20によってワーク50Aを撮像する。
【0094】
ステップS1003(
図8のStep2)において、制御部301は、構成部305および決定部306を制御して、L個の仮移動経路それぞれについて、実施形態1と同様の方法によって、M点の本撮像位置の候補を決定する。ここで、構成部305は、L個の仮移動経路それぞれについて、対応するM点の本撮像位置の候補から撮像された距離画像を統合して統合データを構成する。
【0095】
ステップS1004において、制御部301は、経路生成部307を制御して、L個の仮移動経路のそれぞれに対応する統合データのうち、最も測定精度がよい統合データに対応する仮移動経路を選択する。そして、経路生成部307は、選択した1つの仮移動経路のM点から、本移動経路を生成する。なお、経路生成部307は、選択した1つの仮移動経路をそのまま本移動経路としても用いてもよい(
図8のStep3)。また、決定部306は、選択した1つの仮移動経路に対応するM点の本撮像位置の候補を、M点の本撮像位置に決定する。
【0096】
実施形態3によれば、多くの仮移動経路から最適な1つの本移動経路が生成可能(M点の本撮像位置が決定可能)であるため、より精度高く検査が可能なM点の本撮像位置が決定可能である。従って、ワーク50Bのさらなる検査精度の向上が望める。
【0097】
<実施形態4>
実施形態1では、本撮像位置の数であるMの値はユーザ入力に従って(予め設定された)値であったが、検査システム1が本撮像位置の数であるMの値を決定してもよい。実施形態4では、検査フェーズにおける撮像に要する時間の上限(タクト上限値T;閾値)が予め設定されているものとする。そして、検査システム1は、タクト上限値Tに達しない範囲において対応する検査タクトが最大になる距離画像の数を、本撮像位置の数であるMとして決定する。
【0098】
ここで、ステップS1003の処理のみが実施形態1と異なるため、ステップS1003に代わる処理について説明する。
【0099】
実施形態4では、ステップS1003の代わりの処理において、制御部301は、決定部306を制御して、Greedy選択によって、N枚の距離画像の中から1枚ずつ距離画像を選択していく。そして、決定部306は、1枚を選択するごとに、既に選択された全ての距離画像に対応する仮撮像位置を最短時間で接続した場合の当該最短時間である検査タクトが、タクト上限値T以下であるか否かを判定する。当該検査タクトがタクト上限値T以下であれば、決定部306は、さらに1枚の距離画像を選択して、検査タクトと上限タクトとを比較することを繰り返す。一方、当該検査タクトがタクト上限値Tよりも大きければ、決定部306は、最後(ここでは、K番目とする)に選択した距離画像の選択
を破棄して、1~K-1番目に選択した距離画像に対応するK-1点の仮撮像位置をK-1点の本撮像位置として決定する。つまり、決定部306は、このK-1を、本撮像位置の数であるMの値として決定している。
【0100】
本実施形態によれば、検査フェーズの撮像処理において時間的な制約がある場合にも、その中で好適な本撮像位置を決定することができる。つまり、検査フェーズの撮像処理において時間的な制約がある場合においても、精度高くワーク50Bの検査を実現することができる。また、ユーザは、本撮像位置の値Mを予めどの程度の値にすればよいのかを、悩む必要がなくなる。
【0101】
<実施形態5>
実施形態4では、検査システム1が、タクト上限値Tに応じて、本撮像位置の数Mを決定したが、検査タクトとばらつき誤差Dとの関係をユーザに示して、ユーザがその関係に基づき本撮像位置の数Mの値を決定してもよい。
【0102】
つまり、
図5Aに示すように、ステップS1002とステップS1003との間に、Mの数を決定するためのステップS1010~S1012の処理が行われてもよい。
【0103】
ステップS1010では、制御部301は、決定部306を制御して、本撮像位置の数Mの値が任意の範囲のいずれかに対応する場合それぞれのばらつき誤差D(測定精度)と、当該ばらつき誤差Dに対応する検査タクトの値を算出する。これらは、例えば、Greedy選択において距離画像を1枚ずつ選択するごとに、選択した全ての距離画像を統合した統合データのばらつき誤差Dを算出すること、および当該統合データ(選択した全ての距離画像)に対応する検査タクトを算出することによって実現できる。
【0104】
ステップS1011では、制御部301は、
図6Aに示すような、本撮像位置の数M(検査時の撮影枚数)の値とばらつき誤差D(測定精度)との関係を示すグラフを不図示の表示部に表示する。制御部301は、
図6Bに示すような、本撮像位置の数Mの値とばらつき誤差D(測定精度)と検査タクトの関係を示すグラフを表示部に表示してもよい。
【0105】
ステップS1012では、制御部301は、ユーザ入力を受け付け、ユーザ入力に応じた値を本撮像位置の数Mとして決定する。
【0106】
本実施形態によれば、本撮像位置の数Mの値とばらつき誤差D(測定精度)との関係を示すグラフが表示されるため、ユーザは、本撮像位置の数Mに対応する測定精度を把握でき、本撮像位置の数Mの検査への影響を容易に把握できる。また、
図6Bに示すグラフが表示されれば、ユーザは、どの程度の検査タクトであればどの程度の測定精度となるのかを俯瞰したうえで、納得する検査タクトと測定精度のバランスを決定することができる。このため、ユーザは、本撮像位置の数Mを容易かつ適切に決定できる。
【0107】
<実施形態6>
実施形態1では、検査システム1は、N点の仮撮像位置からのN点の距離画像に基づき、M点の本撮像位置を決定したが、実施形態6では、N点の仮撮像位置およびその周辺の位置からの距離画像に基づきM点の本撮像位置を決定する。
【0108】
実施形態6では、実施形態1に係る
図3Aの決定フェーズのステップS1002およびS1003の処理の代わりに、
図5Bに示すように、ステップS1022およびS1023の処理が行われる。それ以外については、実施形態6は、実施形態1と同様であるので詳細な説明を省略する。
【0109】
ステップS1022では、制御部301は、撮像制御部304を制御して、N点の仮撮像位置、およびそれぞれの仮撮像位置の周辺位置から距離画像センサ20を用いてワーク50Aを撮像する。具体的には、撮像制御部304は、N点の仮撮像位置のそれぞれについて、当該仮撮像位置と仮撮像位置の周辺のq点の位置(q点の周辺位置)からワーク50Aを距離画像センサ20に撮像させる。この結果、距離画像センサ20は、N(q+1)点の位置からワーク50Aを撮像したN(q+1)枚の距離画像を取得する。なお、各仮撮像位置と、その仮撮像位置に対応する周辺位置はそれぞれ、一定(同一)の相対的な位置関係を有する。つまり、第1の仮撮像位置と第1の仮撮像位置に対応するq点の周辺位置との相対的な位置関係は、第2の仮撮像位置と第2の仮撮像位置に対応するq点の周辺位置との相対的な位置関係と同一である。
【0110】
ステップS1023では、制御部301は、構成部305および決定部306を制御して、N点の仮撮像位置からM点の本撮像位置を決定する。構成部305は、N枚の距離画像それぞれについて、当該距離画像と、当該距離画像を撮像した仮測定位置のq点の周辺位置から撮像した距離画像とを1つのセットとして組み合わせた画像セットを設定する。このとき、構成部305は、N個の画像セット(1つの撮像位置から撮像した距離画像と、当該撮像位置の周辺位置から撮像したq個の距離画像とのセット)のうちの互いに異なる複数の組合せのそれぞれから複数の統合データを構成する。そして、決定部306は、上述したような任意の組み合わせ最適化方法を用いて、複数の画像セットを統合した複数の統合データの測定精度に基づき、N個の画像セットからM個の画像セットを選択する。この場合、決定部306は、選択したM個の画像セットに対応するM点の仮測定位置を、M点の本測定位置として決定できる。
【0111】
なお、以下では、具体的な例として、実施形態1と同様に、Greedy選択を用いてM点を決定する例を説明するが、N点の仮撮像位置の周辺位置から撮像された距離画像をさらに用いる点が実施形態1と異なる。
【0112】
ここで、K枚の距離画像が選択されている場合に、K+1枚目の距離画像を選択する方法を説明する。なお、K枚の距離画像は、N点の仮撮像位置のうちのK点から撮像された距離画像である。(1)まず、構成部305は、K枚の距離画像に対応するK個の画像セットと、残りのN-K点の仮撮像位置から撮像された距離画像およびその周辺の(N-K)q点の位置から撮像された距離画像それぞれとを統合した(N-K)(q+1)個の統合データを構成する。(2)次に、決定部306は、(N-K)(q+1)個の統合データそれぞれについて、測定精度を算出する。(3)その後、決定部306は、N-K点の仮撮像位置それぞれについて、当該仮撮像位置に対応する統合データの測定精度と、当該仮撮像位置の周辺位置に対応するq個の統合データの測定精度との平均値を、平均測定精度として算出する。なお、N-K点の仮撮像位置についての平均測定精度は、N-K点の仮撮像位置に対応するN-K点の画像セットのそれぞれと、K個の画像セットとを統合したN-K個の統合データの測定精度と捉えることができる。(4)最後に、決定部306は、N-K点の仮撮像位置についての平均測定精度のうち最も値の大きい平均測定精度に対応する仮撮像位置から撮像した距離画像をK+1枚目の距離画像として選択する。
【0113】
決定部306は、このようにM枚の距離画像を選択していき、選択したM枚の距離画像に対応するM点の仮撮像位置をM点の本撮像位置として決定する。
【0114】
決定フェーズと検査フェーズとで、同じ撮像位置からワーク50を撮像しようとしても、2つのフェーズ間でワーク50の位置が少しずれたりすることにより、測定精度が大きく異なってしまう可能性がある。実施形態6のように、仮撮像位置の周辺位置から撮像した距離画像に基づき、本撮像位置を決定することによれば、決定フェーズと検査フェーズとでのワーク50の位置ずれに起因する測定精度の誤差を少なくすることができる。この
ため、検査フェーズにおける検査の測定精度を安定的に高く維持することが可能になる。
【0115】
[変形例3]
実施形態6では、検査システム1は、N点の仮撮像位置およびその周辺の撮像位置から距離画像センサ20により撮像された距離画像に基づき、M点の本撮像位置を決定する。本変形例では、検査システム1は、N点の仮撮像位置およびその周辺位置の撮像位置から撮像された距離画像の代わりに、ワーク50Aを含むW個のワーク50(ティーチング用物体)のそれぞれを個別にN点の仮撮像位置から撮像した距離画像を用いてもよい。なお、W個のワーク50のうちワーク50A以外のそれぞれは、ワーク50Aと同じ位置姿勢で配置される。
【0116】
つまり、変形例3では、構成部305は、N枚の距離画像それぞれについて、W個のワーク50を個別に撮像したW枚の距離画像を組み合わせた画像セットを設定する。そして、決定部306は、任意の組み合わせ最適化方法を用いて、複数の画像セットを互いに異なる複数の組合せで統合した複数の統合データの測定精度に基づき、N個の画像セットからM個の画像セットを選択してもよい。この場合、決定部306は、選択したM個の画像セットに対応するM点の仮測定位置を、M点の本測定位置として決定できる。
【0117】
互いに異なる物体である複数のワーク50(ティーチング用物体)を撮像した距離画像を用いることによって、例えばワーク50Aに係る特徴的な欠陥が存在したとしても、他のワーク50を用いることによってそれを打ち消すことができる。つまり、ワーク50に存在する個体ばらつきを抑制することができる。
【0118】
なお、実施形態に記載された事項のみによって特許請求の範囲の記載の解釈が限定されるものではない。特許請求の範囲の記載の解釈には、出願時の技術常識を考慮した、発明の課題が解決できることを当業者が認識できるように記載された範囲も含む。
【0119】
(付記1)
三角測量の原理を用いて距離画像を取得する距離画像センサ(20)によって異なる撮像位置で取得された複数の距離画像を用いて、物体(50B)の3次元的な測定を行う測定装置に関して、
前記物体(50B)の測定に用いるべきM枚の距離画像それぞれの撮像位置を決定する情報処理システム(1)であって、
N個の撮像位置(N>M)のそれぞれから前記距離画像センサ(20)を用いて、ティーチング用物体(50A)を撮像したN枚の距離画像を取得する撮像制御手段(304)と、
前記N枚の距離画像のうち互いに異なる複数の組合せのそれぞれから複数の統合データを構成する構成手段(305)と、
前記複数の統合データそれぞれの、前記ティーチング用物体(50A)との一致度を表す精度を算出し、前記複数の統合データそれぞれの精度に基づき、前記N個の撮像位置の中からM個の撮像位置を決定する決定手段(306)と、
を有することを特徴とする情報処理システム(1)。
【0120】
(付記2)
三角測量の原理を用いて距離画像を取得する距離画像センサ(20)によって異なる撮像位置で取得された複数の距離画像を用いて、物体(50B)の3次元的な測定を行う測定装置に関して、
前記物体(50B)の測定に用いるべきM枚の距離画像それぞれの撮像位置を決定する情報処理方法であって、
N個の撮像位置(N>M)のそれぞれから前記距離画像センサ(20)を用いて、ティ
ーチング用物体(50A)を撮像したN枚の距離画像を取得する撮像制御ステップ(S1002)と、
前記N枚の距離画像のうち互いに異なる複数の組合せのそれぞれから複数の統合データを構成する構成ステップ(S1003)と、
前記複数の統合データそれぞれの、前記ティーチング用物体との一致度を表す精度を算出し、前記複数の統合データそれぞれの精度に基づき、前記N個の撮像位置の中からM個の撮像位置を決定する決定ステップ(S1003)と、
を有することを特徴とする情報処理方法。
【符号の説明】
【0121】
1:検査システム、10:ロボット、20:距離画像センサ、
30:情報処理装置、40:制御サーバ、50:ワーク、
60:ネットワーク、301:制御部、302:記憶部、
303:情報取得部、304:撮像制御部、305:構成部、
306:決定部、307:経路生成部、308:検査部、
309:出力部