(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けられ、上流側から進入する排ガスの空燃比がリーン状態の空燃比であるときには該排ガス中の窒素酸化物を吸収し、且つ該排ガスの空燃比が理論空燃比もしくはリッチ状態の空燃比であるときには前記リーン状態の空燃比で吸収した窒素酸化物を該排ガス中の還元剤によって還元する作用を呈する触媒装置と、
該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく該触媒装置の下流側に設けられた排ガスセンサと、
前記触媒装置の上流側から前記排ガスセンサまでの該触媒装置を含む排気系が有する無駄時間後の前記排ガスセンサの出力の推定値を表すデータを逐次生成する推定手段と、
前記触媒装置に進入する排ガスの空燃比が理論空燃比近傍の空燃比状態であるときの前記排ガスセンサの所定の出力値を該排ガスセンサの出力の目標値とし、その目標値に前記推定手段が生成したデータにより表される排ガスセンサの出力の推定値を収束させるように前記触媒装置に進入する排ガスの空燃比を制御するストイキ運転モードの制御処理と前記触媒装置に進入する排ガスの空燃比をリーン状態の空燃比に制御するリーン運転モードの制御処理とをあらかじめ定めた所定の運転条件に応じて選択的に実行する制御処理手段とを備え、
該制御処理手段による前記リーン運転モードの制御処理の実行後に、前記ストイキ運転モードの制御処理を実行して前記触媒装置における窒素酸化物の還元処理を行う内燃機関の排ガスの空燃比制御装置において、
前記還元処理における前記ストイキ運転モードの制御処理の実行中に前記推定手段が生成したデータに基づき、前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であるか否かを逐次把握する還元状態把握手段を備え、
前記制御処理手段は、該還元状態把握手段により前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であることが把握されるまでは、前記ストイキ運転モードの制御処理から前記リーン運転モードの制御処理への切換えを禁止し、該還元状態把握手段により前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であることが把握された場合には、前記ストイキ運転モードの制御処理から前記リーン運転モードの制御処理への切換えを許可することを特徴とする内燃機関の排ガスの空燃比制御装置。
【請求項２】
前記還元状態把握手段は、前記推定手段が生成したデータにより表される前記排ガスセンサの出力の推定値を所定の閾値と比較することにより前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であるか否かを把握することを特徴とする請求項１記載の内燃機関の排ガスの空燃比制御装置。
【請求項３】
前記還元処理における前記ストイキ運転モードの制御処理の実行中に、該ストイキ運転モードの制御処理を開始してから前記還元状態把握手段により前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であることが把握されるまでに該触媒装置に与えられた前記還元剤の積算量を表すデータを生成する還元剤量データ生成手段を備え、該還元剤量データ生成手段により生成されたデータに基づき、前記触媒装置の劣化状態を評価する触媒劣化評価手段を備えたことを特徴とする請求項１又は２記載の内燃機関の排ガスの空燃比制御装置。
【請求項４】
前記制御処理手段による前記リーン運転モードの制御処理の実行中に、前記触媒装置による窒素酸化物の吸収が飽和したか否かを把握する吸収飽和状態把握手段を備え、前記触媒劣化評価手段は、該吸収飽和状態把握手段により前記窒素酸化物の吸収の飽和が把握された後に前記制御処理手段がその制御処理を前記リーン運転モードの制御処理から前記ストイキ運転モードの制御処理に切換えた場合にのみ、該ストイキ運転モードの制御処理の実行中に前記還元剤量データ生成手段が生成したデータに基づき前記触媒装置の劣化状態を評価することを特徴とする請求項３記載の内燃機関の排ガスの空燃比制御装置。
【請求項５】
前記制御処理手段による前記リーン運転モードの制御処理の実行中に、前記触媒装置に与えられた窒素酸化物の積算量を表すデータを逐次生成する窒素酸化物量データ生成手段を備え、前記吸収状態把握手段は、該窒素酸化物量データ生成手段が生成するデータにより表される窒素酸化物の積算量を所定の閾値と比較することにより、前記触媒装置における窒素酸化物の吸収が飽和したか否かを判断することを特徴とする請求項４記載の内燃機関の排ガスの空燃比制御装置。
【請求項６】
前記窒素酸化物量データ生成手段が生成するデータにより表される窒素酸化物の積算量と比較する前記所定の閾値は、前記触媒劣化評価手段による前記触媒装置の劣化状態の最新の評価結果に応じて設定されることを特徴とする請求項５記載の内燃機関の排ガスの空燃比制御装置。
【請求項７】
前記制御処理手段は、前記リーン運転モードの制御処理の実行中に前記吸収飽和状態把握手段により前記触媒装置における窒素酸化物の吸収が飽和したことが把握されたときには、前記リーン運転モードの制御処理を中止して前記ストイキ運転モードの制御処理を実行することを特徴とする請求項６記載の内燃機関の排ガスの空燃比制御装置。
【請求項８】
前記推定手段は、前記排気系が前記触媒装置に進入する排ガスの空燃比から応答遅れ要素及び無駄時間要素を介して前記排ガスセンサの出力を生成する系であるとして該排気系の挙動を表現してなる該排気系のモデルに基づき構築されたアルゴリズムにより前記排ガスセンサの出力の推定値を表すデータを生成することを特徴とする請求項１〜７のいずれか１項に記載の内燃機関の排ガスの空燃比制御装置。
【請求項９】
前記触媒装置に進入する排ガスの空燃比を検出すべく前記触媒装置の上流側に設けた空燃比センサを備え、前記推定手段は、前記排ガスセンサの出力のデータと、前記空燃比センサの出力のデータとを用いて前記排ガスセンサの出力の推定値を表すデータを生成することを特徴とする請求項８記載の内燃機関の排ガスの空燃比制御装置。
【請求項１０】
前記制御処理手段による前記ストイキ運転モードの制御処理の実行中に、前記排ガスセンサの出力のデータと前記空燃比センサの出力のデータとを用いて前記排気系のモデルの設定すべきパラメータの値を逐次同定する同定手段を備え、前記推定手段は、前記排ガスセンサ及び空燃比センサの出力のデータと共に該同定手段により同定された前記モデルのパラメータの値を用いて前記排ガスセンサの出力の推定値を表すデータを生成することを特徴とする請求項９記載の内燃機関の排ガスの空燃比制御装置。
【請求項１１】
前記同定手段が同定する前記モデルのパラメータは、前記応答遅れ要素に係るゲイン係数と前記無駄時間要素に係るゲイン係数とを含むことを特徴とする請求項１０記載の内燃機関の排ガスの空燃比制御装置。
【請求項１２】
前記排気系のモデルは、所定の制御サイクル毎の前記排ガスセンサの出力を、その制御サイクルよりも過去の制御サイクルにおける該排ガスセンサの出力と前記排気系の無駄時間以前の制御サイクルにおける前記空燃比センサの出力とを用いて表現する離散時間系のモデルであることを特徴とする請求項９〜１１のいずれか１項に記載の内燃機関の排ガスの空燃比制御装置。
【請求項１３】
前記制御処理手段が実行する前記ストイキ運転モードの制御処理は、前記推定手段が生成したデータにより表される前記排ガスセンサの出力の推定値を前記目標値に収束させるように前記触媒装置に進入する排ガスの空燃比を規定する操作量をフィードバック制御処理により生成し、その操作量に応じて前記内燃機関で燃焼させる混合気の空燃比を操作する処理であることを特徴とする請求項１〜１２のいずれか１項に記載の内燃機関の排ガスの空燃比制御装置。
【請求項１４】
前記フィードバック制御処理はスライディングモード制御の処理であることを特徴とする請求項１３記載の内燃機関の排ガスの空燃比制御装置。
【請求項１５】
前記スライディングモード制御は適応スライディングモード制御であることを特徴とする請求項１４記載の内燃機関の排ガスの空燃比制御装置。
【請求項１６】
前記制御処理手段が実行する前記ストイキ運転モードの制御処理は、前記推定手段が生成したデータにより表される前記排ガスセンサの出力の推定値を前記目標値に収束させるように前記触媒装置に進入する排ガスの目標空燃比を第１のフィードバック制御処理により生成し、その目標空燃比に前記空燃比センサが検出する空燃比を収束させるように第２のフィードバック制御処理により前記内燃機関で燃焼させる混合気の空燃比を操作する処理であることを特徴とする請求項９〜１２のいずれか１項に記載の内燃機関の排ガスの空燃比制御装置。
【請求項１７】
前記第１のフィードバック制御処理はスライディングモード制御の処理であることを特徴とする請求項１６記載の内燃機関の排ガスの空燃比制御装置。
【請求項１８】
前記スライディングモード制御は適応スライディングモード制御であることを特徴とする請求項１７記載の内燃機関の排ガスの空燃比制御装置。
【請求項１９】
前記第２のフィードバック制御処理は、漸化式形式のフィードバック制御手段による制御処理であることを特徴とする請求項１６〜１８のいずれか１項に記載の内燃機関の排ガスの空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の排ガスの空燃比を制御する装置に関する。より詳しくは、内燃機関の排気通路に設けた窒素酸化物吸収型の触媒装置により浄化する排ガスの空燃比を制御する装置に関する。
【０００２】
【従来の技術】
従来、本願出願人は、内燃機関の排気通路に設けた三元触媒等から成る触媒装置の所要の浄化性能を確保するために、触媒装置に進入する排ガスの空燃比（より詳しくは触媒装置に進入する排ガスとなった燃焼混合気の空燃比で、該排ガス中の酸素濃度から把握される空燃比）を制御する技術として、例えば特開平１１−９３７４０号公報等に見られるような技術を提案している。
【０００３】
この技術は、触媒装置を通過した排ガス中の特定成分の濃度、例えば酸素濃度を検出する排ガスセンサ（Ｏ2センサ）を触媒装置の下流側に配置し、この排ガスセンサの出力（酸素濃度の検出値）に応じて触媒装置に進入する排ガスの空燃比を制御するものである。
【０００４】
すなわち、触媒装置の浄化性能、具体的には触媒装置によるＮＯx（窒素酸化物）、ＨＣ（ハイドロカーボン）、ＣＯ（一酸化炭素）等の浄化能力は、触媒装置に進入する排ガスの空燃比が理論空燃比近傍の空燃比状態であって、前記排ガスセンサとしてのＯ2センサの出力がある一定の出力値に整定するような空燃比状態であるときに、触媒装置の劣化状態等によらずに最適なものとなる。このため、前記技術では、上記の一定の出力値をＯ2センサの出力の目標値とし、この目標値にＯ2センサの出力を収束させるようにフィードバック制御によって触媒装置に進入する排ガスの空燃比を制御するようにしている。
【０００５】
この場合、触媒装置の上流側から下流側のＯ2センサにかけての排気系、すなわち触媒装置に進入する排ガスの空燃比からＯ2センサの出力を生成する系は、該排気系に含まれる触媒装置に起因して一般に比較的長い無駄時間を有する。つまり、触媒装置に進入する排ガスの空燃比を変化させたとき、それがＯ2センサの出力に反映するようになるまでには、比較的長い無駄時間を有する。このため、前記の技術では、上記排気系の無駄時間後のＯ2センサの出力の推定値を表すデータを逐次求める。そして、そのデータにより表されるＯ2センサの出力の推定値を前記目標値に収束させるように、触媒装置に進入する排ガスの空燃比を規定する操作量、具体的には、該排ガスの目標空燃比を逐次生成し、その目標空燃比に応じて内燃機関で実際に燃焼させる混合気の空燃比を操作する。これにより、上記無駄時間の影響を補償し、Ｏ2センサの出力の目標値への収束制御を安定して良好に行うことができるようにしている。
【０００６】
ところで、自動車等に搭載される内燃機関では、その燃料消費量を低減し、また、排ガス中に含まれる有害ガス成分の量（絶対量）をできるだけ低減するために、内燃機関の運転条件（回転数、吸気圧、要求負荷等の条件）に応じて適宜、内燃機関で燃焼させる混合気の空燃比、ひいては触媒装置に進入する排ガスの空燃比を、理論空燃比よりも燃料の少ないリーン状態に制御して内燃機関の運転を行うもの（所謂、リーンバーンエンジン）が一般に知られている。
【０００７】
このような内燃機関では、空燃比をリーン状態に制御する運転を行っている状態では、前記の技術のように触媒装置の下流側のＯ2センサの出力を目標値に収束させるように触媒装置に進入する排ガスの空燃比を制御することはできない。また、内燃機関の運転条件によっては、空燃比をリーン状態に制御して内燃機関の運転を行うことができないか、もしくは好ましくない場合も多々ある。
【０００８】
従って、この種の内燃機関に対して触媒装置の最良の浄化性能を確保する前記の技術を適用した場合には、触媒装置の下流側のＯ2センサの出力を目標値に収束させるように触媒装置に進入する排ガスの空燃比を理論空燃比近傍の空燃比状態に制御する運転モード（以下、ここではストイキ運転モードという）と、該空燃比をリーン状態に制御する運転モード（以下、ここではリーン運転モードという）とを内燃機関の運転モードとして有する。そして、それらの運転モードの制御処理が内燃機関の運転条件等に応じて選択的に実行される。
【０００９】
一方、上記のようにリーン運転モードを有する内燃機関では、そのリーン運転モードでの運転中は、一般に内燃機関から排出される排ガス中に含まれるＮＯxの量が相対的に多くなることから、前記触媒装置として、ＮＯx吸収型の触媒装置を使用するようにしている。
【００１０】
このＮＯx吸収型の触媒装置は、三元触媒等の他、ＮＯx吸収材を含めて構成されたものである。この場合、ＮＯx吸収材は、触媒装置に進入する排ガスの空燃比がリーン状態であって、該排ガス中の酸素濃度が比較的高い状態（この状態では排ガス中のＮＯxが比較的多い）においてＮＯxを吸蔵する吸蔵式のものと、上記のリーン状態で排ガス中のＮＯxを吸着する吸着式のものとがある。そして、該ＮＯx吸収材は、吸蔵式及び吸着式のいずれのタイプであっても、触媒装置に進入する排ガスの空燃比が理論空燃比あるいはリッチ状態（理論空燃比よりも燃料の多い状態）となり、該排ガス中の酸素濃度が比較的低い状態になると、前記リーン状態で吸収（吸蔵又は吸着）したＮＯxを還元する作用を呈する。
【００１１】
より詳しくは、吸蔵式のＮＯx吸収材にあっては、触媒装置に進入する排ガスの空燃比が理論空燃比もしくはリッチ状態になると、吸蔵したＮＯxを放出し、その放出されたＮＯxが排ガス中のＨＣやＣＯ、Ｈ2等の還元剤によって還元される。また、吸着式のＮＯx吸収材にあっては、触媒装置に進入する排ガスの空燃比が理論空燃比もしくはリッチ状態になると、吸着しているＮＯxが排ガス中の上記還元剤によって還元され、その還元後の窒素ガスがＮＯx吸収材から放出される。
【００１２】
尚、吸蔵式のＮＯx吸収材は例えば酸化バリウム（ＢａＯ）から成るものであり、吸着式のＮＯx吸収材は例えばナトリウム（Ｎａ）、チタン（Ｔｉ）、ストロンチウム（Ｓｒ）から成るものである。
【００１３】
このようなＮＯx吸収型の触媒装置を排気通路に備えた内燃機関では、前記リーン運転モードの運転中に触媒装置のＮＯx吸収材が吸収し得るＮＯxの量には限界がある。このため、ある程度、リーン運転を継続したら、そのリーン運転を中断して、触媒装置が吸収したＮＯxを還元してやる必要がある。例えば特開平１１−６２５６２号公報に見られるものでは、触媒装置におけるＮＯxの吸収状態が飽和状態となったと判断されると、一時的に空燃比をリッチ状態に制御して、触媒装置で吸収されたＮＯxを還元するようにしている。
【００１４】
この場合、前述のように前記リーン運転モードの運転とストイキ運転モードの運転とを選択的に行うものでは、リーン運転モードの運転後、ストイキ運転モードの運転を行うことで、触媒装置で吸収されたＮＯxを還元することができる。つまり、リーン運転モードの運転中は、触媒装置の下流側のＯ2センサの出力がストイキ運転モードにおける前記目標値に対して空燃比のリーン側に偏っている。このため、リーン運転モードから前記ストイキ運転モードに移行し、Ｏ2センサの出力を前記目標値に収束させるように触媒装置に進入する排ガスの空燃比を制御する処理を開始したとき、その開始直後は該排ガスの空燃比がリッチ状態の空燃比に制御されることとなる。これにより、触媒装置におけるＮＯxの還元を行うことができる。
【００１５】
尚、触媒装置におけるＮＯxの還元は、前記特開平１１−６２５６２号公報に見られるように触媒装置に進入する排ガスの空燃比を積極的にリッチ状態に制御することによって行うことも可能である。しかるに、この場合には、前記ストイキ運転モードの制御処理とは別の専用的な制御処理が必要となるため、内燃機関の運転制御が煩雑なものとなってしまう。
【００１６】
他方、前記リーン運転モードでの内燃機関の運転を行い得る条件下では、内燃機関の燃料消費量等をできるだけ低減するために、前記リーン運転モードの制御を行う機会をできるだけ多くすることが望ましいと考えられる。そして、このためには、触媒装置におけるＮＯxの還元のためにリーン運転モードでの運転を中断して前記ストイキ運転モードの運転を行う際には、そのストイキ運転モードの運転期間を必要限に留めることが好ましい。
【００１７】
この場合、前記ストイキ運転モードの運転によって触媒装置におけるＮＯxの還元を行ったとき、その還元が完了すると、触媒装置の下流側のＯ2センサの出力がリーン側の空燃比に対応する出力値からリッチ側の空燃比に対応する出力値に変化する。このため、例えばこのＯ2センサの出力の変化を検出することで、触媒装置におけるＮＯxの還元の完了タイミングを把握することが可能である。そこで、本願発明者等は、ＮＯxの還元のためにリーン運転モードでの運転を中断（禁止）する期間を、例えば触媒装置の下流側のＯ2センサの出力の上記の変化が検出されるまでの期間に留めることを試みている。
【００１８】
しかしながら、前述のように触媒装置を含む排気系には、比較的長い無駄時間が存在する。このため、Ｏ2センサの出力の上記の変化は、該無駄時間前の時点までにおける触媒装置の上流側の排ガスの空燃比の制御（ストイキ運転モードの制御）によって生じるものである。従って、Ｏ2センサの出力の上記の変化が検出される時点と、その時点より前記無駄時間前の時点との間の期間内におけるストイキ運転モードの制御は、触媒装置におけるＮＯxの還元処理のためには不用なものである。つまり、ＮＯxの還元処理のために、不必要に長い時間、リーン運転モードの運転を中断して、ストイキ運転モードの運転が行われることとなってしまう。ひいては、内燃機関の燃料消費量や排ガス中の有害ガス成分の量をより低減する妨げとなってしまう。
【００１９】
また、ＮＯx吸収型の触媒装置のＮＯx吸収材は、内燃機関の累積的な運転により徐々に劣化し、その劣化の進行に伴い、リーン運転モードの運転中に吸収し得るＮＯxの量が減少していく。このため、触媒装置がある程度劣化したら、該触媒装置の交換等の処置を施すために、その劣化状態を評価することが望まれる。そこで、本願発明者等は、例えばストイキ運転モードの運転によるＮＯxの還元処理を開始してから、触媒装置の下流側のＯ2センサの出力の前記の変化が検出されるまで（触媒装置におけるＮＯxの還元が完了するまで）、触媒装置に排ガスを介して与えられるＮＯxの還元剤（ＨＣ、ＣＯ、Ｈ2等）の積算量（あるいはそれに相当するもの）を求め、その求めた積算量に基づいて触媒装置の劣化状態を評価することを試みている。
【００２０】
しかるに、この場合、前述のようにＯ2センサの出力の前記の変化が検出される時点と、その時点より前記無駄時間前の時点との間の期間内におけるストイキ運転モードの制御によって触媒装置に与えられる排ガス中の還元剤はＮＯxの還元に実質的に寄与しないため、触媒装置の劣化状態の評価を適正に行うことが困難なものとなっていた。
【００２１】
【発明が解決しようとする課題】
本発明はかかる背景に鑑みてなされたものであり、リーン運転モードでの内燃機関の運転中にＮＯx吸着型の触媒装置が吸収するＮＯxの還元処理を行う期間を必要限の短い時間に留めて、リーン運転モードの運転を行うことができる機会を多くすることができ、ひいては内燃機関の燃料消費量は排ガス中の有害成分の量をより低減することができる内燃機関の排ガスの空燃比制御装置を提供することを目的とする。
【００２２】
さらに、触媒装置の劣化状態を適正に評価することができる内燃機関の排ガスの空燃比制御装置を提供することを目的とする。
【００２３】
【課題を解決するための手段】
本発明の内燃機関の排ガスの空燃比制御装置は、かかる目的を達成するために、内燃機関の排気通路に設けられ、上流側から進入する排ガスの空燃比がリーン状態の空燃比であるときには該排ガス中の窒素酸化物を吸収し、且つ該排ガスの空燃比が理論空燃比もしくはリッチ状態の空燃比であるときには前記リーン状態の空燃比で吸収した窒素酸化物を該排ガス中の還元剤によって還元する作用を呈する触媒装置と、該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく該触媒装置の下流側に設けられた排ガスセンサと、前記触媒装置の上流側から前記排ガスセンサまでの該触媒装置を含む排気系が有する無駄時間後の前記排ガスセンサの出力の推定値を表すデータを逐次生成する推定手段と、前記触媒装置に進入する排ガスの空燃比が理論空燃比近傍の空燃比状態であるときの前記排ガスセンサの所定の出力値を該排ガスセンサの出力の目標値とし、その目標値に前記推定手段が生成したデータにより表される排ガスセンサの出力の推定値を収束させるように前記触媒装置に進入する排ガスの空燃比を制御するストイキ運転モードの制御処理と前記触媒装置に進入する排ガスの空燃比をリーン状態の空燃比に制御するリーン運転モードの制御処理とをあらかじめ定めた所定の運転条件に応じて選択的に実行する制御処理手段とを備え、該制御処理手段による前記リーン運転モードの制御処理の実行後に、前記ストイキ運転モードの制御処理を実行して前記触媒装置における窒素酸化物の還元処理を行う内燃機関の排ガスの空燃比制御装置において、前記還元処理における前記ストイキ運転モードの制御処理の実行中に前記推定手段が生成したデータに基づき、前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であるか否かを逐次把握する還元状態把握手段を備え、前記制御処理手段は、該還元状態把握手段により前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であることが把握されるまでは、前記ストイキ運転モードの制御処理から前記リーン運転モードの制御処理への切換えを禁止し、該還元状態把握手段により前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であることが把握された場合には、前記ストイキ運転モードの制御処理から前記リーン運転モードの制御処理への切換えを許可することを特徴とするものである。
【００２４】
かかる本発明によれば、前記制御処理手段による前記リーン運転モードの制御処理の実行中に前記触媒装置が吸収した窒素酸化物（ＮＯx）を還元するための還元処理において、前記ストイキ運転モードの制御処理が実行される。すなわち、前記推定手段が逐次生成するデータにより表される排ガスセンサの出力の推定値を前記目標値に収束させる（結果的に排ガスセンサの出力を目標値に収束させる）ように触媒装置に進入する排ガスの空燃比が制御される。このとき、ストイキ運転モードの制御処理の実行によって、触媒装置に進入する排ガスの空燃比（以下、この空燃比を触媒上流空燃比と略称することがある）は最終的には理論空燃比近傍の空燃比に制御されることとなるが、該ストイキ運転モードの制御処理の実行を開始した直後の初期段階では、該ストイキ運転モードの制御処理に先行して実行されたリーン運転モードの制御処理の影響によって、前記触媒上流空燃比が基本的にはリッチ状態側の空燃比に制御されることとなる。そして、このように触媒上流空燃比が制御されると、排ガス中に含まれるＨＣ、ＣＯ、Ｈ2等を還元剤として、触媒装置におけるＮＯxの還元がなされる。
【００２５】
本発明ではさらに、このストイキ運転モードの制御処理の実行中に、前記還元状態把握手段が、前記推定手段により生成されたデータに基づいて、触媒装置におけるＮＯxの還元状態を逐次把握する。そして、前記制御処理手段は、この還元状態把握手段により把握される還元状態に応じて前記ストイキ運転モードの制御処理からリーン運転モードの制御処理への切換えの可否を判断する。
【００２６】
この場合、前記推定手段が逐次生成するデータは、触媒装置を含む前記排気系（これは制御処理手段が制御する触媒上流空燃比から前記排ガスセンサの出力を生成する系である）の無駄時間後の排ガスセンサの出力の推定値（予測値）を表すデータであるので、そのデータに基づいて前記還元状態把握手段が逐次把握するＮＯxの還元状態は、前記無駄時間後の未来の還元状態である。より詳しく言えば、ストイキ運転モードの制御処理の実行中の各時点において、その時点までに既に実行されたストイキ運転モードの制御処理による結果として前記無駄時間後の未来のＮＯxの還元状態が定まり、その未来の還元状態が前記還元状態把握手段によって推定的に把握されることとなる。
【００２７】
そして、このように把握される還元状態に応じて前記ストイキ運転モードの制御処理からリーン運転モードの制御処理への切換えの可否を判断することによって、該還元状態が実際に、所要の還元状態になる前の時点において、ストイキ運転モードの制御処理からリーン運転モードの制御処理に制御処理手段の制御処理を切換えることが可能となる。
さらに詳細には、前記還元処理のための前記ストイキ運転モードの実行中のある時点において、前記推定手段が生成したデータに基づいて、前記排気系の無駄時間後に触媒装置におけるＮＯxの還元が完了する状態であることが把握されたときには、その把握時点以後に、触媒装置に進入する排ガスの空燃比をどのような形態に制御しても、基本的には、当該把握時点から前記無駄時間後に、触媒装置におけるＮＯxの還元は完了する。従って、上記の把握がなされた時点以後は、前記還元処理のためにはストイキ運転モードの制御処理を行う必要はなく、内燃機関の運転条件（回転数、吸気圧、要求負荷等の条件）がリーン運転モードの制御処理を行う運転条件になっておれば、該リーン運転モードの制御処理を支障なく行うことが可能である。このため、本発明では、ストイキ運転モードの制御処理からリーン運転モードの制御処理への切換えの禁止を、前記無駄時間後にＮＯxの還元が完了する状態であることが把握されるまで行うこととし、その把握時点以後は、内燃機関の運転条件に応じてリーン運転モードの制御処理を実行することを可能とする。この結果、リーン運転モードの制御処理を行い得る運転条件下では、触媒装置におけるＮＯxの還元が実際に完了する前の時点から再開することが可能となる。
【００２８】
この結果、触媒装置におけるＮＯxの所要の還元処理のためにストイキ運転モードの制御処理を実行する期間（リーン運転モードの制御処理の実行を禁止する期間）を必要限に留めてリーン運転モードの制御処理を行う機会を多くすることができる。この結果、内燃機関のよりいっそうの燃焼消費量等の低減化を図ることができる。
【００２９】
尚、本発明において、前記排ガスセンサは、Ｏ2センサ（酸素濃度センサ）を用いることが好適であるが、ＮＯxセンサ（窒素酸化物の濃度を検出するセンサ）等を用いることも可能である。この場合、排ガスセンサとしてＯ2センサを使用した場合には、前記ストイキ運転モードにおける触媒装置の浄化性能を確保するために、前記目標値は所定の一定値とすることが好ましい。また、排ガスセンサとして例えばＮＯxセンサを用いた場合には、触媒装置によるＮＯxの良好な浄化性能が得られるようなＮＯxセンサの出力値を該ＮＯxセンサの出力の目標値として設定するようにすればよい。
【００３３】
尚、前記還元状態把握手段は、例えば前記推定手段が生成したデータにより表される前記排ガスセンサの出力の推定値を所定の閾値と比較することにより、前記触媒装置におけるＮＯxの還元が前記排気系の無駄時間後に完了する状態であるか否かを適正に把握することができる。この場合、上記所定の閾値は、基本的には、排ガスの空燃比が理論空燃比近傍の空燃比状態であるときの排ガスセンサの出力値（例えば前記目標値と同一の値）である。
【００３４】
上記のように前記無駄時間後におけるＮＯxの還元の完了を逐次把握する本発明では、前記還元処理における前記ストイキ運転モードの制御処理の実行中に、該ストイキ運転モードの制御処理を開始してから前記還元状態把握手段により前記触媒装置における窒素酸化物の還元が前記排気系の無駄時間後に完了する状態であることが把握されるまでに該触媒装置に与えられた前記還元剤の積算量を表すデータを生成する還元剤量データ生成手段を備え、該還元剤量データ生成手段により生成されたデータに基づき、前記触媒装置の劣化状態を評価する触媒劣化評価手段を備えることが好ましい。
【００３５】
すなわち、前記還元処理のためのストイキ運転モードの制御処理の実行を開始してから前記還元状態把握手段によって上記の把握がなされるまでの期間におけるストイキ運転モードの制御処理の実行によって、基本的には、上記の把握がなされた時点から前記無駄時間後に触媒装置におけるＮＯxの還元が完了する。従って、ストイキ運転モードの制御処理の実行を開始してから前記還元状態把握手段によって上記の把握がなされるまでの期間において、前記還元剤量データ生成手段によって、触媒装置に排ガスを介して与えられる還元剤（ＨＣ、ＣＯ、Ｈ2等）の積算量を表すデータを生成したとき、そのデータは、ストイキ運転モードの制御処理の実行前のリーン運転モードの制御処理の実行中に触媒装置によって吸収されたＮＯxの総量に対応するものとなる。また、触媒装置の劣化の進行に伴い、触媒装置がリーン運転モードの制御処理の実行中に吸収し得るＮＯxの総量は減少していく。従って、上記の期間において前記還元剤量データ生成手段が生成したデータにより表される前記還元剤の積算量は、触媒装置の劣化状態と相関関係を有するものとなる。このため、該還元剤量データ生成手段が生成したデータに基づいて触媒装置の劣化状態を評価することが可能となる。
【００３６】
尚、前記還元剤量は、例えば、内燃機関の燃料供給量やその指令値等から推測的に把握することが可能である。
【００３７】
この場合、より具体的には、前記制御処理手段による前記リーン運転モードの制御処理の実行中に、前記触媒装置による窒素酸化物の吸収が飽和したか否かを把握する吸収飽和状態把握手段を備え、前記触媒劣化評価手段は、該吸収飽和状態把握手段により前記窒素酸化物の吸収の飽和が把握された後に前記制御処理手段がその制御処理を前記リーン運転モードの制御処理から前記ストイキ運転モードの制御処理に切換えた場合にのみ、該ストイキ運転モードの制御処理の実行中に前記還元剤量データ生成手段が生成したデータに基づき前記触媒装置の劣化状態を評価する。
【００３８】
すなわち、前記リーン運転モードの制御処理を、前記吸収飽和状態把握手段によって触媒装置におけるＮＯxの飽和が把握されるまで行ったとき、その飽和状態において触媒装置が吸収しているＮＯxの総量が、触媒装置が最大限に吸収可能なＮＯxの量であり、触媒装置の劣化状態との間に顕著な相関性を有する。つまり、該ＮＯxの総量は、該触媒装置の劣化の進行に伴い単調に低下する。そして、このように触媒装置における窒素酸化物の吸収が飽和状態となった後に、前記還元処理のためにストイキ運転モードの制御処理を実行したとき、前記還元剤量データ生成手段によって、前記飽和状態におけるＮＯxの総量に対応する還元剤の積算量を表すデータが得られることとなる。一方、内燃機関の運転条件によっては、前記制御処理手段は、触媒装置におけるＮＯxの吸収が飽和する前の状態（触媒装置がさらに多くのＮＯxを吸収し得る状態）で、制御処理をリーン運転モードの制御処理からストイキ運転モードの制御処理に切換える場合もある。
【００３９】
このため、本発明では、前記触媒劣化評価手段は、前記窒素酸化物の吸収の飽和が把握された後に前記リーン運転モードの制御処理から前記ストイキ運転モードの制御処理に切換えられた場合にのみ、該ストイキ運転モードの制御処理の実行中に前記還元剤量データ生成手段が生成するデータに基づき前記触媒装置の劣化状態を評価する。
【００４０】
このようにすることで、還元剤量データ生成手段が生成するデータにより表される還元剤の積算量が触媒装置の飽和状態におけるＮＯxの総量に対応するものとなるので、該データに基づいて触媒装置の劣化状態を適正に評価することができる。
【００４１】
上記のように吸収飽和状態把握手段を備えた本発明では、例えば前記制御処理手段による前記リーン運転モードの制御処理の実行中に、前記触媒装置に与えられた窒素酸化物の積算量を表すデータを逐次生成する窒素酸化物量データ生成手段を備える。そして、前記吸収状態把握手段は、該窒素酸化物量データ生成手段が生成するデータにより表される窒素酸化物の積算量を所定の閾値と比較する。これにより、前記触媒装置における窒素酸化物の吸収が飽和したか否かを判断することができる。
【００４２】
この場合、前記窒素酸化物量データ生成手段が生成するデータにより表される窒素酸化物の積算量と比較する前記所定の閾値は、前記触媒劣化評価手段による前記触媒装置の劣化状態の最新の評価結果に応じて設定されることが好ましい。
【００４３】
すなわち、触媒装置におけるＮＯxの吸収が飽和した状態で該触媒装置が吸収しているＮＯxの総量は、前述のように触媒装置の劣化状態に応じて変化する。従って、前記窒素酸化物の積算量と比較する前記所定の閾値を触媒装置の劣化状態の最新の評価結果に応じて設定することで、触媒装置におけるＮＯxの吸収が飽和した状態を適正に把握することができる。
【００４４】
さらに、このように前記窒素酸化物の積算量と比較する閾値を触媒装置の劣化状態の最新の評価結果に応じて設定するとき、前記制御処理手段は、前記リーン運転モードの制御処理の実行中に前記吸収飽和状態把握手段により前記触媒装置における窒素酸化物の吸収が飽和したことが把握されたときには、前記リーン運転モードの制御処理を中止して前記ストイキ運転モードの制御処理を実行することが好ましい。
【００４５】
すなわち、リーン運転モードの制御処理の実行中に、触媒装置におけるＮＯxの吸収が飽和した状態では、該ＮＯxを一旦、還元した後でなければＮＯxを触媒装置で吸収することができない。また、前記所定の閾値を触媒装置の劣化状態の最新の評価結果に応じて設定しておくことによって、リーン運転モードの制御処理の実行中に、触媒装置におけるＮＯxの吸収が実際に飽和した時もしくはその近傍時点で、その飽和状態を前記吸収飽和状態把握手段によって把握することが可能となる。従って、その飽和状態の把握に応じてリーン運転モードの制御処理を中止して前記ストイキ運転モードの制御処理を実行することにより、触媒装置で吸収しきれない余剰のＮＯxが触媒装置を通過して排出されてしまうような事態を回避することができる。
【００４６】
以上説明したような本発明では、前記推定手段は、前記排気系が前記触媒装置に進入する排ガスの空燃比（触媒上流空燃比）から応答遅れ要素及び無駄時間要素を介して前記排ガスセンサの出力を生成する系であるとして該排気系の挙動を表現してなる該排気系のモデルに基づき構築されたアルゴリズムにより前記排ガスセンサの出力の推定値を表すデータを生成する。
【００４７】
このように前記排気系の挙動を表現するモデルを該排気系の応答遅れ要素と無駄時間要素とを考慮して定めておき、そのモデルに基づくアルゴリズムによって前記推定手段の処理を行うことにより、前記排気系の無駄時間後の排ガスセンサの出力の推定値を表すデータを適正に生成することができる。
【００４８】
この場合、具体的には、前記触媒上流空燃比を検出すべく前記触媒装置の上流側に設けた空燃比センサを備え、前記推定手段は、前記排ガスセンサの出力のデータと、前記空燃比センサの出力のデータとを用いて前記排ガスセンサの出力の推定値を表すデータを生成する。
【００４９】
このように、前記排気系に対する入力量の検出値に相当する前記空燃比センサの出力のデータと、該排気系の出力量の検出値に相当する排ガスセンサの出力のデータとを用いることによって、前記排気系の無駄時間後の排ガスセンサの出力の推定値を表すデータとして信頼性の高いデータを生成することができる。この結果、前述したようなストイキ運転モードにおけるＮＯxの還元状態の把握を、排ガスセンサの出力の推定値を表す上記データに基づいて精度よく行うことができる。ひいては、ストイキ運転モードの制御処理からリーン運転モードの制御処理への切換えの可否の判断を適正に行うことができる。また、ＮＯxの還元状態の把握を精度よく行うことができることによって、触媒装置の劣化状態を評価する場合には、リーン運転モードの制御処理の実行後のストイキ運転モードの制御処理の実行中にＮＯxの還元の完了までに要する還元剤の積算量を表すデータを精度よく生成することができることとなる。このため、該還元剤の積算量を表すデータに基づく触媒装置の劣化状態の評価結果の信頼性を確保することができる。
【００５０】
尚、前記排気系のモデルに基づく前記推定手段のアルゴリズムでは、例えば前記空燃比センサの出力のデータの代わりに、前記制御処理手段が前記ストイキ運転モードの制御処理において前記触媒上流空燃比を制御するために該空燃比を規定するものとして生成するデータ（例えば触媒上流空燃比の目標値等）を用いて排ガスセンサの出力の推定値を表すデータを生成することも可能である。但し、排ガスセンサの出力の推定値を表すデータの精度を高める上では、前記排気系への実際の入力量を表す前記空燃比センサの出力のデータを用いることが好ましい。
【００５１】
また、上記のように前記排気系のモデルに基づく推定手段の処理を行う場合、前記排気系のモデルはその挙動を規定する上で、ある値に設定すべきパラメータを有する。この場合、該パラメータは、例えばあらかじめ定めた固定値としておくことも可能であるが、前記モデルと排気系の実際の挙動との整合性を確保する上では、該モデルのパラメータを逐次リアルタイムで同定することが好ましい。そして、前記触媒上流空燃比を検出する空燃比センサを備えた場合、該空燃比センサの出力のデータと前記排ガスセンサの出力のデータとを用いて前記モデルのパラメータを同定することができる。
【００５２】
そこで、本発明では、前記制御処理手段による前記ストイキ運転モードの制御処理の実行中に、前記排ガスセンサの出力のデータと前記空燃比センサの出力のデータとを用いて前記排気系のモデルの設定すべきパラメータの値を逐次同定する同定手段を備え、前記推定手段は、前記排ガスセンサ及び空燃比センサの出力のデータと共に該同定手段により同定された前記モデルのパラメータの値を用いて前記排ガスセンサの出力の推定値を表すデータを生成する。
【００５３】
このようにすることによって、前記モデルのパラメータを排気系の実際の挙動に則して逐次同定することができるので、そのモデルのパラメータを前記排ガスセンサ及び空燃比センサの出力のデータと共に用いて前記推定手段の処理を行ったとき、該推定手段が生成するデータにより表される排ガスのセンサの出力の推定値の精度をより高めることができる。この結果、前記還元処理に際してのストイキ運転モードにおけるＮＯxの還元状態の把握をより正確に行うことができる。ひいては、ストイキ運転モードの制御処理からリーン運転モードへの切換えの可否の判断をより適正に行うことができる。また、触媒装置の劣化状態を前述のように評価する場合には、触媒装置の劣化状態の評価結果の信頼性をより高めることができる。
【００５４】
このように前記同定手段を備えたとき、該同定手段が同定する前記モデルのパラメータは、前記応答遅れ要素に係るゲイン係数と前記無駄時間要素に係るゲイン係数とを含むことが好ましい。
【００５５】
このように前記モデルの応答遅れ要素に係るゲイン係数と無駄時間要素に係るゲイン係数とを前記パラメータとして同定することにより、該モデルと前記排気系の挙動との整合性を適正に確保することができる。ひいては、前記推定手段がそのモデルに基づくアルゴリズムによって生成するデータにより表される排ガスセンサの出力の推定値の精度を確実に高めることができる。
【００５６】
さらに、前記排気系のモデルは、所定の制御サイクル毎の前記排ガスセンサの出力を、その制御サイクルよりも過去の制御サイクルにおける該排ガスセンサの出力と前記排気系の無駄時間以前の制御サイクルにおける前記空燃比センサの出力とを用いて表現する離散時間系のモデルであることが好ましい。
【００５７】
このように排気系のモデルを離散時間系で構築することによって、排気系の挙動を該モデルに適正に表現することができると共に、前記同定手段や推定手段の処理のアルゴリズムの構築が容易になる。
【００５８】
尚、上記のように排気系のモデルを離散時間系で構築したとき、そのモデルにおける前記排ガスセンサの出力及び空燃比センサの出力のそれぞれに係る係数を該モデルのパラメータとして有することとなる。そして、このとき排ガスセンサの出力に係る係数が前記応答遅れ要素に係るゲイン係数となり、空燃比センサの出力に係る係数が前記無駄時間要素に係るゲイン係数となる。
【００５９】
また、本発明では、前記制御処理手段が実行する前記ストイキ運転モードの制御処理は、前記推定手段が生成したデータにより表される前記排ガスセンサの出力の推定値を前記目標値に収束させるように前記触媒上流空燃比を規定する操作量をフィードバック制御処理により生成し、その操作量に応じて前記内燃機関で燃焼させる混合気の空燃比を操作する処理であることが好ましい。
【００６０】
そして、特に前記空燃比センサを備えた場合には、前記制御処理手段が実行する前記ストイキ運転モードの制御処理は、前記推定手段が生成したデータにより表される前記排ガスセンサの出力の推定値を前記目標値に収束させるように前記触媒装置に進入する排ガスの目標空燃比（触媒上流空燃比の目標値）を第１のフィードバック制御処理により生成し、その目標空燃比に前記空燃比センサが検出する空燃比を収束させるように第２のフィードバック制御処理により前記内燃機関で燃焼させる混合気の空燃比を操作する処理であることが好ましい。
【００６１】
このように前記ストイキ運転モードの制御処理において、触媒上流空燃比を規定する操作量（該触媒上流空燃比の目標値や、内燃機関の燃料供給量の調整量等）をフィードバック制御処理により生成した上で、その操作量に応じて内燃機関で燃焼させる混合気の空燃比を操作することで、排ガスセンサの出力の推定値、ひいては該排ガスセンサの実際の出力をその目標値に収束させる触媒上流空燃比の制御を適正に行うことができる。
【００６２】
特に、前記空燃比センサを備えた場合には、触媒上流空燃比の目標値である前記目標空燃比を前記操作量として第１のフィードバック制御処理により生成し、その目標空燃比に空燃比センサが検出する空燃比を収束させるように第２のフィードバック制御処理により内燃機関で燃焼させる混合気の空燃比を操作することによって、より確実に排ガスセンサの出力の推定値、ひいては該排ガスセンサの実際の出力が目標値に収束するように触媒上流空燃比を制御することができる。
【００６３】
この結果、前記還元処理におけるストイキ運転モードの制御処理の実行によって、触媒装置におけるＮＯxの還元を円滑に行うことができる。
【００６４】
この場合、前記操作量（触媒装置に進入する排ガスの目標空燃比を含む）を生成するフィードバック制御処理は、スライディングモード制御の処理であることことが好ましい。そして特に、該スライディングモード制御は適応スライディングモード制御であることが好適である。
【００６５】
すなわち、スライディングモード制御は、一般に外乱等に対する制御の安定性が高いという特性を有している。
【００６６】
特に、適応スライディングモード制御は、外乱等の影響を極力排除するために、通常のスライディングモード制御に対して、所謂適応則（適応アルゴリズム）といわれる制御則を加味したものである。さらに詳しくいえば、一般にスライディングモード制御では、制御量（本発明では排ガスセンサの出力）とその目標値との偏差等を用いて構成される切換関数といわれる関数が用いられ、この切換関数の値を「０」に収束させることが重要となる。この場合、通常のスライディングモード制御では、切換関数の値を「０」に収束させるために所謂、到達則という制御則が用いられる。しかるに、外乱等の影響を受けると、この到達則だけでは切換関数の値の「０」への収束の安定性や速応性を十分に確保することが困難となる場合もある。これに対して、適応スライディングモード制御は、外乱等の影響を極力排除して切換関数の値を「０」に収束させるために上記到達則に加えて、適応則（適応アルゴリズム）という制御則をも用いるようにしたものである。
【００６７】
上記のようにスライディングモード制御、特に、適応スライディングモード制御を前記目標空燃比等の操作量を生成するために用いることで、排ガスセンサの出力を目標値に収束させる制御を安定して迅速に行う上で好適な操作量を生成することができる。この結果、前記リーン運転モードの制御処理の実行後に、還元処理のために前記ストイキ運転モードの制御処理を実行したとき、触媒装置におけるＮＯxの還元を迅速且つ円滑に行うことができる。このため、ＮＯxの還元のためにリーン運転モードの制御処理を禁止する期間をより短くすることができ、リーン運転モードの制御処理を行う機会をより多くすることができる。
【００６８】
また、ストイキ運転モードの制御処理を継続する運転条件下では、最終的に、排ガスセンサの出力の推定値、ひいては該排ガスセンサの実際の出力を高い安定性と速応性で目標値に制御することがため、触媒装置の所要の浄化性能を確実に確保することができる。
【００６９】
また、前述のように空燃比センサを備えて、ストイキ運転モードの制御処理を前記第１及び第２のフィードバック制御処理により行う本発明では、前記第２のフィードバック制御処理は、漸化式形式のフィードバック制御手段による制御処理であることが好ましい。
【００７０】
すなわち、漸化式形式のフィードバック制御手段は、適応制御器や最適レギュレータ等により構成されるものであり、このような制御手段の制御処理によって、前記空燃比センサが検出する空燃比（触媒上流空燃比）を前記目標空燃比に収束させるように内燃機関で燃焼させる混合気の空燃比を操作することで、内燃機関の運転状態の変化や経時的な特性変化等の動的な変化に対して、高い追従性で触媒上流空燃比を目標空燃比に制御することができる。このため、排ガスセンサの出力を目標値に収束させる触媒上流空燃比の制御を高い速応性で行うことができる。
【００７１】
尚、前記漸化式形式のフィードバック制御手段は、内燃機関で燃焼させる混合気の空燃比のフィードバック操作量（例えば燃料供給量の補正量）の現在以前の所定数の時系列データを含む所定の漸化式によって、新たなフィードバック操作量を求めるものである。また、前記漸化式形式のフィードバック制御手段としては、適応制御器が好適である。
【００７２】
【発明の実施の形態】
本発明の一実施形態を図１〜図１７を参照して説明する。
【００７３】
図１は本実施形態における内燃機関の排ガスの空燃比制御装置の全体的システム構成を示すブロック図であり、図中、１は例えば自動車あるいはハイブリッド車に車両の推進源（図示しない駆動輪の駆動源）として搭載された４気筒のエンジン（内燃機関）である。このエンジン１が各気筒毎に燃料及び空気の混合気の燃焼により生成する排ガスは、エンジン１の近傍で共通の排気管２（排気通路）に集合され、該排気管２を介して大気中に放出される。そして、排気管２には、排ガスを浄化するために、図示しない三元触媒やＮＯx吸収材（窒素酸化物吸収材）を用いて構成された触媒装置３が介装されている。
【００７４】
尚、触媒装置３に含まれるＮＯx吸収材は、前述した吸蔵式及び吸着式のいずれのタイプのものであってもよい。
【００７５】
また、排気管２における触媒装置３の上流側の箇所（詳しくはエンジン１の各気筒毎の排ガスの集合箇所）と触媒装置３の下流側の箇所とにはそれぞれ空燃比センサ４と排ガスセンサとしてのＯ2センサ５（酸素濃度センサ）が設けられている。
【００７６】
Ｏ2センサ５は、触媒装置３を通過した排ガス中の酸素濃度に応じたレベルの出力VO2/OUT（酸素濃度の検出値を示す出力）を生成する通常的なＯ2センサである。ここで、排ガス中の酸素濃度は、燃焼によりその排ガスとなった混合気の空燃比に応じたものとなる。そして、このＯ2センサ５の出力VO2/OUTは、図２に実線ａで示す如く、排ガス中の酸素濃度に対応する空燃比が理論空燃比近傍の範囲Δに存するような状態で、該排ガス中の酸素濃度にほぼ比例した高感度な変化を生じるものとなる。また、その範囲Δを逸脱した空燃比に対応する酸素濃度では、Ｏ2センサ５の出力VO2/OUTは飽和して、ほぼ一定のレベルとなる。
【００７７】
空燃比センサ4は、触媒装置３に進入する排ガスの酸素濃度により把握される空燃比の検出値を表す出力KACTを生成するものである。この空燃比センサ4は、例えば本願出願人が特開平４−３６９４７１号公報にて詳細に説明した広域空燃比センサにより構成されたものであり、図２に実線ｂで示す如く、Ｏ2センサ５よりも排ガス中の酸素濃度の広範囲にわたってそれに比例したレベルの出力を生成するものである。換言すれば、該空燃比センサ４（以下、ＬＡＦセンサ４という）は、排ガス中の酸素濃度に対応した空燃比の広範囲にわたってそれに比例したレベルの出力KACTを生成するものである。
【００７８】
本実施形態のシステムでは、エンジン１の運転モード（より詳しくは空燃比の制御形態）として、触媒装置３の最適な浄化性能を確保するように触媒装置３に進入する排ガスの空燃比（ＬＡＦセンサ４が検出する空燃比。以下、触媒上流空燃比という）を理論空燃比近傍の空燃比状態に制御するストイキ運転モードと、触媒上流空燃比をリーン状態に制御するリーン運転モードとがあり、それらの運転モードでのエンジン１の運転を選択的に行う。また、特に、前記ストイキ運転モードでの運転中に、触媒装置３の劣化状態（より正確には触媒装置３が含むＮＯx吸収材によるＮＯxの吸収に関しての触媒装置３の劣化状態）を評価する。
【００７９】
そして、これらの制御処理を行うために、マイクロコンピュータを用いて構成された制御ユニット６を備えている。この制御ユニット６には、その制御処理を行うために、ＬＡＦセンサ４の出力KAC TやＯ2センサ５の出力VO2/OUTが与えられる他、エンジン１の回転数、吸気圧、冷却水温、スロットル弁の開度等、エンジン１の運転状態を検出するための図示しない各種のセンサの出力が与えられる。また、制御ユニット６には、触媒装置３の劣化状態に応じた報知を行うための劣化報知器７が接続されている。
【００８０】
尚、劣化報知器７は、ランプの点灯もしくは点滅、あるいはブザーの鳴動、あるいは文字もしくは図形の表示等により触媒装置３の劣化状態を外部に報知するものである。
【００８１】
本実施形態では、前記制御ユニット６は、それぞれ各別の制御サイクルで所要の制御処理を実行する排気側制御ユニット８と機関側制御ユニット９とから構成されている。
【００８２】
排気側制御ユニット８は、その主要な機能として、前記ストイキ運転モードにおいて、触媒装置３の最適な浄化性能を確保するように前記触媒上流空燃比の目標値である目標空燃比（以下、これに参照符号KCMDを付する）を触媒上流空燃比を規定する操作量として逐次求める目標空燃比生成処理手段１０と、触媒装置３におけるＮＯxの還元状態を把握する還元状態把握手段１１と、触媒装置３の劣化状態を評価して劣化報知器７の作動を制御する触媒劣化評価手段１２とを具備している。
【００８３】
ここで、排気側制御ユニット８の処理を実行する制御サイクルは、特に目標空燃比生成処理手段１０の演算負荷や後述する排気系Ｅが有する比較的長い無駄時間等を考慮し、あらかじめ定めた一定周期の制御サイクル（例えば３０〜１００ms）としている。
【００８４】
また、機関側制御ユニット９は、その主要な機能として、ストイキ運転モード及びリーン運転モードにおいてエンジン１の燃料供給量を調整することによって触媒上流空燃比を逐次制御する燃料供給制御手段１３と、リーン運転モードにおいて触媒装置３に与えられて該触媒装置３で吸収されるＮＯxの積算量を表すデータを逐次生成する窒素酸化物量データ生成手段（ＮＯx量データ生成手段）１４と、リーン運転モードにおいて触媒装置３におけるＮＯxの吸収が飽和した状態であるか否かを把握する吸収飽和状態把握手段１５と、ストイキ運転モードにおいて触媒装置３に与えられるＮＯxの還元剤の積算量を表すデータを生成する還元剤量データ生成手段１６とを具備している。
【００８５】
ここで、機関側制御ユニット９の処理を実行する制御サイクルは、特に燃料供給手段１３の処理をエンジン１の燃焼サイクルに同期させて行う必要があることから、エンジン１のクランク角周期（所謂ＴＤＣ）に同期した制御サイクルとしている。
【００８６】
尚、排気側制御ユニット８の制御サイクルの周期（一定）は、エンジン１のクランク角周期（ＴＤＣ）よりも長いものとされている。
【００８７】
また、排気側制御ユニット８と機関側制御ユニット９とは、それぞれが生成した各種データ等（目標空燃比KCMD等）を相互に授受することができるようになっている。
【００８８】
また、排気側制御ユニット８の目標空燃比生成処理手段１０と、機関側制御ユニット９の燃料供給制御手段１３とは、それらを併せて本発明に係わる制御処理手段１７を構成するものである。
【００８９】
前記制御処理手段１７を構成する目標空燃比生成処理手段１０と燃料供給制御手段１３とに関してさらに説明しておく。尚、前記触媒劣化評価手段１１、還元状態把握手段１２、ＮＯx量データ生成手段１４、吸収飽和状態把握手段１５、還元剤量データ生成手段１６の詳細は本実施形態のシステムの全体的作動の説明と併せて後述することとする。
【００９０】
まず、排気側制御ユニット８の目標空燃比生成処理手段１０に関し、触媒装置３の浄化性能（具体的には排ガス中のＮＯx、ＨＣ、ＣＯ等の浄化率）は、該触媒装置３を流れる排ガスの空燃比が理論空燃比近傍の空燃比状態であって、前記Ｏ2センサ５の出力VO2/OUTがある一定値VO2/TARGET（図２参照）に整定するような空燃比状態であるときに触媒装置３が含む三元触媒等の劣化状態によらずに最適な浄化性能が得られる。このため、目標空燃比生成処理手段１０は、上記一定値VO2/TARGETをＯ2センサ５の出力VO2/OUTの目標値とし、その目標値VO2/TARGETにＯ2センサ５の出力VO2/OUTを収束させるように目標空燃比KCMDを逐次生成する。
【００９１】
そして、この目標空燃比KCM Dの生成に際しては、排気管２のＬＡＦセンサ４の箇所からＯ2センサ６の箇所にかけての触媒装置３を含む排気系（図１で参照符号Eを付した部分）に存する無駄時間や該排気系Ｅの挙動変化等を考慮しつつ、フィードバック制御の一手法であるスライディングモード制御（詳しくは適応スライディングモード制御）を用いて目標空燃比KCMDを排気側制御ユニット８の制御サイクル（一定周期）で逐次生成する。
【００９２】
このような目標空燃比生成処理手段１０の処理を行うために、本実施形態では、前記排気系Ｅが、ＬＡＦセンサ４の出力KACT（触媒上流空燃比の検出値）から、無駄時間要素及び応答遅れ要素を介してＯ2センサ５の出力VO2/OUTを生成する系であるとして、該排気系Ｅの挙動をあらかじめ離散時間系でモデル化している。
【００９３】
この場合、本実施形態では、ＬＡＦセンサ４の出力KACTとそれに対する所定の基準値FLAF/BASEとの偏差（＝KACT−FLAF/BASE。以下、ＬＡＦセンサ４の偏差出力kactという）を排気系Ｅに対する入力量、O2センサ５の出力VO2/OUTと前記目標値VO2/TARGETとの偏差（＝VO2/OUT−VO2/TARGET。以下、Ｏ2センサ５の偏差出力VO2という）を排気系Ｅの出力量とし、次式（１）の自己回帰モデル（詳しくは、排気系Ｅの入力量としてのＬＡＦセンサ４の偏差出力kactに無駄時間を有する自己回帰モデル）により排気系Ｅの挙動を表現する。尚、ＬＡＦセンサ４の偏差出力kactに係わる前記基準値FLAF/BASE（以下、空燃比基準値FLAF/BASEという）は本実施形態では「理論空燃比」に設定している。
【００９４】
【数１】
0004354068.tif 000002
【００９５】
ここで、上式（１）において、「ｋ」は前記排気側制御ユニット８の離散時間的な制御サイクルの番数を示し（以下、同様）、「ｄ」は排気系Ｅに存する無駄時間（詳しくはＬＡＦセンサ４が検出する各時点の触媒上流空燃比がＯ2センサ５の出力VO2/OUTに反映されるようになるまでに要する無駄時間）を制御サイクル数で表したものである。この場合、排気系Ｅの無駄時間は、排気側制御ユニット８の制御サイクルの周期（これは本実施形態では一定である）を３０〜１００ｍｓとしたとき、一般的には、３〜１０制御サイクル分の時間（ｄ＝３〜１０）である。そして、本実施形態では、式（１）により表した排気系Ｅのモデル（以下、排気系モデルという）における無駄時間ｄの値として、排気系Ｅの実際の無駄時間と等しいか、もしくはそれよりも若干長いものにあらかじめ設定した所定の一定値（本実施形態では例えばｄ＝７）を設定している。
【００９６】
また、式（１）の右辺第１項及び第２項はそれぞれ排気系Ｅの応答遅れ要素に対応するもので、第１項は１次目の自己回帰項、第２項は２次目の自己回帰項である。そして、「a1」、「a2」はそれぞれ１次目の自己回帰項のゲイン係数、２次目の自己回帰項のゲイン係数である。これらのゲイン係数a1，a2は別の言い方をすれば、排気系Ｅの出力量としてのＯ2センサ５の偏差出力VO2に係る係数である。
【００９７】
さらに、式（１）の右辺第３項は排気系Ｅの入力量としてのＬＡＦセンサ４の偏差出力kactに排気系Ｅの無駄時間dを含めて表現したものであり、「b1」はその入力量（＝ＬＡＦセンサ4の偏差出力kact）に係るゲイン係数である。これらのゲイン係数a1，a2，b1は排気系モデルの挙動を規定する上である値に設定すべきパラメータであり、本実施形態では後述の同定器によって逐次同定するものである。
【００９８】
このように式（１）により定めた排気系モデルは、それを言葉で表現すれば、排気側制御ユニット８の制御サイクル毎のＯ2センサ５の偏差出力VO2(k+1)を、その制御サイクルよりも過去の制御サイクルにおけるＯ2センサ５の偏差出力VO2(k)，VO2(k-1)と、排気系Ｅの無駄時間ｄ以前の制御サイクルにおけるＬＡＦセンサ４の偏差出力kact(k-d)とにより表現するものである。
【００９９】
前記目標空燃比生成処理手段１０は、式（１）により表現した排気系モデルに基づく目標空燃比KCMDの生成処理を排気側制御ユニット８の制御サイクル（一定周期の制御サイクル）で行うものである。そして、この処理を行うために、図３に示すような機能的構成を具備している。
【０１００】
すなわち、目標空燃比生成処理手段１０は、前記ＬＡＦセンサ４の出力KACTから前記空燃比基準値FLAF/BASEを減算することによりＬＡＦセンサ４の偏差出力kactを制御サイクル毎に逐次求める減算処理部１８と、Ｏ2センサ５の出力VO2/OUTから前記目標値VO2/TARGETを減算することによりＯ2センサ５の偏差出力VO2を制御サイクル毎に逐次求める減算処理部１９とを具備する。
【０１０１】
さらに目標空燃比生成処理手段１０は、前記排気系モデルの設定すべきパラメータである前記ゲイン係数a1，a2，b1の同定値a1ハット，a2ハット，b1ハット（以下、同定ゲイン係数a1ハット，a2ハット，b1ハットという）を制御サイクル毎に逐次求める同定器２０（同定手段）と、排気系Ｅの無駄時間ｄ後のＯ2センサ５の偏差出力VO2の推定値VO2バー（以下、推定偏差出力VO2バーという）を制御サイクル毎に逐次求める推定器２１（推定手段）と、適応スライディングモード制御の処理によって、Ｏ2センサ５の推定偏差出力VO2バーを「０」に収束させるように、換言すれば排気系Ｅの無駄時間ｄ後のＯ2センサ５の出力VO2/OUTの推定値（＝VO2バー＋VO 2/TARGET）を前記目標値VO2/TARGETに収束させるように前記目標空燃比KCMDを制御サイクル毎に逐次算出するスライディングモード制御器２２とを具備する。
【０１０２】
これらの同定器２０、推定器２１及びスライディングモード制御器２２による演算処理のアルゴリズムは以下のように構築されている。
【０１０３】
まず、前記同定器２０は、前記式（１）により表現した排気系モデルの実際の排気系Ｅに対するモデル化誤差を極力小さくするように前記ゲイン係数a1，a2，b1の値をリアルタイムで逐次同定するものであり、その同定処理を次のように行う。
【０１０４】
すなわち、同定器２０は、排気側制御ユニット８の制御サイクル毎に、まず、排気系モデルの同定ゲイン係数a1ハット，a2ハット，b1ハットの現在値、すなわち前回の制御サイクルで決定した同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットの値と、ＬＡＦセンサ４の偏差出力kact及びＯ2センサ５の偏差出力VO2の過去値のデータkact(k-d-1)，VO2(k-1)，VO2(k-2)とを用いて、次式（２）により排気系モデル上でのＯ2センサ５の偏差出力VO2（排気系モデルの出力）の値VO2(k)ハット（以下、同定偏差出力VO2(k)ハットという）を求める。
【０１０５】
【数２】
0004354068.tif 000003
【０１０６】
この式（２）は、排気系モデルを表す前記式（１）を１制御サイクル分、過去側にシフトし、ゲイン係数a1，a2，b1として同定ゲイン係数a1ハット(k-1)，a2ハット(k-1)，b1ハット(k-1)を用いたものである。また、式（２）の第３項で用いる排気系Ｅの無駄時間ｄの値は、前述の如く設定した一定値（本実施形態ではｄ＝７）を用いる。
【０１０７】
尚、式（２）中の「Θ」、「ξ」は同式但し書きで定義した通りのベクトルである。また、式（２）で用いている添え時「Ｔ」は転置を意味する（以下同様）。
【０１０８】
さらに同定器２０は、前記式（２）により求められるＯ2センサ５の同定偏差出力VO2(k)ハットと今現在のＯ2センサ５の偏差出力VO2(k)との偏差id/e(k)を排気系モデルの実際の排気系Ｅに対するモデル化誤差を表すものとして次式（３）により求める（以下、偏差id/eを同定誤差id/eという）。
【０１０９】
【数３】
0004354068.tif 000004
【０１１０】
そして、同定器２０は、上記同定誤差id/eを最小にするように新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハット、換言すれば、これらの同定ゲイン係数を要素とする新たな前記ベクトルΘ(k)（以下、このベクトルを同定ゲイン係数ベクトルΘという）を求めるもので、その算出を、次式（４）により行う。すなわち、同定器２０は、前回の制御サイクルで決定した同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットを、同定誤差id/e(k)に比例させた量だけ変化させることで新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを求める。
【０１１１】
【数４】
0004354068.tif 000005
【０１１２】
ここで、式（４）中の「Ｋθ」は次式（５）により決定される三次のベクトルで、各同定ゲイン係数a1ハット，a2ハット，b1ハットの同定誤差id/eに応じた変化度合いを規定するゲイン係数ベクトルである。
【０１１３】
【数５】
0004354068.tif 000006
【０１１４】
また、上式（５）中の「Ｐ」は次式（６）の漸化式により決定される三次の正方行列である。
【０１１５】
【数６】
0004354068.tif 000007
【０１１６】
尚、式（６）中の「λ1」、「λ2」は０＜λ1≦１及び０≦λ2＜２の条件を満たすように設定される。また、「Ｐ」の初期値Ｐ(0)は、その各対角成分を正の数とする対角行列である。
【０１１７】
この場合、式（６）中の「λ1」、「λ2」の設定の仕方によって、固定ゲイン法、漸減ゲイン法、重み付き最小二乗法、最小二乗法、固定トレース法等、各種の具体的な同定アルゴリズムが構成され、本実施形態では、例えば最小二乗法（この場合、λ1＝λ2＝１）を採用している。
【０１１８】
本実施形態における同定器２０は基本的には前述のようなアルゴリズム（演算処理）によって、前記同定誤差id/eを最小化するように排気系モデルの前記同定ゲイン係数a1ハット，a2ハット，b1ハットを制御サイクル毎に逐次求めるものである。このような処理によって、実際の排気系Ｅの挙動に整合した同定ゲイン係数a1ハット，a2ハット，b1ハットが逐次得られる。
【０１１９】
以上説明したアルゴリズムが同定器２０が実行する基本的なアルゴリズムである。
【０１２０】
次に、前記推定器２１は、後に詳細を説明するスライディングモード制御器２２による目標空燃比KCMDの算出処理に際しての排気系Ｅの無駄時間ｄの影響を補償するために、該無駄時間ｄ後のＯ2センサ５の偏差出力VO2の推定値である前記推定偏差出力VO2バーを制御サイクル毎に逐次求めるものである。その推定処理のアルゴリズムは次のように構築されている。
【０１２１】
すなわち、排気系モデルを表す前記式（１）を用いることで、各制御サイクルにおける前記無駄時間ｄ後のＯ2センサ５の偏差出力VO2(k+d)の推定値である前記推定偏差出力VO2(k+d)バーは、Ｏ2センサ５の偏差出力VO2の現在値及び過去値の時系列データVO2(k)及びVO2(k-1)と、ＬＡＦセンサ４の偏差出力kactの過去値の時系列データkact(k-j)（ｊ＝1,2,  ,d）とを用いて次式（７）により表される。
【０１２２】
【数７】
0004354068.tif 000008
【０１２３】
ここで、式（７）において、α1，α2は、それぞれ同式（７）の但し書きで定義した行列Ａの巾乗Ａd（ｄ：無駄時間）の第１行第１列成分、第１行第２列成分である。また、βj（j=1,2,  ,d）は、それぞれ行列Ａの巾乗Ａj-1（j=1,2,  ,d）と同式（７）の但し書きで定義したベクトルＢとの積Ａj-1・Ｂの第１行成分である。
【０１２４】
この式（７）が本実施形態において、推定器２１が前記推定偏差出力VO2(k+d)バーを算出するための式である。つまり、本実施形態では、推定器２１は、制御サイクル毎に、Ｏ2センサ５の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、ＬＡＦセンサ４の偏差出力kactの過去値の時系列データkact(k-j)（ｊ＝1,2,…,d）とを用いて式（７）の演算を行うことによって、Ｏ2センサ５の推定偏差出力VO2(k+d)バーを求める。
【０１２５】
この場合、本実施形態では、式（７）の演算で必要となる係数α1，α2及びβj（j=1,2,  ,d）の値は、基本的には、前記ゲイン係数a1，a2，b1（これらは式（７）の但し書きで定義した行列Ａ及びベクトルＢの成分である）の最新の同定値である同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを用いて算出する。また、式（７）の演算で必要となる無駄時間ｄの値は、前述の如く設定した値を用いる。
【０１２６】
次に、前記スライディングモード制御器２２を説明する。
【０１２７】
本実施形態におけるスライディングモード制御器２２は、通常的なスライディングモード制御に、外乱等の影響を極力排除するための適応則（適応アルゴリズム）を加味した適応スライディングモード制御によりＯ2センサ５の出力VO2/OUTをその目標値VO2/TARGETに整定させるように（Ｏ2センサ５の偏差出力VO2を「０」に収束させるように）、制御対象である前記排気系Ｅに与えるべき入力量（詳しくは、ＬＡＦセンサ５の出力KACT（触媒上流空燃比の検出値）と前記基準値FLAF/BASEとの偏差の目標値で、これは前記目標偏差空燃比kcmdに等しい。以下、この入力量をＳＬＤ操作入力Ｕslと称する）を決定し、その決定したＳＬＤ操作入力Ｕslから前記目標空燃比KCMDを決定するものである。そして、その処理のためのアルゴリズムは次のように構築されている。
【０１２８】
まず、スライディングモード制御器２２が実行する適応スライディングモード制御のアルゴリズムに必要な切換関数と、この切換関数により定義される超平面（これはすべり面とも言われる）とについて説明する。
【０１２９】
本実施形態におけるスライディングモード制御の基本的な考え方としては、制御すべき状態量（制御量）として、例えば各制御サイクルで得られたＯ2センサ５の偏差出力VO2(k)と、その１制御サイクル前に得られた偏差出力VO2(k-1)とを用い、スライディングモード制御用の切換関数σを、次式（８）のように、これらの偏差出力VO2(k)，VO2(k-1)を変数成分とする線形関数として定義する。尚、前記偏差出力VO2(k)，VO2(k-1)を成分とするベクトルとして式（８）中の但し書きで定義したベクトルＸを以下、状態量Ｘという。
【０１３０】
【数８】
0004354068.tif 000009
【０１３１】
この場合、切換関数σの係数s1，s2は、次式（９）の条件を満たすように設定する。
【０１３２】
【数９】
0004354068.tif 000010
【０１３３】
尚、本実施形態では、簡略化のために係数s1＝１とし（この場合、s2／s1＝s2である）、−１＜s2＜１の条件を満たすように係数s2の値を設定している。
【０１３４】
このような切換関数σに対して、スライディングモード制御用の超平面はσ＝０なる式によって定義されるものである。この場合、状態量Ｘは二次系であるので超平面σ＝０は図４に示すように直線となる。該超平面は、位相空間の次数によって、切換線又は切換面とも言われる。
【０１３５】
尚、本実施形態では、スライディングモード制御用の切換関数の変数成分である状態量として、実際には前記推定器２１により求められる前記推定偏差出力VO2バーの時系列データを用いるのであるが、これについては後述する。
【０１３６】
本実施形態で用いる適応スライディングモード制御は、状態量Ｘ＝（VO2(k)，VO2(k-1)）を上記の如く設定した超平面σ＝０に収束させるための制御則である到達則と、その超平面σ＝０への収束に際して外乱等の影響を補償するための制御則である適応則（適応アルゴリズム）とにより該状態量Ｘを超平面σ＝０に収束させる（図４のモード１）。そして、該状態量Ｘを所謂、等価制御入力によって超平面σ＝０に拘束しつつ、該状態量Ｘを超平面σ＝０上の平衡点であるVO2(k)＝VO2(k-1)＝０となる点、すなわち、Ｏ2センサ５の出力VO2/OUTの時系列データVO2/OUT(k)，VO2/OUT(k-1)が目標値VO2/TARGETに一致するような点に収束させる（図４のモード２）。
【０１３７】
上記のように状態量Ｘを超平面σ＝０の平衡点に収束させるためにスライディングモード制御器２２が生成する前記ＳＬＤ操作入力Ｕsl（＝目標偏差空燃比kcmd）は、状態量Ｘを超平面σ＝０上に拘束するための制御則に従って排気系Ｅに与えるべき入力成分である等価制御入力Ｕeqと、前記到達則に従って排気系Ｅに与えるべき入力成分Ｕrch （以下、到達則入力Ｕrchという）と、前記適応則に従って排気系Ｅに与えるべき入力成分Ｕadp（以下、適応則入力Ｕadpという）との総和により表される（次式（１０））。
【０１３８】
【数１０】
0004354068.tif 000011
【０１３９】
そして、これらの等価制御入力Ｕeq、到達則入力Ｕrch及び適応則入力Ｕadpは、本実施形態では、前記式（１）により表される排気系モデルに基づいて、次のように決定する。
【０１４０】
まず、状態量Ｘを超平面σ＝０に拘束するために排気系Ｅに与えるべき入力成分である前記等価制御入力Ｕeqは、σ(k+1)＝σ(k)＝０なる条件を満たす偏差出力kactである。そして、このような条件を満たす等価制御入力ｕeqは、式（１）と式（８）とを用いて次式（１１）により与えられる。
【０１４１】
【数１１】
0004354068.tif 000012
【０１４２】
この式（１１）が本実施形態において、制御サイクル毎に等価制御入力Ｕeq(k)を求めるための基本式である。
【０１４３】
次に、前記到達則入力ｕrchは、本実施形態では、基本的には次式（１２）により決定するものとする。
【０１４４】
【数１２】
0004354068.tif 000013
【０１４５】
すなわち、到達則入力ｕrchは、排気系Ｅの無駄時間ｄを考慮し、該無駄時間ｄ後の切換関数σの値σ(k+d)に比例させるように決定する。
【０１４６】
この場合、式（１２）中の係数Ｆ（これは到達則のゲインを規定する）は、次式（１３）の条件を満たすように設定する。
【０１４７】
【数１３】
0004354068.tif 000014
【０１４８】
尚、式（１３）中の好ましい条件は、切換関数σの値の、超平面σ＝０に対する振動的な変化（所謂チャタリング）が生じるのを抑制する上で好適な条件である。
【０１４９】
次に、前記適応則入力Ｕadpは、本実施形態では、基本的には次式（１４）により決定するものとする（式（１４）中のΔＴは排気側制御ユニット８の制御サイクルの周期である）。
【０１５０】
【数１４】
0004354068.tif 000015
【０１５１】
すなわち、適応則入力Ｕadpは、排気系Ｅの無駄時間ｄを考慮し、該無駄時間ｄ後までの切換関数σの値と排気側制御ユニット８の周期ΔＴとの積の制御サイクル毎の積算値（これは切換関数σの値の積分値に相当する）に比例させるように決定する。
【０１５２】
この場合、式（１４）中の係数Ｇ（これは適応則のゲインを規定する）は、次式（１５）の条件を満たすように設定する。
【０１５３】
【数１５】
0004354068.tif 000016
【０１５４】
尚、前記式（９）、（１３）、（１５）の設定条件のより具体的な導出の仕方については、本願出願人が既に特開平１１−９３７４１号公報等にて詳細に説明しているので、ここでは詳細な説明を省略する。
【０１５５】
本実施形態におけるスライディングモード制御器２２は、基本的には前記式（１１）、（１２）、（１４）により決定される等価制御入力Ｕeq、到達則入力Ｕrch及び適応則入力Ｕadpの総和（Ｕeq＋Ｕrch＋Ｕadp）を排気系Ｅに与えるべきＳＬＤ操作入力Ｕslとして決定するのであるが、前記式（１１）、（１２）、（１４）で使用するＯ2センサ５の偏差出力VO2(k+d)，VO2(k+d-1)や、切換関数σの値σ(k+d)等は未来値であるので直接的には得られない。
【０１５６】
そこで、本実施形態では、スライディングモード制御器２２は、実際には、前記式（１１）により前記等価制御入力Ｕeqを決定するためのＯ2センサ５の偏差出力VO2(k+d)，VO2(k+d-1)の代わりに、前記推定器２１で求められる推定偏差出力VO2(k+d)バー，VO2(k+d-1)バーを用い、次式（１６）により制御サイクル毎の等価制御入力Ｕeqを算出する。
【０１５７】
【数１６】
0004354068.tif 000017
【０１５８】
また、本実施形態では、実際には、推定器２２により前述の如く逐次求められた推定偏差出力VO2バーの時系列データを制御すべき状態量とし、前記式（８）により設定された切換関数σに代えて、次式（１７）によりスライディングモード制御用の切換関数σバーを定義する（この切換関数σバーは、前記式（８）の偏差出力VO2の時系列データを推定偏差出力VO2バーの時系列データで置き換えたものに相当する）。
【０１５９】
【数１７】
0004354068.tif 000018
【０１６０】
そして、スライディングモード制御器２２は、前記式（１２）により前記到達則入力Ｕrchを決定するための切換関数σの値の代わりに、前記式（１７）により表される切換関数σバーの値を用いて次式（１８）により制御サイクル毎の到達則入力Ｕrchを算出する。
【０１６１】
【数１８】
0004354068.tif 000019
【０１６２】
同様に、スライディングモード制御器２２は、前記式（１４）により前記適応則入力Ｕadpを決定するための切換関数σの値の代わりに、前記式（１７）により表される切換関数σバーの値を用いて次式（１９）により制御サイクル毎の適応則入力Ｕadpを算出する。
【０１６３】
【数１９】
0004354068.tif 000020
【０１６４】
尚、前記式（１６），（１８），（１９）により等価制御入力Ｕeq、到達則入力Ｕrch及び適応則入力Ｕadpを算出する際に必要となる前記ゲイン係数a1，a2，b1としては、本実施形態では基本的には前記同定器２０により求められた最新の同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを用いる。
【０１６５】
そして、スライディングモード制御器２２は、前記式（１６）、（１８）、（１９）によりそれぞれ求められる等価制御入力Ｕeq、到達則入力Ｕrch及び適応則入力Ｕadpの総和を排気系Ｅに与えるべき前記ＳＬＤ操作入力Ｕslとして求める（前記式（１０）を参照）。尚、この場合において、前記式（１６）、（１８）、（１９）中で用いる前記係数s1，s2，Ｆ，Ｇの設定条件は前述の通りである。
【０１６６】
これが、本実施形態において、スライディングモード制御器２２により、排気系Ｅに与えるべきＳＬＤ操作入力Ｕsl（＝目標偏差空燃比kcmd）を制御サイクル毎に決定するための基本的な演算処理（アルゴリズム）である。このようにしてＳＬＤ操作入力Ｕslを決定することで、該ＳＬＤ操作入力Ｕslは、Ｏ2センサ５の推定偏差出力VO2バーを「０」に収束させるように（結果的にはＯ2センサ５の出力VO2を目標値VO2/TARGETに収束させるように）決定される。
【０１６７】
ところで、本実施形態におけるスライディングモード制御器２２は最終的には前記目標空燃比KCMDを制御サイクル毎に逐次求めるものあるが、前述のように求められるＳＬＤ操作入力Ｕslは、ＬＡＦセンサ４で検出される触媒上流空燃比と前記空燃比基準値FLAF/BASEとの偏差の目標値、すなわち前記目標偏差空燃比kcmdである。このため、スライディングモード制御器２２は、最終的には、次式（２０）に示すように、制御サイクル毎に、前述の如く求めたＳＬＤ操作入力Ｕslに前記空燃比基準値FLAF/BASEを加算することで、目標空燃比KCMDを決定する。
【０１６８】
【数２０】
0004354068.tif 000021
【０１６９】
以上が本実施形態でスライディングモード制御器２２により目標空燃比KCMDを決定するための基本的アルゴリズムである。
【０１７０】
尚、本実施形態では、スライディングモード制御器２２による適応スライディングモード制御の処理の安定性を判別して、前記ＳＬＤ操作入力Ｕslの値を制限したりするのであるが、これについては後述する。
【０１７１】
次に、前記機関側制御ユニット９の燃料供給制御手段１３についてさらに図５及び図６を参照して説明する。
【０１７２】
図５のブロック図を参照して、燃料供給制御手段１３は、その機能的構成として、エンジン１で燃焼させる混合気の空燃比を操作するために実際に使用する触媒上流空燃比の目標値としての実使用目標空燃比RKCMDを決定する目標空燃比選択設定部２３を具備する。
【０１７３】
この目標空燃比選択設定部２３は、前記ストイキ運転モードでは、前記排気側制御ユニット８の目標空燃比生成処理手段１０が前述のように生成する目標空燃比KCMDを実使用目標空燃比RKCMDとして決定する。そして、前記リーン運転モードでは、エンジン１の回転数NEや吸気圧PB等から、マップやデータテーブルを用いて求められるリーン側の空燃比を実使用目標空燃比RKCMDとして決定する。
【０１７４】
さらに、燃料供給制御手段１３は、エンジン１への基本燃料噴射量Ｔimを求める基本燃料噴射量算出部２４と、基本燃料噴射量Ｔimを補正するための第１補正係数KTOTAL及び第２補正係数KCMDMをそれぞれ求める第１補正係数算出部２５及び第２補正係数算出部２６とを具備する。
【０１７５】
前記基本燃料噴射量算出部２４は、エンジン１の回転数NEと吸気圧PBとから、それらにより規定されるエンジン１の基準の燃料噴射量（燃料供給量）をあらかじめ設定されたマップを用いて求め、その基準の燃料噴射量をエンジン１の図示しないスロットル弁の有効開口面積に応じて補正することで基本燃料噴射量Ｔimを算出する。この基本燃料噴射量Ｔimは、基本的には、エンジン１で燃焼させる混合気の空燃比が理論空燃比となるような燃料噴射量である。
【０１７６】
また、第１補正係数算出部２５が求める第１補正係数KTOTALは、エンジン１の排気還流率（エンジン１の吸入空気中に含まれる排ガスの割合）や、エンジン１の図示しないキャニスタのパージ時にエンジン１に供給される燃料のパージ量、エンジン１の冷却水温、吸気温等を考慮して前記基本燃料噴射量Ｔimを補正するためのものである。
【０１７７】
また、第２補正係数算出部２６が求める第２補正係数KCMD Mは、前記目標空燃比選択設定部２３が決定した実使用目標空燃比RKCMDに対応してエンジン１へ流入する燃料の冷却効果による吸入空気の充填効率を考慮して基本燃料噴射量Ｔimを補正するためのものである。
【０１７８】
これらの第１補正係数KTOTAL及び第２補正係数KCMDMによる基本燃料噴射量Ｔimの補正は、第１補正係数KTOTAL及び第２補正係数KCMDMを基本燃料噴射量Ｔimに乗算することで行われ、この補正によりエンジン１の要求燃料噴射量Ｔcylが得られる。
【０１７９】
尚、前記基本燃料噴射量Ｔimや、第１補正係数KTOTAL、第２補正係数KCMDMのより具体的な算出手法は、特開平５−７９３７４号公報等に本願出願人が開示しているので、ここでは詳細な説明を省略する。
【０１８０】
燃料供給制御手段１３は、上記の機能的構成の他、さらに、前記実使用目標空燃比RKCMDにＬＡＦセンサ４の出力KACT（触媒上流空燃比の検出値）を収束させるようにフィードバック制御によりエンジン１の燃料噴射量を調整することでエンジン１で燃焼させる混合気の空燃比を操作するフィードバック制御部２７を備えている。
【０１８１】
このフィードバック制御部２７は、本実施形態では、エンジン１の各気筒の全体的な空燃比をフィードバック制御する大局的フィードバック制御部２８と、エンジン１の各気筒毎の空燃比をフィードバック制御する局所的フィードバック制御部２９とに分別される。
【０１８２】
前記大局的フィードバック制御部２８は、ＬＡＦセンサ４の出力KACTが前記実使用目標空燃比KCMDに収束するように、前記要求燃料噴射量Ｔcylを補正する（要求燃料噴射量Ｔcylに乗算する）フィードバック補正係数KFBを逐次求めるものである。
【０１８３】
この大局的フィードバック制御部２８は、ＬＡＦセンサ４の出力KACTと実使用目標空燃比RKC MDとの偏差に応じて周知のＰＩＤ制御を用いて前記フィードバック補正係数KFBとしてのフィードバック操作量KLAFを生成するＰＩＤ制御器３０と、ＬＡＦセンサ４の出力KACTと実使用目標空燃比RKCMDとからエンジン１の運転状態の変化や特性変化等を考慮して前記フィードバック補正係数KFBを規定するフィードバック操作量KSTRを適応的に求める適応制御器３１（図ではＳＴＲと称している）とをそれぞれ独立的に具備している。
【０１８４】
ここで、本実施形態では、前記ＰＩＤ制御器３０が生成するフィードバック操作量KLAFは、ＬＡＦセンサ４の出力KACT（空燃比の検出値）が実使用目標空燃比RKCMDに一致している状態で「１」となり、該操作量KLAFをそのまま前記フィードバック補正係数KFBとして使用できるようになっている。一方、適応制御器３１が生成するフィードバック操作量KSTRはＬＡＦセンサ４の出力KACTが実使用目標空燃比RKCMDに一致する状態で「実使用目標空燃比RKCMD」となるものである。このため、該フィードバック操作量KSTRを除算処理部３２で実使用目標空燃比RKCMDにより除算してなるフィードバック操作量kstr（＝KST R／RKCMD）が前記フィードバック補正係数KFBとして使用できるようになっている。
【０１８５】
大局的フィードバック制御部２８は、ＰＩＤ制御器３０により生成されるフィードバック操作量KLAFと、適応制御器３１が生成するフィードバック操作量KSTRを実使用目標空燃比RKCMDにより除算してなるフィードバック操作量kstrとを切換部３３で適宜、択一的に選択する。そして、いずれか一方のフィードバック操作量KLAF又はkstrを前記フィードバック補正係数KFBとして使用し、該補正係数KFBを前記要求燃料噴射量Ｔcylに乗算することにより該要求燃料噴射量Ｔcylを補正する。尚、かかる大局的フィードバック制御部２８（特に適応制御器３１）については後にさらに詳細に説明する。
【０１８６】
前記局所的フィードバック制御部２９は、ＬＡＦセンサ４の出力KACTから各気筒毎の実空燃比#nA/F(n=1,2,3,4)を推定するオブザーバ３４と、このオブザーバ３４により推定された各気筒毎の実空燃比#nA/Fから各気筒毎の空燃比のばらつきを解消するよう、ＰＩＤ制御を用いて各気筒毎の燃料噴射量のフィードバック補正係数#nKLAFをそれぞれ求める複数（気筒数個）のＰＩＤ制御器３５とを具備する。
【０１８７】
ここで、オブザーバ３４は、それを簡単に説明すると、各気筒毎の実空燃比#nA/Fの推定を次のように行うものである。すなわち、エンジン１からＬＡＦセンサ４の箇所（各気筒毎の排ガスの集合部）にかけての系を、エンジン１の各気筒毎の実空燃比#nA/FからＬＡＦセンサ４で検出される触媒上流空燃比を生成する系と考える。そして、この系を、ＬＡＦセンサ４の検出応答遅れ（例えば一次遅れ）や、ＬＡＦセンサ４で検出される触媒上流空燃比に対するエンジン１の各気筒毎の空燃比の時間的寄与度を考慮してモデル化する。そして、そのモデルの基で、ＬＡＦセンサ４の出力KACTから、逆算的に各気筒毎の実空燃比#nA/Fを推定する。
【０１８８】
尚、このようなオブザーバ３４は、本願出願人が例えば特開平７−８３０９４号公報に詳細に開示しているので、ここでは、さらなる説明を省略する。
【０１８９】
また、局所的フィードバック制御部２９の各ＰＩＤ制御器３５は、ＬＡＦセンサ４の出力KACTを、前回の制御サイクルで各ＰＩＤ制御器３５により求められたフィードバック補正係数#nKLAFの全気筒についての平均値により除算してなる値を各気筒の空燃比の目標値とする。さらに、その目標値とオブザーバ２１により求められた各気筒毎の実空燃比#nA/Fの推定値との偏差が解消するように、今回の制御サイクルにおける、各気筒毎のフィードバック補正係数#nKLAFを求める。
【０１９０】
そして、局所的フィードバック制御部２９は、前記要求燃料噴射量Ｔcylに大局的フィードバック制御部２８のフィードバック補正係数KFBを乗算してなる値に、各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒の出力燃料噴射量#nＴout(n=1,2,3,4)を求める。
【０１９１】
このようにして求められる各気筒の出力燃料噴射量#nＴoutは、燃料供給制御手段１３に備えた各気筒毎の付着補正部３６により吸気管の壁面付着を考慮した補正が各気筒毎になされた後、エンジン１の図示しない燃料噴射装置に与えられる。そして、その付着補正がなされた出力燃料噴射量#nＴoutに従って、エンジン１の各気筒への燃料噴射が行われるようになっている。
【０１９２】
尚、上記付着補正については、本願出願人が例えば特開平８−２１２７３号公報に詳細に開示しているので、ここではさらなる説明を省略する。
【０１９３】
前記大局的フィードバック制御部２８、特に前記適応制御器３１をさらに説明する。
【０１９４】
大局的フィードバック制御部２８は、前述のようにＬＡＦセンサ４の出力KACT（触媒上流空燃比の検出値）を実使用目標空燃比RKCMDに収束させるようにフィードバック制御を行うものであるが、このとき、このようなフィードバック制御を周知のＰＩＤ制御だけで行うようにすると、エンジン１の運転状態の変化や経年的特性変化等、動的な挙動変化に対して、安定した制御性を確保することが困難である。
【０１９５】
前記適応制御器３１は、上記のようなエンジン１の動的な挙動変化を補償したフィードバック制御を可能とする漸化式形式の制御手段であり、Ｉ．Ｄ．ランダウ等により提唱されているパラメータ調整則を用いて、図６に示すように、複数の適応パラメータを設定するパラメータ調整部３７と、設定された適応パラメータを用いて前記フィードバック操作量KSTRを算出する操作量算出部３８とにより構成されている。
【０１９６】
ここで、パラメータ調整部３７について説明すると、ランダウ等の調整則では、離散系の制御対象の伝達関数Ｂ（Ｚ-1）／Ａ（Ｚ-1）の分母分子の多項式を一般的に下記の式（２１），（２２）のようにおいたとき、パラメータ調整部３７が設定する適応パラメータθハット(j)（ｊは制御サイクルの番数を示す）は、式（２３）のようにベクトル（転置ベクトル）で表される。また、パラメータ調整部３７への入力ζ(j)は、式（２４）のように表される。この場合、本実施形態では、大局的フィードバック制御部２８の制御対象であるエンジン１が一次系で３制御サイクル分の無駄時間ｄp（エンジン１の燃焼サイクルの３サイクル分の時間）を持つプラントと考え、式（２１）〜式（２４）でｍ＝ｎ＝１，ｄp＝３とし、設定する適応パラメータはｓ0，ｒ1，ｒ2，ｒ3，ｂ0の５個とした（図６参照）。尚、式（２４）の上段式及び中段式におけるｕs，ｙsは、それぞれ、制御対象への入力（操作量）及び制御対象の出力（制御量）を一般的に表したものであるが、本実施形態では、上記入力をフィードバック操作量KSTR、制御対象（エンジン１）の出力を前記ＬＡＦセンサ４の出力KACT（触媒上流空燃比の検出値）とし、パラメータ調整部３７への入力ζ(j)を、式（２４）の下段式により表す（図７参照）。
【０１９７】
【数２１】
0004354068.tif 000022
【０１９８】
【数２２】
0004354068.tif 000023
【０１９９】
【数２３】
0004354068.tif 000024
【０２００】
【数２４】
0004354068.tif 000025
【０２０１】
ここで、前記式（２３）に示される適応パラメータθハットは、適応制御器１８のゲインを決定するスカラ量要素ｂ0ハット-1（ｊ）、操作量を用いて表現される制御要素ＢRハット（Ｚ-1，ｊ）、及び制御量を用いて表現される制御要素Ｓ（Ｚ-1，ｊ）からなり、それぞれ、次式（２５）〜（２７）により表現される（図６の操作量算出部３８のブロック図を参照）。
【０２０２】
【数２５】
0004354068.tif 000026
【０２０３】
【数２６】
0004354068.tif 000027
【０２０４】
【数２７】
0004354068.tif 000028
【０２０５】
パラメータ調整部３７は、これらのスカラ量要素や制御要素の各係数を設定して、それを式（２３）に示す適応パラメータθハットとして操作量算出部３８に与えるもので、現在から過去に渡るフィードバック操作量KSTRの時系列データとＬＡＦセンサ４の出力KACTとを用いて、該出力KACTが前記実使用目標空燃比KCMDに一致するように、適応パラメータθハットを算出する。
【０２０６】
この場合、具体的には、適応パラメータθハットは、次式（２８）により算出する。
【０２０７】
【数２８】
0004354068.tif 000029
【０２０８】
同式（２８）において、Γ(j)は、適応パラメータθハットの設定速度を決定するゲイン行列（この行列の次数はｍ＋ｎ＋ｄp）、ｅアスタリスク(j)は、適応パラメータθハットの推定誤差を示すもので、それぞれ式（２９），（３０）のような漸化式で表される。
【０２０９】
【数２９】
0004354068.tif 000030
【０２１０】
【数３０】
0004354068.tif 000031
【０２１１】
ここで、式（３０）中の「Ｄ（Ｚ-1）」は、収束性を調整するための、漸近安定な多項式であり、本実施形態ではＤ（Ｚ-1）＝１としている。
【０２１２】
尚、式（２９）のλ1(j)，λ2(j)の選び方により、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定トレースアルゴリズム、固定ゲインアルゴリズム等の種々の具体的なアルゴリズムが得られる。エンジン１の燃料噴射あるいは空燃比等の時変プラントでは、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定ゲインアルゴリズム、および固定トレースアルゴリズムのいずれもが適している。
【０２１３】
前述のようにパラメータ調整部３７により設定される適応パラメータθハット（ｓ0，ｒ1，ｒ2，ｒ3，ｂ0）と、前記目標空燃比選択設定部２３により決定される実使用目標空燃比RKCMDとを用いて、操作量算出部３８は、次式（３１）の漸化式により、フィードバック操作量KSTRを求める。図６の操作量算出部３８は、同式（３１）の演算をブロック図で表したものである。
【０２１４】
【数３１】
0004354068.tif 000032
【０２１５】
尚、式（３１）により求められるフィードバック操作量KSTRは、ＬＡＦセンサ４の出力KACTが実使用目標空燃比RKCMDに一致する状態において、「実使用目標空燃比RKCMD」となる。このために、前述の如く、フィードバック操作量KSTRを除算処理部３２によって実使用目標空燃比RKCMDで除算することで、前記フィードバック補正係数KFBとして使用できるフィードバック操作量kstrを求めるようにしている。
【０２１６】
このように構築された適応制御器３１は、前述したことから明らかなように、制御対象であるエンジン１の動的な挙動変化を考慮した漸化式形式の制御器であり、換言すれば、エンジン１の動的な挙動変化を補償するために、漸化式形式で記述された制御器である。そして、より詳しくは、漸化式形式の適応パラメータ調整機構を備えた制御器と定義することができる。
【０２１７】
尚、この種の漸化式形式の制御器は、所謂、最適レギュレータを用いて構築する場合もあるが、この場合には、一般にはパラメータ調整機構は備えられておらず、エンジン１の動的な挙動変化を補償する上では、前述のように構成された適応制御器３１が好適である。
【０２１８】
以上が、本実施形態で採用した適応制御器３１の詳細である。
【０２１９】
尚、適応制御器３１と共に、大局的フィードバック制御部２８に具備したＰＩＤ制御器３０は、一般のＰＩＤ制御と同様に、ＬＡＦセンサ４の出力KACTと、実使用目標空燃比RKCMDとの偏差から、比例項（Ｐ項）、積分項（Ｉ項）及び微分項（Ｄ項）を算出し、それらの各項の総和をフィードバック操作量KLAFとして算出する。この場合、本実施形態では、積分項（Ｉ項）の初期値を「１」とすることで、ＬＡＦセンサ４の出力KACTが実使用目標空燃比RKCMDに一致する状態において、フィードバック操作量KLAFが“１”になるようにし、該フィードバック操作量KLAFをそのまま燃料噴射量を補正するための前記フィードバック補正係数KFBとして使用することができるようしている。また、比例項、積分項及び微分項のゲインは、エンジン１の回転数NEと吸気圧PBとから、あらかじめ定められたマップを用いて決定される。
【０２２０】
また、大局的フィードバック制御部２８の前記切換部３３は、エンジン１の冷却水温の低温時や、高速回転運転時、吸気圧の低圧時等、エンジン１の燃焼が不安定なものとなりやすい場合、あるいは、実使用目標空燃比RKCMDの変化が大きい時や、空燃比のフィードバック制御の開始直後等、これに応じたＬＡＦセンサ４の出力KACTが、そのＬＡＦセンサ４の応答遅れ等によって、信頼性に欠ける場合、あるいは、エンジン１のアイドル運転時のようエンジン１の運転状態が極めて安定していて、適応制御器３１による高ゲイン制御を必要としない場合には、ＰＩＤ制御器３０により求められるフィードバック操作量KLAFを燃料噴射量を補正するためのフィードバック補正係数KFBとして出力する。そして、上記のような場合以外の状態で、適応制御器３１により求められるフィードバック操作量KSTRを実使用目標空燃比RKCMDで除算してなるフィードバック操作量kstrを燃料噴射量を補正するためのフィードバック補正係数KFBとして出力する。これは、適応制御器３１が、高ゲイン制御で、ＬＡＦセンサ４の出力KACTを急速に実使用目標空燃比RKCMDに収束させるように機能するため、上記のようにエンジン１の燃焼が不安定となったり、ＬＡＦセンサ４の出力KACTの信頼性に欠ける等の場合に、適応制御器３１のフィードバック操作量KSTRを用いると、かえって空燃比の制御が不安定なものとなる虞れがあるからである。
【０２２１】
このような切換部３３の作動は、例えば特開平８−１０５３４５号公報に本願出願人が詳細に開示しているので、ここでは、さらなる説明を省略する。
【０２２２】
次に本実施形態の装置の全体の作動の詳細を説明する。
【０２２３】
まず、図７のフローチャートを参照して、前記機関側制御ユニット９による処理について説明する。機関側制御ユニット９は、前記燃料供給制御手段１３等の処理をエンジン１のクランク角周期（ＴＤＣ）と同期した制御サイクルで次のように行う。
【０２２４】
機関側制御ユニット９は、まず、前記ＬＡＦセンサ４及びＯ2センサ５を含む各種センサの出力を読み込む（ＳＴＥＰａ）。この場合、ＬＡＦセンサ４の出力KACT及びＯ2センサ５の出力VO2/OUTはそれぞれ過去に得られたものを含めて時系列的に図示しないメモリに記憶保持される。
【０２２５】
次いで、前記燃料供給制御手段１３に係わる処理を実行する（ＳＴＥＰｂ〜ＳＴＥＰｉ）。
【０２２６】
この処理では、まず、燃料供給制御手段１３の目標空燃比選択設定部２３によって、エンジン１の運転モードを設定する処理が図８のフローチャートに示すように行われる（ＳＴＥＰｂ）。
【０２２７】
すなわち、目標空燃比選択設定部２３は、触媒装置３におけるＮＯxの還元を行うべき状態であるか否かをそれぞれ値「０」、「１」で表すフラグF/NOxRFの値を判断する（ＳＴＥＰｂ−１）。このフラグF/NOxRF（以下、還元要否判断フラグF/NOxRFという）は、その初期値（エンジン１の運転開始時の初期値）が「１」で、後述する吸収飽和状態把握手段１５や還元状態把握手段１２に係わる処理に応じて適宜、値が「０」に設定されるものである。
【０２２８】
このとき、F/NOxRF＝１である場合、すなわちＮＯxの還元が不要な状態（この状態は基本的には触媒装置３のＮＯx吸収材にＮＯxが吸収されていない状態である）である場合には、目標空燃比選択設定部２３はさらに、エンジン１の運転状態がリーン運転モードの運転を行うものとしてあらかじめ定めた所定の状態となっているか否かを判断する（ＳＴＥＰｂ−２）。ここで判断するエンジン１の運転状態は、より詳しくは、例えばエンジン１の現在のスロットル弁の開度等から把握される要求トルクの状態や、エンジン１の現在の回転数、冷却水温等の状態である。
【０２２９】
そして、ＳＴＥＰｂ−２の運転条件が成立している場合には、エンジン１の運転モードをリーン運転モードに設定する（ＳＴＥＰｂ−３）。
【０２３０】
また、ＳＴＥＰｂ−１で、F/NOxRF＝０である場合（ＮＯxの還元が必要な状態である場合）、あるいは、ＳＴＥＰｂ−２の運転条件が成立していない場合（エンジン１の運転状態がリーン運転モードの運転を行う状態となっていない場合）には、エンジン１の運転モードをストイキ運転モードに設定する（ＳＴＥＰｂ−４）。
【０２３１】
図７の処理に戻って、燃料供給制御手段１３の目標空燃比選択設定部２３は、次に、上記のようにＳＴＥＰbで設定した現在の運転モードを判断する（ＳＴＥＰｃ）。
【０２３２】
このとき、現在の運転モードがストイキ運転モードである場合には、目標空燃比選択設定部２３は、前記排気側制御ユニット８の目標空燃比生成処理手段１０の処理（詳細は後述する）により生成された最新の目標空燃比KCMDを読込み、それを前記実使用目標空燃比RKCMDとして設定する（ＳＴＥＰｄ）。また、現在の運転モードがリーン運転モードである場合には、エンジン１の現在の回転数NEや吸気圧PB等からマップやデータテーブル等を用いて定められる所定値を実使用目標空燃比RKCMDとして設定する（ＳＴＥＰｅ）。この場合に実使用目標空燃比RKCMDとして設定する所定値は、リーン領域の空燃比である。
【０２３３】
次いで、燃料供給制御手段１３は、前記基本燃料噴射量算出部２４、第１補正係数算出部２５、第２補正係数算出部２６、大局的フィードバック制御部２８、及び局所的フィードバック制御部２９によって、それぞれ前述したように基本燃料噴射量Ｔim、第１補正係数KTOTAL、第２補正係数KCMDM、エンジン１の全体的な空燃比に係わるフィードバック補正係数KFB、及びエンジン１の各気筒毎のフィードバック補正係数#nKLAF(n=1,2,3,4）を算出する（ＳＴＥＰｆ）。
【０２３４】
この場合において、フィードバック補正係数KFBを求める大局的フィードバック制御部２８は、前述の如く、ＰＩＤ制御器３０により求められるフィードバック操作量KLAFと、適応制御器３１により求められるフィードバック操作量KSTRを実使用目標空燃比RKCMDで除算してなるフィードバック操作量kstrとから、切換部３３によってエンジン１の運転状態等に応じていずれか一方のフィードバック操作量KLAF又はkstrを選択する（通常的には適応制御器３１側のフィードバック操作量kstrを選択する）。そして、選択したフィードバック操作量KLAF又はkstrを燃料噴射量を補正するためのフィードバック補正係数KFBとして得る。
【０２３５】
尚、フィードバック補正係数KFBを、ＰＩＤ制御器３０側のフィードバック操作量KLAFから適応制御器３１側のフィードバック操作量kstrに切り換える際には、該補正係数KFBの急変を回避するために、適応制御器３１は、その切換えの際の制御サイクルに限り、補正係数KFBを前回の補正係数KFB（＝KLAF）に保持するように、フィードバック操作量KSTRを求める。同様に、補正係数KFBを、適応制御器３１側のフィードバック操作量kstrからＰＩＤ制御器３０側のフィードバック操作量KLAFに切り換える際には、ＰＩＤ制御器３０は、自身が前回の制御サイクルで求めたフィードバック操作量KLAFが、前回の補正係数KFB（＝kstr）であったものとして、今回の補正係数KLAFを算出する。
【０２３６】
次いで、燃料供給制御手段１３は、ＳＴＥＰｆで求めた基本燃料噴射量Ｔimに、第１補正係数KTOTAL、第２補正係数KCMDM、フィードバック補正係数KFB、及び各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒毎の出力燃料噴射量#nＴout(n=1,2,3,4）を求める（ＳＴＥＰｇ）。そして、この各気筒毎の出力燃料噴射量#nＴoutに、付着補正部３６によって、エンジン１の吸気管における燃料の壁面付着を考慮した補正を施した後（ＳＴＥＰｈ）、その補正した出力燃料噴射量#nＴoutをエンジン１の各気筒毎の燃料噴射量の指令値として、図示しない燃料噴射装置に出力する（ＳＴＥＰｉ）。
【０２３７】
そして、エンジン１にあっては、各気筒毎の出力燃料噴射量#nＴoutに従って、各気筒への燃料噴射が行われる。
【０２３８】
以上のような燃料供給制御手段１３によるＳＴＥＰｂ〜ＳＴＥＰｊの処理によって、各気筒毎の出力燃料噴射量#nＴoutの算出及びそれに応じたエンジン１への燃料噴射がエンジン１のクランク角周期（ＴＤＣ）に同期した制御サイクルでで逐次行われる。これにより、これによりＬＡＦセンサ４の出力KACT（触媒上流空燃比の検出値）が、実使用目標空燃比RKCMDに収束するように、エンジン１で燃焼させる混合気の空燃比が操作される。この場合、特に、前記フィードバック補正係数KFBとして、適応制御器３０側のフィードバック操作量kstrを使用している状態では、エンジン１の運転状態の変化や特性変化等の挙動変化に対して、高い安定性を有して、ＬＡＦセンサ４の出力KACTが迅速に目標空燃比RKCMDに収束制御される。また、エンジン１が有する応答遅れの影響も適正に補償される。
【０２３９】
そして、ストイキ運転モードでは、実使用目標空燃比RKCMDは、前記目標空燃比生成処理手段１０がＯ2センサ５の出力VO2/TARGETを目標値VO2/TARGETに制御すべく生成する目標空燃比KCMDであるので、上記のような燃料供給制御手段１３の処理によって、ＬＡＦセンサ４が検出する触媒上流空燃比は、Ｏ2センサ５の出力VO2/OUTが目標値VO2/TARGETに収束するような空燃比（目標空燃比KCMD)に円滑且つ迅速に制御されることとなる。
【０２４０】
また、リーン運転モードでは、実使用目標空燃比RKCMDは、リーン領域の空燃比であるので、エンジン１で燃焼させる混合気の空燃比、ひいては、触媒上流空燃比は所要のリーン状態の空燃比に制御されることとなる。
【０２４１】
尚、リーン運転モードでの運転中は、エンジン１の排ガス中のＮＯxが触媒装置３のＮＯx吸収材で吸収される。そして、リーン運転モードからストイキ運転モードに切り換ると、その切換え直後は、O2センサ５の出力VO2/OUTが先に行われたリーン運転モードの運転の影響によって空燃比のリーン側の値に偏っているため、前記排気側制御ユニット８の目標空燃比生成処理手段１０が前述のように生成する目標空燃比KCMD、ひいては前記実使用目標空燃比RKCMDは、リッチ領域の空燃比となる。このため、リーン運転モードからストイキ運転モードへの切換え直後は、触媒上流空燃比はリッチ状態の空燃比に制御される。そして、このとき、触媒装置３で吸収されているＮＯxは、排ガス中のＨＣ、ＣＯ、Ｈ2等を還元剤として還元される。
【０２４２】
上記のように燃料供給制御手段１３の処理を行った後、機関側制御ユニット９は、前記ＮＯx量データ生成手段１４、吸収飽和状態把握手段１５、還元剤量データ生成手段１６に係わる処理をＳＴＥＰｊ〜ｍで実行する。
【０２４３】
この処理では、機関側制御ユニット９は、まず、前記ＳＴＥＰｂで設定した現在の運転モードを再び判断する（ＳＴＥＰｊ）。
【０２４４】
このとき、現在の運転モードがストイキ運転モードである場合には、触媒装置３のＮＯx吸収材で吸収されているＮＯxを還元する作用を呈するものとしてエンジン１の排ガスを介して触媒装置３に与えられる還元剤（ＨＣ、ＣＯ、Ｈ2等）の積算量を表す還元剤積算量データRNFを生成する処理を前記還元剤量データ生成手段１６によって実行し（ＳＴＥＰｋ）、今回の制御サイクルの処理を終了する。
【０２４５】
このＳＴＥＰｋの処理は図９のフローチャートに示すように行われる。すなわち、ＳＴＥＰｋの処理では、還元剤量データ生成手段１６は、まず、前回の制御サイクルにおける運転モードを判断する（ＳＴＥＰｋ−１）。このとき、前回の運転モードがリーン運転モードであるとき、すなわち、運転モードがリーン運転モードからストイキ運転モードに切り換った際の状態である場合には、還元剤量データ生成手段１６は、還元剤積算量データRNFの算出を開始するために、その値を「０」に初期化する（ＳＴＥＰｋ−２）。さらに、このＳＴＥＰｋ−２では、次回の制御サイクルからリーン運転モードの運転を禁止するために、前記還元要否判断フラグF/NOxRFの値を「０」に設定する。
【０２４６】
尚、このときに「０」に設定された還元要否判断フラグF/NOxRFの値は、後述する排気側制御ユニット８の処理で、所定の条件が満たされた場合にのみ、「１」に変更される。
【０２４７】
また、ＳＴＥＰｋ−１で前回の運転モードがリーン運転モードでない場合、すなわち、ストイキ運転モードの運転を行っている最中である場合には、還元剤量データ生成手段１６は、今回の制御サイクルで触媒装置３に供給される還元剤量（１ＴＤＣ当たりの還元剤量）を表す瞬時還元剤量データΔＴiを求める（ＳＴＥＰｋ−３）。
【０２４８】
ここで、触媒装置３でＮＯxの還元作用を呈する還元剤（ＨＣ、ＣＯ、Ｈ2等）は、基本的には理論空燃比に対応する燃料噴射量よりも余剰の燃料をエンジン１で燃焼させることで生成され、該還元剤の量は、上記の余剰の燃料の量に応じたものとなる。また、リーン運転モードの運転からストイキ運転モードの運転への切換え直後は、前述のように、実使用目標空燃比RKCMDがリッチ領域の空燃比になるため、エンジン１に対する燃料噴射量の指令値（前記出力燃料噴射量#nTout）は理論空燃比に対応する燃料噴射量よりも多くなる。さらに、本実施形態では、前記基本燃料噴射量算出部２４が求める基本燃料噴射量Ｔimが理論空燃比に対応する燃料噴射量である。
【０２４９】
そこで、本実施形態では、例えば前記燃料供給制御手段１３が制御サイクル毎に最終的に求めた出力燃料噴射量#nＴoutから、前記基本燃料噴射量Ｔimを減算したもの（これは理論空燃比に対応する燃料噴射量に対する余剰分の燃料の量に相当する）を前記瞬時還元剤量データΔＴiとして求める。
【０２５０】
尚、理論空燃比に対応する燃料噴射量は、前記基本燃料噴射量Ｔimに、例えばエンジン１の吸気管における燃料の付着等を考慮した補正を施して得るようにしてもよい。
【０２５１】
このように瞬時還元剤量データΔＴiを求めた後、還元剤量データ生成手段１６は、制御サイクル毎に、瞬時還元剤量データΔＴiを累積加算することで、前記還元剤積算量データRNFを求める（ＳＴＥＰｋ−４）。この累積加算演算は、制御サイクル毎に、還元剤積算量データRNFの現在値（前回の制御サイクルで求められた値）に瞬時還元剤量データΔＴiを加算して、還元剤積算量データRNFの値を更新することでなされる。
【０２５２】
これにより、リーン運転モードの運転後にストイキ運転モードの運転を開始してから、該ストイキ運転モードの運転中に触媒装置３に供給されるNＯxの還元剤の積算量を表す還元剤積算量データRNFが機関側制御ユニット９の制御サイクル毎に逐次生成される。このように生成される還元剤積算量データRNFは、後述する触媒劣化評価手段１１の処理に用いられるものである。
【０２５３】
一方、図７のＳＴＥＰｊの判断において、現在の運転モードがリーン運転モードである場合には、機関側制御ユニット９は、前記吸収飽和状態把握手段１５によって、触媒装置３におけるＮＯxの吸収が飽和した状態であるか否かを把握しつつ、前記ＮＯx量データ生成手段１４によって、触媒装置３のＮＯx吸収材で吸収されるＮＯxの積算量を表すＮＯx吸収量データQ/NOxを生成する処理を実行して（ＳＴＥＰｍ）、今回の制御サイクルの処理を終了する。
【０２５４】
このＳＴＥＰｍの処理は図１０のフローチャートに示すように実行される。
【０２５５】
すなわち、ＮＯx量データ生成手段１４は、まず、前回の制御サイクルにおける運転モードを判断する（ＳＴＥＰｍ−１）。このとき、前回の運転モードがストイキ運転モードである場合、すなわち、運転モードがストイキ運転モードからリーン運転モードに切換えられた際の状態である場合には、ＮＯx吸収量データQ/NOxの算出を開始するために、ＮＯx吸収量データQ/NOxの値を「０」に初期化して（ＳＴＥＰｍ−２）、図７の処理に復帰する。
【０２５６】
また、ＳＴＥＰｍ−１の判断で、前回の運転モードがストイキ運転モードでない場合、すなわち、リーン運転モードの運転を行っている最中である場合には、ＮＯx吸収量データ生成手段１４は、今回の制御サイクルで触媒装置３のＮＯx吸収材が吸収するＮＯxの量（１ＴＤＣ当たりのＮＯxの量）を表す瞬時ＮＯx量データq/NOxを求める（ＳＴＥＰｍ−３）。
【０２５７】
この場合、瞬時ＮＯx量データq/NOxは、例えばエンジン１の現在の回転数、吸気圧、冷却水温、要求トルク、実使用目標空燃比RKCMD等からマップやデータテーブル等を用いて推定的に求められる。
【０２５８】
尚、所謂、直噴型のエンジンでは、リーン運転モードの運転に際して、エンジンの吸気行程で燃料及び空気を混合した上で該混合気の燃焼させるリーン運転（所謂、予混合リーン運転）と、エンジンの圧縮行程で極めて燃料の少ない混合気を生成して該混合気を燃焼させるリーン運転（超希薄燃焼運転）との二種類の運転形態でのリーン運転をエンジンの運転状態等に応じて選択的に行うものもある。そして、このような場合には、エンジンの回転数や吸気圧等の他、上記の二種類の運転形態のうちのいずれの運転形態でエンジンのリーン運転を行うかを考慮して、上記瞬時ＮＯx量データを求めるようにしてもよい。
【０２５９】
ＮＯx吸収量データ生成手段１４は、上記のように求めた瞬時ＮＯx量データq/NOxを、制御サイクル毎に累積加算することで、ＮＯx吸収量データQ/NOxを求める（ＳＴＥＰｍ−４）。この累積加算演算は、制御サイクル毎に、ＮＯx吸収量データQ/NOxの現在値（前回の制御サイクルで求められた値）に瞬時ＮＯx量データq/NOxを加算して、ＮＯx吸収量データQ/NOxの値を更新することでなされる。
【０２６０】
これにより、リーン運転モードの運転を開始してから、該リーン運転モードの運転中に触媒装置３に供給されて吸収されるNＯxの積算量を表すＮＯx吸収量データQ/NOxが機関側制御ユニット９の制御サイクル毎に逐次生成される。
【０２６１】
次いで、前記吸収飽和状態把握手段１５によって、上記ＮＯx吸収量データQ/NOxを所定の閾値NOLTと比較することにより、触媒装置３におけるＮＯxの吸収が飽和した状態であるか否かを判断する（ＳＴＥＰｍ−５）。
【０２６２】
この場合、本実施形態では、上記閾値NOLTは、詳細を後述する排気側制御ユニット８の触媒劣化評価手段１１が把握する触媒装置３の最新の劣化度合い（本実施形態では後述するように触媒装置３の劣化度合いを表すものとして前記還元剤積算量データRNFの平均値RNFAVを用いている）に応じて、図１１に示すように設定されている。
【０２６３】
すなわち、上記閾値NOLTは、触媒装置３の劣化度合いが高い程（劣化が進行している程）小さな値に設定される。これは、触媒装置３（詳しくはこれに含まれるＮＯx吸収材）の劣化が進行するに伴って、触媒装置３で最大限に吸収可能なＮＯxの量（これは飽和状態におけるＮＯx吸収量データQ/NOxに相当する）が少なくなっていくからである。
【０２６４】
そして、吸収飽和状態把握手段１５は、上記ＳＴＥＰｍ−５で、Q/NOx＞NOLTである場合には、触媒装置３におけるＮＯxの吸収が飽和した状態であると判断し、Q/NOx≦NOLTである場合には、ＮＯxの吸収が未飽和状態であると判断する。
【０２６５】
このＳＴＥＰｍ−５の判断処理によって、ＮＯxの吸収が飽和した状態であることが把握された場合（Q/NOx＞N OLTの場合）には、触媒装置３でこれ以上、ＮＯxを吸収することができず、ＮＯxの還元が必要な状態である。このため、機関側制御ユニット９は、リーン運転モードの運転を中止して、ストイキ運転モードの運転に切換えるべく、前記還元要否判断フラグF/NOxRFの値を「０」に設定する（ＳＴＥＰｍ−６）。また、このＳＴＥＰｍ−６では、触媒装置３におけるＮＯxの吸収が飽和するまでリーン運転モードの運転が継続的に行われたか否かをそれぞれ値「１」、「０」で表すフラグF/WOCFLOの値を「１」に設定する。尚、このフラグF/WOC FLO（以下、吸収飽和運転判断フラグF/WOCFLOという）は、排気側制御ユニット８の触媒劣化評価手段１１による後述の触媒装置３の劣化状態の評価に関連して使用されるものである。
【０２６６】
上記のようにＳＴＥＰｍ−６で還元要否判断フラグF/NOxRFの値が「０」に設定されることによって、機関側制御ユニット９の次回の制御サイクルでは前記図７のＳＴＥＰｂで、運転モードがストイキ運転モードに設定されることとなる（図８を参照）。このため、エンジン１の運転はストイキ運転モードの運転に切換えられ、触媒装置３におけるＮＯxの還元処理が行われる。
【０２６７】
また、ＳＴＥＰｍ−５の判断処理によって、ＮＯxの吸収が未飽和状態であることが把握された場合（Q/NOx≦NOLTの場合）には、触媒装置３におけるＮＯxの吸収が飽和するまでのリーン運転モードの継続的な運転は行われていないので、上記吸収飽和運転判断フラグF/WOCFLOの値を「０」に設定する（ＳＴＥＰｍ−７）。尚、この場合、触媒装置３でさらにＮＯxを吸収することができるので、前記還元要否判断フラグF/NOxRFの値は現状の値（＝１）に維持される。従って、前記図８のＳＴＥＰｂ−２の条件が成立する限り、リーン運転モードの運転が継続的に行われることとなる。
【０２６８】
以上説明した処理が機関側制御ユニット９の処理の詳細である。
【０２６９】
次に、前記排気側制御ユニット８の処理の詳細を説明する。排気側制御ユニット８は、運転モードがストイキ運転モードに設定されている状態において、前述のような機関側制御ユニット９の処理と並行して、一定周期の制御サイクルで図１２のフローチャートに示すメインルーチン処理を実行する。
【０２７０】
すなわち、図１２を参照して、排気側制御ユニット８は、まず、前記目標空燃比生成処理手段１０の減算処理部１８，１９によりそれぞれ最新の前記偏差出力kact(k)（＝KACT−FLAF/BASE）及びVO2(k)（＝VO2/OUT−VO2/TARGET）を算出する（ＳＴＥＰ１）。この場合、減算処理部１１，１２は、前記機関側制御ユニット９が前記図７のＳＴＥＰａにおいて取り込んで図示しないメモリに記憶したＬＡＦセンサ４の出力KACT及びＯ2センサ５の出力VO2/OUTの時系列データの中から、最新のものを選択して前記偏差出力kact(k)及びVO2(k)を算出する。そしてこの偏差出力kact(k)及びVO2(k)は、排気側制御ユニット８において、過去に算出したものを含めて時系列的に図示しないメモリに記憶保持される。
【０２７１】
次いで、排気側制御ユニット８は、前記目標空燃比生成処理手段１０の同定器２０による演算処理を行う（ＳＴＥＰ２）。
【０２７２】
この同定器２０による演算処理は図１３のフローチャートに示すように行われる。
【０２７３】
すなわち、同定器２０は、現在の同定ゲイン係数a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットの値と、前記ＳＴＥＰ１で制御サイクル毎に算出される偏差出力VO2及びkactの過去値のデータVO2(k-1)，VO2(k- 2)，kact(k-d-1)とを用いて、前記式（２）により前記同定偏差出力VO2(k)ハットを算出する（ＳＴＥＰ２−１）。
【０２７４】
さらに同定器２０は、新たな同定ゲイン係数a1ハット，a2ハット，b1ハットを決定する際に使用する前記ベクトルＫθ(k)を式（５）により算出した後（ＳＴＥＰ２−２）、前記同定誤差id/e(k)（前記同定偏差出力VO2ハットと、実際の偏差出力VO2との偏差。式（３）参照）を算出する（ＳＴＥＰ２−３）。
【０２７５】
ここで、前記同定誤差id/e(k)は、基本的には、前記式（３）に従って算出すればよいのであるが、本実施形態では、前記図１２のＳＴＥＰ１で制御サイクル毎に算出する偏差出力VO2と、前記ＳＴＥＰ２−２で制御サイクル毎に算出する同定偏差出力VO2ハットとから式（３）の演算により得られた値（＝VO2(k)−VO2(k)ハット）に、さらにローパス特性のフィルタリングを施すことで同定誤差id/e(k)を求める。
【０２７６】
これは、触媒装置３を含む排気系Ｅの挙動（より詳しくは排気系Ｅの入力量の変化に対する出力量の変化の特性）は一般にローパス特性を有するため、前記排気系モデルのゲイン係数a1，a2，b1を適正に同定する上では、排気系Ｅの低周波数側の挙動を重視することが好ましいからである。
【０２７７】
尚、このようなフィルタリングは、結果的に、偏差出力VO2及び同定偏差出力VO2ハットの両者に同じローパス特性のフィルタリングが施されていればよい。従って、例えば偏差出力VO2及び同定偏差出力VO2ハットにそれぞれ各別にフィルタリングを施した後に式（３）の演算を行って同定誤差id/e(k)を求めるようにしてもよい。また、前記のフィルタリングは、例えばディジタルフィルタの一手法である移動平均処理によって行われる。
【０２７８】
次いで、同定器２０は、ＳＴＥＰ２−３で求めた同定誤差id/e(k)と、前記ＳＴＥＰ２−２で算出したＫθ(k)とを用いて前記式（４）により新たな同定ゲイン係数ベクトルΘ(k)、すなわち、新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを算出する（ＳＴＥＰ２−４）。
【０２７９】
このようにして新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを算出した後、同定器２０は、該同定ゲイン係数a1ハット，a2ハット，b1ハット（同定ゲイン係数ベクトルΘの要素）の値を、所定の条件を満たすように制限する処理を行う（ＳＴＥＰ２−５）。そして、同定器２０は次回の制御サイクルの処理のために前記行列Ｐ(k)を前記式（６）により更新した後（ＳＴＥＰ２−６）、図１２のメインルーチンの処理に復帰する。
【０２８０】
この場合、上記ＳＴＥＰ２−５において同定ゲイン係数a1ハット，a2ハット，b1ハットの値を制限する処理は、同定ゲイン係数a1ハット，a2ハットの値の組み合わせを所定の組み合わせに制限する処理（同定ゲイン係数a1ハット，a2ハットを成分とする座標平面上の所定の領域内に点（a1ハット，a2ハット）を制限する処理）と、同定ゲイン係数b1ハットの値を所定の範囲内に制限する処理とからなる。前者の処理では、ＳＴＥＰ２−４で算出した同定ゲイン係数a1(k)ハット，a2(k)ハットにより定まる上記座標平面上の点（a1(k)ハット，a2(k)ハット）が該座標平面上にあらかじめ定めた所定の領域から逸脱している場合に同定ゲイン係数a1(k)ハット，a2(k)ハットの値を強制的に上記所定の領域内の点の値に制限する。また、後者の処理では、前記ＳＴＥＰ２−４で算出した同定ゲイン係数b1(k)ハットの値が所定の範囲の上限値あるいは下限値を超えている場合に、該同定ゲイン係数b1(k)ハットの値を強制的にその上限値あるいは下限値に制限する。
【０２８１】
このような同定ゲイン係数a1ハット，a2ハット，b1ハットの制限処理は、スライディングモード制御器２２が算出するＳＬＤ操作入力Ｕsl（目標偏差空燃比kcmd）、ひいては目標空燃比KCMDの安定性を確保するためのものである。
【０２８２】
このような同定ゲイン係数a1ハット，a2ハット，b1ハットの制限処理のより具体的な手法については、本願出願人が例えば特開平１１−１５３０５１号公報にて詳細に説明しているので、ここでは詳細な説明を省略する。
【０２８３】
尚、図１３のＳＴＥＰ２−４で新たな同定ゲイン係数a1(k)ハット，a2(k)ハット，b1(k)ハットを求めるために使用する同定ゲイン係数の前回値a1(k-1)ハット，a2(k-1)ハット，b1(k-1)ハットは、前回の制御サイクルにおけるＳＴＥＰ２−５の制限処理を行った後の同定ゲイン係数の値である。
【０２８４】
また、同定器２０は、ストイキ運転モードの運転中に一時的にエンジン１のフュエルカット（燃料噴射の停止）を行う状況や、スロットル弁が略全開とされるような状況では、同定ゲイン係数a1ハット，a2ハット，b1ハットの値や前記行列Ｐを更新することなく、現状の値に維持する。
【０２８５】
また、同定ゲイン係数a1ハット，a2ハット，b1ハットの値や、前記行列Ｐの各成分の値は、リーン運転モードでの運転中にあらかじめ定めた所定値に初期化される。
【０２８６】
図１２の処理に戻って、上記のように同定器２０の演算処理を行った後、排気側制御ユニット８は、ゲイン係数a1，a2，b1の値を決定する（ＳＴＥＰ３）。この処理では、基本的には、ゲイン係数a1，a2，b1の値として、それぞれ前記ＳＴＥＰ２で前述の通り同定器２０により求められた最新の同定ゲイン係数a1ハット，a2ハット，b1ハット（ＳＴＥＰ２−５の制限処理を施したもの）を設定する。但し、前述のように、ストイキ運転モードの運転中に一時的にエンジン１のフュエルカット（燃料噴射の停止）を行う状況や、スロットル弁が略全開とされるような状況で、同定ゲイン係数a1ハット，a2ハット，b1ハットの値を更新しなかった場合には、ゲイン係数a1,a2,b1の値をそれぞれあらかじめ定めた所定値（例えば前回の制御サイクルで決定された値等）とする。
【０２８７】
次いで、排気側制御ユニット８は、前記推定器２１による演算処理（推定偏差出力VO2バーの算出処理）を行う（ＳＴＥＰ４）。
【０２８８】
すなわち、推定器２１は、まず、前記ＳＴＥＰ３で決定されたゲイン係数a1，a2，b1（これらの値は基本的には、前記同定ゲイン係数a1ハット，a2ハット，b1ハットである）を用いて、前記式（７）で使用する係数値α1，α2，βj（ｊ＝1,2,…,d）を、式（７）の但し書きの定義に従って算出する。
【０２８９】
次いで、推定器２１は、前記ＳＴＥＰ１で制御サイクル毎に算出されるＯ2センサ５の偏差出力VO2の現在の制御サイクル以前の時系列データVO2(k)，VO2(k-1)、並びにＬＡＦセンサ４の偏差出力kactの過去値の時系列データkact(k-j)（ｊ＝1,2,…,d）と、上記の如く算出した係数α1，α2，βjとを用いて前記式（７）により、推定偏差出力VO2(k+d)バー（今回の制御サイクルの時点から排気系Ｅの無駄時間ｄ後の偏差出力VO2の推定値）を算出する。
【０２９０】
図１２の処理に戻って、排気側制御ユニット８は、次に、前記還元状態把握手段１２による処理を行いつつ、触媒劣化評価手段１２による処理を実行する（ＳＴＥＰ５）。
【０２９１】
この処理は、図１４のフローチャートに示すように行われる。すなわち、排気側制御ユニット８は、まず、ＳＴＥＰ５−１〜５−５で、触媒装置３の劣化状態を評価を行う条件が成立しているか否かを判断する。
【０２９２】
さらに詳細には、まず、前記還元要否判断フラグF/NOxRFの現在の値を判断する（ＳＴＥＰ５−１）。この場合、F/NOxRF＝１であるとき（この状態は、後述するように触媒装置３におけるＮＯxの還元が完了した状態である）には、図１２の処理に直ちに復帰する。
【０２９３】
一方、リーン運転モードからストイキ運転モードに切換えられた直後は、前記図９のＳＴＥＰｋ−２の処理によって、F/NOxR F＝０となっている。そして、このようにF/NOxRF＝０であるときには、前記ＳＴＥＰ４で推定器２１が求めた今回の制御サイクルにおける推定偏差出力VO2(k+d)バーに前記目標値VO2/TARGETを加算することによって、現在の制御サイクルから排気系Ｅの無駄時間ｄ後のＯ2センサ５の出力VO2/OUTの推定値である推定出力PRE/VO2(k)を求める（ＳＴＥＰ５−２）。
【０２９４】
次いで、上記推定出力PRE/VO2の今回値PRE/VO2(k)と前回値PRE/VO2(k-1)とを前記還元状態把握手段１２によって所定の閾値PVO2Bとを比較することにより、排気系Ｅの無駄時間ｄ後に触媒装置３におけるＮＯxの還元が完了するか否かを判断する（ＳＴＥＰ５−３）。
【０２９５】
この場合、エンジン１の運転モードがリーン運転モードからストイキ運転モードに切換えられた直後は、先に行われたリーン運転モードの運転の影響によって、図１５に示すように、Ｏ2センサ５の出力VO2/OUTや、その無駄時間ｄ後の推定出力PRE/VO2は、空燃比のリーン側の値に偏っている。そして、ストイキ運転モードの運転、すなわち、Ｏ2センサ５の推定偏差出力VO2バーを目標値VO2/ TARGETに収束させ、ひいてはＯ2センサ５の実際の出力VO2/OUTを目標値VO2/TARGETに収束させるように触媒上流空燃比を制御する運転の進行によって、Ｏ2センサ５の出力VO2/OUTや、推定出力PRE/VO2は、一旦、リッチ側の値に変位し、その後、最終的には目標値VO2/TARGETに収束していく。
【０２９６】
また、触媒装置３におけるＮＯxの還元が実際に完了すると、それとほぼ同時点でＯ2センサ５の実際の出力VO2/OUTがリーン側の値からリッチ側の値に変化する。そして、前記推定出力PRE/VO2は、排気系Ｅの無駄時間ｄ後のＯ2センサ５の出力の推定値であるので、その推定出力PRE/VO2がリーン側の値からリッチ側の値に変化すれば、基本的には、その変化時点から無駄時間ｄ後の時点で、Ｏ2センサ５の実際の出力VO2/OUTもリーン側の値からリッチ側の値に変化する。
【０２９７】
そこで、前記ＳＴＥＰ５−３では、還元状態把握手段１２は、理論空燃比近傍におけるＯ2センサ５の出力VO2/OUTの値、例えば前記目標値VO2/TARGETを前記閾値PVO2Bとし、この閾値PVO2Bを前記ＳＴＥＰ５−２で求める推定出力PRE/VO2の今回値PRE/VO2(k)及び前回値PRE/VO2(k-1)と比較する。そして、PRE/VO2(k-1)＜PVO2Bで、且つPRE/VO2(k)≧PVO2Bであるとき、すなわち、推定出力PRE/VO2がリーン側の値からリッチ側の値に変化したタイミングであるときには、無駄時間ｄ後に触媒装置３におけるＮＯxの還元が完了する状態であると判断する。
【０２９８】
尚、上記閾値PVO2Bは、例えば前記目標値VO2/TARGETから若干、リーン側の値にずらした値に設定しておくようにしてもよい。
【０２９９】
上記ＳＴＥＰ５−３で、PRE/VO2( k-1)＜PVO2Bで、且つPRE/VO2(k)≧PVO2Bで、還元状態把握手段１２により、排気系Ｅの無駄時間ｄ後に触媒装置３におけるＮＯxの還元が完了する状態であると判断するされたときには、排気側制御ユニット７は、前記還元要否判断フラグF/NOxRFの値を「１」に設定する（ＳＴＥＰ５−４）。これにより、エンジン１の運転モードは、ストイキ運転モードからリーン運転モードに移行できるようになる（図８参照）。
【０３００】
次いで、排気側制御ユニット７は、リーン運転モードの運転中に前記ＳＴＥＰｍの処理（図１０参照）で設定される吸収飽和運転判断フラグF/WOCFLOの値を判断する（ＳＴＥＰ５−５）。
【０３０１】
このとき、F/WOCFLO＝１である場合、すなわち、現在のストイキ運転モードの運転前のリーン運転モードの運転が、触媒装置３におけるＮＯxの吸収が飽和するまで継続的に行われた場合には、触媒劣化評価手段１１により触媒装置３の劣化状態を評価する処理をＳＴＥＰ５−６〜５−９で実行する。
【０３０２】
具体的には、触媒劣化評価手段１１は、ストイキ運転モードにおいて排気側制御ユニット８の処理と並行して前記機関側制御ユニット９の還元剤量データ生成手段１６が前記ＳＴＥＰｋで求める還元剤積算量データRNFの最新値（現在値）を読み込む（ＳＴＥＰ５−６）。
【０３０３】
尚、このＳＴＥＰ５−６で読み込まれる還元剤積算量データRNFは、過去に読み込まれたものを含めて図示しないメモリに時系列的に記憶保持される。この場合、還元剤積算量データRNFを記憶保持するメモリは、エンジン１の運転を停止しても還元剤積算量データRNFの時系列データが失われることがないように、ＥＥＰＲＯＭ等の不揮発性メモリが用いられる。
【０３０４】
次いで、触媒劣化評価手段１１は、上記のように記憶保持した還元剤積算量データR NFの時系列データのうちの最新側の所定数の還元剤積算量データRNFの平均値RNFAVを触媒装置３の劣化度合い（より正確には触媒装置３が含むＮＯx吸収材の劣化度合い）を表すものとして求める（ＳＴＥＰ５−７）。
【０３０５】
すなわち、ＳＴＥＰ５−６で読み込まれる還元剤積算量データRNFは、前記ＳＴＥＰ５−３，５−５の条件が成立した状態で読み込まれるものであるため、排気系Ｅの無駄時間ｄ後に触媒装置３におけるＮＯxの還元が終了すると判断された時の還元剤積算量データRNFである。しかも、還元剤積算量データRNFは、リーン運転モードの運転が、触媒装置３におけるＮＯxの吸収が飽和した状態であると判断されるまで行われた後におけるストイキ運転モードの運転中に求められるものである。従って、該還元剤積算量データRNFは、触媒装置３で最大限に吸収し得るＮＯxの量（以下、吸収可能最大ＮＯx量という）に相当するものとなる。そして、触媒装置３のＮＯx吸収材の劣化の進行に伴い、吸収可能最大ＮＯx量は、単調に低下していく。従って、上記還元剤積算量データRNFと、吸収可能最大ＮＯx量あるいは触媒装置３の劣化度合いとの関係は、例えば図１６に示すようになる。
【０３０６】
すなわち、触媒装置３の劣化が進行し、吸収可能最大ＮＯx量が低下していくに伴い、ＳＴＥＰ５−６で読み込まれる還元剤積算量データRNFの値も減少していく。従って、該還元剤積算量データRNFの平均値RNFAVも触媒装置３の劣化の進行に伴い、単調に減少していくものとなり、触媒装置３の劣化度合いを表すものとなる。この場合、還元剤積算量データRNFは外乱等の影響でばらつきを生じることがあるが、その平均値RNFAVは、触媒装置３の劣化度合いに対する上記のような傾向をより顕著に呈するものとなる。
【０３０７】
上記のように、還元剤積算量データRNFの平均値RNFAVを求めた後、触媒劣化評価手段１１は、該平均値RNFAVをあらかじめ定めた所定の閾値RNFLT（図１６参照）と比較する（ＳＴＥＰ５−８）。
【０３０８】
すなわち、本実施形態では、触媒装置３の劣化度合いを、触媒装置３の交換が必要かもしくはその交換の時期が近い程度に劣化した状態（以下、劣化進行状態という）と、該劣化進行状態にまでは至らない状態（以下、未劣化状態という）とに分別して評価する。そこで、例えば図１６に示すように閾値RNFLTを設定し、RNFAV≦RNFLTである場合には、触媒装置３の劣化状態が上記「劣化進行状態」であると判断し、RNFAV＞RNFLTである場合には、触媒装置３の劣化状態が「未劣化状態」であると判断する。そして、「劣化進行状態」であると判断した場合には、触媒劣化評価手段１１は、前記劣化報知器７を作動させて、「劣化進行状態」である旨を報知せしめる（ＳＴＥＰ５−９）。また、「未劣化状態」であると判断した場合には、劣化報知器７を作動させることなく、ＳＴＥＰ５の処理を終了して図１２のメインルーチンの処理に復帰する。
【０３０９】
尚、前記ＳＴＥＰ５−３の判断で、PRE/VO2(k-1)＜PVO2Bで、且つPRE/VO2(k)≧PVO2Bでない場合には、排気系Ｅの無駄時間ｄ後に触媒装置３におけるＮＯxの還元が未だ完了しない状態であるので、ＳＴＥＰ５−４以降の処理を行うことなく、ＳＴＥＰ５の処理を終了する。従って、この場合には、前記還元要否判断フラグF/NOxRFは、「０」に保持され、リーン運転モードの運転は引き続き禁止される。
【０３１０】
また、ＳＴＥＰ５−５の判断で、F/WOCFLO＝０である場合、すなわち、ストイキ運転モードの運転前のリーン運転モードにおいて、触媒装置３におけるＮＯxの吸収が飽和するまでリーン運転モードの運転が行われなかった場合には、触媒装置３の劣化状態を評価するためのＳＴＥＰ５−６以降の処理を行うことなく、ＳＴＥＰ５の処理を終了する。
【０３１１】
以上説明したＳＴＥＰ５の処理によって、排気系Ｅの無駄時間ｄ後のＯ2センサ５の出力VO2/OUTの推定値である推定出力PRE/VO2に基づいて、該無駄時間ｄ後に、触媒装置３におけるＮＯxの還元が完了すると還元状態把握手段１２が判断したときには、前記還元要否判断フラグF/NOxRFがＳＴＥＰ５−４で「１」に設定されるので、前記図８のＳＴＥＰｂ−２の条件が成立するエンジン１の運転状態であれば、次回の制御サイクル以後は、リーン運転モードの運転が行われることとなる。
【０３１２】
また、排気側制御ユニット８の処理を行うストイキ運転モードの運転前のリーン運転モードの運転が、触媒装置３におけるＮＯxの吸収が飽和するまで行われた場合、且つその場合に限り、還元状態把握手段１２による上記の把握がなされたときに、触媒劣化評価手段１１によって触媒装置３の劣化状態が評価される。
【０３１３】
図１２の処理に戻って、上述のようにＳＴＥＰ５の処理を実行した後、排気側制御ユニット８は、次に、スライディングモード制御器２２によって、前記ＳＬＤ操作入力Ｕsl（＝目標偏差空燃比kcmd）を算出する（ＳＴＥＰ６）。
【０３１４】
すなわち、スライディングモード制御器２２は、まず、前記ＳＴＥＰ４で推定器２１により求められた推定偏差出力VO2バーの時系列データVO2(k+d)バー，VO2(k+d-1)バーを用いて、前記式（１７）により定義された切換関数σバーの今回の制御サイクルから排気系Ｅの無駄時間ｄ後の値σ(k+d)バー（これは、式（８）で定義された切換関数σの無駄時間ｄ後の推定値に相当する）を算出する。
【０３１５】
尚、この場合、切換関数σバーの値があらかじめ定めた所定の許容範囲内に収まるようにし、上記の如く求められるσ(k+d)バーがその許容範囲の上限値又は下限値を超えた場合には、それぞれσバーの値σ(k+d)バーを強制的に該上限値又は下限値に制限する。これは、切換関数σバーの値が過大になると、前記到達則入力Ｕrchが過大になると共に、前記適応則入力Ｕadpの急変を生じるために、Ｏ2センサ５の出力VO2/OUTの目標値VO2/TARGETへの収束制御の安定性が損なわれる虞れがあるからである。
【０３１６】
さらに、スライディングモード制御器２２は、上記切換関数σバーの値σ(k+d)バーに、排気側制御ユニット８の制御サイクルの周期ΔＴ（一定周期）を乗算したものσ(k+d)バー・ΔＴを累積的に加算していく、すなわち、前回の制御サイクルで求められた加算結果に今回の制御サイクルで算出されたσ(k+d)バーと周期ΔＴとの積σ(k+d)バー・ΔＴを加算することで、前記式（１９）のΣ（σバー・ΔＴ）の項の演算結果であるσバーの積算値（以下、この積算値をΣσバーにより表す）を算出する。
【０３１７】
尚、この場合、本実施形態では、上記積算値Σσバーがあらかじめ定めた所定の許容範囲内に収まるようにし、該積算値Σσバーがその許容範囲の上限値又は下限値を超えた場合には、それぞれ該積算値Σσバーを強制的に該上限値又は下限値に制限する。これは、積算値Σσバーが過大になると、前記式（１９）により求められる適応則入力Ｕadpが過大となって、Ｏ2センサ５の出力VO2/OUTの目標値VO2/TARGETへの収束制御の安定性が損なわれる虞れがあるからである。
【０３１８】
次いで、スライディングモード制御器２２は、前記ＳＴＥＰ４で推定器２１により求められた推定偏差出力VO2バーの現在値及び過去値の時系列データVO2(k+d)バー，VO2(k+d-1)バーと、上記の如く求めた切換関数の値σ(k+d)バー及びその積算値Σσバーと、ＳＴＥＰ３で決定したゲイン係数a1，a2，b1（これらの値は基本的には、最新の同定ゲイン係数a1ハット(k)，a2ハット(k)，b1ハット(k)である）とを用いて、前記式（１６）、（１８）、（１９）に従って、それぞれ等価制御入力Ｕeq、到達則入力Ｕrch及び適応則入力Ｕadpを算出する。
【０３１９】
そして、スライディングモード制御器２２は、この等価制御入力Ｕeq、到達則入力Ｕrch及び適応則入力Ｕadpを加算することで、前記ＳＬＤ操作入力Ｕsl、すなわち、Ｏ2センサ5の推定出力PRE/VO2、ひいては実際の出力VO2/OUTを目標値VO2/TARGETに収束させるために必要な排気系Ｅへの入力量（＝目標偏差空燃比kcmd）を算出する。
【０３２０】
上記のようにＳＬＤ操作入力Ｕslを算出した後、排気側制御ユニット８は、スライディングモード制御器２２による適応スライディングモード制御の安定性（より詳しくは、適応スライディングモード制御に基づくＯ2センサ５の出力VO2/OUTの制御状態（以下、ＳＬＤ制御状態という）の安定性）を判別する処理を行って、該ＳＬＤ制御状態が安定であるか否かをそれぞれ値「１」、「０」で表すフラグf/sld/stbの値を設定する（ＳＴＥＰ７）。
【０３２１】
この安定性の判別処理は図１７のフローチャートに示すように行われる。
【０３２２】
すなわち、排気側制御ユニット８は、まず、前記ＳＴＥＰ６で算出される切換関数σバーの今回値σ(k+d)バーと前回値σ(k+d-1)バーとの偏差Δσバー（これは切換関数σバーの変化速度に相当する）を算出する（ＳＴＥＰ７−１）。
【０３２３】
次いで、排気側制御ユニット８は、上記偏差Δσバーと切換関数σバーの今回値σ(k+d)バーとの積Δσバー・σ(k+d)バー（これはσバーに関するリアプノフ関数σバー2／２の時間微分関数に相当する）があらかじめ定めた所定値ε（≧０）以下であるか否かを判断する（ＳＴＥＰ７−２）。
【０３２４】
ここで、上記積Δσバー・σ(k+d)バー（以下、これを安定判別パラメータＰstbという）について説明すると、この安定判別パラメータＰstbの値がＰstb＞０となる状態は、基本的には、切換関数σバーの値が「０」から離間しつつある状態である。また、安定判別パラメータＰstbの値がＰstb≦０となる状態は、基本的には、切換関数σバーの値が「０」に収束しているか、もしくは収束しつつある状態である。そして、一般に、スライディングモード制御ではその制御量を目標値に安定に収束させるためには、切換関数の値が安定に「０」に収束する必要がある。従って、基本的には、前記安定判別パラメータＰstbの値が「０」以下であるか否かによって、それぞれ前記ＳＬＤ制御状態が安定、不安定であると判断することができる。
【０３２５】
但し、安定判別パラメータＰstbの値を「０」と比較することでＳＬＤ制御状態の安定性を判断すると、切換関数σバーの値に僅かなノイズが含まれただけで、安定性の判別結果に影響を及ぼしてしまう。このため、本実施形態では、前記ＳＴＥＰ７−２で安定判別パラメータＰstbと比較する所定値εは、「０」よりも若干大きな正の値としている。
【０３２６】
そして、ＳＴＥＰ７−２の判断で、Ｐstb＞εである場合には、ＳＬＤ制御状態が不安定であるとし、前記ＳＴＥＰ６で算出されるＳＬＤ操作入力Ｕslを用いた目標空燃比KCMDの決定を所定時間、禁止するためにタイマカウンタｔm（カウントダウンタイマ）の値を所定の初期値ＴMにセットする（タイマカウンタｔmの起動。ＳＴＥＰ７−４）。さらに、前記フラグf/sld/stbの値を「０」に設定した後（ＳＴＥＰ７−５）、図１２のメインルーチンの処理に復帰する。
【０３２７】
一方、前記ＳＴＥＰ７−２の判断で、Ｐstb≦εである場合には、排気側制御ユニット８は、切換関数σバーの今回値σ(k+d)バーがあらかじめ定めた所定範囲内にあるか否かを判断する（ＳＴＥＰ７−３）。
【０３２８】
この場合、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い状態は、該今回値σ(k+d)バーが「０」から大きく離間している状態であるので、ＳＬＤ制御状態が不安定であると考えられる。このため、ＳＴＥＰ７−３の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い場合には、ＳＬＤ制御状態が不安定であるとして、前述の場合と同様に、ＳＴＥＰ７−４及び７−５の処理を行って、タイマカウンタｔmを起動すると共に、フラグf/sld/stbの値を「０」に設定する。
【０３２９】
尚、本実施形態では、前述のＳＴＥＰ６の処理において、切換関数σバーの値を所定の許容範囲内に制限するので、ＳＴＥＰ７−３の判断処理は省略してもよい。
【０３３０】
また、ＳＴＥＰ７−３の判断で、切換関数σバーの今回値σ( k+d)バーが、所定範囲内にある場合には、排気側制御ユニット８は、前記タイマカウンタｔmを所定時間Δｔm分、カウントダウンする（ＳＴＥＰ７−６）。そして、このタイマカウンタｔmの値が「０」以下であるか否か、すなわち、タイマカウンタｔmを起動してから前記初期値ＴM分の所定時間が経過したか否かを判断する（ＳＴＥＰ７−７）。
【０３３１】
このとき、ｔm＞０である場合、すなわち、タイマカウンタｔmが計時動作中でまだタイムアップしていない場合は、ＳＴＥＰ７−２あるいはＳＴＥＰ７−３の判断でＳＬＤ制御状態が不安定であると判断されてから、さほど時間を経過していないので、ＳＬＤ制御状態が不安定なものとなりやすい。このため、ＳＴＥＰ７−７でｔm＞０である場合には、前記ＳＴＥＰ７−５の処理を行って前記フラグf/sld/stbの値を「０」に設定する。
【０３３２】
そして、ＳＴＥＰ７−７の判断でｔm≦０である場合、すなわち、タイマカウンタｔmがタイムアップしている場合には、ＳＬＤ制御状態が安定であるとして、フラグf/sld/stbの値を「１」に設定する（ＳＴＥＰ７−８）。
【０３３３】
以上のような処理によって、ＳＬＤ制御状態の安定性が判断され、不安定であると判断した場合には、フラグf/sld/stbの値が「０」に設定され、安定であると判断した場合には、フラグf/sld/stbの値が「１」に設定される。
【０３３４】
尚、以上説明したＳＬＤ制御状態の安定性の判断の手法は例示的なもので、この他の手法によって安定性の判断を行うようにすることも可能である。例えば制御サイクルよりも長い所定期間毎に、各所定期間内における前記安定判別パラメータＰstbの値が前記所定値εよりも大きくなる頻度を計数する。そして、その頻度があらかじめ定めた所定値を超えるような場合にＳＬＤ制御状態が不安定であると判断し、逆の場合に、ＳＬＤ制御状態が安定であると判断するようにしてもよい。
【０３３５】
図１２の説明に戻って、上記のようにＳＬＤ制御状態の安定性を示すフラグf/sld/stbの値を設定した後、排気側制御ユニット８は、フラグf/sld/stbの値を判断する（ＳＴＥＰ８）。このとき、f/sld/stb＝１である場合、すなわち、ＳＬＤ制御状態が安定であると判断された場合には、スライディングモード制御器２２が前記ＳＴＥＰ６で算出したＳＬＤ操作入力Ｕslのリミット処理を行う（ＳＴＥＰ９）。このリミット処理では、ＳＴＥＰ６で算出されたＳＬＤ操作入力Ｕslの今回値Ｕsl(k)が所定の許容範囲内にあるか否かが判断され、該今回値Ｕslがその許容範囲の上限値又は下限値を超えている場合には、それぞれ、ＳＬＤ操作入力Ｕslの今回値Ｕsl(k)が強制的に該上限値又は下限値に制限される。
【０３３６】
次いで、排気側制御ユニット８は、スライディングモード制御器２２によって、ＳＴＥＰ９のリミット処理を経たＳＬＤ操作入力Ｕslに前記空燃比基準値FLAF/BASEを加算することで、前記目標空燃比KCMDを算出し（ＳＴＥＰ１１）、今回の制御サイクルの処理を終了する。
【０３３７】
また、前記ＳＴＥＰ８の判断でf/sld/stb＝０である場合、すなわち、ＳＬＤ制御状態が不安定であると判断された場合には、排気側制御ユニット８は、今回の制御サイクルにおけるＳＬＤ操作入力Ｕslの値を強制的に所定値（例えばあらかじめ定めた固定値あるいはＳＬＤ操作入力Ｕslの前回値）に設定した後（ＳＴＥＰ１０）、前記式（２０）に従って前記目標空燃比KCMDを算出し（ＳＴＥＰ１１）、今回の制御サイクルの処理終了する。
【０３３８】
尚、ＳＴＥＰ１１で最終的に決定される目標空燃比KCMDは、制御サイクル毎に図示しないメモリに時系列的に記憶保持される。そして、前記機関側制御ユニット９がストイキ運転モードにおいて排気側制御ユニット８で決定された目標空燃比KCMDを実使用目標空燃比RKCMDとして用いるに際しては（図７のＳＴＥＰｄを参照）、上記のように時系列的に記憶保持された目標空燃比KCMDの中から最新のものが選択される。そして、ストイキ運転モードでは、この目標空燃比KCMDにＬＡＦセンサ４の出力KACT（触媒上流空燃比の検出値）を収束させるように機関側制御ユニット９がエンジン１の燃料噴射量を調整することによって、触媒上流空燃比が目標空燃比KCMDに制御される。すなわち、前記排気系Ｅの無駄時間ｄ後のＯ2センサ５の出力の推定値PRE/VO2（＝VO2バー＋VO2/TARGET）を目標値VO2/TARGETに収束させ、ひいては、Ｏ2センサ５の実際の出力VO2/OUTを目標値VO2/TARGETに収束させるように触媒上流空燃比が制御される。
【０３３９】
以上説明した実施形態によれば、エンジン１の運転モードがリーン運転モードからストイキ運転モードに移行すると、該ストイキ運転モードの運転中に前記目標空燃比生成処理手段１０の推定器２１が求める推定偏差出力VO2バーにより定まるＯ2センサ５の推定出力PRE/VO2に基づいて、排気系Ｅの無駄時間ｄ後に触媒装置３におけるＮＯxの還元が完了する状態であるか否かが前記還元状態把握手段１２によって逐次（排気側制御ユニット８の制御サイクル毎に）把握される（前記図１４のＳＴＥＰ５−３を参照）。このとき、本実施形態では、リーン運転モードからストイキ運転モードへの切換えの際に、前記還元要否判断フラグが「０」に設定され（図９のＳＴＥＰｋ−２を参照）、排気系Ｅの無駄時間ｄ後に触媒装置３におけるＮＯxの還元が完了する状態であることが把握されるまでは、前記還元要否判断フラグF/NOxRFが「０」に維持される。このため、上記の把握がなされるまでは、ストイキ運転モードからリーン運転モードへの切換えは禁止される。そして、上記の把握がなされた以後は、還元要否判断フラグF/NOxRFが「１」に設定されるため（図１４のＳＴＥＰ５−４を参照）、前記図８のＳＴＥＰｂ−２の条件が成立すれば、運転モードは、ストイキ運転モードからリーン運転モードに切り換る。つまり、触媒装置３におけるＮＯxの還元が実際に完了していない状態であっても、排気系Ｅの無駄時間ｄ後の未来に、触媒装置３におけるＮＯxの還元が完了すると予測された時点から、リーン運転モードの運転を行うことが可能となる。このため、リーン運転モードの運転を行う機会が多くなり、エンジン１の燃料消費量、ひいては、排ガス中に含まれる有害ガス成分の量を低減することができる。
【０３４０】
しかも、本実施形態では、ストイキ運転モードで、触媒上流空燃比を規定する目標空燃比KCMDは、スライディングモード制御器２２が実行する適応スライディングモードの制御の処理によって生成される。さらに、この目標空燃比KCMＤへの触媒上流空燃比の制御は、漸化式形式の制御手段である適応制御器３１を主体として行われる。このため、リーン運転モードからストイキ運転モードへの切換え直後に、Ｏ2センサ５の出力の推定値PRE/VO2、ひいては実際の出力VO2/OUTを速やかに目標値VO2/TARGETに収束させるように触媒上流空燃比が制御される。従って、触媒装置３におけるＮＯxの還元は円滑且つ迅速に進行し、ストイキ運転モードの運転の開始後、比較的短時間で、排気系Ｅの無駄時間ｄ後にＮＯxの還元が完了することが把握される。つまり、ストイキ運転モードの運転の開始後、触媒装置３におけるＮＯxの還元を完了するために、リーン運転モードの運転が禁止される期間が比較的短いものとなる。この結果、ストイキ運転モードからリーン運転モードへの切換えを可能とするタイミングを早めることができる。ひいては、リーン運転モードの運転を行う機会を多くすることができる。同時に、上記のように触媒上流空燃比が制御されることで、ストイキ運転モードの運転を継続的に行うべき状況下では、触媒装置３の最適な浄化性能を迅速に確保することができる。
【０３４１】
また、推定器２１が前記推定偏差出力VO2バーを求める処理のアルゴリズムは、前述のように前記排気系Ｅの応答遅れ及び無駄時間を考慮して前記式（１）により表現した排気系モデルに基づいて構築されている。しかも、該排気系モデルのパラメータである前記ゲイン係数a1，a2，b1は、同定器２０によって、排気系Ｅの実際の挙動状態に則してリアルタイムで同定される。そして、このゲイン係数a1，a2，b1と、排気系Ｅの入力量及び出力量のそれぞれの検出値としてのＬＡＦセンサ４の偏差出力kact及びＯ2センサ５の偏差出力VO2とを用いて前記推定偏差出力VO2が求められる。このため、該推定偏差出力VO2、ひいてはＯ2センサ４の前記推定出力PRE/VO2の高い信頼性（精度）を確保することができる。従って、該推定出力PRE/VO2に基づいて、無駄時間d後に触媒装置３におけるＮＯxの還元が完了することが把握されれば、その時点から実際に無駄時間ｄが経過した時にほぼ確実に、触媒装置３におけるＮＯxの還元が実際に完了することとなる。従って、上記の把握がなされた直後からリーン運転モードの運転を行っても、触媒装置３で支障なくＮＯxの吸収を行うことができる。また、触媒装置３でのＮＯxの還元が完了した状態から、最大限にＮＯxを吸収させることができるので、リーン運転モードの運転を行う期間を長くすることができる。
【０３４２】
さらに、本実施形態では、リーン運転モードの運転中に、触媒装置３におけるＮＯxの吸収が飽和した状態であるか否かを、前記ＮＯx吸収量データQ/NOxを所定の閾値NOLTと逐次比較することによって把握する。そして、その飽和状態が把握されると、前記還元要否判断フラグF/NOxRFを「０」に設定し（図１０のＳＴＥＰｍ−６を参照）、リーン運転モードの運転を禁止する（このとき、運転モードはリーン運転モードからストイキ運転モードに切り換る）。さらに、ＮＯxの飽和状態の把握に際して、前記ＮＯx吸収量データQ/NOxと比較する閾値NOLTは、前記触媒劣化評価手段１１によって把握される最新の劣化度合い（前記図１４のＳＴＥＰ５−６で得られる還元剤積算量データRNFの平均値RNFAV）に応じて、前記図１１に示したように設定される。このため、触媒装置３で、ＮＯxを吸収することができない状態でリーン運転モードの運転が継続的に行われるような事態を確実に回避することができる。
【０３４３】
また、前記触媒劣化評価手段１１による触媒装置３の劣化状態の評価に関しては、本実施形態では、リーン運転モードでの運転が、触媒装置３におけるＮＯxの吸収が飽和したことが前記吸収飽和状態把握手段１５によって把握されるまで行われた場合（前記吸収飽和運転判断フラグF/WOCFLOが「１」の場合）にのみ、該リーン運転モードの運転に続くストイキ運転モードの運転を開始してから、触媒装置３におけるＮＯxの還元が排気系Ｅの無駄時間ｄ後に完了することが前記還元状態把握手段１２によって把握されるまでの期間で前記還元剤量データ生成手段１６が求めた前記還元剤積算量データRNF（図１４のＳＴＥＰ５−６で得られる還元剤積算量データRNF）を触媒装置３の劣化度合いを表すものとして得る。そして、該還元剤積算量データRNFの平均値RNFAVに基づいて、触媒装置３の劣化状態を評価する。
【０３４４】
このとき、前記還元状態把握手段１２による上記の把握は、前述のように信頼性の高いＯ2センサ５の推定出力PRE/VO2に基づいて行われるので、前記ＳＴＥＰ５−６で得られる還元剤積算量データRNFは、触媒装置３で飽和状態まで最大限に吸収されたＮＯxの全量を還元するのに要した必要限の還元剤の量としての信頼性が高いものとなる。つまり、ＳＴＥＰ５−６で得られる還元剤積算量データRNFは、触媒装置３が現在の劣化状態で最大限に吸収可能なＮＯxの総量（前記吸収可能最大ＮＯx量）に相当するものとしての信頼性が高い。従って、該還元剤積算量データRNFの平均値RNFAVに基づいて触媒装置３の劣化状態を精度よく適正に評価することができる。
【０３４５】
尚、本発明は以上説明した実施形態に限られるものではなく、例えば次のような形態も可能である。
【０３４６】
すなわち、前記実施形態では、推定器２１は、推定偏差出力VO2バーを求めるために、触媒上流空燃比（排気系Ｅの入力量）の検出値としてのＬＡＦセンサ４の出力KACTを用いたが、ＬＡＦセンサ４の出力KACTは、目標空燃比KCMDに制御される。従って、ＬＡＦセンサ４の出力KACTの代わりに目標空燃比KCMDのデータを代用して、推定偏差出力VO2バーを求めるようにすることも可能である。
【０３４７】
さらに、前記実施形態では、推定器２１が推定偏差出力VO2を求めるために用いる排気系モデルのゲイン係数a1，a2，b1を同定器２０により同定したが、該ゲイン係数a1，a2，b1をエンジン１の回転数や吸気圧等からマップ等を用いて決定したり、あるいは、該ゲイン係数a1，a2，b1をあらかじめ定めた固定値として推定器２１の演算処理を行うようにすることも可能である。
【０３４８】
但し、推定偏差出力VO2の精度を高める上では、前記実施形態のようにＬＡＦセンサ４の出力KACTや、同定器２０による同定ゲイン係数a1ハット，a2ハット，b1ハットを用いて推定器２１の演算処理を行うことが好ましい。
【０３４９】
また、前記実施形態では、ＬＡＦセンサ４の偏差出力kact及びＯ2センサ５の偏差出力VO2を用いて排気系モデルを構築したが、ＬＡＦセンサ４の出力KACTや、Ｏ2センサ５の出力VO2/OUTをそのまま用いて排気系モデルを構築するようにしてもよい。さらに、排気系モデルは、前記式（１）よりも、より高次の自己回帰項を含めて表現するようにしてもよい。
【０３５０】
また、前記実施形態では、排気系モデルを離散時間系で構築したが、該排気系モデルを連続時間系で構築し、その連続時間系のモデルに基づいて、推定器２１等の演算処理を行うようにすることも可能である。
【０３５１】
また、前記実施形態では、ストイキ運転モードにおいて目標空燃比KCMDを求めるために、適応スライディングモード制御の処理を用いたが、適応則（適応アルゴリズム）を用いない通常のスライディングモード制御の処理により、目標空燃比KCMDを求めるようにしてもよい。この場合には、前記等価制御入力Ueqと、到達則入力Ｕrchとの総和を前記ＳＬＤ操作入力Ｕslとして求めるようにすればよい。
【０３５２】
さらには、スライディングモード制御以外のフィードバック制御手法によって、Ｏ2センサ５の出力の推定値PRE/VO2を目標値VO2/TARGETに収束させるように目標空燃比KCMDを求めるようにすることも可能である。
【０３５３】
また、前記実施形態では、ストイキ運転モード及びリーン運転モードの両運転モードにおいて、ＬＡＦセンサ４の出力KACT、すなわち、触媒上流空燃比の検出値を前記実使用目標空燃比RKCMDにフィードバック制御するようにしたが、実使用目標空燃比RKCMD等に応じて、フィードフォワード制御により触媒上流空燃比をリーン状態の空燃比や、前記目標空燃比KCMDに制御することも可能である。
【０３５４】
また、前記実施形態では、触媒装置３の下流の排ガスセンサとしてＯ2センサ５を用いたが、例えばＮＯxセンサを用いるようにすることも可能である。この場合であっても、触媒装置３を含む排気系の適当なモデルを構築しておくことで、該排気系が有する無駄時間後のＮＯxセンサの出力を推定することが可能である。そして、ストイキ運転モードにおいては、そのＮＯxセンサの出力の推定値が所要の目標値になるように触媒上流空燃比を制御するようにすれば、触媒装置３におけるＮＯxの還元を行うことが可能である。また、そのとき、ＮＯxセンサの出力の推定値に基づいて、排気系の無駄時間後に触媒装置３におけるＮＯxの還元が完了するか等、該ＮＯxの還元状態を把握することが可能である。
【図面の簡単な説明】
【図１】本発明の内燃機関の排ガスの空燃比制御装置の一実施形態の全体的システム構成を示すブロック図。
【図２】図１の装置で使用するＯ2センサ及び空燃比センサの出力特性図。
【図３】図１の装置に備えた排気側制御ユニットの要部の基本構成を示すブロック図。
【図４】図１の装置で用いるスライディングモード制御を説明するための説明図。
【図５】図１の装置に備えた機関側制御ユニットの要部の基本構成を示すブロック図。
【図６】図５に示す適応制御器の構成を示すブロック図。
【図７】図１の装置の機関側制御ユニットの処理を示すフローチャート。
【図８】図７のフローチャートのサブルーチン処理を示すフローチャート。
【図９】図７のフローチャートのサブルーチン処理を示すフローチャート。
【図１０】図７のフローチャートのサブルーチン処理を示すフローチャート。
【図１１】図１０のフローチャートの要部の処理を説明するための説明図。
【図１２】図１の装置の排気側制御ユニットの処理を示すフローチャート。
【図１３】図１２のフローチャートのサブルーチン処理を示すフローチャート。
【図１４】図１２のフローチャートのサブルーチン処理を示すフローチャート。
【図１５】図１４のフローチャートの要部の処理を説明するための説明図。
【図１６】図１４のフローチャートの要部の処理を説明するための説明図。
【図１７】図１２のフローチャートのサブルーチン処理を示すフローチャート。
【符号の説明】
１…エンジン（内燃機関）、２…排気管（排気通路）、３…触媒装置、４…ＬＡＦセンサ（空燃比センサ）、５…Ｏ2センサ（排ガスセンサ）、１１…触媒劣化評価手段、１２…還元状態把握手段、１４…ＮＯx量データ生成手段、１５…吸収飽和状態把握手段、１６…還元剤量データ生成手段、１７…制御処理手段、Ｅ…排気系。
【図１】
0004354068.tif 000033
【図２】
0004354068.tif 000034
【図３】
0004354068.tif 000035
【図４】
0004354068.tif 000036
【図５】
0004354068.tif 000037
【図６】
0004354068.tif 000038
【図７】
0004354068.tif 000039
【図８】
0004354068.tif 000040
【図９】
0004354068.tif 000041
【図１０】
0004354068.tif 000042
【図１１】
0004354068.tif 000043
【図１２】
0004354068.tif 000044
【図１３】
0004354068.tif 000045
【図１４】
0004354068.tif 000046
【図１５】
0004354068.tif 000047
【図１６】
0004354068.tif 000048
【図１７】
0004354068.tif 000049