(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-19
(54)【発明の名称】ロボット把持からの滑りの検出
(51)【国際特許分類】
B25J 15/08 20060101AFI20221212BHJP
【FI】
B25J15/08 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022519118
(86)(22)【出願日】2020-09-25
(85)【翻訳文提出日】2022-05-18
(86)【国際出願番号】 US2020052660
(87)【国際公開番号】W WO2021080730
(87)【国際公開日】2021-04-29
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521105662
【氏名又は名称】デクステリティ・インコーポレーテッド
【氏名又は名称原語表記】DEXTERITY,INC.
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】スー・ハリー・ツェ
(72)【発明者】
【氏名】サン・チョウエン
(72)【発明者】
【氏名】メノン・サミア
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707ES03
3C707ET03
3C707JS03
3C707JS07
3C707JT04
3C707JU12
3C707KS09
3C707KS30
3C707KS31
3C707KS34
3C707KT02
3C707KT06
3C707LV08
3C707LW12
3C707NS02
(57)【要約】
【解決手段】複数のセンサが、ロボットアームエンドエフェクタとアイテムとの係合に関連付けられている検知値を反映する対応する出力を提供するよう構成されている。複数のセンサの内の1または複数のセンサのそれぞれの出力は、マルチモーダルモデルへの1または複数の入力を決定するために用いられ、マルチモーダルモデルは、1または複数の入力に少なくとも部分的に基づいて、ロボットアームエンドエフェクタの把持の範囲内でのアイテムの滑りまたはロボットアームエンドエフェクタの把持から逸脱するアイテムの滑りに関連付けられている出力を提供するよう構成されている。ロボットアームエンドエフェクタの把持の範囲内でのアイテムの滑りまたはロボットアームエンドエフェクタの把持から逸脱するアイテムの滑りに関連付けられている決定が、マルチモーダルモデルの出力に少なくとも部分的に基づいてなされる。応答動作が、ロボットアームエンドエフェクタの把持の範囲内でのアイテムの滑りまたはロボットアームエンドエフェクタの把持から逸脱するアイテムの滑りに関連付けられている決定に少なくとも部分的に基づいて実行される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットシステムであって、
複数のセンサと、前記複数のセンサの各々は、ロボットアームエンドエフェクタとアイテムとの係合に関連付けられている検知値を反映する対応する出力を提供するよう構成されており、
前記複数のセンサに接続されているプロセッサと、
を備え、
前記プロセッサは、
マルチモーダルモデルへの1または複数の入力を決定するために、前記複数のセンサの内の1または複数のセンサのそれぞれの出力を用い、前記マルチモーダルモデルは、前記1または複数の入力に少なくとも部分的に基づいて、前記ロボットアームエンドエフェクタの把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの把持から逸脱する前記アイテムの滑りに関連付けられている出力を提供するよう構成されており、
前記マルチモーダルモデルの出力に少なくとも部分的に基づいて、前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りに関連付けられている決定を行い、
前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りに関連付けられている前記決定に少なくとも部分的に基づいて、応答動作を実行するよう構成されている、ロボットシステム。
【請求項2】
請求項1に記載のロボットシステムであって、触覚検知ユニットは、前記複数のセンサを備え、前記触覚検知ユニットは、複数の層で構成され、前記複数の層の各々は、前記複数のセンサの内の1または複数のセンサを備える、ロボットシステム。
【請求項3】
請求項1に記載のロボットシステムであって、前記1または複数の入力は、1または複数のモダリティを含む、ロボットシステム。
【請求項4】
請求項3に記載のロボットシステムであって、前記1または複数のモダリティは、重量、変形、導通、導電率、抵抗、インダクタンス、および、静電容量、の内の1または複数を含む、ロボットシステム。
【請求項5】
請求項1に記載のロボットシステムであって、前記マルチモーダルモデルの前記出力は、前記アイテムが前記ロボットアームエンドエフェクタの前記把持から滑り始めていることを示す、ロボットシステム。
【請求項6】
請求項1に記載のロボットシステムであって、前記マルチモーダルモデルの前記出力は、前記アイテムが前記ロボットアームエンドエフェクタの前記把持から滑っていることを示す、ロボットシステム。
【請求項7】
請求項1に記載のロボットシステムであって、前記プロセッサは、さらに、前記エンドエフェクタが前記アイテムを第1位置から第2位置へ移動させている時に、前記1または複数のセンサの前記それぞれの出力を監視するよう構成されている、ロボットシステム。
【請求項8】
請求項1に記載のロボットシステムであって、前記1または複数のセンサの内の少なくとも1つのセンサの前記それぞれの出力に基づいて決定された変形値が、前記アイテムが前記ロボットアームエンドエフェクタの前記把持から滑っているか否かを示す、ロボットシステム。
【請求項9】
請求項1に記載のロボットシステムであって、前記1または複数のセンサの内の少なくとも1つのセンサの前記それぞれの出力に基づいて決定された変形値が、前記アイテムが前記ロボットアームエンドエフェクタの前記把持から滑り始めているか否かを示す、ロボットシステム。
【請求項10】
請求項1に記載のロボットシステムであって、前記マルチモーダルモデルは、前記アイテムの前記滑りを直線滑りとして分類するよう構成されている、ロボットシステム。
【請求項11】
請求項1に記載のロボットシステムであって、前記マルチモーダルモデルは、前記アイテムの前記滑りを回転滑りとして分類するよう構成されている、ロボットシステム。
【請求項12】
請求項1に記載のロボットシステムであって、前記応答動作は、前記アイテムを第1位置から第2位置へ移動させることを含む、ロボットシステム。
【請求項13】
請求項1に記載のロボットシステムであって、前記応答動作は、前記アイテムを或る位置にプレースして、前記アイテムを再把持することを含む、ロボットシステム。
【請求項14】
請求項1に記載のロボットシステムであって、前記応答動作は、前記ロボットアームエンドエフェクタの向きを調整することを含む、ロボットシステム。
【請求項15】
請求項1に記載のロボットシステムであって、前記応答動作は、前記ロボットアームエンドエフェクタによって前記アイテムに印加される力を増大させることを含む、ロボットシステム。
【請求項16】
請求項15に記載のロボットシステムであって、前記ロボットアームエンドエフェクタによって印加される前記力は、前記アイテムに関連付けられている壊れやすさに基づく、ロボットシステム。
【請求項17】
請求項1に記載のロボットシステムであって、前記ロボットアームエンドエフェクタによって印加される前記力は、前記マルチモーダルモデルの出力の示す前記アイテムの前記滑りが直線滑りであるか回転滑りであるかに基づく、ロボットシステム。
【請求項18】
請求項1に記載のロボットシステムであって、前記プロセッサは、さらに、前記アイテムに対する前記ロボットアームエンドエフェクタの前記把持を調整するために、1または複数のセンサの前記それぞれの出力を用いて、前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りを開始するよう構成されている、ロボットシステム。
【請求項19】
方法であって、
複数のセンサの内の1または複数のセンサの対応する出力を用いて、マルチモーダルモデルへの1または複数の入力を決定し、前記マルチモーダルモデルは、前記1または複数の入力に少なくとも部分的に基づいて、前記ロボットアームエンドエフェクタの把持の範囲内でのアイテムの滑りまたは前記ロボットアームエンドエフェクタの把持から逸脱する前記アイテムの滑りに関連付けられている出力を提供するよう構成されており、前記複数のセンサの各々は、前記ロボットアームエンドエフェクタと前記アイテムとの係合に関連付けられている検知値を反映する対応する出力を提供するよう構成されており、
前記マルチモーダルモデルの出力に少なくとも部分的に基づいて、前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りに関連付けられている決定を行い、
前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りに関連付けられている前記決定に少なくとも部分的に基づいて、応答動作を実行すること、
を備える、方法。
【請求項20】
コンピュータプログラム製品であって、非一時的なコンピュータ読み取り可能媒体内に具現化され、
複数のセンサの内の1または複数のセンサの対応する出力を用いて、マルチモーダルモデルへの1または複数の入力を決定するためのコンピュータ命令と、前記マルチモーダルモデルは、前記1または複数の入力に少なくとも部分的に基づいて、前記ロボットアームエンドエフェクタの把持の範囲内でのアイテムの滑りまたは前記ロボットアームエンドエフェクタの把持から逸脱する前記アイテムの滑りに関連付けられている出力を提供するよう構成されており、前記複数のセンサの各々は、前記ロボットアームエンドエフェクタと前記アイテムとの係合に関連付けられている検知値を反映する対応する出力を提供するよう構成されており、
前記マルチモーダルモデルの出力に少なくとも部分的に基づいて、前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りに関連付けられている決定を行うためのコンピュータ命令と、
前記ロボットアームエンドエフェクタの前記把持の範囲内での前記アイテムの滑りまたは前記ロボットアームエンドエフェクタの前記把持から逸脱する前記アイテムの滑りに関連付けられている前記決定に少なくとも部分的に基づいて、応答動作を実行するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【0001】
他の出願への相互参照
本願は、名称を「DETECTING SLIPPAGE FROM ROBOTIC GRASP」とする、2019年10月25日出願の米国仮特許出願第62/926,162号に基づく優先権を主張し、その仮特許出願は、すべての目的のために参照により本明細書に組み込まれる。
【0002】
ロボットシステムが、第1位置から第2位置へアイテムをピックアンドプレースするタスクを課せられる場合がある。ロボットシステムは、エンドエフェクタを用いて、第1位置でアイテムを把持しうる。アイテムの把持に成功すると、ロボットシステムは、アイテムを第2位置へ移動させうる。しかしながら、アイテムは、第1位置から第2位置へ移動されている間に、エンドエフェクタから滑り落ちる場合がある。アイテムは、あまりに高い位置から落ちた結果として損傷する可能性がある。
【図面の簡単な説明】
【0003】
以下の詳細な説明および添付の図面において、本発明の様々な実施形態を開示する。
【0004】
【
図1】いくつかの実施形態に従って、アイテムをピックアンドプレースするためのシステムを示すブロック図。
【0005】
【
図2】いくつかの実施形態に従って、ロボットアームエンドエフェクタを示すブロック図。
【0006】
【
図3A】いくつかの実施形態に従って、触覚検知ユニットを示すブロック図。
【0007】
【
図3B】いくつかの実施形態に従って、異なる視点から触覚検知ユニットを示す図。
【0008】
【
図3C】いくつかの実施形態に従って、異なる視点から触覚検知ユニットを示す図。
【0009】
【
図3D】いくつかの実施形態に従って、磁気センサの一例を示す図。
【0010】
【
図3E】いくつかの実施形態に従って、触覚検知ユニットを示す図。
【0011】
【
図3F】いくつかの実施形態に従って、触覚検知ユニットを示す図。
【0012】
【
図3G】いくつかの実施形態に従って、触覚検知ユニットを示す図。
【0013】
【
図4】いくつかの実施形態に従って、アイテムをピックアンドプレースするための処理を示すフローチャート。
【0014】
【
図5】いくつかの実施形態に従って、滑りを検出するための処理を示すフローチャート。
【0015】
【
図6A】制御された滑りを含むピックアンドプレース動作の一例を示す図である。
【
図6B】制御された滑りを含むピックアンドプレース動作の一例を示す図である。
【
図6C】制御された滑りを含むピックアンドプレース動作の一例を示す図である。
【0016】
【
図7】いくつかの実施形態に従って、アイテムを把持するための処理を示すフローチャート。
【0017】
【
図8】マルチモーダルモデルをトレーニングするための処理を示すフローチャート。
【発明を実施するための形態】
【0018】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実施されうる。本明細書では、これらの実施例または本発明が取りうる任意の他の形態が、技術と呼ばれうる。一般に、開示されている処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、或る時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【0019】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0020】
アイテムが、ロボットアームエンドエフェクタの把持から滑り始めまたは滑っているか否かを判定するための技術が開示されている。様々な実施形態において、触覚検知ユニットが提供されている。アイテムが、ロボットアームエンドエフェクタの把持から滑り始めまたは滑っているか否かを判定するために、触覚検知ユニットが利用される。触覚検知ユニットは、1または複数のセンサを備え、および/または、1または複数のセンサによって生成されたセンサ出力値を受信する。1または複数のセンサは、磁気センサ、光学センサ、電気機械センサ、圧力センサ、ひずみゲージ、力センサ、導電率センサ、電流センサ、電圧センサ、静電容量センサ、抵抗センサ、インダクタンスセンサ、赤外線センサ、温度センサ、などの内の1または複数を含んでよい。
【0021】
1または複数のセンサの各々は、ロボットアームエンドエフェクタとアイテム(「物体」とも呼ばれる)との係合に関連付けられている検知値を反映する出力を提供するよう構成されている。1または複数のセンサ出力は、ロボットアームエンドエフェクタとアイテムとの係合を示す1または複数のモダリティを決定するために用いられる。1または複数のモダリティは、重量、変形、導通、導電率、圧力、抵抗、インダクタンス、静電容量、または、ロボットアームエンドエフェクタの係合を示す任意のその他のモダリティ、を含みうる。
【0022】
触覚検知ユニットは、ロボットアームエンドエフェクタに関連付けられていてよい。ロボットアームエンドエフェクタは、2以上のフィンガを備えてよい。対応する触覚検知ユニットが、フィンガの各々に取り付けられていてよい。エンドエフェクタは、アイテムを係合するために、1または複数の吸着カップもしくはその他の構造を備えてよく、対応する触覚検知ユニットが、アイテムと係合するために用いられる吸着カップまたはその他の構造の各々に取り付けられていてよい。いくつかの実施形態において、1または複数の触覚検知ユニットは、フィンガの各々が、関連付けられた触覚検知ユニットを有するように、ロボットアームエンドエフェクタのフィンガを覆うように配置されている検知カバー(例えば、グローブ、ミトンなど)の中に備えられている。いくつかの実施形態において、1または複数の触覚検知ユニットは、ロボットアームエンドエフェクタに埋め込まれている。
【0023】
触覚検知ユニットは、複数の検知層を備えてよい。検知層の各々は、1または複数のセンサを備えてよい。触覚検知ユニットは、導電層、変形層、および、基板層、の内の1または複数を備えてよい。アイテムとの係合時に、触覚検知ユニットのセンサが、基準検知値(例えば、ロボットアームエンドエフェクタがアイテムと係合していない時のテア値)とは異なる対応する検知値を出力しうる。アイテムが、ロボットアームエンドエフェクタの把持から滑り始めまたは滑っている場合、センサの検知値が変化しうる。
【0024】
導電層は、導通またはその他の電気特性(導電率、抵抗、静電容量、または、インダクタンス、など)の測定を可能にする導電材料(例えば、金属)を含んでよい。導電層は、エンドエフェクタの第1フィンガに取り付けられている第1触覚検知ユニットがエンドエフェクタの第2フィンガに取り付けられている第2触覚検知ユニットに接触した時に、第1および第2触覚検知ユニットの導電層が接触するように、触覚検知ユニットの最上層であってよい。
【0025】
ロボットアームエンドエフェクタがアイテムを把持すると、アイテムは、触覚検知ユニットの導電層が互いに接触するのを阻止する。しかしながら、ロボットアームエンドエフェクタがアイテムを落とすと、触覚検知ユニットの導電層は、互いに接触しうる。導電層は、導電層からの出力を用いて、1または複数の導通値、1または複数の導電率値、1または複数の抵抗値、1または複数の静電容量値、ならびに/もしくは、1または複数のインダクタンス値、を決定できるプロセッサに接続されている。プロセッサは、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、経時的に決定値を監視してよい。
【0026】
いくつかの実施形態において、変形層は、誘電材料を含む(例えば、シリコン、プラスチック、または、力に反応して変形しうる任意のその他の材料)。測定対象物が、誘電材料に挿入されていてよい。ロボットアームエンドエフェクタがアイテムと係合する前に、基準検知値が決定される。ロボットアームエンドエフェクタがアイテムと係合すると、検知値が、基準検知値と比較される。検知値は、エンドエフェクタがアイテムの把持に成功したか失敗したか、および/または、アイテムが滑っているかまたは滑りそうであるか否かによって、異なりうる。ロボットアームエンドエフェクタがアイテムを把持している間、検知値は変動しうる。しかしながら、アイテムがロボットアームエンドエフェクタの把持から滑っている時、検知値は、閾値量よりも大きく変動しうるか、または、アイテムが滑っていない時と異なる変動をしうる。変形層に関連付けられた1または複数のセンサに接続されているプロセッサが、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、経時的に検知値を監視してよい。
【0027】
いくつかの実施形態において、複数の磁石が、誘電材料に挿入されている。複数の磁石は、グリッド(例えば、2Dグリッドまたは3Dグリッド)パターンまたは非グリッドパターンに配列されていてよい。1または複数の磁石が、誘電材料の縁部境界上に配置されていてよい。複数の磁石は、基板層上に配置された磁気センサに関連付けられている。磁気センサは、ロボットアームエンドエフェクタがアイテムと係合する前に基準磁場を検出する。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、複数の磁石の内の1または複数を変位させる。この変位は、磁気センサによって検知される磁場の変化を引き起こす。磁気センサは、プロセッサに接続されており、プロセッサは、磁場の変化を用いて、重量値および/または変形値を決定してよい。
【0028】
磁気センサは、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、磁場を検出してよい。プロセッサは、現在の磁場、現在の重量値、および、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている磁場からの現在の磁場の変化、把持成功に関連付けられている重量値からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている磁場からの現在の磁場の変化、把持成功に関連付けられている重量値からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0029】
いくつかの実施形態において、複数のマーカが、誘電材料に埋め込まれている。複数のマーカは、グリッドパターンまたは非グリッドパターンに配列されていてよい。グリッドパターンは、2Dグリッドパターンまたは3Dグリッドパターンであってよい。複数のマーカは、基板層上に配置された画像センサに関連付けられていてよい。画像センサは、ロボットアームエンドエフェクタがアイテムと係合する前にマーカすべてに対して基準位置を検出してよい。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、複数のマーカの内の1または複数を変位させる。この変位は、画像センサによって検知されるマーカ位置の変化を引き起こす。画像センサは、プロセッサに接続されており、プロセッサは、マーカ位置の変化を用いて、重量値および/または変形値を決定してよい。
【0030】
画像センサは、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、マーカの位置を検出してよい。プロセッサは、現在の位置、現在の重量値、および、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている位置からの現在のマーカの位置の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている位置からの現在のマーカの位置の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0031】
いくつかの実施形態において、反射材料が、誘電材料に埋め込まれ、エミッタおよびレシーバが、基板層上に配置されている。エミッタは、反射材料で反射される信号を送信してよく、反射された信号は、レシーバで受信される。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、信号がどのように誘電材料を通過するのかを変化させる。係合は、レシーバで受信される反射信号の振幅を基準信号振幅から変化させる。レシーバは、プロセッサに接続されており、プロセッサは、信号振幅の変化を用いて、重量値および/または変形値を決定してよい。
【0032】
レシーバは、ロボットアームエンドエフェクタの把持からアイテムが滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、信号を受信し続けてよい。プロセッサは、受信信号の振幅、重量値、および、変形値について、任意の変化を監視してよい。把持成功に関連付けられている信号振幅からの現在の信号振幅の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている信号振幅からの現在の信号振幅の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0033】
いくつかの実施形態において、変形を検出できる1または複数の電気機械センサ(例えば、ひずみゲージ)が、誘電材料に埋め込まれている。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、1または複数の電気機械センサに関連付けられている抵抗を変化させる。1または複数の電気機械センサは、プロセッサに接続されており、プロセッサは、抵抗の変化を用いて、重量値および/または変形値を決定してよい。
【0034】
1または複数の電気機械センサは、ロボットアームエンドエフェクタの把持からアイテムが滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、抵抗を出力してよい。プロセッサは、抵抗、重量値、および、変形値について、任意の変化を監視してよい。把持成功に関連付けられている抵抗値からの現在の抵抗値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている抵抗値からの現在の抵抗値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0035】
いくつかの実施形態において、誘電材料は、気体、空気、または、液体を含む柔軟な膜(例えば、サック、パウチ)を備えてよい。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、柔軟な膜に関連付けられている圧力を変化させる。圧力は、圧力センサによって検出されてよく、プロセッサが、圧力の変化を用いて、重量値および/または変形値を決定してよい。
【0036】
プロセッサは、ロボットアームエンドエフェクタの把持からアイテムが滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、圧力、重量値、および、変形値について、任意の変化を監視してよい。把持成功に関連付けられている圧力値からの現在の圧力値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている圧力値からの現在の圧力値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0037】
1または複数の触覚検知ユニットは、プロセッサに接続されている。ロボットアームエンドエフェクタは、同様にプロセッサに接続されているその他のセンサを備えてもよい。例えば、ロボットアームエンドエフェクタのフィンガをロボットアームに接続するハウジングが、力および/またはトルクを測定するために用いられる1または複数のセンサを備えてよい。1または複数のハウジングセンサは、ロボットアームエンドエフェクタの重量に対して標準化するように検知重量をフィルタリングするために用いられてよい。ハウジングの1または複数のセンサに関連付けられているセンサ出力は、1または複数のモダリティを決定するために用いられてよい。複数のセンサ(例えば、1以上の触覚検知ユニットセンサおよび/または1以上のハウジングセンサ)は、それらの対応する出力をプロセッサに提供する。プロセッサは、センサ出力を用いて、ロボットアームエンドエフェクタとアイテムとの間の係合に関連付けられている1以上の力および/または1以上のモーメントを決定してよい。プロセッサは、センサ出力を用いて、触覚検知ユニットの各々に関連付けられている力およびモーメントを決定してよい。
【0038】
プロセッサは、センサ出力を用いて、複数のモダリティに対応する値を決定してよい。例えば、検知された重量、検知された変形量、検知された導通、検知された導電率、検知された圧力、検知された抵抗、検知されたインダクタンス、および/または、検知された静電容量が決定されてよい。複数のモダリティは各々、係数に関連付けられている。いくつかの実施形態において、複数のモダリティは、均等に重み付けされる(例えば、それらは各々、関連付けられた係数「1」を有する)。いくつかの実施形態において、複数のモダリティの一部は、異なる重みを有する。例えば、アイテムは、金属アイテムであってよく、導通因子に関連付けられている係数は、変形因子に関連付けられている係数よりも小さくてよい。
【0039】
プロセッサは、アイテムがロボットアームエンドエフェクタの把持から滑り始めおよび/または滑っているか否かを判定するために、マルチモーダルモデルを実装してよい。マルチモーダルモデルは、ルールベースモデル、予測モデル、機械学習モデル(例えば、ニューラルネットワーク、線形分類器、サポートベクターマシン、線形回帰、ロジスティック回帰、決定木、深層学習、など)、などであってよい。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑り始めているか否かに関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑っているか否かに関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑り始めているか否かの確率を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑っているか否かの確率を出力するよう構成されている。
【0040】
複数のモダリティの一部または全部に関連付けられている値およびそれらに対応する係数は、マルチモーダルモデルに入力として提供される。入力は、マルチモーダルモデルに適用され、ロボットシステムは、マルチモーダルモデルの出力に基づいて応答動作(例えば、フィードバック制御、反応動作、など)を実行するよう構成されている。いくつかの実施形態において、ロボットシステムは、第1位置から第2位置へアイテムを移動させる。いくつかの実施形態において、ロボットシステムは、アイテムを把持するために、さらなる力を印加する。いくつかの実施形態において、ロボットシステムは、アイテムを降ろして、アイテムを再把持する。いくつかの実施形態において、ロボットシステムは、人的介入を要求する。いくつかの実施形態において、ロボットシステムは、ロボットシステムがアイテムを把持している方法を調整する。例えば、ロボットアームは、重力が別の軸で把持アイテムに掛かるように回転されてよい。いくつかの実施形態において、ロボットシステムは、滑りを防止するために、把持動作を予防的に調整する。
【0041】
触覚検知ユニットおよびマルチモーダルモデルを用いることで、アイテムがロボットアームエンドエフェクタの把持から滑り始めおよび/または滑っているか否かを正確に判定することが可能になる。複数のセンサは、同じ結論(すなわち、ロボットアームエンドエフェクタがロボットアームエンドエフェクタの把持から滑り始めおよび/または滑っている)を裏づけるデータ点を異なる視点から提供しうる。単一因子アプローチは、ロボットシステムの意思決定プロセスにバイアスをかけうる。例えば、ロボットシステムは、ロボットアームエンドエフェクタのフィンガ間の導通のみを因子として用いてよい。ロボットシステムは、アイテムがロボットアームエンドエフェクタの把持から滑ったと判定できない場合があるが、そのアイテムは導電性でありうる。唯一の因子として導通を用いることで、アイテムがロボットアームエンドエフェクタによって実際に落とされた時に、アイテムがロボットアームエンドエフェクタによってまだ把持されていると、ロボットシステムに判定させる可能性がある。対照的に、複数のモダリティを用いれば、意思決定プロセスにおいてバランスの取れたアプローチがロボットシステムに提供される。
【0042】
図1は、いくつかの実施形態に従って、アイテムをピックアンドプレースするためのシステムを示すブロック図である。図の例において、ロボットシステム101が、環境100内で動作している。ロボットシステム101は、固定ベース104上に取り付けられたロボットアーム102を構成する複数のジョイントされたセグメントと、エンドエフェクタ108と、1または複数のセンサ134と、コントローラ106と、を備える。いくつかの実施形態において、固定ベース104は任意選択的である。ロボットアーム102は、ロボットアーム102とロボットアーム102の遠位端に取り付けられたエンドエフェクタ108とを操作するよう構成されたコントローラ106に接続されている。いくつかの実施形態において、コントローラ106は、ロボットアーム102および/またはエンドエフェクタ108を含む剛体要素の間のそれぞれのジョイントの各々に構成されたモータへ、電圧および/またはその他の信号、入力などを供給して、対応するトルクをそれぞれのモータに印加させることで、モータの回転子に結合された要素をモータの非回転子が結合された要素に対して移動させることにより、ロボットアーム102およびエンドエフェクタ108を制御する。エンドエフェクタ108は、吸着グリッパ、平行グリッパ、ソフトグリッパ、器用グリッパ(dexterous gripper)、などを含んでよい。ロボットシステム101は、複数のエンドエフェクタを備え、物体を把持するのに最も適したエンドエフェクタを選択してよい。例えば、エンドエフェクタは、物体のテクスチャに基づいて選択されてよい。ロボットシステム101は、物体があまりに多くのしわのある領域を有する場合に、吸着グリッパの代わりに平行グリッパを選択してよい。
【0043】
図1に示す例において、ロボットアーム102は、テーブルまたはその他の表面110(例えば、作業空間エリア)から、アイテム(図の例では、異なる形状のアイテム112、114、および、116など)をピックアップして、コンベヤベルト118(荷下ろしエリア)の上にそれらをプレースするために用いられている。図に示すように、ロボットアーム102は、以前に、コンベヤベルト118上にアイテム120をプレースするために用いられ、コンベヤベルト118は、物体120がまもなくコンベヤベルト118から移動先122へ落ちるような方向に回転している。作業空間エリアは、動くプラットフォーム(ベルトコンベヤまたは回転するプラットフォームなど)もしくは動かないエリアを含んでよく、そこに、山積みのアイテム(安定または不安定)が配置されている。
【0044】
様々な実施形態において、
図1に示す「ピックアンドプレース」動作は、ロボットアーム102と、エンドエフェクタ108と、コントローラ106とを備えたロボットシステム101によって、少なくとも部分的には自律動作モードで実行される。例えば、いくつかの実施形態において、コントローラ106および/または1以上のその他の制御装置(プロセッサ、メモリ、および、その他の構成要素を備えたコンピュータなど)は、
図1に示すピックアンドプレース動作を実行するようプログラムされている。例えば、いくつかの実施形態において、プログラマまたはその他のオペレータは、ロボットシステム101が、自身の環境100と、一方ではテーブル110上のアイテム(または、いくつかの実施形態においては、テーブル110に関連付けられている座標のセットまたはその他の位置)に対する自身の位置、および、コンベヤベルト118に対する自身の位置と、を認識させるよう、ロボットシステム101をプログラムまたはその他の方法で構成した場合がある。
【0045】
いくつかの実施形態において、ロボットシステム101は、戦略のライブラリまたはその他のリポジトリを用いて、ピックアンドプレース動作および/またはその一部を実行するようプログラムされ、または、その他の方法で構成されている。例えば、ロボットシステム101は、その現在位置および環境100の認識を用いてテーブル110の上方の位置にエンドエフェクタ108を配置するよう構成されていてよい。コンピュータビジョンまたはその他の技術が、次にピックアップするアイテムの識別および選択のために用いられてよく、アイテムをピックアップするための戦略が、自律的に(例えば、アイテムの位置、形状、向き、提示された側面、テクスチャ、剛性などに基づいて)選択されてよい。
【0046】
例えば、
図1に示す例において、ロボットシステム101は、アイテム112に関連付けられている特徴部を立方体形状を有するものとして認識し、アイテム112をピックアップする前に、立方体形状のための把持戦略を選択した可能性がある。ロボットは、ピラミッド形状を有するものとしてアイテム114を認識し、ピラミッド形状のための把持戦略を選択してもよい。ロボットは、円柱形状を有するものとしてアイテム116を認識し、円柱形状のための把持戦略を選択してもよい。
【0047】
環境100は、複数のカメラ(カメラ115、117など)を備える。
図1は、2個のカメラを有する環境100を示しているが、環境100は、n個のカメラを備えてよく、ここで、nは、1より大きい数である。複数のカメラは、ロボットシステム101に有線または無線で接続されていてよい。いくつかの実施形態において、複数のカメラの内の少なくとも1つは、固定位置にある。いくつかの実施形態において、複数のカメラの内の少なくとも1つは、動的に移動している(例えば、ドローンなどの移動物体に取り付けられている)。いくつかの実施形態において、複数のカメラの内の少なくとも1つは、静止することと、異なる位置へ移動されることが可能である(例えば、第1位置でアイテムを検出し、カメラを第2位置に移動させ、第2位置でアイテムを検出する)。いくつかの実施形態において、1または複数のアイテムの認識された表面特徴部の変化を検出するために、様々な照明条件が環境100内で用いられる。
【0048】
複数のカメラを用いることで、ロボットシステム101は、異なる視点から環境100を見ることができるようになる。これは、アイテムが隠されることを防ぎ、アイテムの幾何形状およびアイテムの境界のより正確な評価を与える。例えば、カメラが大きいアイテムの隣の小さいアイテムを捕らえることを阻む(すなわち、小さいアイテムがカメラから遮蔽される)ように、大きいアイテムが配置されている場合がある。異なる位置から複数のカメラを用いることで、小さいアイテムが見えるようになり、小さいアイテムに関連付けられている境界情報を決定できようになる。広い作業空間は、単一のカメラでは網羅されえない。複数のカメラに関連付けられているビューが、作業空間エリア110のより完全なビューをロボットシステム101に与えるために、マージされてよい。カメラの内の1つが遮られても、ロボットシステム101は、アイテムをピックアンドプレースすることができる。
【0049】
いくつかの実施形態において、ロボットシステム101は、複数のカメラの内の1または複数によって生成された点群に基づいて、アイテムを分割する。ロボットシステム101は、RGBまたはマルチスペクトルカメラ画像(例えば、RGB、Depth、および/または、赤外線の組みあわせ、など)に基づいて、アイテムを分割できる。分割された物体は、潜在的に把持可能な領域を決定できるように、点群に逆投影されうる。これにより、点群情報のみに基づいてアイテムを分割した場合には利用できないさらなる情報(アイテムタイプ、予測される重量/材料、好ましい把持戦略、など)が提供される。この複合的な分割戦略は、深度のみでは区別しにくいアイテム(例えば、密に詰められた小さい箱は、点群としては1つの平面に見えうる)をピックする際にうまく機能するが、点群情報と組み合わせて画像分割を利用することで、ロボットシステム101は、各箱を識別し、入力から箱を抽出することができる。
【0050】
いくつかの実施形態において、ロボットシステム101は、テーブル110(例えば、作業空間エリア)からコンベヤベルト118(例えば、荷下ろしエリア)へ未知のアイテムを自律的にピックアンドプレースする。ロボットシステム101は、カメラ115、117を用いて、アイテム112、114、116が、テーブル110に配置されたことを判定してよい。コントローラ106は、カメラ115、117から受信された視覚データ(例えば、点群データ)に基づいて、幾何情報を決定する。コントローラ106は、カメラ115、117から受信された視覚データから決定された幾何情報に対応するアイテム112、114、116について、対応する潜在的に把持可能な特徴部を選択する。例えば、カメラ115、117から受信された視覚データに基づいて、コントローラ106は、アイテム112が立方体形状に対応する把持可能な特徴部を備え、アイテム114がピラミッド形状に対応する把持可能な特徴部を備え、アイテム116が円柱形状を備える、と判定しうる。コントローラ106は、閾値の範囲内で幾何学的物体と最もよく似ている把持可能な特徴部を選択してよい。例えば、コントローラ106は、決定された幾何情報を既知の特徴部のライブラリと比較し、その比較に基づいて、アイテムの特徴部を選択してよい。いくつかの実施形態において、特徴部は、カノニカル形状である。コントローラ106は、把持されるアイテム上にカノニカル形状を重ね合わせてよい。
【0051】
アイテムに関連付けられている1または複数の把持可能な特徴部を決定するために、コントローラ106は、アイテムの平面をランダムに切断して、アイテムを複数のサブセグメントに分解してよい。アイテムは、点群のデータ点の占有率が最小の平面で切断されてよい(アイテムの上部にある尖った特徴部を把持することに関連する)。アイテムの平面は、アイテムの色または外観の強い勾配に基づいて切断されてよい。いくつかの実施形態において、一般的な生成済みのサブ領域内の点群に外れ値があるかどうかを判定するために、メンバーシップ関数が用いられる。さらなる切断平面が、追加されてよく、または、アイテムが、高い剰余を持つ分離領域に分けられてよい。サブセグメントは、別々に処理されてよい。例えば、外れ値検出技術が、サブセグメントに適用されてよい。いくつかの実施形態において、5σが、ガウス分布を点にフィットさせ、平均から5σ(標準偏差)離れた点を識別し、識別された点を外れ値としてマークする。いくつかの実施形態において、点群にサブサンプリング法を利用し、平均に再フィットさせる。次いで、それらの点は、平均から特定の距離だけ離れた点を見つけるために用いられる。
【0052】
いくつかの実施形態において、アイテムのサブセグメントが、エンドエフェクタ108によるアイテムとの相互作用のリーチに基づいて、決定される。例えば、エンドエフェクタ108が、幅の広いアイテム全体を把持することができない場合、コントローラ108は、アイテムの幅広部分でアイテムを把持しないことを決定する。吸着グリッパエンドエフェクタが利用されている場合、比較的滑らかな平面が探される。空所ベースのピック戦略または最小占有切断平面が、回避されてよい。プリミティブが、新たに分割された点群に再フィットされる。処理は、或るレベルの品質または再帰制限が満たされるまで、反復的に繰り返されてよい。
【0053】
コントローラ106は、カメラ115、117から受信された視覚データに基づいて、アイテムに関連付けられているネガティブスペース情報(例えば、空所)を決定してよい。例えば、コントローラ106は、コーヒーマグの取っ手がネガティブスペースを含むこと、または、車のタイヤがネガティブスペースを含むことを決定してよい。複数のカメラからのデータを用いるコンピュータビジョンアルゴリズムが、カップ、マグカップ、巻かれたワイヤ、テープなどのアイテムの空所(例えば、穴)を決定してよい。空所が検出された場合、グリッパを空所に挿入して、アイテムの側壁からアイテムをピックすることにより、アイテムを把持することができる。
【0054】
コントローラ106は、カメラ115、117から受信された視覚データに基づいて、ピックされるアイテムの湾曲を判定してよい。コントローラ106は、アイテムが湾曲していると判定した場合、コントローラ106は、プレース時にアイテムが転がって行くのを防ぐために、湾曲したアイテムをより慎重にプレースし、ゆっくりと把持解除するように、アイテムのプレースに関連付けられている制御戦略を変更してよい。いくつかの実施形態において、湾曲したアイテムは、比較的平坦な表面を備える。ロボットシステム101は、比較的平坦な表面を下にしてアイテムを配置し、より安定する配置を達成するためにアイテムの向きを変えてよい。カメラ115、117から受信された視覚データにより、アイテムの把持が最初に解放された後に、プレースされたアイテムが転がっている、または、動いていることが示唆された場合、コントローラ106は、アイテムを再び把持し、把持が再び解放される前にアイテムを安定させようとしてよい。コントローラ106が閾値回数を超えてアイテムの把持/再把持を試みた場合、警告が、ユーザ130に提供され、アイテムが転がって行く可能性があることをユーザ130に警告してよい。
【0055】
コントローラ106は、カメラ115、117から受信された視覚データに基づいて、アイテム112、114、116に関連付けられている対応する特徴部を決定する。例えば、コントローラ106は、アイテムが取っ手を備えると判定しうる。カメラから受信された視覚データは、アイテムに関連付けられている最小境界と、アイテムに関連付けられている最大境界とを決定するために用いられてよい。アイテムの境界は、アイテムに関連付けられている高さ、幅、または、奥行きを備える。視覚データは、アイテムの境界の内の1または複数を決定することを可能にするデータを提供しうる。
【0056】
コントローラ106は、把持戦略を特徴部と関連付けるデータ構造を格納するメモリ(図示せず)に関連付けられている。把持戦略は、把持技術、および、その把持技術を用いて特徴部を把持する方法、で構成されてよい。いくつかの実施形態において、把持戦略は、物体/セグメントの幾何推定にフィットされうる境界ボックスの長軸および短軸を把持することを含む。いくつかの実施形態において、把持戦略は、或るZ方向の高さでアイテム/セグメント推定を切断し、境界ボックスを再計算することを含む。次いで、再計算された境界ボックスの長軸および短軸が把持されてよい。これは、アイテムが幅広いベースを有するが、中央のどこかに小さいタワーを有し、ロボットシステムが、そのタワーを正確に把持したい場合に、有効である。メモリは、把持技術を実行する方法に関する命令も格納する。それらの命令は、他のアイテムへの衝突を避けるために必要に応じて、グリッパを部分的に事前に閉じる指示を含んでよい。メモリは、プレース技術を実行する方法に関する命令も格納する。それらの命令は、エンドエフェクタ108が、荷下ろしエリアでアイテムをプレースする際に他のアイテムを乱さないように、エンドエフェクタ108のグリッパフィンガを部分的に開く命令を備えてよい。メモリは、エンドエフェクタのメカニズムおよび幾何形状に関する情報も格納する(例えば、平行グリッパ対吸着グリッパ、グリッパフィンガの幅/長さ、など)。
【0057】
把持技術は、1または複数の特徴部に関連付けられてよい。例えば、ピラミッド形状に対応する把持可能な特徴部、立方体形状に対応する把持可能な特徴部、または、平行六面体形状に対応する把持可能な特徴部を備えたアイテムには、吸着技術が用いられてよい。球形状に対応する把持可能な特徴部を備えたアイテムには、平行把持技術が用いられてよい。特徴部は、1または複数の把持技術に関連付けられてよい。例えば、球形状に対応する把持可能な特徴部には、平行把持技術またはすくい上げ技術が用いられてよい。様々なタイプのグリッパが、特定の形状を有する特徴部を把持するために用いられてよい。例えば、第1把持技術が、平行グリッパを利用してよく、第2把持技術が、吸着グリッパを利用してよい。いくつかの実施形態において、グリッパのタイプは、ピックアンドプレース動作中にグリッパタイプの間で自律的に切り替えられる。把持技術は、特徴部の様々な部分に用いられてよい。例えば、平行把持技術が、特徴部の上部、中間部、または、底部に用いられてよい。コントローラ106は、特徴部に関連付けられた把持戦略の各々に対して、対応するスコアを決定する。いくつかの実施形態において、アイテムは、複数の特徴部に関連付けられる。コントローラ106は、複数の特徴部の各々に対する1または複数の把持技術を決定し、決定した把持技術に対して、対応するスコアを決定してよい。
【0058】
把持技術に関連付けられるスコアは、把持戦略が特徴部の把持の成功につながる確率に基づいてよい。把持戦略が特徴部の把持の成功につながる確率は、1または複数のモダリティ(環境に関するコンテキスト情報、環境に対する履歴把持情報、ロボットアームが特徴部を把持する角度(他のアイテムとの衝突を避けるため)、ロボットアームが特徴部を把持する高さ(グリッパの上部における衝突を防ぐため)、把持幅、把持点における表面法線の向き、把持可能な特徴部の量、材料特性、など)に基づいてよい。環境に関するコンテキスト情報は、アイテムの近くにあるかまたは隣接する他のアイテムの存在、アイテムの近くにあるかまたは隣接する他のアイテムがロボットアームによる特徴部の把持の能力を妨げる程度、さらなるアイテムが作業空間エリアに連続的に追加されているか否か、などを含む。材料特性は、アイテムの重心、アイテムの摩擦特性、色、反射率、などを含みうる。例えば、ロボットシステム101は、大きいアイテムを安定してプレースすることができるように、大きい支持面を構築してよい。ロボットシステム101は、アイテムおよびプレース支持面の摩擦係数を考慮して、アイテムが傾いたプレース支持面から滑り落ちる可能性があることを検出した場合、(例えば、滑りを避けるために)十分に高い摩擦係数を持つアイテムのみをピックするように選択するよう構成されていてよい。
【0059】
コントローラ106は、把持戦略の各々に関連付けられた対応するスコアに基づいて、把持戦略の1つを選択する。アイテムは、雑然と山積みにされたアイテムの多様な集まりでありうる。アイテムは、サイズ、色、高さ、幾何形状、テクスチャ、剛性、などが異なりうる。アイテムは、一つずつ山から取り去られる。アイテムのいくつかは、少なくとも部分的に遮蔽されている。雑然とした山の中のすべてのアイテムが、事前には未知である。コントローラ106は、最高スコアを持つ把持戦略を選択する。2以上の把持戦略が同じ高スコアを有する場合、コントローラ106は、把持戦略の1つを選択し、その把持戦略に関連付けられた特徴部をピックし、アイテムを荷下ろしエリアに移動させ、次いで、他の把持戦略に関連付けられた残りのアイテムを選択する。
【0060】
コントローラ106は、アイテムに関連付けられている特徴部をエンドエフェクタ108に把持させる。図の例において、コントローラ106は、エンドエフェクタ108にアイテム112をすでに把持させている。コントローラ106は、グリッパメカニズムおよび幾何形状に関する事前知識を用いて、把持予測問題を単純化してよい。例えば、エンドエフェクタ108が、上方からアイテム(アイテム112など)にアプローチする場合、コントローラ106は、把持可能な突起を識別するために点群の上部分を解析する。いくつかの実施形態において、ロボットシステムが移動するにつれて、カメラ115、117は、さらなるデータ(例えば、より近い場所、異なる角度、異なる照明、反射率、など)を収集し、ロボットシステム101は、新しいデータに基づいてエンドエフェクタ108にアイテムを把持させる方法を調整する。
【0061】
アイテムの把持点が、アイテムのメッシュ化または分割されたバージョンを用いて決定されてよい。把持されるアイテムの近似が構築され、ライブラリまたは機械学習法を用いたモデルマッチングが、アイテムの最適な把持位置を決定するために用いられる。把持点は、ランク付けされる。コントローラ106は、エンドエフェクタ108に、把持点の1つでアイテムを把持させる。
【0062】
様々な実施形態において、エンドエフェクタ108は、本明細書に開示されているように、1または複数の触覚検知ユニット(図示せず)を備える。システムは、触覚検知ユニットからの検知値を用いて、アイテムの把持が成功したか否かを判定する。システムは、さらに、触覚検知ユニットからの検知値を用いて、アイテムがエンドエフェクタ108の把持から滑り始めまたは滑っているか否かを判定する。いくつかの実施形態において、システムは、触覚検知ユニットからの検知値と、マルチモーダルモデルとを用いて、エンドエフェクタ108に把持されているアイテムの向きを変えおよび/または他の方法で再配置するための戦略を決定および実施する。例えば、システムは、エンドエフェクタ108のフィンガまたはその他の係合構造の間で下向きに滑らせ、もしくは、エンドエフェクタ108に把持されたままで回転させることなどによって、予期および意図したようにアイテムが滑り始める程度までアイテムの把持を意図的に緩めてよい。アイテムが所望の位置および/または向きに至ると、停止させてさらなる滑りを防ぐ必要に応じて、より大きい力が印加される。触覚検知ユニットは、1または複数のセンサを備える。1または複数のセンサの各々は、エンドエフェクタ108のアイテム(アイテム112など)との係合に関連付けられている検知値を反映する出力を提供するよう構成されている。1または複数のセンサ出力は、エンドエフェクタ108のアイテムとの係合を示す複数のモダリティを決定するために用いられる。
【0063】
1または複数のセンサは、磁気センサ、光学センサ、電気機械センサ、圧力センサ、ひずみゲージ、力センサ、導電率センサ、電流センサ、電圧センサ、静電容量センサ、抵抗センサ、インダクタンスセンサ、赤外線センサ、温度センサ、などの内の1または複数を含んでよい。複数のモダリティは、重量、変形、導通、導電率、圧力、抵抗、インダクタンス、静電容量、または、ロボットアームエンドエフェクタの係合を示す任意のその他の因子、を含みうる。
【0064】
1または複数の触覚検知ユニットは、コントローラ106に接続されている。エンドエフェクタ108は、同様にコントローラ106に接続されているその他のセンサを備えてもよい。例えば、エンドエフェクタ108のフィンガをロボットアーム102に接続するハウジングが、力および/またはトルクを測定するために用いられる1または複数のセンサを備えてよい。複数のセンサ(1以上の触覚検知ユニットセンサおよび/または1以上のハウジングセンサ)は、それらの対応する出力をコントローラ106に提供する。コントローラ106は、センサ出力を用いて、エンドエフェクタ108とアイテム(アイテム112など)との間の係合に関連付けられている1以上の力および/または1以上のモーメントを決定してよい。コントローラ106は、センサ出力を用いて、触覚検知ユニットの各々に関連付けられている力およびモーメントを決定してよい。
【0065】
コントローラ106は、センサ出力を用いて、複数のモダリティに対応する値を決定してよい。例えば、検知された重量、検知された変形、検知された導電率、検知された圧力、検知された抵抗、検知されたインダクタンス、および/または、検知された静電容量が決定されてよい。複数のモダリティは各々、係数に関連付けられている。いくつかの実施形態において、複数のモダリティは、均等に重み付けされる(例えば、それらは各々、関連付けられた係数「1」を有する)。いくつかの実施形態において、複数のモダリティの一部は、異なる重みを有する。例えば、選択アイテムは、金属物体であってよく、導電率因子に関連付けられている係数は、変形因子に関連付けられている係数よりも小さくてよい。
【0066】
コントローラ106は、ロボットアームエンドエフェクタがアイテムを把持したか否かを判定するために、マルチモーダルモデルを実装してよい。コントローラ106は、アイテムがエンドエフェクタ108の把持から滑り始めおよび/または滑っているか否かを判定するために、マルチモーダルモデルを実装してよい。マルチモーダルモデルは、ルールベースモデル、予測モデル、機械学習モデル(例えば、ニューラルネットワーク、線形分類器、サポートベクターマシン、線形回帰、ロジスティック回帰、決定木、深層学習、など)、などであってよい。いくつかの実施形態において、マルチモーダルモデルは、アイテムがエンドエフェクタ108の把持から滑り始めているか否かに関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがエンドエフェクタ108の把持から滑っているか否かに関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがエンドエフェクタ108の把持から滑り始めているか否かの確率を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがエンドエフェクタ108の把持から滑っているか否かの確率を出力するよう構成されている。
【0067】
入力(例えば、モダリティの位置t部または全部に関連付けられている値)は、マルチモーダルモデルに適用され、ロボットシステム101は、マルチモーダルモデルの出力に基づいて応答動作を実行するよう構成されている。いくつかの実施形態において、ロボットシステム101は、テーブル110からコンベヤベルト118へアイテムを移動させる。いくつかの実施形態において、ロボットシステム101は、アイテムを把持するために、さらなる力を印加する。いくつかの実施形態において、ロボットシステム101は、アイテムを降ろして、アイテムを再把持する。いくつかの実施形態において、ロボットシステム101は、人的介入を要求する。いくつかの実施形態において、ロボットシステム101は、ロボットシステムがアイテムを把持している方法を調整する。いくつかの実施形態において、ロボットシステム101は、アイテムを降ろすことなしに、ロボットアーム102の手のひらまたはロボットシステム101の他の部分にアイテムを載せるように、その把持構成を変化させる。
【0068】
エンドエフェクタ108は、アイテム(この例では、アイテム112)を荷下ろしエリア(コンベヤベルト118など)へ移動させる。エンドエフェクタ108は、アイテムを荷下ろしエリアにプレースする。ロボットシステム101は、複数のカメラを用いて、ロボットシステム101がアイテムをプレースすべきと考える場所の近くの位置にアイテムをプレースしてよい。ロボットシステム101は、荷下ろし位置にアイテムを降ろし、荷下ろしエリアがアイテムを押し戻す力をロボットシステム101が感知したのを検出してよい。いくつかの実施形態において、ロボットシステム101は、アイテムの底部と荷下ろしエリアとの間の衝突時の機械的振動を用いて、アイテムが支持面上にうまくプレースされていることを確認する。ロボットシステム101は、荷下ろしエリアに到達したことを検出すると、エンドエフェクタ108を開き、または、吸着を停止して、アイテムを穏やかに降ろす。エンドエフェクタ108を開いている間に、ロボットシステム101は、プレースする力を制御するために上下に移動してよい(接触している間にグリッパを開くと、アイテムを潰すことがある)。これにより、ロボットシステム101は、プレース面の高さの推定値が誤差を含みやすくまたは未知である場合に、アイテムを積み重ねること、もしくは、プレース高さを動的に調整することができるようになる。これは、他のアイテムが邪魔になる場合にも役立つ。いくつかの実施形態において、ロボットシステム101は、転がり落ちうる任意のアイテムが荷下ろしエリアにプレースされるか否かを判定する。転がり落ちる可能性のあるアイテムがない場合、コントローラ106は、1または複数の他のアイテムをプレースするためのスペースを作るように荷下ろしエリアにすでにあるアイテムを押して互いに近づけるよう、ロボットアーム102およびエンドエフェクタ108を制御してよい。転がり落ちるかまたは転倒する可能性のあるアイテムがある場合、コントローラ106は、アイテムを回転させてアイテムの安定した支持面を荷下ろしエリア上にプレースするよう、ロボットアーム102およびエンドエフェクタ108を制御してよい。
【0069】
様々な実施形態において、ロボットシステム101は、遠隔操作による介入を自動的にプロンプトする。いくつかの実施形態において、
図1に示すピックアンドプレース動作を実行する過程で、ロボットシステム101がその動作を(さらに)実行するための(次の)戦略を決定できない状態に至った場合、ロボットシステム101は、遠隔操作で手助けするように(この例では)遠隔オペレータにプロンプトする。
【0070】
図の例において、コントローラ106は、ネットワーク124を介して遠隔操作コンピュータ126に接続されている。いくつかの実施形態において、遠隔操作コンピュータ126は、例えば、ネットワーク124を介してコントローラ106へ高レベル命令を通信することによって、自律モードでのロボットシステム101の動作に関与してよい。様々な実施形態において、コントローラ106および遠隔操作コンピュータ126の一方または両方は、例えば、ロボットシステム101が動作の中の次のタスクまたはステップを実行(完了)するために利用可能な戦略を持たない状態に至った場合に、遠隔操作による介入を指示してよい。
【0071】
例えば、
図1をさらに参照すると、物体114が落とされて、三角形の側面をロボットに提示する向きで、平坦な側の1つを下にして着地した場合に、いくつかの実施形態において、ロボットシステム101は、アイテム114をピックアップするために利用可能な戦略を持たない可能性があり、ならびに/もしくは、タイムアウトするか、または、アイテム114をピックアップするための試行について設定された回数を使い果たしている可能性がある。それに応じて、遠隔操作オペレータ130は、遠隔操作を通して介入するようプロンプトされてよく、手動入力装置128を用いて、ロボットの動作を制御してよい。例えば、遠隔操作オペレータ130は、アイテム114をピックアップして、アイテムをコンベヤベルト118上にプレースするように、ロボットシステム101を操作してよい。また、遠隔操作オペレータは、ロボットシステム101を用いて、アイテム114の向きを、自律ロボットシステム101がアイテム114をピックアップするために利用可能な戦略を持つと期待される(または可能性が高い)向きに変更してもよい。
【0072】
いくつかの実施形態において、ロボットシステム101は、遠隔操作を監視し、遠隔操作に基づいてマルチモーダルモデルを更新する。例えば、ロボットシステム101に関連付けられているセンサ(例えば、1以上の触覚検知ユニットセンサおよび/または1以上のハウジングセンサ)は、遠隔操作中に値を出力してよい。遠隔操作による把持試行がアイテムの把持に成功した場合、ロボットシステムは、把持の成功を示すセンサ出力値を学習し、それらの学習した値をその後の自律的把持に用いて、アイテムの把持が成功したか否かを判定することができる。遠隔操作による把持試行がアイテムの把持に失敗した場合、ロボットシステムは、把持の失敗を示すセンサ出力値を学習し、それらの学習した値をその後の自律的把持に用いて、アイテムの把持が成功しなかったか否かを判定することができる。遠隔操作は、複数回実行されうる。複数回の遠隔操作を通して、ロボットシステムは、把持の成功を示すセンサ出力値の範囲と、把持の失敗を示すセンサ出力値の範囲とを学習することができる。アイテムの異なるタイプ、形状、および/または、サイズに対応する範囲が学習されてよい。
【0073】
図の例において、遠隔操作は、手動入力装置128(例えば、ハプティック入力装置)の操作を通して人間のオペレータ130によって実行されてよい。人間のオペレータ130(時に、遠隔操作オペレータとも呼ばれる)は、遠隔操作コンピュータ126を構成するおよび/または関連付けられている表示装置に表示された情報によって、遠隔操作を開始するように指示されてよい。1または複数のセンサ134からのデータが、ネットワーク124および遠隔操作コンピュータ126を介して人間のオペレータ130に提供されてよい。いくつかの実施形態において、センサ134は、ロボット上のカメラ(図示せず)またはカメラ115、117を含み、遠隔操作オペレータ130に表示されて、遠隔操作を介して動作または動作の一部の実行を行うおよび/または完了するために用いられるビデオフィードを生成するよう構成されている。様々な実施形態において、カメラは、低遅延、高スループットの接続で接続されており、かかる接続は、例えば、アナログRFベース通信、WiFi、Bluetooth、および、サブGHzの内の1または複数を含むが、それらに限定されない。いくつかの実施形態において、異なるタイプのカメラが併用される。例えば、2つのRGB可視化カメラ、4つの深度カメラ、2つのIRカメラなど、異なる通信速度、帯域幅、および/または、その他の特徴を持つ複数のカメラが用いられてもよい。
【0074】
様々な実施形態において、様々な異なるセンサ134を用いて遠隔操作が実行されてよい。いくつかの実施形態において、これらのセンサは、ロボットシステム101が「スタック」しているか否かを判定する際にロボットを導きうる、および/または、遠隔操作を簡単にしうる。いくつかの実施形態において、センサは、遠隔操作の様式を、直接的なハプティック制御から、ますます抽象的なエグゼクティブコマンド(ピックする対象物をマウスでクリックする、または、音声転写装置に向かって「棚を開け(open shelf)」と言う、など)へ移行させるのに役立つ。
【0075】
様々な実施形態において用いられるセンサ134の例は、環境との相互作用および特定の「スタック」シナリオ、および/または、ロボットシステム101(または遠隔操作オペレータ)の近くの未知のエージェントの存在、を検出するよう構成されたデジタルスイッチを含む。さらなる例は、動作(把持など)の成功または失敗を判定するハンドまたはロボット上の力センサまたは圧力センサを含む。一連の失敗の後に、ロボットシステム101は、自身が「スタック」していると判定する。別の例は、計画されたおよび/または他の形で期待される動きの軌道を正確に辿っているか否かを知るためにロボットシステム101によって利用されうる1または複数のセンサ(ロボット関節上の位置センサなど)である。期待された軌道を正確に辿っていない場合、環境100との接触を起こした可能性があり、ロボットシステム101は、「スタック」したので人的介入を求める必要があると結論づけるようプログラムされていてよい。
【0076】
複数のカメラを備えたビジョンシステムが、マルチモードの手段(例えば、RGBインスタンストラッキング、RGBフィーチャマッチング、RGBオプティカルフロー、点群マッチング、など)によって作業空間エリア内の各アイテムを追跡し、ハンガリアンペアマッチングなどの方法を用いて、ロボットシステム101がピックするアイテムを追跡するよう構成されている。ロボットシステム101は、速度、落下する/滑っていく可能性、および、運動の軌道など、各追跡対象アイテムの状態を推定するよう構成されている。ロボットシステム101は、より高い精度でアイテムの状態を更新するために、運搬システムおよびセンサ134の現在の速度および大きさなど、他の既知の情報を用いてよい。決定されたアイテムの状態は、どこでどのアイテムをピックするか、および、どこで/いつ/どのようにアイテムをプレースするか、に関して情報に基づいて決定するために、ロボットシステム101によって用いられてよい。例えば、ロボットシステム101は、ロボットアーム102の動作時間および移動するアイテムの速度を補償するために、将来的に推定されるアイテムの位置から、ピック(把持)するのに、あるいは、(移動中でも)ピックするのに、より安定したアイテムを選択できる。ロボットシステム101は、環境100から推定される初速度でアイテムをプレースすることにより、アイテムを落下させず、転がすことなしに、より着実に、移動プラットフォームの荷下ろしエリアにアイテムをプレースできる。また、ロボットシステム101は、荷下ろしエリア118にアイテムをプレースするために、無衝突区域を選択してよい。衝突区域は、追跡対象アイテムの推定軌道から決定されてよい。複数のカメラに関連付けられているデータを用いて、ロボットシステム101は、把持されたアイテムおよび環境100の形状を理解することができる。これは、ロボットシステム101が、ピックされたアイテムと環境100との間の衝突を回避する軌道をインテリジェントに計画することを可能にする。
【0077】
いくつかの実施形態において、複数のロボットシステムが、アイテムをピックアンドプレースするために共に作業している。複数のロボットシステムを用いることで、システムの総スループットが向上しうる。
【0078】
図2は、いくつかの実施形態に従って、ロボットアームエンドエフェクタを示すブロック図である。様々な実施形態において、エンドエフェクタ200は、
図1のエンドエフェクタ108を実施するために用いられてよい。
【0079】
図の例において、エンドエフェクタ200は、回転可能なカップリングを介してロボットアーム204に取り付けられている本体またはハウジング202を備える。いくつかの実施形態において、ハウジング202とロボットアーム204との間の接続は、制御コンピュータ(
図1のコントローラ106など)によって制御されるモータ駆動ジョイントを備えてよい。エンドエフェクタ200は、さらに、関節のある指210および212を備えたグリッパと、グリッパ制御モジュール208に電力を供給するためにロボットアーム204を通ってハウジング202に至る電力ライン206と、を備える。様々な実施形態において、制御モジュール208は、例えば、無線および/または有線通信によって、通信インターフェース214を通してエンドエフェクタ200の外部の制御コンピュータ(例えば、
図1のコントローラ106)に接続されている。制御モジュール208は、例えば、エンドエフェクタ200を用いて、ピックアップ、移動、および、プレースされるアイテムを把持するために、グリッパ指210、212を操作するよう動作可能な電子要素および/または電気機械要素を備える。
【0080】
図の例において、ハウジング202の側面に取り付けられたカメラ216が、エンドエフェクタ200の下方の視野の画像データを提供する。複数の力センサ218、220、222、224、226、および、228が、それぞれ、指210および212のマウント点に印加されている力を測定する。様々な実施形態において、力の測定値は、通信インターフェース214を介して、外部および/またはリモートの制御コンピュータへ通信される。センサの読み取り値は、様々な実施形態において、ロボットアーム204およびエンドエフェクタ200を用いて、アイテムを他のアイテムおよび/または側壁またはその他の構造に隣接する場所にぴったり収めることを可能にするため、ならびに/もしくは、不安定性(例えば、まだ吸着下であるが、アイテムがプレースされて安定すると期待された場所にある時に、アイテムを押し下げた状態で押し返しが不十分である)を検出するために、用いられる。
【0081】
いくつかの実施形態において、他のアイテム、荷役台、および/または、環境との衝突を検出するため、ならびに、軌道の「コンプライアントな」調整によって自動動作を継続するために、センサが利用される。例えば、壁またはその他の構造にぶつかった場合、いくつかの実施形態において、ロボットアームは、力を弱め、障害物から離れるまで障害物に沿って辿るように軌道を調整する。
【0082】
重量センサ215は、力センサ、ロードセル、または、ハウジング202へ直接的または間接的に印加されている力を検出できる任意のその他のセンサ、であってよい。重量センサ215は、回転トルクおよび/または指向性トルクを測定するよう構成されていてよい。重量センサ215は、エンドエフェクタ202がアイテムと係合している時に力およびモーメントを測定するよう構成されていてよい。
【0083】
触覚検知ユニット211、213は、それぞれ、関節のある指210、212に関連付けられている。いくつかの実施形態において、触覚検知ユニット211、213は、それぞれ、指210、212に取り付けられている。いくつかの実施形態において、触覚検知ユニット211、213は、指210、212の各々が、対応する触覚検知ユニット211を有するように、エンドエフェクタ200上に配置された検知カバーの中に備えられている。検知カバーは、指210、212と、ハウジング202とを覆っていてよい。いくつかの実施形態において、触覚検知ユニット211、213は、同じタイプの触覚検知ユニットである。いくつかの実施形態において、触覚検知ユニット211、213は、異なるタイプの触覚検知ユニットである。例えば、指210は、
図3Bに示す触覚検知ユニットに関連付けられてよく、指212は、
図3Eに示す触覚検知ユニットに関連付けられてよい。
【0084】
図3Aは、いくつかの実施形態に従って、触覚検知ユニットを示すブロック図である。図の例において、触覚検知ユニット300は、触覚検知ユニット211または触覚検知ユニット213などの触覚検知ユニットとして実装されてよい。
【0085】
触覚検知ユニット300は、導電層302と、変形層304と、基板層306と、を備える。いくつかの実施形態において、導電層302、変形層304、および、基板層306は、平面層である。いくつかの実施形態において、導電層302、変形層304、および、基板層306は、曲面層である。触覚検知ユニット300は、プロセッサ(図示せず)に接続されている。いくつかの実施形態において、導電層302または基板層306は、任意選択的である。いくつかの実施形態において、導電層302および変形層304は、単一の層に統合される。
【0086】
導電層302は、導通またはその他の電気特性(導電率、抵抗、静電容量、または、インダクタンス、など)の検知を可能にする導電材料を含んでよい。例えば、導電層302は、第1フィンガに取り付けられている第1触覚検知ユニットが第2フィンガに取り付けられている第2触覚検知ユニットに接触した時に、第1および第2触覚検知ユニットの導電層が接触するように、触覚検知ユニットの最上層であってよい。把持動作の前に、基準導通値、基準導電率値、基準抵抗値、基準静電容量値、および/または、基準インダクタンス値が、決定されてよい。基準検知値は、ロボットアームエンドエフェクタがアイテムと係合する前のテア値であってよい。把持動作中、エンドエフェクタは、そのフィンガを用いて、アイテムを把持してよく、プロセッサは、1以上の導通値、1以上の導電率値、1以上の抵抗値、1以上の静電容量値、および/または、1以上のインダクタンス値を決定するために、電気信号を第1触覚検知ユニットに送信してよい。いくつかの実施形態において、電気信号は、周波数が異なる。1以上の決定された導通値、1以上の決定された導電率値、1以上の決定された抵抗値、1以上の決定された静電容量値、または、1以上の決定されたインダクタンス値は、エンドエフェクタがアイテムを把持したこと、または、把持しなかったことを示唆しうる。
【0087】
ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間、導電層に関連付けられている検知値は変化しうる。ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/またはロボットアームエンドエフェクタの把持からアイテムが滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間に、ロボットシステムのプロセッサが経時的に検知値を監視してよい。
【0088】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている導通値を有しうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の導通値を、把持成功に関連付けられている導通値と比較してよい。現在の導通値が、把持成功に関連付けられている導通値から閾値量だけ変化している場合(すなわち、2つの触覚検知ユニットの導電層が接触している場合)、現在の導通値は、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。現在の導通値が、把持成功に関連付けられている導通値から閾値量だけ変化していない場合、現在の導通値は、アイテムがエンドエフェクタの把持から滑っていないことを示唆しうる。
【0089】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている導電率値を有しうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の導電率値を、把持成功に関連付けられている導電率値と比較してよい。現在の導電率値が、把持成功に関連付けられている導電率値から第1閾値量だけ変化している場合、現在の導電率値は、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在の導電率値が、把持成功に関連付けられている導電率値から第1閾値量だけ変化していない場合、現在の導電率は、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在の導電率値が、把持成功に関連付けられている導電率値から第2閾値量だけ変化している場合、現在の導電率値は、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。第2閾値量は、第1閾値量よりも大きくてよい。
【0090】
いくつかの実施形態において、ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている導電率プロファイルを有しうる。導電率プロファイルは、1または複数の触覚センサからの出力に基づく1または複数の導電率値で構成されうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の導電率プロファイルを、把持成功に関連付けられている導電率プロファイルと比較してよい。現在の導電率プロファイルが、把持成功に関連付けられている導電率プロファイルから(例えば、第1閾値量だけ)変化している場合、現在の導電率プロファイルは、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在の導電率プロファイルが、把持成功に関連付けられている導電率プロファイルから変化していない場合、現在の導電率プロファイルは、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在の導電率プロファイルが、エンドエフェクタの把持からアイテムが滑り始めていることを示す導電率プロファイルから(例えば、第2閾値量だけ)変化している場合、現在の導電率プロファイルは、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。
【0091】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている抵抗値を有しうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の抵抗値を、把持成功に関連付けられている抵抗値と比較してよい。現在の抵抗値が、把持成功に関連付けられている抵抗値から閾値量だけ変化している場合、現在の抵抗値は、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在の抵抗値が、把持成功に関連付けられている抵抗値から閾値量だけ変化していない場合、現在の抵抗値は、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在の抵抗値が、把持成功に関連付けられている抵抗値から第2閾値量だけ変化している場合、現在の抵抗値は、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。第2閾値量は、第1閾値量よりも大きくてよい。
【0092】
いくつかの実施形態において、ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている抵抗プロファイルを有しうる。抵抗プロファイルは、1または複数の触覚センサからの出力に基づく1または複数の抵抗値で構成されうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の抵抗プロファイルを、把持成功に関連付けられている抵抗プロファイルと比較してよい。現在の抵抗プロファイルが、把持成功に関連付けられている抵抗プロファイルから(例えば、第1閾値量だけ)変化している場合、現在の抵抗プロファイルは、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在の抵抗プロファイルが、把持成功に関連付けられている抵抗プロファイルから変化していない場合、現在の抵抗プロファイルは、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在の抵抗プロファイルが、エンドエフェクタの把持からアイテムが滑り始めていることを示す抵抗プロファイルから(例えば、第2閾値量だけ)変化している場合、現在の抵抗プロファイルは、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。
【0093】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている静電容量値を有しうる。また、プロセッサは、関連付けられている静電容量値に基づいて、把持されたアイテムの材料を決定してもよい。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の静電容量値を、把持成功に関連付けられている静電容量値と比較してよい。現在の静電容量値が、把持成功に関連付けられている静電容量値から第1閾値量だけ変化している場合、現在の静電容量値は、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在の静電容量値が、把持成功に関連付けられている静電容量通値から第1閾値量だけ変化していない場合、現在の静電容量値は、アイテムがエンドエフェクタの把持から滑っていないことを示唆しうる。現在の静電容量値が、把持成功に関連付けられている静電容量値から第2閾値量だけ変化している場合、現在の静電容量値は、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。第2閾値量は、第1閾値量よりも大きくてよい。
【0094】
いくつかの実施形態において、ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている静電容量プロファイルを有しうる。静電容量プロファイルは、1または複数の触覚センサからの出力に基づく1または複数の静電容量値で構成されうる。また、プロセッサは、関連付けられている静電容量値に基づいて、把持されたアイテムの材料を決定してもよい。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在の静電容量プロファイルを、把持成功に関連付けられている静電容量プロファイルと比較してよい。現在の静電容量プロファイルが、把持成功に関連付けられている静電容量プロファイルから(例えば、第1閾値量だけ)変化している場合、現在の静電容量プロファイルは、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在の静電容量プロファイルが、把持成功に関連付けられている静電容量プロファイルから変化していない場合、現在の静電容量プロファイルは、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在の静電容量プロファイルが、エンドエフェクタの把持からアイテムが滑り始めていることを示す静電容量プロファイルから(例えば、第2閾値量だけ)変化している場合、現在の静電容量プロファイルは、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。
【0095】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられているインダクタンス値を有しうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在のインダクタンス値を、把持成功に関連付けられているインダクタンス値と比較してよい。現在のインダクタンス値が、把持成功に関連付けられているインダクタンス値から第1閾値量だけ変化している場合(すなわち、2つの触覚検知ユニットの導電層が接触している場合)、現在のインダクタンス値は、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在のインダクタンス値が、把持成功に関連付けられているインダクタンス値から第1閾値量だけ変化していない場合、現在のインダクタンス値は、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在のインダクタンス値が、把持成功に関連付けられているインダクタンス値から第2閾値量だけ変化している場合、現在のインダクタンス値は、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。第2閾値量は、第1閾値量よりも大きくてよい。
【0096】
いくつかの実施形態において、ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられているインダクタンスプロファイルを有しうる。インダクタンスプロファイルは、1または複数の触覚センサからの出力に基づく1または複数のインダクタンス値で構成されうる。ロボットアームエンドエフェクタが、第1位置から第2位置へ移動されているアイテムを把持している間に、プロセッサは、現在のインダクタンスプロファイルを、把持成功に関連付けられているインダクタンスプロファイルと比較してよい。現在のインダクタンスプロファイルが、把持成功に関連付けられているインダクタンスプロファイルから(例えば、第1閾値量だけ)変化している場合、現在のインダクタンスプロファイルは、アイテムがエンドエフェクタの把持から滑り始めていることを示唆しうる。現在のインダクタンスプロファイルが、把持成功に関連付けられているインダクタンスプロファイルから変化していない場合、現在のインダクタンスプロファイルは、アイテムがエンドエフェクタの把持から滑り始めていないことを示唆しうる。現在のインダクタンスプロファイルが、エンドエフェクタの把持からアイテムが滑り始めていることを示すインダクタンスプロファイルから(例えば、第2閾値量だけ)変化している場合、現在のインダクタンスプロファイルは、アイテムがエンドエフェクタの把持から滑っていることを示唆しうる。第2閾値量は、第1閾値量よりも大きくてよい。
【0097】
変形層304は、誘電材料を含んでよい(例えば、シリコン、プラスチック、または、力に反応して変形しうる任意のその他の材料)。測定対象物が、誘電材料に挿入されていてよい。例えば、複数の磁石が、誘電材料に挿入されていてよい。
【0098】
基板層306は、変形層304に挿入された測定対象物に関連付けられている変化を検知するよう構成されている1または複数のセンサを備えてよい。例えば、基板層306は、変形層304の複数の磁石が変位した時に磁場の変化を検知するよう構成されている磁気センサを備えてよい。いくつかの実施形態において、基板層306は、ロボットアームエンドエフェクタに関連付けられているフィンガである。いくつかの実施形態において、基板層306は、1または複数のセンサを支持するよう構成されている材料であり、ロボットシステムに関連付けられているプロセッサに1または複数のセンサを電気接続する。
【0099】
図3Bは、いくつかの実施形態に従って、異なる視点から触覚検知ユニットを示す図である。図の例において、異なる視点310は、触覚センサユニットの上面図および2つの側面図を示している。触覚検知ユニットの導電層は、説明の便宜上、図示されていない。
【0100】
図の例において、触覚検知ユニットの変形層は、複数の測定対象物を含む。いくつかの実施形態において、複数の測定対象物は、磁石である。いくつかの実施形態において、複数の測定対象物は、マーカである。複数の測定対象物は、グリッドパターンまたは非グリッドパターンに配列されていてよい。グリッドパターンは、2Dのmxnグリッドパターンまたは3Dのlxmxnグリッドパターンであってよい。測定対象物は、変形層304の縁部境界上に配置されていてよい。
【0101】
図の例において、測定対象物312a、312b、312c、312d、312e、312fが、2×3グリッドに配列されている。6つの測定対象物が示されているが、x個の測定対象物が変形層に挿入されてよい。変形層に挿入されうる測定対象物の数は、測定対象物の間の許容クロストーク量に基づいてよい。例えば、変形層内の測定対象物の数が増えるほど、測定対象物の間のクロストーク量も増大する。許容クロストーク量は、ロボットシステムに関連付けられているオペレータによって指定されてよい。
【0102】
複数の測定対象物は、基板層306内に配置されたセンサ314に関連付けられている。複数の測定対象物が磁石である場合、センサ314は、磁気センサである。複数の測定対象物がマーカである場合、センサ314は、画像センサである。いくつかの実施形態では、1つの測定対象物が、1つのセンサに関連付けられている。いくつかの実施形態では、1つの測定対象物が、複数のセンサに関連付けられている。
【0103】
把持動作の前に、複数の磁石に対する基準磁場またはマーカの各々に対する基準位置が決定されてよい。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、複数の測定対象物の内の1または複数を変位させる。この変位は、センサ314が検知するよう構成されている測定可能な値の変化を引き起こす。例えば、複数の測定対象物が磁石である場合、センサ314は、複数の磁石に関連付けられている磁場の変化を検知しうる。プロセッサが、磁気センサに接続され、検知された磁場を基準磁場と比較してよい。検知される磁場は、ロボットアームエンドエフェクタがアイテムの把持に成功したか失敗したかによって異なりうる。プロセッサは、比較に基づいて、重量値および/または変形値を決定してよい。
【0104】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、関連付けられている磁場を有しうる。センサ314は、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、現在の磁場を検出してよい。プロセッサは、現在の磁場、現在の重量値、および、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている磁場からの現在の磁場の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている磁場からの現在の磁場の変化、把持成功に関連付けられている重量値からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0105】
複数の測定対象物がマーカである場合、センサ314は、複数のマーカの内の1または複数に関連付けられている位置の変化を検知しうる。位置の変化は、ロボットアームエンドエフェクタがアイテムの把持に成功したか失敗したかによって異なりうる。プロセッサが、画像センサに接続され、重量値および/または変形値を決定するために複数のマーカの検知位置を複数のマーカの基準位置と比較してよい。
【0106】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、複数のマーカは、対応する位置を有しうる。センサ314は、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、マーカの位置を検出してよい。プロセッサは、現在の位置、現在の重量値、および、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている位置からの現在の位置の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている位置からの現在の位置の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0107】
図3Cは、いくつかの実施形態に従って、異なる視点から触覚検知ユニットを示す図である。図の例において、異なる視点320は、触覚センサユニットの上面図および2つの側面図を示している。触覚検知ユニットの導電層は、説明の便宜上、図示されていない。
【0108】
図の例において、変形層304に埋め込まれている測定対象物は、磁石である。
図3Cの触覚検知ユニットは、測定対象物の一部(322a、322b、322c、322g、322h、322i)が変形層の側面に配置されていることを除けば、
図3Bの触覚検知ユニットと同様である。センサ314によって検知される測定対象物322a、322b、322c、322d、322e、322f、322g、322h、322iに関連付けられている磁場の大きさは、変形層304に関連付けられている深さと、測定対象物およびセンサ314の間の距離と、に依存しうる。変形層の側面に測定対象物の一部を配置することは、センサ314によって検知される測定対象物322a、322b、322c、322d、322e、322f、322g、322h、322iに関連付けられている磁場の大きさを増大させうる。
【0109】
図3Dは、いくつかの実施形態に従って、磁気センサの一例を示す図である。磁気センサ330は、センサ314などのセンサとして実装されてよい。図の例において、磁気センサ330は、コイル332a、332b、332cを備える。コイル332aは、x軸方向の磁場を測定するよう構成されている。コイル332bは、y軸方向の磁場を測定するよう構成されている。コイル332cは、z軸方向の磁場を測定するよう構成されている。磁気センサ330は、
図3B、
図3Cに図示した磁石など、複数の磁石に接続されていてよい。磁石の内の少なくとも1つの変位が、磁気センサ330によって検出される磁場の変化を引き起こす。磁気センサ330は、x軸方向、y軸方向、および、z軸方向の磁場の変化を検出するよう構成されている。
【0110】
図3Eは、いくつかの実施形態に従って、触覚検知ユニットを示す図である。触覚検知ユニット340は、触覚検知ユニット211、213などの触覚検知ユニットとして実装されてよい。図の例において、反射材料341が、変形層304に埋め込まれている。エミッタ342(例えば、発光ダイオードエミッタ)およびレシーバ343が、基板層306に配置されている。エミッタ342は、反射材料341で反射される信号を送信してよく、反射された信号は、レシーバ343で受信される。ロボットアームエンドエフェクタがアイテムと係合していない時に、レシーバ343で受信された信号の基準振幅が決定されてよい。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、信号がどのように変形層304を通過するのかを変化させる。例えば、レシーバ343で受信される信号の振幅は、変形層304内での信号の反射、屈折、および/または、分散により、増大または減少しうる。プロセッサが、レシーバに接続され、重量値および/または変形値を決定するために基準信号振幅を受信信号振幅と比較してよい。
【0111】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、或る信号振幅に関連付けられうる。レシーバ343は、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、現在の信号を検出してよく、プロセッサが、現在の信号振幅を用いて、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定してよい。プロセッサは、現在の信号振幅、現在の重量値、および/または、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている信号振幅からの現在の信号振幅の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている信号振幅からの現在の信号振幅の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0112】
図3Fは、いくつかの実施形態に従って、触覚検知ユニットを示す図である。触覚検知ユニット350は、触覚検知ユニット211、213などの触覚検知ユニットとして実装されてよい。図の例において、触覚検知ユニットの導電層および基板層は、説明の便宜上、図示されていない。
【0113】
触覚検知ユニット350は、誘電材料に埋め込まれた変形を検出できる電気機械センサ352(例えば、ひずみゲージ)を備える。ロボットアームエンドエフェクタがアイテムと係合していない時に、電気機械センサ352に関連付けられている基準検知抵抗が決定されてよい。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、電気機械センサ352に関連付けられている抵抗を変化させる。プロセッサが、1または複数の電気機械式センサに接続され、重量値および/または変形値を決定するために基準検知抵抗値を変化した抵抗値と比較してよい。
【0114】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、或る抵抗値に関連付けられうる。ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間に、プロセッサが、現在の抵抗値を用いて、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定してよい。プロセッサは、現在の抵抗値、現在の重量値、および/または、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている抵抗値からの現在の抵抗値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている抵抗値からの現在の抵抗値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0115】
図3Gは、いくつかの実施形態に従って、触覚検知ユニットを示す図である。触覚検知ユニット360は、触覚検知ユニット211、213などの触覚検知ユニットとして実装されてよい。図の例において、触覚検知ユニットの導電層および基板層は、説明の便宜上、図示されていない。
【0116】
触覚検知ユニット360の変形層は、空気、気体、または、液体を含む柔軟な膜362(例えば、サック、パウチ)を備える。ロボットアームエンドエフェクタがアイテムと係合していない時に、柔軟な膜362に関連付けられている基準圧力が決定されてよい。ロボットアームエンドエフェクタがアイテムと係合すると、係合に関連付けられている力および/またはモーメントが、柔軟な膜362に関連付けられている圧力を変化させる。プロセッサが、柔軟な膜に接続され、重量値および/または変形値を決定するために基準圧力値を変化した圧力値と比較してよい。
【0117】
ロボットアームエンドエフェクタがアイテムの把持に成功した時、成功した把持は、或る圧力値に関連付けられうる。ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間に、プロセッサが、現在の圧力値を用いて、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定してよい。プロセッサは、現在の圧力値、現在の重量値、および/または、現在の変形値について、任意の変化を監視してよい。把持成功に関連付けられている圧力値からの現在の圧力値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第1閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑り始めていることを示唆しうる。把持成功に関連付けられている圧力値からの現在の圧力値の変化、把持成功に関連付けられている重量からの現在の重量値の変化、および/または、把持成功に関連付けられている変形値からの現在の変形値の変化が、対応する第2閾値を超えている場合、アイテムがロボットアームエンドエフェクタの把持から滑っていることを示唆しうる。
【0118】
図4は、いくつかの実施形態に従って、アイテムをピックアンドプレースするための処理を示すフローチャートである。図の例において、処理400は、ロボットシステム(ロボットシステム101など)によって実施されてよい。
【0119】
工程402で、アイテムが、第1位置から第2位置へ移動されるよう選択される。第1の位置(作業空間エリアなど)は、1または複数のアイテムを含んでよい。ロボット環境は、異なる視点から1または複数のアイテムを見て検出するよう構成されている複数のカメラを備えてよい。いくつかの実施形態において、カメラの内の1または複数が、1または複数のアイテムの1または複数の点群を生成する。複数の点群が生成された場合、複数の点群はマージされる。様々な実施形態において、1または複数のアイテムは、雑然とした山に置かれた複数のアイテム、離間した複数のアイテム、ならびに/もしくは、複数のアイテムの内の1または複数の他のアイテムによって視界から隠されている1または複数のアイテム、を含みうる。
【0120】
幾何情報が、複数のアイテムの各々に対して決定される。幾何情報は、複数のカメラの内の1または複数に関連付けられているデータから取得された点群情報に基づいて決定されてよい。複数の特徴部の各々に関連付けられている対応する幾何情報が、把持戦略が既知である幾何形状のライブラリと比較されてよい。決定された特徴部の幾何形状と最もよく似ている(例えば、類似度閾値の範囲内である)形状に関連付けられた戦略が選択されてよい。いくつかの実施形態において、アイテムは、単一の特徴部に関連している(例えば、ペーパータオルのロールは、円筒に対応する)。いくつかの実施形態において、アイテムは、複数のサブセグメント(本明細書ではサブ物体とも呼ぶ)に分割され、複数のサブセグメントの各々に対応する特徴部が決定される(例えば、ゴルフクラブは、本体セグメントおよびヘッドセグメントを備える)。
【0121】
作業空間エリアの端または隅の近くにあるアイテムは、アイテムをどこで/どのようにピックするのかについて、物理的またはその他の制約を有しうる。いくつかの実施形態において、アイテムに関連付けられている環境の境界に応じて、最適ではないが実現可能なピック角度が選択されてもよい。より広い長手方向把持が、より狭い短手方向把持よりも選択されてよく、これは、より広い長手方向把持が、エンドエフェクタを環境の境界内に維持しうるからである。
【0122】
対応する把持成功スコアが、決定された把持戦略の各々に対して決定される。例えば、把持ツール(エンドエフェクタ200)が、アイテムの上部、中間部、または、底部で物体を把持するために用いられてよい。フィーチャの把持成功スコアは、把持戦略が把持成功につながる確率に基づいていてよい。(複数のツールが利用可能である実施形態において)把持ツールおよび把持位置の異なる組みあわせに対して確率が決定される。把持戦略がアイテムの把持の成功につながる確率は、1または複数の把持モダリティ(環境に関するコンテキスト情報、環境に対する履歴把持情報、ロボットアームがアイテムを把持する角度(他のアイテムとの衝突を避けるため)、ロボットアームがアイテムを把持する高さ(グリッパの上部における衝突を防ぐため)、把持幅、把持点における表面法線の向き、把持可能なアイテムの量、など)に基づいてよい。環境に関するコンテキスト情報は、アイテムの近くにあるかまたは隣接する他のアイテムの存在、アイテムの近くにあるかまたは隣接する他のアイテムがロボットアームによるアイテムの把持の能力を妨げる程度、さらなるアイテムが作業空間エリアに連続的に追加されているか否か、などを含む。
【0123】
決定された把持戦略の内の1つが、決定された対応するスコアに基づいて、試行されるよう選択される。アイテムまたは特徴部ならびに対応する把持戦略が、対応するスコアに基づいてランク付けされる。複数のアイテムおよび特徴部の中で最高スコアを持つアイテムまたは特徴部が、把持されるよう選択される。複数の潜在的な把持が同じスコアを有する場合、複数の把持の内の1つが選択される。把持された物体が移動された後、同じスコアを有する他の把持の内の1つが選択される。
【0124】
複数のアイテムから、アイテムが選択され、把持、移動、そして、荷下ろしエリアにプレースされると、次にスコアが高い把持が試行に向けて選択される。
【0125】
工程404で、選択アイテムが把持される。ロボットシステムのエンドエフェクタが、選択アイテムと係合する。エンドエフェクタは、複数のフィンガを備えてよい。複数のフィンガの各々は、対応する触覚検知ユニットに関連付けられていてよい。触覚検知ユニットは、複数の検知層を備えてよい。検知層の各々は、1または複数のセンサを備えてよい。アイテムとの係合時に、触覚検知ユニットの検知層の各々は、基準検知値(例えば、ロボットアームエンドエフェクタがアイテムと係合していない時の検知値)とは異なる対応する検知値を出力しうる。
【0126】
ロボットシステムは、ロボットアームエンドエフェクタがアイテムの把持に成功したか否かを判定するために、複数のセンサを用いて静的測定を実行する。静的測定は、ロボットアームエンドエフェクタが静止状態のアイテムを把持し、複数のセンサの出力を測定することを含んでよい。また、ロボットシステムは、ロボットアームエンドエフェクタがアイテムの把持に成功したか否かを判定するために、複数のセンサを用いて動的測定を実行してよい。例えば、最初の把持の後、ロボットアームエンドエフェクタの向きが変更されてよく、ロボットアームエンドエフェクタがアイテムの把持に成功したか否かを判定するために、ロボットアームエンドエフェクタが移動している間に複数のセンサの出力が測定されてよい。
【0127】
1または複数の触覚検知ユニットは、プロセッサに接続されている。プロセッサは、センサ出力を用いて、ロボットアームエンドエフェクタとアイテムとの間の係合に関連付けられている1以上の力および/または1以上のモーメントを決定してよい。センサ出力(1以上の触覚検知ユニットセンサおよび/または1以上のハウジングセンサ)は、複数のモダリティに対応する値を決定するために用いられてよい。例えば、検知された重量、検知された変形量、検知された導通、検知された導電率、検知された圧力、検知された抵抗、検知されたインダクタンス、および/または、検知された静電容量が決定されてよい。
【0128】
複数のモダリティは各々、係数に関連付けられている。いくつかの実施形態において、複数のモダリティは、均等に重み付けされる(例えば、それらは各々、関連付けられた係数「1」を有する)。いくつかの実施形態において、複数のモダリティの一部は、異なる重みを有する。例えば、選択アイテムは、金属物体であってよく、導通因子に関連付けられている係数は、変形因子に関連付けられている係数よりも小さくてよい。
【0129】
プロセッサは、ロボットアームエンドエフェクタがアイテムを把持したか否かを判定するために、マルチモーダルモデルを実装してよい。マルチモーダルモデルは、ルールベースモデル、予測モデル、機械学習モデル機械学習モデル、などであってよい。いくつかの実施形態において、マルチモーダルモデルは、ロボットアームエンドエフェクタがアイテムと係合しているか否か(例えば、係合/非係合)に関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、ロボットアームエンドエフェクタがアイテムと係合しているか否かの確率を出力するよう構成されている。複数のモダリティに関連付けられている対応する値の一部または全部ならびにそれらに対応する係数は、マルチモーダルモデルに入力として提供され、ロボットシステムは、マルチモーダルモデルの出力に基づいて応答動作を実行するよう構成されている。
【0130】
ロボットシステムは、把持されるアイテムに力を印加するためにトレーニングされてよい。ロボットシステムは、「グランドトゥルース」を学習するために、異なる形状、サイズ、タイプ、および、重量のアイテムに様々な力を印加してよい。様々な力が、アイテムの異なる把持位置に印加されてよい。様々な力が、異なる把持技術に対して印加されてよい。ロボットシステムは、特定のアイテムの把持が成功する力の量を学習してよい。また、ロボットシステムは、ロボットアームエンドエフェクタの把持から特定のアイテムが滑る力の量を学習してもよい。
【0131】
工程406で、選択アイテムは移動される。選択アイテムは、エンドエフェクタが選択アイテムを把持したことを示すマルチモーダルモデルの出力に応答して移動される。プロセッサが、選択アイテムが移動されている間に滑り始めまたは滑っているか否かを判定してよい。プロセッサは、1または複数の触覚検知ユニットからの出力を用いて、その判定を行ってよい。複数のモダリティ(例えば、重量、変形、導通、導電率、圧力、抵抗、インダクタンス、静電容量、または、ロボットアームエンドエフェクタの係合を示す任意のその他の因子)の現在の値が、1または複数の触覚検知ユニットからの出力に基づいて決定されてよい。複数のモダリティに関連付けられている現在の値およびそれらに対応する係数は、マルチモーダルモデルに入力として提供される。いくつかの実施形態において、1または複数の触覚検知ユニットからの現在の出力も、マルチモーダルモデルに入力として提供される。入力は、マルチモーダルモデルに適用され、ロボットシステムは、マルチモーダルモデルの出力に基づいて、選択アイテムが移動されている間に滑り始めまたは滑っているか否かを判定するよう構成されている。
【0132】
工程408で、選択された把持に関連付けられた物体が、作業空間エリアから荷下ろしエリアまで物体を移動する際に落下したか否かが判定される。物体は、ロボットシステムのエンドエフェクタに関連付けられている1または複数の触覚センサユニットの1または複数のセンサ測定値(例えば、圧力、力、静電容量、など)に基づいて、落下したと判定されうる。センサ測定値は、物体が落下したか否かを判定するために、対応する閾値と比較されてよい。アイテムが落下した場合、処理400は、工程402へ戻る。アイテムが落下しなかった場合、処理400は、工程410へ進む。
【0133】
工程410で、選択アイテムは、第2位置にプレースされる。アイテムは、第2位置に関連付けられている境界とエンドエフェクタが衝突するのを防ぐようにプレースされてよい。
【0134】
いくつかの実施形態において、アイテムは、第2位置に他の物体と共に雑然とプレースされる。ロボットシステムは、第2位置にアイテムをランダムにプレースしてよい。次いで、ロボットシステムは、エンドエフェクタ上の力センサを用いて、ロボットシステムに保護的な停止を実行させることなしに、雑然とした山にアイテムを穏やかにプレースしてよい。ロボットシステムは、力センサを用いて緊密詰め込み戦略を実現することにより、第2位置の箱の中にアイテムを密に梱包しうる。
【0135】
いくつかの実施形態において、アイテムは、第2位置に他のアイテムから離間されてプレースされる。ロボットシステムは、第2位置における配置スペースを複数のサブエリアに分割し、選択物体をサブエリアの1つにプレースしてよい。サブエリアの各々の間に緩衝エリアが存在してよい。いくつかの実施形態において、緩衝エリアは調整可能である。
【0136】
いくつかの実施形態において、ロボットシステムに関連付けられたビジョンシステムが、どのようにアイテムを降ろすのかを決定するよう構成されている。例えば、一部のアイテムは剛体ではなく、アイテム(例えば、布または柔らかいおもちゃ)に関連付けられている範囲が、アイテムの把持および移動の後に変化する。ビジョンシステムは、アイテムを潰すこと、そして、アイテムを損傷し、もしくは、絡まった配置または好ましくない配置に物体を収める可能性のある高さからアイテムを落とすことを防止するように、アイテムをプレースする方法を選択するために、範囲がどうであるか、および、材料情報を決定するよう構成されている。
【0137】
工程412で、移動すべきさらなるアイテムが存在するか否かが判定される。移動すべきさらなるアイテムが存在するか否かを判定するために、ロボットシステムの1または複数のカメラからの視覚データが用いられてよい。移動すべきさらなるアイテムが存在する場合、処理400は、工程402へ戻る。移動すべきアイテムがもはや存在しない場合、処理400は終了する。
【0138】
図5は、いくつかの実施形態に従って、滑りを検出するための処理を示すフローチャートである。いくつかの実施形態において、処理500は、ロボットシステム(ロボットシステム101など)によって実施される。いくつかの実施形態において、処理500は、処理400の工程406の一部または全部を実行するために実施される。
【0139】
工程502で、複数のセンサに対応する出力が監視される。ロボットシステムは、ロボットアームエンドエフェクタと、ロボットアームエンドエフェクタのフィンガに関連付けられている1または複数の触覚センサユニットと、を備える。ロボットアームエンドエフェクタは、1または複数のセンサを備えた手首部分を備えてよい。触覚検知ユニットは、本明細書に記載の1または複数のセンサを備える。
【0140】
ロボットアームエンドエフェクタがアイテムを把持している時に、複数のセンサの各々が、対応する値を出力する。プロセッサが、センサ値に基づいて、複数のモダリティに対応する値を決定してよい。例えば、プロセッサは、重量値、変形値、導通値、導電率値、圧力値、抵抗値、インダクタンス値、静電容量値、などを決定してよい。
【0141】
検知値は、ロボットアームエンドエフェクタがアイテムを把持している間に変動しうる。プロセッサは、ロボットアームエンドエフェクタの把持からアイテムが滑り始めおよび/または滑っているか否かを判定するために、ロボットアームエンドエフェクタがアイテムを第1位置から第2位置へ移動させている間、経時的に検知値を監視してよい。
【0142】
いくつかの実施形態において、ロボットアームエンドエフェクタに関連付けられている1または複数の検知値は、ロボットアームエンドエフェクタによって把持されているアイテムに関連付けられている直線滑りを示す。いくつかの実施形態において、ロボットアームエンドエフェクタに関連付けられている1または複数の検知値は、ロボットアームエンドエフェクタによって把持されているアイテムに関連付けられている回転滑りを示す。
【0143】
工程504で、特徴ベクトルが、マルチモーダルモデルに入力される。特徴ベクトルの要素は、1以上の検知値、および/または、1以上の検知値に基づいて決定された1以上のモダリティ値を含んでよい。マルチモーダルモデルは、ルールベースモデル、予測モデル、機械学習モデル(例えば、ニューラルネットワーク、線形分類器、サポートベクターマシン、線形回帰、ロジスティック回帰、決定木、深層学習、など)、などであってよい。
【0144】
いくつかの実施形態において、プロセッサは、ロボットアームエンドエフェクタの把持からアイテムが滑り始めているか否かを判定するために、1以上の検知値および/またはまたは1以上の決定されたモダリティ値を1以上の対応する第1閾値と比較する。いくつかの実施形態において、プロセッサは、ロボットアームエンドエフェクタの把持からアイテムが滑っているか否かを判定するために、1以上の検知値および/またはまたは1以上の決定されたモダリティ値を1以上の対応する第2閾値と比較する。
【0145】
いくつかの実施形態において、プロセッサは、モダリティ値の要素値の組み合わせに基づいて、検知値を分類する。特徴ベクトルは、モダリティ値の要素値に基づいて、特徴空間内に或る位置を有しうる。プロセッサは、特徴空間内での特徴ベクトルの位置に基づいて、特徴ベクトルを、アイテムの滑りがないこと、アイテムが滑り始めていること、および/または、アイテムが滑っていること、を示すものとして分類してよい。
【0146】
マルチモーダルモデルは、アイテムに関係する滑りが直線滑りであるか回転滑りであるかを分類するためにトレーニングされてよい。例えば、ロボットアームエンドエフェクタは、直線滑りを示す検知値に関連付けられている範囲を決定できるように、アイテムを複数回把持して、アイテムが直線滑りを起こすことを可能にしてよい。直線滑りを示す検知値に基づいて決定されたモダリティ値の内の1以上のモダリティ値の範囲が決定されてもよい。この処理は、異なる形状、サイズ、特徴部、および、重量を有するアイテムに対して繰り返されてよい。この処理は、アイテムの異なる把持位置で繰り返されてもよい。この処理は、異なる把持技術に対して繰り返されてもよい。
【0147】
ロボットアームエンドエフェクタは、回転滑りを示す検知値に関連付けられている範囲を決定できるように、アイテムを複数回把持して、アイテムが回転滑りを起こすことを可能にしてよい。回転滑りを示す検知値に基づいて決定されたモダリティ値の内の1以上のモダリティ値の範囲が決定されてもよい。この処理は、異なる形状、サイズ、特徴部、および、重量を有するアイテムに対して繰り返されてよい。この処理は、アイテムの異なる把持位置で繰り返されてもよい。この処理は、異なる把持技術に対して繰り返されてもよい。
【0148】
工程506で、把持されているアイテムがロボットアームエンドエフェクタの把持から滑り始めまたはロボットアームエンドエフェクタの把持から滑っているか否かが判定される。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑り始めているか否かに関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑っているか否かに関する二分決定を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑り始めているか否かの確率を出力するよう構成されている。いくつかの実施形態において、マルチモーダルモデルは、アイテムがロボットアームエンドエフェクタの把持から滑っているか否かの確率を出力するよう構成されている。
【0149】
アイテムがロボットアームエンドエフェクタの把持から滑り始めまたはロボットアームエンドエフェクタの把持から滑っていることを、マルチモーダルモデルの出力が示す場合、処理500は、工程512に進む。アイテムがロボットアームエンドエフェクタの把持から滑り始めまたはロボットアームエンドエフェクタの把持から滑っていることを、マルチモーダルモデルの出力が示唆しない場合、処理500は、アイテムが荷下ろしエリアに向かって移動される工程508に進む。工程510で、ロボットアームエンドエフェクタが荷下ろしエリアに位置しているか否かが判定される。ロボットアームエンドエフェクタが荷下ろしエリアに位置していない場合、処理500は、工程502に戻る。ロボットアームエンドエフェクタが荷下ろしエリアに位置している場合、処理500は、工程514に進み、アイテムは、荷下ろしエリアにプレースされる。
【0150】
工程512で、ロボットシステムは、1または複数の応答動作を実行する。いくつかの実施形態において、エンドエフェクタは、アイテムを安全な位置にプレースして、アイテムを再把持する。いくつかの実施形態において、ロボットアームがアイテムを移動させる速度が低減される。
【0151】
いくつかの実施形態において、ロボットアームは、滑りを防止または低減するために、エンドエフェクタの向きを調整する。例えば、エンドエフェクタは、アイテムの両側で(例えば、左側および右側で)アイテムを把持してよい。ロボットアームは、エンドエフェクタがアイテムの「上面」および「底面」でアイテムを把持するように、エンドエフェクタの向きを90度だけ単に調整してよい。これは、重力がエンドエフェクタの把持からアイテムを滑らせている影響を低減しうる。
【0152】
いくつかの実施形態において、エンドエフェクタは、さらなる把持力を印加する。さらなる印加力の量は、把持されているアイテムに関連付けられている壊れやすさに依存しうる(例えば、アイテムを破壊することなしに印加できるさらなる力の量)。把持されているアイテムの壊れやすさは、エンドエフェクタがアイテムを把持している時に決定された変形値に基づいて決定されてよい。決定された変形値は、把持されているアイテムが壊れやすいか壊れやすくないかを示唆しうる。いくつかの実施形態において、ロボットシステムに関連付けられている1以上のカメラおよび/または1以上のセンサ(重量センサなど)からの出力が、把持されているアイテムのタイプ(例えば、段ボール箱、ぬいぐるみ、ガラスカップ、など)を示唆しえ、さらなる印加力の量は、アイテムタイプに基づいて決まりうる。いくつかの実施形態において、さらなる印加力の量は、直線滑りが発生していると判定されたか回転滑りが発生していると判定されたかに依存する。いくつかの実施形態において、さらなる印加力の量は、把持されているアイテムに関連付けられている材料に依存してもよい。把持されているアイテムに関連付けられている材料は、検知されたアイテムに関連付けられている検知された静電容量に基づいて決定されてよい。
【0153】
ロボットシステムは、把持されているアイテムがエンドエフェクタの把持から滑り始めおよび/または滑っている時に、把持されているアイテムにさらなる力を印加するようトレーニングされてよい。様々な力が、異なる形状、サイズ、タイプ、および、重量を有するアイテムに印加されてよい。様々な力が、アイテムの異なる把持位置に印加されてよい。様々な力が、異なる把持技術に対して印加されてよい。ロボットシステムは、さらなる力が印加されている時に特定の把持アイテムに損傷を引き起こさない力の閾値量を学習してよい。
【0154】
様々な実施形態において、ロボットシステムは、アイテムがエンドエフェクタの把持から滑り始めまたは滑った場合に、把持されているアイテムにどれだけのさらなる力を印加する必要があるのかを、例えば機械学習技術で、学習するよう構成されてよい。ロボットシステムは、さらに、さらなる力がアイテムを損傷したか損傷しなかったかを学習するよう構成されてもよい。ロボットシステムがアイテムを損傷したか損傷しなかったかを示すフィードバックが、ロボットシステムに提供されてよい。フィードバックは、人間のオペレータによって提供されてよく、または、ロボットシステムがアイテムを荷下ろし位置にプレースした後に決定されてよい。
【0155】
いくつかの実施形態において、本明細書で開示されている技術は、アイテムがエンドエフェクタの範囲内で滑ることを許容することによってアイテムを再配置および/または向き変更するなどの目的で、制御された滑りを用いる(すなわち、アイテムがエンドエフェクタの把持にとどまったままでエンドエフェクタの範囲内で滑ることを許容する)ことなどによって、移動元位置から移動先位置までアイテムを把持および/または移動するための戦略を学習および利用するために、システムによって利用されてよい。例えば、アイテムは、例えば、安定性を増し、もしくは、アイテムの質量および/または体積の一部をエンドエフェクタより低い位置に移動させるために、エンドエフェクタの把持の範囲内で滑り降りることを許容されてよい。別の例において、制御された滑りは、重心から或る程度離れた位置で(細長い形状を有するアイテムの一端などで)把持されているアイテムが、エンドエフェクタの把持の範囲内でアイテムの向きを変える目的で、把持された軸を中心に回転することを許容するために用いられてもよい。様々な実施形態において、かかる操作は、アイテムを把持して目的地へ移動させるために利用できる把持戦略のセットに含められてよい。ロボットは、かかる戦略を用いて、例えば、他のアイテムの山から突き出た一端でアイテムを把持し、そして、制御された滑り操作を用いて、より安定する位置、および/または、ロボットがアイテムを移動元位置から移動先位置へ移動させるために計画した軌道に沿って位置する障害物とアイテムが接触しないようにする可能性の高い位置に、アイテムを再配置または向き変更する。
【0156】
図6A~
図6Cは、制御された滑りを含むピックアンドプレース動作の一例を示す図である。
図6Aは、エンドエフェクタ602がアイテム604を把持しているロボットシステムを含む環境600を示す。アイテム604は、アイテム606の上に位置している。環境600は、ロボットシステムがアイテム604、606のおおよその寸法を決定することを可能にする1または複数のカメラ(図示せず)を備えてよい。
【0157】
ロボットシステムのプロセッサが、アイテム604のための1または複数の把持戦略を決定する。1または複数の把持戦略は、アイテム604の横からまたはアイテム604の上からアイテム604を把持することを含みうる。プロセッサは、ロボットシステムの物理的制約により、エンドエフェクタ602がアイテム604をアイテム602の上から把持できない(例えば、エンドエフェクタ602がアイテム604をアイテム604の上から把持できるように、ロボットアームが自身を配置できない)と判定しうる。ロボットシステムのプロセッサは、エンドエフェクタ602がアイテム604をアイテム604の横から把持することを含む把持戦略を選択してよい。
【0158】
図6Bは、ロボットシステムのロボットアームがアイテム606からアイテム604を持ち上げた後の環境630を示す。エンドエフェクタ602は、1または複数の触覚検知ユニット(図示せず)を備える。ロボットシステムは、エンドエフェクタ602がアイテム604を把持している間にエンドエフェクタ602へ掛かっている1以上の力および/または1以上のモーメントを決定する。ロボットシステムは、1以上の決定された力および/または1以上の決定されたモーメントに基づいて、アイテム604の現在の重量分布を決定してよい。ロボットシステムは、エンドエフェクタ602がアイテム604を把持するために用いる力が小さくなるように、エンドエフェクタ602に対するアイテム604の向きを変えるために、アイテム604の制御された滑りを実行すると決定してよい。例えば、アイテム604の現在の重量分布は、ロボットシステムがアイテム604を落下する原因となりうる。いくつかの実施形態において、ロボットシステムは、アイテム604が把持される前に、把持戦略の一部として、アイテム604の向きを変えると決定してよい。いくつかの実施形態において、ロボットシステムは、アイテム604がエンドエフェクタ602によって把持されている間にアイテム604の向きを変えると決定してよい。
【0159】
図6Cは、ロボットシステムのロボットアームがアイテム604を中間位置に移動させた後の環境650を示す。中間位置において、図の例では、ロボットシステムは、アイテム604を図に示す向きに再配置するための制御された滑り操作を完了している。操作は、この例では、重力によって、アイテム604が、エンドエフェクタ602の把持から滑り落ちることなしに、水平位置から垂直位置に回転するように、エンドエフェクタ602によってアイテム604に印加される力を調整することを含んでいた。操作は、例えば、ロボットシステムが、限られたスペースを通してアイテム604を移動させ、および/または、より小さい力でアイテム604を保持することを可能にするために、計画および実行されたものであってよい。ロボットシステムは、アイテム604の向きが変更された後に、アイテム604を荷下ろしエリアに移動させてよい。
【0160】
図7は、いくつかの実施形態に従って、アイテムを把持するための処理を示すフローチャートである。いくつかの実施形態において、処理700は、ロボットシステム(ロボットシステム101など)によって実施される。いくつかの実施形態において、処理700は、処理400の工程404/406の一部または全部を実行するために実施される。
【0161】
工程702で、把持されているアイテムを移動させるための戦略が立てられる。ロボットシステムは、触覚検知ユニットからの検知値と、マルチモーダルモデルとを用いて、エンドエフェクタに把持されているアイテムの向きを変えおよび/または他の方法で再配置するための戦略を決定および実施する。いくつかの実施形態において、アイテムは、雑然とした山の中に位置する。いくつかの実施形態において、把持されているアイテムの向きまたは位置が、ロボットアームが雑然とした山の中の他のアイテムに誤って触れることなしに把持アイテムを移動させる妨げになる。いくつかの実施形態において、必要な把持力が大きすぎて、物体の重心が物体上の把持接触点から離れている向きで物体をピックアップすることができない。把持アイテムを移動させるための戦略は、アイテムの最初の把持を実行し、次いで、アイテムが他のアイテムから閾値距離だけ離された後にアイテムの把持を再調整することを含んでよい。
【0162】
工程704で、アイテムは、中間位置に移動される。中間位置は、雑然とした山の中の他のアイテムから閾値距離だけ離れていてよい。中間位置は、把持アイテムおよびその他の検出されたアイテムに関連付けられている寸法に基づいて決定されてよい。
【0163】
工程708で、アイテムは、アイテムの把持を維持しつつ把持戦略の通りに滑ることを許容される。ロボットシステムは、エンドエフェクタのフィンガまたはその他の係合構造の間で下向きに滑らせ、もしくは、エンドエフェクタに把持されたままで回転させることなどによって、予期および意図したようにアイテムが滑り始める程度までアイテムの把持を意図的に緩める。アイテムが所望の位置および/または向きに至ると、停止させてさらなる滑りを防ぐ必要に応じて、より大きい力が印加される。
【0164】
工程710で、アイテムは、荷下ろしエリアに移動される。
【0165】
図8は、マルチモーダルモデルをトレーニングするための処理を示すフローチャートである。いくつかの実施形態において、処理800は、ロボットシステム(ロボットシステム101など)によって実施される。
【0166】
工程802で、複数のアイテムが、把持および移動を試みられる。ロボットシステムは、「グランドトゥルース」を学習するために、異なる形状、サイズ、タイプ、および、重量のアイテムに様々な力を印加してよい。様々な力が、複数の異なるアイテムの異なる把持位置に印加されてよい。様々な力が、異なる把持技術に対して印加されてよい。
【0167】
ロボットシステムは、グランドトゥルースセンサを備えてよい。例えば、ロボットシステムは、モーションキャプチャシステムを用いて、所望のピックアンドプレース挙動につながりうる異なる把持位置と様々な力との組み合わせを決定するために各物体を追跡してよい。各ピックの後にアイテムのピックアップに成功したか否かを測定するために、手首の力センサが用いられてよい。把持されているアイテムが滑っているか否かをロボットシステムが判定することを可能にする加速度計および/またはジャイロスコープがアイテム上に配置されてもよい。ロボットシステムは、加速度計および/またはジャイロスコープの出力に基づいて、把持されているアイテムが滑ったか滑らなかったかを学習してよい。ロボットシステムは、把持が成功したか失敗したかを学習してよい。
【0168】
工程804で、検知値が決定される。エンドエフェクタは、複数のセンサを備えてよい。センサの各々は、アイテムが把持されて荷下ろし位置に移動される時に、検知値を出力する。ロボットシステムは、特定のアイテムについて、把持の成功または失敗につながる力の量を学習してよく、すなわち、ロボットシステムは、把持アイテムをその最初の位置から持ち上げることができる。ロボットシステムは、検知出力を用いて、1または複数のモダリティを決定してよい。
【0169】
また、ロボットシステムは、把持アイテムを別の位置へ移動させる時に、印加した力の量の結果として、把持アイテムがロボットアームエンドエフェクタの把持から滑ったか滑らなかったかを学習してよい。ロボットシステムは、複数のセンサからの検知出力および/または1以上の決定されたモダリティに基づいて、把持アイテムが滑っているか滑っていないかを判定してよい。
【0170】
いくつかの実施形態において、システムは、例えば、アイテムが、重なり合うアイテムから引き出され、移動先に移動されることを可能にするために、アイテムが最初に把持されて、アイテムの山またはその他の移動元から引き出される時に、より大きい力を印加し、および/または、より大きい滑りに耐えるように、学習してよい。いくつかの実施形態において、アイテムは、少なくとも部分的には、滑りを最小化しおよび/またはアイテムがロボットの把持から完全に滑るのを避けるために決定されたように移動される。
【0171】
工程806で、マルチモーダルモデルが更新される。ロボットシステムは、把持成功または把持失敗を、検知値および/または検知値に基づいて決定された1以上のモダリティと関連付けてよい。把持成功および把持失敗のプロファイルが、ロボットシステムによって生成および保存される。これは、現在の把持が成功するか(アイテムが落下せずに荷下ろし位置まで移動されるか)または失敗するか(アイテムが荷下ろし位置に移動される前に滑る/落下するか)を判定するために、ロボットシステムが、現在の検知値および/または現在の因子値を、以前の1以上の検知値および/または以前の1以上の因子値と比較することを可能にする。
【0172】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供されている詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示されている実施形態は、例示であり、限定を意図するものではない。
【国際調査報告】