(57)【特許請求の範囲】
【請求項１】
所定の装置に対してフィードバック制御を行うための制御装置であって、
前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、
前記装置の前段に前記第１のコントローラを配置して構成された基本システムにおいて事前にフィードバック制御を行うことにより得られた前記出力と前記第１の操作量に基づいて、フィードバックされた前記出力と前記第１の操作量を入力として、前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、
前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、
前記第２の操作量が無効化条件を満たすか否かを判定する、判定部と、
前記判定部において無効化条件を満たすと判定された場合に、前記第２の操作量を無効化処理する、無効化処理部と、
前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成部と、
前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶部と、
前記機械学習用データに基づいてオンライン学習処理を行い前記装置の制御を行いつつも前記学習済モデルを更新する、学習処理部と、を備え、
前記無効化条件は、前記第２の操作量が第１の閾値よりも大きいか、又は前記第１の閾値よりも小さい第２の閾値よりも小さいことであり、
前記第１のコントローラ及び前記第２のコントローラは、それぞれ、Ｐ制御、ＰＩ制御、ＰＤ制御又はＰＩＤ制御のいずれかを行うものである、制御装置。
【請求項２】
前記記憶部は、さらに、
前記第２の操作量が０又はその近傍値となる場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、請求項１に記載の制御装置。
【請求項３】
前記記憶部は、さらに、
前記第２の操作量が無効化処理される場合の参照時間ステップに係る前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力に加えて、さらに、前記参照時間より時間的に前の１又は複数の時間ステップに係る前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、請求項１に記載の制御装置。
【請求項４】
前記学習済モデルは、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルを用いて機械学習を行うことにより得られるものである、請求項１に記載の制御装置。
【請求項５】
所定の装置に対してフィードバック制御を行うための制御装置における制御方法であって、
前記制御装置は、
前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、
前記装置の前段に前記第１のコントローラを配置して構成された基本システムにおいて事前にフィードバック制御を行うことにより得られた前記出力と前記第１の操作量に基づいて、フィードバックされた前記出力と前記第１の操作量を入力として、前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、
前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、を備え、
前記第２の操作量が無効化条件を満たすか否かを判定する、判定ステップと、
前記判定ステップにおいて無効化条件を満たすと判定された場合に、前記第２の操作量を無効化処理する、無効化処理ステップと、
前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成ステップと、
前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶ステップと、
前記機械学習用データに基づいてオンライン学習処理を行い前記装置の制御を行いつつも前記学習済モデルを更新する、学習処理ステップと、を備え、
前記無効化条件は、前記第２の操作量が第１の閾値よりも大きいか、又は前記第１の閾値よりも小さい第２の閾値よりも小さいことであり、
前記第１のコントローラ及び前記第２のコントローラは、それぞれ、Ｐ制御、ＰＩ制御、ＰＤ制御又はＰＩＤ制御のいずれかを行うものである、制御方法。
【請求項６】
所定の装置に対してフィードバック制御を行うための制御装置の制御プログラムであって、
前記制御装置は、
前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、
前記装置の前段に前記第１のコントローラを配置して構成された基本システムにおいて事前にフィードバック制御を行うことにより得られた前記出力と前記第１の操作量に基づいて、フィードバックされた前記出力と前記第１の操作量を入力として、前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、
前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、を備え、
前記第２の操作量が無効化条件を満たすか否かを判定する、判定ステップと、
前記判定ステップにおいて無効化条件を満たすと判定された場合に、前記第２の操作量を無効化処理する、無効化処理ステップと、
前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成ステップと、
前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶ステップと、
前記機械学習用データに基づいてオンライン学習処理を行い前記装置の制御を行いつつも前記学習済モデルを更新する、学習処理ステップと、を備え、
前記無効化条件は、前記第２の操作量が第１の閾値よりも大きいか、又は前記第１の閾値よりも小さい第２の閾値よりも小さいことであり、
前記第１のコントローラ及び前記第２のコントローラは、それぞれ、Ｐ制御、ＰＩ制御、ＰＤ制御又はＰＩＤ制御のいずれかを行うものである、制御プログラム。
【請求項７】
所定の装置に対してフィードバック制御を行うための制御システムであって、
前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、
前記装置の前段に前記第１のコントローラを配置して構成された基本システムにおいて事前にフィードバック制御を行うことにより得られた前記出力と前記第１の操作量に基づいて、フィードバックされた前記出力と前記第１の操作量を入力として、前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、
前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、
前記第２の操作量が無効化条件を満たすか否かを判定する、判定部と、
前記判定部において無効化条件を満たすと判定された場合に、前記第２の操作量を無効化処理する、無効化処理部と、
前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成部と、
前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶部と、
前記機械学習用データに基づいてオンライン学習処理を行い前記装置の制御を行いつつも前記学習済モデルを更新する、学習処理部と、を備え、
前記無効化条件は、前記第２の操作量が第１の閾値よりも大きいか、又は前記第１の閾値よりも小さい第２の閾値よりも小さいことであり、
前記第１のコントローラ及び前記第２のコントローラは、それぞれ、Ｐ制御、ＰＩ制御、ＰＤ制御又はＰＩＤ制御のいずれかを行うものである、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、フィードバック制御を行う制御装置に関する。
【背景技術】
【０００２】  様々な装置の制御には、フィードバック制御、例えば、ＰＩＤ制御が広く使用されている。フィードバック制御は、古典制御に属するものの、その過去の実績に基づく信頼や、技術者の経験則による調整の容易さから、現在に至っても未だ産業界の主力の制御手法である。【０００３】  図１１は、従前のフィードバック制御の基本的構成、すなわち従前のフィードバックシステム２００について示す図である。同図から明らかな通り、制御機構２０２の検出子（例えば、センサ等）から得られた出力ｙは同図左側の入力側へとフィードバックされ、目標値ｒとの偏差が算出される。この算出された偏差はさらにコントローラ２０１へと入力されて操作量ｕが算出される。この操作量ｕに応じて制御機構２０２の操作子（例えば、アクチュエータ等）は動作し、図示しない制御対象を制御する。このとき、外乱ｗが乗ることがある。この一連のプロセスが繰り返されることで、偏差が小さくなるような制御、すなわち、出力ｙを目標値ｒへと近付ける制御が行われる。【０００４】  一方、近年、機械学習の分野が高い注目を集めている。このような背景の中、本願の発明者らは、木構造を有する新たな機械学習の枠組み（学習木）を提唱している（特許文献１）。【０００５】  図１２は、上述の新たな機械学習の枠組みについて示す説明図、すなわち、学習木の構造について示す説明図である。図１２（ａ）には、当該学習手法における学習木の構造が示されており、図１２（ｂ）には、当該構造に対応する状態空間のイメージが示されている。同図から明らかな通り、学習木構造は、階層的に分割された各状態空間に対応する各ノードを、最上位ノード（始端ノード又は根ノード）から最下端ノード（末端ノード又は葉ノード）まで、樹形状乃至格子状に分岐して配置することにより構成されている。なお、同図は、Ｎ階層ｄ次元ｎ分割の学習木においてｄが２、ｎが２の場合の例を示しており、図１２（ａ）に記載の学習木の１階層目の４つの末端ノードに付された１〜４の番号は、それぞれ、図１２（ｂ）に記載の４つの状態空間に対応している。【０００６】  上記学習木を用いて学習処理を行う際には、入力されるデータが、逐次、分割された各状態空間に対応付けられ、それらが各状態空間に蓄積されていくこととなる。このとき、それまでデータが存在しなかった状態空間に新たにデータが入力された場合には、新たなノードが順次生成されていく。予測出力は、学習後に各状態空間に内包される各データに対応する出力値又は出力ベクトルの相加平均をとることで算出されることとなる。【０００７】  このような機械学習技術によれば、省メモリかつ高速の機械学習を実現することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１６−１７３６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】  ところで、ＰＩＤ制御をはじめとする従前のフィードバック制御では、ゲインを制御開始前に調整・設定し、制御開始後は当該ゲインを固定的に使用することが一般的であった。そのため、例えば、経年劣化等により制御対象や操作子の特性が変化したような場合には適応的な対応ができず、従って、制御の精度が低下するおそれがあった。【００１０】  本発明は、上述の技術的背景の下になされたものであり、その目的とするところは、長年利用されている信頼性の高いフィードバック制御を利用しつつも、制御中に得られたデータに基づいて適応的な制御を行うことにある。【００１１】  本発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１２】  上述の技術的課題は、以下の構成を有する制御装置、方法、プログラム及びシステム等により解決することができる。【００１３】  すなわち、本発明に係る制御装置は、所定の装置に対してフィードバック制御を行うための制御装置であって、前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、前記装置からフィードバックされる出力と前記第１の操作量に基づいて前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成部と、前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶部と、を備えている。【００１４】  このような構成によれば、フィードバック制御という長年利用されている信頼性の高い制御技術を利用しつつも、機械学習技術により、制御中に得られたデータに基づいて適応的な制御を行うことができる。【００１５】  前記制御装置は、さらに、前記機械学習用データに基づいて学習処理を行い前記学習済モデルを更新する、学習処理部を備えてもよい。【００１６】  このような構成によれば、装置の制御を行いつつも学習処理を行い、制御を最適化することができる。【００１７】  前記制御装置は、さらに、前記第２の操作量が無効化条件を満たすか否かを判定する、判定部と、前記判定部において無効化条件を満たすと判定された場合に、前記第２の操作量を無効化処理する、無効化処理部と、を備える、ものであってもよい。【００１８】  このような構成によれば、第２の操作量が予め定めた条件を満たす場合には第２の操作量を無効化して第１の操作量に基づく制御のみが行われるので、より信頼性の高い制御を行うことができる。また、当該期間のデータは機械学習用データとして供されるので将来に向けて制御精度の向上を見込むことができる。【００１９】  前記無効化条件は、前記第２の操作量が第１の閾値よりも大きいか、又は前記第１の閾値よりも小さい第２の閾値よりも小さいことであってもよい。【００２０】  このような構成によれば、操作量が想定を超える場合に第２の操作量を無効化するので、より信頼性の高い制御を行うことができる。また、当該期間のデータは機械学習用データとして供されるので将来に向けて制御精度の向上を見込むことができる。【００２１】  前記記憶部は、さらに、前記第２の操作量が０又はその近傍値となる場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、ものであってもよい。【００２２】  このような構成によれば、第２の操作量が０又はその近傍値となる場合も利用して学習を進めることができるので、さらなる制御精度の向上を期待することができる。【００２３】  前記記憶部は、さらに、前記第２の操作量が無効化処理される場合の参照時間ステップに係る前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力に加えて、さらに、前記参照時間より時間的に前の１又は複数の時間ステップに係る前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、ものであってもよい。【００２４】  このような構成によれば、参照時間ステップの前の１又は複数の時間ステップに係るデータも併せて学習するので、より汎化させやすくなり、学習速度の向上を期待することができる。【００２５】  前記第１のコントローラ及び／又は前記第２のコントローラは、それぞれ、Ｐ制御、ＰＩ制御、ＰＤ制御又はＰＩＤ制御のいずれかを行うものであってもよい。【００２６】  このような構成によれば、長年利用されている信頼性の高い制御技術を利用しつつも、機械学習技術により、装置運転中に得られたデータに基づいて制御精度をさらに向上させることができる。【００２７】  前記学習済モデルは、階層的に分割された状態空間へとそれぞれ対応付けられた複数のノードを階層的に配置することにより構成された木構造を有する学習モデルを用いて機械学習を行うことにより得られるものであってもよい。【００２８】  このような構成によれば、人工ニューラルネットワーク等に対する学習に比べて省メモリで高速学習を行うことが可能となるので、装置を動作させつつ同時学習（オンライン学習）を行う場合に特に有利となる。【００２９】  本発明は、方法としても観念することができる。すなわち、本発明に係る制御方法は、所定の装置に対してフィードバック制御を行うための制御装置における制御方法であって、前記制御装置は、前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、前記装置からフィードバックされる出力と前記第１の操作量に基づいて前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、を備え、前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成ステップと、前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶ステップと、を備えている。【００３０】  本発明は、プログラムとしても観念することができる。すなわち、本発明に係る制御プログラムは、所定の装置に対してフィードバック制御を行うための制御装置の制御プログラムであって、前記制御装置は、前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、前記装置からフィードバックされる出力と前記第１の操作量に基づいて前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、前記予測出力と���記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、を備え、前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成ステップと、前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶ステップと、を備えている。【００３１】  本発明は、システムとしても観念することができる。すなわち、本発明に係る制御システムは、所定の装置に対してフィードバック制御を行うための制御システムであって、前記装置からフィードバックされる出力と目標値に基づいて、前記装置に対する第１の操作量を生成する、第１のコントローラと、前記装置からフィードバックされる出力と前記第１の操作量に基づいて前記装置からの予測出力を生成するよう機械学習された学習済モデルを備えた、予測出力生成部と、前記予測出力と前記目標値に基づいて、前記装置に対する第２の操作量を生成する、第２のコントローラと、前記第１の操作量と前記第２の操作量とに基づいて、前記装置に対する操作量である統合操作量を生成する、統合操作量生成部と、前記第２の操作量が無効化処理される場合に、前記第１の操作量、前記装置からフィードバックされた前記出力及び前記統合操作量に対応する前記装置からの出力を機械学習用データとして記憶する、記憶部と、を備えている。
【発明の効果】
【００３２】  本発明によれば、信頼性の高いフィードバック制御を利用しつつも、制御中に得られたデータに基づいて適応的な制御を行うことができる。
【図面の簡単な説明】
【００３３】
【図１】図１は、制御システムのハードウェア構成図である。
【図２】図２は、システムの動作に関するゼネラルフローチャートである。
【図３】図３は、基本システムに関するブロック図である。
【図４】図４は、基本システムの動作に関する詳細フローチャートである。
【図５】図５は、初期学習に関する詳細フローチャートである。
【図６】図６は、拡張システムの動作に関する詳細フローチャートである。
【図７】図７は、拡張システムに関するブロック図である。
【図８】図８は、拡張システムにおける制御処理に関する詳細フローチャート（その１）である。
【図９】図９は、拡張システムにおける制御処理に関する詳細フローチャート（その２）である。
【図１０】図１０は、第２の操作量の条件に関する説明図である。
【図１１】図１１は、フィードバックシステムの基本的構成に関するブロック図である。
【図１２】図１２は、学習木に関する説明図である。
【発明を実施するための形態】
【００３４】  以下、本発明の実施の一形態を、添付の図面を参照しつつ、詳細に説明する。
【００３５】  ＜１．第１の実施形態＞  ＜１．１  構成＞  図１は、制御装置１００と制御機構１２とから成る制御システムのハードウェア構成図である。
【００３６】  同図から明らかな通り、制御装置１００は、制御部１、記憶部２、Ｉ／Ｏ部３、入力部４、表示部５及び通信部６を備え、それらは互いにバスを介して接続されている。また、制御装置１００は、制御機構１２を構成する操作部１２１及び検出部１２２と接続され、図示しない制御対象を制御可能に構成されている。
【００３７】  制御部１は、ＣＰＵ等の情報処理部であり、記憶部２に記憶されている各種のプログラムを読み出して実行する。記憶部２は、ＲＯＭ、ＲＡＭ、ハードディスク、フラッシュメモリ等の揮発性又は不揮発性の記憶装置であり、機械学習対象となるデータを含む後述の各種のデータを記憶する。Ｉ／Ｏ部３は、外部装置との入出力を行うインタフェースである。入力部４は、キーボード、タッチパネル、ボタン等を介して入力された信号を処理する。表示部５は、ディスプレイ等と接続されて表示制御を行い、ディスプレイ等を介してユーザにＧＵＩを提供する。通信部６は、有線又は無線にて外部機器と通信を行う通信ユニットである。
【００３８】  操作部１２１は、所定の操作量に基づいて制御対象に影響を与えるものであり、例えば、アクチュエータ等で構成される。検出部１２２は、制御対象の状態等を検出するものであり、例えば、センサ等で構成される。
【００３９】  なお、ハードウェア構成は、本実施形態に係る構成に限定されるものではなく、構成や機能を分散又は統合してもよい。例えば、複数台の制御装置１００を用いて分散的に処理を行っても良いし、大容量記憶装置をさらに外部に設けて制御装置１００と接続する等してもよい。また、インターネット等を介してコンピュータネットワークを形成して処理を行ってもよい。
【００４０】  さらに、本実施形態に係る処理は、ＦＰＧＡ等の半導体回路（ＩＣ等）を用いて、所謂ハードウェアとして実装してもよい。
【００４１】  ＜１．２  動作＞  次に、図２〜図１０を参照しつつ、制御装置１００の動作に関して説明する。
【００４２】  図２は、制御装置１００の動作に関するゼネラルフローチャートである。
【００４３】  同図から明らかな通り、処理が開始すると、後述の基本システム１０の第１のＰＩＤコントローラ１１に設定される各ゲイン（すなわち、Ｐ（比例）ゲイン、Ｉ（積分）ゲイン、Ｄ（微分）ゲイン）の設定処理が行われる（Ｓ１）。
【００４４】  図３は、基本システム１０に関するブロック図である。同図から明らかな通り、基本システム１０は、第１のＰＩＤコントローラ１１と、第１のＰＩＤコントローラ１１の後段に設けられ、操作部１２１と検出部１２２を備えた制御機構１２と、第１のＰＩＤコントローラから出力される操作量ｕ０と制御機構１２の検出部１２２から出力される出力値ｙを記録するデータロガー１３とから構成されている。なお、その動作は、図１１に示したフィードバックシステム２００と略同一であるが、データロガー１３が、第１のＰＩＤコントローラから出力される操作量ｕ０と制御機構１２の検出部１２２から出力される出力値ｙを記録する点において相違する。
【００４５】  ユーザは、基本システム１０を動作させ又はシミュレーションを行う等して、公知の手法で第１のＰＩＤコントローラ１１の各ゲインを調整し、入力部４等を介して最終的なゲインを入力して設定する。この入力された各ゲインは記憶部２へと記憶される。
【００４６】  図２に戻り、ゲインの設定処理（Ｓ１）が完了すると、当該ゲインを利用して実際に基本システム１０を動作させる処理、すなわち、機械学習用のデータを取得し記憶する処理が行われる（Ｓ３）。
【００４７】  図４は、基本システム１０の動作に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、時間ステップに相当する所定の整数値ｔを初期化する（例えば、１とする）処理が行われる（Ｓ３１）。初期化が完了すると、所定の目標値ｒ（ｔ）と、１つ前の時間ステップ（ｔ−１）の出力値ｙ（ｔ−１）を読み出し、その偏差（ｒ（ｔ）−ｙ（ｔ−１））を算出し、同偏差を第１のコントローラ１１へと入力する処理が行われる（Ｓ３２）。
【００４８】  第１のコントローラ１１は、偏差が入力されると、設定されたゲインに基づいて操作量ｕ（ｔ）を算出する（Ｓ３３）。この操作量ｕ（ｔ）は、制御機構１２の操作部１２１へと提供され、これにより制御対象に対して所定の制御行為が行われる。その後、制御機構１２の検出部１２２を介して、現在（ｔ）の出力値ｙ（ｔ）が検出される（Ｓ３４）。
【００４９】  以上一連の処理が終了すると、１つ前の時間ステップの出力値ｙ（ｔ−１）、操作量ｕ（ｔ）及び現在時間（ｔ）の出力値ｙ（ｔ）を、データロガー１３を介して記憶部２へと記憶する処理が行われる（Ｓ３６）。その後、ｔの値を１だけインクリメントして（Ｓ３８）、再度一連の処理（Ｓ３２〜Ｓ３８）が行われる。
【００５０】  すなわち、制御対象を制御しつつ、１つ前の時間ステップの出力値ｙ（ｔ−１）、操作量ｕ（ｔ）及び現在時間の出力値ｙ（ｔ）を、データロガー１３を介して記憶部２へと記憶する処理が継続的に行われる。これにより、後述する予測処理部３５で用いられる学習済モデルを生成するための機械学習用データが所望量蓄積されていくことになる。
【００５１】  図２に戻り、基本システム１０の動作に基づいてデータの取得と記憶処理が完了すると（Ｓ３）、得られたデータに基づいて初期学習を行う処理が行われる（Ｓ５）。
【００５２】  図５は、初期学習に関する詳細フローチャートである。本実施形態においては、機械学習技術として図１２を用いて示した上述の木構造を利用した機械学習技術を用いる。
【００５３】  同図から明らかな通り、処理が開始すると、学習木の構造（階層数、次元数、分割数など）や種々の初期パラメータを含む、学習に関するパラメータファイルを記憶部２から読み出す処理が行われる。その後、所定の整数値ｔを初期化する（例えば１とする）処理が行われる（Ｓ５２）。
【００５４】  この初期化の後、ｔ番目の入力データ、すなわち、１つ前の時間ステップの出力値ｙ（ｔ−１）と操作量ｕ（ｔ）を読み出して学習木への入力とする処理が行われる（Ｓ５３）。その後、当該入力は、所定の分岐条件に応じて分類されて根ノードから葉ノードへと至る複数のノードが特定され、各ノードと対応付けて記憶される（Ｓ５４）。
【００５５】  その後、各ノードにおいて、出力値ｙに基づくそれまでの相加平均値を更新するように、新たな出力値ｙ（ｔ）も加えた相加平均値を算出し、ノードと対応付けて記憶する処理が行われる（Ｓ５６）。
【００５６】  その後、ｔの値が所定の最大値（ｔ＿ｍａｘ）と一致するかを判定し、未だｔの値が最大値ではない場合（Ｓ５７ＮＯ）、ｔの値を１だけインクリメントして、再度上述の学習処理（Ｓ５３〜Ｓ５６）を繰り返す。一方、ｔの値が所定の最大値となる場合（Ｓ５７ＹＥＳ）、処理は終了する。
【００５７】  すなわち、これにより、１つ前の時間ステップの出力値ｙ（ｔ−１）と現在時間の操作量ｕ（ｔ）とに基づいて、出力値ｙ（ｔ）を予測する学習済モデルが生成されることとなる。
【００５８】  図２に戻り、初期学習処理が完了すると、次に、基本システム１０を拡張した後述の拡張システム３０を動作させる（Ｓ７）。
【００５９】  図６は、拡張システム３０の動作に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、拡張システム３０に基づく制御処理が行われる（Ｓ７１）。
【００６０】  図７は、拡張システム３０のブロック図である。同図から明らかな通り、拡張システム３０は、第１のフィードバックループを備える基本システム１０の構成に加えて、さらに、第２のフィードバックループと学習処理部３４とを備えている。第２のフィードバックループは、学習済モデルを備える予測処理部３５、その後段に設けられた第２のコントローラ３７、さらにその後段に設けられた無効化処理部３８及び判定部３９とから成る。
【００６１】  予測処理部３５は、１つ前の時間ステップの出力値ｙ（ｔ−１）と現在時間の第１の操作量ｕ１（ｔ）とに基づいて、予測出力値ｙｈａｔ（ｔ）を生成する学習済モデルを備えている。また、第２のコントローラ３７は、目標値ｒ（ｔ）と予測出力値ｙｈａｔ（ｔ）との偏差（ｒ（ｔ）−ｙｈａｔ（ｔ））に基づいて、第２の操作量ｕ２（ｔ）を生成する。判定部３９は、第２の操作量ｕ２（ｔ）に関して所定の条件判定を行い、無効化処理部３８に対して判定結果を提供する。無効化処理部３８は、判定部３９から提供される判定結果に応じて、第２の操作量ｕ２（ｔ）を無効化して（例えば、第２の操作量ｕ２（ｔ）を０として）又はそのまま提供する。
【００６２】  また、学習処理部３４は、データロガー５３を通じて記憶部２に記憶されたデータを読み出して、所定の条件下、学習処理を行い、更新された学習済モデルを予測処理部３５へと提供する。
【００６３】  図８及び図９は、拡張システム３０における制御処理に関する詳細フローチャートである。
【００６４】  図８において、処理が開始すると、後述の処理において使用されるフラグを初期化する処理が行われる（Ｓ７１１）。次に、１つ前の時間ステップの出力値ｙ（ｔ−１）と目標値ｒ（ｔ）の偏差（ｒ（ｔ）−ｙ（ｔ−１））を第１のコントローラ３１へと入力する処理が行われる（Ｓ７１２）。第１のコントローラ３１は、当該入力と設定されたゲインに基づき、第１の操作量ｕ１（ｔ）を算出する処理が行われる（Ｓ７１３）。
【００６５】  その後、第１の操作量ｕ１（ｔ）及び１つ前の時間ステップの出力値ｙ（ｔ−１）を予測処理部３５へと入力する処理が行われる（Ｓ７１４）。予測処理部３５は、学習済モデルへと第１の操作量ｕ１（ｔ）及び１つ前の時間ステップの出力値ｙ（ｔ−１）を入力することにより、予測出力ｙｈａｔ（ｔ）を算出する（Ｓ７１５）。この算出の後、予測出力ｙｈａｔ（ｔ）と目標値ｒ（ｔ）との偏差（ｒ（ｔ）−ｙｈａｔ（ｔ））を第２のコントローラ３７へと入力する処理が行われる（Ｓ７１６）。第２のコントローラ３７は、予測出力ｙｈａｔ（ｔ）と目標値ｒ（ｔ）との偏差に基づいて第２の操作量ｕ２（ｔ）を算出する（Ｓ７１７）。
【００６６】  図９へと続き、第２の操作量ｕ２（ｔ）が算出されると、判定部３９により、当該第２の操作量ｕ２（ｔ）が所定の条件を満たすか否かを判定する処理が行われる（Ｓ７１９）。
【００６７】  図１０は、第２の操作量ｕ２（ｔ）の所定条件の概要に関する説明図である。同図から明らかな通り、所定条件は、第２の操作量ｕ２（ｔ）が所定の閾値ＵＬ以上かつ所定の閾値ＵＨ以下の範囲（同図Ｒで示した範囲）にあるか否かである。
【００６８】  この範囲（Ｒ）に無い場合（Ｓ７１９ＮＯ）、すなわち、第２の操作量ｕ２（ｔ）が所定の閾値ＵＬより小さいか又は所定の閾値ＵＨより大きい場合、判定部３９は、無効化処理部３８へと所定の範囲内に第２の操作量ｕ２（ｔ）が無いことを表す判定信号を提供し、無効化処理部３８は、第２の操作量ｕ２（ｔ）を無効化する処理を行う（Ｓ７２０）。この無効化処理を行った後、無効化を行ったことを意味するフラグをＯＮとする処理が行われる（Ｓ７２１）。
【００６９】  一方、第２の操作量ｕ２（ｔ）が上記範囲（Ｒ）内に存在する場合（Ｓ７１９ＹＥＳ）、判定部３９は、無効化処理部３８へと所定の範囲内に第２の操作量ｕ２（ｔ）が存在することを表す判定信号を提供し、無効化処理部３８は、第２の操作量ｕ２（ｔ）をそのまま第１のフィードバックループの第１のコントローラ１３の出力後段へと提供する（Ｓ７２２）。
【００７０】  その後、第１のフィードバックループの第１のコントローラ１３の出力後段において、第１の操作量ｕ１（ｔ）と第２の操作量ｕ２（ｔ）を加算して、操作量ｕ（ｔ）を算出する処理が行われる（Ｓ７２３）。この操作量ｕ（ｔ）は、制御機構３２の操作部１２１へと入力され、検出部１２２を通じてその結果としての出力値ｙ（ｔ）が検出される（Ｓ７２４）。
【００７１】  この検出処理の後、１つ前の時間ステップの出力値ｙ（ｔ−１）、操作量ｕ（ｔ）、出力値ｙ（ｔ）及びフラグ信号を記憶する処理が行われ（Ｓ７２５）、拡張システム３０における制御処理の一周期に相当する処理は終了する。
【００７２】  図６に戻り、拡張システム３０における制御処理の一周期相当が終了すると、記憶されたフラグの状態を判定する処理が行われる（Ｓ７３）。フラグがＯＦＦ状態であると判定された場合（Ｓ７３ＮＯ）、拡張システム３０の次の時間ステップにおける処理が再度行われる（Ｓ７１）。一方、フラグがＯＮ状態にあると判定された場合（Ｓ７３ＹＥＳ）、すなわち、第２の操作量ｕ２（ｔ）の無効化処理が行われていた場合、学習処理が行われる（Ｓ７５）。
【００７３】  学習処理（Ｓ７５）の内容は図５に示したものと略同一であるので、ここでは説明を省略する。この学習処理の後、拡張システム３０の次の時間ステップにおける処理が再度行われる（Ｓ７１）。
【００７４】  このような構成によれば、フィードバック制御という長年利用されている信頼性の高い制御技術を利用しつつも、機械学習技術により、制御中に得られたデータに基づいて適応的な制御を行うことができる。
【００７５】  また、このような構成によれば、第２の操作量ｕ２（ｔ）が予め定めた条件を満たす場合には第２の操作量ｕ２（ｔ）を無効化して第１の操作量ｕ１（ｔ）に基づく制御のみを行うので、信頼性の高い制御を行うことができる。また、当該期間のデータは機械学習用データとして供されるので将来に向けて制御精度の向上を見込むことができる。
【００７６】  ＜２．変形例＞  上記実施形態は例示的な実施形態であり、本発明は様々な変形が可能である。
【００７７】  上述の実施形態においては、コントローラとして、ＰＩＤコントローラを例示したが、本発明はこのような構成に限定されない。従って、同種の機能を有する他のコントローラであってもよく、又、例えば、Ｐ制御、ＰＩ、ＰＤ制御など、その一部のゲインのみを利用した制御を利用してもよい。
【００７８】  上述の実施形態においては、各時間ステップ毎にフラグの状態を確認して、都度リアルタイムに学習処理を行う構成（オンライン学習）としたが、本発明はこのような構成に限定されない。従って、例えば、ある程度学習対象となるデータが蓄積されるのを待って、バッチ的に学習（バッチ学習、ミニバッチ学習）を行ってもよい。
【００７９】  上述の実施形態においては、フラグがＯＮとなった場合に（Ｓ７２１）、前１ステップに係るデータを学習する構成としたが、本発明はこのような構成に限定されない。従って、例えば、当該１ステップへと至る１又は複数のステップのデータも利用して学習（Ｓ７５）を行ってもよい。このような学習は、特に、学習対象に連続性がある場合に有効となり得る。
【００８０】  上述の実施形態においては、第２の操作量ｕ２（ｔ）が所定の範囲（図１０の「Ｒ」で示される領域）から外れる場合に（Ｓ７１９ＮＯ）、無効化処理（Ｓ７２０）が行われることから、当該領域（Ｒ）から外れる場合にフラグをＯＮとして学習（Ｓ７５）する構成とした。しかしながら、本発明はこのような構成に限定されない。従って、例えば、第２の操作量ｕ２（ｔ）が所定の範囲（Ｒ）内にあるか否かを問わず、第２の操作量ｕ２（ｔ）が０又はその近傍（０±εの範囲）（εは微小な値）となる場合に学習（Ｓ７５）を行ってもよい。なお、このとき、この微小な値εをユーザが任意に設定可能なように構成してもよい。
【００８１】  上述の実施形態においては、木構造モデルを基本とした機械学習モデルを利用したが、本発明はこのような構成に限定されない。従って、例えば、ニューラルネットワークやサポート・ベクター・マシーン等の他の機械学習モデルを利用してもよい。
【産業上の利用可能性】
【００８２】  本発明は、制御装置を利用する種々の産業等にて利用可能である。
【符号の説明】
【００８３】  １    制御部  ２    記憶部  ３    Ｉ／Ｏ部  ４    入力部  ５    表示部  ６    通信部  １０    基本システム  １１    第１のＰＩＤコントローラ  １２    制御機構  １００    制御装置  １２１    操作部  １２２    検出部  １３    データロガー  ３０    拡張システム  ３１    第１のコントローラ  ３２    制御機構  ３３    データロガー  ３４    学習処理部  ３５    予測処理部  ３７    第２のコントローラ  ３８    無効化処理部  ３９    判定部  ２００    フィードバックシステム  ２０１    コントローラ  ２０２    制御機構
【要約】  信頼性の高いフィードバック制御を利用しつつも制御中に得られたデータに基づいて適応的な制御を行うことため、装置からフィードバックされる出力と目標値に基づいて装置に対する第１の操作量を生成する第１のコントローラと、装置からフィードバックされる出力と第１の操作量に基づいて装置からの予測出力を生成するよう機械学習された学習済モデルを備えた予測出力生成部と、予測出力と目標値に基づいて装置に対する第２の操作量を生成する第２のコントローラと、第１の操作量と第２の操作量とに基づいて装置に対する操作量である統合操作量を生成する統合操作量生成部と、第２の操作量が無効化処理される場合に第１の操作量、装置からフィードバックされた出力及び統合操作量に対応する装置からの出力を機械学習用データとして記憶する記憶部とを備える。【図１】
0006813231.tif 000002
【図２】
0006813231.tif 000003
【図３】
0006813231.tif 000004
【図４】
0006813231.tif 000005
【図５】
0006813231.tif 000006
【図６】
0006813231.tif 000007
【図７】
0006813231.tif 000008
【図８】
0006813231.tif 000009
【図９】
0006813231.tif 000010
【図１０】
0006813231.tif 000011
【図１１】
0006813231.tif 000012
【図１２】
0006813231.tif 000013