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

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

▶ ファナック株式会社の特許一覧

特開2024-46737人間のデモンストレーションによる把持教示
<>
  • 特開-人間のデモンストレーションによる把持教示 図1
  • 特開-人間のデモンストレーションによる把持教示 図2
  • 特開-人間のデモンストレーションによる把持教示 図3
  • 特開-人間のデモンストレーションによる把持教示 図4
  • 特開-人間のデモンストレーションによる把持教示 図5
  • 特開-人間のデモンストレーションによる把持教示 図6
  • 特開-人間のデモンストレーションによる把持教示 図7
  • 特開-人間のデモンストレーションによる把持教示 図8
  • 特開-人間のデモンストレーションによる把持教示 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046737
(43)【公開日】2024-04-04
(54)【発明の名称】人間のデモンストレーションによる把持教示
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240328BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023117312
(22)【出願日】2023-07-19
(31)【優先権主張番号】17/934,808
(32)【優先日】2022-09-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】カイモン ワン
(72)【発明者】
【氏名】ヨンシアン ファン
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707JT10
3C707KS03
3C707KS04
3C707KT03
3C707KT06
3C707LS05
3C707LS09
3C707LV06
3C707LW08
(57)【要約】
【課題】人間のデモンストレーションによるロボットを用いた把持教示技術の提供。
【解決手段】人間がワークの把持を実演し、カメラが実演の画像を提供し、画像が解析されてワークに対する手の姿勢が特定される。手のポーズは、グリッパの2本の指を表す平面に変換される。ハンド平面は、人間の実演に対応するワーク上の把持領域を決定するために使用される。把持領域及び手のポーズは、実演に近似する複数の把持を生成するために、ランダム化して繰り返し実行される最適化計算で使用され、最適化された把持の各々は、グリッパとワークとの表面接触による安定した高品質の把持である。次に、生成された把持のうち最良の把持が選択され、把持データベースに追加される。人間の実演は、データベース内に複数の異なる把持を提供するために、ワークの異なる場所で反復されてもよい。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットを用いた把持システムで使用される把持を教示する方法であって、
把持すべき物体の物体モデル、及びロボットのグリッパのグリッパモデルを提供することと、
人間のデモンストレータの手により、前記物体の把持のデモンストレーションを実行することと、
前記デモンストレーションの画像を解析して、ハンド座標系及び前記ハンド座標系に対応する名目上のグリッパ座標系を特定することと、
前記物体のポーズに対する前記ハンド座標系の位置及び向きに基づいて、前記物体上の把持領域を計算することと、
プロセッサ及びメモリを有するコンピュータを用いて、前記把持領域及び前記名目上のグリッパ座標系について、最適化把持を計算することと、
ある範囲内でランダム化された前記名目上のグリッパ座標系の初期値を用いて、最適化把持の計算を反復し、複数の最適化把持を生成することと、
前記最適化把持の各々を前記ハンド座標系及び前記把持領域と比較することにより、前記複数の最適化把持のうち最良の把持を選択することと、
前記最良の把持を規定するデータを把持データベースに出力することと、
を含む方法。
【請求項2】
前記物体モデルは、前記物体の三次元(3D)形状データを含み、前記グリッパモデルは、前記グリッパの3D形状及び作動パラメータを含む、請求項1に記載の方法。
【請求項3】
前記デモンストレーションの画像を解析してハンド座標系を特定することは、親指及び人差し指の付け根及び先端を含む前記手のキーポイントの三次元(3D)座標を求め、前記キーポイントの座標から前記ハンド座標系を計算することを含む、請求項1に記載の方法。
【請求項4】
前記物体上の把持領域を計算することは、前記ハンド座標系からハンド平面を計算し、前記ハンド平面を前記物体の点群内に通過させ、前記ハンド平面及び前記ハンド座標系の原点への近さの基準を満たす前記物体の外表面上の点を選択することを含む、請求項1に記載の方法。
【請求項5】
前記最適化把持の各々は、把持目標点の三次元(3D)座標と、前記グリッパが従うべきアプローチ角と、グリッパの回転角と、グリッパ幅と、把持品質の値とを含む把持を規定する、請求項1に記載の方法。
【請求項6】
最適化把持を計算することは、極大化された把持品質を有するとともに、グリッパと物体との干渉なしに前記グリッパと前記物体の前記把持領域との間の表面接触を規定する制約式を満たす最適化把持を計算することを含む、請求項1に記載の方法。
【請求項7】
最適化把持を計算することは、前記グリッパモデルの表面上のサンプリング点について規定されたグリッパ表面、及び前記物体モデルの表面上の前記把持領域内のサンプリング点について規定された物体表面を含めて定式化された最適化を反復することを含み、前記物体モデルの前記サンプリング点は、前記グリッパ表面上の前記サンプリング点の各々に対応する前記物体表面上の最近傍点を含む、請求項6に記載の方法。
【請求項8】
前記最適化の反復は、前記グリッパ表面上の各サンプリング点と、それに対応する目標把持領域内の前記物体表面上の最近傍点との間の合計距離に基づいて規定される把持品質を最大化する目的関数を含めて定式化され、前記制約式は、制約違反により把持品質が低下するペナルティ関数として扱われ、各々の反復では、最小二乗線形代数計算を使用して1ステップでの変換が計算される、請求項7に記載の方法。
【請求項9】
前記複数の最適化把持のうち最良の把持を選択することは、コスト関数を最小化することを含み、前記コスト関数は、前記最適化把持と前記ハンド座標系との間の位置及び角度の差を計算する項と、前記最適化把持と前記把持領域との間の重複面積の逆数によって定義される項とを含む、請求項1に記載の方法。
【請求項10】
前記把持のデモンストレーションの実行から、前記最良の把持を規定するデータの出力までのステップを繰り返して、前記把持データベース内に複数の把持を生成することをさらに含む、請求項1に記載の方法。
【請求項11】
リアルタイムのロボット操作中に前記把持データベースを使用して、物体の容器から把持すべき目標物体を特定することをさらに含み、このことは、3Dカメラからの深度画像を前記物体モデルと比較することによって物体のポーズを推定することと、前記把持データベースからの把持を、推定された前記物体のポーズ上にマッピングすることによって前記目標物体を特定することと、目標物体把持データを、前記グリッパを備えたロボットに対して前記目標物体を把持して移動させるよう指示するロボット制御装置に提供することとを含む、請求項1に記載の方法。
【請求項12】
ロボットを用いた把持システムで使用される把持を教示する方法であって、
把持すべき物体の三次元(3D)形状を含む物体モデル、及びロボットのグリッパの3D形状及び作動パラメータを含むグリッパモデルを提供することと、
人間のデモンストレータの手により、前記物体の把持のデモンストレーションを実行することと、
前記デモンストレーションの画像を解析して、ハンド座標系、ハンド平面及び前記ハンド座標系に対応する名目上のグリッパ座標系を特定することと、
前記ハンド平面を前記物体の点群内に通過させ、前記ハンド平面及び前記ハンド座標系の原点への近さの基準を満たす前記物体の外表面上の点を選択することにより、前記物体上の把持領域を計算することと、
プロセッサ及びメモリを有するコンピュータを用いて、前記把持領域及び前記名目上のグリッパ座標系について、極大化された把持品質を有するとともに、グリッパと物体との干渉なしに前記グリッパと前記物体の前記把持領域との間の表面接触を規定する制約式を満たす最適化把持を計算することと、
ある範囲内でランダム化された前記名目上のグリッパ座標系の初期値を用いて、最適化把持の計算を反復し、複数の最適化把持を生成することと、
前記最適化把持の各々を前記ハンド座標系及び前記把持領域と比較することにより、前記複数の最適化把持のうち最良の把持を選択することと、
前記最良の把持を規定するデータを把持データベースに出力することと、
を含む方法。
【請求項13】
ロボットを用いた把持生成システムであって、
三次元(3D)カメラと、
プロセッサ及びメモリを有するとともに、前記3Dカメラと通信して、人間のデモンストレーションに基づいて最適化把持を計算するように構成されたコンピュータと、
を備え、
把持すべき物体の物体モデル、及びグリッパのグリッパモデルが前記コンピュータに提供され、
人間が手を用いて前記物体の把持のデモンストレーションを実行し、
前記最適化把持を計算するように構成された前記コンピュータは、
前記デモンストレーションの画像を解析して、ハンド座標系及び前記ハンド座標系に対応する名目上のグリッパ座標系を特定し、
前記物体のポーズに対する前記ハンド座標系の位置及び向きに基づいて、前記物体上の把持領域を計算し、
プロセッサ及びメモリを有するコンピュータを用いて、前記把持領域及び前記名目上のグリッパ座標系について、最適化把持を計算し、
ある範囲内でランダム化された前記名目上のグリッパ座標系の初期値を用いて、最適化把持の計算を反復し、複数の最適化把持を生成し、
前記最適化把持の各々を前記ハンド座標系及び前記把持領域と比較することにより、前記複数の最適化把持のうち最良の把持を選択し、
前記最良の把持を規定するデータを把持データベースに出力する、
把持生成システム。
【請求項14】
ロボット制御装置と、
前記ロボット制御装置からの指令に基づいて、目標物体を把持して移動させるグリッパを備えたロボットと、
を備え、
前記3Dカメラは、リアルタイムのロボット操作中に物体の容器の深度画像を提供し、前記コンピュータ又は前記ロボット制御装置は、前記深度画像を前記物体モデルと比較することによって物体のポーズを推定し、前記把持データベースからの把持を、推定された前記物体のポーズ上にマッピングすることによって目標物体を特定して、前記物体の容器から把持する目標物体を特定する、請求項13に記載のシステム。
【請求項15】
前記物体モデルは、前記物体の三次元(3D)形状データを含み、前記グリッパモデルは、前記グリッパの3D形状及び作動パラメータを含む、請求項13に記載のシステム。
【請求項16】
前記デモンストレーションの画像を解析してハンド座標系を特定することは、親指及び人差し指の付け根及び先端を含む前記手のキーポイントの三次元(3D)座標を求め、前記キーポイントの座標から前記ハンド座標系を計算することを含む、請求項13に記載のシステム。
【請求項17】
前記物体上の把持領域を計算することは、前記ハンド座標系からハンド平面を計算し、前記ハンド平面を前記物体の点群内に通過させ、前記ハンド平面及び前記ハンド座標系の原点への近さの基準を満たす前記物体の外表面上の点を選択することを含む、請求項13に記載のシステム。
【請求項18】
前記最適化把持の各々は、把持目標点の三次元(3D)座標と、前記グリッパが従うべきアプローチ角と、グリッパの回転角と、グリッパ幅と、把持品質の値とを含む把持を規定する、請求項13に記載のシステム。
【請求項19】
最適化把持を計算することは、極大化された把持品質を有するとともに、グリッパと物体との干渉なしに前記グリッパと前記物体の前記把持領域との間の表面接触を規定する制約式を満たす最適化把持を計算することを含む、請求項13に記載のシステム。
【請求項20】
前記複数の最適化把持のうち最良の把持を選択することは、コスト関数を最小化することを含み、前記コスト関数は、前記最適化把持と前記ハンド座標系との間の位置及び角度の差を計算する項と、前記最適化把持と前記把持領域との間の重複面積の逆数によって定義される項とを含む、請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、広くは、人間のデモンストレーションによってロボットに部品の把持を教示する方法に関し、特には、人間が部品の把持を実演し、デモンストレーションの画像を解析して部品に対する手の姿勢を規定し、部品上の把持領域が、ハンド平面を部品に通して近くの表面点を選択することによって決定され、把持の最適化を使用して人間のデモンストレーションに対応する最良の把持を決定する、ロボットの把持教示のための方法に関する。
【背景技術】
【0002】
産業用ロボットを使用して、製造、組み立て、及び材料移動の操作を幅広く実行することはよく知られている。そのようなアプリケーションの1つは、ロボットが箱から個々の部品を取り出し、さらなる加工や包装のために各部品を所定の場所に配置する等のピックアンドプレース操作である。ピックアンドプレース操作の具体的な例は、部品やワークが箱内に落とされ、ロボットによって把持されて機械加工ステーションに配置される必要があるマシンテンディング(machine tending)アプリケーションである。機械加工ステーションは通常、部品に対して機械加工操作(穴あけ、フライス加工、ねじ切り等) を実行できるようにするために、特定の方法で部品を把持する必要がある。このことは、部品を機械加工ステーション内にロードするために、テンディングロボットが部品をどのように把持し得るかに影響する。
【0003】
ピックアンドプレース操作の他の例では、ロボットが部品の箱から個々の部品を把持し、その部品を次のステーションに移動させるためのコンベア上に置いたり、出荷用のコンテナ内に入れたりする。これらの場合でも、部品が指定された姿勢でコンベア上又はコンテナ内に配置されるのに適したやり方でロボットが部品を把持することが有利である。この理由から、部品の特定の領域はピックアンドプレースロボットによる把持に適したものとなっている。
【0004】
上述のようなアプリケーションでは、箱内の個々の部品の位置及び向きを識別するために、通常はビジョンシステム(1つ以上のカメラ)が使用される。次いで、選択された部品に使用される特定のロボット把持が識別され、その把持は、特定の部品形状及び特定のグリッパ形状に対して生成された、予め計算された把持データベースから選択可能である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
把持生成のための技術は、当技術分野で周知である。手動の把持教示では、生産ロボットを使用し、熟練した作業者が教示操作盤又はハンドガイダンスを使用してロボットに部品の把持を教示する。この教示は、箱内の様々な姿勢の部品に対する適切な把持を定義するために、何度も行う必要がある。この手動の教示技術は、教示のために完全な(例えばロボット及び機械加工ステーションを備えた)ワークセルを必要とするため、時間がかかり、非効率的であり、非常にコストがかかる。このことは、ワークセルを実際の部品生産に使用することの妨げになる。
【0006】
多くの把持候補を自動的に生成できる他の把持生成技術が周知である。しかしこれらの技術には、計算コストが非常に高くかつ遅いか、又は、単純化を行うことで、計算された把持の質が低下する等の欠点がある。さらに、多くの既存の技術には、後で必要に応じて部品を配置できるようにするために、ロボットが特定のやり方で部品を把持しなければならないという事実を自動的に考慮する方法がない。
【0007】
近年、上述の自動把持生成の問題を克服する技術が開発されているが、これらの把持生成技術でも、周囲の部品や箱の壁、テーブルや治具等の障害物、部品形状の微妙な違い等、部品の取り出し作業に関連する環境要因を考慮することはできない。
【0008】
上記の状況に照らして、特定の用途に適した把持に関する人間の専門家の知識を活用し、把持最適化技術を使用して、これに応じた高品質で安定した把持を特定するロボット把持教示技術が必要とされている。
【課題を解決するための手段】
【0009】
本開示の教示に従って、人間のデモンストレーションによるロボットの把持教示の技術が開示される。人間がワークの把持を実演し、カメラがその実演の画像を提供し、該画像を解析してワークに対する手の姿勢(ポーズ)を特定する。手の姿勢は例えば、グリッパの2つのフィンガを表す平面に変換される。ハンド平面は、人間のデモンストレーションに対応するワーク上の把持領域を決定するために使用される。把持領域及び手の姿勢は、デモンストレーションに近似する複数の把持を生成するために、ランダムに繰り返し実行可能な最適化計算で使用される。最適化された把持の各々は、グリッパとワークとが表面接触する安定した高品質の把持である。次に、生成された把持のうち最良の1つが選択され、把持データベースに追加される。人間のデモンストレーションは、データベース内に複数の異なる把持を提供するために、ワークの異なる位置で反復されてもよい。
【0010】
開示された方法の追加の特徴は、添付の図面と併せて、以下の説明及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0011】
図1】本開示の実施形態に係る把持教示及び部品把持システムの図であり、ここでは、人間が実演した部品の把持が最適化されて把持データベースに追加され、産業用ロボットがデータベースの把持の1つを使用して箱からワークを取り出し、さらなる処理のためにそのワークを配置する。
【0012】
図2】本開示の実施形態に係る、人間のデモンストレーションによる把持教示のための技術で使用される基本原理を示す図である。
【0013】
図3】本開示の実施形態に係る、人間のデモンストレーションによる把持教示に使用されるプロセスに含まれるステップのフローチャートであり、把持のデモンストレーション、把持領域の決定、把持の最適化、及び最良の把持の選択を含む。
【0014】
図4】本開示の実施形態に係る、人間の手の画像を解析して、フィンガ型ロボットグリッパの対応する位置及び姿勢を決定する技術を示す図である。
【0015】
図5】本開示の実施形態に係る、把持デモンストレーションのカメラ画像から決定された手の姿勢に基づいてワーク上の把持領域を特定する技術の図である。
【0016】
図6】本開示の実施形態に係る、図3の把持最適化ボックスで使用される把持最適化計算を示す図であり、表面フィッティング、衝突回避、及び部品上の特定された把持領域の使用を含む。
【0017】
図7】本開示の実施形態に係る、図3に示す把持の最適化によって生成された複数の把持結果から最適な把持を特定するために使用される技術を示す。
【0018】
図8】本開示の実施形態に係る、人間のデモンストレーションによる把持教示のプロセスで使用可能な、外側把持及び内側把持の双方を実行するフィンガ型グリッパの図である。
【0019】
図9】本開示の実施形態に係る、人間のデモンストレーションによるロボットの把持教示のための方法のフローチャートである。
【発明を実施するための形態】
【0020】
人間のデモンストレーションによるロボットの把持教示のための方法を対象とした本開示の実施形態の以下の説明は、本質的に単なる例示であり、開示された装置及び技術、又はそれらのアプリケーション若しくは使用を制限することを意図するものではない。
【0021】
供給元から部品を取り出して目的地に配置するために産業用ロボットを使用することは周知である。典型的なピックアンドプレース操作では、部品は箱で供給され、箱は鋳造又は部分的に組み立てられた部品のランダムなパイルを含み、箱内のランダムな向きの部品は、取り出され、特定の向きで目的位置に配置される必要がある。マシンテンディングは、独自の要件を持つ、ロボットによる部品のピックアンドプレースの一種であるが、他の箱のピックアンドプレース用途でも、通常は部品を目的地に特定の向きで配置する必要がある。
【0022】
図1は、本開示の一実施形態に係るロボット把持教示及び部品把持システムの図である。図1のシステムでは、人間が部品又はワーク上で様々な把持を実演し、人間のデモンストレーション(実演)に基づいて最適化された把持が計算されて把持データベースに追加され、次に産業用ロボットが、データベースから1つの把持を使用して箱から部品を取り出して、さらなる処理のために目的の場所に部品を配置する。
【0023】
図1のシステムの一応用例では、産業用ロボット100は、箱110から部品を取り出し、その部品を加工のために機械加工ステーション130に配置し、その後、加工後の完成部品を機械加工ステーション130から取り出し、その完成部品をコンベヤ140上に配置する。コンベヤ140上の部品は、さらなる加工又は包装のために運び出される。システムの別の応用例では、ロボット100は箱110から部品を取り出し、その部品を運び去られるようにコンベヤ140上に直接置く。ロボット100は、部品を把持するために開閉するフィンガを備えたグリッパ120を有する。フィンガは通常、ロボット100によって扱われる部品を把持するのに適した湾曲した接触面を有する。グリッパのフィンガの形状については、以下でさらに説明する。
【0024】
ロボット100の動作は、ケーブル(図示)を介して又は無線でロボット100と通信する制御装置150によって制御される。制御装置150は、当技術分野で周知のように、ロボット100に関節動作コマンドを送信し、ロボット100の関節のエンコーダから関節位置データを受信する。また制御装置150は、グリッパ120の動作を制御するための指令(把持/開放指令及びグリッパ開口幅)も送信する。
【0025】
図1のシステムによるリアルタイムの箱ピッキング作業中は、マシンテンディングであろうと他のピックアンドプレース用途であろうと、ロボット100は、カメラ170からの箱110の画像に基づいて、グリッパ120が選択された安定した把持に従って選択された部品上でフィンガを閉じるように、箱110から選択された部品を把持する必要がある。把持には、グリッパのフィンガの幅とともに、選択された部品に対するグリッパ120の位置及び姿勢が含まれる。箱ピッキングの生産性を最大化するために、多くの高品質で安定した把持を含む把持データベースを予め計算することが知られており、リアルタイムの箱ピッキング中に選択される部品ごとにデータベースから把持の1つが選択される。
【0026】
プロセッサ及びメモリ/ストレージを含むコンピュータ160が、制御装置150と通信可能である。コンピュータは、ユーザ180による把持のデモンストレーションに基づいて把持データベースに予めデータを入力するように構成されている。把持データベースの計算は、本開示の主題であり、以下で詳細に説明する。
【0027】
リアルタイムの箱ピッキングの一実施形態では、制御装置150は、カメラ170からの画像に基づいて、コンピュータ160から転送された把持データベースを使用して、部品の選択及び把持の計算を実行する。制御装置150は、把持データを使用して、グリッパ120に部品を把持させ、その部品を加工ステーション130又は他の目的地に移動させるロボット動作命令を計算する。次に、制御装置150は、選択された部品をピックアンドプレースするロボット100に命令を与える。この実施形態では、コンピュータ160は、ロボットによる箱ピッキング作業には使用されず、把持生成のみに使用され、ロボット動作に先立って把持データベースを制御装置150に提供する。
【0028】
他の実施形態では、コンピュータ160は、カメラ170からの画像に基づいて、コンピュータ160内の把持データベースを使用して、リアルタイムの部品選択及び把持計算を実行する。この実施形態では、コンピュータ160は、把持データ(グリッパの位置/姿勢/幅)を個々の箱ピッキングごとに制御装置150に送信し、制御装置150はロボット動作指令を計算し、選択された部品を取り出して配置するロボット100に命令を与える。
【0029】
上述した実施形態のいずれも、特定のアプリケーション要件や制御装置150の計算能力等に基づいて、特定のアプリケーションに使用することができる。以下の説明の残りの部分では、コンピュータ160は、本開示に係る人間のデモンストレーションによる把持教示に使用されるものとして説明され、一方、制御装置150は、把持データベースを使用してリアルタイムで把持を計算し、ロボットを制御して把持を実行するものとして説明される。
【0030】
カメラ170は、典型的には、カラー画像データ及びピクセル深度マップデータの双方を提供する三次元(3D)カメラであるが、箱110内の部品のポーズ(位置及び向き)を求めるのに適したデータを提供する他の種類の3Dセンサであってもよい。複数のカメラ170を使用してより堅牢な深度及び画像データを提供してもよく、このデータは、部品のポーズの決定を支援するとともに、非垂直なグリッパのアプローチ角度も可能にする。いくつかの用途では、箱110は、任意の位置及び向きの1つの部品のみを含んでもよい。これは、部品が箱110に到達するのと同じ速度で機械加工ステーション130によって処理される場合に該当する。或いは、箱110は、(図1に示すように)いくつかの部品、又は相当量の部品の山を収容することができる。いずれの場合も、カメラ170からの画像データに基づいて、予め計算された把持データベースから最高品質の把持候補が選択される。
【0031】
リアルタイムの操作の間、ロボット100は、箱110から部品を把持して、加工ステーション130又はコンベヤ140(又は搬送コンテナ等の他の目的地)のいずれかに配置する。次にロボット100は、箱110に戻り、カメラ170によって提供された新たな画像に基づいて計算された把持を用いて、他の部品を選択する。
【0032】
部品で満たされた箱の中の個々の部品をリアルタイムで認識して把持するようにロボットを教示することは、常に難易度が高かった。ロボットによる部品ピッキング操作の速度及び信頼性を向上させるために、特定の部品を様々な姿勢で把持する特定のグリッパの把持を予め計算しておくことは周知である。この把持の事前計算は把持生成として知られており、事前に計算された(生成された)把持は、ロボットによる部品ピッキング作業中にリアルタイムで意思決定を行うために使用される。
【0033】
把持生成技術は当技術分野で周知であるが、前述したように様々な欠点を含む。本開示では、人間のデモンストレーションによる把持教示を可能にすることによって、既存の把持生成技術の欠点を克服しており、ここでは、人間がワーク上で把持を実演し、最適化され安定した高品質の把持が、人間のデモンストレーションの画像から計算される。この開示された技術は、部品をどのように把持すべきかについての人間の生来の理解を利用すると同時に、把持最適化計算の出力を利用して把持を計算しており、この把持は、指とワークとの正しい接触位置の検出における不正確さの影響を受けない。
【0034】
人間のデモンストレーションによる把持教示の方法は、カメラ170(又はカメラ170とは異なる例)を使用して、人間180による把持デモンストレーションの画像を提供する。把持デモンストレーションはボックス182内に示される。本開示の技術は、人間のデモンストレーションからの人間の手及びワークの画像を使用して、デモンストレーションごとに安定した高品質の把持を計算する。人間180は、ロボット100及び制御装置150による後の使用のために、把持データベースに複数の最適化された把持を提供すべく、ワークの様々な部分上で複数の把持を実演することができる。
【0035】
図1に示すシステムの様々な構成が使用可能である。例えば、そのカメラ及びコンピュータを用いて、人間のデモンストレーションを、ロボット100が制御装置150を用いて動作する作業セルとは別の場所で実行してもよい。この場合、実演され最適化された把持は、リアルタイムのロボット動作のために、コンピュータ160から制御装置150に提供される把持データベースに追加される。或いは、リアルタイムのロボット動作に使用されるのと同じカメラ及びコンピュータを使用して、人間のデモンストレーションをロボットのワークセルで実行することもできる。
【0036】
図2は、本開示の実施形態に係る、人間のデモンストレーションによる把持教示のための技術で使用される基本原理を示す図である。ボックス210において、(図1の)人間180は、ワーク上で把持を実演し、その間、手及びワークの画像が取得される。指の骨の三次元(3D)位置はカメラ画像内で検出され(この技術は後述する)、3Dの指の位置に基づいてハンド座標系が計算される。ワークの位置及び向きも、画像内で検出されるか、実演作業空間内に事前に定義されるので、ワークに対するハンド座標系の位置及び姿勢がわかる。ハンド座標系はグリッパ座標系と同等であり、グリッパ座標系は把持ポーズ、つまりワークに対するグリッパの3つの位置及び3つの姿勢角を含む6自由度のポーズを定義する。
【0037】
ボックス210の把持ポーズは、ワーク上の把持領域を決定するステップのボックス220で使用される。把持ポーズは、ボックス220内の222において座標系のトライアドとして示される。ハンド平面224は、把持ポーズ222から計算される。平行フィンガグリッパの場合、ハンド平面224は、2つの平行なフィンガを含む平面として計算される。開示された方法では、真空(吸盤)グリッパ等の他のタイプのグリッパも使用することができ、この場合、ハンド平面は再び人間のデモンストレーションの指から計算され、人間は、ハンド平面がワークの平面に対して実質垂直となる把持を実演することになる。手の姿勢の検出、及びこれに対応するグリッパのポーズの計算については後述する。
【0038】
ボックス220では、ワーク上の把持領域226を計算するために、ワークの点群モデルが、ハンド平面224とともに使用される。把持領域226は、ハンド平面224を点群内に通過させ、ハンド平面224の特定の閾値距離内にある点の集合を選択することによって決定される。これについては後述する。結果として得られる把持領域226は、人間のデモンストレーションに従ってグリッパがワークを把持すべき領域内の、ワークの表面上の点の集合を表す。
【0039】
ボックス230では、ボックス220の把持領域226及びボックス210のデモンストレーションから求めた把持ポーズを用いて、把持最適化計算が実行される。把持最適化ステップも後述するが、これには、ランダム化された開始構成からいくつかの最適化された把持を計算し、把持データベースに追加する最適な把持を選択することが含まれ、各把持は高品質の面接触によって安定している。
【0040】
人間のデモンストレーションによって把持を教示するための開示された方法(図2に高レベルで示される)により、安定した高品質の把持を生成する把持最適化計算技術を利用しつつ、人間によって簡単かつ直観的なやり方で把持が実演されることが可能になる。開示された方法の各ステップの詳細を、以下の図に関連して後述する。
【0041】
図3は、本開示の実施形態に係る、人間のデモンストレーションによる把持教示に使用されるプロセスに含まれるステップのフローチャート300であり、把持のデモンストレーション、把持領域の決定、把持の最適化、及び最良の把持の選択を含む。図3のフローチャート300は、図4-7に示すさらなる詳細とともに、図2において概説した、人間のデモンストレーションによる把持教示のための開示された技術を十分に説明する。
【0042】
ボックス310において、ワーク及びグリッパのモデルが提供される。ワークモデルは、ロボット100(図1)によって箱110から取り出される部品の3D表面モデル又はソリッドモデルである。ワークモデルは通常、コンピュータ支援設計 (CAD) システムで作成される。ボックス310に示すワークモデルは、本開示の残りの大部分を通じて部品の一例として使用されるパイプ弁を示す。
【0043】
グリッパモデルは、グリッパのグリッパフィンガの表面データ又はソリッド形状データを含む。図3のグリッパモデルは2フィンガ型の平行グリッパを示すが、他のタイプのグリッパ構造も使用可能である。グリッパフィンガは、典型的には、ロボットによって把持されている部品(例えばパイプ弁)に適合するように選択される凹状の内面(把持)形状を有するフィンガ先端(finger tips)を含む。つまり、フィンガ先端は、ハンドル、カップリング本体、バルブステムカラー等、パイプ弁の様々な部分を安定して把持することができる。後の図に示されるワークの内面を把持するグリッパを含め、異なる構造のフィンガ先端を有する異なるグリッパが、把持される部品の形状に基づいて使用可能である。フィンガ先端の形状(つまり接触面)は、以下で説明する把持品質の最適化の計算に使用される。
【0044】
グリッパモデルは、軸を備えたアクチュエータの幾何学的な定義等のグリッパ作動パラメータも含み、グリッパのフィンガはその軸に沿って並進し、グリッパアクチュエータによってフィンガが互いに離れる距離であるフィンガ把持幅が得られる。この把持幅は、部品を把持する前に増加し、部品を把持するために減少するように、制御装置150(図1)によって命令され得る。ロボット100の手首上のグリッパアクチュエータの取り付け方向は既知であり、手首の回転角度も既知である。このことは、ロボット手首に対するフィンガの並進軸が既知であることを意味し、これにより、空間内のフィンガ先端の位置を、把持幅に基づいて計算することができる。
【0045】
ボックス320において、図2のボックス210に関して述べたように、人間のデモンストレーションが実行されてその画像が取得される。ボックス320における、人間による把持操作のデモンストレーションは、図1に示すコンピュータ160に接続されたカメラ170等の、コンピュータに接続されたカメラを備えたワークセル内で実行される。ボックス310からのワークモデルはコンピュータに提供され、ワークのポーズに対する手のポーズがボックス320の画像内に取り込み可能となる。
【0046】
画像内の手の位置を検出し、ハンド座標系及びこれに対応するグリッパ座標系を計算するための技術は、本出願と共通の出願人により2020年4月8日に出願され、タイトルを「人間のデモンストレーションによるロボット教示(ROBOT TEACHING BY HUMAN DEMONSTRATION)」とする米国特許出願第16/843,185号に開示されており、その全体は本参照により本明細書に組み込まれるものとする。以降は、上記出願は「‘185出願」と称する。
【0047】
図4は、本開示の実施形態に係る、人間の手の画像を解析して、フィンガ型ロボットグリッパの対応する位置及び姿勢を決定する技術を示す図である。図4に示す技術は、真空式グリッパの座標系を計算するための同様の技術と、実演者(デモンストレータ)の手のキーポイントの3D座標を特定するステップの詳細とともに、‘185出願に開示されている。
【0048】
手410は、それに取り付けられるように定義されたハンド座標系420を有し、ハンド座標系420の空間的な位置及び向きは、本明細書及び‘185出願にて説明されるように、手の画像から計算される。手410は、親指先端414を備えた親指412と、人差し指先端418を備えた人差し指416とを有する。親指412及び人差し指416の他の点、例えば、親指412及び人差し指416の付け根の位置、並びに親指412及び人差し指416の第一関節等も、カメラ画像内で識別され得る。
【0049】
点422は、親指412の付け根と人差し指416の付け根との中間に位置し、ハンド座標系420の原点として定義される。ハンド座標系420の向きは、ロボットグリッパの姿勢との関係に適した任意の規則を使用して定義され得る。例えば、ハンド座標系420のY軸は、親指412及び人差し指416の平面(その平面は点414、418及び422によって定義される)に対して垂直であると定義することができる。従って、X軸及びZ軸は、親指412及び人差し指416の平面内にある。さらに、Z軸は、親指412及び人差し指416によって形成される角度(角度414-422-418)を二等分するものとして定義され得る。X軸の向きは、既知のY軸及びZ軸から右手の法則によって見出すことができる。上述したように、ここで定義された規則は単なる例であり、代わりに他の座標系の向きを使用することもできる。重要なのは、座標系の位置及び向きは、手の上のキーとなる認識可能な点に基づいて定義でき、また座標系の位置及び向きは、ロボットグリッパの位置及び姿勢に関連付けることができるということである。
【0050】
カメラ(図1のカメラ170)は、手410の画像を提供するために使用され、次に画像を解析して、親指412及び人差し指416の(作業セル座標系内等の)空間位置を決定することができる。これには、指関節に沿った親指の先端414及び人差し指の先端418の位置、故にハンド座標系420の原点位置422及び向きが含まれる。図4では、ハンド座標系420の位置及び向きは、ロボット460に取付けられたグリッパ450のグリッパ座標系440と関連する。グリッパ座標系440は、ハンド座標系420の原点422に対応する原点442と、人差し指の先端418及び親指の先端414にそれぞれ対応する点444及び446を有する。従って、フィンガ型グリッパ450の2本のフィンガは、グリッパ座標系440のX-Z平面内にあり、Z軸は角度446-442-444を二等分する。
【0051】
グリッパ座標系440の原点442は、ロボット460のツール先端点としても定義される。ツール先端点は、その位置及び向きがロボット制御装置に知られている点であり、制御装置は、ロボット460にコマンド信号を提供して、ツール先端点及びその関連する座標系(グリッパ座標系440)を定義された位置及び向きに移動させることができる。図4のロボット460及びグリッパ450は、図1のロボット100及びグリッパ120に対応する。従って、リアルタイムのロボット動作中にロボット制御装置150によって把持データベースから把持が選択されると、制御装置は、グリッパ120が選択された把持に従って適切に位置決めされ方向付けされるようにロボット100をどのように位置決めすればよいかを知る。データベース内の把持は、本明細書で開示されているように人間のデモンストレーションによって教示され、これには図4に示すように実演者の手の位置を解析することが含まれる。
【0052】
ここに開示する技術では、図4に示すように決定されたハンド座標系は、把持を直接計算するためには使用されないことを強調しておく。図3に戻り、ボックス320でデモンストレーション画像から計算されたハンド座標系がボックス330に提供され、ワーク上の把持領域が計算される。ボックス310からのワークモデル及びグリッパモデルも、ボックス330に提供される。ボックス330で計算された把持領域は、把持データベースに追加される最終的な把持ではない。むしろ、ボックス330で計算された把持領域は、本質的に、後の把持最適化計算で使用されるワーク表面上の目標(ターゲット)領域であり、最終的にはデータベースに追加される把持につながる。このことは以下に全て説明する。
【0053】
図5は、本開示の実施形態に係る、把持デモンストレーションのカメラ画像から決定された手の姿勢に基づいてワーク上の把持領域を特定する技術の図である。図5は、図3のボックス330における把持領域を決定するステップの詳細を表す。
【0054】
把持領域の特定は、ワークを表す点群510を提供することから始まる。点群510は、ボックス310のワークモデルから定めることができる。図5に示す物体は、図面の明瞭化のために使用される単純な六面体である。実際の計算では、点群510は、把持が計算されるワーク(パイプ弁等)の3D形状を表すことを理解すべきである。
【0055】
点群510が提供されると、(520に示す)第一のステップでは、ハンド平面530から所定の距離内に位置する物体の点が探索される。ハンド平面530は、図2のボックス220に関して説明したように、人間による把持のデモンストレーション中の手のポーズを定義する平面である。例えば、ハンド平面530は、2フィンガ型のグリッパの場合、親指及び人差し指を含む平面となる。ハンド座標系の原点は、トライアド532によって示される。ハンド平面530は、(輪郭形式で示す)物体540の点群510を通過し、ハンド平面530の許容距離d以内の全ての点(x,y,z)が選択される。
【0056】
第一の点選択ステップでは以下の式が使用される。ここで、定数A、B、C及びDは、ハンド平面530の方程式(Ax+By+Cz+D=0)から求められ、評価される(点群510の)各点は座標(x,y,z)を有し、dは許容距離である。
【数1】
【0057】
第一の点選択ステップの結果は520に図示されており、その区画550は、ハンド平面530の許容距離d以内にある点群510の点を含む体積部である。
【0058】
(560に示す)第二の点選択ステップは、物体540の表面上にあり、かつハンド座標系532の原点から第二の許容距離d以内にある点だけを区画550から選択することを含む。この第二のステップは、把持の最適化に使用される物体表面上の点を提供する。
【0059】
第二の点選択ステップでは以下の式が使用される。ここで、評価される(点群510の区画550の)各点は座標(x,y,z)を有し、ハンド座標系532は座標(x,y,z)を有し、dは第二の許容距離である。
【数2】
【0060】
第二の点選択ステップの結果は、560に図示されており、物体540の側面上の区画550の点のみが図示されている。560に示される点については、(楕円570で表される)親指先端点414及び(区画550の背面の(図示されていない)楕円で表される)人差し指先端点418の許容距離以内にある物体540の表面上の点のみを選択すること等によって、より局所的な把持領域まで絞り込んだ選択が可能である。
【0061】
図5は、把持の最適化に使用される把持領域を規定する物体540の表面上の点を選択するための技術の一つを示す。適切と思われる場合には、他の技術を使用してもよい。目的は、人間による把持のデモンストレーションに対応する物体540(ワーク)上の把持領域点を特定し、その把持領域点を最適化計算において使用することである。
【0062】
図3に戻り、(図5で詳述した)ボックス330で計算された把持領域は、把持最適化計算が実行されるボックス340に提供される。ボックス340における把持最適化計算は、ワーク上の把持領域に加えて、ワークに対するグリッパのポーズも使用する(ここではグリッパ座標系は、図4に関して上述したように、ハンド座標系から決定される)。
【0063】
ワークの点群モデル、並びに初期の位置及び姿勢を有するグリッパを使用して、把持の最適化を行う技術は、本出願と共通の出願人により2022年2月17日に出願され、タイトルを「領域基準の把持生成(REGION-BASED GRASP GENERATION)」とする米国特許出願第17/651,485号に開示されており、その全体は本参照により本明細書に組み込まれるものとする。以降は、上記出願は「‘485出願」と称する。
【0064】
図6は、本開示の実施形態に係る、図3の把持最適化ボックス340で使用される把持最適化計算を示す図であり、表面フィッティング、衝突回避、及び部品上の特定された把持領域の使用を含む。図6に示す技術は、‘485出願に開示されている。
【0065】
ボックス610において、物体614に対するグリッパ部分612a及び612bの構成が規定され、複数のグリッパ表面点pが規定され、これらに対応する物体614上の最近傍点が規定される。グリッパ部分612a及び612bの三次元のポーズは、(ボックス310の)グリッパモデル、及び(ボックス320の)人間のデモンストレーションによるグリッパ座標系から決定される。物体614上の最近傍点は、ボックス330で規定された把持領域から選択される。図6の最適化計算における全ての位置及び向きは、ボックス610内に示すワールド座標系W内に定義することができる。
【0066】
ボックス610内のシーンは、物体の把持領域に対するグリッパの初期構成を示しており、物体に対するグリッパの初期姿勢は、(ハンド座標系532の)名目上のグリッパポーズに対して、ある範囲内の並進距離、回転角度及びグリッパ開口幅で、ランダムに規定される。換言すれば、グリッパフィンガの初期の位置及び向きは、物体614の把持領域内の点周りの、予め定義されたある範囲のサンプリング空間内で定義される。ランダムな初期グリッパポーズにより、最適化計算の各々は、僅かに異なる把持に確実に収束する。
【0067】
最適化計算の説明全体を通して、点 pi によって定義されるグリッパ(フィンガ)の 表面はSと称され、一方、物体の表面(物体上の把持領域内の全てのサンプリング点、特には最近傍点)はSと称される。物体上の目標(ターゲット)把持領域は、Sと称される。
【0068】
ボックス620は、グリッパフィンガ表面Sのうちの1つと物体表面Sとの間の衝突がどのように識別されるかについての一般的な図を含む。一実施形態では、点pの一般的なメッシュがグリッパフィンガ表面Sに付与され、グリッパフィンガ表面Sは、グリッパフィンガ612の内面(物体を把持するために最も一般的に使用されるグリッパの部分)と、ユーザがグリッパモデル上で特定した場合には、グリッパフィンガの外面及び側面とを含む。視覚的な明瞭化のため、ボックス620内の図はフィンガ612の内面上の接触点のみを含み、図6は、グリッパ及び物体、並びに衝突及び接触の二次元図を含む。本開示の実際の最適化計算では、グリッパ及び部品のモデル、点座標、並びに変換は、全て本質的には三次元であることを理解すべきである。
【0069】
ボックス620には、グリッパ部分622及び物体624が示されている。もちろん、物体624は、図示のように任意の一般的形状を有し得る。干渉チェックの目的のため、物体624は、予め計算された把持領域だけでなく、部品全体(例えば点群510)を表す。部品/物体及びグリッパは、上述の3Dモデル310及び320によって定義されているので、グリッパフィンガ表面S及び物体表面S上の各点は、それぞれベクトル626及び628で示されるように、局所的な表面法線を有する。局所的な表面法線ベクトルは、衝突回避計算の一実施形態で使用され、ベクトルは、物体内へのグリッパの(又はグリッパ内への物体の)侵入量を計算するために使用され、この侵入又は干渉には、制約関数においてペナルティが与えられる。接線力は摩擦係数の関数であるのに対し、垂直力は摩擦がない場合でも存在するため、局所的な表面法線ベクトルは把持品質の計算にも使用される。
【0070】
衝突回避又は干渉チェック計算の他の好ましい実施形態では、符号付き距離フィールド法が使用される。符号付き距離フィールド法では、グリッパ部分622の全体がセル又はボクセルの3Dグリッドとしてモデル化される。符号付き距離フィールドグリッドも、グリッパの周囲のある程度の空間に拡張される。例えば、グリッパフィンガ612の各々は、符号付き距離フィールドセルのレンガ形状の六面体に含まれ得る。グリッパの表面上の符号付き距離フィールドセルの距離値dはゼロである。グリッパの内側にある符号付き距離フィールドのセルは、表面からセルがいくつ離れているかを示す負の値dを有し、一方でグリッパの外側にあるセルは、グリッパの表面からセルがいくつ離れているかを示す正の値dを有する。これらの符号付き距離フィールドのモデリング規則は当技術分野で周知である。
【0071】
物体624は、上述のサンプリング点によってモデル化される。符号付き距離フィールド法を使用すると、各々の反復(物体に対するグリッパのポーズ)において、物体624上の各サンプリング点が、グリッパ符号付き距離フィールドのどのセルを占有するかが決定される(もしあれば)。この計算は、物体624上の全てのサンプリング点に対して非常に迅速に実行することができ、物体624上のどの点がグリッパ622と干渉するか、さらにグリッパ-物体間の侵入量がどの程度であるかを求めることができる。干渉又は侵入の量は、物体624上の1つ又は複数のサンプリング点を含むグリッパ内のセルの負の値dに基づいて求められる。このようにして、符号付き距離フィールド法は、図6の全体最適化モデルに使用可能な干渉チェック結果を提供する。
【0072】
ボックス620は、グリッパ622の符号付き距離フィールドグリッドモデルを図示していない。しかしながら、ボックス620内の図は、表面点(第1)の実施形態が使用されるか、又は符号付き距離フィールド(第2)の実施形態が使用されるかに関わらず、ここに開示される把持生成方法で使用される衝突回避又は干渉チェック部分の最適化計算を概ね表していると考えるべきである。
【0073】
ボックス630では、把持探索問題が最適化としてモデル化され、1回の反復が計算される。安定した把持を計算するために、最適化において接触面積が最大化される。上述したように、グリッパ-物体間の衝突も、侵入を回避するために最適化においてペナルティが与えられる。物体全体はグリッパとの衝突回避のために考慮されるが、把持接触は部品全体ではなく、物体上の把持領域に属する点のみに関して定義される。ボックス630に示される最適化公式は、式(3a)-(3e)として以下に記載され、以下の段落で説明される。
【数3】
【0074】
最適化の式は、ボックス632内の、把持品質Qを最大化するように定義された目的関数(式3a)を含み、把持品質Qは、接触面S及びSの関数である。把持品質Qは、任意の適切な方法で定義可能である。代表的な実施形態では、把持品質Qは、グリッパフィンガ表面S上の点pと、これに対応する物体表面S上の最近傍点NNとの間の合計距離の負の値である。すなわち、Q=-Σpi||p-NN||であり、距離の合計が小さいほど、より大きな把持品質Qが得られ、このことは、グリッパと物体との間の面接触が良好であることを意味する。換言すれば、高品質の把持は小さい負の値Qを有し、低品質の把持は大きい負の値Qを有する。実際には、高品質の把持は安定しており、グリッパ内での物体の小さな動きは摩擦及び/又は法線力によってすぐに停止され、グリップの損失には至らない。
【0075】
最適化の式(3a)-(3e)は、ボックス634に制約関数を含む。制約関数(式3b)は、変換(R,t,q)に関してグリッパフィンガ表面Sを定義する。制約関数(式3c)は、グリッパフィンガ表面Sに関連して、目標把持領域(St)内の最近接点NNについて物体表面Sを定義する。ボックス634の制約関数(式3b及び3c)は、ボックス632の目的関数とともに集合的に、物体表面Sに対するグリッパ(フィンガ)表面Sの良好な面接触をもたらし、このことは、グリッパ上の点pを、物体上の目標把持領域内のそれぞれの最近傍に向けて移動させることを含み、ボックス650に示される。すなわち、ボックス634の制約関数から求められた変換により、目標把持領域内で、グリッパフィンガが改善された面接触状態になるように移動する。
【0076】
ボックス636内の制約関数(式3d)は、変形したグリッパフィンガ表面(T(∂F;R,t,q))が物体Oを貫通してはならないこと、すなわち、距離はゼロ以上である必要があることを指示する。上述したように、グリッパ-物体間の衝突又は侵入は、符号付き距離フィールド法又は点/面モデルを使用して計算可能である。ボックス636内の制約は、ボックス660に示すように、次の反復における衝突回避の改善につながる。最後に、式(3e)は、変換T(R,t,q)が、実行可能な変換集合Xの要素であることを示す(一実施形態では、Rは任意の回転値を有し、tは物体の境界ボックスの寸法内になければならず、qはボックス310からグリッパモデルで定義された把持範囲によって制限される)。
【0077】
上述の式(3b)-(3d)の制約関数(図4のボックス634及び636)は、ペナルティ法によって考慮され、制約違反は、把持品質の計算におけるコスト関数として扱われる。つまり、制約違反が大きくなるほどコスト関数は大きくなり、把持品質は小さくなる。把持品質に対するコストに制約を設けることにより、ボックス630に示される最適化式は最小二乗法によって解くことができる。
【0078】
ボックス630内の最適化式に対して1ステップの最小二乗線形代数計算が実行され、制約関数を満たしながら、目標把持領域上で把持品質が向上する方向にグリッパフィンガを移動させる変換T(R,t,q)が特定される。矢印670は、変換Tの計算後、把持最適化方法がボックス610(ここでは、物体に対する変換されたグリッパ部分の位置が決定され、グリッパ表面点pに対応する物体上の最近傍点が決定される)、及びボックス620(衝突が識別される)に戻ることを示す。このプロセスは、把持位置が極大把持品質に収束するまで繰り返される。
【0079】
品質把持に収束した後、同じ目標把持領域に対して新しいランダムな初期構成を使用してプロセスが再度開始され、このことは、(人間のデモンストレーションによって規定された)現在の目標把持領域についてユーザが定義した把持数(例えば20)に達するまで繰り返される。ランダムな初期構成の各々は、グリッパ-物体間の干渉を含んでもよいし、含まなくてもよい。図6のボックス610に示される、物体に対するグリッパ部分の初期構成は、目標把持領域上で多様な把持の組が得られるように、新しい把持計算サイクルごとにランダムに変更される。このようにして計算された品質把持の全ては、図3のボックス350に関して後述するように、さらなる処理のために一時的な把持アレイに記憶される。
【0080】
図6に示されかつ上述した最適化計算は、把持最適化技術の一例である。グリッパフィンガが接触する部品の幾何学的領域として目標把持領域を定義できる限りにおいて、他の把持最適化又は計算式を適宜使用することができる。
【0081】
図3に戻り、図6に関して上述した把持最適化技術は、図3のボックス340で実行される。上述したように、最適化計算は、人間のデモンストレーションにおける手のポーズから決定された名目上のグリッパポーズに対してランダムに変化する初期構成を用いて複数回実行可能である。ボックス340で計算された複数の安定した把持は、ボックス350に示される。これらの把持の各々は、人間のデモンストレーションによってボックス330で決定された把持領域に基づく。最適化計算のための初期構成はランダムに変化するため、ボックス350内の各把持は、ワークに対して互いに僅かに異なるグリッパ位置及び姿勢を有することになる。
【0082】
図7は、本開示の実施形態に係る、ボックス340及び350に示す把持最適化によって生成された複数の把持結果から最良の把持を特定するために使用される技術を示す図である。最良の把持とは、3つのパラメータに基づいて決定される、人間のデモンストレーションに最も近いものとして規定される。
【0083】
第一のパラメータは、計算された把持と人間のデモンストレーションとの間の位置(x,y,z)の差である。人間のデモンストレーションの画像の解析により、ハンド座標系及びそれに対応するグリッパ座標系が得られたことを想起されたい。最適化計算(ボックス340及び図6)によって生成された把持は、ランダム化された初期化と、計算された把持がグリッパ-物体間の表面接触に対して最適化されたこととの双方により、実演されたグリッパ座標系とは僅かに異なる。(ボックス350の)計算された把持の各々について、コスト関数の第一のパラメータは、計算された把持の座標系の原点と、人間のデモンストレーションによるグリッパ座標系の原点との位置の差(例えば、x,y,z座標における差の二乗和の平方根)である。
【0084】
コスト関数の第二のパラメータは、計算された把持と人間のデモンストレーションとの間の回転方向 (ヨー、ピッチ、ロール角、又はw、p、r角)の差である。このパラメータは、コスト関数の第一のパラメータと同様に計算される。すなわち、(ボックス350の)計算された把持の各々について、コスト関数の第二のパラメータは、計算された把持の座標系と、人間のデモンストレーションによるグリッパ座標系との回転の差(例えば、w、p、r角の差の二乗和の平方根)である。
【0085】
コスト関数の第三のパラメータは、ワーク上の把持領域とグリッパ表面との間の重複面積Sareaの逆数であり、これはボックス710に示される。重複面積Sareaは、(評価される特定の把持について)グリッパ表面上の点の閾値距離以内にある、(人間のデモンストレーションによる)把持領域内の全ての点を特定することによって決定される。把持領域は、ボックス710内の楕円570(図5)によって示される。対応するグリッパフィンガは、参照符号720で示される。次に、距離閾値以内の特定された点に外接する重複領域Sareaが求められる。重複領域Sareaは、より小さい楕円730として示される。この重複面積Sareaは、(ボックス350の特定の把持についての)グリッパフィンガと、(人間のデモンストレーションから決定された)把持領域との間の接触量の測定値として機能する。重複面積が大きいほど良好であるため、重複面積の逆数がコスト関数で使用される。
【0086】
上述の3つのパラメータを用いて、最良の把持を選択するためのコスト関数の一例は以下のようになる。ここで、diffdist(x,y,z)は、計算された把持と人間のデモンストレーションとの間の位置の差であり、diffangle(w,p,r)は、計算された把持と人間のデモンストレーションとの間の回転方向の差であり、Sareaは、ワーク上の把持領域とグリッパ表面との間の重複面積であり、w-wは重み付け係数である。式(4)のコスト関数の最小値を有する把持は、図3のボックス360において最良の把持として選択され、把持データベースに追加される。
【数4】
【0087】
本開示の技術では、人間のデモンストレーションの各々について、1つのみの把持(上述したように特定された最良の把持)が把持データベースに追加される。(ワークの位置が異なる、グリッパの姿勢角が異なる)多くの異なる把持を含む把持データベースを構築するために、人間によるデモンストレーションを必要なだけ何度でも実行して、所望の把持を個別に教示することができる。
【0088】
図4-7に記載された詳細を含め、図3に示されるステップの全てで実行される計算は、図1のコンピュータ160、又は他の適当なコンピュータ(いくつかの実施形態ではロボット制御装置150を含む)で実行可能である。
【0089】
図8は、本開示の実施形態に係る、人間のデモンストレーションによる把持教示のプロセスで使用可能な、外側把持及び内側把持の双方を実行するフィンガ型グリッパの図である。ボックス810において、グリッパ820は、外側把持を実行するように構成されている。すなわち、グリッパ820のフィンガがワークの外面を把持する。822に示すように、グリッパ表面はグリッパフィンガの内面に画定される。これは伝統的な把持構成であり、上述され図示された実施例を代表するものである。
【0090】
ボックス830において、グリッパ840は、内側把持を実行するように構成されている。すなわち、グリッパ840のフィンガがワークの内面を把持する。842に示すように、グリッパ表面はグリッパフィンガの外面に画定される。内側把持の例がボックス850に示されており、ここでは、グリッパ840がワーク860(歯車)を、歯車の穴又はアパーチャの内側でグリッパフィンガを広げることによって把持している。
【0091】
内側把持及び外側把持の双方のタイプが、人間のデモンストレーションによる把持教示のための本開示の技術においてサポートされており、把持のタイプ(内側又は外側)は、構成設定として定義可能であるとともに、ボックス310で提供されるグリッパモデルに組み込むこともできる。内側把持は、親指及び人差し指の先端をワークの開口内に配置し、親指及び人差し指を互いに離れるように広げてワークを把持することにより、人間が簡単かつ直感的な方法で実演することができる。
【0092】
図9は、本開示の実施形態に係る、人間のデモンストレーションによるロボットの把持教示のための方法のフローチャート900である。ボックス902において、ワーク及びグリッパのモデルが、把持教示方法のアルゴリズムを実行するコンピュータに提供される。把持教示方法のアルゴリズムを実行するコンピュータは、図1のコンピュータ160でもよいし、又はロボット制御装置50でもよい。ワークモデルは、把持を教示すべき部品の3Dモデルであり、グリッパモデルは、グリッパの3D形状及び作動パラメータ(例えば、指の位置が把持幅によって規定された2指型平行グリッパ)の双方を含む。
【0093】
ボックス904において、人間による把持のデモンストレーションが実行され、デモンストレーションの画像が、カメラによって取得されて、アルゴリズムを実行するコンピュータに提供される。画像を解析してハンド平面及びグリッパ座標系を求める技術は、図4に関して説明した。人間のデモンストレーションは、把持ポーズとワーク上の把持領域とを、実演者にとって単純かつ直感的で表示し、次に把持ポーズ及び把持領域は、デモンストレーションに対応した安定的かつ高品質の把持を計算するための将来の計算に使用される。
【0094】
ボックス906において、図5に関して上述したように、ハンド平面及びハンド座標系の原点から、ワーク上の把持領域が決定される。把持領域は、ハンド平面から計算された指/親指の接触点に対応するワークの表面(又は2指グリッパの場合は反対側の表面) 上の領域である。ボックス908では、ワーク上の把持領域及びハンド座標系を使用して、把持最適化計算が実行される。図6に関して詳細に説明した把持最適化計算は、単一の人間のデモンストレーションに対応するいくつかの僅かに異なる把持を提供するために、ランダム化された初期構成で複数回実行されてもよい。
【0095】
ボックス910において、複数の最適化結果から最良の把持が選択される。図7に関連して上述したように、最良の把持とは、コスト関数計算に基づいて人間が実演したものに最も類似していると判断されたものである。一実施形態では、コスト関数は、(計算された把持の各々とデモンストレーションによるハンド座標系との間の)位置の差、把持の回転の差、及び計算されたグリッパ表面と把持領域との間の重複面積の3つのパラメータを評価する。
【0096】
ボックス912において、ボックス910からの最良の把持は、後でロボットがリアルタイムの部品把持動作において使用するために、把持データベースに保存される。ボックス904からの人間のデモンストレーションは、最終的には、単一の堅牢で高品質な把持を提供する。多様な(ワークの異なる部分、異なるグリッパ方向の)把持のセットを把持データベースに入力するために、ボックス912からボックス904に戻る矢印で示されるように、人間のデモンストレーションを必要な回数だけ繰り返すことができる。
【0097】
上述した人間のデモンストレーション技術による把持教示には、既存の方法に比べていくつかの利点がある。開示された方法は、表面接触による高品質の完全自由度の把持を提供し、故に生成された把持は、不確実性や外乱に対して堅牢である。把持生成方法は、実行が容易であり、ロボットを必要としないオフライン環境で自動的に実行される。さらに、開示された把持生成方法は、特定の用途に必要とされるポーズでの把持に関する人間の生来の理解に基づいて把持を計算すると同時に、人間のデモンストレーションを簡単かつ直観的な方法で実行できるようにする。
【0098】
これまでの説明を通じて、様々なコンピュータ及び制御装置が説明、暗示されている。これらのコンピュータ及び制御装置のソフトウェアアプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ以上の計算機で実行されることを理解されたい。特に、これには、物体の把持を行うロボット100を制御するロボット制御装置150内、並びに人間のデモンストレーション及び把持生成計算を行うコンピュータ160内のプロセッサが含まれる。上述のように、異なる構成のシステムが使用可能であり、そこでは制御装置150又はコンピュータ160は、人間のデモンストレーション計算のような操作や、リアルタイム操作で把持される物体の特定等の操作を実行するように構成可能である。
【0099】
人間のデモンストレーションによる把持教示のための技術の例示的な態様及び実施形態が説明されたが、当業者は、それらの修正、並べ替え、追加及びサブコンビネーションを認識するであろう。従って、添付の特許請求の範囲及び請求項は、それらの真の精神及び範囲内にあるそのような修正、並べ替え、追加及びサブコンビネーションの全てを含むと解釈すべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【外国語明細書】