(57)【特許請求の範囲】
【請求項１】
撮像領域の画像及び距離情報を含む撮像データを取得する撮像データ取得部と、
前記撮像データを用いて撮像領域内に配置された物体毎の物体領域を検出し、前記物体領域と物体形状モデルに基づいて前記物体の３次元形状データを生成する認識処理部と、
前記３次元形状データに基づいて、アーム部材及びハンド部材の動作を制御する把持制御部と、を有し、
前記把持制御部は、
前記３次元形状データに対する把持の成功確率を出力するモデルデータを保持する保持部と、
前記３次元形状データが示す形状を所定の角度ずつ回転させ、回転させる毎に、前記モデルデータを用いて前記成功確率を算出する成功確率算出部と、
前記成功確率に応じて前記アーム部材及び前記ハンド部材に対し、前記物体の把持の指示を出力する把持指示出力部と、を有する物体把持装置。
【請求項２】
前記把持制御部は、
前記成功確率が閾値以上であるか否かを判定する閾値判定部を有し、
前記把持指示出力部は、
前記成功確率が前記閾値以上であるとき、前記把持の指示を出力する請求項１記載の物体把持装置。
【請求項３】
前記認識処理部は、
複数の物体領域から１つの物体領域を抽出する物体領域抽出部と、
抽出された物体領域に基づき生成された物体の３次元形状データが示す形状の信頼度を算出する信頼度算出部と、を有し、
前記物体領域抽出部は、
前記信頼度が信頼度閾値未満であったとき、
前記複数の物体領域のうち、前記抽出された物体領域よりも撮像装置に近い物体領域を抽出する請求項１又は２記載の物体把持装置。
【請求項４】
前記把持制御部は、
前記信頼度が信頼度閾値以上であり、且つ前記抽出された物体領域と対応する物体が把持対象物でないと判定されたとき、前記物体を把持して前記撮像領域外へ移動させる請求項３記載の物体把持装置。
【請求項５】
撮像領域の画像及び距離情報を含む撮像データを取得する処理と、
前記撮像データを用いて撮像領域内に配置された物体毎の物体領域を検出し、前記物体領域と物体形状モデルに基づいて前記物体の３次元形状データを生成する処理と、
前記３次元形状データに基づいて、アーム部材及びハンド部材の動作指示を出力し、
前記３次元形状データに対する把持の成功確率を出力するモデルデータを保持部に保持し、
前記３次元形状データが示す形状を所定の角度ずつ回転させ、回転させる毎に、前記モデルデータを用いて前記成功確率を算出し、
前記成功確率に応じて前記アーム部材及び前記ハンド部材に対し、前記物体の把持の指示を出力する処理と、をコンピュータに実行させる把持制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体把持装置及び把持制御プログラムに関する。
【背景技術】
【０００２】
従来から、ロボットによるピッキング技術は、産業分野で部品供給や組立工程の自動化を実現するために利用されており、その技術において様々な工夫がなされている。
【０００３】
例えば、従来では、予め用意した三次元モデルを用いたパターンマッチングにより、山積みされたオブジェクトの位置姿勢を認識し、ロボットによるピッキングを行うことが知られている（特許文献１）。
【０００４】
さらに、従来では、ピッキングの対象物の形状が微妙に異なっていたり、対象物の一部が隠れている場合等に関する技術として、センサからの距離分布情報を利用する事で葉と果実を分離し、目的の果実を識別する果実収穫ロボットが知られている（特許文献２）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１記載の技術は、対象物の一部が隠れている状態は想定されていないため、対象物の一部が隠れていた場合には、ピッキングの精度が低下する虞がある。また、特許文献２記載の技術は、対象物である果実の一部が隠れていた場合に、隠れている部分の形状の復元を行っていない。このため、特許文献２記載の技術では、対象物のサイズや形状、重心位置等に合わせて対象物をピッキングすることができず、ピッキングの精度が低下する虞がある。
【０００６】
開示の技術は、対象物を適切に把持させることを目的としている。
【課題を解決するための手段】
【０００７】
開示の技術は、撮像領域の画像及び距離情報を含む撮像データを取得する撮像データ取得部と、前記撮像データを用いて撮像領域内に配置された物体毎の物体領域を検出し、前記物体領域と物体形状モデルに基づいて前記物体の３次元形状データを生成する認識処理部と、前記３次元形状データに基づいて、アーム部材及びハンド部材の動作を制御する把持制御部と、を有し、前記把持制御部は、前記３次元形状データに対する把持の成功確率を出力するモデルデータを保持する保持部と、前記３次元形状データが示す形状を所定の角度ずつ回転させ、回転させる毎に、前記モデルデータを用いて前記成功確率を算出する成功確率算出部と、前記成功確率に応じて前記アーム部材及び前記ハンド部材に対し、前記物体の把持の指示を出力する把持指示出力部と、を有する物体把持装置である。
【発明の効果】
【０００８】
対象物を適切に把持させることができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態の物体把持装置を説明する図である。
【図２】第一の実施形態の物体把持装置の動作の手順を説明する図である。
【図３】第一の実施形態の把持制御装置のハードウェア構成の一例を示す図である。
【図４】第一の実施形態の把持制御装置の機能を説明する図である。
【図５】第一の実施形態の把持制御装置の動作を説明するフローチャートである。
【図６】第二の実施形態の把持制御装置の機能を説明する図である。
【図７】第二の実施形態の把持制御装置の動作を説明するフローチャートである。
【図８】第三の実施形態の把持制御装置の機能を説明する図である。
【図９】第三の実施形態の把持制御装置の動作を説明するフローチャートである。
【図１０】第四の実施形態の把持制御装置の機能を説明する図である。
【図１１】第四の実施形態の把持制御装置の動作を説明するフローチャートである。
【図１２】第四の実施形態の把持制御装置の動作を説明する図である。
【図１３】把持制御システムの一例を示す図である。
【発明を実施するための形態】
【００１０】
（第一の実施形態）
以下に図面を参照して第一の実施形態について説明する。図１は、第一の実施形態の物体把持装置を説明する図である。
【００１１】
本実施形態の物体把持装置１００は、把持制御装置２００と、アーム部材３００と、ハンド部材３１０と、撮像装置４００とを有する。
【００１２】
本実施形態の把持制御装置２００は、把持制御処理部２１０を有し、撮像装置４００が撮像した撮像データに基づき、アーム部材３００とハンド部材３１０を制御する。
【００１３】
本実施形態の把持制御処理部２１０は、撮像データ取得部２２０、認識処理部２３０、把持制御部２４０を有する。
【００１４】
撮像データ取得部２２０は、撮像装置４００が撮像した撮像データを取得する。認識処理部２３０は、撮像データから取得される点群データ、及び画像データから、撮像領域内に存在する物体毎の物体領域を検出し、形状モデルを用いて各物体の形状を復元する。復元された形状は、３次元座標の点群として示される。以下の説明では、この点群を３次元形状データと呼ぶ。
【００１５】
把持制御部２４０は、３次元物体をピッキングするためのアーム部材３００及びハンド部材３１０の動作を制御する。具体的には、把持制御部２４０は、復元された形状に応じて、アーム部材３００及びハンド部材３１０によるピッキングの対象となる３次元物体の把持方法を決定する。各部の処理の詳細は後述する。
【００１６】
本実施形態のアーム部材３００とハンド部材３１０は、３次元物体をピッキングするものであり、把持制御装置２００からの指示により駆動し、動作する。また、本実施形態のハンド部材３１０は、先端部に、ハンド部材３１０が物体に接触したか否かを検出するための接触検知センサが設けられていても良い。本実施形態では、ハンド部材３１０は、回動しない状態で固定されていても良い。
【００１７】
本実施形態の撮像装置４００は、ステレオカメラ、赤外線を利用したイメージセンサ等であり、３次元物体の撮像データを取得する。本実施形態の撮像装置４００は、例えばアーム部材３００に設けられている。より具体的には、撮像装置４００は、アーム部材３００の基端部の近傍に設定されていても良い。
【００１８】
尚、本実施形態における撮像データは、３次元物体の画像データと、撮像装置４００から３次元物体までの距離を示す距離情報と、３次元物体に対する撮像装置４００の角度を示す情報とが含まれる。距離情報は点群データとして表現される。
【００１９】
また、本実施形態におけるピッキングとは、不規則に配置された複数の３次元物体（オブジェクト）を、物体把持装置１００として機能するロボットアームを用いて把持して所定の場所へ移動させる動作を指す。したがって、ピッキングの対象となる３次元物体は、把持の対象となる３次元物体とも言える。以下の説明では、物体把持装置１００によるピッキング（把持）の対象となる３次元物体を把持対象物と呼ぶ。
【００２０】
次に、図２を参照し、本実施形態の物体把持装置１００の動作の概略を説明する。図２は、第一の実施形態の物体把持装置の動作の手順を説明する図である。
【００２１】
本実施形態の物体把持装置１００は、把持制御処理部２１０の撮像データ取得部２２０により、撮像データを取得する（ステップＳ２０１）。続いて、把持制御処理部２１０は、認識処理部２３０により、撮像領域内の各物体の領域を取得し（ステップＳ２０２）、物体毎に形状を補間する（ステップＳ２０３）。本実施形態では、認識処理部２３０による処理により、撮像領域内の物体の形状が復元される。
【００２２】
続いて、把持制御処理部２１０は、把持制御部２４０により、アーム部材３００とハンド部材３１０による把持対象物の把持の仕方を決定する（ステップＳ２０４）。
【００２３】
本実施形態の把持制御部２４０は、把持の仕方が決定されると、アーム部材３００とハンド部材３１０に対して決定された方法で対象物を把持させるように、動作の指示を行う。
【００２４】
ここで、本実施形態の認識処理部２３０による物体の形状の復元について説明する。本実施形態では、撮像データにおいて、撮像装置４００と把持対象物との間を遮る障害物により、把持対象物の画像の一部が欠落していた場合でも、欠落した部分の形状及び姿勢を復元する。
【００２５】
言い換えれば、本実施形態では、把持対象物とアーム部材３００との間に障害物が存在していた場合でも、把持対象物の全体の形状を復元することができる。
【００２６】
したがって、本実施形態によれば、把持対象物が障害物の背後に配置されていた場合等でも、把持対象物の形状の認識精度を向上させることができ、適切に把持対象物を把持できる。
【００２７】
次に、図３を参照して本実施形態の把持制御装置２００のハードウェア構成について説明する。図３は、第一の実施形態の把持制御装置のハードウェア構成の一例を示す図である。
【００２８】
本実施形態の把持制御装置２００は、それぞれバスＢで相互に接続されているメモリ装置２１、演算処理装置２２、インターフェース装置２３、ドライブ装置２４、補助記憶装置２５を含む。
【００２９】
メモリ装置２１は、演算処理装置２２による演算結果の情報等が格納される。演算処理装置２２は、把持制御装置２００の全体的な制御を行う。また、演算処理装置２２は、メモリ装置２１や補助記憶装置２５に格納されたプログラムを実行し、各処理を行う。
【００３０】
インターフェース装置２３は、アーム部材３００や撮像装置４００とのインターフェースである。演算処理装置２２は、インターフェース装置２３を介してアーム部材３００へ駆動指示や動作指示を行っても良い。また、演算処理装置２２は、インターフェース装置２３を介して撮像装置４００から撮像データを取得しても良い。
【００３１】
把持制御プログラムは、把持制御装置２００を制御する各種プログラムの少なくとも一部である。把持制御プログラムは例えば記録媒体２６の配布やネットワークからのダウンロードなどによって提供される。把持制御プログラムを記録した記録媒体２６は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３２】
また、把持制御プログラムは、把持制御プログラムを記録した記録媒体２６がドライブ装置２４にセットされるとは記録媒体２６からドライブ装置２４を介して補助記憶装置２５にインストールされる。補助記憶装置２５は、インストールされた把持制御プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置２１は、把持制御装置２００の起動時に補助記憶装置２５から把持制御プログラムを読み出して格納する。そして、演算処理装置２２はメモリ装置２１に格納された把持制御プログラムに従って、後述するような各種処理を実現している。
【００３３】
尚、本実施形態の把持制御装置２００は、例えばネットワークと接続するための通信インターフェース等を有しており、ネットワークを介して把持制御プログラムをダウンロードしても良い。
【００３４】
次に、図４を参照して、本実施形態の把持制御装置２００の機能について説明する。図４は、第一の実施形態の把持制御装置の機能を説明する図である。
【００３５】
本実施形態の把持制御装置２００は、把持制御処理部２１０を有する。本実施形態の把持制御処理部２１０は、把持制御装置２００の演算処理装置２２が、把持制御プログラムをメモリ装置２１等から読み出して実行することで実現される。
【００３６】
本実施形態の把持制御処理部２１０は、撮像データ取得部２２０、認識処理部２３０、把持制御部２４０を有する。以下では、認識処理部２３０と把持制御部２４０について説明する。始めに、認識処理部２３０について説明する。
【００３７】
認識処理部２３０は、物体領域検出部２３１と、形状復元部２３２とを有し、撮像データと、把持対象物の形状モデルとに基づき、撮像領域において把持対象物が配置された領域を検出し、把持対象物の形状を復元する。
【００３８】
物体領域検出部２３１は、撮像データに含まれる画像データと距離情報（点群データ）に基づき、撮像領域において物体が存在する領域を検出する。
【００３９】
以下に、物体が存在する領域（以下、物体領域）の検出について説明する。撮像領域内の点群データ、又は距離画像データから、任意の形状の各オブジェクトに相当する領域（物体の点群データ又は物体領域を示すセグメント）を抽出する方法は、既存の研究が数多くあり、これら技術を適用する事ができる。
【００４０】
具体的には、例えば、非特許文献１では、入力の画像データ及び距離情報に基づいて、オブジェクト単位の領域情報を返すアルゴリズムが提案されている。本実施形態の物体領域検出部２３１は、例えばこのような手法により、物体領域を検出すれば良い。
【００４１】
次に、物体の形状の復元について説明する。本実施形態の形状復元部２３２では、物体領域検出部２３１により検出された物体領域を示す情報と、形状モデルを組み合わせる事で、元の物体の形状を類推する。
【００４２】
具体的には、例えば、部分的に遮蔽された物体の形状を復元する手法としてShape prior segmentationという技術が知られている。この技術では、見えている部分の情報に関する確からしさと、見えている部分から全体形状を補間類推した際のその形状の確からしさ、という２項で、以下の式（１）に示すコスト関数Ｅが定義される。１項目はデータ項、２項目はshape項とここでは呼ぶことにする。λは、どちらの項をより優先的に扱うかを決めるバランス係数である。このコスト関数Ｅは、物体復元処理の信頼度を示す。
【００４３】
Ｅ＝Ｅｄａｔａ＋λＥｓｈａｐｅ          式（１）
このコスト関数を最小化することで、見えている部分の確からしさと、見えている部分をベースに補間した形状の物体形状らしさが最適化されることになる。
【００４４】
以下に、１つの物体を対象として形状補間する場合について説明する。Shape Prior segmentationという技術については、これまで多くの研究が成されており、その代表的なものとして、非特許文献２と非特許文献３が挙げられる。これらの手法では、Shape項をＰＣＡ（Principal Component Analysis）など統計的なモデルを用いて表現している。
【００４５】
更に、近年では、機械学習を用いて、複数の物体の形状分布を学習する方法が提案されている（非特許文献４参照）。この技術を用いると、例えば複数の物体の情報を（ラベルなし）学習データとして与えると、新しく入力された物体形状について、学習済みの形状に近づけるよう作用するため、一部が欠損された物体が入力された場合、欠損を補う方向に補間させる事になる。
【００４６】
次に、複数の物体を対象として形状補間する場合について説明する。この場合には、撮像領域内に存在する複数の物体領域が与えられていると仮定する。
【００４７】
物体に対する遮蔽が、物体の前に置かれている物体（障害物）によって生じているとすると、遮蔽している物体（障害物）の形状を用いる事で、効果的に物体形状を補間する事ができる。このような問題はSegmentation with Depthと呼ばれ、非特許文献５において定義されている。
【００４８】
このアルゴリズムに与えるデータはグレースケールであるため、深度情報に基づいて、各領域をある輝度値で塗りつぶすことを考える。また、深度情報に基づいて、各領域の順序関係は簡単に求める事ができる。Segmentation with Depth問題を解くと、各物体の真の形状（輪郭）が同時に復元される。この際、Shape項として、機械学習で得られた形状モデルを用いる事で、カテゴリの異なる物体の形状も同時に復元する事ができる。
【００４９】
本実施形態の認識処理部２３０では、上述したような既存の技術を用いて、撮像データから物体領域の検出と物体の形状の復元や、遮蔽された物体の形状の補間を行い、物体の３次元形状データを生成する。
【００５０】
次に、本実施形態の把持制御部２４０について説明する。本実施形態の把持制御部２４０は、学習モデル保持部２４１、成功確率算出部２４２、閾値判定部２４３、把持指示出力部２４４を有する。
【００５１】
本実施形態の学習モデル保持部２４１は、学習モデル２５０を保持している。学習モデル２５０は、画像データを入力とし、成功確率を出力とする関数である。本実施形態では、学習モデル２５０は、予め生成されて、把持制御装置２００に格納されている。
【００５２】
以下に、学習モデル２５０の生成について説明する。本実施形態では、各物体の３次元形状データを取得し、様々な位置、角度でハンド部材３１０により物体を把持する試行を繰り返し、成功と失敗の事例を記憶する。具体的には、この学習では、把持が成功した時の角度分回転させた状態で３次元形状データに１を対応付けて保存し、把持が失敗した時の角度分回転させた状態で３次元形状データに０を対応付けて保存する。このような対応付けを行うことで、様々な角度の３次元形状データ毎に、把持に成功した確率を求めることができる。
【００５３】
本実施形態では、この学習結果から、画像データと、この画像データから復元される３次元形状データが把持に成功する確率（以下、成功確率）との関係を表す関数を生成し、学習モデル２５０としている。言い換えれば、学習モデル２５０は、画像データから生成される３次元形状データにおける成功確率を求めるための関数である。
【００５４】
本実施形態の成功確率算出部２４２は、認識処理部２３０により生成された３次元形状データと、学習モデル２５０とから成功確率を算出する。
【００５５】
閾値判定部２４３は、算出された成功確率と閾値とを比較し、成功確率が閾値以上であるか否かを判定する。尚、閾値は、予め設定されている値であり、閾値判定部２４３が保持していても良い。本実施形態の閾値は、物体把持装置１００の利用者等により任意に変更されるものであっても良い。
【００５６】
把持指示出力部２４４は、成功確率が閾値以上となったときの３次元形状データに基づき、アーム部材３００に対して物体の把持させる指示を出力する。
【００５７】
次に、図５を参照して本実施形態の把持制御装置２００の動作を説明する。図５は、第一の実施形態の把持制御装置の動作を説明するフローチャートである。
【００５８】
本実施形態の把持制御処理部２１０は、撮像データ取得部２２０により、撮像装置４００が撮像した把持対象物を含む撮像データを取得する（ステップＳ５０１）。尚、本実施形態では、撮像データを取得する前に、アーム部材３００を、把持対象物を把持できる位置まで移動させておくものとした。また、本実施形態の撮像データ取得部２２０は、ステップＳ５０１において撮像データを取得した後も、把持対象物を含む撮像データを取得し続けても良い。言い換えれば、撮像データ取得部２２０は、撮像装置４００から、把持対象物の動画を撮像させ、動画の１フレームを取得して認識処理部２３０へ渡しても良い。
【００５９】
続いて、把持制御処理部２１０は、認識処理部２３０の物体領域検出部２３１により、撮像データから物体領域を検出する（ステップＳ５０２）。続いて、認識処理部２３０は、形状復元部２３２により、把持対象物の３次元形状データを生成する（ステップＳ５０３）。このとき、形状復元部２３２は、把持対象物の一部が障害物等により隠れている場合には、補間により、隠れている部分も復元した３次元形状データを生成する。
【００６０】
次に、把持制御部２４０は、全ての角度の３次元形状データに対して、ステップＳ５０５以降の処理を行ったか否かを判定する（ステップＳ５０４）。ステップＳ５０４において、全ての角度について処理を行った場合、把持制御処理部２１０は処理を終了する。
【００６１】
ステップＳ５０４において、全ての角度において処理を行っていない場合、把持制御部２４０は、成功確率算出部２４２により、生成した把持対象物の３次元形状データを所定の角度回転させる（ステップＳ５０５）。所定の角度とは、例えばπ／１０である。
【００６２】
続いて成功確率算出部２４２は、回転させた３次元形状データと、学習モデル２５０とから、成功確率を算出する（ステップＳ５０６）。
【００６３】
続いて、把持制御部２４０は、閾値判定部２４３により、算出した成功確率が閾値以上であるか否かを判定する（ステップＳ５０７）。ステップＳ５０７において、成功確率が閾値以上でない場合、把持制御処理部２１０はステップＳ５０４へ戻る。
【００６４】
ステップＳ５０７において、成功確率が閾値以上であった場合、把持制御部２４０は、把持指示出力部２４４により、ハンド部材３１０に対する把持指示を行い（ステップＳ５０８）、処理を終了する。
【００６５】
このとき、把持指示出力部２４４は、ステップＳ５０６において成功確率が閾値以上となったときの３次元形状データの回転角度を取得する。そして、把持指示出力部２４４は、撮像装置４００から取得する撮像データを参照して、ハンド部材３１０と把持対象物との位置関係が、回転させた３次元形状データと一致するようにアーム部材３００及びハンド部材３１０を動作させる。
【００６６】
つまり、把持指示出力部２４４は、アーム部材３００に設けられた撮像装置４００から取得される撮像データに含まれる把持対象物が、回転させた３次元形状データと一致する角度となる位置に、アーム部材３００を移動させ、ハンド部材３１０に把持対象物を把持させる。
【００６７】
本実施形態では、このようにアーム部材３００とハンド部材３１０の動作を制御することで、一定以上の成功確率を有する状態において、把持対象物を把持させることができ、把持対象物を適切に把持させることができる。
【００６８】
また、本実施形態では、認識処理部２３０における把持対象物の３次元形状データの生成において、撮像データから取得した把持対象物の画像の一部が、障害物等により遮蔽されて欠損している場合には、欠損部分を補間する。したがって、本実施形態では、３次元形状データを把持対象物の真の形状に近づけることができ把持対象物の形状の認識精度を向上させることができる。
【００６９】
尚、本実施形態では、ハンド部材３１０は、回動しない状態で固定されている状態を想定しているが、これに限定されない。ハンド部材３１０がアーム部材３００に対して回動可能な状態で固定されている場合には、ハンド部材３１０に撮像装置４００を設けても良い。この場合、成功確率が閾値以上となった場合には、ハンド部材３１０のみを回転させれば良い。
【００７０】
尚、把持制御部２４０は、例えば上述した方法以外の方法でアーム部材３００とハンド部材３１０とを制御しても良い。
【００７１】
復元される物体は、３次元点群、またはＶｏｘｅｌ群として表現する事ができる。このように大きさやサイズが既知の物体を把持するアルゴリズムは、従来から数多く提案されている。一般に、ヒューリスティックに把持方法を探索する場合、その探索範囲が非常に大きい点が問題となる。その解決策として、物体をいくつかの外接矩形の組に分解することで物体形状を単純化し、探索範囲を縮小させ方法が知られている（非特許文献６）。この方法では、まず、３次元形状全体に矩形をフィッティング（Ｌｅｖｅｌ１）させ、３次元矩形の数がなるべく少なく、かつ矩形の体積の総和がなるべく小さくなるように元の物体を分割し、最終的に深さＬｅｖｅｌＮの外接矩形の分割木を構成する。これより、物体形状を近似しつつ、形状は２Ｎ−１個のノードを持つ木として表現することができる。
【００７２】
（第二の実施形態）
以下に、図面を参照して第二の実施形態について説明する。第二の実施形態では、ハンド部材３１０が把持対象物を把持する際の接触点が可視状態であるか否かを考慮する点が、第一の実施形態と相違する。したがって、以下の第二の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００７３】
図６は、第二の実施形態の把持制御装置の機能を説明する図である。第二の実施形態の把持制御装置２００Ａの把持制御処理部２１０Ａは、把持制御部２４０Ａを有する。本実施形態の把持制御部２４０Ａは、第一の実施形態の把持制御部２４０の有する各部に加え、可視領域判定部２４５を有する。
【００７４】
本実施形態の可視領域判定部２４５は、撮像データ取得部２２０により取得される撮像データにおいて、把持対象物のおける把持部分の画像が欠落していないか否かを判定する。把持位置とは、把持対象物において、ハンド部材３１０により把持される部分である。
【００７５】
言い換えれば、可視領域判定部２４５は、撮像データに把持対象物の把持部分の画像が写っているか否かを判定する。
【００７６】
次に、図７を参照し、本実施形態の把持制御装置２００Ａの動作を説明する。図７は、第二の実施形態の把持制御装置の動作を説明するフローチャートである。
【００７７】
図７のステップＳ７０１からステップＳ７０７までの処理は、図５のステップＳ５０１からステップＳ５０７までの処理と同様であるから、説明を省略する。
【００７８】
ステップＳ７０７において、成功確率αが閾値ｔｈ以上であった場合、把持制御部２４０Ａは、可視領域判定部２４５により、撮像データにおいて把持対象物の把持部分の画像が可視領域内であるか否かを判定する（ステップＳ７０８）。
【００７９】
ステップＳ７０８において、把持部分の画像が可視領域内でない場合、つまり、把持部分の画像が障害物等により隠れて欠損している場合、把持制御処理部２１０Ａは、ステップＳ７０４に戻る。
【００８０】
ステップＳ７０８において、把持部分の画像が可視領域内にある場合、把持制御部２４０Ａは、ステップＳ７０９へ進む。ステップＳ７０９の処理は、図５のステップＳ５０８の処理と同様であるから、説明を省略する。
【００８１】
以上のように、本実施形態では、成功確率が閾値以上であり、且つ把持対象物の把持部分とアーム部材３００との間に障害物が存在しないとき、成功確率と対応する３次元形状データに応じてアーム部材３００とハンド部材３１０を動作させ、把持対象物を把持させることができる。よって、本実施形態によれば、把持対象物を適切に把持させることができる。
【００８２】
（第三の実施形態）
以下に図面を参照して第三の実施形態について説明する。第三の実施形態は、成功確率が最大値となる３次元形状データと対応する角度で把持対象物を把持させる点が第一の実施形態と相違する。よって、以下の第三の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００８３】
図８は、第三の実施形態の把持制御装置の機能を説明する図である。
【００８４】
第三の実施形態の把持制御装置２００Ｂの把持制御処理部２１０Ｂは、把持制御部２４０Ｂを有する。本実施形態の把持制御部２４０Ｂは、学習モデル保持部２４１、成功確率算出部２４２Ａ、最大値取得部２４６、把持指出力部２４４を有する。つまり、把持制御部２４０Ｂは、第一の実施形態の把持制御部２４０の閾値判定部２４３の代わりに、最大値取得部２４６を有する。
【００８５】
本実施形態の成功確率算出部２４２Ａは、成功確率を算出すると、回転させた角度と算出した成功確率とを対応付けて保持しておく。
【００８６】
本実施形態の最大値取得部２４６は、成功確率算出部２４２が算出した成功確率が、成功確率の最大値であるか否かを判定する。
【００８７】
次に、図９を参照して、第三の実施形態の把持制御装置２００Ｂの動作について説明する。図９は、第三の実施形態の把持制御装置の動作を説明するフローチャートである。
【００８８】
図９のステップＳ９０１からステップＳ９０５の処理は、図５のステップＳ５０１からステップＳ５０５までの処理と同様であるから、説明を省略する。尚、図９では、ステップＳ９０４で全ての角度の３次元形状データに対して、ステップＳ９０５以降の処理を行ったとき、ステップＳ９０７へ進む。
【００８９】
ステップＳ９０５に続いて、把持制御部２４０Ｂの成功確率算出部２４２Ａは、回転させた３次元形状データと、学習モデル２５０とから、成功確率を算出し、回転させた角度と成功確率とを対応付けて保持し（ステップＳ９０６）、把持制御部２４０ＢはステップＳ９０４へ戻る。
【００９０】
ステップＳ９０４において、全ての角度の３次元形状データに対して、ステップＳ９０５、ステップＳ９０６の処理を行った場合、把持制御部２４０Ｂは、最大値取得部２４６により、成功確率の最大値と対応付けられた角度を取得する（ステップＳ９０７）。
【００９１】
続いて、把持制御部２４０Ｂは、把持指示出力部２４４により、撮像データにおける把持対象物の形状と、取得した角度分回転させた３次元形状データが示す形状とが一致する角度から把持対象物を把持するように、アーム部材３００とハンド部材３１０に対する把持の指示を行い（ステップＳ９０８）、処理を終了する。
【００９２】
以上のように、本実施形態では、成功確率が最大値となる状態となる位置にアーム部材３００を動かして、ハンド部材３１０把持対象物を把持させることができる。したがって、本実施形態によれば、把持対象物を適切に把持させることができる。
【００９３】
（第四の実施形態）
以下に図面を参照して第四の実施形態について説明する。以下の第四の実施形態の説明では、第一の実施形態との相違点についてのみ説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【００９４】
本実施形態では、把持対象物とアーム部材３００との間に存在する障害物を、任意の場所に移動させていくことで、把持対象物を把持しやすい環境を作り、把持対象物を適切に把持させる。
【００９５】
図１０は、第四の実施形態の把持制御装置の機能を説明する図である。本実施形態の把持制御装置２００Ｃは、把持制御処理部２１０Ｃを有する。
【００９６】
把持制御処理部２１０Ｃは、撮像データ取得部２２０、認識処理部２３０Ａ、把持制御部２４０Ｃを有する。
【００９７】
本実施形態の認識処理部２３０Ａは、第一の実施形態の認識処理部２３０の有する各部に加え、物体領域抽出部２５１、信頼度算出部２５２、信頼度閾値判定部２５３を有する。
【００９８】
本実施形態の物体領域抽出部２５１は、物体領域検出部２３１により検出された物体領域を抽出する。より具体的には、物体領域抽出部２５１は、撮像データから複数の物体領域が検出されたとき、複数の物体領域から１つの物体領域を抽出する。
【００９９】
信頼度算出部２５２は、形状復元部２３２により復元された物体の形状の信頼度を算出する。
【０１００】
本実施形態の信頼度は、物体の３次元形状データが示す形状が、どの程度物体の真の形状に近いかという度合いを示すものであり、以下の式（２）に示すように、コスト関数Ｅの逆数で表現される。
【０１０１】
信頼度＝１／Ｅ          式（２）  
本実施形態では、信頼度の値が大きいほど、物体の３次元形状データが示す形状が物体の真の形状に近いものとなる。
【０１０２】
本実施形態の信頼度閾値判定部２５３は、算出された信頼度が、信頼度閾値以上であるか否かを判定する。本実施形態の信頼度閾値は、予め設定されており、信頼度閾値判定部２５３に保持されていても良い。本実施形態の信頼度閾値は、任意に変更が可能な値であっても良い。
【０１０３】
本実施形態の把持制御部２４０Ｃは、把持指示出力部２４４、対象物判定部２５４を有する。本実施形態の対象物判定部２５４は、ハンド部材３１０により把持された物体が、把持対象物であるか否かを判定する。具体的には、対象物判定部２５４は、ハンド部材３１０により把持された物体の撮像データから、把持された物体が把持対象物であるか否かを判定しても良い。
【０１０４】
図１１は、第四の実施形態の把持制御装置の動作を説明するフローチャートである。
【０１０５】
図１１のステップＳ１１０１とステップＳ１１０２の処理は、図５のステップＳ５０１とステップＳ５０２の処理と同様であるから、説明を省略する。
【０１０６】
ステップＳ１１０２において各物体の物体領域が検出されると、認識処理部２３０Ａは、物体領域抽出部２５１により、把持対象物の物体領域を抽出する（ステップＳ１１０３）。
【０１０７】
続いて、認識処理部２３０Ａは、形状復元部２３２により、物体領域抽出部２５１が抽出した物体領域から、把持対象物の形状を復元して補間し、３次元形状データを生成する（ステップＳ１１０４）。
【０１０８】
続いて、認識処理部２３０Ａは、信頼度算出部２５２により、式（２）により、ステップＳ１１０４で生成された３次元形状データの示す形状の信頼度を算出する（ステップＳ１１０５）。続いて、認識処理部２３０Ａは、信頼度閾値判定部２５３により、信頼度が信頼度閾値以上であるか否かを判定する（ステップＳ１１０６）。
【０１０９】
ステップＳ１１０６において、信頼度が信頼度閾値以上でない場合、認識処理部２３０Ａは、物体領域抽出部２５１により、物体領域検出部２３１が検出した物体領域のうち、抽出された物体領域の次に撮像装置４００から離れている物体領域を抽出し（ステップＳ１１０７）、ステップＳ１１０４へ戻る。
【０１１０】
ステップＳ１１０６において、信頼度が信頼度閾値以上である場合、認識処理部２３０Ａは把持制御部２４０Ｃにこれを通知する。把持制御部２４０Ｃは、把持指示出力部２４４により、アーム部材３００及びハンド部材３１０に対し、ステップＳ１１０４で生成した３次元形状データと対応する物体の把持を指示する（ステップＳ１１０８）。
【０１１１】
続いて、把持制御部２４０Ｃは、対象物判定部２５４により、把持された物体が把持対象物であるか否かを判定する（ステップＳ１１０９）。ステップＳ１１０９において、把持された物体が把持対象物であった場合、把持制御処理部２１０Ｃは処理を終了する。
【０１１２】
ステップＳ１１０９において、把持した物体が把持対象物でない場合、把持指示出力部２４４は、アーム部材３００及びハンド部材３１０に対し、把持した物体を任意の方向への移動を指示する（ステップＳ１１１０）。本実施形態では、物体が把持対象物でない場合、この物体が撮像装置４００と把持対象物の間を遮らない位置へ移動させれば良い。
【０１１３】
続いて、認識処理部２３０Ａは、物体領域抽出部２５１により、物体領域検出部２３１が検出した物体領域のうち、最も撮像装置４００に近い物体の物体領域をステップＳ１１１１）、ステップＳ１１０４へ戻る。尚、ステップＳ１１１１では、ステップＳ１１１０において物体が、撮像データに含まれない位置へ移動された後の撮像データにおいて、最も撮像装置４００に近い物体の物体領域を抽出する。
【０１１４】
以上のように、本実施形態では、把持対象物とアーム部材３００との間に障害物が存在する場合でも、障害物を移動させることで、把持対象物の形状の認識精度を向上させる。
【０１１５】
以下に、図１２を参照し、本実施形態の把持制御処理部２１０Ｃの処理を具体的に説明する。図１２は、第四の実施形態の把持制御装置の動作を説明する図である。
【０１１６】
図１２では、図１２（Ａ）に示すように物体が配置されており、撮像装置４００の撮像面が矢印Ｙ１方向を向くようにして撮像データを取得する場合を示している。図１２（Ｂ）は、撮像面を矢印Ｙ１方向に向けて撮像した際の画像の例を示している。
【０１１７】
図１２では、物体１２３を把持対象物とし、物体１２１と物体１２２を障害物としている。
【０１１８】
本実施形態の把持制御処理部２１０Ｃにおいて、物体領域検出部２３１は、始めに把持対象物である物体１２３の物体領域を検出する。ここで検出される物体領域は、図１２（Ｂ）に示す物体領域１２３Ａである。
【０１１９】
続いて、把持制御処理部２１０Ｃは、物体領域１２３Ａから物体１２３の形状を復元し、復元された形状の信頼度を算出する。このとき、物体１２３の画像は、物体１２２の画像と物体１２１の画像が重なっており、一部が欠落している。したがって、物体領域１２３Ａからは、一部が欠落した物体１２３の形状が復元されることになり、信頼度は信頼度閾値未満となる。
【０１２０】
すると、把持制御処理部２１０Ｃは、物体１２３の次に撮像装置４００から離れている物体の物体領域を抽出する。ここでは、物体１２３の次に撮像装置４００から離れている物体は、物体１２２である。よって、把持制御処理部２１０Ｃは、物体１２２の物体領域１２２Ａを抽出する。そして、物体領域１２２Ａから物体１２２の形状を復元し、復元された形状の信頼度を算出する。
【０１２１】
このとき、物体１２２の画像は、物体１２１の画像が重なっており、一部が欠落している。したがって、物体領域１２２Ａからは、一部が欠落した物体１２２の形状が復元されることになり、信頼度は信頼度閾値未満となる。
【０１２２】
次に、把持制御処理部２１０Ｃは、物体１２２の次に撮像装置４００から離れている物体の物体領域を抽出する。ここでは、物体１２２の次に撮像装置４００から離れている物体は、物体１２１である。よって、把持制御処理部２１０Ｃは、物体１２１の物体領域１２１Ａを抽出する。そして、物体領域１２１Ａから物体１２１の形状を復元し、復元された形状の信頼度を算出する。
【０１２３】
このとき、物体１２１の画像は欠落がない。したがって、物体領域１２１Ａからは、物体１２１の形状が復元されることになり、信頼度は信頼度閾値以上となる。
【０１２４】
よって、把持制御処理部２１０Ｃは、物体１２１を把持し、物体１２１が把持対象物であるか否かを判定する。物体１２１は把持対象物ではないため、把持制御処理部２１０Ｃは、物体１２１を、撮像装置４００を遮らない位置へ移動させる。つまり、把持制御処理部２１０Ｃは、物体１２１を撮像装置４００の撮像領域外へ再配置する。
【０１２５】
次に、把持制御処理部２１０Ｃは、物体１２１の移動後の状態で、最も撮像装置４００に近い物体領域を抽出する。物体１２１の移動後において、最も撮像装置４００に近い物体領域は、物体１２２の物体領域である。このとき、物体１２１が移動させられたため、物体１２２の画像には欠落がない。したがって、物体１２２の物体領域から物体１２２の形状が復元されることになり、信頼度は信頼度閾値以上となる。よって、物体１２１と同様に、物体１２２も移動させられる。
【０１２６】
この状態で、把持対象物の物体１２３とアーム部材３００との間の障害物が取り除かれる。この後も、把持制御処理部２１０Ｃは同様に、欠落のない物体１２３の物体領域を抽出し、物体１２３の形状を復元する。
【０１２７】
そして、把持制御処理部２１０Ｃは、物体１２３が把持対象物であると判定し、アーム部材３００とハンド部材３１０による把持対象物の把持制御に関する処理を終了する。
【０１２８】
尚、把持制御処理部２１０Ｃは、把持対象物を把持した後は、把持対象物を所定の場所へ移動させる。
【０１２９】
以上のように、本実施形態によれば、把持対象物とアーム部材３００との間に存在する障害物を取り除くことができ、把持対象物を適切に把持させることができる。
【０１３０】
尚、上述した各実施形態では、物体把持装置１００が把持制御処理部２１０を有する構成としたが、これに限定されない。
【０１３１】
物体把持装置１００は、例えば把持制御処理部２１０を有するコンピュータにより制御されても良い。
【０１３２】
図１３は、把持制御システムの一例を示す図である。
【０１３３】
把持制御システム５００は、物体把持装置１００Ａと情報処理装置６００とを有する。物体把持装置１００Ａと情報処理装置６００とは、ネットワークを介して接続される。
【０１３４】
物体把持装置１００Ａは、通信部１１０と、アーム部材３００と、ハンド部材３１０と、撮像装置４００とを少なくとも有する。尚、物体把持装置１００Ａは、アーム部材３００、ハンド部材３１０を駆動させる駆動部や、撮像装置４００を制御する制御部等を有していても良い。
【０１３５】
情報処理装置６００は、把持制御処理部２１０を有する。情報処理装置６００は、例えば一般のコンピュータ等であり、把持制御処理部２１０を実現する把持制御プログラムがインストールされている。
【０１３６】
把持制御システム５００では、情報処理装置６００が、物体把持装置１００Ａの通信部１１０から出力される撮像データを取得し、把持制御処理部２１０の処理を行う。そして、情報処理装置６００は、把持制御処理部２１０が出力した指示を物体把持装置１００Ａへ送信する。物体把持装置１００Ａは、通信部１１０を介して指示を受け取り、アーム部材３００とハンド部材３１０とを動作させる。
【０１３７】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１３８】
１００、１００Ａ  物体把持装置
２００、２００Ａ、２００Ｂ、２００Ｃ  把持制御装置
２１０、２１０Ａ、２１０Ｂ、２１０Ｃ  把持制御処理部
２２０  撮像データ取得部
２３０  認識処理部
２３１  物体領域検出部
２３２  形状復元部
２４０、２４０Ａ、２４０Ｂ、２４０Ｃ  把持制御部
２４１  学習モデル保持部
２４２  成功確率算出部
２４３  閾値判定部
２４４  把持指示出力部
２４５  可視領域判定部
２４６  最大値取得部
２５０  学習モデル
２５１  物体領域抽出部
２５２  信頼度算出部
２５３  信頼度閾値判定部
２５４  対象物判定部
３００  アーム部材
３１０  ハンド部材
４００  撮像装置
【先行技術文献】
【特許文献】
【０１３９】
【特許文献１】特許第３３７７４６５号公報
【特許文献２】特許第３１３９０７４号公報
【非特許文献】
【０１４０】
【非特許文献１】Z. Jia, A. Gallagher, A. Saxena and T. Chen, "3D-Based Reasoning with Blocks, Support, and Stability.", Computer Vision and Pattern Recognition (CVPR), 2013
【非特許文献２】M. Leventon, W. Grimson, and O. Faugeras, "Statistical shape influence in geodesic active contours," in Proc. Conf. Comput. Vis. Pattern Recognit., vol. 1. 2000, pp. 316-323.
【非特許文献３】A. Tsai, A. Yezzi, Jr., W. Wells, C. Tempany, D. Tucker, A. Fan, W. E. Grimson, and A. Willsky, "A shape-based approach to the segmentation of medical imagery using level sets," IEEE Trans. Med. Imag., vol. 22, no. 2, pp. 137-154, Feb. 2003.
【非特許文献４】F. Chen, H. Yu, R. Hu, and X. Zeng, "Deep learning shape priors for object segmentation," in Proc. IEEE Conf. CVPR, Jun. 2013, pp. 1870-1877.
【非特許文献５】Zhu, Wei, Tony Chan, and Selim Esedo g￣ lu. "Segmentation with depth: A level set approach." SIAM journal on scientific computing 28.5 (2006): 1957-1973.
【非特許文献６】Goldfeder, Corey, et al. "Grasp planning via decomposition trees." Robotics and Automation, 2007 IEEE International Conference on. IEEE, 2007.
【図１】
0006724499.tif 000002
【図２】
0006724499.tif 000003
【図３】
0006724499.tif 000004
【図４】
0006724499.tif 000005
【図５】
0006724499.tif 000006
【図６】
0006724499.tif 000007
【図７】
0006724499.tif 000008
【図８】
0006724499.tif 000009
【図９】
0006724499.tif 000010
【図１０】
0006724499.tif 000011
【図１１】
0006724499.tif 000012
【図１２】
0006724499.tif 000013
【図１３】
0006724499.tif 000014