(57)【要約】制御システム１は、アクチュエータ１１〜１６を制御する工場システム３と、ネットワーク回線ＮＷを介し、工場システム３からアクチュエータ１１〜１６に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ１１〜１６の状態の推定用モデルを生成する学習システム２と、を備え、工場システム３は、アクチュエータ１１〜１６を制御するロボットコントローラ４及び上位コントローラ５と、ネットワーク回線ＮＷを介して学習システム２に接続された通信管理装置７と、を含む複数のノードＸを有し、通信管理装置７は、機械学習用の情報を、他のノードＸのいずれかから取得するデータ取得部５１１と、データ取得部５１１が取得した情報を含むデータセットを構築して学習システム２から読み出し可能にするデータセット構築部５１２と、を含む。
2019107360.tif 000002
【特許請求の範囲】
【請求項１】
アクチュエータを制御する工場システムと、
ネットワーク回線を介し、前記工場システムから前記アクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習により前記アクチュエータの状態の推定用モデルを生成する学習システムと、を備え、
前記工場システムは、
前記アクチュエータを制御するノードである制御装置と、前記ネットワーク回線を介して前記学習システムに接続されたノードである読出データ構築装置と、を含む複数のノードを有し、
前記読出データ構築装置は、
前記機械学習用の情報を、他の前記ノードのいずれかから取得する取得部と、
前記取得部が取得した情報を含むデータセットを構築して前記学習システムから読み出し可能にするデータセット構築部と、を含む制御システム。
【請求項２】
前記取得部は、前記制御装置内のデータにアクセスするためのインタフェースプログラムにより前記制御装置内から読み出された前記機械学習用の情報を取得し、
前記インタフェースプログラムは、前記複数のノードのうち、前記読出データ構築装置により前記ネットワーク回線から隔離されたいずれかのノードに設けられたインタフェース保持部に記憶されている、請求項１記載の制御システム。
【請求項３】
前記複数のノードは、前記読出データ構築装置及び前記制御装置の他の前記ノードを含み、当該ノードが前記インタフェース保持部を含む、請求項２記載の制御システム。
【請求項４】
前記取得部は、複数の前記アクチュエータに関する前記機械学習用の情報を取得し、
前記データセット構築部は、前記取得部が取得した情報を、前記アクチュエータの識別情報を含む分類用情報により構造化した前記データセットを構築し、
前記学習システムは、
前記分類用情報の指定により、前記データセットから前記機械学習用の情報を抽出する情報抽出部と、
前記情報抽出部が抽出した前記機械学習用の情報を蓄積する情報蓄積部と、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記推定用モデルを生成するモデル生成部と、を有する、請求項１〜３のいずれか一項記載の制御システム。
【請求項５】
前記複数のノードのいずれかは、前記学習システムにより生成された前記推定用モデルのデータを記憶する第一モデル保持部を含み、
前記複数のノードのいずれかは、前記第一モデル保持部に記憶された前記推定用モデルに基づいて前記アクチュエータの状態推定を行う推定部を含む、請求項１〜４のいずれか一項記載の制御システム。
【請求項６】
前記推定部は、前記アクチュエータの劣化状態の推定を行う、請求項５記載の制御システム。
【請求項７】
前記複数のノードのいずれかは、前記推定部による前記アクチュエータの状態推定結果に基づいて前記アクチュエータの制御パラメータを調節するパラメータ調節部を更に有する、請求項５又は６記載の制御システム。
【請求項８】
前記学習システムは、
前記モデル生成部により生成された複数種類の前記推定用モデルを記憶する第二モデル保持部と、
前記情報蓄積部に蓄積された情報と、前記複数種類の推定用モデルによる前記アクチュエータの状態推定結果とに基づいてそれぞれの前記推定用モデルの推定精度を評価するモデル評価部と、
前記複数種類の前記推定用モデルの識別情報と、前記複数種類の前記推定用モデルの推定精度の評価結果とを表示するためのデータを生成する表示データ生成部と、を有する請求項４記載の制御システム。
【請求項９】
前記モデル評価部は、
前記情報蓄積部に蓄積された情報の一部を前記推定用モデルに入力して評価用のデータを導出する評価データ導出部と、
前記評価データ導出部により導出されたデータと、前記情報蓄積部に蓄積された情報が含む前記アクチュエータの状態の情報とを比較して当該推定用モデルの推定精度を評価する精度評価部と、を有する、請求項８記載の制御システム。
【請求項１０】
前記学習システムは、
前記工場システムのいずれかの前記ノードから前記推定用モデルの種類の指定を受信し、当該指定に従った前記推定用モデルのデータを当該ノードに送信するモデル出力部を更に有する、請求項８又は９記載の制御システム。
【請求項１１】
アクチュエータを制御する工場システムと、
ネットワーク回線を介し、前記工場システムから前記アクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習により前記アクチュエータの状態の推定用モデルを生成する学習システムと、を備え、
前記工場システムは、
前記アクチュエータを制御するノードである制御装置を含む複数のノードを有し、
前記複数のノードのいずれかは、前記学習システムにより生成された前記推定用モデルを記憶する第一モデル保持部を含み、
前記複数のノードのいずれかは、前記第一モデル保持部に記憶された前記推定用モデルに基づいて前記アクチュエータの状態推定を行う推定部を含む、制御システム。
【請求項１２】
前記複数のノードのいずれかは、前記学習システムに前記推定用モデルのデータの送信を要求するモデル要求部を含み、
前記複数のノードのいずれかは、前記モデル要求部からの要求に応じて送信された前記推定用モデルのデータを取得するモデル取得部を含む、請求項１１記載の制御システム。
【請求項１３】
前記複数のノードのいずれかは、前記モデル要求部からの要求に応じたデータとは異なるデータの取得を制限する通信規制部を含む、請求項１２記載の制御システム。
【請求項１４】
前記学習システムは、
前記工場システムから抽出した前記機械学習用の情報を蓄積する情報蓄積部と、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記推定用モデルを生成するモデル生成部と、
前記モデル生成部により生成された複数種類の前記推定用モデルを記憶する第二モデル保持部と、
前記情報蓄積部に蓄積された情報と、前記複数種類の推定用モデルによる前記アクチュエータの状態推定結果とに基づいてそれぞれの前記推定用モデルの推定精度を評価するモデル評価部と、
前記複数種類の前記推定用モデルの識別情報と、前記複数種類の前記推定用モデルの推定精度の評価結果を表示するためのデータを生成する表示データ生成部と、を有する請求項１１〜１３のいずれか一項記載の制御システム。
【請求項１５】
ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、
アクチュエータを制御する制御装置と、前記ネットワーク回線を介して前記学習システムに接続された読出データ構築装置と、を含む複数のノードを備え、
前記読出データ構築装置は、
前記機械学習用の情報を前記制御装置から取得する取得部と、
前記取得部が取得した情報を含むデータセットを構築して前記学習システムから読み出し可能にするデータセット構築部と、を有する工場システム。
【請求項１６】
ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、
アクチュエータを制御する制御装置を含む複数のノードを備え、
前記複数のノードのいずれかは、前記学習システムにより生成された前記アクチュエータの状態の推定用モデルを記憶する第一モデル保持部を有し、
前記複数のノードのいずれかは、前記第一モデル保持部に記憶された前記推定用モデルに基づいて前記アクチュエータの状態推定を行う推定部を有する、工場システム。
【請求項１７】
複数のアクチュエータに関する機械学習用の情報を当該複数のアクチュエータの制御装置から取得し、取得した情報を前記アクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築する読出データ構築装置にネットワーク回線を介して接続され、前記分類用情報の指定により、前記データセットから前記機械学習用の情報を抽出する情報抽出部と、
前記情報抽出部が抽出した前記機械学習用の情報を蓄積する情報蓄積部と、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記アクチュエータの状態の推定用モデルを生成するモデル生成部と、を備える学習システム。
【請求項１８】
前記モデル生成部により生成された複数種類の前記推定用モデルを記憶する第二モデル保持部と、
前記情報蓄積部に蓄積された情報と、前記複数種類の推定用モデルによる前記アクチュエータの状態推定結果とに基づいてそれぞれの前記推定用モデルの推定精度を評価するモデル評価部と、
前記複数種類の前記推定用モデルの識別情報と、前記複数種類の前記推定用モデルの推定精度の評価結果を表示するためのデータを生成する表示データ生成部と、を更に備える、請求項１７記載の学習システム。
【請求項１９】
複数のアクチュエータに関する機械学習用の情報を当該複数のアクチュエータの制御装置から取得し、取得した情報を前記アクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築する読出データ構築装置にネットワーク回線を介して接続された学習システムにより、前記分類用情報を指定して、前記データセットから前記機械学習用の情報を抽出することと、
取得した前記機械学習用の情報を前記学習システムに蓄積することと、
前記学習システムに蓄積した前記機械学習用の情報を用いた機械学習により、前記学習システムにより前記アクチュエータの状態の推定用モデルを生成することと、を備える推定用モデルの生成方法。
【請求項２０】
生成した複数種類の前記推定用モデルを前記学習システムに記憶することと、
前記学習システムに蓄積した前記機械学習用の情報と、前記複数種類の推定用モデルによる前記アクチュエータの状態推定結果とに基づいてそれぞれの前記推定用モデルの推定精度を評価することと、
前記複数種類の前記推定用モデルの識別情報と、前記複数種類の前記推定用モデルの推定精度の評価結果とを表示するためのデータを生成することと、を更に含む、請求項１９記載の推定用モデルの生成方法。
【請求項２１】
アクチュエータを制御する制御装置と、ネットワーク回線を介して学習システムに接続された読出データ構築装置とを含む工場システムの前記読出データ構築装置により、アクチュエータに関する機械学習用の情報を前記制御装置から取得し、取得した情報を含むデータセットを構築して前記学習システムから読み出し可能にすることと、
前記データセットから抽出した情報を用いた機械学習により前記学習システムが生成した前記アクチュエータの状態の推定用モデルに基づいて、前記工場システムにより前記アクチュエータの状態推定を行うことと、を含むアクチュエータの状態推定方法。
【請求項２２】
学習システムにおける機械学習により生成されたアクチュエータの状態の推定用モデルを、前記学習システムからネットワーク回線を介して取得し、工場システムに記憶することと、
前記工場システムに記憶した推定用モデルに基づいて、前記工場システムにより前記アクチュエータの状態推定を行うことと、を含むアクチュエータの状態推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御システム、工場システム、学習システム、推定用モデルの生成方法及びアクチュエータの状態推定方法に関する。
【背景技術】
【０００２】
特許文献１には、１又は複数の検出器をそれぞれ備える複数の生産設備と、所定領域内に設置された第一ネットワークと、第一ネットワークを介して取得した検出器の検出情報に基づいてデータ解析を行い、データ解析の結果に基づいて複数の生産設備のそれぞれの異常又は生産対象物の異常に関する判定情報を生成する解析装置と、を備える異常解析システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−９７８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、アクチュエータを制御する工場システムにおける機械学習の利用拡大に有効な制御システムの提供を目的とする。
【課題を解決するための手段】
【０００５】
本開示の一側面に係る制御システムは、アクチュエータを制御する工場システムと、ネットワーク回線を介し、工場システムからアクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータの状態の推定用モデルを生成する学習システムと、を備え、工場システムは、アクチュエータを制御するノードである制御装置と、ネットワーク回線を介して学習システムに接続されたノードである読出データ構築装置と、を含む複数のノードを有し、読出データ構築装置は、機械学習用の情報を、他のノードのいずれかから取得する取得部と、取得部が取得した情報を含むデータセットを構築して学習システムから読み出し可能にするデータセット構築部と、を含む。【０００６】
本開示の他の側面に係る制御システムは、アクチュエータを制御する工場システムと、ネットワーク回線を介し、工場システムからアクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータの状態の推定用モデルを生成する学習システムと、を備え、工場システムは、アクチュエータを制御するノードである制御装置を含む複数のノードを有し、複数のノードのいずれかは、学習システムにより生成された推定用モデルを記憶する第一モデル保持部を含み、複数のノードのいずれかは、第一モデル保持部に記憶された推定用モデルに基づいてアクチュエータの状態推定を行う推定部を含む。【０００７】
本開示の更に他の側面に係る制御システムは、アクチュエータを制御する工場システムと、ネットワーク回線を介し、工場システムからアクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータの状態の推定用モデルを生成する学習システムと、を備え、工場システムは、アクチュエータを制御するノードである制御装置を含む複数のノードを有し、複数のノードのいずれかは、学習システムにより生成された推定用モデルを記憶する第一モデル保持部を含み、複数のノードのいずれかは、第一モデル保持部に記憶された推定用モデルに基づいてアクチュエータの状態推定を行う推定部を含む。【０００８】
本開示の更に他の側面に係る工場システムは、ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、アクチュエータを制御する制御装置と、ネットワーク回線を介して学習システムに接続された読出データ構築装置と、を含む複数のノードを備え、読出データ構築装置は、機械学習用の情報を制御装置から取得する取得部と、取得部が取得した情報を含むデータセットを構築して学習システムから読み出し可能にするデータセット構築部と、を有する。【０００９】
本開示の更に他の側面に係る工場システムは、ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、アクチュエータを制御する制御装置を含む複数のノードを備え、複数のノードのいずれかは、学習システムにより生成されたアクチュエータの状態の推定用モデルを記憶する第一モデル保持部を有し、複数のノードのいずれかは、第一モデル保持部に記憶された推定用モデルに基づいてアクチュエータの状態推定を行う推定部を有する。【００１０】
本開示の更に他の側面に係る学習システムは、複数のアクチュエータに関する機械学習用の情報を当該複数のアクチュエータの制御装置から取得し、取得した情報をアクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築する読出データ構築装置にネットワーク回線を介して接続され、分類用情報の指定により、データセットから機械学習用の情報を抽出する情報抽出部と、情報抽出部が抽出した機械学習用の情報を蓄積する情報蓄積部と、情報蓄積部に蓄積された情報を用いた機械学習により、アクチュエータの状態の推定用モデルを生成するモデル生成部と、を備える。【００１１】
本開示の更に他の側面に係る推定用モデルの生成方法は、複数のアクチュエータに関する機械学習用の情報を当該複数のアクチュエータの制御装置から取得し、取得した情報をアクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築する読出データ構築装置にネットワーク回線を介して接続された学習システムにより、分類用情報を指定して、データセットから機械学習用の情報を抽出することと、取得した機械学習用の情報を学習システムに蓄積することと、学習システムに蓄積した機械学習用の情報を用いた機械学習により、学習システムによりアクチュエータの状態の推定用モデルを生成することと、を備える。【００１２】
本開示の更に他の側面に係るアクチュエータの状態推定方法は、アクチュエータを制御する制御装置と、ネットワーク回線を介して学習システムに接続された読出データ構築装置とを含む工場システムの読出データ構築装置により、アクチュエータに関する機械学習用の情報を制御装置から取得し、取得した情報を含むデータセットを構築して学習システムから読み出し可能にすることと、データセットから抽出した情報を用いた機械学習により学習システムが生成したアクチュエータの状態の推定用モデルに基づいて、工場システムによりアクチュエータの状態推定を行うことと、を含む。【００１３】
本開示の更に他の側面に係るアクチュエータの状態推定方法は、学習システムにおける機械学習により生成されたアクチュエータの状態の推定用モデルを、学習システムからネットワーク回線を介して取得し、工場システムに記憶することと、工場システムに記憶した推定用モデルに基づいて、工場システムによりアクチュエータの状態推定を行うことと、を含む。
【発明の効果】
【００１４】
本開示によれば、アクチュエータを制御する工場システムにおける機械学習の利用拡大に有効な制御システムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】制御システムの全体構成を示す模式図である。
【図２】ロボットの概略構成を例示する模式図である。
【図３】アクチュエータの概略構成を例示する模式図である。
【図４】学習システムの構成を例示するブロック図である。
【図５】工場システムの構成を例示するブロック図である。
【図６】ロボットシステムのハードウェア構成を例示するブロック図である。
【図７】推定用モデルの構築手順を例示するフローチャートである。
【図８】推定用モデルの評価手順を例示するフローチャートである。
【図９】推定用モデルの出力手順を例示するフローチャートである。
【図１０】データセットの構築手順を例示するフローチャートである。
【図１１】機械学習用のデータの送信手順を例示するフローチャートである。
【図１２】推定用モデルのデータの取得手順を例示するフローチャートである。
【図１３】推定用モデルに基づくメンテナンス推奨時期の導出手順を例示するフローチャートである。
【図１４】予測式に基づくメンテナンス推奨時期の導出手順を例示するフローチャートである。
【図１５】工場システムの構成の変形例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【００１７】
１．制御システム
本実施形態に係る制御システム１は、工場のセルに設置された産業機器（例えばロボット、ＮＣ加工装置等）のアクチュエータを制御するシステムである。図１に示すように、制御システム１は、学習システム２と工場システム３とを備える。工場システム３は、工場に設けられ、アクチュエータを制御する。
【００１８】
工場システム３は、アクチュエータを制御するノードである制御装置を含む複数のノードＸを有する。ノードＸは、物理ネットワークノードであり、有線又は無線の通信回線を介し他のデバイスとの間でデータ通信を行う電子デバイスである。例えば、複数のノードＸは、複数のロボットコントローラ４（制御装置）と、上位コントローラ５（制御装置）と、データ管理装置６と、通信管理装置７とを含む。なお、説明の便宜上、図１には一つの上位コントローラ５を示しているが、工場システム３は、複数のセルにそれぞれ設けられる複数の上位コントローラ５を備えていてもよい。この場合、工場システム３は、複数の上位コントローラ５にそれぞれ対応する複数のデータ管理装置６を備えてもよく、複数のデータ管理装置６にそれぞれ対応する複数の通信管理装置７を備えていてもよい。また、複数の上位コントローラ５に対して一つのデータ管理装置６が設けられていてもよく、複数のデータ管理装置６に対して一つの通信管理装置７が設けられていてもよい。
【００１９】
複数のロボットコントローラ４は、例えば一つのセルに配置された複数のロボット１０をそれぞれ制御するノードである。図２に示すように、ロボット１０は、例えばシリアルリンク型の垂直多関節ロボットであり、複数（例えば６軸）の関節軸Ｊ１〜Ｊ６を有するアームＡと、関節軸Ｊ１〜Ｊ６をそれぞれ駆動することによりアームＡの先端部の位置及び姿勢を調節する複数のアクチュエータ１１〜１６と、を有する。図３に示すように、アクチュエータ１１〜１６は、モータ２１と、減速機２２と、センサ２３とを有する。モータ２１は、例えばサーボモータであり、制御指令に応じてシャフト２１ａを回転させる。減速機２２は、シャフト２１ａの回転を減速させて出力軸２２ａに伝達させる。センサ２３は、シャフト２１ａの回転位置及び回転速度に関する信号を出力する。例えばセンサ２３はロータリーエンコーダであり、シャフト２１ａの回転速度に比例した周波数のパルス信号を出力する。ロボットコントローラ４は、アームＡの先端部の位置及び姿勢を目標位置及び目標姿勢に近付けるための駆動電力をアクチュエータ１１〜１６に出力する。
【００２０】
図１に戻り、上位コントローラ５（例えばプログラマブルロジックコントローラ）は、複数のロボットコントローラ４のそれぞれに上記目標位置及び目標姿勢を出力するノードである。データ管理装置６は、上位コントローラ５に接続され、各ロボット１０のアクチュエータ１１〜１６に関するデータを管理するノードである。通信管理装置７（読出データ構築装置）は、インターネット等のネットワーク回線ＮＷを介して学習システム２に接続されており、所定の標準規格（例えばＯＰＣ  ＵＡ）に従って学習システム２と工場システム３との間のデータ通信を管理するノードである。ロボットコントローラ４、上位コントローラ５及びデータ管理装置６は、通信管理装置７によってネットワーク回線ＮＷ（学習システム２と工場システム３との間のネットワーク回線）から隔離されている。
【００２１】
学習システム２は、ネットワーク回線ＮＷを介し、工場システム３からアクチュエータ１１〜１６に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ１１〜１６の状態の推定用モデルを生成する。アクチュエータ１１〜１６の状態は、センシングにより検出される状態とは別種の情報である。アクチュエータ１１〜１６の状態の一例として、減速機２２のグリースの鉄粉濃度が挙げられる。なお、アクチュエータ１１〜１６の状態は、アクチュエータ１１〜１６自体の状態に加え、アクチュエータ１１〜１６による駆動対象物の状態をも含む。学習システム２は、ネットワーク回線ＮＷにおいて、工場システム３の運営主体に属するエリア内に位置していてもよいし、他の主体に属するエリア内に位置していてもよい。
【００２２】
以下、学習システム２が上記鉄粉濃度の推定用モデルを生成し、工場システム３が当該推定用モデルに基づいてアクチュエータ１１〜１６のメンテナンスの推奨時期を導出する構成を適宜例示しつつ、学習システム２及び工場システム３の構成を詳細に説明する。
【００２３】
（１）学習システム
図４に示すように、学習システム２は、機能的な構成（以下、「機能モジュール」という。）として、情報抽出部１１１と、情報蓄積部１１２と、モデル生成部１１３と、モデル保持部１１４（第二モデル保持部）と、モデル評価部１１５と、表示データ生成部１１６と、更新情報送信部１１７と、モデル出力部１１８とを有する。
【００２４】
情報抽出部１１１は、工場システム３の通信管理装置７が構築したデータセット（後述）から、アクチュエータ１１〜１６に関する機械学習用の情報を抽出する。例えば情報抽出部１１１は、減速機２２の回転速度に関する速度データと、減速機２２に作用するトルクに関するトルクデータと、減速機２２のグリースの鉄粉濃度を示す濃度データとを抽出する。より具体的に、情報抽出部１１１は、上記濃度データと、当該濃度データの取得時刻に対応する一定期間の速度データ及びトルクデータとを一セットにした情報（以下、「学習用データ」という。）を抽出する。情報蓄積部１１２は、情報抽出部１１１が抽出した学習用データを蓄積する。
【００２５】
モデル生成部１１３は、情報蓄積部１１２に蓄積された情報を用いた機械学習により、上記推定用モデルを生成する。推定用モデルは、アクチュエータ１１〜１６の既知の状態の入力に応じて、アクチュエータ１１〜１６の未知の状態の推定結果を出力するプログラムである。一例として、推定用モデルは、速度データ及びトルクデータの入力に応じて、上記濃度データの予測値（以下、「予測濃度データ」という。）を出力する。例えば推定用モデルは、速度データ及びトルクデータを含む入力ベクトルと、濃度データを含む出力ベクトルとを結ぶニューラルネットである。モデル生成部１１３は、上記学習用データに含まれる一定期間の速度データ及びトルクデータと、当該学習用データセットに含まれる濃度データとの組み合わせを教師データとして、例えばディープラーニング等の機械学習処理により推定用モデルのパラメータ（例えばニューラルネットのノードの重み付けパラメータ）をチューニングする。なお、推定用モデルは、必ずしもニューラルネットに限定されず、所定の入力に応じて所望の推定結果を出力し得る限りいかなるプログラムであってもよい。例えば推定用モデルは、引数の入力に応じて数値を返す関数であってもよい。
【００２６】
モデル保持部１１４は、モデル生成部１１３により生成された推定用モデルを記憶する。モデル保持部１１４は、複数種類の推定用モデルを記憶するように構成されていてもよい。モデル評価部１１５は、情報蓄積部１１２に蓄積された情報と、複数種類の推定用モデルによるアクチュエータ１１〜１６の状態推定結果とに基づいてそれぞれの推定用モデルの推定精度を評価する。例えばモデル評価部１１５は、より細分化された機能モジュールとして、評価データ導出部１２１と精度評価部１２２とを有する。
【００２７】
評価データ導出部１２１は、情報蓄積部１１２に蓄積された情報の一部をいずれかの推定用モデル（以下、「評価対象モデル」という。）に入力して評価用のデータを導出する。例えば評価データ導出部１２１は、情報蓄積部１１２に蓄積されたいずれかの学習用データ（以下、「サンプルデータ」という。）の速度データ及びトルクデータを推定用モデルに入力して予測濃度データを導出する。
【００２８】
精度評価部１２２は、評価データ導出部１２１により導出されたデータと、情報蓄積部１１２に蓄積された情報が含むアクチュエータ１１〜１６の状態の情報とを比較して評価対象モデルの推定精度を評価する。例えば精度評価部１２２は、評価データ導出部１２１により導出された予測濃度データと、サンプルデータが含む濃度データ（以下、「実測濃度データ」という。）とを比較して評価対象モデルの推定精度を評価する。推定精度の評価は、実測濃度データに対する予測濃度データの乖離を差分又は比率等によって数値化することを含む。精度評価部１２２は、評価対象モデルの推定精度の評価結果をモデル保持部１１４に保存する。
【００２９】
表示データ生成部１１６は、複数種類の推定用モデルの識別情報と、複数種類の推定用モデルの推定精度の評価結果とを表示するためのデータを生成する。当該データは、必ずしも画像データに限定されず、上記推定精度の表示を可能とする限りいかなるデータであってもよい。例えば、当該データはテキストデータであってもよい。
【００３０】
更新情報送信部１１７は、モデル保持部１１４に新たな推定用モデルが追加された場合に、当該推定用モデルを含む複数種類の推定用モデルの情報を工場システム３のいずれかのノードＸに送信する。推定用モデルの情報は、精度評価部１２２による推定精度の評価結果を含む。例えば更新情報送信部１１７は、複数種類の推定用モデルの情報を表示する電子メールを工場システム３の管理者の携帯端末に送信する。
【００３１】
モデル出力部１１８は、工場システム３のいずれかのノードＸ（例えば通信管理装置７）から推定用モデルの種類の指定を受信し、当該指定に従った推定用モデルのデータを当該ノードＸに送信する。
【００３２】
（２）工場システム
（ロボットコントローラ）
図５に示すように、ロボットコントローラ４は、機能モジュールとして、位置制御部２１１と、速度制御部２１２と、トルク制御部２１３とを有する。位置制御部２１１は、アクチュエータ１１〜１６の現在の回転角度（以下、「現在角度」という。）を目標の回転角度（以下、「目標角度」という。）に近付けるように速度指令値を生成する。例えば、位置制御部２１１は、目標角度と現在角度との偏差（以下、「角度偏差」という。）に対して比例演算、比例・積分演算、又は比例・積分・微分演算等を施して速度指令値を生成する。なお、位置制御部２１１は、上位コントローラ５から取得したアームＡの先端の目標位置及び目標姿勢に応じてアクチュエータ１１〜１６の目標角度を導出する。また、位置制御部２１１は、センサ２３からのフィードバック情報に基づいて現在角度を導出する。例えば位置制御部２１１は、センサ２３から出力されたパルス信号をカウントすることにより現在角度を導出する。位置制御部２１１は、現在時刻と、目標角度及び現在角度とを対応付けた履歴データを上位コントローラ５に送信する。
【００３３】
速度制御部２１２は、アクチュエータ１１〜１６の現在の回転速度（以下、「現在速度」という。）を、位置制御部２１１により生成された速度指令値に近付けるようにトルク指令値を生成する。例えば、速度制御部２１２は、速度指令値と現在速度との偏差（以下、「速度偏差」という。）に対して比例演算、比例・積分演算、又は比例・積分・微分演算等を施してトルク指令値を生成する。なお、速度制御部２１２は、センサ２３からのフィードバック情報に基づいて現在速度を導出する。例えば速度制御部２１２は、センサ２３から出力されたパルス信号の周波数に基づいて現在速度を導出する。速度制御部２１２は、現在時刻と、速度指令値及び現在速度とを対応付けた履歴データを上位コントローラ５に送信する。
【００３４】
トルク制御部２１３は、速度制御部２１２により生成されたトルク指令値に応じたトルクをモータ２１に発生させるように、モータ２１に駆動電流を出力する。トルク制御部２１３は、現在時刻と、トルク指令値及び駆動電流とを対応付けた履歴データを上位コントローラ５に送信する。
【００３５】
ここで、アクチュエータ１１〜１６の減速機２２にバックラッシが発生した場合、このバックラッシによって減速機２２及びロボット１０の各部が振動する。この振動において発生する慣性力が外乱となって、上述の位置偏差及び速度偏差に変動が生じ、当該変動を抑制するために速度指令値及びトルク指令値にも変動が生じる。すなわち、速度指令値及びトルク指令値の変動成分には、バックラッシに起因する変動成分も含まれる。
【００３６】
（上位コントローラ）
上位コントローラ５は、機能モジュールとして、動作プログラム保持部３１１と、指令出力部３１２と、制御データ保持部３１３とを有する。動作プログラム保持部３１１は、各ロボット１０に所定の作業を実行させるための動作プログラムを記憶する。動作プログラムは、時系列に並ぶ目標位置及び目標姿勢（アームＡの先端の目標位置及び目標姿勢）を含む。
【００３７】
指令出力部３１２は、動作プログラム保持部３１１の動作プログラムを順次ロボットコントローラ４に出力する。制御データ保持部３１３は、ロボットコントローラ４の位置制御部２１１、速度制御部２１２及びトルク制御部２１３から送信された上記履歴データを記憶する。
【００３８】
（データ管理装置）
データ管理装置６は、機能モジュールとして、モデル要求部４１１と、モデル保持部４１２（第一モデル保持部）と、インタフェース保持部４１３と、データ取得部４１５と、データ保持部４１６と、推定部４１７と、予測データ蓄積部４１８と、モデル構築部４１９と、モデル保持部４２０と、推奨時期導出部４２１，４２２と、予測式修正部４２３と、予測式保持部４２４と、表示データ生成部４２５と、表示部４２６とを有する。
【００３９】
モデル要求部４１１は、学習システム２のモデル出力部１１８に推定用モデルのデータ（以下、「モデルデータ」という。）の送信を要求する。なお、モデルデータは、推定用モデル自体であってもよいし、推定用モデルを特定するためのパラメータ（例えばニューラルネットのノードの重み付けパラメータ）であってもよい。モデル要求部４１１は、モデルデータの送信に際して、推定用モデルの種類を指定するように構成されていてもよい。
【００４０】
モデル保持部４１２は、学習システム２により生成された推定用モデルを記憶する。なお、モデル保持部４１２は、いずれかのノードＸに設けられていればよいので、データ管理装置６に代えてロボットコントローラ４、上位コントローラ５、又は通信管理装置７に設けられていてもよい。
【００４１】
インタフェース保持部４１３は、上位コントローラ５内のデータにアクセスするためのインタフェースプログラムを記憶する。例えばインタフェース保持部４１３は、制御データ保持部３１３の履歴データにアクセスするためのインタフェースプログラムを記憶する。インタフェースプログラムは、例えばＡＰＩ（Application  Programming  Interface）である。なお、インタフェース保持部４１３は、通信管理装置７によりネットワーク回線ＮＷから隔離されたノードＸに設けられていればよいので、通信管理装置７に代えてロボットコントローラ４又は上位コントローラ５に設けられていてもよい。
【００４２】
データ取得部４１５は、上記速度データ及びトルクデータを取得し、取得時刻に対応付けてデータ保持部４１６に保存することを繰り返し実行する。例えば、データ取得部４１５は、インタフェース保持部４１３のインタフェースプログラムにより上記速度指令値を読み出し、これを速度データとして取得する。また、データ取得部４１５は、インタフェース保持部４１３のインタフェースプログラムにより上記トルク指令値を読み出し、これをトルクデータとして取得する。上記速度データ及びトルクデータの取得にインタフェースプログラムを用いることにより、制御データ保持部３１３の他の記憶領域（例えば動作プログラム保持部３１１）への無用なアクセスを防ぐことができる。なお、データ取得部４１５は、上記現在速度を速度データとして取得し、上記駆動電流をトルクデータとして取得してもよい。
【００４３】
データ取得部４１５は、上記実測濃度データが入力された場合にこれを取得し、取得時刻に対応付けてデータ保持部４１６に保存する。実測濃度データは、例えば、減速機２２からグリースを採取して実測された鉄粉濃度である。実測濃度データの取得時刻は、作業者がグリースを採取した時刻であってもよいし、実測濃度データをデータ取得部４１５が取得した時刻であってもよい。
【００４４】
推定部４１７は、モデル保持部４１２に記憶された推定用モデルに基づいてアクチュエータ１１〜１６の状態推定を行う。なお、推定部４１７は、いずれかのノードＸに設けられていればよいので、データ管理装置６に代えてロボットコントローラ４、上位コントローラ５、又は通信管理装置７に設けられていてもよい。例えば推定部４１７は、アクチュエータ１１〜１６の劣化状態の推定を行う。例えば推定部４１７は、推定用モデルに基づいて上記予測濃度データを推定する。具体的に、推定部４１７は、データ保持部４１６から一定期間の速度データ及びトルクデータ（以下、これらを「入力データセット」という。）を取得し、モデル保持部４１２に記憶された推定用モデルに当該入力データセットを入力して上記予測濃度データを導出する。推定部４１７は、予測濃度データを導出する度に、予測対象時刻と対応付けて予測データ蓄積部４１８に蓄積する。予測対象時刻は、予測濃度データの導出完了時刻であってもよいし、導出完了時刻よりも所定時間前の時刻であってもよい。
【００４５】
モデル構築部４１９は、予測濃度データの経時的推移に基づいて、予測濃度データの未来の経時的推移を含む上昇予測モデルを構築する。例えばモデル構築部４１９は、予測データ蓄積部４１８に所定数の新たな予測濃度データ（モデル構築部４１９において上昇予測モデルの構築に用いられていない予測濃度データ）が蓄積されたか否かを判断し、所定数の新たな予測濃度データが蓄積されたと判断したときには、当該所定数の予測濃度データに基づいて濃度データの上昇予測モデルを構築する。上昇予測モデルは、例えば減速機２２の総駆動時間と予測濃度データとの関係を示す関数である。例えば、モデル構築部４１９は、当該所定数の予測濃度データに対する多項式補間等により、上昇予測モデルを構築する。モデル構築部４１９は、構築した上昇予測モデルをモデル保持部４２０に保存する。
【００４６】
推奨時期導出部４２１は、モデル保持部４２０の上昇予測モデルに基づいて、減速機２２のメンテナンスの推奨時期を導出する。減速機２２のメンテナンスの推奨時期とは、例えば減速機２２のグリースの鉄粉濃度が所定の閾値に達する時期である。当該閾値は、過去の実績に基づいて予め設定されている。例えば推奨時期導出部４２１は、上昇予測モデルに基づいて、上記予測濃度データが所定の閾値に達するまでの総駆動時間を減速機２２のメンテナンスの推奨時期（以下、「第一の推奨時期」という。）として導出する。なお、推奨時期導出部４２１は、減速機２２のグリースの鉄粉濃度の上昇速度が所定の閾値に到達するまでの総駆動時間を第一の推奨時期として導出してもよい。
【００４７】
予測式保持部４２４は、減速機２２のメンテナンスの推奨時期を導出するための予測式を記憶する。予測式は、減速機２２の回転速度及び減速機２２に作用するトルクと、減速機２２のメンテナンスの推奨時期との関係を示す数式である。予測式の具体例としては、減速機２２の軸受の寿命予測式が挙げられる。例えば予測式保持部４２４は、次の予測式を記憶する。
【数１】
2019107360.tif 000003
Ｌ  ：メンテナンスの推奨時期（ｈ）
Ａ  ：補正係数
Ｋ  ：減速機２２の軸受の定格寿命（ｈ）
Ｎ０：減速機２２の定格速度（ｒｐｍ）
Ｎｎ：時間毎の減速機２２の回転速度（ｒｐｍ／ｈ）
Ｔ０：減速機２２の定格トルク（Ｎｍ）
Ｔｎ：時間毎の減速機２２のトルク（Ｎｍ／ｈ）
Ｐ  ：減速機の２２の種類に応じて定められた定数
【００４８】
予測式修正部４２３は、上記予測式に基づき導出される減速機２２のメンテナンスの推奨時期（以下、「第二の推奨時期」という。）を、推奨時期導出部４２１により導出される第一の推奨時期に近付けるように予測式を修正する。例えば予測式修正部４２３は、上記式（１）に基づき導出される第二の推奨時期を第一の推奨時期に近付けるように補正係数Ａの値を修正する。
【００４９】
推奨時期導出部４２２は、減速機２２の回転速度及び減速機２２に作用するトルクの設定値と予測式修正部４２３により修正された予測式とに基づいて、第二の推奨時期を導出する。上記設定値は、例えば作業者により入力される。
【００５０】
表示データ生成部４２５は、推奨時期導出部４２１により導出された第一の推奨時期、及び推奨時期導出部４２２により導出された第二の推奨時期の少なくとも一方を表示するための画像データを生成する。表示部４２６は、表示データ生成部４２５により生成された画像データにより、第一の推奨時期及び第二の推奨時期の少なくとも一方を含む画像を表示する。
【００５１】
（通信管理装置）
通信管理装置７は、機能モジュールとして、データ取得部５１１（取得部）と、データセット構築部５１２と、読出データ保持部５１３と、情報抽出部５１４と、モデル取得部５１５と、通信規制部５１６とを有する。
【００５２】
データ取得部５１１は、複数のロボット１０のアクチュエータ１１〜１６に関する機械学習用の情報を、他のノードＸのいずれかから取得する。例えばデータ取得部５１１は、インタフェース保持部４１３に記憶されたインタフェースプログラムにより上位コントローラ５内の制御データ保持部３１３から読み出された機械学習用の情報をデータ管理装置６のデータ保持部４１６から取得する。
【００５３】
読出データ保持部５１３は、学習システム２からの読み出しが可能な状態でデータを記憶する。データセット構築部５１２は、データ取得部５１１が取得した情報を含むデータセットを構築して学習システム２から読み出し可能にする。例えばデータセット構築部５１２は、データ取得部５１１が取得した情報を、アクチュエータ１１〜１６の識別情報を含む分類用情報により構造化したデータセットを構築する。アクチュエータ１１〜１６の識別情報の他の分類用情報としては、工場のセルの識別情報、ロボットの識別情報、情報の種別等が挙げられる。情報の種別の具体例としては、上記速度データ、トルクデータ、及び濃度データ等が挙げられる。例えばデータセット構築部５１２は、セルの識別情報、ロボットの識別情報、アクチュエータの識別情報、及び情報の種別によって順次枝分かれしたツリー状の構造を有するデータセットを構築し、読出データ保持部５１３に保存する。データセットがこのようなデータ構造を有する場合、上述した学習システム２の情報抽出部１１１は、分類用情報の指定によってデータセットから機械学習用の情報を抽出する。
【００５４】
情報抽出部５１４は、学習システム２の情報抽出部１１１による分類用情報の指定に応じた情報を読出データ保持部５１３のデータセットから抽出する。モデル取得部５１５は、データ管理装置６のモデル要求部４１１からの要求に応じてモデル出力部１１８から送信されたモデルデータを取得してモデル保持部４１２に保存する。モデルデータが推定用モデル自体である場合、モデル取得部５１５は、取得したモデルデータをモデル保持部４１２に上書き保存する。モデルデータが推定用モデルのパラメータである場合、モデル保持部４１２に記憶された推定用モデルのパラメータを、取得したパラメータに変更する。
【００５５】
通信規制部５１６は、工場システム３側の情報抽出部５１４、モデル取得部５１５及びモデル要求部４１１と、学習システム２側の情報抽出部１１１及びモデル出力部１１８との間に介在し、これらの間の通信を制限する。例えば通信規制部５１６は、モデル要求部４１１からの要求に応じたデータとは異なるデータをモデル出力部１１８から受信した場合に、当該データの進入をブロックし、当該データがモデル取得部５１５により取得されることを防ぐ。また、通信規制部５１６は、情報抽出部１１１からの分類用情報の指定に対応していないデータを情報抽出部５１４から取得した場合に、当該データの流出をブロックし、当該データが情報抽出部１１１に送信されることを防ぐ。
【００５６】
（３）制御システムのハードウェア構成
図６に示すように、学習システム２は、回路１９０を有する。回路１９０は、少なくとも一つのプロセッサ１９１と、メモリ１９２と、ストレージ１９３と、ネットワークアダプタ１９４とを含む。ストレージ１９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ１９３は、学習システム２の各機能モジュールを構成するためのプログラムの記憶領域と、上記情報蓄積部１１２及び上記モデル保持部１１４に割り当てられる記憶領域とを含む。メモリ１９２は、ストレージ１９３からロードしたプログラム及びプロセッサ１９１による演算結果等を一時的に記憶する。プロセッサ１９１は、メモリ１９２と協働して上記プログラムを実行することで、学習システム２の各機能モジュールを構成する。ネットワークアダプタ１９４は、プロセッサ１９１からの指令に応じて、ネットワーク回線ＮＷを介したネットワーク通信を行う。
【００５７】
ロボットコントローラ４は、回路２９０を有する。回路２９０は、少なくとも一つのプロセッサ２９１と、メモリ２９２と、ストレージ２９３と、ドライバ２９４と、入出力ポート２９５と、通信ポート２９６とを含む。ストレージ２９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ２９３は、ロボットコントローラ４の各機能モジュールを構成するためのプログラムを記憶する。メモリ２９２は、ストレージ２９３からロードしたプログラム及びプロセッサ２９１による演算結果等を一時的に記憶する。プロセッサ２９１は、メモリ２９２と協働して上記プログラムを実行することで、ロボットコントローラ４の各機能モジュールを構成する。ドライバ２９４は、プロセッサ２９１からの指令に応じてアクチュエータ１１〜１６のモータ２１に駆動電力を出力する。入出力ポート２９５は、プロセッサ２９１からの指令に応じてセンサ２３からの信号を取得する。通信ポート２９６は、プロセッサ２９１からの指令に応じ、上位コントローラ５との間でネットワーク通信を行う。
【００５８】
上位コントローラ５は、回路３９０を有する。回路３９０は、少なくとも一つのプロセッサ３９１と、メモリ３９２と、ストレージ３９３と、通信ポート３９４とを含む。ストレージ３９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ３９３は、上位コントローラ５の各機能モジュールを構成するためのプログラムの記憶領域と、上記動作プログラム保持部３１１及び制御データ保持部３１３に割り当てられる記憶領域とを含む。メモリ３９２は、ストレージ３９３からロードしたプログラム及びプロセッサ３９１による演算結果等を一時的に記憶する。プロセッサ３９１は、メモリ３９２と協働して上記プログラムを実行することで、上位コントローラ５の各機能モジュールを構成する。通信ポート３９４は、プロセッサ３９１からの指令に応じ、ロボットコントローラ４及びデータ管理装置６との間でネットワーク通信を行う。
【００５９】
データ管理装置６は、回路４９０を有する。回路４９０は、少なくとも一つのプロセッサ４９１と、メモリ４９２と、ストレージ４９３と、通信ポート４９４と、モニタ４９５と、入力デバイス４９６とを含む。ストレージ４９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ４９３は、データ管理装置６の各機能モジュールを構成するためのプログラムの記憶領域と、上記モデル保持部４１２、インタフェース保持部４１３、データ保持部４１６、予測データ蓄積部４１８、モデル保持部４２０及び予測式保持部４２４に割り当てられる記憶領域とを含む。メモリ４９２は、ストレージ４９３からロードしたプログラム及びプロセッサ４９１による演算結果等を一時的に記憶する。プロセッサ４９１は、メモリ４９２と協働して上記プログラムを実行することで、データ管理装置６の各機能モジュールを構成する。通信ポート４９４は、プロセッサ４９１からの指令に応じ、上位コントローラ５及び通信管理装置７との間でネットワーク通信を行う。モニタ４９５は、例えば液晶モニタ等の画像表示装置であり、例えば上記表示部４２６等として用いられる。入力デバイス４９６は、例えばキーパッドなどの情報入力装置であり、上記推奨時期導出部４２２による設定値の取得などに用いられる。モニタ４９５及び入力デバイス４９６は、所謂タッチパネルのように一体化されていてもよい。
【００６０】
通信管理装置７は、回路５９０を有する。回路５９０は、少なくとも一つのプロセッサ５９１と、メモリ５９２と、ストレージ５９３と、通信ポート５９４と、ネットワークアダプタ５９５とを含む。ストレージ５９３は、コンピュータによって読み取り可能な不揮発型の記憶媒体（例えばハードディスク又はフラッシュメモリ）である。ストレージ５９３は、通信管理装置７の各機能モジュールを構成するためのプログラムの記憶領域と、上記読出データ保持部５１３に割り当てられる記憶領域とを含む。メモリ５９２は、ストレージ５９３からロードしたプログラム及びプロセッサ５９１による演算結果等を一時的に記憶する。プロセッサ５９１は、メモリ５９２と協働して上記プログラムを実行することで、通信管理装置７の各機能モジュールを構成する。通信ポート５９４は、プロセッサ５９１からの指令に応じ、データ管理装置６との間でネットワーク通信を行う。ネットワークアダプタ５９５は、プロセッサ５９１からの指令に応じて、ネットワーク回線ＮＷを介したネットワーク通信を行う。
【００６１】
２．推定用モデルの生成方法
続いて、推定用モデルの生成方法の一例として、学習システム２により実行される推定用モデルの生成手順、推定用モデルの評価手順及び推定用モデルの出力手順をそれぞれ説明する。
【００６２】
（１）推定用モデルの生成手順
図７に示すように、学習システム２は、まずステップＳ０１を実行する。ステップＳ０１では、情報抽出部１１１が、読出データ保持部５１３に新たなデータセットが保存されるのを待機する。読出データ保持部５１３に新たなデータセットが保存されたか否かは、情報抽出部５１４への問い合わせ又は情報抽出部５１４からの通知によって確認可能である。
【００６３】
次に、学習システム２はステップＳ０２，Ｓ０３，Ｓ０４を順に実行する。ステップＳ０２では、情報抽出部１１１が分類用情報の指定を通信規制部５１６に送信する。ステップＳ０３では、ステップＳ０２における指定に応じて読出データ保持部５１３から抽出されたデータを、情報抽出部１１１が通信規制部５１６から取得して情報蓄積部１１２に保存する。ステップＳ０４では、学習用データを構成する全てのデータを取得したか否かを情報抽出部１１１が確認する。ステップＳ０４において、未取得のデータが残っていると判定した場合、学習システム２は処理をステップＳ０２に戻す。以後、学習用データを構成する全てのデータの取得が完了するまでは、分類用情報の指定によるデータの抽出が繰り返される。
【００６４】
ステップＳ０４において、学習用データを構成する全てのデータを取得したと判定した場合、学習システム２はステップＳ０５を実行する。ステップＳ０５では、機械学習に必要な数の学習用データが情報蓄積部１１２に蓄積されたか否かをモデル生成部１１３が確認する。ステップＳ０５において、機械学習に必要な数の学習用データは蓄積されていないと判定した場合、学習システム２は処理をステップＳ０１に戻す。以後、機械学習に必要な数の学習用データが蓄積されるまでは、学習用データの蓄積が繰り返される。
【００６５】
ステップＳ０５において、機械学習に必要な数の学習用データが情報蓄積部１１２に蓄積されたと判定した場合、学習システム２はステップＳ０６，Ｓ０７を順に実行する。ステップＳ０６では、モデル生成部１１３が、情報蓄積部１１２に蓄積された学習用データに基づく機械学習により、上記推定用モデルを生成する。ステップＳ０７では、モデル生成部１１３が、生成した推定用モデルをモデル保持部１１４に保存する。以上で推定用モデルの生成手順が完了する。学習システム２は、以上の手順を繰り返し実行する。
【００６６】
（２）推定用モデルの評価手順
図８に示すように、学習システム２は、ステップＳ１１，Ｓ１２，Ｓ１３，Ｓ１４を順に実行する。ステップＳ１１では、モデル評価部１１５が、モデル保持部１１４に新たな推定用モデルが保存されるのを待機する。ステップＳ１２では、モデル評価部１１５が、学習用データのいずれかをサンプルデータとして選択し、サンプルデータに含まれる速度データ及びトルクデータを評価対象モデル（モデル保持部１１４に新たに保存された推定用モデル）に入力して予測濃度データを導出する。ステップＳ１３では、モデル評価部１１５が、ステップＳ１２において導出された予測濃度データと、サンプルデータが含む実測濃度データとを比較して、推定用モデルの推定精度を評価し、評価結果をモデル保持部１１４に保存する。ステップＳ１４では、表示データ生成部１１６が、複数種類の推定用モデルの識別情報と、複数種類の推定用モデルの推定精度の評価結果とを表示するためのデータを生成し、当該データを更新情報送信部１１７が工場システム３のいずれかのノードＸに送信する。以上で推定用モデルの評価手順が完了する。学習システム２は以上の手順を繰り返し実行する。
【００６７】
（３）推定用モデルの出力手順
図９に示すように、学習システム２は、ステップＳ２１，Ｓ２２，Ｓ２３を順に実行する。ステップＳ２１では、モデル出力部１１８が、推定用モデルの送信要求が通信規制部５１６から送信されるのを待機する。ステップＳ２２では、モデル出力部１１８が、送信すべき推定用モデルの種類の指定を通信規制部５１６から取得する。ステップＳ２３では、モデル出力部１１８が、ステップＳ２２において指定された推定用モデルのデータを通信規制部５１６に送信する。以上で推定用モデルの出力手順が完了する。学習システム２は以上の手順を繰り返し実行する。
【００６８】
３．機械学習用のデータの送信方法
続いて、機械学習用のデータの送信方法の一例として、通信管理装置７により実行されるデータセットの構築手順及びデータセットの送信手順をそれぞれ説明する。
【００６９】
（１）データセットの構築手順
図１０に示すように、通信管理装置７は、まずステップＳ３１，Ｓ３２，Ｓ３３を順に実行する。ステップＳ３１では、データ取得部５１１が、データ保持部４１６に新たなデータが加わるのを待機する。ステップＳ３２では、データ取得部５１１が、データ保持部４１６に加わった新たなデータを取得する。ステップＳ３３では、全てのロボット１０のアクチュエータ１１〜１６について新たなデータの取得が完了したか否かをデータ取得部５１１が確認する。ステップＳ３３において、新たなデータを取得していないアクチュエータ１１〜１６が残っていると判定した場合、通信管理装置７は処理をステップＳ３１に戻す。以後、全てのロボット１０のアクチュエータ１１〜１６について新たなデータの取得が完了するまで、新たなデータの取得が繰り返される。
【００７０】
ステップＳ３３において、全てのロボット１０のアクチュエータ１１〜１６について新たなデータの取得が完了したと判定した場合、通信管理装置７はステップＳ３４，Ｓ３５を順に実行する。ステップＳ３４では、新たなデータを用いてデータセット構築部５１２が上記データセットを構築する。ステップＳ３５では、データセット構築部５１２が、ステップＳ３４で構築したデータセットを読出データ保持部５１３に保存する。なお、読出データ保持部５１３に既存のデータセットが保存されている場合、データセット構築部５１２は、ステップＳ３４で構築したデータセットを読出データ保持部５１３に上書き保存する。以上でデータセットの構築手順が完了する。通信管理装置７は以上の手順を繰り返し実行する。
【００７１】
（２）データの送信手順
図１１に示すように、通信管理装置７は、まずステップＳ４１，Ｓ４２，Ｓ４３，Ｓ４４を順に実行する。ステップＳ４１では、情報抽出部１１１からのデータの送信要求の受信を通信規制部５１６が待機する。ステップＳ４２では、通信規制部５１６が、送信すべきデータの分類指定を受信する。ステップＳ４３では、情報抽出部５１４が、ステップＳ４２において受信された分類指定に応じたデータを読出データ保持部５１３のデータセットから抽出し、通信規制部５１６に出力する。ステップＳ４４では、情報抽出部５１４から取得したデータが分類指定にマッチしているか否かを通信規制部５１６が確認する。ステップＳ４４において、情報抽出部５１４から取得したデータが分類指定にマッチしていないと判定した場合、通信管理装置７は処理をステップＳ４３に戻す。以後、分類指定にマッチしたデータが抽出されるまで、データ抽出とデータチェックとが繰り返される。
【００７２】
ステップＳ４４において、情報抽出部５１４から取得したデータが分類指定にマッチしていると判定した場合、通信管理装置７はステップＳ４５を実行する。ステップＳ４５では、通信規制部５１６が、分類指定にマッチすると認定されたデータを情報抽出部１１１に送信する。以上でデータの送信手順が完了する。通信管理装置７は以上の手順を繰り返し実行する。
【００７３】
４．アクチュエータの状態推定方法
続いて、アクチュエータの状態推定方法の一例として、推定用モデルのデータの取得手順、推定用モデルに基づくメンテナンス推奨時期の導出手順、及び予測式に基づくメンテナンス推奨時期の導出手順をそれぞれ説明する。
【００７４】
（１）推定用モデルのデータの取得手順
図１２に示すように、通信管理装置７は、まずステップＳ５１，Ｓ５２，Ｓ５３を順に実行する。ステップＳ５１では、通信規制部５１６が、モデル要求部４１１から推定用モデルのデータが要求されるのを待機する。ステップＳ５２では、通信規制部５１６が、推定用モデルの送信要求をモデル出力部１１８に送信する。ステップＳ５３では、通信規制部５１６が、推定用モデルの種類の指定をモデル要求部４１１から取得してモデル出力部１１８に送信する。
【００７５】
次に、通信管理装置７はステップＳ５４，Ｓ５５を実行する。ステップＳ５４では、通信規制部５１６が、モデル出力部１１８からのデータの受信を待機する。ステップＳ５５では、モデル出力部１１８から受信したデータが、モデル要求部４１１により指定された推定用モデルのデータであるか否かを通信規制部５１６が確認する。例えば通信規制部５１６は、モデル出力部１１８から受信したデータが含む識別情報に基づいて、受信したデータが指定された推定用モデルのデータであるか否かを確認する。ステップＳ５５において、受信したデータは指定された推定用モデルのデータではないと判定した場合、通信管理装置７は処理をステップＳ５４に戻す。以後、指定された推定用モデルのデータを受信するまでは、データ取得とデータチェックとが繰り返される。
【００７６】
ステップＳ５５において、受信したデータは指定された推定用モデルのデータであると判定した場合、通信管理装置７はステップＳ５６，Ｓ５７を順に実行する。ステップＳ５６では、通信規制部５１６が受信した推定用モデルのデータをモデル取得部５１５が取得する。ステップＳ５７では、ステップＳ５６において取得した推定用モデルのデータをモデル取得部５１５がデータ管理装置６のモデル保持部４１２に保存する。以上で推定用モデルのデータの取得手順が完了する。通信管理装置７は以上の手順を繰り返し実行する。
【００７７】
（２）推定用モデルに基づくメンテナンス推奨時期の導出手順
図１３に示すように、データ管理装置６は、まずステップＳ６１，Ｓ６２，Ｓ６３を順に実行する。ステップＳ６１では、推定部４１７が、新たな上記入力データセット（予測濃度データの導出に用いられていない入力データセット）がデータ保持部４１６に蓄積されるのを待機する。ステップＳ６２では、推定部４１７が、新たな入力データセットをモデル保持部４１２の推定用モデルに入力し、上記予測濃度データを導出する。その後、推定部４１７は、当該予測濃度データを予測データ蓄積部４１８に保存する。ステップＳ６３では、モデル構築部４１９が、予測データ蓄積部４１８に所定数の新たな予測濃度データ（モデル構築部４１９において未使用の予測濃度データ）が蓄積されたか否かを判断する。蓄積された新たな予測濃度データの数が所定数に達していないと判定した場合、データ管理装置６は処理をステップＳ６１に戻す。以後、所定数の新たな予測濃度データが予測データ蓄積部４１８に蓄積されたと判定するまでは、予測濃度データの導出及び保存が繰り返される。
【００７８】
ステップＳ６３において、所定数の新たな予測濃度データが予測データ蓄積部４１８に蓄積されたと判定した場合、データ管理装置６はステップＳ６４を実行する。ステップＳ６４では、モデル構築部４１９が、所定数の新たな予測濃度データに基づいて濃度データの上昇予測モデルを構築する。
【００７９】
次に、データ管理装置６はステップＳ６５を実行する。ステップＳ６５では、推奨時期導出部４２１が、上昇予測モデルに基づいて、上記第一の推奨時期（推定用モデルに基づく減速機２２のメンテナンスの推奨時期）を導出する。次に、データ管理装置６はステップＳ６６を実行する。ステップＳ６６では、表示データ生成部４２５が、第一の推奨時期を表示するための画像データを生成し、表示部４２６が当該画像データにより第一の推奨時期を含む画像を表示する。
【００８０】
次に、データ管理装置６は、ステップＳ６７，Ｓ６８を順に実行する。ステップＳ６７では、推奨時期導出部４２２が、上記予測式に基づき上記第二の推奨時期（予測式による減速機２２のメンテナンスの推奨時期）を導出する。ステップＳ６８では、予測式修正部４２３が、第二の推奨時期を、第一の推奨時期に近付けるように予測式を修正する。例えば予測式修正部４２３は、ステップＳ６７において算出された第二の推奨時期と、ステップＳ６５において算出された第一の推奨時期との比率を乗算して上記補正係数Ａの値を修正する。以上により、推定用モデルに基づくメンテナンス推奨時期の導出手順が完了する。データ管理装置６は以上の手順を繰り返し実行する。
【００８１】
（３）予測式に基づくメンテナンス推奨時期の導出手順
図１４に示すように、データ管理装置６は、ステップＳ７１，Ｓ７２，Ｓ７３を順に実行する。ステップＳ７１では、推奨時期導出部４２２が、減速機２２の回転速度及びトルクの設定値の入力を待機する。ステップＳ７２では、推奨時期導出部４２２が、入力された設定値と予測式修正部４２３により修正された予測式とに基づいて、上記第二の推奨時期を導出する。例えば推奨時期導出部４２２は、上記の式（１）に基づいて第二の推奨時期を導出する。ステップＳ７３では、表示データ生成部４２５が、第二の推奨時期を表示するための画像データを生成し、表示部４２６が当該画像データにより第二の推奨時期を含む画像を表示する。表示データ生成部４２５は、第一の推奨時期及び第二の推奨時期の両方を表示するための画像データを生成してもよい。以上により、予測式に基づくメンテナンス推奨時期の導出手順が完了する。データ管理装置６は、以上のメンテナンス推奨時期の導出手順を繰り返し実行する。
【００８２】
５．本実施形態の効果
以上に説明したように、制御システム１は、アクチュエータ１１〜１６を制御する工場システム３と、ネットワーク回線ＮＷを介し、工場システム３からアクチュエータ１１〜１６に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ１１〜１６の状態の推定用モデルを生成する学習システム２と、を備え、工場システム３は、アクチュエータ１１〜１６を制御するノードであるロボットコントローラ４及び上位コントローラ５と、ネットワーク回線ＮＷを介して学習システム２に接続されたノードである通信管理装置７と、を含む複数のノードＸを有し、通信管理装置７は、機械学習用の情報を、他のノードＸのいずれかから取得するデータ取得部５１１と、データ取得部５１１が取得した情報を含むデータセットを構築して学習システム２から読み出し可能にするデータセット構築部５１２と、を含む。
【００８３】
この制御システム１によれば、ロボットコントローラ４及び上位コントローラ５へのネットワークアクセスを伴わずに、工場システム３から学習システム２に機械学習用の情報を提供することができる。このため、ロボットコントローラ４及び上位コントローラ５の信頼性維持と、機械学習用の情報収集の効率化との両立を図ることができる。従って、工場システム３における機械学習の利用拡大に有効である。
【００８４】
データ取得部５１１は、上位コントローラ５内のデータにアクセスするためのインタフェースプログラムにより上位コントローラ５内から読み出された機械学習用の情報を取得し、インタフェースプログラムは、複数のノードＸのうち、通信管理装置７によりネットワーク回線ＮＷから隔離されたいずれかのノードＸに設けられたインタフェース保持部４１３に記憶されていてもよい。この場合、インタフェースプログラムにより読み出された機械学習用の情報を取得することにより、当該情報を記憶する領域とは別の記憶領域に誤ってアクセスすること等を抑制することができる。また、通信管理装置７によりネットワーク回線ＮＷから隔離されたノードＸのインタフェース保持部４１３にインタフェースプログラムを配置することにより、上位コントローラ５へのネットワークアクセスをより厳しく制限し、上位コントローラ５の信頼性をより確実に維持することができる。
【００８５】
複数のノードＸは、通信管理装置７並びにロボットコントローラ４及び上位コントローラ５の他のノードＸを含み、当該ノードＸがインタフェース保持部４１３を含んでもよい。
【００８６】
データ取得部５１１は、複数のアクチュエータ１１〜１６に関する機械学習用の情報を取得し、データセット構築部５１２は、データ取得部５１１が取得した情報を、アクチュエータ１１〜１６の識別情報を含む分類用情報により構造化したデータセットを構築し、学習システム２は、分類用情報の指定により、データセットから機械学習用の情報を抽出する情報抽出部１１１と、情報抽出部１１１が抽出した機械学習用の情報を蓄積する情報蓄積部１１２と、情報蓄積部１１２に蓄積された情報を用いた機械学習により、推定用モデルを生成するモデル生成部１１３と、を有してもよい。この場合、機械学習用の情報収集の更なる効率化を図ることができる。
【００８７】
複数のノードＸのいずれかは、学習システム２により生成された推定用モデルのデータを記憶するモデル保持部４１２を含み、複数のノードＸのいずれかは、モデル保持部４１２に記憶された推定用モデルに基づいてアクチュエータ１１〜１６の状態推定を行う推定部４１７を含んでもよい。この場合、学習システム２に配置された推定用モデルをアクチュエータ１１〜１６の状態推定に用いるのに比較して、学習システム２側から工場システム３側へのデータ送信の頻度が低くなる。従って、ロボットコントローラ４及び上位コントローラ５の信頼性をより確実に維持することができる。
【００８８】
推定部４１７は、アクチュエータ１１〜１６の劣化状態の推定を行ってもよい。複数のノードＸのいずれかは、推定部４１７によるアクチュエータ１１〜１６の状態推定結果に基づいてアクチュエータ１１〜１６の制御パラメータを調節するパラメータ調節部３１４を更に有してもよい。
【００８９】
学習システム２は、モデル生成部１１３により生成された複数種類の推定用モデルを記憶するモデル保持部１１４と、情報蓄積部１１２に蓄積された情報と、複数種類の推定用モデルによるアクチュエータ１１〜１６の状態推定結果とに基づいてそれぞれの推定用モデルの推定精度を評価するモデル評価部１１５と、複数種類の推定用モデルの識別情報と、複数種類の推定用モデルの推定精度の評価結果とを表示するためのデータを生成する表示データ生成部１１６と、を有してもよい。この場合、複数種類の推定用モデルと、これらの評価結果との可視化を図りつつ、推定用モデルの選択的な取得を可能にすることで、より広範なニーズに応じた推定用モデルの提供が可能となる。
【００９０】
モデル評価部１１５は、情報蓄積部１１２に蓄積された情報の一部を推定用モデルに入力して評価用のデータを導出する評価データ導出部１２１と、評価データ導出部１２１により導出されたデータと、情報蓄積部１１２に蓄積された情報が含むアクチュエータ１１〜１６の状態の情報とを比較して当該推定用モデルの推定精度を評価する精度評価部１２２と、を有してもよい。この場合、推定用モデルの評価に既存のデータを活用することで、推定用モデルを迅速に評価することができる。
【００９１】
学習システム２は、工場システム３のいずれかのノードＸから推定用モデルの種類の指定を受信し、当該指定に従った推定用モデルのデータを当該ノードＸに送信するモデル出力部１１８を更に有してもよい。この場合、推定用モデルの評価結果に基づく推定用モデルの選択的な送信要求を可能にし、工場システム３へのデータ送信の頻度を更に低減することができる。
【００９２】
制御システム１は、アクチュエータ１１〜１６を制御する工場システム３と、ネットワーク回線ＮＷを介し、工場システム３からアクチュエータ１１〜１６に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ１１〜１６の状態の推定用モデルを生成する学習システム２と、を備え、工場システム３は、アクチュエータ１１〜１６を制御するノードであるロボットコントローラ４及び上位コントローラ５を含む複数のノードＸを有し、複数のノードＸのいずれかは、学習システム２により生成された推定用モデルを記憶するモデル保持部４１２を含み、複数のノードＸのいずれかは、モデル保持部４１２に記憶された推定用モデルに基づいてアクチュエータ１１〜１６の状態推定を行う推定部４１７を含む。この場合、長期的な機械学習と、制御における学習結果のリアルタイムな活用との両立を図ることができる。従って、工場システム３における機械学習の利用拡大に有効である。
【００９３】
複数のノードＸのいずれかは、学習システム２に推定用モデルのデータの送信を要求するモデル要求部４１１を含み、複数のノードＸのいずれかは、モデル要求部４１１からの要求に応じて送信された推定用モデルのデータを取得するモデル取得部５１５を含んでもよい。この場合、学習システム２から工場システム３へのモデルデータの送信タイミングを工場システム３側にて決定することができるので、工場システム３への不測のデータ送信の頻度をより確実に低減させることができる。
【００９４】
複数のノードＸのいずれかは、モデル要求部４１１からの要求に応じたデータとは異なるデータの取得を制限する通信規制部５１６を含んでいてもよい。この場合、工場システム３への不測のデータ送信の頻度をより確実に低減させることができる。
【００９５】
以上、実施形態について説明したが、本発明は必ずしも上述した形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。例えば、複数のノードＸのいずれかは、推定部４１７によるアクチュエータ１１〜１６の状態推定結果に基づいてアクチュエータ１１〜１６の制御パラメータを調節するパラメータ調節部を更に有してもよい。例えば図１５に例示する工場システム３においては、ロボットコントローラ４がパラメータ保持部２１４を更に有し、上位コントローラ５がパラメータ調節部３１４を更に有する。パラメータ保持部２１４は、各種制御パラメータ（例えば位置制御ゲイン、速度制御ゲイン、及びトルク制御ゲイン等）を記憶する。位置制御部２１１、速度制御部２１２、トルク制御部２１３は、パラメータ保持部２１４に記憶された制御パラメータに従って上述した制御を実行する。パラメータ調節部３１４は、推定部４１７によるアクチュエータ１１〜１６の状態推定結果に基づいて、パラメータ保持部２１４に記憶される制御パラメータをアクチュエータ１１〜１６の制御パラメータを調節する。
【００９６】
また、工場システム３のノード構成は、必ずしも上述した構成に限られない。工場システム３は、少なくともロボットコントローラ４及び上位コントローラ５等の制御装置と、通信管理装置７とを備えていればよい。例えば、データ管理装置６の少なくとも一部の機能が上位コントローラ５に組み込まれていてもよく、データ管理装置６の全ての機能が上位コントローラ５に組み込まれていてもよい。
【符号の説明】
【００９７】
１…制御システム、２…学習システム、３…工場システム、４…ロボットコントローラ（制御装置）、５…上位コントローラ（制御装置）、７…通信管理装置、１１〜１６…アクチュエータ、１１１…情報抽出部、１１２…情報蓄積部、１１３…モデル生成部、１１４…モデル保持部（第二モデル保持部）、１１５…モデル評価部、１１６…表示データ生成部、１１８…モデル出力部、１２１…評価データ導出部、１２２…精度評価部、３１４…パラメータ調節部、４１１…モデル要求部、４１２…モデル保持部（第一モデル保持部）、４１３…インタフェース保持部、４１７…推定部、５１１…データ取得部（取得部）、５１２…データセット構築部、ＮＷ…ネットワーク回線、Ｘ…ノード。
【図１】
2019107360.tif 000004
【図２】
2019107360.tif 000005
【図３】
2019107360.tif 000006
【図４】
2019107360.tif 000007
【図５】
2019107360.tif 000008
【図６】
2019107360.tif 000009
【図７】
2019107360.tif 000010
【図８】
2019107360.tif 000011
【図９】
2019107360.tif 000012
【図１０】
2019107360.tif 000013
【図１１】
2019107360.tif 000014
【図１２】
2019107360.tif 000015
【図１３】
2019107360.tif 000016
【図１４】
2019107360.tif 000017
【図１５】
2019107360.tif 000018
【国際調査報告】
2019107360.tif 000019
2019107360.tif 000020
2019107360.tif 000021