(57)【特許請求の範囲】
【請求項１】
排気管の上流側に配置された上流触媒および下流側に配置された下流触媒の間に設けられた排ガスセンサと、
前記下流触媒の下流に仮想的に排ガスセンサを設ける手段と、
空燃比がリーンの運転状態および燃料カットの運転状態が解除された後、前記上流および下流触媒の還元に寄与するガス量をサイクル毎に積算する積算手段と、
前記上流および下流触媒の間に設けられた排ガスセンサの出力の反転に応じて、前記上流触媒を還元するガス量を算出する上流触媒還元ガス算出手段と、
前記算出された上流触媒を還元するガス量に基づいて、前記上流および下流触媒の両方を還元するのに必要なガス総量を算出するガス総量算出手段と、
前記積算されたガス量が、前記算出されたガス総量に達したかどうかに従い、前記仮想的に設けられた排ガスセンサの出力を推定する仮想出力推定手段と、
前記仮想出力推定手段によって推定された出力に応じて、前記内燃機関の空燃比を制御する第１の空燃比制御手段と、を備え、
前記仮想出力推定手段は、前記積算されたガス量が、前記算出されたガス総量に達したならば、前記第１の空燃比制御の終了を示すように前記仮想的に設けられた排ガスセンサの出力を操作する、
を備える、内燃機関の空燃比制御装置。
【請求項２】
前記仮想出力推定手段は、前記上流および下流触媒の還元に寄与するガス量を、前記内燃機関の運転状態に基づいて算出する、請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
前記第１の空燃比制御手段は、空燃比がリーンの運転状態および燃料カットの運転状態が解除されたとき、リッチを示す所定値に空燃比を遷移させ、前記仮想出力推定手段は、前記上流および下流触媒の還元に寄与する前記ガス量を、さらに、該空燃比が該所定値に遷移した量に基づいて算出する、請求項１に記載の内燃機関の空燃比制御装置。
【請求項４】
前記仮想的に設けられた排ガスセンサの推定された出力は、空燃比が所定値に対してリーンかリッチかを示す２値信号で表される、請求項１に記載の内燃機関の空燃比制御装置。
【請求項５】
前記仮想的に設けられた排ガスセンサの推定された出力は、前記下流触媒の下流に実際に排ガスセンサが取り付けられたならば該排ガスセンサが出力するであろう値に対して時間的に先行した未来値である、請求項１に記載の内燃機関の空燃比制御装置。
【請求項６】
前記上流および下流触媒の間に設けられた排ガスセンサの出力に基づいて空燃比を制御する第２の空燃比制御手段をさらに備え、
所定の条件に応じて、空燃比制御が、前記第１および第２の空燃比制御手段が切り換えられる、請求項１に記載の内燃機関の空燃比制御装置。
【請求項７】
前記所定の条件は、前記仮想的に設けられた排ガスセンサの推定された出力がリーンからリッチに反転したことを含み、該推定された出力の反転に応答して、空燃比制御が、前記第１の空燃比制御手段から前記第２の空燃比制御手段に切り換えられる、請求項６に記載の内燃機関の空燃比制御装置。
【請求項８】
前記第２の空燃比制御手段は、空燃比を操作する操作量に積分項を有しており、
前記第１の空燃比制御手段によって空燃比が制御されているときは、該積分項の算出を禁止する、請求項６に記載の内燃機関の空燃比制御装置。
【請求項９】
前記第２の空燃比制御手段は、空燃比の算出に用いるパラメータをサイクル毎に同定する同定手段をさらに有しており、
前記第１の空燃比制御手段によって空燃比が制御されているときは、該パラメータの同定を禁止する、請求項６に記載の内燃機関の空燃比制御装置。
【請求項１０】
前記第２の空燃比制御手段は、
空燃比を操作する操作量を所定範囲内に制限するリミット手段と、
前記所定範囲を、前記空燃比を操作する操作量に応じて可変的に更新する更新手段と、をさらに有しており、
前記第１の空燃比制御手段によって空燃比が制御されているときは、前記更新手段による前記所定範囲の更新を禁止する、請求項６に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、内燃機関の空燃比を制御する制御装置に関し、より具体的には、酸素が過剰に吸着した触媒を最適に還元するよう内燃機関の空燃比を制御する制御装置に関する。
【０００２】
【従来の技術】
内燃機関の排気系には、車両の内燃機関の排気ガスを浄化するための触媒装置が設けられている。触媒装置は、内燃機関に供給される混合気の空燃比がリーンのとき、排気ガス中に存在する過剰の酸素でＨＣおよびＣＯを酸化し、空燃比がリッチのとき、ＨＣおよびＣＯによってＮｏｘを還元する。空燃比が理論空燃比領域にあるとき、ＨＣ、ＣＯおよびＮｏｘが同時にかつ効果的に浄化される。
【０００３】
一方、車両が、燃料供給の必要がない減速状態（たとえば、エンジン・ブレーキ状態）にあると判定されたとき、燃料の供給を停止する方法が知られている。このような燃料供給の停止は、通常「燃料カット」と呼ばれる。燃料カットを行うことにより、燃費の向上が図られる。燃料カットは、たとえば、スロットル弁が所定時間以上にわたって全閉され、かつエンジン回転数が所定回転数以上のとき、実行される。燃料カット状態に入った後にエンジン回転数が上記所定回転数を下回った場合、または燃料カット状態に入った後にスロットル弁が開かれた場合、燃料の供給が再開される。
【０００４】
燃料カット中は燃料が供給されないので、触媒装置には多くの酸素が供給される。供給された酸素は触媒装置に吸着される。触媒装置が過剰の酸素を吸着すると、触媒の性能、特にＮｏｘの還元能力が劣化する。触媒装置に吸着された酸素を除去するため、燃料の供給を再開したときに空燃比をリッチにする技術が提案されている。
【０００５】
特開平９−７２２３５号公報には、燃料カットまたはリーン状態から通常の燃料供給状態に復帰した後の空燃比をフィードフォワード的に制御する方法が記載されている。具体的には、触媒装置の上流に設けられた空燃比センサの出力に基づいて、燃料カットまたはリーン状態中に触媒装置に吸着された物質の質量を推定する。燃料カットまたはリーン状態が解除されたとき、推定された質量の吸着物を還元するよう、空燃比がフィードフォワード制御される。
【０００６】
特公第２９１３２８２号に示される方法は、リーン状態または燃料カットの継続時間と、該リーン状態または燃料カット中における内燃機関の負荷および回転数に基づいて、リッチにするための目標空燃比と該目標空燃比を維持する時間を算出する。リーン状態または燃料カットが解除された後、該目標空燃比が該算出された時間にわたって維持されるよう空燃比が制御される。
【０００７】
また、触媒装置の下流にＯ２センサ（排ガスセンサ）を設ける方式が知られている。燃料カットが解除されたとき、目標空燃比をリッチに設定し、触媒の還元処理を開始する。Ｏ２センサの出力が、リーンを示す値からリッチを示す値に反転したとき、触媒の還元処理を停止する。
【０００８】
【発明が解決しようとする課題】
触媒に吸着される物質の質量は、内燃機関の運転状態に従って変化する。内燃機関の負荷にばらつきがあると、吸着物の質量も変動する。したがって、燃料カットまたはリーン状態における吸着物の質量を正確に算出することは困難である。
【０００９】
触媒が経年的に劣化すると、酸素の吸着能力が低下する。この吸着能力の低下を考慮せずに、燃料カットまたはリーン状態が解除された後に空燃比をリッチ化する処理を行うと、空燃比が過剰なリッチ状態に至る可能性がある。過剰なリッチ状態は、ＨＣおよびＣＯの排出量を増やす。
【００１０】
このように、空燃比のフィードフォワード制御は、内燃機関の運転状態のばらつきおよび触媒の劣化に対して不安定であり、触媒の浄化性能を低下させるおそれがある。
【００１１】
また、内燃機関の燃焼サイクルおよび排気系の輸送にはむだ時間が存在する。Ｏ２センサの出力に基づいて算出された目標空燃比に基づいて燃料噴射量を調節し、該燃料噴射の結果がＯ２センサの出力に現れるには、ある程度の時間を要する。したがって、触媒の下流に設けられたＯ２センサの出力のリーンからリッチへの反転に同期してリッチ化処理を停止すると、触媒を過剰に還元するおそれがある。その結果、ＨＣおよびＣＯの排出量が増大する。
【００１２】
したがって、リーン状態または燃料カットが解除された後に、エンジン負荷の変動に対して安定的に還元処理を行うことができる空燃比制御が必要とされている。また、触媒の劣化状態に応じた還元処理を実施することができる空燃比制御が必要とされている。さらに、リーン状態または燃料カットが解除されたときに空燃比が過剰なリッチ状態になることを防止する空燃比制御が必要とされている。
【００１３】
【課題を解決するための手段】
この発明の一つの側面によると、排気管の上流側に配置された上流触媒および下流側に配置された下流触媒の間に排ガスセンサが設けられる。さらに、下流触媒の下流に排ガスセンサを仮想的に設ける。制御装置は、リーン状態および燃料カットが解除されたときに、上流および下流触媒の還元に寄与するガス量と、上流および下流触媒の間に設けられた排ガスセンサの出力とに基づいて、仮想的に設けられた排ガスセンサの出力を推定する。第１の空燃比制御手段は、該推定された出力に応じて内燃機関の空燃比を制御する。
【００１４】
この発明によると、上流および下流触媒の間に設けられた排ガスセンサによっては直接観測することのできない下流触媒の浄化雰囲気（酸化雰囲気および還元雰囲気）を制御することができる。仮想排ガスセンサの推定された出力に基づいて、下流触媒の還元処理が適切かつ安定的に実施される。こうして、リーン状態および燃料カットが解除された後の触媒のＮｏｘ浄化率を速やかに復帰させることができる。
【００１５】
この発明の他の側面によると、上流および下流触媒の還元に寄与するガス量は、運転状態に基づいて算出される。したがって、リーン状態および燃料カットが解除された後の内燃機関の負荷のバラツキ、リーン状態および燃料カットの継続時間およびその間の空燃比のばらつき、および触媒の劣化状態のバラツキが補償される。その結果、リーン状態および燃料カットが解除された後の触媒のＮｏｘの浄化率を安定的に復帰させることができる。さらに、過剰な還元処理によって空燃比がオーバーリッチになることが防止され、ＨＣおよびＣＯの排出量の増大が回避される。
【００１６】
この発明の他の側面によると、空燃比がリーンの状態および燃料カットが解除されたとき、目標空燃比を、リッチを示す所定値に遷移させる。上流および下流触媒の還元に寄与するガス量は、さらに、目標空燃比の遷移した量に基づいて算出される。一実施例によると、目標空燃比は、ストイキ状態（理論空燃比）から所定のリッチ状態に遷移するよう制御される。この場合、上流および下流触媒の還元に寄与するガス量は、理論空燃比に対する目標空燃比の偏差に基づいて算出される。触媒の還元に寄与する空燃比が考慮されるので、仮想排ガスセンサの出力の推定精度を向上させることができる。
【００１７】
この発明の他の側面によると、仮想排ガスセンサの推定された出力は、空燃比が所定値に対してリーンかリッチかを示す２値信号で表される。こうして、仮想排ガスセンサの出力を推定するための計算上の負荷が低減される。所定値は、たとえばストイキ状態を示す理論空燃比である。
【００１８】
この発明の他の側面によると、仮想排ガスセンサの推定された出力は、下流触媒の下流に実際に排ガスセンサが取り付けられたならば該排ガスセンサが出力するであろう値に対して時間的に先行した未来値である。未来値に応じて空燃比が制御されるので、燃焼サイクルおよび排気管の輸送におけるむだ時間に起因する過剰な還元処理が防止される。
【００１９】
この発明の他の側面によると、制御装置は、上流および下流触媒の間に設けられた排ガスセンサの出力に基づいて空燃比を制御する第２の空燃比制御手段をさらに備える。第２の空燃比制御手段により、上流および下流触媒の機能を使い分けて触媒の最適な浄化率が実現される。第１および第２の空燃比制御は、所定の条件に応じて切り換えられる。該所定の条件は、仮想排ガスセンサの推定された出力がリーンからリッチに反転したことを含む。こうして、空燃比をリッチ化した状態で触媒を還元する処理が終了したとき、第１の空燃比制御は終了し、第２の空燃比制御が開始する。
【００２０】
第２の空燃比制御により、上流および下流触媒による有害物質の浄化が効果的に実施され、第１の空燃比制御により、リーン状態および燃料カット中に多量に触媒装置に吸着した酸素が効果的に還元される。したがって、触媒の浄化率を最適に維持しつつ、酸化雰囲気による触媒の劣化が防止される。
【００２１】
この発明の他の側面によると、第２の空燃比制御手段は、空燃比を操作する操作量に積分項を有する。第１の空燃比制御手段によって空燃比が制御されているときは、該積分項の算出を禁止する。すなわち、触媒の還元処理を実行している間は、積分項はホールドされる。こうして、第２の空燃比制御手段による空燃比制御を再開したとき、積分項の肥大化により空燃比制御が不安定になることが回避される。
【００２２】
この発明の他の側面によると、第２の空燃比制御手段は、空燃比の算出に用いるパラメータをサイクル毎に同定する。第１の空燃比制御手段によって空燃比が制御されているときは、該パラメータの同定を禁止する。こうして、第２の空燃比制御手段による空燃比制御を再開したとき、不適切なパラメータによって空燃比制御が不安定になることが回避される。
【００２３】
この発明の他の側面によると、第２の空燃比制御手段は、空燃比を操作する操作量を所定範囲内に制限するリミット手段と、該所定範囲を、空燃比を操作する操作量に応じて可変的に更新する更新手段をさらに有する。第１の空燃比制御手段によって空燃比が制御されているときは、該所定範囲の更新を禁止する。こうして、第２の空燃比制御手段による空燃比制御を再開したとき、不適切な所定範囲によって操作量が制限されることにより、排ガスセンサを所定の目標値に制御することができずに触媒の浄化率が著しく低下させてしまうことが回避される。
【００２４】
この発明の他の側面によると、制御装置は、上流および下流触媒の還元に寄与するガス量をサイクル毎に積算する。上流および下流触媒の間に設けられた排ガスセンサの出力の反転に応じて、上流触媒を還元するガス量を算出する。算出された上流触媒を還元するガス量に基づいて、上流および下流触媒の両方を還元するのに必要なガス総量を算出する。積算されたガス量が、算出されたガス総量に達したならば、第１の空燃比制御の終了を示すように仮想的に設けられた排ガスセンサの出力を操作する。こうして、上流触媒および下流触媒の双方が適切に還元される。リーン状態および燃料カットが解除された後、Ｎｏｘの浄化率を速やかかつ安定的に復帰させることができる。
【００２５】
【発明の実施の形態】
内燃機関および制御装置の構成  
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の実施形態による内燃機関（以下、「エンジン」という）およびその制御装置の全体的なシステム構成図である。
【００２６】
電子制御ユニット（以下、「ＥＣＵ」）という）５は、車両の各部から送られてくるデータを受け入れる入力インターフェース５ａ、車両の各部の制御を行うための演算を実行するＣＰＵ５ｂ、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）を有するメモリ５ｃ、および車両の各部に制御信号を送る出力インターフェース５ｄを備えている。メモリ５ｃのＲＯＭには、車両の各部の制御を行うためのプログラムおよび各種のデータが格納されている。この発明に従う内燃機関の空燃比制御を実現するためのプログラム、および該プログラムの実行の際に用いるデータおよびテーブルは、このＲＯＭに格納されている。ＲＯＭは、ＥＥＰＲＯＭのような書き換え可能なＲＯＭでもよい。ＲＡＭには、ＣＰＵ５ｂによる演算のための作業領域が設けられる。車両の各部から送られてくるデータおよび車両の各部に送り出す制御信号は、ＲＡＭに一時的に記憶される。
【００２７】
エンジン１は、たとえば４気筒を備えるエンジンである。吸気管２が、エンジン１に連結されている。吸気管２の上流側にはスロットル弁３が設けられている。スロットル弁３に連結されたスロットル弁開度センサ（θＴＨ）４は、スロットル弁３の開度に応じた電気信号を、ＥＣＵ５に供給する。
【００２８】
スロットル弁３をバイパスする通路２１が、吸気管２に設けられている。エンジン１に供給する空気量を制御するためのバイパス弁２２が、バイパス通路２１に設けられている。バイパス弁２２は、ＥＣＵ５からの制御信号に従って駆動される。
【００２９】
燃料噴射弁６は、エンジン１とスロットル弁３の間であって、吸気管２の吸気弁（図示せず）の少し上流側に各気筒毎に設けられている。燃料噴射弁６は、燃料ポンプ（図示せず）に接続され、該燃料ポンプを介して燃料タンク（図示せず）から燃料の供給を受ける。燃料噴射弁６は、ＥＣＵ５からの制御信号に従って駆動される。
【００３０】
吸気管圧力（Ｐｂ）センサ８および吸気温（Ｔａ）センサ９は、吸気管２のスロットル弁３の下流側に設けられている。Ｐｂセンサ８およびＴａセンサ９によって検出された吸気管圧力Ｐｂおよび吸気温Ｔａは、それぞれＥＣＵ５に送られる。
【００３１】
エンジン水温（Ｔｗ）センサ１０は、エンジン１のシリンダブロックの、冷却水が充満した気筒周壁（図示せず）に取り付けられる。Ｔｗセンサ１０によって検出されたエンジン冷却水の温度Ｔｗは、ＥＣＵ５に送られる。
【００３２】
回転数（Ｎｅ）センサ１３は、エンジン１のカム軸またはクランク軸（共に図示せず）周辺に取り付けられる。Ｎｅセンサ１３は、たとえばピストンのＴＤＣ位置に関連したクランク角度で出力されるＴＤＣ信号パルスの周期よりも短いクランク角度（たとえば、３０度）の周期で、ＣＲＫ信号パルスを出力する。ＣＲＫ信号パルスは、ＥＣＵ５によってカウントされ、エンジン回転数Ｎｅが検出される。
【００３３】
エンジン１の下流側には排気管１４が連結されている。エンジン１は、排気管１４を介して排気する。排気管１４の途中に設けられた触媒装置１５は、排気管１４を通る排気ガス中のＨＣ、ＣＯ、ＮＯｘなどの有害成分を浄化する。触媒装置１５には、２つの触媒が設けられている。上流側に設けられた触媒を上流触媒と呼び、下流側に設けられた触媒を下流触媒と呼ぶ。
【００３４】
広域空燃比センサ（ＬＡＦ）センサ１６は、触媒装置１５の上流に設けられている。ＬＡＦセンサ１６は、リーンからリッチにわたる広範囲の空燃比領域において、排気ガス中の酸素濃度をリニアに検出する。検出された酸素濃度は、ＥＣＵ５に送られる。
【００３５】
Ｏ２（排ガス）センサ１７は、上流触媒と下流触媒の間に設けられている。Ｏ２センサ１７は２値型の排気ガス濃度センサである。Ｏ２センサは、空燃比が理論空燃比よりもリッチであるとき高レベルの信号を出力し、空燃比が理論空燃比よりもリーンであるとき低レベルの信号を出力する。出力された電気信号は、ＥＣＵ５に送られる。
【００３６】
ＥＣＵ５に向けて送られた信号は入力インターフェース５ａに渡され、アナログ−デジタル変換される。ＣＰＵ５ｂは、変換されたデジタル信号を、メモリ５ｃに格納されているプログラムに従って処理し、車両のアクチュエータに送るための制御信号を作り出す。出力インターフェース５ｄは、これらの制御信号を、バイパス弁２２、燃料噴射弁６、およびその他の機械要素のアクチュエータに送る。
【００３７】
図２の（ａ）は、触媒装置１５の構造を示す。触媒装置１５は、上流触媒２５および下流触媒２６を有する。排気管１４に流入した排気ガスは、上流触媒２５を通過し、その後下流触媒を通過する。
【００３８】
上流および下流触媒の間に設けられたＯ２センサの出力に基づく空燃比制御の方が、下流触媒の下流に設けられたＯ２センサの出力に基づく空燃比制御よりも、Ｎｏｘの浄化率を最適に維持しやすいことがわかっている。そのため、この発明に従う実施形態では、実際のＯ２センサ１７を、上流および下流触媒の間に設ける。Ｏ２センサ１７は、上流触媒を通過した後の排気ガスの酸素濃度を検出する。
【００３９】
参照番号３０は、仮想Ｏ２センサを示す。仮想Ｏ２センサ３０は、排気管１４に仮想的に設けられたセンサであり、物理的には存在しない。本発明に従う空燃比制御装置は、Ｏ２センサ３０が下流触媒２６の下流に実際に設けられたならば該Ｏ２センサ３０が出力するであろう値を推定する。この仮想Ｏ２センサ３０の推定された出力は、下流触媒２６を通過した後の排気ガスの酸素濃度を示す。
【００４０】
図２の（ｂ）は、上流触媒および下流触媒の浄化の挙動を示す。ウィンドウ２７は、ＣＯ、ＨＣおよびＮＯｘが最適に浄化される空燃比領域を示す。上流触媒２５において、排気ガス中の酸素が浄化作用に消費されるため、下流触媒２６に供給される排気ガスは、ウィンドウ２８によって示されるような還元雰囲気（すなわち、リッチ状態）を有している。このような還元雰囲気において、さらなる量のＮＯｘが浄化される。こうして排気ガスは、クリーンな状態で排気される。
【００４１】
この発明に従う空燃比の適応制御は、触媒１５の浄化性能を最適に維持するため、Ｏ２センサ１７の出力を目標値に収束させることにより、空燃比がウィンドウ２７内に収まるようにする。
【００４２】
参照番号２９は、適応空燃比制御において空燃比の操作量の限界を規定する許容範囲を例示しており、これについての詳細は後述される。
【００４３】
空燃比制御の概要  
図３は、この発明に従う、空燃比を制御する制御装置の全体的な構成を示す。燃料カット判定部３１は、スロットル弁開度センサ４およびエンジン回転数センサ１３（図１）によって検出されたスロットル弁の開度θＴＨおよびエンジン回転数ＮＥを受け取る。スロットル弁が所定時間以上にわたって全閉され、かつエンジン回転数が所定回転数以上のとき、燃料カット判定部３１は、燃料カットフラグに１をセットする。燃料カットフラグに１がセットされたならば、燃料供給部３２は、燃料噴射弁に制御信号を送って燃料の供給を停止する。
【００４４】
燃料カット状態に入った後にエンジン回転数ＮＥが上記所定回転数を下回ったとき、またはスロットル弁が開かれたとき、燃料カット判定部３１は、燃料カットフラグにゼロをセットする。燃料カットフラグがゼロにセットされたならば、燃料供給部３２は、燃料噴射弁に制御信号を送って燃料の供給を再開する。
【００４５】
燃料カットフラグがゼロから１に反転したとき、還元処理部３３による触媒還元モードが開始される。還元処理部３３は、仮想Ｏ２センサ３０（図２の（ａ））の出力を推定する。仮想Ｏ２センサ３０の出力は、後述する演算によって算出され、リーンおよびリッチの２値で表される。仮想Ｏ２センサの出力が２値であることは、仮想Ｏ２センサの出力を推定するための演算負荷を低減する。代替的に、仮想Ｏ２センサの出力を多値で表してもよい。
【００４６】
還元処理部３３は、仮想Ｏ２センサ３０の出力がリーンを示すとき、空燃比をリッチにし、還元処理を行う。還元処理部３３は、仮想Ｏ２センサ３０の出力がリーンからリッチに反転したとき、還元処理を終了する。
【００４７】
このように、触媒還元モードにおいては、仮想Ｏ２センサ３０の推定された出力に基づいて空燃比が制御されるので、下流触媒の還元処理が安定的に行われる。その結果、燃料カットが解除された後のＮｏｘの浄化率を速やかかつ安定的に戻すことができる。
【００４８】
仮想Ｏ２センサ３０の出力のリーンからリッチへの反転は、下流触媒の還元処理が完了したことを示す。還元処理部３３による空燃比制御は終了し、適応制御部３４による空燃比制御が開始される。適応制御部３４は、Ｏ２センサ１７の出力Vo2/OUTが目標値に収束するように目標空燃比ＫＣＭＤを算出する。
【００４９】
還元処理部３３から適応制御部３４への空燃比制御の移行は、仮想Ｏ２センサ３０の出力の未来値が反転した時に実施されるのが好ましい。未来値は、仮想Ｏ２センサ３０の推定された出力に対して所定時間先行した値を示す。これは、以下の理由による。すなわち、触媒還元モードにおいては、仮想Ｏ２センサ３０の推定された出力に基づいて目標空燃比が設定され、該目標空燃比になるように燃料供給量が調整される。該燃料供給の結果が仮想Ｏ２センサ３０の推定出力に反映されるまでには、ある程度の長さの時間を要する。この時間はむだ時間と呼ばれる。このむだ時間を補償するため、仮想Ｏ２センサ３０の推定出力に対し、むだ時間に相当する時間だけ先行した値（すなわち未来値）が使用される。
【００５０】
還元処理部３３による還元処理が実行されている間、適応制御部３４による空燃比制御は実施されない。空燃比の適応制御を再開したときに空燃比制御が不安定になるのを避けるため、適応制御部３４によって実施される演算の一部が禁止される。具体的には、１）制御対象への制御入力に含まれる積分項の算出を禁止する、２）モデルパラメータの同定処理を禁止する、３）空燃比の操作量の限界を規定する許容範囲の更新を禁止する。これらの詳細については、後述される。
【００５１】
図４は、この発明に従う空燃比制御におけるパラメータの挙動を示す。グラフ４１は、実空燃比係数ＫＡＣＴの遷移を示す。実空燃比係数ＫＡＣＴは、ＬＡＦセンサ１６（図１）によって検出された空燃比を表す。空燃比が理論空燃比のとき、実空燃比係数ＫＡＣＴは１である。実空燃比係数ＫＡＣＴが１より大きいとき、空燃比はリッチであり、実空燃比係数ＫＡＣＴが１より小さいとき、空燃比はリーンである。グラフ４２は、Ｏ２センサ１７の出力の遷移を示す。グラフ４３は、車速の遷移を示す。
【００５２】
グラフ４４は、排出されるＮＯｘの量の遷移を示す。グラフ４５は、仮想Ｏ２センサ３０の推定された出力の未来値を示す。理解を深めるため、仮想Ｏ２センサの推定された出力を示すグラフ４６を図に表す。グラフ４５は、グラフ４６に対して所定時間Δｔだけ先行している。前述したように、このΔｔは、燃焼サイクルおよび排気系におけるむだ時間に相当する。
【００５３】
時間ｔ０からｔ１の間、空燃比は、適応制御部３４によって適応制御される。適応制御により、有害なＨＣ、ＣＯおよびＮｏｘは最適に浄化され、上流および下流触媒はストイキ雰囲気に維持される。
【００５４】
車速が減速し、燃費向上のための燃料カットが時間ｔ１において開始される。燃料カット中は燃料が供給されないので、実空燃比係数ＫＡＣＴおよびＯ２センサ出力はリーンを示す。燃料カット中、多量の酸素が上流触媒および下流触媒の両方に吸着される。上流および下流触媒は酸化雰囲気を呈する。
【００５５】
時間ｔ２において、燃料カットが解除される。燃料カットの解除に応答して、制御モードは触媒還元モードに移行する。触媒還元モードでは、空燃比は所定のリッチ状態に設定される。触媒還元モードに入ると、上流触媒に吸着されていた酸素の除去が開始される。上流触媒は、徐々に、ストイキ雰囲気へと向かう。
【００５６】
時間ｔ３において上流触媒２５の還元処理が終了したとき、グラフ４２によって示されるように、Ｏ２センサ１７の出力がリーン（値０）からリッチ（値１）に反転する。Ｏ２センサ１７の出力の反転にかかわらず、還元処理は継続する。上流触媒は還元雰囲気へと向かい、下流触媒はストイキ雰囲気へと向かう。
【００５７】
時間ｔ４において、仮想Ｏ２センサ３０の未来値がリーン（値０）からリッチ（値１）に反転する。これは、下流触媒２６の還元処理がほぼ終了したことを示す。仮想Ｏ２センサ３０の未来値のこの反転に応答して、空燃比をリッチ化する処理を終了する。この時、下流触媒はストイキ雰囲気を呈している。
【００５８】
時間ｔ４において、空燃比の制御モードは、触媒還元モードから適応制御モードに移行する。適応制御モードが開始されると、上流および下流触媒はストイキ雰囲気に維持される。
【００５９】
このように、還元処理は、仮想Ｏ２センサ３０の推定された出力に対して、むだ時間に相当する時間（Δｔ）だけ先行した未来値の反転に応答して終了する。したがって、空燃比が過剰なリッチ状態になることが回避される。
【００６０】
触媒還元モード  
図５は、図４に示される触媒還元モードの詳細を示す。グラフ５１は、Ｏ２センサ１７の出力Vo2/OUTの遷移を示す。グラフ５２は、上流触媒の還元処理が終了したかどうかを示すＯ２センサフラグＦ＿ＳＯ２ＲＤの遷移を示す。Ｏ２センサフラグＦ＿ＳＯ２ＲＤは、上流触媒の還元処理が終了したとき、ゼロから１に反転される。
【００６１】
グラフ５３は、還元ガス推定値ＣＴＲＤＥＸの遷移を示す。還元ガス推定値ＣＴＲＤＥＸは、触媒１５の還元に寄与するガス量を示し、運転状態に基づいて算出される。グラフ５４は、積算値ＣＴＲＡＭＴの遷移を示す。積算値ＣＴＲＡＭＴは、それぞれのサイクルで算出された推定値ＣＴＲＤＥＸを積算した値を示す。グラフ５５は、仮想Ｏ２センサ３０の未来値Ｆ＿ＲＯ２ＲＤの遷移を示す。グラフ５６は、目標空燃比ＫＣＭＤの遷移を示す。
【００６２】
時間ｔ０〜ｔ１の間、燃料カットが実施される。時間ｔ１において燃料カットが解除されたとき、触媒還元モードが開始する。目標空燃比ＫＣＭＤは、リッチを示す所定値に設定される。この例では、該所定値は、ストイキを示す目標空燃比（ＫＣＭＤ＝１）に偏差ＤＫＣＭＤＣＲＤを加算した値に設定される。それぞれのサイクルにおいて、還元ガスの推定値ＣＴＲＤＥＸおよび積算値ＣＴＲＡＭＴが算出される。
【００６３】
時間ｔ２において、上流触媒の還元処理が終了する。これに応答して、Ｏ２センサ１７の出力Vo2/OUTがリーンからリッチに反転する。Ｏ２センサフラグＦ＿ＳＯ２ＲＤは、ゼロから１に切り換えられる。時間ｔ２における積算値ＣＴＲＡＭＴは、上流触媒２５の還元に寄与したガス量ＣＴＲＤＲＱＦを示す。このガス量ＣＴＲＤＱＦに基づいて、上流触媒２５および下流触媒２６の両方の還元処理を達成するのに必要なガス総量ＣＴＲＤＲＱＴが算出される。
【００６４】
時間ｔ３において、積算値ＣＴＲＡＭＴが、算出されたガス総量ＣＴＲＤＲＱＴに達する。これに応答して、仮想Ｏ２センサ３０の未来値Ｆ＿ＲＯ２ＲＤの値がゼロから１に切り換えられる。未来値の反転に応答して、触媒還元モードは終了する。
【００６５】
こうして、触媒還元モードの間は、仮想Ｏ２センサの推定された出力（好ましくは未来値）に応じて、空燃比が制御される。仮想Ｏ２センサの出力がリーンならば、空燃比は所定のリッチ状態に設定される。仮想Ｏ２センサの出力がリーンからリッチに反転したならば、空燃比をリッチ化する処理は終了する。
【００６６】
図６は、図４に示される還元処理部３３の詳細な機能ブロック図を示す。空燃比設定部６１は、式（１）に従って、触媒還元モードにおける目標空燃比ＫＣＭＤを設定する。基準値ＦＬＡＦ／ＢＡＳＥは、エンジン１の実際の空燃比のほぼ中心値になるように設定され、たとえば理論空燃比を示す値（すなわち、１）に設定される。ＤＫＣＭＤＣＲＤは、図５を参照して前述したように、基準値ＦＬＡＦ／ＢＡＳＥに対する偏差を示す。偏差ＤＫＣＭＤＣＲＤは、触媒還元モードにおいて目標空燃比をどのくらいリッチにするかを表し、正の値を持つ。
【００６７】
【数１】
目標空燃比ＫＣＭＤ＝ＦＬＡＦ／ＢＡＳＥ＋ＤＣＫＭＤＣＲＤ
式（１）
【００６８】
還元ガス推定部６２は、触媒の還元に寄与する排気ガス量を、式（２）に従って算出する。式（２）に示されるように、還元に寄与するガス量は、運転状態に基づいて算出される。ＮＥは、ＮＥセンサ１３（図１）によって検出されたエンジン回転数を示す。ＰＢは、ＰＢセンサ８（図１）によって検出された吸気管圧力を示す。ＣＴＲＤＳＶＰは推定係数を示し、たとえば、２．２リットルの４気筒エンジンの場合、実験値は６５．７４である。
【００６９】
【数２】
推定ガス量ＣＴＲＤＥＸ＝ＮＥ×ＰＢ×ＤＫＣＭＤＣＲＤ×ＣＴＲＤＳＶＰ
式（２）
【００７０】
積算部６３は、還元ガス推定部５２によって算出されたガス量を、式（３）に従って積算する。ここで、ｋは、サイクルを識別するものであり、（ｋ）は今回のサイクルを示し、（ｋ−１）は前回のサイクルを示す。
【００７１】
【数３】
今回のサイクルの積算値ＣＴＲＡＭＴ(ｋ)＝
前回のサイクルの積算値ＣＴＲＡＭＴ(ｋ−１)＋推定ガス量ＣＴＲＤＥＸ(ｋ)式（３）
【００７２】
前述したように、Ｏ２センサ１７の出力がリーンからリッチに反転したとき、上流触媒の還元処理が完了する。Ｏ２センサ１７の出力が反転したときの積算値は、上流触媒の還元に寄与したガス量ＣＴＲＤＲＱＦを示す。上流触媒の劣化状態、および酸素をどのくらい吸着しているかを示す酸素吸着濃度が、上流触媒還元ガス量ＣＴＲＤＲＱＦによって同定される。
【００７３】
上流触媒還元ガス量ＣＴＲＤＲＱＦに基づいて、上流および下流触媒の両方を還元するのに必要なガス総量ＣＴＲＤＲＱＴを推定する。総量推定部６４は、還元ガス総量ＣＴＲＤＲＱＴを、式（４）に従って算出する。
【００７４】
【数４】
還元ガス総量ＣＴＲＤＲＱＴ＝
上流触媒還元ガス量ＣＴＲＤＲＱＦ×ＣＡＴＥＶＲ        式（４）
【００７５】
係数ＣＡＴＥＶＲは、シミュレーションおよび実験に基づいて予め設定される定数である。具体的には、シミュレーションおよび実験において、下流触媒の下流にＯ２センサを実際に設ける。燃料カット後に空燃比を式（１）で算出されるリッチ空燃比に設定し、この時、該Ｏ２センサの出力の反転と積算値ＣＴＲＡＭＴの相関を求める。この結果に基づき、係数ＣＡＴＥＶＲの値が決定される。次に、未来値Ｆ＿ＲＯ２ＲＤの値０（リーン）から値１（リッチ）への反転が、実験用に設けた実際のＯ２センサよりも所定時間早く起こるように、決定された係数ＣＡＴＥＶＲが調整される。すなわち、余剰なリッチ化によるＨＣおよびＣＯの排出量の増加が発生しないように、上記決定された係数ＣＡＴＥＶＲは小さくなる方向に調整される。この所定時間は、前述したように、むだ時間に相当する長さを持つ。こうして、燃料サイクルおよび排気系の輸送におけるむだ時間が補償される。
【００７６】
比較部６５は、総量推定部６４によって算出された還元ガス総量ＣＴＲＤＲＱＴと、積算部６３によって算出された積算値ＣＴＲＡＭＴとを比較する。積算値ＣＴＲＡＭＴが総量ＣＴＲＤＲＱＴに達したならば、未来値反転部６６は、仮想センサＯ２の未来値Ｆ＿ＲＯ２ＲＤをゼロから１に変える。
【００７７】
仮想センサＯ２の未来値Ｆ＿ＲＯ２ＲＤの反転に応答して、触媒還元モードは終了し、適応制御による空燃比制御が開始される。このように、触媒還元モードでは、Ｏ２センサ１７の出力に基づいて仮想Ｏ２センサ３０の出力を推定し、該仮想Ｏ２センサ３０の推定した出力に基づいて空燃比をフィードバック制御する。
【００７８】
それぞれのサイクルについての還元ガス量が運転状態に基づいて算出されるので、燃料カット中の空燃比のバラツキ、エンジン負荷のバラツキ、および触媒の劣化状態のバラツキが存在しても、触媒の還元処理が安定的に行われる。したがって、Ｎｏｘの浄化率を速やかに復帰させることができる。さらに、過剰な還元処理が防止されるので、ＨＣおよびＣＯの排出量の増大を防ぐことができる。また、触媒の還元に寄与する空燃比ＤＫＣＭＤＣＲＤに基づいて仮想Ｏ２センサの出力が推定されるので、仮想Ｏ２センサの推定出力の精度が向上する。
【００７９】
適応空燃比制御モード  
図７は、適応空燃比制御の制御ブロック図を示す。適応空燃比制御の制御対象（プラント）は、図１に示されるように、排気管１４のＬＡＦセンサ１６から上流触媒を通ってＯ２センサ１７までの排気系１９である。排気系１９のＯ２センサ１７の出力Vo2/OUTが、目標値Vo2/TARGETと比較される。比較結果に基づいて、制御器７１は、空燃比偏差ｋｃｍｄを求める。空燃比偏差ｋｃｍｄを基準値ＦＬＡＦ／ＢＡＳＥに加算し、目標空燃比ＫＣＭＤを求める。目標空燃比ＫＣＭＤによって補正された燃料噴射量が、エンジン１に供給される。その後、排気系のＯ２センサ１７の出力VO2/OUTが再び検出される。
【００８０】
このように、制御器７１は、Ｏ２センサ１７の出力Vo2/OUTを目標値Vo2/TARGETに収束するよう目標空燃比ＫＣＭＤを求めるフィードバック制御を実行する。制御対象である排気系１９を、出力をVo2/OUT、入力をＬＡＦセンサの出力ＫＡＣＴとして、式（５）のようにモデル化することができる。排気系１９は離散時間系モデルとしてモデル化される。離散時間系モデルは、空燃比制御のアルゴリズムをコンピュータ処理に適した簡易なものとする。前述したように、ｋはサイクルを識別する識別子である。
【００８１】
【数５】
0003811075.tif 000002
【００８２】
Ｖｏ２は、式（５）に示されるように、Ｏ２センサ１７の出力値Vo2/OUTの目標値Vo2/TARGETに対する偏差（以下、センサ出力偏差と呼ぶ）を示す。ｋａｃｔは、基準値ＦＬＡＦ／ＢＡＳＥに対するＬＡＦセンサの出力ＫＡＣＴの偏差を示す。空燃比の基準値ＦＬＡＦ／ＢＡＳＥは、式（１）を参照して説明したように、たとえば理論空燃比に相当する値に設定される。
【００８３】
ｄ１は、排気系１９が有するむだ時間を示す。むだ時間ｄ１は、ＬＡＦセンサ１６によって検出された空燃比がＯ２センサ１７の出力に反映されるのに要する時間を示す。ａ１、ａ２およびｂ１はモデルパラメータであり、後述する同定器によって生成される。
【００８４】
一方、エンジン１およびＥＣＵ５からなる空燃比を操作する系は、式（６）のようにモデル化されることができる。ｋｃｍｄは、基準値ＦＬＡＦ／ＢＡＳＥに対する目標空燃比ＫＣＭＤの偏差（以下、空燃比偏差と呼ぶ）を示す。ｄ２は、該空燃比を操作する系におけるむだ時間を示す。むだ時間ｄ２は、算出された目標空燃比ＫＣＭＤがＬＡＦセンサ１６の出力ＫＡＣＴに反映されるのに要する時間を示す。
【００８５】
【数６】
0003811075.tif 000003
【００８６】
図８は、図７に示される制御器７１のさらに詳細なブロック図を示す。制御器７１は、同定器７２、推定器７３、スライディングモード制御器７４およびリミッタ７５を備える。
【００８７】
同定器７２は、式（５）におけるモデルパラメータａ１、ａ２およびｂ１を、モデル化誤差をなくすように同定する。同定器７２によって実施される同定方法を以下に示す。
【００８８】
前回のサイクルで算出されたモデルパラメータａ１(k-1)、ａ２(k-1)およびｂ１(k-1)を用い（以下、これらのパラメータをａ１(k-1)ハット、ａ２(k-1)ハットおよびｂ１(k-1)ハットと呼ぶ）、式（５）に従って今回のサイクルのセンサ出力偏差Ｖｏ２(k)（以下、これをセンサ出力偏差Ｖｏ２(k)ハットと呼ぶ）を式（７）に従って求める。
【００８９】
【数７】
0003811075.tif 000004
【００９０】
式（８）は、式（７）で算出されたセンサ出力偏差Ｖｏ２(k)ハットと、今回のサイクルで実際に検出されたセンサ出力偏差Ｖｏ２(k)との偏差id/e(k)を示す。
【００９１】
【数８】
0003811075.tif 000005
【００９２】
同定器７２は、偏差id/e(k)を最小にするように、今回のサイクルにおけるa1(k)ハット、a2(k)ハットおよびb1(k)ハットを算出する。ここで、式（９）に示されるようにベクトルΘを定義する。
【００９３】
【数９】
0003811075.tif 000006
【００９４】
同定器７２は、式（１０）に従い、a1(k)ハット、a2(k)ハットおよびb1(k)ハットを求める。
【００９５】
【数１０】
0003811075.tif 000007
【００９６】
推定器７３は、排気系１９のむだ時間ｄ１および空燃比を操作する系のむだ時間ｄ２を補償するため、むだ時間ｄ（＝ｄ１＋ｄ２）後のセンサ出力偏差Ｖｏ２を推定する。この推定は、式（１１）に従って行われる。係数α１、α２およびβは、同定器７２で算出されたモデルパラメータを用いて算出される。空燃比偏差の過去の時系列データｋｃｍｄ(k-j)（ただし、ｊ＝１、２、．．．ｄ）は、むだ時間ｄの長さの間に取得された空燃比偏差を含む。
【００９７】
【数１１】
0003811075.tif 000008
【００９８】
むだ時間ｄ２以前の空燃比偏差ｋｃｍｄの過去の値kcmd(k-d2)、kcmd(k-d2-1)、．．．kcmd(k-d)の値を、上記の式（２）を用いてＬＡＦセンサ１６の偏差出力kac(k)、kact(k-1)、．．．kact(k-d+d2)で置き換えることができる。その結果、式（１２）が得られる。
【００９９】
【数１２】
0003811075.tif 000009
【０１００】
スライディングモード制御器７４は、スライディングモード制御を実行するため、切換関数σを式（１３）のように設定する。
【０１０１】
【数１３】
0003811075.tif 000010
【０１０２】
ここで、Ｖｏ２(k-1)は、前述したように前回のサイクルで検出されたセンサ出力偏差を示す。Ｖｏ２(k)は、今回のサイクルで検出されたセンサ出力偏差を示す。ｓは、切換関数σの設定パラメータであり、−１＜ｓ＜１となるよう設定される。
【０１０３】
切換関数σ(k)＝０とした式は等価入力系と呼ばれ、制御量であるセンサ出力偏差Ｖｏ２の収束特性を規定する。σ(k)＝０とすると、式（１３）は以下の式（１４）のように変形することができる。
【０１０４】
【数１４】
0003811075.tif 000011
【０１０５】
ここで、図９および式（１４）を参照して、切換関数σの特性を説明する。図９は、縦軸がＶｏ２(k-1)および横軸がＶｏ２(k)の位相平面上に、式（１４）を線８１で表現したものである。この線８１を切換直線と呼ぶ。Ｖｏ２(k-1)およびＶｏ２(k)の組合せからなる状態量（Ｖｏ２(k-1), Ｖｏ２(k)）の初期値が、点８２で表されているとする。スライディングモード制御は、点８２で表される状態量を、切換直線８１上に載せて該直線８１上に拘束するよう動作する。スライディングモード制御によると、状態量を切換直線８１上に保持することにより、該状態量を、外乱等の影響されることなく、極めて安定的に位相平面上の原点０に収束させることができる。言い換えると、状態量（Ｖｏ２(k-1),Ｖｏ２(k)）を、式（１４）に示される入力の無い安定系に拘束することにより、外乱およびモデル化誤差に対してロバストにセンサ出力偏差Vo2/OUTを目標値Vo2/TARGETに収束させることができる。
【０１０６】
切換関数設定パラメータｓは、可変に設定することができるパラメータである。設定パラメータｓを調整することにより、センサ出力偏差Ｖｏ２の減衰（収束）特性を指定することができる。
【０１０７】
切換関数σの値をゼロにするよう、３つの制御入力が決定される。すなわち、状態量を切換直線上に拘束するための制御入力Ｕeq、状態量を切換直線上に載せるための制御入力Ｕrch、およびモデル化誤差および外乱を抑制しつつ、状態量を切換直線に載せるための制御入力Ｕadpが算出される。これら３つの制御入力Ｕeq、ＵrchおよびＵadpの和を算出して、空燃比偏差ｋｃｍｄを算出するための要求偏差Ｕｓｌを求める。
【０１０８】
等価制御入力Ｕeqは、状態量を切換直線上に拘束するための入力であるので、式（１５）を満たすことが条件となる。
【０１０９】
【数１５】
0003811075.tif 000012
【０１１０】
したがって、σ(k+1)＝σ(k)とするための等価制御入力Ｕeqは、式（５）、（６）および（１３）から、式（１６）のように算出される。
【０１１１】
【数１６】
0003811075.tif 000013
【０１１２】
切換関数σの値に応じた値を持つ到達則入力Ｕrchを、式（１７）に従って算出する。この実施例では、到達則入力Ｕrchは切換関数σの値に比例した値を持つ。Ｋrchは到達則のフィードバックゲインを示し、これは、切換直線σ＝０への収束の安定性および速応性等を考慮して、シミュレーション等に基づいて予め定められる。
【０１１３】
【数１７】
0003811075.tif 000014
【０１１４】
切換関数σの積算値に応じた値を持つ適応則入力Ｕadpを、式（１８）に従って算出する。この実施例では、適応則入力Ｕadpは切換関数σの積算値に比例した値を持つ。Ｋadpは適応則のフィードバックゲインを示し、これは、切換直線σ＝０への収束の安定性および速応性等を考慮して、シミュレーション等に基づいて予め定められる。ΔＴは、サイクルの周期を示す。
【０１１５】
【数１８】
0003811075.tif 000015
【０１１６】
センサ出力偏差Ｖｏ２(k+d)およびＶｏ２(k+d-1)と、切換関数の値σ(k+d)は、むだ時間ｄが考慮された予測値であるので、これらを直接求めることはできない。そこで、推定器７３によって求められた推定偏差Ｖｏ２(k+d)バーおよびＶｏ２(k+d-1)バーを用い、等価制御入力Uｅｑを求める。
【０１１７】
【数１９】
0003811075.tif 000016
【０１１８】
また、推定器７３によって算出された推定偏差を用いて、式（２０）に示されるように切換関数σバーが算出される。
【０１１９】
【数２０】
0003811075.tif 000017
【０１２０】
切換関数σバーを用いて、到達則入力Ｕrchおよび適応則入力Ｕadpを算出する。
【０１２１】
【数２１】
0003811075.tif 000018
【０１２２】
【数２２】
0003811075.tif 000019
【０１２３】
式（２３）に示されるように、等価制御入力Ｕeq、到達則入力Ｕrchおよび適応則入力Ｕadpを加算し、要求偏差Ｕｓｌを求める。
【０１２４】
【数２３】
0003811075.tif 000020
【０１２５】
リミッタ７５は、要求偏差Ｕｓｌに対してリミット処理を行い、空燃比偏差ｋｃｍｄを求める。具体的には、リミッタ７５は、要求偏差Ｕｓｌが許容範囲内にあれば、該要求偏差Ｕｓｌを空燃比偏差ｋｃｍｄとする。要求偏差Ｕｓｌが許容範囲から逸脱している場合は、該許容範囲の上限値または下限値を、空燃比偏差ｋｃｍｄに設定する。
【０１２６】
リミッタ７５で使用される許容範囲は、図２の（ｂ）の参照番号２９に示されるように、ウィンドウ２７を略中心として、これを含むさらに広い範囲に設定される。この許容範囲は、要求偏差Ｕｓｌおよび運転状態等に応じてアクティブに移動する。また、この許容範囲は、空燃比の変動によるエンジンの燃焼変動を抑制しつつ、触媒の浄化能力がウィンドウ２７の最適な状態から外れた際に速やかに該最適な状態に復帰させるのに十分な幅を持つ。よって、過渡状態での触媒浄化率を高く保つことができ、有害な排ガス成分を低減することができる。
【０１２７】
具体的には、許容範囲は、算出された要求偏差Ｕｓｌに応じて可変に更新される。たとえば、要求偏差Ｕｓｌの許容範囲からの逸脱量に応じて、許容範囲を拡大する。または、要求偏差Ｕｓｌが許容範囲内にあるとき、該許容範囲を縮小する。こうして、Ｏ２センサ１７の出力を目標値に収束させるのに必要な空燃比を規定する要求偏差Ｕｓｌに適した許容範囲が設定される。
【０１２８】
さらに、許容範囲は、Ｏ２センサ１７の出力の不安定さが高いほど狭く設定される。また、許容範囲は、始動時、アイドリング運転状態および燃料カットが解除された時等を含め、運転状態に応じて設定されるようにしてもよい。
【０１２９】
求められた空燃比偏差ｋｃｍｄを基準値ＦＬＡＦ／ＢＡＳＥに加算して目標空燃比ＫＣＭＤを求める。該目標空燃比ＫＣＭＤを、制御対象である排気系１９に与えることにより、Ｏ２センサの出力Vo2/OUTを目標値Vo2/TARGETに収束させることができる。
【０１３０】
代替の実施形態においては、空燃比の基準値ＦＬＡＦ／ＢＡＳＥは、リミッタ７５によるリミット処理が終了した後、スライディングモード制御器７４によって算出された適応則入力Ｕadpに応じて可変に更新される。具体的には、基準値ＦＬＡＦ／ＢＡＳＥは、初期値として理論空燃比が設定される。適応則Ｕadpが予め決められた上限値を超えているならば、基準値ＦＬＡＦ／ＢＡＳＥは所定量だけ増やされる。適応則Ｕadpが予め決められた下限値を下回っているならば、基準値ＦＬＡＦ／ＢＡＳＥは所定量だけ減らされる。適応則Ｕadpが上限値および下限値の間にあれば、基準値ＦＬＡＦＢＡＳＥは更新されない。更新されたＦＬＡＦ／ＢＡＳＥは、次回のサイクルにおいて用いられる。こうして、基準値ＦＬＡＦ／ＢＡＳＥは、目標空燃比ＫＣＭＤの変動の中心値になるよう調整される。
【０１３１】
基準値ＦＬＡＦ／ＢＡＳＥの更新処理を上記のリミット処理と組み合わせることにより、要求偏差Ｕｓｌの許容範囲が正負にバランスされる。基準値ＦＬＡＦ／ＢＡＳＥの更新処理は、Ｏ２センサ出力Vo2/OUTが目標値Vo2/TARGETにほぼ収束し、スライディングモード制御が安定状態にあると判断されたときに行われるのが好ましい。
【０１３２】
前述したように、触媒還元モードから適応制御モードに切り換えられたとき、不適切な制限処理により、触媒の浄化状態をウィンドウ２７の最適な状態に保つことができなくなることを回避するため、触媒還元モード中においては、以下の対策がとられる。
【０１３３】
１）スライディングモード制御器７４によって算出される適応則入力Ｕadpの切換関数σの積分値がホールドされる。言い換えると、触媒還元モードに移行する直前のサイクルで算出された積分値がメモリに格納され、触媒還元モード中は積分値の算出は行わない。触媒還元モードから適応制御モードに切り換えられたとき、該メモリに格納された積分値が再び使用される。
【０１３４】
２）同定器７２によるモデルパラメータの同定処理が禁止される。言い換えると、触媒還元モードに移行する直前のサイクルで算出されたモデルパラメータがメモリに格納され、触媒還元モード中は同定処理を行わない。触媒還元モードから適応制御モードに切り換えられたとき、該メモリに格納されたモデルパラメータが再び使用される。
【０１３５】
３）リミッタ７５による許容範囲の更新処理が禁止される。言い換えると、触媒還元モードに移行する直前に算出された許容範囲がメモリに格納され、触媒還元モード中は許容範囲の更新を行わない。触媒還元モードから適応制御モードに切り換えられたとき、該メモリに格納された許容範囲が再び使用される。
【０１３６】
触媒還元処理のフロー  
図１０〜図１４を参照し、図３の還元処理部３３によって実施される還元処理の流れを説明する。
【０１３７】
図１０は、還元処理を実行するかどうかを判断するフローチャートを示す。ステップＳ１０１において、還元処理完了フラグが値１を示すかどうか判断する。完了フラグは、還元処理を終えたときに値１がセットされるフラグである。完了フラグが１ならば、還元処理タイマをゼロにリセットし（Ｓ１０２）、還元処理モードフラグをゼロにリセットする（Ｓ１０３）。
【０１３８】
完了フラグがゼロならば、燃料カットフラグＦＣの値を調べる（Ｓ１０４）。燃料カットフラグＦＣが１ならば、燃料カット中であることを示す。還元処理タイマに所定値をセットし（Ｓ１０５）、該タイマを起動する。還元処理タイマは、燃料カット開始から還元処理終了までの時間を計測するアップタイマである。その後、還元処理モードフラグが、ゼロにセットされる（Ｓ１０６）。燃料カット中であるので、還元処理はまだ開始されない。
【０１３９】
燃料カットフラグがゼロで、かつ還元処理タイマがゼロより大きければ（Ｓ１０４およびＳ１０７）、燃料カットが解除された後の還元処理期間であることを示す。ステップＳ１０８に進み、還元処理を実行するため、還元処理モードフラグに１をセットする。
【０１４０】
ステップＳ１０７で還元処理タイマが０ならば、燃料カットが解除された後の還元処理期間ではないことを意味する。還元処理モードフラグをゼロにセットし、触媒還元モードを抜ける（Ｓ１０６）。
【０１４１】
還元処理を実行するとき、前述した式（１）に従って、目標空燃比ＫＣＭＤを求める。ステップＳ１１０に進み、空燃比の適応制御における同定パラメータａ１、ａ２およびｂ１の算出処理を禁止するため、同定演算許可フラグにゼロをセットする。この時、現在の同定パラメータはメモリに記憶される。ステップＳ１１１に進み、空燃比の適応制御における適応則入力の積算値Σσを算出する処理を禁止するため、積算項算出許可フラグにゼロをセットする。この時、現在の積算項Σσは、メモリに記憶される。ステップＳ１１２に進み、空燃比の適応制御におけるリミッタの許容範囲を更新する処理を禁止するため、許容範囲更新許可フラグをゼロにセットする。
【０１４２】
図１１は、還元ガス量の積算値ＣＴＲＡＭＴを算出するフローチャートを示す。ステップ１２１において、還元処理モードフラグを調べる。還元処理モードフラグが１ならば、還元処理が実行中であることを示す。ステップＳ１２２に進み、今回のサイクルにおける還元ガス量の推定値を、前述の式（２）に従って算出する。ステップＳ１２３に進み、今回のサイクルにおける還元ガスの積算値を、前述の式（３）に従って算出する。
【０１４３】
還元処理モードフラグがゼロならば（Ｓ１２１）、今回のサイクルにおける還元ガス量の推定値および積算値には、それぞれゼロがセットされる（Ｓ１２４およびＳ１２５）。
【０１４４】
図１２は、上流触媒に対する還元処理の終了を判断するフローチャートを示す。ステップＳ１３１において、還元処理モードフラグを調べる。還元処理モードフラグがゼロならば、還元処理が実行されていないことを示す。ステップＳ１３２に進み、上流触媒の還元処理が終了していないことを示すため、Ｏ２センサフラグＦ＿ＳＯ２ＲＤ（図３）にゼロをセットする。
【０１４５】
還元処理モードフラグが１ならば、Ｏ２センサ１７の出力が反転したかどうか調べる（Ｓ１３３）。Ｏ２センサ１７の出力が所定値以上を示すとき、Ｏ２センサ１７の出力がゼロから１に反転したと判断することができる。Ｏ２センサ１７の出力が反転したならば、上流触媒の還元処理が完了したことを示す。したがってＯ２センサフラグＦ＿ＳＯ２ＲＤに１をセットする（Ｓ１３４）。
【０１４６】
図１３は、上流触媒を還元するのに必要なガス量ＣＴＲＤＲＱＦ、および触媒全体を還元するの必要なガス総量ＣＴＲＤＲＱＴを算出するフローチャートを示す。ステップＳ１４１において、還元処理モードフラグを調べる。還元処理モードフラグがゼロならば、上流触媒還元ガス量ＣＴＲＤＲＱＦにゼロをセットする（Ｓ１４２）。
【０１４７】
還元処理モードフラグが１ならば、Ｏ２センサフラグの値を調べる。Ｏ２センサフラグが１ならば、上流触媒の還元処理が終了していることを示す。ステップＳ１４４に進み、上流触媒還元ガス量ＣＴＲＤＲＱＦがゼロかどうか判断する。上流触媒還元ガス量ＣＴＲＤＲＱＦがゼロならば、上流触媒の還元処理が前回のサイクルにおいて終了したことを示す。この場合、ステップＳ１４５に進み、現在の積算値ＣＴＲＤＡＭＴを、上流触媒還元ガス量ＣＴＲＤＲＱＦにセットする。
【０１４８】
ステップＳ１４３においてＯ２センサフラグがゼロのとき、上流触媒の還元処理が終わっていないことを示す。また、ステップＳ１４４において上流触媒還元ガス量ＣＴＲＤＲＱＦがゼロでないときは、該ガス量ＣＴＲＤＲＱＦがすでに確定されていることを示す。これらの場合、ステップＳ１４６に進み、前述の式（４）に従って、上流および下流触媒の両方を還元するのに必要なガス総量ＣＴＲＤＲＱＴを算出する。
【０１４９】
図１４は、触媒全体の還元処理が完了したかどうかを判断するフローチャートを示す。還元処理モードフラグの値がゼロのとき、還元処理が実行されていないことを示す。Ｏ２センサフラグの値がゼロのとき、上流触媒の還元処理が終わっていないことを示す。積算値ＣＴＲＤＡＭＴがガス総量ＣＴＲＤＲＱＴよりも小さいとき、下流触媒の還元処理が終わっていないことを示す。これらの場合には、ステップＳ１５４に進み、仮想Ｏ２センサ３０の未来値にゼロをセットする。
【０１５０】
還元処理モードフラグの値が１のとき、ステップＳ１５２に進み、Ｏ２センサフラグの値を調べる。Ｏ２センサフラグの値が１のとき、ステップＳ１５３に進み、積算値ＣＴＲＤＡＭＴがガス総量ＣＴＲＤＲＱＴに達したかどうか調べる。積算値ＣＴＲＤＡＭＴがガス総量ＣＴＲＤＲＱＴに達したならば、下流触媒の還元処理が終わったことを示す。すなわち、触媒全体の還元処理が完了したことを意味する。ステップＳ１５５に進み、仮想Ｏ２センサ３０の未来値に１をセットし、触媒還元モードを抜ける。
【０１５１】
これまで説明してきた本発明の実施例は、空燃比がリーンの状態から通常の燃料供給状態に移行する際にも適用されることができる。たとえば、リーンバーン運転から理論空燃比運転に切り換えるとき、リーンバーン運転を解除する信号に応答して、触媒還元モードを開始する。触媒全体の還元処理を終えた後、適応制御モードに移行する。また、この場合、リーンバーン運転中にＮＯｘを触媒に吸着／吸蔵する機能を備える触媒を用いたとしても、係数ＣＡＴＥＶＲを適切に設定することにより、その還元処理を行うことができる。
【０１５２】
この発明によれば、仮想Ｏ２センサの推定された出力により、下流触媒の浄化雰囲気を把握することが可能となる。この特徴を利用して、所定の条件に応じて、上流および下流触媒の間に設けられたＯ２センサの出力に基づく空燃比の適応制御と、仮想Ｏ２センサの推定された出力に基づく空燃比制御とを切り換えることができる。たとえば、内燃機関が高負荷のとき、ＨＣの浄化率を最大にするため、仮想Ｏ２センサの推定された出力に応じた空燃比制御に切り換えるようにしてもよい。
【０１５３】
【発明の効果】
この発明によると、触媒全体の還元処理を、内燃機関の運転状態の変動および触媒の劣化状態に応じて適切に行うことができる。
【図面の簡単な説明】
【図１】この発明の一実施例に従う、内燃機関およびその制御装置を概略的に示す図。
【図２】この発明の一実施例に従う、（ａ）触媒装置、および（ｂ）上流触媒と下流触媒の挙動態様を示す図。
【図３】この発明の一実施例に従う、空燃比制御装置の全体的な機能ブロック図。
【図４】この発明の一実施例に従う、空燃比制御の遷移を概略的に示す図。
【図５】この発明の一実施例に従う、触媒還元モードにおけるパラメータの遷移を概略的に示す図。
【図６】この発明の一実施例に従う、還元処理部の詳細な機能ブロック図。
【図７】この発明の一実施例に従う、適応制御の制御ブロック図。
【図８】この発明の一実施例に従う、適応制御部の詳細の機能ブロック図。
【図９】この発明の一実施例に従う、適応制御におけるスライディングモード制御における切換直線を概略的に示す図。
【図１０】この発明の一実施例に従う、還元処理を実行するかどうか判断するフローチャート。
【図１１】この発明の一実施例に従う、還元ガス量の積算値を算出するフローチャート。
【図１２】この発明の一実施例に従う、上流触媒の還元処理が終了したかどうか判断するフローチャート。
【図１３】この発明の一実施例に従う、触媒全体を還元するのに必要なガス総量を算出するフローチャート。
【図１４】この発明の一実施例に従う、還元処理が完了したかどうか判断するフローチャート。
【符号の説明】
１  エンジン
５  ＥＣＵ
１４  排気管
１５  触媒装置
１７  Ｏ２センサ
２５  上流触媒
２６  下流触媒
３０  仮想排ガスセンサ
【図１】
0003811075.tif 000021
【図２】
0003811075.tif 000022
【図３】
0003811075.tif 000023
【図４】
0003811075.tif 000024
【図５】
0003811075.tif 000025
【図６】
0003811075.tif 000026
【図７】
0003811075.tif 000027
【図８】
0003811075.tif 000028
【図９】
0003811075.tif 000029
【図１０】
0003811075.tif 000030
【図１１】
0003811075.tif 000031
【図１２】
0003811075.tif 000032
【図１３】
0003811075.tif 000033
【図１４】
0003811075.tif 000034