(57)【要約】      （修正有）【課題】計測位置を容易に設定するのに有利な計測装置を提供する。【解決手段】対象物１０６の位置又は姿勢を計測する計測装置であって、対象物を撮像して撮像画像６０１を生成する撮像部１０４と、対象物の３次元形状に関する情報を取得する取得部と、取得部で取得された情報に基づいて、撮像画像に含まれるべき対象物の画像の大きさの指標となる、対象物のモデルを表すモデル画像６０３を生成する生成部と、撮像部で生成された撮像画像に、生成部で生成されたモデル画像を重畳して表示部に表示させる制御部と、を有する。【選択図】図７
2020091126.tif 000002
【特許請求の範囲】
【請求項１】
対象物の位置又は姿勢を計測する計測装置であって、
前記対象物を撮像して撮像画像を生成する撮像部と、
前記対象物の３次元形状に関する情報を取得する取得部と、
前記取得部で取得された前記情報に基づいて、前記撮像画像に含まれるべき前記対象物の画像の大きさの指標となる、前記対象物のモデルを表すモデル画像を生成する生成部と、
前記撮像部で生成された前記撮像画像に、前記生成部で生成された前記モデル画像を重畳して表示部に表示させる制御部と、
を有することを特徴とする計測装置。
【請求項２】
前記生成部は、前記モデル画像の大きさが、前記撮像部と前記対象物との間の距離が前記計測装置の計測範囲内の距離となる状態において前記撮像部で生成される撮像画像に含まれる前記対象物の画像の大きさとなるように、前記モデル画像を生成することを特徴とする請求項１に記載の計測装置。
【請求項３】
前記計測装置の計測範囲内の距離において、前記撮像部と前記対象物との間の距離を入力する入力部を更に有し、
前記生成部は、前記モデル画像の大きさが、前記撮像部と前記対象物との距離が前記入力部で入力された距離となる状態において前記撮像部で生成される撮像画像に含まれる前記対象物の画像の大きさとなるように、前記モデル画像を生成することを特徴とする請求項１又は２に記載の計測装置。
【請求項４】
前記表示部に表示された前記撮像画像に含まれる前記対象物の画像の大きさと、当該撮像画像に重畳して表示された前記モデル画像の大きさとが一致するように、前記撮像部と前記対象物との間の距離を調整する調整部を更に有することを特徴とする請求項１乃至３のうちいずれか１項に記載の計測装置。
【請求項５】
前記生成部は、前記モデル画像の大きさが、前記撮像部と前記対象物との間の距離が前記計測装置の計測範囲内で最も大きくなる距離となる状態において前記撮像部で生成される撮像画像に含まれる前記対象物の画像の大きさとなるように、前記モデル画像を生成することを特徴とする請求項１又は２に記載の計測装置。
【請求項６】
前記入力部が入力すべき前記撮像部と前記対象物との間の距離として、ユーザの操作に応じて、前記撮像部と前記対象物との間の距離が前記計測装置の計測範囲の中点に対応する距離、前記撮像部と前記対象物との間の距離が前記計測装置の計測範囲内で最も大きくなる距離、又は、前記撮像部と前記対象物との間の距離が前記計測装置の計測範囲内で最も小さくなる距離を選択する選択部を更に有し、
前記入力部は、前記選択部で選択された距離を、前記撮像部と前記対象物の間の距離として入力することを特徴とする請求項３に記載の計測装置。
【請求項７】
前記入力部は、前記取得部で取得された前記情報から得られる前記対象物の大きさに基づいて、前記撮像部と前記対象物との間の距離を入力することを特徴とする請求項３に記載の計測装置。
【請求項８】
複数の前記対象物が積まれた状態で存在し、
前記対象物の積み高さを取得する高さ取得部を更に有し、
前記入力部は、前記撮像部と前記対象物との間の距離が前記計測装置の計測範囲内で最も大きくなる距離から前記高さ取得部で取得した前記積み高さを減算した距離を、前記撮像部と前記対象物の間の距離として入力することを特徴とする請求項３に記載の計測装置。
【請求項９】
前記制御部は、前記撮像画像に前記モデル画像を重畳する際に、前記撮像画像に対する前記モデル画像の向き及び位置の少なくとも一方を調整することを特徴とする請求項１乃至８のうちいずれか１項に記載の計測装置。
【請求項１０】
前記制御部は、前記モデル画像の大きさに応じて、前記撮像画像に重畳する前記モデル画像の位置を調整することを特徴とする請求項１乃至８のうちいずれか１項に記載の計測装置。
【請求項１１】
前記対象物の大きさと、前記撮像部と前記対象物との間の距離の上限値との対応関係を示す距離情報を記憶する記憶部を更に有し、
前記入力部は、前記記憶部に記憶された前記距離情報を参照して前記撮像部と前記対象物との間の距離を入力することを特徴とする請求項３に記載の計測装置。
【請求項１２】
前記記憶部は、前記対象物の種類ごとに前記距離情報を記憶することを特徴とする請求項１１に記載の計測装置。
【請求項１３】
前記対象物の位置又は姿勢の計測結果に基づいて、前記記憶部に記憶された前記距離情報における前記上限値を更新する更新部を更に有することを特徴とする請求項１１又は１２に記載の計測装置。
【請求項１４】
前記取得部は、前記情報として、前記対象物のＣＡＤデータを取得することを特徴とする請求項１乃至１３のうちいずれか１項に記載の計測装置。
【請求項１５】
対象物の位置又は姿勢を計測する計測装置と、前記計測装置で計測された前記対象物の位置又は姿勢に基づいて、前記対象物を把持する把持装置とを備えたシステムであって、
前記計測装置は、
前記対象物を撮像して撮像画像を生成する撮像部と、
前記対象物の３次元形状に関する情報を取得する取得部と、
前記取得部で取得された前記情報に基づいて、前記撮像画像に含まれるべき前記対象物の画像の大きさの指標となる、前記対象物のモデルを表すモデル画像を生成する生成部と、
前記撮像部で生成された前記撮像画像に、前記生成部で生成された前記モデル画像を重畳して表示部に表示させる制御部と、
を有することを特徴とするシステム。
【請求項１６】
対象物の位置又は姿勢を計測する計測装置が有する表示部に画像を表示する表示方法であって、
前記対象物を撮像して撮像画像を生成する第１工程と、
前記対象物の３次元形状に関する情報を取得する第２工程と、
前記第２工程で取得された前記情報に基づいて、前記撮像画像に含まれるべき前記対象物の画像の大きさの指標となる、前記対象物のモデルを表すモデル画像を生成する第３工程と、
前記第１工程で生成された前記撮像画像に、前記第３工程で生成された前記モデル画像を重畳して表示する第４工程と、
を有することを特徴とする表示方法。
【請求項１７】
請求項１６に記載の表示方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測装置、システム、表示方法及びプログラムに関する。
【背景技術】
【０００２】
対象物を撮像して得られる画像に基づいて対象物の位置又は姿勢（３次元位置）を計測する計測装置において、対象物に対する計測位置の設定に関する技術が提案されている（特許文献１及び２参照）。特許文献１には、ばら積みされている複数の対象物を順次計測する際に、２回目以降の計測位置を、それまでの計測結果に基づいて決定する技術が開示されている。
【０００３】
また、特許文献２には、仮想３次元空間に対象物と計測装置とを配置し、かかる配置が計測に適しているか否かをシミュレーションで評価する技術が開示されている。かかる技術では、対象物と計測装置との最適な配置をシミュレーションで得ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許３７０３４１１号公報
【特許文献２】特許５８２９３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術では、２回目以降の計測位置は自動的に設定されるが、１回目（初回）の計測位置を事前に設定する必要がある。また、特許文献２に開示された技術では、実空間において、シミュレーションで得られた配置となるように対象物と計測装置とを配置するためには、対象物の位置を計測しなければならず、計測位置を設定する必要がある。しかしながら、対象物の３次元位置を計測する計測装置において、適切な計測位置を設定する作業は、試行錯誤が必要な手間のかかる作業である。
【０００６】
本発明は、このような従来技術の課題に鑑みてなされ、計測位置を容易に設定するのに有利な計測装置を提供することを例示的目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の一側面としての計測装置は、対象物の位置又は姿勢を計測する計測装置であって、前記対象物を撮像して撮像画像を生成する撮像部と、前記対象物の３次元形状に関する情報を取得する取得部と、前記取得部で取得された前記情報に基づいて、前記撮像画像に含まれるべき前記対象物の画像の大きさの指標となる、前記対象物のモデルを表すモデル画像を生成する生成部と、前記撮像部で生成された前記撮像画像に、前記生成部で生成された前記モデル画像を重畳して表示部に表示させる制御部と、を有することを特徴とする。
【０００８】
本発明の更なる目的又はその他の側面は、以下、添付図面を参照して説明される好ましい実施形態によって明らかにされるであろう。
【発明の効果】
【０００９】
本発明によれば、例えば、計測位置を容易に設定するのに有利な計測装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一側面としてのシステムの構成を示す概略図である。
【図２】撮像部の構成の一例を示す概略図である。
【図３】マスクのパターンの画像の一例を示す概略図である。
【図４】ワークの位置姿勢を計測する計測処理を説明するためのフローチャートである。
【図５】計測処理部のハードウエア構成の一例を示すブロック図である。
【図６】計測装置の計測範囲を説明するための図である。
【図７】本実施形態における計測位置の設定を説明するための図である。
【図８】計測処理部の機能構成を示すブロック図である。
【図９】計測位置の設定に関する表示制御処理を説明するためのフローチャートである。
【図１０】モデル画像と表示部の表示画面との位置関係を説明するための図である。
【図１１】ワークの大きさと、撮像部とワークとの間の距離の上限値との対応関係を示す距離情報の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の好適な実施の形態について説明する。なお、各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【００１２】
図１は、本発明の一側面としてのシステム１の構成を示す概略図である。システム１は、工業製品の組立工程などにおいて、把持対象の物品であるワーク（対象物）１０６を把持（ピッキング）する機能を有する。システム１は、例えば、パレット１０７に不規則にばら積みされたワーク１０６を把持する。本実施形態では、パレット１０７において、複数のワーク１０６が積まれた状態で存在し、システム１は、順次、ワーク１０６を把持してパレット１０７から取り出す機能を有する。
【００１３】
システム１は、ロボットアーム１０１と、ハンド１０２と、ロボット制御部１０３と、撮像部１０４と、計測処理部１０５とを有する。システム１において、撮像部１０４及び計測処理部１０５は、ワーク１０６の位置又は姿勢（以下、「位置姿勢」と称する）を計測する計測装置として機能する。また、システム１において、ロボットアーム１０１、ハンド１０２及びロボット制御部１０３は、計測装置で計測されたワーク１０６の位置又は姿勢に基づいてワーク１０６を把持する把持装置として機能する。
【００１４】
撮像部１０４は、ロボットアーム１０１の先端に設けられたハンド１０２に取り付けられている。ロボット制御部１０３は、ロボットアーム１０１を制御して、パレット１０７にばら積みされたワーク１０６が計測装置の計測範囲に収まるような計測位置に、ハンド１０２によって撮像部１０４を移動させる（計測位置を設定する）。本実施形態では、後述するように、かかる計測位置を容易に設定することが可能となる。
【００１５】
ロボット制御部１０３は、計測処理部１０５に対して、ワーク１０６の位置姿勢の計測を指示する計測指示を送信する。この際、ロボット制御部１０３は、ハンド１０２の位置姿勢も計測処理部１０５に送信する。
【００１６】
計測処理部１０５は、ロボット制御部１０３からの計測指示を受信すると、撮像部１０４を制御して、撮像部１０４にワーク１０６を撮像させる。そして、計測処理部１０５は、撮像部１０４で生成された撮像画像と、ロボット制御部１０３から受信したハンド１０２の位置姿勢とに基づいて、ワーク１０６の位置姿勢を求める。また、計測処理部１０５は、ワーク１０６の位置姿勢をロボット制御部１０３に送信する。
【００１７】
ロボット制御部１０３は、計測処理部１０５から受信したワーク１０６の位置姿勢に基づいてロボットアーム１０１を制御し、ワーク１０６をハンド１０２で把持してパレット１０７から取り出す。
【００１８】
システム１では、上述した処理を、パレット１０７にばら積みされたワーク１０６がなくなるまで繰り返す。なお、計測処理部１０５は、撮像部１０４に組み込まれ、撮像部１０４と一体で計測装置を構成してもよい。また、計測処理部１０５は、ロボット制御部１０３に組み込まれ、ロボット制御部１０３の一部を構成してもよい。
【００１９】
図２は、撮像部１０４の構成の一例を示す概略図である。撮像部１０４は、ワーク１０６を撮像して撮像画像を生成する。撮像部１０４は、本実施形態では、投影部２０１と、濃淡画像用の光源２０２と、画像取得部２０３とを含む。
【００２０】
投影部２０１は、パターン画像用の光源２０４と、マスク２０５と、投影レンズ２０６とを含み、光源２０４からの第１波長の光でマスク２０５を照明し、投影レンズ２０６を介して、マスク２０５のパターン像をワーク１０６に投影する。第１波長の光は、本実施形態では、青色の光であり、光源２０４は、例えば、青色のＬＥＤを含む。光源２０２は、第１波長とは異なる第２波長の光でワーク１０６を照明する。第２波長の光は、本実施形態では、赤色の光であり、光源２０２は、例えば、赤色のＬＥＤを含む。
【００２１】
画像取得部２０３は、分光プリズム２０７と、結像レンズ２０８と、パターン画像用の撮像センサ２０９と、濃淡画像用の撮像センサ２１０とを含む。分光プリズム２０７は、ワーク１０６からの光（反射光）を第１波長の光と第２波長の光とに分割する。分光プリズム２０７は、本実施形態では、青色の光（第１波長の光）を透過し、赤色の光（第２波長の光）を反射するダイクロイックプリズムを含む。結像レンズ２０８は、ワーク１０６の像を各撮像センサ上に形成する。撮像センサ２０９及び２１０は、ＣＭＯＳやＣＣＤなどの２次元センサを含む。撮像センサ２０９は、ワーク１０６からの第１波長の光を検出してワーク１０６のパターン画像を出力する。撮像センサ２１０は、ワーク１０６からの第２波長の光を検出してワーク１０６の濃淡画像を出力する。
【００２２】
図３は、マスク２０５のパターンの画像、即ち、ワーク１０６に投影されるパターンの画像（マスク画像）８００の一例を示す概略図である。マスク２０５は、本実施形態では、ラインが等間隔に配列されたラインパターンを有し、かかるラインパターンの各ラインにはドットが離散的に配列されている。このようなマスク２０５のマスク画像８００は、図３に示すように、マスク２０５のラインパターンのラインに対応するライン（ライン画像）８０１と、マスク２０５の各ラインに配列されたドットに対応するドット（ドット画像）８０２とを含む。
【００２３】
本実施形態では、マスク画像８００を用いた公知のドットライン法によって、ワーク１０６の点群データを取得する。点群データとは、ワーク１０６の表面上の点に対応する３次元座標の集合である。ドットライン法では、ワーク１０６のパターン画像からドットを抽出し、かかるドットとマスク画像８００のドット８０２との対応付け（ドットの対応付け）を行い、ドットの対応付けの結果に基づいてラインの対応付けを行う。換言すれば、パターン画像に含まれるラインパターンの各ラインが、マスク画像８００の何番目のライン８０１に対応するのかを求める。そして、パターン画像に含まれるラインパターンのライン上の各点に対応する、マスク画像上の点の位置を求め、両方の画像の対応する点の位置関係から、３角測量の原理に基づいて３次元座標を求める。
【００２４】
図４は、本実施形態のシステム１（計測装置）において、ワーク１０６の位置姿勢を計測する計測処理を説明するためのフローチャートである。Ｓ３０１において、撮像部１０４は、ワーク１０６を撮像して撮像画像を生成する。具体的には、撮像部１０４は、撮像画像として、ワーク１０６のパターン画像及び濃淡画像を生成する。
【００２５】
Ｓ３０２において、計測処理部１０５は、ドットライン法を用いて、Ｓ３０１で生成したパターン画像からワーク１０６の点群データを求める。Ｓ３０３において、計測処理部１０５は、公知のキャニー法を用いて、Ｓ３０１で生成した濃淡画像からワーク１０６のエッジデータを求める。
【００２６】
Ｓ３０４において、計測処理部１０５は、ワーク１０６の位置姿勢の初期値を設定する。Ｓ３０５において、計測処理部１０５は、ステップ３０４で設定した位置姿勢でワーク１０６のポリゴンモデルを生成する。計測処理部１０５は、ワーク１０６のＣＡＤデータを予め取得し、かかるＣＡＤデータに基づいてワーク１０６のポリゴンモデルを生成する。
【００２７】
Ｓ３０６において、計測処理部１０５は、Ｓ３０５で生成したワーク１０６のポリゴンモデルと、Ｓ３０２で求めたワーク１０６の点群データ及びＳ３０３で求めたワーク１０６のエッジデータとの対応度（相関度）を求める。対応度は、点群データに関しては、例えば、点群データを構成する各点とポリゴンモデルの表面との間の距離が短いほど値が大きくなるような評価式を用いて求める。また、対応度は、エッジデータに関しては、例えば、ポリゴンモデルから生成される仮想エッジ画像とエッジデータに対応するエッジ画像との重複領域が大きいほど値が大きくなるような評価式を用いて求める。なお、仮想エッジ画像は、仮想３次元空間にポリゴンモデル及び濃淡画像用の撮像センサを配置し、ポリゴンモデルを撮像センサに射影して生成する。また、エッジ画像に対して膨張処理を施してエッジを太らせた上で重複領域を求めるとよい。
【００２８】
Ｓ３０７において、計測処理部１０５は、最良対応度、及び、最良対応度に対応するワーク１０６の位置姿勢を更新する。最良対応度は、十分に小さい値に予め設定する。Ｓ３０６で求めた対応度が最良対応度よりも大きければ、最良対応度をＳ３０６で求めた対応度に更新する。更に、最良対応度に対応するワーク１０６の位置姿勢を、現在のワーク１０６の位置姿勢に更新する。
【００２９】
Ｓ３０８において、計測処理部１０５は、ワーク１０６の位置姿勢として想定される全ての位置姿勢に対して対応度を求めたかどうかを判定する。全ての位置姿勢に対して対応度を求めていない場合には、Ｓ３０９に移行する。一方、全ての位置姿勢に対して対応度を求めている場合には、Ｓ３１０に移行する。
【００３０】
Ｓ３０９において、計測処理部１０５は、ワーク１０６の位置姿勢として、新たな位置姿勢を設定し、Ｓ３０５に移行する。Ｓ３１０において、計測処理部１０５は、ワーク１０６の位置姿勢として、最良対応度に対応するワーク１０６の位置姿勢を出力する。
【００３１】
図５は、計測処理部１０５のハードウエア構成の一例を示すブロック図である。計測処理部１０５は、例えば、コンピュータ（情報処理装置）で構成される。計測処理部１０５は、マイクロプロセッサ（ＣＰＵ）４０１と、ランダムアクセスメモリなどのメモリ４０２と、キーボードなどの入力部４０３と、ハードディスクドライブなどの記憶部４０４とを含む。また、計測処理部１０５は、撮像部１０４との間の通信インタフェース（以下、「撮像Ｉ／Ｆ」と称する）４０５と、ロボット制御部１０３との間の通信インタフェース（以下、「ＲＣＩ／Ｆ」と称する）４０６とを含む。更に、計測処理部１０５は、表示部４０８との間の通信インタフェース（以下、「ビデオＩ／Ｆ」と称する）４０７を含む。
【００３２】
ＣＰＵ４０１は、メモリ４０２に格納されたプログラムに従って種々の処理を実行する。また、ＣＰＵ４０１は、本実施形態では、後述するように、ワーク１０６に対する撮像部１０４（計測装置）の計測位置を設定するための表示処理を実行する。かかる表示処理のためのプログラムは、記憶部４０４に記憶されていてもよいし、外部装置（不図示）から供給されてもよい。
【００３３】
計測処理部１０５（ＣＰＵ４０１）は、撮像Ｉ／Ｆ４０５を介して、露光光量や露光時間などの撮像条件を撮像部１０４に送信する。また、計測処理部１０５は、撮像Ｉ／Ｆ４０５を介して、撮像部１０４に対してワーク１０６の撮像を指示するとともに、撮像部１０４で生成された画像を受信（取得）する。
【００３４】
計測処理部１０５（ＣＰＵ４０１）は、ＲＣＩ／Ｆ４０６を介して、ロボット制御部１０３からワーク１０６の位置姿勢の計測を指示する計測指示を受信するとともに、ワーク１０６の位置姿勢（計測結果）をロボット制御部１０３に送信する。
【００３５】
計測処理部１０５（ＣＰＵ４０１）は、ビデオＩ／Ｆ４０７を介して、表示部４０８に種々の情報を表示する。本実施形態では、計測処理部１０５は、計測位置の設定を容易にするために、撮像部１０４で生成された撮像画像に、ワーク１０６のモデルを表すモデル画像を重畳して表示部４０８に表示させる。
【００３６】
図６（ａ）、図６（ｂ）及び図６（ｃ）は、計測装置の計測範囲を説明するための図である。図６（ａ）は、計測装置の計測範囲を模式的に示している。図６（ａ）に示す四角錐台は、計測範囲５０１を示している。ワーク１０６を撮像して得られる撮像画像に基づいてワーク１０６の位置姿勢を計測する計測装置では、ワーク１０６が撮像部１０４の焦点位置から大きく離れて配置されると、ワーク１０６がぼやけて撮像され、ワーク１０６の位置姿勢の計測精度が低下する。
【００３７】
そこで、このような計測装置では、ワーク１０６の位置姿勢を好適に計測するための、撮像部１０４（計測装置）とワーク１０６との間の距離、図６（ａ）では、距離Ｌｎから距離Ｌｆの範囲が計測範囲５０１として定められている。このように、計測範囲５０１とは、撮像部１０４によって、ワーク１０６の位置姿勢を要求精度で求めることが可能な撮像画像が得られる範囲である。以下では、計測範囲５０１において、撮像部１０４に近い方の端をニア端と称し、ニア端と撮像部１０４との間の距離Ｌｎを最小計測距離と称する。同様に、計測範囲５０１において、撮像部１０４から遠い方の端をファー端と称し、ファー端と撮像部１０４との間の距離Ｌｆを最大計測距離と称する。また、ワーク１０６が最も鮮明に撮像されるときの撮像部１０４とワーク１０６との間の距離、即ち、計測範囲５０１（距離Ｌｎから距離Ｌｆの範囲）の中点に対応する距離Ｌｂを最良計測距離と称する。なお、本実施形態では、最良計測距離を計測範囲５０１の中点としているが、計測範囲５０１の中点に限らず、任意の位置（距離）を最良計測距離とすることができる。例えば、撮像部１０４の焦点位置に対応する距離Ｌｂを最良計測距離としてもよい。
【００３８】
図６（ｂ）は、ワーク１０６がニア端に位置する、即ち、撮像部１０４とワーク１０６との間の距離が最小計測距離Ｌｎとなる状態において撮像部１０４で生成される撮像画像を模式的に示している。図６（ｃ）は、ワーク１０６がファー端に位置する、即ち、撮像部１０４とワーク１０６との間の距離が最大計測距離Ｌｂとなる状態において撮像部１０４で生成される撮像画像を模式的に示している。図６（ｂ）及び図６（ｃ）に示すように、撮像部１０４とワーク１０６との間の距離によって、撮像画像に含まれるワーク１０６の画像の大きさは変化する。
【００３９】
計測位置の設定は、ワーク１０６が計測範囲５０１に収まるように、撮像部１０４（計測装置）の位置又はワーク１０６の位置を設定する、即ち、撮像部１０４とワーク１０６との間の距離を調整する工程を意味する。ワーク１０６が計測範囲５０１に収まっているかどうかの確認は、ワーク１０６の点群データを求め、ワーク１０６に対応する点の３次元座標が計測範囲５０１に収まっているかどうかを確認することで行われる。従って、ワーク１０６が計測範囲５０１に収まっているかどうかを確認するためには、ワーク１０６を撮像することに加えて、点群データを求める必要がある。ワーク１０６に対応する点が得られない、或いは、ワーク１０６に対応する点が得られても計測範囲外である場合を考える。この場合、撮像部１０４とワーク１０６との間の距離が最小計測距離Ｌｎよりも小さい状態、或いは、撮像部１０４とワーク１０６との間の距離が最大計測距離Ｌｂよりも大きい状態であるため、計測位置を再度設定する必要がある。換言すれば、ワーク１０６が計測範囲５０１に収まるまで、撮像部１０４とワーク１０６との間の距離の調整と、ワーク１０６が計測範囲５０１に収まっているかどうかの確認を繰り返さなければならない。
【００４０】
図７（ａ）、図７（ｂ）及び図７（ｃ）を参照して、本実施形態における計測位置の設定について説明する。図７（ａ）は、撮像部１０４（計測装置）とワーク１０６との位置関係を模式的に示している。ロボットアーム１０１を制御することによって、パレット１０７にばら積みされたワーク１０６が計測範囲５０１に収まるように、ハンド１０２に取り付けられた撮像部１０４の位置を調整する。
【００４１】
図７（ｂ）及び図７（ｃ）は、撮像部１０４とワーク１０６との位置関係が図７（ａ）に示す位置関係である場合に、計測装置の表示部４０８に表示される画像の一例を模式的に示している。本実施形態では、図７（ｂ）及び図７（ｃ）に示すように、撮像部１０４で生成された撮像画像６０１に、ワーク１０６のモデル画像６０３を重畳して表示部４０８に表示する。モデル画像６０３は、撮像画像６０１に含まれるべきワーク１０６の画像の大きさの指標となる画像である。モデル画像６０３は、ワーク１０６が計測範囲内の距離に位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさで表示する。例えば、ワーク１０６が最良計測距離Ｌｂに位置する、即ち、撮像部１０４とワーク１０６との間の距離が最良計測距離Ｌｂとなる状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさでモデル画像６０３を表示する。
【００４２】
図７（ｂ）は、撮像部１０４とワーク１０６との間の距離が最良計測距離Ｌｂよりも長い場合に、表示部４０８に表示される画像を示している。撮像部１０４とワーク１０６との間の距離が最良計測距離Ｌｂよりも長いため、撮像画像６０１に含まれるワーク１０６の画像の大きさは、モデル画像６０３の大きさよりも小さい。
【００４３】
図７（ｃ）は、撮像部１０４とワーク１０６との間の距離が最良計測距離Ｌｂである場合に、表示部４０８に表示される画像を示している。この場合、撮像画像６０１に含まれるワーク１０６の画像の大きさは、モデル画像６０３の大きさに一致する。
【００４４】
従って、本実施形態では、表示部４０８に表示される撮像画像６０１に含まれるワーク１０６の画像の大きさが、撮像画像６０１に重畳して表示されたモデル画像６０３の大きさと一致するように、撮像部１０４とワーク１０６との間の距離を調整する。これにより、撮像部１０４とワーク１０６との間の距離を最良計測距離Ｌｂに容易に設定することが可能となる。例えば、ユーザは、表示部４０８に表示された画像（撮像画像６０１及びモデル画像６０３）を観察しながら、ロボットアーム１０１を制御して、撮像部１０４（計測装置）を図７（ａ）に示す矢印の方向に移動させる。なお、表示部４０８に表示された撮像画像６０１に含まれるワーク１０６の画像の大きさと、撮像画像６０１に重畳して表示されたモデル画像６０３の大きさとが一致するように、撮像部１０４とワーク１０６との間の距離を自動で調整してもよい。本実施形態では、ロボットアーム１０１を撮像部１０４とワーク１０６との間の距離を調整する調整部として機能させているが、これに限定されるものではない。例えば、ワーク１０６がばら積みされたパレット１０７を移動させる可動ステージなどを撮像部１０４とワーク１０６との間の距離を調整する調整部としてもよいし、かかる可動ステージ及びロボットアーム１０１の両方を調整部としてもよい。
【００４５】
このように、本実施形態によれば、計測位置の設定において、ワーク１０６の点群データを求めることが不要となり、計測位置の設定を繰り返すこともなくなる。また、計測位置を設定している間、撮像部１０４はワーク１０６を連続的に撮像し、リアルタイム又は低遅延で撮像画像６０１を表示部４０８に表示するとよい（即ち、表示部４０８に表示される撮像画像６０１を動画にするとよい）。
【００４６】
図８は、計測処理部１０５の機能構成を示すブロック図である。計測処理部１０５は、計測処理部１０５の各部を制御して種々の処理を実行する制御部７０１を含む。制御部７０１は、形状情報取得部７０２を制御して、ワーク１０６のＣＡＤデータなどの３次元形状に関する情報を外部から取得する。また、制御部７０１は、撮像制御部７１２を制御して、ワーク１０６の濃淡画像及びパターン画像を取得し、画像格納部７０３に格納する。
【００４７】
また、制御部７０１は、エッジ取得部７０４を制御して、ワーク１０６の濃淡画像からワーク１０６のエッジデータを取得（抽出）する。同様に、制御部７０１は、点群データ取得部７０５を制御して、ワーク１０６のパターン画像からワーク１０６の点群データを取得（演算）する。
【００４８】
制御部７０１は、位置姿勢取得部７０６を制御して、形状情報取得部７０２で取得した３次元形状情報と、エッジ取得部７０４で取得したエッジデータと、点群データ取得部７０５で取得した点群データとに基づいて、ワーク１０６の位置姿勢を取得（演算）する。また、制御部７０１は、位置姿勢取得部７０６で取得したワーク１０６の位置姿勢を、ＲＣ通信部７１１を介して、ロボット制御部１０３に送信する。
【００４９】
制御部７０１は、計測位置を設定する際に、計測距離入力部７０７を制御して、計測装置に設定すべき撮像部１０４（計測装置）とワーク１０６との間の距離（例えば、最良計測距離Ｌｂ）を入力する。また、制御部７０１は、モデル画像生成部７０８を制御して、モデル画像６０３を生成する。具体的には、モデル画像６０３の大きさが、ワーク１０６が計測距離入力部７０７で入力した距離に位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する。
【００５０】
制御部７０１は、重畳部７０９を制御して、撮像制御部７１２を介して取得した撮像画像６０１に、モデル画像生成部７０８で生成したモデル画像６０３を重畳する。また、制御部７０１は、表示制御部７１３を介して、撮像画像６０１と、重畳部７０９で撮像画像６０１に重畳したモデル画像６０３とを表示部４０８に表示する。
【００５１】
図９は、本実施形態において、計測位置の設定に関する表示制御処理（表示方法）を説明するためのフローチャートである。かかる表示制御処理は、計測処理部１０５の上述した各部で実行される。
【００５２】
Ｓ１１０１において、形状情報取得部７０２は、ワーク１０６の３次元形状に関する情報を取得する（第２工程）。Ｓ１１０２において、計測距離入力部７０７は、計測装置の計測範囲内の距離において、撮像部１０４とワーク１０６との間の距離を入力する。例えば、撮像部１０４とワーク１０６との間の距離として、最良計測距離Ｌｂを入力する。
【００５３】
Ｓ１１０３において、モデル画像生成部７０８は、Ｓ１１０１で取得されたワーク１０６の３次元形状に関する情報に基づいて、ワーク１０６のモデルを表すモデル画像６０３を生成する（第３工程）。上述したように、モデル画像６０３の大きさが、ワーク１０６がＳ１１０２で入力した距離に位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する。
【００５４】
Ｓ１１０４において、撮像制御部７１２は、撮像部１０４でワーク１０６を撮像して撮像画像６０１を生成する（第１工程）。Ｓ１１０５において、重畳部７０９及び表示制御部７１３は、Ｓ１１０４で生成された撮像画像６０１に、Ｓ１１０３で生成されたモデル画像６０３を重畳して表示部４０８に表示する（第４工程）。
【００５５】
Ｓ１１０６において、制御部７０１は、計測位置の設定が完了しているかどうかを判定する。計測位置の設定が完了していない場合には、Ｓ１１０４に移行する。一方、計測位置の設定が完了している場合には、表示制御処理を終了する。
【００５６】
このように、本実施形態では、撮像部１０４で生成される撮像画像６０１に含まれるべきワーク１０６の画像の大きさの指標となるモデル画像６０３を、撮像画像６０１に重畳して表示する。従って、表示部４０８に表示される撮像画像６０１に含まれるワーク１０６の画像の大きさが、撮像画像６０１に重畳して表示されたモデル画像６０３の大きさと一致するように、撮像部１０４とワーク１０６との間の距離を調整することが可能となる。これにより、計測位置の設定において、ワーク１０６の点群データを求めることなく、また、計測位置の設定を繰り返すことなく、計測位置を容易に設定することができる。
【００５７】
これまでは、モデル画像６０３の大きさが、ワーク１０６が最良計測距離Ｌｂに位置する際に生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する場合について説明した。この場合、撮像画像６０１に含まれるワーク１０６の画像の大きさがモデル画像６０３の大きさと一致するように、撮像部１０４とワーク１０６との間の距離を調整することで、かかる距離を最良計測距離Ｌｂに設定することができる。但し、撮像部１０４とワーク１０６との間の距離は、最良計測距離Ｌｂに限らず、計測範囲内であれば、最小計測距離Ｌｎから最大計測距離Ｌｆまでの範囲の任意の距離であってもよい。
【００５８】
例えば、広い視野が必要な場合には、撮像部１０４とワーク１０６との間の距離を最大計測距離Ｌｆに設定してもよい。この場合、計測距離入力部７０７は、撮像部１０４とワーク１０６との間の距離として、最大計測距離Ｌｆを入力する。そして、モデル画像生成部７０８は、モデル画像６０３の大きさが、ワーク１０６が最大計測距離Ｌｆに位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する。
【００５９】
また、ワーク１０６を大きく撮像することが適切である場合には、撮像部１０４とワーク１０６との間の距離を最小計測距離Ｌｎに設定してもよい。そして、モデル画像生成部７０８は、モデル画像６０３の大きさが、ワーク１０６が最小計測距離Ｌｎに位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する。
【００６０】
また、計測処理部１０５は、計測距離入力部７０７が入力すべき撮像部１０４とワーク１０６との間の距離として、ユーザの操作に応じて、最良計測距離Ｌｂ、最大計測距離Ｌｆ、又は、最小計測距離Ｌｎを選択する選択部を含んでいてもよい。この場合、計測距離入力部７０７は、撮像部１０４とワーク１０６との間の距離として、選択部で選択された距離を入力する。そして、モデル画像生成部７０８は、モデル画像６０３の大きさが、ワーク１０６が選択部で選択された距離に位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する。
【００６１】
また、計測距離入力部７０７は、計測範囲内において、撮像部１０４とワーク１０６との間の距離を外部から入力できるように構成してもよい。この場合にも、モデル画像生成部７０８は、モデル画像６０３の大きさが、ワーク１０６が入力した距離に位置する状態において撮像部１０４で生成される撮像画像６０１に含まれるワーク１０６の画像の大きさとなるように、モデル画像６０３を生成する。
【００６２】
また、パレット１０７にばら積みされたワーク１０６を取り出すシステム１では、ワーク１０６の取り出しに伴って、パレット１０７の底面に最も遠いワーク１０６の位置が変化していく。このような場合、パレット１０７の底面にあるワーク１０６も計測範囲５０１に収まるように計測位置を設定するとよい。具体的には、計測距離入力部７０７は、ワーク１０６の積み高さを取得し、以下の式（１）に示すように、最大計測距離Ｌｆからワーク１０６の積み高さを減算した距離を、撮像部１０４とワーク１０６との間の距離として入力する。
【００６３】
（最大計測距離Ｌｆ）−（ワーク１０６の積み高さ）      ・・・（１）
なお、本実施形態では、計測距離入力部７０７をワーク１０６の積み高さを取得する高さ取得部として機能させているが、計測処理部１０５は、計測距離入力部７０７とは別に、ワーク１０６の積み高さを取得する高さ取得部を含んでいてもよい。
【００６４】
また、計測距離入力部７０７は、形状情報取得部７０２で取得されたワーク１０６の３次元形状に関する情報から得られるワーク１０６の大きさに基づいて、撮像部１０４とワーク１０６との間の距離を入力してもよい。例えば、計測距離入力部７０７は、撮像部１０４とワーク１０６との間の距離として、ワーク１０６の全体が撮像画像６０１に収まるような距離を入力する。
【００６５】
また、計測距離入力部７０７は、複数のワーク１０６が撮像画像６０１に収まるように、撮像部１０４とワーク１０６との間の距離として、ワーク１０６の全体が視野の１／ｎを占めるような距離を入力してもよい。この場合にも、撮像部１０４とワーク１０６との間の距離が計測範囲５０１（最小計測距離Ｌｎから最大計測距離Ｌｆまでの範囲）に収まるようにする。例えば、ワーク１０６の全体が撮像画像６０１の１／ｎを占めるような距離が最大計測距離Ｌｆよりも長い場合には、撮像部１０４とワーク１０６との間の距離として、最大計測距離Ｌｆを設定する。
【００６６】
また、重畳部７０９は、撮像画像６０１にモデル画像６０３を重畳する際に、撮像画像６０１に対するモデル画像６０３の向き及び位置の少なくとも一方を調整（変更）してもよい。例えば、重畳部７０９は、マウスなどの入力デバイスの操作に応じて、モデル画像６０３の向きや位置を調整する。この場合、撮像画像６０１に含まれるワーク１０６の画像の向きや位置と、モデル画像６０３の向きや位置とを一致させることが可能となるため、撮像画像６０１に含まれるワーク１０６の画像とモデル画像６０３の大きさの比較が容易になる。
【００６７】
重畳部７０９は、モデル画像生成部７０８で生成されるモデル画像６０３の大きさに応じて、撮像画像６０１に重畳するモデル画像６０３の位置を自動で調整してもよい。図１０（ａ）、図１０（ｂ）及び図１０（ｃ）は、モデル画像９０１と、モデル画像９０１を表示する表示部４０８の表示画面４０８ａとの位置関係を説明するための図である。図１０（ａ）、図１０（ｂ）及び図１０（ｃ）は、箱状のパレットを表すモデル画像９０１を表示画面４０８ａに表示している様子を示している。
【００６８】
図１０（ａ）は、モデル画像９０１の全体が表示画面４０８ａに収まる場合におけるモデル画像９０１の位置を示している。図１０（ａ）では、表示画面４０８ａの中央にモデル画像９０１が表示されている。換言すれば、表示画面４０８ａの中心とモデル画像９０１の中心Ａとが一致するように、モデル画像９０１を表示する。
【００６９】
図１０（ｂ）は、モデル画像９０１の一部だけが表示画面４０８ａに収まる場合におけるモデル画像９０１の位置を示している。図１０（ａ）と同様に、表示画面４０８ａの中心とモデル画像９０１の中心Ａとが一致するようにモデル画像９０１を表示すると、モデル画像９０１の外郭Ｂが表示されないため、モデル画像９０１の位置や姿勢を容易に認識することができない。
【００７０】
そこで、モデル画像９０１の一部だけが表示画面４０８ａに収まる場合には、図１０（ｃ）に示すように、モデル画像９０１の外郭Ｂが表示画面４０８ａに表示されるように、モデル画像９０１の位置を調整する。換言すれば、表示画面４０８ａの中心からモデル画像９０１の中心Ａをオフセットさせてモデル画像９０１を表示する。これにより、モデル画像９０１の外郭Ｂが表示画面４０８ａに表示されるため、モデル画像９０１の位置や姿勢を容易に認識することができる。
【００７１】
また、計測処理部１０５は、ワーク１０６の大きさと、撮像部１０４とワーク１０６との間の距離の上限値との対応関係を示す距離情報を示す距離情報を記憶する記憶部を含んでいてもよい。この場合、計測距離入力部７０７は、ワーク１０６のそれぞれに対して必要なデータ数の点群データが得られるように、記憶部に記憶された距離情報を参照して、撮像部１０４とワーク１０６との間の距離を入力する。ワーク１０６に関して得られる点群データのデータ数（点の数）は、撮像画像６０１に含まれるワーク１０６の画像の大きさに依存する。撮像画像６０１に含まれるワーク１０６の画像の大きさが小さいと、得られる点群データのデータ数が少なく、計測精度が低下する。撮像部１０４とワーク１０６との間の距離が大きくなると、撮像画像６０１に含まれるワーク１０６の画像の大きさが小さくなる。従って、ワーク１０６の大きさに応じて、撮像部１０４とワーク１０６との間の距離の上限値を設定し、十分なデータ数の点群データが得られるように、撮像部１０４とワーク１０６との間の距離を設定するとよい。
【００７２】
図１０（ａ）は、ワーク１０６の大きさと、撮像部１０４とワーク１０６との間の距離の上限値との対応関係を示す距離情報の一例を示している。図１０（ａ）に示す距離情報は、撮像部１０４とワーク１０６との間の距離の上限値との対応関係を示すテーブルである。なお、ワーク１０６の大きさと、撮像部１０４とワーク１０６との間の距離の上限値との対応関係は、テーブルに限定されるものではなく、数式で示してもよい。ワーク１０６の大きさには、例えば、ワーク１０６を内包する直方体の各辺の長さのうち最短の長さを適用する。撮像部１０４とワーク１０６との間の距離の上限値は、大きさが異なるワーク１０６のそれぞれについて、必要なデータ数が得られる最小の距離を調べることで設定する。図１０（ｂ）は、ワーク１０６の大きさＳ１、Ｓ２及びＳ３のそれぞれと、最大計測距離Ｌｆ及び最小計測距離Ｌｎ（計測範囲５０１）との関係を示す図である。
【００７３】
計測位置を設定する際には、まず、形状情報取得部７０２で取得されたワーク１０６の３次元形状に関する情報に基づいて、ワーク１０６の大きさを求める。また、上述した距離情報を参照して、撮像部１０４とワーク１０６との間の距離の上限値を取得する。
【００７４】
ワーク１０６の大きさがＳ１よりも小さい場合には、必要な計測精度が得られない可能性があることを、例えば、表示部４０８に警告表示のダイアログを表示することでユーザに通知する。なお、最小計測距離Ｌｎに対応する大きさのモデル画像６０３を警告用の色で表示してもよい。モデル画像６０３を警告用の色で表示することで、十分な計測精度でワーク１０６の位置姿勢を計測できないかもしれないことをユーザに通知する。
【００７５】
また、ワーク１０６の大きさがＳ２よりも小さい場合には、撮像部１０４とワーク１０６との間の距離の上限値がＬ２である。従って、撮像部１０４とワーク１０６との間の距離を、Ｌ２よりも短く、ＬｎからＬ２までの範囲の距離に収まるように設定する。
【００７６】
また、ワーク１０６の大きさがＳ３よりも大きい場合には、撮像部１０４とワーク１０６との間の距離を、最小計測距離Ｌｎから最大計測距離Ｌｆまでの範囲の距離で設定することが可能である。但し、広い視野が得られるように、撮像部１０４とワーク１０６との間の距離を上限値、即ち、Ｌｆに設定するとよい。
【００７７】
また、撮像部１０４とワーク１０６との間の距離の上限値が最良計測距離Ｌｂよりも大きい場合には、撮像部１０４とワーク１０６との間の距離をＬｂに設定してもよい。一方、撮像部１０４とワーク１０６との間の距離の上限値が最良計測距離Ｌｂよりも小さい場合には、撮像部１０４とワーク１０６との間の距離を上限値に設定する。これにより、ワーク１０６が大きい場合には、最良計測距離Ｌｂでワーク１０６の位置姿勢を計測することができ、ワーク１０６が小さい場合には、必要なデータ数の点群データが得られる距離でワーク１０６の位置姿勢を計測することができる。
【００７８】
また、ワーク１０６の大きさと、撮像部１０４とワーク１０６との間の距離の上限値との対応関係を示す距離情報は、ワーク１０６の種類ごとに記憶してもよい。更に、計測処理部１０５は、ワーク１０６の位置姿勢の計測結果に基づいて、記憶部に記憶された距離情報における上限値を更新する更新部を含んでいてもよい。例えば、ワーク１０６の位置姿勢の計測の結果、点群データのデータ数が必要なデータ数に満たなかった場合には、かかるワーク１０６に関して記憶部に記憶されている距離情報における上限値を、現在の値よりも小さい値に更新する。一方、ワーク１０６の位置姿勢の計測の結果、点群データのデータ数が必要以上に多かった場合には、かかるワーク１０６に関して記憶部に記憶されている距離情報における上限値を、現在の値よりも大きい値に更新する。
【００７９】
本実施形態では、ワーク１０６のパターン画像からワーク１０６の点群データを取得する場合について説明したが、撮像画像を用いた他の方法で点群データを取得してもよい。例えば、ステレオカメラを用いてもよい。また、ワーク１０６に投影するパターンもラインパターンに限定されず、正弦パターンやランダムパターンを投影してもよい。
【００８０】
本実施形態では、ワーク１０６の濃淡画像を取得する場合について説明したが、濃淡画像の代わりに、カラー画像、赤外画像、分光画像を取得してもよい。また、ワーク１０６の位置姿勢を求める方法は、ポリゴンモデルと、点群データ及びエッジデータとの対応度に基づく方法に限定されるものではない。例えば、テンプレートマッチング法、ニューラルネットワークを用いる方法、ＩＣＰアルゴリズムを用いる方法などの公知の方法を用いてワーク１０６の位置姿勢を求めてもよい。
【００８１】
本発明は、上述の実施形態の１つ以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１つ以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。例えば、本発明は、本実施形態の計測装置を有するロボットして実現することも可能であり、かかるロボットを利用したワーク取り出し装置や組立装置として実現することも可能である。また、本発明は、本実施形態の計測装置の機能を実現するロボット制御装置として実現することも可能である。
【符号の説明】
【００８３】
１：システム    １０１：ロボットアーム    １０２：ハンド    １０３：ロボット制御部    １０４：撮像部    １０５：計測処理部    １０６：ワーク
【図１】
2020091126.tif 000003
【図２】
2020091126.tif 000004
【図３】
2020091126.tif 000005
【図４】
2020091126.tif 000006
【図５】
2020091126.tif 000007
【図６】
2020091126.tif 000008
【図７】
2020091126.tif 000009
【図８】
2020091126.tif 000010
【図９】
2020091126.tif 000011
【図１０】
2020091126.tif 000012
【図１１】
2020091126.tif 000013