(57)【特許請求の範囲】
【請求項１】
内燃機関の排気系に設けられた空燃比検出手段と、前記空燃比検出手段の出力に基づいて、所定の漸化式を用いて適応パラメータを調整する適応パラメータ調整手段を有する適応制御器を用いて前記機関に供給する混合気の空燃比を目標空燃比に収束させるように適応制御量を算出し、該適応制御量により前記機関に供給する混合気の空燃比をフィードバック制御するフィードバック制御手段とを備えた内燃機関の空燃比制御装置において、
前記適応制御器の動作が不安定となり易い特定機関運転状態を検出する特定機関運転状態検出手段と、
前記特定機関運転状態が検出されたときは、前記適応パラメータを、前記適応制御量に応じて初期化する初期化手段とを備えることを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記空燃比検出手段の出力と前記目標空燃比との偏差に応じて、前記空燃比の補正量を算出し、該補正量により前記混合気の空燃比をフィードバック制御する第２のフィードバック制御手段を更に備え、前記初期化手段は、前記特定機関運転状態が検出されたときに、前記適応パラメータを前記補正量に応じて初期化することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
前記適応制御量の学習値を算出する学習手段を更に備え、前記初期化手段は、前記特定機関運転状態が検出されたときに、前記適応パラメータを前記学習値に応じて初期化することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項４】
前記補正量の学習値を算出する学習手段を更に備え、前記初期化手段は、前記特定機関運転状態が検出されたときに、前記適応パラメータを前記学習値に応じて初期化することを特徴とする請求項２に記載の内燃機関の空燃比制御装置。
【請求項５】
前記特定機関運転状態検出手段は、前記適応パラメータの値が、所定の安定条件を満たさない状態を検出することを特徴とする請求項１または２に記載の内燃機関の空燃比制御装置。
【請求項６】
前記特定機関運転状態検出手段は、前記機関がアイドル状態からアイドル状態以外の運転状態に移行した直後の状態を検出することを特徴とする請求項１、３または４のいずれかに記載の内燃機関の空燃比制御装置。
【請求項７】
前記特定機関運転状態検出手段は、前記適応制御器による制御を開始した直後の状態を検出することを特徴とする請求項１または２に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関し、特に適応制御理論を応用したフィードバック制御により、機関に供給する混合気の空燃比をフィードバック制御する空燃比制御装置に関する。
【０００２】
【従来の技術】
適応制御理論に基づく、漸化式形式の適応パラメータ調整機構を備える適応制御器を用いて空燃比制御量を算出し、これを用いて機関に供給する混合気の空燃比を目標空燃比にフィードバック制御する空燃比制御装置は、従来より知られている（例えば特開平８−２９１７４３号公報）。この装置では、機関排気系に設けられた空燃比センサによる検出空燃比が適応制御器に入力され、フィードバック制御が行われる。
【０００３】
この公報に示された装置では、適応パラメータ調整機構によって算出される適応パラメータの値によって適応制御の安定判別を行い、不安定と判別したときは、適応パラメータを初期値に戻す処理を行っている。
【０００４】
また、特開平８−２９１７４７号公報には、適応制御の開始時においては、適応制御器の出力である空燃比制御量がその中心値となるように、目標空燃比に応じて適応パラメータの初期値設定を行う手法が示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、特開平８−２９１７４３号公報に示された初期化処理では、適応パラメータの初期値は固定値であるため、初期化後に適応パラメータが最適値に収束するまでに時間がかかり、一時的に制御性能が低下することがあった。
【０００６】
また、特開平８−２９１７４７号公報に示された適応パラメータの初期値設定手法では、空燃比制御量がその中心値となるように初期値設定がなされるため、例えば適応制御と通常のＰＩＤ制御とを切り換えて実行する場合に、空燃比制御量がその切り換え時点（適応制御開始時点）で、空燃比が急変することがあった。
【０００７】
本発明はこの点に着目してなされたものであり、適応制御器を用いた制御が不安定となり易い機関運転状態において、適応パラメータを適切に設定し、制御性能の低下や空燃比の急変を回避することができる空燃比制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため請求項１に記載の発明は、内燃機関の排気系に設けられた空燃比検出手段と、前記空燃比検出手段の出力に基づいて、所定の漸化式を用いて適応パラメータを調整する適応パラメータ調整手段を有する適応制御器を用いて前記機関に供給する混合気の空燃比を目標空燃比に収束させるように適応制御量を算出し、該適応制御量により前記機関に供給する混合気の空燃比をフィードバック制御するフィードバック制御手段とを備えた内燃機関の空燃比制御装置において、前記適応制御器の動作が不安定となり易い特定機関運転状態を検出する特定機関運転状態検出手段と、前記特定機関運転状態が検出されたときは、前記適応パラメータを、前記適応制御量に応じて初期化する初期化手段とを備えることを特徴とする。
【０００９】
この構成によれば、適応制御器の動作が不安定となり易い特定機関運転状態が検出され、該特定機関運転状態が検出されたときは、適応パラメータが、適応制御量に応じて初期化される。その結果、適応制御器を用いた制御が不安定となり易い機関運転状態において、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。
【００１０】
請求項２に記載の発明は、請求項１に記載の発明において、前記空燃比検出手段の出力と前記目標空燃比との偏差に応じて、前記空燃比の補正量を算出し、該補正量により前記混合気の空燃比をフィードバック制御する第２のフィードバック制御手段を更に備え、前記初期化手段は、前記特定機関運転状態が検出されたときに、前記適応パラメータを前記補正量に応じて初期化することを特徴とする。
【００１１】
この構成によれば、空燃比検出手段の出力と目標空燃比との偏差に応じて、空燃比の補正量が算出され、前記特定機関運転状態が検出されたときに、適応パラメータが前記補正量に応じて初期化される。その結果、例えば適応制御の開示時のような場合においても、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。
【００１２】
請求項３に記載の発明は、請求項１に記載の発明において、前記適応制御量の学習値を算出する学習手段を更に備え、前記初期化手段は、前記特定機関運転状態が検出されたときに、前記適応パラメータを前記学習値に応じて初期化することを特徴とする。
【００１３】
この構成によれば、適応制御量の学習値が算出され、前記特定機関運転状態が検出されたときに、適応パラメータが前記学習値に応じて初期化される。その結果、信頼性の高い学習値に応じて適応パラメータが適切に設定されるため、制御性能の低下を回避することができる。
【００１４】
請求項４に記載の発明は、請求項２に記載の発明において、前記補正量の学習値を算出する学習手段を更に備え、前記初期化手段は、前記特定機関運転状態が検出されたときに、前記適応パラメータを前記学習値に応じて初期化することを特徴とする。
【００１５】
この構成によれば、前記補正量の学習値が算出され、前記特定機関運転状態が検出されたときに、適応パラメータが前記学習値に応じて初期化される。その結果、信頼性の高い学習値に応じて適応パラメータが適切に設定されるため、制御性能の低下を回避することができる。
【００１６】
請求項５に記載の発明は、請求項１または２に記載の発明において、前記特定機関運転状態検出手段は、前記適応パラメータの値が、所定の安定条件を満たさない状態を検出することを特徴とする。
【００１７】
この構成によれば、適応パラメータの値が、所定の安定条件を満たさない状態が検出されたとき、適応パラメータが、適応制御量または他の制御量に応じて初期化される。その結果、適応パラメータの値が、所定の安定条件を満たさない状態において、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。
【００１８】
請求項６に記載の発明は、請求項１、３または４のいずれかに記載の発明において、前記特定機関運転状態検出手段は、前記機関がアイドル状態からアイドル状態以外の運転状態に移行した直後の状態を検出することを特徴とする。
【００１９】
この構成によれば、機関がアイドル状態からアイドル状態以外の運転状態に移行した直後の状態が検出されたとき、適応パラメータが、適応制御量または他の制御量に応じて初期化される。その結果、機関がアイドル状態からアイドル状態以外の運転状態に移行した直後の状態において、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。
【００２０】
請求項７に記載の発明は、請求項１または２に記載の発明において、前記特定機関運転状態検出手段は、前記適応制御器による制御を開始した直後の状態を検出することを特徴とする。
【００２１】
この構成によれば、適応制御器による制御を開始した直後の状態が検出されたとき、適応パラメータが、適応制御量または他の制御量に応じて初期化される。その結果、適応制御の開始直後において、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。
【００２２】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
【００２３】
図１は本発明の実施の一形態にかかる内燃機関（以下「エンジン」という）及びその制御装置の構成を示す図である。同図中、１は４気筒のエンジンである。
【００２４】
エンジン１の吸気管２は分岐部（吸気マニホルド）１１を介してエンジン１の各気筒の燃焼室に連通する。吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（θＴＨ）センサ４が連結されており、スロットル弁開度θＴＨに応じた電気信号を出力して電子コントロールユニット（以下「ＥＣＵ」という）５に供給する。吸気管２には、スロットル弁３をバイパスする補助空気通路６が設けられており、該通路６の途中には補助空気量制御弁７が配されている。補助空気量制御弁７は、ＥＣＵ５に接続されており、ＥＣＵ５によりその開弁量が制御される。
【００２５】
吸気管２のスロットル弁３の上流側には吸気温（ＴＡ）センサ８が装着されており、その検出信号がＥＣＵ５に供給される。吸気管２のスロットル弁３と吸気マニホルド１１の間には、チャンバ９が設けられており、チャンバ９には吸気管内絶対圧（ＰＢＡ）センサ１０が取り付けられている。ＰＢＡセンサ１０の検出信号はＥＣＵ５に供給される。
【００２６】
エンジン１の本体にはエンジン水温（ＴＷ）センサ１３が装着されており、その検出信号がＥＣＵ５に供給される。ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１４が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１４は、エンジン１の特定の気筒の所定クランク角度位置で信号パルス（以下「ＣＹＬ信号パルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０度毎に）ＴＤＣ信号パルスを出力するＴＤＣセンサ及びＴＤＣ信号パルスより短い一定クランク角周期（例えば３０度周期）で１パルス（以下「ＣＲＫ信号パルス」という）を発生するＣＲＫセンサから成り、ＣＹＬ信号パルス、ＴＤＣ信号パルス及びＣＲＫ信号パルスがＥＣＵ５に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数ＮＥの検出に使用される。
【００２７】
吸気マニホルド１１の吸気弁の少し上流側には、各気筒毎に燃料噴射弁１２が設けられており、各噴射弁は図示しない燃料ポンプに接続されているとともにＥＣＵ５に電気的に接続されて、ＥＣＵ５からの信号により燃料噴射時期及び燃料噴射時間（開弁時間）が制御される。エンジン１の点火プラグ（図示せず）もＥＣＵ５に電気的に接続されており、ＥＣＵ５により点火時期θＩＧが制御される。
【００２８】
排気管１６は分岐部（排気マニホルド）１５を介してエンジン１の燃焼室に接続されている。排気管１６には分岐部１５が集合する部分の直ぐ下流側に、空燃比検出手段としての広域空燃比センサ（以下「ＬＡＦセンサ」という）１７が設けられている。さらにＬＡＦセンサ１７の下流側には直下三元触媒１９及び床下三元触媒２０が配されており、またこれらの三元触媒１９及び２０の間には酸素濃度センサ（以下「Ｏ２センサ」という）１８が装着されている。三元触媒１９、２０は、排気ガス中のＨＣ，ＣＯ，ＮＯｘ等の浄化を行う。
【００２９】
ＬＡＦセンサ１７は、ローパスフィルタ２２を介してＥＣＵ５に接続されており、排気ガス中の酸素濃度（空燃比）に略比例した電気信号を出力し、その電気信号をＥＣＵ５に供給する。Ｏ２センサ１８は、その出力が理論空燃比の前後において急激に変化する特性を有し、その出力は理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。Ｏ２センサ１８は、ローパスフィルタ２３を介してＥＣＵ５に接続されており、その検出信号はＥＣＵ５に供給される。ローパスフィルタ２２、２３は、高周波ノイズ成分をカットするするために設けられたものであり、制御系の応答特性に対する影響は無視しうる程度のものである。
【００３０】
エンジン１は、吸気弁及び排気弁のうち少なくとも吸気弁のバルブタイミングを、エンジンの高速回転領域に適した高速バルブタイミングと、低速回転領域に適した低速バルブタイミングとの２段階に切換可能なバルブタイミング切換機構６０を有する。このバルブタイミングの切換は、弁リフト量の切換も含み、さらに低速バルブタイミング選択時は２つの吸気弁のうちの一方を休止させて、空燃比を理論空燃比よりリーン化する場合においても安定した燃焼を確保するようにしている。
【００３１】
バルブタイミング切換機構６０は、バルブタイミングの切換を油圧を介して行うものであり、この油圧切換を行う電磁弁及び油圧センサ（図示せず）がＥＣＵ５接続されている。油圧センサの検出信号はＥＣＵ５に供給され、ＥＣＵ５は電磁弁を制御してバルブタイミングの切換制御を行う。
【００３２】
また、ＥＣＵ５には、大気圧を検出する大気圧（ＰＡ）センサ２１が接続されており、その検出信号がＥＣＵ５に供給される。
【００３３】
ＥＣＵ５は、上述した各種センサからの入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変化する等の機能を有する入力回路と、中央処理回路（ＣＰＵ）と、該ＣＰＵで実行される各種演算プログラムや後述する各種マップ及び演算結果等を記憶するＲＯＭ及びＲＡＭからなる記憶回路と、燃料噴射弁１２等の各種電磁弁や点火プラグに駆動信号を出力する出力回路とを備えている。
【００３４】
ＥＣＵ５は、上述の各種エンジン運転パラメータ信号に基づいて、ＬＡＦセンサ１７及びＯ２センサ１８の出力に応じたフィードバック制御運転領域やオープン制御運転領域等の種々のエンジン運転状態を判別するとともに、エンジン運転状態に応じ、下記数式１により燃料噴射弁１２の燃料噴射時間ＴＯＵＴを演算し、この演算結果に基づいて燃料噴射弁１２を駆動する信号を出力する。
【００３５】
【数１】
ＴＯＵＴ＝ＴＩＭＦ×ＫＴＯＴＡＬ×ＫＣＭＤＭ×ＫＦＢ
図２は上記数式１による燃料噴射時間ＴＯＵＴの算出手法を説明するための機能ブロック図であり、これを参照して本実施の形態における燃料噴射時間ＴＯＵＴの算出手法の概要を説明する。なお、本実施の形態ではエンジンへの燃料供給量は燃料噴射時間として算出されるが、これは噴射される燃料量に対応するので、ＴＯＵＴを燃料噴射量若しくは燃料量とも呼んでいる。
【００３６】
図２においてブロックＢ１は、吸入空気量に対応した基本燃料量ＴＩＭＦを算出する。この基本燃料量ＴＩＭＦは、基本的にはエンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されるが、スロットル弁３からエンジン１の燃焼室に至る吸気系をモデル化し、その吸気系モデルに基づいて吸入空気の遅れを考慮した補正を行うことが望ましい。その場合には、検出パラメータとしてスロットル弁開度θＴＨ及び大気圧ＰＡをさらに用いる。
【００３７】
ブロックＢ２〜Ｂ４は乗算ブロックであり、ブロックの入力パラメータを乗算して出力する。これらのブロックにより、上記数式１の演算が行われ、燃料噴射量ＴＯＵＴが得られる。
【００３８】
ブロックＢ９は、エンジン水温ＴＷに応じて設定されるエンジン水温補正係数ＫＴＷ，排気還流実行中に排気還流量に応じて設定されるＥＧＲ補正係数ＫＥＧＲ，蒸発燃料処理装置によるパージ実行時にパージ燃料量に応じて設定されるパージ補正係数ＫＰＵＧ等のフィードフォワード系補正係数をすべて乗算することにより、補正係数ＫＴＯＴＡＬを算出し、ブロックＢ２に入力する。
【００３９】
ブロックＢ２１は、エンジン回転数ＮＥ、吸気管内絶対圧ＰＢＡ等に応じて目標空燃比係数ＫＣＭＤを決定し、ブロック２２に入力する。目標空燃比係数ＫＣＭＤは、空燃比Ａ／Ｆの逆数、すなわち燃空比Ｆ／Ａに比例し、理論空燃比のとき値１．０をとるので、目標当量比ともいう。ブロックＢ２２は、ローパスフィルタ２３を介して入力されるＯ２センサ出力ＶＭＯ２に基づいて目標空燃比係数ＫＣＭＤを修正し、ブロックＢ１８、Ｂ２３及びＢ２４に入力する。ブロックＢ２３は、ＫＣＭＤ値に応じて燃料冷却補正を行い最終目標空燃比係数ＫＣＭＤＭを算出し、ブロックＢ３に入力する。
【００４０】
ブロックＢ１０は、ローパスフィルタ２２を介して入力されるＬＡＦセンサ出力値を、ＣＲＫ信号パルスの発生毎にサンプリングし、そのサンプル値をリングバッファメモリに順次記憶し、エンジン運転状態に応じて最適のタイミングでサンプリングしたサンプル値を選択し（ＬＡＦセンサ出力選択処理）、ブロックＢ１７に入力するとともにローパスフィルタブロックＢ１６を介してブロックＢ１８に入力する。このＬＡＦセンサ出力選択処理は、サンプリングのタイミングによっては変化する空燃比を正確に検出できないこと、燃焼室から排出される排気ガスがＬＡＦセンサ１７に到達するまでの時間やＬＡＦセンサ自体の反応時間がエンジン運転状態によって変化することを考慮したものである。
【００４１】
ブロックＢ１８は、検出空燃比と目標空燃比との偏差に応じてＰＩＤ制御によりＰＩＤ補正係数ＫＬＡＦを算出してブロックＢ２０に入力する。ブロックＢ１７は、ＬＡＦセンサ１７の検出空燃比に基づいて適応制御（Ｓｅｌｆ  Ｔｕｎｉｎｇ  Ｒｅｇｕｌａｔｉｏｎ）により適応補正係数ＫＳＴＲを算出してブロックＢ１９に入力する。この適応制御は、目標空燃比係数ＫＣＭＤ（ＫＣＭＤＭ）を基本燃料量ＴＩＭＦに乗算するだけでは、エンジンの応答遅れがあるため目標空燃比がなまされた検出空燃比になってしまうため、これを動的に補償し、外乱に対するロバスト性を向上させるために導入したものである。ブロックＢ１９は、適応補正係数ＫＳＴＲを目標空燃比係数ＫＣＭＤで除算し、ブロックＢ２０に入力する。この除算処理は、適応補正係数ＫＳＴＲは、検出当量比ＫＡＣＴが目標空燃比係数ＫＣＭＤに一致するように演算され、目標空燃比係数ＫＣＭＤに対応する要素を含むので、基本燃料量ＴＩＭＦに対して、目標空燃比係数ＫＣＭＤに対応する要素が重複して乗算されないようにするために行われる。
【００４２】
ブロックＢ２０は、入力されるＰＩＤ補正係数ＫＬＡＦ及び適応補正係数ＫＳＴＲ／ＫＣＭＤのいずれか一方をエンジン運転状態に応じて選択し、フィードバック補正係数ＫＦＢとしてブロックＢ４に入力する。これは、エンジン運転状態によっては、適応制御ではなく従来のＰＩＤ制御によって算出したＰＩＤ補正係数ＫＬＡＦを用いた方がよいことを考慮したものである。
【００４３】
以上のように本実施の形態では、ＬＡＦセンサ１７の出力に応じて通常のＰＩＤ制御により算出したＰＩＤ補正係数ＫＬＡＦと、適応制御により算出した適応補正係数ＫＳＴＲとを切り換えて、補正係数ＫＦＢとして上記数式１に適用して、燃料噴射量ＴＯＵＴを算出している。適応補正係数ＫＳＴＲにより、検出される空燃比変化に対する追従性及び外乱に対するロバスト性を向上させ、触媒の浄化率を向上させ、種々のエンジン運転状態において良好な排気ガス特性を得ることができる。
【００４４】
本実施の形態では、上述した図２の各ブロックの機能は、ＥＣＵ５のＣＰＵによる演算処理により実現されるので、この処理のフローチャートを参照して処理の内容を具体的に説明する。なお、以下の説明において添え字（ｋ）は、離散系におけるサンプリング時刻に対応するものであり、（ｋ）、（ｋ−１）等がそれぞれ今回値、前回値等に対応する。ただし、今回値を示す（ｋ）は特に必要のない限り省略している。
【００４５】
図３は、ＬＡＦセンサ１７の出力に応じて、ＰＩＤ補正係数ＫＬＡＦ及び適応補正係数ＫＳＴＲを算出し、最終的にフィードバック補正係数ＫＦＢを算出する処理のフローチャートである。本処理はＴＤＣ信号パルスの発生毎に実行される。
【００４６】
ステップＳ１では、始動モードか否か、すなわちクランキング中か否かを判別し、始動モードのときは始動モードの処理へ移行する。始動モードでなければ、目標空燃比係数（目標当量比）ＫＣＭＤ及び最終目標空燃比係数ＫＣＭＤＭの算出（ステップＳ２）及びＬＡＦセンサ出力の読み込みを行う（ステップＳ３）とともに検出当量比ＫＡＣＴの演算を行う（ステップＳ４）。検出当量比ＫＡＣＴは、ＬＡＦセンサ１７の出力を当量比に変換したものである。
【００４７】
次いでＬＡＦセンサ１７の活性化が完了したか否かの活性判別を行う（ステップＳ５）。これは、例えばＬＡＦセンサ１７の出力電圧とその中心電圧との差を所定値（例えば０．４Ｖ）と比較し、該差が所定値より小さいとき活性化が完了したと判別するものである。
【００４８】
次にエンジン運転状態がＬＡＦセンサ１７の出力に基づくフィードバック制御を実行する運転領域（以下「ＬＡＦフィードバック領域」という）にあるか否かの判別を行う（ステップＳ６）。これは、例えばＬＡＦセンサ１７の活性化が完了し、且つフュエルカット中やスロットル全開運転中でないとき、ＬＡＦフィードバック領域と判定するものである。この判別の結果、ＬＡＦフィードバック領域にないときはリセットフラグＦＫＬＡＦＲＥＳＥＴを「１」に設定し、ＬＡＦフィードバック領域にあるときは「０」とする。
【００４９】
続くステップＳ７では、リセットフラグＦＫＬＡＦＲＥＳＥＴが「１」か否かを判別し、ＦＫＬＡＦＲＥＳＥＴ＝１のときは、ステップＳ８に進んでＰＩＤ補正係数ＫＬＡＦ、適応補正係数ＫＳＴＲ及びフィードバック補正係数ＫＦＢをいずれもに「１．０」に設定し、ＰＩＤ制御の積分項ＫＩＦを「０」に設定するとともに、ＰＩＤ補正係数ＫＬＡＦをフィードバック補正係数ＫＦＢとすることを「１」で示すＰＩＤ制御フラグＦＰＩＤＦＢ及び適応補正係数ＫＳＴＲをフィードバック補正係数ＫＦＢとすることを「１」で示す適応制御フラグＦＳＴＲＦＢをともに「０」に設定して、本処理を終了する。また、ＦＫＬＡＦＲＥＳＥＴ＝０のときは、フィードバック補正係数ＫＦＢの演算を行って（ステップＳ９）、本処理を終了する。
【００５０】
図４は、図３のステップＳ６におけるＬＡＦフィードバック領域判別処理のフローチャートである。
【００５１】
先ずステップＳ１２１では、ＬＡＦセンサ１７が不活性状態にあるか否かを判別し、活性状態にあるときはフュエルカット中であることを「１」で示すフラグＦＦＣが「１」か否かを判別し（ステップＳ１２２）、ＦＦＣ＝０であるときは、スロットル弁全開中であることを「１」で示すフラグＦＷＯＴが「１」か否かを判別し（ステップＳ１２３）、ＦＷＯＴ＝１でないときは、図示しないセンサによって検出したバッテリ電圧ＶＢＡＴが所定下限値ＶＢＬＯＷより低いか否かを判別し（ステップＳ１２４）、ＶＢＡＴ≧ＶＢＬＯＷであるときは、理論空燃比に対応するＬＡＦセンサ出力のずれ（ＬＡＦセンサストイキずれ）があるか否かを判別する。そして、ステップＳ１２１〜Ｓ１２５のいずれかの答が肯定（ＹＥＳ）のときは、ＬＡＦセンサ出力に基づくフィードバック制御を停止すべき旨を「１」で示すＫＬＡＦリセットフラグＦＫＬＡＦＲＥＳＥＴを「１」に設定する（ステップＳ１３２）。
【００５２】
一方、ステップＳ１２１〜Ｓ１２５の答がすべて否定（ＮＯ）のときは、ＬＡＦセンサ出力に基づくフィードバック制御を実行可能と判定して、ＫＬＡＦリセットフラグＦＫＬＡＦＲＥＳＥＴを「０」に設定する（ステップＳ１３１）。
【００５３】
図５は、図３のステップＳ９におけるフィードバック補正係数ＫＦＢの算出処理のフローチャートである。
【００５４】
ステップＳ２０１では、所定の異常検知（例えばＬＡＦセンサ１７やスロットル弁開度センサ４の異常検知、あるいは失火検知など）がなされたことを「１」で示す異常検知フラグＦＦＳが「１」か否かを判別し、ＦＦＳ＝０であるときは、エンジン水温ＴＷが所定水温ＴＷＳＴＲＯＮ（例えば７５℃）より高いか否かを判別し（ステップＳ２０２）、ＴＷ＞ＴＷＳＴＲＯＮであるときは、エンジン回転数ＮＥが所定回転数ＮＥＳＴＲＬＴ（例えば５０００ｒｐｍ）より低いか否かを判別する（ステップＳ２０３）。その結果、ステップＳ２０１の答が肯定（ＹＥＳ）、またはステップＳ２０２若しくはＳ２０３の答が否定（ＮＯ）のときは、フィードバック補正係数ＫＦＢとしてＰＩＤ補正係数ＫＬＡＦを採用することとしてステップＳ２１１に進み、ステップＳ２０１の答が否定（ＮＯ）かつステップＳ２０２及びＳ２０３の答が共に肯定（ＹＥＳ）であるときは、フィードバック補正係数ＫＦＢとして適応補正係数ＫＳＴＲを採用することとしてステップＳ２０４に進む。
【００５５】
ステップＳ２０４では、適応制御フラグＦＳＴＲＦＢを「１」に、ＰＩＤ制御フラグＦＰＩＤＦＢを「０」に設定し、次いでＫＳＴＲ算出処理（図８）を実行する（ステップＳ２０５）。ステップＳ２０６では、フィードバック補正係数ＫＦＢを、適応補正係数ＫＳＴＲを目標当量比ＫＣＭＤで除算した値に設定し、次いでフィードバック補正係数ＫＦＢのリミットチェック処理を実行する（ステップＳ２０７）。ステップＳ２０７及び後述するステップＳ２１４のリミットチェック処理は、フィードバック補正係数ＫＦＢが所定の上下限値で決まる許容範囲内にあるか否かを判別し、許容範囲外であるときは、フィードバック補正係数ＫＦＢをその上限値または下限値に設定する処理である。
【００５６】
ステップＳ２０８では、下記式により学習値ＫＲＥＦｉ（ｉ＝０，１）を算出する。ここで、ｉは、エンジンがアイドル状態のとき「０」に設定され、アイドル状態以外の状態（以下「オフアイドル状態」という）のとき「１」に設定される運転状態パラメータであり、学習値ＫＲＥＦｉは、各運転状態に対応して算出される。
【００５７】
ＫＲＥＦｉ＝ＣＲＥＦ×ＫＦＢ＋（１−ＣＲＥＦ）×ＫＲＥＦｉ
ここで、右辺のＫＲＥＦｉは、前回算出値、ＣＲＥＦは０から１の間の値に設定されるなまし係数である。
【００５８】
一方ステップＳ２１１では、適応制御フラグＦＳＴＲＦＢを「０」に、ＰＩＤ制御フラグＦＰＩＤＦＢを「１」に設定し、次いでＫＬＡＦ算出処理（図６）を実行する（ステップＳ２１２）。続くステップＳ２１３では、フィードバック補正係数ＫＦＢをステップＳ２１２で算出したＰＩＤ補正係数ＫＬＡＦに設定し、フィードバック補正係数ＫＦＢのリミットチェック処理を実行する（ステップＳ２１４）。ステップＳ２１５では、適応補正係数ＫＳＴＲをＰＩＤ補正係数ＫＬＡＦに目標当量比ＫＣＭＤを乗算した値に設定する。これは、適応制御開始時の適応補正係数ＫＳＴＲの初期値として使用される。ステップＳ２１５実行後は、前記ステップＳ２０８に進み、学習値ＫＲＥＦの算出を行う。
【００５９】
図６は、図５のステップＳ２１２におけるＫＬＡＦ算出処理のフローチャートである。
【００６０】
先ずステップＳ３０１では、前回（本処理の前回実行時）においてＰＩＤ制御フラグＦＰＩＤＦＢが「１」であったか否かを判別し、前回もＦＰＩＤＦＢ＝１であったときは直ちに、また前回ＦＰＩＤＦＢ＝０であったときは、ＰＩＤ制御の積分項の前回値ＫＩＦ（ｋ−１）を最新のフィードバック補正係数ＫＦＢに設定して（ステップＳ３０２）、ステップＳ３０３に進む。
【００６１】
ステップＳ３０３では、下記式によりＰＩＤ制御の比例項ＫＰＦ、積分項ＫＩＦ及び微分項ＫＤＦを算出する。
【００６２】
ＫＰＦ＝ＫＰＬＡＦ×ＤＫＣＭＤ
ＫＩＦ＝ＫＩＬＡＦ×ＤＫＣＭＤ＋ＫＩＦ（ｋ−１）
ＫＤＦ＝ＫＤＬＡＦ×（ＤＫＣＭＤ（ｋ）−ＤＫＣＭＤ（ｋ−１））
ここで、ＤＫＣＭＤは、目標当量比ＫＣＭＤと検出当量比ＫＡＣＴとの偏差（＝ＫＣＭＤ−ＫＡＣＴ）、ＫＰＬＡＦ，ＫＩＬＡＦ及びＫＤＬＡＦは、それぞれ実験的に決定される比例制御ゲイン、積分制御ゲイン及び微分制御ゲインである。
【００６３】
続くステップＳ３０４〜Ｓ３０７では、積分項ＫＩＦのリミット処理を行う。すなわち、積分項ＫＩＦが上限値Ｏ２ＬＭＴＨより大きいときは、ＫＩＦ＝Ｏ２ＬＭＴＨとし（ステップＳ３０６、Ｓ３０７）、下限値Ｏ２ＬＭＴＬより小さいときは、ＫＩＦ＝Ｏ２ＬＭＴＬとし（ステップＳ３０４、Ｓ３０５）、上下限値Ｏ２ＬＭＴＨ，Ｏ２ＬＭＴＬの範囲内にあるときは、そのまま前記ステップＳ３０８に進む。
【００６４】
ステップＳ３０８では、下記式によりＰＩＤ補正係数ＫＬＡＦを算出する。
【００６５】
ＫＬＡＦ＝ＫＰＦ＋ＫＩＦ＋ＫＤＦ
次いでＰＩＤ補正係数ＫＬＡＦのリミット処理を行う（ステップＳ３０９〜Ｓ３１２）。すなわち、ＰＩＤ補正係数ＫＬＡＦが上限値Ｏ２ＬＭＴＨより大きいときは、ＫＬＡＦ＝Ｏ２ＬＭＴＨとし（ステップＳ３１１、Ｓ３１２）、下限値Ｏ２ＬＭＴＬより小さいときは、ＫＬＡＦ＝Ｏ２ＬＭＴＬとし（ステップＳ３０９、Ｓ３１０）、上下限値Ｏ２ＬＭＴＨ，Ｏ２ＬＭＴＬの範囲内にあるときは、そのまま本処理を終了する。
【００６６】
次に適応補正係数ＫＳＴＲ算出処理について、図７を参照して説明する。
【００６７】
図７は、図２のブロックＢ１７、すなわち適応制御（ＳＴＲ（Ｓｅｌｆ  Ｔｕｎｉｎｇ  Ｒｅｇｕｌａｔｏｒ））ブロックにおける演算処理を説明するための図であり、このＳＴＲブロックは、目標空燃比係数（目標当量比）ＫＣＭＤ（ｋ）と検出当量比ＫＡＣＴ（ｋ）とが一致するように適応補正係数ＫＳＴＲを設定するＳＴＲコントローラと、該ＳＴＲコントローラで使用する適応パラメータを設定する適応パラメータ調整機構とからなる。
【００６８】
公知の適応制御の調整則の一つに、ランダウらが提案したパラメータ調整則があり、本実施の形態では、このランダウらの調整則を用いた。ランダウらの調整則では、離散系の制御対象の伝達関数Ａ（Ｚ−１）／Ｂ（Ｚ−１）の分母分子の多項式を数式２のようにおいたとき、適応パラメータθハット（ｋ）及び適応パラメータ調整機構への入力ζ（ｋ）は、数式３、４のように定められる。数式３、４では、ｍ＝１、ｎ＝１、ｄ＝３の場合、即ち１次系で３制御サイクル分の無駄時間を持つプラントを例にとった。ここでｋは時刻、より具体的には制御サイクルを示す。また、数式４において、ｕ（ｋ）及びｙ（ｋ）は、本実施形態では、それぞれ適応補正係数ＫＳＴＲ（ｋ）及び検出当量比ＫＡＣＴ（ｋ）に対応する。
【００６９】
【数２】
0003549144.tif 000002
【００７０】
【数３】
0003549144.tif 000003
【００７１】
【数４】
0003549144.tif 000004
ここで、適応パラメータθハット（ｋ）は、数式５で表される。また、数式５中のΓ（ｋ）及びｅアスタリスク（ｋ）は、それぞれゲイン行列及び同定誤差信号であり、数式６及び数式７のような漸化式で表される。
【００７２】
【数５】
0003549144.tif 000005
【００７３】
【数６】
0003549144.tif 000006
【００７４】
【数７】
0003549144.tif 000007
数式６中のλ１（ｋ）、λ２（ｋ）の選び方により、種々の具体的なアルゴリズムが与えられる。λ１（ｋ）＝１，λ２（ｋ）＝λ（０＜λ＜２）とすると漸減ゲインアルゴリズム（λ＝１の場合、最小自乗法）、λ１（ｋ）＝λ１（０＜λ１＜１）、λ２（ｋ）＝λ２（０＜λ２＜２）とすると、可変ゲインアルゴリズム（λ２＝１の場合、重み付き最小自乗法）、λ１（ｋ）／λ２（ｋ）＝αとおき、λ３が数式８のように表されるとき、λ１（ｋ）＝λ３とおくと固定トレースアルゴリズムとなる。また、λ１（ｋ）＝１，λ２（ｋ）＝０のとき固定ゲインアルゴリズムとなる。この場合は数式５から明らかなように、Γ（ｋ）＝Γ（ｋ−１）となり、よってΓ（ｋ）＝Γの固定値となる。
【００７５】
また数式７のＤ（Ｚ−１）は、漸近安定な多項式であって収束性を決定するために任意に設定できるものである。
【００７６】
【数８】
0003549144.tif 000008
数式８において、ｔｒΓ（０）は、行列Γ（０）のトレース関数であり、具体的には、行列Γ（０）の対角成分の和（スカラ量）である。
【００７７】
ここで、図７にあっては、前記ＳＴＲコントローラ（適応制御器）と適応パラメータ調整機構とは燃料噴射量演算系の外におかれ、検出当量比ＫＡＣＴ（ｋ）が目標当量比ＫＣＭＤ（ｋ−ｄ’）（ここでｄ’はＫＣＭＤがＫＡＣＴに反映されるまでの無駄時間である）に適応的に一致するように動作して適応補正係数ＫＳＴＲ（ｋ）を演算する。
【００７８】
このように、適応補正係数ＫＳＴＲ（ｋ）及び検出当量比ＫＡＣＴ（ｋ）が適応パラメータ調整機構に入力され、そこで適応パラメータθハット（ｋ）が算出されてＳＴＲコントローラに入力される。ＳＴＲコントローラには入力として目標当量比ＫＣＭＤ（ｋ）が与えられ、検出当量比ＫＡＣＴ（ｋ）が目標当量比ＫＣＭＤ（ｋ）に一致するように漸化式を用いて適応補正係数ＫＳＴＲ（ｋ）が算出される。
【００７９】
適応補正係数ＫＳＴＲ（ｋ）は、具体的には数式９に示すように求められる。
【００８０】
【数９】
0003549144.tif 000009
次に数式９で算出される適応補正係数ＫＳＴＲを用いた制御の安定性について検討する。ここでは、エンジンを３制御サイクル分の無駄時間を有するプラントと仮定して、その伝達関数Ｇ＝Ｚ−３とし、また上記目標当量比ＫＣＭＤが検出当量比ＫＡＣＴに反映されるまでの無駄時間ｄ’＝２として検討する。
【００８１】
先ず数式９のＫＳＴＲ（ｋ）を、目標当量比ＫＣＭＤ（ｋ−２）で正規化したｕ（ｋ）＝ＫＳＴＲ（ｋ）／ＫＣＭＤ（ｋ−２）で置き換えると数式１０が得られる。またこのような正規化を行うと、検出当量比ＫＡＣＴ（ｋ）は、数式１１のように表される。
【００８２】
【数１０】
0003549144.tif 000010
【００８３】
【数１１】
0003549144.tif 000011
数式１０をさらに変形すると数式１２が得られ、これをｕ（ｋ）について解くと数式１３が得られる。数式１３のｕ（ｋ）を数式１１に適用し、適応制御系の伝達関数ＫＡＣＴ（ｋ）／ＫＣＭＤ（ｋ）を求めると、数式１４が得られる。
【００８４】
【数１２】
0003549144.tif 000012
【００８５】
【数１３】
0003549144.tif 000013
【００８６】
【数１４】
0003549144.tif 000014
適応制御系の安定条件は、数式１４の分母＝０の解が複素平面の単位円内に存在することであるが、この演算を、適応的に変化する適応パラメータｂ０，ｓ０，ｒ１〜ｒ３について常に行うことは、車載コンピュータでは実用的ではない。そこで、数式１４の分母多項式の複素数Ｚを実数ｘで置き換えた数式１５のｆ（ｘ）＝０の実数解が単位円内に存在する条件で簡易的に安定性判別を行うこととすると、−１＜ｘ＜１の範囲でｙ＝ｆ（ｘ）がｘ軸と交わる条件を求めればよい。
【００８７】
【数１５】
0003549144.tif 000015
そのためには、ｆ（−１）＜０でかつｆ（１）＞０であればよいので、これから数式１６、１７の条件が得られる。
【００８８】
【数１６】
0003549144.tif 000016
【００８９】
【数１７】
0003549144.tif 000017
数式１６を変形すると数式１８が得られるので、第１の安定判別パラメータＣＨＡＰＡＲ１＝（ｒ１−ｒ２＋ｒ３＋ｓ０）／ｂ０とし、第１の安定条件を数式１９のように設定する。ここで、ＯＫＳＴＲ１は、第１の判別閾値であり、例えば０．４とする。
【００９０】
【数１８】
0003549144.tif 000018
【００９１】
【数１９】
0003549144.tif 000019
一方空燃比が理論空燃比近傍にあるときは、（ｂ０＋ｒ１＋ｒ２＋ｒ３＋ｓ０）は、ほぼ１となるので、数式１７の条件は満たされている。実験で確認すると、適応パラメータｒ１〜ｒ３は、適応パラメータｂ０，ｓ０に比べて非常に小さな値をとり、制御が不安定になるほど大きく変動する。そこで、数式１６をより厳しい条件式に変更し、第２の安定判別パラメータＣＨＡＰＡＲ２＝｜ｒ１｜＋｜ｒ２｜＋｜ｒ３｜として、第２の安定条件を数式２０のように設定する。ここで、ＯＫＳＴＲ２は、第２の判別閾値であり、例えば０．３に設定する。
【００９２】
【数２０】
0003549144.tif 000020
上記数式１９及び２０の安定条件を用いることにより、適応制御の安定性判別をより早期にかつ適切に行うことができることは、実験的に確認されている。
【００９３】
次に本実施形態における適応補正係数ＫＳＴＲの実際の算出式を説明する。上述した数式４〜９は、制御サイクルと制御周期（ＴＤＣ信号パルスの発生周期）とを一致させ、全気筒について共通の適応補正係数ＫＳＴＲを使用する場合のものであるが、本実施形態では、制御サイクルを気筒数と対応させて４ＴＤＣとすることにより、気筒毎に適応補正係数ＫＳＴＲを決定するようにしている。具体的には、上記数式４〜９をそれぞれ数式２１〜２６に置き換えて、適応補正係数ＫＳＴＲを決定することにより、気筒別の適応補正係数ＫＳＴＲを算出して適応制御を行っている。
【００９４】
【数２１】
0003549144.tif 000021
【００９５】
【数２２】
0003549144.tif 000022
【００９６】
【数２３】
0003549144.tif 000023
【００９７】
【数２４】
0003549144.tif 000024
【００９８】
【数２５】
0003549144.tif 000025
【００９９】
【数２６】
0003549144.tif 000026
なお、上記数式２６におけるｄ’は、例えば「２」とする。
【０１００】
図８は、図５のステップＳ２０５におけるＫＳＴＲ算出処理のフローチャートである。
【０１０１】
先ずステップＳ４０１では、エンジンがアイドル状態にあることを「１」で示すアイドルフラグＦＩＤＬＥが「１」か否かを判別し、ＦＩＬＤＥ＝０であってエンジンがオフアイドル状態にあるときは、前回アイドルフラグＦＩＤＬＥが「１」であったか否かを判別する（ステップＳ４０２）。その結果、ステップＳ４０１の答が否定（ＮＯ）でステップＳ４０２の答が肯定（ＹＥＳ）、すなわちアイドル状態からオフアイドル状態へ移行した直後のときは、後述するステップＳ４１５の処理で使用する初期化パラメータＫＳＴＲＳＴを、オフアイドル状態で算出された補正係数ＫＦＢの学習値ＫＲＥＦ１に設定し（ステップＳ４０３）、さらに検出当量比ＫＡＣＴを実際のＬＡＦセンサ出力値に拘わらず強制的に「１．０」に設定して（ステップＳ４０６）、ステップＳ４１５に進む。
【０１０２】
ステップＳ４１５では、初期化パラメータＫＳＴＲＳＴに応じて図１１に示す初期値テーブルを検索して、適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の初期値ｂ０ＩＮＩ，ｓ０ＩＮＩ，ｒ１ＩＮＩ，ｒ２ＩＮＩ，ｒ３ＩＮＩを決定し、各パラメータの今回値から４回前の値（ｂ０（ｋ）〜ｂ０（ｋ−４），ｓ０（ｋ）〜ｓ０（ｋ−４），ｒ１（ｋ）〜ｒ１（ｋ−４），ｒ２（ｋ）〜ｒ２（ｋ−４），ｒ３（ｋ）〜ｒ３（ｋ−４））までを、それぞれ決定した初期値に設定する。初期値テーブルは、初期値として用いた場合に安定な制御が可能な値（具体的には、定常状態において定常偏差が０となるような値）を予め実験的に求めて設定されており、初期化パラメータＫＳＴＲＳＴが増加するほど、各パラメータの初期値が減少するように設定されている。ステップＳ４１５実行後は、図９のステップＳ４２１に進む。
【０１０３】
ステップＳ４０１の答が肯定（ＹＥＳ）またはステップＳ４０２の答が否定（ＮＯ）のとき、すなわちエンジンがアイドル状態またはオフアイドル状態にあるときは、前回適応制御フラグＦＳＴＲＦＢが「１」であったか否かを判別し（ステップＳ４０４）、前回ＦＳＴＲＦＢ＝０であって適応制御を実行していなかったときは、初期化パラメータＫＳＴＲＳＴをフィードバック補正係数の前回値ＫＦＢ（ｋ−１）に設定して、前記ステップＳ４０６、Ｓ４１５を実行し、適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の初期化を行い、ステップＳ４２１に進む。ステップＳ４０４で、前回もＦＳＴＲＦＢ＝１であったときは、図１０に示す適応パラメータｂ０，ｓ０，ｒ１〜ｒ３演算処理を実行する。
【０１０４】
本実施形態では、前記数式２２によるθハット（ｋ）、すなわち適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の算出は、４ＴＤＣ期間（ＴＤＣ信号パルスの発生間隔の４倍の期間）に１回行うようにしているので、図１０のステップＳ４３１では、前回の数式２２による算出から４ＴＤＣ期間が経過したか否かを判別し、経過したときは、数式２２による適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の算出を行う（ステップＳ４３２）。４ＴＤＣ期間経過してないときは、適応パラメータのｂ０（ｋ），ｓ０（ｋ），ｒ１（ｋ）〜ｒ３（ｋ）を、それぞれ前回値ｂ０（ｋ−１），ｓ０（ｋ−１），ｒ１（ｋ−１）〜ｒ３（ｋ−１）に設定する。
【０１０５】
ステップＳ４３２またはＳ４３３実行後は、下記数式２７により適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の４ＴＤＣ期間の移動平均値ｂ０ＡＶ，ｒ０ＡＶ，ｒ１ＡＶ，ｒ２ＡＶ，ｒ３ＡＶを算出し（ステップＳ４３４）、本処理を終了する。
【０１０６】
【数２７】
ｂ０ＡＶ＝（ｂ０（ｋ−３）＋ｂ０（ｋ−２）＋ｂ０（ｋ−１）＋ｂ０（ｋ））／４
ｓ０ＡＶ＝（ｓ０（ｋ−３）＋ｓ０（ｋ−２）＋ｓ０（ｋ−１）＋ｓ０（ｋ））／４
ｒ１ＡＶ＝（ｒ１（ｋ−３）＋ｒ１（ｋ−２）＋ｒ１（ｋ−１）＋ｒ１（ｋ））／４
ｒ２ＡＶ＝（ｒ２（ｋ−３）＋ｒ２（ｋ−２）＋ｒ２（ｋ−１）＋ｒ２（ｋ））／４
ｒ３ＡＶ＝（ｒ３（ｋ−３）＋ｒ３（ｋ−２）＋ｒ３（ｋ−１）＋ｒ３（ｋ））／４
図８に戻り、続くステップＳ４０８では、下記数式２８により、第１及び第２の安定判別パラメータＣＨＡＰＡＲ１，ＣＨＡＰＡＲ２を算出する（数式１９、２０参照）。
【０１０７】
【数２８】
ＣＨＡＰＡＲ１＝（ｒ１ＡＶ−ｒ３ＡＶ＋ｒ４ＡＶ＋ｓ０ＡＶ）／ｂ０
ＣＨＡＰＡＲ２＝｜ｒ１ＡＶ｜＋｜ｒ２ＡＶ｜＋｜ｒ３ＡＶ｜
次いで第１及び第２の安定判別パラメータＣＨＡＰＡＲ１，ＣＨＡＰＡＲ２が、それぞれ第１及び第２の判別閾値ＯＫＳＴＲ１，ＯＫＳＴＲ２より小さいか否かを判別する（ステップＳ４０９、Ｓ４１０）。その結果、ＣＨＡＰＡＲ１＜ＯＫＳＴＲ１かつＣＨＡＰＡＲ２＜ＯＫＳＴＲ２であるときは、適応制御が安定であると判定し、後述するステップＳ４１２で参照するダウンカウンタｎＳＴＲＣＨＫに所定値ＮＳＴＲＣＨＫ（例えば２）を設定して（ステップＳ４１１）、ステップＳ４２１へ進む。
【０１０８】
一方ステップＳ４０９またはＳ４１０の答が否定（ＮＯ）、すなわちＣＨＡＰＡＲ１≧ＯＫＳＴＲ１またはＣＨＡＰＡＲ２≧ＯＫＳＴＲ２であるときは、制御が不安定となる可能性があると判定し、ステップＳ４１２にてダウンカウンタｎＳＴＲＣＨＫ＝０でなければ、前記ダウンカウンタｎＳＴＲＣＨＫを「１」だけデクリメントして（ステップＳ４１３）、ステップＳ４２１へ進む。この状態が継続して、ステップＳ４１２にてｎＳＴＲＣＨＫ＝０が成立すると、初期化パラメータＫＳＴＲＳＴを、フィードバック補正係数の前回値ＫＦＢ（ｋ−１）に設定し（ステップＳ４１４）、前記ステップＳ４１５で適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の初期化を実行して、ステップＳ４２１に進む。この際、前述のステップＳ４３２の適応パラメータ算出におけるパラメータの同定速度をアイドル状態で用いる比較的遅い速度とするとなお良い。
【０１０９】
ステップＳ４２１では、前記数式２６に図１０のステップＳ４３４で算出した移動平均化された適応パラメータｂ０ＡＶ，ｓ０ＡＶ，ｒ１ＡＶ〜ｒ３ＡＶを適用して、適応補正係数ＫＳＴＲを算出する。このように、適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の移動平均値を用いるのは、適応パラメータｂ０，ｓ０，ｒ１〜ｒ３を４ＴＤＣ期間に１回の頻度で更新すること及びＬＡＦセンサ１７のローパス特性に起因する適応制御の不安定化を防止するためである。
【０１１０】
続くステップＳ４２２〜Ｓ４２５では、算出した適応補正係数ＫＳＴＲのリミット処理を行う。すなわち、適応補正係数ＫＳＴＲが上限値Ｏ２ＬＭＴＨより大きいときは、ＫＳＴＲ＝Ｏ２ＬＭＴＨとし（ステップＳ４２２、Ｓ４２３）、下限値Ｏ２ＬＭＴＬより小さいときは、ＫＳＴＲ＝Ｏ２ＬＭＴＬとし（ステップＳ４２４、Ｓ４２５）、上下限値Ｏ２ＬＭＴＨ，Ｏ２ＬＭＴＬの範囲内にあるときは、そのまま本処理を終了する。
【０１１１】
以上のように本実施形態では、適応制御が不安定となり易い運転状態となったとき、すなわちエンジンがアイドル状態からアイドル外状態へ移行した（ステップＳ４０１の答が否定（ＮＯ）でステップＳ４０２の答が肯定（ＹＥＳ）である）とき、適応制御を開始する（ステップＳ４０４の答が否定（ＮＯ）である）とき、または適応制御実行中に所定の安定条件が満たされなくなった（ステップＳ４０９またはＳ４１０の答が否定（ＮＯ）となった）ときは、適応補正係数ＫＳＴＲの学習値ＫＲＥＦ１またはフィードバック補正係数ＫＦＢの前回値、すなわちＰＩＤ補正係数ＫＬＡＦ（ｋ−１）または適応補正係数ＫＳＴＲ（ｋ−１）に応じて、適応パラメータｂ０，ｓ０，ｒ１〜ｒ３を初期化するようにしたので、適応制御が不安定となり易いエンジン運転状態において、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。すなわち、アイドル状態からアイドル外状態への移行直後において、適応制御の開始直後において、あるいは適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の値から制御の不安定化が予測されるときにおいて、適応パラメータｂ０，ｓ０，ｒ１〜ｒ３の適切な初期化が実行され、適応制御の不安定化や空燃比の急変を防止することができる。
【０１１２】
本実施形態では、図１０の処理が適応パラメータ調整手段に相当し、図８及び図９の処理がフィードバック制御手段に相当し、図８のステップＳ４０１、Ｓ４０２、Ｓ４０４、Ｓ４０９〜Ｓ４１３が特定機関運転状態検出手段に相当し、図８のステップＳ４０３、Ｓ４０５、Ｓ４１４、Ｓ４１５が初期化手段に相当し、図６の処理が第２のフィードバック制御手段に相当し、図５のステップＳ２０８が学習手段に相当する。
【０１１３】
【発明の効果】
以上詳述したように本発明によれば、適応制御器の動作が不安定となり易い特定機関運転状態が検出され、該特定機関運転状態が検出されたときは、適応パラメータが、適応制御量に応じて初期化されるので、適応制御器を用いた制御が不安定となり易い機関運転状態において、適応パラメータが適切に設定され、制御性能の低下や空燃比の急変を回避することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態にかかる内燃機関及びその空燃比制御装置の構成を示す図である。
【図２】本実施形態における空燃比制御手法を説明するための機能ブロック図である。
【図３】ＬＡＦセンサ出力に基づいて空燃比補正係数を算出する処理のフローチャートである。
【図４】ＬＡＦフィードバック領域判別処理のフローチャートである。
【図５】空燃比のフィードバック補正係数（ＫＦＢ）を算出する処理のフローチャートである。
【図６】ＰＩＤ補正係数（ＫＬＡＦ）算出処理のフローチャートである。
【図７】適応補正係数（ＫＳＴＲ）の算出処理を説明するためのブロック図である。
【図８】適応補正係数（ＫＳＴＲ）の算出処理のフローチャートである。
【図９】適応補正係数（ＫＳＴＲ）の算出処理のフローチャートである。
【図１０】適応パラメータ演算処理のフローチャートである。
【図１１】適応パラメータの初期値を設定するためのテーブルを示す図である。
【符号の説明】
１  内燃機関（本体）
２  吸気管
５  電子コントロールユニット（ＥＣＵ）（適応パラメータ調整手段、フィードバック制御手段、特定機関運転状態検出手段、学習手段、初期化手段）
１２  燃料噴射弁
１６  排気管
１７  広域空燃比センサ
【図１】
0003549144.tif 000027
【図２】
0003549144.tif 000028
【図３】
0003549144.tif 000029
【図４】
0003549144.tif 000030
【図５】
0003549144.tif 000031
【図６】
0003549144.tif 000032
【図７】
0003549144.tif 000033
【図８】
0003549144.tif 000034
【図９】
0003549144.tif 000035
【図１０】
0003549144.tif 000036
【図１１】
0003549144.tif 000037