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

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

▶ 横河電機株式会社の特許一覧

特表2024-509387ロボット群の管理ためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-01
(54)【発明の名称】ロボット群の管理ためのシステム及び方法
(51)【国際特許分類】
   G05D 1/225 20240101AFI20240222BHJP
   G05B 19/418 20060101ALI20240222BHJP
   B25J 13/00 20060101ALI20240222BHJP
   G05D 1/86 20240101ALI20240222BHJP
   G05D 1/43 20240101ALN20240222BHJP
   G05D 1/46 20240101ALN20240222BHJP
【FI】
G05D1/225
G05B19/418 Z
B25J13/00 Z
G05D1/86
G05D1/43
G05D1/46
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023550215
(86)(22)【出願日】2022-02-17
(85)【翻訳文提出日】2023-09-19
(86)【国際出願番号】 IB2022051425
(87)【国際公開番号】W WO2022180487
(87)【国際公開日】2022-09-01
(31)【優先権主張番号】63/152,734
(32)【優先日】2021-02-23
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/245,104
(32)【優先日】2021-04-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】チェン, ペニー ペイ
(72)【発明者】
【氏名】ファビアーノ, サンドラ
(72)【発明者】
【氏名】エマーソン, デイビッド ディーコン
(72)【発明者】
【氏名】ルー, ブレンドン バオ-アン
(72)【発明者】
【氏名】ヘイデン, スティーブン アンドリュー
(72)【発明者】
【氏名】バンダーリー, サウラブ
(72)【発明者】
【氏名】石井 庸介
(72)【発明者】
【氏名】藤本 直之
(72)【発明者】
【氏名】秋定 征世
(72)【発明者】
【氏名】櫻井 康樹
(72)【発明者】
【氏名】フォード, ブラッドリー
(72)【発明者】
【氏名】ジンソン, チャン
(72)【発明者】
【氏名】ラジャン, レンジラ エリンジコッティル
(72)【発明者】
【氏名】ク-ウンジェン, マーク アンソニー デ カストロ
【テーマコード(参考)】
3C100
3C707
5H301
【Fターム(参考)】
3C100AA22
3C100AA29
3C100AA56
3C100BB12
3C100BB13
3C100BB33
3C100CC02
3C100CC07
3C707JS03
3C707JS07
3C707LV02
3C707LV12
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG09
5H301KK04
5H301KK08
5H301KK09
5H301KK18
5H301KK19
5H301LL03
(57)【要約】
本開示の様々な実施形態は一般的に、例えば、産業施設でのロボットサービスの管理に関し、より詳細には、ロボット群によって行われるミッションを受信、定義、割り当て、及び管理することに関する。システムまたは方法は、ミッションに関連付けられた要素またはシステムに関連付けられた環境データに基づいてミッションを定義することと、ロボットの能力に基づいてロボット群にミッションを割り当てることと、ミッション及びロボットのスケジュールを生成することと、フィードバックを使用してロボット群を管理することとを含む。
【選択図】なし
【特許請求の範囲】
【請求項1】
ロボット群の管理のためのシステムであって、前記システムは、
第1のロボットタイプの第1のロボット及び第2のロボットタイプの第2のロボットを含む複数のロボットと、
ロボットサービスプラットフォームと、を備え、
前記ロボットサービスプラットフォームは、
前記第1のロボットタイプに対応し、前記第1のロボットによって収集されたミッションフィードバックを前記ロボットサービスプラットフォームに適合する共通データフォーマットに変換するように構成された第1のデータアダプタと、
前記第2のロボットタイプに対応し、前記第2のロボットによって収集されたミッションフィードバックを前記共通データフォーマットに変換するように構成された第2のデータアダプタと、
前記第1のロボットタイプに対応し、共通ミッション制御情報を前記第1のロボットと適合する第1のロボットミッション制御情報に変換するように構成された第1の制御アダプタと、
前記第2のロボットタイプに対応し、前記共通ミッション制御情報を前記第2のロボットと適合する第2のロボットミッション制御情報に変換するように構成された第2の制御アダプタと
ミッションマネージャと、
を含み、
前記ミッションマネージャは、
前記第1のロボットの能力と選択されたロボットミッションの特徴とに基づいて、複数のロボットミッションの中の前記選択されたロボットミッションを実行するための前記第1のロボットを前記複数のロボットの中から選択することと、
前記第1の制御アダプタを介して前記第1のロボットに第1のロボットミッション制御情報を送信することであって、前記第1の制御アダプタは、前記第1の共通ロボットミッション制御情報を前記送信された第1のロボットミッション制御情報に変換する、前記第1のロボットミッション制御情報を送信することと、
前記第1のロボットが取得したデータから前記第1のデータアダプタによって変換されたミッションフィードバックを前記第1のデータアダプタから受信することと
を行うように構成される、
前記システム。
【請求項2】
前記ミッションマネージャが、
前記第2のロボットの能力と前記選択されたロボットミッションの特徴とに基づいて、前記選択されたロボットミッションを実行する前記第2のロボットを、前記複数のロボットの中から選択することと、
前記第2の制御アダプタを介して前記第2のロボットに第2のロボットミッション制御情報を送信することであって、前記第2の制御アダプタは、前記第1の共通ロボットミッション制御情報を前記送信された第2のロボットミッション制御情報に変換する、前記第2のロボットミッション制御情報を送信することと、
前記第2のロボットによって収集されたミッションフィードバックを前記第2のデータアダプタを介して受信することと
を行うようにさらに構成される、請求項1に記載のロボット群の管理のためのシステム。
【請求項3】
前記ミッションマネージャが、前記選択されたロボットミッションの少なくとも一部の実行のために前記第1のロボット及び前記第2のロボットを考慮し、前記第1のロボットの代わりに前記選択されたロボットミッションの少なくとも一部を実行する前記第2のロボットを選択する、請求項2に記載のロボット群の管理のためのシステム。
【請求項4】
前記ミッションマネージャが、前記選択されたロボットミッションの少なくとも一部の実行のために前記第1のロボット及び前記第2のロボットを考慮し、前記第1のロボットと協力して前記選択されたロボットミッションの少なくとも一部を実行する前記第2のロボットを選択する、請求項2に記載のロボット群の管理のためのシステム。
【請求項5】
前記第2のデータアダプタが、前記第1のデータアダプタとは異なり、前記第2の制御アダプタが、前記第1の制御アダプタとは異なる、請求項2に記載のロボット群の管理のためのシステム。
【請求項6】
前記受信したミッションフィードバックが、前記選択されたロボットミッションが完全に完了したという情報、前記選択されたロボットミッションが部分的に完了したという情報、前記選択されたロボットミッションが開始されなかったという情報、前記第1のロボットに関する健康情報、前記第1のロボットに関する状態情報、前記第1のロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、前記第1のロボットに関するモーションデータ、及び前記第1のロボットに関する位置データのうちの1つまたは複数を含む、請求項1に記載のロボット群の管理のためのシステム。
【請求項7】
前記第1のロボットに送信された前記第1のロボットミッション制御情報が、マルチステップのミッション指示もしくは個々の操作指示の1つまたは複数を含み、前記個々の操作指示は、目的地へのナビゲート、写真撮影、ビデオ撮影、録音、環境測定値の取得、物質の温度測定値の取得、気温の取得、湿度測定値の取得、計器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブもしくは他のコントロールの設定の修正、バルブ、ベーン、ローカルに制御されたポンプもしくは駆動装置の位置の調整、製品サンプルの取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、またはセンサの作動のうちの1つまたは複数を含む、請求項1に記載のロボット群の管理のためのシステム。
【請求項8】
ロボット群の管理のためのロボットサービスプラットフォームであって、
ロボットミッションを実行する第1のロボットを複数のロボットの中から選択することと、
前記第1のロボットの第1のロボットタイプに対応する第1のデータアダプタであって、前記第1のロボットによって収集されたミッションフィードバックを共通データフォーマットに変換するように構成されている前記第1のデータアダプタを、複数のデータアダプタの中から選択することと、
前記第1のロボットタイプに対応する第1の制御アダプタであって、共通ミッション制御情報を前記第1のロボットと適合する第1のロボットミッション制御情報に変換するように構成されている前記第1の制御アダプタを、複数の制御アダプタの中から選択することと、
前記第1の制御アダプタを介して前記第1のロボットに前記第1のロボットミッション制御情報を送信することであって、前記第1の制御アダプタは、前記第1の共通ロボットミッション制御情報を前記送信された第1のロボットミッション制御情報に変換する、前記第1のロボットミッション制御情報を送信することと、
前記第1のロボットによって収集されたミッションフィードバックを前記第1のデータアダプタを介して受信することと
を行うように構成された、前記ロボットサービスプラットフォーム。
【請求項9】
前記ロボットサービスプラットフォームが、
前記ロボットミッションを実行する第2のロボットを、前記複数のロボットの中から選択することと、
前記複数のデータアダプタの中から第2のロボットタイプに対応する第2のデータアダプタを選択することであって、前記第2のデータアダプタは、前記第2のロボットによって収集されたミッションフィードバックを前記共通データフォーマットに変換するように構成され、前記第2のデータアダプタは前記第1のデータアダプタとは異なる、前記第2のデータアダプタを選択することと、
前記複数の制御アダプタの中から前記第2のロボットタイプに対応する第2の制御アダプタを選択することであって、前記第2の制御アダプタは、共通ミッション制御情報を前記第2のロボットと適合する第2のロボットミッション制御情報に変換するように構成され、前記第2の制御アダプタは前記第1の制御アダプタとは異なる、前記第2の制御アダプタを選択することと、
前記第2の制御アダプタを介して前記第2のロボットに前記第2のロボットミッション制御情報を送信することであって、前記第2の制御アダプタは、前記第1の共通ロボットミッション制御情報を前記送信された第2のロボットミッション制御情報に変換する、前記第2のロボットミッション制御情報を送信することと、
前記第2のロボットによって収集されたミッションフィードバックを前記第2のデータアダプタを介して受信することと
を行うようにさらに構成される、請求項8のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項10】
前記ロボットサービスプラットフォームが、前記選択されたロボットミッションの少なくとも一部の実行のために前記第1のロボット及び前記第2のロボットを考慮し、前記第1のロボットの代わりに、前記ロボットミッションの前記少なくとも一部を実行する前記第2のロボットを選択する、請求項9に記載のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項11】
前記ロボットサービスプラットフォームが、前記選択されたロボットミッションの少なくとも一部の実行のために前記第1のロボット及び前記第2のロボットを考慮し、前記第1のロボットと協力して前記ロボットミッションの少なくとも一部を実行する前記第2のロボットを選択する、請求項9に記載のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項12】
前記ロボットサービスプラットフォームが、前記第1のロボットの能力と前記ロボットミッションの特徴とに基づいて、前記ロボットミッションを実行する前記第1のロボットを選択する、請求項8のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項13】
前記ロボットサービスプラットフォームが、前記第2のロボットの能力と前記ロボットミッションの特徴とに基づいて、前記ロボットミッションを実行する前記第2のロボットを選択する、請求項9に記載のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項14】
前記第1のロボットによって収集された前記受信したミッションフィードバックが、前記選択されたロボットミッションが完全に完了したという情報、前記選択されたロボットミッションが部分的に完了したという情報、前記選択されたロボットミッションが開始されなかったという情報、前記第1のロボットに関する健康情報、前記第1のロボットに関する状態情報、前記第1のロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、前記第1のロボットに関するモーションデータ、及び前記第1のロボットに関する位置データのうちの1つまたは複数を含む、請求項8のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項15】
前記第1のロボットに送信された前記第1のロボットミッション制御情報が、マルチステップのミッション指示もしくは個々の操作指示の1つまたは複数を含み、前記個々の操作指示は、目的地へのナビゲート、写真撮影、ビデオ撮影、録音、環境測定値の取得、物質の温度測定値の取得、気温の取得、湿度測定値の取得、計器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブもしくは他のコントロールの設定の修正、バルブ、ベーン、ローカルに制御されたポンプもしくは駆動装置の位置の調整、製品サンプルの取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、またはセンサの作動のうちの1つまたは複数を含む、請求項8に記載のロボット群の管理のためのロボットサービスプラットフォーム。
【請求項16】
ロボット群の管理のためのアダプタであって、
第1のロボットタイプに対応するデータアダプタであって、前記第1のロボットによって収集されたデータをロボットサービスプラットフォームと適合する共通データフォーマットに変換するように構成されている、前記データアダプタと、
前記第1のロボットタイプに対応する制御アダプタであって、共通ミッション制御情報を前記第1のロボットと適合するロボットミッション制御情報に変換するように構成されている、前記制御アダプタと
を含む、前記アダプタ。
【請求項17】
前記第1のロボットによって収集されたミッションフィードバックが、ロボットミッションが完全に完了したという情報、前記ロボットミッションが部分的に完了したという情報、前記ロボットミッションが開始されなかったという情報、前記第1のロボットに関する健康情報、前記第1のロボットに関する状態情報、前記第1のロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、ロボットに関するモーションデータ、及び前記ロボットに関する位置データのうちの1つまたは複数を含む、請求項16に記載のアダプタ。
【請求項18】
前記ロボットミッション制御情報が、マルチステップのミッション指示もしくは個々の操作指示の1つまたは複数を含み、前記個々の操作指示は、目的地へのナビゲート、写真撮影、ビデオ撮影、録音、環境測定値の取得、物質の温度測定値の取得、気温の取得、湿度測定値の取得、計器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブもしくは他のコントロールの設定の修正、バルブ、ベーン、ローカルに制御されたポンプもしくは駆動装置の位置の調整、製品サンプルの取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、またはセンサの作動のうちの1つまたは複数を含む、請求項16に記載のアダプタ。
【請求項19】
前記アダプタが、特定のタイプのロボット、または単一の製造業者によって製造されたロボットと通信するように構成される、請求項16に記載のアダプタ。
【請求項20】
前記アダプタが、複数のタイプのロボット、または複数の製造業者によって製造されたロボットと通信するように構成される、請求項16に記載のアダプタ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の様々な実施形態は一般的に、例えば、産業施設でのロボットサービスの管理に関し、より詳細には、ロボット群によって行われるミッションを受信、定義、割り当て、及び管理することに関する。
【背景技術】
【0002】
化学工場、石油精製施設、発電所などの産業施設は、非常に巨大な場合があり、施設内に行き渡る同時進行のプロセスを多数伴い得る。これらのプロセスの一部の側面は、中央制御室のオペレータによってリモートで管理されてよいが、他の側面は、施設内の様々な場所でタスクを完了することが必要である。これらのタスクは、機器のモニタリング及び調整、施設内の環境及び他の条件を感知することなどを含み得る。これらのタスクの一部は、一日24時間スケジュールで注意を必要とする場合があったり、他のタスクは、潜在的に危険な条件にさらされる必要があり、閉じ込められた空間もしくはアクセスが困難な空間での作業を必要としたりし得る。施設オペレータは、例えば、コストを低減し、施設のアップタイムを増加させ、または人間の作業者を潜在的に危険な条件から保護するために、産業タスクの完了をロボットに頼ることが増えている。しかしながら、複雑な施設では、要求されるタスクの範囲が、異なる製造業者によって提供される様々なタイプ及び能力の多くのロボットを必要とする場合がある。これらのロボットは、共通のプロトコルやコマンドに従って動作しない場合があり、類似の方法でデータを通信しない場合もある。したがって、ロボット群を産業施設に組み込むことは、ロボットの数とロボットに割り当てられたタスクが増加するにつれて、複雑さが増加し得る。この複雑さが、産業施設でのロボットの採用の大きな障壁となり得る。
【0003】
本開示は、特に、これら上記の課題の1つまたは複数を克服することに関する。
【発明の概要】
【課題を解決するための手段】
【0004】
開示される実施形態の追加の目的及び利点は、一部は以下の説明に記載され、一部は説明から明白になる、または、開示される実施形態の実践によって習得することができる。開示される実施形態の目的及び利点は、添付の特許請求の範囲で特に指摘している要素及び組み合わせによって実現され、達成される。以下の実施形態から明らかになるように、開示のシステム及び方法の利点は、ロボット及びその他のオペレータが、施設内のタスク実行に利用できるロボット及び他のオペレータの使用を最大化し得る効率的な方法でタスクに割り当てられることである。以下に説明する開示のシステム及び方法によって、例えば、利用可能なすべてのロボットもしくはオペレータのタイプ、ロボットもしくはその他のオペレータの能力、ならびにフィードバックに基づいて、ミッションの設計、割り当て、及びモニタリングを可能にすることができる。
【0005】
当然ながら、上述の一般的な記載と以下の詳細な記載は共に、単に例示的及び説明的なものであり、特許請求の範囲に記載されたように開示された実施形態を限定するものではない。
【0006】
ある態様によると、ロボット群の管理のためのシステムは、第1のロボットタイプの第1のロボット及び第2のロボットタイプの第2のロボットを含む複数のロボットと、ロボットサービスプラットフォームとを含み、ロボットサービスプラットフォームは、第1のロボットタイプに対応し、第1のロボットによって収集されたミッションフィードバックをロボットサービスプラットフォームと適合する共通データフォーマットに変換するように構成された第1のデータアダプタと、第2のロボットタイプに対応し、第2のロボットによって収集されたミッションフィードバックを共通データフォーマットに変換するように構成された第2のデータアダプタと、第1のロボットタイプに対応し、共通ミッション制御情報を第1のロボットと適合する第1のロボットミッション制御情報に変換するように構成された第1の制御アダプタと、第2のロボットタイプに対応し、共通ミッション制御情報を第2のロボットと適合する第2のロボットミッション制御情報に変換するように構成された第2の制御アダプタ、及びミッションマネージャと、を含む。ミッションマネージャは、第1のロボットの能力と選択されたロボットミッションの特徴とに基づいて、複数のロボットミッションのうちの選択されたロボットミッションを実行する第1のロボットを複数のロボットから選択することと、第1の制御アダプタを介して第1のロボットに第1のロボットミッション制御情報を送信することであって、第1の制御アダプタは、第1の共通ロボットミッション制御情報を送信した第1のロボットミッション制御情報に変換する、第1のロボットミッション制御情報を送信することと、第1のロボットによって取得されたデータから第1のデータアダプタによって変換されたミッションフィードバックを第1のデータアダプタから受信することとを行うように構成される。
【0007】
ミッションマネージャは、第2のロボットの能力と選択されたロボットミッションの特徴とに基づいて、複数のロボットの中から、選択されたロボットミッションを実行するための第2のロボットを選択することと、第2の制御アダプタを介して第2のロボットに第2のロボットミッション制御情報を送信することであって、第2の制御アダプタは、第1の共通ロボットミッション制御情報を送信された第2のロボットミッション制御情報に変換する、第2のロボットミッション制御情報を送信することと、第2のロボットによって収集されたミッションフィードバックを第2のデータアダプタを介して受信することとを行うようにさらに構成されてよい。
【0008】
ミッションマネージャは、選択されたロボットミッションの少なくとも一部の実行のために第1のロボット及び第2のロボットを考慮し、第1のロボットの代わりに選択されたロボットミッションの少なくとも一部を実行するために第2のロボットを選択してよい。
【0009】
ミッションマネージャは、選択されたロボットミッションの少なくとも一部の実行のために第1のロボット及び第2のロボットを考慮し、第1のロボットと協力して、選択されたロボットミッションの少なくとも一部を実行するために第2のロボットを選択してよい。
【0010】
第2のデータアダプタは第1のデータアダプタとは異なってよく、第2の制御アダプタは第1の制御アダプタとは異なってよい。
【0011】
受信されたミッションフィードバックは、選択されたロボットミッションが完全に完了したという情報、選択されたロボットミッションが部分的に完了したという情報、選択されたロボットミッションが開始されなかったという情報、第1のロボットに関する健康情報、第1のロボットに関する状態情報、第1のロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、第1のロボットに関するモーションデータ、及び第1のロボットに関する位置データのうちの1つまたは複数を含み得る。
【0012】
第1のロボットに送信された第1のロボットミッション制御情報は、マルチステップのミッション指示もしくは個々の操作指示のうちの1つまたは複数を含んでよく、個々の操作指示は、目的地までのナビゲーション、写真撮影、ビデオ撮影、録音、環境測定値の取得、物質の温度測定値の取得、気温の取得、湿度測定値の取得、機器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブもしくはその他のコントロールの設定の修正、バルブ、ベーン、ローカル制御ポンプもしくは駆動装置の位置の調整、製品サンプルの取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、またはセンサの作動のうちの1つまたは複数を含み得る。
【0013】
別の態様によると、ロボット群の管理のためのロボットサービスプラットフォームは、ロボットミッションを実行するための第1のロボットを複数のロボットの中から選択することと、第1のロボットタイプの第1のロボットに対応する第1のデータアダプタであって、第1のロボットによって収集されたミッションフィードバックを共通データフォーマットに変換するように構成されている第1のデータアダプタを複数のデータアダプタの中から選択することと、第1のロボットタイプに対応する第1の制御アダプタであって、共通ミッション制御情報を第1のロボットと適合する第1のロボットミッション制御情報に変換するように構成されている第1の制御アダプタを複数の制御アダプタの中から選択することと、第1の制御アダプタを介して第1のロボットに第1のロボットミッション制御情報を送信することであって、第1の制御アダプタは第1の共通ロボットミッション制御情報を送信された第1のロボットミッション制御情報に変換する、第1のロボットミッション制御情報を送信することと、第1のデータアダプタを介して第1のロボットによって収集されたミッションフィードバックを受信することとを行うように構成される。
【0014】
ロボットサービスプラットフォームは、複数のロボットの中から、ロボットミッションを実行するための第2のロボットを選択することと、複数のデータアダプタの中から、第2のロボットタイプに対応する第2のデータアダプタを選択することであって、第2のデータアダプタは、第2のロボットによって収集されたミッションフィードバックを共通データフォーマットに変換するように構成され、第1のデータアダプタとは異なる、第2のデータアダプタを選択することと、複数の制御アダプタの中から、第2のロボットタイプに対応する第2の制御アダプタを選択することであって、第2の制御アダプタは、共通ミッション制御情報を第2のロボットに適合した第2のロボットミッション制御情報に変換するように構成され、第1の制御アダプタとは異なる第2の制御アダプタを選択することと、第2の制御アダプタを介して第2のロボットに第2のロボットミッション制御情報を送信することであって、第2の制御アダプタは第1の共通ロボットミッション制御情報を送信された第2のロボットミッション制御情報に変換する、第2のロボットミッション制御情報を送信することと、第2のロボットによって収集されたミッションフィードバックを第2のデータアダプタを介して受信することとを行うようにさらに構成されてよい。
【0015】
ロボットサービスプラットフォームは、選択されたロボットミッションの少なくとも一部の実行のために第1のロボット及び第2のロボットを考慮してよく、第1のロボットの代わりにロボットミッションの少なくとも一部を実行するために第2のロボットを選択する。
【0016】
ロボットサービスプラットフォームは、選択されたロボットミッションの少なくとも一部の実行のために第1のロボット及び第2のロボットを考慮してよく、第1のロボットと協力してロボットミッションの少なくとも一部を実行するために第2のロボットを選択する。
【0017】
ロボットサービスプラットフォームは、第1のロボットの能力とロボットミッションの特徴とに基づいて、ロボットミッションを実行するための第1のロボットを選択してよい。
【0018】
ロボットサービスプラットフォームは、第2のロボットの能力とロボットミッションの特徴とに基づいて、ロボットミッションを実行するための第2のロボットを選択してよい。
【0019】
第1のロボットによって収集された受信されたミッションフィードバックは、選択されたロボットミッションが完全に完了したという情報、選択されたロボットミッションが部分的に完了したという情報、選択されたロボットミッションが開始されなかったという情報、第1のロボットに関する健康情報、第1のロボットに関する状態情報、第1のロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、第1のロボットに関するモーションデータ、及び第1のロボットに関する位置データのうちの1つまたは複数を含み得る。
【0020】
第1のロボットに送信された第1のロボットミッション制御情報は、マルチステップのミッション指示または個々の操作指示のうちの1つまたは複数を含んでよく、個々の操作指示は、目的地までのナビゲーション、写真撮影、ビデオ撮影、録音、環境測定値の取得、物質の温度測定値の取得、気温の取得、湿度測定値の取得、機器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブもしくはその他のコントロールの設定の修正、バルブ、ベーン、ローカル制御ポンプもしくは駆動装置の位置の調整、製品サンプルの取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、またはセンサの作動のうちの1つまたは複数を含み得る。
【0021】
別の態様によると、ロボット群の管理のためのアダプタは、第1のロボットタイプに対応するデータアダプタであって、第1のロボットによって収集されたデータをロボットサービスプラットフォームと適合する共通データフォーマットに変換するように構成されている、データアダプタと、第1のロボットタイプに対応する制御アダプタであって、共通ミッション制御情報を第1のロボットと適合するロボットミッション制御情報に変換するように構成されている制御アダプタとを含む。
【0022】
第1のロボットによって収集されたミッションフィードバックは、ロボットミッションが完全に完了したという情報、ロボットミッションが部分的に完了したという情報、ロボットミッションが開始されなかったという情報、第1のロボットに関する健康情報、第1のロボットに関する状態情報、第1のロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、ロボットに関するモーションデータ、及びロボットに関する位置データのうちの1つまたは複数を含み得る。
【0023】
ロボットミッション制御情報は、マルチステップのミッション指示または個々の操作指示のうちの1つまたは複数を含んでよく、個々の操作指示は、目的地までのナビゲーション、写真撮影、ビデオ撮影、録音、環境測定値の取得、物質の温度測定値の取得、気温の取得、湿度測定値の取得、機器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブもしくはその他のコントロールの設定の修正、バルブ、ベーン、ローカル制御ポンプもしくは駆動装置の位置の調整、製品サンプルの取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、またはセンサの作動のうちの1つまたは複数を含み得る。
【0024】
アダプタは、特定のタイプのロボットまたは単一の製造業者によって製造されたロボットと通信するように構成されてよい。
【0025】
アダプタは、複数のタイプのロボット、または複数の製造業者によって製造されたロボットと通信するように構成されてよい。
【0026】
ある態様によると、ロボット群を管理するコンピュータ実装方法は、複数のロボットミッションの特徴を取得することと、ロボット群の複数のロボットの能力を取得することと、選択されたロボットの取得された能力と選択されたロボットミッションの取得された特徴とに基づいて、複数のロボットの中から、複数のロボットミッションの中の選択されたロボットミッションを実行するロボットを選択することと、選択されたロボットミッションのロボットミッション制御情報を選択されたロボットに送信することと、選択されたロボットミッションのミッションフィードバックを選択されたロボットから受信することと、受信したミッションフィードバックをデータベースに記憶することと、受信したミッションフィードバックを情報分析モジュールに送信することと、情報分析モジュールから分析結果を受信することと、分析結果を運転管理システムに送信することとを含む。
【0027】
選択されたロボットミッションのロボットミッション制御情報は、共通ミッション制御情報をロボットミッション制御情報に変換するように構成された制御アダプタを介して、選択されたロボットに送信されてよい。
【0028】
選択されたロボットミッションのミッションフィードバックとミッションフィードバックの分析結果とは、選択されたロボットによって収集されたミッションフィードバックを共通のデータフォーマットに変換するように構成されたデータアダプタを介して、選択されたロボットから受信されてよい。
【0029】
情報分析モジュールは、ミッションフィードバックのデータ集約及び分析を実行することができる。
【0030】
ミッションフィードバックのデータ集約及び分析は、写真情報を処理すること、写真情報から計器指示値を決定すること、センサ指示値と以前のもしくは予測されたセンサ指示値とを比較すること、及びミッションフィードバックの統計分析を実行することのうちの1つまたは複数を含み得る。
【0031】
ミッションフィードバックのデータ集約及び分析は、以前のロボットミッションからのミッションフィードバックの機械学習もしくは人工知能分析、または以前のロボットミッションからのミッションフィードバックの分析結果を使用して実行されてよい。
【0032】
方法は、ロボットと協力して選択されたロボットミッションを実行するための第2のロボットを複数のロボットの中から選択することと、選択されたロボットミッションの第2のミッションフィードバックと、ミッションフィードバックの第2の分析結果とを第2のロボットから受信することとをさらに含んでよく、選択されたロボットミッションの第2のミッションフィードバック及びミッションフィードバックの第2の分析結果は、第2のロボットによって収集された第2のミッションフィードバックを共通データフォーマットに変換するように構成された第2のデータアダプタを介して第2のロボットから受信されてよい。
【0033】
ある態様によると、ロボット群を管理するコンピュータ実装方法は、複数のロボットミッションの特徴を取得することと、複数のロボットの能力を取得することと、選択されたロボットの取得された能力と選択されたロボットミッションの取得された特徴とに基づいて、複数のロボットミッションの中の選択されたロボットミッションを実行するロボットを複数のロボットの中から選択することと、選択されたロボットミッションのロボットミッション制御情報を選択されたロボットに送信することと、選択されたロボットミッションのミッションフィードバックとミッションフィードバックの分析結果とを選択されたロボットから受信することと、分析結果を運転管理システムに送信することとを含む。
【0034】
ミッションフィードバックの分析結果は、ロボットによって実行されるミッションフィードバックのデータ集約及び分析であってよい。
【0035】
ミッションフィードバックのデータ集約及び分析は、以前のロボットミッションからのミッションフィードバックの機械学習もしくは人工知能分析、または以前のロボットミッションからのミッションフィードバックの分析結果を使用して実行されてよい。
【0036】
選択されたロボットミッションのロボットミッション制御情報は、グローバルネットワーク、仮想プライベートネットワーク、またはローカルネットワークのうちの1つであるコンピュータネットワークを介して選択されたロボットに送信されてよい。
【0037】
選択されたロボットミッションのロボットミッション制御情報は、サーバを介して選択されたロボットに送信されてよい。
【0038】
方法は、選択されたロボットミッションのロボットミッション制御情報を選択されたロボットに送信する前に、第1のロボットタイプに対応する第1のロボットインタフェースによって選択されたロボットミッションのロボットミッション制御情報を処理することをさらに含み得る。
【0039】
方法は、選択されたロボットミッションのロボットミッション制御情報を第1のロボットインタフェースによって処理する前に、共通ロボットミッション制御情報をロボットミッション制御情報に変換するように構成された第1のロボットタイプに対応する第1のロボット制御アダプタによって、選択されたロボットミッションのロボットミッション制御情報を処理することをさらに含み得る。
【0040】
別の態様によると、ロボット群の管理のためのシステムは、複数のロボットと、ロボットサービスプラットフォームとを備え、ロボットサービスプラットフォームは、電子記憶媒体の形でロボット群の管理のための指示を記憶するデータストレージデバイスと方法を実行するために命令を実行するように構成されたプロセッサとを備え、方法は、複数のロボットミッションの特徴を取得することと、複数のロボットの能力を取得することと、選択されたロボットの取得された能力と選択されたロボットミッションの取得された特徴とに基づいて、複数のロボットミッションの中から選択されたロボットミッションを実行するロボットを複数のロボットの中から選択することと、選択されたロボットミッションのミッション制御情報を選択されたロボットに送信することと、選択されたロボットミッションのミッションフィードバックを選択されたロボットから受信することと、受信したミッションフィードバックをデータベースに記憶することと、受信したミッションフィードバックを情報分析モジュールに送信することと、分析結果を情報分析モジュールから受信することと、分析結果を運転管理システムに送信することとを含む。
【0041】
受信したミッションフィードバックをデータベースに記憶することは、以前のロボットミッションからのミッションフィードバックもしくは以前のロボットミッションからのミッションフィードバックの分析結果のさらなる分析ために、受信したミッションフィードバックを機械学習(ML)及び人工知能(AL)モジュールに提供すること、受信したミッションフィードバックをレポート作成プログラムに提供すること、またはミッション及び受信したミッションフィードバックの記録をミッションログに記憶することのうちの1つまたは複数を含み得る。
【0042】
ミッションフィードバックは、選択されたロボットによって収集されたミッションフィードバックをロボットサービスプラットフォームと適合する共通のデータフォーマットに変換するように構成されたデータアダプタを介して、選択されたロボットから受信されてよい。
【0043】
システムは、データアダプタによる処理の前に、ロボットインタフェースによってミッションフィードバックを処理することをさらに含み得る。
【0044】
選択されたロボットミッションのミッションフィードバックは、選択されたロボットミッションが完全に完了したという情報、選択されたロボットミッションが部分的に完了したという情報、選択されたロボットミッションが開始されなかったという情報、選択されたロボットに関する健康情報、選択されたロボットに関する状態情報、選択されたロボットに関する能力情報、写真、ビデオ、環境データ、センサ指示値、選択されたロボットに関するモーションデータ、または選択されたロボットに関する位置データのうちの1つまたは複数を含み得る。
【0045】
情報分析モジュールからのミッションフィードバック及び分析結果は、運転管理アプリケーション、保守アプリケーション、現場検査アプリケーション、またはワークフロー管理アプリケーションのうちの1つであるエンドユーザアプリケーションに提供されてよい。
【0046】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、1つまたは複数のミッションであって、それぞれ、ミッションプロファイルを含む1つまたは複数のミッションを受信することと、システムに関連付けられたロボットを決定することと、システムに関連付けられた各ロボットの少なくとも1つの能力を決定することと、少なくとも1つの能力に基づいて、システムに関連付けられたロボットの1つまたは複数に1つまたは複数のミッションを割り当てることと、1つまたは複数のロボットに割り当てられた1つまたは複数のミッションに基づいて、ミッションスケジュールを生成することとを含む。
【0047】
少なくとも1つの能力は、ロボットのメモリに記憶されてよく、ロボットの少なくとも1つの能力を決定することは、ロボットからシステムのメモリまたはプロセッサに少なくとも1つの能力を送信することを含んでよく、少なくとも1つの能力は、タスクを実行するロボットの能力、ロボットの利用可能性、ロボットのバッテリ充電量、ロボットに関連付けられた1つまたは複数のツール、またはロボットの1つまたは複数の材料を含み得る。
【0048】
各ミッションプロファイルは、各ミッションの実行の情報に関連する少なくとも1つの要素を含んでよく、1つまたは複数のロボットの中のロボットは、そのロボットの少なくとも1つの能力が、少なくとも1つの要素の少なくとも一部を満足させて、ロボットが各ミッションの少なくとも一部を実行することができる場合、1つまたは複数のミッションの中のミッションにシステムのプロセッサによって割り当てられてよい。
【0049】
方法は、システムのプロセッサによって、施設の少なくとも1つの環境データを決定することをさらに含んでよく、1つまたは複数のロボットに1つまたは複数のミッションを割り当てることは、少なくとも1つの環境データに基づいてもよく、少なくとも1つの環境データを決定することは、システムのプロセッサが少なくとも1つまたは複数のセンサから、または有線もしくは無線接続を介してシステムに接続されたサードパーティからデータを受信することを含む。
【0050】
少なくとも1つの環境データは、圧力、温度、湿度、気象条件、騒音レベル、騒音の種類、振動、物質の存在、または物質のレベルのうちの少なくとも1つを含み得る。
【0051】
1つまたは複数のミッションは、1つまたは複数のロボットから複数のロボットに割り当てることができる複数のミッションを含んでよく、各ミッションプロファイルは、1つまたは複数の優先順位であって、それぞれがミッションに対して所望のレベルの重要性を有する1つまたは複数の優先順位を含んでよく、1つまたは複数のミッションを割り当てることは、1つまたは複数の優先順位に基づいて1つまたは複数のミッションを割り当てることをさらに含み得る。
【0052】
1つまたは複数の優先順位は、ミッションプロファイルの各ミッションの実行の質の程度、ミッションプロファイルの各ミッションのコスト、及びミッションプロファイルの各ミッションで使用されるエネルギー量のうちの1つまたは複数を含んでよく、1つまたは複数の優先順位はシステムのメモリに記憶され、優先されるミッションを決定するためにシステムのプロセッサに送信される。
【0053】
方法は、システムのプロセッサによって、複数のミッションスケジュールを決定することであって、複数のミッションは複数のミッションスケジュールのそれぞれにおいて複数のロボットの異なるロボットにシステムのプロセッサによって割り当てられる、複数のミッションスケジュールを決定することと、システムのプロセッサによって、1つまたは複数の優先順位に基づいて、複数のミッションスケジュールから優先されるミッションスケジュールを決定することと、システムのプロセッサによって、または複数のロボットのそれぞれのプロセッサによって、優先されるミッションスケジュールの複数のミッションを開始することとをさらに含み得る。
【0054】
方法は、システムのプロセッサまたはロボットのプロセッサの1つまたは複数によって、1つまたは複数のロボットのうちのロボットからのフィードバックであって、有線または無線接続を介して送信されるフィードバックを受信することと、システムのプロセッサによって、1つまたは複数のミッションのうちの第1のミッションのミッションプロファイルをフィードバックに基づいて修正することとをさらに含んでよく、フィードバックは、第1のミッションを実行するようにスケジュールされた第1のロボットのプロセッサによって受信され、ミッションプロファイルを修正することは、第1のロボットが第1のミッションを完了することを妨げる。
【0055】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、第1のミッションを受信することと、第1のミッションを第1のロボットに割り当てることと、第1のミッションの第1のロボットへの割り当てに基づいてミッションスケジュールを決定することと、ミッションスケジュールに基づいて、第1のロボットに第1のミッションを実行するように指示することと、第1のロボットからフィードバックを受信することと、フィードバックに基づいて、第1のロボットとは異なる第2のロボットに第2のミッションを割り当てることとを含む。
【0056】
第1のミッションは、第1のロボットのメモリまたは第2のロボットのメモリの1つまたは複数に記憶された第1のミッションプロファイルによって定義されてよく、割り当てるステップは、システムのプロセッサまたは第1のロボットのプロセッサによって、フィードバックに基づいて第1のミッションプロファイルのデータを更新することと、システムのプロセッサまたは第1のロボットのプロセッサによって、更新された第1のミッションプロファイルに基づいて、第2のミッションプロファイルを生成することをさらに含んでよく、第2のミッションは、第2のミッションプロファイルによって定義されてよく、第2のロボットは、第2のミッションの少なくとも一部を実行可能であってよく、第1のロボットは、第2のミッションの少なくとも一部を実行不可能であってよい。
【0057】
方法は、システムのプロセッサまたは第2のロボットのプロセッサによって、第2のロボットの1つまたは複数の能力を第2のミッションプロファイルと比較することをさらに含んでよく、第2のロボットは、第2のミッションの一部を完了するための要素と一致する第2のロボットの1つまたは複数の能力に基づいて、第2のミッションの少なくとも一部を実行可能であってよい。
【0058】
フィードバックは、第1のミッションを実行するための要素、またはロボット群が動作するように構成されている環境の環境データのうちの少なくとも1つに対する変更を示す場合があり、第2のミッションプロファイルを生成することは、フィードバックに基づいて、第1のミッションを実行するための少なくとも1つの要素を変更することを含み得る。
【0059】
環境データは、圧力、温度、ガスの種類、階段の有無、湿度、気象条件、騒音レベル、騒音の種類、振動、または物質の1つまたは複数を含み得る。
【0060】
第1のミッション及び第2のミッションとは異なる第3のミッションは、システムのプロセッサによって第1のロボットまたは第2のロボットに割り当てられてよく、ミッションスケジュールは、第2のミッション及び第3のミッションの割り当てに基づいて、システムのプロセッサによって更新されてよい。
【0061】
方法は、第2のロボットが第2のミッションを完了できるかどうかをシステムのプロセッサによって判断することと、第2のロボットの能力が第2のロボットが第2のミッションを完了することを妨げる場合、第1のロボット及び第2のロボットとは異なる少なくとも第3のロボットに第2のミッションを割り当てることとをさらに含み得る。
【0062】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、1つまたは複数のミッションであって、それぞれ、ミッションプロファイルを含む1つまたは複数のミッションを受信することであって、ミッションプロファイルは、1つまたは複数のミッションのそれぞれについて、1つまたは複数のセンサからの環境データを含む、1つまたは複数のミッションを受信することと、ミッションに含まれたミッションプロファイルに基づいて、1つまたは複数のミッションを完了できる1つまたは複数のロボットを決定することと、一次スケジュールとして、1つまたは複数のロボットによって実行されるべき1つまたは複数のミッションをスケジュールすることと、環境データの変更を示すフィードバックであって、スケジュールされたミッションの1つまたは複数を実行する1つまたは複数のロボットの中のロボットによって取得されたフィードバックを受信することと、二次スケジュールとして、フィードバックに基づいて、1つまたは複数のロボットへの1つまたは複数のミッションをスケジュールすることとを含む。
【0063】
方法は、第1のロボットのロボット能力をシステムのプロセッサによって決定することと、第1のロボットのロボット能力が第1のミッションを定義するミッションプロファイルの特徴を満たすかどうかをシステムのプロセッサによって判断することとをさらに含んでよく、1つまたは複数のミッションのうちの第1のミッションを実行するようにスケジュールされた1つまたは複数のロボットのうちの第1のロボットのロボット能力は、環境データの変化によって定義された環境で動作するのに適していない場合があり得、方法は、システムのプロセッサによって第1のミッションを第2のロボットに割り当てることをさらに含み得る。
【0064】
第1のロボットのプロセッサはフィードバックを取得することができ、フィードバックは、第1のロボットに割り当てられたミッションに基づいて収集されたデータとは別に取得されてよい。
【0065】
一次スケジュールの1つまたは複数のミッションをスケジュールすることは、システムのプロセッサによって、1つまたは複数のミッションから第1のミッションを第1のロボットに割り当てることを含んでよく、フィードバックに基づく二次スケジュールのスケジューリングは、システムのプロセッサによって、第1のミッションの一部を実行することができる第2のロボットを決定することと、第2のロボットを第1のミッションに割り当てることとをさらに含んでよく、第2のロボットは、環境データの変化に基づいて、第1のロボットがミッションを達成するのを支援するように構成される。
【0066】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、第1のタスクを受信することと、第1のタスクを達成することに関する情報を示す第1のタスクの少なくとも1つの要素を決定することと、第1のタスクを達成すべき環境に関連する情報を示すデータを受信することと、第1のタスクを含むミッションを達成するための少なくとも1つのミッション能力であって、少なくとも1つの要素もしくはデータの1つまたは複数に基づいた少なくとも1つのミッション能力を決定することと、第1のタスクと、少なくとも1つの要素、データ、もしくは少なくとも1つのミッション能力のうちの1つまたは複数とに基づいて、ミッションプロファイルを作成することとを含む。
【0067】
ミッションは、第1のタスクを含む複数のタスクを含んでよく、少なくとも1つの要素は、複数のタスクが実行されるべき順序を含み得る。
【0068】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、第1のタスクとは異なる第2のタスクを受信することと、システムのプロセッサによって、第2のタスクの少なくとも1つの要素を決定することであって、第1のタスク及び第2のタスクに関連付けられた少なくとも1つの要素は第2のタスクに対して第1のタスクを完了すべき順序を指示し得る、第2のタスクの少なくとも1つの要素を決定することと、システムのプロセッサによって、第2のタスクと第2のタスクの少なくとも1つの要素とに基づいて、第2のミッションプロファイルを作成することとをさらに含み得る。
【0069】
方法は、システムのプロセッサによって、1つまたは複数のロボットから1つまたは複数のロボットの能力を受信することと、システムのプロセッサによって、1つまたは複数のロボットの能力によって、1つまたは複数のロボットが、第1のタスク及び第2のタスクのそれぞれによって示された順序で、第1のタスク及び第2のタスクを実行するのが可能であるかどうかを判断することと、1つまたは複数のロボットが第1のタスク及び第2のタスクを指定された順序で実行することができる場合、システムのプロセッサによって、第1のタスク及び第2のタスクを1つまたは複数のロボットに割り当てることとをさらに含み得る。
【0070】
ミッションは複数のタスクを含んでよく、ミッションプロファイルは複数のタスクのそれぞれに対するサブミッションプロファイルを含む。
【0071】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、ミッションを第1のロボットに割り当てることと、システムのプロセッサ、またはロボット群のロボットのプロセッサの1つまたは複数によって、フィードバックを受信することであって、フィードバックは、ミッションのステップの場所にアクセスするためのルートにある物体、ロボットがルートを経由してその場所にアクセスすることを妨げる物体の位置に関する情報を含み得る、フィードバックを受信することと、システムのプロセッサによって、タスクのステップの場所にアクセスするために1つまたは複数のルートを決定するための地図データを受信することと、システムのプロセッサによって、ミッションプロファイルのデータを変更することであって、ミッションプロファイルのデータを変更することによって、第1のロボットが、変更されたデータに基づいて、第1のロボットに割り当てられたすべての他のミッションに関する順序でミッションを実行するように、第1のロボットに割り当てられたミッションを再スケジュールさせる、ミッションプロファイルのデータを変更することとをさらに含み得る。
【0072】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、ロボット群を決定することと、システムのプロセッサによって、ロボット群の各ロボットについて、各ロボットの特徴を定義するロボット能力であって、各ロボット、またはロボット群の能力を記憶するストレージからシステムのプロセッサに送信されるロボット能力を受信することと、システムのプロセッサによって、ミッションの少なくとも1つのミッション能力がロボット群から選択されたロボットのロボット能力にマッチするかどうかを決定することと、少なくとも1つのミッションのミッション能力が選択されたロボットのロボット能力にマッチする場合、システムのプロセッサによって、ミッションを選択されたロボットに割り当てることとをさらに含み得る。
【0073】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、フィードバックを受信することと、システムのプロセッサによって、フィードバックに基づいてミッションプロファイルを更新することとをさらに含んでよく、フィードバックは、少なくとも1つの要素、データ、または少なくとも1つのミッション能力のうちの1つまたは複数に対する変更を示し得る。
【0074】
ミッションプロファイルは、ロボット群を管理するシステムに固有のシステムコンピュータコード言語で定義されてよい。
【0075】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、ロボット群を決定することと、システムのプロセッサによって、ロボット群の各ロボットのロボットコンピュータコード言語を決定することと、システムのコンピュータコード言語をサポートしない各ロボットのために、システムのプロセッサによって、ミッションプロファイルをロボットコンピュータコード言語に翻訳することとをさらに含み得る。
【0076】
ある態様によると、ロボット群を管理するコンピュータ実装方法は、第1のミッションの実行に関する要素を含む第1のミッションを受信することと、第1のミッションが実行される環境に関するデータを決定することと、ロボット群の1つまたは複数のロボットに第1のミッションを実行するように指示することと、第1のミッションの実行中に、環境に関する情報を含むフィードバックを受信することと、フィードバックに基づいて第1のミッションを訂正することであって、第1のミッションを訂正することによって、1つまたは複数のロボットのうちの少なくとも1つのロボットにスケジュールされた操作を変更させる、第1のミッションを訂正することとを含む。
【0077】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、フィードバックに基づいて第2のミッションを定義することをさらに含み得る。
【0078】
フィードバックは、ミッションのステップの場所にアクセスするためのルートにある物体、ロボットがルートを経由してその場所にアクセスすることを妨げる物体の位置に関する情報を含んでよく、方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、タスクの場所にアクセスするための1つまたは複数のルートを決定するための地図データを受信することをさらに含んでよく、スケジュールされた操作を変更することは、ロボットが最短の時間でミッションを実行するように、第1のミッションを含む、ロボットに割り当てられた第1のミッションを再スケジュールすることを含む。
【0079】
環境フィードバックは、第1のミッションのステップの場所にアクセスするためのルートに位置する物体であって、ロボットがそのルートを経由してその場所にアクセスするのを妨げるような位置にある物体に関する情報を含んでよく、方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、ミッションスケジュールから第1のミッションを取り除くようにミッションスケジュールを訂正することと、システムのプロセッサによって、1つまたは複数のロボットのそれぞれから少なくとも1つのロボット能力を受信することと、システムのプロセッサによって、(1)ミッションの環境内で動作することができるロボット能力、及び(2)第1のミッションを実行して完了することができるロボット能力を有する第2のロボットを1つまたは複数のロボットから決定することと、システムのプロセッサによって、ミッションスケジュールから取り除かれた第1のミッションを第2のロボットに再割り当てすることとをさらに含み得る。
【0080】
第1のミッションを訂正することは、ロボット群が動作するように構成されているシステムのプロセッサ、第1のロボットのプロセッサ、及び第2のロボットのプロセッサのうちの1つまたは複数の間でデータを送信することと、システムのプロセッサによって、第1のミッションを実行する第2のロボットを決定することとを含んでよく、第1のロボット及び第2のロボットの両方に第1のミッションを実行することを要求する場合がある。
【0081】
第1のロボットまたは第2のロボットのうちの一方は、第1のロボットまたは第2のロボットのうちの他方が第1のミッションのステップの場所にアクセスできるようにしてよく、第1のロボットまたは第2のロボットのうちの他方はステップを実行するように構成されてよい。
【0082】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、第1のミッション中に実行するべき複数のタスクによって定義された第1のミッションを受信することと、第1のミッションの第1の要素であって、複数のタスクを実行するべき時系列を含む第1の要素を決定することと、第1の要素に基づいて元になるミッションプロファイルを作成することと、システムからのフィードバックであって、ロボット群を含むシステムからフィードバックを受信することと、元になるミッションプロファイルをフィードバックに基づいて修正することであって、フィードバックは、複数のタスクの時系列の変更を含む、修正することとを含む。
【0083】
フィードバックは、第1のミッションを実行するようにスケジュールされたロボット群のロボットによって受信されてよく、方法は、ロボットのプロセッサによって、元のミッションプロファイルの時系列とは異なる時系列で複数のタスクをロボットに実行させることをさらに含み得る。
【0084】
方法は、ロボット群が動作するように構成されたシステムのプロセッサによって、ロボット群の第1のロボットに第1のミッションを割り当てることであって、フィードバックは複数のタスクに関連する第2の要素の変更をさらに含む、第1のミッションを割り当てることと、システムのプロセッサによって、第1のロボットから第1のロボットの能力を受信することと、第1のロボットの能力によって、第1のロボットが更新された第2の要素に基づいて、第1のミッションの複数のタスクを実行することができない場合、システムのプロセッサによって、更新された情報に基づいて第1のミッションの複数のタスクを実行することができる、第1のロボットとは異なる第2のロボットに第1のミッションを割り当てることとをさらに含み得る。
【0085】
第1の要素は、ロボット群の中のロボットが複数のタスクを達成するために使用できるツールパッケージに関する情報を含んでよく、フィードバックはツールパッケージに対する変更を含み得る。
【0086】
ある態様によると、ロボット群を管理するコンピュータ実装方法は、タスクの実行に関連する情報を含む第1のミッションプロファイルを受信することと、ロボット群の1つまたは複数のロボットの能力を決定することと、1つまたは複数のロボットの能力とミッションプロファイルの情報とに基づいて、第1のミッションプロファイルによって定義された第1のミッションを1つまたは複数のロボットのうちの第1のロボットに割り当てることと、ミッションプロファイルの情報に基づいて、第1のロボットにタスクを実行するように指示することと、第1のロボットによるタスクの実行から取得されたデータを受信することと、受信したデータに基づいて第2のミッションプロファイルであって、タスクの実行に関する情報を含む第2のミッションプロファイルを定義することを含む。
【0087】
タスクの実行に関連する情報は、ロボット群を管理するように構成されたシステムのメモリに記憶され、タスクが実行された過去のミッションに関連する履歴データを含み得る。
【0088】
履歴データは、ロボット群を管理するように構成されたシステムのプロセッサによって受信された環境データを含んでよく、環境データは、少なくとも1つまたは複数のセンサから、または有線もしくは無線接続を介してシステムに接続されたサードパーティから送信されてよい。
【0089】
環境データは、時間の経過とともに変化する特徴を含む場合があり、方法は、システムのプロセッサによって、少なくとも1つまたは複数のセンサから、または環境データに関連するサードパーティから定期的な更新を受信することをさらに含み得る。
【0090】
環境データは、タスクの場所の環境測定値を含んでよく、値の範囲は履歴データに基づいて決定されてよく、環境測定の測定値が所定の範囲内にあるときにタスクが実行されてよい。
【0091】
方法は、ロボット群を管理するように構成されたシステムのプロセッサによって、第1のロボットの能力によって第1のロボットが第2のミッションプロファイルのすべての要素を実行できるかどうかを判断することと、第1のロボットが第2のミッションプロファイルのすべての要素を実行することができない場合、システムのプロセッサによって、第2のミッションプロファイルによって定義された第2のミッションを、第1のロボットとは異なる第2のロボットに割り当てることとをさらに含み得る。
【0092】
方法は、ロボット群を管理するように構成されたシステムのプロセッサまたはロボットのプロセッサのうちの少なくとも1つによって、ロボット群が動作するように構成されたシステムからフィードバックを受信することと、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって、第1のミッションをモニタすることと、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって、受信したフィードバックによる第1のミッションプロファイルの要素への変更に基づいて自動的に第1のミッションプロファイルを更新することと、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって、第1のロボットの能力によって、更新された第1のミッションプロファイルに基づいた第1のミッションのすべての要素を第1のロボットが実行できるかどうかを判断することと、第1のロボットが更新された第1のミッションプロファイルに基づいて第1のミッションを実行することができない場合、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって、更新されたミッションプロファイルに基づいて、第2のミッションを実行する能力を有するロボットを複数のロボットから決定することと、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって、第2のミッションを実行することができるロボットに第2のミッションを割り当てることとをさらに含み得る。
【0093】
第2のミッションを実行することができるロボットのミッションスケジュールは、第2のミッションの割り当てに基づいて、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって訂正されてよい。
【0094】
方法は、ロボット群を管理するように構成されたシステムのプロセッサまたはロボットのプロセッサのうちの少なくとも1つによって、第1のロボットの能力によって、第1のロボットが第2のミッションプロファイルのすべての要素を実行できるかどうかを判断することと、第1のロボットの能力によって、第1のロボットが第2のミッションのあらゆるステップを実行することができない場合、フィードバックを受信する少なくともシステムのプロセッサまたはロボットのプロセッサによって、第1のロボット及び第2のロボットを第2のミッションに割り当てることをさらに含んでよく、第2のロボットは、第1のロボットが第2のミッションのすべてのステップを完了することを可能にすることができる。
【0095】
第2のミッションはさらに、ロボット群を管理するように構成されたシステムのプロセッサまたはロボットのプロセッサのうちの少なくとも1つによって第2のロボットに割り当てられてよく、第1のロボット及び第2のロボットは第2のミッションを完了するために連携するように構成されてよい。
【0096】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、タスクの実行に関連する情報を含む第1のミッションプロファイルを受信することと、1つまたは複数のロボットの能力を決定することと、1つまたは複数のロボットの能力と第1のミッションプロファイルの情報とに基づいて、1つまたは複数のロボットのうちの第1のロボットにタスクを割り当てることと、ミッションプロファイルの情報に基づいて第1のロボットにタスクを実行するように指示することと、第1のロボットによるタスクの実行から取得されたデータを受信することと、受信したデータに基づいて第1のミッションプロファイルを修正することによって第2のミッションプロファイルを定義することと、第2のミッションプロファイルの情報に基づいてタスクを実行するように第1のロボットに指示することとを含む。
【0097】
方法は、第1のロボットが第2のミッションプロファイルに基づいてタスクを実行できない場合、ロボット群を管理するように構成されたシステムのプロセッサによって、1つまたは複数のロボットのうちの第2のロボットが第2のミッションプロファイルに基づいてタスクを実行できるかどうかを判断することと、システムのプロセッサによって、第2のミッションプロファイルに基づいたタスクを第2のロボットの能力に基づいて第2のロボットに割り当てることとをさらに含み得る。
【0098】
第2のミッションは、タスクの場所に対する第2のロボットの近接度に基づいて、システムのプロセッサによって第2のロボットに割り当てられてよい。
【0099】
方法は、第1のロボットがタスクの一部を実行することができない場合、ロボット群を管理するように構成されたシステムのプロセッサまたは第1のロボットのプロセッサの少なくとも1つによって、1つまたは複数のロボットのうちの第2のロボットがタスクの一部を実行することができるかどうかを判断することと、システムのプロセッサまたは第1のロボットのプロセッサの少なくとも1つによって、第1のロボット及び第2のロボットが第2のミッションプロファイルに基づいて第2のミッションを実行するようにスケジュールすることとをさらに含み得る。
【0100】
第1のロボットのプロセッサは、第2のミッションプロファイルに基づいてタスクを実行している間、データを受信し続けることができ、方法は、ロボット群を管理するように構成されたシステムのプロセッサまたは第1のロボットのプロセッサのうちの少なくとも1つによって、第1のロボットがタスクの一部を実行することができるかどうかを、受信したデータに基づいて判断することと、第1のロボットがタスクの一部を実行することができない場合、システムのプロセッサまたは第1のロボットのプロセッサの少なくとも1つによって、受信したデータに基づいて第3のミッションプロファイルを定義することと、システムのプロセッサまたは第1のロボットのプロセッサの少なくとも1つによって、第3のミッションプロファイルに基づいてタスクを実行することができる第2のロボットを決定することと、システムのプロセッサまたは第1のロボットのプロセッサの少なくとも1つによって、第3のミッションプロファイルに基づいてタスクを実行するように第2のロボットに指示することとをさらに含み得る。
【0101】
第3のミッションプロファイルは、タスクの過去の実行に基づく履歴データを含み得る。
【0102】
別の態様によると、ロボット群を管理するコンピュータ実装方法は、第1のミッションプロファイルを受信することと、ロボット群の1つまたは複数のロボットの能力を決定することと、1つまたは複数のロボットの能力と第1のミッションプロファイルとに基づいて、1つまたは複数のロボットのうちの第1のロボットにタスクを割り当てることと、ミッションプロファイルの情報に基づいてタスクを実行するように第1のロボットに指示することと、第2のロボットによるタスクの実行から取得されたデータであって、タスクに関連する履歴データであるデータを受信することと、履歴データに基づいて第1のミッションプロファイルを修正することによって第2のミッションプロファイルを定義することと、第2のミッションプロファイルの情報に基づいてタスクを実行するように第1のロボットに指示することとを含む。
【0103】
タスクは、ロボット群を管理するように構成されたシステムのプロセッサによって、中央データベースからの指示に基づいてミッションスケジュールを変更するように第3のロボットに指示することを含み得る。
【0104】
方法は、ロボット群を管理するように構成されたシステムのプロセッサによって、環境データを受信することと、第1のロボットにタスクを実行するように指示する前に、システムのプロセッサによって、環境データに基づいて第1のミッションプロファイルを修正することとを含み得る。
【0105】
環境データに基づいて第1のミッションプロファイルを修正することによって、第1のロボットがタスクを実行することができなくなる場合、方法は、ロボット群を管理するように構成されたシステムのプロセッサによって、第2のロボットが環境データに基づいてタスクを実行することができるかどうかと、第2のロボットの能力によって第2のロボットが環境データによって定義された環境をナビゲートすることができるかどうかとを判断することと、第2のロボットが環境データに基づいてタスクを実行できる場合、システムのプロセッサによって、第2のロボットにタスクを実行するように指示することとをさらに含み得る。
【0106】
添付の図面は、本明細書の一部に組み込まれ、本明細書を構成し、様々な例示的な実施形態を図示し、説明と併せて、開示している実施形態の原理を説明する役目を果たす。
【図面の簡単な説明】
【0107】
図1】産業施設環境100内の例示的な移動ロボットを示す。
図2】産業施設の運転管理システムのタスク及びコンポーネントを示す。
図3】運転管理システム内のロボット活動の一般化されたモデルを示す。
図4】1つまたは複数の実施形態による、運転管理システム内のロボットサービスプラットフォームのコンポーネントを示す。
図5】1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォームの詳細なアーキテクチャを示す。
図6】1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォーム及び関連するコンポーネントの詳細なアーキテクチャを示す。
図7】1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォームを含む運転管理システムのサブシステムを示す。
図8】1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォーム内のロボット制御及び通信のための環境を示す。
図9】1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォーム内でロボットタスクを計画し、割り当て、実行するプロセスを示す。
図10】一例による、ロボット群の管理のための高レベルの方法のフローチャートを示す。
図11図10のロボット群の管理中にミッションを定義するための高レベルの方法のフローチャートを示す。
図12図10のロボット群の管理中にミッションを割り当てるための高レベルの方法のフローチャートを示す。
図13図10のロボット群の管理中にミッションを管理するための高レベルの方法のフローチャートを示す。
図14】一例による、データを入力及び表示するためのダッシュボードを示す。
図15】一例による、図14のダッシュボードの例を示す。
図16】一例による、優先順位に基づいてミッションを割り当てるためのフローチャートを示す。
図17】一例による、ロボット群を管理するためのフローチャートを示す。
図18】一例による、ロボット群を管理するためのフローチャートを示す。
図19】別の例による、ロボット群を管理するためのフローチャートを示す。
図20】別の例による、ロボット群を管理するためのフローチャートを示す。
図21】さらに別の例による、ロボット群を管理するためのフローチャートを示す。
図22】さらに別の例による、ロボット群を管理するためのフローチャートを示す。
図23】一例による、ロボット群を管理するためのフローチャートを示す。
図24】一例による、ロボット群を管理するためのフローチャートを示す。
図25】一例による、機械学習を使用してミッションを定義するためのフローチャートを示す。
図26】一例による、機械学習を使用してミッションを割り当てるためのフローチャートを示す。
図27】一例による、フィードバックを受信するためのフローチャートを示す。
図28】別の例による、フィードバックを受信するためのフローチャートを示す。
図29】一例による、ミッションを再割り当てするためのフローチャートを示す。
図30】一例による、ユーザ入力を示す。
図31】一例による、ミッションを定義するためのテンプレートを示す。
図32】A及びBは、一例による、図1の施設内のセンサを示す。
図33】一例による、ミッションからのフィードバックを示す。
図34】一例による、ミッションを再割り当てするためのフローチャートを示す。
【発明を実施するための形態】
【0108】
本開示の様々な実施形態は一般的に、例えば、産業施設でのロボットサービスの管理に関し、より詳細には、ロボット群によって行われるミッションを受信、定義、割り当て、及び管理すること、このようなロボットによって収集されたデータを管理すること、ならびに他の関連するシステムを管理することに関する。
【0109】
以下で使用される用語は、本開示のある特定の例の詳細な説明と併せて使用されているとしても、最も広範で合理的な方法で解釈されてよい。実際、以下では特定の用語が強調される場合もあるが、限定されて解釈されることを意図した用語は、この詳細な説明のセクションで明示的かつ具体的にそのように定義される。
【0110】
化学工場、石油精製施設、発電所、製造施設などの産業施設は、非常に巨大な場合があり、施設内に行き渡る同時進行のプロセスを多数伴い得る。これらのプロセスの一部の側面は、中央制御室のオペレータによってリモートで管理され得るが、他の側面は、施設内の様々な場所でタスクを完了することが必要な場合がある。これらのタスクは、機器のモニタリング及び調整、施設内の環境もしくは他の条件の感知、製造タスクの実行などを含み得る。これらのタスクの一部は、一日24時間スケジュールでの注意を必要とする場合があり、他のタスクは、潜在的に危険な状態にさらされたり、閉じ込められた空間もしくはアクセスが困難な空間での作業を必要としたりし得る。施設オペレータは、これらのタスクを完了するために自律移動ロボットに注目することが増えている。これらのタスクの一部は、プラント全体のいくつかの場所にある特殊なセンサまたはアクチュエータによって達成可能な場合があるが、コスト、複雑さ、またはその他の考慮事項により優先順位が付けられない場合がある。
【0111】
ロボット群を管理するシステム
図1は、産業施設環境100内の産業施設120のこのような例示的な移動ロボット110を示す。産業施設120の運転は、1人または複数の人間オペレータによって操作される運転管理システムによって制御されてよい。図2は、産業施設120の運転管理システム200のタスク及びコンポーネントを示す。
【0112】
産業施設120の運転は、施設の運転、施設内の安全性もしくは他の条件のモニタリング、ならびに施設の保守に関連するタスク及びコンポーネントを含み得る。全体的な運転は、エンタープライズリソース管理システム202によって管理されてよく、エンタープライズリソース管理システム202は、例えば、生産計画204、生産会計206、保守会計220、ならびに定期保守及び長期保守222の両方の計画などのタスクを制御し得る。
【0113】
産業施設120の運転及び保守のタスクは、運転オフィスもしくは中央制御室(CCR)234、または産業施設120自体の生産エリア内などの現場236で実行されてよい。
【0114】
オフィス/CCR234内で実行される運転関連タスクは、例えば、生産スケジューリング208、データ照合及び生産結果報告210、生産運転管理及び報告212、データヒストリアン214、パネル操作216、及びプロセス制御218を含み得る。
【0115】
オフィス/CCR234内で実行される保守関連のタスクは、例えば、保守及び信頼性の管理及び結果報告224、年間保守計画及びスケジューリング226、保守運転管理及び報告228、ならびにサードパーティ請負業者管理230を含み得る。
【0116】
現場236で実行される運転関連タスクは、例えば、人間が実行する操作タスク238及びロボットが実行する操作タスク240を含み得る。現場236で実行される保守関連タスクは、例えば、人間が実行する保守タスク242及びロボットが実行する保守タスク244を含み得る。
【0117】
ロボットが実行する操作タスク240及びロボットが実行する保守タスク244、ならびに他のロボットが実行するタスクは、ロボット管理システム232によって管理されてよい。1つまたは複数のそのようなロボット管理システムの例示的な実施形態について、以下でより詳細に説明する。
【0118】
運転管理システム内で動作するロボットには、ロボットの管理、追跡、ロボットとその活動の分析など、システム内の各ロボットとロボット活動に関する追加情報とメタデータが必要な場合がある。例えば、複数のロボットがある活動で協力している場合、または複数のロボットの活動が競合し得る場合、ロボットは他のロボットとその活動に関する情報を必要とする場合がある。図3は、「Enterprise-Control System Integration」のISA-95標準に基づいた、運転管理システム内のロボット活動の一般化モデル300を示す(https://www.isa.org/standards-and-publications/isa-standards/isa-standards-committees/isa95)。
【0119】
ロボットが実行する操作タスク240及びロボットが実行する保守タスク244を含む、産業施設120内で機能するロボット110の管理は、ロボット110によって実行される活動、ロボット110及び実行されるタスクに関連するデータ、ロボット管理システム232によって実行される操作、ならびにロボット管理システム232とロボット110との間の通信に関連し得る。このような管理は、ロボット活動300のモデルに従って構造化されてよい。
【0120】
ロボット110に関連するデータは、例えば、各ロボット110のロボット定義305、各ロボット110のロボット能力310、各ロボット110のロボットスケジュール315、及び各ロボット110のロボット性能メトリクス320を含み得る。
【0121】
ロボット管理システム232によって実行される操作は、例えば、ロボットリソース管理330、ロボット定義管理350、詳細なロボットスケジューリング325、ロボット派遣345、ロボット実行管理360、ロボット追跡335、ロボットデータ収集355、及びロボット性能分析340を含み得る。複数のロボットベンダが提供するロボットを利用するシステムでは、異なるベンダが提供するロボット間の差異がこれらの操作に反映される場合がある。例えば、各ロボットベンダは、各ロボットに関するデータを、そのロボットまたはベンダに固有の異なるフォーマットで利用可能にすることができる。これに対処するために、ロボット管理システム232は、人間オペレータに関連し得るデータのサブセットを取り出して解釈することによってデータを標準化してよい。例えば、異なるベンダの2台のロボットがそれぞれ、妨害に関連するミッションでエラーを有する場合があるが、ロボットはプラットフォームに応じて異なる方法でそのエラーをフォーマットして提示する可能性がある。ロボット管理システム232は、図6に関して後述するロボット固有アダプタ644などのアダプタを介して複数のベンダからロボットによって提示される異なる情報を正確に解釈することができる。
【0122】
ロボットリソース管理330中に、ロボット管理システム232は、ロボット能力情報310を更新または参照して、利用可能なロボットリソースに関する情報を維持し、それらのリソースをロボット割り当てタスクが利用できるようにすることができる。例えば、ミッションやタスクの実行中に、ロボットのバッテリの消耗、ロボットに取り付けられた1つまたは複数のツールやセンサの損傷や誤動作、ロボットに取り付けられた1つまたは複数のツールやセンサの除去や交換、またはロボットの能力に対するその他の変更など、ロボットの能力が一時的に変化する場合がある。さらに、ロボットは、障害物、環境条件(湿潤状態から保護されていないロボットへの豪雨など)、ロボットの軌道、脚、もしくはその他の推進手段の損傷、ロボット管理システム232もしくは他のプラントシステムへの接続性の損失などにより、現在の場所から移動できなくなる場合がある。さらに、砂漠環境などの酷暑の中で作業するロボットは、ロボットのコンポーネントが過熱する場合がある。同様に、極寒の中で作業するロボットは、関節やその他の可動部品の動作に影響を与える場合がある。このような極端な温度により、ロボットのバッテリの寿命が短くなる可能性がある。ロボット管理システム232は、ロボットの条件をモニタし、ロボット能力情報310を維持してそのような変化を反映し、最高の性能を得るためにロボット群をどのようにスケジュールまたは再スケジュールするかを決定することができる。いくつかの実施形態では、オペレータまたは技術者が、ロボット管理システム232のロボット能力情報310の更新を担当する場合がある。各ロボットはまた(または代替として)、ミッション実行前にペイロード状態を含む能力情報をロボット管理システム232に報告することもできる。ロボットのペイロード能力がミッションに対して不十分であるとロボット管理システム232が判断した場合、ロボット管理システム232は、ミッションに対して異なるロボットを選択し、特定のロボット能力を更新することができる。ロボット管理システム232は、更新されたロボット能力に対して将来のスケジュールされたミッションをチェックすることができる。ミッションの実行時に他に利用可能なロボットが存在しない場合、ミッションの実行を可能にするためにロボットペイロードが変更、交換、及び/または更新される場合がある。このような変更、交換、または更新は、ミッションが当初意図されていた、または実行がスケジュールされていた期間中のロボットの利用可能性に影響を与える可能性がある。ミッションは、ミッションが実行され得る期間、またはその他の繰り返し発生する状況を示す場合がある。このような場合、ミッションは、ミッションに適した条件下で後に実行されるように再スケジュールされてよい。再スケジュールを回避するために、ロボット管理システム232は、ミッションの開始前にロボット状態を検証することができる(必要な時間は施設及び人員に依存する)。この検証には事前チェックが必要な場合があり、事前チェックはカメラ、マイク、センサ、ペイロード、及び/またはロボットのその他の能力のチェックを含み得る。これは、可変センサと不変センサを備えたロボットを含むすべてのロボットに対して行うことができる。
【0123】
ロボット定義管理350中に、ロボット管理システム232は、ロボット定義情報を維持することができ、ロボット固有の生産ルール365をロボット110に送信することができる。例えば、上記のロボット能力の一時的な変更に加えて、特定のロボットは、センサやツールの取り外しまたは取り付け、ロボットが施設の異なる限られた部分でミッションやタスクを実行できるように施設の別のエリアへのロボットの再配置など、能力と利用可能性の永続的な変更の影響を受ける場合がある。ロボットへの修正により、ロボットの他の能力が変更される場合がある。例えば、ロボットの総重量の変更により、バッテリ寿命、移動速度、またはロボットの最大移動距離が変わる可能性がある。このような変更は、更新されたロボット定義情報に反映されてよい。詳細なロボットスケジューリング325中に、ロボット管理システム232は、全体的なロボットのスケジュールに関する情報を決定し、更新することができる。ロボットスケジューリングについては、以下でさらに詳しく説明する。ロボット派遣345中に、ロボット管理システム232は、ロボットに割り当てられたタスクを実行するために選択されたロボット110を解放することができる。ロボット派遣については、以下でさらに詳しく説明する。ロボット実行管理360中に、ロボット管理システム232は、ロボットコマンド370をロボット110に送信し、ロボット110から応答375を受信することができる。ロボット活動コマンドとデータ収集については、以下でさらに詳しく説明する。ロボット追跡335中、ロボット管理システム232は、ロボットに割り当てられた活動中またはアイドル期間中のロボットの場所、状態、及び性能に関する情報を維持することができる。ロボット追跡については、以下でさらに詳しく説明する。ロボットデータ収集355中に、ロボット管理システム232はロボット110からロボット固有のデータ380を受信することができる。ロボットデータ収集については、以下でさらに詳しく説明する。
【0124】
ロボット性能分析340中に、ロボット管理システム232は、ロボットに割り当てられたタスクの完了におけるロボット性能の分析を実行することができる。この分析は、ロボットに割り当てられたタスクの性能を向上させるために、ロボット定義305及びロボット能力310に関する情報の更新を含み得る。例えば、ある場所から別の場所への移動、階段やスロープの移動など、ロボットがミッションやタスク、またはミッションやタスクの一部を完了するのにかかる時間を測定することができる。さらに、ロボットによって収集された測定値及びデータ(例えば、写真または他のデータ)の精度をモニタして、ロボットが通常、正確な測定値及びデータを返すかどうかを判断することができる。このような情報は、将来ロボットのミッションやタスクを計画するときに考慮されてよく、ロボットに保守が必要かどうかを判断するために使用することができる。さらに、ロボットに割り当てられたタスクは、スケジューリング後、実行中、または実行の結果として修正されてよい。ミッションの周囲の状況が変化し、そのような修正が必要になる場合がある。例えば、ドアを開けた結果、温度や空気組成の変化が検出される場合があるため、ミッション周囲の環境に関する正確かつ実用的なフィードバックを提供するには別のセンサが必要になる。別の例として、測定された温度が予測よりも低い場合があり、その結果、手動バルブを開くには、タスクに割り当てられた元のロボットが適用できるトルクよりも高いトルクが必要になる場合がある。
【0125】
上述したように、運転管理システムは、ロボット110及びロボットに割り当てられたタスクを管理するために、ロボットサービスプラットフォーム(RSP)などのロボット管理システムとインタラクトすることができる。図4は、1つまたは複数の実施形態による、運転管理システム内の、または運転管理システムと通信するロボットサービスプラットフォーム(RSP)400のコンポーネントを示す。
【0126】
運転管理システム200内のロボット110の活動は、例えば、パイプライン検査、圧力容器検査、監視、第一対応者、放出物検出、タンク検査、及び海中プラットフォームモニタリングを含む様々な産業運転410に関連し得る。特定された操作410は単なる例示であり、本開示の原理は、動的環境においてロボット群によって実行される専門的サービスに適した任意の施設に関係し得る。このようなサービスは、人間オペレータにとって反復的及び/または危険であり得るが、動的環境を認識し、それに適応する人間の能力に依存して以前に人間オペレータをそのような役割に配置していた場合がある。このような動的環境では、ロボットサービスプラットフォームが、様々な技術及び操作能力のロボット群を管理しながら、変化する状況に合わせて個々のロボットまたはロボット群の活動を認識して調整したり、ロボット操作用に設計されていない環境で動作したりすることが必要な場合がある。例えば、適用可能な施設は、化学及び医薬品の製造、鉱業、食品及び飲料の製造、水及び廃水処理などを含み得る。これらの操作をサポートするために、RSP400は、運転管理システム200または産業オートメーション(IA)システムなどの外部制御システム420からコマンドを受信することができ、例えば、データ集約及び分析440のため、セキュリティ及び安全460のため、操作調整、データ収集、及びロボット制御470のため、ならびにロボット群管理480のために、産業オートメーションシステム430とインタフェースするためのモジュールを含み得る。これらのモジュールへのアクセスは、統合されたマンマシンインタフェース(HMI)450を介して人間オペレータに提供されてよい。産業オートメーションシステムインタフェース430は、場合によっては外部の産業オートメーション(IA)システムと協力して、産業プロセスの自動化のためのサービスを提供することができる。データ集約及び分析モジュール440は、ロボットに割り当てられたタスクからデータを受信し、データの集約及び分析をサポートすることができる。データの集約と分析については、以下でさらに詳しく説明する。セキュリティ及び安全モジュール460によって、施設運転及び個々のロボット110の安全及びセキュリティを確保することができる。調整収集制御モジュール470は、ロボットに割り当てられた活動の全体的な管理、ロボットに割り当てられた活動の調整、及びロボットに割り当てられた活動から返されたデータの収集を提供することができる。ロボット群管理モジュール480は、例えば、個々のロボット110の現在の状態、場所、利用可能性、及び性能に関する情報の維持、複数のロボット110の関連するまたは潜在的に競合する活動の調整、ならびに個々のロボット110の必要な保守及び/または撤去の調整を含む、ロボット110の群の管理を提供することができる。ロボット管理に関する追加の詳細をここに提供する。
【0127】
大規模または複雑な産業施設でロボットの活動を管理するには、各ロボットが互換性の無い可能性のある異なるコマンド及び制御またはデータ管理及び通信プロトコルを有する複数のベンダが提供するロボットの調整が必要な場合がある。したがって、ロボット群を産業施設に組み込むことは、ロボットの数とロボットに割り当てられたタスクが増加するにつれて、複雑さが増加し得る。図5は、1つまたは複数の実施形態による、これらの問題に対処するためのマルチベンダロボットサービスプラットフォーム510の詳細なアーキテクチャ500を示す。
【0128】
マルチベンダロボットサービスプラットフォーム510は、IAシステム統合アプリケーションプログラミングインタフェース(API)515を介して、運転管理(OM)システム200または産業オートメーション(IA)システム505などの外部制御システムとインタフェースすることができる。マルチベンダロボットサービスプラットフォーム510は、例えば、施設のすべての運転に関する運転管理、施設の保守活動に関する保守管理、物理的施設の一部を直接検査する現場検査、ならびに施設内の複数の人間及びロボットの活動の調整に関するワークフロー管理などのエンドユーザアプリケーション530へのアクセスを、エンジニアリング及び操作のマンマシンインタフェース(HMI)525を介して、ロボット群を管理、制御または監視する人間に提供することができる。OM200からの活動の指示は、人間への割り当てを指示され得る作業指示(WI)であってよい。このような指示は、人間が判読できるフォーマットであってよい。マルチベンダロボットサービスプラットフォーム510は、WIをロボットコマンドに変換することができる。複数のベンダからの複数のタイプのロボットが存在する場合、本開示の他の箇所で説明するように、各タイプのロボットに対して異なる翻訳が行われてよい。活動が人間によって実行される場合、シフト計画の文脈でWIがオペレータに割り当てられてよい。活動がロボットに割り当てられる場合、本開示の他の箇所で説明するように、ロボットサービスプラットフォーム510は、自律的にWIを翻訳し、1つまたは複数のロボットに割り当ててよい。他の実施形態では、アラームが外部アプリケーションなどからロボットミッションを生成する場合、有能なロボットが利用可能であることを保証するための措置を講じることができる。例えば、アラームが緊急アラームである場合、ロボットまたは人間が利用できない場合、ロボットサービスプラットフォーム510は、現在のミッションを中止し、緊急アラームミッションを処理するように決定することができる。あるいは、オペレータが手動でロボットから引き継いでアラームに対応することもできる。外部システムは、タスクの実行要求を送信することができ、ロボットサービスプラットフォーム510は、ロボットの利用可能性またはミッション開始情報で応答することができる。人間及びロボットのタスクは、それぞれ、地面からの指定された高さで作業できるという要件や、特定のツールを使用する能力という要件など、タスクに割り当てられた人間またはロボットの能力要件を含み得る。さらに、タスクは、時間帯の制限、タスクの実行中にプラントが稼働していないという要件、または施設の運転を管理する政府やその他の規制の変更など、施設の運転状況に関連する要件を有する場合がある。ロボットサービスプラットフォーム510は、OMシステム200またはIAシステム505から受信した要求を、関連するロボットに送信されて実行することができるロボット適合タスクであり得る要求と、人間に割り当てるためにOMシステム200またはIAシステム505に返信され得るロボット不適合タスクであり得る要求に分離することができる。
【0129】
ロボット群管理モジュール545は、ロボット110及びセンサ550(例えば、環境センサ)とのインタラクションをサポートする様々なロボットプラットフォーム560とインタラクトすることができる。ロボットプラットフォーム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は、同じエリアで動作するロボット間の衝突を避けるために、適切な時間遅延を伴っていくつかのミッションを割り当てることができる。
【0130】
複数のベンダからのロボットを備えた施設では、ロボット群管理モジュール545によって提供され得るようなロボット群管理、制御及び調整機能540によって提供され得るようなロボット活動制御、ならびにデータ収集及び集約モジュール535によって提供され得るようなデータ分析は、マルチベンダのロボットサービスプラットフォーム(RSP)における追加のベンダ固有及びロボットタイプ固有の能力を利用することができる。図6は、1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォーム(RSP)の詳細なアーキテクチャ600を示す。
【0131】
ロボットサービスプラットフォーム672は、例えば、外部システムインタフェース624、ナビゲーション制御及びデータサービス626、群マネージャ628、及びロボットインタフェース630などを含み得る。
【0132】
外部システムインタフェース624は、例えば、プロセス制御サーバ632を含んでよく、プロセス制御サーバ632は、人間の操作管理者またはオペレータ602の指示の下で、プロセス制御クライアント604から完了すべきプロセス及びタスクに関する情報を受信することができる。例えば、受信したミッション及びタスクは、施設検査、データ収集、施設制御(制御設定の変更など)など、施設の全体的な運転に関連して人間またはロボットによって実行されるべき活動を含み得る。外部システムインタフェース624は、例えば、人間のオペレータまたはアナリスト608に表示するためにウェブクライアント606にデータレポートを提供することができる第1のウェブサーバ634をさらに含み得る。外部システムインタフェース624は、例えば、ヒストリアンデータストア612にデータフィードを提供することができる第2のウェブサーバ636をさらに含み得る。
【0133】
ヒストリアンデータストア612は、レポート作成プログラム610にデータを提供することができ、レポート作成プログラム610は、人間のオペレータまたはアナリスト608に追加のレポートを提供することができる。ヒストリアンデータストア612はさらに、ロボットサービスプラットフォーム672内のデータベース620に記憶するためにデータをアーカイブモジュール618に提供することができる。データベース620は、さらなる分析のために機械学習(ML)及び人工知能(AI)モジュール614にデータを提供することができる。ML及びAIモジュール614からの分析結果は、データベース620に記憶することができる。データベース620はさらに、レポート作成プログラム610によるアクセスのためにヒストリアンデータストア612にデータを提供することができる。レポート作成プログラム610、ヒストリアンデータストア612、及びML及びAIモジュール614は、クラウドベースであってもよく、あるいはロボットサービスプラットフォーム672とは別個に動作してもよい。
【0134】
ナビゲーション制御及びデータサービス626は、例えば、ロボット110A、110B、及び110Cに対してプラットフォームに依存しないコマンド、制御、及びデータサービスを提供することができるロボット固有のアダプタ644を含み得る。ロボット固有のアダプタ644は、例えば、写真、ビデオ、環境データ、センサ指示値などのロボット110によって収集されたデータの通信のためのアダプタ、例えば、ロボットのモーション及び場所、ロボットの健康及び状態、ロボット能力などのロボット110に関するデータの通信のためのアダプタ、ならびに例えば、マルチステップミッション指示、個々の操作指示(例えば、目的地へのナビゲート、写真撮影、ビデオ撮影、録音、環境測定値取得、物質の温度測定値取得、気温の取得、湿度測定値の取得、機器指示値の決定、ガスもしくは化学物質の存在もしくは濃度の測定、特定の波長、強度、及び/または放射パターンの光の放射、特定のピッチ、強度、及び/または放射パターンの音の放射、無線周波数ホーミングビーコンの放出、無線周波数もしくはワイヤレスデータネットワークを介した記憶データの送信、電源への接続、無線周波数もしくはワイヤレスデータネットワークへの接続、データネットワークポートへの接続、バルブ、ベーン、ローカル制御のポンプもしくは駆動装置の位置の調整などによるバルブもしくは他のコントロールの設定の修正、手動の製品サンプル取得、ボタンの押下、スイッチ位置の変更、物体の移動、すべての操作の停止、ホームに戻る、特定のセンサの作動等)などのコマンド及び制御情報のロボット110との通信のためのアダプタを含み得る。ロボット固有のアダプタ644は、例えば、タスクもしくはミッションの状態及び完了に関する情報、データの無いタスク完了情報(例えば、ミッション完了、またはミッション放棄など)を含むロボット110からの情報も受信することができる。
【0135】
コマンド/制御及びデータ情報は、一般に、1つまたは複数の共通の内部フォーマットでRSP672内に維持されてよい。これにより、RSP672の内部操作、ならびに運転管理システム(OM)の他のコンポーネントなど、RSP672の外部で共有されるインタフェース及び情報が、施設内でどのロボットまたはロボットタイプがアクティブであるかに依存しないことが可能になり得る。したがって、施設内で様々なロボット群を利用する複雑さを軽減することができる。この目的を達成するために、各アダプタは、RSP672から1つまたは複数の共通の内部フォーマットで情報を取り込み、その情報を通信先の特定のロボットに適した特定の情報に変換し、次に変換された情報を特定のロボットに送信してよい。例えば、ロボットのタスクまたはミッションの定義は、共通の内部フォーマットから、割り当てられたロボットの予測されるコマンドプロトコルに準拠するフォーマットに変換することができる。逆に、ロボットから送信されたデータは、アダプタによってロボット固有のフォーマットで受信され、RSP672及び図7で記載した運転管理システム(OM)700などの運転管理システム(OM)の他のコンポーネントで使用するために、アダプタによって共通の内部フォーマットに変換されてよい。ロボットのタスクまたはミッションを定義するための共通の内部フォーマットは、施設内で取得される測定値またはデータのリストを含み得る。アダプタ644は、このリストを、例えば、データ取得場所まで物理的に移動するための指示及びどの器具を使用するかを含み得るロボット固有の指示に変換することができる。ベンダ固有のロボットデータもアダプタ644によって解析されて、オペレータに表示するための一般化された情報または有用な情報を検出することができる。例えば、バッテリ寿命などのデータは、解析及び標準化できる様々な方法(パーセンテージ/電圧残量/残り時間)で表示されてよい。
【0136】
このようなアダプタ644の中には、ロボットのタイプまたはベンダに応じて特定のロボットと通信するように狭い範囲で適応されているものもあれば、複数のロボットタイプに適合するものもある。アダプタ644は、同じタイプの複数のロボットに適合し、同時にまたは協力して動作する群固有のアダプタと考えられてよい。アダプタ644は、共通の内部データフォーマットと、特定のベンダ及びロボットのデータ及びコマンドプロトコルに関する情報に基づいて手動でコード化することができる。あるいは、そのようなアダプタは、アルゴリズムまたは人工知能プロセスに基づいて自動的に生成することができる。アダプタは、複数のロボットタイプにわたって同等のレベルの基本制御を提供するように構成することができる。これは、例えば、特定のポイントへの移動、データ取得、及びロボットメトリクスレポートの能力を含み得る。アダプタは、各ロボットタイプに対するロボットベンダ固有のソフトウェア制限に応じて、追加機能をさらに含み得る。例えば、ロボットがそのメトリクスデータをログできない場合、アダプタはロボットのメトリクスデータをログして、プラットフォームの他のコンポーネントの標準アダプタレベルとの適合性を維持してよい。異なるロボットタイプからの共通の特徴は、地図データ、3Dモデル上のシミュレーションデータなどの共通の内部データフォーマットに抽象化されてよい。OMシステム700またはIAシステム505は、作業指示(WI)チェックリストを割り当てることができ、作業指示(WI)チェックリストは、様々な識別子に対応する情報を記録するための指示で構成されるスプレッドシートなどの人間が判読できるフォーマットであってよい。RSP672は、WIチェックリストを、ロボットによる実行のために、GPS座標、サイト固有の視覚的、電子的、もしくは磁気的な識別子などの絶対的または相対的な位置及び向き情報などの詳細情報に変換することができる。ロボットによって記録された非構造化データタイプ、例えば画像、音声、またはビデオなどのメディアフォーマットは、データ処理アプリケーションを使用してRSP672によってさらに処理されて、OMシステム700またはIAシステム505での記憶及び処理に適合するテキストまたは数値データなどの構造化データタイプにすることができる。
【0137】
ナビゲーション制御及びデータサービス626は、例えば、プロセス制御サーバ632から完了すべきミッション及びタスクに関する情報を受信するための群管理モジュール638をさらに含み得る。群管理モジュール638は、ロボット110A、110B、及び110Cのうちのどれが各タスクまたはミッションを実行すべきかを決定することができ、ロボットのタスク及びミッションに関する詳細な情報をロボット固有アダプタ644に提供することができる。群管理モジュール638は、ミッション及びタスクの進捗または完了に関する情報をプロセス制御サーバ632に提供することもできる。ナビゲーション制御及びデータサービス626は、例えば、ロボット固有のアダプタ644を介してロボット110A、110B、及び110Cからデータを受信することができるデータ管理モジュール640をさらに含み得る。データ管理モジュール640は、ロボット110A、110B、及び110Cから受信したデータをさらに分析することができる機械学習(ML)及び人工知能(AI)モジュール642をさらに含み得る。
【0138】
外部システムインタフェース624及びナビゲーション制御及びデータサービス626は、ロボット110A、110B、及び110Cに送られ、ロボット110A、110B、及び110Cによって実行されるタスクに関する情報、ロボット110A、110B、及び110Cによって返信されるタスク結果に関する情報、ロボット110A、110B、及び110Cの管理、ならびにロボット110A、110B、及び110Cによって実行されるミッションに関連する他の情報をデータベース620に提供してよい。例えば、ロボットタスク及びタスク結果の記録は、データベース620内のログ622に記憶されてよい。
【0139】
群マネージャ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にミッション及びタスクを割り当ててよい。例えば、群マネージャ628が、タイプAのロボットタイプのみによってミッションをサポートできると判断した場合、群マネージャ628は、タイプAのロボット110A、110B、及び110Cの中のロボットのみにミッションを割り当ててよい。例えば、ミッションでは、特定のタイプのロボットのみが通過できる階段などの障害物を通過することが必要な場合がある。タイプAまたはBのロボットに割り当てることができる別のミッションの場合、群マネージャ628は、各ロボット110A、110B、及び110Cの利用可能性に基づいて、タイプAまたはBのロボット110A、110B、及び110C中のロボットにミッションを割り当ててよい。各ロボット110A、110B、及び110Cの利用可能性は、例えば通信状態及びバッテリ寿命などのようなメトリクスを使用して群マネージャ628によって決定することができる。いくつかの実施形態では、運転管理システム200はまたは、特定のロボットまたは特定のロボットのグループ内のロボットによって実行されるミッションまたはタスクを指定することができる。ロボットのグループが指定された場合、群マネージャ628は、指定されたロボットのグループの中から選択されたロボットにミッションを割り当てることができる。さらに、特定のベンダのロボットタイプまたはロボットの一部の属性は既知の信頼性を有してよく、群マネージャ628は、この既知の信頼性に基づいてロボットに多かれ少なかれ直接的なモニタリングを適用することができる。
【0140】
ロボットインタフェース630は、例えば、第1のベンダ固有ロボットインタフェース648、第2のベンダ固有ロボットインタフェース650、及び群サーバ660を含み得る。第1のベンダ固有ロボットインタフェース648及び第2のベンダ固有ロボットインタフェース650のそれぞれは、ロボットに、そのロボットのベンダに固有のインタフェースを提供することができる。例えば、第1のベンダ固有ロボットインタフェース648は、ロボットオペレーティングシステム(ROS)インタフェースを介してロボット110Aとインタラクトすることができ、第2のベンダ固有ロボットインタフェース650は、独自のリモートプロシージャコール(RPC)インタフェースを介してロボット110Bとインタラクトすることができる。ロボットインタフェース630によって提供されるベンダ固有のロボットインタフェースの数及びタイプは限定されず、ロボットサービスプラットフォーム672によって管理されるロボット群内のロボットの数及びタイプに依存し得る。従来、これらのロボットにアクセスするにはベンダ固有のインタフェースが必要である。つまり、各ベンダのロボットは通常、独自のソフトウェアを備えており、各ベンダのアプリケーションプログラミングインタフェース(API)を使用してゲートで制御される。例えば、ベンダがgRPCコールを使用して独自のAPIにアクセスして、そのベンダのロボットを制御する場合、ロボットと通信またはロボットを制御するための代替手段が他にない可能性がある。群サーバ660は、群クライアント664を介して、ロボット110Cなどの調整されたロボット群とインタラクトすることができる。ロボットインタフェース630は、リアルタイム通信モジュール662とさらにインタラクトして、プロセス制御サーバ632もしくはプロセス制御クライアント604またはRSP672の他のコンポーネントなどを通して、例えば、ロボット110A、110B、及び110C、人間の操作管理者もしくはオペレータ602に、追加の通信ストリームを提供することができる。リアルタイム通信の場合、ロボットインタフェース630は、ストリーミングデータ用の複数のタイプのプロトコルをサポートすることができる。例えば、WebRTCは、このような通信に利用できる高品質のビデオ/サウンドストリーミング用のストリーミングプロトコルである。このようなストリーミングは、例えば、オペレータに表示するデータの受信や、異常検出などの機能をサポートするために人工知能(AI)または機械学習(ML)を使用してデータのリアルタイム処理の実行を含み得る。群管理では、様々なタスクを実行するためにリアルタイム通信が重要になる場合がある。ロボットの中には、短期間、通信が途絶えても作業する能力を備えているものもあれば、そうでないものもある。群サーバ660は、ロボットの能力に基づいて各ロボットと頻繁に通信し、ミッション中にロボットを追跡することが必要な場合がある。
【0141】
ベンダ固有の群マネージャモジュール646及び群サーバ660は、クラウドベースであってよい、または群マネージャ628及びロボットインタフェース630とは別個に動作してもよい。
【0142】
ロボット110A、110B、及び110Cは、異なるベンダによって提供されてよく、複数のタイプであってよく、さらに、利用可能な別個の計装機器、ツール、及びセンサを有し得る。各ロボットは、場合によってはRSP672のロボット管理モジュール及び群管理モジュールと協力して、バッテリもしくは燃料レベル、能力、場所、故障、及び保守要件などを含むロボット110の健康及び状態に関する情報を維持することができる。
【0143】
ロボット110A、110B、及び110Cの例は、完全に自律的であり、特定のタスク、モーション、ルート、もしくは活動用に事前にプログラムされている、または人間の直接制御下にあるロボットを含み得る。ロボット110A、110B、及び110Cは、固定式または移動式であってよく、移動式ロボットは、車輪付き、無限軌道式、二足歩行、四足歩行、多足歩行、または他の推進手段を含み得る。ロボット110A、110B、及び110Cは、多関節アーム、グリップ、爪、レンチ、ドライバ、ハンマ、てこ棒、カメラ、マイク、化学物質検出器、ノイズセンサ、振動センサなどの、ミッション及びタスクを完了するためのツール、センサ、または他のハードウェアを備えてよい。ロボット110A、110B、及び110Cは、写真、ビデオ、音声、環境指示値、土壌、化学物質等の環境サンプルなどのための、デジタルストレージ及び物理的ストレージを含み得る。ロボット110A、110B、及び110Cは、アナログ(無線及びビデオ送信など)及びデジタル(Wi-Fi、Bluetooth、他の近距離無線通信など)を含む様々な通信能力を含み得る。
【0144】
RSP672などのロボットサービスプラットフォームは、運転管理システムの他のサブシステムとインタラクトし、依存する場合がある。図7は、1つまたは複数の実施形態による、運転管理システム700のサブシステムと、運転管理システム700の一部として、運転管理システム700とは別個に、もしくは運転管理システム700と協力して動作し得るマルチベンダRSPとを示す。
【0145】
運転管理システム700は、産業施設の運転及び管理をサポートする複数のサブシステムを含み得る。このようなサブシステムは、例えば、運転支援システム702、パトロール管理システム704、タスク管理システム706、プロセス制御システム710、及びロボット管理システムもしくはロボットサポートプラットフォーム(RSP)672を含み得る。
【0146】
プロセス制御システム710は、施設全体に分散され得る、または施設の外部に配置され得る制御サブシステムを介して、オペレーション制御及び施設のモニタリングを提供し得る。プロセス制御システム710は、例えば、プロセス制御システム710と運転管理システム700の他のサブシステムとの間の情報の共有をサポートし得る共同情報サーバ722を含み得る。プロセス制御システム710はまた、施設内のプロセスを制御し、フィールド機器を介してそれらのプロセスデータからデータを収集することができるフィールド制御システム728と、施設内のプロセスの安全状態をモニタし、逸脱が発生した場合にプロセスが安全な状態に戻ることを保証することができる安全制御システム730とを含み得る。プロセス制御システム710は、運転支援システム702、パトロール管理システム704、タスク管理システム706、及びロボット管理システムもしくはロボットサポートプラットフォーム(RSP)672と連携することができる。
【0147】
運転支援システム702は、施設の全体的な運転を支援するサービスを提供することができる。運転支援システム702は、例えば、運転支援システム702と運転管理システム700の他のサブシステムとの間の情報共有をサポートし得る共同情報サーバ722、産業施設を運転するためのプロシージャ及びプロセスに関する情報を記憶及び管理し得るプロシージャ情報管理モジュール714、ならびにプロシージャ及びプロセスの実行を管理し得るプロシージャ実行管理モジュール716を含み得る。
【0148】
パトロール管理システム704は、運転、安全、及びセキュリティに関する施設の定期的なパトロール及びモニタリングに関連するサービスを提供することができる。パトロール管理システム704は、例えば、パトロール管理システム704と運転管理システム700の他のサブシステムとの間の情報の共有をサポートし得る共同情報サーバ722を含み得る。パトロール管理システム704はまた、すべての運転、安全性、及びセキュリティプロトコルが十分にカバーされていることを確実にするチェックリストを管理し得るチェックリスト管理モジュール718と、チェックリスト管理モジュール718によって決定され得る要件等のチェックリスト要件を満たすタスクの実行を管理し得るチェックリスト実行管理モジュール724と、チェックリストのタスクの完了をスケジュールし得るスケジュール管理モジュール720とを含み得る。チェックリスト及び関連するチェックリストタスクは、人間またはロボットの資産に割り当てることができる。ロボット割り当てタスクの割り当て及びスケジューリングについては、以下でさらに詳しく説明する。
【0149】
タスク管理システム706は、施設内のタスクの作成、割り当て、及びモニタリングを提供することができる。タスクは人間によって割り当てられる場合もあれば、ロボットによって割り当てられる場合もある。タスク管理システム706は、例えば、タスク管理システム706と運転管理システム700の他のサブシステムとの間の情報の共有をサポートし得る共同情報サーバ722を含み得る。タスク管理システム706はまた、受信情報によってトリガされた新しいタスクを生成することができるトリガ管理モジュール725と、タスクの割り当て及び実行を制御することができるタスク実行管理モジュール726とを含み得る。ロボットに割り当てられたタスクの管理については、以下でさらに詳しく説明する。
【0150】
RSP672は、複数のベンダによって提供された様々なタイプのロボット群の管理と操作を提供することができる。RSP672は、例えば、RSP672と運転管理システム700の他のサブシステムとの間で情報共有をサポートすることができる共同情報サーバ722を含み得る。RSP672はまた、ロボット群管理モジュール628、ロボットデータ管理モジュール640、ロボット固有アダプタ644等のロボット共通インタフェースモジュール、データベース620、データ管理モジュール640等のロボットデータ分析モジュール、ならびに機械学習(ML)及び人工知能(AL)モジュール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に接続することができる。このような外部ロボットコントローラは、図7に示すように、クラウドベースのサーバであってよい、または様々なタイプのコンピュータネットワークによって接続されてよい。ロボットサポートプラットフォームとロボット110との間の例示的な接続については、図8を参照して以下に説明する。
【0151】
図8は、1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォーム内のロボット制御及び通信のための環境800を示す。
【0152】
運転管理システム805は、例えば、図2に示され、上記で説明したシステム及びモジュールなど、産業施設の全体的な管理のための多くのシステム及びモジュールを含み得る。上記のように、運転管理システム805は、ロボットサポートプラットフォーム(RSP)840とインタラクトして、ロボット110A及び110Bなどのロボットによって実行され得るプラントの運転に関連するミッション及びタスクのための情報を提供することができる。
【0153】
運転管理システム805、RSP840、及びロボット110の間の接続は、施設及びロボット110のニーズ及び能力に応じて異なる方法で提供されてよい。例えば、一実施形態では、RSP840Aは、ロボット110Aに接続するためにインターネットなどのグローバルネットワーク830を利用するクラウドベースのサービスとして提供されてよい。別の実施形態では、クラウドベースのRSP840Bは、仮想プライベートネットワーク835を使用してインターネットサービスプロバイダネットワーク825に安全に接続し、そこからロボット110Aに接続することができる。さらに別の実施形態では、RSP840Cは、ローカルパーソナルコンピュータ845などのローカルコンピュータ上で実行されるアプリケーションとして提供されてよい。RSP840Cは、ローカルウェブサーバ845及びローカルネットワーク820を利用してロボット110Aに接続することができる。さらに別の実施形態では、RSP840Cは、ウェブサーバ850を利用して、ベンダ固有のロボットサーバ815に接続し、そこからロボット110Bに接続することができる。ベンダ固有のロボットサーバ815は、クラウドベースのサービスとして示されているが、ベンダ固有のロボットサーバ815は、例えば、ローカルパーソナルコンピュータ845上、別のローカルコンピュータ上、またはインターネットなどのグローバルネットワークを介してアクセス可能なリモートコンピュータ上に提供されてよい。別の実施形態では、クラウドベースのRSP840Dは、ベンダ固有のロボットサーバ815に接続し、そこからロボット110Bに接続することができる。
【0154】
図9は、1つまたは複数の実施形態による、マルチベンダロボットサービスプラットフォーム(RSP)(例えば、図6のRSP672)内でロボットタスクを割り当て、スケジュール、及び実行するプロセス900を示す。操作910において、運転管理システム(OM)(例えば、図7のOM700)は、産業施設の運転または保守のための1つまたは複数のタスクが実行されることが望ましいと決定する場合がある。タスクのうちの少なくとも1つは、操作910またはその後のRSPによるプロセスにおいて、ロボットによって完了するように指定されてよい。操作920において、OMは、ロボット指定タスクをRSPに送信してよい。操作930において、RSPは、受信したロボット指定タスクを1つまたは複数のロボットミッションに変換することができる。受信したロボット指定タスクをロボットミッションに変換することは、本明細書に記載されるように、ミッションの要素、タスクが位置する環境に関連するデータ、及び/またはタスクを達成するためのミッション能力を決定することを含み得る。ロボットミッションを定義することについては、以下でさらに詳しく説明する。操作940において、RSPは、例えば、適切なロボット(複数可)を選択すること、及び選択されたロボット(複数可)にミッションを割り当てることを含むように、1つまたは複数のロボットミッションをスケジュールすることができる。ロボットの選択及び特定のタスクへの割り当てについては、以下でさらに詳しく説明する。操作950において、RSPは、1つまたは複数のロボットミッションを管理(例えば、開始、モニタリング、その他の方法で管理)することができる。ロボットミッションを管理することは、例えば、ロボットの派遣、ミッション中のロボットの進行状況のモニタリング、追加または代替のロボットをミッションに割り当てるなどによるミッション中のイベントへの応答を含み得る。ロボットミッションを管理することについては、以下でさらに詳しく説明する。操作960において、RSPは、1つまたは複数のロボットミッションによって生成されたデータを受信することができる。ロボットのミッションから得られるデータ、及び/またはミッション前、ミッション中、もしくはミッション後に施設から受信したその他のフィードバックの処理については、以下でより詳細に説明する。操作970において、RSPは、受信したデータに基づいて、OMから受信したタスクを更新することができる。操作980において、OMは、施設の運転及び完了したタスクに関する様々な情報を更新することができる。この情報は、プラントの運転及び保守状態を含んでよく、例えば、シフトレポートや施設状態ダッシュボードなどの様々なユーザインタフェースを通じて表示されてよい。OMはまた、タスクの完了状態及びタスクによって生成されたデータを使用して、操作910から始まる新しい反復で将来のタスクを計画することもできる。
【0155】
ミッションの定義、割り当て、及び管理の方法
図10は、例えば図1に示される産業設定の施設100において、1つまたは複数のミッションを定義、割り当て、及び管理するためのフローチャート1000を示す。例えば、ステップ1010では、1つまたは複数のタスク、及び各タスクを達成するための要素または基準に基づいて、1つまたは複数のミッションを定義することができる。ミッションは、例えば、制御システムプロセス制御クライアント604、ウェブクライアント606を介して、または入力装置、RSP672と通信する他のシステム、もしくはRSP672を介して直接、運転管理システム、例えば、図7の運転管理システム700、ユーザによって定義することができる。1つまたは複数のミッションが定義されると、ステップ1020で、そのミッションを人間、ロボット、または人間とロボットの組み合わせに割り当てることができる。本明細書に記載するように、ミッションは、RSP672のロボット群マネージャ628を介してスケジュールされ、割り当てられてよい。ミッションは、RSP672によって連続的または断続的にモニタされてよく、ステップ1030において、ミッションは、モニタされている間に人間及び/またはロボットのオペレータからのフィードバックに基づいて管理、例えば変更されてよい。ミッションの定義、割り当て、及び管理の例をここで説明する。
【0156】
一例によれば、1つまたは複数のミッションは、図6のロボット管理システムRSP672によって定義されてよい。1つまたは複数のミッションは、オペレータ、例えば人間オペレータ、ロボットオペレータ、または人間とロボットのオペレータの組み合わせによって完了されるべき1つまたは複数のタスクを定義することができる。例えば、ミッションを定義するために、1つまたは複数のタスクが、例えば図30のダッシュボード3000を介してユーザによって手動で、または、例えばプロセス制御クライアント604を介して、もしくはリモートサイト、第1のウェブクライアント634、第2のウェブクライアント636を介して自動的に、選択または入力されてよい。タスクは、ミッションの目的、言い換えれば、ミッションで実行される最終的な義務を含み得る。例として、タスクは、環境、機械、もしくは施設のデータポイント、状態、または条件(例えば、圧力、温度、湿度、その他の気象条件、騒音レベル及び/または種類、振動、センサの値、場所、物質(燃料、ガス、流体など)のレベル、高度、重量、サンプル(土壌、空気、機械や施設の製品など)の取得、バッテリレベルなど)をモニタリング及び/または取得することと、機械もしくは施設でまたは機械もしくは施設内で操作のすべてまたは一部(例えば、スイッチを入れる、ボタンを押す、品物を移動する、バルブを回す、品物の組み立てステップを実行する(例えば、アセンブリライン内等で)、ワークピースもしくはその他の品物の調整、壊れたワークピースまたはその他の品物の修理(例えば、適切な指示値を得るために測定機器をタップする)、品物の持ち上げ、品物の保守の実行(例えば、回路基板やデバイスのその他の部品の交換など)を実行すること、及び/または施設内で必要または望ましい任意の他の義務を含み得る。
【0157】
ミッションには単一のタスクが含まれる場合もあるが、一緒に実行される複数のタスクが含まれる場合もある。複数のタスクは同時に実行されてもよく、及び/または連続して実行されてもよい。場合によっては、あるタスクが別のタスクの前に必ず実行されることがある。この場合、ミッションはタスクの順序を示すことができる。
【0158】
タスクは、運転管理システム700、RSP672、または運転管理システム700及び/またはRSP672と通信する任意の他のシステムもしくはモジュールによって決定されてよい。本明細書にさらに記載するように、運転管理システム700及び/またはRSP672は、とりわけ、タスクを完了するために必要なまたは望ましい、要素、データ、及びミッション能力(本明細書でさらに記載)に基づいてミッションを定義することができる。ミッションは、タスクを実行するために必要または望ましい情報指示のすべてを含み得る。
【0159】
例えば、ダッシュボード3000(図30を参照)は、本明細書に記載するように、ユーザが要素、データ、及びミッション能力を入力することを可能にし得る。ダッシュボード3000は、ミッションに関連する様々な情報を表示するカテゴリを含み得る。例えば、作成時刻3005は、ミッションがいつ作成されたかを示すことができる。説明3010は、ミッションの詳細またはミッション名を提供することができる。タスクタイプ3015は、タスクのタイプ、例えば、ルーチンタスク、アドホックタスク、保守タスク、緊急タスクなどを含み得る。状態3020は、タスクが進行中か、完了したか、またはタスクが定義されているがまだ開始されていない(例えば、ドラフト)かを示すことができる。ミッションにスケジュールされているロボットの名前及び/またはタイプは、ロボット名3025の下に示されてよく、計画された終了時刻及び開始時刻3030は、ミッションがいつ開始及び/または終了するかを示すことができる。
【0160】
ユーザは、新しい機能3040を使用して新しいミッションを作成することができ、本明細書に記載された情報を入力してミッションを定義することができる。あるいは、データは、例えばヒストリアン612または何らかの他のメモリから自動的に取り込まれてよい。ユーザはまた、サーチ3050を使用して、ダッシュボード3000内のタスク、ミッション、もしくは他のデータを検索し、及び/または作業指示リスト3060を介してタスク及び/またはミッションを整理することもできる。作業指示リスト3060により、ユーザはドロップダウンメニューにアクセスして、どのカテゴリを表示するか、及び/またはどのカテゴリを使用してダッシュボード3000を整理するかを選択することができる。
【0161】
図31を参照すると、作業指示3100(例えばミッションプロファイル)は、例えば図30の新しい機能3040を介してユーザによって作成されてよい。作業指示3100は、ミッション及びタスクの詳細3110、計画された開始時刻及び終了時刻3120、ならびにオペレータ状態カテゴリ3130などの様々な入力を含み得る。添付ファイル3140は、作業指示書3100に含まれてよい。添付ファイル3140は、ミッション、タスク(例えば、タスクに使用するツール)などに関する追加データのためにオペレータによって使用されてよい。作業指示書3100は、様々なレイアウト及び情報を含んでよく、限定的ではない。さらに、この情報は、本明細書に記載されているように、ユーザによって、または自動的に更新及び/または確認されてよい。
【0162】
図11は、ミッションを定義するためのフローチャート1100を示す。ステップ1110で、RSP672はタスクを受信することができる。タスクは、プロセス制御クライアント604を介して、RSP672への直接入力を介して、例えば、ユーザインタフェース(例えば、図14のダッシュボード1400)を介して、リモートシステム、例えば、運転管理システム700もしくはRSP672に接続された有線もしくは無線デバイスを介して、運転管理システム700及び/またはRSP672とインタフェースされるメモリ、例えば、履歴データを記憶する図6のヒストリアン612を介して、またはそれらの組み合わせで、RSP672によって受信されてよい。タスクは、ユーザコマンドに応答してRSP672に送信されてもよいし、例えばRSP672及び/または運転管理システム700によって受信されたフィードバックに基づいて自動的に送信されてもよい。さらなる例として、タスクは、ミッションを実行し、本明細書に記載されるように管理されている1人または複数のオペレータ(例えば、ロボット110及び/または人間のオペレータ)からのフィードバックに基づいて受信されてよい。
【0163】
タスクを受信すると、ステップ1120で、ミッションを定義するために使用し得る要素を決定することができる。このような要素は、タスクの実行に必要な情報または役立つ情報を含み得る。例えば、タスクがセンサ指示値を取得することである場合、要素は、タイプ(アナログ、デジタル等)、場所、高度、センサの周囲及びセンサまでのエリアの地図(センサにアクセスするために十分な情報)、センサ位置の環境条件(例えば、温度、圧力等)などを含み得るが、これらに限定されない。別の要素は、タスクのタイミング、例えばタスクをいつ開始する必要があるか、及び/またはいつ完了する必要があるかを含み得る。追加の要素は、タスクを完了するために達成し得る、または達成する必要があるステップを含み得る。例えば、タスクとしてセンサ指示値を取得することに再び言及すると、センサ指示値を取得する前にスイッチを作動させることが必要な場合がある。この場合、要素は、センサを読み取る前にスイッチを作動させるステップを含み得る。他のステップ(要素)は、ドアを開ける、階段を上る、トンネルを通過する、電気をつけるなどを含み得る。
【0164】
要素は、センサへのルートやそれらのルート内の要素も含み得る。例えば、要素は、吊り下げられた低い物体がルートに存在するかどうかを示すことができ、ナビゲートするための開口部が存在するかどうかを示すことができ、及び/またはルートにある1つまたは複数の通路の寸法を含み得る。例えば、要素は、ルートにある最小の開口部を含み得る。要素は、タスクの場所にアクセスするための様々なルートも含み得る。例えば、地図は、オペレータがその場所にどのようにアクセスするかに関係なく、タスクの場所にアクセスするための複数の可能なルートを提供することができる。可能な各ルートについて、ルートに関連する要素、例えば、ルートの通路及び/またはルートにある物体の寸法が要素に含まれてよい。
【0165】
ステップ1130では、動的データ(例えば、時間の経過とともに変化するデータ)が、1つまたは複数の要素に基づいて受信されてよい。このような動的データは、1つまたは複数の要素に基づいて、タスクの実行に必要なまたは役立つ特定の値またはパラメータを含み得る。例えば、再びタスクとしてセンサ指示値を取得することに言及すると、要素が場所であり、センサが移動可能な場合、センサの場所に関するデータが必要になる可能性がある。そのデータは、GPS、カメラなどの任意の適切な位置特定手段によって取得されてよい。センサが固定されている(動かない)場合、この情報は要素として含まれるため、場所に関する追加情報は必要ない可能性がある。別の例として、温度が要素である場合、温度の値(データ)は、例えばセンサに隣接する温度計を介して取得することができる。
【0166】
動的データは、運転管理システム700を通じて管理することもできる。例えば、センサプロファイルは、1つまたは複数のミッションを実行するために使用され得るデータを使用してオペレータによって更新される場合がある。代替的または追加的に、センサプロファイルは、他のシステム、例えばリモートもしくは外部のシステムからのデータを使用して、または施設内のセンサからのフィードバック及び/または他のミッションからのフィードバックに基づいて自動的に更新されてもよい。動的データ(例えば、天気)は、サードパーティ、例えば、天気アプリケーションを介してRSP672によって取得及び更新することもできる。ロボットに取り付けられたセンサ及び/または施設内のセンサも、この動的なフィードバックを提供する場合がある。例えば、ロボットが水、例えば雨を感知し、ロボットが雨の中で機能できない場合、ロボットはミッションを終了し、所定の屋根付きの場所に移動することができる。ロボット(または他の通信デバイス)は、ミッションの終了をRSP672に通信することもできる。RSP672は、水中で動作する能力を含む、ミッションを実行する能力を有する別のロボットにミッションを再割り当てすることができる。あるいは、RSP672は、雨が止んだ後に同じロボットがミッションを完了するようにスケジュールすることができる。場合によっては、ロボットが雨が降っていることを判断できない場合、例えば、ロボットがそれ自体で検出及び/またはミッションを終了させるためのセンサ及び/またはエッジプロセッサを持たない場合、RSP672は、サードパーティ及び/または施設の他のセンサからの天気データを使用してミッションを終了させることができる。
【0167】
より一般的には、データは、RSP672がロボット群を管理する施設内及びその周囲のセンサから受信することができる。データは、施設内の移動可能な物体の場所、施設の地図情報、及び/または施設に関連する他の環境条件などの動的な測定値または情報を含み得る。例えば、タスク場所の環境条件及び/またはタスク場所までのルートの環境条件はデータを構成し得る。環境条件は、周囲温度、空気含有量もしくは空気の質、タスク場所のまたはタスク場所へのルート上の1つまたは複数の表面の条件などを含み得る。環境条件は、タスク場所までの単一のルートの条件であってもよいし、タスク場所までの複数のルートの環境条件を含んでもよい。
【0168】
特定の状況では、センサデータのより詳細な分析や既存のセンサの精度チェックができるように、追加のセンサを備えて既存のセンサを補完または既存のセンサと比較することが役立つ場合がある。例えば、既存のセンサがデータ指示値の異常な変化を示した場合、ロボットは、一時的なデータ読み取りのための場所にセンサを移動させて配置してよい。ロボットは、本明細書に記載のように、RSP672によってセンサを配置するように指示されてもよいし、自律的または半自律的にそうすることを決定してもよい。この追加のセンサは、有線または無線接続によってデータ指示値を送信することができ、既存のセンサの指示値の分析及び/またはそれとの比較のためにデータ指示値をロボットまたはその他の場所に送信することができる。
【0169】
データは、タスクの場所までのルートにある動的(例えば、移動可能な、変わり得る)物体に関する情報をさらに含み得る。例えば、コンテナ、人、またはその他の物体がルートに位置する場合がある。これらの物体は、物体が移動されたときと場所を示すことができる1つまたは複数のセンサに関連付けられてよい、または、画像化などの他の手段によって場所が取得されてよい。さらに、データは、ルートにあるはずの物体がすでに存在していないことを示す場合がある。代替的または追加的に、本明細書に記載されるように、画像データなどの任意のタイプのデータが、センサ、人員、またはロボットのうちの1つまたは複数からフィードバックとして受信されてよい。例えば、画像データは、物体がルート上でいつ、どこに移動するかを示すことができ、ミッションプロファイルを定義する際のデータとして含めることができる。例えば、画像データは、消火器の有無、現場での適切な個人用保護具(ヘルメット、安全靴など)の利用可能性など、そのエリアでの人間の活動にとって重要な情報を表示することができる。
【0170】
ステップ1140では、ミッションを実行するためのオペレータのミッション能力が、ステップ1120で決定された要素及び/またはステップ1130で受信されたデータに基づいて決定される。ミッション能力は、ロボットがミッションを実行し、タスクを達成できるようにするロボットの特徴を含み得る。例えば、アナログセンサから指示値を取得する場合、センサの画像化が必要な場合がある。したがって、ミッション能力は画像化能力を含むことになる。追加のミッション能力は、画像化されたセンサからセンサ値を取得することであってよい。これは、例えば、画像に基づいてセンサ指示値を決定するための画像分析プログラムにアクセスすることによって達成することができる。ロボットのミッション能力の代わりに、画像分析プログラムは、運転管理システム700、RSP672、及び/または運転管理システム700もしくはRSP672に接続されたリモートシステムに関連付けられてよい。例えば、画像データ分析、ならびにオペレータによって収集された生データの他のタイプの分析は、RSP672のロボットデータ分析モジュール642によって実行されてよい。場合によっては、ミッションでは、ロボットの特徴に基づいて、特定のロボットがミッションに割り当てられない、または割り当て不可とすることが必要な場合がある。例えば、ミッション能力は、ミッションの少なくとも一部が所与のエリアの寸法内で実行されなければならないことを示す場合がある。ミッションへのルートでは、小さい空間、または特定のツールもしくはツールパッケージを通過することが必要な場合がある。ロボットが大きすぎてミッションへのルートをナビゲートできない場合、またはロボットが特定のツールまたはツールパッケージを装備していない場合、ロボットは、例えばRSP672によってそのミッションに割り当て不可として指定されてよい。
【0171】
ミッション能力は、ロボットが特定の環境で動作できるように、ロボットに関連付けられた特徴を含み得る。例えば、温度が要素であり、データが非常に高い温度を示している場合、ミッション能力は、特定の温度以上の温度に耐えるロボットの能力である可能性がある。ミッション能力は、例えば、特定の高さの場所にアクセスする能力も含み得る。ミッション能力は、階段を降りることができること、定義された寸法の狭い空間にアクセスできること、またはその場所までのルートを通り抜ける能力を有することも含み得る。ミッション能力は、ミッションの開始時刻、終了時刻、及び/または期間を定義する要素に基づいて、特定の時刻及び/または指定された時間量におけるロボットの利用可能性も含み得る。
【0172】
要素、データ、及び/またはミッション能力がRSP672によって決定または受信されると、ステップ1150でミッションプロファイルを作成することができる。ミッションプロファイルは、ミッションを定義する要素、データ、及びミッション能力を含むデータファイルであってよい。データファイルは、任意のフォーマット、例えば、運転管理システム700、RSP672、及び/または任意の他のシステムと適合するフォーマットであってよい。上述したように、データファイルは、1つまたは複数のロボットタイプと適合するか、または適合するように修正されてよい。
【0173】
ステップ1160では、ミッションプロファイルは、人間が見るため及び/またはさらなる処理のためにロボットまたは他のシステムに直接、出力されてよい。例えば、ミッションプロファイルは、ユーザがミッションプロファイルを見ることができるように、ディスプレイを有するデバイス、例えば、有線または無線デバイスに出力されてよい。ディスプレイは、ミッションプロファイル内の各要素、データ、及び/またはミッション能力を表示することができるグラフィカルユーザインタフェース(GUI)を含み得る。ミッションプロファイルはまた、メモリに記憶されてもよく、例えば、(例えば、図6のヒストリアン612に保存される)RSP672に関連付けられたメモリ、運転管理システム700に関連付けられたメモリ、及び/または1つまたは複数のオペレータに関連付けられたメモリ、例えば、ロボットに関連付けられたメモリ、もしくは人間によって操作されるデバイスのメモリに記憶されてよい。ミッションプロファイルはまた、1つまたは複数の他のシステム、例えば運転管理システム700、ロボットなどと適合するように、RSP672によって出力される前または後に修正されてよい。
【0174】
例えば、ミッションプロファイルを出力することによって、RSP672システムに、RSP672に関連付けられたシステムのすべて(例えば、ロボットシステム及び/または任意のその他のシステム)と適合する複数のファイルを生成させることができる。代替的または追加的に、RSP672は、ミッションプロファイルを出力するためのファイルフォーマットを決定するためにすべてのシステムに問い合わせることができる。例えば、図6に示すように、ロボットタイプA 110A及びロボットタイプB 110Bは、変更されていないファイルフォーマットを有するミッションプロファイルを受信することができる可能性がある。対照的に、ロボットタイプC 110Cは、ロボットタイプC 110Cと適合するようにミッションプロファイルファイルフォーマットを修正するために、ミッションプロファイルが群クライアント664を介してRSP672から渡されることを必要とし得る。本明細書に記載するように、スケジュールに基づいてロボットにミッションを割り当てることができる。したがって、図12のフローチャート1200に記載されるように、ミッションが割り当てられるまで、ミッションプロファイルはロボットに提供されない可能性がある。あるいは、図6に関して上述したように、ミッションプロファイルは、ロボット固有アダプタ644によって共通の内部フォーマットから特定のロボットまたはロボットタイプに適したフォーマットに変換されてよい。
【0175】
ミッションファイルは、ミッションID(例えば、名前、数字など)、ミッション優先レベル、及び/またはそのミッションと同時に完了するようにスケジュールされた任意の他のミッションのID;作成者の認証情報及び/または連絡先情報、ミッション生成の日時のプロファイル、ミッションの説明などを含むメタデータ;ロボットが使用中のソフトウェアの現在のバージョンを含むロボットのメーカーとモデル、ロボットの重量と寸法;ロボットに現在かかっているペイロード、及び/またはロボットによって使用され得るペイロード;ロボットに関連付けられた基準(例えば、バーコード、QRコード(登録商標)、マーカ);ロボットがミッションを完了するための最小のバッテリ/エネルギー要件、及びミッション中のロボットの逸脱を考慮するための予備の組み込み;施設(2次元及び/または3次元)の地図と、ミッションを達成するためのルート、及び/またはルート上のタスクと;ミッションを実行するための開始時刻、終了時刻、もしくは時間範囲;タスク完了に必要な任意の人員及び/または他のロボット;ミッションを開示、停止、及び/または変更できるオペレータまたは他のロボットの認証情報と;通信プロトコル;ミッション中に発生し得るミッション固有の及び/または一般的なアラームもしくは警告、ならびにアラームが始動された場合の操作指示;ミッション開始、実行、及び/または完了のための前提条件(例えば、ミッション中、またはミッションの少なくとも一部の間、雨が降っていないこと);ロボット上のセンサとロボットがミッション中にインタラクトするように構成された任意のセンサとの両方のセンサの場所及びセンサの詳細;ミッション中に受信されたフィードバックに基づいて実行され得る任意のオプション及び二次的なミッション;のうちの1つまたは複数を含み得る。
【0176】
いくつかの例では、ミッションファイルは、ロボットのタイプに基づいて、例えばロボットの製造業者などに基づいて生成されてよい。各ロボットタイプは、指示リストに基づいて一連のアクションを再作成する特定の方法を含み得る。場合によっては、複数のロボットが同様の方法で一連のアクションを再作成するように設計されてよい。各ロボットは、ファイル、例えば指示ファイルのディレクトリを生成することができ、ロボットは、それをロボット固有アダプタ644を介してRSP672に送信することができる。RSP672は、ロボットのタイプに基づいてミッションファイルを選択することができる。ミッションプロファイルが生成されると、ミッション能力は、ミッションを実行するためにロボットがどのような機能を満たすことができなければならないかをRSP672(またはオペレータ)に知らせることができる。例えば、本明細書に記載するように、ミッションが写真撮影を含む場合、ミッションプロファイルは、何枚の写真を撮影するか、写真を取得するための撮像装置の解像度、どの物体を撮影するかなどを示すことができる。RSP672は、オペレータがロボット固有の言語に基づいてミッションプロファイルを生成できるように、ロボット固有の方法をオペレータに提供することができる。ミッションに複数のロボットが必要な場合、オペレータはロボットごとにロボット固有の言語でミッションプロファイルを生成するプロセスを繰り返すことができる。あるいは、RSP672はミッションプロファイルを自動的に生成することができる。場合によっては、汎用ロボット言語を使用して単一のミッションプロファイルを生成することができるように、ロボットにとって汎用的なロボット言語を使用してよい。いくつかの例では、RSP672は、ロボットにミッションを割り当てる前にロボットの能力を確認して、ロボットの能力が変化していないことを確実にすることができる。例えば、ロボットのペイロードが変化したり、センサが故障していたりする可能性がある。
【0177】
1つまたは複数のミッションの割り当てについて、図12のフローチャート1200を参照して記載する。ステップ1210において、1つまたは複数のミッションプロファイルが受信されてよい。ステップ1210で受信されたミッションプロファイルは、図11のステップ1160中に出力されたミッションプロファイルであってよい。代替的または追加的に、1つまたは複数のミッションプロファイルは、ユーザ入力を介して、例えば有線または無線デバイスを介して、メモリを介して、例えば本明細書で説明されるような履歴データに基づいて(例えば、図6のヒストリアン612から)及び/または別のシステム、例えばサードパーティシステムから受信されてよい。本明細書に記載のように、各ミッションプロファイルは、1つまたは複数のタスク、タスクの実行に必要または有用な要素、1つまたは複数の要素に基づく動的データ、及び/またはミッションを達成するためのロボットのミッション能力を含み得る。ミッションは、ミッションとロボットタイプの要素に基づいて割り当てられてよい。
【0178】
ミッションを実行するロボットの能力、またはミッションを実行する複数のロボットの能力は、ミッションのすべての特徴を満たす1つまたは複数のロボットの能力を含む。逆に、ロボットの能力がミッションのあらゆる特徴を満たさない場合、ロボットはミッションを実行することができない。本明細書に記載するように、単独ではミッションのすべての特徴を満たすことはできないが、一緒になるとミッションのすべての特徴を満たすことができる場合、複数のロボットが共同してミッションを割り当てられてよい。ロボットがミッションを実行できるかできないかのこの決定は、RSP672またはロボットによって決定されてよい。例えば、RSP672は、最初にミッションの特徴に基づいてミッションを1つまたは複数のロボットに割り当てることができるが、ロボットは、本明細書に記載のように、ミッション中にフィードバックに基づいてミッションの1つまたは複数の特徴を実行することができないと判断する場合がある。
【0179】
当然ながら、複数のロボットが同じミッションを実行できる可能性がある。この場合、ミッションは、そのミッションを実行できるこれらのロボットのいずれかに割り当てられてよい。あるいは、ミッションは、ミッションの1つまたは複数の優先順位に基づいて、複数のロボットのうちの1つに割り当てられてよい。ミッションの優先順位は、ミッションを実行し、ミッションのタスクを達成するために必要なロボットの特徴とは対照的に、ミッションに対して所望のレベルの重要性を有する属性であってよい。優先順位は、例えば、ミッション及びそのタスクの実行の望ましい品質、ミッション/タスクの実行における望ましい効率レベル、ミッション/タスクを完了するための望ましいコストなどの1つまたは複数を含み得る。これらのミッションの優先順位は、それぞれ、優先順位に関係付けられた閾値、例えば、ミッションの実行に必要な品質閾値またはコスト閾値を有し得る。例えば、ミッションは、最高品質レベルのミッションまたはタスクの実行を必要とする、最短時間でミッションもしくはタスクを実行する、最少量のエネルギーを使用してミッションもしくはタスクを実行する、誤りもしくは失敗、さらなる支援/人間の介入の要求を最少にしてミッションもしくはタスクを実行する、及び/または(例えば、ロボットをリース契約で使用している場合)ミッションもしくはタスクを最低コストで実行するなどとして特徴付けられてよい。ロボットの1つまたは複数が、これらの追加の基準に少なくとも部分的に基づいて選択されてよい。例えば、ミッションは、失敗せずに非常に高品質の出力が必要となる「非常に重要」などの指定を含み得る。このような状況では、失敗が最も少ないロボットが、ミッションを実行できるが失敗率が高い別のロボットの代わりに選択されてよい。別の例として、ミッションの優先順位が、最もエネルギー効率の高い方法でミッションを実行することを含む場合、ロボットがより低いエネルギーを使用して動作できることに部分的に基づいて、ミッションがロボットに割り当てられてよい。
【0180】
場合によっては、ロボットにミッションを割り当てるときに、特定のミッションの優先順位が解決の手掛かりにならない場合がある。言い換えれば、ミッションの優先順位は望ましいが、必須でない場合もある。上記の例では、優先順位は、ミッションを完了するためにより少ないエネルギーを使用することを含み得る。しかしながら、ミッションを実行できるのがエネルギー使用量の高いロボットしかない場合、ミッションを達成しなければならない時刻が所望のエネルギーレベルに勝る場合があるので、ミッションは、優先順位に関わらず、これらの高エネルギー消費のロボットに割り当てられる可能性がある。
【0181】
当然ながら、優先順位は数値でなくてもよい。例えば、ミッション優先順位は、何らかの閾値を含んでよく、例えば、ロボットのエネルギー使用量が所定の閾値を下回る場合にミッションを実行してよい、またはミッション優先順位は、ミッションを実行するための順序またはタイミングを含んでよく、例えば、一連のミッションのある特定の時点でミッションを実行してよい。すべてのミッションが割り当てられると、複数のミッションをロボットに割り当てる可能なすべての反復に基づいて、1つまたは複数のミッションスケジュールが生成されてよい。ミッションスケジュールは、様々なミッションのできるだけ多くの優先順位を満たすように選択されてよい。
【0182】
ステップ1220では、ミッションプロファイルの作成及び/またはミッションプロファイルの受信以降の時間の経過に基づいて、必要に応じて、データ及びミッション能力を更新することができる。要素及びミッション能力は、ステップ1120で概説したのと同様の方法で、ステップ1220で更新されてよい。さらに、ミッションが割り当てられているときには、ミッションが決定された時点では入手できなかった追加情報が入手できる可能性がある。例えば、データは、図27のフローチャート2700及び/または図28のフローチャート2800に記載されているように、センサ及び/またはオペレータから受信したフィードバックに基づいて修正されてよい。この場合、データは現在利用可能な情報に基づいて更新されてよく、ミッションが正しく割り当てられることを確実にすることができる。
【0183】
ステップ1230ですべてのロボットを決定することができる。これには、施設にある、または施設で利用可能なあらゆるロボットが含まれる。例えば、運転管理システム700は、施設に割り当てられるロボット、または割り当てられているが、保守中などで利用できないロボットを記憶することができる。これは、施設にレンタルまたはリースされるロボットも含み得る。ステップ1230におけるすべてのロボットの決定は、サードパーティのロボット群のすべてのロボットの決定も含み得る。この例では、ステップ1230で決定された任意のロボットは、利用可能性及び/または能力に関係なく、すべての潜在的なロボットを識別することを含み得る。当然ながら、施設で利用可能なすべてのロボットを識別することはできるが、すべてのロボットを割り当てることができるわけではない。例えば、特定のロボットが、高額なリースコスト、契約条件に基づく利用可能性、使用コストなどに基づいて、割り当てるのは望ましくないと決定される場合がある。
【0184】
すべての可能なロボットが識別されると、ステップ1240で、各ロボットの特徴及び/または能力(理解を容易にするため、「ロボット能力」として知られる)を決定することができる。ロボット能力は、ロボットから直接受信されてよい、またはロボット能力を記憶しているシステムから受信されてよい。追加的または代替的に、ロボット能力は、ロボット及び/または他のセンサもしくは入力から受信したフィードバックに基づいて、定期的にまたはリアルタイムで更新されてよい。当然ながら、ロボット能力は、時間、場所、一連の操作などの追加の要素に少なくとも部分的に基づいてよい(例えば、昼間に動作するカメラは、夜間の使用には利用できない場合がある、データの記憶または物理サンプルの保管は、追加のデータ取得が行われ得る前に、特定の場所にアップロードまたはドロップオフすることが必要な場合があるなど)。場合によっては、ロボットがミッションを実行していないときでも、ロボットはRSP672にデータを送信し、及び/またはRSP672からデータを受信することができる。RSP672は、本明細書に記載するように、このデータに基づいてミッションを再割り当てすることができ、及び/またはロボットは、実行するようにスケジュールされたミッションの更新を受信するか、またはこのデータに基づいて追加のミッションを受信することができる。さらに、RSP672によるリアルタイムモニタリングは、ロボットに割り当てられた1つまたは複数のミッションをロボットがもはや実行することができなくなっているかどうかを判断することができる。例えば、バッテリレベルがミッションを実行するための許容可能な閾値を下回る場合があり、RSP672は、1つまたは複数のミッションを、1つまたは複数のミッションを実行可能な別のロボットに再割り当てすることができる。
【0185】
ミッション能力(上記)は、ロボット能力とは別の異なった能力であってよい。ミッション能力はミッションを達成し得る特徴を含むが、ロボット能力は、特定のロボットに関連付けられた特徴を含み得る。例えば、ミッション能力は、高度50フィートでのセンサの読み取りを含み得る。このミッション能力を満たし得るロボット能力は、撮像装置/カメラ、及び建物の側面を飛行したり登ったりする能力を含み得る。さらに、ロボット能力が一連のミッション能力を満たす単一のロボットが存在する可能性もあるが、このミッションを達成するには、それぞれ別個のロボット能力を持つ2つ以上のロボットが必要になる場合もある。例えば、ミッションには、カメラを備えた第1のロボットと、ロータを備え、第1のロボットを地上50フィートのセンサまで持ち上げることができる第2のロボットが必要な場合がある。
【0186】
ロボット能力は、一般的及び/または特定の時間の両方におけるロボットの利用可能性を含み得る。例えば、ロボットに複数のミッションが割り当てられてよい、そうしないと、バッテリ残量の低下やその他の競合により、保守や修理のため特定の時間にロボットが使用できなくなる場合がある。ロボット能力は、ロボットの損傷に関する情報も含み得る。この場合、ロボットは最大能力未満で動作している可能性があるが、一部の機能は実行できる可能性がある。このような場合、ロボット能力情報は、ロボットのどの公称能力が利用不可であるか、それが分かっている場合には、完全な能力が回復されるまでの時間を含み得る。同様に、ロボット能力はバッテリ残量を含んでよく、再充電が必要になるまでロボットを使用できる時間を示すことができる。ロボット能力は、特定のミッションまたはミッション内のタスク(例えば、本質的に危険または重要な活動などに基づく)をサポートまたはモニタするための人間オペレータの利用可能性も含み得る。
【0187】
ロボット能力は、様々な活動を達成するロボットの能力、例えば、特定の重量を超える荷物を運ぶ、特定の高さに到達する、特定の寸法を有する開口部を通るように操縦する、品物を回転させるもしくは向きを変える、画像を撮影する、騒音のレベルやタイプを感知する、品物を掴む、品物に力を加えるなどを含み得る。
【0188】
ロボット能力は、ロボットに関連付けられたツールも含み得る。例えば、ロボットは、レバーなどを回すための人間の手と同様の方法で動作することができる把持機構を有することができる。代替的または追加的に、ロボット能力は、ツールを取得及び/または使用するロボットの能力を含み得る。例えば、レンチはロボットが使用できるようにすることができる。しかしながら、ロボットがレンチを保持して操作するための把握機構または同様の機構を備えていない場合、そのレンチはその特定のロボットに関連付けられたロボット能力ではない可能性がある。ロボット能力情報は、レンチのサイズやトルク容量など、ロボットが利用できるツールの仕様をさらに含み得る。
【0189】
ロボット能力は、特定の温度、圧力、湿度などを含む特定の環境条件に耐えるロボット能力も含み得る。例えば、ロボットは、高温用途には適しているが、流体への浸漬には適さない材料を含み得る。当然ながら、これらはロボット能力の例であり、ロボット能力はロボットに関連付けられた他の特徴を含み得る。当然ながら、ロボットの状態(例えば、使用年数、ロボットの特定の要素の劣化など)がロボット能力に含まれてよい。
【0190】
ロボット能力が決定されると、ステップ1250で、1つまたは複数のロボットが各ミッションに割り当てられてよい。ロボットは、ミッションの特徴、データ、及びミッション能力とロボット能力とのマッチングに基づいて割り当てられてよい。このマッチングステップでは、(ミッションを達成する上でより重要である)特定のミッション能力が他のミッション能力よりも重み付けされる可能性があるため、より重み付けされたミッション能力にマッチするロボット能力を備えたロボットが考慮される。例えば、アンテナを固定するために高高度に到達するロボット能力を有することがロボットに必要な場合があるが、最も望ましいロボットは、アンテナの固定を画像化または記録すること(望ましいミッション能力)に利用できない。したがって、ロボットの割り当てを最適化するために、ミッション能力を重み付けまたは分類(必要、望ましいなど)することができる。
【0191】
このようなマッチング以外の要素も、ロボットのミッションへの割り当てに影響を与え得る。一例として、各ミッションに割り当てられた時間枠内でできるだけ多くのミッションを達成できるように、ロボットをミッションに割り当てることができる。各ミッションがそのミッションを完了すべき時間枠を有する場合、可能な最大数のミッションについてこの時間枠要素が満たされるようにミッションを割り当てることができる。あるいは、ミッションは、可能な限り最高度または閾値程度の品質で達成されるように割り当てられてよい。例えば、各ミッションがミッションプロファイルに関連付けられた品質要素を有する場合、できるだけ多くのミッションが品質メトリクスの所定の閾値レベルを達成するように、ミッションをロボットに割り当てることができる。ロボットの割り当てでは、達成されたミッションの量と質の両方を考慮し、ロボットの適切な割り当てを達成するために両方を比較検討することができる。ロボットは、タスクの場所及び/またはロボットの開始点からの距離、タスクまでのルートの質などに基づいて割り当てられてもよい。ロボットは、ロボットのタイプに基づいて、砂、風、温度、及び/または温度差、水及び/またはガスの存在など、特定の状況に耐えることができない場合がある。場合によっては、ロボット及び/またはRSP672によってアラームがトリガされて、ミッションが中断されたり、及び/または別のロボット(例えば、特定のイベントに特別にミッションを与えられた「第一対応者」ロボット)がミッションを開始する場合がある。ミッションは、ロボットのペイロード及び/またはロボットに取り付け可能なペイロードに基づいて、1つまたは複数のロボットに割り当てられてよい。ミッションは、時間及び/または空間におけるミッションの近接性、予測される天気予報、優先順位データなどに基づいて、1つまたは複数のロボットに割り当てられてもよい。
【0192】
ミッションが割り当てられると、ステップ1260でスケジュールが生成及び出力されてよい。例えば、スケジュールは、ユーザがミッションのスケジュールを見ることができるように、ディスプレイを有するデバイス、例えば、有線または無線デバイスに出力されてよい。ディスプレイは、各ロボットと、各ロボットが割り当てられるミッション(複数可)を表示することができるダッシュボード(例えば、図14のダッシュボード1400)を表示するGUIを含み得る。スケジュールはまた、メモリに記憶されてよい、例えば、RSP672、運転管理システム700、1つまたは複数のロボット、及び/または任意の他のリモートデバイスに関連付けられたメモリに記憶されてよい。スケジュールは、図11のステップ1160に記載するように、1つまたは複数の他のシステム、例えば、運転管理システム700、ロボットなどに適合するように、RSP672によって出力される前または後に修正されてもよい。例えば、スケジュールを出力することによって、RSP672に関連付けられたシステムのすべてに適合する複数のスケジュールファイルをRSP672に生成させることができる。代替的または追加的に、RSP672は、ミッションプロファイル及び/またはミッションスケジュールを出力するためにすべてのシステムに問い合わせを行ってファイルフォーマットを決定してよい。このようにして、スケジュールは、本明細書に記載するように、ミッションの管理を支援することができる複数のシステム及び/または複数のロボットに提供されてよい。
【0193】
1つまたは複数のミッションの管理について、図13のフローチャート1300を参照して記載する。ステップ1310で、ミッションのスケジュール及びミッションが割り当てられるロボットを受信することができる。割り当てられたミッションのスケジュールは、図12のステップ1260で生成され出力されたスケジュールを含み得る。代替的または追加的に、スケジュールは、例えば有線または無線デバイスを介してユーザ入力によって、例えば履歴データに基づいてメモリを介して、及び/または別のシステム、例えばサードパーティシステムから受信、または修正されてよい。本明細書に記載するように、スケジュールは、ミッション及びミッションに割り当てられたロボットを含み得る。スケジュールは、各ミッション及び/または各ロボットに関連付けられた任意の他の情報も含んでよく、これらの情報はミッションの管理に使用されてよい。ミッションスケジュールを受信すると、スケジュールに指定された時間に従ってミッションが開始されてよい。
【0194】
スケジュールが決定された後、及び/または1つまたは複数のミッションの開始時に、ステップ1320において、ロボット、ミッション及び/またはロボットが位置する環境、または別のリモート位置からフィードバックを受信することができる。フィードバックは、RSP672及び/またはシステム(例えば、図1の施設100内のシステム)内または外部の任意の他のロボット、センサ、もしくは他のデバイスにロボットから送信される任意の情報であってよい。フィードバックは、ミッションの全体的な状態に関する情報、例えば、ミッションが開始されたかどうか、いつミッションが開始されたか、及び/またはミッションが完了したかどうかなどに関する情報を含み得る。フィードバックは、ミッションの実行に関連する情報/データを含む、ロボット以外のソース、例えばセンサから受信した任意の情報/データも含み得る。
【0195】
フィードバックは、継続的なフィードバックを含んでよい、またはロボット、人員、及び/または施設の通信の利用可能性に基づいて断続的なフィードバックであってもよい。例えば、施設の環境によって通信信号が環境内を伝わる能力が低下する場合があり、ロボットやその他のフィードバックデバイスが施設全体の特定の場所でしか通信できない場合がある。代替的または追加的に、データ送信を所定の時間枠に減らして、RSP672、センサ、ロボット、他のフィードバックデバイスなどによって受信及び/または送信されるデータの量を減らすことができる。場合によっては、RSP672、運転管理システム700などとの通信が失われた場合、ロボットはシャットダウンするか、そうでなければ動作を停止するように指示されてもよい。これは、例えばロボットがロボット間通信できない場合、及び/またはロボットがミッションルート上の物体の存在を検出するためのセンサを備えていない場合に役立ち得る安全機能となり得る。
【0196】
フィードバックはロボットの状態も含み得る。これには、ミッションを実行するロボットの状態が含まれる場合や、ロボットと接触する他のロボットや人員の状態が含まれる場合がある。例えば、ミッションを実行している間、ミッションを実行している第1のロボットは第2のロボット(または人員)に遭遇し、第2のロボットの状態をRSP672に伝達することができる。第1のロボットは、第2のロボットの状態、例えば静止、移動中、故障などを伝達することができる。本明細書に記載するように、このデータを使用して、ミッション及び/またはミッションスケジュールを変更することができる。代替的または追加的に、第1のロボットは、RSP672から第2のロボットに指示を提供してよい。例えば、第2のロボットはRSP672と通信できない場所にいる可能性がある。いくつかの例では、RSP672は、任意のロボットが第2のロボットと接触した場合または時、第2のロボットに指示を提供するために、すべてのロボットに指示を送信することができる。この場合、第1のロボット(または任意の他のロボットもしくは送信デバイス)が第2のロボットと通信接触すると、RSP672からの指示が第2のロボットに送信されてよい。同様に、第1のロボットは、第2のロボットから情報を受信してRSP672または別のデバイスに送信することができ、第1のロボットは、そのデバイスと通信接触するときにこの情報を送信することができる。このようにして、すべてのロボットは施設全体で通信ノードとして機能し、管理システムの機能及び/またはシステム内でスケジュールされたミッションを向上させることができる。
【0197】
フィードバックは、環境状態の変化及び/またはミッションルートにあるセンサからの情報も含み得る。例えば、ロボットは、ミッションルート上の場所で匂いを判断したり、騒音を聞いたり、振動を感知したり、センサからの警告に気付いたりする場合がある。このフィードバックは、RSP672に供給することができ、別のロボットに送信することができ、他のミッションを定義させることができ、及び/または本明細書に記載するように、警告を感知するロボットによってアクションを実行することができる。
【0198】
フィードバックの使用に関する追加の詳細は、図27及び28のフローチャート2700及び2800に関して本明細書に含まれる。
【0199】
ステップ1330で、RSP672は、受信したフィードバックに基づいてミッションを管理することができる。ミッションの管理は、フィードバックに基づいてスケジュールまたはミッションを修正することを含み得る。スケジュールまたはミッションの修正は、ロボットからのフィードバック、スケジュール内のミッションの変更、及び/またはスケジュールへのミッションの追加または削除に基づいて、スケジュールまたはミッションが継続的に修正(終了を含む)できるように連続ループを含み得る。この例では、スケジュールは継続的に修正されてよい。あるいは、スケジュール及びミッションの修正は、スケジュールされたミッション(または特定のミッション)がすべて完了すると、スケジュール(またはミッション)を終了することを含み得る。新しいミッションを含み得るフィードバックに基づくミッションの再スケジューリングまたは再割り当てについては、図27を参照して説明する。
【0200】
ミッションの定義、割り当て、及び管理のための例示的GUI/方法
いくつかの例では、ユーザは、例えばダッシュボードを介して、有線または無線デバイスへの直接入力を介して、タスクを定義、割り当て、及び/または管理することができる。ダッシュボード1400の例を図14を参照して示す。ユーザは、ダッシュボード1400などのグラフィカルユーザインタフェース(GUI)を介して、ミッション、ロボット、及び/またはミッションスケジュールを選択または修正することができる。ダッシュボード1400または同様のデバイスにより、ユーザは、例えば、図6のウェブクライアント606を介してリモートで、または、例えばプロセス制御クライアント604を介して直接的にコマンドを入力することができる。ダッシュボード1400は、ロボット1410、センサ1420、ミッション1430、及び/またはアラーム/イベント1440などの様々な見出しを表示することができる。これらの見出しは、施設内のミッション及び/または他のイベントに関連する情報を受信、送信、及び/または表示するためにタッチ、マウスなどを介して選択できるサブカテゴリを示し得る。カテゴリ及び/またはサブカテゴリは、各カテゴリまたはサブカテゴリを示す画像、数字、及び/または単語を含み得る。例えば、ユーザは、ロボットタイプを設定するサブカテゴリ1412を選択することができ、これを選択すると、ユーザは、利用可能なすべてのロボットタイプをリストする別の画面に移動することができる。ユーザは、特定のミッションに使用されるロボットのタイプを選択することができる、または、本明細書に記載するように、ミッションプロファイルに基づいてロボットは自動的に選択されてよい。代替的または追加的に、ロボットタイプを設定1412により、ミッションを実行するための人員をユーザが選択できるようにしてよい。
【0201】
ロボットを設定1414もカテゴリ1410の下に示されてよい。ロボットを設定1414を選択すると、特定のセンサパッケージを含むなど、ロボットの様々な機能または能力をユーザが選択できるようにすることができる。ロボットを設定1414は、ミッション中に人員が使用するためのパッケージ、例えば、特定のツール及び/またはセンサをユーザが選択できるようにすることもできる。当然ながら、機能または能力は、例えば本明細書に記載されるミッションプロファイルに基づいて自動的に選択されてよい。
【0202】
第3のカテゴリであるロボット状態1416は、カテゴリ1410の下に示されてよい。ロボット状態1416は、例えば図15に示されるリスト1500を介してロボットの状態を示し得る。例えば、ロボット状態1416が選択されると、第1のロボット1510と第2ロボット1520がダッシュボード1400にリストフォーマットで示されてよい。ロボット状態1416は、ロボット名1530、ロボットタイプ1532、ロボット状態1534、通信(comm)状態1536、バッテリレベル及びバッテリ状態1538、オドメータ指示値1539、ミッション状態1540、ミッション進捗状況1542、ロボットとの最新(または最後の)通信更新1544、及び/またはロボットがビデオ能力を有するかどうか1546など、各ロボットに関する様々なロボット能力または他の情報を示し得る。当然ながら、このリストは単なる例であり、任意のロボット能力またはロボットに関する他の情報を図15に示すことができる。当然ながら、ロボット状態1516はロボットに限定されず、任意のオペレータ、例えばロボットまたは人員の能力または状態を示すために使用されてよい。
【0203】
引き続き図14を参照すると、センサ1420のカテゴリの下に4つのサブカテゴリが表示されてよい。例えば、サブカテゴリである、エリアを設定1422、センサを設定1424、センサ状態1426、及びグラフィックビュー1428が表示されてよい。これらのサブカテゴリをそれぞれ選択すると、表示が変更されて様々な情報を示し得る。例えば、エリアを設定1422を選択すると、センサが配置される場所に基づいてセンサを設定することができ、例えば、特定のエリアで使用するセンサをゼロに設定することができる。これは手動で行うことも、フィードバックに基づいて自動で行うこともできる。同様に、センサを設定1424を選択すると、センサを設定することができる。例えば、センサは画像センサであってよく、センサを設定1426を選択すると、明るさ、彩度などの画像センサの機能が自動的に、またはユーザによって手動で変更することができる。センサ状態1426を選択すると、ロボット状態1416が選択されたときにロボットの状態を表示するのと同様に、センサの状態が提供されてよい。例えば、1つまたは複数のセンサのリストが示され、センサ状態1426が選択されると、それらのセンサの状態または能力が表示されてよい。グラフィックビュー1428を選択すると、センサをグラフィックとして表示することができ、例えば、温度計としての温度センサ、圧力計としての圧力センサなどを表示することができる。グラフィックビュー1428を選択すると、1つまたは複数のセンサの他の情報もグラフィック形式で表示されてよい。
【0204】
ミッション1430というタイトルのカテゴリの下で、ユーザは、ミッションテンプレートを設定1432、ミッションリストを設定1434、ミッション実行1436、ミッション履歴1438、またはミッション履歴(確認)1439のうちのいずれか1つを選択することができる。ミッションテンプレートを設定1432を選択すると、ユーザは、ミッションに関連付けられる要素、データ、及び/またはミッション能力を変更することができ、または要素の表示方法を変更することができる。例えば、ミッションを定義するときに環境温度を考慮することが重要な場合がある。この場合、ユーザは、ミッションテンプレートを設定1432を選択することができ、ミッションを定義するときに要素として温度を含むようにミッションテンプレートを修正することができる。
【0205】
ミッションリストを設定1434を選択すると、スケジュールされたミッション(複数可)をユーザが手動で修正することができる。例えば、ミッションリストを設定1434が選択されると、ミッション及び各ミッションが割り当てられるロボットのリストが表示されてよい。ユーザはロボットとミッションを見ることができ、ミッションのスケジュールを変更することができる。例えば、ミッションはセンサの指示値を取得することを含んでよく、ユーザはセンサが特定の高さに配置されていることを知っている場合がある。ユーザは、センサデータを取得するためにセンサの高さに到達する能力を持たないロボットにスケジュールされたミッションを確認することがある。本明細書に記載するように、このデータは将来の使用のために保存することができ、将来このセンサからデータを取得したときにミッションプロファイルを自動的に更新することができる。
【0206】
ミッション実行1436を選択すると、ミッションが開始されるか、またはミッションが、例えば、将来の特定の日時に開始されるようにスケジュールされてよい。さらに、ミッションが将来にスケジュールされている場合、フィードバックに基づいてミッション実行1436を介して早期に開始するようにミッションを手動または自動で選択することができる。ミッション履歴1438を選択すると、ユーザは、どのミッションが開始されたか、どのデータが取得されたか、及びミッションからのアラートもしくは他のフィードバックを表示できるようになり得る。ミッション履歴(確認)1439を選択すると、データを手動または自動で確認することができる。例えば、アナログセンサの画像を取得した場合、センサの指示値を確認することが必要な場合がある。
【0207】
ダッシュボード1400の使用により、ユーザは、本明細書に記載される任意の方法でミッションを定義、割り当て、及び/または管理することができる。当然ながら、ミッションの定義、割り当て、及び/または管理の一部またはすべての側面は、手動または自動で行うことができる。ダッシュボード1400は、ユーザがシステムによって受信されたデータを確認または訂正できるようにすることもできる。あるいは、ダッシュボード1400は、監督者がすべてのミッションの状態を見るためだけに使用することもできる。
【0208】
優先順位に基づいたミッションの割り当て
ミッションは、複数の要素に基づいて図12のフローチャート1200のステップ1240で自動的に割り当てられてよい。例えば、ミッションの割り当てについては、図16のフローチャート1600を参照して記載する。1つの方法によれば、RSP672は、所望の優先順位に基づいてミッションのセットを順序付けすることができる。本明細書に記載するように、所望の優先順位は、ミッションの相対的な重要性、ミッションのタイミング、ミッションのコスト、各ミッションのタスク(複数可)に必要とされる望ましい品質などに基づいてよい。ミッションの順序は、複数の優先順位を考慮してよい。ステップ1610では、要素、データ、及びミッション能力がミッションプロファイルから解析されてよい。次に、1つの例示的な方法では、群の各ロボットを一度に1つずつ評価することができる。例えば、第1のロボットのロボット能力は、ステップ1620において第1のミッションプロファイルから解析された要素、データ、及びミッション能力と比較されてよい。ロボット能力と、要素、データ、及びミッション能力とが十分にマッチする場合、ステップ1630で、第1のロボットに第1のミッションが割り当てられてよい。第1のロボットと十分にマッチする場合、ステップ1640で、すべてのミッションが割り当てられたかどうかが判断されてよい。割り当てられるべきミッションが残っている場合、フローチャート1600は、すべてのミッションが割り当てられるまで、またはすべてのミッションを割り当てることができないと判断されるまで(後述)ステップ1620に戻る。
【0209】
マッチが不十分な場合、キュー内の次のロボット、例えば第2のロボットをステップ1650で比較して、十分にマッチするかどうか判断することができる。十分にマッチする場合、そのミッションは第2のロボットに割り当てられ、フローチャート1600はステップ1640に戻って、割り当てられるべきミッションが残っているかどうかを判断する。ステップ1650の判断が「いいえ」の場合、フローチャート1600はステップ1670に進み、ロボットが残っているかどうかを判断する。探索すべきロボットが残っている場合には、すべてのロボットが探索され、いずれかのロボットによってミッションを達成できるかどうかが判断される。各ロボットは、ミッションが割り当てられるか、ロボットがなくなるまで評価されてよい。
【0210】
第2のミッションをロボットに割り当てることができない場合、以前のミッション(例えば、第1のミッション)に以前に割り当てられたロボットがステップ1680で評価されてよい。第2のミッションを第1のミッションに割り当てられたロボットに割り当てることができる場合、第2のミッションをその第1のロボットに割り当ててよく、プロセスはステップ1620に戻ることができる。第2のミッションを以前に割り当てられたロボットに割り当てることができない場合、そのミッションは割り当てられないままになる。複数のミッションが1つのロボットに割り当てられる場合、方法は、複数のミッションを1つのロボットに任せて、異なる時間にスケジュールすること、または割り当てられていない任意の他のロボットが割り当てられたミッションの1つを達成することができるかどうかを判断することを含む、複数のオプションのいずれかから選択することができる。
【0211】
すべてのミッションが評価されると、ロボットに割り当てられるミッションのスケジュールが決定されてよい。ステップ1698では、例えば図12のフローチャート1200のステップ1260を参照して記載したように、ロボットスケジュールを出力することができる。
【0212】
ロボット群を管理する例示的な方法
図18のフローチャート1800を参照すると、図17を参照して日次シフトを定義、割り当て、及び管理する例が示されている。例えば、上記のように、ロボットへのミッションの完全に自動化された割り当ての代替として、管理者1801または他の人員は、ロボット及び/または人間のオペレータへの1つまたは複数のミッションの割り当てを支援することができる。これは、無線または有線接続を介して行われてよい。例えば、ロボットはデータを入力するためのGUIまたはキーパッドを備えてよく、ロボットは有線送信を受信するための1つまたは複数のデータポートを備えてよく、及び/またはロボットは無線通信を介してデータを受信してよい。
【0213】
ステップ1810で、管理者1810は複数のミッションにアクセスすることができる。管理者1801は、その後、フィールドアシスタント(FA)プログラム/モジュール1802を起動して、施設を検査するための一連のミッションの計画を作成することができる。
【0214】
ステップ1825で、管理者はまず、そのミッションが人間に適切であるかまたはロボットに適切であるかを判断することができる。図12及び/または16を参照して上述したステップのいずれも、この判断の際に管理者によって使用されてよい。管理者は、コンピュータプログラムまたはアルゴリズムの支援を利用してこれを行うことができる。
【0215】
タスクが人間に適していると判断された場合、フローチャート1800はステップ1830に進んでよい。人間オペレータ1806は、人間オペレータ1806に割り当てられたミッションのリストをダウンロードすることができる。例えば、人間オペレータ1806は、ミッションを表示するポータブルデバイスにアクセスすることができる。ミッションがダウンロードされると、人間オペレータ1806はステップ1840でミッションを選択して実行することができる。ポータブルデバイスは、ミッションを実行する間、人間オペレータ1806に携帯されてよい。このようにして、人間オペレータ1806は、実行されたミッションに基づいてRSP1803(例えば、図6のRSP672)にリアルタイムまたは断続的なフィードバックを提供することができる。人間オペレータ1806は、例えば、人間オペレータの五感に基づいて、または人間オペレータが利用可能な他のセンサに基づいて、追加のフィードバックを提供することもできる。本明細書に記載するように、このフィードバックは、将来のミッションプロファイルを自動的に更新し、及び/または他のミッションを実行するようにスケジュールされたロボットを再割り当てするために使用されてよい。
【0216】
ステップ1825でタスクがロボットタスクであると判断された場合、フローチャート1800はステップ1850に進む。ステップ1850において、RSP672は、FA1802のミッション情報を定期的に参照して、どのタスクがロボットに割り当てられているかを決定する。場合によっては、RSP1803は、FA1802に継続的に問い合わせることができ、またはRSP1803は、特定の間隔でFA1802に問い合わせるようにスケジュールされてよい。あるいは、FA1802は、タスクの開始がスケジュールされているときに、タスクをRSP1803にプッシュしてよい。
【0217】
ミッション情報がRSP1803に中継されると、ステップ1860で、シフト中にロボットに割り当てられたミッションをRSP1803からロボット1805にダウンロードすることができる。ミッションは、本明細書に記載される任意の情報、例えば要素、データ、及び/またはミッション能力を有するミッションプロファイルを含み得る。
【0218】
ステップ1870で、RSP1803は、ロボットまたは他のシステムからロボット能力を受信することができる。ロボット能力は、本開示で説明されるような任意のロボット能力を含み得る。例えば、ミッション能力は、ロボット1805の状態、例えば、機能しているすべてのシステム、バッテリレベル、ロボットに関連付けられたツールパッケージ、及び任意の他の情報を含み得る。この情報に応答して、RSP1803は、ミッションを実行するための特定のトリガなどのミッション情報及び/または他の情報をロボット制御システム1804(例えば、図4のロボット群管理480など)に送信することができる。
【0219】
ステップ1890において、ロボット制御システム1804は、ロボットにミッション情報を送信することができる。この情報は、施設全体の通信ノードを介して無線で送信することも、有線接続を介して、例えばロボットのデータポートを介して送信することもできる。この場合、RSP1803は、ロボット制御システム1804を介してロボットを制御してミッションを実行することができる。
【0220】
図20のフローチャート2000を参照すると、図19を参照して、ミッションを割り当て、及び管理する例が示されている。例えば、ステップ2005では、人間の管理者または自動化システム(例えば、RSP672)が、ミッションがロボット1805に課せられるか、人間1806に課せられるかを決定する。この決定は、ミッションプロファイルに基づいて行われてもよく、または履歴データに基づいて行われてもよい。例えば、ミッションプロファイルは、人間の能力によって満たされ得るミッションを完了するための1つまたは複数のミッション能力を示すことができる。
【0221】
ミッションが人間1806のミッションとして指定される場合、人間1806は、ステップ2010で、ミッションを実行するための任意のセンサ及び/または他のツールを含む、正しいツールパッケージまたは他の必要な機器を持っていることを確認することを課せられる場合がある。さらに、人間1806は、ミッションを実行し、ミッションのタスクの結果を決定することができる。ミッションが完了すると、人間1806は、タスクの結果をRSP1803(例えば、RSP672)、運転管理システム700、または別のリモートシステムにアップロードすることができる。
【0222】
ミッションがロボット1805に割り当てられたミッションである場合、ロボット1805は、ステップ2030でミッションプロファイルに基づいてミッションを実行することができる。例えば、ロボットは、センサを画像化するべきかどうか、バルブを切り替えるべきかどうかなど、ミッションに関連付けられた要素、データ、及び/またはミッション能力を含むミッションプロファイルからの情報を解析することができる。
【0223】
ロボット1805がミッションを実行した後、ロボットはステップ2040でミッションのタスクの結果をロボット制御システム1804に送信することができる。例えば、ロボット1805は、センサ指示値に関する情報、またはバルブが切り替えられたことを確認する情報を有する画像データを送信することができる。この情報は、タスクの場所から無線で送信されてもよいし、またはロボット1805がホームベースに戻ったときに有線接続を介して送信されてもよい。
【0224】
RSP1803は、ステップ2060において、任意の情報、例えばタスク結果をデータベース1807に記憶することができる。当然ながら、ロボット1805によって送信されるあらゆる情報は、視覚情報または音声情報1808などのフィードバックとみなされてよく、将来のミッション(例えば、将来のミッションの要素またはデータ)を定義するために使用されてよい。ステップ2060中に受信した情報は、追加のミッションをスケジュールすべきかどうか、及びそれらのミッションの範囲を決定するために使用することもできる。
【0225】
ステップ2070において、管理者1801は、ステップ2050でロボット1805によって送信されたデータを検討し、結果を確認することができる。例えば、管理者1801は、センサの画像を検討し、指示値が画像から正しく解析されたことを確認することができる。代替的または追加的に、管理者1801は、データを用いて追加のステップ、例えばデータベースにデータを入力するか、またはデータを別のシステムに送信することを実行することができる。例えば、ステップ2080において、管理者1801は、タスクの結果をフィールドアシスタント(FA)1802に送信することができ、フィールドアシスタント(FA)1802は、ユーザが結果を見ることができるようにし、及び/または新しいミッションを修正及び/または作成するためのフィードバックを提供することができる。
【0226】
図22のフローチャート2200を参照すると、図21を参照してミッションを割り当て、及び管理する例が示されている。例えば、フローチャート2200のステップ2202において、人間の管理者または自動システム(例えば、RSP672)は、ミッションがロボット1805に課せられるか、人間1806に課せられるかを判断する。この判断は、ミッションプロファイルに基づいて行われてよい、または履歴データに基づいて行われてよい。例えば、ミッションプロファイルは、人間の能力によって満たすことができるミッションを完了する1つまたは複数のミッション能力を示す場合がある。
【0227】
ミッションが人間1806に割り当てられる場合、人間1806は、ステップ2205で、機器、例えばセンサをチェックして、タスクの結果を決定することができる。例えば、タスクが圧力センサの指示値を決定することである場合、人間1806はセンサの値を読み取って記録することができる。この値は、例えばハンドヘルド電子デバイスを介してデジタル的に、または筆記用具と紙を使用して記録されてよい。
【0228】
ステップ2210で、人間1806はタスクの結果をアップロードすることができる。例えば、人間1806は、ハンドヘルド電子デバイスから無線で、または有線データポートを介して結果をアップロードすることができる。あるいは、人間1806は、ミッションの完了時に本部の端末に結果を入力してよい。
【0229】
ミッションがステップ2202でロボット1805のミッションであると判断された場合、ロボット1805は、ステップ2215でミッションプロファイルに基づいてミッションを実行することができる。例えば、ロボット1805は、センサを画像化するべきかどうか、バルブ位置を変更するべきかどうかなど、ミッションに関連付けられた要素、データ、及び/またはミッション能力を含むミッションプロファイルからの情報を解析することができる。
【0230】
ロボット1805がミッションを実行した後、ロボットはステップ2220でミッション結果をロボット制御システム1804を介して送信することができる。例えば、ロボット1805は、センサ指示値に関する情報、またはバルブが作動されたことを確認する情報を有する画像データを送信することができる。この情報は、タスクの場所から無線で送信されてもよいし、ロボット1805がホームベースに戻ったときに有線接続を介して送信されてもよい。RSP1803(例えば、RSP672)は、ステップ2225でタスク結果を受信することができる。
【0231】
RSP1803は、ステップ2230において、任意の情報(例えばタスク結果)をデータベース1807に記憶することができる。当然ながら、ロボットによって送信されるあらゆる情報は、フィードバックとみなされてよく、将来のミッションを定義するために使用されてよい。ステップ2225中に受信した情報は、追加のミッションをスケジュールすべきかどうか、及びそれらのミッションの範囲を決定するために使用することもできる。
【0232】
ステップ2235で、RSP1803は、タスク結果のデータを分析すべきであると決定することができる。例えば、データ、例えば視覚データまたは音声データ1808などは、センサに関連付けられてよく、管理者1801によって分析されてよい。
【0233】
ステップ2240で、ユーザアプリケーションは分析の結果を返すことができる。例えば、ユーザアプリケーションは、画像データからセンサの指示値を自動的に決定することができる。
【0234】
ステップ2245で、管理者1804は画像データを検討し、ユーザアプリケーションからの分析を確認することができる。例えば、画像データの品質が、ユーザアプリケーションが十分な確実性を持った分析を提供するには不十分な場合がある。
【0235】
ステップ2250で、RSP1803は、タスク結果をフィールドアシスタント(FA)1802またはユーザアプリケーション2201に送信することができる。これにより、ユーザは結果を見ることができ、及び/またはミッション修正及び/または新しいミッションを作成するためのフィードバックを提供することができる。
【0236】
図24のフローチャート2400を参照すると、図23を参照してミッションを割り当て及び管理する例が示されている。例えば、ステップ2405において、人間の管理者または自動システム(例えば、RSP672)は、ミッションがロボット1805に課せられるか、人間1806に課せられるかを判断する。この判断は、ミッションプロファイルに基づいて行われてもよいし、履歴データに基づいて行われてもよい。例えば、ミッションプロファイルは、人間の能力によって満たされ得るミッションを完了するための1つまたは複数のミッション能力を示すことができる。
【0237】
ミッションが人間1806に割り当てられる場合、人間1806は、ステップ2410で、機器、例えばセンサをチェックして、タスク結果を決定することができる。例えば、ミッションが圧力センサの指示値を決定することを含む場合、人間ロボット1806はセンサ値を読み取って記録することができる。この値は、例えばハンドヘルド電子デバイスを介してデジタル的に、または筆記用具と紙を使用して記録されてよい。
【0238】
ステップ2420で、人間1806はタスクの結果をアップロードまたは送信することができる。例えば、人間ロボット1806は、ハンドヘルドデバイスを使用して、センサ値に関連するデータを公開または送信することができる。あるいは、人間ロボット1806が端末にアクセスし、センサ値に関するデータを転写することができる。この情報は、中央の場所、例えばフィールドアシスタント(FA)システム1802に送信されてよい。
【0239】
ミッションがステップ2405でロボット1805のミッションであると判断される場合、ロボット1805は、ステップ2430で、例えば、ミッションプロファイルに基づいてミッションを実行することができる。例えば、ロボット1805は、センサを画像化するべきかどうか、バルブを切り替えるべきかなど、ミッションに関連付けられた要素、データ、及び/またはミッション能力を含むミッションプロファイルからの情報を解析することができる。
【0240】
ロボット1805がミッションを実行した後、ロボット1805は、ステップ2440で、ミッションに関連付けられたタスクを実行した結果を決定することができる。例えば、図32A及び32Bのセンサ3210及び3220はそれぞれ、画像化されてよい。ロボット1805は、RSP1803に問い合わせて、センサ3210及び3220からの読み取り結果、あるいは図23の任意の他の画像もしくは音声データ1808を決定するために人工知能(AI)機能2401にアクセスすることができる。代替的または追加的に、ロボット1805は、画像分析に基づいてセンサ3210、3220の値を自動的に決定するためのAIプログラム2401をロードしている場合がある。このようにして、センサの値を取得することができる。
【0241】
タスクの結果を決定した後、ロボット1805は、ステップ2450において、センサ指示値に関連する情報を有する画像データを送信することができる。この情報は、タスクの場所から無線で送信されてもよいし、ロボットがホームベースに戻ったときに有線接続を介して送信されてもよい。RSP1803は、ステップ2450でミッション結果を受信することができる。情報は、センサ指示値などの結果と、ミッション中に収集された任意の生データもしくは情報、例えば、センサの画像データとの両方を含み得る。当然ながら、ロボットによって送信されたあらゆる情報は、フィードバックとみなされてよく、データベース1807に保存されてよく、将来のミッションを定義するために使用されてよい。ステップ2450中に受信したこの情報は、追加のミッションをスケジュールすべきかどうか、及びそれらのミッションの範囲を決定するために使用することもできる。例えば、フィードバックは、図33のミッション履歴3300に示すことができる。フィードバックは、タスクに関連付けられた情報、例えば、第1のセンサ情報の読み取りに関連付けられた第1の情報3320及び第2のセンサ情報の読み取りに関連付けられた第2の情報3330を含み得る。場合によっては、ミッション履歴3300はロボット情報3310も含み得る。代替的または追加的に、この情報はメモリ、例えば図6のヒストリアン612から検索されてもよい。ロボットデータは、ロボットがこのミッションを達成するのに適したロボットであったかどうか(例えば、ロボットが、ミッションまたはその中のタスクを実行した結果、信頼性、時間またはエネルギーの効率などが、他のロボットと比較して、優れていたかまたは劣っていたか)を判断するために使用されてよい、また、計画されたもしくは将来のミッション、例えばどのロボットが特定のミッションに割り当てられるかを更新するためのフィードバックとして使用されてよい。
【0242】
ステップ2460で、RSP1803はロボットから情報を受信することができる。RSP1803は、ステップ2470において、任意の情報をデータベースに記憶することができる。ステップ2480で、RSP1803は、ミッション結果をフィールドアシスタント(FA)システム1802に送信することができる。これにより、管理者は結果を見ることができ、及び/または、これにより、ミッションを修正及び/または新しいミッションを作成するためのフィードバックを提供することができる。
【0243】
人工知能と機械学習の使用
図25のフローチャート2500を参照すると、ミッションを定義するために履歴データを使用することができる。例えば、メモリは、タスク、要素、データ、及びミッション能力のうちの任意の1つまたは複数を記憶することができる。場合によっては、1つまたは複数のミッション及びミッションに関連付けられたタスクをメモリ(例えば、ヒストリアン612)に記憶することができる。タスク及び/またはミッションは、ステップ2510でメモリからアクセスされてよい。代替的または追加的に、タスクまたはミッションは、図11のステップ1110を参照して記載した方法で入力されてよい。
【0244】
タスクを確立した後、ステップ2520でそのタスクに関連付けられた履歴データにアクセスすることによって、タスクに関連する要素(ステップ1120に記載した要素など)を決定することができる。代替的または追加的に、RSP672は、運転管理システム700または別のデータベースにアクセスして、そのタスクに関連付けられた要素が更新されたかどうかを判断することができる。例えば、タスクは、圧力計の検索と読み取りに関連付けられたステップを含み得る。履歴データは、圧力計がアナログセンサであることを示すことができる。RSP672は、1つまたは複数のデータベースにアクセスし、圧力計がデジタルセンサに更新されたことを決定することができる。
【0245】
ステップ2530で、RSP672は、ストレージ(例えば、ヒストリアン612)にアクセスして、タスクの要素に関連付けられたデータに関連する履歴データを決定することができる。さらに、ミッションに関連付けられた新しい情報に基づいて要素が更新される場合、データは、これらの更新された要素に関連付けられた新しいデータを含むように自動的に更新されてよい。例えば、圧力計がアナログからデジタルに変更された場合、データはデジタル圧力計の情報にアクセスするための詳細を含み得る。
【0246】
ステップ2540では、ミッションを達成するために使用することができるミッション能力が決定及び/または更新されてよい。ミッション能力は、履歴データにアクセスすることによって決定されてよい。代替的または追加的に、ミッション能力は、訂正された要素及び/または修正されたデータに基づいて自動的に更新されてよい。例えば、圧力計がアナログセンサからデジタルセンサに変更された場合、センサを読み取るためのミッション能力が変わる可能性がある。この場合、ミッション能力は、運転管理システム700内の情報に基づいて、及び/または例えば製造業者のウェブサイトなどを介してインターネット上の情報にアクセスすることによって、自動的に更新されてよい。
【0247】
ステップ2550において、ミッションプロファイルは、ステップ2510~2540で決定された任意の新しい情報に基づいて自動的に更新されてよい。
【0248】
ステップ2560では、図11のステップ1150で記載したようにミッションプロファイルが出力されてよい。
【0249】
図26のフローチャート2600、履歴データに基づいてミッションの更新スケジュールを生成する方法を記載する。図26のステップ2610で記載したように、各ミッションがミッションプロファイルを有する1つまたは複数のミッションを受信することができる。本明細書に記載するように、ミッションプロファイルは、ユーザによって選択されたミッションに基づいてよい。代替的または追加的に、人工知能及び履歴データを使用する機械学習を使用して、ステップ2610でミッション及びミッションプロファイルを決定することができる。例えば、施設を維持するミッションは、人間によって、または運転管理システムもしくはRSP672によって自動的に、所定の基準に基づいて割り当てられてよい。しかしながら、これらのミッションが初めてスケジュールされると、ステップ2610において、ミッションはメモリ、例えばヒストリアン612からRSP672によって自動的に受信されてよい。さらに、新しい作業指示に基づいてミッションが選択されてよい。例えば、単一のタスク(例えば、センサのチェック、ボタンの作動、レバーを回すなど)を有するミッションを調節または組み合わせて、1つまたは複数のタスク要求に基づいた複数のタスクを有するミッションを作成することができる。
【0250】
場合によっては、RSP672は、複数のロボットタイプによってサポートされる1つまたは複数のミッションの成功率及び/またはミッション完了時間を記録することができる。RSP672は、より高い成功率でミッションを実行するため、より迅速にミッションを完了するためなど、ロボットにミッションを割り当てる割り当てアルゴリズムを訂正することによって、この履歴データに基づいてミッションの割り当てを調整することができる。いくつかの例では、例えば写真が最適未満の解像度で撮影された場合、ミッションは不確定であると判断されるか、そうでなければ失敗とみなされる場合がある。この場合、RSP672は、より優れた画像化パッケージを有するロボットに同様のミッションをスケジュールするために、割り当てアルゴリズムを訂正してよい。RSP672は、割り当てアルゴリズムを調整して、各ロボットの電力需要に基づいて、より低いまたはより高い電力出力を有するロボットにミッションを割り当てることによって、すべてのロボットの電力消費を選択することもできる。例えば、高品質の画像が望まれているが、これらのロボットが高電力を必要とする場合、高品質の画像を提供するというミッションをロボットに割り当てると、ロボットの全体的な電力が増加する可能性がある。
【0251】
さらに、ステップ2620において、施設全体に割り当てられたセンサ及びロボットからフィードバックがRSP672に送信されてよい。フィードバックに基づいて、所定の基準に基づいて発生する保守問題に対処するためのミッションが生成されてよい。例えば、特定のパイプで結露が発生し、パイプの下の床に水が継続的に発生していると判断される場合がある。センサまたはロボットからのフィードバックは、この情報をRSP672に提供することができ、所定の基準に基づいて水を掃除するというミッションを(例えば、図11のフローチャート1100で)定義することができる。例えば、床に水があると環境要素が変化する可能性があり、群全体のスケジュールに影響を与え得る。この場合、床の水の掃除は、施設のそのエリアの他のタスクの前に実行されるように割り当てられてよい。
【0252】
ステップ2630では、新しいミッションがミッションスケジュール内、例えば、以前にスケジュールされたミッション内で発生するべきかどうかが判断されてよい。新しいミッションがスケジュール内で発生し得る場合、スケジュール内のどこで新しいミッションが発生するべきかを決定することができる。例えば、上述のように、床の水を掃除することは、近くにある他のタスクよりも前にスケジュールされてよい。あるいは、フローチャート2600はステップ2660に進んでよい。
【0253】
ステップ2640で、新しいミッションがスケジュールのどこで発生するべきかを決定することができる。例えば、これは、既にスケジュールされたミッション及び新たなミッションにおけるミッション要素、データ、及び/またはミッション能力に基づいて決定されてよい。例えば、ミッションは、床に水があるエリアを横断することが必要な場合があり、割り当てられたロボットは水を横断することができない。水を掃除するミッションが事前にスケジュールされてよい。
【0254】
ステップ2650で、ミッションは、本明細書に記載するように再割り当てまたは再スケジュールされてよい(例えば、図28を参照)。ミッションが再スケジュールされると、例えば、図28のステップ2860に記載したように、訂正されたミッションスケジュールを生成することができる。あるいは、以前にスケジュールされたミッションの一部ではないと決定されたミッションを使用して、新しいミッションスケジュールを生成することができる。
【0255】
ミッションの定義、割り当て、及び管理のためのフィードバックの使用
図27のフローチャート2700を参照して、ロボットはミッション中にフィードバックを受信することができる。ミッション中に、ステップ2710で、情報を収集するための1つまたは複数のセンサまたは他のデバイスがフィードバックを提供することができる。これらのセンサ/デバイスは、イメージセンサ、圧力センサ、またはその他のデバイスを含み得る。センサは、施設に関連付けられたセンサ、及び/または施設内の1つまたは複数のロボットに関連付けられたセンサであってよい。センサは、ロボットの状態、能力、または他の情報を、例えばロボットに取り付けられたセンサは直接、例えば施設に関連付けられたセンサは間接的にモニタすることができる。フィードバックは、ロボット固有のフィードバックを含み得る。例えば、ロボットは、バッテリ状態、健康状態(例えば、センサの故障)、施設内の場所、または他の同様のフィードバックを提供することができる。センサは施設の環境情報を決定することもできる。例えば、フィードバックは環境の圧力や温度を含み得る。フィードバックは、施設内の1つまたは複数の物体の位置も含み得る。例えば、画像化または位置特定デバイスは、施設内のロボット、人間、またはその他の物体の位置を決定することができる。人間も直接的または間接的にフィードバックを提供することができる。例えば、人間は、ポータブルハンドヘルドデバイスまたは施設内の固定端末を介してフィードバックを提供することができる。代替的または追加的に、センサは人間に取り付けられてよく、及び/または人間ロボットの衣服または機器内に埋め込まれてもよい。このようにして、ロボットと施設の両方をモニタすることができ、必要に応じてミッション及び/またはミッションスケジュールを変更することができる。
【0256】
ステップ2720において、フィードバックは、センサまたは他のデバイスからRSP672に送信されてよい。センサからRSP672へのデータの送信は、直接的または間接的に行うことができる。例えば、本明細書に記載するように、センサは無線または有線接続を介してRSP672に接続されてよい。場合によっては、所定の通信スケジュール、または施設全体の物体からの干渉により、無線接続が断続的になることがある。この場合、フィードバックはセンサからRSP672に間接的に送信される可能性がある。この間接的な通信は、別のロボット、人間、またはその他の通信インタフェースを介して行われてよい。
【0257】
ステップ2730で、RSP672及び/またはロボットがフィードバックを受信することができる。ユーザはフィードバックをモニタしてミッションもしくはミッションスケジュールを変更することができ、またはミッションもしくはミッションスケジュールはロボットまたはRSP672によって自動的に変更されてよい。例えば、フィードバックを受信したロボットは、フィードバックに基づいてミッションを自動的に変更することができる。フィードバックに基づいてミッションまたはミッションスケジュールを変更することを本明細書に記載する(例えば、図11または25)。
【0258】
ステップ2740で、RSP672はフィードバックをストレージに記憶することができる。このフィードバックは、将来のミッションを定義するために使用されてよい。例えば、ミッションプロファイル内の環境データは、特定の場所からの最新のフィードバックに基づいて更新されてよい。他の例では、施設の温度は1日を通して絶えず変化する可能性があり、環境データはタイミングに基づいて更新されてよい。
【0259】
ステップ2750で、RSP672は、変更されたミッション及び/または変更されたミッションスケジュールを1つまたは複数のロボットに送信することができる。例えば、受信したフィードバックに基づいて、ミッション及び/またはミッションスケジュールを変更することができ、それに応じて訂正されたミッションプロファイルをロボットに送信することができる。RSP672は、本明細書に記載される任意の方法で、変更されたミッションまたはミッションスケジュールをロボットに送信することができる。
【0260】
図28のフローチャート2800を参照すると、ミッション及び/またはミッションスケジュールの変更は、フィードバックに基づいて修正することができる。例えば、このフローチャートは、図25のステップ2550からのミッションまたはミッションスケジュールの変更に適用することができる。
【0261】
ステップ2810で、ロボットまたはRSP672によってフィードバックが受信される。フィードバックは、タスクの要素、データ、ミッション能力、またはロボットのロボット能力に関連する情報を含み得る。ステップ2820で、RSP672は、フィードバックがタスクの要素、その要素に関連するデータ、ミッション能力、ロボット能力、またはこれらの組み合わせのうちの1つまたは複数に関するフィードバックであるかどうかを判断する。
【0262】
ステップ2830で、RSP672は、フィードバックがどのミッションに影響を及ぼすかを判断する。例えば、フィードバックはタスクの要素を含み得る。この場合、単一のミッション、例えばタスクに関連付けられたミッションが、フィードバックによって影響を受ける唯一のミッションとなり得る。フィードバックが環境データを含む場合、フィードバックは複数のミッションに影響を与える可能性がある。例えば、施設の特定のエリアの圧力が変化すると、そのエリアに関連付けられた複数のミッションに影響を及ぼす可能性がある。フィードバックは、施設内の特定の場所にアクセスできないこと(例えば、大きさや施設の制限に基づいて)、特定の近くで作業している人間の存在(例えば、ロボットによって実行される作業は人間に危害を及ぼす可能性がある)、壊れたまたは機能不全の機器(例えば、バルブ、センサ、ボタンなど)、環境(雪、雨、ガス、日光など)なども含み得る。ミッションはアプリケーションに依存することもある。例えば、ミッションはミッションタイプに基づいてロボットのサブセットに割り当てられてよい(ロボットAはボタン操作を含むミッションに割り当てられてよく、ロボットBはレバーの移動などを含むミッションに割り当てられてよい等)。フィードバック及び履歴データは、将来のミッションを最適化するために使用されてよく、例えば、将来のミッションスケジュールがロボットの使用量に基づいて効率を改善し、コスト及びエネルギー使用量を削減できるようになど、異なるロボットに将来のミッションを再割り当てすることができる。
【0263】
ステップ2840では、フィードバックによって影響を受ける各ミッションのミッションプロファイルがRSP672によって修正される。例えば、影響を受けるミッションプロファイルの一部、例えば要素、環境データ、ミッション能力、またはロボット能力が修正される。
【0264】
ステップ2850で、RSP672は、ミッションプロファイルの修正がミッションスケジュール、例えばロボットの割り当て、ミッションのタイミングなどに影響を与えるかどうかを判断する。答えが「いいえ」の場合、操作はステップ2870に進む。ミッションプロファイルの修正がミッションスケジュールに影響を与える場合、フローチャート2600はステップ2860に進む。
【0265】
ステップ2860では、ミッションスケジュールが訂正される。例えば、ミッションは、図26のフローチャート2600に記載したように再割り当てすることができ、ミッションのタイミングを変更することができる。
【0266】
ステップ2870では、ミッションスケジュールまたは訂正されたミッションスケジュールが生成され、ロボットに送信される。例えば、ミッションスケジュールは、図12のステップ1260に記載したように生成され、送信することができる。
【0267】
ミッションの再割り当て方法
図29のフローチャート2900を参照して、ミッションを再割り当てする方法を記載する。ステップ2910において、フィードバックは、図27のフローチャート2700または図28のフローチャート2800に記載された任意の方法で受信されてよい。
【0268】
ステップ2920において、1つまたは複数のミッションまたはミッションスケジュールがRSP672によって受信されてよい。これは、図12のミッション割り当てフローチャート1200のステップ1210中に取得された任意のミッション、またはステップ1260で生成及び出力された任意のミッションスケジュールを含み得る。代替的または追加的に、リモートシステムによって生成されたミッションスケジュール、または例えば入力デバイスを介して人間から受信されたミッションスケジュールが、ステップ2920で受信されてよい。
【0269】
ステップ2930で、RSP672は、ミッションプロファイルのパラメータ(要素、データ、ミッション能力)のいずれかがフィードバックに基づいて変更されたかどうかを判断する。ミッションプロファイルが影響を受けない場合、フローチャート2900はステップ2970に進む。少なくとも1つのミッションプロファイルが影響を受けた場合、フローチャート2900はステップ2940に進む。
【0270】
ステップ2940において、1つまたは複数のミッションプロファイルがRSP672によって修正及び更新される。例えば、環境データのフィードバックにより、1つまたは複数のミッションプロファイル内の環境データが変更される場合がある。
【0271】
ステップ2950で、RSP672は、ミッションプロファイルの変更によりミッションスケジュールが変更されるかどうかを判断する。例えば、RSP672は、各ミッションに割り当てられた1つまたは複数のロボットが同じミッションスケジュールに基づいてミッションの実行を続けることができるかどうかを判断してよい。ミッションプロファイルを変更してもミッションスケジュールが変更されない場合、フローチャート2900はステップ2970に進む。ミッションプロファイルを変更するとミッションスケジュールが変更される場合、フローチャート2900はステップ2960に進む。
【0272】
ミッションスケジュールはステップ2960で変更または更新されてよい。例えば、ミッションは、図12のフローチャート1200及び/または図26のフローチャート2600に記載された方法でミッションスケジュールに割り当てられてよい。新しいまたは訂正されたミッションスケジュールは、図12のステップ1260のように出力され、ロボットに割り当てられてよい。
【0273】
ステップ2970では、ミッションスケジュールが訂正されていないことを確認するために、ミッションスケジュール内のすべてのロボット、監督者のディスプレイなどに確認メッセージまたは警告を送信することができる。さらに、訂正されたがミッションスケジュールには影響を及ぼさなかった1つまたは複数のミッションのミッションプロファイルを各ロボットに送信することができる。あるいは、RSP672は、データ送信量を減らすために、ロボット及び/または監督者もしくは他の人員に確認メッセージを送信する必要はないと決定することもできる。場合によっては、コスト削減などのためにロボットとRSP672との通信を制限するようにミッションが設計される場合がある。この場合、ロボットは、警告または他の緊急事態が発生するまで、1つまたは複数のミッションを完了するように独立して動作するように(ミッションプロファイル及び/またはミッションスケジュールに基づいて)指示される場合がある。いくつかの例では、ロボット及び/またはミッションの状態をRSP672に通知するために、状態チェックがRSP672に、またはRSP672から定期的に送信されてよい。このフィードバックに基づいて、スケジュールは本明細書に記載されているように修正されてよい。
【0274】
図34のフローチャート3400を参照して、ミッションを再割り当てする別の方法を記載する。
【0275】
ステップ3410で、第1のロボットがメインミッションの実行を開始することができる。ステップ3420において、第1のロボットは、本明細書に記載される任意の方法でフィードバックを受信することができる。そのフィードバックに基づいて、第1のロボットはステップ3430で一連のアクションを決定することができる。例えば、第1のロボットは、フィードバックに基づいて、ミッションを実行できないと判断するか、(RSP672から受信した、またはロボットに事前にロードされた)条件付きミッションを実行できる可能性があると判断することができる。
【0276】
ステップ3440で、ロボットは条件付きミッションを完了し、再びメインミッションの実行を開始する。場合によっては、ロボットは中断したところからメインミッションの実行を開始することができる、またはメインミッション全体を再度実行することが必要な場合がある。
【0277】
さらに、ステップ3450で、施設内で発生したイベントを示すアラームがトリガされる場合がある。ステップ3460で、第1のロボットまたは1つまたは複数の第2のロボットが、アラームに基づいて生成されたミッションを実行すべきかどうかが、例えば、ロボットの場所への近さ、すべてのロボットに割り当てられたミッションの優先順位などに基づいて判断される。
【0278】
ステップ3470において、メインミッションは第1のロボットによって完了されてよい。第1のロボットは別のミッションを開始することも、シェルタまたは他の「ベース」エリアに戻ることもできる(ベースへの帰還はメインミッションに含まれてもよく、またはロボットに事前にプログラムされた別のミッションであってもよい)。
【0279】
ロボット及びロボット群を定義、割り当て、及び管理するための例示的な制御システムについて記載してきたが、当然ながら、これらのシステムにおける要素の特定の配置は限定されない。本明細書に記載するように、ロボット及びロボット群を定義、割り当て、及び管理するための制御システムが含まれる。様々なロボットの定義、割り当て、及び管理は、本明細書で説明されるシステム及び方法によって改善され得る。
【0280】
開示の範囲から逸脱することなく、開示されたシステム及び方法に様々な修正及び変形を加えることができることは、当業者には明らかであろう。当然ながら、開示されたシステムは、本明細書の記載に従った方法中の1つまたは複数の操作をシステムが実行することを可能にする、例えばプロセッサ及び非一時的なコンピュータ可読媒体などの複数のハードウェアコンポーネントを組み込んだ様々な適切なコンピュータシステム及び/またはコンピューティングユニットを含み得る。本開示の他の態様は、本明細書を考慮し、本明細書に開示の特徴を実践することから、当業者に明らかとなろう。明細書及び実施例は、例示としてのみ考慮されることを意図している。
【0281】
当然ながら、様々なシステムは任意のコンピューティングデバイスを含み得る。コンピューティングデバイスは、キーボード、マウス、タッチスクリーン、モニタ、ディスプレイなどの入出力デバイスに接続するための入力ポート及び出力ポートを含み得る。もちろん、様々なシステムの機能は、多数の同様のプラットフォーム上に分散方式で実装されて、処理負荷を分散させることができる。あるいは、システムは、1つのコンピュータハードウェアプラットフォームの適切なプログラミングによって実装されてもよい。
【0282】
一実施形態では、開示されたシステム、方法、及び/またはグラフィカルユーザインタフェースのいずれも、本明細書の記載と一致するかまたはそれに類似するコンピューティングシステムによって実行または実装されてよい。必須ではないが、本開示の態様は、データ処理装置、例えばサーバコンピュータ、ワイヤレスデバイス、及び/またはパーソナルコンピュータによって実行されるルーチンなどのコンピュータ実行可能命令の文脈で記載される。関連技術の当業者であれば、本開示の態様は、インターネットアプライアンス、ハンドヘルドデバイス(携帯情報端末(「PDA」を含む)、ウェアラブルコンピュータ、あらゆる種類のセルラもしくはモバイル電話(ボイスオーバIP(「VoIP」)電話を含む)、ダム端末、メディアプレーヤ、ゲームデバイス、仮想現実デバイス、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家庭用電化製品、セットトップボックス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなど、他の通信、データ処理、またはコンピュータシステム構成を用いて実施できることを理解されよう。実際、「コンピュータ」、「コンピューティングデバイス」などの用語は、本明細書では一般に交換可能に使用され、上記のデバイス及びシステムのいずれか、ならびに任意のデータプロセッサを指す。
【0283】
本開示の態様は、本明細書で詳細に説明されるコンピュータ実行可能命令のうちの1つまたは複数を実行するように特にプログラムされ、構成され、及び/または構築される専用コンピュータ及び/またはデータプロセッサで具体化することができる。特定の機能などの本開示の態様は、単一のデバイス上で排他的に実行されるものとして記載されるが、本開示は、機能またはモジュールが、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、及び/またはインターネットなどの通信ネットワークを介してリンクされた異種の処理デバイス間で共有される分散環境でも実施することができる。同様に、複数のデバイスを伴うものとして本明細書で提示される技術は、単一のデバイスで実装することができる。分散型コンピューティング環境において、プログラムモジュールは、ローカル及び/またはリモートのメモリストレージデバイスに配置されてよい。
【0284】
本開示の態様は、磁気的もしくは光学的に読み取り可能なコンピュータディスク、配線もしくは事前にプログラムされたチップ(例えば、EEPROM半導体チップ)、ナノテクノロジメモリ、生物学的メモリ、またはその他のデータストレージメディアを含む非一時的コンピュータ可読媒体上に記憶及び/または頒布されてよい。あるいは、本開示の態様に基づくコンピュータ実施命令、データ構造、画面表示、及び他のデータは、インターネット及び/または他のネットワーク(ワイヤレスネットワークを含む)を介して、一定期間にわたって伝搬媒体(例えば、電磁波(複数可)、音波など)上の伝搬信号で分散されてよい、及び/またはアナログもしくはデジタルネットワーク(パケット交換、回線交換、またはその他の方式)で提供されてもよい。
【0285】
技術のプログラムの態様は、典型的には、ある種の機械可読媒体に担持されているかある種の機械可読媒体に具現化されている実行可能コード及び/または関連データの形をとる「製品」または「製造品」とみなすことができる。「ストレージ」タイプの媒体は、様々な半導体メモリ、テープドライブ、ディスクドライブなど、コンピュータ、プロセッサなどの有形メモリ、またはそれらの関連モジュールなどのいずれかまたはすべてを含み、これらは、ソフトウェアプログラミングのためにいつでも非一時的な記憶を提供することができる。ソフトウェアのすべてまたは一部は、インターネットまたは他の様々な電気通信ネットワークを介して時には伝達されてよい。例えば、このような通信は、1つのコンピュータもしくはプロセッサから別のコンピュータもしくはプロセッサへの、例えば、モバイル通信ネットワークの管理サーバもしくはホストコンピュータからサーバのコンピュータプラットフォームへの、及び/またはサーバからモバイルデバイスへのソフトウェアのロードを可能にすることができる。したがって、ソフトウェア要素を担持することができる別のタイプの媒体は、有線及び光地上通信網を介して、また様々なエアリンクを介して、ローカルデバイス間の物理的なインタフェースにわたって使用されるような、光波、電波及び電磁波を含む。そのような波を搬送する物理的要素、例えば有線または無線リンク、光リンクなども、ソフトウェアを担持する媒体とみなすことができる。本明細書で使用する場合、非一時的で有形の「記憶」媒体に限定されていなければ、コンピュータまたは機械「可読媒体」などの用語は、実行のためにプロセッサに指示を与えることに関与する任意の媒体を指している。
【0286】
開示の範囲から逸脱することなく、開示のシステム、方法、及びデバイスに様々な修正及び変形を行うことができることは当業者には明らかであろう。本開示の他の実施形態は、本明細書を考慮し、本明細書に開示される発明を実践することから当業者には明らかであろう。本明細書及び実施例は、例示的なものにすぎないと見なされることが意図され、本発明の真の範囲及び趣旨は、次の特許請求の範囲によって示される。
【0287】
本開示の他の実施形態は、本明細書を考慮し、本明細書に開示される発明を実践することから当業者には明らかであろう。本明細書及び実施例は、例示的なものにすぎないと見なされることが意図され、本発明の真の範囲及び趣旨は、次の特許請求の範囲によって示される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32A
図32B
図33
図34
【国際調査報告】