(57)【要約】【課題】把持の信頼性を向上可能な把持対象物の把持パターン検出方法およびロボットを提供する。【解決手段】把持対象物の把持パターン検出方法は、距離点群を取得する距離点群取得ステップと、距離点群に基づく把持パターンと、当該把持パターンに基づくハンドをモデル化して表現したハンドモデルと、をそれぞれ複数生成する把持パターン生成ステップと、把持対象物４の存在により隠されて距離センサ２により距離点群を取得できなかった隠れ領域において隠れ領域距離点群を生成する隠れ領域距離点群生成ステップと、隠れ領域距離点群と、把持パターンのハンドモデルとの衝突体積を計算する衝突体積計算ステップと、衝突体積が所定の閾値以上であるか否かを判定し、所定の閾値以上であると判定した場合に、当該把持パターンを棄却する衝突判定ステップと、を有する。【選択図】図５
2014200882.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのハンドの把持位置姿勢情報である把持パターンを適切に検出する把持対象物の把持パターン検出方法であって、
距離センサの視点位置からの前記把持対象物までの距離値データを計測し、当該距離値データを距離点として当該距離点の集合である距離点群を取得する距離点群取得ステップと、
前記取得された前記距離点群に基づく前記把持パターンと、当該把持パターンに基づく前記ハンドをモデル化して表現したハンドモデルと、をそれぞれ複数生成する把持パターン生成ステップと、
前記把持対象物の存在により隠されて前記距離センサにより前記距離点群を取得できなかった隠れ領域において隠れ領域距離点群を生成する隠れ領域距離点群生成ステップと、
前記生成された前記隠れ領域距離点群と、前記生成された前記把持パターンの前記ハンドモデルとの衝突体積を計算する衝突体積計算ステップと、
前記計算された前記衝突体積が所定の閾値以上であるか否かを判定し、前記所定の閾値以上であると判定した場合に、当該把持パターンを棄却する衝突判定ステップと、を有する、
把持対象物の把持パターン検出方法。
【請求項２】
前記衝突判定ステップにおいて全ての前記把持パターンが棄却判定された場合に、当該棄却された把持パターンのうちで前記衝突体積が最も小さい把持パターンを選択し、当該選択した把持パターンに関して、前記距離センサの前記視点位置を仮想的な位置に変更し、当該変更した視点位置において、前記隠れ領域距離点群生成ステップと、前記衝突体積計算ステップと、前記衝突判定ステップと、を実行し、当該衝突判定ステップにおいて、前記所定の閾値より小さいと判定した場合には、前記変更した仮想的な位置を最適視点位置として出力する最適視点位置計算ステップと、
前記出力された前記最適視点位置へと前記距離センサの前記視点位置が移動するように、前記距離センサの位置を制御する視点位置誘導制御ステップと、
前記距離センサの視点位置が前記最適視点位置に到達した場合に、前記距離点群取得ステップと、前記把持パターン生成ステップと、前記隠れ領域距離点群生成ステップと、前記衝突判定ステップと、を再び実行する再確認ステップと、を更に有する、
請求項１に記載の把持対象物の把持パターン検出方法。
【請求項３】
前記把持パターン生成ステップでは、
前記距離点群取得ステップにおいて前記取得した前記距離点群と、前記隠れ領域距離点群生成ステップにおいて前記生成した前記隠れ領域距離点群と、に基づいて、前記把持パターンを生成する、
請求項１または２に記載の把持対象物の把持パターン検出方法。
【請求項４】
前記視点位置と、前記取得した前記距離点群のうちの任意の１の距離点とを結ぶ距離点方向ベクトルを計算する距離点方向ベクトル計算ステップを更に備え、
前記隠れ領域距離点群生成ステップでは、
前記計算した前記距離点方向ベクトルに沿って、前記隠れ領域距離点群を生成する、
請求項１から３いずれか１項に記載の把持対象物の把持パターン検出方法。
【請求項５】
前記隠れ領域距離点群生成ステップでは、
前記距離センサにより取得された前記距離点群に基づいて前記把持対象物が配置された床面に対応する主平面を検出し、当該主平面の法線方向に沿って、前記隠れ領域において前記隠れ領域距離点群を生成する、
請求項１から３いずれか１項に記載の把持対象物の把持パターン検出方法。
【請求項６】
前記衝突体積計算ステップでは、
前記距離点のそれぞれに対して所定の体積を有する形状を割り当て、当該形状と前記ハンドモデルとが衝突する体積を計算する、
請求項１〜５のいずれか１項に記載の把持対象物の把持パターン検出方法。
【請求項７】
ロボットのハンドの把持位置姿勢情報である把持パターンを適切に検出する把持対象物を把持するロボットであって、
視点位置からの前記把持対象物までの距離値データを計測し、当該距離値データを距離点として当該距離点の集合である距離点群を取得する距離センサと、
前記取得された前記距離点群に基づく前記把持パターンと、当該把持パターンに基づく前記ハンドをモデル化して表現したハンドモデルと、をそれぞれ複数生成する把持パターン生成部と、
前記把持対象物の存在により隠されて前記距離センサにより前記距離点群を取得できなかった隠れ領域において隠れ領域距離点群を生成する隠れ領域距離点群生成部と、
前記生成された前記隠れ領域距離点群と、前記生成された前記把持パターンの前記ハンドモデルとの衝突体積を計算する衝突体積計算部と、
前記計算された前記衝突体積が所定の閾値以上であるか否かを判定し、前記所定の閾値以上であると判定した場合に、当該把持パターンを棄却する衝突判定部と、を備える、
把持対象物を把持するロボット。
【請求項８】
前記衝突判定部により全ての前記把持パターンが棄却判定された場合に、当該棄却された把持パターンのうちで前記衝突体積が最も小さい把持パターンを選択し、当該選択した把持パターンに関して、前記距離センサの前記視点位置を仮想的な位置に変更し、当該変更した視点位置において、前記隠れ領域距離点群生成部と、前記衝突体積計算部と、前記衝突判定部と、による処理を実行し、当該衝突判定部により前記所定の閾値より小さいと判定した場合には、前記変更した仮想的な位置を最適視点位置として出力する最適視点位置計算部と、
前記出力された前記最適視点位置へと前記距離センサの前記視点位置が移動するように、前記距離センサの位置を制御する視点位置誘導制御部と、
前記距離センサの視点位置が前記最適視点位置に到達した場合に、前記距離点群取得部と、前記把持パターン生成部と、前記隠れ領域距離点群生成部と、前記衝突判定部と、による処理を再び実行する、
請求項７に記載の把持対象物を把持するロボット。
【請求項９】
前記把持パターン生成部は、
前記距離点群取得部により前記取得した前記距離点群と、前記隠れ領域距離点群生成部により前記生成した前記隠れ領域距離点群と、に基づいて、前記把持パターンを生成する、
請求項７または８に記載の把持対象物を把持するロボット。
【請求項１０】
前記視点位置と、前記取得した前記距離点群のうちの任意の１の距離点とを結ぶ距離点方向ベクトルを計算する距離点方向ベクトル計算部を更に備え、
前記隠れ領域距離点群生成部は、
前記計算した前記距離点方向ベクトルに沿って、前記隠れ領域距離点群を生成する、
請求項７から９いずれか１項に記載の把持対象物を把持するロボット。
【請求項１１】
前記隠れ領域距離点群生成部は、
前記距離センサにより取得された前記距離点群に基づいて前記把持対象物が配置された床面に対応する主平面を検出し、当該主平面の法線方向に沿って、前記隠れ領域において前記隠れ領域距離点群を生成する、
請求項７から９いずれか１項に記載の把持対象物を把持するロボット。
【請求項１２】
前記衝突体積計算部は、
前記距離点のそれぞれに対して所定の体積を有する形状を割り当て、当該形状と前記ハンドモデルとが衝突する体積を計算する、
請求項７〜１１のいずれか１項に記載の把持対象物を把持するロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は把持対象物の把持パターン検出方法およびロボットに関する。
【背景技術】
【０００２】
例えば特許文献１に、対象物の撮像手段を備え、把持機構に関する画像生成装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１０１３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示される技術では、センサに対して反対側に位置する対象物の面や、他の物体により隠された対象物の領域については、撮像手段で検出することができない。このため、このような領域を含んで対象物の把持パターンを形成した場合、物体の形状を正しく認識することができないことに起因して、不適切な把持パターンが生成されるおそれがある。この結果、把持の信頼性を向上させることができないという問題がある。
【０００５】
本発明は、このような問題を解決するためになされたものであり、把持の信頼性を向上可能な把持対象物の把持パターン検出方法およびロボットを提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
一実施の形態に係る把持対象物の把持パターン検出方法は、ロボットのハンドの把持位置姿勢情報である把持パターンを適切に検出する把持対象物の把持パターン検出方法であって、距離センサの視点位置からの前記把持対象物までの距離値データを計測し、当該距離値データを距離点として当該距離点の集合である距離点群を取得する距離点群取得ステップと、前記取得された前記距離点群に基づく前記把持パターンと、当該把持パターンに基づく前記ハンドをモデル化して表現したハンドモデルと、をそれぞれ複数生成する把持パターン生成ステップと、前記把持対象物の存在により隠されて前記距離センサにより前記距離点群を取得できなかった隠れ領域において隠れ領域距離点群を生成する隠れ領域距離点群生成ステップと、前記生成された前記隠れ領域距離点群と、前記生成された前記把持パターンの前記ハンドモデルとの衝突体積を計算する衝突体積計算ステップと、前記計算された前記衝突体積が所定の閾値以上であるか否かを判定し、前記所定の閾値以上であると判定した場合に、当該把持パターンを棄却する衝突判定ステップと、を有する。
【０００７】
これによって、把持対象物の陰になっている領域（データ欠損領域）は、形状が不確定である。この領域とハンドモデルの衝突体積が大きな把持パターンを優先的に棄却することによって、把持の信頼性を向上させることができる。
【０００８】
また、前記衝突判定ステップにおいて全ての前記把持パターンが棄却判定された場合に、当該棄却された把持パターンのうちで前記衝突体積が最も小さい把持パターンを選択し、当該選択した把持パターンに関して、前記距離センサの前記視点位置を仮想的な位置に変更し、当該変更した視点位置において、前記隠れ領域距離点群生成ステップと、前記衝突体積計算ステップと、前記衝突判定ステップと、を実行し、当該衝突判定ステップにおいて、前記所定の閾値より小さいと判定した場合には、前記変更した仮想的な位置を最適視点位置として出力する最適視点位置計算ステップと、前記出力された前記最適視点位置へと前記距離センサの前記視点位置が移動するように、前記距離センサの位置を制御する視点位置誘導制御ステップと、前記距離センサの視点位置が前記最適視点位置に到達した場合に、前記距離点群取得ステップと、前記把持パターン生成ステップと、前記隠れ領域距離点群生成ステップと、前記衝突判定ステップと、を再び実行する再確認ステップと、を更に有する、ようにしてもよい。
【０００９】
これによって、衝突体積が小さくなるような視点を探索し、距離センサをその視点に移動させることにより、生成される把持パターンの信頼性をより向上させることができる。
【００１０】
さらにまた、前記把持パターン生成ステップでは、前記距離点群取得ステップにおいて前記取得した前記距離点群と、前記隠れ領域距離点群生成ステップにおいて前記生成した前記隠れ領域距離点群と、に基づいて、前記把持パターンを生成する、ようにしてもよい。これにより、把持の信頼性をより向上させることができる。
【００１１】
また、前記視点位置と、前記取得した前記距離点群のうちの任意の１の距離点とを結ぶ距離点方向ベクトルを計算する距離点方向ベクトル計算ステップを更に備え、前記隠れ領域距離点群生成ステップでは、前記計算した前記距離点方向ベクトルに沿って、前記隠れ領域距離点群を生成する、ようにしてもよい。
【００１２】
さらにまた、前記隠れ領域距離点群生成ステップでは、前記距離センサにより取得された前記距離点群に基づいて前記把持対象物が配置された床面に対応する主平面を検出し、当該主平面の法線方向に沿って、前記隠れ領域において前記隠れ領域距離点群を生成する、ようにしてもよい。
【００１３】
また、前記衝突体積計算ステップでは、前記距離点のそれぞれに対して所定の体積を有する形状を割り当て、当該形状と前記ハンドモデルとが衝突する体積を計算する、ようにしてもよい。
【００１４】
他の一実施の形態に係る把持対象物を把持するロボットは、ロボットのハンドの把持位置姿勢情報である把持パターンを適切に検出する把持対象物を把持するロボットであって、視点位置からの前記把持対象物までの距離値データを計測し、当該距離値データを距離点として当該距離点の集合である距離点群を取得する距離センサと、前記取得された前記距離点群に基づく前記把持パターンと、当該把持パターンに基づく前記ハンドをモデル化して表現したハンドモデルと、をそれぞれ複数生成する把持パターン生成部と、前記把持対象物の存在により隠されて前記距離センサにより前記距離点群を取得できなかった隠れ領域において隠れ領域距離点群を生成する隠れ領域距離点群生成部と、前記生成された前記隠れ領域距離点群と、前記生成された前記把持パターンの前記ハンドモデルとの衝突体積を計算する衝突体積計算部と、前記計算された前記衝突体積が所定の閾値以上であるか否かを判定し、前記所定の閾値以上であると判定した場合に、当該把持パターンを棄却する衝突判定部と、を備えるものである。
【００１５】
これによって、把持対象物の陰になっている領域（データ欠損領域）は、形状が不確定である。この領域とハンドモデルの衝突体積が大きな把持パターンを優先的に棄却することによって、把持の信頼性を向上させることができる。
【発明の効果】
【００１６】
本発明によれば、把持の信頼性を向上可能な把持対象物の把持パターン検出方法およびロボットを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１に係るロボットと把持対象物を示す図である。
【図２】実施の形態１に係る把持対象物および距離点群を示す図である。
【図３】実施の形態１に係る距離点群および隠れ領域距離点群を示す図である。
【図４】実施の形態１に係る制御部を示す機能ブロック図である。
【図５】実施の形態１に係る制御部による処理を示すフローチャートである。
【図６Ａ】実施の形態１に係る制御部による処理のようすを説明するための図である。
【図６Ｂ】実施の形態１に係る制御部による処理のようすを説明するための図である。
【図６Ｃ】実施の形態１に係る制御部による処理のようすを説明するための図である。
【図６Ｄ】実施の形態１に係る制御部による処理のようすを説明するための図である。
【図７】実施の形態２に係る制御部を示す機能ブロック図である。
【図８】実施の形態２に係る制御部による処理を示すフローチャートである。
【図９】実施の形態１に係る制御部による処理のようすを説明するための図である。
【図１０】その他の実施の形態に係る距離点群を示す図である。
【図１１】その他の実施の形態に係る距離点群を示す図である。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について説明する前に、まず、図１〜図３を参照して、本発明の概要を簡単に説明する。
図１に示すように、ロボット１は、距離センサ２を用いて把持対象物４についての距離点群を取得し、距離点群に基づいて把持パターンを検出する。把持パターンは、ハンド３を用いて把持対象物４を把持する際における、把持対象物４の把持方法情報である。
【００１９】
距離センサ２は、通常、物体の表面部分のみしか計測することができない。このため、例えば、図２の左図に示す把持対象物４を距離センサ２により計測した場合、図２の右図に示すように、センサ視点に対して反対の物体面や、他の物体により隠された領域は、距離点群の欠損が生じる。図２の左図に示した距離点群に基づいて把持パターンを検出した場合、当該把持パターンのハンドモデルでは、把持対象物４が実際よりも厚さが薄い物体であるとされて当該把持対象物４を掴もうとすることになる。即ち、不適切な把持パターンが生成されるおそれがある。
【００２０】
そこで、本発明では、図３に示すように、視点位置から距離点群へと向かう方向であって、かつ、視点位置と計測距離点とを結ぶベクトル方向上に、「隠れ領域距離点群」を生成する。ここで、「隠れ領域距離点群」を、計測距離点に対して、視点位置とは反対側位置に生成する。そして、生成した「隠れ領域距離点群」と把持パターンのハンドモデルとが一定の体積以上衝突している場合には、その把持パターンを棄却する。
【００２１】
また、本発明では、「隠れ領域距離点群」に基づいて、どの視点から見れば把持パターンの信頼性を確認できるかを判断し、その信頼性が確認できた視点へと視点制御を行う。
【００２２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。
【００２３】
＜実施の形態１．＞
図１は、本実施の形態に係るロボット１の模式図である。ロボット１は、距離センサ２とハンド３を備えている。また、ロボット１は、後述する制御部１０を備えている。距離センサ２は、ロボット１の例えば頭部に配置される。ロボット１は、ハンド３を用いて把持対象物４を把持可能である。ハンド３は、アームを介してロボット１本体に連結されている。ハンド３およびアームのそれぞれは関節を有し、ロボット１は、各関節に設けられたモータ（不図示）の駆動によってハンド３などの位置姿勢を変化させる。また、ロボット１は、例えば車輪などの公知の移動機構（不図示）を備えており、環境内を移動可能である。
【００２４】
距離センサ２は、距離センサ２の視点位置からの把持対象物４までの距離値データを計測し、この距離値データの集合である距離点群を取得する。距離センサ２としては、例えば、TOF（Time Of Flight）方式のカメラ、ステレオカメラ、Microsoft社製のKinect（登録商標）などを用いることができる。
【００２５】
図４を参照して、本実施の形態に係る制御部１０について、そのより詳細な構成を説明する。図４は、制御部１０の機能ブロック図である。
制御部１０は、把持パターン生成部１１と、視点位置計算部１２と、ベクトル計算部１３と、隠れ領域距離点群生成部１４と、衝突評価部１５と、閾値判定部１６と、を備えている。
【００２６】
把持パターン生成部１１は、距離センサ２により取得された距離点群を入力として、当該距離点群に基づいて、ハンドモデルとその把持パターンをそれぞれ複数生成する。把持パターン生成部１１は、取得された距離点群と、ハンド３の形状および把持対象物４の形状とに基づいて、把持対象物４に対するハンド３の基準位置や各指の関節角度を規定する把持パターンを生成する。即ち、把持パターンは、把持対象物４を把持する際のハンド３の位置姿勢を規定する、ハンド３の把持位置姿勢情報である。そして、把持パターン生成部１１は、生成した把持パターンに基づいて、ハンド３やハンド３の各指をモデル化して表現するハンドモデルを生成する。把持パターン生成部１１は、例えば、簡単なボックスモデルやメッシュモデルなどの体積を有するモデルを用いて、ハンド３のモデル化を行うことができる。なお、把持パターン生成部１１による把持パターンおよびそのハンドモデルの生成処理方法はこれに限定されず、他の公知の処理を採用すればよいため、ここではその詳細な説明を省略する。
【００２７】
視点位置計算部１２は、把持対象物４を含む３次元空間における距離センサ２の計測原点（視点位置）を計算する。ベクトル計算部１３は、視点位置計算部１２により計算された視点位置と、取得した距離点群のうちの任意の１の距離点とを結ぶ距離点方向ベクトルを計算する。
【００２８】
隠れ領域距離点群生成部１４は、把持対象物４の存在により隠されて距離センサ２により距離点群を取得できなかった隠れ領域において、ベクトル計算部１３により計算された距離点方向ベクトルに沿って、隠れ領域距離点群を生成する。隠れ領域距離点群生成部１４は、取得した距離点を基準として視点位置とは反対方向において、例えば、所定の距離間隔単位ずつ、かつ、所定の距離範囲内に、距離点方向ベクトルに沿って隠れ領域距離点群を生成する。
【００２９】
衝突評価部１５は、隠れ領域距離点群生成部１４により生成された隠れ領域距離点群と、生成した把持パターンのハンドモデルとの衝突体積を計算する。これにより、衝突評価部１５は、衝突の状況を評価する。衝突評価部１５は、隠れ領域距離点群生成部１４により生成された隠れ領域距離点群のそれぞれの隠れ距離点に対して、例えば所定の体積を有する形状を割り当て、当該形状とハンドモデルとが衝突する体積を計算する。所定の体積を有する形状としては、例えば、所定の半径を有する球体とすることができる。
【００３０】
閾値判定部１６は、衝突評価部１５により計算された衝突体積が所定の閾値以上であるか否かを判定し、所定の閾値以上であると判定した場合には、その把持パターンを棄却する。これにより、閾値判定部１６は、把持パターンの信頼性を評価する。制御部１０は、棄却されなかった把持パターンのそれぞれに対してアームの軌道画処理を行い、実現可能な１の把持パターンを決定する。なお、アームの軌道計画処理については公知のアームの軌道計画処理を行えばよいため、ここではその詳細な説明を省略する。
【００３１】
図５および図６（A）〜（D）を参照して、本実施の形態に係る制御部１０による把持パターンの検出処理方法を説明する。
S１０１：距離センサ２により、距離点群を取得する。図６（A）に、把持対象物４と、距離センサ２により取得された距離点群を例示する。
【００３２】
S１０２：把持パターン生成部１１は、距離センサ２により取得された距離点群を入力として、当該距離点群に基づいてN個の把持パターンおよびそのハンドモデルを生成する。図６（B）に、生成された把持パターンのハンドモデルの一例を例示する。当該把持パターンのハンドモデルでは、ボックスモデルにより表現した２本の指を用いて、把持対象物４の距離点群を掴むようにハンド３の位置姿勢が構成されている。
【００３３】
S１０３：視点位置計算部１２は、３次元空間における距離センサ２の視点位置を計算する。そして、ベクトル計算部１３は、視点位置計算部１２により計算された視点位置と、取得した距離点群に含まれる各距離点とを結ぶ距離点方向ベクトルを計算する。図６（C）に、視点位置から１の距離点へと向かう方向ベクトルであって、視点位置と各距離点を結ぶ距離点方向ベクトルを複数例示する。
【００３４】
なお、S１０３での処理は、距離センサ２の視点位置を固定とした場合には、視点位置計算部１２による視点位置の計算を行わずに、距離センサ２の配置に応じた固定の所定値を単に出力するものとしてもよいし、この視点位置の計算自体を省略するものとしてもよい。これに対して、距離センサ２の位置を移動させる場合には、順運動学を解くなどの処理によって、３次元空間における視点位置を計算することができる。
【００３５】
S１０４：隠れ領域距離点群生成部１４は、ベクトル計算部１３により計算された距離点方向ベクトルに沿って、隠れ領域距離点群を生成する。図６（D）に、生成した隠れ領域距離点群を例示する。
【００３６】
S１０５：衝突評価部１５は、隠れ領域距離点群生成部１４により生成された隠れ領域距離点群と、把持パターンのハンドモデルとの衝突体積をそれぞれ計算する。
【００３７】
S１０６：閾値判定部１６は、衝突評価部１５により計算された衝突体積が所定の閾値以上であるか否かを判定し、所定の閾値以上であると判定した場合には、その把持パターンを棄却する。ここで、S１０５およびS１０６における評価・判定処理を、N個の把持パターン全てに対して繰り返し処理する。
【００３８】
例えば、距離センサ２により未観測の隠れ領域に大きく指を入れるような把持パターンは、その隠れ領域に存在する未知の障害物と衝突して把持に失敗するおそれがある。本実施の形態によれば、そのような信頼性の低い把持パターンを棄却することができ、高い信頼性の把持パターンのみを残すことができる。この結果、把持対象物４の陰になっている領域（データ欠損領域）とハンド３との衝突体積が大きな把持パターンを優先的に棄却することによって、把持の信頼性を向上させることができる。
【００３９】
＜実施の形態２．＞
図７を参照して、本実施の形態に係る制御部２０について、そのより詳細な構成を説明する。図７は、制御部２０の機能ブロック図である。図４に示した実施の形態１に係る制御部１０の機能ブロックと比較して、本実施の形態に係る制御部２０は、最適視点計算部１７と、視点位置誘導制御部１８と、更に備えている。最適視点計算部１７および視点位置誘導制御部１８を除く各部の構成および処理は、実施の形態１と同様の構成および処理である。このため、以下では、最適視点計算部１７および視点位置誘導制御部１８に関する構成および処理を中心に説明する。
【００４０】
最適視点計算部１７は、把持パターンの信頼性を確認するために必要な視点位置を計算する。最適視点計算部１７は、視点位置を、元の視点位置とは異なる仮想的な位置に変更し、変更した視点位置において再び隠れ領域距離点群を生成してハンドモデルとの衝突判定を行い、衝突体積が所定の閾値より小さいか否かを判定し、所定の閾値より小さいと判定した場合に、当該仮想的な位置を最適視点位置として出力する。より具体的には、最適視点計算部１７は、仮想的な位置に視点位置を変更し、その視点位置において、上述した視点位置計算部１２、ベクトル計算部１３、隠れ領域距離点群生成部１４、衝突評価部１５にかけての一連の処理を繰り返して実行し（即ち、Ｓ１０３〜Ｓ１０５にかけての一連の処理を繰り返して実行する）、閾値判定部１６により衝突体積が所定の閾値より小さいか否かを判定する。
【００４１】
視点位置誘導制御部１８は、最適視点計算部１７により出力された最適視点位置へと距離センサ２の視点位置を移動させる。本実施の形態では、視点位置誘導制御部１８は、ロボット１の移動を制御することにより、距離センサ２の視点位置を移動させる。
【００４２】
図８および図９を参照して、本実施の形態に係る制御部１０による把持パターンの検出処理方法を説明する。なお、S１０１〜S１０６に係る処理は、上述した実施の形態１に係るS１０１〜S１０６に係る処理と同様である。S１０１〜S１０２の処理については図示を省略し、図８では、最適視点計算部１７および視点位置誘導制御部１８による処理と直接関係のあるS１０３〜S１０９の処理を中心に説明する。また、S１０３〜S１０６の処理は、上述した実施の形態１に係るS１０３〜S１０６に係る処理と同様であるため、その説明を省略する。
【００４３】
制御部１０は、S１０６において全ての把持パターンが棄却判定された場合に、棄却された把持パターンのうちで衝突体積が最も小さい把持パターンを選択し、その選択した把持パターンについて、以下の処理を実行する。
【００４４】
S１０７：最適視点計算部１７は、視点位置を仮想的な位置に変更し、変更した視点位置において、隠れ領域距離点群の生成及び衝突判定を行い（即ち、S１０３〜S１０６にかけての処理を繰り返して実行し）、所定の閾値より小さいと判定した場合には、当該仮想的な位置を最適視点位置として出力する。
【００４５】
ここでの最適視点位置の探索方法としては、例えば、「元の視点位置」と「隠れ領域距離点群と衝突した指の基準座標原点」を結ぶ方向ベクトルを基準として、当該ベクトル周りに所定の角度ずつ仮想的な視点位置を変更することができる。なお、他の探索方法を採用してもよい。
【００４６】
S１０８：視点位置誘導制御部１８は、最適視点計算部１７により出力された最適視点位置へと距離センサ２の視点位置が移動するように、ロボット１の移動を制御する。図９に、距離センサ２の視点位置が最適視点位置へと移動するように、ロボット１が移動するようすを例示する。
【００４７】
S１０９：ロボット１の移動が完了し、距離センサ２の視点位置が最適視点位置となった後に、上述したS１０１〜S１０６に係る処理を再び実行する。これにより、新たな視点位置において生成された把持パターンについて、視点位置を変更したことによってその信頼性が確保されたか否かを、再び確認する。
【００４８】
本来は実現可能な把持パターンであっても、視点位置が適切でなかったために、全ての把持パターンが棄却されることがある。本実施の形態によれば、このように全ての把持パターンが棄却された場合においても、衝突体積が小さくなる視点を探索して、その探索した位置に距離センサ２の視点位置を移動させることにより、信頼性の高い把持パターンを生成することができる。これにより、把持の信頼性をより向上させることができる。
【００４９】
＜その他の実施の形態．＞
上述した実施の形態では、把持パターン生成部１１は、距離センサ２により取得された距離点群を入力として複数の把持パターンを生成する場合を例に説明したが、本発明はこれに限定されない。隠れ領域距離点群生成部１４による隠れ領域距離点群の生成処理を実行した後に、距離センサ２により取得した距離点群と、隠れ領域距離点群生成部１４により生成した隠れ領域距離点群と、を同等に扱い、これら距離点群を把持パターン生成部１１へと入力するようにしてもよい。図１０に、この距離点群のようすを例示する。これにより、把持パターン生成部１１は、隠れを考慮した距離点群に基づいて把持パターンを生成することが可能になり、適切な把持パターンをより生成し易くなる。
【００５０】
また、上述した実施の形態では、隠れ領域距離点群生成部１４は、取得した距離点を基準として視点位置とは反対方向に、距離点方向ベクトルに沿って隠れ領域距離点群を生成する場合を例に説明したが、本発明はこれに限定されない。隠れ領域距離点群生成部１４は、距離センサ２により取得された距離点群に基づいて把持対象物４が配置された床面に対応する主平面を検出し、当該主平面の法線方向に沿って、隠れ領域距離点群を生成するものとしてもよい。
【００５１】
図１１に、主平面、主平面の法線、隠れ領域距離点群を例示する。
図に示す例では、主平面の法線は、主平面から上方に向けて伸びているために、距離センサ２の視点位置は、主平面に対応する床から見てその上方に位置することになる。この場合、隠れ領域距離点群生成部１４は、主平面の法線方向に沿って隠れ領域距離点群を生成するが、図に示す例では、距離センサ２により取得した距離点群のうち、その距離点群を取得した際の距離センサ２の視点位置から見て最も奥側に位置する距離点について、その距離点を通過する主平面の法線方向に沿って、その距離点の後ろ側（図に示す例では下側）にのみおいて、隠れ領域距離点群を生成する。このように、距離センサ２の視点位置から見て、取得した距離センサ２の距離点群すべての後ろ側において隠れ領域距離点群を生成するのではなく、その距離点群を取得した際の距離センサ２の視点位置から見て最も奥側に位置する距離点に関してのみ法線の方向に沿って隠れ領域距離点群を生成する。
【００５２】
これにより、生成する隠れ領域距離点群の個数を少なくすることができ計算量を抑制することができる。さらに、床に対する主平面を確実に検出できる場合には、把持対象物４の隠れ領域をより精度よく計測することができるため、生成される把持パターンの信頼性をより向上させることができる。
【００５３】
距離点群に基づく主平面の検出手法としては、把持対象物４が位置する床面上の距離点群に対して、例えばRANSAC（RANdom SAmple Consensus）アルゴリズムを適用して平面モデルを求めることができる。なお、ここでの距離点群に基づく主平面の検出手法としては、公知の手法を採用すればよいため、ここではその詳細な説明を省略する。
【００５４】
さらに、上述した実施の形態では、隠れ領域距離点群を球体として扱った上で衝突計算する場合を例に説明したが、本発明はこれに限定されず、球体に代えて直方体として衝突計算するものとしてもよい。また、距離点群をその頂点とする例えばメッシュ形状などの他の形状として距離点群を表し、当該形状と衝突計算するものとしてもよい。
【００５５】
本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
例えば、上述した実施の形態では、ハンド３を有するロボット１に距離センサ２を搭載した場合を例に説明したが、本発明はこれに限定されず、距離センサ２と、ハンド３を有するロボット１とをそれぞれ分けて設置して、距離センサ２の視点位置が最適視点位置に移動するように距離センサ２のみを移動させるようにしてもよい。
【符号の説明】
【００５６】
１  ロボット、
２  距離センサ、
３  ハンド、
４  把持対象物、
１０、２０  制御部、
１１  把持パターン生成部、
１２  視点位置計算部、
１３  距離点ベクトル計算部、
１４  隠れ領域距離点群生成部、
１５  衝突評価部、
１６  閾値判定部、
１７  最適視点計算部、
１８  視点位置誘導制御部、
【図１】
2014200882.tif 000003
【図２】
2014200882.tif 000004
【図３】
2014200882.tif 000005
【図４】
2014200882.tif 000006
【図５】
2014200882.tif 000007
【図６Ａ】
2014200882.tif 000008
【図６Ｂ】
2014200882.tif 000009
【図６Ｃ】
2014200882.tif 000010
【図６Ｄ】
2014200882.tif 000011
【図７】
2014200882.tif 000012
【図８】
2014200882.tif 000013
【図９】
2014200882.tif 000014
【図１０】
2014200882.tif 000015
【図１１】
2014200882.tif 000016