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