(57)【要約】【課題】人的コストの増加を抑制しつつ、把持可能な対象物を適切に把持する。【解決手段】画像処理装置は、学習処理における安定性判定処理３０において把持動作に失敗したワークの周囲の特徴情報を含む部分画像をネガティブ画像として記憶し、学習処理を複数回実行することによってネガティブ画像を複数生成し、ピッキング処理におけるワーク把持処理１４において、生成された複数のネガティブ画像の特徴情報に対応するワーク４を把持対象から除外し、除外されたワーク４を除いた複数のワーク４のいずれかに対して把持動作を行なう。【選択図】図３
2016203293.tif 000002
【特許請求の範囲】
【請求項１】
複数の対象物を含む入力画像を取得する撮像装置と、
前記撮像装置により取得される前記入力画像から前記対象物の特徴情報を含む学習画像に基づいて前記複数の対象物の位置および向きを含む位置情報を取得する画像処理装置と、
前記画像処理装置によって前記位置情報が取得された前記複数の対象物のうちのいずれか一つに対して把持動作を行なうロボットハンドとを備え、
前記画像処理装置は、
前記把持動作により前記対象物を把持できない場合に、把持できない前記対象物の周囲の特徴情報を含む部分画像をネガティブ画像として記憶し、
前記入力画像において前記複数の対象物のうち前記ネガティブ画像の前記特徴情報に対応する特徴情報を含む前記対象物を把持対象から除外する、ピッキング装置。
【請求項２】
前記画像処理装置は、前記複数の対象物に対して前記把持動作を複数回実施し、複数の前記ネガティブ画像を生成する、請求項１に記載のピッキング装置。
【請求項３】
前記画像処理装置は、
前記把持動作により前記対象物を把持できる場合に、把持できる前記対象物の周囲の特徴情報を含む部分画像をポジティブ画像として記憶し、
前記入力画像において前記複数の対象物のうち前記ポジティブ画像の前記特徴情報に対応する特徴情報を含む前記対象物を把持対象として設定する、請求項１または２に記載のピッキング装置。
【請求項４】
前記ロボットハンドは、前記対象物の把持が可能な複数の指部と、前記複数の指部の各々の可動部の作動量を検出する第１センサと、前記複数の指部の各々の前記可動部に作用する力を検出する第２センサと、前記第１センサの検出結果および前記第２センサの検出結果に基づいて前記ロボットハンドの動作を制御する制御装置とを含み、
前記制御装置は、前記把持動作中の、前記複数の指部のうちの少なくともいずれかの前記可動部の作動量の変化態様または前記複数の指部のうちの少なくともいずれかの前記可動部に作用する力の変化態様に基づいて前記対象物を把持できるか否かを判定する、請求項１〜３のいずれかに記載のピッキング装置。
【請求項５】
前記制御装置は、前記把持動作において、前記対象物を把持する前に前記複数の指部の各々を前記対象物の周囲の予め定められた把持準備位置に移動させる準備動作と、前記対象物を前記複数の指部で狭持する狭持動作と、前記対象物を持ち上げる持ち上げ動作とを実行する、請求項４に記載のピッキング装置。
【請求項６】
複数の対象物を含む入力画像を取得するステップと、
前記入力画像から前記対象物の特徴情報を含む学習画像に基づいて前記複数の対象物の位置および向きを含む位置情報を取得するステップと、
前記位置情報が取得された前記複数の対象物のうちのいずれか一つに対してロボットハンドを用いて把持動作を行なうステップと、
前記把持動作により前記対象物を把持できない場合に、把持できない前記対象物の周囲の特徴情報を含む部分画像をネガティブ画像として記憶するステップと、
前記入力画像において前記複数の対象物のうち前記ネガティブ画像の前記特徴情報に対応する特徴情報を含む前記対象物を把持対象から除外するステップとを含む、ピッキング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理により対象物の位置情報を認識し、認識した位置情報に基づいてロボットハンドを用いて対象物を移動させるピッキング装置およびピッキング方法に関する。
【背景技術】
【０００２】
製造現場などでは、画像処理技術を用いた様々な自動化技術が利用されている。このような技術として、たとえば、画像処理により対象物の位置情報を認識し、認識した位置情報に基づいてロボットハンドを用いて対象物を把持し移動させる技術が公知である。たとえば、特開２００４−１８８５６２号公報（特許文献１）は、ロボットに３次元視覚センサを搭載し、開口付の容器内等に存在するワークの位置・姿勢を認識し、それに基づいてワークの取り出しを行なうワーク取り出し装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８８５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、対象物の位置情報を認識した場合においても、対象物の周囲の状況によってはロボットハンドにより対象物を把持できない場合がある。そのため、対象物の位置情報だけでなく、対象物の周囲の状況がロボットハンドにより把持可能な状況であるか否かを判定する必要がある。しかしながら、画像処理によって対象物の周囲の状況を認識できるものの認識された状況において対象物の安定した把持が可能であるか否かの検証が人により行なわれる場合には、検証に時間を要したり人的コストが増加したりする場合がある。
【０００５】
本発明は、上述した課題を解決するためになされたものであって、その目的は、人的コストの増加を抑制しつつ、把持可能な対象物を適切に把持するピッキング装置およびピッキング方法を提供することである。
【課題を解決するための手段】
【０００６】
この発明のある局面に係るピッキング装置は、複数の対象物を含む入力画像を取得する撮像装置と、撮像装置により取得される入力画像から対象物の特徴情報を含む学習画像に基づいて複数の対象物の位置および向きを含む位置情報を取得する画像処理装置と、画像処理装置によって位置情報が取得された複数の対象物のうちのいずれか一つに対して把持動作を行なうロボットハンドとを備える。画像処理装置は、把持動作により対象物を把持できない場合に、把持できない対象物の周囲の特徴情報を含む部分画像をネガティブ画像として記憶し、入力画像において複数の対象物のうちネガティブ画像の特徴情報に対応する特徴情報を含む対象物を把持対象から除外する。
【０００７】
好ましくは、画像処理装置は、複数の対象物に対して把持動作を複数回実施し、複数のネガティブ画像を生成する。
【０００８】
さらに好ましくは、画像処理装置は、把持動作により対象物を把持できる場合に、把持できる対象物の周囲の特徴情報を含む部分画像をポジティブ画像として記憶し、入力画像において複数の対象物のうちポジティブ画像の特徴情報に対応する特徴情報を含む対象物を把持対象として設定する。
【０００９】
さらに好ましくは、ロボットハンドは、対象物の把持が可能な複数の指部と、複数の指部の各々の可動部の作動量を検出する第１センサと、複数の指部の各々の可動部に作用する力を検出する第２センサと、第１センサの検出結果および第２センサの検出結果に基づいてロボットハンドの動作を制御する制御装置とを含む。制御装置は、把持動作中の、複数の指部のうちの少なくともいずれかの可動部の作動量の変化態様または複数の指部のうちの少なくともいずれかの可動部に作用する力の変化態様に基づいて対象物を把持できるか否かを判定する。
【００１０】
さらに好ましくは、制御装置は、把持動作において、対象物を把持する前に複数の指部の各々を対象物の周囲の予め定められた把持準備位置に移動させる準備動作と、対象物を複数の指部で狭持する狭持動作と、対象物を持ち上げる持ち上げ動作とを実行する。
【００１１】
この発明の他の局面に係るピッキング方法は、複数の対象物を含む入力画像を取得するステップと、入力画像から対象物の特徴情報を含む学習画像に基づいて複数の対象物の位置および向きを含む位置情報を取得するステップと、位置情報が取得された複数の対象物のうちのいずれか一つに対してロボットハンドを用いて把持動作を行なうステップと、把持動作により対象物を把持できない場合に、把持できない対象物の周囲の特徴情報を含む部分画像をネガティブ画像として記憶するステップと、入力画像において複数の対象物のうちネガティブ画像の特徴情報に対応する特徴情報を含む対象物を把持対象から除外するステップとを含む。
【発明の効果】
【００１２】
この発明によると、把持動作により対象物を把持できない場合に、把持できない対象物の周囲の特徴情報を含む部分画像がネガティブ画像として記憶され、入力画像において複数の対象物のうちネガティブ画像の特徴情報に対応する特徴情報を含む対象物を把持対象から除外することにより、把持可能な対象物に対してのみ把持動作を行なうことができる。このような一連の動作は、人による作業が介在することなく実施することができるため、人的コストの増加を抑制することができる。したがって、人的コストの増加を抑制しつつ、把持可能な対象物を適切に把持するピッキング装置およびピッキング方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態に係るピッキング装置の構成例を示す概略図である。
【図２】画像処理装置およびロボットハンドの構成例を示す模式図である。
【図３】ピッキング処理および学習処理の動作を説明するための図である。
【図４】学習画像を説明するための図である。
【図５】学習処理を複数回実行して学習画像を生成する動作を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返されない。
【００１５】
図１は、本実施の形態に係るピッキング装置１の構成例を示す概略図である。ピッキング装置１は、入力画像から、商品選別や部品組み立てのために指定された物体（以下、「ワーク」とも称す）４の位置・姿勢（向き）を含む位置情報を認識し、その認識された位置情報に従って、当該認識されたワーク４を把持（ピッキング）する装置である。
【００１６】
より具体的には、ピッキング装置１は、撮像装置２と、画像処理装置１００と、ロボットハンド２００とを備える。画像処理装置１００は、撮像装置２からの入力画像内から予め登録された検出対象に相当するワーク４の位置情報を認識し、その検出したワーク４の位置情報をロボットハンド２００に出力する。
【００１７】
ロボットハンド２００は、第１指部２０２ａおよび第２指部２０２ｂによりワーク４の把持が可能なハンド部２０２と、ハンド部２０２の移動が可能なアーム部２０４とを含む。ハンド部２０２は、アーム部２０４の一方端に接続される。ロボットハンド２００は、画像処理装置１００からの位置情報に従ってハンド部２０２およびアーム部２０４を動作させて、対象のワーク４を把持して、所定の位置まで移動させる。なお、指部の数は、２本であることに特に限定されるものではなく、たとえば、３本であってもよい。また、ロボットハンド２００も１台の画像処理装置１００に対して複数体設けられるようにしてもよい。
【００１８】
また、以下の説明においては、ワーク４として飲料容器を一例として説明するが、特にワーク４は、飲料容器に限定されるものではなく、各種部品や装置等であってもよい。
【００１９】
次に、図１に示す画像処理装置１００の構成例について説明する。図２は、画像処理装置１００の構成例を示す模式図である。図２には、画像処理装置１００の典型的な実装例として、プロセッサが画像処理プログラムを実行する形態について例示する。
【００２０】
より具体的には、画像処理装置１００は、プロセッサ１０２と、主メモリ１０４と、ＨＤＤ（Hard  Disk  Drive）１０６と、ネットワークインターフェース１１０と、画像入力インターフェース１１２と、入力部１１４と、表示部１１６と、出力インターフェース１１８とを含む。これらのコンポーネントは、内部バス１２０を介して、互いに通信可能に接続されている。
【００２１】
プロセッサ１０２は、後述する処理を実行する処理主体であり、ＨＤＤ１０６に格納されている画像処理プログラム１０８を主メモリ１０４に展開して実行する。プロセッサ１０２は、典型的には、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro-Processing  Unit）からなる。ＨＤＤ１０６には、後述する学習処理の結果により得られる学習画像（ポジティブ画像あるいはネガティブ画像）などが格納されてもよい。
【００２２】
ネットワークインターフェース１１０は、外部ネットワークなどを介した他の装置やサーバなどとの通信を仲介する。画像入力インターフェース１１２は、任意の通信プロトコルに準拠した回路を含み、撮像装置２からの学習画像および／または入力画像を受け付ける。入力部１１４は、キーボードやマウスなどを含み、ユーザからの入力操作を受け付ける。表示部１１６は、ディスプレイなどからなり、後述する学習処理やワーク認識処理などの処理過程や結果などをユーザへ通知する。出力インターフェース１１８は、任意の通信プロトコルに準拠した回路を含み、認識処理によって得られた結果などに基づく制御指令を外部の機器（たとえば、ロボットハンド２００など）へ出力する。
【００２３】
撮像装置２は、被写体を撮像することで入力画像を生成する手段であり、一例として、レンズなどの光学系に加えて、ＣＣＤ（Coupled  Charged  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）センサといったデバイスを含む。
【００２４】
ロボットハンド２００のハンド部２０２は、第１指部２０２ａおよび第２指部２０２ｂの可動部を動作させる第１モータ２０６を含む。アーム部２０４は、アーム部２０４の可動部を動作させる第２モータ２０８を含む。ロボットハンド２００は、第１指部２０２ａおよび第２指部２０２ｂの可動部の作動量（具体的には、第１モータ２０６の回転角度）を検出する角度センサ２１０と、第１指部２０２ａおよび第２指部２０２ｂの可動部に作用する力を検出する力センサ２１２と、各種センサからの入力と画像処理装置１００からの情報とに基づいて第１モータ２０６および第２モータ２０８を動作させることによってピッキング処理を行なうための制御装置２１４とをさらに含む。
【００２５】
画像処理装置１００の機能の全部または一部を、たとえば、ＳｏＣ（System  on  a  chip）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field-Programmable  Gate  Array）などの回路要素を用いて実現してもよい。図２に示す画像処理プログラム１０８は、任意の記録媒体（たとえば、光ディスクやフラッシュメモリなど）を通じて画像処理装置１００へインストールされてもよいし、ネットワークを介して配信されてもよい。さらに、画像処理装置１００とサーバ装置とを連携させて後述する処理や機能を実現してもよい。この場合には、画像処理装置１００およびサーバ装置のいずれか一方または両方に、本実施の形態を実現するために必要な機能が存在することになる。
【００２６】
撮像装置２と画像処理装置１００とを一体的に構成してもよいし、撮像装置２と直接接続されていない画像処理装置１００を採用してもよい。後者の場合には、任意の撮像手段を用いて画像を生成または取得し、その生成または取得された画像をネットワークや任意の記録媒体を介して、画像処理装置１００に取り込むようにしてもよい。
【００２７】
画像処理装置１００は、学習画像に基づいて入力画像に含まれ、検出対象に相当するワーク４の位置情報を認識する。本実施の形態において、画像処理装置１００は、たとえば、入力画像から切り出された部分入力画像（以下、「入力パッチ」とも称す。）を物体認識に利用する局所パッチベースの統計的学習法を用いて入力画像からワーク４の位置情報を認識する。局所パッチベースの統計的学習法の一例として、Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ（決定木群）を入力パッチの物体認識に利用したＨｏｕｇｈ  Ｆｏｒｅｓｔｓ法やＭＩ−Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法が提案されている。
【００２８】
Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法は、入力画像から切り出された複数の入力パッチをＲａｎｄｏｍ  Ｆｏｒｅｓｔｓに入力し、各入力パッチが到達した末端ノードのクラス確率を、検出対象の中心までのオフセット量（オフセットベクトル）用いて投票する物体認識方法である。
【００２９】
Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法では、学習画像から切り出された部分学習画像（以下、「学習パッチ」とも称す。）のサブセットから学習処理によって決定木群を構築した上で、入力画像から切り出された入力パッチを決定木群に入力する。各入力パッチが各決定木においていずれのいずれの末端ノードに到達したのかを判定し、それぞれの末端ノードに保持されている情報（すなわち、学習処理にて予め得られている情報）を用いて、入力画像内に検出対象に相当するワーク４の位置情報を認識する。
【００３０】
ＭＩ−Ｈｏｕｇｈ  Ｆｏｒｅｓｔｓ法では、上述の学習処理において複数のパッチを集合体として扱うＢａｇの概念を利用して学習サンプル（学習画像から取得された１または複数のパッチ）に重みを導入して、決定木群を構築する際に、誤識別を生じる可能性の高い学習パッチを取捨選択することによって、類似物への投票を抑制している。
【００３１】
なお、学習処理によって構築される決定木群は、入力画像から切り出された入力パッチが、学習画像（ポジティブ画像あるいはネガティブ画像）に類似している可能性が高いのかという確率を算出するのに用いられる。本実施の形態において、ポジティブ画像とは、検出対象のワークの少なくとも一部が写った学習画像であり、ネガティブ画像とは、非検出対象のワークの少なくとも一部が写った学習画像をいう。なお、ワーク４の位置情報の認識方法として上述の方法に限定されるものではなく、その他の公知の技術を用いればよい。
【００３２】
以上のような構成を有するピッキング装置１において図３（Ａ）に示すようなステップを経てピッキング処理が行なわれる。ピッキング処理は、入力画像取得処理１０と、ワーク認識処理１２と、ワーク把持処理１４とを含む。
【００３３】
入力画像取得処理１０にて撮像装置２から入力画像が取得される。ワーク認識処理１２にて上述した物体認識方法を用いることにより学習画像に基づいて入力画像に含まれる複数のワーク４の各々の位置情報が認識される。ワーク把持処理１４にて、位置情報が認識されたワーク４に対して把持動作が行なわれる。
【００３４】
一方、ワーク４の位置情報を認識した場合においても、ワーク４の周囲の状況によってはロボットハンド２００によりワーク４を把持できない場合がある。たとえば、複数のワーク４が互いに隣接した位置関係にある場合には、隣接したワーク４が第１指部２０２ａあるいは第２指部２０２ｂの移動場所への移動の妨げとなり、第１指部２０２ａあるいは第２指部２０２ｂを把持対象のワーク４の把持が可能な位置に移動させることができない場合がある。そのため、ピッキング処理を行なう場合には、ワーク４の位置・姿勢だけでなく、把持対象物の周囲の状況がロボットハンド２００により把持可能な状況であるか否かを判定する必要がある。
【００３５】
そのため、たとえば、図３（Ｂ）に示すステップを経て学習処理が実行される。学習処理は、入力画像から位置情報が認識された複数のワーク４のうち把持可能なワーク４と把持不可能なワーク４とを認識可能にするための処理である。学習処理は、上述のピッキング処理を行なう事前に別途実行されてもよいし、ピッキング処理の実行とともに実行されてもよい。学習処理は、入力画像取得処理２０と、把持条件設定処理２２と、ワーク認識処理２４と、チェック処理２６と、ワーク把持処理２８と、安定性判定処理３０とを含む。
【００３６】
入力画像取得処理２０にて、入力画像取得処理１０と同様に撮像装置２から入力画像が取得される。
【００３７】
把持条件設定処理２２にてロボットハンド２００の第１指部２０２ａおよび第２指部２０２ｂによるワーク４の把持位置（ワーク４に対して第１指部２０２ａおよび第２指部２０２ｂを接触させる位置）が設定される。なお、この把持位置の設定は、たとえば、ワーク４の種類に応じて設定される。把持位置の設定は、入力部１１４から入力される情報に基づいて行なわれてもよいし、予め記憶された記憶領域から読み出されて行なわれてもよいし、ワーク４の詳細な形状、質量あるいは重心位置等の情報に基づいて行なわれてもよいし、作業者が手動でロボットハンド２００を操作した結果に基づいて行なわれてもよい。なお、把持位置としては、複数種類設定されていてもよい。
【００３８】
ワーク認識処理２４にてワーク認識処理１２と同様に上述した物体認識方法を用いることにより学習画像に基づいて入力画像に含まれる複数のワーク４の各々の位置情報が認識される。
【００３９】
チェック処理２６において認識された複数のワーク４のうちいずれか一つのワーク４の位置関係に基づいて把持可能であるか否かがチェックされる。ワーク把持処理２８にて把持可能であるか否かがチェックされたワーク４の位置情報に基づいて当該ワーク４に対する把持動作が行なわれる。本実施の形態において、把持動作は、ワーク４を把持する前に複数の指部の各々をワーク４の周囲の予め定められた把持準備位置に移動させる準備動作と、ワーク４を複数の指部で狭持する狭持動作と、ワーク４を持ち上げる持ち上げ動作とを含むものとする。
【００４０】
すなわち、ワーク把持処理２８にて、把持対象となるワーク４の位置情報と把持動作の制御指令とが画像処理装置１００からロボットハンド２００に送信される。ロボットハンド２００の制御装置２１４は、受信した位置情報と把持動作の制御指令とに基づいて第１モータ２０６および第２モータ２０８を制御する。具体的には、制御装置２１４は、ハンド部２０２の第１指部２０２ａおよび第２指部２０２ｂが予め定められた把持準備位置に移動するように第１モータ２０６および第２モータ２０８を制御して準備動作を行なう。その後、制御装置２１４は、第１指部２０２ａおよび第２指部２０２ｂによりワーク４が狭持されるように第１モータ２０６を制御して狭持動作を行なう。そして、制御装置２１４は、ワーク４を所定の位置に持ち上げるように第２モータ２０８を制御して持ち上げ動作を行なう。
【００４１】
安定性判定処理３０にて把持動作が成功したか否か、把持動作に成功した場合にはワーク４を安定して把持しているか否か等のワーク４の把持状態の安定性が確認される。
【００４２】
しかしながら、上述した学習処理において、たとえば、ワーク４の位置関係に基づいて把持可能であるか否かのチェックや把持状態の安定性の確認が、人により行なわれる場合には、学習処理を繰り返し実行してその都度位置関係のチェックや安定性の確認が必要となるため、検証に時間を要したり、人的コストが増加したりする場合がある。
【００４３】
そこで、本実施の形態においては、画像処理装置１００が、学習処理において、把持動作によりワーク４を把持できない場合に、把持できないワーク４の周囲の特徴情報を含む部分画像をネガティブ画像として記憶し、入力画像において複数の対象物のうちネガティブ画像の特徴情報に対応する特徴情報を含む対象物を把持対象から除外する点を特徴とする。また、画像処理装置１００は、学習処理において、複数のワーク４に対して把持動作を複数回実施し、複数のネガティブ画像を生成する。
【００４４】
以下に、本実施の形態に係るピッキング装置１により実行される学習処理について説明する。なお、学習処理の流れについては、上述の図３（Ｂ）で示した学習処理の流れと基本的に同様であるため、以下においては、特に上述の図３（Ｂ）で示した学習処理と異なる点について説明する。
【００４５】
すなわち、初回の学習処理におけるワーク認識処理２４にて、たとえば、図４（Ａ）に示すような飲料容器を示すワーク４の特徴情報を含む画像がポジティブ画像として設定される。画像処理装置１００は、入力画像からポジティブ画像の特徴情報に対応する複数のワーク４の各々の位置情報を認識する。初回の学習処理におけるチェック処理２６にて、ネガティブ画像がまだＨＤＤ１０６に記憶されていないため、位置情報が認識された複数のワーク４の各々が把持対象とされる。初回の学習処理におけるワーク把持処理２８にて、複数のワーク４のうちのいずれか一つのワーク４が把持対象とされ、ロボットハンド２００による把持動作が行なわれる。
【００４６】
安定性判定処理３０にて、ロボットハンド２００の制御装置２１４は、各種センサからの検出結果に基づいてワーク４の把持動作が成功したか否かを判定する。
【００４７】
制御装置２１４は、たとえば、準備動作中に、各種センサからの検出結果に基づいて第１指部２０２ａまたは第２指部２０２ｂを所定の位置（把持対象のワーク４の把持位置）に移動できなかった場合にワーク４の把持動作が失敗したと判定する。
【００４８】
具体的には、制御装置２１４は、たとえば、準備動作中に第１指部２０２ａおよび第２指部２０２ｂうちの停止状態の少なくともいずれかの指部の可動部が動作したり、準備動作中に少なくともいずれかの指部の可動部にしきい値以上の力が作用したり、準備動作中に可動部の作動量が目標値に到達しなかったりした場合に、第１指部２０２ａまたは第２指部２０２ｂを所定の位置に移動できなかったことを判定する。しきい値は、第１指部２０２ａまたは第２指部２０２ｂに対して何らかの力が作用したことを示す値である。
【００４９】
また、制御装置２１４は、第１指部２０２ａおよび第２指部２０２ｂの各々を所定の位置に移動できたものの狭持動作中に、第１指部２０２ａまたは第２指部２０２ｂが空振りするなどしてワーク４を把持できなかった場合にワーク４の把持動作が失敗したと判定する。
【００５０】
具体的には、制御装置２１４は、たとえば、狭持動作中に、第１指部２０２ａの可動部の作動量または第２指部２０２ｂの可動部の作動量がワーク４の把持位置に対応する作動量よりも大きく作動したり、把持位置に対応する作動量となるときに可動部にしきい値以上の力が作用しなかったりした場合にワーク４を把持できなかったと判定する。なお、しきい値は、第１指部２０２ａおよび第２指部２０２ｂによってワーク４を把持可能な把持力が発生する場合に可動部に作用する力に対応する値である。
【００５１】
あるいは、制御装置２１４は、ワーク４を把持できたものの持ち上げ動作中にワーク４が落下した場合にワーク４の把持動作が失敗したと判定する。
【００５２】
具体的には、制御装置２１４は、たとえば、持ち上げ動作中に、第１指部２０２ａの可動部または第２指部２０２ｂの可動部においてしきい値以上の力が作用した状態からしきい値以上の力が作用しない状態に変化した場合、あるいは、第１指部２０２ａまたは第２指部２０２ｂがワーク４を把持する把持位置から握り込む方向（第１指部２０２ａと第２指部２０２ｂとの距離が短くなる方向）に動作する場合に、ワーク４が落下したと判定する。
【００５３】
さらに、安定性判定処理３０にて、制御装置２１４は、ワーク４の把持動作が成功したか否かについての情報を画像処理装置１００に出力する。なお、ワーク４の把持動作が成功したか否かについての上述の判定は、制御装置２１４に代えて画像処理装置１００にて行なわれてもよい。
【００５４】
画像処理装置１００は、ワーク４の把持動作が失敗した場合には、把持動作が失敗したワーク４の周囲の特徴情報を含む部分画像をネガティブ画像として所定の記憶領域に記憶する。画像処理装置１００は、たとえば、入力画像から図４（Ｂ）に示すように、隣接するワーク４によって把持動作に失敗したワーク４の周囲の特徴情報を含む部分画像を抽出してネガティブ画像を生成する。なお、画像処理装置１００は、たとえば、把持動作に失敗したワーク４を基準として、図４（Ａ）に示すポジティブ画像におけるワーク４本体が占める領域とワーク４の周囲を示す領域との面積比率が同等となる領域を抽出領域として部分画像を抽出し、抽出された部分画像をネガティブ画像として主メモリ１０４やＨＤＤ１０６等に記憶する。記憶されたネガティブ画像は、２回目以降の学習処理あるいはピッキング処理において利用される。
【００５５】
すなわち、２回目の学習処理におけるチェック処理２６にて、ワーク認識処理２４にて位置情報が認識された複数のワーク４の中からネガティブ画像に基づいて把持不可能なワーク４を特定する。画像処理装置１００は、たとえば、ポジティブ画像とネガティブ画像とを対比して相違部分を抽出し、相違部分のうちのネガティブ画像のみが有する特徴点（ネガティブ画像のユニーク情報）と類似する領域の位置を入力画像から特定することによって把持不可能なワーク４を特定する。
【００５６】
２回目の学習処理におけるワーク把持処理２８にて、画像処理装置１００は、チェック処理２６にて特定された把持不可能なワーク４を除外した複数のワーク４のうちいずれか一つを把持対象として、ロボットハンド２００による把持動作が行なわれる。
【００５７】
そして、２回目の学習処理における安定性判定処理３０にて、１回目の学習処理における安定性判定処理３０の動作と同様に、ロボットハンド２００の制御装置２１４は、各種センサからの検出結果に基づいてワーク４の把持動作が成功したか否かを判定する。なお、２回目の学習処理における安定性判定処理３０の詳細な動作は、上述したとおりであるため、その詳細な説明は繰り返さない。安定性判定処理３０にて、生成されたネガティブ画像は、３回目以降の学習処理あるいはピッキング処理において利用される。このようにして、学習処理が複数回実施されることによって、複数のネガティブ画像が生成される。
【００５８】
そのため、図３（Ａ）に示すピッキング処理を行なう場合には、ワーク認識処理１２にて図３（Ａ）に示すポジティブ画像に基づいて複数のワーク４の位置情報が認識された後に、ワーク把持処理１４にて、図３（Ｂ）に代表される複数のネガティブ画像に基づいて把持不可能なワーク４が特定され、把持対象から除外される。そして、把持不可能なワーク４を除外した複数のワーク４のうちのいずれかが把持対象となって把持動作が行なわれる。
【００５９】
以上のような構成および図３（Ｂ）に示した学習処理の流れに基づいて、本実施の形態に係るピッキング装置１の学習処理における動作について図５を参照しつつ説明する。
【００６０】
図５（Ａ）に示すように、１回目の学習処理が実施される前においては、図４（Ｂ）に示されるような位置関係のワーク４についても、図４（Ａ）に示されるポジティブ画像に分類されるため把持対象に含まれる。
【００６１】
一方、１回目の学習処理が実行され、たとえば、図４（Ｂ）に示されるような位置関係のワーク４が把持対象となる場合、当該ワーク４に対してロボットハンド２００を用いた把持動作が行なわれる。準備動作における第１指部２０２ａまたは第２指部２０２ｂの移動軌跡上に隣接する他のワーク４が存在することによってワーク４を把持できなかった場合には、図５（Ｂ）に示すように、両隣に他のワークが存在しているワーク４の周囲の特徴情報（ユニーク情報）を含む画像がネガティブ画像としてＨＤＤ１０６に記憶される。
【００６２】
そのため、図５（Ｃ）に示すように、２回目の学習処理が実行される場合においては、チェック処理２６にて、１回目の学習処理によって生成されたネガティブ画像に基づき、複数のワーク４のうち両隣に他のワークが隣接しているワーク４が把持対象から除外される。このとき、たとえば、片側にのみ他のワークが隣接しているワーク４が把持対象となる場合に、当該ワーク４に対してロボットハンド２００を用いた把持動作が行なわれる。把持動作により当該ワーク４を把持できなかった場合には、１回目の学習処理と同様に、片側にのみ他のワークが隣接しているワーク４の周囲の特徴情報を含む画像がネガティブ画像としてＨＤＤ１０６に記憶される。
【００６３】
図５（Ｄ）に示すように、ｎ回目の学習処理の実行により複数のネガティブ画像が生成される。これにより、図３（Ａ）に示すピッキング処理を実行する場合には、ワーク把持処理１４にて把持不可能なワーク４を確実に把持対象から除外することができるため、安定して把持することが可能なワーク４にのみに対して把持動作を行なうことが可能になる。
【００６４】
以上のようにして、本実施の形態に係るピッキング装置１によると、学習処理において、ロボットハンド２００を用いた把持動作により把持できなかったワーク４の周囲の特徴情報を含む部分画像がネガティブ画像として記憶される。そのため、ピッキング処理において、ネガティブ画像の特徴情報を含むワーク４が把持対象から除外されるため、把持可能なワーク４に対してのみ把持動作を行なうことができる。このような一連の動作は、人による検証等の作業を要することなく実施できるため、検証に時間を要したり、人的コストが増加したりすることを抑制できる。したがって、人的コストの増加を抑制しつつ、把持可能な対象物を適切に把持するピッキング装置およびピッキング方法を提供することができる。
【００６５】
さらに複数回学習処理を実行して複数のネガティブ画像を生成することにより、把持不可能なワーク４を確実に把持対象から除外することができる。そのため、ピッキング処理において把持可能なワーク４に対してのみ把持動作を行なうことができる。
【００６６】
以下、変形例について説明する。
本実施の形態において、画像処理装置１００は、ワーク４の把持動作が失敗した場合には、把持動作が失敗したワーク４の周囲の特徴情報を含む部分画像をネガティブ画像として記憶するものとして説明したが、たとえば、画像処理装置１００は、ワーク４の把持動作が成功した場合には、把持動作に成功したワーク４の周囲の特徴情報を含む部分画像をポジティブ画像として記憶してもよい。この場合、たとえば、ピッキング処理におけるワーク把持処理１４にて図４（Ａ）に示すポジティブ画像と、生成されたポジティブ画像とに基づいて把持可能なワーク４を特定してもよい。
【００６７】
さらに、本実施の形態においては、画像処理装置１００は、学習処理を複数回実施することによって複数のネガティブ画像を生成するものとして説明したが、たとえば、学習処理を複数回実施することによって、複数のポジティブ画像を生成してもよい。
【００６８】
また、本実施の形態においては、１回目の学習処理が実行される前において、図４（Ａ）に示すポジティブ画像のみがＨＤＤ１０６に記憶されているものとして説明したが、たとえば、ワーク４とは異なる形状の部品を含むネガティブ画像がＨＤＤ１０６に記憶され、物体認識に利用されるようにしてもよい。このようにすると、特にワーク４とともにワーク４と形状が類似する部品が入力画像内に存在する場合に、精度高くワーク４の位置情報を認識することができる。
【００６９】
さらに本実施の形態においては、ポジティブ画像は、図４（Ａ）に示すように、飲料容器の全体を含む画像であるものとして説明したが、たとえば、特徴的な一部分のみを含む画像であってもよい。
【００７０】
さらに本実施の形態においては、画像処理装置１００は、図４（Ａ）に示すポジティブ画像を用いてワーク４の位置情報を認識するものとして説明したが、たとえば、図４（Ａ）に示すポジティブ画像を回転させることで（たとえば、１°ずつ３６０°回転）、各回転角における複数のポジティブ画像（たとえば、３６０種類のポジティブ画像）を生成し、生成された複数のポジティブ画像を用いてワーク４の位置情報を認識するようにしてもよい。このようにすると、入力画像から複数のワーク４の各々の位置・姿勢（向き）を精度高く認識することができる。
【００７１】
さらに、本実施の形態において、画像処理装置１００は、撮像装置２から入力画像を取得するとして説明したが、たとえば、学習処理を１回実行する毎に撮像装置２から入力画像を取得することが望ましい。把持動作によりワーク４の位置が変化する場合があるためである。
【００７２】
さらに、本実施の形態において、把持動作が成功したか否かをロボットハンド２００の第１指部２０２ａおよび第２指部２０２ｂの可動部の作動量や可動部に作用する力に基づいて判定するものとして説明したが、たとえば、撮像装置２を用いて判定してもよい。たとえば、ロボットハンド２００は、ワーク４を予め定められた姿勢で把持した状態を撮像装置２で撮像し、得られた画像と、予め撮像された把持状態の画像とを比較して、把持動作が成功したか否かを判定してもよい。たとえば、撮像された画像にワーク４に対応する部分がなかったり、予め撮像された把持状態の画像と比較して把持位置がずれていたりした場合に、把持動作が失敗したと判定してもよいし、撮像された画像と、予め撮像された把持状態の画像とがほぼ一致する場合には、把持動作が成功したと判定してもよい。
【００７３】
さらに、本実施の形態において、学習処理にてネガティブ画像の特徴情報を含むワーク４を除く複数のワーク４のうちのいずれかを把持対象として把持動作を行なうものとして説明したが、たとえば、周囲の特徴情報がポジティブ画像と相違する部分が多いワーク４を優先して学習処理における把持対象してもよい。このようにすると、ネガティブ画像を短時間で生成することが可能となる。
【００７４】
なお、上記した変形例は、その全部または一部を組み合わせて実施してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７５】
１  ピッキング装置、２  撮像装置、４  ワーク、１０，２０  入力画像取得処理、１２，２４  ワーク認識処理、１４，２８  ワーク把持処理、２２  把持条件設定処理、２６  干渉回避処理、３０  安定性判定処理、１００  画像処理装置、１０２  プロセッサ、１０４  主メモリ、１０６  ＨＤＤ、１０８  画像処理プログラム、１１０  ネットワークインターフェース、１１２  画像入力インターフェース、１１４  入力部、１１６  表示部、１１８  出力インターフェース、１２０  内部バス、２００  ロボットハンド  ２０２  ハンド部、２０２ａ，２０２ｂ  指部、２０４  アーム部、２０６，２０８  モータ、２１０  角度センサ、２１２  力センサ、２１４  制御装置。
【図１】
2016203293.tif 000003
【図２】
2016203293.tif 000004
【図３】
2016203293.tif 000005
【図４】
2016203293.tif 000006
【図５】
2016203293.tif 000007