(57)【要約】【課題】むだ時間の変化を逐次推定し高精度な制御を実施することができる制御装置を提供する。【解決手段】制御対象を離散数式モデルで表したプラントモデルを用い、該プラントモデルに制御対象への入力を加えた際の出力であるプラントモデル出力と制御対象の実出力との差である同定誤差をゼロに近づけるようにプラントモデルのパラメータを同定する。このとき、制御対象のもつむだ時間の一部の情報をモデルパラメータに含む形として離散化を行うことにより、離散モデルパラメータに含まれるむだ時間の一部の情報を推定でき、その推定値の変化に基づき、制御対象の実むだ時間に近づけるようにしてむだ時間を推定する。【選択図】      図１
2006118429.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を離散数式モデルで表したプラントモデルを用い、該プラントモデルに前記制御対象への入力を加えた際の出力であるプラントモデル出力と前記制御対象の実出力との差である同定誤差をゼロに近づけるように前記プラントモデルのパラメータを同定する同定手段とを備え、
前記同定手段が、前記制御対象のもつむだ時間の一部の情報をモデルパラメータに含む形として離散化を行う構成とした制御装置であって、
離散モデルパラメータに含まれるむだ時間の一部の情報の変化に基づき、前記制御対象の実むだ時間に近づけるようにしてむだ時間を推定するむだ時間推定手段を備えたことを特徴とする制御装置。
【請求項２】
前記むだ時間推定手段は、前記制御対象の実むだ時間に近づけるようにして、前記むだ時間の一部の情報の変化に基づき、むだ時間を離散化のサンプリング周期で除算した商であるむだサンプリング回数を増加又は減少させることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記同定手段における離散化を、前記むだ時間を該離散化のサンプリング周期で除算した余りである余むだ時間の情報を離散化後モデルパメータに含む形として行うことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記同定手段により同定された離散モデルパラメータを連続時間表現のモデルパラメータに変換する連続化手段を備え、該連続化手段による変換時に算出されるパラメータから前記余むだ時間を推定することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記余むだ時間の推定値が、サンプリング周期で規定される上限値の近傍若しくは下限値の近傍にあること、又は前記上限値以上若しくは前記下限値以下にあることを判定する手段を備え、
前記むだ時間推定手段は、余むだ時間の推定値が前記上限値近傍若しくは上限値以上に変化しその状態が所定時間継続した場合にむだサンプリング回数を一つ繰り上げると共に該余むだ時間を前記上限値以下で前記下限値以上の所定値とし、同じく余むだ時間の推定値が前記下限値近傍若しくは下限値以下に変化しその状態が所定時間継続した場合にむだサンプリング回数を一つ繰り下げると共に該余むだ時間を前記上限値以下で前記下限値以上の所定値とすることを特徴とする請求項３又は４に記載の制御装置。
【請求項６】
前記むだ時間推定手段により推定したむだ時間に基づいて前記プラントモデル出力を算出することを特徴とする請求項１乃至５の何れかに記載の制御装置。
【請求項７】
前記制御対象の実出力が所定の目標値になるように前記制御対象への入力を算出する操作量算出手段を備え、前記むだ時間推定手段により推定したむだ時間に基づいて前記操作量算出手段を実行することを特徴とする請求項１乃至６の何れかに記載の制御装置。
【請求項８】
前記むだ時間推定手段により推定した推定パラメータを学習する学習手段を備えたことを特徴とする請求項１乃至７の何れかに記載の制御装置。
【請求項９】
前記学習手段は、前記同定手段におけるプラントモデル出力と前記制御対象の実出力との誤差が所定範囲内である場合に学習値を更新することを特徴とする請求項８に記載の制御装置。
【請求項１０】
内燃機関制御システムに適用され、内燃機関の特定運転状態を判定するための運転状態判定手段を備え、該判定手段が特定運転状態であると判定した場合に前記同定手段による同定を実行することを特徴とする請求項１乃至９の何れかに記載の制御装置。
【請求項１１】
前記運転状態判定手段は、内燃機関の回転速度及び負荷の変化率の絶対値が所定値以下である場合に、特定運転状態であると判定することを特徴とする請求項１０に記載の制御装置。
【請求項１２】
内燃機関制御システムに適用され、前記同定手段は、内燃機関の運転条件に応じて設定されたノミナルモデルパラメータからの偏差を同定するものであり、前記運転条件を表す信号の高周波振動成分を抑制するためのフィルタ手段を備えることを特徴とする請求項１乃至１１の何れかに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関等の制御対象を数式モデルで表したプラントモデルを用い、該プラントモデルのパラメータを逐次同定することで制御対象の動特性を自動的に適応させるようにした制御装置に関するものである。
【背景技術】
【０００２】
従来から、制御対象の動特性を逐次同定する制御装置が提案されている。該制御装置は、制御対象を数式で表したプラントモデルを持ち、プラントモデルに実際の制御入力を与えた時のプラントモデル出力と実際の制御対象の出力との誤差をゼロに近づけるようにプラントモデルのパラメータを逐次推定するものであるが、制御対象が無視できないむだ時間を含む系の場合、同定に用いるプラントモデル出力は実制御対象が持つむだ時間を考慮した入力に対する出力とする必要がある。また、むだ時間を含む制御対象に対して、同定したプラントパラメータを用いて制御器を設計し制御する場合、高精度な性能を達成するためには、むだ時間を考慮した設計が必要である。
【０００３】
例えば、特許文献１（特開平１１−３２４７６７号公報）では、内燃機関の排気系を制御対象とし、対象排気系が有する所定の一定値もしくは運転状態に応じて設定した所定値としたむだ時間を考慮して、該対象排気系のモデルがあらかじめ構築されており、このプラントモデルのパラメータ（モデルの挙動を確定する上である値に設定すべきパラメータ）が実制御対象の出力データと入力データとを用いて逐次同定される。そして、制御器において、対象排気系の出力の未来値（具体的には、対象排気系の所定の一定むだ時間後の出力）が逐次推定される。さらに、この対象排気系の出力の未来値の推定値を用いてフィードバック制御のアルゴリズムにより前記操作量が生成される。
【０００４】
また、特許文献２（特開２００２−３１８６０４号公報）では、むだ時間要素を含む制御対象に対して、該制御対象を伝達関数で表した制御対象モデルを用い、むだ時間経過後の前記制御対象の出力を予測して出力検出値と比較しつつ制御対象への入力をフィードバック制御する制御装置において、むだ時間の異なる複数のプラントモデルを備える。そして、各プラントモデルを逐次同定し、複数のプラントモデルのうち、同定した各プラントモデルにより算出した予測出力と実際の出力との差が最小となるプラントモデルを最終的な制御対象モデルとして選択するものとしている。
【０００５】
しかしながら、むだ時間を含む制御対象に対して同定モデルを用いて制御を行う場合には、プラントモデルに設定するむだ時間を実際のむだ時間の変動に対応させる必要がある。すなわち、モデルの同定により各パラメータを調整することで、むだ時間の変動分を吸収してしまい正しい同定が行われないおそれがある。特に、制御対象の特性変動が大きい系では、設定したむだ時間と実際のむだ時間とに大きなずれが生じてしまう場合がある。その結果、前記むだ時間のずれを吸収した同定モデルを用いて制御を行うこととなり、制御精度を高く維持できないといった問題がある。むだ時間を所定の一定値としている特許文献１も複数のむだ時間それぞれに対して同定し、最も近いと思われるものを実むだ時間とする特許文献２であっても、実際の制御対象のむだ時間を表しているとはいえない。そのため、高精度な制御を実施するには限界が生じる。
【特許文献１】特開平１１−３２４７６７号公報
【特許文献２】特開２００２−３１８６０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記実情に鑑みなされたものであって、むだ時間の変化を逐次推定し高精度な制御を実施することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明において、同定手段は、制御対象を離散数式モデルで表したプラントモデルを用い、該プラントモデルに制御対象への入力を加えた際の出力であるプラントモデル出力と前記制御対象の実出力との差である同定誤差をゼロに近づけるようにプラントモデルのパラメータを同定する。プラントモデルは、例えば応答遅れ要素とむだ時間要素とを用いて表され、同定手段によって、制御対象の動特性が逐次同定される。また、同定手段は、制御対象のもつむだ時間の一部の情報をモデルパラメータに含む形として離散化を行う。むだ時間推定手段は、離散モデルパラメータに含まれるむだ時間の一部の情報の変化に基づき、制御対象の実むだ時間に近づけるようにしてむだ時間を推定する。
【０００８】
上記によれば、むだ時間の一部の情報をモデルパラメータに含む形として離散化を行うことで、離散モデルパラメータの推定値を基に当該情報（むだ時間の一部の情報）を抽出することができる。この場合、仮にプラントモデルに設定したむだ時間と実際のむだ時間とに差異が生じると、それが前記情報の変化としてあらわれるため、該情報を用いることで、設定したむだ時間を実際のむだ時間の変化に追従させることができる。従って、高い制御精度を維持することができる。
【０００９】
また、制御対象の実むだ時間に近づけるようにして、むだ時間の一部の情報の変化に基づき、むだ時間を離散化のサンプリング周期で除算した商であるむだサンプリング回数を増加又は減少させると良い。この場合、むだサンプリング回数の増加又は減少により、推定むだ時間を実むだ時間の変化に追従させることができる。
【００１０】
前記同定手段における離散化を、むだ時間を該離散化のサンプリング周期で除算した余りである余むだ時間の情報（むだ時間の一部の情報に相当）を離散化後モデルパメータに含む形として行うと良い。例えば、拡張ｚ変換を用いることで所望とする離散化が実現できる。
【００１１】
また、前記同定手段により同定された離散モデルパラメータを連続時間表現のモデルパラメータに変換し、その変換時に算出されるパラメータから前記余むだ時間を推定すると良い。この場合、離散モデルパラメータよりも物理的意味が理解しやすい連続モデルパラメータを用いることにより、余むだ時間の推定が容易となる。
【００１２】
逐次同定される離散モデルパラメータによりむだ時間を推定する際、制御対象の実むだ時間とプラントモデルのむだ時間との差に応じて余むだ時間が変化し、それにより余むだ時間が上限値又は下限値に近づく。この場合、余むだ時間の変化を基に、むだサンプリング回数を更新することが可能となる。すなわち、余むだ時間の推定値が、サンプリング周期で規定される上限値の近傍若しくは下限値の近傍にあること、又は前記上限値以上若しくは前記下限値以下にあることを判定する。そして、余むだ時間の推定値が前記上限値近傍若しくは上限値以上に変化しその状態が所定時間継続した場合にむだサンプリング回数を一つ繰り上げると共に該余むだ時間を前記上限値以下で前記下限値以上の所定値とする。また、同じく余むだ時間の推定値が前記下限値近傍若しくは下限値以下に変化しその状態が所定時間継続した場合にむだサンプリング回数を一つ繰り下げると共に該余むだ時間を前記上限値以下で前記下限値以上の所定値とする。これにより、制御対象の実むだ時間に近づけるようにしてむだサンプリング回数が更新できる。
【００１３】
また、前記むだ時間推定手段により推定したむだ時間に基づいて前記プラントモデル出力を算出すると良い。この場合、制御対象のその都度の動特性を反映してプラントモデル出力と制御対象の実出力との誤差が正確に算出できるようになり、制御性が向上する。
【００１４】
また、前記制御対象の実出力が所定の目標値になるように制御対象への入力を算出する操作量算出手段を備えた構成では、前記むだ時間推定手段により推定したむだ時間に基づいて前記操作量算出手段を実行すると良い。この場合、操作量算出手段において制御対象のその都度の動特性を反映して最適な制御入力を設定することができる。これにより、制御性が向上する。
【００１５】
前記むだ時間推定手段により推定した推定パラメータを学習する学習手段を備えると良い。これにより、制御対象の個体差ばらつきや経時変化等により実むだ時間のずれが生じている場合にも、それに追従した制御が継続的に実施できる。学習値はバックアップ用メモリ（スタンバイＲＡＭ等）に記憶保持される。
【００１６】
また、前記学習手段は、前記同定手段におけるプラントモデル出力と前記制御対象の実出力との誤差が所定範囲内である場合に学習値を更新すると良い。この場合、適正な同定が行われていることを条件に学習処理が行われるため、学習値の信頼性が高められる。
【００１７】
また、内燃機関の特定運転状態（例えば定常状態）を判定するための運転状態判定手段を備え、該判定手段が特定運転状態であると判定した場合に前記同定手段による同定を実行すると良い。例えば、内燃機関の回転速度及び負荷の変化率の絶対値が所定値以下である場合に、特定運転状態であると判定される。このように同定実行条件を規定することにより、同定の精度が向上する。
【００１８】
前記同定手段は、内燃機関の運転条件に応じて設定されたノミナルモデルパラメータからの偏差のみを同定するものである場合、前記運転条件を表す信号（回転速度信号や負荷信号）の高周波振動成分を抑制するためのフィルタ手段を備えると良い。これにより、ノミナルモデルパラメータの変動が抑制され、ひいては該ノミナルモデルパラメータを用いた各種処理の精度が向上する。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を具体化した一実施の形態を図面に従って説明する。本実施の形態では、内燃機関である車載多気筒ガソリンエンジンを対象にエンジン制御システムを構築し、当該制御システムにおいてはエンジン制御用電子制御ユニット（以下、エンジンＥＣＵという）を中枢として燃料噴射量の制御や点火時期の制御等を実施することとしている。先ずは、図１を用いて本制御システムの主要な構成を説明する。
【００２０】
図１において、エンジン１０には気筒毎に電磁駆動式の燃料噴射弁１１が取り付けられている。燃料噴射弁１１により燃料噴射が行われると混合気が形成され、この混合気が吸気バルブ（図示略）の開放に伴い各気筒の燃焼室に導入されて燃焼に供される。エンジン１０で燃焼に供された混合気は、排気バルブ（図示略）の開放に伴い排気として排気マニホールド１２を介して排出される。排気マニホールド１２の集合部には混合気の空燃比を検出するためのＡ／Ｆセンサ１３が設けられている。Ａ／Ｆセンサ１３は広域の空燃比をリニアに検出可能な広域空燃比センサであり、本センサの出力が「制御対象の実出力」に相当する。
【００２１】
図示は省略するが、本制御システムでは、前記Ａ／Ｆセンサ１３以外にも吸気管負圧を検出するための吸気管負圧センサ、エンジン水温を検出するための水温センサ、エンジン回転速度を検出するためのクランク角センサなど各種センサが設けられており、Ａ／Ｆセンサ１３の検出信号と同様、各種センサの検出信号もエンジンＥＣＵに適宜入力されるようになっている。
【００２２】
上記構成のエンジン１０では、Ａ／Ｆセンサ１３による検出空燃比が目標値に一致するよう気筒毎の燃料噴射量がＦ／Ｂ（フィードバック）制御される。空燃比Ｆ／Ｂ制御の基本構成を説明すれば、Ａ／Ｆセンサ１３による検出空燃比と目標空燃比との偏差が算出され、その空燃比偏差が制御器２０に入力される。制御器２０では、空燃比偏差に基づいて空燃比補正係数ＦＡＦが算出され、その空燃比補正係数ＦＡＦと基本噴射量とから最終噴射量が算出される。そして、この最終噴射量に基づいて燃料噴射弁１１による燃料噴射が行われる。
【００２３】
制御器２０は、事前にモデル化し適合したプラントモデルを基に設計されたものであり、本来はこの制御器２０により最適な空燃比Ｆ／Ｂ制御が実現される。しかしながら、実際の制御対象（エンジン１０、Ａ／Ｆセンサ１３等）では個体差や劣化等によってＦ／Ｂ制御誤差が生じる。そこで本システムでは、適応制御と称される制御方式を用い、制御器２０におけるＦ／Ｂゲインを制御対象（プラント）の現時点の動特性に自動的に適応させ、制御系の性能を常に最良の状態に保持するようにしている。すなわち、制御対象を数式モデルで表したプラントモデルを用い、該プラントモデルに制御対象への入力を加えた際の出力であるプラントモデル出力と制御対象の出力（Ａ／Ｆセンサ１３による検出空燃比）との誤差をゼロに近づけるようにしてプラントモデルの可変パラメータを逐次推定する。ここで、プラントモデルは離散時間で表した離散プラントモデルである。
【００２４】
本実施の形態では、制御器２０が「操作量算出手段」に相当し、適応機構により可変パラメータを逐次推定し、該パラメータを離散プラントモデルに反映させるようにした機能ブロックが「同定手段」に相当する。
【００２５】
プラントモデルの離散化は以下のように行う。ここでは、制御対象をむだ時間を有する一次遅れ系とみなす。まず、連続時間伝達関数は、出力をｙ、入力をｕとして次の（１）式で表される。
【００２６】
【数１】
2006118429.tif 000003
Ｔは時定数、Ｌはむだ時間である。また、むだ時間Ｌをサンプリング周期ｄｔで除算した商をむだサンプリング回数ｄ、余りを余むだ時間Ｌ１とする。
【００２７】
【数２】
2006118429.tif 000004
むだ時間Ｌがサンプリング周期ｄｔで割り切れない場合、余むだ時間Ｌ１は０〜ｄｔの正の値をとる。上記（１）式を拡張ｚ変換すると次の（３）式となる。ただしｋは整数であり、ｋ×ｄｔ⇒ｋと略記するものとする。拡張ｚ変換は、例えば「ディジタル制御システム−解析と設計（日刊工業新聞社）」において公知である。
【００２８】
【数３】
2006118429.tif 000005
上記（３）式の離散時間表現モデルのパラメータ（以下、離散パラメータとする）を、上記（１）式の連続時間表現モデルのパラメータ（以下、連続パラメータとする）で表現すると以下の関係式となる。
【００２９】
【数４】
2006118429.tif 000006
以下、上記（４）式の変換（Ｔ，Ｌ１→ａ１，ｂ１，ｂ２）をモデルパラメータの離散化と呼ぶ。また、この逆変換（ａ１，ｂ１，ｂ２→Ｔ，Ｌ１）をモデルパラメータの連続化と呼び、その変換式を次の（５）式で表す。
【００３０】
【数５】
2006118429.tif 000007
上記（４），（５）式に関して、実際はオンボードで演算可能にするため近似演算を用いる。例えば２次までテイラー展開＋誤差大の範囲はテーブルでもつものとする。
【００３１】
さて、上記（４）式で表したように、拡張ｚ変換により離散化すると離散パラメータ（ｂ１）に余むだ時間Ｌ１の情報（これが「むだ時間の一部の情報」に相当）が含まれる。このことが拡張ｚ変換の特徴であり、一般的なｚ変換による離散化ではあらわれないものである。同定器により同定するのは、離散パラメータθ（θ＝［ａ１，ｂ１，ｂ２］T:上付きTは転置を表す）であり（ｂ２はａ１，ｂ１より算出可）、同定値θ＿hat（ｘ＿hatはｘの同定値もしくは推定値を表すものとする、以下同様）より前記（５）式の連続化を用いて連続パラメータの推定値Ｔ＿hat，Ｌ１＿hatが算出可能となっている。この余むだ時間の推定値Ｌ１＿hatを用いることでむだ時間Ｌ（むだサンプリング回数ｄ）を推定することが可能となる。
【００３２】
以下、離散パラメータを同定する同定処理について説明する。本同定処理では、同定誤差（制御対象の実出力と離散プラントモデル出力との偏差）をゼロにするように、離散モデルのパラメータを逐次最小二乗法により推定する。以下、図１を基に詳細に説明する。
【００３３】
離散プラントモデルは上記（３）式で表される数式モデルであり、離散パラメータθ（θ＝［ａ１，ｂ１，ｂ２］T）は適応機構により逐次推定される。適応機構は、前述したように同定誤差をゼロに近づけるように離散パラメータθを推定するものである。同定誤差は、離散プラントモデルに実際の制御入力ｕを加えたときのモデル出力ｙ＿hatと制御対象の実出力ｙとの誤差である。なお、離散プラントモデルに加えられる制御入力ｕや制御対象の実出力ｙ（検出空燃比）には、不要な直流成分やノイズ成分などが含まれる。それ故に、制御入力ｕは、低周波成分除去手段としてのＨＰＦ（ハイパスフィルタ）により直流成分が除去される。また、制御対象の実出力ｙにおいて、制御器２０での空燃比Ｆ／Ｂ用の出力ｙは、高周波成分除去手段としてのＬＰＦ（ローパスフィルタ）によりノイズ成分が除去され、パラメータ同定用の出力ｙは、ＨＰＦとＬＰＦとを組み合わせたＢＰＦ（バンドパスフィルタ）により直流成分とノイズ成分とが除去される。このとき、空燃比Ｆ／Ｂ用の出力ｙと同定用の出力ｙとには各々別のＬＰＦを設定することができるようになっている。
【００３４】
また、同定誤差ｅには必要に応じてフィルタ処理（ＬＰＦ）や不感帯処理が施される。このとき、フィルタ処理により同定パラメータの振動が抑制され、不感帯処理により過同定が抑制される。
【００３５】
まず、上記（３）式を線形パラメトリックな自己回帰モデルとして表現しなおす。
【００３６】
【数６】
2006118429.tif 000008
ここで、θ＿hat(k)＝［ａ１＿hat(k)，ｂ１＿hat(k)，ｂ２＿hat(k)］T，ζ(k)＝［ｙ(k)，ｕ(k-d)，ｕ(k-d-1)］Tである。同定誤差ｅは次の（７）式で求められる。
【００３７】
【数７】
2006118429.tif 000009
次に、適応機構において、同定誤差ｅをゼロにするように離散パラメータの推定値θ＿hatを算出するパラメータ調整則は、本実施の形態では重み付き最小二乗法の原理に基づいて導出される。次の（８）式に示す同定誤差ｅの２乗和を評価関数として考える。
【００３８】
【数８】
2006118429.tif 000010
ここで、λは忘却係数とも呼ばれる重み係数である。上記（８）式の評価関数が最小となるような調整則は次式のように与えられる。
【００３９】
【数９】
2006118429.tif 000011
上記（９）式において、同定誤差ｅに乗算する行列ゲインΓ及びスカラゲインγは次式のようになる。
【００４０】
【数１０】
2006118429.tif 000012
本実施の形態では、離散パラメータのノミナル値θｍからの誤差分Δθ＿hatのみをパラメータ調整則で推定する形としており、上記（９）式は次の（１１）式のように修正される。
【００４１】
【数１１】
2006118429.tif 000013
そして、上記（１１）式で求められた離散パラメータの推定値θ＿hat（＝Δθ＿hat＋θｍ）が離散プラントモデルに反映される。
【００４２】
なお、パラメータ調整則は上記以外に、例えば固定ゲイン則、漸減ゲイン則、可変ゲイン則、固定トレース則等であってもよい。
【００４３】
ここで、離散パラメータのノミナル値θｍは図２のようにして算出される。すなわち、あらかじめ設定したノミナルモデルスケジューラを用い、その都度のエンジン運転状態（本実施の形態では回転速度と負荷）に基づいて時定数、むだ時間、むだサンプリング回数及び余むだ時間のノミナル値（Ｔｍ，Ｌｍ，ｄｍ，Ｌ１ｍ）が算出される。このとき、エンジン運転状態を表す回転速度信号及び負荷信号にはＬＰＦ等のフィルタ処理が施され、該フィルタ処理後の信号を基に各ノミナル値が算出される。これにより、回転速度信号や負荷信号に含まれる高周波振動が除去され、ひいてはむだサンプリング回数ｄｍ等の変動が抑制されるようになっている。また、上記（４）式を用いた離散化処理にて、離散パラメータのノミナル値θｍが算出される。
【００４４】
また、図１において、上記パラメータ調整則に従い推定された離散パラメータθ＿hatは上記（５）式により連続化され、これにより連続パラメータ（時定数、余むだ時間の推定値Ｔ＿hat，Ｌ１＿hat）が算出される。更に、推定値Ｔ＿hat，Ｌ１＿hatについてノミナル値Ｔｍ，Ｌ１ｍからの誤差分ΔＴ＿hat，ΔＬ１＿hatが算出される。そして、これら誤差分に対してフィルタ処理やリミット処理が適宜施されると共に、むだ時間更新処理が施される（連続パラメータ処理手段、むだ時間推定手段に相当）。
【００４５】
また、それら各処理後の誤差分を基に学習値が更新され、その学習値がスタンバイＲＡＭ等に格納される（学習手段に相当）。この学習値はスタンバイＲＡＭより適時読み出され、ノミナル値Ｔｍ，Ｌ１ｍとの加算により連続パラメータが算出される。更に、該連続パラメータが離散化されて離散パラメータθｃが算出され、制御器２０において離散パラメータθｃを用いて制御対象への入力（ここでは空燃比補正係数ＦＡＦ）の算出が行われる。
【００４６】
一方、連続パラメータの誤差分ΔＴ＿hat，ΔＬ１＿hatにノミナル値Ｔｍ，Ｌ１ｍが加算されることで修正後連続パラメータＴｔｍｐ，Ｌ１ｔｍｐが算出され、その修正後連続パラメータＴｔｍｐを用いて故障診断処理（ＯＢＤ）等が適宜実施される。
【００４７】
また、修正後連続パラメータＴｔｍｐが離散化され、それにより修正後離散パラメータθｔｍｐが算出される。そして、プラントモデルにおいて、修正後離散パラメータθｔｍｐを用いてモデル出力ｙ＿hatが算出される。
【００４８】
次に、むだ時間更新処理について説明する。むだ時間Ｌを持つ連続系は、次の（１２）式で表される。
【００４９】
【数１２】
2006118429.tif 000014
そして、上記（１２）式を拡張ｚ変換により離散化することで、次の（１３）式が得られる。
【００５０】
【数１３】
2006118429.tif 000015
但しこの場合、上記（１２），（１３）式において、ｙ（ｋ）＝ｘ（ｋ）である。
【００５１】
ここで、図１５は、ｋｄｔ≦ｔ＜（ｋ＋１）ｄｔにおける出力ｙ（ｋ＋１）に影響を与える制御入力ｕ（むだ時間分だけ正の方向にずらした制御入力ｕ）の変化を表すタイムチャートである。図１５において、むだ時間Ｌがサンプリング周期ｄｔで割り切れない場合、入力ｕ（τ−Ｌ）は、τ＝ｋｄｔ〜（ｋ＋１）ｄｔの期間内で一度だけ値が変わり、当該期間ではｄ回前の入力ｕの影響とｄ＋１回前の入力ｕの影響とを受ける。なお、上記（１３）式では、右辺の第２項によりｄ回前の入力ｕの影響を表し、同第３項によりｄ＋１回前の入力ｕの影響を表す。
【００５２】
この場合、制御対象の実むだ時間は未知であるが、拡張ｚ変換により離散化した離散パラメータには余むだ時間Ｌ１の情報が含まれており（上記（４）式参照）、この余むだ時間Ｌ１を用いることによりむだ時間Ｌの推定が可能となる。本実施の形態では、離散パラメータの推定値θ＿hatの連続化により算出される余むだ時間の推定値Ｌ１＿hatの変化に基づき、制御対象の実むだ時間に近づけるようにしてむだ時間（むだサンプリング回数ｄ）を更新し、該更新したむだ時間（むだサンプリング回数ｄ）を離散プラントモデルでのプラントモデル出力の算出に反映させるようにしている。
【００５３】
より具体的には、余むだ時間の推定値Ｌ１＿hatが、サンプリング周期ｄｔで規定される上限値近傍又は下限値近傍にあることを判定する。なお、推定値Ｌ１＿hatの上限値はｄｔ、下限値は０であり、微小な正の定数ε１により上限値近傍を「ｄｔ−ε１〜ｄｔの範囲」、下限値近傍を「０〜０＋ε１の範囲」として規定する。この場合、余むだ時間の推定値Ｌ１＿hatが上限値近傍（ｄｔ−ε１〜ｄｔ）に変化しその状態が所定時間継続した場合に、むだサンプリング回数ｄを一つ繰り上げると共に該余むだ時間の推定値Ｌ１＿hatを下限値近傍の所定値（但し下限値＝０以上）とする。また、余むだ時間の推定値Ｌ１＿hatが下限値近傍（０〜０＋ε１）に変化しその状態が所定時間継続した場合に、むだサンプリング回数ｄを一つ繰り下げると共に該余むだ時間の推定値Ｌ１＿hatを上限値近傍の所定値（但し上限値＝ｄｔ以下）とする。
【００５４】
その概要を図１６のタイムチャートを用いて説明する。図１６では（ａ）に示すように、ある入力に対するノミナルむだ時間と実むだ時間とに図示のような誤差が生じている場合を想定する。サンプリングタイミング（ｄ・ｄｔ）を超えた部分が余むだ時間Ｌ１である。
【００５５】
この場合、同定が逐次行われることにより、（ｂ）に示すように余むだ時間の推定値Ｌ１＿hatが変化し、ｄｔ近傍（上述したｄｔ−ε１〜ｄｔの範囲）まで増加する。そして、余むだ時間の推定値Ｌ１＿hatがｄｔ近傍で所定時間以上留まっている場合に、（ｃ）に示すように、むだサンプリング回数の推定値ｄ＿hatが１つ繰り上げられ（ｄ＿hat←ｄ＋１）、更に余むだ時間の推定値Ｌ１＿hatがゼロ近傍の値に更新される。
【００５６】
そしてその後、同定が逐次行われることにより、（ｄ）に示すように余むだ時間の推定値Ｌ１＿hatが増加し、それに伴いむだ時間の推定値が実むだ時間に収束する。この場合、ノミナルむだ時間と実むだ時間との誤差がサンプリング周期の２倍以上であっても、上記更新を繰り返すことによりむだ時間の推定値が実むだ時間に収束する。また、実むだ時間に収束後、劣化等により実むだ時間の変動がある場合にも、上記更新を実行することにより常にむだ時間の推定値を実むだ時間に収束させることができる。
【００５７】
なお図１６では、余むだ時間の推定値Ｌ１＿hatが増加する場合を例示し、それに伴いむだサンプリング回数の推定値ｄ＿hatが１つ繰り上げられる様子を説明したが、これとは逆に、余むだ時間の推定値Ｌ１＿hatが減少する場合には、それに伴いむだサンプリング回数の推定値ｄ＿hatが１つ繰り下げられる。そして、余むだ時間の推定値Ｌ１＿hatがｄｔ近傍の値に更新される。
【００５８】
以上説明した適応制御処理等は、エンジンＥＣＵにあらかじめ格納された演算プログラムに従い実行される。以下、エンジンＥＣＵの処理内容を説明する。
【００５９】
図３は、空燃比Ｆ／Ｂ制御を実現するための燃料噴射制御処理を示すフローチャートであり、本処理は所定のクランク角度毎（本実施の形態では３０°ＣＡ毎にエンジンＥＣＵにより実行される。
【００６０】
図３において、先ずステップＳ１０１では、例えば基本噴射量マップ等を用い、その都度のエンジン回転数や負荷等の運転状態パラメータに基づいて基本噴射量ＴＰを算出する。続くステップＳ１０２では、空燃比Ｆ／Ｂ制御の実行条件判定を実施する。実行条件判定処理を詳しく説明すれば、図４に示すように、ステップＳ１１１では、Ａ／Ｆセンサ１３が使用可能な状態であるか否かを判別する。具体的には、Ａ／Ｆセンサ１３が活性化していること、フェイルしていないこと等を判別する。また、ステップＳ１１２では、エンジン水温が所定温度（例えば７０℃）以上であるか否かを判別する。そして、Ａ／Ｆセンサ１３が使用可能であり且つエンジン水温が所定温度以上であれば、ステップＳ１１３に進む。ステップＳ１１３，Ｓ１１４では、回転速度とエンジン負荷（例えば吸気管負圧）とをパラメータとする運転領域マップを参照し、今現在のエンジン運転状態がＦ／Ｂ実行領域にあるかどうかを判定する。そして、Ｆ／Ｂ実行領域にあれば、ステップＳ１１５で実行フラグをＯＮし、実行領域になければ、ステップＳ１１６で実行フラグをＯＦＦする。その後本処理を終了する。
【００６１】
図３の説明に戻り、ステップＳ１０３では実行フラグがＯＮであるか否かを判別する。実行フラグがＯＦＦであればステップＳ１０４に進み、空燃比補正係数ＦＡＦを１．０とする。この場合、空燃比Ｆ／Ｂは行われないこととなる。また、実行フラグがＯＮであればステップＳ１０５に進み、空燃比補正係数ＦＡＦの算出処理を実行する。最後に、ステップＳ１０６では、空燃比補正係数ＦＡＦやその他各種の補正係数（例えば冷却水温補正係数、学習補正係数、加減速時の補正係数等）により基本噴射量ＴＰを補正し、最終の燃料噴射量ＴＡＵを算出する。
【００６２】
次に、前記ステップＳ１０５で実行される空燃比補正係数ＦＡＦの算出サブルーチンを図５のフローチャートを基に説明する。
【００６３】
図５において、ステップＳ２１０では、同定実行条件の判定処理を実行する。本実施の形態では、エンジン排気管に設けた触媒の劣化検出処理が実行されていること、又はエンジン運転状態が定常状態であることを同定実行条件としている。ここで、触媒の劣化検出手法は種々提案されているが、その劣化検出に際し所定周期で空燃比を強制的に振幅させることを要件とするものであれば、任意の検出手法が適用できる。例えば、空燃比を理論空燃比を中心にして所定周期で振幅させ、その時の触媒下流側の空燃比変化（応答周期など）をモニタする。そしてそのモニタ結果から触媒劣化状態を判定する。こうした触媒の劣化検出は、空燃比を振幅させてもエミッション悪化が生じにくい運転状態下で実施されるのが通常である。故に、エミッションを良好に維持するには、触媒の劣化検出に合わせて同定を行うのが望ましい。
【００６４】
また、エンジン回転速度の単位時間当たりの変化量が所定値以下であること、及び負荷の単位時間当たりの変化量が所定値以下であることからエンジン運転状態が定常であるかどうかを判別する。
【００６５】
すなわち、図６に示すように、ステップＳ２１１では、今現在触媒の劣化検出処理が実行されているか否かを判別し、続くステップＳ２１２，Ｓ２１３では、今現在のエンジン運転状態を判定して定常状態にあるか否かを判別する。そして、触媒の劣化検出処理が実行されている場合、又はエンジン運転状態が定常である場合に、ステップＳ２１４に進んで同定フラグをＯＮする。またそれ以外の場合、ステップＳ２１５に進んで同定フラグをＯＦＦする。
【００６６】
但し、同定実行条件を、触媒劣化検出の実行時であることのみとしたり、逆に触媒劣化検出の実行時であることを条件から外したりすることも可能である。また、エンジンの定常判定処理において、所定時間以上の間、定常判定が行われない場合に、エンジン回転速度や負荷変化量の定常境界値を拡張側に変更してもよい。
【００６７】
図５の説明に戻り、ステップＳ２２０では、同定フラグ＝ＯＮであるか否かを判別し、同定フラグ＝ＯＮであることを条件にステップＳ２３０，Ｓ２４０を実行する。すなわち、ステップＳ２３０では、同定実行時の目標空燃比の設定を行う。このとき、同定実行時の目標空燃比設定は、元々の目標空燃比に振幅±０．０５、周期１．４ｓｅｃの矩形波又は正弦波を加算するものとする。但し、振幅や周期といった信号の性質は他のものでも良く、設定したプラントパラメータ数の１／２のＰＥ（persistently exciting）性を有する信号であればよい。振幅はＳＮ比を良くするため、可能な限り大きく設定する。ここで、パラメータの逐次同定を可能にするためには、制御対象の動特性を十分に励起する入力ｕを与える必要があり、同定すべきパラメータの個数がｐ個の場合において、入力ｕ（ｔ）がｐ／２個以上の周波数成分を含むようにする。これにより、パラメータの推定値が真値に収束する。
【００６８】
その後、ステップＳ２４０では、同定処理を実行する。ステップＳ２５０では、制御量算出処理を実行する。
【００６９】
図７は、前記図５のステップＳ２４０で実行される同定処理サブルーチンを示すフローチャートである。
【００７０】
図７において、ステップＳ３０１では、同定用入出力の直流成分（トレンド）の除去処理及び同定出力用のノイズ除去処理を実施する。具体的には、制御器２０にて算出されるＦＡＦやＡ／Ｆセンサ１３の検出空燃比に対してトレンド除去処理が実施される。この除去処理は、直流成分除去が可能なものであれば任意で良く、例えば移動平均処理などが実施される。また、Ａ／Ｆセンサ１３の検出空燃比に対してなまし処理（ＬＰＦ処理）が実施される。
【００７１】
ステップＳ３０２では、制御対象の実出力と離散プラントモデルの出力とから同定誤差ｅを算出する。その後、ステップＳ３０３，Ｓ３０４では、同定誤差ｅに対してなまし処理（ＬＰＦ処理）と不感帯処理とを実行する。これにより、同定誤差ｅ＿tildeが算出される。
【００７２】
ステップＳ３０５では、ノミナルパラメータの算出を実行する。その手順を簡単に記述すれば、まずその都度のエンジン運転情報（回転速度信号、負荷信号）に対してＬＰＦ処理を施し、該ＬＰＦ後の運転情報を基に、ノミナルパラメータマップを参照してノミナルパラメータ（時定数、余むだ時間のノミナル値Ｔｍ，Ｌ１ｍ）を算出する。更に、該算出したノミナルパラメータ（連続時間ノミナルパラメータ）に対して離散化処理を施し、離散パラメータのノミナル値θｍを算出する。
【００７３】
そして、ステップＳ３０６では、上記（１１）式等で規定したパラメータ調整則に従い、パラメータ適応処理を実行する。これにより、制御対象の実出力と離散プラントモデルの出力との誤差をゼロに近づけるようにして離散パラメータの推定値θ＿hatが算出される。
【００７４】
その後、ステップＳ３０７では、前記算出した離散パラメータの推定値θ＿hatに対して上記（５）式により連続化の処理を実行し、連続パラメータ（時定数の推定値Ｔ＿hat）を算出する。そして続くステップＳ３０８では、連続パラメータのノミナル値Ｔｍからの誤差分ΔＴ＿hatに対してリミット処理を実行する。更に、ステップＳ３０９では、むだ時間更新処理を実行し、ステップＳ３１０では、連続パラメータの誤差分ΔＴ＿hatの学習処理を実行する。
【００７５】
図８は、前記図７のステップＳ３０８で実行されるリミット処理を示すフローチャートである。
【００７６】
図８において、ステップＳ３１１では、連続パラメータである時定数の推定値Ｔ＿hatからノミナル値Ｔｍを減算して誤差分ΔＴ＿hatを算出する。ノミナル値Ｔｍは、マップ等を参照して算出されるパラメータマップ値であり、特にその都度のエンジン運転状態に基づいて算出される。続くステップＳ３１２では、誤差分ΔＴ＿hatに対してＬＰＦ処理を実行する。なお、ΔＴ＿hatに対するＬＰＦ処理は、他のタイミングで実施されても良く、例えば当該ΔＴ＿hatにガードをかけた後に実施されても良い。
【００７７】
ステップＳ３１３では、誤差分ΔＴ＿hatが正側のガード値δｐよりも大きいか否か、又は誤差分ΔＴ＿hatが負側のガード値−δｍよりも小さいか否かを判別する。ΔＴ＿hat≦δｐで且つΔＴ＿hat≧−δｍの場合、ステップＳ３１４に進み、カウンタｐｃｎｔ，ｍｃｎｔを０にクリアする。更に、ステップＳ３１５では、ガード値δｐ，δｍとして初期値δｐ０，δｍ０をセットする。
【００７８】
また、ΔＴ＿hat＞δｐであるか、又はΔＴ＿hat＜−δｍであれば、ステップＳ３１６に進み、誤差分ΔＴ＿hatをガード値δｐ，δｍでガードする。このとき、ΔＴ＿hat＞δｐの場合にはΔＴ＿hat＝δｐとし、ΔＴ＿hat＜−δｍの場合にはΔＴ＿hat＝−δｍとする。
【００７９】
その後、ステップＳ３１７では、カウンタｐｃｎｔ，ｍｃｎｔの加算処理を実行する。このとき、ΔＴ＿hat＞δｐの場合にはカウンタｐｃｎｔをインクリメントし、ΔＴ＿hat＜−δｍの場合にはカウンタｍｃｎｔをインクリメントする。ステップＳ３１８では、ｐｃｎｔ＞Ｎであるか、又はｍｃｎｔ＞Ｎであるかを判別する。そしてＹＥＳであればステップＳ３１９に進み、ガード値δｐ，δｍを増加側に変更する。このとき、ｐｃｎｔ＞Ｎの場合にはガード値δｐにΔδｐを加算し（δｐ＝δｐ＋Δδｐ）、ｍｃｎｔ＞Ｎの場合にはガード値δｍにΔδｍを加算する（δｍ＝δｍ＋Δδｍ）。つまり、所定時間継続してΔＴ＿hatがガード値に張り付いている場合にガード値が拡げられる。
【００８０】
なお、所定時間継続してΔＴ＿hatがガード値に張り付いている場合、又はΔＴ＿hatがガード値に対して絶対値で所定値以上大きい場合に、適応機構をリセット（初期化Δθ＝０）するものとしてもよい。また、ΔＴ＿hatの所定回数前と現在の値との差が所定値以上である場合に、適応機構をリセット（初期化Δθ＝０）するものとしてもよい。
【００８１】
図９，図１０は、前記図７のステップＳ３０９で実行されるむだ時間更新処理を示すフローチャートである。なお、本処理で用いる微小な正の定数ε１，ε２，δ１，δ２は、δ１＜ε１＜ε２＜δ２の関係にあるとしている。
【００８２】
図９において、ステップＳ３２１では、前記図７のステップＳ３０７で算出した余むだ時間の推定値Ｌ１＿hatが所定の判定値「０＋ε１」よりも小さいか否かを判別する。すなわち、余むだ時間の推定値Ｌ１＿hatが余むだ時間の下限値近傍（０〜０＋ε１）にあるか否かを判別する。そして、Ｌ１＿hat≧０＋ε１であれば、ステップＳ３２２でカウンタｃｎｔＡを０にクリアする。また、Ｌ１＿hat＜０＋ε１であれば（Ｌ１＿hatが下限値近傍にあれば）ステップＳ３２３に進み、カウンタｃｎｔＡを１インクリメントする。
【００８３】
その後、ステップＳ３２４では、カウンタｃｎｔＡの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿hatが微小な正の定数δ１よりも小さいこと、又は、カウンタｃｎｔＡの値が所定値Ｎ２以上であることの何れかが成立するか否かを判別する。ここで、Ｎ１＜Ｎ２である。なお、ステップＳ３２４の判別条件を、カウンタｃｎｔＡの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿hatが微小な正の定数δ１よりも小さいことだけとしたり、カウンタｃｎｔＡの値が所定値以上であることだけとしたりすることも可能である。そして、ステップＳ３２４が満たされない場合、ステップＳ３２５に進み、余むだ時間をＬ１ａｄｐ＝０として更新する。
【００８４】
また、ステップＳ３２４が満たされた場合、ステップＳ３２６に進む。ステップＳ３２６では、Ｌ１ａｄｐ＝ｄｔ−δ２とする、Δｄａｄｐ＝−１とする、ｃｎｔＡ＝０とする、といった各処理を実施する。
【００８５】
またその後、図１０のステップＳ３２７では、余むだ時間の推定値Ｌ１＿hatが所定の判定値「ｄｔ−ε１」以上であるか否かを判別する。すなわち、余むだ時間の推定値Ｌ１＿hatが余むだ時間の上限値近傍（ｄｔ−ε１〜ｄｔ）にあるか否かを判別する。そして、Ｌ１＿hat＜ｄｔ−ε１であれば、ステップＳ３２８でカウンタｃｎｔＢを０にクリアする。また、Ｌ１＿hat≧ｄｔ−ε１であれば（Ｌ１＿hatが上限値近傍にあれば）ステップＳ３２９に進み、カウンタｃｎｔＢを１インクリメントする。
【００８６】
その後、ステップＳ３３０では、カウンタｃｎｔＢの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿hatが上限値から微小な正の定数δ１だけ小さい値（ｄｔ−δ１）よりも大きいこと、又は、カウンタｃｎｔＢの値が所定値Ｎ２以上であることの何れかが成立するか否かを判別する。なお、ステップＳ３３０の判別条件を、カウンタｃｎｔＢの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿hatが（ｄｔ−δ１）よりも大きいことだけとしたり、カウンタｃｎｔＢの値が所定値以上であることだけとしたりすることも可能である。そして、ステップＳ３３０が満たされない場合、ステップＳ３３１に進み、余むだ時間をＬ１ａｄｐ＝ｄｔ−ε２として更新する。
【００８７】
また、ステップＳ３３０が満たされた場合、ステップＳ３３２に進む。ステップＳ３３２では、Ｌ１ａｄｐ＝δ２とする、Δｄａｄｐ＝＋１とする、ｃｎｔＢ＝０とする、といった各処理を実施する。
【００８８】
その後、ステップＳ３３３では、学習フラグ＝ＯＮであるか否かを判別し、ＹＥＳであることを条件にステップＳ３３４に進む。ステップＳ３３４では、Δｄａｄｐの前回までの積算値をクリアする。最後にステップＳ３３５では、むだサンプリング回数のノミナル値ｄｍとΔｄａｄｐの積算値とからｄａｄｐを算出する（ｄａｄｐ＝ｄｍ＋Σ（Δｄａｄｐ））。
【００８９】
図１１は、前記図７のステップＳ３１０で実行される学習処理を示すフローチャートである。
【００９０】
図１１において、ステップＳ３４１では学習可否判定処理を実行する。この判定処理では、同定誤差がゼロ付近で収束していることを条件に、時定数やむだ時間の学習値Ｔａ，Ｌａが算出され、その実施状況に応じて学習フラグが操作される（詳細は後述する）。そして、ステップＳ３４２で学習フラグ＝ＯＮであると判別されると、ステップＳ３４３では学習値の更新処理を実行する。
【００９１】
かかる場合、ステップＳ３４３の学習値更新処理では、後述する図１２の学習可否判定処理において算出された時定数の学習用パラメータＴａとノミナル値Ｔｍとの偏差ΔＴが算出され、そのΔＴ値が、スタンバイＲＡＭ内に既に記憶されている前回学習値に書き換えられて格納される。また、同じく図１２の学習可否判定処理において算出されたむだ時間の学習用パラメータＬａとノミナル値Ｌｍとの偏差ΔＬが算出され、そのΔＬ値が、スタンバイＲＡＭ内に既に記憶されている前回学習値に書き換えられて格納される。
【００９２】
例えば、図１４の（ａ）に示すように、エンジン負荷と回転数を測定可能な所定範囲内で各々４分割して合計１６個の領域を設け、それらの領域毎に時定数の学習値ΔＴを割り当てる。また、図１４の（ｂ）に示すように、エンジン負荷と回転数を測定可能な所定範囲内で各々４分割して合計１６個の領域を設け、それらの領域毎にむだ時間の学習値ΔＬを割り当てる。図中、学習値ΔＴ，ΔＬに付した添え字は領域番号である。なお、エンジン負荷と回転数とをパラメータとする各スタンバイＲＡＭ領域は各々均等に分割されていても良いが、不等分割されていても良い。
【００９３】
図１２は、前記図１１のステップＳ３４１で実行される学習可否判定処理を示すフローチャートである。
【００９４】
図１２において、ステップＳ３５１では、今現在、各種燃料増量や燃料カットが実施されていないか否かを判別する。そして、燃料増量等の実施中であればステップＳ３５２に進み、フラグｊｆｇ、カウンタｊｃｎｔを共に０にクリアする、プラントモデルの可変パラメータθｐとしてその時の同定値θ＿hatを設定する、プラントモデルのむだサンプリング回数ｄｐとしてｄａｄｐを設定する、学習フラグをＯＦＦするといった初期化処理を実行する。
【００９５】
また、各種燃料増量や燃料カットが実施されていなければ、ステップＳ３５３でフラグｊｆｇが１であるか否かを判別し、ｊｆｇ＝０の場合には更にステップＳ３５４で同定誤差ｅ＿tildeの絶対値が所定値ε３よりも小さいか否かを判別する。そして、｜ｅ＿tilde｜≧ε３であればそのままステップＳ３５９に進み、学習フラグをＯＦＦする。また、｜ｅ＿tilde｜＜ε３であれば、ステップＳ３５５でフラグｊｆｇに１をセットすると共にカウンタｊｃｎｔを０にクリアする。すなわち、同定誤差ｅ＿tildeが所定範囲内に収束していることでフラグｊｆｇがセットされる。なお、ステップＳ３５４の条件が所定時間継続して満たされない場合には所定値ε３を大きくし、同条件が満たされたら該ε３を初期値に戻す構成であっても良い。
【００９６】
その後、ステップＳ３５６では、前記リミット処理後のΔＴ＿hatを基に算出した連続パラメータＴ＿hat（＝ΔＴ＿hat＋ノミナル値Ｔｍ）を修正後連続パラメータＴｔｍｐとし、更に前記図９，１０のむだ時間更新処理で算出した余むだ時間Ｌ１ａｄｐとむだサンプリング回数ｄａｄｐとをそれぞれ修正余むだ時間Ｌ１ｔｍｐ、修正むだサンプリング回数ｄｔｍｐとする。続くステップＳ３５７では、連続パラメータを離散化して修正後離散パラメータθｔｍｐを算出する。そして、ステップＳ３５８では、修正後離散パラメータθｔｍｐをプラントモデルの可変パラメータθｐとして設定すると共に、修正むだサンプリング回数ｄｔｍｐをプラントモデルのむだサンプリング回数ｄｐとして設定する。これにより、プラントモデルにおいて、修正後離散パラメータθｔｍｐと修正むだサンプリング回数ｄｔｍｐを用いてモデル出力が算出される。ステップＳ３５９では、学習フラグをＯＦＦする。
【００９７】
一方、フラグｊｆｇに１がセットされた後は、ステップＳ３５３からステップＳ３６０に進み、ステップＳ３６０では、同定誤差ｅ＿tildeの絶対値が所定値ε４よりも小さいか否かを判別する。このとき、ε４≧ε３である。そして、｜ｅ＿tilde｜＜ε４であれば、ステップＳ３６３でカウンタｊｃｎｔの加算処理を実行し、続くステップＳ３６４ではｊｃｎｔ≧Ｎであるか否かを判別する。ｊｃｎｔ≧Ｎとなる前は、そのまま処理を終了する。
【００９８】
そして、ｊｃｎｔ≧Ｎになると、ステップＳ３６５でフラグｊｆｇを０にクリアし、ステップＳ３６６では、プラントモデルの可変パラメータθｐをその時の同定値θ＿hatに戻すと共に、プラントモデルのむだサンプリング回数ｄｐをｄａｄｐとする。また、ステップＳ３６７では、修正後連続パラメータＴｔｍｐを時定数の学習用パラメータＴａとすると共に、修正むだサンプリング回数ｄｔｍｐと修正余むだ時間Ｌ１ｔｍｐとを用いて算出したむだ時間（＝ｄｔｍｐ＊ｄｔ＋Ｌ１ｔｍｐ）をむだ時間の学習用パラメータＬａとする。ステップＳ３６８では、学習フラグをＯＮする。
【００９９】
また、ｊｃｎｔ≧Ｎとなる前に｜ｅ＿tilde｜≧ε４となる場合（すなわちステップＳ３６０がＮＯのとなる場合）には、ステップＳ３６１でフラグｊｆｇを０にクリアすると共に、ステップＳ３６２でプラントモデルの可変パラメータθｐをその時の同定値θ＿hatに戻すと共に、プラントモデルのむだサンプリング回数ｄｐをｄａｄｐとする。
【０１００】
図１３は、前記図５のステップＳ２５０で実行される制御量算出処理を示すフローチャートである。
【０１０１】
図１３において、ステップＳ４０１では、ノミナルパラメータマップを参照し、現在のエンジン運転状態（負荷と回転数）に基づいてノミナルパラメータ（時定数、余むだ時間のノミナル値Ｔｍ，Ｌ１ｍ）を算出する。また、ステップＳ４０２では、スタンバイＲＡＭ内に格納されている学習値ΔＴｎ，ΔＬｎを読み出すと共に、前記ノミナルパラメータを加算して連続パラメータ（時定数、余むだ時間）を算出する。このとき、現在のエンジン運転状態（負荷と回転数）に基づいて図１４のマップ内の学習値ΔＴｎ，ΔＬｎがスタンバイＲＡＭより読み出される。
【０１０２】
その後、ステップＳ４０３では、前記算出した連続パラメータに対して離散化処理を実行し、離散パラメータθｃを算出する。ステップＳ４０４では、例えば極配置Ｆ／Ｂ演算手法により、離散パラメータθｃを用いて空燃比補正係数ＦＡＦの演算を実施する。ただし、極配置Ｆ／Ｂ演算手法については本発明の要部でなくその詳細は本願出願人による先の出願（例えば、特開平２００２−８１３４４号公報等）に開示されているため、詳しい説明は割愛する。
【０１０３】
以上詳述した本実施の形態では、拡張ｚ変換により離散化を行って離散パラメータに余むだ時間Ｌ１の情報を含ませるようにし、該離散パラメータから算出される余むだ時間の推定値Ｌ１を基に、制御対象の実むだ時間に近づけるようにしてむだ時間Ｌを推定した。このとき特に、離散化のむだサンプリング回数ｄを増加又は減少させることで、推定むだ時間を実むだ時間の変化に追従させるようにした。本構成によれば、応答遅れだけでなくむだ時間も逐次推定できることとなり、制御対象のばらつきや経時変化によらず制御対象の動特性を十分把握することができ、高い制御精度を維持することができる。また、むだ時間の情報を種々に活用することもできる。
【０１０４】
同定誤差に基づいて逐次推定された離散パラメータを連続パラメータに変換し、その連続パラメータから余むだ時間の推定値Ｌ１＿hatを算出するようにしたため、離散パラメータから演算を行う場合に比べ、該推定値Ｌ１＿hatの演算を容易に実施できる。
【０１０５】
推定むだ時間（推定むだサンプリング回数）に基づいて、プラントモデル出力を逐次算出したり、制御器２０において制御対象への制御入力を決定したりするようにした。この場合、誤同定の防止や制御ゲインの発散防止等を図ることができる。これにより、高精度な空燃比フィードバック制御が実現できる。
【０１０６】
また、推定むだ時間を学習する構成としたため、制御対象の個体差ばらつきや経時変化等により実むだ時間のずれが生じている場合にも、それに追従した制御が継続的に実施できる。このとき、プラントモデル出力と制御対象の実出力との誤差が所定範囲内である場合に学習値を更新するようにしたため（図１２の学習可否判定処理参照）、適正な同定が行われていることを条件に学習処理が行われ、学習値の信頼性が高められる。
【０１０７】
ノミナルパラメータの算出に際し、ＨＰＦ等により回転速度信号や負荷信号の高周波振動成分を抑制する構成としたため、ノミナルパラメータの変動が抑制され、ひいては該ノミナルパラメータを用いた各種処理の精度が向上する。本実施の形態のようにノミナルパラメータからの偏差を同定する構成では、同定の精度向上を図ることができる。
【０１０８】
なお、本発明は上記実施の形態の記載内容に限定されず、例えば次のように実施しても良い。
【０１０９】
時定数やむだ時間の学習値ΔＴｎ，ΔＬｎを更新する際、今回算出した学習値ΔＴｎ，ΔＬｎになまし処理を施して今回学習値を算出するようにしても良い。すなわち、
ΔＴｎ（ｋ）＝（ｍ−１）／ｍ＊ΔＴｎ（ｋ−１）＋１／ｍ＊ΔＴｎ
ΔＬｎ（ｋ）＝（ｍ−１）／ｍ＊ΔＬｎ（ｋ−１）＋１／ｍ＊ΔＬｎ
としてその都度の学習値ΔＴｎ，ΔＬｎを算出する。これにより、学習値の急激な変化が抑制され、安定した制御が実現できる。誤同定やノイズ等による制御の乱れも抑制できる。
【０１１０】
上記実施の形態では、むだサンプリング回数ｄの繰り上げ／繰り下げや余むだ時間の推定値Ｌ１＿hatの更新を行う際に、余むだ時間の推定値Ｌ１＿hatが、サンプリング周期ｄｔで規定される上限値近傍（ｄｔ−ε１〜ｄｔ）又は下限値近傍（０〜０＋ε１）にあることを判定したが、これに代えて、余むだ時間の推定値Ｌ１＿hatが、上限値以上（ｄｔ以上）若しくは下限値（０以下）以下にあることを判定する構成としても良い。本構成の場合、余むだ時間の推定値が前記上限値以上に変化しその状態が所定時間継続した場合にむだサンプリング回数を一つ繰り上げると共に該余むだ時間を前記上限値以下で前記下限値以上の所定値とする。また、同じく余むだ時間の推定値が下限値以下に変化しその状態が所定時間継続した場合にむだサンプリング回数を一つ繰り下げると共に該余むだ時間を前記上限値以下で前記下限値以上の所定値とする。
【０１１１】
上記実施の形態では、連続パラメータの推定値のノミナル値からの偏差を学習値として記憶保持する構成としたが、連続パラメータの推定値をそのまま学習値とすることも可能である。
【０１１２】
上記実施の形態では、離散パラメータの推定値θ＿hatを連続パラメータに変換し、その連続パラメータに含まれる余むだ時間の推定値Ｌ１＿hatを用いてむだ時間Ｌ（むだサンプリング回数ｄ）を推定する構成としたが、これに代えて、離散パラメータの連続化を行わず、余むだ時間Ｌ１を含む離散パラメータｂ１の推定値を用いてむだ時間Ｌ（むだサンプリング回数ｄ）を推定することも可能である。
【図面の簡単な説明】
【０１１３】
【図１】発明の実施の形態におけるエンジン制御システムの概略を示す構成図である。
【図２】ノミナルモデルスケジューラと離散化処理の概要を示すブロック図である。
【図３】燃料噴射制御処理を示すフローチャートである。
【図４】Ｆ／Ｂ実行条件判定処理を示すフローチャートである。
【図５】空燃比補正係数算出処理を示すフローチャートである。
【図６】同定実行条件判定処理を示すフローチャートである。
【図７】同定処理を示すフローチャートである。
【図８】リミット処理を示すフローチャートである。
【図９】むだ時間更新処理を示すフローチャートである。
【図１０】図９に引き続き、むだ時間更新処理を示すフローチャートである。
【図１１】学習処理を示すフローチャートである。
【図１２】学習可否判定処理を示すフローチャートである。
【図１３】制御量算出処理を示すフローチャートである。
【図１４】学習値のマップデータを示す図である。
【図１５】制御入力ｕの変化を表すタイムチャートである。
【図１６】むだ時間更新処理の概要を具体的に示すタイムチャートである。
【符号の説明】
【０１１４】
１０…エンジン、１３…Ａ／Ｆセンサ、２０…制御器。
【図１】
2006118429.tif 000016
【図２】
2006118429.tif 000017
【図３】
2006118429.tif 000018
【図４】
2006118429.tif 000019
【図５】
2006118429.tif 000020
【図６】
2006118429.tif 000021
【図７】
2006118429.tif 000022
【図８】
2006118429.tif 000023
【図９】
2006118429.tif 000024
【図１０】
2006118429.tif 000025
【図１１】
2006118429.tif 000026
【図１２】
2006118429.tif 000027
【図１３】
2006118429.tif 000028
【図１４】
2006118429.tif 000029
【図１５】
2006118429.tif 000030
【図１６】
2006118429.tif 000031