(57)【特許請求の範囲】
【請求項１】
操作可能な操作パラメータ値と操作不可能な条件パラメータ値とを含む複数のパラメータの値に応じて出力値が変動する制御対象に対して、フィードフォワード制御とフィードバック制御との組み合わせで前記操作パラメータ値を操作する制御装置であって、
前記操作パラメータ値と前記条件パラメータ値との入力に応じて、前記出力値の予測値である予測出力値を算出する前記フィードフォワード制御用の予測モデルを記憶する予測モデル記憶部と、
前記制御対象の現在の出力値である現在出力値を取得する現在出力値取得部と、
前記制御対象の現在の条件パラメータ値を取得する現在条件パラメータ値取得部と、
前記出力値の目標値である目標出力値を記憶する目標出力値記憶部と、
前記予測モデルと前記現在の条件パラメータ値とに基づき予測出力値を取得する予測出力値取得部と、
前記予測モデルと前記条件パラメータ値とに基づき、前記予測出力値が前記目標出力値に対応する値となる場合の操作パラメータ値である、前記フィードフォワード制御用のフィードフォワード目標操作パラメータ値を取得するフィードフォワード目標操作パラメータ値取得部と、
前記現在出力値と前記目標出力値とに基づき、又は、前記現在出力値と前記予測出力値取得部が取得した予測出力値とに基づき、フィードバック制御により、前記現在出力値の前記目標出力値又は前記予測出力値に対する偏差を算出する偏差算出部と、
前記予測出力値に基づき、前記予測出力値を単位量変化させるために必要な前記操作パラメータ値を示す感度を算出する感度算出部と、
前記偏差と前記感度とを乗じて、前記フィードフォワード目標操作パラメータ値のフィードバック補正値を算出するフィードバック補正値算出部と、
前記フィードフォワード目標操作パラメータ値と前記フィードバック補正値とに基づき、補正操作パラメータ値を算出する補正操作パラメータ値算出部と、
前記補正操作パラメータ値を用いて前記制御対象を制御する制御対象制御部と、
を有する制御装置。
【請求項２】
前記制御対象は、複数の操作パラメータを有しており、
前記補正操作パラメータ値は、前記複数の操作パラメータのうち、出力値に対する影響が最も大きいものとして予め選定された操作パラメータに対する入力値である、請求項１に記載の制御装置。
【請求項３】
前記偏差算出部及び前記感度算出部は、前記偏差及び前記感度を、所定の時間毎に更新して算出する、請求項１又は請求項２に記載の制御装置。
【請求項４】
前記フィードフォワード目標操作パラメータ値から所定の変位量の値を変化させた目標操作パラメータ変位値と、前記予測出力値の算出に用いた前記条件パラメータ値とを前記予測モデルに入力して、予測出力変位値を取得する予測出力変位値取得部を更に有し、
前記感度算出部は、前記予測出力値と前記予測出力変位値とに基づき、前記感度を算出する、請求項１から請求項３のいずれか１項に記載の制御装置。
【請求項５】
前記偏差算出部は、前記現在出力値と前記予測出力値との差分、又は前記現在出力値と前記目標出力値との差分を、前記偏差とし、
前記感度算出部は、前記予測出力値と前記予測出力変位値との差分に対する、前記変位量の割合を前記感度とし、
前記フィードバック補正値算出部は、前記偏差と前記感度とを乗じて前記フィードバック補正値を算出する、請求項４に記載の制御装置。
【請求項６】
前記感度算出部は、前記予測出力値を前記フィードフォワード目標操作パラメータ値で微分して、前記感度を算出する、請求項１から請求項３のいずれか１項に記載の制御装置。
【請求項７】
前記偏差算出部は、前記偏差と過去に算出した前記偏差である過去偏差との積算値である補正偏差を算出し、
前記フィードバック補正値算出部は、前記補正偏差と前記感度とに基づき、前記フィードバック補正値を算出する、請求項１から請求項６のいずれか１項に記載の制御装置。
【請求項８】
前記偏差算出部は、前記過去偏差の値を、実際に算出した際の値よりも所定の割合だけ小さくし、前記割合を、算出された時刻が古いものほど大きくする、請求項７に記載の制御装置。
【請求項９】
前記偏差算出部は、直前のタイミングで算出した前記補正偏差に対し重み係数を乗じ、それに対して前記偏差を加えることで、前記補正偏差を算出し、前記重み係数は、０より大きく１より小さい、請求項８に記載の制御装置。
【請求項１０】
前記制御対象は、前記操作パラメータ値の変化のタイミングに対して、出力値の変化が収束するタイミングが遅れる、請求項１から請求項９のいずれか１項に記載の制御装置。
【請求項１１】
操作可能な操作パラメータ値と操作不可能な条件パラメータ値とを含む複数のパラメータの値に応じて出力値が変動する制御対象に対して、フィードフォワード制御とフィードバック制御との組み合わせで前記操作パラメータ値を操作する制御方法であって、
前記制御対象の現在の条件パラメータ値を取得する現在条件パラメータ値取得ステップと、
前記出力値の目標値である目標出力値を取得する目標出力値取得ステップと、
前記操作パラメータ値と前記条件パラメータ値との入力に応じて、前記出力値の予測値である予測出力値を算出する前記フィードフォワード制御用の予測モデルと前記現在の条件パラメータ値とに基づき予測出力値を取得する予測出力値取得ステップと、
前記予測モデルと前記条件パラメータ値とに基づき、前記予測出力値が前記目標出力値に対応する値となる場合の操作パラメータ値である、前記フィードフォワード制御用のフィードフォワード目標操作パラメータ値を取得するフィードフォワード目標操作パラメータ値取得ステップと、
前記制御対象の現在の出力値である現在出力値を取得する現在出力値取得ステップと、
前記現在出力値と前記目標出力値とに基づき、又は、前記現在出力値と前記予測出力値取得ステップで取得した予測出力値とに基づき、フィードバック制御により、前記現在出力値の前記目標出力値又は前記予測出力値に対する偏差を算出する偏差算出ステップと、
前記予測出力値に基づき、前記予測出力値を単位量変化させるために必要な前記操作パラメータ値を示す感度を算出する感度算出ステップと、
前記偏差と前記感度とを乗じて、前記フィードフォワード目標操作パラメータ値のフィードバック補正値を算出するフィードバック補正値算出ステップと、
前記フィードフォワード目標操作パラメータ値と前記フィードバック補正値とに基づき、補正操作パラメータ値を算出する補正操作パラメータ値算出ステップと、
前記補正操作パラメータ値を用いて前記制御対象を制御する制御対象制御ステップと、
を有する制御方法。
【請求項１２】
操作可能な操作パラメータ値と操作不可能な条件パラメータ値とを含む複数のパラメータの値に応じて出力値が変動する制御対象に対して、フィードフォワード制御とフィードバック制御との組み合わせで前記操作パラメータ値を操作する情報処理装置を、
前記操作パラメータ値と前記条件パラメータ値との入力に応じて、前記出力値の予測値である予測出力値を算出する前記フィードフォワード制御用の予測モデルを記憶する予測モデル記憶手段と、
前記制御対象の現在の出力値である現在出力値を取得する現在出力値取得手段と、
前記制御対象の現在の条件パラメータ値を取得する現在条件パラメータ値取得手段と、
前記出力値の目標値である目標出力値を記憶する目標出力値記憶手段と、
前記予測モデルと前記現在の条件パラメータ値とに基づき予測出力値を取得する予測出力値取得手段と、
前記予測モデルと前記条件パラメータ値とに基づき、前記予測出力値が前記目標出力値に対応する値となる場合の操作パラメータ値である、前記フィードフォワード制御用のフィードフォワード目標操作パラメータ値を取得するフィードフォワード目標操作パラメータ値取得手段と、
前記現在出力値と前記目標出力値とに基づき、又は、前記現在出力値と前記予測出力値取得手段が取得した予測出力値とに基づき、フィードバック制御により、前記現在出力値の前記目標出力値又は前記予測出力値に対する偏差を算出する偏差算出手段と、
前記予測出力値に基づき、前記予測出力値を単位量変化させるために必要な前記操作パラメータ値を示す感度を算出する感度算出手段と、
前記偏差と前記感度とを乗じて、前記フィードフォワード目標操作パラメータ値のフィードバック補正値を算出するフィードバック補正値算出手段と、
前記フィードフォワード目標操作パラメータ値と前記フィードバック補正値とに基づき、補正操作パラメータ値を算出する補正操作パラメータ値算出手段と、
前記補正操作パラメータ値を用いて前記制御対象を制御する制御対象制御手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び制御方法に関する。
【背景技術】
【０００２】
制御装置とは、制御対象の出力を適切な値に制御する装置である。制御対象には、この制御装置によって操作可能な操作パラメータと操作不可能な条件パラメータとを含む、複数のパラメータの値に応じて、出力値が変動するものがあり、制御装置からの入力により、適切な出力値が得られる。このような制御対象は、操作パラメータの入力に応じて一義的に出力値が決まるものではないため、これを制御するために、フィードフォワード制御やフィードバック制御などが用いられる。
【０００３】
フィードフォワード制御は、例えば条件パラメータの変化などの外乱の影響を受け難いが、出力値を目標に合わせるのが困難である場合がある。一方、フィードバック制御は、出力値の目標追従性は高いが、入力値の変化が出力値に影響を及ぼすまでの時間が長い場合など、適切な制御が困難となる場合がある。
【０００４】
従って、例えば特許文献１に示すように、フィードフォワード制御とフィードバック制御とを組み合わせて制御を行う技術が用いられる場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３６５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、通常、フィードフォワード制御とフィードバック制御とは別々のモデルで構築されており、両者を上手く組み合わせて、制御精度を向上させるためには改良の余地がある。また、フィードフォワード制御とフィードバック制御とが別々のモデルで構築されている場合、２つのモデルを構築する必要が生じ、モデル構築のための負荷が高くなる。また、２つの異なるモデルを共存させて制御を行うため、ハンチングなどの制御発散のリスクが高くなる。
【０００７】
本発明は、上記に鑑みてなされたものであって、フィードフォワード制御とフィードバック制御とに同一のモデルを用いることで、制御精度を向上させる制御装置及び制御方法を提供することを目的とする。また、本発明は、フィードフォワード制御とフィードバック制御とに同一のモデルを用いることで、モデル構築の負荷を抑制し、かつ制御発散のリスクを抑制することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本開示の制御装置は、操作可能な操作パラメータ値と操作不可能な条件パラメータ値とを含む複数のパラメータの値に応じて出力値が変動する制御対象に対して、フィードフォワード制御とフィードバック制御との組み合わせで前記操作パラメータ値を操作する制御装置であって、前記操作パラメータ値と前記条件パラメータ値との入力に応じて、前記出力値の予測値である予測出力値を算出する前記フィードフォワード制御用の予測モデルを記憶する予測モデル記憶部と、前記制御対象の現在の出力値である現在出力値を取得する現在出力値取得部と、前記制御対象の現在の条件パラメータ値を取得する現在条件パラメータ値取得部と、前記出力値の目標値である目標出力値を記憶する目標出力値記憶部と、前記予測モデルと前記現在の条件パラメータ値とに基づき予測出力値を取得する予測出力値取得部と、前記予測モデルと前記条件パラメータ値とに基づき、前記予測出力値が前記目標出力値に対応する値となる場合の操作パラメータ値である、前記フィードフォワード制御用のフィードフォワード目標操作パラメータ値を取得するフィードフォワード目標操作パラメータ値取得部と、前記現在出力値と前記目標出力値とに基づき、又は、前記現在出力値と前記予測出力値取得部が取得した予測出力値とに基づき、フィードバック制御により、前記現在出力値の前記目標出力値に対する偏差を算出する偏差算出部と、前記予測出力値に基づき、前記予測出力値を単位量変化させるために必要な前記操作パラメータ値を示す感度を算出する感度算出部と、前記偏差と前記感度とに基づき、前記フィードフォワード目標操作パラメータ値のフィードバック補正値を算出するフィードバック補正値算出部と、前記フィードフォワード目標操作パラメータ値と前記フィードバック補正値とに基づき、補正操作パラメータ値を算出する補正操作パラメータ値算出部と、前記補正操作パラメータ値を用いて前記制御対象を制御する制御対象制御部と、を有する。
【０００９】
前記制御装置において、前記制御対象は、複数の操作パラメータを有しており、前記補正操作パラメータ値は、前記複数の操作パラメータのうち、出力値に対する影響が最も大きいものとして予め選定された操作パラメータに対する入力値であることが好ましい。
【００１０】
前記制御装置において、前記偏差算出部及び前記感度算出部は、前記偏差及び前記感度を、所定の時間毎に更新して算出することが好ましい。
【００１１】
前記制御装置は、前記フィードフォワード目標操作パラメータ値から所定の変位量の値を変化させた目標操作パラメータ変位値と、前記予測出力値の算出に用いた前記条件パラメータ値とを前記予測モデルに入力して、予測出力変位値を取得する予測出力変位値取得部を更に有し、前記感度算出部は、前記予測出力値と前記予測出力変位値とに基づき、前記感度を算出することが好ましい。
【００１２】
前記制御装置において、前記偏差算出部は、前記現在出力値と前記予測出力値との差分、又は前記現在出力値と前記目標出力値との差分を、前記偏差とし、前記感度算出部は、前記予測出力値と前記予測出力変位値との差分に対する、前記変位量の割合を前記感度とし、前記フィードバック補正値算出部は、前記偏差と前記感度とを乗じて前記フィードバック補正値を算出することが好ましい。
【００１３】
前記制御装置において、前記感度算出部は、前記予測出力値を前記フィードフォワード目標操作パラメータ値で微分して、前記感度を算出することが好ましい。
【００１４】
前記制御装置において、前記偏差算出部は、前記偏差と過去に算出した前記偏差である過去偏差との積算値である補正偏差を算出し、前記フィードバック補正値算出部は、前記補正偏差と前記感度とに基づき、前記フィードバック補正値を算出することが好ましい。
【００１５】
前記制御装置において、前記偏差算出部は、前記過去偏差の値を、実際に算出した際の値よりも所定の割合だけ小さくし、前記割合を、算出された時刻が古いものほど大きくすることが好ましい。
【００１６】
前記制御装置において、前記偏差算出部は、直前のタイミングで算出した前記補正偏差に対し重み係数を乗じ、それに対して前記偏差を加えることで、前記補正偏差を算出し、前記重み係数は、０より大きく１より小さいことが好ましい。
【００１７】
前記制御装置において、前記制御対象は、前記操作パラメータ値の変化のタイミングに対して、出力値の変化が収束するタイミングが遅れることが好ましい。
【００１８】
上述した課題を解決し、目的を達成するために、本開示の制御方法は、操作可能な操作パラメータ値と操作不可能な条件パラメータ値とを含む複数のパラメータの値に応じて出力値が変動する制御対象に対して、フィードフォワード制御とフィードバック制御との組み合わせで前記操作パラメータ値を操作する制御方法であって、前記制御対象の現在の条件パラメータ値を取得する現在条件パラメータ値取得ステップと、前記出力値の目標値である目標出力値を取得する目標出力値取得ステップと、前記操作パラメータ値と前記条件パラメータ値との入力に応じて、前記出力値の予測値である予測出力値を算出する前記フィードフォワード制御用の予測モデルと前記現在の条件パラメータ値とに基づき予測出力値を取得する予測出力値取得ステップと、前記予測モデルと前記条件パラメータ値とに基づき、前記予測出力値が前記目標出力値に対応する値となる場合の操作パラメータ値である、前記フィードフォワード制御用のフィードフォワード目標操作パラメータ値を取得するフィードフォワード目標操作パラメータ値取得ステップと、前記制御対象の現在の出力値である現在出力値を取得する現在出力値取得ステップと、前記現在出力値と前記目標出力値とに基づき、又は、前記現在出力値と前記予測出力値取得ステップで取得した予測出力値とに基づき、フィードバック制御により、前記現在出力値の前記目標出力値に対する偏差を算出する偏差算出ステップと、前記予測出力値に基づき、前記予測出力値を単位量変化させるために必要な前記操作パラメータ値を示す感度を算出する感度算出ステップと、前記偏差と前記感度とに基づき、前記フィードフォワード目標操作パラメータ値のフィードバック補正値を算出するフィードバック補正値算出ステップと、前記フィードフォワード目標操作パラメータ値と前記フィードバック補正値とに基づき、補正操作パラメータ値を算出する補正操作パラメータ値算出ステップと、前記補正操作パラメータ値を用いて前記制御対象を制御する制御対象制御ステップと、を有する。
【発明の効果】
【００１９】
本発明によれば、フィードフォワード制御とフィードバック制御とに同一のモデルを用いることで、制御精度を向上させることができる。また、本発明によれば、フィードフォワード制御とフィードバック制御とに同一のモデルを用いることで、モデルの構築負荷を抑制し、制御発散のリスクを抑制することができる。また、本発明によれば、フィードバック制御にフィードフォワード制御のモデルを用いることで、フィードフォワード制御の予測誤差に対してのみフィードバック制御を行うことができ、フィードフォワード制御及びフィードバック制御を同時に行うことが可能となる。その結果、フィードフォワード制御、フィードバック制御のいずれかのモデルで制御する為に、モデルを選択して切り替える必要が無い。
【図面の簡単な説明】
【００２０】
【図１】図１は、第１実施形態に係る制御システムの構成を模式的に示すブロック図である。
【図２Ａ】図２Ａは、制御対象が実行する処理の一例を説明するグラフである。
【図２Ｂ】図２Ｂは、予測モデルを説明するための説明図である。
【図２Ｃ】図２Ｃは、予測モデルを説明するための説明図である。
【図３】図３は、第１実施形態における制御対象の制御フローを説明するフローチャートである。
【図４】図４は、重み項を示すグラフである。
【図５】図５は、第３実施形態に係る制御システムの構成を模式的に示すブロック図である。
【図６】図６は、第４実施形態に係る制御システムの構成を模式的に示すブロック図である。
【図７】図７は、第５実施形態に係る制御システムの構成を模式的に示すブロック図である。
【発明を実施するための形態】
【００２１】
以下に、本発明の好適な実施形態を図面に基づいて詳細に説明する。なお、以下に説明する実施形態により本発明が限定されるものではない。
【００２２】
（第１実施形態）
図１は、第１実施形態に係る制御システムの構成を模式的に示すブロック図である。図１に示すように、第１実施形態に係る制御システム１は、制御対象１００を制御するシステムである。制御対象１００は、操作パラメータと条件パラメータとを含む複数のパラメータに対する値が入力されると、所定の処理を実行する。その結果、制御対象１００は、操作パラメータと条件パラメータとの値に応じて出力値が変化する。操作パラメータは、制御対象１００が実行する処理に対するパラメータ（変数）であり、制御システム１によって操作可能なパラメータである。条件パラメータとは、制御対象１００が実行する処理に対するパラメータであり、制御システム１によって操作不可能なパラメータである。すなわち、条件パラメータとは、制御システム１の制御に関わらず決定してしまうものである。ただし、条件パラメータは、操作パラメータの値に応じて変化する場合もある。制御対象１００は、この操作パラメータの入力値である操作パラメータ値Ａと、条件パラメータの入力値である条件パラメータ値Ｂとが入力され、それらの値に応じて出力値Ｃを出力するものである。なお、操作パラメータは、単数であっても複数種類であってもよく、条件パラメータも、単数であっても複数種類であってもよい。また、出力値のパラメータも、複数種類であってもよい。
【００２３】
図２Ａは、制御対象が実行する処理の一例を説明するグラフである。図２Ａは、操作パラメータ値Ａをステップ的に変化させた場合の出力値Ｃの時間的な変化の一例を示している。図２Ａの線分Ｌ１は、操作パラメータ値Ａの時間毎の変化を示している。線分Ｌ２は、出力値Ｃの時間毎の変化を表している。線分Ｌ１に示すように、時刻ｔ１において、一つの操作パラメータに対する操作パラメータ値ＡをＡ０からＡ１に変化させた場合を説明する。ここでは、この変化させた操作パラメータ以外の操作パラメータ及び条件パラメータについては、一定であるものとする。この場合、線分Ｌ２に示すように、出力値Ｃは、時刻ｔ１より遅れた時刻ｔ２において、値がＣ０から変化をはじめ、時刻ｔ２から遅れた時刻ｔ３において、値をＣ１に収束させ、変化を終了する。すなわち、図２Ａの例では、制御対象１００は、出力値Ｃが、操作パラメータ値Ａの変化に対して遅れて反応する。
【００２４】
制御対象１００は、操作パラメータ値Ａを変化させたタイミング（図２Ａでは時刻ｔ１）から、その操作パラメータ値Ａの変化に対応した出力値Ｃの変化が収束したタイミング（図２Ａでは時刻ｔ３）までの時間は、０．１秒以上２４時間以下であり、例えば１０分以上６時間以下であることが好ましい。また、すなわち、制御対象１００は、操作パラメータ値Ａの変化に対し即座に出力値Ｃの変化が完了するコンピュータなどの電気的な処理を行うものではなく、出力値Ｃの変化の収束が遅れる、自然現象に基づいた処理を行うものである。なお、図２Ａは、一次遅れモデルを例に挙げたが、制御対象１００は、出力値Ｃが操作パラメータ値Ａの変化に対して遅れて反応するものであれば、一次遅れモデルでなくてもよい。
【００２５】
次に、制御システム１について詳細に説明する。図１に示すように、制御システム１は、検出部１０と、操作部１２と、制御装置としての制御部２０とを有する。検出部１０は、例えばセンサなどであり、制御対象１００に与えられた操作パラメータ値Ａ及び条件パラメータ値Ｂと、制御対象１００の出力値Ｃとを取得する。操作部１２は、制御部２０の制御により、制御対象１００の操作パラメータを操作する。すなわち、操作部１２は、制御部２０の指令により、操作パラメータ値Ａを変化させる。
【００２６】
制御部２０は、フィードフォワード（ＦＦ）制御用の予測モデルと、制御対象１００の現在の出力値とを用いて、フィードフォワード制御とフィードバック（ＦＢ）制御との組み合わせで、操作パラメータ値Ａを決定する。図１に示すように、制御部２０は、目標出力値記憶部２１と、予測モデル記憶部２２と、現在条件パラメータ値取得部２３と、現在出力値取得部２４と、ＦＦ制御部２６と、ＦＢ制御部２７と、補正操作パラメータ値算出部２８と、制御対象制御部２９とを有する。
【００２７】
予測モデル記憶部２２は、制御対象１００の予測モデルを記憶する。予測モデルは、操作パラメータ値Ａと条件パラメータ値Ｂとの入力に応じて、制御対象１００の出力値Ｃの予測値である予測出力値Ｄを出力する計算モデルである。予測モデルは、制御対象１００を実際に制御した場合の制御結果などに基づき予め構築されたものであるため、フィードフォワード制御のために構築されたモデルということができる。また、予測モデルは、後述するように、フィードバック制御にも用いられる。予測モデル記憶部２２は、その予め構築された予測モデルを記憶している。
【００２８】
図２Ｂ及び図２Ｃは、予測モデルを説明するための説明図である。図２Ｂは、線分Ｌ３に示すように、操作パラメータ値Ａの変化に応じた予測出力値Ｄの変化を示すグラフである。図２Ｂにおける予測出力値Ｄは、操作パラメータ値Ａの変化に対応した出力値の変化が収束した最終的な値である。線分Ｌ３に示すように、予測モデルにおける予測出力値Ｄは、操作パラメータ値Ａの変化に応じて変化する。ただし、線分Ｌ３は、一例である。
【００２９】
以下の説明において、出力値Ｃ及び予測出力値Ｄは、操作パラメータ値Ａの変化に対応した出力値の変化が収束した最終的な値のことを指す。
【００３０】
予測モデルは、図２Ｃに示すように、ニューラルネットワークモデルである。図２Ｃに示すように、予測モデルは、３個のニューロンＸａ、Ｘｂ、Ｘｃを有する入力層、３個のニューロンＹａ、Ｙｂ、Ｙｃを有する中間層、及び１個のニューロンＺを有する出力層からなる階層構造になっており、ニューラルネットワークの学習アルゴリズムとして誤差逆伝播法を採用している。図２Ｃの例では、操作パラメータ値Ａａ、Ａｂ及び条件パラメータ値Ｂａが、入力データとしてそれぞれニューロンＸａ、Ｘｂ、Ｘｃに投入される。図２Ｃの例では、ニューロンＺからの出力値が、出力データとしての予測出力値Ｄに対応する。ただし、図２Ｃの記載は一例であり、ニューロンの数はこれに限定されるわけではない。また、予測モデルは、ニューラルネットワークモデルに限られず任意の計算モデルであってよく、例えば重回帰式などで構築されたモデルであってもよい。
【００３１】
図１に示す目標出力値記憶部２１は、目標出力値を記憶する。目標出力値は、制御対象１００が処理を行った結果である出力値Ｃを、どの値にしたいかという判断に基づき、例えば操作者などにより予め定められた値である。
【００３２】
図１に示す現在条件パラメータ値取得部２３は、検出部１０から、制御対象１００の現在の条件パラメータ値Ｂを取得する。図１に示す現在出力値取得部２４は、検出部１０から、現在出力値を取得する。現在出力値とは、制御対象１００の現在の出力値Ｃであり、検出部１０が検出したデータである。
【００３３】
図１に示すＦＦ制御部２６は、予測モデルを用いてフィードフォワード制御を行う。より詳しくは、ＦＦ制御部２６は、予測モデル記憶部２２から予測モデルを読み出し、フィードフォワード目標操作パラメータ値Ａ０（以下、ＦＦ目標操作パラメータ値Ａ０）を取得する。ＦＦ目標操作パラメータ値Ａ０とは、予測出力値Ｄを目標出力対応値とした場合の、操作パラメータ値Ａである。目標出力対応値とは、出力値Ｃの目標値である目標出力値に対応する値である。
【００３４】
具体的には、図１に示すように、ＦＦ制御部２６は、予測計算部３２とＦＦ目標操作パラメータ値取得部３４とを有する。予測計算部３２は、予測モデル記憶部２２から予測モデルを読み出し、条件を変えて複数回計算を実行する。より詳しくは、予測計算部３２は、現在条件パラメータ値取得部２３から、現在の操作パラメータ値Ａと、現在の条件パラメータ値Ｂとを取得して、それらを入力データとして予測モデルに入力する。そして、予測計算部３２は、操作パラメータ値Ａの値を変更しながら、予測モデルに複数回計算を実行させ、計算毎の予測出力値Ｄを算出する。すなわち、予測計算部３２は、操作パラメータ値Ａごとに予測出力値Ｄを算出する。
【００３５】
ＦＦ目標操作パラメータ値取得部３４は、予測計算部３２の計算結果に基づき、ＦＦ目標操作パラメータ値Ａ０を取得（選択）する。具体的には、ＦＦ目標操作パラメータ値取得部３４は、予測計算部３２が算出した予測出力値Ｄが、目標出力対応値となる場合の操作パラメータ値Ａを、ＦＦ目標操作パラメータ値Ａ０として取得する。ＦＦ目標操作パラメータ値取得部３４は、予測計算部３２の計算毎の予測出力値Ｄ中で、目標出力値記憶部２１が記憶する目標出力値に最も近い予測出力値Ｄを目標出力対応値として、その場合の操作パラメータ値Ａを、ＦＦ目標操作パラメータ値Ａ０として取得する。ＦＦ目標操作パラメータ値取得部３４は、例えば、ＦＦ制御部２６の図示しない記憶部に予め記憶した評価関数等の算出式に基づき、出力値Ｃや操作パラメータ値Ａに重みを付けて評価するなどして、目標出力値に対応した操作パラメータ値Ａを抽出して、予測計算部３２によって算出された予測出力値Ｄと出力補助パラメータとが、最適な組み合わせとなる場合における予測出力値Ｄを、目標出力対応値としてもよい。
【００３６】
図１に示すＦＢ制御部２７は、現在出力値と予測モデルとを用いてフィードバック制御を行う。ＦＢ制御部２７は、操作パラメータが複数種類ある場合、すなわち、複数のパラメータが操作パラメータ値Ａとして操作可能である場合、複数種類の操作パラメータのうち、操作パラメータ値Ａの変化によって予測出力値Ｄが最も大きく変化するものである対象操作パラメータを選択する。この場合、ＦＢ制御部２７は、ＦＦ目標操作パラメータ値Ａ０（組み合わせ値）における、選択した対象操作パラメータのＦＦ目標操作パラメータ値Ａ０を取得する。なお、どれが対象操作パラメータであるかは、制御部２０によって予め算出されている。対象操作パラメータは、言い換えれば、操作パラメータのうちで、制御部２０が制御する対象となる操作パラメータである。ＦＢ制御部２７は、予測出力値取得部３６と、予測出力変位値取得部３８と、偏差算出部４０と、感度算出部４２と、ＦＢ補正値算出部４４とを有する。
【００３７】
図１に示す予測出力値取得部３６は、予測出力値Ｄ０（目標予測出力値）を取得する。予測出力値取得部３６は、予測モデルと現在の条件パラメータ値Ｂとに基づき、予測出力値Ｄ０（目標予測出力値）を取得する。例えば、予測出力値取得部３６は、ＦＦ目標操作パラメータ値取得部３４からＦＦ目標操作パラメータ値Ａ０を取得し、現在条件パラメータ値取得部２３から現在の条件パラメータ値Ｂを取得して、これらを予測モデルに入力して、予測出力値Ｄ０を取得する。このように、予測出力値取得部３６は、ＦＦ目標操作パラメータ値Ａ０を予測モデルに入力して、予測出力値Ｄ０を算出してもよい。ただし、予測出力値取得部３６は、再度予測モデルで計算を行うことなく、ＦＦ目標操作パラメータ値取得部３４が選択した目標出力対応値である場合の予測出力値Ｄを、予測出力値Ｄ０として取得してもよい。
【００３８】
図１に示す予測出力変位値取得部３８は、目標操作パラメータ変位値Ａ１と条件パラメータ値Ｂとを予測モデルに入力して、予測出力変位値Ｄ１を取得する。予測出力変位値取得部３８は、入力する条件パラメータ値として、予測出力値取得部３６が用いた条件パラメータ値Ｂを用いる。予測出力変位値取得部３８は、操作パラメータに対する入力値を、目標操作パラメータ変位値Ａ１にする。操作パラメータが複数ある場合、対象操作パラメータに対する入力値を、目標操作パラメータ変位値Ａ１にする。目標操作パラメータ変位値Ａ１は、ＦＦ目標操作パラメータ値Ａ０から所定の変位量を変化させたものである。変位量は、任意の値である。ただし、変位量は、予測モデルに基づき予め定められた値であり、その変位量だけ操作パラメータ値を変化させた場合に、明確に予測出力値Ｄの差が生じる量であることが好ましい。
【００３９】
具体的には、予測出力変位値取得部３８は、目標操作パラメータ変位値Ａ１と、予測出力値取得部３６が使用した条件パラメータ値Ｂを入力データとして予測モデルに入力し、予測出力変位値Ｄ１を取得する。操作パラメータが複数の場合、予測出力変位値取得部３８は、対象操作パラメータの目標操作パラメータ変位値Ａ１、及び対象操作パラメータ以外の操作パラメータの目標操作パラメータ値と、予測出力値取得部３６が使用した条件パラメータ値Ｂを入力データとして予測モデルに入力し、予測出力変位値Ｄ１を取得する。
【００４０】
図１に示す偏差算出部４０は、現在出力値及び予測出力値Ｄ０に基づき、現在出力値の目標出力値に対する偏差を算出する。予測出力値Ｄ０は、目標出力値に対応する値であり、予測モデルを用いて算出された値である。従って、偏差算出部４０は、現在出力値及び予測出力値Ｄ０に基づき、現在出力値の目標出力値に対する偏差を算出することができる。具体的には、現在出力値をＣ０とし、偏差をΔＣとすると、偏差算出部４０は、次の式（１）を用いて偏差ΔＣを算出する。
【００４１】
ΔＣ＝Ｄ０−Ｃ０  ・・・（１）
【００４２】
式（１）に示すように、偏差算出部４０は、現在出力値Ｃ０と予測出力値Ｄ０との差分を、偏差ΔＣとする。
【００４３】
なお、現在出力値Ｃ０は、現時点における出力値である。一方、予測出力値Ｄは、操作パラメータ値Ａの変化に対して、収束が遅れるものである。従って、予測出力値Ｄ０は、予測モデル上で、現時点よりモデル上での仮想時間が遅れたいわば未来の予測値であるということができる。言い換えれば、予測出力値Ｄ０は、予測モデル上において、ＦＦ目標操作パラメータ値Ａ０を入力してから所定の時間が経過して値が収束した後の出力値の予測結果である。制御対象１００は、操作パラメータ値Ａの変化に対して出力値Ｃの収束が遅れるものであるため、このように偏差ΔＣの算出で、現在の現在出力値Ｃ０と、収束後の予測出力値Ｄ０を用いることで、適切に制御を行うことができる。
【００４４】
また、偏差算出部４０は、予測出力値Ｄ０の代わりに、目標出力値を用いて、偏差ΔＣを算出してもよい。すなわち、偏差算出部４０は、現在出力値Ｃ０と目標出力値との差分を、偏差ΔＣとしてもよい。この場合の偏差ΔＣも、現在出力値の目標出力値に対する偏差ということができる。
【００４５】
偏差ΔＣは、現在出力値Ｃ０に基づき、目標出力値にするためにどれだけ出力値を変化させることが必要であるかを示す値であるということができる。このように、偏差ΔＣは、現在出力値Ｃ０を用いたものであるため、偏差ΔＣを用いた制御は、フィードバック制御を用いたものである。
【００４６】
図１に示す感度算出部４２は、予測出力値Ｄ０と予測出力変位値Ｄ１とに基づき、感度を算出する。感度は、予測モデル上での予測出力値Ｄを単位量変化させるために必要な、操作パラメータの変化量を示す値である。感度をＰとし、目標操作パラメータ値Ａ０と目標操作パラメータ変位値Ａ１の差分である変位量をＱとしたとき、感度算出部４２は、次の式（２）を用いて感度Ｐを算出する。
【００４７】
Ｐ＝Ｑ／（Ｄ０−Ｄ１）  ・・・（２）
【００４８】
式（２）に示すように、感度算出部４２は、予測出力値Ｄ０と予測出力変位値Ｄ１との差分に対する、変位量Ｑの割合を、感度Ｐとする。
【００４９】
ただし、感度算出部４２は、予測出力値Ｄ０に基づき、予測モデル上での予測出力値Ｄを単位量変化させるために必要な操作パラメータの変化量、すなわち感度Ｐを算出するものであれば、予測出力値Ｄ０と予測出力変位値Ｄ１とに基づき感度Ｐを算出しなくてもよい。例えば、感度Ｐは、単位量における変化値を表すものなので、感度算出部４２は、予測モデルを微分して、感度Ｐを算出してもよい。例えば、感度算出部４２は、ＦＦ目標操作パラメータ値Ａ０が入力されて予測出力値Ｄ０が出力された予測モデルについて、予測出力値Ｄ０をＦＦ目標操作パラメータ値Ａ０（操作パラメータが複数の場合、対象操作パラメータ）で微分して、感度Ｐを算出してもよい。また、感度算出部４２は、予測計算部３２の複数の算出結果に基づき、操作パラメータ（操作パラメータが複数の場合、対象操作パラメータ）の変化量と予測出力値Ｄの変化量との関係を算出し、その算出結果に基づき、感度Ｐを算出してもよい。なお、感度算出部４２は、ＦＦ目標操作パラメータ値Ａ０に近い値における感度Ｐを算出することが好ましい。
【００５０】
図１に示すＦＢ補正値算出部４４(フィードバック補正値算出部)は、偏差ΔＣと感度Ｐとに基づき、操作パラメータ値Ａのフィードバック補正値（ＦＦ補正値）を算出する。ＦＢ補正値をＲとしたとき、ＦＢ補正値算出部４４は、次の式（３）を用いてＦＢ補正値Ｒを算出する。
【００５１】
Ｒ＝ｒ・ΔＣ・Ｐ  ・・・（３）
【００５２】
ここで、ｒは、予め定められた所定の係数である。式（３）に示すように、ＦＢ補正値算出部４４は、偏差ΔＣと感度Ｐとを乗じて、ＦＢ補正値Ｒを算出する。なお、ＦＢ補正値算出部４４は、ＦＢ補正値Ｒの算出に当たり、必ずしも係数ｒを乗じなくてもよい。
【００５３】
ここで、偏差ΔＣは、現在出力値の目標出力値に対する偏差である。そして、感度Ｐは、予測出力値Ｄを単位量変化させるために必要な操作パラメータの値である。すなわち、ＦＢ補正値算出部４４は、どれだけ出力値を変化させることが必要であるかを示す偏差ΔＣに対し、単位量の出力値を変化させる場合に必要な操作パラメータ値の変化量である感度Ｐを乗じて、ＦＢ補正値Ｒを算出している。このように算出されるＦＢ補正値Ｒは、現在出力値を目標出力値に補正するために必要な操作パラメータ値の変化量であるということができる。
【００５４】
図１に示す補正操作パラメータ値算出部２８は、ＦＦ目標操作パラメータ値Ａ０とＦＢ補正値Ｒとに基づき、補正操作パラメータ値を算出する。操作パラメータが複数の場合、補正操作パラメータ値は、複数の操作パラメータのうち、対象操作パラメータに対する入力値である。ＦＦ目標操作パラメータ値は、予測モデルに基づいた、予測出力値Ｄを目標出力対応値とするための値であり、フィードフォワード制御に基づいて算出された入力値であるということができる。一方、ＦＢ補正値Ｒは、検出した現在出力値に基づき、現在出力値を目標出力値に補正するよう算出された値である。さらに言えば、感度Ｐがフィードフォワード制御用の予測モデルに基づいた値であるため、ＦＢ補正値Ｒは、当該フィードフォワード制御用の予測モデルを用いてフィードバック制御を行った場合の補正値であるということができる。このように、補正操作パラメータ値算出部２８は、フィードフォワード制御用の予測モデルを用いたフィードフォワード制御によって算出されたＦＦ目標操作パラメータ値と、当該フィードフォワード制御用の予測モデルを用いたフィードバック制御によって算出されたＦＢ補正値Ｒとに基づき、補正操作パラメータ値を算出する。
【００５５】
具体的には、補正操作パラメータ値をＡＭとしたとき、補正操作パラメータ値算出部２８は、次の式（４）に示すように、ＦＦ目標操作パラメータ値Ａ０にフィードバック補正値Ｒを加えて、補正操作パラメータ値ＡＭを算出する。
【００５６】
ＡＭ＝Ａ０＋Ｒ  ・・・（４）
【００５７】
図１に示す制御対象制御部２９は、補正操作パラメータ値算出部２８が算出した補正操作パラメータ値ＡＭの値を用いて、制御対象を制御する。具体的には、制御対象制御部２９は、補正操作パラメータ値ＡＭの値を操作部１２に出力して、操作部１２に対し、操作パラメータ値を、補正操作パラメータ値ＡＭとするよう指令を出す。操作部１２は、この指令に従い、操作パラメータの入力値を、補正操作パラメータ値ＡＭとする。操作パラメータを複数有する場合、制御対象制御部２９は、補正操作パラメータ値算出部２８が算出した対象操作パラメータ補正操作パラメータ値ＡＭ、及びＦＢ補正を行われなかった、対象操作パラメータ以外の操作パラメータの目標操作パラメータ値を用いて、制御対象を制御する。制御部２０は、以上説明した補正操作パラメータ値ＡＭの算出を、所定の時間毎に繰り返し、操作部１２は、その算出結果に応じて、操作パラメータの入力値を変化させる。
【００５８】
次に、制御部２０による制御対象１００の制御フローを、フローチャートを用いて説明する。図３は、第１実施形態における制御対象の制御フローを説明するフローチャートである。図３に示すように、制御部２０は、最初に、現在条件パラメータ値取得部２３により現在の条件パラメータ値Ｂを取得し（ステップＳ１０）、目標出力値を取得する（ステップＳ１１）。そして、制御部２０は、ＦＦ目標操作パラメータ値取得部３４により、ＦＦ目標操作パラメータ値Ａ０を取得する(ステップＳ１２)。ＦＦ目標操作パラメータ値取得部３４は、予測計算部３２による予測モデルを用いた計算結果に基づき、予測出力値Ｄが目標出力対応値となる場合における、操作パラメータの入力値を、ＦＦ目標操作パラメータ値Ａ０として取得する。
【００５９】
ＦＦ目標操作パラメータ値Ａ０を取得した後、制御部２０は、予測出力値取得部３６により予測出力値Ｄ０を取得し、予測出力変位値取得部３８により予測出力変位値Ｄ１を取得する（ステップＳ１４）。予測出力値Ｄ０は、ＦＦ目標操作パラメータ値Ａ０を入力データとして、予測モデルによって算出された予測出力値Ｄである。予測出力変位値Ｄ１は、目標操作パラメータ変位値Ａ１を入力データとして、予測モデルによって算出された予測出力値Ｄである。目標操作パラメータ変位値Ａ１は、ＦＦ目標操作パラメータ値Ａ０から所定の変位量の値を変化させたものである。
【００６０】
予測出力値Ｄ０を取得した後、制御部２０は、現在出力値取得部２４により、検出部１０から現在出力値Ｃ０を取得し（ステップＳ１５）、偏差算出部４０により、現在出力値Ｃ０及び予測出力値Ｄ０に基づき、偏差ΔＣを算出する（ステップＳ１６）。偏差算出部４０は、上述の式（１）により、現在出力値の目標出力値に対する偏差である偏差ΔＣを算出する。
【００６１】
予測出力変位値Ｄ１を算出した後、制御部２０は、感度算出部４２により、予測出力値Ｄ０と予測出力変位値Ｄ１とに基づき、感度Ｐを算出する(ステップＳ１８)。感度算出部４２は、上述の式（２）により、感度Ｐを算出する。感度Ｐは、予測モデル上での予測出力値Ｄを単位量変化させるために必要な、操作パラメータの変化量を示す値である。
【００６２】
偏差ΔＣ及び感度Ｐを算出した後、制御部２０は、ＦＢ補正値算出部４４により、偏差ΔＣ及び感度Ｐに基づき、ＦＢ補正値Ｒを算出する（ステップＳ２０）。ＦＢ補正値算出部４４は、上述の式（３）により、現在出力値を目標出力値に補正するために必要な操作パラメータ値であるＦＢ補正値Ｒを算出する。
【００６３】
ＦＢ補正値Ｒを算出した後、制御部２０は、補正操作パラメータ値算出部２８により、ＦＦ目標操作パラメータ値Ａ０とＦＢ補正値Ｒとに基づき、補正操作パラメータ値ＡＭを算出し（ステップＳ２２）、制御対象制御部２９により、補正操作パラメータ値ＡＭの値を用いて、制御対象１００を制御する（ステップＳ２４）。補正操作パラメータ値算出部２８は、上述の式（４）により、補正操作パラメータ値ＡＭを算出する。ステップＳ２４の後はステップＳ２６に移動し、処理を終了しない場合（ステップＳ２６：Ｎｏ）、所定の時間経過後に、ステップＳ１０に戻り、その時点での現在出力値を取得し、その後の処理を繰り返す。すなわち、制御部２０は、ＦＦ目標操作パラメータ値Ａ０、条件パラメータ値Ｂ、予測出力値Ｄ０、予測出力変位値Ｄ１、偏差ΔＣ、感度Ｐ、ＦＢ補正値Ｒ、及び補正操作パラメータ値ＡＭを、その時点での最新の検出部１０の検出結果に基づき、所定の時間毎に更新して算出する。特に、偏差ΔＣ及び感度Ｐをその都度算出することで、適切にＦＢ補正値Ｒを算出することが可能となるため、制御精度を上げることができる。
【００６４】
ステップＳ２６において処理を終了する場合（ステップＳ２６：Ｙｅｓ）は、本処理を終了する。
【００６５】
以上説明したように、第１実施形態に係る制御装置、ここでは制御部２０は、複数のパラメータの値に応じて出力値Ｃが変動する制御対象１００に対して、フィードフォワード制御とフィードバック制御との組み合わせで操作パラメータ値Ａを操作する制御装置である。複数のパラメータとは、制御部２０によって操作可能な操作パラメータと、制御部２０によって操作不可能な条件パラメータとを含む。制御部２０は、予測モデル記憶部２２と、現在条件パラメータ値取得部２３と、現在出力値取得部２４と、ＦＦ目標操作パラメータ値取得部３４と、偏差算出部４０と、感度算出部４２と、ＦＢ補正値算出部４４と、補正操作パラメータ値算出部４６と、制御対象制御部４８とを有する。また、制御部２０は、目標出力値記憶部２１、及び予測出力値取得部３６を有する。
【００６６】
予測モデル記憶部２２は、操作パラメータ値Ａと条件パラメータ値Ｂとの入力に応じて、出力値Ｃの予測値である予測出力値Ｄを算出する予測モデルを記憶する。現在出力値取得部２４は、制御対象１００の現在の出力値Ｃである現在出力値Ｃ０を取得する。目標出力値記憶部２１は、目標出力値Ｃ０を記憶する。予測出力値取得部３６は、予測モデルと現在の条件パラメータ値Ｂとに基づき、予測出力値Ｄ０を取得する。ＦＦ目標操作パラメータ値取得部３４は、予測モデルと条件パラメータ値Ｂとに基づき、フィードフォワード制御により、予測出力値Ｄが目標出力値に対応する値（目標出力対応値）となる場合のＦＦ目標操作パラメータ値Ａ０を取得する。偏差算出部４０は、現在出力値Ｃ０及び予測出力値Ｄ０に基づき、又は現在出力値Ｃ０及び目標出力値に基づき、フィードバック制御により、現在出力値Ｃ０の目標出力値に対する偏差ΔＣを算出する。感度算出部４２は、予測出力値Ｄ０に基づき、予測出力値Ｄを単位量変化させるために必要な操作パラメータ値Ａの変化量を示す感度Ｐを算出する。ＦＢ補正値算出部４４は、偏差ΔＣと感度Ｐとに基づき、ＦＦ目標操作パラメータ値Ａ０のＦＢ補正値Ｒを算出する。補正操作パラメータ値算出部４６は、ＦＦ目標操作パラメータ値Ａ０とＦＢ補正値Ｒとに基づき、補正操作パラメータ値ＡＭを算出する。制御対象制御部４８は、補正操作パラメータ値ＡＭで制御対象１００を制御する。
【００６７】
ＦＦ目標操作パラメータ値Ａ０は、予測モデルに基づいた、予測出力値Ｄを目標出力値に近づけるための値であり、フィードフォワード制御に基づいて算出された値である。一方、ＦＢ補正値Ｒは、現在出力値の偏差ΔＣと、予測モデルに基づいた感度Ｐとに基づいて算出された補正値である。すなわち、ＦＢ補正値Ｒは、フィードバック制御にフィードフォワード用の予測モデルを用いた値である。従って、これらのＦＦ目標操作パラメータ値Ａ０及びＦＢ補正値Ｒに基づいて算出された補正操作パラメータ値ＡＭは、フィードフォワード制御にフィードバック制御を組み合わせて算出された値である。制御部２０は、この補正操作パラメータ値ＡＭで制御対象１００を制御するため、フィードフォワード制御とフィードバック制御とを組み合わせて、制御精度を適切に向上することができる。また、制御部２０は、フィードバック制御とフィードフォワード制御とで、共通する予測モデルを用いているため、互いに別々のモデルを構築する必要がなくなり、モデル構築の負荷を抑制する。また、制御部２０は、同一モデルを用いることにより、ハンチングなどの制御発散を抑制することができる。また、制御部２０は、フィードバック制御にフィードフォワード制御のモデルを用いることで、フィードフォワード制御の予測誤差に対してのみフィードバック制御を行うことができ、フィードフォワード制御及びフィードバック制御を同時に行うことが可能となる。その結果、制御部２０は、フィードフォワード制御、フィードバック制御のいずれかのモデルで制御する為に、モデルを選択して切り替える必要がなくなる。
【００６８】
また、制御対象１００は、複数の操作パラメータを有しており、補正操作パラメータ値ＡＭは、複数の操作パラメータのうち、出力値Ｃに対する影響が最も大きいものとして予め選定された操作パラメータ、すなわち対象操作パラメータに対する値である。この制御部２０は、出力値Ｃに対する影響が最も大きい操作パラメータを制御するため、制御結果を安定にすることができる。なお、制御対象１００は、制御部２０が制御する対象となる対象操作パラメータとして、出力値Ｃに対する影響が最も大きいものを選択しなくてもよい。例えば、制御部２０は、操作が容易なものを対象操作パラメータとして選択してもよい。対象操作パラメータは、例えば操作者の設定などによって予め選択されているものであれば、その選択方法は任意である。また、制御部２０は、対象パラメータを複数として、複数の操作パラメータを制御してもよい。
【００６９】
また、偏差算出部４０及び感度算出部４２は、偏差ΔＣ及び感度Ｐを、所定の時間毎に更新して算出する。この制御部２０は、偏差ΔＣ及び感度Ｐを更新して算出するため、ＦＢ補正値Ｒの算出精度が向上し、制御精度をより適切に向上することができる。
【００７０】
また、制御部２０は、予測出力変位値取得部３８を更に有する。予測出力変位値取得部３８は、ＦＦ目標操作パラメータ値Ａ０から所定の変位量の値を変化させた目標操作パラメータ変位値Ａ１と、予測出力値Ｄ０の算出に用いた条件パラメータ値Ｂとを予測モデルに入力して、目標予測出力変位値Ｄ１を取得する。感度算出部４２は、予測出力値Ｄ０と目標予測出力変位値Ｄ１とに基づき、感度Ｐを算出する。この制御部２０は、ＦＦ目標操作パラメータ値Ａ０に対応するパラメータだけを変化させて目標予測出力変位値Ｄ１を算出する。そして、制御部２０は、標出力予測値Ｄ０と目標予測出力変位値Ｄ１とに基づき、感度Ｐを算出する。従って、制御部２０は、精度よく感度Ｐを算出することが可能となり、制御精度をより適切に向上することができる。
【００７１】
また、偏差算出部４０は、現在出力値Ｃ０と予測出力値Ｄ０との差分、又は現在出力値Ｃ０と目標出力値との差分を、偏差ΔＣとする。感度算出部４２は、予測出力値Ｄ０と目標予測出力変位値Ｄ１との差分に対する、変位量の割合を感度Ｐとする。フィードバック補正値算出部４４は、偏差ΔＣと感度Ｐとを乗じてＦＢ補正値Ｒを算出する。制御部２０は、このようにしてＦＢ補正値Ｒを算出することにより、制御精度を適切に向上することができる。
【００７２】
また、制御対象１００は、操作パラメータ値Ａの変化のタイミングに対して、出力値Ｃの変化が収束するタイミングが遅れる。制御部２０は、フィードフォワード制御とフィードバック制御とを組み合わせて制御することで、特にこのような制御対象１００に対する制御精度を適切に向上することができる。
【００７３】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態に係る制御部２０は、現在の偏差と過去の偏差とに基づき補正偏差を算出する点で、第１実施形態と異なる。第２実施形態において、第１実施形態と構成が共通する箇所は、説明を省略する。
【００７４】
第２実施形態に係る偏差算出部４０は、第１実施形態と同様の方法で、現在の偏差ΔＣを算出する。さらに、第２実施形態に係る偏差算出部４０は、過去に算出した偏差ΔＣである過去偏差を記憶しておき、現在の偏差ΔＣと過去偏差との積算値である補正偏差を算出する。そして、第２実施形態に係るＦＢ補正値算出部４４は、偏差ΔＣの代わりに補正偏差を用いてＦＢ補正値Ｒを算出する。つまり、ＦＢ補正値算出部４４は、補正偏差と感度Ｐとに基づき、ＦＢ補正値Ｒを算出する。
【００７５】
さらに、偏差算出部４０は、過去偏差の値を、実際にその過去偏差を偏差ΔＣとして算出した際の値よりも所定の割合だけ小さくして、その小さくした過去偏差と現在の偏差ΔＣとを積算して補正偏差を算出する。偏差算出部４０は、その小さくする割合を、偏差を算出した時刻が古いものほど大きくする。
【００７６】
具体的には、偏差算出部４０は、偏差を算出した時刻が古くなるに従って値が減衰する重み項Ｓ（ｔ）を過去偏差に乗じて、過去偏差の値を小さくする。ただし、重み項Ｓ（ｔ）は、０より大きく１以下の範囲内で、偏差を算出した時刻が古くなるに従って値が減衰する。偏差算出部４０は、この重み項Ｓ（ｔ）を過去偏差に乗じることによって、過去偏差の値を、実際にその過去偏差を算出した際の値よりも所定の割合だけ小さくし、その小さくする割合を、算出した時刻が古いものほど大きくすることができる。
【００７７】
図４は、重み項を示すグラフである。図４の横軸は、偏差を算出した時刻、又は現在出力値を検出した時刻であり、原点の０を現在の時刻とし、右側に行くに従って時刻が過去となる。すなわち、図４の横軸は、現在の時刻からのマイナス時間を示している。図４の線分Ｌ４は時刻ごとの重み項Ｓ（ｔ）を示している。線分Ｌ４に示すように、重み項Ｓ（ｔ）は、現在時刻において１であり、時刻が古くなるに従って減衰する。また、線分Ｌ４に示すように、重み項Ｓ（ｔ）は、時刻が古くなるに従って、減衰率、すなわち値が減衰する割合が小さくなる。
【００７８】
ここで、補正偏差をΔＣｔ’とし、その前のタイミングにおいて算出した補正偏差をΔＣｔ−１’とし、重み係数をＳとする。重み係数Ｓは、予め定められた所定の係数である。さらに言えば、重み係数Ｓは、固定された一定の値であり、０より大きく１より小さい。本実施形態において、偏差算出部４０は、直前の補正偏差ΔＣｔ−１’と、 重み係数Ｓと、偏差ΔＣとを用いて、補正偏差ΔＣｔ’を算出する。具体的には、偏差算出部４０は、次の式（５）を用いて補正偏差ΔＣｔ’を算出する。
【００７９】
ΔＣｔ’＝ΔＣ＋Ｓ・ΔＣｔ−１’  ・・・（５）
【００８０】
ただし、ｔが０である場合、すなわち最初に偏差を算出し、過去には偏差を算出していない場合、偏差算出部４０は、補正偏差ΔＣｔ’を算出せず、ＦＢ補正値算出部４４は、第１実施形態のように偏差ΔＣを用いてＦＢ補正値Ｒを算出する。
【００８１】
式（５）に示すように、偏差算出部４０は、直前のタイミングで算出した補正偏差ΔＣｔ−１’に、重み係数Ｓを乗じ、それに対して現在の偏差ΔＣを加えることにより、補正偏差ΔＣｔ’を算出する。補正偏差ΔＣｔ−１’に、重み係数Ｓを乗じることで、その前のタイミングで算出された補正偏差ΔＣｔ−２’には、重み係数Ｓが２回乗じられているということができる。従って、偏差算出部４０は、式（５）を用いて補正偏差ΔＣｔ’を算出することで、図４に示すような、過去偏差を所定の割合だけ小さくし、その小さくする割合を、算出した時刻が古いものほど大きくするという傾向を実現することが可能となる。さらに、偏差算出部４０は、式（５）を用いることで、直前のタイミングの補正偏差ΔＣｔ−１’だけを記憶していればよくなり、計算負荷が軽減する。ただし、偏差算出部４０は、現在の偏差ΔＣと過去偏差とを積算して補正偏差ΔＣｔ’を算出するものであれば、式（５）を用いて補正偏差ΔＣｔ’を算出することに限られない。
【００８２】
以上説明したように、第２実施形態に係る偏差算出部４０は、偏差ΔＣと過去偏差との積算値である補正偏差ΔＣｔ’を算出する。第２実施形態に係るＦＢ補正値算出部４４は、補正偏差ΔＣｔ’と感度Ｐとに基づき、ＦＢ補正値Ｒを算出する。第２実施形態に係る制御部２０は、このように、過去に算出された偏差を考慮して補正偏差ΔＣｔ’を算出し、それに基づきＦＢ補正値Ｒを算出する。第２実施形態に係る制御部２０は、過去の偏差にも基づき制御を実行するため、制御精度をより好適に向上させることができる。
【００８３】
また、第２実施形態に係る偏差算出部４０は、過去偏差の値を、実際に算出した際の値よりも所定の割合だけ小さくし、その割合を、算出された時刻が古いものほど大きくする。第２実施形態に係る制御部２０は、このように、算出された時刻が古くなるほど、過去偏差の値を小さくして、算出された時刻の古い過去偏差が、制御に与える影響を小さくする。従って、第２実施形態に係る制御部２０は、制御精度をより好適に向上させることができる。
【００８４】
また、第２実施形態に係る偏差算出部４０は、直前のタイミングで算出した補正偏差ΔＣｔ−１’に対し重み係数Ｓを乗じ、それに対して偏差ΔＣを加えることで、補正偏差ΔＣｔ’を算出する。重み係数Ｓは、０より大きく１より小さい。偏差算出部４０は、このように補正偏差ΔＣｔ’を算出することで、過去偏差の値を、実際に算出した際の値よりも所定の割合だけ小さくし、その割合を、算出された時刻が古いものほど大きくしている。さらに、偏差算出部４０は、このように補正偏差ΔＣｔ’を算出することで、直前のタイミングの補正偏差ΔＣｔ−１’だけを記憶していればよくなり、計算負荷を軽減することができる。
【００８５】
（第３実施形態）
以下、第３実施形態から第５実施形態を説明する。第３実施形態から第５実施形態は、第１実施形態又は第２実施形態で説明した制御システム１を、具体的な制御対象に適用した例を説明するものである。第３実施形態から第５実施形態で説明する制御システムによる補正操作パラメータ値ＡＭの算出方法は、第１実施形態又は第２実施形態と同様である。
【００８６】
図５は、第３実施形態に係る制御システムの構成を模式的に示すブロック図である。図５に示すように、第３実施形態に係る制御システム１ａは、制御対象としての凝集沈殿池１００ａを制御するものである。凝集沈殿池１００ａは、凝集沈殿を行うことによって原水を浄水処理する設備である。制御システム１ａは、検出部１０ａと、操作部としての薬品注入部１２ａ１及び撹拌部１２ａ２と、制御部２０ａとを有する。凝集沈殿池１００ａは、内部に原水を貯留する。凝集沈殿池１００ａは、薬品注入部１２ａ１により内部の原水に凝集剤が注入され、撹拌部１２ａ２で凝集剤を注入した原水を撹拌することで、原水内の粒子を凝集させてフロック（凝集体）を生成、成長させ、そのフロックを除去することで、原水を浄水処理する。
【００８７】
凝集沈殿池１００ａは、操作パラメータとして、凝集剤の注入量と撹拌強度とを有する。凝集剤の注入量は、薬品注入部１２ａ１によって操作される。撹拌強度は、撹拌部１２ａ２によって操作される。また、凝集沈殿池１００ａは、条件パラメータとして、処理前の廃水の濁度と、処理前の原水の温度とを有している。凝集沈殿池１００ａは、これらの操作パラメータと条件パラメータとの値（入力値）に応じて、原水内の粒子を凝集させてフロック（凝集体）を生成、成長させる処理を行って原水を浄水処理する。本実施形態では、凝集沈殿池１００ａの処理後の処理水の濁度を、出力値とする。すなわち、凝集沈殿池１００ａにおける処理水の濁度は、凝集剤の注入量、撹拌強度、原水の濁度、及び原水の温度に応じて、所定の値となる。
【００８８】
制御部２０ａは、対象操作パラメータとして凝集剤の注入量を選定し、凝集剤の注入量を、補正操作パラメータ値ＡＭとして算出する。制御部２０ａは、補正操作パラメータ値ＡＭを薬品注入部１２ａ１に出力し、薬品注入部１２ａ１は、その補正操作パラメータ値ＡＭの量の凝集剤を凝集沈殿池１００ａに注入する。制御部２０ａは、例えば、処理水の濁度と注入する凝集剤の費用とが所定値よりも低くなるようにＦＦ目標操作パラメータ値Ａ０を決定し、そのＦＦ目標操作パラメータ値Ａ０に基づき、補正操作パラメータ値ＡＭを算出してもよい。
【００８９】
フロックは、凝集剤を注入及び撹拌がなされたタイミングに対して、遅れて生成及び成長する。従って、凝集沈殿池１００ａは、凝集剤を注入及び撹拌がなされたタイミング、すなわち操作パラメータ値が変化されたタイミングに対して、出力値である処理水の濁度の変化が収束するタイミングが、遅れる。
【００９０】
なお、制御部２０ａは、対象操作パラメータとして撹拌強度を選定してもよいし、凝集剤の注入量と撹拌強度との両方を対象操作パラメータとして選定してもよい。
【００９１】
（第４実施形態）
図６は、第４実施形態に係る制御システムの構成を模式的に示すブロック図である。図６に示すように、第４実施形態に係る制御システム１ｂは、制御対象としての焼却炉１００ｂを制御するものである。焼却炉１００ｂは、廃棄物を焼却する設備である。制御システム１ｂは、検出部１０ｂと、操作部としての燃料導入部１２ｂ１及び空気導入部１２ｂ２と、制御部２０ｂとを有する。焼却炉１００ｂは、含水する廃棄物が内部に投入され、燃料導入部１２ｂ１から燃料が導入され、空気導入部１２ｂ２から空気が導入されることにより、廃棄物を焼却処理し、排ガスを発生させる。
【００９２】
焼却炉１００ｂは、操作パラメータとして、導入する燃料量と導入する空気量とを有する。導入する燃料量は、燃料導入部１２ｂ１によって操作される。導入する空気量は、燃料導入部１２ｂ１によって操作される。また、焼却炉１００ｂは、条件パラメータとして、廃棄物の含水量を有する。焼却炉１００ｂは、これらの操作パラメータと条件パラメータとの値（入力値）に応じて、廃棄物を焼却し、その結果として所定の成分の排ガスを発生させる。本実施形態では、焼却炉１００ｂから発生した排ガス中の窒素酸化物（ＮＯｘ）の量を、出力値とする。
【００９３】
制御部２０ｂは、対象操作パラメータとして、導入する燃料量を選定し、導入する燃料量を、補正操作パラメータ値ＡＭとして算出する。制御部２０ｂは、補正操作パラメータ値ＡＭを燃料導入部１２ｂ１に出力し、燃料導入部１２ｂ１は、その補正操作パラメータ値ＡＭの量の燃料を焼却炉１００ｂに注入する。制御部２０ａは、例えば、排ガス中の窒素酸化物の量と使用する燃料の費用とが所定値よりも低くなるようにＦＦ目標操作パラメータ値Ａ０を決定し、そのＦＦ目標操作パラメータ値Ａ０に基づき、補正操作パラメータ値ＡＭを算出してもよい。
【００９４】
燃料や空気を導入してから、廃棄物が燃焼して排ガスが発生するまでには、ある程度の時間を要する。従って、焼却炉１００ｂは、燃料や空気を導入したタイミング、すなわち操作パラメータ値が変化したタイミングに対して、出力値である排ガス中の窒素酸化物量の変化が収束するタイミングが、遅れる。
【００９５】
なお、制御部２０ｂは、対象操作パラメータとして空気導入量を選定してもよいし、燃料導入量と空気導入量の両方を対象操作パラメータとして選定してもよい。また、焼却炉１００ｂは、排ガス中の二酸化炭素の量を出力値としてもよいし、窒素酸化物の量と二酸化炭素の量との両方を出力値としてもよい。
【００９６】
（第５実施形態）
図７は、第５実施形態に係る制御システムの構成を模式的に示すブロック図である。図７に示すように、第５実施形態に係る制御システム１ｃは、制御対象としてのエンジン１００ｃを制御するものである。エンジン１００ｃは、内燃機関であり、燃料をシリンダ内で燃焼させ、その熱エネルギーを用いて仕事をする設備である。制御システム１ｃは、検出部１０ｃと、操作部としての燃料混合部１２ｃ１及び圧縮部１２ｃ２と、制御部２０ｃとを有する。エンジン１００ｃは、燃料混合部１２ｃ１によって空気と混同された燃料がシリンダに導入され、圧縮部１２ｃ２によってシリンダが圧縮されることにより、シリンダ内の燃料を燃焼させる。エンジン１００ｃは、シリンダ内の燃料の燃焼により仕事をし、燃焼で生じた排ガスを発生させる。
【００９７】
エンジン１００ｃは、操作パラメータとして、燃料と空気との混合比とシリンダの圧縮比とを有する。混合比は、燃料混合部１２ｃ１によって操作される。圧縮比は、圧縮部１２ｃ２によって操作される。また、エンジン１００ｃは、条件パラメータとして、外気温度を有する。エンジン１００ｃは、これらの操作パラメータと条件パラメータとの値（入力値）に応じて、シリンダ内の燃料を燃焼させ、その結果として所定の成分の排ガスを発生させる。本実施形態では、エンジン１００ｃから発生した排ガス中の窒素酸化物（ＮＯｘ）の量を、出力値とする。
【００９８】
制御部２０ｃは、対象操作パラメータとして、混合比を選定し、混合比を補正操作パラメータ値ＡＭとして算出する。制御部２０ｃは、補正操作パラメータ値ＡＭを燃料混合部１２ｃ１に出力し、燃料混合部１２ｃ１は、その補正操作パラメータ値ＡＭの量の燃料をエンジン１００ｃに注入する。制御部２０ｃは、例えば、排ガス中の窒素酸化物の量と使用する燃料の費用とが所定値よりも低くなるようにＦＦ目標操作パラメータ値Ａ０を決定し、そのＦＦ目標操作パラメータ値Ａ０に基づき、補正操作パラメータ値ＡＭを算出してもよい。
【００９９】
混合比や圧縮比を設定してから、燃料が燃焼して排ガスが発生するまでには、ある程度の時間を要する。従って、エンジン１００ｃは、混合比や圧縮比が変化したタイミング、すなわち操作パラメータ値が変化したタイミングに対して、出力値である排ガス中の窒素酸化物量の変化が収束するタイミングが、遅れる。
【０１００】
なお、制御部２０ｃは、対象操作パラメータとして圧縮比を選定してもよいし、混合比と圧縮比との両方を対象操作パラメータとして選定してもよい。また、エンジン１００ｃは、排ガス中の二酸化炭素の量を出力値としてもよいし、窒素酸化物の量と二酸化炭素の量との両方を出力値としてもよい。
【０１０１】
以上、第３実施形態から第５実施形態において、制御システム１を、具体的な制御対象に適用した例を説明したが、制御システム１は、第３実施形態から第５実施形態の制御対象に限られず、任意の制御対象に適用可能である。
【０１０２】
以上、本発明の実施形態を説明したが、これら実施形態等の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態等の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【０１０３】
１  制御システム
１０  検出部
１２  操作部
２０  制御部
２２  予測モデル記憶部
２３  現在条件パラメータ値取得部
２４  現在出力値取得部
２６  ＦＦ制御部
２７  ＦＢ制御部
２８  補正操作パラメータ値算出部
２９  制御対象制御部
３２  予測計算部
３４  ＦＦ目標操作パラメータ値取得部
３６  予測出力値取得部
３８  予測出力変位値取得部
４０  偏差算出部
４２  感度算出部
４４  ＦＢ補正値算出部
【図１】
0006727835.tif 000002
【図２Ａ】
0006727835.tif 000003
【図２Ｂ】
0006727835.tif 000004
【図２Ｃ】
0006727835.tif 000005
【図３】
0006727835.tif 000006
【図４】
0006727835.tif 000007
【図５】
0006727835.tif 000008
【図６】
0006727835.tif 000009
【図７】
0006727835.tif 000010