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