(57)【特許請求の範囲】
【請求項１】
コンピューティングシステムによって、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することであって、前記特定のコンポーネントは、タイミングベルトであり、前記センサデータは、前記タイミングベルトの張力の測定値を含んでおり、前記コンピューティングシステムは、前記タイミングベルトの動作中の第１の張力の測定値を検出することに対応する検出メトリクスを記憶しており、前記コンピューティングシステムは、前記複数のロボットシステムの中で、前記記憶した検出メトリクスでの所定のロボットシステムの動作を検出することに応答して、当該所定のロボットシステムにおける前記タイミングベルトについてメンテナンスを要求するように構成されている、センサデータを受信することと、
前記センサデータに基づいて、前記複数のロボットシステムにおける経時的な前記特定のコンポーネントの性能を表す性能データを決定することと、
前記特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、前記複数のメンテナンスイベントは前記複数のロボットシステムのうちの１つ以上に関連付けられている、複数のメンテナンスイベントを決定することと、
前記性能データに基づいて、前記記憶した検出メトリクスと異なる他のメトリクスにおいて前記複数のメンテナンスイベントのうちの少なくとも１つが生じるとの決定を行うことと、
前記決定を行うことに応答して、（１）前記他のメトリクスを新しい検出メトリクスとして設定することによって、または、（２）前記他のメトリクスに基づいて前記記憶した検出メトリクスを調節することによって、新しい検出メトリクスを決定することであって、前記新しい検出メトリクスは、前記タイミングベルトの動作中の第２の張力の測定値を検出することに対応する、新しい検出メトリクスを決定することと、
前記複数のロボットシステムの中で、前記新しい検出メトリクスでの特定のロボットシステムの後続の動作を検出し、それに応答して、前記特定のロボットシステムにおける前記タイミングベルトについてメンテナンスを要求することと、
を含む、方法。
【請求項２】
コンピューティングシステムによって、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することであって、前記特定のコンポーネントは、アクチュエータであり、前記センサデータは、前記アクチュエータのトルクに関するデータを含んでおり、前記コンピューティングシステムは、前記アクチュエータが第１のトルクを加えていることを検出することに対応する検出メトリクスを記憶しており、前記コンピューティングシステムは、前記複数のロボットシステムの中で、前記記憶した検出メトリクスでの所定のロボットシステムの動作を検出することに応答して、当該所定のロボットシステムにおける前記アクチュエータについてメンテナンスを要求するように構成されている、センサデータを受信することと、
前記センサデータに基づいて、前記複数のロボットシステムにおける経時的な前記特定のコンポーネントの性能を表す性能データを決定することと、
前記特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、前記複数のメンテナンスイベントは前記複数のロボットシステムのうちの１つ以上に関連付けられている、複数のメンテナンスイベントを決定することと、
前記性能データに基づいて、前記記憶した検出メトリクスと異なる他のメトリクスにおいて前記複数のメンテナンスイベントのうちの少なくとも１つが生じるとの決定を行うことと、
前記決定を行うことに応答して、（１）前記他のメトリクスを新しい検出メトリクスとして設定することによって、または、（２）前記他のメトリクスに基づいて前記記憶した検出メトリクスを調節することによって、新しい検出メトリクスを決定することであって、前記新しい検出メトリクスは、前記アクチュエータが第２のトルクを加えていることを検出することに対応する、新しい検出メトリクスを決定することと、
前記複数のロボットシステムの中で、前記新しい検出メトリクスでの特定のロボットシステムの後続の動作を検出し、それに応答して、前記特定のロボットシステムにおける前記アクチュエータについてメンテナンスを要求することと、
を含む、方法。
【請求項３】
前記特定のコンポーネントのための前記複数のメンテナンスイベントを決定することに応答して、前記複数のメンテナンスイベントのうちの各々のメンテナンス時点を記憶することを更に含み、
前記決定を行うことは、前記他のメトリクスに関連付けられた所与の時点後の閾値時間内にある対応するメンテナンス時点において前記少なくとも１つのメンテナンスイベントが行われると決定することを含む、請求項１又は２に記載の方法。
【請求項４】
前記メンテナンスを要求することは、前記特定のロボットシステムに関連付けられたコンピューティングデバイスに、メンテナンス要求を示すメッセージを送信することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記メッセージは、前記メンテナンス要求に関連付けられた前記特定のコンポーネント、および前記特定のコンポーネントのためのメンテナンスを行うことに関する命令を示す、請求項４に記載の方法。
【請求項６】
前記記憶した検出メトリクスは前記特定のコンポーネントの故障を検出することに対応する、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記記憶した検出メトリクスは、閾値持続時間を超えているかまたは超えようとしている持続時間にわたって、前記特定のコンポーネントが、前記特定のコンポーネントの寿命を超えて動作していることの検出に対応する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
コンピューティングシステムに、
各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することであって、前記特定のコンポーネントは、タイミングベルトであり、前記センサデータは、前記タイミングベルトの張力の測定値を含んでおり、前記コンピューティングシステムは、前記タイミングベルトの動作中の第１の張力の測定値を検出することに対応する検出メトリクスを記憶しており、前記コンピューティングシステムは、前記複数のロボットシステムの中で、前記記憶した検出メトリクスでの所定のロボットシステムの動作を検出することに応答して、当該所定のロボットシステムにおける前記タイミングベルトについてメンテナンスを要求するように構成されている、センサデータを受信することと、
前記センサデータに基づいて、前記複数のロボットシステムにおける経時的な前記特定のコンポーネントの性能を表す性能データを決定することと、
前記特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、前記複数のメンテナンスイベントは前記複数のロボットシステムのうちの１つ以上に関連付けられている、複数のメンテナンスイベントを決定することと、
前記性能データに基づいて、前記記憶した検出メトリクスと異なる他のメトリクスにおいて前記複数のメンテナンスイベントのうちの少なくとも１つが生じるとの決定を行うことと、
前記決定を行うことに応答して、（１）前記他のメトリクスを新しい検出メトリクスとして設定することによって、または、（２）前記他のメトリクス基づいて前記記憶した検出メトリクスを調節することによって、新しい検出メトリクスを決定することであって、前記新しい検出メトリクスは、前記タイミングベルトの動作中の第２の張力の測定値を検出することに対応する、新しい検出メトリクスを決定することと、
前記複数のロボットシステムの中で、前記新しい検出メトリクスでの特定のロボットシステムの後続の動作を検出し、それに応答して、前記特定のロボットシステムにおける前記タイミングベルトについてメンテナンスを要求することと、
を含む機能を実行させるための、１つ以上のプロセッサによって実行可能な命令を記憶した非一時的コンピュータ可読媒体。
【請求項９】
前記決定を行うことは、前記第２の張力の測定値が、少なくとも閾値量だけ前記第１の張力の測定値と異なると判断することを含む、請求項８に記載の非一時的コンピュータ可読媒体。
【請求項１０】
コンピューティングシステムに、
各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することであって、前記特定のコンポーネントは、アクチュエータであり、前記センサデータは、前記アクチュエータのトルクに関するデータを含んでおり、前記コンピューティングシステムは、前記アクチュエータが第１のトルクを加えていることを検出することに対応する検出メトリクスを記憶しており、前記コンピューティングシステムは、前記複数のロボットシステムの中で、前記記憶した検出メトリクスでの所定のロボットシステムの動作を検出することに応答して、当該所定のロボットシステムにおける前記アクチュエータについてメンテナンスを要求するように構成されている、センサデータを受信することと、
前記センサデータに基づいて、前記複数のロボットシステムにおける経時的な前記特定のコンポーネントの性能を表す性能データを決定することと、
前記特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、前記複数のメンテナンスイベントは前記複数のロボットシステムのうちの１つ以上に関連付けられている、複数のメンテナンスイベントを決定することと、
前記性能データに基づいて、前記記憶した検出メトリクスと異なる他のメトリクスにおいて前記複数のメンテナンスイベントのうちの少なくとも１つが生じるとの決定を行うことと、
前記決定を行うことに応答して、（１）前記他のメトリクスを新しい検出メトリクスとして設定することによって、または、（２）前記他のメトリクスに基づいて前記記憶した検出メトリクスを調節することによって、新しい検出メトリクスを決定することであって、前記新しい検出メトリクスは、前記アクチュエータが第２のトルクを加えていることを検出することに対応する、新しい検出メトリクスを決定することと、
前記複数のロボットシステムの中で、前記新しい検出メトリクスでの特定のロボットシステムの後続の動作を検出し、それに応答して、前記特定のロボットシステムにおける前記アクチュエータについてメンテナンスを要求することと、
を含む機能を実行させるための、１つ以上のプロセッサによって実行可能な命令を記憶した非一時的コンピュータ可読媒体。
【請求項１１】
前記決定を行うことは、前記第２のトルクが、少なくとも閾値量だけ前記第１のトルクと異なると判断することを含む、請求項１０に記載の非一時的コンピュータ可読媒体。
【請求項１２】
非一時的コンピュータ可読媒体と、
前記非一時的コンピュータ可読媒体に記憶されたプログラム命令であって、少なくとも１つのプロセッサによって、
各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することであって、前記特定のコンポーネントは、タイミングベルトであり、前記センサデータは、前記タイミングベルトの張力の測定値を含んでおり、前記コンピューティングシステムは、前記タイミングベルトの動作中の第１の張力の測定値を検出することに対応する検出メトリクスを記憶しており、前記コンピューティングシステムは、前記複数のロボットシステムの中で、前記記憶した検出メトリクスでの所定のロボットシステムの動作を検出することに応答して、当該所定のロボットシステムにおける前記タイミングベルトについてメンテナンスを要求するように構成されている、センサデータを受信することと、
前記センサデータに基づいて、前記複数のロボットシステムにおける経時的な前記特定のコンポーネントの性能を表す性能データを決定することと、
前記特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、前記複数のメンテナンスイベントは前記複数のロボットシステムのうちの１つ以上に関連付けられている、複数のメンテナンスイベントを決定することと、
前記性能データに基づいて、前記記憶した検出メトリクスと異なる他のメトリクスにおいて前記複数のメンテナンスイベントのうちの少なくとも１つが生じるとの決定を行うことと、
前記決定を行うことに応答して、（１）前記他のメトリクスを新しい検出メトリクスとして設定することによって、または、（２）前記他のメトリクス基づいて前記記憶した検出メトリクスを調節することによって、新しい検出メトリクスを決定することであって、前記新しい検出メトリクスは、前記タイミングベルトの動作中の第２の張力の測定値を検出することに対応する、新しい検出メトリクスを決定することと、
前記複数のロボットシステムの中で、前記新しい検出メトリクスでの特定のロボットシステムの後続の動作を検出し、それに応答して、前記特定のロボットシステムにおける前記タイミングベルトについてメンテナンスを要求することと、
を行うように実行可能である、プログラム命令と、
を備える、コンピューティングシステム。
【請求項１３】
前記第１及び第２の張力の測定値は、前記タイミングベルトの摩耗又は故障を示す、請求項１２に記載のコンピューティングシステム。
【請求項１４】
非一時的コンピュータ可読媒体と、
前記非一時的コンピュータ可読媒体に記憶されたプログラム命令であって、少なくとも１つのプロセッサによって、
各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することであって、前記特定のコンポーネントは、アクチュエータであり、前記センサデータは、前記アクチュエータのトルクに関するデータを含んでおり、前記コンピューティングシステムは、前記アクチュエータが第１のトルクを加えていることを検出することに対応する検出メトリクスを記憶しており、前記コンピューティングシステムは、前記複数のロボットシステムの中で、前記記憶した検出メトリクスでの所定のロボットシステムの動作を検出することに応答して、当該所定のロボットシステムにおける前記アクチュエータについてメンテナンスを要求するように構成されている、センサデータを受信することと、
前記センサデータに基づいて、前記複数のロボットシステムにおける経時的な前記特定のコンポーネントの性能を表す性能データを決定することと、
前記特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、前記複数のメンテナンスイベントは前記複数のロボットシステムのうちの１つ以上に関連付けられている、複数のメンテナンスイベントを決定することと、
前記性能データに基づいて、前記記憶した検出メトリクスと異なる他のメトリクスにおいて前記複数のメンテナンスイベントのうちの少なくとも１つが生じるとの決定を行うことと、
前記決定を行うことに応答して、（１）前記他のメトリクスを新しい検出メトリクスとして設定することによって、または、（２）前記他のメトリクスに基づいて前記記憶した検出メトリクスを調節することによって、新しい検出メトリクスを決定することであって、前記新しい検出メトリクスは、前記アクチュエータが第２のトルクを加えていることを検出することに対応する、新しい検出メトリクスを決定することと、
前記複数のロボットシステムの中で、前記新しい検出メトリクスでの特定のロボットシステムの後続の動作を検出し、それに応答して、前記特定のロボットシステムにおける前記アクチュエータについてメンテナンスを要求することと、
を行うように実行可能である、プログラム命令と、
を備える、コンピューティングシステム。
【請求項１５】
前記第１及び第２のトルクは、前記アクチュエータの摩耗又は故障を示す、請求項１４に記載のコンピューティングシステム
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]  本出願は、参照によりその全体が本明細書に援用される、２０１５年３月３０日に出願された、「Ｃｌｏｕｄ−Ｂａｓｅｄ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｏｂｏｔｉｃ  Ｓｙｓｔｅｍ  Ｃｏｍｐｏｎｅｎｔ  Ｕｓａｇｅ」と題する米国特許出願第１４／６７２，７０６号の優先権を主張する。
【背景技術】
【０００２】
[0002]  クラウドコンピューティングとは、コンピュータネットワークを介した計算リソースの提供を指す。従来のコンピューティングモデルでは、データおよびソフトウェアの双方が、ユーザのコンピュータ上に完全に含まれている。一方、クラウドコンピューティングでは、ユーザのコンピュータは、比較的少ないソフトウェアまたはデータ（例えば、おそらく最小限のオペレーティングシステムおよびウェブブラウザ）を含むことができ、コンピュータのネットワーク上で生じるプロセスのための表示端末としての役割を果たすことができる。クラウドコンピューティングサービス（または更には既存のクラウドサービスを集約したもの）に提供される一般的な省略表現は、「クラウド」である。
【０００３】
[0003]  クラウドコンピューティングは、「クライアント−サーバコンピューティング」と呼ばれているが、一般的なクラウドコンピューティングとクライアント−サーバコンピューティングとの間には区別が存在する場合がある。例えば、クライアント−サーバコンピューティングは、リソースまたはサービスの提供者（例えば、サーバ）と、サービス要求者（例えば、クライアント）との間でタスクまたは作業負荷を分割する分散アプリケーション構造を含むことができる。クライアント−サーバコンピューティングは、通常、サーバとクライアントとの間で１対１の関係を含むのに対し、クラウドコンピューティングは、汎用クライアントによってアクセスすることができる汎用サービスを含む（例えば、１対１の関係または接続が必要とされない場合がある）。このため、クラウドコンピューティングは通常、クライアント−サーバコンピューティング、ならびに追加のサービスおよび機能を含む。
【０００４】
[0004]  クラウドコンピューティングは、特定のハードウェアおよびソフトウェアのインストールならびにメンテナンスタスクからユーザを解放することができる。これは、コンピューティングリソース（例えば、プロセッサ、ハードドライブ等）の広大なネットワークにアクセスするユーザのコンピュータ上でより単純なハードウェアを使用することを通じて行われる。リソースの共有により、個々に対するコストを低減することができる。このため、クラウドに接続された任意のコンピュータを、コンピューティング能力、アプリケーションおよびファイルの同じプールに接続することができる。ユーザは、ＤＶＤまたはサムドライブ等のストレージ媒体を物理的に携行するのではなく、遠隔サーバにおいて、音楽、写真、ビデオおよびブックマーク等の個人ファイルを記憶し、これらにアクセスするか、またはゲームをプレイするか、または生産性アプリケーションを用いることができる。
【０００５】
[0005]  １つの例において、ユーザは、ブラウザを開き、ウェブサーバのホストに接続することができる。ウェブサーバは、ユーザからコマンドを収集し、コマンドを解釈してサーバ上のコマンドにするためのユーザインタフェースソフトウェアを実行する。サーバはコンピューティングを扱うことができ、データベースサーバまたはファイルサーバからの情報を記憶することも取り出すこともでき、更新されたページをユーザに表示することができる。「クラウドコンピューティング」を通じて、複数のサーバ間のデータを世界中で同期させることができ、例えば、世界中の複数のユーザによって、１つのファイルまたはプロジェクトに対し共同作業を行うことが可能になる。
【発明の概要】
【課題を解決するための手段】
【０００６】
[0006]  例示的な実施態様は、ロボットシステムコンポーネント使用のクラウドベースの解析に関することができる。特に、クラウドサービスは、ロボットシステムにおける特定のコンポーネントのためのメンテナンス要求をトリガする検出メトリクスを記憶することができる。このクラウドサービスは、各々が特定のコンポーネントを有する様々なロボットシステムシステムからセンサデータを受信することができ、次にクラウドは、センサデータに基づいて、様々なロボットシステムにおける経時的な特定のコンポーネントのための性能データを決定することができる。更に、クラウドは、特定のコンポーネントについてメンテナンスが行われたことを示す入力等に基づいて、特定のコンポーネントのための様々なメンテナンスイベントも決定することができる。
【０００７】
[0007]  性能データに基づいて、次にクラウドは、記憶された検出メトリクスと異なる他のメトリクスにおけるロボットシステム動作に起因して少なくとも１つのメンテナンスイベントが生じると決定することができる。それに応答して、クラウドは、検出メトリクスと、他のメトリクスとの間の差異を判断することができ、次に、この差異に基づいて検出メトリクスを調節することができる。この構成では、クラウドは次に、調節された検出メトリクスにおける特定のロボットシステムの動作を検出することができ、これに応答して、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求することができる。
【０００８】
[0008]  １つの態様において、方法が提供される。本方法は、コンピューティングシステムによって、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することを含み、コンピューティングシステムは、特定のコンポーネントのためのメンテナンス要求に対応する少なくとも１つの検出メトリクスを記憶しておく。本方法はまた、センサデータに基づいて、複数のロボットシステムにおける経時的な特定のコンポーネントの性能を表す性能データを決定することも含む。本方法は、特定のコンポーネントのための複数のメンテナンスイベントを決定することであって、複数のメンテナンスイベントは複数のロボットシステムのうちの１つ以上に関連付けられている。本方法は、性能データに基づいて、少なくとも１つの検出メトリクスと異なる１つ以上の他のメトリクスにおいて複数のメンテナンスイベントのうちの少なくとも１つが生じると決定することを更に含む。本方法は、決定することに応答して、少なくとも１つの検出メトリクスと１つ以上の他のメトリクスとの間の差異に基づいて少なくとも１つの検出メトリクスを調節することを更に含む。本方法は、複数のロボットシステムの中から、少なくとも１つの調節された検出メトリクスに対応する特定のロボットシステムの後続の動作を検出し、それに応答して、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求することをまた更に含む。
【０００９】
[0009]  別の態様において、非一時的コンピュータ可読媒体が提供される。非一時的コンピュータ可読媒は、コンピューティングシステムに機能を実行させるための、１つ以上のプロセッサによって実行可能な命令を記憶している。機能は、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することを含み、コンピューティングシステムは、特定のコンポーネントのためのメンテナンス要求に対応する少なくとも１つの検出メトリクスを記憶しておく。機能は、センサデータに基づいて、複数のロボットシステムにおける経時的な特定のコンポーネントの性能を表す性能データを決定することも含む。機能は、特定のコンポーネントのための複数のメンテナンスイベントを決定することを更に含み、ここで、複数のメンテナンスイベントは複数のロボットシステムのうちの１つ以上に関連付けられている。機能は、性能データに基づいて、少なくとも１つの検出メトリクスと異なる１つ以上の他のメトリクスにおいて複数のメンテナンスイベントのうちの少なくとも１つが生じると決定することを更に含む。機能は、決定することに応答して、少なくとも１つの検出メトリクスと１つ以上の他のメトリクスとの間の差異に基づいて少なくとも１つの検出メトリクスを調節することを更に含む。機能は、複数のロボットシステムの中から、少なくとも１つの調節された検出メトリクスに対応する特定のロボットシステムの後続の動作を検出し、それに応答して、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求することをまた更に含む。
【００１０】
[0010]  更に別の態様では、コンピューティングシステムが提供される。コンピューティングシステムは非一時的コンピュータ可読媒体を含む。コンピューティングシステムは、非一時的コンピュータ可読媒体に記憶されたプログラム命令であって、少なくとも１つのプロセッサによって、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信するように実行可能である、プログラム命令も含む。ここで、コンピューティングシステムは、特定のコンポーネントのためのメンテナンス要求に対応する少なくとも１つの検出メトリクスを記憶している。命令はまた、センサデータに基づいて、複数のロボットシステムにおける経時的な特定のコンポーネントの性能を表す性能データを決定するようにも実行可能である。命令は、特定のコンポーネントのための複数のメンテナンスイベントを決定するように更に実行可能であり、ここで、複数のメンテナンスイベントは複数のロボットシステムのうちの１つ以上に関連付けられている。命令は、性能データに基づいて、少なくとも１つの検出メトリクスと異なる１つ以上の他のメトリクスにおいて複数のメンテナンスイベントのうちの少なくとも１つが生じると決定するように更に実行可能である。命令は、決定することに応答して、少なくとも１つの検出メトリクスと１つ以上の他のメトリクスとの間の差異に基づいて少なくとも１つの検出メトリクスを調節するように更に実行可能である。命令は、複数のロボットシステムの中から、少なくとも１つの調節された検出メトリクスに対応する特定のロボットシステムの後続の動作を検出し、それに応答して、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求するようにまた更に実行可能である。
【００１１】
[0011]  また更なる態様では、別のシステムが提供される。このシステムは、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信する手段を備えることができる。ここで、システムは、特定のコンポーネントのためのメンテナンス要求に対応する少なくとも１つの検出メトリクスを記憶している。システムは、センサデータに基づいて、複数のロボットシステムにおける経時的な特定のコンポーネントの性能を表す性能データを決定する手段を更に備えることができる。システムは、特定のコンポーネントのための複数のメンテナンスイベントを決定する手段を更に備えることができる。ここで、複数のメンテナンスイベントは複数のロボットシステムのうちの１つ以上に関連付けられている。システムは、性能データに基づいて、少なくとも１つの検出メトリクスと異なる１つ以上の他のメトリクスにおいて複数のメンテナンスイベントのうちの少なくとも１つが生じると決定するための手段を更に備えることができる。システムは、決定することに応答して、少なくとも１つの検出メトリクスと１つ以上の他のメトリクスとの間の差異に基づいて少なくとも１つの検出メトリクスを調節する手段をまた更に備えることができる。システムは、複数のロボットシステムの中から、少なくとも１つの調節された検出メトリクスに対応する特定のロボットシステムの後続の動作を検出し、それに応答して、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求する手段をまた更に備えることができる。
【００１２】
[0012]  これらならびに他の態様、利点、および代替案は、必要に応じて添付の図面を参照して以下の詳細な説明を読むことにより、当業者には明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]例示的な実施形態による、クラウドベースのコンピューティングのための例示的なシステムを示す。
【図２Ａ】[0014]例示的な実施形態による、ロボットシステムの例示的な構成を示す。
【図２Ｂ】[0015]例示的な実施形態による、ロボットアームの図式的例を示す。
【図３】[0016]例示的な実施形態による、概念上のロボット−クラウドインタラクションの例を示す。
【図４】[0017]例示的な実施形態による、ロボットがクラウドとインタラクトし、他のクラウドコンピューティングデバイスと情報を共有することができる例示的なシステムを示す。
【図５】[0018]例示的な実施形態による、ロボットシステムコンポーネント使用のクラウドベースの解析のための方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
［0001］  本明細書において、例示的な方法およびシステムを説明する。本明細書において、単語「例」、「例示的」および「例証的」は、「一例、実例、または例証としての役割を果たす」ことの意味に使用することを理解されたい。「例」、「例示的」および「例証的」であるものとして本明細書に記載される任意の実施態様または特徴は、必ずしも、他の実施態様または特徴よりも好適または有利であるとは解釈されないものとする。本明細書に記載の例示的な実施態様は、限定的であることを意図していない。本明細書に概説するとともに図面に示す本開示の態様は、多種多様な異なる構成に配置、置換、組み合わせ、分離、および設計可能であることが容易に了解され、その全てを本明細書において明示的に検討する。
【００１５】
Ｉ．概要
[0019]  様々な実施態様によれば、本明細書には、ロボットシステムコンポーネント使用のクラウドベースの解析のための方法およびシステムが記載される。例において、クラウドベースのコンピューティングとは通常、ネットワーク化されたコンピュータアーキテクチャを指し、ここで、アプリケーションの実行および記憶は、ある程度、クライアントとサーバデバイスとの間で分けることができる。更に、ロボットシステムは、コンピューティング能力を有し、作動機能（例えば、電気機械機能）を用いて自身の環境とインタラクトする任意のデバイスとすることができる。したがって、様々なロボットシステムは、クラウドとインタラクトして、他のクラウドコンピューティングデバイスとの情報の共有、クラウドとのセンサデータの共有、および／またはクラウドからの情報の受信等の任意の数のアクションを行うことができる。
【００１６】
[0020]  本明細書に記載の例において、クラウドは、ロボットシステムにおける様々なコンポーネントの性能を経時的に決定および評価するために、受信したセンサデータを処理し記憶することができる。この性能データは、クラウドとの通信において、コンピューティングデバイス等によりロボットシステムのユーザにアクセス可能とすることができる。このようにして、システムは、経時的にロボットシステムの状態を表すモデルを提供することができる。
【００１７】
[0021]  この構成を用いて、クラウドは、様々なロボットシステム間で存在する特定のコンポーネントの性能を解析および監視することができる。例えば、クラウドと通信するいくつかのロボットシステムは、（例えば、特定の製造者および／または特定のモデルの）特定のアクチュエータを含むことができる。この場合、クラウドは、例えば、数ある中でも、加えられたトルクおよび／または電力消費を含む動作パラメータを監視すること等によって、センサデータを用いて、このアクチュエータの性能を経時的に決定することができる。
【００１８】
[0022]  更に、クラウドは、特定のコンポーネントの潜在的な摩耗または故障につながり得るメトリクスにおいて特定のロボットシステムの動作を検出することに対応する検出メトリクスを記憶することができる。例えば、クラウドは、特定のロボットシステムにおいてアクチュエータの潜在的な故障に対応する特定のトルクを加えることによって、特定のロボットシステムにおいてアクチュエータが動作している（または動作した）と判断することができる。クラウドがそのような検出メトリクスに遭遇すると、クラウドは、特定のロボットシステムにおけるこの特定のコンポーネントのためのメンテナンスを要求するメンテナンス要求を送出することができる。このメンテナンス要求は、特定のロボットシステムに関連付けられたコンピューティングデバイスに送信することができ、要求は、数ある可能性の中でも、コンポーネントの交換またはコンポーネントに対する特定の調節について指定することができる。
【００１９】
[0023]  クラウドが様々なロボットシステムにおける特定のコンポーネントの性能に関係する経時的な性能データを収集するにつれ、クラウドは、検出メトリクスの調節につながり得るデータの傾向を判断することができる。特に、クラウドは、特定のコンポーネントについて行われたメンテナンスに関係する情報を提供するメンテナンスイベントの記録を維持することができる。この記録は、数ある中でも、行われたメンテナンスの詳細、およびメンテナンスの時点を含むことができる。
【００２０】
[0024]  この構成を用いて、クラウドは、検出メトリクスと異なる他のメトリクスにおいていくつかのメンテナンスイベントが生じると決定することができる。例えば、クラウドは、上述した検出メトリクスに関連付けられた特定のトルクよりも低い別のトルクを加える際にアクチュエータが通常故障する傾向にあると判断することができる。この検出時、クラウドは、これらの他のメトリクスと検出メトリクスとの間の差異を評価することができる。この評価に基づいて、次にクラウドは、調整された検出メトリクスにおいて特定のロボットシステムの動作を決定するときに、この特定のロボットシステムにおける特定のコンポーネントのメンテナンスを要求することができるように、検出メトリクスを調整することができる。このようにして、クラウドは、ロボットシステムの状態を表すモデル、ならびにコンポーネントの摩耗および故障の早期の特定および予測を提供することができる。
【００２１】
ＩＩ．ロボット−クラウドインタラクションのための例示的なアーキテクチャ
[0025]  ここで図面を参照すると、図１は、クラウドベースのコンピューティングのための例示的なシステム１００である。クラウドベースのコンピューティングとは通常、ネットワーク化されたコンピュータアーキテクチャを指し、ここで、アプリケーションの実行および記憶は、ある程度、クライアントとサーバデバイスとの間で分けることができる。「クラウド」は、例えば、クライアントおよびサーバデバイスによってネットワーク（例えば、インターネット）を介してアクセス可能なサービスまたはサービスグループを指すことができる。
【００２２】
[0026]  １つの例において、クラウドに接続された任意のコンピュータを、コンピューティング能力、アプリケーションおよびファイルの同じプールに接続することができる。このため、クラウドコンピューティングは、最小限の管理労力またはサービスプロバイダインタラクションでプロビジョニングおよびリリースすることができる構成可能なコンピューティングリソース（例えば、ネットワーク、サーバ、ストレージ、アプリケーションおよびサービス）の共有プールを可能にする。ユーザは、ストレージ媒体を物理的に携行するのではなく、遠隔サーバにおいて、音楽、画像、ビデオおよびブックマーク等の個人ファイルを記憶し、これらにアクセスするか、またはゲームをプレイするか、または生産性アプリケーションを用いることができる。
【００２３】
[0027]  例として、主にクライアントベースのまたはサーバベースのアプリケーションと対象的に、クラウドベースのアプリケーションは、リモートサーバデバイスにおいて、データおよび／または実行可能なプログラムロジックのコピーを記憶することができる一方で、クライアントデバイスにおける実行に必要とされるのに応じて、このデータおよびプログラムロジックの少なくとも幾らかをクライアントデバイスがダウンロードすることを可能にする。いくつかの例において、ダウンロードされたデータおよびプログラムロジックは、クラウドベースのアプリケーションにアクセスする特定のクライアントデバイス（例えば、パーソナルコンピュータ、タブレット、もしくは移動電話、またはロボット）の能力に対し調整することができる。更に、クライアントとサーバデバイスとの間でアプリケーションの実行および記憶を分割することによって、更なる処理をサーバデバイスによって行い、それにより、例えば、サーバデバイスの処理能力および機能を利用することが可能である。
【００２４】
[0028]  クラウドベースのコンピューティングは、クラウドベースのアプリケーションのためのデータおよびプログラムロジックが１つ以上のクライアントデバイスおよび／またはサーバデバイス間でほぼリアルタイムベースで共有される分散コンピューティングアーキテクチャを指すこともできる。このデータおよびプログラムロジックの一部は、必要に応じて、または他の形で、クラウドベースのアプリケーションにアクセスする様々なクライアントに動的に配信することができる。アーキテクチャの詳細は、クライアントデバイスのユーザに対しトランスペアレントにすることができる。このため、クラウドベースのアプリケーションにアクセスするＰＣユーザまたはロボットクライアントデバイスは、ＰＣもしくはロボットがサーバデバイスからプログラムロジックおよび／またはデータをダウンロードすること、またはＰＣもしくはロボットが、例えば処理もしくは記憶機能をサーバデバイスにオフロードすることを認識しない場合がある。
【００２５】
[0029]  図１において、クラウド１０２は、クラウドサービス１０４と、クラウドプラットフォーム１０６と、クラウドインフラストラクチャ１０８と、データベース１１０とを含む。クラウド１０２は、より多くのコンポーネントまたはより少ないコンポーネントを含んでもよく、また、クラウドサービス１０４、クラウドプラットフォーム１０６、クラウドインフラストラクチャ１０８およびデータベース１１０の各々が複数の要素を含んでもよい。このため、システム１００の記載された機能のうちの１つ以上が、更なる機能的もしくは物理的コンポーネントに分割されてもよく、またはより少ない機能的もしくは物理的コンポーネントに組み合わされてもよい。いくつかの更なる例では、追加の機能的および／または物理的コンポーネントを図１によって示す例に加えてもよい。クラウドコンピューティングの送達には、例えば、ウェブサービスおよび３層アーキテクチャ等のアプリケーションプログラミングインタフェースを介して互いに通信する複数のクラウドコンポーネントが関与することができる。
【００２６】
[0030]  クラウド１０２は、ネットワーク化されたコンピュータアーキテクチャを表すことができ、１つの例では、クラウドサービス１０４は、クライアントデバイスからの要求を処理するためのキューを表す。クラウドプラットフォーム１０６は、クラウドのフロントエンドを含むことができ、クライアントデバイスとインタラクトするための機能を実行するためにクラウドサービス１０４に結合することができる。クラウドプラットフォーム１０６は、ウェブブラウザ等のユーザインタフェースを介してクラウド１０２にアクセスするのに用いられるアプリケーションを含むことができる。クラウドインフラストラクチャ１０８は、クラウド１０２のコンポーネントに課金するサービスアプリケーションを含むことができ、このため、クラウドサービス１０４とインタラクトすることができる。データベース１１０は、クラウド１０２による記憶機能を表すことができ、このため、クラウドサービス１０４、クラウドプラットフォーム１０６および／またはインフラストラクチャ１０８のうちの任意のものによってアクセスすることができる。
【００２７】
[0031]  システム１００は、クラウド１０２のコンポーネントに結合されるか、またはクラウド１０２のコンポーネントと通信することが可能であるように構成される複数のクライアントデバイスを含む。例えば、コンピュータ１１２、モバイルデバイス１１４、ホスト１１６およびロボットクライアント１１８は、クラウド１０２に結合されて示される。当然ながら、より多くのまたはより少ないクライアントデバイスがクラウド１０２に結合されてもよい。更に、異なるタイプのクライアントデバイスをクラウド１０２に結合することができる。例えば、クライアントデバイスのうちの任意のものは、通常、表示システム、メモリおよびプロセッサを備えることができる。
【００２８】
[0032]  コンピュータ１１２は、任意のタイプのコンピューティングデバイス（例えば、PC、ラップトップコンピュータ等）とすることができ、モバイルデバイス１１４は、任意のタイプのモバイルコンピューティングデバイス（例えば、ラップトップ、モバイル電話、携帯電話等）とすることができる。また、ホスト１１６は、クラウド１０２との間でデータを送受信するように構成される、ラップトップコンピュータ、モバイル電話等を含む、送信機／受信機を有する任意のタイプのコンピューティングデバイスとすることができる。
【００２９】
[0033]  ロボットクライアント１１８は、クラウド１０２との接続能力を有し、作動機能（例えば、電気機械機能）を有する任意のコンピューティングデバイスを含むことができる。ロボットは更に、コンピューティングデバイスの組み合わせとすることができる。いくつかの例では、ロボット１１８は、データを収集し、このデータをクラウド１０２にアップロードすることができる。クラウド１０２は、データに対し計算または解析を行い、処理されたデータをロボットクライアント１１８（および／またはロボットクライント１１８に関連付けられたコンピューティングデバイス）に戻すように構成することができる。いくつかの例では、図１に示すように、クラウド１０２は、ロボットクライアント１１８と同じ場所に位置していないコンピュータを含むことができる。他の例では、ロボットクライアント１１８は、処理のためにデータを第２のクライアント（例えば、コンピュータ１１２）に送信することができる。
【００３０】
[0034]  図１において、クライアントデバイスとクラウド１０２との間の通信リンクは、シリアルバスまたはパラレルバス等の有線接続を含むことができる。通信リンクは、Ｂｌｕｅｔｏｏｔｈ、ＩＥＥＥ８０２．１１（IEEE802.11は、IEEE802.11-2007、IEEE802.11n-2009または任意の他のIEEE802.11改訂版を指すことができる）を含むことができるリンク１２０等のワイヤレスリンク、または他のワイヤレスベースの通信リンクとすることもできる。
【００３１】
[0035]  他の例において、システム１００はアクセスポイントを含むことができ、このアクセスポイントを通じて、クライアントデバイスがクラウド１０２と通信することができる。アクセスポイントは、様々な形態をとることができ、例えば、アクセスポイントは、ワイヤレスアクセスポイント（WAP）またはワイヤレスルータの形態を取ることができる。別の例として、クライアントデバイスが、ＣＤＭＡまたはＧＳＭプロトコル等のセルラエアインタフェースプロトコルを用いて接続する場合、アクセスポイントは、セルラネットワークを介してインターネット接続性を提供するセルラネットワーク内の基地局とすることができる。
【００３２】
[0036]  したがって、クライアントデバイスは、有線またはワイヤレスネットワークインタフェースを含むことができ、この有線またはワイヤレスネットワークインタフェースを通じて、クライアントデバイスはクラウド１０２（またはアクセスポイント）に接続することができる。例として、クライアントデバイスは、数ある中でも、８０２．１１、８０２．１６（WiMAX）、ＬＴＥ、ＧＳＭ、ＧＰＲＳ、ＣＤＭＡ、ＥＶ−ＤＯおよび／またはＨＳＰＤＡ等の１つ以上のプロトコルを用いるように構成することができる。更に、クライアントデバイスは、セルラ通信プロトコル（例えばCDMA、GSM、またはWiMAX、および「WiFi」接続の場合は802.11を用いる）を用いた「３Ｇ」または「４Ｇ」データ接続等の複数の有線および／またはワイヤレスプロトコルを用いるように構成することができる。他の例も可能である。
【００３３】
[0037]  図２Ａは、ロボットシステム２００等のロボットクライアントの例示的な構成を示す。ロボットシステム２００は、数ある中でも、ロボットアーム、人形ロボットまたは四足歩行ロボットとすることができる。更に、ロボットシステム２００は、数ある中でも、ロボットデバイス、ロボットマニピュレータまたはロボットと呼ばれる場合もある。
【００３４】
[0038]  ロボットシステム２００は、プロセッサ２０２と、データストレージ２０４と、プログラム命令２０６と、コントローラ２０８と、センサ２１０と、電源２１２と、アクチュエータ２１４と、可動コンポーネント２１６とを備えるように示される。ロボットシステム２００は、例証の目的のみで示されており、ロボットシステム２００は、本開示の範囲から逸脱することなく、更なるコンポーネントを含んでもよく、および／または１つ以上のコンポーネントが除去されてもよいことに留意されたい。更に、ロボットシステム２００の様々なコンポーネントを任意の方式で接続することができることに留意されたい。
【００３５】
[0039]  プロセッサ２０２は、汎用プロセッサまたは専用プロセッサ（例えば、デジタル信号プロセッサ、特定用途向け集積回路等）とすることができる。プロセッサ２０２は、データストレージ２０４に記憶され、ロボットシステム２００の機能を提供するように実行可能なコンピュータ可読プログラム命令２０６を実行するように構成することができる。例えば、プログラム命令２０６は、コントローラ２０８の機能を提供するように実行可能とすることができ、ここで、コントローラ２０８は、１つ以上の可動コンポーネント２１６の動きを引き起こすようにアクチュエータ２１４に命令するように構成することができる。
【００３６】
[0040]  データストレージ２０４は、プロセッサ２０２によって読み取るかまたはアクセスすることができる１つ以上のコンピュータ可読ストレージ媒体を含むか、またはその形態をとることができる。１つ以上のコンピュータ可読ストレージ媒体は、プロセッサ２０２に全体的にまたは部分的に一体化することができる、光、磁気、有機または他のメモリもしくはディスクストレージ等の揮発性および／または不揮発性ストレージコンポーネントを含むことができる。いくつかの実施態様において、データストレージ２０４は、単一の物理デバイス（例えば、１つの光、磁気、有機、または他のメモリもしくはディスクストレージユニット）を用いて実施することができる一方、他の実施態様では、データストレージ２０４は２つ以上の物理的デバイスを用いて実施することができる。更に、コンピュータ可読プログラム命令２０６に加えて、データストレージ２０４は、数ある可能性の中でも、診断データ等の追加データを含むことができる。
【００３７】
[0041]  ロボットシステム２００は、数ある中でも、力センサ、近接性センサ、負荷センサ、位置センサ、タッチセンサ、深度センサ、超音波領域センサ、赤外線センサ、全地球測位システム（GPS）受信機、音波探知機、光学センサ、バイオセンサ、無線自動接続（RFID）センサ、近距離通信（NFC）センサ、ワイヤレスセンサ、コンパス、煙センサ、光センサ、無線センサ、マイクロフォン、スピーカ、レーダ、カメラ（例えば、カラーカメラ、グレースケールカメラおよび／または赤外線カメラ）、深度センサ（例えば、赤緑青＋深度（RGB-D）、レーザ、構造化光および／またはタイムオブフライトカメラ）、モーションセンサ（例えば、ジャイロスコープ、加速度計、慣性測定ユニット（IMU）および／またはフットステップもしくはホイールオドメトリ）、および／または距離センサ（例えば、超音波および／または赤外線）等の１つ以上のセンサ２１０を備えることができる。センサ２１０は、センサデータをプロセッサ２０２に提供し、ロボットシステム２００と環境との適切なインタラクションを可能にすることができる。更に、ロボットシステム２００は、ロボットシステム２００の様々なコンポーネントに電力を供給するように構成された１つ以上の電源２１２も備えることができる。例えば、ガソリンエンジンまたはバッテリ等の任意のタイプの電源を用いることができる。
【００３８】
[0042]  ロボットシステム２００は、１つ以上のアクチュエータ２１４も備えることができる。アクチュエータは、機械的運動を引き起こすために用いることができる機構である。特に、アクチュエータは、蓄積されたエネルギーを、１つ以上のコンポーネントの動きに変換するように構成することができる。アクチュエータに電力供給するための様々な機構を用いることができる。例えば、アクチュエータは、数ある可能性の中でも、化学物質、圧縮空気、または電気により動力供給することができる。いくつかの場合、アクチュエータは、回転型の運動を伴うシステム（例えば、ロボットシステム２００における関節）に用いることができる回転アクチュエータとすることができる。他の場合、アクチュエータは、直線運動を伴うシステムにおいて用いることができる線形アクチュエータとすることができる。いずれの場合であっても、アクチュエータ２１４は、ロボットシステム２００の様々な可動コンポーネント２１６の動きを生じさせることができる。可動コンポーネント２１６は、数ある中でも、ロボットアーム、レッグおよび／またはハンド等の付属物を備えていてもよい。可動コンポーネント２１６はまた、数ある中でも、可動ベース、ホイールおよび／またはエンドエフェクタを備えていてもよい。
【００３９】
[0043]  更に、ロボットシステム２００はリンクも有することができ、このリンクによって、（図１に示すように）リンクがクラウドサーバにアクセスすることができる。有線リンクは、例えば、パラレルバス、またはユニバーサルシリアルバス（USB）等のシリアルバスを含むことができる。ワイヤレスリンクは、数ある可能性の中でも、例えば、Ｂｌｕｅｔｏｏｔｈ、ＩＥＥＥ８０２．１１、Ｃｅｌｌｕｌａｒ（GSM、CDMA、UMTS、EV-DO、WiMAXまたはLTE等）またはＺｉｇｂｅｅを含むことができる。
【００４０】
[0044]  更なる態様において、コンピューティングデバイス（図示せず）は、ロボットシステム２００に結合することができ、グラフィカルユーザインタフェース等を介してユーザから入力を受信するように構成することができる。このコンピューティングデバイスは、ロボットシステム２００内に組み込むこともできるし、またはロボットシステム２００との（有線またはワイヤレス）通信が可能な外部コンピューティングデバイスとすることもできる。したがって、ロボットシステム２００は、数ある可能性の中でも、グラフィカルユーザインタフェースにおけるユーザ入力および／またはロボットシステム２００におけるボタンの押下（または触覚入力）により受信されたユーザ入力等に基づいて、情報および命令を受信することができる。そのようなコンピューティングデバイスは、クラウド（例えば、コンピュータ１１２）とインタラクトすることもできることに留意されたい。
【００４１】
[0045]  いくつかの例において、ロボットシステム２００における様々なセンサおよびデバイスは、モジュールとすることができる。要件に応じて、様々なモジュールをロボットシステム２００に追加するか、またはロボットシステム２００から除去することができる。例えば、低電力の状況において、ロボットシステム２００は、電力使用を低減するために、より少ないモジュールを有することができる。一方、必要に応じて、更なるセンサを加えることができる。ロボットシステム２００が収集可能であり得るデータ量を増大させるために、例えば更なるセンサを加えることができる。
【００４２】
[0046]  更に、ロボットシステム２００は、プロセッサ２０２と、データストレージ２０４と、センサ２１０とを備えるデバイスを受容するように構成することができる。例えば、ロボットシステム２００は、複数の機械的アクチュエータ（例えば、可動ベース）を有することができ、ロボットシステム２００は、ロボットの「脳」または制御コンポーネントとして機能するための移動電話、スマートフォン、タブレットコンピュータ等を受容するように構成することができる。このデバイスは、ロボットシステム２００のモジュールとみなすことができる。更に、デバイスは、ロボットシステム２００に物理的に取り付けることができる。例えば、スマートフォンをロボットの「胸部」上に載置し、インタラクティブディスプレイを形成することができる。このデバイスは、例えば、センサと、ワイヤレスリンクと、処理機能とを有するロボットシステム２００を提供することができる。デバイスは、ユーザがクラウドから自身のロボットのための新たなルーチンをダウンロードすることを可能にすることもできる。例えば、洗濯物を畳むルーチンをクラウド上に記憶することができ、ユーザは、スマートフォンを用いてルーチンを選択し、クラウドからこのルーチンをダウンロードすることができ、スマートフォンがロボット内に配置されるかまたはロボットに結合されるとき、ロボットはダウンロードされたアクションを実行することができる。
【００４３】
[0047]  他の例において、ロボットシステム２００は、追加の検知機能を提供するためにモバイル電話または携帯電話に結合することができる。携帯電話は、ロボットシステム２００に物理的に取り付けられていない場合があるが、ロボットシステム２００にワイヤレスで結合されている場合がある。例えば、低コストロボットは、インターネットへの直接接続を省くことができる。このロボットは、インターネットにアクセスできるようになるために、ワイヤレス技術（例えば、Bluetooth）を介してユーザの携帯電話に接続することが可能であり得る。ロボットは、携帯電話の様々なセンサおよび通信手段にアクセス可能であり得る。ロボットは、ロボット上に物理的に設けられた多くのセンサを必要としない場合があるが、ロボットは、同じかまたは類似の機能を保持可能であり得る。
【００４４】
[0048]  このため、ロボットシステム２００は、機械的ロボット特徴を含むことができ、デバイス（例えば、モバイルフォン、スマートフォン、タブレットコンピュータ等）を受容するように構成することができる。このデバイスは、加速度計、ジャイロスコープ、コンパス、ＧＰＳ、カメラ、ＷｉＦｉ接続、タッチスクリーン等のうちの任意のもの等の追加の周辺コンポーネントをロボットシステム２００にもたらすことができ、これらはロボットシステム２００内に含まれる。
【００４５】
[0003]  また更に、ロボットシステム２００は、ロボットオペレーティングシステム（例えば、ロボットの特定の機能のために設計されたオペレーティングシステム）に従って動作するように構成することができる。ロボットオペレーティングシステムは、ロボットアプリケーションを可能にするために、ライブラリおよびツール（例えば、ハードウェア抽象化、デバイスドライバ、ビジュアライザ、メッセージパッシング、パッケージ管理等）を提供することができる。ロボットオペレーティングシステムの例は、ＲＯＳ（ロボットオペレーティングシステム）、ＤＲＯＳ、ＡＲＣＯＳ（アドバンストロボティックス制御オペレーティングシステム）または所有者ソフトウェア等のオープンソースソフトウェアを含む。ロボットオペレーティングシステムは、ヘッドトラッキング、基部の動き（例えば、速度制御、ナビゲーションフレームワーク）等のようなロボットのコンポーネントを制御するための機能を含むことができる。
【００４６】
[0049]  ロボットシステム２００は様々な形態をとることができる。例証するために、ロボットアーム２１８を示す図２Ｂを参照する。示されるように、ロボットアーム２１８は、数ある中でも、付属物２２０Ａ〜２２０Ｄ等の可動コンポーネント２１６を含む。更に、ロボットアーム２１８は、各々が１つ以上のアクチュエータ（例えば、アクチュエータＳ０）に結合された関節Ｊ１〜Ｊ３を含む。関節Ｊ１〜Ｊ３におけるアクチュエータは、付属物２２０Ａ〜２２０Ｄ等の様々な可動コンポーネント２１６の動きを生じさせるように動作することができる。例えば、関節Ｊ１におけるアクチュエータは、軸２２２の周りの付属物２２０Ｃの動きを生じさせることができる（例えば、結果として、関節Ｊ１の中心軸の周りの回転が生じる）。これに対し、関節Ｊ２におけるアクチュエータは、軸２２４の周りの付属物２２０Ｄの動きを生じさせることができる（例えば、結果として、関節Ｊ２の回転が生じる）。他の例も可能とすることができる。
【００４７】
[0050]  特定の例において、ロボットアーム２１８は、上記で論考したアクチュエータ２１４の形態をとることができるアクチュエータＳ０（例えば、人形ロボットの胸部内に位置決めされる）を含むように示される。アクチュエータＳ０は、関節Ｊ３において、回転方向の力を加えるように構成することができ、結果として、軸２２６の周りの付属物２２０Ａの回転を生じさせることができる。付属物２２０Ａのそのような回転の結果、ロボットアーム２１８全体の集合的動きが生じる場合がある。特に、図２Ｂは、タイミングベルト２２８を、アクチュエータＳ０のトランスミッションの一部分および関節Ｊ３に結合された回転機構（図示せず）の一部分の周りに密に巻きつけることができるベルト駆動型のアクチュエーションの形態を示す。より詳細には、回転機構は、アクチュエータＳ０がタイミングベルト２２８を介して回転機構の回転を生じさせ、それによって軸２２６の周りの付属物２２０Ａの回転を生じさせることができるように付属物２２０Ａに結合することができる。
【００４８】
[0051]  タイミングベルト２２８は様々な理由のうちの１つで用いられる場合がある。例えば、タイミングベルト２２８は、アクチュエータＳ０がアクチュエーションを与える機構からアクチュエータＳ０を遠ざけて配置する設計を可能にするためにアクチュエーションを方向づけるための代替策として用いられる場合がある。更に、タイミングベルト２２８は、様々な形態のうちの１つをとることができる。例えば、タイミングベルト２２８は、任意の材料（例えば、ゴム）で構成することができ、タイミングベルト２２８の内面上に歯を含むことができる。歯は、ギアがタイミングベルト２２８の機械的動きを生じさせることができるように、アクチュエータＳ０におけるトランスミッションのギアと相互作用することができる。歯は、タイミングベルト２２８の機械的動きの結果として、軸２２６の周りの付属物２２０Ａの回転が生じるように、回転機構と相互作用することもできる。いくつかの場合、タイミングベルト２２８は、タイミングベルトの特定の張力を生成または維持するために、タイミングベルト２２８に力を加えるテンショナ（図示せず）に結合することができる。テンショナ（または張力センサ）は、タイミングベルト２２８の張力の測定値をコンピューティングシステム（例えば、クラウド）に提供することもできる。他の例も可能である。
【００４９】
[0052]  次に、図３は、概念上のロボット−クラウドインタラクションの例を示す。図２Ａおよび図２Ｂにおいて説明および例証されたロボット等のロボットは、コンピュータのネットワーク（例えば、クラウド）に接続することができ、データ、またはクラウドによって処理が実行されることを要求することができる。１つの例において、ロボットは、ロボットのためのモータ制御を通常提供することができる複数のセンサおよび機械的アクチュエータを備えることができる。カメラフィード、視覚センサ等のようなセンサの出力をクラウドに提供することができ、クラウドは、この出力を処理して、ロボットが機能を実行することを可能にすることができる。クラウドは、カメラフィードを処理して、例えば、ロボットのロケーションを判断するか、オブジェクト認識を実行するか、またはロボットのためのナビゲーション経路を示すことができる。
【００５０】
[0053]  図３はモータコントローラを概略的に示す。このモータコントローラにおいて、各モジュールが、ロボットからのモータコントローラ入力またはデータを用いて処理を実行するクラウド上のコンピュータまたはノードを概念的に表すことができる。図３は、センサも概略的に示す。このセンサにおいて、各モジュールが、ロボットからのセンサ入力またはデータを用いて処理を実行するクラウド上のコンピュータまたはノードを概念的に表すことができる。図３は更に、アプリケーションを概略的に示す。このアプリケーションにおいて、各モジュールが、複数のアプリケーション、例えば、ナビゲーションアプリケーション、マッピングアプリケーション等の特定の機能を実行するクラウド上のコンピュータまたはノードを概念的に表すアプリケーションを概略的に示すことができる。加えて、図３は更に、計画を概略的に示す。この計画において、各モジュールが、全体計画またはコンピューティング処理等のロボットのための処理を実行するクラウド上のコンピュータまたはノードを概念的に表すことができる。示されるように、モジュールのうちの任意のものが相互接続されてもよく、および／または、ロボットのための特定の出力または機能を提供するために互いからデータまたは命令を受信するように通信してもよい。
【００５１】
[0054]  １つの例において、ロボットは、データ処理のためにクラウドにデータを送信することができ、別の例において、ロボットはクラウドからデータを受信することができる。クラウドから受信されたデータは、多くの異なる形態をとることができる。受信されたデータは、ロボットがクラウドに送信したデータの処理された形態を取ることができる。受信したデータは、ロボット以外のソースから到来することもできる。例えば、クラウドは、他のセンサ、他のロボットおよびインターネットへのアクセスを有することもできる。
【００５２】
[0055]  図４は、ロボットがクラウドとインタラクトし、他のクラウドコンピューティングデバイスと情報を共有することができる例示的なシステム４００である。システム４００は、各々がクラウド４１０に結合されたロボット４０２、４０４、４０６および４０８を（例えば、概念上の図式的表現として）示す。各ロボット４０２、４０４、４０６および４０８は、クラウド４１０とインタラクトすることができ、更には、クラウド４１０を通じて、または他のアクセスポイントを通じて、および場合によっては（例えばロボット４０６および４０８間に示されているように）直接、互いにインタラクトすることができる。
【００５３】
[0056]  クラウド４１０は、いくつかのロボットからの入力を受信することができる。各ロボットからのデータを編纂して、より大きなデータ集合にすることができる。例えば、ロボット４０２は、オブジェクトの写真を撮り、この写真をクラウド４１０にアップロードすることができる。クラウド４１０上のオブジェクト認識プログラムは、ピクチャ内のオブジェクトを特定し、認識されたオブジェクトに関するデータ、および場合によっては、ロケーション、サイズ、重量、色等のような、認識されたオブジェクトの他の特性（例えば、メタデータ）に関するデータを、クラウド４１０に接続された全てのロボットに提供するように構成することができる。このため、全てのロボットは、ロボット４０２によってアップロードされた写真内のオブジェクトの属性を知ることが可能であり得る。
【００５４】
[0057]  ロボット４０２、４０４、４０６および４０８は、エリア内で、人間、他のロボット等と任意の数のアクションを行うことができる。１つの例において、各ロボット４０２、４０４、４０６および４０８は、ＷｉＦｉまたは別のネットワークベースの接続を有し、データをクラウド４１０にアップロード／公開し、この際、このデータは、任意の他のロボットと共有することができる。このようにして、各ロボット４０２、４０４、４０６および４０８は、互いに経験を共有して、学習された挙動を可能にする。例えば、ロボット４０２は、経路を走査し、故障に当たる場合があり、他のロボット４０４、４０６および４０８に（クラウド４１０を通じて）故障のロケーションを通知することができる。各ロボット４０２、４０４、４０６および４０８は、リアルタイムの最新データにアクセスを有する。別の例では、ロボット４０４は、他のロボット４０２、４０６および４０８が見る画像を示すデータをダウンロードして、（例えば、ロボット４０２、４０６および４０８が異なる観点からのオブジェクトの捕捉された画像を有する事例において、）ロボット４０４が様々なビューを用いてオブジェクトを識別するのに役立てることができる。
【００５５】
[0058]  また別の例では、ロボット４０８は、エリアのマップを構築することができ、ロボット４０２は、エリアの知識を得るためにマップをダウンロードすることができる。同様に、ロボット４０２は、ロボット４０８が作成したマップを、エリアに関する新たな情報（例えば、現在廊下にボックスまたは他の障害物がある）を用いて、またはロボット４０８が有していない場合があるセンサから収集された新たな情報（例えば、ロボット４０８が温度センサを有していない場合、ロボット４０２が温度データを記録し、マップに加えることができる）を用いて更新することができる。全体として、ロボット４０２、４０４、４０６および４０８は、収集されたデータを共有してより高速な適応を可能にするように構成することができ、それによって、各ロボット４０２、４０４、４０６および４０８は、前のロボットの学習済みの体験を活かすことができる。
【００５６】
[0059]  共有および適応機能は、ロボット４０２、４０４、４０６および４０８から受信した多岐にわたる入力／データに基づいて、多岐にわたる用途を可能にする。特定の例において、ロボットがいた場所の履歴に関するデータの提供等の、物理的ロケーションのマッピングを提供することができる。ロボット４０２、４０４、４０６および４０８のマッピング／ナビゲーション機能を容易にするために、別の数またはタイプのインジケータを記録することができる（例えば、壁上の擦り傷は、ロボットが記録し、そして後に自身の位置を確認する際に依拠することができる多くの手がかりのうちの１つとなり得る）。
【００５７】
[0060]  １つの例において、クラウド４１０は、オブジェクトに関する情報のデータベース４１２を含むか、記憶するか、またはこのデータベースへのアクセスを提供することができ、データベース４１２は、全てのロボット４０２、４０４、４０６および４０８によってアクセス可能とすることができる。データベース４１２は、オブジェクトを識別する情報と、ロボット４０２、４０４、４０６および４０８がオブジェクト認識を行うためにアクセスすることができるオブジェクトの詳細（例えば、質量、特性、形状、使用のための命令等、オブジェクトに関連付けることができる任意の詳細）とを含むことができる。例として、オブジェクトの使用に関する情報は、例えば電話の場合、ハンドセットをどのようにピックアップするか、どのように電話に応答するか、ボタンのロケーション、どのようにダイヤルするか等を含むことができる。
【００５８】
[0061]  更に、データベース４１２は、オブジェクトを区別するのに用いることができるオブジェクトに関する情報を含むことができる。例えば、データベース４１２は、オブジェクト（例えば、コンピュータ等）に関する一般的な情報と、それに加えて、特定のコンピュータに関する情報（例えば、型番、詳細、または特定のモデルの技術的使用等）とを含むことができる。各オブジェクトは、データベース４１２内に、オブジェクト名、オブジェクトの詳細、オブジェクトを区別する特性等を含む情報、またはアクセスすることができるオブジェクトのためのタプル空間を含むことができる。各オブジェクトは、例えば、順序付けされたリスト内のデータベース内に情報を更に含むことができる。更なる例では、データベース４１２は、データベース４１２内で識別されるオブジェクトのための（例えば、特定のオブジェクト間で区別するための）グローバル一意識別子（GUID）を含むことができ、ＧＵＩＤは、オブジェクトを記述する任意の特性または情報に関連付けることができる。このため、ロボットは、オブジェクトを包括的に区別する情報（例えば、野球対コンピュータ）を受信するためにデータベース４１２にアクセスし、特定のオブジェクト（例えば、２つの異なるコンピュータ）間で区別することができる情報を受信するように構成することができる。
【００５９】
[0062]  データベース４１２は、クラウド４１０を通じて全てのロボットによってアクセス可能（または代替的に、クラウド４１０を通じた通信なしで全てのロボットによって直接アクセス可能）とすることができる。このため、データベース４１２は、クラウド４１０内に記憶された共有ナレッジベースとすることができる。このため、いくつかの例において、ロボットは、クラウド４１０を通じて学習した挙動を共有することができる。クラウド４１０は、ロボットが学習したアクティビティまたは挙動を記憶するサーバを有することができ、結果として、オブジェクトインタラクションのための挙動および経験則の共有ナレッジベースが生じる（例えば、ロボット「appストア」）。特に、所与のロボットは、アクションを実行し、エリアのマップを構築することができ、次にロボットは、データをクラウド４１０にアップロードして、このナレッジを全ての他のロボットと共有することができる。この例において、所与のロボットの「見解」のトランスポートは、クラウド４１０を通じて１つのロボットから別のロボットに行うことができる（例えば、ロボット「ボブ」がマップを構築し、「ボブ」のナレッジは、マップのナレッジを受信する別のロボット上にダウンロードすることができる）。このため、例において、ロボット４０２、４０４、４０６および４０８は、クラウド４１０を通じて情報を共有することができ、データベース４１２にアクセスすることができる。
【００６０】
ＩＩＩ．例示的な方法
[0063]  図５は、ロボットシステムコンポーネント使用のクラウドベースの解析のための例示的な方法を示す。特に、図５は、例示的な実施態様による、方法５００を示すフローチャートである。方法５００等の例証的な方法は、全体的にまたは部分的に、図１に示すクラウド１０２のコンポーネントのうちの１つ以上の等の、コンピューティングシステムにおける単数または複数のコンポーネントによって実行することができる。一方、方法５００等の例示的な方法は、本開示の範囲から逸脱することなく、他のエンティティまたはエンティティの組み合わせによって（すなわち、他のコンピューティングデバイスおよび／またはコンピューティングデバイスの組み合わせによって）実行することができることが理解されるべきである。
【００６１】
[0064]  ブロック５０２によって示されるように、方法５００は、コンピューティングシステム（例えば、クラウド１０２）によって、各々が１つ以上のセンサおよび特定のコンポーネントを有する複数のロボットシステムからセンサデータを受信することを含む。ここで、コンピューティングシステムは、特定のコンポーネントのためのメンテナンス要求に対応する少なくとも１つの検出メトリクスを記憶している。そして、ブロック５０４に示すように、方法５００は次に、センサデータに基づいて、複数のロボットシステムにおける経時的な特定のコンポーネントの性能を表す性能データを決定することを含む。
【００６２】
[0065]  例示的な構成において、複数のロボットシステムは各々、特定のコンポーネントを備えることができる。例えば、特定のコンポーネントは、全てのこれらのロボットシステム内に設置される特定のタイミングベルト（例えば、タイミングベルト２２８）とすることができる。設置されたタイミングベルトは、全て、例えば同じ製造者および／またはモデルである等の、同じまたは類似の形態をとることができる。更に、複数のロボットシステムは全て、同じまたは類似の構成をとることができる。代替的に、複数のロボットシステムは、各ロボットシステムが依然として特定のタイミングベルトを備えている限り、異なる構成をとってもよい。
【００６３】
[0066]  更に、複数のロボットシステムは各々、上述したセンサ２１０のうちの任意のもの等の様々なセンサを備えることができる。特に、特定のロボットシステムにおける１つ以上のそのようなセンサは、特定のロボットシステムにおける特定のコンポーネントの動作に関係するセンサデータを提供することができる。例えば、上述したように、テンショナ（または張力センサ）は、タイミングベルトの張力の測定値を提供することができる。別の例では、特定のコンポーネントはアクチュエータとすることができ、トルクセンサが、アクチュエータによって加えられるトルクの測定値を提供することができる。他の例も可能である。
【００６４】
[0067]  例示的な実施態様において、ロボットシステムは、センサからのデータを取得することができ、取得されたデータは、内蔵ＣＰＵ（例えば、プロセッサ２０２）によって処理され、これによりデータを精緻化し、その後このデータを集約および（例えば、デルタ圧縮を用いて）圧縮し、クラウドに送信されるクエリのために用いられる構成（例えば、データパケット）にすることができる。データパケットの解釈は、受信されると、クラウドに関連付けられた１つ以上のプロセッサ間で分散させることができる。次に、１つ以上のプロセッサは並列に動作して、センサによって検出されたデータを解釈し、それに応答して、結果を中央サーバに送信することができる。更に、クラウドは、センサデータおよび／またはセンサデータの解釈を（例えば、データベース１１０に）記憶することができる。
【００６５】
[0068]  センサから取得したデータに加えて、クエリは、ロボット固有のデータおよび／またはコンポーネント固有のデータ等の他の情報も含むことができる。例えば、この情報は、数ある中でも、特定のロボットシステムのモデル、特定のロボットシステムの構成、特定のロボットシステムの識別子、特定のコンポーネントのカテゴリ、特定のコンポーネントのモデル、および／または特定のロボットシステムにおける特定のコンポーネントの位置も含むことができる。更に、クエリは、データパケットが送信される時点を含むことができ、クラウドは、対応する時点を記憶することができる。更にまたは代替的に、クラウドは、データパケットが受信される時点を判断することができ、対応する時点を記憶することができる。
【００６６】
[0069]  この構成を用いて、クラウドは、複数のロボットシステムからセンサデータを受信することができ、データを用いて、複数のロボットシステムにわたって存在する特定のコンポーネントの性能を判断することができる。例えば、クラウドは、複数のロボットシステムの各々において経時的に特定のタイミングベルトの張力を表すセンサデータを取得し記憶することができる。更に、クラウドは、データに関連付けられた特定のコンポーネントに基づいてデータをカテゴライズすることができる。
【００６７】
[0070]  このようにして、データは、クラウドと通信しているコンピューティングデバイスのユーザインタフェース等を介してユーザにアクセス可能とすることができる。特に、この構成は、ロボットシステムおよび／または特定のコンポーネントのうちの１つ以上の状態を表すモデルを提供することができる。例えば、ユーザ入力は、特定のコンポーネントに関する情報を要求するコンピューティングデバイスにおいて受信することができる。それに応答して、コンピューティングデバイスは、（例えば、クラウドから取得した情報に基づいて、）複数のロボットシステムの各々における経時的な特定のコンポーネントの性能を表す性能データを（例えばグラフの形態で）表示することができる。１つの例において、コンピューティングデバイスは、複数のロボットシステムの各々（または特定のロボットシステム）における経時的なタイミングベルトの張力の測定値を表示することができる。別の例において、コンピューティングデバイスは、複数のロボットシステムにおける経時的な特定のタイミングベルトの平均張力の測定値を表示することができる。他の例も可能である。
【００６８】
[0071]  上述したように、クラウドは、特定のコンポーネントのためのメンテナンス要求に対応する検出メトリクスをこのクラウドに（例えば、データベース１１０に）記憶した場合がある。そのようなメンテナンスは、数ある可能性の中でも、特定のコンポーネントの交換、または特定のコンポーネントに対する特定の調節の形態を取り得る。特に、クラウドは、性能データを解析し、メンテナンスが特定のロボットシステムにおける特定のコンポーネントに対し行われるべきであることを示す性能データ内のトリガを判断することができる。これに応答して、クラウドは、特定のロボットシステムに関連付けられたコンピューティングシステムに対するメンテナンス要求を送信することができる。そしてまた、以下で更に論考するように、検出メトリクスは様々な形態をとることができる。
【００６９】
[0072]  １つの場合、検出メトリクスは、特定のコンポーネントの故障を検出することに対応することができる。特に、クラウドは、特定のコンポーネントの故障に対応する性能データにおける値（または値の組み合わせ）を検出することができる。例として、アクチュエータＳ０およびタイミングベルト２２８を示す図２Ｂを再び参照する。この例において、クラウドは、（例えば、トルクセンサから）アクチュエータＳ０によって加えられるトルクに関連するデータを受信することができ、（例えば、モーションセンサから）関節Ｊ３の回転／運動に関係するデータも受信することができる。この構成により、クラウドは、アクチュエータＳ０によって経時的に加えられるトルクの記録、およびその時間にわたる関節Ｊ３の動きの記録を維持することができる。いくつかの状況において、クラウドは、ある期間にわたって、アクチュエータＳ０がトルクを加えるが、関節Ｊ３について対応する動きが検出されないと判断する場合がある。この状況では、クラウドは、この判断が、タイミングベルト２２８の故障（例えば、タイミングベルト２２８が損傷している）に対応すると解釈することができる。そのような判断に基づいて、クラウドはメンテナンス要求を送信することができる。他の例も可能である。
【００７０】
[0073]  別の場合、検出メトリクスは、特定のコンポーネントの摩耗が、閾値摩耗度を超えていることの検出に対応することができる。クラウドは、そのような検出を行うと、特定のコンポーネントに対しメンテナンス要求を送出することができる。例として、クラウドは、経時的なタイミングベルト２２８の張力の測定値に関連するデータを受信することができる。この例において、クラウドは、タイミングベルト２２８の閾値摩耗度に対応する特定の閾値張力を表す値をこのクラウドに記憶しておくことができる。したがって、クラウドは、タイミングベルト２２８の張力が閾値張力未満であると判断することができ、これに応答して、タイミングベルト２２８のためのメンテナンス要求を送信することができる。
【００７１】
[0074]  更に別の場合、検出メトリクスは、特定のコンポーネントが、閾値持続時間を超えているかまたは超えようとしている持続時間にわたって特定のコンポーネントの寿命を超えて動作していることの検出に対応することができる。これを行うために、クラウドは、特定のコンポーネントの実施（および／または製造）に関連する情報を最初に取得することができる。特に、特定のコンポーネントが特定のロボットシステムにおいて実施されると、クラウドは、実施を示す入力を受信することができ、それに応答して、そのような実施に対応する時点を記憶することができる。そのような入力は、様々な形態をとることができる。
【００７２】
[0075]  例えば、センサ（例えば、近接性および／またはタッチセンサ）は、ロボットシステム内に位置決めすることができ、このセンサを用いて、特定のコンポーネントの存否を検出することができる。このため、クラウドは、そのようなセンサからデータを受信し、特定のコンポーネントが実装される時点を判断することができる。別の例では、入力は、（例えばユーザ入力によって）ロボットシステムに関連付けられたコンピューティングデバイスを介して受信することができる。この例において、入力は、数ある可能性の中でも、特定のコンポーネントの実施の時点／日付、および／または特定のコンポーネントの製造の時点／日付を与えることができる。入力が受信されると、クラウドはこの入力をデータベース１１０に記憶することができる。他の例も可能である。
【００７３】
[0076]  この初期入力を受信した後、クラウドは、特定のコンポーネントの寿命を追跡するように設定することができる。例えば、クラウドは、特定のコンポーネントが特定のロボットシステム内に存在していた時間の持続時間を求めることができる。別の例では、クラウドは、クラウドは、特定のロボットシステムにおいて特定のコンポーネントが動作していた時間の持続時間を求めることができる。例として、クラウドは、（例えば、アクチュエータがロボットシステム内に存在していた時間の持続時間を求めるのではなく、）これまでアクチュエータＳ０の寿命を超えてアクチュエータＳ０がトルクを加えていた時間の持続時間を求めることができる。他の事例および例も可能である。
【００７４】
[0077]  この構成により、クラウドは、特定のコンポーネントが、閾値持続時間を超える持続時間にわたって動作していた（またはロボットシステム内に存在していた）か否かを判断することができる。この閾値持続時間は、コンポーネントの寿命を示す、クラウドによって受信される入力に基づいて、データベース１１０に記憶することができる。例として、クラウドは、アクチュエータＳ０の寿命が５００，０００時間の動作時間であることを示すユーザ入力を受信することができる。クラウドは、特定のコンポーネントが、閾値持続時間を超えている（例えば、アクチュエータＳ０の５００，００１時間の動作時間）または超えようとしている（例えば、アクチュエータＳ０の４９９，９９９時間の動作時間）持続時間にわたって動作したと判断する場合、これに応答してメンテナンス要求を送信することができる。
【００７５】
[0078]  更に別の場合、検出メトリクスは、特定の動作値（または、ある値集合内にある特定の動作値）における特定のコンポーネントの動作を検出することに対応することができる。特に、この特定の動作値は、結果として、数ある中でも、特定のコンポーネントのある程度の摩耗または特定のコンポーネントの故障を生じさせる場合がある。更に、クラウドは、この特定の動作値をデータベース１１０に記憶することができる。したがって、クラウドが、特定のコンポーネントが特定の動作値で動作しているかまたは動作したと判断する場合、クラウドはメンテナンス要求を送出することができる。
【００７６】
[0079]  １つの例において、クラウドは、アクチュエータＳ０の潜在的な摩耗（または故障）に対応する特定のトルクを記憶しておくことができる。この例では、クラウドは、アクチュエータＳ０がこの特定のトルクを加えたと判断し、次にそれに応答して、メンテナンス要求を送信することができる。別の例では、経時的なタイミングベルト２２８の摩耗が、ロボットシステムにおける様々なパラメータに影響を及ぼす可能性がある。例えば、タイミングベルト２２８の摩耗は、タイミングベルト２２８が経時的に張力を失うこと、および／またはタイミングベルト２２８の歯が経時的に摩耗すること（例えば、この結果として、バックラッシュが増大する）を伴う場合がある。そのような摩耗は、ロボットシステムの可動コンポーネント２１６の整定時間に影響を及ぼし得る。
【００７７】
[0080]  特に、制定時間は、ロボットシステムが、１つ以上のロボットリンク（例えば、付属物２２０Ａ〜２２０Ｄ）の動きを停止させるコマンドを受信した後等に、これらのロボットリンクが停止するのに必要な時間範囲を指すことができる。例示的な実施態様では、クラウドは、（例えば、モーションセンサから）そのようなコマンドに関連するクエリおよびロボットリンクに関するモーションデータを受信することができる。次に、クラウドは、コマンドの時点およびモーションデータを用いて、整定時間を求めることができる。代替的に、ロボットシステムは、そのような技法を用いて整定時間を求めることができ、次に、制定時間をクラウドに報告することができる。他の技法も可能である。
【００７８】
[0081]  タイミングベルト２２８が経時的に摩耗するにつれ、ロボットシステムがリンクの動きを停止しようとするときの１つ以上のロボットリンクの振動が増大する場合がある。したがって、これにより、リンクの整定時間が増大する場合がある。このため、クラウドは、タイミングベルト２２８の閾値摩耗度に対応する１つ以上の特定の整定時間（例えば、整定時間の範囲）をクラウドに記憶しておくことができる。クラウドは、特定のロボットシステムの動作が、特定の整定時間（例えば範囲内にある）のうちの１つに合致する制定時間を含む場合と判断する場合、それに応答して、メンテナンス要求を送信することができる。
【００７９】
[0082]  更なる態様において、ロボットシステムの異なるコンポーネントは、問題となっている特定のコンポーネントと何らかの形で関連付けることができる。例えば、異なるコンポーネントの性能は、特定のコンポーネントの性能に影響を与える可能性があり、逆もまた同様である。結果として、いくつかの場合、検出メトリクスは、特定の動作値における異なるコンポーネントの動作を検出することに対応し、そのような検出により、結果として、特定のコンポーネントのためのメンテナンスを要求することができる。
【００８０】
[0083]  例として、コントローラ２０８は、特定のコマンドをアクチュエータＳ０に送信することによって、付属物２２０Ａの位置を制御することができる。この例において、アクチュエータＳ０は、特定の剛性を有するトランスミッションを含むことができる。この剛性に対する経時的変化は、例えば、コントローラ２０８がいくつかの安定性マージンを有する場合があり、このため、これらの安定性マージンに基づいてアクチュエータＳ０にコマンドを送信する場合があるため、コントローラ２０８を不安定化させる可能性がある。様々なセンサを用いて、経時的なトランスミッションの剛性を監視することができ、クラウドは、トランスミッションの剛性に関する情報を受信し記憶することができる。
【００８１】
[0084]  この例において、クラウドは、コントローラ２０８のチューニングを調整する必要があることに対応する１つ以上の特定の剛性値を記憶しておくことができる。クラウドは、特定のロボットシステムにおけるトランスミッションの剛性値が特定の剛性値のうちの１つと合致すると判断する場合、メンテナンス要求を送出することができる。このメンテナンス要求は、コントローラ２０８における安定性マージンが、決定されたトランスミッション剛性と一致するようにコントローラ２０８をチューニングすることに対応することができる。他の例も可能である。
【００８２】
[0085]  更に別の例において、検出メトリクスは、特定のコンポーネントの性能における閾値変化の検出に対応することができる。クラウドが性能におけるこの閾値変化を検出すると、クラウドは、特定のコンポーネントのためのメンテナンス要求を送出することができる。特に、クラウドは、第１の値における特定のコンポーネントの動作を検出することができる。その後、クラウドは、第１の値における動作から第２の値における動作への特定のコンポーネントの動作の変化を検出することができる。この構成により、クラウドは、変化が閾値変化を超えたと判断することができ、それに応答してメンテナンス要求を送信することができる。この変化は、第１の値と第２の値との間の差（例えば、差の絶対値）の形態をとることができる。代替的に、変化は、第１の値から第２の値へのパーセンテージの増減の形態をとることができる。一方、変化は他の形態をとることもできることに留意されたい。
【００８３】
[0086]  例として、クラウドは、アクチュエータＳ０の最大出力トルク（例えば、アクチュエータＳ０が加えることが可能な最大トルク）に関連するデータを受信することができる。この例において、クラウドは、アクチュエータＳ０の最大出力トルクにおける閾値変化を表す少なくとも１つの値を記憶しておくことができる。この値は、アクチュエータＳ０の摩耗または故障の何らかの程度を示すものとしての役割を果たすことができる。この例において、クラウドは、アクチュエータが第１の最大出力トルクを有することを検出することができる。その後（例えば、後の時点において）、クラウドは、（ｉ）アクチュエータＳ０が第１の最大出力トルクを加えることができる状態から、（ｉｉ）アクチュエータＳ０が第２の最大出力トルクを加えることができる状態への、最大出力トルクの変化を検出することができる。クラウドは、この変化が閾値変化を超えている（例えば、最大出力トルクにおける閾値減少）と判断することができ、これに応答してメンテナンス要求を送信することができる。
【００８４】
[0087]  更なる態様において、検出メトリクスは、特定のコンポーネントに関連付けられた異なるコンポーネントの性能における閾値変化を検出することに対応することができる。クラウドがこの性能における閾値変化を検出すると、クラウドは、特定のコンポーネントのためのメンテナンス要求を送出することができる。特に、クラウドは、第１の値における異なるコンポーネントの動作を検出することができる。その後、クラウドは、第１の値における動作から第２の値における動作への異なるコンポーネントの動作の変化を検出することができる。この構成により、クラウドは、変化が閾値変化を超えていると判断することができ、これに応答して、特定のコンポーネントのためのメンテナンスを要求するメンテナンス要求を送信することができる。
【００８５】
[0088]  例として、クラウドは、（例えば、上記で論考した技術に基づいて、）付属物２２０Ａの整定時間に関連するデータを受信することができる。この例において、クラウドは、付属物２２０Ａの制定時間における閾値変化を表す少なくとも１つの値を記憶しておくことができる。この値は、アクチュエータＳ０におけるトランスミッションの剛性の変化を示すものとしての役割を果たすことができ、これによって、コントローラ２０８を相応してチューニングすることを示すものとしての役割を果たすことができる。この例において、クラウドは、付属物２２０Ａのための第１の制定時間を検出することができる。その後、クラウドは、（ｉ）付属物２２０Ａが第１の整定時間を有する状態から、（ｉｉ）付属物２２０Ａが第２の整定時間を有する状態への整定時間の変化を検出することができる。クラウドは、この変化が閾値変化を超えていると判断することができ、それに応答して、コントローラ２０８のメンテナンスを要求するメンテナンス要求を送信することができる。
【００８６】
[0089]  また別の場合、検出メトリクスは、ロボットシステムの１つ以上の特定の動きを検出することに対応することができる。特に、クラウドは、例えば、付属物２２０Ａ〜２２０Ｄ等の１つ以上の可動コンポーネント２１６の動きを表すデータを受信することができる。クラウドは、様々な形態のうちの１つにおいてこのデータを受信することができる。例えば、クラウドは、（例えば、位置センサからのデータに基づいて）物理空間内の付属物の座標に関する情報を受信することができる。付属物が移動すると、クラウドは、物理空間における付属物の更新された座標を受信することができる。このようにして、クラウドは、受信した情報を用いて付属物の動きを判断することができる。更に、この情報は、数ある可能性の中でも、付属物が動いた特定の距離、付属物が動いた特定の方向、および／または付属物が別の付属物に対して動いた特定の角度距離（例えば関節の回転）を表すことができる。
【００８７】
[0090]  例示的な実施態様では、クラウドは、ロボットシステムの１つ以上の可動コンポーネントの１つ以上の特定の動きに関係する情報を記憶しておくことができる。そのような特定の動きにより、結果として、特定のコンポーネントの特定の摩耗度、または特定のコンポーネントの故障が生じる場合がある。クラウドは、特定のロボットシステムがこれらの特定の動きを行ったと判断する場合、特定のコンポーネントのためのメンテナンス要求を送出することができる。他の場合も可能である。
【００８８】
[0091]  ブロック５０６によって示されているように、方法５００は、特定のコンポーネントのための複数のメンテナンスイベントを決定することを含む。ここで、複数のメンテナンスイベントは、複数のロボットシステムのうちの１つ以上に関連付けられている。
【００８９】
[0092]  例示的な構成において、クラウドは、特定のロボットシステムにおける特定のコンポーネントのメンテナンスに関係する記録を維持することができる。例として、クラウドは、メンテナンスに関連する情報を提供する入力（例えば、コンピューティングデバイスにおけるユーザ入力）を受信することができる。この入力は、数ある可能性の中でも、メンテナンスが行われた特定のコンポーネントの指定、メンテナンスの時点、および／またはメンテナンスの詳細（例えば、特定のコンポーネントの交換、または特定のコンポーネントに対する特定の調節を示す）を含む。クラウドは、他の方法でメンテナンス時点を判断することもできる。例えば、クラウドは、入力が受信された時点に基づいてメンテナンス時点を判断し、次に、（例えば、メンテナンス時点が入力により提供されていない場合）この時点をデータベース１１０に記憶することができる。
【００９０】
[0093]  別の構成において、クラウドは、上記の検出メトリクスのうちの１つに応答して、メンテナンス要求を送信することができる。このメンテンス要求は、以下で詳細に更に論考するように、様々な形態をとることができる。例えば、メンテンス要求は、数ある可能性の中でも、要求時点、特定のコンポーネントの指定、および／またはメンテナンスの詳細（例えば、特定のコンポーネントの交換または特定のコンポーネントに対する特定の調節を提案する）を含むことができる。この構成において、クラウドは、そのような要求の送信に続くメンテナンスイベントのための記録を記憶することができる。例えば、クラウドはこれを、要求に応答して確認（例えば、コンピューティングデバイス上のユーザ入力を介して提供される）を受信した後に行ってもよいし、またはそのような確認なしで行ってもよい。確認を含む構成において、確認は、数ある中でも、要求の受信を確認することができ、および／またはメンテナンスの完了を確認することができる。
【００９１】
[0094]  いずれの場合も、クラウドは、メンテナンス要求に含まれる情報のうちのいくつかまたは全てを含むメンテナンスイベントの記録を記憶することができる。例えば、メンテナンスイベントは、メンテナンス要求に含まれていたメンテンナスの詳細を含むことができる。別の例では、クラウドは、メンテナンス時点を要求時点として指定することができる。代替的に、クラウドは、メンテナンス時点を、確認が送信される（または受信される）時点、または入力を介した確認において示される時点として指定することができる。更に、確認時に、要求において提案されたメンテナンスの詳細に対する変更を示す入力が受信される場合がある。例えば、特定のコンポーネントのためのメンテナンスが、結果として、提案された調節と異なる特定の調節を含むことになる場合がある。このため、入力は、メンテナンスイベント時に含まれる実際のメンテナンスの詳細を示す確認の一部として（または確認と別個に）受信することができる。一方、特定のコンポーネントのメンテナンスは、必ずしも、メンテナンス要求に応答して行われる必要はなく、クラウドは、対応するメンテナンス要求なしであってもメンテナンスイベントを記録することができることに留意されたい。
【００９２】
[0095]  そのような構成を用いて、クラウドは、クラウドと通信する様々なロボットシステムのためのメンテナンスイベントを決定することができ、おそらく、各そのようなメンテナンスイベントに対応するメンテナンス時間を記憶することができる。他の構成も可能である。
【００９３】
[0096]  ブロック５０８によって示されるように、方法５００は次に、性能データに基づいて、少なくとも１つの検出メトリクスと異なる１つ以上の他のメトリクスにおいて複数のメンテナンスイベントのうちの少なくとも１つが生じると決定することを含む。そしてブロック５１０によって示されるように、方法５００は次に、決定することに応答して、少なくとも１つの検出メトリクスと１つ以上の他のメトリクスとの間の差異に基づいて少なくとも１つの検出メトリクスを調整することを含む。
【００９４】
[0097]  複数のロボットシステムのための記憶された性能データおよび記憶されたメンテナンスイベントを与えられると、クラウドは、性能データとメンテナンスイベントとの間の関係を決定および／または解析するように構成することができる。例えば、クラウドは、記憶されたメンテナンス時点、および性能データにおける１つ以上のメトリクスの対応する時点を用いて、メトリクスとメンテナンスイベントとの間の関係を判断することができる。例として、クラウドは、対応するロボットシステム動作（例えば、アクチュエータＳ０を用いて特定のトルクを加える）のための１つ以上の特定のメトリクスを検出する閾値持続時間内にある対応するメンテナンス時間においてメンテナンスイベントが行われると決定することができる。この判断に基づいて、クラウドは、そのような特定のメトリクスにおける動作が、その閾値持続時間内に生じるメンテナンスイベントを引き起こす（またはこのメンテナンスイベントに少なくとも部分的に寄与する）と判断することができる。
【００９５】
[0098]  クラウドがそのような関係を判断すると、クラウドは次に、記憶された検出メトリクスと異なる１つ以上のメトリクスにおいて少なくとも１つのメンテナンスイベントが発生すると判断することができる。例として、クラウドは、特定のトルクがアクチュエータＳ０によって加えられたことを検出するのに対応する検出メトリクス（例えば、そのようなトルクはアクチュエータＳ０の摩耗に対応する場合がある）を記憶しておくことができる。このため、クラウドは、そのような検出時にメンテナンス要求を送出することができる。一方、この例において、クラウドは、アクチュエータＳ０の摩耗に対応する少なくとも１つのメンテナンスイベントを決定することができ、そのようなイベントが、特定のトルクと異なるトルクにおいて動作しているアクチュエータＳ０の閾値持続時間内に行われると判断することができる。この異なるトルクは、数ある可能性のある差異の中でも、少なくとも閾値量だけ特定のトルクと異なることができる。
【００９６】
[0099]  それとは関係なく、そのような判断に基づいて、クラウドは、検出メトリクスが、１つ以上のメトリクスと、記憶された検出メトリクスとの間の差異に基づいて調節されるべきであることを判断することができる。例えば、クラウドは、メンテナンス要求をトリガする加えられたトルクを調節することによって、検出メトリクスを調節することができる。特定の調節は、メンテナンス要求をトリガすることになる加えられるトルクを、問題となっている全てのトルクの平均として設定することを含むことができる。一方、他の例示的な調節も可能である。
【００９７】
[00100]  いくつかの実施態様では、クラウドは、記憶された検出メトリクスと異なる１つ以上のメトリクスにおいて（単一のメンテナンスイベントではなく）少なくとも閾値数のメンテナンスイベントが生じると決定することに応答して、そのような調節を行うことができる。特に、クラウドは、そのような異なるメトリクスにおいて生じるメンテナンスイベントの数（例えば、６）を求めることができる。そのような様々なイベントに対応するメトリクスは、互いに対し異なることもできるし、同じとすることもできる。例えば、メトリクスは、記憶された検出メトリクスに対応する特定のトルクと全て実質的に異なる様々なトルクを含むことができる。いずれの場合であっても、クラウドは次に、そのようなメトリクスにおいて生じるメンテナンスイベント数が閾値数（例えば、６）を超えていると判断することができ、それに応答して検出メトリクスを調整することができる。一方、そのようなメンテナンスイベントが閾値数を超えていない場合、クラウドは、検出メトリクスに対する調節を行わない場合がある。他の実施態様も可能である。
【００９８】
[00101]  例えば、１つ以上のメトリクスと検出メトリクスとの間の判断された差異の例を提供するための様々な事例が以下に論考される。更に、様々な事例は、例えば、そのような判断された差異に応答して行うことができる検出メトリクスに対する調節も提供することができる。様々な事例が提供されるが、様々な事例は限定であるとみなされるべきでなく、他の事例（および提供された事例に対する変形形態）も可能である。
【００９９】
[00102]  １つの事例では、上述したように、検出メトリクスは、特定のコンポーネントの故障を検出することに対応することができる。特に、クラウドは、特定のコンポーネントの故障に対応する性能データにおける値（または値の組み合わせ）を検出することができる。この事例では、クラウドは、少なくとも１つのメンテナンスイベントが特定のコンポーネントの故障に対応すること、および記憶されたメトリクスと異なる１つ以上のメトリクスにおいて少なくとも１つのメンテナンスイベントが生じることを決定することができる。記憶されたメトリクスと異なる場合、メンテンナンス要求がトリガされる。
【０１００】
[00103]  例として、クラウドは、特定のロボットシステムにおけるタイミングベルト２２８の故障に対応する少なくとも１つのメンテナンスイベントを決定することができる。また、クラウドは、特定のロボットシステムにおけるアクチュエータＳ０が、故障の前に特定の速度で動作したと判断することができる。この例において、クラウドは、そのような特定の速度における動作が故障を引き起こした可能性があると判断する場合がある。その後、クラウドは更に、記憶された検出メトリクスがいずれも、この特定の速度での動作を検出することに対応していないと判断する場合があり、これに応答してメンテナンス要求を送信する。
【０１０１】
[00104]  このため、クラウドは、この特定の速度における動作を検出することに対応する新たな検出メトリクスを生成し、これによって、メンテナンス要求を送信するための追加のトリガを（例えば、他の記憶されたメトリクスに加えて）提供することができる。代替的に、クラウドは、メンテナンス要求が、他のメトリクスの検出に応答するのではなく、この特定の速度での動作に応答して送信されるように、記憶された検出メトリクスを調整することができる。他の例も可能である。
【０１０２】
[00105]  別の事例では、上述したように、検出メトリクスは、特定のコンポーネントの摩耗が閾値摩耗度を超えたことを検出することに対応することができる。この事例では、クラウドは、特定のコンポーネントが、記憶された閾値摩耗度と実質的に異なる特定の度合いの摩耗を受けているときに少なくとも１つのメンテナンスイベントが生じると決定することができる。そのような決定に応答して、クラウドは、例えば、判断された特定の摩耗度に基づいて、メンテナンス要求をトリガする閾値摩耗度を調整することができる。
【０１０３】
[00106]  例として、上述したように、クラウドは、タイミングベルト２２８の経時的な張力の測定値に関係するデータを受信することができる。この例において、クラウドは、タイミングベルト２２８の閾値摩耗度に対応する特定の閾値張力を表す値を記憶しておくことができる。したがって、クラウドは、タイミングベルト２２８の張力が閾値張力未満であると判断することができ、それに応答して、タイミングベルト２２８のためのメンテナンス要求を送信することができる。この例では、クラウドは、タイミングベルト２２８が閾値張力を超える特定の測定値の張力を受けているときに少なくとも１つのメンテナンスイベントが生じると決定することができる。これに応答して、クラウドは、この特定の測定値の張力に基づいて閾値張力を調整することができる。例えば、クラウドは、（ｉ）メンテナンス要求をトリガする張力の記憶された測定値、および（ｉｉ）問題となっている張力の特定の測定値、の加重平均を求めることができる。この実例において、クラウドは、加重平均を調節された閾値張力として設定することができる。他の例も可能である。
【０１０４】
[00107]  更に別の例において、上述したように、検出メトリクスは、特定のコンポーネントが、閾値持続時間を超えているかまたは超えようとしている持続時間にわたって、特定のコンポーネントの寿命を超えて動作していることを検出することに対応することができる。この場合、クラウドは、特定のコンポーネントが、記憶された閾値持続時間と実質的に異なる特定の持続時間にわたって動作したときに、少なくとも１つのメンテナンスイベントが生じると決定することができる。そのような決定に応答して、クラウドは、決定された特定の持続時間等に基づいて、メンテンナンス要求をトリガする閾値持続時間を調節することができる。
【０１０５】
[00108]  例として、上述したように、クラウドは、アクチュエータＳ０の寿命が５００，０００時間の動作時間であることを示すユーザ入力を受信することができる。クラウドが、特定のコンポーネントが、閾値持続時間を超えている（例えば、アクチュエータＳ０の５００，００１時間の動作時間）または超えようとしている（例えば、アクチュエータＳ０の４９９，９９９時間の動作時間）持続時間にわたって動作したと判断する場合、これに応答してメンテナンス要求を送信することができる。この例において、クラウドは、少なくとも１つのメンテナンスイベントが、特定のロボットシステムにおいて７００，００００時間の動作時間後のアクチュエータＳ０の故障に対応すると決定することができる。そのような決定に応答して、クラウドは、このメンテナンスイベントに基づいてアクチュエータＳ０の予測寿命を調節することができる。例えば、クラウドは、記憶された寿命の平均（例えば、５００，０００時間の動作時間）および問題となっているメンテナンスイベントに関連付けられた寿命（例えば、７００，０００時間の動作時間）の平均を求めることができる。次に、クラウドは、この平均（例えば、６００，０００時間の動作時間）を、調節された閾値持続時間として設定し、そしてこの閾値持続時間によりメンテナンス要求がトリガされる。他の例も可能である。
【０１０６】
[00109]  更に別の事例では、上述したように、検出メトリクスは、特定の動作値（またはある値集合内にある特定の動作値）における特定のコンポーネントの動作を検出することに対応することができる。この事例では、クラウドは、１つ以上の他の動作値における特定のコンポーネントの動作によって少なくとも１つのメンテナンスイベントが生じると決定することができる。更に、クラウドは、これらの他の動作値が、特定の動作値から少なくとも閾値量だけ異なる（例えば、統計的外れ値）と判断することができる。それに応答して、クラウドは、メンテナンス要求をトリガする特定の動作値を調整することができる。例えば、調節は、特定の動作値および１つ以上の他の動作値の加重平均を求めることを含むことができる。クラウドは、次に、この加重平均を、調節された特定の動作値として設定することができる。
【０１０７】
[00110]  例として、上述したように、クラウドは、アクチュエータＳ０の潜在的な摩耗（または故障）に対応する特定のトルクを記憶しておくことができる。結果として、クラウドは、特定のロボットシステムにおけるアクチュエータＳ０がこの特定のトルクを加えているときを判断することができ、次に、これに応答して、メンテナンス要求を送信することができる。この例において、クラウドは、アクチュエータＳ０が記憶された特定のトルクと異なる別のトルクを加えた後に、少なくとも１つのメンテナンスイベントが生じると決定することができる。それに応答して、クラウドは、他のトルクが加わったことを検出するのに応答してメンテナンス要求が更に（または代替的に）送信されるように検出メトリクスを調整することができる。代替的に、クラウドは、特定のトルクおよび他のトルクの加重平均を求めることができ、加重平均を、メンテナンス要求をトリガする調整された特定のトルクとして設定することができる。他の例も可能である。
【０１０８】
[00111]  更なる態様において、上述したように、検出メトリクスは、特定の動作値において異なるコンポーネント（例えば、特定のコンポーネントに関連付けられている）の動作を検出することに対応することができ、そのような検出の結果として、特定のコンポーネントのためのメンテナンス要求を行うことができる。この態様において、クラウドは、少なくとも１つのメンテナンスイベントが、１つ以上の他の動作値における異なるコンポーネントの動作によって生じると決定することができる。更に、クラウドは、この１つ以上の他の動作値が、特定の動作値と少なくとも所定の量だけ異なると判断することができる。それに応答して、クラウドは、１つ以上の他の動作値等に基づいて、特定のコンポーネントのためのメンテンス要求をトリガする特定の動作値を調節することができる。他の態様も可能である。
【０１０９】
[00112]  更に別の事例では、上述したように、検出メトリクスは、特定のコンポーネントの性能の閾値変化を検出することに対応することができる。特に、クラウドは、第１の値における特定のコンポーネントの動作を検出することができる。その後、クラウドは、第１の値における動作から第２の値における動作への特定のコンポーネントの動作の変化を検出することができる。この構成では、クラウドは、閾値変化を超える変化を判断することができ、それに応答して、メンテンス要求を送信することができる。
【０１１０】
[00113]  この事例では、クラウドは、特定のコンポーネントの性能の異なる変化に起因して少なくとも１つのメンテナンスイベントが生じると決定することができ、異なる変化は、閾値変化と実質的に異なる。それに応答して、クラウドは、問題となっているメンテナンスイベントに関連付けられた性能の変化等に基づいて、メンテナンス要求をトリガする閾値変化を調節することができる。例えば、クラウドは、数ある可能性の中でも、この異なる変化を、調節された閾値として設定することができる。
【０１１１】
[00114]  例として、上述したように、クラウドは、アクチュエータＳ０の最大出力トルク（例えば、アクチュエータＳ０が加えることが可能な最大トルク）に関連するデータを受信することができる。更に、クラウドは、アクチュエータＳ０の最大出力トルクにおける閾値変化を表す少なくとも１つの値を記憶しておくことができる。この値は、アクチュエータＳ０の摩耗または故障の何らかの程度を示すものとしての役割を果たすことができる。この例では、クラウドは、アクチュエータが第１の最大出力トルクを有することを検出することができる。その後、（例えば、後の時点において）クラウドは、（ｉ）アクチュエータＳ０が第１の最大出力トルクを加えることができる状態から、（ｉｉ）アクチュエータＳ０が第２の最大出力トルクを加えることができる状態への、最大出力トルクの変化（例えば、減少）を検出することができる。クラウドは、この変化が閾値変化を超えている（例えば、最大出力トルクにおける閾値減少）と判断することができ、これに応答してメンテナンス要求を送信することができる。
【０１１２】
[00115]  この例において、クラウドは、少なくとも１つのメンテナンスイベントが、記憶された閾値変化を超えていない最大出力トルクの変化によって生じると決定することができる。例えば、クラウドは、（ｉ）アクチュエータＳ０が第１の最大出力トルクを加えることができる状態から、（ｉｉ）アクチュエータＳ０が第２の最大出力トルクよりも高い第３の最大出力トルクを加えることができる状態への、最大出力トルクの異なる変化（例えば、減少）を検出することができる。結果として、クラウドは、この異なる変化に基づいて閾値変化を調節することができる。例えば、クラウドは、この異なる変化を、メンテナンス要求をトリガする調節された閾値変化として設定することができる。他の例も可能である。
【０１１３】
[00116]  更なる態様において、上述したように、検出メトリクスは、特定のコンポーネントに関連付けられた異なるコンポーネントの性能の閾値変化を検出することに対応することができる。この態様において、クラウドは、異なるコンポーネントの性能の異なる変化に起因して少なくとも１つのメンテナンスイベントが生じると決定することができ、異なる変化は、閾値変化と実質的に異なる。それに応答して、クラウドは、問題となっているメンテナンスイベントに関連付けられた性能の変化等に基づいて、特定のコンポーネントのためのメンテナンス要求をトリガする閾値変化を調節することができる。例えば、クラウドは、数ある可能性の中でも、この異なる変化を、調節された閾値として設定することができる。他の態様も可能である。
【０１１４】
[00117]  更に別の事例では、上述したように、検出メトリクスはロボットシステムの１つ以上の特定の動きを検出することに対応することができる。特に、クラウドは、ロボットシステムの１つ以上の可動コンポーネントの１つ以上の特定の動きに関係する情報を記憶しておくことができる。そのような特定の動きの結果として、特定のコンポーネントの特定の程度の摩耗または特定のコンポーネントの故障が生じる場合がある。クラウドが、特定のロボットシステムがこれらの特定の動きを実行したと判断する場合、クラウドは、特定のコンポーネントのためのメンテナンス要求を送出することができる。
【０１１５】
[00118]  この事例では、クラウドは、少なくとも１つのメンテナンスイベントが１つ以上の他のロボットシステムの動きによって生じると決定することができる。これに応答して、クラウドは、メンテナンス要求が、（１つ以上の特定の動きを検出することに応答するのではなく）１つ以上の他のロボットシステムの動きの検出に応答して送信されるように検出メトリクスを調節することができる。代替的に、クラウドは、１つ以上の他のロボットシステムの動きの検出に対応する新たな検出メトリクスを生成することができる。このようにして、クラウドは、１つ以上の特定の動きを検出することに応答して、および１つ以上の他のロボットシステムの動きを検出することに応答して、メンテナンス要求を送信することができる。
【０１１６】
[00119]  いくつかの事例では、検出メトリクスは、コンピューティングデバイスを介して受信されたユーザ入力等、クラウドによって受信される入力に基づいて調節することができる。そのような入力は、検出メトリクスに対する特定の調節を指定し、および／または１つ以上の新たな検出メトリクスを指定することができる。例えば、入力は、別のトルクにおけるアクチュエータＳ０の動作の検出に応答してメンテナンス要求を送信するのではなく、特定のトルクにおけるアクチュエータＳ０の動作の検出に応答してメンテナンス要求が送信されるべきであると指定することができる。別の例では、入力は、データベース１１０にまだ記憶されていない１つ以上のロボットシステムの動作の検出に応答してメンテナンス要求が送信されるべきであると指定することができる。他の例および事例も可能である。
【０１１７】
[00120]  ブロック５１２に示すように、方法５００は、複数のロボットシステムの中から、少なくとも１つの調節された検出メトリクスに対応する特定のロボットシステムの後続の動作を検出し、それに応答して、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求することを含む。
【０１１８】
[00121]  検出メトリクスが調節されると、特定のロボットが調節された検出メトリクスで動作するときを判断するために、性能データを用いるようにクラウドを設定することができる。クラウドが、特定のロボットシステムが調節された検出メトリクスで動作すると判断する場合、クラウドは、特定のロボットシステムにおける特定のコンポーネントのためのメンテナンスを要求するメンテナンス要求を送出することができる。このメンテナンス要求は、様々な形態のうちの１つをとることができる。
【０１１９】
[00122]  例示的な実施態様において、クラウドは、メンテンスが要求される特定のロボットシステムに関連付けられたコンピューティングデバイスにメッセージを送信することができる。このコンピューティングデバイスは、数ある中でも、特定のロボットシステムに結合されたモバイルデバイス、タブレット、ラップトップまたはコンピュータとすることができる。更に、メッセージは、数ある中でも、ショートメッセージサービス（SMS）、電子メール、またはコンピューティングデバイスのグラフィカルユーザインタフェース（GUI）上に表示されている通知の形態をとることができる。
【０１２０】
[00123]  この実施態様において、メッセージは、メンテナンス要求に関連する情報を含むことができる。例えば、メッセージは、メンテナンスが要求される特定のコンポーネントを示すことができ、メンテナンス要求の時点を示すことができ、および／または特定のコンポーネントのためのメンテナンスを実行することに関連する命令を含むことができる。１つの事例において、そのような命令は、特定のコンポーネントの交換を指定することができる。別の例では、命令は、特定のコンポーネントに対する１つ以上の特定の調節を指定することができる。更にまたは代替的に、命令は、特定のコンポーネントに関連付けられた異なるコンポーネントへの１つ以上の特定の調節を指定することができる。
【０１２１】
[00124]  更なる態様において、メッセージは、メンテンナンス要求につながる特定のコンポーネントの性能データのスナップショットを含むことができる。このスナップショットは、数ある可能性の中でも、グラフの形態またはデータテーブルの形態をとることができる。特に、このスナップショットは、メンテンナンス要求につながるロボットシステムの動作を表すことができる。このようにして、ユーザは、メンテナンス要求につながるデータを解析することができ、任意の追加のメトリクスが、特定のコンポーネントの摩耗または故障に寄与した場合があるか否かを判断することができる。また、そのようなスナップショットは、メッセージを伴うかまたは伴うことなくコンピューティングデバイスを介してアクセス可能とすることができることに留意されたい。
【０１２２】
[00125]  また別の態様では、上記の技法は、ロボットシステムの動作パラメータの調節のための基礎として用いることもできる。例えば、システムは、他の動作パラメータがメンテナンスイベントに対応していないことを検出する一方で、特定の動作パラメータがメンテナンスイベントに対応することを検出する場合がある。この構成により、システムは、特定のロボットシステムが、通常、メンテナンスイベント（例えば、摩耗または故障）につながらないパラメータにおいて動作するように特定のロボットシステムの動作に対する調節を行うことができる。このようにして、ロボットシステムの動作効率および／または寿命を増大させることができる。例として、運動制約は、ロボットシステムが、メンテナンスイベントにつながらない特定の動きに動きを制限するように調節することができる。別の例では、コントローラ利得は、エンコーダから受信したデータにおける振動に基づいて調整することができる。他の例も可能である。
【０１２３】
[00126]  更に、上述したように、システムは、経時的にロボットシステムの状態を表すモデルを提供することができる。これらのモデルは、上述したパラメータを展開し、設計および用途の未来の展開を検討するために用いることができる。例として、摩擦特性および負荷／構成に依拠した理想的でない検討事項等のパラメータについてモデルを生成することができる。これらのモデルは、次に、パラメータの調節を決定するために、および未来のロボットシステムの展開のために用いることができる。例えば、複数のロボットシステムのための経時的な摩擦特性の評価は、メンテナンスイベントに対応しない摩擦特性を有するようにロボットシステムを設計すること等によって、未来のロボットシステムの設計を支援することができる。他の例も可能である。
【０１２４】
ＩＶ．結論
[00127]  本開示は、種々態様の例示を意図した本願に記載の特定の実施形態の観点で限定されるものではない。当業者には明らかなように、その主旨および範囲から逸脱することなく、多くの改良および変形が可能である。以上の説明から、本明細書に列挙したものに加えて、本開示の範囲内の機能的に均等な方法および装置が当業者には明らかとなるであろう。このような改良および変形は、添付の特許請求の範囲に含まれることが意図される。
【０１２５】
[00128]  上記詳細な説明は、添付の図面を参照しつつ、開示のシステム、装置、および方法の様々な特徴および機能を記述している。図中、文脈上の別段の指示のない限り、類似の記号は通常、類似の構成要素を識別している。本明細書および図面に記載の例示的な実施形態は、限定的であることを意図していない。本明細書に提示の主題の主旨または範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。本明細書に概説するとともに図面に示す本開示の態様は、多種多様な異なる構成に配置、置換、組み合わせ、分離、および設計可能であることが容易に了解され、その全てを本明細書において明示的に検討している。
【０１２６】
[00129]  図面に示す特定の構成は、限定的に捉えるべきではない。他の実施形態においては、所与の図面に示す各要素を増やすことも減らすことも可能であることが理解されるべきである。更に、図示の要素の一部は、組み合わせまたは省略可能である。更に、例示的な一実施形態は、図面に示していない要素を含み得る。
【０１２７】
[00130]  本明細書において様々な態様および実施形態を開示したが、当業者には他の態様および実施形態が明らかとなるであろう。本明細書に開示される様々な態様および実施形態は、例示を目的としており、限定的であることを意図しておらず、真の範囲は以下の特許請求の範囲によって示される。
【図１】
0006523480.tif 000002
【図２Ａ】
0006523480.tif 000003
【図２Ｂ】
0006523480.tif 000004
【図３】
0006523480.tif 000005
【図４】
0006523480.tif 000006
【図５】
0006523480.tif 000007