【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 平成31年3月6日に第6回計測自動制御学会制御部門マルチシンポジウムにて発表 〔刊行物等〕令和元年6月29日に電気学会制御研究会にて発表 〔刊行物等〕令和元年9月10日にSICE2019にて発表 〔刊行物等〕令和元年10月31日に計測自動制御学会産業応用部門2019年度大会にて発表 〔刊行物等〕令和元年11月8日に第62回自動制御連合講演会にて発表
【課題】短時間で制御パラメータとシステムの状態を表すデータの数を増加させ、非線形制御系に適用可能で、良好な制御性能を得ることができる制御システム及び制御方法を提供する。
【解決手段】制御システム1は、システムの状態を表すシステムデータ及び制御パラメータを含む情報ベクトルを記憶するデータベース20と、データベース20に記憶された情報ベクトルと、システムの現在の状態を表す要求点とに基づいて、更新する制御パラメータを算出する演算部と、演算部で算出された制御パラメータに基づいて制御対象30を制御するデータベース駆動型制御を行う制御部と、を備える。また、データベース20に記憶された情報ベクトルは、予め取得された操業データである閉ループ入出力データに基づいて作成された複数の情報ベクトルを含む。
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献2では、ERITにより算出されたデータを用いて、予め調整された制御パラメータにより、線形の制御系を制御することとしている。したがって、時刻とともに特性が変化する非線形制御系に、非特許文献2の方法を適用することは難しい。
【0006】
本発明は、上述の事情に鑑みてなされたものであり、短時間で制御パラメータとシステムの状態とを表すデータの数を増加させ、非線形制御系に適用可能で、良好な制御性能を得ることができる制御システム及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、この発明の第1の観点に係る制御システムは、
システムの状態を表すシステムデータ及び制御パラメータを含む情報ベクトルを記憶するデータベースと、
前記データベースに記憶された情報ベクトルと、システムの現在の状態を表す要求点とに基づいて、更新する制御パラメータを算出する演算部と、
前記演算部で算出された制御パラメータに基づいて制御対象を制御するデータベース駆動型制御を行う制御部と、を備え、
前記データベースに記憶された情報ベクトルは、予め取得された操業データである閉ループ入出力データに基づいて作成された複数の情報ベクトルを含む。
【0008】
また、前記データベースに記憶された情報ベクトルは、
前記閉ループ入出力データに基づき、ERITによって作成された情報ベクトルを含む、
こととしてもよい。
【0009】
また、前記データベースに記憶された情報ベクトルは、
ERITによって2自由度制御系として作成された制御パラメータに基づいて、1自由度制御系として算出された制御パラメータを含む、
こととしてもよい。
【0010】
また、前記演算部は、
前記データベースに記憶された情報ベクトルと、前記要求点との類似度に基づいて、制御パラメータを算出する、
こととしてもよい。
【0011】
この発明の第2の観点に係る制御方法では、
予め取得された操業データである閉ループ入出力データに基づいて、システムの状態を表すシステムデータ及び制御パラメータを含む複数の情報ベクトルを作成し、
前記情報ベクトルをデータベースに記憶させ、
前記データベースに記憶された情報ベクトルと、システムの現在の状態を表す要求点とに基づいて、更新する制御パラメータを算出し、
算出された制御パラメータに基づいて、制御対象をデータベース駆動型制御によって制御する。
【発明の効果】
【0012】
本発明の制御システム及び制御方法によれば、データベース駆動型制御において、操業データから複数の制御パラメータとシステムの状態を表すデータとを作成して、データベースに記憶させるので、非線形制御系に適用可能であり、データベースに記憶されるデータを増加させることにより、制御性能を向上させることが可能である。
【発明を実施するための形態】
【0014】
以下、図を参照しつつ、本発明の実施の形態に係る制御システム及び制御方法について説明する。
【0015】
本実施の形態に係る制御システム1は、
図1の概念図に示すように、データベース20に記憶されたシステムの状態を表すシステムデータとこれに対応する制御パラメータとに基づいて、現在のシステムの状態に適した制御パラメータを算出して制御を行うデータベース駆動型制御システムである。また、データベース20は、操業データとして取得される初期データに基づいて増加させたデータを記憶する。
図1の例ではN個の初期データから3N個のデータを生成して、4N個のデータがデータベース20に記憶される。本実施の形態では、ERITを用いてデータを増加させる制御システムを例として説明する。
【0016】
制御システム1は、制御器10、データベース20、制御対象30を備える。制御システム1は、データベース20に記憶されている複数の制御パラメータと、各制御パラメータに対応するシステムデータとの組(情報ベクトル)に基づいて、制御パラメータを調整して、制御対象30の制御を行う。
【0017】
制御器10は、データベース駆動型制御を行うコントローラであり、制御パラメータを算出する演算部11(不図示)と、制御パラメータに基づいて制御入力(操作量)を決定して制御対象30の制御を行う制御部12(不図示)とを備える。
【0018】
制御器10は、例えばPID制御器であり、より具体的には以下の式に示す比例動作先行PI制御則(以下、I−PD制御則ともいう。)を用いる制御器である。
Δu(t)=K
I(t)e(t)−K
P(t)Δy(t)−K
D(t)Δ
2y(t)
(1)
ここで、u(t)は制御入力、e(t)は制御誤差信号であり、目標値r(t)、出力y(t)を用いて以下のように定義される。
e(t):=r(t)−y(t) (2)
ここで、K
P(t),K
I(t),K
D(t)は、それぞれ時刻tにおける比例ゲイン、積分ゲイン、微分ゲインを表す。また、Δ(:=1−z
−1)は差分演算子を表す。
【0019】
データベース20は、制御器10の制御パラメータを算出するためのデータを記憶する記憶装置であり、制御パラメータとこれに対応するシステムデータとを含む情報ベクトルを記憶する。データベース20に記憶される情報ベクトルの構成については、後述する。
【0020】
制御対象30は特に限定されないが、例えば、時刻とともに特性が変化する非線形の特性を有する制御対象である。具体的には、制御システム1は、次式で表される離散系時間非線形システムである。
y(t)=f(φ(t−1)) (3)
ここで、y(t)はシステム出力、f(・)は非線形関数、φ(t−1)は時刻tより1時刻ステップ前のシステムの状態を表す入出力データである。
【0021】
入出力データφ(t−1)は次式で定義される。
φ(t−1):=[y(t−1),・・・,y(t−n
y),
u(t−1),・・・,u(t−n
u)] (4)
ここで、n
y,n
uはそれぞれ出力と入力の次数である。
【0022】
また、現在のシステムの状態を表すシステムデータφ
−(t)を要求点(クエリ)と呼ぶ。システムデータの具体的な構成は後述するが、目標値と入出力データとを含む。本実施の形態で用いるデータベース駆動型制御は、各時刻ステップでデータベース20から、要求点に類似したシステムの状態を有する情報ベクトルを近傍データとして抽出し、近傍データのシステムデータと制御パラメータであるPIDゲインとに基づいて、更新するPIDゲインを算出する。そして、制御器10は、算出されたPIDゲインに基づいて制御対象30の制御を行う。
【0023】
以下、
図2に示すフローチャートを参照しつつ、本実施の形態に係る制御方法について説明する。
【0024】
本実施の形態に係る制御方法では、まず、データベース作成工程として、閉ループ入出力データを取得する(ステップS11)。閉ループ入出力データは、実際にシステムを操業して取得された初期実験データであり、設定されたPIDゲインと、これに対応する閉ループ系の入出力データとの組み合わせとして取得される。取得される閉ループ入出力データの数は特に限定されず、データ取得のための操業時間、コスト等に基づいて可能な範囲で、PIDゲインを調整しながら複数取得されることが好ましい。
【0025】
続いて、取得された閉ループ入出力データに基づいて、制御パラメータとシステムの状態を表すデータとを含む複数の情報ベクトルを作成する(ステップS12)。本実施の形態では、ERITを用いて、ステップS11で取得した閉ループ入出力データから、所望の入出力応答とそれに対応するPIDゲインとからなる以下の情報ベクトルφ(j)を作成する。
【0026】
【数1】
さらに、φ
−(j),K(j)は、以下の式(6)及び式(7)で与えられる。
【0027】
【数2】
ただし、N(0)はデータ数(データベース20に格納される情報ベクトルφ(j)の数)を示す。
【0028】
ここで、ステップS12における情報ベクトルφ(j)の作成方法について、詳細に説明する。本実施の形態では、ERITを用いて情報ベクトルφ(j)を作成する。ERITを適用するための2自由度制御系を
図3に示す。
図3において、C
eはフィードバック制御器、C
rはフィードフォワード制御器である。産業分野においては、広く1自由度制御系が用いられているので、本実施の形態では
図3のフィードフォワード制御器をC
r=0として、1自由度制御系で初期実験が行われることとする。
【0029】
上記の1自由度制御系のシステム出力y
0は以下の式で表される。
【数3】
【0030】
また、ERITを用いるために2自由度制御系に拡張したシステム出力yは以下の式で表される。
【数4】
【0031】
本実施の形態に係る制御器10は、I−PD制御則を用いるので、C
eは以下のように表される。
C
e=K
I/Δ (10)
【0032】
式(8)、(9)より、y
0(t)を用いてy(t)を表すと次式となる。
【数5】
【0033】
また、入力応答は、u
0(t)を用いて以下のように表すことができる。
【数6】
【0034】
上記に基づいて、所望の応答y
*(t)に対応するC
r*(t)を考える。式(11)にC
r*(t)を代入すると、所望の応答y
*(t)は以下の式(13)のように表すことができる。また、この場合の入力u
*(t)は、C
r*(t)を用いて式(14)のように表すことができる。
【数7】
上式より、初期データである閉ループ入出力データy
0(t),u
0(t)から所望の応答y
*(t),u
*(t)を推定することができる。
【0035】
また、本実施の形態のようにERITを非線形システムに適用することにより、非線形性がみられる部分をy
*(t)によって可視化することができるので、システムの異常検知が可能となる。
【0036】
続いて、本実施の形態では、u
*(t)に着目して制御パラメータの学習を行う。具体的には、まず、上記のERITで算出した予測応答u
*(t)をu
1*(t)とする。
図3に示される所望の応答y
r(t)より、以下の式を導くことができる。
【数8】
ここで、G^(t)は、2自由度制御系の閉ループ伝達関数とy
r(t)に対応する参照モデルG
mから算出できる。
【0037】
以下の式(19)に示す評価関数J
1(t)を最小とするC
r*(t)を設計することにより、予測応答に対応する制御パラメータを算出することができる。
J
1(t)=||u
1*(t)−u
2*(t)|| (19)
【0038】
本実施の形態では、評価関数J
1(t)に対して最急降下法を用いてC
r*(t)を更新する。
【数9】
ここで、η
rは学習係数、C
rnew*(t)は更新後の制御パラメータ、C
rold*(t)は更新前の制御パラメータを表している。
【0039】
また、式(20)の右辺第2項は、以下の偏微分で表せる。
【数10】
【0040】
以上のように、学習されたC
eと式(13)、(14)より、所望の応答を推定できる。このようにERITは、2自由度制御系について適用される手法である。ERITが2自由度制御系を対象としている理由は、式(9)から式(11)に変形するためには、初期実験におけるC
eとチューニング後のC
eとを一致させることが求められるためである。
【0041】
本実施の形態では、より一般的な制御システムを対象とするため、
図4に示す1自由度制御系の制御システムについて、制御パラメータとシステムの状態を表すデータとを含む情報ベクトルφを増加させる方法について説明する。
【0042】
具体的には、入出力応答u
1*(t),y
*(t)を用いて
図4に示す1自由度制御系を構築する。以下の式のように、目標値r(t)は既知であるので、出力y
*(t)を用いて、予測偏差e
*(t)を得ることができる。
e
*(t)=r(t)−y
*(t) (23)
【0043】
図4に示すC
e*は、u
PID(t),y
*(t)を実現するフィードバック制御器である。このとき、式(1)より、y
*(t),u
PID(t),e
*(t)を用いた速度型I−PD制御則は以下の式で表される。
【数11】
ここで、K
P*(t),K
I*(t),K
D*(t)は、それぞれC
e*に含まれる比例ゲイン、積分ゲイン、微分ゲインを表す。
【0044】
式(24)より、C
e*を最適化するための評価関数J
2を得る。
J
2(t)=||u
1*(t)−u
PID(t)|| (25)
【0045】
式(25)の評価関数J
2が最小となるC
e*を設計することで入出力応答に対応するPIDゲインを得ることができる。本実施の形態では、評価関数J
2を用い、データベース20内の制御パラメータを、最急降下法で更新する。
【数12】
ここで、ηは学習係数、C
enew*(t)は更新後の制御パラメータ、C
eold*(t)は更新前の制御パラメータを表す。
【0046】
式(26)の右辺第2項のそれぞれの偏微分は以下の通りである。
【数13】
なお、C
eの更新はデータベース20内の近傍データを参照して得られたC
eold*(t)を用いて行われる。近傍データは、後述するステップS15の類似度Sに基づいて算出されるデータである。
【0047】
上述の説明に基づいて、ステップS12の処理を詳細化すると、
図5のフローチャートに示すように、まず、閉ループ入出力データからERITを用いて、情報ベクトルφ(t)を作成する(ステップS31)。そして、データベース20内の近傍データから以下の式で表されるC
eold(t)を算出する(ステップS32)。
【数14】
【0048】
評価関数J2を最小化するようにC
enew*(t)を更新する(ステップS33)。そして、更新された制御パラメータ、予測応答に基づく入出力データを含む以下の情報ベクトルφ(t)を作成する(ステップS34)。
図2のフローチャートに戻り、作成した情報ベクトルφ(t)をデータベース20に記憶させる(ステップS13)。
【数15】
【0049】
以上詳細に説明したように、本実施の形態では、オフラインでERITによって推定された入出力応答データと、これに対応するように1自由度制御系の制御パラメータであるPIDゲインとを算出する。そして、算出されたデータから複数の情報ベクトルを作成し、データベース20に記憶させて、データベース駆動型制御を行う。
【0050】
続いて
図2のフローチャートに示す制御工程として制御を開始する(ステップS14)。制御が開始されると、演算部11は、システムの現在の状態を表すシステムデータとして取得された要求点と、データベース20に記憶されている情報ベクトルφ(t)との類似度Sを算出する(ステップS15)。
【0051】
具体的には、要求点φ
−(t)とデータベース20に記憶されている第j番目の情報ベクトルのシステムデータφ
−(j)との類似度S(φ
−(t),φ
−(j))を次式のように定義する。
【数16】
【0052】
なお,h
iはバンド幅であり、φ
−(j)は、データベース20に記憶されている第j番目の情報ベクトルにおけるシステムデータの第i番目の要素を表す。式(31)に示すように、類似度S(φ
−(t),φ
−(j))は、データベース20に記憶されている情報ベクトルのシステムデータφ
−(j)を用いて算出できる。
【0053】
ここで、バンド幅h
iの決定方法には様々な手法があるが、本実施の形態では、以下に示すプラグ・イン法(Plug-In Method)を用いる。
【数17】
【0054】
式(32)の標準偏差σ
iはデータ数Nを用いて以下のように定義される。
【数18】
ここで、μ
iはφ
−iの平均値である。
【0055】
式(31)において、類似度Sが最も高くなるのは、現在のシステムの状態を表す要求点φ
−(t)と全く同じシステムデータφ
−(j)が存在する場合であり、この場合の類似度Sは以下の式となる。
【数19】
【0056】
また、要求点φ
−(t)と、システムデータφ
−(j)とが類似していない場合、類似度S(φ
−(t),φ
−(j))は0に近づく。したがって、本実施の形態に係る演算部11は、以下の類似度Sに基づく条件式を満足する情報ベクトルφ
−(j)を近傍データとして選択する(ステップS16)。
【数20】
ここで、T
thは閾値であり、0≦T
th≦1の範囲で設定される。
【0057】
続いて、ステップS16で選択された近傍データφ
−(j)に対応する制御パラメータとして情報ベクトルに含まれるK(j)を用いて、以下で示される重み付き局所線形平均法(Linearly Weighted Average:LWA)により局所コントローラを構成するPIDゲインを算出する(ステップS17)。
【数21】
ここで、n
kはステップS16で選択された近傍データの数であり、式(35)から自動的に決定される。
【0058】
また、w
iは選択されたi番目の情報ベクトルφ(i)に含まれるPIDゲインK(i)に対する重みであり、以下の式で与えられる。
【数22】
【0059】
制御器10の制御部12は、式(36)で算出された制御パラメータを用いて、制御対象30の制御を行う(ステップS18)。なお、データベース20に記憶されている情報ベクトルのシステムデータφ
−(j)中に、要求点φ
−(t)に類似するデータが存在しない場合、すなわちn
k=0の場合、K(t)を算出できないので、この場合本実施の形態では、類似度Sが最も高い情報ベクトルφのPIDゲインを採用することとする。
【0060】
以下、制御が終了するまで、各時刻ステップにおいてステップS15〜S18の処理を繰り返す(ステップS19のNO)。予め定められた時刻ステップの終了、操作者による終了指示等の終了条件を充たせば(ステップS19のYES)、制御は終了する。
【0061】
以上説明したように、本実施の形態に係る制御システム及び制御方法によれば、初期データである閉ループ入出力データに基づいて、式(13)、(14)を用いて、様々な応答を事前に取得できる。これにより、データベース20に記憶されている情報ベクトルφ(j)の数を増加させることができるので、制御性能を向上させることが可能となる。また、増加させたデータに基づいて、データベース駆動型制御を行うので、非線形系の制御系に対しても、制御性能を向上させることができる。
【0062】
また、本実施の形態に係る制御システム及び制御方法は、式(25)を用いて、1自由度制御系の制御パラメータであるPIDゲインを得ることが可能であるので、一般的な1自由度制御系に適用することが可能である。
【0063】
続いて、本実施の形態に係る制御システムを用いた、コンピュータシミュレーションによる数値例について説明する。本例では、以下の式で与えられるHammersteinモデルを用いる。Hammersteinモデルの静特性を
図6に示す。
【数23】
【0064】
ここで、参照モデルG
mは以下のように表される。
【数24】
なお、T(z
−1)は参照モデルの多項式であり、以下の式で表される。
【0065】
【数25】
ここで、T
sはサンプリング時間、σ、δはそれぞれ制御系の立ち上がり特性、減衰特性に関するパラメータを示しており、設計者が任意に設定する。
【0066】
本例では、各時刻における目標値r(t)を以下のように設定している。
【数26】
【0067】
その他、各種パラメータを以下の表1に示す。
【表1】
【0068】
また、本例では、初期の制御パラメータとして、K
P=0.243,K
I=0.113,K
D=0.061と設定してステップS11の閉ループ入出力データを取得した。
【0069】
制御結果の比較対象として、固定PID制御器による制御結果(入力u
0、出力y
0)と、従来型のFRIT(Fictitious Reference Iterative Tuning)による制御結果(入力u、出力y)とを
図7に示す。また、本実施の形態に係るERITを用いた制御方法による制御結果を
図8に、制御パラメータの推移を
図9に示す。
【0070】
また、従来型のFRITの場合の最大類似度S
maxと閾値alphaとを
図10に、本実施の形態に係る制御方法の場合の最大類似度S
maxと閾値alphaとを
図11に示す。なお、従来型のFRIT、本実施の形態に係る制御方法とも、同じ学習率、学習回数でオフライン学習を行っている。また、近傍データ選択の際の類似度の閾値をT
th=99%としている。
【0071】
図7に示すように、固定パラメータの場合、t=100[step]〜130[step]において、即応性が低いことがわかる。また、FRITを用いた従来法では、目標値がr=1.0からr=2.0へ変化した時点で出力yがオーバーシュートしている。この時、
図10に示すように、近傍データの最大類似度S
maxが低下しており、類似度Sの低いデータが参照されていることがわかる。これにより、近傍データから適切な制御パラメータを算出することができず、出力yがオーバーシュートしていると考えられる。
【0072】
本実施の形態に係る制御方法では、オフラインにおいて予測データに基づく情報ベクトルを事前に格納したデータベース20を作成し、このデータベース20を用いて制御を行うことで、
図8、
図11に示すように、制御性能が向上され、追従性がよく、オーバーシュートの小さい制御システムを構成することができる。
【0073】
本実施の形態では、類似度Sを用いて近傍データを選択することとしたが、これに限られない。例えば、重み付きL
1ノルムを用いて要求点φ
−(t)と各情報ベクトルのシステムデータφ
−(j)との距離dを算出して、その距離dに対してデータベース内の情報ベクトルφ(j)をソーティングし、小さいものからn
k個を近傍データとして選択することとしてもよい。