(57)【要約】  産業タスクを実行するためのシステムは、ロボット及びコンピューティングデバイスを含む。当該ロボットは、当該ロボットと、当該ロボットを取り巻く環境と、に対応するデータを収集する、１つ又は複数のセンサを含む。当該コンピューティングデバイスは、ユーザインタフェース、プロセッサ、及びメモリを含む。当該メモリは、当該プロセッサによって実行されると、当該プロセッサに、当該ロボットから、当該収集されたデータを受信することと、当該ロボットと、当該ロボットを取り巻く当該環境と、の仮想再現を生成することと、産業タスクを実演するために当該ロボットを制御している人間のオペレータから、入力を受け取ることと、をさせる命令を含む。当該システムは、当該人間のオペレータによる当該タスクの実演に基づいて当該産業タスクを実行する方法を学習して、当該ロボットを介して自律的又は半自律的に当該産業タスクを実行するように、構成されている。【選択図】図１
2021509986.tif 000002
【特許請求の範囲】
【請求項１】
ロボットであって、
前記ロボットと、前記ロボットを取り巻く環境と、に対応するデータを収集するように構成された、１つ又は複数のセンサ、
を含む、ロボットと、
コンピューティングデバイスであって、
ユーザインタフェースと、
プロセッサと、
メモリであって、前記プロセッサによって実行されると、前記プロセッサに、
前記ロボットから、前記収集されたデータを受信することと、
前記ロボットと、前記ロボットを取り巻く前記環境と、の仮想再現を生成することと、
産業タスクを実演するために前記ロボットを制御している人間のオペレータから、入力を受け取ることと、
をさせる命令を含む、メモリと、
を含む、コンピューティングデバイスと、
を備える、産業タスクを実行するためのシステムであって、
前記システムは、
前記人間のオペレータによる、前記タスクの実演に基づいて、前記産業タスクを実行する方法を学習し、かつ、
前記ロボットを介して、自律的又は半自律的に前記産業タスクを実行する、
ように構成されている、
産業タスクを実行するためのシステム。
【請求項２】
前記コンピューティングデバイスは、前記ロボットから離れて配置されており、
前記ロボット及び前記コンピューティングデバイスは、クラウドインタフェースを介して互いに通信するように構成されている、
請求項１に記載の産業タスクを実行するためのシステム。
【請求項３】
前記ユーザインタフェースは、仮想現実ヘッドセット及びコントローラを含む、請求項１に記載の産業タスクを実行するためのシステム。
【請求項４】
前記ユーザインタフェースは、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、コンピュータのモニタ、テレビジョン、プロジェクタ、又はそれらの何らかの組み合わせを含む、請求項１に記載の産業タスクを実行するためのシステム。
【請求項５】
前記システムは、前記産業タスクの実行を開始する前に、運動計画を生成するように構成されており、
前記人間のオペレータは、前記オペレータのインタフェースを介して、前記運動計画に関するフィードバックを提供する、
請求項１に記載の産業タスクを実行するシステム。
【請求項６】
前記ロボットは、前記収集されたデータを、処理し、部分的に処理し、又は前処理するように構成されている、請求項１に記載の産業タスクを実行するためのシステム。
【請求項７】
前記ロボットは、収集された生データを前記コンピューティングデバイスに送信するように構成されている、請求項１に記載の産業タスクを実行するためのシステム。
【請求項８】
前記ロボットと、前記ロボットを取り巻く前記環境と、に対応するデータを格納するように構成されたリモートサーバを備える、請求項１に記載の産業タスクを実行するためのシステム。
【請求項９】
前記ロボットは、
前記コンピューティングデバイスと通信するように構成されたネットワークインタフェースと、
前記ロボットの位置を制御するように構成された駆動システムと、
１つ又は複数のアクチュエータを含むマニピュレータであって、前記ロボットは、前記産業タスクの実行において、前記マニピュレータを利用するように構成されている、マニピュレータと、
前記ロボットと、前記ロボットを取り巻く前記環境と、に対応する前記データを収集するように構成された感知システムと、
を含む、請求項１に記載の産業タスクを実行するためのシステム。
【請求項１０】
前記ロボットは、前記ロボットによる前記産業タスクの実行を計画するように構成された、タスク計画コンポーネントを含む、請求項１に記載の産業タスクを実行するためのシステム。
【請求項１１】
プロセッサと、
メモリであって、
前記プロセッサによって実行されると、前記プロセッサに、
産業タスクの実演としてロボットを制御している人間のオペレータから、入力を受け取ることと、
前記人間のオペレータによる、前記産業タスクの実演に基づいて、前記ロボットを制御して前記産業タスクを実行する方法を、学習することと、
前記ロボットを制御して自律的又は半自律的に前記産業タスクを実行することと、
をさせる命令を含む、メモリと、
を備える、プロセッサ実装された学習システム。
【請求項１２】
前記命令は、前記プロセッサに、
前記タスクの実行中、又は前記タスクの実行後に、前記人間のオペレータからフィードバックを受け取ることと、
前記人間のオペレータから提供された前記フィードバックに基づいて、前記ロボットを制御して前記産業タスクを実行する方法を、再学習することと、
をさせる、請求項１１に記載のプロセッサ実装された学習システム。
【請求項１３】
前記プロセッサ実装された学習システムは、前記ロボットの中に配置されている、請求項１１に記載のプロセッサ実装された学習システム。
【請求項１４】
前記プロセッサ実装された学習システムは、前記ロボットと通信するサーバの中に配置されている、請求項１１に記載のプロセッサ実装された学習システム。
【請求項１５】
前記プロセッサ実装された学習システムは、前記ロボットと通信する複数のサーバにわたって分散されている、請求項１１に記載のプロセッサ実装された学習システム。
【請求項１６】
産業タスクの実行を実演している人間のオペレータからの入力を受け取ることと、
前記産業タスクの実演に基づいて、前記産業タスクを実行する方法を学習することと、
前記産業タスクを実行するための運動計画を生成することと、
前記運動計画を、承認のために前記人間のオペレータに対して表示することと、
前記運動計画の承認の上で、ロボットを介して、前記産業タスクを実行することと、
を含む、産業タスクを実行する方法。
【請求項１７】
前記ロボットと、前記ロボットを取り巻く環境と、に対応するデータを収集することと、
前記ロボットと、前記ロボットを取り巻く前記環境と、の仮想再現を生成することと、
前記ロボットと、前記ロボットを取り巻く前記環境と、の前記仮想再現を、前記人間のオペレータに対して表示することと、
を含む、請求項１６に記載の方法。
【請求項１８】
前記産業タスクの実行中の前記ロボットの状態を表現することを含む、請求項１６に記載の方法。
【請求項１９】
前記人間のオペレータによる前記産業タスクの実演を、一般化することを含む、請求項１６に記載の方法。
【請求項２０】
前記人間のオペレータからフィードバックを受け取ることを含み、
前記フィードバックは、前記産業タスクを再学習するために使用される、
請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示されている主題は、ロボットによって実行される産業タスクに関し、より具体的には、産業タスクを実行する方法を学習するロボットに関する。
【背景技術】
【０００２】
様々な主体の運営には、資産の検査、資産の修理、資産の操作、資産の保守、環境の監視などの、産業タスクの実行が含まれる場合がある。そのような資産には、物理的又は機械的なデバイス、構造体、又は施設が含まれる場合があり、これらは、場合によっては、加えて電気的及び／又は化学的側面を有する場合がある。そのような資産は、様々な目的のために使用又は保守され得、資本インフラストラクチャ、在庫として、又はコンテキストに応じて他の専門語によって、特徴付けられ得る。例えば、資産には、パイプライン又は電力網などの、分散した資産とともに、飛行機、風力タービン発電機、電波塔、蒸気又は煙突又は煙の排気筒、橋又は他の構造体、輸送手段などの、個別の又は単体の資産が、含まれる場合がある。運用中において、資産は、操作される場合がある（例えば、バルブが作動させられる、１つ又は複数のアクチュエータが作動させられる、１つ又は複数のコンポーネントが移動されるなど）。さらに、資産は、それらの運用に影響を与え得る様々なタイプの欠陥（例えば、自然に進む機械的欠陥、電気的欠陥とともに、日常的な使用による損耗）を免れない場合がある。例えば、時間の経過とともに、資産は、天候によって腐食し若しくは亀裂が生じ得、又はコンポーネント部品の摩耗若しくは故障によって性能若しくは効率が低下し得る。
【０００３】
典型的には、１人又は複数の人間のオペレータが、産業タスクを実行し得る。例えば、オペレータは、資産のコンポーネントを作動させたり、資産の腐食を探し出したり、資産の亀裂又は欠陥を探し出して定量的又は定性的に評価したり、予想されるものと対比して観察される、使用による損耗の程度について資産を評価したり、資産を修理したりなどし得る。しかし、資産の場所、サイズ、及び／又は複雑さによっては、１人又は複数のオペレータが産業タスクを実行することは、それらのオペレータが他のタスクを実行する時間を奪うものであるか、又は普通なら、時間を浪費しかつ労力集約的であり得、どこか他のところでより生産的に費やされたかもしれない、人員の時間を必要とするものである。さらに、一部の産業タスクは、単調、不潔、危険であるか、又は普通なら、人間が実行するのに適さない場合がある。例えば、一部の資産は、高さ、又は限定された空間などのために、人間がアクセス可能でない場合がある場所を、有する場合がある。
【発明の概要】
【０００４】
特許請求の範囲に当初記載された主題に対応する範囲の、特定の実施形態の概要を以下に述べる。これらの実施形態は、特許請求の範囲に記載されている主題の範囲を限定するように意図されているものではなく、むしろこれらの実施形態は、可能な実施形態の簡単な概要を提供するようにだけ、意図されている。実際、本開示は、以下に述べる実施形態と類似するか異なり得る、様々な形態を包含し得る。
【０００５】
一実施形態では、産業タスクを実行するためのシステムは、ロボット及びコンピューティングデバイスを含む。当該ロボットは、当該ロボットと、当該ロボットを取り巻く環境と、に対応するデータを収集する、１つ又は複数のセンサを含む。当該コンピューティングデバイスは、ユーザインタフェース、プロセッサ、及びメモリを含む。当該メモリは、当該プロセッサによって実行されると、当該プロセッサに、当該ロボットから、当該収集されたデータを受信することと、当該ロボット、及び当該ロボットを取り巻く当該環境の仮想再現を生成することと、産業タスクを実演するために当該ロボットを制御している人間のオペレータから、入力を受け取ることと、をさせる命令を含む。当該システムは、当該人間のオペレータによる当該タスクの実演に基づいて当該産業タスクを実行する方法を学習して、当該ロボットを介して自律的又は半自律的に当該産業タスクを実行するように、構成されている。
【０００６】
別の実施形態では、プロセッサ実装された学習システムは、プロセッサと、メモリと、を備える。当該メモリは、当該プロセッサによって実行されると、当該プロセッサに、産業タスクの実演としてロボットを制御している人間のオペレータから、入力を受け取ることと、当該人間のオペレータによる、当該産業タスクの当該実演に基づいて、当該ロボットを制御して当該産業タスクを実行する方法を、学習することと、当該ロボットを制御して自律的又は半自律的に当該産業タスクを実行することと、をさせる命令を含む。
【０００７】
さらなる実施形態では、産業タスクを実行する方法は、産業タスクの実行を実演している人間のオペレータからの入力を受け取ることと、当該産業タスクの当該実演に基づいて、当該産業タスクを実行する方法を学習することと、当該産業タスクを実行するための運動計画を生成することと、当該運動計画を、承認のために当該人間のオペレータに対して表示することと、当該運動計画の承認の上で、ロボットを介して、当該産業タスクを実行することと、を含む。
【図面の簡単な説明】
【０００８】
本開示のこれら及びその他の特徴、態様、及び利点は、図面全体を通して同様の符号は同様の部分を表す、添付の図面を参照して以下の詳細な説明が読まれるとき、よりよく理解されるようになるであろう。
【０００９】
【図１】一実施形態による、産業タスクを実行するためのシステムを示す図である。
【図２】一実施形態による、図１の産業タスクを実行するためのシステムの、ロボットの概略図である。
【図３】一実施形態による、図１の資産検査システムの、リモートサーバ及び／又はワークステーションのブロック図である。
【図４】一実施形態による、産業タスクを実行する際の、図１の資産検査システムの、ロボットと、リモートサーバと、ワークステーションとの間の相互作用を示している、概略図である。
【図５】一実施形態による、図４に示されているような学習機構の例を示している、概略図である。
【図６】一実施形態による、人間によるタスクの実演に基づいて産業タスクを実行するための、プロセスのフローチャートである。
【発明を実施するための形態】
【００１０】
１つ又は複数の具体的な実施形態を以下で説明する。これらの実施形態の簡潔な説明を提供するため、実際の実装のすべての特徴が、本明細書内で説明されているわけではない場合がある。あらゆるそのような実際の実装の開発では、あらゆるエンジニアリング又は設計のプロジェクトにおけるように、実装ごとに異なり得るシステム関連及びビジネス関連の制約に従うことなど、開発者の具体的な目標を達成するために、実装に固有の多くの決定を行わなければならないことが理解されるべきである。その上、そのような開発努力は複雑で時間がかかり得るが、それでも、本開示の利益を受ける当業者にとっては、設計、製造、及び生産の日常業務であることが理解されるべきである。
【００１１】
本開示の様々な実施形態の要素を導入するとき、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、及び「ｓａｉｄ」は、１つ又は複数のその要素があることを意味するように意図されている。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、及び「有する（ｈａｖｉｎｇ）」という用語は、包括的であるように意図されており、かつ、列記された要素以外の追加的な要素があり得ることを意味するように意図されている。さらにまた、以下の議論におけるあらゆる数値例は、非限定的であることが意図されており、したがって、さらなる数値、範囲、及びパーセンテージは、開示されている実施形態の範囲内である。
【００１２】
本明細書で議論されているように、本アプローチは、ロボット、無人輸送手段、若しくはドローンを使用する産業タスクの実行、及び／又は人間によるタスクの実演に基づいてタスクを実行する方法を学習する、自動化された若しくはコンピュータベースのルーチンによって実装される検査に関する。例として、そのような産業タスクは、脚、車輪、キャタピラなどを有するものを含む地上移動ロボットなどの、無人デバイス若しくはロボットデバイス、固定翼輸送手段及び回転翼輸送手段を含む、無人空中輸送手段（ｕｎｍａｎｎｅｄ  ａｅｒｉａｌ  ｖｅｈｉｃｌｅ：ＵＡＶ）、液体の底に沿って泳ぎ若しくは移動し得る、無人水中輸送手段（ｕｎｍａｎｎｅｄ  ｓｕｂｍｅｒｓｉｂｌｅ  ｖｅｈｉｃｌｅ：ＵＳＶ）、又はドローン若しくはロボットとして特徴付けられ得る、他の自律移動輸送手段を使用して、実行され得る。本明細書で使用される場合、「ドローン」及び「ロボット」という用語は、人間の限られた監視のもとで、プログラム可能な移動ができる、ＵＡＶ、ＵＳＶ、ロボットデバイスなどに対するすべての変形を包含するように意図されている。そのようなプログラム可能な移動は、局所的に生成される経路中間地点若しくは経路案内、又はリモートシステムによって生成されてロボットに伝達される経路案内及び経路中間地点の、いずれかに基づくことができる。したがって、本明細書で使用される場合、そのようなデバイスは、人間の限られた介入又は監視のもとで、動作フェーズ又は動作期間中に移動する。本アプローチに従って、そのようなデバイスは、飛行計画に沿って移動するように運用され得る。ここで、デバイスは、この飛行計画に沿って、ビデオデータ若しくは静止画像データ、ＬＩＤＡＲデータ、音響データ、分光データ、温度若しくは圧力データ、化学サンプル、臭い、又はこの飛行計画に沿って移動しているデバイスに取り付けられることができるセンサ若しくはカメラによって取得されることができる、他のデータなどのデータを取得する。一般に、そのような産業タスクは、発電資産、通信資産、輸送資産、掘る資産又は地下ポンプ資産、製造資産又は構築資産などを含むがこれらに限定されない、１つ又は複数の資産上で実行され得る。
【００１３】
本明細書では一般的に「飛行計画」という句が使用されているが、この句が、空中移動を必要とするのではなく、代わりに任意の、（軌道に沿ったものなどの）１次元（１Ｄ）、（定義された若しくは不定の平面ルートに沿ったものなどの）２次元（２Ｄ）、若しくは（空中、水中、若しくは深さ若しくは高さの行き来もできる構造体上での移動などの）３次元（３Ｄ）、又は（中間地点のステーションでの速度、加速度、若しくは時間を特徴付け得る、定義された時間的側面がある場所などの）４次元（４Ｄ）の経路若しくはルートであって、その経路若しくはルートに沿って飛行計画の一部としてドローンが移動するものに、関連することが理解されるべきである。したがって、本明細書で使用される場合、「飛行計画」は、任意の１Ｄ、２Ｄ、３Ｄ、又は４Ｄのルート又は経路であって、そのルート又は経路に沿ってドローン又はロボットなどのデバイスが検査タスクを含む産業タスクを実行するために移動されるものとして、特徴付けられ得る。そのような経路は、適応的であり得、かつ／又は１つ若しくは複数の中間地点からなり得る。ここで、ロボットは、その中間地点に沿って順序付けられた方法で進み、その中間地点のシーケンス及び位置は、経路又はルートを定義する。そのような飛行計画はまた、時間的及び／又は空間的位置だけでなく、経路に沿った移動のための、及び／又は所与の中間地点での提示のための、向き及び／又はアラインメントの命令も組み込み得ることが理解されるべきである。したがって、飛行計画はまた、ドローンが飛行計画に沿ったそれぞれ異なる点で提示するためのロール、ピッチ、及びヨーなどのパラメータを特定し得るとともに、センサ又はカメラが飛行計画に沿った点を指している方向に関連し得る、２次元又は３次元のアラインメント特性を特定し得る。したがって、飛行計画は、ロボットが産業タスクの現場を基準としてどこにあるか又はいつであるかだけでなく、所与の位置又は中間地点で、方向を扱うことができる。ここで、ロボットは、その方向を基準に、面しているか、又はその他向き付けられている。さらに、同じ中間地点及び向きであっても、画像が異なる視界を効果的に構成するように、それぞれ異なる倍率、波長、又は他の光学パラメータで画像が取得されてもよい。本明細書で議論されているように、本アプローチでは、タスクの実行中に収集されて取得されたセンサデータによって、産業タスクの実行を容易にする。
【００１４】
さらに、特定の態様によれば、事前の知識が、産業タスク中に活用されてもよい。例えば、事前の知識は、適応的タスク計画又は飛行計画を生成又は変更する際に使用されてもよい。特定の態様では、機械学習のアプローチを採用して人間による実演及び／又は（例えば、資産の状態、データの十分性、決定の監視、任務計画などに関する）人間のレビュアーによる決定から学習し得、それにより、将来のデータ十分性の決定を容易にすることができる、この事前の知識に基づいてトレーニングされた人工ニューラルネットワークを作り出し得る。
【００１５】
説明を容易にし、有用な現実世界のコンテキストを提供するために、風力タービン発電機、無線送信タワー、煙突などの様々な例が、本明細書で提供されている。しかしながら、そのような例は、単に説明を容易にするために提供されており、本アプローチは、広範な他の資産及び様々な他のタイプの現場での使用に適していることが理解されるべきである。したがって、本アプローチは、本例のコンテキストに限定されるように意図されていない。
【００１６】
上記を念頭に置いて図を参照すると、図１は、産業タスクを実行するためのシステム１０の態様を示している。示されているように、システム１０は、煙突又は他の適切な資産などの、１つ又は複数の資産１４上で又はその近くで産業タスクを実行するのに適した、１つ又は複数のロボット１２を採用する。
【００１７】
システム１０はまた、クラウド１８（例えば、ストレージ、コンピューティング、又は他の機能のために、１つ又は複数のリモートサーバ、仮想マシンなどにアクセスするための、ネットワークインタフェース）を介してアクセス可能なリモートサーバ１６も含む。リモートサーバ１６は、タスクの実行などの、１つ又は複数のロボット１２の動作を調整するために、１つ又は複数のロボット１２と通信し得る。一実装では、ロボット１２は、オンボードのセルラ接続性又はネットワーク接続性を有し、少なくともタスクの実行前及び／又は実行中に、リモートサーバ１６と通信できる。特定の実装では、ロボット１２のセルラ接続性又はネットワーク接続性により、タスク中の通信が可能になり、検査データのリモートサーバ１６への伝達が可能になりかつ／又はリモートサーバ１６が所与のロボット１２と通信できるようになる。
【００１８】
示されているように、いくつかの実施形態では、システム１０はまた、タスク実行の前及び／又は後のロボット１２の短期保管又は長期保管のための、資産１４上又はその近くに配置されたドッキングステーション２０（例えば、ロボットガレージ）も含む。いくつかの実施形態では、ドッキングステーション２０は、クラウド１８を介してリモートサーバ１６と通信し得る。ロボット１２が電力のためにバッテリに頼っている場合、ドッキングステーション２０はまた、ロボット１２のバッテリを充電するための電源も含み得る。
【００１９】
示されている例では、リモートサーバ１６は、クラウド１８を介してロボット１２によってアクセス可能な、リモート・コンピューティング・デバイスである。図１には単一のリモートサーバ１６だけが示されているが、リモートサーバ１６によって実行される機能は、複数のリモートサーバ１６によって、及び／又はサーバ環境の仮想化されたインスタンスによって、実行され得ることが理解されるべきである。本実施形態では、リモートサーバ１６は、データ処理システム２２を含む。データ処理システム２２は、ロボット１２から受信したデータを処理するための、メモリコンポーネント２４及びプロセッサ２６を含み得る。以下でより詳細に説明するように、いくつかの実施形態では、ロボット１２は、生データを、処理のためにリモートサーバ１６に提供してもよい。他の実施形態では、ロボット１２は、データをリモートサーバ１６に渡す前に、そのデータを前処理し又は部分的に処理してもよい。さらなる実施形態では、データ処理のすべてが、ロボット１２によって実行されてもよい。
【００２０】
リモートサーバ１６はまた、検索／解析コンポーネント２８も含む。検索／解析コンポーネント２８はまた、リモートサーバ１６に格納されているデータを検索し、解析し、及びその他、リモートサーバ１６に格納されているデータと相互作用するための、メモリ２４及びプロセッサ２６も含み得る。ユーザインタフェース３０は、ユーザから入力を受け取ってもよい。例えば、データ処理システム２２は、ユーザインタフェース３０を介して提供されるユーザからの入力、又は別のコンピューティングデバイスからの入力を使用する機械学習（例えば、トレーニングされた人工ニューラルネットワーク）を利用してもよい。ユーザ入力は、実演的（例えば、タスクを実行する方法を実演する）、監督的（例えば、ユーザは、ロボットを監視して、ロボットが検査を実行するときに案内を与える）、補正的（例えば、ロボットが何かを誤って行うと、ユーザがロボットを補正する）、強化的（例えば、ロボットが何かを正しく行うと、ユーザがロボットに知らせる）、決定的（例えば、ユーザは、促されたときに、ロボットのために決定を行う）、指令的（例えば、資産の中の特徴を識別する）などであってもよい。いくつかの実施形態では、ユーザは、フィードバックを用いて、ロボットによるタスクの実行を中断し得る。他の実施形態では、ロボットは、フィードバックを要求することで人間のオペレータを促し得る。ネットワークインタフェース３２は、クラウド１８を介したロボット１２間の通信を容易にする。示されているように、リモートサーバ１６は、１つ又は複数のデータベース３４を格納及び維持し得る。これらのデータベース３４は、様々なタスクを実行するための命令、検査データ、構成ファイル、資産及び／又は資産を取り巻く領域のモデル、タスクファイル、アルゴリズムなどを含み得る。
【００２１】
産業タスクの実行中又は実行後、ロボット１２は、処理、分析、及び／又は格納のために、収集されたデータをリモートサーバ１６に送信し得る。例として、タスク中に１つ又は複数のロボット１２によって取得されたビデオ、画像、ＬＩＤＡＲデータ、深度センサデータ、音響データ、分光データ、又は他の関連するセンサ若しくはカメラデータは、取得されたときに、又は検査飛行計画の完了後にバッチとして、データベース３４にアップロードされ得る。あるいは、他の実装では、収集されたデータは、ロボット１２からの直接送信を介して、及び／又は専用の検査データ通信回路などの他の中間の通信構造を介してなど、他の手段又はチャネルによってデータベース３４に提供され得る。
【００２２】
示されている例では、データ処理システム２２、データベース３４、及び検索／解析コンポーネント２８は、単一の又は共通プロセッサベースのシステムの一部として示されている。しかしながら、示されている機能は、分散した又は散在する態様で実装されてもよく、特定の態様は、資産１４、ロボット１２、運用設備、及び／又は資産１４から離れた他の位置に、局所的である。そのような分散した実装では、示されている態様は、１つ又は複数のネットワーク接続などを介して、依然として通信可能にリンクされていてもよい。
【００２３】
示されているように、システム１０は、１つ又は複数のワークステーション３６も含む。図示されている実施形態では、ワークステーション３６は、リモートサーバ１６から分離されている。しかしながら、いくつかの実施形態では、リモートサーバ１６及びワークステーション３６の動作は、単一のコンピューティングデバイスによって実行されてもよい。ワークステーションは、例えば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、（仮想現実ヘッドセット３８及び１つ又は複数のコントローラ４０を含む）仮想現実システムなどを、含んでもよい。以下でより詳細に説明するように、１つ又は複数のロボット１２上又はその周囲に配置された１つ又は複数のセンサ（例えば、カメラ、赤外線センサ、近接センサなど）が、１つ又は複数のロボット及び１つ又は複数のロボットの周囲の環境の、仮想再現を生成するために、使用されてもよい。いくつかの実施形態では、資産のモデル、資産の若しくは資産の周囲の、様々なコンポーネント、及び／又は周囲の領域が、仮想再現で使用されてもよい。次いで、仮想環境は、ワークステーション３６を介して（例えば、仮想現実ヘッドセット、ワークステーション３６のディスプレイ、テレビジョン、プロジェクションなどを介して）、オペレータ４２に対して表示されてもよい。次いで、オペレータは、ロボットを制御してタスクが実行される方法を実演するために、１つ又は複数の入力デバイス（例えば、コントローラ４０、マウス、ジョイスティック、リモートコントロール、キーボードなど）を使用してもよい。タスクには、例えば、資産を検査すること、資産のコンポーネントを作動させること（例えば、バルブを作動させること）、気体、液体、又は固体のサンプルを収集すること、化学試験を実行すること、資産又は資産のコンポーネントを修理すること、工業部品を組み立てること、部品を研磨し及び組み合わせること、コントローラを引き又は押すこと、パイプを切断すること、部品を溶接することなどが、含まれてもよい。いくつかの実施形態では、入力デバイスを介したユーザによる１つ又は複数のロボット１２の制御は、資産１４上又はその周囲での、１つ又は複数のロボット１２の移動をもたらし得る。他の実施形態では、ユーザ４２の移動は、１つ又は複数のロボット１２を仮想環境内で仮想インスタンス化したものだけを制御する（すなわち、実際のロボット１２が、ユーザによる制御入力に応答して移動するのではない）。いくつかの実施形態では、ユーザは、タスクの実行の様々な実施形態、並べ替え又は技術に及ぶように、産業タスクを１回よりも多く実行してもよい。ユーザ４２によるタスクの実演に基づいて、システム１０は、１つ又は複数のロボット１２が、人間のオペレータ４２による最小限の入力で、かつ／又は人間のオペレータ４２による最小限の監督のもとで、タスクを実行し得るように、タスクを実行する方法を学習する。いくつかの実施形態では、学習は、後に１つ又は複数のロボットを制御して産業タスクを実行する、サーバ１６又はサーバ１６のコンポーネントによって行われ得る。他の実施形態では、学習は、人間のオペレータによる実演に基づいて、ロボット自体によって行われる。次いで、ロボットは、産業タスクの実行に進んでもよい。他の実施形態では、学習機能は、複数のサーバ１６の間に、又はロボット１２と１つ若しくは複数のサーバ１６との間に、分散されていてもよい。しかしながら、いくつかの実施形態では、人間のオペレータ４２は、ロボット１２を監視及び／又は監督し、要求されたときにロボットにフィードバック及び／又は入力を提供するために、ワークステーション３６を利用し得る。例えば、一旦、ロボット１２がタスクを実行する方法を学習すると、システム１０は、ロボット１２がタスクを実行するときに、ロボット１２を取り巻く環境の仮想再現、又はロボット１２のビデオを、生成してもよい。人間のオペレータ４２は、ワークステーション３６を介してタスクの実行を監視してもよく、タスクの実行中に（例えば、促されたとき、又はその他のときに）フィードバックを提供してもよい。
【００２４】
図２は、図１に示されているロボット１２の実施形態の概略図である。しかしながら、ロボット１２の他の実施形態は、追加的なコンポーネント、より少ないコンポーネント、及び／又はコンポーネントの異なる組み合わせを有することが想定されることが理解されるべきである。示されているように、ロボット１２は、ロボット１２の動作のための電力を提供する、電源１００を含む。電源１００は、交換可能又は充電可能なバッテリ、燃焼機関、発電機、及び電気モータ、ソーラパネル、化学反応ベースの発電システムなど、又はそれらの何らかの組み合わせを含み得る。
【００２５】
ロボットは、ユーザインタフェース１０２を含み得る。ユーザは、ユーザインタフェース１０２によって、ロボット１２の様々な設定をセットアップ又は調整し得る。ユーザインタフェースは、１つ又は複数の入力デバイス（例えば、つまみ、ボタン、スイッチ、ダイヤルなど）を含み得、場合によっては、ユーザにフィードバックを提供するためのディスプレイ（例えば、スクリーン、ＬＥＤのアレイなど）を含み得る。前述の実施形態は、リモートサーバのユーザインタフェースを介してユーザフィードバックを受け取るが、ロボット１２のユーザインタフェース１０２を介してユーザフィードバックが提供される実施形態もまた、想定される。
【００２６】
ネットワークインタフェース１０４は、クラウド又は他のデバイス（例えば、ドッキングステーション、リモートコントローラ、スマートフォン、コンピューティングデバイス、タブレットなど）を介した、リモートサーバとの通信を可能にする。例えば、ネットワークインタフェース１０４は、無線ネットワーク接続、有線ネットワーク接続、セルラ・データ・サービス、Ｂｌｕｅｔｏｏｔｈ、近距離無線通信（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ：ＮＦＣ）、ＺｉｇＢｅｅ、ＡＮＴ＋、又は他の何らかの通信プロトコルを、介した通信を可能にしてもよい。いくつかの実施形態では、ネットワークインタフェースを介して送信又は受信されるデータは、暗号化されていてもよい。例えば、ハッシュ化、鍵交換暗号化、対称暗号化法、非対称暗号化法、又はそれらの組み合わせなどの、標準的なデータ暗号化技術が、利用され得る。いくつかの実施形態では、ネットワークインタフェース１０４は、ロボット１２が、リモートコントローラ、コンピューティングデバイス、スマートフォン、タブレットコンピュータなどに接続することを可能にし得る。
【００２７】
感知システム１０６は、産業タスクの実行中に、様々な特性を感知し、資産に対応するデータを収集するように構成された、１つ又は複数のセンサ１０７（例えば、触覚、化学、超音波、温度、レーザ、ソナー、カメラ、赤・青・緑・深度（ｒｅｄ，ｂｌｕｅ，ｇｒｅｅｎ，ｄｅｐｔｈ：ＲＧＢ−Ｄ）カメラなど）を含み得る。前述のように、ロボットを取り巻く環境の仮想再現を生成するために、１つ又は複数のセンサ１０７のいくつかが、使用されてもよい。
【００２８】
駆動システム１０８は、空気を介して、液体を介して、表面に沿って、又はそれらの何らかの組み合わせによって、ロボット１２の移動を作動させてもよい。示されているように、駆動システム１０８は、１つ又は複数のモータ１１０、及び１つ又は複数のエンコーダ１１２を含み得る。１つ又は複数のモータ１１０は、プロペラ、脚、車輪、キャタピラなどを駆動してもよい。１つ又は複数のエンコーダ１１２は、１つ又は複数のモータ１１０の、１つ又は複数のパラメータ（例えば、回転速度）を感知して制御システム１１４にデータを提供してもよい。
【００２９】
制御システム１１４は、１つ又は複数のメモリコンポーネント１１６、及び１つ又は複数のプロセッサ１１８を含んでもよい。運動制御システム１２０は、駆動システム１０８の１つ若しくは複数のエンコーダ１１２からの信号、及び／又はネットワークインタフェース１０４を介した人間のオペレータからのコマンドを受信してもよく、制御信号を１つ又は複数のモータ１１０に出力してロボット１２の運動を制御してもよい。同様に、データ収集制御システム１２２は、感知システム１０６の動作を制御してもよく、感知システム１０６からデータを受信してもよい。データ処理及び分析システム１２４は、感知システム１０６によって収集されたデータを受信してもよく、収集されたデータを処理又は分析してもよい。いくつかの実施形態では、データ処理及び分析システム１２４は、データを完全に処理及び分析してもよく、資産の状態に関する決定を行ってもよい。他の実施形態では、データ処理及び分析システム１２４は、データの前処理、又はデータの部分的な処理及び分析を実行してもよく、次いで、残りの処理及び分析のために、データをリモートサーバに送信してもよい。さらなる実施形態では、ロボット１２は、生データをリモートサーバに送信し得る。ユーザフィードバックが提供される場合、データ処理及び分析システム１２４は、検査データを処理及び／又は分析するときに、ユーザ入力を考慮に入れてもよい。いくつかの実施形態では、ユーザフィードバックは、ロボット１２に返信されてもよい。
【００３０】
一実装では、制御システム１１４はまた、任務計画コンポーネント１２６も含み得る。任務計画コンポーネント１２６は、任務計画を生成して、他の様々な、制御システム１１４のコンポーネント及びロボット１２のコンポーネントを調整することによって、その任務計画を実行する。任務計画コンポーネント１２６は、例えば、ロボット１２をリアルタイムで若しくはほぼリアルタイムで制御する、人間のオペレータによる制御入力、産業タスクが実行されることとなる方法を記述する（例えば、人間のオペレータによる実演に基づく）データ、資産のモデル、資産のコンポーネント、ロボットの近くにあるコンポーネント、及び／又は周囲の領域のモデルを利用してもよい。次いで任務計画コンポーネント１２６は、人間のオペレータによるタスクの実演から学習してもよく、ロボット１２が自律的又は半自律的に産業タスクを実行するための、計画を生成してもよい。図４に関して以下でより詳細に説明するように、いくつかの実施形態では、ロボットは、そのロボットが他のコンポーネントと相互作用することを可能にする、マニピュレータを含み得る。例えば、マニピュレータは、ロボットがその周囲の環境にある物体と相互作用して産業タスクを実行するために使用する、アーム又は他の何らかの構造体であってもよい。
【００３１】
図３は、リモートサーバ及び／又はワークステーションとして使用できるコンピューティングデバイス２００の、例示的なコンポーネントのブロック図を全体的に示している。本明細書で使用される場合、コンピューティングデバイス２００は、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、又はワークステーションコンピュータとともに、サーバタイプのデバイス、若しくは携帯型の通信タイプのデバイス、そのようなセルラ電話、及び／又は他の適切なコンピューティングデバイスを含む、１つ又は複数のコンピューティングシステムとして実装され得る。
【００３２】
図示されているように、コンピューティングデバイス２００は、１つ若しくは複数のプロセッサ２０２、１つ若しくは複数のバス２０４、メモリ２０６、入力構造２０８、電源２１０、ネットワークインタフェース２１２、ユーザインタフェース２１４、及び／又は本明細書内で説明されている機能を実行する際に有用な、他のコンピュータコンポーネントなどの、様々なハードウェアコンポーネントを含んでもよい。
【００３３】
１つ又は複数のプロセッサ２０２は、特定の実装では、メモリ２０６又は他のアクセス可能な場所に格納された命令を実行するように構成された、マイクロプロセッサである。あるいは、１つ又は複数のプロセッサ２０２は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：ＦＰＧＡ）、及び／又は本明細書で議論されている機能を専用方式で実行するように設計された、他のデバイスとして実装されてもよい。理解されるであろうように、本明細書で議論されている機能を分散又は並列の態様で実行するために、複数のプロセッサ２０２又は処理コンポーネントが、使用されてもよい。
【００３４】
メモリ２０６は、揮発性メモリ、不揮発性メモリ、又はそれらのあらゆる組み合わせを含む、データ又は実行可能なルーチンを格納するための、あらゆる有形の一時的でない媒体を包含してもよい。便宜上、図３では単一のブロックとして示されているが、メモリ２０６は、実際には、同じ又はそれぞれ異なる物理的な場所にある、様々な別個の媒体を包含する場合がある。１つ又は複数のプロセッサ２０２は、１つ又は複数のバス２０４を介して、メモリ２０６内のデータにアクセスしてもよい。
【００３５】
入力構造２０８は、ユーザがデータ及び／又はコマンドをデバイス２００に入力できるようにするために使用されるものであり、マウス、タッチパッド、タッチスクリーン、キーボード、コントローラなどを含んでもよい。電源２１０は、ライン電力及びバッテリ電力を含む、コンピューティングデバイス２００の様々なコンポーネントに電力を提供するための任意の適切な源であることができる。図示されている例では、デバイス２００は、ネットワークインタフェース２１２を含む。そのようなネットワークインタフェース２１２は、１つ又は複数の通信プロトコルを使用して、ネットワーク上の他のデバイスとの通信を可能にしてもよい。図示されている例では、デバイス２００は、１つ又は複数のプロセッサ２０２によって提供される画像又は日付を表示するように構成されたディスプレイなどの、ユーザインタフェース２１４を含む。ユーザインタフェース２１４は、例えば、モニタ、ディスプレイ、仮想現実ヘッドセット、テレビジョン、プロジェクタ、又はそれらの何らかの組み合わせを含んでもよい。理解されるであろうように、現実世界のコンテキストでは、図１に示されているリモートサーバ及び／又はワークステーションの機能を実行することなどの、本アプローチの一部又はすべてを実装するために、図３のコンピューティングデバイス２００などのプロセッサベースのシステムが採用されてもよい。
【００３６】
図４は、産業タスクを実行する際の、ロボット１２と、リモートサーバ１６と、ワークステーション３６との間の相互作用を示している、概略図である。ロボット１２、リモートサーバ１６、及びワークステーション３６は、それぞれのネットワークインタフェース（例えば、通信サーバ）を介して互いに通信してもよい。図示されている実施形態では、いくつかの機能は、ロボット１２とサーバ１６との間で共有されている。これらの機能は、全部がロボットによって実行されてもよく、又はロボット１２とサーバ１６との間で共有されていてもよいことが、理解されるべきである。前述のように、感知システム１０６は、ロボット１２を取り巻く環境に関する情報を収集する、１つ又は複数のセンサを備える。収集されたデータは、ビデオ検出及び処理システム１２４に提供される。収集されたデータは、そこで処理され、次いで、任務計画システム１２６のタスク計画コンポーネント３００に渡される。タスクプランナ３００は、ロボット１２のネットワークインタフェース１０４（例えば、ロボットサーバ）及びリモートサーバ３６を介して、データをワークステーション３６に送信する。データは、ワークステーション３６のネットワークインタフェース３０２によって（例えば、リモートサーバ１６、クラウド１８、又は両方を介して）受信され、次いで、状態処理コンポーネント３０４に渡される。状態処理コンポーネント３０４は、受信したデータを使用して、ロボット１２を取り巻く環境の視覚化３０６、及びその環境内のロボット１２自体の視覚化３０８を生成する。次いで、視覚化は、ユーザインタフェース３１０（例えば、仮想現実ヘッドセット３８）を介して、人間のオペレータ４２に提示される。ユーザインタフェース３１０の１つ又は複数のコントローラ４０を使用して、ユーザ４２は、環境の視覚化３０６内の、ロボットの視覚化３０８を制御して、タスクを実行する。次いで、人間のオペレータ４２による入力は、ロボット１２に、（それぞれのネットワークインタフェース３０２、１０４を介して）送り返されてもよい。次いで、ロボット１２は、ロボット１２の１つ又は複数のコンポーネント（例えば、駆動システム１０８、産業用マニピュレータ３１２、アクチュエータなど）を制御するために、人間のオペレータ４２の入力に基づいて１つ又は複数の制御信号を生成してもよい。示されているように、ワークステーション３６は、人間のオペレータが、仮想現実システム３６を介して実演される様々な行為を、１つ又は複数の産業タスクに関連付けることができるように、実行される様々なタスクについての、タスク定義データベース３１４を含んでもよい。
【００３７】
人間のオペレータ４２がタスクを実演すると、学習機構が、実演された活動を構成要素である部分（例えば、行為）に分解し、行為を一般化して、自律的又は半自律的に行為を実行する方法を学習する。実演されたタスクを再現する方法についてのデータ（例えば、ロボットの構成、環境の状態、目標、行われる運動、運動シーケンス、目標シーケンスなど）は、後で検索するために知識ベース３１８に格納されてもよい。
【００３８】
実演されたタスクを実行するようにロボット１２が指示されると、任務計画システム１２６のタスクプランナ３００は、そのタスクに関連するデータを知識ベース３１８から検索して、自律的又は半自律的にそのタスクを実行することを計画する。示されているように、任務計画システム１２６はまた、ロボット操作プランナ３２０もロボット・ナビゲーション・プランナ３２２も含み得る。ロボット操作プランナ３２０は、資産又は資産のコンポーネントを操作し得る、産業用マニピュレータ３１２（例えば、アーム、アクチュエータなど）を計画及び制御し得る。ロボット・ナビゲーション・プランナ３２２は、ロボット１２の飛行計画を計画する。いくつかの実施形態では、ロボット・ナビゲーション・プランナ３２２は、ロボット１２の位置を識別するために、位置推定をする又は同時に位置推定と地図構築をする（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ：ＳＬＡＭ）コンポーネント３２４からの入力に頼り得る。次いで、ロボット１２は、計画されたタスクの自律的又は半自律的な実行に進んでもよい。タスクが実行されているとき、感知システム１０６は、ビデオを収集してもよく、このビデオは、ビデオ検出及び処理コンポーネント１２４並びにネットワークインタフェース１０４を介して、ワークステーション３６に渡される。前述のように、データは、人間のオペレータに対する（例えば、ユーザインタフェース３１０を介した）表示のための、周囲の環境の視覚化３０６、及びその環境内のロボット１２の視覚化３０８を生成するために使用される。次いで、人間のオペレータ４２は、ロボット１２がタスクを実行するときに、ロボット１２を監督してもよい。時には、ロボット１２は、ロボット１２がタスクを実行するときに、人間のオペレータ４２からの入力を要求してもよい。他の時には、人間のオペレータ４２は、促されることなくフィードバックを提供してもよい。
【００３９】
図５は、本明細書で議論されているような深層学習モデルとしてトレーニングされ得る、学習機構３１６（例えば、人工ニューラルネットワーク）の例を概略的に示している。この例では、ネットワーク３０６は、多層であり、トレーニング入力４００（例えば、タスクの実演及び／又はユーザフィードバック）と、入力層４０２、隠れ層４０４、４０６など、及び出力層４０８を含む複数の層と、ネットワーク３０６内に存在するトレーニングターゲット４１０と、を有する。この例では、各層は、複数の「ニューロン」又はノード４１２からなる。ニューロン４１２の数は、層の間で一定であってもよく、又は図示されているように、層ごとに異なってもよい。各層のニューロン４１２は、次の階層のニューロン４１２への入力として機能する、それぞれの出力を生成する。実際には、バイアスが加えられた入力の重み付き合計が計算され、整流された線形ユニット（ｒｅｃｔｉｆｉｅｄ  ｌｉｎｅａｒ  ｕｎｉｔ：ＲｅＬＵ）、シグモイド関数、双曲線正接関数などの活性化関数に従って、又はその他の方法で指定若しくはプログラムされて、層のそれぞれの各ニューロンを「励起」又は「活性化」する。最終層の出力は、ネットワーク出力４０８を構成する。ネットワーク出力４０８は、ターゲット値又はコンストラクト４１０とともに、何らかの損失関数又は誤差関数４１４を計算するために使用される。損失関数又は誤差関数４１４は、逆伝播されて、ネットワークのトレーニングを導く。
【００４０】
損失関数又は誤差関数４１４は、ネットワーク出力４０８とトレーニングターゲット４１０との間の差を測る。特定の実装では、損失関数は、平均二乗誤差（ｍｅａｎ  ｓｑｕａｒｅｄ  ｅｒｒｏｒ：ＭＳＥ）であってもよい。あるいは、損失関数４１４は、ソフトマックス関数などの、問題となっている特定のタスクに関連する他のメトリックによって定義されることができる。
【００４１】
上記を念頭に置くと、ニューラルネットワーク３０６は、産業タスクを実行及び計画する方法の学習における使用のために、トレーニングされてもよい。
【００４２】
図６は、人間によるタスクの実演に基づいて産業タスクを実行するための、プロセス５００のフローチャートである。ブロック５０２では、人間のオペレータは、タスクの実行を実演する。前述のように、ロボット及びその周囲の環境の仮想再現を生成するために、ロボット上又はロボットの近くに配置された１つ又は複数のセンサからのデータが、使用されてもよい。データには、例えば、ビデオデータ若しくは静止画像データ、ＬＩＤＡＲデータ、音響データ、分光データ、温度若しくは圧力データ、化学サンプル、臭い、又は飛行計画に沿って移動しているデバイスに取り付けられることができるセンサ若しくはカメラによって取得されることができる、他のデータが、含まれてもよい。仮想環境は、ワークステーション（例えば、仮想現実ヘッドセット、コンピュータのモニタ、テレビジョン、プロジェクタなど）を介して、人間のオペレータに対して表示されてもよい。次いで、人間のオペレータは、タスクの実行を実演するために、１つ又は複数のコントローラを介して、仮想環境内の仮想ロボットを制御（運動及び分析を含む）してもよい。いくつかの実施形態では、人間のオペレータによる入力は、離れた場所でタスクを実行している実際のロボットを制御するために使用される。いくつかの実施形態では、人間のオペレータは、ロボットが達成すべき下位目標を設定してもよい。ロボットは、人間のオペレータによって選択及び／又は検証され得る、下位目標を達成するための運動を計画してもよい。選択及び／又は確認の後、ロボットは、計画された運動を実行してもよい。いくつかの実施形態では、ロボットは、そのロボットの位置を制御してもよく、一方、人間のオペレータは、マニピュレータを制御してタスクを実行する。いくつかの実施形態では、タスクは、サブタスクに分割されてもよい。ブロック５０４では、実演されている産業タスクが、定義される。タスクは、開始状態、目標状態、及び制約として定義される。ロボットは、タスク内で定義された制約を満たしながら、ロボット自体と環境とを含む状態を、開始状態から目標状態まで駆動する必要がある。ブロック５０６では、タスクの実演中のロボットの様々な状態が、表現される。これらの状態は、本システムのステータス、すなわち、タスクが実行されているときの、物体及びロボットの、幾何学的関係及び／又は表現的な記述の、いずれか又は両方を記述する。ロボットは、実演の意味論的理解を容易にするために必要な場合は、状態の表現をグループ化又はグループ化解除してもよい。ブロック５０８では、実演からのデータが、保存される。保存されるデータには、例えば、ロボット構成、環境状態、ロボットの位置及び／又は移動、マニピュレータの位置及び／又は運動、オペレータ入力、目標、イベントのシーケンス、タイミング、加えられた力及び／又はトルクなどが、含まれてもよい。例えば、人間のオペレータは、ロボットベース（すなわち、ロボットの本体）を、移動され又は作動させられるべきコンポーネントの近くの位置に移動させてもよい。その位置は、マニピュレータがそのコンポーネントにアクセスできるようなものであってもよい。次いで、人間のオペレータは、コンポーネントを移動し又は作動させてタスクを実行するために、マニピュレータ（例えば、アーム）を使用してもよい。
【００４３】
ブロック５１０では、実演が、一般化される。例えば、最も正しそうで適用できる解決法を表現する配分を見つけるために、運動計画が、一般化されてもよい。一般化には、運動計画を使用したタスクの実行に対する、最も一般的な制約を見つけることが、含まれてもよい。ブロック５１２では、システムは、タスクを実行する方法を学習する。例えば、タスクを学習することには、機械学習の技術が含まれてもよい。人間のオペレータによるタスクの実演に基づいて、システムは、その実演に対応するように振る舞いのシーケンスを生成するか、又は既存の振る舞いのシーケンスを適合させてもよい。学習された知識は、タスク空間の中で表現され、有限個の状態として定義される。例えば、振る舞いのシーケンスの生成には、学習された知識に基づいて、タスクの目標を達成するための解決法を見つけることが、含まれてもよい。タスクが与えられると、システムは、学習された知識に基づいて、タスクの目標を達成するためのサブタスクを見つける。次いで、その学習された知識に基づいて、各サブタスクの目標が、抽出される。いくつかの実施形態では、その目標は、中間ステップとして人間のオペレータによって検証されてもよい。ブロック５１４では、システムは、各サブタスクを実行するための運動計画を生成する。運動計画は、事前の知識に関連付けられてもよいが、運動計画はまた、タスクに関連する新しい状況に適合されてもよい。次いで、候補である運動計画は、レビューのためにユーザに表示されてもよい。例えば、その運動計画の仮想的な実行の視覚化（例えば、アニメーション、画像、ビデオなど）が、生成されてもよく、（例えば、ワークステーションの、仮想現実マスク、ディスプレイ、テレビジョン、又はプロジェクタを介して）レビューのためにユーザに表示されてもよい。ブロック５１６では、人間のオペレータは、ワークステーションのコントローラ又はユーザ入力を介して、フィードバックを提供してもよい。
【００４４】
運動計画が人間のオペレータによって承認された場合、ロボットは、タスクの実行に進んでもよい。いくつかの実施形態では、ロボット上又はその周囲のセンサは、データの収集を続けてもよい。収集されたデータは、ロボットがタスクを実行するときに人間のオペレータに対して表示される、ロボット及びその環境の仮想再現を、再現するために使用されてもよい。ロボットがタスクを実行するとき、人間のオペレータは、ロボットを監督してもよく、フィードバックを提供してもよい（ブロック５２０）。システムは、その運動計画を変更するために人間のオペレータによるフィードバックを使用してもよい。システムが人間のオペレータのフィードバックを考慮してタスクを再学習するとき、そのフィードバックもまた、考慮に入れられてもよい。そのように、プロセス５００は、ブロック５１２に戻ってもよい。次いで、プロセス５００は、タスクを繰り返すか新しいタスクに進んでもよい。
【００４５】
本開示の技術は、１つ又は複数のロボットに、人間によるタスクの実演に基づいて、自律的又は半自律的に産業タスクを実行するように教えることを含む。具体的には、１つ又は複数のロボット上又はその周囲に配置された１つ又は複数のセンサは、ロボット及びそれらの周囲の環境に対応するデータ（例えば、ビデオ、画像など）を収集してもよい。次いで、収集されたデータを使用して、（例えば、仮想現実ヘッドセット、コンピュータのモニタなどを介して）人間のオペレータに対して表示される、ロボット及びそれらの周囲の環境の仮想再現を生成する。次いで、人間のオペレータは、コントローラを使用して、仮想環境内のロボットを制御してタスクを実行する。実際のロボットはまた、ユーザの入力に基づいて、ユーザによって制御されてもよい。次いで、ロボットは、人間のオペレータによるタスクの実演に基づいて、タスクを実行する方法を学習する。次いで、ロボットは、自律的又は半自律的なタスクの実行に移ってもよい。いくつかの実施形態では、センサは、データの収集を続けてロボット及びそれらの周囲の環境の仮想再現を生成し得、それにより、人間のオペレータは、１つ又は複数のロボットが自律的又は半自律的にタスクを実行するときに、それらを監督し得る。人間のオペレータは、定期的にフィードバックを提供してもよく、それにより、ロボットが、タスクを実行する方法についてのそのロボットによる理解を深めることが、可能になり得る。
【００４６】
この書面による説明は、例を用いて、最良の態様を含め特許請求の範囲に記載されている主題を開示し、また、あらゆるデバイス又はシステムを作製及び使用し、あらゆる組み込まれた方法を行うことを含め、あらゆる当業者が、開示されている主題を実施することができるようにもする。特許請求の範囲に記載されている主題の、特許を受けることができる範囲は、請求項によって定められ、当業者が思いつく他の例を含み得る。そのような他の例は、それらが、請求項の文字通りの言葉との違いを有しない構造要素を備える場合、又はそれらが、請求項の文字通りの言葉との違いに実質がない、同等の構造要素を含む場合、請求項の範囲内にあることが意図されている。
【図１】
2021509986.tif 000003
【図２】
2021509986.tif 000004
【図３】
2021509986.tif 000005
【図４】
2021509986.tif 000006
【図５】
2021509986.tif 000007
【図６】
2021509986.tif 000008
【国際調査報告】
2021509986.tif 000009
2021509986.tif 000010