(57)【要約】【課題】動作機械の制御の信頼性を確認することができる制御装置、制御システム、制御方法及び制御プログラムを提供する。【解決手段】制御装置は、入力データに対して出力データを出力する制御器を含み、制御器を用いて動作機械を制御する制御部と、過去に得られた入力データ及び出力データの統計量を含む属性情報を取得する取得部と、属性情報と、制御器に新たに入力する新たな入力データ及び新たな入力データに対して制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価する評価部と、を備える。【選択図】図１
2019159669.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対して出力データを出力する制御器を含み、前記制御器を用いて動作機械を制御する制御部と、
過去に得られた前記入力データ及び前記出力データの統計量を含む属性情報を取得する取得部と、
前記属性情報と、前記制御器に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価する評価部と、
を備える制御装置。
【請求項２】
前記評価部により評価された乖離の程度に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方を変更する変更部をさらに備える、
請求項１に記載の制御装置。
【請求項３】
前記変更部は、前記評価部により評価された乖離の程度に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方を使用せず、
前記制御部は、前記制御器とは異なる他の制御器を用いて、前記動作機械を制御する、
請求項２に記載の制御装置。
【請求項４】
前記属性情報は、測定装置によって過去に測定された前記動作機械が動作する環境に関する情報及び前記動作機械の状態に関する情報の少なくともいずれか一方を含む測定量をさらに含み、
前記評価部は、前記属性情報と、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が生成された際に、前記測定装置によって測定された新たな測定量との比較に基づいて、前記新たな測定量が、前記測定量からどの程度乖離しているか評価する、
請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記環境に関する情報は、前記制御部により前記動作機械が制御された時刻に関する情報を含み、
前記状態に関する情報は、前記動作機械が動作中であるか停止中であるかを区別する情報を含む、
請求項４に記載の制御装置。
【請求項６】
前記評価部によって、前記新たな測定量と、前記測定量との比較を行うための基準を設定する設定部をさらに備える、
請求項４又は５に記載の制御装置。
【請求項７】
前記入力データ及び前記出力データは、数値データを含み、
前記属性情報は、前記入力データ及び前記出力データの最大値及び最小値を含み、
前記評価部は、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記最大値及び前記最小値からどの程度乖離しているか評価する、
請求項１から６のいずれか一項に記載の制御装置。
【請求項８】
前記入力データ及び前記出力データは、数値データを含み、
前記属性情報は、前記入力データ及び前記出力データの確率分布を含み、
前記評価部は、前記確率分布の値に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記入力データ及び前記出力データからどの程度乖離しているか評価する、
請求項１から７のいずれか一項に記載の制御装置。
【請求項９】
前記制御器は、前記入力データと前記出力データの関係を規定した学習用データを用いた機械学習によって生成された学習済みモデルを含む、
請求項１から８のいずれか一項に記載の制御装置。
【請求項１０】
入力データと出力データの関係を規定した学習用データを用いた機械学習によって制御器の学習処理を実行する学習装置と、前記制御器を用いて動作機械を制御する制御部を有する制御装置と、を備える制御システムであって、
前記学習装置は、
過去に得られた前記入力データ及び前記出力データの統計量を含む属性情報を生成する生成部をさらに有し、
前記制御装置は、
前記属性情報を取得する取得部と、
前記属性情報と、前記制御器に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価する評価部と、をさらに有する、
制御システム。
【請求項１１】
前記動作機械が動作する環境に関する情報を測定する測定装置をさらに備え、
前記生成部は、前記環境に関する情報に基づいて、前記属性情報を生成する、
請求項１０に記載の制御システム。
【請求項１２】
前記動作機械の状態に関する情報を測定する測定装置をさらに備え、
前記生成部は、前記状態に関する情報に基づいて、前記属性情報を生成する、
請求項１０又は１１に記載の制御システム。
【請求項１３】
入力データに対して出力データを出力する制御器を用いて動作機械を制御することと、
前記入力データ及び前記出力データの統計量を含む属性情報を取得することと、
前記属性情報と、前記制御器に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価することと、
を含む制御方法。
【請求項１４】
制御装置に備えられた演算部を、
入力データに対して出力データを出力する制御器を含み、前記制御器を用いて動作機械を制御する制御部、
前記入力データ及び前記出力データの統計量を含む属性情報を取得する取得部、及び
前記属性情報と、前記制御器に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価する評価部、
として動作させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御装置、制御システム、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
従来、ＰＩＤ（Proportional-Integral-Differential）制御等の古典制御を行う制御器や、ニューラルネットワーク制御等の現代制御を行う制御器を用いて動作機械を制御する制御装置が知られている。
【０００３】
例えば、下記特許文献１には、時間と共に変化する複数の入力変数値に応じて、制御対象を目標状態とする制御変数値を求めるプロセス運転支援方法であって、神経回路モデルを用い、プロセスの過去の運転履歴情報のうち、複数の入力変数値のパターンを入力信号とし、当該パターンに対応する制御変数値を教師信号として、神経回路モデルに学習させ、学習した神経回路モデルに、任意の入力変数値パターンを入力することにより、該パターンに対する制御変数値を求めるプロセス運転支援方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３１９５０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術のように、過去に得られた入力データと出力データに基づいて生成される制御器を用いて動作機械を制御する場合、制御器に入力する新たな入力データ及びそのデータに対して制御器から出力される新たな出力データが、過去に得られた入力データ及び出力データと類似のデータであれば、動作機械の制御は高い信頼性で行われる。
【０００６】
しかしながら、新たな入力データ及び新たな出力データが、過去に得られた入力データ及び出力データから乖離している場合、そのようなデータを用いて動作機械を制御した実績が乏しいため、制御の信頼性が必ずしも高くなく、適切な制御がされないおそれがある。
【０００７】
そこで、本発明は、動作機械の制御の信頼性を確認することができる制御装置、制御システム、制御方法及び制御プログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る制御装置は、入力データに対して出力データを出力する制御器を含み、制御器を用いて動作機械を制御する制御部と、過去に得られた入力データ及び出力データの統計量を含む属性情報を取得する取得部と、属性情報と、制御器に新たに入力する新たな入力データ及び新たな入力データに対して制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価する評価部と、を備える。ここで、属性情報は、入力データ及び出力データの特徴を表す情報であり、入力データ及び出力データの統計量を含む。入力データ及び出力データの統計量は、入力データ及び出力データの最大値及び最小値を含んでよく、入力データ及び出力データの平均値、中央値、四分位数、分散等を含んでもよい。
【０００９】
この態様によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００１０】
上記態様において、評価部により評価された乖離の程度に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方を変更する変更部をさらに備えてもよい。例えば、変更部は、評価部により数値的に評価された乖離の程度と閾値とを比較して、乖離が閾値より大きいと判断される場合に、新たな入力データ及び新たな出力データの少なくともいずれか一方を変更してよい。
【００１１】
この態様によれば、動作機械の制御の信頼性が十分に高くないと評価される場合に、新たな入力データ及び新たな出力データの少なくともいずれか一方を変更することで、信頼性が担保された範囲で動作機械を制御することができ、動作機械の故障及び誤動作を防止することができる。
【００１２】
上記態様において、変更部は、評価部により評価された乖離の程度に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方を使用せず、制御部は、制御器とは異なる他の制御器を用いて、動作機械を制御してもよい。
【００１３】
この態様によれば、動作機械の制御の信頼性が十分に高くないと評価される場合に、新たな入力データ及び新たな出力データの少なくともいずれか一方を使用せず、信頼性が担保された他の制御器を用いて動作機械を制御することができ、動作機械の故障及び誤動作を防止することができる。
【００１４】
上記態様において、属性情報は、測定装置によって過去に測定された動作機械が動作する環境に関する情報及び動作機械の状態に関する情報の少なくともいずれか一方を含む測定量をさらに含み、評価部は、属性情報と、新たな入力データ及び新たな出力データの少なくともいずれか一方が生成された際に、測定装置によって測定された新たな測定量との比較に基づいて、新たな測定量が、測定量からどの程度乖離しているか評価してもよい。
【００１５】
この態様によれば、新たな測定量が、過去に測定された測定量からどの程度乖離しているか評価することによって、現在における動作機械が動作する環境及び動作機械の状態の少なくともいずれかが、過去における動作機械が動作する環境及び動作機械の状態の少なくともいずれかから乖離していないか確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００１６】
上記態様において、環境に関する情報は、制御部により動作機械が制御された時刻に関する情報を含み、状態に関する情報は、動作機械が動作中であるか停止中であるかを区別する情報を含んでもよい。ここで、環境に関する情報は、動作機械が動作する部屋の温度、湿度等の気候に関する情報を含んでもよい。また、動作機械が動作中であるか停止中であるかを区別する情報は、少なくとも２値の情報であればよく、必ずしも文字情報でなくてもよい。
【００１７】
この態様によれば、動作機械が動作する現在時刻が、動作機械が動作した過去の時刻と乖離しているか確認することができ、動作機械を制御する環境がこれまでと異なるかどうかを確認することができる。また、動作機械が停止中の場合に得られた入力データ及び出力データの統計量と、新たな入力データ及び新たな出力データとについて評価部による乖離の評価を行わないようにすることができ、制御器による動作機械の制御の信頼性をより正確に確認することができる。
【００１８】
上記態様において、評価部によって、新たな測定量と、測定量との比較を行うための基準を設定する設定部をさらに備えてもよい。
【００１９】
この態様によれば、新たな測定量が、過去に測定された測定量からどの程度乖離しているか評価する際の基準を設定することで、基準との比較により乖離の程度を確認することができ、制御器による動作機械の制御の信頼性が担保されるかをより容易に確認することができる。
【００２０】
上記態様において、入力データ及び出力データは、数値データを含み、属性情報は、入力データ及び出力データの最大値及び最小値を含み、評価部は、新たな入力データ及び新たな出力データの少なくともいずれか一方が、最大値及び最小値からどの程度乖離しているか評価してもよい。ここで、評価部は、制御器に新たに入力する新たな入力データが、過去に得られた入力データの最小値以上、最大値以下であるか否かによって、新たな入力データと統計量との乖離を評価してよい。また、評価部は、制御器から出力される新たな出力データが、過去に得られた出力データの最小値以上、最大値以下であるか否かによって、新たな出力データと統計量との乖離を評価してよい。
【００２１】
この態様によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データの最大値及び最小値からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００２２】
上記態様において、入力データ及び出力データは、数値データを含み、属性情報は、入力データ及び出力データの確率分布を含み、評価部は、確率分布の値に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、入力データ及び出力データからどの程度乖離しているか評価してもよい。ここで、評価部は、過去に得られた入力データから求められた確率分布に基づいて、新たな入力データが得られる確率を算出し、その確率に基づいて、過去に得られた入力データと新たな入力データの乖離の程度を評価してよい。また、評価部は、過去に得られた出力データから求められた確率分布に基づいて、新たな出力データが得られる確率を算出し、その確率に基づいて、過去に得られた出力データと新たな出力データの乖離の程度を評価してよい。
【００２３】
この態様によれば、過去に得られた入力データ及び出力データの確率分布の値に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００２４】
上記態様において、制御器は、入力データと出力データの関係を規定した学習用データを用いた機械学習によって生成された学習済みモデルを含んでもよい。
【００２５】
この態様によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、学習済みモデルの生成に用いられた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００２６】
本開示の他の態様に係る制御システムは、入力データと出力データの関係を規定した学習用データを用いた機械学習によって制御器の学習処理を実行する学習装置と、制御器を用いて動作機械を制御する制御部を有する制御装置と、を備える制御システムであって、学習装置は、過去に得られた入力データ及び出力データの統計量を含む属性情報を生成する生成部をさらに有し、制御装置は、属性情報を取得する取得部と、属性情報と、制御器に新たに入力する新たな入力データ及び新たな入力データに対して制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価する評価部と、をさらに有する。
【００２７】
この態様によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、学習済みモデルの生成に用いられた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００２８】
上記態様において、動作機械が動作する環境に関する情報を測定する測定装置をさらに備え、生成部は、環境に関する情報に基づいて、属性情報を生成してもよい。
【００２９】
この態様によれば、動作機械が動作する環境に関する情報を測定することで、現在における動作機械が動作する環境が、過去における環境から乖離していないか確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００３０】
上記態様において、動作機械の状態に関する情報を測定する測定装置をさらに備え、生成部は、状態に関する情報に基づいて、属性情報を生成してもよい。
【００３１】
この態様によれば、動作機械の状態に関する情報を測定することで、現在における動作機械の状態が、過去における動作機械の状態から乖離していないか確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００３２】
本開示の他の態様に係る制御方法は、入力データに対して出力データを出力する制御器を用いて動作機械を制御することと、入力データ及び出力データの統計量を含む属性情報を取得することと、属性情報と、制御器に新たに入力する新たな入力データ及び新たな入力データに対して制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価することと、を含む。
【００３３】
この態様によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【００３４】
本開示の他の態様に係る制御プログラムは、制御装置に備えられた演算部を、入力データに対して出力データを出力する制御器を含み、制御器を用いて動作機械を制御する制御部、入力データ及び出力データの統計量を含む属性情報を取得する取得部、及び属性情報と、制御器に新たに入力する新たな入力データ及び前記新たな入力データに対して制御器から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価する評価部、として動作させる。
【００３５】
この態様によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器による動作機械の制御の信頼性が担保されるかを確認することができる。
【発明の効果】
【００３６】
本開示によれば、動作機械の制御の信頼性を確認することができる制御装置、制御システム、制御方法及び制御プログラムが提供される。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態に係る制御システムの機能ブロックを示す図である。
【図２】本実施形態に係る制御装置の物理的構成を示す図である。
【図３】本実施形態に係る制御システムで用いられるデータを示す図である。
【図４】本実施形態に係る制御器の入力データ及び出力データの統計量を簡略化して示す図である。
【図５】本実施形態に係る制御システムにより実行される動作機械の第１制御処理のフローチャートである。
【図６】本実施形態に係る制御システムにより実行される動作機械の第２制御処理のフローチャートである。
【図７】本実施形態に係る制御器の入力データ及び出力データの確率分布を簡略化して示す図である。
【図８】本実施形態に係る制御器の入力データ及び出力データの確率分布の他の例を簡略化して示す図である。
【図９】本実施形態に係る制御システムにより実行される動作機械の第３制御処理のフローチャートである。
【発明を実施するための形態】
【００３８】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」と表記する。）を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３９】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本発明の実施形態に係る制御システム１の機能ブロックを示す図である。本実施形態に係る制御システム１は、入力データと出力データの関係を規定した学習用データを用いた機械学習によって制御器１１ａの学習処理を実行する学習装置２０と、制御器１１ａを用いて動作機械３０を制御する制御部１１を有する制御装置１０と、を備える。なお、本例では、学習装置２０による機械学習によって生成された制御器１１ａを用いて動作機械３０を制御する制御装置１０について説明するが、制御器１１ａは、必ずしも機械学習によって生成されたものに限られず、入力データと出力データの関係について理論的に導かれた関係式又は経験的に導かれた関係式に基づいて動作機械３０を制御するものであってもよい。また、本例では、制御装置１０及び学習装置２０が別体の場合を示しているが、制御装置１０及び学習装置２０は一体の装置で構成されてもよい。例えば、制御装置１０及び学習装置２０は、ＰＬＣ（Programmable Logic Controller）の異なる動作として実現されてもよい。
【００４０】
学習装置２０は、学習用データ記憶部２１、学習部２２、生成部２３及び学習結果記憶部２４を有する。学習用データ記憶部２１は、動作機械３０を制御するために制御装置１０に入力された入力データと、制御部１１から出力された出力データとを学習用データとして記憶してよい。入力データ及び出力データは、学習用データ記憶部２１に逐次記憶され、蓄積されてよい。学習部２２は、学習用データ記憶部２１に記憶された学習用データを用いた機械学習によって制御器１１ａの学習処理を実行する。例えば、学習部２２は、過去に得られた入力データに基づいて、入力データに対応する出力データが出力されるように、制御器１１ａの学習処理を行ってよい。制御器１１ａは、任意の学習モデルで構成されてよいが、例えばニューラルネットワークで構成されてよい。
【００４１】
生成部２３は、過去に得られた入力データ及び出力データの統計量を含む属性情報を生成する。ここで、入力データ及び出力データは、数値データを含んでよく、属性情報は、少なくとも、入力データ及び出力データの最大値及び最小値を含んでよい。属性情報に含まれる入力データ及び出力データの統計量は、入力データ及び出力データの最大値及び最小値以外の量であってもよく、例えば、入力データ及び出力データの平均値、中央値、四分位数、分散等を含んでよい。
【００４２】
学習結果記憶部２４は、学習部２２による学習処理によって生成された学習済みモデルを記憶する学習済みモデル記憶部２４ａと、生成部２３により生成された属性情報を記憶する属性情報記憶部２４ｂと、を含んでよい。ここで、学習済みモデルと、当該学習済みモデルの学習処理に用いられた入力データ及び出力データの統計量を含む属性情報とは、関連付けられて記憶されてよい。
【００４３】
制御装置１０は、入力データに対して出力データを出力する制御器１１ａを含み、制御器１１ａを用いて動作機械３０を制御する制御部１１と、属性情報を取得する取得部１２と、評価部１３と、変更部１４と、設定部１５とを備える。制御器１１ａには、学習部２２によって学習用データを用いた機械学習によって生成され、学習済みモデル記憶部２４ａに記憶された学習済みモデルが実装されていてよい。また、取得部１２は、制御器１１ａに実装される学習済みモデルと関連付けられた属性情報を、属性情報記憶部２４ｂから取得してよい。
【００４４】
評価部１３は、属性情報と、制御器１１ａに新たに入力する新たな入力データ及び新たな入力データに対して制御器１１ａから出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、属性情報に含まれる統計量からどの程度乖離しているか評価する。例えば、評価部１３は、制御器１１ａに新たに入力する新たな入力データを、過去に得られた入力データの最小値及び最大値と比較して、新たな入力データが、過去に得られた入力データの最小値以上、最大値以下であるか否かによって、新たな入力データと統計量との乖離を評価してよい。より具体的には、新たな入力データが、過去に得られた入力データの最小値以上、最大値以下である場合には、乖離が無いと評価して、新たな入力データが、過去に得られた入力データの最小値より小さいか、最大値より大きい場合には、新たな入力データと最小値又は最大値との差を乖離として評価してよい。また、例えば、評価部１３は、制御器１１ａから出力される新たな出力データを、過去に得られた出力データの最小値及び最大値と比較して、新たな出力データが、過去に得られた出力データの最小値以上、最大値以下であるか否かによって、新たな出力データと統計量との乖離を評価してよい。より具体的には、新たな出力データが、過去に得られた出力データの最小値以上、最大値以下である場合には、乖離が無いと評価して、新たな出力データが、過去に得られた出力データの最小値より小さいか、最大値より大きい場合には、新たな出力データと最小値又は最大値との差を乖離として評価してよい。
【００４５】
このように、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。これにより、動作機械３０が適切に制御されるかどうかを容易に確認することができ、動作機械３０の誤動作や故障を防ぐことができる。
【００４６】
§２  構成例
［機能構成］
＜学習装置＞
学習装置２０は、学習用データ記憶部２１、学習部２２、生成部２３及び学習結果記憶部２４を有する。学習用データ記憶部２１は、動作機械３０を制御するために制御装置１０に入力された入力データと、制御部１１から出力された出力データと、測定装置４０によって測定された動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報と、を関連付けて記憶してよい。これらの情報は、学習用データ記憶部２１に逐次記憶され、蓄積されてよい。
【００４７】
学習部２２は、学習用データ記憶部２１に記憶された学習用データを用いた機械学習によって制御器１１ａの学習処理を実行する。例えば、学習部２２は、過去に得られた入力データに基づいて、入力データに対応する出力データが出力されるように、制御器１１ａの学習処理を行ってよい。制御器１１ａは、任意の学習モデルで構成されてよいが、例えばニューラルネットワークで構成されてよい。制御器１１ａがニューラルネットワークで構成される場合、学習部２２は、誤差逆伝播法によってニューラルネットワークの学習処理を行ってよい。また、学習部２２は、過去に得られた入力データ、動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報に基づいて、入力データに対応する出力データが出力されるように、制御器１１ａの学習処理を行ってもよい。
【００４８】
生成部２３は、過去に得られた入力データ及び出力データの統計量を含む属性情報を生成する。ここで、入力データ及び出力データは、数値データを含んでよく、属性情報は、入力データ及び出力データの最大値及び最小値を含んでよい。また、属性情報は、入力データ及び出力データの確率分布を含んでもよい。入力データの確率分布は、例えば正規分布の平均及び分散を入力データの標本平均及び標本分散としたものであってよく、出力データの確率分布は、例えば正規分布の平均及び分散を出力データの標本平均及び標本分散としたものであってよい。なお、入力データや出力データが複数のクラスタを含む場合には、例えば混合正規分布の複数の平均及び複数の分散を、入力データや出力データのクラスタ毎の平均及び分散としたものであってよい。
【００４９】
属性情報は、測定装置４０によって過去に測定された動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報の少なくともいずれか一方を含む測定量をさらに含んでもよい。そして、環境に関する情報は、制御部１１により動作機械３０が制御された時刻に関する情報を含んでよい。環境に関する情報は、動作機械３０が動作する部屋の温度、湿度等の気候に関する情報を含んでもよい。また、状態に関する情報は、動作機械３０が動作中であるか停止中であるかを区別する情報を含んでよい。ここで、動作中であるか停止中であるかを区別する情報は、少なくとも２値の情報であればよく、必ずしも文字情報でなくてもよい。また、状態に関する情報は、動作機械３０が動作中である場合の消費電力に関する情報を含んだり、動作機械３０が停止中である場合の停止理由に関する情報を含んだりしもよい。ここで、停止理由は、動作機械３０の設定操作のために一時的に動作が停止されたことであったり、動作機械３０が緊急停止されたことであったりしてよい。
【００５０】
環境に関する情報として、制御部１１により動作機械３０が制御された時刻に関する情報が含まれることで、動作機械３０が動作する現在時刻が、動作機械３０が動作した過去の時刻と乖離しているか確認することができ、動作機械３０を制御する環境がこれまでと異なるかどうかを確認することができる。また、状態に関する情報として、動作機械３０が動作中であるか停止中であるかを区別する情報が含まれることで、動作機械３０が停止中の場合に得られた入力データ及び出力データの統計量と、新たな入力データ及び新たな出力データとについて評価部１３による乖離の評価を行わないようにすることができ、制御器１１ａによる動作機械３０の制御の信頼性をより正確に確認することができる。さらに、動作機械３０が停止中の場合に得られた入力データ及び出力データを学習用データから除外して、動作機械３０が動作中の場合に得られた入力データ及び出力データを学習用データとして学習用データ記憶部２１に蓄積することができ、動作中の動作機械３０を制御するために用いられた入力データと出力データの関係を精度良く再現するように、制御器１１ａの学習処理を行うことができる。
【００５１】
学習結果記憶部２４は、学習部２２による学習処理によって生成された学習済みモデルを記憶する学習済みモデル記憶部２４ａと、生成部２３により生成された属性情報を記憶する属性情報記憶部２４ｂと、を含んでよい。ここで、学習済みモデルと、当該学習済みモデルの学習処理に用いられた入力データ及び出力データの統計量を含む属性情報とは、関連付けられて記憶されてよい。
【００５２】
＜制御装置＞
制御装置１０は、制御部１１、取得部１２、評価部１３、変更部１４及び設定部１５を備える。制御部１１は、入力データに対して出力データを出力する制御器１１ａを含み、制御器１１ａを用いて動作機械３０を制御する。制御器１１ａは、入力データと出力データの関係を規定した学習用データを用いた機械学習によって生成された学習済みモデルを含んでよく、学習部２２によって生成され、学習済みモデル記憶部２４ａに記憶された学習済みモデルが実装されていてよい。これにより、新たな入力データ及び新たな出力データの少なくともいずれか一方が、学習済みモデルの生成に用いられた入力データ及び出力データと類似しているかどうかを確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００５３】
取得部１２は、過去に得られた入力データ及び出力データの統計量を含む属性情報を取得する。取得部１２は、制御器１１ａに実装される学習済みモデルと関連付けられた属性情報を、属性情報記憶部２４ｂから取得してよい。
【００５４】
評価部１３は、属性情報と、制御器１１ａに新たに入力する新たな入力データ及び新たな入力データに対して制御器１１ａから出力される新たな出力データの少なくともいずれか一方との比較に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、統計量からどの程度乖離しているか評価する。
【００５５】
過去に得られた入力データ及び出力データの最大値及び最小値が属性情報に含まれる場合、評価部１３は、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データの最大値及び最小値からどの程度乖離しているか評価してよい。新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データの最大値及び最小値からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００５６】
過去に得られた入力データ及び出力データの確率分布が属性情報に含まれる場合、評価部１３は、確率分布の値に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データからどの程度乖離しているか評価してよい。具体的には、過去に得られた入力データから求められた確率分布に基づいて、新たな入力データが得られる確率を算出し、その確率に基づいて、過去に得られた入力データと新たな入力データの乖離の程度を評価してよい。また、過去に得られた出力データから求められた確率分布に基づいて、新たな出力データが得られる確率を算出し、その確率に基づいて、過去に得られた出力データと新たな出力データの乖離の程度を評価してよい。過去に得られた入力データ及び出力データの確率分布の値に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方が過去に得られた入力データ及び出力データと類似しているかどうかを確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００５７】
測定装置４０によって過去に測定された動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報の少なくともいずれか一方を含む測定量が属性情報に含まれる場合、評価部１３は、属性情報と、新たな入力データ及び新たな出力データの少なくともいずれか一方が生成された際に、測定装置４０によって測定された新たな測定量との比較に基づいて、新たな測定量が、過去に測定された測定量からどの程度乖離しているか評価してもよい。新たな測定量が、過去に測定された測定量からどの程度乖離しているか評価することによって、現在における動作機械３０が動作する環境及び動作機械３０の状態の少なくともいずれかが、過去における動作機械３０が動作する環境及び動作機械３０の状態の少なくともいずれかから乖離していないか確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００５８】
変更部１４は、評価部１３により評価された乖離の程度に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方を変更する。例えば、変更部１４は、評価部１３により数値的に評価された乖離の程度と閾値とを比較して、乖離が閾値より大きいと判断される場合に、新たな入力データ及び新たな出力データの少なくともいずれか一方を変更してよい。このように、評価部１３により評価された乖離の程度が大きく、動作機械３０の制御の信頼性が十分に高くないと評価される場合に、新たな入力データ及び新たな出力データの少なくともいずれか一方を変更することで、信頼性が担保された範囲で動作機械３０を制御することができ、動作機械３０の故障及び誤動作を防止することができる。
【００５９】
より具体的には、変更部１４は、評価部１３により評価された乖離の程度に基づいて、新たな入力データ及び新たな出力データの少なくともいずれか一方を使用しないこととしてよい。その場合、制御部１１は、制御器１１ａとは異なる補助制御器１１ｂを用いて、動作機械３０を制御することとしてよい。ここで、補助制御器１１ｂは、本発明の「他の制御器」に相当する。補助制御器１１ｂは、ＰＩＤ制御等の古典制御を行う制御器であったり、現代制御を行う制御器であったりしてよい。このように、評価部１３により評価された乖離の程度が大きく、動作機械３０の制御の信頼性が十分に高くないと評価される場合に、新たな入力データ及び新たな出力データの少なくともいずれか一方を使用せず、信頼性が担保された他の制御器を用いて動作機械３０を制御することができ、動作機械３０の故障及び誤動作を防止することができる。
【００６０】
設定部１５は、測定装置４０によって動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報の少なくともいずれか一方を含む測定量を測定する場合に、評価部１３によって、新たな測定量と、過去に測定された測定量との比較を行うための基準を設定する。例えば、設定部１５は、新たな測定量と、過去に測定された測定量との比較において用いる閾値の設定を行ってよい。ここで、閾値は、乖離の程度に応じて複数設定されてもよい。例えば、動作機械３０が動作する環境に関する情報が、制御部１１により動作機械３０が制御された時刻に関する情報を含む場合、設定部１５は、動作機械３０が動作する現在時刻が、動作機械３０が動作した過去の時刻と乖離しているか判断するための閾値を設定してよい。例えば、設定部１５は、動作機械３０が動作する複数の時間帯を定める閾値を設定してよい。より具体的には、動作機械３０が動作する複数の時間帯を朝、昼、夕方及び夜のように４つに分ける場合、４つの時間帯を定める６つの時刻を閾値として設定してよい。また、例えば、設定部１５は、動作機械３０が動作する季節を定める閾値を設定してよい。より具体的には、動作機械３０が動作する季節を春、夏、秋及び冬のように４つに分ける場合、４つの季節を定める４つの日付を閾値として設定してよい。また、例えば、動作機械３０が動作する環境に関する情報が、動作機械３０が動作する部屋の温度及び湿度に関する情報を含む場合、設定部１５は、動作機械３０が動作する部屋の現在の温度及び湿度が、過去の温度及び湿度と乖離しているか判断するための閾値を設定してよい。このように、新たな測定量が、過去に測定された測定量からどの程度乖離しているか評価する際の基準を設定することで、基準との比較により乖離の程度を確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかをより容易に確認することができる。
【００６１】
＜動作機械＞
動作機械３０は、任意の動作を行う機械であってよく、例えばロボットであったり、生産ラインに設けられたアクチュエータであったりしてよい。動作機械３０は、制御装置１０によってフィードバック制御されてよく、動作機械３０の現在の制御量は、制御装置１０によって取得され、制御器１１ａの入力データとされてよい。また、制御装置１０の入力データ及び出力データは、学習用データ記憶部２１に逐次記憶されてよい。
【００６２】
＜測定装置＞
測定装置４０は、動作機械３０が動作する環境に関する情報を測定したり、動作機械３０の状態に関する情報を測定したりする。測定装置４０により測定された測定量は、学習用データ記憶部２１に逐次記憶されてよい。
【００６３】
本実施形態に係る制御システム１によれば、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データの統計量からどの程度乖離しているか評価することによって、新たな入力データ及び新たな出力データの少なくともいずれか一方が、学習済みモデルの生成に用いられた入力データ及び出力データと類似しているかどうかを確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００６４】
また、測定装置４０により動作機械３０が動作する環境に関する情報を測定し、生成部２３により、環境に関する情報に基づいて属性情報を生成することで、現在における動作機械３０が動作する環境が、過去における環境から乖離していないか確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００６５】
また、測定装置４０により動作機械３０の状態に関する情報を測定し、生成部２３により、状態に関する情報に基づいて属性情報を生成することで、現在における動作機械３０の状態が、過去における動作機械３０の状態から乖離していないか確認することができ、制御器１１ａによる動作機械３０の制御の信頼性が担保されるかを確認することができる。
【００６６】
［ハードウェア構成］
図２は、本実施形態に係る制御装置１０の物理的構成を示す図である。制御装置１０は、演算部に相当するＣＰＵ（Central Processing Unit）１０ａと、記憶部に相当するＲＡＭ（Random Access Memory）１０ｂと、記憶部に相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では制御装置１０が一台のコンピュータで構成される場合について説明するが、制御装置１０は、複数のコンピュータを用いて実現されてもよい。また、図２で示す構成は一例であり、制御装置１０はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【００６７】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、新たな入力データ及び新たな出力データの少なくともいずれか一方が、過去に得られた入力データ及び出力データの統計量からどの程度乖離しているか評価し、動作機械３０を制御するプログラム（制御プログラム）を実行する演算部である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００６８】
ＲＡＭ１０ｂは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行する制御プログラム、制御器１１ａに入力する入力データ及び制御器１１ａから出力される出力データといったデータを記憶してよい。なお、これらは例示であって、ＲＡＭ１０ｂには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【００６９】
ＲＯＭ１０ｃは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ＲＯＭ１０ｃは、例えば制御プログラムや、書き換えが行われないデータを記憶してよい。
【００７０】
通信部１０ｄは、制御装置１０を他の機器に接続するインターフェースである。通信部１０ｄは、学習装置２０、動作機械３０及び測定装置４０と、例えばＬＡＮ（Local Area Network）により接続されて、学習装置２０から学習済みモデルを構成するための情報を受信したり、動作機械３０に制御器１１ａの出力データを送信したり、測定装置４０から測定量を受信したりしてよい。また、通信部１０ｄは、インターネット等の通信ネットワークに接続されてもよい。なお、制御装置１０及び学習装置２０が一体の装置で構成される場合、通信部１０ｄは、制御装置１０として動作するプロセスと、学習装置２０として動作するプロセスとの間のプロセス間通信を含んでよい。
【００７１】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス及びタッチパネルを含んでよい。入力部１０ｅは、例えば、設定部１５により設定する閾値の入力を受け付けてよい。
【００７２】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成されてよい。表示部１０ｆは、例えば測定装置４０により測定された測定量を表示したり、動作機械３０の動作履歴を表示したりしてよい。
【００７３】
制御プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。制御装置１０では、ＣＰＵ１０ａが制御プログラムを実行することにより、ＣＰＵ１０ａによって、図１を用いて説明した制御部１１、取得部１２、評価部１３、変更部１４及び設定部１５の動作が実現される。ＣＰＵ１０ａによって制御プログラムを実行する際は、制御プログラムをＲＡＭ１０ｂに展開し、ＲＡＭ１０ｂに展開された制御プログラムをＣＰＵ１０ａによって解釈及び実行することとしてよい。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、制御装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００７４】
§３  動作例
図３は、本実施形態に係る制御システム１で用いられるデータＤを示す図である。データＤは、学習用データ記憶部２１に記憶されてよく、制御器１１ａに入力された入力データｘ、制御器１１ａから出力された出力データｙ、入力データｘ及び出力データｙが得られた時刻及び入力データｘ及び出力データｙが得られた際の動作機械３０の状態に関する情報を含む。
【００７５】
本例のデータＤにおいて、制御器１１ａに入力された入力データｘは、時刻「１０：０４：００．０００」について「１．５」、時刻「１０：０５：００．０００」について「３．４」、時刻「１０：０６：００．０００」について「２．２」、時刻「１０：０７：００．０００」について「５．６」である。なお、これらの数値は例示に過ぎず、入力データは、ベクトル値であったり、画像であったりしてもよい。例えば、時刻は、本例で示した絶対時刻であってもよいし、制御装置１０のＣＰＵ１０ａ等の内部クロック値のような基準時刻からのカウント値であってもよい。ただし、基準時刻からのカウント値を記憶する場合、制御システム１で時刻を参照する際に絶対時刻に読み替えることとしてもよい。また、本例では、簡単のため時刻を時、分、秒、ミリ秒の形式で示しているが、時刻は秒単位で記憶されてよいし、マイクロ秒の単位で記憶されてもよい。
【００７６】
本例のデータＤにおいて、制御器１１ａから出力された出力データｙは、時刻「１０：０４：００．０００」について「１０」、時刻「１０：０５：００．０００」について「２」、時刻「１０：０６：００．０００」について「４」、時刻「１０：０７：００．０００」について「６」である。なお、これらの数値は動作機械３０の制御量を簡略化して表したものであり、例示に過ぎず、出力データは、ベクトル値であったり、真理値であったりしてもよい。なお、入力データｘが画像の場合であっても、出力データｙは、動作機械３０の制御量を表す数値であってよい。入力データｘが画像の場合、画像の特定の領域を切り出したり、画像とガウスカーネル等との畳み込み演算によって平滑化を行ったり、画像とソーベルフィルタ等との畳み込み演算によってエッジを強調したり、カラー画像を２値化したり、といった前処理を行った上で、制御器１１ａに入力することとしてもよい。
【００７７】
また、本例のデータＤにおいて、入力データｘ及び出力データｙが得られた際の動作機械３０の状態に関する情報は、時刻「１０：０４：００．０００」について「動作中（１）」、時刻「１０：０５：００．０００」について「動作中（１）」、時刻「１０：０６：００．０００」について「停止中（０）」、時刻「１０：０７：００．０００」について「動作中（１）」である。ここで、括弧中の「１」及び「０」は、動作中であるか停止中であるかを２値で表したものである。なお、動作機械３０の状態を３種類以上記録する場合には、状態毎に任意の数値を対応付けてよい。また、これらは例示に過ぎず、状態に関する情報は、ベクトル値であったり、文字であったり、真理値であったりしてよい。
【００７８】
図４は、本実施形態に係る制御器１１ａの入力データ及び出力データの統計量を簡略化して示す図である。同図では、入力データ及び出力データをそれぞれ１次元のデータとして簡略化して、横軸に「ｘ（入力データ）」を示し、縦軸に「ｙ（出力データ）」を示している。複数のプロット点は、過去に得られた入力データ及び出力データの値を示す。
【００７９】
図４に示すグラフには、過去に得られた入力データの最小値「ｘ＿ｍｉｎ」及び最大値「ｘ＿ｍａｘ」と、過去に得られた出力データの最小値「ｙ＿ｍｉｎ」及び最大値「ｙ＿ｍａｘ」と、を示している。また、同図には、制御器１１ａに新たな入力データが入力された場合に、どのような出力データが出力されるかを示す第１グラフＧ１を破線で図示している。ここで、制御器１１ａは、過去に得られた入力データ及び出力データの関係を再現するように学習されており、第１グラフＧ１は、簡単のため一次関数として例示されている。
【００８０】
制御器１１ａに新たな入力データ「ｘ＿ｎｅｗ１」が入力されると、制御器１１ａは、学習された第１グラフＧ１に従って、新たな出力データ「ｙ＿ｎｅｗ１」を出力する。図４に示すように、新たな入力データ「ｘ＿ｎｅｗ１」は、過去に得られた入力データの最小値「ｘ＿ｍｉｎ」より大きく、最大値「ｘ＿ｍａｘ」より小さい。また、新たな出力データ「ｙ＿ｎｅｗ１」は、過去に得られた出力データの最小値「ｙ＿ｍｉｎ」より大きく、最大値「ｙ＿ｍａｘ」より小さい。従って、評価部１３は、新たな入力データ「ｘ＿ｎｅｗ１」及び新たな出力データ「ｙ＿ｎｅｗ１」は、過去に得られた入力データ及び出力データの統計量から乖離していないと評価してよい。この場合、制御器１１ａから出力される新たな出力データ「ｙ＿ｎｅｗ１」を用いて動作機械３０の制御を行ってよい。
【００８１】
一方、制御器１１ａに新たな入力データ「ｘ＿ｎｅｗ２」が入力されると、制御器１１ａは、学習された第１グラフＧ１に従って、新たな出力データ「ｙ＿ｎｅｗ２」を出力する。図４に示すように、新たな入力データ「ｘ＿ｎｅｗ２」は、過去に得られた入力データの最小値「ｘ＿ｍｉｎ」より大きく、最大値「ｘ＿ｍａｘ」よりも大きい。また、新たな出力データ「ｙ＿ｎｅｗ２」は、過去に得られた出力データの最小値「ｙ＿ｍｉｎ」より大きく、最大値「ｙ＿ｍａｘ」よりも大きい。すなわち、新たな入力データ「ｘ＿ｎｅｗ２」及び新たな出力データ「ｙ＿ｎｅｗ２」は、過去に得られた入力データ及び出力データの最大値よりも大きく、過去に動作機械３０の制御に用いられた実績の無いデータである。この場合、評価部１３は、新たな入力データ「ｘ＿ｎｅｗ２」及び新たな出力データ「ｙ＿ｎｅｗ２」は、過去に得られた入力データ及び出力データの統計量から乖離していると評価してよい。具体的には、評価部１３は、（ｘ＿ｎｅｗ２−ｘ＿ｍａｘ）によって入力データの乖離の程度を評価してよく、（ｙ＿ｎｅｗ２−ｙ＿ｍａｘ）によって出力データの乖離の程度を評価してよい。この場合、制御器１１ａから出力される新たな出力データ「ｙ＿ｎｅｗ２」を使用せず、補助制御器１１ｂを用いて動作機械３０の制御を行うこととしてよい。
【００８２】
図５は、本実施形態に係る制御システム１により実行される動作機械３０の第１制御処理のフローチャートである。制御システム１は、はじめに、制御装置１０によって、動作機械３０の現在の制御量を新たな入力データとして取得する（Ｓ１０）。
【００８３】
制御装置１０は、学習済みの制御器１１ａに新たな入力データを入力し、新たな出力データを生成する（Ｓ１１）。そして、制御装置１０は、学習済みの制御器１１ａに関連付けられた属性情報を取得する（Ｓ１２）。ここで、学習済みの制御器１１ａに関連付けられた属性情報は、学習済みの制御器１１ａの学習処理に用いられた学習用データから生成部２３によって生成された属性情報であってよい。
【００８４】
その後、制御装置１０は、新たな入力データ及び新たな出力データと、属性情報に含まれる最大値、最小値との乖離を評価する（Ｓ１３）。なお、新たな入力データ及び新たな出力データと比較される対象は、属性情報に含まれる統計量であればよく、過去に得られた入力データ及び出力データの平均値、中央値、四分位数、分散等であってもよいし、それらの組み合わせであってもよい。
【００８５】
制御装置１０により評価された乖離が閾値より大きくない場合（Ｓ１４：ＮＯ）、制御装置１０は、制御器１１ａから出力された新たな出力データによって動作機械３０を制御する（Ｓ１５）。一方、制御装置１０により評価された乖離が閾値より大きい場合（Ｓ１４：ＹＥＳ）、制御装置１０は、変更部１４によって新たな出力データを破棄し（Ｓ１６）、補助制御器１１ｂによって動作機械３０を制御する（Ｓ１７）。なお、以上説明した例では、制御器１１ａによって新たな出力データを生成した後、新たな入力データ及び新たな出力データと、属性情報に含まれる最大値、最小値との乖離を評価することとしているが、制御器１１ａによって新たな出力データを生成する前に、学習済みの制御器１１ａに関連付けられた属性情報を取得し、新たな入力データと、属性情報に含まれる最大値、最小値との乖離を評価することとしてもよい。そして、評価された乖離が閾値より大きくない場合、制御装置１０は、制御器１１ａによって新たな出力データを生成し、新たな出力データによって動作機械３０を制御することとしてよい。一方、評価された乖離が閾値より大きい場合、制御装置１０は、制御器１１ａに新たな入力データを入力せず、補助制御器１１ｂによって動作機械３０を制御することとしてよい。以上により第１制御処理が終了する。
【００８６】
図６は、本実施形態に係る制御システム１により実行される動作機械３０の第２制御処理のフローチャートである。第２制御処理は、測定装置４０により測定した新たな測定量と、過去に測定した測定量との乖離を評価し、動作機械３０を制御する処理である。
【００８７】
制御システム１は、はじめに、制御装置１０によって、動作機械３０の現在の制御量を新たな入力データとして取得する（Ｓ２０）。その後、制御装置１０は、学習済みの制御器１１ａに新たな入力データを入力し、新たな出力データを生成する（Ｓ２１）。
【００８８】
また、制御システム１は、測定装置４０によって、動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報を含む新たな測定量を測定し、当該新たな測定量を制御装置１０によって取得する（Ｓ２２）。
【００８９】
制御装置１０は、学習済みの制御器１１ａに関連付けられた属性情報を取得する（Ｓ２３）。ここで、属性情報には、測定装置４０によって過去に測定された、動作機械３０が動作する環境に関する情報及び動作機械３０の状態に関する情報が含まれてよい。
【００９０】
制御装置１０は、新たな測定量と、属性情報に含まれる測定量との乖離を評価する（Ｓ２４）。なお、新たな測定量と、過去に測定された測定量との比較は、設定部１５により設定された基準に基づいて行われてもよい。
【００９１】
制御装置１０により評価された乖離が閾値より大きくない場合（Ｓ２５：ＮＯ）、制御装置１０は、制御器１１ａから出力された新たな出力データによって動作機械３０を制御する（Ｓ２６）。一方、制御装置１０により評価された乖離が閾値より大きい場合（Ｓ２５：ＹＥＳ）、制御装置１０は、変更部１４によって新たな出力データを破棄し（Ｓ２７）、補助制御器１１ｂによって動作機械３０を制御する（Ｓ２８）。なお、以上説明した例では、制御器１１ａによって新たな出力データを生成した後、新たな測定量と、属性情報に含まれる測定量との乖離を評価することとしているが、制御器１１ａによって新たな出力データを生成する前に、学習済みの制御器１１ａに関連付けられた属性情報を取得し、新たな測定量と、属性情報に含まれる測定量との乖離を評価することとしてもよい。そして、評価された乖離が閾値より大きくない場合、制御装置１０は、制御器１１ａによって新たな出力データを生成し、新たな出力データによって動作機械３０を制御することとしてよい。一方、評価された乖離が閾値より大きい場合、制御装置１０は、制御器１１ａに新たな入力データを入力せず、補助制御器１１ｂによって動作機械３０を制御することとしてよい。以上により第２制御処理が終了する。
【００９２】
図７は、本実施形態に係る制御器１１ａの入力データ及び出力データの確率分布を簡略化して示す図である。同図では、入力データ及び出力データをそれぞれ１次元のデータとして簡略化して、横軸に「ｘ（入力データ）」を示し、縦軸に「ｙ（出力データ）」を示している。複数のプロット点は、過去に得られた入力データ及び出力データの値を示す。
【００９３】
図７に示すグラフには、過去に得られた入力データの標本平均及び標本分散に基づいて求められた第１確率分布Ｐ１を示している。また、同図には、制御器１１ａに新たな入力データが入力された場合に、どのような出力データが出力されるかを示す第１グラフＧ１を破線で図示している。ここで、制御器１１ａは、過去に得られた入力データ及び出力データの関係を再現するように学習されており、第１グラフＧ１は、簡単のため一次関数として例示されている。
【００９４】
制御器１１ａに新たな入力データ「ｘ＿ｎｅｗ３」が入力されると、制御器１１ａは、学習された第１グラフＧ１に従って、新たな出力データ「ｙ＿ｎｅｗ３」を出力する。図４に示すように、新たな入力データ「ｘ＿ｎｅｗ３」は、第１確率分布Ｐ１の値がほぼ最大値となるようなデータである。また、新たな入力データ「ｘ＿ｎｅｗ３」は、第１確率分布Ｐ１の平均値をμ、標準偏差をσと表すとき、μ±１σの範囲に収まるデータである。従って、評価部１３は、新たな入力データ「ｘ＿ｎｅｗ３」及び新たな出力データ「ｙ＿ｎｅｗ３」は、過去に得られた入力データ及び出力データの統計量から乖離していないと評価してよい。この場合、制御器１１ａから出力される新たな出力データ「ｙ＿ｎｅｗ３」を用いて動作機械３０の制御を行ってよい。
【００９５】
一方、制御器１１ａに新たな入力データ「ｘ＿ｎｅｗ４」が入力されると、制御器１１ａは、学習された第１グラフＧ１に従って、新たな出力データ「ｙ＿ｎｅｗ４」を出力する。ここで、新たな入力データ「ｘ＿ｎｅｗ４」は、第１確率分布Ｐ１の値がほぼゼロとなるようなデータである。また、新たな入力データ「ｘ＿ｎｅｗ４」は、第１確率分布Ｐ１の平均値をμ、標準偏差をσと表すとき、μ±１σの範囲に収まらず、μ±２σの範囲にも収まらないデータである。この場合、評価部１３は、新たな入力データ「ｘ＿ｎｅｗ４」及び新たな出力データ「ｙ＿ｎｅｗ４」は、過去に得られた入力データ及び出力データの統計量から乖離していると評価してよい。具体的には、評価部１３は、（ｘ＿ｎｅｗ４−μ）／σによって入力データの乖離の程度を評価してよい。この場合、制御器１１ａから出力される新たな出力データ「ｙ＿ｎｅｗ４」を使用せず、補助制御器１１ｂを用いて動作機械３０の制御を行うこととしてよい。
【００９６】
図８は、本実施形態に係る制御器１１ａの入力データ及び出力データの確率分布の他の例を簡略化して示す図である。同図では、入力データ及び出力データがそれぞれ１次元のデータであるものとして簡略化して、横軸に「ｘ（入力データ）」を示し、縦軸に「ｙ（出力データ）」を示している。複数のプロット点は、過去に得られた入力データ及び出力データの値を示す。
【００９７】
図８に示すグラフには、過去に得られた入力データの確率分布として、第２確率分布Ｐ２及び第３確率分布Ｐ３を含む混合正規分布を示している。第２確率分布Ｐ２は、過去に得られた入力データの第１クラスタの標本平均及び標本分散に基づいて求められ、第３確率分布Ｐ３は、過去に得られた入力データの第２クラスタの標本平均及び標本分散に基づいて求められている。また、同図には、制御器１１ａに新たな入力データが入力された場合に、どのような出力データが出力されるかを示す第２グラフＧ２を破線で図示している。ここで、制御器１１ａは、過去に得られた入力データ及び出力データの関係を再現するように学習されており、第２グラフＧ２は、簡単のため一次関数として例示されている。
【００９８】
制御器１１ａに新たな入力データ「ｘ＿ｎｅｗ５」が入力されると、制御器１１ａは、学習された第２グラフＧ２に従って、新たな出力データ「ｙ＿ｎｅｗ５」を出力する。図８に示すように、新たな入力データ「ｘ＿ｎｅｗ５」は、第２確率分布Ｐ２の値がほぼ最大値となるようなデータである。また、新たな入力データ「ｘ＿ｎｅｗ５」は、第２確率分布Ｐ２の平均値をμ、標準偏差をσと表すとき、μ±１σの範囲に収まるデータである。従って、評価部１３は、新たな入力データ「ｘ＿ｎｅｗ５」及び新たな出力データ「ｙ＿ｎｅｗ５」は、過去に得られた入力データ及び出力データの統計量から乖離していないと評価してよい。この場合、制御器１１ａから出力される新たな出力データ「ｙ＿ｎｅｗ５」を用いて動作機械３０の制御を行ってよい。
【００９９】
一方、制御器１１ａに新たな入力データ「ｘ＿ｎｅｗ６」が入力されると、制御器１１ａは、学習された第２グラフＧ２に従って、新たな出力データ「ｙ＿ｎｅｗ６」を出力する。ここで、新たな入力データ「ｘ＿ｎｅｗ６」は、第２確率分布Ｐ２及び第３確率分布Ｐ３の値がほぼゼロとなるようなデータである。また、新たな入力データ「ｘ＿ｎｅｗ６」は、第３確率分布Ｐ３の平均値をμ、標準偏差をσと表すとき、μ±１σの範囲に収まらず、μ±２σの範囲にも収まらないデータである。この場合、評価部１３は、新たな入力データ「ｘ＿ｎｅｗ６」及び新たな出力データ「ｙ＿ｎｅｗ６」は、過去に得られた入力データ及び出力データの統計量から乖離していると評価してよい。具体的には、評価部１３は、例えば（ｘ＿ｎｅｗ６−μ）／σによって入力データの乖離の程度を評価してよい。この場合、制御器１１ａから出力される新たな出力データ「ｙ＿ｎｅｗ６」を使用せず、補助制御器１１ｂを用いて動作機械３０の制御を行うこととしてよい。
【０１００】
図９は、本実施形態に係る制御システム１により実行される動作機械３０の第３制御処理のフローチャートである。第３制御処理は、過去に得られた入力データ及び出力データの確率分布の値に基づいて、新たな入力データ及び新たな出力データと過去に得られた入力データ及び出力データとの乖離を評価し、動作機械３０を制御する処理である。
【０１０１】
制御システム１は、はじめに、制御装置１０によって、動作機械３０の現在の制御量を新たな入力データとして取得する（Ｓ３０）。そして、制御装置１０は、学習済みの制御器１１ａに新たな入力データを入力し、新たな出力データを生成する（Ｓ３１）。制御装置１０は、学習済みの制御器１１ａに関連付けられた属性情報を取得する（Ｓ３２）。ここで、学習済みの制御器１１ａに関連付けられた属性情報は、学習済みの制御器１１ａの学習処理に用いられた学習用データから生成部２３によって生成された属性情報であってよい。
【０１０２】
その後、制御装置１０は、過去に得られた入力データ及び出力データの確率分布の値に基づいて、新たな入力データ及び新たな出力データが、過去に得られた入力データ及び出力データからどの程度乖離しているか評価する（Ｓ３３）。
【０１０３】
制御装置１０により評価された乖離が閾値より大きくない場合（Ｓ３４：ＮＯ）、制御装置１０は、制御器１１ａから出力された新たな出力データによって動作機械３０を制御する（Ｓ３５）。一方、制御装置１０により評価された乖離が閾値より大きい場合（Ｓ３４：ＹＥＳ）、制御装置１０は、変更部１４によって新たな出力データを破棄し（Ｓ３６）、補助制御器１１ｂによって動作機械３０を制御する（Ｓ３７）。なお、以上説明した例では、制御器１１ａによって新たな出力データを生成した後、過去に得られた入力データ及び出力データの確率分布の値に基づいて、新たな入力データ及び新たな出力データが、過去に得られた入力データ及び出力データからどの程度乖離しているか評価することとしているが、制御器１１ａによって新たな出力データを生成する前に、学習済みの制御器１１ａに関連付けられた属性情報を取得し、過去に得られた入力データ及び出力データの確率分布の値に基づいて、新たな入力データ及び新たな出力データが、過去に得られた入力データ及び出力データからどの程度乖離しているか評価することとしてもよい。そして、評価された乖離が閾値より大きくない場合、制御装置１０は、制御器１１ａによって新たな出力データを生成し、新たな出力データによって動作機械３０を制御することとしてよい。一方、評価された乖離が閾値より大きい場合、制御装置１０は、制御器１１ａに新たな入力データを入力せず、補助制御器１１ｂによって動作機械３０を制御することとしてよい。以上により第３制御処理が終了する。
【０１０４】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【０１０５】
［付記１］
入力データに対して出力データを出力する制御器（１１ａ）を含み、前記制御器（１１ａ）を用いて動作機械（３０）を制御する制御部（１１）と、
過去に得られた前記入力データ及び前記出力データの統計量を含む属性情報を取得する取得部（１２）と、
前記属性情報と、前記制御器（１１ａ）に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器（１１ａ）から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価する評価部（１３）と、
を備える制御装置。
【０１０６】
［付記２］
前記評価部（１３）により評価された乖離の程度に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方を変更する変更部（１４）をさらに備える、
付記１に記載の制御装置。
【０１０７】
［付記３］
前記変更部（１４）は、前記評価部（１３）により評価された乖離の程度に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方を使用せず、
前記制御部（１１）は、前記制御器（１１ａ）とは異なる他の制御器（１１ａ）を用いて、前記動作機械（３０）を制御する、
付記２に記載の制御装置。
【０１０８】
［付記４］
前記属性情報は、測定装置によって過去に測定された前記動作機械（３０）が動作する環境に関する情報及び前記動作機械（３０）の状態に関する情報の少なくともいずれか一方を含む測定量をさらに含み、
前記評価部（１３）は、前記属性情報と、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が生成された際に、前記測定装置によって測定された新たな測定量との比較に基づいて、前記新たな測定量が、前記測定量からどの程度乖離しているか評価する、
付記１から３のいずれか一項に記載の制御装置。
【０１０９】
［付記５］
前記環境に関する情報は、前記制御部（１１）により前記動作機械（３０）が制御された時刻に関する情報を含み、
前記状態に関する情報は、前記動作機械（３０）が動作中であるか停止中であるかを区別する情報を含む、
付記４に記載の制御装置。
【０１１０】
［付記６］
前記評価部（１３）によって、前記新たな測定量と、前記測定量との比較を行うための基準を設定する設定部（１５）をさらに備える、
付記４又は５に記載の制御装置。
【０１１１】
［付記７］
前記入力データ及び前記出力データは、数値データを含み、
前記属性情報は、前記入力データ及び前記出力データの最大値及び最小値を含み、
前記評価部（１３）は、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記最大値及び前記最小値からどの程度乖離しているか評価する、
付記１から６のいずれか一項に記載の制御装置。
【０１１２】
［付記８］
前記入力データ及び前記出力データは、数値データを含み、
前記属性情報は、前記入力データ及び前記出力データの確率分布を含み、
前記評価部（１３）は、前記確率分布の値に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記入力データ及び前記出力データからどの程度乖離しているか評価する、
付記１から７のいずれか一項に記載の制御装置。
【０１１３】
［付記９］
前記制御器（１１ａ）は、前記入力データと前記出力データの関係を規定した学習用データを用いた機械学習によって生成された学習済みモデルを含む、
付記１から８のいずれか一項に記載の制御装置。
【０１１４】
［付記１０］
入力データと出力データの関係を規定した学習用データを用いた機械学習によって制御器（１１ａ）の学習処理を実行する学習装置と、前記制御器（１１ａ）を用いて動作機械（３０）を制御する制御部（１１）を有する制御装置と、を備える制御システムであって、
前記学習装置は、
過去に得られた前記入力データ及び前記出力データの統計量を含む属性情報を生成する生成部（２３）をさらに有し、
前記制御装置は、
前記属性情報を取得する取得部（１２）と、
前記属性情報と、前記制御器（１１ａ）に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器（１１ａ）から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価する評価部（１３）と、をさらに有する、
制御システム。
【０１１５】
［付記１１］
前記動作機械（３０）が動作する環境に関する情報を測定する測定装置をさらに備え、
前記生成部（２３）は、前記環境に関する情報に基づいて、前記属性情報を生成する、
付記１０に記載の制御システム。
【０１１６】
［付記１２］
前記動作機械（３０）の状態に関する情報を測定する測定装置をさらに備え、
前記生成部（２３）は、前記状態に関する情報に基づいて、前記属性情報を生成する、
付記１０又は１１に記載の制御システム。
【０１１７】
［付記１３］
入力データに対して出力データを出力する制御器（１１ａ）を用いて動作機械（３０）を制御することと、
前記入力データ及び前記出力データの統計量を含む属性情報を取得することと、
前記属性情報と、前記制御器（１１ａ）に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器（１１ａ）から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価することと、
を含む制御方法。
【０１１８】
［付記１４］
制御装置に備えられた演算部を、
入力データに対して出力データを出力する制御器（１１ａ）を含み、前記制御器（１１ａ）を用いて動作機械（３０）を制御する制御部（１１）、
前記入力データ及び前記出力データの統計量を含む属性情報を取得する取得部（１２）、及び
前記属性情報と、前記制御器（１１ａ）に新たに入力する新たな入力データ及び前記新たな入力データに対して前記制御器（１１ａ）から出力される新たな出力データの少なくともいずれか一方との比較に基づいて、前記新たな入力データ及び前記新たな出力データの少なくともいずれか一方が、前記統計量からどの程度乖離しているか評価する評価部（１３）、
として動作させる制御プログラム。
【符号の説明】
【０１１９】
１…制御システム、１０…制御装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…制御部、１１ａ…制御器、１１ｂ…補助制御器、１２…取得部、１３…評価部、１４…変更部、１５…設定部、２０…学習装置、２１…学習用データ記憶部、２２…学習部、２３…生成部、２４…学習結果記憶部、２４ａ…学習済みモデル記憶部、２４ｂ…属性情報記憶部、３０…動作機械、４０…測定装置
【図１】
2019159669.tif 000003
【図２】
2019159669.tif 000004
【図３】
2019159669.tif 000005
【図４】
2019159669.tif 000006
【図５】
2019159669.tif 000007
【図６】
2019159669.tif 000008
【図７】
2019159669.tif 000009
【図８】
2019159669.tif 000010
【図９】
2019159669.tif 000011