(57)【要約】【課題】プラントの制御出力を目標値に近付ける場合に、制御出力のオーバーシュートを抑制しつつ、制御出力の応答性の悪化を抑制する。【解決手段】プラント制御装置は、プラント６の所定のパラメータｄに基づいてプラントの制御出力ｘの目標値ｒを算出する目標値算出部２と、制御出力のオーバーシュートを抑制する方向に目標値を修正して修正目標値ｗを算出する目標値修正部３と、制御出力が修正目標値に近付くようにプラントの制御入力を決定するフィードバックコントローラ５とを備える。目標値修正部は、制御出力を目標値まで変化させる場合、目標値の修正量が所定値以下になるように修正目標値を設定し、その後、目標値の修正量が所定値よりも大きくなるように修正目標値を変更し、その後、制御出力が目標値に達する前に、目標値の修正量が所定値以下になるように修正目標値を変更する。【選択図】図３
2019160030.tif 000002
【特許請求の範囲】
【請求項１】
プラントの所定のパラメータに基づいて前記プラントの制御出力の目標値を算出する目標値算出部と、
前記制御出力のオーバーシュートを抑制する方向に前記目標値を修正して修正目標値を算出する目標値修正部と、
前記制御出力が前記修正目標値に近付くように前記プラントの制御入力を決定するフィードバックコントローラと
を備え、
前記目標値修正部は、前記制御出力を前記目標値まで変化させる場合、前記目標値の修正量が所定値以下になるように前記修正目標値を設定し、その後、前記目標値の修正量が前記所定値よりも大きくなるように前記修正目標値を変更し、その後、前記制御出力が前記目標値に達する前に、前記目標値の修正量が前記所定値以下になるように前記修正目標値を変更する、プラント制御装置。
【請求項２】
前記目標値修正部は、前記制御出力を前記目標値まで変化させる場合、前記目標値と前記制御出力の現在値との差が第一基準値よりも大きいときには、前記目標値の修正量が前記所定値以下になるように前記修正目標値を設定し、前記差が前記第一基準値に達したときに、前記目標値の修正量が前記所定値よりも大きくなるように前記修正目標値を変更し、前記差が第二基準値に達したときに、前記目標値の修正量が前記所定値以下になるように前記修正目標値を変更し、前記第二基準値は前記第一基準値よりも小さい、請求項１に記載のプラント制御装置。
【請求項３】
前記目標値修正部は、目的関数の最小値探索を行うことによって前記修正目標値を算出し、
前記目的関数は、前記目標値の修正量に関する項と、前記プラントの状態量についての制約条件の充足度に関する項とを含み、前記目標値と前記制御出力の現在値との差が相対的に大きい場合には、前記差が相対的に小さい場合に比べて、前記目標値の修正量に関する項の前記目的関数の値に対する寄与度が大きくなるように構成される、請求項１に記載のプラント制御装置。
【請求項４】
前記目標値の修正量に関する項は、前記目標値の修正量が大きくなるほど大きくなる成分に、前記差が大きくなるほど大きくなる成分を乗算した値である、請求項３に記載のプラント制御装置。
【請求項５】
前記制約条件の充足度に関する項は、前記制約条件の充足度が低いほど大きくなる成分を、前記差が大きくなるほど大きくなる成分で除算した値である、請求項３に記載のプラント制御装置。
【請求項６】
前記差が大きくなるほど大きくなる成分は、前記差のｎ乗であり、ｎはゼロよりも大きい、請求項４又は５に記載のプラント制御装置。
【請求項７】
前記プラントは内燃機関であり、ｎは４以上６以下の値である、請求項６に記載のプラント制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプラント制御装置に関する。
【背景技術】
【０００２】
制御対象であるプラントでは、制御出力が目標値に近付くようにフィードバック制御が行われる。しかしながら、実際の制御では、ハード又は制御上の制約に起因して、制御出力の値に制約があることが多い。斯かる制約を無視して制御系の設計が行われると、過渡応答の悪化や制御の不安定化が生じるおそれがある。
【０００３】
制約充足性を改善するための手法としてリファレンスガバナが知られている（例えば、特許文献１）。リファレンスガバナは、制約充足性を考慮し、プラントの所定のパラメータに基づいて算出される制御出力の目標値を修正して修正目標値を算出する。具体的には、リファレンスガバナは所定の目的関数の最小値探索を行うことによって修正目標値を算出する。
【０００４】
特許文献１には、ディーゼルエンジンにおける過給圧及びＥＧＲ率の目標値をリファレンスガバナによって修正することが記載されている。具体的には、目的関数の値が小さくなるように勾配法によって修正目標値を更新することによって修正目標値が算出される。
【０００５】
目的関数は、目標値の修正量に関する項と、プラントの状態量についての制約条件の充足度に関する項とを含む。制約条件の充足度に関する項は、制約条件の充足度が低いほど大きくなる。制約条件の充足度に関する項が大きいときには、目的関数の値が小さくなるように目標値が修正される。このことによって、制約条件の充足度が高められ、制御出力のオーバーシュートも抑制される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１０１６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、制御出力の目標値と現在値との差が大きいときに制御出力を目標値に近付ける制御が行われると、目標値と現在値との差が小さいときに比べて、プラントの状態量の将来予測値が制約条件に抵触する可能性が高くなる。このため、目標値と現在値との差が大きいときに目的関数の最小値探索が行われると、目標値の修正量が大きくなる傾向にある。しかしながら、目標値と現在値との差が大きいときに目標値の修正量が大きくされると、制御出力が目標値に近付く速度が遅くなり、制御出力の応答性が悪化する。
【０００８】
そこで、上記課題に鑑みて、本発明の目的は、プラントの制御出力を目標値に近付ける場合に、制御出力のオーバーシュートを抑制しつつ、制御出力の応答性の悪化を抑制することにある。
【課題を解決するための手段】
【０００９】
本開示の要旨は以下のとおりである。
【００１０】
（１）プラントの所定のパラメータに基づいて前記プラントの制御出力の目標値を算出する目標値算出部と、前記制御出力のオーバーシュートを抑制する方向に前記目標値を修正して修正目標値を算出する目標値修正部と、前記制御出力が前記修正目標値に近付くように前記プラントの制御入力を決定するフィードバックコントローラとを備え、前記目標値修正部は、前記制御出力を前記目標値まで変化させる場合、前記目標値の修正量が所定値以下になるように前記修正目標値を設定し、その後、前記目標値の修正量が前記所定値よりも大きくなるように前記修正目標値を変更し、その後、前記制御出力が前記目標値に達する前に、前記目標値の修正量が前記所定値以下になるように前記修正目標値を変更する、プラント制御装置。
【００１１】
（２）前記目標値修正部は、前記制御出力を前記目標値まで変化させる場合、前記目標値と前記制御出力の現在値との差が第一基準値よりも大きいときには、前記目標値の修正量が前記所定値以下になるように前記修正目標値を設定し、前記差が前記第一基準値に達したときに、前記目標値の修正量が前記所定値よりも大きくなるように前記修正目標値を変更し、前記差が第二基準値に達したときに、前記目標値の修正量が前記所定値以下になるように前記修正目標値を変更し、前記第二基準値は前記第一基準値よりも小さい、上記（１）に記載のプラント制御装置。
【００１２】
（３）前記目標値修正部は、目的関数の最小値探索を行うことによって前記修正目標値を算出し、前記目的関数は、前記目標値の修正量に関する項と、前記プラントの状態量についての制約条件の充足度に関する項とを含み、前記目標値と前記制御出力の現在値との差が相対的に大きい場合には、前記差が相対的に小さい場合に比べて、前記目標値の修正量に関する項の前記目的関数の値に対する寄与度が大きくなるように構成される、上記（１）に記載のプラント制御装置。
【００１３】
（４）前記目標値の修正量に関する項は、前記目標値の修正量が大きくなるほど大きくなる成分に、前記差が大きくなるほど大きくなる成分を乗算した値である、上記（３）に記載のプラント制御装置。
【００１４】
（５）前記制約条件の充足度に関する項は、前記制約条件の充足度が低いほど大きくなる成分を、前記差が大きくなるほど大きくなる成分で除算した値である、上記（３）に記載のプラント制御装置。
【００１５】
（６）前記差が大きくなるほど大きくなる成分は、前記差のｎ乗であり、ｎはゼロよりも大きい、上記（４）又は（５）に記載のプラント制御装置。
【００１６】
（７）前記プラントは内燃機関であり、ｎは４以上６以下の値である、上記（６）に記載のプラント制御装置。
【発明の効果】
【００１７】
本発明によれば、プラントの制御出力を目標値に近付ける場合に、制御出力のオーバーシュートを抑制しつつ、制御出力の応答性の悪化を抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は、第一実施形態に係るプラント制御装置の目標値追従制御構造を示す図である。
【図２】図２は、図１の目標値追従制御構造を等価変形することによって得られるフィードフォワード制御構造を示す。
【図３】図３は、制御出力を目標値まで変化させる場合の制御出力の目標値、修正目標値及び実際の値のタイムチャートである。
【図４】図４は、第一実施形態における目標値修正処理の制御ルーチンを示すフローチャートである。
【図５】図５は、第二実施形態に係るプラント制御装置の目標値追従制御構造を示す図である。
【図６】図６は、目的関数におけるｎの値を変化させたときの修正目標値のタイムチャートである。
【図７】図７は、プラントが内燃機関である場合に目的関数におけるｎの値を変化させたときの効果の程度を概略的に示す図である。
【図８】図８は、制御出力を目標値まで変化させる場合の制御出力の目標値、修正目標値及び実際の値のタイムチャートである。
【図９】図９は、第二実施形態における目標値修正処理の制御ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００２０】
＜第一実施形態＞
最初に図１〜図４を参照して、本発明の第一実施形態について説明する。
【００２１】
＜プラント制御装置の構成＞
図１は、第一実施形態に係るプラント制御装置の目標値追従制御構造を示す図である。プラント制御装置は、目標値算出部２、目標値修正部３、比較部４及びフィードバックコントローラ５を備える。例えば、電子制御ユニット（ＥＣＵ）のようなマイコンがプラント制御装置として機能する。
【００２２】
図１において破線で囲まれた部分は、制御対象であるプラント６の出力を制御する閉ループシステム１０として機能する。閉ループシステム１０が設計済である場合、図１の目標値追従制御構造を等価変形することによって図２のフィードフォワード制御構造が得られる。
【００２３】
目標値算出部２は、外生入力ｄに基づいてプラント６の制御出力ｘの目標値ｒを算出し、目標値ｒを目標値修正部３に出力する。目標値算出部２は、例えば、外生入力ｄと目標値ｒとの関係が示された目標値マップとして構成される。外生入力ｄはプラント６の所定のパラメータである。
【００２４】
目標値ｒがそのまま閉ループシステム１０に入力されると、制御出力ｘが目標値ｒに近付くようにフィードバック制御が行われる。この場合、制御出力ｘを目標値ｒに迅速に近付けることができるが、制御出力ｘのオーバーシュート量が大きくなる。このため、本実施形態では、目標値修正部３によって目標値ｒが修正される。目標値修正部３は、制御出力ｘのオーバーシュートを抑制する方向に目標値ｒを修正して修正目標値ｗを算出する。
【００２５】
比較部４は、修正目標値ｗから制御出力ｘを減算して偏差ｅ（＝ｗ−ｘ）を算出し、偏差ｅをフィードバックコントローラ５に入力する。修正目標値ｗは目標値修正部３によって比較部４に入力され、制御出力ｘは、制御入力ｕ及び外生入力ｄが入力されるプラント６から出力される。制御出力ｘは、センサ等の検出器によって検出され又は計算式等を用いて推定される。
【００２６】
フィードバックコントローラ５は、制御出力ｘが修正目標値ｗに近付くように制御入力ｕを決定する。すなわち、フィードバックコントローラ５は、偏差ｅがゼロに近付くように制御入力ｕを決定する。フィードバックコントローラ５では、ＰＩ制御、ＰＩＤ制御等の公知の制御が用いられる。フィードバックコントローラ５は制御入力ｕをプラント６に入力する。また、状態フィードバックとして制御出力ｘがフィードバックコントローラ５に入力される。なお、制御出力ｘのフィードバックコントローラ５への入力は省略されてもよい。また、比較部４はフィードバックコントローラ５に組み込まれていてもよい。
【００２７】
＜目標値の修正＞
上述したように、目標値修正部３は、制御出力ｘのオーバーシュートを抑制する方向に目標値ｒを修正して修正目標値ｗを算出する。なお、制御出力ｘのオーバーシュートを抑制する方向とは、制御出力ｘを目標値ｒに向かって増加させる場合には修正目標値ｗを減少させる方向を意味し、制御出力ｘを目標値ｒに向かって減少させる場合には修正目標値ｗを増加させる方向を意味する。
【００２８】
制御出力ｘの目標値ｒと現在値との差が大きいときに目標値ｒの修正量が大きくされると、制御出力ｘが目標値ｒに近付く速度が遅くなり、制御出力ｘの応答性が悪化する。また、制御出力ｘのオーバーシュートを抑制するためには、制御出力ｘが目標値ｒに近付いたときに目標値ｒの修正量を大きくすることが有効である。また、制御出力ｘを目標値ｒに収束させるためには、制御出力ｘが目標値ｒに達する前に目標値ｒの修正量を小さくする必要がある。
【００２９】
このため、本実施形態では、目標値修正部３は、制御出力ｘを目標値ｒまで変化させる場合、目標値ｒの修正量が所定値以下になるように修正目標値ｗを設定し、その後、目標値ｒの修正量が所定値よりも大きくなるように修正目標値ｗを変更し、その後、制御出力ｘが目標値ｒに達する前に、目標値ｒの修正量が所定値以下になるように修正目標値ｗを変更する。なお、目標値ｒの修正量とは、目標値ｒと修正目標値ｗとの差である。
【００３０】
このことによって、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの変化速度を速くすることができ、制御出力ｘの応答性の悪化を抑制することができる。また、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合には、制御出力ｘの変化速度を緩めることができ、制御出力ｘのオーバーシュートを抑制することができる。したがって、本実施形態では、制御出力ｘを目標値ｒに近付ける場合に、制御出力ｘのオーバーシュートを抑制しつつ、制御出力ｘの応答性の悪化を抑制することができる。
【００３１】
本実施形態では、制御出力ｘの目標値ｒと現在値との差が第一基準値よりも大きいときには、目標値ｒの修正量が所定値以下になるように修正目標値ｗを設定し、目標値ｒと現在値との差が第一基準値に達したときに、目標値ｒの修正量が上記所定値よりも大きくなるように修正目標値ｗを変更し、目標値ｒと現在値との差が第二基準値に達したときに、目標値ｒの修正量が上記所定値以下になるように修正目標値ｗを変更する。第二基準値は第一基準値よりも小さい。
【００３２】
例えば、目標値修正部３は、目標値ｒと現在値との差が第一基準値よりも大きいときには、修正目標値ｗを目標値ｒに設定し、目標値ｒと現在値との差が第一基準値に達したときに、修正目標値ｗを目標値ｒから遠ざけ、目標値ｒと現在値との差が第二基準値に達したときに、修正目標値ｗを目標値ｒに変更する。
【００３３】
＜タイムチャートを用いた制御の説明＞
図３は、制御出力を目標値まで変化させる場合の制御出力の目標値、修正目標値及び実際の値のタイムチャートである。図３には、制御出力ｘの目標値ｒが二点鎖線で示され、制御出力ｘの修正目標値ｗが一点鎖線で示される。また、本実施形態の制御が実行されたときの制御出力ｘの実際の値（現在値）ｘｅが実線で示され、比較例の制御が実行されたときの制御出力ｘの実際の値（現在値）ｘｐが破線で示される。
【００３４】
図３の例では、時刻ｔ１においてプラント６の状態が変化し、目標値ｒが増加している。目標値ｒは、時刻ｔ１の後、ほぼ一定の値に維持される。この例では、制御出力ｘを目標値ｒに向かって増加させる制御が行われる。
【００３５】
比較例の制御では、目標値ｒの修正が行われない。したがって、制御出力ｘが目標値ｒに近付くようにフィードバックコントローラ５によって制御入力ｕが決定される。この結果、時刻ｔ１の後、実際の値ｘｐが、徐々に上昇し、時刻ｔ４において目標値ｒに達する。時刻ｔ４の後、制御出力ｘのオーバーシュートが発生し、その後、実際の値ｘｐが目標値ｒに収束する。
【００３６】
一方、本実施形態の制御では、修正目標値ｗが算出され、制御出力ｘが修正目標値ｗに近付くようにフィードバックコントローラ５によって制御入力ｕが決定される。時刻ｔ１から時刻ｔ２まで、修正目標値ｗは目標値ｒに等しい。すなわち、目標値ｒの修正は行われない。
【００３７】
時刻ｔ２において、目標値ｒと実際の値ｘｅとの差が第一基準値Ｒ１に達し、目標値ｒの修正量が所定値よりも大きくなるように修正目標値ｗが変更される。この例では、制御出力ｘのオーバーシュートを抑制すべく、修正目標値ｗがステップ状に小さくされる。修正目標値ｗは時刻ｔ２から時刻ｔ３まで一定の値に維持される。
【００３８】
時刻ｔ３において、目標値ｒと実際の値ｘｅとの差が第二基準値に達し、修正目標値ｗが目標値ｒに変更される。この例では、制御出力ｘを目標値ｒに収束させるべく、修正目標値ｗがステップ状に大きくされる。時刻ｔ３の後、修正目標値ｗは目標値ｒに維持される。すなわち、目標値ｒの修正は行われない。
【００３９】
その後、実際の値ｘｅが時刻ｔ５において目標値ｒに達する。時刻ｔ５の後、制御出力ｘのオーバーシュートが僅かに発生し、その後、実際の値ｘｅが目標値ｒに収束する。
【００４０】
本実施形態の制御では、時刻ｔ２において修正目標値ｗを小さくすることによって制御出力ｘの上昇にブレーキを掛けることができる。このため、比較例の制御に比べて制御出力ｘのオーバーシュート量を低減することができる。また、時刻ｔ２よりも前には修正目標値ｗが目標値ｒに設定されているため、比較例の制御と同様に、制御出力ｘを目標値ｒに迅速に近付けることができる。したがって、本実施形態の制御では、制御出力ｘのオーバーシュートを抑制しつつ、制御出力ｘの応答性の悪化を抑制することができる。
【００４１】
＜目標値修正処理＞
以下、図４のフローチャートを参照して、目標値ｒを修正して修正目標値ｗを算出するための制御について詳細に説明する。図４は、第一実施形態における目標値修正処理の制御ルーチンを示すフローチャートである。本制御ルーチンはプラント制御装置によって所定の実行間隔で繰り返し実行される。
【００４２】
最初に、ステップＳ１０１において、目標値算出部２は外生入力ｄを取得する。次いで、ステップＳ１０２において、目標値算出部２は外生入力ｄに基づいて目標値ｒを算出する。
【００４３】
次いで、ステップＳ１０３において、目標値修正部３は、目標値ｒから制御出力ｘの現在値ＰＶを減算した値の絶対値、すなわち目標値ｒと現在値ＰＶとの差が第一基準値Ｒ１よりも大きいか否かを判定する。第一基準値Ｒ１は、予め定められ、ゼロよりも大きな値である。目標値ｒと現在値ＰＶとの差が第一基準値Ｒ１よりも大きいと判定された場合、本制御ルーチンはステップＳ１０４に進む。
【００４４】
ステップＳ１０４では、目標値修正部３は修正目標値変更フラグを１に設定する。なお、修正目標値変更フラグＦは、制御出力ｘのフィードバック制御が終了したときにはゼロにリセットされる。次いで、ステップＳ１０５において、目標値修正部３は、制御出力ｘを目標値ｒに迅速に変化させるべく、修正目標値ｗを目標値ｒに設定する。ステップＳ１０５の後、本制御ルーチンは終了する。
【００４５】
一方、ステップＳ１０３において目標値ｒと現在値ＰＶとの差が第一基準値Ｒ１以下であると判定された場合、本制御ルーチンはステップＳ１０６に進む。ステップＳ１０６では、目標値修正部３は、修正目標値変更フラグＦが１であるか否かを判定する。修正目標値変更フラグＦが１であると判定された場合、本制御ルーチンはステップＳ１０７に進む。
【００４６】
ステップＳ１０７では、目標値修正部３は目標値ｒの修正量が所定値よりも大きくなるように修正目標値ｗを変更する。所定値は、制御出力ｘのオーバーシュートを抑制するように予め定められ、ゼロよりも大きな値である。目標値修正部３は、制御出力ｘのオーバーシュートを抑制する方向に修正目標値ｗをステップ状に変化させる。具体的には、目標値修正部３は、制御出力ｘを目標値ｒに向かって増加させる場合には修正目標値ｗを目標値ｒよりも小さくし、制御出力ｘを目標値ｒに向かって減少させる場合には修正目標値ｗを目標値ｒよりも大きくする。
【００４７】
次いで、ステップＳ１０８において、目標値修正部３は、目標値ｒと現在値ＰＶとの差が第二基準値Ｒ２以下であるか否かを判定する。第二基準値Ｒ２は、予め定められ、ゼロよりも大きく且つ第一基準値Ｒ１よりも小さい。目標値ｒと現在値ＰＶとの差が第二基準値Ｒ２よりも大きいと判定された場合、本制御ルーチンは終了する。この場合、修正目標値ｗは、ステップＳ１０７において変更された値に維持される。
【００４８】
一方、目標値ｒと現在値ＰＶとの差が第二基準値Ｒ２以下であると判定された場合、本制御ルーチンはステップＳ１０９に進む。ステップＳ１０９では、目標値修正部３は、制御出力ｘを目標値ｒに収束させるべく、修正目標値ｗを目標値ｒに変更する。目標値修正部３は修正目標値ｗを目標値ｒまでステップ状に変化させる。次いで、ステップＳ１１０において、目標値修正部３は修正目標値変更フラグＦをゼロに設定する。ステップＳ１１０の後、本制御ルーチンは終了する。
【００４９】
また、ステップＳ１０６において修正目標値変更フラグＦがゼロであると判定された場合、本制御ルーチンはステップＳ１１１に進む。ステップＳ１１１では、目標値修正部３は修正目標値ｗを目標値ｒに設定する。ステップＳ１１１の後、本制御ルーチンは終了する。
【００５０】
なお、ステップＳ１０５、ステップＳ１０９及びステップＳ１１１において、目標値ｒの修正量が所定値以下であれば、修正目標値ｗは目標値ｒとは異なる値に設定されてもよい。また、目標値修正部３は、ステップＳ１０７において修正目標値ｗを変更後の値まで徐々に変化させ、ステップＳ１０９において修正目標値ｗを目標値ｒまで徐々に変化させてもよい。
【００５１】
＜第二実施形態＞
第二実施形態におけるプラント制御装置の構成及び制御は、以下に説明する点を除いて、基本的に第一実施形態におけるプラント制御装置と同様である。このため、以下、本発明の第二実施形態について、第一実施形態と異なる部分を中心に説明する。
【００５２】
図５は、第二実施形態に係るプラント制御装置の目標値追従制御構造を示す図である。第二実施形態では、リファレンスガバナ（ＲＧ）３０が、目標値ｒを修正して修正目標値ｗを算出する目標値修正部として機能する。図５におけるｙは、とりうる値に制約があるプラント６の状態量である。
【００５３】
上述したように、閉ループシステム１０では、制御出力ｘのフィードバック制御が行われる。しかしながら、実際の制御では、ハード又は制御上の制約に起因して、状態量ｙに制約がある。このため、制約を考慮せずに算出された目標値が閉ループシステム１０に入力されると、状態量ｙが制約に抵触し、過渡応答の悪化や制御の不安定化が生じるおそれがある。
【００５４】
このため、リファレンスガバナ３０は、状態量ｙについての制約条件の充足度が高まるように目標値ｒを修正して修正目標値ｗを算出する。具体的には、リファレンスガバナ３０は、目的関数の最小値探索を行うことによって修正目標値ｗを算出する。最小値探索では、リファレンスガバナ３０は、目的関数の値が小さくなるように修正目標値ｗを所定回数更新することによって、閉ループシステム１０に入力する最終的な修正目標値ｗを算出する。
【００５５】
目的関数は、目標値ｒの修正量に関する項と、状態量ｙについての制約条件の充足度に関する項とを含む。制御出力ｘの目標値ｒと現在値との差が相対的に大きいときには、目標値ｒと現在値との差が相対的に小さいときに比べて、制約条件の充足度を高めるためには、目標値ｒの修正量を大きくする必要がある。
【００５６】
しかしながら、目標値ｒと現在値との差が大きいときに目標値ｒの修正量が大きくされると、制御出力ｘが目標値ｒに近付く速度が遅くなり、制御出力ｘの応答性が悪化する。また、制御出力ｘのオーバーシュートを抑制するためには、制御出力ｘが目標値ｒに近付いたときに目標値ｒの修正量を大きくすることが有効である。
【００５７】
このため、目的関数は、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合に比べて、目標値ｒの修正量が小さくなるように構成される。具体的には、目的関数は、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、目標値ｒと現在値との差が相対的に小さい場合に比べて、目標値の修正量に関する項の目的関数の値に対する寄与度が大きくなるように構成される。
【００５８】
このことによって、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの変化速度を速くすることができ、制御出力ｘの応答性の悪化を抑制することができる。また、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合には、制御出力ｘの変化速度を緩めることができ、制御出力ｘのオーバーシュートを抑制することができる。したがって、第二実施形態では、制御出力ｘを目標値ｒに近付ける場合に、制御出力ｘのオーバーシュートを抑制しつつ、制御出力ｘの応答性の悪化を抑制することができる。
【００５９】
例えば、目的関数Ｊ（ｗ）は下記式（１）によって定義される。
Ｊ（ｗ）＝(ｒ−ｗ)2(|ｒ−ＰＶ|)n＋Ｓ12＋Ｓ22＋・・・…（１）
ここで、ＰＶは制御出力ｒの現在値であり、ｎはゼロよりも大きい値である。目的関数Ｊ（ｗ）は、目標値ｒの修正量に関する項（式（１）の右辺第一項）と、状態量ｙについての制約条件の充足度に関する項（式（１）の右辺第二項以降）との和として構成される。
【００６０】
目標値ｒの修正量に関する項は、目標値ｒの修正量が大きくなるほど大きくなる成分（(ｒ−ｗ)2）に、制御出力ｘの目標値ｒと現在値との差が大きくなるほど大きくなる成分（(|ｒ−ＰＶ|)n）を乗算した値である。この場合、目標値ｒの修正量が所定値であるとき、目標値ｒの修正量に関する項は、制御出力ｘの目標値ｒと現在値との差が大きいほど大きくなる。このため、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合に比べて、目標値ｒの修正量に関する項の目的関数Ｊ（ｗ）の値に対する寄与度が大きくなる。
【００６１】
上記式（１）では、目標値ｒの修正量が大きくなるほど大きくなる成分は、目標値ｒと修正目標値ｗとの差、すなわち目標値ｒの修正量の二乗である。しかしながら、この成分は、目標値ｒの修正量に所定の係数を乗算した値等であってもよい。
【００６２】
また、上記式（１）では、制御出力ｘの目標値ｒと現在値との差が大きくなるほど大きくなる成分は、目標値ｒと現在値ＰＶとの差のｎ乗である。しかしながら、この成分は、目標値ｒと現在値ＰＶとの差に所定の係数を乗算した値等であってもよい。
【００６３】
制約条件の充足度に関する項は、第１ペナルティ関数Ｓ1の二乗、第２ペナルティ関数Ｓ2の二乗等を含む。ペナルティ関数の数は制約条件の数に応じて変動する。例えば、制約条件の数が四つである場合、制約条件の充足度に関する項は、第１ペナルティ関数Ｓ1の二乗、第２ペナルティ関数Ｓ2の二乗、第３ペナルティ関数Ｓ3の二乗及び第４ペナルティ関数Ｓ4の二乗を含む。各ペナルティ関数は、制約条件の充足度が低いほど大きくなる。なお、各ペナルティ関数は二乗されなくてもよい。
【００６４】
第１ペナルティ関数Ｓ1は、状態量ｙの一つである制御出力ｘについての制約条件の充足度に関する。第１ペナルティ関数Ｓ1では、制御出力ｘのオーバーシュート量がゼロよりも大きくならないことが制約条件として定義される。制御出力ｘを目標値ｒに向かって増加させる場合、第１ペナルティ関数Ｓ1は下記式（２）によって定義される。
【数１】
2019160030.tif 000003
【００６５】
ここで、ｘ（ｋ）は制御出力ｘの将来予測値であり、ｐ1は予め定められた重み係数である。また、ｋは離散時間ステップであり、Ｎｈは予測ステップ数（予測ホライズン）である。第１ペナルティ関数Ｓ1は、制御出力ｘの将来予測値ｘ（ｋ）が目標値ｒよりも大きくなった場合に、制御出力ｘの将来予測値ｘ（ｋ）と目標値ｒとの差がペナルティとして目的関数Ｊ（ｗ）に加算されるように構成される。このため、第１ペナルティ関数Ｓ1は、制御出力ｘの将来予測値ｘ（ｋ）のオーバーシュート量が大きいほど大きくなる。
【００６６】
一方、制御出力ｘを目標値ｒに向かって減少させる場合、第１ペナルティ関数Ｓ1は下記式（３）によって定義される。
【数２】
2019160030.tif 000004
【００６７】
この場合、第１ペナルティ関数Ｓ1は、制御出力ｘの将来予測値ｘ（ｋ）が目標値ｒよりも小さくなった場合に、制御出力ｘの将来予測値ｘ（ｋ）と目標値ｒとの差がペナルティとして目的関数Ｊ（ｗ）に加算されるように構成される。このため、第１ペナルティ関数Ｓ1は、制御出力ｘの将来予測値ｘ（ｋ）のオーバーシュート量が大きいほど大きくなる。
【００６８】
リファレンスガバナ３０はプラント６のモデルを用いて制御出力ｘの将来予測値ｘ（ｋ）を算出する。リファレンスガバナ３０は、例えば、制御出力ｘの将来予測値ｘ（ｋ）を下記式（４）によって算出する。
ｘ（ｋ＋１）＝ｆ1（ｘ（ｋ）,ｗ，ｄ）…（４）
【００６９】
ここで、ｆ1は、制御出力ｘの将来予測値ｘ（ｋ）を算出するために用いられるモデル関数である。最初に、算出時点の制御出力ｘであるｘ（０）を用いて、算出時点から１ステップ先の制御出力ｘの予測値ｘ（１）が算出される。算出時点の制御出力ｘ（０）は、センサ等の検出器によって検出され又は計算式等を用いて推定される。その後、算出時点からＮｈステップ先の制御出力ｘの予測値ｘ（Ｎｈ）まで制御出力ｘの将来予測値ｘ（ｋ）が順次算出され、合計Ｎｈ個の制御出力ｘの将来予測値が算出される。なお、１ステップに相当する時間に予測ステップ数Ｎｈを乗じた値が予測期間になる。
【００７０】
第２ペナルティ関数Ｓ2は、所定の状態量ｙ2についての制約条件の充足度に関する。状態量ｙ2は、例えば、圧力、回転数等である。第２ペナルティ関数Ｓ2では、例えば、状態量ｙ2が上限値よりも大きくならないことが制約条件として定義される。この場合、第２ペナルティ関数Ｓ2は下記式（５）によって定義される。
【数３】
2019160030.tif 000005
【００７１】
ここで、ｙ2（ｋ）は状態量ｙ2の将来予測値であり、ｙ2upは予め定められた状態量ｙ2の上限値であり、ｐ2は予め定められた重み係数である。また、ｋは離散時間ステップであり、Ｎｈは予測ステップ数（予測ホライズン）である。第２ペナルティ関数Ｓ2は、状態量ｙ2の将来予測値ｙ2（ｋ）が上限値ｙ2upよりも大きくなった場合に、状態量ｙ2の将来予測値ｙ2（ｋ）と上限値ｙ2upとの差がペナルティとして目的関数Ｊ（ｗ）に加算されるように構成される。このため、第２ペナルティ関数Ｓ1は、状態量ｙ2の将来予測値ｙ2（ｋ）が上限値ｙ2upを上回る量が大きいほど大きくなる。
【００７２】
なお、第２ペナルティ関数Ｓ2において、状態量ｙ2が下限値よりも小さくならないことが制約条件として定義される場合、第２ペナルティ関数Ｓ2は下記式（６）によって定義される。
【数４】
2019160030.tif 000006
ここで、ｙ2lowは予め定められた状態量ｙ2の下限値である。
【００７３】
この場合、第２ペナルティ関数Ｓ2は、状態量ｙ2の将来予測値ｙ2（ｋ）が下限値ｙ2lowよりも小さくなった場合に、状態量ｙ2の将来予測値ｙ2（ｋ）と下限値ｙ2lowとの差がペナルティとして目的関数Ｊ（ｗ）に加算されるように構成される。このため、第２ペナルティ関数Ｓ1は、状態量ｙ2の将来予測値ｙ2（ｋ）が下限値ｙ2lowを下回る量が大きいほど大きくなる。
【００７４】
なお、状態量ｙ2の将来予測値ｙ2（ｋ）はプラント６のモデルを用いて制御出力ｘの将来予測値ｘ（ｋ）と同様に算出される。また、各状態量の将来予測値は、ニューラルネットワークを用いた機械学習等の他の手法によって算出されてもよい。
【００７５】
図６は、目的関数Ｊ（ｗ）におけるｎの値を変化させたときの修正目標値のタイムチャートである。図６には、目標値ｒが破線で示される。また、ｎがゼロであるときの修正目標値ｗが実線で示され、ｎが２であるときの修正目標値ｗが破線で示され、ｎが４であるときの修正目標値ｗが一点鎖線で示され、ｎが６であるときの修正目標値ｗが実線で示され、ｎが８であるときの修正目標値ｗが二点鎖線で示される。なお、ｎがゼロであるときの修正目標値ｗは比較例として記載されている。
【００７６】
図６の例では、時刻ｔ１においてプラント６の状態が変化し、目標値ｒが増加している。目標値ｒは、時刻ｔ１の後、ほぼ一定の値に維持される。ｎがゼロである場合には、制御出力ｘが目標値ｒに近付くにつれて、目標値ｒの修正量が徐々に小さくなる。
【００７７】
一方、ｎが２〜８である場合には、時刻ｔ１から時刻ｔ２までの期間において、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合に比べて、目標値ｒの修正量が小さくなっている。これは、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、目標値ｒと現在値との差が相対的に小さい場合に比べて、目標値の修正量に関する項の目的関数の値に対する寄与度が大きくなるように目的関数が構成されているからである。また、時刻ｔ２以降、目標値ｒの修正無しでも制約条件の充足度に関する項が小さくなることに伴い、目標値ｒの修正量が徐々に小さくなる。
【００７８】
ｎが２〜８である場合、ｎの数が大きいほど、目標値の修正量を大きくするタイミングが遅くなると共に、目標値の修正量を大きくするときの修正目標値ｗの変化速度が速くなる。図７は、プラントが内燃機関である場合に目的関数Ｊ（ｗ）におけるｎの値を変化させたときの効果の程度を概略的に示す図である。効果は、制御出力ｘのオーバーシュート量が小さいほど大きくなり、制御出力ｘの応答性が向上するほど大きくなる。すなわち、制御出力ｘのオーバーシュート及び応答性が最もバランス良く改善された場合に、効果が最も高くなる。
【００７９】
図７に示されるように、ｎが６以上のときには、効果が飽和し、ｎを大きくしても効果がほとんど大きくならない。また、ｎが大きいほどリファレンスガバナ３０の演算負荷が大きくなる。このため、プラント６が内燃機関である場合、ｎを４以上６以下の値に設定することが好ましい。このことによって、リファレンスガバナ３０の演算負荷を低減しつつ、制御出力ｘのオーバーシュート及び応答性を効果的に改善することができる。
【００８０】
＜タイムチャートを用いた制御の説明＞
図８は、制御出力を目標値まで変化させる場合の制御出力の目標値、修正目標値及び実際の値のタイムチャートである。図８には、制御出力ｘの目標値ｒが二点鎖線で示され、制御出力ｘの修正目標値ｗが一点鎖線で示される。また、本実施形態の制御が実行されたときの制御出力ｘの実際の値（現在値）ｘｅが実線で示され、比較例の制御が実行されたときの制御出力ｘの実際の値（現在値）ｘｐが破線で示される。
【００８１】
図８の例では、修正目標値ｗを算出するために上記式（１）の目的関数が用いられ、ｎは７に設定された。図８の例では、時刻ｔ１において内燃機関の状態が変化し、目標値ｒが増加している。目標値ｒは、時刻ｔ１の後、ほぼ一定の値に維持される。この例では、制御出力ｘを目標値ｒに向かって増加させる制御が行われる。
【００８２】
比較例の制御では、目標値ｒの修正が行われない。したがって、制御出力ｘが目標値ｒに近付くようにフィードバックコントローラ５によって制御入力ｕが決定される。この結果、時刻ｔ１の後、実際の値ｘｐが、徐々に上昇し、時刻ｔ４において目標値ｒに達する。時刻ｔ４の後、制御出力ｘのオーバーシュートが発生し、その後、実際の値ｘｐが目標値ｒに収束する。
【００８３】
一方、本実施形態の制御では、リファレンスガバナ３０によって修正目標値ｗが算出され、制御出力ｘが修正目標値ｗに近付くようにフィードバックコントローラ５によって制御入力ｕが決定される。目的関数の値が小さくなるように修正目標値ｗが算出された結果、時刻ｔ２から時刻ｔ３まで、修正目標値ｗが徐々に小さくされ、目標値ｒの修正量が徐々に大きくされる。
【００８４】
また、時刻ｔ３から時刻ｔ５まで、修正目標値ｗが目標値ｒまで徐々に大きくされ、目標値ｒの修正量が徐々に小さくされる。時刻ｔ５の後、修正目標値ｗは目標値ｒに維持される。実際の値ｘｅは、徐々に増加し、時刻ｔ５において目標値ｒに達する。なお、時刻ｔ３以降、実際の値ｘｅは修正目標値ｗに沿って増加する。時刻ｔ５の後、制御出力ｘのオーバーシュートが僅かに発生し、その後、実際の値ｘｅが目標値ｒに収束する。
【００８５】
本実施形態の制御では、時刻ｔ２から修正目標値ｗを徐々に小さくすることによって制御出力ｘの上昇にブレーキを掛けることができる。このため、比較例の制御に比べて制御出力ｘのオーバーシュート量を低減することができる。また、時刻ｔ２よりも前には目標値ｒの修正量が小さいため、比較例の制御と同様に、制御出力ｘを目標値ｒに迅速に近付けることができる。したがって、本実施形態の制御では、制御出力ｘのオーバーシュートを抑制しつつ、制御出力ｘの応答性の悪化を抑制することができる。
【００８６】
＜目標値修正処理＞
図９は、第二実施形態における目標値修正処理の制御ルーチンを示すフローチャートである。本制御ルーチンはプラント制御装置によって所定の実行間隔で繰り返し実行される。
【００８７】
最初に、ステップＳ２０１において、目標値算出部２は外生入力ｄを取得する。次いで、ステップＳ２０２において、目標値算出部２は外生入力ｄに基づいて目標値ｒを算出する。
【００８８】
次いで、ステップＳ２０３において、リファレンスガバナ３０は、修正目標値ｗの初期値ｗ0を目標値ｒに設定する。次いで、ステップＳ２０４〜ステップＳ２０６において、リファレンスガバナ３０は目的関数の最小値探索を行う。
【００８９】
具体的には、ステップＳ２０４において、リファレンスガバナ３０は、目的関数の値が小さくなるように修正目標値ｗを更新する。例えば、リファレンスガバナ３０は二分探索法によって修正目標値ｗを更新する。なお、修正目標値ｗの更新は公知の他の手法によって行われてもよい。例えば、制御出力ｘ及び修正目標値ｗの数が二以上である場合、リファレンスガバナ３０は勾配法によって修正目標値ｗを更新してもよい。
【００９０】
次いで、ステップＳ２０５において、リファレンスガバナ３０は、更新回数Ｃｏｕｎｔに１を加算する。更新回数Ｃｏｕｎｔは、最小値探索において修正目標値ｗが更新された回数を示す。更新回数Ｃｏｕｎｔの初期値は０である。
【００９１】
次いで、ステップＳ２０６において、リファレンスガバナ３０は、更新回数Ｃｏｕｎｔが所定回数Ｎ以上であるか否かを判定する。所定回数Ｃｏｕｎｔは例えば５〜２００である。ステップＳ２０６において更新回数Ｃｏｕｎｔが所定回数未満であると判定された場合、本制御ルーチンはステップＳ２０４に戻る。したがって、最小値探索では、更新回数Ｃｏｕｎｔが所定回数Ｎに達するまで、修正目標値ｗが繰り返し更新される。
【００９２】
ステップＳ２０６において更新回数Ｃｏｕｎｔが所定回数Ｎ以上であると判定された場合、本制御ルーチンはステップＳ２０７に進む。ステップＳ２０７では、リファレンスガバナ３０は、最終的な修正目標値ｗを閉ループシステム１０に入力する。次いで、ステップＳ２０８では、リファレンスガバナ３０は更新回数Ｃｏｕｎｔをゼロにリセットする。ステップＳ２０８の後、本制御ルーチンは終了する。
【００９３】
＜その他の実施形態＞
以上、本発明に係る好適な実施形態を説明したが、本発明はこれら実施形態に限定されるものではなく、特許請求の範囲の記載内で様々な修正及び変更を施すことができる。
【００９４】
例えば、第二実施形態において、目的関数Ｊ（ｗ）は下記式（７）によって定義されてもよい。
Ｊ（ｗ）＝(ｒ−ｗ)2＋（Ｓ12＋Ｓ22＋・・・）／(|ｒ−ＰＶ|)n…（７）
ここで、ＰＶは制御出力ｒの現在値であり、ｎはゼロよりも大きい値である。目的関数Ｊ（ｗ）は、目標値ｒの修正量に関する項（式（１）の右辺第一項）と、状態量ｙについての制約条件の充足度に関する項（式（１）の右辺第二項）との和として構成される。
【００９５】
この場合、目標値ｒの修正量に関する項は、目標値ｒの修正量が大きくなるほど大きくなる成分であり、目標値ｒの修正量の二乗である。なお、この成分は、目標値ｒの修正量に所定の係数を乗算した値等であってもよい。
【００９６】
一方、制約条件の充足度に関する項は、制約条件の充足度が低いほど大きくなる成分（Ｓ12＋Ｓ22＋・・・）を、制御出力ｘの目標値ｒと現在値との差が大きくなるほど大きくなる成分（(|ｒ−ＰＶ|)n）で除算した値である。この場合、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合に比べて、制約条件の充足度に関する項の目的関数Ｊ（ｗ）の値に対する寄与度が小さくなる。言い換えれば、制御出力ｘの目標値ｒと現在値との差が相対的に大きい場合には、制御出力ｘの目標値ｒと現在値との差が相対的に小さい場合に比べて、目標値ｒの修正量に関する項の目的関数Ｊ（ｗ）の値に対する寄与度が大きくなる。
【００９７】
上記式（７）では、制約条件の充足度が低いほど大きくなる成分は、各ペナルティ関数の二乗の和である。しかしながら、この成分は、各ペナルティ関数の和等であってもよい。
【００９８】
また、上記式（７）では、制御出力ｘの目標値ｒと現在値との差が大きくなるほど大きくなる成分は、目標値ｒと現在値ＰＶとの差のｎ乗である。しかしながら、この成分は、目標値ｒと現在値ＰＶとの差に所定の係数を乗算した値等であってもよい。
【００９９】
また、プラント６が内燃機関である場合に上記式（７）におけるｎの値を変化させたときの効果の程度は、図７に示されたような結果と同様である。このため、修正目標値ｗを算出するために上記式（７）の目的関数が用いられる場合も、ｎを４以上６以下の値に設定することが好ましい。このことによって、リファレンスガバナ３０の演算負荷を低減しつつ、制御出力ｘのオーバーシュート及び応答性を効果的に改善することができる。
【０１００】
また、本実施形態におけるプラント制御装置は、制御出力の状態量の将来予測値を推定可能なあらゆるプラントに適用可能である。例えば、プラント６がディーゼルエンジンであり、制御出力ｘが過給圧であってもよい。この場合、外生入力ｄは機関回転数及び燃料噴射量であり、制御入力ｕは、ターボチャージャのタービンに設けられた可変ノズルの開度である。
【０１０１】
また、プラント６がディーゼルエンジンであり、制御出力ｘが過給圧及びＥＧＲ率であってもよい。この場合、外生入力ｄは機関回転数及び燃料噴射量であり、制御入力ｕは、可変ノズルの開度、スロットル弁の開度及びＥＧＲ弁の開度である。また、プラントは、ガソリンエンジンのようなディーゼルエンジン以外の内燃機関、車両、工作機械等であってもよい。
【符号の説明】
【０１０２】
２    目標値算出部
３    目標値修正部
５    フィードバックコントローラ
６    プラント
【図１】
2019160030.tif 000007
【図２】
2019160030.tif 000008
【図３】
2019160030.tif 000009
【図４】
2019160030.tif 000010
【図５】
2019160030.tif 000011
【図６】
2019160030.tif 000012
【図７】
2019160030.tif 000013
【図８】
2019160030.tif 000014
【図９】
2019160030.tif 000015