IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特開2022-33660情報処理装置及び情報処理方法、並びにコンピュータプログラム
<>
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図1
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図2
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図3
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図4
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図5
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図6
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図7
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図8
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図9
  • 特開-情報処理装置及び情報処理方法、並びにコンピュータプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022033660
(43)【公開日】2022-03-02
(54)【発明の名称】情報処理装置及び情報処理方法、並びにコンピュータプログラム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20220222BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2020137681
(22)【出願日】2020-08-17
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】110000763
【氏名又は名称】特許業務法人大同特許事務所
(72)【発明者】
【氏名】前田 啓輔
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707HS27
3C707KS03
3C707KS04
3C707KS06
3C707KS08
3C707KT01
3C707KT06
3C707LV07
3C707LV14
3C707LW12
(57)【要約】
【課題】グリッパの特性に応じた最良な把持操作を実現するための情報を処理する情報処理装置を提供する。
【解決手段】情報処理装置は、物体を分析して、汎化把持形状情報を生成する把持情報分析部と、汎化把持形状情報を蓄積する汎化把持形状情報蓄積部を具備する。情報処理装置は、物体の汎化把持形状情報と把持に使用するグリッパの特性に基づいて物体の把持目標を計画する把持目標計画部をさらに備える。前記把持目標計画部は、前記物体のどの部分をどう把持するかに関する前記把持目標を計画する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
物体を分析して、汎化把持形状情報を生成する把持情報分析部と、
汎化把持形状情報を蓄積する汎化把持形状情報蓄積部と、
を具備する情報処理装置。
【請求項2】
前記把持情報分析部は、前記物体の位置、姿勢、形状、推定された材質、強度、重量、重心位置のうち少なくとも1つを含む物体の情報を分析して、物体の種別毎の前記汎化把持形状情報を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記把持情報分析部は、前記物体の表面形状を複数の平面又は曲面に分割して、各分割面について算出した平面度、摩擦、強度、法線情報、開放距離のうち少なくとも1つを含む前記汎化把持形状情報を生成する、
請求項1に記載の情報処理装置。
【請求項4】
前記把持情報分析部は、前記物体の形状、体積、又は外観から、均一材料と仮定して、前記物体の重心位置を推定する、
請求項2に記載の情報処理装置。
【請求項5】
前記把持情報分析部は、複数の材質からなる前記物体の推定された材質毎に重心を求めて、その加重平均をとって重心位置を推定する、
請求項2に記載の情報処理装置。
【請求項6】
前記把持情報分析部は、前記物体の表面形状を抽出し、前記物体の表面形状を複数の平面又は曲面に分割し、分割した各面について、面を構成する要素の分散に基づいて面の平面度及び法線方向を推定し、法線方向に基づいて分割面の法線方向の開放距離を推定し、平面度や反射光又は推定された材質に基づいて物体の摩擦や強度を推定して、前記汎化把持形状情報を生成する、
請求項3に記載の情報処理装置。
【請求項7】
物体の汎化把持形状情報と把持に使用するグリッパの特性に基づいて物体の把持目標を計画する把持目標計画部をさらに備える、
請求項1に記載の情報処理装置。
【請求項8】
前記把持目標計画部は、前記物体のどの部分をどう把持するかに関する前記把持目標を計画する、
請求項7に記載の情報処理装置。
【請求項9】
前記把持目標計画部は、前記物体を把持するグリッパの各指が物体に接触する接触面、接触方向、接触力のうち少なくとも1つを含む前記把持目標を計画する、
請求項7に記載の情報処理装置。
【請求項10】
前記把持目標計画部は、把持対象となる物体の表面形状を分割した複数の分割面の中から把持面の候補となる分割面を選択し、複数の把持面の候補の中から把持面とグリッパの指の組み合わせを決定して、前記把持目標を決定する、
請求項7に記載の情報処理装置。
【請求項11】
前記把持目標計画部は、物体の把持に使用するグリッパの指の特性に基づいて、把持対象の物体の各分割面の把持の適性を評価して、把持に向かない分割面を候補から外す、
請求項10に記載の情報処理装置。
【請求項12】
前記把持目標計画部は、前記グリッパが特性の異なる複数の指を持つ場合には、それぞれの指の特性に基づいて、物体の各分割面の把持の適性を評価する、
請求項11に記載の情報処理装置。
【請求項13】
前記把持目標計画部は、下記(a)~(d)のうち少なくとも1つを評価項目として物体の各分割面の把持の適性を評価する、
請求項11に記載の情報処理装置。
(a)グリッパの指の厚さと分割面の法線方向の開放距離
(b)指の摩擦係数と分割面の推定摩擦係数と、把持力と、物体の推定重量に基づく分割面に対する指の滑り難さ
(c)指の弾性係数と分割面の平面度
(d)把持対象の物体の推定重心位置から分割面へのベクトルとその分割面の法線方向のなす角
【請求項14】
前記把持目標計画部は、物体を把持する各指が生成する把持力(摩擦力を含む)のベクトルに基づいて、把持面とグリッパの指の最良の組み合わせを決定する、
請求項10に記載の情報処理装置。
【請求項15】
複数のグリッパのいずれかを選択して物体を把持する場合に、
前記把持目標計画部は、前記複数のグリッパの各々について把持目標を計画し、
各グリッパの把持目標を比較した結果に基づいて、前記物体の把持に使用するグリッパを選択する、
請求項7に記載の情報処理装置。
【請求項16】
各グリッパの把持目標を実行した際の把持の安定度、予想成功率、消費エネルギ量のうち少なくとも1つを含む把持指標値に基づいて、前記物体の把持に使用するグリッパを選択する、
請求項15に記載の情報処理装置。
【請求項17】
前記把持目標計画部は、把持対象の物体に関する汎化把持形状情報を前記汎化把持形状情報蓄積部から取り出して、前記把持目標の計画を行う、
請求項7に記載の情報処理装置。
【請求項18】
把持対象の物体を指定するインターフェースと、
前記把持目標計画部が計画した前記把持目標に基づいてマニピュレータ及びグリッパの動作を計画する動作計画部と、
前記動作計画部が計画した動作計画に基づいて、アクチュエータを駆動する制御値を生成する制御器と、
前記制御器が生成した制御値に従って駆動して前記マニピュレータ及び前記グリッパを動作させる前記アクチュエータと、
をさらに備える、請求項1に記載の情報処理装置。
【請求項19】
物体を分析して、汎化把持形状情報を生成する把持情報分析ステップと、
汎化把持形状情報を汎化把持形状情報蓄積部に蓄積する汎化把持形状情報蓄積ステップと、
を有する情報処理方法。
【請求項20】
物体を分析して、汎化把持形状情報を生成する把持情報分析部、
汎化把持形状情報を蓄積する汎化把持形状情報蓄積部、
としてコンピュータを機能させるようにコンピュータ可読形式で記述されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示する技術(以下、「本開示」とする)は、グリッパで物体を把持するための情報を処理する情報処理装置及び情報処理方法、並びにコンピュータプログラムに関する。
【背景技術】
【0002】
近年、ロボットが普及し、工場や物流、医療などさまざまな分野にもロボットが導入されるようになってきている。これに伴って、マニピュレータ及びグリッパを使って、形状や大きさ、重さ、材質などが異なる任意の物体を把持する機会が増えてきている。
【0003】
視覚センサによって対象物の形状を認識して物体を把持する方法が広く知られている。例えば、視覚センサで取得した対象物体の画像から画像認識により、数種の所定単純形状のうちで対象物体形状に近似する単純形状を求め、求めた単純形状とその向き及び大きさに基づいて方形把持・円形把持から適切な把持方法を選択し、それに応じて前記ロボットハンドの各指の把持点を算出し、前記各指を制御して把持動作を行う、ロボットによる任意形状物体の把持方法が提案されている(特許文献1を参照のこと)。
【0004】
しかしながら、この把持方法は、特定の特性を持つロボットハンドに応じて把持方法を導出するものであり、ハンドを交換するロボットや複数の特性の異なるハンドを装備するロボットの場合、使用するハンド毎(又は、ハンドの特性毎)に、単純形状への近似、近似した単純形状に対する把持方法の選択、及び選択した把持方法に応じた各指の把持点を算出する演算を行う必要があり、演算の処理負荷が大きい。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005-169564号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示の目的は、グリッパの種類によらずに物体を把持するための情報を処理する情報処理装置及び情報処理方法、並びにコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本開示は、上記課題を参酌してなされたものであり、その第1の側面は、
物体を分析して、汎化把持形状情報を生成する把持情報分析部と、
汎化把持形状情報を蓄積する汎化把持形状情報蓄積部と、
を具備する情報処理装置である。
【0008】
前記把持情報分析部は、前記物体の形状、体積、又は外観から、均一材料と仮定して、前記物体の重心位置を推定する。前記把持情報分析部は、複数の材質からなる前記物体の推定された材質毎に重心を求めて、その加重平均をとって重心位置を推定する。また、前記把持情報分析部は、前記物体の表面形状を抽出し、前記物体の表面形状を複数の平面又は曲面に分割し、分割した各面について、面を構成する要素の分散に基づいて面の平面度及び法線方向を推定し、法線方向に基づいて分割面の法線方向の開放距離を推定し、平面度や反射光又は推定された材質に基づいて物体の摩擦や強度を推定して、前記汎化把持形状情報を生成する。
【0009】
また、第1の側面に係る情報処理装置は、物体の汎化把持形状情報と把持に使用するグリッパの特性に基づいて物体の把持目標を計画する把持目標計画部をさらに備える。前記把持目標計画部は、把持対象となる物体の表面形状を分割した複数の分割面の中から把持面の候補となる分割面を選択し、複数の把持面の候補の中から把持面とグリッパの指の組み合わせを決定して、前記把持目標を決定する。
【0010】
また、本開示の第2の側面は、
物体を分析して、汎化把持形状情報を生成する把持情報分析ステップと、
汎化把持形状情報を汎化把持形状情報蓄積部に蓄積する汎化把持形状情報蓄積ステップと、
を有する情報処理方法である。
【0011】
また、本開示の第3の側面は、
物体を分析して、汎化把持形状情報を生成する把持情報分析部、
汎化把持形状情報を蓄積する汎化把持形状情報蓄積部、
としてコンピュータを機能させるようにコンピュータ可読形式で記述されたコンピュータプログラムである。
【0012】
本開示の第3の側面に係るコンピュータプログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータプログラムを定義したものである。換言すれば、本開示の第3の側面に係るコンピュータプログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本開示の第1の側面に係る情報処理装置と同様の作用効果を得ることができる。
【発明の効果】
【0013】
本開示によれば、グリッパの特性に応じた最良な把持操作を実現するための情報を処理する情報処理装置及び情報処理方法、並びにコンピュータプログラムを提供することができる。
【0014】
なお、本明細書に記載された効果は、あくまでも例示であり、本開示によりもたらされる効果はこれに限定されるものではない。また、本開示が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
【0015】
本開示のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0016】
図1図1は、情報処理装置100の機能的構成例を示した図である。
図2図2は、汎化把持形状情報112の一例を示した図である。
図3図3は、把持目標114の一例を示した図である。
図4図4は、把持目標114の一例を示した図である。
図5図5は、ロボット制御システム500の機能的構成例を示した図である。
図6図6は、物体の把持情報を分析するための処理手順を示したフローチャートである。
図7図7は、把持対象の物体の複数の分割面から把持面の候補を選択するための処理手順を示したフローチャートである。
図8図8は、把持面の候補から把持面の組み合わせを決定するための処理手順を示したフローチャートである。
図9図9は、ロボット制御システム900の機能的構成例を示した図である。
図10図10は、情報処理装置100として動作する装置1000のハードウェア構成例を示した図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本開示について、以下の順に従って説明する。
A.基本構成
B.ロボットの制御システムの構成例
C.把持情報の分析処理
D.把持面の候補選択処理
D-1.把持面の候補選択
D-2.把持面の組み合わせの決定
E.ロボットの制御システムの変形例
G.効果
【0018】
A.基本構成
図1には、本開示に係る情報処理装置100の機能的構成を模式的に示している。情報処理装置100は、例えばパーソナルコンピュータ(PC)などを用いて構成される。但し、図1では、図面の簡素化のため、基本的な構成要素以外はすべて省略して示している。
【0019】
図1に示す情報処理装置100は、把持情報分析部101と、把持目標計画部102と、汎化把持形状情報蓄積部109を備えている。
【0020】
把持情報分析部101は、物体情報111を入力して、その物体の形状や把持に関する物理特性を認識して、汎化把持形状情報112を出力する。物体情報111は、物体の特性に関する情報であり、例えば物体の種別と位置、姿勢、形状、推定された材質、強度、重量、重心位置などからなる。把持情報分析部101は、物体の表面形状を複数の平面又は曲面に分割して、分割した各面についての把持特性を計算して、(グリッパの特性によらない)汎化把持形状情報112として出力する。
【0021】
汎化把持形状情報112は、物体の表面形状を分割した各面の位置関係と、各面の把持特性を含む。把持目標計画部102がさまざまな物体の把持目標を計画する前提として、さまざまな物体の物体情報111が把持情報分析部101に入力され、各物体の汎化把持形状情報112が把持情報分析部101によって生成され、物体の種別毎の汎化把持形状情報112が汎化把持形状情報蓄積部109に蓄積されているものとする。
【0022】
把持目標計画部102は、把持対象情報113を入力すると、その把持対象情報113で指定された物体の汎化把持形状情報112を汎化把持形状情報蓄積部109から取り出して、該当する汎化把持形状情報112と把持に使用するグリッパの特性に基づいて、把持目標114を算出する。
【0023】
把持対象情報113は、把持対象とする物体を特定する情報であり、物体種別や物体の識別子などからなる。把持目標114は、物体のどの部分をどう把持するかに関する目標情報であり、グリッパが物体を把持する際に、グリッパの各指が物体に接触する接触面、接触方向、接触力などの情報を含む。
【0024】
図2には、把持情報分析部101によって算出される、汎化把持形状情報112の一例を示している。把持情報分析部101は、物体200の表面形状を複数の平面又は曲面に分割する。図2に示す例では、把持形状分析部101は、物体200を5角形の各面に分割している。そして、把持形状分析部101は、物体200を分割した各面について、平面度、摩擦、強度、法線情報、開放距離を算出して、算出したこれらの情報を含む汎化把持形状情報112を出力する。開放距離は、分割面の法線方向の障害物に衝突するまでの距離である。
【0025】
図3及び図4には、把持目標計画部102によって算出される、把持目標114の一例をそれぞれ示している。把持目標計画部102は、把持対象情報113で指定された物体の汎化把持形状情報112に基づいて、把持目標114を算出する。把持目標114は、物体のどの部分をどう把持するかに関する目標情報であり、グリッパが物体を把持する際に、グリッパの各指が物体に接触する接触面、接触方向、接触力などの情報を含む。図3には、5角形の物体300をグリッパの3本の指301~303で把持する場合の各指の接触面及び接触方向を示している。また、図4には、5角形の物体400をグリッパの4本の指401~404で把持する場合の各指の接触面及び接触方向を示している。
【0026】
B.ロボットの制御システムの構成例
図5には、本開示に係る情報処理装置100を組み込んで構成されるロボット制御システム500の機能的構成例を示している。但し、図1に示した情報処理装置100の構成要素と同じものについては同一の参照番号を付けている。ロボット制御システム500は、把持情報分析部101と、把持目標計画部102と、センサ部103と、物体認識部104と、インターフェース105と、動作計画部106と、制御器107と、アクチュエータ108を備えている。
【0027】
図5に示すロボット制御システム500の左半分の構成要素は、主に汎化把持形状情報112を生成するための処理を行う。
【0028】
センサ部103は、制御対象であるロボットのマニピュレータやグリッパ(図示しない)の周囲の環境情報115を取得する観測機である。センサ部103は、例えばカメラやデプスカメラなどで構成される。センサ部103は、制御対象のロボットに搭載されている必要はなく、例えばロボットの作業空間に設置された固定カメラであってもよい。
【0029】
物体認識部104は、センサ部103が観測した環境情報(センサデータ)115から物体の有無を検出し、検出した各物体の位置、姿勢、種別などの物体情報111を算出する。物体認識部104は、例えば深層学習した機械学習モデルを用いて物体認識を行うようにしてもよい。
【0030】
把持情報分析部101は、物体情報111を入力して、その物体の表面形状を複数の平面又は曲面に分割して、分割した各面についての把持特性を計算して、(グリッパの特性によらない)汎化把持形状情報112を出力する。
【0031】
図5に示すロボット制御システム500の右半分の構成要素は、生成された汎化把持形状情報112を利用して、ユーザが指定した物体をグリッパで把持操作する動作を制御するための処理を行う。
【0032】
インターフェース105は、ユーザの入力操作(又は、上位システム)から、把持対象情報113を受け取るための処理を行う。把持対象情報113は、把持対象とする物体を特定する情報であり、物体種別や物体の識別子などからなる。
【0033】
なお、ユーザ又は上位システムが把持対象として指定した物体の汎化把持形状情報112がまだ把持情報分析部101によって算出されていない場合には、インターフェース105は、センサ部103に対して、その物体を含む環境情報115を取得するように指示してもよい。
【0034】
把持目標計画部102は、把持対象情報113で指定された物体の汎化把持形状情報112と、制御対象とするロボットのマニピュレータ及びグリッパ(図示しない)の特性に基づいて、把持目標114を算出する。把持目標114は、物体のどの部分をどう把持するかに関する目標情報であり、グリッパが物体を把持する際に、グリッパの各指が物体に接触する接触面、接触方向、接触力などの情報を含む。
【0035】
本開示によれば、物体の汎化把持形状情報112は、グリッパの特性によらない、物体の把持特性を表した情報である。把持目標計画部102は、汎化把持形状情報112から、実際に物体に把持に使用するグリッパの特性に応じた把持目標114を算出する。したがって、ロボットのグリッパを交換したり、特性の異なる複数のグリッパを装備するロボットにおいていずれかのグリッパを選択したりした際にも、把持目標計画部102は、適応的にグリッパの特性に応じた把持目標114を算出することができる。
【0036】
動作計画部106は、把持目標114を入力すると、制御対象とするロボットのマニピュレータ及びグリッパ(図示しない)の機構情報に基づいて、マニピュレータ及びグリッパの動作計画116を算出する。動作計画116は、マニピュレータ及びグリッパを動作させるための時系列の目標情報であり、マニピュレータの各関節の位置、速度、トルク目標の配列や、グリッパの位置、姿勢、速度、トルク目標の配列などからなる。
【0037】
制御器107は、動作計画116を入力して、マニピュレータ及びグリッパが動作計画116通りに動作するように、アクチュエータ108を駆動するための制御値117を生成する。
【0038】
アクチュエータ108は、マニピュレータ及びグリッパの各関節を駆動するモータなどからなる。アクチュエータ108は、制御器107から出力された制御値117に基づいて駆動する。
【0039】
C.把持情報の分析処理
把持情報分析部101は、物体情報111を入力して、その物体の形状や把持に関する物理特性を認識して、汎化把持形状情報112を出力する。汎化把持形状情報112は、物体の表面形状を分割した各面の位置関係と、各面の把持特性を含む。
【0040】
図6には、把持情報分析部101において、物体の把持情報を分析するための処理手順をフローチャートの形式で示している。
【0041】
まず、把持情報分析部101は、入力された物体情報111に基づいて、その物体の重心位置を推定する(ステップS601)。把持情報分析部101は、物体の形状や体積、外観から、均一材料と仮定して、重心位置を推定する。また、複数の材質からなる物体の場合、把持情報分析部101は、推定された材質毎に重心を求めて、その加重平均をとって重心位置を推定する。
【0042】
次いで、把持情報分析部101は、その物体の表面形状を抽出する(ステップS602)。把持情報分析部101は、境界抽出やエッジ抽出などの方法によって表面形状を抽出するようにしてもよい。
【0043】
物体情報111として物体領域の点群やデプス情報が得られている場合には、把持情報分析部101は、3Dの表面形状を抽出する。この場合のデータ形式として、点群やメッシュ、多面体などが挙げられる。また、俯瞰画像などで2D形状が得られている物体の場合には、把持情報分析部101は、境界線の情報を抽出する。この場合のデータ形式としては、曲線、多角形などが挙げられる。
【0044】
次いで、把持情報分析部101は、物体の表面形状を複数の平面又は曲面に分割する(ステップS603)。把持情報分析部101は、対象の物体に対して、例えば平面検出や直線検出をかけて、抽出された部分をそれぞれ分割した表面とする。また、直線検出されなかった部分を1曲面としてもよい。
【0045】
その後、把持情報分析部101は、未処理の分割面を1つ選択して(ステップS605)、その分割面の把持特性を抽出する処理を(ステップS606)、すべての分割面について実行するまで(ステップD604のYes)、繰り返し実行する。把持形状分析部101は、分割した各面について、平面度や法線方向を、面を構成する要素の分散から推定したり、法線方向に基づいてその分割面の法線方向の開放距離を推定したり、平面度や反射光、推定された材質に基づいてその物体の摩擦や強度を推定したりして、汎化把持形状情報112として出力する。また、把持情報分析部101は、各分割面とステップS601で推定した重心との相対位置、姿勢を推定する。
【0046】
そして、把持情報分析部101は、分割した各面について抽出した把持特性を、汎化把持形状情報112として出力する。汎化把持形状情報112は、物体の表面形状を分割した各面の位置関係と、各面の把持特性を含む。
【0047】
D.把持目標の計画
把持目標計画部102は、物体の汎化把持形状情報112に基づいて、その物体についての把持目標114を算出する。把持目標114は、物体のどの部分をどう把持するかに関する目標情報であり、グリッパが物体を把持する際に、グリッパの各指が物体に接触する接触面、接触方向、接触力などの情報を含む。
【0048】
把持目標計画部102は、まず、把持対象となる物体の表面形状を分割した複数の分割面の中から把持面の候補となる分割面を選択し、次いで、複数の把持面の候補の中から、各把持面とグリッパの各指の組み合わせを決定して、把持目標114を決定する。以下では、把持面の候補選択と、把持面の組み合わせの決定の2段階に分けて、把持目標114を計画する処理について説明する。
【0049】
D-1.把持面の候補選択
把持目標計画部102は、まず、物体の把持に使用するグリッパの指の特性に基づいて、把持対象の物体の各分割面の把持の適性を評価して、把持に向かない分割面を候補から外す。したがって、候補から外されなかった分割面が把持面の候補として残る。把持目標計画部102は、把持面の候補から外されなかった分割面の評価値を記録しておき、後段の把持面の組み合わせの決定処理に利用するようにしてもよい。
【0050】
グリッパが特性の異なる複数の指を持つ場合には、把持目標計画部102は、それぞれの指の特性に基づいて、把持対象の物体の各分割面の把持の適性を評価するようにしてもよい。そして、把持目標計画部102は、いずれの特性の指に対しても把持に向かない分割面を候補から外す。あるいは、把持に向く指の本数が少ない分割面を候補から外すようにしてもよい。
【0051】
また、把持目標計画部102は、複数の評価項目について、各分割面の把持の適性を評価するようにしてもよい。そして、把持目標計画部102は、少なくともいずれか1つの評価項目について評価値が低い分割面を、把持面の候補から外す。あるいは、把持目標計画部102は、複数の評価項目の評価値の合計又は平均値(加重平均を含む)が所定の閾値未満となる分割面を把持面の候補から外すようにしてもよい。
【0052】
例えば、グリッパの指の厚さと分割面の法線方向の開放距離を、把持面の候補選択の評価項目の1つとしてもよい。開放距離は、分割面の法線方向の障害物に衝突するまでの距離である。法線方向の開放距離が指の厚さよりも小さいと、指を分割面と障害物との間隙に挿入できず、その分割面を使って把持できない。したがって、把持目標計画部102は、法線方向の開放距離<指の厚さ、であればその分割面を把持面の候補から外すようにしてもよい。
【0053】
また、例えば分割面に対する指の滑り難さを、把持面の候補選択の評価項目の1つとしてもよい。指の摩擦係数と分割面の推定摩擦係数と、把持力と、物体の推定重量から、その分割面に指を接触させて把持したときの、分割面に対する指の滑り難さを評価することができる。滑り易い面で把持すると、指が滑って物体を落下させるおそれがある。そこで、把持目標計画部102は、指が滑り易い分割面を、把持面の候補から外すようにしてもよい。
【0054】
また、例えば指の弾性係数と分割面の平面度を、把持面の候補選択の評価項目の1つとしてもよい。指の弾性係数が高く変形し難いのに対して、分割面の平面度が低いと、その分割面で把持したときの指の接触面が狭くて滑り易い。そこで、把持目標計画部102は、弾性係数の高い指を備えたグリッパを使用する際には、平面度の低い分割面を把持面の候補から外すようにしてもよい。
【0055】
また、例えば把持対象の物体の推定重心位置から分割面へのベクトルとその分割面の法線方向のなす角を、把持面の候補選択の評価項目の1つとしてもよい。この角度が大きいと、この分割面で把持したときに、指が滑らないようにするには大きな接触力を必要とし、アクチュエータ108の駆動電力が増大してしまう。そこで、把持目標計画部102は、把持対象の物体の推定重心位置から分割面へのベクトルに対する法線方向のなす角が大きくなる分割面を、把持面の候補から外すようにしてもよい。
【0056】
図7には、把持目標計画部102において、把持対象の物体の複数の分割面から把持面の候補を選択するための処理手順をフローチャートの形式で示している。図示の処理手順では、グリッパが持つ複数の指がそれぞれ異なる特性を有し、且つ、複数の評価項目を用いて各分割面の評価を行うことを想定している。
【0057】
把持目標計画部102は、未処理の指を1つ選択し(ステップS702)、未処理の分割面がある場合には(ステップS703のYes)、未処理の分割面を1つ選択する(ステップS704)。そして、未処理の評価項目がある場合には(ステップS705のYes)、把持目標計画部102は、未処理の評価項目を1つ選択して(ステップS706)、その評価項目について、ステップS702で選択した指の特性に基づいて、ステップS704で選択した分割面の把持に対する評価値を計算する(ステップS707)。
【0058】
評価項目については、上記で例示した通りである。各評価項目について閾値があらかじめ設定されているものとする。例えば、グリッパの指の厚さと分割面の法線方向の開放距離であれば法線方向の開放距離≧指の厚さ、分割面に対する指の滑り難さであれば推定摩擦力、指の弾性係数と分割面の平面度であれば推定接触面積、把持対象の物体の推定重心位置から分割面へのベクトルとその分割面の法線方向のなす角、などについてそれぞれ閾値が設定されている。
【0059】
そして、把持目標計画部102は、ステップS706で選択した評価項目について、ステップS707で算出した評価値が閾値未満となる場合には(ステップS708のYes)、その分割面を把持面の候補から外す(ステップS709)。
【0060】
その後、この分割面について未処理の評価項目がある場合には(ステップS705のYes)、把持目標計画部102は、未処理の評価項目を1つ選択して(ステップS706)、その評価項目について上記と同様の分割面の評価を繰り返し実行する。
【0061】
また、この分割面についてすべての評価項目について評価が終了した場合には(ステップS705のNo)、ステップS703に戻って、把持目標計画部102は、未処理の分割面が残っているかどうかをチェックする。そして、未処理の分割面がある場合には(ステップS703のYes)、把持目標計画部102は、未処理の分割面を1つ選択して(ステップS704)、その分割面について上記と同様に各評価項目の評価を繰り返し実行する。
【0062】
また、把持対象の物体のすべての分割面について評価が終了した場合には(ステップS703のNo)、ステップS701に戻って、把持目標計画部102は、未処理の指が残っているかどうかをチェックする。そして、未処理の指がある場合には(ステップS701のYes)、把持目標計画部102は、未処理の指を1つ選択し(ステップS702)、その指の特性に基づいて、上記と同様に把持対象の物体の分割面毎に各評価項目の評価を繰り返し実行する。
【0063】
そして、すべての指について、物体のすべての分割面のすべての評価項目を評価し終えると(ステップS701のNo)、把持目標計画部102は、本処理を終了する。
【0064】
D-2.把持面の組み合わせの決定
把持目標計画部102は、まず、図7に示した処理手順に従って選択した把持面の各候補とグリッパの各指の組み合わせの候補を生成する。そして、把持目標計画部102は、複数の候補の中から最良の把持面の候補とグリッパの各指の組み合わせを選択して、把持目標114として出力する。
【0065】
把持目標計画部102は、把持面の候補とグリッパの指の組み合わせを生成する際、1つの把持面に対して複数の指を割り当ててもよい。例えば面積が大きな分割面の場合、複数の指で把持した方が安定する場合がある。
【0066】
また、把持目標計画部102は、把持面の候補とグリッパの指の組み合わせを生成する際、グリッパのすべての指を把持面に割り当てる必要は必ずしもない。すなわち、いずれかの指を使用しない、把持面の候補とグリッパの指の組み合わせを生成してもよい。
【0067】
また、把持目標計画部102は、把持面の候補とグリッパの指の組み合わせを生成する際、すべての把持面の候補にグリッパのいずれかの指を割り当てる必要は必ずしもない。すなわち、いずれの指でも把持されない把持面の候補を含む組み合わせを生成してもよい。
【0068】
そして、把持目標計画部102は、生成した把持面の候補とグリッパの指の組み合わせの各候補について把持評価値を算出して、把持評価値が最も高い組み合わせ候補に基づく把持目標114を出力する。
【0069】
把持面の候補とグリッパの指の組み合わせの各候補についての把持評価値の計算方法は特に限定されない。例えば、把持対象の物体を把持する各指が生成する把持力(摩擦力を含む)のベクトルを算出し、物体に作用する重力との合力を0にできるかどうかを確認するようにしてもよい。
【0070】
図8には、把持目標計画部102において、把持面の候補から把持面の組み合わせを決定するための処理手順をフローチャートの形式で示している。
【0071】
把持目標計画部102は、まず、図7に示した処理手順に従って選択した把持面とグリッパの各指の組み合わせの候補を生成する(ステップS801)。
【0072】
そして、把持目標計画部102は、未処理の把持面とグリッパの指の組み合わせの1つを選択して(ステップS803)、その組み合わせについての把持評価値を算出する(ステップS804)。把持面とグリッパの指の組み合わせの各候補についての把持評価値の計算方法は特に限定されない。例えば、把持対象の物体を把持する各指が生成する把持力(摩擦力を含む)のベクトルを算出し、物体に作用する重力との合力を0にできるかどうかを確認するようにしてもよい(前述)。
【0073】
把持目標計画部102は、未処理の把持面とグリッパの指の組み合わせの候補がある場合には(ステップS802のYes)、さらにそのうちの1つの組み合わせの候補を選択して(ステップS803)、把持評価値の算出を繰り返す(ステップS804)。
【0074】
把持面とグリッパの指のすべての組み合わせの候補について把持評価値の算出が終了した場合には(ステップS802のNo)、把持目標計画部102は、算出した把持評価値が最大となる組み合わせの候補を選択して(ステップS805)、その把持評価値が所定の閾値以上であるかどうかを確認する(ステップS806)。
【0075】
そして、把持目標計画部102は、選択した組み合わせの候補の把持評価値が所定の閾値以上であれば(ステップS806のYes)、その把持面と指の組み合わせの候補を把持目標114として出力して(ステップS807)、本処理を終了する。
【0076】
また、選択した組み合わせの候補の把持評価値が所定の閾値未満であれば(ステップS806のNo)、把持目標計画部102は、把持目標114を出力しないで本処理を終了する。この場合、把持目標計画部102は、インターフェース105を介して指定された物体を把持できないことを、ユーザ(又は、上位システム)に通知するようにしてもよい。
【0077】
E.ロボットの制御システムの変形例
図9には、変形例に係るロボット制御システム900の機能的構成を示している。図5に示したロボット制御システム500との主な相違は、ロボット制御システム900は、ロボットが複数のグリッパを装備し、グリッパを選択的に使用することを想定し、グリッパ毎に把持目標計画部102、動作計画部106、制御器7、及びアクチュエータ108を備えている点と、インターフェース105を介して指定された物体を把持するグリッパを選択するグリッパ選択部110をさらに備えている点である。
【0078】
各把持目標計画部102-1及び102-2はそれぞれ、対応するグリッパによる物体の把持目標を計画するとともに、計画した把持目標について把持指標値も算出する。把持指標値は、例えば、対応するグリッパを使って把持目標を実行した際の安定度、予想成功率、消費エネルギ量のうち少なくとも1つを数値化した値である。そして、グリッパ選択部110は、複数の把持目標の中から把持指標値が最良となるグリッパを選択して、該当する把持目標計画部102に対して把持操作の実行を指示する。
【0079】
なお、図9では、図面の簡素化のため、使用するグリッパの数を2個とし、2つの制御系統しか描いていないが、ロボット制御システム900は、3個以上のグリッパを使用することが可能であり、グリッパ数に応じた制御系統を装備し、且つグリッパ選択部110は3個以上のグリッパの中から物体の把持に使用するグリッパを選択するように構成することも可能である。
【0080】
F.装置構成
図10には、図1に示した情報処理装置100として動作する装置1000のハードウェア構成例を示している。図示の装置1000は、例えばPCや、ロボットに搭載された制御ユニット、あるいはインターネット上に設置されたサーバ装置でもよい。
【0081】
装置1000は、CPU(Central Processing Unit)1001の統括的な制御下で動作する。図示の例では、CPU1001は、プロセッサコア1001A及びプロセッサコア1001Bを含むマルチコア構成である。CPU1001は、バス1010を介して装置1000内の各コンポーネントと相互接続される。
【0082】
記憶装置1020は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)などの大容量の外部記憶装置で構成され、CPU1001が実行するプログラムや、プログラムを実行中に使用し又はプログラムを実行して生成されるデータなどのファイルを格納する。CPU1001は、例えば、環境情報115に基づいて物体認識を行うプログラムや、認識された物体情報111に基づいて把持情報を分析して汎化把持形状情報112を生成するプログラム、汎化把持形状情報112とグリッパの特性に基づいて把持目標114を計画するプログラム、把持目標114からマニピュレータ及びグリッパの動作計画116を立案するプログラム、動作計画116に基づいてアクチュエータ108の制御値を計算するプログラムなどを実行する。
【0083】
また、記憶装置1020は、物体情報111に基づいて把持情報を分析して汎化把持形状情報112を、物体の種別と対応付けて蓄積している。
【0084】
メモリ1021は、ROM(Read Only Memory)やRAM(Random Access Memory)で構成される。ROMには、例えば装置1000の起動用プログラムや基本入出力用プログラムが格納される。RAMは、CPU1001が実行するプログラムをロードしたり、プログラム実行中に使用するデータを一時的に格納したりするために使用される。
【0085】
表示部1022は、例えば液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイで構成される。表示部322は、CPU301がプログラム実行中のデータや実行結果を表示する。例えば、物体情報111や、汎化把持形状情報112、把持目標114、動作計画116などに関する情報が、表示部322に表示される。
【0086】
入出力インターフェース部1030は、外部機器とのデータのやり取りを行う。外部機器は、例えばキーボードやマウスなどの入力装置や、スピーカなどの出力装置である。例えば、入出力インターフェース部1030は、ユーザの入力操作(又は、上位システム)から、把持対象情報113を受け取るための処理を行う。
【0087】
ネットワーク入出力部1050は、装置1000とインターネットとの入出力処理を行う。ネットワーク入出力部1050は、例えば装置1000上で作成した汎化把持形状情報112やグリッパの特性に基づいて計画した把持目標を、インターネット経由で外部装置(ロボットなど)に供給する。
【0088】
G.効果
最後に本開示によってもたらされる効果についてまとめておく。
【0089】
(1)本開示に係る情報処理装置100によれば、把持情報分析部101は、物体の表面形状を複数の平面又は曲面に分割して、分割面毎に把持特性(平面度、摩擦、強度、法線情報、開放距離など)からなる汎化把持形状情報を算出するように構成されている。汎化把持形状情報は、グリッパの特性によらない物体の形状に関する情報である。したがって、把持目標計画部102は、グリッパの各指の特性と各分割面の把持特性に基づいて、把持面とグリッパの指の最良の組み合わせを決定することができる。本開示によれば、特性が異なるグリッパに交換しても、物体の汎化把持形状情報に基づいて把持目標を計画することができ、要するに、すべてのグリッパ特性に共通の把持情報分析部102を用いることができ、計算量の削減を実現することができる。
【0090】
(2)本開示によれば、把持目標計画部102は、グリッパの各指の特性と各分割面の把持特性に基づいて、把持面とグリッパの指の最良の組み合わせを決定する。したがって、共通の把持情報分析部101を用いて、特性が異なる複数のグリッパに対する把持目標を計画することができる。
【0091】
(3)本開示によれば、特性が異なる複数のグリッパの各々の把持目標を計画し、各グリッパの把持目標の把持指標値を比較して、最良のグリッパを選択して物体の把持操作を行うことができる。
【産業上の利用可能性】
【0092】
以上、特定の実施形態を参照しながら、本開示について詳細に説明してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0093】
本開示によれば、把持対象となるさまざまな物体を分析して、物体毎にグリッパの特性によらない汎化把持形状情報を作成しておくことができる。そして、任意のロボットのマニピュレータを用いて物体を把持する際には、その物体に該当する汎化把持形状情報を用いて、実際に物体に把持に使用するグリッパの特性に応じた把持目標を算出することができる。したがって、本開示によれば、ロボットのハンドの交換や、複数のハンドを装備するロボットにおけるハンドの選択に柔軟に対応して、最適な把持目標に基づく物体の把持操作を実現することができる。
【0094】
要するに、例示という形態により本開示について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本開示の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【0095】
なお、本開示は、以下のような構成をとることも可能である。
【0096】
(1)物体を分析して、汎化把持形状情報を生成する把持情報分析部と、
汎化把持形状情報を蓄積する汎化把持形状情報蓄積部と、
を具備する情報処理装置。
【0097】
(2)前記把持情報分析部は、前記物体の位置、姿勢、形状、推定された材質、強度、重量、重心位置のうち少なくとも1つを含む物体の情報を分析して、物体の種別毎の前記汎化把持形状情報を生成する、
上記(1)に記載の情報処理装置。
【0098】
(3)前記把持情報分析部は、前記物体の表面形状を複数の平面又は曲面に分割して、各分割面について算出した平面度、摩擦、強度、法線情報、開放距離のうち少なくとも1つを含む前記汎化把持形状情報を生成する、
上記(1)又は(2)のいずれかに記載の情報処理装置。
【0099】
(4)前記把持情報分析部は、前記物体の形状、体積、又は外観から、均一材料と仮定して、前記物体の重心位置を推定する、
上記(2)又は(3)のいずれかに記載の情報処理装置。
【0100】
(5)前記把持情報分析部は、複数の材質からなる前記物体の推定された材質毎に重心を求めて、その加重平均をとって重心位置を推定する、
上記(2)又は(3)のいずれかに記載の情報処理装置。
【0101】
(6)前記把持情報分析部は、前記物体の表面形状を抽出し、前記物体の表面形状を複数の平面又は曲面に分割し、分割した各面について、面を構成する要素の分散に基づいて面の平面度及び法線方向を推定し、法線方向に基づいて分割面の法線方向の開放距離を推定し、平面度や反射光又は推定された材質に基づいて物体の摩擦や強度を推定して、前記汎化把持形状情報を生成する、
上記(3)乃至(5)のいずれかに記載の情報処理装置。
【0102】
(7)物体の汎化把持形状情報と把持に使用するグリッパの特性に基づいて物体の把持目標を計画する把持目標計画部をさらに備える、
上記(1)乃至(6)のいずれかに記載の情報処理装置。
【0103】
(8)前記把持目標計画部は、前記物体のどの部分をどう把持するかに関する前記把持目標を計画する、
上記(7)に記載の情報処理装置。
【0104】
(9)前記把持目標計画部は、前記物体を把持するグリッパの各指が物体に接触する接触面、接触方向、接触力のうち少なくとも1つを含む前記把持目標を計画する、
上記(7)又は(8)のいずれかに記載の情報処理装置。
【0105】
(10)前記把持目標計画部は、把持対象となる物体の表面形状を分割した複数の分割面の中から把持面の候補となる分割面を選択し、複数の把持面の候補の中から把持面とグリッパの指の組み合わせを決定して、前記把持目標を決定する、
上記(7)乃至(9)のいずれかに記載の情報処理装置。
【0106】
(11)前記把持目標計画部は、物体の把持に使用するグリッパの指の特性に基づいて、把持対象の物体の各分割面の把持の適性を評価して、把持に向かない分割面を候補から外す、
上記(10)に記載の情報処理装置。
【0107】
(12)前記把持目標計画部は、前記グリッパが特性の異なる複数の指を持つ場合には、それぞれの指の特性に基づいて、物体の各分割面の把持の適性を評価する、
上記(11)に記載の情報処理装置。
【0108】
(13)前記把持目標計画部は、下記(a)~(d)のうち少なくとも1つを評価項目として物体の各分割面の把持の適性を評価する、
上記(11)又は(12)のいずれかに記載の情報処理装置。
(a)グリッパの指の厚さと分割面の法線方向の開放距離
(b)指の摩擦係数と分割面の推定摩擦係数と、把持力と、物体の推定重量に基づく分割面に対する指の滑り難さ
(c)指の弾性係数と分割面の平面度
(d)把持対象の物体の推定重心位置から分割面へのベクトルとその分割面の法線方向のなす角
【0109】
(14)前記把持目標計画部は、物体を把持する各指が生成する把持力(摩擦力を含む)のベクトルに基づいて、把持面とグリッパの指の最良の組み合わせを決定する、
上記(10)乃至(13)のいずれかに記載の情報処理装置。
【0110】
(15)複数のグリッパのいずれかを選択して物体を把持する場合に、
前記把持目標計画部は、前記複数のグリッパの各々について把持目標を計画し、
各グリッパの把持目標を比較した結果に基づいて、前記物体の把持に使用するグリッパを選択する、
上記(7)乃至(14)のいずれかに記載の情報処理装置。
【0111】
(16)各グリッパの把持目標を実行した際の把持の安定度、予想成功率、消費エネルギ量のうち少なくとも1つを含む把持指標値に基づいて、前記物体の把持に使用するグリッパを選択する、
上記(15)に記載の情報処理装置。
【0112】
(17)前記把持目標計画部は、把持対象の物体に関する汎化把持形状情報を前記汎化把持形状情報蓄積部から取り出して、前記把持目標の計画を行う、
上記(7)乃至(16)のいずれかに記載の情報処理装置。
【0113】
(18)把持対象の物体を指定するインターフェースと、
前記把持目標計画部が計画した前記把持目標に基づいてマニピュレータ及びグリッパの動作を計画する動作計画部と、
前記動作計画部が計画した動作計画に基づいて、アクチュエータを駆動する制御値を生成する制御器と、
前記制御器が生成した制御値に従って駆動して前記マニピュレータ及び前記グリッパを動作させる前記アクチュエータと、
をさらに備える、
上記(1)乃至(17)にいずれかに記載の情報処理装置。
【0114】
(19)物体を分析して、汎化把持形状情報を生成する把持情報分析ステップと、
汎化把持形状情報を汎化把持形状情報蓄積部に蓄積する汎化把持形状情報蓄積ステップと、
を有する情報処理方法。
【0115】
(20)物体を分析して、汎化把持形状情報を生成する把持情報分析部、
汎化把持形状情報を蓄積する汎化把持形状情報蓄積部、
としてコンピュータを機能させるようにコンピュータ可読形式で記述されたコンピュータプログラム。
【符号の説明】
【0116】
100…情報処理装置、101…把持情報分析部
102…把持目標計画部、103…センサ部、104…物体認識部
105…インターフェース、106…動作計画部、107…制御器
108…アクチュエータ、109…汎化把持形状情報蓄積部
110…グリッパ選択部、500…ロボット制御システム
900…ロボット制御システム
1000…装置、1001…CPU
1001A、1001B…プロセッサコア、1010…バス
1020…記憶装置、1021…メモリ、1022…表示部
1030…入出力インターフェース部
1050…ネットワーク入出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10