(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記操作量を前記混合気の目標空燃比とすると共に、前記空燃比操作手段を、該目標空燃比に応じて前記混合気の空燃比をフィードフォワード的に該目標空燃比に操作する手段として、
前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなる該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなり、且つ、前記操作量を表すデータを前記対象系に与える入力量とすると共に前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量として、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と入力量とにより表す該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする内燃機関の空燃比制御装置。
【請求項３】
内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記操作量を前記混合気の目標空燃比とすると共に、前記空燃比操作手段を、該目標空燃比に応じて前記混合気の空燃比をフィードフォワード的に該目標空燃比に操作する手段として、
前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなり、且つ、前記操作量を表すデータを前記対象系に与える入力量とすると共に前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量として、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と入力量とにより表す該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする内燃機関の空燃比制御装置。
【請求項４】
内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素と該対象系が有する無駄時間に係わる要素とを含めて該対象系をあらかじめ離散時間系でモデル化してなる該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段と、
前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータを、前記同定手段が同定した前記モデルのパラメータと前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて該モデルに基づき構築されたアルゴリズムにより逐次生成する推定手段とを備え、
前記操作量生成手段は、前記同定手段が同定した前記モデルのパラメータと前記推定手段により生成された前記無駄時間後の排ガスセンサの出力の推定値を表すデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする内燃機関の空燃比制御装置。
【請求項５】
内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、
前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなる該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備えると共に、該同定手段による前記パラメータの同定処理を、前記モデル上での前記排ガスセンサの出力と該排ガスセンサの実際の出力との間の誤差を最小化するように前記モデルのパラメータを同定するアルゴリズムにより構成し、且つ、該同定手段による前記誤差の算出に際して、前記モデル上での前記排ガスセンサの出力と該排ガスセンサの実際の出力とに同一の周波数通過特性のフィルタリングを施す手段を備え、
前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする内燃機関の空燃比制御装置。
【請求項６】
前記同定手段が同定する前記モデルのパラメータは、前記応答遅れに係わる要素のゲイン係数を含むことを特徴とする請求項１記載の内燃機関の空燃比制御装置。
【請求項７】
前記入力量は、前記操作量と該操作量に対する所定の基準値との偏差であり、前記出力量は、前記排ガスセンサの出力と前記目標値との偏差であることを特徴とする請求項２又は３記載の内燃機関の空燃比制御装置。
【請求項８】
前記同定手段が同定する前記モデルのパラメータは、前記モデルを構成する前記過去の制御サイクルにおける前記出力量と入力量とにそれぞれ係るゲイン係数であることを特徴とする請求項２、３、７のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項９】
前記同定手段が同定する前記モデルのパラメータは、前記応答遅れに係わる要素のゲイン係数と前記無駄時間に係わる要素のゲイン係数とを含むことを特徴とする請求項４記載の内燃機関の空燃比制御装置。
【請求項１０】
前記モデルは、前記操作量を表すデータを前記対象系に与える入力量、前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量として、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と前記無駄時間以前の制御サイクルにおける前記入力量とにより表すモデルであることを特徴とする請求項４又は９記載の内燃機関の空燃比制御装置。
【請求項１１】
前記入力量は、前記操作量と該操作量に対する所定の基準値との偏差であり、前記出力量は、前記排ガスセンサの出力と前記目標値との偏差であり、前記推定手段が生成する前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータは、該推定値と前記目標値との偏差であることを特徴とする請求項１０記載の内燃機関の空燃比制御装置。
【請求項１２】
前記同定手段が同定する前記モデルのパラメータは、前記モデルを構成する前記過去の制御サイクルにおける前記出力量と前記無駄時間以前の制御サイクルにおける前記入力量とにそれぞれ係るゲイン係数であることを特徴とする請求項１０又は１１記載の内燃機関の空燃比制御装置。
【請求項１３】
前記操作量生成手段が行う前記フィードバック制御処理は、前記無駄時間後の前記排ガスセンサの出力の推定値を前記目標値に収束させるように前記操作量を生成する処理であることを特徴とする請求項４、９、１０、１１、１２のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項１４】
前記同定手段は、同定する前記パラメータの値を所定の条件を満たす値に制限する手段を具備することを特徴とする請求項１〜１３のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項１５】
前記推定手段は、前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータと前記同定手段が同定した前記パラメータの値により定まる複数の係数値とから所定の演算により前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータを生成する手段であり、前記同定手段は、同定する前記パラメータの値を所定の条件を満たす値に制限する手段を具備し、該所定の条件は、該パラメータの値により定まる前記複数の係数値の組み合わせが所定の組み合わせとなるように設定されていることを特徴とする請求項４、９、１０、１１、１２、１３のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項１６】
前記同定手段が同定する前記パラメータは複数であり、前記所定の条件は、該複数のパラメータのうちの少なくとも二つのパラメータの値の組み合わせを所定の組み合わせに制限する条件を含むことを特徴とする請求項１４又は１５記載の内燃機関の空燃比制御装置。
【請求項１７】
前記所定の条件は、前記同定手段が同定する少なくとも一つの前記パラメータについて該パラメータの値の上限及び下限を制限する条件を含むことを特徴とする請求項１４〜１６のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項１８】
前記同定手段による前記パラメータの同定処理は、所定の制御サイクル毎に、過去の制御サイクルにおいて求めた前記パラメータの値を用いて該パラメータの値を更新しつつ同定するアルゴリズムにより構成され、該アルゴリズムにおいて用いる前記パラメータの過去値は、前記所定の条件を満たす値に制限してなる値であることを特徴とする請求項１４〜１７のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項１９】
前記モデルの応答遅れに係わる要素は、前記排ガスセンサの出力に係わる１次目の自己回帰項と２次目の自己回帰項とを含むと共に、前記同定手段が同定する前記パラメータは、前記１次目の自己回帰項及び２次目の自己回帰項にそれぞれ係る第１及び第２ゲイン係数を含み、前記所定の条件は、前記第１ゲイン係数の値と第２ゲイン係数の値とを二つの座標成分として定まる座標平面上の点が、該座標平面上に定めた所定の領域内に存することとして設定されていることを特徴とする請求項１４〜１８のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項２０】
前記所定の領域の境界は、直線状に形成されていることを特徴とする請求項１９記載の内燃機関の空燃比制御装置。
【請求項２１】
前記所定の領域の境界の少なくとも一部は、前記第１ゲイン係数と第２ゲイン係数とを変数として表した所定の関数式により設定されていることを特徴とする請求項１９又は２０記載の内燃機関の空燃比制御装置。
【請求項２２】
前記同定手段は、前記操作量のデータ及び前記排ガスセンサの出力のデータに基づき同定した前記第１ゲイン係数及び第２ゲイン係数の値により定まる前記座標平面上の点が前記所定の領域から逸脱しているとき、該第１ゲイン係数の値の変化が最小となるように該第１ゲイン係数及び第２ゲイン係数の値を前記所定の領域内の点の値に変化させることにより、該第１ゲイン係数及び第２ゲイン係数の値を制限することを特徴とする請求項１９〜２１のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項２３】
前記操作量生成手段が行う前記フィードバック制御処理は、スライディングモード制御の処理であることを特徴とする請求項１〜２２のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項２４】
前記スライディングモード制御は適応スライディングモード制御であることを特徴とする請求項２３記載の内燃機関の空燃比制御装置。
【請求項２５】
前記スライディングモード制御の処理は、前記排ガスセンサの出力と前記目標値との偏差の複数の時系列データを成分として構成した線形関数を該スライディングモード制御用の切換関数として用いることを特徴とする請求項２３又は２４記載の内燃機関の空燃比制御装置。
【請求項２６】
前記スライディングモード制御の処理に基づく前記排ガスセンサの出力の前記目標値への収束制御の安定性を判断する手段を備え、前記操作量生成手段は、当該収束制御が不安定であると判断されたとき、前記空燃比操作手段に与える前記操作量を所定値又は所定範囲内の値に制限することを特徴とする請求項２３〜２５のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項２７】
前記収束制御の安定性を判断する手段は、前記スライディングモード制御用の切換関数の値に基づき該安定性の判断を行うことを特徴とする請求項２６記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関する。
【０００２】
【従来の技術】
従来、本願出願人は、内燃機関の排気通路に設けた三元触媒等からなる触媒装置を通過した排ガス中の特定成分の濃度を検出する排ガスセンサ、例えば酸素濃度を検出するＯ2 センサを触媒装置の下流側に配置し、そのＯ2 センサの出力（酸素濃度の検出値）を所定の目標値に収束させるように内燃機関の空燃比（より正確には内燃機関で燃焼させる混合気の空燃比。以下、同様）を操作することで、触媒装置の経時劣化等によらずに該触媒装置の所要の浄化性能を確保する技術を提案している（例えば、特願平１０−１０６７３８号、特願平９−２５１１４０号等）。
【０００３】
この技術では、Ｏ2 センサの出力をその目標値に収束させるように内燃機関の空燃比を操作するための操作量（具体的には目標空燃比あるいはそれを規定するもの）をフィードバック制御処理により所定の制御サイクルで逐次生成する。また、触媒装置に進入する排ガスの空燃比、詳しくは内燃機関で燃焼した混合気の空燃比を検出する排ガスセンサ（以下、ここでは空燃比センサという）を触媒装置の上流側に配置する。そして、この空燃比センサの出力（空燃比の検出値）を、上記操作量により定まる目標空燃比に収束させるようにフィードバック制御により内燃機関の燃料供給量を調整することで内燃機関の空燃比を目標空燃比に操作するようにしている。
【０００４】
このような内燃機関の空燃比制御によって、触媒装置の下流側のＯ2 センサの出力を目標値に収束させ、ひいては触媒装置の所要の浄化性能を確保することが可能となる。
【０００５】
尚、上記の技術では、触媒装置の下流側の排ガスセンサとしてＯ2 センサを用いているが、制御したい排ガス中の成分によっては、ＮＯx センサ、ＣＯセンサ、ＨＣセンサ等、他の排ガスセンサを用い、その排ガスセンサの出力を適当な目標値に収束させるように内燃機関の空燃比を操作することで、触媒装置の所要の浄化性能を確保するようにすることも可能である。
【０００６】
ところで、前記の技術では、Ｏ2 センサの出力の目標値への収束制御の安定性や信頼性を高めるために、外乱等に対する高い安定性を有するフィードバック制御の一手法であるスライディングモード制御（詳しくは適応スライディングモード制御）の処理によって、Ｏ2 センサの出力を目標値に収束させるように前記操作量を生成するようにしている。
【０００７】
このスライディングモード制御は制御対象のモデルを必要とする。そして、前記の技術では、操作量により定まる目標空燃比に空燃比センサの出力をフィードバック制御することを前提としているため、スライディングモード制御の制御対象を、空燃比センサからＯ2 センサにかけての触媒装置を含む排気系とし、該排気系を離散時間系でモデル化している。さらに、そのモデル化した排気系の挙動変化の影響を補償するために、そのモデルの設定すべきパラメータを空燃比センサの出力のデータ及びＯ2 センサの出力のデータを用いて逐次リアルタイムで同定する同定器を具備する。そして、スライディングモード制御の処理により前記操作量を生成する処理にあっては、Ｏ2 センサの出力のデータと同定器により同定したモデルのパラメータとを用いて該モデルに基づき構築したアルゴリズムによって前記操作量を逐次生成するようにしている。
【０００８】
しかるに、かかる技術では、操作量により定まる目標空燃比に空燃比センサの出力をフィードバック制御して内燃機関の空燃比を操作することを前提としているため、例えば空燃比センサが何らかの原因で故障した場合には、内燃機関の空燃比を適正に目標空燃比に操作することができない。そして、このような場合には、触媒装置の下流側のＯ2 センサの出力を目標値に制御することができなくなって、触媒装置の所要の浄化性能を確保することができないものとなるという不都合がある。
【０００９】
これに対する対策としては、例えば、スライディングモード制御の処理により生成した前記操作量により定まる目標空燃比に応じてマップ等を用いてフィードフォワード的に内燃機関の燃料供給量を調整することで、空燃比センサの出力を用いることなく内燃機関の空燃比を操作するようにすることが考えられる。また、このとき、前記モデルのパラメータを同定するために、空燃比センサの出力のデータの代わりに、前記操作量により定まる目標空燃比のデータを用いることが考えられる。
【００１０】
ところが、前記の技術では、前記操作量を生成するための基礎としているモデルは、空燃比センサからＯ2 センサにかけての触媒装置を含む排気系のモデルであるため、そのモデルには、内燃機関の挙動特性やその変化が考慮されていない。このため、そのモデルに基づいて構築したスライディングモード制御の処理により空燃比の操作量を生成しても該操作量を内燃機関の挙動状態に適したものとすることが困難である。そして、このような操作量に応じて内燃機関の空燃比をフィードフォワード的に操作するようにしても、内燃機関の種々様々の挙動状態において、内燃機関の空燃比をＯ2 センサの出力を目標値に収束させる上で要求される適正な空燃比に操作することは困難である。この結果、Ｏ2 センサの出力の目標値への収束制御を安定して適正に行うことができず、ひいては、触媒装置の所要の浄化性能を確保することが困難となる虞れがあった。
【００１１】
また、前記の従来の技術では、Ｏ2 センサの出力の目標値への収束制御のために空燃比センサを必要としていたため、コスト的に不利なものとなりやすいという不都合もあった。
【００１２】
【発明が解決しようとする課題】
本発明はかかる背景に鑑みてなされたものであり、触媒装置の下流側に配置したＯ2 センサ等の排ガスセンサの出力を所定の目標値に収束させるように内燃機関の空燃比を操作する制御を、空燃比センサ等の他の排ガスセンサを使用することなく、簡略なシステム構成で安定して適正に行うことができる内燃機関の空燃比制御装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明の内燃機関の空燃比制御装置はかかる目的を達成するために、内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、前記操作量を前記混合気の目標空燃比とすると共に、前記空燃比操作手段を、該目標空燃比に応じて前記混合気の空燃比をフィードフォワード的に該目標空燃比に操作する手段として、前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなる該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする（請求項１記載の発明）。
また、本発明の内燃機関の空燃比制御装置は、内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなり、且つ、前記操作量を表すデータを前記対象系に与える入力量とすると共に前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量として、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と入力量とにより表す該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする（請求項２記載の発明）。
また、本発明の内燃機関の空燃比制御装置は、内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、前記操作量を前記混合気の目標空燃比とすると共に、前記空燃比操作手段を、該目標空燃比に応じて前記混合気の空燃比をフィードフォワード的に該目標空燃比に操作する手段として、前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなり、且つ、前記操作量を表すデータを前記対象系に与える入力量とすると共に前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量として、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と入力量とにより表す該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする（請求項３記載の発明）。
また、本発明の内燃機関の空燃比制御装置は、内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素と該対象系が有する無駄時間に係わる要素とを含めて該対象系をあらかじめ離散時間系でモデル化してなる該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段と、前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータを、前記同定手段が同定した前記モデルのパラメータと前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて該モデルに基づき構築されたアルゴリズムにより逐次生成する推定手段とを備え、前記操作量生成手段は、前記同定手段が同定した前記モデルのパラメータと前記推定手段により生成された前記無駄時間後の排ガスセンサの出力の推定値を表すデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする（請求項４記載の発明）。
また、本発明の内燃機関の空燃比制御装置は、内燃機関の排気通路に設けた触媒装置の下流側に該触媒装置を通過した排ガス中の特定成分の濃度を検出すべく配置した排ガスセンサと、該排ガスセンサの出力を所定の目標値に収束させるように前記内燃機関で燃焼させる混合気の空燃比を操作するための操作量を逐次生成する操作量生成手段と、該操作量生成手段が生成した操作量に基づいて前記混合気の空燃比を操作する空燃比操作手段とを備えた内燃機関の空燃比制御装置において、前記操作量から前記空燃比操作手段、内燃機関及び触媒装置を介して前記排ガスセンサの出力を生成する系を対象系として少なくとも該対象系が有する応答遅れに係わる要素を含めて該対象系をあらかじめ離散時間系でモデル化してなる該対象系のモデルに対し、そのモデルの設定すべきパラメータを前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて逐次同定する同定手段を備えると共に、該同定手段による前記パラメータの同定処理を、前記モデル上での前記排ガスセンサの出力と該排ガスセンサの実際の出力との間の誤差を最小化するように前記モデルのパラメータを同定するアルゴリズムにより構成し、且つ、該同定手段による前記誤差の算出に際して、前記モデル上での前記排ガスセンサの出力と該排ガスセンサの実際の出力とに同一の周波数通過特性のフィルタリングを施す手段を備え、前記操作量生成手段は、該同定手段が同定した前記モデルのパラメータと前記排ガスセンサの出力のデータとを用いて前記モデルに基づき構築されたフィードバック制御処理により前記操作量を生成することを特徴とする（請求項５記載の発明）。
【００１４】
かかる本発明の内燃機関の空燃比制御装置によれば、前記モデルは、前記触媒装置や排ガスセンサはもちろん、前記内燃機関及び空燃比操作手段も含めた前記対象系の全体の挙動を表現し得るものとなる。そして、このモデルの設定すべきパラメータ（より詳しくは、モデルの挙動を規定する上である値に設定すべきパラメータ）を、該対象系に与える入力量に相当する前記操作量のデータと、該対象系が生成する出力量に相当する前記排ガスセンサの出力のデータとを用いて前記同定手段によって逐次、リアルタイムで同定することで、そのパラメータを用いたモデルは、対象系が含む内燃機関や触媒装置等の挙動状態の変化によらずに、該対象系の種々の動作状態において、該対象系の実際の挙動を的確に表現するものとなる。
【００１５】
このため、このモデルに基づき構築されたフィードバック制御処理によって、前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて前記操作量を生成することで、該操作量は、内燃機関や触媒装置を含む前記対象系の全体の挙動状態を的確に反映したものとなる。換言すれば、該操作量は、前記排ガスセンサの出力を前記目標値に収束させる上で、内燃機関や触媒装置等を含む前記対象系の挙動状態に適したものとなる。この結果、該操作量に基づいて内燃機関で燃焼させる混合気の空燃比を操作するとき、その操作を前記操作量に応じてフィードフォワード的に行っても、排ガスセンサの出力の目標値への収束制御を安定して精度よく行うことが可能となる。また、前記モデルは離散時間系で表現しているため、そのパラメータの同定処理や、該モデルに基づく前記フィードバック制御処理をコンピュータ処理に適した離散時間的なアルゴリズムによって構築することが可能となる。
【００１６】
よって本発明によれば、触媒装置の下流側の排ガスセンサの出力を所定の目標値に収束させるように内燃機関の空燃比を操作する制御を、空燃比センサ等の他の排ガスセンサを使用することなく、簡略なシステム構成で安定して適正に行うことが可能となる。そして、排ガスセンサの出力を安定して目標値に制御し得ることで、触媒装置の所要の浄化性能を安定して確保することが可能となる。
【００１７】
前記請求項１又は３記載の発明の内燃機関の空燃比制御装置では、前記操作量は前記混合気の目標空燃比であり、前記空燃比操作手段は該目標空燃比に応じて前記混合気の空燃比をフィードフォワード的に該目標空燃比に操作する。
【００１８】
このように前記操作量を目標空燃比としたとき、該目標空燃比は、内燃機関や空燃比操作手段、触媒装置、排ガスセンサを含む前記対象系の全体の挙動状態を考慮した形態で生成されるので、該目標空燃比に応じてフィードフォワード的に内燃機関で燃焼させる混合気の空燃比を操作することで、該混合気の空燃比を、対象系の挙動状態によらずに、排ガスセンサの出力を目標値に収束させる上で適した空燃比に操作することができる。そして、目標空燃比に応じてフィードフォワード的に内燃機関で燃焼させる混合気の空燃比を操作することで、この操作を行う空燃比操作手段の処理を簡略なものとすることができる。
【００１９】
尚、上記のように目標空燃比に応じてフィードフォワード的に内燃機関で燃焼させる混合気の空燃比を操作するには、例えば目標空燃比から、あらかじめ定めたデータテーブルやマップ等を用いて内燃機関の燃料供給量の補正量を決定し、その決定した補正量によって燃料供給量を補正するようにすればよい。
【００２０】
また、燃料供給量の補正量を前記操作量として生成するようにすることも可能である。
【００２１】
前記請求項１記載の発明では、前記同定手段が同定する前記モデルのパラメータは、該モデルの応答遅れに係わる要素のゲイン係数を含むことが好ましい（請求項６記載の発明）。このように前記応答遅れに係わる要素のゲイン係数を前記パラメータとして前記同定手段により同定することで、そのパラメータを用いて前記操作量生成手段が生成する前記操作量に、応答遅れを有する前記対象系の挙動状態を的確に反映させることができる。
【００２２】
また、前記請求項２記載の発明では、前記モデルは、前記操作量を表すデータを前記対象系に与える入力量、前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量とし、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と入力量とにより表すモデルである。このように構築したモデルは、所謂自己回帰モデルであり、このモデルによって、応答遅れを有する前記対象系の挙動を的確に表現することができる。この場合、前記過去の制御サイクルにおける前記出力量（これは所謂自己回帰項である）が前記対象系の応答遅れに係わる要素となり、この出力量に係る係数が該応答遅れの要素に係わるゲイン係数となる。
【００２３】
また、前記請求項２又は３記載の発明のように対象系のモデルを構築した場合、前記入力量は、前記操作量と該操作量に対する所定の基準値との偏差であり、前記出力量は、前記排ガスセンサの出力と前記目標値との偏差であることが好ましい（請求項７記載の発明）。このようにすることで、前記同定手段による前記パラメータの同定処理のアルゴリズムや前記操作量生成手段による前記フィードバック制御処理のアルゴリズムの構築が容易なものとなる。
【００２４】
尚、上記のように対象系のモデルを構築した場合、前記同定手段が同定する前記モデルのパラメータは、前記モデルを構成する前記過去の制御サイクルにおける前記出力量と入力量とにそれぞれ係るゲイン係数であることが、該モデルの挙動と実際の対象系との挙動の整合性を高める（モデル化誤差を小さくする）上で最適である（請求項８記載の発明）。
【００２５】
また、内燃機関の空燃比制御装置では、特に、前記対象系に含まれる前記触媒装置は比較的長い無駄時間を有する場合が多い。さらに内燃機関の回転数が比較的低い状態（例えば内燃機関のアイドリング状態）では、該内燃機関が有する無駄時間も比較的長いものとなる。そして、このような無駄時間は排ガスセンサの出力を確実に目標値に収束制御する上で妨げとなることがある。
【００２７】
この場合、前記請求項４記載の発明では、前記対象系を、その応答遅れに係わる要素と前記無駄時間に係わる要素とを含むモデルで表現することで、前記同定手段が同定した前記モデルのパラメータと前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータとを用いて該モデルに基づき構築されたアルゴリズムによって、前記無駄時間後の排ガスセンサの出力の推定値を表すデータを逐次推定することができる。しかも、このとき、前記モデルの同定したパラメータを用いることで、実際の対象系の挙動に則して前記推定値を表すデータを生成することができる。そして、前記操作量生成手段が実行する前記フィードバック制御処理に用いる排ガスセンサの出力のデータとして、その推定値を表すデータを用いることで、対象系が有する無駄時間の影響を補償して、前記操作量を生成することができる。この結果、前記排ガスセンサの出力の目標値への収束制御を、対象系が有する無駄時間の影響を補償しつつ安定して精度よく行うことができる。
【００２８】
このように前記無駄時間後の排ガスセンサの出力の推定値を表すデータを生成する本発明にあっては、前記同定手段が同定する前記モデルのパラメータは、前記応答遅れに係わる要素のゲイン係数と前記無駄時間に係わる要素のゲイン係数とを含むことが好ましい（請求項９記載の発明）。このようにすることで、前記操作量生成手段が生成する前記操作量に、応答遅れと無駄時間とを有する前記対象系の挙動状態を的確に反映させることができる。
【００２９】
また、この場合、前記モデルは、例えば前記操作量を表すデータを前記対象系に与える入力量、前記排ガスセンサの出力を表すデータを前記対象系が生成する出力量として、所定の制御サイクル毎の前記出力量をその制御サイクルよりも過去の制御サイクルにおける前記出力量と前記無駄時間以前の制御サイクルにおける前記入力量とにより表すモデルである（請求項１０記載の発明）。
【００３０】
このように構築したモデルは、その入力量に無駄時間を有する自己回帰モデルであり、このモデルによって、応答遅れと無駄時間とを有する前記対象系の挙動を的確に表現することができる。この場合、前記過去の制御サイクルにおける前記出力量（所謂自己回帰項）が前記対象系の応答遅れに係わる要素となり、この出力量に係る係数が該応答遅れの要素に係わるゲイン係数となる。さらに、前記無駄時間以前の制御サイクルにおける前記入力量が前記対象系の無駄時間に係わる要素となり、この入力量に係る係数が該無駄時間の要素に係わるゲイン係数となる。
【００３１】
また、上記のように対象系のモデルを構築した場合、前記入力量は、前記操作量と該操作量に対する所定の基準値との偏差であり、前記出力量は、前記排ガスセンサの出力と前記目標値との偏差であり、前記推定手段が生成する前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータは、該推定値と前記目標値との偏差であることが好ましい（請求項１１記載の発明）。このようにすることで、前記同定手段による前記パラメータの同定処理のアルゴリズムや前記推定手段のアルゴリズム、前記操作量生成手段による前記フィードバック制御処理のアルゴリズムの構築が容易なものとなる。
【００３２】
尚、上記のように対象系のモデルを構築した場合、前記同定手段が同定する前記モデルのパラメータは、前記モデルを構成する前記過去の制御サイクルにおける前記出力量と前記無駄時間以前の制御サイクルにおける前記入力量とにそれぞれ係るゲイン係数であることが、該モデルの挙動と実際の対象系との挙動の整合性を高める（モデル化誤差を小さくする）上で最適である（請求項１２記載の発明）。
【００３３】
また、前記無駄時間後の排ガスセンサの出力の推定値を表すデータを用いた前記操作量の生成に関しては、前記操作量生成手段が行う前記フィードバック制御処理は、より具体的には、前記無駄時間後の前記排ガスセンサの出力の推定値を前記目標値に収束させるように前記操作量を生成する処理である（請求項１３記載の発明）。このような処理によって、前記無駄時間の影響を適正に補償して、前記排ガスセンサの出力の目標値への収束制御を安定して行うことができる。
また、前記請求項５記載の発明では、前記同定手段による前記パラメータの同定処理は、前記モデル上での前記排ガスセンサの出力と、該排ガスセンサの実際の出力との間の誤差を最小化するように前記モデルのパラメータを同定するアルゴリズムにより構成され、該同定手段による前記誤差の算出に際して、前記モデル上での前記排ガスセンサの出力と該排ガスセンサの実際の出力とに同一の周波数通過特性のフィルタリングを施す手段を備える。
これによれば、前記対象系と前記モデルとでそれらの周波数特性（より詳しくは、前記操作量（これは前記モデルの入力量に相当する）の変化に対する前記排ガスセンサの出力（これは前記モデルの出力量に相当する）の変化の周波数特性）を互いに整合させるように前記パラメータを同定することが可能となる。この結果、同定されたパラメータの値の信頼性が高まり、このパラメータを用いて前記操作量を生成することで、排ガスセンサの出力を目標値に収束させる上で的確なものとすることができる。
尚、上記フィルタリングは、結果的に、モデル上での排ガスセンサの出力（操作量のデータからモデル上で演算により求まる排ガスセンサの出力）と該排ガスセンサの実際の出力とに施されていればよく、前記誤差にフィルタリングを施すようにしたり、あるいは、モデル上での排ガスセンサの出力と排ガスセンサの実際の出力とにそれぞれ各別に前記フィルタリングを施した上で、前記誤差を求めるようにしてもよい。
【００３４】
前述した本発明の内燃機関の空燃比制御装置にあっては、前記同定手段により同定される前記パラメータの値が不適切なものとなると、そのパラメータを用いて前記操作量生成手段が生成する操作量が排ガスセンサの出力を前記目標値に収束制御する上で不適正なものとなる場合がある。
【００３５】
また、本願発明者等の知見によれば、前記操作量が排ガスセンサの出力を目標値に収束制御する上で適正なものであっても、該操作量に基づき操作される混合気の空燃比の頻繁な変動（高周波振動的な変動）を生じやすい操作量が生成される場合もある。このような場合には、排ガスセンサの出力を目標値に収束させ、ひいては触媒装置の所要の浄化性能を確保する上では支障がないものの、内燃機関で燃焼させる混合気の頻繁な変動を生じることで、該内燃機関の運転が不安定なものとなる虞れがある。
【００３６】
さらに、本願発明者等の知見によれば、特に、前記推定手段を具備した場合において、該推定手段が、前記操作量生成手段により生成された操作量のデータと排ガスセンサの出力のデータと前記同定手段により同定された前記パラメータの値により定まる複数の係数値とから所定の演算により前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータを生成する場合にあっては、前記操作量、ひいてはこれに基づき操作される混合気の空燃比が頻繁な変動を生じるか否かは、前記複数の係数値の組み合わせの影響を受けやすい。
【００３７】
そこで、本発明では、前記同定手段は、同定する前記パラメータの値を所定の条件を満たす値に制限する手段を具備する（請求項１４記載の発明）。
【００３８】
特に、前記推定手段を具備した場合において、前記推定手段が、前記操作量生成手段が生成した操作量のデータと前記排ガスセンサの出力のデータと前記同定手段が同定した前記パラメータの値により定まる複数の係数値とから所定の演算により前記無駄時間後の前記排ガスセンサの出力の推定値を表すデータを生成する手段である場合にあっては、前記同定手段は、同定する前記パラメータの値を所定の条件を満たす値に制限する手段を具備し、該所定の条件を、該パラメータの値により定まる前記複数の係数値の組み合わせが所定の組み合わせとなるように設定する（請求項１５記載の発明）。
【００３９】
このように同定手段により同定する前記パラメータの値を所定の条件を満たすように制限することで、該パラメータを用いて前記操作量生成手段が生成する前記操作量が、排ガスセンサの出力を目標値に収束させる上で不適切なものとなったり、あるいは、該操作量、ひいては内燃機関で燃焼させる混合気の空燃比が頻繁な変動を生じるものとなるような事態を回避することが可能となる。
【００４０】
尚、前記所定の条件は、実験やシミュレーションを通じて定めておけばよい。
【００４１】
このように前記パラメータの値を制限する場合において、前記同定手段が同定する前記パラメータが複数であるときには、個々のパラメータ毎に各別に該パラメータの値を制限するための所定の条件（例えば各パラメータの値の範囲）を設定するようにしてもよいが、好ましくは、前記所定の条件は、該複数のパラメータのうちの少なくとも二つのパラメータの値の組み合わせを所定の組み合わせに制限する条件を含む（請求項１６記載の発明）。
【００４２】
このようにすることで、個々のパラメータの値を過剰に制限することなく、前記排ガスセンサの出力を目標値に収束させ、また前記操作量、ひいては前記混合気の空燃比の安定性を確保する（該操作量や空燃比の時間的変化の形態を平滑的なものとする）上で、最適なパラメータの値を同定することが可能となる。
【００４３】
さらに、上記のようにパラメータの値を制限する本発明では、前記所定の条件は、前記同定手段が同定する少なくとも一つの前記パラメータについて該パラメータの値の上限及び下限を制限する条件を含む（請求項１７記載の発明）。
【００４４】
すなわち、一般に、同定した前記パラメータの値が大き過ぎたり、小さ過ぎるような状況では、該パラメータの信頼性が低く、このようなパラメータを用いて前記操作量を生成し、前記混合気の空燃比を操作しても、前記排ガスセンサの出力を目標値に的確に制御することができない場合が多い。従って、前記所定の条件として、少なくとも一つの前記パラメータの値の上限及び下限を制限する条件を含ませることで、該パラメータの値が過大もしくは過小となって、排ガスセンサの出力の目標値への制御性が低下するような事態を回避することができる。
【００４５】
また、前記同定手段による前記パラメータの同定処理が、所定の制御サイクル毎に、過去の制御サイクルにおいて求めた前記パラメータの値を用いて該パラメータの値を更新しつつ同定するアルゴリズムにより構成されている場合にあっては、該アルゴリズムにおいて用いる前記パラメータの過去値は、前記所定の条件を満たす値に制限してなる値であることが好ましい（請求項１８記載の発明）。
【００４６】
このように前記所定の条件を満たす値に制限したパラメータの過去値を用いて該パラメータの値を更新・同定することで、前記所定の条件を満たすパラメータの値が同定されやすくなる。
【００４７】
前述のように前記パラメータの値を制限する本発明では、より具体的には、例えば前記モデルの応答遅れに係わる要素が、前記排ガスセンサの出力に係わる１次目の自己回帰項と２次目の自己回帰項とを含むと共に、前記同定手段が同定する前記パラメータが、前記１次目の自己回帰項及び２次目の自己回帰項にそれぞれ係る第１及び第２ゲイン係数を含む場合にあっては、前記所定の条件は、前記第１ゲイン係数の値と第２ゲイン係数の値とを二つの座標成分として定まる座標平面上の点が、該座標平面上に定めた所定の領域内に存することとして設定する（請求項１９記載の発明）。
【００４８】
このように前記パラメータである第１及び第２ゲイン係数の値を制限するための前記所定の条件を座標平面上の所定の領域により設定することで、第１及び第２ゲイン係数の値の組む合わせを適切な組み合わせに制限することができる。
【００４９】
尚、前記請求項４あるいは９記載の発明のように対象系のモデルが、所定の制御サイクル毎の対象系の出力量を、過去の制御サイクルにおける出力量等を用いて表したものであるとき、前記１次目の自己回帰項は、１制御サイクル前における出力量の項であり、前記２次目の自己回帰項は、２制御サイクル前における出力量の項である。
【００５０】
上記のように前記所定の条件を座標平面上の所定の領域により設定するとき、該所定の領域の境界は、どのような形状であってもよいが、好ましくは直線状に形成する（請求項２０記載の発明）。
【００５１】
このようにすることで、前記所定の領域の境界を簡単な関数式（座標軸と平行になるような定値関数を含む）で表現することが可能なり、前記第１及び第２ゲイン係数の値が前記所定の条件を満たすか否か（第１及び第２ゲイン係数の値を座標成分とする座標平面上の点が前記所定の領域内に存するか否かの判断や、それらの値を前記所定の条件を満たす値に制限するための処理が容易となる。
【００５２】
さらに、前記所定の領域の境界の少なくとも一部は、前記第１ゲイン係数と第２ゲイン係数とを変数として表した所定の関数式により設定する（請求項２１記載の発明）。
【００５３】
これによれば、前記所定の領域により規定される前記所定の条件が、前記第１及び第２ゲイン係数の値を相互に相関付けた組み合わせにより設定することが可能となり、前記排ガスセンサの出力を目標値に制御し、また、前記操作量生成手段により安定的な操作量（平滑的な変化を生じる操作量）を生成する上で、最適な前記所定の条件を設定することが可能となる。
【００５４】
また、上記のように前記第１及び第２ゲイン係数の値を制限するための前記所定の領域を設定した場合において、前記同定手段は、前記操作量のデータ及び前記排ガスセンサの出力のデータに基づき同定した前記第１ゲイン係数及び第２ゲイン係数の値により定まる前記座標平面上の点が前記所定の領域から逸脱しているとき、該第１ゲイン係数の値の変化が最小となるように該第１ゲイン係数及び第２ゲイン係数の値を前記所定の領域内の点の値に変化させることにより、該第１ゲイン係数及び第２ゲイン係数の値を制限する（請求項２２記載の発明）。
【００５５】
すなわち、前記モデルの１次目の自己回帰項に係る第１ゲイン係数と２次目の自己回帰項に係る第２ゲイン係数とでは、前者の値の方が、後者の値よりも前記操作量生成手段により生成される前記操作量の信頼性を確保する上で重要である。これは、低次側の自己回帰項（より新しい自己回帰項）の方が、対象系の現在の出力（排ガスセンサの出力）に対する相関が高く、信頼性が高いためである。従って、同定した第１及び第２ゲイン係数の値により定まる前記座標平面上の点が前記所定の領域から逸脱しているとき、第１及び第２ゲイン係数の値を該所定の領域内の点の値に制限するために、第１ゲイン係数の値をあまり大きく変化させると、前記操作量に対する排ガスセンサの出力の制御性が悪化する虞れがある。そこで、本発明では、第１及び第２ゲイン係数の値を制限するに際しては、第１ゲイン係数の値の変化が最小となるように該第１ゲイン係数及び第２ゲイン係数の値を前記所定の領域内の点の値に変化させる。これにより、第１及び第２ゲイン係数の値の制限によって、前記操作量に対する排ガスセンサの出力の制御性が悪化してしまうような事態を回避することができる。
【００５９】
また、以上説明した本発明にあっては、前記操作量生成手段が行う前記フィードバック制御処理は、スライディングモード制御の処理であることが好ましい（請求項２３記載の発明）。そして、この場合、特に該スライディングモード制御は適応スライディングモード制御であることが好ましい（請求項２４記載の発明）。
【００６０】
すなわち、制御対象のモデルを用いるフィードバック制御の一手法であるスライディングモード制御は、一般に外乱やモデル化誤差等に対する安定性が高いという特性を有している。従って、このようなスライディングモード制御の処理によって前記操作量を生成することで、該操作量の信頼性を高め、排ガスセンサの出力の目標値への収束制御を高い安定性で行うことができる。
【００６１】
特に、適応スライディングモード制御は、外乱やモデル化誤差の影響を極力排除するために、通常のスライディングモード制御に対して所謂、適応則（適応アルゴリズム）といわれる制御則を加味したものである。このため、排ガスセンサの出力の目標値への収束制御の安定性をより高めることができる。さらに詳しくいえば、スライディングモード制御では、制御量（本発明では排ガスセンサの出力）とその目標値との偏差等を用いて構成される切換関数と言われる関数が用いられ、この切換関数の値を安定に「０」に収束させることが、重要な処理となる。この場合、通常のスライディングモード制御では、切換関数の値を「０」に収束させるために所謂、到達則という制御則が用いられるが、外乱等の影響によって、この到達則だけでは、切換関数の値の「０」への収束の安定性を十分に確保することが困難となる場合もある。これに対して、適応スライディングモード制御は、外乱等の影響を極力排除して切換関数の値を「０」に収束させるために上記到達則に加えて、適応則（適応アルゴリズム）という制御則をも用いるようにしたものである。このような適応スライディングモード制御によって、前記操作量を生成することで、切換関数の値を高い安定性で「０」に収束させ、ひいては、排ガスセンサの出力を高い安定性で目標値に収束させ得るように前記操作量を生成することができる。
【００６２】
尚、このように前記フィードバック制御処理にスライディングモード制御（適応スライディングモード制御を含む）の処理を用いる本発明にあっては、該スライディングモード制御の処理は、前記排ガスセンサの出力と前記目標値との偏差の複数の時系列データを成分として構成した線形関数を該スライディングモード制御用の切換関数として用いることが好適である（請求項２５記載の発明）。
【００６３】
また、前記フィードバック制御処理に適応スライディングモード制御の処理を用いた場合、基本的には、前記モデルにより表現した対象系に与えるべき入力量（これは前記操作量を表すデータである）を、切換関数の値を「０」に拘束するための制御則に基づく成分（所謂、等価制御入力）と、前記到達則に基づき切換関数の値を「０」に収束させるための成分と、前記適応則に基づき外乱等の影響を排除して切換関数の値を「０」に収束させるための成分との総和として求める。そして、通常のスライディングモード制御の処理を用いた場合には、上記適応則に基づく成分を省略し、基本的には、上記等価制御入力と到達則に基づく成分と総和が上記入力量として求められる。
【００６４】
また、上記のように前記フイードバック制御処理としてスライディングモード制御（適応スライディングモード制御を含む）を用いる本発明にあっては、前記スライディングモード制御の処理に基づく前記排ガスセンサの出力の前記目標値への収束制御の安定性を判断する手段を備え、前記操作量生成手段は、当該収束制御が不安定であると判断されたとき、前記空燃比操作手段に与える前記操作量を所定値又は所定範囲内の値に制限することが好ましい（請求項２６記載の発明）。
【００６５】
すなわち、前記スライディングモード制御の処理に基づく前記排ガスセンサの出力の前記目標値への収束制御が不安定であると判断される状況では、排ガスセンサの出力が目標値に対して不安定な挙動を生じる虞れがある。このため、本発明では、上記のように前記収束制御が不安定であると判断される状況では、前記操作量生成手段から前記空燃比操作手段に与える前記操作量を所定値（例えば現状の値や、あらかじめ定めた固定値）又は所定範囲（例えば十分に狭い固定的な範囲）内の値に制限する。このようにすることで、前記空燃比操作手段に与えられる前記操作量の変動が制限され、該操作量に応じて操作される前記混合気の空燃比の変動も抑えられる。この結果、排ガスセンサの出力を安定化することができる。
【００６６】
この場合、前記収束制御の安定性を判断する手段は、前記スライディングモード制御用の切換関数の値に基づき該安定性の判断を行う（請求項２７記載の発明）。
【００６７】
すなわち、スライディングモード制御では、前述の通り、切換関数の値を「０」に収束させることが制御量（排ガスセンサの出力）を目標値に収束させる上で重要な処理となるので、この切換関数の値に基づいて前記収束制御の安定性を判断することができる。
【００６８】
例えば、切換関数の値とその変化速度との積（これは切換関数に関するリアプノフ関数の時間微分値に相当する）を求めた場合、この積が正側の値であるとき切換関数の値が「０」から離間しつつある状態であり、また、負側の値であるとき切換関数の値が「０」に接近しつつある状態である。従って、基本的には上記積の値が正側の値であるか、負側の値であるかによって、それぞれ前記収束制御が不安定、安定と判断することが可能である。尚、この他にも、切換関数の値の大きさや、その変化速度の大きさを適当な所定値と比較する等して、前記収束制御の安定性を判断することも可能である。
【００６９】
尚、本発明では、触媒装置の最適な浄化性能を確保する上では、前記排ガスセンサとして酸素濃度センサ（Ｏ2 センサ）を用い、そのセンサの出力の目標値を所定の一定値とすることが好適である。
【００７０】
【発明の実施の形態】
本発明の一実施形態を図１〜図１３を参照して説明する。
【００７１】
図１は本実施形態における内燃機関の空燃比制御装置の全体的システム構成を示すブロック図である。図中、１は、例えば自動車あるいはハイブリッド車に車両の推進源として搭載された４気筒のエンジン（内燃機関）である。このエンジン１が各気筒毎に燃料及び空気の混合気の燃焼により生成する排ガスは、エンジン１の近傍で共通の排気管２（排気通路）に集合され、この排気管２を介して大気中に放出される。排気管２には、排ガスを浄化するために、三元触媒により構成された触媒装置３が介装されている。
【００７２】
本実施形態のシステムでは、基本的には、触媒装置３の最適な浄化性能を確保するようにエンジン１の空燃比（より正確にはエンジン１で燃焼させる混合気の空燃比。以下、同様）を制御する。そして、この制御を行うために、触媒装置３の下流側で排気管２に装着された排ガスセンサとしてのＯ2 センサ（酸素濃度センサ）４と、このＯ2 センサ４の出力（検出値）等に基づき後述の制御処理を行う制御ユニット５とを具備している。尚、制御ユニット５には、Ｏ2 センサ４の出力の他に、エンジン１の回転数、吸気圧、冷却水温等、エンジン１の運転状態を検出するための図示しない各種のセンサの出力が与えられる。
【００７３】
Ｏ2 センサ４は、触媒装置３を通過した排ガス中の酸素濃度に応じたレベルの出力VO2/OUT 、すなわち、該排ガス中の酸素濃度の検出値を表す出力VO2/OUT を生成する。この場合、触媒装置３を含む排気管２を流れる排ガス中の酸素濃度はエンジン１で燃焼した混合気の空燃比に応じたものとなるので、Ｏ2 センサ４の出力VO2/OUT も、エンジン１で燃焼した混合気の空燃比に応じたものとなる。具体的には、このＯ2 センサ４の出力VO2/OUT は、図２に示すように、触媒装置３を通過した排ガスの酸素濃度に対応する空燃比が理論空燃比近傍の範囲Δに存するような状態で、該排ガス中の酸素濃度にほぼ比例した高感度な変化を生じるものとなる。
【００７４】
制御ユニット５は、基本的には、触媒装置３の最適な浄化性能を確保するために、前記Ｏ2 センサ４の出力VO2/OUT を所定の目標値VO2/TARGET（一定値。図２を参照）に収束（整定）させるようにエンジン１の空燃比を操作する処理を実行する。すなわち、本実施形態のシステムでは、触媒装置３の下流側に配置したＯ2 センサ４の出力VO2/OUT がある所定の一定値に整定するようなエンジン１の空燃比状態で、触媒装置３の経時劣化等によらずに触媒装置３の最適な浄化性能を確保することができる。このため、制御ユニット５は、上記所定の一定値をＯ2 センサ４の出力VO2/OUT の目標値VO2/TARGETとし、この目標値VO2/TARGETにＯ2 センサ４の出力VO2/OUT を収束させるようにエンジン１の空燃比を操作する処理を実行する。
【００７５】
このような処理を実行する制御ユニット５は、マイクロコンピュータを用いて構成されている。そして、この制御ユニット５の構成を機能的に大別すると、エンジン１の空燃比の目標値である目標空燃比KCMDを該エンジン１の空燃比を操作するための操作量として逐次生成する処理を所定の制御サイクルで実行する制御器５ａ（以下、空燃比処理制御器５ａという）と、その生成された目標空燃比KCMDのデータを用いてエンジン１の燃料噴射量（燃料供給量）を決定する処理（燃料噴射量の指令値を生成する処理）を所定の制御サイクルで実行する制御器５ｂ（以下、燃料処理制御器５ｂという）とに大別される。
【００７６】
この場合、空燃比処理制御器５ａが生成する目標空燃比KCMDは、基本的にはＯ2 センサ４の出力VO2/OUT （酸素濃度の検出値）を前記目標値VO2/TARGETに収束させる上で要求されるエンジン１の空燃比である。
【００７７】
尚、本発明の構成に対応させると、空燃比処理制御器５ａは操作量生成手段に相当するものであり、燃料処理制御器５ｂは空燃比操作手段に相当するものである。
【００７８】
ここで、空燃比処理制御器５ａ及び燃料処理制御器５ｂがそれぞれの処理を実行する制御サイクルについて説明しておく。
【００７９】
詳細は後述するが、空燃比処理制御器５ａは、燃料処理制御器５ｂ、エンジン１、触媒装置３、及びＯ2 センサ４からなる系（エンジン１からＯ2 センサ４にかけての排気管２を含む。図中、参照符号Ｅを付した仮想線枠内の系）、すなわち前記目標空燃比KCMDからＯ2 センサ４の出力VO2/OUT を生成する系の全体を制御対象の系（以下、対象系Ｅという）とする。そして、空燃比処理制御器５ａは、この対象系Ｅの出力量としてのＯ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させるように該対象系Ｅに与えるべき入力量（所謂、制御入力）としての目標空燃比KCMDを生成する処理を行うものである。
【００８０】
このとき、対象系Ｅは、特に、これが含む触媒装置３に起因して比較的長い無駄時間を有する。また、本実施形態では、空燃比処理制御器５ａは、目標空燃比KCMDを生成するために後述の如く対象系Ｅの無駄時間や挙動変化の影響を補償するようにしており、その処理の演算負荷が比較的大きなものとなる。
【００８１】
このため、本実施形態では、目標空燃比KCMDを生成するために空燃比処理制御器５ａが実行する処理の制御サイクルは、上記対象系Ｅが有する無駄時間、演算負荷等を考慮し、一定周期（例えば３０〜１００ms）の制御サイクルとしている。
【００８２】
一方、燃料処理制御器５ｂによるエンジン１の燃料噴射量の決定処理は、エンジン１の回転数（詳しくはエンジン１の燃焼サイクル）に同期させて行う必要がある。このため、燃料処理制御器５ｂが実行する処理の制御サイクルは、エンジン１のクランク角周期（所謂ＴＤＣ）に同期した周期とされている。
【００８３】
尚、空燃比処理ユニット５ａの制御サイクルである前記一定周期は、前記クランク角周期（ＴＤＣ）よりも長いものとされている。
【００８４】
以上のことを前提として、燃料処理制御器５ｂ及び空燃比処理制御器５ａをさらに説明する。
【００８５】
燃料処理制御器５ｂは、その機能的構成として、エンジン１の基本燃料噴射量Ｔimを求める基本燃料噴射量算出部６と、基本燃料噴射量Ｔimを補正するための第１補正係数KTOTAL及び第２補正係数KCMDM をそれぞれ求める第１補正係数算出部７及び第２補正係数算出部８と、これらの第１補正係数KTOTAL及び第２補正係数KCMDM により基本燃料噴射量Ｔimを補正してなる出力燃料噴射量Ｔout に、エンジン１の図示しない吸気管の壁面への燃料の付着を考慮した補正を施す付着補正部９とを具備する。
【００８６】
基本燃料噴射量算出部６は、図示しないセンサによって検出されるエンジン１の回転数NEと吸気圧PBとから、それらに応じたエンジン１の基準の燃料噴射量をあらかじめ設定されたマップを用いて求め、その基準の燃料噴射量をエンジン１の図示しないスロットル弁の有効開口面積に応じて補正することで基本燃料噴射量Ｔimを求める。この基本燃料噴射量Ｔimは、基本的には、エンジン１のクランク角周期の１周期（１ＴＤＣ）当たりに図示しない燃焼室に吸入される空気量と該基本燃料噴射量Ｔimとの比、すなわち空燃比が理論空燃比となるような燃料噴射量である。
【００８７】
また、第１補正係数算出部７が求める第１補正係数KTOTALは、エンジン１の排気還流率（エンジン１の吸入空気中に含まれる排ガスの割合）や、エンジン１の図示しないキャニスタのパージ時にエンジン１に供給される燃料のパージ量、エンジン１の冷却水温、吸気温等を考慮して前記基本燃料噴射量Ｔimを補正するためのものである。
【００８８】
さらに、第２補正係数算出部８が求める第２補正係数KCMDM は、エンジン１で燃焼させる混合気の空燃比を目標空燃比KCMDに操作するために基本燃料噴射量Ｔimをフィードフォワード的に補正するものであり、目標空燃比KCMDから、あらかじめ定められたデータテーブル（図示しない）を用いて求められる。このデータテーブルにより求められる第２補正係数KCMDM は、目標空燃比KCMDが理論空燃比に一致するとき「１」で、目標空燃比KCMDが理論空燃比よりも燃料のリッチ寄りの値になる程、「１」よりも大きな値とされる。また、目標空燃比KCMDが理論空燃比よりも燃料のリーン寄りの値になる程、第２補正係数KCMDM は「１」よりも小さな値とされる。より詳しくは、第２補正係数KCMDM は、目標空燃比KCMDの理論空燃比に対する比（目標空燃比KCMD／理論空燃比）の逆数値に、エンジン１の燃料噴射時の冷却効果による吸入空気量の充填効率を考慮した補正を施してなる値である。
【００８９】
これらの第１補正係数KTOTAL及び第２補正係数KCMDM による基本燃料噴射量Ｔimの補正は、第１補正係数KTOTAL及び第２補正係数KCMDM を基本燃料噴射量Ｔimに乗算することで行われる。そして、燃料処理制御器５ｂは、基本燃料噴射量Ｔimに、第１補正係数KTOTAL及び第２補正係数KCMDM を乗算してなる値をエンジン１に供給すべき出力燃料噴射量Ｔout として求める。さらに、この出力燃料噴射量Ｔout に、前記付着補正部９によって、エンジン１の図示しない吸気管の壁面への燃料の付着を考慮した補正を施したものを、燃料噴射量の最終的な指令値として決定し、これをエンジン１の図示しない燃料噴射装置に指令する。
【００９０】
尚、前記基本燃料噴射量Ｔim、第１補正係数KTOTAL、第２補正係数KCMDM のより具体的な算出手法は、特開平５−７９３７４号公報等に本願出願人が開示しているので、ここでは詳細な説明を省略する。また、前記付着補正部９が行う付着補正については、本願出願人が例えば特開平８−２１２７３号公報に詳細に開示しているので、ここでは詳細な説明を省略する。
【００９１】
空燃比処理制御器５ａは、前記対象系Ｅが有する応答遅れ及び無駄時間や、該対象系Ｅの挙動変化等を考慮しつつ、フィードバック制御の一手法であるスライディングモード制御（詳しくは適応スライディングモード制御）を用いてＯ2 センサ４の出力VO2/OUT をその目標値VO2/TARGETに収束させるために前記対象系Ｅに与えるべき入力量（制御入力）としての目標空燃比KCMDを所定の制御サイクル（一定周期）で逐次生成するものである。
【００９２】
このような目標空燃比KCMDの生成処理を行うために、本実施形態では、前記対象系Ｅを、空燃比処理制御器５ａが生成する目標空燃比KCMDとエンジン１の空燃比に対する所定の基準値FLAF/BASE との偏差kcmd（＝KCMD−FLAF/BASE 。以下、目標偏差空燃比kcmdという）から、応答遅れと無駄時間とを有してＯ2 センサ４の出力VO2/OUT とこれに対する目標値VO2/TARGETとの偏差VO2 （＝VO2/OUT −VO2/TARGET。以下、偏差出力VO2 という）を生成する系と見なし、その系の挙動をあらかじめモデル化している。つまり、本実施形態では、対象系Ｅへの入力量を前記目標偏差空燃比kcmd、対象系Ｅの出力量を前記Ｏ2 センサ４の偏差出力VO2 として、それらの入力量及び出力量により該対象系Ｅの挙動を表現するモデルを構築している。尚、本実施形態では、エンジン１の空燃比に対する前記基準値FLAF/BASE （以下、空燃比基準値FLAF/BASE という）は、目標空燃比KCMDあるいはこれに応じて操作されるエンジン１の実際の空燃比のほぼ中心的な値となるような所定の一定値としている。
【００９３】
前記対象系Ｅの挙動を表現するモデル（以下、対象系モデルという）は、本実施形態では、次式（１）の如く、離散時間系のモデル（より詳しくは対象系Ｅの入力量としての目標偏差空燃比kcmdに無駄時間を有する自己回帰モデル）により表現する。
【００９４】
【数１】
0003773684.tif 000002
ここで、上式（１）において、「ｋ」は空燃比処理制御器５ａの離散時間的な制御サイクルの番数を示し（以下、同様）、「ｄ」は対象系Ｅが有する無駄時間（各制御サイクルにおける目標偏差空燃比kcmdもしくは目標空燃比KCMDがＯ2 センサ４の偏差出力VO2 もしくは出力VO2/OUT に反映されるようになるまでに要する時間）を制御サイクル数で表したものである。この場合、対象系Ｅの実際の無駄時間は、概ね、触媒装置３が有する無駄時間と、エンジン１及び燃料処理制御器５ｂが有する無駄時間との総和である。後者の無駄時間は、エンジン１の回転数が低い程、長くなる。そして、本実施形態では、式（１）により表した対象系モデルにおける無駄時間ｄの値として、エンジン１の低速回転数域（例えばエンジン１のアイドリング回転数）における対象系Ｅの実際の無駄時間と等しいか、もしくはそれよりも若干長いものにあらかじめ定めた所定の一定値を用いる。
【００９５】
また、式（１）の右辺第１項及び第２項はそれぞれ対象系Ｅの応答遅れに係わる要素であり、第１項は１次目の自己回帰項、第２項は２次目の自己回帰項である。そして、「a1」、「a2」はそれぞれ１次目の自己回帰項のゲイン係数（第１ゲイン係数）、２次目の自己回帰項のゲイン係数（第２ゲイン係数）である。これらのゲイン係数a1，a2は別の言い方をすれば、対象系モデルにおける対象系Ｅの出力量としてのＯ2 センサ４の偏差出力VO2 に係る係数である。
【００９６】
さらに、式（１）の右辺第３項は、対象系Ｅの無駄時間ｄに係わる要素であり、より正確には、対象系Ｅの入力量としての目標偏差空燃比kcmdに対象系Ｅの無駄時間ｄを含めて表現したものである。そして、「b1」はこの要素に係るゲイン係数であり、別の言い方をすれば、対象系Ｅの入力量としての目標偏差空燃比kcmdに係るゲイン係数である。
【００９７】
これらのゲイン係数a1，a2，b1は、対象系モデルの挙動を規定する上で、ある値に設定（同定）すべきパラメータであり、本実施形態では後述の同定器によって逐次同定されるものである。
【００９８】
このように式（１）により離散時間系で表現した対象系モデルは、それを言葉で表現すれば、空燃比処理制御器５ａの各制御サイクルにおける対象系Ｅの出力量としてのＯ2 センサ４の偏差出力VO2(k+1)を、その制御サイクルよりも過去の制御サイクルにおける複数（本実施形態では二つ）の偏差出力VO2(k)，VO2(k-1)（より詳しくは、１制御サイクル前の偏差出力VO2(k)及び２制御サイクル前の偏差出力VO2(k-1)）と、無駄時間ｄ以前の対象系Ｅの入力量としての目標偏差空燃比kcmd(k-d) とにより表したものである。
【００９９】
空燃比処理制御器５ａは、基本的には、式（１）により表現した対象系モデルに基づいて構築された処理を所定の制御サイクル（一定周期）で行うことで、Ｏ2 センサ４の出力VO2/OUT をその目標値VO2/TARGETに収束させるために対象系Ｅに与えるべき入力量としての目標偏差空燃比kcmdを逐次生成し、さらにこの目標偏差空燃比kcmdに前記空燃比基準値FLAF/BASE を加算することで、前記燃料処理制御器５ｂに与える目標空燃比KCMDを逐次生成するものである。そして、この処理を行うために、図１に示したような機能的構成を具備している。
【０１００】
すなわち、空燃比処理制御器５ａは、Ｏ2 センサ４の出力VO2/OUT から前記目標値VO2/TARGETを減算することで前記偏差出力VO2 を逐次算出する減算処理部１０ａと、空燃比処理制御器５ａが制御サイクル毎に最終的に生成する目標空燃比KCMDから前記空燃比基準値FLAF/BASE を減算することで対象系Ｅに実際に与えた入力量としての前記目標偏差空燃比kcmdを逐次算出する減算処理部１０ｂと、前記対象系モデルの設定すべきパラメータである前記ゲイン係数a1，a2，b1を逐次同定する同定器１１（同定手段）と、対象系Ｅの無駄時間ｄ後のＯ2 センサ４の出力VO2/OUT の推定値（予測値）を表すデータとして、該無駄時間ｄ後のＯ2 センサ４の偏差出力VO2 の推定値VO2 バー（以下、推定偏差出力VO2 バーという）を逐次求める推定器１２（推定手段）と、適応スライディングモード制御の処理によってＯ2 センサ４の出力を目標値VO2/TARGETに収束させるように目標偏差空燃比kcmdを制御サイクル毎に逐次求めるスライディングモード制御器１３と、該目標偏差空燃比kcmdに前記空燃比基準値FLAF/BASE を加算することで目標空燃比KCMDを逐次算出する加算処理部１４とを具備する。
【０１０１】
同定器１１、推定器１２及びスライディングモード制御器１３による処理のアルゴリズムは以下のように構築されている。
【０１０２】
まず、同定器１１は、前記式（１）により表現した対象系モデルの実際の対象系Ｅに対するモデル化誤差を極力小さくするように前記ゲイン係数a1，a2，b1のそれぞれの同定値a1ハット，a2ハット，b1ハット（以下、同定ゲイン係数a1ハット，a2ハット，b1ハットという）をリアルタイムで逐次算出するものであり、その同定処理を次のように行う。
【０１０３】
すなわち、同定器１１は、空燃比処理制御器５ａの制御サイクル毎に、まず、今現在設定されている対象系モデルの同定ゲイン係数a1ハット，a2ハット，b1ハット、すなわち前回の制御サイクルで決定した同定ゲイン係数a1(k-1) ハット，a2(k-1) ハット，b1(k-1) ハットの値と、前記減算処理部１０ａが算出したＯ2 センサ４の偏差出力VO2 の過去値のデータ（詳しくは１制御サイクル前の偏差出力VO2(k-1)と２制御サイクル前の偏差出力VO2(k-2)）と、前記減算処理部１０ｂが算出した目標偏差空燃比kcmdの過去値のデータ（詳しくは（ｄ＋１）制御サイクル前の目標偏差空燃比kcmd(k-d-1) ）とを用いて、次式（２）により対象系モデル上での現在の制御サイクルにおけるＯ2 センサ４の偏差出力VO2 （対象系モデルの出力量）の値VO2(k)ハット（以下、同定偏差出力VO2(k)ハットという）を求める。
【０１０４】
【数２】
0003773684.tif 000003
この式（２）は、対象系モデルを表す前記式（１）を１制御サイクル分、過去側にシフトし、ゲイン係数a1，a2，b1を同定ゲイン係数a1ハット(k-1) ，a2ハット(k-1) ，b1ハット(k-1) で置き換えたものである。また、式（２）の第３項で用いる対象系Ｅの無駄時間ｄの値は、前述の如く設定した一定値を用いる。
【０１０５】
ここで、次式（３），（４）で定義されるベクトルΘ及びξを導入すると（式（３），（４）中の添え字「Ｔ」は転置を意味する。以下同様。）、
【０１０６】
【数３】
0003773684.tif 000004
【０１０７】
【数４】
0003773684.tif 000005
前記式（２）は、次式（５）により表される。
【０１０８】
【数５】
0003773684.tif 000006
さらに同定器１１は、前記式（２）あるいは式（５）により求められるＯ2 センサ４の同定偏差出力VO2 ハットと今現在のＯ2 センサ４の偏差出力VO2 との偏差id/eを対象系モデルの実際の対象系Ｅに対するモデル化誤差を表すものとして次式（６）により求める（以下、偏差id/eを同定誤差id/eという）。
【０１０９】
【数６】
0003773684.tif 000007
そして、同定器１１は、上記同定誤差id/eを最小にするように新たな同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハット、換言すれば、これらの同定ゲイン係数を成分とする新たな前記ベクトルΘ(k) （以下、このベクトルを同定ゲイン係数ベクトルΘという）を求めるもので、その算出を、次式（７）により行う。すなわち、同定器１１は、前回の制御サイクルで決定した同定ゲイン係数a1ハット(k-1) ，a2ハット(k-1) ，b1ハット(k-1) を、同定誤差id/eに比例させた量だけ変化させることで新たな同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットを求める。
【０１１０】
【数７】
0003773684.tif 000008
ここで、式（７）中の「Ｋθ」は次式（８）により決定される三次のベクトル（各同定ゲイン係数a1ハット，a2ハット，b1ハットの同定誤差id/eに応じた変化度合いを規定するゲイン係数ベクトル）である。
【０１１１】
【数８】
0003773684.tif 000009
また、上式（８）中の「Ｐ」は次式（９）の漸化式により決定される三次の正方行列である。
【０１１２】
【数９】
0003773684.tif 000010
尚、式（９）中の「λ1 」、「λ2 」は０＜λ1 ≦１及び０≦λ2 ＜２の条件を満たすように設定され、また、「Ｐ」の初期値Ｐ(0) は、その各対角成分を正の数とする対角行列である。
【０１１３】
この場合、式（９）中の「λ1 」、「λ2 」の設定の仕方によって、固定ゲイン法、漸減ゲイン法、重み付き最小二乗法、最小二乗法、固定トレース法等、各種の具体的なアルゴリズムが構成され、本実施形態では、例えば最小二乗法（この場合、λ1 ＝λ2 ＝１）を採用している。
【０１１４】
本実施形態における同定器１１は基本的には前述のようなアルゴリズム（詳しくは逐次型最小二乗法の演算処理）によって、前記同定誤差id/eを最小化するように対象系モデルの前記同定ゲイン係数a1ハット，a2ハット，b1ハットを制御サイクル毎に逐次更新しつつ求める。このような処理によって、実際の対象系Ｅの挙動に適合した同定ゲイン係数a1ハット，a2ハット，b1ハットが逐次得られる。
【０１１５】
以上説明した演算処理が同定器１１による基本的な処理内容である。尚、本実施形態では、同定器１１は、同定ゲイン係数a1ハット，a2ハット，b1ハットを求めるに際して、それらの値の制限処理等、付加的な処理も行うのであるが、これについては後述する。
【０１１６】
次に、前記推定器１２は、後に詳細を説明するスライディングモード制御器１３による目標偏差空燃比kcmdの算出処理に際しての対象系Ｅの無駄時間ｄの影響を補償するために、該無駄時間ｄ後のＯ2 センサ４の偏差出力VO2 の推定値である前記推定偏差出力VO2 バーを制御サイクル毎に逐次求めるものである。その推定処理のアルゴリズムは次のように構築されている。
【０１１７】
まず、対象系モデルを表す前記式（１）を用いることで、各制御サイクルにおける前記無駄時間ｄ後のＯ2 センサ４の偏差出力VO2(k+d)の推定値である前記推定偏差出力VO2(k+d)バーは、減算処理部１０ａにより算出されるＯ2 センサ４の偏差出力VO2 の現在以前の時系列データVO2(k)及びVO2(k-1)と、減算処理部１０ｂにより算出される目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j) （ｊ＝1,2,…,d）とを用いて次式（１０）により表すことができる。
【０１１８】
【数１０】
0003773684.tif 000011
ここで、式（１０）において、α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)と、減算処理部１０ｂにより算出される目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j) （ｊ＝1,…, ｄ）とを用いて式（１０）の演算を行うことによって、Ｏ2 センサ４の推定偏差出力VO2(k+d)バーを求める。
【０１２０】
この場合、式（１０）により推定偏差出力VO2(k+d)バーを算出するために必要となる係数値α1 ，α2 及びβj （j=1,2,…,d）の値は、基本的には、前記ゲイン係数a1，a2，b1（これらは式（１０）のただし書きで定義した行列Ａ及びベクトルＢの成分である）の同定値である前記同定ゲイン係数a1ハット，a2ハット，b1ハット（より詳しくは今回の制御サイクルで同定器１１によって決定された同定ゲイン係数a1ハット(k) ，a2ハット(k) ，b1ハット(k) ）を用いて算出する。また、式（１０）の演算で必要となる無駄時間ｄの値は、前述の如く設定した値を用いる。
【０１２１】
以上説明した演算処理が推定器１２により制御サイクル毎にＯ2 センサ４の偏差出力VO2 の前記無駄時間ｄ後の推定値である推定偏差出力VO2(k+d)バーを求めるための基本的なアルゴリズムである。
【０１２２】
次に、前記スライディングモード制御器１３を説明する。
【０１２３】
本実施形態のスライディングモード制御器１３は、通常的なスライディングモード制御に外乱等の影響を極力排除するための適応則（適応アルゴリズム）を加味した適応スライディングモード制御の処理によって、Ｏ2 センサ４の出力VO2/OUT をその目標値VO2/TARGETに収束させる（Ｏ2 センサ４の偏差出力VO2 を「０」に収束させる）ために対象系Ｅに与えるべき入力量としての目標偏差空燃比kcmdを逐次求めるものである。そして、その処理のためのアルゴリズムは以下に説明するように構築されている。
【０１２４】
尚、詳細は後述するが、本実施形態では、スライディングモード制御器１３が生成する目標偏差空燃比kcmdは、前記減算処理部１０ｂが目標空燃比KCMDから算出する目標偏差空燃比kcmdとは基本的には一致するが、一致しない場合もある。そこで、以下の説明では、スライディングモード制御器１３が生成する目標偏差空燃比kcmdを要求偏差空燃比ｕslと称する。
【０１２５】
まず、スライディングモード制御器１３の適応スライディングモード制御の処理に必要な切換関数と、この切換関数により定義される超平面（これはすべり面とも言われる）とについて説明する。
【０１２６】
本実施形態におけるスライディングモード制御の基本的な考え方としては、制御すべき状態量（所謂制御量）として、例えば各制御サイクルで前記減算処理部１０ａが算出したＯ2 センサ４の偏差出力VO2(k)と、その１制御サイクル前に算出された偏差出力VO2(k-1)とを用い、スライディングモード制御用の切換関数σを次式（１１）により定義する。すなわち、該切換関数σは、Ｏ2 センサ４の偏差出力VO2 の現在以前の時系列データVO2(k)，VO2(k-1)を成分とする線形関数により定義する。尚、前記偏差出力VO2(k)，VO2(k-1)を成分とするベクトルとして式（１１）中で定義したベクトルＸを以下、状態量Ｘという。
【０１２７】
【数１１】
0003773684.tif 000012
この場合、切換関数σの成分VO2(k)，VO2(k-1)に係る係数s1，s2は、次式（１２）の条件を満たすように設定する。この条件は、切換関数σの値が「０」となる状態で、Ｏ2 センサの偏差出力VO2 が安定に「０」に収束するために係数s1，s2が満たすべき条件である。
【０１２８】
【数１２】
0003773684.tif 000013
尚、本実施形態では、簡略化のために係数s1を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は、状態量Ｘを超平面σ＝０上に拘束するための制御則に従って前記対象系Ｅに与えるべき入力量の成分である等価制御入力ｕeqと、前記到達則に従って対象系Ｅに与えるべき入力量の成分ｕrch （以下、到達則入力ｕrch という）と、前記適応則に従って対象系Ｅに与えるべき入力量の成分ｕadp （以下、適応則入力ｕadp という）との総和により与えられる（次式（１３））。
【０１３４】
【数１３】
0003773684.tif 000014
そして、これらの等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp は、本実施形態では、前記式（１）により表した対象系モデルに基づいて、次のように決定する。
【０１３５】
まず、状態量Ｘを超平面σ＝０に拘束する（切換関数σの値を「０」に保持する）ために対象系Ｅに与えるべき入力量の成分である前記等価制御入力ｕeqは、σ(k+1) ＝σ(k) ＝０なる条件を満たす目標偏差空燃比kcmdである。そして、このような条件を満たす等価制御入力ｕeqは、式（１）と式（１１）とを用いて次式（１４）により与えられる。
【０１３６】
【数１４】
0003773684.tif 000015
この式（１４）が本実施形態において、制御サイクル毎に等価制御入力ｕeq(k) を求めるための基本式である。
【０１３７】
次に、前記到達則入力ｕrch は、本実施形態では、基本的には次式（１５）により決定するものとする。
【０１３８】
【数１５】
0003773684.tif 000016
すなわち、到達則入力ｕrch は、対象系Ｅが有する無駄時間ｄを考慮し、その無駄時間ｄ後の切換関数σの値σ(k+d) に比例させるように決定する。
【０１３９】
この場合、式（１５）中の係数Ｆ（これは到達則のゲインを規定する）は、次式（１６）の条件を満たすように設定する。
【０１４０】
【数１６】
0003773684.tif 000017
尚、切換関数σの値の挙動に関しては、該切換関数σの値が「０」に対して振動的な変化（所謂チャタリング）を生じる虞れがあり、このチャタリングを抑制するためには、到達則入力ｕrch に係る係数Ｆは、さらに次式（１７）の条件を満たすように設定することが好ましい。
【０１４１】
【数１７】
0003773684.tif 000018
次に、前記適応則入力ｕadp は、本実施形態では、基本的には次式（１８）により決定するものとする。ここで式（１８）中のΔＴは空燃比処理制御器５ａの制御サイクルの周期（一定値）である。
【０１４２】
【数１８】
0003773684.tif 000019
すなわち、適応則入力ｕadp は、対象系Ｅの無駄時間ｄを考慮し、該無駄時間ｄ後までの切換関数σの値の制御サイクル毎の積算値（これは切換関数σの値の積分値に相当する）に比例させるように決定する。
【０１４３】
この場合、式（１８）中の係数Ｇ（これは適応則のゲインを規定する）は、次式（１９）の条件を満たすように設定する。
【０１４４】
【数１９】
0003773684.tif 000020
尚、前記式（１６）、（１７）、（１９）の設定条件のより具体的な導出の仕方については、本願出願人が既に特願平９−２５１１４２号等にて詳細に説明しているので、ここでは詳細な説明を省略する。
【０１４５】
前記Ｏ2 センサ４の出力VO2/OUT をその目標値VO2/TARGETに収束させる（Ｏ2 センサ４の偏差出力VO2 を「０」に収束させる）上で対象系Ｅに与えるべき入力量としてスライディングモード制御器１３が生成する前記要求偏差空燃比ｕslは、基本的には前記式（１４）、（１５）、（１８）により決定される等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp の総和（ｕeq＋ｕrch ＋ｕadp ）として決定すればよい。しかるに、前記式（１４）、（１５）、（１８）で使用するＯ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を算出する。
【０１４７】
【数２０】
0003773684.tif 000021
また、本実施形態では、実際には、推定器１２により前述の如く逐次求められた推定偏差出力VO2 バーの時系列データを制御すべき状態量とし、前記式（１１）により定義した切換関数σに代えて、次式（２１）により切換関数σバーを定義する（この切換関数σバーは、前記式（１１）の偏差出力VO2 の時系列データを推定偏差出力VO2 バーの時系列データで置き換えたものに相当する）。
【０１４８】
【数２１】
0003773684.tif 000022
そして、スライディングモード制御器１３は、前記式（１５）により前記到達則入力ｕrch を決定するための切換関数σの値の代わりに、前記式（２１）により表される切換関数σバーの値を用いて次式（２２）により制御サイクル毎の到達則入力ｕrch を算出する。
【０１４９】
【数２２】
0003773684.tif 000023
同様に、スライディングモード制御器１３は、前記式（１８）により前記適応則入力ｕadp を決定するための切換関数σの値の代わりに、前記式（２１）により表される切換関数σバーの値を用いて次式（２３）により制御サイクル毎の適応則入力ｕadp を算出する。
【０１５０】
【数２３】
0003773684.tif 000024
尚、前記式（２０），（２２），（２３）により等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp を算出する際に必要となる前記ゲイン係数a1，a2，b1としては、本実施形態では基本的には前記同定器１１により求められた最新の同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットを用いる。
【０１５１】
そして、スライディングモード制御器１３は、前記式（２０）、（２２）、（２３）によりそれぞれ求められる等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp の総和を前記要求偏差空燃比ｕslとして求める（前記式（１３）を参照）。尚、この場合において、前記式（２０）、（２２）、（２３）中で用いる前記係数s1，s2，Ｆ, Ｇの設定条件は前述の通りである。
【０１５２】
このようにしてスライディングモード制御器１３が求める要求偏差空燃比ｕslは、Ｏ2 センサ４の推定偏差出力VO2 バーを「０」に収束させ、その結果としてＯ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させる上で、対象系Ｅに与えるべき入力量である。
【０１５３】
以上説明した処理が、本実施形態において、スライディングモード制御器１３により前記要求偏差空燃比ｕsl（これは基本的には前記目標偏差空燃比kcmd（＝KCMD−FLAF/BASE ）に一致する）を制御サイクル毎に生成するための演算処理（アルゴリズム）である。
【０１５４】
前述したようにスライディングモード制御器１３が生成する要求偏差空燃比ｕslは、Ｏ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させる上で要求されるエンジン１の空燃比の、前記空燃比基準値FLAF/BASE に対する偏差である。このため、本実施形態では、空燃比処理制御器５ａは、基本的には、スライディングモード制御器１３が生成する要求偏差空燃比ｕslに、前記加算処理部１４によって次式（２４）のように空燃比基準値FLAF/BASE を加算することで、最終的に目標空燃比KCMDを生成し、それを燃料処理制御器５ｂに与える。
【０１５５】
【数２４】
0003773684.tif 000025
但し、本実施形態では、エンジン１の空燃比の過大な変動を防止し、エンジン１の運転状態の安定性を確保するため、スライディングモード制御器１３が前記等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp から前記式（１３）によって求めた要求偏差空燃比ｕsl（＝ｕeq＋ｕrch ＋ｕadp ）に、その値を所定の許容範囲内に制限するリミット処理を施した上で加算処理部１４によって目標空燃比KCMDを生成する（図２ではこのリミット処理に係わる要素を省略している）。すなわち、上記リミット処理では、スライディングモード制御器１３が前記式（１３）によって求めた要求偏差空燃比ｕslが所定の許容範囲の上限値を上回り、あるいは下限値を下回っていた場合には、それぞれ、要求偏差空燃比ｕslの値を強制的に該許容範囲の上限値、下限値に制限する。そして、その値を制限した要求偏差空燃比ｕslを加算処理部１４で空燃比基準値FLAF/BASE に加算することで、最終的に燃料処理制御器５ｂに与える目標空燃比KCMDを生成する。このように要求偏差空燃比ｕslの値が強制的に上記許容範囲の上限値あるいは下限値に制限されたときには、前記減算処理部１０ｂにより算出される目標偏差空燃比kcmd（＝KCMD−FLAF/BASE ）とスライディングモード制御器１３が前記式（１３）によって求める要求偏差空燃比ｕsl（＝ｕeq＋ｕrch ＋ｕadp ）とは一致しないものとなる。
【０１５６】
尚、スライディングモード制御器１３が前記式（１３）によって求める要求偏差空燃比ｕslは、通常的には前記許容範囲内の値となる。そして、このときには、該要求偏差空燃比ｕslをそのまま用いて式（２４）により目標空燃比KCMDが算出される。従って、このときには、減算処理部１０ｂにより算出される目標偏差空燃比kcmd（＝KCMD−FLAF/BASE ）とスライディングモード制御器１３が前記式（１３）によって求める要求偏差空燃比ｕsl（＝ｕeq＋ｕrch ＋ｕadp ）とは一致する。
【０１５７】
また、本実施形態では、スライディングモード制御器１３が行う適応スライディングモード制御によるＯ2 センサ４の出力VO2/OUT の制御状態の安定性を判別し、その判別結果に応じて要求偏差空燃比ｕslの値を強制的に制限する処理も行うのであるが、これについては後述する。
【０１５８】
次に本実施形態の装置の全体の作動を詳説する。
【０１５９】
まず、図４のフローチャートを参照して、前記燃料処理制御器５ｂによるエンジン１の燃料噴射量の決定処理について説明する。燃料処理制御器５ｂは、この処理をエンジン１のクランク角周期（ＴＤＣ）と同期した制御サイクルで次のように行う。
【０１６０】
燃料処理制御器５ｂは、まず、エンジン１の回転数NE、吸気圧PB等を検出する図示しないセンサや、Ｏ2 センサ４等、各種センサの出力（エンジン１の燃料噴射量を決定するために必要な検出データ）を読み込む（ＳＴＥＰａ）。この場合、本実施形態では、前記空燃比処理制御器５ａの処理に必要なＯ2 センサ４の出力VO2/OUT は、燃料処理制御器５ａを介して空燃比処理制御器５ａに与えられるようになっている。このため、Ｏ2 センサ４の出力VO2/OUT の読み込まれたデータは、過去の制御サイクルで取得したものを含めて図示しないメモリに時系列的に記憶保持される。
【０１６１】
次いで、基本燃料噴射量算出部６によって、前述の如くエンジン１の回転数NE及び吸気圧PBに対応する燃料噴射量をスロットル弁の有効開口面積に応じて補正してなる基本燃料噴射量Ｔimが求められる（ＳＴＥＰｂ）。さらに、第１補正係数算出部９によって、エンジン１の冷却水温やキャニスタのパージ量等に応じた第１補正係数KTOTALが算出される（ＳＴＥＰｃ）。
【０１６２】
次いで、燃料処理制御器５ｂは、空燃比処理制御器５ａが生成する目標空燃比KCMDをエンジン１の空燃比を操作するために使用するか否か（ここでは、空燃比操作のＯＮ／ＯＦＦという）の判別処理を行って、この空燃比操作のＯＮ／ＯＦＦを規定するフラグf/prism/onの値を設定する（ＳＴＥＰｄ）。このフラグf/prism/onの値は、それが「０」のとき、空燃比処理制御器５ａが生成する目標空燃比KCMDを使用しないこと（ＯＦＦ）を意味し、「１」のとき、空燃比処理制御器５ａが生成する目標空燃比KCMDを使用すること（ＯＮ）を意味する。
【０１６３】
上記の判別処理では、図５に示すように、Ｏ2 センサ４が活性化しているか否かの判別が行われる（ＳＴＥＰｄ−１）。このとき、Ｏ2 センサ４が活性化していない場合には、空燃比処理制御器５ａの処理に使用するＯ2 センサ４の検出データを精度よく得ることができないため、フラグf/prism/onの値を「０」にセットする（ＳＴＥＰｄ−９）。
【０１６４】
また、エンジン１のリーン運転中（希薄燃焼運転）であるか否か、エンジン１の始動直後の触媒装置３の早期活性化を図るためにエンジン１の点火時期が遅角側に制御されているか否か、エンジン１のスロットル弁が全開であるか否か、及びエンジン１のフュエルカット中（燃料供給の停止中）であるか否かの判別が行われる（ＳＴＥＰｄ−２〜ｄ−５）。そして、これらのいずれかの条件が成立している場合には、空燃比処理制御器５ａが生成する目標空燃比KCMDを使用してエンジン１の空燃比を操作することは好ましくないか、もしくは操作することができないので、フラグf/prism/onの値を「０」にセットする（ＳＴＥＰｄ−９）。
【０１６５】
さらに、エンジン１の回転数NE及び吸気圧PBがそれぞれ所定範囲内（正常な範囲内）にあるか否かの判別が行われ（ＳＴＥＰｄ−６，ｄ−７）、いずれかが所定範囲内にない場合には、空燃比処理制御器５ａが生成する目標空燃比KCMDを使用してエンジン１の空燃比を操作することは好ましくないので、フラグf/prism/onの値を「０」にセットする（ＳＴＥＰｄ−８）。
【０１６６】
そして、ＳＴＥＰｄ−１，ｄ−６，ｄ−７の条件が満たされ、且つ、ＳＴＥＰｄ−２〜ｄ−５の条件が成立していない場合に（このような場合はエンジン１の通常的な運転状態である）、空燃比処理制御器５ａが生成する目標空燃比KCMDをエンジン１の空燃比の操作に使用すべく、フラグf/prism/onの値を「１」にセットする（ＳＴＥＰｄ−８）。
【０１６７】
図４に戻って、上記のようにフラグf/prism/onの値を設定した後、燃料処理制御器５ｂは、フラグf/prism/onの値を判断し（ＳＴＥＰｅ）、f/prism/on＝１である場合には、空燃比処理制御器５ａが生成した最新の目標空燃比KCMDを読み込む（ＳＴＥＰｆ）。また、f/prism/on＝０である場合には、目標空燃比KCMDを所定値に設定する（ＳＴＥＰｇ）。この場合、目標空燃比KCMDとして設定する所定値は、例えばエンジン１の回転数NEや吸気圧PBからあらかじめ定めたマップ等を用いて決定する。
【０１６８】
次いで、空燃比処理制御器５ｂは、前記ＳＴＥＰｆあるいはＳＴＥＰｇで決定された目標空燃比KCMDにエンジン１の空燃比を操作するための前記第２補正係数KCMDM を第２補正係数算出部８により算出する（ＳＴＥＰｈ）。
【０１６９】
次いで、空燃比処理制御器５ｂは、前述のようにＳＴＥＰａで求めた基本燃料噴射量Ｔimに、ＳＴＥＰｃ及びＳＴＥＰｈでそれぞれ求めた第１補正係数KTOTAL、第２補正係数KCMDM を乗算することで、エンジン１に供給すべき出力燃料噴射量Ｔout を求める（ＳＴＥＰｉ）。そして、この出力燃料噴射量Ｔout が、付着補正部９によって、エンジン１の吸気管の壁面への燃料の付着を考慮した補正を施された後（ＳＴＥＰｊ）、エンジン１の図示しない燃料噴射装置に出力される（ＳＴＥＰｋ）。
【０１７０】
このとき、エンジン１にあっては、与えられた出力燃料噴射量Ｔout に従って、燃料噴射が行われる。
【０１７１】
以上のような出力燃料噴射量Ｔout の算出及びそれに応じたエンジン１への燃料噴射がエンジン１のクランク角周期（ＴＤＣ）に同期した制御サイクルで逐次行われ、エンジン１の空燃比が目標空燃比KCMDに操作される。
【０１７２】
一方、前述のようなエンジン１の空燃比の操作（燃料噴射量の調整制御）と並行して、前記空燃比処理制御器５ａは、一定周期の制御サイクルで図６のフローチャートに示すメインルーチン処理を行う。
【０１７３】
すなわち、図６のフローチャートを参照して、空燃比処理制御器５ａは、まず、自身の演算処理（前記同定器２５、推定器２６、スライディングモード制御器２７の演算処理等）を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/prism/cal の値を設定する（ＳＴＥＰ１）。このフラグf/prism/cal の値は、それが「０」のとき、空燃比処理制御器５ａにおける演算処理を行わないことを意味し、「１」のとき、空燃比処理制御器５ａにおける演算処理を行うことを意味する。
【０１７４】
上記の判別処理は、図７のフローチャートに示すように行われる。
【０１７５】
すなわち、まず、Ｏ2 センサ４が活性化しているか否かの判別が行われる（ＳＴＥＰ１−１）。このとき、Ｏ2 センサ４が活性化していない場合には、空燃比処理制御器５ａの演算処理に使用するＯ2 センサ４の検出データを精度よく得ることができないため、フラグf/prism/cal の値を「０」にセットする（ＳＴＥＰ１−５）。さらにこのとき、同定器１１の後述する初期化を行うために、その初期化を行うか否かをそれぞれ「１」、「０」で表すフラグf/id/resetの値を「１」にセットする（ＳＴＥＰ１−６）。
【０１７６】
また、エンジン１のリーン運転中（希薄燃焼運転）であるか否か、及びエンジン１の始動直後の触媒装置３の早期活性化を図るためにエンジン１の点火時期が遅角側に制御されているか否かの判別が行われる（ＳＴＥＰ１−２，１−３）。これらのいずれかの条件が成立している場合には、Ｏ2 センサ６の出力VO2/OUT を目標値VO2/TARGETに収束させるような目標空燃比KCMDを生成しても、それをエンジン１の燃料制御に使用することはないので、フラグf/prism/cal の値を「０」にセットする（ＳＴＥＰ１−５）。さらに同定器１１の初期化を行うために、フラグf/id/resetの値を「１」にセットする（ＳＴＥＰ１−６）。
【０１７７】
そして、ＳＴＥＰ１−１の条件が満たされ、且つＳＴＥＰ１−２，１−３の条件が成立していない場合には、Ｏ2 センサ６の出力VO2/OUT を目標値VO2/TARGETに収束させるような目標空燃比KCMDを生成すべくフラグf/prism/cal の値を「１」にセットする（ＳＴＥＰ１−４）。
【０１７８】
図６に戻って、上記のような判別処理を行った後、空燃比処理制御器５ａは、さらに、同定器１１による前記ゲイン係数a1,a2,b1の同定処理（同定値の更新処理）を実行するか否かの判別処理を行って、その実行の可否をそれぞれ「１」、「０」で表すフラグf/id/calの値を設定する（ＳＴＥＰ２）。
【０１７９】
このＳＴＥＰ２の判別処理では、図示を省略するが、エンジン１のスロットル弁が全開であるか否か、及びエンジン１のフュエルカット中であるか否かの判別が行われる。これらのいずれかの条件が成立している場合には、前記ゲイン係数a1,a2,b1を適正に同定することができないため、フラグf/id/calの値を「０」にセットする。そして、上記のいずれの条件も成立していない場合には、同定器１１による前記ゲイン係数a1,a2,b1の同定処理（同定値の更新処理）を実行すべくフラグf/id/calの値を「１」にセットする。
【０１８０】
次いで、空燃比処理制御器５ａは、前記減算処理部１０ａにより、Ｏ2 センサ４の最新の偏差出力VO2(k)（＝VO2/OUT −VO2/TARGET）を算出すると共に、前記減算処理部１０ｂにより、前回の制御サイクルで最終的に決定された目標空燃比KCMD(k-1) に対応する目標偏差空燃比kcmd(k-1) （＝KCMD(k-1) −FLAF/BASE ）を算出する（ＳＴＥＰ３）。この場合、減算処理部１０ａは、前記図４のＳＴＥＰａにおいて取り込まれて図示しないメモリに記憶されたＯ2 センサ４の出力VO2/OUT の時系列データの中から、最新のものを選択して前記偏差出力VO2(k)を算出する。そして、この偏差出力VO2(k)のデータと減算処理部１０ｂが算出する目標偏差空燃比kcmd(k-1) は、空燃比処理制御器５ａ内において、過去に算出したものを含めて時系列的に図示しないメモリに記憶保持される。
【０１８１】
次いで、空燃比処理制御器５ａは、前記ＳＴＥＰ１で設定されたフラグf/prism/cal の値を判断する（ＳＴＥＰ４）。このとき、f/prism/cal ＝０である場合、すなわち、空燃比処理制御器５ａの演算処理を行わない場合には、今回の制御サイクルにおける目標空燃比KCMDを決定するための要求偏差空燃比ｕsl（加算処理部１４に与える要求偏差空燃比ｕsl）の値を強制的に所定値に設定する（ＳＴＥＰ１３）。この場合、該所定値は、例えばあらかじめ定めた固定値（例えば「０」）あるいは前回の制御サイクルで決定した要求偏差空燃比ｕslの値とする。
【０１８２】
尚、このように要求偏差空燃比ｕslを所定値とした場合において、空燃比処理制御器５ａは、その所定値の要求偏差空燃比ｕslに、前記加算処理部１４で前記空燃比基準値FLAF/BASE を加算することで、今回の制御サイクルにおける目標空燃比KCMDを決定し（ＳＴＥＰ１２）、今回の制御サイクルの処理を終了する。
【０１８３】
一方、ＳＴＥＰ４の判断で、f/prism/cal ＝１である場合、すなわち、空燃比処理制御器５ａの演算処理を行う場合には、空燃比処理制御器５ａは、次に、前記同定器１１による演算処理を行う（ＳＴＥＰ５）。
【０１８４】
この同定器１１による演算処理は図８のフローチャートに示すように行われる。
【０１８５】
すなわち、同定器１１は、まず、前記ＳＴＥＰ２で設定されたフラグf/id/calの値を判断する（ＳＴＥＰ５−１）。このときf/id/cal＝０であれば（エンジン１のスロットル弁が全開状態であるか、もしくはエンジン１のフュエルカット中の場合）、前述の通り同定器１１によるゲイン係数a1,a2,b1の同定処理を行わないので、直ちに図６のメインルーチンに復帰する。
【０１８６】
一方、f/id/cal＝１であれば、同定器１１は、さらに該同定器１１の初期化に係わる前記フラグf/id/resetの値（これは、前記ＳＴＥＰ１でその値が設定される）を判断し（ＳＴＥＰ５−２）、f/id/reset＝１である場合には、同定器１１の初期化を行う（ＳＴＥＰ５−３）。この初期化では、前記同定ゲイン係数a1ハット，a2ハット，b1ハットの各値があらかじめ定めた初期値に設定され（式（３）の同定ゲイン係数ベクトルΘの初期化）、また、前記式（９）の行列Ｐ（対角行列）の各成分があらかじめ定めた初期値に設定される。さらに、フラグf/id/resetの値は「０」にリセットされる。
【０１８７】
次いで、同定器１１は、現在の同定ゲイン係数a1(k-1) ハット，a2(k-1) ハット，b1(k-1) ハットを用いて表される対象系モデル（前記式（２）参照）の出力量である前記同定偏差出力VO2(k)ハットを、前記ＳＴＥＰ３で制御サイクル毎に算出される偏差出力VO2 の過去値のデータVO2(k-1)，VO2(k-2)、並びに、目標偏差空燃比kcmdの過去値のデータkcmd(k-d-1) と、上記同定ゲイン係数a1(k-1) ハット，a2(k-1) ハット，b1(k-1) ハットの値とを用いて前記式（２）あるいはこれと等価の前記式（５）により算出する（ＳＴＥＰ５−４）。
【０１８８】
さらに同定器１１は、新たな同定ゲイン係数a1ハット，a2ハット，b1ハットを決定する際に使用する前記ベクトルＫθ(k) を式（８）により算出した後（ＳＴＥＰ５−５）、前記同定誤差id/e（対象系モデル上でのＯ2 センサ４の同定偏差出力VO2 ハットと、実際の偏差出力VO2 との偏差。式（６）参照）を算出する（ＳＴＥＰ５−６）。
【０１８９】
ここで、ＳＴＥＰ５−６で求める同定誤差id/eは、基本的には、前記式（６）の演算により算出すればよいのであるが、本実施形態では、前記ＳＴＥＰ３（図６参照）で制御サイクル毎に算出する偏差出力VO2 と、前記ＳＴＥＰ５−４で制御サイクル毎に算出する同定偏差出力VO2 ハットとから式（６）の演算により得られた値（＝VO2 −VO2 ハット）に、さらに所定の周波数通過特性を有するフィルタリングを施すことで同定誤差id/eを求める。該周波数通過特性は本実施形態では、基本的にはローパス特性である。
【０１９０】
このようなフィルタリングを行うのは次の理由による。すなわち、対象系Ｅの入力量（目標空燃比KCMD）の変化に対する出力量（Ｏ2 センサ４の出力VO2/OUT ）の変化の周波数特性は、特に対象系Ｅに含まれる触媒装置３の影響で、一般には低周波数側で高ゲインなものとなる。このため、前記対象系モデルのゲイン係数a1,a2,b1を対象系Ｅの実際の挙動状態に則して適正に同定する上では、対象系Ｅの低周波数側の挙動を重視することが好ましい。そこで、本実施形態では、式（６）の演算により得られた値（＝VO2 −VO2 ハット）に、ローパス特性のフィルタリングを施すことで同定誤差id/eを求めるようにしている。
【０１９１】
尚、本実施形態で上記フィルタリングの周波数通過特性としたローパス特性は例示的なもので、より一般的には、実際の対象系Ｅの入力量の変化に対する出力量の変化の周波数特性（これは触媒装置３だけでなくエンジン１の特性が影響する場合もある）をあらかじめ実験等により確認しておき、その周波数特性が比較的高ゲインとなるような周波数域に通過特性を有するフィルタリングを行うようにすればよい。
【０１９２】
また、上記のようなフィルタリングは、結果的に、偏差出力VO2 及び同定偏差出力VO2 ハットの両者に同じ周波数通過特性のフィルタリングが施されていればよく、例えば偏差出力VO2 及び同定偏差出力VO2 ハットにそれぞれ各別にフィルタリングを施した後に式（６）の演算を行って同定誤差id/eを求めるようにしてもよい。また、前記のフィルタリングは、例えばディジタルフィルタの一手法である移動平均処理によって行われる。
【０１９３】
上記のようにして同定誤差id/eを求めた後、同定器１１は、この同定誤差id/eと、前記ＳＴＥＰ５−５で算出したＫθとを用いて前記式（７）により新たな同定ゲイン係数ベクトルΘ(k) 、すなわち、新たな同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットを算出する（ＳＴＥＰ５−７）。
【０１９４】
このようにして新たな同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットを算出した後、同定器１１は、以下に説明する如く、同定ゲイン係数a1ハット，a2ハット，b1ハット（同定ゲイン係数ベクトルΘの成分）の値を、所定の条件を満たすように制限する処理を行う（ＳＴＥＰ５−８）。
【０１９５】
この場合、同定ゲイン係数a1ハット、a2ハット、b1ハットの値を制限するための前記所定の条件は、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを所定の組み合わせに制限するための条件（以下、第１制限条件という）と、同定ゲイン係数b1ハットの値を制限するための条件（以下、第２制限条件という）とがある。
【０１９６】
ここで、これらの第１及び第２制限条件、並びにＳＴＥＰ５−８の具体的な処理内容を説明する前に、同定ゲイン係数a1ハット、a2ハット、b1ハットの値を制限する理由を説明しておく。
【０１９７】
本願発明者等の知見によれば、同定ゲイン係数a1ハット、a2ハット、b1ハットの値を特に制限しない場合には、Ｏ2 センサ４の出力VO2/OUT がその目標値VO2/TARGETに安定して制御されている状態で、スライディングモード制御器１３により求められる前記要求偏差空燃比ｕsl、ひいては目標空燃比KCMDが平滑的な時間変化を呈する状況と、高周波振動的な時間変化を呈する状況との二種類の状況が生じることが判明した。この場合、いずれの状況においても、Ｏ2 センサ４の出力VO2/OUT をその目標値VO2/TARGETに収束制御する上では支障がないものの、目標空燃比KCMDが高周波振動的な時間変化を呈する状況は、エンジン１の円滑な運転を行う上では、あまり好ましくない。
【０１９８】
そして、上記の現象について本願発明者等が検討したところ、前記目標偏差空燃比kcmdあるいは目標空燃比KCMDが平滑的なものとなるか高周波振動的なものとなるかは、同定器１１により同定するゲイン係数a1，a2の値の組み合わせや、ゲイン係数b1の値の影響を受けることが判明した。
【０１９９】
このために、本実施形態では、前記第１制限条件と第２制限条件とを適切に設定し、これらの条件により、同定ゲイン係数a1ハット、a2ハットの値の組み合わせや、同定ゲイン係数b1ハットの値を適切に制限することで、目標空燃比KCMDが高周波振動的なものとなるような状況を排除する。
【０２００】
この場合、本実施形態では前記第１制限条件及び第２制限条件は次のように設定する。
【０２０１】
まず、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを制限するための第１制限条件に関し、本願発明者等の検討によれば、平滑的で安定した要求偏差空燃比ｕslや目標空燃比KCMDを得るためには、ゲイン係数a1，a2の値により定まる前記式（１０）の係数値α1 ，α2 、すなわち、前記推定器１２が前記推定偏差出力VO2(k+d)バーを求めるために使用する前記係数値α1 ，α2 （これらの係数値α1 ，α2 は前記式（１０）中で定義した行列Ａの巾乗Ａd の第１行第１列成分及び第１行第２列成分である）の組み合わせが密接に関連している。
【０２０２】
具体的には、図９に示すように係数値α1 ，α2 をそれぞれ成分とする座標平面を設定したとき、係数値α1 ，α2 の組により定まる該座標平面上の点が図１１の斜線を付した領域（三角形Ｑ1 Ｑ2 Ｑ3 で囲まれた領域（境界を含む）。以下、この領域を推定係数安定領域という）に存するとき、目標偏差空燃比kcmdや目標空燃比KCMDが平滑的で安定したものとなりやすい。
【０２０３】
従って、同定器１１により同定するゲイン係数ａ1 ，ａ2 の値、すなわち同定ゲイン係数a1ハット、a2ハットの値の組み合わせは、これらの値により定まる係数値α1 ，α2 の組に対応する図９の座標平面上の点が上記推定係数安定領域内に存するように制限することが好ましい。
【０２０４】
尚、図９において、上記推定係数安定領域を含んで座標平面上に表した三角形領域Ｑ1 Ｑ4 Ｑ3 は、次式（２５）により定義される系、すなわち、前記式（１０）の右辺のVO2(k)及びVO2(k-1)をそれぞれVO2(k)バー及びVO2(k-1)バー（これらのVO2(k)バー及びVO2(k-1)バーは、それぞれ、推定器１２により制御サイクル毎に求められる推定偏差出力及びその１制御サイクル前に求められる推定偏差出力を意味する）により置き換えてなる式により定義される系が、理論上、安定となるような係数値α1 ，α2 の組み合わせを規定する領域である。
【０２０５】
【数２５】
0003773684.tif 000026
すなわち、式（２５）により表される系が安定となる条件は、その系の極（これは、次式（２６）により与えられる）が複素平面上の単位円内に存在することである。
【０２０６】
【数２６】
0003773684.tif 000027
そして、図９の三角形領域Ｑ1 Ｑ4 Ｑ3 は、上記の条件を満たす係数値α1 ，α2 の組み合わせを規定する領域である。従って、前記推定係数安定領域は、前記式（２５）により表される系が安定となるような係数値α1 ，α2 の組み合わせのうち、α1 ≧０となる組み合わせとなる領域である。
【０２０７】
一方、係数値α1 ，α2 は、ゲイン係数ａ1 ，ａ2 の値の組み合わせにより定まるので、逆算的に、係数値α1 ，α2 の組み合わせからゲイン係数ａ1 ，ａ2 の値の組み合わせも定まる。従って、係数値α1 ，α2 の好ましい組み合わせを規定する図９の推定係数安定領域は、ゲイン係数a1，a2を座標成分とする図１０の座標平面上に変換することができる。この変換を行うと、該推定係数安定領域は、図１０の座標平面上では、例えば図１０の仮想線で囲まれた領域（下部に凹凸を有する大略三角形状の領域。以下、同定係数安定領域という）に変換される。すなわち、ゲイン係数a1，a2の値の組により定まる図１０の座標平面上の点が、同図の仮想線で囲まれた同定係数安定領域に存するとき、それらのゲイン係数a1，a2の値により定まる係数値α1 ，α2 の組に対応する図９の座標平面上の点が前記推定係数安定領域内に存することとなる。
【０２０８】
従って、同定器１１により求める同定ゲイン係数a1ハット、a2ハットの値を制限するための前記第１制限条件は、基本的には、それらの値により定まる図１０の座標平面上の点が前記同定係数安定領域に存することとして設定することが好ましい。
【０２０９】
但し、図１０に仮想線で示した同定係数安定領域の境界の一部（図の下部）は凹凸を有する複雑な形状を呈しているため、実用上、同定ゲイン係数a1ハット、a2ハットの値により定まる図１０の座標平面上の点を同定係数安定領域内に制限するための処理が煩雑なものとなりやすい。
【０２１０】
そこで、本実施形態では、同定係数安定領域を、例えば図１０の実線で囲まれた四角形Ｑ5 Ｑ6 Ｑ7 Ｑ8 の領域（境界を直線状に形成した領域。以下、同定係数制限領域という）により大略近似する。この場合、この同定係数制限領域は、図示の如く、｜a1｜＋a2＝１なる関数式により表される折れ線（線分Ｑ5 Ｑ6 及び線分Ｑ5 Ｑ8 を含む線）と、a1＝A1L （A1L ：定数）なる定値関数式により表される直線（線分Ｑ6 Ｑ7 を含む直線）と、a2＝A2L （A2L ：定数）なる定値関数式により表される直線（線分Ｑ7 Ｑ8 を含む直線）とにより囲まれた領域である。そして、同定ゲイン係数a1ハット、a2ハットの値を制限するための前記第１制限条件を、それらの値により定まる図１０の座標平面上の点が上記同定係数制限領域に存することとして設定する。この場合、同定係数制限領域の下辺部の一部は、前記同定係数安定領域を逸脱しているものの、現実には同定器１１が求める同定ゲイン係数a1ハット、a2ハットの値により定まる点は上記の逸脱領域には入らないことを実験的に確認している。従って、上記の逸脱領域があっても、実用上は支障がない。
【０２１１】
尚、このような同定係数制限領域の設定の仕方は例示的なもので、該同定係数制限領域は、基本的には、前記同定係数安定領域に等しいか、もしくは該同定係数安定領域を大略近似し、あるいは、同定係数制限領域の大部分もしくは全部が同定係数安定領域に属するように設定すれば、どのような形状のものに設定してもよい。つまり、同定係数制限領域は、同定ゲイン係数a1ハット、a2ハットの値の制限処理の容易さ、実際上の制御性等を考慮して種々の設定が可能である。例えば本実施形態では、同定係数制限領域の上半部の境界を｜a1｜＋a2＝１なる関数式により規定しているが、この関数式を満たすゲイン係数a1，a2の値の組み合わせは、前記式（２６）により与えられる系の極が複素平面上の単位円周上に存するような理論上の安定限界の組み合わせである。従って、同定係数制限領域の上半部の境界を例えば｜a1｜＋a2＝ｒ（但し、ｒは上記の安定限界に対応する「１」よりも若干小さい値で、例えば０．９９）なる関数式により規定し、制御の安定性をより高めるようにしてもよい。
【０２１２】
また、前記同定係数制限領域の基礎となる図１０の同定係数安定領域も例示的なものであり、図９の推定係数安定領域に対応する同定係数安定領域は、係数値α1 ，α2 の定義から明らかなように（式（１０）を参照）、前記無駄時間ｄ（より正確にはその設定値）の影響も受け、該無駄時間ｄの値によって、同定係数安定領域の形状が変化する。この場合、同定係数安定領域がどのような形状のものであっても、前記同定係数制限領域は、同定係数安定領域の形状に合わせて前述の如く設定すればよい。
【０２１３】
次に、同定器１１が同定する前記ゲイン係数b1の値、すなわち同定ゲイン係数b1ハットの値を制限するための前記第２制限条件は本実施形態では次のように設定する。
【０２１４】
すなわち、本願発明者等の知見によれば、前記目標空燃比KCMDの時間的変化が高周波振動的なものとなる状況は、同定ゲイン係数b1ハットの値が過大もしくは過小となるような場合にも生じ易い。そこで、本実施形態では、同定ゲイン係数b1ハットの値の上限値B1H 及び下限値B1L （B1H ＞B1L ＞０）をあらかじめ実験やシミュレーションを通じて定めておく。そして、前記第２制限条件を、同定ゲイン係数b1ハットの値が上限値B1H 以下で且つ下限値B1L 以上の値になること（B1L ≦b1ハット≦B1H の不等式を満たすこと）として設定する。
【０２１５】
以上説明した如く設定した第１制限条件及び第２制限条件により同定ゲイン係数a1ハット，a2ハット，b1ハットの値を制限するための前記ＳＴＥＰ５−８の処理は、具体的には次のように行われる。
【０２１６】
すなわち、図１１のフローチャートを参照して、同定器１１は、前記図８のＳＴＥＰ５−７で前述の如く求めた同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットについて、まず、同定ゲイン係数a1(k) ハット，a2(k) ハットの値の組み合わせを前記第１制限条件により制限するための処理をＳＴＥＰ５−８−１〜５−８−８で行う。
【０２１７】
具体的には、同定器１１は、まず、ＳＴＥＰ５−８で求めた同定ゲイン係数a2(k) ハットの値が、前記同定係数制限領域におけるゲイン係数a2の下限値A2L （図１０参照）以上の値であるか否かを判断する（ＳＴＥＰ５−８−１）。
【０２１８】
このとき、a2(k) ハット＜A2L であれば、同定ゲイン係数a1(k) ハット、a2(k) ハットの値の組により定まる図１０の座標平面上の点（以下、この点を（a1(k) ハット，a2(k) ハット）で表す）が同定係数制限領域から逸脱しているので、a2(k) ハットの値を強制的に上記下限値A2L に変更する（ＳＴＥＰ５−８−２）。この処理により、図１０の座標平面上の点（a1(k) ハット，a2(k) ハット）は、少なくともa2＝A2L により表される直線（線分Ｑ7 Ｑ8 を含む直線）の上側（該直線上を含む）の点に制限される。
【０２１９】
次いで、同定器１１は、ＳＴＥＰ５−７で求めた同定ゲイン係数a1(k) ハットの値が、前記同定係数制限領域におけるゲイン係数a1の下限値A1L （図１０参照）以上の値であるか否か、並びに、同定係数制限領域におけるゲイン係数a1の上限値A1H （図１０参照）以下の値であるか否かを順次判断する（ＳＴＥＰ５−８−３、５−８−５）。尚、同定係数制限領域におけるゲイン係数a1の上限値A1H は、図１２から明らかなように折れ線｜a1｜＋a2＝１（但しa1＞０）と、直線a2＝A2L との交点Ｑ8 のa1座標成分であるので、A1H ＝１−A2L である。
【０２２０】
このとき、a1(k) ハット＜A1L である場合、あるいは、a1(k) ハット＞A1H である場合には、図１０の座標平面上の点（a1(k) ハット，a2(k) ハット）が同定係数制限領域から逸脱しているので、a1(k) ハットの値をそれぞれの場合に応じて、強制的に上記下限値A1L あるいは上限値A1H に変更する（ＳＴＥＰ５−８−４、５−８−６）。
【０２２１】
この処理により、図１０の座標平面上の点（a1(k) ハット，a2(k) ハット）は、a1＝A1L により表される直線（線分Ｑ6 Ｑ7 を含む直線）と、a1＝A1H により表される直線（点Ｑ8 を通ってa1軸に直行する直線）との間の領域（両直線上を含む）に制限される。
【０２２２】
尚、ＳＴＥＰ５−８−３及び５−８−４の処理と、ＳＴＥＰ５−８−５及び５−８−６の処理とは順番を入れ換えてもよい。また、前記ＳＴＥＰ５−８−１及び５−８−２の処理は、ＳＴＥＰ５−８−３〜５−８−６の処理の後に行うようにしてもよい。
【０２２３】
次いで、同定器１１は、前記ＳＴＥＰ５−８−１〜５−８−６の処理を経た今現在のa1(k) ハット，a2(k) ハットの値が｜a1｜＋a2≦１なる不等式を満たすか否か、すなわち、点（a1(k) ハット，a2(k) ハット）が｜a1｜＋a2＝１なる関数式により表される折れ線（線分Ｑ5 Ｑ6 及び線分Ｑ5 Ｑ8 を含む線）の下側（折れ線上を含む）にあるか上側にあるかを判断する（ＳＴＥＰ５−８−７）。
【０２２４】
このとき、｜a1｜＋a2≦１なる不等式が成立しておれば、前記ＳＴＥＰ５−８−１〜５−８−６の処理を経たa1(k) ハット，a2(k) ハットの値により定まる点（a1(k) ハット，a2(k) ハット）は、同定係数制限領域（その境界を含む）に存している。
【０２２５】
一方、｜a1｜＋a2＞１である場合は、点（a1(k) ハット，a2(k) ハット）が、同定係数制限領域からその上方側に逸脱している場合であり、この場合には、a2(k) ハットの値を強制的に、a1(k) ハットの値に応じた値（１−｜a1(k) ハット｜）に変更する（ＳＴＥＰ５−８−８）。換言すれば、a1(k) ハットの値を現状に保持したまま、点（a1(k) ハット，a2(k) ハット）を｜a1｜＋a2＝１なる関数式により表される折れ線上（同定係数制限領域の境界である線分Ｑ5 Ｑ6 上、もしくは線分Ｑ5 Ｑ8 上）に移動させる。
【０２２６】
以上のようなＳＴＥＰ５−８−１〜５−８−８の処理によって、同定ゲイン係数a1(k) ハット，a2(k) ハットの値は、それらの値により定まる点（a1(k) ハット，a2(k) ハット）が同定係数制限領域内に存するように制限される。尚、前記ＳＴＥＰ５−７で求められた同定ゲイン係数a1(k) ハット，a2(k) ハットの値に対応する点（a1(k) ハット，a2(k) ハット）が同定係数制限領域内に存する場合は、それらの値は保持される。
【０２２７】
この場合、前述の処理によって、前記対象系モデルの１次目の自己回帰項に係る同定ゲイン係数a1(k) ハットに関しては、その値が同定係数制限領域における下限値A1L 及び上限値A1H の間の値となっている限り、その値が強制的に変更されることはない。また、a1(k) ハット＜A1L である場合、あるいは、a1(k) ハット＞A1H である場合には、それぞれ、同定ゲイン係数a1(k) ハットの値は、同定係数制限領域においてゲイン係数a1が採りうる最小値である下限値A1L と、同定係数制限領域においてゲイン係数a1が採りうる最大値である下限値A1H とに強制的に変更されるので、これらの場合における同定ゲイン係数a1(k) ハットの値の変更量は最小なものとなる。つまり、ＳＴＥＰ５−７で求められた同定ゲイン係数a1(k) ハット，a2(k) ハットの値に対応する点（a1(k) ハット，a2(k) ハット）が同定係数制限領域から逸脱している場合には、同定ゲイン係数a1(k) ハットの値の強制的な変更は最小限に留められる。
【０２２８】
このようにして、同定ゲイン係数a1(k) ハット，a2(k) ハットの値を制限したのち、同定器１１は、同定ゲイン係数b1(k) ハットの値を前記第２制限条件に従って制限する処理をＳＴＥＰ５−８−９〜５−８−１２で行う。
【０２２９】
すなわち、同定器１１は、前記ＳＴＥＰ５−７で求めた同定ゲイン係数b1(k) ハットの値が、前記下限値B1L 以上であるか否かを判断し（ＳＴＥＰ５−８−９）、B1L ＞b1(k) ハットである場合には、b1(k) ハットの値を強制的に上記下限値B1L に変更する（ＳＴＥＰ５−８−１０）。
【０２３０】
さらに、同定器１１は、同定ゲイン係数b1(k) ハットの値が、前記上限値B1H 以上であるか否かを判断し（ＳＴＥＰ５−８−１１）、B1H ＜b1(k) ハットである場合には、b1(k) ハットの値を強制的に上記上限値B1H に変更する（ＳＴＥＰ５−８−１２）。
【０２３１】
尚、同定器１１は、同定ゲイン係数b1(k) ハットの値が、B1L ≦b1(k) ハット≦B1H である場合には、同定ゲイン係数b1(k) ハットを現状の値に保持する。
【０２３２】
このようなＳＴＥＰ５−８−９〜５−８−１２の処理によって、同定ゲイン係数b1(k) ハットの値は、下限値B1L 及び上限値B1H の間の範囲の値に制限される。
【０２３３】
このようにして、同定ゲイン係数a1(k) ハット，a2(k) ハットの値の組み合わせと同定ゲイン係数b1(k) ハットの値とを制限した後には、同定器１１の処理は図８のフローチャートの処理に復帰する。
【０２３４】
尚、図８のＳＴＥＰ５−７で同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットを求めるために使用する同定ゲイン係数の前回値a1(k-1) ハット，a2(k-1) ハット，b1(k-1) ハットは、前回の制御サイクルにおけるＳＴＥＰ５−８の処理で前述の如く第１及び第２制限条件により制限を行った同定ゲイン係数の値である。
【０２３５】
図８の説明に戻って、前述のように同定ゲイン係数a1(k) ハット，a2(k) ハット，b1(k) ハットの制限処理を行った後、同定器１１は、次回の制御サイクルの処理のために前記行列Ｐ(k) を前記式（９）により更新し（ＳＴＥＰ５−９）、図６のメインルーチンの処理に復帰する。
【０２３６】
以上が図６のＳＴＥＰ５における同定器１１の演算処理の詳細である。
【０２３７】
図５のメインルーチン処理の説明に戻って、前述の通り同定器１１の演算処理を行った後、空燃比処理制御器５ａはゲイン係数a1,a2,b1の値を決定する（ＳＴＥＰ６）。
【０２３８】
この処理では、前記ＳＴＥＰ２で設定されたフラグf/id/calの値が「１」である場合、すなわち、同定器１１によるゲイン係数a1,a2,b1の同定処理を行った場合には、ゲイン係数a1,a2,b1の値として、それぞれ前記ＳＴＥＰ５で前述の通り同定器１１により求められた同定ゲイン係数a1ハット，a2ハット，b1ハット（ＳＴＥＰ５−８の制限処理を施したもの）を設定する。また、f/id/cal＝０である場合、すなわち、同定器１１によるゲイン係数a1,a2,b1の同定処理を行わなかった場合には、ゲイン係数a1,a2,b1の値をそれぞれ所定値に設定する。この場合、f/id/cal＝０である場合（エンジン１のスロットル弁が全開状態であるか、もしくはエンジン１のフュエルカット中の場合）にゲイン係数a1,a2,b1の値として設定する所定値は、あらかじめ定めた固定値としてもよいが、f/id/cal＝０となる状態が一時的であるような場合（同定器１１による同定処理を一時的に中断する場合）には、f/id/cal＝０となる直前に同定器１１が求めた同定ゲイン係数a1ハット，a2ハット，b1ハットにゲイン係数a1,a2,b1の値を保持してもよい。
【０２３９】
次いで、空燃比処理制御器５ａは、図６のメインルーチンにおいて、前記推定器１２による演算処理（推定偏差出力VO2 バーの算出処理）を行う（ＳＴＥＰ７）。
【０２４０】
このとき推定器１２は、まず、前記ＳＴＥＰ６で決定されたゲイン係数a1,a2,b1（これらの値は基本的には、前記図８のＳＴＥＰ５−８の制限処理を経た同定ゲイン係数a1ハット，a2ハット，b1ハットである）を用いて、前記式（１０）で使用する係数値α1 ，α2 ，βj （ｊ＝1 〜ｄ）を前述したように算出する。
【０２４１】
そして、推定器１２は、前記図８のＳＴＥＰ３で制御サイクル毎に算出されるＯ2 センサの偏差出力VO2 の現在の制御サイクル以前の時系列データVO2(k)，VO2(k-1)、並びに、前記目標偏差空燃比kcmdの前回の制御サイクル以前（過去）の時系列データkcmd(k-j) （ｊ＝１〜ｄ）と、上記の如く算出した係数値α1 ，α2 ，βj （ｊ＝1 〜ｄ）とを用いて前記式（１０）により、推定偏差出力VO2(k+d)バー（今回の制御サイクルの時点から無駄時間ｄ後の偏差出力VO2 の推定値）を算出する。
【０２４２】
このように推定器１２によりＯ2 センサ４の推定偏差出力VO2(k+d)バーを求めた後、空燃比処理制御器５ａは、スライディングモード制御器１３によって、要求偏差空燃比ｕslを算出する（ＳＴＥＰ８）。
【０２４３】
この要求偏差空燃比ｕslの算出は、図１２のフローチャートに示すように行われる。
【０２４４】
すなわち、スライディングモード制御器１３は、まず、前記ＳＴＥＰ７で推定器１２により求められた推定偏差出力VO2 バーの時系列データVO2(k+d)バー，VO2(k+d-1)バーを用いて、前記式（２１）により定義した切換関数σバーの今回の制御サイクルから前記無駄時間ｄ後の値σ(k+d) バー（これは、式（１１）で定義した切換関数σの無駄時間ｄ後の推定値に相当する）を算出する（ＳＴＥＰ８−１）。
【０２４５】
尚、この場合、切換関数σバーが過大であると、この切換関数σバーの値に応じて定まる前記到達則入力ｕrch の値が過大となると共に、前記適応則入力ｕadp の急変が生じ、要求偏差空燃比ｕslがＯ2 センサ４の出力VO2/OUT を安定に目標値VO2/TARGETに収束させる上で不適切なものとなる虞れがある。このため、本実施形態では、切換関数σバーの値があらかじめ定めた所定範囲内に収まるようにし、式（２１）により求めたσバーの値が、該所定範囲の上限値又は下限値を超えた場合には、それぞれσバーの値を強制的に該上限値又は下限値に設定する。
【０２４６】
次いで、スライディングモード制御器１３は、上記ＳＴＥＰ８−１で制御サイクル毎に算出される切換関数σバーの値（より正確にはσバーの値に空燃比処理制御器５ａの制御サイクルの周期（一定周期）を乗算したもの）を累積的に加算していく（前回の制御サイクルで求められた加算結果に今回の制御サイクルで算出されたσバーの値を加算する）ことで、σバーの積算値（これは式（２３）の右端の項に相当する）を算出する（ＳＴＥＰ８−２）。
【０２４７】
尚、この場合、σバーの積算値に応じて定まる前記適応則入力ｕadp が過大なものとなるのを回避するため、前記ＳＴＥＰ８−１の場合と同様、σバーの積算値があらかじめ定めた所定範囲内に収まるようにし、上記の累積加算により求まるσ(k+d) バーの積算値が該所定範囲の上限値又は下限値を超えた場合には、それぞれσ(k+d) バーの積算値を強制的に該上限値又は下限値に制限する。
【０２４８】
また、このσバーの積算値は、前記図４のＳＴＥＰｄで設定されるフラグf/prism/onの値が「０」であるとき、すなわち、空燃比処理制御器５ａが生成する目標空燃比KCMDを前記燃料処理制御器５ｂが使用しない状態であるときには、現状の値に保持される。
【０２４９】
次いで、スライディングモード制御器１３は、前記ＳＴＥＰ７で推定器１２により求められた推定偏差出力VO2 バーの時系列データVO2(k+d)バー，VO2(k+d-1)バーと、ＳＴＥＰ８−１及び８−２でそれぞれ求められた切換関数の値σ(k+d) バー及びその積算値と、ＳＴＥＰ６で決定したゲイン係数a1，a2，b1（これらの値は基本的には、前記図８のＳＴＥＰ５−８の制限処理を経た同定ゲイン係数a1ハット，a2ハット，b1ハットである）とを用いて、前記式（２０）、（２２）、（２３）に従って、それぞれ等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp を算出する（ＳＴＥＰ８−３）。
【０２５０】
さらにスライディングモード制御器２７は、ＳＴＥＰ８−３で求めた等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp を加算することで、要求偏差空燃比ｕsl、すなわち、Ｏ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させる上で対象系Ｅに与えるべき入力量を算出する（ＳＴＥＰ８−４）。
【０２５１】
これがＳＴＥＰ８におけるスライディングモード制御器１３の処理内容である。
【０２５２】
図６に戻って、空燃比処理制御器５ａは、次に、スライディングモード制御器１３による適応スライディングモード制御の安定性（より詳しくは、適応スライディングモード制御に基づくＯ2 センサ４の出力VO2/OUT の制御状態（以下、ＳＬＤ制御状態という）の安定性）を判別する処理を行って、該ＳＬＤ制御状態が安定であるか否の示すフラグf/sld/stb の値を設定する（ＳＴＥＰ９）。
【０２５３】
この判別処理は図１３のフローチャートに示すように行われる。
【０２５４】
すなわち、空燃比処理制御器５ａは、まず、前記ＳＴＥＰ８−１で算出される切換関数σバーの今回値σ(k+d) バーと前回値σ(k+d-1) バーとの偏差Δσバー（これは切換関数σバーの変化速度に相当する）を算出する（ＳＴＥＰ９−１）。
【０２５５】
次いで、空燃比処理制御器５ａは、上記偏差Δσバーと切換関数σバーの今回値σ(k+d) バーとの積Δσバー・σ(k+d) バー（これはσバーに関するリアプノフ関数σバー2 ／２の時間微分関数に相当する）があらかじめ定めた所定値ε（＞０）以下であるか否を判断する（ＳＴＥＰ９−２）。
【０２５６】
ここで、上記積Δσバー・σ(k+d) バー（以下、これを安定判別パラメータＰstb という）について説明すると、この安定判別パラメータＰstb の値がＰstb ＞０となる状態は、基本的には、推定偏差出力VO2(k+d)，VO2(k+d-1)からなる状態量Ｘが前記超平面σ＝０から離間しつつある状態（切換関数σバーの値が「０」から離間しつつある状態）である。また、安定判別パラメータＰstb の値がＰ≦０となる状態は、基本的には、状態量Ｘが超平面σ＝０に収束しているか、もしくは収束しつつある状態（切換関数σバーの値が「０」に収束しているか、もしくは収束しつつある状態）である。そして、一般に、スライディングモード制御では制御量（本実施形態ではＯ2 センサ４の出力VO2/OUT ）を目標値に安定に収束させるためには、切換関数の値が安定に「０」に収束する必要がある。従って、基本的には、前記安定判別パラメータＰstb の値が「０」以下であるか否かによって、それぞれ前記ＳＬＤ処理状態が安定、不安定であると判断することができる。
【０２５７】
但し、安定判別パラメータＰstb の値を「０」と比較することでＳＬＤ制御状態の安定性を判断すると、切換関数σバーの値に僅かなノイズが含まれただけで、安定性の判別結果に影響を及ぼしてしまう。
【０２５８】
このため、本実施形態では、前記ＳＴＥＰ９−２で安定判別パラメータＰstb ＝Δσバー・σ(k+d) バー）と比較する所定値εは、「０」より若干大きな正の値としている。
【０２５９】
そして、このＳＴＥＰ９−２の判断で、Ｐstb ＞ε（Δσバー・σ(k+d) バー＞ε）である場合には、ＳＬＤ制御状態が不安定であるとし、前記ＳＴＥＰ８で算出された要求偏差空燃比ｕsl（＝ｕeq＋ｕrch ＋ｕadp ）を用いた目標空燃比KCMDの決定を所定時間、禁止するためにタイマカウンタｔm （カウントダウンタイマ）の値を所定の初期値ＴM にセットする（タイマカウンタｔm の起動。ＳＴＥＰ９−４）。さらに、前記フラグf/sld/stb の値を「０」（f/sld/stb ＝０はＳＬＤ処理状態が不安定であることを示す）に設定した後（ＳＴＥＰ９−５）、図６のメインルーチンの処理に復帰する。
【０２６０】
一方、前記ＳＴＥＰ９−２の判断で、Ｐstb ≦ε（Δσバー・σ(k+d) バー≦ε）である場合には、空燃比処理制御器５ａは、さらに切換関数σバーの今回値σ(k+d) バーがあらかじめ定めた所定範囲内にあるか否かを判断する（ＳＴＥＰ９−３）。
【０２６１】
この場合、切換関数σバーの今回値σ(k+d) バーが、所定範囲内に無い状態は、推定偏差出力VO2(k+d)，VO2(k+d-1)からなる状態量Ｘが前記超平面σ＝０から大きく離間しているので、前記スライディングモード制御器１３が求めた要求偏差空燃比ｕslがＯ2 センサ４の出力VO2/OUT を安定に目標値VO2/TARGETに収束させる上で不適切なものとなっている虞れがある。このため、ＳＴＥＰ９−３の判断で、切換関数σバーの今回値σ(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 の値が「０」に設定され、安定であると判断した場合には、フラグf/sld/stb の値が「１」に設定される。
【０２６７】
尚、以上説明したＳＬＤ制御状態の安定性の判断の手法は例示的なもので、この他の手法によって、安定性の判断を行うことも可能である。例えば、制御サイクルよりも長い所定期間毎に、各所定期間内における前記安定判別パラメータＰstb の値が前記所定値εよりも大きくなる頻度を計数する。そして、その頻度があらかじら定めた所定値を超えるような場合にＳＬＤ制御状態が不安定であると判断し、逆の場合には、ＳＬＤ制御状態で安定であると判断するようにしてもよい。
【０２６８】
図６に戻って、上記のようにＳＬＤ制御状態の安定性を示すフラグf/sld/stb の値を設定した後、空燃比処理制御器５ａは、このフラグf/sld/stb の値を判断する（ＳＴＥＰ１０）。このとき、f/sld/stb ＝１である場合、すなわち、ＳＬＤ制御状態が安定であると判断した場合には、空燃比処理制御器５ａは、前記スライディングモード制御器１３が今回の制御サイクルで生成した要求偏差空燃比ｕslにリミット処理を施す（ＳＴＥＰ１１）。
【０２６９】
このリミット処理では、要求偏差空燃比ｕslの値が所定の許容範囲内の値であるか否かが判断され、該要求偏差空燃比ｕslが該許容範囲の上限値を超え、あるいは下限値を下回っている場合には、それぞれ、要求偏差空燃比ｕslの値を強制的に許容範囲の上限値、下限値に設定し直す。そして、要求偏差空燃比ｕslの値が所定の許容範囲内の値である場合（通常的な場合）には、要求偏差空燃比ｕslの値は現状の値、すなわち、前記ＳＴＥＰ８でスライディングモード制御器１３が生成した値（＝ｕeq＋ｕrch ＋ｕadp ）に保持される。
【０２７０】
尚、このリミット処理における上記許容範囲は、あららじめ定めた固定的な範囲としてもよいが、エンジン１の運転状態や要求偏差空燃比ｕslの許容範囲からの逸脱状況等に応じて適宜可変的に設定するようにしてもよい。
【０２７１】
このようなリミット処理によって、要求偏差空燃比ｕslの値を所定の許容範囲内の値に制限した後、空燃比処理制御器５ａは、加算処理部１４によって、該要求偏差空燃比ｕslに前記空燃比基準値FLAF/BASE を加算することで今回の制御サイクルにおける目標空燃比KCMDを算出する（ＳＴＥＰ１２）。これにより、今回の制御サイクルにおける空燃比処理制御器５ａの処理が終了する。
【０２７２】
一方、前記ＳＴＥＰ１０の判断で、f/sld/stb ＝０である場合、すなわち、ＳＴＥＰ９でＳＬＤ制御状態が不安定であると判断した場合には、空燃比処理制御器５ａは、今回の制御サイクルにおける要求偏差空燃比ｕslの値を強制的に所定値（固定値あるいは要求偏差空燃比ｕslの前回値）に設定する（ＳＴＥＰ１３）。そして、この要求偏差空燃比ｕslに、前記加算処理部１４で空燃比基準値FLAF/BASE を加算することで、目標空燃比KCMDを求め（ＳＴＥＰ１２）、今回の制御サイクルにおける処理を終了する。
【０２７３】
尚、ＳＴＥＰ１３で最終的に決定される目標空燃比KCMDは、制御サイクル毎に図示しないメモリに時系列的に記憶保持される。そして、燃料処理制御器５ｂが空燃比処理制御器５ａで決定された目標空燃比KCMDを用いるに際しては（図４のＳＴＥＰｆを参照）、上記のように時系列的に記憶保持された目標空燃比KCMDの中から最新のものが選択される。
【０２７４】
以上説明した内容が本実施形態の装置の詳細な作動である。
【０２７５】
すなわち、その作動を要約すれば、基本的には空燃比処理制御器５ａによって、触媒装置３の下流側に配置したＯ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させるように対象系Ｅに与えるべき入力量としての目標空燃比KCMDが逐次生成される。そして、この目標空燃比KCMDに応じてフィードフォワード的にエンジン１の燃料噴射量を調整することで、エンジン１の空燃比が目標空燃比KCMDに操作される。これにより、対象系Ｅの出力量としてのＯ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束制御し、ひいては、触媒装置３の経時劣化等によらずに、触媒装置３の最適な排ガス浄化性能を確保することができる。
【０２７６】
この場合、空燃比処理制御器５ａは、Ｏ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させるための目標空燃比KCMDを生成するために、本来的に外乱等の影響に対する安定性の高いスライディングモード制御の処理をスライディングモード制御器１３により実行する。特に、本実施形態では、外乱等の影響を極力排除するための適応則（適応アルゴリズム）を加味した適応スライディングモード制御の処理を用いる。このため、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御を外乱等の影響を極力少ないものとして安定して行うことができる。
【０２７７】
また、適応スライディングモード制御の処理を用いて目標空燃比KCMDを生成するに際しては、エンジン１や触媒装置３を含む前記対象系Ｅ、すなわち、目標空燃比KCMDからＯ2 センサ４の出力VO2/OUT を生成する系の全体を制御対象として、この対象系Ｅの挙動を離散時間系でモデル化すると共に、そのモデル（対象系モデル）の設定すべきパラメータである前記ゲイン係数a1,a2,b1を同定器１１によりリアルタイムで逐次同定する。これにより、対象系モデルの実際の対象系Ｅに対するモデル化誤差を、エンジン１や触媒装置３等、対象系Ｅに含まれる要素の挙動変化によらずに最小限に留めることができる。
【０２７８】
そして、適応スライディングモード制御の処理では、その同定されたゲイン係数a1,a2,b1の値、すなわち前記同定ゲイン係数a1ハット，a2ハット，b1ハットの値を用いて対象系Ｅに与えるべき入力量としての要求偏差空燃比ｕsl、ひいては目標空燃比KCMD（＝ｕsl＋FLAF/BASE ）を求める。
【０２７９】
このため、生成される目標空燃比KCMDは、エンジン１や触媒装置３等の時々刻々の挙動状態に則したものとなり、Ｏ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束させるために適正な目標空燃比KCMDを、エンジン１や触媒装置３等、対象系Ｅに含まれる要素の挙動変化によらずに、安定して生成することができる。この結果、本実施形態のように目標空燃比KCMDに対してエンジン１の空燃比をフィードフォワード的に操作しても、エンジン１の種々様々の運転状態や触媒装置３の種々様々の挙動状態において、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御を安定して精度よく行うことができる。また、エンジン１の空燃比を目標空燃比KCMDに操作するために、実際の空燃比を検出するセンサが必要ないため、Ｏ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束制御するためのシステム構成を簡素で安価なものとすることができる。
【０２８０】
さらに、本実施形態では、対象系Ｅが有する無駄時間ｄを考慮して対象系モデルを構築すると共に、無駄時間ｄ後のＯ2 センサ４の出力VO2/OUT の推定値に相当する前記推定偏差出力VO2 バーを推定器１２によって逐次求める。このとき、同定器１１により同定された対象系モデルのパラメータである同定ゲイン係数a1ハット，a2ハット，b1ハットの値を用いて推定偏差出力VO2 を生成することで、エンジン１や触媒装置３の挙動変化によらずに、精度のよい推定偏差出力VO2 を生成することができる。そして、適応スライディングモード制御の処理では、この推定偏差出力VO2 のデータを用い、該推定偏差出力VO2 をＯ2 センサ４の偏差出力VO2 の目標値である「０」に収束させるように要求偏差空燃比ｕsl、ひいては目標空燃比KCMDを生成する。これにより、対象系Ｅが有する無駄時間ｄの影響を適正に排除して、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御の安定性や精度をより高めることができる。
【０２８１】
また、本実施形態では、同定器１１による対象系モデルのゲイン係数a1,a2,b1を同定するために前記同定誤差id/eの算出するに際しては、対象系Ｅの周波数特性を考慮し、対象系Ｅの実際の出力量に相当する偏差出力VO2 と対象系モデル上での出力量である前記同定偏差出力VO2 ハットとに同一のローパス特性のフィルタリングを施す。このようにすることで、前記同定ゲイン係数a1ハット，a2ハット，b1ハットを、対象系Ｅの挙動状態により整合したものとして、その精度を高めることができる。そして、この同定ゲイン係数a1ハット，a2ハット，b1ハットを用いて推定器１２による前記推定偏差出力VO2 の生成処理やスライディングモード制御器１３による適応スライディングモード制御の処理を行うことで、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御を高精度で安定して行うことができる。
【０２８２】
さらに、本実施形態では、同定器１１により求める同定ゲイン係数a1ハット，a2ハット，b1ハットの値を前述したように設定した第１及び第２制限条件を満たすように制限する。これにより、スライディングモード制御器１３が生成する要求偏差空燃比ｕsl、ひいては目標空燃比KCMDが高周波振動的な変化を呈するのを確実に排除し、平滑的で安定した変化を呈する目標空燃比KCMDを生成することができる。この結果、エンジン１の円滑な運転を行いつつ、Ｏ2 センサ４の出力の目標値VO2/TARGETへの収束制御を良好に行うことができる。すなわち、エンジン１の円滑な運転を行いつつ、触媒装置３の最適な浄化性能を確保することができる。
【０２８３】
この場合、特に、対象系Ｅの応答遅れに係わる同定ゲイン係数a1ハット，a2ハットについては、それらの値を個別に制限するのではなく、それらの値を、両者の値の相関性をもたせた組み合わせにより制限する。これにより、Ｏ2 センサ４の出力VO2/OUT を目標値VO2/TARGETに収束制御し、また、平滑的で安定した目標空燃比KCMDを生成する上で最適な同定ゲイン係数a1ハット，a2ハットの値を得ることができる。
【０２８４】
また、同定ゲイン係数a1ハット，a2ハットの値の組み合わせの制限に際しては、対象系モデルを表す式（１）の右辺の自己回帰項のうちの低次側の自己回帰項（１次目の自己回帰項）に係る同定ゲイン係数a1ハット、すなわち対象系モデルにおいてＯ2 センサ４のより新しい出力VO2/OUT もしくは偏差出力VO2 に係る同定ゲイン係数a1ハットの値の変更量が最小となるようにa1ハット，a2ハットの値の組み合わせの制限を行う。これにより、この同定ゲイン係数a1ハット，a2ハットを用いて生成される要求偏差空燃比ｕsl、ひいては目標空燃比KCMDの信頼性をより高めることができ、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御を安定して行うことができる。
【０２８５】
さらに、同定ゲイン係数a1ハット，a2ハットの組み合わせを制限するための前記同定係数制限領域（図１０を参照）は、その境界を直線状に設定したため、a1ハット，a2ハットの値を制限するための処理を容易に行うことができる。
【０２８６】
また、本実施形態では、前記ＳＬＤ制御状態の安定性を判断し、該ＳＬＤ制御状態が不安定であると判断したとき（前記図６のＳＴＥＰ１０でf/sld/stb ＝０の場合）には、要求偏差空燃比ｕslの値、ひいては目標空燃比KCMDの値（＝ｕsl＋FLAF/BASE ）を強制的に所定値に設定する。このため、ＳＬＤ制御状態が不安定であると判断される状況では、目標空燃比KCMDに応じて操作されるエンジン１の空燃比の変化が制限されることなる。この結果、Ｏ2 センサ４の出力VO2/OUT の変動も抑制され、該出力VO2/OUT の不安定な挙動変化を生じるような事態、ひいては触媒装置３の浄化性能が悪化するような事態を防止することができる。
【０２８７】
尚、本発明の内燃機関の空燃比制御装置は前述した実施形態に限定されるものではなく、例えば以下に説明するような変形態様が可能である。
【０２８８】
すなわち、前記実施形態では、触媒装置３の下流側の排ガスセンサとしてＯ2 センサ４を用いたが、該排ガスセンサは、制御しようとする触媒装置下流の排ガス中の特定成分の濃度を検出できるものであれば、他のセンサを用いてもよい。例えば触媒装置下流の排ガス中の一酸化炭素（ＣＯ）を制御する場合はＣＯセンサ、窒素酸化物（ＮＯx ）を制御する場合はＮＯx センサ、炭化水素（ＨＣ）を制御する場合はＨＣセンサを用いる。三元触媒装置を使用した場合には、上記のいずれのガス成分の濃度を検出するようにしても、触媒装置の浄化性能を最大限に発揮させるように制御することができる。また、還元触媒装置や酸化触媒装置を用いた場合には、浄化したいガス成分を直接検出することで、浄化性能の向上を図ることができる。
【０２８９】
また、前記実施形態では、対象系モデルや、同定器１１、推定器１２、スライディングモード制御器１３の演算処理において、空燃比処理制御器５ａから対象系Ｅの燃料処理制御器５ｂに与える目標空燃比KCMDを表すデータとしての前記目標偏差空燃比kcmdや、対象系Ｅの出力量であるＯ2 センサ４の出力VO2/OUT を表すデータとしての偏差出力VO2 を用いた。これに限らず、目標空燃比KCMDやＯ2 センサ４の出力VO2/OUT のデータをそのまま用いて対象系Ｅのモデルを構築したり、同定器１１、推定器１２、スライディングモード制御器１３の演算処理を行うようにしてもよい。但し、対象系モデルの簡素化や同定器１１、推定器１２、スライディングモード制御器１３の演算処理の簡素化を図り、またＯ2 センサ４の出力VO2/OUT の制御の信頼性を高める上では、前記実施形態のように目標偏差空燃比kcmd、偏差出力VO2 のデータを用いることが好ましい。
【０２９０】
さらに前記実施形態では、目標偏差空燃比kcmdに係わる前記空燃比基準値FLAF/BASE を一定値としたが、該空燃比基準値FLAF/BASE を例えば次のように可変的に設定するようにしてもよい。
【０２９１】
すなわち、前記式（１）により表した対象系モデルは、Ｏ2 センサ４の出力VO2/OUT が定常的に目標値VO2/TARGETに収束した状態（偏差出力VO2 が定常的に「０」に収束した状態。以下、ここでは定常収束状態という）では、目標偏差空燃比kcmd（＝KCMD−FLAF/BASE ）は「０」となるモデルである。従って、この対象系モデル上では、空燃比基準値FLAF/BASE は、本来、上記定常収束状態における目標空燃比KCMDの中心的な値となるべきものである。従って、該空燃比基準値FLAF/BASE が目標空燃比KCMDの実際の中心的な値に対して比較的大きな誤差を生じるような状況（このような状況は、エンジン１の実際の空燃比が目標空燃比KCMDに対して定常的な誤差を有する場合等に発生する）では、空燃比基準値FLAF/BASE が目標空燃比KCMDの実際の中心的な値に近づくように該空燃比基準値FLAF/BASE を調整してやることが好ましいと考えられる。
【０２９２】
一方、前記式（２０）〜（２３）を参照して明らかなように、上記定常収束状態では、前記スライディングモード制御器１３が求める要求偏差空燃比ｕslの成分のうち、等価制御入力ｕeq及び到達則入力ｕrch は「０」となるので、ｕsl＝ｕadp となる。そして、このとき目標空燃比KCMDは、基本的には、要求偏差空燃比ｕslとなる適応則入力ｕadp に空燃比基準値FLAF/BASE を加算したもの（＝ｕadp ＋FLAF/BASE ）になる。従って、適応則入力ｕadp は、定常収束状態における目標空燃比KCMDの実際の中心的な値に対する空燃比基準値FLAF/BASE の誤差に相当するもので、該誤差を吸収する機能を担うものである。
【０２９３】
このようなことから、適応則入力ｕadp が「０」近傍の値になるように空燃比基準値FLAF/BASE の値を適応則入力ｕadp に応じて調整する（可変的に設定する）ことで、空燃比基準値FLAF/BASE の値を前記定常収束状態における目標空燃比KCMDの実際の中心的な値に近づけることが可能である。この場合、より具体的には、例えば、適応則入力ｕadp が「０」近傍の値よりも大きいとき、空燃比基準値FLAF/BASE を徐々に増加させ、適応則入力ｕadp が「０」近傍の値よりも小さいとき、空燃比基準値FLAF/BASE を徐々に減少させる、というような処理を行えば、上記のような空燃比基準値FLAF/BASE の調整をリアルタイムで行うことができる。
【０２９４】
このように空燃比基準値FLAF/BASE をスライディングモード制御器１３が求める適応則入力ｕadp に応じて調整する（可変的に設定する）ことで、前記式（１）により表した対象系モデルと実際の対象系Ｅとの整合性をより高める（モデル化誤差をより小さくする）ことができ、前記同定器１１が求める同定ゲイン係数a1ハット，a2ハット，b1ハットや、推定器１２が求めるＯ2 センサ４の推定偏差出力VO2 バーの信頼性をより高めることが可能となる。その結果、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御の精度を高めることができる。また、スライディングモード制御器１３が求める適応則入力ｕadp の絶対値が小さくて済むため、Ｏ2 センサ４の出力VO2/OUT の目標値VO2/TARGETへの収束制御の速応性を高めることができる。
【０２９５】
また、前記実施形態では、目標空燃比KCMDをエンジン１の空燃比を操作するための操作量として空燃比処理制御器５ａにより生成するようにしたが、例えば前記第２補正係数KCMDM に相当するエンジン１の燃料噴射量の補正量を、エンジン１の空燃比を操作するための操作量として、Ｏ2 センサの出力VO2/OUT を目標値VO2/TARGETに収束させるように生成することも可能である。
【０２９６】
また、前記実施形態では、スライディングモード制御器１３は、適応スライディングモード制御の処理により要求偏差空燃比ｕslを生成するようにしたが、適応則（適応アルゴリズム）を用いない一般のスライディングモード制御の処理により要求偏差空燃比ｕslや、目標空燃比KCMDを生成するようにしてもよい。この場合には、前記式（１３）の適応則入力ｕadp を省略した演算によって、要求偏差空燃比ｕsl（＝ｕeq＋ｕrch ）を求め、これに空燃比基準値FLAF/BASE を加算することで目標空燃比KCMDを生成すればよい。
【０２９７】
さらに、スライディングモード制御以外にも、同定器１１が求める同定ゲイン係数a1ハット，a2ハット，b1ハットを用いて要求偏差空燃比ｕslや目標空燃比KCMDに相当するものを生成し得るものであれば、適応制御やＨ∞制御等、他の制御手法を用いるようにしてもよい。
【０２９８】
また、前記実施形態では、対象系Ｅは、１次目の自己回帰項と２次目の自己回帰項とを含む対象系モデルにより表したが、より高次の自己回帰項を含むモデルにより表現するようにしてもよい。これと同様に、適応スライディングモード制御用の切換関数は、Ｏ2 センサ４の偏差出力VO2 のより多くの時系列データを成分とする線形関数（例えばVO2(k),VO2(k-1),VO2(k-2)を成分とする線形関数）により定義してもよい。
【０２９９】
また、前記実施形態では、前記ＳＬＤ制御状態が不安定であると判断したとき、要求偏差空燃比ｕslの値、ひいては目標空燃比KCMDを強制的に所定値に設定するようにしたが、十分に狭い所定範囲内の値に制限するようにしてもよい。この場合には、図６のメインルーチン処理におけるＳＴＥＰ１０で、前記フラグf/sld/stb の値が「０」である場合（ＳＬＤ制御状態が不安定であると判断された場合）に、専用的に定めた所定の許容範囲（十分に狭い範囲）によって、前記ＳＴＥＰ１１と同様のリミット処理を要求偏差空燃比ｕslに施すようにすればよい。
【０３００】
また、前記実施形態では、対象系Ｅが比較的長い無駄時間ｄを有することから、推定器１２を備えたが、対象系Ｅの無駄時間が十分に小さいような場合にあっては、推定器１２を省略するようにしてもよい。この場合には、スライディングモード制御器は、前記式（１４）、（１５）、（１８）において、ｄ＝０とした式によって等価制御入力ｕeq、到達則入力ｕrch 及び適応則入力ｕadp を求め、それらの総和を要求偏差空燃比ｕslとして求めるようにすればよい。また、この場合において、前記実施形態のように同定器１１により同定する対象系モデルのパラメータの値を制限する場合には、その制限条件は、推定器１２の処理と無関係に、制御の安定性等を考慮し、各種実験やシミュレーションを通じて設定すればよい。例えば、図９のα1 ，α2 をａ1 ，ａ2 に置き換えた場合の領域Ｑ1 Ｑ2 Ｑ3 内に同定ゲイン係数ａ1 ハット，ａ2 ハットの値の組み合わせを制限し、同定ゲイン係数ｂ1 ハットは、前記実施形態と同様に、B1L ≦ｂ1 ハット≦B1H の条件を満たすように制限すればよい。
【０３０１】
また、前記実施形態では、対象系Ｅの無駄時間ｄをあらかじめ定めた値に固定したが、ゲイン係数a1,a2,b1と共に該無駄時間ｄを逐次同定するようにすることも可能である。この場合において、同定する無駄時間ｄの値は、ゲイン係数a1,a2,b1と同様に適当な条件によって制限するようにしてもよい。
【図面の簡単な説明】
【図１】本発明の内燃機関の空燃比制御装置の一実施形態の全体的システム構成図。
【図２】図１の装置で使用するＯ2 センサの出力特性図。
【図３】図１の装置で用いるスライディングモード制御を説明するための説明図。
【図４】図１の装置の内燃機関の燃料制御に係わる処理を説明するためのフローチャート。
【図５】図４のフローチャートのサブルーチン処理を説明するためのフローチャート。
【図６】図１の装置の目標空燃比の生成に係わるメインルーチン処理を説明するためのフローチャート。
【図７】図６のフローチャートのサブルーチン処理を説明するためのフローチャート。
【図８】図６のフローチャートのサブルーチン処理を説明するためのフローチャート。
【図９】図８のフローチャートの部分的処理を説明するための説明図。
【図１０】図８のフローチャートの部分的処理を説明するための説明図。
【図１１】図８のフローチャートのサブルーチン処理を説明するためのフローチャート。
【図１２】図６のフローチャートのサブルーチン処理を説明するためのフローチャート。
【図１３】図６のフローチャートのサブルーチン処理を説明するためのフローチャート。
【符号の説明】
１…エンジン（内燃機関）、２…排気管（排気通路）、３…触媒装置、４…Ｏ2 センサ（排ガスセンサ）、５ａ…空燃比処理制御器（操作量生成手段）、５ｂ…燃料処理制御器（空燃比操作手段）、１１…同定器（同定手段）、１２…推定器（推定手段）。
【図１】
0003773684.tif 000028
【図２】
0003773684.tif 000029
【図３】
0003773684.tif 000030
【図４】
0003773684.tif 000031
【図５】
0003773684.tif 000032
【図６】
0003773684.tif 000033
【図７】
0003773684.tif 000034
【図８】
0003773684.tif 000035
【図９】
0003773684.tif 000036
【図１０】
0003773684.tif 000037
【図１１】
0003773684.tif 000038
【図１２】
0003773684.tif 000039
【図１３】
0003773684.tif 000040