(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】制御器の設計方法
(51)【国際特許分類】
G05B 13/04 20060101AFI20240820BHJP
【FI】
G05B13/04
(21)【出願番号】P 2024071518
(22)【出願日】2024-04-25
【審査請求日】2024-05-20
【新規性喪失の例外の表示】特許法第30条第2項適用 発行日:2023年10月26日 刊行物:IEEE Transactions on Industrial Electronics, vol.71, no.8, pp.9541-9550 公開者:亀谷直生、藤本康孝、細山田悠、末永豊昭 公開内容:亀谷直生、藤本康孝、細山田悠、末永豊昭の4名がIEEE Transactions on Industrial Electronics, vol.71, no.8, pp.9541-9550にて「Convolution-Based Data-Driven Simulation and Controller Design Method」の表題で公開
【早期審査対象出願】
(73)【特許権者】
【識別番号】000001292
【氏名又は名称】株式会社京三製作所
(73)【特許権者】
【識別番号】504182255
【氏名又は名称】国立大学法人横浜国立大学
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】末永 豊昭
(72)【発明者】
【氏名】細山田 悠
(72)【発明者】
【氏名】吉田 卓矢
(72)【発明者】
【氏名】藤本 康孝
(72)【発明者】
【氏名】亀谷 直生
【審査官】田中 友章
(56)【参考文献】
【文献】特開2021-140216(JP,A)
【文献】KAMEYA, N. et al.,Application of Data-driven Simulation using CDDS Approach to Actuation Systems,2024 IEEE 18th International Conference on Advanced Motion Control (AMC),2024年04月26日,DOI:10.1109/AMC58169.2024.10505715
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/00 - G05B 13/04
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
制御器の制御信号を制御対象への制御入力として入力し、前記制御対象の出力を前記制御器にフィードバックする閉ループ制御系において、
前記制御対象の入出力の実験データを用いた時間領域演算に基づいて出力をシミュレートし推定出力値を取得するデータ駆動型シミュレーション工程と、
前記データ駆動型シミュレーション工程で取得した推定出力値を用いて前記制御器の最適制御パラメータを求める最適制御パラメータ設計工程と、
を備え、
前記データ駆動型シミュレーション工程は、
前記制御対象のシミュレーションで得られる推定入力値uと前記制御対象の実験で得られた実験出力データy
0とを時間領域で畳み込み演算して得られる第1の畳み込み演算値、
及び
前記制御対象のシミュレーションで得られる推定出力値と前記制御対象の実験で得られた実験入力データとを時間領域で畳み込み演算して得られる第2の畳み込み演算値、
を求め、
前記2つの畳み込み演算値の差分から、前記制御対象の次サンプリング時刻の推定出力値を推定する
制御器の設計方法。
【請求項2】
前記データ駆動型シミュレーション工程は、
前記制御対象の実験で得られる実験入力データ及び実験出力データの各サンプリング値を収集し、記憶する実験データの実験工程と、
前記制御器に基準値を入力して制御器の出力信号を得るシミュレーションを行い、前記シミュレーションの出力信号を前記制御対象に対する推定入力値として算出し、記憶する推定入力値のシミュレーション工程と、
制御対象の推定出力値を求める推定出力値のシミュレーション工程と、
の各工程を備え、
前記推定出力値のシミュレーション工程は、
前記推定入力値のシミュレーション工程で得られるサンプリング時刻0からk-1までの推定入力値、及び前記実験工程で得られたサンプリング時刻kから1までの実験出力データを時間領域で畳み込み演算して第1の畳み込み演算値を求め、
推定出力値のシミュレーション工程で得られるサンプリング時刻0からk-1までの推定出力値、及び前記実験工程で得られたサンプリング時刻kから1までの実験入力データを時間領域で畳み込み演算して第2の畳み込み演算値を求め、
前記第1の畳み込み演算値と第2の畳み込み演算値の差分を求め、前記差分から前記制御対象のサンプリング時刻kの推定出力値を求める、
請求項1に記載の制御器の設計方法。
【請求項3】
前記最適制御パラメータ設計工程は、
前記制御器による前記制御対象の応答を評価する評価関数J
DO(θ)として、基準値rと前記推定出力値yとの差分の2ノルムで表される
を備え、
前記評価関数J
DO(θ)を最小化する制御器の最適制御パラメータθ
*を
の直接最適化アプローチにより求める、
請求項1又は2に記載の制御器の設計方法。
【請求項4】
前記最適制御パラメータθ
*をネルダー・ミード法で求める、
請求項3に記載の制御器の設計方法。
【請求項5】
前記最適制御パラメータ設計工程は、
ノミナルモデルM(z)と基準値rとの積を基準値rに対する目的出力値y
dとし、
で表され、
前記制御器による前記制御対象の応答を評価する評価関数J
MR(θ)として、基準値rに対する目的出力値y
dと前記推定出力値yとの差分の2ノルムで表される
とし、
前記評価関数J
MR(θ)を最小化する制御器の最適制御パラメータθ
*を
の繰り返し計算の反復最適化アプローチにより求める、
請求項1又は2に記載の制御器の設計方法。
【請求項6】
前記最適制御パラメータ設計工程は、
開ループ系における推定出力値をy
Oとし、
開ループ系におけるノミナルモデルM(z)と基準値rとの積を基準値rに対する目的出力値y
dOとし、
前記制御器による前記制御対象の応答を評価する評価関数J
O(θ)として、前記目的出力値y
dOと前記推定出力値y
Oとの差分の2ノルムで表される
とし、
開ループ制御系における推定出力から制御パラメータを線形分離したデータをy
O0
sep(k)として、前記評価関数J
O(θ)を最小化する制御器の最適制御パラメータθ
*を
又は
の単一計算アプローチにより求める、
請求項1又は2に記載の制御器の設計方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御器の最適な制御パラメータを求める制御器の設計方法に関する。
【背景技術】
【0002】
従来の制御アプローチでは、制御対象モデルを同定し、同定した制御対象モデルに基づいて所定の制御特性を満足する制御器を設計し、実験によって制御特性の検証がされている。しかしながら、実際の制御対象では、開ループ応答を取得することができない場合があること、実験に長時間を要するといったこと等から、制御対象モデルの同定が難しいという課題がある。
【0003】
このような課題に対して、制御対象モデルを求めることなく実験データから直接制御器を調整するデータ駆動型制御の活用が検討されている。データ駆動型制御は、一回の実験で得られたデータのみに基づいて閉ループ系が参照モデルに近づくように制御パラメータを最適化する制御であり、例えばVRFTやFRITが知られている。
【0004】
データ駆動型制御アプローチに代えて、データ駆動型制御シミュレーションが提案されている。データ駆動型制御シミュレーションは、制御対象(プラント)の入力データと出力データ、及び目的の制御入力を与え、これらのデータに基づいて制御対象の応答出力を推定するものである。
【0005】
データ駆動型制御シミュレーションとして、部分空間法に基づくもの(非特許文献1,2)、部分空間法に基づかないもの(非特許文献3,4,5)が知られている。部分空間モデルに基づいたシミュレーションは、非線形性の制御入力に対処するために制御対象(プラント)からの出力データが必要であり、また、逆行列演算による計算コストが過大となる。他方、部分空間法に基づかないシミュレーションは、制御器の非線形性を考慮することができない。
【0006】
他のシミュレーションによる出力推定方法として、一回の試行に基づいて制御対象への周期入出力応答を求める工程と、目的の制御信号に対する制御対象の応答を演算式に基づいて求める工程とを含むによって出力推定方法も提案されている。この出力推定方法では、実験データのフーリエ変換と制御器の周波数特性からフィードバック系の入出力応答の周波数成分を求め、求めた周波数成分を逆フーリエ変換して仮想時間応答を求める(特許文献1,非特許文献5)。
【先行技術文献】
【特許文献】
【0007】
【非特許文献】
【0008】
【文献】I.Markovsky,J.C.Willems,P.Rapisarda,and B.L.D.Moor,“Data driven simulation with applications to system identification,” IFAC Proceedings Volumes, vol.38,no.1 pp.970-9725.2005.
【文献】I.Markovsky,and P.Rapisarda,“Data driven simulation and Control,”International Journal f Control,vol.81,no.12 pp.1946-1959,2008.
【文献】O.Kaneko and T.Nakamura,“Data-driven prediction of 2dof control systems with updated feedforward controller,”in 2017 56th Annal Conference of the Society of Instrument and Control Engineers of Japan (SICE), pp. 259-262,20717
【文献】R.Hoogendijk,M.van de Molengraft,A.den Hamer,G.Angelis,and M.Steinbuch,“Computation of transfer function data from frequency response data with application to data-based root-locus,” Control Engineering practice,vol.37.pp.20-31,2015
【文献】M. Kosaka, A. Kosaka, and M. Kosaka,“Virtual time-response base iterative gain evaluation and redesign,” IFAC-PapersOnLine, vol.53, no. 2, pp. 3946-3952,2020
【発明の概要】
【発明が解決しようとする課題】
【0009】
従来提案されているデータ駆動型制御シミュレーションは、制御対象(プラント)の構築が不要であるという特徴を有するものの、制御器を含むシステムの非線形性に係わる課題がある。例えば、非線形性の制御入力に対処するために制御対象(プラント)からの出力データが必要であること、閉ループ系システムの非線形性を取り扱うことができないことなどの非線形性に係わる課題がある。
【0010】
図24は、非特許文献5の仮想時間応答ベースの反復ゲイン評価、及び再設計(V-tiger:Virtual time-response base iterative gain evaluation and redesign)法が制御する系を示している。
【0011】
図24Aは、V-tiger法が実行可能な閉ループ系100Aを示している。閉ループ系100Aは、制御器C(z、θ)の制御信号を制御対象P(z)に対する入力信号U
in(z)とし、制御対象P(z)の出力信号Y
out(z)を制御器C(z、θ)にフィードバックする閉ループ制御系を構成している。この閉ループ制御系では、制御器C(z、θ)が線形性であることを要件としてV-tiger法が実行可能である。
【0012】
一方、
図24Bは、V-tiger法が実行不可能な閉ループ系100Bを示している。閉ループ系100Bは、閉ループ系100Aと同様に、制御器C(z、θ)の制御信号を制御対象P(z)の入力信号U
in(z)とし、制御対象P(z)の出力信号Y
out(z)を制御器C(z、θ)にフィードバックする閉ループ制御系を構成しているが、制御器C(z、θ)は非線形性要素を有し、制御対象P(z)には非線形性を有した入力信号U
in(z)が入力される。このように非線形性要素を有した閉ループ系100Bでは、V-tiger法を適用することができない。
【0013】
また、特許文献1の出力推定方法は参照モデルの伝達関数モデルが不要であるが、推定出力値yは制御器の伝達関数Kを含むため、制御器の伝達関数が非直線性を有している場合には取り扱うことができないという課題がある。また、特許文献1の出力推定方法は周期性の入出力信号を扱う手法であるため、非周期信号を取り扱うことができないという問題もある。
【0014】
本発明は、推定出力値を用いて最な制御パラメータを設計する制御器の設計方法において、前記した出力推定の課題を解決して制御器の直線性/非直線性にかかわらず推定出力値を推定し、得られた推定出力値を用いて制御器の最適制御パラメータを設計することを目的とする。
【課題を解決するための手段】
【0015】
制御器の制御信号を制御対象への制御入力として入力し、制御対象の出力を制御器にフィードバックする閉ループ制御系において、本発明の制御器の設計方法は、
(P1)制御対象の入出力の実験データを用いた時間領域演算を行い、当該時間領域演算に基づいて出力をシミュレートし推定出力値yを取得するデータ駆動型シミュレーション工程と、
(P2)データ駆動型シミュレーション工程で取得した推定出力値yを用いて制御器の最適制御パラメータを求める最適制御パラメータ設計工程と、
を備える。
【0016】
(P1)データ駆動型シミュレーション工程
データ駆動型シミュレーション工程では、制御対象のシミュレーションで得られる推定入力値uと制御対象の実験で得られた実験出力データy0とを時間領域で畳み込み演算して得られる第1の畳み込み演算値、及び制御対象のシミュレーションで得られる推定出力値yと制御対象の実験で得られた実験入力データu0とを時間領域で畳み込み演算して得られる第2の畳み込み演算値を求め、第1の畳み込み演算値と第2の畳み込み演算値の二つの畳み込み演算値の差分から制御対象の次サンプリング時刻の推定出力値(y)を推定する。
【0017】
さらに詳細なデータ駆動型シミュレーション工程では、
制御対象の実験で得られる実験入力データu0及び実験出力データy0の各サンプリング値を収集し、記憶する実験データの実験工程と、
制御器に基準値rを入力して制御器の出力信号を得るシミュレーションを行い、シミュレーションの出力信号を制御対象に対する推定入力値uとして算出し、記憶する推定入力値のシミュレーション工程と、
制御対象の推定出力値yを求める推定出力値のシミュレーション工程と、
の各工程を備える。
【0018】
推定出力値のシミュレーション工程は、
推定入力値のシミュレーション工程で得られるサンプリング時刻0からk-1までの推定入力値u、及び実験工程で得られたサンプリング時刻kから1までの実験出力データy0を時間領域で畳み込み演算して第1の畳み込み演算値を求め、
推定出力値のシミュレーション工程で得られるサンプリング時刻0からk-1までの推定出力値y、及び実験工程で得られたサンプリング時刻kから1までの実験入力データu0を時間領域で畳み込み演算して第2の畳み込み演算値を求め、
第1の畳み込み演算値と第2の畳み込み演算値の差分を求め、求めた差分から制御対象のサンプリング時刻kの推定出力値y(k)を求める。
【0019】
(P2)最適制御パラメータ設計工程
最適制御パラメータ設計工程は、適用する設計アプローチとして、
(p1)直接最適化アプローチ、
(p2)反復最適化アプローチ、及び
(p3)単一計算アプローチの3種類の最適化アプローチ
を備える。
【0020】
(p1)直接最適化アプローチ
直接最適化アプローチは、データ駆動型シミュレーション工程で得られる推定出力値yの直接適用に適した評価関数を用いた最適化アプローチであり、評価関数を最小化する制御パラメータを求める最適化ソルバーとしてヒューリスティックアルゴリズムを適用する。
【0021】
制御器による制御対象の応答を評価する評価関数J
DO(θ)として、基準値r(k)と推定出力値y(k)との差分の2ノルムで表される以下の式(1)を用いる。
【数1】
・・・(1)
【0022】
評価関数J
DO(θ)を最小化する制御器の最適制御パラメータθ
*を、基準値rとデータ駆動型シミュレーション工程で推定した推定出力値yとを用いて以下の式(2)によって求める。
【数2】
・・・(2)
なお、argmin
θは評価関数J
DO(θ)が最小となる制御パラメータθの集合である。
【0023】
評価関数JDO(θ)を最小化する制御器の最適制御パラメータθ*を求めるヒューリスティックアルゴリズムとしてネルダー・ミード(NelderMead)法を適用することができる。
【0024】
(p2)反復最適化アプローチ
反復最適化アプローチでは、評価関数が制御パラメータθで微分可能であるとき、制御器の最適制御パラメータθ*を、勾配法を用いて求めることができる。
【0025】
基準値rに対する目的出力値y
dを、以下の式(3)によりノミナルモデルM(z)と基準値rとの積とし、
【数3】
・・・(3)
制御器による制御対象の応答を評価する評価関数J
MR(θ)として、基準値rに対する目的出力値y
dと推定出力値yとの差分の2ノルムにより式(4)で表される。
【数4】
・・・(4)
【0026】
評価関数J
MR(θ)を最小化する制御器の最適制御パラメータθ
*は、偏微分が0となる
【数5】
・・・(5)
を満たす解を、勾配法を用いた以下の式(6)の繰り返し計算により求める。
【数6】
・・・(6)
【0027】
(p3)単一計算アプローチ
単一計算アプローチは、反復最適化アプローチで行う反復計算を1回の計算で済ませる最適化アプローチである。
【0028】
開ループ制御系における出力をy
Oとし、
開ループ制御系におけるノミナルモデルM
O(z)と基準値rとの積(r(k)・M
O(z))を基準値rに対する目的出力値y
dOとし、
制御器による前記制御対象の応答を評価する評価関数J
O(θ)として、目的出力値y
dOと出力値y
Oとの差分の2ノルムで表される、
【数7】
・・・(7)
とする。
【0029】
評価関数J
O(θ)を最小化する制御器の最適制御パラメータθ
*は、
【数8】
・・・(8)
又は、
【数9】
・・・(9)
で表され、1回の計算により最適制御パラメータが求められる。なお、y
O0
sep(k)は開ループ制御系における推定出力から制御パラメータを線形分離したデータである。
【0030】
制御パラメータθ*は、PID制御、PI制御、PI-D制御の制御方法に応じて設定される、制御器の比例ゲインKP、積分ゲインKI、微分ゲインKD、フィードバックゲインKLである。
【発明の効果】
【0031】
以上説明したように、推定出力値を用いて最な制御パラメータを設計する制御器の設計方法において、本発明の制御器の設計方法によれば、制御器の直線性/非直線性にかかわらず推定出力値を推定し、得られた推定出力値を用いて制御器の最適な制御パラメータを設計することができる。
【図面の簡単な説明】
【0032】
【
図1】本発明の出力推定方法を適用する閉ループ制御系100を示す図である。
【
図2】本発明の制御器の設計方法の概略工程を説明するためのフローチャートである。
【
図3】本発明のデータ駆動型シミュレーション工程による出力推定方法の概要を説明するための模式図である。
【
図4】本発明の出力推定方法を説明するためのフローチャートである。
【
図5】本発明の実験工程を説明するための図である。
【
図6】推定入力シミュレーション工程を説明するための図である。
【
図7】本発明の出力推定の推定出力シミュレーション工程を説明するためのフローチャートである。
【
図8】本発明の出力推定の推定出力シミュレーション工程を説明するためのブロック図である。
【
図9】本発明の出力推定の推定出力シミュレーション工程を説明するためのフローチャートである。
【
図10】本発明の出力推定の推定出力シミュレーション工程を説明するためのブロック図である
【
図11】本発明の推定出力装置の構成を説明するためのブロック図である。
【
図12】DC-DCコンバータの一例を示す図である。
【
図13】インダクタ電流をマイナーループとしてフィードバックに加えるPI制御を行う制御器の構成例を示す図である。
【
図14】電流モード制御におけるPID制御を行う制御器の構成例を示す図である。
【
図15】電流モード制御におけるPI-D制御による制御器の構成例を示す図である。
【
図16】直接最適化アプローチによって最適制御パラメータを求める手順の一例を説明するためのフローチャートである。
【
図17】閉ループ制御系の参照モデルを示しブロック図である。
【
図18】反復最適化アプローチによって最適制御パラメータを求める手順の一例を説明するためのフローチャートである。
【
図19】反復最適化アプローチにおいて1階偏微分を求める手順の一例を説明するためのフローチャートである。
【
図20】反復最適化アプローチにおいて2階偏微分を求める手順の一例を説明するためのフローチャートである。
【
図21】開ループ制御系の参照モデルを示している。
【
図22】開ループ制御系のブロック図を示している。
【
図23】単一計算最適化アプローチによって最適制御パラメータを求める手順の一例を示すフローチャートである。
【
図24】従来のV-tiger法を説明するためのブロック図である。
【発明を実施するための形態】
【0033】
本発明の制御器の設計方法は、閉ループ制御系が備える制御器の最適制御パラメータを設計する。
【0034】
(閉ループ制御系)
図1は、閉ループ制御系100のブロック図を示している。本発明は、閉ループ制御系100に適用して出力推定を行って推定出力値yを取得し、取得した推定出力値yを用いて閉ループ制御系が備える制御器の最適制御パラメータを設計する。
【0035】
閉ループ制御系100は、基準信号r(k)を制御器C(θ)に入力し、制御器C(θ)で得られる制御信号を制御対象P(z)の入力信号uin(k)として入力し、制御対象P(z)の出力信号yout(k)を制御器C(θ)にフィードバックし、制御処理を離散時間処理で行う離散時間閉ループ制御系である。制御対象P(z)及びその出力信号yout(k)は、プラント及びプラント出力に対応する。
【0036】
図2のフローチャートは、本発明の制御器の設計方法の概略工程を示している。制御器の制御信号を制御対象への制御入力として入力し、制御対象の出力を制御器にフィードバックする閉ループ制御系において、本発明の制御器の設計方法は、
(P1)制御対象の入出力の実験データを用いた時間領域演算に基づいて出力をシミュレートし、推定出力値yを取得するデータ駆動型シミュレーション工程と、
(P2)データ駆動型シミュレーション工程で取得した推定出力値yを用いて制御器の最適制御パラメータを求める最適制御パラメータ設計工程と、
を備える。
【0037】
(P1)データ駆動型シミュレーション工程
本発明のデータ駆動型シミュレーション工程は、離散時間閉ループ制御系において、制御対象P(z)の入出力の実験データを用いてシミュレーションを行って出力を推定するデータ駆動型シミュレーションであり、実験で得られる実験出力データ、実験入力データ、及びシミュレーションで得られる推定出力値、推定入力値を時間領域で畳み込み演算する。
【0038】
畳み込み演算は、入出力実験データ(u0,y0)と推定入出力値(u,y)とを時間領域で行う。入出力実験データ(u0,y0)は、制御対象を実際に実験することによって得られる実験入力データ(u0)及び実験出力データ(y0)である。推定入出力値(u,y)は、制御対象P(z)をシミュレーションすることによって得られる各サンプリング時刻の推定入力値(u)及び推定出力値(y)である。
【0039】
畳み込み演算によるシミュレーションによって、制御対象P(z)の次のサンプリング時刻の推定出力値(y)を推定する。
【0040】
本発明のデータ駆動型シミュレーションにおいて、制御対象P(z)のシミュレーションに用いる実験データは、制御対象の実験で得られた実験入力データ(u0)及び実験出力データ(y0)であり、シミュレーションに用いる入出力値は、制御対象(P)のシミュレーションで得られる推定入力値(u)及び推定出力値(y)であり、演算に用いる実験データ及び入出力値は何れも制御器C(θ)のパラメータθの関与はない。
【0041】
したがって、本発明のデータ駆動型シミュレーション工程よる出力推定方法は、制御器C(θ)の関与を排除し、制御対象P(z)のみを用いたシミュレーションである。制御器C(θ)の関与が除かれているため、制御器C(θ)による直線性/非直線性の関与が排除され、仮に制御器C(θ)が非直線性を有していたとしても畳み込み演算を実行することができ、制御対象の出力を推定することができる。また、制御器C(θ)の直線性/非直線性にかかわらず制御対象の出力を推定することができる。
【0042】
さらに、出力推定方法に用いる時間領域の畳み込み演算は制御対象P(z)の項を排除した演算式で表される。したがって、制御器C(θ)だけでなく制御対象P(z)についても関与されることなく出力推定をシミュレーションすることができる。
【0043】
図3は、本発明のデータ駆動型シミュレーション工程よる出力推定方法の概要を説明するための模式図であり、制御対象P(z)の入出力の実験データを用いたシミュレーションによって出力を推定する。
【0044】
図3Aに示す閉ループ制御系100において、制御器C(θ)が非線形の特性を有する場合には、制御器C(θ)から制御対象P(z)に入力される入力信号u
in(k)は非線形性の信号となる。
図3Aでは制御器C(θ)の非線形特性を非線形性φ(u)で表している。
【0045】
本発明のデータ駆動型シミュレーション工程よる出力推定方法は、制御対象P(z)のみを出力推定の実行範囲とする。出力推定の範囲から制御器C(θ)の非線形性φ(u)を除いて制御対象P(z)のみとすることによって、制御器C(θ)の直線性/非直線性にかかわらず制御対象の出力推定を可能とする。
【0046】
本発明は、出力推定に際して、第1の仮定として制御対象P(z)が線形時不変(LTI)システムであること、第2の仮定として実験データの0番目のサンプリング時刻k=0より前の制御対象P(z)の状態は無視できること、及び第3の仮定として実験データの最初の実験入力データu0(0)はゼロ以外の値であるの各仮定が設定される。
【0047】
第1の仮定は、制御対象P(z)が線形時不変(LTI:Linear Time-Invariant system)システムである仮定である。線形時不変システムは、重ね合わせの理が成り立つ線形システムであり、システムの性質が時間変化しないシステムである。制御対象P(z)に線形時不変システムの仮定を導入することによって、制御対象P(z)と入出力の関係は周波数領域(z領域)において積の形態で表される。
【0048】
実験により得られる実験出力データY0(z)は、制御対象P(z)と実験により得られる実験入力データU0(z)とのz領域での積により式(10)で表される。z領域でシミュレートされる推定出力値Y(z)は、制御対象P(z)とz領域でシミュレートされる推定入力値U(z)とのz領域での積により式(11)で表される。
[数10]
Y0(z)=P(z)U0(z) ・・・(10)
[数11]
Y(z)=P(z)U(z) ・・・(11)
【0049】
式(10)、(11)で表されるz領域での方程式において、実験入力データU0(z)及び実験出力データY0(z)は実験時に得られ、推定入力値U(z)はシミュレート時に入力されるため、推定出力値Y(z)のみが唯一の未知数である。
【0050】
式(10)及び式(11)の関係は、制御対象P(z)の項をキャンセルすることによって式(12)で表される。
[数12]
Y(z)U0(z)=U(z)Y0(z) ・・・(12)
【0051】
第2の仮定及び第3の仮定は、z領域の推定出力値Y(z)から時間領域の推定出力値y(k)を得るために導入される。
【0052】
実験データの0番目のサンプリング時刻k=0より前の制御対象P(z)の状態において無視できる第2の仮定は、実験データの因果関係を保証するものである。これにより、サンプリング時刻k=0より前の制御対象P(z)の状態はサンプリング時刻k=0以降の実験データに影響を与えないことが保証される。したがって、制御対象P(z)の応答がゼロ状態あるいは定常状態から始まるときには、制御対象P(z)の実験で得られる実験データは時間領域の推定出力値y(k)に利用することができる。
【0053】
式(12)で表されるz領域の関係式を時間領域の関係式に変換すると以下の式(13)が得られる。
[数13]
y(k)*u
0(k)=u(k)*y
0(k) ・・・(13)
式(13)は畳み込み演算によって以下の式(14)の時間領域信号に変換される。
【数14】
・・・(14)
なお、入出力データ(u
0、y
0)の添え字“
0”は実験データであることを表している。
【0054】
式(14)をサンプリング時刻kにおける推定出力値y(k)に関して展開すると式(15)が得られる。
【数15】
・・・(15)
【0055】
式(15)において、第3の仮定によって最初の実験入力データu
0(0)をゼロ以外の値とすると、時間領域における推定出力値y(k)の式(16)が得られる。
【数16】
・・・(16)
【0056】
式(16)は、制御対象P(z)の実験入出力データ(u0、y0)と、サンプリング時刻k-1までの推定出力値y(i)とによって、サンプリング時刻kの制御対象P(z)の推定出力値y(k)が求まることを示している。
【0057】
式(16)の右辺の第1項は、推定入力値u(i)と実験出力データy0(k-1)との畳み込み演算を示し、第2項は、推定出力値y(i)と実験入力データu0(k-1)との畳み込み演算を示し、第3項は、推定入力値u(k)と実験出力データy0(0)との積を示している。
【0058】
式(16)の推定出力値y(k)は、制御対象P(z)の項を含まない式であるため、制御対象P(z)のプラントモデルを表す伝達関数は不要である。したがって、推定出力値y(k)の推定には制御対象P(z)のプラントモデルの設定は不要である。
【0059】
図3Bは、制御対象P(z)のみを実行範囲としてデータ駆動型シミュレーション工程よる出力推定のシミュレーションを行う概要を示している。
【0060】
本発明は、
図3Aに示した閉ループ制御系100の内、制御器C(z,θ)及び非線形性φ(u)を除く制御対象P(z)のみを時間領域におけるシミュレーションによって推定出力値y(k)を求める。
【0061】
制御対象P(z)のシミュレーション11は、式(16)で表される推定出力値y(k)の演算によって行われる。制御対象P(z)のシミュレーション11は、実験12で得られた制御対象P(z)の実験入出力データ(u0、y0)と、制御器のシミュレーション13で得られる推定入力値uと、シミュレーション11で得られた事前のサンプリング時刻k-1までの推定入出力値(u(i)、y(i))とによって、サンプリング時刻kの制御対象P(z)の推定出力値y(k)を推定する。フィードバック系のシミュレーションでは、推定入力値uの算出には基準値rと推定出力値yが必要である。
【0062】
入出力実験データ(u0,y0)は、制御対象を実際に動作させることによって得られる実験入力データ(u0)及び実験出力データ(y0)である。推定入出力値(u,y)は、制御対象P(z)をシミュレーションすることによって得られる各サンプリング時刻の推定入力値(u)及び推定出力値(y)である。なお、入出力データ(u0,y0)の添え字“0”は実験データであることを表している。
【0063】
式(16)で表される推定出力値y(k)の演算は、入出力実験データ(u0,y0)と推定入出力値(u,y)とを時間領域で行う畳み込み演算を含む。シミュレーション11は、畳み込み演算によるシミュレーションによって制御対象P(z)の次のサンプリング時刻の推定出力値(y)を推定する。
【0064】
本発明は、データ駆動型シミュレーションにおいて、制御対象P(z)のシミュレーションに用いる実験データは、制御対象の実験で得られた実験入力データ(u0)及び実験出力データ(y0)であり、シミュレーションに用いる入出力値は、制御対象(P)のシミュレーションで得られる推定入力値(u)及び推定出力値(y)であり、演算に用いる実験データ及び入出力値は何れも制御器C(θ)の関与はない。
【0065】
したがって、本発明のデータ駆動型シミュレーション工程での出力推定方法は、制御器C(θ)の関与を排除し、制御対象P(z)のみを用いたシミュレーションである。制御器C(θ)の関与が除かれているため、制御器C(θ)による直線性/非直線性の関与が排除され、仮に制御器C(θ)が非直線性を有していたとしても畳み込み演算を実行することができ、制御対象の出力を推定することができる。したがって、制御器C(θ)の直線性/非直線性にかかわらず制御対象の出力を推定することができる。
【0066】
また、出力推定に用いる時間領域の畳み込み演算は、制御対象P(z)の項を排除した演算式で表される。したがって、制御器C(θ)だけでなく制御対象P(z)についても関与されることなく出力推定をシミュレーションすることができる。
【0067】
推定出力値y(k)は、時間領域の畳み込み演算における実験出力データの収束条件から、
(Case1)サンプリング時刻k=0の実験出力データの値がy0(0)=0であるとき、
(Case2)サンプリングを開始する直前の入出力状態が定常状態であるとき、
(Case3)サンプリング時刻k=Nを超える実験出力データの値がサンプリング時刻k=0の実験出力データの値に収束すると見なせるとき、
の各場合について、ya(k)、yb(k)、及びyc(k)の各演算式により求められる。以下、実験出力データy0(0)が“0”の場合(Case1)、実験出力データy0(0)が定常値である場合(Case2)、及びサンプリング時刻mがサンプリング数N-1以上のときの実験出力データy0(m)が、初期状態(k=0)に十分に収束した一定値である場合(Case3)の各ケースにおける推定出力値y(k)を示す。
【0068】
(Case1)
Case1は、制御対象P(z)の実験出力データy0(k)のサンプリング時刻k=0における値が、y0(0)=0である場合である。このCase1の推定出力値y(k)の演算式をya(k)で表す。
【0069】
式(16)で示される推定出力値y(k)の右辺の第3項の(u(k)y
0(0))の項は0であるため、サンプリング時刻kの推定出力値y(k)を推定する演算式y
a(k)は、右辺の1項目の第1の畳み込み演算値と2項目の第2の畳み込み演算値の差分を実験入力データu
0(0)で除算した式(17)で表される。
【数17】
・・・(17)
【0070】
(Case2)
Case2は、実験開始時に制御対象P(z)の状態が定常状態にある場合である。この定常状態において、制御対象P(z)の実験入力データu
0、及び実験出力データy
0のサンプリング時刻k=0における定常値が定常値u
0_offset及び定常値y
0_offsetであるとき、サンプリング時刻kの推定出力値y(k)を推定する演算式y
b(k)は、右辺の1項目の第1の畳み込み演算値と2項目の第2の畳み込み演算値の差分を実験入力データu
0
ofs(0)で除算した式(18)で表される。
【数18】
・・・(18)
【0071】
演算式yb(k)中のu0
ofs(k)、y0
ofs(k)は、定常値u0_offset及び定常値y0_offsetをオフセット分としてオフセット補償した値であり、
[数19]
u0
ofs(k)=u0(k)-u0_offset ・・・(19)
[数20]
y0
ofs(k)=y0(k)-y0_offset ・・・(20)
で表される。
【0072】
(Case3)
Case3は、実験終了後に制御対象Pの状態が初期状態に十分に収束した状態にあると見なせる場合である。畳み込み演算にかかる式(14)において、入力値uと出力値yとは、何れを時系列iの初端とし、何れを末端として畳み込み演算を行うかは対等の関係にある。
【0073】
Case1の演算式ya(k)及びCase2の演算式yb(k)は、推定入出力値(u,y)について見ると、第1の畳み込み演算値では、推定入力値u(i)値について時系列iの初端から順に演算し、第2の畳み込み演算値では、推定出力値y(i)値について時系列iの初端から順に演算し、実験入出力データ(u0,y0)について見ると、第1の畳み込み演算値では、実験出力データy0(i)値について時系列iの末端から順に演算し、第2の畳み込み演算値では、実験入力データu0(i)値について時系列iの末端から順に演算している。
【0074】
Case3は、Case1の演算式ya(k)、及びCase2の演算式yb(k)における時系列iの初端と末端の関係が反転している。Case1及びCase2では、実験開始時にy0(0)が“0”、あるいは実験開始時に制御対象Pの状態が定常状態にあることを第2の仮定としている。Case3では、時系列iの初端と末端の関係を反転させることから、実験終了時に制御対象Pの状態が、初期状態に十分収束したとみなせる状態にあることを第2の仮定とする。
【0075】
この収束状態において、制御対象P(z)の実験入力データu
0、及び実験出力データy
0のサンプリング時刻k=m≧N-1(Nは実験データのサンプリング数)における収束値が定常値u
0
ofs(m)=u
m_offset、及び定常値y
0
ofs(m)=y
m_offsetであるとき、k>N-1(Nはサンプリング数)に対して、サンプリング時刻kの推定出力値y(k)を推定する長期シミュレーションの演算式y
c(k)は式(21)で示される。
【数21】
・・・(21)
演算式y
c(k)は、右辺の1項目の第1の畳み込み演算値と2項目の第2の畳み込み演算値の差分を実験入力データu
0
ofs(0)で除算する演算である。
【0076】
演算式yc(k)中のu0
ofs(m),y0
ofs(m)は、定常値um_offset及び定常値ym_offsetのオフセット分をオフセット補償した値であり、
[数22]
u0
ofs(m)=um_offset ・・・(22)
[数23]
y0
ofs(m)=ym_offset ・・・(23)
である。
【0077】
Case3は、実験終了後において実験入力データの定常値um_offset、及び実験出力データの定常値ym_offsetが取得できる場合には、実験データのサンプリング数Nに関係なく長期期間のシミュレーションによる出力推定が可能であり、このときの推定出力値y(k)は式(21)の演算式yc(k)、及び式(22),式(23)のu0
ofs(m),y0
ofs(m)である。
【0078】
(本発明のデータ駆動型シミュレーション工程の出力推定方法)
本発明のデータ駆動型シミュレーション工程の出力推定方法は、制御器C(θ)の制御信号を制御対象P(z)への制御入力として入力し、制御対象P(z)の出力を制御器C(θ)にフィードバックする閉ループ制御系において、制御対象P(z)の出力を推定する方法である。
【0079】
本発明のデータ駆動型シミュレーション工程の出力推定方法は、制御対象P(z)の入出力の実験データを用いて出力をシミュレートするデータ駆動型シミュレーション法において、制御対象P(z)のシミュレーションで得られる推定入力値uと制御対象P(z)の実験で得られた実験出力データy0とを時間領域で畳み込み演算して得られる第1の畳み込み演算値、及び制御対象P(z)のシミュレーションで得られる推定出力値(y)と制御対象P(z)の実験で得られた実験入力データu0を時間領域で畳み込み演算して得られる第2の畳み込み演算値を求め、二つの畳み込み演算値の差分から制御対象P(z)の次サンプリング時刻の推定出力値(y)を推定する。
【0080】
本発明のデータ駆動型シミュレーション工程よる出力推定方法は、(a)実験データの実験工程、(b)推定入力値のシミュレーション工程、及び(c)推定出力値のシミュレーション工程の各工程を備える。
【0081】
本発明の出力推定方法について、
図4のフローチャートを用いて説明する。出力推定は、実験入出力データを取得する実験工程(S1,S2)、推定入力値を取得する推定入力シミュレーション工程(S3,S4)、及び推定出力値を取得する推定出力シミュレーション工程(S5,S6)を備える。
【0082】
(a)実験データ(u0,y0)の実験工程
実験データの実験工程は、制御対象P(z)の実験で得られる実験入力データu0及び実験出力データy0の各サンプリング値を収集し、記憶する工程である。
【0083】
実験データの実験工程を行う閉ループ系の一例は、制御対象P(z)の出力を制御器C(θ)にフィードバックする閉ループ系であり、制御器C(θ)のパラメータθを初期パラメータθ0として、制御器C(θ)と実プラントの制御対象P(z)について実験を行って、実験入力データu0及び実験出力データy0の各サンプリング値を収集する。
【0084】
実験データの実験工程を行う開ループ制御系の例は、制御対象P(z)のみの系であり、実プラントの制御対象P(z)について実験を行って、実験入力データu0及び実験出力データy0の各サンプリング値を収集する。なお、一般的には開ループ制御系では不安定系のデータ取得は困難な場合が多い。
【0085】
図5は、実験工程を説明するための図である。
図5Aに示す閉ループ制御系は、制御器C(θ
0)の制御信号を制御対象P(z)への制御入力値u
in(k)として入力し、制御対象P(z)の出力値y
out(k)を制御器C(θ
0)にフィードバックする。
【0086】
実験工程は、
図5Aの閉ループ制御系において、基準値r
O(k)を制御器C(θ
0)に入力し、制御器C(θ
0)から制御対象P(z)に入力される制御入力値u
in(k)を実験入力データu
0(k)として取得する。更に、制御入力値u
in(k)を制御対象P(z)に入力して得られる出力値y
out(k)が、実験出力データy
0(k)として取得される。
【0087】
そして、実験工程は、各サンプリング時刻kの基準値rO(k)を閉ループ制御系に入力し、各サンプリング時刻kで得られる実験入力データu0(k)及び実験出力データy0(k)を取得し、複数個の実験入出力データ(u0(k),y0(k))を取得し(S1)、取得した実験入出力データ(u0(k),y0(k))を記憶する(S2)。
【0088】
図5Bは、実験入力データu
0(k)を示し、
図5Cは実験出力データy
0(k)を示している。なお、
図5B及び
図5Cの実験入出力データは説明のために模式的に示したものであって、実際のデータを表すものではない。
【0089】
図5Bに示す実験入力データu
0(k)のうち、サンプリング時刻k=0のu
0(0)は“0”以外の値であることが求められる。
図5Cに示す実験出力データy
0(k)の内、サンプリング時刻k=0のy
0(0)は“0”である例を示している。
【0090】
(b)推定入力値u(k)のシミュレーション工程
推定入力値のシミュレーション工程は、制御器C(θ)に基準値r(k)及びフィードバック信号として推定出力値y(k)を入力して制御器C(θ)の出力値を得るシミュレーションを行い、制御対象P(z)に対する推定入力値u(k)として算出し、記憶する工程である。
【0091】
推定入力値u(k)のシミュレーション工程は、制御器C(θ)のシミュレーション系において、制御器C(θ)のパラメータθはシミュレーションを行いたい任意のパラメータとし、制御器(C)に基準値r(k)及びフィードバック信号として推定出力値y(k)を入力して得られる各サンプリング時刻kの出力信号を制御対象P(z)に対する推定入力値u(k)として求める。
【0092】
図6は、推定入力シミュレーション工程を説明するための図である。実験データ取得時には、
図5Aに示す閉ループ制御系の内の制御器として制御器C(θ
0)が用いられるが、推定入力シミュレーション工程においては、実験データ取得時の制御器C(θ
0)に限らず任意の制御器C(θ)を用いることができる。
【0093】
推定入力シミュレーション工程において、制御器C(θ)に基準値r(k)及び推定出力値y(k)を入力して得られる制御信号が、制御対象P(z)に入力する推定入力値u(k)として取得される。推定入力シミュレーション工程では、基準値r(k)及び推定出力値y(k)を用いて演算される任意の制御器を設定することができる。
【0094】
そして、各サンプリング時刻kの基準値r(k)及び推定出力値y(k)を制御器C(θ)に入力し、各サンプリング時刻kで得られる推定入力値u(k)を取得し(S3)、取得した推定入力値u(k)を記憶する(S4)。
【0095】
(c)推定出力値y(k)のシミュレーション工程
推定出力値のシミュレーション工程は、実験工程で得られた実験入力データu0、及び実験出力データy0の各サンプリング値と、推定入力値のシミュレーション工程で得られたサンプリング時刻0から(k-1)までの推定入力値u、及び制御対象P(z)のシミュレーションにおける制御対象P(z)のサンプリング時刻0から(k-1)までの推定出力値y(k)とを用いて時間領域の畳み込み演算を行い、制御対象P(z)のサンプリング時刻kの推定出力値y(k)を記憶する工程である。
【0096】
推定入力値のシミュレーション工程で得られるサンプリング時刻0から(k-1)までの推定入力値u、及び実験工程で得られたサンプリング時刻kから1までの実験出力データy0を時間領域で畳み込み演算して第1の畳み込み演算値を求め、推定出力値のシミュレーション工程で得られるサンプリング時刻0から(k-1)までの推定出力値y(k)、及び実験工程で得られたサンプリング時刻kから1までの実験入力データu0を時間領域で畳み込み演算して第2の畳み込み演算値を求め、第1の畳み込み演算値と第2の畳み込み演算値の差分を求め、求めた差分から制御対象P(z)のサンプリング時刻kの推定出力値y(k)を求める。
【0097】
サンプリング時刻kにおける推定出力値y(k)は、第1の畳み込み演算値と第2の畳み込み演算値の差分値をサンプリング時刻kが0のときの実験入力データu0(0)で除算することにより得られる。推定出力シミュレーション工程では、畳み込み演算を含む演算処理によって推定出力値を取得し(S5)、記憶する(S6)。
【0098】
推定出力シミュレーション工程の推定出力値の取得について、
図7,
図9のフローチャート、並びに
図8,
図10のブロック図を用いて説明する。
【0099】
図7のフローチャート及び
図8のブロック図は、推定出力値を取得するシミュレーションのサンプリング時刻kにおける概要を示している。
【0100】
まず、S2の工程で記憶した実験入力データu0(0),u0(1),u0(2),・・・,u0(k)と、実験出力データy0(1),y0(2),・・・,y0(k)とを読み出し(S31)、S4の工程で記憶した推定入力値u(0),u(1),u(2),・・・,u(k-1)を読み出し(S32)、更にS6の工程で記憶したサンプリング時刻(k-1)以前の推定出力値y(0),y(1),y(2),・・・,y(k-1)を読み出す(S33)。
【0101】
読み出した実験入力データu0(0),u0(1),u0(2),・・・,u0(k)、実験出力データy0(1),y0(2),・・・,y0(k)、推定入力値u(0),u(1),u(2),・・・,u(k-1)、及び推定出力値y(0),y(1),y(2),・・・,y(k-1)を式(16),(17),(18),(21)の演算式y(k),ya(k),yb(k),yc(k)に代入することによって、サンプリング時刻kの推定出力値y(k)を推定する。
【0102】
図8のブロック図は、演算式y(k),y
a(k),y
b(k),y
c(k)を実行することによって、サンプリング時刻kの推定出力値y(k)を推定する際において、実験入出力データ(u
0,y
0)及び推定入出力値(u,y)の演算工程を模式的に示している。ここでは、演算式y
a(k)を例にして推定出力値を取得するシミュレーションを説明する。
【0103】
図8中の畳み込み演算ブロック6aは、演算式y
a(k)の右辺の第1の畳み込み演算に対応している。畳み込み演算ブロック6aは、推定入力値u(0),u(1),u(2),・・・,u(k-1)、及び実験出力データy
0(1),y
0(2),・・・,y
0(k)から時系列の各サンプリング時刻“i”に対応する推定入力値u(i)及び実験出力データy
0(k-1)を選択して積を求め、i=0からi=(k-1)までの総和を求める。
【0104】
一方、
図8中の畳み込み演算ブロック6bは、演算式y
a(k)の右辺の第2の畳み込み演算に対応している。畳み込み演算ブロック6bは、推定出力値y(0),y(1),y(2),・・・,y(k-1)、及び実験入力データu
0(1),u
0(2),・・・,u
0(k)から時系列の各サンプリング時刻“i”に対応する推定出力値y(i)、及び実験入力データu
0(k-1)を選択して積を求め、i=0からi=(k-1)までの総和を求める。
【0105】
図8中の加算ブロック6cは、畳み込み演算ブロック6aによる畳み込み演算値と畳み込み演算ブロック6bによる畳み込み演算値の差分を求め、
図8中の除算ブロック6dは、加算ブロック6cで得た差分をu
0(0)で除算して、サンプリング時刻kでの推定出力値y
0(k)を算出する。
【0106】
サンプリング時刻kが3の場合について、
図9のフローチャート及び
図10のブロック図を用いて推定出力値y(3)の算出を説明する。
【0107】
まず、S2の工程で記憶した実験入力データu0(0),u0(1),u0(2),u0(3)と、実験出力データy0(1),y0(2),y0(3)とを読み出し(S41)、次に、S4の工程で記憶した推定入力値u(0),u(1),u(2)を読み出し(S42)、更に、S6の工程で記憶したサンプリング時刻k=2以前の推定出力値y(0),y(1),y(2)を読み出す(S43)。
【0108】
読み出した実験入力データu0(0),u0(1),u0(2)、実験出力データy0(1),y0(2),y0(3)、推定入力値u(0),u(1),u(2)、及び推定出力値y(0),y(1),y(2)を、式(16),(17),(18),(21)の演算式y(k),ya(k),yb(k),yc(k)に代入することによって、サンプリング時刻k=3の推定出力値y(3)を推定する。
【0109】
Case1におけるy
0(0)=0の場合には、y
a(3)は、式(17)においてk=3とすることより得られる。
【数24】
・・・(24)
【0110】
図10のブロック図は、演算式y(k),y
a(k),y
b(k),y
c(k)を実行することによって、サンプリング時刻kの推定出力値y(k)を推定する際において、実験入出力データ(u
0,y
0)及び推定入出力値(u,y)の演算工程を、k=3を例として模式的に示している。ここでは、式(11)の演算式y
a(k)を例にして推定出力値y(k)を取得するシミュレーションを説明する。
【0111】
図10中の畳み込み演算ブロック6aは、演算式y
a(k)の右辺の第1の畳み込み演算に対応している。畳み込み演算ブロック6aは、推定入力値u(0),u(1),u(2)、及び実験出力データy
0(1),y
0(2),y
0(3)から時系列の各サンプリング時刻“i”に対応する推定入力値u(i)及び実験出力データy
0(k-1)を選択して積を求め、i=0からi=(k-1)までの総和を求める。
【0112】
一方、
図10中の畳み込み演算ブロック6bは、演算式y
a(k)の右辺の第2の畳み込み演算に対応している。畳み込み演算ブロック6bは、推定出力値y(0),y(1),y(2)y(3)、及び実験入力データu
0(1),u
0(2),u
0(3)から時系列の各サンプリング時刻“i”に対応する推定出力値y(i)及び実験入力データu
0(k-1)を選択して積を求め、i=0からi=(k-1)までの総和を求める。
【0113】
図10中の加算ブロック6cは、畳み込み演算ブロック6aによる畳み込み演算値と畳み込み演算ブロック6bによる畳み込み演算値の差分を求め、
図10中の除算ブロック6dは加算ブロック6cで得た差分をu
0(0)で除算して、サンプリング時刻kでの推定出力値y(k)を算出する。
【0114】
(推定出力装置)
本発明のデータ駆動型シミュレーションによる推定出力装置は、制御器の制御信号を制御対象への制御入力として入力し、制御対象の出力を制御器にフィードバックする閉ループ制御系において制御対象の出力を推定する装置である。推定出力装置は、制御対象の入出力の実験データを用いて出力をシミュレートするデータ駆動型シミュレーション装置を構成する。
【0115】
本発明の推定出力装置は、
図3Aに示す閉ループ制御系100の内で制御対象P(z)をシミュレートして出力を推定する構成であり、
図3Bの制御対象P(z)のシミュレーション11を実行する装置に相当する。
【0116】
推定出力装置の構成を、
図11のブロック図を用いて説明する。
図11に示すブロック図は、データ駆動型シミュレーション装置のうち、推定出力値y(k)をシミュレートで求める演算ブロックの構成を示し、
図3Bに示される制御対象P(z)のシミュレーション11に対応している。
【0117】
推定出力装置1は、実験データ記憶部2、推定出力値記憶部3、推定入力値算出部4、推定入力値記憶部5、及び演算部6を備える。
【0118】
実験データ記憶部2は、制御対象P(z)の実験で得られた実験入力データu
0及び実験出力データy
0を記憶する。実験入力データu
0及び実験出力データy
0は、
図3Bの実験12により取得される。
【0119】
推定出力値記憶部3は、制御対象P(z)の推定出力値(y)を記憶する。推定出力値(y)は、演算部6で求めたサンプリング時刻(k-1)までのy(k-1)を記憶する。
【0120】
推定入力値算出部4は、制御器C(θ)のシミュレーションで得られる推定入力値u(k)を算出する。
【0121】
推定入力値記憶部5は、推定入力値算出部4で算出した推定入力値u(k)を記憶する。推定入力値u(k)は
図3Bの制御器のシミュレーション13により求められる。
【0122】
演算部6は、制御対象P(z)の実験で得られた実験入力データu
0,及び実験出力データy
0と、前記制御対象P(z)のシミュレーションで得られる推定入力値u,及び推定出力値y(y)とを用いて時間領域で畳み込み演算を行い、制御対象P(z)の次サンプリング時刻の推定出力値y(y)を推定する。
図11のブロック図に示す推定出力装置の各部の制御は、プログラムに規定されたプロトコルに従って行うことができる。
【0123】
(P2)最適制御パラメータ設計工程
本発明の最適制御パラメータ設計工程は、データ駆動型シミュレーション工程で取得した推定出力値yを用いて制御器の最適制御パラメータを求める工程である。
【0124】
以下、制御対象としてDC-DCコンバータを用い、閉ループ制御系としてPI制御、PID制御、PI-D制御を例として、最適制御パラメータ設計工程を説明する。
【0125】
(制御対象)
図12は、DC-DCコンバータの一例を示している。DC-DCコンバータは、入力電圧V
inに対して直列接続されたスイッチSW1、並列接続されたスイッチSW2、負荷Rに対して直列接続されたインダクタL、及び並列接続されたコンデンサCのLC回路から構成され、スイッチSW1、SW2は、制御器CのPWM信号によりスイッチングされる。
【0126】
制御器は、制御対象であるDC-DCコンバータに入力データuを入力し、PWM信号によりスイッチSW1、SW2をオン/オフ制御して出力電圧Vcを制御する。一方、DC-DCコンバータから出力される出力データyは、コンデンサCのキャパシタ電圧の出力電圧Vc、及びインダクタLのインダクタ電流iLの出力信号である。制御器は出力データyをフィードバックして閉ループ制御系を構成する。
【0127】
(PI制御)
図13は、インダクタ電流をマイナーループとしてフィードバックするPI制御を行う制御器の構成例を示している。PI制御は、目標電圧V
rとキャパシタ電圧の出力電圧V
cとの差分(e=(V
r-V
c))を比例項、及び積分項に入力して比例積分制御を行うと共に、制御対象の出力であるインダクタ電流i
Lをフィードバック項に入力する。
【0128】
制御器の比例項、積分項、及びフィードバック項は、制御パラメータθとしてそれぞれ比例ゲインKP、積分ゲインKI、及びフィードバックゲインKLを備え、これらの各項の出力を加算した加算出力が、制御対象の入力データuとして出力される。DC-DCコンバータの制御対象にはPWM信号に変換した入力信号uを入力し、DC-DCコンバータのスイッチング素子のスイッチング動作を制御する。
【0129】
(PID制御)
図14は、電流モード制御におけるPID制御を行う制御器の構成例を示している。PID制御の比例項、積分項、微分項、及びフィードバック項は、制御パラメータθとして、それぞれ比例ゲインK
P、積分ゲインK
I、微分ゲインK
D、及びフィードバックゲインK
Lを備え、これらの加算出力が制御対象の入力データuとして出力される。
【0130】
比例ゲインKPは、目標電圧Vrと出力電圧Vcとの差分(Vr-Vc)に対するゲインであり、積分ゲインKIは、目標電圧Vrと出力電圧Vcとの差分(Vr-Vc)の積分値に対するゲインである。微分ゲインKDは、目標電圧Vrと出力電圧Vcとの差分(Vr-Vc)の微分値に対するゲインであり、フィードバックゲインKLは、インダクタ電流iLに対するゲインである。
【0131】
PID制御は、目標電圧Vrと出力電圧Vcとの差分(e=(Vr-Vc))を比例項、積分項、及び微分項に入力して比例積分微分制御を行うと共に、マイナーループでフィードバックされるインダクタ電流iLのフィードバック信号をフィードバック項に入力する。
【0132】
(PI-D制御)
図15は、電流モード制御におけるPI-D制御による制御器の構成例を示している。PI-D制御は、目標電圧V
rと出力電圧V
cとの差分(e=(V
r-V
c))を比例項、積分項に入力して比例積分制御を行い、出力電圧V
cを微分項に入力して微分制御を行うと共に、マイナーループでフィードバックされるインダクタ電流i
Lをフィードバック項に入力する。
【0133】
制御器の比例項、積分項、微分項、及びフィードバック項は、制御パラメータθとして、それぞれ比例ゲインKP、積分ゲインKI、微分ゲインKD、及びフィードバックゲインKLを備え、これらの加算出力が制御対象の入力データuとして出力される。
【0134】
比例ゲインKPは目標電圧Vrと出力電圧Vcとの差分(Vr-Vc)に対するゲインであり、積分ゲインKIは目標電圧Vrと出力電圧Vcとの差分(Vr-Vc)の積分値に対するゲインである。微分ゲインKDは出力電圧Vcの微分値に対するゲインであり、フィードバックゲインKLは、インダクタ電流iLに対するゲインである。
【0135】
最適制御パラメータ設計工程の設計アプローチとして、(P2a)直接最適化アプローチ、(P2b)反復最適化アプローチ、及び(P2c)単一計算アプローチの3種類の最適化アプローチを適用することができる。各最適化アプローチは、データ駆動型シミュレーション工程で得られた推定出力値yを用いて制御器の最適制御パラメータを設計する。
【0136】
(P2a)直接最適化アプローチ:Direct Optimization Approach
直接最適化アプローチは、制御器の制御パラメータθを直接的に最適化する評価関数を用いた最適化アプローチであり、データ駆動型シミュレーション工程で得られる推定出力値yを用いると共に、評価関数を最小化する制御パラメータを求める最適化ソルバーとしてヒューリスティックアルゴリズムを適用する。
【0137】
制御器による制御対象の応答を評価する評価関数J
DO(θ)として、目的の基準値r(k)と推定出力値y(k)との差分の2ノルムで表される次式(25)を用いる。
【数25】
・・・(25)
【0138】
評価関数J
DO(θ)を最小化する制御器の最適制御パラメータθ
*は、基準値r(k)とデータ駆動型シミュレーション工程で推定した推定出力値y(k)とを用いた以下の式(26)により求められる。
【数26】
・・・(26)
【0139】
式(26)において、argminθJDO(θ)は、評価関数JDO(θ)が最小となる制御パラメータθの集合である。制御パラメータθが比例ゲインKP、積分ゲインKI、微分ゲインKD、フィードバックゲインKLの制御器の各ゲインである場合には、制御パラメータθ*は、各ゲインの最適値の集合である。
【0140】
評価関数JDO(θ)を最小化する制御器の最適制御パラメータの制御パラメータθ*を直接的に求める手法として、ネルダー・ミード(NelderMead)法等のヒューリスティックアルゴリズムを適用することができる。ネルダー・ミード(NelderMead)法は、シンプレックス法やアメーバ法とも呼ばれ、多角形の探索領域を拡大、縮小、移動させることにより、多次元非線形関数の最小値を探索する非線形最適化法である。
【0141】
図16のフローチャートは、直接最適化アプローチによって制御パラメータの最適制御パラメータを求める手順の一例を示している。
【0142】
直接最適化アプローチによる最適制御パラメータの設計において、初めに制御パラメータの初期値を設定する。ネルダー・ミード(NelderMead)法による直接最適化アプローチでは、設計変数nに対して(n+1)個の初期値ベクトルを用いて目的とする関数を最小化する。
【0143】
PI制御を行う場合には、制御器は制御パラメータθとして、比例ゲインKP、積分ゲインKI、及びフィードバックゲインKLの3つを有する。ネルダー・ミード(NelderMead)法では、3つの制御パラメータに対して、4つの初期値θ1(KP1,KI1,KL1),θ2(KP2,KI2,KL2),θ3(KP3,KI3,KL3),及びθ4(KP4,KI4,KL4)を設定する(SD1)。
【0144】
次に、SD1の工程で設定した制御パラメータの初期値θ1~θ4において、本発明のデータ駆動型シミュレーション法を用いて推定出力値y(k)を求める(SD2)。続いて、SD2の工程で求めた推定出力値y(k)と基準値r(k)とを用いて式(25)により評価関数JDO(θ)を求める(SD3)。
【0145】
ネルダー・ミード(NelderMead)法により制御パラメータθを変化させながら(SD5)、SD2の工程とSD3の工程を繰り返しループして、評価関数JDO(θ)が最小化されるまで行い(SD4)、最適な制御パラメータθを求める。そして、最適化により得られたな制御パラメータθを、最適制御パラメータθ*(KP
*,KI
*,KL
*)として設定する(SD6)。
【0146】
(P2b)反復最適化アプローチ:Iterative Approach
評価関数が制御パラメータθで微分可能であるときには、反復最適化アプローチを適用することにより、最適制御パラメータθ*をより効率的に求めることができる。反復最適化アプローチでは、式(26)の最適制御パラメータθ*を、勾配法を用いて求める。
【0147】
図17は、閉ループ制御系の参照モデルを示している。基準値r(k)とフィードバックした推定出力値y(k;θ)との差分(r(k)-y(k;θ))を制御器Cに入力し、制御器Cで得られた制御信号を制御対象P(z)の入力信号として入力して推定出力値y(k;θ)を出力する。
【0148】
ノミナルモデルM(z)は、閉ループ系の特性を表している。ノミナルモデルM(z)は、任意に与えられた基準値r(k)に対して目的とする目的出力値y
d(k)を出力する。目的出力値y
d(k)は次式(27)で表される。
【数27】
・・・(27)
【0149】
制御器C(z;θ)の伝達関数が制御パラメータθに対して線形分離性を有するときには、以下の式(28)に示すように、C(z;θ)の伝達関数は制御演算のC
0
T(z)と制御パラメータθとの積によって表される。
【数28】
・・・(28)
【0150】
データ駆動型シミュレーションでは、制御器による制御対象の応答を評価する評価関数J
MR(θ)は、基準値r(k)に対する目的出力値y
d(k)と推定出力値y(k;θ)との差分の2ノルムによる以下の式(29)で表される。
【数29】
・・・(29)
【0151】
評価関数J
MR(θ)を制御パラメータθで偏微分して得られる偏微分値は、以下の式(30)で表される。
【数30】
・・・(30)
【0152】
式(30)中の推定出力値y(k;θ)のθの偏微分値は、以下の式(31)で表される。
【数31】
・・・(31)
【0153】
ここで、k=0における初期値の推定出力値y(0;θ)の値はθに依存しない定数であるため、k=0での推定出力値y(k;θ)のθの偏微分値は、以下の式(32)となる。
【数32】
・・・(32)
したがって、推定出力値y(k;θ)の傾きは、式(31)の繰り返し計算によって求められる。
【0154】
また、評価関数J
MR(θ)を最小化する制御器の最適制御パラメータθ
*の候補θ
mは、
【数33】
・・・(33)
を満たす解として得られる。
【0155】
式(33)を満たす最適制御パラメータθ
*の候補θ
m+1は、勾配法を用いて求めることができ、以下の式(34)の繰り返し計算により求められる。
【数34】
・・・(34)
【0156】
式(34)において、H(θ)はヘッセ行列(Hessian matrix)であり、以下の式(35)で表される。
【数35】
・・・(35)
【0157】
式(35)中の推定出力値y(k;θ)のθの2階偏微分は、以下の式(36)で表される。
【数36】
・・・(36)
【0158】
式(31)に含まれる推定出力値y(k;θ)のθの1階偏微分、式(35),(36)に含まれる推定出力値y(k;θ)のθの2階偏微分は、データ駆動型シミュレーション工程による出力推定方法の演算式(17)のya(k)、演算式(18)のyb(k)、演算式(21)のyc(k)で表される推定出力値y(i;θ)を用いて求めることができる。
【0159】
制御パラメータθがK
P,K
I,K
Lの場合には、C
0
T(z)、θはそれぞれ式(37)、式(38)で表される。
【数37】
・・・(37)
【数38】
・・・(38)
【0160】
C0
T(z)の行列は、制御パラメータθのそれぞれに対してフィードバックする変数を設定すると共に、比例,積分,及び微分の制御方法を設定する。また、式(37)のC0
T(z)は、電圧フィードバックに対する比例ゲインKP、電圧フィードバックに対する積分ゲインKI、電流フィードバックに対して比例ゲインKLに対してそれぞれ設定した変数を示している。
【0161】
次に、制御パラメータθが比例ゲインK
Pの場合について示す。式(37)及び式(38)は、制御パラメータθ=K
Pの場合には、電圧フィードバックではC
0
T=[1,0]
Tである。このとき、推定出力値y(k;K
P)のK
Pの1階偏微分は、式(31)から以下の式(39)で表される。
【数39】
・・・(39)
【0162】
推定出力値y(k;K
P)のK
Pの2階偏微分は、式(36)から以下の式(40)で表される。
【数40】
・・・(40)
【0163】
制御パラメータθが、電圧フィードバックに対する積分ゲインKI、及び電流フィードバックに対する比例ゲインKLの場合についても、C0
T=[T/(z-1),0] T、C0
T=[0,1] Tとして1階偏微分値及び2階偏微分値を同様に求めることができる。また、電圧フィードバックに対する比例ゲインKP、及び積分ゲインKI、並びに電流フィードバックに対する比例ゲインKLの制御パラメータθを、それぞれ単独で使用する場合の他、制御パラメータθを任意の組み合わせで使用する場合においても制御パラメータの行列を用いて、1階偏微分値及び2階偏微分値を同様に求めることができる。
【0164】
したがって、式(34)の最適制御パラメータθ*の候補θm+1は、式(35)のヘッセ行列H(θ)、式(31)の推定出力値y(k;θ)のθの1階偏微分、及び式(36)の推定出力値y(k;θ)のθの2階偏微分の演算式を用い、更にこれら1階偏微分値及び2階偏微分値を式(39),(40)を用いることによって勾配法で算出することができる。
【0165】
図18、及び
図19、
図20のフローチャートは、反復最適化アプローチによって制御パラメータの最適制御パラメータを求める手順の一例を示している。
【0166】
反復最適化アプローチによる最適制御パラメータの設計において、式(34)で表される最適制御パラメータθ*を反復計算で求めるために、初めに、制御パラメータの初期値θ1を設定する。制御器が例えばPI制御を行う場合には、制御パラメータθとして比例ゲインKP、積分ゲインKI、及びフィードバックゲインKLの3つゲイン値[KP,KI,KL]を備える(SI1)。
【0167】
次に、式(36)中の制御器Cの伝達関数C
0を設定する。PI制御の場合には、ゲイン[K
P,K
I,K
L]に対する伝達関数C
0
Tは、以下の式(41)で表される(SI2)。
【数41】
・・・(41)
【0168】
次に、m=1とし(SI3)、SI4からSI8の工程を繰り返して最適制御パラメータθ*を求める。続いて、推定出力値y(k;θ)のθの偏微分値∂y(k;θ)/∂θを式(31)により計算し、評価関数JMR(θ)の偏微分値∂JMR(θ)/∂θを求める(SI4)。
【0169】
図19のフローチャートは、SI4において推定出力値y(k;θ)を用いた式(31)の∂y(k;θ)の手順を示している。推定出力値y(k;θ)のθの1階偏微分値∂y(k;θ)/∂θは、θ=K
Pの場合には式(31)を用いて式(39)により表される。ここで、PI制御ではθは[K
P,K
I,K
L]である。
【0170】
次に、iの値をi=0から(s1)順にiの値を増やし(s3)、式(39)の演算(s2)をi=k-1まで繰り返す(s4)。これにより、k個の偏微分値[∂y(0;θ)/∂θ,∂y(1;θ)/∂θ、・・・、∂y(k-1;θ)/∂θ]が求まる(s5)。
【0171】
k個の1階偏微分値[∂y(0;θ)/∂θ,∂y(1;θ)/∂θ、・・・、∂y(k-1;θ)/∂θ]を用いて式(30)の評価関数JMR(θ)の偏微分値∂JMR(θ)/∂θを求める(SI4)。そして、推定出力値y(k;θ)のθの2階偏微分値∂2y(k;θ)/∂θを式(36)により求める(SI5)。
【0172】
図20のフローチャートは、SI5において推定出力値y(k;θ)を用いて、式(36)の∂
2y(i;θ)を算出する手順を示している。推定出力値y(k;θ)のθの2階偏微分値∂
2y(k;θ)/∂θ
T∂θは、θ=K
Pの場合には式(36)を用いて式(40)により表される。ここで、PI制御では、θは[K
P,K
I,K
L]である。
【0173】
次に、iの値をi=0から(s11)順にiの値を増やし(s13)、式(40)の演算(s12)をi=k-1まで繰り返す(s14)。これにより、k個の偏微分値[∂2y(0;θ)/∂θT∂θ,∂2y(1;θ)/∂θT∂θ、・・・、∂2y(k-1;θ)/∂θT∂θ]が求まる(s15)。
【0174】
SI4の工程で求めたk個の1階偏微分値[∂y(0;θ)/∂θ,∂y(1;θ)/∂θ、・・・、∂y(k-1;θ)/∂θ]と、SI5の工程で求めたk個の2階偏微分値[∂2y(0;θ)/∂θT∂θ,∂2y(1;θ)/∂θT∂θ、・・・、∂2y(k-1;θ)/∂θT∂θ]を用いて式(35)のヘッセ行列H(θ)を求める。
【0175】
次に、SI4の工程で求めた評価関数JMR(θ)の偏微分値∂JMR(θ)/∂θと、SI5の工程で求めたヘッセ行列H(θ)と、を式(34)に代入して、制御パラメータの候補θm+1を更新する(SI6)。
【0176】
続いて、変数mを更新し(SI8)、求める制御パラメータの候補θm+1が終了条件を満たしているかを判定する(SI9)。このとき、終了条件を満たしていない場合には、SI4からSI8を繰り返す。終了条件を満たしている場合には、SI6で更新した制御パラメータθmを最適制御パラメータθ*として取得する(SI10)。終了条件の一例として、評価関数JMR(θ)の偏微分値∂JMR(θ)/∂θが予め設定した許容範囲内に収束したことを用いてもよい。
【0177】
(P2c)単一計算アプローチ:Non-Iterative Approach
単一計算アプローチは、反復最適化アプローチで行っていた反復計算を1回の計算で済ませる最適化アプローチである。
【0178】
図21は、開ループ制御系の参照モデルを示している。開ループ制御系では、基準値r(k)を制御器Cに入力し、制御器Cで得られた制御信号を制御対象P(z)への入力信号とし、制御対象P(z)から推定出力値y
O(k;θ)が出力される。一方、基準値r(k)が入力されたノミナルモデルM
O(z)からは目的出力値y
dO(k)が出力される。
【0179】
ノミナルモデルMO(z)は、開ループ制御系の入出力特性を表している。開ループ制御系のノミナルモデルMO(z)は、任意に与えられた基準値r(k)に対して、目的とする目的出力値ydO(k)を出力する。ここで、添え字“O”は開ループ制御系によることを示し、添え字“d”は目的値であることを示している。
【0180】
開ループ制御系におけるノミナルモデルM
O(z)は、閉ループ系におけるノミナルモデルM(z)を用いて以下の式(42)で表される。
【数42】
・・・(42)
【0181】
開ループ制御系の推定出力値yO(k;θ)は、閉ループ系の演算式(17)ではya(k)、演算式(18)ではyb(k)、演算式(21)ではyc(k)の各式で表される推定出力値y(k;θ)を用いて求めることができる。
【0182】
以下、推定出力値y
b(k)を例として説明する。開ループ制御系の推定出力値y
O(k;θ)は、式(18)で表される推定出力値y
b(k)を変形して以下の式(43)の畳み込み演算で表される。
【数43】
・・・(43)
【0183】
式(43)は、推定出力値y
O(k;θ)が制御パラメータθの項と制御パラメータθを含まない項に分離されることを示している。制御パラメータθを含まない項をy
O0
sepT(k)として、以下の式(44)として表記する。
【数44】
・・・(44)
【0184】
式(44)のyO0
sepT(i)は、開ループ制御系の推定出力値から制御パラメータθを線形分離した行列yO0
sep(i)の転置行列であり、yofs(k-i)は、閉ループ系における出力データ、r(i)は入力値、C0
T(z)は制御器から制御パラメータθを線形分離した行列(式(28))の転置行列、yO0
Tは、開ループ系における実験出力データの転置行列、u0
ofs(k-1)は入力データ、u0
ofs(0)は最初の入力データである。
【0185】
制御器による制御対象の応答を評価する評価関数J
O(θ)は、目的出力値y
dOと推定出力値y
Oとの差分の2ノルムによる以下の式(45)で表される。
【数45】
・・・(45)
【0186】
式(45)で表される評価関数J
O(θ)の制御パラメータθによる偏微分∂J
o(θ)/∂θは、以下の式(46)で表される。
【数46】
・・・(46)
【0187】
評価関数J
O(θ)を最小化する制御器の最適制御パラメータθ
*は、次式(47)の偏微分∂J
o(θ)/∂θを0とする値である。
【数47】
・・・(47)
【0188】
ここで、y
O(k;θ)はθに関する線形方程式となるため、最適制御パラメータθ
*は以下の式(48)で表される。
【数48】
・・・(48)
【0189】
式(48)により、最適制御パラメータθ*は、開ループ制御系の推定出力から制御パラメータθを線形分離したデータyO0
sep(k)の転置行列yO0
sepT(k)と目的出力データyd0(k)により求められる。
【0190】
データ駆動型制御シミュレーションの操作点が実験データから逸脱し、シミュレーション精度に影響を及ぼす可能性がある。また、制御器は、制御対象の出力がマイナーフィードバックされる制御系に対応していない。
【0191】
この課題を解決する手段として、最適制御パラメータθ*を式(50)に書き直す。この書き直しは、実験出力データ又は推定出力値の開ループ制御系における出力データy0(i)には基準値r(i)に関する制限がないことから基準値r(i)を以下に示す式(49)のM(z)を設定することで行う。
【0192】
制御器の調整が適切に行われたと想定すると、データ駆動型制御シミュレーションの操作点はM(z)y0(i)の近傍であると想定され、出力データy0(i)と制御器のマイナーフィードバックの項のM(z)y0(i)との差分(y0(i)-M(z)y0(i))は“0”に漸近する。これにより、データ駆動型制御シミュレーションの操作点の実験データからの逸脱が抑制され、マイナーフィードバックの制御系への対応が図られる。
【0193】
基準値r(i)を、上記した差分(y
0(i)-M(z)y
0(i))に基づいて、以下の式(49)に設定する。
【数49】
・・・(49)
【0194】
これにより最適制御パラメータθ
*は、以下の式(50)で表される。
【数50】
・・・(50)
【0195】
式(48),(50)中においてyO0
sep及びyO0
sepTは、開ループ制御系における推定出力値yoから制御パラメータθを線形分離したデータの行列及び転置行列を示している。
【0196】
図22は、式(49)のr(i)を導入したときの開ループ制御系のブロック図を示している。制御器C(z;θ)には、式(49)で書き直された基準値r(i)=(1-M(z))y
0(i)が入力され、データ駆動型制御シミュレーションで得られた制御対象P(z)の出力y
O(k;θ)が出力される。一方、出力データy
0(k)をノミナルモデルM
O(z)に入力することにより得られるM(z)y
O(k)は、フィードバック項を表している。
【0197】
図22の開ループ制御系のブロック図において、y
O(k;θ)は出力項を示し、理想的にチューニングが達成されることを仮定してマイナーループ項をM(z)y
O(i)とすると、式(50)の逆行列の項は開ループ制御系の出力データの分散に相当し、式(50)の分子の項は開ループ制御系の出力データとフィードバック項との共分散に相当するため、式(50)で得られる最適制御パラメータθ
*は、最小二乗法(Least-square(LS)method)による解に相当し、1回の計算により最適制御パラメータが求められる。なお、式(50)中のy
O0
sep(k)は、開ループ制御系における推定出力から制御パラメータθを線形分離したデータである。
【0198】
本発明の制御系は、PID制御、PI制御、PI-D制御の各制御系に適用することができ、最適制御パラメータθ*は、PID制御、PI制御、PI-D制御の制御方法に応じてそれぞれ設定される。例えばPI制御の場合には、制御器の制御パラメータθは比例ゲインKP、積分ゲインKI、微分ゲインKD、フィードバックゲインKLである。
【0199】
図23のフローチャートは、単一計算最適化アプローチによって制御パラメータの最適制御パラメータを求める手順の一例を示している。
【0200】
式(50)で表される最適制御パラメータθ*は、開ループ制御系における推定出力から制御パラメータθを線形分離したデータの行列及び転置行列yO0
sep(k)、yO0
sepT(k)、出力データyO(k)、並びにノミナルモデルM(z)を含む。
【0201】
そこで、式(50)で表される最適制御パラメータθ*を単一の計算で求めるために、制御パラメータθの初期値を設定し(SN1)、出力データyO(k)を取得する(SN2)。次に、開ループ制御系の推定出力値yO(k;θ)を式(43)により求める。式(43)の演算では、k=0における入力データu0(0)、オフセット補償後の入力データu0
ofs(i)、オフセット補償後の出力データy0
ofs(i)、基準値r(i)、制御器から制御パラメータθを線形分離した行列C0(z)、推定出力から制御パラメータθを線形分離したデータを用いる(SN3)。式(50)により最適制御パラメータθ*を求める(SN4)。
【0202】
なお、yO0
sep(k)は、オフセット補償された最初の入力データu0
ofs(0)、閉ループ系のオフセット補償された出力データy0
ofs(i)、入力値r(i)、制御器C0
T(z)、開ループ系における実験出力データの転置行列yO0
T、オフセット補償された入力データu0
ofs(i)を用いて式(44)により得られる。
【産業上の利用可能性】
【0203】
本発明の制御器の設計方法は、制御対象(プラント)として高周波電源(RFジェネレ-タ)の制御パラメータθの設計に適用することができる。
【符号の説明】
【0204】
1 推定出力装置
2 実験データ記憶部
3 推定出力値記憶部
4 推定入力値算出部
5 推定入力値記憶部
6 演算部
6a 畳み込み演算ブロック
6b 畳み込み演算ブロック
6c 加算ブロック
6d 除算ブロック
11 シミュレーション
12 実験
13 シミュレーション
100 閉ループ制御系
100A 閉ループ系
100B 閉ループ系
C 制御器
C0,C0
T 伝達関数
H ヘッセ行列
JDO 評価関数
JMR 評価関数
K 伝達関数
KD 微分ゲイン
KI 積分ゲイン
KL,KiC フィードバックゲイン
KP 比例ゲイン
M,MO ノミナルモデル
N サンプリング数
P(z) 制御対象
SW1、SW2 スイッチ
Uin 入力信号
U(z) 推定入力値
U0(z) 実験入力データ
Vc 出力電圧
Vin 入力電圧
Vr 目標電圧
Yout 出力信号
Y(z) 推定出力値
Y0(z) 実験出力データ
iC コンデンサ電流
iL インダクタ電流
k,m サンプリング時刻
r(k) 基準値
uin 入力信号
u0(k) 実験入力データ
u0
ofs(k) オフセット補償された実験入力データ
u(k) 推定入力値
yout 出力信号
y0(k) 実験出力データ
y0
ofs(k) オフセット補償された実験出力データ
y(k) 推定出力値
y,yO 推定出力値
yO0(k) 開ループ制御系の実験出力データ
yO0
sep 開ループ制御系の推定出力値から制御パラメータθを線形分離したデータ
ydO 目的出力値
u0_offset,um_offset 定常値
y0_offset,ym_offset 定常値
ya,yb,yc 演算式
θ 制御パラメータ
θ* 最適制御パラメータ
θ0 初期パラメータ
φ(u) 非線形性
【要約】
【課題】推定出力値を用いて最な制御パラメータを設計する制御器の設計方法において、制御器の直線性/非直線性にかかわらず推定出力値を推定し、得られた推定出力値を用いて制御器の最適制御パラメータを設計する。
【解決手段】制御器の制御信号を制御対象への制御入力として入力し、制御対象の出力を制御器にフィードバックする閉ループ制御系において、本発明の制御器の設計方法は、
(P1)制御対象の入出力の実験データを用いた時間領域演算に基づいて出力をシミュレートし推定出力値yを取得するデータ駆動型シミュレーション工程と、
(P2)データ駆動型シミュレーション工程で取得した推定出力値yを用いて制御器の最適制御パラメータを求める最適制御パラメータ設計工程と、
を備える。
【選択図】
図1