JP6260214B2 - 情報処理方法、装置及びプログラム - Google Patents

情報処理方法、装置及びプログラム Download PDF

Info

Publication number
JP6260214B2
JP6260214B2 JP2013234459A JP2013234459A JP6260214B2 JP 6260214 B2 JP6260214 B2 JP 6260214B2 JP 2013234459 A JP2013234459 A JP 2013234459A JP 2013234459 A JP2013234459 A JP 2013234459A JP 6260214 B2 JP6260214 B2 JP 6260214B2
Authority
JP
Japan
Prior art keywords
vector
function
state deviation
value
control input
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
JP2013234459A
Other languages
English (en)
Other versions
JP2015095126A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013234459A priority Critical patent/JP6260214B2/ja
Publication of JP2015095126A publication Critical patent/JP2015095126A/ja
Application granted granted Critical
Publication of JP6260214B2 publication Critical patent/JP6260214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Description

本技術は、モデル予測制御に関する。
モデル予測制御は、各時刻において有限時間未来までの応答を最適化することによって制御対象への入力を決定する制御方法である。操作量飽和などの不等式制約条件を陽に扱うことができる制御手法として高い制御性能を期待されている。
このモデル予測制御の適用については様々な分野について考察されているが、ディーゼルエンジンの吸気系制御への適用も考察されている。ディーゼルエンジンの吸気系は、EGR(Exhaust Gas Recirculator:排気循環器)とVNT(Variable Nozzle Turbo:可変ノズルターボ)を用いて、MAF(Mass Air Flow:新気量)とMAP(Manifold Absolute Pressure:吸気圧)を独立に、SISO(Single Input Single Output)としてPID(Proportional, Integral and Differential)制御を行っていることが多い。しかしながら、EGRとVNTは排気を共有して互いに干渉することから、現行の手法では低環境負荷性能を達成するために十分な目標追従性を確保することが難しくなっている。
このため、EGR及びVNTでMAF及びMAPを制御する2入力2出力のMIMO(Multi-Input and Multi-Output)制御が検討されているが、ここでEGRバルブとVNTノズルの操作量の飽和に起因する目標値追従性能の劣化が大きな問題となっている。この問題の解決策として、上で述べたモデル予測制御が期待されている。
しかしながら、吸気系のような応答の速い対象に対してモデル予測制御を適用する場合、大きな課題となるのが、サンプル時間間隔毎に行う最適化計算に要する計算時間である。この問題に対しては様々な取り組みがなされているが、その中で使われる手法が、操作量(制御入力とも呼ぶ)飽和条件付きの最適化問題をペナルティ関数を用いて緩和する方法である。
一方、エンジンなどの制御対象となるプラントに状態制約が存在する場合については、あまり検討がなされていない。そして、どのようにすれば実時間処理における計算時間を抑えることができるかという点については、具体的に考察されていない。
梅田裕平,丸山次人,志村知洋,穴井宏和,"代数的簡略化を用いたモデル予測制御の効率的解法",第11回計測自動制御学会制御部門大会予稿集,171−1−3(2011) Y. Umeda, T. Maruyama, H. Anai, A. Ejiri and K. Shimotani,"A Fast Model Predictive Control Algorithm for Diesel Engines", Proceedings of 4th IFAC Nonlinear Model Predictive Control Conference International Federation of Automatic Control., Paper SuDR.6, 2012. 梅田裕平, 丸山次人, 志村知洋,穴井宏和,下谷 圭司,"ディーゼルエンジンの効率的なモデル予測制御のためのペナルティ関数の設定に関する一考察", 第12回計測自動制御学会制御部門大会予稿集, P0066 (2012) 梅田裕平, 丸山次人, 志村知洋,穴井宏和,下谷 圭司, "GAを用いたディーゼルエンジンの効率的なモデル予測制御のためのペナルティ関数の設定",第3回進化計算学会研究会予稿集, P1-5 (2012)
従って、本技術の目的は、一側面として、モデル予測制御において制御対象の状態制約を適切に取り扱うための技術を提供することである。
本発明の第1の態様に係るオフライン処理方法は、(1)(a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ制御対象の状態方程式に関する第1の関数との和を含む第2の関数をラグランジュ乗数について偏微分することで得られ且つ制御対象の状態偏差及び制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)第2の関数を制御対象の状態偏差について偏微分することで得られ且つ制御対象の状態偏差及びラグランジュ乗数を変数として含む第2の一次式群と、(c)第2の関数を制御対象の線形化制御入力について偏微分することで得られ且つラグランジュ乗数及び制御対象の状態偏差を変数として含む第3の一次式群と、(d)モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から第1の一次式群を読み出して、状態偏差の現在値を除き状態偏差の変数を消し込むように順次代入を行って、第1の一次式群を、状態偏差の現在値と線形化制御入力とを変数として含む第4の一次式群に変形し、(2)データ格納部から第2の一次式群を読み出して、ラグランジュ乗数の変数を消し込むように順次代入を行って、第2の一次式群を、状態偏差を変数として含む第5の一次式群に変形し、(3)データ格納部から第3の一次式群を読み出して、第4の一次式群及び第5の一次式群を代入することで、第3の一次式群を、状態偏差の現在値と線形化制御入力とを変数として含む第6の一次式群に変形し、(4)第6の一次式群を、第1の係数行列と線形化制御入力についてのベクトルとの積が、状態偏差の現在値の関数ベクトルと等式で表されるように変形し、(5)データ格納部に格納されたペナルティ関数をパラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成し、(6)データ格納部から関係式を読み出して、第4の一次式群を関係式に代入することで、関係式を、状態偏差の現在値と線形化制御入力とを変数として含む第7の一次式群に変形し、(7)第7の一次式群から線形化制御入力についての係数を抽出し、ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する処理を含む。
本発明の第2の態様に係る制御方法は、(1)(a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における制御対象に対する線形化制御入力のベクトルとの積が関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)制約条件において制限されるパラメータについてペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から第1の式及び第2の式を読み出して、状態偏差の現在値から得られる、パラメータの基点の値を代入することで、第1の値及び第2の値を算出し、(2)データ格納部から第1の係数行列及び第2の係数行列を読み出して、第2の値と第2の係数行列との積と第1の係数行列との和である第1の行列を算出し、(3)データ格納部から関数ベクトルを読み出して、関数ベクトルに状態偏差の現在値を代入することで得られる第1のベクトルから、((第1の値)−(第2の値とパラメータの基点に関連し且つ状態偏差の現在値又は線形化制御入力の1単位時間前の値から得られる第3の値との積))と係数ベクトルとの積を差し引いた第2のベクトルを算出し、(4)第1の行列の逆行列と第2のベクトルとの積により、線形化制御入力のベクトルを生成し、(5)線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する処理を含む。
一側面によれば、モデル予測制御において制御対象の状態制約をペナルティ関数で適切に取り扱うことができるようになる。
図1は、ディーゼルエンジンの吸気システムの一例を示す図である。 図2は、エンジン制御装置のブロック線図の一例を示す図である。 図3は、オフライン処理装置の機能ブロック図である。 図4は、オフライン処理装置により実行される処理の処理フローを示す図である。 図5は、モデル予測制御部の機能ブロック図を示す図である。 図6は、モデル予測制御部により実行される処理の処理フローを示す図である。 図7は、リチウムイオン電池の等価回路を示す図である。 図8は、第3の実施の形態におけるペナルティ関数の第1の例を示す図である。 図9は、第3の実施の形態におけるペナルティ関数の第2の例を示す図である。 図10は、第3の実施の形態におけるモデル予測制御部により実行される処理の処理フローを示す図である。 図11は、第4の実施の形態におけるペナルティ関数の一例を示す図である。 図12は、コンピュータの機能ブロック図である。 図13は、制御装置の機能ブロック図である。
[実施の形態1]
図1にディーゼルエンジンの吸気システムを示す。ディーゼルエンジンの吸気制御系は、吸気圧制御系と新気量制御系を含む。吸気圧制御系は、排気中の微粒子物質(PM:Particulate Matter)を低減するために、可変ノズルターボVNTのノズル径を制御して吸気圧を吸気圧目標値に追従するようにコントロールしている。一方、新気量制御系は、排気中の窒素酸化物(NOx)を低減するために、排気をシリンダ内に再循環させる排気循環器EGRのバルブ開度を制御して新気量を新気量目標値に追従するようにコントロールしている。
すなわち、エンジン本体1には、エンジン本体1からの排ガスを供給する排気循環器EGRと、排ガスの圧力にてタービンを回して新気(Fresh Air)を圧縮してエンジン本体1に供給する可変ノズルターボVNTとが接続されている。可変ノズルターボVNTのノズル開度を調整することによって、可変ノズルターボVNTのタービンの回転が調整され、吸気圧(MAP)センサで測定される吸気圧(MAP)が調整される。一方、排気循環器EGRに設けられているEGRバルブのバルブ開度を調整することによって、新気量(MAF)センサで測定される新気量(MAF)が調整される。
本実施の形態に係るエンジン制御装置1000には、MAPセンサからの吸気圧測定値と、MAFセンサからの新気量測定値と、外部から与えられる燃料噴射量の設定値と、同じく外部から与えられるエンジン回転数の設定値とが入力されるようになっている。また、エンジン制御装置1000からは、EGRバルブのバルブ開度の操作量がEGRバルブに出力され、VNTノズルのノズル開度の操作量がVNTノズルに出力されるようになっている。
以下、エンジンをプラントの一例として説明するが、本実施の形態の適用範囲は、エンジンに限られない。
本実施の形態に係るエンジン制御装置1000のブロック線図を図2に示す。エンジン制御装置1000は、計画器210と、モデル予測制御部220と、変換部225とを有する。プラント240は、例えばモデル化されたエンジン特性に相当し、EGRバルブ及びVNTノズルの開度には物理的に制限があるため、飽和要素230も設けられている。すなわち、プラント240への操作量は、飽和要素230による制限を受ける。
このようなエンジン制御装置1000の計画器210には、燃料噴射量の設定値とエンジン回転数の設定値とが入力されて、燃料噴射量の値及びエンジン回転数の値に対応付けてEGRバルブの状態目標値及びVNTノズルの状態目標値Vref、燃料噴射量の値及びエンジン回転数の値に対応付けて吸気圧MAPの目標値及び新気量MAFの目標値Xrefが登録されている。本実施の形態では、計画器210は、EGRバルブの状態目標値及びVNTノズルの状態目標値Vref、及び吸気圧MAPの目標値及び新気量MAFの目標値Xrefを出力する。
この目標値Xrefとプラント240からの出力y(例えばMAFセンサ出力及びMAPセンサ出力)との差が、モデル予測制御部220に入力される。モデル予測制御部220は、以下で述べるモデル予測制御の処理を実施して、線形化制御入力uを出力する。この線形化制御入力uは、以下で説明する変換部225(g-1)で、EGRバルブの状態及びVNTノズルの状態vに変換される。そして、状態vと、計画器210からの状態目標値Vrefとは加算されて操作量が生成され、当該操作量が飽和要素230を介してプラント240に入力される。このような処理が繰り返される。
このようなエンジン本体1の吸気系システムは、EGRバルブ及びVNTノズルについて非線形であり、エンジンのモデルとしても、エンジン回転数ω及び燃料噴射量σに応じて非線形に変化する。
ここで、エンジン回転数ω及び燃料噴射量σが固定であるとして、エンジンモデルは、以下のように定式化される。
Figure 0006260214
ここでAω(k),σ(k)及びBω(k),σ(k)は、時刻kにおける運転条件(ω(k),σ(k))によって変化する非線形の2×2行列関数である。なお、時刻kにおける回転数をω(k)と表し、燃料噴射量をσ(k)と表す。また、時刻kにおけるMAFの状態偏差をxmaf(k)と表し、MAPの状態偏差をxmap(k)と表す。また、時刻kにおけるMAFの測定値をymaf(k)と表し、MAPの測定値をymap(k)と表す。さらに、時刻kにおけるEGRバルブの状態をvegr(k)と表し、VNTノズルの状態をvvnt(k)と表す。また、吸気圧MAPの目標値をXmap refと表し、新気量MAFの目標値をXmaf refと表す。
従って、状態偏差ベクトルx(k)、測定値ベクトルy(k)、目標値ベクトルXref(k)及び状態ベクトルv(k)は、以下のように表される。
Figure 0006260214
x(k)、y(k)及びXref(k)の関係は以下のようになっている。
Figure 0006260214
また、非線形関数gを以下のように表す。
Figure 0006260214
1及びg2は、単調増加関数である。実験データからすると、このような仮定は妥当性がある。非線型モデルでは計算速度等から取り扱いが困難なため、以下では、非線形なエンジンモデルを線型モデルに変換する。そこで、上で述べた線形化制御入力uegr及びuvntを導入することで、線形化する。
Figure 0006260214
なお、線形化制御入力ベクトルu(k)を以下のように表す。
Figure 0006260214
本実施の形態では、典型的な運転条件を選択して、セットポイントと呼ぶことにする。そして、モデル予測制御部220は、運転条件(ω(k),σ(k))を取得すると、対応するセットポイントについてのω及びσについての行列Aω,σ及びBω,σを選択し、以下で述べる処理を行って線形化制御入力uを算出する。また、変換関数225は、線形化制御入力uを、変換関数g-1により非線形の最適状態vに変換する。この最適状態vと状態目標値Vrefとは加算されて操作量が生成され、エンジンのプラント240に出力される。
モデル予測制御部220は、セットポイントについて最適な線形化制御入力uを、1サンプル時間毎に、以下の線形モデルに従って算出する。
Figure 0006260214
但し、線形化制御入力uについての制約条件は以下のとおりである。
Figure 0006260214
例えば、ω=2000rpm、σ=20mm3/stの場合、以下のような行列が用いられる。
Figure 0006260214
Figure 0006260214
各時刻kについての線形化制御入力uは、以下に示すような評価関数Jを最小化することで決定される。なお、予測ホライズンHp及び制御ホライズンHcは、予め設定されるものとする。
Figure 0006260214
ここで、QTは行列Qの転置行列である。また、Q∈M(n,R)、R∈M(n,R)及びS∈M(n,R)は、重み行列であり、予め設定される。なお、M(n,R)はn×n行列を表す。(9)式において、無限ホライズンについての最適化問題を、有限ホライズンについての最適化問題にしており、このため、Ricatti代数方程式を解く行列として重み行列Sを用いている。
本実施の形態では、モデル予測制御の問題は、有限ホライズンの最適制御問題を解くことに変形される。
Figure 0006260214
ここで、xは、現在の状態偏差ベクトルを表す。
最適解を求める手法として、ラグランジュの未定乗数法が効率的であるが、不等式制約がある場合にはこの手法をそのまま用いることができない。従って、不等式制約の代わりにペナルティ関数を導入して、不等式制約のない評価関数に緩和する。
すなわち、以下のような評価関数Jbに緩和する。
Figure 0006260214
ここで、p(u(k+i))はペナルティ関数であり、入力値u(k+i)が、可能な値域の境界に近づくと、大きな値を評価関数Jに加えることになる。
一般的に、不等式制約u≦umaxに対して用いられるペナルティ関数としては以下のようなものがある。
Figure 0006260214
rは、ペナルティ関数の係数であり、不等式制約に対する重みを表している。
本実施の形態では、以下の演算のためには、(c)のようなシンプルなペナルティ関数が好ましいので、(c)を用いることにする。
ディーゼルエンジンの場合、線形化制御入力uには以下のような制約が存在する。
Figure 0006260214
(c)のような形のペナルティ関数を採用する場合には、ペナルティ関数は以下のように表される。
Figure 0006260214
(15)式を用いて制約条件を緩和する場合、以下に示すような、有限ホライズンについての最適制御問題を解くことに帰着する。
Figure 0006260214
このような最適制御問題を解くためには、ラグランジュの未定乗数法が用いられる。ここで、ラグランジュ乗数λ(j)=[λmaf(j),λmap(j)]Tを用い、ハミルトニアンHを以下のように表す。
Figure 0006260214
ここで、Х(χの大文字)は、以下のように定義される。
Figure 0006260214
x,u,λH=0と置けば、以下のような方程式が得られる。
Figure 0006260214
なお、(20)式において∂Jb/∂x=∂J/∂x+∂p(u)/∂x=∂J/∂xと変形されている。
なお、∂/∂x,∂/∂u,∂/∂λは、以下のような演算である。
Figure 0006260214
なお、方程式(20)乃至(22)は、∂p/∂uの部分を除き線形方程式となっている。∂p/∂uを、直前のステップの最適線形化制御入力u~(”~”はuの上に付される)でテイラー展開することで線形化すると、以下のように表される。
Figure 0006260214
(23)式の第1項のEGR成分は、以下のように表される。なお、VNT成分も同様の形で表される。
Figure 0006260214
このような線形近似を行えば、(20)乃至(22)式は線形となる。そうすると、線形近似された(20)乃至(22)式は以下のように表される。
Figure 0006260214
ここでMは、(2Hp+Hc)×(2Hp+Hc)の行列であり、U及びbは、(2Hp+Hc)ベクトルである。ベクトルUは、以下のように表される。
Figure 0006260214
また、ベクトルbは、以下のように表される。なお、bmaf、bmap及びbconstは、行列の変換によって算出される(2Hp+Hc)行列である。
b=xmafmaf+xmapmap+bconst (27)
最適な線形化制御入力は、この線形方程式を解くことによって得られる。しかしながら、行列Mのサイズが大きければ計算時間は長くなってしまうので、行列Mのサイズをオフラインの前処理にて削減する。
まず、(22)式の第1乃至第3の方程式を具体的に書き下すと以下のようになる。
Figure 0006260214
(28−1)式及び(28−2)式の状態偏差xmaf(k)及びxmap(k)は、現在値である。従って、(28−1)式によれば、xmaf(k+1)は線形化制御入力u(k)の1次式で表される。(28−2)式によれば、xmap(k+1)も、線形化制御入力u(k)の1次式で表される。また、(29)式によれば、xmaf(k+2)は、状態偏差及び線形化制御入力の1次式で表される。しかしながら、(28−1)式及び(28−2)式を(29)式に代入すると、xmaf(k+2)を、線形化制御入力u(k)及びu(k+1)で表すことができるようになる。これをiを増加させつつ繰り返せば、状態偏差xmaf(k+i)及びxmap(k+i)は、線形化制御入力の1次式として以下のように表される。
Figure 0006260214
一方、(20)式の(2Hp−1)番目及び(2Hp−3)番目の方程式を具体的に書き下すと以下のようになる。
Figure 0006260214
ここで、s11、s22、r11は、重み行列S及びRの行列成分を表す。
この(31)式及び(32)式は、λmaf(Hp)及びλmap(Hp)の一次式で表されることが分かる。そこで、(31)式及び(32)式を、(33)式に代入すると、λmaf(Hp−1)が、目標値Xref maf、状態偏差x(k+Hp)及びx(k+Hp−1)で表すことができる。このような処理をiを減少させつつ順次行うことで、ラグランジュ乗数λ(k+i)は、以下のように表される。
Figure 0006260214
さらに、(30)式を(34)式に代入することで、ラグランジュ乗数λ(k+i)は、線形化制御入力u(k)の一次式に変形される。
Figure 0006260214
最後に、(30)式及び(35)式を、(21)式に代入すると、以下のように表される。
Figure 0006260214
このように、(21)式は、状態偏差の初期値x(k)及び線形化制御入力uの一次式で表すことができるようになる。そうすると、(36)式は、以下の形式に直すことができる。
Figure 0006260214
ここでM2はHc×Hc行列である。U2及びb2は、以下のような形のベクトルである。
Figure 0006260214
Figure 0006260214
なお、b2maf、b2map及びb2constは、行列の変換によって算出される(2Hp+Hc)行列である。
このような処理を数式処理を用いてオフラインで行っておけば、エンジン制御装置1000では、(37)式を解く演算を行えばよい。行列M2のサイズは、行列Mよりも小さくなっており、計算量も削減されるため、高速に制御入力を得ることができるようになる。
次に、制御入力に加えて、一般的な状態制約を導入する場合を考える。例えばディーゼルエンジンでは、燃費効率を上げるために、運転時にエンジン本体に送る気体の空気過剰率(一般的にはλを用いて表すが、ここでは記号の重複を避けるためにτを用いる)を一定以上に保つことを求められる。
空気過剰率τは、各運転条件(すなわち回転数及び燃料噴射料)に応じて、各時刻k+iに対し、MAF及びMAPの状態偏差ベクトルx(k+i)と線形化入力ベクトルu(k+i)を用いて以下のように近似される。
Figure 0006260214
ここで、行列C及びDは、1行2列行列である。
モデル予測制御を用いた、ディーゼルエンジンのMAF及びMAP制御には、以下のような空気過剰率τの制約条件を、各時刻に対して適用する。
Figure 0006260214
よって、モデル予測制御の問題は、以下のように表される。
Figure 0006260214
τ0は、空気過剰率の初期値である。
しかしながら、このままではモデル予測制御問題が不等式制約を含む問題となり、現実的には解けないので、例えば、以下に示すようなペナルティ関数を導入することで、不等式制約問題を等式制約問題に緩和する。
Figure 0006260214
ここでは、評価関数Jbに対して(41)式のペナルティ関数を加える。そうすると、以下のように表される。
Figure 0006260214
また、(40−2)式から各時刻のτ(k+i)は、具体的には以下のように表される。
Figure 0006260214
そして、(30)式を(42)式に代入すれば、τ(k+i)は、以下のように書き下される。
Figure 0006260214
そうすると、τ(k+i)は、全てのiについて、u(0)乃至u(Hc−1)の関数であるので、(42)式のペナルティ関数についてもu(0)乃至u(Hc−1)の関数と考えることができる。よって、入力制約について(20)式乃至(22)式で記述された最適化問題は、以下のように変形される。
Figure 0006260214
このような(46)式乃至(48)式を解くことになるが、そのためには状態についてのペナルティ関数に関する∂qb(x)/∂uを線形化する。
まず、∂qb(τ(k+i))/∂uegr(k+j)は以下のように表される。また、(43)式から、2行目も得られる。
Figure 0006260214
次に、(51)式中の∂qb(τ(k+i))/∂τ(k+i)を線形化する。その際、以下の最適な線形化制御入力u~で1次のテイラー展開を行うと、∂qb(τ(k+i))/∂τ(k+i)は以下のように表される。
Figure 0006260214
Figure 0006260214
また、(51)式と同様に、以下のように表される。
Figure 0006260214
従って、以下のような近似式を得られる。
Figure 0006260214
よって、(51)式及び(54)式を組み合わせると、以下のような近似式が得られる。
Figure 0006260214
ここで、近似のためペナルティ関数部分の変数として代入するτのベースポイントを設定する。x~(k+i)(”~”はxの上に載っているものとする)を、u~に対応する状態偏差ベースポイントと設定する。そして、短い時間における状態偏差の値の変動は小さいので、xbase(k)は以下のように表される。
Figure 0006260214
従って、(40−2)式から、τのベースポイントτbase(k)は、以下のように表される。なお、u*(k−1)は、1単位時間前の最適な線形化制御入力である。
Figure 0006260214
このようなベースポイントτbase(k)を用いると、(43)式は以下のように変形される。
Figure 0006260214
ここで(57)式を、以下のように表す。
Figure 0006260214
さらに、τ(k+i)をτbase(k)と近似すれば、{∂2b(τ(k+i))/∂τ(k+i)2}(u~)は、全てのiについてτbase(k)に関して同じ関数になる。同様に、{∂qb(τ(k+i))/∂τ(k+i)}(u~)は、全てのiについてτbase(k)に関して同じ関数になる。
以下、ペナルティ関数のτについての一階偏微分を∂(τ)と表し、二階偏微分を∂2(τ)と表し、τ=τbase(k)についての∂(τbase(k))及び∂2(τbase(k))によって、(55)式は以下のように表される。
Figure 0006260214
この(62)式から、以下のような近似も行われる。
Figure 0006260214
さらに、この(63)式から、以下のような近似も行われる。
Figure 0006260214
ここで、Λl及びνlは以下のように表される。
Figure 0006260214
Figure 0006260214
なお、Λlにおけるpは2j+1で固定で、qについては、1からHcまで増加する。すなわち、Λlは、1行Hc列の行列である。
従って、(64)式及び(37)式から、状態についてのペナルティ関数を伴う最適化問題は、以下のように緩和される。
Figure 0006260214
(65)式をエンジン制御装置1000で解くためには、M2、b2、Λ及びνlを予めオフラインで用意しておき、ペナルティ関数のτについての一階偏微分∂(τ)と、二階偏微分∂2(τ)を予めオフラインで算出しておく。そして、エンジン制御装置1000では、τbase(k)を(56)式で算出するとともに、∂(τbase(k))及び∂2(τbase(k))を算出し、さらにdl(τbase(k))を(58)式で算出する。そして(65)式を解くことになる。
次に、本実施の形態に係るオフライン処理装置100の機能ブロック図を図3に示す。本実施の形態では、オフライン処理装置100は、入力部101と、入力データ格納部102と、第1変形処理部103と、第1データ格納部104と、第2変形処理部105と、第2データ格納部106と、第3変形処理部107と、第3データ格納部108と、第1行列生成部109と、第4データ格納部110と、第2行列生成部111と、微分処理部112とを有する。
次に、オフライン処理装置100の処理内容を図4を用いて説明する。まず、入力部101は、ユーザからの入力データとして、行列A、B、C、D、S及びR、予測ホライズンHp及び制御ホライズンHcなどの値の入力を受け付け、入力データ格納部102に格納する(図4:ステップS1)。なお、入力データ格納部102に格納されていない場合には、(46)乃至(48)式のデータも入力部101を介して入力データ格納部102に格納されるものとする。同様に、入力制約に係る項の式のデータ((24)式)についても同様に、入力データ格納部102に格納されており、格納されていない場合には入力部101を介して入力される。さらに、状態偏差ベクトルx(k+i)と線形化入力ベクトルu(k+i)を用いて表されるτ(k+i)に係る式のデータについても同様に、入力データ格納部102に格納されており、格納されていない場合には入力部101を介して入力される。
次に、第1変形処理部103は、入力データ格納部102に格納されているデータを用いて、状態偏差xについての第1変形処理を実行し、処理結果を第1データ格納部104に格納する(ステップS3)。(22)式に由来する(28−1)及び(28−2)式を(29)式に代入する処理をiを増加させながら繰り返して実行し、状態偏差ベクトルについての(30)式を生成する処理を実行する。
本実施の形態では、さらに、第1変形処理部103は、入力データ格納部102に格納されているデータを用いて、制約されるパラメータである空気過剰率τについての変形処理を実行し、処理結果を第1データ格納部104に格納する(ステップS4)。(30)式を(42)式に代入することで、(43)式に示すようにτ(k+i)は書き下される。
また、第2変形処理部105は、入力データ格納部102に格納されているデータを用いて、ラグランジュ乗数λについての第2変形処理を実行し、処理結果を第2データ格納部106に格納する(ステップS5)。(20)式に由来する(31)及び(32)式を(33)式に代入する処理をiを減少させながら繰り返して実行し、(34)式を生成する処理を実行する。
さらに、第3変形処理部107は、第1データ格納部104及び第2データ格納部106に格納されているデータを用いて、ラグランジュ乗数λについての第3変形処理を実行し、処理結果を第3データ格納部108に格納する(ステップS7)。(30)式を(34)式に代入する処理を実行して、(35)式を生成する。
そして、第1行列生成部109は、(30)式(第1データ格納部104に格納されている)及び(35)式(第3データ格納部108に格納されている)を(21)式(入力データ格納部102に格納されている)に代入して連立方程式(36)式を生成し、これを(37)式の形に変形することで、行列M2及びb2を算出し、第4データ格納部110に格納する(ステップS9)。ステップS4以外のここまでの処理は、特開2012−194960号公報に記載の技術とほぼ同様である。
その後、第2行列生成部111は、第1データ格納部104に格納されているτについての変形処理の結果((43)式)を用いて、入力データ格納部102に格納されている式に従って、係数行列Λl及び係数ベクトルνlを生成し、第4データ格納部110に格納する(ステップS11)。
さらに、微分処理部112は、第1データ格納部102に格納されている、状態制約に対するペナルティ関数のτについての1階偏微分関数∂(τ)と、2階偏微分関数∂2(τ)を生成し、第4データ格納部110に格納する(ステップS13)。1階偏微分関数及び2階偏微分関数の生成については、周知であるからここでは説明を省略する。
以上のような処理を実行することで、エンジン制御装置1000の処理負荷を大幅に削減でき、処理速度を高速化できる。
次に、図5にエンジン制御装置1000におけるモデル予測制御部220の構成例を示す。モデル予測制御部220は、微分値算出部2201と、行列算出部2202と、出力生成部2203と、データ格納部2205とを有する。
データ格納部2205には、第4データ格納部110に格納されているデータが格納される。
次に、図6を用いて、エンジン制御装置1000におけるモデル予測制御部220の処理内容について説明する。
まず、モデル予測制御部220は、x(k)(=Xref(k)−y(k))を取得する(図6:ステップS21)。
そうすると、モデル予測制御部220は、関数ベクトルb2にx(k)を代入して関数ベクトルb2を数値ベクトル化する(ステップS23)。
また、微分値算出部2201は、制約されるパラメータのベースポイントの値であるτbase(k)((56)式)を算出し、データ格納部2205に格納されているペナルティ関数の1階偏微分関数∂(τ)と、2階偏微分関数∂2(τ)にτbase(k)を代入し、∂(τbase(k))及び∂2(τbase(k))を求める(ステップS25)。
そして、行列算出部2202は、M3及びb3を算出する(ステップS27)。
(65)式の左辺におけるベクトルU2以外の部分である(M2+∂2(τbase(k))Λl)がM3である。また、(65)式の右辺がb3である。すなわち、b3=b2−(∂(τbase(k))−∂2(τbase(k))dl(τbase(k))νlである。b3を算出するためには、dl(τbase(k))を、(58)式で算出する。
そして、出力生成部2203は、U=M-1 33によってベクトルUを算出する(ステップS29)。さらに、出力生成部2203は、ベクトルUから線形化制御入力u(k)(i=0)を抽出し、出力する(ステップS31)。
その後、モデル予測制御部220は、処理が終了するのかを判断し(ステップS33)、処理終了でなければ処理はステップS21に戻り、処理終了であれば処理は終了する。
以上のような処理で分かるように、オフライン処理によって算出されているデータを活用でき、M3のサイズも削減されているので、状態制約についてのペナルティ関数を導入することでステップS25及びS27が追加されていても、高速に線形化制御入力を得ることができるようになる。さらに、ペナルティ関数の近似も適切に行われており、高い精度で適切な制御がなされるようになる。
なお、エンジンの制御だけではなく、例えばリチウムイオン電池の充放電制御に適用しても良い。リチウムイオン電池の等価回路を図7に示す。リチウムイオン電池の端子電圧V(k)は、充電率SoC(k)と係数aの積と、抵抗R1及び容量C1が並列に接続された部分の電圧v(k)と、直列等価抵抗R0と流れる電流i(k)との積との和で表される。すなわち、以下の式で表される。
Figure 0006260214
また、充電率SoC(k)は、以下のような関係式に従って変化する。なお、FCは蓄電池の最大蓄積容量を表す。
Figure 0006260214
さらに、電圧v(k)は、以下のような関係式に従って変化する。
Figure 0006260214
一方、状態偏差ではなく、状態についての一般的なモデル予測制御は、以下のように表される。
Figure 0006260214
そうすると、リチウムイオン電池の場合、電圧v(k)と充電率SoC(k)を状態x、端子電圧V(k)を出力y、電流i(k)を入力u(k)として扱えば、以下のように表される。
Figure 0006260214
ここで、ymin<y(k)<ymaxという制約条件を適用する場合には、以下のようなペナルティ関数を導入する。
Figure 0006260214
これは、上で述べた(41)式と同様の形を有する。
また、(30)式相当の式は、以下のように表されるので、(101)式をそれらの式に代入する。そうすると、(43)式相当の式が得られるようになる。
Figure 0006260214
Figure 0006260214
以上のようにすれば、上で述べたのと同様の式の変形ができる。
[実施の形態2]
上で述べたようなディーゼルエンジンでは、MAF及びMAPを変化させる制御を行うが、耐久性の問題から、MAF及びMAPの急激な変化は避けることが好ましい。
本実施の形態では、モデル予測制御を用いた、ディーゼルエンジンのMAF及びMAP制御において、MAF及びMAPの急激な変化を抑制するための制約を加えるものとする。但し、説明を簡単にするためにMAFの急激な変化を抑制する制約のみを考えるものとする。
このような問題は、以下のように表される。
Figure 0006260214
(201−5)式に対してペナルティ関数qcは、以下のように表される。
Figure 0006260214
そうすると、モデル予測制御の目的関数は、以下のように表される。
Figure 0006260214
上でも述べたように、MAFのみ取り扱うので、(201−2)式から、以下の式が得られる。
Figure 0006260214
そうすると、(30)式を(203)式に代入すると、(43)式相当の式が得られる。
Figure 0006260214
そうすると、dx(k+i)は、全てのiについて、u(0)乃至u(Hc−1)の関数であるので、(202)式のペナルティ関数についてもu(0)乃至u(Hc−1)の関数と考えることができる。よって、入力制約について(20)式乃至(22)式で記述された最適化問題は、以下のように変形される。
Figure 0006260214
このような(204)式乃至(206)式を解くことになるが、そのためには状態についてのペナルティ関数に関する∂qc(x)/∂uを線形化する。
まず、∂qc(dxmaf(k+i))/∂uegr(k+j)は以下のように表される。
Figure 0006260214
次に、(208)式中の∂qc(dxmaf(k+i))/∂dxmaf(k+i)を線形化する。その際、以下の最適な線形化制御入力u~で1次のテイラー展開を行うと、∂qc(dxmaf(k+i))/∂dxmaf(k+i)は以下のように表される。
Figure 0006260214
Figure 0006260214
また、(208)式と同様に、以下のように表される。
Figure 0006260214
従って、以下のような近似式を得られる。
Figure 0006260214
よって、(208)式及び(211)式を組み合わせると、以下のような近似式が得られる。
Figure 0006260214
ここで、近似のためペナルティ関数部分の変数として代入するdxmafのベースポイントを設定する。この場合近似は行わずとも、ベースポイントdxbase maf(k)は以下のように表される。
Figure 0006260214
ディーゼルエンジンの特性上、状態の変化は入力の影響が支配的になるため、初期値の影響が状態の変化に与える影響は極めて小さいものとして取り扱って近似できる。従って、(204)式の定数部分は、(211)式から以下のように近似される。
Figure 0006260214
さらに、dx~maf(k+i)をdxbase maf(k)と近似すれば、{∂2c(dxmaf(k+i))/∂dxmaf(k+i)2}(u~)は、全てのiについてベースポイントdxbase maf(k)に関して同じ関数になる。同様に、{∂qc(dxmaf(k+i))/∂dxmaf(k+i)}(u~)は、全てのiについてベースポイントdxbase maf(k)に関して同じ関数になる。
以下、ペナルティ関数のdx(ここではdxmaf)についての一階偏微分を∂(dx)と表し、二階偏微分を∂2(dx)と表し、dx=dxbase maf(k)についての∂(dxbase maf(k))及び∂2(dxbase maf(k))によって、(212)式は以下のように表される。
Figure 0006260214
この(215)式から、以下のような近似も行われる。
Figure 0006260214
さらに、この(216)式から、以下のような近似も行われる。
Figure 0006260214
ここで、Λd及びνdは以下のように表される。
Figure 0006260214
Figure 0006260214
なお、Λdにおけるpは2j+1で固定で、qについては、1からHcまで増加する。すなわち、Λdは、1行Hc列の行列である。
従って、(217)式及び(37)式から、状態についてのペナルティ関数を伴う最適化問題は、以下のように緩和される。
Figure 0006260214
(218)式をエンジン制御装置1000で解くためには、M2、b2、Λd及びνdを予めオフラインで用意しておき、ペナルティ関数のdxmafについての一階偏微分∂(dx)と、二階偏微分∂2(dx)を予めオフラインで算出しておく。そして、エンジン制御装置1000では、dxbase maf(k)を(213)式で算出するとともに、∂(dxbase maf(k))及び∂2(dxbase maf(k))を算出する。そして(218)式を解くことになる。
なお、上ではdxmafについて状態制約を設ける例を示したが、dxmapについて状態制約を設けるようにしてもよいし、それら両方に状態制約を設けるようにしてもよい。基本的な処理は上で述べたとおりである。
なお、本実施の形態に係るオフライン処理装置100は、図3に示したものと同様の構成を有する。
次に、オフライン処理装置100の処理内容も、おおよそ第1の実施の形態と同様であるから、図4を用いて説明する。まず、入力部101は、ユーザからの入力データとして、行列A、B、S及びR、予測ホライズンHp及び制御ホライズンHcなどの値の入力を受け付け、入力データ格納部102に格納する(図4:ステップS1)。なお、入力データ格納部102に格納されていない場合には、(205)乃至(207)式のデータも入力部101を介して入力データ格納部102に格納されるものとする。同様に、入力制約に係る項の式のデータ((24)式)についても同様に、入力データ格納部102に格納されており、格納されていない場合には入力部101を介して入力される。状態偏差の変化量dx(k+i)(=x(k+i)−x(k+i−1))に係る式のデータについても同様に、入力データ格納部102に格納されており、格納されていない場合には入力部101を介して入力される。
次に、第1変形処理部103は、入力データ格納部102に格納されているデータを用いて、状態偏差xについての第1変形処理を実行し、処理結果を第1データ格納部104に格納する(ステップS3)。(22)式に由来する(28−1)及び(28−2)式を(29)式に代入する処理をiを増加させながら繰り返して実行し、状態偏差ベクトルについての(30)式を生成する処理を実行する。
本実施の形態では、さらに、第1変形処理部103は、入力データ格納部102に格納されているデータを用いて、制約されるパラメータである状態偏差の変化量dxについての変形処理を実行し、処理結果を第1データ格納部104に格納する(ステップS4)。制約条件が異なるので、このステップは第1の実施の形態とは異なる。(30)式を(203)式に代入することで、(204)式に示すようにdx(k+i)は書き下される。
また、第2変形処理部105は、入力データ格納部102に格納されているデータを用いて、ラグランジュ乗数λについての第2変形処理を実行し、処理結果を第2データ格納部106に格納する(ステップS5)。(20)式に由来する(31)及び(32)式を(33)式に代入する処理をiを減少させながら繰り返して実行し、(34)式を生成する処理を実行する。
さらに、第3変形処理部107は、第1データ格納部104及び第2データ格納部106に格納されているデータを用いて、ラグランジュ乗数λについての第3変形処理を実行し、処理結果を第3データ格納部108に格納する(ステップS7)。(30)式を(34)式に代入する処理を実行して、(35)式を生成する。
そして、第1行列生成部109は、(30)式(第1データ格納部104に格納されている)及び(35)式(第3データ格納部108に格納されている)を(21)式(入力データ格納部102に格納されている)に代入して連立方程式(36)式を生成し、これを(37)式の形に変形することで、行列M2及びb2を算出し、第4データ格納部110に格納する(ステップS9)。
その後、第2行列生成部111は、第1データ格納部104に格納されているdxについての変形処理の結果((204)式)を用いて、入力データ格納部102に格納されている式に従って、係数行列Λd及び係数ベクトルνdを生成し、第4データ格納部110に格納する(ステップS11)。このステップについても第1の実施の形態とは異なる。
さらに、微分処理部112は、第1データ格納部102に格納されている、状態偏差の変化量についてのペナルティ関数におけるτについての1階偏微分関数∂(dx)と、2階偏微分関数∂2(dx)を生成し、第4データ格納部110に格納する(ステップS13)。1階偏微分関数及び2階偏微分関数の生成については、周知であるからここでは説明を省略する。
以上のような処理を実行することで、エンジン制御装置1000の処理負荷を大幅に削減でき、処理速度を高速化できる。
また、エンジン制御装置1000におけるモデル予測制御部220の構成例は、第1の実施の形態と同様である。
データ格納部2205には、第4データ格納部110に格納されているデータが格納される。
次に、エンジン制御装置1000におけるモデル予測制御部220の処理内容についても、第1の実施の形態と同様であるから、図6を用いて説明する。
まず、モデル予測制御部220は、x(k)(=Xref(k)−y(k))を取得する(図6:ステップS21)。
そうすると、モデル予測制御部220は、関数ベクトルb2にx(k)を代入して関数ベクトルb2を数値ベクトル化する(ステップS23)。
また、微分値算出部2201は、制約されるパラメータのベースポイントの値であるdxbase maf(k)((213)式)を算出し、データ格納部2205に格納されているペナルティ関数の1階偏微分関数∂(dx)と、2階偏微分関数∂2(dx)にdxbase maf(k)を代入し、∂(dxbase maf(k))及び∂2(dxbase maf(k))を求める(ステップS25)。ここは第1の実施の形態とは異なる。
そして、行列算出部2202は、M3及びb3を算出する(ステップS27)。
(218)式の左辺におけるベクトルU2以外の部分である(M2+∂2(dxbase maf(k))Λd)がM3である。また、(218)式の右辺がb3である。すなわち、b3=b2−(∂(dxbase maf(k))−∂2(dxbase maf(k))dxbase maf(k))νdである。b3を算出するためには、dxbase maf(k)を、(213)式で算出する。ここは第1の実施の形態とは異なる。
そして、出力生成部2203は、U=M-1 33によってベクトルUを算出する(ステップS29)。さらに、出力生成部2203は、ベクトルUから線形化制御入力u(k)(i=0)を抽出し、出力する(ステップS31)。
その後、モデル予測制御部220は、処理が終了するのかを判断し(ステップS33)、処理終了でなければ処理はステップS21に戻り、処理終了であれば処理は終了する。
[実施の形態3]
実際に制御を行う場合、空気過剰率τが制限値を超えてしまう場合や、多少制限値を超えることを許容する場合もある。この場合でも、できるだけ過剰に制限値を超えることは避けることが好ましい。
この場合には、例えば、以下のようなペナルティ関数を採用する。
Figure 0006260214
このペナルティ関数は、図8に示すように変化する関数である。このように、τがτmin以下となるqbが指数関数的に増加する。
さらに、設計者によっては空気過剰率τが、所望する目標値周辺で推移するような制御を行う場合もある。
この場合も、過度に目標値から離れることを抑制するために、目標値想定推移区間をτminからτmaxとした場合、以下のようなペナルティ関数を採用する場合もある。
Figure 0006260214
このペナルティ関数は、図9に示すように変化する関数である。すなわち、τmin乃至τmaxの間qbは「0」となるが、その区間を離れるほどqbは指数関数的に増加する。
さらに、空気過剰率τをより目標値τrefに近づけたい場合には、以下のようなペナルティ関数を採用する場合もある。
Figure 0006260214
Figure 0006260214
このようなペナルティ関数を導入したとしても、基本的に第1の実施の形態で説明したオフライン処理は同じである。但し、空気過剰率τの値域によって関数の形が異なるので、それぞれについてτ(k+i)についての1階偏微分関数及び2階偏微分関数を算出する。すなわち、ステップS13では、各適用範囲について、1階偏微分関数∂(τ)及び2階偏微分関数∂2(τ)を生成する。
そして、τ(k+i)の値に応じて、ペナルティ関数の適用範囲を特定し、適用範囲に応じた1階偏微分関数∂(τ)及び2階偏微分関数∂2(τ)又は「制約なし」(ペナルティ関数が「0」の場合)を用いることになる。
具体的に、図10を用いてモデル予測制御部220の処理内容を説明する。
まず、モデル予測制御部220は、x(k)(=Xref(k)−y(k))を取得する(図10:ステップS41)。
そうすると、モデル予測制御部220は、関数ベクトルb2にx(k)を代入して関数ベクトルb2を数値ベクトル化する(ステップS43)。
また、微分値算出部2201は、制約されるパラメータの現在値であるτ(k)(=Cx(k−1)+Du(k−1))を算出する(ステップS44)。さらに、微分値算出部2201は、τ(k)から、ペナルティ関数の適用範囲を特定する(ステップS45)。
そうすると、微分値算出部2201は、特定された適用範囲が、ペナルティ関数が0の範囲であるか否かを判断する(ステップS47)。
特定された適用範囲が、ペナルティ関数が0の範囲ではない場合には、微分値算出部2201は、制約されるパラメータのベースポイントにおける値であるτbase(k)((56)式)を算出し、データ格納部2205に格納されているペナルティ関数の1階偏微分関数∂(τ)と、2階偏微分関数∂2(τ)にτbase(k)を代入し、∂(τbase(k))及び∂2(τbase(k))を求める(ステップS51)。
そして、行列算出部2202は、特定された適用範囲についてのM3及びb3を算出する(ステップS53)。
(65)式の左辺におけるベクトルU2以外の部分である(M2+∂2(τbase(k))Λl)がM3である。また、(65)式の右辺がb3である。すなわち、b3=b2−(∂(τbase(k))−∂2(τbase(k))dl(τbase(k)))νlである。b3を算出するためには、dl(τbase(k))を、(58)式で算出する。そして処理はステップS57に移行する。
一方、特定された適用範囲が、ペナルティ関数が0の範囲であれば、微分値算出部2201は、M3=M2及びb3=b2と設定する(ステップS55)。状態制約についてのペナルティ関数は適用されない。その後処理はステップS57に移行する。
そして、出力生成部2203は、U=M-1 33によってベクトルUを算出する(ステップS57)。さらに、出力生成部2203は、ベクトルUから線形化制御入力u(k)(i=0)を抽出し、出力する(ステップS59)。
その後、モデル予測制御部220は、処理が終了するのかを判断し(ステップS61)、処理終了でなければ処理はステップS41に戻り、処理終了であれば処理は終了する。
このような処理を実行すれば、適切なペナルティ関数が適用されるようになり、オーバーシュートやアンダーシュートを効果的に抑制できるようになる。
[実施の形態4]
状態偏差の変化量に関する制約についても、過度の変化を抑える目的もあるので、制御の方法によっては、制約を超えた変化も許す場合もある。この場合も、過度に制約を超えることを抑制するため、以下のようなペナルティ関数を採用する場合もある。
Figure 0006260214
このペナルティ関数は、図11に示すが、図9に示したものと同様である。
従って、第3の実施の形態で説明したように、オフラインでは、dxの適用範囲毎に、ペナルティ関数の1階偏微分関数∂(dx)と、2階偏微分関数∂2(dx)とを算出しておく。さらに、オンライン処理では、dx(k)(=x(k)−x(k−1))を算出し、dx(k)が含まれる適用範囲についての、1階偏微分関数∂(dx)及び2階偏微分関数∂2(dx)を用いて、演算を行えばよい。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で述べた機能ブロック構成については、プログラムモジュール構成とは一致しない場合もある。また、処理結果が変わらない限り、処理フローについても、ステップの順番を入れ替えたり、複数のステップを並列実行するようにしてもよい。
なお、上で述べたオフライン処理装置100は、コンピュータ装置であって、図12に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
また、上で述べたエンジン制御装置1000は、コンピュータ装置であって、図13に示すように、RAM(Random Access Memory)4501とプロセッサ4503とROM(Read Only Memory)4507とセンサ群4515とがバス4519で接続されている。本実施の形態における処理を実施するための制御プログラム及び存在している場合にはオペレーティング・システム(OS:Operating System))は、ROM4507に格納されており、プロセッサ4503により実行される際にはROM4507からRAM4501に読み出される。プロセッサ4503は、センサ群4515(例えば、吸気圧センサ及び新気量センサ。場合によっては燃料噴射量測定部及びエンジン回転数測定部など。)を制御して、測定値を取得する。また、処理途中のデータについては、RAM4501に格納される。なお、プロセッサ4503は、ROM4507を含む場合もあり、さらに、RAM4501を含む場合もある。本技術の実施の形態では、上で述べた処理を実施するための制御プログラムは、コンピュータ読み取り可能なリムーバブル・ディスクに格納されて頒布され、ROMライタによってROM4507に書き込まれる場合もある。このようなコンピュータ装置は、上で述べたプロセッサ4503、RAM4501、ROM4507などのハードウエアと制御プログラム(場合によってはOSも)とが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると以下のようになる。
本実施の形態の第1の態様に係るオフライン処理方法は、(1)(a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ制御対象の状態方程式に関する第1の関数との和を含む第2の関数をラグランジュ乗数について偏微分することで得られ且つ制御対象の状態偏差及び制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)第2の関数を制御対象の状態偏差について偏微分することで得られ且つ制御対象の状態偏差及びラグランジュ乗数を変数として含む第2の一次式群と、(c)第2の関数を制御対象の線形化制御入力について偏微分することで得られ且つラグランジュ乗数及び制御対象の状態偏差を変数として含む第3の一次式群と、(d)モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から第1の一次式群を読み出して、状態偏差の現在値を除き状態偏差の変数を消し込むように順次代入を行って、第1の一次式群を、状態偏差の現在値と線形化制御入力とを変数として含む第4の一次式群に変形し、(2)データ格納部から第2の一次式群を読み出して、ラグランジュ乗数の変数を消し込むように順次代入を行って、第2の一次式群を、状態偏差を変数として含む第5の一次式群に変形し、(3)データ格納部から第3の一次式群を読み出して、第4の一次式群及び第5の一次式群を代入することで、第3の一次式群を、状態偏差の現在値と線形化制御入力とを変数として含む第6の一次式群に変形し、(4)第6の一次式群を、第1の係数行列と線形化制御入力についてのベクトルとの積が、状態偏差の現在値の関数ベクトルと等式で表されるように変形し、(5)データ格納部に格納されたペナルティ関数をパラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成し、(6)データ格納部から関係式を読み出して、第4の一次式群を関係式に代入することで、関係式を、状態偏差の現在値と線形化制御入力とを変数として含む第7の一次式群に変形し、(7)第7の一次式群から線形化制御入力についての係数を抽出し、ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する処理を含む。
このような処理をオフラインで実行しておくことにより、様々な状態制約を導入したモデル予測制御を行うことができるようになる。
なお、上で述べたパラメータが、状態偏差と線形化制御入力とから表されるパラメータである場合もある。このような場合には、ディーゼルエンジンの空気過剰率などに対して制約条件を設定することができるようになる。
さらに、上で述べたパラメータが、状態偏差の変化量である場合もある。このような場合には、状態偏差についての変化が急激に発生しないようにすることができるようになる。
さらに、上で述べたペナルティ関数が、パラメータの値域毎に異なる関数で表される場合がある。この場合、上で述べた第1及び第2の微分関数を、パラメータの値域毎に生成するようにしても良い。このようにすれば、制御実行時に第1の関数と第2の関数とを切り替えて用いることができるようになる。
本実施の形態の第2の態様に係る制御方法は、(1)(a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における制御対象に対する線形化制御入力のベクトルとの積が関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)制約条件において制限されるパラメータについてペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から第1の式及び第2の式を読み出して、状態偏差の現在値から得られる、パラメータの基点の値を代入することで、第1の値及び第2の値を算出し、(2)データ格納部から第1の係数行列及び第2の係数行列を読み出して、第2の値と第2の係数行列との積と第1の係数行列との和である第1の行列を算出し、(3)データ格納部から関数ベクトルを読み出して、関数ベクトルに状態偏差の現在値を代入することで得られる第1のベクトルから、((第1の値)−(第2の値とパラメータの基点に関連し且つ状態偏差の現在値又は線形化制御入力の1単位時間前の値から得られる第3の値との積))と係数ベクトルとの積を差し引いた第2のベクトルを算出し、(4)第1の行列の逆行列と第2のベクトルとの積により、線形化制御入力のベクトルを生成し、(5)線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する処理を含む。
このような処理を実行することで、高速に状態制約を伴うモデル予測制御を実行できるようになる。
また、第2の態様に係る制御方法は、状態偏差の現在値から算出されるパラメータの現在値が所定範囲内であるか判断する処理をさらに含むようにしても良い。この場合、パラメータの現在値が所定範囲内であれば、第1の値及び第2の値を算出する処理と、第1の行列を算出する処理と、第2のベクトルを算出する処理と、線形化制御入力のベクトルを生成する処理と、線形化制御入力を抽出する処理とを実行するようにしても良い。制御対象によっては、状態制約に基づく処理を行うことが好ましくない場合もあるためである。
さらに、上で述べたデータ格納部が、パラメータの現在値の値域に応じた第1の式及び第2の式を格納している場合もある。この場合、上記第1の値及び第2の値を算出する処理が、パラメータの現在値が属する値域を特定し、当該特定された値域に応じた第1の式及び第2の式を読み出す処理を含むようにしても良い。適切な式を状況に応じて切り分けて用いることで、適切な制御を行うことができるようになる。
また、上で述べたパラメータの現在値が所定範囲外であれば、データ格納部から関数ベクトル及び第1の係数行列を読み出して、関数ベクトルに状態偏差の現在値を代入することで得られる第1のベクトルと、第1の係数行列の逆行列との積により、線形化制御入力の第2のベクトルを生成し、線形化制御入力の第2のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する処理をさらに含むようにしても良い。状態制約を考慮しないモデル予測制御を高速に実行できる。
なお、上で述べたパラメータが、状態偏差と線形化制御入力とから表されるパラメータである場合には、上で述べた第3の値は、制御対象の状態方程式で用いられる行列と線形化制御入力の1単位時間前の値とから算出される場合もある。例えば、空気過剰率の場合には、このような演算が行われる。
さらに、上で述べたパラメータが、状態偏差の変化量である場合には、第3の値は、状態偏差の現在値と状態偏差の1単位時間前の値との差である場合もある。状態偏差の変化量に制約がある場合には、このような演算が行われる。
なお、上記方法による処理をプロセッサ(又はコンピュータ)に行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
(a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ前記制御対象の状態方程式に関する第1の関数との和を含む第2の関数を前記ラグランジュ乗数について偏微分することで得られ且つ前記制御対象の状態偏差及び前記制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)前記第2の関数を前記制御対象の状態偏差について偏微分することで得られ且つ前記制御対象の状態偏差及び前記ラグランジュ乗数を変数として含む第2の一次式群と、(c)前記第2の関数を前記制御対象の線形化制御入力について偏微分することで得られ且つ前記ラグランジュ乗数及び前記制御対象の状態偏差を変数として含む第3の一次式群と、(d)前記モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)前記制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から前記第1の一次式群を読み出して、前記状態偏差の現在値を除き前記状態偏差の変数を消し込むように順次代入を行って、前記第1の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第4の一次式群に変形し、
前記データ格納部から前記第2の一次式群を読み出して、前記ラグランジュ乗数の変数を消し込むように順次代入を行って、前記第2の一次式群を、前記状態偏差を変数として含む第5の一次式群に変形し、
前記データ格納部から前記第3の一次式群を読み出して、前記第4の一次式群及び前記第5の一次式群を代入することで、前記第3の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第6の一次式群に変形し、
前記第6の一次式群を、第1の係数行列と前記線形化制御入力についてのベクトルとの積が、前記状態偏差の現在値の関数ベクトルと等式で表されるように変形し、
前記データ格納部に格納された前記ペナルティ関数を前記パラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成し、
前記データ格納部から前記関係式を読み出して、前記第4の一次式群を前記関係式に代入することで、前記関係式を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第7の一次式群に変形し、
前記第7の一次式群から前記線形化制御入力についての係数を抽出し、前記ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する
処理を、コンピュータに実行させるためのプログラム。
(付記2)
前記パラメータが、前記状態偏差と前記線形化制御入力とから表されるパラメータである
付記1記載のプログラム。
(付記3)
前記パラメータが、前記状態偏差の変化量である
付記1記載のプログラム。
(付記4)
前記ペナルティ関数が、前記パラメータの値域毎に異なる関数で表され、
前記第1及び第2の微分関数を、前記パラメータの値域毎に生成する
付記1乃至3のいずれか1つ記載のプログラム。
(付記5)
(a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における前記制御対象に対する線形化制御入力のベクトルとの積が前記関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)前記モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)前記制約条件において制限されるパラメータについて前記ペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から前記第1の式及び前記第2の式を読み出して、前記状態偏差の現在値から得られる、前記パラメータの基点の値を代入することで、第1の値及び第2の値を算出し、
前記データ格納部から前記第1の係数行列及び前記第2の係数行列を読み出して、前記第2の値と前記第2の係数行列との積と前記第1の係数行列との和である第1の行列を算出し、
前記データ格納部から前記関数ベクトルを読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルから、((前記第1の値)−(前記第2の値と前記パラメータの基点に関連し且つ前記状態偏差の現在値又は前記線形化制御入力の1単位時間前の値から得られる第3の値との積))と前記係数ベクトルとの積を差し引いた第2のベクトルを算出し、
前記第1の行列の逆行列と前記第2のベクトルとの積により、前記線形化制御入力のベクトルを生成し、
前記線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する
処理をプロセッサに実行させるためのプログラム。
(付記6)
前記状態偏差の現在値から算出される前記パラメータの現在値が所定範囲内であるか判断する処理をさらに含み、
前記パラメータの現在値が前記所定範囲内であれば、前記第1の値及び第2の値を算出する処理と、前記第1の行列を算出する処理と、前記第2のベクトルを算出する処理と、前記線形化制御入力のベクトルを生成する処理と、前記線形化制御入力を抽出する処理とを実行する
付記5記載のプログラム。
(付記7)
前記データ格納部が、
前記パラメータの現在値の値域に応じた前記第1の式及び前記第2の式を格納しており、
前記第1の値及び前記第2の値を算出する処理が、
前記パラメータの現在値が属する値域を特定し、当該特定された値域に応じた前記第1の式及び前記第2の式を読み出す処理
を含む付記5又は6記載のプログラム。
(付記8)
前記パラメータの現在値が前記所定範囲外であれば、
前記データ格納部から前記関数ベクトル及び前記第1の係数行列を読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルと、前記第1の係数行列の逆行列との積により、前記線形化制御入力の第2のベクトルを生成し、
前記線形化制御入力の第2のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する
処理をさらに含む付記5乃至7のいずれか1つ記載のプログラム。
(付記9)
前記パラメータが、前記状態偏差と前記線形化制御入力とから表されるパラメータである場合には、
前記第3の値は、前記制御対象の状態方程式で用いられる行列と前記線形化制御入力の1単位時間前の値とから算出される
付記5乃至8のいずれか1つ記載のプログラム。
(付記10)
前記パラメータが、前記状態偏差の変化量である場合には、
前記第3の値は、前記状態偏差の現在値と前記状態偏差の1単位時間前の値との差である
付記1記載のプログラム。
(付記11)
(a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ前記制御対象の状態方程式に関する第1の関数との和を含む第2の関数を前記ラグランジュ乗数について偏微分することで得られ且つ前記制御対象の状態偏差及び前記制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)前記第2の関数を前記制御対象の状態偏差について偏微分することで得られ且つ前記制御対象の状態偏差及び前記ラグランジュ乗数を変数として含む第2の一次式群と、(c)前記第2の関数を前記制御対象の線形化制御入力について偏微分することで得られ且つ前記ラグランジュ乗数及び前記制御対象の状態偏差を変数として含む第3の一次式群と、(d)前記モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)前記制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から前記第1の一次式群を読み出して、前記状態偏差の現在値を除き前記状態偏差の変数を消し込むように順次代入を行って、前記第1の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第4の一次式群に変形し、
前記データ格納部から前記第2の一次式群を読み出して、前記ラグランジュ乗数の変数を消し込むように順次代入を行って、前記第2の一次式群を、前記状態偏差を変数として含む第5の一次式群に変形し、
前記データ格納部から前記第3の一次式群を読み出して、前記第4の一次式群及び前記第5の一次式群を代入することで、前記第3の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第6の一次式群に変形し、
前記第6の一次式群を、第1の係数行列と前記線形化制御入力についてのベクトルとの積が、前記状態偏差の現在値の関数ベクトルと等式で表されるように変形し、
前記データ格納部に格納された前記ペナルティ関数を前記パラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成し、
前記データ格納部から前記関係式を読み出して、前記第4の一次式群を前記関係式に代入することで、前記関係式を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第7の一次式群に変形し、
前記第7の一次式群から前記線形化制御入力についての係数を抽出し、前記ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する
処理を含み、コンピュータにより実行されるオフライン処理方法。
(付記12)
(a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における前記制御対象に対する線形化制御入力のベクトルとの積が前記関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)前記モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)前記制約条件において制限されるパラメータについて前記ペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から前記第1の式及び前記第2の式を読み出して、前記状態偏差の現在値から得られる、前記パラメータの基点の値を代入することで、第1の値及び第2の値を算出し、
前記データ格納部から前記第1の係数行列及び前記第2の係数行列を読み出して、前記第2の値と前記第2の係数行列との積と前記第1の係数行列との和である第1の行列を算出し、
前記データ格納部から前記関数ベクトルを読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルから、((前記第1の値)−(前記第2の値と前記パラメータの基点に関連し且つ前記状態偏差の現在値又は前記線形化制御入力の1単位時間前の値から得られる第3の値との積))と前記係数ベクトルとの積を差し引いた第2のベクトルを算出し、
前記第1の行列の逆行列と前記第2のベクトルとの積により、前記線形化制御入力のベクトルを生成し、
前記線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する
処理を含み、プロセッサにより実行される制御方法。
(付記13)
(a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ前記制御対象の状態方程式に関する第1の関数との和を含む第2の関数を前記ラグランジュ乗数について偏微分することで得られ且つ前記制御対象の状態偏差及び前記制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)前記第2の関数を前記制御対象の状態偏差について偏微分することで得られ且つ前記制御対象の状態偏差及び前記ラグランジュ乗数を変数として含む第2の一次式群と、(c)前記第2の関数を前記制御対象の線形化制御入力について偏微分することで得られ且つ前記ラグランジュ乗数及び前記制御対象の状態偏差を変数として含む第3の一次式群と、(d)前記モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)前記制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から前記第1の一次式群を読み出して、前記状態偏差の現在値を除き前記状態偏差の変数を消し込むように順次代入を行って、前記第1の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第4の一次式群に変形する手段と、
前記データ格納部から前記第2の一次式群を読み出して、前記ラグランジュ乗数の変数を消し込むように順次代入を行って、前記第2の一次式群を、前記状態偏差を変数として含む第5の一次式群に変形する手段と、
前記データ格納部から前記第3の一次式群を読み出して、前記第4の一次式群及び前記第5の一次式群を代入することで、前記第3の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第6の一次式群に変形する手段と、
前記第6の一次式群を、第1の係数行列と前記線形化制御入力についてのベクトルとの積が、前記状態偏差の現在値の関数ベクトルと等式で表されるように変形する手段と、
前記データ格納部に格納された前記ペナルティ関数を前記パラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成する手段と、
前記データ格納部から前記関係式を読み出して、前記第4の一次式群を前記関係式に代入することで、前記関係式を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第7の一次式群に変形する手段と、
前記第7の一次式群から前記線形化制御入力についての係数を抽出し、前記ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する手段と、
を有するオフライン処理装置。
(付記14)
(a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における前記制御対象に対する線形化制御入力のベクトルとの積が前記関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)前記モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)前記制約条件において制限されるパラメータについて前記ペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から前記第1の式及び前記第2の式を読み出して、前記状態偏差の現在値から得られる、前記パラメータの基点の値を代入することで、第1の値及び第2の値を算出する手段と、
前記データ格納部から前記第1の係数行列及び前記第2の係数行列を読み出して、前記第2の値と前記第2の係数行列との積と前記第1の係数行列との和である第1の行列を算出する手段と、
前記データ格納部から前記関数ベクトルを読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルから、((前記第1の値)−(前記第2の値と前記パラメータの基点に関連し且つ前記状態偏差の現在値又は前記線形化制御入力の1単位時間前の値から得られる第3の値との積))と前記係数ベクトルとの積を差し引いた第2のベクトルを算出する手段と、
前記第1の行列の逆行列と前記第2のベクトルとの積により、前記線形化制御入力のベクトルを生成する手段と、
前記線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する手段と、
を有する制御装置。
101 入力部
102 入力データ格納部
103 第1変形処理部
104 第1データ格納部
105 第2変形処理部
106 第2データ格納部
107 第3変形処理部
108 第3データ格納部
109 第1行列生成部
110 第4データ格納部
111 第2行列生成部
112 微分処理部

Claims (14)

  1. (a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ前記制御対象の状態方程式に関する第1の関数との和を含む第2の関数を前記ラグランジュ乗数について偏微分することで得られ且つ前記制御対象の状態偏差及び前記制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)前記第2の関数を前記制御対象の状態偏差について偏微分することで得られ且つ前記制御対象の状態偏差及び前記ラグランジュ乗数を変数として含む第2の一次式群と、(c)前記第2の関数を前記制御対象の線形化制御入力について偏微分することで得られ且つ前記ラグランジュ乗数及び前記制御対象の状態偏差を変数として含む第3の一次式群と、(d)前記モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)前記制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から前記第1の一次式群を読み出して、前記状態偏差の現在値を除き前記状態偏差の変数を消し込むように順次代入を行って、前記第1の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第4の一次式群に変形し、
    前記データ格納部から前記第2の一次式群を読み出して、前記ラグランジュ乗数の変数を消し込むように順次代入を行って、前記第2の一次式群を、前記状態偏差を変数として含む第5の一次式群に変形し、
    前記データ格納部から前記第3の一次式群を読み出して、前記第4の一次式群及び前記第5の一次式群を代入することで、前記第3の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第6の一次式群に変形し、
    前記第6の一次式群を、第1の係数行列と前記線形化制御入力についてのベクトルとの積が、前記状態偏差の現在値の関数ベクトルと等式で表されるように変形し、
    前記データ格納部に格納された前記ペナルティ関数を前記パラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成し、
    前記データ格納部から前記関係式を読み出して、前記第4の一次式群を前記関係式に代入することで、前記関係式を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第7の一次式群に変形し、
    前記第7の一次式群から前記線形化制御入力についての係数を抽出し、前記ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する
    処理を、コンピュータに実行させるためのプログラム。
  2. 前記パラメータが、前記状態偏差と前記線形化制御入力とから表されるパラメータである
    請求項1記載のプログラム。
  3. 前記パラメータが、前記状態偏差の変化量である
    請求項1記載のプログラム。
  4. 前記ペナルティ関数が、前記パラメータの値域毎に異なる関数で表され、
    前記第1及び第2の微分関数を、前記パラメータの値域毎に生成する
    請求項1乃至3のいずれか1つ記載のプログラム。
  5. (a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における前記制御対象に対する線形化制御入力のベクトルとの積が前記関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)前記モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)前記制約条件において制限されるパラメータについて前記ペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から前記第1の式及び前記第2の式を読み出して、前記状態偏差の現在値から得られる、前記パラメータの基点の値を代入することで、第1の値及び第2の値を算出し、
    前記データ格納部から前記第1の係数行列及び前記第2の係数行列を読み出して、前記第2の値と前記第2の係数行列との積と前記第1の係数行列との和である第1の行列を算出し、
    前記データ格納部から前記関数ベクトルを読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルから、((前記第1の値)−(前記第2の値と前記パラメータの基点に関連し且つ前記状態偏差の現在値又は前記線形化制御入力の1単位時間前の値から得られる第3の値との積))と前記係数ベクトルとの積を差し引いた第2のベクトルを算出し、
    前記第1の行列の逆行列と前記第2のベクトルとの積により、前記線形化制御入力のベクトルを生成し、
    前記線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する
    処理をプロセッサに実行させるためのプログラム。
  6. 前記状態偏差の現在値から算出される前記パラメータの現在値が所定範囲内であるか判断する処理をさらに含み、
    前記パラメータの現在値が前記所定範囲内であれば、前記第1の値及び第2の値を算出する処理と、前記第1の行列を算出する処理と、前記第2のベクトルを算出する処理と、前記線形化制御入力のベクトルを生成する処理と、前記線形化制御入力を抽出する処理とを実行する
    請求項5記載のプログラム。
  7. 前記データ格納部が、
    前記パラメータの現在値の値域に応じた前記第1の式及び前記第2の式を格納しており、
    前記第1の値及び前記第2の値を算出する処理が、
    前記パラメータの現在値が属する値域を特定し、当該特定された値域に応じた前記第1の式及び前記第2の式を読み出す処理
    を含む請求項5又は6記載のプログラム。
  8. 前記パラメータの現在値が前記所定範囲外であれば、
    前記データ格納部から前記関数ベクトル及び前記第1の係数行列を読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルと、前記第1の係数行列の逆行列との積により、前記線形化制御入力の第2のベクトルを生成し、
    前記線形化制御入力の第2のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する
    処理をさらに含む請求項5乃至7のいずれか1つ記載のプログラム。
  9. 前記パラメータが、前記状態偏差と前記線形化制御入力とから表されるパラメータである場合には、
    前記第3の値は、前記制御対象の状態方程式で用いられる行列と前記線形化制御入力の1単位時間前の値とから算出される
    請求項5乃至8のいずれか1つ記載のプログラム。
  10. 前記パラメータが、前記状態偏差の変化量である場合には、
    前記第3の値は、前記状態偏差の現在値と前記状態偏差の1単位時間前の値との差である
    請求項記載のプログラム。
  11. (a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ前記制御対象の状態方程式に関する第1の関数との和を含む第2の関数を前記ラグランジュ乗数について偏微分することで得られ且つ前記制御対象の状態偏差及び前記制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)前記第2の関数を前記制御対象の状態偏差について偏微分することで得られ且つ前記制御対象の状態偏差及び前記ラグランジュ乗数を変数として含む第2の一次式群と、(c)前記第2の関数を前記制御対象の線形化制御入力について偏微分することで得られ且つ前記ラグランジュ乗数及び前記制御対象の状態偏差を変数として含む第3の一次式群と、(d)前記モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)前記制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から前記第1の一次式群を読み出して、前記状態偏差の現在値を除き前記状態偏差の変数を消し込むように順次代入を行って、前記第1の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第4の一次式群に変形し、
    前記データ格納部から前記第2の一次式群を読み出して、前記ラグランジュ乗数の変数を消し込むように順次代入を行って、前記第2の一次式群を、前記状態偏差を変数として含む第5の一次式群に変形し、
    前記データ格納部から前記第3の一次式群を読み出して、前記第4の一次式群及び前記第5の一次式群を代入することで、前記第3の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第6の一次式群に変形し、
    前記第6の一次式群を、第1の係数行列と前記線形化制御入力についてのベクトルとの積が、前記状態偏差の現在値の関数ベクトルと等式で表されるように変形し、
    前記データ格納部に格納された前記ペナルティ関数を前記パラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成し、
    前記データ格納部から前記関係式を読み出して、前記第4の一次式群を前記関係式に代入することで、前記関係式を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第7の一次式群に変形し、
    前記第7の一次式群から前記線形化制御入力についての係数を抽出し、前記ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する
    処理を含み、コンピュータにより実行されるオフライン処理方法。
  12. (a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における前記制御対象に対する線形化制御入力のベクトルとの積が前記関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)前記モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)前記制約条件において制限されるパラメータについて前記ペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から前記第1の式及び前記第2の式を読み出して、前記状態偏差の現在値から得られる、前記パラメータの基点の値を代入することで、第1の値及び第2の値を算出し、
    前記データ格納部から前記第1の係数行列及び前記第2の係数行列を読み出して、前記第2の値と前記第2の係数行列との積と前記第1の係数行列との和である第1の行列を算出し、
    前記データ格納部から前記関数ベクトルを読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルから、((前記第1の値)−(前記第2の値と前記パラメータの基点に関連し且つ前記状態偏差の現在値又は前記線形化制御入力の1単位時間前の値から得られる第3の値との積))と前記係数ベクトルとの積を差し引いた第2のベクトルを算出し、
    前記第1の行列の逆行列と前記第2のベクトルとの積により、前記線形化制御入力のベクトルを生成し、
    前記線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する
    処理を含み、プロセッサにより実行される制御方法。
  13. (a)モデル予測制御の評価関数とラグランジュ乗数を含み且つ前記制御対象の状態方程式に関する第1の関数との和を含む第2の関数を前記ラグランジュ乗数について偏微分することで得られ且つ前記制御対象の状態偏差及び前記制御対象に対する線形化制御入力を変数として含む第1の一次式群と、(b)前記第2の関数を前記制御対象の状態偏差について偏微分することで得られ且つ前記制御対象の状態偏差及び前記ラグランジュ乗数を変数として含む第2の一次式群と、(c)前記第2の関数を前記制御対象の線形化制御入力について偏微分することで得られ且つ前記ラグランジュ乗数及び前記制御対象の状態偏差を変数として含む第3の一次式群と、(d)前記モデル予測制御の制御対象についての制約条件に対応するペナルティ関数と、(e)前記制約条件において制限されるパラメータに関する関係式とを格納するデータ格納部から前記第1の一次式群を読み出して、前記状態偏差の現在値を除き前記状態偏差の変数を消し込むように順次代入を行って、前記第1の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第4の一次式群に変形する手段と、
    前記データ格納部から前記第2の一次式群を読み出して、前記ラグランジュ乗数の変数を消し込むように順次代入を行って、前記第2の一次式群を、前記状態偏差を変数として含む第5の一次式群に変形する手段と、
    前記データ格納部から前記第3の一次式群を読み出して、前記第4の一次式群及び前記第5の一次式群を代入することで、前記第3の一次式群を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第6の一次式群に変形する手段と、
    前記第6の一次式群を、第1の係数行列と前記線形化制御入力についてのベクトルとの積が、前記状態偏差の現在値の関数ベクトルと等式で表されるように変形する手段と、
    前記データ格納部に格納された前記ペナルティ関数を前記パラメータについて1階偏微分した第1の微分関数及び2階偏微分した第2の微分関数を生成する手段と、
    前記データ格納部から前記関係式を読み出して、前記第4の一次式群を前記関係式に代入することで、前記関係式を、前記状態偏差の現在値と前記線形化制御入力とを変数として含む第7の一次式群に変形する手段と、
    前記第7の一次式群から前記線形化制御入力についての係数を抽出し、前記ペナルティ関数について予め定められている第2の係数行列及び係数ベクトルを算出する手段と、
    を有するオフライン処理装置。
  14. (a)モデル予測制御の制御対象についての状態偏差の現在値についての関数ベクトルと、(b)制御期間内における前記制御対象に対する線形化制御入力のベクトルとの積が前記関数ベクトルと等しくなるように予め算出されている第1の係数行列と、(c)前記モデル予測制御の制御対象における制約条件に対応するペナルティ関数について予め算出されている第2の係数行列及び係数ベクトルと、(d)前記制約条件において制限されるパラメータについて前記ペナルティ関数を1階偏微分した第1の式及び2階偏微分した第2の式とを格納するデータ格納部から前記第1の式及び前記第2の式を読み出して、前記状態偏差の現在値から得られる、前記パラメータの基点の値を代入することで、第1の値及び第2の値を算出する手段と、
    前記データ格納部から前記第1の係数行列及び前記第2の係数行列を読み出して、前記第2の値と前記第2の係数行列との積と前記第1の係数行列との和である第1の行列を算出する手段と、
    前記データ格納部から前記関数ベクトルを読み出して、前記関数ベクトルに前記状態偏差の現在値を代入することで得られる第1のベクトルから、((前記第1の値)−(前記第2の値と前記パラメータの基点に関連し且つ前記状態偏差の現在値又は前記線形化制御入力の1単位時間前の値から得られる第3の値との積))と前記係数ベクトルとの積を差し引いた第2のベクトルを算出する手段と、
    前記第1の行列の逆行列と前記第2のベクトルとの積により、前記線形化制御入力のベクトルを生成する手段と、
    前記線形化制御入力のベクトルの要素のうち最初の時刻のための線形化制御入力を抽出する手段と、
    を有する制御装置。
JP2013234459A 2013-11-12 2013-11-12 情報処理方法、装置及びプログラム Active JP6260214B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013234459A JP6260214B2 (ja) 2013-11-12 2013-11-12 情報処理方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013234459A JP6260214B2 (ja) 2013-11-12 2013-11-12 情報処理方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2015095126A JP2015095126A (ja) 2015-05-18
JP6260214B2 true JP6260214B2 (ja) 2018-01-17

Family

ID=53197480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013234459A Active JP6260214B2 (ja) 2013-11-12 2013-11-12 情報処理方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6260214B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110023B (zh) * 2021-04-02 2024-02-27 昆明理工大学 一种基于柴油机哈密顿模型的结构修正控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960608A (ja) * 1982-09-30 1984-04-06 Toshiba Corp プロセスの最適化制御方法
JP6136494B2 (ja) * 2013-04-11 2017-05-31 富士通株式会社 情報処理方法、装置及びプログラム

Also Published As

Publication number Publication date
JP2015095126A (ja) 2015-05-18

Similar Documents

Publication Publication Date Title
JP5834759B2 (ja) 行列生成プログラム、方法及び装置、並びにプラント制御プログラム、方法及び装置
Bu Air-breathing hypersonic vehicles funnel control using neural approximation of non-affine dynamics
JP6416781B2 (ja) 内燃機関空気経路制御のためのレートベースモデル予測制御方法
Stewart et al. A model predictive control framework for industrial turbodiesel engine control
García-Nieto et al. Nonlinear predictive control based on local model networks for air management in diesel engines
JP6553580B2 (ja) 内燃機関の空気経路制御のための離散時間レートベースモデル予測制御方法
US8738271B2 (en) Asymmetric wavelet kernel in support vector learning
CN109709792A (zh) 航空发动机稳态回路比例积分控制器及其设计方法和装置
El Hadef et al. Explicit nonlinear model predictive control of the air path of a turbocharged spark-ignited engine
JP5569426B2 (ja) エンジン制御プログラム及び装置
Kong et al. Stable feedback linearization-based economic MPC scheme for thermal power plant
JP6260214B2 (ja) 情報処理方法、装置及びプログラム
JP6136494B2 (ja) 情報処理方法、装置及びプログラム
Lee et al. Modelling and H∞ control of diesel engine boost pressure using a linear parameter varying technique
Izci et al. Feedforward-Compensated PI Controller Design for Air–Fuel Ratio System Control Using Enhanced Weighted Mean of Vectors Algorithm
CN106033189A (zh) 飞行机器人位姿神经网络预测控制器
Kushwaha et al. Air path identification of turbocharged diesel engine using RNN
Du et al. A method of multiple model adaptive control of affine systems and its application to aero-engines
Bachtiar et al. Analytical results for the multi-objective design of model-predictive control
Li et al. An improved design of aggregation-based model predictive control
Šantin et al. Combined gradient and Newton projection quadratic programming solver for MPC
Asprion et al. Efficient solution of the diesel-engine optimal control problem by time-domain decomposition
JP5903925B2 (ja) 情報処理方法、装置及びプログラム
Zhou et al. A softly switched multiple model predictive control of a turbocharged diesel engine
CN111356959B (zh) 用于计算机辅助地控制技术系统的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170516

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: 20171114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150