(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-03
(45)【発行日】2023-08-14
(54)【発明の名称】制御システム、工場システム、学習システム、推定用モデルの生成方法及びアクチュエータの状態推定方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20230804BHJP
B25J 13/00 20060101ALI20230804BHJP
【FI】
G05B23/02 G
B25J13/00 Z
(21)【出願番号】P 2021130092
(22)【出願日】2021-08-06
(62)【分割の表示】P 2019557240の分割
【原出願日】2018-11-27
【審査請求日】2021-11-02
(31)【優先権主張番号】P 2017227874
(32)【優先日】2017-11-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【氏名又は名称】松尾 茂樹
(72)【発明者】
【氏名】▲崎▼山 卓史
(72)【発明者】
【氏名】弓場 忠輔
(72)【発明者】
【氏名】梅田 信弘
(72)【発明者】
【氏名】石橋 直義
【審査官】田中 友章
(56)【参考文献】
【文献】特開2017-076386(JP,A)
【文献】特開2017-199077(JP,A)
【文献】特開2009-116406(JP,A)
【文献】特開2016-191973(JP,A)
【文献】特開2017-151598(JP,A)
【文献】特開2017-033239(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
B25J 13/00
(57)【特許請求の範囲】
【請求項1】
アクチュエータを制御する工場システムと、
ネットワーク回線を介し、前記工場システムから前記アクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習により、前記アクチュエータの既知の状態の入力に応じて前記アクチュエータの未知の状態の推定結果を出力する推定用モデルを生成する学習システムと、を備え、
前記工場システムは、
前記ネットワーク回線を介して前記学習システムと通信する通信管理装置と、
前記ネットワーク回線から隔離され、前記アクチュエータを制御する制御装置と、
前記通信管理装置を介して、前記学習システムに前記推定用モデルの送信を要求するモデル要求部と、
前記モデル要求部からの要求に応じて前記学習システムから送信され、前記通信管理装置が受信した前記推定用モデルを記憶する第一モデル保持部と、
前記制御装置から取得された前記アクチュエータの既知の状態を、前記学習システムに送信することなく、前記第一モデル保持部に記憶された前記推定用モデルに入力して前記アクチュエータの未知の状態を推定する推定部と、を有
し、
前記通信管理装置は、前記モデル要求部からの要求に応じたデータとは異なるデータが前記第一モデル保持部に記憶されることをブロックする通信規制部を含む、制御システム。
【請求項2】
前記学習システムは、
前記通信管理装置を介して前記工場システムから抽出した前記機械学習用の情報を蓄積する情報蓄積部と、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記推定用モデルを生成するモデル生成部と、
前記モデル生成部により生成された複数種類の推定用モデルを記憶する第二モデル保持部と、
前記情報蓄積部に蓄積された情報に基づいて前記複数種類の推定用モデルのそれぞれの推定精度を評価するモデル評価部と、
前記複数種類の推定用モデルの識別情報と、前記複数種類の推定用モデルの推定精度の評価結果を表示するためのデータを生成する表示データ生成部と、を有する請求項
1記載の制御システム。
【請求項3】
前記モデル評価部は、
前記情報蓄積部に蓄積された情報の一部を前記推定用モデルに入力して評価用のデータを導出する評価データ導出部と、
前記評価データ導出部により導出されたデータと、前記情報蓄積部に蓄積された情報とを比較して当該推定用モデルの推定精度を評価する精度評価部と、を有する、請求項
2記載の制御システム。
【請求項4】
前記モデル要求部による前記推定用モデルの送信の要求は、前記複数種類の推定用モデルのいずれかの指定を含み、
前記学習システムは、前記複数種類の推定用モデルのうち、前記送信の要求が指定する推定用モデルを前記通信管理装置に送信するモデル出力部を更に有する、請求項
2又は
3記載の制御システム。
【請求項5】
前記推定部は、前記アクチュエータの劣化状態の推定を行う、請求項1~
4のいずれか一項記載の制御システム。
【請求項6】
前記工場システムは、前記推定部による前記アクチュエータの状態推定結果に基づいて前記アクチュエータの制御パラメータを調節するパラメータ調節部を更に有する、請求項1~
5のいずれか一項記載の制御システム。
【請求項7】
前記工場システムは、前記ネットワーク回線から隔離され、複数のアクチュエータを制御する複数の制御装置を含み、
前記通信管理装置は、前記複数のアクチュエータに関する機械学習用の情報を前記複数の制御装置から取得し、取得した情報を前記複数のアクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築し、
前記学習システムは、
前記ネットワーク回線を介し前記通信管理装置と通信し、前記分類用情報の指定により、前記データセットから前記機械学習用の情報を抽出する情報抽出部と、
前記情報抽出部が抽出した前記機械学習用の情報を蓄積する情報蓄積部と、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記推定用モデルを生成するモデル生成部と、を有する、請求項1
又は2記載の制御システム。
【請求項8】
ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、
前記ネットワーク回線を介して前記学習システムと通信する通信管理装置と、
前記ネットワーク回線から隔離され、アクチュエータを制御する制御装置と、
前記工場システムから抽出した情報を用いた機械学習により、前記アクチュエータの既知の状態の入力に応じて前記アクチュエータの未知の状態の推定結果を出力するように前記学習システムにより生成された推定用モデルの送信を、前記通信管理装置を介して前記学習システムに要求するモデル要求部と、
前記モデル要求部からの要求に応じて前記学習システムから送信され、前記通信管理装置が受信した前記推定用モデルを記憶する第一モデル保持部と、
前記制御装置から取得された前記アクチュエータの既知の状態を、前記学習システムに送信することなく、前記第一モデル保持部に記憶された前記推定用モデルに入力して前記アクチュエータの未知の状態を推定する推定部と、を有
し、
前記通信管理装置は、前記モデル要求部からの要求に応じたデータとは異なるデータが前記第一モデル保持部に記憶されることをブロックする通信規制部を含む、工場システム。
【請求項9】
アクチュエータを制御する工場システムからネットワーク回線を介して抽出した情報を用いた機械学習により、前記アクチュエータの既知の状態の入力に応じて前記アクチュエータの未知の状態の推定結果を出力するように学習システムにより生成された推定用モデルの送信を、前記ネットワーク回線を介して前記工場システムから前記学習システムに要求することと、
前記ネットワーク回線を介した要求に応じて前記学習システムから送信された前記推定用モデルを、前記ネットワーク回線を介して前記工場システムにおいて受信し、前記工場システムの第一モデル保持部に記憶させることと、
前記工場システムにおいて取得された前記アクチュエータの既知の状態を、前記工場システムから前記学習システムに送信することなく、前記第一モデル保持部に記憶された推定用モデルに入力して前記アクチュエータの未知の状態を推定することと、
前記工場システムからの要求に応じたデータとは異なるデータが前記第一モデル保持部に記憶されることをブロックすることと、を含むアクチュエータの状態推定方法。
【請求項10】
前記学習システムにおいて、前記工場システムから抽出した機械学習用の情報を情報蓄積部に蓄積させることと、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記推定用モデルを生成することと、
生成された複数種類の推定用モデルを第二モデル保持部に記憶させることと、
前記情報蓄積部に蓄積された情報に基づいて前記複数種類の推定用モデルのそれぞれの推定精度を評価することと、
前記複数種類の推定用モデルの識別情報と、前記複数種類の推定用モデルの推定精度の評価結果を表示するためのデータを生成することと、を更に含む、請求項
9記載のアクチュエータの状態推定方法。
【請求項11】
前記工場システムにおいて、複数のアクチュエータに関する機械学習用の情報を複数の制御装置から取得し、取得した情報を前記複数のアクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築することと、
前記学習システムにおいて、前記ネットワーク回線を介し、前記分類用情報の指定により、前記データセットから前記機械学習用の情報を抽出することと、
抽出した前記機械学習用の情報を情報蓄積部に蓄積させることと、
前記情報蓄積部に蓄積された情報を用いた機械学習により、前記アクチュエータの状態の推定用モデルを生成することと、を更に含む、請求項
9記載のアクチュエータの状態推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御システム、工場システム、学習システム、推定用モデルの生成方法及びアクチュエータの状態推定方法に関する。
【背景技術】
【0002】
特許文献1には、1又は複数の検出器をそれぞれ備える複数の生産設備と、所定領域内に設置された第一ネットワークと、第一ネットワークを介して取得した検出器の検出情報に基づいてデータ解析を行い、データ解析の結果に基づいて複数の生産設備のそれぞれの異常又は生産対象物の異常に関する判定情報を生成する解析装置と、を備える異常解析システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、アクチュエータを制御する工場システムにおける機械学習の利用拡大に有効な制御システムの提供を目的とする。
【課題を解決するための手段】
【0005】
本開示の一側面に係る制御システムは、アクチュエータを制御する工場システムと、ネットワーク回線を介し、工場システムからアクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータの状態の推定用モデルを生成する学習システムと、を備え、工場システムは、アクチュエータを制御するノードである制御装置と、ネットワーク回線を介して学習システムに接続されたノードである読出データ構築装置と、を含む複数のノードを有し、読出データ構築装置は、機械学習用の情報を、他のノードのいずれかから取得する取得部と、取得部が取得した情報を含むデータセットを構築して学習システムから読み出し可能にするデータセット構築部と、を含む。
【0006】
本開示の他の側面に係る制御システムは、アクチュエータを制御する工場システムと、ネットワーク回線を介し、工場システムからアクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータの状態の推定用モデルを生成する学習システムと、を備え、工場システムは、アクチュエータを制御するノードである制御装置を含む複数のノードを有し、複数のノードのいずれかは、学習システムにより生成された推定用モデルを記憶する第一モデル保持部を含み、複数のノードのいずれかは、第一モデル保持部に記憶された推定用モデルに基づいてアクチュエータの状態推定を行う推定部を含む。
【0007】
本開示の更に他の側面に係る制御システムは、アクチュエータを制御する工場システムと、ネットワーク回線を介し、工場システムからアクチュエータに関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータの状態の推定用モデルを生成する学習システムと、を備え、工場システムは、アクチュエータを制御するノードである制御装置を含む複数のノードを有し、複数のノードのいずれかは、学習システムにより生成された推定用モデルを記憶する第一モデル保持部を含み、複数のノードのいずれかは、第一モデル保持部に記憶された推定用モデルに基づいてアクチュエータの状態推定を行う推定部を含む。
【0008】
本開示の更に他の側面に係る工場システムは、ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、アクチュエータを制御する制御装置と、ネットワーク回線を介して学習システムに接続された読出データ構築装置と、を含む複数のノードを備え、読出データ構築装置は、機械学習用の情報を制御装置から取得する取得部と、取得部が取得した情報を含むデータセットを構築して学習システムから読み出し可能にするデータセット構築部と、を有する。
【0009】
本開示の更に他の側面に係る工場システムは、ネットワーク回線を介して機械学習用の学習システムに接続される工場システムであって、アクチュエータを制御する制御装置を含む複数のノードを備え、複数のノードのいずれかは、学習システムにより生成されたアクチュエータの状態の推定用モデルを記憶する第一モデル保持部を有し、複数のノードのいずれかは、第一モデル保持部に記憶された推定用モデルに基づいてアクチュエータの状態推定を行う推定部を有する。
【0010】
本開示の更に他の側面に係る学習システムは、複数のアクチュエータに関する機械学習用の情報を当該複数のアクチュエータの制御装置から取得し、取得した情報をアクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築する読出データ構築装置にネットワーク回線を介して接続され、分類用情報の指定により、データセットから機械学習用の情報を抽出する情報抽出部と、情報抽出部が抽出した機械学習用の情報を蓄積する情報蓄積部と、情報蓄積部に蓄積された情報を用いた機械学習により、アクチュエータの状態の推定用モデルを生成するモデル生成部と、を備える。
【0011】
本開示の更に他の側面に係る推定用モデルの生成方法は、複数のアクチュエータに関する機械学習用の情報を当該複数のアクチュエータの制御装置から取得し、取得した情報をアクチュエータの識別情報を含む分類用情報により構造化したデータセットを構築する読出データ構築装置にネットワーク回線を介して接続された学習システムにより、分類用情報を指定して、データセットから機械学習用の情報を抽出することと、取得した機械学習用の情報を学習システムに蓄積することと、学習システムに蓄積した機械学習用の情報を用いた機械学習により、学習システムによりアクチュエータの状態の推定用モデルを生成することと、を備える。
【0012】
本開示の更に他の側面に係るアクチュエータの状態推定方法は、アクチュエータを制御する制御装置と、ネットワーク回線を介して学習システムに接続された読出データ構築装置とを含む工場システムの読出データ構築装置により、アクチュエータに関する機械学習用の情報を制御装置から取得し、取得した情報を含むデータセットを構築して学習システムから読み出し可能にすることと、データセットから抽出した情報を用いた機械学習により学習システムが生成したアクチュエータの状態の推定用モデルに基づいて、工場システムによりアクチュエータの状態推定を行うことと、を含む。
【0013】
本開示の更に他の側面に係るアクチュエータの状態推定方法は、学習システムにおける機械学習により生成されたアクチュエータの状態の推定用モデルを、学習システムからネットワーク回線を介して取得し、工場システムに記憶することと、工場システムに記憶した推定用モデルに基づいて、工場システムによりアクチュエータの状態推定を行うことと、を含む。
【発明の効果】
【0014】
本開示によれば、アクチュエータを制御する工場システムにおける機械学習の利用拡大に有効な制御システムを提供することができる。
【図面の簡単な説明】
【0015】
【
図1】制御システムの全体構成を示す模式図である。
【
図2】ロボットの概略構成を例示する模式図である。
【
図3】アクチュエータの概略構成を例示する模式図である。
【
図4】学習システムの構成を例示するブロック図である。
【
図5】工場システムの構成を例示するブロック図である。
【
図6】ロボットシステムのハードウェア構成を例示するブロック図である。
【
図7】推定用モデルの構築手順を例示するフローチャートである。
【
図8】推定用モデルの評価手順を例示するフローチャートである。
【
図9】推定用モデルの出力手順を例示するフローチャートである。
【
図10】データセットの構築手順を例示するフローチャートである。
【
図11】機械学習用のデータの送信手順を例示するフローチャートである。
【
図12】推定用モデルのデータの取得手順を例示するフローチャートである。
【
図13】推定用モデルに基づくメンテナンス推奨時期の導出手順を例示するフローチャートである。
【
図14】予測式に基づくメンテナンス推奨時期の導出手順を例示するフローチャートである。
【
図15】工場システムの構成の変形例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0017】
1.制御システム
本実施形態に係る制御システム1は、工場のセルに設置された産業機器(例えばロボット、NC加工装置等)のアクチュエータを制御するシステムである。
図1に示すように、制御システム1は、学習システム2と工場システム3とを備える。工場システム3は、工場に設けられ、アクチュエータを制御する。
【0018】
工場システム3は、アクチュエータを制御するノードである制御装置を含む複数のノードXを有する。ノードXは、物理ネットワークノードであり、有線又は無線の通信回線を介し他のデバイスとの間でデータ通信を行う電子デバイスである。例えば、複数のノードXは、複数のロボットコントローラ4(制御装置)と、上位コントローラ5(制御装置)と、データ管理装置6と、通信管理装置7とを含む。なお、説明の便宜上、
図1には一つの上位コントローラ5を示しているが、工場システム3は、複数のセルにそれぞれ設けられる複数の上位コントローラ5を備えていてもよい。この場合、工場システム3は、複数の上位コントローラ5にそれぞれ対応する複数のデータ管理装置6を備えてもよく、複数のデータ管理装置6にそれぞれ対応する複数の通信管理装置7を備えていてもよい。また、複数の上位コントローラ5に対して一つのデータ管理装置6が設けられていてもよく、複数のデータ管理装置6に対して一つの通信管理装置7が設けられていてもよい。
【0019】
複数のロボットコントローラ4は、例えば一つのセルに配置された複数のロボット10をそれぞれ制御するノードである。
図2に示すように、ロボット10は、例えばシリアルリンク型の垂直多関節ロボットであり、複数(例えば6軸)の関節軸J1~J6を有するアームAと、関節軸J1~J6をそれぞれ駆動することによりアームAの先端部の位置及び姿勢を調節する複数のアクチュエータ11~16と、を有する。
図3に示すように、アクチュエータ11~16は、モータ21と、減速機22と、センサ23とを有する。モータ21は、例えばサーボモータであり、制御指令に応じてシャフト21aを回転させる。減速機22は、シャフト21aの回転を減速させて出力軸22aに伝達させる。センサ23は、シャフト21aの回転位置及び回転速度に関する信号を出力する。例えばセンサ23はロータリーエンコーダであり、シャフト21aの回転速度に比例した周波数のパルス信号を出力する。ロボットコントローラ4は、アームAの先端部の位置及び姿勢を目標位置及び目標姿勢に近付けるための駆動電力をアクチュエータ11~16に出力する。
【0020】
図1に戻り、上位コントローラ5(例えばプログラマブルロジックコントローラ)は、複数のロボットコントローラ4のそれぞれに上記目標位置及び目標姿勢を出力するノードである。データ管理装置6は、上位コントローラ5に接続され、各ロボット10のアクチュエータ11~16に関するデータを管理するノードである。通信管理装置7(読出データ構築装置)は、インターネット等のネットワーク回線NWを介して学習システム2に接続されており、所定の標準規格(例えばOPC UA)に従って学習システム2と工場システム3との間のデータ通信を管理するノードである。ロボットコントローラ4、上位コントローラ5及びデータ管理装置6は、通信管理装置7によってネットワーク回線NW(学習システム2と工場システム3との間のネットワーク回線)から隔離されている。
【0021】
学習システム2は、ネットワーク回線NWを介し、工場システム3からアクチュエータ11~16に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ11~16の状態の推定用モデルを生成する。アクチュエータ11~16の状態は、センシングにより検出される状態とは別種の情報である。アクチュエータ11~16の状態の一例として、減速機22のグリースの鉄粉濃度が挙げられる。なお、アクチュエータ11~16の状態は、アクチュエータ11~16自体の状態に加え、アクチュエータ11~16による駆動対象物の状態をも含む。学習システム2は、ネットワーク回線NWにおいて、工場システム3の運営主体に属するエリア内に位置していてもよいし、他の主体に属するエリア内に位置していてもよい。
【0022】
以下、学習システム2が上記鉄粉濃度の推定用モデルを生成し、工場システム3が当該推定用モデルに基づいてアクチュエータ11~16のメンテナンスの推奨時期を導出する構成を適宜例示しつつ、学習システム2及び工場システム3の構成を詳細に説明する。
【0023】
(1)学習システム
図4に示すように、学習システム2は、機能的な構成(以下、「機能モジュール」という。)として、情報抽出部111と、情報蓄積部112と、モデル生成部113と、モデル保持部114(第二モデル保持部)と、モデル評価部115と、表示データ生成部116と、更新情報送信部117と、モデル出力部118とを有する。
【0024】
情報抽出部111は、工場システム3の通信管理装置7が構築したデータセット(後述)から、アクチュエータ11~16に関する機械学習用の情報を抽出する。例えば情報抽出部111は、減速機22の回転速度に関する速度データと、減速機22に作用するトルクに関するトルクデータと、減速機22のグリースの鉄粉濃度を示す濃度データとを抽出する。より具体的に、情報抽出部111は、上記濃度データと、当該濃度データの取得時刻に対応する一定期間の速度データ及びトルクデータとを一セットにした情報(以下、「学習用データ」という。)を抽出する。情報蓄積部112は、情報抽出部111が抽出した学習用データを蓄積する。
【0025】
モデル生成部113は、情報蓄積部112に蓄積された情報を用いた機械学習により、上記推定用モデルを生成する。推定用モデルは、アクチュエータ11~16の既知の状態の入力に応じて、アクチュエータ11~16の未知の状態の推定結果を出力するプログラムである。一例として、推定用モデルは、速度データ及びトルクデータの入力に応じて、上記濃度データの予測値(以下、「予測濃度データ」という。)を出力する。例えば推定用モデルは、速度データ及びトルクデータを含む入力ベクトルと、濃度データを含む出力ベクトルとを結ぶニューラルネットである。モデル生成部113は、上記学習用データに含まれる一定期間の速度データ及びトルクデータと、当該学習用データセットに含まれる濃度データとの組み合わせを教師データとして、例えばディープラーニング等の機械学習処理により推定用モデルのパラメータ(例えばニューラルネットのノードの重み付けパラメータ)をチューニングする。なお、推定用モデルは、必ずしもニューラルネットに限定されず、所定の入力に応じて所望の推定結果を出力し得る限りいかなるプログラムであってもよい。例えば推定用モデルは、引数の入力に応じて数値を返す関数であってもよい。
【0026】
モデル保持部114は、モデル生成部113により生成された推定用モデルを記憶する。モデル保持部114は、複数種類の推定用モデルを記憶するように構成されていてもよい。モデル評価部115は、情報蓄積部112に蓄積された情報と、複数種類の推定用モデルによるアクチュエータ11~16の状態推定結果とに基づいてそれぞれの推定用モデルの推定精度を評価する。例えばモデル評価部115は、より細分化された機能モジュールとして、評価データ導出部121と精度評価部122とを有する。
【0027】
評価データ導出部121は、情報蓄積部112に蓄積された情報の一部をいずれかの推定用モデル(以下、「評価対象モデル」という。)に入力して評価用のデータを導出する。例えば評価データ導出部121は、情報蓄積部112に蓄積されたいずれかの学習用データ(以下、「サンプルデータ」という。)の速度データ及びトルクデータを推定用モデルに入力して予測濃度データを導出する。
【0028】
精度評価部122は、評価データ導出部121により導出されたデータと、情報蓄積部112に蓄積された情報が含むアクチュエータ11~16の状態の情報とを比較して評価対象モデルの推定精度を評価する。例えば精度評価部122は、評価データ導出部121により導出された予測濃度データと、サンプルデータが含む濃度データ(以下、「実測濃度データ」という。)とを比較して評価対象モデルの推定精度を評価する。推定精度の評価は、実測濃度データに対する予測濃度データの乖離を差分又は比率等によって数値化することを含む。精度評価部122は、評価対象モデルの推定精度の評価結果をモデル保持部114に保存する。
【0029】
表示データ生成部116は、複数種類の推定用モデルの識別情報と、複数種類の推定用モデルの推定精度の評価結果とを表示するためのデータを生成する。当該データは、必ずしも画像データに限定されず、上記推定精度の表示を可能とする限りいかなるデータであってもよい。例えば、当該データはテキストデータであってもよい。
【0030】
更新情報送信部117は、モデル保持部114に新たな推定用モデルが追加された場合に、当該推定用モデルを含む複数種類の推定用モデルの情報を工場システム3のいずれかのノードXに送信する。推定用モデルの情報は、精度評価部122による推定精度の評価結果を含む。例えば更新情報送信部117は、複数種類の推定用モデルの情報を表示する電子メールを工場システム3の管理者の携帯端末に送信する。
【0031】
モデル出力部118は、工場システム3のいずれかのノードX(例えば通信管理装置7)から推定用モデルの種類の指定を受信し、当該指定に従った推定用モデルのデータを当該ノードXに送信する。
【0032】
(2)工場システム
(ロボットコントローラ)
図5に示すように、ロボットコントローラ4は、機能モジュールとして、位置制御部211と、速度制御部212と、トルク制御部213とを有する。位置制御部211は、アクチュエータ11~16の現在の回転角度(以下、「現在角度」という。)を目標の回転角度(以下、「目標角度」という。)に近付けるように速度指令値を生成する。例えば、位置制御部211は、目標角度と現在角度との偏差(以下、「角度偏差」という。)に対して比例演算、比例・積分演算、又は比例・積分・微分演算等を施して速度指令値を生成する。なお、位置制御部211は、上位コントローラ5から取得したアームAの先端の目標位置及び目標姿勢に応じてアクチュエータ11~16の目標角度を導出する。また、位置制御部211は、センサ23からのフィードバック情報に基づいて現在角度を導出する。例えば位置制御部211は、センサ23から出力されたパルス信号をカウントすることにより現在角度を導出する。位置制御部211は、現在時刻と、目標角度及び現在角度とを対応付けた履歴データを上位コントローラ5に送信する。
【0033】
速度制御部212は、アクチュエータ11~16の現在の回転速度(以下、「現在速度」という。)を、位置制御部211により生成された速度指令値に近付けるようにトルク指令値を生成する。例えば、速度制御部212は、速度指令値と現在速度との偏差(以下、「速度偏差」という。)に対して比例演算、比例・積分演算、又は比例・積分・微分演算等を施してトルク指令値を生成する。なお、速度制御部212は、センサ23からのフィードバック情報に基づいて現在速度を導出する。例えば速度制御部212は、センサ23から出力されたパルス信号の周波数に基づいて現在速度を導出する。速度制御部212は、現在時刻と、速度指令値及び現在速度とを対応付けた履歴データを上位コントローラ5に送信する。
【0034】
トルク制御部213は、速度制御部212により生成されたトルク指令値に応じたトルクをモータ21に発生させるように、モータ21に駆動電流を出力する。トルク制御部213は、現在時刻と、トルク指令値及び駆動電流とを対応付けた履歴データを上位コントローラ5に送信する。
【0035】
ここで、アクチュエータ11~16の減速機22にバックラッシが発生した場合、このバックラッシによって減速機22及びロボット10の各部が振動する。この振動において発生する慣性力が外乱となって、上述の位置偏差及び速度偏差に変動が生じ、当該変動を抑制するために速度指令値及びトルク指令値にも変動が生じる。すなわち、速度指令値及びトルク指令値の変動成分には、バックラッシに起因する変動成分も含まれる。
【0036】
(上位コントローラ)
上位コントローラ5は、機能モジュールとして、動作プログラム保持部311と、指令出力部312と、制御データ保持部313とを有する。動作プログラム保持部311は、各ロボット10に所定の作業を実行させるための動作プログラムを記憶する。動作プログラムは、時系列に並ぶ目標位置及び目標姿勢(アームAの先端の目標位置及び目標姿勢)を含む。
【0037】
指令出力部312は、動作プログラム保持部311の動作プログラムを順次ロボットコントローラ4に出力する。制御データ保持部313は、ロボットコントローラ4の位置制御部211、速度制御部212及びトルク制御部213から送信された上記履歴データを記憶する。
【0038】
(データ管理装置)
データ管理装置6は、機能モジュールとして、モデル要求部411と、モデル保持部412(第一モデル保持部)と、インタフェース保持部413と、データ取得部415と、データ保持部416と、推定部417と、予測データ蓄積部418と、モデル構築部419と、モデル保持部420と、推奨時期導出部421,422と、予測式修正部423と、予測式保持部424と、表示データ生成部425と、表示部426とを有する。
【0039】
モデル要求部411は、学習システム2のモデル出力部118に推定用モデルのデータ(以下、「モデルデータ」という。)の送信を要求する。なお、モデルデータは、推定用モデル自体であってもよいし、推定用モデルを特定するためのパラメータ(例えばニューラルネットのノードの重み付けパラメータ)であってもよい。モデル要求部411は、モデルデータの送信に際して、推定用モデルの種類を指定するように構成されていてもよい。
【0040】
モデル保持部412は、学習システム2により生成された推定用モデルを記憶する。なお、モデル保持部412は、いずれかのノードXに設けられていればよいので、データ管理装置6に代えてロボットコントローラ4、上位コントローラ5、又は通信管理装置7に設けられていてもよい。
【0041】
インタフェース保持部413は、上位コントローラ5内のデータにアクセスするためのインタフェースプログラムを記憶する。例えばインタフェース保持部413は、制御データ保持部313の履歴データにアクセスするためのインタフェースプログラムを記憶する。インタフェースプログラムは、例えばAPI(Application Programming Interface)である。なお、インタフェース保持部413は、通信管理装置7によりネットワーク回線NWから隔離されたノードXに設けられていればよいので、通信管理装置7に代えてロボットコントローラ4又は上位コントローラ5に設けられていてもよい。
【0042】
データ取得部415は、上記速度データ及びトルクデータを取得し、取得時刻に対応付けてデータ保持部416に保存することを繰り返し実行する。例えば、データ取得部415は、インタフェース保持部413のインタフェースプログラムにより上記速度指令値を読み出し、これを速度データとして取得する。また、データ取得部415は、インタフェース保持部413のインタフェースプログラムにより上記トルク指令値を読み出し、これをトルクデータとして取得する。上記速度データ及びトルクデータの取得にインタフェースプログラムを用いることにより、制御データ保持部313の他の記憶領域(例えば動作プログラム保持部311)への無用なアクセスを防ぐことができる。なお、データ取得部415は、上記現在速度を速度データとして取得し、上記駆動電流をトルクデータとして取得してもよい。
【0043】
データ取得部415は、上記実測濃度データが入力された場合にこれを取得し、取得時刻に対応付けてデータ保持部416に保存する。実測濃度データは、例えば、減速機22からグリースを採取して実測された鉄粉濃度である。実測濃度データの取得時刻は、作業者がグリースを採取した時刻であってもよいし、実測濃度データをデータ取得部415が取得した時刻であってもよい。
【0044】
推定部417は、モデル保持部412に記憶された推定用モデルに基づいてアクチュエータ11~16の状態推定を行う。なお、推定部417は、いずれかのノードXに設けられていればよいので、データ管理装置6に代えてロボットコントローラ4、上位コントローラ5、又は通信管理装置7に設けられていてもよい。例えば推定部417は、アクチュエータ11~16の劣化状態の推定を行う。例えば推定部417は、推定用モデルに基づいて上記予測濃度データを推定する。具体的に、推定部417は、データ保持部416から一定期間の速度データ及びトルクデータ(以下、これらを「入力データセット」という。)を取得し、モデル保持部412に記憶された推定用モデルに当該入力データセットを入力して上記予測濃度データを導出する。推定部417は、予測濃度データを導出する度に、予測対象時刻と対応付けて予測データ蓄積部418に蓄積する。予測対象時刻は、予測濃度データの導出完了時刻であってもよいし、導出完了時刻よりも所定時間前の時刻であってもよい。
【0045】
モデル構築部419は、予測濃度データの経時的推移に基づいて、予測濃度データの未来の経時的推移を含む上昇予測モデルを構築する。例えばモデル構築部419は、予測データ蓄積部418に所定数の新たな予測濃度データ(モデル構築部419において上昇予測モデルの構築に用いられていない予測濃度データ)が蓄積されたか否かを判断し、所定数の新たな予測濃度データが蓄積されたと判断したときには、当該所定数の予測濃度データに基づいて濃度データの上昇予測モデルを構築する。上昇予測モデルは、例えば減速機22の総駆動時間と予測濃度データとの関係を示す関数である。例えば、モデル構築部419は、当該所定数の予測濃度データに対する多項式補間等により、上昇予測モデルを構築する。モデル構築部419は、構築した上昇予測モデルをモデル保持部420に保存する。
【0046】
推奨時期導出部421は、モデル保持部420の上昇予測モデルに基づいて、減速機22のメンテナンスの推奨時期を導出する。減速機22のメンテナンスの推奨時期とは、例えば減速機22のグリースの鉄粉濃度が所定の閾値に達する時期である。当該閾値は、過去の実績に基づいて予め設定されている。例えば推奨時期導出部421は、上昇予測モデルに基づいて、上記予測濃度データが所定の閾値に達するまでの総駆動時間を減速機22のメンテナンスの推奨時期(以下、「第一の推奨時期」という。)として導出する。なお、推奨時期導出部421は、減速機22のグリースの鉄粉濃度の上昇速度が所定の閾値に到達するまでの総駆動時間を第一の推奨時期として導出してもよい。
【0047】
予測式保持部424は、減速機22のメンテナンスの推奨時期を導出するための予測式を記憶する。予測式は、減速機22の回転速度及び減速機22に作用するトルクと、減速機22のメンテナンスの推奨時期との関係を示す数式である。予測式の具体例としては、減速機22の軸受の寿命予測式が挙げられる。例えば予測式保持部424は、次の予測式を記憶する。
【数1】
L :メンテナンスの推奨時期(h)
A :補正係数
K :減速機22の軸受の定格寿命(h)
N
0:減速機22の定格速度(rpm)
N
n:時間毎の減速機22の回転速度(rpm/h)
T
0:減速機22の定格トルク(Nm)
T
n:時間毎の減速機22のトルク(Nm/h)
P :減速機の22の種類に応じて定められた定数
【0048】
予測式修正部423は、上記予測式に基づき導出される減速機22のメンテナンスの推奨時期(以下、「第二の推奨時期」という。)を、推奨時期導出部421により導出される第一の推奨時期に近付けるように予測式を修正する。例えば予測式修正部423は、上記式(1)に基づき導出される第二の推奨時期を第一の推奨時期に近付けるように補正係数Aの値を修正する。
【0049】
推奨時期導出部422は、減速機22の回転速度及び減速機22に作用するトルクの設定値と予測式修正部423により修正された予測式とに基づいて、第二の推奨時期を導出する。上記設定値は、例えば作業者により入力される。
【0050】
表示データ生成部425は、推奨時期導出部421により導出された第一の推奨時期、及び推奨時期導出部422により導出された第二の推奨時期の少なくとも一方を表示するための画像データを生成する。表示部426は、表示データ生成部425により生成された画像データにより、第一の推奨時期及び第二の推奨時期の少なくとも一方を含む画像を表示する。
【0051】
(通信管理装置)
通信管理装置7は、機能モジュールとして、データ取得部511(取得部)と、データセット構築部512と、読出データ保持部513と、情報抽出部514と、モデル取得部515と、通信規制部516とを有する。
【0052】
データ取得部511は、複数のロボット10のアクチュエータ11~16に関する機械学習用の情報を、他のノードXのいずれかから取得する。例えばデータ取得部511は、インタフェース保持部413に記憶されたインタフェースプログラムにより上位コントローラ5内の制御データ保持部313から読み出された機械学習用の情報をデータ管理装置6のデータ保持部416から取得する。
【0053】
読出データ保持部513は、学習システム2からの読み出しが可能な状態でデータを記憶する。データセット構築部512は、データ取得部511が取得した情報を含むデータセットを構築して学習システム2から読み出し可能にする。例えばデータセット構築部512は、データ取得部511が取得した情報を、アクチュエータ11~16の識別情報を含む分類用情報により構造化したデータセットを構築する。アクチュエータ11~16の識別情報の他の分類用情報としては、工場のセルの識別情報、ロボットの識別情報、情報の種別等が挙げられる。情報の種別の具体例としては、上記速度データ、トルクデータ、及び濃度データ等が挙げられる。例えばデータセット構築部512は、セルの識別情報、ロボットの識別情報、アクチュエータの識別情報、及び情報の種別によって順次枝分かれしたツリー状の構造を有するデータセットを構築し、読出データ保持部513に保存する。データセットがこのようなデータ構造を有する場合、上述した学習システム2の情報抽出部111は、分類用情報の指定によってデータセットから機械学習用の情報を抽出する。
【0054】
情報抽出部514は、学習システム2の情報抽出部111による分類用情報の指定に応じた情報を読出データ保持部513のデータセットから抽出する。モデル取得部515は、データ管理装置6のモデル要求部411からの要求に応じてモデル出力部118から送信されたモデルデータを取得してモデル保持部412に保存する。モデルデータが推定用モデル自体である場合、モデル取得部515は、取得したモデルデータをモデル保持部412に上書き保存する。モデルデータが推定用モデルのパラメータである場合、モデル保持部412に記憶された推定用モデルのパラメータを、取得したパラメータに変更する。
【0055】
通信規制部516は、工場システム3側の情報抽出部514、モデル取得部515及びモデル要求部411と、学習システム2側の情報抽出部111及びモデル出力部118との間に介在し、これらの間の通信を制限する。例えば通信規制部516は、モデル要求部411からの要求に応じたデータとは異なるデータをモデル出力部118から受信した場合に、当該データの進入をブロックし、当該データがモデル取得部515により取得されることを防ぐ。また、通信規制部516は、情報抽出部111からの分類用情報の指定に対応していないデータを情報抽出部514から取得した場合に、当該データの流出をブロックし、当該データが情報抽出部111に送信されることを防ぐ。
【0056】
(3)制御システムのハードウェア構成
図6に示すように、学習システム2は、回路190を有する。回路190は、少なくとも一つのプロセッサ191と、メモリ192と、ストレージ193と、ネットワークアダプタ194とを含む。ストレージ193は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ193は、学習システム2の各機能モジュールを構成するためのプログラムの記憶領域と、上記情報蓄積部112及び上記モデル保持部114に割り当てられる記憶領域とを含む。メモリ192は、ストレージ193からロードしたプログラム及びプロセッサ191による演算結果等を一時的に記憶する。プロセッサ191は、メモリ192と協働して上記プログラムを実行することで、学習システム2の各機能モジュールを構成する。ネットワークアダプタ194は、プロセッサ191からの指令に応じて、ネットワーク回線NWを介したネットワーク通信を行う。
【0057】
ロボットコントローラ4は、回路290を有する。回路290は、少なくとも一つのプロセッサ291と、メモリ292と、ストレージ293と、ドライバ294と、入出力ポート295と、通信ポート296とを含む。ストレージ293は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ293は、ロボットコントローラ4の各機能モジュールを構成するためのプログラムを記憶する。メモリ292は、ストレージ293からロードしたプログラム及びプロセッサ291による演算結果等を一時的に記憶する。プロセッサ291は、メモリ292と協働して上記プログラムを実行することで、ロボットコントローラ4の各機能モジュールを構成する。ドライバ294は、プロセッサ291からの指令に応じてアクチュエータ11~16のモータ21に駆動電力を出力する。入出力ポート295は、プロセッサ291からの指令に応じてセンサ23からの信号を取得する。通信ポート296は、プロセッサ291からの指令に応じ、上位コントローラ5との間でネットワーク通信を行う。
【0058】
上位コントローラ5は、回路390を有する。回路390は、少なくとも一つのプロセッサ391と、メモリ392と、ストレージ393と、通信ポート394とを含む。ストレージ393は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ393は、上位コントローラ5の各機能モジュールを構成するためのプログラムの記憶領域と、上記動作プログラム保持部311及び制御データ保持部313に割り当てられる記憶領域とを含む。メモリ392は、ストレージ393からロードしたプログラム及びプロセッサ391による演算結果等を一時的に記憶する。プロセッサ391は、メモリ392と協働して上記プログラムを実行することで、上位コントローラ5の各機能モジュールを構成する。通信ポート394は、プロセッサ391からの指令に応じ、ロボットコントローラ4及びデータ管理装置6との間でネットワーク通信を行う。
【0059】
データ管理装置6は、回路490を有する。回路490は、少なくとも一つのプロセッサ491と、メモリ492と、ストレージ493と、通信ポート494と、モニタ495と、入力デバイス496とを含む。ストレージ493は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ493は、データ管理装置6の各機能モジュールを構成するためのプログラムの記憶領域と、上記モデル保持部412、インタフェース保持部413、データ保持部416、予測データ蓄積部418、モデル保持部420及び予測式保持部424に割り当てられる記憶領域とを含む。メモリ492は、ストレージ493からロードしたプログラム及びプロセッサ491による演算結果等を一時的に記憶する。プロセッサ491は、メモリ492と協働して上記プログラムを実行することで、データ管理装置6の各機能モジュールを構成する。通信ポート494は、プロセッサ491からの指令に応じ、上位コントローラ5及び通信管理装置7との間でネットワーク通信を行う。モニタ495は、例えば液晶モニタ等の画像表示装置であり、例えば上記表示部426等として用いられる。入力デバイス496は、例えばキーパッドなどの情報入力装置であり、上記推奨時期導出部422による設定値の取得などに用いられる。モニタ495及び入力デバイス496は、所謂タッチパネルのように一体化されていてもよい。
【0060】
通信管理装置7は、回路590を有する。回路590は、少なくとも一つのプロセッサ591と、メモリ592と、ストレージ593と、通信ポート594と、ネットワークアダプタ595とを含む。ストレージ593は、コンピュータによって読み取り可能な不揮発型の記憶媒体(例えばハードディスク又はフラッシュメモリ)である。ストレージ593は、通信管理装置7の各機能モジュールを構成するためのプログラムの記憶領域と、上記読出データ保持部513に割り当てられる記憶領域とを含む。メモリ592は、ストレージ593からロードしたプログラム及びプロセッサ591による演算結果等を一時的に記憶する。プロセッサ591は、メモリ592と協働して上記プログラムを実行することで、通信管理装置7の各機能モジュールを構成する。通信ポート594は、プロセッサ591からの指令に応じ、データ管理装置6との間でネットワーク通信を行う。ネットワークアダプタ595は、プロセッサ591からの指令に応じて、ネットワーク回線NWを介したネットワーク通信を行う。
【0061】
2.推定用モデルの生成方法
続いて、推定用モデルの生成方法の一例として、学習システム2により実行される推定用モデルの生成手順、推定用モデルの評価手順及び推定用モデルの出力手順をそれぞれ説明する。
【0062】
(1)推定用モデルの生成手順
図7に示すように、学習システム2は、まずステップS01を実行する。ステップS01では、情報抽出部111が、読出データ保持部513に新たなデータセットが保存されるのを待機する。読出データ保持部513に新たなデータセットが保存されたか否かは、情報抽出部514への問い合わせ又は情報抽出部514からの通知によって確認可能である。
【0063】
次に、学習システム2はステップS02,S03,S04を順に実行する。ステップS02では、情報抽出部111が分類用情報の指定を通信規制部516に送信する。ステップS03では、ステップS02における指定に応じて読出データ保持部513から抽出されたデータを、情報抽出部111が通信規制部516から取得して情報蓄積部112に保存する。ステップS04では、学習用データを構成する全てのデータを取得したか否かを情報抽出部111が確認する。ステップS04において、未取得のデータが残っていると判定した場合、学習システム2は処理をステップS02に戻す。以後、学習用データを構成する全てのデータの取得が完了するまでは、分類用情報の指定によるデータの抽出が繰り返される。
【0064】
ステップS04において、学習用データを構成する全てのデータを取得したと判定した場合、学習システム2はステップS05を実行する。ステップS05では、機械学習に必要な数の学習用データが情報蓄積部112に蓄積されたか否かをモデル生成部113が確認する。ステップS05において、機械学習に必要な数の学習用データは蓄積されていないと判定した場合、学習システム2は処理をステップS01に戻す。以後、機械学習に必要な数の学習用データが蓄積されるまでは、学習用データの蓄積が繰り返される。
【0065】
ステップS05において、機械学習に必要な数の学習用データが情報蓄積部112に蓄積されたと判定した場合、学習システム2はステップS06,S07を順に実行する。ステップS06では、モデル生成部113が、情報蓄積部112に蓄積された学習用データに基づく機械学習により、上記推定用モデルを生成する。ステップS07では、モデル生成部113が、生成した推定用モデルをモデル保持部114に保存する。以上で推定用モデルの生成手順が完了する。学習システム2は、以上の手順を繰り返し実行する。
【0066】
(2)推定用モデルの評価手順
図8に示すように、学習システム2は、ステップS11,S12,S13,S14を順に実行する。ステップS11では、モデル評価部115が、モデル保持部114に新たな推定用モデルが保存されるのを待機する。ステップS12では、モデル評価部115が、学習用データのいずれかをサンプルデータとして選択し、サンプルデータに含まれる速度データ及びトルクデータを評価対象モデル(モデル保持部114に新たに保存された推定用モデル)に入力して予測濃度データを導出する。ステップS13では、モデル評価部115が、ステップS12において導出された予測濃度データと、サンプルデータが含む実測濃度データとを比較して、推定用モデルの推定精度を評価し、評価結果をモデル保持部114に保存する。ステップS14では、表示データ生成部116が、複数種類の推定用モデルの識別情報と、複数種類の推定用モデルの推定精度の評価結果とを表示するためのデータを生成し、当該データを更新情報送信部117が工場システム3のいずれかのノードXに送信する。以上で推定用モデルの評価手順が完了する。学習システム2は以上の手順を繰り返し実行する。
【0067】
(3)推定用モデルの出力手順
図9に示すように、学習システム2は、ステップS21,S22,S23を順に実行する。ステップS21では、モデル出力部118が、推定用モデルの送信要求が通信規制部516から送信されるのを待機する。ステップS22では、モデル出力部118が、送信すべき推定用モデルの種類の指定を通信規制部516から取得する。ステップS23では、モデル出力部118が、ステップS22において指定された推定用モデルのデータを通信規制部516に送信する。以上で推定用モデルの出力手順が完了する。学習システム2は以上の手順を繰り返し実行する。
【0068】
3.機械学習用のデータの送信方法
続いて、機械学習用のデータの送信方法の一例として、通信管理装置7により実行されるデータセットの構築手順及びデータセットの送信手順をそれぞれ説明する。
【0069】
(1)データセットの構築手順
図10に示すように、通信管理装置7は、まずステップS31,S32,S33を順に実行する。ステップS31では、データ取得部511が、データ保持部416に新たなデータが加わるのを待機する。ステップS32では、データ取得部511が、データ保持部416に加わった新たなデータを取得する。ステップS33では、全てのロボット10のアクチュエータ11~16について新たなデータの取得が完了したか否かをデータ取得部511が確認する。ステップS33において、新たなデータを取得していないアクチュエータ11~16が残っていると判定した場合、通信管理装置7は処理をステップS31に戻す。以後、全てのロボット10のアクチュエータ11~16について新たなデータの取得が完了するまで、新たなデータの取得が繰り返される。
【0070】
ステップS33において、全てのロボット10のアクチュエータ11~16について新たなデータの取得が完了したと判定した場合、通信管理装置7はステップS34,S35を順に実行する。ステップS34では、新たなデータを用いてデータセット構築部512が上記データセットを構築する。ステップS35では、データセット構築部512が、ステップS34で構築したデータセットを読出データ保持部513に保存する。なお、読出データ保持部513に既存のデータセットが保存されている場合、データセット構築部512は、ステップS34で構築したデータセットを読出データ保持部513に上書き保存する。以上でデータセットの構築手順が完了する。通信管理装置7は以上の手順を繰り返し実行する。
【0071】
(2)データの送信手順
図11に示すように、通信管理装置7は、まずステップS41,S42,S43,S44を順に実行する。ステップS41では、情報抽出部111からのデータの送信要求の受信を通信規制部516が待機する。ステップS42では、通信規制部516が、送信すべきデータの分類指定を受信する。ステップS43では、情報抽出部514が、ステップS42において受信された分類指定に応じたデータを読出データ保持部513のデータセットから抽出し、通信規制部516に出力する。ステップS44では、情報抽出部514から取得したデータが分類指定にマッチしているか否かを通信規制部516が確認する。ステップS44において、情報抽出部514から取得したデータが分類指定にマッチしていないと判定した場合、通信管理装置7は処理をステップS43に戻す。以後、分類指定にマッチしたデータが抽出されるまで、データ抽出とデータチェックとが繰り返される。
【0072】
ステップS44において、情報抽出部514から取得したデータが分類指定にマッチしていると判定した場合、通信管理装置7はステップS45を実行する。ステップS45では、通信規制部516が、分類指定にマッチすると認定されたデータを情報抽出部111に送信する。以上でデータの送信手順が完了する。通信管理装置7は以上の手順を繰り返し実行する。
【0073】
4.アクチュエータの状態推定方法
続いて、アクチュエータの状態推定方法の一例として、推定用モデルのデータの取得手順、推定用モデルに基づくメンテナンス推奨時期の導出手順、及び予測式に基づくメンテナンス推奨時期の導出手順をそれぞれ説明する。
【0074】
(1)推定用モデルのデータの取得手順
図12に示すように、通信管理装置7は、まずステップS51,S52,S53を順に実行する。ステップS51では、通信規制部516が、モデル要求部411から推定用モデルのデータが要求されるのを待機する。ステップS52では、通信規制部516が、推定用モデルの送信要求をモデル出力部118に送信する。ステップS53では、通信規制部516が、推定用モデルの種類の指定をモデル要求部411から取得してモデル出力部118に送信する。
【0075】
次に、通信管理装置7はステップS54,S55を実行する。ステップS54では、通信規制部516が、モデル出力部118からのデータの受信を待機する。ステップS55では、モデル出力部118から受信したデータが、モデル要求部411により指定された推定用モデルのデータであるか否かを通信規制部516が確認する。例えば通信規制部516は、モデル出力部118から受信したデータが含む識別情報に基づいて、受信したデータが指定された推定用モデルのデータであるか否かを確認する。ステップS55において、受信したデータは指定された推定用モデルのデータではないと判定した場合、通信管理装置7は処理をステップS54に戻す。以後、指定された推定用モデルのデータを受信するまでは、データ取得とデータチェックとが繰り返される。
【0076】
ステップS55において、受信したデータは指定された推定用モデルのデータであると判定した場合、通信管理装置7はステップS56,S57を順に実行する。ステップS56では、通信規制部516が受信した推定用モデルのデータをモデル取得部515が取得する。ステップS57では、ステップS56において取得した推定用モデルのデータをモデル取得部515がデータ管理装置6のモデル保持部412に保存する。以上で推定用モデルのデータの取得手順が完了する。通信管理装置7は以上の手順を繰り返し実行する。
【0077】
(2)推定用モデルに基づくメンテナンス推奨時期の導出手順
図13に示すように、データ管理装置6は、まずステップS61,S62,S63を順に実行する。ステップS61では、推定部417が、新たな上記入力データセット(予測濃度データの導出に用いられていない入力データセット)がデータ保持部416に蓄積されるのを待機する。ステップS62では、推定部417が、新たな入力データセットをモデル保持部412の推定用モデルに入力し、上記予測濃度データを導出する。その後、推定部417は、当該予測濃度データを予測データ蓄積部418に保存する。ステップS63では、モデル構築部419が、予測データ蓄積部418に所定数の新たな予測濃度データ(モデル構築部419において未使用の予測濃度データ)が蓄積されたか否かを判断する。蓄積された新たな予測濃度データの数が所定数に達していないと判定した場合、データ管理装置6は処理をステップS61に戻す。以後、所定数の新たな予測濃度データが予測データ蓄積部418に蓄積されたと判定するまでは、予測濃度データの導出及び保存が繰り返される。
【0078】
ステップS63において、所定数の新たな予測濃度データが予測データ蓄積部418に蓄積されたと判定した場合、データ管理装置6はステップS64を実行する。ステップS64では、モデル構築部419が、所定数の新たな予測濃度データに基づいて濃度データの上昇予測モデルを構築する。
【0079】
次に、データ管理装置6はステップS65を実行する。ステップS65では、推奨時期導出部421が、上昇予測モデルに基づいて、上記第一の推奨時期(推定用モデルに基づく減速機22のメンテナンスの推奨時期)を導出する。次に、データ管理装置6はステップS66を実行する。ステップS66では、表示データ生成部425が、第一の推奨時期を表示するための画像データを生成し、表示部426が当該画像データにより第一の推奨時期を含む画像を表示する。
【0080】
次に、データ管理装置6は、ステップS67,S68を順に実行する。ステップS67では、推奨時期導出部422が、上記予測式に基づき上記第二の推奨時期(予測式による減速機22のメンテナンスの推奨時期)を導出する。ステップS68では、予測式修正部423が、第二の推奨時期を、第一の推奨時期に近付けるように予測式を修正する。例えば予測式修正部423は、ステップS67において算出された第二の推奨時期と、ステップS65において算出された第一の推奨時期との比率を乗算して上記補正係数Aの値を修正する。以上により、推定用モデルに基づくメンテナンス推奨時期の導出手順が完了する。データ管理装置6は以上の手順を繰り返し実行する。
【0081】
(3)予測式に基づくメンテナンス推奨時期の導出手順
図14に示すように、データ管理装置6は、ステップS71,S72,S73を順に実行する。ステップS71では、推奨時期導出部422が、減速機22の回転速度及びトルクの設定値の入力を待機する。ステップS72では、推奨時期導出部422が、入力された設定値と予測式修正部423により修正された予測式とに基づいて、上記第二の推奨時期を導出する。例えば推奨時期導出部422は、上記の式(1)に基づいて第二の推奨時期を導出する。ステップS73では、表示データ生成部425が、第二の推奨時期を表示するための画像データを生成し、表示部426が当該画像データにより第二の推奨時期を含む画像を表示する。表示データ生成部425は、第一の推奨時期及び第二の推奨時期の両方を表示するための画像データを生成してもよい。以上により、予測式に基づくメンテナンス推奨時期の導出手順が完了する。データ管理装置6は、以上のメンテナンス推奨時期の導出手順を繰り返し実行する。
【0082】
5.本実施形態の効果
以上に説明したように、制御システム1は、アクチュエータ11~16を制御する工場システム3と、ネットワーク回線NWを介し、工場システム3からアクチュエータ11~16に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ11~16の状態の推定用モデルを生成する学習システム2と、を備え、工場システム3は、アクチュエータ11~16を制御するノードであるロボットコントローラ4及び上位コントローラ5と、ネットワーク回線NWを介して学習システム2に接続されたノードである通信管理装置7と、を含む複数のノードXを有し、通信管理装置7は、機械学習用の情報を、他のノードXのいずれかから取得するデータ取得部511と、データ取得部511が取得した情報を含むデータセットを構築して学習システム2から読み出し可能にするデータセット構築部512と、を含む。
【0083】
この制御システム1によれば、ロボットコントローラ4及び上位コントローラ5へのネットワークアクセスを伴わずに、工場システム3から学習システム2に機械学習用の情報を提供することができる。このため、ロボットコントローラ4及び上位コントローラ5の信頼性維持と、機械学習用の情報収集の効率化との両立を図ることができる。従って、工場システム3における機械学習の利用拡大に有効である。
【0084】
データ取得部511は、上位コントローラ5内のデータにアクセスするためのインタフェースプログラムにより上位コントローラ5内から読み出された機械学習用の情報を取得し、インタフェースプログラムは、複数のノードXのうち、通信管理装置7によりネットワーク回線NWから隔離されたいずれかのノードXに設けられたインタフェース保持部413に記憶されていてもよい。この場合、インタフェースプログラムにより読み出された機械学習用の情報を取得することにより、当該情報を記憶する領域とは別の記憶領域に誤ってアクセスすること等を抑制することができる。また、通信管理装置7によりネットワーク回線NWから隔離されたノードXのインタフェース保持部413にインタフェースプログラムを配置することにより、上位コントローラ5へのネットワークアクセスをより厳しく制限し、上位コントローラ5の信頼性をより確実に維持することができる。
【0085】
複数のノードXは、通信管理装置7並びにロボットコントローラ4及び上位コントローラ5の他のノードXを含み、当該ノードXがインタフェース保持部413を含んでもよい。
【0086】
データ取得部511は、複数のアクチュエータ11~16に関する機械学習用の情報を取得し、データセット構築部512は、データ取得部511が取得した情報を、アクチュエータ11~16の識別情報を含む分類用情報により構造化したデータセットを構築し、学習システム2は、分類用情報の指定により、データセットから機械学習用の情報を抽出する情報抽出部111と、情報抽出部111が抽出した機械学習用の情報を蓄積する情報蓄積部112と、情報蓄積部112に蓄積された情報を用いた機械学習により、推定用モデルを生成するモデル生成部113と、を有してもよい。この場合、機械学習用の情報収集の更なる効率化を図ることができる。
【0087】
複数のノードXのいずれかは、学習システム2により生成された推定用モデルのデータを記憶するモデル保持部412を含み、複数のノードXのいずれかは、モデル保持部412に記憶された推定用モデルに基づいてアクチュエータ11~16の状態推定を行う推定部417を含んでもよい。この場合、学習システム2に配置された推定用モデルをアクチュエータ11~16の状態推定に用いるのに比較して、学習システム2側から工場システム3側へのデータ送信の頻度が低くなる。従って、ロボットコントローラ4及び上位コントローラ5の信頼性をより確実に維持することができる。
【0088】
推定部417は、アクチュエータ11~16の劣化状態の推定を行ってもよい。複数のノードXのいずれかは、推定部417によるアクチュエータ11~16の状態推定結果に基づいてアクチュエータ11~16の制御パラメータを調節するパラメータ調節部314を更に有してもよい。
【0089】
学習システム2は、モデル生成部113により生成された複数種類の推定用モデルを記憶するモデル保持部114と、情報蓄積部112に蓄積された情報と、複数種類の推定用モデルによるアクチュエータ11~16の状態推定結果とに基づいてそれぞれの推定用モデルの推定精度を評価するモデル評価部115と、複数種類の推定用モデルの識別情報と、複数種類の推定用モデルの推定精度の評価結果とを表示するためのデータを生成する表示データ生成部116と、を有してもよい。この場合、複数種類の推定用モデルと、これらの評価結果との可視化を図りつつ、推定用モデルの選択的な取得を可能にすることで、より広範なニーズに応じた推定用モデルの提供が可能となる。
【0090】
モデル評価部115は、情報蓄積部112に蓄積された情報の一部を推定用モデルに入力して評価用のデータを導出する評価データ導出部121と、評価データ導出部121により導出されたデータと、情報蓄積部112に蓄積された情報が含むアクチュエータ11~16の状態の情報とを比較して当該推定用モデルの推定精度を評価する精度評価部122と、を有してもよい。この場合、推定用モデルの評価に既存のデータを活用することで、推定用モデルを迅速に評価することができる。
【0091】
学習システム2は、工場システム3のいずれかのノードXから推定用モデルの種類の指定を受信し、当該指定に従った推定用モデルのデータを当該ノードXに送信するモデル出力部118を更に有してもよい。この場合、推定用モデルの評価結果に基づく推定用モデルの選択的な送信要求を可能にし、工場システム3へのデータ送信の頻度を更に低減することができる。
【0092】
制御システム1は、アクチュエータ11~16を制御する工場システム3と、ネットワーク回線NWを介し、工場システム3からアクチュエータ11~16に関する機械学習用の情報を抽出し、当該情報を用いた機械学習によりアクチュエータ11~16の状態の推定用モデルを生成する学習システム2と、を備え、工場システム3は、アクチュエータ11~16を制御するノードであるロボットコントローラ4及び上位コントローラ5を含む複数のノードXを有し、複数のノードXのいずれかは、学習システム2により生成された推定用モデルを記憶するモデル保持部412を含み、複数のノードXのいずれかは、モデル保持部412に記憶された推定用モデルに基づいてアクチュエータ11~16の状態推定を行う推定部417を含む。この場合、長期的な機械学習と、制御における学習結果のリアルタイムな活用との両立を図ることができる。従って、工場システム3における機械学習の利用拡大に有効である。
【0093】
複数のノードXのいずれかは、学習システム2に推定用モデルのデータの送信を要求するモデル要求部411を含み、複数のノードXのいずれかは、モデル要求部411からの要求に応じて送信された推定用モデルのデータを取得するモデル取得部515を含んでもよい。この場合、学習システム2から工場システム3へのモデルデータの送信タイミングを工場システム3側にて決定することができるので、工場システム3への不測のデータ送信の頻度をより確実に低減させることができる。
【0094】
複数のノードXのいずれかは、モデル要求部411からの要求に応じたデータとは異なるデータの取得を制限する通信規制部516を含んでいてもよい。この場合、工場システム3への不測のデータ送信の頻度をより確実に低減させることができる。
【0095】
以上、実施形態について説明したが、本発明は必ずしも上述した形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変形が可能である。例えば、複数のノードXのいずれかは、推定部417によるアクチュエータ11~16の状態推定結果に基づいてアクチュエータ11~16の制御パラメータを調節するパラメータ調節部を更に有してもよい。例えば
図15に例示する工場システム3においては、ロボットコントローラ4がパラメータ保持部214を更に有し、上位コントローラ5がパラメータ調節部314を更に有する。パラメータ保持部214は、各種制御パラメータ(例えば位置制御ゲイン、速度制御ゲイン、及びトルク制御ゲイン等)を記憶する。位置制御部211、速度制御部212、トルク制御部213は、パラメータ保持部214に記憶された制御パラメータに従って上述した制御を実行する。パラメータ調節部314は、推定部417によるアクチュエータ11~16の状態推定結果に基づいて、パラメータ保持部214に記憶される制御パラメータをアクチュエータ11~16の制御パラメータを調節する。
【0096】
また、工場システム3のノード構成は、必ずしも上述した構成に限られない。工場システム3は、少なくともロボットコントローラ4及び上位コントローラ5等の制御装置と、通信管理装置7とを備えていればよい。例えば、データ管理装置6の少なくとも一部の機能が上位コントローラ5に組み込まれていてもよく、データ管理装置6の全ての機能が上位コントローラ5に組み込まれていてもよい。
【符号の説明】
【0097】
1…制御システム、2…学習システム、3…工場システム、4…ロボットコントローラ(制御装置)、5…上位コントローラ(制御装置)、7…通信管理装置、11~16…アクチュエータ、111…情報抽出部、112…情報蓄積部、113…モデル生成部、114…モデル保持部(第二モデル保持部)、115…モデル評価部、116…表示データ生成部、118…モデル出力部、121…評価データ導出部、122…精度評価部、314…パラメータ調節部、411…モデル要求部、412…モデル保持部(第一モデル保持部)、413…インタフェース保持部、417…推定部、511…データ取得部(取得部)、512…データセット構築部、NW…ネットワーク回線、X…ノード。