JP3960106B2 - エンジンの空燃比制御装置 - Google Patents
エンジンの空燃比制御装置 Download PDFInfo
- Publication number
- JP3960106B2 JP3960106B2 JP2002110508A JP2002110508A JP3960106B2 JP 3960106 B2 JP3960106 B2 JP 3960106B2 JP 2002110508 A JP2002110508 A JP 2002110508A JP 2002110508 A JP2002110508 A JP 2002110508A JP 3960106 B2 JP3960106 B2 JP 3960106B2
- Authority
- JP
- Japan
- Prior art keywords
- fuel ratio
- air
- equation
- state
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Feedback Control In General (AREA)
Description
【発明の属する技術分野】
本発明はエンジンの空燃比制御装置、特にスライディングモード制御を空燃比のフィードバック制御に応用するものに関する。
【0002】
【従来の技術】
エンジンの排気通路に設けた空燃比センサにより検出される検出空燃比が目標空燃比と一致するように空燃比のフィードバック制御を行う場合、古典制御のうち代表的なPID制御が広く用いられている。
【0003】
【発明が解決しようとする課題】
ところで、上記の古典制御であるPID制御ではエンジンコントローラの入力に実際に観測される値を用いるため制御応答性及びロバスト性に限界があることから、最近になって現代制御の一手法であるスライディングモード制御をフィードバック制御に用いる方法が脚光を浴びている。
【0004】
これを簡単に説明すると、これは図5に示したようにシステム(系)の誤差の状態量を非線形入力を与えてまず切換関数上に落ち着かせ、その後に線形入力により切換関数上を滑らせながら(スライディング状態)位相平面の原点へと収束させようとするものである。誤差の状態量が原点に収束したとき状態変数が目標値に収束する。スライディングモード制御の特徴として誤差の状態量が切換関数上にのってしまえばPID制御を用いる場合よりもロバスト性が非常にあることが知られている。
【0005】
しかしながら、スライディングモード制御についての公知文献(例えば野波健蔵他著『スライディングモード制御』コロナ社発行参照)をみても理論的な説明が主であり、空燃比のフィードバック制御に適用した具体例を記載してはいない。
【0006】
従ってスライディングモード制御を空燃比フィードバック制御に適用できれば、PID制御を用いる場合よりもロバスト性を向上できることになる。
【0007】
そこで本願の発明者はこの文献を参考にして空燃比フィードバック制御への適用を試みたわけであるが、この場合に本願の発明者は先にエンジンの排気系及び前記空燃比センサの動特性を離散系2次の伝達関数で記述できることを提案している(特開2000−291484号公報参照)。
【0008】
そこで本発明はこの離散系2次の伝達関数に基づいて離散系2次の状態方程式を作成し、この離散系2次の状態方程式に基づいてスライディングモード制御を行い空燃比操作量を演算することにより、スライディングモード制御を空燃比フィードバック制御に適用することを可能としてPID制御を用いる場合よりも応答性とロバスト性をともに向上することを目的とする。
【0009】
なお、スライディングモード制御を空燃比フィードバック制御に適用した先行技術として特開平8−232713号公報がある。この先行技術では制御対象となるプラント(エンジン)を連続系の物理モデルで表し、その連続系の物理モデルから出発してより離散化した状態方程式を求めている。これはいわば物理モデルに従って最初は連続系の方程式を立て、その連続系の方程式を離散系の方程式へと変更するものであり、最初から離散系で考えている本願発明とは技術的思想が異なっている。このため、この先行技術のように連続系の物理モデルより離散化した状態方程式を用いるのでは、物理モデルの精度によってはプラントを正確にモデル化するのが難しい。特にエンジンのような非線形性の強いものに対しては運転の各領域において正確に物理モデルを記述することは非常に困難である。具体的には先行技術ではプラントの遅れを連続系の二次遅れで近似するものに過ぎない。
【0010】
また、目標空燃比が一定でなく変化する場合には目標値追従型であるサーボ系となるが、この目標値追従型であるサーボ系においては目標値への収束性をよくするため及び定常偏差を吸収するために入力を積分する機能が必要である。一般的なサーボ系問題では積分器を含んだ状態変数を追加し切換関数を設計する。この場合に切換関数によって算出される非線形入力も積分要素を含んでしまうため、応答性が悪化することが考えられる。しかしながら、目標空燃比が変化する場合を扱っている先行技術にはどの部分にも積分器が設けられていない。
【0011】
【課題を解決するための手段】
第1の発明は、排気の空燃比を検出する空燃比検出手段と、エンジンの排気系及び前記空燃比検出手段の動特性を離散系2次の伝達関数で近似しシリンダ吸入空燃比のステップ応答より同定することによりこの離散系2次の伝達関数を設定する伝達関数設定手段と、この離散系2次の伝達関数を離散系2次の状態方程式に変換する手段と、この離散系2次の状態方程式に基づいて前記空燃比検出手段により検出される排気の空燃比が目標空燃比と一致するようにスライディングモード制御を用いた空燃比のフィードバック制御を行う空燃比フィードバック制御手段とを備え、前記離散系2次の状態方程式が
mat x ( n+1 ) = mat A mat x ( n ) + mat Bu ( n )
mat y ( n ) = mat C mat x ( n )
ただし、 mat x ( n+1 ) :時刻n+1の状態変数、
mat x ( n ) :時刻nの状態変数、
mat y ( n ) :時刻nの出力、
u ( n ) :時刻nの入力、
mat A :システム行列、
mat B :入力行列、
mat C :出力行列、
である。
【0012】
第2の発明は、第1の発明おいて前記同定を最小2乗法を用いて行う。
【0013】
第3の発明は、第1の発明おいて前記同定をARXモデルを用いて行う。
【0014】
第4の発明は、第1から第3までのいずれか一つの発明において前記空燃比のフィードバック制御が燃料供給量のフィードバック制御である。
【0015】
第5の発明は、第4の発明において前記空燃比フィードバック制御手段が、前記離散系2次の状態方程式の状態変数matx(n)と目標値の状態量matθ(n)の差を誤差の状態量mate(n)として演算する手段と、この誤差の状態量mate(n)に切換関数ゲインmatSを乗算して状態量σ(n)を演算する手段と、この切換関数ゲインの乗算された状態量σ(n)に基づいて非線形入力unl(n)を演算する手段と、同じくこの切換関数ゲインの乗算された状態量σ(n)に基づいて線形入力ueq(n)を演算する手段と、これら非線形入力と線形入力の和を総制御入力usl(n)として算出する手段と、この総制御入力に基づいて前記燃料供給量のフィードバック制御値ALPHAを演算する手段とからなる。
【0016】
第6の発明では、第5の発明において目標空燃比が変化する場合に前記線形入力ueq(n)に代えてこれを積分した値を用いる。
【0017】
第7の発明では、第6の発明において排気通路に酸素ストレージ機能を有する触媒と、この触媒の前後にあって排気中の酸素濃度を検出する一対のセンサ(例えば触媒上流側が広域空燃比センサ、触媒下流側がO2センサ)とを備える場合に、この一対のセンサの出力に基づいて前記触媒の酸素ストレージ量を最適化する空燃比を目標空燃比として演算する。
【0018】
第8の発明では、第6の発明において前記積分する際の積分ゲインμと前記切換関数ゲインmatSとの関係を前記線形入力の式から求め、前記目標空燃比への応答の時定数が最適となるように前記積分ゲインμを決定し、この決定した積分ゲインμより前記関係を用いて切換関数ゲインmatSを算出する。
【0019】
第9の発明では、第8の発明おいて前記積分ゲインμを回転速度に応じて定める(例えば回転速度が高くなるほど積分ゲインを大きくする)。
【0021】
第10の発明では、第1の発明において前記システム行列matAの状態(例えば要素a0の符号)により前記切換関数ゲインmatS(例えば要素S2)の符号を変化させる。
【0022】
第11の発明では、第1の発明において前記離散系2次の伝達関数が
Geng(q)=(b1q+b0)/(q2+a1q+a0)
(無駄時間の項を除く)
ただし、Geng(q):プラントの伝達関数、
q :離散系シフトオペレータ、
a1、a0 :微分係数、
b1、b0 :微分係数、
である場合に、前記システム行列matA、入力行列matB、出力行列matCが前記数1式により定義される値である。
【0023】
第12の発明では、第1の発明において前記離散系2次の伝達関数が
Geng(q)=(b1q+b0)/(q2+a1q+a0)
(無駄時間の項を除く)
ただし、Geng(q):プラントの伝達関数、
q :離散系シフトオペレータ、
a1、a0 :微分係数、
b1、b0 :微分係数、
である場合に、前記システム行列matA、入力行列matB、出力行列matCが前記数2式により定義される値である。
【0024】
第13の発明では、第12の発明において前記切換関数ゲインの乗算された状態量σ(n)が
σ(n)=S(x1(n)−θ1(n) )+(x1(n)−x2(n) )
ただし、x1(n)、x2(n) :状態変数matx(n) の要素、
θ1(n) :x1(n)の目標値、
である。
【0025】
【発明の効果】
第1、第2、第3、第4、第5、第11の発明によれば、非線形性の強いエンジンのようなプラントであっても運転領域毎に空燃比ステップ応答を測定することにより運転領域毎の伝達関数を同定することが可能であり、この離散系2次の伝達関数を離散系2次の状態方程式に変換し、この離散系2次の状態方程式に基づいてスライディングモード制御を用いた空燃比のフィードバック制御を行うので、上記の先行技術のように連続系の物理モデルからスライディングモード制御に用いる状態方程式を算出する場合よりも精度良くプラントモデルを構築することができるとともに、PID制御を用いる場合より応答性とロバスト性が共に向上する。かつステップ応答測定より伝達関数が一意的に決まるのでスライディングモード制御の切換関数及び線形入力の設計が容易となる。
【0026】
変化する目標値への追従性を良くし及び定常偏差を吸収するため目標値追従問題であるサーボ系では状態方程式に積分項を追加した拡大系を用いるのが一般的であるのでスライディングモード制御においても拡大系を用いたサーボ系としたとき、切換関数及び非線形入力に積分項を持つことになり応答性が低下するのであるが、第6、第7の発明によれば応答性を確保しつつ定常偏差の吸収が可能となる。
【0027】
目標空燃比への収束を早めようと過大な空燃比操作量を与えたのでは運転性能や排気性能が悪化する可能性があるため各運転領域毎に最適な切換関数ゲイン及び積分ゲインを決定する必要がありこの双方を最適化するのは非常に工数がかかるのであるが、第8の発明によれば積分ゲインを決定しさえすれば、この積分ゲインより一定の関係式を用いて切換関数ゲインを算出することができるので、切換関数の設計が容易となる。
【0028】
フィードバック制御を固定時間間隔で演算する場合に回転速度が上昇すると単位時間当たりの燃料噴射イベントが増加し見かけ上フィードバックゲインが落ちてしまい高回転速度域での目標値への追従性が悪化するのであるが、第9の発明によればフィードバック制御を固定周期で行った場合でも見かけ上のゲインの低下を防ぐことが可能となり、全運転領域で最適な積分ゲインを得ることができる。
【0029】
第10の発明によればシステム行列の状態によって切換関数ゲインの符号を切換えることでシステム行列の状態が変化しても空燃比操作量を正しい方向に付加することが可能となる。
【0030】
第12の発明によれば、状態量x1(n)、x2(n)が
x2(n)=x1(n−1)
の関係を満たすことから、状態量x2(n)についても物理的な意味が明確となった。すなわち、第12の発明によれば、状態量x2(n)は状態量x1(n)の前回値を表す。
【0031】
第13の発明によれば、状態量x1(n)の目標値θ1(n)との差分及び状態量x1(n)の変化量がゼロとなるような切換関数を設定できるので、目標値θ1(n)の変化に対しても応答良く空燃比操作量を変化させることができる。
【0032】
【発明の実施の形態】
以下、添付図面に基づき本発明の実施の形態について説明する。
【0033】
図1はガソリンエンジンのシステム構成図である。同図において1はエンジン本体、2は吸気通路、3は排気通路、4はスロットル弁、5は燃料噴射弁、6は点火プラグである。
【0034】
前記燃料噴射弁5からの燃料噴射量、燃料噴射時期、点火プラグ6による火花点火の時期を運転条件に応じて制御するためエンジンコントローラ11を備える。エンジンコントローラ11にはクランク角センサ(ポジションセンサ12と位相センサ13からなる)からの信号、エアフローメータ14からの吸入空気流量の信号が、水温センサ15からの信号などと共に入力し、これら信号に基づいて燃料噴射弁5からの燃料噴射量、噴射時期を制御し、また点火プラグ6による火花点火の時期を制御する。
【0035】
エンジンの排気通路3には酸素ストレージ機能を有し触媒雰囲気が理論空燃比付近のときにNOx、HC、COを同時に浄化する三元触媒7を備える。この三元触媒7の酸素ストレージ量が飽和量に達したり酸素を全く保持しない状態となったりしてしまうとHC、CO、NOxを効率よく浄化できなくなるため、エンジンコントローラ11では触媒7の酸素ストレージ量を演算し、触媒7の転換効率を最大に保つべく触媒7の酸素ストレージ量が一定となるように触媒7の上流側に設けた広域空燃比センサ16の出力と触媒7の下流側に設けたO2センサ17の出力とに基づいてエンジンの空燃比制御を行う。
【0036】
この制御は概略次のようなものである(詳細は特願2000−38688号参照)。すなわちエンジンコントローラ11は触媒7に流入する排気の空燃比とエンジンの吸入空気量に基づき触媒7の酸素ストレージ量を推定演算するが 、このとき酸素ストレージ量の演算を高速成分HO2と低速成分LO2とで分けて行う。具体的には酸素吸収時は高速成分HO2が優先して吸収し、高速成分HO2が吸収しきれない状態となったら低速成分LO2が吸収し始めるとして演算を行い、また酸素放出時は低速成分LO2と高速成分HO2の比(LO2/HO2)が一定割合AR以下の場合は高速成分HO2から優先して酸素が放出されるとし、比LO2/HO2が一定割合になったらその比LO2/HO2を保つように低速成分LO2と高速成分HO2の両方から酸素が放出されるとして酸素ストレージ量の演算を行う。
【0037】
そして、演算された酸素ストレージ量の高速成分HO2が目標値よりも多いときは、エンジンの空燃比をリッチ側に制御して高速成分HO2を減少させ、目標値よりも少ないときは空燃比をリーン側に制御して高速成分HO2を増大させる。
【0038】
この結果、酸素ストレージ量の高速成分HO2が目標とする値に保たれるので、触媒7に流入する排気の空燃比が理論空燃比からずれたとしても、応答性の高い高速成分HO2から直ちに酸素が吸収あるいは放出されて触媒雰囲気が理論空燃比方向に修正され、触媒7の転換効率が最大に保たれる。
【0039】
さらに、演算誤差が累積すると演算される酸素ストレージ量が実際の酸素ストレージ量とずれてくるが、触媒7下流がリッチあるいはリーンになったタイミングで酸素ストレージ量(高速成分HO2及び低速成分LO2)のリセットを行うことで演算値と実際の酸素ストレージ量とのずれを修正している。
【0040】
このように酸素ストレージ量に応じて目標空燃比を変化させ、こうして変化する目標空燃比が得られるように空燃比のフィードバック制御を行うのであるが、本発明ではこの空燃比フィードバック制御にスライディングモード制御を適用する。
【0041】
これを図2により説明すると、同図はエンジンコントローラ11の制御ブロック図である。同図において目標空燃比演算部21では広域空燃比センサ16及びO2センサ17の出力に基づいて前述のように触媒7の酸素ストレージ量を最適化する空燃比を目標空燃比TGABFとして演算する。
【0042】
理論空燃比の運転時にこの目標空燃比が得られるように従来はPID制御により空燃比フィードバック補正値ALPHAを演算していたが、これに代えてスライディングモードコントローラ(スライディングモード制御部)22を設けている。このスライディングモードコントローラ22が後述するようにして空燃比フィードバック補正値ALPHAを演算する。そして燃料噴射量演算部31では基本噴射パルス幅TP0から得られるシリンダ吸気量パルス幅TPに対してこの空燃比フィードバック補正値ALPHAとこれ以外の各種補正を行って次の式により燃料噴射パルス幅CTIを演算する。そしてこの燃料噴射パルス幅CTIを用いて燃料噴射弁5を間欠的に駆動する。
【0043】
CTI=(TP×TFBYA+KATOHOS)
×(ALPHA+KBLRC−1)+TS+CHOS…(補1)
ただし、TFBYA :目標当量比、
KATOHOS:燃料フィードフォワード補正値、
ALPHA :空燃比フィードバック補正値、
KBLRC :空燃比学習値、
TS :無効噴射パルス幅、
CHOS :気筒別燃料フィードフォワード補正値、
スライディングモードコントローラ22は切換関数演算部23、非線形入力演算部24、線形入力演算部25、積分器26、加算器27、換算部28及び補正制限部29からなっている。スライディングモードコントローラ22により実行されるこれらの制御内容は後述するフローチャート(図7参照)によりまとめて説明する。従ってここでは図2に示す個々のブロック23〜29の働きの説明は省略する。
【0044】
次にスライディングモード制御を用いた空燃比フィードバック制御の考え方を詳述する。これは本願の発明者が新たに創作したものである。
【0045】
図3はプラント(エンジン)の物理モデルである。シリンダ内の空燃比は燃料量のフィードフォワード制御により(例えば上記(補1)式のKATOHOS、CHOSによる)目標空燃比となることが補償されているため排気のダイナミクス(ガス混合ダイナミクスを含む)及び空燃比センサ16のダイナミクスを統合し離散系2次で記述する。プラント(エンジン)の入力をシリンダ内空燃比、出力を検出空燃比とすると、エンジンの排気系及びセンサ16の動特性は次のように離散系2次の伝達関数Geng(q)で表すことができる。
【0046】
Geng(q)=(b1q+b0)/(q2+a1q+a0) …(1)
(無駄時間の項を除く)
ただし、Geng(q):プラントの伝達関数、
q :離散系シフトオペレータ、
a1、a0 :微分係数、
b1、b0 :微分係数、
(1)式の伝達関数Geng(q)は前記プラントの図4のような入出力信号ステップ応答よりARXモデル(或いは最小2乗法)を用いて同定することができる。ARXモデルによる同定手法は一般的に知られており(例えば特開2000−291484号公報参照)、ここでは説明を省略する。なお、非線形性の強いエンジンのようなプラントにあっても運転領域毎に空燃比ステップ応答を測定することにより運転領域毎の伝達関数を同定することが可能である。
【0047】
離散系2次の伝達関数Geng(q)を次のように離散系2次の状態空間表現(状態方程式)で記述する。
【0048】
【数3】
【0049】
ここで、入力u(n)は燃料噴射パルス幅より算出したシリンダ吸入空燃比、出力y(n)は広域空燃比センサ16により検出される空燃比である。
【0050】
なお、(2a)、(2b)の状態方程式に使われる状態変数などは行列であるため記号を太字で記載するのが一般的である。このため例えばx(n)が行列(matrix)であるときは「matx(n)」のように「mat」を記号の前に付けて行列であることを表現している。またnは現時刻を、n+1は次の制御周期の時刻を表している。
【0051】
一般的なシステムの状態方程式は入力の数をm、出力の数をl(m、lは任意の正の整数)として記載されるが、ここでは物理量として把握しやすいよう(2a)、(2b)のように入力を2つ(m=2)、出力を2つ(l=2)として状態方程式を記述している。このとき状態変数matx(n)はx1(n)、x2(n)を2要素とする列ベクトル、また出力maty(n)はy1(n)、y2(n)を2要素とする列ベクトルでもある。実質的には1出力となるように出力行列matCを定めている。すなわち(2b)式よりy1(n)=x1(n)であるのに対してy2(n)=0である。ここでy1(n)には検出空燃比AFSAFを採用する。従って、まとめると次のようになる。
【0052】
y1(n)=x1(n)=AFSAF …(補2)
y2(n)=0 …(補3)
また、(2a)式においてシステム行列matAの要素であるa1、a0、入力行列matBの要素であるb1、b0は(1)式の伝達関数を決定する際に定まっている。 さて、離散系で同定されたシステムに対して、スライディングモード制御を用いて状態変数matx(n)を状態空間内のある軌道に追従させるサーボ系問題を考える。この離散系モデルの誤差の状態量mate(n)を次のように状態変数matx(n)と軌道である目標値の状態量matθ(n)の差で与える。
【0053】
【数4】
【0054】
ここで(3)式の目標値θ1(n)はx1(n)(=AFSAF)に対する目標値であるから、θ1(n)は目標空燃比TGABFである。
【0055】
また同離散系モデルの切換関数を次式で定義する。
【0056】
【数5】
【0057】
図5はスライディングモード制御における誤差の状態量mate(n)の変化を位相平面上に示したものである。誤差の状態量mate(n)は、図中の切換関数までの距離に応じた非線形入力の分で切換関数上に拘束された後、線形入力である等価制御入力により切換関数上を滑る(スライディング状態)ようにして位相平面の原点へと収束する。これにより状態変数matx(n)を目標値の状態量matθ(n)へと収束させることができる。なお、S2が固定の場合、切換関数ゲインmatSの要素であるS1を大きくすれば直線の傾きが急になる(制御ゲインが大きくなる)。
【0058】
なお、状態変数matx(n)の要素が2つであるため切換関数が位相平面上で直線として表され物理的に把握しやすいものとなっているが、状態変数matx(n)の要素が3つになると切換関数は位相空間上で平面となり、さらに要素の数が増すと切換関数は超平面という概念になる。
【0059】
次に線形入力及び非線形入力の具体的な操作量の演算方法を説明する。
【0060】
システムがスライディングモードにある条件(連続系ではσ=0、σドット=0、ただし「σドット」はσの微分値である。)は離散系の場合、
σ(n)=0 …(5a)
Δσ(n+1)=σ(n+1)−σ(n)=0 …(5b)
の条件を満たす。すると(5b)式は次のようになる。
【0061】
Δσ(n+1)
=σ(n+1)−σ(n)
=matS{matx(n+1)−matθ(n+1)}−σ(n)
=matS{matAmatx(n)+matBueq(n)−matθ(n+1)}
−σ(n) …(6)
従ってこの(6)式においてdet(matSmatB)-1≠0であれば線形入力(等価制御入力)は次の式となる。
【0062】
matueq(n)=−(matSmatB)-1matS
×{matAmatx(n)−matθ(n+1)}−σ(n)…(7)
(2a)式、(4)式よりスカラーで記述すると、このシステムの線形入力は次のようになる。
【0063】
ueq(n)=(S1b1+S2b0)-1(a1S1+a0S2+S1 2/S2)
×{x1(n)−θ1(n)} …(8)
次に非線形入力は任意に与えることができるので、ここでは次のように定義する。すなわち外乱に対する分もまとめて1つの関数とすることもできるのであるが、ここでは外乱に対する分をα(n)とは別にβ(n)として導入している。
【0064】
unl(n)={α(n)+β(n)}sgn[σ(n)] …(9)
ただし、β(n)≧Hmax、
α(n)、β(n):正のスカラー値関数、
Hmax :外乱の最大推定値、
ここで(9)式の符号関数sgn[σ(n)]は状態量σ(n)>0のときsgn[σ(n)]=1、σ(n)<0のときsgn[σ(n)]=−1となる関数である。この符号関数は例えば誤差の状態量が図5において切換関数を横切って下側にきたとき次回の制御時に切換関数の上側へと誤差の状態量を戻すために必要となるものである。
【0065】
ここでチャタリングを防止するための非線形入力の条件は次のようになる。
【0066】
(i)σ(n)>0のとき:
0≦σ(n+1)≦σ(n) …(10a)
(ii)σ(n)<0のとき:
σ(n)≦σ(n+1)≦0 …(10b)
これは(10a)の条件式についていえば現時刻nのときよりその次の時刻であるn+1でのほうが誤差の状態量が収束点である0に近い位置にあることを表したものである。
【0067】
(10a)の条件を満足するスカラー値関数α(n)を次にようにして算出す る。(4)式から、
σ(n+1)=matSmate(n+1) …(11)
とする。(2a)、(2b)の状態方程式で表されたシステムに対して、状態量σ(n)=matSmate(n)とするとき、σ(n)=σ(n+1)=σ(n+2)…を満たす入力は(8)式の線形入力であり、このとき(11)式は次のようになる。
【0068】
σ(n+1)
=matS{matx(n+1)−matθ(n+1)}
=matS{matAmatx(n)+matB{unl(n)+ueq(n)}
−matAmatθ(n)}
…
=σ(n)+matSmatBunl(n) …(12)
(12)式より(10a)式を満たす条件は次のようになる。
【0069】
‖matSmatB‖α(n)≦‖σ(n)‖ …(13)
これより(10a)式を満たすスカラー値関数α(n)は、
α(n)=η‖matSmatB‖-1‖σ(n)‖ …(14)
ただし、η:非線形ゲイン(0<η<1)、
σ(n+1)σ(n)>0、
よって非線形入力unl(n)は、
unl(n)
={η‖matSmatB‖-1‖σ(n)‖+β(n)}sgn[σ(n)]
={η|S1b1+S2b0|-1|σ(n)|+β(n)}sgn[σ(n)]…(15)
ただし、0<η<1、σ(n+1)σ(n)>0、
となり、この(15)式によればチャタリングを防止しかつ外乱に対してもロバストとなる。
【0070】
このようにして(8)式により線形入力ueq(n)を、また(15)式により非線形入力unl(n)が演算したので総制御入力である空燃比操作量usl(n)を次式により算出する。
【0071】
usl(n)=κ∫ueq(n)dt+unl(n) …(16)
ただし、κ:積分ゲイン、
(16)式右辺第1項では線形入力ueq(n)を積分しており、そのための積分器26を備えるが(図2参照)、これは可変値としての目標空燃比への収束性の向上及び定常偏差の吸収のため導入したものである。
【0072】
図6のフローチャートはスライディングモード制御を設計するためのもので、これは開発段階で行う。
【0073】
ステップ1でシリンダ内空燃比のステップ応答を測定し(図4参照)、ステップ2では離散系2次の伝達関数Geng(q)をARXモデル(あるいは最小2乗法)を用いて同定する。ステップ3ではこの伝達関数Geng(q)を(2a)、(2b)式で示した離散系2次の状態方程式に変換する。ステップ4では切換関数σ(n)=0を設計する。ステップ5、6、7では線形入力ueq(n)の演算式である(8)式、非線形入力unl(n)の演算式である(15)式、空燃比操作量usl(n)の演算式である(16)式をそれぞれ設計する。
【0074】
次に一般的なスライディングモード制御のサーボ系問題を記述する。
【0075】
仮に
【0076】
【数6】
【0077】
のような正準系のシステムの場合、(17)式の状態変数に目標値θrと出力θyの差を積分した値であるzを付加した次の拡大系を用いる。
【0078】
【数7】
【0079】
拡大系では切換関数を次式で定義する。
【0080】
σ(n)=matSmatx=S1z+S2x1+x2=0 …(19)
拡大系を用いた場合、(19)式中に積分項zがあるため、状態が変化した場合に本来応答性を確保するための非線形入力((15)式)の操作が遅くなり、外乱ロバスト性も低下する。しかしながら、(16)式のように積分項を線形入力に持たせることで、拡大系を用いた場合であっても応答性を低下させることなく目標空燃比へと収束させることができる。
【0081】
図7のフローチャートは空燃比フィードバック補正値ALPHAを演算するためのもので、理論空燃比での運転中に一定時間毎またはクランク角の基準位置信号(Ref)の入力毎に実行する。これは図2のスライディングモードコントローラ22の各ブロック23〜29をフローチャートで再構成したものである。
【0082】
ステップ11、12では目標空燃比TGABF、実空燃比AFSAFを読み込み、ステップ13で状態変数matxの要素である状態量x1、x2を算出する。すなわち(2b)式よりy1=x1、y2=0である。ここでy1は検出空燃比AFSAFであるからx1=AFSAFである。また(17)式は変数が2つ(x1、x2)の連立2元方程式であるから、これをx1、x2について解けばx2がx1の関数として得られるので、これにx1=AFSAFを代入してやればx2が得られる。
【0083】
ステップ14では状態変数matx(n)、目標値の状態量matθ及び切換関数ゲインmatSを用いて現時刻nにおける切換関数σ(n)=0を算出する。ステップ14は図2の切換関数演算部23に相当する。
【0084】
ステップ15では状態量σ(n)、非線形ゲインη、切換関数ゲインmatS、入力行列matB、スカラー値関数β(n)、符号関数sgn[σ(n)]を用いて(15)式により現時刻nにおける非線形入力unl(n)を算出する。ステップ5は図2の非線形入力演算部24に相当する。
【0085】
ステップ16では状態量x1(n)、その目標値θ1(n)、切換関数ゲインmatS、入力行列matB、システム行列matAを用いて(8)式により現時刻nにおける線形入力ueq(n)を算出する。ステップ6は図2の線形入力演算部25に相当する。
【0086】
ステップ17ではこの線形入力ueq(n)を積分した後、ステップ18で非線形入力unl(n)とこの積分した線形入力とを加算して現時刻nにおける空燃比操作量usl(n)を算出する。ステップ17、18は図2の積分器26、加算器27に相当する。
【0087】
ステップ19では空燃比操作量usl(n)を
ALPHA=CYLAF/(CYLAF+usl(n))×100…(補4)
ただし、CYLAF:シリンダ吸入空燃比、
の式により空燃比フィードバック補正値ALPHAに換算し(単位が空燃比から%に変換される)、ステップ20でリミッタ処理を実行する。ステップ19、20は図2の換算部28、補正制限部29に相当する。
【0088】
なお、(補4)式のシリンダ吸入空燃比CYLAFは次の式により演算される値である。
【0089】
CYLAF=14.7×TP
/{TP×TFBYA×(ALPHA+KBLRC−1)}…(補5)
次にフィードバックを行う場合の最適な切換関数ゲインmatSの要素S1を算出するための積分ゲインの設定方法を説明する。なお、切換関数ゲインのもう一つの要素S2については後述する考察によりS2=1または−1となるので、一方の要素S1についてだけ考えておけばよいことになる。
【0090】
空燃比フィードバック制御の場合、シリンダ内の空燃比が急変すると運転性や排気性能に悪い影響を及ぼすので空燃比操作量が大きくなりすぎないように限界値で制限する必要がある。その一方で空燃比操作量を小さくすると目標空燃比への収束性が悪くなる。従って目標値への収束性と排気、運転性能とはトレードオフの関係を有する。そこで目標値への応答の時定数が所望の値となるときの積分ゲインをμとすると線形入力の(8)式及び空燃比操作量の(16)式右辺の積分項からμは次のように置くことができる。
【0091】
μ=κ(S1b1+S2b0)-1(a1S1+a0S2+S1 2/S2) …(20)
ここで、線形入力の積分ゲインκを1とすると図5において切換関数である直線の傾きを表すS1は次式となり、所望の応答を実現するS1を演算できる。
【0092】
S1 =
{−S2(a1−μb1)±S2{(a1−μb1)2−(a0−μb0)}1/2}
/2 …(21)
なお、(21)式のS1は2値を採りうるので安定性判別を行って安定性のよいほうを選択する。
【0093】
図8のフローチャートは最適な切換関数ゲイン(S1)を設定するためのものである。なおこれは図6のスライディングモード制御設計フローチャートにおけるステップ4の内容の一部をなすものである。
【0094】
ステップ21で所望の応答が得られる空燃比操作量となる積分ゲインμを設定し(μは経験により適当な値がわかっている)、ステップ22ではこの積分ゲインμに基づき上記の(21)式より切換関数ゲインmatSの要素S1を算出する。なお、(21)式によりS1を算出する際にS2が定まっている必要があるが、これは後述するようにa0>0のとき1に、またa0<0のとき−1になる値である。
【0095】
次に積分ゲインμを一定として空燃比のフィードバック制御を行った場合のALPHAの変化を図9、図10に示すと、図9は低回転速度時の、これに対して図10は高回転速度時のものである。ALPHAを固定時間間隔(例えば10ms毎のジョブ)で演算する場合、回転速度の上昇に伴い単位時間当たりの噴射回数が増加するため1噴射当りのALPHAの変化代が例えば5%から2%へと減少する。これにより低回転速度においてマッチングした積分ゲインμを高回転速度域においてもそのまま使用すると、ALPHAの変化代が減少して応答性が悪化する。これを回避するためには積分ゲインμを回転速度に応じて変化させることが必要であり、このとき図11のように高回転速度域でも低回転速度時と同じ応答性を確保することが可能となる(1噴射当りのALPHAの変化代が5%へと回復している)。
【0096】
図12のフローチャートは積分ゲインμを演算するためのものである。
【0097】
ステップ31では回転速度を読み込み、ステップ32でこの回転速度に応じて積分ゲインの回転速度補正係数KNEを算出する。ステップ33では積分ゲイン基本値μ0にこの補正係数KNEを乗算した値を積分ゲインμとして算出する。ここで積分ゲイン基本値μ0は最低の回転速度時にマッチングした値である。このようにして演算された積分ゲインμを用いて上記の(21)式によりS1が演算され、このS1が図7の空燃比フィードバック補正値演算フローチャートにおけるステップ15、16で非線形入力、線形入力の算出に用いられる。
【0098】
次に(4)式の状態量σ(n)を(3)式によって変形する。
【0099】
σ(n)=matSmate(n)
=S1(x1(n)−θ1)+S2(x2(n)−θ2)
=S1(x1(n)−θ1)−S2a0(x1(n−1)−θ1)…(22)
誤差の状態量mate(n)が切換関数をよぎる前に誤差の状態量の符号が変化するためには(22)式右辺の第1項と第2項の符号は逆である必要があるので次の条件を仮定する。
【0100】
(i)a0>0のとき :S1=S>0、S2=1 …(補6)
(ii)a0<0のとき:S1=S>0、S2=−1 …(補7)
このときの状態量σ(n)を成分で記述すると次のようになる。
【0101】
(i)α0>0のとき:
σ(n)=S{x1(n)−θ1}+{x2(n)−θ2} …(23)
(ii)α0<0のとき:
σ(n)=S{x1(n)−θ1}−{x2(n)−θ2} …(24)
また(補6)、(補7)式を用いると、(8)式の線形入力、(15)式の非線形入力及び(16)式の総制御入力(空燃比操作量)は次の(25)式〜(30)式のように書き直される。
〈1〉線形入力(等価制御入力):
(i)a0>0のとき:
ueq(n)=(Sb1+b0)-1(a1S+a0+1)×{x1(n)−θ1(n)}…(25)
(ii)a0<0のとき:
ueq(n)=(Sb1−b0)-1(a1S−a0−1)×{x1(n)−θ1(n)}…(26)
〈2〉非線形入力:
(i)a0>0のとき:
unl(n)={η|Sb1+b0|-1|σ(n)|+β(n)}×sgn[σ(n)]…(27)
(ii)a0<0のとき:
unl(n)={η|Sb1−b0|-1|σ(n)|+β(n)}×sgn[σ(n)]…(28)
ただし、0<η<1、σ(n+1)σ(n)>0、
〈2〉総制御入力(空燃比操作量):
(i)a0>0のとき:
(ii)a0<0のとき:
図13のフローチャートはシステム行列の要素a0の値に応じた総制御入力を演算するためのものである。これは図7の空燃比フィードバック補正値演算フローチャートにおけるステップ14からステップ18の具体例をなすものである。
【0102】
ステップ41ではシステム行列matAの要素a0の符号をみる。a0>0となったときにはステップ42〜45で切換関数、線形入力、非線形入力、総制御入力の各演算を行う。ステップ1でa0<0となったときにはステップ46〜49で同様の演算を行う。
【0103】
ここで、本実施形態(第1実施形態)の作用を説明する。
【0104】
本実施形態によれば非線形性の強いエンジンのようなプラントであっても運転領域毎に空燃比ステップ応答を測定することにより運転領域毎の伝達関数Geng(q)を同定することが可能である。従ってこの離散系2次の伝達関数Geng(q)を(2a)、(2b)式に示す離散系2次の状態方程式に変換し、この離散系2次の状態方程式に基づいて空燃比センサ16により検出される排気の空燃比AFSAFが目標空燃比TGABFと一致するようにスライディングモード制御を用いた空燃比のフィードバック制御を行うことで、連続系の物理モデルからスライディングモード制御に用いる状態方程式を算出する先行技術の場合よりも精度良くプラントモデルを構築することができると共にPID制御のような古典制御を用いる場合より応答性とロバスト性が向上する。かつステップ応答測定より一意的に切換関数が決まるのでスライディングモード制御の切換関数及び線形入力の設計が容易となる。
【0105】
また、変化する目標値(目標空燃比)への追従性を良くし及び定常偏差を吸収するため目標値追従問題であるサーボ系では状態方程式に積分項を追加した拡大系を用いるのが一般的であるのでスライディングモード制御においても拡大系を用いたサーボ系としたとき、切換関数及び非線形入力に積分項を持つことになり応答性が低下するのであるが、本実施形態によれば積分器26を追加して設け線形入力ueq(n)に代えてこれを積分した値を用いるようにしたので、応答性を確保しつつ定常偏差の吸収が可能となる。
【0106】
また、目標空燃比への収束を早めようと過大な空燃比操作量を与えたのでは運転性能や排気性能が悪化する可能性があるため各領域毎に最適な切換関数ゲインmatS及び積分ゲインμを決定する必要がありこの双方を最適化するのは非常に工数がかかるのであるが、本実施形態によれば積分ゲインμを決定しさえすれば、この積分ゲインμより(21)に示した一定の関係式を用いて切換関数ゲインmatSを算出することができるので、切換関数の設計が容易となる。
【0107】
また、フィードバック制御を固定時間間隔で演算する場合に回転速度が上昇すると単位時間当たりの燃料噴射イベントが増加し見かけ上フィードバックゲインが落ちてしまい高回転速度域での目標値への追従性が悪化するのであるが、本実施形態によれば積分ゲインμを回転速度に応じて演算するので、フィードバック制御を固定周期で行った場合でも見かけ上のゲインの低下を防ぐことが可能となり、全運転領域で最適な積分ゲインを得ることができる。
【0108】
また、本実施形態によればシステム行列matAの要素であるa0の符号(システム行列の状態)によって切換関数ゲインmatSの要素であるS2の符号を切換えることでシステム行列の状態が変化しても空燃比操作量を正しい方向に付加することが可能となっている。
【0109】
次に本願の第2実施形態を説明する。
【0110】
ここで、第2実施形態と第1実施形態とでは創作した時期にずれがあり、本願の第2実施形態は、本願の基礎出願(特願2001−211571号)とほぼ同時期に提案したもう一つの先願装置(特願2001−224162号)にもヒントを得てなされているので、次にはそのもう一つの先願装置(このもう一つの先願装置を、以下「先願装置2」という。)の実施形態を説明し、その後に本願の第2実施形態を説明する。
【0111】
本願の基礎出願ではプラントに無駄時間がないシンプルなシステムで考えた。しかしながら実際のプラントでは無駄時間を無視できないので、次には無駄時間を有するプラントについて考える。
【0112】
図14は無駄時間を有するプラントを対象とするシステムである場合のエンジンコントローラ11の制御ブロック図で、図2に対して状態予測部31を追加している。この状態予測部31はシリンダ吸入空燃比演算部32、モデルスケジュール部33、プラントモデル状態変数演算部34、予測状態変数演算部35からなる。状態予測部31により実行される制御内容は後述するフローチャート(図17参照)によりまとめて説明する。従ってここでは図14に示す個々のブロック32〜35の働きの説明は省略する。
【0113】
次に無駄時間を有するプラントを対象とするシステムについての考え方を詳述する。
【0114】
制御対象である無駄時間を有するプラント(以下「制御対象プラント」という)は次のように記述できる。
【0115】
matx(n+1)=matAmatx(n)+matBu(n−d) …(31a)
maty(n)=matCmatx(n) …(31b)
ただし、matx(n) :制御対象プラントの状態変数、
maty(n) :制御対象プラントの出力、
u(n−d):制御対象プラントの入力、
matA :制御対象プラントのシステム行列、
matB :制御対象プラントの入力行列、
matC :制御対象プラントの出力行列、
d :制御対象プラントの無駄時間、
これを上記の(2a)、(2b)式と比較すれば(31a)のu(n−d)が違うだけである。
【0116】
また上記の(2a)、(2b)式は無駄時間の無いプラント(以下「プラントモデル」という。)を対象とするシステムの状態方程式であり、これを制御対象プラントの場合と区別して扱うためxの後に「M」の添え字を付け改めて次のように記載する。
【0117】
matxM(n+1)=matAmatxM(n)+matBu(n) …(32a)
matyM(n)=matCmatxM(n) …(32b)
ただし、matxM(n) :プラントモデルの状態変数、
matyM(n) :プラントモデルの出力、
u(n) :プラントモデルの入力、
matA :プラントモデルのシステム行列、
matB :プラントモデルの入力行列、
matC :プラントモデルの出力行列、
ここで、プラントモデルの伝達関数は上記の(1)式であるが、制御対象プラントの伝達関数は次の通りである。
【0118】
Geng(z)=(b1z-1+b0z-2)/{1+(z-1−d)a1+(z-1−d)
2a0} …(補8)
ただし、Geng(q):制御対象プラントの伝達関数、
a1、a0 :微分係数、
b1、b0 :微分係数、
d :無駄時間、
さて制御対象プラントの有する無駄時間が空燃比に与える影響を排除するために図15に示すようなスミス法を用いて補償する手法が知られている。このスミス法によればモデル無駄時間dM経過後の制御対象プラントの状態変数(この状態変数を以下「予測状態変数」という。)は一般に
【0119】
【数8】
【0120】
のように表される。ここで(33)式左辺のmatxに付けた山型(ハット)の印は予測値を表すので、この表示を以下「matxhat」とも表記する。
【0121】
(33)式を(32a)、(32b)式を用いて変形すると次式が得られる。
【0122】
matxhat(n)
=matx(n+dM)
=matAdmatx(n)+matxM(n)−matAdmatxM(n−dM)…(34)
なお(34)式右辺のmatxM(n−dM)はモデル無駄時間dM経過後のプラントモデルの状態変数である。
【0123】
しかしながらスミス法は目標値入力に対してはよい応答を与えることができるが、外乱に対する過渡応答は必ずしも良くないことも知られている。そのために図16に示すような外乱補償器を追加する手法が提案されている。外乱補償器の設計手法には様々なものが提案されているが(『むだ時間システムの制御』コロナ社発行参照)、本願発明では図16のブロック図から実際の動特性に基づいた検討を行い、その検討結果に基づいて外乱補償器の伝達関数M(z)の設計を行った。この検討結果を結論から先に述べると、状態変数matx(n)が可観測であることを考慮して予測状態変数matxhat(n)を次のように表す。
【0124】
matxhat(n)
=matx(n+dM)
=matM(n){matx(n)−matxM(n−dM)}+matxM(n)…(35a)
matM(n)=1 …(35b)
または
matxhat(n)
=matx(n+dM)
=matx(n)−matxM(n−dM)+matxM(n) …(36)
ただし、matxhat(n) :モデル無駄時間dM後の制御対象プラントの状態変数、
matx(n) :制御対象プラントの状態変数、
matxM(n) :プラントモデルの状態変数、
matxM(n−dM) :モデル無駄時間dM経過後のプラントモデルの状態変数、
matM(n) :外乱補償器のシステム行列、
なお、(36)式をスカラー表示で表すと予測状態変数matxhat(n)の状態量(この状態量を以下「予測状態量」という。)x1hat(n)、x2hat(n)は次のようになる。
【0125】
x1hat(n)=x1(n+dM)=x1(n)−x1M(n−dM)+x1M(n)…(37a)
x2hat(n)=x2(n+dM)=x2(n)−x2M(n−dM)+x2M(n)…(37b)
上記(36)式の意味するところを外乱がない場合と外乱がある場合について分けて述べる。
〈1〉外乱がない場合:
(36)式右辺の第2項以降の部分に着目すると、外乱が無くプラントモデルが正確に制御対象プラントを記述しているとすればモデル無駄時間dM経過後のプラントモデルの状態変数matxM(n−dM)は実際に観測される状態変数matx(n)と等しくなるため(matxM(n−dM)=matx(n))(36)式右辺はプラントモデルの状態変数matxM(n)のみが残る。後に残ったこのプラントモデルの状態変数matxM(n)は実際の無駄時間d経過後の制御対象プラントで検出される状態変数matx(n)を予測しており、従ってこれを予測状態変数matxhat(n)とすることができる。この場合にはフィードバックコントローラは予測状態変数matxhat(n)をパラメータにフィードバック制御する形となる。
〈2〉外乱がある場合:
一方、外乱gが付加される場合またはプラントモデルが制御対象プラントを正確に記述できない場合にはモデル無駄時間dM経過後のプラントモデルの状態変数matxM(n−dM)は実際に観測される制御対象プラントの状態変数matx(n)と異なる結果となるため、このままでは(36)式右辺第2項以降のいずれも消去することができない。
【0126】
ここで外乱gがステップ入力であるかまたは制御対象プラントの状態変数matx(n)の変化がステップ応答であると仮定すると、ステップ変化からモデル無駄時間dM経過後にプラントモデルの状態変数matxM(n)とプラント無駄時間dM経過後のプラントモデルの状態変数matxM(n−dM)とが等しい値となる(matxM(n−dM)=matxM(n) )。そこで外乱補償器のシステム行列matM(n)=1とすると、(35)式右辺は実際に観測される制御対象プラントの状態変数matx(n)のみとなる。この場合、フィードバックコントローラは制御対象プラントの状態変数matx(n)をパラメータにフィードバックする形となり、状態予測フィードバックではないものの外乱の影響を受けずにフィードバックすることが可能となる。
【0127】
このように図16において外乱補償器の伝達関数M(z)=1とすることでスミス法に対して外乱補償器を用いた無駄時間を補償する式が得られている。
【0128】
図17のフローチャートは制御対象プラントの予測状態変数matxhat(n)を演算するためのものである。
【0129】
ステップ51では制御対象プラントの状態量x1(n)、x2(n)を算出する。ここでx1(n)=AFSAFである。x2(n)は後述するようにして求める。これら2つの状態量x1(n)とx2(n)から制御対象プラントの状態変数matx(n)が定まる。
【0130】
ステップ52ではシリンダ吸入空気量Qcを算出する。このシリンダ吸入空気量Qcは例えば次式のようにシリンダ吸気量パルス幅TP[ms/cycle]より逆算して算出している。
【0131】
Qc[kg/cycle]
=TP[ms/cycle]/KCONST#[ms/kg]…(補9)
ステップ53ではこのシリンダ吸入空気量Qcよりプラントモデルのシステム行列matA、入力行列matB、モデル無駄時間dMを算出する。これらの算出については図18のフローにより説明する。図18のフローチャートは図17のステップ53のサブルーチンである。
【0132】
ステップ61ではシリンダ吸入空気量Qcを読み込む。ステップ62ではこのシリンダ吸入空気量Qcに応じてシステム行列matAの要素a1、a0と入力行列matBの要素b1、b0を選択する。これは、エンジンの空燃比の動特性が運転領域に対して強い非線形を有し一つだけの動特性モデルで全運転領域を表すことが不可能であることから(運転領域毎にシステム行列matA、入力行列matBが変化しプラントモデルの離散系2次の状態方程式が違ったものになる)、シリンダ吸入空気量Qcにより運転領域を例えば8つに分けて各運転領域毎に異なる値の要素a1、a0、b1、b0を入れておくことにより運転領域毎にプラントモデルの離散系2次の状態方程式を切換えるようにするためのものである。従ってシリンダ吸入空気量Qcが今Qc1とQc2の間にあればモデル#2に格納されている要素a1、a0、b1、b0を取り出す。なお、各運転領域毎の要素a1、a0、b1、b0は各運転領域毎の伝達関数を求めることにより得られる。
【0133】
ステップ63ではシリンダ吸入空気量Qcより所定のテーブルを検索することによりモデル無駄時間dMを演算する。この値はシリンダ吸入空気量Qcが大きくなるほど小さくなる値である。これは燃料噴射から空燃比センサ16が実際の空燃比を検出するまでの無駄時間がシリンダ吸入空気の流速に依存し低流速域で無駄時間が大きくなるため、全運転領域を単一の無駄時間モデルで記述することはできない。そこでモデルシリンダ吸入空気量Qcに対応して変化する実際の無駄時間に対応させて無駄時間dMを算出するようにしたものである。
【0134】
図17に戻りステップ54ではシリンダ吸入空燃比CYLAFを算出する。すなわちシリンダ内燃料噴射パルス幅(壁流補正なし)TIPSCYLを
TIPSCYL=TP×TFBYA×(ALPHA+KBLRC−1)…(補10)
の式により算出し、これから上記の(補9)式と同様にしてシリンダ吸入燃料量Fcを次のように算出する。
【0135】
Fc[kg/cycle]
=TIPSCYL[ms/cycle]/KCONST#[ms/kg]…(補11)
ここで(補10)式のようにシリンダ内燃料噴射パルス幅TIPSCYLを空燃比フィードバック補正値ALPHAと空燃比学習値KBLRCにより修正した値に基づいて算出するようにしたのは次の理由による。制御対象プラントの空燃比センサ16や燃料噴射弁5には個体差があるので、空燃比フィードバック補正値ALPHAと空燃比学習値KBLRCにより修正する前の値に基づいてシリンダ内燃料噴射パルス幅を算出したのでは、空燃比センサ16や燃料噴射弁5の個体差によってプラントモデルの状態方程式に誤差が生じてしまう。そこで空燃比センサ16や燃料噴射弁5に個体差にがあってもプラントモデルの状態方程式に誤差が生じないように空燃比フィードバック補正値ALPHAと空燃比学習値KBLRCにより修正した値に基づいてシリンダ内燃料噴射パルス幅TIPSCYLを算出するようにしたものである。
【0136】
(補9)、(補11)式より空気過剰率λcylはλcyl=Qc/Fcであるから、シリンダ吸入空燃比CYLAFは
CYLAF=λcyl×14.7 …(補12)
の式により求めることができる。(補9)、(補11)式を(補12)式に代入すると、上記の(補5)式が得られる。
【0137】
ステップ55ではこのシリンダ吸入空燃比CYLAFを入力u(n)とする。
【0138】
ステップ56では入力u(n)、システム行列matA、入力行列matBを用いて上記(32a)式の漸化式を用いてプラントモデルの状態量x1M(n)とx2M(n)を算出する。これら2つの状態量x1M(n)とx2M(n)からプラントモデルの状態変数matxM(n)が定まる。
【0139】
ステップ57ではこのようにして求めた制御対象プラントの状態変数matx(n)、プラントモデルの状態変数matxM(n)、モデル無駄時間dMから予測状態量x1hat(n)とx2hat(n)を上記の(37a)、(37b)式を用いて算出する。これら2つの予測状態量x1hat(n)とx2hat(n)から予測状態変数matxhat(n)が定まる。
【0140】
図17は図14の状態予測部31をフローチャートで構成したものでもある。両者を対応づけると、図17のステップ53が図14のモデルスケジュール部33に、ステップ54が図14のシリンダ吸入空燃比演算部32に、ステップ56が図14のプラントモデル状態変数演算部34に、ステップ57が図14の予測状態変数演算部35に相当する。
【0141】
ここで図14の状態予測部31で行われるところを物理的な実体に即した状態量に基づいて再度述べると次のようになる。プラントモデル状態変数演算部34では現時刻nでのプラント入力u(n)であるシリンダ吸入空燃比CYLAFに基づいてそのときの運転領域におけるプラントモデルの現時刻nでの空燃比(モデル空燃比)を演算し、予測状態変数演算部35では図16に示した外乱補償型スミス法を用いて現時刻nでのモデル空燃比と実際に検出される現時刻nでの空燃比とから制御対象プラントの現時刻nよりモデル無駄時間dMのちの触媒7上流の空燃比を予測(推定)する。
【0142】
このようにして演算される予測空燃比がスライディングモードコントローラ22に渡されると、切換関数演算部23では予測空燃比及び目標空燃比TGABFに基づいて現時刻nにおける切換関数を上記(4)式に代え次の式により演算する。
【0143】
σ(n)=S1(x1hat(n)−θ1(n))+S2(x2hat(n)−θ2(n))=0…(38)
ただし、σ(n):状態量、
また線形入力演算部25では線形入力を上記(7)式に代えて次式により演算する。
【0144】
ueq(n)=−(matSmatB)-1matS
×{matAmatxhat(n)−matθ(n+1)}−σ(n)…(39)
(36)式、(38)式よりスカラーで記述すると、(39)式は次のようになる。
【0145】
ueq(n)=(S1b1+S2b0)-1(a1S1+a0S2+S1 2/S2)
×{x1hat(n)−θ1(n)} …(40)
ところで、モデル無駄時間dMが小の運転領域から大の運転領域へと切換えられる場合に小領域で噴射した燃料による検出空燃比が大領域で過剰に無駄時間分遅らされ(切換時の予測状態量x2hat(n)の誤差が大きくなる)、これに起因して空燃比が変動することが実験により判明している。これについて図19を用いて具体的に説明すると、制御対象プラントの状態量x2(n)に対する目標値θ2(n)、状態量x2(n)、プラントモデルの状態量x2M(n)、予測状態量x2hat(n)の演算式は次の通りである。
【0146】
θ2(n)=−a0×θ1(n)+b0×u(n−dM−1) …(41)
x2(n)=−a0×x1(n−1)+b0×u(n−dM−1) …(42)
x2M(n)=−a0×x1M(n−1)+b0×u(n−1) …(43)
x2hat(n)=x2(n+dM)
=x2(n)−x2M(n−dM)+x2M(n) …(44)
ここで(41)、(42)、(43)式は次のようにして得られるものである。まず(31a)式よりy(n)=x1(n)であるので、出力目標値θ1はそのままx1(n)の目標値となる。(31a)式を展開すると次のようになる。
【0147】
x1(n+1)=−a1x1(n)+x2(n)+b1u(n−d) …(補13)
x2(n+1)=−a0x1(n)+b0u(n−d) …(補14)
(補14)式においてn+1に代えてnをおくと
x2(n)=−a0x1(n−1)+b0u(n−1−d) …(補15)
となり(42)式が得られる。x2(n)とx2M(n)の間にはx2(n)に無駄時間がありx2M(n)に無駄時間がないとの違いがあるだけなので、(補15)式のu(n−1−d) よりdを除くとx2M(n)の式となる。すなわち
x2M(n)=−a0x1(n−1)+b0u(n−1) …(補16)
となり(43)式が得られる。
【0148】
状態量x2(n)の目標値は(補14)式より
θ2(n+1)=−a0θ1(n)+b0u(n−d) …(補17)
である。これより
θ2(n)=−a0θ1(n−1)+b0u(n−d−1) …(補18)
となる。θ1(n)=θ1(n−1)であるから、
θ2(n)=−a0θ1(n)+b0u(n−d−1) …(補19)
となり(41)式が得られる。
【0149】
さて図19に示したようにシリンダ吸入空気量Qcの減少で(モデル入力u(n)は変わらないと仮定する)モデル無駄時間dMが2から3へと変化しこれに対して目標値θ2(n)が減少すると仮定したとき、この目標値θ2(n)を追っかけるように状態量x2(n)、x2M(n)がいずれも減少する。予測状態量x2hat(n)はモデル無駄時間dMが3になったとき
x2hat(n)=x2(n)−x2M(n−3)+x2M(n) …(補20)
となり、この値は時刻nにおいてn+3での状態量x2(n)を予測するものである。値を簡単にするため状態量x2(n)、x2M(n)がいずれも3から1へと減少したとすると、時刻nでの状態量x2(n)、x2M(n)はともに1であり、x2M(n−3)はn−3でのx2M(n)の値であるから3である。故に時刻nでの(補20)式は
x2hat(n)=1−3+1=−1
となりこれはx2(n)の値より小さい。そして状態量x2hat(n)が−1となる状態はn+3の直前まで(切換タイミングより切換後の領域でのモデル無駄時間が経過する直前まで)続き、n+3のタイミングでx2(n)と同じ1になる(図19の実線参照)。しかしながら、予測値としてのx2hat(n)の値は制御上は同図においてnからn+3の直前までの間も一点鎖線で示したように1であることが望ましい。従ってnからn+3の直前までの間も上記の(44)式により演算するx2hat(n)の値に基づくのではモデル誤差が生じる。
【0150】
そこでモデル無駄時間dMが大きくなる側への切換時には切換直後より切換後の領域に対するモデル無駄時間が経過するまでx2hat(n+dM)を上記の(44)式により演算するのではなくx2(n)の値を用いる。つまりnからn+3の直前までの間は
x2hat(n)=x2(n) …(補21)
として外乱補償形スミス法による予測を停止する。
【0151】
図20のフローチャートは図17のステップ57の内容をなすものである。
【0152】
ステップ71でシリンダ吸入空気量Qcを読み込み、ステップ72でそのQcに基づいてモデル無駄時間dMが大きくなる側に運転領域が切換わったかどうかをみる。モデル無駄時間dMが大きくなる側へと切換わったタイミングにあれば図16に示した外乱補償形スミス法による予測を停止するためステップ73に進み予測状態変数matxhat(n)=matx(n)とする。そうでないときにはステップ72よりステップ74に進みモデル無駄時間dMが大きくなる側への切換タイミングより切換後の運転領域に対応する無駄時間dMが経過したかどうかをみる。モデル無駄時間dMが大きくなる側への切換タイミングより切換後の運転領域に対応する無駄時間dMが経過していなければステップ73の処理を実行し、モデル無駄時間dMが大きくなる側へのモデル切換タイミングより切換後の運転領域に対応する無駄時間dMが経過したときステップ75に進み図16に示した外乱補償形スミス法による予測を行う。
【0153】
次に、無駄時間を有するプラントを対象とするシステムである場合の先願装置2の実施形態の作用を説明する。
【0154】
先願装置2の実施形態では燃料噴射(燃料供給)により定まる空燃比が空燃比センサ16(空燃比検出手段)により検出されるまでの無駄時間を、スミス法に外乱補償器を加えることにより補償する無駄時間補償手段を設け、この無駄時間補償手段により無駄時間の補償された空燃比が目標空燃比と一致するようにスライディングモード制御を用いた空燃比のフィードバック制御を燃料供給量の増減で行う。詳細には状態予測部31が、制御対象プラント(実際のエンジン)の排気系及び空燃比センサ16の動特性を無駄時間を有する離散系2次の伝達関数で近似しシリンダ吸入空燃比のステップ応答よりARXモデルで同定することによりこの無駄時間を有する離散系2次の伝達関数を設定し、この無駄時間を有する離散系2次の伝達関数を制御対象プラントについての無駄時間を有する離散系2次の状態程式に変換し、プラントモデル(無駄時間のない仮想のエンジン)の排気系及び空燃比センサ16の動特性を無駄時間のない離散系2次の伝達関数で近似しシリンダ吸入空燃比のステップ応答よりARXモデルで同定することによりこの無駄時間のない離散系2次の伝達関数を設定し、この無駄時間のない離散系2次の伝達関数をプラントモデルについての無駄時間のない離散系2次の状態方程式に変換し、スミス法に外乱補償器を加えて無駄時間補償を行った状態方程式を制御対象プラントについての無駄時間を有する離散系2次の状態方程式の状態変数matx(n)とプラントモデルについての無駄時間のない離散系2次の状態方程式の状態変数matxM(n)とモデル無駄時間dMとに基づいて演算する。そしてスライディングコントローラ22が、このスミス法に外乱補償器を加えて無駄時間補償を行った状態方程式の状態変数matxhat(n)と目標値の状態量matθ(n)の差を誤差の状態量mate(n)として演算し、この誤差の状態量mate(n)に切換関数ゲインmatSを乗算して状態量σ(n)を演算し、この切換関数ゲインの乗算された状態量σ(n)に基づいて非線形入力unl(n)を演算し、同じくこの切換関数ゲインの乗算された状態量σ(n)に基づいて線形入力ueq(n)を演算し、これら非線形入力と線形入力の和を総制御入力usl(n)として算出し、この総制御入力に基づいて燃料供給量のフィードバック制御を行っている。
【0155】
このように構成することで、無駄時間を有するプラントを制御対象としてフィードバックゲインを大きくとっても空燃比が振動的になることがなく、かつ無駄時間の影響が特に大きいアイドル状態付近の低空気流量域においても先行技術と相違してフィードバックゲインを大きくできる。
【0156】
また、制御対象プラントには空燃比センサ16や燃料噴射弁5(燃料供給手段)の個体差により誤差が生じるが、こうした個体差による誤差はシリンダ吸気量パルス幅TP(燃料供給量)を空燃比フィードバック補正値ALPHAや空燃比学習値KBLRCで修正する手段により解消される。従って空燃比フィードバック補正値ALPHAまたは空燃比学習値KBLRCで修正された燃料噴射パルス幅であるシリンダ内燃料噴射パルス幅TIPSCYL(燃料供給量)に基づいてシリンダ吸入空燃比CYLAFを演算するようにした先願装置2の実施形態によれば制御対象エンジンの個体差による誤差をなくすことができる。
【0157】
また、制御対象プラント(実際のエンジン)の有する空燃比の動特性はエンジン負荷及びエンジン回転速度によって変化するため1つの状態方程式だと全ての運転領域に最適とならないのであるが、プラントモデルについての無駄時間のない離散系2次の状態方程式を負荷と回転速度によって定まるシリンダ吸入空気量Qcにより多段階に切換えるようにした先願装置2の実施形態によれば、負荷及び回転速度から定まるどのような運転条件でもプラントモデルについての無駄時間のない離散系2次の状態方程式を最適に与えることができる。またこれにより空燃比フィードバック制御を固定時間間隔で実行した場合でも、単位時間当たりの燃焼回数の影響を排除できる。
【0158】
また、先願装置2の実施形態ではモデル無駄時間dMをシリンダ吸入空気量Qcに応じて演算するので制御対象プラントの実際の無駄時間dに近い値を推定できる。
【0159】
また、モデル無駄時間dMが大きくなる側へと切換わる場合にもスミス法に外乱補償器を加えての無駄時間補償を継続するとフィードバックの過補正による空燃比変動が生じるのであるが、先願装置2の実施形態によればモデル無駄時間dMが大きくなる側へと切換わったタイミングより切換後の運転領域に対応する無駄時間dMが経過する直前まで過補正の原因となるスミス法に外乱補償器を加えての無駄時間補償を行わないことにしたので、モデル無駄時間dMが大きくなる側へと切換わる場合に発生していたフィードバックの過補正による空燃比変動を抑えることができる。
【0160】
これで、先願装置2の実施形態の説明を終える。
【0161】
さて、本願の基礎出願後の実験により本願の上記第1実施形態には次の問題があり、なお改良の余地があることがわかった。
【0162】
問題点1:上記(補14)式によれば、状態量x1(n)とx2(n)の関係が複雑であり、入力u(n)が決まらないと、状態量x2(n)を計算できない。このため切換関数の構成を上記(4)式のようにせざるを得ず、状態変数x2(n)の物理的な意味が不明確になっていた。
【0163】
問題点2:上記(4)式の状態量σ(n)は次式のようにも記載できる。
【0164】
σ(n)=S1(x1(n)−θ1(n))−(x1(n−1)−θ1(n−1))…(51)
この(51)式は次のようにして導いたものである。すなわち、上記の(補15)式、(補18)式を上記(4)式に代入する。
【0165】
ここで、(52)式のS1/a0S2を改めてS1と定義すれば、(51)式が得られる。
【0166】
(51)式により状態量σ(n)を定義した場合、目標値θ1(n)の変化時には(51)式右辺第1項、第2項とも実値と目標値に偏差を生じさせるためにσ(n)の値が変化するが、目標値θ1(n)への到達以前に状態量σ(n)の符号を変化させるために、(51)式右辺は差分式になっており、結果的にσ(n)の値は偏差量に対して小さなものとなる。一方、(51)式の切換関数のゲインS1は応答性能によって決定されるため必要以上に大きな値とすることはできない。このため小さな値にしかならないσ(n)の値に応じて空燃比操作量usl(n)が決定されるとなると、目標値θ1(n)の変化当初の空燃比フィードバック補正値ALPHAの変化が図21のように小さなものとなる場合がある(図21下段の実線参照)。言い換えると、本願の第1実施形態は出力maty(n)と状態量x1(n)が一致するように構成したため((補2)式、(補3)式参照)、状態量x2(n)に対しては物理的な意味を持たすことができず、従って状態量x2(n)の動作を物理的に説明するのが難しい構成であった。このため、切換関数の設計が最適な形となっておらず、目標値θ1(n)への追従性が十分でなかったのである(図21上段の実線参照)。
【0167】
そこで、第2実施形態では、
x2(n)=x1(n−1)…(53)
の式が成立するように無駄時間を有する制御プラントと、無駄時間のないプラントモデルとについて、システム行列、入力行列、出力行列の要素(a1、a0、b1、b2、1、0)を組み換えてみたところ、無駄時間を有する制御プラントについての離散系2次の状態空間表現(状態方程式)を、上記(31a)式、(31b)式に代えて、次の(54a)式、(54b)式で、また無駄時間のないプラントモデルとについての離散系2次の状態空間表現(状態方程式)を、上記(32a)式、(32b)式に代えて、次の(55a)式、(55b)の式で記述すれば、(53)式が成立することを見出した。
【0168】
ア)無駄時間を有する制御プラントについての状態方程式:
matx(n+1)=matDmatx(n)+matEu(n−d) …(54a)
maty(n)=matFmatx(n) …(54b)
ただし、matx(n) :制御対象プラントの状態変数、
maty(n) :制御対象プラントの出力、
u(n−d):制御対象プラントの入力、
matD :制御対象プラントのシステム行列、
matE :制御対象プラントの入力行列、
matF :制御対象プラントの出力行列、
d :制御対象プラントの無駄時間、
イ)プラントモデルについての状態方程式:
matxM(n+1)=matDmatxM(n)+matEu(n) …(55a)
matyM(n)=matFmatxM(n) …(55b)
ただし、matxM(n) :プラントモデルの状態変数、
matyM(n) :プラントモデルの出力、
u(n) :プラントモデルの入力、
matD :プラントモデルのシステム行列、
matE :プラントモデルの入力行列、
matF :プラントモデルの出力行列、
ここで、(54a)、(54b)、(55a)、(55b)の各式においてシステム行列matD、入力行列matE、出力行列matFは、次の式で定義される値である。
【0169】
【数9】
【0170】
また、切換関数を、上記(4)式に代えて次式で定義する。
【0171】
σ(n)=matSmate(n)
=[S 1]mate(n)
=S(x1(n)−θ1(n))+(x1(n)−x2(n))=0 …(59)
ただし、σ(n) :状態量、
matS :切換関数ゲイン、
S、1 :切換関数ゲインmatSの要素、
θ1(n) :x1(n)の目標値、
このときのスライディングモード制御における誤差の状態量の変化を、図5に対応させて図22に示す。
【0172】
上記の(53)式をこの(59)式右辺のx2(n)に代入してみると、次式が得られる。
【0173】
σ(n)=S(x1(n)−θ1(n))+(x1(n)−x1(n−1))…(60)
ここで、(60)式右辺の第1項は状態量x1(n)とその目標値θ1(n)との差分を、第2項は状態量x1(n)の微分値(制御周期当たりの変化量)を表す。従って、σ(n)=0とすることは、差分をゼロ、微分値をゼロすることであり、差分をゼロにすることは目標値に到達させることを、しかも微分値をゼロにすることはその目標値の位置に静止させることを意味する。すなわち、(59)式によれば、切換関数を、状態量x1(n)を目標値θ1(n)へと収束させるという所望の動作特性が得られるために必要な構成とすることができている。言い換えると切換関数は、本来、状態を最適な形に持っていくために設計するのであるが、上記(53)式により状態量x2(n)についても物理的な意味が明確になったため、状態量x1(n)の目標値θ1(n)との差分及び状態量x1(n)の微分値がゼロとなるような切換関数を設定できた。
【0174】
また、上記(6)式に代えて本願の第2実施形態では次のようになる。
【0175】
【数10】
【0176】
従って、この(61)式においてdet(matSmatE)-1≠0であればこのシステムの線形入力(等価制御入力)はスカラーで記述すると、次のようになる。
【0177】
ueq(n)=(b1+b0){a1x1(n)+a0x2(n)
−(a0+a1)θ1(n)+(S+1)-1(x1(n)−θ1(n)))}…(62)
次に、非線形入力unl(n)は状態量を切換線に向けて移動することを目的としており、チャタリングを最小に抑えることが要求される。切換関数σ(n)=matSmate(n)=0と状態量との距離がチャタリングに密接に関係して影響を及ぼすため、図23のような平滑化関数(縦軸の値)を導入する。すなわち、1入力の場合の非線形入力は、
unl(n)=−η・sgn[σ(n)]=−η・σ(n)/|σ(n)|…(63)
の式で定義されることから、チャタリングを除去するため平滑化関数を導入すると、非線形入力は(63)式に代えて次のようになる。
【0178】
unl(n)=−η・σ(n)/(|σ(n)|+δ)…(64)
ただし、η:非線形ゲイン、
δ(>0):平滑化定数、
ここで、本願の第1実施形態の上記(15)式の非線形入力unl(n)は、周知の到達則を用いて与えたものであったが、この(15)式の非線形入力unl(n)によれば、チャタリングは出ないものの応答性が悪いという特性がある。一方、上記(63)式によれば応答性はよいがチャタリングが出る。これに対して上記(64)式によれば応答性がよい上にチャタリングも出ないのである。
【0179】
また、(64)式によれば単純な正負で補正する量を与えるため、本願の第1実施形態の上記(15)式よりも式そのものがシンプルとなった。
【0180】
このように、本願の第2実施形態によれば、状態量x1(n)、x2(n)が(53)式の関係を満たすように、上記(54a)、(54b)、(55a)、(55b)の各式で示した状態方程式のシステム行列matD、入力行列matE、出力行列matFを見直し、それらの行列を上記(56)式、(57)式、(58)式により定義される値としたので、状態量x2(n)についても物理的な意味が明確となった。すなわち、本願の第2実施形態によれば、上記(53)式で示したように状態量x2(n)は、状態量x1(n)の前回値を表すこととなる。
【0181】
また、切換関数についても、上記(59)式に示したように切換関数を、状態量x1(n)について所望の動作特性が得られるために必要な構成としたので、目標値θ1(n)の変化に対しても十分な空燃比補正値を得ることができる。
【0182】
例えば、目標値θ1(n)が理論空燃比(ほぼ14.7)からリーン空燃比(例えば16)へとステップ変化した場合の空燃比応答を図21に示すと、本願の第2実施形態では状態量x1(n)の応答が本願の第1実施形態より良くなるため(図21上段の破線参照)、空燃比フィードバック補正値ALPHAの応答も本願の第1実施形態より良くなり(図21下段の破線参照)、空燃比制御性能が向上している。
【0183】
実施形態では2入力、2出力の状態方程式の場合で説明したが、これに限られるものでない。
【0184】
実施形態では目標空燃比が変化する場合で説明したが、目標空燃比が一定の場合にも適用がある。例えば理論空燃比を目標とする空燃比フィードバック制御にも適用することができる。
【図面の簡単な説明】
【図1】ガソリンエンジンのシステム構成図。
【図2】スライディングモードコントローラの制御ブロック図。
【図3】無駄時間のない離散系2次のプラントモデル。
【図4】プラントモデルを同定するのに用いるシリンダ内空燃比のステップ応答を示す波形図。
【図5】スライディングモード制御における誤差の状態量の変化を位相平面上に示した図。
【図6】スライディングモード制御設計を説明するためのフローチャート。
【図7】空燃比フィードバック補正値の演算を説明するためのフローチャート。
【図8】切換関数ゲインの設定を説明するためのフローチャート。
【図9】固定積分ゲインを用いたときの低回転速度時のALPHAの変化波形図。
【図10】固定積分ゲインを用いたときの高回転速度時のALPHAの変化波形図。
【図11】可変積分ゲインを用いたときの高回転速度時のALPHAの変化波形図。
【図12】積分ゲインの演算を説明するためのフローチャート。
【図13】システム行列の要素a0に応じた総制御入力の演算を説明するためのフローチャート。
【図14】先願装置2の実施形態のスライディングモードコントローラの制御ブロック図。
【図15】スミス法を伝達関数で表示したブロック図。
【図16】外乱補償形スミス法を伝達関数で表示したブロック図。
【図17】先願装置2の実施形態の予測状態変数の演算を説明するためのフローチャート。
【図18】先願装置2の実施形態のシステム行列、入力行列、モデル無駄時間の演算を説明するためのフローチャート。
【図19】先願装置2の実施形態のモデル無駄時間の切換時の解析を示すための波形図。
【図20】先願装置2の実施形態のモデル無駄時間切換時の予測状態変数の演算を説明するためのフローチャート。
【図21】本願の第2実施形態の作用を説明するための波形図。
【図22】本願の第2実施形態のスライディングモード制御における誤差の状態量の変化を位相平面上に示した図。
【図23】本願の第2実施形態の平滑化関数の特性図。
【符号の説明】
5 燃料噴射弁
7 三元触媒
11 エンジンコントローラ
16 上流側広域空燃比センサ(空燃比検出手段)
21 目標空燃比演算部
22 スライディングモードコントローラ
Claims (13)
- 排気の空燃比を検出する空燃比検出手段と、
エンジンの排気系及び前記空燃比検出手段の動特性を離散系2次の伝達関数で近似しシリンダ吸入空燃比のステップ応答より同定することによりこの離散系2次の伝達関数を設定する伝達関数設定手段と、
この離散系2次の伝達関数を離散系2次の状態方程式に変換する手段と、
この離散系2次の状態方程式に基づいて前記空燃比検出手段により検出される排気の空燃比が目標空燃比と一致するようにスライディングモード制御を用いた空燃比のフィードバック制御を行う空燃比フィードバック制御手段と
を備え、
前記離散系2次の状態方程式は、
mat x ( n+1 ) = mat A mat x ( n ) + mat Bu ( n )
mat y ( n ) = mat C mat x ( n )
ただし、 mat x ( n+1 ) :時刻n+1の状態変数、
mat x ( n ) :時刻nの状態変数、
mat y ( n ) :時刻nの出力、
u ( n ) :時刻nの入力、
mat A :システム行列、
mat B :入力行列、
mat C :出力行列、
であることを特徴とするエンジンの空燃比制御装置。 - 前記同定を最小2乗法を用いて行うことを特徴とする請求項1に記載のエンジンの空燃比制御装置。
- 前記同定をARXモデルを用いて行うことを特徴とする請求項1に記載のエンジンの空燃比制御装置。
- 前記空燃比のフィードバック制御は燃料供給量のフィードバック制御であることを特徴とする請求項1から3までのいずれか一つに記載のエンジンの空燃比制御装置。
- 前記空燃比フィードバック制御手段は、前記離散系2次の状態方程式の状態変数と目標値の状態量との差を誤差の状態量として演算する手段と、この誤差の状態量に切換関数ゲインを乗算して状態量を演算する手段と、この切換関数ゲインの乗算された状態量に基づいて非線形入力を演算する手段と、同じくこの切換関数ゲインの乗算された状態量に基づいて線形入力を演算する手段と、これら非線形入力と線形入力の和を総制御入力として算出する手段と、この総制御入力に基づいて前記燃料供給量のフィードバック制御値を演算する手段とからなることを特徴とする請求項4に記載のエンジンの空燃比制御装置。
- 目標空燃比が変化する場合に前記線形入力に代えてこれを積分した値を用いることを特徴とする請求項5に記載のエンジンの空燃比制御装置。
- 排気通路に酸素ストレージ機能を有する触媒と、この触媒の前後にあって排気中の酸素濃度を検出する一対のセンサとを備える場合に、この一対のセンサの出力に基づいて前記触媒の酸素ストレージ量を最適化する空燃比を目標空燃比として演算することを特徴とする請求項6に記載のエンジンの空燃比制御装置。
- 前記積分する際の積分ゲインと前記切換関数ゲインとの関係を前記線形入力の式から求め、前記目標空燃比への応答の時定数が最適となるように前記積分ゲインを決定し、この決定した積分ゲインより前記関係を用いて切換関数ゲインを算出することを特徴とする請求項6に記載のエンジンの空燃比制御装置。
- 前記積分ゲインを回転速度に応じて定めることを特徴とする請求項8に記載のエンジンの空燃比制御装置。
- 前記システム行列matAの状態により前記切換関数ゲインmatSの符号を変化させることを特徴とする請求項1に記載のエンジンの空燃比制御装置。
- 前記切換関数ゲインの乗算された状態量σ(n)は、
σ(n)=S(x1(n)−θ1(n) )+(x1(n)−x2(n) )
ただし、x1(n)、x2(n) :状態変数matx(n) の要素、
θ1(n) :x1(n)の目標値、
であることを特徴とする請求項12に記載のエンジンの空燃比制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002110508A JP3960106B2 (ja) | 2001-07-12 | 2002-04-12 | エンジンの空燃比制御装置 |
US10/170,743 US6619277B2 (en) | 2001-07-12 | 2002-06-14 | Engine air-fuel ratio control |
DE60236054T DE60236054D1 (de) | 2001-07-12 | 2002-06-25 | Gleitende Regelung des Luft-Kraftstoff-Gemisches einer Brennkraftmaschine |
EP02013982A EP1275836B1 (en) | 2001-07-12 | 2002-06-25 | Engine air-fuel ratio control |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-211571 | 2001-07-12 | ||
JP2001211571 | 2001-07-12 | ||
JP2002110508A JP3960106B2 (ja) | 2001-07-12 | 2002-04-12 | エンジンの空燃比制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003090252A JP2003090252A (ja) | 2003-03-28 |
JP3960106B2 true JP3960106B2 (ja) | 2007-08-15 |
Family
ID=26618570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002110508A Expired - Lifetime JP3960106B2 (ja) | 2001-07-12 | 2002-04-12 | エンジンの空燃比制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3960106B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4082596B2 (ja) | 2003-07-07 | 2008-04-30 | 本田技研工業株式会社 | 制御装置 |
FR2886345B1 (fr) * | 2005-05-30 | 2010-08-27 | Inst Francais Du Petrole | Methode d'estimation par un filtre non-lineaire adaptatif de la richesse dans un cylindre d'un moteur a combustion |
JP4638827B2 (ja) * | 2006-02-28 | 2011-02-23 | ジヤトコ株式会社 | スライディングモード制御を用いた制御装置及び制御方法 |
JP5002171B2 (ja) | 2006-03-14 | 2012-08-15 | 日産自動車株式会社 | 内燃機関の空燃比制御装置 |
JP4807319B2 (ja) * | 2007-05-10 | 2011-11-02 | トヨタ自動車株式会社 | 空燃比制御装置 |
JP4798069B2 (ja) * | 2007-05-31 | 2011-10-19 | トヨタ自動車株式会社 | 時系列データの出力予測装置および空燃比制御装置 |
JP5042967B2 (ja) * | 2008-11-07 | 2012-10-03 | ダイハツ工業株式会社 | 制御装置 |
JP5199936B2 (ja) * | 2009-03-30 | 2013-05-15 | ダイハツ工業株式会社 | 制御装置 |
JP5460267B2 (ja) * | 2009-11-26 | 2014-04-02 | ダイハツ工業株式会社 | 制御装置 |
-
2002
- 2002-04-12 JP JP2002110508A patent/JP3960106B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003090252A (ja) | 2003-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3965947B2 (ja) | エンジンの空燃比制御装置 | |
CN101158319B (zh) | 控制设备、控制方法和发动机控制单元 | |
JP4759576B2 (ja) | 制御装置 | |
US5937638A (en) | Method of judging deterioration of catalytic converter for purifying exhaust gas | |
US7845160B2 (en) | Control device for internal combustion engine | |
EP0899638B1 (en) | Control system for plants | |
JP3998136B2 (ja) | 内燃機関の空燃比制御装置 | |
EP0899441B1 (en) | Air-fuel ratio control system for multi-cylinder internal combustion engines | |
EP1275836B1 (en) | Engine air-fuel ratio control | |
JP3960106B2 (ja) | エンジンの空燃比制御装置 | |
US6477458B1 (en) | Air-fuel ratio control apparatus for internal combustion engine | |
US6856891B2 (en) | Control apparatus, control method and engine control unit | |
US20120004827A1 (en) | Air-fuel ratio control apparatus for internal combustion engine | |
US20030140617A1 (en) | Air/fuel ratio control apparatus and method for internal combustion engine and engine control unit | |
US6530214B2 (en) | Air-fuel ratio control apparatus having sub-feedback control | |
JP4158674B2 (ja) | 内燃機関の空燃比制御装置 | |
JPS5910764A (ja) | 内燃機関の空燃比制御方法 | |
JPS61190142A (ja) | 内燃機関の学習制御装置 | |
JP3986434B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4247730B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2004211604A (ja) | 内燃機関の空燃比制御装置 | |
EP1279820A2 (en) | Control apparatus, control method, and engine control unit | |
JP4368928B2 (ja) | 内燃機関の制御装置 | |
JPH0658084B2 (ja) | 内燃機関の学習制御装置 | |
JPS61190141A (ja) | 内燃機関の学習制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061024 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061225 |
|
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: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3960106 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |