(57)【要約】【課題】影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能な視覚センサシステムを提供する。【解決手段】移動制御部は、撮像部が第１の位置および第１の姿勢に配置されているときの画像を用いて計測部により計測された被写体の三次元形状である計測形状に基づいて、被写体を再度撮像すべき第２の位置および第２の姿勢を決定して、移動機構へ指示する。三次元形状は、基準面からの高さ情報によって示される。移動制御部は、計測形状から、高さ情報が欠損している欠損領域を抽出し、計測形状における欠損領域の周囲の高さ情報に基づいて、第２の位置および第２の姿勢を決定する。【選択図】図７
2019207140.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像する撮像部と、
前記撮像部を指示された位置に指示された姿勢で配置する移動機構と、
前記撮像部により撮像された画像を用いて、前記被写体の表面の三次元形状を計測する計測部とを備え、
前記撮像部が第１の位置および第１の姿勢に配置されているときの画像を用いて前記計測部により計測された前記被写体の三次元形状である計測形状に基づいて、前記被写体を再度撮像すべき第２の位置および第２の姿勢を決定して、前記移動機構へ指示する移動制御部とを備え、
前記三次元形状は、基準面からの高さ情報によって示され、
前記移動制御部は、
前記計測形状から、前記高さ情報が欠損している欠損領域を抽出し、
前記計測形状における前記欠損領域の周囲の前記高さ情報に基づいて、前記第２の位置および前記第２の姿勢を決定する、視覚センサシステム。
【請求項２】
前記移動制御部は、前記計測形状における前記欠損領域の周囲の２点を結ぶ対象線分の高さ情報が取得可能なように前記第２の位置および前記第２の姿勢を決定する、請求項１に記載の視覚センサシステム。
【請求項３】
前記移動制御部は、
前記対象線分と、前記第１の位置および前記第１の姿勢に配置された前記撮像部の光軸に垂直な第１平面とのなす第１角度を求め、
前記第１角度と、前記撮像部の特性および前記被写体に応じて予め定められる第２角度との差を、前記第１の姿勢から前記第２の姿勢への移動角度として決定し、
前記対象線分と前記撮像部の光軸とのなす角度が９０度に近づく方向に、前記対象線分を含み、かつ前記基準面に垂直な第２平面に沿って前記第１の姿勢から前記移動角度だけ回転した姿勢を前記第２の姿勢として決定する、請求項２に記載の視覚センサシステム。
【請求項４】
前記対象線分を前記基準面に投影した線分は、予め定められた方向に平行である、請求項３に記載の視覚センサシステム。
【請求項５】
前記２点の一方は、前記計測形状において、前記欠損領域の周囲のうち前記高さ情報が最大の点であり、前記２点の他方は、前記欠損領域の周囲のうち前記高さ情報が最小の点である、請求項２または３に記載の視覚センサシステム。
【請求項６】
前記移動制御部は、前記計測形状における前記欠損領域の周囲の少なくとも３点に近似する近似平面のうち前記欠損領域と重なる対象領域の高さ情報が取得可能なように前記第２の位置および前記第２の姿勢を決定する、請求項２に記載の視覚センサシステム。
【請求項７】
前記移動制御部は、
前記対象領域と、前記第１の位置および前記第１の姿勢に配置された前記撮像部の光軸に垂直な第１平面とのなす第１角度を求め、
前記第１角度と、前記撮像部の特性および前記被写体に応じて予め定められる第２角度との差を、前記第１の姿勢から前記第２の姿勢への移動角度として決定し、
前記対象領域と前記撮像部の光軸とのなす角度が９０度に近づく方向に、前記対象領域の法線を含み、かつ前記基準面に垂直な第２平面に沿って前記第１の姿勢から前記移動角度だけ回転した姿勢を前記第２の姿勢として決定する、請求項６に記載の視覚センサシステム。
【請求項８】
前記移動制御部は、前記２点のうち前記高さ情報が高い方の点である基準点を前記撮像部の光軸が通るように、前記第２の位置を決定する、請求項２から５のいずれか１項に記載の視覚センサシステム。
【請求項９】
前記移動制御部は、前記２点のうち前記高さ情報が低い方の点である基準点を前記撮像部の光軸が通るように、前記第２の位置を決定する、請求項２から５のいずれか１項に記載の視覚センサシステム。
【請求項１０】
前記移動制御部は、前記２点の中点である基準点を前記撮像部の光軸が通るように、前記第２の位置を決定する、請求項２から５のいずれか１項に記載の視覚センサシステム。
【請求項１１】
前記移動制御部は、前記対象領域内の基準点を前記撮像部の光軸が通るように、前記第２の位置を決定する、請求項６または７に記載の視覚センサシステム。
【請求項１２】
前記移動制御部は、前記基準点と前記第１の位置との距離と、前記基準点と前記第２の位置との距離とが同一となるように、前記第２の位置を決定する、請求項８から１１のいずれか１項に記載の視覚センサシステム。
【請求項１３】
被写体を撮像する撮像部と、
前記撮像部を指示された位置に指示された姿勢で配置する移動機構と、
前記撮像部により撮像された画像を用いて、前記被写体の表面の三次元形状を計測する計測部とを備えた視覚センサシステムの制御方法であって、
前記三次元形状は、基準面からの高さ情報によって示され、
前記撮像部が第１の位置および第１の姿勢に配置されているときの画像を用いて前記計測部により計測された前記被写体の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域を抽出するステップと、
前記計測形状における前記欠損領域の周囲の前記高さ情報に基づいて、前記被写体を再度撮像すべき第２の位置および第２の姿勢を決定するステップとを備える、制御方法。
【請求項１４】
被写体を撮像する撮像部と、
前記撮像部を指示された位置に指示された姿勢で配置する移動機構と、
前記撮像部により撮像された画像を用いて、前記被写体の表面の三次元形状を計測する計測部とを備えた視覚センサシステムをサポートするためのプログラムであって、
前記三次元形状は、基準面からの高さ情報によって示され、
コンピュータに、
前記撮像部が第１の位置および第１の姿勢に配置されているときの画像を用いて前記計測部により計測された前記被写体の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域を抽出するステップと、
前記計測形状における前記欠損領域の周囲の前記高さ情報に基づいて、前記被写体を再度撮像すべき第２の位置および第２の姿勢を決定するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、視覚センサシステム、制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、プロジェクタからパターン光が投影された被写体をカメラにより撮像し、得られた画像を用いて被写体の表面の三次元形状を計測する技術が開発されている。
【０００３】
特開２０１６−９９２５７号公報（特許文献１）には、照明等によって発生する影の影響を考慮して、三次元形状の計測を複数回行なう技術が開示されている。具体的には、カメラが第１の位置姿勢に配置されているときに１回目の撮像を行なった後、対象物体を中心に、プロジェクタの光軸とカメラの光軸とを含む面内で所定角度回転させた第２の位置姿勢にカメラが配置される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−９９２５７号公報
【特許文献２】特開２００７−１１４０７１号公報
【特許文献３】特開２０１２−７９２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特開２０１６−９９２５７号公報に記載の技術では、第１の位置姿勢から所定角度回転させた位置姿勢が第２の位置姿勢として決定される。すなわち、カメラの第１の位置姿勢から第２の位置姿勢への移動量は一定である。しかしながら、影の状況は、被写体の状態によって変化する。そのため、第２の位置姿勢が影の影響を排除しやすい位置姿勢であるとは限らない。
【０００６】
本開示は、上記の問題点に着目してなされたもので、その目的は、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能な視覚センサシステム、制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本開示の一例では、視覚センサシステムは、撮像部と、移動機構と、計測部と、移動制御部とを備える。撮像部は、被写体を撮像する。移動機構は、撮像部を指示された位置に指示された姿勢で配置する。計測部は、撮像部により撮像された画像を用いて、被写体の表面の三次元形状を計測する。移動制御部は、撮像部が第１の位置および第１の姿勢に配置されているときの画像を用いて計測部により計測された被写体の三次元形状である計測形状に基づいて、被写体を再度撮像すべき第２の位置および第２の姿勢を決定して、移動機構へ指示する。三次元形状は、基準面からの高さ情報によって示される。移動制御部は、計測形状から、高さ情報が欠損している欠損領域を抽出し、計測形状における欠損領域の周囲の高さ情報に基づいて、第２の位置および第２の姿勢を決定する。
【０００８】
欠損領域の周囲の高さ情報は、欠損領域内の被写体の三次元形状と関係している可能性が高い。そのため、この開示によれば、欠損領域の周囲の高さ情報を用いることにより、欠損領域内の高さ情報を取得しやすい第２の位置および第２の姿勢を決定することができる。すなわち、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
【０００９】
本開示の一例では、移動制御部は、計測形状における欠損領域の周囲の２点を結ぶ対象線分の高さ情報が取得可能なように第２の位置および第２の姿勢を決定する。
【００１０】
この開示によれば、対象線分の高さ情報を取得可能な第２の位置および第２の姿勢に撮像部を配置することにより、欠損領域内の高さ情報を取得できる可能性が高くなる。
【００１１】
本開示の一例では、移動制御部は、対象線分と、第１の位置および第１の姿勢に配置された撮像部の光軸に垂直な第１平面とのなす第１角度を求める。さらに、移動制御部は、第１角度と、撮像部の特性および被写体に応じて予め定められる第２角度との差を、第１の姿勢から第２の姿勢への移動角度として決定する。さらに、移動制御部は、対象線分と撮像部の光軸とのなす角度が９０度に近づく方向に、対象線分を含み、かつ基準面に垂直な第２平面に沿って第１の姿勢から移動角度だけ回転した姿勢を第２の姿勢として決定する。
【００１２】
この開示によれば、第１の姿勢から対象線分の高さ情報を取得可能な第２の姿勢への回転移動量を抑制できる。回転移動量を抑制することにより、撮像部の移動に要する時間を短縮できる。
【００１３】
本開示の一例では、対象線分を基準面に投影した線分は、予め定められた方向に平行である。この開示によれば、移動制御部は、対象線分を決定しやすくなる。
【００１４】
本開示の一例では、２点の一方は、計測形状において、欠損領域の周囲のうち高さ情報が最大の点である。２点の他方は、欠損領域の周囲のうち高さ情報が最小の点である。
【００１５】
この開示によれば、移動制御部は、第１の位置および第１の姿勢に配置された撮像部の光軸に垂直な第１平面とのなす第１角度が最も大きい対象線分を決定することができる。その結果、撮像部を第２の位置および第２の姿勢に配置することにより、欠損領域のＺ座標値を算出できる可能性が高くなる。
【００１６】
本開示の一例では、移動制御部は、計測形状における欠損領域の周囲の少なくとも３点に近似する近似平面のうち欠損領域と重なる対象領域の高さ情報が取得可能なように第２の位置および第２の姿勢を決定する。
【００１７】
この開示によれば、対象領域の高さ情報を取得可能な第２の位置および第２の姿勢に撮像部を配置することにより、欠損領域内の高さ情報を取得できる可能性が高くなる。
【００１８】
本開示の一例では、移動制御部は、対象領域と、第１の位置および第１の姿勢に配置された撮像部の光軸に垂直な第１平面とのなす第１角度を求める。移動制御部は、第１角度と、撮像部の特性および被写体に応じて予め定められる第２角度との差を、第１の姿勢から第２の姿勢への移動角度として決定する。移動制御部は、対象領域と撮像部の光軸とのなす角度が９０度に近づく方向に、対象領域の法線を含み、かつ基準面に垂直な第２平面に沿って第１の姿勢から移動角度だけ回転した姿勢を第２の姿勢として決定する。
【００１９】
この開示によれば、第１の姿勢から対象領域の高さ情報を取得可能な第２の姿勢への回転移動量を抑制できる。回転移動量を抑制することにより、撮像部の移動に要する時間を短縮できる。
【００２０】
本開示の一例では、移動制御部は、２点のうち高さ情報が高い方の点である基準点を撮像部の光軸が通るように、第２の位置を決定する。もしくは、移動制御部は、２点のうち高さ情報が低い方の点である基準点を撮像部の光軸が通るように、第２の位置を決定してもよい。もしくは、移動制御部は、２点の中点である基準点を撮像部の光軸が通るように、第２の位置を決定してもよい。もしくは、移動制御部は、対象領域内の基準点を撮像部の光軸が通るように、第２の位置を決定してもよい。これらの開示によれば、欠損領域内の高さ情報を取得しやすい第２の位置を決定することができる。
【００２１】
本開示の一例では、移動制御部は、基準点と第１の位置との距離と、基準点と第２の位置との距離とが同一となるように、第２の位置を決定する。この開示によれば、撮像部が第１の位置および第１の姿勢に配置されているときの画像から計測された、欠損領域の周囲の高さ情報の計測精度と、撮像部が第２の位置および第２の姿勢に配置されているときの画像から計測された、当該欠損領域内の高さ情報の計測精度とを合わせることができる。
【００２２】
本開示の一例では、視覚センサシステムは、被写体を撮像する撮像部と、撮像部を指示された位置に指示された姿勢で配置する移動機構と、撮像部により撮像された画像を用いて、被写体の表面の三次元形状を計測する計測部とを備える。三次元形状は、基準面からの高さ情報によって示される。視覚センサシステムの制御方法は、第１ステップと第２ステップとを備える。第１ステップは、撮像部が第１の位置および第１の姿勢に配置されているときの画像を用いて計測部により計測された被写体の三次元形状である計測形状から、高さ情報が欠損している欠損領域を抽出するステップである。第２ステップは、計測形状における欠損領域の周囲の高さ情報に基づいて、被写体を再度撮像すべき第２の位置および第２の姿勢を決定するステップである。この開示によれば、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
【００２３】
本開示の一例では、視覚センサシステムをサポートするためのプログラムは、上記の第１ステップおよび第２ステップをコンピュータに実行させる。この開示によっても、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
【発明の効果】
【００２４】
本開示によれば、影の影響を排除しやすいように撮像部の位置姿勢を決定することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】実施の形態に係る視覚センサシステムの全体構成を示す模式図である。
【図２】三次元形状データから変換された距離画像の一例を示す図である。
【図３】欠損領域およびその周辺の高さプロファイルを示す図である。
【図４】図１に示す移動制御部のハードウェア構成について示す模式図である。
【図５】図１に示す移動制御部の内部構成の一例を示すブロック図である。
【図６】距離画像に設定される基準線の一例を示す図である。
【図７】図６に示す基準線の高さプロファイルを示す図である。
【図８】プロジェクタから照射されたパターン光の経路の一例を示す図である。
【図９】図１に示す視覚センサシステムの処理の流れの一例を示すフローチャートである。
【図１０】図９における第２の位置および第２の姿勢を決定する処理のサブルーチンを説明するフローチャートである。
【図１１】対象線分の決定方法の別の例を示す図である。
【図１２】変形例４に係る移動制御部の内部構成を示すブロック図である。
【図１３】対象領域の一例を示す図である。
【図１４】取得ユニットの回転位置の例を示す図である。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２７】
§１  適用例
図１を参照して、本発明が適用される場面の一例について説明する。図１は、実施の形態に係る視覚センサシステムの全体構成を示す模式図である。視覚センサシステム１は、たとえば、所定位置に設置されたパレット１０２上に積まれた複数の対象物１００全体を被写体１０１とし、被写体１０１の表面の三次元形状を計測する。視覚センサシステム１によって計測された三次元形状は、様々な用途に利用される。たとえば、図示しない把持ロボットは、視覚センサシステム１によって計測された三次元形状に基づいて、複数の対象物１００の中から最も高い位置の対象物１００を選択し、選択した対象物１００を把持して、別の場所に搬送する。
【００２８】
図１に示されるように、視覚センサシステム１は、取得ユニット１０と、ロボット２０と、計測部３０と、合成部４０と、移動制御部５０とを備える。
【００２９】
取得ユニット１０は、被写体１０１の表面の三次元形状を計測するための画像を取得する。取得ユニット１０は、被写体１０１にパターン光を投影するプロジェクタ１１と、パターン光が投影された被写体１０１を撮像するカメラ１２とを一体化したユニットである。パターン光は、たとえば縞パターンである。
【００３０】
ロボット２０は、取得ユニット１０を移動させる移動機構であり、たとえば垂直多関節ロボットである。ロボット２０の先端には、取得ユニット１０が固定されている。ロボット２０は、カメラ１２を指示された位置に指示された姿勢で配置するように、取得ユニット１０を移動させる。
【００３１】
計測部３０は、カメラ１２により撮像された画像を処理することにより、被写体１０１の表面の三次元形状を計測し、計測した三次元形状を示す三次元形状データを生成する画像処理装置である。
【００３２】
三次元形状は、たとえばパレット１０２の上面である基準面１０３をＸＹ平面とし、Ｚ軸をＸＹ平面に垂直な軸とするＸＹＺ座標系によって示される。Ｚ座標値は、基準面１０３から被写体１０１の表面までの高さ情報である。三次元形状データは、計測された三次元形状の各点のＸＹＺ座標値を含む。なお、カメラ１２の座標系とロボット２０の座標系とを対応付けるキャリブレーションが予め行なわれている。計測部３０は、キャリブレーションデータとロボット２０の位置および姿勢とに基づいて、カメラ１２の座標系の値から絶対座標系であるＸＹＺ座標値を計算できる。
【００３３】
図２は、計測部３０によって計測された三次元形状から変換された距離画像の一例を示す図である。距離画像は、三次元形状データのＺ座標値（高さ情報）を輝度値に変換することにより得られる。図２において、輝度が大きいほどＺ座標値が大きいことを示している。
【００３４】
図２において、欠損領域６０は、三次元形状データにおいてＺ座標値が欠損している領域であり、最小の輝度で示される。被写体１０１において影となる部分には、プロジェクタ１１からパターン光が十分に投影されない。計測部３０は、パターン光が十分に投影されない部分のＺ座標値を計測することができない。つまり、欠損領域６０は、パターン光が十分に投影されなかった影領域に対応する。
【００３５】
図１に戻って、合成部４０は、カメラ１２が第１の位置および第１の姿勢に配置されているときの画像を用いて計測された三次元形状（以下、「第１計測形状」という）と、カメラ１２が第２の位置および第２の姿勢に配置されているときの画像を用いて計測された三次元形状（以下、「第２計測形状」という）とを合成する。具体的には、合成部４０は、第１計測形状を示す三次元形状データにおいて欠損領域６０（図２参照）に対応する部分のＺ座標値を、第２計測形状を示す三次元形状データにおいて同領域のＺ座標値に置換する。
【００３６】
移動制御部５０は、カメラ１２の位置および姿勢をロボット２０に指示することにより、取得ユニット１０の移動を制御する。
【００３７】
移動制御部５０は、第１計測形状に欠損領域が含まれている場合、被写体１０１を再度撮像すべきカメラ１２の第２の位置および第２の姿勢を決定する。移動制御部５０は、決定した第２の位置および第２の姿勢をロボット２０に指示する。
【００３８】
移動制御部５０は、第１計測形状に応じて、第１の位置および第１の姿勢から第２の位置および第２の姿勢への移動量を異ならせる。具体的には、移動制御部５０は、第１計測形状から欠損領域６０（図２参照）を抽出し、第１計測形状における欠損領域６０の周囲のＺ座標値に基づいて、第２の位置および第２の姿勢を決定する。欠損領域６０の周囲のＺ座標値は、欠損領域６０内の被写体１０１の三次元形状と関係している可能性が高い。そのため、欠損領域６０の周囲のＺ座標値を用いることにより、欠損領域６０内のＺ座標値を取得しやすい第２の位置および第２の姿勢を決定することができる。
【００３９】
移動制御部５０は、たとえば、第１計測形状における欠損領域６０の周囲の２点を結ぶ対象線分のＺ座標値が取得可能なように第２の位置および第２の姿勢を決定する。
【００４０】
図３は、欠損領域およびその周辺の高さプロファイルを示す図である。図３において、点６２，６３は、基準面１０３に対する高さ情報を示すＺ座標値が欠損している欠損領域６０の周囲の２点である。欠損領域６０内の被写体１０１の三次元形状は未知であるが、点６２と点６３とを結ぶ対象線分６４のＺ座標値を取得可能な第２の位置および第２の姿勢にカメラ１２を配置することにより、欠損領域６０内のＺ座標値を取得できる可能性が高くなる。
【００４１】
§２  具体例
次に、本実施の形態に係る視覚センサシステムの各構成の一例について説明する。
【００４２】
＜Ａ．計測部＞
計測部３０は、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置、通信Ｉ／Ｆ等を含み、画像処理を行なう。補助記憶装置は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等で構成され、ＣＰＵが実行するプログラム等を記憶する。
【００４３】
計測部３０は、カメラ１２によって撮像された画像を処理し、被写体１０１におけるカメラ１２側の表面の三次元形状を計測し、計測した三次元形状を示す三次元形状データを生成する。具体的には、計測部３０は、被写体１０１の表面上の各点のＸＹＺ座標値を算出する。計測部３０は、カメラ１２の位置および姿勢を示す位置姿勢情報を用いてカメラ１２の座標系をロボット２０のＸＹＺ座標系に変換することにより、被写体１０１の三次元形状データを算出する。ＸＹＺ座標系は、上述したように、ＸＹ平面がパレット１０２の上面である基準面１０３と一致し、Ｚ軸がＸＹ平面に直交するように設定されたロボット２０の座標系である。計測部３０は、たとえば位相シフト法のような公知の方法（たとえば、特開２００７−１１４０７１号公報（特許文献２））を用いて、Ｚ座標値を算出すればよい。もしくは、計測部３０は、構造化照明式の公知の方法（たとえば、特開２０１２−７９２９４号公報（特許文献３））を用いて、Ｚ座標値を算出してもよい。
【００４４】
計測部３０は、プロジェクタ１１から投影されたパターン光を認識できない領域についてＺ座標値を算出しない。
【００４５】
＜Ｂ．移動制御部のハードウェア構成＞
図４は、移動制御部のハードウェア構成について示す模式図である。移動制御部５０は、ＣＰＵ（Central Processing Unit）５０１、メインメモリ５０２、ハードディスク５０３、ディスプレイ５０４、入力デバイス５０５および通信インターフェイス（Ｉ／Ｆ）５０６を含む。これらの各部は、バス５００を介して、互いにデータ通信可能に接続される。
【００４６】
ＣＰＵ５０１は、ハードディスク５０３にインストールされた制御プログラム５０７を含むプログラム（コード）をメインメモリ５０２に展開して、これらを所定順序で実行することで、各種の演算を実施する。メインメモリ５０２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性の記憶装置である。
【００４７】
ハードディスク５０３は、移動制御部５０が備える内部メモリであって、不揮発性の記憶装置である。ハードディスク５０３は、制御プログラム５０７等の各種プログラムを記憶する。なお、ハードディスク５０３に加えて、あるいは、ハードディスク５０３に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【００４８】
制御プログラム５０７は、ロボット２０を制御するための手順を示すプログラムである。制御プログラム５０７等の各種プログラムは、ハードディスク５０３に保存されている必要はなく、移動制御部５０と通信可能なサーバや、移動制御部５０と直接接続可能な外部メモリに保存されていてもよい。たとえば、外部メモリに移動制御部５０で実行される各種プログラムおよび各種プログラムで用いられる各種パラメータが格納された状態で流通し、移動制御部５０は、この外部メモリから各種プログラムおよび各種パラメータを読み出す。外部メモリは、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。あるいは、移動制御部５０と通信可能に接続されたサーバなどからダウンロードしたプログラムやパラメータを移動制御部５０にインストールしてもよい。
【００４９】
ディスプレイ５０４は、たとえば液晶ディスプレイである。入力デバイス５０５は、たとえばマウス、キーボード、タッチパッド等により構成される。
【００５０】
通信Ｉ／Ｆ５０６は、外部の装置とＣＰＵ５０１との間で各種データをやり取りする。なお、通信Ｉ／Ｆ５０６は、サーバとＣＰＵ５０１との間でデータをやり取りしてもよい。通信Ｉ／Ｆ５０６は、外部の装置との間で各種データをやり取りするためのネットワークに対応するハードウェアを含む。
【００５１】
なお、本実施の形態に係る制御プログラム５０７は、他のプログラムの一部に組み込まれて提供されるものであってもよい。また、代替的に、制御プログラム５０７の実行により提供される処理の一部もしくは全部を専用のハードウェア回路が行なってもよい。
【００５２】
＜Ｃ．移動制御部の内部構成＞
図５は、移動制御部の内部構成の一例を示すブロック図である。図５に示す例の移動制御部５０は、指示値生成部５１と、移動先決定部５２とを備える。
【００５３】
指示値生成部５１は、カメラ１２の位置および姿勢の指示値を生成し、生成した指示値をロボット２０に出力する。指示値は、カメラ１２のＸＹＺ座標値と、カメラ１２の撮像方向の単位ベクトルのＸＹＺ成分とを含む。さらに、指示値生成部５１は、生成した指示値をカメラ１２の位置姿勢情報として計測部３０に出力する。
【００５４】
指示値生成部５１は、まず最初に、第１の位置および第１の姿勢に対応する第１の指示値を生成し、生成した第１の指示値をロボット２０に出力する。第１の位置および第１の姿勢は、予め定められている。第１の位置は、たとえば、パレット１０２（図１参照）の中心点から所定距離だけ上方の位置である。第１の姿勢は、たとえば、カメラ１２の撮像方向が鉛直方向下向きとなる姿勢である。
【００５５】
指示値生成部５１は、第１の指示値を生成した後、移動先決定部５２によって決定された第２の位置および第２の姿勢に対応する第２の指示値を生成し、生成した第２の指示値をロボット２０に出力する。
【００５６】
移動先決定部５２は、カメラ１２が第１の位置および第１の姿勢に配置されているときの画像を用いて計測された被写体１０１の表面の三次元形状（第１計測形状）に基づいて、被写体１０１を再度撮像すべき第２の位置および第２の姿勢を決定する。
【００５７】
移動先決定部５２は、距離画像生成部５３と、ラベリング部５４と、対象線分決定部５５と、第１角度演算部５６と、第２角度設定部５７と、姿勢決定部５８と、位置決定部５９とを有する。
【００５８】
距離画像生成部５３は、計測部３０により計測された第１計測形状を示す三次元形状データから距離画像データを生成する。距離画像生成部５３は、第１計測形状を示す三次元形状データのＺ座標値を輝度値に変換することにより、距離画像データを生成する。なお、距離画像生成部５３は、計測部３０によってＺ座標値が算出されていない領域の輝度を最小値に設定する。
【００５９】
ラベリング部５４は、距離画像生成部５３によって生成された距離画像データに対してラベリング処理を施すことにより、最小値の輝度を有する画素が縦、横または斜め方向に連続している欠損領域６０（図２参照）を抽出する。
【００６０】
対象線分決定部５５は、第１計測形状において欠損領域６０の周囲の２点を結ぶ対象線分６４（図３参照）を決定する。
【００６１】
ラベリング部５４によって複数の欠損領域６０が抽出された場合、対象線分決定部５５は、複数の欠損領域６０から１つの欠損領域６０を選択し、選択した欠損領域６０に対してのみ対象線分６４を決定する。複数の欠損領域６０から１つの欠損領域６０を選択するアルゴリズムは、視覚センサシステム１によって計測された三次元形状の利用方法に応じて予め定められる。たとえば、複数の対象物１００の中から最も高い位置の対象物１００を選択するために三次元形状が利用される場合、対象線分決定部５５は、複数の欠損領域６０の中から、周囲の高さが最も高い欠損領域６０を選択すればよい。
【００６２】
図６および図７を参照して、対象線分決定部５５による対象線分６４の決定方法について説明する。図６は、距離画像に設定される基準線の一例を示す図である。図７は、図６に示す基準線の高さプロファイルを示す図である。
【００６３】
図６に示されるように、対象線分決定部５５は、距離画像データで示される距離画像において、欠損領域６０の重心６１を通り、Ｘ軸方向に平行な直線を基準線６５として決定する。対象線分決定部５５は、基準線６５上の点から、欠損領域６０に隣接する２つの点６７，６８を選択する。点６７，６８は、距離画像における欠損領域６０の周囲の点である。
【００６４】
図７に示されるように、対象線分決定部５５は、輝度値をＺ座標値に逆変換することにより、点６７，６８に対応するＸＹＺ座標系の点６２，６３をそれぞれ特定する。対象線分決定部５５は、点６２，６３を結ぶ線分を対象線分６４として決定する。基準線６５がＸ軸方向に平行であるため、対象線分６４を基準面１０３に投影した線分は、Ｘ軸方向に平行である。
【００６５】
第１角度演算部５６は、図７に示されるように、対象線分決定部５５によって決定された対象線分６４と、第１の位置および第１の姿勢に配置されたカメラ１２の光軸１３に垂直な第１平面６６とのなす角度（以下、「第１角度」という）θａを演算する。上述したように、第１の姿勢は、カメラ１２の撮像方向が鉛直方向下向きとなる姿勢である。そのため、第１の位置および第１の姿勢に配置されたカメラ１２の光軸１３に垂直な第１平面６６は、ＸＹ平面に平行である。図７に示す例では、ＸＹ平面である基準面１０３と第１平面６６とが一致している。
【００６６】
図５に戻って、第２角度設定部５７は、計測部３０によってＺ座標値の算出が可能な被写体１０１の表面と、カメラ１２の光軸に垂直な平面とのなす角度の上限（以下、「第２角度θｂ」という）を設定する。
【００６７】
図８は、プロジェクタ１１から照射されたパターン光の経路の一例を示す図である。図８（ａ）には、被写体１０１の表面がカメラ１２の光軸に垂直な平面１４に平行であるときのパターン光の経路が示される。図８（ｂ）には、被写体１０１の表面がカメラ１２の光軸に垂直な平面１４に対して角度θｍａｘだけ傾斜しているときのパターン光の経路が示される。図８に示されるように、プロジェクタ１１からの入射光は、被写体１０１の表面において、出射方向に応じた強度分布を持つ拡散反射を行なう。そのため、被写体１０１の表面が傾くに従い、カメラ１２が受光できる反射光が低下する。被写体１０１の表面と、カメラ１２の光軸１３に垂直な平面１４とのなす角度が角度θｍａｘ以下であれば、所定のＳ／Ｎ比を維持できる。一方、被写体１０１の表面と、カメラ１２の光軸１３に垂直な平面１４とのなす角度が角度θｍａｘを超えると、計測部３０は、被写体１０１の表面について、Ｚ座標値（高さ情報）を精度良く算出することができない。そこで、第２角度設定部５７は、角度θｍａｘを第２角度θｂとして設定する。
【００６８】
角度θｍａｘは、カメラ１２の特性（たとえば画角）によって異なる。さらに、角度θｍａｘは、被写体１０１の材質によっても異なる。被写体１０１の材質によって、パターン光の反射性能および散乱性能が異なるからである。そのため、第２角度設定部５７は、カメラ１２の特性および被写体１０１の材質と角度θｍａｘとを対応付けたテーブルを予め記憶しておき、入力されたカメラ１２の特性および被写体１０１の材質に応じて第２角度θｂを設定する。
【００６９】
姿勢決定部５８は、対象線分６４（図７参照）のＺ座標値の算出が可能なように、カメラ１２の第２の姿勢を決定する。対象線分６４のＺ座標値を取得するためには、カメラ１２の光軸１３に垂直な平面と対象線分６４とのなす角度が第２角度θｂ以下であることが好ましい。そのため、姿勢決定部５８は、以下の式（１）を満たすθｗを、第１の姿勢から第２の姿勢への移動角度θｗとして決定する。
０≦θａ−θｗ≦θｂ  ・・・式（１）
たとえば、姿勢決定部５８は、第１角度θａと第２角度θｂとの差（θａ−θｂ）を移動角度θｗとして決定する。これにより、第１の姿勢から第２の姿勢への回転移動量を最小限に抑制できる。
【００７０】
姿勢決定部５８は、対象線分６４を含み、かつ基準面１０３（つまり、ＸＹ面）に垂直な第２平面（つまり、図７の紙面であり、ＸＺ面に平行な面）に沿って、第１の姿勢を回転移動させた姿勢を第２の姿勢として決定する。具体的には、姿勢決定部５８は、対象線分６４（図７参照）とカメラ１２の光軸１３とのなす角度が９０度に近づく方向に、第２平面に沿って第１の姿勢から移動角度θｗだけ回転した姿勢を第２の姿勢として決定する。
【００７１】
位置決定部５９は、対象線分６４（図７参照）のＺ座標値が算出可能なように、カメラ１２の第２の位置を決定する。具体的には、位置決定部５９は、以下の条件ａ，ｂを満たすカメラ１２の位置を第２の位置として決定する。
条件ａ：姿勢決定部５８によって決定された第２の姿勢において、対象線分６４（図７参照）の両端の２つの点６２，６３のうちＺ座標値が大きい方の点（つまり、高さ情報が高い方の点）をカメラ１２の光軸が通る。
条件ｂ：対象線分６４（図７参照）の両端の２つの点６２，６３のうちＺ座標値が大きい方の点（つまり、高さ情報が高い方の点）（基準点）から第１の位置までの距離と、当該点から第２の位置までの距離とが同じである。
【００７２】
上記のようにして、対象線分６４のＺ座標値が算出可能なように、第２の位置および第２の姿勢が決定される。対象線分６４のＺ座標値を算出可能な第２の位置および第２の姿勢にカメラ１２を配置することにより、欠損領域６０内のＺ座標値を算出できる可能性が高くなる。
【００７３】
＜Ｄ．視覚センサシステムの処理の流れ＞
図９は、視覚センサシステムの処理の流れの一例を示すフローチャートである。まずステップＳ１において、カメラ１２が第１の位置および第１の姿勢に配置される。ステップＳ２において、プロジェクタ１１は、被写体１０１にパターン光を投影する。ステップＳ３において、カメラ１２は、パターン光が投影された被写体１０１を撮像する。ステップＳ４において、計測部３０は、ステップＳ３において撮像された画像（つまり、カメラ１２が第１の位置および第１の姿勢に配置されているときの画像）を用いて、被写体１０１の表面の三次元形状（第１計測形状）を計測する。
【００７４】
次にステップＳ５において、距離画像生成部５３は、第１計測形状を示す三次元形状データから距離画像データを生成する。ステップＳ６において、ラベリング部５４は、距離画像データにラベリング処理を施す。ステップＳ７において、距離画像データで示される距離画像に欠損領域が含まれるか否かが判断される。距離画像に欠損領域が含まれない場合（ステップＳ７でＮＯ）、ステップＳ８において、合成部４０は、第１計測形状を示す三次元形状データを計測結果データとして出力する。ステップＳ８の後、視覚センサシステム１は、処理を終了する。
【００７５】
距離画像に欠損領域が含まれる場合（ステップＳ７でＹＥＳ）、ステップＳ９において、移動先決定部５２は、第１計測形状に基づいて、被写体１０１を再度撮像すべき第２の位置および第２の姿勢を決定する。
【００７６】
次にステップＳ１０において、カメラ１２が第２の位置および第２の姿勢に配置される。ステップＳ１１において、プロジェクタ１１は、被写体１０１にパターン光を投影する。ステップＳ１２において、カメラ１２は、パターン光が投影された被写体１０１を撮像する。ステップＳ１３において、計測部３０は、ステップＳ１０において撮像された画像（つまり、カメラ１２が第２の位置および第２の姿勢に配置されているときの画像）を用いて、被写体１０１の三次元形状（第２計測形状）を計測する。
【００７７】
次にステップＳ１４において、合成部４０は、第１計測形状を示す三次元形状データと第２計測形状を示す三次元形状データとを合成することにより計測結果データを生成し、生成した計測結果データを出力する。ステップＳ１４の後、視覚センサシステム１は、処理を終了する。
【００７８】
＜Ｅ．移動先決定部の処理の流れ＞
図１０は、図９における第２の位置および第２の姿勢を決定する処理（ステップＳ９）のサブルーチンを説明するフローチャートである。
【００７９】
ステップＳ２１において、対象線分決定部５５は、距離画像から抽出された欠損領域のうち、周囲の高さが最も高い欠損領域を選択する。なお、距離画像から抽出された欠損領域が１つだけである場合、対象線分決定部５５は、当該欠損領域を選択する。
【００８０】
ステップＳ２２において、対象線分決定部５５は、第１計測形状において、選択した欠損領域の周囲の２点を結ぶ対象線分を決定する。ステップＳ２３において、第１角度演算部５６は、対象線分と、第１の位置および第１の姿勢に配置されたカメラ１２の光軸に垂直な第１平面とのなす第１角度θａを演算する。ステップＳ２４において、第２角度設定部５７は、カメラ１２の特性および被写体１０１の材質に応じて第２角度θｂを設定する。
【００８１】
次にステップＳ２５において、姿勢決定部５８は、式（１）（０≦θａ−θｗ≦θｂ）を満たす移動角度θｗを用いて、カメラ１２の第２の姿勢を決定する。ステップＳ２６において、位置決定部５９は、対象線分の両端の２点のうちＺ座標値が大きい方の点（つまり、高さ情報が高い方の点）を光軸が通るように、カメラ１２の第２の位置を決定する。
【００８２】
＜Ｆ．作用・効果＞
以上のように、視覚センサシステム１の移動制御部５０は、カメラ１２が第１の位置および第１の姿勢に配置されているときの画像を用いて計測部３０により計測された第１計測形状に基づいて、被写体を再度撮像すべき第２の位置および第２の姿勢を決定する。移動制御部５０は、決定した第２の位置および第２に姿勢をロボット２０へ指示する。移動制御部５０は、第１計測形状から、高さ情報であるＺ座標値が欠損している欠損領域６０を抽出する。移動制御部５０は、第１計測形状における欠損領域６０の周囲のＺ座標値に基づいて、第２の位置および第２の姿勢を決定する。
【００８３】
欠損領域６０の周囲のＺ座標値は、欠損領域６０内の被写体１０１の三次元形状と関係している可能性が高い。そのため、欠損領域６０の周囲のＺ座標値を用いることにより、欠損領域６０内のＺ座標値を取得しやすい第２の位置および第２の姿勢を決定することができる。
【００８４】
移動制御部５０は、第１計測形状における欠損領域６０の周囲の２点６２，６３を結ぶ対象線分６４のＺ座標値が取得可能なように第２の位置および第２の姿勢を決定する。点６２と点６３とを結ぶ対象線分６４のＺ座標値を取得可能な第２の位置および第２の姿勢にカメラ１２を配置することにより、欠損領域６０内のＺ座標値を取得できる可能性が高くなる。
【００８５】
移動制御部５０は、対象線分６４と、第１の位置および第１の姿勢に配置されたカメラ１２の光軸１３に垂直な第１平面６６とのなす第１角度θａを求める。移動制御部５０は、第１角度θａと、カメラ１２の特性および被写体１０１に応じて予め定められる第２角度θｂとの差（θａ−θｂ）を、第１の姿勢から第２の姿勢への移動角度として決定する。移動制御部５０は、対象線分６４とカメラ１２の光軸１３とのなす角度が９０度に近づく方向に、対象線分６４を含み、かつ基準面１０３に垂直な第２平面に沿って第１の姿勢から移動角度θｗだけ回転した姿勢を第２の姿勢として決定する。これにより、第１の姿勢から対象線分６４のＺ座標値を算出可能な第２の姿勢への回転移動量を最小限に抑制できる。
【００８６】
対象線分６４を基準面１０３に投影した線分は、予め定められた方向（ここではＸ軸の方向）に平行である。これにより、対象線分決定部５５は、対象線分６４を決定しやすくなる。
【００８７】
＜Ｇ．変形例１＞
上記の説明では、対象線分決定部５５は、欠損領域６０の重心６１を通り、Ｘ軸方向に平行な基準線６５を用いて、対象線分６４を決定する（図６参照）。しかしながら、対象線分決定部５５による対象線分の決定方法はこれに限定されない。
【００８８】
図１１は、対象線分決定部による対象線分の決定方法の別の例を示す図である。図１１に示されるように、対象線分決定部５５は、欠損領域６０の重心６１を通り、Ｙ軸方向に平行な基準線７３を用いて、対象線分を決定してもよい。対象線分決定部５５は、基準線７３上の点から、欠損領域６０に隣接する２つの点７１，７２を選択する。点７１，７２は、距離画像における欠損領域６０の周囲の点である。対象線分決定部５５は、輝度値をＺ座標値に逆変換することにより、点７１，７２に対応するＸＹＺ座標系の２点を特定し、当該２点を結ぶ線分を対象線分として決定する。基準線７３がＹ軸方向に平行であるため、対象線分６４を基準面１０３に投影した線分は、Ｙ軸方向に平行である。
【００８９】
この場合、姿勢決定部５８は、対象線分を含み、かつ基準面１０３（つまり、ＸＹ平面）に垂直な第２平面（つまり、ＹＺ面に平行な面）に沿って、カメラ１２を回転移動させることにより、第２の姿勢を決定する。具体的には、姿勢決定部５８は、対象線分とカメラ１２の光軸とのなす角度が９０度に近づく方向に、第２平面（ＹＺ面に平行な面）に沿って第１の姿勢から移動角度θｗだけ回転した姿勢を第２の姿勢として決定する。
【００９０】
もしくは、対象線分決定部５５は、距離画像において欠損領域６０の周囲の点のうち、輝度値が最大である点７４（つまり、Ｚ座標値が最大である点）と、輝度値が最小である点７５（つまり、Ｚ座標値が最小である点）とを選択してもよい。対象線分決定部５５は、輝度値をＺ座標値に逆変換することにより、点７４，７５に対応するＸＹＺ座標系の２点を特定し、当該２点を結ぶ線分を対象線分として決定する。当該２点は、第１計測形状において欠損領域６０の周囲の点のうち、Ｚ座標値（高さ情報）が最大の点とＺ座標値が最小の点とである。
【００９１】
これにより、対象線分決定部５５は、第１の位置および第１の姿勢に配置されたカメラ１２の光軸１３に垂直な第１平面６６（図７参照）とのなす第１角度θａが最も大きい対象線分を決定することができる。その結果、カメラ１２を第２の位置および第２の姿勢に配置することにより、欠損領域６０のＺ座標値を算出できる可能性が高くなる。
【００９２】
＜Ｈ．変形例２＞
上記の説明では、位置決定部５９は、対象線分６４の両端の点６２，６３のうちＺ座標値が大きい方の点を光軸が通るように、カメラ１２の第２の位置を決定する。しかしながら、位置決定部５９は、対象線分６４の両端の点６２，６３のうちＺ座標値が小さい方の点（つまり、高さ情報が低い方の点）を光軸が通るように、カメラ１２の第２の位置を決定してもよい。もしくは、位置決定部５９は、対象線分６４の両端の点６２，６３の中点を光軸が通るように、カメラ１２の第２の位置を決定してもよい。
【００９３】
＜Ｉ．変形例３＞
第２角度設定部５７は、角度θｍａｘから予め定められたマージン角度θαだけ小さい角度（θｍａｘ−θα）を第２角度θｂとして設定してもよい。これにより、カメラ１２が第２の位置および第２の姿勢に配置されたとき、カメラ１２の光軸に垂直な平面と対象線分６４とのなす角度が角度θｍａｘよりもマージン角度θα以上小さくなる。その結果、欠損領域６０のＺ座標値を算出しやすくなる。
【００９４】
＜Ｊ．変形例４＞
上記の説明では、第１計測形状における欠損領域６０の周囲の２点を結ぶ対象線分６４のＺ座標値が算出可能なように第２の位置および第２の姿勢が決定される。しかしながら、対象線分の代わりに、第１計測形状における欠損領域６０の周囲の少なくとも３点に近似する近似平面のうち欠損領域と重なる対象領域のＺ座標値が算出可能なように第２の位置および第２の姿勢が決定されてもよい。
【００９５】
図１２および図１３を参照して、変形例４に係る視覚センサシステムについて説明する。図１２は、変形例４に係る移動制御部の内部構成を示すブロック図である。図１３は、対象領域の一例を示す図である。
【００９６】
図１２に示されるように、変形例４に係る視覚センサシステムは、図１に示す視覚センサシステム１と比較して、図５に示す移動制御部５０の代わりに図１１に示す移動制御部５０ａを備える点で相違する。移動制御部５０ａは、移動制御部５０と比較して、対象線分決定部５５、第１角度演算部５６、姿勢決定部５８および位置決定部５９の代わりに、対象領域決定部５５ａ、第１角度演算部５６ａ、姿勢決定部５８ａおよび位置決定部５９ａを備える点で相違する。
【００９７】
図１３に示されるように、対象領域決定部５５ａは、第１計測形状における欠損領域６０の周囲の少なくとも３つの点８０に近似する近似平面８１を特定する。対象領域決定部５５ａは、近似平面８１のうち欠損領域６０と重なる領域を対象領域８２として決定する。
【００９８】
第１角度演算部５６ａは、対象領域８２と、第１の位置および第１の姿勢に配置されたカメラ１２の光軸１３に垂直な第１平面６６とのなす角度を第１角度θａとして演算する。
【００９９】
姿勢決定部５８ａは、対象領域８２のＺ座標値が算出可能なように第２の姿勢を決定する。具体的には、姿勢決定部５８ａは、姿勢決定部５８と同様に、上記の式（１）を満たすθｗを、第１の姿勢から第２の姿勢への移動角度θｗとして決定する。たとえば、姿勢決定部５８ａは、第１角度θａと第２角度θｂとの差（θａ−θｂ）を移動角度θｗとして決定する。これにより、第１の姿勢から第２の姿勢への移動量を最小限に抑制できる。
【０１００】
姿勢決定部５８ａは、対象領域８２の法線８３を含み、かつ基準面１０３（つまり、ＸＹ面）に垂直な第２平面８４に沿って、第１の姿勢を回転移動させることにより、第２の姿勢を決定する。具体的には、姿勢決定部５８ａは、対象領域８２とカメラ１２の光軸１３とのなす角度が９０度に近づく方向に、第２平面８４に沿って第１の姿勢から移動角度θｗだけ回転した姿勢を第２の姿勢として決定する。
【０１０１】
位置決定部５９ａは、対象領域８２のＺ座標値が算出可能なように第２の位置を決定する。具体的には、位置決定部５９ａは、以下の条件ａ’，ｂ’を満たすカメラ１２の位置を第２の位置として決定する。
条件ａ’：姿勢決定部５８ａによって決定された第２の姿勢において、対象領域８２内の点（たとえば、対象領域８２の重心）をカメラ１２の光軸１３が通る。
条件ｂ’：対象領域８２内の点（たとえば、対象領域の重心）から第１の位置までの距離と、当該点から第２の位置までの距離とが同じである。
【０１０２】
上記のようにして、対象領域８２のＺ座標値が算出可能なように、第２の位置および第２の姿勢が決定される。対象領域８２のＺ座標値を算出可能な第２の位置および第２の姿勢にカメラ１２を配置することにより、欠損領域６０内のＺ座標値を算出できる可能性が高くなる。
【０１０３】
＜Ｋ．その他の変形例＞
移動制御部５０は、カメラ１２の光軸と中心として、取得ユニット１０を回転させてもよい。
【０１０４】
図１４は、取得ユニット１０の回転位置の例を示す図である。図１４（ａ）〜（ｃ）において、上部は側面図を示し、下部は平面図を示す。たとえば、移動制御部５０は、図１４（ｂ）に示されるように、カメラ１２の光軸１３を中心として、取得ユニットを１８０°回転させる。もしくは、移動制御部５０は、図１４（ｃ）に示されるように、カメラ１２の光軸１３を中心として、取得ユニットを９０°回転させてもよい。これにより、プロジェクタ１１からのパターン光の入射方向を変更できる。
【０１０５】
＜付記＞
以下のように、本実施の形態は、以下のような開示を含む。
【０１０６】
（構成１）
被写体（１０１）を撮像する撮像部（１２）と、
前記撮像部（１２）を指示された位置に指示された姿勢で配置する移動機構（２０）と、
前記撮像部（１２）により撮像された画像を用いて、前記被写体（１０１）の表面の三次元形状を計測する計測部（３０）と、
前記撮像部（１２）が第１の位置および第１の姿勢に配置されているときの画像を用いて前記計測部（３０）により計測された前記被写体（１０１）の三次元形状である計測形状に基づいて、前記被写体（１０１）を再度撮像すべき第２の位置および第２の姿勢を決定して、前記移動機構（２０）へ指示する移動制御部（５０）とを備え、
前記三次元形状は、基準面（１０３）からの高さ情報によって示され、
前記移動制御部（５０）は、
前記計測形状から、前記高さ情報が欠損している欠損領域（６０）を抽出し、
前記計測形状における前記欠損領域（６０）の周囲の前記高さ情報に基づいて、前記第２の位置および前記第２の姿勢を決定する、視覚センサシステム（１）。
【０１０７】
（構成２）
前記移動制御部（５０）は、前記計測形状における前記欠損領域（６０）の周囲の２点を結ぶ対象線分（６４）の高さ情報が取得可能なように前記第２の位置および前記第２の姿勢を決定する、構成１に記載の視覚センサシステム（１）。
【０１０８】
（構成３）
前記移動制御部（５０）は、
前記対象線分（６４）と、前記第１の位置および前記第１の姿勢に配置された前記撮像部（１２）の光軸に垂直な第１平面（６６）とのなす第１角度を求め、
前記第１角度と、前記撮像部（１２）の特性および前記被写体（１０１）に応じて予め定められる第２角度との差を、前記第１の姿勢から前記第２の姿勢への移動角度として決定し、
前記対象線分（６４）と前記撮像部（１２）の光軸とのなす角度が９０度に近づく方向に、前記対象線分（６４）を含み、かつ前記基準面（１０３）に垂直な第２平面に沿って前記第１の姿勢から前記移動角度だけ回転した姿勢を前記第２の姿勢として決定する、構成２に記載の視覚センサシステム（１）。
【０１０９】
（構成４）
前記対象線分（６４）を前記基準面（１０３）に投影した線分は、予め定められた方向に平行である、構成３に記載の視覚センサシステム（１）。
【０１１０】
（構成５）
前記２点の一方は、前記計測形状において、前記欠損領域（６０）の周囲のうち前記高さ情報が最大の点であり、前記２点の他方は、前記欠損領域（６０）の周囲のうち前記高さ情報が最小の点である、構成２または３に記載の視覚センサシステム（１）。
【０１１１】
（構成６）
前記移動制御部（５０）は、前記計測形状における前記欠損領域（６０）の周囲の少なくとも３点に近似する近似平面（８１）のうち前記欠損領域（６０）と重なる対象領域（８２）の高さ情報が取得可能なように前記第２の位置および前記第２の姿勢を決定する、構成２に記載の視覚センサシステム（１）。
【０１１２】
（構成７）
前記移動制御部（５０）は、
前記対象領域（８２）と、前記第１の位置および前記第１の姿勢に配置された前記撮像部（１２）の光軸に垂直な第１平面（６６）とのなす第１角度を求め、
前記第１角度と、前記撮像部（１２）の特性および前記被写体（１０１）に応じて予め定められる第２角度との差を、前記第１の姿勢から前記第２の姿勢への移動角度として決定し、
前記対象領域（８２）と前記撮像部（１２）の光軸とのなす角度が９０度に近づく方向に、前記対象領域（８２）の法線（８３）を含み、かつ前記基準面（１０３）に垂直な第２平面（８４）に沿って前記第１の姿勢から前記移動角度だけ回転した姿勢を前記第２の姿勢として決定する、構成６に記載の視覚センサシステム（１）。
【０１１３】
（構成８）
前記移動制御部（５０）は、前記２点のうち前記高さ情報が高い方の点である基準点を前記撮像部（１２）の光軸が通るように、前記第２の位置を決定する、構成２から５のいずれかに記載の視覚センサシステム（１）。
【０１１４】
（構成９）
前記移動制御部（５０）は、前記２点のうち前記高さ情報が低い方の点である基準点を前記撮像部（１２）の光軸が通るように、前記第２の位置を決定する、構成２から５のいずれかに記載の視覚センサシステム（１）。
【０１１５】
（構成１０）
前記移動制御部（５０）は、前記２点の中点である基準点を前記撮像部（１２）の光軸が通るように、前記第２の位置を決定する、構成２から５のいずれかに記載の視覚センサシステム（１）。
【０１１６】
（構成１１）
前記移動制御部（５０）は、前記対象領域内の基準点を前記撮像部（１２）の光軸が通るように、前記第２の位置を決定する、構成６または７に記載の視覚センサシステム（１）。
【０１１７】
（構成１２）
前記移動制御部（５０）は、前記基準点と前記第１の位置との距離と、前記基準点と前記第２の位置との距離とが同一となるように、前記第２の位置を決定する、構成８から１１のいずれかに記載の視覚センサシステム（１）。
【０１１８】
（構成１３）
被写体（１０１）を撮像する撮像部（１２）と、
前記撮像部（１２）を指示された位置に指示された姿勢で配置する移動機構（２０）と、
前記撮像部（１２）により撮像された画像を用いて、前記被写体（１０１）の表面の三次元形状を計測する計測部（３０）とを備えた視覚センサシステム（１）の制御方法であって、
前記三次元形状は、基準面（１０３）からの高さ情報によって示され、
前記撮像部（１２）が第１の位置および第１の姿勢に配置されているときの画像を用いて前記計測部（３０）により計測された前記被写体（１０１）の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域（６０）を抽出するステップと、
前記計測形状における前記欠損領域（６０）の周囲の前記高さ情報に基づいて、前記被写体（１０１）を再度撮像すべき第２の位置および第２の姿勢を決定するステップとを備える、制御方法。
【０１１９】
（構成１４）
被写体（１０１）を撮像する撮像部（１２）と、
前記撮像部（１２）を指示された位置に指示された姿勢で配置する移動機構（２０）と、
前記撮像部（１２）により撮像された画像を用いて、前記被写体（１０１）の表面の三次元形状を計測する計測部（３０）とを備えた視覚センサシステム（１）をサポートするためのプログラム（５０７）であって、
前記三次元形状は、基準面（１０３）からの高さ情報によって示され、
コンピュータに、
前記撮像部（１２）が第１の位置および第１の姿勢に配置されているときの画像を用いて前記計測部（３０）により計測された前記被写体（１０１）の三次元形状である計測形状から、前記高さ情報が欠損している欠損領域（６０）を抽出するステップと、
前記計測形状における前記欠損領域（６０）の周囲の前記高さ情報に基づいて、前記被写体（１０１）を再度撮像すべき第２の位置および第２の姿勢を決定するステップとを実行させる、プログラム（５０７）。
【０１２０】
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２１】
１  視覚センサシステム、１０  取得ユニット、１１  プロジェクタ、１２  カメラ、１３  光軸、１４  平面、２０  ロボット、３０  計測部、４０  合成部、５０，５０ａ  移動制御部、５１  指示値生成部、５２  移動先決定部、５３  距離画像生成部、５４  ラベリング部、５５  対象線分決定部、５５ａ  対象領域決定部、５６，５６ａ  第１角度演算部、５７  第２角度設定部、５８，５８ａ  姿勢決定部、５９，５９ａ  位置決定部、６０  欠損領域、６１  重心、６２，６３，６７，６８，７１，７２，７４，７５  点、６４  対象線分、６５，７３  基準線、６６  第１平面、８１  近似平面、８２  対象領域、８３  法線、８４  第２平面、１００  対象物、１０１  被写体、１０２  パレット、１０３  基準面、５００  バス、５０２  メインメモリ、５０３  ハードディスク、５０４  ディスプレイ、５０５  入力デバイス、５０６  通信Ｉ／Ｆ、５０７  制御プログラム。
【図１】
2019207140.tif 000003
【図２】
2019207140.tif 000004
【図３】
2019207140.tif 000005
【図４】
2019207140.tif 000006
【図５】
2019207140.tif 000007
【図６】
2019207140.tif 000008
【図７】
2019207140.tif 000009
【図８】
2019207140.tif 000010
【図９】
2019207140.tif 000011
【図１０】
2019207140.tif 000012
【図１１】
2019207140.tif 000013
【図１２】
2019207140.tif 000014
【図１３】
2019207140.tif 000015
【図１４】
2019207140.tif 000016