(57)【要約】【課題】ロボット動作における故障検出のためのシステム及び方法を提供すること。【解決手段】ロボット動作における故障検出のためのデータ駆動型の手法が開示される。一組のロボット・タスクがディープ・ラーニング（ＤＬ）解析によって受け取られ、分析される。ＤＬ解析は状態保持（長期短期記憶）ＬＳＴＭを含む。最初に、ロボットに関連付けられた一組のアクティビティを整合させるべく、多ロボット環境における各ロボットから集められた一組のタスクに基づいて状態保持ＬＳＴＭが訓練される。状態保持ＬＳＴＭは、マスタ・スレーブ・フレームワーク・ベース負荷分散技法及び確率的格子手法を利用して、ロボットに関連付けられた次のアクティビティを最短の待ち時間で、且つ、改善された精度で予測する。さらに、予測された次のアクティビティがロボットの実際のアクティビティと比較され、それによりロボット動作に関連する故障が識別される。【選択図】図１
2019155584.tif 000002
【特許請求の範囲】
【請求項１】
ロボット動作における故障検出のための、プロセッサにより実施される方法であって、
１つ又は複数のハードウェア・プロセッサによって、複数のロボットから時系列の形態の一組のタスクを受け取るステップであって、前記一組のタスクが前記複数のロボットのうちの個々のロボットに関連付けられた一組の動作データを含む、ステップと、
前記１つ又は複数のハードウェア・プロセッサによって、ディープ・ラーニング（ＤＬ）解析に基づいて個々のロボットに関連付けられた次のアクティビティを計算するステップであって、前記ＤＬ解析が、
（ｉ）複数のサブ・アクション・ウィンドウへの前記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、
（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、前記最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークである、選択と、
（ｉｉｉ）前記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく前記複数のサブ・アクション・ウィンドウの分析による、前記複数のロボットに関連付けられた前記次のアクティビティの計算と
によって計算コストを最少化し、学習時間を最短化するための最適資源割当て技法に基づく、ステップと、
前記１つ又は複数のハードウェア・プロセッサによって、前記次のアクティビティを前記ロボットの実際のアクティビティと比較することにより、前記複数のロボットから個々のロボットに関連付けられた故障を検出するステップと
を含む方法。
【請求項２】
前記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく前記複数のサブ・アクション・ウィンドウの分析による、前記複数のロボットに関連付けられた前記次のアクティビティを計算する前記方法が、
前記複数のサブ・アクション・ウィンドウを受け取るステップと、
前記複数のサブ・アクション・ウィンドウから確率的格子を計算するステップであって、前記確率的格子が一組の事前確率的推移を利用することによって計算される、ステップと、
前記確率的格子に基づいて一組の事後確率を計算するステップと、
前記一組の事後確率に基づいて前記複数のロボットに関連付けられた前記次のアクティビティを計算するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記複数の計算デバイスが、フォグ計算デバイス、エッジ計算デバイス、及びクラウド計算デバイスのうちの少なくとも１つである、請求項１に記載の方法。
【請求項４】
前記一組の動作データが、一組の変位データ及び一組の回転データを含む、請求項１に記載の方法。
【請求項５】
前記マスタ計算デバイス及び前記複数のスレーブ計算デバイスを有する最適負荷分散のための前記マスタ・スレーブ・フレームワークが、
個々のスレーブ計算デバイスに関連付けられた資源構成を、前記マスタ・スレーブ・フレームワークを使用して前記複数のスレーブ計算デバイスから同報通信することと、
前記最適分散技法に基づいて前記一組のタスクを前記マスタ計算デバイスによって１つ又は複数のスレーブ・デバイスに分散することであって、前記マスタ・スレーブ・フレームワークが、サーバ計算能力、ネットワーク待ち時間、計算コスト、及びデータ転送コストに基づく最少の計算で前記状態保持ＬＳＴＭを実行するために前記最適負荷分散を実施するように事前学習される、ことと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記状態保持ＬＳＴＭの事前学習が、
データベースから前記ロボットに関連付けられた前記一組の動作データを受け取ることと、
前記一組の動作データに関連付けられた変位値及び回転値を使用して複数のアクション・ユニットを検出することと、
前記複数のアクション・ユニットに関連付けられた事前確率を計算することと、
前記事前確率に基づいて前記状態保持ＬＳＴＭネットワークを訓練することと
をさらに含む、請求項１に記載の方法。
【請求項７】
ロボット動作における故障検出のためのシステムであって、
複数の移動ロボット１０２であって、前記複数の移動ロボットのうちの個々の移動ロボットが動作データ収集ユニットと結合され、前記動作データ収集ユニットが複数のセンサを備える、複数の移動ロボット１０２と、
複数の計算デバイス１０４であって、個々の計算デバイスが、プログラムされた命令を備えた１つ又は複数のメモリと、個々の移動ロボットに関連付けられた一組のタスクを記憶するためのリポジトリであって、１つ又は複数のハードウェア・プロセッサが前記１つ又は複数のメモリに動作的に結合され、前記１つ又は複数のハードウェア・プロセッサが前記１つ又は複数のメモリに記憶された前記プログラムされた命令を実行することができる、リポジトリと、ディープ・ラーニング（ＤＬ）解析ユニットと、を含む複数の計算デバイス１０４と、
を備え、前記ＤＬ解析ユニットが、
前記複数の移動ロボットのうちの個々の移動ロボットに関連付けられた前記動作データ収集ユニットから、時系列の形態の一組のタスクであって、前記複数の移動ロボットのうちの個々の移動ロボットに関連付けられた一組の動作データを含む一組のタスクを受け取り、
ディープ・ラーニング（ＤＬ）解析であって、
（ｉ）複数のサブ・アクション・ウィンドウへの前記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、
（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、前記最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークである、選択と、
（ｉｉｉ）前記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく前記複数のサブ・アクション・ウィンドウの分析による、前記複数のロボットに関連付けられた次のアクティビティの計算と
によって計算コストを最少化し、学習時間を最短化するための最適資源割当て技法に基づくＤＬ解析に基づいて個々の移動ロボットに関連付けられた前記次のアクティビティを計算し、
前記次のアクティビティを前記移動ロボットに関連付けられた実際のアクティビティと比較することにより、前記複数のロボットから個々のロボットに関連付けられた故障を検出する
ように構成される、システム。
【請求項８】
前記ＤＬ解析ユニットが、前記最適な計算デバイスによって、
前記複数のサブ・アクション・ウィンドウを受け取ることと、
前記複数のサブ・アクション・ウィンドウから確率的格子を計算することであって、前記確率的格子が一組の事前確率的推移を利用することによって計算される、ことと、
前記確率的格子に基づいて一組の事後確率を計算することと、
前記一組の事後確率に基づいて前記複数の移動ロボットに関連付けられた前記次のアクティビティを計算することと
により、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく前記複数のサブ・アクション・ウィンドウを分析することによって、前記複数の移動ロボットに関連付けられた前記次のアクティビティを計算するように構成される、請求項７に記載のシステム。
【請求項９】
前記複数の計算デバイスが、フォグ計算デバイス、エッジ計算デバイス、及びクラウド計算デバイスのうちの少なくとも１つである、請求項７に記載のシステム。
【請求項１０】
前記一組の動作データが一組の変位データ及び一組の回転データを含む、請求項７に記載のシステム。
【請求項１１】
前記ＤＬ解析ユニットが、
個々のスレーブ計算デバイスに関連付けられた資源構成を、前記マスタ・スレーブ・フレームワークを使用して前記複数のスレーブ計算デバイスから同報通信することと、
前記最適分散技法に基づいて前記一組のタスクを前記マスタ計算デバイスによって１つ又は複数のスレーブ・デバイスに分散することであって、前記マスタ・スレーブ・フレームワークが、サーバ計算能力、ネットワーク待ち時間、計算コスト、及びデータ転送コストに基づく最少の計算で前記状態保持ＬＳＴＭを実行するために前記最適負荷分散を実施するように事前学習される、ことと
によって、前記マスタ計算デバイス及び前記複数のスレーブ計算デバイスを有する前記マスタ・スレーブ・フレームワークに基づく前記最適負荷分散技法を実施するように構成される、請求項７に記載のシステム。
【請求項１２】
前記ＤＬ解析ユニットが、
データベースから前記ロボットに関連付けられた前記一組の動作データを受け取ることと、
前記一組の動作データに関連付けられた変位値及び回転値を使用して複数のアクション・ユニットを検出することと、
前記複数のアクション・ユニットに関連付けられた事前確率を計算することと、
前記事前確率に基づいて前記状態保持ＬＳＴＭネットワークを訓練することと
によって前記状態保持ＬＳＴＭを事前学習するように構成される、請求項７に記載のシステム。
【請求項１３】
ロボット動作における故障検出のための１つ又は複数の非一時的機械可読情報記憶媒体であって、
１つ又は複数のハードウェア・プロセッサによって、複数のロボットから、時系列の形態の一組のタスクであって、前記複数のロボットのうちの個々のロボットに関連付けられた一組の動作データを含む一組のタスクを受け取ることと、
前記１つ又は複数のハードウェア・プロセッサによって、ディープ・ラーニング（ＤＬ）解析であって、
（ｉ）複数のサブ・アクション・ウィンドウへの前記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、
（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、前記最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークである、選択と、
（ｉｉｉ）前記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく前記複数のサブ・アクション・ウィンドウの分析による、前記複数のロボットに関連付けられた次のアクティビティの計算と
によって計算コストを最少化し、且つ、学習時間を最短化するための最適資源割当て技法に基づくＤＬ解析に基づいて個々のロボットに関連付けられた前記次のアクティビティを計算することと、
前記１つ又は複数のハードウェア・プロセッサによって、前記次のアクティビティを前記ロボットの実際のアクティビティと比較することにより、前記複数のロボットから個々のロボットに関連付けられた故障を検出することと
を含む１つ又は複数の非一時的機械可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、２０１８年３月１７日に出願した、参照によりそのすべてが本明細書に組み込まれているインド特許出願第２０１８２１００９８４１号の優先権を主張するものである。
【０００２】
本明細書における実施例は、一般に概ねロボット及び自動化に関し、詳細にはロボット動作における故障検出のためのシステム及び方法に関する。
【背景技術】
【０００３】
ロボット技術は、現在、センサ・データの処理、記憶、及び通信能力が改善されたロー・エンド・ロボットを強化するために使用されている。ロボット技術においては、故障検出は、無線センサ及びアクチュエータ・ネットワーク（ＷＳＡＮ：Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  ａｎｄ  Ａｃｔｕａｔｏｒ  Ｎｅｔｗｏｒｋ）ベースのサイバー物理システム（ＣＰＳ：Ｃｙｂｅｒ  Ｐｈｙｓｉｃａｌ  Ｓｙｓｔｅｍｓ）の安全性及び信頼性を保証するために極めて重要である。ＣＰＳシステムは、センサ及びアクチュエータに基づき、とりわけロボットに基づいている。ＣＰＳシステムは、知覚、分析及び動作サイクルに漠然と従ってタスクを実施している。１つのユニットにおける動作の失敗は、他のユニットに数珠つなぎになって伝わり、総合的なタスクの失敗の原因になり得る。このような失敗は、その検出に時間がかかり、また、故障が検出されて初めて、タスクを再始動するためのさらなるアクションを取ることができる。通常、ロボット動作における失敗は、高性能計算技術に基づいて検出される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボット動作における故障検出のための従来の方法は、ハイ・エンドの地上較正（ｇｒｏｕｎｄ  ｔｒｕｔｈ）カメラ・システムを利用しており、ハイ・エンドの地上較正カメラ・システムは、多ロボット・ミッションには利用することができない。さらに、人間型ロボットの動作故障を非侵略的方法で検出する課題が存在している。さらに、ロボット動作における故障検出にはＣＰＵ及びメモリを多大に要する高性能な計算が必要であり、従来のシステムには利用することができない。
【課題を解決するための手段】
【０００５】
本開示の実施例は、上で言及した、本発明者らによって認識された従来のシステムにおける技術的問題のうちの１つ又は複数に対する解決法として技術的改善を提供する。例えば一実施例では、ロボット動作における故障検出のための方法が提供される。方法は、１つ又は複数のハードウェア・プロセッサによって、複数のロボットから時系列の形態の一組のタスクを受け取るステップであって、該一組のタスクが該複数のロボットのうちの個々のロボットに関連付けられた一組の動作データを含む、ステップを含む。さらに、方法は、１つ又は複数のハードウェア・プロセッサによって、ディープ・ラーニング（ＤＬ：Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）解析に基づいて個々のロボットに関連付けられた次のアクティビティを計算するステップであって、該ＤＬ解析が、（ｉ）複数のサブ・アクション・ウィンドウへの上記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、該最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークである、選択と、上記最適な計算デバイスによる、事前学習済み(pre-trained)状態保持（ｓｔａｔｅｆｕｌ）長期短期記憶（ＬＳＴＭ：Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）に基づく上記複数のサブ・アクション・ウィンドウの分析による、上記複数のロボットに関連付けられた上記次のアクティビティの計算とによって計算コストを最少化し、且つ、学習時間を最短化するための最適資源割当て技法に基づく、ステップを含む。さらに、方法は、１つ又は複数のハードウェア・プロセッサによって、上記次のアクティビティをロボットの実際のアクティビティと比較することにより、上記複数のロボットから個々のロボットに関連付けられた故障を検出するステップを含む。
【０００６】
別の態様では、ロボット動作における故障検出のためのシステムが提供される。システムは複数の移動ロボットを含み、該複数の移動ロボットのうちの個々の移動ロボットは動作データ収集ユニットと結合され、該動作データ収集ユニットは複数のセンサを含む。複数の計算デバイスであって、個々の計算デバイスは、プログラムされた命令を備えた１つ又は複数のメモリと、個々の移動ロボットに関連付けられた一組のタスクを記憶するためのリポジトリであって、１つ又は複数のハードウェア・プロセッサが上記１つ又は複数のメモリに動作的に結合され、上記１つ又は複数のハードウェア・プロセッサが上記１つ又は複数のメモリに記憶された上記プログラムされた命令を実行することができるリポジトリと、ディープ・ラーニング（ＤＬ）解析とを含み、ＤＬ解析ユニットは、上記複数の移動ロボットのうちの個々の移動ロボットに関連付けられた上記動作データ収集ユニットから時系列の形態の一組のタスクを受け取るように構成され、該一組のタスクは、上記複数の移動ロボットのうちの個々の移動ロボットに関連付けられた一組の動作データを含む。さらに、上記ＤＬ解析ユニットは、ディープ・ラーニング（ＤＬ）解析であって、（ｉ）複数のサブ・アクション・ウィンドウへの上記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、該最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークである、選択と、（ｉｉｉ）上記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく上記複数のサブ・アクション・ウィンドウの分析による、上記複数のロボットに関連付けられた次のアクティビティの計算とによって計算コストを最少化し、且つ、学習時間を最短化するための最適資源割当て技法に基づくＤＬ解析に基づいて個々の移動ロボットに関連付けられた上記次のアクティビティを計算するように構成される。さらに、上記ＤＬ解析ユニットは、上記次のアクティビティをロボットに関連付けられた実際のアクティビティと比較することにより、上記複数のロボットから個々のロボットに関連付けられた故障を検出するように構成される。
【０００７】
さらに別の態様では、ロボット動作における故障検出のためのシステム及び方法のためのコンピュータ・プログラムがその中に具体化された非一時的コンピュータ可読媒体を備えるコンピュータ・プログラム製品が提供される。コンピュータ可読プログラムは、計算デバイス上で実行されると、該計算デバイスが複数のロボットから時系列の形態の一組のタスクを受け取ることになり、該一組のタスクは、該複数のロボットのうちの個々のロボットに関連付けられた一組の動作データを含む。さらに、コンピュータ可読プログラムは、計算デバイス上で実行されると、該計算デバイスがディープ・ラーニング（ＤＬ）解析に基づいて個々のロボットに関連付けられた次のアクティビティを計算することになり、該ＤＬ解析は、（ｉ）複数のサブ・アクション・ウィンドウへの上記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、該最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークである、選択と、（ｉｉｉ）上記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく上記複数のサブ・アクション・ウィンドウの分析による、上記複数のロボットに関連付けられた次のアクティビティの計算とによって計算コストを最少化し、且つ、学習時間を最短化するための最適資源割当て技法に基づく。さらに、コンピュータ可読プログラムは、計算デバイス上で実行されると、該計算デバイスが、上記次のアクティビティをロボットに関連付けられた実際のアクティビティと比較することにより、上記複数のロボットから個々のロボットに関連付けられた故障を検出することになる。
【０００８】
上記の概略説明及び以下の詳細な説明は、いずれも例示的で、且つ、説明的なものにすぎず、特許請求される本発明を制限するものではないことを理解されたい。
【０００９】
本開示に組み込まれ、且つ、本開示の一部を構成している添付の図面は、例示的実施例を示したものであり、説明と相俟って、開示される原理を説明する役割を果たしている。
【図面の簡単な説明】
【００１０】
【図１】本開示のいくつかの実施例による、ロボット動作における故障検出のためのシステム及び方法のための実例ネットワーク化環境を示す図である。
【図２】本開示のいくつかの実施例による計算デバイス１０４のブロック図である。
【図３Ａ】本開示のいくつかの実施例による、ロボットが低速で手を動かす際の実例時系列データを示すグラフである。
【図３Ｂ】本開示のいくつかの実施例による、ロボットが高速で手を動かす際の実例時系列データを示すグラフである。
【図４】本開示のいくつかの実施例による、エッジ−クラウド環境におけるシステム１００の実例マスタ・スレーブ・フレームワーク実施態様を示す図である。
【図５】本開示のいくつかの実施例による、ロボット動作における故障検出のための方法４００の流れ図である。
【図６】本開示のいくつかの実施例による、状態保持ＬＳＴＭに基づいてロボットに関連付けられた次のアクティビティを計算するための実例流れ図である。
【図７】本開示のいくつかの実施例による、マスタ・スレーブ・フレームワークに関連付けられた最適負荷分散技法のための実例流れ図である。
【図８】本開示のいくつかの実施例による、状態保持ＬＳＴＭの事前学習のための実例流れ図である。
【図９】本開示のいくつかの実施例による、状態保持ＬＳＴＭを使用してロボットに関連付けられたアクティビティを検出するための実例使用事例を示す図である。
【発明を実施するための形態】
【００１１】
当業者には、本明細書におけるすべてのブロック図は、本主題の原理を具体化する例証システム及びデバイスの概念図を表していることを認識されたい。同様に、すべてのフロー・チャート、流れ図、等々は、実質的にコンピュータ可読媒体の中で表現することができ、したがってコンピュータ又はプロセッサが明確に示されているか否かに無関係に、このようなコンピュータ又はプロセッサによって実行することができる様々なプロセスを表していることは認識されよう。
【００１２】
例示的実施例は添付の図面を参照して説明される。図において、参照番号の一番左側の桁は、その参照番号が最初に出現する図を識別している。そうすることが好都合である場合、すべての図面を通して同じ参照番号を使用して、同じ又は同様の部品が参照される。開示される原理の実例及び特徴が本明細書において説明されるが、開示される実施例の精神及び範囲を逸脱することなく、修正、適合及び他の実施態様が可能である。以下の詳細な説明には、単なる例示的なものとして考慮されることが意図されており、真の範囲及び精神は、以下の特許請求の範囲によって示される。
【００１３】
本主題は、データ駆動型の手法によってロボット動作における故障検出のための従来の方法の限界を克服する。本開示においては、長期短期記憶（ＬＳＴＭ）ベース計算を利用して、多ロボット環境における複数のロボットから集められた一組のタスクに基づいて該複数のロボットに関連付けられた一組のアクティビティが訓練され、整合される。一実施例では、ＬＳＴＭは再帰型ニューラル・ネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）で実現される。長期短期記憶は、連続データ又は時系列上での決定を下すのに利用される記憶セル・ベース・ディープ・ラーナーである。ＬＳＴＭは複数のセルを含み、個々のセルは「記憶保持(remembering)」セル又は「忘却(forgetting)」セルのうちの１つであってもよい。「記憶保持」セルはラベルに対応するデータのいくつかのパターンを表し、また、「忘却」セルは、関連する思慮分別に寄与しないデータのいくつかのパターンを表す。さらに、ＬＳＴＭは人工ニューラル・ネットワークの特殊なタイプであり、隠れた層は、その前の状態及び新しい入力データに基づく現在の状態の予測を可能にする帰還ループを含む。さらに、ニューラル・ネットワーク（ＮＮ：Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を調整してモデルを形成するために、複数の処理及び非線形推移がＲＮＮのＬＳＴＭセルで実施される。モデルは、新しい複数組のデータを予測するためにさらに利用することができる。本開示においては、ＲＮＮベース計算ネットワークは、状態保持長期短期記憶（ＬＳＴＭ）ネットワークを利用することによってロボットの次のアクティビティを予測するように訓練される。状態保持ＬＳＴＭは、一組の先行する観察を利用することによってロボットに関連付けられた次のアクティビティを予測し、且つ、状態推移を生成する。アクティビティは、つかみ、ひろい上げ、配置、運搬、及び掃除を含む。さらに、ＬＳＴＭベース計算には高い計算能力及びメモリが必要である。したがって個々のロボットは、上記一組のタスクを複数の計算デバイスにオフロードする。上記一組のタスクは、個々のロボットに関連付けられた運動データ及び加速データを含む。一実施例では、複数の計算デバイスは外部サーバであってもよい。別の実施例では、個々のロボットは、ＬＳＴＭベース計算のための１つ又は複数のエッジ計算デバイスを運ぶことができ、また、別の実施例では、個々のロボットは、ＬＳＴＭベース計算のためのフォグ計算デバイスを運ぶ。例えばエッジ及びフォグ計算デバイスは、ルータ、ネットワーク・ゲートウェイ、及びｗｉｆｉアクセス・ポイントを含む。ロボット動作における故障検出のためのシステム及び方法の一実施態様について、図１から図９を参照してさらに詳細に説明する。
【００１４】
ここで図面、より詳細には、同様の参照文字はすべての図を通して対応する特徴を無矛盾に表している図１から図９を参照すると、好ましい実施例が示されており、これらの実施例について、以下の例示的システム及び／又は方法の文脈で説明する。
【００１５】
図１は、本主題の実例実施例による、ロボット動作における故障検出のためのシステム及び方法のための実例ネットワーク化環境を示したものである。以下、システム１００と呼ばれる、ロボット動作における故障検出のためのシステム１００は、集合的に移動ロボット１０２と呼ばれる複数の移動ロボット１０２−１、１０２−２…、１０２−Ｎ、及び集合的に計算デバイス１０４と呼ばれる複数の計算デバイス１０４−１、１０４−２…、１０４−Ｎを含む。複数の計算デバイスは、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ノートブック、ワークステーション、クラウド−ベース計算デバイス、ルータ、ネットワーク・ゲートウェイ、センサ・ゲートウェイ、ｗｉｆｉアクセス・ポイント、等々などの様々な計算システムのうちの１つであってもよい。一実施態様では、システム１００はクラウド−ベース環境で実現することができる。別の実施態様では、システム１００はクラウド−エッジ環境で実現することができ、また、さらに別の実施態様では、システム１００はクラウド−フォグ環境で実現することができる。複数の移動ロボット及び複数の計算デバイスは、ネットワーク１０８を介して通信的に結合される。
【００１６】
一実施例では、ネットワーク１０８は、無線又は有線ネットワーク、或いはそれらの組合せであってもよい。一実例では、ネットワーク１０８は、仮想専用ネットワーク（ＶＰＮ：ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ）、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、インターネット、等々などの異なるタイプのネットワークのうちの１つとして、コンピュータ・ネットワークとして実現することができる。ネットワーク１０８は、専用ネットワークであるか、或いは様々なプロトコル、例えばハイパーテキスト・トランスファ・プロトコル（ＨＴＴＰ：Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）及び無線アプリケーション・プロトコル（ＷＡＰ：Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を使用して互いに通信する異なるタイプのネットワークの連携を表す共有ネットワークのいずれかであってもよい。さらに、ネットワーク１０８は、ルータ、ブリッジ、サーバ、計算デバイス、記憶デバイスを含む様々なネットワーク・デバイスを含むことができる。ネットワーク１０８内のネットワーク・デバイスは、通信リンクを介して互いに対話することができる。
【００１７】
一実施例では、複数の移動ロボット１０２のうちの個々の移動ロボットは、複数の移動ロボット１０２のうちの個々の移動ロボットに取り付けられた複数のセンサから一組の動作データを受け取り、且つ、送るための動作データ収集ユニットを含む。複数のセンサは、個々の移動ロボットに取り付けられた加速度計、ジャイロスコープ、及び磁力計を含む。
【００１８】
図２は、本開示のいくつかの実施例による計算デバイス１０４のブロック図を示したものである。計算デバイス２００（以下、システム２００と呼ばれる）は、プロセッサ２０２などの１つ又は複数のハードウェア・プロセッサ、メモリ２０４などの少なくとも１つのメモリ、Ｉ／Ｏインタフェース２０６及びディープ・ラーニング（ＤＬ）解析ユニット２５０を含むか、さもなければこれらと通信する。一実施例では、ＤＬ解析ユニット２５０は、セグメント化モジュール（図２には示されていない）、最適な計算デバイス選択モジュール（図２には示されていない）及び次のアクティビティ計算モジュール（図２には示されていない）を備えている。プロセッサ２０２、メモリ２０４、及びＩ／Ｏインタフェース２０６は、システム・バス２０８などのシステム・バス又は同様の機構によって結合することができる。
【００１９】
Ｉ／Ｏインタフェース２０６は、様々なソフトウェア及びハードウェア・インタフェース、例えばウェブ・インタフェース、グラフィカル・ユーザ・インタフェース、等々を含むことができる。インタフェース２０６は、様々なソフトウェア及びハードウェア・インタフェース、例えばキーボード、マウス、外部メモリ、カメラ・デバイス、及びプリンタなどの周辺デバイスのためのインタフェースを含むことができる。さらに、インタフェース２０６は、システム２００による、ウェブ・サーバ及び外部データベースなどの他のデバイスとの通信を可能にすることができる。インタフェース２０６は、有線ネットワーク、例えばローカル・エリア・ネットワーク（ＬＡＮ）、ケーブル、等々、及び無線ＬＡＮ（ＷＬＡＮ:Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、セルラ又は衛星などの無線ネットワークを含む広範囲にわたる様々なネットワーク及びプロトコル・タイプ内の複数の通信を容易にすることができる。その目的のために、インタフェース２０６は、多くの計算システムを互いに接続し、或いは別のサーバ・コンピュータに接続するための１つ又は複数のポートを含むことができる。Ｉ／Ｏインタフェース２０６は、多くのデバイスを互いに接続し、或いは別のサーバに接続するための１つ又は複数のポートを含むことができる。
【００２０】
ハードウェア・プロセッサ２０２は、１つ又は複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態マシン、論理回路機構、及び／又は操作命令に基づいて信号を取り扱う任意のデバイスとして実現することができる。他の機能の中でも、とりわけハードウェア・プロセッサ２０２は、メモリ２０４に記憶されているコンピュータ可読命令を取り出し、実行するように構成される。
【００２１】
メモリ２０４は、当分野で知られている、例えばスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）及びダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ:ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などの揮発性メモリ、及び／又はリード・オンリ・メモリ（ＲＯＭ:ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラマブルＲＯＭ、フラッシュ・メモリ、ハード・ディスク、光ディスク及び磁気テープなどの不揮発性メモリを含む任意のコンピュータ可読媒体を含むことができる。一実施例では、メモリ２０４は、複数のモジュール２２０と、該モジュール２２０のうちの１つ又は複数によって処理され、受け取られ、生成されるデータを記憶するためのリポジトリ２４０と、ＤＬ解析ユニット２５０とを含む。モジュール２２０は、特定のタスクを実施し、或いは特定の抽象データ・タイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等々を含むことができる。
【００２２】
また、メモリ２０４は、モジュール２２０及びデータ・リポジトリ２４０をも含む。モジュール２２０は、ロボット動作システム１００における故障検出によって実施されるアプリケーション又は機能を補足するプログラム又はコード化された命令を含む。モジュール２２０、とりわけ、特定のタスクを実施し、或いは特定の抽象データ・タイプを実現するルーチン、プログラム、オブジェクト、コンポーネント及びデータ構造を含むことができる。また、モジュール２２０は、信号プロセッサ、状態マシン、論理回路機構、及び／又は操作命令に基づいて信号を取り扱う任意の他のデバイス又は構成要素として使用することも可能である。さらに、モジュール２２０は、ハードウェアによって、処理ユニットによって実行されるコンピュータ可読命令によって、或いはそれらの組合せによって使用することも可能である。モジュール２２０は様々なサブモジュール（図示せず）を含むことができる。モジュール２２０は、ロボット動作システム１００における故障検出によって実施されるアプリケーション又は機能を補足するコンピュータ可読命令を含むことができる。
【００２３】
データ・リポジトリ２４０は、受け取った一組のタスク、訓練データベース２４４、試験データベース２４６、及び他のデータ２４８を含むことができる。さらに、とりわけ他のデータ２４８は、モジュール２２０及びＤＬ解析ユニット２５０に関連付けられたモジュール内の１つ又は複数のモジュールの実行の結果として処理され、受け取られ、或いは生成されるデータを記憶するためのリポジトリとして働くことができる。
【００２４】
データ・リポジトリ２４０はシステム２００の内部に示されているが、代替実施例では、データ・リポジトリ２４０はシステム２００の外部に実現することも可能であり、データ・リポジトリ２４０は、システム２００に通信的に結合されたデータベース（図２には示されていない）に記憶することができることに留意されたい。このような外部データベース内に包含されているデータは周期的に更新することができる。例えば新しいデータをデータベース（図２には示されていない）中に追加することができ、並びに／又は既存のデータを修正することができ、及び／若しくは役に立たないデータをデータベース（図２には示されていない）から削除することができる。一実例では、ライトウェイト・ディレクトリ・アクセス・プロトコル（ＬＤＡＰ：Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）ディレクトリ及びリレーショナル・データベース管理システム（ＲＤＢＭＳ：Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）などの外部システムにデータを記憶することができる。別の実施例では、データ・リポジトリ２４０に記憶されるデータは、２００と外部データベースの間で分散させることができる。
【００２５】
システム２００のＤＬ解析ユニット２５０は、複数のロボットから時系列の形態の一組のタスクを受け取るように構成することができ、該一組のタスクは、上記複数のロボットのうちの個々のロボットに関連付けられた一組の動作データを含む。該一組の動作データは、一組の変位データ及び一組の回転データを含む。動作データは動作データ収集ユニットによって個々のロボットから集められる。一実施例では、動作データ収集ユニットは、個々のロボット上で実現されるデバイスである。別の実施例では、動作データ収集ユニットは、複数のセンサから加速及び運動データを送るために個々のロボットによる装着が可能な外部ハードウェア・デバイスであってもよい。複数のセンサは、加速度計及びジャイロスコープを含む。例えばロボットが手を低速で動かす際の時系列データが図３Ａに示されている。ロボットが手を高速で動かす際の時系列データは図３Ｂに示されている。
【００２６】
さらに、システム２００のＤＬ解析ユニット２５０は、ディープ・ラーニング（ＤＬ）解析に基づいて個々のロボットに関連付けられた次のアクティビティを計算するように構成することができ、該ＤＬ解析は、
（ｉ）複数のサブ・アクション・ウィンドウへの上記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、
（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、該最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークであり、一実施例では、最適負荷分散のためのマスタ・スレーブ・フレームワークは図４に示されているエッジ−クラウド環境で実現することができる、選択と、
（ｉｉｉ）上記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく上記複数のサブ・アクション・ウィンドウの分析による、上記複数のロボットに関連付けられた次のアクティビティの計算と
によって計算コストを最少化し、且つ、学習時間を最短化するための最適資源割当て技法に基づいて訓練されるＲＮＮベースＬＳＴＭである。
【００２７】
図４は、本開示のいくつかの実施例による、エッジ−クラウド環境におけるシステム１００の実例マスタ・スレーブ・フレームワーク実施態様を示したものである。ここで図４を参照すると、システム４００は、クラウド・ネットワーク４０２、複数の無線通信デバイス４０４−１、４０４−２…４０４−Ｎ、移動ロボット４０６、エッジ・サーバ４０８、及び複数のクラウド計算ノード４１０−１、４１０−２…４１０−Ｎを含む。一実施例では、移動ロボット４０６から集められた上記一組のタスクはエッジ・サーバ４０８にさらにオフロードされ、エッジ・サーバ４０８は、複数のクラウド計算ノードの間で負荷分散を実施する。エッジ・サーバ４０８はマスタ計算デバイスとして機能し、複数のクラウド計算ノードはスレーブ計算デバイスとして機能する。個々のスレーブ計算デバイスは、対応する資源構成をマスタ計算デバイスに同報通信する。
【００２８】
一実施例では、上記一組のタスクは、マスタ計算デバイスによって、最適分散技法に基づいて１つ又は複数のスレーブ計算デバイスに分散される。マスタ・スレーブ・フレームワークは、サーバ計算能力、ネットワーク待ち時間、計算コスト、及びデータ転送コストに基づく最小計算で状態保持ＬＳＴＭを実行するために最適負荷分散を実施するべく事前学習される。一実施例では、最適分散技法は以下のように説明される。
テンソル・フロー・コードが与えられ、一組の層演算（ＬＯ：Ｌａｙｅｒ  Ｏｐｅｒａｔｉｏｎｓ）＝｛ｌ１、ｌ２、ｌ３、ｌ４、．．．．．ｌｎ｝とし、一組の計算デバイス（エッジ又はクラウド計算デバイス）をＧ＝｛ｇ１、ｇ２、ｇ３、ｇ４、．．．．．ｇｍ｝とし、
【数１】
2019155584.tif 000003
をＬＯ、ｌｊに対する計算デバイス毎の処理時間とし、
【数２】
2019155584.tif 000004
をモデル・パラメータのために、また、テンソル・フロー・ミドルウェアによる計算デバイスｇ１と、ＬＯｌｊに対するマスタ計算デバイスとの間の結果交換のために必要なネットワーク転送時間とし、また、
【数３】
2019155584.tif 000005
をｊ番目のＬＯｌｊに対するｉ番目のエッジ計算デバイスｇｉに対する計算コストとする。学習時間を最短化し、且つ、計算コストを最少化する割当て変数は式１で与えられる。
【００２９】
【数４】
2019155584.tif 000006
さらに、マスタ計算デバイスは、ｘｉｊの値を計算するための以下の最適化問題を解き、
【数５】
2019155584.tif 000007
このとき、
【数６】
2019155584.tif 000008
ｍａｘ（（（Ｐｉ＋Ｎｉ）≦Ｔ．．．．．∀ｉ：１≦ｉ≦ｎ      （３）
となるようにする。
ここで、α及びβは無矛盾のパラメータである。さらに、式２は、個々のＬＯが厳密に１つの計算デバイスに割り当てられることを示し、また、式３は、ＤＬ技法を実行するためのメイク・スパンは、タスクをスレーブ計算デバイスに割り当てたマスタ計算デバイスによって規定されるデッドラインＴ未満でなければならないことを示している。
【００３０】
一実施例では、最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づいて複数のサブ・アクション・ウィンドウを分析することによって複数のロボットに関連付けられた次のアクティビティを計算する方法は、（ｉ）上記複数のサブ・アクション・ウィンドウを受け取るステップと、（ｉｉ）上記複数のサブ・アクション・ウィンドウから確率的格子を計算するステップであって、該確率的格子が一組の事前確率的推移を利用することによって計算されるステップと、（ｉｉｉ）上記確率的格子に基づいて一組の事後確率を計算するステップと、（ｉｖ）該一組の事後確率に基づいて上記複数のロボットに関連付けられた次のアクティビティを計算するステップとを含む。
【００３１】
一実施例では、複数のサブ・アクション・ウィンドウから確率的格子を計算するステップでは、一組の事前確率的推移を利用することによって該確率的格子が計算され、これは以下の通りである。ここで、確率格子は、一連の推移に関連付けられた一連の確率に与えられる用語であり、事前確率は、複数のシミュレーション結果及び複数の実験結果に基づいて計算される。
【００３２】
一実施例では、上記確率的格子に基づき上記一組の事後確率を計算する。上記事前確率は、展開シナリオにおける実際のロボットの動きに基づいて計算され、また、事前確率はロボット毎に異なっていてもよい。
【００３３】
一実施例では、上記一組の事後確率に基づく、上記複数のロボットに関連付けられた次のアクティビティを計算するステップは以下の通りであり、アクティビティは時間の経過による一組のアクションである。アクティビティ・ライフ・サイクルの間、上記一組のアクションが１つのアクションから別のアクションへ確率的方式で推移する。ロボット・シミュレーションの間、複雑なアクティビティに関連付けられた事前確率分布を生成するために、該複雑なアクティビティに対する上記一組のアクション推移が記録される。さらに、実際の試行が実施され、上記事前確率が事後確率に変換される。しかしながら更新は修正された環境によって生じ得るため、モデルは確率的であり続ける。アクションは、停止−停止セグメントを使用した６自由度（ＤＯＦ：Ｄｅｇｒｅｅｓ  Ｏｆ  Ｆｒｅｅｄｏｍ）の並進及び回転のユニットとして取られる。さらに、状態保持ＬＳＴＭは、所与のアクティビティに対する次のセグメントを予測するために、複数回の試行にわたって訓練される。次のセグメントがディクショナリから除去されると、同じＬＳＴＭが次の最も可能性のあるセグメントを出力する。同様に、上記複数回の試行に基づいて確率モデルが生成される。
【００３４】
一実施例では、状態保持ＬＳＴＭの事前学習は、（ｉ）データベースからロボットに関連付けられた一組の動作データを受け取ること、（ｉｉ）該一組の動作データに関連付けられた変位値及び回転値を使用して複数のアクション・ユニットを検出すること、（ｉｉｉ）該複数のアクション・ユニットに関連付けられた事前確率を計算すること、及び（ｉｖ）該事前確率に基づいて状態保持ＬＳＴＭネットワークを訓練することを含む。
【００３５】
さらに、システム２００のＤＬ解析ユニット２５０は、次のアクティビティをロボットに関連付けられた実際のアクティビティと比較することにより、複数のロボットから個々のロボットに関連付けられた故障を検出するように構成することができる。予測及び関連する確率を利用して、ロボットに関連付けられた実際のアクティビティからの偏差が獲得される。さらに、ロボットに関連付けられた動作が特定の閾値に基づいて変更される。
【００３６】
図５は、本開示のいくつかの実施例による、ロボット動作における故障検出のための方法５００の流れ図を示したものである。方法５００は、概ねコンピュータ実行可能命令の文脈で説明することができる。通常、コンピュータ実行可能命令は、特定の機能を実施し、或いは特定の抽象データ・タイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、機能、等々を含むことができる。また、方法５００は、通信ネットワークを介してリンクされる遠隔処理デバイスによって機能が実施される分散計算環境で実践することも可能である。方法５００が説明される順序は、その順序に限定されるものとして解釈されることは意図されておらず、任意の数の説明される方法ブロックを任意の順序で組み合わせて方法５００又は代替方法を実現することができる。さらに、方法５００は、任意の適切なハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せで実現することも可能である。
【００３７】
５０２で、システム２００は、１つ又は複数のハードウェア・プロセッサにより、複数のロボットから時系列の形態の一組のタスクを受け取り、該一組のタスクは、該複数のロボットのうちの個々のロボットに関連付けられた一組の動作データを含む。該一組の動作データは、一組の変位データ及び一組の回転データを含む。５０４でシステム２００は、１つ又は複数のハードウェア・プロセッサによって、ディープ・ラーニング（ＤＬ）解析に基づいて個々のロボットに関連付けられた次のアクティビティを計算し、該ＤＬ解析は、（ｉ）複数のサブ・アクション・ウィンドウへの上記一組のタスクのうちの個々のタスクのセグメント化であって、個々のサブ・アクション・ウィンドウに関連付けられた実行時間が等しい、セグメント化と、（ｉｉ）最適負荷分散技法に基づく複数の計算デバイスからの最適な計算デバイスの選択であって、該最適負荷分散技法が、マスタ計算デバイス及び複数のスレーブ計算デバイスを有するマスタ・スレーブ・フレームワークであり、上記複数の計算デバイスが、フォグ計算デバイス、エッジ計算デバイス、及びクラウド計算デバイスのうちの少なくとも１つである、選択と、（ｉｉｉ）上記最適な計算デバイスによる、事前学習済み状態保持ＬＳＴＭ（長期短期記憶）に基づく上記複数のサブ・アクション・ウィンドウの分析による、上記複数のロボットに関連付けられた次のアクティビティの計算と、によって計算コストを最少化し、学習時間を最短化するための最適資源割当て技法に基づく。５０６でシステム２００は、１つ又は複数のハードウェア・プロセッサによって、上記次のアクティビティをロボットに関連付けられた実際のアクティビティと比較することにより、上記複数のロボットから個々のロボットに関連付けられた故障を検出する。
【００３８】
図６は、本開示のいくつかの実施例による、状態保持ＬＳＴＭに基づいてロボットに関連付けられた次のアクティビティを計算するための実例流れ図を示したものである。ここで図６を参照すると、ステップ６０２で複数のサブ・アクション・ウィンドウが受け取られる。ステップ６０４で該複数のサブ・アクション・ウィンドウから確率的格子(probabilistic trellis)が計算され、該確率的格子は、一組の事前確率的推移を利用することによって計算される。ステップ６０６で該確率的格子に基づいて一組の事後確率が計算される。ステップ６０８で該一組の事後確率に基づいて複数のロボットに関連付けられた次のアクティビティが計算される。
【００３９】
図７は、本開示のいくつかの実施例による、マスタ・スレーブ・フレームワークＬＳＴＭに関連付けられた最適負荷分散技法のための実例流れ図を示したものである。ここで図７を参照すると、ステップ７０２で、個々のスレーブ計算デバイスに関連付けられた資源構成がマスタ・スレーブ・フレームワークを使用して複数のスレーブ計算デバイスから同報通信される。ステップ７０４で、最適分散技法に基づいて一組のタスクがマスタ計算デバイスによって１つ又は複数のスレーブ・デバイスに分散され、上記マスタ・スレーブ・フレームワークは、サーバ計算能力、ネットワーク待ち時間、計算コスト、及びデータ転送コストに基づく最少の計算で状態保持ＬＳＴＭを実行するために最適負荷分散を実施するように事前学習される。
【００４０】
図８は、本開示のいくつかの実施例による、状態保持ＬＳＴＭの事前学習のための実例流れ図を示したものである。ここで図８を参照すると、ステップ８０２で、データベースからロボットに関連付けられた一組の動作データが受け取られる。ステップ８０４で、該一組の動作データに関連付けられた変位値及び回転値を使用して複数のアクション・ユニットが検出される。ステップ８０６で該複数のアクション・ユニットに関連付けられた事前確率が計算される。ステップ８０８で該事前確率に基づいて状態保持ＬＳＴＭが訓練される。
【００４１】
一実施例では、人工ニューラル・ネットワーク（ＡＮＮ：Ａｒｔｉｆｉｃｉａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、例えばＬＳＴＭは、複数のハイパーパラメータを含み、該複数のハイパーパラメータは最適資源使用のために調整される。ＡＮＮは、エッジ・サーバ及び複数の移動デバイス構成を利用している間、複雑なアクティビティ検出アプリケーション上でＡＮＮを走らせる資源要件をベンチマークするように訓練される。ＡＮＮは複数のハイパーパラメータを含み、該複数のハイパーパラメータは、分類及び予測の決定精度において重要な役割を果たす。一実施例では、該複数のハイパーパラメータは自動方式で調整される。別の実施例では、該複数のハイパーパラメータは手動で調整される。さらに、ロボット動作システム１００における故障検出を複数のロボット及び複数の計算デバイス上で走らせるために必要なＣＰＵ／ＲＡＭを含むシステム資源に対する上記複数のハイパーパラメータの効果を理解し、利用するために、該複数のハイパーパラメータを調整している間に獲得される複数の結果がベンチマークされる。一実施例では、ＡＮＮを使用した一実例ロボット・アクティビティ検出は、図９に示されている通りである。
【００４２】
図９は、本開示のいくつかの実施例による、ＡＮＮを使用してロボットに関連付けられたアクティビティを検出するための実例使用事例を示したものである。ここでは個々のアクティビティは、変位データ（ｄ）及び回転データ（ｒ）を含む一組の動作データと結合される。例えば「ｗ」をウィンドウ毎のウィンドウ長と見なすと、動作データは以下のように与えられる。
ＡＣＴ０＝｛｛ｄ０、ｒ０｝、｛ｄ１、ｒ１｝……｛ｄ（ｗ−１）、ｒ（ｗ−１）｝｝
ＡＣＴ１＝｛｛ｄｗ、ｒｗ｝、｛ｄ（ｗ＋１）、ｒ（ｗ＋１）｝……｛ｄ（２ｗ−１）、ｒ（２ｗ−１）｝｝
．
．
．
ＡＣＴｎ＝｛｛ｄ（ｔｗ）、ｒ（ｔｗ）｝、｛ｄ（ｔｗ＋１）、ｒ（ｔｗ＋１）｝……｛ｄ（（ｔ＋１）ｗ−１）、ｒ（（ｔ＋１）ｗ−１）｝｝
ここで図９を参照すると、個々のＬＳＴＭセルは、先行するアクティビティ及び現在の一組の動作データに基づいて次のアクティビティを予測する。ＬＳＴＭセル９０２は、時間ｔにおけるアクティビティＡＣＴ（ｔ）及び時間ｔ＋１における一組の動作データに基づいて、時間ｔ＋１におけるアクティビティＡＣＴ（ｔ＋１）を予測する。同様に、ＬＳＴＭセル９０４は、時間ｔ＋１におけるアクティビティＡＣＴ（ｔ＋１）及び時間ｔ＋２における一組の動作データに基づいて、時間ｔ＋２におけるアクティビティＡＣＴ（ｔ＋２）を予測する。ＬＳＴＭセル９０６は、時間ｔ＋２におけるアクティビティＡＣＴ（ｔ＋２）及び時間ｔ＋３における一組の動作データに基づいて、時間ｔ＋３におけるアクティビティＡＣＴ（ｔ＋３）を予測する。同様に、式４を利用することによってｎ番目のアクティビティＡＣＴ（ｎ）を得ることができる。ＡＣＴ（ｎ）＝｛｛ｄ（（ｔ＋１）ｗ）、ｒ（（ｔ＋１）ｗ）｝、｛ｄ（（ｔ＋１）ｗ＋１）、ｒ（（ｔ＋１）ｗ＋１）｝……｛ｄ（（ｔ＋２）ｗ−１）、ｒ（（ｔ＋１）ｗ−１）｝｝………………………………（４）
【００４３】
一実施例では、システム１００は、多ロボット救助ミッションに展開することができ、複数の人間型ロボットが危険を検出することができ、また、復旧操作を実施することができる。該複数の人間型ロボットは、タスクを推定するための複数のエッジ計算デバイスによってアシストされる。個々の人間型ロボットは、ネットワークを介して動作データをエッジ計算デバイスに送る。エッジ・サーバは、エネルギーの点でも制限があるが、複雑な計算を実施することができる。一実施例では、上記複数の人間型ロボットは、１つ又は複数のエッジ計算デバイスを運び、それを戦略的位置に置くことができる。該複数のエッジ計算デバイスは、上記複数の人間型ロボットをアシストして複雑な計算タスクを走らせることができる。エッジ・サーバは、期待されるロボット動作タスクの訓練されたモデルを利用して、操作が正しく実施されたかどうかを推定する。
【００４４】
書面にされた説明は、本明細書における主題を記述しており、すべての当業者による実施例の構築及び使用を可能にしている。主題実施例の範囲は特許請求の範囲によって定義されており、当業者に生じる他の修正を含むことができる。このような他の修正は、それらが特許請求の範囲の文字通りの言語と異ならない同様の要素を有している場合、或いはそれらが特許請求の範囲の文字通りの言語とは非現実的に異なる等価要素を含んでいる場合、特許請求の範囲の範疇であることが意図されている。
【００４５】
ロボット動作における故障検出のための開示される方法及びシステムの様々な実施例は、ロボット動作における故障を非侵略的方法で検出するためのエンド・トゥ・エンドの解決法を提供することができる。さらに、クラウド・ベース・ネットワークにおけるエッジ計算デバイス及びフォグ計算デバイスを含む高性能計算デバイスの利用により、処理における待ち時間が短くなり、したがってシステム１００の精度が高くなる。最適な計算デバイスは最適負荷分散技法に基づいて選択される。さらに、ロボットに関連付けられた次のアクティビティは、精度が高くなった状態保持ＬＳＴＭを利用することによって予測される。
【００４６】
しかしながら保護の範囲はこのようなプログラムまで拡張され、また、中にメッセージを有するコンピュータ可読手段に加えて、このようなコンピュータ可読記憶手段は、プログラムがサーバ又は移動デバイス或いは任意の適切なプログラマブル・デバイス上で走ると、方法の１つ又は複数のステップを実現するためのプログラム・コード手段を包含することを理解されたい。ハードウェア・デバイスは、例えばサーバ又はパーソナル・コンピュータ、等々、或いはそれらの任意の組合せのような任意の種類のコンピュータを含む、プログラムすることができる任意の種類のデバイスであってもよい。デバイスは、例えば特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、書換え可能ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）のようなハードウェア手段、又はハードウェア手段とソフトウェア手段の組合せ、例えばＡＳＩＣ及びＦＰＧＡ、又は少なくとも１つのマイクロプロセッサ及び中にソフトウェア・モジュールが配置された少なくとも１つのメモリであってもよい手段を含むこともできる。したがって手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書において説明されている方法の実施例は、ハードウェア及びソフトウェアで実現することができる。また、デバイスはソフトウェア手段を含むことも可能である。別法としては、実施例は、例えば複数のＣＰＵを使用して異なるハードウェア・デバイス上で実現することも可能である。
【００４７】
本明細書における実施例は、ハードウェア要素及びソフトウェア要素を備えることができる。ソフトウェアの中で実現される実施例は、それらに限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード、等々を含む。本明細書において説明されている様々なモジュールによって実施される機能は、他のモジュール又は他のモジュールの組合せの中で実現することができる。この説明の目的のために、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスが使用するための、或いはこれらと関連して使用するためのプログラムを含み、記憶し、通信し、伝搬し、或いは輸送することができる任意の装置であってもよい。
【００４８】
例証されているステップは、示されている例示的実施例を説明するために提示されたものであり、特定の機能が実施される方法は、現在進行中の技術的開発によって変化し得ることを予想されたい。これらの実例は、本明細書においては例証の目的のために提供されたものであり、制限するためのものではない。さらに、機能構成単位の境界は、説明の便宜上、本明細書においては任意に画定されている。明記されている機能及びそれらの関係が適切に実施される限り、代替境界を画定することができる。代替（本明細書において説明されているこれらの等価、拡張、変化、逸脱、等々を含む）は、関連する分野の業者には、本明細書に包含されている教示に基づいて明らかであろう。このような代替は、開示される実施例の範囲及び精神の範疇である。また、「備える」、「有する」、「包含する」、及び「含む」という語並びに他の同様の形態は、それらの意味が等価であり、また、これらの語のうちの任意の１つの後に続く１つ又は複数の項目は、このような１つ又は複数の項目の網羅的リストであることを意味していない点、或いはリストに挙げられている１つ又は複数の項目にのみ限定されることを意味している点で無制限であることが意図されている。また、本明細書及び添付の特許請求の範囲に使用されているように、単数形の表現は、単数であることを文脈が明確に示していない限り複数形の参照を含むことにも留意されたい。
【００４９】
さらに、１つ又は複数のコンピュータ可読記憶媒体を利用して本開示と無矛盾の実施例を実現することができる。コンピュータ可読記憶媒体は任意のタイプの物理的メモリを意味しており、この物理的メモリの上に、プロセッサによる読出しが可能な情報又はデータを記憶することができる。したがってコンピュータ可読記憶媒体は、本明細書において説明されている実施例と無矛盾のステップ又はステージをプロセッサに実施させるための命令を含む、１つ又は複数のプロセッサによる実行のための命令を記憶することができる。「コンピュータ可読媒体」という用語は、有形の物品を含み、搬送波及び一時的信号を除外する、即ち非一時的であるものとして理解されたい。実例は、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、揮発性メモリ、不揮発性メモリ、ハード・ドライブ、ＣＤ  ＲＯＭ、ＤＶＤ、フラッシュ・ドライブ、ディスク、及び任意の他の知られている物理的記憶媒体を含む。
【００５０】
本開示及び実例は単なる例示的なものとして考慮され、開示される実施例の真の範囲及び精神は、以下の特許請求の範囲によって示されることが意図されている。
【図１】
2019155584.tif 000009
【図２】
2019155584.tif 000010
【図３Ａ】
2019155584.tif 000011
【図３Ｂ】
2019155584.tif 000012
【図４】
2019155584.tif 000013
【図５】
2019155584.tif 000014
【図６】
2019155584.tif 000015
【図７】
2019155584.tif 000016
【図８】
2019155584.tif 000017
【図９】
2019155584.tif 000018
【外国語明細書】
2019155584000001.pdf