(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024040141
(43)【公開日】2024-03-25
(54)【発明の名称】ロボットステージングエリア管理
(51)【国際特許分類】
G05D 1/43 20240101AFI20240315BHJP
B25J 13/00 20060101ALI20240315BHJP
G06Q 50/06 20240101ALI20240315BHJP
【FI】
G05D1/02 P
G05D1/02 H
B25J13/00 Z
G06Q50/06
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023147589
(22)【出願日】2023-09-12
(31)【優先権主張番号】17/942,835
(32)【優先日】2022-09-12
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(74)【代理人】
【識別番号】100167553
【弁理士】
【氏名又は名称】高橋 久典
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(72)【発明者】
【氏名】デイヴィッド・エマーソン
【テーマコード(参考)】
3C707
5H301
5L049
【Fターム(参考)】
3C707BS10
3C707CS08
3C707HS09
3C707JS02
3C707JS03
3C707JS07
3C707KS23
3C707KS24
3C707KT01
3C707KT04
3C707LV02
3C707LV14
3C707WA16
3C707WA17
5H301AA10
5H301BB14
5H301CC03
5H301CC04
5H301CC06
5H301CC07
5H301CC10
5H301DD01
5H301DD06
5H301DD07
5H301DD15
5H301GG09
5H301KK02
5H301KK03
5H301KK04
5H301KK08
5H301KK10
5H301KK19
5H301LL01
5H301LL03
5H301LL06
5L049CC04
(57)【要約】 (修正有)
【課題】運転ミッションを完了するために必要なときに有能なロボットが利用可能であるようにロボットのフリート編成方法を提供する。
【解決手段】ロボットステージングエリア内の移動ロボットを管理するための様々な実装形態において、生産モードからステージングモードに移行する移動ロボットの状態が決定され得る。複数のロボットステージングステーションの状態も決定され得る。複数のロボットステージングステーションは、充電ステーションおよびメンテナンスステーションを少なくとも1つずつ含み得る。移動ロボットおよび複数のロボットステージングステーションの決定された状態に少なくとも部分的に基づいて、複数のロボットステージングステーションからロボットステージングステーションが選択され得る。移動ロボットには、ステージングミッションが割り当てられ得、移動ロボットに、選択されたロボットステージングステーションまで走行させ得る。
【選択図】
図17
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサを使用して実装される方法であって、
生産モードからステージングモードに移行する移動ロボットの状態を決定するステップと、
複数のロボットステージングステーションの状態を決定するステップであって、前記複数のロボットステージングステーションは、充電ステーションおよびメンテナンスステーションを少なくとも1つずつ含む、ステップと、
前記移動ロボットおよび複数のロボットステージングステーションの前記決定された状態に少なくとも部分的に基づいて、前記複数のロボットステージングステーションからロボットステージングステーションを選択するステップと、
前記移動ロボットにステージングミッションを割り当てるステップであって、前記ステージングミッションは、前記移動ロボットに前記選択されたロボットステージングステーションまで走行させる、ステップと
を含む、方法。
【請求項2】
前記選択されたロボットステージングステーションにおける出力デバイスに、フィデューシャル出力をレンダリングさせるステップをさらに含み、前記ステージングミッションは、前記移動ロボットに、
前記複数のロボットステージングステーションをスキャンして、前記レンダリングされたフィデューシャル出力を検出させ、
前記レンダリングされたフィデューシャル出力が検出された前記ロボットステージングステーションまで走行させる、請求項1に記載の方法。
【請求項3】
前記出力デバイスは、ディスプレイを含み、前記レンダリングされたフィデューシャル出力は、視覚的フィデューシャルマーカーを含む、請求項2に記載の方法。
【請求項4】
前記移動ロボットは、産業施設の生産エリアから、前記複数のロボットステージングステーションのうちの少なくともいくつかを含む前記産業施設のロボットステージングエリアに移動するときに、前記生産モードから前記ステージングモードに移行する、請求項1に記載の方法。
【請求項5】
前記方法は、
前記移動ロボットによって実行可能である、または前記移動ロボットに割り当てられる、または前記複数のロボットステージングステーションを含むロボットステージングエリア内の1つもしくは複数の他の移動ロボットに割り当て可能である、1つまたは複数の生産ミッションの状態を決定するステップ
をさらに含み、
前記選択するステップは、1つまたは複数の前記生産ミッションの前記状態にさらに基づく、請求項4に記載の方法。
【請求項6】
前記生産ミッションのうちの1つまたは複数は、前記ロボットステージングエリアの外のプロセスオートメーションコンポーネントのセンサーまたはアクチュエータを検査または整備する1つもしくは複数のミッションを含む、請求項5に記載の方法。
【請求項7】
前記選択されたロボットステージングステーションは、前記移動ロボットによって実行可能である、または前記移動ロボットに割り当てられた、前記生産ミッションのうちの利用可能な開始配置であることに基づいて選択される、請求項5に記載の方法。
【請求項8】
前記選択するステップは、前記生産ミッションのうちの1つの生産ミッションの開始時刻までの時間間隔を閾値と比較するステップを含む、請求項5に記載の方法。
【請求項9】
前記移動ロボットは、第1の移動ロボットを含み、前記選択するステップは、第2の移動ロボットによって実行される、または実行されることになる、複数の前記生産ミッションのうちの第2の生産ミッションに応じて、複数の前記生産ミッションのうちの第1の生産ミッションが条件付きで前記第1の移動ロボットによって実行されるという決定にさらに基づいて、前記ロボットステージングステーションを選択するステップを含む、請求項5に記載の方法。
【請求項10】
前記第2の生産ミッションは、プロセスオートメーション施設のコンポーネントの検査を含み、前記第1の生産ミッションは、前記コンポーネントの前記検査の結果に基づいて条件付きで実行される1つまたは複数のタスクを含む、請求項9に記載の方法。
【請求項11】
ロボットの前記状態は、前記ロボットの利用可能なバッテリ電力および前記ロボットの構成を含む、請求項1に記載の方法。
【請求項12】
前記複数のロボットステージングステーションのうちの少なくともいくつかを含むロボットステージングエリア内の少なくとも1つのメンテナンスステーションは、前記移動ロボットの前記構成を変更するように構成されているペイロード変更ステーションを含む、請求項11に記載の方法。
【請求項13】
前記選択されたロボットステージングステーションは、保管ステーションを含み、前記保管ステーションは、前記複数のロボットステージングステーションのうちの少なくともいくつかを含むロボットステージングエリア内の別の移動ロボットの現在または将来の走行軌道の外側に前記保管ステーションがあることに基づいて選択される、請求項1に記載の方法。
【請求項14】
前記移動ロボットを前記保管ステーションに再配置するか、または前記別のロボットに、前記別のロボットの前記現在または将来の軌道を変更させて前記移動ロボットを回避させるかを決定するための費用/便益分析を実行するステップをさらに含む、請求項13に記載の方法。
【請求項15】
前記移動ロボットの前記状態は、第1のベクトル埋込みを含み、前記複数のロボットステージングステーションの前記状態は、第2のベクトル埋込みを含む、請求項1に記載の方法。
【請求項16】
ステージングミッションアクション空間上の確率分布を生成するために、強化学習方策に基づいて、前記第1のベクトル埋込みおよび前記第2のベクトル埋込みを処理するステップをさらに含み、前記選択するステップは、前記確率分布に基づく、請求項15に記載の方法。
【請求項17】
1つまたは複数のプロセッサと、命令を記憶するメモリとを備えるロボティクスステージングシステムであって、前記命令は、前記1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
ロボティクス管理システムから、前記ロボティクス管理システムによって管理される産業施設の生産エリアから前記ロボティクスステージングシステムによって管理される前記産業施設のロボットステージングエリアへ移行する移動ロボットの状態を受信させ、
前記ロボットステージングエリア内の複数のロボットステージングステーションの状態を決定させ、前記複数のロボットステージングステーションは、ロボット充電ステーションおよびロボット生産ミッション開始点ステーションを少なくとも1つずつ含み、前記複数のロボットステージングステーションの前記状態は、占有されている1つまたは複数のロボットステージングステーションと、空いている1つまたは複数のロボットステージングステーションとを含み、
前記移動ロボットおよび複数のロボットステージングステーションの前記決定された状態に少なくとも部分的に基づいて、前記複数のロボットステージングステーションからロボットステージングステーションを選択させ、
前記移動ロボットにステージングミッションを割り当て、前記ステージングミッションは、前記移動ロボットに、前記選択されたロボットステージングステーションまで走行させる、ロボティクスステージングシステム。
【請求項18】
前記1つまたは複数のプロセッサに、
前記移動ロボットによって実行可能である、または前記移動ロボットに割り当てられる、またはステージングエリア内の1つもしくは複数の他の移動ロボットに割り当て可能である、1つまたは複数の生産ミッションの状態を決定させ、
前記1つまたは複数の生産ミッションの前記状態に少なくとも部分的に基づいて、前記ロボットステージングステーションを選択させる
命令をさらに含む、請求項17に記載のロボティクスステージングシステム。
【請求項19】
選択させる前記命令は、
前記移動ロボットに割り当てられている前記生産ミッションのうちの所与の生産ミッションの開始時間までの時間間隔を決定する命令と、
前記時間間隔が、前記所与の生産ミッションの前に前記移動ロボットを少なくとも部分的に充電するのに十分な長さであることに基づいて、前記ロボット充電ステーションを前記選択されたロボットステージングステーションとして選択する命令と
を含む、請求項18に記載のロボティクスステージングシステム。
【請求項20】
1つまたは複数のプロセッサを使用して実装される方法であって、
産業施設のロボットステージングエリア内の複数のロボットステージングステーションの状態を決定するステップであって、前記複数のロボットステージングステーションは、ロボット生産ミッション開始点ステーションおよびロボット保管ステーションを少なくとも1つずつ含む、ステップと、
ステージングエリア内の1つもしくは複数の移動ロボットによって実行可能である、または1つもしくは複数の移動ロボットに割り当て可能である、1つまたは複数の生産ミッションの状態を決定するステップと、
前記複数のロボットステージングステーションおよび前記1つまたは複数の生産ミッションの前記決定された状態を分析するステップと、
前記分析するステップに基づいて、前記ロボットステージングエリア内の移動ロボットに、前記移動ロボットに前記ロボット保管ステーションまで走行させるステージングミッションを割り当てるステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、ロボットステージングエリア管理に関する。
【背景技術】
【0002】
石油化学精製所、化学プラントなどの、複合産業施設は、定期検査および/またはメンテナンスを必要とする無数のコンポーネントを含み得る。これらのタスクは、伝統的に人間によって行われてきたが、冗長で、反復的であり、間違いを起こしやすく、危険でさえある。たとえば、多くのプロセスオートメーション施設は、防爆(「ex-proof」)エリアなど、人員へのリスクおよび/または事故のリスクが高まるエリアを含む。これらの検査およびメンテナンスタスクの多くは、地上ロボットおよび無人航空機(UAV)を含む、ロボットに任せることが次第に多くなってきている。しかしながら、ロボットへの依存がこのように高まると、ロボットの任務の中断を最小限に抑えつつ、ロボットのフリートを効率的かつ効果的に正常に運転できる状態にどのように保つかなど、様々な課題も導入される。
【0003】
たとえば、充電ステーションおよびロボットの1対1対応を実装することによってプロセスオートメーション施設のすべてのロボットを十分に充電しておくことが可能な場合があり、したがって各ロボットはいつでも関連付けられた充電ステーションに行ってバッテリを充電することができる。しかしながら、この結果、多くの充電ステーションがかなりの時間未使用のままであり、不必要にリソースを浪費し、スペースを無駄にする可能性がある。同様に、ロボットフリートによって完了されるべきタスクに適した能力レベルを考慮しなければ、電力などのリソースはロボットのフリート全体を最高レベルの能力で維持するために消費される可能性がある。さらに、多くの生産ミッションは、ロボットが生産ミッションを開始するまたは完了する専用の開始点または終了点を有するであろうことが考えられる。フリート内の各ロボットの位置を効率的に編成しないと、保管要件が過度に高くなり、ロボット経路に詰まりが生じ得る。さらに、ロボットステージングエリア(robot staging area)(「ロボットヤード(robot yard)」とも称される)内では、ロボットは、プロセスオートメーション施設の運転エリア内に比べて多くのロボットに遭遇する可能性が高く、追加の課題が生じる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「Enterprise-Control System Integration」のためのISA-95標準(https://www.isa.org/standards-and-publications/isa-standards/isa-standards-committees/isa95)
【発明の概要】
【発明が解決しようとする課題】
【0005】
消費されるリソースおよび他のロボットへの妨害を最小限度に抑えながら、運転ミッションを完了するために必要なときに有能なロボットが利用可能であるようにロボットのフリートを編成する必要がある。加えて、ロボットのフリートの管理を施設の管理と統合して、ロボットの誘導が効率的に実行されるようにし、施設内のロボットおよび/またはステーションの数を制限する必要がある。さらに、ほとんどのリソースをすべてのロボットに単純に適用することなく、施設を稼動させ続けるためにどのようなリソースが必要かを決定する管理システムが必要である。
【0006】
たとえば、ロボットの充電レベルがプリセットされた閾値を下回ったときにバッテリを充電する代わりに、本明細書において説明されている技術は、予想される需要および他のロボットの予想される利用可能性に基づいて、産業施設におけるタスクの完了に必要なバッテリレベルを決定し、ロボットがタスクを完了する必要があるとき、または充電に関連付けられるコストが削減されるときなどにおいて、全体的効率を促進する方式でロボットを充電することを可能にする。別の例として、移動ロボットが何らかの静的性能ベンチマークに不合格になったときに移動ロボットをいつでも修理する代わりに、本明細書において説明されている実装形態では、予想されるタスクおよび他のロボットの予想される利用可能性に基づいて、故障または性能不足を予測するアセット監視戦略を適用し、ロボットは、必要な場合に修理/メンテナンスロボットステージングステーションに送られるものとしてよい。さらに別の例として、ロボットを移動して他のロボットの行く手を開けるときに、本明細書において説明されている技術は、特定のロボットを生産ミッションについて優先順位付けされた位置に移動する。
【課題を解決するための手段】
【0007】
様々な実装形態において、「ロボットステージングエリア」または「ロボットヤード」が宣言されるかまたは他の何らかの形で定義され得る。ロボットステージングエリアは、移動ロボットが、生産ミッションを実行していない間保管される産業施設の一エリアである。ロボットステージングエリアは、移動ロボットに異なるサービスを提供するために複数の異なるタイプのロボットステージングステーションを備え得る。これらのサービスは、限定はしないが、充電、修理/メンテナンス、ファームウェアおよびソフトウェアの更新、ペイロード変更(たとえば、「リツーリング」)、保管、生産ミッション開始点ステーションなどを含み得る。
【0008】
様々な実装形態において、ロボティクス管理システム(robotics management system)は、ロボティクスステージングシステム(robotics staging system)を含むか、またはロボティクスステージングシステムと動作可能に結合され得る。ロボティクス管理システムは、施設のニーズ、スケジュール、人間の要求などに基づいて、産業施設内で様々な生産ミッションを実行する移動ロボットのフリートを管理するように構成され得る。これらの生産ミッションは、たとえば、センサーおよび/もしくはアクチュエータを検査しおよび/または修理すること、妨害物を取り除くこと、産業施設の他の側面を検査すること(たとえば、煙突火炎を監視すること)、様々なメンテナンスもしくは清掃タスクを実行すること、または産業施設の生産エリア内で移動ロボットによって実行され得る任意の他のタスクを含み得る。
【0009】
対照的に、ロボティクスステージングシステムは、ロボットステージングエリア内のロボットフリートを管理し、効率的および効果的な充電、修理、メンテナンス、保管を確実にし、さらにはロボットステージングエリアのスペースおよびロボットステージングステーションを最も効率的に使用するように構成され得る。様々な実装形態において、ロボットが生産モードからステージングモードに移行するときに、たとえば、生産エリア内で生産ミッションを完了した後にロボットステージングエリアに入ることによって、ロボティクス管理システムは、ロボティクスステージングシステムへの制御のハンドオーバーを実行し得る。様々な実装形態において、このハンドオーバーは、入ってくるロボットの現在の状態を識別するための診断検査を含み得る。この診断検査から少しずつ集められた情報に基づいて、ロボティクス管理システムおよび/またはロボティクスステージングシステムは、将来のミッションに備えてロボットを準備するためにとるべきアクションを識別し得る。
【0010】
いくつかの実装形態において、ロボティクスステージングシステムは、ロボティクス管理システムからのロボットそれ自体に関する情報(たとえば、バッテリ寿命、配置、様々なロボットの健全性特性)および(2)ロボットが割り当てられ得るミッションを取り出し得る。この取り出された情報に基づいて、ロボティクスステージングシステムはロボットステージングエリア内のロボットを管理し得る。ロボットステージングエリア内のロボットのロボティクスステージングシステムによる管理は、たとえば、ロボットが充電を必要としているかどうかを、もしそうならば、ロボットは充電ロボットステージングステーションに移動する必要があるかどうかを決定すること、ロボットがメンテナンスを受ける必要があるかどうか(ロボットが将来メンテナンスを必要とするかどうか、および/またはいつメンテナンスを必要とするかを予測することを含む)、およびもしそうならば、ロボットはメンテナンスロボットステージングステーションに移動する必要があるかどうかを決定すること、ロボットが生産ミッションを開始する必要があるかどうか、もしそうであれば、どのロボットステージングステーションが生産ミッションに対して好適な開始配置であるかを決定すること、ロボットが少なくとも特定の期間にわたって任意のミッションまたは他の活動に必要でないかどうか、もしそうであれば、ロボットは保管ロボットステージングステーションに移動するべきかどうかを決定すること、および/またはある配置へ移動する必要のあるロボットの行く手を塞いでいる他のロボットがあるかどうかを決定することを含み得る。
【0011】
ロボティクスステージングシステムが、ロボットステージングエリア内のロボットの1つまたは複数の移動が必要であると決定した場合、ロボティクスステージングシステムは、「ステージングミッション」と称されることになる1つまたは複数のものを生成することができる。次いで、ロボティクスステージングシステムは、ロボットステージングエリア内でロボットが適切な時刻に適切な配置へ移動するように、ステージングミッションを関連するロボットに割り当て得る。
【0012】
様々な実装形態において、ロボティクスステージングシステムは、ロボットステージングエリア内の各ロボットの現在配置のリアルタイム記録を維持し得る。たとえば、ロボティクスステージングシステムは、ロボットステージングエリア内のロボットに関する、およびいくつかの場合において、産業施設の生産エリア内のロボットに関する、リアルタイム配置情報を受信し得る。十分な精度が達成され得る場合、全地球測位システム(GPS)の定位が使用され得る。しかしながら、定義されたロボットステージングエリアを有することの利点の1つは、リアルタイム配置情報が、ロボットステージングエリア内のカメラまたは他のセンサーなどの、他の定位技術を使用して、スペースが限られていてもより高い精度でより容易に決定され得る点である。様々な実装形態において、グリッドまたは他の座標系が、ロボットステージングエリアの上に仮想的にマッピングされ得る。いくつかの実装形態において、ロボットステージングエリアは、ロボット位置に関してリアルタイム更新が生成される、ロボティクスステージングシステムにおいて2値化されるか、またはシミュレートされ得る。様々な実装形態において、ロボティクスステージングシステムは、1つまたは複数のロボットの将来の配置を予測し得る。これは、ロボティクスステージングシステムが将来の競合するミッション経路を予測し、衝突または他の競合を回避するための調整を行うことを可能にし得る。
【0013】
実施例として、ロボティクスステージングシステムが、ロボットが充電される必要のあること、したがって、ロボットが充電ロボットステージングステーションに移動する必要があることを決定すると仮定する。ロボティクスステージングシステムは、ロボットステージングエリア内の各ロボットの配置のリアルタイム更新、さらには各ロボットと互換性のあるロボットステージングエリア内の各充電ステーションに関する更新を受信し得る。ロボティクスステージングシステムは、また、ロボティクス管理システムに接続して、バッテリデータなどの、ロボットに関する診断データを収集し得る。ロボティクスステージングシステムは、次いで、バッテリレベルを閾値と比較し得、この閾値はいくつかの場合において、ロボットに割り当てられた今後のミッションの必要性に基づいて設定され得る。他の実装形態では、この比較は、ロボティクス管理システムによって実行され、ロボティクスステージングシステムに伝達され得る。
【0014】
バッテリレベルが低すぎる場合、ロボティクスステージングシステムは、ロボットの配置と好適な充電ステーション(たとえば、ロボットと互換性のある充電器を有する)の配置との間の最低コスト経路を計算することによって再配置ステージングミッションを生成し得る。コストは、走行距離、使用されたエネルギー、克服すべき障害物、ロボットへの摩損などの要因に基づき得る。次いで、ロボティクスステージングシステムは、ヤード内の他のすべてのロボットの配置を有しているので、ロボティクスステージングシステムは、考慮中の元のロボットの経路をブロックしているか、またはこれからブロックする他のロボットを識別することができる場合がある。ロボティクスステージングシステムは、次いで、障害物ロボットを移動するコストと、元のロボットに障害物ロボットを迂回するよう求めるコストとを計算し得る。ロボティクスステージングシステムは、次いで、ロボットフリートに対する最低総コストを達成するために、または別の値に対して最適化するために、再配置ステージングミッションを割り当てるものとしてよい。
【0015】
ロボティクスステージングシステムは、ロボットがメンテナンスを受けるべきかどうか、もしそうならば、ロボットが整備工場に移動する必要があること、ロボットがミッションを開始するべきかどうか、もしそうならば、ロボットはある配置、たとえば、ミッションのための開始配置に移動する必要があること、ロボットが少なくとも特定の期間にわたって任意のミッションまたは他の活動に必要でないかどうか、もしそうならば、ロボットは保管配置に移動するべきであること、またはある配置へ移動する必要のあるロボットの行く手を塞いでいる他のロボットがあるかどうかについて類似の決定を行い得る。
【0016】
いくつかの実装形態において、ロボットステージングエリア内の各ロボットステージングステーションは、フィデューシャルマーカーをレンダリングするためのディスプレイなどの出力デバイスを備え得る。フィデューシャルマーカーは、ロボットステージングエリア内の移動ロボットによって特定のロボットステージングステーションを識別するために使用される基準点または識別子であってよい。フィデューシャルマーカーは、様々な形態をとり得る。視覚的なフィデューシャルマーカーは、たとえば、バーコードまたはクイックレビュー(QR)コードの形態をとり得る。不可視のフィデューシャルマーカーは、たとえば、赤外線マーカー、レーザー誘導メカニズムなどを含み得る。様々な実装形態において、フィデューシャルマーカーは、ロボットに異なる配置を示すために適宜変更され得る。
【0017】
様々な実装形態において、移動ロボットが生産ミッション(すなわち、ロボットステージングエリア内で実行されるべきステージングミッションとは対照的に、施設内で実行されるべきミッション)を割り当てられたときに、生産ミッションは出発点または配置を含み得る。いくつかの場合において、この開始点は、ロボットステージングエリア内の、特定のミッション開始ロボットステージングステーションに配置され得る。特定のロボット、たとえばロボットAは、そのミッション開始点に割り当てられたフィデューシャルマーカーを有し得る。ロボティクスステージングシステムは、次いで、ロボットステージングエリア内に配置されたミッション開始ステーションにおいてレンダリングされるべきロボットAミッション開始フィデューシャルを割り当てるものとしてよい。ロボットAは、次いで、ロボットAミッション開始フィデューシャルマーカーを特定するまでロボットステージングエリア内の複数のロボットステージングステーションでレンダリングされたフィデューシャルマーカーをスキャンすることをロボットAに指令するステージングミッションを割り当てられ得る。ロボットAは、次いで、ロボットAミッション開始フィデューシャルマーカーがレンダリングされたミッション開始ロボットステージングステーションに自己ドッキングするかまたは他の何らかの形で自己位置決めし得る。類似の方式で、ロボットはどれも、ロボティクスステージングシステムによって決定されるように、ロボットステージングエリア内の複数のロボットステージングステーションのいずれかを識別し、自己位置決めするように指令され得る。
【0018】
いくつかの実装形態において、ステージングミッションは、一連のフィデューシャルマーカーとしてロボットに割り当てられ得るか、またはロボットの単一のフィデューシャルマーカーが複数の異なるロボットステージングステーションに、たとえば、順序付けされたまたは順序付けされていないシーケンスでレンダリングされることを引き起こし得る。ロボティクスステージングシステムは、必要に応じてフィデューシャルマーカーが各適用可能なロボットステージングステーションにおいてレンダリングされることを引き起こし得る。たとえば、ロボットのフィデューシャルマーカーは、最初に、適切な充電ステーションでレンダリングされ、次いで適切なドッキングステーション、またはメンテナンスステーション、または保管ステーションで適宜レンダリングされ得る。
【0019】
いくつかの実装形態において、ロボティクスステージングシステムは、所与の目的のためにロボットステージングエリア内のロボットステージングステーションの使用を最適化し得る。たとえば、ロボティクスステージングシステムは、充電のためにロボットステージングステーションの使用を最適化して、最大数の移動ロボットが完全に充電されるか、または最小数のロボットが50%未満の充電残量を有することを確実にし得る。この例では、ロボティクスステージングシステムは、1つまたは複数の充電ステーションにフィデューシャルマーカーを割り当て、1つまたは複数の移動ロボットにステージングミッションを割り当てて、移動ロボットが最適化された充電レベルに達するようにし得る。ロボティクスステージングシステムは、加えてまたは代替的に、所与の時点において、または生産ミッションの知られているスケジュールを満たすために、ミッションに必要な充電量に基づいて、またはバッテリ健全性懸念事項が、ロボットが後で充電されるのを待つべきであることを示す場合に、利用可能なロボットの数を最適化し得る。
【0020】
本明細書において説明されている技術は、ロボットステージングエリアからそれらのロボットが配備されるのを待つ間、ロボットフリートを最適化する自由度を高める。ロボットミッションの数が増えるにつれて、すべてのロボットが産業施設内で生産ミッションを能動的に実施していないときにロボットフリートが管理される仕方の効率が達成され得る。ロボットがより頻繁に充電され、十分に整備され、配備の準備ができていることから、これはロボティクスステージングシステムが産業施設にサービスを提供するために必要なロボットの総数を減らすことを可能にする。同様に、ロボティクスステージングシステムは、ロボットフリートにサービスを提供するのに必要なロボットステージングステーションの数を制限し得るが、それは各ステーションがより柔軟に使用され、アイドル/空になる可能性が低いからである。さらに、フィデューシャルマーカーの使用は、ロボットに提供されるステージングミッションデータの複雑さを制限し、たとえば、各ロボットがフィデューシャルマーカーのより制限されたセットを保管することを可能にし得る。
【0021】
いくつかの実装形態において、生産ミッションがロボティクス管理システムによって、またはロボティクス管理システムを介して作成されるときに、ロボティクスステージングシステムは、ロボットステージングエリア内のどの移動ロボットが生産ミッションのうちの1つまたは複数を割り当てられるべきかを決定し得る。様々な実装形態において、ロボティクスステージングシステムは、ロボットステージングエリア内のロボットに関係する情報に基づいてこの決定を行うものとしてよい。たとえば、所与のロボットのバッテリレベルが低い場合、または所与のロボットの配置が所与のロボットが特定の生産ミッションを実行することを困難にする場合、ロボティクスステージングシステムは、その情報を使用して、生産ミッションに最適な異なるロボットを識別し/選択し得る。ロボティクスステージングシステムは、また、このタイプの情報を使用して、どのロボットがどの生産ミッションを割り当てられるべきかを決定する際のサポートをロボティクス管理システムに提供し得る。
【0022】
本明細書において説明されている実装形態は、様々な追加の技術的メリットおよび利点を生み出す。人間は、ミッションに現在参加していないアイドル状態のロボットを管理するかまたは整理する(たとえば、保管する)必要がない。ロボットの保管および配置をリアルタイムで自動的に調整することにより、より少ないスペースでより多くのロボットが保管されるかまたはアクセスされることが可能になる。さらに、本開示の選択された態様を実践してターゲットとするロボットのメンテナンス、保管、および充電を実行することによって、ロボットは、生産ミッションの実行を求められたときのためにより効率的によりよく準備される。たとえば、ロボットが生産ミッションを実行するために必要とされるときに、ロボットはすでにアクセス可能な(たとえば、妨げられていない)配置に移動されており、すでにそのバッテリは生産ミッションを実行するのに十分に充電されているであろう。
【0023】
様々な実装形態において、方法は、1つまたは複数のプロセッサを使用して実施され得、これは生産モードからステージングモードに移行する移動ロボットの状態を決定することと、複数のロボットステージングステーションの状態を決定することであって、複数のロボットステージングステーションは、充電ステーションおよびメンテナンスステーションを少なくとも1つずつ含む、決定することと、移動ロボットおよび複数のロボットステージングステーションの決定された状態に少なくとも部分的に基づいて、複数のロボットステージングステーションからロボットステージングステーションを選択することと、移動ロボットにステージングミッションを割り当てることであって、ステージングミッションは、移動ロボットに、選択されたロボットステージングステーションまで走行させる、割り当てることとを含み得る。
【0024】
様々な実装形態において、方法は、選択されたロボットステージングステーションにおける出力デバイスに、フィデューシャル出力をレンダリングさせることを含んでよく、ステージングミッションは、移動ロボットに、複数のロボットステージングステーションをスキャンして、レンダリングされたフィデューシャル出力を検出させ、レンダリングされたフィデューシャル出力が検出されたロボットステージングステーションまで走行させる。様々な実装形態において、出力デバイスは、ディスプレイであってもよく、レンダリングされたフィデューシャル出力は、視覚的フィデューシャルマーカーであってもよい。
【0025】
様々な実装形態において、移動ロボットは、産業施設の生産エリアから、複数のロボットステージングステーションのうちの少なくともいくつかを含む産業施設のロボットステージングエリアに移動するときに、生産モードからステージングモードに移行し得る。様々な実装形態において、この方法は、移動ロボットによって実行可能である、または移動ロボットに割り当てられる、または複数のロボットステージングステーションを含むロボットステージングエリア内の1つもしくは複数の他の移動ロボットに割り当て可能である、1つまたは複数の生産ミッションの状態を決定することをさらに含み、選択することは、1つまたは複数の生産ミッションの状態にさらに基づく。
【0026】
様々な実装形態において、生産ミッションのうちの1つまたは複数は、ロボットステージングエリアの外のプロセスオートメーションコンポーネントのセンサーまたはアクチュエータを検査または整備する1つまたは複数のミッションを含み得る。様々な実装形態において、選択されたロボットステージングステーションは、移動ロボットによって実行可能である、または移動ロボットに割り当てられた、生産ミッションのうちの最初の生産ミッションの利用可能な開始配置であることに基づいて選択される。様々な実装形態において、選択することは、生産ミッションのうちの1つの生産ミッションの開始時刻までの時間間隔を閾値と比較することを含む。
【0027】
様々な実装形態において、移動ロボットは、第1の移動ロボットであってもよく、選択することは、第2の移動ロボットによって実行される、または実行されることになる、複数の生産ミッションのうちの第2の生産ミッションに応じて、複数の生産ミッションのうちの第1の生産ミッションが条件付きで第1の移動ロボットによって実行されるという決定にさらに基づいて、ロボットステージングステーションを選択することを含み得る。様々な実装形態において、第2の生産ミッションは、プロセスオートメーション施設のコンポーネントの検査を含んでよく、第1の生産ミッションは、コンポーネントの検査の結果に基づいて条件付きで実行される1つまたは複数のタスクを含み得る。
【0028】
様々な実装形態において、ロボットの状態は、ロボットの利用可能なバッテリ電力およびロボットの構成を含み得る。様々な実装形態において、複数のロボットステージングステーションのうちの少なくともいくつかを含むロボットステージングエリア内の少なくとも1つのメンテナンスステーションは、移動ロボットの構成を変更するように構成されているペイロード変更ステーションを含み得る。
【0029】
様々な実装形態において、選択されたロボットステージングステーションは、保管ステーションであってよく、保管ステーションは、複数のロボットステージングステーションのうちの少なくともいくつかを含むロボットステージングエリア内の別の移動ロボットの現在または将来の走行軌道の外側に保管ステーションがあることに基づいて選択される。様々な実装形態において、方法は、移動ロボットを保管ステーションに再配置するか、または別のロボットに、別のロボットの現在または将来の軌道を変更させて移動ロボットを回避させるかを決定するための費用/便益分析を実行することを含み得る。
【0030】
様々な実装形態において、移動ロボットの状態は、第1のベクトル埋込みを含んでよく、複数のロボットステージングステーションの状態は、第2のベクトル埋込みを含む。様々な実装形態において、方法は、ステージングミッションアクション空間上の確率分布を生成するために、強化学習方策に基づいて、第1のベクトル埋込みおよび第2のベクトル埋込みを処理することを含んでよく、選択することは、確率分布に基づく。
【0031】
別の態様では、1つまたは複数のプロセッサを使用して実装される方法は、産業施設のロボットステージングエリア内の複数のロボットステージングステーションの状態を決定することであって、複数のロボットステージングステーションは、ロボット生産ミッション開始点ステーションおよびロボット保管ステーションを少なくとも1つずつ含む、決定することと、ステージングエリア内の1つもしくは複数の移動ロボットによって実行可能である、または1つもしくは複数の移動ロボットに割り当て可能である、1つまたは複数の生産ミッションの状態を決定することと、複数のロボットステージングステーションおよび1つまたは複数の生産ミッションの決定された状態を分析するステップと、この分析に基づいて、ロボットステージングエリア内の移動ロボットに移動ロボットをロボット保管ステーションまで走行させるステージングミッションを割り当てるステップとを含む。
【0032】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサ(たとえば、中央演算処理装置(CPU)、グラフィックプロセッシングユニット(GPU)、および/またはテンソルプロセッシングユニット(TPU))を含み、1つまたは複数のプロセッサは、関連付けられているメモリに記憶されている命令を実行するように動作可能であり、命令は、前述の方法のうちのどれかを実行させるように構成される。いくつかの実装形態は、また、前述の方法のうちのどれかを実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読記憶媒体も含む。さらに他の実装形態は、本開示の選択された態様を実行するように構成されているエッジプロセッサを備える、ロボットなどの農業用車両を含む。
【図面の簡単な説明】
【0033】
【
図1】産業施設セッティング100における例示的な移動ロボットを示す図である。
【
図2】産業施設のための運転管理システムのタスクおよびコンポーネントを示す図である。
【
図3】運転管理システム内のロボティクス活動の一般化されたモデルを示す図である。
【
図4】1つまたは複数の実施形態による、運転管理システム内のロボティクスサービスプラットフォームのコンポーネントを示す図である。
【
図5】1つまたは複数の実施形態による、マルチベンダーロボティクスサービスプラットフォームの詳細なアーキテクチャを示す図である。
【
図6】1つまたは複数の実施形態による、マルチベンダーロボティクスサービスプラットフォームおよび関連するコンポーネントの詳細なアーキテクチャをさらに示す図である。
【
図7】1つまたは複数の実施形態による、マルチベンダーロボティクスサービスプラットフォームを含む運転管理システムのサブシステムを示す図である。
【
図8】ロボティクス管理システムおよびロボティクスステージングシステムが連携して生産エリアおよびロボットステージングエリアの両方においてロボットを編成し得る方法の一例を示す図である。
【
図9】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図10】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図11】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図12】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図13】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図14】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図15】本明細書において説明されている様々な実装形態による、様々な移動ロボットがロボットステージングエリア内でどのように動作し得るかを示す一例を概略的に示す図である。
【
図16】ステージングミッションを生成するために、ロボットステージングステーションの特徴および他の特徴とともに、入ってくるロボットの特徴がどのように分析され得るかの一例を示す図である。
【
図17】本開示の選択された態様を実行するための例示的な方法を例示する図である。
【
図18】本開示の選択された態様が実装され得る例示的なコンピュータアーキテクチャを概略的に例示する図である。
【発明を実施するための形態】
【0034】
図1は、産業施設セッティング100の産業施設120内のそのような例示的な移動ロボット110を示している。産業施設120の動作は、1人以上の人間オペレータによって操作される運転管理システムによって制御され得る。
図2は、産業施設120のための運転管理システム200のタスクおよびコンポーネントを示している。
【0035】
産業施設120の運転は、施設の運転、施設内の安全または他の状態の監視、および施設のメンテナンスに関係するタスクおよびコンポーネントを含み得る。運転全体は、たとえば、生産計画204、生産会計206、メンテナンス会計220、およびターンアラウンドメンテナンスと長期メンテナンスの両方の計画222などのタスクを制御し得る企業リソース管理システム202によって管理され得る。
【0036】
産業施設120の運転および保守のためのタスクは、運転所または中央制御室(CCR)234、または産業施設120それ自体の生産エリア内などの現場236で実行されてもよい。
【0037】
運転所/CCR234内で実行される運転関係タスクは、たとえば、生産スケジューリング208、データ照合および生産結果報告210、生産運転管理および報告212、データヒストリアン214、パネル操作216、およびプロセス制御218を含み得る。運転所/CCR234内で実行されるメンテナンス関係タスクは、たとえば、メンテナンスおよび信頼性管理、および結果報告224、年間メンテナンス計画およびスケジューリング226、メンテナンス業務管理および報告228、第三者請負業者管理230を含み得る。
【0038】
現場236で実行される運転関係タスクは、たとえば、人間実行運転タスク238およびロボット実行運転タスク240を含み得る。現場236で実行されるメンテナンス関係タスクは、たとえば、人間実行メンテナンスタスク242およびロボット実行メンテナンスタスク244を含み得る。ロボット実行運転タスク240およびロボット実行メンテナンスタスク244、さらには他のロボット実行タスクは、ロボティクス管理システム232によって管理され得る。1つまたは複数のそのようなロボティクス管理システムの例示的な実施形態は、以下でさらに詳細に説明される。
【0039】
運転管理システム内で活動するロボットは、ロボットおよびその活動のロボット管理、追跡、および分析を含む、システム内のロボットおよびロボット活動の各々に関する追加の情報およびメタデータを必要とすることがある。たとえば、ロボットは、複数のロボットが協力して活動するときまたは複数のロボットの活動が競合する可能性があるときに他のロボットとその活動に関する情報を必要とし得る。
図3は、「Enterprise-Control System Integration」のためのISA-95標準(https://www.isa.org/standards-and-publications/isa-standards/isa-standards-committees/isa95)に基づいて、運転管理システム内のロボット活動の一般化されたモデル300を示している。
【0040】
ロボット実行運転タスク240およびロボット実行メンテナンスタスク244を含む、産業施設120内で機能するロボット110の管理は、ロボット110によって実行される活動、ロボット110および実行されるタスクに関係するデータ、ロボティクス管理システム232によって実行される運転、およびロボティクス管理システム232とロボット110との間の通信に関係し得る。そのような管理は、ロボット活動300のモデルに従って構造化され得る。
【0041】
ロボット110に関係するデータは、たとえば、各ロボット110に対するロボット定義305、各ロボット110に対するロボット能力310、各ロボット110に対するロボットスケジュール315、および各ロボット110に対するロボット性能測定基準320を含み得る。
【0042】
ロボティクス管理システム232によって実行される運転は、たとえば、ロボットリソース管理330、ロボット定義管理350、詳細ロボットスケジュール325、ロボットディスパッチング345、ロボット実行管理360、ロボット追跡335、ロボットデータ収集355、およびロボット性能分析340を含み得る。複数のロボットベンダーによって提供されるロボットを利用するシステムにおいて、これらの運転は、異なるベンダーによって提供されるロボット間の差異を反映し得る。たとえば、各ロボットベンダーは、各ロボットに関係するデータを、そのロボットまたはベンダーに特有の異なるフォーマットで利用可能にし得る。これに対処するために、ロボティクス管理システム232は、人間オペレータに関連し得るデータのサブセットを引き出して解釈することによってデータを標準化し得る。たとえば、異なるベンダーの2台のロボットが各々、妨害物に関係するミッションにおけるエラーを有し得るが、ロボットはプラットフォームに応じてそのエラーを異なる仕方でフォーマットし、提示し得る。ロボット管理システム232は、
図6に関して以下で説明されるロボット固有のアダプタ644などの、アダプタを介して複数のベンダーからのロボットによって提示された異なる情報を正しく解釈し得る。
【0043】
ロボットリソース管理330において、ロボティクス管理システム232は、ロボット能力情報310を更新するかまたは参照し、利用可能なロボットリソースに関する情報を保持し、それらのリソースをロボット割り当てタスクに対して利用可能にし得る。たとえば、ミッションまたはタスクの実行の過程で、ロボットのバッテリの消耗、ロボットに取り付けられた1つまたは複数のツールまたはセンサーの損傷もしくは機能不良、ロボットに取り付けられた1つもしくは複数のツールまたはセンサーの取り外しもしくは交換、またはロボットの能力に対する他の変更など、ロボットの能力は一時的に変化し得る。加えて、ロボットは、障害物、環境条件(たとえば、濡れた状態から護られていないロボットにとっての大雨)、ロボットのキャタピラ、脚、または他の推進手段の損傷、ロボティクス管理システム232または他のプラントシステムとの接続性の喪失、などに起因して、現在の場所から移動することができなくなることがある。加えて、砂漠環境などの極暑の中でロボットが作業すると、ロボットのコンポーネントを過熱させる可能性がある。同様に、極寒の中でロボットが作業すると、関節または他の可動部品の動作に影響を及ぼし得る。そのような極端な温度差は、ロボットのバッテリの寿命を縮める可能性もある。ロボティクス管理システム232は、ロボットの状態を監視し、ロボット能力情報310を保持してそのような変化を反映し、最良の性能を発揮するようにロボットのフリートをどのようにスケジュールするか、または再スケジュールするかについて決定し得る。いくつかの実施形態において、オペレータまたは技術者は、ロボティクス管理システム232のためにロボット能力情報310を更新する役割を有し得る。
【0044】
各ロボットは、また(または代替的に)、ミッション実行前に、ペイロードステータスを含む能力情報をロボティクス管理システム232に報告し得る。ロボティクス管理システム232が、ロボットのペイロード能力がミッションに不十分であると決定した場合、ロボティクス管理システム232は、ミッションに対して異なるロボットを選択し、特定のロボット能力を更新し得る。ロボティクス管理システム232は、更新されたロボット能力と突き合わせて将来スケジュールされるミッションをチェックし得る。ミッションが実行されるべき時点において、他に有能なロボットが利用可能でない場合、ロボットペイロードは、ミッションを実行することを可能にするように変更され、交換され、および/または更新され得る。そのような変更、交換、または更新は、ミッションが、実行されるのを最初に意図されるかまたはスケジュールされていた時間においてロボットの利用可能性に影響を及ぼし得る。ミッションは、ミッションが実行され得る期間、または他の繰り返し発生する状況を指示し得る。そのような場合に、ミッションは、ミッションに適している条件の下で後の時間に実行するように再スケジュールされ得る。再スケジュールを回避するために、ロボティクス管理システム232は、ミッションの開始に先だってロボットステータスを検証してもよい(必要な時間は、施設および人員に依存する)。この検証は、ロボットのカメラ、マイクロホン、センサー、ペイロード、および/または他の能力のチェックも含み得る、事前チェックを必要とし得る。これは、ミュータブルセンサーおよびイミュータブルセンサーを有するロボットを含む、すべてのロボットに対して行われ得る。
【0045】
ロボット定義管理350の間、ロボティクス管理システム232は、ロボット定義情報を保持し、ロボット固有の生産ルール365をロボット110に伝送し得る。たとえば、上で説明されているロボット能力の一時的変更に加えて、特定のロボットは、センサーまたはツールの取り外しもしくは取り付け、またはロボットが施設の異なる限定された部分においてミッションまたはタスクを実行するのに利用可能であるような施設のロボットの別の領域の再配置などの、能力および利用可能性の永久的変更を受ける可能性がある。ロボットへの修正は、ロボットの他の能力を変えることもあり得、たとえば、ロボットの総重量の変更が、バッテリ寿命、移動速度、またはロボットが走行する最大距離の変化を引き起こし得る。そのような変更は、更新されたロボット定義情報に反映され得る。詳細ロボットスケジューリング325の間、ロボティクス管理システム232は、ロボットスケジュール全体に関する情報を決定し、更新し得る。ロボットディスパッチング345の間、ロボティクス管理システム232は、ロボット割り当てタスクを実行するために選択されたロボット110を解放し得る。ロボット実行管理360において、ロボティクス管理システム232は、ロボット110にロボットコマンド370を伝送し、ロボット110から応答375を受信し得る。ロボット追跡335中、ロボティクス管理システム232は、ロボット割り当て活動またはアイドル期間においてロボット配置、ステータス、および性能に関する情報を保持し得る。ロボットデータ収集355時に、ロボット管理システム232はロボット110からロボット固有のデータ380を受信し得る。
【0046】
ロボット性能分析340の際に、ロボティクス管理システム232は、ロボット割り当てタスクが完了したときにロボット性能の分析を実行し得る。この分析は、ロボット割り当てタスクの性能を改善するためにロボット定義305およびロボット能力310に対する情報への更新を含み得る。たとえば、一方の場所から他方の場所へ走行すること、階段または傾斜路を走行することなどの、ミッションもしくはタスク、またはミッションもしくはタスクの一部をロボットが完了するのに要した時間が測定され得る。加えて、ロボットによって収集された測定値およびデータ(たとえば、写真、または他のデータ)の精度は、ロボットが一般的に正確な測定値およびデータを返すかどうかを決定するために監視されてもよい。そのような情報は、将来ロボットに対するミッションもしくはタスクを計画するときに考慮され得るか、またはロボットがメンテナンスを必要としていることを決定するために使用され得る。加えて、ロボットに割り当てられたタスクは、スケジューリング後、実行中、または実行の結果、修正されることがある。ミッションの周りの状況が変化し、そのような修正を必要とする場合がある。たとえば、ドアを開けた結果、温度または空気組成の変化が検出され、ミッションの周りの環境に関する正確でアクション可能なフィードバックを提供するために異なるセンサーが必要になることがある。別の例として、測定された温度が予想よりも低く、手動弁を開くのに、そのタスクに割り当てられた元のロボットによって加えられ得るトルクよりも高いトルクが必要になることがある。
【0047】
上で説明されているように、運転管理システムは、ロボット110およびロボット割り当てタスクを管理するためのロボティクスサービスプラットフォーム(RSP)などのロボティクス管理システムとインタラクティブにやり取りし得る。
図4は、1つまたは複数の実施形態による、運転管理システム内の、または他の何らかの形で運転管理システムと通信する、ロボティクスサービスプラットフォーム(RSP)400のコンポーネントを示している。
【0048】
運転管理システム200内のロボット110の活動は、たとえば、パイプライン検査、圧力容器検査、監督、ファーストレスポンダー、排出物検出、タンク検査、および海底プラットフォーム監視を含む様々な産業運転410に関係し得る。識別された運転410は例示的なものに過ぎず、本開示の原理は、動的環境内でロボットフリートによって実行される専門的サービスに適した任意の施設に関係し得る。動的環境を認識しそれに合わせて調整する人間の能力に頼るそのような役割に人間オペレータを以前に就けたことがあるそのようなサービスは、人間オペレータにとっては、反復的でありおよび/または危険であり得る。そのような動的環境は、ロボティクスサービスプラットフォームが変化する状況に合わせて個別のロボットもしくはロボットフリートの活動を認識し調整すること、またはロボット運転用に設計されていない場合のある環境において、技術的能力および運転能力が異なるロボットのフリートを管理しながら、運転することを必要とし得る。たとえば、適用可能な施設は、化学および医薬品製造、鉱業、食品および飲料生産、水および排水処理などを含み得る。
【0049】
これらの運転をサポートするために、RSP400は、運転管理システム200または産業オートメーション(IA)システムなどの外部制御システム420からコマンドを受信し、たとえば、産業オートメーションシステムとインターフェースするためのモジュール430、データ集約および分析のためのモジュール440、セキュリティおよび安全のためのモジュール460、運転を調整し、データを収集し、ロボットを制御するためのモジュール470、ならびにロボットフリート管理のためのモジュール480を含み得る。これらのモジュールへのアクセスは、統合ヒューマンマシンインターフェースHMI450を用いて人間オペレータに提供され得る。産業オートメーションシステムインターフェース430は、産業プロセスの自動化のためのサービスを、場合によっては外部の産業オートメーション(IA)システムと連携して提供し得る。
【0050】
データ集約および分析モジュール440は、ロボット割り当てタスクからデータを受信し、データの集約および分析をサポートし得る。セキュリティおよび安全モジュール460は、施設運転および個別のロボット110の安全およびセキュリティを確実にし得る。調整-収集-制御モジュール470は、ロボット割り当て活動、調整またはロボット割り当て活動、およびロボット割り当て活動から返されるデータの収集の管理全体を提供し得る。ロボットフリート管理モジュール480は、たとえば、個別のロボット110の現在のステータス、配置、利用可能性、および性能に関する情報を保持すること、複数のロボット110の関係するもしくは潜在的に競合する活動を調整すること、ならびに個別のロボット110の必要なメンテナンスおよび/または撤去を調整することを含む、ロボット110のフリートの管理を提供し得る。
【0051】
大規模または複合産業施設においてロボット活動を管理することは、各々異なる、および潜在的に互換性のない、コマンドおよび制御またはデータ管理および通信プロトコルを有する、複数のベンダーによって提供されるロボットの調整を必要とし得る。したがって、ロボットフリートを産業施設内に統合することは、ロボットの数およびロボット割り当てタスクが増えるにつれて複雑さを増大させ得る。
図5は、1つまたは複数の実施形態による、これらの問題に対処するためのマルチベンダーロボティクスサービスプラットフォーム510の詳細なアーキテクチャ500を示す。
【0052】
マルチベンダーロボティクスサービスプラットフォーム510は、IAシステム統合アプリケーションプログラミングインターフェース(API)515を用いて運転管理(OM)システム200または産業オートメーション(IA)システム505などの外部制御システムとインターフェースし得る。マルチベンダーロボティクスサービスプラットフォーム510は、ロボットフリートを管理するか、制御するか、または他の何らかの形で監督する人間に、エンジニアリングおよび運転ヒューマンマシンインターフェース(HMI)525を用いて、たとえば、施設の運転全体に関係する運転管理、施設のメンテナンスのための活動に関係するメンテナンス管理、物理的施設の一部分の直接的検査に関係する現場検査、および施設内の複数の人間およびロボットの活動を調整することに関係するワークフロー管理などの、エンドユーザアプリケーション530へのアクセスを提供し得る。OM200からの活動の命令は、人間への割り当てについて指示され得る作業指示(WI)であってもよい。そのような命令は、人間読み取り可能フォーマットであってもよい。マルチベンダーロボティクスサービスプラットフォーム510は、WIをロボットコマンドに翻訳し得る。
【0053】
複数のベンダーからの複数のタイプのロボットがある場合、本開示の他の箇所で説明されているように、翻訳はロボットのタイプ毎に異なって実行され得る。活動が、人間によって実行される場合、WIは、交代計画の文脈でオペレータに割り当てられ得る。活動がロボットに割り当てられるべきである場合、ロボティクスサービスプラットフォーム510は、本開示の他の箇所で説明されているように、WIを自律的に翻訳し、1つまたは複数のロボットに割り当て得る。他の実施形態では、アラームが、外部アプリケーションなどからの、ロボットミッションを生成する場合、有能なロボットが利用可能であることを確実にするための対処がなされ得る。たとえば、アラームがクリティカルアラームである場合、ロボティクスサービスプラットフォーム510は、利用可能なロボットも人間もいない場合、現在のミッションを中止し、クリティカルアラームミッションを処理することを決定し得る。代替的に、オペレータは、ロボットを手動で引き継いでアラームに気を配るものとしてよい。外部システムは、タスクの実行に対するリクエストを送信するものとしてよく、ロボティクスサービスプラットフォーム510は、ロボットの利用可能性またはミッション開始情報を返信し得る。人間およびロボットタスクは、各々、地上から指定された高さで作業することができる要件、または特定のツールを使用する能力など、タスクに割り当てられた人間またはロボットに対する能力要件を含み得る。加えて、タスクは、時刻制限などの、施設の運転状態に関係する要件、タスクが実行されている間プラントは運転されていないという要件、または施設の運転を統制する行政機関もしくは他の規制の変更を有し得る。ロボティクスサービスプラットフォーム510は、OMシステム200またはIAシステム505から受信されたリクエストを、実行する関連するロボットに送信され得るロボット互換性タスクであり得るもの、および人間に割り当てるOMシステム200またはIAシステム505に返され得るロボット非互換性タスクであり得るものに分離し得る。
【0054】
ロボットフリート管理モジュール545は、ロボット110とのインタラクティブなやり取りをサポートする様々なロボットプラットフォーム560さらにはセンサー550(たとえば、環境センサー)とインタラクティブにやり取りし得る。ロボットプラットフォーム560は、ロボットオペレーティングシステム(ROS)などのオープンソースのロボットオペレーティングシステム555、さらにはベンダー固有の(オープンソースでない)ロボット565とインタラクティブにやり取りするためのプラットフォームを含み得る。ロボットフリート管理モジュール545は、ロボットプラットフォーム560を介するのではなくむしろ、ROSロボット555および非ROSロボット565と直接的にインタラクティブにやり取りするものとしてもよい。ロボットフリート管理モジュール545とロボット110との間のインタラクティブなやり取りは、たとえば、制御および調整機能540からの情報に基づくミッションおよびタスク完了のためのロボットコマンドを含み得る。ロボットフリート管理モジュール545とロボット110との間のインタラクティブなやり取りは、たとえば、ロボット110およびセンサー550からのデータおよび他の情報の収集をさらに含んでよく、これらは、さらなる処理のためにデータ収集および集約モジュール535に提供され得る。そのような処理は、収集され処理されたデータをデータストア520内に記憶すること、および/または収集され処理されたデータをエンドユーザアプリケーション530に提供することを含み得る。データストア520に記憶されたデータは、IAシステム統合API515を用いて(IA)システム505にさらに提供され得る。調整機能540は、エンドユーザアプリケーション機能をロボットシステム機能に翻訳し得る。たとえば、エンドユーザがゲージの検査を要求した場合、調整機能540は、その要求をゲージの写真を撮るロボットミッションに翻訳し得る。たとえば、調整機能540は、ロボットの現在配置からゲージの配置までナビゲートすること、ゲージを撮像すること、ゲージの画像または画像に基づくゲージの読み取り値の分析のいずれかを返すことなどの詳細なステップを含むロボットミッションを決定し得る。他の要求されたタスクは、他の適切な運転に翻訳される。複数のベンダーからのロボットをサポートするために、ゲージミッションは、ロボットフリート管理モジュール545によって複数のロボットをサポートするように事前構成され得る。たとえば、複数のベンダーからのロボットに対応する詳細な運転は事前決定され、記憶され得る。これは、繰り返しタスクリクエストに基づくロボットミッションが素早くディスパッチされること、または繰り返しベースでスケジュールされることを可能にし得る。調整機能540は、制御室内のオペレータによって実行されるステップ、IAプラットフォームでの自動化されたステップ、現場運転など、他の人間およびロボットオペレータによって実行されている運転でロボットタスクをさらに調整し得る。これらのコンポーネントの各々は、施設の適切な運転を確実にするために厳格な同期で動作する。従来の施設では、この同期の多くは、言葉で行われるものとしてよく、ロボットフリートを適用された施設内では、調整機能540は、ロボットおよび自動化システムをこの同期に統合し得る。いくつかの状況において、常にロボットを完全に制御することは不可能であり得、ロボットは半自動で動作しロボットの特定の能力を使用してタスクを完了することを許され得る。複数のロボットがミッションを割り当てられる場合、調整機能540は、同じエリア内で運転するロボット間の衝突を避けるために適切な時間遅延をいくつかのミッションに割り当てるものとしてよい。
【0055】
複数のベンダーからのロボットを有する施設において、ロボットフリート管理モジュール545によって提供され得るようなロボットフリート管理、制御および調整機能540によって提供され得るようなロボット活動制御、ならびにデータ収集および集約モジュール535によって提供され得るようなデータ分析は、マルチベンダーロボティクスサービスプラットフォーム(RSP)における追加のベンダー固有およびロボットタイプ固有の能力を利用し得る。
図6は、1つまたは複数の実施形態による、マルチベンダーロボティクスサービスプラットフォーム(RSP)の詳細なアーキテクチャ600をさらに示す。
【0056】
ロボットサービスプラットフォーム672は、たとえば、外部システムインターフェース624、ナビゲーション制御およびデータサービス626、フリートマネージャ628、およびロボットインターフェース630などを含み得る。
【0057】
外部システムインターフェース624は、たとえば、プロセス制御サーバ632を含み、これは、人間運転管理者またはオペレータ602の指令の下でプロセス制御クライアント604から完了すべきプロセスおよびタスクの情報を受信し得る。たとえば、受信されたミッションおよびタスクは、施設検査、データ収集、施設制御(たとえば、制御設定を変更する)など、施設の運転全体に関係する人間またはロボットによって実行されるべき活動を含み得る。外部システムインターフェース624は、たとえば、人間オペレータまたは分析者608に表示するためにウェブクライアント606にデータレポートを提供し得る第1のウェブサーバ634をさらに含み得る。外部システムインターフェース624は、たとえば、ヒストリアンデータストア612にデータフィードを提供し得る第2のウェブサーバ636をさらに含み得る。
【0058】
ヒストリアンデータストア612は、レポートジェネレータ610にデータを提供するものとしてよく、これは、人間オペレータまたは分析者608に追加のレポートを提供してもよい。ヒストリアンデータストア612は、さらに、ロボットサービスプラットフォーム672内のデータベース620に記憶するためにアーカイブモジュール618にデータをさらに提供し得る。データベース620は、さらなる分析のために、機械学習(ML)および人工知能(AI)モジュール614にデータを提供し得る。MLおよびAIモジュール614からの分析結果は、データベース620に記憶され得る。データベース620は、レポートジェネレータ610によるアクセスのためにヒストリアンデータストア612にデータをさらに提供し得る。レポートジェネレータ610、ヒストリアンデータストア612、ならびにMLおよびAIモジュール614は、クラウドベースであるか、または他の何らかの形でロボットサービスプラットフォーム672とは別に動作し得る。
【0059】
ナビゲーション制御およびデータサービス626は、たとえば、ロボット110A、110B、および110Cに対するプラットフォーム独立のコマンド、制御、およびデータサービスを提供し得るロボット固有のアダプタ644を含み得る。ロボット固有のアダプタ644は、たとえば、写真、ビデオ、環境データ、センサー読み取り値などの、ロボット110によって収集されたデータを伝達するためのアダプタ、たとえば、ロボットの動きおよび配置、ロボットの健康状態およびステータス、ロボットの能力などの、ロボット110に関するデータを伝達するためのアダプタ、および、たとえば、マルチステップミッション命令、個別運転命令(たとえば、目的地までナビゲートする、ビデオ録画する、音声記録する、環境測定をする、物質の温度測定をする、空気の温度測定をする、湿度測定をする、計測器読み取り値を決定する、ガスもしくは化学物質の存在もしくは濃度を測定する、特定の波長、強度、および/もしくは発光パターンの光を放射する、特定のピッチ、強度、および/もしくは放射パターンの音を放射する、無線周波数ホーミングビーコンを放射する、無線周波数またはワイヤレスデータネットワークを介して記憶データを伝送する、電源に接続する、無線周波数またはワイヤレスデータネットワークに接続する、データネットワークポートに接続する、弁、羽根、ローカル制御ポンプ、または駆動装置の位置を調整することなどによって、弁または他の制御装置の設定を修正する、手動製品サンプルを採取する、ボタンを押す、スイッチ位置を変更する、物体を移動する、すべての運転を停止する、ホームに戻る、特定のセンサーを活性化する、など)、などのコマンドおよび制御情報をロボット110へおよびロボット110から伝達するためのアダプタを含み得る。ロボット固有のアダプタ644は、たとえば、タスクまたはミッションステータスおよび完了に関する情報、非データタスク完了情報(たとえば、ミッション完了または放棄など)を含む情報をロボット110から受信し得る。
【0060】
コマンド/制御およびデータ情報は、一般的に、1つまたは複数の共通内部フォーマットでRSP672内に保持され得る。これは、RSP672の内部動作、および運転管理システム(OM)の他のコンポーネントなどとRSP672の外部で共有されるインターフェースおよび情報が、どのロボットまたはロボットタイプが施設内でアクティブであるかということから独立することを可能にし得る。したがって、施設内でロボットの多様なフリートを利用する際の複雑さが軽減され得る。このために、各アダプタは、RSP672から1つまたは複数の共通内部フォーマットで情報を取り込み、その情報を、通信先の特定のロボットに適した特定の情報に変換し、次いで、変換された情報を特定のロボットに伝送し得る。たとえば、ロボットタスクまたはミッションの定義は、共通内部フォーマットから、割り当てられたロボットに対して予想されるコマンドプロトコルに適合するフォーマットに変換され得る。逆に、ロボットから伝送されたデータは、ロボット固有のフォーマットでアダプタによって受信され、アダプタによって、RSP672および
図7において説明されている運転管理システム(OM)700などの、運転管理システム(OM)の他のコンポーネントによって使用される共通内部フォーマットに変換され得る。ロボットタスクまたはミッションの定義のための共通の内部フォーマットは、施設内でキャプチャされるべき測定値またはデータのリストを含み得る。アダプタ644は、このリストをロボット固有の命令に変換するものとしてよく、これは、たとえば、データキャプチャ配置まで物理的に走行する指令、およびどの機器を使用すべきかを含み得る。ベンダー固有のロボットデータは、また、オペレータに表示するための一般化されたまたは有用な情報を検出するためにアダプタ644によって解析され得る。たとえば、バッテリ寿命のようなデータは、解析され標準化され得る異なる方法(パーセンテージ/残り電圧/残り時間)で表示され得る。
【0061】
いくつかのそのようなアダプタ644は、ロボットタイプまたはベンダーに応じて特定のロボットと通信するように狭く適合され、他のアダプタは、複数のロボットタイプと互換性のあるものとしてよい。アダプタ644は、同じタイプの複数のロボットと互換性がある、フリート固有のアダプタと考えられ、運転を同時にまたは連携して行わせ得る。アダプタ644は、共通内部データフォーマット、ならびに特定のベンダーおよびロボットに対するデータおよびコマンドプロトコルに関する情報に基づいて手動でコード化され得る。代替的に、そのようなアダプタは、アルゴリズムプロセスまたは人工知能プロセスに基づいて自動的に生成され得る。アダプタは、複数のロボットタイプにわたって同等レベルの基本制御を提供するように構成され得る。これは、たとえば、特定ポイントへの移動、データキャプチャ、およびロボットメトリック報告の能力を含み得る。アダプタは、各ロボットタイプに対するロボットベンダー固有のソフトウェア制限に応じて追加された機能性をさらに含み得る。たとえば、ロボットがメトリックデータをログに記録することができない場合、アダプタは、ロボットのメトリックデータをログに記録し、プラットフォームの他のコンポーネントの標準アダプタレベルとの互換性を維持し得る。
【0062】
異なるロボットタイプからの共通の特徴は、地図データ、3Dモデル上のシミュレーションデータなどの共通内部データフォーマットに抽象化され得る。OMシステム700またはIAシステム505は、作業指示(WI)チェックリストを割り当ててもよく、これは、様々な識別子に対応する情報を記録するための命令からなる、スプレッドシートなどの、人間可読形式であってもよい。RSP672は、WIチェックリストを、ロボットによる実行のために、GPS座標、現場固有の視覚的、電子的、または磁気的識別子などの絶対もしくは相対位置および向き情報などの詳細情報に変換し得る。ロボットによって記録された非構造化データ型、たとえば画像、音声、または動画などのメディア形式は、データ処理アプリケーションを使用してRSP672によってOMシステム700またはIAシステム505における記憶および処理に対して互換性のあるテキストまたは数値データなどの構造化データ型にさらに処理され得る。
【0063】
ナビゲーション制御およびデータサービス626は、たとえば、プロセス制御サーバ632から完了されるべきミッションおよびタスクに対する情報を受信するフリート管理モジュール638をさらに含み得る。フリート管理モジュール638は、ロボット110A、110B、および110Cのうちのどれが各タスクまたはミッションを実行するべきかを決定し、ロボットタスクおよびミッションに関する詳細情報をロボット固有のアダプタ644に提供し得る。フリート管理モジュール638は、また、ミッションおよびタスクの進捗状況または完了に関する情報をプロセス制御サーバ632に提供し得る。ナビゲーション制御およびデータサービス626は、たとえば、データ管理モジュール640をさらに含み、これは、ロボット固有のアダプタ644によってロボット110A、110B、および110Cからデータを受信し得る。データ管理モジュール640は、機械学習(ML)および人工知能(AI)モジュール642をさらに含んでもよく、ロボット110A、110B、および110Cから受信したデータをさらに分析し得る。
【0064】
外部システムインターフェース624およびナビゲーション制御およびデータサービス626は、ロボット110A、110B、および110Cにディスパッチされ、実行されたタスク、ロボット110A、110B、および110Cによって返されたタスク結果に関する情報、ならびにロボット110A、110B、および110Cの管理、およびロボット110A、110B、および110Cによって実行されたミッションに関係する他の情報を、データベース620に提供し得る。たとえば、ロボットタスクとタスク結果の記録は、データベース620内のログ622に記憶され得る。
【0065】
フリートマネージャ628は、他にもあるがとりわけ、ロボット110A、110B、および110Cへのミッションおよびタスクをスケジュールしディスパッチすること、ロボット110A、110B、および110Cおよびそれらのコンポーネントの健康状態およびメンテナンス状態を監視すること、ならびにロボット110A、110B、および110Cのメンテナンスをスケジュールすることに関して、ロボット110A、110B、および110Cのフリートを管理し得る。フリートマネージャ628は、ロボット110A、110B、および110Cのうちの1つまたは複数のベンダーに固有のロボット110A、110B、および110Cの管理を提供し得るベンダー固有のフリート管理モジュール646を備え得る。別個のベンダー固有のフリート管理モジュール646は、ベンダー固有のインターフェース648および650などのベンダー固有のインターフェース毎に提供され得る。フリートマネージャ628は、ミッション要件およびロボット能力に基づいてロボット110にミッションおよびタスクを割り当てるものとしてよい。
【0066】
たとえば、ミッションが、タイプAのロボットタイプによってのみサポートされ得ると決定した場合、フリートマネージャ628は、ミッションをタイプAのロボット110A、110B、および110Cのうちからただ1つのロボットに割り当て得る。たとえば、特定のタイプのロボットでしか横断できない、階段などの障害物を横断することを必要とするミッションがあり得る。タイプAまたはBのロボットに割り当てることができる別のミッションに対しては、フリートマネージャ628は、各ロボット110Aおよび110Cの利用可能性に基づいて、タイプAまたはBのロボット110Bおよび110Cのうちの1つのロボットにミッションを割り当て得る。各ロボット110A、110B、および110Cの利用可能性は、たとえば、通信状態、バッテリ寿命などの測定基準を使用してフリートマネージャ628によって決定され得る。いくつかの実施形態において、運転管理システム200は、特定のロボットまたはロボットの特定のグループのうちの1つのロボットによって実行されるべきミッションまたはタスクを指定し得る。ロボットのグループが指定された場合、フリートマネージャ628は、ロボットの指定されたグループのうちから選択された1つのロボットにミッションを割り当て得る。加えて、ロボットタイプまたは特定のベンダーからのロボットのいくつかの属性は、知られている信頼性を有し、フリートマネージャ628は、この知られている信頼性に基づいてロボットの直接的監視を多かれ少なかれ適用し得る。
【0067】
ロボットインターフェース630は、たとえば、第1のベンダー固有のロボットインターフェース648、第2のベンダー固有のロボットインターフェース650、およびフリートサーバ660を含み得る。第1のベンダー固有のロボットインターフェース648および第2のベンダー固有のロボットインターフェース650の各々は、そのロボットのベンダーに固有のロボットへのインターフェースを提供し得る。たとえば、第1のベンダー固有のロボットインターフェース648は、ロボットオペレーティングシステム(ROS)インターフェースを用いてロボット110Aとインタラクティブにやり取りし得るが、第2のベンダー固有のロボットインターフェース650は、独自仕様のリモートプロシージャコール(RPC)インターフェースを用いてロボット110Bとインタラクティブにやり取りし得る。ロボットインターフェース630によって提供されるベンダー固有のロボットインターフェースの数およびタイプは限定されず、ロボットサービスプラットフォーム672によって管理されるロボットのフリート内のロボットの数およびタイプに依存し得る。これらのロボットにアクセスするために、従来は、ベンダー固有のインターフェースが必要とされる。すなわち、各ベンダーからのロボットは、典型的には、独自仕様のソフトウェアを有し、各ベンダーのアプリケーションプログラミングインターフェース(API)を使用してゲート制御される。たとえば、ベンダーがgRPCコールを使用してそのベンダー独自のAPIにアクセスし、そのベンダーからのロボットを制御する場合、ロボットと通信する、またはロボットを制御するための代替的手段が他にないことがある。
【0068】
フリートサーバ660は、フリートクライアント664によって、ロボット110Cなどのロボットの調整されたフリートとインタラクティブにやり取りし得る。ロボットインターフェース630は、リアルタイム通信モジュール662とさらにインタラクティブにやり取りして、たとえば、プロセス制御サーバ632またはプロセス制御クライアント604、またはRSP672の他のコンポーネントなどを通して、ロボット110A、110B、および110C、人間運転管理者またはオペレータ602に追加の通信ストリームを提供し得る。リアルタイム通信のために、ロボットインターフェース630は、データをストリーミングするための複数のタイプのプロトコルをサポートし得る。たとえば、WebRTCは、そのような通信に利用され得る高品質ビデオ/サウンドストリーミングのためのストリーミングプロトコルである。そのようなストリーミングは、たとえば、オペレータに表示されるべきデータを受信すること、さらにはたとえば、異常検出などの機能をサポートするために人工知能(AI)または機械学習(ML)を使用してデータのリアルタイム処理を実行することを含み得る。リアルタイム通信は、異なるタスクを実行するためのフリート管理には重要ものであり得る。短時間の間通信が途絶えても短時間であれば稼動する能力を有するロボットもあれば、そうでないものもある。フリートサーバ660は、ロボットの能力に基づいて各ロボットと頻繁に通信し、ミッション遂行中のロボットを追跡する必要があり得る。
【0069】
ベンダー固有のフリートマネージャモジュール646およびフリートサーバ660は、クラウドベースであり得るか、または他の何らかの形でフリートマネージャ628およびロボットインターフェース630とは別に動作し得る。
【0070】
ロボット110A、110B、および110Cは、異なるベンダーによって提供され、複数のタイプであってもよく、利用可能な異なる計測器、ツール、およびセンサーをさらに有していてもよい。各ロボットは、場合によってはRSP672のロボット管理およびフリート管理モジュールと連動して、バッテリまたは燃料レベル、ロボット能力情報310、配置、機能不良、および保守要件などを含む、ロボット110の健康およびステータスに関する情報を保持し得る。
【0071】
ロボット110A、110B、および110Cの例は、完全自律型であるか、特定のタスク、運動、ルート、または活動について事前プログラムされているか、または直接的な人間制御下にあるロボットを含み得る。ロボット110A、110B、および110Cは、固定型であっても移動型であってもよく、移動ロボットは、車輪付き型、キャタピラ型、二足歩行型、四足歩行型、多足歩行型、または他の推進手段を備え得る。ロボット110A、110B、および110Cは、多関節アーム、グリップ、爪、レンチ、ドライバ、ハンマー、バール、カメラ、マイクロホン、化学物質検出器、ノイズセンサー、振動センサーなどの、ミッションおよびタスクを完了するためのツール、センサー、または他のハードウェアを備え得る。ロボット110A、110B、および110Cは、写真、ビデオ、音声、環境読み取り値、土壌、化学物質などの環境試料などのためのデジタルおよび物理的記憶装置を備え得る。ロボット110A、110B、および110Cは、アナログ(無線およびビデオ伝送など)およびデジタル(Wi-Fi、Bluetooth、他の近距離通信など)を含む、様々な通信能力を備え得る。
【0072】
RSP672などのようなロボティクスサービスプラットフォームは、運転管理システムの他のサブシステムとインタラクティブにやり取りし、依存し得る。
図7は、1つまたは複数の実施形態による、運転管理システム700の一部として動作するか、またはそれとは別に動作するか、または他の何らかの形で連携して動作し得る、運転管理システム700のサブシステムさらにはマルチベンダーRSPを示している。
【0073】
運転管理システム700は、産業施設の運転および管理をサポートするための複数のサブシステムを備え得る。そのようなサブシステムは、たとえば、運転支援システム702、巡回管理システム704、タスク管理システム706、プロセス制御システム710、およびロボティクス管理システムまたはロボット支援プラットフォーム(RSP)672を含み得る。
【0074】
プロセス制御システム710は、施設全体にわたって分散されるか、または施設外に配置され得る制御サブシステムを通じて施設の運転制御および監視を提供し得る。プロセス制御システム710は、たとえば、連携情報サーバ722を備え、これはプロセス制御システム710と運転管理システム700の他のサブシステムとの間の情報共有をサポートし得る。プロセス制御システム710は、また、施設内のプロセスを制御し、現場計測器を介してそれらのプロセスデータからデータを収集し得る、現場制御システム728と、施設内のプロセスの安全状態を監視し、逸脱が生じた場合にプロセスが安全状態に戻ることを確実にし得る、安全制御システム730とを含み得る。プロセス制御システム710は、運転支援システム702、巡回管理システム704、タスク管理システム706、およびロボティクス管理システムまたはRSP672と協調し得る。
【0075】
運転支援システム702は、施設の全体的な運転を支援するサービスを提供し得る。運転支援システム702は、たとえば、運転支援システム702と運転管理システム700の他のサブシステムとの間の情報共有を支援し得る、連携情報サーバ722と、産業施設を運転するための手順およびプロセスに関する情報を記憶し、管理し得る、手順情報管理モジュール714と、手順およびプロセスの実行を管理し得る、手順実行管理モジュール716とを含み得る。
【0076】
巡回管理システム704は、運転、安全、およびセキュリティに関する施設の定期的な巡回および監視に関係するサービスを提供し得る。巡回管理システム704は、たとえば、連携情報サーバ722を備え、これは巡回管理システム704と運転管理システム700の他のサブシステムとの間の情報共有をサポートし得る。巡回管理システム704は、また、すべての運転、安全、およびセキュリティプロトコルが十分にカバーされていることを確実にするためにチェックリストを管理し得る、チェックリスト管理モジュール718と、チェックリスト管理モジュール718によって決定され得るような、チェックリスト要件を満たすためのタスクの実行を管理し得る、チェックリスト実行管理モジュール724と、チェックリストタスクの完了をスケジュールし得る、スケジュール管理モジュール720とを備え得る。チェックリストおよび関連付けられているチェックリストタスクは、人間またはロボットアセットのいずれかに割り当てられ得る。
【0077】
タスク管理システム706は、施設内のタスクの作成、割り当て、および監視を提供し得る。タスクは、人間割り当てまたはロボット割り当てであり得る。タスク管理システム706は、たとえば、連携情報サーバ722を備え、これは運転タスク管理システム706と運転管理システム700の他のサブシステムとの間の情報共有をサポートし得る。タスク管理システム706は、また、入ってくる情報によってトリガーされる新しいタスクを生成し得る、トリガー管理モジュール725と、タスクの割り当ておよび実行を制御し得る、タスク実行管理モジュール726とを備え得る。
【0078】
RSP672は、複数のベンダーによって提供される様々なタイプのロボットのフリートの管理および運転を提供し得る。RSP672は、たとえば、連携情報サーバ722を備え、これはRSP672と運転管理システム700の他のサブシステムとの間の情報共有をサポートし得る。RSP672は、また、ロボットフリート管理モジュール628と、ロボットデータ管理モジュール640と、ロボット固有のアダプタ644などのロボット共通インターフェースモジュールと、データベース620と、データ管理モジュール640などのロボットデータ分析モジュールと、機械学習(ML)および人工知能(AI)モジュール642とを含んでよく、これらはすべて
図6に関して上で説明されている。RSP672は、たとえば、タイプAのロボット110Aとインタラクティブにやり取りするロボットAインターフェース742、タイプBのロボット110Bとインタラクティブにやり取りするロボットBインターフェース744、およびタイプCのロボット110Cとインタラクティブにやり取りするロボットCインターフェース746などの、異なるタイプのロボットに固有のロボットインターフェースモジュールをさらに含み得る。ロボットインターフェースは、ロボットBインターフェース744およびロボットCインターフェース746について示されているような、ロボット110と直接的に接続し得るか、またはロボットAインターフェース742をロボット110Aに接続するロボット制御748などの外部ロボットコントローラを通してロボット110に接続し得る。そのような外部ロボットコントローラは、クラウドベースのサーバであり得るか、または様々なタイプのコンピュータネットワークによって接続され得る。
【0079】
前述のように、運転を実行するためにロボットのフリートを管理することは、課題の一部に過ぎない。別の課題は、最小限度の途絶およびリソースの消費の下で、ロボットが生産ミッションを実行するために使える状態にあるように可能な限り効果的に効率的にロボットのフリートを維持することである。したがって、本明細書では、移動ロボットが現場236で生産ミッションを実行していない間に、たとえば、移動ロボットが管理され、整備され、充電され、および/または保管され得るロボットステージングエリア(または「ロボットヤード」)内に配置されている間に、移動ロボットのフリートを管理するための様々な技術が説明される。
【0080】
図8は、ロボティクスステージングシステム233がロボットステージングエリア105内で移動ロボットを編成することができるように、ロボティクス管理システム232(これはまた、たとえば400、672などで示されるように、本明細書の他の箇所で言及されているロボットサービスプラットフォームと特徴を共有し得る)が移動ロボットの制御をロボティクスステージングシステム233に引き渡し得る方法の一例を概略で示している。図には単一のロボットステージングエリア105が描かれているが、これは限定することを意図されておらず、各々1つまたは複数のロボットステージングステーションを有する任意の数の異なるステージングエリアがあり得る。様々な実装形態において、ロボティクスステージングシステム233は、クラウドインフラストラクチャの1つもしくは複数のサーバ、または産業施設にローカルにある1つもしくは複数のサーバなどにより、1つもしくは複数のコンピューティングシステムを使用して実装され得る。
【0081】
図2を参照して前に説明されているように、ロボティクス管理システム232は、生産エリア/生産現場236内で運転所/CCR234(
図8には描かれていない、
図2参照)によって管理されるタスクを実行するロボットを管理し得る。生産エリア/生産現場236は、限定はしないが、石油化学製品精製、化学処理、食品および飲料、消費者パッケージ商品、医薬品およびバイオ医薬品などを含み得る、様々な産業プロセスを実行するために産業施設の運転コンポーネントが配備され、運転される場所である。対照的に、ロボットステージングエリア105は、ロボットのステージングに使用するように指定された産業施設120の1つまたは複数のエリア(たとえば、部屋、スペース、セクションなど)を含む。
【0082】
ロボティクス管理システム232からロボティクスステージングシステム233へのハンドオーバーの一部として、ロボティクス管理システム232は、ロボティクスステージングシステム233に様々な異なる情報を提供し得る。この情報は、限定はしないが、現場236(たとえば、産業施設の生産エリア)内で現場運転240および/または現場メンテナンス242などのタスクを実行した後にロボットステージングエリア105に戻ったロボットの状態、ロボットに割り当てられたタスクのステータス、完了したタスクの品質(たとえば、完了したタスクが、速度、効率、品質、再試行回数などの、予期される運転性能測定基準の範囲内で実行されたかどうか)、利用可能なときにロボットによって実行されるべきタスク、実行されるべきタスクのスケジュール、ロボットが運転状態にある環境の特性(たとえば、温度、湿度、またはほこり、汚れ、泥、砂、氷、および同様のものの存在)などを含み得る。
【0083】
ロボットの状態は、たとえば、ロボティクス管理システム232および/またはロボティクスステージングシステム233によって決定されるものとしてよく、ロボット健康データ(ロボットがメンテナンス/修理を必要とするかどうかを示し得る)、バッテリレベル、配置、ロボット定義305、ロボット能力310、ロボットスケジュール315、ロボット性能320、移動体が実行する資格がある、際立った/利用可能なミッションなどのデータを含み得る。ロボティクスステージングシステム233は、この情報を使用して、移動ロボットが後続のミッションを直ちに実行する状態になるように準備するために実行する必要があるアクションを特定し得る。より一般的に、ロボティクスステージングシステム233は、この情報を使用して、ロボットステージングエリア105に進入する、すでにロボットステージングエリア内にいる、またはロボットステージングエリア105から直ちに出発できる状態にあるロボットのアクションを編成し得る。たとえば、ロボティクスステージングシステム233は、ロボットが生産エリア236内でミッション/タスクを実行する生産モードから、ロボットステージングエリア105内でステージングミッションを実行するステージングモードに移行するロボットのアクションを編成し得る。
【0084】
様々なロボットステージングタスクは、たとえば、ロボットステージングエリア105内で、ロボティクスステージングシステム233、ロボットそれ自体、および/または人員によって実行されてもよい。
図8において、たとえば、これらのタスクは、ロボットメンテナンス/修理241、ロボット充電243、ペイロード変更(ツーリングおよびリツーリングを含む)245、およびロボット保管247を含む。以降の図を参照してより詳細に説明されるように、ロボットステージングエリア103は、複数のロボットステージングステーションに分割され、および/または複数のロボットステージングステーションを含んでよく、各ステーションは
図8に示されているロボットステージングタスク241、243、245、247のうちの1つまたは複数に使用可能である。
【0085】
ロボットメンテナンス/修理タスク241は、ロボットを現場236内で様々な運転タスク240、244を実行することができるように運転状態に保つことに関わる任意のタスクを含み得る。これらは、たとえば、様々なジョイント/ギア/アクチュエータへのオイルなどの潤滑剤を塗布すること、ロボットツールを保守すること(たとえば、ブレードを研ぐ)、損傷したロボット部品を交換することなどを含み得る。ロボット充電タスク243は、ロボットを充電ロボットステージングステーションに配備されている充電器と係合させることなど、ロボットのバッテリを充電することに関わるタスクを含む。これらの充電器は、有線および/またはワイヤレス充電器であってよい。
【0086】
ペイロード変更タスク245は、ロボットメンテナンス/修理タスク241に類似しているものとしてよいが、ペイロード変更タスクは、修理または定期的なミッション独立メンテナンスとは反対に、新しいタスクの実行に合わせてロボットを構成するかまたは再構成することに関係し得る。たとえば、ロボットは、様々なツールおよび/またはセンサーを含むモジュール式ペイロードを有するように構成され得る。これらのペイロードをロボットに取り付けることは、それらのロボットが以前には実行することができなかった、または実行するのに少なくともあまり適していなかった運転タスク240、242を実行することを可能にし得る。ロボット保管タスク247は、ロボットを、ロボットが他のロボットおよび/または充電ステーションもしくはメンテナンス/修理ステーションなどの、他のタイプのロボットステージングステーションの邪魔にならない短期および/または長期の保管場所に再配置するためのタスクを含む。
【0087】
図9は、生産エリア236(以前に「現場」とも称されている)とロボットステージングエリア105とを含む例示的な産業施設を示している。
図9に示されているものを含むいくつかの実装形態において、ロボットステージングエリア105は、生産エリア236とは隔たっているかまたは異なり、生産エリア236は、1つまたは複数の移行エリア101を介してロボットステージングエリア105からアクセス可能である。
図9において、たとえば、移行エリア101は、ロボットが生産エリア236とロボットステージングエリア105との間を通過することを可能にする壁または障壁の開口部の形態をとる。ロボットステージングエリア105が生産エリア236から物理的に分離されている必要はない。しかしながら、いくつかの実装形態では、ロボットステージングエリア105は生産エリア236から分離していてもよいが、それは、ロボットが生産ミッションを実行する他の移動ロボットを潜在的に妨害するかまたは衝突する可能性のあるエリア内でロボットを保管するか、充電するか、保守するか、またはリツーリングすることはロボットおよび/または産業施設の運転にとって有害であり得るからである。
【0088】
ロボットステージングエリア105は複数のロボットステージングステーション111A~Hを含み、これらは様々な形態をとり得る。たとえば、ロボットステージングステーション111C~Eは、充電器109A~Cを含む充電ステーションの形態をとる。ロボットステージングステーション111Hは、ロボットを修理し、メンテナンスし、および/または再構成するための様々な機器117(ツール、交換部品、モジュール式ペイロードなど)を含むメンテナンスおよび/またはペイロード変更ステーションの形態をとる。ロボットステージングステーション111Gおよび111Fは、ロボット保管ステーションの形態をとり、そこに、移動ロボットは、必要とされない間、様々な時間間隔にわたって保管され得る。
図9には様々なタイプのロボットステージングステーションが別々に描かれているが、これは限定することを意図されていない。ロボットステージングステーションは複数の目的を果たすことができる。たとえば、ロボットステージングステーション111C~Eのいずれかは、充電ステーションであることに加えて、保管ステーション、特に、ロボットステージングステーション111Eとしても働き、これはロボットステージングエリア105の後の近くにあり、したがって、他の移動ロボットの邪魔にならない。
【0089】
複数の移動ロボット110A~Fが
図9に描かれている。第1の移動ロボット110AはUAVの形態をとる。そのような移動ロボット110Aは、視覚センサー(たとえば、RGB、赤外線、立体視)および他のタイプのセンサーを含む様々なタイプのセンサーを備えるものとしてよく、これは、移動ロボット110Aが素早く、目立つことなく(空中にあることにより)生産エリア236の様々な態様を検査することを可能にする。
【0090】
第2の移動ロボット110Bは、生産エリア236内に配備されているアクチュエータおよび/またはセンサーなどの機器を調整すること、交換すること、および/または修理することなどの、様々なタスクを実行するように運転され得るオンボードロボットアームを有する車輪付きロボットの形態をとる。第2の移動ロボット110Bは、
図9のメンテナンスロボットステージングステーション111Hに現在置かれており、そこで、たとえば、特定のタスクを実行するように修理され、および/または再構成される。
【0091】
第3の移動ロボット110C、第4の移動ロボット110D、および第5の移動ロボット110Eは、多足歩行型ロボット--この例では四足歩行型ロボットの形態をとる。第3の移動ロボット110Cは、現在(すなわち
図9において)保管ロボットステージングステーション111Gにいる。第4の移動ロボット110Dおよび第5の移動ロボット110Eは、それぞれ、現在、充電ロボットステージングステーション111Cおよび111Dにいる。
【0092】
これらの移動ロボット110C~Eの各々、さらには本明細書において説明されている他のタイプの移動ロボットは、たとえば、異なるタイプのセンサーパッケージ、アクチュエータなどを含むモジュール式ペイロード(一般に115で参照される)を受け取ることができるものとしてよい。たとえば、第3の移動ロボット110Cは、ロボットアーム115Aを装備する。第4の移動ロボット110Dは、第4の移動ロボット110Dと他の何らかの形でネイティブに統合されているわけではないセンサーを含み得るアドバンストセンサーパッケージ115Bを装備する。第5の移動ロボット110Eは、ペイロードを装備していないが、後続の図に示されるように、ペイロードを装備するためにメンテナンスロボットステージングステーション111Hへ移動され得る。第6の移動ロボット110Fは、視覚センサーを備える車輪付きロボットの形態をとるが、今のところ、アクチュエータまたはペイロードを備えていない。第6の移動ロボット110Fは、現在、充電ロボットステージングステーション111Eで充電中である。
【0093】
移動ロボット110A~Fは、移動ロボットの修理、充電、メンテナンス、保管、および/または格納を円滑にするため、さらには移動ロボット110A~Fの効率的な位置決めを達成して衝突の可能性を最小にし、および/または生産ミッションをそれらが発生したときに実行する負担が各移動ロボット110にかからないことを確実にするように、様々な仕方でロボットステージングエリア105内を動き回ってよい。たとえば、移動ロボット110A~Fは、使用されていない間、保管ロボットステージングステーション111G~Fおよび/または他のロボットステージングステーションに再位置決めされるものとしてよく、したがってより忙しいロボットがタスクを実行することができる。
【0094】
いくつかの実装形態において、移動ロボット110A~Fは、全地球測位システム(GPS)センサー、ワイヤレス三角測量、慣性測定ユニット(IMU)、または他のタイプの定位を使用することなど、様々な技術を使用して、自分自身を定位するように構成され得る。たとえば、ロボット110A~Fは、様々なロボットステージングステーション111A~Hの配置を含む、生産エリア236および/またはステージングエリア105の地図を用いて構成され得る。しかしながら、これらの定位技術のいくつかは、産業プラントではそれほど効果的でないことがある。工業プラントの中には屋内エリアを含むものもあり、そのような場所ではGPSはそれほど効果的でない場合がある。さらに、GPSは、一般に、移動ロボット110A-Fが正確な配置に位置決めされるのを可能にするのに必要な精度を有しない場合がある。
【0095】
移動ロボット110A~Fをロボットステージングエリア105内の適切なロボットステージングステーションに再配置することを円滑にするために、いくつかの実装形態では、各ロボットステージングステーション111は、フィデューシャル出力をレンダリングする出力デバイス113を装備し得る。移動ロボット110A~Fは、次いで、このレンダリングされたフィデューシャル出力を検出するように構成されたセンサーを装備し得る。したがって、出力デバイス113A~Hは、移動ロボット110A~Fを所望のロボットステージングステーション111に効果的に呼び出すために操作され得る。たとえば、ロボティクスステージングシステム233は、最初に、選択されたロボットステージングステーション111の出力デバイス113に、フィデューシャル出力をレンダリングさせ得る。次いで、ロボティクスステージングシステムは、移動ロボット110にステージングミッションを割り当て得る。ステージングミッションは、移動ロボットに、ロボットステージングエリア105内の複数のロボットステージングステーション111A~Hをスキャンして、レンダリングされたフィデューシャル出力を検出させ、レンダリングされたフィデューシャル出力が検出されたロボットステージングステーション111まで移動させ得る。
【0096】
出力デバイス113A~Hは、様々な形態をとり得る。
図8~
図14において、出力デバイス113A~Hは、フィデューシャル出力を含む、視覚的出力をレンダリングするように操作され得る表示デバイスの形態をとる。他の実装形態では、他のタイプの出力デバイスが配備されてもよい。たとえば、ロボットステージングステーション111A~Hは、移動ロボット110A~Fの圧力波センサー(たとえば、マイクロホン)によって検出される可聴または不可聴ビーコンを発するためのスピーカーを装備してもよい。他の実装形態では、出力デバイス113A~Hは、移動ロボット110A~Fによって検出された赤外線ビーコンなどの他の形態をとり得る。そのような赤外線ビーコンは、どの移動ロボット110がどのロボットステージングステーション111まで走行することになっているかを識別するために様々な方法で変調され得る。
【0097】
出力デバイス113A~Hが表示デバイスの形態をとるいくつかの実装形態では、各出力デバイス113は、そのロボットステージングステーションを占有することになっている特定の移動ロボット110を識別する視覚的フィデューシャルマーカーをレンダリングし得る。これらの視覚的フィデューシャルマーカーは、クイックレビュー(QR)コード、他のタイプのバーコード、磁気インク文字認識(MICR)テキストなどのコンピュータ可読テキスト、コンピューティングデバイス(たとえば、移動ロボット110A~F)によって読み取り可能な他のタイプのテキストなど、様々な形態をとり得る。
【0098】
いくつかの実装形態において、各移動ロボット110は、固有のフィデューシャルマーカー(フリート内で固有、またはグローバルに固有)を割り当てられ得る。その移動ロボット110を所望のロボットステージングステーション111まで走行させるために、ロボティクスステージングシステムは、単純に、所望のロボットステージングステーション111に配置されている出力デバイス113が移動ロボット110に割り当てられた固有のフィデューシャルマーカーを発行することを引き起こすだけでよい。移動ロボット110は、次いで、レンダリングされたフィデューシャルマーカーについてロボットステージングエリア105をスキャンし、レンダリングされたフィデューシャルマーカーが検出されたロボットステージングステーション111まで走行し得る。他の実装形態では、フィデューシャルマーキングは個別の移動ロボットではなくむしろ、ロボットミッションに割り当てられ得る。したがって、特定のフィデューシャル出力を有する特定のロボットミッションを移動ロボットに割り当てることで、その移動ロボットが、特定のフィデューシャル出力がレンダリングされたロボットステージングステーションまで走行することをトリガーし得る。
【0099】
移動ロボット110A~Fが、走行先となるどのロボットステージングステーションから外へ移動するかの裁量を持たせることは有利であり得る。移動ロボット110A~Fをマイクロ管理しなければならない--たとえば、ステージングエリアの包括的地図を用いて構成する--のではなくむしろ、移動ロボット110それ自体が障害物回避、衝突回避、効率的軌道計画などに関する決定を処理することができる。多くのベンダーは、すでに衝突回避および経路計画をネイティブに実行するようにロボットを設計しており、これらのネイティブな能力を活用することで、ロボティクスステージングシステム233の設計と運転を簡素化する。
【0100】
図9において、各移動ロボット110は、移動ロボットのそれぞれのフィデューシャルマーカーが現在表示されているロボットステージングステーション111に位置決めされる。簡単のため、
図9~
図15において、これらのフィデューシャルマーカーは、イタリック体で示す、それぞれの移動ロボットの参照番号の形をとる。しかしながら、前述のように、これらのフィデューシャルマーカーは、QRコード(登録商標)などの、移動ロボットが「読み取り」やすい形態でレンダリングされ得る。たとえば、第1の出力デバイス113Aは、現在「110A」を表示しており、その結果、第1の移動ロボット110Aは、現在第1のロボットステージングステーション111A内に位置決めされている。第2の出力デバイス113Bは、現在何も表示せず、第2のロボットステージングステーション110Bに駐留している移動ロボットはない。第3の出力デバイス113Cは、現在「110D」を表示しており、その結果、第4の移動ロボット110Dは、現在第3のロボットステージングステーション111C内に位置決めされている。以下同様である。
【0101】
図10では、出力デバイス113A~Hは、
図9とは異なるフィデューシャルマーキングをレンダリングするように操作される。これは、移動ロボット110A~Fの少なくともいくつかがロボットステージングエリア105内で自己再位置決めすることを引き起こすか、またはそれを可能にし得る。たとえば、第1の移動ロボット110Aは、たとえば、産業施設の1つまたは複数のセンサー、ゲージ、アクチュエータ、または他の属性を検査するために、生産エリア236まで走行している。第1の移動ロボット110Aによってなされる様々な観察(たとえば、異常の検出)は、残りの移動ロボット110B~Fのうちの1つまたは複数による応答アクションをトリガーし得ることが想定され得る。加えて、または代替的に、移動ロボットのうちの1つまたは複数による応答アクションは、様々なロボットタスクのスケジュール、または他のアセット操作などの、施設における他のイベント、または移動ロボットに関連付けられていないセンサーシステムからの出力によってトリガーされ得る。
【0102】
たとえば、第1のロボットステージングステーション111A内の第1の出力デバイス113Aは、現在「110C」を表示している。これは、第3の移動ロボット110Cが、第1の移動ロボット110Aが異常を検出した場合に、生産エリア236まで走行するのに適した位置にある(たとえば、遮られていない)ように、第1のロボットステージングステーション110Aまで走行することを引き起こし得る。第2のロボットステージングステーション111B内の第2の出力デバイス113Bは、現在「110B」を表示している。これは、第2の移動ロボット110Bが、もし要請があれば、生産エリア236内でミッションを実行するのに十分な位置にあるように第2のロボットステージングステーション111Bまで走行することを引き起こし得る。
【0103】
図10のレンダリングされたフィデューシャルマーキングの結果は
図11に示されており、そこでは、第3の移動ロボット110Cは、第1のロボットステージングステーション111Aに再位置決めされ、第2の移動ロボット110Bは第2のロボットステージングステーション110Bに再位置決めされている。いくつかのシナリオにおいて、各ロボットが特定のロボットステージングステーションを割り当てられることが厳密には必要でない場合もある。たとえば、
図11において移動ロボット110Cおよび110Bの新しい位置が逆であったとしても、必要な場合に生産エリア236内でタスクを実行するのに十分に適した位置に依然としてある可能性がある。しかしながら、
図10に示されている構成において、第2の移動ロボット110Bは、第1のロボットステージングステーション111Aへの第3の移動ロボット110Cの経路を遮断しており、第2の移動ロボット110Bが第1のロボットステージングステーション111Aに再位置決めされても経路を遮断し続けたであろう。したがって、ロボティクスステージングシステム233は、第2のロボットステージングステーション111Bの出力デバイス113Bを意図的に操作して第2のロボット110Bを呼び出し、それによりこれは第3の移動ロボット110Cの邪魔にならないところに移動したであろう。
【0104】
特別なセンサーパッケージ115Bを装備した第4の移動ロボット110Dが完全に充電されたが、しばらくの間必要とされる可能性がないと想定する。第4の移動ロボット110Dを第3のロボットステージングステーション111Cに残し、これが生産エリア236からロボットステージングステーション111Dおよび111Eの両方を遮り、生産エリア236の反対側のロボットステージングエリア105内の様々なロボットステージングステーションから第2のロボット110Bを遮るのではなくむしろ、第4の移動ロボット110Dは、別の配置に移動され、他のロボットの障害物であることを止めるものとしてよい。たとえば、
図11において、第6の(保管)ロボットステージングステーション111Fの出力デバイス113Fは、フィデューシャル「110D」をレンダリングしている。
【0105】
その結果、
図12において、第4の移動ロボット110Dは、第6のロボットステージングステーション111Fを優先して第3のロボットステージングステーション111Cを空けている。加えて、
図12において、第7のロボットステージングステーション111Gに関連付けられている出力デバイス113Gは、次に、フィデューシャル「110B」をレンダリングする。これは、たとえば、第2の移動ロボット110Bが、第1の移動ロボット110Aによって検出された異常に対応するために、第5の移動ロボット110Eを優先して降格されているせいであり得る。たとえば、第2の移動ロボット110Bが第2のロボットステージングステーション111Bに配備されている可能性があるのは、第5の移動ロボット110Eがまだ完全には充電されておらず、第1の移動ロボット110Aによって検出された異常に対応しようにも適切なペイロードを欠いていたからである。
【0106】
したがって、
図13において、第2の移動ロボット110Bは、第7のロボットステージングステーション111Gに再配置した。加えて、第8のロボットステージングステーション111Hに関連付けられている出力デバイス113Hは、次に、フィデューシャル「110E」をレンダリングする。これは、今や完全に(または少なくとも十分に)充電された第5の移動ロボット110Eが、
図14に示されているように、第8のロボットステージングステーション111Hに再配置することを引き起こし得る。一方、
図13において、第6の移動ロボット110Fは、完全に充電されており、現在、充電器109Cから切り離されている。しかしながら、第6の移動ロボット110Fは、まだ必要でなく、すでに他の移動ロボットの邪魔にならないところにいるので、第6の移動ロボット110Fは、第5のロボットステージングステーション111E(現在は保管ステーションとして効果的に働いている)内に残っている。
【0107】
図14において、第5の移動ロボット110Eは、現在、第8のロボットステージングステーション111H内に配置されており、新しいペイロード115C、すなわちロボットアームをすでに装備している。現在第1のロボットステージングステーション111A内にある第3の移動ロボット110Cを含む、そのようなロボットアームを有するロボットが、第1の移動ロボット110Aによって検出された異常に応答するための好ましいロボット構成である場合がある。いずれの場合も、第2のロボットステージングステーション111Bに関連付けられている出力デバイス113Bは、次に、フィデューシャル「110E」をレンダリングする。その結果、
図15において、第5の移動ロボット110Eは、第2のロボットステージングステーション111Bに再配置した。
【0108】
図14において、第4のロボットステージングステーション111Dに関連付けられている出力デバイス113Dは、フィデューシャル「110A」をレンダリングする。これは、第1の移動ロボット110Aが、たとえば電池残量が少ないので、生産エリア236からロボットステージングエリア105まで走行するのを円滑にし得る。
図15において、第1の移動ロボット110Aは、第4のロボットステージングステーション111Dに再配置し、充電器109Bに接続されるが、これは複数の異なるタイプの移動ロボットと互換性があると仮定され得る。もしそうでなかったならば、第1の移動ロボット110Aは、別のロボットステージングステーションに呼び出されていることもあり得る。第4のロボットステージングステーション111Dへの経路は、比較的明確であったが、第1の移動ロボット110Aが空中UAVであるので、これは問題になり得ない。加えて、第5の移動ロボット110Eは、たとえば、生産エリア236内に配備されている他の移動ロボットからのリクエストに応答するために、第2のロボットステージングステーション111Bに再配置した。たとえば、第3の移動ロボット110Cは、再充電のために第4のロボットステージングステーション111Dに戻る前に、たとえば第1の移動ロボット110Aによって検出された異常に応答するために、生産エリア236まで走行した。次に、第5の移動ロボット110Eは、第3の移動ロボット110Cによって生産エリア236内で検出された異常などの、リクエストに応答するために待機している。
【0109】
図8に戻ると、ロボティクスステージングシステム233は、移動ロボットを様々な方法でロボットステージングエリア105内のロボットステージングステーションに割り当て得る。上で説明されているように、ロボティクスステージングシステム233は、効率的、また効果的にロボットステージングステーションをロボットに割り当てる(またはその逆に割り当てる)ために、ロボット充電が閾値を下回ること、ロボット性能品質(
図3の320)が基準を満たさないこと、ロボットが潜在的に必要とされるまでの時間間隔などの、任意の数のヒューリスティックスを使用してもよい。しかしながら、本開示は、これらの目的のためのヒューリスティックスの使用に限定されない。いくつかの実装形態において、機械学習モデルなどの、様々な統計的技術が、入ってくるロボットをどこに割り当てるかを決定するために使用され得る。
【0110】
図16は、ロボットステージングエリア105のロボティクスステージングシステム233による編成を円滑にするために、ロボティクス管理システム232およびロボティクスステージングシステム233がどのようにデータを交換し得るかを示す一例を概略的に示す。ステージングモードに移行する、たとえばロボットステージングエリア105に進入する、入ってくるロボット110は、様々なロボット状態データを提供し得る(またはロボティクス管理システム232がプロセス330、340、350を介して提供し得る)。そのようなロボット状態データの例は、たとえば、現在のロボット定義305、ロボット能力310、ロボットスケジュール315、および/またはロボット性能測定基準320などの、
図3を参照して説明されているデータを含み得る。より詳細には、ロボット状態データは、たとえば、バッテリレベル、性能品質、様々な健康測定基準、構成データ、ツール状態などを含み得る。いくつかの実装形態において、入ってくるロボット110は、このロボット状態データをロボティクス管理システム232にプッシュし得る。他の実装形態では、ロボティクス管理システム232は、このデータを(たとえば、プロセス330、350、350を介して)問い合わせるものとしてよい。
【0111】
いずれの場合も、ロボティクス管理システム232は、入ってくるロボット110の状態を表す第1の特徴表現1604Aを生成する第1の特徴抽出器1602Aを備え得る。いくつかの実装形態において、この特徴表現1604Aは、複数の次元を有する特徴ベクトルの形態をとるものとしてよく、各々入ってくるロボット110の属性または特徴に対応する。他の実装形態では、この特徴表現1604Aは、連続的であっても連続的でなくてもよい、意味的に豊富なベクトル埋込みの形態をとり得る。この後者の場合において、第1の特徴抽出器1602Aは、オートエンコーダニューラルネットワークモデルまたはトランスフォーマモデルの少なくとも一部などの、1つまたは複数の機械学習モデルをロボット状態データに適用して、ベクトル埋込みを生成するように構成され得る。
【0112】
第1の特徴表現1604Aは、ロボティクスステージングシステム233、特に推論モジュール1606に提供されてもよい。一方、ロボティクスステージングシステム233の第2の特徴抽出器1602Bは、ロボットステージングエリア105内の複数のロボットステージングステーション(たとえば111A~H)の状態を決定するために、ロボットステージングステーションステータス1608のデータベースに問い合わせ得る。第1の特徴抽出器1602Aと同様に、第2の特徴抽出器1602Bは、ロボットステージングエリア105のロボットステージングステーションの状態の特徴表現1604Bを生成し得る。前と同様に、第2の特徴抽出器1602Bは、1つまたは複数の機械学習モデルを利用してもしなくてもよく、特徴表現1604Bは、特徴ベクトルまたはベクトル埋込みの形態をとってもよい。
【0113】
推論モジュール1606は、1つまたは複数の機械学習モデル1608を使用して特徴表現1604A~Bを処理し、ロボットステージングエリア105内にすでに存在する、入ってくるロボット110および/または他の移動ロボットなどの1つまたは複数の移動ロボットによって実行されるべきステージングミッションを示す出力1610を生成し得る。機械学習モデル1608は、様々な形態をとり得る。いくつかの実装形態において、機械学習モデル1608は、ステージングミッションアクション空間上の確率分布を生成するために、入ってくるロボットおよび複数のロボットステージングステーション(およびいくつかの場合において生産ミッション)の状態を処理するように訓練される強化学習機械学習モデルまたは「方策」を含み得る。確率分布は、様々なステージングミッションに確率を割り当てるものとしてよく、これは、特定の移動ロボットを特定のロボットステージングステーションに割り当てることを含み得る。様々な実装形態において、強化学習方策は、短期的な報酬(たとえば、即時衝突がない)および/または長期的な報酬(たとえば、1台または複数台のロボットが効率的に、事故なく生産ミッションを完了できたこと)に基づいて訓練され得る。報酬は、ロボティクスステージングシステム233および/またはロボティクス管理システム232によって、強化学習方策の各反復において決定され得る。ロボティクス管理システム232は、ロボット性能分析340などの情報源から、または
図2の224もしくは228などの、企業リソース管理202に関連付けられているコンポーネントからであっても報酬を決定し得る。
【0114】
これらの確率に基づいて、1つまたは複数のステージングミッション1610が選択され、ロボットステージングエリア105内の1つまたは複数の移動ロボット110におよび/または入ってくるロボット110に割り当てられ得る。異なるベンダーからの複数のロボットが編成されるいくつかの実装形態において、ロボティクスステージングシステム233は、ミッションパラメータを個別のロボットに通信するために、前述のロボット固有アダプタ644(
図6参照)を活用してもよい。
【0115】
図17は、本明細書において開示されている実装形態に従って、本開示の選択された態様を実施するための例示的な方法1700を例示するフローチャートである。方法1700の動作が特定の順序で示されているが、これは制限することを意味しない。便宜上、
図17の動作は、ロボティクス管理システム232および/またはロボティクスステージングシステム233を含み得る、システムによって実行されるものとして説明されている。1つまたは複数の動作が、順序変更、省略、または追加されてもよい。
【0116】
ブロック1702において、システムは、たとえば、ロボットリソース管理330、ロボット性能分析340、および/またはロボット定義管理350を用いて、生産モードからステージングモードに移行する移動ロボット110の状態、たとえば、ロボットが産業施設の生産エリア236から産業施設のロボットステージングエリア105に物理的に再配置するときの状態を決定し得る。たとえば、ロボティクス管理システム232は、この情報について、入ってくる移動ロボットに問い合わせて--またはロボットリソース管理330、ロボット性能分析340、および/またはロボット定義管理350を活用して--ロボティクスステージングシステム233に渡すか、またはロボティクスステージングシステム233それ自体が入ってくる移動ロボットに問い合わせるものとしてよい。このロボット状態(たとえば、
図16の1604A)は、ロボットの健康状態、構成、バッテリ状態、ジョブ性能(たとえば、ロボット性能分析340を使用して決定される)などに関係する複数のデータ点(たとえば、配列もしくは特徴ベクトル)、意味的に豊富な次元低下方式で同じまたは類似のデータ点を表現する特徴埋込み(連続または離散であり得る)などの、様々な形態をとり得る。
【0117】
ブロック1704において、システムは、たとえばロボットステージングエリア105内の複数のロボットステージングステーション(たとえば、111A~H)の状態を決定し得る。複数のロボットステージングステーションは、1つまたは複数の充電ステーション、1つまたは複数のメンテナンスステーション、1つまたは複数の保管ステーション(たとえば、短期または長期)、1つまたは複数のミッション開始配置ステーション、リツーリングステーション(メンテナンスステーションと異なる場合)など、様々なタイプのステーションを含み得る。個別のロボットステージングステーションの状態は、ステーションのタイプによって異なり得る。たとえば、任意のロボットステージングステーションが、占有、空き、予約、利用不可/閉鎖などの状態を有し得る。ロボットに対してメンテナンスが実行されているロボットステージングステーションは、ファームウェアまたはソフトウェアのアップグレード、物理的メンテナンス、清掃、リツーリング、メンテナンス成功、メンテナンス不成功、追加メンテナンス必要などの状態を含み得る。充電ロボットステージングステーションは、加えて、充電、現在の占有者ロボットが充電されているレベル、現在の占有者ロボットが充電されるまでの時間、充電率、充電アダプタタイプ(たとえば、充電器の互換性または能力)などの状態を有し得る。
【0118】
メンテナンスロボットステージングステーションは、ステーションが構成されるメンテナンスまたは修理のタイプ、ステーションでメンテナンスされるかまたは修理され得る移動ロボットのタイプなどの追加状態を含み得る。ミッション開始配置ステーションは、ミッション開始配置ステーションから出発できるミッションのタイプ、ミッション開始配置ステーションから出発できる特定のミッションなどの属性を含み得る。リツーリングロボットステージングステーション(メンテナンスロボットステージングステーションと異なる場合)は、利用可能なツールのタイプ、リツーリング可能なロボットのタイプなどを含むことができる。
【0119】
いくつかの実装形態において、ブロック1706で、システムは、1つまたは複数の生産ミッション(すなわち、生産エリア236内の移動ロボットによって実行されるミッション)の状態、たとえば、入ってくる移動ロボットによって実行可能である、または入ってくる移動ロボットに割り当てられているロボットミッション、またはアクティブである、もしくは実行のためにキューに入れられているすべてのロボットミッションさえも決定し得る。生産エリア236内のロボットステージングエリア105の外の移動ロボットによって実行される生産ミッションは、様々な異なる形態であってもよい。ロボットミッションの状態は、ミッションの目標、ミッションのステータス、スケジュールされた開始時間または終了時間、ミッションを完了するために必要なツール、ミッションを実行するために必要な予測された電力量(ロボットに関係しない、またはロボット固有の)、ミッションを実行するために必要な予測された時間量(これもまた、ロボットに関係しない、またはロボット固有の)、ミッション優先度などの様々な情報を含み得る。
【0120】
移動ロボットおよび複数のロボットステージングステーションの決定された状態、ならびに決定された場合に、生産ミッションの状態に少なくとも部分的に基づいて、ブロック1708において、システムは、ロボットステージングエリア105内の入ってくるロボットおよび/または別の移動ロボットのために、複数のロボットステージングステーションからロボットステージングステーションを選択してもよい。前述のように、この選択は、強化学習方策などのルール/ヒューリスティックスおよび/または統計モデルに基づいて得る。
【0121】
たとえば、移動ロボットに利用可能な、または割り当てられた生産ミッションがない場合、または生産ミッションが割り当てられているが、将来ある時間間隔より長い間スケジュールされており、保管ロボットステージングステーションが利用可能である場合、その保管ロボットステージングステーションは、入ってくるロボットに対して選択され得る。いくつかの実装形態において、ロボットステージングステーションは、最小閾値の条件を満たす移動ロボットによって実行可能である、または割り当てられた1つまたは複数の生産ミッションの開始時間の前の時間間隔に基づいて選択され得る。次に実行可能な、または割り当てられた生産ミッションが将来的に一定時間を超える場合、移動ロボットが他の忙しい移動ロボットの邪魔にならないように移動することができるように、保管ロボットステージングステーションを選択することは有益であり得る。または、移動ロボットが十分に充電されており、および/または次の生産ミッションを実行するように適切に構成されている(たとえば、正しいツールまたはエンドエフェクタを装備している)場合であっても、その次の生産ミッションが将来的に一定時間を超えてスケジュールされている場合に、たとえば、移動ロボットを完全に充電し、および/またはロボットのダウンタイムに様々な定期メンテナンスを実施するために、充電および/またはメンテナンスロボットステージングステーションが選択されてよい。
【0122】
保管ロボットステージングステーションは、より直接的な課題を解決するためにも使用され得る。たとえば、いくつかの実装形態において、保管ステーションは、保管ステーションがロボットステージングエリア内の1つまたは複数の他の移動ロボットの現在または将来の移動軌跡の外側にあることに基づいて選択され得る。加えて、または代替的に、いくつかの実装形態において、2つの移動ロボットの間の潜在的干渉が予測されるときに、費用/便益分析が、たとえばロボティクスステージングシステム233によって実行され、第1の移動ロボットを保管ステーションに再配置するか、または第2の移動ロボットに、その現在もしくは将来の軌道を変更させて第1の移動ロボットを回避させるかを決定し得る。そのような干渉は、移動ロボットの間の衝突、ロボットの移動性の妨害、または通信もしくはセンサーシステムの干渉など、移動ロボットの1つまたは複数の能力に対する任意の影響を含み得る。費用/便益分析は、各オプションについて各ロボットによって必要とされる電力、ロボット保管ステーションの需要などのコストを考慮し得る。費用/便益分析は、ロボットを保管ステーションに移動するのではなくむしろ、一時的に他のロボットの邪魔にならないように移動することによって、またはロボットが互いを回避するためにそれ自身のネイティブな衝突回避能力に依存することを可能にすることによって得られる時間などの便益を考慮し得る。
【0123】
様々な実装形態において、移動ロボットによって実行可能であるおよび/または移動ロボットに割り当てられる特定の生産ミッションがあるときに、ミッションは、今すぐまたは所定の時間間隔内にいつでも実行できる状態にあり得るか、または移動ロボットは、オンデマンドで(たとえば、別のロボットがそれ自身のタスクを実行することに依存して)生産ミッションを実行する位置にある必要があり得る。いずれの場合も、特定の生産ミッションに対する開始配置として適格なロボットステージングステーションが選択され得る。
【0124】
図9~
図15によって示されているように、いくつかの実装形態において、ロボットステージングステーションは、第1の生産ミッションが、第2の移動ロボットによって実行される、または実行されることになる第2の生産ミッションに依存して条件付きで第1の移動ロボットによって実行されるという決定に基づいて選択され得る。たとえば、第2の生産ミッションは、産業施設のコンポーネントの検査であり得る。そのようなシナリオでは、第1の生産ミッションは、コンポーネントの検査結果に基づいて条件付きで実行される1つまたは複数のタスクを含み得る。たとえば、第2の移動ロボットが、第2の生産ミッションを実行している間に、管または弁が閉塞していることを発見したが、それ自体は閉塞を緩和するツールを有していない場合、第1の移動ロボットは是正措置を講じるために配備されてもよい。第1の移動ロボットがこのタスクをできるだけ素早くに実行することを可能にするため、第1の移動ロボットは、是正措置を講じることを含む生産ミッションに対する適格な開始点であるロボットステージングステーションに割り当てられ得る。ロボットミッションの出発点として「適格」であるためには、ロボットステージングステーションは、ロボットステージングエリア105内の、少なくともいくつかの他のロボットステージングステーションよりも生産エリア236に近い位置にあってもよく、それにより、たとえば、そのステーションに割り当てられた移動ロボットは、生産エリア236に入るのを妨害される可能性が低くなる。
【0125】
図17を再び参照すると、ブロック1710において、システムは、移動ロボットにステージングミッションを割り当て得る。ステージングミッション(たとえば、デジタルファイル、デジタルメッセージ、1つまたは複数のコマンドなど)は、ロボットによって処理されると、移動ロボットに、選択されたロボットステージングステーションまで走行させるデータを含み得る。移動ロボットが選択されたロボットステージングステーションまで走行するのを円滑にするために、いくつかの実装形態において、ブロック1710において、システムは、選択されたロボットステージングステーションにおける出力デバイスに、フィデューシャル出力をレンダリングさせ得る。たとえば、
図9~
図15において、出力デバイス113A~Hは、視覚的フィデューシャルをレンダリングするディスプレイを含む。そのような実装形態において、ステージングミッションは、移動ロボットに、ロボットステージングエリア105内の複数のロボットステージングステーション(たとえば、111A~H)をスキャンして、レンダリングされたフィデューシャル出力を検出させ、レンダリングされたフィデューシャル出力が検出されたロボットステージングステーションまで移動させ得る。
【0126】
いくつかの場合において、移動ロボットは、たとえば、ロボットがメンテナンスされ、充電され、および/またはリツーリングされ得るように、生産ミッションを実行する前に、複数のロボットステージングステーションを通して循環される必要があり得る。いくつかの実装形態において、単一のステージングミッションは、移動ロボットが、たとえば、特定の順序で、またはステーションが利用可能になったときに、一連のロボットステージングステーションまで走行することを引き起こし得る。代替的に、移動ロボットは、複数のステージングミッションを割り当てられ、移動ロボットは特定の順序でこれを実行することが要求され得るか、または任意の順序で、たとえばロボットステージングステーションが利用可能になったときに、自由に実行できる場合もある。
【0127】
いずれの場合も、第1のステージングミッションを実行する前、実行中、および/または実行後に、様々な実装形態において、移動ロボットおよび複数のロボットステージングステーションの状態に基づいて、さらに移動ロボットに割り当てられた生産ミッションのうちの所与の生産ミッション(または、該当する場合には、複数のロボットミッションの状態)に基づいて、1つまたは複数の追加のロボットステージングステーションが、ロボットステージングエリア内の複数のロボットステージングステーションから選択されてもよい。該当する場合に、1つまたは複数の追加の出力デバイスは、1つまたは複数の追加のフィデューシャル出力をレンダリングするために1つまたは複数の追加のロボットステージングステーションで操作され得る。移動ロボットは、第1のステージングミッションに加えて、1つまたは複数の追加のステージングミッションを割り当てられ得る。1つまたは複数の追加のステージングミッションは、所与の生産ミッションを実行する前に、移動ロボットに、ロボットステージングエリア内の複数のロボットステージングステーションをスキャンして、1つまたは複数の追加のフィデューシャル出力を検出させ、1つまたは複数のレンダリングされたフィデューシャル出力が検出された1つまたは複数のロボットステージングステーションまで走行させ得る。
【0128】
図18は、本明細書で説明されている技術のうちの1つまたは複数の態様を実行するために任意選択で利用されてよい例示的なコンピューティングデバイス1810のブロック図である。コンピューティングシステム1810は、典型的には、バスサブシステム1812を介して多数の周辺デバイスと通信する少なくとも1つのプロセッサ1814を備える。これらの周辺デバイスは、たとえば、メモリサブシステム1825およびファイル記憶装置サブシステム1826を含む、記憶装置サブシステム1824、ユーザインターフェース出力デバイス1820、ユーザインターフェース入力デバイス1822、およびネットワークインターフェースサブシステム1816を含み得る。入力および出力デバイスは、ユーザがコンピューティングデバイス1810とインタラクティブにやり取りすることを可能にする。ネットワークインターフェースサブシステム1816は、外部ネットワークへのインターフェースを備え、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
【0129】
ユーザインターフェース入力デバイス1822は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどの音声入力デバイス、マイクロホン、および/または他の種類の入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、情報をコンピューティングデバイス1810内に、または通信ネットワーク上に入力するためのすべての可能な種類のデバイスおよび方法を含むことが意図されている。
【0130】
ユーザインターフェース出力デバイス1820は、表示サブシステム、プリンタ、ファックス機、または音声出力デバイスなどの非視覚的ディスプレイを含み得る。表示サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための他の何らかのメカニズムを含み得る。表示サブシステムは、音声出力デバイスなどを介して非視覚的ディスプレイも備えてよい。一般に、「出力デバイス」という用語の使用は、情報をコンピューティングデバイス1810からユーザまたは別のマシンもしくはコンピューティングデバイスに出力するためのすべての可能な種類のデバイスおよび方法を含むことが意図されている。
【0131】
記憶装置サブシステム1824は、本明細書で説明されているモジュールのうちのいくつかまたはすべての機能を実現するプログラミングおよびデータ構造を記憶する。たとえば、記憶装置サブシステム1824は、
図17の方法の選択された態様を実行する、さらには
図1~
図8および
図16に示されている様々なコンポーネントを実装する論理回路を備えるものとしてよい。
【0132】
これらのソフトウェアモジュールは、一般的に、プロセッサ1814によって、単独で、または他のプロセッサと組み合わせて、実行される。記憶装置サブシステム1824において使用されるメモリ1825は、プログラム実行時に命令およびデータを記憶するための主ランダムアクセスメモリ(RAM)1830、ならびに固定された命令が記憶されるリードオンリーメモリ(ROM)1832を含む多数のメモリを備えることができる。ファイル記憶装置サブシステム1826は、プログラムおよびデータファイル用の永続的記憶域を備えることができ、ハードディスクドライブ、関連する取り外し可能媒体を伴ったフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、または取り外し可能媒体カートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ファイル記憶装置サブシステム1826によって、記憶装置サブシステム1824内に、またはプロセッサ1814によってアクセス可能な他のマシン内に記憶され得る。
【0133】
バスシステム1812は、コンピューティングデバイス1810の様々なコンポーネントおよびサブシステムに意図したとおりに互いに通信させるメカニズムを備える。バスシステム1812は、単一のバスとして概略が図示されているけれども、バスシステムの代替的実装形態では、複数のバスを使用してよい。
【0134】
コンピューティングデバイス1810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類のデバイスであってよい。コンピュータおよびネットワークはその性質上絶えず変化し続けるので、
図9に示されているコンピューティングデバイス1810の説明は、いくつかの実装を例示することを目的とする特定の例としてのみ意図されている。コンピューティングデバイス1810の他の多くの構成は、
図9に示されているコンピューティングデバイスよりも多い、または少ないコンポーネントを有するものが可能である。
【0135】
いくつかの実装形態が本明細書において説明され例示されたが、機能を実行しおよび/または結果を取得するための様々な他の手段および/または構造体および/または本明細書において説明されている利点のうちの1つまたは複数が利用されてもよく、そのような変更形態および/または修正形態の各々は本明細書で説明されている実装形態の範囲内にあるとみなされる。より一般的には、本明細書で説明されているすべてのパラメータ、寸法、材料、および構成形状は例示的であり、実際のパラメータ、寸法、材料、および/または構成形状は教示が使用される特定の1つまたは複数のアプリケーションに依存することを意図されている。当業者であれば、単なる決まり切った実験を用いて、本明細書で説明されている特定の実装形態と同等の多数の実装形態を認識するか、または確認することができるであろう。したがって、前述の実装形態は、例としてのみ提示されていること、ならびに付属の特許請求の範囲およびその均等物の範囲内で、具体的に説明され請求されている以外の方法でも実施されてよいことは理解されるであろう。本開示の実装形態は、本明細書において説明されている各個別の特徴、システム、物品、材料、キット、および/または方法に向けられる。加えて、2つまたはそれ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾することがなければ、本開示の範囲内に含まれる。
【符号の説明】
【0136】
100 産業施設セッティング
101 移行エリア
105 ロボットステージングエリア
109A~C 充電器
110 移動ロボット
110A~C ロボット
110A~F 移動ロボット
111A~H ロボットステージングステーション
113A~H 出力デバイス
115A ロボットアーム
115B アドバンストセンサーパッケージ
117 機器
120 産業施設
200 運転管理システム
202 企業リソース管理システム
204 生産計画
206 生産会計
208 生産スケジューリング
210 データ照合および生産結果報告
212 生産運転管理および報告
214 データヒストリアン
216 パネル操作
218 プロセス制御
220 メンテナンス会計
222 ターンアラウンドメンテナンスと長期メンテナンスの両方の計画
234 運転所または中央制御室(CCR)
236 現場
236 生産エリア/生産現場
224 結果報告
226 年間メンテナンス計画およびスケジューリング
228 メンテナンス業務管理および報告
230 第三者請負業者管理
232 ロボティクス管理システム
238 人間実行運転タスク
240 ロボット実行運転タスク
241 ロボットメンテナンス/修理
242 人間実行メンテナンスタスク
243 ロボット充電
244 ロボット実行メンテナンスタスク
245 ペイロード変更(ツーリングおよびリツーリングを含む)
247 ロボット保管
300 一般化されたモデル
305 ロボット定義
310 ロボット能力
315 ロボットスケジュール
320 ロボット性能測定基準
325 詳細ロボットスケジュール
330 ロボットリソース管理
335 ロボット追跡
340 ロボット性能分析
345 ロボットディスパッチング
350 ロボット定義管理
355 ロボットデータ収集
360 ロボット実行管理
365 ロボット固有の生産ルール
370 ロボットコマンド
375 応答
380 ロボット固有のデータ
400 ロボティクスサービスプラットフォーム(RSP)
410 産業運転
420 外部制御システム
430 産業オートメーションシステムとインターフェースするためのモジュール
440 データ集約および分析のためのモジュール
450 統合ヒューマンマシンインターフェースHMI
460 セキュリティおよび安全のためのモジュール
470 運転を調整し、データを収集し、ロボットを制御するためのモジュール
480 ロボットフリート管理のためのモジュール
500 アーキテクチャ
505 産業オートメーション(IA)システム
510 マルチベンダーロボティクスサービスプラットフォーム
515 IAシステム統合アプリケーションプログラミングインターフェース(API)
520 データストア
525 エンジニアリングおよび運転ヒューマンマシンインターフェース(HMI)
530 エンドユーザアプリケーション
535 データ収集および集約モジュール
540 調整機能
545 ロボットフリート管理モジュール
550 センサー
555 オープンソースのロボットオペレーティングシステム
560 ロボットプラットフォーム
565 ベンダー固有の(オープンソースでない)ロボット
602 人間運転管理者またはオペレータ
604 プロセス制御クライアント
606 ウェブクライアント
608 人間オペレータまたは分析者
610 レポートジェネレータ
612 ヒストリアンデータストア
614 機械学習(ML)および人工知能(AI)モジュール
618 アーカイブモジュール
620 データベース
622 ログ
624 外部システムインターフェース
626 ナビゲーション制御およびデータサービス
628 フリートマネージャ
630 ロボットインターフェース
632 プロセス制御サーバ
634 第1のウェブサーバ
636 第2のウェブサーバ
638 フリート管理モジュール
640 ロボットデータ管理モジュール
642 機械学習(ML)および人工知能(AI)モジュール
644 ロボット固有のアダプタ
646 ベンダー固有のフリート管理モジュール
648、650 ベンダー固有のインターフェース
660 フリートサーバ
662 リアルタイム通信モジュール
664 フリートクライアント
672 ロボットサービスプラットフォーム
700 運転管理システム
702 運転支援システム
704 巡回管理システム
706 タスク管理システム
710 プロセス制御システム
714 手順情報管理モジュール
716 手順実行管理モジュール
718 チェックリスト管理モジュール
722 連携情報サーバ
724 チェックリスト実行管理モジュール
725 トリガー管理モジュール
726 タスク実行管理モジュール
728 現場制御システム
730 安全制御システム
742 ロボットAインターフェース
744 ロボットBインターフェース
746 ロボットCインターフェース
1602A 第1の特徴抽出器
1604A 第1の特徴表現
1606 推論モジュール
1608 ロボットステージングステーションステータス
1610 出力
1700 方法
1810 コンピューティングデバイス
1812 バスサブシステム
1814 プロセッサ
1816 ネットワークインターフェースサブシステム
1820 ユーザインターフェース出力デバイス
1822 ユーザインターフェース入力デバイス
1824 記憶装置サブシステム
1825 メモリサブシステム
1826 ファイル記憶装置サブシステム
1830 主ランダムアクセスメモリ(RAM)
1832 リードオンリーメモリ(ROM)
【外国語明細書】