(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】オンデマンド遠隔操作を備えた自律ロボット
(51)【国際特許分類】
B25J 9/16 20060101AFI20240918BHJP
【FI】
B25J9/16
【外国語出願】
(21)【出願番号】P 2022201739
(22)【出願日】2022-12-19
(62)【分割の表示】P 2020554268の分割
【原出願日】2019-04-29
【審査請求日】2023-01-12
(32)【優先日】2018-05-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519351277
【氏名又は名称】デクステリティ, インコーポレーテッド
【氏名又は名称原語表記】Dexterity, Inc.
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】メノン・サミア
(72)【発明者】
【氏名】サン・チョウエン
(72)【発明者】
【氏名】ブラントナー・ジェラルド
【審査官】杉山 悟史
(56)【参考文献】
【文献】米国特許第09665095(US,B1)
【文献】米国特許出願公開第2017/0158430(US,A1)
【文献】米国特許出願公開第2017/0217021(US,A1)
【文献】米国特許出願公開第2016/0304280(US,A1)
【文献】米国特許出願公開第2014/0277692(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
システムであって、
ロボットを、前記ロボットが人的介入なしに1以上のタスクを自律的に実行する自律動作モードで動作させ、次のタスクを自律的に実行するための第1の戦略が利用可能でないと判定し、前記第1の戦略が利用可能でないという前記判定に応答して、人的介入動作モードに入るよう構成されたプロセッサと、
前記プロセッサに接続され、前記ロボットの1以上のアクチュエータに制御値を通信するよう構成された通信インターフェースと、
を備え、
前記プロセッサは、前記人的介入動作モード時に、
前記ロボットのポジション、向き、および、コンテキストの内の1以上を連続的または定期的に処理して、前記ロボットが前記自律動作モードでの動作を再開することを可能にする
関連タスクを含む第2の戦略を決定し、
前記第2の戦略の前記決定に応答して、
前記第2の戦略に含まれる前記関連タスクを実行す
ることにより前記自律動作モードを再開するように構成されている、
システム。
【請求項2】
請求項1に記載のシステムであって、
前記プロセッサは、前記ロボット内に備えられている、システム。
【請求項3】
請求項1に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、前記ロボットによって実行される高レベル動作を受信することを含む、システム。
【請求項4】
請求項3に記載のシステムであって、
前記高レベル動作は、ユーザインターフェースを介して受信される、システム。
【請求項5】
請求項3に記載のシステムであって、
前記高レベル動作は、前記ロボットによって操作される1以上のアイテムと、前記アイテムの各々について、前記アイテムを取得するソース位置および前記アイテムを配置する目標位置の一方または両方と、を識別する、システム。
【請求項6】
請求項3に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、前記高レベル動作を実行するために前記システムを初期化することを含む、システム。
【請求項7】
請求項6に記載のシステムであって、
初期化することは、ロボットの位置、ロボットのポジション、ロボットの状態、ロボットのコンテキスト、および、ロボットの環境、の内の1以上を決定することを含む、システム。
【請求項8】
請求項3に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、前記高レベル動作を実行するための計画を人的介入なしに決定することを含む、システム。
【請求項9】
請求項8に記載のシステムであって、
前記計画は、前記動作を完了させるために実行されるタスクのセットを含み、前記タスクのセットは、前記1以上のタスクを含む、システム。
【請求項10】
請求項9に記載のシステムであって、
前記タスクのセットは、少なくとも部分的に順序付けられたタスクのセットを含む、システム。
【請求項11】
請求項9に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、実行される各タスクおよび該当する場合には各タスクの各構成サブタスクについて、前記タスクまたはサブタスクを実行するための戦略を再帰的に実行することを含む、システム。
【請求項12】
請求項11に記載のシステムであって、
前記戦略は、前記タスクまたはサブタスクを実行するために適用される前記ロボットの1以上のスキルに関連する、システム。
【請求項13】
請求項1に記載のシステムであって、
前記人的介入動作モードで、前記ロボットは、遠隔操作で制御されるよう構成されている、システム。
【請求項14】
請求項1に記載のシステムであって、
前記人的介入動作モードに入ることは、人間のオペレータに遠隔操作を開始させることを含む、システム。
【請求項15】
請求項1に記載のシステムであって、
前記ロボットは、各々が関連位置にあると共に各々が対応するプロセッサを有する複数のロボットに含まれる第1ロボットを含み、前記システムは、さらに、前記ロボットから現在選択されている1のロボットの遠隔操作を可能にするためのインターフェースを備える、システム。
【請求項16】
請求項15に記載のシステムであって、
複数のロボットに含まれる2以上のロボットが、同じ関連位置に配置される、システム。
【請求項17】
方法であって、
ロボットを、前記ロボットが人的介入なしに1以上のタスクを自律的に実行する自律動作モードで動作させる工程と、
次のタスクを自律的に実行するための第1の戦略が利用可能でないことを、前記ロボットを構成するかまたは他の形で関連するプロセッサによって判定する工程と、
前記第1の戦略が利用可能でないという前記判定に応答して、前記プロセッサが、人的介入動作モードに入らせる工程と、
を備え、
前記プロセッサは、前記人的介入動作モード時に、
前記ロボットのポジション、向き、および、コンテキストの内の1以上を連続的または定期的に処理して、前記ロボットが前記自律動作モードでの動作を再開することを可能にする
関連タスクを含む第2の戦略を決定し、
前記第2の戦略の前記決定に応答して、
前記第2の戦略に含まれる前記関連タスクを実行す
ることにより前記自律動作モードを再開するように構成されている、
方法。
【請求項18】
請求項17に記載の方法であって、
さらに、前記プロセッサが、前記人的介入動作モードで人的介入を実行する際に人間オペレータの助けになるように、センサ出力データを提供する工程を備える、方法。
【請求項19】
コンピュータプログラムであって、
ロボットを、前記ロボットが人的介入なしに1以上のタスクを自律的に実行する自律動作モードで動作させるための機能と、
次のタスクを自律的に実行するための第1の戦略が利用可能でないと判定するための機能と、
前記第1の戦略が利用可能でないという前記判定に応答して、人的介入動作モードに入るための機能と、
前記人的介入動作モード時に、
前記ロボットのポジション、向き、および、コンテキストの内の1以上を連続的または定期的に処理して、前記ロボットが前記自律動作モードでの動作を再開することを可能にする
関連タスクを含む第2の戦略を決定し、
前記第2の戦略の前記決定に応答して、
前記第2の戦略に含まれる前記関連タスクを実行す
ることにより前記自律動作モードを再開するための機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
ロボットが、製造およびその他の分野においてタスクを実行するために利用されてきた。例えば、ロボットは、人間にとって体に悪いかまたは他の危険がありうる環境でのタスク、人間が加えられるよりも大きい力の印加を必要とするタスク、および、長時間にわたって高度な正確さおよび一貫性を必要とするタスク、を実行するために利用されてきた。
【0002】
自律ロボットは、人間の制御も指示も必要とせずに、自動的に少なくともいくつかのタスクを実行する。例えば、自動ロボットは、典型的には制御された環境(工場など)で、反復的および/または他の形で予め決められたタスクおよびタスクのシーケンスを実行するために利用されてきた。ごく最近では、自動運転車、配達ドローン、および、その他の自律車両が開発中である。
【0003】
ロボット工学の分野での遠隔操作とは、オペレータによるロボットの遠隔操作のことである。例えば、ロボットは、熟練した人間のオペレータの制御下で、手術を行う、爆弾を処理する、および、その他のタスクを実行するために利用されてきた。
【図面の簡単な説明】
【0004】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【0005】
【
図1】オンデマンド遠隔操作を備えた自律ロボットの一実施形態を示すブロック図。
【0006】
【
図2】オンデマンド遠隔操作を備えた自律ロボットの一実施形態を示すブロック図。
【0007】
【
図3】オンデマンド遠隔操作を備えた自律ロボットを遠隔操作で制御するためのシステムの一実施形態を示すブロック図。
【0008】
【
図4】オンデマンド遠隔操作を備えた自律ロボットを制御するための処理の一実施形態を示すフローチャート。
【0009】
【
図5】オンデマンド遠隔操作を備えた自律ロボットの一実施形態における動作状態を示す状態図。
【0010】
【
図6】オンデマンド遠隔操作を備えた自律ロボットを自律動作状態で制御するための処理の一実施形態を示すフローチャート。
【0011】
【
図7】遠隔操作(人的介入)状態で動作する自律ロボットの自律制御を監視および再開するための処理の一実施形態を示すフローチャート。
【0012】
【
図8】オンデマンド遠隔操作を備えた複数の自律ロボットの一対多の制御を提供するためのシステムの一実施形態を示すブロック図。
【0013】
【
図9】オンデマンド遠隔操作を備えた複数の自律ロボットの一対多の制御を提供するための処理の一実施形態を示すフローチャート。
【0014】
【
図10】先制的に人間の支援を得るための処理の一実施形態を示すフローチャート。
【発明を実施するための形態】
【0015】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【0016】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0017】
オンデマンド遠隔操作を備えた自律ロボットが開示されている。様々な実施形態において、本明細書に開示するロボットは、ロボットがそのタスクを実行するためのスキルおよび戦略を有するタスクまたはタスクのセットを自律的に実行するよう動作する。様々な実施形態において、タスクまたはタスクのセットは、人間のユーザもしくは別のロボットまたはシステムによって、ロボットに割り当てられてよい。いくつかの実施形態において、割り当てられたタスクまたはタスクのセットは、1以上のプリミティブコマンド、目的、コンテキスト情報、および、変数、ならびに/もしくは、ロボットに提供されたその他のコマンドおよびデータを用いて、定義されてよい。ロボットは、例えば、その環境、および、ロボットが働きかける対象物に対して、自身を方向付けるために、初期化処理を実行する。いくつかの実施形態において、ロボットは、割り当てられたタスクまたはタスクのセットを実行するために計画を立て、その計画を実施し始める。ロボットが、タスクまたはタスクのセットの完了に向かって前進するために実行すべき次の動作を決定できない状態に達した場合、ロボットは、介入(例えば、人間のオペレータによる介入)をトリガする。いくつかの実施形態において、人間またはその他のオペレータが、例えば遠隔操作を介して、ロボットを制御して、タスクまたはタスクのセットを(さらに)実行する、および/または、ロボットが自律動作を再開できる状態にロボットを復旧させる。
【0018】
様々な実施形態において、本明細書に開示するロボットは:物理環境と相互作用するために利用できる1以上の物理的要素と;物理的要素を用いて位置決めして力を印加するための1以上のアクチュエータと;アクチュエータの制御を介して物理的要素による移動および力の印加を制御するよう構成された1以上のプロセッサと、を備えてよい。様々な実施形態において、1以上のプロセッサは、自律動作、遠隔操作、または、その両方で、ロボットを制御するよう構成された、ロボットに一体化された1以上のプロセッサ、ならびに/もしくは、ローカルおよび/またはリモートコンピュータを構成する1以上のプロセッサを含んでよい。
【0019】
図1は、オンデマンド遠隔操作を備えた自律ロボットの一実施形態を示すブロック図である。図の例では、環境100内で動作する自律ロボットが、固定ベース104に取り付けられたロボットアーム102を含む複数の関節セグメントを備える。ロボットアーム102は、ロボットアーム102とロボットアーム102の遠位端に取り付けられたグリッパ108とを操作するよう構成されたコントローラ106に接続されている。いくつかの実施形態において、コントローラ106は、ロボットアーム102および/またはグリッパ108を含む剛性要素の間のそれぞれのジョイントの各々に構成されたモータへ、電圧および/またはその他の信号、入力など供給して、対応するトルクをそれぞれのモータに印加させることで、モータの回転子に結合された要素をモータの非回転子が結合された要素に対して移動させることにより、ロボットアーム102およびグリッパ108を制御する。
【0020】
図1に示す例において、ロボットアーム102は、テーブルまたはその他の表面110から、アイテム(図の例では、異なる形状のアイテム112、114、および、116など)をピックアップして、コンベヤベルト118の上にそれらを配置するために用いられている。図に示すように、ロボットアーム102は、以前に、コンベヤベルト118上にアイテム120を配置するために用いられ、コンベヤベルト118は、アイテム120がまもなくコンベヤベルト118から目的地122へ落ちるような方向に回転している。
【0021】
様々な実施形態において、
図1に示した「ピックアンドプレース」動作は、ロボットアーム102と、グリッパ108と、コントローラ106とを備えたロボットによって、少なくとも部分的には自律動作モードで実行される。例えば、いくつかの実施形態において、コントローラ106および/または1以上のその他の制御装置(プロセッサ、メモリ、および、その他の構成要素を備えたコンピュータなど)は、
図1に示したピックアンドプレース動作を実行するようプログラムされる。例えば、いくつかの実施形態において、プログラマまたはその他のオペレータが、ロボットの環境100と、一方ではテーブル110上のアイテム(または、いくつかの実施形態においては、テーブル110に関連する座標のセットまたはその他の位置)に対する、および、コンベヤベルト118に対する、ロボットのポジションとを認識させるよう、ロボットをプログラムまたはその他の方法で構成した可能性がある。
【0022】
いくつかの実施形態において、ロボットは、戦略のライブラリまたはその他のリポジトリを用いて、ピックアンドプレース動作および/またはその一部を実行するようプログラムまたはその他の方法で構成される。例えば、ロボットは、その現在位置および環境100の認識を用いてテーブル110の上方の位置にグリッパ108を位置付けるよう構成されてよい。コンピュータビジョンまたはその他の技術が、次にピックアップするアイテムの識別および選択のために用いられてよく、アイテムをピックアップするための戦略が、自律的に(例えば、アイテムの位置、形状、向き、提示された側面、テクスチャ、剛性などに基づいて)選択されてよい。例えば、
図1に示す例において、ロボットは、アイテム114を、図に示すように、前側および後側に実質的に平行な平坦面を提示するものとして認識してよく、アイテム114をピックアップする戦略として、アイテム114の上方にグリッパ108を位置付け、アイテム114の前面および背面と整列した位置にフィンガを合わせるようにグリッパ108を回転させ、一方のフィンガが平坦な前面に係合すると共に他方のフィンガが平坦な背面に係合する状態でアイテム114をつかむ戦略を選択してよい。
【0023】
様々な実施形態において、ロボットアーム102と、グリッパ108と、コントローラ106とを備えたロボットは、遠隔操作による介入を自律的に促す。いくつかの実施形態において、
図1に示すピックアンドプレース動作を実行する過程で、ロボットがその動作を(さらに)実行するための(次の)戦略を決定できない状態に至った場合、ロボットは、遠隔操作で手助けするように(この例では)遠隔オペレータに促す。
【0024】
図の例において、コントローラ106は、ネットワーク124を介して遠隔操作コンピュータ126に接続されている。いくつかの実施形態において、遠隔操作コンピュータ126は、例えば、ネットワーク124を介してコントローラ106へ高レベル命令を通信することによって、自律モードでのロボットの動作に関与してよい。様々な実施形態において、コントローラ106および遠隔操作コンピュータ126の一方または両方は、例えば、ロボットが動作の中の次のタスクまたはステップを実行(完了)するために利用可能な戦略を持たない状態に至った場合に、遠隔操作による介入を促してよい。
【0025】
例えば、
図1をさらに参照すると、アイテム114が落とされて、三角形の側面をロボットに提示する向きで、平坦な側の一方を下にして着地した場合、いくつかの実施形態において、ロボットは、アイテム114をピックアップするために利用可能な戦略を持たない場合がある、ならびに/もしくは、タイムアウトするか、または、アイテム114をピックアップするための試みについて設定された回数を使い果たす場合がある。それに応じて、遠隔操作オペレータ130は、遠隔操作を通して介入するよう促されてよく、手動入力装置128を用いて、ロボットの動作を制御してよい。例えば、遠隔操作オペレータ130は、アイテム114をピックアップして、アイテムをコンベヤベルト118上に配置するように、ロボットを操作してよい。また、遠隔操作オペレータは、ロボットを用いて、アイテム114の向きを、自律ロボットがアイテム114をピックアップするために利用可能な戦略を持つと期待される(または可能性が高い)向きに変更してもよい。
【0026】
図の例において、遠隔操作は、手動入力装置128(例えば、ハプティック入力装置)の操作を通して人間のオペレータ130によって実行されてよい。人間のオペレータ130(時に、遠隔操作オペレータとも呼ばれる)は、遠隔操作コンピュータ126を構成するおよび/または関連する表示装置に表示された情報によって、遠隔操作を開始するように促されてよい。1以上のセンサ134からのデータが、ネットワーク124および遠隔操作コンピュータ126を介して人間のオペレータ130に提供されてよい。いくつかの実施形態において、センサ134は、遠隔操作オペレータ130に表示されて、遠隔操作を介して動作または動作の一部の実行を行うおよび/または完了するために用いられるビデオフィードを生成するよう構成されたロボット上あるいは環境100内のカメラを含む。様々な実施形態において、カメラは、低遅延、高スループットの接続で接続されており、かかる接続は、例えば、アナログRFベース通信、WiFi、Bluetooth、および、サブGHzの内の1以上を含むが、それらに限定されない。いくつかの実施形態において、異なるタイプのカメラが併用される。例えば、2つのRGB可視化カメラ、4つの深度カメラ、2つのIRカメラなど、異なる通信速度、帯域幅、および/または、その他の特徴を持つ複数のカメラが用いられてもよい。
【0027】
様々な実施形態において、様々な異なるセンサ134を用いて遠隔操作が実行されてよい。いくつかの実施形態において、これらのセンサは、ロボットが「スタック」しているか否かを判定する際にロボットを導きうる、および/または、遠隔操作を簡単にしうる。いくつかの実施形態において、センサは、遠隔操作の様式を、直接的なハプティック制御から、ますます抽象的なエグゼクティブコマンド(ピックアップする対象物をマウスでクリックする、または、音声転写装置に向かって「棚を開け(open shelf)」と言う、など)へ移行させるのに役立つ。
【0028】
様々な実施形態において用いられるセンサ134の例は、環境との相互作用および特定の「スタック」シナリオ、および/または、ロボット(または遠隔操作オペレータ)の近くの未知のエージェントの存在、を検出するよう構成されたデジタルスイッチを含む。さらなる例は、動作(つかむ動作など)の成功または失敗を判定する手またはロボット上の力センサまたは圧力センサを含む。一連の失敗の後に、ロボットは、自身が「スタック」していると判定する。別の例は、計画されたおよび/または他の形で期待される動きの軌道を正確に辿っているか否かを知るためにロボットによって利用されうる1以上のセンサ(ロボット関節上の位置センサなど)である。期待された軌道を正確に辿っていない場合、環境との接触を起こした可能性があり、ロボットは、「スタック」したので人的介入を求める必要があると結論づけるようプログラムされてよい。
【0029】
様々な実施形態において、ロボットは、人間が高レベルのエグゼクティブコマンド(容器Aを開く、または、アイテムYをピックアップする、など)を用いて遠隔操作を提供するのを容易にするために、情報を前処理してよい。様々な実施形態における情報の前処理の例は、以下を含むがこれらに限定されない:
1)ロボットが、深度カメラフィードおよび通常のRGBカメラフィードを組み合わせることで、人間オペレータにより良好な遠近感を与える。
a)状況をより良好に分析および解釈するために人間が3Dで環境と相互作用できる「3Dビデオゲーム」のようなインターフェースが与えられる。
b)あるいは、VRインターフェースが、環境内に完全に没入するために用いられうる。
2)環境のシーンが、人間に(必ずしも)完全には露出されない。
a)その代わりに、ロボットが重要であると見なした環境の部分のみが人間に対して示される。
3)グリッパの操作がハプティック遠隔操作を通して手動でなされ、オペレータへの通常のRGBカメラフィードを通して奥行きがうまく認識されない場合に:
a)グリッパは、グリッパがどれだけ環境との接触に近いのかに関して、(人間のオペレータに対して表示されたグリッパに仮想的にオーバレイされた)色を変化させ、奥行きに関する視覚的なフィードバックをオペレータに与えることができる。
b)ロボットのグリッパまたはその他の部品は、ロボットが環境にどれだけの力を印加するのかに関して、(仮想的にオーバレイされた)色を変化させ、高価な装置なしに接触/力を良好に知覚することを可能にする。
4)人間のオペレータがロボットを制御している時、ロボットの動く速さが、人間にとってはわからない:
a)人間は、表示されたゲージを調節して/見て、速度を設定できる。
i)これでは、ロボットがどれだけ速く動くのかを推測するのは人間にとって難しい。
b)その代わり、ロボットの視覚化により、現在の速度設定に対してサイズが変化する透明なボールを手の周りにオーバレイできる。ボールのサイズは、所与の速度に対する最大移動範囲を表し、速度設定が現実世界の動きにどれだけ影響するのかを示す。
【0030】
いくつかの実施形態において、ロボットからのデータが、センサ134からのデータ、コンテキスト情報、および/または、過去の知識情報で増補される。いくつかの実施形態において、ロボットは、ロボットの状況を人間のオペレータへより十分に伝えるために、かかる追加を人間オペレータに提供するよう構成されており、それにより、人間オペレータは、遠隔操作を介してより良好かつ迅速に支援を提供できるようになる。例は、以下を含むが、これらに限定されない:
1)ロボットが、機能しうる一対の自律的戦略を選び、人間が、最良の戦略を選択する。
a)人間が、何を選択すべきかを良好に理解できるように、カメラによってキャプチャされた環境の上に異なる戦略を載せるオンスクリーンオーバーレイが示されうる。
2)環境のグローバルビューを示す代わりに、ロボットは、人間にとって分析を容易にするために、具体的な質問をすることができる。
a)対象物のピックアップ
i)テーブルの上/容器の中の対象物の全体ビューを示して、対象物の中心をクリックするようユーザに求める代わりに、ロボットがニューラルネットワークまたは何らかのその他の予測アルゴリズムを通して選択した自律的評価を提供できる。
ii)人間は、対象物ごとまたはグローバルベースで、評価が正確か否かを単に選択し、これは、単にイエス/ノーコマンドであり、対象物の中心をピンポイントで示すよりもはるかに簡単である。
3)シナリオ:箱からコンベヤベルトへのピックアンドプレース
a)箱の中に8つの未知の物体がある。異なる形状、サイズ/色、柔らかさなど。
b)ロボットのジョブは、すべての物体をひとつずつピックアップしてベルトに置くことである。
c)ロボットは、8つの物体の内の5つをピックアップする。
d)6番目の物体について、ロボットは、大まかに形状を予測する。2回連続で、その形状評価に基づいてつかむ(異なった把持ポイントで)。両方とも、つかむのに失敗する。物体がぐにゃぐにゃであるかまたは変形しやすいことが理由である。
e)ロボットには、ぐにゃぐにゃの物体を扱う方法がわからない。
f)ロボットは、助けのコールをトリガして、スタックしていることを伝え、物体がぐにゃぐにゃであることが可能性の高い理由であると言及する。
4).シナリオ:コンベヤベルトから棚へのピックアンドプレース
a)一連の物体がコンベヤベルトを流れてくる。
b)ロボットは、ベルトからそれらをピックアップして棚に置く必要がある。
c)データベースシステムが、期待されるアイテムのタイプ(形状、重さ、バーコードなど)をロボットに通信する。
d)ロボットは、ベルト上の未知の物体と遭遇する(例えば、異なる重さであるが、同じ形状)。
e)通常は、ロボットが異なる物体と遭遇した場合、「エクストラ」容器の中にそれを置く。
f)探して、エクストラ容器が見つからないことがわかる(例えば、視覚ベースの検索では、エクストラ容器の視覚的形状/idを見つけることができない)。
g)ロボットには、新しい物体の扱い方がわからない。ロボットは、助けのコールをトリガして、未知の物体があり、エクストラ容器が見つからないことを伝える。
【0031】
いくつかの実施形態において、オンデマンド遠隔操作モードで、自律ロボットは、環境100とロボットの状態とを監視し続ける。いくつかの実施形態において、自律ロボットは、ロボットが自律的に動作を継続するために利用可能な戦略を持つ条件にロボットおよび/または環境が復旧されたことを認識するよう構成される。いくつかの実施形態において、自律ロボットは、遠隔操作オペレータ130に対して、遠隔操作を中断して、自律動作の再開を許可するかまたは積極的に再開させるよう促す。いくつかの実施形態において、自律モードで動作を継続するための戦略の利用可能性を認識した後に、自律ロボットは、自発的にロボットの制御を引き継ぎ、システムは、手動入力装置128を介して遠隔操作オペレータ130によって提供される入力への応答を停止し、ロボットは、自律動作を再開する。
【0032】
いくつかの実施形態において、ロボットは、解決しなければスタックしうる状況を、予測して先制的に避ける、および/または、解決するために人間の支援をスケジュールするよう構成される。例えば、ロボットが、3つのアイテムA、B、および、Cをピックアップするタスクを与えられ、Aはピックアップすることができ、Bはピックアップすることができる可能性があり、Cはピックアップすることができないと判断すると仮定する。様々な実施形態において、ロボットは、Bをピックアップできること、および、Cをピックアップできないという予測、についての不確実性を予測する計画を実施する。例えば、1つのアプローチでは、ロボットは、Cおよび場合によってBで助けを必要とすると結論づけ、助けが必要になると予測する時刻に(例えば、Aをピックアップして、Bをピックアップする試みを設定回数だけ実行する時間が経った後に)人間の支援をスケジュールする。人間の助けをスケジュールした時刻に、ロボットが、Aをピックアップし、Bをピックアップするのに成功していた場合、人間は、Cについて助けるよう促される。ロボットが、人的介入をスケジュールされた時刻までにBのピックアップに成功しなかった場合、例えば、BおよびCでの支援が要求される。別のアプローチでは、ロボットは、遠隔操作オペレータへのタスク関連情報の直接要求を先制的にトリガしてもよい。例えば、ロボットは、ロボットがアイテムCをどのようにつかむべきかを指示するように遠隔操作オペレータに求めてよく、その間に、AおよびBをピックアップする。ロボットがアイテムCのピックアップに取りかかる時間までに、人間の遠隔操作オペレータが戦略を提供した場合、ロボットの動きはシームレスになる。そうでなければ、ロボットは、Cのピックアップへの助けを要求する。
【0033】
本明細書に開示するように、先を見越しておよび/または先制的に、人間の支援を得るよう構成されたロボットのさらなる例は、以下を含むが、これらに限定されない:
・ロボットが、予期しない障害物(人間)に遭遇する。かかるケースにおいて、ロボットは、停止または減速し、障害物を回避する/通り過ぎる助けを人間のオペレータに求める。いくつかの実施形態において、障害物検出のためのセンサは、検出を実行するソフトウェアと組み合わせられたRGBカメラ、深度カメラ、熱(IR)カメラを含む。
・ロボットが、テーブルから「ガラスのコップ」を回収することを求められるが、その視覚システムは、コップを見ない。したがって、「コップがテーブルの上のどこにあるか教えてください」という非常に具体的な質問を行う。人間は、視覚インターフェースを通して、テーブル上の1セットの(ラベル付けされていないが区分された)物体を提示される。人間は、この視覚インターフェースを用いて、例えば、対応する画像上でマウスクリックすることで、ロボットにコップを指し示す。この目的のためのセンサは、RGBおよび深度カメラを含む。
・ロボットが、4つの物体を提示され、組み立てタスクを実行するよう命令される。ロボットは、複数組のこれらの物体を組み立てる方法を「知っている」が、正しい順序を知らない。人間は、視覚インターフェースを通して物体を提示され、正しい順序を提供するよう求められる。この指示に従って、ロボットは、自律的にアイテムの組み立てを進める。
・移動ロボットが、冷蔵庫からオレンジを取ってくるよう求められる。環境が改変されている(冷蔵庫が移動された)ので、冷蔵庫を位置特定できない。人間のオペレータは、ロボットを冷蔵庫まで誘導するよう求められ、これは、ライブ視覚フィードバックと共にジョイスティックまたはハプティック装置を用いてなされる。ロボットは、狭い通路を通して衝突しない軌道を維持するのに役立つ超音波近接センサを備えている。人間が壁に向かってロボットを駆動させた場合、ロボットは、必要な程度まで進路を修正するが、「衝突しない」入力を維持する。ロボットが接近して冷蔵庫を見ると、自律的に冷蔵庫を検出し、「アリガトウ、ニンゲン」と言い、取ってくるタスクを自律的に進める。
・ロボットが、挿入タスクの実行を求められる。(ペグインホール)。深度カメラフィードの遮断により、ロボットは、ホールを見つけられない。人間は、ロボットのハンドをゴールに向かって誘導する助けを求められる。一般に、これは、高次元の問題であり、位置および力のフィードバックを必要とする。しかしながら、ロボットは、表面に向かう所与の垂直抗力と、姿勢制御とを自律的に維持する。直線的にホールに向かって移動するように誘導するだけでよい。
・ロボットが、移動するコンベヤベルトから様々な物体をピックアップする。ロボットからコンベヤベルト上の上流で、カメラまたはその他のセンサが、ロボットに到達する前に物体を検出する。システムは、この情報を用いて、ロボットが自律的に物体を操作できるか否かを判定する。できない場合、物体と相互作用する方法を記述するために、VRインターフェースまたはGUIにおいてロボットおよび物体が相互作用するシミュレーションなどを通して、かかる物体を扱う方法をロボットに伝えるように、人間の遠隔操作のコールが発行される。人間との相互作用は、物体がロボットに到達する前に完了し、ロボットは、人間の誘導情報を用いて物体と相互作用するため、人間の遠隔操作での遅延がない。
【0034】
図1に示した例において、遠隔操作コンピュータ126、手動入力装置128、および、遠隔操作オペレータ130は、ロボットが動作している環境100から離れた位置140にあることが図示されている。様々な実施形態において、遠隔操作関連の資源(例えば、126、128、130)は、環境100と同じ(または近くの)物理的位置を含め、どこに配置されてもよい。
【0035】
図2は、オンデマンド遠隔操作を備えた自律ロボットの一実施形態を示すブロック図である。図の例において、ロボット202は、環境200内で、必要に応じて棚204上の容器A、B、C、および、Dからアイテムを選択して箱206に追加する「キッティング」動作を実行するよう動作する。この例において、ロボット202は、トラクタースタイルの移動ベース上に取り付けられたロボットアームを含む。ロボット202は、無線通信を介してコントローラ208の制御下で作動される。図の状態において、ロボット202は、その遠位端のグリッパにアイテム210を持っている。例えば、ロボット202は、例えば、容器に隣接する位置に自身を推進させ、容器を引いて開け、アイテム210を位置特定してピックアップ対象として識別するために調べ、(例えば、アイテム210を保持しないロボットアームの部分で)容器を押して閉じ、例えば、箱206の中へアイテム210を落とすまたは置くことができるように、箱206に隣接する位置の方向に自身を推進することによって、容器A、B、C、および、Dの内の対応する容器からアイテム210をピックアップしえた。
【0036】
図1に示したロボットおよび環境と同様に、
図2に示す例のロボット202は、リモート位置240に位置する遠隔操作コンピュータ226、手動入力装置228、および、遠隔操作オペレータ230からネットワーク224を介した通信を通して実行されるオンデマンド遠隔操作を呼び出すよう構成される。例えば、ロボット202は、いくつかの実施形態において、例えば、棚204上の容器の近くに自身を配置し、容器を開き、ピックアップするアイテムを識別し、容器の中にハンドを入れ、アイテムをつかみ、箱の近くの位置へ自身を推進し、箱の中にアイテムを配置し、容器を閉め、完了するまで反復するための戦略を有してよい。任意の時点に、ロボットが自律的に進めるための戦略を持たない状態に達した場合、様々な実施形態において、ロボットは、オンデマンド遠隔操作の要求を生成する。例えば、
図2に示す例において、容器が開かず、地面に落ちて、傾斜した姿勢またはその他の認識されない姿勢などで引っかかった場合、もしくは、アイテムを含むと期待された容器が空であるかまたは認識されないアイテムを有する場合、もしくは、必要なアイテムに到達してつかむための戦略をロボットが持たないような向きにアイテムが方向付けられている場合などに、ロボットは、様々な実施形態において、この例における遠隔操作オペレータ230に介入を促す。
【0037】
図1のピックアンドプレース動作および
図2のキッティング動作は、本明細書に開示するオンデマンド遠隔操作を備えた自律ロボットを用いて実行できる非限定的な動作の例である。
【0038】
図3は、オンデマンド遠隔操作を備えた自律ロボットを遠隔操作で制御するためのシステムの一実施形態を示すブロック図である。図の例において、システム300は、手動入力装置(この例では、ハプティック装置304)の操作を通して提供される入力を人間の遠隔操作オペレータ302から受信する。いくつかの実施形態において、ハプティック装置304は、NOVINT TECHNOLOGIES社によって提供されるNOVINT FALCONハプティック装置など、力フィードバックを提供する手動式入力装置を備える。様々な実施形態において、ハプティック装置304以外のおよび/またはそれに加えて1以上の手動入力装置が、遠隔操作を実行するために用いられてよく、かかる装置は、タブレットまたはその他のタッチデバイス、マウス、ボタン/ダイヤルパネル、電話、加速度計ワンド、仮想現実ポインティングデバイス、3D磁気マウス、カメラによるハンドジェスチャの解釈、などを含むが、それらに限定されない。
【0039】
いくつかの実施形態において、ユーザは、ハンドル、ノブ、グリップ、または、その他の手動インターフェースを三次元空間で動かし、ハプティック装置304は、三次元空間での入力手動インターフェースの動きを表す出力信号を生成する。図の例において、ハプティック装置304の出力は、ロボットおよびその利用可能な動作を記述するモデル306を用いて解釈される。例えば、モデル306は、ロボットおよびその構成部品の物理的寸法および構成を反映してよく、ハプティック装置304を介して提供された入力に応答して、ロボットが動作している環境内の三次元空間において、ロボットの制御されたリソース(
図1のグリッパ108またはロボット202のグリッパなど)を動かすためのソリューションを規定してよい。例えば、ロボットアームおよびその構成部品の所与の現在位置に対して、モデル306は、ロボットのアクチュエータ(例えば、関節モータ)を制御して現在位置からハプティック装置304を介して受信された入力に関連する目標位置へグリッパを移動させるための1以上のソリューションを提供してよい。
【0040】
図の例において、モデル306に照らして解釈されたようにハプティック装置304を介して提供された入力に基づいて生成されたロボットコントローラ入力は、ロボットグリッパまたはその他のリソースを目標位置まで移動させるように1以上のモータ310を駆動するために、コントローラ308に提供される。フィードバック312が、モデル306とハプティック装置304に関連するコンピュータとの一方または両方に提供される。いくつかの実施形態において、フィードバックは、ロボット(例えば、ロボットアーム)の現在のポジションと、その構成部品の位置および向きとを示すことで、モデルを用いて、ハプティック装置304を介して受信された入力に応答してロボットアームグリッパまたはその他のリソースを駆動し続けることを可能にする。
【0041】
いくつかの実施形態において、コンテキスト情報が、ハプティック装置304を介して力フィードバックを提供するために受信および利用されてよい。例えば、ロボットが動作している環境の物理的障壁に到達または接近した;ロボットアームのリーチの限界に近づいた;環境中の物理的な物体(ロボットがピックアップした物体など)に接触した、などの結果として、力フィードバックが、ハプティック装置304を介して遠隔操作オペレータ302に提供されてよい。
【0042】
様々な実施形態において、モデル(モデル306など)を用いて、手動入力装置(ハプティック装置304など)を介して提供された入力に基づいてロボットの動作を解釈および制御することは、各関節を個別に制御するなどの代替例と比較して、はるかに直観的かつ容易に、より滑らか、効率的、かつ、連続的な動きで、遠隔操作を実行することを可能にする。
【0043】
図4は、オンデマンド遠隔操作を備えた自律ロボットを制御するための処理の一実施形態を示すフローチャートである。様々な実施形態において、
図4の処理400は、オンデマンド遠隔操作を自律ロボットに提供するために、自律ロボットを構成するおよび/または他の形で関連する1以上のプロセッサによって実行される。図の例において、動作を実行するための命令またはその他の指示を受信すると、処理400を実行するロボットは、工程402で、その開始ポジション、状態、および、コンテキストを決定する。例えば、ロボットは、GPS、オペレータなどによって提供される手動入力、などを用いて、該当する場合に、その構成部品(ロボットアームを構成するセグメントおよび関節など)の位置および向きと共に、自身の現在位置を決定してよい。工程402で決定されるコンテキストは、ロボットが操作するよう求められうる物体、コンテナなどのそれぞれの位置、目標位置(例えば、
図1のコンベヤベルト118、
図2の箱206など)を含んでよい。
【0044】
工程404で、ロボットは、全部の任務および/または目的を達成するためのタスクのシーケンスを決定する。例えば、
図1を参照すると、任務は、テーブル110からアイテムをピックアップして、コンベヤ118上にアイテムを1つずつ配置することであってよい。または、
図2を参照すると、任務は、容器Aからの1つのアイテムおよび容器Dからの2つのアイテムを箱206に入れることであってよい。様々な実施形態において、工程404で決定されるタスクのシーケンス(またはその他のセット)内の各タスクは、1以上のサブタスクを実行するための1以上のスキルの利用を明示的または暗示的に含んでよい。例えば、
図2を参照すると、容器Aから箱206へ1つのアイテムを配置することは、容器Aの近くの位置へ移動すること、容器Aを引き出すこと、アイテムを見つけるためにのぞき込むこと、アイテムに到達してピックアップするための戦略を決定すること、アイテムをつかむこと、容器Aからアイテムを引き出すこと、などを含んでよい。
【0045】
工程406で、ロボットは、すべての任務および/またはその構成要素の完了に向かうベクトルに沿って現在の状態から次の状態へ進むように、次のタスクまたはサブタスクを実行するための戦略を再帰的に決定して実行する(または実行しようとする)。
【0046】
ロボットがスタックした場合(工程408)、例えば、ロボットが、すべての任務の完了に向かって進むように次のタスクまたはサブタスクを実行するのに利用可能な戦略を決定できない場合、ロボットは、遠隔操作による介入を要求するおよび/または待つ(工程410)。人間オペレータが遠隔操作で介入すると(工程410)、ロボットは、さらなるタスクの実行を自律的に再開してよい(工程406)。ずべての任務が完了する(工程412)まで、記載した動作が続き(工程406、408、410)、その後、処理(400)は終了する。
【0047】
図5は、オンデマンド遠隔操作を備えた自律ロボットの一実施形態における動作状態を示す状態図である。様々な実施形態において、
図5の状態
図500は、本明細書に開示するオンデマンド遠隔操作を備えた自律ロボットによって実施される。図の例において、入力またはその他の刺激502により、ロボットは、初期化状態504に入り、その状態において、ロボットは、その開始ポジション、向き、および/または、その他の状態、環境、および/または、その他のコンテキストデータ、などを決定する。
【0048】
初期化が成功した場合、ロボットは、直接遷移508を通して計画状態506に入る。あるいは、ロボットが初期化を完了できなかった場合、ロボットは、遷移512を通して、人的介入状態510に入り、ロボットの初期化を支援するよう人間のユーザに促してよい。さらなる初期化がロボットによってまだ完了されていない場合、ロボットは、遷移514を通して初期化状態504に戻る。あるいは、ロボットは、人的介入状態510から遷移516を通して計画状態506に遷移してもよい。
【0049】
計画状態506において、ロボットは、すべての高レベルの任務または目的を達成するために実行される随意に順序付けられた高レベル動作(タスク)のセットを決定する。計画状態506において、ロボットは、アームおよび/またはロボットの動きを最小限に抑える、完了までの時間を最短化する、目的地におけるアイテムの空間効率のよい配置を保証することなどによって、目的を効率的に達成するように決定された順序で実行する効率的なサブタスクのセットを決定するよう試みてもよい。計画状態506にある間に、この例で、ロボットは、人的介入状態510への遷移518を通して、計画を支援するよう人間に促してもよい。
【0050】
計画状態506において計画立案が完了すると、この例では、ロボットは、遷移522を通して自律動作状態520に入る。自律動作状態520において、ロボットは、例えば、計画状態506で決定された計画に従っておよび/または推進するために、タスクおよび/またはサブタスクを実行することによって、すべての任務および/または目的を達成するよう自律的に動作する。図の例において、ロボットは、自律動作状態520から計画状態506へ戻ってもよい。例えば、元々の(またはその他の現在の)計画と矛盾する予期せぬ状態またはコンテキストに遭遇した場合、ロボットは、計画状態506に戻って、別の計画を提案してよい。
【0051】
自律動作状態520において、ロボットは、オンデマンド遠隔操作を呼び出してよい。例えば、いくつかの実施形態において、ロボットは、すべての任務または目的の完了に向かって進み続けるために実行される必要がある現在または次のタスクまたはサブタスクを実行するのに利用可能な戦略を持たないと判断した場合、遷移526を通して人的介入状態510へ遷移する。例えば、ロボットは、指示されたタスクまたはサブタスクに、例えば遠隔操作で、介入して実行するよう、人間のユーザに促してよい。
【0052】
いくつかの実施形態において、遷移526を通して自律動作状態520から人的介入状態510へ入ると、ロボットは、自律動作を再開するための入力が受信されるまで待機する。かかる入力を受信すると、ロボットは、遷移528を通して自律動作状態520に戻る。いくつかの実施形態において、遷移526を通して自律動作状態520から遷移した後に人的介入状態510で、ロボットは、ロボットのポジション、向き、および、コンテキストデータを連続的および/または定期的に処理して、ロボットが自律動作状態520での動作を再開することを可能にする戦略を決定しようとする。戦略が適時に決定された場合、ロボットは、遷移528を通して自律動作状態520へ戻るよう促してよい。いくつかの実施形態において、ロボットは、自動的に遷移する。いくつかの実施形態において、ロボットは、人間の遠隔操作オペレータに対して、遠隔操作によるロボットの制御を停止して、その代わりに、ロボットが自律動作状態520に戻ることを許可するかまたは積極的に戻らせるよう、促す。いくつかの実施形態において、自律動作状態520へ戻るために必要な人的介入の程度は、コンテキスト、ロボットの性質および用途などに応じて、構成可能であってよいおよび/または変化してよい。
【0053】
すべての任務または目的が完了すると、ロボットは、最後のタスクが自律的に実行された場合には遷移532を介して、あるいは、最後のタスクが遠隔操作で実行された場合には遷移534を介して、終了/レディ状態530へ遷移する。
【0054】
図6は、オンデマンド遠隔操作を備えた自律ロボットを自律動作状態で制御するための処理の一実施形態を示すフローチャートである。様々な実施形態において、
図6の処理600は、
図5の自律動作状態520で動作する自律ロボットなど、オンデマンド遠隔操作を備えた自律ロボットによって実施される。図の例において、自律状態に入ると(工程602)、ロボットは、実行される次のタスクまたはサブタスクを決定する(工程604)。ロボットは、次のタスクまたはサブタスクを自律的に実行するためにロボットにとって利用可能な戦略を決定しようと試みる(工程606)。ロボットは、次の(または任意の次の)タスクまたはサブタスクを実行するための戦略を(これ以上)持たないと判断した場合、オンデマンド遠隔操作が実行される人的介入状態へ遷移する(工程610)。ロボットは、進めるべき戦略を決定した(工程606、608)場合、決定された戦略を用いて、次のタスクまたはサブタスクを実行する(工程612)。成功した場合(工程614)、ロボットは、次のタスクへ進み、完了するまで(工程616)繰り返す。決定された戦略を試みたが、タスクまたはサブタスクの完了に成功しなかった場合(工程606、608、612、614)、ロボットは、タスクまたはサブタスクを実行するための別の戦略を決定しようと試み(工程606)、処理は、タスク/サブタスクの実行が成功するかまたはロボットが人的介入動作状態に入るかしない限りは/それまでは、上述のように進む。
【0055】
図7は、遠隔操作(人的介入)状態で動作する自律ロボットの自律制御を監視および再開するための処理の一実施形態を示すフローチャートである。様々な実施形態において、
図7の処理700は、
図5の人的介入状態510で動作する自律ロボットなど、オンデマンド遠隔操作を備えた自律ロボットによって実施される。図の例において、人的介入(オンデマンド遠隔操作)状態に入ると(工程702)、ロボットは、人間オペレータが遠隔操作でロボットを制御している時に、すべての任務または動作の完了までの進捗;ロボットのポジション、向き、および、状態;ならびに、コンテキストおよび/または環境データ、を自律的に監視する(工程704)。ロボットは、実行される次のタスクまたはサブタスクと、次のタスクまたはサブタスクを自律的に実行するためにロボットにとって利用可能な戦略(もしあれば)と、を決定しようと試み続ける(工程706)。ロボットは、タスクまたはサブタスクを完了するための戦略をロボットが持っている実行対象タスクまたはサブタスクを決定した場合(工程708)、自律動作状態に入る(工程710)。いくつかの実施形態において、ロボットは、自動的に自律動作状態に入ってよい。いくつかの実施形態において、ロボットは、自律動作状態への遷移を許可または開始するよう人間のユーザに促すことによって、自律動作状態に入ってもよい。
【0056】
様々な実施形態において、本明細書に開示する技術は、同じ人間オペレータまたは同じチームのオペレータによる複数のロボット(例えば、異なる位置にある各ロボット)の監視およびオンデマンド遠隔操作を容易にしうる。
【0057】
図8は、オンデマンド遠隔操作を備えた複数の自律ロボットの一対多の制御を提供するためのシステムの一実施形態を示すブロック図である。図の例において、第1位置800で動作するロボット802に関連付けられたコントローラ804;第2位置820で動作するロボット822に関連付けられたコントローラ824;および、第3位置840で動作するロボット842に関連付けられたコントローラ844が各々、第4位置にある遠隔操作コンピュータ862へネットワーク860を介して接続されている。遠隔操作コンピュータ862は、人間のオペレータ866によって手動入力装置864を介して提供された遠隔操作入力に基づいて、ロボット802、822、および、842の任意の1つを任意の時に制御するよう構成されている。様々な実施形態において、遠隔操作コンピュータ862は、コントローラ804、824、および、844の内の1以上からネットワーク860を介して、そのコントローラによって制御されるロボットがオンデマンド人的介入(遠隔操作)を必要とする旨の指示を受信するよう構成されている。それに応答して、遠隔操作コンピュータ862は、問題のあるロボット、および、それの現在のポジション、状態、コンテキスト、環境など、ならびに、実行されるタスク、に関する情報をユーザ866に向けて表示する。遠隔操作コンピュータ862は、手動入力装置864を介して提供された入力を、問題のあるロボットの動作を制御するための対応する制御信号、コマンド、命令などに対応付けるために、問題のあるロボットのためのモデルを用いる。問題のあるロボットの遠隔操作が完了すると、遠隔操作コンピュータは、遠隔操作を実行する旨の次の指示の受信を待つ監視状態に再び入る。
【0058】
図8に示した例では、1人の遠隔操作オペレータが、別個の1つのロボット環境で各々動作する多くの異なるロボットを遠隔操作で制御するが、いくつかの実施形態において、1人の遠隔操作オペレータが、一度に同じ環境内の複数のロボットを制御してもよい。例えば、タスクが、物体をピックアップするために2または3つのロボットの協働を求める場合がある。または、タスクが、一山の物体の中の物体を仕分けるために3つのロボットの協働を求める場合がある。いくつかの実施形態において、複数のロボットが、各々を同じ対象物(例えば、物体の山)および目的地(例えば、物体ごとの容器)に向けることなどにより、同じ空間で自律的に共有タスクに取り組むタスクを与えられる。ロボットは各々、割り当てられたタスクを実行するよう自律的に(または協調して)作業する。いずれかの(またはすべての)ロボットがスタックした場合に、人的介入が要求される。
【0059】
図9は、オンデマンド遠隔操作を備えた複数の自律ロボットの一対多の制御を提供するための処理の一実施形態を示すフローチャートである。様々の実施形態において、
図9の処理900は、コンピュータ(
図8の遠隔操作コンピュータ862など)によって実行される。図の例では、自律状態で各々動作する複数の位置のロボットが監視される(工程902)。ビデオまたはその他のフィードが、例えば、ディスプレイ装置を介して提供されてよい。人的介入(例えば、遠隔操作)を提供するための指示が、所与のロボットおよび/または位置に関して受信された場合(工程904)、ロボットの状態およびコンテキスト情報が、人間のユーザに表示され(工程906)、ハプティック入力装置またはその他の手動入力装置を介して提供された入力が、遠隔操作で制御されるロボットのための対応する制御入力に対応付けられる(工程908)。人的介入(遠隔操作)が完了すると(工程910)、問題のあるロボットは、自律動作を再開し、処理900を実施するシステムは、複数の位置の監視を再開する(工程902)。監視および(必要に応じて)人的介入は、すべてのロボットが作業を完了または他の形で終了させる(工程912)まで、記載したように継続し、完了後、処理900は終了する。
【0060】
いくつかの実施形態において、本明細書に開示する自律ロボットは、ロボットがスタックして、例えば遠隔操作を介して、提供される人間の支援を要求して待つ必要がありうる状況を予測して先手を打つするよう試みる。いくつかの実施形態において、本明細書に開示するロボットは、事前に人間の支援を得る(例えば、アイテムCのようなアイテムをピックアップする方法を教えてもらう)、および/または、必要であると予測される時に提供されるように事前に人間の支援をスケジュールするよう試みる。
【0061】
図10は、先制的に人間の支援を得るための処理の一実施形態を示すフローチャートである。様々な実施形態において、本明細書に開示する自律ロボットは、少なくともロボットが予測できる状況に関して、
図10の処理を実施する。いくつかの実施形態において、
図10の処理1000の全部または一部が、
図5に示した例の計画状態506中に実行されてよい。図の例において、任務の割り当てを受信すると、ロボットは、その開始位置、状態、および、コンテキストを決定する(工程1002)。ロボットは、目的を達成する(すなわち、任務を完了する)ためのタスクのシーケンスを決定し(工程1004)、タスクのシーケンスは、開始状態から任務が完了した完了状態までの1セットの状態を暗示するおよび/または他の形で関連している。ロボットは、タスクおよび/または関連する状態の少なくとも一部について、任務の完了に向かうベクトルに沿ってその状態から次の状態へ進むための戦略を予め再帰的に決定する(工程1006)。ロボットが人的介入(例えば、遠隔操作、物体の識別、既存の戦略の選択、新しい戦略のロボットへの教示など)を求めることを決定する任意の将来のタスク/状態について(工程1008)、ロボットは、自律動作を再開する前に人間の支援を得るために、人間の遠隔操作と、自身の自律動作のスケジュールされた中断とをスケジュールすることなどによって、できる限り、予め人間の助けを要求して獲得する(工程1010)。ロボットは、できるだけ自律的に動作し、任務が完了する(工程1012)まで、必要に応じて、スケジュールされた人間の支援および/または(例えば、ロボットをスタックさせる予期せぬイベントに対して)オンデマンドの人間の支援を得る。
【0062】
様々な実施形態において、本明細書に開示する技術は、すべての動作が完了するまで実行されることを保証するために、必要な時と場合に、人的介入をオンデマンドで提供することで、いくつかの実施形態では複数のリモート位置で同時に、より高度な器用さを必要とするより複雑なタスクが自律的に実行されることを可能にしうる。
【0063】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。本発明は以下の適用例としても実現できる。
[適用例1]
システムであって、
ロボットを、前記ロボットが人的介入なしに1以上のタスクを自律的に実行する自律動作モードで動作させ、次のタスクを自律的に実行するための戦略が利用可能でないと判定し、前記判定に応答して、人的介入動作モードに入るよう構成されたプロセッサと、
前記プロセッサに接続され、前記ロボットの1以上のアクチュエータに制御値を通信するよう構成された通信インターフェースと、
を備える、システム。
[適用例2]
適用例1に記載のシステムであって、
前記プロセッサは、前記ロボット内に備えられている、システム。
[適用例3]
適用例1に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、前記ロボットによって実行される高レベル動作を受信することを含む、システム。
[適用例4]
適用例3に記載のシステムであって、
前記高レベル動作は、ユーザインターフェースを介して受信される、システム。
[適用例5]
適用例3に記載のシステムであって、
前記高レベル動作は、前記ロボットによって操作される1以上のアイテムと、前記アイテムの各々について、前記アイテムを取得するソース位置および前記アイテムを配置する目標位置の一方または両方と、を識別する、システム。
[適用例6]
適用例3に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、前記高レベル動作を実行するために前記システムを初期化することを含む、システム。
[適用例7]
適用例6に記載のシステムであって、
初期化することは、ロボットの位置、ロボットのポジション、ロボットの状態、ロボットのコンテキスト、および、ロボットの環境、の内の1以上を決定することを含む、システム。
[適用例8]
適用例3に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、前記高レベル動作を実行するための計画を人的介入なしに決定することを含む、システム。
[適用例9]
適用例8に記載のシステムであって、
前記計画は、前記動作を完了させるために実行されるタスクのセットを含み、前記タスクのセットは、前記1以上のタスクを含む、システム。
[適用例10]
適用例9に記載のシステムであって、
前記タスクのセットは、少なくとも部分的に順序付けられたタスクのセットを含む、システム。
[適用例11]
適用例9に記載のシステムであって、
前記ロボットを前記自律動作モードで動作させることは、実行される各タスクおよび該当する場合には各タスクの各構成サブタスクについて、前記タスクまたはサブタスクを実行するための戦略を再帰的に実行することを含む、システム。
[適用例12]
適用例11に記載のシステムであって、
前記戦略は、前記タスクまたはサブタスクを実行するために適用される前記ロボットの1以上のスキルに関連する、システム。
[適用例13]
適用例1に記載のシステムであって、
前記人的介入モードで、前記ロボットは、遠隔操作で制御されるよう構成されている、システム。
[適用例14]
適用例1に記載のシステムであって、
前記人的介入モードに入ることは、人間のオペレータに遠隔操作を開始させることを含む、システム。
[適用例15]
適用例1に記載のシステムであって、
前記プロセッサは、前記人的介入モード時に、
前記ロボットの遠隔操作と、前記ロボットに関連する高レベル動作の完了までの進捗とを監視し、
前記高レベル動作の完了に関連する次のタスクを自律的に実行するための戦略を決定し、
前記次のタスクを実行するための前記戦略を実施することなどによって、前記自律動作モードを再開するよう構成されている、システム。
[適用例16]
適用例1に記載のシステムであって、
前記ロボットは、各々が関連位置にあると共に各々が対応するプロセッサを有する複数のロボットに含まれる第1ロボットを含み、前記システムは、さらに、前記ロボットから現在選択されている1のロボットの遠隔操作を可能にするためのインターフェースを備える、システム。
[適用例17]
適用例16に記載のシステムであって、
複数のロボットに含まれる2以上のロボットが、同じ関連位置に配置される、システム。
[適用例18]
方法であって、
ロボットを、前記ロボットが人的介入なしに1以上のタスクを自律的に実行する自律動作モードで動作させる工程と、
次のタスクを自律的に実行するための戦略が利用可能でないことを、前記ロボットを構成するかまたは他の形で関連するプロセッサによって判定する工程と、
前記判定に応答して、前記プロセッサが、人的介入動作モードに入らせる工程と、
を備える、方法。
[適用例19]
適用例18に記載の方法であって、
さらに、前記プロセッサが、前記人的介入モードで人的介入を実行する際に人間オペレータの助けになるように、センサ出力データを提供する工程を備える、方法。
[適用例20]
非一時的なコンピュータ読み取り可能媒体内に具現化されたコンピュータプログラム製品であって、
ロボットを、前記ロボットが人的介入なしに1以上のタスクを自律的に実行する自律動作モードで動作させるためのコンピュータ命令と、
次のタスクを自律的に実行するための戦略が利用可能でないと判定するためのコンピュータ命令と、
前記判定に応答して、人的介入動作モードに入るためのコンピュータ命令と、
を備える、コンピュータプログラム製品。