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