(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-24
(45)【発行日】2022-11-01
(54)【発明の名称】三次元計測装置
(51)【国際特許分類】
G01B 11/25 20060101AFI20221025BHJP
G06T 7/55 20170101ALI20221025BHJP
【FI】
G01B11/25 H
G06T7/55
(21)【出願番号】P 2019013060
(22)【出願日】2019-01-29
【審査請求日】2021-12-17
(73)【特許権者】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】下平 真達
【審査官】國田 正久
(56)【参考文献】
【文献】国際公開第2017/090111(WO,A1)
【文献】特開2011-220934(JP,A)
【文献】特開2007-315864(JP,A)
【文献】特開2014-55815(JP,A)
【文献】特開2017-75899(JP,A)
【文献】特開2019-27947(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00 - 11/30
G06T 7/50 - 7/593
(57)【特許請求の範囲】
【請求項1】
計測対象物の三次元形状を計測する三次元計測装置において、
周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、
前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、
計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第1露光時間で撮像した複数のパターン画像からなる第1パターン画像セットと、前記第1露光時間よりも長い第2露光時間で撮像した複数のパターン画像からなる第2パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、
前記パターン画像生成部が生成した前記第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否かを判定し、無効画素が無いと判定された場合には、前記第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素値に基づいて、当該画素の計測対象物表面の高さを示す位相データを生成する一方、無効画素があると判定された場合には、前記第1パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成する処理を、各画素について行うことにより位相画像を生成する位相画像生成部と、
前記位相画像生成部で生成した位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする三次元計測装置。
【請求項2】
請求項1に記載の三次元計測装置において、
前記パターン画像生成部は、前記第1露光時間よりも長くかつ前記第2露光時間よりも短い第3露光時間で撮像した第3パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、
前記位相画像生成部は、前記第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があると判定された場合には、当該無効画素を前記第3パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む中間位相画像を生成するとともに、前記第3パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否か判定し、前記第3パターン画像セットを構成するパターン画像に無効画素があると判定された場合には、当該無効画素を前記第1パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む第3位相画像を生成するように構成され、
前記高さ画像生成部は、前記位相画像生成部で生成した第3位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成するように構成されていることを特徴とする三次元計測装置。
【請求項3】
計測対象物の三次元形状を計測する三次元計測装置において、
周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、
前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、
計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第1露光時間で撮像した複数のパターン画像からなる第1パターン画像セットと、前記第1露光時間よりも長い第2露光時間で撮像した複数のパターン画像からなる第2パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、
前記パターン画像生成部が生成した前記第1パターン画像セット及び前記第2パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第1位相画像及び第2位相画像を生成する位相画像生成部と、
前記第2位相画像に無効画素があるか否かを判定し、前記第2位相画像に無効画素が無いと判定された場合には、前記第2位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する一方、前記第2位相画像に無効画素があると判定された場合には、当該無効画素を前記第1位相画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする三次元計測装置。
【請求項4】
請求項3に記載の三次元計測装置において、
前記パターン画像生成部は、前記第1露光時間よりも長くかつ前記第2露光時間よりも短い第3露光時間で撮像した第3パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、
前記位相画像生成部は、前記パターン画像生成部が生成した前記第3パターン画像セットに基づいて計測対象物の表面の位相データを含む第3位相画像を生成するように構成され、
前記高さ画像生成部は、前記第2位相画像に無効画素があると判定された場合には、当該無効画素を前記第3位相画像の対応する位置の画素に置き換える、もしくは切り替えて中間高さ画像を生成するとともに、前記第3位相画像に無効画素があるか否か判定し、前記第3位相画像に無効画素があると判定された場合には、当該無効画素を前記第1位相画像の対応する位置の画素に置き換える、もしくは切り替えて高さ画像を生成するように構成されていることを特徴とする三次元計測装置。
【請求項5】
計測対象物の三次元形状を計測する三次元計測装置において、
周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、
前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、
計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第1露光時間で撮像した複数のパターン画像からなる第1パターン画像セットと、前記第1露光時間よりも長い第2露光時間で撮像した複数のパターン画像からなる第2パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、
前記パターン画像生成部が生成した前記第1パターン画像セット及び前記第2パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第1位相画像及び第2位相画像を生成する位相画像生成部と、
前記第1位相画像及び前記第2位相画像のそれぞれに基づいて計測対象物の高さ情報を含む第1高さ画像及び第2高さ画像を生成する高さ画像生成部と、
前記第2高さ画像に無効画素があるか否かを判定し、前記第2高さ画像に無効画素があると判定された場合には、当該無効画素を前記第1高さ画像の対応する位置の画素に置き換えて置換処理後高さ画像を生成する置換処理部とを備えていることを特徴とする三次元計測装置。
【請求項6】
請求項5に記載の三次元計測装置において、
前記パターン画像生成部は、前記第1露光時間よりも長くかつ前記第2露光時間よりも短い第3露光時間で撮像した第3パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、
前記位相画像生成部は、前記パターン画像生成部が生成した前記第3パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに基づいて計測対象物の表面の位相データを含む第3位相画像を生成するように構成され、
前記高さ画像生成部は、前記第3位相画像に基づいて計測対象物の高さ情報を含む第3高さ画像を生成するように構成され、
前記置換処理部は、前記第2高さ画像に無効画素があると判定された場合には、当該無効画素を前記第3高さ画像の対応する位置の画素に置き換えた中間高さ画像を生成するとともに、前記中間高さ画像に無効画素があるか否か判定し、前記中間高さ画像に無効画素があると判定された場合には、当該無効画素を前記第1高さ画像の対応する位置の画素に置き換えた置換処理後高さ画像を生成するように構成されていることを特徴とする三次元計測装置。
【請求項7】
請求項1から6のいずれか1つに記載の三次元計測装置において、
前記パターン画像の中で一定の輝度値以上の値を有する画素を前記無効画素とするように構成されており、位相画像、または高さ画像、あるいはその両方において、無効画素であることを識別可能に構成されていることを特徴とする三次元計測装置。
【請求項8】
請求項1から7のいずれか1つに記載の三次元計測装置において、
露光時間を複数通りに変化させて得られた複数の第1パターン画像セットと第2パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第1露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項9】
請求項1から8のいずれか1つに記載の三次元計測装置において、
露光時間を複数通りに変化させて得られた複数の第1パターン画像セットと第2パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第2露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項10】
請求項1から9のいずれか1つに記載の三次元計測装置において、
露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた第2パターン画像のそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を累積した第1累積有効画素数を得て、第1累積有効画素数の増加度が所定以下となる露光時間を前記第2露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項11】
請求項10に記載の三次元計測装置において、
第1累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を前記第2露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項12】
請求項1から11のいずれか1つに記載の三次元計測装置において、
露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた複数の第1パターン画像のそれぞれについて飽和画素数を得て、飽和画素数が増え始める直前の露光時間を前記第1露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項13】
請求項1から12のいずれか1つに記載の三次元計測装置において、
前記撮像部は、露光時間中に所定以上の強度の光を受光して飽和電位よりも低く設定された所定電位まで電荷が蓄積された場合に電荷の蓄積を所定時間停止可能な受光素子を備えていることを特徴とする三次元計測装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元形状を計測する三次元計測装置に関する。
【背景技術】
【0002】
従来より、計測対象物の三次元形状を非接触で計測する場合に所定のパターン光を計測対象物に投影し、計測対象物から反射した反射光をイメージセンサで受光してパターン画像を生成し、このパターン画像から三角測量の原理に基づいて高さ情報を取得する方法が知られている。
【0003】
特許文献1には、相対的に短い露光時間でイメージセンサにより生成したパターン画像から距離画像を取得するとともに、相対的に長い露光時間でイメージセンサにより生成したパターン画像から距離画像を取得し、相対的に短い露光時間のパターン画像から得た距離画像において画素値が不明な画素がある場合に、その画素値が不明な画素を、相対的に長い露光時間のパターン画像から得た距離画像の画素値で置き換えることが開示されている。
【0004】
また、特許文献2には、パターン光の明部に対応する箇所が輝度飽和しない第1露光時間により撮像を行う第1撮像処理と、パターン光の暗部の計測に適した露光時間のうち、第1露光時間で不足した分に相当する第2露光時間により撮像を行う第2撮像処理とを行い、第1撮像処理により取得した濃淡画像の輝度飽和していない箇所と、第2撮像処理により取得した濃淡画像の輝度飽和していない箇所とを合成して濃淡画像を作成することが開示されている。具体的には、第1撮像処理により取得した濃淡画像の各画素の輝度値と、第2撮像処理により取得した濃淡画像の各画素の輝度値を合算した値が輝度飽和しているか否かを各画素について判定し、輝度飽和している場合には、当該画素に関して、第1撮像処理により取得した濃淡画像の輝度値を用い、輝度飽和していない場合には、当該画素に関して、前記合算した値を用いて、三次元計測用の画像データを作成している。
【0005】
また、特許文献3には、異なる露光時間でイメージセンサにより生成した複数のパターン画像を取得し、これら複数のパターン画像から有効な画素を抽出して1つに合成することにより多重露光画像を生成し、多重露光画像から三次元計測用の画像データを作成することが開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特許第6038415号公報
【文献】特許第5290233号公報
【文献】特許第4889373号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、特許文献1では、相対的に短い露光時間のパターン画像の中で画素値が不明な画素を相対的に長い露光時間の画素値と置き換えるようにしているので、相対的に短い露光時間のパターン画像の画素が優先されることになる。露光時間が短いと、例えば傾斜面等から反射光を十分に受光することができず、その結果、三次元計測結果の精度が低下してしまう。
【0008】
そこで、特許文献2のように、輝度飽和しているか否かを各画素について判定し、輝度飽和している場合には、パターン光の明部の計測に適した露光時間により得られた輝度値を用い、輝度飽和していない場合には、パターン光の明部の計測に適した露光時間と、パターン光の暗部の計測に適した露光時間と合算した値を用いることで、露光時間の長い側を優先することが考えられる。
【0009】
しかしながら、例えば、照度分布の位相をシフトさせた複数のパターン光を順次照射して得られた複数のパターン画像から高さ情報を取得する位相シフト法を用いた場合、複数のパターン画像の中でパターンの箇所によって明暗(飽和状態)が大きく変わるため、輝度飽和の有無に応じて、濃淡画像上で選択的に合成を行ってしまうと、不適切な位相シフトパターンの組み合わせで三次元計測を行う箇所が生じることになり、計測精度が著しく悪化する可能性がある。
【0010】
したがって、位相シフトの全パターンが、「全て輝度飽和する箇所」と、「全て輝度飽和しない箇所」のように、綺麗に2分化できる対象であれば、特許文献2の方法でも計測精度をある程度高めることができるが、例えば、ばら積みされている複数のワークを三次元計測するような使用形態には不向きであった。
【0011】
また、特許文献3では、異なる露光時間のパターン画像を1つに合成するようしており、これにより、濃淡画像上でハイダイナミックレンジ合成が可能になる。ところが、異なる露光時間のパターン画像を1つに合成する際、量子化誤差の影響や、イメージセンサのオフセットレベルの影響等に起因して画素間の連続性が悪化し、計測精度の低下は避けられない。
【0012】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、例えば複雑な形状を有する計測対象物や、様々な姿勢にある複数の計測対象物を三次元計測する場合に、計測精度を高めることにある。
【課題を解決するための手段】
【0013】
上記目的を達成するために、第1の発明は、計測対象物の三次元形状を計測する三次元計測装置において、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第1露光時間で撮像した複数のパターン画像からなる第1パターン画像セットと、前記第1露光時間よりも長い第2露光時間で撮像した複数のパターン画像からなる第2パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、前記パターン画像生成部が生成した前記第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否かを判定し、無効画素が無いと判定された場合には、前記第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素値に基づいて、当該画素の計測対象物表面の高さを示す位相データを生成する一方、無効画素があると判定された場合には、前記第1パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成する処理を、各画素について行うことにより位相画像を生成する位相画像生成部と、前記位相画像生成部で生成した位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする。
【0014】
この構成によれば、計測対象物を第1露光時間で撮像した第1パターン画像セットと、第1露光時間よりも長い第2露光時間で撮像した第2パターン画像セットとが生成される。第2パターン画像セットは、相対的に長い露光時間で撮像されているので、一部の画素が飽和した状態となっている場合があり得る。第2パターン画像セットにおいて飽和した画素は、三次元計測に寄与しない無効画素となる得る画素である。
【0015】
第2パターン画像セットに無効画素が無い場合には、第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素値に基づいて計測対象物の表面の位相データを含む位相画像を生成し、この位相画像に基づいて高さ画像が生成される。第2パターン画像セットは、露光時間が長いパターン画像、即ち、例えば傾斜面等からの反射光も十分に受光したパターン画像セットであるので、第2パターン画像セットに基づいた高さ画像を取得することで高精度な三次元計測結果になる。
【0016】
一方、第2パターン画像セットに無効画素があると判定された場合には、第1パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成する処理を、各画素について行うことにより位相画像を生成する。第1パターン画像セットは、露光時間が短いので、第2パターン画像セットで飽和している画素と同位置の画素であっても、飽和していない可能性が高く、第1パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成することで、当該パターン画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【0017】
第2の発明は、前記パターン画像生成部は、前記第1露光時間よりも長くかつ前記第2露光時間よりも短い第3露光時間で撮像した第3パターン画像を生成するように前記照明部及び前記撮像部を制御し、前記位相画像生成部は、前記第2パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があると判定された場合には、当該無効画素を前記第3パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む中間位相画像を生成するとともに、前記第3パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否か判定し、前記第3パターン画像セットを構成するパターン画像に無効画素があると判定された場合には、当該無効画素を前記第1パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む第3位相画像を生成するように構成され、前記高さ画像生成部は、前記位相画像生成部で生成した第3位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成するように構成されていることを特徴とする。
【0018】
この構成によれば、第1、第2及び第3露光時間のそれぞれでパターン画像セットを生成し、最も長い露光時間の第2パターン画像セットを構成するパターン画像を優先して高さ画像を生成することができるので、高精度な三次元計測結果が得られる。
【0019】
第3の発明は、計測対象物の三次元形状を計測する三次元計測装置において、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第1露光時間で撮像した複数のパターン画像からなる第1パターン画像セットと、前記第1露光時間よりも長い第2露光時間で撮像した複数のパターン画像からなる第2パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、前記パターン画像生成部が生成した前記第1パターン画像セット及び前記第2パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第1位相画像及び第2位相画像を生成する位相画像生成部と、前記第2位相画像に無効画素があるか否かを判定し、前記第2位相画像に無効画素が無いと判定された場合には、前記第2位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する一方、前記第2位相画像に無効画素があると判定された場合には、当該無効画素を前記第1位相画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする。
【0020】
この構成によれば、計測対象物を第1露光時間で撮像した第1パターン画像セットと、第1露光時間よりも長い第2露光時間で撮像した第2パターン画像セットとが生成され、第1パターン画像セット及び第2パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第1位相画像及び第2位相画像が生成される。第2位相画像は、相対的に長い露光時間で撮像された第2パターン画像セットを構成するパターン画像に基づいているので、一部の画素が飽和した状態となっている場合があり得る。第2位相画像において飽和した画素は、三次元計測に寄与しない無効画素となる得る画素である。
【0021】
第2位相画像に無効画素が無い場合には、第2位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。この第2位相画像は、露光時間が長いパターン画像、即ち、例えば傾斜面等からの反射光も十分に受光したパターン画像に基づいた位相画像となっているので、高精度な三次元計測結果になる。
【0022】
一方、第2位相画像に無効画素があると判定された場合には、当該無効画素が第1位相画像の対応する位置の画素に置き換えられる。第1位相画像は、露光時間が短い第1パターン画像に基づいているので、第2位相画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換える、もしくは切り替えることで、置き換え後、もしくは切り替え後の位相画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【0023】
第4の発明は、前記パターン画像生成部は、前記第1露光時間よりも長くかつ前記第2露光時間よりも短い第3露光時間で撮像した第3パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、前記位相画像生成部は、前記パターン画像生成部が生成した前記第3パターン画像セットに基づいて計測対象物の表面の位相データを含む第3位相画像を生成するように構成され、前記高さ画像生成部は、前記第2位相画像に無効画素があると判定された場合には、当該無効画素を前記第3位相画像の対応する位置の画素に置き換える、もしくは切り替えて中間高さ画像を生成するとともに、前記第3位相画像に無効画素があるか否か判定し、前記第3位相画像に無効画素があると判定された場合には、当該無効画素を前記第1位相画像の対応する位置の画素に置き換える、もしくは切り替えて高さ画像を生成するように構成されていることを特徴とする。
【0024】
この構成によれば、第1、第2及び第3露光時間のそれぞれでパターン画像セットを生成し、最も長い露光時間の第2パターン画像セットを構成するパターン画像に基づいて生成された第2位相画像を優先して高さ画像を生成することができるので、高精度な三次元計測結果が得られる。
【0025】
第5の発明は、計測対象物の三次元形状を計測する三次元計測装置において、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第1露光時間で撮像した複数のパターン画像からなる第1パターン画像セットと、前記第1露光時間よりも長い第2露光時間で撮像した複数のパターン画像からなる第2パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、前記パターン画像生成部が生成した前記第1パターン画像セット及び前記第2パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第1位相画像及び第2位相画像を生成する位相画像生成部と、前記第1位相画像及び前記第2位相画像のそれぞれに基づいて計測対象物の高さ情報を含む第1高さ画像及び第2高さ画像を生成する高さ画像生成部と、前記第2高さ画像に無効画素があるか否かを判定し、前記第2高さ画像に無効画素があると判定された場合には、当該無効画素を前記第1高さ画像の対応する位置の画素に置き換えて置換処理後高さ画像を生成する置換処理部とを備えていることを特徴とする。
【0026】
この構成によれば、計測対象物を第1露光時間で撮像した第1パターン画像セットと、第1露光時間よりも長い第2露光時間で撮像した第2パターン画像セットとが生成され、第1パターン画像セット及び第2パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第1位相画像及び第2位相画像が生成される。そして、第1位相画像及び第2位相画像のそれぞれに基づいて計測対象物の高さ情報を含む第1高さ画像及び第2高さ画像が生成される。
【0027】
第2高さ画像は、相対的に長い露光時間で撮像された第2パターン画像セットに基づいているので、一部の画素が飽和した状態となっている場合があり得る。第2高さ画像において飽和した画素は、三次元計測に寄与しない無効画素となる得る画素である。
【0028】
第2高さ画像に無効画素が無い場合、第2高さ画像は、露光時間が長いパターン画像、即ち、例えば傾斜面等からの反射光も十分に受光したパターン画像に基づいた高さ画像となっているので、高精度な三次元計測結果が得られる。
【0029】
一方、第2高さ画像に無効画素があると判定された場合には、当該無効画素が第1高さ画像の対応する位置の画素に置き換えられる。第1高さ画像は、露光時間が短い第1パターン画像に基づいているので、第2高さ画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置換後高さ画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【0030】
第6の発明は、前記パターン画像生成部は、前記第1露光時間よりも長くかつ前記第2露光時間よりも短い第3露光時間で撮像した第3パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、前記位相画像生成部は、前記パターン画像生成部が生成した前記第3パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに基づいて計測対象物の表面の位相データを含む第3位相画像を生成するように構成され、前記高さ画像生成部は、前記第3位相画像に基づいて計測対象物の高さ情報を含む第3高さ画像を生成するように構成され、前記置換処理部は、前記第2高さ画像に無効画素があると判定された場合には、当該無効画素を前記第3高さ画像の対応する位置の画素に置き換えた中間高さ画像を生成するとともに、前記中間高さ画像に無効画素があるか否か判定し、前記中間高さ画像に無効画素があると判定された場合には、当該無効画素を前記第1高さ画像の対応する位置の画素に置き換えた置換処理後高さ画像を生成するように構成されていることを特徴とする。
【0031】
この構成によれば、第1、第2及び第3露光時間のそれぞれでパターン画像セットを生成し、最も長い露光時間の第2パターン画像セットに基づいて生成された第2高さ画像を優先して置換処理後高さ画像を生成することができるので、高精度な三次元計測結果が得られる。
【0032】
第7の発明は、前記パターン画像の中で一定の輝度値以上の値を有する画素を前記無効画素とするように構成されており、位相画像、または高さ画像、あるいはその両方において、無効画素であることを識別可能に構成されていることを特徴とする。
【0033】
この構成によれば、パターン画像の中で一定の輝度値以上の値を有する画素が飽和した状態にあると推定することができ、三次元計測に寄与しないので、この画素を無効画素として判定することで、高精度な三次元計測結果が得られる。「一定の輝度値」とは、最大輝度値であってもよいし、最大輝度値から僅かに低い輝度値であってもよく、無効画素となり得る輝度値である。
【0034】
第8の発明は、露光時間を複数通りに変化させて得られた複数の第1パターン画像セットと第2パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第1露光時間とするように構成されていることを特徴とする。
【0035】
この構成によれば、有効画素数に基づいて適切な第1露光時間を設定することができる。有効画素が最大値の90%以上99%以下の範囲となる露光時間を第1露光時間とすることができる。
【0036】
第9の発明は、露光時間を複数通りに変化させて得られた複数の第1パターン画像セットと第2パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第2露光時間とするように構成されていることを特徴とする。
【0037】
この構成によれば、有効画素数に基づいて適切な第2露光時間を設定することができる。
【0038】
第10の発明は、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた第2パターン画像のそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を累積した第1累積有効画素数を得て、第1累積有効画素数の増加度が所定以下となる露光時間を前記第2露光時間とするように構成されていることを特徴とする。
【0039】
すなわち、露光時間を複数通りに変化させた際、高さ画像の有効画素数の増減と、第1累積有効画素数の増減とを比較すると、有効画素数が減り、第1累積有効画素数が増える場合がある。このことは、例えば、金属製の計測対象物の斜面部など、長い露光時間であれば計測できるが、逆に他の部分で無効画素が増えてしまう状態を現している。したがって、第1累積有効画素数がある増加度で増え続ける限りは、高さ画像の有効画素数を増加させる余地が残っているということになるので、第1累積有効画素数が殆ど増加しなくなる露光時間(累積有効画素数の増加度が所定以下となる露光時間)を第2露光時間とすることで、無効画素をより一層少なくすることができ、その結果、高精度な三次元計測結果が得られる。
【0040】
第11の発明は、第1累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を前記第2露光時間とするように構成されていることを特徴とする。
【0041】
すなわち、第1累積有効画素数が最大となる露光時間を第2露光時間とすることもできるが、例えばノイズ等の影響によって第1累積有効画素数が変動することがあり、累積有効画素数の変動に過敏に反応して第2露光時間を適切に設定できなくなるおそれがある。本構成によれば、第1累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間が第2露光時間になるので、ノイズ等の影響を受け難くなる。
【0042】
「所定の時間だけ短くした時間」とは、例えば最大累積有効画素数の95%~98%の累積有効画素数となる露光時間とすることができ、また、最大累積有効画素数の97%~98%の累積有効画素数となる露光時間とすることもできる。
【0043】
第12の発明は、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた複数の第1パターン画像のそれぞれについて飽和画素数を得て、飽和画素数が増え始める直前の露光時間を前記第1露光時間とするように構成されていることを特徴とする。
【0044】
この構成によれば、第1露光時間を飽和画素数の少ない露光時間にすることができるので、無効画素数が少なくなり、高精度な三次元計測結果が得られる。
【0045】
第13の発明は、前記撮像部は、露光時間中に所定以上の強度の光を受光して飽和電位よりも低く設定された所定電位まで電荷が蓄積された場合に電荷の蓄積を所定時間停止可能な受光素子を備えていることを特徴とする。
【0046】
例えば、露光時間中に飽和電位に達するほどの強度(所定以上の強度)を持った光を受光すると、その画素が飽和した状態になるが、本構成では、飽和電位よりも低く設定された所定電位まで電荷が蓄積されると、電荷の蓄積が一時的に停止されるので、上記のような強い光を受光した場合であっても、その画素が飽和した状態になりにくくなる。つまり、ハイダイナミックレンジ処理を撮像部の受光素子で1回の撮像中に行うことができる。
【0047】
この撮像素子によるハイダイナミックレンジ処理と本発明の無効画素の置き換え処理とを組み合わせることで、高さ画像中における無効画素をより一層少なくすることができる。
【発明の効果】
【0048】
本発明によれば、計測対象物を第1露光時間で撮像した第1パターン画像と、第1露光時間よりも長い第2露光時間で撮像した第2パターン画像とを生成し、露光時間が長い第2パターン画像、第2位相画像、第2高さ画像に無効画素がある場合には、第2パターン画像、第2位相画像、第2高さ画像を優先しながら、無効画素のみを第1パターン画像、第1位相画像、第1高さ画像の画素と置き換えることができる。これにより、例えば複雑な形状を有する計測対象物や、様々な姿勢にある複数の計測対象物を三次元計測する場合に、無効画素が少なくなり、計測精度を高めることができる。
【図面の簡単な説明】
【0049】
【
図1】本発明の実施形態に係る三次元計測装置を備えたロボットシステムを用いてばら積みピッキング動作を行う様子を示す模式図である。
【
図4】パターン画像セット、位相画像、絶対位相画像及び高さ画像の一例を示す図である。
【
図5】露光時間と有効画素数との関係を示すグラフである。
【
図6】有効画素数に基づいて露光時間を設定する要領を示す図である。
【
図7】第1累積有効画素数を示すグラフと有効画素数を示すグラフとを対比した図である。
【
図8】第1累積有効画素数に基づいて第2露光時間を設定する要領を示す図である。
【
図9】第2累積有効画素数に基づいて第1露光時間を設定する要領を示す図である。
【
図10】
図10(A)は受光素子の機能説明図であり、
図10(B)は受光素子の感度曲線を示す図である。
【
図11】収納容器に無作為に投入されたワークを斜め上方から見た斜視図である。
【
図12】
図12(A)は斜面が三次元計測できるように露光時間を設定した場合のパターン画像であり、
図12(B)は水平面が三次元計測できるように露光時間を設定した場合のパターン画像である。
【
図13】
図13(A)は斜面が三次元計測できるように露光時間を設定した場合の高さ画像であり、
図13(B)は水平面が三次元計測できるように露光時間を設定した場合の高さ画像である。
【
図14】
図14(A)は斜面が三次元計測できるように露光時間を設定した場合の高さ画像を3Dで示した図であり、
図14(B)は水平面が三次元計測できるように露光時間を設定した場合の高さ画像を3Dで示した図である。
【
図15】
図15(A)は第2露光時間で撮像したパターン画像に基づいて高さ画像を生成した図であり、
図15(B)は第1露光時間で撮像したパターン画像に基づいて高さ画像を生成した図である。
【
図16】
図16(A)は第2露光時間で撮像したパターン画像に基づいて高さ画像を生成し、3Dで示した図であり、
図16(B)は第1露光時間で撮像したパターン画像に基づいて高さ画像を生成し、3Dで示した図である。
【
図17】
図17(A)は第2露光時間で撮像したパターン画像に基づいて生成した高さ画像の無効画素を、第1露光時間で撮像したパターン画像に基づいて生成した高さ画像の画素と置き換えた後の高さ画像を示した図であり、
図17(B)は置き換えた後の高さ画像を3Dで示した図である。
【
図18】無効画素の判定と位相計算の概念を説明する図である。
【発明を実施するための形態】
【0050】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0051】
図1は、本発明の実施形態に係る三次元計測装置1を備えたロボットシステム1000の構成例を示す模式図である。この
図1は、各種製品の製造工場等にある作業空間に積み上げられた複数のワークWKを、ロボットRBTを用いて順次取り出し、所定の場所に設置されているステージSTGまで搬送して該ステージSTG上に載置するばら積みピッキングを行う例について示している。
【0052】
ロボットシステム1000は、三次元計測装置1の他に、ロボットRBTと、
図2に示すように、各種画像や情報等を表示するための表示部3と、各種設定や操作を行うための操作部4と、ロボットRBTを制御するロボットコントローラ6と、ロボット操作具7と、ロボット設定装置100とを備えている。
図1に示すように、ロボットRBTは、産業用の汎用ロボットであり、ベース部が工場等の床面に対して固定されている。ロボットRBTは、例えばマニピュレータ等とも呼ばれており、6軸制御が可能に構成されている。このロボットRBTは、ベース部から延びるアーム部ARMと、アーム部ARMの先端部に設けられたエンドエフェクタEETとを備えている。アーム部ARMは、可動部としての関節部を複数備えた多関節型に構成することができる。アーム部ARMの各関節部の動作及びアーム部ARM自体の回転動作によってエンドエフェクタEETを可動範囲内の所望の位置まで移動させることができる。
【0053】
エンドエフェクタEETは、ワークWKを把持するハンド部等で構成することができる。エンドエフェクタEETは、ワークWKの外側を挟み込んで把持する構造のエンドエフェクタであってもよいし、空洞部を有するワークWKの内部に複数の爪部を挿入して該爪の間隔を広げることによって把持する構造のエンドエフェクタであってもよいし、板状のワークWKを吸引するエンドエフェクタ等であってもよく、いずれのエンドエフェクタEETも使用することができる。また、本明細書で「把持」とは、ワークWKの外側を挟み込む方法、空洞部に爪部を挿入して間隔を広げる方法、吸引する方法等の全ての例を含む意味で使用する。
【0054】
ロボットRBTは、ロボットコントローラ6によって制御される。ロボットコントローラ6はアーム部ARMの動作やエンドエフェクタEETの開閉動作等を制御する。またロボットコントローラ6はロボット設定装置100から、ロボットRBTの制御に必要な情報を取得する。例えば、
図1に示す収納容器BXに無作為に投入された多数のワークWKの三次元形状を、三次元計測装置1を使用して取得し、ロボット設定装置100でワークWKの位置や姿勢を検出して、その情報をロボットコントローラ6が取得する。
【0055】
ロボットシステム1000の機能ブロック図を
図2に示す。操作部4では、後述する物理シミュレーション、ピッキング動作シミュレーション、画像処理に関する各種設定を行う。また、表示部3で、操作部4による各種設定やロボットシステム1000の動作状態の確認、シミュレーションの確認、高さ画像の確認等を行う。
【0056】
一方、ロボットコントローラ6はロボット設定装置100から出力される信号に従い、ロボットRBTの制御を行うように構成された周知の部材である。また、ロボット操作具7は、ロボットRBTの動作設定を行う。
【0057】
(三次元計測装置1の全体構成)
三次元計測装置1は、三次元ロボットビジョンシステムなどと呼ばれており、ばら積みされたワークWKや段積みされたワークWKの他、平積みされたワークWKの三次元形状を計測して三次元形状データを取得する装置である。この実施形態では、三次元計測装置1がロボットビジョンとして使用される場合について説明するが、これに限らず、三次元計測装置1は、それ単独で使用することもできるし、他の装置と組み合わせて使用することもできる。三次元計測装置1をロボットビジョンとして使用する場合には、計測対象物がワークWKや、ワークWKが収容された箱、ワークWKが載置された台やパレット等になる。
【0058】
図2に示すように、三次元計測装置1は、センサ部2と、センサ制御部20とを備えている。この実施形態では、センサ部2とセンサ制御部20とが別体とされていて、
図1に示すようにセンサ部2をワークWKの上方に設置可能にし、センサ制御部20をセンサ部2から離して設置可能にしているが、これに限らず、センサ部2とセンサ制御部20とを一体化して1つのユニットとして構成してもよい。
【0059】
三次元計測装置1によって三次元形状を取得する方法は、例えば、従来から周知のパターン投影法を使用することができる。
【0060】
(センサ部2の構成)
図3に示すように、センサ部2は、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部PRJと、照明部PRJから投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部CME1~4とを備えている。
図3に示す例では、照明部PRJと撮像部CME1~4とが一体化されているが、この例に限らず、照明部PRJと撮像部CME1~4とを別体にして個別に設置可能にしてもよい。また、
図3に示す例では、第1撮像部CME1、第2撮像部CME2、第3撮像部CME3及び第4撮像部CME4の4つの撮像部を備えている場合を示しているが、撮像部の数は特に限定されるものではない。また、照明部PRJについても2以上設けることができる。
【0061】
照明部PRJは、周期的な照度分布を有するパターン光を出射することができるように構成された部材であり、例えば、プロジェクタ等で構成することができる。照明部PRJの構造例としては、例えば発光ダイオード(LED)等からなる光源と、光源から出射された光が入射されるように当該光源に対応するように配置される液晶パネルとを備えた構造を挙げることができる。液晶パネルに、光が透過する領域と、光が透過しない領域とを交互に複数形成することで、
図3に示すように照度分布を変動させた縞状のパターン光を出射することができる。パターン光は、照度分布を正弦波状に変動させたパターン光であってもよく、パターン光の種類は、液晶パネルにおける光が透過する領域と、光が透過しない領域との形成位置やその寸法等によって自由に設定することができる。また、光が透過する領域と、光が透過しない領域との形成位置をずらしていくことで、照度分布を例えば正弦波状に変動させたパターン光を、位相を変えて複数回投影することができる。尚、照明部PRJは、例えば、有機ELパネル、デジタルマイクロミラーデバイス(DMD)等で構成することもできる。
【0062】
撮像部CME1~4は同じ部材することができ、
図3に示すように、照明部PRJを囲むように、照明部PRJの光軸から離れかつ光軸回りに互いに間隔をあけて設置されている。撮像部CME1は、CCDセンサやCMOSセンサ等の撮像素子を有するイメージセンサで構成されている。撮像部CME1の撮像素子は、後述するハイダイナミックレンジ処理(HDR)が可能に構成されたものである。
【0063】
(センサ制御部20の構成)
センサ制御部20は、パターン画像生成部21と、位相画像生成部22と、高さ画像生成部23と、置換処理部24と、露光時間設定部25と、HDR設定部26とを備えている。センサ制御部20を構成するパターン画像生成部21、位相画像生成部22、高さ画像生成部23、置換処理部24、露光時間設定部25及びHDR設定部26のうち、任意の1つまたは2つ以上の部分をセンサ部2に組み込むこともできる。また、パターン画像生成部21、位相画像生成部22、高さ画像生成部23、置換処理部24、露光時間設定部25及びHDR設定部26のうち、任意の1つまたは2つ以上の部分をロボットコントローラ6に組み込むようにしてもよい。また、
図2に示すように、センサ制御部20をロボット設定装置100に組み込むことができるが、ロボット設定装置100とは別体にしてロボット設定装置100の外部に設けることもできる。
【0064】
(パターン画像生成部21の構成)
パターン画像生成部21は、計測対象物に照明部PRJよりパターン光を投影し、パターン光が投影された計測対象物を第1露光時間で撮像した第1パターン画像と、第1露光時間よりも長い第2露光時間で撮像した第2パターン画像とを生成するように照明部PRJ及び撮像部CME1~4を制御するように構成されている。
【0065】
具体的には、照度分布を例えば正弦波状に変動させたパターン光を、位相を変えて複数回順次投影するように、照明部PRJを制御する。照明部PRJによって1つ目のパターン光が投影されている間に、撮像部CME1~4により、第1露光時間で撮像するとともに第2露光時間で撮像する。その後、1つ目のパターン光とは異なる位相を持った2つ目のパターン光を照明部PRJによって投影し、その間に、撮像部CME1~4により、第1露光時間で撮像するとともに第2露光時間で撮像する。このようにして、第1露光時間で撮像した複数(最低3枚)の第1パターン画像からなる第1パターン画像セットと、第2露光時間で撮像した複数(最低3枚)の第2パターン画像からなる第2パターン画像セットとが得られる。
図4に、直方体の計測対象物を撮像した場合のパターン画像セットの一例を示す。
【0066】
(位相画像生成部22の構成)
位相画像生成部22は、パターン画像生成部21が生成した第2パターン画像に無効画素があるか否かを判定し、第2パターン画像に無効画素が無いと判定された場合には、第2パターン画像に基づいて計測対象物の表面の位相データを含む位相画像を生成する一方、第2パターン画像に無効画素があると判定された場合には、当該無効画素を第1パターン画像の対応する位置の画素に置き換える、もしくは切り替えてから計測対象物の表面の位相データを含む位相画像を生成するように構成されている。この処理を無効画素判定処理及び画素置き換え処理(切り替え処理)という。無効画素の判定については、位相の異なる複数のパターン画像のうち、1枚でも飽和する画素があった場合には、無効画素と判定するのが好ましい。飽和画素の影響を受けて、算出される位相値に精度悪化が生じるためである。尚、位相画像生成部22は、各画素の位相値を計算する部分であり、必ずしも目に見える形で位相画像を生成しなくてもよく、位相画像を生成可能な演算、もしくは各画素毎の位相値を算出する演算を行うことができればよい。
【0067】
ここで、第2パターン画像は、相対的に長い露光時間(第2露光時間)で撮像されているので、一部の画素が飽和した状態となっている場合があり得る。一方、第1パターン画像は、相対的に短い露光時間(第1露光時間)で撮像されているので、飽和した画素数が第2パターン画像よりも少ないか、0に近くなっている。ただし、第1パターン画像の場合、露光時間が短い分、例えば傾斜面等から反射光を十分に受光することができないことがあり、第1パターン画像のみに基づいて高さ画像を生成すると、三次元計測結果の精度が低下してしまうおそれがある。
【0068】
そこで、本実施形態では、無効画素判定処理及び画素置き換え処理を行うことで、高さ画像の生成に利用される位相画像を生成するにあたり、第1パターン画像の画素を優先させるのではなく、第2パターン画像の画素を優先させ、第2パターン画像に無効画素がある場合には、その無効画素を計測に用いずに、第1パターン画像の画素を計測に用いるようにした。すなわち、第2パターン画像を構成する、位相の異なる複数のパターン画像のうち、1枚も飽和のない画素については、精度が良い露光時間の長い第2パターン画像の方を選択する一方、1枚でも飽和のある画素については、飽和画素の影響を受けて、算出される位相値に精度悪化が生じるため、該当する画素を無効画素と判定し、短い露光時間の方を選択する。
【0069】
位相画像生成部22は、第2パターン画像にそのような無効画素があるか否かを判定することができるように構成されている。具体的には、位相画像生成部22は、第2パターン画像セットの位相の異なる複数のパターン画像のうち、1枚でも最大輝度値を有する画素が存在する画素については無効画素であると判定し、その画素の位置を第2パターン画像上で特定する。無効画素の位置は、例えば、第2パターン画像上のX座標、Y座標によって特定することができる。必ずしも最大輝度値で判定する必要はなく、一定の輝度値以上を有する画素を無効画素と判定しても良い。例えば、最大輝度値よりも1階調小さい輝度値以上を有する画素を無効画素と判定しても、類似の効果を得ることができる。
【0070】
第2パターン画像に無効画素が必ずあるとは限らず、無効画素が無い場合もある。位相画像生成部22が、第2パターン画像に無効画素が無いと判定した場合には、第2パターン画像に基づいて計測対象物の表面の位相データを含む位相画像を生成する。この第2パターン画像は、相対的に露光時間が長いので、例えば傾斜面等の反射光も反映されており、したがって、三次元計測結果の精度を高めることが可能な位相画像である。
【0071】
一方、位相画像生成部22が、第2パターン画像に無効画素があると判定した場合には、第2パターン画像に基づいて三次元形状を計測すると正確に計測できない画素が生じてしまうため、この場合には、第2パターン画像中の無効画素を第1パターン画像の対応する位置の画素に置き換えてから、この置き換え後のパターン画像を使用して計測対象物の表面の位相データを含む位相画像を生成する。第1パターン画像は、露光時間が短いので、第2パターン画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置き換え後のパターン画像において飽和画素が無くなるか、飽和画素が少なくなり、よって、三次元計測結果の精度を高めることが可能な位相画像を得ることができる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。なお、第2パターン画像中の無効画素を第1パターン画像の対応する画素で置き換える場合、第2パターン画像を構成する全てのパターン画像(位相の異なる複数のパターン画像)に対し、対応する第1パターン画像の対応画素で置き換える必要がある。例えば、3枚の位相シフトパターンでパターン画像が構成される場合、3枚全ての該当画素に対し、対応する第1パターン画像毎に、対応画素で置き換える必要があるため、メモリアクセス面で速度的に不利になるケースがある。それを避けるために、第2パターン画像の無効画素を、第1パターン画像の画素で置き換えるのではなく、第1パターン画像に切り替えて、位相画像を生成するようにしても良い。具体的には、注目画素が、無効画素と判定されなければ第2パターン画像を参照して位相値を計算し、無効画素と判定されれば、第1パターン画像を参照して位相値を計算する、という方法をとることもできる。
【0072】
また、位相画像生成部22は、前記画素置き換え処理を行うことなく、パターン画像生成部21が生成した第1パターン画像に基づいて計測対象物の表面の位相データを含む第1位相画像を生成するとともに、パターン画像生成部21が生成した第2パターン画像に基づいて計測対象物の表面の位相データを含む第2位相画像を生成するように構成することもできる。
【0073】
位相画像の生成方法について具体的に説明すると、前記無効画素判定処理及び画素置き換え処理を行う場合には、画素置き換え後のパターン画像セットを構成する最低3枚のパターン画像から画素毎に正弦波の位相を求める方法がある。前記画素置き換え処理を行わない場合には、第1パターン画像セットを構成する最低3枚の第1パターン画像から画素毎に正弦波の位相を求め、また、第2パターン画像セットを構成する最低3枚の第2パターン画像から画素毎に正弦波の位相を求める方法を利用することができる。その際に、第2パターン画像から位相画像を生成する際には、注目画素が無効画素と判定された場合には、無効画素であることを識別可能な値で格納することが好ましい。例えば、通常の撮像では生じ得ない値(絶対位相値0など)を位相画像中の該当画素に埋め込んでおくことで、飽和画素が存在していかを、位相画像の画素値を参照することで確認することができる。実現方法はこの方法に限る必要はなく、例えば、無効画素と判定されたか否かをフラグ情報として保持する、フラグ画像を生成するようにしても良い。
【0074】
また、いずれの方法であっても、計測対象物に投影するパターン自体を撮影毎に異ならせ、例えば白黒デューティ比50%で縞幅が全体の半分、4分の1、8分の1、16分の1、…と細かくなっていく縞パターンを順次投影し、それぞれのパターンにてパターン投影画像を取得し、絶対位相を求める空間コード法を、位相シフト法と組み合わせることで、絶対位相画像を生成することができる。空間コード法によれば、光が照射される空間を、多数の断面略扇状の小空間に分け、この小空間に一連の空間コード番号を付すことができる。このため、計測対象物の高さが高くても、すなわち高低差が大きくても、光が照射される空間内にあれば、空間コード番号から高さが演算できる。したがって、高さの高い計測対象物についても全体にわたって形状を測定することができる。このように空間コード法によれば、許容高さのレンジ(ダイナミックレンジ)が広くなる。
【0075】
(高さ画像生成部23の構成)
高さ画像生成部23は、位相画像生成部22で生成された位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成することができるように構成されている。例えば、高さ測定点の各明度値をパターン毎に撮像した画像から得て、各明度値よりパターン光の位相値を計算すると、測定点の高さに応じて、測定点に投影されたパターン光の位相が変化し、基準となる位置で反射されたパターン光により観察される位相とは異なった位相の光が観察されることになる。そこで、測定点におけるパターン光の位相を計算し、三角測量の原理を利用して、幾何関係式に代入することにより測定点の高さを計測し、これにより、計測対象物の三次元形状を計測することができる。高さ画像とは、画像を構成する各画素値に、高さの値が格納されている画像である。典型的には、高さを輝度値で表現した画像とすることができる。
【0076】
例えば、
図18に示すように、第2パターン画像セットとして第2パターン画像が3つあり、第2パターン画像の画素Aと画素Bに着目し、また、第1パターン画像セットとして第1パターン画像が3つあり、第2パターン画像と同一座標上の画素Aと画素Bに着目したとする。この例では、第2パターン画像セットにおいて、画素Aの階調値は3つの第2パターン画像の全てで飽和判定基準(無効画素基準)未満である一方、画素Bの階調値は1番目及び3番目の第2パターン画像では飽和判定基準未満であるが、2番目の第2パターン画像では飽和判定基準を超えている。また、第1パターン画像セットにおいては、画素A及び画素Bの階調値は第1パターン画像の全てで飽和判定基準未満である。この場合、第2パターン画像セットの中で飽和が1つも無かった画素Aは、第2パターン画像セットから求めた位相値を用いる。一方、第2パターン画像セットの中で飽和が1つでも存在した画素Bは、第1パターン画像セットで求めた位相値を用いる。
【0077】
具体的には、まず、位相画像生成部22が前記無効画素判定処理及び画素置き換え処理を行った場合について説明する。この場合は、三次元計測結果の精度を高めることが可能な位相画像を既に得ているので、この位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。
【0078】
位相画像生成部22が前記画素置き換え処理を行っていない場合には、第1パターン画像に基づいて第1位相画像が生成され、第2パターン画像に基づいて第2位相画像が生成されることになるが、上述したように、第2パターン画像は一部の画素が飽和した状態となっている場合がある一方、第1パターン画像は飽和した画素数が第2パターン画像よりも少ないか、0に近くなっている。つまり、第2位相画像は、相対的に長い露光時間で撮像された第2パターン画像セットに基づいているので、一部の画素が飽和した状態となっている場合があり得る。この第2位相画像については、第2パターン画像セットの中で飽和した画素が存在する画素については、無効画素と判定し、無効画素であることを識別可能な状態にしておくことが必要となる。例えば、通常の撮像では生じ得ない絶対位相値0などにセットしておく。
【0079】
一方、第1位相画像は、相対的に短い露光時間で撮像された第1パターン画像セットに基づいているので、飽和した画素数が第2位相画像よりも少ないか、0に近くなっているが、例えば傾斜面等から反射光を十分に受光することができないことがあり、第1位相画像のみに基づいて高さ画像を生成すると、三次元計測結果の精度が低下してしまうおそれがある。
【0080】
そこで、本実施形態では、高さ画像生成部23が高さ画像を生成するにあたり、第1位相画像の画素を優先させるのではなく、第2位相画像の画素を優先させ、第2位相画像に無効画素がある場合には、その無効画素を計測に用いずに、第1位相画像の画素を計測に用いるようにした。すなわち、第2パターン画像において飽和した画素は、精度が悪化したり、正確な三次元計測が行えなくなる画素となる得る画素であるので、高さ画像生成部23は、第2位相画像にそのような無効画素があるか否かを判定することができるように構成されている。具体的には、高さ画像生成部23は、第2位相画像を構成する画素のうち、第2パターン画像の中で飽和画素が存在していた画素、すなわち第2位相画像において無効画素と識別可能な値にセットされている画素(例えば、通常の撮像では生じ得ない絶対位相値0などがセットされている画素)の位置を第2位相画像上で特定する。無効画素の位置は、例えば、第2位相画像上のX座標、Y座標によって特定することができる。
【0081】
第2位相画像に無効画素が必ずあるとは限らず、無効画素が無い場合もある。高さ画像生成部23が、第2位相画像に無効画素が無いと判定した場合には、第2位相画像に基づいて三次元形状を正確に計測できるということであるから、当該第2位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。この第2位相画像は、相対的に露光時間が長いので、例えば傾斜面等の反射光も反映されており、したがって、三次元計測結果の精度が高まる。
【0082】
一方、高さ画像生成部23が、第2位相画像に無効画素があると判定した場合には、第2位相画像に基づいて三次元形状を正確に計測できない部分があるということである。この場合には、第2位相画像中の無効画素を第1位相画像の対応する位置の画素に置き換えてから、この置き換え後の位相画像を使用して計測対象物の高さ情報を含む高さ画像を生成する。第1位相画像は、露光時間が短いパターン画像に基づいているので、第2位相画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置き換え後の位相画像において飽和していない可能性の高いパターン画像から生成された位相値に基づいて三次元計測されることになるため、三次元計測結果の精度が高まる。上述のように、露光時間が長い側が飽和していない場合は、露光時間が長い方を優先させ、飽和している場合は、露光時間が短い側を用いることで、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。なお、第2位相画像の無効画素を、第1位相画像の画素で置き換えるのではなく、第1位相画像に切り替えて、高さ画像を生成するようにしても良い。具体的には、注目画素が、無効画素であれば第2位相画像を参照して高さを計算し、無効画素でなければ、第1位相画像を参照して高さを計算する、という方法をとることもできる。
無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【0083】
本例では、高さ画像生成部23が第2位相画像に無効画素があるか否かを判定し、無効画素がある場合には第1位相画像の画素と置き換えるようにしているので、後述する置換処理部24を設けない構成とすることもできる。高さ画像生成部23が第2位相画像に無効画素があるか否かを判定しない場合には、第2位相画像に無効画素があっても置き換えられることなく、第2高さ画像が生成されることになる。この場合には、後述する置換処理部24を設ける構成とする。
【0084】
(第3パターン画像の生成)
パターン画像生成部21は、第1露光時間よりも長くかつ第2露光時間よりも短い第3露光時間で撮像した第3パターン画像を生成するように照明部PRJ及び撮像部CME1~4を制御するように構成することもできる。第1露光時間が最も短く、第2露光時間が最も長く、第3露光時間が中間の長さになる。第1露光時間と第2露光時間との差が所定以上の場合には、第3露光時間を設定することができる。
【0085】
(第3位相画像の生成)
位相画像生成部22は、第2パターン画像に無効画素があると判定された場合には、当該無効画素を第3パターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む中間位相画像を生成するとともに、第3パターン画像に無効画素があるか否か判定し、第3パターン画像に無効画素があると判定された場合には、当該無効画素を第1パターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む第3位相画像を生成するように構成されている。この処理を無効画素判定処理及び画素置き換え処理という。
【0086】
また、前記無効画素判定処理及び画素置き換え処理を行う場合には、高さ画像生成部23は、位相画像生成部22で生成した第3位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。
【0087】
位相画像生成部22が前記画素置き換え処理を行わない場合には、当該位相画像生成部22は、パターン画像生成部21が生成した第3パターン画像に基づいて計測対象物の表面の位相データを含む第3位相画像を生成するように構成されている。
【0088】
さらに、位相画像生成部22が前記画素置き換え処理を行わない場合には、高さ画像生成部23は、露光時間が最も長い第2パターン画像に基づいて生成された第2位相画像に無効画素があると判定されたとき、当該無効画素を、露光時間が中間の第3パターン画像に基づいて生成された第3位相画像の対応する位置の画素に置き換える、もしくは切り替えて中間高さ画像を生成するとともに、第3位相画像に無効画素があるか否か判定し、その第3位相画像に無効画素があると判定された場合には、当該無効画素を、露光時間が最も短い第1パターン画像に基づいて生成された第1位相画像の対応する位置の画素に置き換える、もしくは切り替えて高さ画像を生成するように構成されている。
【0089】
(置換処理部24の構成)
上述したように、高さ画像生成部23が、第2位相画像に無効画素があるか否かを判定しないように構成することもできる。この場合、第2位相画像に無効画素があってもそのまま高さ画像生成部23によって第2高さ画像が生成されることになる。つまり、第1位相画像及び第2位相画像のそれぞれに基づいて無効画素の有無に関係無く、計測対象物の高さ情報を含む第1高さ画像及び第2高さ画像が生成される。その際、第2位相画像に無効画素が含まれる画素については、第2高さ画像上で無効画素であることを識別可能な値で格納することが好ましい。例えば、高さ画像中の有効データを1以上の値と定義した上で、画素値0の画素を無効画素と判定するようにすることで、第2位相画像に無効画素が存在していたか否か、つまりは第2パターン画像に飽和画素が存在していたか否かを、第2高さ画像上で識別することが可能になる。実現方法はこの方法に限る必要はなく、例えば、無効画素と判定されたか否かをフラグ情報として保持する、フラグ画像を生成するようにしても良い。
【0090】
第2高さ画像は、相対的に長い露光時間で撮像された第2パターン画像に基づいているので、第2高さ画像中の一部の画素が飽和したパターン画像を元に計測される状態となっている場合があり得る。上記した方法により、第2高さ画像において飽和した画素は、無効画素であることが識別可能な状態になっている。
【0091】
置換処理部24は、第2高さ画像に無効画素があるか否かを判定し、第2高さ画像に無効画素があると判定された場合には、当該無効画素を前記第1高さ画像の対応する位置の画素に置き換えて置換処理後高さ画像を生成するように構成されている。無効画素は、例えば、高さ画像中の有効データを1以上の値と定義した場合、画素値0の値を有する画素とすることができる。置換処理部24が、第2高さ画像に無効画素があると判定した場合には、三次元形状を正確に計測できない部分があるということである。この場合には、第2高さ画像中の無効画素を第1高さ画像の対応する位置の画素に置き換える。第1高さ画像は、露光時間が短い第1パターン画像に基づいているので、第2高さ画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置き換え後の高さ画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、この方法によっても、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【0092】
(第3高さ画像の生成)
高さ画像生成部23は、位相画像生成部22が生成した第3位相画像に基づいて計測対象物の高さ情報を含む第3高さ画像を生成するように構成することができる。
【0093】
置換処理部24は、露光時間が最も長い第2パターン画像に基づいて生成された第2高さ画像に無効画素があると判定された場合には、当該無効画素を、露光時間が中間の第3パターン画像に基づいて生成された第3高さ画像の対応する位置の画素に置き換えた中間高さ画像を生成する。そして、置換処理部24は、生成した中間高さ画像に無効画素があるか否か判定し、その中間高さ画像に無効画素があると判定された場合には、当該無効画素を、露光時間が最も短い第1パターン画像に基づいて生成された第1高さ画像の対応する位置の画素に置き換えた置換処理後高さ画像を生成するように構成されている。
【0094】
(露光時間設定部25の構成)
第1露光時間及び第2露光時間は使用者が任意の時間に設定することができるが、露光時間設定部25が自動設定することもできる。第3露光時間についても同様である。
【0095】
(高さ画像の有効画素数に基づいて露光時間を自動設定する方法)
第1露光時間及び第2露光時間は使用者が任意の時間に設定することができるが、露光時間設定部25が自動設定することもできる。第3露光時間についても同様である。
【0096】
(高さ画像の有効画素数に基づいて露光時間を自動設定する方法)
高さ画像の有効画素数に基づいて自動設定する場合は、まず、第1露光時間と第2露光時間との倍率を予め設定した倍率とし、倍率を固定化した状態で、露光時間を複数通りに変えて撮像部CME1~4で撮像を繰り返す。生成された第1パターン画像セットと第2パターン画像セットに基づいて上述した方法で合成した高さ画像を生成する。したがって、露光時間の異なる、(ただし、第1露光時間と第2露光時間の露光時間の比率は一定の条件で撮像した)複数の合成高さ画像が生成されることになる。
【0097】
上記倍率は、使用者が任意の値に設定してもよいし、内部に固定値(例えば5倍、10倍)を持たせておいてその固定値を使用するようにしてもよい。第1露光時間と第2露光時間との倍率を固定しているので、第1露光時間を基準に値を振った場合と、第2露光時間を基準に値を振った場合のどちらも同じ効果を得られる。
【0098】
合成後の高さ画像中の有効と判定された画素の数を計測し、有効と判定された画素の数が所定条件を満たしている合成後の高さ画像に対して設定された露光時間のうち短い露光時間の方を第1露光時間として設定する。この第1露光時間に上記倍率を乗じた時間、即ち合成後の高さ画像に対して設定された露光時間のうち長い露光時間の方が第2露光時間として設定される。第1露光時間及び第2露光時間は、ロボットシステム1000の実運用を行う際に用いる露光時間である。設定後の露光時間は手動操作によって調整することもできるが、手動操作の場合、使用者は自分で設定した露光時間で得られた高さ画像を見ながら、最適な露光時間の範囲を探索していくプロセスが必要になる。また、最適な露光時間を絞り込むための探索を手作業で行う場合、属人性があるとともに再現性が悪く、様々なケースで適切な露光時間を得ることは難しい。さらに、高さ画像を構成する画素の場合は、見た目で有効画素であるか否かを判定するのは難しく、特に手作業で決定した露光時間が妥当な時間であるか否かを短時間で検証して判断することは困難である。よって、この実施形態では、適切な露光時間を自動で設定することができるようになっている。
【0099】
図5は、露光時間と有効画素数との関係を示すグラフを示しており、横軸が対数目盛で露光時間(ms)であり、縦軸が有効画素数(pixel)である。このグラフは、ある固定されたワークWKを、カメラCME1、CME2、CME3、CME4の露光時間を段階的に変えながら撮像して高さ画像を得て、その高さ画像に含まれる有効画素数を露光時間毎にプロットしたものである。有効画素数と露光時間との関係は、概ねこのグラフに示されるように、ある露光時間の範囲内では、露光時間が変化しても有効画素数は殆ど変化せず、その範囲外では、有効画素数が急激に少なくなる。このグラフの例では、露光時間が0.1ms~6msの範囲内であれば有効画素数が多い高さ画像を得ることができるが、露光時間が0.1ms未満及び6msを超えると、有効画素数が極端に少ない高さ画像になってしまう。有効画素数が極端に少なくなると、高さ画像において黒い部分が増えてしまうので三次元サーチの精度が低下してしまう。
【0100】
この実施形態では、
図6に詳しく示すように、有効画素が最大値の95%となる露光時間を設定値として設定する。つまり、露光時間設定部25は、有効と判定された画素の数が最も多くなる露光時間以下の所定時間を設定値として設定するように構成されている。その理由は、有効画素の数が最大値をとる露光時間は、
図6に示すグラフの平坦に近い部分に存在することが多く、設定値として選択される露光時間が時間軸方向にぶれやすく、不安定になりやすいので、有効画素の数が最大値をとる露光時間ではなく、有効画素の数が最大値よりも若干少なくなる露光時間を設定値として設定する。この実施形態では、有効画素が最大値の95%となる露光時間を設定値として設定しているが、これに限られるものではなく、有効画素が最大値の90%以上99%以下の範囲となる露光時間を設定値することができる。
【0101】
(第2露光時間を先に自動設定する方法)
露光時間設定部25が、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた第2パターン画像のそれぞれに基づいて生成された複数の第2高さ画像の有効画素数を累積した第1累積有効画素数を得て、第1累積有効画素数の増加度が所定以下となる露光時間を第2露光時間とするように、当該露光時間設定部25を構成することもできる。
【0102】
すなわち、まず、露光時間を複数通りに変えて撮像部CME1~4で撮像を繰り返す。生成された第2パターン画像セットに基づいて第2位相画像を生成し、さらに、この第2位相画像に基づいて第2高さ画像を生成する。したがって、露光時間の異なる複数の第2高さ画像が生成されることになる。
【0103】
図7の上側のグラフは、露光時間と第1累積有効画素数との関係を示しており、横軸が対数目盛で露光時間(ms)であり、縦軸が第1累積有効画素数(pixel)である。このグラフは、ある固定されたワークWKを、撮像部CME1、CME2、CME3、CME4の露光時間を段階的に変えながら撮像して第2高さ画像を得て、露光時間を変えていく過程で、一度でも有効画素になった画素をカウントしたグラフであり、このグラフを元にして第2露光時間を決定する。
【0104】
具体的には、露光時間を短い側から長い側に変えていく過程の累積有効画素数の変化は
図7の上側のグラフのように次第に増えていくことになるが、露光時間を長くしていく過程において第2高さ画像中で有効画素の存在範囲が徐々に広がっていき、その最大に広がったときの画素数が
図7の上側のグラフにはプロットされることになる。一方、
図7の下側のグラフは、累積ではなく、単純な有効画素数をプロットしたものであり、
図5に示すグラフと同様である。
【0105】
図7において縦線Aと縦線Bの範囲に着目すると、下側のグラフの単純な有効画素数の方は減っているが、上側のグラフの第1累積有効画素数は増えている。このことは、例えば金属製のワークWKの斜面部など、長い露光時間だと三次元形状の計測が可能であるが、逆に他の部分(水平面等)では飽和して無効画素が増えてしまう状態を現している。
【0106】
この第1累積有効画素数が増える限りは、高さ画像の有効画素数を増加させる余地が残っている、ということになる。累積有効画素数が飽和し始める付近、即ち、累積有効画素数の増加度が所定以下となる露光時間が第2露光時間として適切であると推定することができるので、累積有効画素数の増加度が所定以下となる露光時間を第2露光時間とする。
【0107】
露光時間設定部25は、第1累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を第2露光時間とするように構成することができる。
図8は、第1累積有効画素数に基づいて第2露光時間を設定する要領を示す図であり、横線Cは、第1累積有効画素数の最大値を示している。横線Dは、第1累積有効画素数の最大値の98%を示す線である。縦線Eは、第1累積有効画素数の最大値の98%の累積有効画素数となる露光時間を示す線であり、この露光時間が第2露光時間となる。これにより、第1累積有効画素数の最大有効画素数から、少し下げた位置に対応する露光時間が第2露光時間として設定される。
【0108】
すなわち、第1累積有効画素数が最大となる露光時間を第2露光時間とすることもできるが、例えばノイズ等の影響によって第1累積有効画素数が変動することがあり、累積有効画素数の変動に過敏に反応して第2露光時間を適切に設定できなくなるおそれがある。上記のようにすれば、第1累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間が第2露光時間になるので、ノイズ等の影響を受け難くなる。「所定の時間だけ短くした時間」とは、例えば最大累積有効画素数の95%~98%の累積有効画素数となる露光時間とすることができ、また、最大累積有効画素数の97%~98%の累積有効画素数となる露光時間とすることもできる。
【0109】
また、露光時間設定部25は、第2露光時間の設定要領と同様にして、第1露光時間を設定可能に構成することもできる。この場合、露光時間設定部25は、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた複数の第1パターン画像のそれぞれについて飽和画素数を得て、飽和画素数が増え始める直前の露光時間を前記第1露光時間とするように構成することができる。
【0110】
また、上述のようにして決定した「第2露光時間の高さ画像上で有効画素になっている画素」を除いた画像(マスクした画像)に対し、同様に露光時間を変えた時の累積有効画素数のグラフを求め、このグラフを利用して第1露光時間を決定することもできる。
図9の縦軸は、第2露光時間の高さ画像上で有効画素になっている画素を除いた画像の累積有効画素数(第2累積有効画素数)であり、横軸は対数目盛で露光時間(ms)である。
【0111】
露光時間設定部25は、第2累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を第2露光時間とするように構成することができる。
図9は、第2累積有効画素数に基づいて第1露光時間を設定する要領を示す図であり、横線Fは、第2累積有効画素数の最大値を示している。横線Gは、第2累積有効画素数の最大値の98%を示す線である。縦線Hは、第2累積有効画素数の最大値の98%の累積有効画素数となる露光時間を示す線であり、この露光時間が第1露光時間となる。これにより、第2累積有効画素数の最大有効画素数から、少し下げた位置に対応する露光時間が第1露光時間として設定される。したがって、第2累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間が第1露光時間になるので、ノイズ等の影響を受け難くなる。また、この方法によれば、第1露光時間は、第2露光時間では三次元計測できなかった範囲において、有効画素の存在範囲が最も広がるように露光時間を設定できる。尚、「所定の時間だけ短くした時間」とは、上述したように、例えば最大累積有効画素数の95%~98%の累積有効画素数となる露光時間とすることができ、また、最大累積有効画素数の97%~98%の累積有効画素数となる露光時間とすることもできる。
【0112】
上記で決定した、長い側の露光時間(第2露光時間)と短い側の露光時間(第1露光時間)の合成高さ画像の有効画素数を確認し、累積有効画素数の最大値と差が大きい場合は、「さらに短い露光時間」の画像を合成することで、有効画素数を増やすことができる。「さらに短い露光時間」の決定方法は、同様の手順で決定することが可能であり、「既に露光時間が決定済みの合成高さ画像上で有効画素になっている画素」を除いた画像(マスクした画像)に対し、同様に累積有効画素数のグラフを求めて決定すればよい。
【0113】
(第1露光時間を先に自動設定する方法)
露光時間を変えながら、位相が異なる複数のパターン光を投影して全位相シフトパターンの中で、1画素でも飽和状態が生じた「飽和画素数」をカウントし、この飽和画素数のグラフを元にして露光時間を決定する。すなわち、飽和画素数グラフを露光時間の短い側から見て行った時に、飽和画素数が増え始める直前の露光時間を、第1露光時間として決定する。上記で決定した「短い側の露光時間の高さ画像上で有効画素になっている画素」を除いた画像(マスクした画像)に対し、同様に露光時間を変えた時の飽和画素数のグラフを求める。この飽和画素数グラフに対し、露光時間の短い側から見て行った時に、飽和画素数が増え始める直前の露光時間を、第2露光時間として決定すればよい。これにより、第2露光時間は、第1露光時間では三次元計測できなかった範囲において、飽和しない範囲で最もコントラストが高くなる露光時間を決定できる。
【0114】
上記で決定した、長い側の露光時間と短い側の露光時間の合成高さ画像の有効画素数を確認し、累積有効画素数の最大値と差が大きい場合は、「さらに長い露光時間」の画像を合成することで、有効画素数を増やすことができる。「さらに長い露光時間」の決定方法は、同様の手順で決定することが可能であり、「既に露光時間が決定済みの合成高さ画像上で有効画素になっている画素」を除いた画像(マスクした画像)に対し、同様に飽和画素数のグラフを求めて決定すればよい。
【0115】
(HDR設定部26の構成)
撮像部CME1~4は、露光時間中に所定以上の強度の光を受光して飽和電位よりも低く設定された所定電位まで電荷が蓄積された場合に電荷の蓄積を所定時間停止可能な受光素子を備えている。
図10の(A)は、撮像部CME1~4の受光素子の機能説明図である。
図10の(A)において、破線で描いた直線Iは、露光時間中、画素が飽和しない程度の比較的弱い光が受光素子に入射した場合の蓄積電荷量の変化を示しており、このように弱い光が入射した場合、一般的な線形の感度曲線となる。
【0116】
一方、
図10の(A)において、太線で描いた線Jは、露光時間中で画素が飽和してしまうような比較的強い光が受光素子に入射した場合の蓄積電荷の露光時間内での変化を示している。露光時間内には、互いに異なる2つの電位レベル(Vlow2、Vlow3)が設定されており、蓄積電荷が電位Vlow3に達すると一定時間(T1)だけ電荷を蓄積せず、また、蓄積電荷が電位Vlow2に達すると一定時間(T2)だけ電荷を蓄積しない。電位Vlow2、Vlow3、上記一定時間T1、T2は、HDR設定部26によって設定することができる。
図10の(B)は、電位Vlow2、Vlow3、上記一定時間T1、T2を設けることで得られる感度曲線であり、Kneepoint1と、Kneepoint2とができることになる。
【0117】
これにより、露光時間中に飽和電位に達するほどの強度(所定以上の強度)を持った光を受光したとしても、飽和電位よりも低く設定された所定電位(Vlow2、Vlow3)まで電荷が蓄積されると、電荷の蓄積が一時的に停止されるので、強い光を受光した場合であっても、その画素が飽和した状態になりにくくなる。つまり、ハイダイナミックレンジ処理を撮像部CME1~4の受光素子で1回の撮像中に行うことができる。この受光素子によるハイダイナミックレンジ処理と、上述した飽和画素の置き換え処理とを組み合わせることで、高さ画像中における無効画素をより一層少なくすることができる。
【0118】
例えば、撮像部CME1~4の受光素子で5倍のダイナミックレンジ拡張をさせ、さらに、第1露光時間と第2露光時間との差を10倍にすると、5×10=50倍のダイナミックレンジで三次元計測を行うことができる。受光素子側のダイナミックレンジ拡張は、撮像枚数を増やさずに行える反面、倍率を上げれば上げるほど、精度面での劣化が大きくなるおそれがあるので、受光素子側のダイナミックレンジ拡張の度合いと、第1露光時間と第2露光時間との差を適切に設定することで、精度の低下を抑制しながら、ダイナミックレンジを大きく拡張させることができる。
【0119】
(ロボット設定装置100の構成)
ロボット設定装置100は、センサ部2で得られたワークWKの三次元形状データに基づいて、三次元サーチ、干渉判定、把持解算出等を行う。このロボット設定装置100は、専用の画像処理プログラムをインストールした汎用のコンピュータや、専用に設計された画像処理コントローラ、専用のハードウェアで構成することができる。また、グラフィックボードなどのハードウェアを画像検査処理に特化させた専用のコンピュータに、画像処理プログラムをインストールした構成とすることもできる。
【0120】
なお
図2の例では、センサ部2やロボットコントローラ6等をロボット設定装置100とは別個の部材で構成する例を示しているが、本発明はこの構成に限られず、例えばセンサ部2とロボット設定装置100とを一体化したり、あるいはロボットコントローラ6をロボット設定装置100に組み込むこともできる。このように、
図2に示す部材の区分けは一例であって、複数の部材を統合させることもできる。例えばロボット設定装置100を操作する操作部4と、ロボットコントローラ6を操作するロボット操作具7とを、共通の部材としてもよい。
【0121】
表示部3は、例えば、液晶モニタや有機ELディスプレイ、CRT等を利用できる。操作部4は、キーボードやマウス等の入力デバイスが利用できる。また表示部3をタッチパネルとすることで、操作部4と表示部3を一体化することもできる。
【0122】
例えばロボット設定装置100を、画像処理プログラムをインストールしたコンピュータで構成した場合、表示部3上には画像処理プログラムのグラフィカルユーザインターフェース(GUI)画面が表示される。表示部3上に表示されたGUI上から各種の設定を行うことができ、またシミュレーション結果等の処理結果をGUI上に表示させることができる。この場合、表示部3を各種の設定を行うための設定部として利用できる。
【0123】
ロボットコントローラ6は、センサ部2で撮像した情報に基づいてロボットRBTの動作を制御する。またロボット操作具7は、ロボットRBTの動作設定を行うための部材であり、ペンダントなどが利用できる。
【0124】
ワークWKは、
図1に示すように複数個が収容容器BXに無作為に収納されている。このような作業空間の上方には、センサ部2が配置されている。ロボットコントローラ6は、センサ部2で得られたワークWKの三次元形状に基づいて、複数のワークWKの内から、把持対象のワークWKを特定して、このワークWKを把持するよう、ロボットRBTを制御する。そして、ワークWKを把持したまま、アーム部ARMを動作させて予め定められた載置位置、例えばステージSTG上まで移動させ、所定の姿勢でワークWKを載置する。いいかえると、ロボットコントローラ6は、センサ部2及びロボット設定装置100で特定されたピッキング対象のワークWKをエンドエフェクタEETで把持して、把持したワークWKを所定の基準姿勢にて、載置場所(ステージSTG)に載置してエンドエフェクタEETを開放するようにロボットRBTの動作を制御する。ステージSTGは、例えばコンベアベルト上やパレット等を挙げることができる。
【0125】
ここで本明細書においてばら積みピッキングとは、
図1に示すような収納容器BXに入れられて無作為に積み上げられたワークWKを、ロボットRBTで把持して、所定の位置に載置する他、収納容器を用いずに所定の領域に積み上げられたワークWKに対して把持、載置を行う例、あるいは所定の姿勢で並べられて積み上げられたワークWKを順次把持、載置する例も含む意味で使用する。また、必ずしもワークWK同士が積み重ねられている状態であることは要さず、ワークWK同士の重なりがない状態で平面上にランダムに置かれたワークWKについても、本明細書においてはばら積みと呼ぶ(順次ピッキングされていき、ピッキングの終盤でワークWK同士の重なりがない状態となった場合でも依然としてばら積みピッキングと呼ばれるのと同じ理由である)。なお、本発明はばら積みピッキングに必ずしも限定されるものでなく、ばら積みされていないワークWKをピックアップする用途にも適用できる。
【0126】
また、
図1の例ではセンサ部2を作業空間の上方に固定しているが、センサ部2の固定位置は、作業空間を撮像できる位置であればよく、例えば作業空間の斜め上方や側方、下方、斜め下方など、任意の位置に配置することができる。ただし、アーム部ARM上のような、可動する不定位置にセンサ部2を配置する態様は除かれる。さらにセンサ部2が有するカメラや照明の数も、1個に限らず複数個としてもよい。さらにまたセンサ部2やロボットRBT、ロボットコントローラ6との接続は、有線接続に限られず、周知の無線接続としてもよい。
【0127】
ロボットシステム1000でばら積みピッキング動作を行うにあたり、予めばら積みピッキング動作を行わせるための設定を含めたティーチングを行うこともできる。具体的には、ワークWKのどの部位を、エンドエフェクタEETがどのような姿勢で把持するのか、把持位置及び姿勢などの登録を行う。このような設定は、ペンダント等のロボット操作具7で行うことができる。また、後述するように、実際のロボットを操作せずに、ビジョン空間上で設定を行うこともできる。
【0128】
表示部3は、ワークWKの三次元形状を仮想的に表現するワークモデルや、エンドエフェクタEETの三次元形状を仮想的に表現する、三次元CADデータで構成されたエンドエフェクタモデルを、仮想的な三次元空間上でそれぞれ三次元状に表示させる。さらにこの表示部3は、ワークモデルの基本方向画像を六面図として表示させることもできる。これにより、ワークモデルの各姿勢を六面図で表示させて把持位置の設定作業を行えるようになり、従来面倒であった把持位置の設定作業を容易に行えるようになる。
【0129】
(ロボットシミュレーション)
ロボットシステム1000は、作業空間に積み上げられた複数のワークWKをロボットRBTによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置200を備えている。ロボットシミュレーション装置200は、ロボット設定装置100の内部に設けることができる。画像処理装置300は、作業空間に積み上げられた複数のワークWKを把持して順次取り出すピッキング動作を行うロボットRBTの制御に用いられる装置である。
【0130】
図2に示すように、ロボット設定装置100は、ワークモデル設定部201、物理シミュレーション部202、ばら積みデータ生成部203、ピッキング動作シミュレーション部204、サーチ処理部205、干渉判定部206、把持位置決定部207及び表示制御部209を備えている。これら各部は、ロボットシミュレーション装置200を構成しており、ハードウェアで構成することもできるし、ソフトウェアで構成することもできる。またこれら各部を全て一体化して1つの装置にすることもできるし、任意の一部分を他の部分と別にして複数の装置でロボット設定装置100を構成することもできる。またこれら各部を例えばマイクロプロセッサ(MPU)やCPU、LSI、FPGAやASIC等のゲートアレイ、DSP等のハードウェアやソフトウェア、あるいはこれらの混在により実現できる。また必ずしも各構成要素が
図2等に示した構成と同一でなくてもよく、その機能が実質的に同一であるもの、及び一つの要素が
図2に示す構成における複数の要素の機能を備えるものは、本発明に含まれる。
【0131】
また、表示制御部26は表示部3に設けることができる。また、ロボット設定装置100には各種情報を記憶するための記憶部208も設けられている。記憶部208は、半導体メモリやハードディスク等で構成することができる。また、記憶部208には、CD-ROMやDVD-ROM等の各種記憶媒体に記憶されている情報を読み取り可能な読み取り装置を設けることもできる。
【0132】
ロボットシステム1000の運用前、即ち、実際の作業現場でワークWKの把持及び載置作業を行う前に、ロボットシミュレーション装置200によってロボットRBTの把持動作や載置動作のシミュレーションを三次元的に行うことができるように構成されている。ロボットシミュレーションでは、複数のワークモデルを無作為に積み上げたばら積み状態を生成する物理シミュレーションと、物理シミュレーションで生成されたばら積み状態のデータを利用してワークモデルの位置及び姿勢を検出し、ロボットRBTによるピッキング動作のシミュレーションを実行するピッキング動作シミュレーションとが行われる。以下、ロボットシミュレーション装置200によって実現されるロボットシミュレーション方法について具体的に説明する。
【0133】
ロボットシミュレーションを開始する際には、シミュレーション環境を設定する。シミュレーション環境の設定には、ばら積みをさせるワークの数、収納容器BXの情報、床の情報、センサ部2を構成するカメラCME1~4やプロジェクタPRJの設計情報等が挙げられる。またピッキング動作シミュレーション時には、収納容器BXに対して、実運用上発生し得る、ランダムな位置ずれを発生させることもでき、この際の位置ずれの範囲等をシミュレーション環境の設定に含めることもできる。
【0134】
シミュレーション環境の設定の際にはワークWKのサーチモデルを登録するとともに、ロボットRBTのハンドモデルも登録する。ワークWKのサーチモデルとは、サーチ処理を実行する際に使用されるワークWKの形状を表したモデルである。例えばワークWKのCADデータ等を読み込むことで設定可能であり、ワークモデル設定部201で行われる。また、ロボットRBTのハンドモデルとは、ハンド部(エンドエフェクタEET)の形状を表したモデルである。
【0135】
また、ハンド部の位置及び姿勢も登録しておく。X軸座標、Y軸座標、Z軸座標、X軸周りの回転角度、Y軸周りの回転角度、Z軸周りの回転角度を個別に入力することで、入力された値に対応するように、表示部3上でハンドモデルが移動していく。これにより、ハンドモデルを所望位置に配置することができるので、ハンドモデルの位置を調整しながら、ハンドモデルでサーチモデルのどの部位をどのような姿勢で把持するか、即ち把持位置及び姿勢を設定することが可能になる。把持位置及び姿勢の設定は、例えばハンドモデルを操作部4のマウスで直接的に操作することによっても可能である。ここで設定する把持位置は、ロボットRBTにより把持される把持候補位置であり、記憶部208に記憶することができる。
【0136】
また、ばら積み情報を入力する。ばら積み情報とは、例えば、一度にばら積みするワークの個数、ばら積みする箇所の形状(平面であるか、箱であるか)、ばら積みする箇所の大きさ等を入力する。
【0137】
その後、ワークモデルのデータを読み込み、ワークモデルのデータ容量を圧縮する。データ容量を圧縮した後、物理シミュレーション部202によって物理シミュレーションを実行する。具体的には、データ容量が圧縮された複数のワークモデルを用いて、ワークが重力の作用を受けて作業空間に配置される動作をシミュレーションし、仮想的な作業空間に複数のワークモデルを積み上げたばら積み状態を生成する。
【0138】
物理シミュレーションは、従来から周知の物理シミュレーションエンジンを用いて実行することができる。物理シミュレーションでは、ワーク同士の衝突による作用、床等の障害物の情報に基づいてワークモデルを仮想的に配置していく。実運用時に
図1に示すような収容容器BXにワークWKを収容する場合には、ワークモデルを収容容器BXに上方から投入するシミュレーションを物理シミュレーションエンジンが行うように設定することができる。また、物理シミュレーションでは、例えばワーク同士が衝突した場合に、予め設定された反発係数や摩擦係数を考慮して、その後ワークモデルがどのような動きになるかが示される。
【0139】
物理シミュレーションの例としては、例えば、収容容器BXにワークWKを上方から投下または投入して収容容器BXの内部にばら積み状態を生成する場合を挙げることができる。「投入」や「投下」とは、物理的に高所から落下させる動作に限られず、例えば転がりを検証するため、所定の高さから水平方向に押し出しながら落下させたり、放物線状に投げ上げて落下させたり、あるいは収納容器BXや床面にワークモデルを載置、あるいは静置する動作も含む意味で使用する。さらに、物理シミュレーションは、ワークモデルを1つずつ作業空間内に順次投入する他、複数のワークモデルを同時に投入、例えば落下させたり静置させる動作をシミュレーションすることもできる。
【0140】
物理シミュレーションを実行した後、ワークモデルのばら積み状態データを、物理シミュレーションの結果に基づいて生成する。実行するのは、
図2に示すロボット設定装置100が有するばら積みデータ生成部203である。
【0141】
ワークモデルのばら積み状態データに基づいて画像を生成した後、高さ画像を得て、各ワークモデルの位置及び姿勢を検出するサーチ処理を実行する。ロボット設定装置100が有するサーチ処理部205が行う。
【0142】
サーチ処理は高さ情報を含むサーチ処理用データに対してサーチをかけるので、三次元サーチと呼ぶことができる。具体的には、予め登録されたサーチモデルを用いて、各ワークモデルの姿勢と位置を特定する三次元サーチを行う。まずサーチモデルの各特徴点が、最も一致する状態の位置及び姿勢(X、Y、Z、RX、RY、RZ)を、高さ画像の中から探索する。ここでRX、RY、RZは、それぞれX軸に対する回転角、Y軸に対する回転角、Z軸に対する回転角を表す。このような回転角度の表現方法は種々提案されているところ、ここではZ-Y-X系オイラー角を用いることができる。また一致する位置及び姿勢は、各サーチモデルに対して、1つである必要はなく、一定以上一致する位置及び姿勢を、複数検出してもよい。
【0143】
サーチ処理部205が高さ画像中にサーチモデルが存在するか否かをサーチした結果、高さ画像中に、サーチモデルが存在しない場合、即ちワークモデルを検出できない場合にはサーチ処理を終了する。
【0144】
一方、三次元サーチの結果、高さ画像の中にワークモデルを検出できた場合には、干渉判定及び把持解を算出する。サーチ処理部205によりサーチに成功したワークモデルに対して、ロボットRBTによりピッキング動作のシミュレーションを実行するピッキング動作シミュレーション部204が行う。
【0145】
ピッキング動作シミュレーション部204は、生成されたばら積みデータに対して、仮想作業空間内のワークモデルのばら積みピッキング動作を検証するための部分である。ピッキング動作シミュレーションを行うことにより、ワークの三次元位置及び姿勢の検出可否など、手間のかかる確認作業や設定調整を、実際にワークを用意することなく、実運用に近い形で事前に行うことができる。
【0146】
特に物理シミュレーション部202は、ピッキング動作シミュレーション部204による一のワークモデルをハンドモデルで把持し少なくとも取り出し動作を開始した後、このワークモデルが取り出された後の状態のばら積みデータに対して物理シミュレーションを再度実行するように構成することができる。物理シミュレーションを再度実行するタイミングは、ワークモデルをハンドモデルで把持し、載置位置にプレースされた後とする他、ワークモデルの取り出し作業の途中であってもよい。すなわち、ハンドモデルでワークモデルを把持して、このワークモデルが持ち上げられた状態では、一のワークモデルが除去されたことで、このワークモデルの周辺にあった他のワークモデルが移動可能となるため、把持されたワークモデルが載置されるまで待つ必要はない。よって、物理シミュレーションの再実行のタイミングは、一のワークモデルがハンドモデルで把持されて持ち上げられたタイミング、あるいはその後、他のワークモデルの状態が重力の作用で移動して安定するまで待った後のタイミングとすることができる。例えば、ワークモデルが把持されて持ち上げられた時点から所定の時間の経過後(例えば10秒後)としてもよい。物理シミュレーションを再度実行した後、ばら積みデータを更新する。
【0147】
したがって、ピッキング動作シミュレーション中にばら積みデータからワークモデルが一つ取り出されると、これに応じてバラ積みされたワークモデル群が崩れるといった動作も物理シミュレーションにより演算され、この演算後のばら積みデータを利用してピッキング動作シミュレーション部25がその後のピッキング動作シミュレーションを実行するので、より正確なばら積みピッキングのシミュレーションが実現される。
【0148】
干渉判定は、高さ画像の各1点1点のpixelデータが示す三次元点群と、予め入力されているハンドモデルとが干渉するか否かを判定する。干渉判定の前に、三次元サーチで検出された一のワークモデルに対して、このワークモデルの位置と、登録してあるワークモデルの把持姿勢とに基づいて、エンドエフェクタEETを配置すべき位置と姿勢を計算する。計算された位置において、エンドエフェクタが周囲の物体と干渉しないかどうかを、断面モデルを利用して判定する。この干渉判定では、ハンドモデルの断面モデルを利用して三次元点群が断面モデルと干渉しているか否かを判定する。
【0149】
このようにして、ワークモデルを把持可能な把持解の有無を検出されたワークモデル毎に判定する。そして、ワークモデルに把持解が得られた場合は、そのワークモデルの把持候補位置をハンド部でもってピックし、収納容器BXの外部へ搬送するシミュレーションを行う。
【0150】
ピッキング動作シミュレーションの実行結果は、必要に応じて表示部3に表示させることができる。ユーザは表示部3に表示されたピッキング動作シミュレーションの実行結果に基づいて、現在の設定の適否を判断できる。また必要に応じて、各種の設定を変更することができる。例えばロボットRBTの設置位置や収納容器BXを置く位置、センサ部2の姿勢などを調整する。変更した設定を、シミュレーション環境として入力し直して、再度ピッキング動作シミュレーションを実行し、その適否を確認するという作業を繰り返して、ユーザの環境に応じた適切な設定条件を決定できる。
(サーチ処理部205)
サーチ処理部205は、上述したピッキング動作シミュレーションで使用されているが、実運用時でも使用することができる。サーチ処理部205をピッキング動作シミュレーションで使用したものとは別に構成することもできる。
【0151】
すなわち、サーチ処理部205は、予め登録されたサーチモデルを用いて、三次元計測データの中に含まれる複数のワークの位置及び姿勢を検出するサーチ処理を行う。サーチ処理を行う際には、三次元計測データから得られた高さ画像中に、サーチモデルが存在するか否かをサーチする。この手法はピッキング動作シミュレーションで行った手法と同じにすることができる。
(干渉判定部206)
干渉判定部31は、サーチ処理部205でサーチ処理に成功したサーチモデルに対応付けられたワーク表面に設定された把持候補位置をロボットRBTが周囲の物体と干渉することなく把持が可能か判定する。この干渉判定部206による判定手法は、ピッキング動作シミュレーションで行った手法と同じにすることができる。
(把持位置決定部207)
把持位置決定部207は、干渉判定部206により周囲の物体と干渉することなく把持が可能と判定された把持候補位置を実際の把持位置として決定するように構成されている。
【0152】
(実運用時の手順)
次に、実運用時について説明する。
図1に示すようにセンサ部2を用いて収納容器BXにばら積みされているワークWKを三次元計測する。
図11は、収納容器BXに無作為に投入されたワークWK1、WK2を斜め上方から見た斜視図であり、本例では、説明を容易化するために、この図に示すように、水平な姿勢で収納されたワークWK1と、斜めに収納されたワークWK2とがある場合について説明する。
【0153】
図12(A)は、ワークWK2の斜面が三次元計測できるように露光時間を設定した場合のパターン画像であり、
図12(B)はワークWK1の水平面が三次元計測できるように露光時間を設定した場合のパターン画像である。
図12(A)のパターン画像の方が、
図12(B)のパターン画像のよりも露光時間が長く設定された画像である。
図12(A)のパターン画像では、ワークWK1の水平面の画素が飽和しており、したがって、
図13の(A)及び
図14の(A)に示すように、高さ画像を生成すると、ワークWK1の水平面の広い範囲で無効画素(図中の黒い部分)が多く見られる結果となる。また、
図12(B)のパターン画像では、ワークWK2の斜面が露光不足であり、したがって、
図13の(B)及び
図14の(B)に示すように、高さ画像を生成すると、ワークWK2の斜面の広い範囲で無効画素(図中の黒い部分)が多く見られる結果となる。
【0154】
本実施形態では、第1露光時間で撮像したパターン画像に基づいて高さ画像を生成するとともに、第1露光時間よりも長い第2露光時間で撮像したパターン画像に基づいて高さ画像を生成する。
図15の(A)及び
図16の(A)は第1露光時間で撮像したパターン画像に基づいて生成した高さ画像を示しており、
図15の(B)及び
図16の(B)は第2露光時間で撮像したパターン画像に基づいて生成した高さ画像を示している。
図15の(A)及び
図16の(A)に示すように露光時間が長いとワークWK1の水平面の画素が飽和する一方、
図15の(B)及び
図16の(B)に示すように露光時間が短いとワークWK2の斜面が露光不足になるが、本実施形態では、
図15の(A)及び
図16の(A)に示す画像を優先し、この画像中の無効画素を、
図15の(B)及び
図16の(B)に示す対応する位置の画素に置き換える処理を行う。これにより、
図17の(A)及び(B)に示すように、無効画素の少ない高さ画像を得ることができる。
【0155】
その後、上述のようにして生成された高さ画像に対して三次元サーチを実施し、ワークの位置及び姿勢を検出する。ワークモデルの位置と、登録してあるワークモデルの把持姿勢とに基づいて、ハンド部を配置すべき位置と姿勢を計算する。計算された位置において、ハンド部が周囲の物体と干渉しないかどうかを判定する。具体的には、高さ画像の各1点1点のpixelデータが示す三次元点群と、ハンドモデルとが干渉するか否かを、ハンドの断面モデルを用いて判定する。ハンド部が周囲の物体と干渉していない場合には、把持解有りとして終了する。この把持解がロボットコントローラ6に送信され、ロボットコントローラ6がアーム部ARM及びハンド部を制御してワークWKをピックして搬送する。
【0156】
ハンド部が周囲の物体と干渉している場合には、別の把持候補位置があるか否かを判定する。別の把持候補位置がある場合には、その把持解がロボットコントローラ6に送信され、ロボットコントローラ6がアーム部ARM及びハンド部を制御してワークWKをピックして搬送する。別の把持候補位置がない場合には、把持解候補となるワークが他にもあるか否かを判定する。別のワークがある場合には、上述のようにして把持解を演算する。別のワークがない場合には把持解無しとして終了する。
【0157】
(実施形態の作用効果)
以上説明したように、この実施形態によれば、ワークWKを第1露光時間で撮像した第1パターン画像と、第1露光時間よりも長い第2露光時間で撮像した第2パターン画像とを生成し、露光時間が長い第2パターン画像、第2位相画像、第2高さ画像に無効画素がある場合には、第2パターン画像、第2位相画像、第2高さ画像の無効画素を第1パターン画像、第1位相画像、第1高さ画像の画素と置き換えることができる。これにより、例えば複雑な形状を有するワークWKや、様々な姿勢にある複数のワークWKを三次元計測する場合に、計測精度を高めることができる。
【0158】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0159】
以上説明したように、本発明に係る三次元計測装置は、例えばロボットビジョン等として利用することができる。
【符号の説明】
【0160】
1 三次元計測装置
2 センサ部
21 パターン画像生成部
22 位相画像生成部
23 高さ画像生成部
24 置換処理部
25 露光時間設定部
26 HDR設定部
CME1~4 撮像部
PRJ 照明部
WK ワーク(計測対象物)