(57)【要約】【課題】触媒の上流側と下流側にそれぞれ排気ガスセンサを配置してメインフィードバック制御とサブフィードバック制御を行う空燃比制御システムにおいて、サブフィードバック制御の制御対象を模擬したプラントモデルのパラメータを逐次同定する際に、エミッションの悪化を抑えつつ逐次同定精度を向上させる。【解決手段】サブフィードバック制御の制御対象を模擬したプラントモデルのパラメータを逐次同定する際に、上流側目標φ（触媒上流側の目標空燃比）と上流側検出φ（上流側排気ガスセンサの検出空燃比）をストイキから所定期間リッチ（又はリーン）に振った後、所定期間ストイキに戻した上で、所定期間リーン（又はリッチ）に振った後、再び所定期間ストイキに戻すというように繰り返し振幅させる。ここで、「φ」は燃料過剰率（空気過剰率λの逆数）を意味する。【選択図】図６
2007285190.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配置された排気ガス浄化用の触媒と、
前記排気通路において前記触媒の上流側と下流側でそれぞれ排気ガスの特定ガス濃度を検出する上流側排気ガスセンサ及び下流側排気ガスセンサと、
前記上流側排気ガスセンサの検出値が上流側目標値となるように燃料噴射量をフィードバック制御するメインフィードバック制御手段と、
前記下流側排気ガスセンサの検出値が下流側目標値となるように前記上流側目標値を補正するサブフィードバック制御手段と、
前記サブフィードバック制御手段の制御対象を離散数式モデルで表したプラントモデルを用い、該プラントモデルの動特性を表すモデルパラメータを所定のアルゴリズムに基づいて逐次同定する同定手段と
を備えた内燃機関の空燃比制御装置において、
前記同定手段により前記モデルパラメータを同定する際に、前記上流側目標値若しくは前記燃料噴射量の補正量を、ストイキ相当から所定期間リッチ（又はリーン）に振った後、所定期間ストイキ相当に戻した上で、所定期間リーン（又はリッチ）に振った後、再び所定期間ストイキ相当に戻すというように繰り返し振幅させる空燃比振幅手段を備えていることを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記空燃比振幅手段は、前記上流側目標値若しくは前記燃料噴射量の補正量の繰り返し振幅を、前記下流側目標値を振幅させることで実現することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
前記空燃比振幅手段は、前記下流側目標値の振幅量を設定する際に、前記触媒から流出する排気ガスの空燃比が前記下流側排気ガスセンサの下流側に配置された下流側触媒の浄化率の高い範囲内に収まるように前記下流側排気ガスセンサの振幅量を設定することを特徴とする請求項１又は２に記載の内燃機関の空燃比制御装置。
【請求項４】
前記サブフィードバック制御手段は、フィードバック項とフィードフォワード項とを有する２自由度制御系として設計されていることを特徴とする請求項１乃至３のいずれかに記載の内燃機関の空燃比制御装置。
【請求項５】
前記プラントモデルは、前記触媒に流入する酸素量のうち化学量論比からの過不足分に相当する値を入力とし、前記下流側排気ガスセンサの検出値を出力とするようにモデル化されていることを特徴とする請求項１乃至４のいずれかに記載の内燃機関の空燃比制御装置。
【請求項６】
前記空燃比振幅手段は、前記触媒に与える酸素過不足量相当値の目標値若しくは検出値と内燃機関の運転状態に基づいて前記上流側目標値の補正量を設定することを特徴とする請求項１乃至５のいずれかに記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、触媒の上流側と下流側にそれぞれ排気ガスの特定ガス濃度を検出する排気ガスセンサ（上流側排気ガスセンサ及び下流側排気ガスセンサ）を配置して内燃機関の空燃比（燃料噴射量）をフィードバック制御する内燃機関の空燃比制御装置に関する発明である。
【背景技術】
【０００２】
今日の自動車は、排気管に三元触媒を設置して排気ガスを浄化するようにしているが、触媒の排気ガス浄化率を高めるためには、排気ガスの空燃比を触媒の浄化ウインド内（理論空燃比付近）に制御する必要がある。そこで、触媒の上流側と下流側にそれぞれ排気ガスセンサ（空燃比センサ又は酸素センサ）を設置し、上流側排気ガスセンサで検出される排気ガスの空燃比が上流側目標空燃比となるように燃料噴射量をフィードバック制御（メインフィードバック制御）すると共に、下流側排気ガスセンサで検出される排気ガスの空燃比が下流側目標空燃比となるように上流側目標空燃比を補正するサブフィードバック制御を実施するようにしたものがある。
【０００３】
このようなメイン／サブフィードバックシステムでは、サブフィードバック制御の制御対象（触媒や下流側排気ガスセンサ）の特性が製造ばらつきや経時劣化等により変動すると、サブフィードバック制御の精度が低下するため、特許文献１（特開２００３−２０９８３号公報）の空燃比制御装置では、上流側排気ガスセンサから下流側排気ガスセンサまでをモデル化し、そのモデルの挙動を表すパラメータを上流側排気ガスセンサと下流側排気ガスセンサの出力に基づいて逐次同定して、モデルのパラメータを逐次更新することで、実際の制御対象に適合した精度の高いモデルを維持するようにしている。
【特許文献１】特開２００３−２０９８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、逐次同定を精度良く行うためには、上流側排気ガスセンサの出力と下流側排気ガスセンサの出力をリッチ／リーンにある程度の幅で持続的に振幅する必要があるが、この制御対象の出力である下流側排気ガスセンサの出力がリッチ／リーンに振れると、エミッションが悪化するという問題がある。
【０００５】
本発明はこのような事情を考慮してなされたものであり、従って本発明の目的は、エミッションの悪化を抑えつつ逐次同定精度を向上させることができる内燃機関の空燃比制御装置を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明は、内燃機関の排気通路に配置された排気ガス浄化用の触媒と、この触媒の上流側と下流側にそれぞれ配置された上流側排気ガスセンサ及び下流側排気ガスセンサと、前記上流側排気ガスセンサの検出値が上流側目標値となるように燃料噴射量をフィードバック制御するメインフィードバック制御手段と、前記下流側排気ガスセンサの検出値が下流側目標値となるように前記上流側目標値を補正するサブフィードバック制御手段と、前記サブフィードバック制御手段の制御対象を離散数式モデルで表したプラントモデルを用い、該プラントモデルの動特性を表すモデルパラメータを所定のアルゴリズムに基づいて逐次同定する同定手段とを備えた内燃機関の空燃比制御装置において、前記同定手段により前記モデルパラメータを同定する際に、空燃比振幅手段によって、前記上流側目標値若しくは前記燃料噴射量の補正量を、ストイキ相当から所定期間リッチ（又はリーン）に振った後、所定期間ストイキ相当に戻した上で、所定期間リーン（又はリッチ）に振った後、再び所定期間ストイキ相当に戻すというように繰り返し振幅させるようにしたものである。このようにすれば、上流側目標値等をリッチ又はリーンに振幅させる際に、その都度、所定期間ストイキ相当に戻すことができ、それによって、エミッションの悪化を抑えつつ逐次同定精度を向上させることができる。
【０００７】
この場合、請求項２のように、上流側目標値若しくは燃料噴射量の補正量の繰り返し振幅（以下「空燃比の繰り返し振幅」という）を、下流側目標値を振幅させることで実現するようにすると良い。このように、空燃比の繰り返し振幅を下流側目標値の振幅によって実現すれば、外乱によって下流側排気ガスセンサ検出値の振幅量が大きくなり過ぎることを防止でき、外乱によるエミッションの悪化を避けることができる。
【０００８】
更に、請求項３のように、下流側目標値の振幅量を設定する際に、触媒から流出する排気ガスの空燃比が下流側排気ガスセンサの下流側に配置された下流側触媒の浄化率の高い範囲内に収まるように下流側目標値の振幅量を設定するようにすると良い。このようにすれば、下流側目標値の振幅によって上流側の触媒で浄化できなかった排気ガスの有害成分を下流側触媒で効率良く浄化することができ、エミッションの悪化をより確実に防止することができる。
【０００９】
また、請求項４のように、サブフィードバック制御手段は、フィードバック項とフィードフォワード項とを有する２自由度制御系として設計するようにすると良い。この場合、目標値の振幅をフィードフォワード項により行うようにすれば、外乱に対するロバスト安定化を実現できると共に、２自由度制御系とすることで、目標値追従性に加えて、外乱に対する応答性を任意に設計可能となり、制御性を向上させることができる。
【００１０】
また、請求項５のように、プラントモデルは、触媒に流入する酸素量のうち化学量論比（理論空燃比）からの過不足分に相当する値を入力とし、下流側排気ガスセンサの検出値を出力とするようにモデル化すると良い。これにより、下流側排気ガスセンサの検出値に基づいて触媒の酸素ストレージ量を適正範囲内に制御するプラントモデルを作ることができる。
【００１１】
この場合、請求項６のように、触媒に与える酸素過不足量相当値の目標値若しくは検出値と内燃機関の運転状態に基づいて上流側目標値の補正量を設定するようにすると良い。このようにすれば、内燃機関の運転状態の変化の影響を考慮して上流側目標値の補正量を設定できるため、内燃機関の運転状態の変化によって触媒の酸素ストレージ量が適正範囲を超えることを防止できて、内燃機関の運転状態の変化によるエミッションの悪化を防止することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施例を図面を用いて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１３】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８には、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって各気筒内の混合気に着火される。
【００１４】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、エンジン１１のクランク軸２７が所定クランク角回転する毎にクランク角信号（パルス信号）を出力するクランク角センサ２８が取り付けられている。このクランク角センサ２８のクランク角信号に基づいてクランク角やエンジン回転速度が検出される。
【００１５】
一方、エンジン１１の排気管２３には、排気ガスを浄化するための２つの触媒２５，３０が直列に設けられている。各触媒２５，３０は、例えば、三元触媒、ＮＯｘ吸蔵型三元触媒等により構成され、上流側の触媒２５の上流側と下流側には、それぞれ特定排気ガス濃度（例えば酸素濃度、空燃比等）を検出する上流側排気ガスセンサ３１と下流側排気ガスセンサ３２とが設けられている。本実施例では、上流側排気ガスセンサ３１として空燃比センサを用い、下流側排気ガスセンサ３２として酸素センサ（Ｏ2 センサ）を用いているが、この構成に限定されないことは言うまでもない。
【００１６】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２９に入力される。このＥＣＵ２９は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御する。
【００１７】
また、ＥＣＵ２９は、図２に示すように、上流側排気ガスセンサ３１で検出した空燃比を上流側触媒２５上流側の目標空燃比に一致させるように供給空燃比（燃料噴射量）をフィードバック補正するメインフィードバック制御（以下の説明では「フィードバック」を「Ｆ／Ｂ」で表記する）を行うメインＦ／Ｂコントローラ４０（メインＦ／Ｂ制御手段）と、下流側排気ガスセンサ３２の検出電圧（検出空燃比）を目標電圧（上流側触媒２５下流側の目標空燃比）に一致させるように上流側触媒２５上流側の目標空燃比をＦ／Ｂ補正するサブＦ／Ｂ制御を行うサブＦ／Ｂコントローラ４１（サブＦ／Ｂ制御手段）として機能する。
【００１８】
メインＦ／Ｂコントローラ４０は、事前にモデル化して適合したプラントモデル（１次遅れ系＋むだ時間のモデル）を基に設計されたものであり、このメインＦ／Ｂコントローラ４０により上流側排気ガスセンサ３１の検出空燃比と上流側触媒２５上流側の目標空燃比との偏差を小さくするように空燃比補正係数が演算され、最適な空燃比Ｆ／Ｂ制御が実現される。このメインＦ／Ｂコントローラ４０は、フィードバック項とフィードフォワード項とを有する２自由度制御系として設計され、サブＦ／Ｂコントローラ４１による目標値（上流側目標空燃比）の変化に対してフィードフォワード項により追従するように設計されている。
【００１９】
一方、サブＦ／Ｂコントローラ４１は、下流側排気ガスセンサ３２の検出電圧（検出空燃比）を目標電圧（上流側触媒２５下流側の目標空燃比）に一致させるように上流側触媒２５上流側の目標空燃比をＦ／Ｂ補正するサブＦ／Ｂ制御を行うように、事前にモデル化して適合したプラントモデル（２次遅れ系＋むだ時間のモデル）を基に設計されている。このサブＦ／Ｂコントローラ４１は、フィードバック項とフィードフォワード項とを有する２自由度制御系として設計され、後述する目標値（下流側目標Ｖ）の振幅をフィードフォワード項により行うように設計されている。これにより、目標値追従性を向上できると共に、２自由度制御系とすることで、目標値追従性に加えて、外乱に対する応答性を任意に設計可能となり、制御性を向上させることができる。
【００２０】
しかし、このサブＦ／Ｂコントローラ４１の実際の制御対象（上流側触媒２５、下流側排気ガスセンサ３２）の個体差や劣化等によってサブＦ／Ｂ制御誤差が生じる。そこで、本実施例では、適応制御と称される制御方式を用い、サブＦ／Ｂコントローラ４１におけるＦ／Ｂゲインを制御対象（プラント）の現時点の動特性に自動的に適応させ、制御系の性能を常に最良の状態に保持するようにしている。すなわち、制御対象を数式モデルで表したプラントモデルを用い、制御対象の入力（上流側触媒２５の流入過不足酸素量）を該プラントモデルに入力した時のプラントモデル出力と制御対象の出力（下流側排気ガスセンサ３２の検出電圧）との誤差ｅをゼロに近づけるようにプラントモデルの可変パラメータを逐次同定する（この機能が特許請求の範囲でいう同定手段に相当する）。
【００２１】
ここで、プラントモデルは、離散時間で表した離散プラントモデルであり、むだ時間を持つ２次遅れ系で近似すると共に、図３に示すように、２次遅れ系は、２つの１次遅れ系に分割して離散化した後結合して近似するようにしている。
【００２２】
プラントモデル（上流側触媒２５＋下流側排気ガスセンサ３２のモデル）の離散化は、オフラインで以下のように行う。本実施例では、プラントモデルをむだ時間を持つ２次遅れ系で近似する。
連続プラントモデルは、出力をＹ（ｓ）、入力をＵ（ｓ）として次式で表される。
【００２３】
【数１】
2007285190.tif 000003
【００２４】
ここで、ω、ζ、Ｋ、Ｌは連続モデルパラメータで、ωは固有角振動数、ζは減衰係数、Ｋは定常ゲイン、Ｌはむだ時間である。
また、むだ時間Ｌは、次式で表される。
Ｌ＝ｄ×ｄｔ＋Ｌ1
【００２５】
ここで、ｄはむだサンプリング回数、ｄｔはサンプリング周期、Ｌ1 は余むだ時間である。つまり、むだ時間Ｌを離散化のサンプリング周期ｄｔで除算した商ｄをむだサンプリング回数とし、余りＬ1 を余むだ時間とするものである。むだ時間Ｌをサンプリング周期ｄｔで割り切れない場合は、余むだ時間Ｌ1 は０〜ｄｔの正の値となる。
上記［数１］式で表される連続プラントモデルの伝達関数Ｇ（ｓ）は次式で表される。      
【００２６】
【数２】
2007285190.tif 000004
【００２７】
この連続プラントモデルを離散化（拡張ｚ変換）する際に、部分分数展開を利用して、次のように１次遅れ系の和に分解する。ここで、ｚ［＊］は＊の拡張ｚ変換を表す。
【００２８】
【数３】
2007285190.tif 000005
【００２９】
従って、離散プラントモデルは、次式で表される。
【００３０】
【数４】
2007285190.tif 000006
【００３１】
上式を差分方程式に変換すると、次のように表される。
【００３２】
【数５】
2007285190.tif 000007
【００３３】
ここで、ｐ1 〜ｐ4 は離散モデルパラメータであり、次のように表される。
ｐ1 ＝ａ1 ＋ａ2
ｐ2 ＝ａ1 ａ2
ｐ3 ＝ρ（ｋ1 −ｋ2 ）
ｐ4 ＝ρ（ａ1 ｋ2 −ａ2 ｋ1 ）
上記ｋ1 ，ｋ2 の中には、余むだ時間Ｌ1 が含まれる。
拡張ｚ変換した離散プラントモデルは、次式で表される。
【００３４】
【数６】
2007285190.tif 000008
【００３５】
以上説明した離散化式をまとめると、図４のように表される。
この離散モデルパラメータを連続化すると、図５に示すように、連続モデルパラメータω、ζ、Ｋ、Ｌ1 が導き出される。
【００３６】
上記各式に関して、実際はオンボードで演算可能にするため近似演算を用いても良い。例えば、三角関数、指数関数、対数関数は、２次までテイラー展開し、誤差大の範囲はテーブルでもつものとする。
【００３７】
さて、図４に示すように、拡張ｚ変換により離散化すると、離散モデルパラメータｐ3 ，ｐ4 に余むだ時間Ｌ1 の情報（これが「むだ時間の一部の情報」に相当）が含まれる。このことが拡張ｚ変換の特徴であり、一般的なｚ変換による離散化では現れないものである。同定システムにより同定するのは、離散モデルパラメータθ（θ＝［ｐ1 ，ｐ2 ，ｐ3 ，ｐ4 ］T : 上付きＴは転置を表す）であり、同定値θ＿hat （ｘ＿hat はｘの同定値もしくは推定値を表すものとする、以下同様）を用いて、図５の連続化式により連続モデルパラメータの推定値ω＿hat ，ζ＿hat ，Ｋ＿hat ，Ｌ1 ＿hat を算出できるようになっている。この余むだ時間の推定値Ｌ1 ＿hat を用いることで、むだ時間Ｌ（むだサンプリング回数ｄ）を推定することが可能となる。この機能が特許請求の範囲でいうむだ時間推定手段に相当する。
【００３８】
以下、離散モデルパラメータを同定する同定処理について説明する。本同定処理では、同定誤差ｅ（制御対象の実出力と離散プラントモデル出力との偏差）をゼロにするように離散モデルパラメータを逐次最小二乗法により推定する。以下、図２を基に詳細に説明する。
【００３９】
離散プラントモデルは上記［数６］式で表される数式モデルであり、離散モデルパラメータθ（θ＝［ｐ1 ，ｐ2 ，ｐ3 ，ｐ4 ］T ）は適応機構により逐次推定される。
図２に示すように、適応機構４２は、離散プラントモデルの予測出力と制御対象の出力（下流側排気ガスセンサ３２の検出電圧）との同定誤差ｅをゼロに近づけるように離散モデルパラメータθを推定するものである。同定誤差ｅは、離散プラントモデルに実際の制御入力ｕを入力した時のモデル出力ｙ＿hat と制御対象の実出力ｙとの誤差である。尚、離散プラントモデルに入力される制御入力ｕや制御対象の実出力ｙ（下流側排気ガスセンサ３２の検出電圧）には、不要な直流成分やノイズ成分などが含まれる。それ故に、制御入力ｕは、低周波成分除去手段としてのＨＰＦ（ハイパスフィルタ）により直流成分が除去される。
【００４０】
また、制御対象の実出力ｙにおいて、Ｆ／Ｂ制御用の出力ｙは、高周波成分除去手段としてのＬＰＦ（ローパスフィルタ）によりノイズ成分が除去され、パラメータ同定用の出力ｙは、ＨＰＦとＬＰＦとを組み合わせたＢＰＦ（バンドパスフィルタ）により直流成分とノイズ成分とが除去される。このとき、空燃比Ｆ／Ｂ用の出力ｙと同定用の出力ｙとには各々別のＬＰＦを設定できるようになっている。
【００４１】
また、同定誤差ｅには必要に応じてフィルタ処理（ＬＰＦ）や不感帯処理が施される。このフィルタ処理により、同定パラメータの振動が抑制され、不感帯処理により過同定が抑制される。尚、このフィルタ処理や不感帯処理は無くても良い。
【００４２】
ここで、前記［数６］式を、入力にむだ時間を有する自己回帰モデルとして表現しなおすと、次のように表される。
【００４３】
【数７】
2007285190.tif 000009
【００４４】
上式を線形パラメトリックな自己回帰モデルとして表現しなおすと、次のように表される。
【００４５】
【数８】
2007285190.tif 000010
【００４６】
ここで、θ＿hat(k-1)＝［ｐ1 ＿hat(k-1)，ｐ2 ＿hat(k-1)，ｐ3 ＿hat(k-1)，ｐ4 ＿hat(k-1)］T ，ζ(k-1) ＝［ｙ(k-1) ，ｙ(k-2) ，ｕ(t-d-1) ，ｕ(t-d-2) ］T である。
同定誤差ｅは次式で求められる。
【００４７】
【数９】
2007285190.tif 000011
【００４８】
次に、適応機構４２において、同定誤差ｅをゼロにするように離散モデルパラメータの推定値θ＿hat を算出するパラメータ調整則は、本実施例では重み付き最小二乗法の原理に基づいて導出される。次式に示す同定誤差ｅの２乗和を評価関数として考える。
【００４９】
【数１０】
2007285190.tif 000012
【００５０】
ここで、λは忘却係数とも呼ばれる重み係数である。上記評価関数が最小となるようなパラメータ調整則は次式のように与えられる。
【００５１】
【数１１】
2007285190.tif 000013
【００５２】
上式において、同定誤差ｅに乗算する行列ゲインΓ及びスカラゲインγは次式のようになる。
【００５３】
【数１２】
2007285190.tif 000014
【００５４】
そして、上式で求められた離散モデルパラメータの推定値が離散プラントモデルに反映される。尚、パラメータ調整則は上記以外に、例えば、固定ゲイン則、漸減ゲイン則、可変ゲイン則、固定トレース則等を用いても良い。
【００５５】
また、同定された離散モデルパラメータｐ1 ，ｐ2 ，ｐ3 ，ｐ4 は、図５に示す連続化式により連続化され、連続モデルパラメータω、ζ、Ｋ、Ｌ1 に変換される。この連続モデルパラメータω、ζ、Ｋ、Ｌ1 が再び離散化されてサブＦ／Ｂコントローラ４１に入力される。
【００５６】
更に、本実施例では、ＥＣＵ２９は、特許請求の範囲でいう空燃比振幅手段として機能し、離散モデルパラメータを同定する際に、図６に示すように、上流側目標φ（上流側触媒２５上流側の目標空燃比）と上流側検出φ（上流側排気ガスセンサ３１の検出空燃比）をストイキから所定期間リッチ（又はリーン）に振った後、所定期間ストイキに戻した上で、所定期間リーン（又はリッチ）に振った後、再び所定期間ストイキに戻すというように繰り返し振幅させる。ここで、「φ」は燃料過剰率（空気過剰率λの逆数）を意味する。
【００５７】
この上流側目標φと上流側検出φの繰り返し振幅（以下「空燃比の繰り返し振幅」という）は、下流側目標Ｖ（下流側排気ガスセンサ３２の目標電圧）を振幅させることで実現される。ここで、「Ｖ」は電圧を意味する。
【００５８】
下流側目標Ｖと上流側目標φ（ひいては燃料噴射量の補正量）との関係は、次の通りである。上流側目標φをストイキに維持する期間は、下流側目標Ｖを一定に維持し、上流側目標φをリッチに維持する期間は、下流側目標Ｖをベース目標電圧よりも低い電圧から高い電圧へ所定の変化率で連続的に変化させ、上流側目標φをリーンに維持する期間は、下流側目標Ｖをベース目標電圧よりも高い電圧から低い電圧へ所定の変化率で連続的に変化させる。ベース目標電圧は、ストイキに相当する電圧である。
【００５９】
この下流側目標Ｖの振幅量を設定する際に、上流側触媒２５から流出する排気ガスの空燃比が下流側排気ガスセンサ３２の下流側に配置された下流側触媒３０の浄化率の高い範囲（浄化ウインドウ）内に収まるように下流側目標Ｖの振幅量を設定する。
【００６０】
更に、本実施例では、図７に示すように、上流側触媒２５の目標酸素量Ｏst（酸素過不足量相当値の目標値）とエンジン運転状態（エンジン負荷Ｗとエンジン回転速度Ｎe ）に基づいて上流側目標値φの補正量Δφを次式により算出する。
【００６１】
Δφ＝｛Ｏ(k) −Ｏ(k-1) ｝／（Ｋ・Ｗ・ｄｔ）
Ｏ(k) ：今回の目標酸素量Ｏst
Ｏ(k-1) ：前回の目標酸素量Ｏst
Ｋ：標準空気酸素質量割合
Ｗ：上流側触媒２５の流入排気ガス流量［ｇ／ｓ］
ｄｔ：演算周期
【００６２】
ここで、Ｗは、上流側触媒２５の流入排気ガス流量の代わりに、エンジン吸入空気量を用いても良い。また、演算周期ｄｔは、時間同期でも良いし、エンジン回転速度同期でも良い。エンジン回転速度同期の場合は、演算周期ｄｔはエンジン回転速度Ｎe の関数となる。このように、エンジン運転状態（エンジン負荷Ｗとエンジン回転速度Ｎe ）を考慮して上流側目標値φの補正量Δφを算出することで、エンジン運転状態の変化を吸収することができて、上流側触媒２５の目標酸素量Ｏstの振幅量をほぼ一定にすることができる。      
【００６３】
図６に示すように、上流側触媒２５の目標酸素量Ｏstの挙動は、下流側目標Ｖの挙動とほぼ同じになる。上流側目標φがストイキに維持される期間（下流側目標Ｖが一定に維持される期間）は、目標酸素量Ｏstが一定に維持されて、Ｏ(k) −Ｏ(k-1) ＝０となるため、上流側目標値φの補正量Δφは０となる。
【００６４】
以上説明した適応制御処理等は、ＥＣＵ２９によって図８乃至図１２の各プログラムに従って実行される。以下、図８乃至図１２の各プログラムの処理内容を説明する。
［燃料噴射制御プログラム］
図８の燃料噴射制御プログラムは、エンジン運転中に所定周期（例えば３０ＣＡ周期）で実行される。本プログラムが起動されると、まずステップ１０１で、例えば基本噴射量マップ等を用いて、その時点のエンジン回転速度や負荷等の運転状態パラメータに基づいて基本噴射量ＴＰを算出する。
【００６５】
この後、ステップ１０２に進み、空燃比Ｆ／Ｂ制御実行条件が成立しているか否かを判定する。ここで、空燃比Ｆ／Ｂ制御実行条件は、例えば、次の条件(1) 〜(4) によって判定される。
(1) 上流側排気ガスセンサ３１と下流側排気ガスセンサ３２が活性化していること
(2) 空燃比制御システムが正常に動作すること（フェイル判定が行われていないこと）  (3) エンジン冷却水温が所定温度以上（例えば７０℃以上）であること、つまりエンジン１１の暖機後であること
(4) エンジン運転状態がＦ／Ｂ実行領域であること
【００６６】
これらの条件(1) 〜(4) の中で、１つでも満たさない条件があれば、空燃比Ｆ／Ｂ制御実行条件が不成立となり、ステップ１０３に進み、空燃比補正係数ＦＡＦを「１．０」に設定する。この場合は、空燃比Ｆ／Ｂ制御は行われないこととなる。
【００６７】
これに対して、上記条件(1) 〜(4) を全て満たせば、空燃比Ｆ／Ｂ制御実行条件が成立して、ステップ１０４に進み、後述する図９の目標空燃比算出プログラムを実行して、上流側触媒２５の上流側の目標空燃比λＴＧを算出した後、ステップ１０５に進み、上流側排気ガスセンサ３１で検出した空燃比と目標空燃比λＴＧとの偏差を小さくするように空燃比補正係数ＦＡＦを算出する。
【００６８】
以上のようにして、ステップ１０３又は１０５で、空燃比補正係数ＦＡＦを算出した後、ステップ１０６に進み、空燃比補正係数ＦＡＦやその他各種の補正係数（例えば冷却水温補正係数、学習補正係数、加減速時の補正係数等）により基本噴射量ＴＰを補正して、要求燃料噴射量ＴＡＵを算出する。
ＴＡＵ＝ＴＰ×ＦＡＦ×各種補正係数
【００６９】
［目標空燃比算出プログラム］
図９の目標空燃比算出プログラムは、上記図８の燃料噴射制御プログラムのステップ１０４で実行されるサブルーチンである。本プログラムが起動されると、まずステップ２０１で、後述する図１０の同定実行条件判定プログラムを実行して、同定実行条件の成否を判定し、その判定結果に応じて同定実行フラグをセット／リセット（ＯＮ／ＯＦＦ）する。
【００７０】
その後、ステップ２０２に進み、図１０の同定実行条件判定プログラムの実行結果に基づいて同定実行フラグがＯＮであるか否かを判定し、同定実行フラグがＯＮであれば、同定実行条件が成立していると判断して、ステップ２０３に進み、下流側排気ガスセンサ３２の目標電圧（上流側目標Ｖ）を設定する。この際、同定処理実行中は、図６に示すように、下流側目標Ｖを振幅させることで、上流側目標φと上流側検出φをストイキから所定期間リッチ（又はリーン）に振った後、所定期間ストイキに戻した上で、所定期間リーン（又はリッチ）に振った後、再び所定期間ストイキに戻すというように繰り返し振幅させる。
【００７１】
この後、ステップ２０４に進み、後述する図１２の同定処理プログラムを実行して、制御対象の入力（上流側触媒２５の流入過不足酸素量）を離散プラントモデルに入力した時のプラントモデル出力と制御対象の出力（下流側排気ガスセンサ３２の検出電圧）との誤差ｅをゼロに近づけるように離散プラントモデルの可変パラメータを同定する。この後、ステップ２０５の処理に進む。
【００７２】
一方、同定実行フラグがＯＦＦであれば、同定実行条件が不成立であると判断して、上記同定処理（ステップ２０３、２０４）を行わずに、ステップ２０５に進む。
このステップ２０５では、サブＦ／Ｂ制御入力算出処理を実行する。このサブＦ／Ｂ制御入力算出処理では、同定したパラメータに基づいて、下流側排気ガスセンサ３２の検出電圧を目標電圧に近付けるように、モデルベース制御則（例えば現代制御やロバスト制御）によりサブＦ／Ｂ制御入力となる入力酸素量（上流側触媒２５の流入過不足酸素量）を算出する。この際、ＰＩ制御又はＰＩＤ制御のような古典制御を用いてサブＦ／Ｂ制御入力を算出するようにしても良い。
【００７３】
本実施例では、入力酸素量＝目標酸素量と見なすようにしているが、入力酸素量＝検出酸素量としても良いし、空燃比補正係数から入力酸素量を算出するようにしても良い。
この後、ステップ２０６に進み、目標酸素量（入力酸素量）より目標空燃比λＴＧを次のようにして算出する。まず、前回演算時から今回演算時までの目標燃料過剰率変化量Δφを次式により算出する。
【００７４】
Δφ＝｛Ｏ(k) −Ｏ(k-1) ｝／（Ｋ・Ｗ・ｄｔ）
Ｏ(k) ：今回の目標酸素量
Ｏ(k-1) ：前回の目標酸素量
Ｋ：標準空気酸素質量割合
Ｗ：上流側触媒２５の流入排気ガス流量［ｇ／ｓ］
ｄｔ：演算周期
【００７５】
ここで、Ｗは、上流側触媒２５の流入排気ガス流量の代わりに、エンジン吸入空気量を用いても良い。また、演算周期ｄｔは、時間同期でも良いし、エンジン回転速度同期でも良い。エンジン回転速度同期の場合は、演算周期ｄｔはエンジン回転速度Ｎe の関数となる。
【００７６】
この目標燃料過剰率変化量Δφを算出した後、ベース燃料過剰率φＢＡＳＥから目標燃料過剰率変化量Δφを差し引いて目標燃料過剰率φＴＧを求める。
φＴＧ＝φＢＡＳＥ−Δφ
この目標燃料過剰率φＴＧの逆数が目標空燃比λＴＧとなる。
λＴＧ＝１／φＴＧ
【００７７】
この後、ステップ２０７に進み、目標空燃比λＴＧにベース目標空燃比を加算（又は乗算）して最終的な目標空燃比λＴＧを求める。この際、ベース目標空燃比は、例えばエンジン運転条件をパラメータとするマップ等により算出される。
【００７８】
［同定実行条件判定プログラム］
図１０の同定実行条件判定プログラムは、図９の目標空燃比算出プログラムのステップ２０１で実行されるサブルーチンである。本プログラムが起動されると、まずステップ３０１で、触媒劣化検出時であるか否かを判定し、触媒劣化検出時であれば、ステップ３０５に進み、同定実行フラグをＯＮにセットする。
【００７９】
一方、上記ステップ３０１で、触媒劣化検出時でないと判定されれば、ステップ３０２に進み、後述する図１１の運転状態判定プログラムを実行して、現在のエンジン運転状態が定常か過渡かを判定する。この後、ステップ３０３に進み、図１１の運転状態判定プログラムの実行結果に基づいて現在のエンジン運転状態が過渡であるか否かを判定し、過渡であれば、ステップ３０４に進み、同定実行フラグをＯＦＦにリセットし、定常であれば、ステップ３０５に進み、同定実行フラグをＯＮにセットする。
【００８０】
尚、同定実行条件は、触媒劣化検出時であることのみとしたり、逆に触媒劣化検出時であることを同定実行条件から外したりすることも可能である。また、空燃比Ｆ／Ｂ制御が実行される全運転領域で同定実行フラグをＯＮにセットするようにしても良い。
【００８１】
［運転状態判定プログラム］
図１１の運転状態判定プログラムは、図１０の同定実行条件判定プログラムのステップ３０２で実行されるサブルーチンである。本プログラムが起動されると、まずステップ３０１で、エンジン回転速度変化量（変化率の絶対値）が所定値以下であるか否かを判定し、エンジン回転速度変化量が所定値以下でなければ、ステップ４０４に進み、現在のエンジン運転状態が過渡であると判定する。
【００８２】
一方、上記ステップ４０１で、エンジン回転速度変化量が所定値以下と判定されれば、ステップ４０２に進み、負荷変化量（負荷変化率の絶対値）が所定値以下であるか否かを判定し、負荷変化量が所定値以下でなければ、ステップ４０４に進み、現在のエンジン運転状態が過渡であると判定する。
【００８３】
上記ステップ４０１と４０２でいずれも「Ｙｅｓ」と判定された場合、つまりエンジン回転速度変化量が所定値以下で且つ負荷変化量が所定値以下である場合には、ステップ４０３に進み、現在のエンジン運転状態が定常であると判定する。
【００８４】
尚、エンジン運転中に、所定時間以上の期間、定常と判定されない場合は、同定の実行頻度を確保するために、エンジン回転速度変化量と負荷変化量に対する定常判定値（ステップ４０１と４０２の所定値）を大きい値に変更するようにしても良い。
【００８５】
［同定処理プログラム］
図１２の同定処理プログラムは、図９の目標空燃比算出プログラムのステップ２０４で実行されるサブルーチンであり、特許請求の範囲でいう同定手段としての役割を果たす。本プログラムが起動されると、まずステップ５０１で、入力酸素量（上流側触媒２５の流入過不足酸素量）を次の(1) 、(2) のいずれかの方法で算出する。
(1) 目標酸素量をベース目標空燃比変化分に応じて補正して入力酸素量を算出する。
(2) 上流側触媒２５の流入ガス空燃比を、上流側排気ガスセンサ３１の検出空燃比又は燃料噴射補正係数に基づく値とし、次式により入力酸素量を算出する。
【００８６】
入力酸素量＝Σ｛Ｋ・Ｗ・（理論当量比−触媒流入ガス当量比）・ｄｔ｝
Ｋ：標準空気酸素質量割合
Ｗ：上流側触媒２５の流入排気ガス流量［ｇ／ｓ］
ｄｔ：演算周期
【００８７】
ここで、Ｗは、上流側触媒２５の流入排気ガス流量の代わりに、エンジン吸入空気量を用いても良い。また、演算周期ｄｔは、時間同期でも良いし、エンジン回転速度同期でも良い。エンジン回転速度同期の場合は、演算周期ｄｔはエンジン回転速度Ｎe の関数となる。
【００８８】
入力酸素量の算出後、ステップ５０２に進み、離散プラントモデルの出力を算出する。この際、離散プラントモデルの出力と検出出力に同一の所定信号処理を施すものとする。この所定信号処理は、例えば、ＬＰＦ、ＨＰＦ、ＢＰＦのいずれかであるが、他の処理であっても良い。
【００８９】
この後、ステップ５０３に進み、制御対象の実出力と離散プラントモデルの出力とから同定誤差ｅを算出する。そして、次のステップ５０４で、前述したパラメータ調整則に従つてパラメータ適応処理を実行する。これにより、制御対象の実出力と離散プラントモデルの出力との誤差をゼロに近づけるように離散モデルパラメータの推定値θ＿hat を算出する。
尚、パラメータ適応処理のアルゴリズムは、本実施例に限定されず、他のアルゴリズムを用いても良い。
【００９０】
以上説明した本実施例によれば、モデルパラメータを同定する際に、上流側目標φ（ひいては燃料噴射量の補正量）と上流側検出φを、ストイキから所定期間リッチ（又はリーン）に振った後、所定期間ストイキに戻した上で、所定期間リーン（又はリッチ）に振った後、再び所定期間ストイキに戻すというように繰り返し振幅させるようにしたので、上流側目標φ等をリッチ又はリーンに振幅させる際に、その都度、所定期間ストイキに戻すことができ、それによって、エミッションの悪化を抑えつつ逐次同定精度を向上させることができる。
【００９１】
しかも、本実施例では、上流側目標φ等の繰り返し振幅を下流側目標Ｖの振幅によって実現するようにしたので、外乱によって下流側目標Ｖの振幅量が大きくなり過ぎることを防止でき、外乱によるエミッションの悪化を避けることができる。しかしながら、本発明は、上流側目標φ等の振幅を決定し、これを基準にして下流側目標Ｖの振幅を決定するようにしても良い。
【００９２】
また、本実施例では、下流側目標Ｖの振幅量を設定する際に、上流側触媒２５から流出する排気ガスの空燃比が下流側排気ガスセンサ３２の下流側に配置された下流側触媒３０の浄化率の高い範囲（浄化ウインドウ）内に収まるように下流側目標Ｖの振幅量を設定するようにしたので、下流側目標Ｖの振幅によって上流側触媒２５で浄化できなかった排気ガスの有害成分を下流側触媒３０で効率良く浄化することができ、エミッションの悪化をより確実に防止することができる。
【００９３】
更に、本実施例では、上流側触媒２５の目標酸素量Ｏst（酸素過不足量相当値の目標値）とエンジン運転状態（エンジン負荷Ｗとエンジン回転速度Ｎe ）に基づいて上流側目標値φの補正量Δφを算出するようにしたので、エンジン運転状態の変化を吸収することができて、上流側触媒２５の目標酸素量Ｏstの振幅量をほぼ一定にすることができ、エンジン運転状態の変化によって上流側触媒２５の酸素ストレージ量が適正範囲を超えることを防止できて、エンジン運転状態の変化によるエミッションの悪化を防止することができる。
【００９４】
また、本実施例によれば、むだ時間を含む２次遅れ系で近似するプラントモデルを用いながら、その２次遅れ系を、２つの１次遅れ系に分割して離散化した後結合して近似するようにしたので、２次遅れ系の演算であっても、演算負荷が１次遅れ系の演算負荷よりも少し高くなるだけで済み、２次遅れ系の演算負荷を従来より大幅に軽減することができて、車載コンピュータ（ＥＣＵ２９）のような演算能力が限られたコンピュータを使用しても、むだ時間の変化を逐次推定して高精度な制御を実施することができる。
【００９５】
しかし、本発明は、制御対象（上流側触媒２５と下流側排気ガスセンサ３２）をむだ時間を含む２次遅れ系で近似するものに限定されず、むだ時間を含む１次遅れ系で近似したり、或は、むだ時間を含む３次以上の高次遅れ系で近似するようにしても良い。
【００９６】
また、本実施例では、排気管２３に２つの触媒２５，３０を設けたが、触媒を１つのみ設けたシステムや、触媒を３つ以上設けたシステムにも本発明を適用して実施できる。
【図面の簡単な説明】
【００９７】
【図１】本発明の一実施例におけるエンジン制御システムの概略を示す構成図である。
【図２】ＥＣＵで実現するメインＦ／Ｂ制御機能とサブＦ／Ｂ制御機能の概要を示すブロック図である。
【図３】２次遅れ＋むだ時間で近似する連続プラントモデルを、１次遅れ系に分割して離散化した後結合して離散プラントモデルを作成する手法を説明する図である。
【図４】連続モデルパラメータを離散化して離散モデルパラメータを演算する方法を説明する図である。
【図５】離散モデルパラメータ（同定値）を連続化して連続モデルパラメータを演算する方法を説明する図である。
【図６】同定処理実行中の目標値と検出値の変化を表すタイムチャートである。
【図７】上流側触媒の目標酸素量Ｏstとエンジン運転状態に基づいて上流側目標値φの補正量Δφを算出する手法を説明する図である。
【図８】燃料噴射制御プログラムの処理の流れを示すフローチャートである。
【図９】目標空燃比算出プログラムの処理の流れを示すフローチャートである。
【図１０】同定実行条件判定プログラムの処理の流れを示すフローチャートである。
【図１１】運転状態判定プログラムの処理の流れを示すフローチャートである。
【図１２】同定処理プログラムの処理の流れを示すフローチャートである。
【符号の説明】
【００９８】
１１…エンジン（内燃機関）、２３…排気管、２５…上流側の触媒、２９…ＥＣＵ（同定手段，空燃比振幅手段）、３０…下流側の触媒、３１…上流側排気ガスセンサ、３２…下流側排気ガスセンサ、４０…メインＦ／Ｂコントローラ（メインＦ／Ｂ制御手段）、４１…サブＦ／Ｂコントローラ（サブＦ／Ｂ制御手段）、４２…適応機構
【図１】
2007285190.tif 000015
【図２】
2007285190.tif 000016
【図３】
2007285190.tif 000017
【図４】
2007285190.tif 000018
【図５】
2007285190.tif 000019
【図６】
2007285190.tif 000020
【図７】
2007285190.tif 000021
【図８】
2007285190.tif 000022
【図９】
2007285190.tif 000023
【図１０】
2007285190.tif 000024
【図１１】
2007285190.tif 000025
【図１２】
2007285190.tif 000026