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

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

7698514一般的グリッパによる把持学習のための効率的データ生成
<>
  • -一般的グリッパによる把持学習のための効率的データ生成 図1
  • -一般的グリッパによる把持学習のための効率的データ生成 図2
  • -一般的グリッパによる把持学習のための効率的データ生成 図3
  • -一般的グリッパによる把持学習のための効率的データ生成 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-17
(45)【発行日】2025-06-25
(54)【発明の名称】一般的グリッパによる把持学習のための効率的データ生成
(51)【国際特許分類】
   B25J 13/00 20060101AFI20250618BHJP
   B25J 13/08 20060101ALI20250618BHJP
【FI】
B25J13/00 Z
B25J13/08 A
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021136160
(22)【出願日】2021-08-24
(65)【公開番号】P2022046420
(43)【公開日】2022-03-23
【審査請求日】2024-08-16
(31)【優先権主張番号】17/016,731
(32)【優先日】2020-09-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】ヨンシアン ファン
【審査官】杉山 悟史
(56)【参考文献】
【文献】米国特許第09669543(US,B1)
【文献】米国特許出願公開第2014/0163731(US,A1)
【文献】特表2019-508273(JP,A)
【文献】特開2018-144153(JP,A)
【文献】特開2015-168043(JP,A)
【文献】特開2019-010713(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
ロボットで使用される把持データベースを生成する方法であって、
複数の対象物の3次元(3D)形状データを含む対象物データベース、並びに、1つ又は複数のグリッパの3D形状データ及び作動パラメータを含むグリッパデータベースを用意することと、
プロセッサ及びメモリを有するコンピュータを用いて、前記グリッパデータベースからのグリッパの選択及び前記対象物データベースからの1つ又は複数の対象物の選択を含む初期化を実行することと、
反復最適化を繰り返し実行して、選択された各対象物について、選択されたグリッパによる、各々が予め定めた把持品質を達成する複数の把持ポーズを計算することと、
前記把持データベースを生成するために物理的環境シミュレーションを実行することと、を含み、
前記物理的環境シミュレーションは、対象物のランダムなパイルを繰り返しシミュレートすることと、前記把持ポーズの1つを用いて対象物の前記パイルに適用するための把持ポーズを繰り返し識別することと、シミュレートされた把持の各々についてのデータを前記把持データベースに出力することと、
を含む、方法。
【請求項2】
ライブのロボット操作中に前記コンピュータによって前記把持データベースを使用して、対象物のパイルから目標対象物を識別することと、複数の3Dカメラからの深度画像を解析することと、前記深度画像から1つ又は複数の合成深度マップを計算することと、前記合成深度マップの1つに対応する把持ポーズを有する対象物を、前記把持データベースから前記目標対象物として識別することと、前記グリッパを有するロボットに対して前記目標対象物を把持して移動するように指示するロボットコントローラに、個々の対象物把持データを提供することと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記コンピュータによって前記把持データベースを使用して、ニューラルネットワーク把持学習システムを教師あり学習で訓練することと、前記グリッパを有するロボットに対して対象物を把持して移動するように指示するロボットコントローラに、個々の対象物把持データを提供することと、をさらに含み、訓練後の前記ニューラルネットワーク把持学習システムは、ライブのロボット操作中に把持指令を計算するために推論モードで使用される、請求項1に記載の方法。
【請求項4】
前記把持指令は、把持目標点の3D座標、前記グリッパが従うべきアプローチ角度、並びにグリッパの回転角及び幅又は全ての指関節の位置を含む、請求項3に記載の方法。
【請求項5】
複数の対象物の前記3D形状データは、各対象物のソリッドモデル、サーフェスモデル又はサーフェスポイントデータを含む、請求項1に記載の方法。
【請求項6】
前記グリッパの前記作動パラメータは、指式グリッパについて、指関節の位置、枢軸方向、及び指関節の屈曲角度範囲を含む、請求項1に記載の方法。
【請求項7】
反復最適化を繰り返し実行することは、前記対象物に対する初期のグリッパのポーズをランダムに変化させることを含む、請求項1に記載の方法。
【請求項8】
反復最適化を繰り返し実行することは、前記グリッパの表面及び前記対象物の表面を点に離散化することと、前記対象物に対する現在のグリッパのポーズに基づいて接触点ペア及び衝突ペアを計算することと、最適化モデルを反復計算することと、前記グリッパのポーズを更新することと、前記最適化モデルを、前記把持品質を達成すべく収束するまで反復計算することと、を含む、請求項1に記載の方法。
【請求項9】
前記最適化モデルは、前記把持品質を最大化するように定義された目的関数と、前記グリッパの接触面及び前記対象物の接触面を、それぞれ、前記対象物に対する前記グリッパのポーズによって変換され点集合に離散化された、前記グリッパの表面のサブセット及び前記対象物の表面のサブセットとして定義する制約関数とを含み、前記グリッパの前記接触面及び前記対象物の前記接触面は互いに等しく、前記グリッパの前記接触面及び前記対象物の前記接触面は、摩擦円錐モデルによって定義される摩擦、前記グリッパが前記対象物内に侵入することのペナルティ、及び制限角度内でのグリッパ関節角度を有する、請求項8に記載の方法。
【請求項10】
前記最適化モデルは、解を得る前に凸状化及び単純化され、該凸状化及び該単純化は、前記制約関数をグリッパ構成からグリッパ構成の増分に変更することと、最も近い対象物の点に垂直な対象物表面に沿った各グリッパサーフェスポイントからの距離を定義することと、互いに閾値距離内にある点のペアのみを考慮することとを含む、請求項9に記載の方法。
【請求項11】
選択された各対象物についての前記複数の把持ポーズは、少なくとも500の把持を含み、前記少なくとも500の把持は類似の把持ポーズによってグループ化され、各グループの把持ポーズの平均が計算され、前記平均のみが前記物理的環境シミュレーションで使用される、請求項1に記載の方法。
【請求項12】
前記把持データベースに出力される、シミュレートされた各把持のデータは、対象物の前記パイルの3D深度マップ、ロボットのグリッパアプローチ角度、3次元の把持点、グリッパ角度、及びグリッパ幅又は指関節位置を含む、請求項1に記載の方法。
【請求項13】
物理的環境シミュレーションの実行は、複数の対象物のビン内への落下を数学的にシミュレートすることを含み、該シミュレーションは重力、前記対象物同士の接触、及び前記ビンの壁を含み、結果として得られる前記ビン内の対象物のパイルが前記物理的環境シミュレーションで使用される、請求項1に記載の方法。
を含む方法。
【請求項14】
物理的環境シミュレーションの実行は、シミュレートされた対象物の前記パイルの1つ又は複数の合成深度マップの計算と、前記合成深度マップでの把持ポーズの識別と、ロボットのグリッパアプローチ角度、3次元の把持点、グリッパ角度、及びグリッパ幅又は指関節位置を使用した把持のシミュレーションとを含む、請求項1に記載の方法。
【請求項15】
ロボットで使用される把持データベースを生成する方法であって、
複数の対象物の3次元(3D)形状データを含む対象物データベース、並びに、1つ又は複数のグリッパの3D形状データ及び作動パラメータを含むグリッパデータベースを用意することと、
プロセッサ及びメモリを有するコンピュータを用いて、前記グリッパデータベースからのグリッパの選択及び前記対象物データベースからの複数の対象物の選択を含む初期化を実行することと、
反復最適化を実行して、選択された各対象物について、選択されたグリッパによる複数の把持ポーズを計算し、前記把持ポーズを類似の把持ポーズによってグループ化して各グループの把持ポーズの平均を計算し、前記平均のみを保存することと、
対象物のランダムなパイルを繰り返しシミュレートすること、前記平均の1つを用いて対象物の前記パイルに適用するための把持ポーズを繰り返し識別すること、及び、シミュレートされた把持の各々についてのデータを前記把持データベースに出力することを含む物理的環境シミュレーションを、前記把持データベースを生成するために実行することと、
訓練後はライブのロボット操作中に把持指示を計算するために推論モードで使用されるニューラルネットワーク把持学習システムを、前記把持データベースを使用して教師あり学習で訓練し、前記グリッパを有するロボットに対して、対象物を把持して移動するように指示するロボットコントローラに、前記把持指示を提供することと、
を含む、方法。
【請求項16】
対象物を把持するロボットのためのシステムにおいて、該システムは、
プロセッサ及びメモリを有するコンピュータであって、
把持データベースを生成し、
複数の対象物の3次元(3D)形状データを含む対象物データベース、並びに、1つ又は複数のグリッパの3D形状データ及び作動パラメータを含むグリッパデータベースを提供し、
前記グリッパデータベースからのグリッパの選択及び前記対象物データベースからの複数の対象物の選択を含む初期化を実行し、
反復最適化を実行して、選択された各対象物について、選択されたグリッパによる複数の把持ポーズを計算し、
対象物のランダムなパイルを繰り返しシミュレートすること、前記把持ポーズの1つを用いて対象物の前記パイルに適用するための把持を繰り返し識別すること、及びシミュレートされた把持の各々についてのデータを前記把持データベースに出力することを含む物理的環境シミュレーションを、前記把持データベースを生成するために実行し、
ニューラルネットワーク把持学習システムを、前記把持データベースを使用して教師あり学習で訓練するように構成された、コンピュータと、
ライブのロボット操作中に、対象物のパイルの深度画像を、訓練後の前記ニューラルネットワーク把持学習システムを推論モードで使用して把持指示を計算する前記コンピュータに提供する複数の3Dカメラと、
前記コンピュータと通信し、前記コンピュータから前記把持指示を受信するロボットコントローラと、
前記グリッパを備え、前記コンピュータからの指示に基づいて対象物を把持して移動させるロボットと、
を有する、システム。
【請求項17】
前記把持指示は、把持目標点の3D座標、前記グリッパが従うべきアプローチ角度、並びにグリッパの回転角及び幅又は全ての指関節の位置を含む、請求項16に記載のシステム。
【請求項18】
反復最適化を繰り返し実行することは、前記グリッパの表面及び前記対象物の表面を点に離散化することと、前記対象物に対する現在のグリッパのポーズに基づいて接触点ペア及び衝突ペアを計算することと、最適化モデルを反復計算することと、前記グリッパのポーズを更新することと、前記最適化モデルを、把持品質を達成すべく収束するまで反復計算することと、を含む、請求項16に記載のシステム。
【請求項19】
前記最適化モデルは、前記把持品質を最大化するように定義された目的関数と、前記グリッパの接触面及び前記対象物の接触面を、それぞれ、前記対象物に対する前記グリッパのポーズによって変換され点集合に離散化された、前記グリッパの表面のサブセット及び前記対象物の表面のサブセットとして定義する制約関数とを含み、前記グリッパの前記接触面及び前記対象物の前記接触面は互いに等しく、前記グリッパの前記接触面及び前記対象物の前記接触面は、摩擦円錐モデルによって定義される摩擦、前記グリッパが前記対象物内に侵入することのペナルティ、及び制限角度内でのグリッパ関節角度を有する、請求項18に記載のシステム。
【請求項20】
物理的環境シミュレーションの実行は、複数の対象物のビン内への落下を数学的にシミュレートすることを含み、該シミュレーションは重力、前記対象物同士の接触、及び前記ビンの壁を含み、結果として得られる前記ビン内の対象物のパイルが前記物理的環境シミュレーションで使用される、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、広くは、部品をロボットで把持するための良好な把持姿勢を生成するための方法に関し、特には、ランダムな対象物及びグリッパが大規模なオブジェクトデータベースから選択されるランダム初期化と、グリッパと表面接触している部品毎に数百の把持が計算される反復最適化と、各部品の把持が、ビン内でシミュレートされた対象物のパイルに適用される物理的環境シミュレーションと、を含むロボット把持学習のための方法に関する。
【背景技術】
【0002】
産業用ロボットを使用して、製造、組み立て、及び材料移動の操作を幅広く実行することはよく知られている。そのようなアプリケーションの1つは、ロボットがビンから個々の部品を取り出し、各部品をコンベヤ又は輸送コンテナに配置する等のピックアンドプレース操作である。このアプリケーションの例では、成形又は機械加工された部品がビン内に落とされてランダムな位置及び向きに配置され、ロボットが、各部品をピックアップして予め定義された向き(ポーズ)でコンベヤ上に配置し、該コンベヤは梱包又はさらなる処理のために部品を搬送する。他の例では、eコマースの注文を処理する倉庫において、種々の寸法及び形状のアイテムを確実に扱う必要がある。ビン内の部品がどの程度積み重なっているかによって、フィンガータイプのグラスパ又はサクションタイプのグリッパをロボットツールとして使用することができる。ビジョンシステム(1つ以上のカメラ)は、典型的には、ビン内の個々の部品の位置及び向きを識別するために使用される。
【0003】
従来の把持生成方法は、既知の3Dの形状又は対象物のピッキングポイントを手動で教示する。これらの方法では、最適な把持ポーズを特定するために、試行錯誤的なデザインにかなりの時間が必要であり、手動でデザインされたヒューリスティクスは、未知の対象物やオクルージョンでは機能しない場合がある。ヒューリスティックな把持教示を使用することが困難であるため、未知の対象物に適応する能力がある学習ベースの把持検出方法がポピュラーになっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
但し、既存の学習ベースの把持検出方法にも欠点がある。既知の学習ベースの手法の一つは、数学的に厳密な把持品質(grasp quality)を使用して把持候補を検索するが、この処理はそれらの候補を畳み込みニューラルネットワーク(CNN)分類器に供給する前に行われる。しかしこの方法は通常、計算コストが高く、最適化に含まれる単純化のため、現実の世界ではソリューションが最適でない場合がある。現実的な把持を行うために、他の方法では経験的な試行を用いてデータを収集するが、この方法では通常、複雑な力制御を伴う数万のロボット時間が必要であり、グリッパを変更したときはプロセス全体を繰り返す必要がある。
【0005】
上記の状況に照らして、手動の教示を行うことなく高品質の把持候補を生成し、計算効率が高いロボット把持学習技術が望まれる。この技術は、バラ積みされた部品を含む現実の状況と、ロボットアームとビン側面との衝突回避とに適用できる把持シナリオを提供する。
【課題を解決するための手段】
【0006】
本開示の教示に従って、部品をロボットでピックアップするための把持生成技術が提示される。評価すべき全ての対象物及びグリッパについて、ソリッドモデル又はサーフェスモデルのデータベースが提供される。グリッパが選択され、ランダムな初期化が実行される。ここでは、対象物データベースから複数のランダムな対象物が選択され、複数のポーズがランダムに開始される。次に、反復最適化計算が実行され、ここでは、グリッパと接触している表面を有する部品ごとに数百の把持が計算され、把持の多様性と大域的最適化のためにサンプリングがされる。最後に、物理的環境シミュレーションが実行され、ここでは、各部品の把持が、ビンシナリオでシミュレートされた対象物のパイルにマッピングされる。次に、物理的環境シミュレーションからの把持点及びアプローチ方向を使用して、実際のロボット操作で把持学習するためのニューラルネットワークをトレーニングする。シミュレーション結果は、高品質の把持を識別すべく、カメラの深度画像データに関連付けられる。
【0007】
開示された方法の追加の特徴は、添付の図面と併せて、以下の説明及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0008】
図1】本開示の実施形態に係る、個々の対象物の最適化された把持を計算し、計算された把持を、シミュレートされた対象物のパイル内の対象物に適用する、把持生成プロセスの例示的フローチャート図である。
【0009】
図2】本開示の実施形態に係る、図1の把持生成プロセスの反復最適化ボックスに含まれるステップの例示的フローチャート図である。
【0010】
図3】本開示の実施形態に係る、図1の把持生成プロセスの物理的環境シミュレーションボックスに含まれるステップの例示的フローチャート図である。
【0011】
図4】本開示の実施形態に係る、把持計算のためのニューラルネットワークシステムを使用するロボット部品ピッキングシステムのブロック図であり、ここでは、ニューラルネットワークシステムは、図1-3のプロセスを通じて生成された把持を使用して訓練される。
【発明を実施するための形態】
【0012】
最適化ベースの把持生成技術(optimization-based grasp generation techniques)を対象とした本開示の実施形態の以下の説明は、本質的に単なる例示であり、開示された技術、又はそれらのアプリケーション若しくは使用を制限することを意図するものではない。
【0013】
ソースから部品を取り出して搬送先に配置するために、産業用ロボットを使用することは周知である。ある一般的用途では、部品は、鋳造又は成形されたばかりの部品のランダムな山(パイル)を含む包含するビン等によって供給され、この場合部品は、ビンからコンベヤまたは搬送コンテナに移送される必要がある。部品で満たされたビン内の個々の部品を、リアルタイムで認識して把持するようにロボットを教示することは、常に困難であった。
【0014】
ロボットによる部品のピッキング操作の速度及び信頼性を向上させるために、特定の部品を様々なポーズで把持する特定グリッパ把持動作を事前に計算することが知られている。この把持動作の事前計算は把持生成として知られており、事前に計算された(生成された)把持は、ロボットによる部品ピッキング操作中にリアルタイムで決定を行うために使用される。
【0015】
従来の把持生成方法は、対象物の既知の3D形状のピッキングポイントを手動で教示する。これらの方法では、最適な把持ポーズを特定するために、試行錯誤的(ヒューリスティック)なデザインにかなりの時間が必要であり、手動でデザインされたヒューリスティクスは、未知の対象物やオクルージョンでは機能しない場合がある。試行錯誤的な把持教示を使用することが困難であるため、未知の対象物に適応する能力のある学習ベースの把持検出方法がポピュラーとなっている。
【0016】
しかし、既存の学習ベースの把持生成方法にも欠点がある。ある周知の学習ベース技術では、数学的に厳密な把持品質を使用して把持候補を検索するが、この処理はそれらの候補をCNN分類器に供給する前に行われる。しかしこれは計算コストが高く、最適化に使用される単純化のため、現実の世界ではソリューションが最適でない場合がある。他の方法では、経験的な試行を用いて、現実的な把持を生成するデータを収集するが、この方法では通常、複雑な力制御を伴う数万のロボット時間が必要であり、グリッパを変更したときはプロセス全体を繰り返す必要がある。さらに、いくつかの既存の把持生成方法は、識別可能な把持ポーズのタイプに制限され、例えば直接的トップダウンアプローチ方向のみに制限される。
【0017】
本開示が説明する技術は、グリッパ及び部品/対象物のデザインの任意の組み合わせに自動的に適用可能であり、シミュレーションにおいて最小限の計算労力で多数の現実的な把持を生成し、さらに、実世界のロボットによる部品ピッキング操作でよくみられるように、ビン内で混ざり合った複数の部品のパイルから個々の部品を把持する複雑さをシミュレートする。把持のロバスト性を高めるために、数学的に厳密な把持品質が使用され、接触はサーフェスとしてモデル化される。特別にデザインされたソルバを使用して、最適化を効率的に解決する。最後に、生成された把持は、雑然とした環境で発生するグリッパと部品との間の干渉を考慮すべく、物理的環境シミュレーションステップにおいてテスト・改良される。このようにして生成・評価された把持は、実際のロボットによる部品ピッキング操作で使用され、3Dカメラ画像から目標対象物及び把持ポーズを識別する。
【0018】
図1は、本開示の一実施形態に係る、個々の部品/対象物の最適化された把持を計算し、計算された把持をシミュレートされたパイル内の対象物に適用する把持生成プロセスの例示的フローチャート図100である。ボックス110では、3次元(3D)の対象物モデルのデータベース112が提供される。対象モデルデータベース112は、把持が生成されるべき何百もの異なる対象物を含むことができ、各対象物には、3Dのソリッドデータ又はサーフェスデータが(典型的にはCADモデルから)提供される。対象物モデルデータベース112はまた、ShapeNet(登録商標)等の広く利用可能な共有ソースリポジトリからのデータを含み得る。
【0019】
ボックス110ではグリッパデータベース114も提供され、このデータベースは、各グリッパの3Dの幾何学的データ及び関節データの双方を含む。例えば、1つの特定のグリッパは、3つの機械的な指を有し、各指は2つのナックルジョイント及び2つの指セグメントを有する。このグリッパの3Dジオメトリは、ナックルジョイントが全て完全に開いた状態等、特定の構成で提供され、ジョイントの枢軸ジオメトリも提供されます。グリッパデータベース114には、2本指及び3本指の関節式グリッパ、平行顎グリッパ、フルヒューマンハンド式グリッパ、低拘束(underconstraint)作動グリッパ、吸着カップ式グリッパ(単一又は複数のカップ)等、様々な型式のグリッパが含まれ得る。
【0020】
ランダム初期化ボックス120では、対象物のグループ(例えば、10-30個の対象物)が対象物モデルデータベース112からランダムに選択され、各対象物用のグリッパもグリッパデータベース114から選択される。例えば、(成形プラスチック玩具であり得る)ウサギ122と、これに対応する3本指グリッパ124が図示されており、ここではウサギ122は対象物データベース112内の単なる対象物の1つであり、グリッパ124はグリッパデータベース114に含まれるグリッパの1つである。
【0021】
他の例として、ティーポット型対象物126が、同じグリッパ124と共に図示されている。明確化のため、ランダム初期化ボックス120において選択された各対象物は、選択されたグリッパと共に、個別に分析されて、対象物のための多くのロバストな把持を生成するが、これについては以下に詳述する。単に操作を容易にするために、多数の(例えば10-30個の)対象物は(ランダムに又はユーザが)選択されてもよく、その場合はボックス120において、選択された全ての対象物に対して把持生成計算が自動的に実行される。好適な実施形態では、同じグリッパ(この例ではグリッパ124)が、ボックス120で選択された全ての対象物に使用される。この理由は、後の分析において、多数又は全ての異なる対象物をビン内にバラ積みし、グリッパを備えたロボットを使用して一度に1つずつ対象物をピックアップすることが含まれ得るからである。
【0022】
ボックス130において、対象物/グリッパのペアの各々に対して反復最適化計算が実行され、多くのロバストな把持が生成・記憶される。一実施形態では、反復最適化ルーチンは、各対象物及び選択されたグリッパについて1000個の把持を計算するように構成される。もちろん、1000より多い又は少ない把持を計算することもできる。反復最適化計算は、対象物とグリッパとの間の表面接触を、衝突や侵入を防ぎつつモデル化する。この計算は、各把持を迅速に計算すべく、効率のために特別に設計されたソルバを使用する。初期条件(対象物に対するグリッパのポーズ)は、ロバストな把持の多様な組み合わせを提供するために変更される。ボックス130での反復最適化計算について、以下に詳述する。
【0023】
ボックス140において、ランダム初期化ボックス120で選択された対象物のグループは、物理的環境のシミュレーション(すなわち、ビン内にランダムに落下してパイルとなる部品のシミュレーション)に使用され、ボックス130からの関連する把持は、物理的環境にマッピングされる。ボックス140におけるビン内のシミュレートされた対象物のパイルは、多くの異なるタイプの対象物(例えば、ボックス120で選択された全ての対象物)を含んでもよいし、或いは全て単一のタイプの対象物で満たされたビンを含んでもよい。シミュレーションは、雑然とした環境での各把持のパフォーマンスをテストするために、並行して実行される。ボックス140での物理的環境シミュレーションについても、以下にさらに説明する。
【0024】
ボックス150では、把持データベースを形成するために、点群、把持ポーズ、及びボックス140での物理的環境シミュレーションからの成功率が記録される。点群深度画像152は、特定の視点から見た、ボックス140からの対象物のパイルを示している。好適な実施形態では、深度画像152は、最良の把持のために計算されたアプローチ方向から見たものである。画像152から、ボックス140での計算は、ロボットグリッパによって実行され得るいくつかの把持の候補を決定した。把持候補の各々は、把持ポーズ及びポイントマップ154によって表される。ポイントマップ154は、把持目標として使用可能な点を、画像152の視点によって定義されるアプローチ角度と共に示し、ボックス140で計算されたグリッパ幅及びグリッパ角度を使用する。従って、ボックス150で保存されたデータは、所望のアプローチ角度からの深度マップと、最良の把持を含む把持座標x/y/zを示すポイントマップ154と、グリッパ回転角度及びグリッパ幅と、物理的環境シミュレーションからの把持成功率とを含む。ポイントマップ154内の点は、把持品質の観点からランク付けされ、ビン内の対象物のパイルから対象物を成功裏に把持する結果をもたらすことになる。
【0025】
図1のフローチャート図100に示される方法で生成・評価され、かつボックス150にて保存された把持は、後に、部品で満たされた実際のビンの3Dカメラ画像から最良の把持ポーズを識別するための把持学習システムを訓練するために使用される。
【0026】
図2は、本開示の一実施形態に係る、図1の把持生成プロセスの反復最適化ボックス130に含まれるステップの例示的フローチャート図200である。フローチャート図200の反復最適化計算は、多くのロバストな把持を生成・保存するために、各対象物/グリッパのペアについて実行される。
【0027】
ボックス210において、グリッパの表面及び対象物の表面は、点に離散化される。グリッパ表面(掌の表面及び指のセグメントの内面)上の点はpとして指定され、点pの各々は法線ベクトルn を有する。対象物の外面上の点はqとして指定され、点qの各々は法線ベクトルn を有する。
【0028】
ボックス220において、対象物に対する現在のグリッパのポーズ(全体的なグリッパ位置、及び個々の指関節位置については後述する)に基づいて、点接触ペア及び衝突ペアが計算される。この計算は、最近傍法を使用して、対象物表面上の最も近い点にマッチするグリッパ表面上の点を識別することから開始される。閾値を超える距離を有する点のペアをフィルタリングで削除した後、残りの点のペア(p,q)が、(グリッパ上の)接触面S及び(対象物上の)接触面Sを定義する。
【0029】
222では、対象物の断面及びグリッパの1本の指が、対応する点のペア(p,q)、及びそれぞれの表面法線ベクトルとともに表示されている。222に示される位置(初期位置、又は最適化プロセスにおける他の反復であり得る)では、対象物とグリッパの指の外側セグメントとの間に干渉がある。この干渉には、後述するように、グリッパを対象物から遠ざけて干渉を排除するために、最適化計算における制約関数を使用してペナルティが課せられる。
【0030】
ボックス230において、把持探索問題が最適化としてモデル化され、1回の反復計算が行われる。安定した把持を計算するために、表面接触及び厳密な数学的品質がモデリングに使用される。グリッパと対象物の衝突にも、前述のように、侵入を回避するために最適化においてペナルティが課せられる。ボックス230に示される最適化の定式化は、以下に式(1a)-(1f)として再掲されており、以降の段落で説明される。
【数1】
【0031】
最適化の定式化には、把持品質Qを最大化するように定義された目的関数(式1a)が含まれ、ここでは、把持品質Qは、接触面S、S及び対象物ジオメトリOに関連する。把持品質Qは、任意の適切な方法で定義可能であり、質量や重心等の対象物の性質に対する全ての接触点の力の寄与(force contribution)から計算される。安定した把持とは、グリッパ内での対象物の小さな動きが摩擦力によって迅速に停止され、グリップが失われないことである。
【0032】
最適化の定式化による式(1a)-(1f)は、多くのs関数を含む。制約関数(式1b)は、Sが対象物の初期ポーズTini,oによって変換された対象物表面δ0のサブセットであることと、Sがグリッパのポーズ及びジョイント位置(T,q)によって変換されたハンド/グリッパ表面δFのサブセットであることとを示す。制約関数(式1c)は、対象物の接触面Sとハンド/グリッパの接触面Sとが同一であることを示す。
【0033】
制約関数(式1d)は、グリッパと対象物の相互作用中は、接触力fが摩擦円錐FC内に残っていることを示す。摩擦円錐FCは、該摩擦円錐の中心線への指の力の偏差にペナルティを課すことを特徴としている。ここで摩擦円錐とは、当技術分野では周知のように、一方の表面が他方の表面に結果として及ぼす力が、静止摩擦係数によって決定されるように両方の表面が静止しているときに該摩擦円錐内に配置されなければならないような円錐である。制約関数(式1e)は、変換されたハンドの表面(T(δF;T,q))が環境εを貫通してはならないことを示し、すなわち、距離はゼロ以上である必要がある。
【0034】
制約関数(式1f)は、ジョイント位置qが、qmin及びqmaxによって拘束された空間内にとどまることを示す。ここで、ジョイント位置の境界qmin及びqmaxは既知であり、選択したグリッパに適用される。例えば、図示された3本指グリッパの指関節は、qmin =0°(直線的な指の延在)と、約qmax≒140°-180°(最大内向き屈曲;グリッパの各関節は、この範囲内で特定のqmaxの値を有する)との間の角度位置を有するように拘束される。
【0035】
式(1a)-(1f)の最適化の定式化は、S⊂(δF;T,q)における接触面及び非線形運動学のため、非凸問題のままである。運動学的非線形性を解決するために、探索は、ハンド/グリッパ構成T、qから、ハンド/グリッパ構成の増分δT、δqに変更される。具体的には、T=δT+T、q=δq+qであり、T、qは現在のハンド/グリッパ構成を示す。本開示では、δT=(R,t)は変換と称する。
【0036】
表面接触によって導入された非線形性を解決し、勾配ベースの方法で式(1a)-(1f)を解くために、ハンド/グリッパ表面δF及び対象物表面δ0を、それぞれ点集合
及び
に離散化する。ここでは、
は、点の位置及び法線ベクトルを表す。点の離散化は、ボックス210及び220に関して上述されている。
【0037】
及びSを定義するための、上述した最近傍点マッチングアプローチを使用すると、点pでの並進ヤコビ行列を使用し、対象物の表面法線方向の点距離を記述することで、接触近接ペナルティを定式化できる。この点-平面距離により、グリッパ上の点が対象物の表面上に存在して該表面上を摺動することができる。また、不完全な点群データに対するアルゴリズムの感度が低下する。
【0038】
衝突制約(式1e)は、ペナルティを受けるとともに、現在侵入している点に対してのみ衝突にペナルティを課すように定式化される。衝突近似は、δT、δqに関して微分形式を導入するので、計算効率が大幅に向上する。しかし、プレビューが欠如しているため、ハンドが動くと、概算のペナルティは不連続になり、故に最適化されたδT、δqはジグザグの振る舞いを呈する可能性がある。近似によって惹起されるジグザグの影響を減らすために、ハンド表面を膨らませて、起こり得る衝突をプレビューすることができる。
【0039】
ここで図2に戻ると、前述の議論は、実行すべき最適化計算を非常に迅速にし得る凸状化の単純化を含む、ボックス230での最適化定式化を説明する。ボックス240において、対象物に対するグリッパのポーズ(グリッパのベース/パームのポーズT及びジョイント位置qの双方)が更新され、(接触点ペア及び衝突点ペアを計算する)ボックス220のステップ及び(最適化問題の反復を解決する)ボックス230のステップが、最適化の定式化が予め定義された閾値に収束するまで更新・反復される。
【0040】
図2に示されたフローチャート図200に示されるステップは、グリッパ(例えば124)による対象物(ウサギ122等)の単一の把持(single grasp)を計算する。つまり、最適化の計算が収束すると、適切な品質で干渉/侵入のない単一の把持が提供される。242で示す断面では、グリッパフィンガのジョイントの角度を緩和することにより、対象物とグリッパフィンガとの間の干渉が排除され、点のペア(p,q)がちょうど接触していることがわかる。
【0041】
上述したように、対象物/グリッパのペアごとに多くの異なる把持を計算することが望ましい。一実施形態では、反復最適化ルーチンは、選択されたグリッパを使用して、各対象物について1000個の把持を計算するように構成される。
【0042】
収束した異なる把持を得るために、異なる初期把持ポーズからサンプリングすることも望ましく、その結果として得られる把持は包括的となる。換言すれば、初期条件(対象物に対するグリッパのポーズ)は、計算された1000個の把持ごとにランダムに変化する。このことがなされる理由は、式(1a)-(1f)の最適化定式化が局所最適に収束するからである。(例えばウサギ122の)頭部及び胴体の様々な部分を様々な方向(正面、背面、上方、下方等)から把持するには、初期条件が多様なアプローチ方向及びターゲットの把持位置を反映している必要がある。
【0043】
把持ポーズの多様性を提供するために初期条件が変化したとしても、反復最適化ステップで計算された多数(例えば、500-1000)の把持を考慮すると、非常に類似した多数の把持が必然的に存在することになる。例えば、正面からのウサギ122の頭部に対して多くの類似した把持が計算されることは容易に予見可能である。このため、対象物について500-1000の把持が計算された後、それらの把持は類似のポーズでグループ化され、平均が計算される。把持生成方法の一実施形態では、平均の把持のみが記憶される。換言すれば、例えば、正面からのウサギ122の頭部の把持の全ては、単一の記憶された把持に平均化される。他のアプローチ方向及び把持位置についても同様である。このようにして、500-1000個の計算された把持は、20-50個の範囲の数の記憶された把持に減らすことができ、記憶された把持の各々は、他の記憶された把持とは大きく異なる。
【0044】
図3は、本開示の一実施形態に係る、図1の把持生成プロセスの物理的環境シミュレーションボックス140に含まれるステップの図示されたフローチャート図300である。ボックス310では、(特定のグリッパのために)個々の対象物における最適化された把持のセットが提供される。最適化された把持は、ボックス130(図1)の反復最適化プロセス及び図2のフローチャート図200によって計算され提供される。上述のように、最適化された把持は、好ましくは、把持位置/角度の多様性を表す記憶された(20-50個の)把持であり、保存された把持の各々は互いに大幅に異なる。
【0045】
ボックス320では、シミュレートされた対象物の山(パイル)が提供される。対象物は、全て同じタイプ(ビン322として図示)でもよいし、多くの異なるタイプ(図1のボックス120のランダム初期化ステップで提供され、ビン324として図示されるもの等)を含んでもよい。ボックス310で提供される把持は、同じグリッパを使用して、シミュレートされたパイル内の全ての対象物のタイプ(複数の場合)を含まなければならない。ボックス320では、対象物のアクチュアルな動的シミュレーションを使用して対象物のパイルがシミュレートされており、該シミュレーションの対象物は、ランダムな姿勢でビン内に落下し、ビンの底に着地し、既に着地している他の対象物と衝突し、平衡位置等に至るまで、形成されたパイルの側面を転がり落ちる。対象物のパイルの動的シミュレーションには、実際の部品の形状、ビンの寸法/形状、及び高度なリアリズムのための表面間接触シミュレーションが含まれる。
【0046】
ビン内の対象物のシミュレートされたパイルがボックス320で提供された後、ボックス310で提供された把持(記録済の最適化された把持)は、シミュレートされた対象物のパイルにマッピングされる。このステップはボックス330に示されている。シミュレートされた対象物のパイルは個々の対象物の既知の位置を含むため、対象物のポーズ及びID(identity)を使用することで、最適化された把持をシミュレートされた対象物のパイルにマッピングできる。これにより、対象物のパイルの3D深度マップ、選択した対象物のID、対応するアプローチ角度、3次元の把持点、グリッパ角度及びグリッパ幅(又はフィンガのジョイント位置)を含む、対象物のシミュレートされた把持が得られる。
【0047】
シミュレートされた対象物のパイルの露出面は、3Dの点群(point cloud)又は深度マップとしてモデル化される。シミュレートされた対象物のパイルは個々の対象物の既知の位置を含むため、3D深度マップは任意の適切な視点(垂直から30°以内等、ロボットの把持に適した角度)から計算できる。次に、シミュレートされた各把持の視点からの3D深度マップを分析することで、3D深度マップ内の対象物の露出部分と、これに対応する、記憶済の最適化された把持の1つを使用してシミュレートされた把持との間の相関を見出すことができる。
【0048】
シミュレートされた対象物のパイルの提供(ボックス320)は、最適化された把持の所与のセットに対して何度も繰り返され得る。シミュレートされた対象物の各パイルは、対象物の異なるランダムなストリーム及び落下時の姿勢を使用する。故にシミュレートされたパイルは全て異なり、異なる把持決定の視点を提供する。より具体的には、任意のランダムな対象物のパイルについて、把持アプローチ方向はランダムに選択可能であり、そのアプローチ方向に近い把持をシミュレーションでテストすることができる。個々の対象物把持シミュレーション(ボックス330)は、全ての対象物が(シミュレーションで)把持されてビンから取り出されるまで、シミュレートされた対象物のパイルごとに繰り返され得る。
【0049】
ボックス320及び330のステップを繰り返すことにより、各把持は異なる条件下でシミュレートすることができ、これらの条件は、互いに絡み合っている対象物、部分的に露出してはいるがパイル内の他の対象物によってある位置に詰まっている対象物、及びビンの側面/角部を含む。さらに、把持シミュレーションはバラつきや不確実性を内包する場合があり、この不確実性には、対象物のポーズの不確実性、センシングの不確実性、摩擦の不確実性、及び様々な環境(ビン、対象物)が含まれる。これらの様々な状況下で把持試行を実行することにより、不確実性、バラつき及び干渉の下での各把持のロバスト性をシミュレートし記録することができる。
【0050】
図1に戻り、ボックス150、点群、把持ポーズ、並びにボックス140(及び図3に関して上述)の物理的環境シミュレーションからの成功率が記録されて、把持データベースを形成する。点群深度画像152は、特定の視点からみたボックス140の対象物のパイルを示す。画像152から、ボックス140での計算は、ロボットのグリッパによって採用され得るいくつかの把持候補を決定した。把持候補の各々は、ポイントマップ154内の領域によって表され、ポイントマップ154が含む点は、把持ターゲットとして使用可能であり、アプローチ角度は、ボックス140で計算されたグリッパ角度及びグリッパ幅を使用して、画像152の視点によって定義される。ポイントマップ154内の点は、把持品質に関してランク付けされており、ビン内の対象物のパイルから対象物が成功裏に把持される結果をもたらす。
【0051】
図1のフローチャート図100に示される方法で生成・評価され、ボックス150において保存された把持は、後で、ニューラルネットワークシステムのトレーニングサンプルとして使用される。このニューラルネットワークシステムは、部品で満たされた実際のビンの3Dカメラ画像から目標把持ポーズを識別するために、実際のロボットによる部品ピッキング操作で使用される。
【0052】
図4は、把持計算のためにニューラルネットワークシステムを使用するロボット部品ピッキングシステムのブロック図を示し、このニューラルネットワークシステムは、本開示の実施形態によれば、図1-3のプロセスによって生成された把持を使用して訓練される。グリッパ402を有するロボット400は、作業空間内で動作し、ここではロボット400は、部品又は対象物を第1の場所(ビン)から第2の場所(コンベヤ)に移動させる。グリッパ402は、図1のボックス120で識別されたグリッパである。
【0053】
ロボット400の動きはコントローラ410によって制御され、コントローラ410は典型的には、ケーブル412を介してロボット400と通信する。当技術分野で周知のように、コントローラ410は、ロボット400に関節運動指示を送り、ロボット400の関節のエンコーダから関節位置データを受信する。コントローラ410はまた、グリッパ402の動作を制御するための指示(回転角度及び幅、並びにグリップ/アングリップに関する指示)を送る。
【0054】
コンピュータ420は、コントローラ410と通信する。コンピュータ420は、2つの方法のうちの1つでリアルタイムに、対象物で満たされたビンに対する高品質の把持を計算するように構成されたプロセッサ及びメモリ/ストレージを含む。好適な実施形態では、コンピュータ420は、ボックス150からの把持データベースを使用する把持学習のために予め訓練されたニューラルネットワークシステムを実行する。次にニューラルネットワークシステムは、ライブ画像データに基づいてリアルタイムで把持を計算する。他の実施形態では、コンピュータ420は、点群、把持ポーズ、及び物理的環境シミュレーションからの成功率を含む、ボックス150の把持データベースから直接、ライブのロボット操作中の把持を計算する。コンピュータ420は、図1-3に関して上述した把持生成計算の全てを実行したものと同じコンピュータでもよい。
【0055】
一対の3Dカメラ430及び432は、コンピュータ420と通信し、作業空間の画像を提供する。特に、カメラ430/432は、ビン450内の対象物440の画像を提供する。カメラ430/432からの画像(深度データを含む)は、ビン450内の対象物440の位置及び姿勢を定義する点群データを提供する。異なる視点を有する2つの3Dカメラ430及び432があることから、任意の適切な視点から、ビン450内の対象物440の3D深度マップを計算又は投影することができる。
【0056】
ロボット400のタスクは、ビン450から対象物440の1つを取り出し、該対象物をコンベヤ460に移送することである。図示例では、ロボット400のグリッパ402によって把持された個々の部品442が選択され、経路480に沿ってコンベヤ460に移動する。各部品ピッキング動作について、コンピュータ420は、ビン450内の対象物440の画像をカメラ430/432から受信する。コンピュータ420はカメラ画像から、ビン450内の対象物440のパイルの深度マップを計算する。カメラ画像は2つの異なる視点から提供されるので、対象物440のパイルの深度マップは、異なる視点から計算することができる。
【0057】
好適な実施形態では、コンピュータ420は、把持学習のために訓練されたニューラルネットワークシステムを含む。ニューラルネットワークシステムは、ボックス150の把持データベース(点群、把持ポーズ及び物理的環境シミュレーションからの成功率)からのデータを使用した教師あり学習を使用して訓練される。本開示の図1-3の方法は、ニューラルネットワークシステムの完全なトレーニングに必要なデータの量及び多様性を提供する。これには、対象物ごとに様々な把持が含まれ、目標把持の自由度(DOF)及び把持成功率を持つ対象物の様々なランダムなパイルが含まれる。ボックス150からの把持データベース内の全てのデータは、ニューラルネットワークシステムを自動的に訓練するために使用可能である。次にコンピュータ420のニューラルネットワークシステムは、ライブロボット操作中に推論モードで実行され、ニューラルネットワークシステムは、カメラ430/432からの対象物パイル画像データに基づいて高品質の把持を計算する。
【0058】
他の実施形態では、コンピュータ420は、ボックス150からの把持データベースに基づいて、ライブロボット操作中の把持を直接的に識別する。この実施形態では、コンピュータ420は、ビン450に含まれる対象物440のタイプを事前に知っている。この情報は、(点群、把持ポーズ及び物理的環境シミュレーションからの成功率と共に)ボックス150からの把持データベースに含まれているからである。予め生成された把持データベースに従って高品質の把持の位置にある物体(対象物442等)を含む深度マップが発見されると、コンピュータ420は、個々の対象物把持データをコントローラ410に送り、次にコントローラ410は、対象物を把持して動かすようにロボット400に命令する。
【0059】
上述のいずれの実施形態においても、コンピュータ420によってコントローラ410に提供される把持データは、把持目標点の3D座標、グリッパ402が従うべきアプローチ角度、並びにグリッパの回転角及び幅(又は全ての指関節の位置)を含むコントローラ410は、把持データを使用してロボット動作指令を計算することができ、該動作指令は、グリッパ402に物体(例えば対象物442)を把持させ、衝突のない経路(経路480)に沿って目的の場所に物体を移動させる。
【0060】
目的の場所は、コンベヤ460の代わりに、対象物が個々の区画に配置される輸送コンテナ、又は対象物が後の操作でさらに処理される他の表面若しくは装置であってもよい。
【0061】
対象物442がコンベヤ460に移動された後は、対象物440のパイルが変化するので、新しい画像データがカメラ430/432によって提供される。次にコンピュータ420は、新しい画像データ及び予め生成された把持データベースに基づいて、新たな目標把持を識別しなければならない。新たな目標把持はコンピュータ420によって非常に迅速に識別されなければならず、その理由は、ロボット400が対象物440の1つを動かして次の対象物を取り出すことができるのと同じ速さで、把持の識別及び経路の計算をリアルタイムで実行しなければならないからである。対応する深度画像データ、把持点、アプローチ角度及び各把持のグリッパ構成を含む品質把持のデータベースの生成により、ニューラルネットワークシステムの事前トレーニングが可能になり、実際のロボット操作中にリアルタイム計算を非常に迅速かつ効率的に実行できる。開示された方法は、多くの対象物及び対応するグリッパの把持データベースを、容易かつ自動的に生成する。
【0062】
上述した把持生成技術は、既存の方法に比べていくつかの利点を有する。開示された方法は、高品質の完全な自由度(full-DOF)の把持を生成する。この方法は、表面接触を伴う妥当な把持を生成するので、生成された把持は、不確実性や外乱に対してより堅牢である。さらに、開示された最適化定式化及びカスタマイズされた反復ソルバは、非常に効率的であり、0.06秒(1つの関節を持つグリッパ)から0.5秒(22個の関節の多指ハンド)までの範囲の時間で把持を計算する。物理シミュレーションに関しては、実際の試行よりも10-100倍高速であり、0.01-0.05秒以内で把持試行をテストでき、10時間で100万の把持を生成する。
【0063】
さらに、開示された方法は、様々な変動や干渉を含む多様な把持データを生成する。生成パイプラインは、変動(対象物の形状のバラつき、ポーズの不確実性)及び干渉(絡まり、詰まり、角部)の下での把持性能をシミュレートする。従って後の学習アルゴリズムは、これらの把持データに基づいて堅牢な把持戦略を学習できる。最適化フレームワークは、吸引グリッパ、従来のフィンガータイプのグリッパ、カスタマイズされたグリッパ、多指ハンド、及び微小変形可能なソフトグリッパに有効である。またこれは、作動不足のハンド及び完全に作動したハンドの双方に有効である。最後に、開示された方法は、数学的に安定しており、容易に解を得、厳密な把持品質を最適化して妥当な把持を生成する。厳密な品質及び全ての制約にも関わらず、アルゴリズムは基本的な線形代数で反復的に解くことができる。
【0064】
これまでの説明を通じて、様々なコンピュータ及びコントローラが記載され暗示された。これらのコンピュータ及びコントローラのソフトウェアアプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ又は複数のコンピューティングデバイスで実行されることを理解されたい。特に、これには、物体把持を実行するロボット400を制御するロボットコントローラ410内のプロセッサと、把持生成計算を実行し、リアルタイム操作で把持される対象物を識別するコンピュータ420内のプロセッサとが含まれる。
【0065】
最適化ベースの把持生成技術の複数の例示的な態様及び実施形態が説明されたが、当業者は、それらの修正、並べ替え、追加及びサブコンビネーションを認識するであろう。従って、添付の特許請求の範囲及び請求項は、それらの真の精神及び範囲内にあるそのような修正、並べ替え、追加及びサブコンビネーションの全てを含むと解釈すべきである。
[構成1]
ロボットで使用される把持データベースを生成する方法であって、
複数の対象物の3次元(3D)形状データを含む対象物データベース、並びに、1つ又は複数のグリッパの3D形状データ及び作動パラメータを含むグリッパデータベースを用意することと、
プロセッサ及びメモリを有するコンピュータを用いて、前記グリッパデータベースからのグリッパの選択及び前記対象物データベースからの1つ又は複数の対象物の選択を含む初期化を実行することと、
反復最適化を繰り返し実行して、選択された各対象物について、選択されたグリッパによる、各々が予め定めた品質基準を達成する複数の品質把持を計算することと、
前記把持データベースを生成するために物理的環境シミュレーションを実行することと、を含み、
前記物理的環境シミュレーションは、対象物のランダムなパイルを繰り返しシミュレートすることと、前記品質把持の1つを用いて対象物の前記パイルに適用するための把持ポーズを繰り返し識別することと、成功裏にシミュレートされた把持の各々についてのデータを前記把持データベースに出力することと、
を含む、方法。
[構成2]
ライブのロボット操作中に前記コンピュータによって前記把持データベースを使用して、対象物のパイルから目標対象物を識別することと、複数の3Dカメラからの深度画像を解析することと、前記深度画像から1つ又は複数の合成深度マップを計算することと、前記合成深度マップの1つに対応する品質把持を有する対象物を、前記把持データベースから前記目標対象物として識別することと、前記グリッパを有するロボットに対して前記目標対象物を把持して移動するように指示するロボットコントローラに、個々の対象物把持データを提供することと、をさらに含む、構成1に記載の方法。
[構成3]
前記コンピュータによって前記把持データベースを使用して、ニューラルネットワーク把持学習システムを教師あり学習で訓練することと、前記グリッパを有するロボットに対して対象物を把持して移動するように指示するロボットコントローラに、個々の対象物把持データを提供することと、をさらに含み、訓練後の前記ニューラルネットワーク把持学習システムは、ライブのロボット操作中に把持指令を計算するために推論モードで使用される、構成1に記載の方法。
[構成4]
前記把持指令は、把持目標点の3D座標、前記グリッパが従うべきアプローチ角度、並びにグリッパの回転角及び幅又は全ての指関節の位置を含む、構成3に記載の方法。
[構成5]
複数の対象物の前記3D形状データは、各対象物のソリッドモデル、サーフェスモデル又はサーフェスポイントデータを含む、構成1に記載の方法。
[構成6]
前記グリッパの前記作動パラメータは、指式グリッパについて、指関節の位置、枢軸方向、及び指関節の屈曲角度範囲を含む、構成1に記載の方法。
[構成7]
反復最適化を繰り返し実行することは、前記対象物に対する初期のグリッパのポーズをランダムに変化させることを含む、構成1に記載の方法。
[構成8]
反復最適化を繰り返し実行することは、前記グリッパの表面及び前記対象物の表面を点に離散化することと、前記対象物に対する現在のグリッパのポーズに基づいて接触点ペア及び衝突ペアを計算することと、最適化モデルを反復計算することと、前記グリッパのポーズを更新することと、前記最適化モデルを、前記品質基準を達成すべく収束するまで反復計算することと、を含む、構成1に記載の方法。
[構成9]
前記最適化モデルは、前記品質基準を最大化するように定義された目的関数と、前記グリッパの接触面及び前記対象物の接触面を、前記対象物に対する前記グリッパのポーズによって変換され離散化された表面のサブセットとして定義する制約関数とを含み、前記グリッパの前記接触面及び前記対象物の前記接触面は互いに等しく、前記グリッパの前記接触面及び前記対象物の前記接触面は、摩擦円錐モデルによって定義される摩擦、前記グリッパが前記対象物内に侵入することのペナルティ、及び制限角度内でのグリッパ関節角度を有する、構成8に記載の方法。
[構成10]
前記最適化モデルは、解を得る前に凸状化及び単純化され、該凸状化及び該単純化は、前記制約関数をグリッパ構成からグリッパ構成の増分に変更することと、最も近い対象物の点に垂直な対象物表面に沿った各グリッパサーフェスポイントからの距離を定義することと、互いに閾値距離内にある点のペアのみを考慮することとを含む、構成9に記載の方法。
[構成11]
選択された各対象物についての前記複数の品質把持は、少なくとも500の把持を含み、前記少なくとも500の把持は類似の把持ポーズによってグループ化され、各グループの平均把持が計算され、前記平均把持のみが前記物理的環境シミュレーションで使用される、構成1に記載の方法。
[構成12]
前記把持データベースに出力される、成功裏にシミュレートされた各把持のデータは、対象物の前記パイルの3D深度マップ、ロボットのグリッパアプローチ角度、3次元の把持点、グリッパ角度、及びグリッパ幅又は指関節位置を含む、構成1に記載の方法。
[構成13]
物理的環境シミュレーションの実行は、複数の対象物のビン内への落下を数学的にシミュレートすることを含み、該シミュレーションは重力、前記対象物同士の接触、及び前記ビンの壁を含み、結果として得られる前記ビン内の対象物のパイルが前記物理的環境シミュレーションで使用される、構成1に記載の方法。
を含む方法。
[構成14]
物理的環境シミュレーションの実行は、シミュレートされた対象物の前記パイルの1つ又は複数の合成深度マップの計算と、前記合成深度マップでの品質把持の識別と、ロボットのグリッパアプローチ角度、3次元の把持点、グリッパ角度、及びグリッパ幅又は指関節位置を使用した把持のシミュレーションとを含む、構成1に記載の方法。
[構成15]
ロボットで使用される把持データベースを生成する方法であって、
複数の対象物の3次元(3D)形状データを含む対象物データベース、並びに、1つ又は複数のグリッパの3D形状データ及び作動パラメータを含むグリッパデータベースを用意することと、
プロセッサ及びメモリを有するコンピュータを用いて、前記グリッパデータベースからのグリッパの選択及び前記対象物データベースからの複数の対象物の選択を含む初期化を実行することと、
反復最適化を実行して、選択された各対象物について、選択されたグリッパによる複数の品質把持を計算し、前記品質把持を類似の把持ポーズによってグループ化して各グループの平均把持を計算し、前記平均把持のみを保存することと、
対象物のランダムなパイルを繰り返しシミュレートすること、前記平均把持の1つを用いて対象物の前記パイルに適用するための把持ポーズを繰り返し識別すること、及び、成功裏にシミュレートされた把持の各々についてのデータを前記把持データベースに出力することを含む物理的環境シミュレーションを、前記把持データベースを生成するために実行することと、
訓練後はライブのロボット操作中に把持指示を計算するために推論モードで使用されるニューラルネットワーク把持学習システムを、前記把持データベースを使用して教師あり学習で訓練し、前記グリッパを有するロボットに対して、対象物を把持して移動するように指示するロボットコントローラに、前記把持指示を提供することと、
を含む、方法。
[構成16]
対象物を把持するロボットのためのシステムにおいて、該システムは、
プロセッサ及びメモリを有するコンピュータであって、
把持データベースを生成し、
複数の対象物の3次元(3D)形状データを含む対象物データベース、並びに、1つ又は複数のグリッパの3D形状データ及び作動パラメータを含むグリッパデータベースを提供し、
前記グリッパデータベースからのグリッパの選択及び前記対象物データベースからの複数の対象物の選択を含む初期化を実行し、
反復最適化を実行して、選択された各対象物について、選択されたグリッパによる複数の品質把持を計算し、
対象物のランダムなパイルを繰り返しシミュレートすること、前記品質把持の1つを用いて対象物の前記パイルに適用するための把持を繰り返し識別すること、及び、成功裏にシミュレートされた把持の各々についてのデータを前記把持データベースに出力することを含む物理的環境シミュレーションを、前記把持データベースを生成するために実行し、
ニューラルネットワーク把持学習システムを、前記把持データベースを使用して教師あり学習で訓練するように構成された、コンピュータと、
ライブのロボット操作中に、対象物のパイルの深度画像を、訓練後の前記ニューラルネットワーク把持学習システムを推論モードで使用して把持指示を計算する前記コンピュータに提供する複数の3Dカメラと、
前記コンピュータと通信し、前記コンピュータから前記把持指示を受信するロボットコントローラと、
前記グリッパを備え、前記コンピュータからの指示に基づいて対象物を把持して移動させるロボットと、
を有する、システム。
[構成17]
前記把持指示は、把持目標点の3D座標、前記グリッパが従うべきアプローチ角度、並びにグリッパの回転角及び幅又は全ての指関節の位置を含む、構成16に記載のシステム。
[構成18]
反復最適化を繰り返し実行することは、前記グリッパの表面及び前記対象物の表面を点に離散化することと、前記対象物に対する現在のグリッパのポーズに基づいて接触点ペア及び衝突ペアを計算することと、最適化モデルを反復計算することと、前記グリッパのポーズを更新することと、前記最適化モデルを、品質基準を達成すべく収束するまで反復計算することと、を含む、構成16に記載のシステム。
[構成19]
前記最適化モデルは、前記品質基準を最大化するように定義された目的関数と、前記グリッパの接触面及び前記対象物の接触面を、前記対象物に対する前記グリッパのポーズによって変換され離散化された表面のサブセットとして定義する制約関数とを含み、前記グリッパの前記接触面及び前記対象物の前記接触面は互いに等しく、前記グリッパの前記接触面及び前記対象物の前記接触面は、摩擦円錐モデルによって定義される摩擦、前記グリッパが前記対象物内に侵入することのペナルティ、及び制限角度内でのグリッパ関節角度を有する、構成18に記載のシステム。
[構成20]
物理的環境シミュレーションの実行は、複数の対象物のビン内への落下を数学的にシミュレートすることを含み、該シミュレーションは重力、前記対象物同士の接触、及び前記ビンの壁を含み、結果として得られる前記ビン内の対象物のパイルが前記物理的環境シミュレーションで使用される、構成16に記載のシステム。
図1
図2
図3
図4