(57)【要約】【課題】複雑な形状を有する計測対象物や、様々な姿勢にある複数の計測対象物を三次元計測する場合に、計測精度を高める。【解決手段】計測対象物を第１露光時間で撮像した第１パターン画像と、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像とが生成する。第２パターン画像に無効画素が無い場合には、第２パターン画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。第２パターン画像に無効画素があると判定された場合には、当該無効画素が第１パターン画像に基づいて生成される高さ画像の対応する位置の画素に置き換えられる。【選択図】図２
2020122664.tif 000002
【特許請求の範囲】
【請求項１】
計測対象物の三次元形状を計測する三次元計測装置において、
周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、
前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、
計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第１露光時間で撮像した複数のパターン画像からなる第１パターン画像セットと、前記第１露光時間よりも長い第２露光時間で撮像した複数のパターン画像からなる第２パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、
前記パターン画像生成部が生成した前記第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否かを判定し、無効画素が無いと判定された場合には、前記第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素値に基づいて、当該画素の計測対象物表面の高さを示す位相データを生成する一方、無効画素があると判定された場合には、前記第１パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成する処理を、各画素について行うことにより位相画像を生成する位相画像生成部と、
前記位相画像生成部で生成した位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする三次元計測装置。
【請求項２】
請求項１に記載の三次元計測装置において、
前記パターン画像生成部は、前記第１露光時間よりも長くかつ前記第２露光時間よりも短い第３露光時間で撮像した第３パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、
前記位相画像生成部は、前記第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があると判定された場合には、当該無効画素を前記第３パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む中間位相画像を生成するとともに、前記第３パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否か判定し、前記第３パターン画像セットを構成するパターン画像に無効画素があると判定された場合には、当該無効画素を前記第１パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む第３位相画像を生成するように構成され、
前記高さ画像生成部は、前記位相画像生成部で生成した第３位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成するように構成されていることを特徴とする三次元計測装置。
【請求項３】
計測対象物の三次元形状を計測する三次元計測装置において、
周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、
前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、
計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第１露光時間で撮像した複数のパターン画像からなる第１パターン画像セットと、前記第１露光時間よりも長い第２露光時間で撮像した複数のパターン画像からなる第２パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、
前記パターン画像生成部が生成した前記第１パターン画像セット及び前記第２パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第１位相画像及び第２位相画像を生成する位相画像生成部と、
前記第２位相画像に無効画素があるか否かを判定し、前記第２位相画像に無効画素が無いと判定された場合には、前記第２位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する一方、前記第２位相画像に無効画素があると判定された場合には、当該無効画素を前記第１位相画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする三次元計測装置。
【請求項４】
請求項３に記載の三次元計測装置において、
前記パターン画像生成部は、前記第１露光時間よりも長くかつ前記第２露光時間よりも短い第３露光時間で撮像した第３パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、
前記位相画像生成部は、前記パターン画像生成部が生成した前記第３パターン画像セットに基づいて計測対象物の表面の位相データを含む第３位相画像を生成するように構成され、
前記高さ画像生成部は、前記第２位相画像に無効画素があると判定された場合には、当該無効画素を前記第３位相画像の対応する位置の画素に置き換える、もしくは切り替えて中間高さ画像を生成するとともに、前記第３位相画像に無効画素があるか否か判定し、前記第３位相画像に無効画素があると判定された場合には、当該無効画素を前記第１位相画像の対応する位置の画素に置き換える、もしくは切り替えて高さ画像を生成するように構成されていることを特徴とする三次元計測装置。
【請求項５】
計測対象物の三次元形状を計測する三次元計測装置において、
周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、
前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、
計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第１露光時間で撮像した複数のパターン画像からなる第１パターン画像セットと、前記第１露光時間よりも長い第２露光時間で撮像した複数のパターン画像からなる第２パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、
前記パターン画像生成部が生成した前記第１パターン画像セット及び前記第２パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第１位相画像及び第２位相画像を生成する位相画像生成部と、
前記第１位相画像及び前記第２位相画像のそれぞれに基づいて計測対象物の高さ情報を含む第１高さ画像及び第２高さ画像を生成する高さ画像生成部と、
前記第２高さ画像に無効画素があるか否かを判定し、前記第２高さ画像に無効画素があると判定された場合には、当該無効画素を前記第１高さ画像の対応する位置の画素に置き換えて置換処理後高さ画像を生成する置換処理部とを備えていることを特徴とする三次元計測装置。
【請求項６】
請求項５に記載の三次元計測装置において、
前記パターン画像生成部は、前記第１露光時間よりも長くかつ前記第２露光時間よりも短い第３露光時間で撮像した第３パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、
前記位相画像生成部は、前記パターン画像生成部が生成した前記第３パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに基づいて計測対象物の表面の位相データを含む第３位相画像を生成するように構成され、
前記高さ画像生成部は、前記第３位相画像に基づいて計測対象物の高さ情報を含む第３高さ画像を生成するように構成され、
前記置換処理部は、前記第２高さ画像に無効画素があると判定された場合には、当該無効画素を前記第３高さ画像の対応する位置の画素に置き換えた中間高さ画像を生成するとともに、前記中間高さ画像に無効画素があるか否か判定し、前記中間高さ画像に無効画素があると判定された場合には、当該無効画素を前記第１高さ画像の対応する位置の画素に置き換えた置換処理後高さ画像を生成するように構成されていることを特徴とする三次元計測装置。
【請求項７】
請求項１から６のいずれか１つに記載の三次元計測装置において、
前記パターン画像の中で一定の輝度値以上の値を有する画素を前記無効画素とするように構成されており、位相画像、または高さ画像、あるいはその両方において、無効画素であることを識別可能に構成されていることを特徴とする三次元計測装置。
【請求項８】
請求項１から７のいずれか１つに記載の三次元計測装置において、
露光時間を複数通りに変化させて得られた複数の第１パターン画像セットと第２パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第１露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項９】
請求項１から８のいずれか１つに記載の三次元計測装置において、
露光時間を複数通りに変化させて得られた複数の第１パターン画像セットと第２パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第２露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項１０】
請求項１から９のいずれか１つに記載の三次元計測装置において、
露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた第２パターン画像のそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を累積した第１累積有効画素数を得て、第１累積有効画素数の増加度が所定以下となる露光時間を前記第２露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項１１】
請求項１０に記載の三次元計測装置において、
第１累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を前記第２露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項１２】
請求項１から１１のいずれか１つに記載の三次元計測装置において、
露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた複数の第１パターン画像のそれぞれについて飽和画素数を得て、飽和画素数が増え始める直前の露光時間を前記第１露光時間とするように構成されていることを特徴とする三次元計測装置。
【請求項１３】
請求項１から１２のいずれか１つに記載の三次元計測装置において、
前記撮像部は、露光時間中に所定以上の強度の光を受光して飽和電位よりも低く設定された所定電位まで電荷が蓄積された場合に電荷の蓄積を所定時間停止可能な受光素子を備えていることを特徴とする三次元計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元形状を計測する三次元計測装置に関する。
【背景技術】
【０００２】
従来より、計測対象物の三次元形状を非接触で計測する場合に所定のパターン光を計測対象物に投影し、計測対象物から反射した反射光をイメージセンサで受光してパターン画像を生成し、このパターン画像から三角測量の原理に基づいて高さ情報を取得する方法が知られている。
【０００３】
特許文献１には、相対的に短い露光時間でイメージセンサにより生成したパターン画像から距離画像を取得するとともに、相対的に長い露光時間でイメージセンサにより生成したパターン画像から距離画像を取得し、相対的に短い露光時間のパターン画像から得た距離画像において画素値が不明な画素がある場合に、その画素値が不明な画素を、相対的に長い露光時間のパターン画像から得た距離画像の画素値で置き換えることが開示されている。
【０００４】
また、特許文献２には、パターン光の明部に対応する箇所が輝度飽和しない第１露光時間により撮像を行う第１撮像処理と、パターン光の暗部の計測に適した露光時間のうち、第１露光時間で不足した分に相当する第２露光時間により撮像を行う第２撮像処理とを行い、第１撮像処理により取得した濃淡画像の輝度飽和していない箇所と、第２撮像処理により取得した濃淡画像の輝度飽和していない箇所とを合成して濃淡画像を作成することが開示されている。具体的には、第１撮像処理により取得した濃淡画像の各画素の輝度値と、第２撮像処理により取得した濃淡画像の各画素の輝度値を合算した値が輝度飽和しているか否かを各画素について判定し、輝度飽和している場合には、当該画素に関して、第１撮像処理により取得した濃淡画像の輝度値を用い、輝度飽和していない場合には、当該画素に関して、前記合算した値を用いて、三次元計測用の画像データを作成している。
【０００５】
また、特許文献３には、異なる露光時間でイメージセンサにより生成した複数のパターン画像を取得し、これら複数のパターン画像から有効な画素を抽出して１つに合成することにより多重露光画像を生成し、多重露光画像から三次元計測用の画像データを作成することが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第６０３８４１５号公報
【特許文献２】特許第５２９０２３３号公報
【特許文献３】特許第４８８９３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１では、相対的に短い露光時間のパターン画像の中で画素値が不明な画素を相対的に長い露光時間の画素値と置き換えるようにしているので、相対的に短い露光時間のパターン画像の画素が優先されることになる。露光時間が短いと、例えば傾斜面等から反射光を十分に受光することができず、その結果、三次元計測結果の精度が低下してしまう。
【０００８】
そこで、特許文献２のように、輝度飽和しているか否かを各画素について判定し、輝度飽和している場合には、パターン光の明部の計測に適した露光時間により得られた輝度値を用い、輝度飽和していない場合には、パターン光の明部の計測に適した露光時間と、パターン光の暗部の計測に適した露光時間と合算した値を用いることで、露光時間の長い側を優先することが考えられる。
【０００９】
しかしながら、例えば、照度分布の位相をシフトさせた複数のパターン光を順次照射して得られた複数のパターン画像から高さ情報を取得する位相シフト法を用いた場合、複数のパターン画像の中でパターンの箇所によって明暗（飽和状態）が大きく変わるため、輝度飽和の有無に応じて、濃淡画像上で選択的に合成を行ってしまうと、不適切な位相シフトパターンの組み合わせで三次元計測を行う箇所が生じることになり、計測精度が著しく悪化する可能性がある。
【００１０】
したがって、位相シフトの全パターンが、「全て輝度飽和する箇所」と、「全て輝度飽和しない箇所」のように、綺麗に２分化できる対象であれば、特許文献２の方法でも計測精度をある程度高めることができるが、例えば、ばら積みされている複数のワークを三次元計測するような使用形態には不向きであった。
【００１１】
また、特許文献３では、異なる露光時間のパターン画像を１つに合成するようしており、これにより、濃淡画像上でハイダイナミックレンジ合成が可能になる。ところが、異なる露光時間のパターン画像を１つに合成する際、量子化誤差の影響や、イメージセンサのオフセットレベルの影響等に起因して画素間の連続性が悪化し、計測精度の低下は避けられない。
【００１２】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、例えば複雑な形状を有する計測対象物や、様々な姿勢にある複数の計測対象物を三次元計測する場合に、計測精度を高めることにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、第１の発明は、計測対象物の三次元形状を計測する三次元計測装置において、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第１露光時間で撮像した複数のパターン画像からなる第１パターン画像セットと、前記第１露光時間よりも長い第２露光時間で撮像した複数のパターン画像からなる第２パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、前記パターン画像生成部が生成した前記第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否かを判定し、無効画素が無いと判定された場合には、前記第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素値に基づいて、当該画素の計測対象物表面の高さを示す位相データを生成する一方、無効画素があると判定された場合には、前記第１パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成する処理を、各画素について行うことにより位相画像を生成する位相画像生成部と、前記位相画像生成部で生成した位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする。
【００１４】
この構成によれば、計測対象物を第１露光時間で撮像した第１パターン画像セットと、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像セットとが生成される。第２パターン画像セットは、相対的に長い露光時間で撮像されているので、一部の画素が飽和した状態となっている場合があり得る。第２パターン画像セットにおいて飽和した画素は、三次元計測に寄与しない無効画素となる得る画素である。
【００１５】
第２パターン画像セットに無効画素が無い場合には、第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素値に基づいて計測対象物の表面の位相データを含む位相画像を生成し、この位相画像に基づいて高さ画像が生成される。第２パターン画像セットは、露光時間が長いパターン画像、即ち、例えば傾斜面等からの反射光も十分に受光したパターン画像セットであるので、第２パターン画像セットに基づいた高さ画像を取得することで高精度な三次元計測結果になる。
【００１６】
一方、第２パターン画像セットに無効画素があると判定された場合には、第１パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成する処理を、各画素について行うことにより位相画像を生成する。第１パターン画像セットは、露光時間が短いので、第２パターン画像セットで飽和している画素と同位置の画素であっても、飽和していない可能性が高く、第１パターン画像セットの同一座標に位置する複数の画素値に基づいて当該画素の位相データを生成することで、当該パターン画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【００１７】
第２の発明は、前記パターン画像生成部は、前記第１露光時間よりも長くかつ前記第２露光時間よりも短い第３露光時間で撮像した第３パターン画像を生成するように前記照明部及び前記撮像部を制御し、前記位相画像生成部は、前記第２パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があると判定された場合には、当該無効画素を前記第３パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む中間位相画像を生成するとともに、前記第３パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに無効画素があるか否か判定し、前記第３パターン画像セットを構成するパターン画像に無効画素があると判定された場合には、当該無効画素を前記第１パターン画像セットを構成するパターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む第３位相画像を生成するように構成され、前記高さ画像生成部は、前記位相画像生成部で生成した第３位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成するように構成されていることを特徴とする。
【００１８】
この構成によれば、第１、第２及び第３露光時間のそれぞれでパターン画像セットを生成し、最も長い露光時間の第２パターン画像セットを構成するパターン画像を優先して高さ画像を生成することができるので、高精度な三次元計測結果が得られる。
【００１９】
第３の発明は、計測対象物の三次元形状を計測する三次元計測装置において、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第１露光時間で撮像した複数のパターン画像からなる第１パターン画像セットと、前記第１露光時間よりも長い第２露光時間で撮像した複数のパターン画像からなる第２パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、前記パターン画像生成部が生成した前記第１パターン画像セット及び前記第２パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第１位相画像及び第２位相画像を生成する位相画像生成部と、前記第２位相画像に無効画素があるか否かを判定し、前記第２位相画像に無効画素が無いと判定された場合には、前記第２位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する一方、前記第２位相画像に無効画素があると判定された場合には、当該無効画素を前記第１位相画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の高さ情報を含む高さ画像を生成する高さ画像生成部とを備えていることを特徴とする。
【００２０】
この構成によれば、計測対象物を第１露光時間で撮像した第１パターン画像セットと、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像セットとが生成され、第１パターン画像セット及び第２パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第１位相画像及び第２位相画像が生成される。第２位相画像は、相対的に長い露光時間で撮像された第２パターン画像セットを構成するパターン画像に基づいているので、一部の画素が飽和した状態となっている場合があり得る。第２位相画像において飽和した画素は、三次元計測に寄与しない無効画素となる得る画素である。
【００２１】
第２位相画像に無効画素が無い場合には、第２位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。この第２位相画像は、露光時間が長いパターン画像、即ち、例えば傾斜面等からの反射光も十分に受光したパターン画像に基づいた位相画像となっているので、高精度な三次元計測結果になる。
【００２２】
一方、第２位相画像に無効画素があると判定された場合には、当該無効画素が第１位相画像の対応する位置の画素に置き換えられる。第１位相画像は、露光時間が短い第１パターン画像に基づいているので、第２位相画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換える、もしくは切り替えることで、置き換え後、もしくは切り替え後の位相画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【００２３】
第４の発明は、前記パターン画像生成部は、前記第１露光時間よりも長くかつ前記第２露光時間よりも短い第３露光時間で撮像した第３パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、前記位相画像生成部は、前記パターン画像生成部が生成した前記第３パターン画像セットに基づいて計測対象物の表面の位相データを含む第３位相画像を生成するように構成され、前記高さ画像生成部は、前記第２位相画像に無効画素があると判定された場合には、当該無効画素を前記第３位相画像の対応する位置の画素に置き換える、もしくは切り替えて中間高さ画像を生成するとともに、前記第３位相画像に無効画素があるか否か判定し、前記第３位相画像に無効画素があると判定された場合には、当該無効画素を前記第１位相画像の対応する位置の画素に置き換える、もしくは切り替えて高さ画像を生成するように構成されていることを特徴とする。
【００２４】
この構成によれば、第１、第２及び第３露光時間のそれぞれでパターン画像セットを生成し、最も長い露光時間の第２パターン画像セットを構成するパターン画像に基づいて生成された第２位相画像を優先して高さ画像を生成することができるので、高精度な三次元計測結果が得られる。
【００２５】
第５の発明は、計測対象物の三次元形状を計測する三次元計測装置において、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部と、前記照明部から投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部と、計測対象物に前記照明部より前記パターン光を位相シフトさせて複数回投影し、前記パターン光が投影された計測対象物を第１露光時間で撮像した複数のパターン画像からなる第１パターン画像セットと、前記第１露光時間よりも長い第２露光時間で撮像した複数のパターン画像からなる第２パターン画像セットとを生成するように前記照明部及び前記撮像部を制御するパターン画像生成部と、前記パターン画像生成部が生成した前記第１パターン画像セット及び前記第２パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第１位相画像及び第２位相画像を生成する位相画像生成部と、前記第１位相画像及び前記第２位相画像のそれぞれに基づいて計測対象物の高さ情報を含む第１高さ画像及び第２高さ画像を生成する高さ画像生成部と、前記第２高さ画像に無効画素があるか否かを判定し、前記第２高さ画像に無効画素があると判定された場合には、当該無効画素を前記第１高さ画像の対応する位置の画素に置き換えて置換処理後高さ画像を生成する置換処理部とを備えていることを特徴とする。
【００２６】
この構成によれば、計測対象物を第１露光時間で撮像した第１パターン画像セットと、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像セットとが生成され、第１パターン画像セット及び第２パターン画像セットのそれぞれに基づいて計測対象物の表面の位相データを含む第１位相画像及び第２位相画像が生成される。そして、第１位相画像及び第２位相画像のそれぞれに基づいて計測対象物の高さ情報を含む第１高さ画像及び第２高さ画像が生成される。
【００２７】
第２高さ画像は、相対的に長い露光時間で撮像された第２パターン画像セットに基づいているので、一部の画素が飽和した状態となっている場合があり得る。第２高さ画像において飽和した画素は、三次元計測に寄与しない無効画素となる得る画素である。
【００２８】
第２高さ画像に無効画素が無い場合、第２高さ画像は、露光時間が長いパターン画像、即ち、例えば傾斜面等からの反射光も十分に受光したパターン画像に基づいた高さ画像となっているので、高精度な三次元計測結果が得られる。
【００２９】
一方、第２高さ画像に無効画素があると判定された場合には、当該無効画素が第１高さ画像の対応する位置の画素に置き換えられる。第１高さ画像は、露光時間が短い第１パターン画像に基づいているので、第２高さ画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置換後高さ画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【００３０】
第６の発明は、前記パターン画像生成部は、前記第１露光時間よりも長くかつ前記第２露光時間よりも短い第３露光時間で撮像した第３パターン画像セットを生成するように前記照明部及び前記撮像部を制御し、前記位相画像生成部は、前記パターン画像生成部が生成した前記第３パターン画像セットを構成する各パターン画像の同一座標に位置する複数の画素のいずれかに基づいて計測対象物の表面の位相データを含む第３位相画像を生成するように構成され、前記高さ画像生成部は、前記第３位相画像に基づいて計測対象物の高さ情報を含む第３高さ画像を生成するように構成され、前記置換処理部は、前記第２高さ画像に無効画素があると判定された場合には、当該無効画素を前記第３高さ画像の対応する位置の画素に置き換えた中間高さ画像を生成するとともに、前記中間高さ画像に無効画素があるか否か判定し、前記中間高さ画像に無効画素があると判定された場合には、当該無効画素を前記第１高さ画像の対応する位置の画素に置き換えた置換処理後高さ画像を生成するように構成されていることを特徴とする。
【００３１】
この構成によれば、第１、第２及び第３露光時間のそれぞれでパターン画像セットを生成し、最も長い露光時間の第２パターン画像セットに基づいて生成された第２高さ画像を優先して置換処理後高さ画像を生成することができるので、高精度な三次元計測結果が得られる。
【００３２】
第７の発明は、前記パターン画像の中で一定の輝度値以上の値を有する画素を前記無効画素とするように構成されており、位相画像、または高さ画像、あるいはその両方において、無効画素であることを識別可能に構成されていることを特徴とする。
【００３３】
この構成によれば、パターン画像の中で一定の輝度値以上の値を有する画素が飽和した状態にあると推定することができ、三次元計測に寄与しないので、この画素を無効画素として判定することで、高精度な三次元計測結果が得られる。「一定の輝度値」とは、最大輝度値であってもよいし、最大輝度値から僅かに低い輝度値であってもよく、無効画素となり得る輝度値である。
【００３４】
第８の発明は、露光時間を複数通りに変化させて得られた複数の第１パターン画像セットと第２パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第１露光時間とするように構成されていることを特徴とする。
【００３５】
この構成によれば、有効画素数に基づいて適切な第１露光時間を設定することができる。有効画素が最大値の９０％以上９９％以下の範囲となる露光時間を第１露光時間とすることができる。
【００３６】
第９の発明は、露光時間を複数通りに変化させて得られた複数の第１パターン画像セットと第２パターン画像セットのそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を取得し、有効画素数が所定以上の露光時間を前記第２露光時間とするように構成されていることを特徴とする。
【００３７】
この構成によれば、有効画素数に基づいて適切な第２露光時間を設定することができる。
【００３８】
第１０の発明は、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた第２パターン画像のそれぞれに基づいて生成された複数の前記高さ画像の有効画素数を累積した第１累積有効画素数を得て、第１累積有効画素数の増加度が所定以下となる露光時間を前記第２露光時間とするように構成されていることを特徴とする。
【００３９】
すなわち、露光時間を複数通りに変化させた際、高さ画像の有効画素数の増減と、第１累積有効画素数の増減とを比較すると、有効画素数が減り、第１累積有効画素数が増える場合がある。このことは、例えば、金属製の計測対象物の斜面部など、長い露光時間であれば計測できるが、逆に他の部分で無効画素が増えてしまう状態を現している。したがって、第１累積有効画素数がある増加度で増え続ける限りは、高さ画像の有効画素数を増加させる余地が残っているということになるので、第１累積有効画素数が殆ど増加しなくなる露光時間（累積有効画素数の増加度が所定以下となる露光時間）を第２露光時間とすることで、無効画素をより一層少なくすることができ、その結果、高精度な三次元計測結果が得られる。
【００４０】
第１１の発明は、第１累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を前記第２露光時間とするように構成されていることを特徴とする。
【００４１】
すなわち、第１累積有効画素数が最大となる露光時間を第２露光時間とすることもできるが、例えばノイズ等の影響によって第１累積有効画素数が変動することがあり、累積有効画素数の変動に過敏に反応して第２露光時間を適切に設定できなくなるおそれがある。本構成によれば、第１累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間が第２露光時間になるので、ノイズ等の影響を受け難くなる。
【００４２】
「所定の時間だけ短くした時間」とは、例えば最大累積有効画素数の９５％〜９８％の累積有効画素数となる露光時間とすることができ、また、最大累積有効画素数の９７％〜９８％の累積有効画素数となる露光時間とすることもできる。
【００４３】
第１２の発明は、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた複数の第１パターン画像のそれぞれについて飽和画素数を得て、飽和画素数が増え始める直前の露光時間を前記第１露光時間とするように構成されていることを特徴とする。
【００４４】
この構成によれば、第１露光時間を飽和画素数の少ない露光時間にすることができるので、無効画素数が少なくなり、高精度な三次元計測結果が得られる。
【００４５】
第１３の発明は、前記撮像部は、露光時間中に所定以上の強度の光を受光して飽和電位よりも低く設定された所定電位まで電荷が蓄積された場合に電荷の蓄積を所定時間停止可能な受光素子を備えていることを特徴とする。
【００４６】
例えば、露光時間中に飽和電位に達するほどの強度（所定以上の強度）を持った光を受光すると、その画素が飽和した状態になるが、本構成では、飽和電位よりも低く設定された所定電位まで電荷が蓄積されると、電荷の蓄積が一時的に停止されるので、上記のような強い光を受光した場合であっても、その画素が飽和した状態になりにくくなる。つまり、ハイダイナミックレンジ処理を撮像部の受光素子で１回の撮像中に行うことができる。
【００４７】
この撮像素子によるハイダイナミックレンジ処理と本発明の無効画素の置き換え処理とを組み合わせることで、高さ画像中における無効画素をより一層少なくすることができる。
【発明の効果】
【００４８】
本発明によれば、計測対象物を第１露光時間で撮像した第１パターン画像と、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像とを生成し、露光時間が長い第２パターン画像、第２位相画像、第２高さ画像に無効画素がある場合には、第２パターン画像、第２位相画像、第２高さ画像を優先しながら、無効画素のみを第１パターン画像、第１位相画像、第１高さ画像の画素と置き換えることができる。これにより、例えば複雑な形状を有する計測対象物や、様々な姿勢にある複数の計測対象物を三次元計測する場合に、無効画素が少なくなり、計測精度を高めることができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施形態に係る三次元計測装置を備えたロボットシステムを用いてばら積みピッキング動作を行う様子を示す模式図である。
【図２】ロボットシステムのブロック図である。
【図３】センサ部の一例を示す斜視図である。
【図４】パターン画像セット、位相画像、絶対位相画像及び高さ画像の一例を示す図である。
【図５】露光時間と有効画素数との関係を示すグラフである。
【図６】有効画素数に基づいて露光時間を設定する要領を示す図である。
【図７】第１累積有効画素数を示すグラフと有効画素数を示すグラフとを対比した図である。
【図８】第１累積有効画素数に基づいて第２露光時間を設定する要領を示す図である。
【図９】第２累積有効画素数に基づいて第１露光時間を設定する要領を示す図である。
【図１０】図１０（Ａ）は受光素子の機能説明図であり、図１０（Ｂ）は受光素子の感度曲線を示す図である。
【図１１】収納容器に無作為に投入されたワークを斜め上方から見た斜視図である。
【図１２】図１２（Ａ）は斜面が三次元計測できるように露光時間を設定した場合のパターン画像であり、図１２（Ｂ）は水平面が三次元計測できるように露光時間を設定した場合のパターン画像である。
【図１３】図１３（Ａ）は斜面が三次元計測できるように露光時間を設定した場合の高さ画像であり、図１３（Ｂ）は水平面が三次元計測できるように露光時間を設定した場合の高さ画像である。
【図１４】図１４（Ａ）は斜面が三次元計測できるように露光時間を設定した場合の高さ画像を３Ｄで示した図であり、図１４（Ｂ）は水平面が三次元計測できるように露光時間を設定した場合の高さ画像を３Ｄで示した図である。
【図１５】図１５（Ａ）は第２露光時間で撮像したパターン画像に基づいて高さ画像を生成した図であり、図１５（Ｂ）は第１露光時間で撮像したパターン画像に基づいて高さ画像を生成した図である。
【図１６】図１６（Ａ）は第２露光時間で撮像したパターン画像に基づいて高さ画像を生成し、３Ｄで示した図であり、図１６（Ｂ）は第１露光時間で撮像したパターン画像に基づいて高さ画像を生成し、３Ｄで示した図である。
【図１７】図１７（Ａ）は第２露光時間で撮像したパターン画像に基づいて生成した高さ画像の無効画素を、第１露光時間で撮像したパターン画像に基づいて生成した高さ画像の画素と置き換えた後の高さ画像を示した図であり、図１７（Ｂ）は置き換えた後の高さ画像を３Ｄで示した図である。
【図１８】無効画素の判定と位相計算の概念を説明する図である。
【発明を実施するための形態】
【００５０】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【００５１】
図１は、本発明の実施形態に係る三次元計測装置１を備えたロボットシステム１０００の構成例を示す模式図である。この図１は、各種製品の製造工場等にある作業空間に積み上げられた複数のワークＷＫを、ロボットＲＢＴを用いて順次取り出し、所定の場所に設置されているステージＳＴＧまで搬送して該ステージＳＴＧ上に載置するばら積みピッキングを行う例について示している。
【００５２】
ロボットシステム１０００は、三次元計測装置１の他に、ロボットＲＢＴと、図２に示すように、各種画像や情報等を表示するための表示部３と、各種設定や操作を行うための操作部４と、ロボットＲＢＴを制御するロボットコントローラ６と、ロボット操作具７と、ロボット設定装置１００とを備えている。図１に示すように、ロボットＲＢＴは、産業用の汎用ロボットであり、ベース部が工場等の床面に対して固定されている。ロボットＲＢＴは、例えばマニピュレータ等とも呼ばれており、６軸制御が可能に構成されている。このロボットＲＢＴは、ベース部から延びるアーム部ＡＲＭと、アーム部ＡＲＭの先端部に設けられたエンドエフェクタＥＥＴとを備えている。アーム部ＡＲＭは、可動部としての関節部を複数備えた多関節型に構成することができる。アーム部ＡＲＭの各関節部の動作及びアーム部ＡＲＭ自体の回転動作によってエンドエフェクタＥＥＴを可動範囲内の所望の位置まで移動させることができる。
【００５３】
エンドエフェクタＥＥＴは、ワークＷＫを把持するハンド部等で構成することができる。エンドエフェクタＥＥＴは、ワークＷＫの外側を挟み込んで把持する構造のエンドエフェクタであってもよいし、空洞部を有するワークＷＫの内部に複数の爪部を挿入して該爪の間隔を広げることによって把持する構造のエンドエフェクタであってもよいし、板状のワークＷＫを吸引するエンドエフェクタ等であってもよく、いずれのエンドエフェクタＥＥＴも使用することができる。また、本明細書で「把持」とは、ワークＷＫの外側を挟み込む方法、空洞部に爪部を挿入して間隔を広げる方法、吸引する方法等の全ての例を含む意味で使用する。
【００５４】
ロボットＲＢＴは、ロボットコントローラ６によって制御される。ロボットコントローラ６はアーム部ＡＲＭの動作やエンドエフェクタＥＥＴの開閉動作等を制御する。またロボットコントローラ６はロボット設定装置１００から、ロボットＲＢＴの制御に必要な情報を取得する。例えば、図１に示す収納容器ＢＸに無作為に投入された多数のワークＷＫの三次元形状を、三次元計測装置１を使用して取得し、ロボット設定装置１００でワークＷＫの位置や姿勢を検出して、その情報をロボットコントローラ６が取得する。
【００５５】
ロボットシステム１０００の機能ブロック図を図２に示す。操作部４では、後述する物理シミュレーション、ピッキング動作シミュレーション、画像処理に関する各種設定を行う。また、表示部３で、操作部４による各種設定やロボットシステム１０００の動作状態の確認、シミュレーションの確認、高さ画像の確認等を行う。
【００５６】
一方、ロボットコントローラ６はロボット設定装置１００から出力される信号に従い、ロボットＲＢＴの制御を行うように構成された周知の部材である。また、ロボット操作具７は、ロボットＲＢＴの動作設定を行う。
【００５７】
（三次元計測装置１の全体構成）
三次元計測装置１は、三次元ロボットビジョンシステムなどと呼ばれており、ばら積みされたワークＷＫや段積みされたワークＷＫの他、平積みされたワークＷＫの三次元形状を計測して三次元形状データを取得する装置である。この実施形態では、三次元計測装置１がロボットビジョンとして使用される場合について説明するが、これに限らず、三次元計測装置１は、それ単独で使用することもできるし、他の装置と組み合わせて使用することもできる。三次元計測装置１をロボットビジョンとして使用する場合には、計測対象物がワークＷＫや、ワークＷＫが収容された箱、ワークＷＫが載置された台やパレット等になる。
【００５８】
図２に示すように、三次元計測装置１は、センサ部２と、センサ制御部２０とを備えている。この実施形態では、センサ部２とセンサ制御部２０とが別体とされていて、図１に示すようにセンサ部２をワークＷＫの上方に設置可能にし、センサ制御部２０をセンサ部２から離して設置可能にしているが、これに限らず、センサ部２とセンサ制御部２０とを一体化して１つのユニットとして構成してもよい。
【００５９】
三次元計測装置１によって三次元形状を取得する方法は、例えば、従来から周知のパターン投影法を使用することができる。
【００６０】
（センサ部２の構成）
図３に示すように、センサ部２は、周期的な照度分布を有するパターン光を計測対象物に投影するための照明部ＰＲＪと、照明部ＰＲＪから投影されたパターン光の計測対象物からの反射光を受光してパターン画像を生成する撮像部ＣＭＥ１〜４とを備えている。図３に示す例では、照明部ＰＲＪと撮像部ＣＭＥ１〜４とが一体化されているが、この例に限らず、照明部ＰＲＪと撮像部ＣＭＥ１〜４とを別体にして個別に設置可能にしてもよい。また、図３に示す例では、第１撮像部ＣＭＥ１、第２撮像部ＣＭＥ２、第３撮像部ＣＭＥ３及び第４撮像部ＣＭＥ４の４つの撮像部を備えている場合を示しているが、撮像部の数は特に限定されるものではない。また、照明部ＰＲＪについても２以上設けることができる。
【００６１】
照明部ＰＲＪは、周期的な照度分布を有するパターン光を出射することができるように構成された部材であり、例えば、プロジェクタ等で構成することができる。照明部ＰＲＪの構造例としては、例えば発光ダイオード（ＬＥＤ）等からなる光源と、光源から出射された光が入射されるように当該光源に対応するように配置される液晶パネルとを備えた構造を挙げることができる。液晶パネルに、光が透過する領域と、光が透過しない領域とを交互に複数形成することで、図３に示すように照度分布を変動させた縞状のパターン光を出射することができる。パターン光は、照度分布を正弦波状に変動させたパターン光であってもよく、パターン光の種類は、液晶パネルにおける光が透過する領域と、光が透過しない領域との形成位置やその寸法等によって自由に設定することができる。また、光が透過する領域と、光が透過しない領域との形成位置をずらしていくことで、照度分布を例えば正弦波状に変動させたパターン光を、位相を変えて複数回投影することができる。尚、照明部ＰＲＪは、例えば、有機ＥＬパネル、デジタルマイクロミラーデバイス（ＤＭＤ）等で構成することもできる。
【００６２】
撮像部ＣＭＥ１〜４は同じ部材することができ、図３に示すように、照明部ＰＲＪを囲むように、照明部ＰＲＪの光軸から離れかつ光軸回りに互いに間隔をあけて設置されている。撮像部ＣＭＥ１は、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子を有するイメージセンサで構成されている。撮像部ＣＭＥ１の撮像素子は、後述するハイダイナミックレンジ処理（ＨＤＲ）が可能に構成されたものである。
【００６３】
（センサ制御部２０の構成）
センサ制御部２０は、パターン画像生成部２１と、位相画像生成部２２と、高さ画像生成部２３と、置換処理部２４と、露光時間設定部２５と、ＨＤＲ設定部２６とを備えている。センサ制御部２０を構成するパターン画像生成部２１、位相画像生成部２２、高さ画像生成部２３、置換処理部２４、露光時間設定部２５及びＨＤＲ設定部２６のうち、任意の１つまたは２つ以上の部分をセンサ部２に組み込むこともできる。また、パターン画像生成部２１、位相画像生成部２２、高さ画像生成部２３、置換処理部２４、露光時間設定部２５及びＨＤＲ設定部２６のうち、任意の１つまたは２つ以上の部分をロボットコントローラ６に組み込むようにしてもよい。また、図２に示すように、センサ制御部２０をロボット設定装置１００に組み込むことができるが、ロボット設定装置１００とは別体にしてロボット設定装置１００の外部に設けることもできる。
【００６４】
（パターン画像生成部２１の構成）
パターン画像生成部２１は、計測対象物に照明部ＰＲＪよりパターン光を投影し、パターン光が投影された計測対象物を第１露光時間で撮像した第１パターン画像と、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像とを生成するように照明部ＰＲＪ及び撮像部ＣＭＥ１〜４を制御するように構成されている。
【００６５】
具体的には、照度分布を例えば正弦波状に変動させたパターン光を、位相を変えて複数回順次投影するように、照明部ＰＲＪを制御する。照明部ＰＲＪによって１つ目のパターン光が投影されている間に、撮像部ＣＭＥ１〜４により、第１露光時間で撮像するとともに第２露光時間で撮像する。その後、１つ目のパターン光とは異なる位相を持った２つ目のパターン光を照明部ＰＲＪによって投影し、その間に、撮像部ＣＭＥ１〜４により、第１露光時間で撮像するとともに第２露光時間で撮像する。このようにして、第１露光時間で撮像した複数（最低３枚）の第１パターン画像からなる第１パターン画像セットと、第２露光時間で撮像した複数（最低３枚）の第２パターン画像からなる第２パターン画像セットとが得られる。図４に、直方体の計測対象物を撮像した場合のパターン画像セットの一例を示す。
【００６６】
（位相画像生成部２２の構成）
位相画像生成部２２は、パターン画像生成部２１が生成した第２パターン画像に無効画素があるか否かを判定し、第２パターン画像に無効画素が無いと判定された場合には、第２パターン画像に基づいて計測対象物の表面の位相データを含む位相画像を生成する一方、第２パターン画像に無効画素があると判定された場合には、当該無効画素を第１パターン画像の対応する位置の画素に置き換える、もしくは切り替えてから計測対象物の表面の位相データを含む位相画像を生成するように構成されている。この処理を無効画素判定処理及び画素置き換え処理（切り替え処理）という。無効画素の判定については、位相の異なる複数のパターン画像のうち、１枚でも飽和する画素があった場合には、無効画素と判定するのが好ましい。飽和画素の影響を受けて、算出される位相値に精度悪化が生じるためである。尚、位相画像生成部２２は、各画素の位相値を計算する部分であり、必ずしも目に見える形で位相画像を生成しなくてもよく、位相画像を生成可能な演算、もしくは各画素毎の位相値を算出する演算を行うことができればよい。
【００６７】
ここで、第２パターン画像は、相対的に長い露光時間（第２露光時間）で撮像されているので、一部の画素が飽和した状態となっている場合があり得る。一方、第１パターン画像は、相対的に短い露光時間（第１露光時間）で撮像されているので、飽和した画素数が第２パターン画像よりも少ないか、０に近くなっている。ただし、第１パターン画像の場合、露光時間が短い分、例えば傾斜面等から反射光を十分に受光することができないことがあり、第１パターン画像のみに基づいて高さ画像を生成すると、三次元計測結果の精度が低下してしまうおそれがある。
【００６８】
そこで、本実施形態では、無効画素判定処理及び画素置き換え処理を行うことで、高さ画像の生成に利用される位相画像を生成するにあたり、第１パターン画像の画素を優先させるのではなく、第２パターン画像の画素を優先させ、第２パターン画像に無効画素がある場合には、その無効画素を計測に用いずに、第１パターン画像の画素を計測に用いるようにした。すなわち、第２パターン画像を構成する、位相の異なる複数のパターン画像のうち、１枚も飽和のない画素については、精度が良い露光時間の長い第２パターン画像の方を選択する一方、１枚でも飽和のある画素については、飽和画素の影響を受けて、算出される位相値に精度悪化が生じるため、該当する画素を無効画素と判定し、短い露光時間の方を選択する。
【００６９】
位相画像生成部２２は、第２パターン画像にそのような無効画素があるか否かを判定することができるように構成されている。具体的には、位相画像生成部２２は、第２パターン画像セットの位相の異なる複数のパターン画像のうち、１枚でも最大輝度値を有する画素が存在する画素については無効画素であると判定し、その画素の位置を第２パターン画像上で特定する。無効画素の位置は、例えば、第２パターン画像上のＸ座標、Ｙ座標によって特定することができる。必ずしも最大輝度値で判定する必要はなく、一定の輝度値以上を有する画素を無効画素と判定しても良い。例えば、最大輝度値よりも１階調小さい輝度値以上を有する画素を無効画素と判定しても、類似の効果を得ることができる。
【００７０】
第２パターン画像に無効画素が必ずあるとは限らず、無効画素が無い場合もある。位相画像生成部２２が、第２パターン画像に無効画素が無いと判定した場合には、第２パターン画像に基づいて計測対象物の表面の位相データを含む位相画像を生成する。この第２パターン画像は、相対的に露光時間が長いので、例えば傾斜面等の反射光も反映されており、したがって、三次元計測結果の精度を高めることが可能な位相画像である。
【００７１】
一方、位相画像生成部２２が、第２パターン画像に無効画素があると判定した場合には、第２パターン画像に基づいて三次元形状を計測すると正確に計測できない画素が生じてしまうため、この場合には、第２パターン画像中の無効画素を第１パターン画像の対応する位置の画素に置き換えてから、この置き換え後のパターン画像を使用して計測対象物の表面の位相データを含む位相画像を生成する。第１パターン画像は、露光時間が短いので、第２パターン画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置き換え後のパターン画像において飽和画素が無くなるか、飽和画素が少なくなり、よって、三次元計測結果の精度を高めることが可能な位相画像を得ることができる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。なお、第２パターン画像中の無効画素を第１パターン画像の対応する画素で置き換える場合、第２パターン画像を構成する全てのパターン画像（位相の異なる複数のパターン画像）に対し、対応する第１パターン画像の対応画素で置き換える必要がある。例えば、3枚の位相シフトパターンでパターン画像が構成される場合、3枚全ての該当画素に対し、対応する第１パターン画像毎に、対応画素で置き換える必要があるため、メモリアクセス面で速度的に不利になるケースがある。それを避けるために、第２パターン画像の無効画素を、第１パターン画像の画素で置き換えるのではなく、第１パターン画像に切り替えて、位相画像を生成するようにしても良い。具体的には、注目画素が、無効画素と判定されなければ第２パターン画像を参照して位相値を計算し、無効画素と判定されれば、第１パターン画像を参照して位相値を計算する、という方法をとることもできる。
【００７２】
また、位相画像生成部２２は、前記画素置き換え処理を行うことなく、パターン画像生成部２１が生成した第１パターン画像に基づいて計測対象物の表面の位相データを含む第１位相画像を生成するとともに、パターン画像生成部２１が生成した第２パターン画像に基づいて計測対象物の表面の位相データを含む第２位相画像を生成するように構成することもできる。
【００７３】
位相画像の生成方法について具体的に説明すると、前記無効画素判定処理及び画素置き換え処理を行う場合には、画素置き換え後のパターン画像セットを構成する最低３枚のパターン画像から画素毎に正弦波の位相を求める方法がある。前記画素置き換え処理を行わない場合には、第１パターン画像セットを構成する最低３枚の第１パターン画像から画素毎に正弦波の位相を求め、また、第２パターン画像セットを構成する最低３枚の第２パターン画像から画素毎に正弦波の位相を求める方法を利用することができる。その際に、第２パターン画像から位相画像を生成する際には、注目画素が無効画素と判定された場合には、無効画素であることを識別可能な値で格納することが好ましい。例えば、通常の撮像では生じ得ない値（絶対位相値0など）を位相画像中の該当画素に埋め込んでおくことで、飽和画素が存在していかを、位相画像の画素値を参照することで確認することができる。実現方法はこの方法に限る必要はなく、例えば、無効画素と判定されたか否かをフラグ情報として保持する、フラグ画像を生成するようにしても良い。
【００７４】
また、いずれの方法であっても、計測対象物に投影するパターン自体を撮影毎に異ならせ、例えば白黒デューティ比５０％で縞幅が全体の半分、４分の１、８分の１、１６分の１、…と細かくなっていく縞パターンを順次投影し、それぞれのパターンにてパターン投影画像を取得し、絶対位相を求める空間コード法を、位相シフト法と組み合わせることで、絶対位相画像を生成することができる。空間コード法によれば、光が照射される空間を、多数の断面略扇状の小空間に分け、この小空間に一連の空間コード番号を付すことができる。このため、計測対象物の高さが高くても、すなわち高低差が大きくても、光が照射される空間内にあれば、空間コード番号から高さが演算できる。したがって、高さの高い計測対象物についても全体にわたって形状を測定することができる。このように空間コード法によれば、許容高さのレンジ（ダイナミックレンジ）が広くなる。
【００７５】
（高さ画像生成部２３の構成）
高さ画像生成部２３は、位相画像生成部２２で生成された位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成することができるように構成されている。例えば、高さ測定点の各明度値をパターン毎に撮像した画像から得て、各明度値よりパターン光の位相値を計算すると、測定点の高さに応じて、測定点に投影されたパターン光の位相が変化し、基準となる位置で反射されたパターン光により観察される位相とは異なった位相の光が観察されることになる。そこで、測定点におけるパターン光の位相を計算し、三角測量の原理を利用して、幾何関係式に代入することにより測定点の高さを計測し、これにより、計測対象物の三次元形状を計測することができる。高さ画像とは、画像を構成する各画素値に、高さの値が格納されている画像である。典型的には、高さを輝度値で表現した画像とすることができる。
【００７６】
例えば、図１８に示すように、第２パターン画像セットとして第２パターン画像が３つあり、第２パターン画像の画素Ａと画素Ｂに着目し、また、第１パターン画像セットとして第１パターン画像が３つあり、第２パターン画像と同一座標上の画素Ａと画素Ｂに着目したとする。この例では、第２パターン画像セットにおいて、画素Ａの階調値は３つの第２パターン画像の全てで飽和判定基準（無効画素基準）未満である一方、画素Ｂの階調値は１番目及び３番目の第２パターン画像では飽和判定基準未満であるが、２番目の第２パターン画像では飽和判定基準を超えている。また、第１パターン画像セットにおいては、画素Ａ及び画素Ｂの階調値は第１パターン画像の全てで飽和判定基準未満である。この場合、第２パターン画像セットの中で飽和が１つも無かった画素Ａは、第２パターン画像セットから求めた位相値を用いる。一方、第２パターン画像セットの中で飽和が１つでも存在した画素Ｂは、第１パターン画像セットで求めた位相値を用いる。
【００７７】
具体的には、まず、位相画像生成部２２が前記無効画素判定処理及び画素置き換え処理を行った場合について説明する。この場合は、三次元計測結果の精度を高めることが可能な位相画像を既に得ているので、この位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。
【００７８】
位相画像生成部２２が前記画素置き換え処理を行っていない場合には、第１パターン画像に基づいて第１位相画像が生成され、第２パターン画像に基づいて第２位相画像が生成されることになるが、上述したように、第２パターン画像は一部の画素が飽和した状態となっている場合がある一方、第１パターン画像は飽和した画素数が第２パターン画像よりも少ないか、０に近くなっている。つまり、第２位相画像は、相対的に長い露光時間で撮像された第２パターン画像セットに基づいているので、一部の画素が飽和した状態となっている場合があり得る。この第２位相画像については、第２パターン画像セットの中で飽和した画素が存在する画素については、無効画素と判定し、無効画素であることを識別可能な状態にしておくことが必要となる。例えば、通常の撮像では生じ得ない絶対位相値０などにセットしておく。
【００７９】
一方、第１位相画像は、相対的に短い露光時間で撮像された第１パターン画像セットに基づいているので、飽和した画素数が第２位相画像よりも少ないか、０に近くなっているが、例えば傾斜面等から反射光を十分に受光することができないことがあり、第１位相画像のみに基づいて高さ画像を生成すると、三次元計測結果の精度が低下してしまうおそれがある。
【００８０】
そこで、本実施形態では、高さ画像生成部２３が高さ画像を生成するにあたり、第１位相画像の画素を優先させるのではなく、第２位相画像の画素を優先させ、第２位相画像に無効画素がある場合には、その無効画素を計測に用いずに、第１位相画像の画素を計測に用いるようにした。すなわち、第２パターン画像において飽和した画素は、精度が悪化したり、正確な三次元計測が行えなくなる画素となる得る画素であるので、高さ画像生成部２３は、第２位相画像にそのような無効画素があるか否かを判定することができるように構成されている。具体的には、高さ画像生成部２３は、第２位相画像を構成する画素のうち、第２パターン画像の中で飽和画素が存在していた画素、すなわち第２位相画像において無効画素と識別可能な値にセットされている画素（例えば、通常の撮像では生じ得ない絶対位相値０などがセットされている画素）の位置を第２位相画像上で特定する。無効画素の位置は、例えば、第２位相画像上のＸ座標、Ｙ座標によって特定することができる。
【００８１】
第２位相画像に無効画素が必ずあるとは限らず、無効画素が無い場合もある。高さ画像生成部２３が、第２位相画像に無効画素が無いと判定した場合には、第２位相画像に基づいて三次元形状を正確に計測できるということであるから、当該第２位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。この第２位相画像は、相対的に露光時間が長いので、例えば傾斜面等の反射光も反映されており、したがって、三次元計測結果の精度が高まる。
【００８２】
一方、高さ画像生成部２３が、第２位相画像に無効画素があると判定した場合には、第２位相画像に基づいて三次元形状を正確に計測できない部分があるということである。この場合には、第２位相画像中の無効画素を第１位相画像の対応する位置の画素に置き換えてから、この置き換え後の位相画像を使用して計測対象物の高さ情報を含む高さ画像を生成する。第１位相画像は、露光時間が短いパターン画像に基づいているので、第２位相画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置き換え後の位相画像において飽和していない可能性の高いパターン画像から生成された位相値に基づいて三次元計測されることになるため、三次元計測結果の精度が高まる。上述のように、露光時間が長い側が飽和していない場合は、露光時間が長い方を優先させ、飽和している場合は、露光時間が短い側を用いることで、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。なお、第２位相画像の無効画素を、第１位相画像の画素で置き換えるのではなく、第１位相画像に切り替えて、高さ画像を生成するようにしても良い。具体的には、注目画素が、無効画素であれば第２位相画像を参照して高さを計算し、無効画素でなければ、第１位相画像を参照して高さを計算する、という方法をとることもできる。
無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【００８３】
本例では、高さ画像生成部２３が第２位相画像に無効画素があるか否かを判定し、無効画素がある場合には第１位相画像の画素と置き換えるようにしているので、後述する置換処理部２４を設けない構成とすることもできる。高さ画像生成部２３が第２位相画像に無効画素があるか否かを判定しない場合には、第２位相画像に無効画素があっても置き換えられることなく、第２高さ画像が生成されることになる。この場合には、後述する置換処理部２４を設ける構成とする。
【００８４】
（第３パターン画像の生成）
パターン画像生成部２１は、第１露光時間よりも長くかつ第２露光時間よりも短い第３露光時間で撮像した第３パターン画像を生成するように照明部ＰＲＪ及び撮像部ＣＭＥ１〜４を制御するように構成することもできる。第１露光時間が最も短く、第２露光時間が最も長く、第３露光時間が中間の長さになる。第１露光時間と第２露光時間との差が所定以上の場合には、第３露光時間を設定することができる。
【００８５】
（第３位相画像の生成）
位相画像生成部２２は、第２パターン画像に無効画素があると判定された場合には、当該無効画素を第３パターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む中間位相画像を生成するとともに、第３パターン画像に無効画素があるか否か判定し、第３パターン画像に無効画素があると判定された場合には、当該無効画素を第１パターン画像の対応する位置の画素に置き換える、もしくは切り替えて計測対象物の表面の位相データを含む第３位相画像を生成するように構成されている。この処理を無効画素判定処理及び画素置き換え処理という。
【００８６】
また、前記無効画素判定処理及び画素置き換え処理を行う場合には、高さ画像生成部２３は、位相画像生成部２２で生成した第３位相画像に基づいて計測対象物の高さ情報を含む高さ画像を生成する。
【００８７】
位相画像生成部２２が前記画素置き換え処理を行わない場合には、当該位相画像生成部２２は、パターン画像生成部２１が生成した第３パターン画像に基づいて計測対象物の表面の位相データを含む第３位相画像を生成するように構成されている。
【００８８】
さらに、位相画像生成部２２が前記画素置き換え処理を行わない場合には、高さ画像生成部２３は、露光時間が最も長い第２パターン画像に基づいて生成された第２位相画像に無効画素があると判定されたとき、当該無効画素を、露光時間が中間の第３パターン画像に基づいて生成された第３位相画像の対応する位置の画素に置き換える、もしくは切り替えて中間高さ画像を生成するとともに、第３位相画像に無効画素があるか否か判定し、その第３位相画像に無効画素があると判定された場合には、当該無効画素を、露光時間が最も短い第１パターン画像に基づいて生成された第１位相画像の対応する位置の画素に置き換える、もしくは切り替えて高さ画像を生成するように構成されている。
【００８９】
（置換処理部２４の構成）
上述したように、高さ画像生成部２３が、第２位相画像に無効画素があるか否かを判定しないように構成することもできる。この場合、第２位相画像に無効画素があってもそのまま高さ画像生成部２３によって第２高さ画像が生成されることになる。つまり、第１位相画像及び第２位相画像のそれぞれに基づいて無効画素の有無に関係無く、計測対象物の高さ情報を含む第１高さ画像及び第２高さ画像が生成される。その際、第２位相画像に無効画素が含まれる画素については、第２高さ画像上で無効画素であることを識別可能な値で格納することが好ましい。例えば、高さ画像中の有効データを１以上の値と定義した上で、画素値０の画素を無効画素と判定するようにすることで、第２位相画像に無効画素が存在していたか否か、つまりは第２パターン画像に飽和画素が存在していたか否かを、第２高さ画像上で識別することが可能になる。実現方法はこの方法に限る必要はなく、例えば、無効画素と判定されたか否かをフラグ情報として保持する、フラグ画像を生成するようにしても良い。
【００９０】
第２高さ画像は、相対的に長い露光時間で撮像された第２パターン画像に基づいているので、第２高さ画像中の一部の画素が飽和したパターン画像を元に計測される状態となっている場合があり得る。上記した方法により、第２高さ画像において飽和した画素は、無効画素であることが識別可能な状態になっている。
【００９１】
置換処理部２４は、第２高さ画像に無効画素があるか否かを判定し、第２高さ画像に無効画素があると判定された場合には、当該無効画素を前記第１高さ画像の対応する位置の画素に置き換えて置換処理後高さ画像を生成するように構成されている。無効画素は、例えば、高さ画像中の有効データを１以上の値と定義した場合、画素値０の値を有する画素とすることができる。置換処理部２４が、第２高さ画像に無効画素があると判定した場合には、三次元形状を正確に計測できない部分があるということである。この場合には、第２高さ画像中の無効画素を第１高さ画像の対応する位置の画素に置き換える。第１高さ画像は、露光時間が短い第１パターン画像に基づいているので、第２高さ画像で飽和している画素と同位置の画素であっても、飽和していない可能性が高く、この画素に置き換えることで、置き換え後の高さ画像において無効画素が無くなるか、無効画素が少なくなり、よって、三次元計測結果の精度が高まる。つまり、この方法によっても、飽和しない限り、振幅が大きければ大きいほど計測精度が高いという、位相シフト法の計測原理に基づいて高精度な三次元計測結果が得られるようになる。
【００９２】
（第３高さ画像の生成）
高さ画像生成部２３は、位相画像生成部２２が生成した第３位相画像に基づいて計測対象物の高さ情報を含む第３高さ画像を生成するように構成することができる。
【００９３】
置換処理部２４は、露光時間が最も長い第２パターン画像に基づいて生成された第２高さ画像に無効画素があると判定された場合には、当該無効画素を、露光時間が中間の第３パターン画像に基づいて生成された第３高さ画像の対応する位置の画素に置き換えた中間高さ画像を生成する。そして、置換処理部２４は、生成した中間高さ画像に無効画素があるか否か判定し、その中間高さ画像に無効画素があると判定された場合には、当該無効画素を、露光時間が最も短い第１パターン画像に基づいて生成された第１高さ画像の対応する位置の画素に置き換えた置換処理後高さ画像を生成するように構成されている。
【００９４】
（露光時間設定部２５の構成）
第１露光時間及び第２露光時間は使用者が任意の時間に設定することができるが、露光時間設定部２５が自動設定することもできる。第３露光時間についても同様である。
【００９５】
（高さ画像の有効画素数に基づいて露光時間を自動設定する方法）
第１露光時間及び第２露光時間は使用者が任意の時間に設定することができるが、露光時間設定部２５が自動設定することもできる。第３露光時間についても同様である。
【００９６】
（高さ画像の有効画素数に基づいて露光時間を自動設定する方法）
高さ画像の有効画素数に基づいて自動設定する場合は、まず、第１露光時間と第２露光時間との倍率を予め設定した倍率とし、倍率を固定化した状態で、露光時間を複数通りに変えて撮像部ＣＭＥ１〜４で撮像を繰り返す。生成された第１パターン画像セットと第２パターン画像セットに基づいて上述した方法で合成した高さ画像を生成する。したがって、露光時間の異なる、（ただし、第１露光時間と第２露光時間の露光時間の比率は一定の条件で撮像した）複数の合成高さ画像が生成されることになる。
【００９７】
上記倍率は、使用者が任意の値に設定してもよいし、内部に固定値（例えば５倍、１０倍）を持たせておいてその固定値を使用するようにしてもよい。第１露光時間と第２露光時間との倍率を固定しているので、第１露光時間を基準に値を振った場合と、第２露光時間を基準に値を振った場合のどちらも同じ効果を得られる。
【００９８】
合成後の高さ画像中の有効と判定された画素の数を計測し、有効と判定された画素の数が所定条件を満たしている合成後の高さ画像に対して設定された露光時間のうち短い露光時間の方を第１露光時間として設定する。この第１露光時間に上記倍率を乗じた時間、即ち合成後の高さ画像に対して設定された露光時間のうち長い露光時間の方が第２露光時間として設定される。第１露光時間及び第２露光時間は、ロボットシステム１０００の実運用を行う際に用いる露光時間である。設定後の露光時間は手動操作によって調整することもできるが、手動操作の場合、使用者は自分で設定した露光時間で得られた高さ画像を見ながら、最適な露光時間の範囲を探索していくプロセスが必要になる。また、最適な露光時間を絞り込むための探索を手作業で行う場合、属人性があるとともに再現性が悪く、様々なケースで適切な露光時間を得ることは難しい。さらに、高さ画像を構成する画素の場合は、見た目で有効画素であるか否かを判定するのは難しく、特に手作業で決定した露光時間が妥当な時間であるか否かを短時間で検証して判断することは困難である。よって、この実施形態では、適切な露光時間を自動で設定することができるようになっている。
【００９９】
図５は、露光時間と有効画素数との関係を示すグラフを示しており、横軸が対数目盛で露光時間（ｍｓ）であり、縦軸が有効画素数（ｐｉｘｅｌ）である。このグラフは、ある固定されたワークＷＫを、カメラＣＭＥ１、ＣＭＥ２、ＣＭＥ３、ＣＭＥ４の露光時間を段階的に変えながら撮像して高さ画像を得て、その高さ画像に含まれる有効画素数を露光時間毎にプロットしたものである。有効画素数と露光時間との関係は、概ねこのグラフに示されるように、ある露光時間の範囲内では、露光時間が変化しても有効画素数は殆ど変化せず、その範囲外では、有効画素数が急激に少なくなる。このグラフの例では、露光時間が０．１ｍｓ〜６ｍｓの範囲内であれば有効画素数が多い高さ画像を得ることができるが、露光時間が０．１ｍｓ未満及び６ｍｓを超えると、有効画素数が極端に少ない高さ画像になってしまう。有効画素数が極端に少なくなると、高さ画像において黒い部分が増えてしまうので三次元サーチの精度が低下してしまう。
【０１００】
この実施形態では、図６に詳しく示すように、有効画素が最大値の９５％となる露光時間を設定値として設定する。つまり、露光時間設定部２５は、有効と判定された画素の数が最も多くなる露光時間以下の所定時間を設定値として設定するように構成されている。その理由は、有効画素の数が最大値をとる露光時間は、図６に示すグラフの平坦に近い部分に存在することが多く、設定値として選択される露光時間が時間軸方向にぶれやすく、不安定になりやすいので、有効画素の数が最大値をとる露光時間ではなく、有効画素の数が最大値よりも若干少なくなる露光時間を設定値として設定する。この実施形態では、有効画素が最大値の９５％となる露光時間を設定値として設定しているが、これに限られるものではなく、有効画素が最大値の９０％以上９９％以下の範囲となる露光時間を設定値することができる。
【０１０１】
（第２露光時間を先に自動設定する方法）
露光時間設定部２５が、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた第２パターン画像のそれぞれに基づいて生成された複数の第２高さ画像の有効画素数を累積した第１累積有効画素数を得て、第１累積有効画素数の増加度が所定以下となる露光時間を第２露光時間とするように、当該露光時間設定部２５を構成することもできる。
【０１０２】
すなわち、まず、露光時間を複数通りに変えて撮像部ＣＭＥ１〜４で撮像を繰り返す。生成された第２パターン画像セットに基づいて第２位相画像を生成し、さらに、この第２位相画像に基づいて第２高さ画像を生成する。したがって、露光時間の異なる複数の第２高さ画像が生成されることになる。
【０１０３】
図７の上側のグラフは、露光時間と第１累積有効画素数との関係を示しており、横軸が対数目盛で露光時間（ｍｓ）であり、縦軸が第１累積有効画素数（ｐｉｘｅｌ）である。このグラフは、ある固定されたワークＷＫを、撮像部ＣＭＥ１、ＣＭＥ２、ＣＭＥ３、ＣＭＥ４の露光時間を段階的に変えながら撮像して第２高さ画像を得て、露光時間を変えていく過程で、一度でも有効画素になった画素をカウントしたグラフであり、このグラフを元にして第２露光時間を決定する。
【０１０４】
具体的には、露光時間を短い側から長い側に変えていく過程の累積有効画素数の変化は図７の上側のグラフのように次第に増えていくことになるが、露光時間を長くしていく過程において第２高さ画像中で有効画素の存在範囲が徐々に広がっていき、その最大に広がったときの画素数が図７の上側のグラフにはプロットされることになる。一方、図７の下側のグラフは、累積ではなく、単純な有効画素数をプロットしたものであり、図５に示すグラフと同様である。
【０１０５】
図７において縦線Ａと縦線Ｂの範囲に着目すると、下側のグラフの単純な有効画素数の方は減っているが、上側のグラフの第１累積有効画素数は増えている。このことは、例えば金属製のワークＷＫの斜面部など、長い露光時間だと三次元形状の計測が可能であるが、逆に他の部分（水平面等）では飽和して無効画素が増えてしまう状態を現している。
【０１０６】
この第１累積有効画素数が増える限りは、高さ画像の有効画素数を増加させる余地が残っている、ということになる。累積有効画素数が飽和し始める付近、即ち、累積有効画素数の増加度が所定以下となる露光時間が第２露光時間として適切であると推定することができるので、累積有効画素数の増加度が所定以下となる露光時間を第２露光時間とする。
【０１０７】
露光時間設定部２５は、第１累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を第２露光時間とするように構成することができる。図８は、第１累積有効画素数に基づいて第２露光時間を設定する要領を示す図であり、横線Ｃは、第１累積有効画素数の最大値を示している。横線Ｄは、第１累積有効画素数の最大値の９８％を示す線である。縦線Ｅは、第１累積有効画素数の最大値の９８％の累積有効画素数となる露光時間を示す線であり、この露光時間が第２露光時間となる。これにより、第１累積有効画素数の最大有効画素数から、少し下げた位置に対応する露光時間が第２露光時間として設定される。
【０１０８】
すなわち、第１累積有効画素数が最大となる露光時間を第２露光時間とすることもできるが、例えばノイズ等の影響によって第１累積有効画素数が変動することがあり、累積有効画素数の変動に過敏に反応して第２露光時間を適切に設定できなくなるおそれがある。上記のようにすれば、第１累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間が第２露光時間になるので、ノイズ等の影響を受け難くなる。「所定の時間だけ短くした時間」とは、例えば最大累積有効画素数の９５％〜９８％の累積有効画素数となる露光時間とすることができ、また、最大累積有効画素数の９７％〜９８％の累積有効画素数となる露光時間とすることもできる。
【０１０９】
また、露光時間設定部２５は、第２露光時間の設定要領と同様にして、第１露光時間を設定可能に構成することもできる。この場合、露光時間設定部２５は、露光時間が徐々に長くなるように当該露光時間を複数通りに変化させて得られた複数の第１パターン画像のそれぞれについて飽和画素数を得て、飽和画素数が増え始める直前の露光時間を前記第１露光時間とするように構成することができる。
【０１１０】
また、上述のようにして決定した「第２露光時間の高さ画像上で有効画素になっている画素」を除いた画像（マスクした画像）に対し、同様に露光時間を変えた時の累積有効画素数のグラフを求め、このグラフを利用して第１露光時間を決定することもできる。図９の縦軸は、第２露光時間の高さ画像上で有効画素になっている画素を除いた画像の累積有効画素数（第２累積有効画素数）であり、横軸は対数目盛で露光時間（ｍｓ）である。
【０１１１】
露光時間設定部２５は、第２累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間を第２露光時間とするように構成することができる。図９は、第２累積有効画素数に基づいて第１露光時間を設定する要領を示す図であり、横線Ｆは、第２累積有効画素数の最大値を示している。横線Ｇは、第２累積有効画素数の最大値の９８％を示す線である。縦線Ｈは、第２累積有効画素数の最大値の９８％の累積有効画素数となる露光時間を示す線であり、この露光時間が第１露光時間となる。これにより、第２累積有効画素数の最大有効画素数から、少し下げた位置に対応する露光時間が第１露光時間として設定される。したがって、第２累積有効画素数が最大となる露光時間から所定の時間だけ短くした時間が第１露光時間になるので、ノイズ等の影響を受け難くなる。また、この方法によれば、第１露光時間は、第２露光時間では三次元計測できなかった範囲において、有効画素の存在範囲が最も広がるように露光時間を設定できる。尚、「所定の時間だけ短くした時間」とは、上述したように、例えば最大累積有効画素数の９５％〜９８％の累積有効画素数となる露光時間とすることができ、また、最大累積有効画素数の９７％〜９８％の累積有効画素数となる露光時間とすることもできる。
【０１１２】
上記で決定した、長い側の露光時間（第２露光時間）と短い側の露光時間（第１露光時間）の合成高さ画像の有効画素数を確認し、累積有効画素数の最大値と差が大きい場合は、「さらに短い露光時間」の画像を合成することで、有効画素数を増やすことができる。「さらに短い露光時間」の決定方法は、同様の手順で決定することが可能であり、「既に露光時間が決定済みの合成高さ画像上で有効画素になっている画素」を除いた画像（マスクした画像）に対し、同様に累積有効画素数のグラフを求めて決定すればよい。
【０１１３】
（第１露光時間を先に自動設定する方法）
露光時間を変えながら、位相が異なる複数のパターン光を投影して全位相シフトパターンの中で、１画素でも飽和状態が生じた「飽和画素数」をカウントし、この飽和画素数のグラフを元にして露光時間を決定する。すなわち、飽和画素数グラフを露光時間の短い側から見て行った時に、飽和画素数が増え始める直前の露光時間を、第１露光時間として決定する。上記で決定した「短い側の露光時間の高さ画像上で有効画素になっている画素」を除いた画像（マスクした画像）に対し、同様に露光時間を変えた時の飽和画素数のグラフを求める。この飽和画素数グラフに対し、露光時間の短い側から見て行った時に、飽和画素数が増え始める直前の露光時間を、第２露光時間として決定すればよい。これにより、第２露光時間は、第１露光時間では三次元計測できなかった範囲において、飽和しない範囲で最もコントラストが高くなる露光時間を決定できる。
【０１１４】
上記で決定した、長い側の露光時間と短い側の露光時間の合成高さ画像の有効画素数を確認し、累積有効画素数の最大値と差が大きい場合は、「さらに長い露光時間」の画像を合成することで、有効画素数を増やすことができる。「さらに長い露光時間」の決定方法は、同様の手順で決定することが可能であり、「既に露光時間が決定済みの合成高さ画像上で有効画素になっている画素」を除いた画像（マスクした画像）に対し、同様に飽和画素数のグラフを求めて決定すればよい。
【０１１５】
（ＨＤＲ設定部２６の構成）
撮像部ＣＭＥ１〜４は、露光時間中に所定以上の強度の光を受光して飽和電位よりも低く設定された所定電位まで電荷が蓄積された場合に電荷の蓄積を所定時間停止可能な受光素子を備えている。図１０の（Ａ）は、撮像部ＣＭＥ１〜４の受光素子の機能説明図である。図１０の（Ａ）において、破線で描いた直線Ｉは、露光時間中、画素が飽和しない程度の比較的弱い光が受光素子に入射した場合の蓄積電荷量の変化を示しており、このように弱い光が入射した場合、一般的な線形の感度曲線となる。
【０１１６】
一方、図１０の（Ａ）において、太線で描いた線Ｊは、露光時間中で画素が飽和してしまうような比較的強い光が受光素子に入射した場合の蓄積電荷の露光時間内での変化を示している。露光時間内には、互いに異なる２つの電位レベル（Ｖｌｏｗ２、Ｖｌｏｗ３）が設定されており、蓄積電荷が電位Ｖｌｏｗ３に達すると一定時間（Ｔ１）だけ電荷を蓄積せず、また、蓄積電荷が電位Ｖｌｏｗ２に達すると一定時間（Ｔ２）だけ電荷を蓄積しない。電位Ｖｌｏｗ２、Ｖｌｏｗ３、上記一定時間Ｔ１、Ｔ２は、ＨＤＲ設定部２６によって設定することができる。図１０の（Ｂ）は、電位Ｖｌｏｗ２、Ｖｌｏｗ３、上記一定時間Ｔ１、Ｔ２を設けることで得られる感度曲線であり、Ｋｎｅｅｐｏｉｎｔ１と、Ｋｎｅｅｐｏｉｎｔ２とができることになる。
【０１１７】
これにより、露光時間中に飽和電位に達するほどの強度（所定以上の強度）を持った光を受光したとしても、飽和電位よりも低く設定された所定電位（Ｖｌｏｗ２、Ｖｌｏｗ３）まで電荷が蓄積されると、電荷の蓄積が一時的に停止されるので、強い光を受光した場合であっても、その画素が飽和した状態になりにくくなる。つまり、ハイダイナミックレンジ処理を撮像部ＣＭＥ１〜４の受光素子で１回の撮像中に行うことができる。この受光素子によるハイダイナミックレンジ処理と、上述した飽和画素の置き換え処理とを組み合わせることで、高さ画像中における無効画素をより一層少なくすることができる。
【０１１８】
例えば、撮像部ＣＭＥ１〜４の受光素子で５倍のダイナミックレンジ拡張をさせ、さらに、第１露光時間と第２露光時間との差を１０倍にすると、５×１０＝５０倍のダイナミックレンジで三次元計測を行うことができる。受光素子側のダイナミックレンジ拡張は、撮像枚数を増やさずに行える反面、倍率を上げれば上げるほど、精度面での劣化が大きくなるおそれがあるので、受光素子側のダイナミックレンジ拡張の度合いと、第１露光時間と第２露光時間との差を適切に設定することで、精度の低下を抑制しながら、ダイナミックレンジを大きく拡張させることができる。
【０１１９】
（ロボット設定装置１００の構成）
ロボット設定装置１００は、センサ部２で得られたワークＷＫの三次元形状データに基づいて、三次元サーチ、干渉判定、把持解算出等を行う。このロボット設定装置１００は、専用の画像処理プログラムをインストールした汎用のコンピュータや、専用に設計された画像処理コントローラ、専用のハードウェアで構成することができる。また、グラフィックボードなどのハードウェアを画像検査処理に特化させた専用のコンピュータに、画像処理プログラムをインストールした構成とすることもできる。
【０１２０】
なお図２の例では、センサ部２やロボットコントローラ６等をロボット設定装置１００とは別個の部材で構成する例を示しているが、本発明はこの構成に限られず、例えばセンサ部２とロボット設定装置１００とを一体化したり、あるいはロボットコントローラ６をロボット設定装置１００に組み込むこともできる。このように、図２に示す部材の区分けは一例であって、複数の部材を統合させることもできる。例えばロボット設定装置１００を操作する操作部４と、ロボットコントローラ６を操作するロボット操作具７とを、共通の部材としてもよい。
【０１２１】
表示部３は、例えば、液晶モニタや有機ＥＬディスプレイ、ＣＲＴ等を利用できる。操作部４は、キーボードやマウス等の入力デバイスが利用できる。また表示部３をタッチパネルとすることで、操作部４と表示部３を一体化することもできる。
【０１２２】
例えばロボット設定装置１００を、画像処理プログラムをインストールしたコンピュータで構成した場合、表示部３上には画像処理プログラムのグラフィカルユーザインターフェース（ＧＵＩ）画面が表示される。表示部３上に表示されたＧＵＩ上から各種の設定を行うことができ、またシミュレーション結果等の処理結果をＧＵＩ上に表示させることができる。この場合、表示部３を各種の設定を行うための設定部として利用できる。
【０１２３】
ロボットコントローラ６は、センサ部２で撮像した情報に基づいてロボットＲＢＴの動作を制御する。またロボット操作具７は、ロボットＲＢＴの動作設定を行うための部材であり、ペンダントなどが利用できる。
【０１２４】
ワークＷＫは、図１に示すように複数個が収容容器ＢＸに無作為に収納されている。このような作業空間の上方には、センサ部２が配置されている。ロボットコントローラ６は、センサ部２で得られたワークＷＫの三次元形状に基づいて、複数のワークＷＫの内から、把持対象のワークＷＫを特定して、このワークＷＫを把持するよう、ロボットＲＢＴを制御する。そして、ワークＷＫを把持したまま、アーム部ＡＲＭを動作させて予め定められた載置位置、例えばステージＳＴＧ上まで移動させ、所定の姿勢でワークＷＫを載置する。いいかえると、ロボットコントローラ６は、センサ部２及びロボット設定装置１００で特定されたピッキング対象のワークＷＫをエンドエフェクタＥＥＴで把持して、把持したワークＷＫを所定の基準姿勢にて、載置場所（ステージＳＴＧ）に載置してエンドエフェクタＥＥＴを開放するようにロボットＲＢＴの動作を制御する。ステージＳＴＧは、例えばコンベアベルト上やパレット等を挙げることができる。
【０１２５】
ここで本明細書においてばら積みピッキングとは、図１に示すような収納容器ＢＸに入れられて無作為に積み上げられたワークＷＫを、ロボットＲＢＴで把持して、所定の位置に載置する他、収納容器を用いずに所定の領域に積み上げられたワークＷＫに対して把持、載置を行う例、あるいは所定の姿勢で並べられて積み上げられたワークＷＫを順次把持、載置する例も含む意味で使用する。また、必ずしもワークＷＫ同士が積み重ねられている状態であることは要さず、ワークＷＫ同士の重なりがない状態で平面上にランダムに置かれたワークＷＫについても、本明細書においてはばら積みと呼ぶ（順次ピッキングされていき、ピッキングの終盤でワークＷＫ同士の重なりがない状態となった場合でも依然としてばら積みピッキングと呼ばれるのと同じ理由である）。なお、本発明はばら積みピッキングに必ずしも限定されるものでなく、ばら積みされていないワークＷＫをピックアップする用途にも適用できる。
【０１２６】
また、図１の例ではセンサ部２を作業空間の上方に固定しているが、センサ部２の固定位置は、作業空間を撮像できる位置であればよく、例えば作業空間の斜め上方や側方、下方、斜め下方など、任意の位置に配置することができる。ただし、アーム部ＡＲＭ上のような、可動する不定位置にセンサ部２を配置する態様は除かれる。さらにセンサ部２が有するカメラや照明の数も、１個に限らず複数個としてもよい。さらにまたセンサ部２やロボットＲＢＴ、ロボットコントローラ６との接続は、有線接続に限られず、周知の無線接続としてもよい。
【０１２７】
ロボットシステム１０００でばら積みピッキング動作を行うにあたり、予めばら積みピッキング動作を行わせるための設定を含めたティーチングを行うこともできる。具体的には、ワークＷＫのどの部位を、エンドエフェクタＥＥＴがどのような姿勢で把持するのか、把持位置及び姿勢などの登録を行う。このような設定は、ペンダント等のロボット操作具７で行うことができる。また、後述するように、実際のロボットを操作せずに、ビジョン空間上で設定を行うこともできる。
【０１２８】
表示部３は、ワークＷＫの三次元形状を仮想的に表現するワークモデルや、エンドエフェクタＥＥＴの三次元形状を仮想的に表現する、三次元ＣＡＤデータで構成されたエンドエフェクタモデルを、仮想的な三次元空間上でそれぞれ三次元状に表示させる。さらにこの表示部３は、ワークモデルの基本方向画像を六面図として表示させることもできる。これにより、ワークモデルの各姿勢を六面図で表示させて把持位置の設定作業を行えるようになり、従来面倒であった把持位置の設定作業を容易に行えるようになる。
【０１２９】
（ロボットシミュレーション）
ロボットシステム１０００は、作業空間に積み上げられた複数のワークＷＫをロボットＲＢＴによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置２００を備えている。ロボットシミュレーション装置２００は、ロボット設定装置１００の内部に設けることができる。画像処理装置３００は、作業空間に積み上げられた複数のワークＷＫを把持して順次取り出すピッキング動作を行うロボットＲＢＴの制御に用いられる装置である。
【０１３０】
図２に示すように、ロボット設定装置１００は、ワークモデル設定部２０１、物理シミュレーション部２０２、ばら積みデータ生成部２０３、ピッキング動作シミュレーション部２０４、サーチ処理部２０５、干渉判定部２０６、把持位置決定部２０７及び表示制御部２０９を備えている。これら各部は、ロボットシミュレーション装置２００を構成しており、ハードウェアで構成することもできるし、ソフトウェアで構成することもできる。またこれら各部を全て一体化して１つの装置にすることもできるし、任意の一部分を他の部分と別にして複数の装置でロボット設定装置１００を構成することもできる。またこれら各部を例えばマイクロプロセッサ（ＭＰＵ）やＣＰＵ、ＬＳＩ、ＦＰＧＡやＡＳＩＣ等のゲートアレイ、ＤＳＰ等のハードウェアやソフトウェア、あるいはこれらの混在により実現できる。また必ずしも各構成要素が図２等に示した構成と同一でなくてもよく、その機能が実質的に同一であるもの、及び一つの要素が図２に示す構成における複数の要素の機能を備えるものは、本発明に含まれる。
【０１３１】
また、表示制御部２６は表示部３に設けることができる。また、ロボット設定装置１００には各種情報を記憶するための記憶部２０８も設けられている。記憶部２０８は、半導体メモリやハードディスク等で構成することができる。また、記憶部２０８には、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の各種記憶媒体に記憶されている情報を読み取り可能な読み取り装置を設けることもできる。
【０１３２】
ロボットシステム１０００の運用前、即ち、実際の作業現場でワークＷＫの把持及び載置作業を行う前に、ロボットシミュレーション装置２００によってロボットＲＢＴの把持動作や載置動作のシミュレーションを三次元的に行うことができるように構成されている。ロボットシミュレーションでは、複数のワークモデルを無作為に積み上げたばら積み状態を生成する物理シミュレーションと、物理シミュレーションで生成されたばら積み状態のデータを利用してワークモデルの位置及び姿勢を検出し、ロボットＲＢＴによるピッキング動作のシミュレーションを実行するピッキング動作シミュレーションとが行われる。以下、ロボットシミュレーション装置２００によって実現されるロボットシミュレーション方法について具体的に説明する。
【０１３３】
ロボットシミュレーションを開始する際には、シミュレーション環境を設定する。シミュレーション環境の設定には、ばら積みをさせるワークの数、収納容器ＢＸの情報、床の情報、センサ部２を構成するカメラＣＭＥ１〜４やプロジェクタＰＲＪの設計情報等が挙げられる。またピッキング動作シミュレーション時には、収納容器ＢＸに対して、実運用上発生し得る、ランダムな位置ずれを発生させることもでき、この際の位置ずれの範囲等をシミュレーション環境の設定に含めることもできる。
【０１３４】
シミュレーション環境の設定の際にはワークＷＫのサーチモデルを登録するとともに、ロボットＲＢＴのハンドモデルも登録する。ワークＷＫのサーチモデルとは、サーチ処理を実行する際に使用されるワークＷＫの形状を表したモデルである。例えばワークＷＫのＣＡＤデータ等を読み込むことで設定可能であり、ワークモデル設定部２０１で行われる。また、ロボットＲＢＴのハンドモデルとは、ハンド部（エンドエフェクタＥＥＴ）の形状を表したモデルである。
【０１３５】
また、ハンド部の位置及び姿勢も登録しておく。Ｘ軸座標、Ｙ軸座標、Ｚ軸座標、Ｘ軸周りの回転角度、Ｙ軸周りの回転角度、Ｚ軸周りの回転角度を個別に入力することで、入力された値に対応するように、表示部３上でハンドモデルが移動していく。これにより、ハンドモデルを所望位置に配置することができるので、ハンドモデルの位置を調整しながら、ハンドモデルでサーチモデルのどの部位をどのような姿勢で把持するか、即ち把持位置及び姿勢を設定することが可能になる。把持位置及び姿勢の設定は、例えばハンドモデルを操作部４のマウスで直接的に操作することによっても可能である。ここで設定する把持位置は、ロボットＲＢＴにより把持される把持候補位置であり、記憶部２０８に記憶することができる。
【０１３６】
また、ばら積み情報を入力する。ばら積み情報とは、例えば、一度にばら積みするワークの個数、ばら積みする箇所の形状（平面であるか、箱であるか）、ばら積みする箇所の大きさ等を入力する。
【０１３７】
その後、ワークモデルのデータを読み込み、ワークモデルのデータ容量を圧縮する。データ容量を圧縮した後、物理シミュレーション部２０２によって物理シミュレーションを実行する。具体的には、データ容量が圧縮された複数のワークモデルを用いて、ワークが重力の作用を受けて作業空間に配置される動作をシミュレーションし、仮想的な作業空間に複数のワークモデルを積み上げたばら積み状態を生成する。
【０１３８】
物理シミュレーションは、従来から周知の物理シミュレーションエンジンを用いて実行することができる。物理シミュレーションでは、ワーク同士の衝突による作用、床等の障害物の情報に基づいてワークモデルを仮想的に配置していく。実運用時に図１に示すような収容容器ＢＸにワークＷＫを収容する場合には、ワークモデルを収容容器ＢＸに上方から投入するシミュレーションを物理シミュレーションエンジンが行うように設定することができる。また、物理シミュレーションでは、例えばワーク同士が衝突した場合に、予め設定された反発係数や摩擦係数を考慮して、その後ワークモデルがどのような動きになるかが示される。
【０１３９】
物理シミュレーションの例としては、例えば、収容容器ＢＸにワークＷＫを上方から投下または投入して収容容器ＢＸの内部にばら積み状態を生成する場合を挙げることができる。「投入」や「投下」とは、物理的に高所から落下させる動作に限られず、例えば転がりを検証するため、所定の高さから水平方向に押し出しながら落下させたり、放物線状に投げ上げて落下させたり、あるいは収納容器ＢＸや床面にワークモデルを載置、あるいは静置する動作も含む意味で使用する。さらに、物理シミュレーションは、ワークモデルを１つずつ作業空間内に順次投入する他、複数のワークモデルを同時に投入、例えば落下させたり静置させる動作をシミュレーションすることもできる。
【０１４０】
物理シミュレーションを実行した後、ワークモデルのばら積み状態データを、物理シミュレーションの結果に基づいて生成する。実行するのは、図２に示すロボット設定装置１００が有するばら積みデータ生成部２０３である。
【０１４１】
ワークモデルのばら積み状態データに基づいて画像を生成した後、高さ画像を得て、各ワークモデルの位置及び姿勢を検出するサーチ処理を実行する。ロボット設定装置１００が有するサーチ処理部２０５が行う。
【０１４２】
サーチ処理は高さ情報を含むサーチ処理用データに対してサーチをかけるので、三次元サーチと呼ぶことができる。具体的には、予め登録されたサーチモデルを用いて、各ワークモデルの姿勢と位置を特定する三次元サーチを行う。まずサーチモデルの各特徴点が、最も一致する状態の位置及び姿勢（Ｘ、Ｙ、Ｚ、ＲX、ＲY、ＲZ）を、高さ画像の中から探索する。ここでＲX、ＲY、ＲZは、それぞれＸ軸に対する回転角、Ｙ軸に対する回転角、Ｚ軸に対する回転角を表す。このような回転角度の表現方法は種々提案されているところ、ここではＺ−Ｙ−Ｘ系オイラー角を用いることができる。また一致する位置及び姿勢は、各サーチモデルに対して、１つである必要はなく、一定以上一致する位置及び姿勢を、複数検出してもよい。
【０１４３】
サーチ処理部２０５が高さ画像中にサーチモデルが存在するか否かをサーチした結果、高さ画像中に、サーチモデルが存在しない場合、即ちワークモデルを検出できない場合にはサーチ処理を終了する。
【０１４４】
一方、三次元サーチの結果、高さ画像の中にワークモデルを検出できた場合には、干渉判定及び把持解を算出する。サーチ処理部２０５によりサーチに成功したワークモデルに対して、ロボットＲＢＴによりピッキング動作のシミュレーションを実行するピッキング動作シミュレーション部２０４が行う。
【０１４５】
ピッキング動作シミュレーション部２０４は、生成されたばら積みデータに対して、仮想作業空間内のワークモデルのばら積みピッキング動作を検証するための部分である。ピッキング動作シミュレーションを行うことにより、ワークの三次元位置及び姿勢の検出可否など、手間のかかる確認作業や設定調整を、実際にワークを用意することなく、実運用に近い形で事前に行うことができる。
【０１４６】
特に物理シミュレーション部２０２は、ピッキング動作シミュレーション部２０４による一のワークモデルをハンドモデルで把持し少なくとも取り出し動作を開始した後、このワークモデルが取り出された後の状態のばら積みデータに対して物理シミュレーションを再度実行するように構成することができる。物理シミュレーションを再度実行するタイミングは、ワークモデルをハンドモデルで把持し、載置位置にプレースされた後とする他、ワークモデルの取り出し作業の途中であってもよい。すなわち、ハンドモデルでワークモデルを把持して、このワークモデルが持ち上げられた状態では、一のワークモデルが除去されたことで、このワークモデルの周辺にあった他のワークモデルが移動可能となるため、把持されたワークモデルが載置されるまで待つ必要はない。よって、物理シミュレーションの再実行のタイミングは、一のワークモデルがハンドモデルで把持されて持ち上げられたタイミング、あるいはその後、他のワークモデルの状態が重力の作用で移動して安定するまで待った後のタイミングとすることができる。例えば、ワークモデルが把持されて持ち上げられた時点から所定の時間の経過後（例えば１０秒後）としてもよい。物理シミュレーションを再度実行した後、ばら積みデータを更新する。
【０１４７】
したがって、ピッキング動作シミュレーション中にばら積みデータからワークモデルが一つ取り出されると、これに応じてバラ積みされたワークモデル群が崩れるといった動作も物理シミュレーションにより演算され、この演算後のばら積みデータを利用してピッキング動作シミュレーション部２５がその後のピッキング動作シミュレーションを実行するので、より正確なばら積みピッキングのシミュレーションが実現される。
【０１４８】
干渉判定は、高さ画像の各１点１点のpixelデータが示す三次元点群と、予め入力されているハンドモデルとが干渉するか否かを判定する。干渉判定の前に、三次元サーチで検出された一のワークモデルに対して、このワークモデルの位置と、登録してあるワークモデルの把持姿勢とに基づいて、エンドエフェクタＥＥＴを配置すべき位置と姿勢を計算する。計算された位置において、エンドエフェクタが周囲の物体と干渉しないかどうかを、断面モデルを利用して判定する。この干渉判定では、ハンドモデルの断面モデルを利用して三次元点群が断面モデルと干渉しているか否かを判定する。
【０１４９】
このようにして、ワークモデルを把持可能な把持解の有無を検出されたワークモデル毎に判定する。そして、ワークモデルに把持解が得られた場合は、そのワークモデルの把持候補位置をハンド部でもってピックし、収納容器ＢＸの外部へ搬送するシミュレーションを行う。
【０１５０】
ピッキング動作シミュレーションの実行結果は、必要に応じて表示部３に表示させることができる。ユーザは表示部３に表示されたピッキング動作シミュレーションの実行結果に基づいて、現在の設定の適否を判断できる。また必要に応じて、各種の設定を変更することができる。例えばロボットＲＢＴの設置位置や収納容器ＢＸを置く位置、センサ部２の姿勢などを調整する。変更した設定を、シミュレーション環境として入力し直して、再度ピッキング動作シミュレーションを実行し、その適否を確認するという作業を繰り返して、ユーザの環境に応じた適切な設定条件を決定できる。
（サーチ処理部２０５）
サーチ処理部２０５は、上述したピッキング動作シミュレーションで使用されているが、実運用時でも使用することができる。サーチ処理部２０５をピッキング動作シミュレーションで使用したものとは別に構成することもできる。
【０１５１】
すなわち、サーチ処理部２０５は、予め登録されたサーチモデルを用いて、三次元計測データの中に含まれる複数のワークの位置及び姿勢を検出するサーチ処理を行う。サーチ処理を行う際には、三次元計測データから得られた高さ画像中に、サーチモデルが存在するか否かをサーチする。この手法はピッキング動作シミュレーションで行った手法と同じにすることができる。
（干渉判定部２０６）
干渉判定部３１は、サーチ処理部２０５でサーチ処理に成功したサーチモデルに対応付けられたワーク表面に設定された把持候補位置をロボットＲＢＴが周囲の物体と干渉することなく把持が可能か判定する。この干渉判定部２０６による判定手法は、ピッキング動作シミュレーションで行った手法と同じにすることができる。
（把持位置決定部２０７）
把持位置決定部２０７は、干渉判定部２０６により周囲の物体と干渉することなく把持が可能と判定された把持候補位置を実際の把持位置として決定するように構成されている。
【０１５２】
（実運用時の手順）
次に、実運用時について説明する。図１に示すようにセンサ部２を用いて収納容器ＢＸにばら積みされているワークＷＫを三次元計測する。図１１は、収納容器ＢＸに無作為に投入されたワークＷＫ１、ＷＫ２を斜め上方から見た斜視図であり、本例では、説明を容易化するために、この図に示すように、水平な姿勢で収納されたワークＷＫ１と、斜めに収納されたワークＷＫ２とがある場合について説明する。
【０１５３】
図１２（Ａ）は、ワークＷＫ２の斜面が三次元計測できるように露光時間を設定した場合のパターン画像であり、図１２（Ｂ）はワークＷＫ１の水平面が三次元計測できるように露光時間を設定した場合のパターン画像である。図１２（Ａ）のパターン画像の方が、図１２（Ｂ）のパターン画像のよりも露光時間が長く設定された画像である。図１２（Ａ）のパターン画像では、ワークＷＫ１の水平面の画素が飽和しており、したがって、図１３の（Ａ）及び図１４の（Ａ）に示すように、高さ画像を生成すると、ワークＷＫ１の水平面の広い範囲で無効画素（図中の黒い部分）が多く見られる結果となる。また、図１２（Ｂ）のパターン画像では、ワークＷＫ２の斜面が露光不足であり、したがって、図１３の（Ｂ）及び図１４の（Ｂ）に示すように、高さ画像を生成すると、ワークＷＫ２の斜面の広い範囲で無効画素（図中の黒い部分）が多く見られる結果となる。
【０１５４】
本実施形態では、第１露光時間で撮像したパターン画像に基づいて高さ画像を生成するとともに、第１露光時間よりも長い第２露光時間で撮像したパターン画像に基づいて高さ画像を生成する。図１５の（Ａ）及び図１６の（Ａ）は第１露光時間で撮像したパターン画像に基づいて生成した高さ画像を示しており、図１５の（Ｂ）及び図１６の（Ｂ）は第２露光時間で撮像したパターン画像に基づいて生成した高さ画像を示している。図１５の（Ａ）及び図１６の（Ａ）に示すように露光時間が長いとワークＷＫ１の水平面の画素が飽和する一方、図１５の（Ｂ）及び図１６の（Ｂ）に示すように露光時間が短いとワークＷＫ２の斜面が露光不足になるが、本実施形態では、図１５の（Ａ）及び図１６の（Ａ）に示す画像を優先し、この画像中の無効画素を、図１５の（Ｂ）及び図１６の（Ｂ）に示す対応する位置の画素に置き換える処理を行う。これにより、図１７の（Ａ）及び（Ｂ）に示すように、無効画素の少ない高さ画像を得ることができる。
【０１５５】
その後、上述のようにして生成された高さ画像に対して三次元サーチを実施し、ワークの位置及び姿勢を検出する。ワークモデルの位置と、登録してあるワークモデルの把持姿勢とに基づいて、ハンド部を配置すべき位置と姿勢を計算する。計算された位置において、ハンド部が周囲の物体と干渉しないかどうかを判定する。具体的には、高さ画像の各１点１点のpixelデータが示す三次元点群と、ハンドモデルとが干渉するか否かを、ハンドの断面モデルを用いて判定する。ハンド部が周囲の物体と干渉していない場合には、把持解有りとして終了する。この把持解がロボットコントローラ６に送信され、ロボットコントローラ６がアーム部ＡＲＭ及びハンド部を制御してワークＷＫをピックして搬送する。
【０１５６】
ハンド部が周囲の物体と干渉している場合には、別の把持候補位置があるか否かを判定する。別の把持候補位置がある場合には、その把持解がロボットコントローラ６に送信され、ロボットコントローラ６がアーム部ＡＲＭ及びハンド部を制御してワークＷＫをピックして搬送する。別の把持候補位置がない場合には、把持解候補となるワークが他にもあるか否かを判定する。別のワークがある場合には、上述のようにして把持解を演算する。別のワークがない場合には把持解無しとして終了する。
【０１５７】
（実施形態の作用効果）
以上説明したように、この実施形態によれば、ワークＷＫを第１露光時間で撮像した第１パターン画像と、第１露光時間よりも長い第２露光時間で撮像した第２パターン画像とを生成し、露光時間が長い第２パターン画像、第２位相画像、第２高さ画像に無効画素がある場合には、第２パターン画像、第２位相画像、第２高さ画像の無効画素を第１パターン画像、第１位相画像、第１高さ画像の画素と置き換えることができる。これにより、例えば複雑な形状を有するワークＷＫや、様々な姿勢にある複数のワークＷＫを三次元計測する場合に、計測精度を高めることができる。
【０１５８】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【０１５９】
以上説明したように、本発明に係る三次元計測装置は、例えばロボットビジョン等として利用することができる。
【符号の説明】
【０１６０】
１              三次元計測装置
２              センサ部
２１            パターン画像生成部
２２            位相画像生成部
２３            高さ画像生成部
２４            置換処理部
２５            露光時間設定部
２６            ＨＤＲ設定部
ＣＭＥ１〜４    撮像部
ＰＲＪ          照明部
ＷＫ            ワーク（計測対象物）
【図１】
2020122664.tif 000003
【図２】
2020122664.tif 000004
【図３】
2020122664.tif 000005
【図４】
2020122664.tif 000006
【図５】
2020122664.tif 000007
【図６】
2020122664.tif 000008
【図７】
2020122664.tif 000009
【図８】
2020122664.tif 000010
【図９】
2020122664.tif 000011
【図１０】
2020122664.tif 000012
【図１１】
2020122664.tif 000013
【図１２】
2020122664.tif 000014
【図１３】
2020122664.tif 000015
【図１４】
2020122664.tif 000016
【図１５】
2020122664.tif 000017
【図１６】
2020122664.tif 000018
【図１７】
2020122664.tif 000019
【図１８】
2020122664.tif 000020