(57)【要約】【課題】計算資源が限られた機器でも高い制御性能を実現する。【解決手段】制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、前記目標値の時系列である目標値時系列と、前記目標値を先読みする時間幅を示す先読み長とが入力されると、前記目標値時系列に含まれる複数の目標値のうち、前記先読み長後の目標値を示す先読み目標値を取得する目標値先読み手段と、前記先読み目標値と、前記制御対象の現在の制御量との差である先読み目標偏差を算出する先読み目標偏差算出手段と、前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長後の制御量の予測値と、前記先読み目標値との差を示す補正目標偏差を算出する補正目標偏差算出手段と、前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手段と、を有することを特徴とする。【選択図】図１
2019145098.tif 000002
【特許請求の範囲】
【請求項１】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、
前記目標値の時系列である目標値時系列と、前記目標値を先読みする時間幅を示す先読み長とが入力されると、前記目標値時系列に含まれる複数の目標値のうち、前記先読み長後の目標値を示す先読み目標値を取得する目標値先読み手段と、
前記先読み目標値と、前記制御対象の現在の制御量との差である先読み目標偏差を算出する先読み目標偏差算出手段と、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長後の制御量の予測値と、前記先読み目標値との差を示す補正目標偏差を算出する補正目標偏差算出手段と、
前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手段と、
を有することを特徴とする制御装置。
【請求項２】
前記制御対象に対して予測される予測外乱の時系列である予測外乱時系列が入力されると、前記先読み長後の予測外乱の影響を補正した外乱補正値を算出する外乱影響先読み手段を有し、
前記先読み目標偏差算出手段は、
前記先読み目標値と、前記制御対象の現在の制御量との差に対して、更に、前記外乱補正値を減じた値を前記先読み目標偏差として算出する、ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記外乱補正値は、
前記先読み長後の予測外乱と、現在の予測外乱との差を所定の関数で変換した値である、ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記プラント応答モデルと、前記操作量の変化量とに基づいて算出された前記制御量の一般化予測値を記憶する記憶手段を有し、
前記補正目標偏差算出手段は、
前記記憶手段に記憶されている一般化予測値に基づいて、前記補正目標偏差を算出する、ことを特徴とする請求項１乃至３の何れか一項に記載の制御装置。
【請求項５】
制御周期毎に、前記操作量の変化量を算出する操作変化量算出手段と、
前記変化量が算出される度に、前記プラント応答モデルと、前記操作量の変化量とに基づいて、前記記憶手段に記憶されている一般化予測値を更新する更新手段と、
を有することを特徴とする請求項４に記載の制御装置。
【請求項６】
前記操作変化量算出手段は、
前記補正目標偏差に対して所定の制御ゲインを乗ずることで前記操作量の変化量を算出し、
前記操作量算出手段は、
現在の操作量に対して前記操作量の変化量を加算することで、新たな前記操作量を算出する、ことを特徴とする請求項５に記載の制御装置。
【請求項７】
前記操作量算出手段は、
前記補正目標偏差と所定のゲインとの積を算出し、
算出した積を所定の離散化関数により離散値に変換して、前記操作量の変化量を算出し、
算出した変化量を現在の操作量に加算して、新たな前記操作量を算出する、ことを特徴とする請求項１に記載の制御装置。
【請求項８】
前記離散化関数は、
入力された値に対して、所定の区間毎に離散値を割り当てる関数である、ことを特徴とする請求項７に記載の制御装置。
【請求項９】
前記離散化関数は、前記所定の区間がパラメータで表されており、
前記離散化関数の最適パラメータを算出するパラメータ算出手段を有し、
前記パラメータ算出手段は、
前記パラメータの探索範囲を設定し、
前記探索範囲の中から選択されたパラメータを用いて、前記目標値先読み手段と、前記目標偏差算出手段と、前記補正目標偏差算出手段と、前記操作量算出手段とによって算出された前記先読み目標偏差と前記操作量の変化量とに基づいて、前記選択されたパラメータの評価関数値を算出し、
前記探索範囲の中から選択されたパラメータのうち、前記評価関数値が最適となるパラメータを前記離散化関数の最適パラメータとして算出する、ことを特徴とする請求項７に記載の制御装置。
【請求項１０】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させるコンピュータが、
前記目標値の時系列である目標値時系列と、前記目標値を先読みする時間幅を示す先読み長とが入力されると、前記目標値時系列に含まれる複数の目標値のうち、前記先読み長後の目標値を示す先読み目標値を取得する目標値先読み手順と、
前記先読み目標値と、前記制御対象の現在の制御量との差である先読み目標偏差を算出する先読み目標偏差算出手順と、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長後の制御量の予測値と、前記先読み目標値との差を示す補正目標偏差を算出する補正目標偏差算出手順と、
前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手順と、
を実行することを特徴とする制御方法。
【請求項１１】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させるコンピュータに、
前記目標値の時系列である目標値時系列と、前記目標値を先読みする時間幅を示す先読み長とが入力されると、前記目標値時系列に含まれる複数の目標値のうち、前記先読み長後の目標値を示す先読み目標値を取得する目標値先読み手順と、
前記先読み目標値と、前記制御対象の現在の制御量との差である先読み目標偏差を算出する先読み目標偏差算出手順と、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長後の制御量の予測値と、前記先読み目標値との差を示す補正目標偏差を算出する補正目標偏差算出手順と、
前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
温調制御装置やＰＬＣ（Programmable Logic Controller）、ＤＣＳ（Distributed Control System）等の制御装置、パーソナルコンピュータや組み込み制御機器上で実装される制御装置等が産業上広く利用されている。
【０００３】
また、制御対象の制御量を目標値に追従させることを目的とする制御方式として、ＰＩＤ（Proportional-Integral-Differential）制御、モデル予測制御、内部モデル制御、ＬＱＧ（Linear-Quadratic-Gaussian）制御、Ｈ２制御、Ｈ∞制御等の各種の制御方式が知られている。
【０００４】
オンラインで数値最適化アルゴリズムを実行する標準的なモデル予測制御の産業への応用としては、空調システムの制御等への応用が知られている（例えば、特許文献１）。これに対して、オンラインで数値最適化アルゴリズムを実行する標準的なモデル予測制御と異なり、マルチパラメトリック計画法を用いてオフラインで予め計算を行っておくことによりオンラインでの数値最適化が不要となるモデル予測制御も知られている（例えば、非特許文献１）。
【０００５】
また、現在に至るまでの過去の操作量の変化に応じた制御量の収束値の予測値と、目標値との差である補正目標偏差に基づいて新たな操作量を決定する制御装置が提案されている（例えば、特許文献２）。更に、目標偏差の現在値と、操作量の変化量との関係を示す制御用論理式が成立する領域をグラフ上に表示する設計支援装置が提案されている（例えば、特許文献３）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１０８４９９号公報
【特許文献２】国際公開第２０１６／０９２８７２号
【特許文献３】国際公開第２０１５／０６０１４９号
【非特許文献】
【０００７】
【非特許文献１】高木大輝、原尚之、小西啓治、「線形系に対するモデル予測制御法の特徴比較」、平成25年電気学会全国大会講演論文集（第3分冊）、2013年、p.83-84
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、オンラインで数値最適化アルゴリズムを実行する標準的なモデル予測制御では、例えば、制御周期毎に、所定の予測ホライズンにおける目標偏差や操作量によって表される評価関数を最小化する最適化計算を繰り返し、最初の１ステップの操作量を都度適用する。このため、１回の制御周期毎に非常に多くの計算時間を要する場合があった。
【０００９】
一方で、マルチパラメトリック計画法を用いたモデル予測制御では、例えば、プラントモデルの状態変数により構成される空間（状態空間）を多数の領域に分割し、プラントの状態変数の現在値がいずれの領域に含まれるかを探索した上で、探索された領域に対応する制御ゲインを適用する。このため、状態空間の次元が増加する、予測区間が長くなる、制約条件が増える等により、状態空間の分割数が急激に増加し、非常に多くのメモリを要する場合があった。
【００１０】
しかしながら、ロボットや自動車、ドローン等の機器を対象とする組み込み制御や、温調・空調・流量制御・圧力制御・レベル制御等のプロセス制御等においては、演算装置やメモリ等の計算資源が限られたエッジデバイスを用いた制御が求められている。なお、エッジデバイスとしては、例えば、組み込み型の計算機器やＰＬＣ等の制御装置等が挙げられる。
【００１１】
本発明の一実施形態は、上記の点に鑑みてなされたもので、計算資源が限られた機器でも高い制御性能を実現することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明の一実施形態は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、前記目標値の時系列である目標値時系列と、前記目標値を先読みする時間幅を示す先読み長とが入力されると、前記目標値時系列に含まれる複数の目標値のうち、前記先読み長後の目標値を示す先読み目標値を取得する目標値先読み手段と、前記先読み目標値と、前記制御対象の現在の制御量との差である先読み目標偏差を算出する先読み目標偏差算出手段と、前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長後の制御量の予測値と、前記先読み目標値との差を示す補正目標偏差を算出する補正目標偏差算出手段と、前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手段と、を有することを特徴とする。
【発明の効果】
【００１３】
計算資源が限られた機器でも高い制御性能を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】第一の実施形態に係る制御装置の構成の一例を示す図である。
【図２】目標値先読み部の動作の一例を説明するための図である。
【図３】先読み応答補正部の動作の一例を説明するための図（その１）である。
【図４】先読み応答補正部の動作の一例を説明するための図（その２）である。
【図５】予測時系列更新部が実行する更新処理の一例を説明するためのフローチャートである。
【図６】予測時系列の更新の一例を説明するための図である。
【図７】操作変化量算出部の動作の一例を説明するための図である。
【図８】第一の実施形態に係る制御装置を用いて、制御対象プラントの制御ループを構成した場合の一例を示す図である。
【図９】一実施形態に係る制御装置のハードウェア構成の一例を示す図である。
【図１０】第二の実施形態に係る制御装置の構成の一例を示す図である。
【図１１】外乱影響先読み補正部の動作の一例を説明するための図である。
【図１２】先読み応答補正部の動作の一例を説明するための図である。
【図１３】第二の実施形態に係る制御装置を用いて、制御対象プラントの制御ループを構成した場合の一例を示す図である。
【図１４】第三の実施形態に係る操作変化量算出部が実行する操作変化量算出処理の一例を説明するためのフローチャートである。
【図１５】第三の実施形態に係る制御装置を用いて、制御対象プラントの制御ループを構成した場合の一例を示す図である。
【図１６】第四の実施形態に係る制御装置の構成の一例を示す図である。
【図１７】第四の実施形態に係る離散化関数の最適パラメータ算出処理の一例を説明するためのフローチャートである。
【図１８】制御シミュレーションの一例を説明するための図である。
【図１９】実施例１におけるプラント応答モデルを示す図である。
【図２０】実施例１における制御ゲインの設計に用いられる情報を示す図である。
【図２１】実施例１における制御ゲインを示す図である。
【図２２】実施例１における制御結果を示す図（その１）である。
【図２３】実施例１における制御結果を示す図（その２）である。
【図２４】実施例２におけるプラント応答モデルを示す図である。
【図２５】実施例２における制御ゲインの設計に用いられる情報を示す図である。
【図２６】実施例２における制御ゲインを示す図である。
【図２７】実施例２における制御結果を示す図（その１）である。
【図２８】実施例２における制御結果を示す図（その２）である。
【図２９】実施例３における予測外乱時系列を示す図である。
【図３０】実施例３における制御結果を示す図である。
【図３１】実施例４におけるプラント応答モデルを示す図である。
【図３２】実施例４における制御ゲインの設計に用いられる情報を示す図である。
【図３３】実施例４における制御ゲインを示す図である。
【図３４】実施例４における目標値時系列と評価関数の計算結果とを示す図（その１）である。
【図３５】実施例４における目標値時系列と評価関数の計算結果とを示す図（その２）である。
【図３６】実施例４における目標値時系列と評価関数の計算結果とを示す図（その３）である。
【図３７】実施例４における制御結果を示す図（その１）である。
【図３８】実施例４における制御結果を示す図（その２）である。
【図３９】実施例４における制御結果を示す図（その３）である。
【図４０】実施例４における制御結果を示す図（その４）である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。以降では、現在から未来への目標値時系列が入力された場合において、制御量を目標値に追従させるための操作量を計算する制御装置１０について説明する。本実施形態に係る制御装置１０は、任意の目標値の時系列データである目標値時系列｛ｒ（ｔ）｝や制御対象プラント２０の状態等を示す制御量ｙ等に基づいて、制御対象プラント２０に対する操作量ｕを算出する。そして、本実施形態に係る制御装置１０は、この操作量ｕに応じた制御対象プラント２０の制御量ｙを計測し、この制御量ｙや目標値時系列｛ｒ（ｔ）｝等に基づいて、次の操作量ｕを算出する。なお、制御量ｙとしては、例えば、制御対象プラント２０の温度、目標値ｒとしては、例えば、設定温度等が挙げられる。ただし、制御量ｙ及び目標値ｒは、温度及び設定温度に限られず、制御対象プラント２０における任意の制御量及び当該制御量の目標となる目標値を用いることができる。
【００１６】
本実施形態に係る制御装置１０は、計算資源が限られたエッジデバイス（例えば、組み込み型の計算機器やＰＬＣ等の制御装置等）であるものとする。ただし、本実施形態に係る制御装置１０は、エッジデバイス以外にも、例えば、十分な計算資源を有する各種機器又は装置であっても良い。
【００１７】
［第一の実施形態］
＜制御装置１０の構成＞
まず、本実施形態に係る制御装置１０の構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る制御装置１０の構成の一例を示す図である。
【００１８】
図１に示すように、本実施形態に係る制御装置１０は、目標値先読み部１０１と、計測部１０２と、差分器１０３と、操作量更新部１０４と、タイマ１０５とを有する。これら各機能部は、例えば、制御装置１０にインストールされた１以上のプログラムがＣＰＵ（Central Processing Unit）等に実行させる処理によって実現される。
【００１９】
目標値先読み部１０１は、所定の制御周期Ｔｃ毎に、目標値時系列｛ｒ（ｔ）｝と、先読み長Ｔｐとを入力して、現在時刻ｔから先読み長後の時刻ｔ＋Ｔｐにおける目標値ｒ（ｔ＋Ｔｐ）を出力する。先読み長Ｔｐとは、目標値時系列｛ｒ（ｔ）｝のうち、先読みする目標値ｒ（ｔ＋Ｔｐ）を決定するための時間長である。なお、以降では、目標値ｒ（ｔ＋Ｔｐ）を「先読み目標値ｒ（ｔ＋Ｔｐ）」とも表す。
【００２０】
計測部１０２は、制御周期Ｔｃ毎に、制御対象プラント２０の制御量ｙを計測する。そして、計測部１０２は、計測した制御量ｙの最新の値を、制御量現在値ｙ０として出力する。なお、制御対象プラント２０の制御量ｙ、操作量ｕと外乱ｖとに応じて決定される。外乱ｖとしては、例えば、制御量ｙが温度である場合における外気温の低下又は上昇等が挙げられる。
【００２１】
また、計測部１０２は、操作量更新部１０４から出力された操作量ｕを取得し、取得した操作量ｕの最新の値を、操作量現在値ｕ０として出力する。
【００２２】
差分器１０３は、目標値先読み部１０１から出力された先読み目標値ｒ（ｔ＋Ｔｐ）と、制御量現在値ｙ０との差（偏差）を目標偏差ｅ０として出力する。目標偏差ｅ０は、ｅ０＝ｒ（ｔ＋Ｔｐ）−ｙ０（ｔ）で算出される。なお、以降では、目標偏差ｅ０を「先読み目標偏差ｅ０」とも表す。
【００２３】
操作量更新部１０４は、制御周期Ｔｃ毎に、制御対象プラント２０に対する操作量ｕを出力する。操作量更新部１０４には、先読み応答補正部１１１と、操作変化量算出部１１２と、加算器１１３とが含まれる。
【００２４】
先読み応答補正部１１１は、制御対象プラント２０のプラント応答モデル｛Ｓ（ｔ）｝と、先読み目標偏差ｅ０（ｔ）と、先読み長Ｔｐと、過去の操作量ｕの変化量ｄｕの時系列データである操作変化量時系列｛ｄｕ（ｔ）｝とに基づいて、先読み目標偏差ｅ０（ｔ）を補正した補正目標偏差ｅ＊（ｔ）を算出する。補正目標偏差ｅ＊（ｔ）の算出方法の詳細については後述する。なお、以降では、操作量ｕの変化量ｄｕを「操作変化量ｄｕ」とも表す。
【００２５】
操作変化量算出部１１２は、制御周期Ｔｃ毎に、先読み応答補正部１１１により算出された補正目標偏差ｅ＊（ｔ）に基づいて、操作変化量ｄｕを算出する。操作変化量算出部１１２は、例えば、ｄｕ（ｔ−３Ｔｃ）、ｄｕ（ｔ−２Ｔｃ）、ｄｕ（ｔ−Ｔｃ）という順序で操作変化量ｄｕ（ｔ）を算出し、出力する。なお、操作変化量ｄｕは、制御周期Ｔｃ毎に操作量ｕが変化した量である。
【００２６】
加算器１１３は、計測部１０２から出力された操作量現在値ｕ０と、操作変化量算出部１１２から出力された操作変化量ｄｕとを加算して、新たな操作量ｕを算出する。そして、加算器１１３は、この操作量ｕを制御対象プラント２０に出力する。この操作量ｕは、ｕ（ｔ）＝ｕ０＋ｄｕ（ｔ）＝ｕ（ｔ−Ｔｃ）＋ｄｕ（ｔ）で算出される。
【００２７】
タイマ１０５は、制御周期Ｔｃ毎に、目標値先読み部１０１と計測部１０２とを動作させる。なお、目標値先読み部１０１と計測部１０２とが制御周期Ｔｃ毎に動作することで、操作量更新部１０４も制御周期Ｔｃ毎に動作する。
【００２８】
＜目標値先読み部１０１の動作＞
次に、目標値先読み部１０１の動作について、図２を参照しながら説明する。図２は、目標値先読み部１０１の動作の一例を説明するための図である。
【００２９】
図２に示すように、目標値先読み部１０１は、目標値時系列｛ｒ（ｔ）｝と、先読み長Ｔｐとが入力されると、現在時刻ｔから先読み長後の時刻ｔ＋Ｔｐにおける先読み目標値ｒ（ｔ＋Ｔｐ）を出力する。このように、目標値先読み部１０１は、目標値時系列｛ｒ（ｔ）｝のうち、先読み長後の時刻ｔ＋Ｔｐにおける目標値ｒ（ｔ＋Ｔｐ）を出力する。
【００３０】
なお、図２に示す例では、目標値時系列｛ｒ（ｔ）｝が直線によって表される場合を示しているが、これに限られない。目標値時系列｛ｒ（ｔ）｝は任意の曲線や矩形等によって表されても良い。特に、目標値時系列｛ｒ（ｔ）｝は、時刻ｔに応じて周期的に変化する曲線によって表されても良い。また、目標値時系列｛ｒ（ｔ）｝は、予め設定されていても良いし、未来の目標値ｒ（ｔ）が随時更新されても良い。
【００３１】
＜先読み応答補正部１１１の動作＞
次に、先読み応答補正部１１１の動作について、図３を参照しながら説明する。図３は、先読み応答補正部の動作の一例を説明するための図（その１）である。
【００３２】
図３に示すように、先読み応答補正部１１１は、プラント応答モデル｛Ｓ（ｔ）｝と、先読み目標偏差ｅ０（ｔ）と、先読み長Ｔｐと、操作変化量時系列｛ｄｕ（ｔ）｝とが入力されると、まず、過去の操作変化量ｄｕによって現在の制御量ｙ０がＴｐ後に変化すると予測される値を先読み応答補正値ｙｎ（ｔ）として算出する。なお、例えば、現在時刻をｔとした場合、過去の操作変化量ｄｕは、ｄｕ（ｔ−Ｔｃ）、ｄｕ（ｔ−２Ｔｃ）等と表される。
【００３３】
次に、先読み応答補正部１１１は、先読み目標偏差ｅ０（ｔ）を先読み応答補正量ｙｎ（ｔ）によって補正した補正目標偏差ｅ＊（ｔ）を算出し、算出した補正目標偏差ｅ＊（ｔ）を出力する。図３に示すように、補正目標偏差ｅ＊（ｔ）は、ｅ＊（ｔ）＝ｒ（ｔ＋Ｔｐ）−（ｙ０（ｔ）＋ｙｎ（ｔ））＝ｅ０（ｔ）−ｙｎ（ｔ）で表される。
【００３４】
ここで、一例として、プラント応答モデル｛Ｓ（ｔ）｝がステップ応答モデルである場合における先読み応答補正値ｙｎ（ｔ）の計算方法について説明する。
【００３５】
操作変化量時系列｛ｄｕ（ｔ）｝のみによる先読み時刻ｔ＋Ｔｐにおける制御量ｙの予測値（先読み応答予測値）ｙｎ，Ａ（ｔ）を、
【００３６】
【数１】
2019145098.tif 000003
とする。ここで、Ｍは、先読み応答予測値の計算に使用するモデルの長さ（モデル区間）である。
【００３７】
また、操作変化量時系列｛ｄｕ（ｔ）｝のみによる現在時刻ｔにおける制御量ｙの予測値（自由応答予測値）ｙｎ，Ｂ（ｔ）を、
【００３８】
【数２】
2019145098.tif 000004
とする。ここで、Ｍは、上記と同様に、自由応答予測値の計算に使用するモデル区間である。
【００３９】
そして、先読み応答補正部１１１は、先読み応答予測値ｙｎ，Ａ（ｔ）と、自由応答予測値ｙｎ，Ｂ（ｔ）との差を先読み応答補正値ｙｎ（ｔ）とする。すなわち、先読み応答補正部１１１は、ｙｎ（ｔ）＝ｙｎ，Ａ（ｔ）−ｙｎ，Ｂ（ｔ）とする。
【００４０】
また、一例として、予測時系列を記憶する予測時系列記憶部１２１を先読み応答補正部１１１が利用して先読み応答補正値ｙｎ（ｔ）を算出する場合について、図４を参照しながら説明する。図４は、先読み応答補正部の動作の一例を説明するための図（その２）である。なお、予測時系列記憶部１２１は、例えば、補助記憶装置やＲＡＭ（Random Access Memory）等の記憶装置を用いて実現可能である。
【００４１】
図４に示すように、予測時系列記憶部１２１には、現在時刻をｔとして、時刻ｔ−Δｔから未来の時刻ｔ＋Ｔｂまでの制御量ｙの予測値ｙｎ，Ｃ（ｔ−Δｔ｜ｔ），ｙｎ，Ｃ（ｔ｜ｔ），ｙｎ，Ｃ（ｔ＋Δｔ｜ｔ），・・・，ｙｎ，Ｃ（ｔ＋Ｔｂ｜ｔ）を、時系列として記憶している。なお、Ｔｂは、予測時系列記憶部１２１に記憶される予測値ｙｎ，Ｃの長さ（時間長）を決める定数であり、Ｔｂ＝ＮΔｔ（Ｎは、任意の正の整数）であるものとする。また、Δｔは、予測間隔であり、Δｔ＝Ｔｃであるものとする。以降では、予測値ｙｎ，Ｃを「一般化予測値ｙｎ，Ｃ」とも表す。
【００４２】
時刻ｔで予測した時刻ｓにおける一般化予測値ｙｎ，Ｃ（ｓ｜ｔ）は、
【００４３】
【数３】
2019145098.tif 000005
で算出される。
【００４４】
予測時系列記憶部１２１に記憶された一般化予測値ｙｎ，Ｃを用いると、上述した自由応答予測値ｙｎ，Ｂ（ｔ）は一般化予測値ｙｎ，Ｃ（ｔ｜ｔ）と一致し、上述した先読み応答予測値ｙｎ，Ａ（ｔ）は一般化予測値ｙｎ，Ｃ（ｔ＋Ｔｐ｜ｔ）と一致する。
【００４５】
したがって、先読み応答補正部１１１は、予測時系列記憶部１２１に記憶された一般化予測値ｙｎ，Ｃを用いて、ｙｎ（ｔ）＝ｙｎ，Ａ（ｔ）−ｙｎ，Ｂ（ｔ）＝ｙｎ，Ｃ（ｔ＋Ｔｐ｜ｔ）−ｙｎ，Ｃ（ｔ｜ｔ）により先読み応答補正値ｙｎ（ｔ）を算出することができる。これにより、補正目標偏差ｅ＊（ｔ）＝ｅ０（ｔ）−ｙｎ（ｔ）を算出及び出力することができる。このように、予測時系列記憶部１２１を用いることで、先読み応答補正部１１１は、少ない計算量と少ないメモリとで補正目標偏差ｅ＊を計算することができる。
【００４６】
また、予測時系列記憶部１２１は、操作変化量ｄｕ（ｔ）が先読み応答補正部１１１に入力される度に、予測時系列更新部１２２によって更新される。ここで、時刻ｔで予測したｍΔｔ先における一般化予測値ｙｎ，Ｃ（ｔ＋ｍΔｔ｜ｔ）は、
【００４７】
【数４】
2019145098.tif 000006
で表される。このため、時刻ｔ＋Δｔで予測したｍΔｔ先における一般化予測値ｙｎ，Ｃ（ｔ＋Δｔ＋ｍΔｔ｜ｔ＋Δｔ）は、
【００４８】
【数５】
2019145098.tif 000007
となる。すなわち、時刻ｔ＋Δで予測したｍΔｔ先における一般化予測値ｙｎ，Ｃ（ｔ＋Δｔ＋ｍΔｔ｜ｔ＋Δｔ）は、ｙｎ，Ｃ（ｔ＋Δｔ＋ｍΔｔ｜ｔ＋Δｔ）＝Ｓ（ｍΔｔ）ｄｕ（ｔ＋Δｔ）＋ｙｎ，Ｃ（ｔ＋（ｍ＋１）Δｔ｜ｔ）となる。
【００４９】
したがって、時刻ｔ＋Δｔで予測したｍΔ先における一般化予測値ｙｎ，Ｃは、時刻ｔで予測した（ｍ＋１）Δｔ先の一般化予測値ｙｎ，Ｃに対して、時刻ｔ＋Δにおける操作変化量ｄｕ（ｔ＋Δ）による影響を加えた値として更新される。
【００５０】
＜予測時系列更新部１２２が実行する更新処理＞
ここで、予測時系列更新部１２２が予測時系列記憶部１２１に保持されたデータを更新する処理について、図５を参照しながら説明する。図５は、予測時系列更新部１２２が実行する更新処理の一例を説明するためのフローチャートである。以降では、予測時系列記憶部１２１に記憶されている時刻ｔでの一般化予測値ｙｎ，Ｃを、時刻ｔ＋Δｔでの一般化予測値ｙｎ，Ｃに更新する場合について説明する。
【００５１】
ステップＳ１：予測時系列更新部１２２は、予測時系列記憶部１２１に記憶されている時刻ｔでの一般化予測値ｙｎ，Ｃを時刻Δｔだけシフトする。
【００５２】
例えば、図６（ａ）に示すように、ｙｎ，Ｃ（ｔ−Δ｜ｔ），ｙｎ，Ｃ（ｔ｜ｔ），ｙｎ，Ｃ（ｔ＋Δ｜ｔ），・・・，ｙｎ，Ｃ（ｔ＋Ｔｐ｜ｔ），・・・，ｙｎ，Ｃ（ｔ＋Ｔｂ｜ｔ）が予測時系列記憶部１２１に記憶されており、それぞれの相対位置ｍが−１，０，１，・・・，Ｎであるものとする。この場合、予測時系列更新部１２２は、相対位置ｍ≧０以上の一般化予測値ｙｎ，Ｃの相対位置ｍを−１する。すなわち、予測時系列更新部１２２は、相対位置ｍ＝０であるｙｎ，Ｃ（ｔ｜ｔ）を相対位置ｍ＝−１に、相対位置ｍ＝１であるｙｎ，Ｃ（ｔ＋Δｔ｜ｔ）を相対位置ｍ＝０に順にシフトする。以降も同様に、予測時系列更新部１２２は、相対位置ｍ＝Ｎであるｙｎ，Ｃ（ｔ＋Ｔｂ｜ｔ）を相対位置ｍ＝Ｎ−１にシフトするまで、各ｙｎ，Ｃの相対位置ｍを順にシフトする。
【００５３】
ステップＳ２：予測時系列更新部１２２は、最終時刻（すなわち、相対位置ｍ＝Ｎ）における一般化予測値ｙｎ，Ｃを更新する。時刻ｔで予測した最終時刻ｔ＋ＮΔｔ＋Δｔにおける一般化予測値ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）は、例えば、時刻ｔ＋ＮΔｔ以前における一般化予測値ｙｎ，Ｃを用いて、
【００５４】
【数６】
2019145098.tif 000008
により推定する。これは、時刻ｔでの時刻ｔ＋ＮΔｔ−（ｊ−１）Δｔにおける一般化予測値ｙｎ，Ｃに対して重みａｊを掛けて和を取った式である。
【００５５】
一般化予測値ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）は、これ以外にも、例えば、時刻ｔで予測した時刻ｔ＋ＮΔｔの一般化予測値ｙｎ，Ｃをそのまま使う場合、すなわち、ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）＝ｙｎ，Ｃ（ｔ＋ＮΔｔ｜ｔ）とする場合も考えられる。また、例えば、速度変化を考慮して、時刻ｔ＋ＮΔｔにおける一般化予測値ｙｎ，Ｃと、時刻ｔ＋ＮΔｔ−Δｔの一般化予測値ｙｎ，Ｃとを外挿して、
【００５６】
【数７】
2019145098.tif 000009
を用いる場合も考えられる。例えば、この数７で、ｒ＝１とすれば、時刻ｔ＋ＮΔｔにおける一般化予測値ｙｎ，Ｃと、時刻ｔ＋ＮΔｔ−Δｔにおける一般化予測値ｙｎ，Ｃとの差がΔｔだけ継続すると推定することに相当する。
【００５７】
これにより、図６（ｂ）に示すように、予測時系列記憶部１２１の相対位置Ｎがｙｎ，Ｃ（ｔ＋Ｔｂ＋Δｔ｜ｔ）＝ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）に更新される。
【００５８】
ステップＳ３：予測時系列更新部１２２は、最新の操作変化量ｄｕ（ｔ＋Δｔ）の影響を反映する。すなわち、図６（ｃ）に示すように、予測時系列更新部１２２は、相対位置ｍ＝０〜Ｎまでの各一般化予測値ｙｎ，Ｃに（ｔ＋（ｍ＋１）Δｔ｜ｔ）に対して、Ｓ（ｍΔｔ）ｄｕ（ｔ＋Δｔ）を加える。
【００５９】
具体的には、相対位置ｍ＝０の一般化予測値ｙｎ，Ｃ（ｔ＋Δｔ｜ｔ）に対しては、Ｓ（０）ｄｕ（ｔ＋Δｔ）を加える。また、相対位置ｍ＝１の一般化予測値ｙｎ，Ｃ（ｔ＋２Δｔ｜ｔ）に対しては、Ｓ（Δｔ）ｄｕ（ｔ＋Δｔ）を加える。ｍ≧３の場合も同様である。
【００６０】
ステップＳ４：予測時系列更新部１２２は、予測時系列記憶部１２１に記憶されている各一般化予測値ｙｎ，Ｃを時刻ｔ＋Δｔの予測時系列とする。すなわち、上記のＳ３により、ｍ＝０〜Ｎまでの各一般化予測値ｙｎ，Ｃは、ｙｎ，Ｃ（ｔ＋Δｔ＋ｍΔｔ｜ｔ＋Δｔ）＝Ｓ（ｍΔｔ）ｄｕ（ｔ＋Δｔ）＋ｙｎ，Ｃ（ｔ＋（ｍ＋１）Δｔ｜ｔ）と表せる。
【００６１】
そこで、ｔ´＝ｔ＋Δｔとすれば、図６（ｄ）に示すように、相対位置ｍ＝−１の一般化予測値はｙｎ，Ｃ（ｔ´−Δｔ｜ｔ´）、相対位置ｍ＝０の一般化予測値はｙｎ，Ｃ（ｔ´｜ｔ´）、相対位置ｍ＝１の一般化予測値はｙｎ，Ｃ（ｔ´＋Δｔ｜ｔ´）と表せる。ｍ≧２の場合も同様に、ｙｎ，Ｃ（ｔ´＋ｍΔｔ｜ｔ´）と表せる。これにより、予測時系列記憶部１２１に記憶されている時刻ｔでの一般化予測値ｙｎ，Ｃが、時刻ｔ＋Δｔでの一般化予測値ｙｎ，Ｃに更新される。
【００６２】
＜操作変化量算出部１１２の動作＞
次に、操作変化量算出部１１２の動作について、図７を参照しながら説明する。図７は、操作変化量算出部１１２の動作の一例を説明するための図である。
【００６３】
図７に示すように、操作変化量算出部１１２は、補正目標偏差ｅ＊（ｔ）が入力されると、この補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じることで操作変化量ｄｕ（ｔ）を算出し、算出したｄｕ（ｔ）を出力する。例えば、所定の制御ゲインとして積分ゲインｋＩを用いる場合、操作変化量ｄｕ（ｔ）は、ｄｕ（ｔ）＝ｋＩ×ｅ＊（ｔ）で算出される。
【００６４】
ただし、補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じた結果、操作変化量ｄｕの上限値ｄｕｍａｘを超える場合、操作変化量算出部１１２は、ｄｕｍａｘを操作変化量ｄｕ（ｔ）とする。同様に、補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じた結果、操作変化量ｄｕの下限値ｄｕｍｉｎを下回る場合、操作変化量算出部１１２は、ｄｕｍｉｎを操作変化量ｄｕ（ｔ）とする。
【００６５】
＜制御装置１０を用いた制御ループ＞
ここで、本実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合の一例を図８に示す。図８は、第一の実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合の一例を示す図である。
【００６６】
図８に示す例では、以下のように制御ループを構成した。
【００６７】
・制御対象プラント２０の実プラント伝達関数：Ｐ＊（ｓ）
・制御器：Ｋ（ｓ）＝ｋＩ×１／ｓ
・自由応答予測値ｙｎ，Ｂ（ｔ）を生成するフィルタＢ：ＦＢ（ｓ）
・先読み応答予測値ｙｎ，Ａ（ｔ）を生成するフィルタＡ：ＦＡ（ｓ；Ｔｐ）
・先読み目標値ｒ（ｔ＋Ｔｐ）を生成するフィルタＣ：ＦＣ（ｓ；Ｔｐ）
図８に示す例では、フィルタＣが目標値先読み部１０１に相当し、制御器Ｋ（ｓ）が操作変化量算出部１１２に相当する。なお、フィルタＡ及びフィルタＣは、先読み応答補正部１１１が実行する計算を表し、先読み長Ｔｐが出力に影響する。
【００６８】
このとき、フィルタＣ（目標値先読み部１０１）は、制御周期Ｔｃ毎に、目標値時系列｛ｒ（ｔ）｝を入力して、先読み目標値ｒ（ｔ＋Ｔｐ）を出力する。制御器（操作量更新部１０４）は、先読み目標値ｒ（ｔ＋Ｔｐ）と制御量現在値ｙ０との差である目標偏差ｅ０を入力して、操作量ｕ（ｔ）を出力する。
【００６９】
制御器は、制御周期ＴＣ毎に、操作変化量算出部１１２で算出した操作変化量ｄｕを操作量現在値ｕ０に加算する。また、制御器は、上述したように、補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗ずることで、操作変化量ｄｕを算出する。このため、制御器は、積分器で近似することができ、Ｋ（ｓ）＝ｋＩ×１／ｓとなる。なお、制御器には、ｒ（ｔ＋Ｔｐ）−（ｙｎ，Ａ（ｔ）＋ｗ（ｔ））が入力される。また、ｗ（ｔ）＝ｙ（ｔ）＋ｖ（ｔ）−ｙｎ，Ｂ（ｔ）である。
【００７０】
図８に示す例では、全体的な動作として、制御量ｙ（ｔ）がフィルタＡとフィルタＢとによって、時刻Ｔｐ経過後の制御量の推定値（すなわち、先読み応答予測値ｙｎ，Ａ（ｔ）及び自由応答予測値ｙｎ，Ｂ（ｔ））に補正される。そして、補正された制御量が、先読み目標値ｒ（ｔ＋Ｔｐ）と一致するように制御器によって制御される。したがって、本実施形態に係る制御装置１０は、現在時刻ｔからＴｐ経過後の制御量が目標値と一致するような操作量を、従来のモデル予測制御のような最適化演算なしに、決定していると言うことができる。
【００７１】
ここで、例えば、プラントモデルをＰ（ｓ）とし、先読み長Ｔｐをステップ応答が収束すると見做せるほど十分長い値とすると、ＦＡ（ｓ；Ｔｐ）は定常ゲインＰ（０）に等しくなる。このため、本実施形態に係る制御装置１０では、先読み長Ｔｐを、無限大も含めた任意の値に設定することができるものの、例えば、ステップ応答が目標値に収束するまでの値とすることが好ましい。特に、ステップ応答が目標値に到達する８０％程度までの値とすることが好ましい。更に、例えば、ステップ応答の目標値が周期的に変化するような場合には、この変化周期に合せて十分小さい値とすることが好ましい。
【００７２】
以上のように、本実施形態に係る制御装置１０は、任意に設定された先読み長Ｔｐにおける目標値ｒ（ｔ＋Ｔｐ）を先読みし、この先読みした目標値ｒ（ｔ＋Ｔｐ）に制御量を追従させることで、少ない計算資源で、高い制御性能を実現することができる。
【００７３】
＜制御装置１０のハードウェア構成＞
次に、本実施形態に係る制御装置１０のハードウェア構成について、図９を参照しながら説明する。図９は、第一の実施形態に係る制御装置１０のハードウェア構成の一例を示す図である。
【００７４】
図９に示すように、第一の実施形態に係る制御装置１０は、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、ＲＯＭ（Read Only Memory）２０５と、ＲＡＭ２０６と、ＣＰＵ２０７と、補助記憶装置２０８とを有する。これら各ハードウェアは、バス２０９により相互に通信可能に接続されている。
【００７５】
入力装置２０１は、例えば各種ボタンやタッチパネル、キーボード、マウス等であり、制御装置１０に各種の操作を入力するのに用いられる。表示装置２０２は、例えばディスプレイ等であり、制御装置１０による各種の処理結果を表示する。なお、制御装置１０は、入力装置２０１及び表示装置２０２の少なくとも一方を有していなくても良い。
【００７６】
外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。制御装置１０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａの読み取りや書き込みを行うことができる。記録媒体２０３ａには、例えば、ＳＤメモリカード(SD memory card）やＵＳＢメモリ、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）等がある。なお、制御装置１０が有する各機能部を実現する１以上のプログラムは、記録媒体２０３ａに格納されていても良い。
【００７７】
通信Ｉ／Ｆ２０４は、制御装置１０が他の装置とデータ通信を行うためのインタフェースである。なお、制御装置１０が有する各機能部を実現する１以上のプログラムは、通信Ｉ／Ｆ２０４を介して、所定のサーバ等から取得（ダウンロード）されても良い。
【００７８】
ＲＯＭ２０５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。ＲＡＭ２０６は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ２０７は、例えば補助記憶装置２０８やＲＯＭ２０５からプログラムやデータをＲＡＭ２０６に読み出して、各種処理を実行する演算装置である。
【００７９】
補助記憶装置２０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性のメモリである。補助記憶装置２０８に格納されているプログラムやデータには、例えば、制御装置１０が有する各機能部を実現する１以上のプログラムや基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上で動作する各種アプリケーションプログラム等がある。
【００８０】
本実施形態に係る制御装置１０は、図９に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図９では、制御装置１０が１台のコンピュータで実現される場合のハードウェア構成例を示したが、制御装置１０は複数台のコンピュータで実現されていても良い。
【００８１】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態では、制御対象プラント２０に対する予測外乱の時系列データである予測外乱時系列｛ｖ（ｔ）｝が制御装置１０に入力される場合について説明する。これにより、本実施形態に係る制御装置１０は、現在から未来に生じる予測外乱の影響も考慮した制御を行うことができるようになる。
【００８２】
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、その説明を省略又は簡略化する。
【００８３】
＜制御装置１０の構成＞
まず、本実施形態に係る制御装置１０の構成について、図１０を参照しながら説明する。図１０は、第二の実施形態に係る制御装置１０の構成の一例を示す図である。
【００８４】
図１０に示すように、本実施形態に係る制御装置１０は、更に、外乱影響先読み補正部１０６を有する。外乱影響先読み補正部１０６は、例えば、制御装置１０にインストールされた１以上のプログラムがＣＰＵ等に実行させる処理によって実現される。
【００８５】
外乱影響先読み補正部１０６は、制御周期Ｔｃ毎に、予測外乱時系列｛ｖ（ｔ）｝と、先読み長Ｔｐとを入力して、外乱補正値ｖ＊０（ｔ）を算出及び出力する。なお、外乱補正値ｖ＊０（ｔ）の算出方法については後述する。
【００８６】
また、本実施形態に係る差分器１０３は、先読み目標値ｒ（ｔ＋Ｔｐ）と、制御量現在値ｙ０と、外乱補正値ｖ＊０（ｔ）とから先読み目標偏差ｅ０を出力する。本実施形態では、先読み目標偏差ｅ０は、ｅ０＝ｒ（ｔ＋Ｔｐ）−ｙ０（ｔ）−ｖ＊０（ｔ）で表される。すなわち、本実施形態に係る先読み目標偏差ｅ０は、第一の実施形態に係る先読み目標偏差ｅ０から、更に、外乱補正値ｖ＊０（ｔ）を減じたものである。
【００８７】
また、本実施形態に係る先読み応答補正部１１１は、プラント応答モデル｛Ｓ（ｔ）｝と、先読み目標偏差ｅ０（ｔ）と、先読み長Ｔｐと、操作変化量時系列｛ｄｕ（ｔ）｝とに基づいて、補正目標偏差ｅ＊（ｔ）を算出する。このとき、本実施形態では、上記の目標偏差ｅ０（すなわち、外乱補正値ｖ＊０（ｔ）も考慮した目標偏差ｅ０）を補正した補正目標偏差ｅ＊（ｔ）を算出する。
【００８８】
＜外乱影響先読み補正部１０６の動作＞
次に、外乱影響先読み補正部１０６の動作について、図１１を参照しながら説明する。図１１は、外乱影響先読み補正部１０６の動作の一例を説明するための図である。
【００８９】
図１１に示すように、外乱影響先読み補正部１０６は、予測外乱時系列｛ｖ（ｔ）｝と、先読み長Ｔｐとが入力されると、現在時刻ｔから先読み長後の時刻ｔ＋Ｔｐにおける予測外乱ｖ（ｔ＋Ｔｐ）を先読みする。そして、外乱影響先読み補正部１０６は、予測外乱ｖ（ｔ＋Ｔｐ）と、現在時刻ｔの予測外乱ｖ（ｔ）とを用いて、ｖ＊０（ｔ）＝ｆ（ｖ（ｔ＋Ｔｐ）−ｖ（ｔ））により外乱補正値ｖ＊０（ｔ）を算出し、算出した外乱補正値ｖ＊０（ｔ）を出力する。なお、ｆは、外乱補正関数である。外乱補正関数ｆとしては任意の関数を用いることができる。
【００９０】
なお、目標値先読み部１０１とは異なり、外乱影響先読み補正部１０６は、時刻ｔ＋Ｔｐにおける予測外乱ｖ（ｔ＋Ｔｐ）を出力するわけではない。この理由は、外乱ｖの影響は制御装置１０によるフィードバックにより徐々に低減されていくためである。一例を挙げると、目標値ｒ（ｔ）が一定、かつ、時刻ｔでｅ０（ｔ）＝０、ｖ（ｔ）＝０であり、外乱ｖ（ｔ）が制御装置１０の制御周期と比べて非常にゆっくりと徐々に変化する場合、外乱補正値ｖ＊０（ｔ）の補正効果によって操作量が時刻ｔから時刻ｔ＋Ｔの間継続的に補正されるため、時刻ｔ＋Ｔ後には、フィードバックによりｅ０（ｔ＋Ｔ）は０付近に維持され、結果として時刻ｔ＋Ｔ後に入力する外乱ｖ（ｔ＋Ｔ）の影響はその値に関わらずほとんど生じない。外乱補正関数ｆは、このフィードバックループによる低減効果を表したものということができる。
【００９１】
＜先読み応答補正部１１１の動作＞
次に、先読み応答補正部１１１の動作について、図１２を参照しながら説明する。図１２は、先読み応答補正部１１１の動作の一例を説明するための図である。
【００９２】
図１２に示すように、先読み応答補正部１１１は、第一の実施形態に係る補正目標偏差ｅ＊（ｔ）に対して、外乱補正値ｖ＊０（ｔ）だけ補正された値である。すなわち、本実施形態に係るｅ＊（ｔ）は、ｅ＊（ｔ）＝ｒ（ｔ＋Ｔｐ）−（ｙ０（ｔ）＋ｙｎ（ｔ）＋ｖ＊０（ｔ））＝ｅ０（ｔ）−ｙｎ（ｔ）−ｖ＊０（ｔ）で表される。
【００９３】
＜制御装置１０を用いた制御ループ＞
ここで、本実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合の一例を図１３に示す。図１３は、第二の実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合の一例を示す図である。
【００９４】
図１３に示す例では、図８に示した制御ループに対して、以下を追加して構成したものである。
【００９５】
・外乱補正値ｖ＊０（ｔ）を生成するフィルタＤ：ＦＤ（ｓ；Ｔｐ）
図１３に示す例では、フィルタＤが外乱影響先読み補正部１０６に相当する。なお、フィルタＤは、先読み長Ｔｐが出力に影響する。
【００９６】
外乱補正値ｖ＊０（ｔ）が制御ループに加わることにより、目標値ｒ（ｔ）だけでなく、予測外乱ｖ（ｔ）も含めた制御を実現することができる。
【００９７】
図１３に示す例では、全体的な動作として、制御量ｙ（ｔ）がフィルタＡとフィルタＢとによって、時刻Ｔｐ経過後の制御量の推定値（すなわち、先読み応答予測値ｙｎ，Ａ（ｔ）及び自由応答予測値ｙｎ，Ｂ（ｔ））に補正されると共に、更に、外乱補正値ｖ＊０（ｔ）によっても補正される。そして、補正された制御量が、先読み目標値ｒ（ｔ＋Ｔｐ）と一致するように制御器によって制御される。したがって、本実施形態に係る制御装置１０は、現在時刻ｔからＴｐ経過後の制御量に外乱補正値が加わった値が目標値と一致するような操作量を、従来のモデル予測制御のような最適化演算なしに、決定していると言うことができる。
【００９８】
例えば、本実施形態に係る制御装置１０により室内の温度制御を行う場合を考える。外気温度による室内温度への影響を外乱ｖとし、室内温度を制御量ｙとする。また、目標とする室内温度を目標値ｒとする。ここで、室内温度の現在値が２０℃、外気温度の現在値が１０℃、目標値が２５℃、先読み長を５分とし、過去の操作量の影響がないと仮定する。このとき、外気温度予測により、外気温度が５分経過後に１０℃から１５℃に上昇し、室内温度を３℃上昇させるように働くことを予測したとする。すると、本実施形態に係る制御装置１０は、外乱補正値が３℃であるため、室内温度を現在値の２０℃から２℃上昇させるための操作量を決定する。一方で、第一の実施形態に係る制御装置１０では、外乱影響先読み補正部１０６を有しないため、室内温度を２０℃から５℃上昇させるための操作量を決定する。
【００９９】
このように、外乱予測時系列が与えられている場合、本実施形態に係る制御装置１０は、第一の実施形態と比べて、より少ない操作量で、制御量を目標値に追従させることができるようになる。
【０１００】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態では、操作量ｕ（ｔ）が離散値である場合について説明する。
【０１０１】
ところで、従来技術として、例えば、制御装置の操作量がＯＮ／ＯＦＦ等の離散値しか取りえない場合に、一旦連続値として計算した操作量をＰＷＭ（Pulse Width Modulation）変調によって離散化する方法が知られている。また、離散値の最適化問題として整数計画問題や混合整数計画問題等が知られており、これら離散値の最適化問題を解く方法も知られている。
【０１０２】
しかしながら、例えば、ＰＷＭ変調によって離散化する方法では、例えば、搬送波の周期毎に、操作量がＯＮである時間と操作量がＯＦＦである時間との割合が決定されるが、ＯＮとＯＦＦとが必ず交互に行われる。このため、例えば、不要なスイッチングが発生する、スイッチングを抑制するために搬送波周波数を下げると制御精度が悪化する、等の問題がある。他方で、例えば、離散値の最低化問題を解くことでモデル予測制御を行う場合、整数計画問題や混合整数計画問題等のＮＰ困難な問題を解く必要があり、オンラインで最適化演算を行うことは困難である。
【０１０３】
そこで、第三の実施形態では、ＰＷＭ変調によって離散化する方法のように事前に設定される搬送波周波数に依らずに、また、整数計画問題や混合整数計画問題等を解くことなく、高速かつ高精度な制御を実現する場合について説明する。
【０１０４】
なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の構成要素については、その説明を省略又は簡略化する。
【０１０５】
＜制御装置１０の機能構成＞
第三の実施形態に係る制御装置１０の機能構成は第一の実施形態と同様であるが、操作変化量算出部１１２の機能が異なる。本実施形態に係る操作変化量算出部１１２は、制御周期Ｔｃ毎に、操作変化量算出処理を実行して、離散化された操作変化量ｄｕを算出する。ここで、操作変化量算出処理では、補正目標偏差ｅ＊（ｔ）に基づいて離散化前操作変化量ｄｕ１を算出した後、この離散化前操作変化量ｄｕ１を離散化関数πによって離散化することで、操作変化量ｄｕを算出する。
【０１０６】
＜操作変化量算出部１１２が実行する操作変化量算出処理＞
次に、操作変化量算出部１１２が実行する操作変化量算出処理について、図１４を参照しながら説明する。図１４は、第三の実施形態に係る操作変化量算出部１１２が実行する操作変化量算出処理の一例を説明するためのフローチャートである。
【０１０７】
ステップＳ１１：まず、操作変化量算出部１１２は、補正目標偏差ｅ＊（ｔ）が入力されると、この補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じることで離散化前操作変化量ｄｕ１（ｔ）を算出する。例えば、所定の制御ゲインとして積分ゲインｋＩを用いる場合、離散化前操作変化量ｄｕ１（ｔ）は、ｄｕ１（ｔ）＝ｋＩ×ｅ＊（ｔ）で算出される。
【０１０８】
ステップＳ１２：次に、操作変化量算出部１１２は、離散化前操作変化量ｄｕ１（ｔ）を離散化関数πによって離散化することで、操作変化量ｄｕ（ｔ）を算出する。ここで、離散化関数πは、各ｉ（ｉは自然数）に対して、π（ｘ）＝ａｉ  （ｂｉ≦ｘ≦ｂｉ＋１）の形で定義されており、所定の区間（つまり、ｂｉ≦ｘ≦ｂｉ＋１）毎に、離散値ａｉを割り当てる関数（つまり、ｘが属する区間に応じて、ｘを離散値ａｉに変換する関数）である。この離散化関数πを用いて、操作変化量ｄｕ（ｔ）は、ｄｕ（ｔ）＝π（ｄｕ１（ｔ））により算出される。
【０１０９】
＜制御装置１０を用いた制御ループ＞
ここで、本実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合の一例を図１５に示す。図１５は、第三の実施形態に係る制御装置１０を用いて、制御対象プラントの制御ループを構成した場合の一例を示す図である。
【０１１０】
図１５に示す例では、以下のように制御ループを構成した。なお、制御器以外は図８に示した例と同様である。
【０１１１】
・制御対象プラント２０の実プラント伝達関数：Ｐ＊（ｓ）
・制御器：Ｋ（ｓ；π）
・自由応答予測値ｙｎ，Ｂ（ｔ）を生成するフィルタＢ：ＦＢ（ｓ）
・先読み応答予測値ｙｎ，Ａ（ｔ）を生成するフィルタＡ：ＦＡ（ｓ；Ｔｐ）
・先読み目標値ｒ（ｔ＋Ｔｐ）を生成するフィルタＣ：ＦＣ（ｓ；Ｔｐ）
ここで、制御器Ｋ（ｓ；π）は、上述したように、補正目標偏差ｅ＊に制御ゲインｋＩを乗じた後、離散化関数πにより操作変化量ｄｕを算出する。このため、制御器Ｋ（ｓ；π）は、例えば、Ｋ（ｓ；π）ｅ＝π（ｋＩ×ｅ）×１／ｓと非線形積分器で近似することができる。
【０１１２】
図１５に示す例では、図８に示した例と同様に、全体的な動作として、制御量ｙ（ｔ）がフィルタＡとフィルタＢとによって、時刻Ｔｐ経過後の制御量の推定値（すなわち、先読み応答予測値ｙｎ，Ａ（ｔ）及び自由応答予測値ｙｎ，Ｂ（ｔ））に補正される。そして、補正された制御量が、先読み目標値ｒ（ｔ＋Ｔｐ）と一致するように制御器によって制御される。したがって、本実施形態に係る制御装置１０は、現在時刻ｔからＴｐ経過後の制御量が目標値と一致するような操作量を、従来のモデル予測制御のような最適化演算なしに、決定していると言うことができる。
【０１１３】
また、図１５に示す例では、更に、操作量の離散化を予め設定した離散化関数πを用いて行っているため、整数計画問題や混合整数計画問題等を解く必要がない。一方で、離散化された操作変化量ｄｕは、フィルタＡ及びフィルタＢに入力されるため、補正目標偏差ｅ＊の計算には離散化の影響が反映される。
【０１１４】
なお、仮に、先読み長を、ステップ応答が収束すると見做せる程に十分長い値とすると、ＦＡ（ｓ；Ｔｐ）は定常ゲインＰ（０）に等しくなり、結果として、特許文献２に記載されている制御ループと一致する。したがって、本実施形態では、特許文献２と比較して、Ｔｐを無限大にとるだけでなく、任意の値に設定することもでき、かつ、目標値時系列の先読み機能を有する点でより効果的な制御が可能となる。
【０１１５】
［第四の実施形態］
次に、第四の実施形態について説明する。第四の実施形態では、第三の実施形態で説明した離散化関数πをパラメータ化した上で、シミュレーション最適化によって当該パラメータを最適化する場合について説明する。
【０１１６】
なお、第四の実施形態では、主に、第三の実施形態との相違点について説明し、第三の実施形態と実質的に同一の構成要素については、その説明を省略又は簡略化する。
【０１１７】
＜制御装置１０の構成＞
まず、本実施形態に係る制御装置１０の構成について、図１６を参照しながら説明する。図１６は、第四の実施形態に係る制御装置１０の構成の一例を示す図である。
【０１１８】
図１６に示すように、本実施形態に係る制御装置１０は、更に、離散化パラメータ最適化部１０７を有する。離散化パラメータ最適化部１０７は、例えば、制御装置１０にインストールされた１以上のプログラムがＣＰＵ等に実行させる処理によって実現される。
【０１１９】
離散化パラメータ最適化部１０７は、離散化関数πの最適パラメータ算出処理を実行して、離散化関数πの最適パラメータを算出する。ここで、離散化関数πの最適パラメータ算出処理では、離散化関数πのパラメータの探索範囲を設定した上で、制御シミュレーションの実行結果を用いてパラメータを評価することで、最適パラメータを算出する。なお、以降では、離散化関数πのパラメータをθとして、この１つのパラメータθで表された離散化関数πを
【０１２０】
【数８】
2019145098.tif 000010
とする。つまり、上記の数８に示す離散化関数πは、所定の区間を１つのパラメータθで定義している。ただし、これは一例であって、離散化関数πは、任意の数のパラメータθ１，θ２，・・・，θＬで表されていてもよい。
【０１２１】
＜離散化関数πの最適パラメータ算出処理＞
次に、離散化関数πの最適パラメータθ＊の算出処理について、図１７を参照しながら説明する。図１７は、第四の実施形態に係る離散化関数πの最適パラメータ算出処理の一例を説明するためのフローチャートである。
【０１２２】
ステップＳ２１：まず、離散化パラメータ最適化部１０７は、離散化関数πのパラメータθの探索範囲を設定する。離散化パラメータ最適化部１０７は、例えば、パラメータθの探索範囲を０≦θ≦θｍａｘと設定する。ここで、θｍａｘはパラメータθが取り得る値の最大値であるが、本実施形態では、例えば、θｍａｘ＝１とすればよい。
【０１２３】
ステップＳ２２：次に、離散化パラメータ最適化部１０７は、上記のステップＳ２１で設定された探索範囲の中からパラメータθを１つ選択する。離散化パラメータ最適化部１０７は、例えば、探索範囲が０≦θ≦θｍａｘである場合、この探索範囲をＮ´等分して、１／Ｎ´間隔で、θ＝０からθ＝θｍａｘまで昇順に選択すればよい。この場合、θ＝０，θ＝（１／Ｎ´）θｍａｘ，θ＝（２／Ｎ´）θｍａｘ，・・・，θ＝（（Ｎ´−１）／Ｎ´）θｍａｘ，θ＝θｍａｘが順に選択される。
【０１２４】
ステップＳ２３：次に、制御装置１０は、上記のステップＳ２２で選択されたパラメータθが設定された離散化関数πを用いて、プラントモデルと当該制御装置１０との閉ループ動作の制御シミュレーションを所定の時間の間実行して、制御量ｙ（ｔ）と、操作量ｕ（ｔ）と、操作変化量ｄｕ（ｔ）とを計算する。なお、目標値時系列｛ｒ（ｔ）｝は任意に設定すればよい。
【０１２５】
例えば、制御装置１０は、図１８（ａ）に示す目標値時系列｛ｒ（ｔ）｝を用いて、ｔ＝０からｔ＝３８まで制御シミュレーションを実行する。或るパラメータθが設定された離散化関数πを用いた制御シミュレーションにより、例えば、図１８（ａ）に示す制御量ｙ（ｔ）と、図１８（ｂ）に示す操作量ｕ（ｔ）及び操作変化量ｄｕ（ｔ）とが得られる。
【０１２６】
ステップＳ２４：次に、離散化パラメータ最適化部１０７は、上記のステップＳ２２で得られた制御量ｙ（ｔ）と操作量ｕ（ｔ）と操作変化量ｄｕ（ｔ）とを用いて、評価関数Ｊを計算する。この評価関数Ｊは、以下で表される。
【０１２７】
【数９】
2019145098.tif 000011
ここで、λはユーザによって設定される任意の重みである。また、評価関数Ｊｅ及びＪｄｕを以下で定義する。
【０１２８】
【数１０】
2019145098.tif 000012
すなわち、評価関数Ｊｅは目標偏差ｅに対する評価関数であり、目標値ｒ（ｔ）と制御量ｙ（ｔ）との２乗誤差を積分した値である。一方で、評価関数Ｊｄｕは操作変化量ｄｕに対する評価関数であり、操作変化量ｄｕの２乗を積分した値である。
【０１２９】
なお、上記の評価関数Ｊｅ及びＪｄｕは一例であって、２乗誤差や２乗以外にも、例えば、時系列の中での絶対値の最大値（∞ノルム）や絶対値の積分値（Ｌ１ノルム）等、制御分野で用いられる任意の関数が用いられてもよい。
【０１３０】
ステップＳ２５：次に、離散化パラメータ最適化部１０７は、上記のステップＳ２１で設定された探索範囲の探索が完了したか否かを判定する。すなわち、離散化パラメータ最適化部１０７は、上記のステップＳ２２で、探索範囲中の全てのパラメータθが選択されたか否かを判定する。
【０１３１】
ステップＳ２５で探索範囲の探索が完了したと判定されなかった場合、ステップＳ２２に戻る。これにより、探索範囲中の全てのパラメータθが選択されるまで、ステップＳ２２〜ステップＳ２４が繰り返し実行される。一方で、ステップＳ２５で探索範囲の探索が完了したと判定された場合、ステップＳ２６に進む。
【０１３２】
ステップＳ２６：次に、離散化パラメータ最適化部１０７は、上記のステップＳ２２で選択された各パラメータθのうち、評価関数Ｊの値が最適（本実施形態では最小）となるパラメータθを最適パラメータθ＊とする。これにより、量子化関数πの最適パラメータθ＊が得られる。
【０１３３】
［実施例１］
次に、実施例１について説明する。実施例１では、第一の実施形態に係る制御装置１０によって制御対象プラント２０を制御する場合について説明する。実施例１においては、通常、ＰＩＤ制御では制御しにくい、逆応答のある制御対象プラント２０に対しても高い制御性能が達成できることを示す。
【０１３４】
まず、制御対象プラント２０のプラント応答モデルを図１９に示す。図１９に示すように、実施例１における制御対象プラント２０のプラント応答モデルでは、ステップ応答の初期（おおよそ０から１の間）で逆応答が生じており、一般に制御しにくい対象である。
【０１３５】
また、実施例１では、特許文献１に開示されている制御系設計支援装置にて制御ゲインを設計するものとする。この制御系設計支援装置に入力される各情報（制御仕様を示す情報）を図２０（ａ）〜図２０（ｃ）に示す。図２０（ａ）は、各操作時刻における操作変化量上下限である。図２０（ｂ）は、各制御時刻における許容目標偏差制約である。図２０（ｃ）は、制御応答波形である。これらの各情報が上記の制御系設計支援装置に入力されることで、図２１に示す領域Ｒが出力される。領域Ｒは、補正目標偏差ｅ＊と操作変化量ｄｕとが、図２０（ａ）〜図２０（ｃ）に示した各情報を満たす領域、すなわち、制御ゲインの許容範囲を表すグラフである。
【０１３６】
ここで、実施例１では、図２１に示される領域Ｒを参考に、この領域Ｒの中心付近を通る値０．７１６を制御ゲインとして選択したものとする。すなわち、ｄｕ（ｔ）＝０．７１６×ｅ＊（ｔ）となる。
【０１３７】
このとき、第一の実施形態に係る制御装置１０を用いて、先読み長Ｔｐ＝２．０として制御対象プラント２０を制御した場合の制御結果を図２２に示す。図２２（ａ）は、制御量ｙ（ｔ）と、目標値ｒ（ｔ）と、補正目標偏差ｅ＊（ｔ）との時刻変化を示したグラフである。図２２（ｂ）は、操作量ｕ（ｔ）と、操作変化量ｄｕ（ｔ）との時刻変化を示したグラフである。
【０１３８】
図２２（ａ）の制御量ｙ（ｔ）のグラフからわかるように、一度時刻ｔ＝２付近で逆応答があるものの、制御量ｙ（ｔ）は、時刻ｔ＝１０付近で目標値ｒ（ｔ）に収束している。
【０１３９】
一方で、第一の実施形態に係る制御装置１０を用いて、先読み長Ｔｐ＝０．０として制御対象プラント２０を制御した場合の制御結果を図２３に示す。図２３（ａ）は、制御量ｙ（ｔ）と、目標値ｒ（ｔ）と、補正目標偏差ｅ＊（ｔ）との時刻変化を示したグラフである。図２３（ｂ）は、操作量ｕ（ｔ）と、操作変化量ｄｕ（ｔ）との時刻変化を示したグラフである。
【０１４０】
図２３（ａ）の制御量ｙ（ｔ）のグラフからわかるように、制御量ｙ（ｔ）は目標値ｒ（ｔ）に収束しておらず、振動的な応答となっている。これは、Ｔｐ＝０．０である場合、目標値ｒ（ｔ）の先読みによる効果が働いておらず、通常のＰＩＤ制御と等しくなるためである。
【０１４１】
図２２（ａ）と図２３（ａ）とを比較すればわかるように、第一の実施形態に係る制御装置１０を用いることで、先読み長Ｔｐ＝２．０とした、目標値ｒ（ｔ）の先読みによる効果によって、大幅に制御応答が改善される。
【０１４２】
［実施例２］
次に、実施例２について説明する。実施例２でも、第一の実施形態に係る制御装置１０によって制御対象プラント２０を制御する場合について説明する。実施例２においては、制御対象プラント２０のプラントモデルに不確かさがある場合であっても高い制御性能が達成できることを示す。
【０１４３】
まず、制御対象プラント２０のプラント応答モデルとして、ステップ応答モデルを図２４に示す。実施例２では、制御対象プラント２０の制御ゲインが変動する可能性があり、図２４に示すように、モデルＡ、モデルＢ、モデルＣの時定数が異なる３つのモデルを想定する。これらのモデルのうち、第一の実施形態に係る制御装置１０に入力及び設定されるモデルとしてモデルＢを用いるものとする。このような時定数が異なるモデルが想定される制御対象プラント２０の具体例としては、例えば、室内温度によって温調設備の起動後の稼働状態（言い換えれば、温調設備の立ち上がり）が異なり得るような制御対象が挙げられる。
【０１４４】
また、特許文献１に開示されている制御系設計支援装置に入力される各情報（設計仕様を示す情報）を図２５（ａ）及び図２５（ｂ）に示す。図２５（ａ）は、各操作時刻における操作変化量上下限である。図２５（ｂ）は、各制御時刻における許容目標偏差制約である。なお、制御応答波形は、図２４に示すモデルＡ、モデルＢ及びモデルＣそれぞれの制御応答波形を用いる。
【０１４５】
これらの各情報が上記の制御系設計支援装置に入力されることで、図２６（ａ）〜図２６（ｃ）にそれぞれ示す領域ＲＡ〜領域ＲＢが出力される。すなわち、図２６（ａ）は、モデルＡの制御応答波形を用いた場合における制御ゲインの許容範囲を表すグラフである。図２６（ｂ）は、モデルＢの制御応答波形を用いた場合における制御ゲインの許容範囲を表すグラフである。図２６（ｃ）は、モデルＣの制御応答波形を用いた場合における制御ゲインの許容範囲を表すグラフである。
【０１４６】
ここで、図２６（ａ）〜図２６（ｃ）にそれぞれ示されたグラフを重ね合わせた結果を図２６（ｄ）に示す。実施例２では、図２６（ｄ）に示される領域（図２６（ａ）〜図２６（ｃ）にそれぞれ示されたグラフを重ね合わせた領域）の中心付近を通る値０．６４９を制御ゲインとして選択したものとする。すなわち、ｄｕ（ｔ）＝０．６４９×ｅ＊（ｔ）となる。
【０１４７】
このとき、第一の実施形態に係る制御装置１０を用いて、先読み長Ｔｐ＝２．０として制御対象プラント２０を制御した場合の制御結果を図２７に示す。図２７（ａ）は、制御対象プラント２０のプラント応答モデルがモデルＡである場合における制御量ｙ（ｔ）と、目標値ｒ（ｔ）と、補正目標偏差ｅ＊（ｔ）との時刻変化を示したグラフである。図２７（ｂ）は、制御対象プラント２０のプラント応答モデルがモデルＡである場合における操作量ｕ（ｔ）と、操作変化量ｄｕ（ｔ）との時刻変化を示したグラフである。
【０１４８】
また、図２７（ｃ）は、制御対象プラント２０のプラント応答モデルがモデルＢである場合における制御量ｙ（ｔ）と、目標値ｒ（ｔ）と、補正目標偏差ｅ＊（ｔ）との時刻変化を示したグラフである。図２７（ｄ）は、制御対象プラント２０のプラント応答モデルがモデルＢである場合における操作量ｕ（ｔ）と、操作変化量ｄｕ（ｔ）との時刻変化を示したグラフである。
【０１４９】
同様に、図２７（ｅ）は、制御対象プラント２０のプラント応答モデルがモデルＣである場合における制御量ｙ（ｔ）と、目標値ｒ（ｔ）と、補正目標偏差ｅ＊（ｔ）との時刻変化を示したグラフである。図２７（ｆ）は、制御対象プラント２０のプラント応答モデルがモデルＣである場合における操作量ｕ（ｔ）と、操作変化量ｄｕ（ｔ）との時刻変化を示したグラフである。
【０１５０】
図２７（ａ）、図２７（ｃ）及び図２７（ｅ）のそれぞれのグラフからわかるように、制御対象プラント２０のプラント応答モデルがモデルＡ、モデルＢ及びモデルＣのいずれの場合であっても、目標値ｒ（ｔ）に収束しており、高い制御性能が実現できていることがわかる。すなわち、第一の実施形態に係る制御装置１０は、制御対象プラント２０のプラントモデルに不確かさがある場合であっても、高いロバスト性を有する制御が実現できることがわかる。
【０１５１】
ここで、上記のモデルＢが入力及び設定された制御装置１０を用いて、目標値ｒ（ｔ）が時刻と共に変動する場合における制御結果を図２８に示す。図２８（ａ）及び図２８（ｂ）は、Ｔｐ＝２．０とした場合の制御結果である。一方で、図２８（ｃ）及び図２８（ｄ）は、Ｔｐ＝０とした場合の制御結果である。
【０１５２】
図２８（ａ）と図２８（ｃ）とを比較すればわかるように、Ｔｐ＝２．０とした場合の方が、制御量ｙ（ｔ）のピークと、目標値（ｔ）のピークとがより近い値となっていることがわかる。また、図２８（ｂ）と図２８（ｄ）とを比較すればわかるように、Ｔｐ＝２．０とした場合の方が、操作量ｕ（ｔ）の変化幅も少ない。したがって、第一の実施形態に係る制御装置１０を用いることで、目標値ｒ（ｔ）の先読みによる効果によって、高い制御性能を実現できているということができる。本実施例のように、目標値が周期的に変動する場合、先読み長Ｔｐは、変動周期を大幅に超えることがなく、かつ、短すぎない適切な長さに設定することが望ましい。
【０１５３】
［実施例３］
次に、実施例３について説明する。実施例３では、第二の実施形態に係る制御装置１０によって制御対象プラント２０を制御する場合（すなわち、予測外乱時系列｛ｖ（ｔ）｝が与えられる場合）について説明する。実施例３においては、予測外乱時系列｛ｖ（ｔ）｝が与えられた場合に高い制御性能が達成できることを示す。
【０１５４】
なお、第二の実施形態に係る制御装置１０に入力及び設定されるプラント応答モデルは、実施例２のモデルＢであり、制御ゲインも実施例２で同様であるものとする。
【０１５５】
また、実施例３では、目標値ｒ（ｔ）が０に固定されており、制御対象プラント２０に対する外乱が変動し、この外乱の未来の値が予め外乱予測時系列｛ｖ（ｔ）｝として与えられるものとする。第二の実施形態に係る制御装置１０に入力される外乱予測時系列｛ｖ（ｔ）｝を図２９に示す。この外乱予測時系列｛ｖ（ｔ）｝に対して、外乱影響先読み補正部１０６は、外乱補正関数ｆとして、ｆ（ｘ）＝０．５ｘを用いるものとする。すなわち、外乱補正値ｖ＊０（ｔ）は、ｖ＊０（ｔ）＝０．５（ｖ（ｔ＋Ｔｐ）−ｖ（ｔ））で算出されるものとする。
【０１５６】
このように、実施例３の外乱補正値ｖ＊０（ｔ）は、先読みした予測外乱ｖ（ｔ＋Ｔｐ）と、外乱の現在値ｖ（ｔ）との差に対して、所定の乗数を掛けた値であるものとする。なお、乗数＝０．５は一例である。乗数としては、例えば、０より大で１未満の任意の乗数を用いることができる。
【０１５７】
このとき、第二の実施形態に係る制御装置１０を用いて、制御対象プラント２０を制御した場合の制御結果を図３０に示す。図３０（ａ）及び図３０（ｂ）は、Ｔｐ＝２．０とした場合の制御結果である。一方で、図３０（ｃ）及び図３０（ｄ）は、Ｔｐ＝０とした場合の制御結果である。
【０１５８】
図３０（ａ）に示されるように、Ｔｐ＝２．０とした場合の制御量ｙ（ｔ）のピークはおよそ０．１２付近であることがわかる。一方で、図３０（ｂ）に示されるように、Ｔｐ＝０とした場合の制御量ｙ（ｔ）のピークはおよそ０．６付近であることがわかる。このように、Ｔｐ＝２．０とした場合とＴｐ＝０とした場合とでは、およそ５倍（＝０．６／０．１２）のピーク幅の違いあり、Ｔｐ＝２．０とした場合の方が、ピークが１／５に抑制された高い制御性能を実現できていることがわかる。したがって、第二の実施形態に係る制御装置１０を用いることで、目標値ｒ（ｔ）の先読みによる効果と、外乱影響の先読み及び補正の構成とによって、高い制御性能を実現できているということができる。
【０１５９】
［実施例４］
次に、実施例４について説明する。実施例４では、第四の実施形態に係る制御装置１０によって制御対象プラント２０を制御する場合について説明する。実施例４では、操作量ｕ（ｔ）は、離散値（＋１，０，−１）しか取り得ないものとする。操作量ｕ（ｔ）が離散値しか取りえない場合は、例えば、温調におけるヒーターのＯＮ／ＯＦＦ制御、２レベルインバータ、３レベルインバータ、ＤＣ／ＤＣコンバータ、化学プラントにおける加温／冷却制御、信号処理におけるＡ／Ｄ変換等の様々な産業分野で現れる。
【０１６０】
実施例４においては、操作量ｕ（ｔ）が離散値のみであるため、従来のＰＩＤ制御やＭＰＣ等では制御しにくい制御対象プラント２０に対しても高い制御性能が達成できることを示す。また、制御対象プラント２０のモデルに不確かさがある場合においても、高い制御性能が達成できることを示す。
【０１６１】
まず、制御対象プラント２０のプラント応答モデルを図３１に示す。図３１に示すように、実施例４における制御対象プラント２は、ステップ応答が変動する可能性があり、モデルＤ及びモデルＥの過渡応答の異なる２つのモデルを想定する。これらモデルＤ及びモデルＥのうち、モデルＤを、制御装置１０の先読み応答補正部１１１に設定するモデルとして用いる。
【０１６２】
また、実施例４では、特許文献３に開示されている制御系設計支援装置にて制御ゲインを設計するものとする。この制御系設計支援装置に入力される各情報（制御仕様を示す情報）を図３２（ａ）〜図３２（ｃ）に示す。図３２（ａ）は、各操作時刻における操作変化量上下限である。図３２（ｂ）は、各制御時刻における許容目標偏差制約である。図３２（ｃ）は、制御応答波形である。これらの各情報が上記の制御系設計支援装置に入力されることで、図３３に示す領域Ｒが出力される。領域Ｒは、補正目標偏差ｅ＊と操作変化量ｄｕとが、図３２（ａ）〜図３２（ｃ）に示した各情報を満たす領域、すなわち、制御ゲインの許容範囲を表すグラフである。
【０１６３】
ここで、実施例４では、図３３に示される領域Ｒを参考に、この領域Ｒの中心付近を通る値０．５２７を制御ゲインとして選択したものとする。すなわち、ｄｕ（ｔ）＝０．５２７×ｅ＊（ｔ）となる。
【０１６４】
このとき、第四の実施形態に係る制御装置１０を用いて、制御周期Ｔｃ＝０．３、先読み長Ｔｐ＝１．８として制御対象プラント２０を制御した場合の評価関数の計算結果を図３４〜図３６に示す。なお、上記の数８に示す離散化関数πを用いて、そのパラメータをθ（このθを「離散化パラメータ」とも表す。）とする。また、評価関数Ｊの重みλはλ＝０．５とした。
【０１６５】
図３４（ｂ）は、図３４（ａ）に示す目標値時系列｛ｒ（ｔ）｝と、モデルＤとを用いた評価関数の計算結果である。一方で、図３４（ｃ）は、図３４（ａ）に示す目標値時系列｛ｒ（ｔ）｝と、モデルＥとを用いた評価関数の計算結果である。なお、図３４（ａ）に示す目標値時系列｛ｒ（ｔ）｝は、そのピークが１．３である。
【０１６６】
同様に、図３５（ｂ）は、図３５（ａ）に示す目標値時系列｛ｒ（ｔ）｝と、モデルＤとを用いた評価関数の計算結果である。一方で、図３５（ｃ）は、図３５（ａ）に示す目標値時系列｛ｒ（ｔ）｝と、モデルＥとを用いた評価関数の計算結果である。なお、図３５（ａ）に示す目標値時系列｛ｒ（ｔ）｝は、そのピークが１．０である。
【０１６７】
同様に、図３６（ｂ）は、図３６（ａ）に示す目標値時系列｛ｒ（ｔ）｝と、モデルＤとを用いた評価関数の計算結果である。一方で、図３６（ｃ）は、図３６（ａ）に示す目標値時系列｛ｒ（ｔ）｝と、モデルＥとを用いた評価関数の計算結果である。なお、図３６（ａ）に示す目標値時系列｛ｒ（ｔ）｝は、そのピークが０．５である。
【０１６８】
図３４〜図３６に示される計算結果によれば、評価関数Ｊｄｕに関してはθが小さい程その値が大きい、すなわち、操作変化量ｄｕの２乗積分値が大きく、高頻度にスイッチングする傾向があることがわかる。一方で、評価関数Ｊｅに関してはθが或る値以下では凸状となる傾向があるが、θが或る程度大きいと大きな値となる傾向があることがわかる。
【０１６９】
これらの計算結果により、本実施例では、評価関数Ｊが最適となる離散化パラメータθは、０．２〜０．３であることがわかる。
【０１７０】
また、第四の実施形態に係る制御装置１０を用いて、制御周期Ｔｃ＝０．３、先読み長Ｔｐ＝１．８、離散化パラメータθ＝０．２として制御対象プラント２０を制御した場合の制御結果を図３７〜図３９に示す。
【０１７１】
図３７（ａ）及び（ｂ）は、目標値時系列｛ｒ（ｔ）｝のピークが１．３である場合に、モデルＤを用いて制御対象プラント２０を制御した制御結果である。一方で、図３７（ｃ）及び（ｄ）は、目標値時系列｛ｒ（ｔ）｝のピークが１．３である場合に、モデルＥを用いて制御対象プラント２０を制御した制御結果である。
【０１７２】
同様に、図３８（ａ）及び（ｂ）は、目標値時系列｛ｒ（ｔ）｝のピークが１．０である場合に、モデルＤを用いて制御対象プラント２０を制御した制御結果である。一方で、図３８（ｃ）及び（ｄ）は、目標値時系列｛ｒ（ｔ）｝のピークが１．０である場合に、モデルＥを用いて制御対象プラント２０を制御した制御結果である。
【０１７３】
同様に、図３９（ａ）及び（ｂ）は、目標値時系列｛ｒ（ｔ）｝のピークが０．５である場合に、モデルＤを用いて制御対象プラント２０を制御した制御結果である。一方で、図３９（ｃ）及び（ｄ）は、目標値時系列｛ｒ（ｔ）｝のピークが０．５である場合に、モデルＥを用いて制御対象プラント２０を制御した制御結果である。
【０１７４】
図３７〜図３９に示される制御結果によれば、いずれも操作量ｕ（ｔ）が離散値（＋１，０，−１）であるものの、制御量ｙ（ｔ）が、ステップ状に変化する目標値ｒ（ｔ）に追従していることがわかる。また、制御対象プラント２０のモデルがモデルＤ（つまり、ノミナルモデル）であっても、モデルＥ（つまり、変動モデル）であっても、追従可能であることがわかる。
【０１７５】
更に、図３７〜図３９に示される制御結果より、操作量の変化頻度が目標値時系列の形状パターンや、目標値の変化タイミングで異なっていることがわかる。これは、ＰＷＭ変調を用いた制御にはない、可変の変調周期を持った制御といえる。
【０１７６】
また、第四の実施形態に係る制御装置１０を用いて、制御周期Ｔｃ＝０．３、先読み長Ｔｐ＝１．８、離散化パラメータθ＝０．２、目標値時系列｛ｒ（ｔ）｝のピークを１．０として、制御対象プラント２０を制御した場合の制御結果を図４０に示す。図４０（ａ）及び（ｂ）と図３８（ａ）及び（ｂ）とを比較すると共に、図４０（ｃ）及び（ｄ）と図３８（ｃ）及び（ｄ）とを比較すると、θを０．２から０．５に変更した場合、評価関数Ｊｄｕは小さくなるものの、評価関数Ｊｅが増大することがわかる。
【０１７７】
このため、第四の実施形態に係る制御装置１０は、離散化パラメータθを評価関数Ｊに基づき最適化することで、目標値追従性と操作量変化頻度とのバランスを最適化することができる。
【０１７８】
以下の表１に、本実施例とＰＷＭ変調方式とを比較した比較結果を示す。
【０１７９】
【表１】
2019145098.tif 000013
この表１に示されるように、変換方式として、本実施例では離散化関数を用いるのに対して、ＰＷＭ変調方式では動的に変化する搬送波（三画波）との比較を行う。このため、ＰＷＭ変調方式では常に搬送波を生成する必要がある。
【０１８０】
また、変調周期は、本実施例では可変であるのに対して、ＰＷＭは固定である。また、制御精度と操作変化頻度の調整は、本実施例では離散化パラメータを評価関数で自動最適化するのに対して、ＰＷＭ変調方式では搬送波周波数次第である。
【０１８１】
更に、変調周期内での目標値変化は、本実施例では補正目標偏差の計算に反映されるため対応可能であるのに対して、ＰＷＭ変調方式では次の変調開始時刻までデューティー比が変化しないため対応不可である。
【０１８２】
このため、第四の実施形態に係る制御装置１０による制御は、可変な変調周期を持ち、目標値の変化に迅速に対応する特徴を持ちつつ、制御精度と操作変化頻度の調整を自動最適化できる点で、ＰＷＭ変調方式よりも優れているといえる。
【０１８３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１８４】
１０        制御装置
２０        制御対象プラント
１０１      目標値先読み部
１０２      計測部
１０３      差分器
１０４      操作量更新部
１１１      先読み応答補正部
１１２      操作変化量算出部
１１３      加算器
【図１】
2019145098.tif 000014
【図２】
2019145098.tif 000015
【図３】
2019145098.tif 000016
【図４】
2019145098.tif 000017
【図５】
2019145098.tif 000018
【図６】
2019145098.tif 000019
【図７】
2019145098.tif 000020
【図８】
2019145098.tif 000021
【図９】
2019145098.tif 000022
【図１０】
2019145098.tif 000023
【図１１】
2019145098.tif 000024
【図１２】
2019145098.tif 000025
【図１３】
2019145098.tif 000026
【図１４】
2019145098.tif 000027
【図１５】
2019145098.tif 000028
【図１６】
2019145098.tif 000029
【図１７】
2019145098.tif 000030
【図１８】
2019145098.tif 000031
【図１９】
2019145098.tif 000032
【図２０】
2019145098.tif 000033
【図２１】
2019145098.tif 000034
【図２２】
2019145098.tif 000035
【図２３】
2019145098.tif 000036
【図２４】
2019145098.tif 000037
【図２５】
2019145098.tif 000038
【図２６】
2019145098.tif 000039
【図２７】
2019145098.tif 000040
【図２８】
2019145098.tif 000041
【図２９】
2019145098.tif 000042
【図３０】
2019145098.tif 000043
【図３１】
2019145098.tif 000044
【図３２】
2019145098.tif 000045
【図３３】
2019145098.tif 000046
【図３４】
2019145098.tif 000047
【図３５】
2019145098.tif 000048
【図３６】
2019145098.tif 000049
【図３７】
2019145098.tif 000050
【図３８】
2019145098.tif 000051
【図３９】
2019145098.tif 000052
【図４０】
2019145098.tif 000053