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

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

▶ デクステリティ・インコーポレーテッドの特許一覧

特表2024-539839タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム
<>
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図1
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図2A
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図2B
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図2C
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図3
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図4
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図5A
  • 特表-タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-31
(54)【発明の名称】タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20241024BHJP
   B25J 13/08 20060101ALI20241024BHJP
【FI】
B25J13/00 Z
B25J13/08 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024519812
(86)(22)【出願日】2022-11-01
(85)【翻訳文提出日】2024-05-23
(86)【国際出願番号】 US2022048574
(87)【国際公開番号】W WO2023076724
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】63/274,461
(32)【優先日】2021-11-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521105662
【氏名又は名称】デクステリティ・インコーポレーテッド
【氏名又は名称原語表記】DEXTERITY,INC.
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】サン・チョウエン
(72)【発明者】
【氏名】モリス-ダウニング・タルボット
(72)【発明者】
【氏名】スー・ハリー・ツェ
(72)【発明者】
【氏名】クルカーニ・ロフン
(72)【発明者】
【氏名】チャベス・ケヴィン・ホセ
(72)【発明者】
【氏名】メノン・サミア
(72)【発明者】
【氏名】ベイカー・トビー・レオナルド
(72)【発明者】
【氏名】トンドロー・ザサード・デヴィッド・レオ
(72)【発明者】
【氏名】ホルムバーグ・ロバート
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707DS01
3C707FS01
3C707JS02
3C707JS07
3C707KT01
3C707KT02
3C707KT03
3C707KT06
3C707KT15
3C707LS15
3C707LU01
3C707LU06
3C707LV02
3C707NS06
(57)【要約】
【解決手段】タスクを協働的に実行するよう複数のロボットを制御するためのロボットシステムが開示されている。第1ロボットが、第2ロボットと協働的にタスクを実行することを決定し、タスクに関連付けられている物体を把持するための第1把持位置へ独立的に移動し、第2ロボットがタスクを協働的に実行する準備ができた旨の示唆を受信し、第1ロボットによって決定された軌道に沿ってリーダーモードで第2ロボットとは独立的に物体を移動させる。第2ロボットは、少なくとも部分的には、第2把持位置へ独立的に移動し、物体を把持し、少なくとも部分的には第1ロボットが軌道に沿って物体を移動させる時に物体との係合を維持するフォロワー動作モードで動作することによって、第1ロボットと協働して物体を移動させることにより、タスクを協働的に実行する際に第1ロボットを支援する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットシステムであって、
第1エンドエフェクタを有する第1ロボットアームを備えている第1ロボットと、
第2エンドエフェクタを有する第2ロボットアームを備えている第2ロボットと、
を備え、
前記第1ロボットは、前記第2ロボットと協働的にタスクを実行することを決定し、前記第1エンドエフェクタを用いて前記タスクに関連付けられている物体を把持するための第1把持位置へ独立的に移動し、前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の示唆を受信し、前記第1ロボットによって決定された第1軌道に沿ってリーダー動作モードで前記第2ロボットとは独立的に前記物体を移動させるよう構成され、
前記第2ロボットは、少なくとも部分的には、第2把持位置へ独立的に移動し、前記第2エンドエフェクタを用いて前記物体を把持し、少なくとも部分的には前記第1ロボットが前記第1軌道に沿って前記物体を移動させる時に前記物体との係合を維持するフォロワー動作モードで動作することによって、前記第1ロボットと協働して前記物体を移動させることにより、前記タスクを協働的に実行する際に前記第1ロボットを支援するよう構成されている、システム。
【請求項2】
請求項1に記載のシステムであって、前記第1エンドエフェクタは、吸着タイプのエンドエフェクタを備える、システム。
【請求項3】
請求項1に記載のシステムであって、協働的に前記タスクを実行するとの前記決定は、前記物体の属性に少なくとも部分的に基づく、システム。
【請求項4】
請求項1に記載のシステムであって、協働的に前記タスクを実行するとの前記決定は、カメラまたはその他のセンサから受信された画像に少なくとも部分的に基づく、システム。
【請求項5】
請求項1に記載のシステムであって、前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の前記示唆は、前記第2ロボットが前記物体を把持したとの判定に少なくとも部分的に基づく、システム。
【請求項6】
請求項1に記載のシステムであって、前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の前記示唆は、前記第2ロボットが、前記第1エンドエフェクタについて受信された位置および向きの情報に適用される変換を計算して、前記第2エンドエフェクタに対応する目標の位置および向きを決定したとの判定に少なくとも部分的に基づく、システム。
【請求項7】
請求項6に記載のシステムであって、前記第2ロボットは、前記物体が前記第1軌道に沿って移動される時に前記第1エンドエフェクタの位置および向きについての連続的な情報セットを受信し、前記変換を用いて、前記第1エンドエフェクタの位置および向きについての連続的な情報セットの少なくとも一部に対して、前記第2エンドエフェクタに対応する目標の位置および向きを決定し、前記第2エンドエフェクタの実際の位置および向きと前記目標との間の誤差を最小化するように前記第2ロボットを動作させるよう構成されている、システム。
【請求項8】
請求項1に記載のシステムであって、前記第2ロボットは、速度制御を用いて、前記第1エンドエフェクタに対応する速度に合わせるよう構成されている、システム。
【請求項9】
請求項1に記載のシステムであって、前記第2ロボットは、力制御を用いて、前記物体が前記第1軌道を通して移動される時に前記第2エンドエフェクタと前記物体との係合を維持する、システム。
【請求項10】
請求項1に記載のシステムであって、前記第1ロボットおよび前記第2ロボットは、協働的にタスクを実行しない時には、個別に作業するよう構成されている、システム。
【請求項11】
請求項1に記載のシステムであって、前記第1ロボットは、前記第1軌道の終点に関連付けられている移動先位置に前記物体をプレースすると、前記物体の把持を解除するよう構成されている、システム。
【請求項12】
請求項11に記載のシステムであって、前記第1ロボットは、前記タスクを完了させたことを前記第2ロボットに通知するよう構成されている、システム。
【請求項13】
請求項12に記載のシステムであって、前記第2ロボットは、前記タスクが完了したことを前記第1ロボットから通知されたことに少なくとも部分的に基づいて、把持を解除するよう構成されている、システム。
【請求項14】
請求項1に記載のシステムであって、さらに、前記第1ロボット、前記第2ロボット、および、前記物体が位置する作業空間の三次元ビューを生成するよう構成されているコンピュータビジョンサブシステムを備える、システム。
【請求項15】
方法であって、
第2エンドエフェクタを有する第2ロボットと協働的にタスクを実行することを、第1エンドエフェクタを有する第1ロボットによって決定し、
前記第1エンドエフェクタを用いて前記タスクに関連付けられている物体を把持するための第1把持位置へ独立的に前記第1ロボットを移動させ、
前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の示唆を前記第1ロボットによって受信し、
前記第1ロボットによって決定された第1軌道に沿ってリーダー動作モードで前記第2ロボットとは独立的に前記物体を前記第1ロボットによって移動させること、
を備え、
前記第2ロボットは、少なくとも部分的には、第2把持位置へ独立的に移動し、前記第2エンドエフェクタを用いて前記物体を把持し、少なくとも部分的には前記第1ロボットが前記第1軌道に沿って前記物体を移動させる時に前記物体との係合を維持するフォロワー動作モードで動作することによって、前記第1ロボットと協働して前記物体を移動させることにより、前記タスクを協働的に実行する際に前記第1ロボットを支援するよう構成されている、方法。
【請求項16】
請求項15に記載の方法であって、協働的に前記タスクを実行するとの前記決定は、前記物体の属性に少なくとも部分的に基づく、方法。
【請求項17】
請求項15に記載の方法であって、協働的に前記タスクを実行するとの前記決定は、カメラまたはその他のセンサから受信された画像に少なくとも部分的に基づく、方法。
【請求項18】
請求項15に記載の方法であって、前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の前記示唆は、前記第2ロボットが前記物体を把持したとの判定に少なくとも部分的に基づく、方法。
【請求項19】
請求項15に記載の方法であって、前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の前記示唆は、前記第2ロボットが、前記第1エンドエフェクタについて受信された位置および向きの情報に適用される変換を計算して、前記第2エンドエフェクタに対応する目標の位置および向きを決定したとの判定に少なくとも部分的に基づく、方法。
【請求項20】
コンピュータプログラム製品であって、非一時的なコンピュータ読み取り可能媒体内に具現化され、
第2エンドエフェクタを有する第2ロボットと協働的にタスクを実行することを、第1エンドエフェクタを有する第1ロボットによって決定するためのコンピュータ命令と、
前記第1エンドエフェクタを用いて前記タスクに関連付けられている物体を把持するための第1把持位置へ独立的に前記第1ロボットを移動させるためのコンピュータ命令と、
前記第2ロボットが前記タスクを協働的に実行する準備ができた旨の示唆を前記第1ロボットによって受信するためのコンピュータ命令と、
前記第1ロボットによって決定された第1軌道に沿ってリーダー動作モードで前記第2ロボットとは独立的に前記物体を前記第1ロボットによって移動させるためのコンピュータ命令と、
を備え、
前記第2ロボットは、少なくとも部分的には、第2把持位置へ独立的に移動し、前記第2エンドエフェクタを用いて前記物体を把持し、少なくとも部分的には前記第1ロボットが前記第1軌道に沿って前記物体を移動させる時に前記物体との係合を維持するフォロワー動作モードで動作することによって、前記第1ロボットと協働して前記物体を移動させることにより、前記タスクを協働的に実行する際に前記第1ロボットを支援するよう構成されている、コンピュータプログラム製品。
【発明の詳細な説明】
【他の出願への相互参照】
【0001】
本願は、2021年11月1日出願の米国仮特許出願第63/274,461号「ROBOTIC SYSTEM TO CONTROL MULTIPLE ROBOTS TO PERFORM A TASK COOPERATIVELY」に基づく優先権を主張し、その仮特許出願は、すべての目的のために参照により本明細書に組み込まれる。
【背景技術】
【0002】
ロボットが、物体の操作など様々なタスクを実行するために提供されてきた。例えば、エンドエフェクタを有するロボットアームが、アイテムをピックアンドプレースするために利用されうる。かかるロボットの商業的用途の例は、仕分け、キッティング、パレチゼーション、デパレチゼーション、トラックまたはコンテナへの荷積みおよび荷下ろし、などを含む。
【0003】
いくつかの文脈において、操作される物体は、サイズ、重量、パッケージング、および、その他の属性がかなり多様である。典型的には、ロボットアームは、物体の最大サイズ、重量などまでに対応するように定格されている。いくつかの文脈において、従来のアプローチは、操作を求められうる最も大きい、最も重い、および/または、それ以外で最も困難な物体を操作できるロボットアームを必要としうる。
【図面の簡単な説明】
【0004】
以下の詳細な説明および添付の図面において、本発明の様々な実施形態を開示する。
【0005】
図1】タスクを協働的に実行するように複数のロボットを制御するよう構成されたロボットシステムの一実施形態を示すブロック図。
【0006】
図2A】本明細書で開されているロボットシステムの一実施形態において実行される協働的ピックアンドプレースタスクの一例を示す図。
図2B】本明細書で開されているロボットシステムの一実施形態において実行される協働的ピックアンドプレースタスクの一例を示す図。
図2C】本明細書で開されているロボットシステムの一実施形態において実行される協働的ピックアンドプレースタスクの一例を示す図。
【0007】
図3】ロボット制御システムの一実施形態を示すブロック図。
【0008】
図4】タスクを協働的に実行するように複数のロボットを制御するよう構成されたロボットシステムの一実施形態を示す状態図。
【0009】
図5A】本明細書でロボットシステムの一実施形態において「リーダー」ロボットとしてタスクを協働的に実行するための処理の一実施形態を示すフローチャート。
【0010】
図5B】本明細書でロボットシステムの一実施形態において「フォロワー」ロボットとしてタスクを協働的に実行するための処理の一実施形態を示すフローチャート。
【発明を実施するための形態】
【0011】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実施されうる。本明細書では、これらの実施例または本発明が取りうる任意の他の形態が、技術と呼ばれうる。一般に、開示されている処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、或る時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【0012】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0013】
パッケージまたはその他の荷物を把持および移動させるなどのタスクを実行するために協働的に作業するよう、2以上のロボット(例えば、エンドエフェクタ(吸着タイプまたはグリッパタイプのエンドエフェクタなど)を各々が末端に有するロボットアーム)を制御するためのロボットシステムが開示されている。様々な実施形態において、ロボットは、複数のロボットを利用することなしにロボットが把持および移動させることのできるアイテムをピック/プレースするために、個別に(単独で)作業する。単一のロボットによって移動させるには大きすぎる、重すぎる、扱いにくい形状を有するなどの荷物は、本明細書で開示されているように、協働的に作業する2以上のロボットによって移動される。
【0014】
様々な実施形態において、複数のロボットが、パッケージをピックして把持するための動作軌道を独立的に計画して実行する。荷物を協働的に移動させるために2以上のロボットを用いる決定がなされる。例えば、荷物の属性が、例えば、コンピュータビジョンを用いた荷物の分類に基づいて、ロボット制御システムによって知られてよい。例えば、画像データが、タイプで荷物を分類するために用いられてよく、そのタイプの荷物の重量またはその他の属性が、アイテムを移動させるために複数のロボットを用いることを決定する際に用いられてよい。または、単一のロボットが、例えば、吸着ベースのエンドエフェクタで、アイテムを把持しようとしてよく、アイテムを持ち上げ、または、しっかりとした把持を維持することができない場合がある。いくつかの実施形態において、属性および/または把持戦略(例えば、単一ロボット、複数ロボット)が、例えば、同様のアイテムおよび/または同じタイプのアイテムを把持して移動させようとした以前の経験に基づいて、時間と共にシステムによって学習される。
【0015】
様々な実施形態において、複数のロボットを用いてアイテムを移動させるために、単一のリーダーロボットが、パッケージを移動させて、例えば移動先位置に、プレースするために、例えばリーダーロボットフレームにおいて、パッケージ軌道を独立的に計画する。プランナ、スケジューラ、もしくは、その他のアプリケーションまたはモジュールが、協働的プレースの開始の信号を送ってよい。1または複数のフォロワーロボットが、その信号を受信し、それに応じて、各々が、フォロワーエンドエフェクタの位置および向きからリーダーのエンドエフェクタの位置および向きへの変換を記録する。例えば、2つのロボットによる長方形の箱のピック/プレースについて、単一のフォロワーは、2つのロボットが、それぞれ対応する箱の反対側において、例えば吸着によって、箱を協働的に把持する際の箱の寸法に対応する距離でリーダーのエンドエフェクタと向かい合う位置および向きを達成して維持するための変換を決定してよい。
【0016】
様々な実施形態において、プレース動作における各時間ステップに、フォロワーは、リーダーのエンドエフェクタの位置および向きの更新を受信し、以前に決定された変換を用いて、その目標の位置および向きを再計算する(例えば、リーダーからの最初の変換を維持する)。フォロワーは、自身の現在のエンドエフェクタの位置および向きと再計算された目標位置との間の誤差を最小化するために、動作空間制御を利用する(例えば、必要なロボットアームの関節モータトルクを計算して適用する)。
【0017】
いくつかの実施形態において、フォロワーロボットが、そのエンドエフェクタをリーダーロボットと向かい合う位置および向きにし、両方(またはすべての)ロボットが、パッケージを把持すると、エンドエフェクタを同調的に移動させ、リーダーに対するフォロワーのエンドエフェクタの位置および向きを維持するために、速度制御が用いられてよい。
【0018】
様々な実施形態において、力コントローラが、リーダーロボットとフォロワーロボットとの間の接触力およびトルクを維持するために用いられる。いくつかの実施形態において、力コントローラは、ロボットと、ピックされた物体と間の並進滑りおよび回転滑りを防ぎ、ロボットリーダとフォロワーとの間での物体の姿勢を保証するために用いられる。
【0019】
いくつかの実施形態において、正確なプレースを達成するために、物体の姿勢が正確に制御される。物体の姿勢は、ピックアンドプレース軌道を通してリーダーおよびフォロワーのエンドエフェクタの姿勢と接触力およびトルクとに基づいて推定される。
【0020】
図1は、タスクを協働的に実行するように複数のロボットを制御するよう構成されたロボットシステムの一実施形態を示すブロック図である。図の例において、システムおよび環境100は、吸着タイプのエンドエフェクタ104を備えている第1ロボットアーム102と、吸着タイプのエンドエフェクタ108を備えている第2ロボットアーム106と、を備える。図に示す状態において、ロボットアーム102およびロボットアーム106は、大きい箱110に対してピックアンドプレースタスクを協働的に実行するために配置されている。制御コンピュータ112が、作業空間内のロボットアーム102、ロボットアーム106、ならびに、1または複数のカメラまたはその他のセンサ114の内の1または複数と無線通信するよう構成されている。カメラ114から受信された画像データは、例えば、協働的ピックアンドプレースタスクを容易にする目的で、必要に応じて、作業空間の三次元ビューを生成し、ロボットアーム102およびロボットアーム106へコマンドおよび情報を送信するために、制御コンピュータ112によって用いられてよい。
【0021】
図2A図2Cは、本明細書で開されているロボットシステムの一実施形態において実行される協働的ピックアンドプレースタスクの一例を示す。図2Aに示す例において、吸着タイプのエンドエフェクタ204を備えているロボットアーム202および吸着タイプのエンドエフェクタ208を備えているロボットアーム206は、図1に示した開始状態と同様に、大きい箱210に対してピックアンドプレースタスクを協働的に実行し始めるために配置されている。様々な実施形態において、本明細書で開示されている協働的ピックアンドプレースにおいて、ロボットアーム202は「リーダー」であってよく、ロボットアーム206は「フォロワー」であってよい。「リーダー」は、任意の適切な方法によって(例えば、協働的タスクを開始したロボットに「リーダー」の役割を割り当てることによって、参加するロボットの一方または他方にランダムに役割を割り当てることによって、「選挙」またはその他の選択方法によって)、選択されてよい。
【0022】
動作を開始するために、様々な実施形態において、「リーダー」としてのロボットアーム202は、図に示す位置へそのエンドエフェクタ204を移動させ、次いで、例えば、エンドエフェクタ204を箱210の側面と接触する位置またはほぼ接触する位置に移動させて吸着を行うことによって、箱を把持する。リーダーがその把持を完了したことを示すために、信号が、他方のロボット(および/または他方のロボットを制御するためのプロセス)へ送信されてよい。次いで、フォロワー(例えば、この例ではロボットアーム206)は、例えば、リーダ(すなわち、ロボットアーム202)が箱210を把持した側面と反対側の側面で、箱210を把持する。フォロワーは、リーダーのエンドエフェクタ204の位置および向きと、箱210の関連する寸法とに基づいて、変換を記録する。例えば、寸法を測定するため、もしくは、箱210を(例えば、具体的におよび/またはタイプ別に)認識し、アイテムおよび/またはタイプの情報を用いて(例えば、ルックアップによって)寸法を決定するために、ビジョンシステムおよび/またはその他のセンサが用いられてよい。
【0023】
図2Bに示すように、この時点までに、両方のロボット(202、206)が箱210を把持した。リーダー(この例では、ロボットアーム202)は、フォロワーロボットアーム206とは独立的に、計算を行い、ロボットアーム202(および/またはそれに関連付けられている制御プロセス)によって決定された軌道に沿って箱を移動させる。様々な実施形態において、フォロワーロボット(この例では、ロボットアーム206)は、リーダーロボットアーム202のエンドエフェクタ204の位置および向きの情報を(例えば、定期的に、継続的に、など)受信する。フォロワーロボットアーム206(および/またはそれに関連付けられている制御プロセス)は、リーダーロボット(202、204)の位置および向きの情報と、以前に決定および記録された変換とを用いて、フォロワーのエンドエフェクタ208の新たな目標となる位置および向きを計算し、そして、フォロワーのエンドエフェクタ208の現在の位置および向きと、(最も最近に更新された)目標との間の誤差(差)を最小化するために、必要に応じて、トルクを計算してロボットアーム206を構成するモータへ印加する。
【0024】
例えば図2Cに示すように、物体(箱210)が移動先位置にプレースされると、リーダーロボット(ロボットアーム202)は、その把持を解除し、ピックアンドプレースタスクが完了したことをフォロワーに通知する。それに応じて、フォロワー(ロボットアーム206)は、その把持を解除し、両方のロボット(202、206)が、他の作業((元に戻って)より小さい/より軽い物体を単独でピックアンドプレースする作業、ならびに/もしくは、別の大きいまたは重い物体のための次のピックアンドプレースタスクを協働的に実行する作業、など)を実行できるようになる。
【0025】
図3は、ロボット制御システムの一実施形態を示すブロック図である。様々の実施形態において、図3のロボット制御システム302は、図1の制御コンピュータ112を含み、または、それに含まれる。様々な実施形態において、図3のロボット制御システム302を構成する1または複数のモジュールまたはサブシステムは、図1の制御コンピュータ112、ロボットアーム102、および/または、ロボットアーム106の内の1または複数を構成するコンピュータおよび/またはプロセッサなど、複数の計算ノードにわたって分散されていてよい。
【0026】
図の例において、ロボット制御システム302は、本明細書で開示されている2以上のロボットによるタスクの協働的実行を促進するよう構成されているロボット協働促進モジュール304と、ロボット固有のコントローラ306および308とを備えている階層プランナ、スケジューラ、および/または、制御モジュールを備える。例えば、ロボット1用コントローラ306は、図1のロボットアーム102および/または図2A図2Cのロボットアーム202に関連していてよく、一方、ロボット2用コントローラ308は、図1のロボットアーム106および/または図2A図2Cのロボットアーム206に関連していてよい。
【0027】
様々な実施形態において、ロボット1用コントローラ306およびロボット2用コントローラ308にそれぞれ関連付けられているそれぞれのロボットは各々、例えば、ロボットが単独で操作できる物体をピックアンドプレースするなどのために、独立的に動作しうる。様々な実施形態において、2以上のロボットを用いる協働タスクが、ロボット1用コントローラ306とロボット2用コントローラ308との間で送信される1または複数の通信、ロボット協働促進モジュール304と、それぞれのロボット1用コントローラ306およびロボット2用コントローラ308との間の二者間通信、ならびに/もしくは、すべての3つ(または4つ以上)のエンティティの間の通信、の内の1または複数によって開始および/または実行されてよい。
【0028】
図の例において、ロボット制御システム302は、さらに、1または複数の3Dカメラおよび/またはその他のセンサ(図1のカメラ114など)から画像および深度データを受信し、受信したデータを用いて、作業空間の三次元ビューを生成および/または更新するよう構成されているコンピュータビジョンサブシステム310を備える。コンピュータビジョンサブシステム310の出力は、アイテムをピックアンドプレースするためのタスクをロボットが協働的に開始および実行することを可能にするために、ロボット協働促進モジュール304、ロボット1用コントローラ306、および、ロボット2用コントローラ308の内の1または複数に提供されてよい。例えば、箱またはその他の物体が単一のロボットでピックアンドプレースするには大きすぎおよび/または重すぎると判定するために、画像データが用いられてよい。作業空間およびその中の物体の三次元ビューは、例えば、各ロボットに対するそれぞれの把持戦略および/または位置を決定し、各ロボットのエンドエフェクタをそれに対応するピック位置に移動させるための複数の無衝突軌道を決定し、物体がプレースされる移動先位置へ物体を協働的に移動させるための無衝突軌道を決定するために用いられてもよい。
【0029】
図4は、タスクを協働的に実行するように複数のロボットを制御するよう構成されたロボットシステムの一実施形態を示す状態図である。様々な実施形態において、図4の状態図400は、2以上のロボットを用いて作業を協働的に実行するよう構成されているロボットによっておよび/またはそれに関して実施されうる。いくつかの実施形態において、図4の状態図400は、図1の制御コンピュータ112、ならびに/もしくは、図3のロボット協働促進モジュール304、ロボット1用コントローラ306、および、ロボット2用コントローラ308の内の1または複数によって実施されてよい。
【0030】
図の例において、状態402では、ロボットは、タスクを実行するために個別に作業する。例えば、ロボットは、キッティング動作において箱またはその他の容器を満たすため、仕分け動作においてコンベヤベルトまたはその他の搬送手段の上にアイテムをプレースするため、パレットにアイテムを積み上げるためなどに、アイテムを単独でピックアンドプレースしてよい。認識されてピックアンドプレースされる必要のあるアイテムが1つのロボットで把持および移動させるには大きすぎるとの示唆など、タスクを実行するために支援(助け)が必要であるとの示唆を受信すると(404)、ロボットおよび/またはコントローラは、タスクの協働的実行が開始される状態406へ移行する。例えば、通信が、別のロボットへ(例えば、図3のロボット1用コントローラ306からロボット2用コントローラ308へ)、または、より高いレベルのプランナ/スケジューラへ(例えば、図3のロボット協働促進モジュール304へ)送信されてよく、もしくは、より高いレベルのプランナ/スケジューラが、タスクの協働的実行の必要性を認識してよく、状態406への移行を開始してよい。
【0031】
図の例において、ロボットおよび/またはコントローラは、「支援をキャンセルする」移行408を介して、状態402における個別での作業へ戻ってよい。例えば、ロボット/コントローラおよび/またはより高いレベルのプランナ/スケジューラは、タスクがすでに1または複数の他のロボットによって実行されおよび/または他のロボットに割り当てられたと判定しうる。
【0032】
いくつかの実施形態において、「協働を開始する」状態406において、タスクの協働的実行を開始しているロボット/コントローラは、例えば支援を要求することによって、ヘルパーロボットと直接的または間接的に通信する。別のロボットが、支援するために割り当てられてよく、および/または、支援することに同意してよい。ロボットは、或る将来の時点に、もしくは、将来の条件(ヘルパーロボットがすでに開始したタスクおよび/またはより高い優先度を有するタスクの完了など)の発生時に、支援するために割り当てられおよび/または支援することを同意してよい。例えば、協働的タスクを円滑にするために、大きいまたは重い物体の周りから他の物体を取り除くタスクが、より高い優先度を有してよく、したがって、最初に完了されてよい。ヘルパーロボットで協働的タスクを実行する準備が整うと、ヘルパーロボットは、ヘルパーロボットがレディ状態であることを、直接的にまたは間接的に(例えば、より高いレベルのプランナ/スケジューラ(図3のロボット協働促進モジュール304など)を介して)タスクイニシエータへ通知し、「協働を開始する」状態412への移行410をプロンプトする。ヘルパーは、図の例において、「支援を提供する」移行414を通して、個別で作業する状態402から「協働を開始する」状態412へ直接的に移行してよい。
【0033】
「協働を開始する」状態412においてすべての参加ロボットの準備が整うと、必要に応じて「リーダー」が決定され、リーダーは、「リーダーを務める」状態418へ移行し(416)、一方、フォロワーは、「フォロワーを務める」状態422へ移行する(420)。「リーダーを務める」状態418および「フォロワーを務める」状態422において、リーダーおよびフォロワーは、図2A図2Cに示した例のように、大きいまたは重い物体をピックアンドプレースするなどの目的で、タスクを協働的に実行するために、本明細書に開示されているように協働する。タスクが完了されると、リーダーおよびフォロワーは、「個別で作業する」状態402へ戻り(424、426)、個別作業を再開する。
【0034】
図5Aは、本明細書でロボットシステムの一実施形態において「リーダー」ロボットとしてタスクを協働的に実行するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図5Aの処理500は、本明細書で開示されている2以上のロボットによるタスクの協働的実行に「リーダー」として参加しているロボットに関連付けられているロボットコントローラによって実行されてよい。
【0035】
図の例において、工程502で、「リーダー」の役割で(1または複数の他のロボットと共に)協働的タスクを開始する旨の指示が受信される。例えば、ピックアンドプレースタスクを協働的に実行する旨の指示が受信されてよい。工程504で、リーダーは、物体を把持する位置を決定し、物体を把持する位置へ自身のエンドエフェクタを安全に移動させるための軌道を計画し、工程506で、リーダーは、軌道に沿って把持位置へエンドエフェクタを移動させる。工程508で、リーダーは、関連付けられている移動先へ物体を移動させる軌道を(任意の他のロボットから独立的に)決定する。例えば、ロボットおよびその運動学のモデル、ならびに、作業空間に関する画像および/またはその他の情報(例えば、構成データ、CADファイル、など)、物体の1または複数の属性(例えば、寸法、剛性、など)ならびに、画像/センサデータが、軌道を計画するために用いられてよい。工程510で、ロボットが協働すべき処理を一緒に実行する1または複数の「フォロワー」ロボットから、1または複数のフォロワーロボットがタスクの協働的実行を開始する準備が整った旨の示唆が受信される。それに応じて、工程512で、「リーダー」ロボットは、そのエンドエフェクタ(ならびに、リーダーおよびフォロワーに共同で把持されている物体)を、リーダーによって決定された軌道に沿って移動先へ移動させる。工程514で、物体を移動先にプレースすると、リーダーロボットは、その把持を解除し、タスクが完了したことをフォロワーロボットへ通知する。様々な実施形態において、リーダーは、その後、個別での動作を再開する。
【0036】
図5Bは、本明細書でロボットシステムの一実施形態において「フォロワー」ロボットとしてタスクを協働的に実行するための処理の一実施形態を示すフローチャートである。様々な実施形態において、図5Bの処理520は、本明細書で開示されている2以上のロボットによるタスクの協働的実行に「フォロワー」として参加しているロボットに関連付けられているロボットコントローラによって実行されてよい。
【0037】
図の例において、工程522で、本明細書に開示されているように、「フォロワー」の役割で1または複数の他のロボットと協働的にタスクを実行する旨の指示が受信される。工程524で、フォロワーは、把持点(例えば、「リーダー」が示した物体を把持する側面とは反対側の物体の側面にある点)を決定し、その点で物体を把持するための位置へ移動する軌道を計画する。工程526で、フォロワーは、例えば、リーダーが自身の把持を完了したとの示唆を受信したことに応じて、自身のエンドエフェクタを決定済みの把持位置へ移動させ、物体を把持する。工程528で、リーダーのエンドエフェクタの位置および向きの情報が受信され、フォロワーは、物体に関する情報(例えば、リーダーのエンドエフェクタおよびフォロワーのエンドエフェクタを隔てる次元における物体のサイズ)と共にこの情報を用いて、変換を計算する。様々な実施形態において、変換は、エンドエフェクタおよびそれらの間に把持された物体が、その物体のプレースされる移動先へ作業空間を通して移動される時に、リーダーのエンドエフェクタに対してフォロワーのエンドエフェクタの相対的な位置および向きを維持するフォロワーのエンドエフェクタに対応する位置および向きを提供するために、リーダーのエンドエフェクタの位置および向き(典型的には、リーダーの基準系で表現される)に適用可能である行列またはその他の数学的構成を含む。工程530で、フォロワーロボットは、フォロワーが「レディ状態」である(例えば、フォロワーが物体を把持し、変換を計算し、リーダーのエンドエフェクタに対して(例えば、反対側に)そのエンドエフェクタの位置を維持する準備が整っている)ことをリーダーに通知する。
【0038】
工程532で、リーダーロボットが、リーダーによって独立的に決定された軌道に沿って移動を開始すると、フォロワーは、自身が計算した変換と、リーダーのエンドエフェクタが作業空間を通って移動された時に連続して受信されるリーダーのエンドエフェクタの位置および向きの情報とを利用する。例えば、受信されたリーダーのエンドエフェクタの位置および/または向きの少なくとも一部の各々について、フォロワーは、そのエンドエフェクタのための新たな目標の位置および/または向きを計算し、そのエンドエフェクタの現在の位置および/または向きと現在の目標との間の誤差(例えば、差)を最小化するために必要であると決定されたトルクを自身のモータに印加する。
【0039】
工程534で、フォロワーは、協働的タスクが「完了した」旨の示唆を(例えば、リーダーから)受信し、それに応じて、フォロワーは把持を解除し、処理520は終了する。
【0040】
様々な実施形態において、本明細書で開示されている技術は、例えば、2以上のロボットを用いてタスクを協働的に実行することにより、ロボットシステムがより幅広い物体に対してより幅広いタスクを実行することを可能にするために利用されてよい。
【0041】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供されている詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示されている実施形態は、例示であり、限定を意図するものではない。
図1
図2A
図2B
図2C
図3
図4
図5A
図5B
【国際調査報告】