(57)【要約】      （修正有）【課題】産業機器に接続された接続先機器の構成に応じたデータ収集をする動作データ収集システムを提供する。【解決手段】動作データ収集システム１は、ユーザ端末１０とロボットシステム２０を含む。ユーザ端末は、制御部１１を主として実現される、構成情報取得部、設定部、収集部を備える。構成情報取得部は、産業機器（ロボットコントローラ２１）から、その記憶部に記憶されている、当該産業機器に接続された接続先機器（メカニズム、デバイス）の構成情報を取得する。設定部は、構成情報に基づいて、どのロボットから、どの種類の動作データを、どのような計測スケジュールで収集するといった、接続先機器の動作データを収集するための設定を行う。収集部は、設定に基づいて、産業機器から、動作データを収集する。ロボットコントローラは、設定部の設定に基づいてロボットの動作データを計測する。収集部は、計測された動作データを収集する。【選択図】図１
2020046764.tif 000002
【特許請求の範囲】
【請求項１】
産業機器から、当該産業機器に接続された接続先機器の構成情報を取得する構成情報取得部と、
前記構成情報に基づいて、前記接続先機器の動作データを収集するための設定を行う設定部と、
前記設定に基づいて、前記産業機器から、前記動作データを収集する収集部と、
を有する動作データ収集システム。
【請求項２】
前記構成情報に基づいて、前記動作データの収集条件を設定する第１設定部と、
前記収集条件に基づいて、前記産業機器から、前記動作データを収集する第１収集部と、
を有する請求項１に記載の動作データ収集システム。
【請求項３】
複数の前記収集条件が指定された場合には、当該複数の収集条件を統合した統合収集条件を設定する第２設定部と、
前記統合収集条件に基づいて、前記産業機器から、前記動作データを収集する第２収集部と、
を有する請求項２に記載の動作データ収集システム。
【請求項４】
前記収集条件は、収集対象の前記動作データの種類と、前記動作データの計測スケジュールと、の少なくとも一方を含み、
前記種類と前記スケジュールの少なくとも一方が重複した場合に前記統合収集条件を設定する第３設定部、
を有する請求項３に記載の動作データ収集システム。
【請求項５】
前記動作データを収集するための複数のアプリケーションを記憶する記憶部を有し、
前記収集条件は、前記アプリケーションごとに設定される、
請求項２〜４の何れかに記載の動作データ収集システム。
【請求項６】
前記収集条件は、前記動作データの計測スケジュールを含み、
前記計測スケジュールに基づいて、前記動作データを収集する時間帯が訪れたか否かを判定し、当該時間帯が訪れたと判定された場合に、前記産業機器に対し、前記動作データを要求する要求部、
を有する請求項２〜５の何れかに記載の動作データ収集システム。
【請求項７】
前記動作データ収集システムは、前記構成情報に基づいて、前記収集条件を設定するための設定画面を表示部に表示させる表示制御部を有する、
請求項２〜６の何れかに記載の動作データ収集システム。
【請求項８】
前記構成情報に基づいて、前記動作データを格納するデータベースのデータ構造を設定する第４設定部と、
前記産業機器から収集した前記動作データを前記データベースに格納する格納部と、
を有する請求項１〜７の何れかに記載の動作データ収集システム。
【請求項９】
複数の産業機器の各々から、前記構成情報を取得する第１構成情報取得部と、
前記産業機器ごとに前記設定を行う第５設定部と、
前記産業機器ごとに行われた前記設定に基づいて、当該産業機器から、前記動作データを収集する第３収集部と、
を有する請求項１〜８の何れかに記載の動作データ収集システム。
【請求項１０】
前記産業機器には、複数の前記接続先機器が階層的に接続されており、
前記構成情報には、前記複数の接続先機器の階層構造が示されている、
請求項１〜８の何れかに記載の動作データ収集システム。
【請求項１１】
前記産業機器には、マスタ機器と、当該マスタ機器によって制御されるスレーブ機器と、を含む複数の前記接続先機器が接続されており、
前記構成情報には、前記複数の接続先機器の主従関係が示されている、
請求項１〜１０の何れかに記載の動作データ収集システム。
【請求項１２】
ネットワーク内の全てのノードに対し、応答要求を送信する応答要求送信部と、
前記ネットワーク内のノードのうち、前記応答要求に対して所定の応答をしたノードを前記産業機器として特定し、前記構成情報の取得要求を送信する取得要求送信部と、
前記取得要求に応じて送信された前記構成情報を取得する第２構成情報取得部と、
を有する請求項１〜１１の何れかに記載の動作データ収集システム。
【請求項１３】
産業機器から、当該産業機器に接続された接続先機器の構成情報を取得し、
前記構成情報に基づいて、前記接続先機器の動作データを収集するための設定を行い、
前記設定に基づいて、前記産業機器から、前記動作データを収集する、
動作データ収集方法。
【請求項１４】
産業機器から、当該産業機器に接続された接続先機器の構成情報を取得する構成情報取得部、
前記構成情報に基づいて、前記接続先機器の動作データを収集するための設定を行う設定部、
前記設定に基づいて、前記産業機器から、前記動作データを収集する収集部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作データ収集システム、動作データ収集方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、コントローラ等の産業機器に、モータ制御装置やモータ等の接続先機器が接続されたシステムにおいて、接続先機器のトレースデータをクラウドサーバにアップロードし、解析者に対してトレースデータの解析を依頼するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５−０６８２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、例えば、産業機器に接続された接続先機器の構成に応じたデータ収集をすることである。
【課題を解決するための手段】
【０００５】
本発明の一側面に係る動作データ収集システムは、産業機器から、当該産業機器に接続された接続先機器の構成情報を取得する構成情報取得部と、前記構成情報に基づいて、前記接続先機器の動作データを収集するための設定を行う設定部と、前記設定に基づいて、前記産業機器から、前記動作データを収集する収集部と、を有する。
【０００６】
また、本発明の一側面に係る動作データ収集方法は、産業機器から、当該産業機器に接続された接続先機器の構成情報を取得し、前記構成情報に基づいて、前記接続先機器の動作データを収集するための設定を行い、前記設定に基づいて、前記産業機器から、前記動作データを収集する。
【０００７】
また、本発明の一側面に係るプログラムは、産業機器から、当該産業機器に接続された接続先機器の構成情報を取得する構成情報取得部、前記構成情報に基づいて、前記接続先機器の動作データを収集するための設定を行う設定部、前記設定に基づいて、前記産業機器から、前記動作データを収集する収集部、としてコンピュータを機能させる。
【０００８】
また、本発明の一側面に係る動作データ収集システムは、前記構成情報に基づいて、前記動作データの収集条件を設定する第１設定部と、前記収集条件に基づいて、前記産業機器から、前記動作データを収集する第１収集部と、を有する。
【０００９】
また、本発明の一側面に係る動作データ収集システムは、複数の前記収集条件が指定された場合には、当該複数の収集条件を統合した統合収集条件を設定する第２設定部と、前記統合収集条件に基づいて、前記産業機器から、前記動作データを収集する第２収集部と、を有する。
【００１０】
また、本発明の一側面に係る動作データ収集システムは、前記収集条件は、収集対象の前記動作データの種類と、前記動作データの計測スケジュールと、の少なくとも一方を含み、前記種類と前記スケジュールの少なくとも一方が重複した場合に前記統合収集条件を設定する第３設定部、を有する。
【００１１】
また、本発明の一側面に係る動作データ収集システムは、前記動作データを収集するための複数のアプリケーションを記憶する記憶部を有し、前記収集条件は、前記アプリケーションごとに設定される。
【００１２】
また、本発明の一側面に係る動作データ収集システムは、前記収集条件は、前記動作データの計測スケジュールを含み、前記計測スケジュールに基づいて、前記動作データを収集する時間帯が訪れたか否かを判定し、当該時間帯が訪れたと判定された場合に、前記産業機器に対し、前記動作データを要求する要求部、を有する。
【００１３】
また、本発明の一側面に係る動作データ収集システムは、前記動作データ収集システムは、前記構成情報に基づいて、前記収集条件を設定するための設定画面を表示部に表示させる表示制御部を有する。
【００１４】
また、本発明の一側面に係る動作データ収集システムは、前記構成情報に基づいて、前記動作データを格納するデータベースのデータ構造を設定する第４設定部と、前記産業機器から収集した前記動作データを前記データベースに格納する格納部と、を有する。
【００１５】
また、本発明の一側面に係る動作データ収集システムは、複数の産業機器の各々から、前記構成情報を取得する第１構成情報取得部と、前記産業機器ごとに前記設定を行う第５設定部と、前記産業機器ごとに行われた前記設定に基づいて、当該産業機器から、前記動作データを収集する第３収集部と、を有する。
【００１６】
また、本発明の一側面に係る動作データ収集システムは、前記産業機器には、複数の前記接続先機器が階層的に接続されており、前記構成情報には、前記複数の接続先機器の階層構造が示されている。
【００１７】
また、本発明の一側面に係る動作データ収集システムは、前記産業機器には、マスタ機器と、当該マスタ機器によって制御されるスレーブ機器と、を含む複数の前記接続先機器が接続されており、前記構成情報には、前記複数の接続先機器の主従関係が示されている。
【００１８】
また、本発明の一側面に係る動作データ収集システムは、ネットワーク内の全てのノードに対し、応答要求を送信する応答要求送信部と、前記ネットワーク内のノードのうち、前記応答要求に対して所定の応答をしたノードを前記産業機器として特定し、前記構成情報の取得要求を送信する取得要求送信部と、前記取得要求に応じて送信された前記構成情報を取得する第２構成情報取得部と、を有する。
【発明の効果】
【００１９】
上記発明によれば、例えば、産業機器に接続された接続先機器の構成に応じたデータ収集をすることができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係る動作データ収集システムの全体構成を示す図である。
【図２】動作データ収集システムで実現される機能を示す機能ブロック図である。
【図３】動作データベースのデータ格納例を示す図である。
【図４】構成情報データベースのデータ格納例を示す図である。
【図５】収集条件データベースのデータ格納例を示す図である。
【図６】アプリケーションごとに動作データの収集時間が設定される様子を示す図である。
【図７】ロボットコントローラごとに統合収集条件が設定される様子を示す図である。
【図８】動作データが要求される様子を示す図である。
【図９】設定画面の一例を示す図である。
【図１０】収集条件設定処理の一例を示すフロー図である。
【図１１】動作データ収集処理の一例を示すフロー図である。
【図１２】変形例の機能ブロック図である。
【発明を実施するための形態】
【００２１】
［１．動作データ収集システムの全体構成］
本発明の発明者の見地によれば、産業機器に接続された接続先機器の動作データを収集して解析する場合に、接続先機器の構成を考慮しなければ、同じ動作データを重複して収集したり不要な動作データを収集したりして、動作データの収集が非効率的になる可能性がある。そこで本発明の発明者は、産業機器に接続された接続先機器の構成に応じたデータ収集をするために鋭意研究開発を行った結果、新規かつ独創的な動作データ収集システム等に想到した。以降、本実施形態に係る動作データ収集システム等を詳細に説明する。
【００２２】
図１は、実施形態に係る動作データ収集システムの全体構成を示す図である。図１に示すように、動作データ収集システム１は、ユーザ端末１０と、ロボットシステム２０と、を含む。ユーザ端末１０とロボットシステム２０との各々は、インターネットやローカルエリアネットワーク等のネットワークＮに接続される。なお、図１では、ユーザ端末１０とロボットシステム２０を１つずつ示しているが、これらは複数あってもよい。
【００２３】
ユーザ端末１０は、動作データを収集するコンピュータである。例えば、ユーザ端末１０は、パーソナルコンピュータ、携帯電話（スマートフォンを含む）、又は携帯端末（タブレット型端末を含む）である。ユーザ端末１０は、ＣＰＵ１１、記憶部１２、通信部１３、操作部１４、及び表示部１５を含む。
【００２４】
ＣＰＵ１１は、少なくとも１つのプロセッサを含む。記憶部１２は、ＲＡＭやハードディスクを含み、各種プログラムやデータを記憶する。ＣＰＵ１１は、これらプログラムやデータに基づいて各種処理を実行する。通信部１３は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。操作部１４は、マウスやキーボード等の入力デバイスである。表示部１５は、液晶ディスプレイ又は有機ＥＬディスプレイ等であり、ＣＰＵ１１の指示により各種画面を表示する。
【００２５】
なお、記憶部１２に記憶されるものとして説明するプログラム及びデータは、ネットワークＮを介してユーザ端末１０に供給されるようにしてもよい。また、ユーザ端末１０のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、ユーザ端末１０は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、光ディスクドライブやメモリカードスロット）や外部機器と直接的に接続するための入出力部（例えば、ＵＳＢ端子）を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、ユーザ端末１０に供給されるようにしてもよい。
【００２６】
ロボットシステム２０は、ロボットコントローラ２１、メカニズム２２Ａ〜２２Ｃ、及びデバイス２３Ａ〜２３Ｉを含む。なお、以降では、メカニズム２２Ａ〜２２Ｃを特に区別する必要のないときは、単にメカニズム２２と記載し、デバイス２３Ａ〜２３Ｉを特に区別する必要のないときは、単にデバイス２３と記載する。また、説明の簡略化のために、ロボットコントローラ２１を１台とするが、ロボットコントローラ２１は、複数台あってもよい。また、メカニズム２２とデバイス２３は、任意の数で構成されてよく、図１の構成に限られない。
【００２７】
ロボットコントローラ２１は、ロボットを制御するコンピュータである。ロボットコントローラ２１は、特定のロボットに特化した専用機器であってもよいが、本実施形態では、汎用コンピュータであるものとする。ロボットコントローラ２１は、ＣＰＵ、ＲＡＭ、ハードディスク、及び通信インタフェースといったハードウェアを有し、ロボットに動作指示を送る。ロボットコントローラ２１は、複数台のロボットを制御してもよい。
【００２８】
メカニズム２２とデバイス２３は、ロボットの構成要素である。ロボットは、産業用ロボットであり、例えば、汎用の多関節ロボットである。例えば、ロボットは、垂直多関節型、水平多関節型、又はガントリ型といった種々の形式のロボットを適用可能である。ロボットのアーム数は、任意であってよく、１本のみのアームであってもよいし、複数本のアームであってもよい。
【００２９】
また例えば、ロボットは、種々の用途のロボットを適用可能であり、スポット溶接用ロボット、アーク溶接用ロボット、ハンドリング用ロボット、又は塗装用ロボットであってもよい。例えば、メカニズム２２Ａは、６軸垂直多関節型のスポット溶接用ロボットであり、軸としてデバイス２３Ａ〜２３Ｆを有する。また例えば、メカニズム２２Ｂは、溶接ガンであり、軸としてデバイス２３Ｇを有する。また例えば、メカニズム２２Ｃは、ステーションであり、軸としてデバイス２３Ｈ，２３Ｉを有する。なお、各デバイス２３は、自身の動作を計測するためのセンサを含み、例えば、トルクセンサ、モータエンコーダ、温度センサ、又は感圧センサといった任意のセンサを含んでよい。
【００３０】
なお、ロボットコントローラ２１は、産業機器の一例であり、ロボット（メカニズム２２及びデバイス２３）は、接続先機器の一例である。このため、本実施形態でロボットコントローラ２１と記載した箇所は、産業機器と読み替えることができ、ロボット、メカニズム２２、又はデバイス２３と記載した箇所は、接続先機器と読み替えることができる。
【００３１】
動作データ収集システム１は、任意の種類の産業機器を適用可能であり、例えば、モータコントローラ又はインバータが産業機器に相当してもよい。接続先機器は、産業機器の種類に応じた機器であればよい。例えば、モータコントローラが産業機器に相当する場合、接続先機器は、モータコントローラから指示を受ける制御装置又はモータであってよい。また例えば、複数のインバータがマスタとスレーブに分かれて連係する場合には、マスタのインバータが産業機器に相当し、スレーブのインバータが接続先機器に相当してもよい。
【００３２】
また例えば、工作機械が産業機器に相当してもよい。工作機械は、金属や木材等に切削や研磨等の加工を施すための機械であり、例えば、旋盤、ボール盤、研削盤、又は放電加工機等である。工作機械が産業機器に相当する場合、接続先機器は、工作機械に接続されたモータ、入出力装置、又はセンサ（例えば、温度センサ又は力センサ等）であってよい。また例えば、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）が産業機器に相当してもよい。ＰＬＣは、予め定められた手順に沿って外部機器を制御する装置であり、例えば、工場における自動制御に用いられたり、エレベータや自動ドア等の機器の制御に用いられたりする。ＰＬＣが産業機器に相当する場合、接続先機器は、ＰＬＣの制御対象（ＰＬＣの配下）の機械、設備、又はロボットコントローラであってよい。
【００３３】
本実施形態の動作データ収集システム１では、ロボットコントローラ２１に、自身に接続されたロボットの構成情報が記憶されている。ユーザ端末１０は、ロボットコントローラ２１から構成情報を取得し、ロボットの動作データの収集条件を設定することで、ロボットの構成に応じた効率的なデータ収集を実現する。以降、動作データ収集システム１の詳細を説明する。
【００３４】
［２．動作データ収集システムで実現される機能］
図２は、動作データ収集システム１で実現される機能を示す機能ブロック図である。図６に示すように、動作データ収集システム１では、データ記憶部１００、構成情報取得部１０１、設定部１０２、収集部１０３、要求部１０４、表示制御部１０５、及び格納部１０６が実現される。本実施形態では、これら各機能がユーザ端末１０において実現される場合を説明する。
【００３５】
［データ記憶部］
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、動作データを収集するために必要なデータを記憶する。例えば、データ記憶部１００は、動作データを収集するための複数のアプリケーションＡＰを記憶する。なお、データ記憶部１００は、任意の数のアプリケーションＡＰを記憶してよく、例えば、データ記憶部１００は、アプリケーションＡＰを１つだけ記憶してもよい。
【００３６】
アプリケーションＡＰは、動作データを収集したり解析したりするためのプログラムである。動作データは、ロボットの動作を示すデータであればよく、例えば、トルク信号、温度情報、速度フィードバック値、外力値、又はフィードバックパルス信号といった種々の情報が動作データに示されていてよい。アプリケーションＡＰは、ロボットの種類や解析の目的に応じたものであればよく、例えば、動作データ収集システム１を動作させるための標準的なアプリケーションであってもよいし、特定の動作解析をするためのアプリケーションであってもよい。これらのアプリケーションは、メーカが作成してもよいし、ユーザが作成してユーザ端末１０にアドオンしてもよい。
【００３７】
標準的なアプリケーションは、動作データ収集システム１を動作させるためのウェブサーバソフトウェアであったり、Ｃ言語等のプログラミング言語で作成された実行可能なアプリケーションであったりする。なお、プログラミング言語は、Ｃ言語に限られず、任意の言語を適用可能である。特定の動作解析をするためのアプリケーションは、ロボットの特定の動作を解析する目的で作成されたアプリケーションであり、例えば、ロボットの動作データを収集して動作データベースＤＢ１に蓄積するアプリケーション、ロボットにおける減速機の故障を予知するアプリケーション、ロボットがガス溶接又はアーク溶接をする際に飛散するスパッタを検出するアプリケーション、又は、ロボットによるスポット溶接を監視するアプリケーションといった種々のアプリケーションを適用可能である。
【００３８】
また例えば、データ記憶部１００は、動作データベースＤＢ１、構成情報データベースＤＢ２、及び収集条件データベースＤＢ３を記憶する。
【００３９】
図３は、動作データベースＤＢ１のデータ格納例を示す図である。図３に示すように、動作データベースＤＢ１は、動作データを格納するためのデータベースである。例えば、動作データベースＤＢ１には、動作データが計測された機器の識別情報、動作データの実データ、及び動作データの収集日時が格納される。
【００４０】
図３の例では、動作データが計測された機器の識別情報として、ロボットコントローラ２１、メカニズム２２、及びデバイス２３の各々の名称が格納される。本実施形態では、デバイス２３によってトルク信号等の動作データが計測されるので、動作データを計測したデバイス２３、当該デバイス２３を制御するメカニズム２２、及び当該メカニズム２２を制御するロボットコントローラ２１の各々の名称が格納される。動作データは、任意のデータ形式であってよく、例えば、ＣＳＶファイル等の表形式やテキスト形式であってもよい。動作データの収集日時は、動作データが計測された日時である。
【００４１】
なお、動作データベースＤＢ１に格納されるデータは、図３の例に限られず、動作データに関する他の情報が格納されてもよい。例えば、動作データベースＤＢ１には、動作データの種類、動作データを利用するアプリケーションＡＰの識別情報、又は、動作データの収集時に利用された収集条件といった情報が格納されてもよい。
【００４２】
図４は、構成情報データベースＤＢ２のデータ格納例を示す図である。図４に示すように、構成情報データベースＤＢ２は、ロボットコントローラ２１から取得された構成情報を格納するためのデータベースである。例えば、構成情報データベースＤＢ２には、ロボットコントローラ２１を識別するコントローラＩＤと、当該ロボットコントローラ２１から取得された構成情報と、が格納される。
【００４３】
本実施形態では、ロボットコントローラ２１を１台としているので、図４では、構成情報が１つだけ格納されているが、ロボットコントローラ２１が複数台ある場合には、構成情報は、ロボットコントローラ２１の数だけ格納される。構成情報には、ロボットコントローラ２１が制御するロボットの構成が示される。本実施形態では、ロボットは、メカニズム２２とデバイス２３によって構成されるので、ロボットコントローラ２１が制御するメカニズム２２と、当該メカニズム２２に含まれるデバイス２３と、が構成情報に示される。
【００４４】
また、本実施形態では、ロボットコントローラ２１には、複数のロボットが階層的に接続されているので、構成情報には、複数のロボットの階層構造が示されている。階層構造は、上下関係又は親子関係ということもできる。階層が上位であるほど制御する側となり、階層が下位であるほど制御される側となる。本実施形態では、ロボットコントローラ２１は、最上位の階層であり、メカニズム２２は、中位の階層であり、デバイス２３は、最下位の階層である。例えば、ロボットコントローラ２１の配下には、メカニズム２２Ａ〜２２Ｃが存在する。また例えば、メカニズム２２Ａの配下には、デバイス２３Ａ〜２３Ｆが存在し、メカニズム２２Ｂの配下には、デバイス２３Ｇが存在し、メカニズム２２Ｃの配下にはデバイス２３Ｈ，２３Ｉが存在する。なお、ロボットコントローラ２１よりも上位の階層があってもよく、例えば、工場、ライン、又はセルといった上位階層が存在してもよい。
【００４５】
また、本実施形態では、ロボットコントローラ２１には、メカニズム２２と、当該メカニズム２２によって制御されるデバイス２３と、を含む複数の接続先機器が接続されているので、構成情報には、複数の接続先機器の主従関係が示されている。メカニズム２２は、マスタ機器の一例であり、デバイス２３は、スレーブ機器の一例である。マスタ機器は、スレーブ機器を制御する機器であり、スレーブ機器は、マスタ機器によって制御される機器である。例えば、メカニズム２２Ａは、デバイス２３Ａ〜２３Ｆを制御するので、メカニズム２２Ａは、マスタ機器であり、デバイス２３Ａ〜２３Ｆは、スレーブ機器である。また例えば、メカニズム２２Ｂは、デバイス２３Ｇを制御するので、メカニズム２２Ｂは、マスタ機器であり、デバイス２３Ｇは、スレーブ機器である。また例えば、メカニズム２２Ｃは、デバイス２３Ｈ，２３Ｉを制御するので、メカニズム２２Ｃは、マスタ機器であり、デバイス２３Ｈ，２３Ｉは、スレーブ機器である。
【００４６】
図５は、収集条件データベースＤＢ３のデータ格納例を示す図である。図５に示すように、収集条件データベースＤＢ３は、動作データの収集条件を格納するためのデータベースである。例えば、収集条件データベースＤＢ３には、収集条件の名前ごとに、収集条件が格納される。本実施形態では、アプリケーションＡＰごとに収集条件が設定されるので、収集条件の設定名は、アプリケーションＡＰの名前となる。
【００４７】
収集条件は、任意の条件を設定可能であり、例えば、サンプリング時間、収集時間、分類、信号の種類、カラム名称、グループ、対象となる軸、単位、及び倍率といった条件であってよい。サンプリング時間は、動作データを計測する時間間隔であり、サンプリング時間ごとに動作データが計測される。収集時間は、動作データを計測する時間帯である。分類は、動作データの分類であり、例えば、リアルタイム、サーボ、入出力信号、レジスタ、及びその他といった分類が存在する。
【００４８】
信号の種類は、動作データとして取得される信号の種類であり、例えば、トルク信号、温度情報、速度フィードバック値、外力値、フィードバックパルス信号、又はユーザが入力する任意の信号番号である。カラム名称は、動作データのカラムに割り当てられる名称であり、例えば、トルク信号であることを示す「Ｔｒｑ」等の名称が自動で設定されてもよいし、ユーザが任意の名称を入力可能であってもよい。グループは、動作データの収集対象となるロボットのグループである。対象となる軸は、動作データの計測対象となる軸である。単位は、動作データに格納される情報の単位である。倍率は、動作データに格納される情報の縮尺である。
【００４９】
なお、データ記憶部１００が記憶するデータは、上記の例に限られない。例えば、データ記憶部１００は、アプリケーションＡＰの一覧を示すアプリ一覧データを記憶してもよい。アプリ一覧データは、アプリケーションＡＰがアドオンされるたびに更新される。
【００５０】
［構成情報取得部］
構成情報取得部１０１は、制御部１１を主として実現される。構成情報取得部１０１は、ロボットコントローラ２１から、当該ロボットコントローラ２１に接続されたロボット（メカニズム２２・デバイス２３）の構成情報を取得する。構成情報のデータ構成例は、図４で説明した通りである。構成情報は、ロボットコントローラ２１の記憶部に記憶されている。構成情報は、ロボットコントローラ２１が予め定められたアルゴリズムに基づいて動的に生成してもよいし、ユーザ端末１０等のコンピュータをロボットコントローラ２１に接続してユーザが手動で設定してもよい。
【００５１】
例えば、構成情報取得部１０１は、ロボットコントローラ２１に対し、構成情報の取得要求を送信する。構成情報の取得要求は、任意のタイミングで送信されるようにすればよく、例えば、ユーザがロボットコントローラ２１のＩＰアドレスを入力した場合に送信されてもよいし、ロボットコントローラ２１のＩＰアドレスが格納されたファイルが読み込まれた場合に送信されてもよい。他にも例えば、ロボットコントローラ２１のリストを表示部１５に表示させ、リストの中からロボットコントローラ２１が選択された場合に、構成情報の取得要求が送信されてもよい。なお、構成情報の取得要求が行われなくてもよく、ロボットコントローラ２１は、ユーザ端末１０に対し、構成情報を自発的に送信してもよい。
【００５２】
本実施形態では、ロボットコントローラ２１が１台である場合を説明するが、ロボットコントローラ２１が複数台存在する場合には、構成情報取得部１０１は、第１構成情報取得部１０１Ａを含む。第１構成情報取得部１０１Ａは、複数のロボットコントローラ２１の各々から、構成情報を取得する。各ロボットコントローラ２１は、自身の制御対象のロボットの構成を示す構成情報を記憶しているので、第１構成取得部は、各ロボットコントローラ２１に対し、構成情報の取得要求を送信し、当該ロボットコントローラ２１から構成情報を受信する。なお、ロボットコントローラ２１が複数台存在する場合も、各ロボットコントローラ２１は、ユーザ端末１０に対し、構成情報を自発的に送信してもよい。
【００５３】
［設定部］
設定部１０２は、制御部１１を主として実現される。設定部１０２は、構成情報に基づいて、ロボット（メカニズム２２・デバイス２３）の動作データを収集するための設定を行う。設定は、動作データの収集条件の設定であってもよいし、動作データベースＤＢ１のデータ構造の設定であってもよい。本実施形態では、設定部１０２は、第１設定部１０２Ａ、第２設定部１０２Ｂ、第３設定部１０２Ｃ、第４設定部１０２Ｄ、及び第５設定部１０２Ｅを含み、下記に説明するような設定が行われる。なお、下記に説明する設定は、設定部１０２の処理の具体例であり、必ずしも下記に説明する全ての設定が行われなくてもよい。下記に説明する設定の一部だけが行われてもよい。
【００５４】
第１設定部１０２Ａは、構成情報に基づいて、動作データの収集条件を設定する。即ち、第１設定部１０２Ａは、構成情報に基づいて、どのロボットから、どの種類の動作データを、どのような計測スケジュールで収集するといった設定を行う。例えば、第１設定部１０２Ａは、構成情報が示すロボットから動作データを収集するように、収集条件を設定する。本実施形態では、収集条件には、サンプリング時間、収集時間、分類、信号の種類、カラム名称、グループ、対象となる軸、単位、及び倍率といった項目が含まれるので、第１設定部１０２Ａは、これらの収集条件を設定する。
【００５５】
例えば、第１設定部１０２Ａは、動作データのサンプリング時間を設定する。サンプリング時間は、任意の間隔を設定可能であり、例えば、数ミリ秒程度であってもよいし、数秒又は数分であってもよい。サンプリング時間は、ユーザが任意の数値を入力できるようにしてもよいし、複数の数値の中からユーザが選択するようにしてもよい。複数の数値の中からユーザがサンプリング時間を選択する場合には、８ミリ秒、１６ミリ秒、３２ミリ秒、６４ミリ秒といったように、最小値の数値のｎ（ｎは２以上の整数）倍の数値の中で選択できるようにしてもよいし、特にこのような数値でなくてもよい。他にも例えば、構成情報が示すロボットの制御周期が予め定められている場合には、当該制御周期に基づいてサンプリング時間が設定されるようにしてもよい。他にも例えば、構成情報が示すロボットの構成によって、設定可能なサンプリング時間に制限がかけられていてもよい。
【００５６】
また例えば、第１設定部１０２Ａは、動作データの収集時間を設定する。収集時間は、１日の中での任意の時間帯を指定可能である。第１設定部１０２Ａは、構成情報に基づいて、動作データの収集時間を設定する。収集時間は、ユーザが任意の時間帯を指定できるようにしてもよいし、構成情報が示すロボットが動作する時間帯が予め定められている場合には、当該時間帯の中で収集時間が指定されるようにしてもよい。他にも例えば、構成情報が示すロボットの構成によって、設定可能な収集時間に制限がかけられていてもよい。本実施形態では、アプリケーションＡＰごとに収集条件を設定可能なので、動作データの収集時間は、アプリケーションＡＰごとに設定される。
【００５７】
図６は、アプリケーションＡＰごとに動作データの収集時間が設定される様子を示す図である。図６に示す例では、「アプリＡ」〜「アプリＦ」といった６つのアプリケーションＡＰが存在し、各アプリの収集時間を網掛けの帯で示している。図６に示すように、アプリケーションＡＰごとに、他のアプリケーションＡＰとは異なる収集時間を設定可能となっている。
【００５８】
また例えば、第１設定部１０２Ａは、収集対象の動作データの種類及び収集対象のロボットを設定する。例えば、動作データの種類及び収集対象のロボットは、収集条件に含まれる分類、信号の種類、グループ、及び対象となる軸から特定される。第１設定部１０２Ａは、収集条件のこれらの項目の値を設定する。なお、構成情報には、ロボットの構成が示されており、収集可能なデータの種類がロボットの種類から特定できるので、第１設定部１０２Ａは、構成情報が示すロボットで収集可能なデータの種類を収集対象の動作データの種類として設定してもよい。例えば、構成情報が示す構成にスポット溶接用ロボットが含まれていれば、第１設定部１０２Ａは、トルク信号や速度フィードバック値といった種類を、収集対象の動作データの種類として自動的に設定してもよい。また、構成情報からロボットの構成が示されているので、第１設定部１０２Ａは、構成情報が示すロボットの中から収集対象のロボットを設定してもよい。また、本実施形態では、収集条件に単位や倍率といった項目も含まれるので、第１設定部１０２Ａは、収集条件に含まれるこれらの項目の設定も行う。
【００５９】
収集条件は、１つだけ指定されてもよいが、本実施形態では、アプリケーションＡＰごとに収集条件が指定されるので、第２設定部１０２Ｂは、複数の収集条件が指定された場合には、当該複数の収集条件を統合した統合収集条件を設定する。統合収集条件は、複数の収集条件の中で重複した条件を排除した条件であり、複数の収集条件の最小公倍数的な条件である。統合収集条件は、複数の収集条件が統合されたという点で収集条件と異なり、統合収集条件の設定項目は、収集条件と同じである。即ち、本実施形態では、統合収集条件には、サンプリング時間、収集時間、分類、信号の種類、カラム名称、グループ、対象となる軸、単位、及び倍率といった項目が含まれる
【００６０】
例えば、複数の収集条件の中で、動作データの収集対象となるロボットが重複していた場合、第２設定部１０２Ｂは、当該ロボットから同じ動作データを重複して収集しないように、統合収集条件を設定する。具体的には、ある収集条件Ａでデバイス２３Ａが収集対象となっており、別の収集条件Ｂでもデバイス２３Ａが収集対象となっていた場合に、第２設定部１０２Ｂは、デバイス２３Ａから同じ動作データを重複して収集しないように、統合収集条件を設定する。即ち、第２設定部１０２Ｂは、デバイス２３Ａから同じ動作データを２重で収集せず、デバイス２３Ａから同じ動作データを１つだけ収集するように、統合収集条件を設定する。
【００６１】
本実施形態では、収集条件は、収集対象の動作データの種類と、動作データの計測スケジュールと、の少なくとも一方を含むので、第３設定部１０２Ｃは、種類とスケジュールの少なくとも一方が重複した場合に統合収集条件を設定する。計測スケジュールは、動作データを計測するタイミング又は時間帯であり、サンプリング時間を意味してもよいし、収集時間を意味してもよい。
【００６２】
例えば、複数の収集条件の中で、収集対象となる動作データの種類が重複していた場合、第３設定部１０２Ｃは、同じ種類の動作データを重複して収集しないように、統合収集条件を設定する。具体的には、ある収集条件Ａでデバイス２３Ａのトルク信号が収集対象となっており、別の収集条件Ｂで同じデバイス２３Ａのトルク信号が収集対象となっていた場合に、第３設定部１０２Ｃは、デバイス２３Ａから同じトルク信号を重複して収集しないように、統合収集条件を設定する。即ち、第３設定部１０２Ｃは、デバイス２３Ａから同じトルク信号を２重で収集せず、デバイス２３Ａから同じトルク信号を１つだけ収集するように、統合収集条件を設定する。
【００６３】
また例えば、複数の収集条件の中で、動作データのサンプリングタイミングが重複していた場合、第３設定部１０２Ｃは、当該サンプリングタイミングにおける動作データを複数個収集しないように、統合収集条件を設定する。具体的には、ある収集条件Ａでデバイス２３Ａの動作データのサンプリング時間が８ミリ秒であり、別の収集条件Ｂでデバイス２３Ａの動作データのサンプリング時間が３２秒であった場合に、８ミリ秒でサンプリングされた動作データさえあれば、当該動作データを間引いて利用すれば、３２秒のサンプリング時間の動作データを取得可能となる。このため、第３設定部１０２Ｃは、あるサンプリング時間が別のサンプリング時間の整数倍であった場合に、最小値のサンプリング時間に統合した統合収集条件を設定する。
【００６４】
また例えば、複数の収集条件の中で、動作データの収集時間が重複していた場合、第３設定部１０２Ｃは、同じ時間帯における動作データを複数個収集しないように、統合収集条件を設定する。具体的には、ある収集条件Ａでデバイス２３Ａの動作データの収集時間が午前８時から午後４時であり、別の収集条件Ｂでデバイス２３Ａの動作データの収集時間が午前１０時から午後２時であった場合に、午前８時から午後４時までの動作データさえあれば、午前１０時から午後２時までの動作データを取得可能となる。このため、第３設定部１０２Ｃは、ある収集時間が別の収集時間の全てを含んでいた場合に、長い方の収集時間に統合した統合収集条件を設定する。
【００６５】
他にも例えば、ある収集条件Ｃでデバイス２３Ａの収集時間が午前９時から午後１時であり、別の収集条件Ｄでデバイス２３Ａの収集時間が午前１１時から午後４時であった場合に、開始時間が最も早い午前９時から、終了時間が最も遅い午後４時までの動作データさえあれば、これら両方の時間帯の動作データを取得可能となる。このため、第３設定部１０２Ｃは、また、第３設定部１０２Ｃは、ある収集時間が別の収集時間の一部だけを含んでいた場合に、これらの収集時間を結合した収集時間を統合収集条件として設定する。
【００６６】
第４設定部１０２Ｄは、構成情報に基づいて、動作データを格納する動作データベースＤＢ１のデータ構造を設定する。例えば、第４設定部１０２Ｄは、構成情報に基づいて、動作データベースＤＢ１のデータ構造を設定する。構成情報には、ロボットの構成が示されているので、ロボットの名前を動作データに関連付けて格納できるように、動作データベースＤＢ１のデータ構造を設定する。図３のデータ格納例であれば、ロボットコントローラ２１、メカニズム２２、及びデバイス２３の組み合わせごとに動作データが格納されるので、第４設定部１０２Ｄは、構成情報が示すこれらの組み合わせを特定し、組み合わせごとに動作データを格納できるように、動作データベースＤＢ１のデータ構造を設定する。
【００６７】
本実施形態では、ロボットコントローラ２１が１台である場合を説明するが、ロボットコントローラ２１が複数台存在する場合には、第５設定部１０２Ｅは、ロボットコントローラ２１ごとに設定を行う。例えば、第５設定部１０２Ｅは、ロボットコントローラ２１ごとに、収集条件を設定したり、動作データベースＤＢ１のデータ構造を設定したりする。個々のロボットコントローラ２１に対する設定方法は、上記説明した通りであり、例えば、各ロボットコントローラ２１に複数の収集条件が指定された場合には、ロボットコントローラ２１ごとに、統合収集条件が設定される。
【００６８】
図７は、ロボットコントローラ２１ごとに統合収集条件が設定される様子を示す図である。図７の例では、１０台のロボットコントローラ２１Ａ〜２１Ｊが存在し、「アプリＡ」〜「アプリＦ」といった６つのアプリケーションＡＰが存在する。これらアプリケーションＡＰごとに、各ロボットコントローラ２１の収集条件が設定されている。この場合、第５設定部１０Ｅは、ロボットコントローラ２１Ａ用に設定された「アプリＡ」〜「アプリＦ」の収集条件を統合し、ロボットコントローラ２１Ａ用の統合収集条件を設定する。同様に、第５設定部１０Ｅは、ロボットコントローラ２１Ｂ用に設定された「アプリＡ」〜「アプリＥ」の収集条件を統合し、ロボットコントローラ２１Ｂ用の統合収集条件を設定する。図７に示すように、他のロボットコントローラ２１Ｃ〜２１Ｊについても同様にして、統合収集条件が設定される。
【００６９】
［収集部］
収集部１０３は、制御部１１を主として実現される。収集部１０３は、設定に基づいて、ロボットコントローラ２１から、動作データを収集する。ロボットコントローラ２１は、設定部１０２の設定に基づいてロボットの動作データを計測し、収集部１０３は、当該計測された動作データを収集する。収集部１０３は、ロボットコントローラ２１から動作データを随時収集してもよいし、ある時間が訪れた場合にそれまで計測された動作データをまとめて収集してもよい。本実施形態では、収集部１０３は、第１収集部１０３Ａ、第２収集部１０３Ｂ、及び第３収集部１０３Ｃを含む。
【００７０】
本実施形態では、第１設定部１０２Ａにより収集条件が設定されるので、第１収集部１０３Ａは、当該収集条件に基づいて、ロボットコントローラ２１から、動作データを収集する。ロボットコントローラ２１は、第１設定部１０２Ａにより設定された収集条件に基づいて動作データを計測してユーザ端末１０に送信するので、第１収集部１０３Ａは、当該計測された動作データを収集する。例えば、ロボットコントローラ２１は、収集条件に含まれる動作データの種類及び収集対象のロボットを特定し、当該ロボットの当該種類の動作データを計測する。なお、ロボットコントローラ２１は、収集条件に含まれるサンプリング時間に基づいて、動作データを収集する。また、ロボットコントローラ２１は、収集条件に含まれる倍率に基づいて、ロボットが計測したトルク信号等の値を変化させて動作データに格納する。
【００７１】
また、本実施形態では、第２設定部１０２Ｂにより統合収集条件が設定されるので、第２収集部１０３Ｂは、統合収集条件に基づいて、ロボットコントローラ２１から、動作データを収集する。ロボットコントローラ２１は、第２設定部１０２Ｂにより設定された統合収集条件に基づいて動作データを計測してユーザ端末１０に送信するので、第２収集部１０３Ｂは、当該計測された動作データを収集する。ロボットコントローラ２１は、動作データの計測の際に統合収集条件を参照する。ロボットコントローラ２１がロボットの動作データを計測する流れは、先述した通りである。
【００７２】
また、本実施形態では、ロボットコントローラ２１が１台である場合を説明するが、ロボットコントローラ２１が複数台存在する場合には、第５設定部１０２Ｅによりロボットコントローラ２１ごとに設定が行われるので、第３収集部１０３Ｃは、ロボットコントローラ２１ごとに行われた設定に基づいて、当該ロボットコントローラ２１から、動作データを収集する。ロボットコントローラ２１は、第５設定部１０２Ｅにより設定された自身専用の設定に基づいて動作データを計測してユーザ端末１０に送信するので、第３収集部１０３Ｃは、当該計測された動作データを収集する。ロボットコントローラ２１がロボットの動作データを計測する流れは、先述した通りである。
【００７３】
［要求部］
要求部１０４は、制御部１１を主として実現される。先述したように、本実施形態では、収集条件は、動作データの計測スケジュールを含む。ロボットコントローラ２１が動作データを収集する時間帯が訪れたか否かを判定してもよいが、本実施形態では、ユーザ端末１０側で当該判定を実行するようにしている。
【００７４】
要求部１０４は、計測スケジュールに基づいて、動作データを収集する時間帯が訪れたか否かを判定し、当該時間帯が訪れたと判定された場合に、ロボットコントローラ２１に対し、動作データを要求する。例えば、要求部１０４は、リアルタイムクロック等を利用して現在日時を取得し、動作データを収集する時間帯の開始時間が訪れたか否かを判定する。本実施形態では、収集条件が統合された統合収集条件が用いられるので、要求部１０４は、統合収集条件が示す時間帯の開始時間が訪れたか否かを判定する。
【００７５】
図８は、動作データが要求される様子を示す図である。図８に示す例では、「アプリＡ」〜「アプリＣ」といった３つのアプリケーションＡＰが存在し、各アプリケーションＡＰに対して、互いに異なる収集時間が収集条件として設定されているものとする。図８では、各アプリの収集時間を網掛けの帯で示している。要求部１０４は、これら３つのアプリケーションＡＰに設定された計測スケジュールに基づいて、各アプリケーションＡＰが利用する動作データを収集する時間帯が訪れたか否かを判定する。
【００７６】
図８の例では、「アプリＣ」の収集時間が最初に訪れる。要求部１０４は、「アプリＣ」の収集時間が訪れると、「アプリＣ」の収集条件をロボットコントローラ２１に送信する（図８のＳ１の状態）。なお、動作データの収集中であることを示すフラグを用意しておき、Ｓ１のタイミングで当該フラグがオンに設定されてもよい。ロボットコントローラ２１は、「アプリＣ」の収集条件に基づいて、動作データの計測を開始し、ユーザ端末１０に動作データを送信する。
【００７７】
次に、「アプリＡ」の収集時間が訪れるので、要求部１０４は、「アプリＡ」と「アプリＣ」の統合収集条件をロボットコントローラ２１に送信する（図８のＳ２の状態）。ロボットコントローラ２１は、「アプリＡ」と「アプリＣ」の統合収集条件に基づいて、動作データの計測を開始し、ユーザ端末１０に動作データを送信する。
【００７８】
最後に、「アプリＢ」の収集時間が訪れるので、要求部１０４は、「アプリＡ」、「アプリＢ」、及び「アプリＣ」の統合収集条件をロボットコントローラ２１に送信する（図８のＳ３の状態）。ロボットコントローラ２１は、「アプリＡ」、「アプリＢ」、及び「アプリＣ」の統合収集条件に基づいて、動作データの計測を開始し、ユーザ端末１０に動作データを送信する。
【００７９】
何れかのアプリケーションＡＰの収集時間が終了すると、収集条件が変化するので、要求部１０４は、その旨をロボットコントローラ２１に通知する。図８の例であれば、「アプリＢ」の収集時間が最初に終了するので、要求部１０４は、「アプリＢ」の収集時間が終了すると、「アプリＡ」と「アプリＣ」の統合収集条件をロボットコントローラ２１に送信し、収集条件が変化したことを通知する（図８のＳ４の状態）。ロボットコントローラ２１は、「アプリＡ」と「アプリＣ」の統合収集条件に基づいて、動作データの計測を開始し、ユーザ端末１０に動作データを送信する。
【００８０】
次に、「アプリＡ」の収集時間が終了するので、要求部１０４は、「アプリＡ」の収集時間が終了すると、「アプリＣ」の収集条件をロボットコントローラ２１に送信し、収集条件が変化したことを通知する（図８のＳ５の状態）。ロボットコントローラ２１は、「アプリＣ」の収集条件に基づいて、動作データの計測を開始し、ユーザ端末１０に動作データを送信する。
【００８１】
最後に、「アプリＣ」の収集時間が終了するので、要求部１０４は、「アプリＣ」の収集時間が終了すると、動作データの収集停止を要求する（図６のＳ６の状態）。ロボットコントローラ２１は、「アプリＣ」の収集停止が要求されると、動作データの計測を停止する。これ以降は、動作データを計測する必要がないので、ロボットコントローラ２１にその旨が通知されるようにしてもよい。その際に、動作データの収集中であることを示すフラグがオフになるように設定されてもよい。
【００８２】
［表示制御部］
表示制御部１０５は、制御部１１を主として実現される。構成情報に基づいて、収集条件を設定するための設定画面を表示部に表示させる。設定画面は、構成情報が示すロボットから収集する動作データの収集条件を設定するための画面である。構成情報には、ロボットの構成が示されているので、例えば、表示制御部１０５は、構成情報が示すロボットの種類を設定画面において選択可能に表示させる。また例えば、ロボットの種類から収集可能な動作データの種類を特定可能なので、表示制御部１０５は、収集可能な動作データの種類を設定画面において選択可能に表示させる。
【００８３】
図９は、設定画面の一例を示す図である。図９に示すように、設定画面Ｇには、収集条件の設定名を入力するための入力フォームＦ１、サンプリング時間を入力するための入力フォームＦ２、及び収集時間を入力するための入力フォームＦ３が表示される。収集条件は、アプリケーションごとに設定されるので、例えば、ユーザは、入力フォームＦ１にアプリケーション名を入力する。また例えば、ユーザは収集時間を示す数値を入力フォームＦ２のプルダウンから選択する。また例えば、ユーザは収集時間を示す任意の数値を入力フォームＦ３に入力する。
【００８４】
また、設定画面Ｇには、動作データの分類を入力するための入力フォームＦ４、収集対象となる動作データの種類である信号種類を入力するための入力フォームＦ５、動作データのカラム名称を入力するための入力フォームＦ６、動作データの収集対象のロボットのグループを入力するための入力フォームＦ７、動作データの収集対象のロボットの軸を入力するための入力フォームＦ８、動作データの単位を入力するための入力フォームＦ９、及び動作データの倍率を入力するための入力フォームＦ１０等が表示される。
【００８５】
例えば、各入力フォームのプルダウンに表示される値は、ロボットコントローラ２１の構成情報から定まるようにしてもよい。例えば、表示制御部１０５は、構成情報が示す軸の名前に基づいて、入力フォームＦ８のプルダウンで表示される名前を設定してもよい。他にも例えば、構成情報にグループの名前を含めておく場合には、表示制御部１０５は、構成情報が示すグループ名に基づいて、入力フォームＦ７のプルダウンで表示される名前を設定してもよい。他の入力フォームについても同様に、表示制御部１０５は、構成情報に基づいて、プルダウンで表示される名前を設定してもよい。
【００８６】
［格納部］
格納部１０６は、制御部１１を主として実現される。ロボットコントローラ２１から収集した動作データを動作データベースＤＢ１に格納する。本実施形態では、動作データベースＤＢ１のデータ構造は、構成情報に基づいて設定されているので、格納部１０６は、構成情報に基づいてデータ構造が設定された動作データベースＤＢ１に動作データを格納する。例えば、動作データを計測したロボットコントローラ２１、メカニズム２２、及びデバイス２３の組み合わせを示す情報が動作データに付与されており、格納部１０６は、これらの組み合わせに関連付けて動作データを動作データベースＤＢ１に格納する。
【００８７】
［３．動作データ収集システムで実行される処理］
次に、動作データ収集システム１で実行される処理を説明する。ここでは、収集条件を設定する収集条件設定処理と、収集条件に基づいて動作データを収集する動作データ収集処理と、について説明する。収集条件設定処理及び動作データ収集処理の各々は、ユーザ端末１０において、ＣＰＵ１１が記憶部１２に記憶されたプログラムに従って動作し、ロボットコントローラ２１のＣＰＵが自身の記憶部に記憶されたプログラムに従って動作することによって実行される。収集条件設定処理及び動作データ収集処理の各々は、図２に示す機能ブロックにより実行される処理の一例である。
【００８８】
［収集条件設定処理］
図１０は、収集条件設定処理の一例を示すフロー図である。図１０に示すように、まず、ＣＰＵ１１は、構成情報の取得対象となるロボットコントローラ２１のＩＰアドレスの入力を受け付ける（Ｓ１０１）。ＩＰアドレスは、ユーザが操作部１４から入力してもよいし、ＩＰアドレスが記載されたファイルが読み込まれることによって入力されてもよい。
【００８９】
ＣＰＵ１１は、Ｓ１０１で入力されたＩＰアドレスに基づいて、ロボットコントローラ２１に対し、構成情報の取得要求を送信する（Ｓ１０２）。所定形式の命令が送信されることによって、構成情報の取得要求が行われるようにすればよい。例えば、ロボットコントローラ２１内の所定アドレスのレジスタに構成情報が格納されている場合には、当該レジスタの参照要求が送信されるようにすればよい。
【００９０】
ロボットコントローラ２１は、構成情報の取得要求を受信すると、ユーザ端末１０に構成情報を送信する（Ｓ１０３）。Ｓ１０３においては、ロボットコントローラ２１は、自身の記憶部に記憶された構成情報を読み出してユーザ端末１０に送信する。
【００９１】
ユーザ端末１０においては、構成情報を受信すると、ＣＰＵ１１は、受信した構成情報を構成情報データベースＤＢ２に格納する（Ｓ１０４）。Ｓ１０４においては、ＣＰＵ１１は、Ｓ１０１でＩＰアドレスが入力されたロボットコントローラ２１のコントローラ名に関連付けて、受信した構成情報を格納する。なお、コントローラ名は、ユーザが操作部１４から入力してもよいし、コントローラ名が記載されたファイルが読み込まれることによって入力されてもよい。
【００９２】
ＣＰＵ１１は、受信した構成情報に基づいて、動作データベースＤＢ１のデータ構造を設定する（Ｓ１０５）。Ｓ１０５においては、ＣＰＵ１１は、構成情報が示すロボットの組み合わせごとに動作データを格納できるように、動作データベースＤＢ１のデータ構造を設定する。
【００９３】
ＣＰＵ１１は、操作部１４の検出信号に基づいて、設定画面Ｇを表示させるための操作が行われたか否かを判定する（Ｓ１０６）。設定画面Ｇは、所定の操作が行われた場合に表示されるようにすればよく、例えば、ブラウザ上で設定画面Ｇを表示させる場合には、設定画面に対応するＵＲＬが入力されることであってもよいし、アプリケーション上で設定画面を表示させる場合には、設定画面Ｇを表示させる旨のボタンが選択されることであってもよい。
【００９４】
操作が行われなかった場合（Ｓ１０６；Ｎ）、本処理は終了する。一方、操作が行われた場合（Ｓ１０６；Ｙ）、ＣＰＵ１１は、構成情報データベースＤＢ２に基づいて、設定画面Ｇを表示部１５に表示させる（Ｓ１０７）。なお、ロボットコントローラ２１が複数台存在する場合、設定画面Ｇを表示させる際に、ユーザがロボットコントローラ２１を選択してもよい。この場合、Ｓ１０７においては、ＣＰＵ１１は、ユーザが選択したロボットコントローラ２１の構成情報に基づいて、設定画面Ｇを表示させる。
【００９５】
ＣＰＵ１１は、操作部１４の検出信号に基づいて、ユーザによる収集条件の入力を受け付ける（Ｓ１０８）。Ｓ１０８においては、ＣＰＵ１１は、設定画面Ｇに表示された各入力フォームに対する入力を受け付ける。
【００９６】
ＣＰＵ１１は、ユーザが入力した収集条件を収集条件データベースＤＢ３に格納し（Ｓ１０９）、本処理は終了する。Ｓ１０９においては、ＣＰＵ１１は、ユーザが入力フォームＦ１に入力したアプリケーションの名前に関連付けて、設定画面Ｇの入力フォームＦ２〜Ｆ１０の各々に対して入力された収集条件を格納する。
【００９７】
［動作データ収集処理］
図１１は、動作データ収集処理の一例を示すフロー図である。図１１に示すように、ＣＰＵ１１は、収集条件データベースＤＢ３に基づいて、何れかの収集条件の収集時間が訪れたか否かを判定する（Ｓ２０１）。Ｓ２０１においては、ＣＰＵ１１は、リアルタイムクロック等を利用して現在日時を取得し、個々の収集条件が示す収集時間になったか否かを判定する。
【００９８】
収集時間が訪れたと判定されない場合（Ｓ２０１；Ｎ）、後述するＳ２０７の処理に移行する。一方、収集時間が訪れたと判定された場合（Ｓ２０１；Ｙ）、ＣＰＵ１１は、収集時間中の収集条件が複数存在するか否かを判定する（Ｓ２０２）。Ｓ２０２においては、ＣＰＵ１１は、Ｓ２０１で収集時間が訪れたと判定された収集条件以外に、収集時間中の収集条件が存在するか否かを判定する。即ち、Ｓ２０２においては、ＣＰＵ１１は、複数の収集条件を統合すべきか否かを判定する。
【００９９】
収集時間中の収集条件が複数存在すると判定されない場合（Ｓ２０２；Ｎ）、ＣＰＵ１１は、ロボットコントローラ２１に対し、収集時間が訪れた収集条件を送信する（Ｓ２０３）。この場合、収集時間中の収集条件は、Ｓ２０１で収集時間が訪れたと判定された収集条件だけなので、ＣＰＵ１１は、収集条件を統合せずに送信する。
【０１００】
一方、収集時間中の収集条件が複数存在すると判定された場合（Ｓ２０２；Ｙ）、ＣＰＵ１１は、ロボットコントローラ２１に対し、複数の収集条件を統合した統合収集条件を送信する（Ｓ２０４）。ＣＰＵ１１は、収集時間中の収集条件が示すサンプリング時間や動作データの種類等を統合して統合収集条件を生成し、ロボットコントローラ２１に送信する。
【０１０１】
ロボットコントローラ２１は、収集条件又は統合収集条件を受信すると、動作データを計測してユーザ端末１０に送信する（Ｓ２０５）。Ｓ２０５においては、ロボットコントローラ２１は、収集条件が示すサンプリング時間や動作データの種類等に基づいて、ロボットの動作データを計測する。以降、ロボットコントローラ２１は、サンプリング時間ごとに動作データを計測し、ユーザ端末１０に送信する。
【０１０２】
ユーザ端末１０においては、動作データを受信すると、ＣＰＵ１１は、受信した動作データを動作データベースＤＢ１に格納する（Ｓ２０６）。Ｓ２０６においては、ＣＰＵ１１は、受信した動作データと、当該動作データを計測したロボットと、を関連付けて動作データベースＤＢ１に格納する。ロボットコントローラ２１は、随時動作データを計測するので、Ｓ２０５の処理とＳ２０６の処理とが繰り返される。
【０１０３】
ＣＰＵ１１は、収集時間が終了したか否かを判定する（Ｓ２０７）。Ｓ２０７においては、ＣＰＵ１１は、リアルタイムクロック等を利用して現在日時を取得し、収集時間が終了したか否かを判定する。
【０１０４】
収集時間が終了したと判定された場合（Ｓ２０７；Ｙ）、ＣＰＵ１１は、収集条件データベースＤＢ３に基づいて、全ての収集時間が終了したか否かを判定する（Ｓ２０８）。Ｓ２０８においては、ＣＰＵ１１は、収集時間中の収集条件が残っているか否かを判定する。
【０１０５】
終了していない収集時間が存在する場合（Ｓ２０８；Ｎ）、Ｓ２０２の処理に戻る。この場合、収集時間中の収集条件が残っているので、Ｓ２０２の判定の後に、Ｓ２０３又はＳ２０４の処理が実行されて、収集条件が変更される。ロボットコントローラ２１は、変更された収集条件に基づいて、動作データの計測を行う。
【０１０６】
一方、全ての収集時間が終了したと判定された場合（Ｓ２０８；Ｙ）、ＣＰＵ１１は、ロボットコントローラ２１に対し、動作データの計測停止要求を送信する（Ｓ２０９）。この場合、動作データを計測する必要がないので、計測停止要求が送信される。なお、計測停止要求は、所定形式の情報が送信されるようにすればよい。ロボットコントローラ２１は、計測停止要求を受信すると、動作データの計測を停止し（Ｓ２１０）、本処理は終了する。
【０１０７】
動作データ収集システム１によれば、ロボットコントローラ２１に接続されたロボットの構成情報に基づいて、ロボットの動作データを収集するための設定を行うことで、ロボットコントローラ２１に接続されたロボットの構成に応じたデータ収集をすることができる。例えば、ロボットの構成に応じた収集条件を設定したり、ロボットの構成に応じたデータ構造のデータベースを構築して動作データを格納したりすることができる。ロボットの構成に応じたデータ収集をすることで、ロボットの動作解析の精度や収集効率を向上させたり、無駄のないデータ構造のデータベースを構築してデータ量を圧縮させたりすることができる。他にも、不要な動作データが送信されることを防止し、通信量を削減することで、ネットワーク負荷を軽減することができる。
【０１０８】
また、ロボットの構成情報に応じた収集条件で動作データを収集することで、収集する動作データの精度や収集効率を高めることができる。このため、ロボットの動作の解析の精度を高めることができる。また、不要な動作データが送信されることを防止し、通信量を削減することで、ネットワーク負荷を軽減することもできる。
【０１０９】
また、複数の収集条件が指定された場合には当該複数の収集条件が統合されるため、動作データの収集効率を高めることができる。重複した内容の動作データが送信されることを防止し、通信量を削減することで、ネットワーク負荷を軽減することもできる。
【０１１０】
また、複数の収集条件のうち、収集対象の動作データの種類と、動作データの計測スケジュールと、の少なくとも一方が重複した場合に統合収集条件が設定されることで、同じ種類の動作データを重複して収集したり、同一の計測スケジュールで動作データを収集したりすることを防止することができる。
【０１１１】
また、アプリケーションごとに収集条件が設定され、アプリケーションに応じた収集条件を設定することができ、アプリケーションの目的に沿った動作データを収集することができる。
【０１１２】
また、ユーザ端末１０側で計測スケジュールを管理することで、ロボットコントローラ２１の処理負荷を軽減することができる。
【０１１３】
また、構成情報に応じた設定画面Ｇで収集条件を設定させることで、収集条件を設定しやすくなる。
【０１１４】
また、構成情報に応じたデータ構造のデータベースを設定して動作データを格納することで、動作データの格納効率を高めることができる。データベースに無駄なデータが格納されないので、データ量を少なくすることができる。
【０１１５】
また、複数のロボットコントローラ２１が接続されている場合であっても、ロボットコントローラ２１ごとに動作データの収集に関する設定を行うことで、ロボットコントローラ２１に応じた動作データの収集をすることができる。
【０１１６】
また、ロボットコントローラ２１の先に複数のロボットが階層的に接続されている場合に、ロボットの階層構造に応じたデータ収集をすることができる。
【０１１７】
また、ロボットコントローラ２１の先に接続された複数のロボットに主従関係が存在する場合に、当該主従関係に応じたデータ収集をすることができる。
【０１１８】
［４．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１１９】
図１２は、変形例の機能ブロック図である。図１２に示すように、以降説明する変形例では、応答要求送信部１０７、取得要求送信部１０８、及び第２構成情報取得部１０１Ｂが実現される。これらは、ＣＰＵ１１を主として実現される。例えば、実施形態では、ロボットコントローラ２１のＩＰアドレスをユーザが入力する場合を説明したが、ユーザがＩＰアドレスを入力することなく、ユーザ端末１０がロボットコントローラ２１のＩＰアドレスを取得してもよい。
【０１２０】
応答要求送信部１０７は、ネットワークＮ内の全てのノードに対し、応答要求を送信する。例えば、応答要求送信部１０７は、ブロードキャストｐｉｎｇコマンドを実行し、ネットワークＮ内の全てのノードに対し、応答要求を送信する。応答要求は、当該応答要求を受信したコンピュータにＩＰアドレスを返すための要求である。本変形例では、ロボットコントローラ２１は、応答要求を受信した場合に、自身のＩＰアドレスと、ロボットコントローラであることを示す所定の情報と、を送信する。所定の情報は、予め定められた形式の情報であればよく、例えば、所定の記号列を含む。
【０１２１】
取得要求送信部１０８は、ネットワークＮ内のノードのうち、応答要求に対して所定の応答をしたノードをロボットコントローラ２１として特定し、構成情報の取得要求を送信する。取得要求送信部１０８は、所定形式の情報を受信したか否かを判定し、所定形式の情報を送信したノードに対し、構成情報の取得要求を送信する。構成情報の取得要求は、実施形態で説明した通りである。なお、所定の応答をしたノード（ロボットコントローラ２１）のＩＰアドレスは、データ記憶部１００に保持されるものとする。
【０１２２】
第２構成情報取得部１０１は、取得要求に応じて送信された構成情報を取得する。ロボットコントローラ２１が取得要求に応じて構成情報を送信する処理は、実施形態で説明した通りである。第２構成情報取得部１０１は、所定の応答をしたロボットコントローラ２１が送信した構成情報を取得する。
【０１２３】
以上説明した変形例によれば、ネットワークＮ内の全てのノードに対して送信された応答要求に対する応答によってロボットコントローラ２１を特定し、当該特定したロボットコントローラ２１から構成情報を取得することで、例えば、ユーザがＩＰアドレスを入力する手間を省くことができ、ロボットコントローラ２１から構成情報を取得する手間を省くことができる。
【０１２４】
なお、アプリケーションＡＰを実行するユーザ端末１０が自ら動作データを収集する場合を説明したが、他のコンピュータが動作データを収集してもよい。即ち、アプリケーションＡＰを実行するコンピュータと、動作データを収集するコンピュータと、は同じであってもよいし異なっていてもよい。また例えば、アプリケーションＡＰを実行するコンピュータは、サーバコンピュータであってもよい。また例えば、動作データを収集するコンピュータは、サーバコンピュータであってもよい。また例えば、各機能がユーザ端末１０で実現される場合を説明したが、複数のコンピュータで各機能が分担されてもよい。例えば、ユーザ端末１０とロボットコントローラ２１とで機能が分担されてもよい。
【０１２５】
また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【符号の説明】
【０１２６】
１  動作データ収集システム、Ｇ  設定画面、Ｎ  ネットワーク、１０  ユーザ端末、１１  制御部、１２  記憶部、１３  通信部、１４  操作部、１５  表示部、２０  ロボットシステム、２１，２１Ａ，２１Ｂ，２１Ｃ  ロボットコントローラ、２２，２２Ａ，２２Ｂ，２２Ｃ  メカニズム、２３，２３Ａ，２３Ｂ，２３Ｃ，２３Ｄ，２３Ｅ，２３Ｆ，２３Ｇ，２３Ｈ，２３Ｉ  デバイス、ＡＰ  アプリケーション、Ｆ１，Ｆ２，Ｆ３，Ｆ４，Ｆ５，Ｆ６，Ｆ７，Ｆ８，Ｆ９，Ｆ１０  入力フォーム、１００  データ記憶部、１０１  構成情報取得部、１０２  設定部、１０２Ａ  第１設定部、１０２Ｂ  第２設定部、１０２Ｃ  第３設定部、１０２Ｄ  第４設定部、１０２Ｅ  第５設定部、１０３  収集部、１０３Ａ  第１収集部、１０３Ｂ  第２収集部、１０３Ｃ  第３収集部、１０４  要求部、１０５  表示制御部、１０６  格納部、１０７  応答要求送信部、１０８  取得要求送信部、ＤＢ１  動作データベース、ＤＢ２  構成情報データベース、ＤＢ３  収集条件データベース。
【図１】
2020046764.tif 000003
【図２】
2020046764.tif 000004
【図３】
2020046764.tif 000005
【図４】
2020046764.tif 000006
【図５】
2020046764.tif 000007
【図６】
2020046764.tif 000008
【図７】
2020046764.tif 000009
【図８】
2020046764.tif 000010
【図９】
2020046764.tif 000011
【図１０】
2020046764.tif 000012
【図１１】
2020046764.tif 000013
【図１２】
2020046764.tif 000014