(57)【要約】【課題】バラ積み状態のワークであっても、バラ積み状態のワークであっても、３Ｄピッキングの実質的な性能を落とすことなく高速に３Ｄピッキングできるようにロボットのピッキング動作を制御することが可能な画像処理装置、画像処理方法、及びコンピュータプログラムを提供する。【解決手段】ワークごとの三次元データをワークモデルとして登録しておく。バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得し、取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における三次元計測データの近似曲面を生成する。生成された近似曲面又は近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する。特定されたワーク領域に対して、登録されているワークモデルを用いて三次元サーチ処理を実行する。【選択図】図５
2018146347.tif 000002
【特許請求の範囲】
【請求項１】
バラ積みされたワークを把持し、把持されたワークを所定位置まで移動させるロボットのピッキング動作を制御する画像処理装置において、
前記ワークごとの三次元データをワークモデルとして登録するワークモデル登録部と、
バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得するセンシング部と、
三次元計測により取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における前記三次元計測データの近似曲面を生成する近似曲面生成部と、
生成された近似曲面又は前記近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する領域特定部と、
特定されたワーク領域に対して、登録されている前記ワークモデルを用いて三次元サーチ処理を実行し、前記作業空間内における前記ワークの位置及び姿勢を特定するサーチ処理実行部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記センシング部は、
前記作業空間内のワークを撮像して画像データを取得するワーク撮像部と、
撮像して取得された画像データに基づいて、前記三次元サーチ処理の対象となる前記作業空間内における前記ワークの三次元データを三次元計測データとして抽出する三次元データ抽出部と
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記オフセット量の入力を受け付けるオフセット量入力受付部を有し、
前記ワークの形状に応じて、前記オフセット量を変更することができることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
バラ積みされたワークを把持し、把持されたワークを所定位置まで移動させるロボットのピッキング動作を制御する画像処理装置で実行することが可能な画像処理方法において、
前記画像処理装置は、
前記ワークごとの三次元データをワークモデルとして登録する工程と、
バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得する工程と、
三次元計測により取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における前記三次元計測データの近似曲面を生成する工程と、
生成された近似曲面又は前記近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する工程と、
特定されたワーク領域に対して、登録されている前記ワークモデルを用いて三次元サーチ処理を実行し、前記作業空間内における前記ワークの位置及び姿勢を特定する工程と
を含むことを特徴とする画像処理方法。
【請求項５】
前記画像処理装置は、
前記作業空間内のワークを撮像して画像データを取得する工程と、
撮像して取得された画像データに基づいて、前記三次元サーチ処理の対象となる前記作業空間内における前記ワークの三次元データを三次元計測データとして抽出する工程と
を含むことを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記画像処理装置は、
前記オフセット量の入力を受け付ける工程を含み、
前記ワークの形状に応じて、前記オフセット量を変更することができることを特徴とする請求項４又は５に記載の画像処理方法。
【請求項７】
バラ積みされたワークを把持し、把持されたワークを所定位置まで移動させるロボットのピッキング動作を制御する画像処理装置で実行することが可能なコンピュータプログラムにおいて、
前記画像処理装置を、
前記ワークごとの三次元データをワークモデルとして登録するワークモデル登録手段、
バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得するセンシング手段、
三次元計測により取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における前記三次元計測データの近似曲面を生成する近似曲面生成手段、
生成された近似曲面又は前記近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する領域特定手段、及び
特定されたワーク領域に対して、登録されている前記ワークモデルを用いて三次元サーチ処理を実行し、前記作業空間内における前記ワークの位置及び姿勢を特定するサーチ処理実行手段
として機能させることを特徴とするコンピュータプログラム。
【請求項８】
前記センシング手段を、
前記作業空間内のワークを撮像して画像データを取得するワーク撮像手段、及び
撮像して取得された画像データに基づいて、前記三次元サーチ処理の対象となる前記作業空間内における前記ワークの三次元データを三次元計測データとして抽出する三次元データ抽出手段
として機能させることを特徴とする請求項７に記載のコンピュータプログラム。
【請求項９】
前記画像処理装置を、前記オフセット量の入力を受け付けるオフセット量入力受付手段として機能させ、
前記ワークの形状に応じて、前記オフセット量を変更することができることを特徴とする請求項７又は８に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バラ積み状態のワークであっても、正確に３Ｄピッキングできるようにロボットのピッキング動作を制御することが可能な画像処理装置、画像処理方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
工場において、ロボットによるピッキング動作を自動的に行うことができるように、３Ｄピッキングの技術が開発されている。例えば３Ｄ−ＣＡＤ上でロボットの把持部を移動させることにより、ロボットの把持部をワークの把持対象の部位へと誘導し、ワークとロボットの把持部との位置関係を検出して登録しておく。これにより、ロボットの把持部をワークを把持することが可能な位置へと確実に移動制御することができる。
【０００３】
一方、３Ｄピッキングで必要となる三次元サーチ処理は、ワークの取り得る姿勢の自由度が高く、従来の二次元データに対するサーチ処理に比べて探索範囲が大幅に増加するため、単純に全ての領域に対して三次元サーチ処理を実行すると処理時間が増大する。三次元サーチ処理の処理時間を削減するためには、探索範囲を限定する必要がある。
【０００４】
三次元データを用いて、三次元サーチ処理の探索範囲を限定する方法として、例えば特許文献１では、一定の閾値以上の高さを有する部分画像を検出して、検出された部分画像に含まれるワークに限定して画像処理を実行する方法が開示されている。特許文献１の方法によって、バラ積み状態のワークの中から一定以上の高さを有するワークに限定して三次元サーチ処理を実行することにより、対象となるワークを限定して三次元サーチ処理を実行することができるため、三次元サーチ処理の処理時間の増加を抑制することができ、高速な三次元サーチ処理が可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１６８３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示されている方法では、一定以上の高さを有するワークを固定した閾値で探索範囲を限定して画像処理を実行するので、バラ積みされたワークの偏り方によっては、不適切な探索範囲の限定がなされ、本来優先的にピッキングされるべきワークを検出することができないおそれがあるという問題点があった。例えば、より探索範囲を限定するために閾値を高めに設定した場合には、優先的にピッキングされるべきワークの一部が除外されたり、ワークが丸ごと除外されてしまうおそれが生じる。
【０００７】
一方、優先的にピッキングされるべきワークを全て抽出できるように閾値を低めに設定した場合には、探索範囲を限定する効果が少なくなり、三次元サーチ処理の処理時間の増大を抑制することができないという問題点があった。また、バラ積みされたワークの下積み部分まで三次元サーチ処理の探索範囲とする場合には、ピッキング動作における干渉の発生、あるいは形状の一部が隠れることによるワークの姿勢の誤検出等の可能性が高いワークも、すべて三次元サーチ処理の対象になってしまうという問題点も生じる。
【０００８】
本発明は斯かる事情に鑑みてなされたものであり、バラ積み状態のワークであっても、ピッキング動作において干渉しやすく、また姿勢も誤検出しやすいワークを効果的に除外することで、３Ｄピッキングの実質的な性能を落とすことなく高速に３Ｄピッキングできるようにロボットのピッキング動作を制御することが可能な画像処理装置、画像処理方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために第１発明に係る画像処理装置は、バラ積みされたワークを把持し、把持されたワークを所定位置まで移動させるロボットのピッキング動作を制御する画像処理装置において、前記ワークごとの三次元データをワークモデルとして登録するワークモデル登録部と、バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得するセンシング部と、三次元計測により取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における前記三次元計測データの近似曲面を生成する近似曲面生成部と、生成された近似曲面又は前記近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する領域特定部と、特定されたワーク領域に対して、登録されている前記ワークモデルを用いて三次元サーチ処理を実行し、前記作業空間内における前記ワークの位置及び姿勢を特定するサーチ処理実行部とを備えることを特徴とする。
【００１０】
また、第２発明に係る画像処理装置は、第１発明において、前記センシング部は、前記作業空間内のワークを撮像して画像データを取得するワーク撮像部と、撮像して取得された画像データに基づいて、前記三次元サーチ処理の対象となる前記作業空間内における前記ワークの三次元データを三次元計測データとして抽出する三次元データ抽出部とを備えることが好ましい。
【００１１】
また、第３発明に係る画像処理装置は、第１又は第２発明において、前記オフセット量の入力を受け付けるオフセット量入力受付部を有し、前記ワークの形状に応じて、前記オフセット量を変更することができることが好ましい。
【００１２】
次に、上記目的を達成するために第４発明に係る画像処理方法は、バラ積みされたワークを把持し、把持されたワークを所定位置まで移動させるロボットのピッキング動作を制御する画像処理装置で実行することが可能な画像処理方法において、前記画像処理装置は、前記ワークごとの三次元データをワークモデルとして登録する工程と、バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得する工程と、三次元計測により取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における前記三次元計測データの近似曲面を生成する工程と、生成された近似曲面又は前記近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する工程と、特定されたワーク領域に対して、登録されている前記ワークモデルを用いて三次元サーチ処理を実行し、前記作業空間内における前記ワークの位置及び姿勢を特定する工程とを含むことを特徴とする。
【００１３】
また、第５発明に係る画像処理方法は、第４発明において、前記画像処理装置は、前記作業空間内のワークを撮像して画像データを取得する工程と、撮像して取得された画像データに基づいて、前記三次元サーチ処理の対象となる前記作業空間内における前記ワークの三次元データを三次元計測データとして抽出する工程とを含むことが好ましい。
【００１４】
また、第６発明に係る画像処理方法は、第４又は第５発明において、前記画像処理装置は、前記オフセット量の入力を受け付ける工程を含み、前記ワークの形状に応じて、前記オフセット量を変更することができることが好ましい。
【００１５】
次に、上記目的を達成するために第７発明に係るコンピュータプログラムは、バラ積みされたワークを把持し、把持されたワークを所定位置まで移動させるロボットのピッキング動作を制御する画像処理装置で実行することが可能なコンピュータプログラムにおいて、前記画像処理装置を、前記ワークごとの三次元データをワークモデルとして登録するワークモデル登録手段、バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得するセンシング手段、三次元計測により取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における前記三次元計測データの近似曲面を生成する近似曲面生成手段、生成された近似曲面又は前記近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定する領域特定手段、及び特定されたワーク領域に対して、登録されている前記ワークモデルを用いて三次元サーチ処理を実行し、前記作業空間内における前記ワークの位置及び姿勢を特定するサーチ処理実行手段として機能させることを特徴とする。
【００１６】
また、第８発明に係るコンピュータプログラムは、第７発明において、前記センシング手段を、前記作業空間内のワークを撮像して画像データを取得するワーク撮像手段、及び撮像して取得された画像データに基づいて、前記三次元サーチ処理の対象となる前記作業空間内における前記ワークの三次元データを三次元計測データとして抽出する三次元データ抽出手段として機能させることが好ましい。
【００１７】
また、第９発明に係るコンピュータプログラムは、第７又は第８発明において、前記画像処理装置を、前記オフセット量の入力を受け付けるオフセット量入力受付手段として機能させ、前記ワークの形状に応じて、前記オフセット量を変更することができることが好ましい。
【００１８】
第１発明、第４発明及び第７発明では、ワークごとの三次元データをワークモデルとして登録しておく。バラ積みされたワークが搭載されている作業空間を三次元計測して三次元計測データを取得し、取得した三次元計測データに平滑化機能を有するフィルタ処理を施し、高さ方向における三次元計測データの近似曲面を生成する。生成された近似曲面又は近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面よりも高い位置に存在するワークを示す領域であるワーク領域を特定し、特定されたワーク領域に対して、登録されているワークモデルを用いて三次元サーチ処理を実行して、作業空間内におけるワークの位置及び姿勢を特定する。これにより、ロボットの把持対象として検出されることが困難であったバラ積み時に下方に位置するワークについては、三次元サーチ処理の対象から除外することができるので、三次元サーチ処理の探索範囲を限定的にすることができ、演算処理負荷を軽減することが可能となる。また、ワークがピッキングされる都度近似曲面を再生成することにより、ピッキングによるバラ積み状態の変動に追随して最適なワーク領域を特定することが可能となる。さらに、バラ積み状態の偏り等に起因して、特にバラ積み時に下方に位置するワークに顕著な、姿勢の誤認識についても、改善効果が期待できる。
【００１９】
第２発明、第５発明及び第８発明では、作業空間内のワークを撮像して画像データを取得し、撮像して取得された画像データに基づいて、三次元サーチ処理の対象となる作業空間内におけるワークの三次元データを三次元計測データとして抽出するので、高価な三次元形状センサを用いることなく、作業空間内におけるワークのバラ積み状態を三次元計測データとして取得することが可能となる。
【００２０】
第３発明、第６発明及び第９発明では、オフセット量の入力を受け付け、ワークの形状に応じて、オフセット量を変更することができるので、ピッキング対象とすることが可能なワークがワーク領域から消えない範囲で、可能な限りワーク領域を小さくするよう調整することができ、ワークの姿勢の誤認識を生じさせずに演算処理負荷を最小限に抑制することが可能となる。
【発明の効果】
【００２１】
本発明によれば、ロボットの把持対象として検出されることが困難であったバラ積み時に下方に位置するワークについては、三次元サーチ処理の対象から除外することができるので、三次元サーチ処理の探索範囲を限定的にすることができ、演算処理負荷を軽減することが可能となる。また、ワークがピッキングされる都度近似曲面を再生成することにより、ピッキングによるバラ積み状態の変動に追随して最適なワーク領域を特定することが可能となる。さらに、バラ積み状態の偏り等に起因して、特にバラ積み時に下方に位置するワークに顕著な、姿勢の誤認識についても、改善効果が期待できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態に係る画像処理装置を用いた、ピッキングシステムの構成例を示すブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図３】本発明の実施の形態に係る画像処理装置の撮像部の構成を示す例示図である。
【図４】本発明の実施の形態に係る画像処理装置のＣＰＵのピッキング動作用のデータ設定処理の手順を示すフローチャートである。
【図５】本発明の実施の形態に係る画像処理装置で三次元サーチ処理の対象となるワークの例示図である。
【図６】本発明の実施の形態に係る画像処理装置のＣＰＵのＣＡＤデータを用いたワークモデル登録処理の手順を示すフローチャートである。
【図７】本発明の実施の形態に係る画像処理装置のＣＡＤデータを用いたワークの高さ画像の例示図である。
【図８】本発明の実施の形態に係る画像処理装置のワークモデルの特徴点抽出の例示図である。
【図９】本発明の実施の形態に係る画像処理装置の機能ブロック図である。
【図１０】従来の閾値による探索範囲の限定方法を用いた場合の、ワークの把持対象となる部位の抽出方法を説明するための三次元イメージ図である。
【図１１】本発明の実施の形態に係る画像処理装置の近似空間の生成方法の説明図である。
【図１２】本発明の実施の形態に係る画像処理装置の近似曲面のオフセット高さを説明するための模式断面図である。
【図１３】本発明の実施の形態に係る画像処理装置におけるワークの三次元サーチ処理の結果の例示図である。
【図１４】本発明の実施の形態に係る画像処理装置のＣＰＵの実測データを用いたピッキング処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態に係る画像処理装置について、図面に基づいて具体的に説明する。本実施の形態では、ロボットのピッキング動作において、ロボットの把持部の動作の制御に用いている。
【００２４】
図１は、本発明の実施の形態に係る画像処理装置を用いた、ピッキングシステムの構成例を示すブロック図である。画像処理装置１には、バラ積みされたワーク等を撮像する撮像部２がセンシング部として接続されており、キーボード１１１及びマウス１１２等の入力装置で画像処理の設定を行い、表示装置１１３で設定や動作状態の確認を行うことができる。
【００２５】
図２は、本発明の実施の形態に係る画像処理装置１の構成を示すブロック図である。図２に示すように、本実施の形態に係る画像処理装置１は、少なくともＣＰＵ１１、メモリ１２、ハードディスク等の記憶装置１３、Ｉ／Ｏインタフェース１４、ビデオインタフェース１５、通信インタフェース１６、可搬型ディスクドライブ１７及び上述したハードウェアを接続する内部バス１８で構成されている。
【００２６】
ＣＰＵ１１は、内部バス１８を介して画像処理装置１の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置１３に記憶しているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ１２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。
【００２７】
記憶装置１３は、内蔵される固定型記憶装置（ハードディスク）、ＲＯＭ等で構成されている。記憶装置１３に記憶しているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体９０から、可搬型ディスクドライブ１７によりダウンロードされ、実行時には記憶装置１３からメモリ１２へ展開して実行される。もちろん、通信インタフェース１６を介してネットワークに接続されている外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００２８】
Ｉ／Ｏインタフェース１４は、キーボード１１１、マウス１１２等の入力装置と接続され、データの入力を受け付ける。また、ビデオインタフェース１５は、ＣＲＴモニタ、ＬＣＤ等の表示装置１１３と接続され、画像処理装置１の設定データ、ロボットの動作状態等を表示する。
【００２９】
通信インタフェース１６は内部バス１８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、ロボットコントローラ４、撮像部２、外部のコンピュータ等とデータ送受信することが可能となっている。
【００３０】
図１に戻って、撮像部２は、作業空間内にバラ積みされたワークを三次元的に撮像する。図３は、本発明の実施の形態に係る画像処理装置１の撮像部２の構成を示す例示図である。
【００３１】
図３に示すように、本実施の形態に係る撮像部２は、１個のプロジェクタ２１を中心として、前後左右方向に１基ずつ、合計４基のカメラ２２ａ〜２２ｄを備えている。これにより、バラ積みされたワークの状態によらず、死角を作ることなく作業空間内におけるワークそれぞれの位置及び姿勢を検出するための三次元データを取得することができる。もちろん、カメラ２２の数は少なくとも２基以上備えていれば足り、プロジェクタ２１を除いたカメラ２２だけの構成でも三次元データを生成することができる。
【００３２】
本実施の形態では、プロジェクタ２１は、バラ積み状態のワークの位置及び姿勢を検出するために、縞状の縞パターンを投光する。縞パターンを投光することにより、複数のカメラ２２それぞれで撮像された画像データのうち、どこが同一の画素であるかを特定することが可能となる。プロジェクタ２１は、ワークがバラ積み状態で積載される作業空間の上方に配置されていることが好ましい。
【００３３】
プロジェクタ２１の光源は、例えば白色光を出射するハロゲンランプ、白色光を出射する白色ＬＥＤ（発光ダイオード）等であれば良い。出射口の近傍に、図示しないパターン生成部を備え、縞パターンを生成する。パターン生成部としては、例えばＤＭＤ（デジタルマイクロミラーデバイス）、ＬＣＯＳ（登録商標）（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  ｏｎ  Ｓｉｌｉｃｏｎ：反射型液晶素子)、マスク等であれば良い。
【００３４】
カメラ２２ａ〜２２ｄは、プロジェクタ２１を中心として、前後左右方向の４か所に配置されている。カメラ２２ａ〜２２ｄは、例えばモノクロＣＣＤ（電荷結合素子）、ＣＭＯＳ（相補性金属酸化膜半導体）イメージセンサ等の撮像素子を備えている。撮像素子の画素ごとに受光量に対応する受光信号が出力される。そして、受光信号に基づいて画像が生成される。
【００３５】
図１に戻って、画像処理装置１はロボットの動作を制御するロボットコントローラ４とデータ通信することが可能に接続されている。画像処理装置１で生成された動作信号は、ロボットコントローラ４においてロボット５の動作信号に変換され、ロボット５の動作及びロボット５の把持部５０の動作を制御する。
【００３６】
なお、ロボットコントローラ４にはペンダント６がデータ通信することが可能に接続されており、ロボットの動作に関する設定データの入力を受け付ける。
【００３７】
以上の構成のピッキングシステムの動作について説明する。図４は、本発明の実施の形態に係る画像処理装置１のＣＰＵ１１のピッキング動作用のデータ設定処理の手順を示すフローチャートである。図４に示すように、画像処理装置１のＣＰＵ１１は、三次元サーチ処理の対象となるワークＷのワークモデルを登録しておく（ステップＳ４０１）。
【００３８】
ＣＰＵ１１は、ロボット５の把持部５０のモデルを登録する（ステップＳ４０２）。把持部５０の形状だけでなく、どの部分で把持するか、どの方向で把持するか等に関する情報も同時に登録しておくことが好ましい。
【００３９】
ＣＰＵ１１は、ロボット５の把持部５０の選択を受け付ける（ステップＳ４０３）。実際のロボット５で用いられている把持部５０を特定するためである。ＣＰＵ１１は、三次元サーチ処理の対象となるワークＷを把持するときのロボット５の把持部５０の位置及び姿勢を登録する（ステップＳ４０４）。
【００４０】
ＣＰＵ１１は、把持する対象となるワークＷのすべての箇所について、ロボット５の把持部５０の位置及び姿勢を登録した旨のユーザ入力を受け付けたか否かを判断する（ステップＳ４０５）。ＣＰＵ１１が、登録した旨のユーザ入力を受け付けていないと判断した場合（ステップＳ４０５：ＮＯ）、ＣＰＵ１１は、処理をステップＳ４０３へ戻し、上述した処理を繰り返す。ＣＰＵ１１が、登録した旨のユーザ入力を受け付けたと判断した場合（ステップＳ４０５：ＹＥＳ）、ＣＰＵ１１は、処理を終了する。
【００４１】
そして、登録されたワークモデルに基づいて、作業空間を撮像した画像データを三次元サーチ処理することにより、把持対象となる部位を検出する。
【００４２】
ワークモデルを登録する場合、本実施の形態では、ＣＡＤデータを用いて三次元サーチ処理の対象となるワークモデルを登録して、三次元サーチ処理を実行する。
【００４３】
本実施の形態では、後述する特徴点を抽出する処理を、ワークモデルに対して事前に行っておく。そして、作業空間を撮像した三次元データの中で、ワークモデルの各特徴点のＸＹＺ座標値が一定以上合致する状態の位置姿勢を、三次元サーチ処理によって求める。座標値が合致しているか否かは、特徴点と最近傍にある三次元データが、一定の閾値以内の距離にあるかどうかで判断することができる。
【００４４】
そして、ワークモデルに含まれる全特徴点に対する、合致した特徴点の存在比率をスコア化し、位置姿勢と共に算出したスコア値を三次元サーチ処理の結果として算出する。スコア値が一定以下のサーチ結果を除外する、あるいはスコア値が高い順に把持対象とすることにより、三次元サーチ処理の結果の妥当性を考慮しながら、確実にワークＷを把持することができるようロボット５の把持部５０を誘導することができる。
【００４５】
図５は、本発明の実施の形態に係る画像処理装置１で三次元サーチ処理の対象となるワークの例示図である。以下、図５に示す形状のワーク（シャフトホルダ）Ｗをバラ積みする場合を例に挙げて説明するが、ワークＷの形状がこれに限定されないことは言うまでもない。
【００４６】
本実施の形態では、ワークモデルの登録として、ＣＡＤデータを用いて登録しているが、特にこれに限定する必要はない。図６は、本発明の実施の形態に係る画像処理装置１のＣＰＵ１１のＣＡＤデータを用いたワークモデル登録処理（ステップＳ４０１）の手順を示すフローチャートである。
【００４７】
図６において、画像処理装置１のＣＰＵ１１は、ワークＷのＣＡＤデータを読み出し（ステップＳ６０１）、ワークＷの外接直方体の中心をモデル座標系の原点として設定する（ステップＳ６０２）。
【００４８】
ＣＰＵ１１は、六面図に相当する高さ画像を生成する（ステップＳ６０３）。具体的には、正面図、背面図、平面図、底面図、右側面図、左側面図のそれぞれについて高さ画像を生成する。
【００４９】
図７は、本発明の実施の形態に係る画像処理装置１のＣＡＤデータを用いたワークＷの高さ画像の例示図である。図７（ａ）は、図５に示すＺ軸の＋側から見た高さ画像（平面図）を、図７（ｂ）は、図５に示すＺ軸の−側から見た高さ画像（底面図）を、図７（ｃ）は、図５に示すＸ軸の＋側から見た高さ画像（右側面図）を、図７（ｄ）は、図５に示すＸ軸の−側から見た高さ画像（左側面図）を、図７（ｅ）は、図５に示すＹ軸の＋側から見た高さ画像（背面図）を、図７（ｆ）は、図５に示すＹ軸の−側から見た高さ画像（正面図）を、それぞれ示している。図７（ａ）〜図７（ｆ）は、座標軸の原点をＣＡＤデータの外接直方体の中心としている。高さは、Ｘ軸、Ｙ軸、Ｚ軸それぞれの座標値として表すことができる。
【００５０】
図６に戻って、ＣＰＵ１１は、生成した高さ画像のうち、同一の高さ画像を削除する（ステップＳ６０４）。例えばワークが円柱形である場合、長方形に見える正面図、背面図、右側面図、左側面図が一致し、環状に見える平面図、底面図が一致するので、正面図と平面図とを残して残りを削除する。ＣＰＵ１１は、残った高さ画像をワークモデルとして記憶装置１３に記憶（登録）する（ステップＳ６０５）。
【００５１】
なお、ワークモデルは、特徴点の集合として生成されることが好ましい。特徴点とは、三次元サーチ処理において必要な特徴を示す三次元座標を持つ点を意味しており、例えば形状の輪郭を表す輪郭上の特徴点、表面形状を表す表面上の特徴点の２種類の特徴点で構成されていれば良い。
【００５２】
図８は、本発明の実施の形態に係る画像処理装置１のワークモデルの特徴点抽出の例示図である。図８（ａ）は、ワークＷの平面図における特徴点抽出の例示図であり、図８（ｂ）は、ワークＷのモデル座標系を含む特徴点抽出の３Ｄ表示の例示図である。
【００５３】
例えば図８（ａ）に示すように、輪郭上の特徴点１３１は、高さが大きく変化する部分等のエッジ抽出を行い、さらに細線化処理した部分を一定間隔で抽出している。また、表面上の特徴点１３２は、ワークモデルの表面を一定間隔で抽出している。したがって、３Ｄ表示すると図８（ｂ）のようになる。
【００５４】
図９は、本発明の実施の形態に係る画像処理装置１の機能ブロック図である。図９において、センシング部１００１は、バラ積みされたワークＷが搭載されている作業空間を、例えば撮像部２を介して、三次元計測して三次元計測データを取得する。本実施の形態では、センシング部１００１は、ワーク撮像部１００２及び三次元データ抽出部１００３を備えている。
【００５５】
ワーク撮像部１００２は、作業空間内のワークＷを撮像部２で撮像して画像データを取得する。三次元データ抽出部１００３は、撮像して取得された画像データに基づいて、三次元サーチ処理の対象となる作業空間内におけるワークＷの三次元データを抽出して三次元計測データとする。
【００５６】
ワークモデル登録部１００４は、ワークＷのＣＡＤデータに基づいて上述した方法でワークモデルとして記憶装置１３に登録する。登録されたワークモデルを用いて三次元サーチ処理を実行する。近似曲面生成部１００５は、三次元計測により取得した三次元計測データに基づいて、高さ方向における三次元計測データの近似曲面を生成する。
【００５７】
ここで、三次元計測データを用いた従来の探索範囲の限定方法は、近似曲面を生成することなく、高さ方向の閾値を定めておき、閾値以上の高さを有する部位に限定して画像処理を実行していた。すなわち、閾値以上の高さを有する部位に限定して三次元サーチ処理を実行するので、閾値以上の高さを有する部位を把持対象として抽出する結果となる。図１０は、従来の閾値による探索範囲の限定方法を用いた場合の、ワークＷの把持対象となる部位の抽出方法を説明するための三次元イメージ図である。図１０（ａ）は、撮像部２で撮像された画像データを３Ｄ表示した例示図であり、図１０（ｂ）は、撮像された画像データから高さ方向の閾値以上の高さを有する部位のみを抽出して表示した例示図である。
【００５８】
図１０（ａ）に示すように、複数のワークがバラ積みされている場合、ワーク６１、６２、６３のようにそれぞれのワークの上方に他のワークが存在せず、把持された場合であっても他のワークと干渉しにくいワークが存在する。把持対象としては、こういうワーク（部位）を優先して抽出しておきたい。
【００５９】
しかし、従来のように高さ方向の閾値で一定の高さ以上であるか否かで抽出すると、図１０（ｂ）に示すように、ワーク６２はそのまま抽出されているものの、ワーク６１については抽出されずに把持対象から除外されている。また、ワーク６３については、高さ方向の閾値より低い部位が存在するため、その部位が欠けて表示されている。したがって、ワークのバラ積み状態によっては、本来は把持対象とするべきワークが抽出されない、抽出される部位に欠損が生じる等、不適切な抽出状態となるおそれがあった。
【００６０】
一方、優先的にピッキングされるべきワークを全て抽出できるように閾値を低めに設定した場合には、探索範囲を限定する効果が少なくなり、三次元サーチ処理の処理時間の増大を抑制することができない。また、バラ積みされたワークの下積み部分まで三次元サーチ処理の探索範囲とする場合には、ピッキング動作における干渉の発生、あるいは形状の一部が隠れることによるワークの姿勢の誤検出等の可能性が高いワークも、すべて三次元サーチ処理の対象になってしまうという問題点も生じていた。
【００６１】
そこで、本実施の形態では、バラ積みされている状態のワークＷについて、三次元計測データに基づいて近似曲面を生成し、近似曲面より上方に位置するワークＷを把持対象として抽出する。すなわち、図９において領域特定部１００７は、生成された近似曲面（又は後述する、近似曲面を高さ方向に一定のオフセット量だけオフセットしたオフセット曲面）よりも高い位置に存在するワークを示す領域であるワーク領域を特定する。特定されたワーク領域に存在するワークが、三次元サーチ処理の対象となり、最終的にロボット５の把持部５０の把持対象となる。
【００６２】
本実施の形態では、近似曲面を以下の方法で決定する。図１１は、本発明の実施の形態に係る画像処理装置１の近似空間の生成方法の説明図である。いずれも三次元計測データに基づいた高さ画像を表しており、明度が明るい部分ほど高い部位であることを示している。図１１（ａ）に示すように、まず作業空間を撮像した画像データを取得する。バラ積みされたワークのすべてが画像データに含まれている。
【００６３】
次に、取得した画像データを画像縮小した状態で、フィルタ処理を実行する。本実施の形態ではメディアンフィルタを用いているが、とくにこれに限定されるものではない。例えば広範囲にわたってガウシアンフィルタを用いても良いし、一般的な平均化フィルタを用いても良い。
【００６４】
フィルタ処理実行後の画像データを拡大（補間）することにより、図１１（ｂ）のように全体がボケて見えるような画像に変換される。これが近似曲面である。つまり、本実施の形態では、近似曲面として曲面の数式等を求めるものではなく、数式を求める場合と比べて曲面の数式の定義が不要となるので、煩雑な処理が不要となる。ただし、近似曲面を求める方法は特にこれに限定する必要はなく、規定した数式を用いることで近似曲面を定義することもできる。
【００６５】
そして、近似曲面よりも高い位置に存在するワークを示す領域を抽出対象となるワーク領域として特定する。これにより、ワーク領域に存在するワークが図１１（ｃ）に示すように表示される。つまり、ワーク６２はそのまま抽出されていることは変わらないが、ワーク６１についても除外されずに表示されている。また、ワーク６３についても欠けている部位はなく、ワーク６３全体が表示されている。したがって、バラ積みされたワークの下方部等、把持対象として不適切なワークを除外しながら、ワーク自身の上方に他のワークが存在しない等の優先的に抽出したいワークを確実に抽出することが可能となる。
【００６６】
なお、画像縮小の比率、フィルタ処理のサイズについては、三次元サーチ処理の対象となるワークＷの大きさに基づいて変更すれば良い。例えばワークのサイズが大きい場合には、画像縮小の比率を上げたり、フィルタ処理のサイズを大きくすることが好ましい。逆にワークのサイズが小さい場合には、画像縮小に比率を下げたり、フィルタ処理のサイズを小さくすることが好ましい。これにより、ワークのサイズが大きい場合には、より広い範囲の三次元計測データを参照して近似曲面を求めることができ、ワークのサイズが小さい場合には、狭い範囲の三次元計測データを参照して近似曲面を求めることができる。したがって、把持対象となるワークを抽出するのに適した近似曲面を生成することができる。
【００６７】
また、生成した近似曲面を一定量だけ高さ方向にオフセットしても良い。オフセット量を調整することにより、バラ積みされたワークの下方部等、把持対象として不適切なワークのデータを、どの程度把持対象から除外するかを調整することができる。図１２は、本発明の実施の形態に係る画像処理装置１の近似曲面のオフセット高さを説明するための模式断面図である。
【００６８】
図１２（ａ）に示すように、バラ積みされたワークＷに対して仮想的な近似曲面８１が求まる。ここで、ワークＷの上方の太破線は、撮像部２により三次元計測されたデータが示す位置を意味している。つまり、三次元計測データとして視認することが可能な部分を示している。
【００６９】
図１２（ａ）の状態では、ワークが載置されている底面Ｆは近似曲面上に位置するため、底面Ｆは除外されずに三次元サーチ処理の対象に含まれてしまう。本来処理が不要な対象が三次元サーチ処理の探索範囲に含まれてしまうため、処理時間が無駄にかかる結果となってしまう。また、ワークＷ２も近似曲面上に位置するので除外されずに把持対象とされてしまう。そこで、図１２（ｂ）に示すように、近似曲面８１をΔｈだけ上方にオフセットして、新たな近似曲面８２としている。
【００７０】
近似曲面８１をΔｈだけ上方にオフセットすることにより、底面Ｆは近似曲面８２よりも下方に位置する。したがって、把持対象から底面Ｆは除外される。また、近似曲面８２よりも下方に位置するワークＷ２、ワークＷ３も同時に除外される。近似曲面８２よりも上方にあるワークに探索範囲が限定された状態で、三次元サーチ処理が実行される。結果として、ロボット５の把持部５０は、周辺よりも高い位置にあり、三次元サーチ処理の結果としてスコア値も高くなるワークＷ１からピッキングする。
【００７１】
図１２（ｃ）は、ワークＷ１がピッキングされた状態を示している。ワークＷ１がピッキングされて取り除かれることにより、ワークのバラ積み状態が変動する。したがって、ピッキングされる都度、近似曲面８３を再計算して求めなおしている。
【００７２】
近似曲面８３の場合、ワークＷ２及びワークＷ３が近似曲面８３上に位置しているため、このままでは把持対象として抽出されてしまう。ここで、図１２（ｄ）に示すように、近似曲面８３をΔｈだけ上方にオフセットして、新たな近似曲面８４としている。
【００７３】
近似曲面８３をΔｈだけ上方にオフセットすることにより、ワークＷ２及びＷ３は近似曲線８４よりも下方に位置する。したがって、把持対象からワークＷ２及びＷ３は除外される。
【００７４】
このように、ワークがピッキングされる都度、近似曲面を求めなおしながら把持対象となるワークを特定していくことにより、ピッキング動作において干渉しやすく、また形状の一部が隠れることで姿勢も誤検出しやすいバラ積みの下方に位置するワークを効果的に除外しながら、効率よくピッキングしていくことができる。
【００７５】
図１３は、本発明の実施の形態に係る画像処理装置１におけるワークＷの三次元サーチ処理の結果の例示図である。近似曲面による探索範囲の限定を行ったワークのバラ積み状態の高さ画像に対し、実際に検出されたワークＷのワークモデルの特徴点を、三次元サーチ処理の結果として重畳表示している。図１３に示すように、バラ積みの下方に位置するワークは三次元サーチ処理の探索範囲から除外されている一方、優先的に把持対象としたいワークについては、全て検出されている様子を確認することができる。
【００７６】
なお、オフセット量は、ワークの大きさに連動して自動調整されることが好ましい。例えば、ワークのサイズが大きい場合にはオフセット量を大きくし、ワークのサイズが小さい場合はオフセット量を小さくするように連動させる。具体的には、ワークのＣＡＤデータの外接直方体に対し、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向のサイズの中で最小の長さの値を求め、求めた値に対して、一定割合を乗算した値をオフセット量としても良い。ただし、必ずしも自動調整させる必要はなく、オフセット量入力受付部１００６からユーザが入力しても良い。
【００７７】
次に、ワークモデルのモデル座標系に対して、相対的な位置データとして、把持される位置及び該位置において把持するロボット５の把持部５０の姿勢で構成される把持データを設定しておく。具体的には、ＣＡＤデータに基づいて生成された複数のワークモデルそれぞれに対して、モデル座標系に対する把持データの設定を繰り返し登録し、複数の把持データをワークモデルごとに対応付けて記憶装置１３に記憶しておく。
【００７８】
図９に戻って、サーチ処理実行部１００８は、領域特定部１００７で特定されたワーク領域に対して、ワークモデル登録部１００４に登録されているワークモデルを用いて三次元サーチ処理を実行する。図１に示すロボットコントローラ４は、存在が確認されたワークモデルに設定された把持データに基づいてロボット５の把持部５０の動作を制御する制御信号を受信して、把持部５０の動作を制御する。
【００７９】
図１４は、本発明の実施の形態に係る画像処理装置１のＣＰＵ１１の実測データを用いたピッキング処理の手順を示すフローチャートである。
【００８０】
図１４において、画像処理装置１のＣＰＵ１１は、バラ積みされているワークを含む作業空間を三次元計測して（ステップＳ１４０１）、三次元計測データを取得する。ＣＰＵ１１は、三次元計測データに基づいて近似曲面を生成する（ステップＳ１４０２）。
【００８１】
ＣＰＵ１１は、生成された近似曲面に基づいてワーク領域を特定する（ステップＳ１４０３）。ＣＰＵ１１は、三次元サーチ処理を実行する（ステップＳ１４０４）。
【００８２】
ＣＰＵ１１は、三次元サーチ処理においてワークを検出したか否かを判断する（ステップＳ１４０５）。ＣＰＵ１１が、ワークを検出していないと判断した場合（ステップＳ１４０５：ＮＯ）、ＣＰＵ１１は、作業空間に把持対象となるワークが存在しないと判断して処理を終了する。
【００８３】
ＣＰＵ１１が、ワークを検出したと判断した場合（ステップＳ１４０５：ＹＥＳ）、ＣＰＵ１１は、検出されたワークの位置及び姿勢を特定し（ステップＳ１４０６）、ロボット５の把持部５０の位置及び姿勢を特定する（ステップＳ１４０７）。ＣＰＵ１１は、ピッキング時に他のワークと干渉するか否かを判断する（ステップＳ１４０８）。
【００８４】
ＣＰＵ１１が、干渉しないと判断した場合（ステップＳ１４０８：ＮＯ）、ＣＰＵ１１は、把持対象となるワークをピッキングするよう動作を制御し（ステップＳ１４０９）、処理をステップＳ１４０１に戻して上述した処理を繰り返す。ＣＰＵ１１が、干渉すると判断した場合（ステップＳ１４０８：ＹＥＳ）、ＣＰＵ１１は、同じワーク内に別の把持可能な部位があるか否かを判断する（ステップＳ１４１０）。
【００８５】
ＣＰＵ１１が、同じワーク内に別の把持可能な部位がないと判断した場合（ステップＳ１４１０：ＮＯ）、ＣＰＵ１１は、別のワークがあるか否かを判断する（ステップＳ１４１１）。ＣＰＵ１１が、同じワーク内に別の把持可能な部位があると判断した場合（ステップＳ１４１０：ＹＥＳ）、又は別のワークがあると判断した場合（ステップＳ１４１１：ＹＥＳ）、ＣＰＵ１１は、処理をステップＳ１４０６へ戻し上述した処理を繰り返す。
【００８６】
ＣＰＵ１１が、別のワークがないと判断した場合（ステップＳ１４１１：ＮＯ）、ＣＰＵ１１は、把持対象となるワークが存在しないと判断して処理を終了する。
【００８７】
以上のように本実施の形態によれば、ロボット５の把持対象として検出されることが困難であったバラ積み時に下方に位置するワークＷを、三次元サーチ処理の対象から除外することができるので、三次元サーチ処理の探索範囲を限定的にすることができる。これにより、優先的に把持対象としたいワークを確実に抽出した状態で、不要なワークのみを除外することができるため、３Ｄピッキングの実質的な性能を落とさずに、演算処理負荷を軽減することが可能となる。また、ワークＷがピッキングされる都度、近似曲面を再生成することにより、ピッキングによるバラ積み状態の変動に追随して最適なワーク領域を特定することが可能となる。さらに、バラ積み状態の偏り等に起因して、特にバラ積み時に下方に位置するワークＷに顕著な、姿勢の誤認識についても、改善効果が期待できる。
【００８８】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば、三次元サーチ処理の対象として特徴点の座標値群を用いているが、ロボット５の把持部５０が把持できる対象を特定できる方法であれば、特にこれに限定されるものではない。
【符号の説明】
【００８９】
１  画像処理装置
２  撮像部
４  ロボットコントローラ
５  ロボット
１１  ＣＰＵ
５０  把持部
Ｗ  ワーク
【図１】
2018146347.tif 000003
【図２】
2018146347.tif 000004
【図３】
2018146347.tif 000005
【図４】
2018146347.tif 000006
【図５】
2018146347.tif 000007
【図６】
2018146347.tif 000008
【図７】
2018146347.tif 000009
【図８】
2018146347.tif 000010
【図９】
2018146347.tif 000011
【図１０】
2018146347.tif 000012
【図１１】
2018146347.tif 000013
【図１２】
2018146347.tif 000014
【図１３】
2018146347.tif 000015
【図１４】
2018146347.tif 000016