(57)【特許請求の範囲】
【請求項１】
複数の物体を含む領域の距離情報を取得する取得手段と、
前記距離情報に基づいて、複数の物体の中から、所定数の物体を、保持候補物体として選択する第一の選択手段と、
前記距離情報に基づいて、前記選択された所定数の保持候補物体の三次元位置姿勢情報を計測する計測手段と、
前記計測手段により計測された前記三次元位置姿勢情報に基づいて、前記所定数の保持候補物体の中から保持対象物体を選択し、前記所定数の保持候補物体のうち、前記保持対象物体以外の物体を、追跡対象物体として選択する第二の選択手段と、
保持手段に、前記保持対象物体を保持させるように制御する制御手段と、
前記保持手段により前記保持対象物体が保持されている間に、新たに、前記追跡対象物体の距離情報を取得することなく、前記追跡対象物体の画像データを所定の時間間隔で取得し、該画像データに基づいて、前記追跡対象物体の三次元位置姿勢情報を更新する更新手段と、
を備え、
前記第二の選択手段は、前記保持手段による前記保持が終了した場合、前記更新手段により更新された前記追跡対象物体の前記三次元位置姿勢情報に基づいて、次の保持対象物体を選択することを特徴とする情報処理装置。
【請求項２】
前記保持手段による前記保持が終了した場合であって、前記計測手段により計測された前記追跡対象物体の三次元位置姿勢が変動していないと前記更新手段により判定された場合、
前記第二の選択手段は、前記計測手段により計測された前記三次元位置姿勢情報に基づいて、前記追跡対象物体の中から、次の保持対象物体を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記計測手段により計測された前記追跡対象物体の三次元位置姿勢が変動したと前記更新手段により判定された場合、
前記取得手段は、前記更新手段により更新された前記追跡対象物体の前記三次元位置姿勢情報に基づいて、当該追跡対象物体を含む所定の範囲の距離情報を改めて取得し、
前記計測手段は、前記距離情報に基づいて前記追跡対象物体の三次元位置姿勢を改めて計測して三次元位置姿勢情報を生成し、
前記選択手段は、前記改めて計測された三次元位置姿勢情報に基づいて、前記追跡対象物体の中から、次の保持対象物体を選択することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記保持手段の三次元形状情報を記憶する記憶手段と、
前記保持手段により前記保持候補物体が遮蔽されていない場合の前記保持候補物体の面積に対して、前記保持手段により前記保持候補物体が遮蔽されている面積が占める割合を示す遮蔽率を、前記保持候補物体それぞれに対して、前記記憶手段に記憶された前記三次元形状情報に基づいて算出する算出手段と、をさらに備え、
前記第二の選択手段は、前記計測手段により計測された三次元位置姿勢情報と、前記遮蔽率とに基づいて、前記保持候補物体から前記保持対象物体を選択することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第二の選択手段は、前記遮蔽率が最も小さい保持候補物体を、保持候補物体として選択することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記更新手段は、前記保持対象物体から所定の範囲に存在する追跡対象物体の三次元位置姿勢を更新することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
更に、前記複数の物体を含む領域の可視画像を取得する手段を備え、
前記計測手段は、前記可視画像と前記距離情報とに基づいて、前記保持候補物体の三次元位置姿勢情報を計測することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
取得手段と、第一の選択手段と、計測手段と、第二の選択手段と、制御手段と、更新手段と、を備える情報処理装置の制御方法であって、
前記取得手段が、複数の物体を含む領域の距離情報を取得する取得工程と、
前記第一の選択手段が、前記距離情報に基づいて、複数の物体の中から、所定数の物体を、保持候補物体として選択する第一の選択工程と、
前記計測手段が、前記距離情報に基づいて、前記選択された所定数の保持候補物体の三次元位置姿勢情報を計測する計測工程と、
前記第二の選択手段が、前記計測工程により計測された前記三次元位置姿勢情報に基づいて、前記所定数の保持候補物体の中から保持対象物体を選択し、前記所定数の保持候補物体のうち、前記保持対象物体以外の物体を、追跡対象物体として選択する第二の選択工程と、
前記制御手段が、保持手段に、前記保持対象物体を保持させるように制御する制御工程と、
前記更新手段が、前記保持手段により前記保持対象物体が保持されている間に、新たに、前記追跡対象物体の距離情報を取得することなく、前記追跡対象物体の画像データを所定の時間間隔で取得し、該画像データに基づいて、前記追跡対象物体の三次元位置姿勢情報を更新する更新工程と、を備え、
前記第二の選択工程では、前記保持手段による前記保持が終了した場合、前記更新工程により更新された前記追跡対象物体の前記三次元位置姿勢情報に基づいて、次の保持対象物体を選択することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明は、ロボット等の産業機械によって、山積みされたワークのビンピッキングを行う物体把持装置、物体把持装置の制御方法、およびプログラムに関する。特に、トレイに不規則に山積みされたワークの三次元位置姿勢を計測してピッキングする物体把持装置、物体把持装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
産業用ロボットを用いてトレイに不規則に山積みされたワークをピッキングすることにより部品供給や組立工程の自動化を実現する装置に関しては、多くの研究報告が寄せられており、例えば特許文献１が挙げられる。特許文献１では、予め用意した三次元モデルを用いたパターンマッチングによりワークの位置姿勢を認識し、ロボットによるピッキングを行っている。特許文献１では、一度に１つのワークの三次元位置姿勢しか計測しないため、山積みされたワークのビンピッキング時には、トレイに積まれたワークの個数分だけ位置姿勢計測処理を繰り返す必要がある。そこで、ビンピッキング時の位置姿勢計測処理の回数を削減するために、一度の計測動作により複数のワークの三次元位置姿勢を取得し保持しておく手法が考えられている。非特許文献１では、複雑な形状のワークを山積みにした状態で複数ワークの三次元位置姿勢認識を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許０３３７７４６５号公報
【特許文献２】特開２００９−１２８２０１号公報
【非特許文献】
【０００４】
【非特許文献１】IHI技法 Vol.48 No.1 (2008-3)
【非特許文献２】佐藤宏介井口征士：液晶レンジファインダ−液晶シャッタによる高速距離画像計測システム−，信学論，J71-D，No.7，pp1249-1257．1988-7
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、複数のワークの三次元位置姿勢を一度に計測した場合、計測後のワークのピッキング時に起こり得るロボットアームやピッキング対象ワークと他のワークとの干渉により、計測したワークの位置姿勢が変動することがある。この場合、位置姿勢が変動したワークは再計測を行う必要があり処理に時間を要するという課題がある。
【０００６】
上記の課題に鑑み、本発明は、ピッキング時の干渉によるワークの位置姿勢の変動の影響を低減することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
複数の物体を含む領域の距離情報を取得する取得手段と、
前記距離情報に基づいて、複数の物体の中から、所定数の物体を、保持候補物体として選択する第一の選択手段と、
前記距離情報に基づいて、前記選択された所定数の保持候補物体の三次元位置姿勢情報を計測する計測手段と、
前記計測手段により計測された前記三次元位置姿勢情報に基づいて、前記所定数の保持候補物体の中から保持対象物体を選択し、前記所定数の保持候補物体のうち、前記保持対象物体以外の物体を、追跡対象物体として選択する第二の選択手段と、
保持手段に、前記保持対象物体を保持させるように制御する制御手段と、
前記保持手段により前記保持対象物体が保持されている間に、新たに、前記追跡対象物体の距離情報を取得することなく、前記追跡対象物体の画像データを所定の時間間隔で取得し、該画像データに基づいて、前記追跡対象物体の三次元位置姿勢情報を更新する更新手段と、
を備え、
前記第二の選択手段は、前記保持手段による前記保持が終了した場合、前記更新手段により更新された前記追跡対象物体の前記三次元位置姿勢情報に基づいて、次の保持対象物体を選択することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ピッキング時の干渉によるワークの位置姿勢の変動の影響を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る物体把持装置の構成例を示すブロック図。
【図２】第１実施形態に係る物体把持装置の構成例を示す模式図。
【図３】第１実施形態に係る物体把持装置の処理の流れを示すフローチャート。
【図４】第１実施形態に係る物体把持装置の処理の様子を示す模式図。
【図５】第２実施形態に係るピッキング対象ワーク選択アルゴリズムの処理の流れを示すフローチャート。
【図６】（ａ）候補ワーク４０２がピッキング候補として選択されたときの例を示す図、（ｂ）候補ワーク４０２が選択されたときのステップＳ５０５乃至ステップＳ５０６の各処理の一例を示す。
【図７】第３実施形態に係るピッキング実行アルゴリズムの処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
本発明における山積みピッキングとは、不規則に配置された複数のワークを、物体把持装置として機能するロボットアームを用いて把持して所定の場所へ移動させる動作を指す。なお、ワークごとにロボットアームが把持するピッキングポイント（把持点）が予め１箇所以上定められているものとする。
【００１１】
（第１実施形態）
第１実施形態に係る物体把持装置は、複数のピッキング候補ワーク（把持候補ワーク）の位置姿勢を予め取得し、把持対象ワークをピッキング（把持）している間に他の複数のピッキング候補ワークの位置姿勢をトラッキングして更新するものである。
【００１２】
まず、図１を参照して、第１実施形態に係る物体把持装置１１００の各処理部を説明し、図２を参照して、物体把持装置１１００の構成例を説明する。なお、図２に示される構成例は、本発明に係る物体把持装置を実現する構成の一例を示すものであり、必ずしも図２に示される構成例に限定されない。
【００１３】
図１に示されるように、物体把持装置１１００は、撮像部１１０１と、距離情報取得部１１０２と、三次元位置姿勢計測部１１０３と、ピッキング対象ワーク選択部１１０４と、トラッキング部１１０５と、ピッキング部１１０６とを備える。また、データベース１２００は、ピッキングに必要な情報を保持するデータベースである。データベース１２００には、ワークの三次元位置姿勢検出に必要なＣＡＤデータやピッキング部１１０６が対象ワークのどの部位をピッキングするかといった情報など、事前に用意されたデータが格納されている。
【００１４】
撮像部１１０１は、図２に示される山積みされた対象ワーク２１０の可視画像を撮像する。
【００１５】
距離情報取得部１１０２は、図２に示される山積みされた対象ワーク２１０の距離情報を取得する。図２は、撮像部１１０１、距離情報取得部１１０２の構成例を示している。つまり、撮像部１１０１は、図２におけるグローバルカメラ２０１により構成され、距離情報取得部１１０２はグローバルカメラ２０１とグローバルプロジェクタ２０２とにより構成されている。距離情報の算出手法については後述する。
【００１６】
三次元位置姿勢計測部１１０３は、撮像部１１０１により撮像された可視画像および距離情報取得部１１０２により取得された距離情報に基づいて、山積みされた対象ワーク２１０から複数のピッキング候補ワークを検出する。そして、検出した複数のピッキング候補ワークの三次元位置姿勢を計測して三次元位置姿勢情報を生成する。三次元位置姿勢の計測方法については後述する。
【００１７】
ピッキング対象ワーク選択部１１０４は、三次元位置姿勢計測部１１０３により計測された複数のピッキング候補ワークの中からピッキングするワークを選択する。
【００１８】
トラッキング部１１０５は、ピッキング部１１０６によりピッキング動作が行われている間に、ピッキング対象ワーク選択部１１０４により選択されたピッキング対象ワーク以外の候補ワークに対して、三次元位置姿勢計測部１１０３により計測された三次元位置姿勢情報に基づいて、その概略位置姿勢をトラッキングする。このトラッキング手法については後述する。
【００１９】
ピッキング部１１０６は、データベース１２００から取得されるワークのピッキングポイント情報、三次元位置姿勢計測部１１０３により計測された三次元位置姿勢情報、あるいはトラッキング部１１０５によりトラッキングされたワークの概略位置姿勢情報に基づいて、例えば図２に示されるロボットアーム２０３を動作して、ピッキング対象ワーク選択部１１０４により選択されたワークをピッキングする。
【００２０】
次に、図３のフローチャートを参照して、第１実施形態に係る物体把持装置における処理の流れを説明する。
【００２１】
まず、ステップＳ３０１において、撮像部１１０１は、グローバルカメラ２０１により山積みされた対象ワーク２１０を撮像する。
【００２２】
ステップＳ３０２において、距離情報取得部１１０２は、山積みされた対象ワーク２１０全体に対して距離情報を取得する。距離情報の取得方法については限定しない。例えば、非特許文献２に記載されるように、二値縞パターンを時系列的に投影することにより測定空間を分割して、対象領域の距離情報を取得するアクティブステレオ方式による測定により、距離情報を取得することができる。図２に示される構成例では、グローバルプロジェクタ２０２が二値縞パターンを山積みされた対象ワーク２１０へ投影する。そして、グローバルカメラ２０１が、その二値縞パターンを投影された山積みされた対象ワーク２１０を撮像する。これにより、山積みされた対象ワーク２１０までの距離情報を画素ごとに保持する距離画像を取得することができる。図４（ａ）は、可視画像・距離情報取得の模式図を示す。グローバルカメラ２０１により山積みされた対象ワーク２１０を撮像して可視画像が取得される。また、上述のようにグローバルプロジェクタ２０２により二値縞パターンが投影された山積みされた対象ワーク２１０をグローバルカメラ２０１が撮像することにより距離情報が取得される。
【００２３】
ステップＳ３０３において、三次元位置姿勢計測部１１０３は、ステップＳ３０１で取得された可視画像を用いて山積みされた対象ワーク２１０から複数のピッキング候補ワークの概位置姿勢を検出する。そして、検出された概略位置姿勢情報およびステップＳ３０２で取得された距離情報を用いて、ピッキング候補ワークの三次元位置姿勢を計測する。ここでは、複数のピッキング候補ワークの三次元位置姿勢の検出が目的であり、任意の既存手法を用いて計測が可能である。例えば、特許文献２では、可視画像から抽出される直線状明領域情報を用いて対象ワークの概略位置姿勢を推定し、推定結果と距離情報とを用いて三次元位置姿勢推定を行う手法が提案されている。図４（ｂ）は、候補ワークの検出および三次元位置姿勢計測の模式図を示す。図４（ｂ）に示されるように、取得された可視画像から、斜線で示されたた６つの候補ワークを検出し、図の右部に示すように、検出された各候補ワークの三次元位置姿勢情報（位置：x，y，z，姿勢：rx，ry，rz）を計測する。６つの候補ワークとは、候補ワーク４０１、候補ワーク４０２、候補ワーク４０３、候補ワーク４０４、候補ワーク４０５、および候補ワーク４０６である。
【００２４】
ステップＳ３０４において、三次元位置姿勢計測部１１０３は、ステップＳ３０３で三次元位置姿勢が検出された候補ワークが１つ以上存在するか否かを判定する。候補ワークが１つ以上存在すると判定された場合（ステップＳ３０4；ＹＥＳ）、ステップＳ３０５へ進む。一方、候補ワークが１つも存在しないと判定された場合（ステップＳ３０4；ＮＯ）、処理を終了する。
【００２５】
ステップＳ３０５において、ピッキング対象ワーク選択部１１０４は、三次元位置姿勢計測部１１０３により計測された三次元位置姿勢情報と、三次元位置姿勢情報ごとに定められた選択条件とに基づいて、ステップＳ３０３で検出された候補ワークからピッキング対象ワークを１つ選択する。また、ここで選択されたたピッキング対象ワーク以外の候補ワークをトラッキング対象ワークとする。ピッキング対象ワーク選択部１１０４は、ステップＳ３０３で計測された候補ワークの三次元位置姿勢情報に基づいてピッキング対象ワークを選択する。本実施形態では、候補ワークのうち最も山の上にあるものからピッキングを行うものとする。これは、候補ワークの奥行き情報から容易に推定可能である。図４（ｃ）は、ピッキング対象ワークの選択の様子を示す。各候補ワークの三次元位置姿勢情報のz座標の値を参照し、最も高い位置にある候補ワークをピッキング対象ワークとして選択する。図４（ｃ）の場合、ピッキング対象ワーク選択部１１０４は、ステップＳ３０３で検出された６つの候補ワークのうち候補ワーク４０３をピッキング対象ワークに選択している。そして、他の候補ワーク４０１、候補ワーク４０２、候補ワーク４０４、候補ワーク４０５、および候補ワーク４０６をトラッキング対象ワークとして選択している。なお、ピッキング対象ワークの選択条件は自由に設定することが可能である。例えば、アームがピッキングしやすい対象ワークから順にピッキングを行うこともできる。具体的には、ステップＳ３０３で計測された三次元位置姿勢情報に基づいて、対象ワークの予め定められているピッキングポイントの位置およびその法線方向が所定の位置および向きであるものから選択するという選択条件であってもよい。また、山積みされたワークの中心位置に近いものから選択する、あるいは、ロボットアームの基準位置姿勢に近いものから選択するという選択基準であってもよい。
【００２６】
そして、ステップＳ３０６において、トラッキング部１１０５は、ステップＳ３０５で選択されたピッキング対象ワークの上部にロボットアームを移動させ、ピッキングの準備が整った後、トラッキング対象ワークのトラッキング処理を開始する。なお、トラッキングとは、ピッキング中の山積みされた対象ワーク２１０を含む領域の画像を時系列的に取得し、取得された画像からトラッキング対象ワークの三次元位置姿勢を推定して更新し続ける処理を指す。例えば、トラッキング対象ワークの三次元位置姿勢を所定の時間間隔で更新する処理である。本実施形態では、予めデータベース１２００に登録されている対象ワークのＣＡＤモデルのエッジを画像上で対応づけ、その投影誤差を最小化することによりトラッキング処理を行い、その際に距離情報は用いない。
【００２７】
なお、ピッキング時に起こりうるアームとワークあるいはワーク同士の干渉は、ピッキング対象ワークの周囲にあるワークほど発生しやすい。そのため、ピッキング対象ワークの周辺にあるトラッキング対象ワークは位置姿勢変動が発生しやすいと考えられる。よって、計算コスト削減のために、トラッキング対象ワークのうちピッキング対象ワーク周辺のワークのみトラッキング処理を行ってもよい。周辺とは、例えば、ピッキング対象ワークから所定の範囲であってもよい。
【００２８】
また、ステップＳ３０７において、ピッキング部１１０６は、ステップＳ３０６でのトラッキング処理と並行して、ピッキング対象ワークのピッキング処理を制御する。ピッキング部１１０６は、ピッキング対象ワークの予め定められているピッキングポイントを把持し、所定の位置へピッキング対象ワークを移動させる。以降のピッキング対象ワークは、トラッキングに成功したワークの中から選択すればよい。
【００２９】
なお、トラッキングに失敗しトラッキング対象ワークを見失ったり、ステップＳ３０３で計測された候補ワークが１つしか存在しなかったりした場合など、何らかの原因でピッキング処理が完了した後にトラッキング対象ワークが存在しない場合がある。
【００３０】
そのため、ステップＳ３０８において、ピッキング対象ワーク選択部１１０４は、トラッキング対象ワークが存在するか否かを判定する。トラッキング対象ワークが存在すると判定された場合（ステップＳ３０８；ＹＥＳ）、ステップＳ３０５へ戻り、次のピッキング対象ワークを選択する。一方、トラッキング対象ワークが存在しないと判定された場合（ステップＳ３０８；ＮＯ）、ステップＳ３０１へ戻り、山積みされた候補ワークの可視画像および距離情報の取得処理から再度実行する。
【００３１】
トラッキングによる三次元位置姿勢推定には距離情報を用いない。そのため、ピッキング中にトラッキング対象ワークの初期位置姿勢が変動した場合、ステップＳ３０３での三次元位置姿勢計測処理の精度と比較して、トラッキングによる三次元位置姿勢推定処理の精度は劣化することが想定される。そこで、距離情報を用いて位置姿勢計測した候補ワークと、トラッキングにより推定された候補ワークとが混在する場合、ステップＳ３０５のピッキング対象ワーク選択処理においては距離情報を用いて計測した候補ワークを優先的にピッキングしてもよい。例えば、候補ワークのうち最も山の上にあるものからピッキングを行うときには、距離情報を用いて計測された候補ワークのうち最も山の上にあるものをピッキングするという選択条件が考えられる。そして、距離情報を用いて計測した候補ワークが存在しないときには、トラッキング処理により推定された候補ワークをピッキングするという選択条件が考えられる。
【００３２】
あるいは、ピッキング処理が終了した後に、再度精密な三次元位置姿勢計測を行う方法もある。ステップＳ３０８でトラッキング対象ワークが存在すると判定され且つステップＳ３０３で計測された三次元位置姿勢からの変動がある場合、そのトラッキング対象ワークおよびその周辺のみの距離情報を再度取得し、三次元位置姿勢の計測を行う。周辺とは、トラッキング対象ワークを含む所定の範囲であってもよい。この場合も、トラッキング処理による位置姿勢情報を利用することにより、山積みされた対象ワーク２１０全体から三次元位置姿勢計測を行う場合と比較して高速な計測が可能となる。
【００３３】
このようにして、ピッキング候補ワークが全てなくなるまで処理を繰り返し、山積みされたワークのピッキングを行う。
【００３４】
本実施形態によれば、候補ワークの検出時に複数の候補ワークの位置姿勢を取得し、ワーク同士あるいはワークとロボットアームとの干渉の有無によらずに、複数の候補ワークの位置姿勢情報を保持する。これにより、候補ワークの位置姿勢計測にかかる時間を削減し、山積みされた候補ワーク全体をピッキングするのに要するタクトタイムを短縮することができる。
【００３５】
（第２実施形態）
次に、本発明の第２実施形態について説明する。第１実施形態では、複数の候補ワークを検出し、ピッキング対象ワーク以外の候補ワークをトラッキングすることにより、複数の候補ワークの位置姿勢情報を保持した。これにより、ピッキング動作ごとに三次元位置姿勢計測を行うのに要する計算時間を低減した。しかし、ピッキング動作を行う際に、ロボットアームがグローバルカメラと、トラッキング対象ワークとの間にあり、トラッキング対象ワークが遮蔽された状態でトラッキング対象ワークの三次元位置姿勢が変動すると、トラッキング対象ワークの位置姿勢をトラッキングできなくなる場合がある。
【００３６】
本実施形態では、ピッキング処理中にトラッキング対象ワークがロボットアームによって遮蔽されることによりトラッキング処理が失敗するケースを低減するようにピッキング対象ワークを選択する。これによりトラッキング失敗により候補ワークを見失うケースの発生を抑制することを目的とする。
【００３７】
物体把持装置の構成については、第１実施形態と同様であるため、説明を省略する。本実施形態では、トラッキング失敗率が低下するようなピッキング対象ワークの選択を行うため、図３のステップＳ３０５で説明したピッキング対象ワークおよびトラッキング対象ワークの選択アルゴリズムについて、図５を参照して説明する。
【００３８】
まず、事前に必要なデータを取得する。
【００３９】
ステップＳ５０１において、ピッキング対象ワーク選択部１１０４は、三次元位置姿勢計測部１１０３で計測された複数の候補ワークの三次元位置姿勢情報を取得する。
【００４０】
ステップＳ５０２において、ピッキング対象ワーク選択部１１０４は、データベース１２００に予め用意された候補ワークのピッキングポイント情報、グローバルカメラの三次元位置姿勢情報、ロボットアームのＣＡＤデータ、ワークのＣＡＤデータを取得する。ＣＡＤデータとは、ロボットアームまたはワークの三次元形状情報である。
【００４１】
そして、検出された候補ワークの数Ｎだけ、ステップＳ５０３乃至ステップＳ５０７の各処理を繰り返し実行する。
【００４２】
ステップＳ５０３において、ピッキング対象ワーク選択部１１０４は、ピッキングの候補ワークとして任意のワークＰ（ｉ）（ｉ＝１〜Ｎ）を選択する。
【００４３】
ステップＳ５０４において、ピッキング対象ワーク選択部１１０４は、候補ワークの把持位置情報およびワークＰ（ｉ）の三次元位置姿勢情報に基づいて、Ｐ（ｉ）をピッキングする時のロボットアームの三次元位置姿勢を算出する。図６（ａ）は、候補ワーク４０２がピッキング候補として選択されたときの例を示す。ピッキング対象ワーク選択部１１０４は、候補ワーク４０２の位置姿勢情報と、ワークの把持位置情報と、ロボットアームのＣＡＤデータとから、候補ワーク４０２をピッキングするときのロボットアームの三次元位置姿勢を算出する。
【００４４】
ステップＳ５０５において、ピッキング対象ワーク選択部１１０４は、グローバルカメラから取得される画像に基づいて、その画像領域においてピッキング時にロボットアームによって遮蔽される領域を求め、その遮蔽領域に含まれる候補ワークを検出する。具体的には、ピッキング対象ワーク選択部１１０４は、ステップＳ５０４で算出されたロボットアームの三次元位置姿勢情報と、ロボットアームのＣＡＤデータと、グローバルカメラの三次元位置姿勢情報とから、グローバルカメラに対して、ロボットアームが山積みされたワーク領域のどの部分を遮蔽するかを求める。さらに、ピッキング対象ワーク選択部１１０４は、三次元位置姿勢計測部１１０３により計測された複数の候補ワークの三次元位置姿勢情報を用いて、遮蔽領域に含まれる候補ワークを検出する。
【００４５】
ステップＳ５０６において、ピッキング対象ワーク選択部１１０４は、グローバルカメラから取得される画像に基づいて、ステップＳ５０５で検出された候補ワーク上で遮蔽領域が占める割合を求める。そして、候補ワークの二次元画像上での表面積に対して遮蔽領域の占める割合（遮蔽率）を算出し、ワークｉをピッキングするときのワークｉ以外の全ての候補ワークにおける遮蔽率の総和をＳ（ｉ）とする。図６（ｂ）は、候補ワーク４０２が選択されたときのステップＳ５０５乃至ステップＳ５０６の各処理の一例を示す。まず、ステップＳ５０５では、グローバルカメラと、ロボットアームと、候補ワークとのそれぞれの三次元位置姿勢情報からそれぞれの位置関係を算出し、グローバルカメラから観察した時に遮蔽される候補ワークを検出する。図６（ｂ）では、候補ワーク４０２をピッキングする時には、ロボットアーム２０３により、候補ワーク４０３および候補ワーク４０４の一部が遮蔽されることがわかる。次に、ステップＳ５０６でＳ(候補ワーク４０２)を求める。Ｓ(候補ワーク４０２)は、候補ワーク４０１と、候補ワーク４０３と、候補ワーク４０４と、候補ワーク４０５と、候補ワーク４０６との遮蔽率の総和から求められる。図６（ｂ）では、候補ワーク４０１と、候補ワーク４０５と、候補ワーク４０６とはロボットアーム２０３によって遮蔽されていないので遮蔽率は０となる。一方、候補ワーク４０３および候補ワーク４０４の遮蔽率は、ロボットアーム、ワークのＣＡＤデータおよび三次元位置姿勢情報から算出することができる。例えば候補ワーク４０３の遮蔽率を２０％、候補ワーク４０４の遮蔽率を４０％とすると、Ｓ(候補ワーク４０２)＝０＋０．２＋０．４＋０＋０＝０．６となる。
【００４６】
このようにしてＮ個の候補ワークについてＳ（ｉ）を算出し、ステップＳ５０７において、ピッキング対象ワーク選択部１１０４は、Ｓ（ｉ）の値が最も小さい候補ワークＰ（ｉ）をピッキング対象ワークとして選択する。Ｓ（ｉ）の値が等しい候補ワークが複数存在する場合、第１実施形態と同様に最も山の上にあるワークを選択するものとする。
【００４７】
本実施形態によれば、ピッキング時にロボットアームに遮蔽されることによってグローバルカメラから観察できなくなるトラッキング対象ワークを減らすことができる。また、トラッキングに失敗するワーク数を削減することで三次元位置姿勢計測処理の実行回数を低減することができる。
【００４８】
（第３実施形態）
次に、本発明の第３実施形態について説明する。山積みされたワークをピッキングする際、ロボットアームがピッキング対象ワークを把持する前にロボットアームとの干渉などの要因によりピッキング対象ワーク自体が動いてしまうケースが考えられる。このようなケースではピッキングに失敗する可能性が非常に高くなる。本実施形態では、トラッキング対象ワークだけではなく、ピッキング対象ワークに対しても、ピッキング処理の直前までトラッキング処理を行い、位置姿勢情報を更新する。これにより、ピッキング中にピッキング対象ワークの位置姿勢が変動した場合でも、正しく再ピッキング処理に移行できるようにし、ピッキングの失敗を防ぐようにする。
【００４９】
まず、図３のフローチャートを参照して、本実施形態に係る物体把持装置の処理の流れを説明する。本実施形態では、図３のフローチャートのうち、ステップＳ３０５およびステップＳ３０６の処理フローが異なるため、これらを特に詳細に説明する。
【００５０】
ステップＳ３０１乃至ステップＳ３０４の各処理は第１実施形態と同様である。
【００５１】
ステップＳ３０５では、ピッキング対象ワーク選択部１１０４が、ステップＳ３０３で検出された候補ワークの中からピッキング対象ワークとトラッキング対象ワークとを選択する。ピッキング対象ワークに対してトラッキングを行う場合、グローバルカメラの視野にピッキング対象ワークが含まれる必要がある。そのためピッキング対象ワークはグローバルカメラから観察した時にロボットアームにより遮蔽されない状況が望ましい。そこで、本実施形態におけるピッキング対象ワークは、第２実施形態と同様に、ロボットアームによる遮蔽率を基準に選択される。処理の流れは第２実施形態で説明した通りである。ただし、第２実施形態では、遮蔽率の総和値Ｓ（ｉ）を、ピッキング対象ワークｉを除くＮ?１個のワークの遮蔽率に基づいて算出した。これに対して、本実施形態では、ピッキング対象ワークｉを含むＮ個のワークの遮蔽率に基づいて遮蔽率の総和値を算出する。また、ピッキング対象ワークｉが遮蔽されにくいようにワークｉの遮蔽率に対して重み付けを施してもよい。
【００５２】
次に、ステップＳ３０６において、トラッキング部１１０５は、トラッキング対象ワークおよびピッキング対象ワークのトラッキングを開始する。このとき、ステップＳ３０５で選択されたピッキング対象ワークによってはピッキング対象ワークがロボットアームに遮蔽されておりトラッキングが不可能な場合もある。この場合は、ステップＳ３０６では、トラッキング対象ワークのトラッキングのみを実行し、物体把持装置は第１実施形態と同様に動作する。
【００５３】
ステップＳ３０７において、ピッキング部１１０６は、ピッキング対象ワークのピッキングを行う。ステップＳ３０６でピッキング対象ワークのトラッキングが成功している場合の処理の流れを、図７のフローチャートを参照して説明する。
【００５４】
まずステップＳ７０１において、ピッキング部１１０６は、ピッキング対象ワークに対してピッキング処理を開始する。
【００５５】
そしてステップＳ７０２において、ピッキング部１１０６は、ピッキング対象ワークの位置姿勢がピッキング完了前に変動したか否かを判定する。ピッキング対象ワークの位置姿勢がピッキング完了前に変動したと判定された場合（ステップＳ７０２；ＹＥＳ）、ステップＳ７０３へ進む。一方、ピッキング対象ワークの位置姿勢がピッキング完了前に変動していないと判定された場合（ステップＳ７０２；ＮＯ）、すなわち、ピッキング中に変動が起こらなかった場合、ステップＳ７０６へ進む。
【００５６】
ステップＳ７０３において、ピッキング部１１０６は、位置姿勢変動が生じたピッキング対象ワークのトラッキングに成功したか否かを判定する。ピッキング対象ワークのトラッキングに成功したと判定された場合は（ステップＳ７０３；ＹＥＳ）、ステップＳ７０４へ進む。一方、ピッキング対象ワークのトラッキングに失敗したと判定された場合は（ステップＳ７０３；ＮＯ）、ステップＳ７０５へ進む。
【００５７】
ステップＳ７０４において、ピッキング部１１０６は、トラッキングによって取得された位置姿勢情報をピッキング対象ワークの位置姿勢情報として更新し、再度ステップＳ７０１へ戻る。
【００５８】
ステップＳ７０５において、ピッキング部１１０６は、ピッキング対象ワークの位置姿勢情報が失われピッキングを行うことが不可能であるため、現在のピッキング対象ワークを候補ワークから削除して、ピッキング処理を終了する。
【００５９】
ステップＳ７０６において、ピッキング部１１０６は、ピッキング対象ワークを把持し、所定の位置へと移動させてピッキング処理を終了する。
【００６０】
ステップＳ３０８の処理は、第１実施形態と同様であるため説明を省略する。
【００６１】
本実施形態によれば、ピッキング対象ワークのトラッキングを行うことにより、ピッキング時に起こるピッキング対象ワークの位置姿勢変動によるピッキングの失敗事例の発生を抑制する効果がある。
【００６２】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005767464.tif 000002
【図２】
0005767464.tif 000003
【図３】
0005767464.tif 000004
【図４】
0005767464.tif 000005
【図５】
0005767464.tif 000006
【図６】
0005767464.tif 000007
【図７】
0005767464.tif 000008