JP4074142B2 - 内燃機関の空燃比制御装置 - Google Patents
内燃機関の空燃比制御装置 Download PDFInfo
- Publication number
- JP4074142B2 JP4074142B2 JP2002179145A JP2002179145A JP4074142B2 JP 4074142 B2 JP4074142 B2 JP 4074142B2 JP 2002179145 A JP2002179145 A JP 2002179145A JP 2002179145 A JP2002179145 A JP 2002179145A JP 4074142 B2 JP4074142 B2 JP 4074142B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- fuel ratio
- air
- exhaust gas
- hat
- 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 - Fee Related
Links
Images
Classifications
-
- Y02T10/47—
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関する。
【0002】
【従来の技術】
内燃機関の排気通路に備えた三元触媒等の触媒装置の適正な浄化性能を確保するために、触媒装置の下流側に設けた排ガスセンサ、例えばO2センサ(酸素濃度センサ)の出力を所定の目標値(一定値)に収束させるように内燃機関で燃焼させる混合気の空燃比を操作する技術が本願出願人により既に提案されている(例えば特開平11-324767号公報、特開2000-179385号等)。
【0003】
これらの技術では、触媒装置の上流側から下流側のO2センサにかけての排気系が、触媒装置に進入する排ガスの空燃比を入力量、O2センサの出力を出力量とする一つの制御対象とされている。そして、該排気系への入力量を規定する操作量(例えば排気系への入力量の目標値)が、O2センサの出力を前記目標値に収束させるようにフィードバック制御(具体的には適応スライディングモード制御)の処理により逐次生成され、この操作量に応じて内燃機関で燃焼させる混合気の空燃比が操作される。
【0004】
この場合、一般に、前記排気系の挙動状態や特性は、内燃機関の運転状態等、種々様々な要因によって変化する。また、触媒装置を含む前記排気系には一般に比較的長い無駄時間が存在する。
【0005】
そこで、前記の技術では、前記排気系を、触媒装置に進入する排ガスの空燃比から、無駄時間要素及び応答遅れ要素を介してO2センサの出力を生成する系として、該排気系の挙動がモデル化表現され、この排気系のモデルのパラメータ(無駄時間要素や応答遅れ要素に係る係数パラメータ)の値が、O2センサの出力のサンプリングデータや、触媒装置に進入する排ガスの空燃比を検出すべく該触媒装置の上流側に備えた空燃比センサの出力のサンプリングデータ等を用いて逐次同定される。そして、このモデルに基づき構築されたフィードバック制御の処理により、該モデルのパラメータの同定値を用いて前記操作量が逐次生成される。
【0006】
前記の技術では、上述のように排気系のモデルのパラメータの同定処理並びに、その同定値を用いたフィードバック制御の処理を行うことにより、排気系の挙動変化等の影響を補償し、O2センサの出力を目標値に収束させる制御、換言すれば、触媒装置の適正な浄化性能を確保するための空燃比制御を円滑に行うことを可能としている。
【0007】
ところで、前記の技術では、基本的には、排気系の無駄時間が一定値であると見なし、前記排気系のモデルにおける無駄時間要素の無駄時間の値としてあらかじめ固定的に定めた設定無駄時間を用いている。
【0008】
ところが、本願発明者等の知見によれば、排気系の実際の無駄時間は、内燃機関の回転数等の状態によって変化し、その変化幅は、内燃機関の運転状態によって比較的大きなものとなることがある。このため、内燃機関の運転状態によっては、排気系のモデルと実際の排気系の挙動特性との間の誤差が大きくなることがある。そして、この誤差に起因して、排気系のモデルのパラメータの同定値の誤差やばらつきが大きくなる。
【0009】
この場合、前記の技術では、前記操作量を生成するフィードバック制御の処理に、適応スライディングモード制御のような安定性の高い制御処理を用いているため、基本的にはO2センサの出力の目標値への収束制御の安定性が大きく損なわれるような事態を回避することが可能となっている。
【0010】
しかるに、上記のように排気系のモデルのパラメータの同定値の誤差やばらつきが大きくなる状態では、その同定値を用いて前記操作量を生成し、該操作量に応じて混合気の空燃比を操作したときに、O2センサの出力が目標値に対してばらつきを生じ易くなったり、O2センサの出力の目標値への収束制御の速応性が低下し易くなる。そして、これが触媒装置の浄化性能をさらに向上させる妨げとなっていた。
【0011】
【発明が解決しようとする課題】
本発明はかかる背景に鑑みてなされたものであり、触媒装置の下流側のO2センサ等の排ガスセンサの出力を所定の目標値に収束させるように空燃比を操作して触媒装置の適正な浄化性能を確保するシステムにおいて、触媒装置を含む排気系のモデルのパラメータの信頼性の高い同定値を安定して求めることができ、ひいては、触媒装置の浄化性能をさらに向上させることができる内燃機関の空燃比制御装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
本願発明者等の知見によれば、触媒装置を含む排気系の実際の無駄時間は、特に、該触媒装置を流れる排ガスの流量状態と密接に関連しており、該排ガスの流量が小さい程、排気系の実際の無駄時間は長くなる(図4の実線cを参照)。また、前記排気系の実際の応答遅れ時間も、排ガスの流量が小さい程、長くなる。本発明はこのような現象に着目してなされたものであり、二つの態様がある。
【0013】
すなわち、本発明の内燃機関の空燃比制御装置の第1の態様は、内燃機関の排気通路に備えた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく設けられた排ガスセンサと、前記触媒装置の上流側から前記排ガスセンサにかけての該触媒装置を含む排気系を、該触媒装置に進入する排ガスの空燃比から少なくとも無駄時間要素を介して前記排ガスセンサの出力を生成する系として該排気系の挙動を表現するようあらかじめ定められた該排気系のモデルに対し、該モデルの所定のパラメータの値を逐次同定する同定手段と、前記排ガスセンサの出力を所定の目標値に収束させるように、該モデルのパラメータの同定値を用いて前記触媒装置に進入する排ガスの空燃比を規定する操作量を逐次生成する操作量生成手段と、該操作量に応じて前記内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段とを基本構成として備えるものである。そして、本発明の第1の態様は、前記触媒装置を流れる排ガスの流量を表すデータを逐次生成する流量データ生成手段と、該流量生成手段が生成したデータの値に応じて前記排気系のモデルの無駄時間要素の無駄時間としての設定無駄時間を逐次設定する無駄時間設定手段を備え、前記同定手段は、該無駄時間設定手段が設定した設定無駄時間の値を用いて前記パラメータの値を同定することを特徴とするものである。
【0014】
かかる本発明の第1の態様では、前記無駄時間設定手段は、流量データ生成手段が生成したデータの値、すなわち排ガスの流量を表すデータの値に応じて前記排気系の設定無駄時間の値を設定する。このため、この設定無駄時間を、排気系の実際の無駄時間に精度よく合致させることが可能となる。尚、この場合、前記設定無駄時間は、基本的には、流量データ生成手段が生成するデータが表す排ガスの流量が小さい程、大きくなるように設定されることとなる。
【0015】
そして、前記同定手段は、排気系のモデルの無駄時間要素の無駄時間として、この設定無駄時間の値、すなわち、排気系の実際の無駄時間と精度よく合致する設定無駄時間の値を用いる。このため、排気系のモデルと実際の排気系の挙動特性との整合性が高まり、該モデルのパラメータの同定値の信頼性を高めることができる。従って、このパラメータの同定値を用いて前記操作量生成手段により操作量を生成し、該操作量に応じて空燃比操作手段いより空燃比を操作することにより、排ガスセンサの出力の目標値への制御の精度や速応性がより高まり、ひいては触媒装置の浄化性能をより向上させることができる。
【0016】
また、本発明の第2の態様は、内燃機関の排気通路に備えた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく設けられた排ガスセンサと、前記触媒装置の上流側から前記排ガスセンサにかけての該触媒装置を含む排気系を、該触媒装置に進入する排ガスの空燃比から前記排ガスセンサの出力を生成する系として該排気系の挙動を表現するようあらかじめ定められた該排気系のモデルに対し、該モデルの所定のパラメータの値を逐次同定する同定手段と、前記排ガスセンサの出力を所定の目標値に収束させるように、該モデルのパラメータの同定値を用いて前記触媒装置に進入する排ガスの空燃比を規定する操作量を逐次生成する操作量生成手段と、該操作量に応じて前記内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段とを基本構成として備えるものである。そして、本発明の第2の態様は、前記同定手段が、前記排気系のモデルにおける前記排ガスセンサの出力と該排ガスセンサの実際の出力との間の誤差を最小化するアルゴリズム、例えば重み付き最小2乗法のアルゴリズムにより前記パラメータの値を同定する手段であり、前記触媒装置を流れる排ガスの流量を表すデータを逐次生成する流量データ生成手段と、前記同定手段のアルゴリズムの重みパラメータの値を前記流量データ生成手段が生成したデータの値に応じて可変的に設定する手段とを備えたことを特徴とするものである。
【0017】
すなわち、本願発明者等の知見によれば、排気系の実際の無駄時間や、応答遅れ時間が長くなるほど、排気系のモデルのパラメータの同定値の変動や誤差を生じやすく、ひいては、排ガスセンサの出力の目標値への制御の速応性等が損なわれ易い。この場合、同定手段により排気系のモデルのパラメータの値を同定するためのアルゴリズムとして、重み付き最小2乗法等のアルゴリズムを用いたとき、その重みパラメータの値を調整することにより、排気系のモデルのパラメータの同定値の変動や誤差を抑えることが可能である。
【0018】
このため、本発明の第2の態様では、排気系のモデルのパラメータの値の同定処理のために重み付き最小2乗法等のアルゴリズムが用いられ、その重みパラメータの値が前記流量データ生成手段が生成したデータ、すなわち、排ガスの流量を表すデータの値に応じて可変的に設定される。これにより、前記重みパラメータの値を排気系の実際の無駄時間や応答遅れ特性に合わせて調整することが可能となる。この結果、排気系のモデルのパラメータの同定値の変動や誤差を抑えて、信頼性の高い同定値を安定して得ることが可能となり、ひいては、排ガスセンサの出力の目標値への収束制御の速応性や精度を高めることができる。その結果、触媒装置の浄化性能を向上させることができる。
【0019】
尚、本発明の第2の態様では、前記排気系のモデルは、少なくとも無駄時間要素を含むもの(例えば無駄時間要素と応答遅れ要素とを含むもの)でよいことはもちろんであるが、無駄時間要素を含まずに、応答遅れ要素のみで構成されたものであってもよい。
【0020】
また、本発明の内燃機関の空燃比制御装置では、これらの第1及び第2の態様の両者を具備することにより、排ガスセンサの出力の目標値への制御の精度や速応性をさらに高めることができ、ひいては、触媒装置の浄化性能をより向上させることができる。
【0021】
尚、本発明の第1及び第2の態様では、前記操作量としては、例えば前記触媒装置に進入する排ガスの空燃比の目標値(目標空燃比)や内燃機関の燃料供給量の補正量等が挙げられる。そして、前記操作量を上記目標空燃比とした場合には、触媒装置に進入する排ガスの空燃比を検出する空燃比センサを触媒装置の上流側に設け、前記空燃比操作手段は、この空燃比センサの出力(空燃比の検出値)を目標空燃比に収束させるようにフィードバック制御の処理により内燃機関で燃焼させる混合気の空燃比を操作することが好適である。
【0022】
また、本発明の第1及び第2の態様における前記同定手段は、より具体的には、触媒装置に進入する排ガスの空燃比(以下、触媒上流空燃比ということがある)を表すデータと、排ガスセンサの出力のデータと、排気系のモデルの設定無駄時間の値とを用いて逐次型最小2乗法等のアルゴリズム(第2の態様では、重み付き最小2乗法のアルゴリズム)により排気系のモデルのパラメータの値を同定することが可能である。そして、この場合、いずれの態様においても、前記触媒上流空燃比は、前記操作量により規定されるため、該触媒上流空燃比を表すデータとして、該操作量のデータを用いることが可能である。但し、排気系のモデルのパラメータの同定値の信頼性をより高める上では、触媒上流空燃比を検出する空燃比センサを触媒装置の上流側に備え、その空燃比センサの出力のデータを触媒上流空燃比を表すデータとして用いることが好適である。
【0023】
また、本発明の第1及び第2の態様における前記排気系のモデルは、例えば、所定の制御サイクル毎の排ガスセンサの出力のデータを、その制御サイクルよりも過去の制御サイクルにおける排ガスセンサの出力のデータと、前記排気系の設定無駄時間以前の制御サイクルにおける触媒上流空燃比を表すデータ(前記空燃比センサの出力のデータ、前記操作量のデータ等)とにより表現するモデルであることが好ましい。別の言い方をすれば、該モデルは、例えば、排気系の入力量としての前記触媒上流空燃比に無駄時間(排気系の設定無駄時間)を有する自己回帰モデルであることが好ましい。この場合、該モデルのパラメータは、前記過去の制御サイクルにおける排ガスのセンサの出力のデータ(排気系の出力量に関する自己回帰項)に係る係数や、前記触媒上流空燃比を表すデータ(排気系の入力量)に係る係数である。
【0024】
また、以上説明した本発明の第1及び第2の態様では、前記同定手段は、前記排気系のモデルのパラメータの同定値を前記流量データ生成手段が生成したデータの値に応じて定めた所定の範囲内の値に制限して求めることが好適である。
【0025】
すなわち、O2センサの出力を円滑に目標値に収束させ得る操作量を生成するために好適な前記パラメータの同定値は、一般に、排ガスの流量の影響により、排気系が有する実際の無駄時間の影響を受ける。そこで、本発明では、流量データ生成手段が生成したデータの値、すなわち、排ガスの流量を表すデータの値に応じて定めた所定の範囲内の値に前記同定値を制限する。これにより、O2センサの出力を円滑に目標値に収束させ得る操作量を生成するために好適な前記同定値を前記同定手段により求めることが可能となる。
【0026】
尚、前記同定手段により同定する排気系のモデルのパラメータが複数ある場合には、それらのパラメータの同定値を制限する前記所定の範囲は、それぞれのパラメータの同定値毎の範囲であってもよいが、複数のパラメータの同定値の組合わせの範囲であってもよい。例えば、上述のように排気系のモデルが自己回帰モデルであって、その自己回帰項が1次目及び2次目の二つの自己回帰項(これらは排気系の応答遅れ要素に対応する)を有する場合には、各自己回帰項にそれぞれ係る二つのパラメータの同定値の組合わせを所定の範囲(詳しくは、二つのパラメータの値を二つの座標軸とする座標平面上の所定の領域)内に制限することが好適である。また、上記自己回帰モデルの前記触媒上流空燃比に係るパラメータについては、そのパラメータの同定値を所定の範囲(上下限値を有する範囲)内の値に制限することが好適である。
【0027】
尚、本発明の第1及び第2の態様において、操作量生成手段が前記操作量を生成するためのフィードバック制御の処理は、適応制御の処理が好ましく、より具体的には、例えばスライディングモード制御の処理が好適である。ここで、スライディングモード制御の処理は、所謂、等価制御入力に係わる制御則と到達則とに基づく通常的なスライディングモード制御の処理であってもよいが、これらの制御則に加えてさらに適応則(適応アルゴリズム)を付加した適応スライディングモード制御の処理が好適である。
【0028】
【発明の実施の形態】
本発明の第1実施形態を図1〜図17を参照して説明する。本実施形態は、本発明の第1の態様に係わる実施形態であると同時に、第2の態様に係わる実施形態でもある。
【0029】
図1は本実施形態の装置の全体構成をブロック図で表したものであり、図中、1は例えば自動車やハイブリッド車に車両の推進源として搭載された4気筒のエンジン(内燃機関)である。このエンジン1が各気筒毎に燃料及び空気の混合気の燃焼により生成する排ガスは、エンジン1の近傍で共通の排気管2(排気通路)に集合され、該排気管2を介して大気中に放出される。そして、排気管2には、排ガスを浄化するために、三元触媒を用いて構成された二つの触媒装置3,4が該排気管2の上流側から順に介装されている。尚、下流側の触媒装置4はこれを省略してもよい。
【0030】
本実施形態のシステムでは、触媒装置3の最適な浄化性能を確保するようにエンジン1の空燃比(より正確にはエンジン1で燃焼させる燃料及び空気の混合気の空燃比。以下、同様)を制御する。そして、この制御を行うために、本実施形態のシステムは、触媒装置3の上流側(より詳しくはエンジン1の各気筒毎の排ガスの集合箇所)で排気管2に設けられた空燃比センサ5と、触媒装置3の下流側(触媒装置4の上流側)で排気管2に設けられた排ガスセンサとしてのO2センサ(酸素濃度センサ)6と、これらのセンサ5,6の出力(検出値)等に基づき後述の制御処理を行う制御ユニット7とを具備している。尚、制御ユニット7には、前記空燃比センサ5やO2センサ6の出力の他に、回転数センサや吸気圧センサ、冷却水温センサ等、エンジン1の運転状態を検出するための図示しない各種のセンサの出力が与えられる。
【0031】
O2センサ6は、触媒装置3を通過した排ガス中の酸素濃度に応じたレベルの出力VO2/OUT(酸素濃度の検出値を示す出力)を生成する通常的なO2センサである。ここで、排ガス中の酸素濃度は、燃焼によりその排ガスとなった混合気の空燃比に応じたものとなる。そして、このO2センサ6の出力VO2/OUTは、図2に実線aで示すように、排ガス中の酸素濃度に対応する空燃比が理論空燃比近傍の比較的狭い範囲Δに存するような状態で、該排ガス中の酸素濃度に対してほぼ線形に高感度な変化を生じるものとなる。また、その範囲Δを逸脱した空燃比に対応する酸素濃度では、O2センサ6の出力VO2/OUTはほぼ一定のレベルに飽和する。
【0032】
空燃比センサ5は、触媒装置3に進入する排ガスの空燃比(より詳しくは触媒装置3に進入する排ガスの酸素濃度により把握される空燃比)の検出値を表す出力KACTを生成するものである。この空燃比センサ5は、例えば本願出願人が特開平4−369471号公報にて説明した広域空燃比センサにより構成されたものであり、図2に実線bで示すように、O2センサ5よりも排ガス中の酸素濃度の広範囲にわたってそれに比例したレベルの出力KACTを生成するものである。以下の説明では、この空燃比センサ5をLAFセンサ5と称し、触媒装置3に進入する排ガスの空燃比を触媒上流空燃比と称する。
【0033】
制御ユニット7は、マイクロコンピュータを用いて構成されたものであり、触媒上流空燃比の目標値である目標空燃比KCMD(これはLAFセンサ5の出力KACTの目標値でもある)を触媒上流空燃比を規定する操作量としてを逐次生成する処理を所定の制御サイクルで実行する排気側制御ユニット7aと、該目標空燃比KCMDに応じてエンジン1の燃料供給量を調整することによって触媒上流空燃比を操作する処理を所定の制御サイクルで逐次実行する機関側制御ユニット7bとを具備している。これらの制御ユニット7a,7bは、それぞれ本発明における操作量生成手段、空燃比操作手段に相当するものである。
【0034】
ここで、本実施形態では、各制御ユニット7a,7bがそれぞれの処理を実行する制御サイクルは各別の制御サイクルとされている。すなわち、排気側制御ユニット7aの処理の制御サイクルは、触媒装置3を含む後述の排気系Eが有する比較的長い無駄時間や演算負荷等を考慮し、あらかじめ定めた一定の周期(例えば30〜100ms程度の周期)とされている。また、機関側制御ユニット7bの処理の制御サイクルは、エンジン1の燃料供給量の調整処理をエンジン1の燃焼サイクルに同期させて行う必要があることから、エンジン1のクランク角周期(所謂TDC)に同期した周期とされている。そして、排気側制御ユニット7aの制御サイクルの周期は、エンジン1のクランク角周期(TDC)よりも長いものとされている。
【0035】
これらの制御ユニット7a,7bの処理をさらに説明する。まず、機関側制御ユニット7bは、その機能的構成として、エンジン1への基本燃料噴射量Timを求める基本燃料噴射量算出部8と、基本燃料噴射量Timを補正するための第1補正係数KTOTAL及び第2補正係数KCMDMをそれぞれ求める第1補正係数算出部9及び第2補正係数算出部10とを具備する。
【0036】
前記基本燃料噴射量算出部8は、エンジン1の回転数NEと吸気圧PBとから、それらにより規定されるエンジン1の基準の燃料噴射量(燃料供給量)をあらかじめ設定されたマップを用いて求め、その基準の燃料噴射量をエンジン1の図示しないスロットル弁の有効開口面積に応じて補正することで基本燃料噴射量Timを算出するものである。
【0037】
また、第1補正係数算出部9が求める第1補正係数KTOTALは、エンジン1の排気還流率(エンジン1の吸入空気中に含まれる排ガスの割合)や、エンジン1の図示しないキャニスタのパージ時にエンジン1に供給される燃料のパージ量、エンジン1の冷却水温、吸気温等を考慮して前記基本燃料噴射量Timを補正するためのものである。
【0038】
また、第2補正係数算出部10が求める第2補正係数KCMDMは、排気側制御ユニット7aが後述の如く算出する目標空燃比KCMDに対応してエンジン1へ流入する燃料の冷却効果による吸入空気の充填効率を考慮して基本燃料噴射量Timを補正するためのものである。
【0039】
これらの第1補正係数KTOTAL及び第2補正係数KCMDMによる基本燃料噴射量Timの補正は、第1補正係数KTOTAL及び第2補正係数KCMDMを基本燃料噴射量Timに乗算することで行われ、この補正によりエンジン1の要求燃料噴射量Tcylが得られる。
【0040】
尚、前記基本燃料噴射量Timや、第1補正係数KTOTAL、第2補正係数KCMDMのより具体的な算出手法は、特開平5−79374号公報等に本願出願人が開示しているので、ここでは詳細な説明を省略する。
【0041】
機関側制御ユニット7bは、上記の機能的構成の他、さらに、排気側制御ユニット7a(詳細は後述する)が逐次算出する目標空燃比KCMDにLAFセンサ5の出力KACT(触媒上流空燃比の検出値)を収束させるようにフィードバック制御の処理によりエンジン1の燃料噴射量を調整することでエンジン1の空燃比を操作するフィードバック制御部14を備えている。
【0042】
このフィードバック制御部14は、本実施形態では、エンジン1の各気筒の全体的な空燃比をフィードバック制御する大局的フィードバック制御部15と、エンジン1の各気筒毎の空燃比をフィードバック制御する局所的フィードバック制御部16とから構成されている。
【0043】
前記大局的フィードバック制御部15は、LAFセンサ5の出力KACTが前記目標空燃比KCMDに収束するように、前記要求燃料噴射量Tcylを補正する(要求燃料噴射量Tcylに乗算する)フィードバック補正係数KFBを逐次求めるものである。そして、該大局的フィードバック制御部15は、LAFセンサ5の出力KACTと目標空燃比KCMDとの偏差に応じて周知のPID制御の処理により前記フィードバック補正係数KFBとしてのフィードバック操作量KLAFを生成するPID制御器17と、LAFセンサ5の出力KACTと目標空燃比KCMDとからエンジン1の運転状態の変化や特性変化等を考慮して前記フィードバック補正係数KFBを規定するフィードバック操作量KSTRを適応的に求める適応制御器18(図ではSTRと称している)とをそれぞれ独立的に具備している。
【0044】
ここで、本実施形態では、前記PID制御器17が生成するフィードバック操作量KLAFは、LAFセンサ5の出力KACT(触媒上流空燃比の検出値)が目標空燃比KCMDに一致している状態で「1」となり、該操作量KLAFをそのまま前記フィードバック補正係数KFBとして使用できるようになっている。一方、適応制御器18が生成するフィードバック操作量KSTRはLAFセンサ5の出力KACTが目標空燃比KCMDに一致する状態で「目標空燃比KCMD」となるものである。このため、該フィードバック操作量KSTRを除算処理部19で目標空燃比KCMDにより除算してなるフィードバック操作量kstr(=KSTR/KCMD)が前記フィードバック補正係数KFBとして使用できるようになっている。
【0045】
そして、大局的フィードバック制御部15は、PID制御器17により生成されるフィードバック操作量KLAFと、適応制御器18が生成するフィードバック操作量KSTRを目標空燃比KCMDにより除算してなるフィードバック操作量kstrとを切換部20で適宜、択一的に選択する。さらに、大局的フィードバック制御部15は、その選択したフィードバック操作量KLAF又はkstrを前記フィードバック補正係数KFBとして使用し、該補正係数KFBを前記要求燃料噴射量Tcylに乗算することにより該要求燃料噴射量Tcylを補正する。尚、かかる大局的フィードバック制御部15(特に適応制御器18)については後にさらに詳細に説明する。
【0046】
前記局所的フィードバック制御部16は、LAFセンサ5の出力KACTから各気筒毎の実空燃比#nA/F(n=1,2,3,4)を推定するオブザーバ21と、このオブザーバ21により推定された各気筒毎の実空燃比#nA/Fから各気筒毎の空燃比のばらつきを解消するよう、PID制御を用いて各気筒毎の燃料噴射量のフィードバック補正係数#nKLAFをそれぞれ求める複数(気筒数個)のPID制御器22とを具備する。
【0047】
ここで、オブザーバ21は、それを簡単に説明すると、各気筒毎の実空燃比#nA/Fの推定を次のように行うものである。すなわち、エンジン1からLAFセンサ5の箇所(各気筒毎の排ガスの集合部)にかけての系を、エンジン1の各気筒毎の実空燃比#nA/FからLAFセンサ5が検出する触媒上流空燃比を生成する系と考え、この系が、LAFセンサ5の検出応答遅れ(例えば一次遅れ)や、触媒上流空燃比に対するエンジン1の各気筒毎の空燃比の時間的寄与度を考慮してあらかじめモデル化されている。そして、そのモデルの基で、LAFセンサ5の出力KACTから、逆算的に各気筒毎の実空燃比#nA/Fを推定する。
尚、このようなオブザーバ21は、本願出願人が例えば特開平7−83094号公報に詳細に開示しているので、ここでは、さらなる説明を省略する。
【0048】
また、局所的フィードバック制御部16の各PID制御器22は、LAFセンサ5の出力KACTを、前回の制御サイクルで各PID制御器22により求められたフィードバック補正係数#nKLAFの全気筒についての平均値により除算してなる値を各気筒の空燃比の目標値とする。そして、各PID制御器22は、その目標値とオブザーバ21により求められた各気筒毎の実空燃比#nA/Fの推定値との偏差が解消するように、今回の制御サイクルにおける各気筒毎のフィードバック補正係数#nKLAFを求める。
そして、局所的フィードバック制御部16は、前記要求燃料噴射量Tcylに大局的フィードバック制御部15のフィードバック補正係数KFBを乗算してなる値に、各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒の出力燃料噴射量#nTout(n=1,2,3,4)を求める。
このようにして求められる各気筒の出力燃料噴射量#nToutは、機関側制御ユニット7bに備えた各気筒毎の付着補正部23により吸気管の壁面への燃料の付着を考慮した補正が各気筒毎になされた後、エンジン1の図示しない燃料噴射装置に与えられる。そして、その付着補正がなされた出力燃料噴射量#nToutで、エンジン1の各気筒への燃料噴射が行われる。
【0049】
尚、上記付着補正については、本願出願人が例えば特開平8−21273号公報に詳細に開示しているので、ここではさらなる説明を省略する。また、図1において、参照符号24を付したセンサ出力選択処理部は、前記オブザーバ21による各気筒毎の実空燃比#nA/Fの推定に適したLAFセンサ5の出力KACTをエンジン1の運転状態に応じて選択するもので、これについては、本願出願人が特開平7−259588号公報にて詳細に開示しているので、ここではさらなる説明を省略する。
【0050】
一方、前記排気側制御ユニット7aは、LAFセンサ5の出力KACTと所定の空燃比基準値FLAF/BASEとの偏差kact(=KACT−FLAF/BASE)を逐次求める減算処理部11と、O2センサ6の出力VO2/OUTとその目標値VO2/TARGETとの偏差VO2(=VO2/OUT−VO2/TARGET)を逐次求める減算処理部12とを備えている。
【0051】
ここで、O2センサ6の出力VO2/OUTの目標値VO2/TARGETは、触媒装置3の最適な浄化性能(具体的には排ガス中のNOx、HC、CO等の浄化率)が得られるようなO2センサ6の出力値としてあらかじめ定めた所定値であり、図2に示すように排ガスの空燃比が理論空燃比近傍の範囲Δに存するような状態においてO2センサ6が生成し得る出力値である。また、LAFセンサ5の出力KACTに係わる前記空燃比基準値FLAF/BASEは、本実施形態では「理論空燃比」(一定値)に設定されている。
【0052】
尚、以下の説明において、前記減算処理部11,12がそれぞれ求める偏差kact,VO2をそれぞれLAFセンサ5の偏差出力kact及びO2センサ6の偏差出力VO2と称する。
【0053】
排気側制御ユニット7aはさらに、上記の偏差出力kact,VO2のデータをそれぞれLAFセンサ5の出力及びO2センサ6の出力を表すデータとして用い、それらのデータに基づいて前記目標空燃比KCMD(触媒上流空燃比の目標値)を逐次算出する目標空燃比生成処理部13を備えている。
【0054】
この目標空燃比生成処理部13は、排気管2のLAFセンサ5の箇所からO2センサ6の箇所にかけての触媒装置3を含む排気系(図1で参照符号Eを付した部分)を制御対象とする。そして、該目標空燃比生成処理部13は、上記排気系Eが有する無駄時間や、前記エンジン1及び機関側制御ユニット7bからなる空燃比操作系が有する無駄時間、排気系Eの挙動変化等を考慮しつつ、フィードバック制御の一手法であるスライディングモード制御(詳しくは適応スライディングモード制御)の処理を用いてO2センサ6の出力VO2/OUTをその目標値VO2/TARGETに収束(整定)させるようにエンジン1の目標空燃比KCMDを逐次算出するものである。
【0055】
このような目標空燃比生成処理部13の制御処理を行うために、本実施形態では、前記排気系Eが、前記LAFセンサ5の出力KACT(LAFセンサ5が検出する触媒上流空燃比)から無駄時間要素及び応答遅れ要素を介してO2センサ6の出力VO2/OUTを生成する系であるとして、該排気系Eの挙動を表現するモデルがあらかじめ構築されている。また、前記エンジン1及び機関側制御ユニット7bから成る空燃比操作系が、目標空燃比KCMDから無駄時間要素を介してLAFセンサ5の出力KACTを生成する系であるとして、該空燃比操作系の挙動を表現するモデルがあらかじめ構築されている。
【0056】
この場合、排気系Eのモデル(以下、排気系モデルという)に関しては、LAFセンサ5の出力KACT及びO2センサ6の出力VO2/OUTの代わりに、LAFセンサ5の前記偏差出力kact(=KACT−FLAF/BASE)を排気系Eに対する入力量、O2センサ6の前記偏差出力VO2(=VO2/OUT−VO2/TARGET)を排気系Eの出力量とし、次式(1)の離散時間系の自己回帰モデル(詳しくは、排気系Eの入力量としての偏差出力kactに無駄時間を有する自己回帰モデル)により排気系Eの挙動が表現されている。
【0057】
【数1】
【0058】
ここで、上式(1)において、「k」は排気側制御ユニット7aの離散時間的な制御サイクルの番数を示し、「d1」は排気系Eの無駄時間(詳しくは、LAFセンサ5が検出する各時点の触媒上流空燃比がO2センサ6の出力VO2/OUTに反映されるようになるまでに要する無駄時間)を制御サイクル数で表したものである。この場合、排気系Eの実際の無駄時間は、触媒装置3に供給される排ガスの流量と密接に関連しており、基本的には、該排ガスの流量が少ないほど、該無駄時間が長くなる。これは基本的には、排ガスの流量が少ないほど、排ガスが触媒装置3を通過するのに要する時間が長くなるためである。このため、本実施形態では、後述するように触媒装置3に供給される排ガスの流量を逐次把握し、それに応じて、式(1)の排気系モデルにおける無駄時間d1の値を適宜可変的に設定するようにしている(以下、無駄時間d1の設定値を設定無駄時間d1という)。
【0059】
また、式(1)の右辺第1項及び第2項はそれぞれ排気系Eの応答遅れ要素に対応するもので、第1項は1次目の自己回帰項、第2項は2次目の自己回帰項である。そして、「a1」、「a2」はそれぞれ1次目の自己回帰項のゲイン係数、2次目の自己回帰項のゲイン係数である。該ゲイン係数a1,a2は別の言い方をすれば、排気系Eの出力量としてのO2センサ6の偏差出力VO2に係る係数である。
【0060】
さらに、式(1)の右辺第3項は排気系Eの無駄時間要素に対応するもので、排気系Eの入力量であるLAFセンサ5の偏差出力kactに排気系Eの無駄時間d1を含めて該無駄時間要素を表現したものである。そして、「b1」はその無駄時間要素(無駄時間d1を有する入力量)に係るゲイン係数である。
【0061】
そして、前記ゲイン係数a1,a2,b1は排気系Eのモデルの挙動を規定する上である値に設定すべきパラメータであり、本実施形態では後述の同定器によって逐次同定されるものである。
【0062】
このように式(1)により表現した排気系モデルは、それを言葉で表現すれば、排気側制御ユニット7aの制御サイクル毎の排気系Eの入力量としてのO2センサの偏差出力VO2(k+1)を、その制御サイクルよりも過去の制御サイクルにおける偏差出力VO2(k),VO2(k-1)と、排気系Eの無駄時間d1以前の制御サイクルにおける排気系Eの入力量(触媒上流空燃比)としてのLAFセンサ5の偏差出力kact(k-d1)とにより表現するものである。
【0063】
一方、エンジン1及び機関側制御ユニット7bからなる前記空燃比操作系のモデル(以下、空燃比操作系モデルという)に関しては、本実施形態では、前記目標空燃比KCMDと前記空燃比基準値FLAF/BASEとの偏差kcmd(=KCMD−FLAF/BASE。以下、目標偏差空燃比kcmdという)を空燃比操作系の入力量、LAFセンサ5の偏差出力kactを空燃比操作系の出力量とし、次式(2)のモデルにより空燃比操作系モデルの挙動が表現されている。
【0064】
【数2】
【0065】
ここで、式(2)の「d2」は、空燃比操作系が有する無駄時間(詳しくは、各時点の目標空燃比KCMDがLAFセンサ5の出力KACTに反映されるようになるまでに要する無駄時間)を排気側制御ユニット7aの制御サイクル数で表したものである。この場合、空燃比操作系の実際の無駄時間は、排気系Eの無駄時間と同様に、触媒装置3に供給される排ガスの流量と密接に関連しており、基本的には、排ガスの流量が少ないほど、該無駄時間が長くなる。これは基本的には、排ガスの流量が少ないほど、エンジン1の回転数が低い(クランク角周期が長い)ので、空燃比操作系の機関側制御ユニット7bの制御サイクルの周期が長くなるからである。このため、本実施形態では、後述するように触媒装置3に供給される排ガスの流量を逐次把握し、それに応じて、式(2)の空燃比操作系モデルにおける無駄時間d2の値を適宜可変的に設定するようにしている(以下、無駄時間d2の設定値を設定無駄時間d2という)。
【0066】
前記式(2)により表現した空燃比操作系モデルは、該空燃比操作系が、その出力量(触媒上流空燃比)としてのLAFセンサ5の偏差出力kactが、空燃比操作系の無駄時間d2前の時点における空燃比操作系の入力量としての目標偏差空燃比kcmdに一致するような系であるとして、該空燃比操作系の挙動を表現したものである。
【0067】
尚、空燃比操作系には、実際には、無駄時間要素の他、エンジン1に起因した応答遅れ要素も含まれる。しかるに、目標空燃比KCMDに対する触媒上流空燃比の応答遅れは、基本的には前記機関側制御ユニット7bのフィードバック制御部14(特に詳細を後述する適応制御器18)によって補償されるため、排気側制御ユニット7aから見た空燃比操作系では、エンジン1に起因する応答遅れ要素を考慮せずとも支障はない。
【0068】
本実施形態における前記目標空燃比生成処理部13は、式(1)により表した排気系モデル、並びに式(2)により表した空燃比操作系モデルに基づいて構築されたアルゴリズムによって、排気側制御ユニット7aの制御サイクル毎に、目標空燃比KCMDを逐次算出する処理を行うものである。そして、該目標空燃比生成処理部13は、その処理を行うために、図3に示すような機能的構成を具備している。
【0069】
すなわち、目標空燃比生成処理部13は、エンジン1の回転数NE、吸気圧PBの検出値から、触媒装置3に供給される排ガスの流量の推定値ABSV(以下、推定排ガスボリュームABSVという)を逐次算出する流量データ生成手段28と、この推定排ガスボリュームABSVに応じて排気系モデル及び空燃比操作系モデルのそれぞれの設定無駄時間d1,d2を逐次設定する無駄時間設定手段29とを具備している。
【0070】
この場合、触媒装置3に供給される排ガスの流量は、エンジン1の回転数NEと吸気圧PBとの積に比例するので、流量データ生成手段29は、エンジン1の回転数NE、吸気圧PBの検出値(現在値)から次式(3)により、前記推定排ガスボリュームABSVを逐次算出する。
【0071】
【数3】
【0072】
ここで、式(3)においてSVPRAは、エンジン1の排気量(気筒容量)等に応じてあらかじめ設定された定数である。尚、本実施形態では、エンジン1の回転数NEが1500rpmであるときの排ガスの流量を基準としているため、式(3)では、回転数NEを1500[rpm]により除算している。
【0073】
前記無駄時間設定手段29は、このように流量データ生成手段28が逐次算出する推定排ガスボリュームABSVの値から、例えば図4に実線cで示すようにあらかじめ設定されたデータテーブルにより、排気系Eの実際の無駄時間を表す値としての設定無駄時間d1を逐次求める。また、これと同様に、無駄時間設定手段29は、推定排ガスボリュームABSVの値から、図4に実線dで示すようにあらかじめ設定されたデータテーブルにより、空燃比操作系の実際の無駄時間を表す値としての設定無駄時間d2を逐次求める。
【0074】
この場合、このようなデータテーブルは、実験やシミュレーションに基づいて設定されている。そして、排気系Eの実際の無駄時間は、前述のように、基本的には触媒装置3に供給される排ガスの流量が少ないほど、長くなるので、図4の実線cの設定無駄時間d1は、このような傾向で、推定排ガスボリュームABSVに対して変化する。同様に、空燃比操作系の実際の無駄時間も、基本的には、触媒装置3に供給される排ガスの流量が少ないほど、長くなるので、図4の実線dの設定無駄時間d2も、このような傾向で、推定排ガスボリュームABSVに対して変化する。また、空燃比操作系の実際の無駄時間の排ガス流量に対する変化の度合いは、排気系Eの実際の無駄時間の変化度合いよりも小さいので、図4のデータテーブルにおいても、推定排ガスボリュームABSVの変化に対する設定無駄時間d2の変化の度合いは、設定無駄時間d1の変化度合いよりも小さいものとなっている。
【0075】
尚、図4のデータテーブルでは、設定無駄時間d1,d2は、推定排ガスボリュムABSVに対して連続的に変化するものとなっているが、前記排気系モデルや空燃比操作系モデルにおける設定無駄時間d1,d2は排気側制御ユニット7aの制御サイクル数で表すため、該設定無駄時間d1,d2は整数値である必要がある。このため、無駄時間設定手段29は、実際には、例えば図4のデータテーブルに基づいて求められる設定無駄時間d1,d2の値の小数点以下を四捨五入してなる整数値を設定無駄時間d1,d2として求める。
【0076】
また、本実施形態では、触媒装置3に供給される排ガス流量を、エンジン1の回転数NE及び吸気圧PBから推定するようにしているが、フローセンサ等を用いて直接的に排ガス流量を検出するようにしてもよい。
【0077】
目標空燃比生成処理部13は、さらに、排気系モデルのパラメータである前記ゲイン係数a1,a2,b1の値を逐次同定する同定器25(同定手段)と、排気系Eの設定無駄時間d1及び空燃比操作系の設定無駄時間d2を合わせた合計設定無駄時間d(=d1+d2)後のO2センサ6の偏差出力VO 2の推定値VO2バー(以下、推定偏差出力VO2バーという)を逐次求める推定器26(推定手段)と、適応スライディングモード制御の処理により前記目標空燃比KCMDを逐次求めるスライディングモード制御器27とを具備している。
【0078】
これらの同定器25、推定器26及びスライディングモード制御器27の演算処理のアルゴリズムは排気系モデルや空燃比操作系モデルに基づいて以下のように構築されている。
【0079】
まず、同定器25に関し、排気系モデルのゲイン係数a1,a2,b1に対応する実際の排気系Eのゲイン係数は一般に該排気系Eの挙動状態や経時的な特性変化等によって変化する。従って、排気系モデル(式(1))の実際の排気系Eに対するモデル化誤差を極力少なくして該モデルの精度を高めるためには、ゲイン係数a1,a2,b1を実際の対象排気系Eの挙動状態等に則して適宜、リアルタイムで同定することが好ましい。
【0080】
前記同定器25は、上記のように排気系モデルのモデル化誤差を極力小さくするために、ゲイン係数a1,a2,b1をリアルタイムで逐次同定するものであり、その同定処理は次のように行われる。
【0081】
すなわち、同定器25は、排気側制御ユニット7aの制御サイクル毎に、まず、今現在設定されている排気系モデルの同定ゲイン係数a1ハット,a2ハット,b1ハット、すなわち前回の制御サイクルで決定した同定ゲイン係数a1(k-1)ハット,a2(k-1)ハット,b1(k-1)ハットと、LAFセンサ5の偏差出力kact及びO2センサ6の偏差出力VO2の過去に得られたデータと、前記無駄時間設定手段29により設定された排気系Eの設定無駄時間d1の最新値とを用いて、次式(4)により今現在設定されている排気系モデル上でのO2センサ6の偏差出力VO2の同定値VO2(k)ハット(以下、同定偏差出力VO2(k)ハットという)を求める。
【0082】
【数4】
【0083】
この式(4)は、排気系モデルを表す前記式(1)を1制御サイクル分、過去側にシフトし、ゲイン係数a1,a2,b1を同定ゲイン係数a1ハット(k-1),a2ハット(k-1),b1ハット(k-1)で置き換えると共に、排気系Eの無駄時間d1として設定無駄時間d1の最新値を用いたものである。
【0084】
ここで、次式(5),(6)で定義されるベクトルΘ及びξを導入すると(式(5),(6)中の添え字「T」は転置を意味する。以下同様。)、
【0085】
【数5】
【0086】
【数6】
【0087】
前記式(4)は、次式(7)により表される。
【0088】
【数7】
【0089】
さらに同定器25は、前記式(4)あるいは式(7)により求められるO2センサ6の同定偏差出力VO2(k)ハットと今現在のO2センサ6の偏差出力VO2(k)との偏差id/e(k)を排気系モデルの実際の排気系Eに対するモデル化誤差を表すものとして次式(8)により求める(以下、偏差id/eを同定誤差id/eという)。
【0090】
【数8】
【0091】
そして、同定器25は、上記同定誤差id/eを最小にするように新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハット、換言すれば、これらの同定ゲイン係数を要素とする新たな前記ベクトルΘ(k)(以下、このベクトルを同定ゲイン係数ベクトルΘという)を求めるもので、その算出を、次式(9)により行う。すなわち、同定器25は、前回の制御サイクルで決定した同定ゲイン係数a1ハット(k-1),a2ハット(k-1),b1ハット(k-1)を、同定誤差id/e(k)に比例させた量だけ変化させることで新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを求める。
【0092】
【数9】
【0093】
ここで、式(9)中の「Kθ」は次式(10)により決定される三次のベクトル(各同定ゲイン係数a1ハット,a2ハット,b1ハットの同定誤差id/eに応じた変化度合いを規定するゲイン係数ベクトル)である。
【0094】
【数10】
【0095】
また、上式(10)中の「P」は次式(11)の漸化式により逐次更新される三次の正方行列である。
【0096】
【数11】
【0097】
尚、式(11)中の「λ1」、「λ2」は0<λ1≦1及び0≦λ2<2の条件を満たすように設定され、また、「P」の初期値P(0)は、その各対角成分を正の数とする対角行列である。
【0098】
ここで、式(11)中の「λ1」、「λ2」の値の設定の仕方によって、固定ゲイン法、漸減ゲイン法、重み付き最小二乗法、最小二乗法、固定トレース法等、各種の具体的なアルゴリズムが構成される。本実施形態では、例えば重み付き最小二乗法のアルゴリズムが採用され、「λ1」、「λ2」の値は、0<λ1<1、λ2=1である。
【0099】
ここで、「λ1」は、重み付き最小2乗法の重みパラメータであり、本実施形態では、この重みパラメータλ1の値が、前記流量データ生成手段28が逐次算出する推定排ガスボリュームABSVに応じて(結果的には、設定無駄時間d1に応じて)可変的に設定される。
【0100】
すなわち、本実施形態では、同定器25は、排気側制御ユニット7aの制御サイクル毎に、流量データ生成手段28が求めた推定排ガスボリュームABSVの最新値から、図5に示すようにあらかじめ定められたデータテーブルに基づいて重みパラメータλ1の値を設定する。この場合、図5のデータテーブルでは、重みパラメータλ1の値は、基本的には、推定排ガスボリュームABSVが少ないほど、値が大きくなって、「1」に近づくようになっている。そして、同定器25は、各制御サイクルで前記行列P(k)を式(11)により更新するに際しては、上記のように推定排ガスボリュームAB SVに応じて設定した重みパラメータλ1の値を用いる。
【0101】
本実施形態における同定器25は基本的には前述のようなアルゴリズム(演算処理)によって、前記同定誤差id/eを最小化するように逐次型の重み付き最小2乗法のアルゴリズムにより、排気系モデルの同定ゲイン係数a1ハット,a2ハット,b1ハットを制御サイクル毎に逐次求めるものである。
【0102】
以上説明した演算処理が同定器25による基本的な処理内容である。尚、本実施形態では、同定器25は、同定ゲイン係数a1ハット,a2ハット,b1ハットを求めるに際して、それらの値の制限処理等、付加的な処理も行うのであるが、これらについては後述する。
【0103】
次に、前記推定器26は、後に詳細を説明するスライディングモード制御器27による目標空燃比KCMDの算出処理に際しての排気系Eの無駄時間及び空燃比操作系の無駄時間d2の影響を補償するために、前記合計設定無駄時間d(=d1+d2)後のO2センサ6の偏差出力VO2の推定値である前記推定偏差出力VO2バーを制御サイクル毎に逐次求めるものである。その推定処理のアルゴリズムは、次のように構築されている。
【0104】
まず、排気系モデルを表す前記式(1)に、空燃比操作系モデルを表す式(2)を適用すると、式(1)は次式(11)に書き換えられる。
【0105】
【数12】
【0106】
この式(12)は、排気系E及び空燃比操作系を合わせた系を、目標偏差空燃比kcmdから排気系E及び空燃比操作系の両者の無駄時間要素と排気系Eの応答遅れ要素とを介してO2センサ6の偏差出力VO2を生成する系として、該系の挙動を離散時間系で表現したものである。
【0107】
そして、この式(12)を用いることで、各制御サイクルにおける合計設定無駄時間d後のO2センサの偏差出力VO2(k+d)バーは、O2センサ6の偏差出力VO2の現在値及び過去値の時系列データVO2(k)及びVO2(k-1)と、スライディングモード制御器27が求める目標空燃比KCMD(詳細な求め方は後述する)に相当する目標偏差空燃比kcmd(=KCMD−FLAF/BASE)の過去値の時系列データkcmd(k-j)(j=1,2,…,d)とを用いて次式(13)により表される。
【0108】
【数13】
【0109】
ここで、式(13)において、α1,α2は、それぞれ同式(13)中の但し書きで定義した行列Aのべき乗Ad(d=d1+d2)の第1行第1列成分、第1行第2列成分である。また、βj(j=1,2,…,d)は、それぞれ行列Aのべき乗Aj-1(j=1,2,…,d)と同式(13)中の但し書きで定義したベクトルBとの積Aj-1・Bの第1行成分である。
【0110】
さらに、式(13)中の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)(j=1,2,…,d)のうち、現在から空燃比操作系の無駄時間d2以前の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-d2),kcmd(k-d2-1),…,kcmd(k-d)は前記式(2)によって、それぞれ、LAFセンサ5の偏差出力kactの現在以前に得られるデータkact(k),kact(k-1),…,kact(k-d+d2)に置き換えることができる。そして、この置き換えを行うことで、次式(14)が得られる。
【0111】
【数14】
この式(14)が本実施形態において、推定器26が推定偏差出力VO2(k+d)バーを制御サイクル毎に逐次算出するための基本式である。つまり、本実施形態では、推定器26は、O2センサ6の偏差出力VO2の現在値及び過去値の時系列データVO2(k)及びVO2(k-1)と、スライディングモード制御器27が過去に求めた目標空燃比KCMDを表す目標偏差空燃比kcmdの過去値のデータkcmd(k-j)(j=1,2,…,d2-1)と、LAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d1)とを用いて式(14)の演算を行うことによってO2センサ6の推定偏差出力VO2(k+d)バーを求める。
【0112】
この場合、式(14)により推定偏差出力VO2(k+d)バーを算出するために必要となる係数値α1,α2及びβj(j=1,2,…,d)の値は、基本的には、前記ゲイン係数a1,a2,b1(これらは式(13)の但し書きで定義した行列A及びベクトルBの成分である)の最新の同定値である同定ゲイン係数a1(k)ハット、a2(k)ハット、b1(k)ハットが用いられる。また、式(14)の演算で必要となる無駄時間d1,d2の値は、前記無駄時間設定手段29が前述のように設定する設定無駄時間d1,d2の最新値が用いられる。
【0113】
ところで、本実施形態では、式(14)で用いる設定無駄時間d1,d2の値は、推定排ガスボリュームABSVによって変化し、これに伴い、式(14)により推定偏差出力VO2(k+d)バーの算出に必要な目標偏差空燃比kcmdのデータ及びLAFセンサ5の偏差出力kactのデータの個数も変化する。そして、この場合、空燃比操作系の設定無駄時間d2の値が「1」となる場合がある(本実施形態ではd1>d2≧1である。図4参照)。この場合には、式(13)中の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)(j=1,2,…,d)の全てをそれぞれLAFセンサ5の偏差出力kactの現在以前に得られる時系列データkact(k),kact(k-1),…,kact(k-d+d2)に置き換えることができる。このため、この場合には、式(13)は、目標偏差空燃比kcmdのデータを含まない次式(15)に書き換えられる。
【0114】
【数15】
【0115】
つまり、設定無駄時間d2の値が「1」である場合には、O2センサ6の推定偏差出力VO2(k+d)バーは、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、LAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d-1)と、同定ゲイン係数a1ハット、a2ハット、b1ハットにより定まる係数値α1,α2及びβj(j=1,2,…,d)と、設定無駄時間d1,d2の和の合計設定無駄時間d(=d1+d2)とを用いて求めることができる。
【0116】
このため、本実施形態では、推定器26は、空燃比操作系の設定無駄時間d2がd2>1である場合には、前記式(14)の演算により推定偏差出力VO2(k+d)バーを求め、d2=1である場合には、式(15)の演算により推定偏差出力VO2(k+d)を求める。
【0117】
尚、推定偏差出力VO2(k+d)バーは、LAFセンサ5の偏差出力kactのデータを使用せずに、式(13)の演算により求めるようにしてもよい。この場合には、O2センサ6の推定偏差出力VO2(k+d)バーは、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)(j=1,2,…,d)と、同定ゲイン係数a1ハット、a2ハット、b1ハットにより定まる係数値α1,α2及びβj(j=1,2,…,d)と、設定無駄時間d1,d2の和の合計設定無駄時間d(=d1+d2)とを用いて求められることとなる。さらには、式(13)中の設定無駄時間d2以前の目標偏差空燃比kcmdの時系列データのうちの一部のみをLAFセンサ5の偏差出力kactに置き換えた式によって推定偏差出力VO2(k+d)バーを求めることも可能である。但し、推定偏差出力VO2(k+d)バーの信頼性を高める上では、エンジン1等の実際の挙動が反映されるLAFセンサ5の偏差出力kactのデータを可能な限り用いた式(14)又は式(15)の演算により推定偏差出力VO2(k+d)バーを求めることが好ましい。
【0118】
以上説明した演算処理のアルゴリズムが、推定器26により制御サイクル毎にO2センサ6の偏差出力VO2の合計設定無駄時間d後の推定値である推定偏差出力VO2(k+d)バーを求めるための基本的なアルゴリズムである。
【0119】
次に、前記スライディングモード制御器27を説明する。
【0120】
スライディングモード制御器27は、通常的なスライディングモード制御に外乱等の影響を極力排除するための適応則(適応アルゴリズム)を加味した適応スライディングモード制御の処理により、O2センサ6の出力VO2/OUTをその目標値VO2/TARGETに収束させるように(O2センサ6の偏差出力VO2を「0」に収束させるように)、排気系Eに与えるべき入力量(詳しくは、LAFセンサ5の出力KACT(空燃比の検出値)と前記空燃比基準値FLAF/BASEとの偏差の目標値で、これは前記目標偏差空燃比kcmdに等しい。以下、この入力量をSLD操作入力uslと称する)を逐次算出し、その算出したSLD操作入力uslから前記目標空燃比KCMDを逐次求めるものである。そして、その処理のためのアルゴリズムは次のように構築されている。
【0121】
まず、スライディングモード制御器27の適応スライディングモード制御の処理に必要な切換関数とこの切換関数により定義される超平面(これはすべり面とも言われる)とについて説明する。
【0122】
本実施形態におけるスライディングモード制御の基本的な考え方としては、制御すべき状態量として、例えば各制御サイクルで得られたO2センサ6の偏差出力VO2(k)と、その1制御サイクル前に得られた偏差出力VO2(k-1)とを用い、スライディングモード制御用の切換関数σを次式(16)により定義する。すなわち、該切換関数σは、O2センサ6の偏差出力VO2の時系列データVO2(k)、VO2(k-1)を成分とする線形関数により定義される。尚、前記偏差出力VO2(k),VO2(k-1)を成分とするベクトルとして式(16)中で定義したベクトルXを以下、状態量Xという。
【0123】
【数16】
この場合、切換関数σの成分VO2(k)、VO2(k-1)にそれぞれ係る係数s1,s2は、次式(17)の条件を満たすように設定される。
【0124】
【数17】
尚、本実施形態では、簡略化のために係数s1をs1=1とし(この場合、s2/s1=s2である)、−1<s2<1の条件を満たすように係数s2の値を設定している。
【0125】
このように切換関数σを定義したとき、スライディングモード制御用の超平面はσ=0なる式によって定義されるものである。この場合、状態量Xは二次系であるので超平面σ=0は図6に示すように直線となる。該超平面は位相空間の次数によって切換線又は切換面とも言われる
尚、本実施形態では、切換関数の変数成分である状態量として、実際には前記推定器26により求められる前記推定偏差出力VO2バーの時系列データを用いるのであるがこれについては後述する。
【0126】
本実施形態で用いる適応スライディングモード制御は、状態量X=(VO2(k),VO2(k-1))を上記の如く設定した超平面σ=0に収束させる(切換関数σの値を「0」に収束させるための制御則である到達則と、その超平面σ=0への収束に際して外乱等の影響を補償するための制御則である適応則(適応アルゴリズム)とにより該状態量Xを超平面σ=0に収束させる(図6のモード1)。そして、該状態量Xを所謂、等価制御入力によって超平面σ=0に拘束しつつ(切換関数σの値を「0」に保持する)、該状態量Xを超平面σ=0上の平衡点であるVO2(k)=VO2(k-1)=0となる点、すなわち、O2センサ6の出力VO2/OUTの時系列データVO2/OUT(k),VO2/OUT(k-1)が目標値VO2/TARGETに一致するような点に収束させる(図6のモード2)。
【0127】
上記のように状態量Xを超平面σ=0の平衡点に収束させるためにスライディングモード制御器27が生成する前記SLD操作入力Usl(=目標偏差空燃比kcmd)は、次式(18)のように、状態量Xを超平面σ=0上に拘束するための制御則に従って排気系Eに与えるべき入力量成分である等価制御入力Ueqと、前記到達則に従って排気系Eに与えるべき入力量成分Urch(以下、到達則入力Urchという)と、前記適応則に従って排気系Eに与えるべき入力量成分Uadp(以下、適応則入力Uadpという)との総和により表される。
【0128】
【数18】
そして、これらの等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpは、本実施形態では、排気系モデルと空燃比操作系モデルとを合わせた前記式(12)に基づいて、次のように求められる。
【0129】
まず、状態量Xを超平面σ=0に拘束するために排気系Eに与えるべき入力量成分である前記等価制御入力Ueqは、σ(k+1)=σ(k)=0という条件を満たす目標偏差空燃比kcmdである。そして、このような条件を満たす等価制御入力Ueqは、式(12)と式(16)とを用いて次式(19)により与えられる。
【0130】
【数19】
この式(19)が本実施形態において、制御サイクル毎に等価制御入力Ueq(k)を求めるための基本式である。
【0131】
次に、前記到達則入力Urchは、本実施形態では、基本的には次式(20)により求められる。
【0132】
【数20】
すなわち、到達則入力Urchは、排気系E及び空燃比操作系の無駄時間を考慮し、前記合計設定無駄時間d後の切換関数σの値σ(k+d)に比例するように決定される。
【0133】
この場合、式(20)中の係数F(これは到達則のゲインを規定する)は、次式(21)の条件を満たすように設定される。
【0134】
【数21】
この式(21)の条件は、外乱等が無い場合において、切換関数σの値を安定に超平面σ=0に収束させるための条件である。尚、式(21)中の好ましい条件は、切換関数σの値が超平面σ=0に対して振動的な変化(所謂チャタリング)を生じるのを抑制する上で好適な条件である。
【0135】
次に、前記適応則入力Uadpは、本実施形態では、基本的には次式(22)により求められる。ここで、式(27)中のΔTは排気側制御ユニット7aの制御サイクルの周期である)。
【0136】
【数22】
すなわち、適応則入力Uadpは、排気系E及び空燃比操作系の無駄時間を考慮し、前記合計設定無駄時間d後までの切換関数σの値と排気側制御ユニット7aの制御サイクルの周期ΔTとの積の積算値(これは切換関数σの値の積分値に相当する)に比例させるように決定する。
【0137】
この場合、式(22)中の係数G(これは適応則のゲインを規定する)は、次式(23)の条件を満たすように設定する。
【0138】
【数23】
この式(23)の条件は、外乱等によらずに切換関数σの値を安定に超平面σ=0に収束させるための条件である。
【0139】
尚、前記式(17)、(21)、(23)の設定条件のより具体的な導出の仕方については、本願出願人が既に特開平11-93741号公報等にて詳細に説明しているので、ここでは詳細な説明を省略する。
【0140】
本実施形態におけるスライディングモード制御器27は、基本的には前記式(19)、(20)、(22)により決定される等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpの総和(Ueq+Urch+Uadp)を排気系Eに与えるべきSLD操作入力Uslとして決定するのであるが、前記式(19)、(20)、(22)で使用するO2センサ6の偏差出力VO2(k+d),VO2(k+d-1)や、切換関数σの値σ(k+d)等は未来値であるので直接的には得られない。
【0141】
そこで、本実施形態では、スライディングモード制御器27は、実際には、前記式(19)により前記等価制御入力Ueqを決定するためのO2センサ6の偏差出力VO2(k+d),VO2(k+d-1)の代わりに、前記推定器26で求められる推定偏差出力VO2(k+d)バー,VO2(k+d-1)バーを用い、次式(24)により制御サイクル毎の等価制御入力Ueqを算出する。
【0142】
【数24】
また、本実施形態では、実際には、推定器26により前述の如く逐次求められた推定偏差出力VO2バーの時系列データを制御すべき状態量とし、前記式(16)により設定された切換関数σに代えて、次式(25)により切換関数σバーを定義する(この線形関数σバーは、前記式(16)の偏差出力VO2の時系列データを推定偏差出力VO2バーの時系列データで置き換えたものに相当する)。
【0143】
【数25】
そして、スライディングモード制御器27は、前記式(20)により前記到達則入力Urchを決定するための切換関数σの値の代わりに、前記式(25)により表される切換関数σバーの値を用いて次式(26)により制御サイクル毎の到達則入力Urchを算出する。
【0144】
【数26】
同様に、スライディングモード制御器27は、前記式(22)により前記適応則入力Uadpを決定するための切換関数σの値の代わりに、前記式(25)により表される線形関数σバーの値を用いて次式(27)により制御サイクル毎の適応則入力Uadpを算出する。
【0145】
【数27】
尚、前記式(24),(26),(27)により等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを算出する際に必要となる前記ゲイン係数a1,a2,b1としては、本実施形態では基本的には前記同定器25により求められた最新の同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットが用いられる。また、到達則入力Urch及び適応則入力Uadpを算出する際に必要となる各制御サイクルにおける切換関数σバーの値は、推定器26により求められた最新の推定偏差出力VO2(k+d)バーと、その1制御サイクル前に推定器26により求められた推定偏差出力VO2(k+d-1)バーである。
【0146】
そして、スライディングモード制御器27は、前記式(24)、(26)、(27)によりそれぞれ求められる等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpの総和を排気系Eに与えるべき前記SLD操作入力Uslとして求める(前記式(18)を参照)。尚、この場合において、前記式(24)、(26)、(27)中で用いる前記係数s1,s2,F,Gの設定条件は前述の通りである。
【0147】
これが、本実施形態において、スライディングモード制御器27により、排気系Eに与えるべきSLD操作入力Usl(=目標偏差空燃比kcmd)を制御サイクル毎に求めるための基本的なアルゴリズムである。このようにしてSLD操作入力Uslを求めることで、該SLD操作入力Uslは、O2センサ6の推定偏差出力VO2バーを「0」に収束させるように(結果的にはO2センサ6の出力VO2/OUTを目標値VO2/TARGETに収束させるように)求められる。
【0148】
ところで、本実施形態におけるスライディングモード制御器27は最終的には前記目標空燃比KCMDを制御サイクル毎に逐次求めるものあるが、前述のように求められるSLD操作入力Uslは、LAFセンサ5で検出される触媒上流空燃比と前記空燃比基準値FLAF/BASEとの偏差の目標値、すなわち前記目標偏差空燃比kcmdである。このため、スライディングモード制御器27は、最終的には、次式(28)に示すように、制御サイクル毎に、前述の如く求めたSLD操作入力Usl(k)に空燃比基準値FLAF/BASEを加算することで、目標空燃比KCMD(k)を求める。
【0149】
【数28】
以上が本実施形態でスライディングモード制御器27により目標空燃比KCMDを逐次求めるための基本的アルゴリズムである。
【0150】
尚、本実施形態では、スライディングモード制御器27による適応スライディングモード制御の安定性を判別して、前記SLD操作入力Uslの値を制限したりするのであるが、これについては後述する。
【0151】
次に、前記機関側制御ユニット7bの大局的フィードバック制御部15、特に前記適応制御器18をさらに説明する。
【0152】
前記図1を参照して、大局的フィードバック制御部15は、前述のようにLAFセンサ5の出力KACTを目標空燃比KCMDに収束させるようにフィードバック制御を行うものである。このとき、このようなフィードバック制御を周知のPID制御だけで行うようにすると、エンジン1の運転状態の変化や経年的特性変化等、動的な挙動変化に対して、安定した制御性を確保することが困難である。
【0153】
前記適応制御器18は、上記のようなエンジン1の動的な挙動変化を補償したフィードバック制御を可能とする漸化式形式の制御器であり、I.D.ランダウ等により提唱されているパラメータ調整則を用いて、図7に示すように、複数の適応パラメータを設定するパラメータ調整部30と、設定された適応パラメータを用いて前記フィードバック操作量KSTRを算出する操作量算出部31とにより構成されている。
【0154】
ここで、パラメータ調整部30について説明すると、ランダウ等の調整則では、離散系の制御対象の伝達関数B(Z-1)/A(Z-1)の分母分子の多項式を一般的に下記の式(29),(30)のようにおいたとき、パラメータ調整部30が設定する適応パラメータθハット(j)(jは機関側制御ユニット7bの制御サイクルの番数を示す)は、式(31)のようにベクトル(転置ベクトル)で表される。また、パラメータ調整部30への入力ζ(j)は、式(32)のように表される。この場合、本実施形態では、大局的フィードバック制御部15の制御対象であるエンジン1が一次系で3制御サイクル分の無駄時間dp(エンジン1の燃焼サイクルの3サイクル分の時間)を持つプラントと考え、式(29)〜式(32)でm=n=1,dp=3とし、設定する適応パラメータはs0,r1,r2,r3,b0の5個とした(図7参照)。尚、式(32)の上段式及び中段式におけるus,ysは、それぞれ、制御対象への入力(操作量)及び制御対象の出力(制御量)を一般的に表したものであるが、本実施形態では、上記入力をフィードバック操作量KSTR、制御対象(エンジン1)の出力を前記LAFセンサ5の出力KACT(触媒上流空燃比の検出値)とし、パラメータ調整部30への入力ζ(j)を、式(32)の下段式により表す(図7参照)。
【0155】
【数29】
【0156】
【数30】
【0157】
【数31】
【0158】
【数32】
ここで、前記式(36)に示される適応パラメータθハットは、適応制御器18のゲインを決定するスカラ量要素b0ハット(j)、操作量を用いて表現される制御要素BRハット(Z-1,j)、及び制御量を用いて表現される制御要素S(Z-1,j)からなり、それぞれ、次式(33)〜(35)により表現される(図7の操作量算出部31のブロック図を参照)。
【0159】
【数33】
【0160】
【数34】
【0161】
【数35】
パラメータ調整部30は、これらのスカラ量要素や制御要素の各係数を設定して、それを式(31)に示す適応パラメータθハットとして操作量算出部31に与えるもので、現在から過去に渡るフィードバック操作量KSTRの時系列データとLAFセンサ5の出力KACTとを用いて、該出力KACTが前記目標空燃比KCMDに一致するように、適応パラメータθハットを算出する。
【0162】
この場合、具体的には、適応パラメータθハットは、次式(36)により算出する。
【0163】
【数36】
同式(36)において、Γ(j)は、適応パラメータθハットの設定速度を決定するゲイン行列(この行列の次数はm+n+dp)、eアスタリスク(j)は、適応パラメータθハットの推定誤差を示すもので、それぞれ式(37),(38)のような漸化式で表される。
【0164】
【数37】
【0165】
【数38】
ここで、式(38)中の「D(Z-1)」は、収束性を調整するための、漸近安定な多項式であり、本実施形態ではD(Z-1)=1としている。
【0166】
尚、式(37)のλ1(j),λ2(j)の選び方により、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定トレースアルゴリズム、固定ゲインアルゴリズム等の種々の具体的なアルゴリズムが得られる。エンジン1の燃料噴射あるいは空燃比等の時変プラントでは、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定ゲインアルゴリズム、および固定トレースアルゴリズムのいずれもが適している。
【0167】
前述のようにパラメータ調整部30により設定される適応パラメータθハット(s0,r1,r2,r3,b0)と、前記目標空燃比生成処理部13により決定される目標空燃比KCMDとを用いて、操作量算出部31は、次式(39)の漸化式により、フィードバック操作量KSTRを求める。図7の操作量算出部31は、同式(39)の演算をブロック図で表したものである。
【0168】
【数39】
尚、式(39)により求められるフィードバック操作量KSTRは、LAFセンサ5の出力KACTが目標空燃比KCMDに一致する状態において、「目標空燃比KCM D」となる。このために、前述の如く、フィードバック操作量KSTRを除算処理部19によって目標空燃比KCMDで除算することで、前記フィードバック補正係数KFBとして使用できるフィードバック操作量kstrを求めるようにしている。
【0169】
このように構築された適応制御器18は、前述したことから明らかなように、制御対象であるエンジン1の動的な挙動変化を考慮した漸化式形式の制御器であり、換言すれば、エンジン1の動的な挙動変化を補償するために、漸化式形式で記述された制御器である。そして、より詳しくは、漸化式形式の適応パラメータ調整機構を備えた制御器と定義することができる。
【0170】
尚、この種の漸化式形式の制御器は、所謂、最適レギュレータを用いて構築する場合もあるが、この場合には、一般にはパラメータ調整機構は備えられておらず、エンジン1の動的な挙動変化を補償する上では、前述のように構成された適応制御器18が好適である。
【0171】
以上が、本実施形態で採用した適応制御器18の詳細である。
【0172】
尚、適応制御器18と共に、大局的フィードバック制御部15に具備したPID制御器17は、一般のPID制御と同様に、LAFセンサ5の出力KACTと、その目標空燃比KCMDとの偏差から、比例項(P項)、積分項(I項)及び微分項(D項)を算出し、それらの各項の総和をフィードバック操作量KLAFとして算出する。この場合、本実施形態では、積分項(I項)の初期値を「1」とすることで、LAFセンサ5の出力KACTが目標空燃比KCMDに一致する状態において、フィードバック操作量KLAFが「1」になるようにし、該フィードバック操作量KLAFをそのまま燃料噴射量を補正するための前記フィードバック補正係数KFBとして使用することができるようしている。また、比例項、積分項及び微分項のゲインは、エンジン1の回転数と吸気圧とから、あらかじめ定められたマップを用いて決定される。
【0173】
また、大局的フィードバック制御部15の前記切換部20は、エンジン1の冷却水温の低温時や、高速回転運転時、吸気圧の低圧時等、エンジン1の燃焼が不安定なものとなりやすい場合、あるいは、目標空燃比KCMDの変化が大きい時や、空燃比のフィードバック制御の開始直後等、これに応じたLAFセンサ6の出力KACTが、そのLAFセンサ5の応答遅れ等によって、信頼性に欠ける場合、あるいは、エンジン1のアイドル運転時のようにエンジン1の運転状態が極めて安定していて、適応制御器18による高ゲイン制御を必要としない場合には、PID制御器17により求められるフィードバック操作量KLAFを燃料噴射量を補正するためのフィードバック補正量数KFBとして出力する。そして、上記のような場合以外の状態で、適応制御器18により求められるフィードバック操作量KSTRを目標空燃比KCMDで除算してなるフィードバック操作量kstrを燃料噴射量を補正するためのフィードバック補正係数KFBとして出力する。これは、適応制御器18が、高ゲイン制御で、LAFセンサ5の出力KA CTを急速に目標空燃比KCMDに収束させるように機能するため、上記のようにエンジン1の燃焼が不安定となったり、LAFセンサ5の出力KACTの信頼性に欠ける等の場合に、適応制御器18のフィードバック操作量KSTRを用いると、かえって空燃比の制御が不安定なものとなる虞れがあるからである。
【0174】
このような切換部20の作動は、例えば特開平8−105345号公報に本願出願人が詳細に開示しているので、ここでは、さらなる説明を省略する。
【0175】
次に本実施形態の装置の作動の詳細を説明する。
【0176】
まず、図8のフローチャートを参照して、前記機関側制御ユニット7bによる処理について説明する。機関側制御ユニット7bは、各気筒毎の出力燃料噴射量#nToutの算出処理をエンジン1のクランク角周期(TDC)と同期した制御サイクルで次のように行う。
【0177】
機関側制御ユニット7bは、まず、前記LAFセンサ5及びO2センサ6を含む各種センサの出力を読み込む(STEPa)。この場合、LAFセンサ5の出力KACT及びO2センサ6の出力VO2/OUTはそれぞれ過去に得られたものを含めて時系列的に図示しないメモリに記憶保持される。
【0178】
次いで、基本燃料噴射量算出部8によって、前述の如くエンジン1の回転数NE及び吸気圧PBに対応する燃料噴射量をスロットル弁の有効開口面積に応じて補正してなる基本燃料噴射量Timが求められる(STEPb)。さらに、第1補正係数算出部9によって、エンジン1の冷却水温やキャニスタのパージ量等に応じた第1補正係数KTOTALが算出される(STEPc)。
【0179】
次いで、機関側制御ユニット7bは、エンジン1の運転モードが排気側制御ユニット7aの目標空燃比生成処理部13が生成する目標空燃比KCMDを使用して燃料噴射量の調整を行う運転モード(以下、通常運転モード)であるか否かの判別処理を行って、該運転モードが通常運転モードであるか否かをそれぞれ値「1」,「0」で表すフラグf/prism/onの値を設定する(STEPd)。
【0180】
上記の判別処理では、図9に示すように、O2センサ6及びLAFセンサ5が活性化しているか否かの判別が行われる(STEPd−1,d−2)。このとき、いずれかが活性化していない場合には、目標空燃比生成処理部13の処理に使用するO2センサ6やLAFセンサ5の検出データを精度よく得ることができない。従って、この場合には、エンジン1の運転モードは通常運転モードではないとされ、フラグf/prism/onの値が「0」にセットされる(STEPd−10)。
【0181】
また、エンジン1のリーン運転中(希薄燃焼運転)であるか否か(STEPd−3)、エンジン1の始動直後の触媒装置3の早期活性化を図るためにエンジン1の点火時期が遅角側に制御されているか否か(STEPd−4)、エンジン1のスロットル弁が略全開であるか否か(STEPd−5)、及びエンジン1への燃料供給の停止中(フュエルカット中)であるか否か(STEPd−6)の判別が行われる。これらのいずれかの条件が成立している場合には、目標空燃比生成処理部13が生成する目標空燃比KCMDを使用してエンジン1の燃料供給を制御することは好ましくないか、もしくは制御することができない。従って、この場合には、エンジン1の運転モードは通常運転モードではないとされ、フラグf/prism/onの値が「0」にセットされる(STEPd−10)。
【0182】
さらに、エンジン1の回転数NE及び吸気圧PBがそれぞれ所定範囲内(正常な範囲内)にあるか否かの判別が行われる(STEPd−7,d−8)。このとき、いずれかが所定範囲内にない場合には、目標空燃比生成処理部13が生成する目標空燃比KCMDを使用してエンジン1の燃料供給を制御することは好ましくない。従って、この場合には、エンジン1の運転モードは通常運転モードではないとされ、フラグf/prism/onの値が「0」にセットされる(STEPd−10)。
【0183】
そして、STEPd−1,d−2,d−7,d−8の条件が満たされ、且つ、STEPd−3,d−4,d−5,d−6の条件が成立していない場合(これは、エンジン1の通常的な運転状態である)に、エンジン1の運転モードが通常運転モードであるとして、フラグf/prism/onの値が「1」にセットされる(STEPd−9)。
【0184】
図8の説明に戻って、上記のようにフラグf/prism/onの値を設定した後、機関側制御ユニット7bは、フラグf/prism/onの値を判断し(STEPe)、f/prism/on=1である場合には、排気側制御ユニット7aの目標空燃比生成処理部13で生成された最新の目標空燃比KCMDを読み込む(STEPf)。また、f/prism/on=0である場合には、目標空燃比KCMDを所定値に設定する(STEPg)。この場合、目標空燃比KCMDとして設定する所定値は、例えばエンジン1の回転数NEや吸気圧PBからあらかじめ定めたマップ等を用いて決定する。
【0185】
次いで、機関側制御ユニット7bは、前記局所的フィードバック制御部16において、前述の如くオブザーバ21によりLAFセンサ5の出力KACTから推定した各気筒毎の実空燃比#nA/Fに基づき、PID制御器22により、各気筒毎のばらつきを解消するようにフィードバック補正係数#nKLAFを算出する(STEPh)。さらに、大局的フィードバック制御部15により、フィードバック補正係数KFBを算出する(STEPi)。
【0186】
この場合、大局的フィードバック制御部15は、前述の如く、PID制御器17により求められるフィードバック操作量KLAFと、適応制御器18により求められるフィードバック操作量KSTRを目標空燃比KCMDで除算してなるフィードバック操作量kstrとから、切換部20によってエンジン1の運転状態等に応じていずれか一方のフィードバック操作量KLAF又はkstrを選択する(通常的には適応制御器18側のフィードバック操作量kstrを選択する)。そして、選択したフィードバック操作量KLAF又はkstrを燃料噴射量を補正するためのフィードバック補正量数K FBとして出力する。
【0187】
尚、フィードバック補正係数KFBを、PID制御器17側のフィードバック操作量KLAFから適応制御器18側のフィードバック操作量kstrに切り換える際には、該補正係数KFBの急変を回避するために、適応制御器18は、その切換えの際の制御サイクルに限り、補正係数KFBを前回の補正係数KFB(=KLAF)に保持するように、フィードバック操作量KSTRを求める。同様に、補正係数KFBを、適応制御器18側のフィードバック操作量kstrからPID制御器17側のフィードバック操作量KLAFに切り換える際には、PID制御器17は、自身が前回の制御サイクルで求めたフィードバック操作量KLAFが、前回の補正係数KFB(=kstr)であったものとして、今回の補正係数KLAFを算出する。
【0188】
上記のようにしてフィードバック補正係数KFBが算出された後、さらに、前記STEPfあるいはSTEPgで決定された目標空燃比KCMDに応じた第2補正係数KCMDMが第2補正係数算出部10により算出される(STEPj)。
【0189】
次いで、機関側制御ユニット7bは、前述のように求められた基本燃料噴射量Timに、第1補正係数KTOTAL、第2補正係数KCMDM、フィードバック補正係数KFB、及び各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒毎の出力燃料噴射量#nToutを求める(STEPk)。そして、この各気筒毎の出力燃料噴射量#nToutが、付着補正部23によって、エンジン1の吸気管の壁面への燃料の付着を考慮した補正を施された後(STEPm)、エンジン1の図示しない燃料噴射装置に出力される(STEPn)。そして、エンジン1にあっては、各気筒毎の出力燃料噴射量#nToutに従って、各気筒への燃料噴射が行われる。
【0190】
以上のような各気筒毎の出力燃料噴射量#nToutの算出及びそれに応じたエンジン1への燃料噴射がエンジン1のクランク角周期に同期したサイクルタイムで逐次行われ、これによりLAFセンサ5の出力KACT(触媒上流空燃比の検出値)が、目標空燃比KCMDに収束するように、エンジン1の空燃比が制御される。この場合、特に、フィードバック補正係数KFBとして、適応制御器18側のフィードバック操作量kstrを使用している状態では、エンジン1の運転状態の変化や特性変化等の挙動変化に対して、高い安定性を有して、LAFセンサ5の出力K ACTが迅速に目標空燃比KCMDに収束制御される。また、エンジン1が有する応答遅れの影響も適正に補償される。
【0191】
一方、前述のようなエンジン1の燃料供給の制御と並行して、前記排気側制御ユニット7aは、一定周期の制御サイクルで図10のフローチャートに示すメインルーチン処理を実行する。
【0192】
すなわち、排気側制御ユニット7aは、まず、目標空燃比生成処理部13の演算処理(詳しくは同定器25、推定器26及びスライディングモード制御器27の演算処理)を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/prism/calの値を設定する(STEP1)。尚、フラグf/prism/calの値は、それが「0」のとき、目標空燃比生成処理部13における演算処理を行わないことを意味し、「1」のとき、その演算処理を行うことを意味する。
【0193】
上記の判別処理は、図11のフローチャートに示すように行われる。すなわち、O2センサ6及びLAFセンサ5が活性化しているか否かの判別が行われる(STEP1−1,1−2)。このとき、いずれかが活性化していない場合には、目標空燃比生成処理部13の処理に使用するO2センサ6及びLAFセンサ5の検出データを精度よく得ることができないため、フラグf/prism/calの値を「0」にセットする(STEP1−6)。さらにこのとき、同定器25の後述する初期化を行うために、その初期化を行うか否かを規定するフラグf/id/resetの値を「1」にセットする(STEP1−7)。ここで、フラグf/id/resetの値は、それが「1」であるとき、同定器25の初期化を行うことを意味し、「0」であるとき、初期化を行わないことを意味する。
【0194】
また、エンジン1のリーン運転中(希薄燃焼運転)であるか否か(STEP1−3)、及びエンジン1の始動直後の触媒装置3の早期活性化を図るためにエンジン1の点火時期が遅角側に制御されているか否か(STEP1−4)の判別が行われる。これらのいずれかの条件が成立している場合には、O2センサ6の出力VO2/OUTを目標値VO2/TARGETに整定させるような目標空燃比KCMDを算出しても、それをエンジン1の燃料供給の制御に使用することはないので、フラグf/prism/calの値を「0」にセットする(STEP1−6)。さらにこのとき、同定器25の初期化を行うために、フラグf/id/resetの値を「1」にセットする(STEP1−7)。
【0195】
図10の説明に戻って、上記のような判別処理を行った後、排気側制御ユニット7aは、さらに、同定器25による前記ゲイン係数a1,a2,b1の同定(更新)処理を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/id/calの値を設定する(STEP2)。尚、フラグf/id/calの値は、それが「0」のとき、同定器25による前記ゲイン係数a1,a2,b1の同定(更新)処理を行わないことを意味し、「1」のとき、同定(更新)処理を行うことを意味する。
【0196】
このSTEP2の判別処理では、エンジン1のスロットル弁が略全開であるか否か、及びエンジン1への燃料供給の停止中(フュエルカット中)であるか否かの判別が行われる。これらのいずれかの条件が成立している場合には、前記ゲイン係数a1,a2,b1を適正に同定することが困難であるため、フラグf/id/calの値を「0」にセットする。そして、上記のいずれの条件も成立していない場合には、同定器25による前記ゲイン係数a1,a2,b1の同定(更新)処理を実行すべくフラグf/id/calの値を「1」にセットする。
【0197】
次いで、排気側制御ユニット7aは、前記流量データ生成手段28により、エンジン1の回転数NE及び吸気圧PBの最新の検出値(これは前記図8のSTEPaで機関側制御ユニット7bにより取得される)から前記式(3)により推定排ガスボリュームABSVを算出する(STEP3)。そして、排気側制御ユニット7aは、前記無駄時間設定手段29によって、この推定排ガスボリュームABSVの算出値から前記図4のデータテーブルにより排気系E及び空燃比操作系のそれぞれの設定無駄時間d1,d2の値を求める(STEP4)。尚、このSTEP4で求められる設定無駄時間d1,d2の値は、詳しくは、前述したように図4のデータテーブルに求められる値の小数点以下を四捨五入して得られる整数値である。
【0198】
次いで、排気側制御ユニット7aは、前記減算処理部11,12によりそれぞれ最新の前記偏差出力kact(k)(=KACT−FLAF/BASE)及びVO2(k)(=VO2/OUT−VO2/TARGET)を算出する(STEP5)。この場合、減算処理部11,12は、前記図8のSTEPaにおいて取り込まれて図示しないメモリに記憶されたLAFセンサ5の出力KACT及びO2センサ6の出力VO2/OUTの時系列データの中から、最新のものを選択して前記偏差出力kact(k)及びVO2(k)を算出する。そしてこの偏差出力kact(k)及びVO2(k)は、排気側制御ユニット7aにおいて、過去に算出したものを含めて時系列的に図示しないメモリに記憶保持される。
【0199】
次いで、排気側制御ユニット7aは、前記STEP1で設定したフラグf/prism/calの値を判断する(STEP6)。このとき、f/prism/cal=0である場合、すなわち、目標空燃比生成処理部13の演算処理を行わない場合には、スライディングモード制御器27で求めるべき前記SLD操作入力Usl(目標偏差空燃比kcmd)を強制的に所定値に設定する(STEP14)。この場合、該所定値は、例えばあらかじめ定めた固定値(例えば「0」)あるいは前回の制御サイクルで決定したSLD操作入力Uslの値である。
【0200】
尚、このようにSLD操作入力Uslを所定値とした場合において、排気側制御ユニット7aは、その所定値のSLD操作入力Uslに前記基準値FLAF/BASEを加算することで、今回の制御サイクルにおける目標空燃比KCMDを決定し(STEP15)、今回の制御サイクルの処理を終了する。
【0201】
一方、STEP6の判断で、f/prism/cal=1である場合、すなわち、目標空燃比生成処理部13の演算処理を行う場合には、排気側制御ユニット7aは、まず、前記同定器25による演算処理を行う(STEP7)。
【0202】
この同定器25による演算処理は図12のフローチャートに示すように行われる。すなわち、同定器25は、まず、前記STEP2で設定されたフラグf/id/calの値を判断する(STEP7−1)。このときf/id/cal=0であれば、同定器25によるゲイン係数a1,a2,b1の同定処理を行わないので、直ちに図10のメインルーチンに復帰する。
【0203】
一方、f/id/cal=1であれば、同定器25は、さらに該同定器25の初期化に係わる前記フラグf/id/resetの値(これは、前記STEP1でその値が設定される)を判断し(STEP7−2)、f/id/reset=1である場合には、同定器25の初期化を行う(STEP7−3)。この初期化では、前記同定ゲイン係数a1ハット,a2ハット,b1ハットの各値があらかじめ定めた初期値に設定され(式(5)の同定ゲイン係数ベクトルΘの初期化)、また、前記式(11)の行列P(対角行列)の各成分があらかじめ定めた初期値に設定される。さらに、フラグf/id/resetの値は「0」にリセットされる。
【0204】
次いで、同定器25は、前記STEP3で流量データ生成手段28が求めた推定排ガスボリュームABSVの現在値から、前記図5のデータテーブルにより同定器25の重み付き最小2乗法のアルゴリズムの重みパラメータλ1、すなわち前記式(11)で用いる重みパラメータλ1の値を求める(STEP7−4)。
【0205】
次いで、同定器25は、現在の同定ゲイン係数a1(k-1)ハット,a2(k-1)ハット,b1(k-1)ハットの値と、前記STEP5で制御サイクル毎に算出される偏差出力VO2及びkactの過去値のデータVO2(k-1),VO2(k-2),kact(k-d1-1)とを用いて、前記式(4)により前記同定偏差出力VO2(k)ハットを算出する(STEP7−5)。ここで、この算出に用いる偏差出力kact(k-d1-1)は、より詳しく言えば、前記STEP4で無駄時間設定手段29が設定した排気系Eの設定無駄時間d1により定まる過去時点における偏差出力kactであり、現在の制御サイクルから(d1+1)制御サイクル前の制御サイクルで得られた偏差出力kactである。
【0206】
さらに同定器25は、新たな同定ゲイン係数a1ハット,a2ハット,b1ハットを求める際に使用する前記ベクトルKθ(k)を式(10)により算出した後(STEP7−6)、前記同定誤差id/e(k)(前記同定偏差出力VO2ハットと、実際の偏差出力VO2との偏差。式(8)参照)を算出する(STEP7−7)。
【0207】
ここで、同定誤差id/e(k)は、基本的には、前記式(8)に従って算出すればよいのであるが、本実施形態では、前記STEP3で制御サイクル毎に算出する偏差出力VO2と、前記STEP7−5で制御サイクル毎に算出する同定偏差出力VO2ハットとから式(8)の演算により得られた値(=VO2(k)−VO2(k)ハット)に、さらにローパス特性のフィルタリングを施すことで同定誤差id/e(k)を求める。
【0208】
これは、触媒装置3を含む排気系Eの挙動は一般にローパス特性を有するため、排気系モデルのゲイン係数a1,a2,b1を適正に同定する上では、排気系Eの低周波数側の挙動を重視することが好ましいからである。
【0209】
尚、このようなフィルタリングは、結果的に、偏差出力VO2及び同定偏差出力VO2ハットの両者に同じローパス特性のフィルタリングが施されていればよく、例えば偏差出力VO2及び同定偏差出力VO2ハットにそれぞれ各別にフィルタリングを施した後に式(7)の演算を行って同定誤差id/e(k)を求めるようにしてもよい。また、前記のフィルタリングは、例えばディジタルフィルタの一手法である移動平均処理によって行われる。
【0210】
次いで、同定器25は、STEP7−7で求めた同定誤差id/e(k)と、前記STEP7−6で算出したKθ(k)とを用いて前記式(9)により新たな同定ゲイン係数ベクトルΘ(k)、すなわち、新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを算出する(STEP7−8)。
【0211】
このようにして新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを算出した後、同定器25は、該同定ゲイン係数a1ハット,a2ハット,b1ハットの値を、所定の範囲に制限する処理を以下に説明するように行う(STEP7−9)。そして、同定器25は次回の制御サイクルの処理のために前記行列P(k)を前記式(11)により更新した後(STEP7−10)、図10のメインルーチンの処理に復帰する。
【0212】
前記STEP7−9において同定ゲイン係数a1ハット、a2ハット、b1ハットの値を制限する処理は、スライディングモード制御器27により求められる目標空燃比KCMDが高周波振動的な変化を生じるような状況を排除するための処理である。すなわち、本願発明者等の知見によれば、同定ゲイン係数a1ハット、a2ハット、b1ハットの値を特に制限しない場合には、O2センサ6の出力VO2/OUTがその目標値VO2/TARGETに安定して制御されている状態で、スライディングモード制御器27により求められる目標空燃比KCMDが平滑的な時間変化を呈する状況と、高周波振動的な時間変化を呈する状況との二種類の状況とがある。そして、目標空燃比KCMDが平滑的なものとなるか高周波振動的なものとなるかは、特に、排気系モデルの応答遅れ要素(より詳しくは式(1)右辺の1次目の自己回帰項及び2次目の自己回帰項)に係わる同定ゲイン係数a1ハット、a2ハットの値の組み合わせや、排気系モデルの無駄時間要素に係わる同定ゲイン係数b1ハットの値の影響を受ける。
【0213】
このため、STEP7−9の制限処理は、それを大別すると、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを所定の範囲に制限する処理と、同定ゲイン係数b1ハットの値を所定の範囲に制限する処理とがある。
【0214】
この場合、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを制限する範囲と、同定ゲイン係数b1の値を制限する範囲は、次のように設定されている。
【0215】
まず、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを制限するための範囲に関し、本願発明者等の検討によれば、目標空燃比KCMDが平滑的なものとなるか高周波振動的なものとなるかは、前記推定器26が前記推定偏差出力VO2(k+d)バーを求めるために使用する前記係数値α1,α2(これらの係数値α1,α2は前記式(13)中で定義した行列Aのべき乗Adの第1行第1列成分及び第1行第2列成分である)の組み合わせが密接に関連している。
【0216】
具体的には、図13に示すように係数値α1,α2をそれぞれ成分とする座標平面を設定したとき、係数値α1,α2の組により定まる該座標平面上の点が図13の斜線を付した領域(三角形Q1Q2Q3で囲まれた領域(境界を含む)。以下、この領域を推定係数安定領域という)に存するとき、目標空燃比KCMDの時間的変化が平滑的なものとなりやすい。逆に、係数値α1,α2の組により定まる点が上記の推定係数安定領域を逸脱しているような場合には、目標空燃比KCMDの時間的変化が高周波振動的なものとなったり、あるいは、O2センサ6の出力VO2/OUTの目標値VO2/TARGETへの制御性が悪化しやすい。
【0217】
従って、同定ゲイン係数a1ハット、a2ハットの値の組み合わせは、これらの値により定まる係数値α1,α2の組に対応する図13の座標平面上の点が上記推定係数安定領域内に存するように制限することが好ましい。
【0218】
尚、図13において、上記推定係数安定領域を含んで座標平面上に表した三角形領域Q1Q4Q3は、次式(40)により定義される系、すなわち、前記式(13)の右辺のVO2(k)及びVO2(k-1)をそれぞれVO2(k)バー及びVO2(k-1)バー(これらのVO2(k)バー及びVO2(k-1)バーは、それぞれ、推定器26により制御サイクル毎に求められる推定偏差出力及びその1制御サイクル前に求められる推定偏差出力を意味する)により置き換えてなる式により定義される系が、理論上、安定となるような係数値α1,α2の組み合わせを規定する領域である。
【0219】
【数40】
すなわち、式(40)により表される系が安定となる条件は、その系の極(これは、次式(41)により与えられる)が複素平面上の単位円内に存在することである。
【0220】
【数41】
そして、図13の三角形領域Q1Q4Q3は、上記の条件を満たす係数値α1,α2の組み合わせを規定する領域である。従って、前記推定係数安定領域は、前記式(40)により表される系が安定となるような係数値α1,α2の組み合わせのうち、α1≧0となる組み合わせの領域である。
【0221】
一方、係数値α1,α2は、前記式(13)中の定義から明らかなように、前記合計設定無駄時間dの値をある値に定めたとき、ゲイン係数a1,a2の値の組み合わせにより定まるので、その合計設定無駄時間dの値を用いて逆算的に、係数値α1,α2の組み合わせからゲイン係数a1,a2の値の組み合わせも定まる。従って、係数値α1,α2の好ましい組み合わせを規定する図13の推定係数安定領域は、ゲイン係数a1,a2を座標成分とする図14の座標平面上に変換することができる。
【0222】
ここで、合計設定無駄時間dの値をある値に定めて上記の変換を行うと、該推定係数安定領域は、図14の座標平面上では、例えば同図の仮想線で囲まれた領域(下部に凹凸を有する大略三角形状の領域。以下、同定係数安定領域という)に変換される。すなわち、ゲイン係数a1,a2の値の組により定まる図14の座標平面上の点が、同図の仮想線で囲まれた同定係数安定領域に存するとき、それらのゲイン係数a1,a2の値により定まる係数値α1,α2の組に対応する図13の座標平面上の点が前記推定係数安定領域内に存することとなる。尚、同定係数安定領域は、合計設定無駄時間dの値によって変化するが、これについては後述する。以下の説明では、しばらくの間、合計設定無駄時間dの値は、ある値(ここでの説明では、以下、参照符号dxを付する)に固定されているものとする。
【0223】
従って、同定器25により求める同定ゲイン係数a1ハット、a2ハットの値の組合わせは、基本的には、それらの値により定まる図14の座標平面上の点が前記同定係数安定領域に存するような範囲に制限することが好ましい。
【0224】
但し、図14に仮想線で示した同定係数安定領域の境界の一部(図の下部)は凹凸を有する複雑な形状を呈しているため、実用上、同定ゲイン係数a1ハット、a2ハットの値により定まる図14の座標平面上の点を同定係数安定領域内に制限するための処理が煩雑なものとなりやすい。
【0225】
そこで、本実施形態では、同定係数安定領域(合計設定無駄時間dxに対応する同定係数安定領域)を、例えば図14の実線で囲まれた四角形Q5Q6Q7Q8の領域(境界を直線状に形成した領域。以下、同定係数制限領域という)により大略近似する。この同定係数制限領域(合計設定無駄時間dxに対応する同定係数制限領域)は、図示の如く、|a1|+a2=1なる関数式により表される折れ線(線分Q5Q6及び線分Q5Q8を含む線)と、a1=A1Lなる定値関数式により表される直線(線分Q6Q7を含む直線)と、a2=A2Lなる定値関数式により表される直線(線分Q7Q8を含む直線)とにより囲まれた領域である。そして、本実施形態では、同定ゲイン係数a1ハット、a2ハットの値の組合わせを制限するための範囲として、この同定係数制限領域を用いる。この場合、同定係数制限領域の下辺部の一部は、前記同定係数安定領域を逸脱しているものの、現実には同定器25が求める同定ゲイン係数a1ハット、a2ハットの値により定まる点は上記の逸脱領域には入らないことを実験的に確認している。従って、上記の逸脱領域があっても、実用上は支障がない。
【0226】
ところで、前記同定係数制限領域の基礎となる同定係数安定領域は、前記式(13)の係数値α1,α2の定義から明らかなように、前記合計設定無駄時間dの値によって変化する。そして、本実施形態では、排気系Eの設定無駄時間d1及び空燃比操作系の設定無駄時間d2の値、ひいては、合計設定無駄時間d(=d1+d2)の値は、推定排ガスボリュームABSVの応じて逐次可変的に設定される。
【0227】
この場合、本願発明者等の知見によれば、同定係数安定領域は、主に、その下部(概ね図14のQ7からQ8にかけての凹凸を有する部分)の形状のみが合計設定無駄時間dの値に応じて変化し、基本的には該合計設定無駄時間dの値が長くなる程、同定係数安定領域の下部が下方(a2軸の負方向)に拡大する傾向がある。そして、該同定係数安定領域の上半部(概ね図14の三角形Q5Q6Q8で囲まれた部分)の形状は、合計設定無駄時間dの値の影響をほとんど受けない。
【0228】
そこで、本実施形態では、同定ゲイン係数a1ハット、a2ハットの値の組合わせを制限するための同定係数制限領域におけるゲイン係数a2の下限値A2Lを、排気系E及び空燃比操作系の無駄時間d1,d2を規定する推定排ガスボリュームABSVに応じて可変的に設定する。この場合、本実施形態では、ゲイン係数a2の下限値A2Lは、例えば図15に実線eで示すようにあらかじめ定められたデータテーブルに基づいて、推定排ガスボリュームABSVの値(最新値)から求められる。該データテーブルでは、下限値A2Lの値(<0)は、基本的には、推定排ガスボリュームABSVの値が大きい程(合計設定無駄時間dが短いほど)、小さくなる(絶対値が大きくなる)ように定められている。これにより、同定係数制限領域は、推定排ガスボリュームABSVが大きい程(合計設定無駄時間dが短いほど)、下方に拡大するように設定されることとなる。例えば、合計設定無駄時間dの値が、図14の実線示の同定係数制限領域に対応する値dxよりも長い場合には、図14に破線で示すように、同定係数制限領域の下部がd=dxの同定係数制限領域よりも下方に拡大する。
【0229】
尚、上述のような同定係数制限領域の設定の仕方は例示的なもので、該同定係数制限領域は、基本的には、合計設定無駄時間dの各値に対応する前記同定係数安定領域に等しいか、もしくは該同定係数安定領域を大略近似し、あるいは、同定係数制限領域の大部分もしくは全部が同定係数安定領域に属するように設定すれば、どのような形状のものに設定してもよい。つまり、同定係数制限領域は、同定ゲイン係数a1ハット、a2ハットの値の制限処理の容易さ、実際上の制御性等を考慮して種々の設定が可能である。例えば本実施形態では、同定係数制限領域の上半部の境界を|a1|+a2=1なる関数式により規定しているが、この関数式を満たすゲイン係数a1,a2の値の組み合わせは、前記式(40)の系の極が複素平面上の単位円周上に存するような理論上の安定限界の組み合わせである。従って、同定係数制限領域の上半部の境界を例えば|a1|+a2=r(但し、rは上記の安定限界に対応する「1」よりも若干小さい値で、例えば0.99)なる関数式により規定し、制御の安定性をより高めるようにしてもよい。
【0230】
次に、同定ゲイン係数b1ハットの値を制限するための範囲は、次のように設定されている。
【0231】
すなわち、本願発明者等の知見によれば、前記目標空燃比KCMDの時間的変化が高周波振動的なものとなる状況は、同定ゲイン係数b1ハットの値が過大もしくは過小となるような場合にも生じ易い。また、目標空燃比KCMDの時間的変化が平滑的なものとなるような好適な同定ゲイン係数b 1ハットの値は、合計設定無駄時間dの影響を受け、基本的には、該合計設定無駄時間dが短いほど、好適な同定ゲイン係数b1ハットの値は大きくなる傾向がある。そこで、本実施形態では、ゲイン係数b1の値の範囲を規定する上限値B1H及び下限値B1L(B1H>B1L>0)を、合計設定無駄時間dの値を規定する推定排ガスボリュームABSVの値(最新値)に応じて逐次設定し、その上限値B1H及び下限値B1Lにより定まる範囲に同定ゲイン係数b1ハットの値を制限する。この場合、本実施形態では、ゲイン係数b1の値の範囲を規定する上限値B1H及び下限値B1Lは、推定排ガスボリュームABSVの値から、図15に実線f,gでそれぞれ示すように実験やシミュレーションを通じてあらかじめ定められたデータテーブルに基づいて求められる。そして、該データテーブルは、基本的には推定排ガスボリュームABSVが大きい程(合計設定無駄時間dが短いほど)、上限値B1H及び下限値B1Lが大きくなるように設定されている。
【0232】
上述のように同定ゲイン係数a1ハット、a2ハットの値の組合わせ、並びに、同定ゲイン係数b1の値の範囲を制限する前記STEP7−9の処理は、具体的には次のように行われる。
【0233】
すなわち、図16のフローチャートを参照して、同定器25は、まず、前記図10のSTEP3で流量データ生成手段28が求めた推定排ガスボリュームABSVの最新値から、前記図15のデータテーブルに基づいて、前記同定係数制限領域におけるゲイン係数a2の下限値A2L、並びに、ゲイン係数b1の上限値B1H及び下限値B1Lをそれぞれ設定する(STEP7−9−1)。
【0234】
そして、同定器25は、前記図12のSTEP7−8で前述の如く求めた同定ゲイン係数a1(k)ハット、a2(k)ハット、b1(k)ハットについて、まず、同定ゲイン係数a1(k)ハット、a2(k)ハットの値の組み合わせを前記同定係数制限領域内に制限するための処理をSTEP7−9−2〜7−9−9で行う。
【0235】
具体的には、同定器25は、まず、STEP7−8で求めた同定ゲイン係数a2(k)ハットの値が、STEP7−9−1で設定した下限値A2L(図14参照)以上の値であるか否かを判断する(STEP7−9−2)。
【0236】
このとき、a2(k)ハット<A2Lであれば、同定ゲイン係数a1(k)ハット、a2(k)ハットの値の組により定まる図14の座標平面上の点(以下、この点を(a1(k)ハット,a2(k)ハット)で表す)が同定係数制限領域から逸脱しているので、a2(k)ハットの値を強制的に上記下限値A2Lに変更する(STEP7−9−3)。この処理により、図14の座標平面上の点(a1(k)ハット,a2(k)ハット)は、少なくともa2=A2Lにより表される直線(線分Q7Q8を含む直線)の上側(該直線上を含む)の点に制限される。
【0237】
次いで、同定器25は、STEP7−8で求めた同定ゲイン係数a1(k)ハットの値が、前記同定係数制限領域におけるゲイン係数a1の下限値A1L(図14参照)以上の値であるか否か、並びに、同定係数制限領域におけるゲイン係数a1の上限値A1H(図14参照)以下の値であるか否かを順次判断する(STEP7−9−4、7−9−6)。尚、本実施形態ではゲイン係数a1の下限値A1Lはあらかじめ定めた固定値である。また、ゲイン係数a1の上限値A1Hは、図14から明らかなように折れ線|a1|+a2=1(但しa1>0)と、直線a2=A2Lとの交点Q8のa1座標成分であるので、A1H=1−A2Lである。従って、ゲイン係数a1の下限値A1Lは、STEP7−9−1で設定されるゲイン係数a2の下限値A2Lに応じて変化し、基本的には、推定排ガスボリュームABSVが大きい程(合計設定無駄時間dが短いほど)、該下限値A1Lは大きくなる。
【0238】
このとき、a1(k)ハット<A1Lである場合、あるいは、a1(k)ハット>A1Hである場合には、図14の座標平面上の点(a1(k)ハット,a2(k)ハット)が同定係数制限領域から逸脱しているので、a1(k)ハットの値をそれぞれの場合に応じて、強制的に上記下限値A1Lあるいは上限値A1Hに変更する(STEP7−9−5、7−9−7)。
【0239】
この処理により、図14の座標平面上の点(a1(k)ハット,a2(k)ハット)は、a1=A1Lにより表される直線(線分Q6Q7を含む直線)と、a1=A1Hにより表される直線(点Q8を通ってa1軸に直行する直線)との間の領域(両直線上を含む)に制限される。
【0240】
尚、STEP7−9−4〜7−9−7の処理は、前記STEP7−9−2及び7−9−3の処理の前に行うようにしてもよい。
【0241】
次いで、同定器25は、前記STEP7−9−2〜7−9−7の処理を経た今現在のa1(k)ハット,a2(k)ハットの値が|a1|+a2≦1なる不等式を満たすか否か、すなわち、点(a1(k)ハット,a2(k)ハット)が|a1|+a2=1なる関数式により表される折れ線(線分Q5Q6及び線分Q5Q8を含む線)の下側(折れ線上を含む)にあるか上側にあるかを判断する(STEP7−9−8)。
【0242】
このとき、|a1|+a2≦1なる不等式が成立しておれば、前記STEP7−9−2〜7−9−7の処理を経たa1(k)ハット,a2(k)ハットの値により定まる点(a1(k)ハット,a2(k)ハット)は、同定係数制限領域(その境界を含む)に存している。
【0243】
一方、|a1|+a2>1である場合は、点(a1(k)ハット,a2(k)ハット)が、同定係数制限領域からその上方側に逸脱している場合であり、この場合には、a2(k)ハットの値を強制的に、a1(k)ハットの値に応じた値(1−|a1(k)ハット|)に変更する(STEP7−9−9)。換言すれば、a1(k)ハットの値を現状に保持したまま、点(a1(k)ハット,a2(k)ハット)を|a1|+a2=1なる関数式により表される折れ線上(同定係数制限領域の境界である線分Q5Q6上、もしくは線分Q5Q8上)に移動させる。
【0244】
以上のようなSTEP7−9−2〜7−9−9の処理によって、同定ゲイン係数a1(k)ハット,a2(k)ハットの値は、それらの値により定まる点(a1(k)ハット,a2(k)ハット)が同定係数制限領域内に存するように制限される。尚、前記STEP7−8で求められた同定ゲイン係数a1(k)ハット,a2(k)ハットの値に対応する点(a1(k)ハット,a2(k)ハット)が同定係数制限領域内に存する場合は、それらの値は保持される。
【0245】
この場合、前述の処理によって、前記排気系モデルの1次目の自己回帰項に係わる同定ゲイン係数a1(k)ハットに関しては、その値が、同定係数制限領域における下限値A1L及び上限値A1Hの間の値となっている限り、その値が強制的に変更されることはない。また、a1(k)ハット<A1Lである場合、あるいは、a1(k)ハット>A1Hである場合には、それぞれ、同定ゲイン係数a1(k)ハットの値は、同定係数制限領域においてゲイン係数a1が採りうる最小値である下限値A1Lと、同定係数制限領域においてゲイン係数a1が採りうる最大値である下限値A1Hとに強制的に変更されるので、これらの場合における同定ゲイン係数a1(k)ハットの値の変更量は最小なものとなる。つまり、STEP7−8で求められた同定ゲイン係数a1(k)ハット,a2(k)ハットの値に対応する点(a1(k)ハット,a2(k)ハット)が同定係数制限領域から逸脱している場合には、同定ゲイン係数a1(k)ハットの値の強制的な変更は最小限に留められる。
【0246】
このようにして、同定ゲイン係数a1(k)ハット,a2(k)ハットの値を制限したのち、同定器25は、同定ゲイン係数b1(k)ハットの値を制限する処理をSTEP7−9−10〜7−9−13で行う。
【0247】
すなわち、同定器25は、前記STEP7−8で求めた同定ゲイン係数b1( k)ハットの値が、STEP7−9−1で設定したゲイン係数b1の下限値B1L以上であるか否かを判断し(STEP7−9−10)、B1L>b1(k)ハットである場合には、b1(k)ハットの値を強制的に上記下限値B1Lに変更する(STEP7−9−11)。
【0248】
さらに、同定器25は、同定ゲイン係数b1(k)ハットの値が、STEP7−9−1で設定したゲイン係数b1の上限値B1H以上であるか否かを判断し(STEP7−9−12)、B1H<b1(k)ハットである場合には、b1(k)ハットの値を強制的に上記上限値B1Hに変更する(STEP7−9−13)。
【0249】
このようなSTEP7−9−10〜7−9−13の処理によって、同定ゲイン係数b1(k)ハットの値は、下限値B1L及び上限値B1Hの間の範囲の値に制限される。
【0250】
このようにして、同定ゲイン係数a1(k)ハット,a2(k)ハットの値の組み合わせと同定ゲイン係数b1(k)ハットの値とを制限した後には、同定器25の処理は図12のフローチャートの処理に復帰する。
【0251】
尚、図12のSTEP7−8で同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを求めるために使用する同定ゲイン係数の前回値a1(k-1)ハット,a2(k-1)ハット,b1(k-1)ハットは、前回の制御サイクルにおけるSTEP7−9の制限処理を施した同定ゲイン係数の値である。
【0252】
以上説明した処理が図10のSTEP7における同定器25の演算処理である。
【0253】
図10の説明に戻って、上記のように同定器25の演算処理を行った後、排気側制御ユニット7aは、ゲイン係数a1,a2,b1の値を決定する(STEP8)。この処理では、前記STEP2で設定されたフラグf/id/calの値が「1」である場合、すなわち、同定器25によるゲイン係数a1,a2,b1の同定処理を行った場合には、ゲイン係数a1,a2,b1の値として、それぞれ前記STEP7で前述の通り同定器25により求められた最新の同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハット(STEP7−9の制限処理を施したもの)を設定する。また、f/id/cal=0である場合、すなわち、同定器25によるゲイン係数a1,a2,b1の同定処理を行わなかった場合には、ゲイン係数a1,a2,b1の値をそれぞれあらかじめ定めた所定値とする。
【0254】
次いで、排気側制御ユニット7aは、前記推定器26による演算処理を行う(STEP9)。
【0255】
すなわち、推定器26は、まず、前記STEP8で決定されたゲイン係数a1,a2,b1(これらの値は基本的には、同定ゲイン係数a1ハット,a2ハット,b1ハットの最新値である)と、前記STEP4で設定された排気系Eの設定無駄時間d1及び空燃比操作系の設定無駄時間d2の値とを用いて、前記式(14)あるいは式(15)で使用する係数値α1,α2,βj(j=1,2,…,d)を、式(13)の但し書きの定義に従って算出する。
【0256】
そして、推定器26は、空燃比操作系の設定無駄時間d2が、d2>1(d2≧2)である場合には、前記STEP5で制御サイクル毎に算出されるO2センサの偏差出力VO2の現在値及び過去値の時系列データVO2(k),VO2(k-1)、並びにLAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d1)と、スライディングモード制御器27から制御サイクル毎に与えられる前記目標偏差空燃比kcmd(=SLD操作入力Usl)の過去値のデータkcmd(k-j)(=usl(k-j)。j=1,2,…,d2-1)と、上記の如く算出した係数値α1,α2,βj(j=1,2,…,d)とを用いて前記式(14)により、推定偏差出力VO2(k+d)バー(今回の制御サイクルの時点から前記合計設定無駄時間d後の偏差出力VO2の推定値)を算出する。
【0257】
また、推定器26は、空燃比操作系の設定無駄時間d2が、d2=1である場合には、O2センサの偏差出力VO2の現在値及び過去値の時系列データVO2(k),VO2(k-1)、並びにLAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d-1)と、前記係数値α1,α2,βj(j= 1,2,…,d)とを用いて前記式(15)により、推定偏差出力VO2(k+d)バーを算出する。
【0258】
排気側制御ユニット7aは、次に、スライディングモード制御器27によって、前記SLD操作入力Usl(=目標偏差空燃比kcmd)を算出する(STEP10)。
【0259】
すなわち、スライディングモード制御器27は、まず、前記STEP9で推定器26により求められた推定偏差出力VO2バーの時系列データVO2(k+d)バー,VO2(k+d-1)バー(推定偏差出力VO2バーの今回値及び前回値)を用いて、前記式(25)により定義された切換関数σバーの今回値σ(k+d)バー(これは、式(16)で定義された切換関数σの合計設定無駄時間d後の推定値に相当する)を算出する。
【0260】
尚、この場合、切換関数σバーの値があらかじめ定めた所定の許容範囲内に収まるようにし、上記の如く求められるσ(k+d)バーがその許容範囲の上限値又は下限値を超えた場合には、それぞれσバーの値σ(k+d)バーを強制的に該上限値又は下限値に制限する。
【0261】
さらに、スライディングモード制御器27は、上記切換関数σバーの今回値σ(k+d)バーに、排気側制御ユニット7aの制御サイクルの周期ΔTを乗算したものσ(k+d)バー・ΔTを累積的に加算していく、すなわち、前回の制御サイクルで求められた加算結果に今回の制御サイクルで算出されたσ(k+d)バーと周期ΔTとの積σ(k+d)バー・ΔTを加算することで、前記式(27)のΣ(σバー・ΔT)の項の演算結果であるσバーの積算値(以下、この積算値をΣσバーにより表す)を算出する。
【0262】
尚、この場合、本実施形態では、上記積算値Σσバーがあらかじめ定めた所定の許容範囲内に収まるようにし、該積算値Σσバーがその許容範囲の上限値又は下限値を超えた場合には、それぞれ該積算値Σσバーを強制的に該上限値又は下限値に制限する。
【0263】
そして、スライディングモード制御器27は、前記STEP9で推定器26により求められた推定偏差出力VO2バーの現在値及び過去値の時系列データVO2(k+d)バー,VO2(k+d-1)バーと、上記の如く求めた切換関数の値σ(k+d) バー及びその積算値Σσバーと、STEP8で決定したゲイン係数a1,a2,b1(これらの値は基本的には、最新の同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットである)とを用いて、前記式(24)、(26)、(27)に従って、それぞれ等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを算出する。
【0264】
さらにスライディングモード制御器27は、この等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを加算することで、前記SLD操作入力Usl、すなわち、O2センサ6の出力VO2/OUTを目標値VO2/TARGETに収束させるために必要な排気系Eへの入力量(=目標偏差空燃比kcmd)を算出する。
【0265】
上記のようにSLD操作入力Uslを算出した後、スライディングモード制御器27は、適応スライディングモード制御の安定性(より詳しくは、適応スライディングモード制御に基づくO2センサ6の出力VO2/OUTの制御状態(以下、SLD制御状態という)の安定性)を判別する処理を行って、該SLD制御状態が安定であるか否かをそれぞれ値「1」、「0」で表すフラグf/sld/stbの値を設定する(STEP11)。
【0266】
この安定性の判別処理は図17のフローチャートに示すように行われる。
【0267】
すなわち、スライディングモード制御器27は、まず、前記STEP10で算出される切換関数σバーの今回値σ(k+d)バーと前回値σ(k+d-1)バーとの偏差Δσバー(これは切換関数σバーの変化速度に相当する)を算出する(STEP11−1)。
【0268】
次いで、スライディングモード制御器27は、上記偏差Δσバーと切換関数σバーの今回値σ(k+d)バーとの積Δσバー・σ(k+d)バー(これはσバーに関するリアプノフ関数σバー2/2の時間微分関数に相当する)があらかじめ定めた所定値ε(≧0)以下であるか否かを判断する(STEP11−2)。
【0269】
ここで、上記積Δσバー・σ(k+d)バー(以下、これを安定判別パラメータPstbという)について説明すると、この安定判別パラメータPstbの値がPstb>0となる状態は、基本的には、切換関数σバーの値が「0」から離間しつつある状態である。また、安定判別パラメータPstbの値がPstb≦0となる状態は、基本的には、切換関数σバーの値が「0」に収束しているか、もしくは収束しつつある状態である。そして、一般に、スライディングモード制御ではその制御量を目標値に安定に収束させるためには、切換関数の値が安定に「0」に収束する必要がある。従って、基本的には、前記安定判別パラメータPstbの値が「0」以下であるか否かによって、それぞれ前記SLD制御状態が安定、不安定であると判断することができる。
【0270】
但し、安定判別パラメータPstbの値を「0」と比較することでSLD制御状態の安定性を判断すると、切換関数σバーの値に僅かなノイズが含まれただけで、安定性の判別結果に影響を及ぼしてしまう。このため、本実施形態では、前記STEP11−2で安定判別パラメータPstbと比較する所定値εは、「0」よりも若干大きな正の値としている。
【0271】
そして、STEP11−2の判断で、Pstb>εである場合には、SLD制御状態が不安定であるとされ、前記STEP10で算出されるSLD操作入力Uslを用いた目標空燃比KCMDの決定を所定時間、禁止するためにタイマカウンタtm(カウントダウンタイマ)の値が所定の初期値TMにセットされる(タイマカウンタtmの起動。STEP11−4)。さらに、前記フラグf/sld/stbの値が「0」に設定された後(STEP11−5)、図10のメインルーチンの処理に復帰する。
【0272】
一方、前記STEP11−2の判断で、Pstb≦εである場合には、スライディングモード制御器27は、切換関数σバーの今回値σ(k+d)バーがあらかじめ定めた所定範囲内にあるか否かを判断する(STEP11−3)。
【0273】
この場合、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い状態は、該今回値σ(k+d)バーが「0」から大きく離間している状態であるので、SLD制御状態が不安定であると考えられる。このため、STEP11−3の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い場合には、SLD制御状態が不安定であるとされ、前述の場合と同様に、STEP11−4及び11−5の処理により、タイマカウンタtmが起動されると共に、フラグf/sld/stbの値が「0」に設定される。
【0274】
尚、本実施形態では、前述のSTEP10の処理において、切換関数σバーの値を所定の許容範囲内に制限するので、STEP11−3の判断処理は省略してもよい。
【0275】
また、STEP11−3の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内にある場合には、スライディングモード制御器27は、前記タイマカウンタtmを所定時間Δtm分、カウントダウンする(STEP11−6)。そして、このタイマカウンタtmの値が「0」以下であるか否か、すなわち、タイマカウンタtmを起動してから前記初期値TM分の所定時間が経過したか否かが判断される(STEP11−7)。
【0276】
このとき、tm>0である場合、すなわち、タイマカウンタtmが計時動作中でまだタイムアップしていない場合は、STEP11−2あるいはSTEP11−3の判断でSLD制御状態が不安定であると判断されてから、さほど時間を経過していないので、SLD制御状態が不安定なものとなりやすい。このため、STEP11−7でtm>0である場合には、前記STEP11−5の処理により、前記フラグf/sld/stbの値が「0」に設定される。
【0277】
そして、STEP11−7の判断でtm≦0である場合、すなわち、タイマカウンタtmがタイムアップしている場合には、SLD制御状態が安定であるとして、フラグf/sld/stbの値が「1」に設定される(STEP9−8)。
【0278】
以上のような処理によって、SLD制御状態の安定性が判断され、不安定であると判断された場合には、フラグf/sld/stbの値が「0」に設定され、安定であると判断された場合には、フラグf/sld/stbの値が「1」に設定される。
【0279】
尚、以上説明したSLD制御状態の安定性の判断の手法は例示的なもので、この他の手法によって安定性の判断を行うようにすることも可能である。例えば制御サイクルよりも長い所定期間毎に、各所定期間内における前記安定判別パラメータPstbの値が前記所定値εよりも大きくなる頻度を計数する。そして、その頻度があらかじめ定めた所定値を超えるような場合にSLD制御状態が不安定であると判断し、逆の場合に、SLD制御状態が安定であると判断するようにしてもよい。
【0280】
図10の説明に戻って、上記のようにSLD制御状態の安定性を示すフラグf/sld/stbの値を設定した後、スライディングモード制御器27は、フラグf/sld/stbの値を判断する(STEP12)。このとき、f/sld/stb=1である場合、すなわち、SLD制御状態が安定であると判断された場合には、スライディングモード制御器27は前記STEP10で算出したSLD操作入力Uslのリミット処理を行う(STEP13)。このリミット処理では、STEP10で算出されたSLD操作入力Uslの今回値Usl(k)が所定の許容範囲内にあるか否かが判断され、該今回値Uslがその許容範囲の上限値又は下限値を超えている場合には、それぞれ、SLD操作入力Uslの今回値usl(k)が強制的に該上限値又は下限値に制限される。
【0281】
尚、STEP13のリミット処理を経たSLD操作入力Usl(=目標偏差空燃比kcmd)は、図示しないメモリに時系列的に記憶保持され、それが、推定器26の前述の演算処理のために使用される。
【0282】
次いで、スライディングモード制御器27は、STEP13のリミット処理を経たSLD操作入力Uslに前記空燃比基準値FLAF/BASEを加算することで、前記目標空燃比KCMDを算出する(STEP15)。これにより、排気側制御ユニット7aの今回の制御サイクルの処理が終了する。
【0283】
また、前記STEP12の判断でf/sld/stb=0である場合、すなわち、SLD制御状態が不安定であると判断された場合には、スライディングモード制御器27は、今回の制御サイクルにおけるSLD操作入力Uslの値を強制的に所定値(固定値あるいはSLD操作入力Uslの前回値)に設定した後(STEP14)、このSLD操作入力Uslに空燃比基準値FLAF/BASEを加算することで目標空燃比KCMDを算出する(STEP15)。これにより排気側制御ユニット7aの今回の制御サイクルの処理が終了する。
【0284】
尚、STEP15で最終的に決定される目標空燃比KCMDは、制御サイクル毎に図示しないメモリに時系列的に記憶保持される。そして、前記大局的フィードバック制御器15等が、排気側制御ユニット7aで決定された目標空燃比KCMDを用いるに際しては(図8のSTEPfを参照)、上記のように時系列的に記憶保持された目標空燃比KCMDの中から最新のものが選択される。
【0285】
以上説明した内容が本実施形態の装置の詳細な作動である。
【0286】
すなわち、その作動を要約すれば、排気側制御ユニット7aによって、触媒装置3の下流側のO2センサ6の出力VO2/OUTを目標値VO2/TARGETに収束(整定)させるように、触媒上流空燃比の目標値である目標空燃比KCMDが逐次算出される。さらに、この目標空燃比KCMDにLAFセンサ5の出力を収束させるようにエンジン1の燃料噴射量を調整することで、触媒上流空燃比が目標空燃比KCMDにフィードバック制御され、ひいては、O2センサ6の出力VO2/OUTが目標値VO2/TARGETに収束制御される。これにより、触媒装置3の最適な排ガス浄化性能を確保することができる。
【0287】
この場合、排気側制御ユニット7aは、スライディングモード制御器27の適応スライディングモード制御の処理により目標空燃比KCMDを算出するために、推定器26により求められた推定偏差出力VO2バー、すなわち排気系Eの設定無駄時間d1と前記空燃比操作系(エンジン1及び機関側制御ユニット7bからなるシステム)の設定無駄時間d2とを合わせた合計設定無駄時間d後のO2センサ6の偏差出力VO2の推定値である推定偏差出力VO2バーを用い、その推定偏差出力VO2バーにより示される合計設定無駄時間d後のO2センサ6の出力VO2/OUTの推定値を目標値VO2/TARGETに収束させるように目標空燃比KCMDを求める。
【0288】
このとき、推定器26が求める推定偏差出力VO2バーは、流量データ生成手段28が求めた推定排ガスボリュームABSVに応じて無駄時間設定手段29が設定した設定無駄時間d1,d2、すなわち、排気系E及び空燃比操作系の実際の無駄時間にほぼ等しい設定無駄時間d1,d2により定まる合計設定無駄時間d後のO2センサ6の偏差出力VO2の推定値である。さらに、該推定器26により推定偏差出力VO2バーを算出するためのアルゴリズムは、設定無駄時間d1,d2の無駄時間要素をそれぞれ有する排気系モデル及び空燃比操作系モデルを基礎として構築されている。そして、特に排気系モデルのパラメータであるゲイン係数a1,a2,b1の値は、同定器25によって、該排気系モデル上でのO2センサ6の偏差出力VO2を表す前記同定偏差出力VO2ハットと実際の偏差出力VO2との間の誤差を最小化するように逐次同定され、その同定値a1ハット、a2ハット、b1ハットが推定器26による推定偏差出力VO2バーの算出処理に用いられる。この場合、排気系モデルの無駄時間として排気系Eの実際の無駄時間とほぼ等しい前記設定無駄時間d1が用いられるため、排気系モデルと実際の排気系Eの挙動特性の整合性が高まり、排気系Eの実際の挙動状態を的確に反映した同定ゲイン係数a1ハット、a2ハット、b1ハットが同定器25により求められる。
【0289】
このため、推定器26により求められる推定偏差出力VO2バーは、排気系E及び空燃比操作系の実際の無駄時間の変化によらずに、それらを合わせた合計無駄時間後のO2センサ6の出力を表すものとして精度の高いものとなる。そして、この推定偏差出力VO2バーを用いてスライディングモード制御器27により目標空燃比KCMDを求めることにより、排気系Eや空燃比操作系の無駄時間の影響を最適に補償し得る目標空燃比KCMDを求めることができ、ひいては、O2センサ6の出力VO2/OUTの目標値VO2/TARGETへの収束制御を精度よく高い速応性で行うことができる。この結果、触媒装置3の浄化性能を高めることができる。
【0290】
また、目標空燃比KCMDを求めるスライディングモード制御器27の適応スライディングモード制御のアルゴリズムは、推定器26と同様に、排気系Eの実際の無駄時間とほぼ等しい設定無駄時間d1を有する排気系モデルを基礎として構築され、該目標空燃比KCMDを求めるために、前記同定器25が逐次求める同定ゲイン係数a1ハット、a2ハット、b1ハットが用いられる。このため、排気系Eの実際の挙動状態を的確に反映させて目標空燃比KCMDを求めることができ、ひいては、O2センサ6の出力VO2/OUTの目標値VO2/TARGETへの収束制御の速応性等を高めて、触媒装置3の浄化性能を向上させることができる。
【0291】
さらに、同定器25は、求める同定ゲイン係数a1ハット、a2ハットの組合わせを、前記設定無駄時間d1,d2を規定する推定排ガスボリュームABSVに応じて可変的に設定する同定係数制限領域内の値に制限すると共に、同定ゲイン係数b1の値も推定排ガスボリュームABSVに応じて可変的に設定する範囲内の値に制限する。また、同定器25は、同定ゲイン係数a1ハット、a2ハット、b1ハットを求めるための重み付き最小2乗法のアルゴリズムにおける重みパラメータλ1の値を上記推定排ガスボリュームABSVに応じて可変的に調整する。このため、排気系Eや空燃比操作系の実際の無駄時間や応答遅れ特性の変化によらずに、これらの同定ゲイン係数a1ハット、a2ハット、b1ハットの誤差やばらつきを抑制し、その信頼性を高めることができる。この結果、該同定ゲイン係数a1ハット、a2ハット、b1ハットを用いて前記推定器26により求められる推定偏差出力VO2の精度を安定して確保することができると共に、O2センサの出力VO2/OUTを目標値VO2/OUTに高い速応性で円滑に収束させ得る目標空燃比KCMDを安定して求めることができ、ひいては、触媒装置3の高い浄化性能を安定して確保することができる。
【0292】
次に、本発明の内燃機関の空燃比制御装置の第2実施形態を説明する。本実施形態は前記第1実施形態と同様、本発明の第1及び第2の態様に係わる実施形態である。尚、本実施形態は、基本的には前記推定器26による演算処理のみが前述の実施形態と相違するものであるので、説明に際しての参照符号は前述の実施形態と同一のものを用いる。
【0293】
前述の実施形態では、排気系Eの無駄時間d1と空燃比操作系(エンジン1及び機関側制御ユニット7bからなる系)の無駄時間d2との両者の影響を補償するために、前記設定合計無駄時間d(=d1+d2)後のO2センサ6の偏差出力VO2の推定値を求めるようにした。しかるに、排気系Eの無駄時間d1に比して空燃比操作系の無駄時間d2が十分に小さいような場合(d2≒0とみなせる場合)には、排気系Eの設定無駄時間d1後のO2センサ6の偏差出力VO2の推定値VO2(k+d1)バー(以下の説明ではこれを第2推定偏差出力VO2バーと称する)を求め、その第2推定偏差出力VO2バーを用いて、目標空燃比KCMDを求めるようにしてもよい。本実施形態は、このような第2推定偏差出力VO2バーを求めて、O2センサ6の出力VO2/OUTの目標値VO2/TARGETへの収束制御を行うものである。
【0294】
この場合、推定器26は次のようにして第2推定偏差出力VO2バーを求める。すなわち、排気系Eの排気系モデルを表す前記式(1)を用いることで、各制御サイクルにおける排気系Eの無駄時間d1後のO2センサ6の偏差出力VO2の推定値である前記第2推定偏差出力VO2(k+d1)バーは、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、LAFセンサ5の偏差出力kact(=KACT−FLAF/BASE)の過去値の時系列データkact(k-j)(j=1,2,…,d1)とを用いて次式(42)により表される。
【0295】
【数42】
ここで、式(42)において、α3,α4は、それぞれ前記式(13)中のただし書きで定義した行列Aの巾乗Ad1(d1:排気系Eの無駄時間)の第1行第1列成分、第1行第2列成分である。また、γj(j=1,2,…,d1)は、それぞれ行列Aの巾乗Aj-1(j=1,2,…,d1)と前記式(13)中のただし書きで定義したベクトルBとの積Aj-1・Bの第1行成分である。
【0296】
この式(42)が本実施形態において、推定器26が前記第2推定偏差出力VO2(k+d1)バーを算出するための式である。この式(42)は、前記第1実施形態で説明した式(13)において、kcmd(k)=kact(k)、d=d1とする(空燃比操作系の無駄時間d2を「0」とみなす)ことで、該式(13)から得られる式である。つまり、本実施形態では、推定器26は、制御サイクル毎に、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、LAFセンサ5の偏差出力kactの過去値の時系列データkact(k-j)(j=1,2,…,d1)とを用いて式(42)の演算を行うことによって、O2センサ6の第2推定偏差出力VO2(k+d1)バーを求める。
【0297】
この場合、式(42)により第2推定偏差出力VO2(k+d1)バーを算出するために必要となる係数値α3,α4及びγj(j=1,2,…,d1)の値は、前述の実施形態の場合と同様、前記ゲイン係数a1,a2,b1の同定値である前記同定ゲイン係数a1ハット,a2ハット,b1ハットを用いて算出される。また、式(42)の演算で必要となる無駄時間d1の値は、第1実施形態と同様に前記無駄時間設定手段29が制御サイクル毎に逐次求める設定無駄時間d1が用いられる。尚、この場合、無駄時間設定手段29は、空燃比操作系の設定無駄時間d2を求める必要は無いことはもちろんである。
【0298】
以上説明した以外の他の処理については前述の第1実施形態と基本的には同一である。但し、この場合において、スライディングモード制御器27は、SLD操作入力Usl(=目標偏差空燃比kcmd)の成分である等価制御入力Ueqと到達則入力Urchと適応則入力Uadpとを、それぞれ前記式(24)、(26)、(27)の「d」を「d1」で置き換えた式により求めることとなる。
【0299】
かかる本実施形態の内燃機関の空燃比制御装置にあっては、O2センサ6の出力VO2/OUTを目標値VO2/TARGET収束させる上で考慮すべき排気系Eの設定無駄時間d1が実際の無駄時間とほぼ等しくなるように推定排ガスボリュームに応じて可変的に設定される。そして、この設定無駄時間d1の値を用いて、同定器25、推定器26、スライディングモード制御器27による処理が前記第1実施形態と同様に行われる。従って、前記第1実施形態と同様の作用効果を奏することができる。
【0300】
尚、本発明の内燃機関の空燃比制御装置は、前述した実施形態に限定されるものではなく、例えば次のような変形態様も可能である。
【0301】
すなわち、前記第1及び第2実施形態では、触媒装置3の下流側の排ガスセンサとしてO2センサ6を用いたが、該排ガスセンサは、制御すべき触媒装置下流の排ガスの特定成分の濃度を検出できるセンサであれば、他のセンサを用いてもよい。例えば触媒装置下流の排ガス中の一酸化炭素(CO)を制御する場合はCOセンサ、窒素酸化物(NOX)を制御する場合にはNOXセンサ、炭化水素(HC)を制御する場合にはHCセンサを用いるようにすればよい。
【0302】
また、前記実施形態では、同定器25、推定器26、スライディングモード制御器27の演算処理において、LAFセンサ5の偏差出力kactやO2センサ6の偏差出力VO2、目標偏差空燃比kcmdを用いたが、LAFセンサ5の出力KACTやO2センサ6の出力VO2/OUT、目標空燃比KCMDをそのまま用いて同定器25、推定器26、スライディングモード制御器27の演算処理を行うようにすることも可能である。
【0303】
また、前記実施形態では、排気側制御ユニット7aで生成する操作量を目標空燃比KCMD(排気系Eの目標入力)とし、その目標空燃比KCMDに従ってエンジン1で燃焼させる混合気の空燃比を操作するようにしたが、例えばエンジン1の燃料供給量の補正量を排気側制御ユニット7aで決定するようにすることも可能であり、また、目標空燃比KCMDからフィードフォワード的にエンジン1の燃料供給量を調整して空燃比を操作するようにすることも可能である。
【0304】
また、前記実施形態では、スライディングモード制御器27は、外乱の影響を考慮した適応則(適応アルゴリズム)を加味した適応スライディングモード制御の処理を用いたが、該適応則を省略した通常的なスライディングモード制御の処理を用いるようにしてもよい。さらには、スライディングモード制御器27に代えて、他の形態の適応制御器、例えばバックステッピング制御器等を用いることも可能である。
【0305】
また、前記第2実施形態では、排気系Eの無駄時間d1を考慮した排気系モデルを用いて空燃比の制御系を構築したものを示したが、例えば排気系Eの無駄時間d1が、排気側制御ユニット7aの制御サイクルに比して比較的短いような場合には、前記式(1)でd1=0とした排気系モデルを用いて制御系を構築するようにしてもよい(これは本発明の第2の態様に関連する)。この場合には、前記推定器26が不要となる。そして、同定器25は、例えば前記式(4)でd1=0として前記第1実施形態と同様に構築されたアルゴリズム(重み付き最小2乗法のアルゴリズム)に基づいて排気系モデルのパラメータの同定値である同定ゲイン係数a1ハット、a2ハット、b1ハットを求めるようにすればよい。尚、このとき前記重みパラメータλ1は、前記第1実施形態と同様に推定排ガスボリュームABSVに応じて逐次可変的に設定されることはもちろんである。また、スライディングモード制御器27は、例えば前記式(19)、(20)、(22)でd=0としてなる式と、前記式(18)とに基づいて、前記第1実施形態と同様にSLD操作入力Uslを求めるようにすればよい。
【図面の簡単な説明】
【図1】本発明の内燃機関の空燃比制御装置の第1実施形態の全体的システム構成図。
【図2】図1の装置で使用するO2センサの出力特性図。
【図3】図1の装置の目標空燃比生成処理部の基本構成を示すブロック図。
【図4】図3の目標空燃比生成処理部の無駄時間設定手段の処理を説明するための線図。
【図5】図3の目標空燃比生成処理部の同定器の処理を説明するための線図。
【図6】図3の目標空燃比生成処理部のスライディングモード制御器に係わる説明図。
【図7】図1の装置の適応制御器の基本構成を示すブロック図。
【図8】図1の装置の機関側制御ユニット(7b)の処理を示すフローチャート。
【図9】図8のフローチャートにおけるサブルーチン処理を示すフローチャート。
【図10】図1の装置の排気側制御ユニット(7a)の全体的処理を示すフローチャート。
【図11】図10のフローチャートのサブルーチン処理を示すフローチャート。
【図12】図10のフローチャートのサブルーチン処理を示すフローチャート。
【図13】図12のフローチャートの部分的処理の説明図。
【図14】図12のフローチャートの部分的処理の説明図。
【図15】図12のフローチャートの部分的処理の説明図。
【図16】図12のフローチャートのサブルーチン処理を示すフローチャート。
【図17】図10のフローチャートのサブルーチン処理を示すフローチャート。
【符号の説明】
1…エンジン(内燃機関)、2…排気管(排気通路)、3…触媒装置、5…LAFセンサ(空燃比センサ)、6…O2センサ、7a…排気側制御ユニット(操作量生成手段)、7b…機関側制御ユニット(空燃比操作手段)、25…同定器、28…流量データ生成手段、29…無駄時間設定手段。
Claims (4)
- 内燃機関の排気通路に備えた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく設けられた排ガスセンサと、前記触媒装置の上流側から前記排ガスセンサにかけての該触媒装置を含む排気系を、該触媒装置に進入する排ガスの空燃比から少なくとも無駄時間要素を介して前記排ガスセンサの出力を生成する系として該排気系の挙動を表現するようあらかじめ定められた該排気系のモデルに対し、該モデルの所定のパラメータの値を逐次同定する同定手段と、前記排ガスセンサの出力を所定の目標値に収束させるように、該モデルのパラメータの同定値を用いて前記触媒装置に進入する排ガスの空燃比を規定する操作量を逐次生成する操作量生成手段と、該操作量に応じて前記内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記触媒装置を流れる排ガスの流量を表すデータを逐次生成する流量データ生成手段と、該流量生成手段が生成したデータの値に応じて前記排気系のモデルの無駄時間要素の無駄時間としての設定無駄時間を逐次設定する無駄時間設定手段を備え、前記同定手段は、該無駄時間設定手段が設定した設定無駄時間の値を用いて前記パラメータの値を同定することを特徴とする内燃機関の空燃比制御装置。 - 前記同定手段は、前記排気系のモデルにおける前記排ガスセンサの出力と該排ガスセンサの実際の出力との間の誤差を最小化するアルゴリズムにより前記パラメータの値を同定する手段であり、
該アルゴリズムの重みパラメータの値を前記流量データ生成手段が生成したデータの値に応じて可変的に設定する手段を備えたことを特徴とする請求項1記載の内燃機関の空燃比制御装置。 - 内燃機関の排気通路に備えた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく設けられた排ガスセンサと、前記触媒装置の上流側から前記排ガスセンサにかけての該触媒装置を含む排気系を、該触媒装置に進入する排ガスの空燃比から前記排ガスセンサの出力を生成する系として該排気系の挙動を表現するようあらかじめ定められた該排気系のモデルに対し、該モデルの所定のパラメータの値を逐次同定する同定手段と、前記排ガスセンサの出力を所定の目標値に収束させるように、該モデルのパラメータの同定値を用いて前記触媒装置に進入する排ガスの空燃比を規定する操作量を逐次生成する操作量生成手段と、該操作量に応じて前記内燃機関で燃焼させる混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記同定手段は、前記排気系のモデルにおける前記排ガスセンサの出力と該排ガスセンサの実際の出力との間の誤差を最小化するアルゴリズムにより前記パラメータの値を同定する手段であり、
前記触媒装置を流れる排ガスの流量を表すデータを逐次生成する流量データ生成手段と、前記同定手段のアルゴリズムの重みパラメータの値を前記流量データ生成手段が生成したデータの値に応じて可変的に設定する手段とを備えたことを特徴とする内燃機関の空燃比制御装置。 - 前記同定手段は、前記排気系のモデルのパラメータの同定値を前記流量データ生成手段が生成したデータの値に応じて定めた所定の範囲内の値に制限して求めることを特徴とする請求項1〜3のいずれか1項に記載の内燃機関の空燃比制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002179145A JP4074142B2 (ja) | 2001-06-19 | 2002-06-19 | 内燃機関の空燃比制御装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001185556 | 2001-06-19 | ||
JP2001-185556 | 2001-06-19 | ||
JP2002179145A JP4074142B2 (ja) | 2001-06-19 | 2002-06-19 | 内燃機関の空燃比制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003074399A JP2003074399A (ja) | 2003-03-12 |
JP4074142B2 true JP4074142B2 (ja) | 2008-04-09 |
Family
ID=26617231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002179145A Expired - Fee Related JP4074142B2 (ja) | 2001-06-19 | 2002-06-19 | 内燃機関の空燃比制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4074142B2 (ja) |
-
2002
- 2002-06-19 JP JP2002179145A patent/JP4074142B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003074399A (ja) | 2003-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4490000B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3621839B2 (ja) | プラントの制御装置 | |
JP3484088B2 (ja) | プラントの制御装置 | |
JP3967524B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3992925B2 (ja) | 排ガス浄化用触媒装置の劣化判別方法 | |
JP3592519B2 (ja) | 内燃機関の排気系の空燃比制御装置及びプラントの制御装置 | |
JP3484074B2 (ja) | プラントの制御装置 | |
JP3773684B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4265704B2 (ja) | 内燃機関の空燃比制御装置及びプラントの制御装置 | |
JP4312325B2 (ja) | 排ガス浄化用触媒装置の劣化状態評価方法 | |
JP3261038B2 (ja) | 内燃機関の空燃比制御装置 | |
JPH09273438A (ja) | 内燃機関の空燃比制御装置 | |
JPH09273439A (ja) | 内燃機関の空燃比制御装置 | |
JPH1193740A (ja) | 内燃機関の排気系の空燃比制御装置 | |
JP3655145B2 (ja) | 多気筒内燃機関の空燃比制御装置 | |
JP3913940B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4437626B2 (ja) | 内燃機関の空燃比制御装置 | |
EP1403491B1 (en) | Device, method, and program recording medium for control of air-fuel ratio of internal combustion engine | |
JP2006233973A (ja) | 制御装置 | |
JPH09324681A (ja) | 内燃機関の空燃比制御装置 | |
JP3816387B2 (ja) | 制御装置 | |
JP3773859B2 (ja) | プラントの制御装置及び内燃機関の空燃比制御装置 | |
JP4074142B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3816386B2 (ja) | 制御装置 | |
JP3748418B2 (ja) | 内燃機関の空燃比制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070718 |
|
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: 20080122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080124 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4074142 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: 20110201 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120201 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130201 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140201 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |