(57)【要約】  本開示は、データ通信量を削減することでリアルタイムに制御プログラムの改良をすることができる制御プログラム改良装置を提供することを目的とする。  本開示に係る制御プログラム改良装置は、産業機械の動作状態の情報を含むデータを収集し、データを選別する選別アルゴリズムを有するデータ選別部によって選別され、ネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するモデル推定部と、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良する制御プログラム改良部と、収集された動作状態に基づいて選別アルゴリズムを変更し、変更した選別アルゴリズムをデータ選別部に設定する選別アルゴリズム変更部と、を備えている。
2021005721.tif 000002
【特許請求の範囲】
【請求項１】
産業機械の動作状態の情報を含むデータを収集し、前記データを選別する選別アルゴリズムを有するデータ選別部によって選別され、ネットワークを介して送られた前記データ及び前記産業機械の制御プログラムに基づいて、前記産業機械の動作モデルを推定するモデル推定部と、
前記動作モデルを用いて推定された前記産業機械の前記動作状態と、初期制御プログラムを用いて求められた前記産業機械の目標状態とを比較し、推定された前記動作状態と前記目標状態との差が小さくなるように、前記制御プログラムを改良する制御プログラム改良部と、
収集された前記動作状態に基づいて前記選別アルゴリズムを変更し、変更した前記選別アルゴリズムを前記データ選別部に設定する選別アルゴリズム変更部と、
を備えた制御プログラム改良装置。
【請求項２】
前記選別アルゴリズムを変更する際に用いるパラメータを設定し、前記選別アルゴリズム変更部に入力するパラメータ設定部と、
を備えた請求項１に記載の制御プログラム改良装置。
【請求項３】
前記選別アルゴリズムは、
収集された前記動作状態と推定された前記動作状態との前記差が、あらかじめ前記パラメータとして定められた前記選別アルゴリズムのしきい値以上である場合において前記データを送信するように前記データを選別するアルゴリズムである
ことを特徴とする請求項２に記載の制御プログラム改良装置。
【請求項４】
前記モデル推定部は、
前記産業機械が一連の動作を行う周期である１周期分の前記データを前記選別アルゴリズムに従って前記データ選別部によって選別され、前記ネットワークを介して送られた前記データに基づいて、前記産業機械の前記動作モデルを推定する
ことを特徴とする請求項１から３のいずれか１項に記載の制御プログラム改良装置。
【請求項５】
前記モデル推定部は、
前記選別アルゴリズムに従って選別された前記データのデータ量が、あらかじめ定められた前記データ量のしきい値以上の量になった場合に、前記データ選別部によって前記ネットワークを介して前記データを送られ、前記産業機械の前記動作モデルを推定する
ことを特徴とする請求項３に記載の制御プログラム改良装置。
【請求項６】
前記制御プログラム改良部の改良基準の設定、及び前記制御プログラムと改良後の新たな前記制御プログラムを置き換えるか否かの指示を行う改良設定入出力部と、
を備えた請求項１から５のいずれか１項に記載の制御プログラム改良装置。
【請求項７】
前記改良設定入出力部は、前記制御プログラム改良部が前記制御プログラムを改良する改良基準として、
前記初期制御プログラムにより規定される前記産業機械の前記目標状態と、推定された前記動作状態との前記差があらかじめ定められた前記制御プログラムのしきい値以下であるという基準を設定すること、
を特徴とする請求項６に記載の制御プログラム改良装置。
【請求項８】
前記改良設定入出力部は、前記制御プログラム改良部が前記制御プログラムを改良する改良基準として、
改良後の新たな前記制御プログラムにより規定される前記産業機械の目標速度が前記初期制御プログラムにより規定される前記産業機械の目標速度にあらかじめ定められた前記制御プログラムのしきい値を加算した値以上であるという基準を設定すること、
を特徴とする請求項６に記載の制御プログラム改良装置。
【請求項９】
前記制御プログラムの改良の要求を出し、前記モデル推定部を動作させる改良要求入力部と、
を備えた請求項１から８のいずれか１項に記載の制御プログラム改良装置。
【請求項１０】
前記制御プログラム改良部による制御結果を表示する改良効果表示部と、
を備えた請求項１から９のいずれか１項に記載の制御プログラム改良装置。
【請求項１１】
産業機械の動作状態の情報を含むデータを収集し、選別アルゴリズムに基づいて前記データを選別するステップと、
選別されネットワークを介して送られた前記データ及び前記産業機械の制御プログラムに基づいて、前記産業機械の動作モデルを推定するステップと、
前記動作モデルを用いて推定された前記産業機械の前記動作状態と、初期制御プログラムを用いて求められた前記産業機械の目標状態とを比較し、推定された前記動作状態と前記目標状態との差が小さくなるように、前記制御プログラムを改良するステップと、
収集された前記動作状態に基づいて前記選別アルゴリズムを変更し、設定するステップと、
を備えた制御プログラム改良方法。
【請求項１２】
産業機械の動作状態の情報を含むデータを収集し、前記データを選別する選別アルゴリズムを有するデータ選別部と、
前記データ選別部によって選別され、ネットワークを介して送られた前記データ及び前記産業機械の制御プログラムに基づいて、前記産業機械の動作モデルを推定するモデル推定部と、
前記動作モデルを用いて推定された前記産業機械の前記動作状態と、初期制御プログラムを用いて求められた前記産業機械の目標状態とを比較し、推定された前記動作状態と前記目標状態との差が小さくなるように、前記制御プログラムを改良する制御プログラム改良部と、
収集された前記動作状態に基づいて前記選別アルゴリズムを変更し、変更した前記選別アルゴリズムを前記データ選別部に設定する選別アルゴリズム変更部と、
を備えた制御プログラム改良システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、産業機械の動作を制御する制御プログラムの制御プログラム改良装置、制御プログラム改良方法及び制御プログラム改良システムに関する。
【背景技術】
【０００２】
産業機械を制御する従来のセルコントローラでは、ネットワークを介して受信した産業機械の時系列の稼働情報に基づいて、産業機械を有する生産システム全体のタクトタイムに悪影響を与えている部分の分析を行う。そして、分析した結果から産業機械の制御プログラムの改良法について機械学習を用いて学習した結果を受けて、制御プログラムを改良することで、生産システム全体の動作を最適化させていた（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１９９０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来の技術では、ネットワークを介して産業機械の時系列の稼働情報を収集する際に、全ての稼働情報を収集するため、データ通信量が増大する。データ通信量が増大するとネットワークの輻輳が発生することで、リアルタイムで解析が行えず、制御プログラムの改良ができないという問題があった。【０００５】
本開示は、上述のような課題を解決するためになされたもので、データ通信量を削減することでリアルタイムに制御プログラムの改良をすることができる制御プログラム改良装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示に係る制御プログラム改良装置は、産業機械の動作状態の情報を含むデータを収集し、データを選別する選別アルゴリズムを有するデータ選別部によって選別され、ネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するモデル推定部と、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良する制御プログラム改良部と、収集された動作状態に基づいて選別アルゴリズムを変更し、変更した選別アルゴリズムをデータ選別部に設定する選別アルゴリズム変更部と、を備えている。【０００７】
本開示に係る制御プログラム改良方法は、産業機械の動作状態の情報を含むデータを収集し、選別アルゴリズムに基づいてデータを選別するステップと選別されネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するステップと、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良するステップと、収集された動作状態に基づいて選別アルゴリズムを変更し、設定するステップと、を備えている。【０００８】
本開示に係る制御プログラム改良システムは、産業機械の動作状態の情報を含むデータを収集し、データを選別する選別アルゴリズムを有するデータ選別部と、データ選別部によって選別され、ネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するモデル推定部と、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良する制御プログラム改良部と、収集された動作状態に基づいて選別アルゴリズムを変更し、変更した選別アルゴリズムをデータ選別部に設定する選別アルゴリズム変更部と、を備えている。
【発明の効果】
【０００９】
本開示の制御プログラム改良装置によれば、選別アルゴリズムによって選別された産業機械のデータを用いて制御プログラムの改良を行うことができるので、データ通信量を削減した上で制御プログラムを改良することができる。【００１０】
本開示の制御プログラム改良方法によれば、選別アルゴリズムによって産業機械のデータを選別するステップを備えることで、選別された産業機械のデータを用いて制御プログラムの改良を行うため、制御データ通信量を削減した上で制御プログラムを改良することができる。【００１１】
本開示のプログラム改良システムによれば、データ選択部が有するアルゴリズムによって産業機械のデータを選別し、選別された産業機械のデータを用いて制御プログラムの改良を行うため、データ通信量を削減した上で制御プログラムを改良することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るプログラム改良システムの構成を示す機能ブロック図。
【図２】実施の形態１に係る制御プログラム改良装置のハードウェア構成図。
【図３】実施の形態１に係るデータ選別部のフローチャート図。
【図４】実施の形態１に係るモデル推定部におけるフローチャート図。
【図５】実施の形態１に係る選別アルゴリズム変更部におけるフローチャート図。
【図６】実施の形態１に係る制御プログラム改良部におけるフローチャート図。
【図７】実施の形態２に係るデータ選別部におけるフローチャート図。
【図８】実施の形態３に係るデータ選別部におけるフローチャート図。
【図９】実施の形態４に係る産業機械が複数台ある場合の例である制御プログラム改良システムの概略図。
【図１０】実施の形態４に係る産業機械が複数台ある場合の別の例である制御プログラム改良システムの概略図。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、本実施の形態のプログラム改良システムＡの構成を示す機能ブロック図の例である。プログラム改良システムＡは、制御プログラム改良装置１ａ及びコントローラ２ａで構成されている。制御プログラム改良装置１ａ、コントローラ２ａ及び産業機械３とはネットワークを介して接続されている。図１を用いて、プログラム改良システムＡの構成について説明する。また、ネットワークの種類は、通信ケーブル、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）といったように限定しない。
また、図１では、コントローラ２ａ及び産業機械３は、区別して記載しているが、これに限るものではなく、コントローラ２ａ及び産業機械３をまとめて産業機械３としてもよい。
【００１４】
制御プログラム改良装置１ａは、モデル推定部１１、制御プログラム改良部１２、選別アルゴリズム変更部１３、初期制御プログラムＤＢ１４、改良要求入力部１５ａ、改良設定入出力部１６、改良効果表示部１７及びパラメータ設定部１８ａを備えている。
また、コントローラ２ａは、データ選別部２１ａ、制御プログラムＤＢ２２及び制御部２３を備えている。図１では、データ選別部２１ａは、コントローラ２ａに備えられているが、その限りではなく、コントローラ２ａとは別に設けられていてもよい。
【００１５】
制御プログラム改良装置１ａは、計算機上で、各部について後述する動作を実装したアプリケーションプログラムを実行する。
コントローラ２ａは、制御プログラムＤＢ２２に規定されている産業機械３の一連の動作を制御部２３において繰り返し実行するものであり、例えば、プログラマブルロジックコントローラ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ，ＰＬＣ）及び数値制御装置（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ，ＮＣ）である。
【００１６】
図２は、制御プログラム改良装置１ａのハードウェア構成図である。
例えば、ハードディスクといった記憶装置１０２は、各部で実行されるプログラム、初期制御プログラム、及び制御プログラムを記憶している。各プログラムは、ＣＰＵ１０１によって実行される。
改良要求入力部１５ａ、改良設定入出力部１６及びパラメータ設定部１８ａでは、表示装置であるディスプレイ１００により、ユーザからの入力内容が取得される。改良効果表示部１７では、同様に、ディスプレイ１００により、ユーザへ内容を表示する。
【００１７】
プログラム改良システムＡの構成について順に説明する。
データ選別部２１ａは、産業機械３のデータを選別し、モデル推定部１１へ送信する。データ選別部２１ａの動作は、後で詳しく述べる。
産業機械３のデータは、例えば、産業機械３の動作状態、タイムスタンプ及び制御指令値を関連付けたデータのこととする。
産業機械３の動作状態とは、例えば、産業機械３に装備されたモータの速度、加速度、トルク、電流及び速度指令に対する速度の追従誤差といったものである。また、これらの動作状態を組み合わせたり、新たな動作状態を導入したりしてもよい。新たな動作状態は、例えば、モータの速度の積分値から算出される位置である。
産業機械３の制御指令値は、例えば、目標状態値または入力電流値である。
【００１８】
モデル推定部１１は、データ選別部２１ａから送信された産業機械の動作状態を用いて、産業機械の動作モデルを推定する。
動作モデルとは、例えば、産業機械３の動作状態を状態量とする状態方程式、又は産業機械３の制御指令値から動作状態の関係を示した伝達関数である。
モデル推定部１１の動作は、後で詳しく述べる。
【００１９】
初期制御プログラムＤＢ１４は、制御プログラム改良システムＡを開始する際に用いる産業機械３の初期制御プログラムを保持している。また、制御プログラム改良システムＡの開始後制御プログラムを改良している場合、改良前のすべての制御プログラムを保持している。
【００２０】
制御プログラムＤＢ２２は、産業機械３の一連の動作を規定した制御プログラムを保持している。改良設定入出力部１６によって、改良前の制御プログラムを、制御プログラム改良部１２による改良後の制御プログラムに置き換えるように指示された場合、保持している制御プログラムは制御プログラム改良部１２によって置き換えられる。
また、本実施の形態では、産業機械３の一連の動作が行われる周期を１周期とし、制御プログラム改良システムＡはミリ秒単位で産業機械３のデータを収集する。
【００２１】
制御部２３は、制御プログラムＤＢ２２に保持されている制御プログラムに従って、産業機械３を制御する。
【００２２】
改良要求入力部１５ａは、制御プログラムの改良の要求を入力するユーザインターフェースであり、ユーザより制御プログラム改良の要求があった場合、モデル推定部１１、制御プログラム改良部１２、選別アルゴリズム変更部１３及びデータ選別部２１ａを動作させ、制御プログラムの改良を行う。
【００２３】
改良設定入出力部１６は、産業機械３の制御プログラムの改良基準の設定、及び制御プログラムＤＢ２２が保持している制御プログラムを改良後の新たな制御プログラムに置き換えるか否かの指示を行うユーザインターフェースである。
改良設定入出力部１６は、改良基準の中であらかじめ定めるしきい値として、「制御プログラムのしきい値」を設定する。
制御プログラムの改良基準は、例えば、初期制御プログラムＤＢ１４が保持する初期制御プログラムにより規定される産業機械３の目標状態と、改良後の新たな制御プログラムによる産業機械３の動作状態の推定値との差が、制御プログラムのしきい値以下である。その他の例として、例えば、改良後の新たな制御プログラムにより規定される産業機械の目標速度が、初期制御プログラムＤＢ１４が保持する初期制御プログラムにより規定される産業機械の目標速度に制御プログラムのしきい値を加算した値以上である。
例えば、産業機械３の動作状態のうち位置に関して改良基準を定めると、産業機械３の動作精度を向上させるように制御プログラムを改良できる。
【００２４】
改良効果表示部１７は、制御プログラム改良部１２による改良後の新たな制御プログラムの効果、及び改良設定入出力部１６による設定値をユーザが分かるように示すユーザインターフェースである。改良後の新たな制御プログラムの効果とは、例えば、改良された新たな制御プログラムによる産業機械３の動作精度及びサイクルタイムといったものであり、初期制御プログラムＤＢ１４に格納されている初期制御プログラムによる結果と比較できる形で表示される。
【００２５】
ユーザは、改良効果表示部１７で表示された内容を確認し、改良基準を満たしている場合は、改良設定入出力部１６から制御プログラムＤＢ２２が保持している制御プログラムを書き換えるように指示ができる。改良基準を満たしておらず、さらに制御プログラムの改良が必要であると判断した場合には、制御プログラムの書き換えの指示ではなく、再度、改良設定入出力部１６で改良基準の設定をして制御プログラムの改良を要求することができる。
【００２６】
パラメータ設定部１８ａは、選別アルゴリズム変更部１３で使用するパラメータを設定するユーザインターフェースである。選別アルゴリズムの種類、及びそのパラメータを設定する。
選別アルゴリズムの種類とは、例えば、周期的に産業機械３のデータを間引く処理、１周期の動作のうち特定の区間の産業機械３のデータのみ取得する処理、又は条件式を満たす産業機械３のデータのみ取得する処理といった処理である。
パラメータは、例えば、選別アルゴリズムの種類が周期的に産業機械３のデータを間引く処理である場合には、間引く周期のことである。またパラメータは、選別アルゴリズムの種類が１周期の動作のうち特定の区間の産業機械３のデータのみ取得する処理である場合には、産業機械３のデータを取得する区間のことである。またパラメータは、選別アルゴリズムの種類が条件式を満たす産業機械３のデータのみ取得する処理である場合には、例えば、産業機械３の動作状態と、モデル推定部１１による動作モデルを用いて推定された産業機械３の動作状態の推定値との差のしきい値である。
パラメータ設定部１８ａで設定されるパラメータを「選別アルゴリズムのしきい値」とする。
【００２７】
本実施の形態では、選別アルゴリズムは、例えば、条件式を用いて決定され、産業機械３の動作状態と、モデル推定部１１による動作モデルを用いて推定された産業機械３の動作状態の推定値との差が、選別アルゴリズムのしきい値以上とする。
【００２８】
制御プログラム改良部１２は、改良設定入出力部１６より入力された改良基準に従い、モデル推定部１１で推定した動作モデルと初期制御プログラムＤＢ１４が保持する初期制御プログラムとを用いて、制御プログラムを改良する。
制御プログラムの改良は繰り返し行われ、改良後の新たな制御プログラムは、初期制御プログラムＤＢ１４に格納される。さらに、ユーザが制御プログラムＤＢ１４の置き換えを指示した場合には、制御プログラムＤＢ２２に保持している制御プログラムを改良後の制御プログラムに置き換えて保持される。
制御プログラム改良部１２の動作は後で詳しく述べる。
【００２９】
選別アルゴリズム変更部１３は、収集された産業機械の動作状態、パラメータ設定部１８ａにより設定されたパラメータ、加えて本実施の形態ではモデル推定部１１で推定した産業機械３の動作モデルを用いて、データ選別部２１ａで使用する選別アルゴリズムを変更する。選別アルゴリズム変更部１３の動作は、後で詳しく述べる。
【００３０】
つづいて、フローチャート図を用いて各部の動作を詳細に述べる。
まず、データ選別部２１ａの動作について述べる。
図３は、データ選別部２１ａのフローチャート図の例を示している。
ステップＳ１０１では、産業機械３の動作開始、又は制御プログラムの改良要求の入力を待機する。
ステップＳ１０２では、産業機械３の動作が停止、又は制御プログラムの改良が完了していなければ、ステップＳ１０３に進む。産業機械３の動作が停止、又は制御プログラムの改良が完了していれば終了となる。
ステップＳ１０３では、産業機械３の動作状態を取得する。
ステップＳ１０４では、産業機械３の動作状態を取得したタイムスタンプ、及び動作状態と対応する制御指令値を産業機械３の動作状態の情報に付加して、産業機械３のデータとする。
【００３１】
ステップＳ１０５では、産業機械３のデータをモデル推定部１１へ送信するか否かを選別アルゴリズムに基づいて判定して産業機械３のデータを選別する。本実施の形態では、選別アルゴリズムは、「産業機械３の動作状態と、モデル推定部１１による動作モデルを用いて推定された産業機械３の動作状態の推定値との差が、選別アルゴリズムのしきい値以上である場合、産業機械３のデータを送信する」処理であるとする。
ステップＳ１０６で、ステップＳ１０５で求めた判定結果が真であるかどうかを確認する。判定結果が真である場合は、ステップＳ１０７に進む。判定結果が偽である場合は、ステップＳ１０８に進む。
ステップＳ１０７で、選別した産業機械３のデータをモデル推定部１１へ送信する。
ステップＳ１０８で、産業機械３の動作が停止、又は制御プログラムの改良が完了していれば終了する。
【００３２】
次に、モデル推定部１１の動作について述べる。
図４は、モデル推定部１１におけるフローチャート図の例を示している。
ステップＳ２０１で、改良要求入力部１５ａからの入力を待機する。
ステップＳ２０２で、データ選別部２１ａによって選別された産業機械３のデータを受信する。
ステップＳ２０３で、選別された産業機械３のデータから、制御プログラムＤＢ２２に保持されている制御プログラムによって制御された、１周期の産業機械３の動作状態を推定する。推定には、例えば、カルマンフィルタを用いる。
ステップＳ２０４で、推定した１周期のデータを使用して、産業機械３の動作モデルを推定する。例えば、状態方程式を推定する場合には、動作状態と制御指令値との組の集合を入力とし、最小二乗法を用いて、産業機械３の動特性を示すパラメータを求める。
動作モデルの推定が完了すれば終了する。
【００３３】
つづいて、選別アルゴリズム変更部１３の動作について述べる。
図５は、選別アルゴリズム変更部１３におけるフローチャート図の例を示している。
ステップＳ３０１で、モデル推定部１１で推定した動作モデルが入力されるのを待機する。
ステップＳ３０２で、モデル推定部１１による動作モデルを用いて推定された産業機械３の動作状態の推定値を算出する。
ステップＳ３０３で、パラメータ設定部１８ａから入力された選別アルゴリズムのしきい値を取得する。
ステップＳ３０４で、データ選別部２１ａで用いる選別アルゴリズムを変更する。選別アルゴリズムの種類が、例えば、産業機械３の動作状態と、ステップＳ３０２で推定した産業機械３の動作状態の推定値との差が、選別アルゴリズムのしきい値以上である場合において産業機械３のデータを送信するという選別アルゴリズムである場合では、選別アルゴリズムのしきい値をステップＳ３０３で取得した新たな選別アルゴリズムのしきい値に変更し、変更した選別アルゴリズムをデータ選別部２１ａに設定し終了する。
【００３４】
つづいて、制御プログラム改良部１２の動作について述べる。
図６は、制御プログラム改良部１２におけるフローチャート図の例を示している。
ステップＳ４０１で、モデル推定部１１で推定した動作モデルが入力されるのを待機する。
ステップＳ４０２で、初期制御プログラムＤＢ１４に格納されている初期制御プログラムで規定されている産業機械３の目標状態を算出する。
ステップＳ４０３で、モデル推定部１１による動作モデルを使用し、改良中の制御プログラムによる産業機械３の動作状態の推定値を算出する。改良中の制御プログラムが無い場合は、初期制御プログラムによる産業機械３の動作状態の推定値を算出する。
ステップＳ４０４で、産業機械３の目標状態と、推定された動作状態の差を算出する。
ステップＳ４０５で、ステップＳ４０４で算出した差が、改良設定入出力部１６により改良基準として設定された制御プログラムのしきい値以下であるかどうかを判定する。
差が制御プログラムのしきい値以下でない場合、ステップＳ４０６で、差に応じた制御プログラムの変更、及びコントローラ２ａへの送信を行う。例えば、ステップＳ４０２で初期制御プログラムにおける目標速度を算出し、ステップＳ４０３で速度の推定値を算出した場合、ステップＳ４０４で算出した差が制御プログラムのしきい値よりも大きい場合であれば、制御プログラムの目標速度を改良する。改良する数値の改良幅は、差の大きさに比例する。
以降、ステップＳ４０３〜Ｓ４０６を繰り返すことにより制御プログラムを改良し、ステップＳ４０５において、差が制御プログラムのしきい値以下となったとき終了する。
【００３５】
本実施の形態では、産業機械３のデータを選別アルゴリズムに基づいて選別することで、ネットワークを介するデータ通信量が削減され、リアルタイムに産業機械３の制御プログラムを改良することができる。また、データ通信量を削減することで、制御プログラムの改良に必要なデータを十分収集することができ、より精度が高い制御プログラムに改良することができる。
【００３６】
また、パラメータ設定部１８ａを設けることで、ユーザの意図に合わせた制御プログラムの改良を行うことができる。したがって、例えば、工場内のネットワークの帯域幅に制限があり、１周期のデータ全てを送受信できない場合においても、その制限に合わせた選別アルゴリズムを設定することにより、制御プログラムを改良することができる。
【００３７】
モデル推定部１１より作成された動作モデルを使用して産業機械３の動作状態を推定するため、例えば、制御プログラムの大幅な変更があった場合及びユーザが新たな制御プログラムを指示したい場合、機械学習で最適化する場合のように再度データを収集する手間がなく、効率的に制御プログラムを改良することができる。
【００３８】
実施の形態２．
実施の形態１に係るプログラム改良システムと実施の形態２に係るプログラム改良システムとの相違点は、データ選別部の動作である。
実施の形態１では、産業機械のデータは、一つ一つデータ選別部に送られ、選別されてモデル推定部１１へ送信される。
一方、実施の形態２では、産業機械のデータは、制御プログラムによって規定されている産業機械の１周期の動作が終了するごとにデータ選別部に送られ、モデル推定部１１へ送信される。
なお、以下では、実施の形態１及び実施の形態２との相違点のみ説明し、同一又は対応する部分についての説明は省略する。符号についても、実施の形態１と同一又は相当部分は同一符号とし、説明を省略する。
【００３９】
実施の形態２に係るパラメータ設定部１８ｂ及びデータ選別部２１ｂについて述べる。
パラメータ設定部１８ｂは、実施の形態１で示した設定に加えて、モデル推定部１１へ送信するデータの割合を設定することができる。例えば、１周期の産業機械３のデータのうち、半分の量をモデル推定部１１へ送信するといったように設定できる。
【００４０】
図７は、データ選別部２１ｂにおけるフローチャート図の例を示している。
ステップＳ５０１で、産業機械３の動作の開始、又は制御プログラムの改良要求の入力を待機する。
ステップＳ５０２で、産業機械３の動作の停止、又は制御プログラムの改良が完了していない場合、ステップＳ５０３に進む。産業機械３の動作の停止、又は制御プログラムの改良が完了している場合、終了する。
ステップＳ５０３で、産業機械３の動作状態を１周期分取得する。
ステップＳ５０４で、産業機械３の動作状態を取得したタイムスタンプ、及び動作状態と対応する制御指令値を付加して産業機械３のデータを作成する。
ステップＳ５０５で、産業機械３のデータをモデル推定部１１へ送信するかどうかを選別アルゴリズムに基づき判定する。
本実施の形態では、例えば、パラメータ設定部１８ｂによって１周期の半分のデータ量をモデル推定部１１へ送信するように設定されたとする。
この場合、選別アルゴリズムは、例えば、「産業機械３のデータ量１周期分の半分のデータ量を、モデル推定部１１による動作モデルを用いた産業機械３の動作状態の推定値と産業機械３の動作状態との差が大きいものから順に、モデル推定部１１に送信する。」というようなものである。
ステップＳ５０６で、モデル推定部１１へ産業機械３のデータを送信する。
ステップＳ５０７で、産業機械３の動作が停止、又は制御プログラムの改良が完了していれば終了する。
【００４１】
実施の形態２では、１周期の産業機械３のデータ中から選別するため、ネットワークを介して送信するデータ量をユーザが自由に制限できる。したがって、使用状況に応じた制御をすることができ、より利便性の良いものになっている。
【００４２】
実施の形態３．
実施の形態１及び実施の形態２と実施の形態３が異なる点は、実施の形態１及び実施の形態２ではユーザの要求に応じてプログラムの改良を行っていたが、実施の形態３ではプログラム改良システムが自立的に制御プログラムの改良を行うという点である。
なお、以下では、実施の形態１及び実施の形態２と、実施の形態３との相違点のみ説明し、同一又は対応する部分についての説明は省略する。符号についても、実施の形態１及び実施の形態２と同一又は相当部分は同一符号とし、説明を省略する。
【００４３】
実施の形態３に係る改良要求入力部１５ｃ及びデータ選別部２１ｃについて述べる。
改良要求入力部１５ｃは、実施の形態１で示した設定に加えて、データ選別部がモデル推定部１１へ産業機械のデータを送信するか否かを判断するしきい値を設定することができる。産業機械のデータを送信するか否かを判断するしきい値をデータ量のしきい値とする。
例えば、１周期の産業機械のデータのうち、半分の量をデータ量のしきい値として設定できる。
【００４４】
図８は、データ選別部２１ｃにおけるフローチャート図の例を示している。
ステップＳ６０１〜Ｓ６０６及びＳ６０９は、図２のステップＳ１０１〜Ｓ１０６及びＳ１０８と同様である。
ステップＳ６０７で、産業機械３のデータをモデル推定部１１へ送信するかどうかを、改良要求入力部１５ｃにより設定されたデータ量のしきい値に従って判定する。
本実施の形態では、例えば、データ量のしきい値は、産業機械３のデータのうち半分の量とする。
モデル推定部１１へ送信するデータ量がデータ量のしきい値以上である場合は、ステップＳ６０８に進む。データ量のしきい値よりも小さい場合は、ステップＳ６０９に進む。
ステップＳ６０８で、ステップＳ６０７で選別されたデータをモデル推定部１１へ送信する。
モデル推定部１１へ送信された以後は、実施の形態１及び実施の形態２と同様に、制御プログラムを改良する処理を行う。
【００４５】
本実施の形態では、ユーザは改良要求入力部１５ｃに改良要求を入力した以後は、制御プログラムの改良要求を出すことなく、データ選別部２１ｃにより制御プログラムを改良するか否かを判定する。
したがって、環境の変化より産業機械３の特性が変化した場合でも、制御プログラムの改良が自動で行われるため、ユーザが改良要求を出すために産業機械３の動作状態を確認するといった作業が不要となり、ユーザの負担を軽減することができる。
【００４６】
実施の形態４．
実施の形態１〜実施の形態３と、実施の形態４が異なる点は、制御する産業機械の個数であり、実施の形態１〜実施の形態３は１台としていたが、実施の形態４では、複数台設けられている点である。また、複数台の産業機械３は、同一の種類であってもよいし、異なる種類であってもよい。
なお、以下では、実施の形態１及び実施の形態２と、実施の形態３との相違点のみ説明し、同一又は対応する部分についての説明は省略する。符号についても、実施の形態１及び実施の形態２と同一又は相当部分は同一符号とし、説明を省略する。
【００４７】
図９は、産業機械３が複数台ある場合の例である制御プログラム改良システムＤ１の概略図を示している。図１０は、産業機械３が複数台ある場合の別の例である制御プログラム改良システムＤ２の概略図を示している。
図９は、４台の産業機械３それぞれに接続されたコントローラ２ｄ１が制御している。
図１０は、４台の産業機械３を１台のコントローラ２ｄ２が制御している。
本実施の形態では、産業機械と同数のデータ選択部をコントローラは有している。したがって、図９では、各コントローラ２ｄ１には１台ずつデータ選別部を有している。図１０では、コントローラ２ｄ２はデータ選別部を４台有している。
【００４８】
制御プログラム改良装置１ｄ１、１ｄ２は、図９及び図１０で示すように１台とする。
制御プログラム改良装置１ｄ１、１ｄ２が備えているモデル推定部１１は、制御する産業機械３各々の推定モデルを作る。
また、推定モデルは、産業機械３が同一の種類であれば共通の式で表し、産業機械３が異なる種類であれば各々異なる式で表す。
プログラム改良システムの各部の動作は、実施の形態１〜３と同様である。
【００４９】
本実施の形態では、産業機械３が複数台ある場合について述べた。複数の産業機械３が同じ種類である場合は、同一の推定モデルの式を用いて各々の産業機械３のばらつきを考慮しながら、制御プログラムを改良することができる。複数の産業機械３が異なる種類である場合は、各々の産業機械３に適した推定モデルの式を用いることで、制御プログラムを改良して制御することができる。
【符号の説明】
【００５０】
Ａ、Ｄ１、Ｄ２  制御プログラム改良システム
１ａ、１ｄ１、１ｄ２  制御プログラム改良装置
１１  モデル推定部
１２  制御プログラム改良部
１３  選別アルゴリズム変更部
１５ａ、１５ｃ  改良要求入力部
１６  改良設定入出力部
１７  改良効果表示部
１８ａ  パラメータ設定部
２１ａ、２１ｂ、２１ｃ  データ選別部
【図１】
2021005721.tif 000003
【図２】
2021005721.tif 000004
【図３】
2021005721.tif 000005
【図４】
2021005721.tif 000006
【図５】
2021005721.tif 000007
【図６】
2021005721.tif 000008
【図７】
2021005721.tif 000009
【図８】
2021005721.tif 000010
【図９】
2021005721.tif 000011
【図１０】
2021005721.tif 000012
【手続補正書】
【提出日】令和3年6月14日(2021.6.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
産業機械の動作状態の情報を含むデータを収集し、前記データを選別する選別アルゴリズムを有するデータ選別部によって選別され、ネットワークを介して送られた前記データ及び前記産業機械の制御プログラムに基づいて、前記産業機械の動作モデルを推定するモデル推定部と、
前記動作モデルを用いて推定された前記産業機械の前記動作状態と、初期制御プログラムを用いて求められた前記産業機械の目標状態とを比較し、推定された前記動作状態と前記目標状態との差が小さくなるように、前記制御プログラムを改良する制御プログラム改良部と、
収集された前記動作状態に基づいて前記選別アルゴリズムを変更し、変更した前記選別アルゴリズムを前記データ選別部に設定する選別アルゴリズム変更部と、
前記選別アルゴリズムを変更する際に用いるパラメータを設定し、前記選別アルゴリズム変更部に入力するパラメータ設定部と、
を備え、
前記選別アルゴリズムは、
収集された前記動作状態と推定された前記動作状態との前記差が、あらかじめ前記パラメータとして定められた前記選別アルゴリズムのしきい値以上である場合において前記データを送信するように前記データを選別するアルゴリズムである、
制御プログラム改良装置。
【請求項２】
前記モデル推定部は、
前記産業機械が一連の動作を行う周期である１周期分の前記データを前記選別アルゴリズムに従って前記データ選別部によって選別され、前記ネットワークを介して送られた前記データに基づいて、前記産業機械の前記動作モデルを推定する
ことを特徴とする請求項１に記載の制御プログラム改良装置。
【請求項３】
前記モデル推定部は、
前記選別アルゴリズムに従って選別された前記データのデータ量が、あらかじめ定められた前記データ量のしきい値以上の量になった場合に、前記データ選別部によって前記ネットワークを介して前記データを送られ、前記産業機械の前記動作モデルを推定する
ことを特徴とする請求項１に記載の制御プログラム改良装置。
【請求項４】
前記制御プログラム改良部の改良基準の設定、及び前記制御プログラムと改良後の新たな前記制御プログラムを置き換えるか否かの指示を行う改良設定入出力部と、
を備えた請求項１から３のいずれか１項に記載の制御プログラム改良装置。
【請求項５】
前記改良設定入出力部は、前記制御プログラム改良部が前記制御プログラムを改良する改良基準として、
前記初期制御プログラムにより規定される前記産業機械の前記目標状態と、推定された前記動作状態との前記差があらかじめ定められた前記制御プログラムのしきい値以下であるという基準を設定すること、
を特徴とする請求項４に記載の制御プログラム改良装置。
【請求項６】
前記改良設定入出力部は、前記制御プログラム改良部が前記制御プログラムを改良する改良基準として、
改良後の新たな前記制御プログラムにより規定される前記産業機械の目標速度が前記初期制御プログラムにより規定される前記産業機械の目標速度にあらかじめ定められた前記制御プログラムのしきい値を加算した値以上であるという基準を設定すること、
を特徴とする請求項４に記載の制御プログラム改良装置。
【請求項７】
前記制御プログラムの改良の要求を出し、前記モデル推定部を動作させる改良要求入力部と、
を備えた請求項１から６のいずれか１項に記載の制御プログラム改良装置。
【請求項８】
前記制御プログラム改良部による制御結果を表示する改良効果表示部と、
を備えた請求項１から７のいずれか１項に記載の制御プログラム改良装置。
【請求項９】
産業機械の動作状態の情報を含むデータを収集し、選別アルゴリズムに基づいて前記データを選別するステップと、
選別されネットワークを介して送られた前記データ及び前記産業機械の制御プログラムに基づいて、前記産業機械の動作モデルを推定するステップと、
前記動作モデルを用いて推定された前記産業機械の前記動作状態と、初期制御プログラムを用いて求められた前記産業機械の目標状態とを比較し、推定された前記動作状態と前記目標状態との差が小さくなるように、前記制御プログラムを改良するステップと、
収集された前記動作状態に基づいて前記選別アルゴリズムを変更し、設定するステップと、
前記選別アルゴリズムを変更する際に用いるパラメータを設定し、入力するステップと、
を備え、
前記選別アルゴリズムは、
収集された前記動作状態と推定された前記動作状態との前記差が、あらかじめ前記パラメータとして定められた前記選別アルゴリズムのしきい値以上である場合において前記データを送信するように前記データを選別するアルゴリズムである、
制御プログラム改良方法。
【請求項１０】
産業機械の動作状態の情報を含むデータを収集し、前記データを選別する選別アルゴリズムを有するデータ選別部と、
前記データ選別部によって選別され、ネットワークを介して送られた前記データ及び前記産業機械の制御プログラムに基づいて、前記産業機械の動作モデルを推定するモデル推定部と、
前記動作モデルを用いて推定された前記産業機械の前記動作状態と、初期制御プログラムを用いて求められた前記産業機械の目標状態とを比較し、推定された前記動作状態と前記目標状態との差が小さくなるように、前記制御プログラムを改良する制御プログラム改良部と、
収集された前記動作状態に基づいて前記選別アルゴリズムを変更し、変更した前記選別アルゴリズムを前記データ選別部に設定する選別アルゴリズム変更部と、
前記選別アルゴリズムを変更する際に用いるパラメータを設定し、前記選別アルゴリズム変更部に入力するパラメータ設定部と、
を備え、
前記選別アルゴリズムは、
収集された前記動作状態と推定された前記動作状態との前記差が、あらかじめ前記パラメータとして定められた前記選別アルゴリズムのしきい値以上である場合において前記データを送信するように前記データを選別するアルゴリズムである、
制御プログラム改良システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本開示に係る制御プログラム改良装置は、産業機械の動作状態の情報を含むデータを収集し、データを選別する選別アルゴリズムを有するデータ選別部によって選別され、ネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するモデル推定部と、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良する制御プログラム改良部と、収集された動作状態に基づいて選別アルゴリズムを変更し、変更した選別アルゴリズムをデータ選別部に設定する選別アルゴリズム変更部と、選別アルゴリズムを変更する際に用いるパラメータを設定し、選別アルゴリズム変更部に入力するパラメータ設定部と、を備え、選別アルゴリズムは、収集された動作状態と推定された動作状態との差が、あらかじめパラメータとして定められた選別アルゴリズムのしきい値以上である場合においてデータを送信するようにデータを選別するアルゴリズムである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本開示に係る制御プログラム改良方法は、産業機械の動作状態の情報を含むデータを収集し、選別アルゴリズムに基づいてデータを選別するステップと選別されネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するステップと、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良するステップと、収集された動作状態に基づいて選別アルゴリズムを変更し、設定するステップと、選別アルゴリズムを変更する際に用いるパラメータを設定し、入力するステップと、を備え、選別アルゴリズムは、収集された動作状態と推定された動作状態との差が、あらかじめパラメータとして定められた選別アルゴリズムのしきい値以上である場合においてデータを送信するようにデータを選別するアルゴリズムである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本開示に係る制御プログラム改良システムは、産業機械の動作状態の情報を含むデータを収集し、データを選別する選別アルゴリズムを有するデータ選別部と、データ選別部によって選別され、ネットワークを介して送られたデータ及び産業機械の制御プログラムに基づいて、産業機械の動作モデルを推定するモデル推定部と、動作モデルを用いて推定された産業機械の動作状態と、初期制御プログラムを用いて求められた産業機械の目標状態とを比較し、推定された動作状態と目標状態との差が小さくなるように、制御プログラムを改良する制御プログラム改良部と、収集された動作状態に基づいて選別アルゴリズムを変更し、変更した選別アルゴリズムをデータ選別部に設定する選別アルゴリズム変更部と、選別アルゴリズムを変更する際に用いるパラメータを設定し、選別アルゴリズム変更部に入力するパラメータ設定部と、を備え、選別アルゴリズムは、収集された動作状態と推定された動作状態との差が、あらかじめパラメータとして定められた選別アルゴリズムのしきい値以上である場合においてデータを送信するようにデータを選別するアルゴリズムである。
【国際調査報告】
2021005721.tif 000013
2021005721.tif 000014