(57)【要約】【課題】リモート通知のために利用可能なデータをカスタマイズする能力を提供すると同時に、リモートサーバを必要とせずに確実にデータを記憶および通信可能な、ローカライズされた顧客サーバを提供することが望ましい。【解決手段】ロボット関連データを監視して分析し、データをスマートデバイス上に表示するためのロボット監視システム１０が提供される。ロボット監視システム１０は、ロボットコントローラ４０とローカル通信しているロボット２０を備える。ロボットコントローラ４０は、ロボッ２０に関するデータを監視し収集し分析するローカル処理能力を有する。データ分析結果が、ストレージシステム５０に通信されるメッセージファイルにフォーマットされる。メッセージファイルは、データの分析結果を表示するためにスマートデバイス１２上で動作するソフトウェアを有する、スマートデバイス１２によって検索されて取り出される。【選択図】図１
2014050951.tif 000002
【特許請求の範囲】
【請求項１】
ロボット関連データを監視および分析し、前記データをスマートデバイス上で表示するためのロボット監視システムであって、
少なくとも１つのロボットと、
前記少なくとも１つのロボットと通信する少なくとも１つのロボットコントローラと、を備え、
前記少なくとも１つのロボットコントローラは、ローカル処理能力を有し、かつ、前記少なくとも１つのロボットの状態を判定するために前記ロボット関連データを監視および分析するように構成されており、
前記少なくとも１つのロボットコントローラは、前記少なくとも１つのロボットの状態をストレージシステムに通信するための通信デバイスをさらに有し、
前記ストレージシステムは、電子メールサーバシステム、リモートストレージシステム、および、前記少なくとも１つのロボットコントローラのローカル記憶装置の少なくとも１つである、ロボット監視システム。
【請求項２】
前記少なくとも１つのロボットコントローラ上で動作する少なくとも１つのソフトウェアアプリケーションが、前記少なくとも１つのロボットの状態を判定するために前記ロボット関連データを収集および分析し、
前記少なくとも１つのソフトウェアアプリケーションは、前記少なくとも１つのロボットの状態を、前記ロボットコントローラから前記ストレージシステムに通信するために起動され得るトリガをさらに定義する、請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのソフトウェアアプリケーションは、
前記少なくとも１つのロボットの状態をメッセージファイルとして通信するために、前記ロボット関連データの分析結果をフォーマットし、
プッシュ通知プロトコルを用いてアラート通知を前記スマートデバイスに送信するべきか否かを判定するために、前記メッセージファイルを調べる、請求項２に記載のシステム。
【請求項４】
前記少なくとも１つのソフトウェアアプリケーションは、固有のプロトコルを用いて前記少なくとも１つのロボットの状態をメッセージファイルとして通信するために、前記ロボット関連データの分析結果をフォーマットする、請求項２に記載のシステム。
【請求項５】
前記固有のプロトコルは、複数のノードの形にフォーマットされている前記データの分析結果を含み、
全てのノードは、ＩＤ名と、サブノード構造内に履歴データを格納する機能とを有し、
指定されたデータを参照するように添付ファイルを構成するためのファイルタグノードが設けられる、請求項４に記載のシステム。
【請求項６】
前記メッセージファイルは、前記データ分析結果に添付して該データ分析結果と共に送信するための追加のデータファイルをさらに含む、請求項４に記載のシステム。
【請求項７】
前記少なくとも１つのロボットコントローラは、教示ペンダントとローカル通信し、
前記教示ペンダントは、トリガリングイベントをカスタマイズするための、前記教示ペンダント上で動作する少なくとも１つのソフトウェアアプリケーションを有し、
前記トリガリングイベントは、前記少なくとも１つのロボットの状態を前記ストレージシステムに通信すべき旨を示す、請求項１に記載のシステム。
【請求項８】
前記ストレージシステムは、電子メールサーバシステムであり、
前記少なくとも１つのロボットコントローラは、電子メールメッセージファイルの形式で前記ロボットの状態を通信するためのメールクライアントとして機能し、
前記電子メールメッセージファイルは、電子メール検索サーバによって受信され、
前記電子メール検索サーバは、前記電子メールメッセージファイルを分類し、該電子メール検索サーバの記憶装置内に配置されている適切なメールボックスに格納するように構成されている、請求項１に記載のシステム。
【請求項９】
前記電子メール検索サーバは、プッシュ通知プロトコルを用いてアラート通知を前記スマートデバイスに送信するべきか否かを判定するために、前記電子メールメッセージファイルを調べる、請求項８に記載のシステム。
【請求項１０】
前記スマートデバイスは、該スマートデバイス上で動作するスマートデバイスアプリケーションを有し、該スマートデバイスアプリケーションは、前記少なくとも１つのロボットの状態をメッセージファイルの形式で受信するように構成され、
前記メッセージファイルは、前記メッセージファイル内に含まれている前記ロボット関連データの構造および内容に基づいてカテゴリに分類されて、前記スマートデバイスの記憶装置に格納され、前記スマートデバイスの前記記憶装置内のロボット関連データのデータベースを生成する、請求項１に記載のシステム。
【請求項１１】
前記スマートデバイスは、前記スマートデバイスのユーザに対して前記少なくとも１つのロボットの状態を視覚的に通信するためのディスプレイをさらに有し、
前記ディスプレイは、表示を生成し、該表示は、前記カテゴリに基づいて提示され、前記スマートデバイスアプリケーションは、前記ロボット関連データを該カテゴリに格納する、請求項１０に記載のシステム。
【請求項１２】
ロボット関連情報を監視し、分析し、スマートデバイス上に表示するための方法であって、
ローカル処理能力を有する少なくとも１つのロボットコントローラと通信する少なくとも１つのロボットを提供するステップと、
前記少なくとも１つのロボットコントローラの前記ローカル処理能力を使用して、前記少なくとも１つのロボットに関するロボット関連データを監視し、収集し、分析するステップと、
メッセージファイルを形成するために前記ロボット関連データの分析結果をフォーマットおよびパッケージ化するステップと、
前記メッセージファイルをストレージシステムに通信するステップであって、該ストレージシステムは、電子メールサーバシステム、リモートストレージシステム、およびローカルストレージシステムのうちの少なくとも１つである、ステップと、
前記メッセージファイルを前記ストレージシステムから前記スマートデバイスに通信するステップと、を備える、方法。
【請求項１３】
前記メッセージファイルの形成は、前記ロボット関連データの分析結果をフォーマットすることを含む、請求項１２に記載の方法。
【請求項１４】
前記ロボット関連データの分析結果は、固有のプロトコルを使用してフォーマットされ、
前記固有のプロトコルは、複数のノードの形にフォーマットされている、前記ロボット関連データの分析結果を含み、
全てのノードは、ＩＤ名と、サブノード構造に履歴データを格納する機能とを有し、
指定されたデータを参照するように添付ファイルを構成するためのファイルタグが設けられる、請求項１３に記載の方法。
【請求項１５】
トリガリングイベントをカスタマイズするステップをさらに備え、
前記トリガリングイベントは、前記少なくとも１つのロボットコントローラによって前記ロボット関連データを監視し、収集し、分析すべき旨を示し、
前記トリガリングイベントをカスタマイズするステップは、前記少なくとも１つのロボットコントローラとローカル通信する教示ペンダント上で動作する少なくとも１つのソフトウェアアプリケーションを使用して実行される、請求項１２に記載の方法。
【請求項１６】
前記メッセージファイル内に含まれている前記ロボット関連データの分析結果を、デコードし、分類し、格納するステップをさらに備え、
前記ロボット関連データは、前記スマートデバイス上で動作するスマートデバイスアプリケーションによって、デコードされ、
前記スマートデバイスアプリケーションは、前記メッセージファイル内に含まれている前記ロボット関連データの構造および内容に基づいて、前記ロボット関連データの分析結果をカテゴリに分類し、
前記ロボット関連データは、前記ロボット関連データの前記カテゴリに基づいて、前記スマートデバイスの記憶装置内に格納される、請求項１２に記載の方法。
【請求項１７】
前記スマートデバイスは、
電子メール内容および添付ファイル、
短距離通信リンクを経由したロボットコントローラ記憶装置、および、
リモートストレージシステム上に格納されているファイル
の内の少なくとも１つを介して、前記メッセージファイル内に含まれている前記ロボット関連データの分析結果を読み取る、請求項１２に記載の方法。
【請求項１８】
前記ストレージシステムは、プッシュ通知のためのスマートデバイスプロトコルを介して緊急アラートが前記スマートデバイスに送信されるか否かを判定するために、前記メッセージファイルを調べる、請求項１２に記載の方法。
【請求項１９】
前記ストレージシステムは、緊急アラートを、スマートデバイスサプライヤ機構を介して、割り当てられたユーザスマートデバイスに送信するために、全ての割り当てられたユーザスマートデバイスを判定すべく、受信された前記ファイルメッセージを調べる、請求項１２に記載の方法。
【請求項２０】
前記ロボットコントローラは、プッシュ通知のためのスマートデバイスプロトコルを介して緊急アラートを前記スマートデバイスに送信すべきか否かを判定するために、前記メッセージファイルを調べる、請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その開示内容全体が本明細書中に参照として援用されている、２０１２年９月７日付けで出願された、米国仮特許出願第６１/６９８，０８１号明細書に対して優先権を請求する。
【０００２】
本発明は、ロボット関連情報を監視/分析して、ロボット情報表示をスマートデバイス（ｉＰｈｏｎｅ、ｉＰｏｄ、Ａｎｄｒｏｉｄ、ＰＣ、または、他のこうしたタイプのデバイス）上で生成するためのシステムと方法とに関する。
【背景技術】
【０００３】
産業用途におけるロボットシステムの使用が、こうしたシステムのプログラミングと操作と保守点検における複雑性のために、ロボットと他の関連構成要素との綿密な監視を必要とすることが多い。例えば、ロボットシステムのオペレータは、そのロボットシステムと共に使用する各々のロボットまたは構成要素の現在の状態、ロボットシステムの生産状態、工程情報の要約、および、診断情報を含む、ロボットシステムに関する情報に対する連続的なアクセスを必要とするだろう。
【０００４】
多くの具体例では、こうしたロボットシステムのオペレータは、単一のカスタマーサイト（ｃｕｓｔｏｍｅｒ  ｓｉｔｅ）内の、または、さらには複数のカスタマーサイトの全体にわたっての、様々な異なる場所に分散した幾つかの異なる独立したロボットシステムを担当しているだろう。したがって、例えば携帯電話またはラップトップコンピュータのような携帯型スマートデバイスを使用してこうしたロボットシステムを監視することが可能であることが有利である。
【０００５】
複数のロボットシステムとその中に含まれている構成要素とを常に監視する能力が、こうしたロボットシステムを操作する際の効率を大きく向上させる。ロボットシステム内の各ロボットの現在状態または生産状態に関する詳細な情報が入手可能であることが、そのロボットシステムのオペレータが、より迅速でより情報に基づいた決定を行うことを可能にする。さらに、各ロボットの状態に関する最新情報が、はるかに能率的かつ時間効率的な形でオペレータが定型業務または不測の保守点検をスケジュール設定することを可能にする。
【０００６】
ロボット関連情報を監視および表示するためのシステムが当業で公知である。例えば、標題「ロボットのためのリモート診断システム（Ｒｅｍｏｔｅ  Ｄｉａｇｎｏｓｔｉｃ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｒｏｂｏｔｓ）」の特許文献１と、標題「予防的保守点検のためのインテリジェント状態監視および故障診断システム（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｃｏｎｄｉｔｉｏｎ  Ｍｏｎｉｔｏｒｉｎｇ  ａｎｄ  Ｆａｕｌｔ  Ｄｉａｇｎｏｓｔｉｃｓ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｐｒｅｖｅｎｔｉｖｅ  Ｍａｉｎｔｅｎａｎｃｅ）」の特許文献２の各々が、ロボットシステムをリモートで監視する方法を開示している。
【０００７】
特許文献１は、少なくとも２つのロボットを含むロボットのためのリモート診断システムを説明し、このシステムでは、このシステムの各ロボットのコントローラが、ローカル処理能力を備えるサービスユニットにローカルで接続されている。リモートサービスセンタがコネクタサーバと、リモートサービスセンタにおいてリモート監視とリモート診断とを行うためにサービスユニットを経由してロボットコントローラとコネクタサーバとの間で情報パケットを送信するための通信インフラストラクチャとを備えている。この通信インフラストラクチャは、インターネットおよび／またはＧＰＲＳ（汎用パケット無線サービス）通信ラインを使用する。
【０００８】
特許文献２は、１つまたは複数の構成要素に関する選択された変数の時刻歴を取得するためのデータ収集機能と、その時刻歴の指定された特徴を計算するための予処理機能と、１つまたは複数の構成要素の状態の１つまたは複数の仮説を生成するために特徴を評価するための分析機能と、１つまたは複数の仮説からその１つまたは複数の構成要素の状態を判定するための推論機能とを含む、状態監視および故障診断のためのシステムを説明している。このシステムでは、機能コントローラが、リモートサーバに対する様々な通信方法によって、ロボットコントローラからデータパケットを収集する。
【０００９】
従来技術のロボット監視システムは幾つかの欠点を有する。特許文献１のシステムのサービスユニットは、関連付けられたロボットからデータを収集するために必要とされる。概念的には、このサービスユニットは、そのデータのマスタとして機能し、および、ロボットコントローラ（スレーブ）からのデータを要求する。リモートサービスセンタは、分析を行うために利用される。このことは、多くの場合に、独立したサードパーティのリモートサーバの使用を必要とする。したがって、このロボットシステムのユーザは、このロボットシステムを監視するために使用されるサーバを直接的にコントールできない。同様に、特許文献２のシステムは、データを収集して分析するために複数のコントローラを必要とし、および、この場合も同様に、分析を行うためにリモートサーバが使用される。対照的に、データを収集して分析するためのローカルサーバの使用が、顧客とローカルサーバ所有者とがそのデータをコントロールすることと、このデータに対するアクセスを監視しコントロールすることとを可能にする。
【００１０】
さらに、多くの事例において、従来技術のロボット監視システムが、サードパーティによってコントロールされたリモートサーバに依存するので、このシステムによって監視されているロボット関連データのタイプを顧客がカスタマイズすることが不可能である。このタイプの柔軟性がないシステムでは、顧客が特定のタイプの通知を他の通知よりも優先させることが不可能であり、または、そのシステムのオペレータによって重要であると見なされることがある各々の通知を伴う情報を、そのシステムが情報に付加することを不可能にする。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許第８，１２１，７２９号明細書
【特許文献２】米国特許出願公開第２０１１／０１７３４９６号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１２】
したがって、リモート通知のために利用可能なデータのタイプおよび形式をカスタマイズする能力を顧客に提供すると同時に、サードパーティのリモートサーバを必要とせずに安全確実にデータを記憶して顧客に対してそのデータを通信することが可能である、ローカライズされた顧客サーバを提供することが望ましい。
【課題を解決するための手段】
【００１３】
本発明と互換性がありかつ一致している、本発明のシステムと方法とが、スマートデバイスに対して通信されるロボットの状態を判定するためにロボット関連データを監視し収集し分析するためのローカル処理能力を有するローカルロボットコントローラを提供することによって、こうした欠点を克服する。
【００１４】
一実施態様では、ロボット関連データを監視および分析し、該データをスマートデバイス上で表示するためのロボット監視システムは、少なくとも１つのロボットと、少なくとも１つのロボットと通信する少なくとも１つのロボットコントローラとを備える。少なくとも１つのロボットコントローラは、ローカル処理能力を有し、かつ、少なくとも１つのロボットの状態を判定するためにロボット関連データを監視および分析するように構成されている。少なくとも１つのロボットコントローラは、少なくとも１つのロボットの状態をストレージシステムに通信するための通信デバイスをさらに有する。ストレージシステムは、電子メールサーバシステム、リモートストレージシステム、および、少なくとも１つのロボットコントローラのローカル記憶装置の少なくとも１つである。
【００１５】
別の実施態様では、ロボット関連情報を監視および分析してスマートデバイス上に表示するための方法は、ローカル処理能力を有する少なくとも１つのロボットコントローラと通信する少なくとも１つのロボットを提供するステップと、少なくとも１つのロボットコントローラのローカル処理能力を使用して、少なくとも１つのロボットに関するロボット関連データを監視し、収集し、分析するステップと、メッセージファイルを形成するためにロボット関連データの分析結果をフォーマットおよびパッケージ化するステップと、メッセージファイルをストレージシステムに通信するステップであって、該ストレージシステムは、電子メールサーバシステム、リモートストレージシステム、およびローカルストレージシステムのうちの少なくとも１つである、ステップと、メッセージファイルをストレージシステムからスマートデバイスに通信するステップとを備える。
【００１６】
本発明の上記利点と他の利点とが、添付図面を参照しながら検討される時に、以下の好ましい実施形態の詳細な説明から当業者に容易に明らかになるだろう。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明によるロボット監視システムのブロック図である。
【図２】図２は、電子メール通信を使用する、本発明によるシステムのブロック図である。
【図３】図３は、リモートストレージとのインターネット通信を使用する、本発明によるシステムのブロック図である。
【図４】図４は、ローカルストレージシステムとのローカル通信を使用する本発明によるシステムのブロック図である。
【図５Ａ】図５Ａは、本発明によるシステムによって生成される情報ディスプレイを示す。
【図５Ｂ】図５Ｂは、本発明によるシステムによって生成される別の情報ディスプレイを示す。
【図６】図６は、本発明によるロボットシステムを監視する方法の流れ図である。
【発明を実施するための形態】
【００１８】
以下の詳細な説明と添付図面とが、本発明の様々な例示的な実施形態を説明し図解する。この説明と図面は、当業者が本発明を作成および使用することを可能にする役割を果たすが、何らかの形で本発明の範囲を限定することは全く意図されていない。開示されている方法に関しては、説明されている各ステップは例示的なものであり、したがってこれらのステップの順序は、不可欠であるわけではなく、または、必須であるわけではない。
【００１９】
図１から図４を参照すると、本発明は、少なくとも１つのロボット２０の状態を監視し分析してスマートデバイス１２に通信するためのロボット監視システム１０に関する。その次に、このスマートデバイス１２は、少なくとも１つのロボット２０の状態を表示するために使用される。本明細書で使用される場合に、術語「スマートデバイス」は、ブルートゥース、ＮＦＣ、ＷｉＦｉ、３Ｇ、４Ｇ等のような様々なプロトコルによって他のデバイスまたはネットワークに一般的に接続されている電子デバイスを表し、ここの電子デバイスは幾らかは双方向的かつ自律的に動作することが可能であり、同時に、ディスプレイを経由してオペレータに視覚的に情報を通信するための方法も含む。このロボット監視システム１０と共に使用するためのスマートデバイスの例が、携帯電話（Ａｐｐｌｅ  ｉＰｈｏｎｅ、Ａｎｄｒｏｉｄ等）、タブレット（Ａｐｐｌｅ  ｉＰａｄ、Ａｍａｚｏｎ  Ｋｉｎｄｌｅ、Ｇｏｏｇｌｅ  Ｎｅｘｕｓ等）、パーソナルデスクトップコンピュータ、ラップトップコンピュータ、または、他の任意のこうしたデバイスを含む。このロボット監視システム１０は、ストレージシステム５０にロボット状態データを通信する少なくとも１つのロボットコントローラ４０を含み、および、このストレージシステム５０はロボット状態データをスマートデバイス１２に通信する。このストレージシステム５０は、電子メールサーバシステム５２（図２）、リモートストレージシステム５４（図３）、または、ローカルストレージシステム５６（図４）の形態であるだろう。
【００２０】
図１に示されているように、このロボット監視システム１０は、一般的に、少なくとも1つのロボット２０と、この少なくとも1つのロボット２０と通信している少なくとも１つのロボットコントローラ４０とを備える。この少なくとも1つのロボット２０と少なくとも１つのロボットコントローラ４０はカスタマーサイト１（図３）に配置されており、または、特定の場合には、少なくとも１つのロボット２０とこれに関連した少なくとも１つのロボットコントローラ４０は、共通ストレージシステム５０にすべてが通信している複数のカスタマーサイト１に配置されているだろう。カスタマーサイト１は、少なくとも１つのロボット２０と少なくとも１つのコントローラ４０とがその両者の間の通信を確立するためのローカル接続を有する任意のサイトであるだろう。このローカル接続は、典型的には、ケーブルまたは他の直接接続によって生じさせられるが、無線通信を含む、ロボット２０とロボットコントローラ４０との間のローカルデータ通信のあらゆる既知の方法が使用できるということを理解されたい。ロボット２０は、例えば、部品アセンブリ、包装、部品移送、材料除去、溶接、塗装のために使用されるロボット２０を含む、ロボット監視システム１０とロボットコントローラ４０とに適合可能なあらゆる形態のロボットであってよい。
【００２１】
カスタマーサイト１に配置されているロボットコントローラ４０は、少なくとも１つのロボット２０の状態に関するあらゆる関連した情報またはデータを監視し収集し分析するためのローカル処理能力を有するロボットコントローラプロセッサ４２と、この関連したデータを記憶するためのロボットコントローラ記憶装置４４とを備える。このロボットコントローラ４０は、ロボット監視システム１０によって使用されるロボット関連データのマスタとして機能する。ロボットコントローラ４０は、さらに、ロボット関連データの収集と分析とのためにロボットコントローラ４０上で動作する少なくとも１つのローカルソフトウェアアプリケーション６０も備える。この少なくとも１つのローカルソフトウェアアプリケーション６０はロボットコントローラ記憶装置４４内に記憶され、および、ロボットコントローラプロセッサ４２によって実行されるだろう。
【００２２】
このローカルソフトウェアアプリケーション６０は、予め決められたトリガが起動される時にはいつも、または、予め決められたタスクの開始時または完了時に、ロボット関連データに関してロボットコントローラ４０がロボット２０に問い合わせることを生じさせるように構成されているだろう。あるいは、この代わりに、このローカルソフトウェアアプリケーション６０は、ロボット２０によって定義された予め決められたトリガに基づいてロボット２０によってロボットコントローラ４０に対して通信されたあらゆるロボット関連データを、受信し、分析し、この分析結果を記憶するようにも構成されているだろう。少なくとも１つのローカルソフトウェアアプリケーション６０を使用して、ロボットコントローラ４０は、ロボットのモデル、ロボットとその構成要素（ロボットに関連付けられたセンサを含む）の現在の状態、ロボットの現状の生産状態、ロボットが実行するように構成されている工程またはタスクに関するあらゆる情報、および、少なくとも１つのロボット２０の状態を把握することに関連していることがある任意の他の診断情報のような、一般的にロボット２０の状態に関係するデータを収集するだろう。
【００２３】
システム１０は、さらに、ケーブルのような、ロボットコントローラ４０に対するローカル接続を有する、教示ペンダント７０を含むだろう。この教示ペンダント７０は、一般的に、指定されたタスクを行うようにロボット２０をプログラムすることを補助するハンドヘルド型のコントローラおよびプログラミングユニットである。この教示ペンダント７０は、ディスプレイと、この教示ペンダント７０上で動作する任意のソフトウェアアプリケーション７２を操作およびプログラムするためのインタフェースとを含む。この教示ペンダント７０は、ロボット２０およびロボットコントローラ４０と通信するための、この教示ペンダント７０上で動作するソフトウェアアプリケーションを含むだろう。ロボットコントローラ４０によって収集され、受信され、記憶され、または、通信されることがある、あらゆるロボット関連データも、教示ペンダント７０によって、収集され、受信され、記憶され、または、さらに通信されるだろう。
【００２４】
この教示ペンダント７０は、ロボットコントローラ４０上で動作するローカルソフトウェアアプリケーション６０のデータ収集をカスタマイズするために使用されることがある。教示ペンダント７０は、その教示ペンダント７０のオペレータがロボット２０またはロボットコントローラ４０の動作を変更する特定のトリガを指定することを可能にする教示ペンダントプログラミングソフトウェア７２を含むことがある。例えば、教示ペンダント７０のオペレータが、ロボット２０とロボットコントローラ４０と教示ペンダント４０の中の１つによってエラーが検出される時に、ロボットコントローラ４０が指定されたタスクをロボット２０が停止させることを引き起こすべきであるということを指定することがある。同様に、教示ペンダントプログラミングソフトウェア７２を実行する教示ペンダント７０が、ストレージシステム５０に対するさらに別の通信のためにロボットコントローラ４０にこうしたエラーが通信されるということを指定するために使用されることがある。したがって、教示ペンダント７０は、スマートデバイス１２に対する更なる通信のために、ロボットコントローラ４０によってストレージシステム５０に対して通信されるロボット関連データのタイプと形式をカスタマイズする方法として使用されるだろう。ロボット関連データのタイプと形式が、ロボット監視システム１０のオペレータの選好に基づいて、ロボット監視システム１０内に含まれる少なくとも１つのローカルソフトウェアアプリケーション６０のいずれかを更新するか、交換するか、または、さらには環境設定することによって、カスタマイズされるだろうということも理解されたい。
【００２５】
上述したように、ロボットコントローラ４０が、ロボット監視システム１０のオペレータの必要に応じて、ロボット２０、ロボットコントローラ４０自体、または、教示ペンダント７０のいずれかによって検出されているデータまたは記憶装置内に記憶されているデータを収集して分析するように構成されていることがあるということを理解されたい。さらに、ロボット関連データの収集が、単独でまたは互いに連携して動作する少なくとも１つのローカルソフトウェアアプリケーション６０のいずれかによって行われることがあり、および、少なくとも１つのローカルソフトウェアアプリケーション６０は、必要なローカル処理能力を有するロボット監視システム１０のいずれかの構成要素上で動作していることがあるということを理解されたい。しかし、すべての場合において、ロボットコントローラ４０は、ロボット監視システム１０の適正な動作と保守点検とのためにオペレータにとって重要であると考えられてきたすべてのロボット関連データを収集して分析するために使用される。
【００２６】
ロボットコントローラ４０によって収集されるロボット関連データは、例えば、ロボット２０の状態、ロボットの構成要素の状態、ロボットの生産の状態、ロボットに関係する工程情報の要約、および、ロボットに関する診断情報を含むだろう。ローカル処理能力を有するロボットコントローラ４０はロボット関連データに関して分析を行い、および、このロボットコントローラ４０は、ストレージシステム５０にロボット関連データを通信するために、どのロボット関連データがロボットコントローラ４０の通信デバイス４５に送信されるかを選別する。ロボットコントローラ４０上で動作する少なくとも１つのローカルソフトウェアアプリケーション６０は、何のロボット関連データが通信デバイス４５に送信されるかを決定する予め決められたトリガを含む。例えば、ロボットコントローラ４０は、ロボット２０の構成要素が現時点で動作不能であるということを表示するロボット２０に関連するデータを収集および分析するだろう。ロボットコントローラ４０内に含まれているローカルソフトウェアアプリケーション６０は、このデータを、通信デバイス４５によってストレージシステム５０に通信されなければならないロボット関連データとして認識するように構成されている。
【００２７】
ロボットコントローラ４０は、さらに、ストレージシステム５０内に格納されるべきロボット関連データをフォーマットするように構成されている。このロボットコントローラ４０が、ロボットコントローラ４０上で動作するローカルソフトウェアアプリケーション６０の少なくとも１つの使用によって、ロボット関連データフォーマットをフォーマットすることが好ましいだろう。ロボットコントローラ４０は、ストレージシステム５０に送信するためのロボット関連データの様々なタイプを定義するために、固有のプロトコルを使用する。全てのノードが、識別名と、サブノード構造において履歴データを格納する機能とを有する。この履歴データは、例えば、ロボットコントローラ４０と通信しているロボット２０の識別情報、ロボット関連データの収集および分析をトリガするイベントの時刻、こうしたイベントの種類を含むだろう。全てのノードは、さらに、特定のデータセットに関係付けるように添付ファイルを構造化するための関連ファイルタグノードを含む。
【００２８】
コード化され終わっているデータ分析結果は、通信デバイス４５によってストレージシステム５０に送信するためにロボットコントローラ４０によってパッケージ化される。ロボットコントローラ４０と共に使用するためのローカルソフトウェアアプリケーション６０は、さらに、データ分析結果に加えて追加のファイルがストレージシステム５０に関連付けられてストレージシステム５０に送信されるべきかを判定するためにトリガが起動されている時に、ロボット監視システム１０の他の構成要素にさらに問い合わせるように構成されているだろう。例えば、ローカルソフトウェアアプリケーション６０は、ロボット２０によってアセンブリされている物品にロボット２０の視覚システムが製造エラーを発見しているということを検出することがある。この場合には、ローカルソフトウェアアプリケーション６０は、ロボット２０と通信して視覚システムに問い合わせを行い、ロボットコントローラ４０とこの視覚システムは、製造エラーを有する物品のディジタル写真画像を撮影するだろう。その次に、このディジタル写真画像は、このディジタル写真画像の撮影をトリガしたデータ分析結果と共に、通信のために含まれるだろう。この添付ファイルは、単一のマルチパートメッセージの形でロボット関連データと共に送信するためにテキストオンリーのファイルタイプに変換される必要があるだろう。
【００２９】
上述したように、ロボットコントローラ４０は、様々な形態のデータの記憶および通信を使用してスマートデバイス１２にロボット２０の状態を通信するように構成されているだろう。したがって、ストレージシステム５０は、電子メールサーバシステム５２、リモートストレージシステム５４、または、ローカルストレージシステム５６の形態であるだろう。ストレージシステム５０は、ロボット２０の状態をスマートデバイス１２に通信するように構成されている。以下では、術語「メッセージファイル」が、ロボットコントローラ４０からストレージシステム５０に、さらにはこのストレージシステム５０からスマートデバイス１２に個別の通信において送信される、ロボット２０の状態を表示するすべてのロボット関連データを意味するために使用される。メッセージファイル１００（図６）は、ロボット関連データと、テキストベースのフォーマットに変換された添付ファイルとを含み、メッセージファイル１００が単一のマルチパートのテキストベースのメッセージとして送信されることを可能にする。
【００３０】
電子メールサーバシステム５２は、カスタマーサイト１に全体的にローカルで含まれるか、または、この代わりに、電子メールサーバシステム５２は、リモートサイト２に配置されているその構成要素を含むだろう。全体的にローカルで含まれる場合には、この電子メールサーバシステム５２は、ケーブルのような、ロボットコントローラ４０に対する直接的な接続を有するだろう。しかし、無線通信のようなあらゆる形態のローカル接続が行われてもよいということを理解されたい。
【００３１】
次に図２を参照すると、電子メールサーバシステム５２がストレージシステム５０として使用される時には、ロボットコントローラ４０の通信デバイス４５は、メールクライアントとして機能する。この通信デバイス４５は、メッセージファイル１００を所望の受信者電子メールアドレス（受信者名とドメイン名とを含む）に送信するための電子メールメッセージとしてメッセージファイル１００を収集してフォーマットするように構成されている。このメッセージファイル１００は、カスタマーサイト１に配置されている送出メールサーバの一形態であるシンプルメールトランスファープロトコル（ＳＭＴＰ）サーバ９０に転送される。このＳＭＴＰサーバ９０は、ロボットコントローラ４０の構成要素として含まれるか、または、ロボットコントローラ４０の少なくとも１つと通信しているカスタマーサイト１に配置されているサーバであるだろう。このＳＭＴＰサーバ９０はドメインネームシステム（ＤＮＳ）サーバ９２に連絡する。このＤＮＳサーバ９２は、メッセージファイル１００に関連付けられている指定されたドメイン名のための適切なインターネットプロトコル（ＩＰ）アドレスを決定する。ＳＭＴＰサーバ９０がＤＮＳサーバ９２からのすべての必要情報を得ると、メッセージファイル１００は、ＳＭＴＰサーバ９０から、メール転送エージェント（ＭＴＡ）サーバ９４と呼ばれることもあるターゲットドメインのメール交換サーバに送信されることが可能である。メッセージファイル１００が、ＭＴＡサーバ９４によって受信される前に追加のＳＭＴＰサーバに転送されなければならないことがあるということを理解されたい。
【００３２】
受信者電子メールアドレスが、カスタマーサイト１にローカルに配置されているアカウントに宛てられている場合には、ＳＭＴＰサーバ９０は、そのカスタマーサイト１に配置されている電子メール検索サーバ９６にメッセージファイル１００を単純に送信するだろう。電子メール検索サーバ９６は、電子メールメッセージを分類して、この電子メール検索サーバ９６の記憶装置内に配置されている適切なメールボックスにその電子メールメッセージを格納する機能を有する、あらゆる電子メールサーバを意味する。その次に、電子メールメッセージの形態であるファイルメッセージ１００は、ポストオフィスプロトコル（ＰＯＰ）とインターネットメッセージアクセスプロトコル（ＩＭＡＰ）のような標準的な電子メールメッセージアクセスプロトコルを使用して、電子メール検索サーバ９６から検索されて取り出されるだろう。したがって、電子メール検索サーバ９６は、一般的にＰＯＰサーバまたはＩＭＡＰサーバと呼ばれることがある。
【００３３】
あるいは、ＭＴＡサーバ９４がリモートサイト２に配置されることがある。リモートサイト２に配置されているＭＴＡサーバ９４は、例えば、少なくとも１つのロボット２０と少なくとも１つの関連ロボットコントローラ９０とを各々が有する複数のカスタマーサイト１からメッセージファイル１００を収集するために使用されるリモートサーバであるだろう。ＭＴＡサーバ９４がリモートサイト２に配置されている場合には、メッセージファイル１００が、標準的な電子メール通信プロトコルによって、ＳＭＴＰサーバ９０から遠隔的に配置されたＭＴＡサーバ９４に中継されるだろう。ＭＴＡサーバ９４は、そのメッセージファイル１００がそのＭＴＡサーバ９４にメールボックスを有する受信者宛てであるか否かを認識し、そのリモートサイト２に同様に配置されている適切な電子メール検索サーバ９６にそのメッセージファイル１００を転送する。電子メール検索サーバ９６は、メッセージファイル１００を適切な受信者メールボックス内に入れる。オペレータは、スマートデバイス１２の形態の電子メールクライアントを使用してメッセージファイル１００にアクセスするだろう。電子メール検索サーバ９６の適切なメールボックス内に格納されているメッセージファイル１００は、ＰＯＰまたはＩＭＡＰのような標準的な電子メールメッセージアクセスプロトコルを使用して、スマートデバイス１２によってアクセスされるだろう。ロボットコントローラ４０によってメッセージファイル１００が当初に送信される時にそのロボットコントローラ４０が複数の受信者を指定する場合には、メッセージファイル１００がＭＴＡサーバ９４によって複数の受信者メールボックス内に入れられるだろうということを理解されたい。
【００３４】
あるいは、ストレージシステム５０は、リモートストレージシステム５４としてロボット監視システム１０内に含むまれることがある。次に図３を参照すると、ロボットコントローラ４０の通信デバイス４５（図１）は、既知のインターネットプロトコルによって通信デバイス４５からリモートストレージシステム５４に送信するためのメッセージファイル１００を収集してフォーマットするように構成されている。このリモートストレージシステム５４は、リモートサイト２に配置されているリモートサーバの形態であるだろう。このリモートストレージシステム５４はメッセージファイル１００を受け取って、そのメッセージファイル１００をリモートストレージシステム５４の記憶装置６４内の適切な場所に格納する。標準的なインターネットプロトコルを使用することによって、オペレータはスマートデバイス１２を用いてメッセージファイル１００にアクセスするだろう。
【００３５】
ストレージシステム５０は、さらに、カスタマーサイト１に配置されているローカルストレージシステム５６の形態でロボット監視システム１０内に含まれていることがある。次に図４を参照すると、このローカルストレージシステム５６は、ロボットコントローラ記憶装置４４、または、ロボットコントローラ４０とローカル通信している個別のサーバを含むだろう。このローカル通信は、必要に応じて、有線通信または無線通信の使用によって形成されるだろう。ローカルストレージシステム５６は、メッセージファイル１００を受信し、このメッセージファイル１００をローカルストレージシステム５６内の適正な場所に格納する。例えば、メッセージファイル１００は、ロボットコントローラ記憶装置４４に対するファイル書込み操作によって、ローカルストレージシステム５６に格納されるだろう。カスタマーサイト１のオペレータは、スマートデバイス１２にメッセージファイル１００をアップロードすることによって、そのメッセージファイル１００にアクセスするだろう。このメッセージファイル１００は、ローカルストレージシステム５６とスマートデバイス１２との間の直接的なローカル接続を使用して、スマートデバイス１２にアップロードされるだろう。このメッセージファイル１００は、さらに、教示ペンダント７０を経由してアクセスされることがある。教示ペンダント７０はロボットコントローラ記憶装置４４と通信し、および、その次に、スマートデバイス１２は教示ペンダント７０とローカル通信するだろう。このローカル通信は、ＵＳＢ接続、ＢｌｕｅｔｏｏｔｈＴＭ接続、または、他のあらゆる既知の短距離ローカル接続方法によって実現されるだろう。
【００３６】
スマートデバイス１２は、メッセージファイル１００を受け取るためのスマート通信デバイス１３と、図１に示されているメッセージファイル１００を読み取ってデコードするためのスマートデバイスアプリケーション１４とを備えている。スマート通信デバイス１３がスマートデバイス１２に固有であるだろうし、かつ、インターネットプロトコル、電子メールプロトコル等を含む、あらゆる既知のプロトコルを使用して、メッセージファイル１００を受信する機能を含むだろうということを理解されたい。さらに、スマートデバイスアプリケーション１４はスマートデバイス１２の記憶装置内に格納されるだろうということも理解されたい。メッセージファイル１００が、電子メールサーバシステム５２、リモートストレージシステム５４、または、ローカルストレージシステム５６からスマートデバイス１２によって受信されると、そのメッセージファイル１００内に含まれているロボット関連データが、スマートデバイスアプリケーション１４によってデコード（構文解析）されて、スマートデバイス１２の記憶装置１８内に格納される。メッセージファイル１００からデコードされた情報が、そのメッセージファイル１００内に含まれているロボット関連データの構造および内容に基づいて分類されて、スマートデバイス１２の記憶装置１８内に格納され、および、スマートデバイス１２の記憶装置１８内のロボット関連データおよびロボット状態のデータベースを生成する。メッセージファイル１００と組み合わせた使用のために、例えばディジタル写真画像のような何らかの追加のファイルが添付されている場合には、この追加ファイルは、スマートデバイス１２の記憶装置１８に格納され、および、この追加ファイルが当初に組み合わされて送信されたロボット関連データに関連付けられるだろう。
【００３７】
スマートデバイスアプリケーション１４は、メッセージファイル１００内に含まれているロボット関連データの構造および内容に基づいて、メッセージファイル１００内に含まれているロボット関連データを予め決められたカテゴリに分類するように構成されている。例えば、このカテゴリは、メッセージファイル１００に関連付けられているロボット２０の主要タスク（溶接、塗装等）によって、または、カスタマーサイト１に配置されている特定のシステムまたはジョブタスクエリア（ｊｏｂ  ｔａｓｋ  ａｒｅａ）によって定義されるだろう。あるいは、ロボット関連データは、メッセージファイル１００の生成をトリガしたイベントのタイプによってカテゴリ分けされることがある。ロボット関連データは、例えば、生産の状態、工程情報、保護的保守点検アラート、診断アラート、視覚データ、ロボットの状態、用途に特化した情報等にしたがってカテゴリ分けされるだろう。
【００３８】
スマートデバイス１２は、そのスマートデバイス１２のユーザに対して、メッセージファイル１００内に含まれているロボット関連データを視覚的に通信するためのディスプレイ１５を含む。スマートデバイスアプリケーション１４は、ロボット関連データを示すディスプレイ１５上の表示（ｉｎｄｉｃｉａ）１６を生成するように構成されている。この表示１６は、スマートデバイスアプリケーション１４がロボット関連データをそれに格納するカテゴリに基づいて表示されるだろう。例えば、各々の表示１６は、カスタマーサイト１（または、複数のカスタマーサイト）に配置されている独立したロボットシステムを表現するか、または、ロボット関連データは、生産状態、工程情報等によってカテゴリ分けされるだろう。スマートデバイスアプリケーション１４が、複数の異なるカテゴリによって同一のロボット関連データを分類してカテゴリ分けし、スマートデバイスアプリケーション１４を操作すると同時に様々な異なる経路によってロボット関連データがアクセスされることを可能にするだろうということを理解されたい。スマートデバイスアプリケーション１４を操作する方法は、選択されたスマートデバイス１２に特定的であるだろうということを理解されたい。例えば、多くの携帯型デバイスはタッチスクリーン型インタフェースを使用し、一方、デスクトップコンピュータまたはラップトップコンピュータはマウス／キーボードインタフェースを使用するだろう。
【００３９】
スマートデバイス１２のディスプレイ１５の例示的な図が図５Ａと図５Ｂとに示されている。図５Ａは、「マルチプルロボットビュー（ｍｕｌｔｉｐｌｅ  ｒｏｂｏｔ  ｖｉｅｗ）」構成におけるディスプレイ１５を示し、この場合には、複数のロボット２０に対応するロボット関連データが、アラートとロボットと動作と工程情報とを示す表示１６を用いて同時に示されている。図５Ｂは、「シングルロボットビュー（ｓｉｎｇｌｅ  ｒｏｂｏｔ  ｖｉｅｗ）」におけるディスプレイ１５を示し、この場合には、単一のロボット２０に対応するロボット関連データが、ロボット、工程情報、動作情報、および、その単一のロボット２０に対応するあらゆるメッセージを表す表示１６を使用して示されている。しかし、表示１６の様々な代替的な構成と選択が、スマートデバイス１２と、スマートデバイスアプリケーション１４と、教示ペンダント７０を使用するロボット監視システム１０のカスタマイゼーションとに応じて使用されることがあるということを理解されたい。
【００４０】
スマートデバイスアプリケーション１４は、スマートデバイス１２がストレージシステム５０に対するアクティブな接続を有する時にだけ、そのストレージシステム５０内に収容されているメッセージファイル１００にアクセスするように構成されているだろう。この場合には、スマートデバイスアプリケーション１４は、そのスマートデバイスアプリケーション１４を介してストレージシステム５０にアクセスすることをユーザが選択する都度に、関連付けられたロボット関連データと共に所望のメッセージファイル１００をダウンロードし、および、メッセージファイル１００とこれに関連付けられたロボット関連データのすべてとが、スマートデバイスアプリケーション１４の使用中にスマートデバイス１２の記憶装置１８に格納される。あるいは、スマートデバイスアプリケーション１４は、特定のロボット関連データをキャッシュするか、または、選択されたロボット関連データをスマートデバイス１２の記憶装置１８に恒久的に格納し、したがって、アクティブな接続がストレージシステム５０との間で確立されていない時にさえも、情報がアクセスされることが可能である。
【００４１】
さらに、スマートデバイスアプリケーション１４は、メッセージファイル１００の生成をトリガするイベントの直後にスマートデバイス１２に送信される緊急アラート（ｉｎｓｔａｎｔ  ａｌｅｒｔ）１１０（図６）の形でメッセージファイル１００を受け取るように構成されているだろう。上述したように、スマートデバイス１２とスマートデバイスアプリケーション１４は、スマートデバイスアプリケーション１４がスマートデバイス１２のユーザの指示においてストレージシステム５０にアクセスする時に、ストレージシステム５０上に格納されているロボット関連データにアクセスし、これは「プル（ｐｕｌｌ）」通知とも呼ばれる。しかし、場合によっては、ロボット関連データが、ロボット２０が破損しているか動作不能になっているというような緊急通知を必要とするイベントを表示する時に、スマートデバイス１２が緊急アラートを受け取ることが好ましいことがある。関連したロボット関連データをスマートデバイス１２に対して送信するこの方法は、一般的に、「プッシュ（ｐｕｓｈ）」通知と呼ばれている。緊急アラート１１０の生成をトリガするロボット関連データのタイプがロボット監視システム１０のオペレータによってカスタマイズされるだろうということを理解されたい。このカスタマイゼーションは、緊急アラート１１０の必要性を表示するものとして特定のロボット関連データを認識するように、ロボットコントローラ４０および／またはストレージシステム５０をプログラミングすることによって行われるだろう。上述したように、教示ペンダント７０が、メッセージファイル１００の送信をトリガするロボット関連データのタイプに関して、ロボットコントローラ４０をプログラムするために使用されることがある。同様に、教示ペンダント７０は、さらに、メッセージファイル１００をトリガするロボット関連データのどのタイプが緊急アラート１１０の生成の必要性をトリガするかをカスタマイズするために使用されることがある。
【００４２】
どんなロボット関連データが緊急アラート１１０として送信されるのかについての決定が、ロボットコントローラ４０またはストレージシステム５０によって最初に決定されるだろう。ロボットコントローラ４０がこの決定を行うために使用される場合には、ロボットコントローラ記憶装置４４が、緊急アラート１１０の必要性をトリガすることがあるロボット関連データのタイプのリストをその記憶装置内にすでに格納しているだろう。ロボットコントローラ４０はロボット関連データを分析し、および、さらには、緊急アラート１１０の形態でスマートデバイス１２に直ちに送信されることが必要なものとしてストレージシステム５０がそのメッセージファイル１００を認識するために、予め決められた識別子を有するように対応するメッセージファイル１００をフォーマットする。あるいは、ロボットコントローラ４０は、メッセージファイル１００をストレージシステム５０に送信し、および、このストレージシステム５０は、さらに、メッセージファイル１００内に収容されているロボット関連データを分類する。このストレージシステム５０は、メッセージファイル１００内に収容されている予め決められた形式のロボット関連データを認識するように構成されており、および、メッセージファイル１００内に収容されている特定のロボット関連データが緊急アラート１１０としてスマートデバイス１２に送信されるべきということを示すカテゴリにストレージシステム５０がロボット関連データを分類することを生じさせる。
【００４３】
ストレージシステム５０が電子メールサーバシステム５２の形態であるかまたはリモートストレージシステム５４の形態であるかに係わらず、緊急アラート１１０がスマートデバイス１２に送信されるべきということを示すロボット関連データをそのストレージシステム５０が受け取っているということを、そのストレージシステム５０が判定すると、そのストレージシステム５０は、既知のプッシュ通知方法を使用して、通知をスマートデバイス１２に「プッシュ」する。例えば、Ａｐｐｌｅ  Ｐｕｓｈ  Ｎｏｔｉｆｉｃａｔｉｏｎ  ＳｅｒｖｉｃｅＴＭ（ＡＰＮＳ）が、スマートデバイス（例えば、Ａｐｐｌｅ  ｉＰｈｏｎｅ）が、その通知がすでに受け取られている時には何時でも電子メールサーバシステム５２またはリモートストレージシステム５４のようなサードパーティのサーバがスマートデバイス１２に対して通知をプッシュすることを可能にする、常に開いているＩＰ接続を維持することを可能にする。ＨＴＴＰサーバプッシュ、Ｐｕｓｈｌｅｔ、および、ロングポーリング（ｌｏｎｇ  ｐｏｌｌｉｎｇ）を含む他の既知のプッシュ通知方法がスマートデバイス１２のためのサプライヤ機構に応じて使用されるだろうということを理解されたい。
【００４４】
多くの具体例では、システム１０の単一のオペレータが、このオペレータがそのスマートデバイス１２に対して各々の緊急アラート１１０が送信されることを望む、複数のスマートデバイス１２を有するだろう。したがって、各々の緊急アラート１１０は、さらに、システム１０のオペレータによってどのスマートデバイス１２がその緊急アラート１１０を受け取るように指定されるかを識別するためにフォーマットされる。この追加の情報が、ストレージシステム５０に送信される前に、ロボットコントローラ４０によって緊急アラート１１０に加えられるだろう。その次に、このストレージシステム５０は、どのスマートデバイス１２が関連付けられたプッシュ通知方法によってその緊急アラート１１０を受け取るかを決定するために、緊急アラート１１０を調べる。あるいは、ストレージシステム５０は、このストレージシステム５０の記憶装置内に格納されている緊急アラートをどのスマートデバイス１２が受け取らなければならないかに関する関連情報を有するだろうし、および、緊急アラート１１０の受け取りが、すべての指定されたスマートデバイス１２に対する緊急アラート１１０のプッシュをトリガする。
【００４５】
システム１０のためのセキュリティが、スマートデバイス１２がストレージシステム５０からメッセージファイル１００または緊急アラート１１０を受け取ろうと試みる都度に、または、特に、メッセージファイル１００または緊急アラート１１０がストレージシステム５０から「プル」される時に、顧客によって提供されるパスワードを要求する、スマートデバイス１２上で動作するスマートデバイスアプリケーション１４によって実現されるだろう。したがって、スマートデバイス１２がストレージシステム５０から情報をプルしようと試みる都度に、スマートデバイスアプリケーション１４は、対応するパスワードを入力するようにスマートデバイス１２のユーザに促す。そのユーザはパスワードを入力し、および、スマートデバイス１２は、既知の通信プロトコルを使用して、そのパスワードをストレージシステム５０に通信する。ストレージシステム５０は、そのパスワードの正当性を、そのストレージシステム５０の記憶装置内に格納されているパスワードと対照して検査する。一致が発見されると、ストレージシステム５０は、あらゆる保留中のメッセージファイル１００または緊急アラート１１０をスマートデバイス１２に通信し続ける。
【００４６】
使用時には、ロボット監視システム１０のオペレータが、最初に、メッセージファイル１００の生成をトリガするイベントと、教示ペンダント７０を使用してメッセージファイル１００と共に送信されるべきロボット関連データのタイプとを定義するだろう。このオペレータは、ディスプレイと教示ペンダント７０のインタフェースとを使用して、教示ペンダント７０上で動作する教示ペンダントプログラミングソフトウェア７２を操作する。この教示ペンダントプログラミングソフトウェア７２は、メッセージファイル１００がロボットコントローラ４０からストレージシステム５０に通信されることを生じさせるトリガリングイベントを定義するために使用される。あるいは、メッセージファイル１００の形にロボット関連データをフォーマットするために、指定されたロボット関連データをロボットコントローラ４０が収集および分析することを、予め決められたトリガリングイベントが生じさせるということを認識するように、ロボット監視システム１０内で動作する少なくとも１つのローカルソフトウェアアプリケーション６０を更新または交換することによって、このトリガリングイベントがロボット監視システム１０内で定義されるだろう。
【００４７】
ロボット２０の動作中は、ロボットコントローラ４０とロボット２０とが常時ローカル通信している。オペレータによって指定された予め決められたトリガリングイベントが、ロボット２０と、メッセージファイル１００の生成に関連していることが予め決められているロボットコントローラ４０とからの、ロボット関連データすべてを収集および分析するように、ロボットコントローラ４０をトリガする。ロボットコントローラ４０は、ロボット関連データをフォーマットし、および、さらには、あらゆる追加ファイルを、ロボット関連データに添付するためのテキストベースのフォーマットに変換し、メッセージファイル１００の形式の単一のマルチパートメッセージを生成するだろう。その次に、メッセージファイル１００は、ロボットコントローラ４０の通信デバイス４５によってストレージシステム５０に送信される。上述したように、このストレージシステム５０は、電子メールサーバシステム５２、リモートストレージシステム５４、および、ローカルストレージシステム５６のいずれかの形態であるだろう。
【００４８】
電子メールサーバシステム５２が使用される場合には、ロボットコントローラ４０の通信デバイス４５はメールクライアントとして機能し、および、メッセージファイル１００を、カスタマーサイト１に配置されているＳＭＴＰサーバ９０に送信する。このＳＭＴＰサーバ９０は、そのメッセージファイル１００内に示されている指定されたドメイン名に関する適切なＩＰアドレスを決定するために、ＤＮＳサーバ９２と通信する。その次に、メッセージファイル１００はＳＭＴＰサーバ９０からＭＴＡサーバ９４に送信される。ＭＴＡサーバ９４は、このＭＴＡサーバ９４に配置されているメールボックスを受信者が有するということを確認する。ＭＴＡサーバ９４は、この確認を終えると、メッセージファイル１００を電子メール検索サーバ９６に送信し、この電子メール検索サーバ９６はそのメッセージファイル１００を適切な受信者メールボックスに入れる。電子メール検索サーバ９６は、緊急アラート１１０の形でスマートデバイス１２に送信されるべきロボット関連データをそのメッセージファイル１００が含むか否かを判定するために、そのメッセージファイル１００を調べる。電子メール検索サーバ９６が緊急アラート１１０が送信されるべきと判定する場合には、この電子メール検索サーバ９６は、既知の「プッシュ」通知方法またはプロトコルを使用して、緊急アラート１１０をスマートデバイス１２に送信する。
【００４９】
リモートストレージシステム５４が使用される場合には、ロボットコントローラ４０の通信デバイス４５は、既知のインターネットプロトコルを使用してリモートストレージシステム５４にメッセージファイルを送信する。リモートストレージシステム５４はメッセージファイル１００を受け取り、そのリモートストレージシステム５４の記憶装置６４にメッセージファイル１００を格納する。このリモートストレージシステム５４は、緊急アラート１１０の形でスマートデバイス１２に転送されなければならないロボット関連データをそのメッセージファイル１００が含むか否かを判定するために、そのメッセージファイル１００を調べる。リモートストレージシステム５４が緊急アラート１１０を送信すべきと判定する場合には、このリモートストレージシステム５４は、既知の「プッシュ」通知方法またはプロトコルを使用して、緊急アラート１１０をスマートデバイス１２に送信する。
【００５０】
ローカルストレージシステム５６が使用される場合には、ロボット監視システム１０のオペレータが、先ず最初に、教示ペンダント７０をロボットコントローラ４０に接続する。その次に、このオペレータは、例えば、ＵＳＢケーブルまたはブルートゥース技術のような既知の形態のローカル通信を使用して、スマートデバイス１２を教示ペンダント７０に接続する。ロボットコントローラ４０はメッセージファイル１００を教示ペンダント７０に送信し、この教示ペンダント７０はメッセージファイル１００をスマートデバイス１２に送信する。図４に示されているように、スマートデバイス１２はロボットコントローラ４０に直接的に接続することも可能である。
【００５１】
スマートデバイス１２のユーザは、まず最初に、メッセージファイル１００の受信および分析のためのスマートデバイスアプリケーション１４をダウンロードする。このユーザはスマートデバイスアプリケーション１４を開き、パスワードを提供するように促される。スマートデバイス１２はストレージシステム５０と通信して、適正なパスワードが提供されたか否かを判定する。適正なパスワードが入力され終わると、ストレージシステム５０は、既知の通信プロトコルを使用してメッセージファイル１００をスマートデバイス１２に送信する。スマートデバイス１２は、メッセージファイル１００の受信時に、このメッセージファイル１００を分析し、このメッセージファイル内に含まれるロボット関連データを予め決められたカテゴリに分類する。この予め決められたカテゴリは、表示１６の形でスマートデバイス１２のディスプレイ１５上に表示される。スマートデバイス１２のユーザは、タッチスクリーンディスプレイまたはキーボードのような、スマートデバイス１２のための提供されたインタフェースを使用して、スマートデバイスアプリケーション１４を操作する。その次に、そのユーザは、そのユーザに読み取り可能な形式でデータを表示するためにロボット関連データのカテゴリの１つを表す表示１６の１つを選択するだろう。
【００５２】
メッセージファイル１００が緊急アラート１１０として送信される場合には、スマートデバイス１２は、その緊急アラート１１０の形で送信されるロボット関連データに対するアクセスを可能にする前に、ユーザにパスワードの入力を促すだろう。スマートデバイスアプリケーション１４が、触覚的フィードバックまたは通知音の再生のような既知のスマートデバイスの通知方法を使用してユーザに対する通知を生成するように構成されていることが好ましいだろう。その次に、ロボット関連データは、スマートデバイス１２のディスプレイ１５によってユーザに対して表示される。緊急アラート１１０の受信が、メッセージファイル１００に類似した仕方でスマートデバイス１２がスマートデバイスアプリケーション１４によってロボット関連データを提示することを生じさせるだろうということも理解されたい。
【００５３】
本発明によるロボットシステムを監視する方法の流れ図が図６に示されている。ステップ２００において、この方法は、監視されるべき少なくとも１つのトリガリングイベントを割り当てることによって開始される。その次に、ステップ２１０において、システム１０はそのトリガリングイベントの発生を監視する。トリガリングイベントの発生に対する周期的なチェックが判断ポイント２２０で行われる。トリガリングイベントが未だに発生していない場合には、この方法は、ＮＯで分岐してステップ２１０に戻る。トリガリングイベントがすでに発生している場合には、この方法はＹＥＳで分岐してステップ２３０に進み、メッセージファイル１００を生成して、このメッセージファイル１００をストレージシステム５０に通信する。その次に、この方法は、判断ポイント２４０に入り、メッセージファイルがアラート通知１１０として送信されるように標識されているか否かをチェックする。メッセージファイルがアラート通知１１０として送信されなければならない場合には、この方法はＹＥＳで分岐してステップ２５０に進み、緊急アラート１１０をスマートデバイス１２に送信する。
【００５４】
この方法は、さらに、ステップ２３０から判断ポイント２７０に進み、ユーザがメッセージファイル１００をすでに要求しているか否かをチェックする。要求がない場合には、この方法はＮＯで分岐して、周期的に再びチェック２７０を行う。要求がある場合には、この方法はＹＥＳで分岐して判断ポイント２８０に進み、ユーザによって適正なパスワードを入力されたかをチェックする。このパスワードが不正であるかまたは未入力である場合には、この方法はＮＯで分岐し、再び適正なパスワードに関してチェックする。適正なパスワードが提供されている場合には、この方法はＹＥＳで分岐してステップ２９０に進み、このステップ２９０ではメッセージファイル１００はスマートデバイス１２に送信される。
【００５５】
ロボットコントローラ４０はアラートを提供することも可能である。判断ポイント２２０からのＹＥＳ分岐は、ロボットコントローラがアラート通知を送信するべきか否かをチェックするために判断ポイント３００にも進む。ステップ３１０では、ロボットコントローラ４０は、プログラムによってアラートをスマートデバイス１２に送信することが命じられる場合に、アラートをスマートデバイス１２に送信する。
【００５６】
特許法規の規定にしたがって、本発明を、その好ましい実施形態を提示すると認識されるものにおいて説明してきた。しかし、本発明の着想または範囲からの逸脱なしに、本発明が、本明細書で具体的に図示され説明されているものとは異なる形で実施されることが可能であることに留意されたい。
【符号の説明】
【００５７】
１０    ロボット監視システム
１２    スマートデバイス
２０    ロボット
４０    ロボットコントローラ
４２    ロボットコントローラプロセッサ
４４    ロボットコントローラ記憶装置
５０    ストレージシステム
５２    電子メールサーバシステム
５４    リモートストレージシステム
５６    ローカルストレージシステム
６０    ローカルソフトウェアアプリケーション
７０    教示ペンダント
【図１】
2014050951.tif 000003
【図２】
2014050951.tif 000004
【図３】
2014050951.tif 000005
【図４】
2014050951.tif 000006
【図５Ａ】
2014050951.tif 000007
【図５Ｂ】
2014050951.tif 000008
【図６】
2014050951.tif 000009
【外国語明細書】
2014050951000001.pdf