(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-24
(45)【発行日】2023-12-04
(54)【発明の名称】人間による実演に基づく、ロボットによる産業タスクの学習のためのシステム及び方法
(51)【国際特許分類】
G05D 1/00 20060101AFI20231127BHJP
B25J 9/22 20060101ALI20231127BHJP
G06F 3/04815 20220101ALI20231127BHJP
【FI】
G05D1/00 B
B25J9/22 A
G06F3/04815
(21)【出願番号】P 2020536630
(86)(22)【出願日】2018-11-27
(86)【国際出願番号】 US2018062514
(87)【国際公開番号】W WO2019135835
(87)【国際公開日】2019-07-11
【審査請求日】2021-11-19
(32)【優先日】2018-01-02
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】390041542
【氏名又は名称】ゼネラル・エレクトリック・カンパニイ
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100154922
【氏名又は名称】崔 允辰
(74)【代理人】
【識別番号】100207158
【氏名又は名称】田中 研二
(72)【発明者】
【氏名】タン,フアン
(72)【発明者】
【氏名】ホアー,ジョン ロバート
(72)【発明者】
【氏名】フェーナー,ジャスティン マイケル
(72)【発明者】
【氏名】グレイ,スティーブン ロバート
(72)【発明者】
【氏名】セン,シラジ
(72)【発明者】
【氏名】パトリック,ロマーノ
【審査官】松本 泰典
(56)【参考文献】
【文献】国際公開第2016/189924(WO,A1)
【文献】特表2017-534091(JP,A)
【文献】特開平4-216107(JP,A)
【文献】特表2017-519644(JP,A)
【文献】国際公開第2017/197197(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00
B25J 9/22
G06F 3/04815
(57)【特許請求の範囲】
【請求項1】
ロボットであって、前記ロボットと前記ロボットを取り巻く環境とに対応するデータを収集するように構成された、1つ又は複数のセンサを含む、ロボットと、
前記ロボットから離れて配置されており、
1つ又は複数のリモートサーバにアクセスするためのネットワークインタフェースを備えるクラウ
ドを介して前記ロボットと通信するように構成されているコンピューティングデバイスと、を
含むシステムであって、前記1つ又は複数のリモートサーバは少なくとも前記コンピューティングデバイスを含み、
前記コンピューティングデバイスは、
ユーザインタフェースと、
プロセッサと、
メモリと、を含み、
前記メモリは、
前記プロセッサによって実行されると、前記プロセッサに、
前記クラウ
ドを介して、前記ロボットから、前記収集されたデータを受信することと、
前記ロボットと前記ロボットを取り巻く前記環境との仮想再現を
前記収集された前記データに基づいて生成することと、
前
記ユーザインタフェースを介して、産業タスクを実演するために前記ロボットを制御している人間のオペレータから入力を受け取ることと、
を実行させる命令を含み、
前記システムは、
前記人間のオペレータによる、前記産業タスクの実演に基づいて、前記産業タスクを実行する方法を学習し、かつ、
前記ロボットを介して、自律的又は半自律的に前記産業タスクを実行する、
ように構成されている、
産業タスクを実行するためのシステム。
【請求項2】
前記ユーザインタフェースは、仮想現実ヘッドセット及びコントローラを含む、請求項1に記載の産業タスクを実行するためのシステム。
【請求項3】
前記ユーザインタフェースは、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、コンピュータのモニタ、テレビジョン、プロジェクタ、又はそれらの何らかの組み合わせを含む、請求項1に記載の産業タスクを実行するためのシステム。
【請求項4】
前記システムは、前記産業タスクの実行を開始する前に、運動計画を生成するように構成されており、
前記人間のオペレータは、前記人間のオペレータのインタフェースを介して、前記運動計画に関するフィードバックを提供する、
請求項1に記載の産業タスクを実行する
ためのシステム。
【請求項5】
前記ロボットは、前記収集されたデータを、処理し、部分的に処理し、又は前処理するように構成されている、請求項1に記載の産業タスクを実行するためのシステム。
【請求項6】
前記ロボットは、収集された生データを前記コンピューティングデバイスに送信するように構成されている、請求項1に記載の産業タスクを実行するためのシステム。
【請求項7】
前記ロボットと、前記ロボットを取り巻く前記環境と、に対応するデータを格納するように構成されたリモートサーバを備える、請求項1に記載の産業タスクを実行するためのシステム。
【請求項8】
前記ロボットは、
前記コンピューティングデバイスと通信するように構成されたネットワークインタフェースと、
前記ロボットの位置を制御するように構成された駆動システムと、
1つ又は複数のアクチュエータを含むマニピュレータであって、前記ロボットは、前記産業タスクの実行において、前記マニピュレータを利用するように構成されている、マニピュレータと、
前記ロボットと、前記ロボットを取り巻く前記環境と、に対応する前記データを収集するように構成された感知システムと、
を含む、請求項1に記載の産業タスクを実行するためのシステム。
【請求項9】
前記ロボットは、前記ロボットによる前記産業タスクの実行を計画するように構成された、タスク計画コンポーネントを含む、請求項1に記載の産業タスクを実行するためのシステム。
【請求項10】
コンピューティングデバイスに搭載されるプロセッサと、
前記コンピューティングデバイスに搭載されるメモリと、を備え、
前記メモリは、
前記プロセッサによって実行されると、前記プロセッサに、
1つ又は複数のリモートサーバにアクセスするためのネットワークインタフェースを備えるクラウ
ドを介して、産業タスクの実演としてロボットを制御している人間のオペレータから入力を受け取ることであって、前記人間のオペレータは前記ロボットから離れて配置されていること
であって、前記1つ又は複数のリモートサーバは少なくとも前記コンピューティングデバイスを含む、受け取ることと、
前記人間のオペレータによる、前記産業タスクの実演に基づいて、前記ロボットを制御して前記産業タスクを実行する方法を、学習することと、
前記ロボットを制御して自律的又は半自律的に前記産業タスクを実行することと、
を実行させる命令を含む、
プロセッサ実装された学習システム。
【請求項11】
前記命令は、前記プロセッサに、
前記産業タスクの実行中、又は前記産業タスクの実行後に、前記人間のオペレータからフィードバックを受け取ることと、
前記人間のオペレータから提供された前記フィードバックに基づいて、前記ロボットを制御して前記産業タスクを実行する方法を、再学習することと、
をさせる、請求項10に記載のプロセッサ実装された学習システム。
【請求項12】
前記プロセッサ実装された学習システムは、前記ロボットの中に配置されている、請求項10に記載のプロセッサ実装された学習システム。
【請求項13】
前記プロセッサ実装された学習システムは、前記ロボットと通信するサーバの中に配置されている、請求項10に記載のプロセッサ実装された学習システム。
【請求項14】
前記プロセッサ実装された学習システムは、前記ロボットと通信する複数のサーバにわたって分散されている、請求項10に記載のプロセッサ実装された学習システム。
【請求項15】
ロボットによって産業タスクの実行を実演している人間のオペレータからの入力を
、1つ又は複数のリモートサーバにアクセスするためのネットワークインタフェースを備えるクラウドを介して受け取ることであって、前記ロボットは前記人間のオペレータから離れて配置さ
れ、前記1つ又は複数のリモートサーバは少なくともコンピューティングデバイスを含む、受け取ることと、
前記産業タスクの実演に基づいて、前記産業タスクを実行する方法を学習することと、
前記産業タスクを実行するための運動計画を生成することと、
前記運動計画を、承認のために前記人間のオペレータに対して表示することと、
前記運動計画の承認の上で、前記ロボットを介して、
自律的又は半自律的に前記産業タスクを実行することと、
を含む、産業タスクを前記コンピューティングデバイスにおいて実行する方法。
【請求項16】
前記ロボットと、前記ロボットを取り巻く環境と、に対応するデータを収集することと、
前記ロボットと、前記ロボットを取り巻く前記環境と、の仮想再現を
収集された前記データに基づいて生成することと、
前記ロボットと、前記ロボットを取り巻く前記環境と、の前記仮想再現を、前記人間のオペレータに対して表示することと、
を含む、請求項15に記載の方法。
【請求項17】
前記産業タスクの実行中の前記ロボットの状態を表現することを含む、請求項15に記載の方法。
【請求項18】
前記人間のオペレータによる前記産業タスクの実演を、一般化することを含む、請求項15に記載の方法。
【請求項19】
前記人間のオペレータからフィードバックを受け取ることを含み、
前記フィードバックは、前記産業タスクを再学習するために使用される、
請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示されている主題は、ロボットによって実行される産業タスクに関し、より具体的には、産業タスクを実行する方法を学習するロボットに関する。
【背景技術】
【0002】
様々な主体の運営には、資産の検査、資産の修理、資産の操作、資産の保守、環境の監視などの、産業タスクの実行が含まれる場合がある。そのような資産には、物理的又は機械的なデバイス、構造体、又は施設が含まれる場合があり、これらは、場合によっては、加えて電気的及び/又は化学的側面を有する場合がある。そのような資産は、様々な目的のために使用又は保守され得、資本インフラストラクチャ、在庫として、又はコンテキストに応じて他の専門語によって、特徴付けられ得る。例えば、資産には、パイプライン又は電力網などの、分散した資産とともに、飛行機、風力タービン発電機、電波塔、蒸気又は煙突又は煙の排気筒、橋又は他の構造体、輸送手段などの、個別の又は単体の資産が、含まれる場合がある。運用中において、資産は、操作される場合がある(例えば、バルブが作動させられる、1つ又は複数のアクチュエータが作動させられる、1つ又は複数のコンポーネントが移動されるなど)。さらに、資産は、それらの運用に影響を与え得る様々なタイプの欠陥(例えば、自然に進む機械的欠陥、電気的欠陥とともに、日常的な使用による損耗)を免れない場合がある。例えば、時間の経過とともに、資産は、天候によって腐食し若しくは亀裂が生じ得、又はコンポーネント部品の摩耗若しくは故障によって性能若しくは効率が低下し得る。
【0003】
典型的には、1人又は複数の人間のオペレータが、産業タスクを実行し得る。例えば、オペレータは、資産のコンポーネントを作動させたり、資産の腐食を探し出したり、資産の亀裂又は欠陥を探し出して定量的又は定性的に評価したり、予想されるものと対比して観察される、使用による損耗の程度について資産を評価したり、資産を修理したりなどし得る。しかし、資産の場所、サイズ、及び/又は複雑さによっては、1人又は複数のオペレータが産業タスクを実行することは、それらのオペレータが他のタスクを実行する時間を奪うものであるか、又は普通なら、時間を浪費しかつ労力集約的であり得、どこか他のところでより生産的に費やされたかもしれない、人員の時間を必要とするものである。さらに、一部の産業タスクは、単調、不潔、危険であるか、又は普通なら、人間が実行するのに適さない場合がある。例えば、一部の資産は、高さ、又は限定された空間などのために、人間がアクセス可能でない場合がある場所を、有する場合がある。
【発明の概要】
【0004】
特許請求の範囲に当初記載された主題に対応する範囲の、特定の実施形態の概要を以下に述べる。これらの実施形態は、特許請求の範囲に記載されている主題の範囲を限定するように意図されているものではなく、むしろこれらの実施形態は、可能な実施形態の簡単な概要を提供するようにだけ、意図されている。実際、本開示は、以下に述べる実施形態と類似するか異なり得る、様々な形態を包含し得る。
【0005】
一実施形態では、産業タスクを実行するためのシステムは、ロボット及びコンピューティングデバイスを含む。当該ロボットは、当該ロボットと、当該ロボットを取り巻く環境と、に対応するデータを収集する、1つ又は複数のセンサを含む。当該コンピューティングデバイスは、ユーザインタフェース、プロセッサ、及びメモリを含む。当該メモリは、当該プロセッサによって実行されると、当該プロセッサに、当該ロボットから、当該収集されたデータを受信することと、当該ロボット、及び当該ロボットを取り巻く当該環境の仮想再現を生成することと、産業タスクを実演するために当該ロボットを制御している人間のオペレータから、入力を受け取ることと、をさせる命令を含む。当該システムは、当該人間のオペレータによる当該タスクの実演に基づいて当該産業タスクを実行する方法を学習して、当該ロボットを介して自律的又は半自律的に当該産業タスクを実行するように、構成されている。
【0006】
別の実施形態では、プロセッサ実装された学習システムは、プロセッサと、メモリと、を備える。当該メモリは、当該プロセッサによって実行されると、当該プロセッサに、産業タスクの実演としてロボットを制御している人間のオペレータから、入力を受け取ることと、当該人間のオペレータによる、当該産業タスクの当該実演に基づいて、当該ロボットを制御して当該産業タスクを実行する方法を、学習することと、当該ロボットを制御して自律的又は半自律的に当該産業タスクを実行することと、をさせる命令を含む。
【0007】
さらなる実施形態では、産業タスクを実行する方法は、産業タスクの実行を実演している人間のオペレータからの入力を受け取ることと、当該産業タスクの当該実演に基づいて、当該産業タスクを実行する方法を学習することと、当該産業タスクを実行するための運動計画を生成することと、当該運動計画を、承認のために当該人間のオペレータに対して表示することと、当該運動計画の承認の上で、ロボットを介して、当該産業タスクを実行することと、を含む。
【図面の簡単な説明】
【0008】
本開示のこれら及びその他の特徴、態様、及び利点は、図面全体を通して同様の符号は同様の部分を表す、添付の図面を参照して以下の詳細な説明が読まれるとき、よりよく理解されるようになるであろう。
【0009】
【
図1】一実施形態による、産業タスクを実行するためのシステムを示す図である。
【
図2】一実施形態による、
図1の産業タスクを実行するためのシステムの、ロボットの概略図である。
【
図3】一実施形態による、
図1の資産検査システムの、リモートサーバ及び/又はワークステーションのブロック図である。
【
図4】一実施形態による、産業タスクを実行する際の、
図1の資産検査システムの、ロボットと、リモートサーバと、ワークステーションとの間の相互作用を示している、概略図である。
【
図5】一実施形態による、
図4に示されているような学習機構の例を示している、概略図である。
【
図6】一実施形態による、人間によるタスクの実演に基づいて産業タスクを実行するための、プロセスのフローチャートである。
【発明を実施するための形態】
【0010】
1つ又は複数の具体的な実施形態を以下で説明する。これらの実施形態の簡潔な説明を提供するため、実際の実装のすべての特徴が、本明細書内で説明されているわけではない場合がある。あらゆるそのような実際の実装の開発では、あらゆるエンジニアリング又は設計のプロジェクトにおけるように、実装ごとに異なり得るシステム関連及びビジネス関連の制約に従うことなど、開発者の具体的な目標を達成するために、実装に固有の多くの決定を行わなければならないことが理解されるべきである。その上、そのような開発努力は複雑で時間がかかり得るが、それでも、本開示の利益を受ける当業者にとっては、設計、製造、及び生産の日常業務であることが理解されるべきである。
【0011】
本開示の様々な実施形態の要素を導入するとき、冠詞「a」、「an」、「the」、及び「said」は、1つ又は複数のその要素があることを意味するように意図されている。「備える(comprising)」、「含む(including)」、及び「有する(having)」という用語は、包括的であるように意図されており、かつ、列記された要素以外の追加的な要素があり得ることを意味するように意図されている。さらにまた、以下の議論におけるあらゆる数値例は、非限定的であることが意図されており、したがって、さらなる数値、範囲、及びパーセンテージは、開示されている実施形態の範囲内である。
【0012】
本明細書で議論されているように、本アプローチは、ロボット、無人輸送手段、若しくはドローンを使用する産業タスクの実行、及び/又は人間によるタスクの実演に基づいてタスクを実行する方法を学習する、自動化された若しくはコンピュータベースのルーチンによって実装される検査に関する。例として、そのような産業タスクは、脚、車輪、キャタピラなどを有するものを含む地上移動ロボットなどの、無人デバイス若しくはロボットデバイス、固定翼輸送手段及び回転翼輸送手段を含む、無人空中輸送手段(unmanned aerial vehicle:UAV)、液体の底に沿って泳ぎ若しくは移動し得る、無人水中輸送手段(unmanned submersible vehicle:USV)、又はドローン若しくはロボットとして特徴付けられ得る、他の自律移動輸送手段を使用して、実行され得る。本明細書で使用される場合、「ドローン」及び「ロボット」という用語は、人間の限られた監視のもとで、プログラム可能な移動ができる、UAV、USV、ロボットデバイスなどに対するすべての変形を包含するように意図されている。そのようなプログラム可能な移動は、局所的に生成される経路中間地点若しくは経路案内、又はリモートシステムによって生成されてロボットに伝達される経路案内及び経路中間地点の、いずれかに基づくことができる。したがって、本明細書で使用される場合、そのようなデバイスは、人間の限られた介入又は監視のもとで、動作フェーズ又は動作期間中に移動する。本アプローチに従って、そのようなデバイスは、飛行計画に沿って移動するように運用され得る。ここで、デバイスは、この飛行計画に沿って、ビデオデータ若しくは静止画像データ、LIDARデータ、音響データ、分光データ、温度若しくは圧力データ、化学サンプル、臭い、又はこの飛行計画に沿って移動しているデバイスに取り付けられることができるセンサ若しくはカメラによって取得されることができる、他のデータなどのデータを取得する。一般に、そのような産業タスクは、発電資産、通信資産、輸送資産、掘る資産又は地下ポンプ資産、製造資産又は構築資産などを含むがこれらに限定されない、1つ又は複数の資産上で実行され得る。
【0013】
本明細書では一般的に「飛行計画」という句が使用されているが、この句が、空中移動を必要とするのではなく、代わりに任意の、(軌道に沿ったものなどの)1次元(1D)、(定義された若しくは不定の平面ルートに沿ったものなどの)2次元(2D)、若しくは(空中、水中、若しくは深さ若しくは高さの行き来もできる構造体上での移動などの)3次元(3D)、又は(中間地点のステーションでの速度、加速度、若しくは時間を特徴付け得る、定義された時間的側面がある場所などの)4次元(4D)の経路若しくはルートであって、その経路若しくはルートに沿って飛行計画の一部としてドローンが移動するものに、関連することが理解されるべきである。したがって、本明細書で使用される場合、「飛行計画」は、任意の1D、2D、3D、又は4Dのルート又は経路であって、そのルート又は経路に沿ってドローン又はロボットなどのデバイスが検査タスクを含む産業タスクを実行するために移動されるものとして、特徴付けられ得る。そのような経路は、適応的であり得、かつ/又は1つ若しくは複数の中間地点からなり得る。ここで、ロボットは、その中間地点に沿って順序付けられた方法で進み、その中間地点のシーケンス及び位置は、経路又はルートを定義する。そのような飛行計画はまた、時間的及び/又は空間的位置だけでなく、経路に沿った移動のための、及び/又は所与の中間地点での提示のための、向き及び/又はアラインメントの命令も組み込み得ることが理解されるべきである。したがって、飛行計画はまた、ドローンが飛行計画に沿ったそれぞれ異なる点で提示するためのロール、ピッチ、及びヨーなどのパラメータを特定し得るとともに、センサ又はカメラが飛行計画に沿った点を指している方向に関連し得る、2次元又は3次元のアラインメント特性を特定し得る。したがって、飛行計画は、ロボットが産業タスクの現場を基準としてどこにあるか又はいつであるかだけでなく、所与の位置又は中間地点で、方向を扱うことができる。ここで、ロボットは、その方向を基準に、面しているか、又はその他向き付けられている。さらに、同じ中間地点及び向きであっても、画像が異なる視界を効果的に構成するように、それぞれ異なる倍率、波長、又は他の光学パラメータで画像が取得されてもよい。本明細書で議論されているように、本アプローチでは、タスクの実行中に収集されて取得されたセンサデータによって、産業タスクの実行を容易にする。
【0014】
さらに、特定の態様によれば、事前の知識が、産業タスク中に活用されてもよい。例えば、事前の知識は、適応的タスク計画又は飛行計画を生成又は変更する際に使用されてもよい。特定の態様では、機械学習のアプローチを採用して人間による実演及び/又は(例えば、資産の状態、データの十分性、決定の監視、任務計画などに関する)人間のレビュアーによる決定から学習し得、それにより、将来のデータ十分性の決定を容易にすることができる、この事前の知識に基づいてトレーニングされた人工ニューラルネットワークを作り出し得る。
【0015】
説明を容易にし、有用な現実世界のコンテキストを提供するために、風力タービン発電機、無線送信タワー、煙突などの様々な例が、本明細書で提供されている。しかしながら、そのような例は、単に説明を容易にするために提供されており、本アプローチは、広範な他の資産及び様々な他のタイプの現場での使用に適していることが理解されるべきである。したがって、本アプローチは、本例のコンテキストに限定されるように意図されていない。
【0016】
上記を念頭に置いて図を参照すると、
図1は、産業タスクを実行するためのシステム10の態様を示している。示されているように、システム10は、煙突又は他の適切な資産などの、1つ又は複数の資産14上で又はその近くで産業タスクを実行するのに適した、1つ又は複数のロボット12を採用する。
【0017】
システム10はまた、クラウド18(例えば、ストレージ、コンピューティング、又は他の機能のために、1つ又は複数のリモートサーバ、仮想マシンなどにアクセスするための、ネットワークインタフェース)を介してアクセス可能なリモートサーバ16も含む。リモートサーバ16は、タスクの実行などの、1つ又は複数のロボット12の動作を調整するために、1つ又は複数のロボット12と通信し得る。一実装では、ロボット12は、オンボードのセルラ接続性又はネットワーク接続性を有し、少なくともタスクの実行前及び/又は実行中に、リモートサーバ16と通信できる。特定の実装では、ロボット12のセルラ接続性又はネットワーク接続性により、タスク中の通信が可能になり、検査データのリモートサーバ16への伝達が可能になりかつ/又はリモートサーバ16が所与のロボット12と通信できるようになる。
【0018】
示されているように、いくつかの実施形態では、システム10はまた、タスク実行の前及び/又は後のロボット12の短期保管又は長期保管のための、資産14上又はその近くに配置されたドッキングステーション20(例えば、ロボットガレージ)も含む。いくつかの実施形態では、ドッキングステーション20は、クラウド18を介してリモートサーバ16と通信し得る。ロボット12が電力のためにバッテリに頼っている場合、ドッキングステーション20はまた、ロボット12のバッテリを充電するための電源も含み得る。
【0019】
示されている例では、リモートサーバ16は、クラウド18を介してロボット12によってアクセス可能な、リモート・コンピューティング・デバイスである。
図1には単一のリモートサーバ16だけが示されているが、リモートサーバ16によって実行される機能は、複数のリモートサーバ16によって、及び/又はサーバ環境の仮想化されたインスタンスによって、実行され得ることが理解されるべきである。本実施形態では、リモートサーバ16は、データ処理システム22を含む。データ処理システム22は、ロボット12から受信したデータを処理するための、メモリコンポーネント24及びプロセッサ26を含み得る。以下でより詳細に説明するように、いくつかの実施形態では、ロボット12は、生データを、処理のためにリモートサーバ16に提供してもよい。他の実施形態では、ロボット12は、データをリモートサーバ16に渡す前に、そのデータを前処理し又は部分的に処理してもよい。さらなる実施形態では、データ処理のすべてが、ロボット12によって実行されてもよい。
【0020】
リモートサーバ16はまた、検索/解析コンポーネント28も含む。検索/解析コンポーネント28はまた、リモートサーバ16に格納されているデータを検索し、解析し、及びその他、リモートサーバ16に格納されているデータと相互作用するための、メモリ24及びプロセッサ26も含み得る。ユーザインタフェース30は、ユーザから入力を受け取ってもよい。例えば、データ処理システム22は、ユーザインタフェース30を介して提供されるユーザからの入力、又は別のコンピューティングデバイスからの入力を使用する機械学習(例えば、トレーニングされた人工ニューラルネットワーク)を利用してもよい。ユーザ入力は、実演的(例えば、タスクを実行する方法を実演する)、監督的(例えば、ユーザは、ロボットを監視して、ロボットが検査を実行するときに案内を与える)、補正的(例えば、ロボットが何かを誤って行うと、ユーザがロボットを補正する)、強化的(例えば、ロボットが何かを正しく行うと、ユーザがロボットに知らせる)、決定的(例えば、ユーザは、促されたときに、ロボットのために決定を行う)、指令的(例えば、資産の中の特徴を識別する)などであってもよい。いくつかの実施形態では、ユーザは、フィードバックを用いて、ロボットによるタスクの実行を中断し得る。他の実施形態では、ロボットは、フィードバックを要求することで人間のオペレータを促し得る。ネットワークインタフェース32は、クラウド18を介したロボット12間の通信を容易にする。示されているように、リモートサーバ16は、1つ又は複数のデータベース34を格納及び維持し得る。これらのデータベース34は、様々なタスクを実行するための命令、検査データ、構成ファイル、資産及び/又は資産を取り巻く領域のモデル、タスクファイル、アルゴリズムなどを含み得る。
【0021】
産業タスクの実行中又は実行後、ロボット12は、処理、分析、及び/又は格納のために、収集されたデータをリモートサーバ16に送信し得る。例として、タスク中に1つ又は複数のロボット12によって取得されたビデオ、画像、LIDARデータ、深度センサデータ、音響データ、分光データ、又は他の関連するセンサ若しくはカメラデータは、取得されたときに、又は検査飛行計画の完了後にバッチとして、データベース34にアップロードされ得る。あるいは、他の実装では、収集されたデータは、ロボット12からの直接送信を介して、及び/又は専用の検査データ通信回路などの他の中間の通信構造を介してなど、他の手段又はチャネルによってデータベース34に提供され得る。
【0022】
示されている例では、データ処理システム22、データベース34、及び検索/解析コンポーネント28は、単一の又は共通プロセッサベースのシステムの一部として示されている。しかしながら、示されている機能は、分散した又は散在する態様で実装されてもよく、特定の態様は、資産14、ロボット12、運用設備、及び/又は資産14から離れた他の位置に、局所的である。そのような分散した実装では、示されている態様は、1つ又は複数のネットワーク接続などを介して、依然として通信可能にリンクされていてもよい。
【0023】
示されているように、システム10は、1つ又は複数のワークステーション36も含む。図示されている実施形態では、ワークステーション36は、リモートサーバ16から分離されている。しかしながら、いくつかの実施形態では、リモートサーバ16及びワークステーション36の動作は、単一のコンピューティングデバイスによって実行されてもよい。ワークステーションは、例えば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、(仮想現実ヘッドセット38及び1つ又は複数のコントローラ40を含む)仮想現実システムなどを、含んでもよい。以下でより詳細に説明するように、1つ又は複数のロボット12上又はその周囲に配置された1つ又は複数のセンサ(例えば、カメラ、赤外線センサ、近接センサなど)が、1つ又は複数のロボット及び1つ又は複数のロボットの周囲の環境の、仮想再現を生成するために、使用されてもよい。いくつかの実施形態では、資産のモデル、資産の若しくは資産の周囲の、様々なコンポーネント、及び/又は周囲の領域が、仮想再現で使用されてもよい。次いで、仮想環境は、ワークステーション36を介して(例えば、仮想現実ヘッドセット、ワークステーション36のディスプレイ、テレビジョン、プロジェクションなどを介して)、オペレータ42に対して表示されてもよい。次いで、オペレータは、ロボットを制御してタスクが実行される方法を実演するために、1つ又は複数の入力デバイス(例えば、コントローラ40、マウス、ジョイスティック、リモートコントロール、キーボードなど)を使用してもよい。タスクには、例えば、資産を検査すること、資産のコンポーネントを作動させること(例えば、バルブを作動させること)、気体、液体、又は固体のサンプルを収集すること、化学試験を実行すること、資産又は資産のコンポーネントを修理すること、工業部品を組み立てること、部品を研磨し及び組み合わせること、コントローラを引き又は押すこと、パイプを切断すること、部品を溶接することなどが、含まれてもよい。いくつかの実施形態では、入力デバイスを介したユーザによる1つ又は複数のロボット12の制御は、資産14上又はその周囲での、1つ又は複数のロボット12の移動をもたらし得る。他の実施形態では、ユーザ42の移動は、1つ又は複数のロボット12を仮想環境内で仮想インスタンス化したものだけを制御する(すなわち、実際のロボット12が、ユーザによる制御入力に応答して移動するのではない)。いくつかの実施形態では、ユーザは、タスクの実行の様々な実施形態、並べ替え又は技術に及ぶように、産業タスクを1回よりも多く実行してもよい。ユーザ42によるタスクの実演に基づいて、システム10は、1つ又は複数のロボット12が、人間のオペレータ42による最小限の入力で、かつ/又は人間のオペレータ42による最小限の監督のもとで、タスクを実行し得るように、タスクを実行する方法を学習する。いくつかの実施形態では、学習は、後に1つ又は複数のロボットを制御して産業タスクを実行する、サーバ16又はサーバ16のコンポーネントによって行われ得る。他の実施形態では、学習は、人間のオペレータによる実演に基づいて、ロボット自体によって行われる。次いで、ロボットは、産業タスクの実行に進んでもよい。他の実施形態では、学習機能は、複数のサーバ16の間に、又はロボット12と1つ若しくは複数のサーバ16との間に、分散されていてもよい。しかしながら、いくつかの実施形態では、人間のオペレータ42は、ロボット12を監視及び/又は監督し、要求されたときにロボットにフィードバック及び/又は入力を提供するために、ワークステーション36を利用し得る。例えば、一旦、ロボット12がタスクを実行する方法を学習すると、システム10は、ロボット12がタスクを実行するときに、ロボット12を取り巻く環境の仮想再現、又はロボット12のビデオを、生成してもよい。人間のオペレータ42は、ワークステーション36を介してタスクの実行を監視してもよく、タスクの実行中に(例えば、促されたとき、又はその他のときに)フィードバックを提供してもよい。
【0024】
図2は、
図1に示されているロボット12の実施形態の概略図である。しかしながら、ロボット12の他の実施形態は、追加的なコンポーネント、より少ないコンポーネント、及び/又はコンポーネントの異なる組み合わせを有することが想定されることが理解されるべきである。示されているように、ロボット12は、ロボット12の動作のための電力を提供する、電源100を含む。電源100は、交換可能又は充電可能なバッテリ、燃焼機関、発電機、及び電気モータ、ソーラパネル、化学反応ベースの発電システムなど、又はそれらの何らかの組み合わせを含み得る。
【0025】
ロボットは、ユーザインタフェース102を含み得る。ユーザは、ユーザインタフェース102によって、ロボット12の様々な設定をセットアップ又は調整し得る。ユーザインタフェースは、1つ又は複数の入力デバイス(例えば、つまみ、ボタン、スイッチ、ダイヤルなど)を含み得、場合によっては、ユーザにフィードバックを提供するためのディスプレイ(例えば、スクリーン、LEDのアレイなど)を含み得る。前述の実施形態は、リモートサーバのユーザインタフェースを介してユーザフィードバックを受け取るが、ロボット12のユーザインタフェース102を介してユーザフィードバックが提供される実施形態もまた、想定される。
【0026】
ネットワークインタフェース104は、クラウド又は他のデバイス(例えば、ドッキングステーション、リモートコントローラ、スマートフォン、コンピューティングデバイス、タブレットなど)を介した、リモートサーバとの通信を可能にする。例えば、ネットワークインタフェース104は、無線ネットワーク接続、有線ネットワーク接続、セルラ・データ・サービス、Bluetooth、近距離無線通信(Near Field Communication:NFC)、ZigBee、ANT+、又は他の何らかの通信プロトコルを、介した通信を可能にしてもよい。いくつかの実施形態では、ネットワークインタフェースを介して送信又は受信されるデータは、暗号化されていてもよい。例えば、ハッシュ化、鍵交換暗号化、対称暗号化法、非対称暗号化法、又はそれらの組み合わせなどの、標準的なデータ暗号化技術が、利用され得る。いくつかの実施形態では、ネットワークインタフェース104は、ロボット12が、リモートコントローラ、コンピューティングデバイス、スマートフォン、タブレットコンピュータなどに接続することを可能にし得る。
【0027】
感知システム106は、産業タスクの実行中に、様々な特性を感知し、資産に対応するデータを収集するように構成された、1つ又は複数のセンサ107(例えば、触覚、化学、超音波、温度、レーザ、ソナー、カメラ、赤・青・緑・深度(red,blue,green,depth:RGB-D)カメラなど)を含み得る。前述のように、ロボットを取り巻く環境の仮想再現を生成するために、1つ又は複数のセンサ107のいくつかが、使用されてもよい。
【0028】
駆動システム108は、空気を介して、液体を介して、表面に沿って、又はそれらの何らかの組み合わせによって、ロボット12の移動を作動させてもよい。示されているように、駆動システム108は、1つ又は複数のモータ110、及び1つ又は複数のエンコーダ112を含み得る。1つ又は複数のモータ110は、プロペラ、脚、車輪、キャタピラなどを駆動してもよい。1つ又は複数のエンコーダ112は、1つ又は複数のモータ110の、1つ又は複数のパラメータ(例えば、回転速度)を感知して制御システム114にデータを提供してもよい。
【0029】
制御システム114は、1つ又は複数のメモリコンポーネント116、及び1つ又は複数のプロセッサ118を含んでもよい。運動制御システム120は、駆動システム108の1つ若しくは複数のエンコーダ112からの信号、及び/又はネットワークインタフェース104を介した人間のオペレータからのコマンドを受信してもよく、制御信号を1つ又は複数のモータ110に出力してロボット12の運動を制御してもよい。同様に、データ収集制御システム122は、感知システム106の動作を制御してもよく、感知システム106からデータを受信してもよい。データ処理及び分析システム124は、感知システム106によって収集されたデータを受信してもよく、収集されたデータを処理又は分析してもよい。いくつかの実施形態では、データ処理及び分析システム124は、データを完全に処理及び分析してもよく、資産の状態に関する決定を行ってもよい。他の実施形態では、データ処理及び分析システム124は、データの前処理、又はデータの部分的な処理及び分析を実行してもよく、次いで、残りの処理及び分析のために、データをリモートサーバに送信してもよい。さらなる実施形態では、ロボット12は、生データをリモートサーバに送信し得る。ユーザフィードバックが提供される場合、データ処理及び分析システム124は、検査データを処理及び/又は分析するときに、ユーザ入力を考慮に入れてもよい。いくつかの実施形態では、ユーザフィードバックは、ロボット12に返信されてもよい。
【0030】
一実装では、制御システム114はまた、任務計画コンポーネント126も含み得る。任務計画コンポーネント126は、任務計画を生成して、他の様々な、制御システム114のコンポーネント及びロボット12のコンポーネントを調整することによって、その任務計画を実行する。任務計画コンポーネント126は、例えば、ロボット12をリアルタイムで若しくはほぼリアルタイムで制御する、人間のオペレータによる制御入力、産業タスクが実行されることとなる方法を記述する(例えば、人間のオペレータによる実演に基づく)データ、資産のモデル、資産のコンポーネント、ロボットの近くにあるコンポーネント、及び/又は周囲の領域のモデルを利用してもよい。次いで任務計画コンポーネント126は、人間のオペレータによるタスクの実演から学習してもよく、ロボット12が自律的又は半自律的に産業タスクを実行するための、計画を生成してもよい。
図4に関して以下でより詳細に説明するように、いくつかの実施形態では、ロボットは、そのロボットが他のコンポーネントと相互作用することを可能にする、マニピュレータを含み得る。例えば、マニピュレータは、ロボットがその周囲の環境にある物体と相互作用して産業タスクを実行するために使用する、アーム又は他の何らかの構造体であってもよい。
【0031】
図3は、リモートサーバ及び/又はワークステーションとして使用できるコンピューティングデバイス200の、例示的なコンポーネントのブロック図を全体的に示している。本明細書で使用される場合、コンピューティングデバイス200は、ラップトップコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、又はワークステーションコンピュータとともに、サーバタイプのデバイス、若しくは携帯型の通信タイプのデバイス、そのようなセルラ電話、及び/又は他の適切なコンピューティングデバイスを含む、1つ又は複数のコンピューティングシステムとして実装され得る。
【0032】
図示されているように、コンピューティングデバイス200は、1つ若しくは複数のプロセッサ202、1つ若しくは複数のバス204、メモリ206、入力構造208、電源210、ネットワークインタフェース212、ユーザインタフェース214、及び/又は本明細書内で説明されている機能を実行する際に有用な、他のコンピュータコンポーネントなどの、様々なハードウェアコンポーネントを含んでもよい。
【0033】
1つ又は複数のプロセッサ202は、特定の実装では、メモリ206又は他のアクセス可能な場所に格納された命令を実行するように構成された、マイクロプロセッサである。あるいは、1つ又は複数のプロセッサ202は、特定用途向け集積回路(application-specific integrated circuit:ASIC)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array:FPGA)、及び/又は本明細書で議論されている機能を専用方式で実行するように設計された、他のデバイスとして実装されてもよい。理解されるであろうように、本明細書で議論されている機能を分散又は並列の態様で実行するために、複数のプロセッサ202又は処理コンポーネントが、使用されてもよい。
【0034】
メモリ206は、揮発性メモリ、不揮発性メモリ、又はそれらのあらゆる組み合わせを含む、データ又は実行可能なルーチンを格納するための、あらゆる有形の一時的でない媒体を包含してもよい。便宜上、
図3では単一のブロックとして示されているが、メモリ206は、実際には、同じ又はそれぞれ異なる物理的な場所にある、様々な別個の媒体を包含する場合がある。1つ又は複数のプロセッサ202は、1つ又は複数のバス204を介して、メモリ206内のデータにアクセスしてもよい。
【0035】
入力構造208は、ユーザがデータ及び/又はコマンドをデバイス200に入力できるようにするために使用されるものであり、マウス、タッチパッド、タッチスクリーン、キーボード、コントローラなどを含んでもよい。電源210は、ライン電力及びバッテリ電力を含む、コンピューティングデバイス200の様々なコンポーネントに電力を提供するための任意の適切な源であることができる。図示されている例では、デバイス200は、ネットワークインタフェース212を含む。そのようなネットワークインタフェース212は、1つ又は複数の通信プロトコルを使用して、ネットワーク上の他のデバイスとの通信を可能にしてもよい。図示されている例では、デバイス200は、1つ又は複数のプロセッサ202によって提供される画像又は日付を表示するように構成されたディスプレイなどの、ユーザインタフェース214を含む。ユーザインタフェース214は、例えば、モニタ、ディスプレイ、仮想現実ヘッドセット、テレビジョン、プロジェクタ、又はそれらの何らかの組み合わせを含んでもよい。理解されるであろうように、現実世界のコンテキストでは、
図1に示されているリモートサーバ及び/又はワークステーションの機能を実行することなどの、本アプローチの一部又はすべてを実装するために、
図3のコンピューティングデバイス200などのプロセッサベースのシステムが採用されてもよい。
【0036】
図4は、産業タスクを実行する際の、ロボット12と、リモートサーバ16と、ワークステーション36との間の相互作用を示している、概略図である。ロボット12、リモートサーバ16、及びワークステーション36は、それぞれのネットワークインタフェース(例えば、通信サーバ)を介して互いに通信してもよい。図示されている実施形態では、いくつかの機能は、ロボット12とサーバ16との間で共有されている。これらの機能は、全部がロボットによって実行されてもよく、又はロボット12とサーバ16との間で共有されていてもよいことが、理解されるべきである。前述のように、感知システム106は、ロボット12を取り巻く環境に関する情報を収集する、1つ又は複数のセンサを備える。収集されたデータは、ビデオ検出及び処理システム124に提供される。収集されたデータは、そこで処理され、次いで、任務計画システム126のタスク計画コンポーネント300に渡される。タスクプランナ300は、ロボット12のネットワークインタフェース104(例えば、ロボットサーバ)及びリモートサーバ36を介して、データをワークステーション36に送信する。データは、ワークステーション36のネットワークインタフェース302によって(例えば、リモートサーバ16、クラウド18、又は両方を介して)受信され、次いで、状態処理コンポーネント304に渡される。状態処理コンポーネント304は、受信したデータを使用して、ロボット12を取り巻く環境の視覚化306、及びその環境内のロボット12自体の視覚化308を生成する。次いで、視覚化は、ユーザインタフェース310(例えば、仮想現実ヘッドセット38)を介して、人間のオペレータ42に提示される。ユーザインタフェース310の1つ又は複数のコントローラ40を使用して、ユーザ42は、環境の視覚化306内の、ロボットの視覚化308を制御して、タスクを実行する。次いで、人間のオペレータ42による入力は、ロボット12に、(それぞれのネットワークインタフェース302、104を介して)送り返されてもよい。次いで、ロボット12は、ロボット12の1つ又は複数のコンポーネント(例えば、駆動システム108、産業用マニピュレータ312、アクチュエータなど)を制御するために、人間のオペレータ42の入力に基づいて1つ又は複数の制御信号を生成してもよい。示されているように、ワークステーション36は、人間のオペレータが、仮想現実システム36を介して実演される様々な行為を、1つ又は複数の産業タスクに関連付けることができるように、実行される様々なタスクについての、タスク定義データベース314を含んでもよい。
【0037】
人間のオペレータ42がタスクを実演すると、学習機構が、実演された活動を構成要素である部分(例えば、行為)に分解し、行為を一般化して、自律的又は半自律的に行為を実行する方法を学習する。実演されたタスクを再現する方法についてのデータ(例えば、ロボットの構成、環境の状態、目標、行われる運動、運動シーケンス、目標シーケンスなど)は、後で検索するために知識ベース318に格納されてもよい。
【0038】
実演されたタスクを実行するようにロボット12が指示されると、任務計画システム126のタスクプランナ300は、そのタスクに関連するデータを知識ベース318から検索して、自律的又は半自律的にそのタスクを実行することを計画する。示されているように、任務計画システム126はまた、ロボット操作プランナ320もロボット・ナビゲーション・プランナ322も含み得る。ロボット操作プランナ320は、資産又は資産のコンポーネントを操作し得る、産業用マニピュレータ312(例えば、アーム、アクチュエータなど)を計画及び制御し得る。ロボット・ナビゲーション・プランナ322は、ロボット12の飛行計画を計画する。いくつかの実施形態では、ロボット・ナビゲーション・プランナ322は、ロボット12の位置を識別するために、位置推定をする又は同時に位置推定と地図構築をする(simultaneous localization and mapping:SLAM)コンポーネント324からの入力に頼り得る。次いで、ロボット12は、計画されたタスクの自律的又は半自律的な実行に進んでもよい。タスクが実行されているとき、感知システム106は、ビデオを収集してもよく、このビデオは、ビデオ検出及び処理コンポーネント124並びにネットワークインタフェース104を介して、ワークステーション36に渡される。前述のように、データは、人間のオペレータに対する(例えば、ユーザインタフェース310を介した)表示のための、周囲の環境の視覚化306、及びその環境内のロボット12の視覚化308を生成するために使用される。次いで、人間のオペレータ42は、ロボット12がタスクを実行するときに、ロボット12を監督してもよい。時には、ロボット12は、ロボット12がタスクを実行するときに、人間のオペレータ42からの入力を要求してもよい。他の時には、人間のオペレータ42は、促されることなくフィードバックを提供してもよい。
【0039】
図5は、本明細書で議論されているような深層学習モデルとしてトレーニングされ得る、学習機構316(例えば、人工ニューラルネットワーク)の例を概略的に示している。この例では、ネットワーク306は、多層であり、トレーニング入力400(例えば、タスクの実演及び/又はユーザフィードバック)と、入力層402、隠れ層404、406など、及び出力層408を含む複数の層と、ネットワーク306内に存在するトレーニングターゲット410と、を有する。この例では、各層は、複数の「ニューロン」又はノード412からなる。ニューロン412の数は、層の間で一定であってもよく、又は図示されているように、層ごとに異なってもよい。各層のニューロン412は、次の階層のニューロン412への入力として機能する、それぞれの出力を生成する。実際には、バイアスが加えられた入力の重み付き合計が計算され、整流された線形ユニット(rectified linear unit:ReLU)、シグモイド関数、双曲線正接関数などの活性化関数に従って、又はその他の方法で指定若しくはプログラムされて、層のそれぞれの各ニューロンを「励起」又は「活性化」する。最終層の出力は、ネットワーク出力408を構成する。ネットワーク出力408は、ターゲット値又はコンストラクト410とともに、何らかの損失関数又は誤差関数414を計算するために使用される。損失関数又は誤差関数414は、逆伝播されて、ネットワークのトレーニングを導く。
【0040】
損失関数又は誤差関数414は、ネットワーク出力408とトレーニングターゲット410との間の差を測る。特定の実装では、損失関数は、平均二乗誤差(mean squared error:MSE)であってもよい。あるいは、損失関数414は、ソフトマックス関数などの、問題となっている特定のタスクに関連する他のメトリックによって定義されることができる。
【0041】
上記を念頭に置くと、ニューラルネットワーク306は、産業タスクを実行及び計画する方法の学習における使用のために、トレーニングされてもよい。
【0042】
図6は、人間によるタスクの実演に基づいて産業タスクを実行するための、プロセス500のフローチャートである。ブロック502では、人間のオペレータは、タスクの実行を実演する。前述のように、ロボット及びその周囲の環境の仮想再現を生成するために、ロボット上又はロボットの近くに配置された1つ又は複数のセンサからのデータが、使用されてもよい。データには、例えば、ビデオデータ若しくは静止画像データ、LIDARデータ、音響データ、分光データ、温度若しくは圧力データ、化学サンプル、臭い、又は飛行計画に沿って移動しているデバイスに取り付けられることができるセンサ若しくはカメラによって取得されることができる、他のデータが、含まれてもよい。仮想環境は、ワークステーション(例えば、仮想現実ヘッドセット、コンピュータのモニタ、テレビジョン、プロジェクタなど)を介して、人間のオペレータに対して表示されてもよい。次いで、人間のオペレータは、タスクの実行を実演するために、1つ又は複数のコントローラを介して、仮想環境内の仮想ロボットを制御(運動及び分析を含む)してもよい。いくつかの実施形態では、人間のオペレータによる入力は、離れた場所でタスクを実行している実際のロボットを制御するために使用される。いくつかの実施形態では、人間のオペレータは、ロボットが達成すべき下位目標を設定してもよい。ロボットは、人間のオペレータによって選択及び/又は検証され得る、下位目標を達成するための運動を計画してもよい。選択及び/又は確認の後、ロボットは、計画された運動を実行してもよい。いくつかの実施形態では、ロボットは、そのロボットの位置を制御してもよく、一方、人間のオペレータは、マニピュレータを制御してタスクを実行する。いくつかの実施形態では、タスクは、サブタスクに分割されてもよい。ブロック504では、実演されている産業タスクが、定義される。タスクは、開始状態、目標状態、及び制約として定義される。ロボットは、タスク内で定義された制約を満たしながら、ロボット自体と環境とを含む状態を、開始状態から目標状態まで駆動する必要がある。ブロック506では、タスクの実演中のロボットの様々な状態が、表現される。これらの状態は、本システムのステータス、すなわち、タスクが実行されているときの、物体及びロボットの、幾何学的関係及び/又は表現的な記述の、いずれか又は両方を記述する。ロボットは、実演の意味論的理解を容易にするために必要な場合は、状態の表現をグループ化又はグループ化解除してもよい。ブロック508では、実演からのデータが、保存される。保存されるデータには、例えば、ロボット構成、環境状態、ロボットの位置及び/又は移動、マニピュレータの位置及び/又は運動、オペレータ入力、目標、イベントのシーケンス、タイミング、加えられた力及び/又はトルクなどが、含まれてもよい。例えば、人間のオペレータは、ロボットベース(すなわち、ロボットの本体)を、移動され又は作動させられるべきコンポーネントの近くの位置に移動させてもよい。その位置は、マニピュレータがそのコンポーネントにアクセスできるようなものであってもよい。次いで、人間のオペレータは、コンポーネントを移動し又は作動させてタスクを実行するために、マニピュレータ(例えば、アーム)を使用してもよい。
【0043】
ブロック510では、実演が、一般化される。例えば、最も正しそうで適用できる解決法を表現する配分を見つけるために、運動計画が、一般化されてもよい。一般化には、運動計画を使用したタスクの実行に対する、最も一般的な制約を見つけることが、含まれてもよい。ブロック512では、システムは、タスクを実行する方法を学習する。例えば、タスクを学習することには、機械学習の技術が含まれてもよい。人間のオペレータによるタスクの実演に基づいて、システムは、その実演に対応するように振る舞いのシーケンスを生成するか、又は既存の振る舞いのシーケンスを適合させてもよい。学習された知識は、タスク空間の中で表現され、有限個の状態として定義される。例えば、振る舞いのシーケンスの生成には、学習された知識に基づいて、タスクの目標を達成するための解決法を見つけることが、含まれてもよい。タスクが与えられると、システムは、学習された知識に基づいて、タスクの目標を達成するためのサブタスクを見つける。次いで、その学習された知識に基づいて、各サブタスクの目標が、抽出される。いくつかの実施形態では、その目標は、中間ステップとして人間のオペレータによって検証されてもよい。ブロック514では、システムは、各サブタスクを実行するための運動計画を生成する。運動計画は、事前の知識に関連付けられてもよいが、運動計画はまた、タスクに関連する新しい状況に適合されてもよい。次いで、候補である運動計画は、レビューのためにユーザに表示されてもよい。例えば、その運動計画の仮想的な実行の視覚化(例えば、アニメーション、画像、ビデオなど)が、生成されてもよく、(例えば、ワークステーションの、仮想現実マスク、ディスプレイ、テレビジョン、又はプロジェクタを介して)レビューのためにユーザに表示されてもよい。ブロック516では、人間のオペレータは、ワークステーションのコントローラ又はユーザ入力を介して、フィードバックを提供してもよい。
【0044】
運動計画が人間のオペレータによって承認された場合、ロボットは、タスクの実行に進んでもよい。いくつかの実施形態では、ロボット上又はその周囲のセンサは、データの収集を続けてもよい。収集されたデータは、ロボットがタスクを実行するときに人間のオペレータに対して表示される、ロボット及びその環境の仮想再現を、再現するために使用されてもよい。ロボットがタスクを実行するとき、人間のオペレータは、ロボットを監督してもよく、フィードバックを提供してもよい(ブロック520)。システムは、その運動計画を変更するために人間のオペレータによるフィードバックを使用してもよい。システムが人間のオペレータのフィードバックを考慮してタスクを再学習するとき、そのフィードバックもまた、考慮に入れられてもよい。そのように、プロセス500は、ブロック512に戻ってもよい。次いで、プロセス500は、タスクを繰り返すか新しいタスクに進んでもよい。
【0045】
本開示の技術は、1つ又は複数のロボットに、人間によるタスクの実演に基づいて、自律的又は半自律的に産業タスクを実行するように教えることを含む。具体的には、1つ又は複数のロボット上又はその周囲に配置された1つ又は複数のセンサは、ロボット及びそれらの周囲の環境に対応するデータ(例えば、ビデオ、画像など)を収集してもよい。次いで、収集されたデータを使用して、(例えば、仮想現実ヘッドセット、コンピュータのモニタなどを介して)人間のオペレータに対して表示される、ロボット及びそれらの周囲の環境の仮想再現を生成する。次いで、人間のオペレータは、コントローラを使用して、仮想環境内のロボットを制御してタスクを実行する。実際のロボットはまた、ユーザの入力に基づいて、ユーザによって制御されてもよい。次いで、ロボットは、人間のオペレータによるタスクの実演に基づいて、タスクを実行する方法を学習する。次いで、ロボットは、自律的又は半自律的なタスクの実行に移ってもよい。いくつかの実施形態では、センサは、データの収集を続けてロボット及びそれらの周囲の環境の仮想再現を生成し得、それにより、人間のオペレータは、1つ又は複数のロボットが自律的又は半自律的にタスクを実行するときに、それらを監督し得る。人間のオペレータは、定期的にフィードバックを提供してもよく、それにより、ロボットが、タスクを実行する方法についてのそのロボットによる理解を深めることが、可能になり得る。
【0046】
この書面による説明は、例を用いて、最良の態様を含め特許請求の範囲に記載されている主題を開示し、また、あらゆるデバイス又はシステムを作製及び使用し、あらゆる組み込まれた方法を行うことを含め、あらゆる当業者が、開示されている主題を実施することができるようにもする。特許請求の範囲に記載されている主題の、特許を受けることができる範囲は、請求項によって定められ、当業者が思いつく他の例を含み得る。そのような他の例は、それらが、請求項の文字通りの言葉との違いを有しない構造要素を備える場合、又はそれらが、請求項の文字通りの言葉との違いに実質がない、同等の構造要素を含む場合、請求項の範囲内にあることが意図されている。