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

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

▶ オカド・イノベーション・リミテッドの特許一覧

<>
  • 特許-把持の生成のためのピクセル単位の予測 図1
  • 特許-把持の生成のためのピクセル単位の予測 図2
  • 特許-把持の生成のためのピクセル単位の予測 図3A
  • 特許-把持の生成のためのピクセル単位の予測 図3B
  • 特許-把持の生成のためのピクセル単位の予測 図4
  • 特許-把持の生成のためのピクセル単位の予測 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】把持の生成のためのピクセル単位の予測
(51)【国際特許分類】
   G06T 7/70 20170101AFI20241105BHJP
   B25J 13/08 20060101ALI20241105BHJP
   G06T 7/00 20170101ALI20241105BHJP
   G06V 10/82 20220101ALI20241105BHJP
【FI】
G06T7/70 Z
B25J13/08 A
G06T7/00 350C
G06V10/82
【請求項の数】 21
(21)【出願番号】P 2023533714
(86)(22)【出願日】2021-12-01
(65)【公表番号】
(43)【公表日】2023-12-12
(86)【国際出願番号】 US2021061462
(87)【国際公開番号】W WO2022119962
(87)【国際公開日】2022-06-09
【審査請求日】2023-06-14
(31)【優先権主張番号】63/120,624
(32)【優先日】2020-12-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515134368
【氏名又は名称】オカド・イノベーション・リミテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】ルディ、ヤン・スタニスワフ
(72)【発明者】
【氏名】ベルグストラ、ジェームズ・スターリング
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2020-179438(JP,A)
【文献】国際公開第2020/039616(WO,A1)
【文献】国際公開第2020/022302(WO,A1)
【文献】特開2019-217632(JP,A)
【文献】特開2019-164836(JP,A)
【文献】米国特許出願公開第2020/0361083(US,A1)
【文献】国際公開第2020/119338(WO,A1)
【文献】中国特許出願公開第111331607(CN,A)
【文献】Fu-Jen Chu et al.,Toward Affordance Detection and Ranking on Novel Objects for Real-World Robotic Manipulation,IEEE Robotics and Automation Letters,IEEE,2019年07月23日,Vol. 4, No.4,pages 4070-4077,<DOI: 10.1109/LRA.2019.2930364>
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
B25J 13/08
G06T 7/00
G06V 10/82
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
把持の生成のためのデータ処理装置であって、
カメラによってキャプチャされた物体の画像を表し、深度データを含む画像データを取得し、
把持可能な物体の画像に基づいて、把持動作に関係付けられた複数の独立した結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルとともに前記画像データを処理し、
前記複数の独立した結果に対応する複数のピクセル単位予測を取得し、ここで、各ピクセル単位予測は、前記把持動作に関係付けられた前記複数の独立した結果のうちの所定の結果に対応するピクセル単位確率値を表し、
集約されたピクセル単位予測を取得するために、前記複数のピクセル単位予測を重みづけされた集約を使用して集約し、
前記重みづけされた集約のそれぞれのピクセル単位予測に対応する1つ以上の重みを調整するために強化学習モデルを適用し、
前記物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルの選択のために、前記集約されたピクセル単位予測を出力するように構成されている、データ処理装置。
【請求項2】
前記把持モデルを実装するように構成されている、請求項1に記載のデータ処理装置。
【請求項3】
前記把持動作に関係付けられた前記複数の独立した結果は、
前記物体の成功した把持、
前記物体の成功したスキャン、
前記物体の成功した配置、
別の物体の成功した後続の把持、
前記物体よる別の物体把持の回避、
前記把持動作の停止の回避、のうちの2つ以上を含む、請求項1又は2に記載のデータ処理装置。
【請求項4】
請求項1から3のいずれか一項に記載のデータ処理装置を備えるロボットの把持制御システムであって、
前記把持制御システムは、
前記集約されたピクセル単位予測と、1つ以上のピクセル単位のヒューリスティックマップとを取得し、それぞれは所定のヒューリスティックに対応するピクセル単位のヒューリスティック値を表し、
組み合わされたピクセル単位のマップを取得するように、前記集約されたピクセル単位予測と前記1つ以上のピクセル単位のヒューリスティックマップとを組み合わせるように構成されている、把持制御システム。
【請求項5】
姿勢生成器を備え、前記姿勢生成器は、
前記組み合わされたピクセル単位マップからサンプリングされた1つ以上のピクセルに対応する1つ以上の把持位置を取得し、
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定するように構成されている、請求項4に記載の把持制御システム。
【請求項6】
ロボットの把持制御システムであって、請求項1から3のいずれか一項に記載のデータ処理装置と、姿勢生成器とを備え、
前記姿勢生成器は、
前記ピクセル単位予測における1つ以上の対応する確率値に基づいて、前記集約されたピクセル単位予測から選択された1つ以上のピクセルに対応する1つ以上の把持位置を取得し、
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定するように構成されている、把持制御システム。
【請求項7】
前記姿勢生成器から前記1つ以上の把持姿勢を取得し、前記1つ以上の把持姿勢に基づいて、前記物体を把持するようにロボットマニピュレータを制御するように構成されたコントローラを備える、請求項5又は6に記載の把持制御システム。
【請求項8】
請求項7に記載の把持制御システムと、ロボットマニピュレータとを備える、ロボット。
【請求項9】
前記ロボットマニピュレータは、前記物体を把持するためのエンドエフェクタを備え、前記エンドエフェクタは、ジョーグリッパ、フィンガグリッパ、磁気もしくは電磁グリッパ、ベルヌーイグリッパ、真空吸引カップ、静電グリッパ、ファンデルワールスグリッパ、キャピラリグリッパ、極低温グリッパ、超音波グリッパ、又はレーザグリッパのうちの少なくとも1つを備える、請求項8に記載のロボット。
【請求項10】
コンピュータ実装方法であって、
カメラによってキャプチャされた物体の画像を表し、深度データを含む画像データを取得することと、
把持可能な物体の画像に基づいて、把持動作に関係付けられた複数の独立した結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルとともに前記画像データを処理することと、
前記複数の独立した結果に対応する複数のピクセル単位予測を取得することと、ここで、各ピクセル単位予測は、前記把持動作に関係付けられた前記複数の独立した結果のうちの所定の結果に対応するピクセル単位確率値を表し、
集約されたピクセル単位予測を取得するために、前記複数のピクセル単位予測を重みづけされた集約を使用して集約することと、
前記重みづけされた集約のそれぞれのピクセル単位予測に対応する1つ以上の重みを調整するために強化学習モデルを適用することと、
前記物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルの選択のために前記集約されたピクセル単位予測を出力することとを含む、コンピュータ実装方法。
【請求項11】
前記把持動作に関係付けられた前記複数の独立した結果は、
前記物体の成功した把持と、
前記物体の成功したスキャンと、
前記物体の成功した配置と、
別の物体の成功した後続の把持と、
前記物体による別の物体の把持の回避と、
前記把持動作の停止の回避と、のうちの2つ以上を含む、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記ニューラルネットワークは、過去の把持データ又はシミュレートされた把持データのうちの少なくとも1つでトレーニングされる、請求項10または11に記載のコンピュータ実装方法。
【請求項13】
他の物体を把持することから得られたさらなる把持データに基づいて、前記把持モデルを更新することを含む、請求項10から12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記さらなる把持データに基づいて前記ニューラルネットワークを再トレーニングすることを含む、請求項13に記載のコンピュータ実装方法。
【請求項15】
前記ピクセル単位予測における1つ以上の対応する確率値に基づいて、前記集約されたピクセル単位予測から前記1つ以上のピクセルを選択することと、
前記選択された1つ以上のピクセルに基づいて、ロボットが前記物体を把持するための1つ以上の把持位置を出力することと、を含む、請求項10から14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定することと、
前記物体を把持するように前記1つ以上の把持姿勢を実施するために、前記1つ以上の把持姿勢を前記ロボットに出力することと、を含む、請求項15に記載のコンピュータ実装方法。
【請求項17】
前記集約されたピクセル単位予測と、1つ以上のピクセル単位ヒューリスティックマップとを取得することと、ここで、それぞれは所定のヒューリスティックに対応するピクセル単位ヒューリスティック値を表し、
組み合わされたピクセル単位のマップを取得するために、前記集約されたピクセル単位予測と前記1つ以上のピクセル単位ヒューリスティックマップとを組み合わせることとを含む、請求項10から14のいずれか一項に記載のコンピュータ実装方法。
【請求項18】
前記組み合わされたピクセル単位マップから1つ以上の対応するピクセルをサンプリングすることによって、1つ以上の把持位置を取得することと、
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定することとを含む、請求項17に記載のコンピュータ実装方法。
【請求項19】
前記ニューラルネットワークは、完全畳み込みニューラルネットワークを含む、請求項10から18のいずれか一項に記載のコンピュータ実装方法。
【請求項20】
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行された結果として、コンピュータシステムに、請求項10から19のいずれか一項に記載の方法を実行させる実行可能命令を記憶するコンピュータ読取可能メモリとを備える、コンピュータシステム。
【請求項21】
1つ以上のプロセッサによって実行される場合、前記1つ以上のプロセッサに、請求項10から19のいずれか一項に記載の方法を実行させる命令のセットを記憶した、機械読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット制御システムに関し、より具体的には、把持の生成において使用するためのシステム及び方法に関する。
【背景技術】
【0002】
ロボット自動化は、タスクを実行するときに生産性、安全性、及び経済性を改善することができる分野である。物体を操作するロボットの場合、把持姿勢を生成することは、タスクの重要な構成要素であることが多い。例えば、ロボットは、物体を観察し、ロボットが物体をピックアップすることができるように、(位置及び配向、例えば、「姿勢」に従って)グリッパをどこに位置付けるべきかを決定してもよい。個々の把持の安定性は、他の要因の中でもとりわけ、物体及びグリッパ幾何学形状、物体質量分布、ならびに表面摩擦に依存するかもしれない。物体の周りの幾何形状は、ロボットマニピュレータをシーン内の他の物体と衝突させることなく到達可能な把持点を制限することによって、追加の制約を課すことができる。一部の例では、この問題は、物体の周囲の有望な把持点を選択するために、幾何学的に着想されたヒューリスティックスによってアプローチされ、場合によっては、サンプリングされた把持の安定性及び到達可能性のより詳細な幾何学的分析が後に続く。しかしながら、これらのアプローチの多くは、把持される物体の完全な3Dモデルの利用可能性に依存しており、これは、現実的なピッキングシナリオにおいて厳しい制限となることがある。したがって、把持決定の改善された方法が必要とされる。
【発明の概要】
【0003】
把持の生成のためのデータ処理装置が設けられ、カメラによってキャプチャされた物体の画像を表す、深度データを備える画像データを取得し、把持可能な物体の画像に基づいて、独立して把持動作に関係付けられた複数の結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルに前記画像データを提供し、複数の結果に対応する複数のピクセル単位予測を取得し、各ピクセル単位予測は、把持動作に関係付けられた複数の結果のうちの所定の結果に対応するピクセル単位確率値を表し、集約されたピクセル単位予測を取得するために、複数のピクセル単位予測を集約し、物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルのそこからの選択のために、集約されたピクセル単位予測を出力するように構成されている。
【0004】
コンピュータ実装方法がさらに提供され、カメラによってキャプチャされた物体の画像を表す、深度データを含む画像データを取得することと、把持可能な物体の画像に基づいて、独立して把持動作に関係付けられた複数の結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルに前記画像データを提供することと、複数の結果に対応する複数のピクセル単位予測を取得することと、各ピクセル単位の予測は、把持動作に関係付けられた複数の結果のうちの所定の結果に対応するピクセル単位確率値を表し、集約されたピクセル単位予測を取得するために、複数のピクセル単位予測を集約することと、物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルのそこからの選択のために集約されたピクセル単位予測を出力することとを含む。
【0005】
1つ以上のプロセッサと、1つ以上のプロセッサによって実行された結果として、コンピュータシステムに、前述の方法を実行させる実行可能命令を記憶するコンピュータ読取可能メモリとを備えるコンピュータシステムも提供される。同様に、機械読取可能媒体が提供され、機械読取可能媒体は、1つ以上のプロセッサによって実行される場合、前記1つ以上のプロセッサに、前述の方法を実行させる命令のセットを記憶している。
【0006】
一般論として、本説明は、ニューラルネットワークを含む把持モデルを使用して、把持結果のセット内の対応する把持結果に対するピクセル単位予測(例えば、スコアマップ又はヒートマップ)を取得するシステム及び方法を紹介する。ピクセル単位の予測は、例えば、ピクセル単位予測をサンプリングして、ロボットのタスク空間における把持姿勢(例えば、6自由度を伴う)が生成されることができる2次元把持位置を取得することによって、把持の生成において使用するための単一の集約されたピクセル単位予測として出力される。把持予測のセットを単一の集約されたピクセル単位予測として提供することによって、シーンに関連するヒューリスティックデータ及び/又はセグメンテーションデータなどの他のピクセル単位のデータを、把持位置候補としてピクセルのスコアリングに組み込むことができる。さらに、強化学習技術を適用して、2つのレベルのうちの少なくとも1つにおいて、たとえば、ピクセル単位予測を単一の集約されたピクセル単位予測に集約する際に、及び/又は単一の集約されたピクセル単位予測を追加のピクセル単位データと集約する際に、重みを調整することができる。したがって、本明細書で説明される把持モデルは、ロボットのための把持パイプラインにおいて実装され、マクロレベルでのロボットの性能メトリック、例えばロボットの速度又はスループットを改善するように調整されることができる。
【0007】
実施形態が、添付の図面を参照して単なる例として説明され、同様の参照番号は、同一又は対応する部分を示す。
【図面の簡単な説明】
【0008】
図1図1は、例によるロボットピッキングシステムの概略図である。
図2図2は、例による把持モデルの入力データ及び出力データの概略図である。
図3A図3Aは、例による把持モデルの入力データ及び出力データの概略図である。
図3B図3Bは、例による複数のピクセル単位予測の集約の概略図である。
図4図4は、例による把持モデルの一部として用いられるニューラルネットワークの概略図である。
図5図5は、プロセスフローチャートである。
【発明を実施するための形態】
【0009】
図面において、同様の特徴は、必要に応じて同様の参照符号によって示される。
【0010】
以下の説明において、いくつかの特定の詳細が、さまざまな開示された実施形態の十分な理解を提供するために含められる。しかしながら、当業者は、実施形態が、これらの特定の詳細のうちの1つ以上を伴わずに、又は他の方法、構成要素、材料等を伴って、実施されてもよいことを認識するであろう。場合によっては、開示される実施形態の説明を不必要に不明瞭にすることを避けるために、プロセッサ、センサ、記憶デバイス、ネットワークインターフェース、ワークピース、引張部材、締結具、電気コネクタ、ミキサなどの、グリッパアセンブリ及び/又はロボットマニピュレータに関係付けられた周知の構造は、詳細に図示又は説明されない。
【0011】
文脈上必要な場合を除き、本明細書及び添付の特許請求の範囲の全体を通して、「含む(comprise)」という語、並びに「含む(comprises)」及び「含む(comprising)」などのその変形は、「含むが、これらに限定されない」というオープンで包括的な意味で解釈されるべきである。
【0012】
本明細書の全体にわたる「1つの実施形態」、「実施形態」、「1つの例」、又は「例」への参照は、実施形態、例、又は実装形態に関連して説明される特定の参照特徴、構成、又は特性が、少なくとも1つの実施形態又は実装形態に含まれることを意味する。よって本明細書の全体にわたる様々な箇所における「1つの実施形態において」又はこれに類するものの句の出現は、必ずしもすべて同じ実施形態を指すわけではない。さらに、特定の特徴、構造、又は特性は、1つ以上の実施形態、例、又は実装形態において任意の適切な方法で組み合わされてもよい。
【0013】
本明細書及び付属の特許請求の範囲において使用されるように、「a」、「an」及び「the」といったユーザフォームは、そうでないことが内容から明示されない限り、複数形の指示対象を含むことに留意すべきである。したがって、例えば、「フィンガ要素」を含むグリッパアセンブリへの言及は、1つのフィンガ要素又は2つ以上のフィンガ要素を含む。用語「又は」は、そうではないことが内容から明示されない限り、一般的に、「及び/又は」を含む意味で用いられることに留意すべきである。
【0014】
図1を参照すると、本アセンブリ、デバイス、及び方法とともに使用するように適合されてもよいようなロボットピッキングシステム100の例が図示されている。ロボットピッキングシステム100は、オンライン食料品小売動作などのオンライン小売動作の一部を形成することができるが、アイテムのピッキング及び/又は仕分けを必要とする任意の他の動作に適用することもできる。
【0015】
この例では、ロボットピッキングシステム100は、ロボットマニピュレータ121を備えるマニピュレータ装置102を含む。ロボットマニピュレータ121は、例えば、第1の場所からアイテムをピッキングし、アイテムを第2の場所に配置するように構成される。
【0016】
マニピュレータ装置102は、通信インターフェース104を介して、ロボットピッキングシステム100の他の構成要素、例えば、1つ以上の任意選択のオペレータインターフェース106に通信可能に結合され、そこから、観察者は、システム100及びマニピュレータ装置102の動作を観察又は監視することができる。オペレータインターフェース106は、WIMPインターフェースと、文脈又はシナリオにおけるマニピュレータ装置102の説明文又は動的表現の出力表示とを含んでもよい。例えば、マニピュレータ装置102の動的表現は、ビデオ及びオーディオフィード、例えばコンピュータ生成アニメーションを含んでもよい。適切な通信インターフェース104の例は、ワイヤベースのネットワークもしくは通信インターフェース、光ベースのネットワークもしくは通信インターフェース、ワイヤレスネットワークもしくは通信インターフェース、又はワイヤード、光、及び/もしくはワイヤレスネットワークもしくは通信インターフェースの組み合わせを含む。
【0017】
ロボットピッキングシステム100は、通信インターフェース104を介してマニピュレータ装置102及びロボットピッキングシステム100の任意の他の構成要素に通信可能に結合された少なくとも1つのコントローラ110を含む制御システム108をさらに備える。コントローラ110は、1つ以上の電子プロセッサを有する制御ユニット又は計算デバイスを備える。1つ以上のプロセッサ内に埋め込まれているのは、プロセッサ実行可能データとして提供される制御命令のセットを含むコンピュータソフトウェアであり、プロセッサ実行可能データは、実行されるとき、コントローラ110に、マニピュレータシステム102への作動コマンド又は制御信号を発行させる。例えば、作動コマンド又は制御信号は、マニピュレータ121に、アイテムの識別及び操作などの様々な方法及び動作を実行させる。
【0018】
1つ以上の電子プロセッサは、1つ以上のマイクロプロセッサ、中央処理ユニット(CPU)、デジタル信号プロセッサ(DSP)、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、プログラム論理ユニット(PLUS)などの少なくとも1つの論理処理ユニットを含むことができる。いくつかの実装形態では、コントローラ110は、モバイルフォン、シングルボードコンピュータ、組込みコンピュータなどのより小さいプロセッサベースのデバイスであり、これらは、コンピュータ、サーバ、又はアナライザと互換的に呼ばれるか、又は言及されることがある。制御命令のセットは、ロボットピッキングシステム100の一部を形成し、通信インターフェース104を介してコントローラ110にアクセス可能である非一時的コンピュータ読取可能記憶デバイス112に含まれるシステム100及びマニピュレータ装置102の動作に関係付けられたプロセッサ実行可能データとして提供されてもよい。
【0019】
いくつかの実装形態において、記憶デバイス112は、2つ以上の個別のデバイスを含む。記憶デバイス112は、例えば、1つ以上の揮発性記憶デバイス、例えばランダムアクセスメモリ(RAM)と、1つ以上の不揮発性記憶デバイス、例えばリードオンリーメモリ(ROM)、フラッシュメモリ、磁気ハードディスク(HDD)、光ディスク、ソリッドステートディスク(SSD)などを含むことができる。記憶装置は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、ネットワークドライブ、フラッシュメモリ、デジタル多用途ディスク(DVD)、任意の他の形態のコンピュータ及びプロセッサ読取可能メモリもしくは記憶媒体、ならびに/又はそれらの組合せなど、様々な方法で実装されてもよいことを当業者は理解するだろう。記憶装置は、必要に応じて読み取り専用又は読み書きであることがある。
【0020】
ロボットピッキングシステム100は、マニピュレータ装置121の状況又は状態を、及び/又はマニピュレータ102が動作する環境又は作業空間における状況を、検出、感知、又は測定し、対応するセンサデータ又は情報を生成又は提供する1つ以上のセンサを備えるセンササブシステム114を含む。センサ情報は、マニピュレータ121の作業空間内の環境状況を表す環境センサ情報、ならびに様々なサブシステム及びその構成要素を含むマニピュレータ装置102の状況又は状態、ならびに操作されるアイテムの特性を表す情報を含む。取得されたデータは、通信インターフェース104を介してコントローラ110に送信され、それに応じてマニピュレータ121に指示することができる。そのような情報は、例えば、マニピュレータ装置102又はマニピュレータ121が動作する環境の状況又は状態を診断するのに有用な診断センサ情報を含むことができる。
【0021】
そのようなセンサは、例えば、1つ以上のカメラ又は撮像装置116(例えば、赤外線及び紫外線を含む電磁スペクトルの可視及び/又は非可視範囲で応答する)を含む。センササブシステム114の他のセンサは、接触センサ、力センサ、歪みゲージ、振動センサ、位置センサ、姿勢センサ、加速度計、レーダ、ソナー、ライダ、タッチセンサ、圧力センサ、ロードセル、マイクロフォン118、気象センサ、化学センサなどのうちの1つ以上を含んでもよい。いくつかの実装形態では、センサは、マニピュレータ装置102内のオンボード電源(例えば、バッテリアレイ、ウルトラキャパシタアレイ、燃料電池アレイ)の状態及び/又は健全性を監視する診断センサを含む。
【0022】
いくつかの実装形態では、1つ以上のセンサは、マニピュレータ121に関する位置及び/又は配向情報を受信するための受信機を備える。例えば、GPSデータや、飛行時間、信号強度、又は位置測定を達成するための他のデータ等の信号内のデータに基づいて位置測定を生成するためのコントローラ110のための2つ以上の時間信号を受信するためのグローバルポジショニングシステム(GPS)受信機である。また、例えば、マニピュレータ装置102の一部を形成してもよい1つ以上の加速度計をマニピュレータ121に設けて、その動きに関する1つ、2つ、又は3つの軸における慣性データ又は方向データを取得することができる。
【0023】
システム100のロボットマニピュレータ121は、オペレータインターフェース106において人間オペレータによって操縦されてもよい。人間オペレータ制御又は操縦モードでは、人間オペレータは、センサデータ、例えば、センササブシステム114の1つ以上のセンサから受信されたビデオ、オーディオ、又は触覚データの表現を観察する。次いで、人間のオペレータは、データの表現の知覚によって条件付けられて行動し、それに応じてマニピュレータ121に指示するための情報又は実行可能な制御命令を作成する。操縦モードでは、マニピュレータ装置102は、感知された情報に基づく他の制御命令を考慮することなく、オペレータインターフェース106から受信した制御命令をリアルタイムで(例えば、遅延を追加することなく)実行することができる。
【0024】
いくつかの実装形態では、マニピュレータ装置102は自律的に動作する。すなわち、人間のオペレータが、マニピュレータ121を方向付けるための制御命令をオペレータインターフェース106において作成することなく行われる。マニピュレータ装置102は、自律制御命令を実行することによって自律制御モードで動作することができる。例えば、コントローラ110は、センササブシステム114の1つ以上のセンサからのセンサデータを使用することができ、センサデータは、マニピュレータ装置102がパイロットモードにあった1回以上からのオペレータ生成制御命令に関係付けられて、その後の使用のための自律制御命令を生成する。例えば、ディープラーニング技術を使用してセンサデータから特徴を抽出することにより、自律モードにおいて、マニピュレータ装置102は、その環境及び操作されるアイテムにおける特徴又は状態を自律的に認識し、それに応じて、定義された動作、動作のセット、タスク、又はタスクのパイプライン若しくはシーケンスを実行する。いくつかの実装形態では、コントローラ110は、センササブシステム114からのセンサデータ及び環境に合成された1つ以上の仮想アイテムによって表される、マニピュレータ121を取り囲む環境内の特徴及び/又は状態を自律的に認識し、表現が提示されたことに応答して、マニピュレータ装置102に制御信号を発行して、1つ以上のアクション又はタスクを実行する。
【0025】
場合によっては、マニピュレータ装置102は、ある時点では自律的に制御され、別の時点では人間のオペレータによって操縦、操作、又は制御されてもよい。すなわち、自律制御モード下で動作し、操縦モード(すなわち、非自律)下で動作するように変更する。別の動作モードでは、マニピュレータ装置102は、人間オペレータ制御(又は操縦)モードで以前に実行された制御命令を再生又は実行することができる。すなわち、マニピュレータ装置102は、再生された操縦データに基づいてセンサデータなしで動作することができる。
【0026】
マニピュレータ装置102は、バス126に通信可能に結合され、通信インターフェース104を介してシステム100の他の構成要素(例えば、コントローラ110)との双方向通信を提供する通信インターフェースサブシステム124(例えば、ネットワークインタフェースデバイス)を更に含む。通信インターフェースサブシステム124は、プロセッサ読取可能データ及びプロセッサ実行可能命令の双方向通信に影響を及ぼす任意の回路、例えば、無線機(例えば、無線又はマイクロ波周波数送信機、受信機、送受信機)、通信ポート、及び/又は関係付けられたコントローラであってもよい。適切な通信プロトコルは、FTP、HTTP、ウェブサービス、XMLを有するSOAP、WI-FI(登録商標)準拠、BLUETOOTH(登録商標)準拠、セルラ(例えば、GSM(登録商標)、CDMA)などを含む。
【0027】
マニピュレータ121は、ロボットアーム120などの1つ以上の付属物と、ロボットアーム120の端部に取り付けられたグリッパアセンブリ又はエンドエフェクタ122とを備えるエレクトロメカニカルマシンである。エンドエフェクタ122は、例えば、アイテムをつかむ、把持する、解放可能に係合する、又は別様に相互作用することを含む、いくつかのタスクを行うために、環境と相互作用するように構成される、複雑な設計のデバイスである。エンドエフェクタ122の例は、ジョーグリッパ、フィンガグリッパ、磁気又は電磁グリッパ、ベルヌーイグリッパ、真空吸引カップ、静電グリッパ、ファンデルワールスグリッパ、キャピラリグリッパ、極低温グリッパ、超音波グリッパ、及びレーザグリッパを含む。
【0028】
マニピュレータ装置102は、ロボットアーム120及びエンドエフェクタ122に通信可能に結合された運動サブシステム130を更に含む。運動サブシステム130は、コントローラ110によって発行される作動コマンド又は制御信号に従って、ロボットアーム120及び/又はエンドエフェクタ122を運動の範囲内で移動させるように動作可能な、1つ以上のモータ、ソレノイド、他のアクチュエータ、リンケージ、駆動ベルト等を備える。メモリサブシステム130は、バス126を介して制御装置110に通信可能に結合される。
【0029】
マニピュレータ装置102は、例えば、オペレータ及び/又は別のマニピュレータ装置102と通信するために、マニピュレータ装置102が作業空間に信号を送信することを可能にするスピーカ、ライト、又はディスプレイなどの1つ以上の出力デバイスを備える出力サブシステム128も含む。
【0030】
当業者であれば、マニピュレータ装置102内の構成要素は、変更、組み合わせ、分割、省略等が可能であることを理解するであろう。いくつかの例では、通信インターフェースサブシステム124、出力サブシステム128、及び/又は運動サブシステム130のうちの1つ以上が組み合わせられてもよい。他の例では、サブシステムのうちの1つ以上(例えば、運動サブシステム130)は、さらなるサブシステムに分割される。
【0031】
図2は、把持モデル200の概略入力及び出力パイプラインを示す。把持モデル200は、先の例のロボットピッキングシステム100によって実行される把持動作の一部として実装されてもよい。例えば、制御システム108は、マニピュレータシステム102に作動コマンド又は制御信号を発行するように構成された把持制御システム、例えば、図1を参照して説明したコントローラ110を備える。把持制御システムは、例えば、把持モデル200に通信可能に結合された1つ以上のプロセッサを含む。
【0032】
把持モデル200は、把持可能な物体の画像に基づいて把持動作に関係付けられた複数の結果を予測するようにトレーニングされたニューラルネットワークを含む。例えばRGB-Dデータのような深度データを含む画像データは、画像データを処理して複数の結果に対する独立した予測を生成する把持モデル200に入力される。言い換えれば、同じ把持モデル200(トレーニングされたニューラルネットワークを含む)は、把持動作に関係付けられた対応する結果のセットに対する複数の独立した予測を生成するように構成される。例では、把持モデル200は、学習された完全畳み込みネットワーク(FCN)を含む。そのような場合、把持モデル200は、完全畳み込み把持(FCG)モデルと呼ばれることがある。
【0033】
図2は、把持モデル200への入力として、3つの色(赤、緑、青)チャネル及び深度チャネルを含む例示的なRGB-D画像210を示す。画像210は、ピッキングロボットの作業空間内の複数の物体を示す。把持モデル200は、(RGB-D)画像データを処理して、複数の結果に対応する複数のピクセル単位予測を生成するように構成される。ピクセル単位予測は、ピクセル単位予測マップ(又は「ヒートマップ(heat map)」)220として表現可能である。ヒートマップ220の各々は、把持動作に関係付けられたそれぞれの結果に対応する生成されたピクセル単位の確率値の視覚化である。
【0034】
把持動作に関係付けられた結果のセットは、物体の成功した把持、物体の成功したスキャン、物体の成功した配置、別の物体の成功した後続の把持、物体による別の物体を把持の回避、及び把持動作の停止の回避のうちの2つ以上を含んでもよい。例えば、物体の成功した把持は、アイテムを落下させることなく、ロボットマニピュレータが物体に対する把持動作又は把持デューティサイクル(例えば、第1の場所で物体をピッキングすること、物体を第2の場所に移動させること、及び物体を第2の場所に配置することを含む)を完了することに対応する。物体の配置前に、物体がマニピュレータ、例えばマニピュレータのエンドエフェクタから落下したことを検出することは、例えばアイテムを落下させることを構成する。マニピュレータ又はそのエンドエフェクタは、ピッキングされたアイテムとの接触を検出するように構成された少なくとも1つの接触センサを含むことができる。したがって、アイテムが落下したことの検出は、少なくとも1つの接触センサからのフィードバックに基づいて決定されてもよい。物体の成功した配置は、例えば、予め定められた閾値距離内の位置における物体の配置、又は物体の配置がターゲット配置エリア内でどの程度中心にあるかの尺度に対応する。物体の成功したスキャンは、例えば、把持動作又はデューティサイクル中の物体上の識別マーカ(例えば、バーコード)の登録された又は完了したスキャンに対応する。別の物体を同時に把持すること、例えば「ダブルピック」を回避することは、例えば把持動作又はデューティサイクル中にダブルピックの検出が行われなかったという決定に対応する。把持動作を停止することの回避は、把持動作又はデューティサイクルの停止が把持動作又はデューティサイクル中に生じなかったという決定に対応してもよい。例えば、保護ストップ又は「pストップ」は、ロボットを例えば損傷から保護するために、把持動作中にロボットコントローラによってトリガされてもよい。他の場合には、把持動作は、ロボットが例えば予め定められた時間閾値内に把持動作を完了できないことに起因して停止されてもよい。
【0035】
図3Aは、把持動作の一部としての把持の生成のための把持モデル200の入力及び出力の別の例を示す。色データ311及び深度データ312を含む画像データ310は、トレーニングされたニューラルネットワークを含む把持モデル200に入力され、把持動作のための複数の独立したピクセル単位予測320を生成する。把持動作に関係付けられた5つの異なる結果に対応する5つの出力ピクセル単位ヒートマップ320を示す図3Aの例では、5つのピクセル単位予測が生成されている。
【0036】
図3Bは、複数のピクセル単位ヒートマップを集約されたピクセル単位ヒートマップに集約する例を示しており、図3Aの例において生成された5つのヒートマップ320は、単一のピクセル単位予測330に集約される。例では、加重和が集約のために使用されるが、他のピクセル単位集約方法、例えば加重積が可能である。重み付けされたピクセル単位の集約が使用される場合、それぞれのピクセル単位予測、例えばヒートマップに対応する重みは、強化学習方法(後述)を介して予め決定又は調整されることができる。
【0037】
集約されたピクセル単位ヒートマップ330は、物体を把持するための把持姿勢の生成の基礎となる把持位置をそこから選択するために使用されてもよい。例えば、集約されたピクセル単位のヒートマップ330は、候補把持位置に対応するピクセルを取得するために、確定的に(例えば、貪欲アルゴリズムを介して)又は確率的に(例えば、集約されたピクセル単位のヒートマップ330から導出される確率分布などの確率分布ごとに)サンプリングされることができる。
【0038】
[ニューラルネットワーク]
図4は、把持モデル200の一部として実装するためのニューラルネットワークアーキテクチャの例を示す。例示的なニューラルネットワーク400は、完全畳み込みニューラルネットワーク(FCN)である。FCNの例は、フライブルグ大学のコンピュータサイエンス学部によって開発されたU-Netアーキテクチャであるが、他のFCN及び畳み込みニューラルネットワーク(CNN)、例えば、VGG-16ネットワークアーキテクチャが使用可能である。FCN400への入力401は、この例では、深度データを含む画像データを含む。入力画像データ401は、所定の数のピクセル幅及び所定の数のピクセル高さであり、1つ以上の色チャネル(たとえば、赤色チャネル、緑色チャネル、及び青色チャネル)と深度チャネルとを含む。FCN400の畳み込み層402は、典型的には、入力データ401から特定の特徴を抽出して特徴マップを作成し、画像の小部分に対して動作してもよい。
【0039】
図4の例において、畳み込み層402のうちの少なくとも1つの畳み込み層の出力は、畳み込み層402のシーケンス内の次の畳み込み層に入力される前に、例えばプーリング層においてプーリングを受ける。プーリングは、例えば、画像又は特徴マップの領域に対する値が、例えば領域内の最高値をとることによって、集約又は組み合わされることを可能にする。例えば、2×2最大プーリングでは、所定の畳み込み層から出力された特徴マップの2×2ピクセルパッチ内の所定の畳み込み層の出力の最高値が、出力全体を転送するのではなく、層のセット402内の後続の畳み込み層への入力として使用される。したがって、プーリングは、ニューラルネットワーク400の後続の層のための計算の量を低減することができる。プーリングの効果は、関連する層におけるフレームのサイズの低減として図4に概略的に示される。図4のニューラルネットワーク400の概略図は、説明を容易にするために大幅に簡略化されており、典型的なニューラルネットワークは、著しくより複雑であり得ることを理解されたい。たとえば、ニューラルネットワーク400は、1つ以上のアップサンプリング(たとえば、アップ畳み込み)層及び/又は1つ以上のスキップ(又は「ショートカット」)接続を含む。一般に、把持モデル200に使用されるニューラルネットワークアーキテクチャは、全接続層を利用しない。例えば、U-Netアーキテクチャは、スキップ接続と共に、畳み込み、プーリング、及びアップサンプリング層のみを使用する。事前トレーニングされたアーキテクチャ(例えば、VGG-16)が使用される場合、出力予測マップ(例えば、ヒートマップ)が入力画像と同じ次元を有することを確実にするために、畳み込み「バックボーン」(例えば、特徴抽出層のセット)のみが適切な修正(例えば、追加層)とともに使用される。
【0040】
一般に、図4のFCN400などのニューラルネットワークは、ニューラルネットワークが特定の目的のためにトレーニングされる「トレーニングフェーズ」と呼ばれるものを受けてもよい。ニューラルネットワークは、典型的に、有向重み付きグラフを形成する相互接続された人工ニューロンの層を含み、グラフの頂点(ニューロンに対応する)又は辺(接続に対応する)がそれぞれ重みに関係付けられる。重みは、トレーニング全体を通して調整され、個々のニューロンの出力、したがってニューラルネットワーク全体の出力を変更することができる。物体分類のためにCNNを使用することとは対照的に、把持モデルのFCNは、特定の結果のピクセル単位予測を行うように構成される。
【0041】
本文脈では、ニューラルネットワーク400は、画像データを処理することによって把持結果を予測するように、例えば、それぞれの把持結果に対応するピクセル単位の確率値を決定するようにトレーニングされる。このようにしてニューラルネットワーク400をトレーニングすることは、たとえば、入力画像データに適用されるべき重みを表す重みデータを生成する(たとえば、異なる重みが多層ニューラルネットワークアーキテクチャの異なるそれぞれの層に関係付けられる)。これらの重みの各々は、例えば、重みのカーネルを画像パッチと畳み込むために、画像パッチの対応するピクセル値によって乗算される。
【0042】
把持予測のコンテキストに特有に、ニューラルネットワーク400は、ロボットを用いて実行される把持の数を含むトレーニングデータセットを用いてトレーニングされる。データセット内の各「把持」は、把持前のロボットのタスク空間(例えば、ビン)の、深度データを含む、キャプチャされた画像と、世界座標内の把持姿勢と、世界座標から画像のピクセル座標へのマッピングと、結果として生じる測定結果(例えば、把持成功、バーコードスキャン成功等)とを備える。入力画像が与えられると、FCGモデルは、予測された結果ごとに1つのチャネルを有する入力画像と同じ次元の出力予測、たとえばヒートマップを生成する。例えば、出力ヒートマップ内の所定のピクセル(把持位置に対応する)は、把持がそのピクセルのすぐ近くで実行される場合、各結果の把持モデルの予測確率を表すベクトルに関係付けられる。ベクトルの各成分は、例えば、対応する結果の予測確率を含む。トレーニング手順は、トレーニングデータセットにおいて見られるような把持位置に対応するピクセルにおける結果の尤度を増加させる、例えば、最大化する。いったんトレーニングされると、ニューラルネットワーク400は、ネットワーク400がトレーニングされた把持結果のいずれかに対応するピクセル単位の確率値を予測するために使用されることができる。
【0043】
例では、把持モデル200に通信可能に結合された把持制御システムの1つ以上のプロセッサは、画像データを取得して把持モデル200に提供し、生成されたピクセル単位予測を受信するように構成される。1つ以上のプロセッサは、ピクセル単位予測を集約し、物体を把持するための1つ以上の把持姿勢を生成する把持位置のそこからのからの選択のために、集約されたピクセル単位予測を出力する。いくつかの実装形態では、制御システム108の1つ以上のプロセッサは、把持モデル200をローカルに実装する。
【0044】
[ヒューリスティック]
いくつかの実装形態では、把持制御システムは、集約されたピクセル単位予測マップ330を取得し、それを1つ以上のピクセル単位ヒューリスティックマップと組み合わせるように構成される。ピクセル単位ヒューリスティックデータは、例えば、所定のヒューリスティックに対応するピクセル単位ヒューリスティック値を表す。そのようなヒューリスティックデータは、高さデータ、表面データ(例えば、表面法線データ)、画像セグメンテーションデータ、又は把持モデル200が予測するようにトレーニングされる把持データとは別個の任意の他のヒューリスティックデータを含んでもよい。したがって、ピクセル単位の把持予測データを生成するように構成されている把持モデル200は、他のピクセル単位のデータ、例えば、ピクセルマップをそれと組み合わせることを可能にする。把持制御システムは、集約されたピクセル単位予測(例えば、集約ヒートマップ)を1つ以上のピクセル単位のヒューリスティック(例えば、ヒューリスティックヒートマップ)と組み合わせて、組み合わされたピクセル単位のマップを取得する。
【0045】
[把持の生成」
いくつかの実装形態では、ロボットシステム100のコントローラ110は、把持姿勢を生成(例えば、決定又は推定)するように構成された姿勢生成器(又は姿勢推定器)と協働する。姿勢情報は、位置、向き、又はその両方を表すプロセッサ読取可能情報を含む。各把持姿勢は、物体を把持するためのロボットマニピュレータ121の6次元(6D)姿勢を備え、6次元は、物体の3つの並進次元及び回転配向を含む。
【0046】
1つ以上の把持位置を姿勢生成器に入力して、1つ以上の把持位置に基づいて1つ以上の把持姿勢を生成することができる。1つ以上の把持位置は、集約されたピクセル単位予測又は組み合わされたピクセル単位マップ(1つ以上のピクセル単位ヒューリスティックが集約されたピクセル単位予測と組み合わせられる)から選択された1つ以上のピクセルに対応する。例えば、1つ以上のピクセルは、先の例で説明したように、例えば確定的に又は確率的に、関連するピクセル単位マップからサンプリングされる。画像内のピクセル位置に基づいて、例えば6つの自由度を有する把持姿勢を決定することは、ヒューリスティックに(例えば、トップダウンアプローチ、表面法線等を使用して)、又は姿勢推定のために構成されたトレーニングされたニューラルネットワークを使用して行われることができる。例えば、把持姿勢を決定することは、画像内の2次元ピクセル位置を6次元姿勢にマッピングすることを伴う。
【0047】
コントローラ110は、例えば、姿勢生成器から1つ以上の生成された把持姿勢を取得し、それに基づいてロボットマニピュレータを制御する。例では、1つ以上の把持姿勢は、それらの対応するピクセル値、例えば、集約されたピクセル単位予測におけるピクセル単位確率値、又はヒューリスティックデータを組み込んだ、組み合わされたピクセル単位マップにおける組み合わされた「スコア」に従ってランク付けされる。したがって、コントローラ110は、ランク付けされた順序で1つ以上の把持姿勢に従ってマニピュレータ121に物体を把持させるために、作動コマンド又は制御信号を発行することができる。
【0048】
図5は、把持の生成のための対応するコンピュータ実装プロセスを描写する、フローチャートを示す。例えば、プロセスは、前の例における把持モデル200に通信可能に結合された把持制御システムのプロセッサなどの1つ以上のプロセッサによって実行可能な命令に符号化されてもよい。実行可能命令は、コンピュータ読取可能メモリ、例えば、記憶装置112に、又は電気、磁気、もしくは光記憶媒体などの機械読取可能媒体に記憶される。
【0049】
プロセス500は、カメラによってキャプチャされた物体の画像を表す、深度データを備える画像データを取得すること501から始まる。(例えば、2Dにおける)画像内のピクセル座標を(例えば、3Dにおける)世界座標にマッピングする際に使用するために、1つ以上のカメラパラメータ(例えば、焦点距離などの内部パラメータ、及び/又は世界座標におけるカメラの姿勢などの外部パラメータ)も取得される。画像データは、把持可能な物体の画像に基づいて、独立して把持動作に関係付けられた複数の結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルに提供される502。次いで、複数の結果に対応する複数のピクセル単位予測が取得される503。例えばヒートマップとして視覚化可能な各ピクセル単位予測は、把持動作に関係付けられた複数の結果のうちの所定の結果に対応するピクセル単位の確率値を表す。先のシステム実装形態において説明された把持動作に関係付けられた例示的な結果は、ここでも適用される。
【0050】
次に、集約されたピクセル単位予測、例えばヒートマップを取得するために、複数のピクセル単位予測を集約する504。プロセス500は、物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルをそこから選択するために、集約されたピクセル単位予測を出力すること505で終了する。したがって、プロセス500は、例えば、把持の生成パイプラインの一部として、アイテムが把持され、何らかの他のタスク(又は複数のタスク)のために使用される任意のロボットシステムに適用されることができ、これらの下流タスクの結果は、結果として生じるデータが把持モデルのためのトレーニングデータとして使用されることができるように、測定及び定量化されることができる。言い換えれば、アイテムを把持することは、それ自体の目的ではなく、実際には、物体は、それとともに何か他のことを行うためにピッキングされることが多い(例えば、コーヒーをかき混ぜるためにスプーンをピックアップする)。
【0051】
いくつかの実装形態では、プロセス500は、複数の結果を独立して予測するために、ニューラルネットワークを備える把持モデルを使用して、画像データを処理することを伴う。複数の結果に対応する複数のピクセル単位予測は、例えば、プロセス500の一部として把持モデルによって生成される。
【0052】
例では、プロセス500は、ピクセル単位予測における1つ以上の対応する確率値に基づいて、集約されたピクセル単位予測から1つ以上のピクセルを選択すること、たとえばサンプリングすることを伴う。例えば、1つ以上の選択されたピクセルに対応する1つ以上の把持位置は、ロボットがそれに基づいて物体を把持するために出力される。例えば、1つ以上の把持姿勢は、1つ以上の把持位置に基づいて生成される。1つ以上の把持姿勢は、物体を把持するために1つ以上の把持姿勢を実装するためにロボットに出力されてもよい。
【0053】
他の例では、プロセス500は、集約されたピクセル単位予測に加えて、各々が所定のヒューリスティックに対応するピクセル単位のヒューリスティック値を表す1つ以上のピクセル単位のヒューリスティックマップを取得することを伴う。1つ以上のピクセル単位のヒューリスティックマップは、例えば、組み合わせられたピクセル単位のマップを得るために、集約されたピクセル単位予測と組み合わせられる。そのような場合、把持姿勢の生成又は推定は、組み合わされたピクセル単位マップから1つ以上の対応するピクセルをサンプリングすることによって、1つ以上の把持位置を取得することを伴う。1つ以上の把持姿勢は、次いで、1つ以上の把持場所に基づいて生成又は推定され、実装形態のためにロボットに出力されることができる。
【0054】
把持モデルのニューラルネットワークは、例えば、ハンドアノテートされた把持データの代わりに、例えば、履歴把持データ又はシミュレートされた把持データのうちの少なくとも1つに基づいてトレーニングされる。例えば、履歴把持データは、所定の把持ポリシーを使用して、例えば教師あり方式で、例えば生産設定において把持ロボットの実装形態中に収集される。追加的に又は代替的に、ロボットの把持がシミュレートされてもよく、例えば、ロボットマニピュレータのコントローラが把持のための実際の制御信号又は作動コマンドを発行するが、これらは、シミュレートされた環境において動作するシミュレートされたマニピュレータによって実装される。
【0055】
把持モデル、例えばニューラルネットワークは、プロセス500の一部としてさらなる物体を把持することから取得されたさらなる把持データに基づいて更新されてもよい。例えば、把持モデルがライブ環境において、例えば産業又は生産環境において実装される場合、ライブ把持の命令及び結果を収集して、把持モデルを更新するためのトレーニングセットに追加することができる。例えば、ニューラルネットワークは、ロボットの実装形態中に収集された新しい把持データを使用して、例えば反復的に、再トレーニングされることができる。
【0056】
いくつかの実装形態では、強化学習(RL)モデルは、RLモデルへの特徴入力として、複数の結果に対応する複数のピクセル単位予測を使用して適用される。たとえば、重み付けされた集約が複数のピクセル単位予測のピクセル単位集約に使用される場合、ピクセル単位予測のセット内のそれぞれのピクセル単位予測(たとえば、ヒートマップ)に対応する1つ以上の重みは、RLプロセスの一部として調整される。
【0057】
このようにして、把持モデルは、Q学習RLアプローチのための「Q関数」として、又は各アクション(例えば、所定のピクセル位置+6d姿勢において実行される把持)をスコア又はスコアのセットと関係付ける、アクタークリティックRLフレームワークにおける「クリティック」ネットワークとして解釈されることができる。このように構成されると、RL手法は、トレーニングステップとデータ収集ステップの両方に適用することができる。
例えば、これは、探索(例えば、タスク空間のより良い理解を構築するために、モデルが結果について確信がない場所でピッキングすること)と活用(例えば、モデルが成功するより確かな場所でピッキングすること)とのバランスを適切にとるために、把持選択戦略を通知することができる。
【0058】
いくつかの実装形態では、プロセス500は、ピクセル座標から直接推測可能でない1つ以上の把持パラメータを扱う。このような把持パラメータの例としては、把持高さ、エンドエフェクタの向き、エンドエフェクタの選択、及び把持戦略が挙げられる。これらの追加の把持パラメータは、異なる方法で扱うことができる。例えば、パラメータの各値(例えば、各エンドエフェクタ選択)に対応する追加の入力を把持モデルに渡して、追加のパラメータの値を条件とするピクセル単位予測を生成することができる。代替的に、把持モデルは、パラメータの各値について別個のピクセル単位予測(たとえばヒートマップ)を生成するように構成されることができる。一例として、2つの把持結果(例えば、把持成功及び配置成功)及び3つの追加のパラメータ値(例えば、3つの可能な真空カップタイプ)に対して、把持モデルは、6つの出力ピクセル単位予測(ヒートマップ)を生成するように構成される:把持結果及び追加のパラメータ値(例えば、真空カップタイプ)の各組み合わせに対して1つ。さらなる代替として、把持モデルは、各ピクセルにおけるパラメータ値(例えば、エンドエフェクタ選択)を予測するために、別個の出力を生成するように構成されることができる(例えば、モデルは、追加の出力ヘッドを備える)。別個の出力は、例えば、ピクセル単位予測(例えば、ヒートマップ)におけるチャネルとして含まれる。3つの追加のパラメータ値(例えば、3つの可能な真空カップタイプに対応する)の例示的なケースでは、各把持結果に対する出力ピクセル単位予測は、各チャネルが単一のパラメータ値(例えば、真空カップタイプ)に対応する3チャネル画像を含む。
【0059】
説明される把持モデルを把持パイプラインの一部として実装する文脈に戻ると、ロボットのロボット制御システム108(例えば、コントローラ110)は、把持候補を生成するためのプロセスを開始してもよい。例えば、ロボット制御システム108は、把持候補の要求を把持制御システムに送る。把持制御システムは、作業空間(例えば、ピッキングビン又はコンテナ)の現在の状態に対応する、深度データを含む画像データを取得する。画像データは、本明細書に説明される把持モデル(例えば、FCGモデル)を含む、1つ以上の予測(又は「スコアリング」)モデルを用いて処理される。他のスコアリングモデルは、例えば、前述したヒューリスティックモデル及びセグメンテーションモデル(例えば、異なる物体が画像内のどこにあるかを認識するための)を含む。把持モデルに加えて、追加のスコアリングモデルが使用される場合、出力スコアマップは、単一の出力スコアマップに組み合わされる。出力されたスコアマップをサンプリングして、2次元把持候補に対応するピクセルを取得する。2次元把持候補は、2次元画像位置をロボットのタスク空間内の3次元位置に変換するために、1つ以上の把持生成演算子、たとえば姿勢生成器で処理される。いくつかの例では、1つ以上の把持生成演算子はまた、タスク空間内の表面法線に基づいて、マニピュレータ、例えばエンドエフェクタの向きを決定する。したがって、タスク空間内の1つ以上の3次元位置及び向き(たとえば把持姿勢)が、それぞれ対応するスコアとともにロボット制御システム108に返される。対応するスコアは、例において、例えば、面法線又は他のヒューリスティックに基づいて、1つ以上の把持生成演算子によって調整されてもよい。ロボット制御システム108は、次いで、1つ以上の把持姿勢及びそれらの対応するスコアのうちの1つ以上に基づいて、作動命令をロボットに発行する。
【0060】
データ処理を用いる例では、プロセッサを関連システムの一部として用いることができる。プロセッサは、中央処理ユニット(CPU)、マイクロプロセッサ、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は別のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジック、ディスクリートハードウェア構成要素、又はここに説明されるデータ処理機能を実行するように設計されたこれらの任意の適切な組み合わせのような汎用プロセッサであることがある。
【0061】
ニューラルネットワークを伴う例では、専用プロセッサが、関連するシステムの一部として用いられてもよい。専用プロセッサは、NPU、ニューラルネットワークアクセラレータ(NNA)、又はニューラルネットワーク機能のために専用化されたハードウェアアクセラレータの他のバージョンであってもよい。追加又は代替として、ニューラルネットワーク処理作業負荷は、1つ以上の標準プロセッサ、たとえば、CPU又はGPUによって少なくとも部分的に共有されてもよい。
【0062】
上記の例は、例示的な例として理解されるべきである。さらなる例が想定される。例えば、ニューラルネットワークが予測するようにトレーニングされる複数の結果に含めるべき関心のある別の結果は、スキャン速度であってもよい。例えば、アイテムが成功裏にスキャンされるか否かのバイナリ予測を行う代わりに、又はそれに加えて、ニューラルネットワークは、どの把持位置が、成功したバーコードスキャンを得ようとして費やされる最短時間量に対応するかを予測するようにトレーニングされてもよい。食料雑貨品ピッキングの文脈では、例えば、複数の結果のうちの1つの結果は、袋詰め成功であってもよく、把持モデルは、アイテムが成功裏に袋詰めされることができるようにアイテムをどのようにピッキングするかを学習する。「袋詰め成功」結果のモデルの予測は、例えば、(例えば、出力ビン又はトートのRGB-D画像によって表されるような)袋の現在の状態を条件とすることができる。
【0063】
一般論として、説明されるシステム及び方法は、深度情報を含む入力画像を取得し、例えば6自由度を有するランク付けされた把持姿勢を出力する把持の生成又は把持合成パイプラインの一部として用いられることができる。把持生成パイプラインへの入力は、例えば、世界座標フレームにおけるカメラの向きと共にカメラによってキャプチャされた入力画像を含む。把持生成パイプラインは、次いで、入力画像を、説明されたFCN把持モデル及び任意選択で1つ以上の他のヒューリスティックマップ計算に通すことと、結果として生じるヒートマップを集約することと、集約マップからピクセル位置をサンプリングすることと、(例えば、2Dで)サンプリングされたピクセル位置を(例えば、6Dで)対応する把持姿勢にマッピングすることと、任意選択で、ヒューリスティック及び/又は把持モデル予測の何らかの組合せに基づいて、対応する把持姿勢のランク付けを調整することとを含む。
【0064】
説明される実施例では、把持モデルのためのトレーニングデータは、例えば、人間が注釈を付けた結果ではなく、履歴把持結果から収集される。例えば、把持モデルは、「ここを把持した場合に何が起こるか?を人間が考える」のではなく、「ここを把持した場合に何が起こるか?」を学習することを意図している。しかしながら、いくつかの実装形態では、1つ以上の人間のパイロットが生産システムの一部として使用される。具体的には、人間は、1つ以上の予め定められた条件が満たされた場合に、小さい割合のピッキングについて把持位置を提案することができる。そのような場合、把持位置(又は把持戦略)が人間によって提案された履歴データセット内にいくつかの把持が存在してもよい。それにもかかわらず、把持結果は依然として物理的ロボットシステムから収集される。
【0065】
任意の1つの例に関連して説明される任意の特徴はまた、単独で、又は説明した他の特徴と組み合わせて使用されてもよく、他の何らかの例の1つ以上の特徴、又は他の何らかの例の任意の組み合わせと組み合わせて使用されてもよいことも理解される。さらに、添付の特許請求の範囲から逸脱することなく、上記で説明されていない均等物及び修正も用いられてもよい。
以下に、出願当初の特許請求の範囲に記載の事項を、そのまま、付記しておく。
[C1]
把持の生成のためのデータ処理装置であって、
カメラによってキャプチャされた物体の画像を表し、深度データを含む画像データを取得し、
把持可能な物体の画像に基づいて、独立して把持動作に関係付けられた複数の結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルに前記画像データを提供し、
前記複数の結果に対応する複数のピクセル単位予測を取得し、ここで、各ピクセル単位予測は、前記把持動作に関係付けられた前記複数の結果のうちの所定の結果に対応するピクセル単位確率値を表し、
集約されたピクセル単位予測を取得するために、前記複数のピクセル単位予測を集約し、
前記物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルのそこからの選択のために、前記集約されたピクセル単位予測を出力するように構成されている、データ処理装置。
[C2]
前記把持モデルを実装するように構成されている、C1に記載のデータ処理装置。
[C3]
前記把持動作に関係付けられた前記複数の結果は、
前記物体の成功した把持、
前記物体の成功したスキャン、
前記物体の成功した配置、
別の物体の成功した後続の把持、
前記物体よる別の物体を把持の回避、
前記把持動作の停止の回避、のうちの2つ以上を含む、C1又は2に記載のデータ処理装置。
[C4]
C1から3のいずれか一項に記載のデータ処理装置を備えるロボットの把持制御システムであって、
前記把持制御システムは、
前記集約されたピクセル単位予測と、1つ以上のピクセル単位のヒューリスティックマップとを取得し、それぞれは所定のヒューリスティックに対応するピクセル単位のヒューリスティック値を表し、
組み合わされたピクセル単位のマップを取得するように、前記集約されたピクセル単位予測と前記1つ以上のピクセル単位のヒューリスティックマップとを組み合わせるように構成されている、把持制御システム。
[C5]
姿勢生成器を備え、前記姿勢生成器は、
前記組み合わされたピクセル単位マップからサンプリングされた1つ以上のピクセルに対応する1つ以上の把持位置を取得し、
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定するように構成されている、C4に記載の把持制御システム。
[C6]
ロボットの把持制御システムであって、C1から3のいずれか一項に記載のデータ処理装置と、姿勢生成器とを備え、
前記姿勢生成器は、
前記ピクセル単位予測における1つ以上の対応する確率値に基づいて、前記集約されたピクセル単位予測から選択された1つ以上のピクセルに対応する1つ以上の把持位置を取得し、
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定するように構成されている、把持制御システム。
[C7]
前記姿勢生成器から前記1つ以上の把持姿勢を取得し、前記1つ以上の把持姿勢に基づいて、前記物体を把持するようにロボットマニピュレータを制御するように構成されたコントローラを備える、C5又は6に記載の把持制御システム。
[C8]
C7に記載の把持制御システムと、ロボットマニピュレータとを備える、ロボット。
[C9]
前記ロボットマニピュレータは、前記物体を把持するためのエンドエフェクタを備え、前記エンドエフェクタは、ジョーグリッパ、フィンガグリッパ、磁気もしくは電磁グリッパ、ベルヌーイグリッパ、真空吸引カップ、静電グリッパ、ファンデルワールスグリッパ、キャピラリグリッパ、極低温グリッパ、超音波グリッパ、又はレーザグリッパのうちの少なくとも1つを備える、C8に記載のロボット。
[C10]
コンピュータ実装方法であって、
カメラによってキャプチャされた物体の画像を表し、深度データを含む画像データを取得することと、
把持可能な物体の画像に基づいて、独立して把持動作に関係付けられた複数の結果を予測するようにトレーニングされたニューラルネットワークを含む把持モデルに前記画像データを提供することと、
前記複数の結果に対応する複数のピクセル単位予測を取得することと、ここで、各ピクセル単位予測は、前記把持動作に関係付けられた前記複数の結果のうちの所定の結果に対応するピクセル単位確率値を表し、
集約されたピクセル単位予測を取得するために、前記複数のピクセル単位予測を集約することと、
前記物体を把持するための1つ以上の把持姿勢の生成の基礎となる1つ以上のピクセルのそこからの選択のために前記集約されたピクセル単位予測を出力することとを含む、コンピュータ実装方法。
[C11]
前記把持動作に関係付けられた前記複数の結果は、
前記物体の成功した把持と、
前記物体の成功したスキャンと、
前記物体の成功した配置と、
別の物体の成功した後続の把持と、
前記物体による別の物体の把持の回避と、
前記把持動作の停止の回避と、のうちの2つ以上を含む、C10に記載のコンピュータ実装方法。
[C12]
前記複数の結果を独立して予測するように、前記ニューラルネットワークを含む前記把持モデルを使用して前記画像データを処理することと、
前記複数の結果に対応する前記複数のピクセル単位予測を生成することと、を含む、C10又は11に記載のコンピュータ実装方法。
[C13]
前記ニューラルネットワークは、過去の把持データ又はシミュレートされた把持データのうちの少なくとも1つでトレーニングされる、C10から12のいずれか一項に記載のコンピュータ実装方法。
[C14]
他の物体を把持することから得られたさらなる把持データに基づいて、前記把持モデルを更新することを含む、C10から13のいずれか一項に記載のコンピュータ実装方法。
[C15]
前記さらなる把持データに基づいて前記ニューラルネットワークを再トレーニングすることを含む、C14に記載のコンピュータ実装方法。
[C16]
前記ピクセル単位予測における1つ以上の対応する確率値に基づいて、前記集約されたピクセル単位予測から前記1つ以上のピクセルを選択することと、
前記選択された1つ以上のピクセルに基づいて、ロボットが前記物体を把持するための1つ以上の把持位置を出力することと、を含む、C10から15のいずれか一項に記載のコンピュータ実装方法。
[C17]
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定することと、
前記物体を把持するように前記1つ以上の把持姿勢を実施するために、前記1つ以上の把持姿勢を前記ロボットに出力することと、を含む、C16に記載のコンピュータ実装方法。
[C18]
前記集約されたピクセル単位予測と、1つ以上のピクセル単位ヒューリスティックマップとを取得することと、ここで、それぞれは所定のヒューリスティックに対応するピクセル単位ヒューリスティック値を表し、
組み合わされたピクセル単位のマップを取得するために、前記集約されたピクセル単位予測と前記1つ以上のピクセル単位ヒューリスティックマップとを組み合わせることとを含む、C10から15のいずれか一項に記載のコンピュータ実装方法。
[C19]
前記組み合わされたピクセル単位マップから1つ以上の対応するピクセルをサンプリングすることによって、1つ以上の把持位置を取得することと、
前記1つ以上の把持位置に基づいて、1つ以上の把持姿勢を決定することとを含む、C18に記載のコンピュータ実装方法。
[C20]
前記複数の結果に対応する前記複数のピクセル単位予測を特徴入力として使用して、強化学習モデルを適用することを含む、C10から19のいずれか一項に記載のコンピュータ実装方法。
[C21]
前記強化学習モデルを適用することは、前記複数のピクセル単位予測のそれぞれのピクセル単位予測に対応する1つ以上の重みを調整することを含む、C20に記載のコンピュータ実装方法。
[C22]
前記ニューラルネットワークは、完全畳み込みニューラルネットワークを含む、C10から21のいずれか一項に記載のコンピュータ実装方法。
[C23]
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行された結果として、コンピュータシステムに、C10から22のいずれか一項に記載の方法を実行させる実行可能命令を記憶するコンピュータ読取可能メモリとを備える、コンピュータシステム。
[C24]
1つ以上のプロセッサによって実行される場合、前記1つ以上のプロセッサに、C10から22のいずれか一項に記載の方法を実行させる命令のセットを記憶した、機械読取可能媒体。
図1
図2
図3A
図3B
図4
図5