JP7115654B1 - 制御装置、制御方法及びプログラム - Google Patents

制御装置、制御方法及びプログラム Download PDF

Info

Publication number
JP7115654B1
JP7115654B1 JP2022016432A JP2022016432A JP7115654B1 JP 7115654 B1 JP7115654 B1 JP 7115654B1 JP 2022016432 A JP2022016432 A JP 2022016432A JP 2022016432 A JP2022016432 A JP 2022016432A JP 7115654 B1 JP7115654 B1 JP 7115654B1
Authority
JP
Japan
Prior art keywords
calculation
control
manipulated variable
model
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022016432A
Other languages
English (en)
Other versions
JP2023114204A (ja
Inventor
吉雄 丹下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2022016432A priority Critical patent/JP7115654B1/ja
Application granted granted Critical
Publication of JP7115654B1 publication Critical patent/JP7115654B1/ja
Publication of JP2023114204A publication Critical patent/JP2023114204A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Abstract

【課題】エッジデバイス上でのモデル予測制御を可能にしつつ、モデル予測制御に必要な制御パラメータも自動調整し、かつ、モデル同定をリカバリ可能にすること。【解決手段】制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、モデルパラメータ推定部による前記モデルパラメータの推定値の算出と、制御パラメータ算出部による制御パラメータの算出と、目標偏差算出部による目標偏差の算出と、補正目標偏差算出部による補正目標偏差の算出と、操作変化量算出部による操作量の変化量の算出と、操作量算出部による新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返す。【選択図】図2

Description

本発明は、制御装置、制御方法及びプログラムに関する。
温調制御装置やPLC(Programmable Logic Controller)、DCS(Distributed Control System)等の制御装置、パーソナルコンピュータや組み込み制御機器上で実装される制御装置等が産業上広く利用されている。
また、制御対象の制御量を目標値に追従させることを目的とする制御方式として、PID(Proportional-Integral-Differential)制御、モデル予測制御、内部モデル制御、LQG(Linear-Quadratic-Gaussian)制御、H2制御、H∞制御等の各種の制御方式が知られている。
モデル予測制御は、制御対象の状態空間モデルや将来の時間応答モデルを用いた最適化計算を逐次的に行うことで望ましい応答を得る方式であり、産業界で広く用いられている(例えば、非特許文献1)。例えば、オンラインで数値最適化アルゴリズムを実行する標準的なモデル予測制御の産業応用として、空調システムの制御等への応用が知られている(例えば、特許文献1)。
また、現在に至るまでの過去の操作量の変化に応じた制御量の予測値と、目標値との差である補正目標偏差に基づいて新たな操作量を決定する制御装置が提案されている(例えば、特許文献2、特許文献3)。
また、線形予測モデルに対してパラメータ同定を行う手法として、逐次最小2乗法、すなわち、RLS(Recursive Least Squares)法やカルマンフィルタ法等が知られている(例えば、非特許文献2、非特許文献3)。
更に、セルフチューニング方式によりPID制御のパラメータを決定する技術が知られている(例えば、非特許文献4、非特許文献5)。
特開2015-108499号公報 国際公開第2016/092872号 特開2020-21411号公報
ヤン M. マチエヨフスキー,「モデル予測制御 制約のもとでの最適制御」,東京電機大学出版局,2005 足立 修一,「MATLABによる制御のためのシステム同定」,東京電機大学出版局,1996 足立 修一,「MATLABによる制御のための上級システム同定」,東京電機大学出版局,2004 山本 透,藤井 憲三,「実用化に向けたセルフチューニング制御系の設計」,電気学会論文誌D,123巻9号(2003) 山本 透,「セルフチューニング方式の新展開 一般化最小分散制御とPID制御」,計測と制御,40巻10号(2001)
非特許文献4、非特許文献5に記載されている技術は、比較的計算資源が乏しいエッジデバイス(例えば、PLC等の制御装置)上でパラメータのチューニングを実現し得る技術として有望であるが、以下のような課題がある。
・PID制御では3つのパラメータしか自由度がないため理想的な応答にマッチングできない場合がある。
・一般化最小分散制御を用いる場合、予めプラント時定数を十分考慮した参照モデル関数を所与とする必要がある。
一方で、モデル予測制御は、プラント応答モデルに比較的自由度が高く、PID制御が苦手とするむだ時間の長いプラントや逆応答を有するプラントにも対応し得るが、以下のような課題がある。
・モデルに基づく制御方式であるため、制御対象のモデルを予め同定する必要がある。
・このモデル同定と制御応答のエンジニアリング(例えば、制御ゲイン等の制御パラメータを決定するためのシミュレーションやデータ解析といった事前作業)とを比較的計算資源が乏しいエッジデバイス上で実行することは困難である。
また、RLS法等よりモデル同定(モデルパラメータの学習(又は推定))を行う場合、以下のような課題がある。
・一般にモデル同定は非線形アルゴリズムであるため、モデルパラメータの初期値に結果が依存し、予期しない値に陥る場合がある。
・学習の過程で、何等かの要因(例えば、外乱等)により学習状態が不安定になる場合がある。
このため、モデルパラメータが予期しない値に陥ったり、学習状態が不安定になったりした場合に備えて、モデル同定をリカバリ可能とさせることが必要である。
本発明の一実施形態は、上記の点に鑑みてなされたもので、エッジデバイス上でのモデル予測制御を可能にしつつ、モデル予測制御に必要な制御パラメータも自動調整し、かつ、モデル同定をリカバリ可能にすることを目的とする。
上記目的を達成するため、一実施形態に係る制御装置は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するように構成されているモデルパラメータ推定部と、前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出するように構成されている制御パラメータ算出部と、前記目標値と現在の制御量との差である目標偏差を算出するように構成されている目標偏差算出部と、前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出するように構成されている補正目標偏差算出部と、前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出するように構成されている操作変化量算出部と、前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出するように構成されている操作量算出部と、所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するように構成されているリセット処理部と、を有し、前記モデルパラメータ推定部による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出部による前記制御パラメータの算出と、前記目標偏差算出部による前記目標偏差の算出と、前記補正目標偏差算出部による前記補正目標偏差の算出と、前記操作変化量算出部による前記操作量の変化量の算出と、前記操作量算出部による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返す。
エッジデバイス上でのモデル予測制御を可能にしつつ、モデル予測制御に必要な制御パラメータも自動調整し、かつ、モデル同定をリカバリ可能にすることができる。
本実施形態に係る制御装置のハードウェア構成の一例を示す図である。 本実施形態に係る制御装置の機能構成の一例を示す図である。 プラント応答関数の動作の一例を説明するための図である。 プラント応答関数の計算処理の一例を説明するためのフローチャートである。 モデルパラメータの推定処理の一例を説明するためのフローチャートである。 補正目標偏差計算部の動作の一例を説明するための図である。 リセット処理の一例を説明するためのフローチャートである。 モデルパラメータ・共分散行列リセットの一例を説明するためのフローチャートである。 操作変化量計算部の動作の一例を説明するための図である。 制御パラメータの計算処理の一例を説明するためのフローチャートである。 実施例1における制御対象プラントのステップ応答を示す図である。 実施例1における制御応答を示す図(その1)である。 実施例1におけるモデルパラメータの推移を示す図(その1)である。 実施例1における制御パラメータの推移を示す図(その1)である。 実施例1における制御応答を示す図(その2)である。 実施例1におけるモデルパラメータの推移を示す図(その2)である。 実施例1における制御パラメータの推移を示す図(その2)である。 実施例1における制御応答を示す図(その3)である。 実施例1におけるモデルパラメータの推移を示す図(その3)である。 実施例1における制御パラメータの推移を示す図(その3)である。 実施例2における制御応答を示す図である。 実施例2におけるモデルパラメータの推移を示す図である。 実施例2における制御パラメータの推移を示す図である。
以下、本発明の一実施形態について説明する。以降では、任意のプラントを制御対象として、その目標値が与えられた場合に、モデル予測制御により制御量を目標値に追従させるための操作量を計算すると共に、モデル更新のためのモデルパラメータの推定とモデル予測制御に必要な制御パラメータの計算とを行い、かつ、モデル同定のリカバリが可能な制御装置10について説明する。ここで、本実施形態に係る制御装置10は、例えば、PC(パーソナルコンピュータ)等と比較して計算資源が乏しいエッジデバイス(PLCやDCS等)であることを想定する。なお、モデル同定とは、モデルパラメータを推定(又は学習と呼ばれもよい。)することである。
本実施形態に係る制御装置10は、任意の目標値rや制御対象プラント20の状態等を示す制御量y、制御対象プラント20のプラント応答モデル等に基づいて、当該制御対象プラント20に対する操作量uを計算すると共に、モデルパラメータの推定と制御パラメータの計算とを行う。そして、制御装置10は、この操作量uに応じた制御対象プラント20の制御量yを計測し、目標値rや制御量y、プラント応答モデル等に基づいて次の操作量uを計算すると共に、新たなモデルパラメータの推定と新たな制御パラメータの計算とを行う。このように、本実施形態に係る制御装置10は、制御量yを目標値rに追従させるための操作量uの計算と、プラント応答モデルのモデルパラメータの推定と、制御パラメータの計算とをオンライン実行中(つまり、制御対象プラント20の制御中)に繰り返し実行する。すなわち、本実施形態に係る制御装置10は、毎回のオンライン最適化計算を必要とせずにモデル予測制御を実現すると共に、それに必要な制御パラメータも自動で調整する。
これにより、本実施形態に係る制御装置10は、比較的乏しい計算資源でもモデル予測制御による高い制御性能を実現しつつ、制御パラメータの調整に必要な作業を不要とすることができる。また、制御パラメータの調整作業(例えば、オフラインにおけるデータ解析やシミュレーション等のモデル予測制御に関するエンジニアリング作業)が不要となることで、それに要する時間・コストを削減することができる。
また、制御対象プラント20の運用開始後は、プラント特性の季節変動や経年劣化等の継時的変化に追従したモデルパラメータを推定しつつ制御パラメータも自動で調整されるため、制御性能を安定して維持することができる。
更に、事前に調整された参照モデル関数が不要で、PID制御が苦手とするプラント(むだ時間の長いプラントや逆応答を有するプラント)にも対応し得るモデル予測制御を実現することができる。
上記に加えて、本実施形態に係る制御装置10は、モデル同定のリカバリ(つまり、モデルパラメータのリセット)を行うことができる。
これにより、本実施形態に係る制御装置10は、例えば、モデルパラメータが予期しない値に陥ったり、何等かの要因(例えば、外乱等)により学習状態が不安定になったりした場合には、モデル同定をリカバリさせた上で、リカバリ後のモデルパラメータを初期値として、再度、モデル同定を行うことが可能となる。
なお、制御量yとしては、例えば、制御対象プラント20の温度、目標値rとしては、例えば、設定温度等が挙げられる。ただし、制御量y及び目標値rは、温度及び設定温度に限られず、制御対象プラント20における任意の制御量及び当該制御量の目標となる目標値を用いることができる。
<制御装置10のハードウェア構成>
まず、本実施形態に係る制御装置10のハードウェア構成について、図1を参照しながら説明する。図1は、本実施形態に係る制御装置10のハードウェア構成の一例を示す図である。
図1に示すように、本実施形態に係る制御装置10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、プロセッサ15と、メモリ装置16とを有する。これらの各ハードウェアは、それぞれがバス17を介して通信可能に接続される。
入力装置11は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置12は、例えば、ディスプレイ、表示パネル等である。なお、制御装置10は、例えば、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。
外部I/F13は、記録媒体13a等の外部装置とのインタフェースである。記録媒体13aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
通信I/F14は、制御装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ15は、例えば、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等の各種演算装置である。メモリ装置16は、例えば、SSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
なお、図1に示すハードウェア構成は一例であって、制御装置10は、他のハードウェア構成であってもよい。例えば、制御装置10は、複数のプロセッサ15や複数のメモリ装置16を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
<制御装置10の機能構成>
次に、本実施形態に係る制御装置10の機能構成について、図2を参照しながら説明する。図2は、本実施形態に係る制御装置10の機能構成の一例を示す図である。
図2に示すように、本実施形態に係る制御装置10は、モデルパラメータ推定部101と、計測部102と、差分器103と、操作量更新部104と、リセット処理部105と、タイマ106とを有する。これらは、例えば、制御装置10にインストールされた1以上のプログラムが、プロセッサ15等に実行させる処理により実現される。また、本実施形態に係る制御装置10は、予測時系列記憶部107を有する。予測時系列記憶部107は、例えば、制御装置10が有するメモリ装置16により実現される。
計測部102は、制御周期T毎に、制御対象プラント20の制御量yを計測(観測)する。そして、計測部102は、計測した制御量yの最新の値を、制御量現在値yとして出力する。なお、制御対象プラント20の制御量yは、操作量uと外乱vとに応じて決定される。外乱vとしては、例えば、制御量yが温度である場合には外気温の低下又は上昇等が挙げられる。
また、計測部102は、制御周期T毎に、操作量更新部104から出力された操作量uを取得(観測)し、取得した操作量uの最新の値を、操作量現在値uとして出力する。
差分器103は、目標値rと、制御量現在値yとの差(偏差)を目標偏差eとして出力する。時刻tにおける目標偏差e(t)は、e(t)=r(t)-y(t)で計算される。なお、本実施形態では、目標値は一定、すなわち、r(t)=定数であるとする。
操作量更新部104は、制御周期T毎に、制御対象プラント20に対する操作量uを出力する。ここで、操作量更新部104には、制御パラメータ計算部111と、補正目標偏差計算部112と、操作変化量計算部113と、加算器114とが含まれる。
制御パラメータ計算部111は、プラント応答関数{Sθ(t)}を入力して、制御パラメータとして制御ゲインkと先読み長Tとを計算し、制御ゲインkを操作変化量計算部113、先読み長Tを補正目標偏差計算部112にそれぞれ出力する。
補正目標偏差計算部112は、プラント応答関数{Sθ(t)}と、目標偏差e(t)と、過去の操作量uの変化量duの時系列データである操作変化量時系列{du(t)}と、先読み長Tとに基づいて、目標偏差e(t)を補正した補正目標偏差e(t)を計算する。このとき、補正目標偏差計算部112は、予測時系列記憶部107に記憶されている予測時系列(未来の或る時刻までの制御量yの予測値の時系列)を用いて、補正目標偏差e(t)を計算する。なお、補正目標偏差e(t)の計算方法の詳細については後述する。
操作変化量計算部113は、補正目標偏差e(t)と制御ゲインkとに基づいて、操作変化量du(t)を計算する。操作変化量計算部113は、例えば、du(t-3T)、du(t-2T)、du(t-T)という順序で操作変化量du(t)を算出し、出力する。なお、操作変化量duは、制御周期T毎に操作量uが変化した量である。
加算器114は、計測部102から出力された操作量現在値uと、操作変化量計算部113から出力された操作変化量duとを加算して、新たな操作量uを算出する。そして、加算器114は、この新たな操作量uを制御対象プラント20に出力する。新たな操作量uは、u(t)=u+du(t)=u(t-T)+du(t)で算出される。
モデルパラメータ推定部101は、制御周期T毎に、制御量現在値y(t)と操作量現在値u(t)とを入力し、プラント応答関数{Sθ(t)}のモデルパラメータの推定値θestを算出し、出力する。このモデルパラメータの推定値θ=θestは、プラント応答関数{Sθ(t)}に設定される。プラント応答関数{Sθ(t)}とはモデルパラメータθを含む関数であり、制御対象プラント20のプラント応答モデルである。以降では、プラント応答関数{Sθ(t)}に設定されているモデルパラメータθを「モデルパラメータ設定値θ」ともいう。なお、モデルパラメータの推定値θestを算出する際に、モデルパラメータの初期値θが入力されてもよい。
リセット処理部105は、リセット信号が入力されると、プラント応答関数{Sθ(t)}のモデルパラメータと予測時系列記憶部107に記憶されている予測時系列とをリセットする。これにより、モデル同定がリカバリされる。
タイマ106は、制御周期T毎に、モデルパラメータ推定部101と計測部102と操作量更新部104とを動作させる。すなわち、タイマ106は、制御周期T毎に、モデルパラメータ推定部101と計測部102と操作量更新部104の動作トリガーとして動作する。制御周期Tは、制御対象プラント20を制御する周期のことであり、その値は予め設定される。
予測時系列記憶部107は、補正目標偏差計算部112によって計算された予測時系列(未来の或る時刻までの制御量yの予測値の時系列)を記憶する。
なお、本実施形態に係る制御装置10は、例えば、制御周期T毎に計算されたモデルパラメータや制御パラメータ(制御ゲイン、先読み長)を表示装置12に逐次表示させる表示制御部を有していてもよいし、これらのモデルパラメータや制御パラメータを通信ネットワークにより接続されるPC等といった端末の表示装置上に逐次表示させる表示制御部を有していてもよい。これにより、制御装置10のユーザや管理者(以降、「ユーザ等」とも表す。)は、モデルパラメータや制御パラメータのトレンドを知ることが可能となり、プラント応答モデルの同定具合や制御パラメータの調整具合を確認することができるようになる。また、プラント応答モデルに急激な変動が起きる場合にその兆候を発見することも可能となる。
<プラント応答関数{Sθ(t)}の動作>
次に、プラント応答関数{Sθ(t)}の動作について、図3を参照しながら説明する。図3は、プラント応答関数{Sθ(t)}の動作の一例を説明するための図である。
図3に示すように、プラント応答関数{Sθ(t)}は、モデルパラメータ設定値θと時刻tとが入力されると、初期時刻0から時間t経過後の時刻tにおける単位ステップ応答Sθ(t)を出力する。なお、単位ステップ応答とは、操作量uを単位ステップ入力とした場合における応答(つまり、制御対象プラント20のプラント応答モデルの出力)のことである。
<プラント応答関数{Sθ(t)}の計算>
次に、プラント応答関数{Sθ(t)}の単位ステップ応答Sθ(t)を計算する処理について、図4を参照しながら説明する。図4は、プラント応答関数{Sθ(t)}の計算処理の一例を説明するためのフローチャートである。なお、図4では、モデルパラメータ設定値θと時刻tとが入力されたものとする。
ここで、本実施形態では、プラント応答関数Sθ(t)の計算モデルとして、制御量yについては過去N点の自己回帰、操作量uについては現在値と過去M-1点の移動平均を用いたARMA(autoregressive moving average)モデルを採用した場合について説明する。なお、N及びMは、例えば、ユーザ等によって予め設定される。ただし、ARMAモデルは一例であって、これに限られるものではなく、例えば、ARMAXモデル等の他のモデルを採用してもよい。
このとき、モデルパラメータ設定値θを以下とする。
θ=[-a,-a,・・・,-a,b,b,b,・・・,bM-1Τ
ここで、Τは転置を表す。
モデルパラメータ設定値θの各要素は、以下に示すARMAモデルの係数である。
y(k)=-ay(k-1)-ay(k-2)-・・・-ay(k-N)+bu(k)+bu(k-1)+bu(k-2)+・・・+bM-1u(k-M+1)
ここで、kはインデックスであり、k=1から開始するものとする。なお、上記のARMAモデルは一例であって、例えば、過去L点(Lは予め設定された1以上の整数)の外乱vを考慮したモデルが用いられてもよい。
ステップS11:操作量更新部104は、時刻を表す変数をτ、インデックスkにおける状態ベクトルをφ(k)、制御量予測値をy(k)として、時刻τと状態ベクトルφ(0)と制御量予測値y(0)とを初期化する。
ここで、状態ベクトルφ(k)は、以下で表される。
φ(k)=[y(k-1),y(k-2),・・・,y(k-N),u(k),u(k-1),u(k-2),・・・,u(k-M+1)]Τ
なお、例えば、過去L点の外乱vを考慮する場合には、状態ベクトルφ(k)を、y(k)及びu(k)に加えてL個の外乱v(k)を要素として持つ状態ベクトルに拡大すればよい。
操作量更新部104は、例えば、τ=0及びy(0)=0と初期化すると共に、φ(0)=[0,0,・・・,0,1,0,0,・・・,0]Τと初期化する。すなわち、φ(0)は、φ(k)のu(k)に相当する要素のみ1、他の要素は0に初期化される。これは、単位ステップ応答を模擬する際の初期値として設定していることを意味する。
ステップS12:次に、操作量更新部104は、制御量予測値y(k-1)と、状態ベクトルφ(k-1)とに基づいて、状態ベクトルφ(k)を更新する。操作量更新部104は、例えば、以下により状態ベクトルφ(k)を更新する。
φ(k)=[y(k-1),y(k-2),・・・,y(k-N),u(k),u(k-1),u(k-2),・・・,u(k-M+1)]Τ
このとき、y(k-1)には制御量予測値y(k-1)を設定し、u(k)には1を設定する。また、y(k-2),・・・,y(k-N)及びu(k-1),u(k-2),・・・,u(k-M+1)には、状態ベクトルφ(k-1)と同じ値を設定する(すなわち、状態ベクトルφ(k-1)に含まれるy(k-2),・・・,y(k-N)及びu(k-1),u(k-2),・・・,u(k-M+1)をそれぞれ設定する。)。
ステップS13:次に、操作量更新部104は、モデルパラメータ設定値θと状態ベクトルφ(k)とに基づいて制御量予測値y(k)を計算する。操作量更新部104は、例えば、y(k)=φ(k)Τθにより制御量予測値y(k)を計算する。
ステップS14:次に、操作量更新部104は、時刻τをτ+ΔTに更新すると共に、インデックスkをk+1に更新する。ここで、ΔTはARMAモデルの1ステップの時間幅を表す。プラント応答関数の時間刻みΔTは、制御周期Tに応じて変更することができる。ARMAモデルは離散モデルであるため、ΔT=Tとすることが好適である。
ステップS15:次に、操作量更新部104は、τ≧tであるか否かを判定する。そして、τ≧tであると判定されなかった場合(ステップS15でNO)、操作量更新部104は、ステップS12に戻る。これにより、τ≧tとなるまで、ステップS12~ステップS14が繰り返し実行される。
一方で、τ≧tであると判定された場合(ステップS15でYES)、操作量更新部104は、処理を終了する。これにより、最終的に計算されたy(k)が単位ステップ応答Sθ(t)として得られる(つまり、Sθ(t)=y(k)が、ステップ応答関数{Sθ(t)}の時刻tにおける単位ステップ応答として計算される。)。
<モデルパラメータθの推定>
次に、プラント応答関数{Sθ(t)}のモデルパラメータθを推定する処理(つまり、モデルパラメータ推定値θestを算出する処理)について、図5を参照しながら説明する。図5は、モデルパラメータの推定処理の一例を説明するためのフローチャートである。なお、図5では、制御量現在値yと操作量現在値uとが入力されたものとして、或るインデックスkにおけるモデルパラメータ推定値θestを算出する場合について説明する。また、制御量の1時刻前の値(つまり、現在の時刻をtとしたとき、y(t-T))を制御量前回値と呼び、y-1と表記することにする。なお、このインデックスkは、図4でプラント応答関数の計算に用いたインデックスkとは独立した値であり、モデルパラメータ推定処理の実行時インデックスを表す。
ステップS21:モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化するか否かを判定する。ここで、初期化すると判定される場合としては、例えば、モデルパラメータ推定値θestを初めて算出する場合(つまり、モデルパラメータ推定値θestの初回算出時)、ユーザ等により初期化指示が行われた場合等が挙げられる。
モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定した場合(ステップS21でYES)、モデルパラメータ推定部101は、ステップS22に進む。一方で、モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定しなかった場合(ステップS21でNO)、モデルパラメータ推定部101は、ステップS23に進む。
ステップS22:上記のステップS21でモデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定された場合、モデルパラメータ推定部101は、k=0と初期化すると共に、θest(0)=θ及びP(0)=γI(ただし、γ>0)と初期化する。ここで、θとしては、既にプラント応答関数{Sθ(t)}に設定されているモデルパラメータ設定値θを用いてもよいし、ユーザ等が事前に想定した初期値を用いてもよいし、後述するリセット処理により得られたモデルパラメータ推定値θest=θest(k-1)を用いてもよい。また、Iとしては、単位行列としてもよいし、予め決められた任意の行列としてもよい。
ステップS23:モデルパラメータ推定部101は、状態ベクトルφ(k-1)と操作量現在値uと制御量前回値y-1とに基づいて、状態ベクトルφ(k)を更新する。すなわち、モデルパラメータ推定部101は、例えば、以下により状態ベクトルφ(k)を更新する。
φ(k)=[y(k-1),y(k-2),・・・,y(k-N),u(k),u(k-1),u(k-2),・・・,u(k-M+1)]Τ
このとき、y(k-1)には制御量前回値y-1を設定し、u(k)には操作量現在値uを設定する。また、y(k-2),・・・,y(k-N)及びu(k-1),u(k-2),・・・,u(k-M+1)には、状態ベクトルφ(k-1)と同じ値を設定する(すなわち、状態ベクトルφ(k-1)に含まれるy(k-2),・・・,y(k-N)及びu(k-1),u(k-2),・・・,u(k-M+1)をそれぞれ設定する。)。
なお、例えば、過去L点の外乱vを考慮する場合には、上述したように、状態ベクトルφ(k)を、y(k)及びu(k)に加えてL個の外乱v(k)を要素として持つ状態ベクトルに拡大し、外乱に対する共分散行列とモデルパラメータの推定とを行うようにすればよい。
ステップS24:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k-1)と状態ベクトルφ(k)と制御量現在値yとに基づいて、予測誤差ε(k)を計算する。なお、モデルパラメータ推定値θest(k-1)は前回(つまり、k-1のとき)推定したモデルパラメータθの推定値である。
モデルパラメータ推定部101は、例えば、以下により予測誤差ε(k)を計算する。
y(k)=y
ε(k)=y(k)-φ(k)Τθest(k-1)
ステップS25:次に、モデルパラメータ推定部101は、共分散行列P(k)を更新する。モデルパラメータ推定部101は、例えば、以下により共分散行列P(k)を更新する。
Figure 0007115654000002
ここで、P(k-1)は前回(つまり、k-1のとき)得られた共分散行列である。また、λは0<λ≦1を取る忘却係数であり、予め設定された値である。忘却係数λは過去データを忘却するための係数であり、0に近いほど急激に過去データの影響が減少し、1に近いほど過去データの影響が保持される。
ステップS26:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θestを更新するか否かを判定する。ここで、モデルパラメータ推定値θestを更新すると判定される場合としては、例えば、上記のステップS22での初期化時から所定の期間が経過するまでモデルパラメータ推定値θestが更新されなかった場合、ユーザ等により更新指示が行われた場合等が挙げられる。
モデルパラメータ推定値θestを更新すると判定した場合(ステップS26でYES)、モデルパラメータ推定部101は、ステップS27に進む。一方で、モデルパラメータ推定値θestを更新すると判定しなかった場合(ステップS26でNO)、モデルパラメータ推定部101は、θest(k)=θest(k-1)とした上で、ステップS27を実行せず、ステップS28に進む。
ステップS27:上記のステップS26でモデルパラメータ推定値θestを更新すると判定された場合、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)を更新する。モデルパラメータ推定部101は、例えば、以下によりモデルパラメータ推定値θest(k)を更新する。
Figure 0007115654000003
ステップS28:そして、モデルパラメータ推定部101は、モデルパラメータ推定処理の実行時インデックスkをk+1に更新する。
<補正目標偏差計算部112の動作>
次に、補正目標偏差計算部112の動作について、図6を参照しながら説明する。図6は、補正目標偏差計算部112の動作の一例を説明するための図である。
図6に示すように、補正目標偏差計算部112は、プラント応答関数{Sθ(t)}と、目標偏差e(t)と、操作変化量時系列{du(t)}と、先読み長Tとが入力されると、制御量が過去の操作変化量によって現在時刻tからT経過後に変化すると予測される値を先読み応答補正値y(t)として算出する。なお、先読み長Tは制御パラメータ計算部111により計算される。
そして、補正目標偏差計算部112は、先読み応答補正値y(t)により目標偏差e(t)を補正した補正目標偏差e(t)を出力する。ここで、補正目標偏差e(t)は、e(t)=r(t)-(y(t)+y(t))=e(t)-y(t)で計算される。そこで、以下、一例として、予測時系列記憶部107に記憶されている予測時系列を用いて、先読み応答補正値y(t)を計算する方法について説明する。
時刻tで予測した時刻sにおける制御量yの予測値を一般化予測値yn,C(s|t)と定義し、以下により計算する。
Figure 0007115654000004
ここで、Mは、一般化予測値の計算に使用するモデルの長さ(モデル区間)である。
このとき、予測時系列記憶部107には、現在時刻をtとして、時刻t-Δtから未来の時刻t+Tまでの一般化予測値yn,C(s|t)が時系列として記憶されているものとする。すなわち、予測時系列記憶部107には、yn,C(t-Δt|t),yn,C(t|t),yn,C(t+Δt|t),・・・,yn,C(t+T|t)が記憶されているものとする。ここで、Tは予測時系列記憶部107に記憶される一般化予測値yn,Cの長さ(時系列長)を決める定数であり、T=NΔt(Nは、予め決められた任意の正の整数)と表されるものとする。また、Δtは予測間隔であり、Δt=Tであるものとする。
一般化予測値yn,Cを用いると、操作変化量時系列{du(t)}のみによる先読み時刻t+Tにおける制御量yの予測値である先読み応答予測値yn,A(t)は、yn,A(t)=yn,C(t+T|t)となる。また、操作変化量時系列{du(t)}のみによる現在時刻tにおける制御量yの予測値である自由応答予測値yn,B(t)は、yn,B(t)=yn,C(t|t)となる。
一方で、先読み応答補正値y(t)は、y(t)=yn,A(t)-yn,B(t)と計算できる。このため、補正目標偏差計算部112は、予測時系列記憶部107を用いることで、少ない計算量と少ないメモリ量で補正目標偏差e(t)を計算することができる。
ここで、予測時系列記憶部107は、新たな操作変化量du(t)が操作変化量計算部113によって算出される毎に、補正目標偏差計算部112によって更新される。以下、予測時系列記憶部107の更新方法の一例について説明する。
時刻tで予測したmΔt先における一般化予測値yn,C(t+mΔt|t)は、以下で表される。
Figure 0007115654000005
このため、時刻t+Δtで予測したmΔt先における一般化予測値yn,C(t+Δt+mΔt|t+Δt)は、以下で表される。
Figure 0007115654000006
すなわち、時刻t+Δで予測したmΔt先における一般化予測値yn,C(t+Δt+mΔt|t+Δt)は、yn,C(t+Δt+mΔt|t+Δt)=S(mΔt)du(t+Δt)+yn,C(t+(m+1)Δt|t)となる。
したがって、時刻t+Δtで予測したmΔ先における一般化予測値yn,Cは、時刻tで予測した(m+1)Δt先の一般化予測値yn,Cに対して、時刻t+Δtにおける操作変化量du(t+Δ)による影響を加えた値として更新できる。なお、このような更新は、例えば、特許文献2や特許文献3に記載されている手法により行うことができる。
<リセット処理>
次に、プラント応答関数{Sθ(t)}のモデルパラメータと予測時系列記憶部107に記憶されている予測時系列とをリセットする処理について、図7を参照しながら説明する。図7は、リセット処理の一例を説明するためのフローチャートである。なお、図7に示すリセット処理は、リセット信号がリセット処理部105に入力されると実行される。リセット信号は、例えば、ユーザや他のプログラム、他の機器等から入力される。以下では、リセット信号がリセット処理部105に入力されたものとする。
ステップS31:リセット処理部105は、リセット信号がONであるか否かを判定する。リセット信号がONであるとは、リセット信号が所定の値(例えば、「1」)を表す信号であることを意味する。一方で、リセット信号が所定の値以外を表す信号である場合、リセット信号がOFFであるという。なお、例えば、モデルパラメータθが予期しない値となった場合、モデルパラメータθの学習状態が不安定となった場合等に、ONを示すリセット信号がリセット処理部105に入力される。この他にも、例えば、非線形性等により制御性能が劣化し場合(つまり、目標値rと制御量yの乖離が大きくなった場合)等に、ONを示すリセット信号がリセット処理部105に入力されてもよい。又は、例えば、制御対象プラント20の運転モードの変化(例えば、仕込、反応、払出等といった運転モードの変化)に対応してONを示すリセット信号がリセット処理部105に入力されてもよいし、その他の何等かのロジックによってONを示すリセット信号がリセット処理部105に入力されてもよい。
リセット信号がONであると判定された場合(ステップS31でYES)、リセット処理部105は、ステップS32に進む。一方で、リセット信号がONであると判定しなかった場合(ステップS31でNO)、リセット処理部105は、何も行わずにリセット処理を終了する。
ステップS32:リセット処理部105は、モデルパラメータθ=θestと共分散行列Pをリセットする。すなわち、リセット処理部105は、モデルパラメータθと共分散行列Pのリセットをモデルパラメータ推定部101に指示する。なお、本ステップの詳細については後述する。
ステップS33:リセット処理部105は、予測時系列記憶部107に記憶されている予測時系列をリセットする。すなわち、リセット処理部105は、予測時系列記憶部107に記憶されている一般化予測値yn,C(t-Δt|t),yn,C(t|t),yn,C(t+Δt|t),・・・,yn,C(t+T|t)をすべて0に初期化する。これにより、現在時刻t以前の操作変化量duの影響が消去される。
<モデルパラメータθと共分散行列Pのリセット>
図7のステップS32におけるモデルパラメータθ=θestと共分散行列Pをリセットする処理の詳細について、図8を参照しながら説明する。図8は、モデルパラメータ・共分散行列リセットの一例を説明するためのフローチャートである。なお、図8は、モデルパラメータθと共分散行列Pのリセットがリセット処理部105によって指示されたときに実行される。
ステップS41:モデルパラメータ推定部101は、θest(0)=0及びP(0)=γIと初期化する。なお、事前情報を用いないため、モデルパラメータ推定値θest(0)は零ベクトル、共分散行列P(0)は単位行列Iの係数γ倍(ただし、γ>0)に初期化される。なお、γは任意の正の値を用いることができるが、γの値を0に近い値にしておくと、初期のモデルパラメータ推定値の急変動を抑制することができる。
ステップS42:次に、モデルパラメータ推定部101は、定常状態を表す状態ベクトルφ(0)を生成する。モデルパラメータ推定部101は、例えば、以下により定常状態を表す状態ベクトルφ(0)を生成する。
φ(0)=[y,y,・・・,y,u,u,・・・,uΤ
すなわち、y(k-1),y(k-2),・・・,y(k-N)に相当する要素にyを設定すると共に、u(k),u(k-1),u(k-2),・・・,u(k-M+1)に相当する要素にuを設定する。これは、制御量現在値y及び操作量現在値uが定常値であるものとして、一定の状態が継続したと仮定し、図5のステップS23の状態ベクトル更新より状態ベクトルを生成したものである。以下、定常状態を表す状態ベクトルφ(0)を定常状態ベクトルともいう。
ステップS43:次に、モデルパラメータ推定部101は、k=1と初期化する。なお、このインデックスkは、図4や図5で用いたインデックスkとは独立した値である。
ステップS44:次に、モデルパラメータ推定部101は、k≧Kであるか否かを判定する。ここで、Kは予め設定された値である。
k≧Kであると判定された場合(ステップS44でYES)、モデルパラメータ推定部101は、ステップS49に進む。一方で、k≧Kであると判定しなかった場合、モデルパラメータ推定部101は、ステップS45に進む。
ステップS45:上記のステップS44でk≧Kであると判定されなかった場合、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k-1)と定常状態ベクトルφ(0)と制御量現在値yとに基づいて、予測誤差ε(k)を計算する。なお、モデルパラメータ推定値θest(k-1)は前回(つまり、k-1のとき)推定したモデルパラメータθの推定値である。
モデルパラメータ推定部101は、例えば、以下により予測誤差ε(k)を計算する。
y(0)=y
ε(k)=y(0)-φ(0)Τθest(k-1)
なお、リセット処理では定常状態の予測を行っているため、モデルパラメータ推定値θestのみがインデックスkに依存している。
ステップS46:次に、モデルパラメータ推定部101は、共分散行列P(k)を更新する。モデルパラメータ推定部101は、例えば、以下により共分散行列P(k)を更新する。
Figure 0007115654000007
ここで、P(k-1)は前回(つまり、k-1のとき)得られた共分散行列である。また、λは0<λ≦1を取る忘却係数であり、予め設定された値である。なお、忘却係数λは、図5のステップS25と同様の値を用いることが好適である。
ステップS47:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)を更新する。モデルパラメータ推定部101は、例えば、以下によりモデルパラメータ推定値θest(k)を更新する。
Figure 0007115654000008
ステップS48:次に、モデルパラメータ推定部101は、インデックスkをk+1に更新する。これにより、k≧Kと判定されるまで、上記のステップS46~ステップS48が繰り返し実行され、その結果、モデルパラメータθが、定常状態ベクトルφ(0)に対するモデルパラメータ推定値θest(K-1)にリセットされることになる。
ステップS49:上記のステップS44でk≧Kであると判定された場合、モデルパラメータ推定部101は、共分散行列PをP(0)=γIと再初期化する。これは、リセット処理では定常状態ベクトルφ(0)に対するモデルパラメータ推定値θestを計算しているため、共分散行列Pは一般に正しい値ではなくなるので、再初期化を行っている。
<操作変化量計算部113の動作>
次に、操作変化量計算部113の動作について、図9を参照しながら説明する。図9は、操作変化量計算部113の動作の一例を説明するための図である。
図9に示すように、操作変化量計算部113は、補正目標偏差e(t)と制御ゲインkとが入力されると、この補正目標偏差e(t)に対して、制御パラメータ計算部111で計算された制御ゲインkを乗じて操作変化量du(t)を出力する。すなわち、操作変化量計算部113は、du(t)=k×e(t)により操作変化量du(t)を算出する。
ただし、補正目標偏差e(t)に対して制御ゲインkを乗じた結果が上限値dumaxを超える場合、操作変化量計算部113は、dumaxを操作変化量du(t)とする。同様に、補正目標偏差e(t)に対して制御ゲインkを乗じた結果が下限値duminを下回る場合、操作変化量計算部113は、duminを操作変化量du(t)とする。これにより、上下限範囲に対するリミッターを設けることができる。なお、操作量現在値uと操作変化量duとが加算器114によって加算された後の操作量uが所定の上下限範囲を逸脱しないように、dumax及びduminを都度設定してもよい。
<制御パラメータの計算>
次に、制御パラメータとして制御ゲインkと先読み長Tを計算する処理について、図10を参照しながら説明する。図10は、制御パラメータの計算処理の一例を説明するためのフローチャートである。なお、図10では、プラント応答関数{Sθ(t)}に加えて、調整係数α,βが入力されたものとする。調整係数α,βは予め設定された値であり、0<α≦1,0<β≦1であることが好適である。
ステップS51:制御パラメータ計算部111は、プラント応答関数{Sθ(t)}と調整係数βとに基づいて、先読み長Tを計算する。制御パラメータ計算部111は、プラント応答関数{Sθ(t)}を用いて、十分長い値として予め設定された最終時刻Tmaxのプラント応答関数値Sθ(Tmax)に対して調整係数βを乗じた値にプラント応答関数値が等しくなる時点を先読み長T時点とする。すなわち、制御パラメータ計算部111は、以下により先読み長Tを計算(探索)する。
Find T,where Sθ(T)=β×Sθ(Tmax
なお、閉ループの応答が遅い場合には、調整係数βをより小さい値とすることで応答の早さを調整することができる。
また、制御パラメータ計算部111は、先読み長T時点でのゲインgを以下により計算する。
=Sθ(T
このように、先読み長Tに基づいて制御ゲインgを計算する。これにより、例えば、制御対象プラント20のむだ時間と時定数が長い場合であっても、より早く応答させることが可能となる。
なお、Tmaxは、プラント応答関数が収束するのに十分な値としてもよいし、メモリ上の制約等から定めた値であってもよい。又は、補正目標偏差計算部112で予測可能な期間の最大値をTmaxとしてもよい。
ステップS52:そして、制御パラメータ計算部111は、先読み長T時点でのゲインgと調整係数αとに基づいて、制御ゲインkを計算する。制御パラメータ計算部111は、以下により制御ゲインkを計算する。
=α×(1/g
すなわち、先読み長T時点でのゲインgの逆数に対して調整係数αを乗じた値を制御ゲインkとする。
なお、閉ループの応答でのオーバーシュートが多い場合には、調整係数αをより小さい値とすることでオーバーシュートの多さを調整することができる。
<プラント応答モデルの拡張>
ARMAモデルやARMAXモデル等で表されるプラント応答モデルは、定常状態を表すオフセット項(定数項)を追加したモデルに拡張できる。
例えば、ARMAモデルで表される場合、プラント応答モデルは、以下のようにオフセット項を持つモデルに拡張できる。
y(k)=-ay(k-1)-ay(k-2)-・・・-ay(k-N)+bu(k)+bu(k-1)+bu(k-2)+・・・+bM-1u(k-M+1)+c
ここで、cがオフセット項であり、制御対象プラント20の定常状態を表す。
上記のようなオフセット項を持つプラント応答モデルを考える場合、モデルパラメータθの最後にオフセット項を追加すると共に、状態ベクトルφ(k)の最後にオフセット項に相当する要素として1を追加することで、本実施形態を同様に適用することが可能である。
例えば、上記のオフセット項を持つARMAモデルでプラント応答モデルが表される場合、モデルパラメータをθ=[-a,-a,・・・,-a,b,b,b,・・・,bM-1,c]Τとすると共、状態ベクトルをφ(k)=[y(k-1),y(k-2),・・・,y(k-N),u(k),u(k-1),u(k-2),・・・,u(k-M+1),1]Τとすればよい。
これにより、制御量及び操作量がオフセットを持つ場合でも、そのオフセットを同時に推定することができる。
なお、図4でプラント応答関数{Sθ(t)}の単位ステップ応答Sθ(t)を計算する際には、モデルパラメータθ及び状態ベクトルφ(k)にそれぞれオフセット項及びそれに相当する要素を追加する必要はない。
<実施例1>
次に、実施例1について説明する。本実施例では、オフセット項を持つプラント応答モデルで表される制御対象プラント20を想定する。
本実施例における制御対象プラント20のプラント応答モデルは、kをインデックスとして、y(k)=θy(k-1)+θy(k-2)+θu(k)+θu(k-1)+θu(k-2)+θと表されるものとする。ここで、θがオフセット項である。
このとき、状態ベクトルはφ(k)=[y(k-1),y(k-2),u(k),u(k-1),u(k-2),1]Τと表され、モデルパラメータはθ(k)=[θ(k),θ(k),θ(k),θ(k),θ(k),θ(k)]Τと表される。オフセット項θを除くモデルパラメータの真値はθ(k)=[1.73,-0.737,-0.00185,0.00415,0.0117]Τであるものとする。また、制御量推定値をyestとすれば、制御量推定値はyest(k)=φ(k)Τθ(k-1)で計算される。
本実施例における制御対象プラント20の単位ステップ応答を図11に示す。図11に示すように、単位ステップ応答は滑らかに増加する形状となっている。
また、操作量の上限を90、下限を0とした。調整係数はα=0.95,β=0.3とした。忘却係数はλ=0.95とした。
以上の設定の下、制御周期T毎に、モデルパラメータ推定部101によるモデルパラメータθの推定と制御パラメータ計算部111による制御パラメータの計算とを行うと共に、操作量更新部104により算出された操作量uで制御対象プラント20を制御する実験を3つのケースで行った。
(第1のケース)
第1のケースは、時刻t=0にONを示すリセット信号がリセット処理部105に入力されたケースである。
本ケースにおける制御応答(目標値r及び制御量yとそのときの操作量u)を図12、モデルパラメータθの推移を図13、制御パラメータの推移を図14にそれぞれ示す。
モデルパラメータθの推移では、時刻t=0にリセット処理が実行された後、目標値rが変化するタイミングでモデルパラメータが大きく変化している。また、それに伴い、制御パラメータkとTも変化している。制御応答においては、初期にオーバーシュートが見られるものの、制御量yは目標値rに追従しており、本実施形態に係る制御装置10による追従制御が十分に機能していることが確認できる。
(第2のケース)
第2のケースは、時刻t=0と時刻t=400にONを示すリセット信号がリセット処理部105に入力されたケースである。
本ケースにおける制御応答(目標値r及び制御量yとそのときの操作量u)を図15、モデルパラメータθの推移を図16、制御パラメータの推移を図17にそれぞれ示す。
モデルパラメータθの推移では、時刻t=0と時刻t=400にリセット処理が実行されており、それに伴い制御パラメータも変化している。時刻t=400という制御途中でリセット処理が実行されているものの、制御量yは目標値rに追従しており、本実施形態に係る制御装置10による追従制御が十分に機能していることが確認できる。
(第3のケース)
第3のケースは、モデルパラメータθの初期値(t=0の値)を零ベクトルとして、時刻t=400にONを示すリセット信号がリセット処理部105に入力されたケースである。
本ケースにおける制御応答(目標値r及び制御量yとそのときの操作量u)を図18、モデルパラメータθの推移を図19、制御パラメータの推移を図20にそれぞれ示す。
時刻t=0では、モデルパラメータθが零ベクトルの状態から開始しており、制御応答を見ると制御量yと目標値rとの間にずれが見られる。これは、モデルパラメータθの初期値が真値とは遠い状態で推定されているため、予測精度が不十分なためである。
モデルパラメータθの推移では、時刻t=400にリセット処理が実行されており、それに伴い制御パラメータも変化している。リセット処理が実行された後は、制御量yは目標値rに追従しており、本実施形態に係る制御装置10による追従制御が十分に機能していることが確認できる。
<実施例2>
次に、実施例2について説明する。本実施例では、オフセット項を持たないプラント応答モデルで表される制御対象プラント20を想定する。
本実施例における制御対象プラント20のプラント応答モデルは、kをインデックスとして、y(k)=θy(k-1)+θy(k-2)+θu(k)+θu(k-1)+θu(k-2)と表されるものとする。
このとき、状態ベクトルはφ(k)=[y(k-1),y(k-2),u(k),u(k-1),u(k-2)]Τと表され、モデルパラメータはθ(k)=[θ(k),θ(k),θ(k),θ(k),θ(k)]Τと表される。その他の設定等に関しては実施例1と同様である。
以上の設定の下、制御周期T毎に、モデルパラメータ推定部101によるモデルパラメータθの推定と制御パラメータ計算部111による制御パラメータの計算とを行うと共に、操作量更新部104により算出された操作量uで制御対象プラント20を制御する実験を行った。
本実験では、時刻t=0と時刻t=600にONを示すリセット信号がリセット処理部105に入力している。
本実験における制御応答(目標値r及び制御量yとそのときの操作量u)を図21、モデルパラメータθの推移を図22、制御パラメータの推移を図23にそれぞれ示す。
モデルパラメータθの推移では、時刻t=0と時刻t=600にリセット処理が実行されており、それに伴い制御パラメータも変化している。時刻t=600という制御途中でリセット処理が実行されているものの、制御量yは目標値rに追従しており、また実施例1と比較して制御偏差のオフセットが改善しているため、本実施形態に係る制御装置10による追従制御が十分に機能していることが確認できる。
<まとめ>
以上の2つの実施例で説明したように、本実施形態に係る制御装置10は、例えば、モデルパラメータが予期しない値に陥ったり、何等かの要因により学習状態が不安定になったりした場合等に、リセット処理によってモデル同定のための学習を迅速にリカバリ(回復)させることができる。
その他にも、本実施形態に係る制御装置10によれば、以下の(1)~(3)を実現することができる。
(1)一貫したモデルパラメータθの初期値を与えることができる。これは、リセット処理により得られたモデルパラメータ推定値θest=θest(K-1)を初期値として用いることができるためである。
(2)制御対象プラント20の非線形性(ただし、局所的には線形と見做せる非線形性)に対応することができる。これは、非線形性により制御性能が劣化した場合にONを示すリセット信号をリセット処理部105に入力し、モデルパラメータθ等をリセットできるためである。
(3)制御対象プラント20の運転モードの変化に対応することができる。これは、運転モードの変化に対応してONを示すリセット信号をリセット処理部105に入力し、モデルパラメータθ等をリセットできるためである。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
10 制御装置
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 プロセッサ
16 メモリ装置
17 バス
20 制御対象プラント
101 モデルパラメータ推定部
102 計測部
103 差分器
104 操作量更新部
105 リセット処理部
106 タイマ
107 予測時系列記憶部
111 制御パラメータ計算部
112 補正目標偏差計算部
113 操作変化量計算部
114 加算器

Claims (11)

  1. 制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、
    前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するように構成されているモデルパラメータ推定部と、
    前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出するように構成されている制御パラメータ算出部と、
    前記目標値と現在の制御量との差である目標偏差を算出するように構成されている目標偏差算出部と、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出するように構成されている補正目標偏差算出部と、
    前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出するように構成されている操作変化量算出部と、
    前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出するように構成されている操作量算出部と、
    所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するように構成されているリセット処理部と、
    を有し、
    前記モデルパラメータ推定部による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出部による前記制御パラメータの算出と、前記目標偏差算出部による前記目標偏差の算出と、前記補正目標偏差算出部による前記補正目標偏差の算出と、前記操作変化量算出部による前記操作量の変化量の算出と、前記操作量算出部による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返し、
    前記リセット処理部は、
    前記リセット信号の入力に応じて、前記モデルパラメータを予め決められた初期値に設定した上で、現在の前記制御量と現在の前記操作量とが所定の期間継続したものとして前記モデルパラメータの推定値を前記モデルパラメータ推定部に算出させるように構成されている、制御装置。
  2. 制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、
    前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するように構成されているモデルパラメータ推定部と、
    前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出するように構成されている制御パラメータ算出部と、
    前記目標値と現在の制御量との差である目標偏差を算出するように構成されている目標偏差算出部と、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出するように構成されている補正目標偏差算出部と、
    前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出するように構成されている操作変化量算出部と、
    前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出するように構成されている操作量算出部と、
    所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するように構成されているリセット処理部と、
    を有し、
    前記モデルパラメータ推定部による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出部による前記制御パラメータの算出と、前記目標偏差算出部による前記目標偏差の算出と、前記補正目標偏差算出部による前記補正目標偏差の算出と、前記操作変化量算出部による前記操作量の変化量の算出と、前記操作量算出部による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返し、
    前記プラント応答関数は、
    前記制御対象の定常状態を表すオフセット項が含まれるモデルパラメータを持つ関数である、制御装置。
  3. 前記補正目標偏差算出部は、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、将来の所定の時刻までの前記制御量の予測値を予測時系列として計算して記憶部に格納し、
    前記記憶部に格納されている前記予測時系列に基づいて、前記先読み長経過後における前記制御量の予測値を計算して前記補正目標偏差を算出するように構成されており、
    前記リセット処理部は、
    前記モデルパラメータと前記記憶部に記憶されている前記予測時系列とを初期化するように構成されている、請求項1又は2に記載の制御装置。
  4. 前記リセット処理部は、
    前記予測時系列に含まれる各予測値を0に初期化するように構成されている、請求項に記載の制御装置。
  5. 前記リセット処理部は、
    ONを示すリセット信号が入力された場合に、前記モデルパラメータを初期化するように構成されている、請求項1乃至の何れか一項に記載の制御装置。
  6. 前記プラント応答関数は、ARMAモデル又はARMAXモデルであり、
    前記モデルパラメータ推定部は、
    前記ARMAモデル又はARMAXモデルの係数を前記モデルパラメータとして前記推定値を算出するように構成されている、請求項1乃至5の何れか一項に記載の制御装置。
  7. 前記モデルパラメータ推定部は、
    忘却要素を含む逐次最小2乗法に基づいて、共分散行列の推定と前記モデルパラメータの推定とを行うことで、前記モデルパラメータの推定値を算出するように構成されている、請求項1乃至の何れか一項に記載の制御装置。
  8. 制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置が、
    前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するモデルパラメータ推定手順と、
    前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出する制御パラメータ算出手順と、
    前記目標値と現在の制御量との差である目標偏差を算出する目標偏差算出手順と、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出する補正目標偏差算出手順と、
    前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出する操作変化量算出手順と、
    前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出する操作量算出手順と、
    所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するリセット処理手順と、
    を実行し、
    前記モデルパラメータ推定手順による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出手順による前記制御パラメータの算出と、前記目標偏差算出手順による前記目標偏差の算出と、前記補正目標偏差算出手順による前記補正目標偏差の算出と、前記操作変化量算出手順による前記操作量の変化量の算出と、前記操作量算出手順による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返し、
    前記リセット処理手順は、
    前記リセット信号の入力に応じて、前記モデルパラメータを予め決められた初期値に設定した上で、現在の前記制御量と現在の前記操作量とが所定の期間継続したものとして前記モデルパラメータの推定値を前記モデルパラメータ推定手順で算出させる、制御方法。
  9. 制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置が、
    前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するモデルパラメータ推定手順と、
    前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出する制御パラメータ算出手順と、
    前記目標値と現在の制御量との差である目標偏差を算出する目標偏差算出手順と、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出する補正目標偏差算出手順と、
    前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出する操作変化量算出手順と、
    前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出する操作量算出手順と、
    所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するリセット処理手順と、
    を実行し、
    前記モデルパラメータ推定手順による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出手順による前記制御パラメータの算出と、前記目標偏差算出手順による前記目標偏差の算出と、前記補正目標偏差算出手順による前記補正目標偏差の算出と、前記操作変化量算出手順による前記操作量の変化量の算出と、前記操作量算出手順による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返し、
    前記プラント応答関数は、
    前記制御対象の定常状態を表すオフセット項が含まれるモデルパラメータを持つ関数である、制御方法。
  10. 制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置に、
    前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するモデルパラメータ推定手順と、
    前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出する制御パラメータ算出手順と、
    前記目標値と現在の制御量との差である目標偏差を算出する目標偏差算出手順と、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出する補正目標偏差算出手順と、
    前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出する操作変化量算出手順と、
    前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出する操作量算出手順と、
    所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するリセット処理手順と、
    を実行させ、
    前記モデルパラメータ推定手順による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出手順による前記制御パラメータの算出と、前記目標偏差算出手順による前記目標偏差の算出と、前記補正目標偏差算出手順による前記補正目標偏差の算出と、前記操作変化量算出手順による前記操作量の変化量の算出と、前記操作量算出手順による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返させ、
    前記リセット処理手順は、
    前記リセット信号の入力に応じて、前記モデルパラメータを予め決められた初期値に設定した上で、現在の前記制御量と現在の前記操作量とが所定の期間継続したものとして前記モデルパラメータの推定値を前記モデルパラメータ推定手順で算出させる、プログラム。
  11. 制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置に、
    前記制御量と前記操作量とに基づいて、前記制御対象のプラント応答モデルを表す関数であって、かつ、モデルパラメータが含まれる関数であるプラント応答関数の前記モデルパラメータの推定値を算出するモデルパラメータ推定手順と、
    前記プラント応答関数に基づいて、制御ゲインと先読み長とを含む制御パラメータを算出する制御パラメータ算出手順と、
    前記目標値と現在の制御量との差である目標偏差を算出する目標偏差算出手順と、
    前記プラント応答関数と現在に至るまでの過去の前記操作量の変化量とに基づいて、前記先読み長経過後における前記制御量の予測値により前記目標偏差を補正した補正目標偏差を算出する補正目標偏差算出手順と、
    前記補正目標偏差に対して前記制御ゲインを乗じて前記操作量の変化量を算出する操作変化量算出手順と、
    前記操作量の変化量と、現在の前記操作量とを加算して新たな操作量を算出する操作量算出手順と、
    所定のリセット信号の入力に応じて、前記モデルパラメータを初期化するリセット処理手順と、
    を実行させ、
    前記モデルパラメータ推定手順による前記モデルパラメータの推定値の算出と、前記制御パラメータ算出手順による前記制御パラメータの算出と、前記目標偏差算出手順による前記目標偏差の算出と、前記補正目標偏差算出手順による前記補正目標偏差の算出と、前記操作変化量算出手順による前記操作量の変化量の算出と、前記操作量算出手順による前記新たな操作量の算出とを所定の制御周期毎に逐次的に繰り返させ、
    前記プラント応答関数は、
    前記制御対象の定常状態を表すオフセット項が含まれるモデルパラメータを持つ関数である、プログラム。
JP2022016432A 2022-02-04 2022-02-04 制御装置、制御方法及びプログラム Active JP7115654B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022016432A JP7115654B1 (ja) 2022-02-04 2022-02-04 制御装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022016432A JP7115654B1 (ja) 2022-02-04 2022-02-04 制御装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP7115654B1 true JP7115654B1 (ja) 2022-08-09
JP2023114204A JP2023114204A (ja) 2023-08-17

Family

ID=82780732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022016432A Active JP7115654B1 (ja) 2022-02-04 2022-02-04 制御装置、制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7115654B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428288B1 (ja) 2023-04-25 2024-02-06 富士電機株式会社 プラント応答推定装置、プラント応答推定方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6901037B1 (ja) 2020-12-18 2021-07-14 富士電機株式会社 制御装置、制御方法及びプログラム
JP6927446B1 (ja) 2021-02-05 2021-09-01 富士電機株式会社 制御装置、制御方法及びプログラム
JP7014330B1 (ja) 2021-08-19 2022-02-01 富士電機株式会社 制御装置、制御方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6901037B1 (ja) 2020-12-18 2021-07-14 富士電機株式会社 制御装置、制御方法及びプログラム
JP6927446B1 (ja) 2021-02-05 2021-09-01 富士電機株式会社 制御装置、制御方法及びプログラム
JP7014330B1 (ja) 2021-08-19 2022-02-01 富士電機株式会社 制御装置、制御方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7428288B1 (ja) 2023-04-25 2024-02-06 富士電機株式会社 プラント応答推定装置、プラント応答推定方法、及びプログラム

Also Published As

Publication number Publication date
JP2023114204A (ja) 2023-08-17

Similar Documents

Publication Publication Date Title
JP6927446B1 (ja) 制御装置、制御方法及びプログラム
US10281897B2 (en) Model predictive control with uncertainties
JP7206874B2 (ja) 制御装置、制御方法及びプログラム
JP6901037B1 (ja) 制御装置、制御方法及びプログラム
JP2004503000A (ja) 多変量マトリクスプロセス制御
JP2016100009A (ja) 機械の動作を制御する方法、および機械の動作を反復的に制御する制御システム
EP2778803A1 (en) Stabilized deterministic optimization based control system and method
JP7014330B1 (ja) 制御装置、制御方法、及びプログラム
JP6380552B2 (ja) 制御装置、そのプログラム、プラント制御方法
JP7115654B1 (ja) 制御装置、制御方法及びプログラム
JP2008102720A (ja) 制御装置、制御パラメータの調整装置、制御パラメータの調整方法およびプログラム
JP7047966B1 (ja) プラント応答推定装置、プラント応答推定方法、及びプログラム
Paternain et al. Real-time model predictive control based on prediction-correction algorithms
CN111930010A (zh) 一种基于lstm网络的通用mfa控制器设计方法
Bunin et al. Run-to-run MPC tuning via gradient descent
Moradi et al. Predictive PID Control: A new algorithm
JP7231102B1 (ja) プラント応答推定装置、プラント応答推定方法、及びプログラム
JP7275492B2 (ja) 制御装置、制御方法及びプログラム
JP7276633B1 (ja) 制御装置、制御方法、及びプログラム
JP7115656B1 (ja) 制御装置、制御方法及びプログラム
JP7283646B1 (ja) 制御装置、制御方法、及びプログラム
JP7283095B2 (ja) 制御装置、制御方法及びプログラム
CN114117778A (zh) 控制参数确定方法、装置、电子设备和存储介质
EP2778947B1 (en) Sequential deterministic optimization based control system and method
JP6904473B1 (ja) モデル作成支援装置、モデル作成支援方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220204

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220404

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220711

R150 Certificate of patent or registration of utility model

Ref document number: 7115654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150