(57)【要約】【課題】制御量以外の参照パラメータの検出結果の信頼性の低下などに起因して、制御誤差が一時的に増大するような条件下でも、制御誤差を適切かつ迅速に補償でき、それにより、高い制御精度を確保できる制御装置を提供する。【解決手段】制御装置1の空燃比コントローラ100は、連結重み関数Wcpiを空燃比誤差推定値Eafなどに乗算して、修正誤差Weafiを算出し、この値Weafiが値0になるように、値Dlift_bsiを算出し、連結重み関数Wcpiを値Dlift_bsiなどに乗算して、値Dlift_lsiを算出し、この値Dlift_lsiの総和である値Dliftを値Liftinに加算することにより、値Liftin_modを算出し、この値Liftin_modに応じて、空燃比をフィードフォワード制御するための第１推定吸気量Gcyl_vtを算出し、空燃比をフィードバック制御するための空燃比補正係数KAFを算出し、これらに応じて燃料噴射量TOUTを算出する。【選択図】  図10
2008102791.tif 000002
【特許請求の範囲】
【請求項１】
制御対象における制御量を制御入力により制御する制御装置であって、
前記制御量を検出する制御量検出手段と、
前記制御対象における前記制御量以外の参照パラメータを検出する参照パラメータ検出手段と、
前記制御量の目標となる目標制御量を設定する目標制御量設定手段と、
前記制御量をフィードフォワード制御するための第１入力値を、前記参照パラメータに応じ、当該参照パラメータと当該第１入力値との間の相関関係を表す相関関係モデルを用いて算出し、前記制御量を前記目標制御量に収束させるようにフィードバック制御するための第２入力値を、所定のフィードバック制御アルゴリズムにより算出するとともに、前記第１入力値および前記第２入力値に応じて、前記制御入力を算出する制御入力算出手段と、
を備え、
前記制御入力算出手段は、
前記制御量および前記目標制御量に応じて、前記第１入力値により補償すべき制御誤差を表す誤差パラメータを算出する誤差パラメータ算出手段と、
所定の制御アルゴリズムにより、前記誤差パラメータが所定の目標値となるように、前記参照パラメータが変化し得る領域を区分した複数の領域に対応する複数の修正値をそれぞれ算出するとともに、当該複数の修正値を用いて前記相関関係モデルを修正するモデル修正手段と、
当該修正された前記相関関係モデルを用いて前記第１入力値を算出する第１入力値算出手段と、
を有することを特徴とする制御装置。
【請求項２】
前記参照パラメータ検出手段は、前記参照パラメータとして、複数の参照パラメータを検出し、
前記相関関係モデルは、前記複数の参照パラメータと前記第１入力値との関係を表すように構成され、
前記モデル修正手段は、前記複数の修正値を、前記複数の参照パラメータの少なくとも一つが変化し得る領域に対応するように算出することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記モデル修正手段は、所定の複数の関数の値を前記誤差パラメータおよび前記所定の目標値の一方と他方との偏差に乗算することにより、複数の第１乗算値をそれぞれ算出するとともに、当該複数の第１乗算値に応じて、前記複数の修正値をそれぞれ算出し、
前記複数の領域は、隣り合う領域が互いに重なり合っており、
前記所定の複数の関数は、前記複数の領域にそれぞれ対応して、当該対応する領域においてのみ値０以外の値に設定されかつ当該対応する領域以外において値０に設定されているとともに、前記互いに重なり合う領域において、当該重なり合う領域に対応する前記関数の値の総和の絶対値が、前記関数における最大値の絶対値と等しくなるように設定されていることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記モデル修正手段は、前記複数の修正値に前記所定の複数の関数の値をそれぞれ乗算することにより、複数の第２乗算値を算出し、当該複数の第２乗算値の総和を用いて、前記相関関係モデルを修正することを特徴とする請求項３に記載の制御装置。
【請求項５】
前記モデル修正手段は、所定の複数の関数の値を前記複数の修正値にそれぞれ乗算することにより、複数の乗算値を算出するとともに、当該複数の乗算値の総和を用いて、前記相関関係モデルを修正し、
前記複数の領域は、隣り合う領域が互いに重なり合っており、
前記所定の複数の関数は、前記複数の領域にそれぞれ対応して、当該対応する領域においてのみ値０以外の値に設定されかつ当該対応する領域以外において値０に設定されているとともに、前記互いに重なり合う領域において、当該重なり合う領域に対応する前記関数の値の総和の絶対値が、前記関数における最大値の絶対値と等しくなるように設定されていることを特徴とする請求項１または２に記載の制御装置。
【請求項６】
前記制御対象は、可変吸気機構により気筒内に吸入される吸入空気量が自在に変更される内燃機関であり、前記制御量は、当該内燃機関の混合気の空燃比であり、前記制御入力は、前記内燃機関への供給燃料量であり、前記参照パラメータは、前記可変吸気機構の動作状態を表す動作状態パラメータおよび前記内燃機関の回転数の少なくとも一方を含むことを特徴とする請求項１ないし５のいずれかに記載の制御装置。
【請求項７】
前記制御対象は、内燃機関を動力源とする車両であり、前記制御量は、当該車両の第１車輪速度であり、前記制御入力は、前記内燃機関の出力であり、前記参照パラメータは、前記第１車輪速度以外の第２車輪速度、前記内燃機関の出力の制限値および当該内燃機関の回転数の少なくとも一つを含むことを特徴とする請求項１ないし５のいずれかに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィードバック制御手法により算出した値と、フィードフォワード制御手法により算出した値とに応じて、制御入力を算出し、それにより制御量を制御する制御装置に関する。
【背景技術】
【０００２】
従来、この種の制御装置として、特許文献１に記載されたものを本出願人は既に提案している。この制御装置は、制御入力としての燃料量により、制御量としての内燃機関の混合気の空燃比を制御するものであり、吸気通路内の空気流量を検出するエアフローセンサと、バルブリフトを検出するための回動角センサと、吸気弁を開閉駆動するカムシャフトのクランクシャフトに対する位相（以下「カム位相」という）を検出するためのカム角センサおよびクランク角センサなどを備えている。また、内燃機関は、大口径の吸気通路と、可変吸気機構としての可変バルブリフト機構および可変カム位相機構とを備えている。この内燃機関では、可変バルブリフト機構および可変カム位相機構により、バルブリフトおよびカム位相がそれぞれ自在に変更され、それにより、吸入空気量が自在に変更される。
【０００３】
この制御装置では、吸入空気量として、低負荷域では、第１推定吸気量がバルブリフトおよびカム位相に応じて算出され、高負荷域では、第２推定吸気量が空気流量に応じて算出されるとともに、低負荷域と高負荷域との間の負荷域では、第１および第２推定吸気量の加重平均値が算出される。これは、内燃機関の吸気系が大口径であることで、第２推定吸気量の信頼性が第１推定吸気量よりも低下する低負荷域では、信頼性の高い方の第１推定吸気量を用いるためであり、その逆の状態が発生する高負荷域では、信頼性のより高い方の第２推定吸気量を用いるためである。さらに、このように算出された吸入空気量に基づいて、空燃比をフィードフォワード制御するための値として、基本燃料量が算出され、所定のフィードバック制御アルゴリズムにより、空燃比を目標空燃比に収束させるように、空燃比補正係数が算出され、この空燃比補正係数を基本燃料量に乗算した値に基づき、最終的な燃料量が算出される。そして、この燃料量が燃料噴射弁を介して気筒内に噴射されることにより、空燃比が目標空燃比になるように精度よく制御される。
【０００４】
【特許文献１】特開２００５−３１５１６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来の制御装置によれば、回動角センサ、カム角センサおよびクランク角センサの検出信号が温度変化などに起因してドリフトした場合、または、可変バルブリフト機構および可変カム位相機構の構成部品の摩耗、汚れの付着および経年変化による遊びなどに起因して、２つの可変機構の静特性（すなわち制御入力に対するバルブリフトおよびカム位相の関係）が変化した場合には、各センサの検出結果の信頼性が低下することで、空燃比の制御誤差が一時的に増大する可能性がある。具体的には、第１推定吸気量が実際の吸入空気量を正しく表さなくなり、実際の吸入空気量に対してずれてしまうと、吸入空気量として第１推定吸気量を用いる低負荷域では、制御入力としての燃料量を適切に算出できなくなる可能性があり、その場合には、制御量としての空燃比と目標空燃比との間の偏差すなわち制御誤差が増大してしまう。このような制御誤差は、空燃比補正係数が所定のフィードバック制御アルゴリズムにより算出されるので、定常状態では、この空燃比補正係数によって補償することが可能であるものの、空燃比補正係数による制御誤差の補償には時間がかかってしまうという問題がある。そのため、制御誤差が一時的に増大した場合などには、制御精度が一時的に低下することで、燃焼が不安定になったり、燃焼効率が低下したりする可能性がある。このような問題は、内燃機関の過渡運転状態ではより顕著に発生しやすい。
【０００６】
本発明は、上記課題を解決するためになされたもので、制御量以外の参照パラメータの検出結果の信頼性の低下などに起因して、制御誤差が一時的に増大するような条件下でも、制御誤差を適切かつ迅速に補償でき、それにより、高レベルの制御精度を確保できる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る発明は、制御対象（内燃機関３、車両）における制御量（検出空燃比ＫＡＣＴ、駆動輪速Ｗｓ＿ａｃｔ）を制御入力（燃料噴射量ＴＯＵＴ、エンジントルクＴｒｑ）により制御する制御装置１，１Ａ，１Ｂであって、制御量を検出する制御量検出手段（ＥＣＵ２、ＬＡＦセンサ２４、左右の後輪速センサ８２，８３）と、制御対象における制御量以外の参照パラメータ（バルブリフトＬｉｆｔｉｎ、エンジン回転数ＮＥ、最大トルクＴｒｑ＿ｍａｘ、非駆動輪速Ｗｓ＿ｒｅｆ）を検出する参照パラメータ検出手段（ＥＣＵ２、回動角センサ２５、クランク角センサ２０、左右の前輪速センサ８０，８１、最大／最小トルク算出部２０３）と、制御量の目標となる目標制御量（目標空燃比ＫＣＭＤ、目標車輪速Ｗｓ＿ｃｍｄ）を設定する目標制御量設定手段（ＥＣＵ２、目標空燃比算出部１０８、目標車輪速算出部２０１）と、制御量をフィードフォワード制御するための第１入力値（第１推定吸気量Ｇｃｙｌ＿ｖｔ、フィードフォワードトルクＴｒｑ＿ｆｆ）を、参照パラメータに応じ、参照パラメータと第１入力値との間の相関関係を表す相関関係モデル［図１１、式（７０），（７１）］を用いて算出し、制御量を目標制御量に収束させるようにフィードバック制御するための第２入力値（空燃比補正係数ＫＡＦ、トルクフィードバック値Ｔｒｑ＿ｆｂ）を、所定のフィードバック制御アルゴリズム［式（６）〜（１０），（７３）〜（８３）］により算出するとともに、第１入力値および第２入力値に応じて、制御入力を算出する制御入力算出手段（ＥＣＵ２、空燃比コントローラ１００，１００Ａ、トラクションコントローラ２００）と、を備え、制御入力算出手段は、制御量および目標制御量に応じて、第１入力値により補償すべき制御誤差を表す誤差パラメータ（空燃比誤差推定値Ｅａｆ、トルクフィードバック値Ｔｒｑ＿ｆｂ）を算出する誤差パラメータ算出手段（ＥＣＵ２、空燃比誤差推定値算出部１１３、車輪速フィードバックコントローラ２０２）と、所定の制御アルゴリズムにより、誤差パラメータが所定の目標値（値０、目標トルクフィードバック値Ｔｒｑ＿ｆｂ＿ｃｍｄ）となるように、参照パラメータが変化し得る領域を区分した複数の領域に対応する複数の修正値（基本局所補正値Ｄｌｉｆｔ＿ｂｓi，Ｄｌｉｆｔ＿ｂｓij，Ｄｋｔｒｑ＿ｂｓi）をそれぞれ算出する［式（１９）〜（２６）、式（３９）〜（４７）、式（４８）〜（５７）］とともに、複数の修正値を用いて相関関係モデルを修正する［式（２９），（３０）、式（３０），（５９）、式（７０），（７１），（９５）］モデル修正手段（ＥＣＵ２、リフト補正値算出部１２０，１３０、トルク補正値算出部２１０）と、修正された相関関係モデルを用いて第１入力値を算出する第１入力値算出手段（ＥＣＵ２、第１推定吸気量算出部１０１、フィードフォワードトルク算出部２０６）と、を有することを特徴とする。
【０００８】
この制御装置のように、参照パラメータに応じ、参照パラメータと第１入力値との間の相関関係を表す相関関係モデルを用いて、制御量をフィードフォワード制御するための第１入力値を算出する場合、外乱に起因して制御誤差が発生しているときに加えて、参照パラメータの検出結果の信頼性の低下などに起因して、相関関係モデルが参照パラメータと第１入力値との間の実際の相関関係を適切に表さない状態となっているとき、言い換えれば、相関関係モデルが両者の実際の相関関係に対してずれているときにも、制御誤差が発生し、それを表すように誤差パラメータが算出される。この場合、この誤差パラメータを、フィードバック制御アルゴリズムで算出された第２入力値によって補償しようとすると、前述したように時間がかかってしまう。
【０００９】
これに対して、この制御装置によれば、第１入力値により補償すべき制御誤差を表す誤差パラメータが、制御量および目標制御量に応じて算出され、参照パラメータが変化し得る領域を区分した複数の領域に対応する複数の修正値がそれぞれ、所定の制御アルゴリズムにより、誤差パラメータが所定の目標値となるように算出され、これらの複数の修正値を用いて相関関係モデルが修正されるとともに、そのように修正された相関関係モデルを用いて、第１入力値が算出される。このように、第１入力値は、誤差パラメータが所定の目標値となるように、複数の領域毎に修正された相関関係モデルを用いて算出されるので、外乱に起因して制御誤差が一時的に増大している場合に加えて、第１参照パラメータの検出結果の信頼性の低下や制御対象の動特性変化などに起因して、相関関係モデルが参照パラメータと第１入力値との間の実際の相関関係に対してずれていることで、誤差パラメータすなわち制御誤差が一時的に増大するような場合でも、修正された相関関係モデルを用いて算出した第１入力値により、この制御誤差を適切に補償することができる。特に、参照パラメータと第１入力値との間の実際の相関関係に対する相関関係モデルのずれが、参照パラメータの領域毎にずれの変化方向が異なる場合でも、そのようなずれに対応しながら、相関関係モデルを領域毎に適切に修正でき、高レベルの制御誤差の補償能力を確保することができる。これに加えて、相関関係モデルとして、フィードフォワード制御手法において一般的な、参照パラメータと第１入力値との間の相関関係を表すＮ（Ｎは２以上の自然数）次元マップや、両者の相関関係を表す算出式などを用いることにより、第２入力値により誤差パラメータを補償する場合と比べて、誤差パラメータすなわち制御誤差を迅速に補償することができる。
【００１０】
以上のように、参照パラメータの検出結果の信頼性の低下や制御対象の動特性変化などに起因して、制御誤差が一時的に増大するような条件下でも、制御誤差を適切かつ迅速に補償でき、それにより、高レベルの制御精度を確保できる（なお、本明細書における「相関関係モデル」は、応答曲面モデルや数学的モデルに限らず、Ｎ（Ｎは２以上の自然数）次元マップや所定の算出アルゴリズムなどの、参照パラメータと第１入力値との間の相関関係を表すものをすべて含むものである。また、本明細書における「パラメータの検出」は、パラメータを、センサにより直接的に検出することに限らず、算出または推定することも含む。これに加えて、本明細書における「パラメータの算出」は、パラメータを算出または推定することに限らず、パラメータをセンサにより直接的に検出することも含む）。
【００１１】
請求項２に係る発明は、請求項１に記載の制御装置１，１Ａ，１Ｂにおいて、参照パラメータ検出手段は、参照パラメータとして、複数の参照パラメータ（バルブリフトＬｉｆｔｉｎ、エンジン回転数ＮＥ、最大トルクＴｒｑ＿ｍａｘ、非駆動輪速Ｗｓ＿ｒｅｆ）を検出し、相関関係モデル［図１１、式（７０），（７１）］は、複数の参照パラメータと第１入力値との関係を表すように構成され、モデル修正手段は、複数の修正値を、複数の参照パラメータの少なくとも一つが変化し得る領域（図２０，３９，４２，５０）に対応するように算出することを特徴とする。
【００１２】
この制御装置によれば、相関関係モデルが、複数の参照パラメータと第１入力値との関係を表すように構成され、複数の修正値が、複数の参照パラメータの少なくとも一つが変化し得る領域に対応するように算出されるとともに、第１入力値は、誤差パラメータが所定の目標値となるように、複数の領域毎に修正された相関関係モデルを用いて算出されるので、相関関係モデルが複数の参照パラメータと第１入力値との間の実際の相関関係に対してずれていることで、誤差パラメータすなわち制御誤差が一時的に増大するような場合でも、修正された相関関係モデルを用いて算出した第１入力値により、この制御誤差を適切に補償することができる。
【００１３】
請求項３に係る発明は、請求項１または２に記載の制御装置１，１Ａ，１Ｂにおいて、モデル修正手段は、所定の複数の関数（連結重み関数Ｗｃｐi，Ｗｃｐij，Ｗｃｖi）の値を誤差パラメータおよび所定の目標値の一方と他方との偏差（空燃比誤差推定値Ｅａｆ、トルク誤差Ｅｔｆ）に乗算することにより、複数の第１乗算値（修正誤差Ｗｅａｆi，Ｗｅａｆij，修正トルク誤差Ｗｅｔｒｑi）をそれぞれ算出するとともに、複数の第１乗算値に応じて、複数の修正値（基本局所補正値Ｄｌｉｆｔ＿ｂｓi，Ｄｌｉｆｔ＿ｂｓij，Ｄｋｔｒｑ＿ｂｓi）をそれぞれ算出し、複数の領域は、隣り合う領域が互いに重なり合っており、所定の複数の関数は、複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されているとともに、互いに重なり合う領域において、重なり合う領域に対応する関数の値の総和の絶対値が、関数における最大値（値１）の絶対値と等しくなるように設定されていることを特徴とする。
【００１４】
この制御装置によれば、所定の複数の関数は、複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されているとともに、互いに重なり合う領域において、この重なり合う領域に対応する関数の値の総和の絶対値は、関数における最大値の絶対値と等しくなるように設定されている。そのような所定の複数の関数の値を、誤差パラメータおよび所定の目標値の一方と他方との偏差に乗算することにより、複数の第１乗算値がそれぞれ算出されるとともに、複数の第１乗算値に応じて、複数の修正値がそれぞれ算出されるので、誤差パラメータと所定の目標値の一方と他方との偏差を、所定の複数の関数の値を介して、複数の修正値に配分することができ、それにより、複数の修正値の各々によって、複数の領域の各々における相関関係モデルのずれ度合を適切に修正することができる。これに加えて、互いに重なり合う領域に対応する関数の値の総和の絶対値は、関数における最大値の絶対値と等しくなるように設定されているので、そのような複数の関数の値を用いて算出された複数の修正値は、互いに連続的な値を示すようになることで、参照パラメータが急変したときでも、第１入力値を滑らかに段差なく変化するように算出することができる。それにより、目標制御量や制御対象の環境が急変により、制御誤差が一時的に増大するような条件下でも、それに起因する、第１入力値の不適切な急変やステップ状の急変を回避することができ、制御精度および制御の安定性を向上させることができる。
【００１５】
請求項４に係る発明は、請求項３に記載の制御装置１，１Ａ，１Ｂにおいて、モデル修正手段は、複数の修正値（基本局所補正値Ｄｌｉｆｔ＿ｂｓi，Ｄｌｉｆｔ＿ｂｓij，Ｄｋｔｒｑ＿ｂｓi）に所定の複数の関数（連結重み関数Ｗｃｐi，Ｗｃｐij，Ｗｃｖi）の値をそれぞれ乗算することにより、複数の第２乗算値（局所補正値Ｄｌｉｆｔ＿ｌｃi，Ｄｌｉｆｔ＿ｌｃij，Ｄｋｔｒｑ＿ｌｃi）を算出し、複数の第２乗算値の総和を用いて、相関関係モデルを修正する［式（２９），（３０）、式（３０），（５９）、式（７０），（７１），（９５）］ことを特徴とする。
【００１６】
この制御装置によれば、複数の修正値に所定の複数の関数の値をそれぞれ乗算することにより、複数の第２乗算値が算出されるとともに、これらの複数の第２乗算値の総和を用いて、相関関係モデルが修正される。この場合、複数の修正値は、前述したように、複数の領域における相関関係モデルのずれ度合をそれぞれ修正できるように算出されるので、複数の第２乗算値の総和は、そのような修正値を連続的に結合させた値として算出できる。したがって、そのような値を用いて相関関係モデルを修正することにより、参照パラメータが急変したときでも、第１入力値をさらに滑らかに段差なく変化するように算出することができ、それにより、制御精度および制御の安定性をさらに向上させることができる。
【００１７】
請求項５に係る発明は、請求項１または２に記載の制御装置１，１Ａ，１Ｂにおいて、モデル修正手段は、所定の複数の関数（連結重み関数Ｗｃｐi，Ｗｃｐij，Ｗｃvi）の値を複数の修正値（基本局所補正値Ｄｌｉｆｔ＿ｂｓi，Ｄｌｉｆｔ＿ｂｓij，Ｄｋｔｒｑ＿ｂｓi）にそれぞれ乗算することにより、複数の乗算値（局所補正値Ｄｌｉｆｔ＿ｌｃi，Ｄｌｉｆｔ＿ｌｃij，Ｄｋｔｒｑ＿ｌｃi）を算出するとともに、複数の乗算値の総和を用いて、相関関係モデルを修正し［式（２９），（３０）、式（３０），（５９）、式（７０），（７１），（９５）］、複数の領域は、隣り合う領域が互いに重なり合っており、所定の複数の関数は、複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されているとともに、互いに重なり合う領域において、重なり合う領域に対応する関数の値の総和の絶対値が、関数における最大値（値１）の絶対値と等しくなるように設定されていることを特徴とする。
【００１８】
この制御装置によれば、所定の複数の関数は、複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されており、互いに重なり合う領域において、この重なり合う領域に対応する関数の値の総和の絶対値は、関数における最大値の絶対値と等しくなるように設定されているとともに、そのような所定の複数の関数の値を、複数の修正値にそれぞれ乗算することにより、複数の乗算値が算出されるとともに、複数の乗算値の総和を用いて、相関関係モデルが修正される。この場合、複数の修正値は、前述したように、複数の領域における相関関係モデルのずれ度合をそれぞれ修正できるように算出されるので、複数の第２乗算値の総和は、そのような修正値を連続的に結合させた値として算出できる。したがって、そのような値を用いて相関関係モデルを修正することにより、参照パラメータが急変したときでも、第１入力値を滑らかに段差なく変化するように算出することができ、それにより、制御精度および制御の安定性を向上させることができる。
【００１９】
請求項６に係る発明は、請求項１ないし５のいずれかに記載の制御装置１，１Ａにおいて、制御対象は、可変吸気機構（可変バルブリフト機構５０）により気筒３ａ内に吸入される吸入空気量が自在に変更される内燃機関３であり、制御量は、内燃機関３の混合気の空燃比（検出空燃比ＫＡＣＴ）であり、制御入力は、内燃機関３への供給燃料量（燃料噴射量ＴＯＵＴ）であり、参照パラメータは、可変吸気機構の動作状態を表す動作状態パラメータ（バルブリフトＬｉｆｔｉｎ）および内燃機関３の回転数ＮＥの少なくとも一方を含むことを特徴とする。
【００２０】
この制御装置によれば、混合気の空燃比が供給燃料量によって制御され、供給燃料量が、第１入力値および第２入力値に応じて算出され、動作状態パラメータおよび／または内燃機関の回転数と、第１入力値との間の相関関係を表す相関関係モデルが複数の修正値を用いて修正されるとともに、修正された相関関係モデルを用いて、第１入力値が算出される。それにより、動作状態パラメータおよび／または内燃機関の回転数の検出結果の信頼性の低下や、内燃機関の動特性の変化などに起因して、相関関係モデルが、動作状態パラメータおよび／または内燃機関の回転数と第１入力値との間の実際の相関関係に対してずれていることで、空燃比の制御誤差が一時的に増大するような場合でも、修正された相関関係モデルを用いて算出した第１入力値により、そのような制御誤差を適切かつ迅速に補償できる。特に、相関関係モデルのずれの変化方向が、動作状態パラメータおよび／または内燃機関の回転数の領域毎に異なる場合でも、そのようなずれに対応しながら、相関関係モデルを領域毎に適切に修正できる。その結果、高レベルの制御誤差の補償能力を確保することができる。
【００２１】
請求項７に係る発明は、請求項１ないし５のいずれかに記載の制御装置１Ｂにおいて、制御対象は、内燃機関３を動力源とする車両であり、制御量は、車両の第１車輪速度（駆動輪速Ｗｓ＿ａｃｔ）であり、制御入力は、内燃機関の出力（エンジントルクＴｒｑ）であり、参照パラメータは、第１車輪速度以外の第２車輪速度（非駆動輪速Ｗｓ＿ｒｅｆ）、内燃機関の出力の制限値（最大トルクＴｒｑ＿ｍａｘ）および内燃機関の回転数ＮＥの少なくとも一つを含むことを特徴とする。
【００２２】
この制御装置によれば、車両の第１車輪速度が内燃機関の出力によって制御され、内燃機関の出力が、第１入力値および第２入力値に応じて算出され、第１車輪速度以外の第２車輪速度、内燃機関の出力の制限値および内燃機関の回転数の少なくとも一つと、第１入力値との間の相関関係を表す相関関係モデルが、複数の修正値を用いて修正されるとともに、修正された相関関係モデルを用いて、第１入力値が算出される。それにより、例えば、内燃機関の出力特性の経年変化や個体間でのばらつき、タイヤの摩耗度合の変化および路面の摩擦抵抗の変化などの、予測不能な条件の変化に起因して、相関関係モデルが、第２車輪速度、内燃機関の出力の制限値および内燃機関の回転数の少なくとも一つと、第１入力値との間の実際の相関関係を適切に表さない状態となり、制御誤差が一時的に増大しやすい状態にある場合でも、修正された相関関係モデルを用いて算出した第１入力値によって、その制御誤差を過不足なく適切かつ迅速に補償することができ、制御誤差の増大を抑制することができる。その結果、ゲインスケジュールタイプの補正手法（または修正手法）と比べて、高レベルの車輪速度の制御精度を確保できる。すなわち、高精度のトラクションコントロールを実現することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら、本発明の第１実施形態に係る制御装置について説明する。図２に示すように、この制御装置１は、ＥＣＵ２を備えており、このＥＣＵ２は、後述するように、制御対象としての内燃機関の運転状態に応じて、空燃比制御などの制御処理を実行する。
【００２４】
図１および図３に示すように、内燃機関（以下「エンジン」という）３は、４組の気筒３ａおよびピストン３ｂ（１組のみ図示）を有する直列４気筒ガソリンエンジンであり、図示しない自動変速機付きの車両に搭載されている。エンジン３は、気筒３ａ毎に設けられ、吸気ポートおよび排気ポートをそれぞれ開閉する吸気弁４および排気弁７と、吸気弁４駆動用の吸気カムシャフト５および吸気カム６と、吸気弁４を開閉駆動する可変式吸気動弁機構４０と、排気弁７駆動用の排気カムシャフト８および排気カム９と、排気弁７を開閉駆動する排気動弁機構３０と、燃料噴射弁１０と、点火プラグ１１（図２参照）などを備えている。
【００２５】
吸気弁４は、そのステム４ａがガイド４ｂに摺動自在に嵌合しており、このガイド４ｂは、シリンダヘッド３ｃに固定されている。さらに、吸気弁４は、図４に示すように、上下のスプリングシート４ｃ，４ｄと、これらの間に設けられたバルブスプリング４ｅとを備えており、このバルブスプリング４ｅにより、ステム４ａが閉弁方向に付勢されている。
【００２６】
また、吸気カムシャフト５および排気カムシャフト８はそれぞれ、図示しないホルダを介して、シリンダヘッド３ｃに回動自在に取り付けられている。この吸気カムシャフト５の一端部上には、吸気スプロケット（図示せず）が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、図示しないタイミングチェーンを介してクランクシャフト３ｄに連結され、後述する可変カム位相機構７０を介して吸気カムシャフト５に連結されている。以上の構成により、吸気カムシャフト５は、クランクシャフト３ｄが２回転する毎に１回転する。また、吸気カム６は、吸気カムシャフト５上にこれと一体に回転するように気筒３ａ毎に設けられている。
【００２７】
さらに、可変式吸気動弁機構４０は、吸気カムシャフト５の回転に伴って、各気筒３ａの吸気弁４を開閉駆動するとともに、吸気弁４のリフトおよびバルブタイミングを無段階に変更するものであり、その詳細については後述する。なお、本実施形態では、「吸気弁４のリフト（以下「バルブリフト」という）」は、吸気弁４の最大揚程を表すものとする。
【００２８】
一方、排気弁７は、そのステム７ａがガイド７ｂに摺動自在に嵌合しており、このガイド７ｂは、シリンダヘッド３ｃに固定されている。さらに、排気弁７は、上下のスプリングシート７ｃ，７ｄと、これらの間に設けられたバルブスプリング７ｅとを備えており、このバルブスプリング７ｅにより、ステム７ａが閉弁方向に付勢されている。
【００２９】
また、排気カムシャフト８は、これと一体の排気スプロケット（図示せず）を備え、この排気スプロケットおよび図示しないタイミングチェーンを介してクランクシャフト３ｄに連結されており、それにより、クランクシャフト３ｄが２回転する毎に１回転する。さらに、排気カム９は、排気カムシャフト８上にこれと一体に回転するように気筒３ａ毎に設けられている。
【００３０】
さらに、排気動弁機構３０は、ロッカアーム３１を備えており、このロッカアーム３１が排気カム９の回転に伴って回動することにより、バルブスプリング７ｅの付勢力に抗しながら、排気弁７を開閉駆動する。
【００３１】
一方、燃料噴射弁１０は、気筒３ａ毎に設けられ、燃料を燃焼室内に直接噴射するように、傾斜した状態でシリンダヘッド３ｃに取り付けられている。すなわち、エンジン３は直噴エンジンとして構成されている。また、燃料噴射弁１０は、ＥＣＵ２に電気的に接続されており、ＥＣＵ２により、開弁時間および開弁タイミングが制御され、それにより、燃料噴射量が制御される。
【００３２】
また、点火プラグ１１も、気筒３ａ毎に設けられ、シリンダヘッド３ｃに取り付けられている。点火プラグ１１は、ＥＣＵ２に電気的に接続されており、ＥＣＵ２により、点火時期に応じたタイミングで燃焼室内の混合気を燃焼させるように、放電状態が制御される。
【００３３】
一方、エンジン３には、クランク角センサ２０および水温センサ２１が設けられている。このクランク角センサ２０は、マグネットロータおよびＭＲＥピックアップで構成されており、クランクシャフト３ｄの回転に伴い、いずれもパルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。このＣＲＫ信号は、所定クランク角（例えば１゜）毎に１パルスが出力され、ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。なお、本実施形態では、クランク角センサ２０が参照パラメータ検出手段に相当し、エンジン回転数ＮＥが参照パラメータに相当する。また、ＴＤＣ信号は、各気筒３ａのピストン３ｂが吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に１パルスが出力される。
【００３４】
また、水温センサ２１は、例えばサーミスタなどで構成されており、エンジン水温ＴＷを表す検出信号をＥＣＵ２に出力する。このエンジン水温ＴＷは、エンジン３のシリンダブロック３ｈ内を循環する冷却水の温度である。
【００３５】
さらに、エンジン３の吸気管１２では、スロットル弁機構が省略されているとともに、その吸気通路１２ａが大口径に形成されており、それにより、流動抵抗が通常のエンジンよりも小さくなるように設定されている。この吸気管１２には、エアフローセンサ２２および吸気温センサ２３（図２参照）が設けられている。
【００３６】
このエアフローセンサ２２は、熱線式エアフローメータで構成されており、吸気通路１２ａ内を流れる空気の流量（以下「空気流量」という）Ｇｉｎを表す検出信号をＥＣＵ２に出力する。なお、空気流量Ｇｉｎの単位は、ｇ／ｓｅｃである。また、吸気温センサ２３は、吸気通路１２ａ内を流れる空気の温度（以下「吸気温」という）ＴＡを表す検出信号をＥＣＵ２に出力する。
【００３７】
さらに、エンジン３の排気管１３には、上流側から順に、ＬＡＦセンサ２４および触媒装置１４がそれぞれ設けられている。ＬＡＦセンサ２４は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気管１３の排気通路１３ａ内を流れる排ガス中の酸素濃度をリニアに検出し、それを表す検出信号をＥＣＵ２に出力する。
【００３８】
ＥＣＵ２は、このＬＡＦセンサ２４の検出信号の値に基づき、排ガス中の空燃比を表す検出空燃比ＫＡＣＴを算出する。この場合、検出空燃比ＫＡＣＴは、具体的には当量比として算出される。なお、本実施形態では、ＬＡＦセンサ２４が制御量検出手段に相当し、検出空燃比ＫＡＣＴが制御量および混合気の空燃比に相当する。
【００３９】
次に、前述した可変式吸気動弁機構４０について説明する。この可変式吸気動弁機構４０は、図４に示すように、吸気カムシャフト５、吸気カム６、可変バルブリフト機構５０および可変カム位相機構７０などで構成されている。
【００４０】
この可変バルブリフト機構５０は、吸気カムシャフト５の回転に伴って吸気弁４を開閉駆動するとともに、バルブリフトＬｉｆｔｉｎを所定の最大値Ｌｉｆｔｉｎｍａｘと値０との間で無段階に変更するものであり、気筒３ａ毎に設けられた四節リンク式のロッカアーム機構５１と、これらのロッカアーム機構５１を同時に駆動するリフトアクチュエータ６０（図５参照）などを備えている。なお、本実施形態では、可変バルブリフト機構５０が可変吸気機構に相当する。
【００４１】
各ロッカアーム機構５１は、ロッカアーム５２および上下のリンク５３，５４などで構成されている。この上リンク５３の一端部は、上ピン５５を介して、ロッカアーム５２の上端部に回動自在に取り付けられており、他端部は、ロッカアームシャフト５６に回動自在に取り付けられている。このロッカアームシャフト５６は、図示しないホルダを介して、シリンダヘッド３ｃに取り付けられている。
【００４２】
また、ロッカアーム５２の上ピン５５上には、ローラ５７が回動自在に設けられている。このローラ５７は、吸気カム６のカム面に当接しており、吸気カム６が回転する際、そのカム面に案内されながら吸気カム６上を転動する。これにより、ロッカアーム５２は上下方向に駆動されるとともに、上リンク５３が、ロッカアームシャフト５６を中心として回動する。
【００４３】
さらに、ロッカアーム５２の吸気弁４側の端部には、アジャストボルト５２ａが取り付けられている。このアジャストボルト５２ａは、吸気カム６の回転に伴ってロッカアーム５２が上下方向に移動すると、バルブスプリング４ｅの付勢力に抗しながら、ステム４ａを上下方向に駆動し、吸気弁４を開閉する。
【００４４】
また、下リンク５４の一端部は、下ピン５８を介して、ロッカアーム５２の下端部に回動自在に取り付けられており、下リンク５４の他端部には、連結軸５９が回動自在に取り付けられている。下リンク５４は、この連結軸５９を介して、リフトアクチュエータ６０の後述する短アーム６５に連結されている。
【００４５】
一方、リフトアクチュエータ６０は、図５に示すように、モータ６１、ナット６２、リンク６３、長アーム６４および短アーム６５などを備えている。このモータ６１は、ＥＣＵ２に接続され、エンジン３のヘッドカバー３ｇの外側に配置されている。モータ６１の回転軸は、雄ねじが形成されたねじ軸６１ａになっており、このねじ軸６１ａに、ナット６２が螺合している。このナット６２は、リンク６３を介して、長アーム６４に連結されている。このリンク６３の一端部は、ピン６３ａを介して、ナット６２に回動自在に取り付けられ、他端部は、ピン６３ｂを介して、長アーム６４の一端部に回動自在に取り付けられている。
【００４６】
また、長アーム６４の他端部は、回動軸６６を介して短アーム６５の一端部に取り付けられている。この回動軸６６は、断面円形に形成され、エンジン３のヘッドカバー３ｇを貫通しているとともに、これに回動自在に支持されている。この回動軸６６の回動に伴い、長アーム６４および短アーム６５はこれと一体に回動する。
【００４７】
さらに、短アーム６５の他端部には、前述した連結軸５９が回動自在に取り付けられており、これにより、短アーム６５は、連結軸５９を介して、下リンク５４に連結されている。
【００４８】
次に、以上のように構成された可変バルブリフト機構５０の動作について説明する。この可変バルブリフト機構５０では、ＥＣＵ２からの後述するリフト制御入力Ｕ＿Ｌｉｆｔｉｎがリフトアクチュエータ６０に入力されると、ねじ軸６１ａが回転し、それに伴うナット６２の移動により、長アーム６４および短アーム６５が回動軸６６を中心として回動するとともに、この短アーム６５の回動に伴って、ロッカアーム機構５１の下リンク５４が、下ピン５８を中心として回動する。すなわち、リフトアクチュエータ６０により、下リンク５４が駆動される。
【００４９】
その際、ＥＣＵ２の制御により、短アーム６５の回動範囲は、図５（ａ）に示す最大リフト位置と図５（ｂ）に示すゼロリフト位置との間に規制され、それにより、下リンク５４の回動範囲も、図４に実線で示す最大リフト位置と、図４に２点鎖線で示すゼロリフト位置との間に規制される。
【００５０】
下リンク５４が最大リフト位置にある場合、ロッカアームシャフト５６、上下のピン５５，５８および連結軸５９によって構成される四節リンクでは、上ピン５５および下ピン５８の中心間の距離が、ロッカアームシャフト５６および連結軸５９の中心間の距離よりも長くなるように構成されており、それにより、図６（ａ）に示すように、吸気カム６が回転すると、これとローラ５７との当接点の移動量よりも、アジャストボルト５２ａの移動量の方が大きくなる。
【００５１】
一方、下リンク５４がゼロリフト位置にある場合、上記四節リンクでは、上ピン５５および下ピン５８の中心間の距離が、ロッカアームシャフト５６および連結軸５９の中心間の距離よりも短くなるように構成されており、それにより、図６（ｂ）に示すように、吸気カム６が回転した際、アジャストボルト５２ａがほとんど移動しない状態となる。
【００５２】
以上の理由により、吸気カム６の回転中、吸気弁４は、下リンク５４が最大リフト位置にあるときには、図７の実線で示すバルブリフト曲線に従って開弁し、バルブリフトＬｉｆｔｉｎは、その最大値Ｌｉｆｔｉｎｍａｘを示す。一方、下リンク５４がゼロリフト位置にあるときには、図７の２点鎖線で示すように、吸気管４は閉弁状態に保持され、バルブリフトＬｉｆｔｉｎは値０に保持される。
【００５３】
したがって、この可変バルブリフト機構５０では、アクチュエータ６０を介して、下リンク５４を最大リフト位置とゼロリフト位置との間で回動させることにより、バルブリフトＬｉｆｔｉｎを、最大値Ｌｉｆｔｉｎｍａｘと値０との間で無段階に変化させることができる。
【００５４】
なお、この可変バルブリフト機構５０には、図示しないロック機構が設けられており、このロック機構により、リフト制御入力Ｕ＿Ｌｉｆｔｉｎが後述する故障時用値Ｕ＿Ｌｉｆｔｉｎ＿ｆｓに設定されているときや、断線などによりＥＣＵ２からのリフト制御入力Ｕ＿Ｌｉｆｔｉｎがリフトアクチュエータ６０に入力されないときには、可変バルブリフト機構５０の動作がロックされる。すなわち、可変バルブリフト機構５０によるバルブリフトＬｉｆｔｉｎの変更が禁止され、バルブリフトＬｉｆｔｉｎが所定のロック値に保持される。なお、この所定のロック値は、カム位相Ｃａｉｎが後述するロック値に保持されている場合において、吸入空気量として後述する所定の故障時用値Ｇｃｙｌ＿ｆｓを確保できるような値に設定されている。この所定の故障時用値Ｇｃｙｌ＿ｆｓは、停車中はアイドル運転やエンジン始動を適切に行うことができると同時に、走行中は低速走行状態を維持できるような値に設定されている。
【００５５】
また、エンジン３には、回動角センサ２５が設けられており（図２参照）、この回動角センサ２５は、回動軸６６すなわち短アーム６５の回動角を検出して、その検出信号をＥＣＵ２に出力する。ＥＣＵ２は、この回動角センサ２５の検出信号に基づき、バルブリフトＬｉｆｔｉｎを算出する。なお、本実施形態では、回動角センサ２５が参照パラメータ検出手段に相当し、バルブリフトＬｉｆｔｉｎが参照パラメータおよび動作状態パラメータに相当する。
【００５６】
次に、前述した可変カム位相機構７０について説明する。この可変カム位相機構７０は、吸気カムシャフト５のクランクシャフト３ｄに対する相対的な位相（以下「カム位相」という）Ｃａｉｎを無段階に進角側または遅角側に変更するものであり、吸気カムシャフト５の吸気スプロケット側の端部に設けられている。図８に示すように、可変カム位相機構７０は、ハウジング７１、３枚羽根式のベーン７２、油圧ポンプ７３および電磁弁機構７４などを備えている。
【００５７】
このハウジング７１は、吸気カムシャフト５上の吸気スプロケットと一体に構成されており、互いに等間隔に形成された３つの隔壁７１ａを備えている。ベーン７２は、吸気カムシャフト５の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト５から外方に放射状に延びているとともに、ハウジング７１内に回転可能に収容されている。また、ハウジング７１では、隔壁７１ａとベーン７２との間に、３つの進角室７５および３つの遅角室７６が形成されている。
【００５８】
油圧ポンプ７３は、クランクシャフト３ｄに連結された機械式のものであり、クランクシャフト３ｄが回転すると、それに伴って、エンジン３のオイルパン３ｅに蓄えられた潤滑用のオイルを、油路７７ｃを介して吸い込むとともに、これを昇圧した状態で、油路７７ｃを介して電磁弁機構７４に供給する。
【００５９】
電磁弁機構７４は、スプール弁機構７４ａおよびソレノイド７４ｂを組み合わせたものであり、進角油路７７ａおよび遅角油路７７ｂを介して、進角室７５および遅角室７６にそれぞれ接続されているとともに、油圧ポンプ７３から供給された油圧を、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔとして、進角室７５および遅角室７６にそれぞれ出力する。電磁弁機構７４のソレノイド７４ｂは、ＥＣＵ２に電気的に接続されており、ＥＣＵ２からの後述する位相制御入力Ｕ＿Ｃａｉｎが入力された際、スプール弁機構７４ａのスプール弁体を、位相制御入力Ｕ＿Ｃａｉｎに応じて所定の移動範囲内で移動させることにより、進角油圧Ｐａｄおよび遅角油圧Ｐｒｔをいずれも変化させる。
【００６０】
以上の可変カム位相機構７０では、油圧ポンプ７３の動作中、電磁弁機構７４が制御入力Ｕ＿Ｃａｉｎに応じて作動することにより、進角油圧Ｐａｄが進角室７５に、遅角油圧Ｐｒｔが遅角室７６にそれぞれ供給され、それにより、ベーン７２とハウジング７１との間の相対的な位相が進角側または遅角側に変更される。その結果、前述したカム位相Ｃａｉｎが、最遅角値Ｃａｉｎｒｔ（例えばカム角０゜に相当する値）と最進角値Ｃａｉｎａｄ（例えばカム角５５゜分に相当する値）の間で連続的に変化し、それにより、吸気弁４のバルブタイミングは、図９に実線で示す最遅角タイミングと、図９に２点鎖線で示す最進角タイミングとの間で、無段階に変更される。
【００６１】
なお、この可変カム位相機構７０には、図示しないロック機構が設けられており、このロック機構により、油圧ポンプ７３からの供給油圧が低いとき、位相制御入力Ｕ＿Ｃａｉｎが後述する故障時用値Ｕ＿Ｃａｉｎ＿ｆｓに設定されているとき、および断線などにより位相制御入力Ｕ＿Ｃａｉｎが電磁弁機構７４に入力されないときには、可変カム位相機構７０の動作がロックされる。すなわち、可変カム位相機構７０によるカム位相Ｃａｉｎの変更が禁止され、カム位相Ｃａｉｎが所定のロック値に保持される。この所定のロック値は、前述したように、バルブリフトＬｉｆｔｉｎが所定のロック値に保持されている場合において、吸入空気量として所定の故障時用値Ｇｃｙｌ＿ｆｓを確保できるような値に設定されている。
【００６２】
以上のように、本実施形態の可変式吸気動弁機構４０では、可変バルブリフト機構５０により、バルブリフトＬｉｆｔｉｎがその最大値Ｌｉｆｔｉｎｍａｘと値０の間で無段階に変更されるとともに、可変カム位相機構７０により、カム位相Ｃａｉｎすなわち吸気弁４のバルブタイミングが前述した最遅角タイミングと最進角タイミングとの間で、無段階に変更される。また、ＥＣＵ２により、後述するように、可変バルブリフト機構５０および可変カム位相機構７０を介して、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎがそれぞれ制御され、それにより、吸入空気量が制御される。
【００６３】
一方、吸気カムシャフト５の可変カム位相機構７０と反対側の端部には、カム角センサ２６（図２参照）が設けられている。このカム角センサ２６は、例えばマグネットロータおよびＭＲＥピックアップで構成されており、吸気カムシャフト５の回転に伴い、パルス信号であるＣＡＭ信号を所定のカム角（例えば１゜）毎にＥＣＵ２に出力する。ＥＣＵ２は、このＣＡＭ信号および前述したＣＲＫ信号に基づき、カム位相Ｃａｉｎを算出する。
【００６４】
さらに、図２に示すように、ＥＣＵ２には、アクセル開度センサ２７およびイグニッション・スイッチ（以下「ＩＧ・ＳＷ」という）２８が接続されている。このアクセル開度センサ２７は、車両の図示しないアクセルペダルの踏み込み量（以下「アクセル開度」という）ＡＰを表す検出信号をＥＣＵ２に出力する。また、ＩＧ・ＳＷ２８は、イグニッションキー（図示せず）操作によりＯＮ／ＯＦＦされるとともに、そのＯＮ／ＯＦＦ状態を表す信号をＥＣＵ２に出力する。
【００６５】
ＥＣＵ２は、ＣＰＵ、ＲＡＭ、ＲＯＭおよびＩ／Ｏインターフェース（いずれも図示せず）などからなるマイクロコンピュータで構成されており、前述した各種のセンサ２０〜２７の検出信号およびＩＧ・ＳＷ２８のＯＮ／ＯＦＦ信号などに応じて、エンジン３の運転状態を判別するとともに、各種の制御を実行する。具体的には、ＥＣＵ２は、後述するように、運転状態に応じて、空燃比制御および点火時期制御を実行する。これに加えて、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄを算出するとともに、可変バルブリフト機構５０および可変カム位相機構７０を介して、バルブリフトＬｉｆｔｉｎおよびカム位相Ｃａｉｎをそれぞれ制御することにより、吸入空気量を制御する。
【００６６】
なお、本実施形態では、ＥＣＵ２が、制御量検出手段、参照パラメータ検出手段、目標制御量設定手段、制御入力算出手段、誤差パラメータ算出手段、モデル修正手段および第１入力値算出手段に相当する。
【００６７】
次に、本実施形態の制御装置１について説明する。この制御装置１は、図１０に示すように、空燃比制御を実行する空燃比コントローラ１００を備えている。この空燃比コントローラ１００は、以下に述べるように、燃料噴射量ＴＯＵＴを燃料噴射弁１０毎に算出するものであり、具体的にはＥＣＵ２により構成されている。なお、本実施形態では、空燃比コントローラ１００が制御入力算出手段に相当し、燃料噴射量ＴＯＵＴが制御入力および供給燃料量に相当する。
【００６８】
空燃比コントローラ１００は、第１および第２推定吸気量算出部１０１，１０２、移行係数算出部１０３、増幅要素１０４，１０５、加算要素１０６、増幅要素１０７、目標空燃比算出部１０８、空燃比補正係数算出部１０９、総補正係数算出部１１０、乗算要素１１１、燃料付着補正部１１２、空燃比誤差推定値算出部１１３、加算要素１１４およびリフト補正値算出部１２０を備えている。
【００６９】
まず、第１推定吸気量算出部１０１では、以下に述べるように、第１推定吸気量Ｇｃｙｌ＿ｖｔが算出される。なお、本実施形態では、第１推定吸気量算出部１０１が第１入力値算出部に相当し、第１推定吸気量Ｇｃｙｌ＿ｖｔが第１入力値に相当する。
【００７０】
まず、エンジン回転数ＮＥおよび補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄに応じて、図１１に示すマップを検索することにより、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出する。この補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄは、バルブリフトＬｉｆｔｉｎを後述するリフト補正値Ｄｌｉｆｔで補正した値であり、第１推定吸気量Ｇｃｙｌ＿ｖｔの算出において、この補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄを用いる理由については後述する。なお、この第１推定吸気量算出部１０１では、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄとして、そのダウンサンプリング値が用いられる。また、図１１において、ＮＥ１〜ＮＥ３は、ＮＥ１＜ＮＥ２＜ＮＥ３の関係が成立するエンジン回転数ＮＥの所定値であり、この点は以下の説明においても同様である。
【００７１】
このマップでは、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅは、ＮＥ＝ＮＥ１またはＮＥ２の場合、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが小さい領域では、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが大きいほど、より大きい値に設定され、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが最大値Ｌｉｆｔｉｎｍａｘに近い領域では、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが大きいほど、より小さい値に設定されている。これは、低・中回転域では、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが最大値Ｌｉｆｔｉｎｍａｘに近い領域においてより大きな値になるほど、吸気弁４の開弁時間が長くなることで、吸気の吹き戻しにより充填効率が低下するためである。また、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅは、ＮＥ＝ＮＥ３の場合、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが大きいほど、より大きい値に設定されている。これは、高回転域では、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが大きい領域でも、吸気の慣性力により上記吸気の吹き戻しが発生しにくくなるため、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが大きいほど、充填効率がより高くなることによる。
【００７２】
さらに、エンジン回転数ＮＥおよびカム位相Ｃａｉｎに応じて、図１２に示すマップを検索することにより、補正係数Ｋ＿ｇｃｙｌ＿ｖｔを算出する。このマップでは、補正係数Ｋ＿ｇｃｙｌ＿ｖｔは、ＮＥ＝ＮＥ１またはＮＥ２の場合、カム位相Ｃａｉｎが最遅角値Ｃａｉｎｒｔに近い領域では、最遅角値Ｃａｉｎｒｔに近いほど、より小さい値に設定され、それ以外の領域では、カム位相Ｃａｉｎが最進角値Ｃａｉｎａｄ側の値であるほど、より小さな値に設定されている。これは、低・中回転域では、カム位相Ｃａｉｎが最遅角値Ｃａｉｎｒｔに近い領域において、最遅角値Ｃａｉｎｒｔに近いほど、吸気弁４の閉弁タイミングが遅くなることで、吸気の吹き戻しにより充填効率が低下するためであり、それ以外の領域では、カム位相Ｃａｉｎが最進角値Ｃａｉｎａｄに近いほど、バルブオーバーラップの増大に伴う内部ＥＧＲ量の増大により、充填効率が低下するためである。また、ＮＥ＝ＮＥ３の場合、補正係数Ｋ＿ｇｃｙｌ＿ｖｔは、カム位相Ｃａｉｎが最遅角値Ｃａｉｎｒｔに近い領域では、一定値（値１）に設定され、それ以外の領域では、カム位相Ｃａｉｎが最進角値Ｃａｉｎａｄ側の値であるほど、より小さな値に設定されている。これは、高回転域では、カム位相Ｃａｉｎが最進角値Ｃａｉｎａｄに近い領域でも、前述した吸気の慣性力により、吸気の吹き戻しが発生しにくくなることによる。
【００７３】
そして、以上のように算出した基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅおよび補正係数Ｋ＿ｇｃｙｌ＿ｖｔを用い、下式（１）により、第１推定吸気量Ｇｃｙｌ＿ｖｔが算出される。
【数１】
2008102791.tif 000003
【００７４】
上記式（１）における記号（ｎ）付きの各離散データは、ＴＤＣ信号の発生に同期する制御周期ΔＴｎでサンプリングまたは算出されたデータであることを示しており、記号ｎは各離散データのサンプリングまたは算出サイクルの順番を表している。例えば、記号ｎは今回の制御タイミングでサンプリングされた値であることを、記号ｎ−１は前回の制御タイミングでサンプリングされた値であることをそれぞれ示している。なお、以下の説明では、各離散データにおける記号（ｎ）などを適宜、省略する。
【００７５】
ここで、第１推定吸気量算出部１０１における第１推定吸気量Ｇｃｙｌ＿ｖｔの算出は、以上の算出手法に限らず、エンジン回転数ＮＥ、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄおよびカム位相Ｃａｉｎに応じて、第１推定吸気量Ｇｃｙｌ＿ｖｔを算出するものであればよい。例えば、第１推定吸気量Ｇｃｙｌ＿ｖｔと、エンジン回転数ＮＥ、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄおよびカム位相Ｃａｉｎとの関係を予め設定した４次元マップを用いて、第１推定吸気量Ｇｃｙｌ＿ｖｔを算出してもよい。また、エンジン回転数ＮＥ、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄおよびカム位相Ｃａｉｎを入力とし、第１推定吸気量Ｇｃｙｌ＿ｖｔを出力とするニューラルネットワークモデルを用いて、第１推定吸気量Ｇｃｙｌ＿ｖｔを算出してもよい。
【００７６】
また、移行係数算出部１０３では、移行係数Ｋｇが以下のように算出される。まず、第１推定吸気量算出部１０１で算出された第１推定吸気量Ｇｃｙｌ＿ｖｔ、およびエンジン回転数ＮＥを用い、下式（２）により、推定流量Ｇｉｎ＿ｖｔ（単位：ｇ／ｓｅｃ）を算出する。
【数２】
2008102791.tif 000004
【００７７】
次いで、この推定流量Ｇｉｎ＿ｖｔに応じて、図１３に示すマップを検索することにより、移行係数Ｋｇを算出する。同図において、Ｇｉｎ１，２は、Ｇｉｎ１＜Ｇｉｎ２の関係が成立する所定値である。この所定値Ｇｉｎ１は、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では、吸気通路１２ａ内の空気流量が小さいことにより、エアフローセンサ２２の分解能に起因して、第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性が後述する第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性を上回るような値に設定されている。また、所定値Ｇｉｎ２は、Ｇｉｎ２≦Ｇｉｎ＿ｖｔの範囲では、吸気通路１２ａ内の空気流量が大きいことにより、第２推定吸気量Ｇｃｙｌ＿ａｆｍの信頼性が第１推定吸気量Ｇｃｙｌ＿ｖｔの信頼性を上回るような値に設定されている。さらに、このマップでは、移行係数Ｋｇは、Ｇｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では値０に、Ｇｉｎ２≦Ｇｉｎ＿ｖｔの範囲では値１に設定されているとともに、Ｇｉｎ１＜Ｇｉｎ＿ｖｔ＜Ｇｉｎ２の範囲では、値０と値１の間で、かつ推定流量Ｇｉｎ＿ｖｔが大きいほど、より大きな値に設定されている。
【００７８】
一方、第２推定吸気量算出部１０２では、空気流量Ｇｉｎおよびエンジン回転数ＮＥに基づき、下式（３）により、第２推定吸気量Ｇｃｙｌ＿ａｆｍ（単位：ｇ）が算出される。
【数３】
2008102791.tif 000005
【００７９】
増幅要素１０４，１０５では、以上のように算出された第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍをそれぞれ（１−Ｋｇ），Ｋｇ倍に増幅した値が算出される。そして、加算要素１０６では、そのように増幅された値に基づき、下式（４）の加重平均演算により、算出吸気量Ｇｃｙｌが算出される。
【数４】
2008102791.tif 000006
【００８０】
この式（４）を参照すると明らかなように、Ｋｇ＝０のとき、すなわち前述したＧｉｎ＿ｖｔ≦Ｇｉｎ１の範囲では、Ｇｃｙｌ＝Ｇｃｙｌ＿ｖｔとなり、Ｋｇ＝１のとき、すなわちＧｉｎ２≦Ｇｉｎ＿ｖｔの範囲では、Ｇｃｙｌ＝Ｇｃｙｌ＿ａｆｍとなるとともに、０＜Ｋｇ＜１のとき、すなわちＧｉｎ１＜Ｇｉｎ＿ｖｔ＜Ｇｉｎ２の範囲では、算出吸気量Ｇｃｙｌにおける第１および第２推定吸気量Ｇｃｙｌ＿ｖｔ，Ｇｃｙｌ＿ａｆｍの寄与度（重み度合）は、移行係数Ｋｇの値によって決定される。
【００８１】
さらに、増幅要素１０７では、算出吸気量Ｇｃｙｌに基づき、下式（５）により、基本燃料噴射量Ｔｃｙｌ＿ｂｓが算出される。なお、下式（５）のＫｇｔは、燃料噴射弁１０毎に予め設定される換算係数である。
【数５】
2008102791.tif 000007
【００８２】
また、目標空燃比算出部１０８では、算出吸気量Ｇｃｙｌおよびアクセル開度ＡＰに応じて、図１４に示すマップを検索することにより、目標空燃比ＫＣＭＤが算出される。このマップでは、目標空燃比ＫＣＭＤの値は、当量比として設定されているとともに、基本的には、触媒装置１４の排ガス浄化性能を良好な状態に保持するために、理論空燃比に相当する値（値１．０）に設定されている。なお、本実施形態では、目標空燃比算出部１０８が目標制御量設定手段に相当し、目標空燃比ＫＣＭＤが目標制御量に相当する。
【００８３】
さらに、空燃比補正係数算出部１０９では、下式（６）〜（１０）に示すスライディングモード制御アルゴリズムにより、空燃比補正係数ＫＡＦが算出される。なお、下式（６）〜（１０）における記号（ｍ）付きの各離散データは、１燃焼サイクル毎すなわちＴＤＣ信号が連続して４回発生する毎にサンプリングまたは算出されたデータであることを示しており、記号ｍは各離散データのサンプリングサイクルの順番を表している。
【００８４】
【数６】
2008102791.tif 000008
【００８５】
上記式（６）に示すように、空燃比補正係数ＫＡＦは、到達則入力Ｕｒｃｈ’と適応則入力Ｕａｄｐ’の和として算出され、この到達則入力Ｕｒｃｈ’は、式（７）により算出される。同式（７）において、Ｋｒｃｈ’は、所定の到達則ゲインを表しており、σ’は、式（９）のように定義される切換関数である。同式（９）において、Ｓ’は、−１＜Ｓ’＜０の関係が成立するように設定される切換関数設定パラメータであり、ｅは、式（１０）のように定義される追従誤差である。この場合、切換関数設定パラメータＳ’の設定値により、追従誤差ｅの値０への収束速度が指定される。
【００８６】
また、適応則入力Ｕａｄｐ’は、式（８）により算出され、同式（８）において、Ｋａｄｐ’は、所定の適応則ゲインを表している。なお、この適応則入力Ｕａｄｐ’の初期値は、値１に設定される。
【００８７】
以上のように、空燃比補正係数算出部１０９では、式（６）〜（１０）に示すスライディングモード制御アルゴリズムにより、検出空燃比ＫＡＣＴを目標空燃比ＫＣＭＤに収束させるための値として、空燃比補正係数ＫＡＦが算出される。なお、本実施形態では、空燃比補正係数ＫＡＦが第２入力値に相当する。
【００８８】
一方、総補正係数算出部１１０では、エンジン水温ＴＷおよび吸気温ＴＡなどの運転状態を表す各種のパラメータに応じて、図示しないマップを検索することにより、各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数ＫＴＯＴＡＬが算出される。
【００８９】
また、乗算要素１１１では、下式（１１）により、要求燃料噴射量Ｔｃｙｌが算出される。
【数７】
2008102791.tif 000009
【００９０】
さらに、燃料付着補正部１１２では、以上のように算出された要求燃料噴射量Ｔｃｙｌに、所定の燃料付着補正処理を施すことにより、燃料噴射量ＴＯＵＴが算出される。そして、この燃料噴射量ＴＯＵＴに基づいて、燃料噴射弁１０の燃料噴射タイミングおよび開弁時間が決定され、燃料噴射弁１０が制御される。
【００９１】
次に、前述した空燃比誤差推定値算出部１１３について説明する。この空燃比誤差推定値算出部１１３では、以下に述べるように、空燃比誤差推定値Ｅａｆが算出される。なお、本実施形態では、空燃比誤差推定値算出部１１３が誤差パラメータ算出手段に相当し、空燃比誤差推定値Ｅａｆが、誤差パラメータと、誤差パラメータおよび所定の目標値の一方と他方との偏差とに相当し、値０が所定の目標値に相当する。
【００９２】
まず、空燃比補正係数ＫＡＦおよび検出空燃比ＫＡＣＴに基づき、下式（１２）により、実空燃比推定値ＫＡＣＴ＿ｈａｔを算出し、その後、下式（１３）により、空燃比誤差推定値Ｅａｆが算出される。
【００９３】
【数８】
2008102791.tif 000010
【００９４】
ここで、上式（１２），（１３）における記号（ｋ）付きの各離散データは、所定の制御周期ΔＴｋ（本実施形態では５ｍｓｅｃ）に同期してサンプリングまたは算出されたデータであることを示しており、記号ｋは各離散データのサンプリングまたは算出サイクルの順番を表している。なお、以下の説明では、各離散データにおける記号（ｋ）を適宜省略する。また、上式（１２），（１３）におけるｄは、燃焼ガスが燃焼室からＬＡＦセンサ２４に到達するまでのむだ時間を表している。
【００９５】
上式（１２）に示すように、実空燃比推定値ＫＡＣＴ＿ｈａｔは、今回の制御タイミングで得られた検出空燃比ＫＡＣＴ（ｋ）をむだ時間ｄ前の制御タイミングで算出された空燃比補正係数ＫＡＦ（ｋ−ｄ）で除算することにより、この値ＫＡＦ（ｋ−ｄ）の影響を受けない値として算出される。すなわち、実空燃比推定値ＫＡＣＴ＿ｈａｔは、むだ時間ｄ前の制御タイミングで空燃比フィードバック制御を実行しなかったと想定した場合の、今回の制御タイミングにおける実際の空燃比の推定値として算出される。
【００９６】
したがって、空燃比誤差推定値Ｅａｆは、そのような実空燃比推定値ＫＡＣＴ＿ｈａｔ（ｋ）と、むだ時間ｄ前の制御タイミングでの目標空燃比ＫＣＭＤ（ｋ−ｄ）との偏差として算出されるので、むだ時間ｄ前の制御タイミングで空燃比フィードバック制御を実行しなかったと想定した場合の、今回の制御タイミングにおける空燃比の制御誤差に相当する。
【００９７】
次に、前述したリフト補正値算出部１２０について説明する。このリフト補正値算出部１２０では、以下に述べる手法により、リフト補正値Ｄｌｉｆｔが算出される。なお、本実施形態では、リフト補正値算出部１２０がモデル修正手段に相当する。本実施形態の制御装置１では、前述したように、リフト補正値ＤｌｉｆｔでバルブリフトＬｉｆｔｉｎを補正した補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄと、図１１のマップを用いて、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅが算出されており、以下、このような補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄを用いる理由について説明する。
【００９８】
本実施形態の制御装置１のように、可変バルブリフト機構５０を介して吸入空気量を制御する場合、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅ（すなわち吸入空気量）とバルブリフトＬｉｆｔｉｎとエンジン回転数ＮＥとの相関関係は、基本的には図１５に示すマップのようになる。しかし、このようなマップを用いて、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出した場合、マップが実際の相関関係に対してずれを生じることで、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの算出値が、実際の値に対して誤差を生じる可能性がある。
【００９９】
すなわち、衝撃などにより回動角センサ２５の取付状態が変化したり、温度変化に伴って回動角センサ２５の特性が変化したりすると、バルブリフトの算出値Ｌｉｆｔｉｎがその実際値に対してずれてしまうことがあり、その場合には、上述した基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの算出誤差を生じてしまう。また、可変バルブリフト機構５０の構成部品の摩耗、汚れの付着および経年変化による遊びなどに起因して、可変バルブリフト機構５０の動特性（すなわちリフト制御入力Ｕ＿ｌｉｆｔｉｎに対するバルブリフトＬｉｆｔｉｎの関係）が変化した場合にも、上述した基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの算出誤差が発生する。以下の説明では、バルブリフトＬｉｆｔｉｎと基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅとの関係が、実際の関係に対してずれた状態にあることを「リフト誤差」という。
【０１００】
例えば、上述したリフト誤差の発生状態としては、図１６および図１７に示すものが考えられる。両図は、エンジン回転数ＮＥがＮＥ＝ＮＥ１の場合の例であり、図１６は、バルブリフトの算出値Ｌｉｆｔｉｎがその実際値に対してオフセット（ゼロ点ずれ）を生じていることで、上述したリフト誤差が発生している状態を示している。また、図１７は、バルブリフトの算出値Ｌｉｆｔｉｎはその実際値に対して誤差を生じていないものの、上述した可変バルブリフト機構５０の動特性の変化に起因して、リフト誤差が発生している状態を示している。両図では、実線で示す曲線が、バルブリフトＬｉｆｔｉｎと基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの関係においてリフト誤差がない状態を表しており、破線で示す曲線が、リフト誤差がある状態を表している。
【０１０１】
両図１６，１７を参照すると明らかなように、リフト誤差は、バルブリフトＬｉｆｔｉｎが小リフト域の所定値Ｌｉｆｔｉｎ＿ａのときの方が大リフト域の所定値Ｌｉｆｔｉｎ＿ｂ（＞Ｌｉｆｔｉｎ＿ａ）のときよりも大きくなっている。すなわち、リフト誤差は、上述したバルブリフトＬｉｆｔｉｎのオフセットに起因する場合でも、可変バルブリフト機構５０の動特性の変化に起因する場合でも、小リフト域の方が大リフト域よりも大きくなることが判る。
【０１０２】
また、図１８を参照すると明らかなように、バルブリフトＬｉｆｔｉｎの変化量ΔＬｉｆｔｉｎに対する基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの変化量ΔＧｃｙｌは、小リフト域の値ΔＧｃｙｌ＿ａの方が、大リフト域の値ΔＧｃｙｌ＿ｂよりも大きくなるので、２つの変化量の比ΔＧｃｙｌ／ΔＬｉｆｔｉｎは、（ΔＧｃｙｌ＿ａ／ΔＬｉｆｔｉｎ）≫（ΔＧｃｙｌ＿ｂ／ΔＬｉｆｔｉｎ）の関係が成立する。
【０１０３】
ここで、前述した空燃比誤差推定値Ｅａｆが、リフト誤差に起因して発生していると想定した場合、そのリフト誤差が空燃比誤差推定値Ｅａｆに及ぼす影響度合すなわち感度の大小は、上記比ΔＧｃｙｌ／ΔＬｉｆｔｉｎの大小関係と同じであると見なすことができる。言い換えれば、空燃比誤差推定値Ｅａｆが発生した場合、比ΔＧｃｙｌ／ΔＬｉｆｔｉｎが大きいほど、空燃比誤差推定値Ｅａｆがリフト誤差に起因して発生した確率がより高いと見なすことができる。これに加えて、比ΔＧｃｙｌ／ΔＬｉｆｔｉｎの値は、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥに応じて変化する（前述した図１１参照）とともに、カム位相Ｃａｉｎに応じても変化するので、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度も、３つの値Ｌｉｆｔｉｎ，ＮＥ，Ｃａｉｎに応じて変化することになる。
【０１０４】
したがって、本実施形態のリフト補正値算出部１２０では、以下に述べる算出手法により、バルブリフトＬｉｆｔｉｎを補正するためのリフト補正値Ｄｌｉｆｔが、上述した空燃比誤差推定値Ｅａｆに対するリフト誤差の感度を適切に反映し、かつエンジン回転数ＮＥに応じたリフト誤差の感度変化を適切に反映する値として算出される。
【０１０５】
このリフト補正値算出部１２０は、図１９に示すように、連結重み関数算出部１２１、誤差重み算出部１２２、移行係数重み算出部１２３、修正誤差算出部１２４、基本局所補正値算出部１２５、補正感度算出部１２６および最終値算出部１２７を備えている。
【０１０６】
まず、連結重み関数算出部１２１では、エンジン回転数ＮＥに応じて、連結重み関数Ｗｃｐiが算出される。なお、本実施形態では、連結重み関数Ｗｃｐiが所定の複数の関数に相当する。ここで、連結重み関数Ｗｃｐiの添字ｉ（ｉ＝１〜ｒ）は、以下に述べるエンジン回転数ＮＥのｒ（ｒは２以上の整数）個の領域を表しており、本実施形態ではｒ＝４に設定されている。すなわち、連結重み関数Ｗｃｐiは、４個の値を要素とするベクトルとして算出され、より具体的には、エンジン回転数ＮＥに応じて、図２０に示すマップを検索することにより算出される。同図において、ＮＥｘ１〜８は、エンジン回転数ＮＥの所定値であり、ＮＥｘ１＜ＮＥｘ２＜ＮＥｘ３＜ＮＥｘ４＜ＮＥｘ５＜ＮＥｘ６＜ＮＥｘ７＜ＮＥｘ８の関係が成立するように設定されている。これらの点は以下の説明においても同様である。
【０１０７】
同図に示すように、４つの連結重み関数Ｗｃｐiはそれぞれ、エンジン回転数ＮＥが変化し得る領域を０≦ＮＥ＜ＮＥｘ３，ＮＥｘ１＜ＮＥ＜ＮＥｘ５，ＮＥｘ３＜ＮＥ＜ＮＥｘ７，ＮＥｘ５＜ＮＥ≦ＮＥｘ８の４つの領域に区分した場合において、これらの４つの領域に対応するように設定されているとともに、対応する領域では、値１以下の正の値に設定され、対応する領域以外では、値０に設定されている。
【０１０８】
具体的には、連結重み関数Ｗｃｐ1は、これが対応する領域（０≦ＮＥ＜ＮＥｘ３）では、ＮＥ≦ＮＥｘ１のときの値１を最大値として、エンジン回転数ＮＥが高いほど、より小さい正の値に設定されているとともに、それ以外の領域では、値０に設定されている。また、連結重み関数Ｗｃｐ2は、これが対応する領域（ＮＥｘ１＜ＮＥ＜ＮＥｘ５）では、ＮＥ＝ＮＥｘ３のときの値１を最大値として、二等辺三角形の斜辺状に変化する値に設定されているとともに、それ以外の領域では、値０に設定されている。
【０１０９】
さらに、連結重み関数Ｗｃｐ3は、これが対応する領域（ＮＥｘ３＜ＮＥ＜ＮＥｘ７）では、ＮＥ＝ＮＥｘ５のときの値１を最大値として、二等辺三角形の斜辺状に変化する値に設定されているとともに、それ以外の領域では、値０に設定されている。一方、連結重み関数Ｗｃｐ4は、これが対応する領域（ＮＥｘ５＜ＮＥ≦ＮＥｘ８）では、ＮＥｘ７≦ＮＥのときの値１を最大値として、エンジン回転数ＮＥが高いほど、より大きい正の値に設定されているとともに、それ以外の領域では、値０に設定されている。
【０１１０】
以上に加えて、４つの連結重み関数Ｗｃｐiがそれぞれ対応する４つの領域は、上述したような、隣り合う領域が互いに重なり合うような領域に設定されており、これらの互いに重なり合う領域に対応する連結重み関数Ｗｃｐiの値の和は、各連結重み関数Ｗｃｐiにおける最大値１と等しくなるように設定されている。例えば、ＮＥ＝ＮＥｘ２の場合、この値ＮＥｘ２に対応する２つの連結重み関数Ｗｃｐ1，Ｗｃｐ2の値はそれぞれ０．５に設定されており、これらの連結重み関数の和Ｗｃｐ1＋Ｗｃｐ2は、連結重み関数Ｗｃｐiの各々の最大値に等しい値１となる。さらに、ＮＥ＝ＮＥｘ６の場合にも、所定値ＮＥｘ２に対応する２つの連結重み関数Ｗｃｐ3，Ｗｃｐ4の和Ｗｃｐ3＋Ｗｃｐ4は、連結重み関数Ｗｃｐiの各々の最大値に等しい値１となる。
【０１１１】
なお、連結重み関数Ｗｃｐiとして、図２０に示す４個の値を要素とするものに代えて、２個または３個の値や、５個以上の値を要素とする連結重み関数Ｗｃｐiを用いてもよい。その場合には、エンジン回転数ＮＥの領域を、要素の数に応じて、互いに重なり合うように設定すればよい。
【０１１２】
また、誤差重み算出部１２２では、以下に述べる手法により、誤差重みＷが算出される。まず、下式（１４）により、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐを算出する。
【数９】
2008102791.tif 000011
【０１１３】
上式（１４）に示すように、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐは、バルブリフトの今回値Ｌｉｆｔｉｎ（ｋ）とリフト補正値の前回値Ｄｌｉｆｔ（ｋ−１）の和として算出される。これは、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐの算出時点では、リフト補正値の今回値Ｄｌｉｆｔ（ｋ）が未算出であることによる。
【０１１４】
次いで、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐおよびエンジン回転数ＮＥに応じて、図２１に示すマップを検索することにより、基本誤差重みＷ＿ｂａｓｅを算出する。この基本誤差重みＷ＿ｂａｓｅは、上記比ΔＧｃｙｌ／ΔＬｉｆｔｉｎを、所定の微小リフト＆所定の低回転数での上記比ΔＧｃｙｌ＿ｘ／ΔＬｉｆｔｉｎ＿ｘの絶対値｜ΔＧｃｙｌ＿ｘ／ΔＬｉｆｔｉｎ＿ｘ｜を基準として正規化した値、すなわち、Ｗ＿ｂａｓｅ＝（ΔＧｃｙｌ／ΔＬｉｆｔｉｎ）÷（｜ΔＧｃｙｌ＿ｘ／ΔＬｉｆｔｉｎ＿ｘ｜）が成立する値を表している。図中に破線で示すように、ΔＧｃｙｌ／ΔＬｉｆｔｉｎ＜０となる条件では、後述する理由によりＷ＿ｂａｓｅ＝０に設定されている。
【０１１５】
このマップでは、基本誤差重みＷ＿ｂａｓｅは、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐが小さいほど、より大きい値に設定されている。これは、前述したリフト誤差感度すなわち比ΔＧｃｙｌ／ΔＬｉｆｔｉｎが、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐが小さいほど、より大きい値を示すことによる。さらに、基本誤差重みＷ＿ｂａｓｅは、小リフト域では、エンジン回転数ＮＥが高いほど、より小さな値に設定され、それ以外のリフト域では、エンジン回転数ＮＥが高いほど、より大きな値に設定されている。これは、前述した図１１の説明で述べた理由（充填効率および吹き戻しの変化）による。
【０１１６】
また、カム位相Ｃａｉｎおよびエンジン回転数ＮＥに応じて、図２２に示すマップを検索することにより、誤差重み補正係数Ｋ＿ｗを算出する。この誤差重み補正係数Ｋ＿ｗは、上記比ΔＧｃｙｌ／ΔＬｉｆｔｉｎを、エンジン回転数ＮＥの各所定値ＮＥ１〜ＮＥ３において、カム位相Ｃａｉｎが最遅角のときの比ΔＧｃｙｌ＿ｒｔ／ΔＬｉｆｔｉｎ＿ｒｔの絶対値｜ΔＧｃｙｌ＿ｒｔ／ΔＬｉｆｔｉｎ＿ｒｔ｜を基準として正規化した値、すなわち、Ｗ＿ｂａｓｅ＝（ΔＧｃｙｌ／ΔＬｉｆｔｉｎ）÷（｜ΔＧｃｙｌ＿ｒｔ／ΔＬｉｆｔｉｎ＿ｒｔ｜）が成立する値を表している。
【０１１７】
このマップでは、誤差重み補正係数Ｋ＿ｗは、エンジン回転数ＮＥおよびカム位相Ｃａｉｎに対して、前述した図１２の補正係数Ｋ＿ｇｃｙｌ＿ｖｔと同じ傾向に設定されている。これは、前述した図１２の説明で述べた理由（充填効率および吹き戻しの変化）による。
【０１１８】
そして、最終的に、誤差重みＷは下式（１５）により算出される。
【数１０】
2008102791.tif 000012
【０１１９】
以上のように、誤差重みＷは、基本誤差重みＷ＿ｂａｓｅに誤差重み補正係数Ｋ＿ｗを乗算することにより算出されるので、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度を表す値として算出される。より具体的には、誤差重みＷは、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度すなわち比ΔＧｃｙｌ／ΔＬｉｆｔｉｎが大きいほど、言い換えれば、空燃比誤差推定値Ｅａｆがリフト誤差に起因して発生した確率が高いほど、より大きい値として算出される。また、これらの２つの値Ｗ＿ｂａｓｅ，Ｋ＿ｗは、３つのパラメータＬｉｆｔｉｎ＿ｍｏｄ＿ｐ，ＮＥ，Ｃａｉｎに応じて、図２１，２２の２つのマップを検索することにより算出されるとともに、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐは、バルブリフトＬｉｆｔｉｎにリフト補正値の前回値Ｄｌｉｆｔ（ｋ−１）を加算した値であるので、これらの２つのマップは、３つの値Ｌｉｆｔｉｎ，ＮＥ，Ｃａｉｎと誤差重みＷとの間の相関関係を表す応答曲面モデルを構成していると見なすことができる。
【０１２０】
このように、誤差重みＷが３つの値Ｌｉｆｔｉｎ，ＮＥ，Ｃａｉｎに応じて算出されるのは、リフト誤差の感度は、バルブリフトＬｉｆｔｉｎだけでなく、エンジン回転数ＮＥおよびカム位相Ｃａｉｎの値によっても変化するためである。その結果、誤差重みＷは、空燃比誤差推定値Ｅａｆに対する３つの値Ｌｉｆｔｉｎ，ＮＥ，Ｃａｉｎの影響度合を表す値として算出される。
【０１２１】
なお、基本誤差重みＷ＿ｂａｓｅの算出用マップとして、図２１に示すものに代えて、基本誤差重みＷ＿ｂａｓｅがバルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥに応じて設定されているもの、すなわち図２１の横軸の第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐをバルブリフトＬｉｆｔｉｎに置き換えたものを用いてもよい。
【０１２２】
また、移行係数重み算出部１２３では、下式（１６）により、移行係数重みＷｋｇが算出される。
【数１１】
2008102791.tif 000013
【０１２３】
上式（１６）において、むだ時間ｄ前の移行係数Ｋｇ（ｋ−ｄ）を用いたのは、以下の理由による。すなわち、前述した式（４）を参照すると明らかなように、移行係数Ｋｇが変化すると、算出吸気量Ｇｃｙｌにおける第１推定吸気量Ｇｃｙｌ＿ｖｔと第２推定吸気量Ｇｃｙｌ＿ａｆｍの寄与度も変化するので、リフト誤差感度も変化することになる。この場合、今回の制御タイミングで算出された空燃比誤差推定値Ｅａｆは、むだ時間ｄ前の制御タイミングでの算出吸気量Ｇｃｙｌ（ｋ−ｄ）およびこれに基づいて算出された燃料噴射量ＴＯＵＴに起因するものとなるので、今回の制御タイミングでのリフト誤差感度の変化は、むだ時間ｄ前の移行係数Ｋｇ（ｋ−ｄ）の変化に起因するものと想定される。したがって、そのようなリフト誤差感度を補償するために、移行係数重みＷｋｇの算出において、むだ時間ｄ前の移行係数Ｋｇ（ｋ−ｄ）が用いられる。
【０１２４】
次に、修正誤差算出部１２４では、下式（１７）により、総重みＷｇiを算出し、これと空燃比誤差推定値Ｅａｆを用いて、下式（１８）により、修正誤差Ｗｅａｆiが算出される。
【数１２】
2008102791.tif 000014
【０１２５】
このように、修正誤差Ｗｅａｆiは、４つの値を要素とするベクトルとして算出される。また、修正誤差Ｗｅａｆiは、３つの値Ｗｋｇ，Ｗ，Ｗｃｐiを空燃比誤差推定値Ｅａｆに乗算することにより算出されるので、これらの３つの値によって重み付けされた値として算出される。なお、本実施形態では、修正誤差Ｗｅａｆiは、複数の第１乗算値に相当する。
【０１２６】
また、基本局所補正値算出部１２５では、下式（１９）〜（２６）に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓiが算出される。このように、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、修正誤差Ｗｅａｆiを値０に収束させるための、４つの値を要素とするベクトルとして算出される。言い換えれば、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、空燃比誤差推定値Ｅａｆと所定の目標値としての値０との偏差（すなわち、空燃比誤差推定値Ｅａｆ）を値０に収束させるように算出される。
【０１２７】
【数１３】
2008102791.tif 000015
【０１２８】
【数１４】
2008102791.tif 000016
【０１２９】
上式（１９）において、σiは切換関数であり、Ｓは−１＜Ｓ＜０の関係が成立するように設定される切換関数設定パラメータである。この場合、切換関数設定パラメータＳの設定値により、修正誤差Ｗｅａｆiの値０への収束速度が指定される。また、式（２０）において、Ｕｒｃｈiは到達則入力であり、Ｋｒｃｈは所定の到達則ゲインを表している。さらに、式（２１）において、Ｕｎｌiは非線形入力であり、Ｋｎｌは所定の非線形入力用ゲインを表している。また、式（２１）におけるｓｇｎ（σi(ｋ)）は符号関数であり、その値は、σi(ｋ)≧０のときにはｓｇｎ（σi(ｋ)）＝１となり、σi(ｋ)＜０のときにはｓｇｎ（σi(ｋ)）＝−１となるように設定される（なお、σi(ｋ)＝０のときに、ｓｇｎ（σi(ｋ)）＝０となるように設定してもよい）。
【０１３０】
さらに、式（２２）において、Ｕａｄｐiは適応則入力であり、Ｋａｄｐは所定の適応則ゲインを表している。また、式（２２）のδiは、式（２３）により算出される切換関数の積分値である。同式（２３）のλは忘却係数であり、その値は式（２４），（２５）に示すように、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓi（ｋ−１）と所定の上下限値Ｄｌｉｆｔ＿ｂｓ＿Ｈ，Ｄｌｉｆｔ＿ｂｓ＿Ｌとの比較結果により、値１または所定値λｌｍｔに設定される。この上限値Ｄｌｉｆｔ＿ｂｓ＿Ｈは正の所定値に設定され、下限値Ｄｌｉｆｔ＿ｂｓ＿Ｌは負の所定値に設定されるとともに、所定値λｌｍｔは、０＜λｌｍｔ＜１が成立するような値に設定される。
【０１３１】
また、式（２６）に示すように、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、到達則入力Ｕｒｃｈi、非線形入力Ｕｎｌiおよび適応則入力Ｕａｄｐiの和として算出される。なお、本実施形態では、基本局所補正値Ｄｌｉｆｔ＿ｂｓiが複数の修正値に相当する。
【０１３２】
以上のように、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、３つの値Ｗｋｇ，Ｗ，Ｗｃｐiによって重み付けされた修正誤差Ｗｅａｆiが値０になるように算出される。この場合、２つの値Ｗｋｇ，Ｗが空燃比誤差推定値Ｅａｆへの乗算値として用いられることにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、空燃比誤差推定値Ｅａｆに対する第１推定吸気量Ｇｃｙｌ＿ｖｔの寄与度の影響と、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度が、反映された値として算出される。
【０１３３】
また、連結重み関数Ｗｃｐiが空燃比誤差推定値Ｅａｆへの乗算値として用いられることにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、空燃比誤差推定値Ｅａｆを前述した４つのエンジン回転数域に分配するように算出され、それにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓiでは、今回の制御タイミングでのエンジン回転数ＮＥに対応する１つまたは２つの値が、空燃比誤差推定値Ｅａｆを適切に補償できるように算出される。
【０１３４】
例えば、今回の制御タイミングで、ＮＥ＝ＮＥｘ３の場合、Ｗｃｐ2＝１となり、それ以外の３つの連結重み関数Ｗｃｐiはいずれも値０となることで、ＮＥ＝ＮＥｘ３に対応する基本局所補正値Ｄｌｉｆｔ＿ｂｓ2のみが、空燃比誤差推定値Ｅａｆを適切に補償できるように算出される。また、ＮＥ＝ＮＥｘ２の場合、Ｗｃｐ1＝Ｗｃｐ2＝０．５，Ｗｃｐ3＝Ｗｃｐ4＝０となることで、２つの基本局所補正値Ｄｌｉｆｔ＿ｂｓ1，Ｄｌｉｆｔ＿ｂｓ2が、空燃比誤差推定値Ｅａｆを適切に補償できるように算出される。
【０１３５】
また、以上の基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズムにおいて、忘却係数λを用いたのは以下の理由による。すなわち、式（６）〜（１０）のスライディングモード制御アルゴリズムにより、検出空燃比ＫＡＣＴを目標空燃比ＫＣＭＤに収束させるように、空燃比補正係数ＫＡＦが算出されるとともに、その空燃比補正係数ＫＡＦに基づいて算出した修正誤差Ｗｅａｆiが値０に収束するように、式（１９）〜（２６）のスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓiが算出される。そのため、忘却係数λを用いなかった場合、これらの２つの制御アルゴリズムにおける積分項としての適応則入力Ｕａｄｐ’，Ｕａｄｐiが、互いに干渉して振動的な挙動を示したり、それぞれの絶対値が肥大化したりすることによって、相関関係モデルが不適切に修正される可能性があり、その場合には、基本局所補正値Ｄｌｉｆｔ＿ｂｓiすなわち第１推定吸気量Ｇｃｙｌ＿ｖｔの算出精度が低下し、過渡時の制御性が低下してしまう。
【０１３６】
これに対して、前述した式（２３）では、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓi（ｋ−１）の絶対値が大きい場合には、適応則入力Ｕａｄｐiにおける切換関数の積分値δiの増大を回避するために、０＜λ＜１の範囲内の値に設定された忘却係数λが、切換関数の積分値の前回値δi（ｋ−１）に乗算されている。この場合、前述した式（２３）を漸化式により展開すると、ｈ（ｈは２以上の自然数）回前の制御タイミングでの切換関数の積分値δi（ｋ−ｈ）に対しては、λh（≒０）が乗算されることになるので、演算処理が進行したときでも、切換関数の積分値δiの増大すなわち適応則入力Ｕａｄｐiの増大を回避することができる。その結果、第１推定吸気量Ｇｃｙｌ＿ｖｔの算出精度を向上させることができ、過渡時の制御性を向上させることができる。
【０１３７】
また、忘却係数λを常に０＜λ＜１の範囲内の値に設定した場合、修正誤差Ｗｅａｆiが値０近傍になったときに、忘却係数λによる忘却効果により、基本局所補正値Ｄｌｉｆｔ＿ｂｓiが値０近傍に収束してしまうので、そのような状態で制御誤差が再度発生すると、その制御誤差を解消するのに時間を要してしまう。したがって、それを回避し、制御誤差を迅速に解消するためには、修正誤差Ｗｅａｆiが比較的小さい値のときでも、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを、修正誤差Ｗｅａｆiを補償可能な値に適切に保持しておく必要があるので、本実施形態では、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓi（ｋ−１）が上述した範囲にあるときには、忘却係数λによる忘却効果をキャンセルするために、λ＝１に設定されている。なお、忘却係数λによる忘却効果が常に不要な場合には、式（２３）において、前回値Ｄｌｉｆｔ＿ｂｓi（ｋ−１）の大小にかかわらず、λ＝１と設定すればよい。
【０１３８】
また、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、修正誤差Ｗｅａｆiを値０に収束させるように、前述した式（１９）〜（２６）により算出されるので、例えば、前述した基本誤差重みＷ＿ｂａｓｅが正値および負値の双方を示す場合、基本誤差重みＷ＿ｂａｓｅが正値と負値との間で変化すると、それに伴って修正誤差Ｗｅａｆiの符号が反転し、各制御入力Ｕｒｃｈi，Ｕｎｌi，Ｕａｄｐiの符号が反転してしまい、その結果、基本局所補正値Ｄｌｉｆｔ＿ｂｓiが不適切な値に算出されることで、制御が不安定になる可能性がある。したがって、制御の安定性を確保するために、前述した図２１では、基本誤差重みＷ＿ｂａｓｅが負値となる条件下のときに、基本誤差重みＷ＿ｂａｓｅが値０に設定されている。
【０１３９】
なお、基本誤差重みＷ＿ｂａｓｅの符号が変化するのに伴って、各制御入力Ｕｒｃｈi，Ｕｎｌi，Ｕａｄｐiのゲインの符号を反転させるように制御する場合には、基本誤差重みＷ＿ｂａｓｅが正値および負値の双方を示すときでも、本実施形態と同様に、制御の安定性を確保することができるので、その場合には、図２１に破線で示す基本誤差重みＷ＿ｂａｓｅが負値となる曲線の値を用いてもよい。
【０１４０】
一方、前述した補正感度算出部１２６では、以下に述べる手法により、補正感度Ｒｌｉｆｔが算出される。まず、前述した式（１４）により、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐを算出する。
【０１４１】
次いで、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐおよびエンジン回転数ＮＥに応じて、図２３に示すマップを検索することにより、基本感度Ｒ＿ｂａｓｅを算出する。この基本感度Ｒ＿ｂａｓｅは、前述した基本誤差重みＷ＿ｂａｓｅと同様に、比ΔＧｃｙｌ／ΔＬｉｆｔｉｎを、所定の微小リフト＆所定の低回転数での上記比ΔＧｃｙｌ＿ｘ／ΔＬｉｆｔｉｎ＿ｘの絶対値｜ΔＧｃｙｌ＿ｘ／ΔＬｉｆｔｉｎ＿ｘ｜を基準として正規化した値を示している。
【０１４２】
このマップでは、基本感度Ｒ＿ｂａｓｅは、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐが小さいほど、より大きい値に設定されている。これは、前述した図２１の説明で述べた理由による。また、このマップでは、基本感度Ｒ＿ｂａｓｅは、基本誤差重みＷ＿ｂａｓｅと異なり、正値および負値の双方を示すように設定されている。これは、後述するように、リフト補正値Ｄｌｉｆｔが、補正感度Ｒｌｉｆｔを基本局所補正値Ｄｌｉｆｔ＿ｂｓiに乗算することにより算出されるとともに、これをバルブリフトＬｉｆｔｉｎに加算することにより、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが算出されるので、補正感度Ｒｌｉｆｔが正値および負値の双方を示す場合でも、空燃比制御の安定性を損なうことなく、むしろ、空燃比制御の応答性を高めることができることによる。
【０１４３】
また、カム位相Ｃａｉｎおよびエンジン回転数ＮＥに応じて、図２４に示すマップを検索することにより、感度補正係数Ｋ＿ｒを算出する。同図において、実線で示す曲線が、感度補正係数Ｋ＿ｒの値を表しており、破線で示す曲線は、前述した誤差重み補正係数Ｋ＿ｗの値を比較のために表したものである。これらの２つの曲線を比較すると明らかなように、このマップでは、感度補正係数Ｋ＿ｒは、誤差重み補正係数Ｋ＿ｗとほぼ同じような傾向に設定されており、これは、図２２の説明で述べたのと同じ理由による。これに加えて、感度補正係数Ｋ＿ｒの進角側の値は、誤差重み補正係数Ｋ＿ｗよりも値１に近い値に設定されている。これは、カム位相Ｃａｉｎが進角側に制御されている場合、吸入空気量の減少に応じて燃料噴射量ＴＯＵＴが小さい値に算出されるので、その際、燃料噴射量ＴＯＵＴが適切な値よりも小さく誤算出されると、混合気がリーン化することによって燃焼の安定性が低下する可能性があるので、それを回避するためである。
【０１４４】
そして、最終的に、補正感度Ｒｌｉｆｔが下式（２７）により算出される。
【数１５】
2008102791.tif 000017
【０１４５】
以上のように、補正感度Ｒｌｉｆｔは、前述した誤差重みＷと同様の手法により算出されるので、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度、すなわち、空燃比誤差推定値Ｅａｆに対するバルブリフトＬｉｆｔｉｎの影響度合を表す値として算出されるとともに、空燃比誤差推定値Ｅａｆに対するエンジン回転数ＮＥおよびカム位相Ｃａｉｎの影響度合も表す値として算出される。
【０１４６】
なお、補正感度算出部１２６において、基本感度Ｒ＿ｂａｓｅの算出用マップとして、図２３に示すものに代えて、基本感度Ｒ＿ｂａｓｅがバルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥに応じて設定されているもの、すなわち図２３の横軸の第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐをバルブリフトＬｉｆｔｉｎに置き換えたものを用いてもよい。
【０１４７】
そして、最終値算出部１２７では、下式（２８）により、局所補正値Ｄｌｉｆｔ＿ｌｃiを算出した後、下式（２９）により、リフト補正値Ｄｌｉｆｔが最終的に算出される。
【数１６】
2008102791.tif 000018
【０１４８】
最終値算出部１２７では、上記のように、補正感度Ｒｌｉｆｔおよび連結重み関数Ｗｃｐiを基本局所補正値Ｄｌｉｆｔ＿ｂｓiに乗算することにより、４つの局所補正値Ｄｌｉｆｔ＿ｌｃiが算出され、これらの局所補正値Ｄｌｉｆｔ＿ｌｃiの総和として、リフト補正値Ｄｌｉｆｔが算出される。このように、補正感度Ｒｌｉｆｔが基本局所補正値Ｄｌｉｆｔ＿ｂｓiへの乗算値として用いられることにより、リフト補正値Ｄｌｉｆｔは、空燃比誤差推定値Ｅａｆに対するバルブリフトＬｉｆｔｉｎ、エンジン回転数ＮＥおよびカム位相Ｃａｉｎの影響度合が反映された値として算出される。この場合、リフト誤差の感度が低い条件下で、補正感度Ｒｌｉｆｔを用いることなく、局所補正値Ｄｌｉｆｔ＿ｌｃiを算出した場合、局所補正値Ｄｌｉｆｔ＿ｌｃiにより、空燃比誤差推定値Ｅａｆが過補償されるおそれがあるものの、補正感度Ｒｌｉｆｔを用いることで、それを回避することができる。
【０１４９】
さらに、リフト補正値Ｄｌｉｆｔは、連結重み関数Ｗｃｐiを基本局所補正値Ｄｌｉｆｔ＿ｂｓiへの乗算値として用いて算出した局所補正値Ｄｌｉｆｔ＿ｌｃiの総和として算出されるので、４つの基本局所補正値Ｄｌｉｆｔ＿ｂｓiを連続的に結合した値として算出される。より具体的には、リフト補正値Ｄｌｉｆｔは、４つの基本局所補正値Ｄｌｉｆｔ＿ｂｓiが互いに異なる値として算出されている状態で、エンジン回転数ＮＥが変化したときでも、それに伴い、段差を生じることなく連続的に変化するように算出される。なお、本実施形態では、局所補正値Ｄｌｉｆｔ＿ｌｃiが複数の第２乗算値および複数の乗算値に相当する。
【０１５０】
リフト補正値算出部１２０では、以上の手法により、リフト補正値Ｄｌｉｆｔが算出される。そして、前述した加算要素１１４で、下式（３０）により、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄが算出される。
【数１７】
2008102791.tif 000019
【０１５１】
以上のように、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄは、リフト補正値ＤｌｉｆｔによりバルブリフトＬｉｆｔｉｎを補正することにより算出される。この場合、基本局所補正値Ｄｌｉｆｔ＿ｂｓiは、修正誤差Ｗｅａｆiを値０に収束させるための値であるので、リフト補正値ＤｌｉｆｔによりバルブリフトＬｉｆｔｉｎを補正することは、リフト誤差を解消するように、バルブリフトＬｉｆｔｉｎを補正または修正することに相当する。したがって、そのような補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄに応じて、前述した図１１のマップを検索することにより、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出することは、リフト誤差を解消するように修正されたマップすなわち相関関係モデルを用いて、第１入力値としての第１推定吸気量Ｇｃｙｌ＿ｖｔを算出することに相当する。
【０１５２】
次に、図２５を参照しながら、前述した制御周期ΔＴｎでＥＣＵ２により実行される制御処理について説明する。なお、以下の説明において算出される各種の値は、ＥＣＵ２のＲＡＭ内に記憶されるものとする。
【０１５３】
この処理では、まず、ステップ１（図では「Ｓ１」と略す。以下同じ）で、ＴＤＣカウンタの計数値Ｃ＿ＴＤＣを、その前回値Ｃ＿ＴＤＣＺと値１の和（Ｃ＿ＴＤＣＺ＋１）に設定する。すなわち、ＴＤＣカウンタの計数値Ｃ＿ＴＤＣを値１インクリメントする。
【０１５４】
次いで、ステップ２に進み、Ｃ＿ＴＤＣ＝４であるか否かを判別する。この判別結果がＮＯで、Ｃ＿ＴＤＣ≠４のときには、後述するステップ６に進む。一方、この判別結果がＹＥＳのときには、ステップ３に進み、ＴＤＣカウンタの計数値Ｃ＿ＴＤＣを値０にリセットする。
【０１５５】
ステップ３に続くステップ４で、目標空燃比ＫＣＭＤを算出する。具体的には、前述したように、算出吸気量Ｇｃｙｌおよびアクセル開度ＡＰに応じて、図１４に示すマップを検索することにより、目標空燃比ＫＣＭＤを算出する。
【０１５６】
次に、ステップ５で、空燃比補正係数ＫＡＦを算出する。具体的には、空燃比フィードバック制御の実行条件が成立しているときには、前述した式（６）〜（１０）の制御アルゴリズムにより、空燃比補正係数ＫＡＦを算出する。一方、空燃比フィードバック制御の実行条件が不成立のときには、空燃比補正係数ＫＡＦを値１に設定する。
【０１５７】
ステップ２または５に続くステップ６で、空燃比制御処理を実行する。この空燃比制御処理は、燃料噴射量ＴＯＵＴを燃料噴射弁１０毎に算出するものであり、その詳細については後述する。
【０１５８】
次いで、ステップ７で、点火時期制御処理を実行する。この処理の詳細な説明はここでは省略するが、この処理では、例えば前述した特開２００５−３１５１６１号公報における点火時期制御処理と同じ算出手法により、点火時期Ｉｇｌｏｇが算出される。その後、本処理を終了する。
【０１５９】
以上のように、図２５の制御処理では、ステップ３〜５は、Ｃ＿ＴＤＣ＝４が成立する毎に実行されるので、ＴＤＣ信号が連続して４回発生する毎すなわち１燃焼サイクル毎に実行されることになる。
【０１６０】
次に、図２６を参照しながら、前述した空燃比制御処理について説明する。本処理は、以下に述べるように、燃料噴射量ＴＯＵＴを燃料噴射弁１０毎に算出するものであり、より具体的には、前述したＴＤＣカウンタの計数値Ｃ＿ＴＤＣが値１から値４までインクリメントされるのに従って、１番気筒→３番気筒→４番気筒→２番気筒の順に各気筒用の燃料噴射弁１０の燃料噴射量ＴＯＵＴをそれぞれ算出するものである。
【０１６１】
まず、ステップ２０で、前述した補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ、空燃比補正係数ＫＡＦおよび各種のパラメータを読み込む。この場合、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄは、前述したように制御周期ΔＴｋで算出されるので、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄをダウンサンプリングすることに相当する。また、空燃比補正係数ＫＡＦは、１燃焼サイクル毎に算出されるので、空燃比補正係数ＫＡＦをオーバーサンプリングすることに相当する。
【０１６２】
次いで、ステップ２１で、基本燃料噴射量Ｔｃｙｌ＿ｂｓを算出する。この基本燃料噴射量Ｔｃｙｌ＿ｂｓの算出処理は、具体的には、図２７に示すように実行される。すなわち、まず、ステップ３０で、前述した式（３）により、第２推定吸気量Ｇｃｙｌ＿ａｆｍを算出する。
【０１６３】
次に、ステップ３１で、前述したように、エンジン回転数ＮＥおよび補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄに応じて、図１１に示すマップを検索することにより、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出する。
【０１６４】
ステップ３１に続くステップ３２で、前述したように、エンジン回転数ＮＥおよびカム位相Ｃａｉｎに応じて、図１２に示すマップを検索することにより、補正係数Ｋ＿ｇｃｙｌ＿ｖｔを算出する。
【０１６５】
その後、ステップ３３に進み、ステップ３１および３２で算出した２つの値Ｇｃｙｌ＿ｖｔ＿ｂａｓｅ，Ｋ＿ｇｃｙｌ＿ｖｔに基づき、前述した式（１）により、第１推定吸気量Ｇｃｙｌ＿ｖｔを算出する。
【０１６６】
次に、ステップ３４で、前述した式（２）により、推定流量Ｇｉｎ＿ｖｔを算出する。その後、ステップ３５に進み、可変機構故障フラグＦ＿ＶＤＮＧが「１」であるか否かを判別する。
【０１６７】
この可変機構故障フラグＦ＿ＶＤＮＧは、図示しない故障判定処理において、可変バルブリフト機構５０および可変カム位相機構７０の少なくとも１つが故障していると判定されたときには「１」に、いずれも正常であると判定されたときには「０」にそれぞれ設定される。なお、以下の説明では、可変バルブリフト機構５０および可変カム位相機構７０をまとめて「２つの可変機構」と呼ぶ。
【０１６８】
ステップ３５の判別結果がＮＯで、２つの可変機構がいずれも正常であるときには、ステップ３６に進み、エアフローセンサ故障フラグＦ＿ＡＦＭＮＧが「１」であるか否かを判別する。このエアフローセンサ故障フラグＦ＿ＡＦＭＮＧは、図示しない故障判定処理において、エアフローセンサ２２が故障していると判定されたときには「１」に、正常であると判定されたときには「０」にそれぞれ設定される。
【０１６９】
ステップ３６の判別結果がＮＯで、エアフローセンサ２２が正常であるときには、ステップ３７に進み、前述したように、移行係数Ｋｇを、推定流量Ｇｉｎ＿ｖｔに応じて、図１３に示すマップを検索することにより算出する。
【０１７０】
一方、ステップ３６の判別結果がＹＥＳで、エアフローセンサ２２が故障しているときには、ステップ３８に進み、移行係数Ｋｇを値０に設定する。
【０１７１】
ステップ３７または３８に続くステップ３９では、前述した式（４）により、算出吸気量Ｇｃｙｌを算出する。次いで、ステップ４０で、基本燃料噴射量Ｔｃｙｌ＿ｂｓを、換算係数と算出吸気量の積Ｋｇｔ・Ｇｃｙｌに設定した後、本処理を終了する。
【０１７２】
一方、ステップ３５の判別結果がＹＥＳで、２つの可変機構の少なくとも１つが故障していると判定されたときには、ステップ４１に進み、算出吸気量Ｇｃｙｌを前述した所定の故障時用値Ｇｃｙｌ＿ｆｓに設定する。次いで、前述したステップ４０を実行した後、本処理を終了する。
【０１７３】
図２６に戻り、ステップ２１で、以上のように基本燃料噴射量Ｔｃｙｌ＿ｂｓを算出した後、ステップ２２に進み、総補正係数ＫＴＯＴＡＬを算出する。具体的には、前述したように、各種の運転パラメータ（例えば吸気温ＴＡや、大気圧ＰＡ、エンジン水温ＴＷ、アクセル開度ＡＰなど）に応じて、各種のマップを検索することで各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数ＫＴＯＴＡＬが算出される。
【０１７４】
次いで、ステップ２３に進み、前述した式（１１）により、要求燃料噴射量Ｔｃｙｌを算出する。次に、ステップ２４で、前述したように、要求燃料噴射量Ｔｃｙｌに、所定の燃料付着補正処理を施すことにより、燃料噴射量ＴＯＵＴを算出する。その後、本処理を終了する。これにより、燃料噴射弁１０の燃料噴射タイミングおよび開弁時間が、この燃料噴射量ＴＯＵＴに基づく値になるように、燃料噴射弁１０が制御される。その結果、空燃比フィードバック制御の実行条件が成立しているときには、検出空燃比ＫＡＣＴが目標空燃比ＫＣＭＤに収束するように制御される。
【０１７５】
次に、図２８を参照しながら、ＥＣＵ２において、タイマ設定により前述した制御周期ΔＴｋで実行される制御処理について説明する。この処理では、まず、ステップ５０で、ＲＡＭに記憶されている、第１推定吸気量Ｇｃｙｌ＿ｖｔ、第２推定吸気量Ｇｃｙｌ＿ａｆｍ、検出空燃比ＫＡＣＴおよび空燃比補正係数ＫＡＦなどの各種のデータを読み込む。
【０１７６】
次いで、ステップ５１に進み、フィードバック制御中フラグＦ＿ＡＦＦＢが「１」であるか否かを判別する。このフィードバック制御中フラグＦ＿ＡＦＦＢは、空燃比フィードバック制御の実行中であるときには「１」に、それ以外のときには「０」に設定される。
【０１７７】
ステップ５１の判別結果がＹＥＳで、空燃比フィードバック制御の実行中であるときには、ステップ５２に進み、エンジン水温ＴＷが所定の判定値ＴＷＲＥＦより高いか否かを判別する。この所定値ＴＷＲＥＦは、エンジン３の暖機運転の終了判定用の値である。
【０１７８】
ステップ５２の判別結果がＹＥＳで、エンジン３の暖機運転が終了しているときには、ステップ５３に進み、パージ完了フラグＦ＿ＣＡＮＩが「１」であるか否かを判別する。このパージ完了フラグＦ＿ＣＡＮＩは、キャニスタ内に吸着した蒸発燃料を吸気通路内に戻すパージ動作が完了しているときには「１」に、それ以外のときには「０」に設定される。
【０１７９】
ステップ５３の判別結果がＹＥＳで、パージ動作が完了しているときには、ステップ５４に進み、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄの算出処理を実行する。この算出処理の詳細については後述する。
【０１８０】
一方、以上のステップ５１〜５３のいずれかの判別結果がＮＯのときには、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄの算出条件が成立していないとして、ステップ５６に進み、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄをその前回値Ｌｉｆｔｉｎ＿ｍｏｄｚに設定する。以上のように、空燃比フィードバック制御中でない場合、エンジン３の暖機運転が終了していない場合、またはパージ動作が完了していない場合には、空燃比が不安定な制御状態となり、リフト補正値Ｄｌｉｆｔの算出精度が低下することで、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄの算出精度が低下するおそれがあるので、それを回避するために、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄを更新することなく、その前回値が用いられる。
【０１８１】
ステップ５４または５６に続くステップ５５で、後述するように、可変機構制御処理を実行した後、本処理を終了する。
【０１８２】
次に、図２９を参照しながら、前述した補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄの算出処理について説明する。まず、ステップ６０で、前述した式（１２），（１３）により、空燃比誤差推定値Ｅａｆを算出する。
【０１８３】
次に、ステップ６１に進み、エンジン回転数ＮＥに応じて、前述した図２０のマップを検索することにより、連結重み関数Ｗｃｐiの値を算出する。その後、ステップ６２に進み、前述した式（１４）により、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐを算出する。
【０１８４】
ステップ６２に続くステップ６３で、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐおよびエンジン回転数ＮＥに応じて、前述した図２１に示すマップを検索することにより、基本誤差重みＷ＿ｂａｓｅを算出する。その後、ステップ６４で、カム位相Ｃａｉｎおよびエンジン回転数ＮＥに応じて、前述した図２２に示すマップを検索することにより、誤差重み補正係数Ｋ＿ｗを算出する。
【０１８５】
次いで、ステップ６５で、前述した式（１５）により、誤差重みＷを算出した後、ステップ６６に進み、前述した式（１６）〜（１８）により、修正誤差Ｗｅａｆiを算出する。
【０１８６】
ステップ６６に続くステップ６７で、前述した式（１９）〜（２６）により、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを算出する。その後、ステップ６８に進み、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐおよびエンジン回転数ＮＥに応じて、前述した図２３に示すマップを検索することにより、基本感度Ｒ＿ｂａｓｅを算出する。
【０１８７】
次いで、ステップ６９に進み、カム位相Ｃａｉｎおよびエンジン回転数ＮＥに応じて、前述した図２４に示すマップを検索することにより、感度補正係数Ｋ＿ｒを算出する。その後、ステップ７０で、前述した式（２７）により、補正感度Ｒｌｉｆｔを算出する。
【０１８８】
ステップ７０に続くステップ７１で、前述した式（２８），（２９）により、リフト補正値Ｄｌｉｆｔを算出する。次いで、ステップ７２に進み、前述した式（３０）により、補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄを算出する。その後、本処理を終了する。
【０１８９】
次に、図３０を参照しながら、前述した可変機構制御処理について説明する。本処理は、２つの可変機構をそれぞれ制御するための２つの制御入力Ｕ＿Ｌｉｆｔｉｎ，Ｕ＿Ｃａｉｎを算出するものである。
【０１９０】
この処理では、まず、ステップ８０で、前述した可変機構故障フラグＦ＿ＶＤＮＧが「１」であるか否かを判別する。この判別結果がＮＯで、２つの可変機構がいずれも正常であるときには、ステップ８１に進み、エンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴが「１」であるか否かを判別する。
【０１９１】
このエンジン始動フラグＦ＿ＥＮＧＳＴＡＲＴは、図示しない判定処理において、エンジン回転数ＮＥおよびＩＧ・ＳＷ２９のＯＮ／ＯＦＦ信号に応じて、エンジン始動制御中すなわちクランキング中であるか否かを判定することにより設定されるものであり、具体的には、エンジン始動制御中であるときには「１」に、それ以外のときには「０」にそれぞれ設定される。
【０１９２】
ステップ８１の判別結果がＹＥＳで、エンジン始動制御中であるときには、ステップ８２に進み、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、エンジン水温ＴＷに応じて、図３１に示すマップを検索することにより算出する。
【０１９３】
このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、エンジン水温ＴＷが所定値ＴＷＲＥＦ１より高い範囲では、エンジン水温ＴＷが低いほど、より大きな値に設定されているとともに、ＴＷ≦ＴＷＲＥＦ１の範囲では、所定値Ｌｉｆｔｉｎｒｅｆに設定されている。これは、エンジン水温ＴＷが低い場合、可変バルブリフト機構５０のフリクションが増大するので、それを補償するためである。
【０１９４】
次いで、ステップ８３で、目標カム位相Ｃａｉｎ＿ｃｍｄを、エンジン水温ＴＷに応じて、図３２に示すマップを検索することにより算出する。
【０１９５】
このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、エンジン水温ＴＷが所定値ＴＷＲＥＦ２よりも高い範囲では、エンジン水温ＴＷが低いほど、より遅角側の値に設定されているとともに、ＴＷ≦ＴＷＲＥＦ２の範囲では、所定値Ｃａｉｎｒｅｆに設定されている。これは、エンジン水温ＴＷが低い場合、カム位相Ｃａｉｎをエンジン水温ＴＷが高い場合よりも遅角側に制御し、バルブオーバーラップを小さくすることで、吸気流速を上昇させ、燃焼の安定化を図るためである。
【０１９６】
次に、ステップ８４に進み、リフト制御入力Ｕ＿Ｌｉｆｔｉｎを、下式（３１）〜（３４）に示す目標値フィルタ型の２自由度応答指定型制御アルゴリズムにより算出する。
【０１９７】
【数１８】
2008102791.tif 000020
【０１９８】
同式（３１）において、Ｋｒｃｈ＿ｌｆは所定の到達則ゲインを、Ｋａｄｐ＿ｌｆは所定の適応則ゲインをそれぞれ表しており、さらに、σ＿ｌｆは、式（３２）のように定義される切換関数である。同式（３２）において、ｐｏｌｅ＿ｌｆは、−１＜ｐｏｌｅ＿ｌｆ＜０の関係が成立するように設定される切換関数設定パラメータであり、Ｅ＿ｌｆは、式（３３）により算出される追従誤差である。同式（３３）において、Ｌｉｆｔｉｎ＿ｃｍｄ＿ｆは、目標バルブリフトのフィルタ値であり、式（３４）に示す一次遅れフィルタアルゴリズムにより算出される。同式（３４）において、ｐｏｌｅ＿ｆ＿ｌｆは、−１＜ｐｏｌｅ＿ｆ＿ｌｆ＜０の関係が成立するように設定される目標値フィルタ設定パラメータである。
【０１９９】
次に、ステップ８５に進み、位相制御入力Ｕ＿Ｃａｉｎを、下式（３５）〜（３８）に示す目標値フィルタ型の２自由度応答指定型制御アルゴリズムにより算出する。
【０２００】
【数１９】
2008102791.tif 000021
【０２０１】
同式（３５）において、Ｋｒｃｈ＿ｃａは所定の到達則ゲインを、Ｋａｄｐ＿ｃａは所定の適応則ゲインをそれぞれ表しており、さらに、σ＿ｃａは、式（３６）のように定義される切換関数である。同式（３６）において、ｐｏｌｅ＿ｃａは、−１＜ｐｏｌｅ＿ｃａ＜０の関係が成立するように設定される切換関数設定パラメータであり、Ｅ＿ｃａは、式（３７）により算出される追従誤差である。同式（３７）において、Ｃａｉｎ＿ｃｍｄ＿ｆは、目標カム位相のフィルタ値であり、式（３８）に示す一次遅れフィルタアルゴリズムにより算出される。同式（３８）において、ｐｏｌｅ＿ｆ＿ｃａは、−１＜ｐｏｌｅ＿ｆ＿ｃａ＜０の関係が成立するように設定される目標値フィルタ設定パラメータである。
【０２０２】
ステップ８５で、位相制御入力Ｕ＿Ｃａｉｎを以上のように算出した後、本処理を終了する。
【０２０３】
一方、ステップ８１の判別結果がＮＯで、エンジン始動制御中でないときには、ステップ８６に進み、アクセル開度ＡＰが所定値ＡＰＲＥＦより小さいか否かを判別する。この判別結果がＹＥＳで、アクセルペダルが踏まれていないときには、ステップ８７に進み、始動後タイマの計時値Ｔａｓｔが所定値Ｔａｓｔｌｍｔより小さいか否かを判別する。
【０２０４】
この判別結果がＹＥＳで、Ｔａｓｔ＜Ｔａｓｔｌｍｔのときには、触媒暖機制御を実行すべきであるとして、ステップ８８に進み、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、始動後タイマの計時値Ｔａｓｔおよびエンジン水温ＴＷに応じて、図３３に示すマップを検索することにより算出する。同図において、ＴＷ１〜ＴＷ３は、ＴＷ１＜ＴＷ２＜ＴＷ３の関係が成立するエンジン水温ＴＷの所定値を示しており、この点は以下の説明においても同様である。
【０２０５】
このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、エンジン水温ＴＷが低いほど、より大きな値に設定されている。これは、エンジン水温ＴＷが低いほど、触媒の活性化に要する時間が長くなるので、排ガスボリュームを大きくすることで、触媒の活性化に要する時間を短縮するためである。これに加えて、このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、始動後タイマの計時値Ｔａｓｔが小さい間は、計時値Ｔａｓｔが大きいほど、より大きな値に設定され、計時値Ｔａｓｔがある程度よりも大きい領域では、計時値Ｔａｓｔが大きいほど、より小さな値に設定されている。これは、触媒暖機制御の実行時間が経過するのに伴い、エンジン３の暖機が進むことで、フリクションが低下した場合において、吸入空気量を低減しないと、エンジン回転数ＮＥを目標値に維持するために点火時期が過剰にリタード制御された状態となり、燃焼状態が不安定になってしまうので、それを回避するためである。
【０２０６】
次いで、ステップ８９で、目標カム位相Ｃａｉｎ＿ｃｍｄを、始動後タイマの計時値Ｔａｓｔおよびエンジン水温ＴＷに応じて、図３４に示すマップを検索することにより算出する。
【０２０７】
このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、エンジン水温ＴＷが低いほど、より進角側の値に設定されている。これは、エンジン水温ＴＷが低いほど、上述したように触媒の活性化に要する時間が長くなるので、ポンピングロスを減少させ、吸入空気量を増大させることで、触媒の活性化に要する時間を短縮するためである。これに加えて、このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、始動後タイマの計時値Ｔａｓｔが小さい間は、計時値Ｔａｓｔが大きいほど、より遅角側の値に設定され、計時値Ｔａｓｔがある程度よりも大きい領域では、計時値Ｔａｓｔが大きいほど、より進角側の値に設定されている。これは、図３３の説明で述べたのと同じ理由による。
【０２０８】
次いで、前述したように、ステップ８４，８５を実行した後、本処理を終了する。
【０２０９】
一方、ステップ８６または８７の判別結果がＮＯのとき、すなわちアクセルペダルが踏まれているとき、またはＴａｓｔ≧Ｔａｓｔｌｍｔであるときには、ステップ９０に進み、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３５に示すマップを検索することにより算出する。同図において、ＡＰ１〜ＡＰ３は、ＡＰ１＜ＡＰ２＜ＡＰ３の関係が成立するアクセル開度ＡＰの所定値を示しており、この点は以下の説明においても同様である。
【０２１０】
このマップでは、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄは、エンジン回転数ＮＥが高いほど、またはアクセル開度ＡＰが大きいほど、より大きな値に設定されている。これは、エンジン回転数ＮＥが高いほど、またはアクセル開度ＡＰが大きいほど、エンジン３に対する要求出力が大きいことで、より大きな吸入空気量が要求されることによる。
【０２１１】
次いで、ステップ９１で、目標カム位相Ｃａｉｎ＿ｃｍｄを、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じて、図３６に示すマップを検索することにより算出する。このマップでは、目標カム位相Ｃａｉｎ＿ｃｍｄは、アクセル開度ＡＰが小さくかつ中回転域にあるときには、それ以外のときよりも進角側の値に設定されている。これは、そのような運転状態では、ポンピングロスを減少させる必要があるためである。
【０２１２】
ステップ９１に続いて、前述したように、ステップ８４，８５を実行した後、本処理を終了する。
【０２１３】
一方、ステップ８０の判別結果がＹＥＳで、２つの可変機構の少なくとも一方が故障しているときには、ステップ９２に進み、リフト制御入力Ｕ＿Ｌｉｆｔｉｎを所定の故障時用値Ｕ＿Ｌｉｆｔｉｎ＿ｆｓに、位相制御入力Ｕ＿Ｃａｉｎを所定の故障時用値Ｕ＿Ｃａｉｎ＿ｆｓにそれぞれ設定した後、本処理を終了する。これにより、前述したように、バルブリフトＬｉｆｔｉｎが所定のロック値に、カム位相Ｃａｉｎが所定のロック値にそれぞれ保持され、それにより、停車中はアイドル運転やエンジン始動を適切に実行できると同時に、走行中は低速走行状態を維持できる。
【０２１４】
本処理では、以上のように、リフト制御入力Ｕ＿Ｌｉｆｔｉｎおよび位相制御入力Ｕ＿Ｃａｉｎが算出される。そして、これらの制御入力Ｕ＿Ｌｉｆｔｉｎ，Ｕ＿Ｃａｉｎが可変バルブリフト機構５０および可変カム位相機構７０にそれぞれ入力されることにより、吸入空気量が制御される。
【０２１５】
次に、以上のように構成された第１実施形態の制御装置１による制御結果について説明する。図３７は、第１実施形態の制御装置１による空燃比の制御結果例を示しており、図３８は、比較のために、リフト補正値Ｄｌｉｆｔを値０に保持した場合、すなわちＬｉｆｔｉｎ＿ｍｏｄ＝Ｌｉｆｔｉｎとした場合の制御結果例（以下「比較例」という）を示している。なお、これらの制御結果はいずれも、理解の容易化のために、目標空燃比ＫＣＭＤを値１に設定した場合のものである。
【０２１６】
両図を参照すると、図３８の比較例では、空燃比補正係数ＫＡＦが目標空燃比ＫＣＭＤからリッチ側に大きく乖離しかつリッチ側に保持された状態が頻繁に発生していることが判る。これに対して、図３７の本実施形態の制御結果例では、空燃比補正係数ＫＡＦが、目標空燃比ＫＣＭＤ付近に保持されており、高レベルの制御精度を確保できていることが判る。
【０２１７】
また、両図において、目標空燃比ＫＣＭＤと検出空燃比ＫＡＣＴとの偏差すなわち空燃比誤差を参照すると、比較例では、比較的大きな空燃比誤差が頻繁に発生していることが判る。これに対して、本実施形態の制御結果例では、空燃比誤差が比較例よりも小さい値に抑制されており、高い制御精度を確保できていることが判る。以上のように、本実施形態のリフト補正値Ｄｌｉｆｔを用いることによって、リフト誤差を精度よく補償でき、それにより、空燃比制御において高い制御精度を確保できることが判る。
【０２１８】
以上のように、第１実施形態の制御装置１によれば、制御誤差を表す空燃比誤差推定値Ｅａｆが、検出空燃比ＫＡＣＴおよび目標空燃比ＫＣＭＤに応じて算出され、連結重み関数Ｗｃｐiが、図２０のマップを検索することにより、エンジン回転数ＮＥに応じて、算出されるとともに、修正誤差Ｗｅａｆiが、空燃比誤差推定値Ｅａｆに、連結重み関数Ｗｃｐi、誤差重みＷおよび移行係数重みＷｋｇを乗算することにより算出される。さらに、そのような修正誤差Ｗｅａｆiを値０に収束させるように（すなわち、空燃比誤差推定値Ｅａｆを所定の目標値としての値０に収束させるように）、基本局所補正値Ｄｌｉｆｔ＿ｂｓiが算出され、補正感度Ｒｌｉｆｔおよび連結重み関数Ｗｃｐiを基本局所補正値Ｄｌｉｆｔ＿ｂｓiに乗算することにより、局所補正値Ｄｌｉｆｔ＿ｌｃiが算出され、これらの局所補正値Ｄｌｉｆｔ＿ｌｃiの総和として、リフト補正値Ｄｌｉｆｔが算出されるとともに、このリフト補正値ＤｌｉｆｔによりバルブリフトＬｉｆｔｉｎを補正した補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄと、図１１のマップとを用いて、第１推定吸気量Ｇｃｙｌ＿ｖｔが算出される。
【０２１９】
すなわち、空燃比誤差推定値Ｅａｆが値０に収束するように修正された相関関係モデルを用いて、第１推定吸気量Ｇｃｙｌ＿ｖｔが算出されるので、外乱に起因して制御誤差が一時的に増大している場合に加えて、バルブリフトＬｉｆｔｉｎおよび／またはエンジン回転数ＮＥの検出結果の信頼性の低下や可変バルブリフト機構５０の動特性変化などに起因して、リフト誤差が一時的に増大するような条件下でも、そのように算出された第１推定吸気量Ｇｃｙｌ＿ｖｔにより、リフト誤差すなわち制御誤差を適切に補償することができる。これに加えて、相関関係モデルとして、フィードフォワード制御手法において一般的なマップ検索手法を用いているので、空燃比補正係数ＫＡＦによる空燃比フィードバック制御によって制御誤差を補償する場合と比べて、制御誤差を迅速に補償することができる。
【０２２０】
また、修正誤差Ｗｅａｆiが、空燃比誤差推定値Ｅａｆに、連結重み関数Ｗｃｐi、誤差重みＷおよび移行係数重みＷｋｇを乗算することにより算出され、４つの連結重み関数Ｗｃｐiは、前述したように、エンジン回転数ＮＥが変化し得る領域を区分した４つの領域に対応するように算出されるとともに、対応する領域では、値１以下の正の値に設定され、対応する領域以外では、値０に設定されているとともに、互いに重なり合う領域に対応する連結重み関数Ｗｃｐiの値の和は、各連結重み関数Ｗｃｐiにおける最大値１と等しくなるように設定されている。したがって、空燃比誤差推定値Ｅａｆを、４つの連結重み関数Ｗｃｐiの値を介して、４つの基本局所補正値Ｄｌｉｆｔ＿ｂｓiに配分することができ、それにより、４つの基本局所補正値Ｄｌｉｆｔ＿ｂｓiの各々によって、４つの領域の各々における相関関係モデルのずれ度合を適切に修正することができる。特に、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎと、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅとの間の実際の相関関係に対するずれが、エンジン回転数ＮＥの４つの領域毎にずれの変化方向が異なる場合でも、そのようなずれに対応しながら、相関関係モデルを領域毎に適切に修正できる。
【０２２１】
また、基本局所補正値Ｄｌｉｆｔ＿ｂｓiに、補正感度Ｒｌｉｆｔおよび連結重み関数Ｗｃｐiを乗算することにより、局所補正値Ｄｌｉｆｔ＿ｌｃiが算出され、これらの局所補正値Ｄｌｉｆｔ＿ｌｃiの総和として、リフト補正値Ｄｌｉｆｔが算出されるので、リフト補正値Ｄｌｉｆｔを、４つの基本局所補正値Ｄｌｉｆｔ＿ｂｓiを連続的に結合させた値として算出できる。それにより、４つの基本局所補正値Ｄｌｉｆｔ＿ｂｓiが互いに異なる値を示している状態で、エンジン回転数ＮＥが急変したときでも、それに伴って連続的に変化するように、リフト補正値Ｄｌｉｆｔを算出することができる。したがって、そのようなリフト補正値ＤｌｉｆｔでバルブリフトＬｉｆｔｉｎを補正した補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄを用いることにより（すなわち相関関係モデルを修正することにより）、エンジン回転数ＮＥが急変したときでも、第１推定吸気量Ｇｃｙｌ＿ｖｔを滑らかに段差なく変化するように算出することができる。その結果、エンジン回転数ＮＥの急変に伴い、空燃比誤差推定値Ｅａｆすなわち制御誤差が一時的に増大するような条件下でも、第１推定吸気量Ｇｃｙｌ＿ｖｔの不適切な急変やステップ状の急変を回避することができ、制御精度および制御の安定性を向上させることができる。
【０２２２】
さらに、誤差重みＷが、空燃比誤差推定値Ｅａｆに対するカム位相Ｃａｉｎおよびエンジン回転数ＮＥの影響度合を反映するように算出されるので、そのような誤差重みＷを用いることにより、第１推定吸気量Ｇｃｙｌ＿ｖｔを、空燃比誤差推定値Ｅａｆに対するカム位相Ｃａｉｎおよびエンジン回転数ＮＥの影響度合が反映された値として算出することができる。これに加えて、補正感度Ｒｌｉｆｔが、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度を表す値として算出されるので、そのような補正感度Ｒｌｉｆｔを用いることにより、第１推定吸気量Ｇｃｙｌ＿ｖｔを、空燃比誤差推定値Ｅａｆに対するリフト誤差の感度が反映された値として算出することができるとともに、リフト誤差の感度が低い条件下での、リフト補正値Ｄｌｉｆｔによる空燃比誤差推定値Ｅａｆの過補償を回避することができる。以上により、第１推定吸気量Ｇｃｙｌ＿ｖｔの、空燃比誤差推定値Ｅａｆすなわち空燃比誤差の補償精度を向上させることができ、それにより、制御精度をより一層、向上させることができる。
【０２２３】
なお、第１実施形態は、基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズムとして、前述した式（１９）〜（２６）に示す制御アルゴリズムを用いた例であるが、これに代えて、下式（３９）〜（４７）に示す、適応外乱オブザーバとスライディングモード制御アルゴリズムを組み合わせて適用した制御アルゴリズムにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを算出してもよい。
【０２２４】
【数２０】
2008102791.tif 000022
【０２２５】
【数２１】
2008102791.tif 000023
【０２２６】
【数２２】
2008102791.tif 000024
【０２２７】
上式（４２）のσi＿ｈａｔは、切換関数の推定値であり、Ｕｌｓiは、外乱推定値である。この外乱推定値Ｕｌｓiは、式（４３），（４４）に示す固定ゲイン式の同定アルゴリズムにより算出される。同式（４３）のＥ＿ｓｉｇiは、推定誤差を表している。また、式（４４）のＰは、一定値の同定ゲインである。なお、上式（４２）〜（４６）が適応外乱オブザーバにおける外乱推定値Ｕｌｓiの算出アルゴリズムである。
【０２２８】
以上の基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズム（３９）〜（４７）では、外乱推定値Ｕｌｓiが積分項に相当し、式（４４）で、外乱推定値の前回値Ｕｌｓi（ｋ−１）に忘却係数λが乗算されているとともに、基本局所補正値Ｄｌｉｆｔ＿ｂｓiの絶対値が大きい場合には、忘却係数λが０＜λ＜１の範囲内の値に設定される。それにより、前述したような忘却係数λの忘却効果によって、空燃比補正係数ＫＡＦおよび基本局所補正値Ｄｌｉｆｔ＿ｂｓiのそれぞれの制御アルゴリズムにおける積分項Ｕａｄｐ’，Ｕｌｓiが、互いに干渉して振動的な挙動を示したり、それぞれの絶対値が肥大化したりするのを回避でき、それにより、相関関係モデルが不適切に修正されるのを回避できる。その結果、第１推定吸気量Ｇｃｙｌ＿ｖｔの算出精度を向上させることができ、過渡時の制御性を向上させることができる。また、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓi（ｋ−１）の絶対値が小さい場合には、忘却係数λが値１に設定されるので、修正誤差Ｗｅａｆiが値０近傍になったときでも、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを適切な値に保持することができる。それにより、修正誤差Ｗｅａｆiが増大し始めたときの応答性を向上させることができ、制御精度を向上させることができる。
【０２２９】
以上に加えて、外乱推定値Ｕｌｓiが適応外乱オブザーバにおける固定ゲイン式の同定アルゴリズムにより算出されるので、適応則入力Ｕａｄｐiを用いる第１実施形態の制御アルゴリズムと比べて、基本局所補正値Ｄｌｉｆｔ＿ｂｓiにおける積分的な揺らぎ挙動およびオーバーシュート挙動の抑制能力をさらに向上させることができる。
【０２３０】
また、第１実施形態は、応答指定型制御アルゴリズムとして、前述した式（１９）〜（２６）に示す、スライディングモード制御アルゴリズムを適用した制御アルゴリズムを用いて、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを算出した例であるが、応答指定型制御アルゴリズムとして、バックステッピング制御アルゴリズムを適用した制御アルゴリズムを用いてもよい。このように、基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズムとして、バックステッピング制御アルゴリズムを適用した制御アルゴリズムを用いた場合でも、第１実施形態の式（１９）〜（２６）に示す制御アルゴリズムを用いた場合と同様の作用効果を得ることができる。
【０２３１】
さらに、第１実施形態は、基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズムとして、前述した式（１９）〜（２６）を用いた例であるが、基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズムはこれに限らず、修正誤差Ｗｅａｆiを値０に収束させるように、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを算出できるものであればよい。例えば、基本局所補正値Ｄｌｉｆｔ＿ｂｓiの算出アルゴリズムとして、ＰＩＤ制御アルゴリズム、最適制御アルゴリズムおよびＨ∞制御アルゴリズムなどを用いてもよい。このように、ＰＩＤ制御アルゴリズム、最適制御アルゴリズムおよびＨ∞制御アルゴリズムなどを用いて、基本局所補正値Ｄｌｉｆｔ＿ｂｓiを算出した場合、第１実施形態の式（１９）〜（２６）の制御アルゴリズムと比べて、修正誤差Ｗｅａｆiの値０に対するオーバーシュートの抑制効果の低下や、ロバスト性の低下を招く可能性があり、その点において、第１実施形態の制御アルゴリズムの方が優れている。
【０２３２】
また、第１実施形態は、第２入力値としての空燃比補正係数ＫＡＦを算出する所定のフィードバック制御アルゴリズムとして、前述した式（６）〜（１０）の制御アルゴリズムを用いた例であるが、本願発明の第２入力値を算出するための所定のフィードバック制御アルゴリズムはこれに限らず、第２入力値を制御量を目標制御量に収束させるように算出できるものであればよい。例えば、第２入力値としての空燃比補正係数ＫＡＦを、特開２００６−２５９１号公報に開示されたような、セルフチューニングレギュレータ（Self Tuning Regulator）による算出アルゴリズムにより算出してもよい。また、第２入力値としての空燃比補正係数ＫＡＦの算出アルゴリズムとして、前述した式（３９）〜（４７）の制御アルゴリズムを用いてもよく、バックステッピング制御アルゴリズム、ＰＩＤ制御アルゴリズム、最適制御アルゴリズムおよびＨ∞制御アルゴリズムなどを用いてもよい。
【０２３３】
さらに、第１実施形態は、補正感度Ｒｌｉｆｔを、図２３，２４によって構成される応答曲面モデルを用いて算出した例であるが、補正感度Ｒｌｉｆｔを、図２３，２４によって構成される応答曲面モデルに代えて、図２１，２２によって構成される応答曲面モデルを用いて算出してもよい。すなわち、補正感度Ｒｌｉｆｔを誤差重みＷに等しい値として算出してもよい。これに加えて、リフト誤差の感度が低い条件下での、リフト補正値Ｄｌｉｆｔによる空燃比誤差推定値Ｅａｆの過補償を回避する必要がない場合には、式（２７）を省略し、式（２８）において、Ｒｌｉｆｔ＝１と設定してもよい。
【０２３４】
一方、第１実施形態は、所定の複数の関数として、連結重み関数Ｗｃｐiを用いた例であるが、本願発明の所定の複数の関数はこれに限らず、参照パラメータが変化し得る領域を区分した複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されているとともに、互いに重なり合う領域において、この重なり合う領域に対応する関数の値の総和の絶対値が、各関数における最大値の絶対値と等しくなるように設定されているものであればよい。例えば、所定の複数の関数として、最大値が値１以外の正値または負値に設定されたものを用いてもよい。
【０２３５】
また、所定の複数の関数として、例えば、図３９に示すような、シグモイド関数を用いた曲線状の連結重み関数Ｗｃｐiを用いてもよい。同図において、ＮＥｘ１０〜１６は、エンジン回転数ＮＥの所定値であり、ＮＥｘ１０＜ＮＥｘ１１＜ＮＥｘ１２＜ＮＥｘ１３＜ＮＥｘ１４＜ＮＥｘ１５の関係が成立するように設定されている。この４つの連結重み関数Ｗｃｐiはそれぞれ、エンジン回転数ＮＥが変化し得る領域を、０≦ＮＥ＜ＮＥｘ１１，０＜ＮＥ＜ＮＥｘ１３，ＮＥｘ１１＜ＮＥ＜ＮＥｘ１５，ＮＥｘ１３＜ＮＥ≦ＮＥｘ１５の４つの領域に区分した場合において、これらの４つの領域に対応するように設定されているとともに、対応する領域では、値１以下の正の値に設定され、対応する領域以外では、値０に設定されている。このような連結重み関数Ｗｃｐiを用いた場合にも、第１実施形態の図２０の連結重み関数Ｗｃｐiと同じ効果を得ることができる。
【０２３６】
さらに、以上の図２０，３９は、連結重み関数Ｗｃｐiの値を、エンジン回転数ＮＥの領域に対応するように設定した例であるが、連結重み関数Ｗｃｐiの値を、バルブリフトＬｉｆｔｉｎの複数の領域に対応するように設定してもよい。
【０２３７】
一方、第１実施形態は、参照パラメータとして、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎを用いた例であるが、本願発明の参照パラメータはこれに限らず、制御量以外のパラメータであればよい。例えば、可変カム位相機構７０を有するエンジン３の空燃比を制御する場合において、カム位相Ｃａｉｎを参照パラメータとして用いてもよい。さらに、可変バルブリフト機構５０および可変カム位相機構７０などを備えておらず、スロットル弁機構のみを備えたエンジンの空燃比を制御する場合には、スロットル弁機構の開度を参照パラメータとして用いてもよい。これに加えて、吸気管内圧センサおよびクランク角センサを備え、これらのパラメータに応じて空燃比を制御する、いわゆるスピードデンシティ方式のエンジンの場合には、吸気管内圧およびエンジン回転数ＮＥを参照パラメータとして用いてもよい。
【０２３８】
以下、図４０を参照しながら、本発明の第２実施形態に係る制御装置１Ａについて説明する。この制御装置１Ａは、第１実施形態の制御装置１と比べて、リフト補正値Ｄｌｉｆｔの算出手法に関する構成のみが異なっているので、以下、その異なる点についてのみ説明する。なお、以下の説明では、第１実施形態と同じ構成に関しては、同じ符号を付すとともに、その説明は省略する。
【０２３９】
同図に示すように、この制御装置１Ａは、第１実施形態の空燃比コントローラ１００に代えて、空燃比コントローラ１００Ａを備えている。この空燃比コントローラ１００Ａは、具体的にはＥＣＵ２により構成されており、第１実施形態の空燃比コントローラ１００のリフト補正値算出部１２０に代えて、リフト補正値算出部１３０を備えている。なお、本実施形態では、空燃比コントローラ１００Ａが制御入力算出手段に相当し、リフト補正値算出部１３０がモデル修正手段に相当する。
【０２４０】
このリフト補正値算出部１３０は、図４１に示すように、連結重み関数算出部１３１、誤差重み算出部１３２、移行係数重み算出部１３３、修正誤差算出部１３４、基本局所補正値算出部１３５、補正感度算出部１３６および最終値算出部１３７を備えている。
【０２４１】
まず、連結重み関数算出部１３１では、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎに応じて、図４２に示すマップを検索することにより、連結重み関数Ｗｃｐijが算出される。このマップでは、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎの領域がそれぞれ、Ｉ（Ｉは２以上の整数）個の所定値ＮＥi（ｉ＝１〜Ｉ）およびＪ（Ｊは２以上の整数）個の所定値Ｌｉｆｔｉｎj（ｊ＝１〜Ｊ）によって均等に区分されているとともに、連結重み関数Ｗｃｐijは、連続する３つのエンジン回転数ＮＥiの値と、連続する３つのバルブリフトＬｉｆｔｉｎjの値との組み合わせで規定される複数の領域に対応してそれぞれ設定されている。なお、本実施形態では、連結重み関数Ｗｃｐijが所定の複数の関数に相当する。
【０２４２】
また、連結重み関数Ｗｃｐijの各々は、対応する領域内におけるエンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎの値に対して、その領域の中心で最大値１になり、中心以外では四角錐の斜面状に変化するとともに、その領域以外では値０になる特性を有している。これに加えて、連結重み関数Ｗｃｐijがそれぞれ対応する複数の領域では、隣り合う領域が互いに重なり合っており、それにより、隣り合う連結重み関数Ｗｃｐijは、四角錐の斜面状に変化する部分で互いに交差している。
【０２４３】
例えば、図４３に示すように、ＮＥf-1＜ＮＥ＜ＮＥf+1かつＬｉｆｔｉｎg-1＜Ｌｉｆｔｉｎ＜Ｌｉｆｔｉｎg+1の領域に対応する連結重み関数Ｗｃｐfgは、ＮＥ，Ｌｉｆｔｉｎがその領域の中心の値のとき、すなわちＮＥ＝ＮＥfかつＬｉｆｔｉｎ＝Ｌｉｆｔｉｎgのときに最大値１を示し、中心以外のＮＥ，Ｌｉｆｔｉｎの値に対しては、連結重み関数Ｗｃｐfgの値が四角錐の斜面状に変化するように設定されている。ここで、ｆ，ｇは０＜ｆ＜Ｉおよび０＜ｇ＜Ｊがそれぞれ成立する正の整数である。さらに、連結重み関数Ｗｃｐfgは、２つの値ＮＥ，Ｌｉｆｔｉｎが上記領域以外の値のとき、すなわちＮＥ≦ＮＥf-1、ＮＥf+1≦ＮＥ、Ｌｉｆｔｉｎ≦Ｌｉｆｔｉｎg-1またはＬｉｆｔｉｎg+1≦Ｌｉｆｔｉｎのときには、値０を示すように設定されている。
【０２４４】
また、連結重み関数Ｗｃｐfgは、これと隣り合う領域にそれぞれ対応する連結重み関数Ｗｃｐf-1g，Ｗｃｐf+1gに対して、互いの領域が重なり合う部分すなわち斜面状に変化する部分でその斜面同士が交差している。したがって、図４３に示すように、ＮＥxをＮＥfとＮＥf+1の間の中央の値とすると、例えば、ＮＥ＝ＮＥxおよびＬｉｆｔｉｎ＝Ｌｉｆｔｉｎgのときには、２つの連結重み関数Ｗｃｐfg，Ｗｃｐf+1gの値は、Ｗｃｐfg＝Ｗｃｐf+1g＝０．５となるとともに、それら以外の連結重み関数Ｗｃｐijの値はいずれも値０となる。これに加えて、ＮＥx＜ＮＥ＜ＮＥf+1およびＬｉｆｔｉｎ＝Ｌｉｆｔｉｎgのときには、連結重み関数Ｗｃｐfgの値は、０＜Ｗｃｐfg＜０．５となり、連結重み関数Ｗｃｐf+1gの値は、１−Ｗｃｐfgとなるとともに、それら以外の連結重み関数Ｗｃｐijの値はいずれも値０となる。
【０２４５】
さらに、図４４に示すように、連結重み関数Ｗｃｐfgは、これと隣り合う領域にそれぞれ対応する連結重み関数Ｗｃｐfg-1，Ｗｃｐfg+1に対しても、互いの領域が重なり合う部分すなわち斜面状に変化する部分でその斜面同士が交差している。したがって、同図に示すように、ＬｉｆｔｉｎyをＬｉｆｔｉｎg-1とＬｉｆｔｉｎgの間の中央の値とすると、例えば、ＮＥ＝ＮＥfおよびＬｉｆｔｉｎ＝Ｌｉｆｔｉｎyのときには、２つの連結重み関数Ｗｃｐfg-1，Ｗｃｐfgの値は、Ｗｃｐfg-1＝Ｗｃｐfg＝０．５となるとともに、それら以外の連結重み関数Ｗｃｐijの値はいずれも値０となる。これに加えて、ＮＥ＝ＮＥfおよびＬｉｆｔｉｎy＜Ｌｉｆｔｉｎ＜Ｌｉｆｔｉｎgのときには、連結重み関数Ｗｃｐfg-1の値は、０＜Ｗｃｐfg-1＜０．５となり、連結重み関数Ｗｃｐfgの値は、１−Ｗｃｐfg-1となるとともに、それら以外の連結重み関数Ｗｃｐijの値はいずれも値０となる。
【０２４６】
また、図示しないが、連結重み関数Ｗｃｐfgは、これと隣り合う領域にそれぞれ対応する連結重み関数Ｗｃｐf+1g-1，Ｗｃｐf-1g+1に対しても、互いの領域が重なり合う斜面状に変化する部分で互いの斜面同士が交差している。以上のように、隣り合う２つのエンジン回転数ＮＥの値（例えばＮＥf，ＮＥf+1）と、隣り合う２つのバルブリフトＬｉｆｔｉｎの値（例えばＬｉｆｔｉｎg，Ｌｉｆｔｉｎg+1）で規定される四角形の領域では、４つの連結重み関数Ｗｃｐij（例えばＷｃｐfg，Ｗｃｐfg+1，Ｗｃｐf+1g，Ｗｃｐf+1g+1）の斜面同士が互いに交差しているとともに、この領域内のエンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎの値に対して、これらの４つの連結重み関数Ｗｃｐijの総和は、値１になるように設定されている。なお、本実施形態では、図４２のＮＥ1およびＬｉｆｔｉｎ1はそれぞれ値０に設定されており、したがって、ＮＥ＜ＮＥ1またはＬｉｆｔｉｎ＜Ｌｉｆｔｉｎ1の領域では、連結重み関数Ｗｃｐijの値は実際には設定されていない。
【０２４７】
以上のように、この連結重み関数算出部１３１では、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎに応じて、図４２のマップを検索することにより、連結重み関数Ｗｃｐijの値がそれぞれ算出される。すなわち、連結重み関数Ｗｃｐijは、Ｉ×Ｊ個の値を要素とする行列として算出される。
【０２４８】
また、誤差重み算出部１３２では、前述した誤差重み算出部１２２と同じ手法により、誤差重みＷが算出される。すなわち、前述した図２１および図２２のマップ検索値を用いて、前述した式（１５）により、誤差重みＷが算出される。さらに、移行係数重み算出部１３３では、前述した移行係数重み算出部１２３と同様に、前述した式（１６）により、移行係数重みＷｋｇが算出される。
【０２４９】
次いで、修正誤差算出部１３４では、下式（４８）により、総重みＷｇijを算出した後、下式（４９）により、修正誤差Ｗｅａｆijが算出される。
【数２３】
2008102791.tif 000025
【０２５０】
このように、修正誤差Ｗｅａｆijは、Ｉ×Ｊ個の値を要素とする行列として算出されるとともに、空燃比誤差推定値Ｅａｆを、３つの値Ｗｃｐij，Ｗ，Ｗｋｇで重み付けした値として算出される。なお、本実施形態では、修正誤差Ｗｅａｆijが複数の第１乗算値に相当する。
【０２５１】
また、基本局所補正値算出部１３５では、下式（５０）〜（５７）に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓijが算出される。すなわち、基本局所補正値Ｄｌｉｆｔ＿ｂｓijは、修正誤差Ｗｅａｆijを値０に収束させるための、Ｉ×Ｊ個の値を要素とする行列として算出される。
【０２５２】
【数２４】
2008102791.tif 000026
【０２５３】
【数２５】
2008102791.tif 000027
【０２５４】
上式（５０）において、σijは切換関数であり、Ｓは−１＜Ｓ＜０の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タＳの設定値により、修正誤差Ｗｅａｆijの値０への収束速度が指定される。また、式（５１）において、Ｕｒｃｈijは到達則入力であり、Ｋｒｃｈは所定の到達則ゲインを表している。さらに、式（５２）において、Ｕｎｌijは非線形入力であり、Ｋｎｌは所定の非線形入力用ゲインを表している。また、式（５２）におけるｓｇｎ（σij(ｋ)）は符号関数であり、その値は、σij(ｋ)≧０のときにはｓｇｎ（σij(ｋ)）＝１となり、σij(ｋ)＜０のときにはｓｇｎ（σij(ｋ)）＝−１となるように設定される（なお、σij(ｋ)＝０のときに、ｓｇｎ（σij(ｋ)）＝０となるように設定してもよい）。
【０２５５】
さらに、式（５３）において、Ｕａｄｐijは適応則入力であり、Ｋａｄｐは所定の適応則ゲインを表している。また、式（５３）のδijは、式（５４）により算出される切換関数の積分値である。同式（５４）のλは忘却係数であり、その値は式（５５），（５６）に示すように、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓij（ｋ−１）と、前述した所定の上下限値Ｄｌｉｆｔ＿ｂｓ＿Ｈ，Ｄｌｉｆｔ＿ｂｓ＿Ｌとの比較結果により、値１または所定値λｌｍｔに設定される。
【０２５６】
また、式（５７）に示すように、基本局所補正値Ｄｌｉｆｔ＿ｂｓijは、到達則入力Ｕｒｃｈij、非線形入力Ｕｎｌijおよび適応則入力Ｕａｄｐijの和として算出される。なお、本実施形態では、基本局所補正値Ｄｌｉｆｔ＿ｂｓijが複数の修正値に相当する。
【０２５７】
以上の基本局所補正値Ｄｌｉｆｔ＿ｂｓijの算出アルゴリズムにおいて、忘却係数λを用いたのは、前述したように、２つの制御アルゴリズムにおける積分項としての適応則入力Ｕａｄｐ’，Ｕａｄｐijが、互いに干渉して振動的な挙動を示したり、それぞれの絶対値が肥大化したりするのを回避し、それにより、相関関係モデルが不適切に修正されるのを回避することで、過渡時の制御性を向上させるためである。また、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓij（ｋ−１）が上述した範囲にあるときには、前述したように、忘却係数λによる忘却効果をキャンセルするために、λ＝１に設定されている。なお、忘却係数λによる忘却効果が常に不要な場合には、式（５４）において、前回値Ｄｌｉｆｔ＿ｂｓij（ｋ−１）の大小にかかわらず、λ＝１と設定すればよい。
【０２５８】
一方、前述した補正感度算出部１３６では、前述した補正感度算出部１２６と同じ手法により、補正感度Ｒｌｉｆｔが算出される。すなわち、前述した図２３および図２４のマップ検索値を用いて、前述した式（２７）により、補正感度Ｒｌｉｆｔが算出される。
【０２５９】
次に、最終値算出部１３７では、下式（５８）により、局所補正値Ｄｌｉｆｔ＿ｌｃijを算出した後、下式（５９）により、リフト補正値Ｄｌｉｆｔが最終的に算出される。なお、本実施形態では、局所補正値Ｄｌｉｆｔ＿ｌｃijが複数の第２乗算値および複数の乗算値に相当する。
【数２６】
2008102791.tif 000028
【０２６０】
リフト補正値算出部１３０では、以上のように、リフト補正値Ｄｌｉｆｔが、基本局所補正値Ｄｌｉｆｔ＿ｂｓijに補正感度Ｒｌｉｆｔおよび連結重み関数Ｗｃｐijを乗算した局所補正値Ｄｌｉｆｔ＿ｌｃijの総和として算出される。この場合、基本局所補正値Ｄｌｉｆｔ＿ｂｓijは、修正誤差Ｗｅａｆijを値０に収束させるための値であるので、リフト補正値ＤｌｉｆｔによりバルブリフトＬｉｆｔｉｎを補正することは、リフト誤差を解消するように、バルブリフトＬｉｆｔｉｎを補正または修正することに相当する。したがって、そのような補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄに応じて、前述した図４３のマップを検索することにより、基本推定吸気量ｇｃｙｌ＿ｖｔ＿ｂａｓｅを算出することは、リフト誤差を解消するように修正されたマップすなわち相関関係モデルを用いて、第１入力値としての第１推定吸気量ｇｃｙｌ＿ｖｔを算出することに相当する。
【０２６１】
以上のように、第２実施形態の制御装置１Ａによれば、第１実施形態の連結重み関数Ｗｃｐiに代えて、連結重み関数Ｗｃｐijを用いて、リフト補正値Ｄｌｉｆｔが算出されるので、第１実施形態の制御装置１と同様の作用効果を得ることができる。これに加えて、連結重み関数Ｗｃｐijが、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥに応じて算出されるので、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥの領域毎の、リフト誤差の変化を適切に補償することができる。特に、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥと、基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅとの間の実際の相関関係に対するずれが、バルブリフトＬｉｆｔｉｎおよびエンジン回転数ＮＥのＩ×Ｊ個の領域毎にずれの変化方向が異なる場合でも、そのようなずれに対応しながら、相関関係モデルを領域毎に適切に修正できる。それにより、エンジン回転数ＮＥのみに応じて算出される連結重み関数Ｗｃｐiを用いた第１実施形態の場合と比べて、制御精度および制御の安定性をさらに向上させることができる。
【０２６２】
なお、第２実施形態は、基本局所補正値Ｄｌｉｆｔ＿ｂｓijの算出アルゴリズムとして、前述した式（５０）〜（５７）の制御アルゴリズムを用いた例であるが、これに代えて、下式（６０）〜（６８）に示す、適応外乱オブザーバとスライディングモード制御アルゴリズムを組み合わせて適用した制御アルゴリズムにより、基本局所補正値Ｄｌｉｆｔ＿ｂｓijを算出してもよい。
【０２６３】
【数２７】
2008102791.tif 000029
【０２６４】
【数２８】
2008102791.tif 000030
【０２６５】
【数２９】
2008102791.tif 000031
【０２６６】
上式（６３）のσij＿ｈａｔは、切換関数の推定値であり、Ｕｌｓijは、外乱推定値である。この外乱推定値Ｕｌｓijは、式（６４），（６５）に示す固定ゲイン式の同定アルゴリズムにより算出される。同式（６４）のＥ＿ｓｉｇijは、推定誤差を表している。また、式（６５）のＰは、一定値の同定ゲインである。なお、上式（６３）〜（６７）が適応外乱オブザーバにおける外乱推定値Ｕｌｓijの算出アルゴリズムである。
【０２６７】
この制御アルゴリズムの式（６５）では、外乱推定値の前回値Ｕｌｓij（ｋ−１）に忘却係数λが乗算されているとともに、基本局所補正値Ｄｌｉｆｔ＿ｂｓijの絶対値が大きい場合には、忘却係数λが０＜λ＜１の範囲内の値に設定されるので、前述したような忘却効果により、空燃比補正係数ＫＡＦおよび基本局所補正値Ｄｌｉｆｔ＿ｂｓijのそれぞれの制御アルゴリズムにおける積分項Ｕａｄｐ’，Ｕｌｓijが、互いに干渉して振動的な挙動を示したり、それぞれの絶対値が肥大化したりするのを回避でき、それにより、相関関係モデルが不適切に修正されるのを回避できる。その結果、第１推定吸気量Ｇｃｙｌ＿ｖｔの算出精度を向上させることができ、過渡時の制御性を向上させることができる。また、基本局所補正値の前回値Ｄｌｉｆｔ＿ｂｓij（ｋ−１）の絶対値が小さい場合には、忘却係数λが値１に設定されるので、修正誤差Ｗｅａｆijが値０近傍になったときでも、基本局所補正値Ｄｌｉｆｔ＿ｂｓijを適切な値に保持することができる。それにより、修正誤差Ｗｅａｆijが増大し始めたときの応答性を向上させることができ、制御精度を向上させることができる。
【０２６８】
以上に加えて、外乱推定値Ｕｌｓijが適応外乱オブザーバにおける固定ゲイン式の同定アルゴリズムにより算出されるので、適応則入力Ｕａｄｐijを用いる第２実施形態の制御アルゴリズムと比べて、基本局所補正値Ｄｌｉｆｔ＿ｂｓijにおける積分的な揺らぎ挙動およびオーバーシュート挙動の抑制能力をさらに向上させることができる。
【０２６９】
また、第２実施形態は、参照パラメータとして、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎを用いた例であるが、本願発明の参照パラメータはこれに限らず、制御量以外のパラメータであればよい。例えば、可変カム位相機構７０を有するエンジン３の空燃比を制御する場合において、エンジン回転数ＮＥおよびバルブリフトＬｉｆｔｉｎに加えて、カム位相Ｃａｉｎを参照パラメータとしてさらに用いてもよい。さらに、可変バルブリフト機構５０および可変カム位相機構７０などを備えておらず、スロットル弁機構のみを備えたエンジンの空燃比を制御する場合には、スロットル弁機構の開度を参照パラメータとして用いてもよい。これに加えて、吸気管内圧センサおよびクランク角センサを備え、これらのパラメータに応じて空燃比を制御する、いわゆるスピードデンシティ方式のエンジンの場合には、吸気管内圧およびエンジン回転数ＮＥを参照パラメータとして用いてもよい。
【０２７０】
さらに、第２実施形態は、可変吸気機構の動作状態を表す動作状態パラメータとして、バルブリフトＬｉｆｔｉｎを用いた例であるが、本願発明の制御装置における動作状態パラメータはこれらに限らないことは言うまでもない。例えば、可変カム位相機構７０を有するエンジン３の空燃比を制御する場合において、カム位相Ｃａｉｎを動作状態パラメータとして用いてもよい。さらに、可変バルブリフト機構５０および可変カム位相機構７０などを備えておらず、スロットル弁機構のみを備えたエンジンの空燃比を制御する場合には、スロットル弁機構の開度を動作状態パラメータとして用いてもよい。これに加えて、吸気管内圧センサおよびクランク角センサを備え、これらのパラメータに応じて空燃比を制御する、いわゆるスピードデンシティ方式のエンジンの場合には、吸気管内圧およびエンジン回転数ＮＥを動作状態パラメータとして用いてもよい。
【０２７１】
一方、第２実施形態は、連結重み関数算出部１３１で、連結重み関数Ｗｃｐijの算出マップとして、図４２のマップを用いた例であるが、連結重み関数Ｗｃｐijの算出マップとして、連結重み関数Ｗｃｐijの値が、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐおよびエンジン回転数ＮＥに応じて設定されたものを用いてもよい。すなわち、図４２で、連結重み関数Ｗｃｐijの値が、バルブリフトＬｉｆｔｉｎに代えて、第２補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄ＿ｐに応じて設定されているものを用いてもよい。
【０２７２】
また、第２実施形態は、所定の複数の関数として、連結重み関数Ｗｃｐijを用いた例であるが、本願発明の所定の複数の関数はこれに限らず、参照パラメータが変化し得る領域を区分した複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されているとともに、互いに重なり合う領域において、この重なり合う領域に対応する関数の値の総和の絶対値が、各関数における最大値の絶対値と等しくなるように設定されているものであればよい。例えば、所定の複数の関数として、最大値が値１以外の正値または負値に設定されたものを用いてもよい。
【０２７３】
次に、本発明の第３実施形態に係る制御装置１Ｂ（図４５参照）について説明する。なお、以下の説明では、第１実施形態と同じ構成に関しては、同じ符号を付すとともに、その説明は省略する。この制御装置１Ｂは、前述した自動変速機付きのエンジン３を前側に搭載するとともに、いずれも図示しない後輪および前輪をそれぞれ駆動輪および非駆動輪とする、いわゆるＦＲ方式の車両（図示せず）に適用されたものであり、具体的には、この車両のトラクションコントロールを実行するものである。
【０２７４】
なお、トラクションコントロールとは、車両の加速時、エンジントルクが過大になり、駆動輪が非駆動輪に対して空転する状態が発生したときに、エンジントルクを低減することによって、空転状態を回避し、車両の安定性の確保および加速性の向上を両立させるようにする制御手法のことである。
【０２７５】
図４５に示すように、この制御装置１Ｂは、ＥＣＵ２を備えており、このＥＣＵ２には、前述したセンサ２０〜２７などに加えて、左右の前輪速センサ８０，８１および左右の後輪速センサ８２，８３が接続されている。左右の前輪速センサ８０，８１はそれぞれ、左右の前輪速を表す検出信号をＥＣＵ２に出力し、左右の後輪速センサ８２，８３はそれぞれ、左右の後輪速を表す検出信号をＥＣＵ２に出力する。
【０２７６】
ＥＣＵ２は、左右の前輪速センサ８０，８１の検出信号に基づき、左右の前輪速を算出するとともに、これらの相加平均値を、非駆動輪速Ｗｓ＿ｒｅｆとして算出する。さらに、ＥＣＵ２は、左右の後輪速センサ８２，８３の検出信号に基づき、左右の後輪速を算出するとともに、これらの相加平均値を、駆動輪速Ｗｓ＿ａｃｔとして算出する。なお、本実施形態では、左右の前輪速センサ８０，８１が参照パラメータ検出手段に相当し、非駆動輪速Ｗｓ＿ｒｅｆが参照パラメータおよび第２車輪速度に相当し、左右の後輪速センサ８２，８３が制御量検出手段に相当し、駆動輪速Ｗｓ＿ａｃｔが制御量および第１車輪速度に相当する。
【０２７７】
また、図４６に示すように、制御装置１Ｂは、トラクションコントローラ２００を備えている。このトラクションコントローラ２００は、以下に述べるように、駆動輪の空転状態を回避し、車両の安定性の確保および加速性の向上を両立できるようなエンジン３のトルクとして、エンジントルクＴｒｑを算出するものであり、具体的にはＥＣＵ２によって構成されている。なお、本実施形態では、トラクションコントローラ２００が制御入力算出手段に相当し、エンジントルクＴｒｑが制御入力および内燃機関の出力に相当する。
【０２７８】
同図に示すように、トラクションコントローラ２００は、目標車輪速算出部２０１、車輪速フィードバックコントローラ２０２、最大／最小トルク算出部２０３、正規化要求駆動力算出部２０４、乗算要素２０５、フィードフォワードトルク算出部２０６、加算要素２０７およびトルク補正値算出部２１０を備えている。
【０２７９】
まず、目標車輪速算出部２０１では、下式（６９）により、目標車輪速Ｗｓ＿ｃｍｄが算出される。なお、本実施形態では、目標車輪速算出部２０１が目標制御量設定手段に相当し、目標車輪速Ｗｓ＿ｃｍｄが目標制御量に相当する。
【数３０】
2008102791.tif 000032
【０２８０】
上式（６９）のＯｐｔＳｌｉｐは、駆動輪と非駆動輪の間において許容可能なスリップ量に相当する所定のスリップオフセット値であり、本実施形態では、一定値（例えば１０ｋｍ／ｈ）に設定されている。なお、このスリップオフセット値ＯｐｔＳｌｉｐを、所定のパラメータ（例えば、非駆動輪速Ｗｓ＿ｒｅｆ、路面の摩擦抵抗係数の推定値、ヨーレートセンサの検出信号および車体のスリップ角センサの検出信号など）に応じて、マップ検索や所定の算出式により決定してもよい。
【０２８１】
また、車輪速フィードバックコントローラ２０２では、目標車輪速Ｗｓ＿ｃｍｄおよび駆動輪速Ｗｓ＿ａｃｔに応じて、後述する手法により、トルクフィードバック値Ｔｒｑ＿ｆｂが算出される。なお、本実施形態では、車輪速フィードバックコントローラ２０２が誤差パラメータ算出手段に相当し、トルクフィードバック値Ｔｒｑ＿ｆｂが誤差パラメータおよび第２入力値に相当する。
【０２８２】
さらに、トルク補正値算出部２１０では、トルクフィードバック値Ｔｒｑ＿ｆｂ、エンジン回転数ＮＥおよび非駆動輪速Ｗｓ＿ｒｅｆに応じて、後述する手法により、トルク補正値Ｋｔｒｑが算出される。なお、本実施形態では、トルク補正値算出部２１０がモデル修正手段に相当する。
【０２８３】
一方、最大／最小トルク算出部２０３では、エンジン回転数ＮＥに応じて、図４７に示すマップを検索することにより、最大トルクＴｒｑ＿ｍａｘおよび最小トルクＴｒｑ＿ｍｉｎがそれぞれ算出される。同図のＮＥｈｉｇｈは、所定の最大許容回転数（例えば７０００ｒｐｍ）を表している。これらの値Ｔｒｑ＿ｍａｘ，Ｔｒｑ＿ｍｉｎは、そのエンジン回転数ＮＥにおいて達成可能なエンジントルクの最大値および最小値に相当する。また、このマップでは、最小トルクＴｒｑ＿ｍｉｎが負値に設定されている。これは、最小トルクＴｒｑ＿ｍｉｎが、アクセルペダルが踏まれていない、減速フューエルカット運転中でのエンジンブレーキ状態におけるエンジントルクに相当するためである。
【０２８４】
なお、本実施形態では、クランク角センサ２０および最大／最小トルク算出部２０３が参照パラメータ検出手段に相当し、最大トルクＴｒｑ＿ｍａｘが参照パラメータおよび内燃機関の出力の制限値に相当する。
【０２８５】
また、正規化要求駆動力算出部２０４では、アクセル開度ＡＰに応じて、図４８に示すマップを検索することにより、正規化要求駆動力Ｋｔｒｑ＿ａｐが算出される。同図のＡＰｍａｘは、アクセル開度の最大値（１００％）を表している。また、正規化要求駆動力Ｋｔｒｑ＿ａｐは、アクセル開度ＡＰに基づいて決定される要求駆動力Ｔｒｑ＿ａｐを、ＡＰ＝ＡＰｍａｘのときの要求駆動力Ｔｒｑ＿ａｐｍａｘを基準として正規化した値、すなわちＫｔｒｑ＿ａｐ＝Ｔｒｑ＿ａｐ÷Ｔｒｑ＿ａｐｍａｘが成立する値を表している。
【０２８６】
さらに、乗算要素２０５では、下式（７０）により、補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄが算出される。すなわち、補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄは、最大トルクＴｒｑ＿ｍａｘをトルク補正値Ｋｔｒｑで補正することにより算出される。
【数３１】
2008102791.tif 000033
【０２８７】
また、前述したフィードフォワードトルク算出部２０６では、下式（７１）により、フィードフォワードトルクＴｒｑ＿ｆｆが算出される。
【数３２】
2008102791.tif 000034
【０２８８】
なお、本実施形態では、フィードフォワードトルク算出部２０６が第１入力値算出手段に相当し、フィードフォワードトルクＴｒｑ＿ｆｆが第１入力値に相当する。さらに、式（７０），（７１）を用いて、フィードフォワードトルクＴｒｑ＿ｆｆを算出することが、修正された相関関係モデルを用いて、第１入力値を算出することに相当する。
【０２８９】
そして、加算要素２０７において、下式（７２）により、エンジントルクＴｒｑが最終的に算出される。すなわち、エンジントルクＴｒｑは、トルクフィードバック値Ｔｒｑ＿ｆｂとフィードフォワードトルクＴｒｑ＿ｆｆの和として算出される。
【数３３】
2008102791.tif 000035
【０２９０】
次に、前述した車輪速フィードバックコントローラ２０２について説明する。この車輪速フィードバックコントローラ２０２では、以下の式（７３）〜（８３）に示す、目標値フィルタ型２自由度スライディングモード制御アルゴリズムと、適応外乱オブザーバを組み合わせて適用した制御アルゴリズムにより、トルクフィードバック値Ｔｒｑ＿ｆｂが算出される。
【０２９１】
【数３４】
2008102791.tif 000036
【０２９２】
【数３５】
2008102791.tif 000037
【０２９３】
【数３６】
2008102791.tif 000038
【０２９４】
この制御アルゴリズムでは、まず、式（７３）に示す一次遅れタイプのローパスフィルタアルゴリズムにより、目標車輪速のフィルタ値Ｗｓ＿ｃｍｄ＿ｆが算出される。同式（７３）において、Ｒｔは、目標値フィルタ設定パラメータであり、−１＜Ｒｔ＜０の関係が成立する値に設定される。この場合、目標値フィルタ設定パラメータＲｔの設定値により、フィルタ値Ｗｓ＿ｃｍｄ＿ｆの目標車輪速Ｗｓ＿ｃｍｄへの追従速度が決定される。
【０２９５】
次いで、式（７４）〜（７７）に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、到達則入力Ｕｒｃｈ＿ｔおよび非線形入力Ｕｎｌ＿ｔが算出される。同式（７４）のＥｔは、追従誤差であり、式（７５）のσｔは、切換関数である。また、式（７５）のＳｔは、切換関数設定パラメータであり、−１＜Ｓｔ＜０の関係が成立する値に設定されている。この場合、切換関数設定パラメータＳｔの設定値により、追従誤差Ｅｔの値０への収束速度が指定される。さらに、式（７６）のＫｒｃｈ＿ｔは、所定の到達則ゲインを表しており、式（７７）のＫｎｌ＿ｔは、所定の非線形入力用ゲインを表している。さらに、式（７７）におけるｓｇｎ（σｔ(ｋ)）は符号関数であり、その値は、σｔ(ｋ)≧０のときにはｓｇｎ（σｔ(ｋ)）＝１となり、σｔ(ｋ)＜０のときにはｓｇｎ（σｔ(ｋ)）＝−１となるように設定される（なお、σｔ(ｋ)＝０のときに、ｓｇｎ（σｔ(ｋ)）＝０となるように設定してもよい）。
【０２９６】
次に、式（７８）〜（８２）に示す適応外乱オブザーバを適用した制御アルゴリズムにより、外乱推定値Ｕｌｓ＿ｔが算出される。同式（７８）のσｔ＿ｈａｔは、切換関数の推定値であり、Ｕｌｓ＿ｔは、外乱推定値である。この外乱推定値Ｕｌｓ＿ｔは、式（７９），（８０）に示す固定ゲイン式の同定アルゴリズムにより算出される。同式（７９）のＥｔ＿ｓｉｇは、推定誤差を表しており、式（８０）のＰｔは、一定値の同定ゲインである。
【０２９７】
さらに、式（８０）のλｔは忘却係数であり、その値は式（８１），（８２）に示すように、外乱推定値の前回値Ｕｌｓ＿ｔ（ｋ−１）と所定の上下限値Ｕｌｓ＿ｔ＿Ｈ，Ｕｌｓ＿ｔ＿Ｌとの比較結果により、値１または所定値λｔｌｍｔに設定される。この上限値Ｕｌｓ＿ｔ＿Ｈは正の所定値に設定され、下限値Ｕｌｓ＿ｔ＿Ｌは負の所定値に設定されるとともに、所定値λｔｌｍｔは、０＜λｔｌｍｔ＜１が成立するような値に設定される。
【０２９８】
そして、トルクフィードバック値Ｔｒｑ＿ｆｂは、最終的に、式（８３）に示すように、到達則入力Ｕｒｃｈ＿ｔ、非線形入力Ｕｎｌ＿ｔおよび外乱推定値Ｕｌｓ＿ｔの和として算出される。
【０２９９】
以上のように、車輪速フィードバックコントローラ２０２では、トルクフィードバック値Ｔｒｑ＿ｆｂが式（７３）〜（８３）に示す制御アルゴリズムにより算出されるので、このトルクフィードバック値Ｔｒｑ＿ｆｂは、駆動輪速Ｗｓ＿ａｃｔを目標車輪速のフィルタ値Ｗｓ＿ｃｍｄ＿ｆに収束させるための値、すなわち駆動輪速Ｗｓ＿ａｃｔを目標車輪速Ｗｓ＿ｃｍｄに収束させるための値として算出される。この場合、目標車輪速Ｗｓ＿ｃｍｄは、前述したように、非駆動輪速Ｗｓ＿ｒｅｆにスリップオフセット値ＯｐｔＳｌｉｐを加算することにより算出されるので、Ｗｓ＿ａｃｔ≒Ｗｓ＿ｃｍｄとなった状態では、Ｗｓ＿ｒｅｆ−Ｗｓ＿ａｃｔ≒ＯｐｔＳｌｉｐが成立する状態となる。
【０３００】
また、忘却係数λｔを用いながら、トルクフィードバック値Ｔｒｑ＿ｆｂが算出されるので、外乱推定値の前回値Ｕｌｓ＿ｔ（ｋ−１）の絶対値が大きい場合には、前述した忘却効果により、外乱推定値Ｕｌｓ＿ｔすなわちトルクフィードバック値Ｔｒｑ＿ｆｂが積分的に増大するのを回避できることで、制御系の過渡応答の安定性を確保することができる。また、外乱推定値の前回値Ｕｌｓ＿ｔ（ｋ−１）の絶対値が小さい場合には、忘却係数λｔが値１に設定されるので、追従誤差Ｅｔが値０に収束したときでも、トルクフィードバック値Ｔｒｑ＿ｆｂを、追従誤差Ｅｔを迅速に補償可能な適切な値に保持することができ、それにより、追従誤差Ｅｔが増大し始めたときの応答性を向上させることができる。
【０３０１】
次に、図４９を参照しながら、前述したトルク補正値算出部２１０について説明する。このトルク補正値算出部２１０は、以下に述べるように、トルク誤差Ｅｔｆを補償すべき制御誤差と見なして、これが値０になるように、最大トルクＴｒｑ＿ｍａｘを補正するためのトルク補正値Ｋｔｒｑを算出するものである。トルク補正値算出部２１０は、同図に示すように、連結重み関数算出部２１１、誤差重み算出部２１２、トルク誤差算出部２１３、修正トルク誤差算出部２１４、基本局所補正値算出部２１５、トルク補正感度算出部２１６および最終値算出部２１７を備えている。
【０３０２】
まず、連結重み関数算出部２１１では、エンジン回転数ＮＥに応じて、図５０に示すマップを検索することにより、連結重み関数Ｗｃviが算出される。なお、本実施形態では、連結重み関数Ｗｃviが所定の複数の関数に相当する。このマップでは、連結重み関数Ｗｃviの値は、前述した連結重み関数Ｗｃｐiと同様に設定されている。すなわち、連結重み関数Ｗｃviは、４つの値を要素とするベクトルとして算出される。
【０３０３】
これらの４つの連結重み関数Ｗｃviの値はそれぞれ、エンジン回転数ＮＥが変化し得る領域を０≦ＮＥ＜ＮＥｘ３，ＮＥｘ１＜ＮＥ＜ＮＥｘ５，ＮＥｘ３＜ＮＥ＜ＮＥｘ７，ＮＥｘ５＜ＮＥ≦ＮＥｘ８の４つの領域に区分した場合において、これらの４つの領域に対応するように設定されているとともに、対応する領域では、値１以下の正の値に設定され、対応する領域以外では、値０に設定されている。
【０３０４】
なお、連結重み関数Ｗｃviとして、図５０に示す４個の値を要素とするものに代えて、２個または３個の値や、５個以上の値を要素とする連結重み関数Ｗｃviを用いてもよい。その場合には、エンジン回転数ＮＥの領域を、要素の数に応じて、互いに重なり合うように設定すればよい。
【０３０５】
また、誤差重み算出部２１２では、エンジン回転数ＮＥおよび非駆動輪速Ｗｓ＿ｒｅｆに応じて、図５１に示すマップを検索することにより、誤差重みＷｔが算出される。この誤差重みＷｔは、駆動輪速Ｗｓ＿ａｃｔの変化量ΔＷｓ＿ａｃｔとエンジントルクＴｒｑの変化量ΔＴｒｑの比ΔＷｓ＿ａｃｔ／ΔＴｒｑを、所定の駆動輪速＆所定のエンジントルクでの比ΔＷｓ＿ａｃｔ＿ｒｅｆ／ΔＴｒｑ＿ｒｅｆの絶対値｜ΔＷｓ＿ａｃｔ＿ｒｅｆ／ΔＴｒｑ＿ｒｅｆ｜を基準として正規化した値、すなわち、Ｗｔ＝（ΔＷｓ＿ａｃｔ／ΔＴｒｑ）÷（｜ΔＷｓ＿ａｃｔ＿ｒｅｆ／ΔＴｒｑ＿ｒｅｆ｜）が成立する値を表している。
【０３０６】
この誤差重みＷｔは、アクセル開度ＡＰが急増するのに起因して、エンジン回転数ＮＥとフィードフォワードトルクＴｒｑ＿ｆｆとの間の相関関係、すなわち最大トルクＴｒｑ＿ｍａｘとフィードフォワードトルクＴｒｑ＿ｆｆとの間の相関関係が変化し、それにより、トルク誤差Ｅｔｆすなわち駆動輪のスリップが発生したと想定される場合において、このトルク誤差Ｅｔｆが、エンジントルクＴｒｑの過大に起因して発生した確率を表している。具体的には、誤差重みＷｔは、トルク誤差ＥｔｆがエンジントルクＴｒｑの過大に起因して発生した確率が高いほど、より大きい値に設定されている。言い換えれば、誤差重みＷｔは、トルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの影響度合を表す値として算出される。また、このような、トルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの影響度合は、トランスミッションにおけるギヤ比によっても変化するので、同図では、誤差重みＷｔが、エンジン回転数ＮＥおよび非駆動輪速Ｗｓ＿ｒｅｆに応じて設定されている。
【０３０７】
同図において、Ｗｓ＿ｒｅｆ１〜３は、Ｗｓ＿ｒｅｆ１＜Ｗｓ＿ｒｅｆ２＜Ｗｓ＿ｒｅｆ３が成立する非駆動輪速Ｗｓ＿ｒｅｆの所定値を表している。このマップでは、誤差重みＷｔは、非駆動輪速Ｗｓ＿ｒｅｆが高いほど、より小さい値に設定されている。これは、非駆動輪速Ｗｓ＿ｒｅｆが高いことで、トランスミッションにおけるギヤ比が高いほど、駆動輪速のスリップが発生しにくいので、それに応じて、トルク補正値Ｋｔｒｑによる最大トルクＴｒｑ＿ｍａｘの減少側への補正量をより小さくするためである。また、誤差重みＷｔは、エンジン回転数ＮＥに対して、エンジン性能曲線におけるトルク曲線と同じような傾向に設定されている。これは、誤差重みＷｔがトルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの影響度合を表す値であることによる。
【０３０８】
さらに、トルク誤差算出部２１３では、下式（８４）により、トルク誤差Ｅｔｆが算出される。
【数３７】
2008102791.tif 000039
【０３０９】
上式（８４）のＴｒｑ＿ｆｂ＿ｃｍｄは、トルクフィードバック値Ｔｒｑ＿ｆｂの目標となる目標トルクフィードバック値であり、一定値（例えば値０）に設定される。なお、本実施形態では、目標トルクフィードバック値Ｔｒｑ＿ｆｂ＿ｃｍｄが所定の目標値に相当し、トルク誤差Ｅｔｆが誤差パラメータおよび所定の目標値の一方と他方との偏差に相当する。
【０３１０】
次いで、修正トルク誤差算出部２１４では、下式（８５）により、修正トルク誤差Ｗｅｔｒｑiが算出される。すなわち、修正トルク誤差Ｗｅｔｒｑiは、４つの値を要素とするベクトルとして算出される。なお、本実施形態では、修正トルク誤差Ｗｅｔｒｑiが複数の第１乗算値に相当する。
【数３８】
2008102791.tif 000040
【０３１１】
次いで、基本局所補正値算出部２１５では、下式（８６）〜（９３）に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本局所補正値Ｄｋｔｒｑ＿ｂｓiが算出される。すなわち、基本局所補正値Ｄｋｔｒｑ＿ｂｓiは、４つの値を要素とするベクトルとして算出される。なお、本実施形態では、基本局所補正値Ｄｋｔｒｑ＿ｂｓiが複数の修正値に相当する。
【０３１２】
【数３９】
2008102791.tif 000041
【０３１３】
【数４０】
2008102791.tif 000042
【０３１４】
【数４１】
2008102791.tif 000043
【０３１５】
上式（８６）において、σｖiは切換関数である。また、同式（８６）のＳｖは−１＜Ｓｖ＜Ｓｔ＜０の関係が成立するように設定される切換関数設定パラメータであり、２つの切換関数設定パラメータＳｔ，Ｓｖがこのように設定されている理由については、後述する。この場合、切換関数設定パラメータＳｖの設定値により、修正トルク誤差Ｗｅｔｒｑiの値０への収束速度が指定される。また、式（８７）において、Ｕｒｃｈ＿ｖiは到達則入力であり、Ｋｒｃｈ＿ｖは所定の到達則ゲインを表している。さらに、式（８８）において、Ｕｎｌ＿ｖiは非線形入力であり、Ｋｎｌ＿ｖは所定の非線形入力用ゲインを表している。また、式（８８）におけるｓｇｎ（σｖi(ｋ)）は符号関数であり、その値は、σｖi(ｋ)≧０のときにはｓｇｎ（σｖi(ｋ)）＝１となり、σｖi(ｋ)＜０のときにはｓｇｎ（σｖi(ｋ)）＝−１となるように設定される（なお、σｖi(ｋ)＝０のときに、ｓｇｎ（σｖi(ｋ)）＝０となるように設定してもよい）。
【０３１６】
さらに、式（８９）において、Ｕａｄｐ＿ｖiは適応則入力であり、Ｋａｄｐ＿ｖは所定の適応則ゲインを表している。また、式（８９）のＵａｄｐ＿ｖ＿ｉｎｉは、適応則入力の初期値であり、一定値（例えば値１）に設定される。さらに、式（８９）のδｖiは、式（９０）により算出される切換関数の積分値である。同式（９０）のλｖは忘却係数であり、その値は式（９１），（９２）に示すように、基本局所補正値の前回値Ｄｋｔｒｑ＿ｂｓi（ｋ−１）と所定の上下限値Ｄｋｔｒｑ＿ｂｓ＿Ｈ，Ｄｋｔｒｑ＿ｂｓ＿Ｌとの比較結果により、値１または所定値λｖｌｍｔに設定される。この上限値Ｄｋｔｒｑ＿ｂｓ＿Ｈは正の所定値に設定され、下限値Ｄｋｔｒｑ＿ｂｓ＿Ｌは負の所定値に設定されるとともに、所定値λｖｌｍｔは、０＜λｖｌｍｔ＜１が成立するような値に設定される。
【０３１７】
また、式（９３）に示すように、基本局所補正値Ｄｋｔｒｑ＿ｂｓiは、到達則入力Ｕｒｃｈ＿ｖi、非線形入力Ｕｎｌ＿ｖiおよび適応則入力Ｕａｄｐ＿ｖiの和として算出される。
【０３１８】
以上のように、この基本局所補正値算出部２１５では、基本局所補正値Ｄｋｔｒｑ＿ｂｓiが式（８６）〜（９３）に示す制御アルゴリズムにより算出されるので、この基本局所補正値Ｄｋｔｒｑ＿ｂｓiは、修正トルク誤差Ｗｅｔｒｑiをそれぞれ値０に収束させるための値、言い換えれば、トルクフィードバック値Ｔｒｑ＿ｆｂを目標トルクフィードバック値Ｔｒｑ＿ｆｂ＿ｃｍｄに収束させる値として算出される。
【０３１９】
また、忘却係数λｖを用いながら、基本局所補正値Ｄｋｔｒｑ＿ｂｓiが算出されるので、基本局所補正値の前回値Ｄｋｔｒｑ＿ｂｓi（ｋ−１）の絶対値が大きい場合には、前述した忘却効果により、トルクフィードバック値Ｔｒｑ＿ｆｂおよび基本局所補正値Ｄｋｔｒｑ＿ｂｓiのそれぞれの制御アルゴリズムにおける積分項Ｕｌｓ＿ｔ，Ｕａｄｐ＿ｖiが、互いに干渉して振動的な挙動を示したり、それぞれの絶対値が肥大化したりすることによって、相関関係モデルが不適切に修正されるのを回避できる。その結果、基本局所補正値Ｄｋｔｒｑ＿ｂｓiすなわちフィードフォワードトルクＴｒｑ＿ｆｆの算出精度を向上させることができ、過渡時の制御性を向上させることができる。また、基本局所補正値の前回値Ｄｋｔｒｑ＿ｂｓi（ｋ−１）の絶対値が小さい場合には、忘却係数λｖが値１に設定されるので、トルク誤差Ｅｔｆが値０に収束したときでも、トルクフィードバック値Ｔｒｑ＿ｆｂを、追従誤差Ｅｔを迅速に補償可能な値に適切に保持することができ、それにより、修正トルク誤差Ｗｅｔｒｑiが増大し始めたときの応答性を向上させることができる。
【０３２０】
一方、トルク補正感度算出部２１６では、エンジン回転数ＮＥおよび非駆動輪速Ｗｓ＿ｒｅｆに応じて、図５２に示すマップを検索することにより、トルク補正感度Ｒｔｒｑが算出される。このトルク補正感度Ｒｔｒｑは、前述した誤差重みＷｔと同様に、駆動輪速Ｗｓ＿ａｃｔの変化量ΔＷｓ＿ａｃｔとエンジントルクＴｒｑの変化量ΔＴｒｑの比ΔＷｓ＿ａｃｔ／ΔＴｒｑを、所定の駆動輪速＆所定のエンジントルクでの比ΔＷｓ＿ａｃｔ＿ｒｅｆ／ΔＴｒｑ＿ｒｅｆの絶対値｜ΔＷｓ＿ａｃｔ＿ｒｅｆ／ΔＴｒｑ＿ｒｅｆ｜を基準として正規化した値を表している。
【０３２１】
同図において、実線で示す曲線が、トルク補正感度Ｒｔｒｑの値を表しており、破線で示す曲線は、前述した誤差重みＷｔの値を比較のために表したものである。これらの２つの曲線を比較すると明らかなように、このマップでは、トルク補正感度Ｒｔｒｑは、誤差重みＷｔとほぼ同じような傾向に設定されており、これは、図５１の説明で述べたのと同じ理由による。
【０３２２】
このように、トルク補正感度Ｒｔｒｑは、前述した誤差重みＷｔと同様の手法により算出されるので、トルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの影響度合を表す値として算出される。また、前述したように、トルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの影響度合は、トランスミッションにおけるギヤ比によっても変化するので、同図５２では、トルク補正感度Ｒｔｒｑが、エンジン回転数ＮＥおよび非駆動輪速Ｗｓ＿ｒｅｆに応じて設定されている。
【０３２３】
また、同図では、トルク補正感度Ｒｔｒｑは、低非駆動輪速かつ低〜中回転域、すなわちトラクションコントロールが作動しやすい領域では、誤差重みＷｔと同じ値に設定され、それ以外の領域では、誤差重みＷｔよりも小さい値に設定されている。これは、トルク補正値Ｋｔｒｑによる最大トルクＴｒｑ＿ｍａｘの減少側への補正量が少なすぎると、駆動輪のスリップが発生する可能性があるので、それを回避するためである。
【０３２４】
そして、最終値算出部２１７では、下式（９４）により、局所補正値Ｄｋｔｒｑ＿ｌｃiを算出した後、下式（９５）により、トルク補正値Ｋｔｒｑが最終的に算出される。なお、本実施形態では、局所補正値Ｄｋｔｒｑ＿ｌｃiが複数の第２乗算値および複数の乗算値に相当する。
【数４２】
2008102791.tif 000044
【０３２５】
上式（９５）に示すように、トルク補正値Ｋｔｒｑは、値１から局所補正値Ｄｋｔｒｑ＿ｌｃiの総和を減算した値として算出される。これは、前述したように、トルク補正値Ｋｔｒｑが最大トルクＴｒｑ＿ｍａｘへの乗算値として用いられるので、最大トルクＴｒｑ＿ｍａｘを補正する必要がない場合、Ｋｔｒｑ＝１となるようにするためである。
【０３２６】
本実施形態の制御装置１Ｂでは、以上のように、トラクションコントローラ２００によってエンジントルクＴｒｑが算出されるとともに、図示しないが、このエンジントルクＴｒｑが得られるように、可変機構制御処理、空燃比制御処理および点火時期制御処理が実行される。
【０３２７】
次に、以上のように構成された第３実施形態の制御装置１Ｂによるトラクションコントロールの制御結果について説明する。図５３は、摩擦抵抗の小さい路面上において車両の加速／減速を繰り返した際の、本実施形態の制御装置１Ｂによる制御結果例を示しており、この制御結果は、理解の容易化のために、基本局所補正値Ｄｋｔｒｑ＿ｂｓiとして３つの値を要素とするものを用いた例を示している。また、図５４は、比較のために、トルク補正値Ｋｔｒｑを値１に保持した場合、すなわち補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄとして、最大トルクＴｒｑ＿ｍａｘをそのまま用いた場合の制御結果例（以下「比較例」という）を示している。
【０３２８】
両図において、加速開始から減速開始までの間（時刻ｔ１〜ｔ２，ｔ３〜ｔ４，ｔ１１〜ｔ１２，ｔ１３〜ｔ１４）における、フィードフォワードトルクＴｒｑ＿ｆｆおよびトルクフィードバック値Ｔｒｑ＿ｆｂの動きを比較すると、２つの値Ｔｒｑ＿ｆｆ，Ｔｒｑ＿ｆｂはいずれも、本実施形態の制御結果例の方が、比較例よりも小さい値に抑制されており、制御性が向上していることが判る。
【０３２９】
また、減速開始以降の目標車輪速Ｗｓ＿ｃｍｄに対する駆動輪速Ｗｓ＿ａｃｔの動きを比較すると、目標車輪速Ｗｓ＿ｃｍｄに対する駆動輪速Ｗｓ＿ａｃｔの乖離度合すなわち制御誤差は、本実施形態の制御結果例の方が、比較例よりも小さい値に抑制されており、制御精度が向上していることが判る。
【０３３０】
以上のように、第３実施形態の制御装置１Ｂによれば、制御誤差に相当するトルクフィードバック値Ｔｒｑ＿ｆｂが、駆動輪速Ｗｓ＿ａｃｔおよび目標車輪速Ｗｓ＿ｃｍｄに応じて算出され、トルク誤差Ｅｔｆが、トルクフィードバック値Ｔｒｑ＿ｆｂと目標トルクフィードバック値Ｔｒｑ＿ｆｂ＿ｃｍｄとの偏差として算出され、連結重み関数Ｗｃｖiが、図５０のマップを検索することにより、エンジン回転数ＮＥに応じて、算出されるとともに、修正トルク誤差Ｗｅｔｒｑiが、トルク誤差Ｅｔｆに、誤差重みＷｔおよび連結重み関数Ｗｃｖiを乗算することにより算出される。
【０３３１】
さらに、そのような修正トルク誤差Ｗｅｔｒｑiを値０に収束させるように（すなわち、トルクフィードバック値Ｔｒｑ＿ｆｂを目標トルクフィードバック値Ｔｒｑ＿ｆｂ＿ｃｍｄに収束させるように）、基本局所補正値Ｄｋｔｒｑ＿ｂｓiが算出され、補正感度Ｒｔｒｑおよび連結重み関数Ｗｃｖiを基本局所補正値Ｄｋｔｒｑ＿ｂｓiに乗算することにより、局所補正値Ｄｋｔｒｑ＿ｌｃiが算出される。そして、これらの局所補正値Ｄｋｔｒｑ＿ｌｃiの総和を値１から減算することにより、トルク補正値Ｋｔｒｑが算出されるとともに、このトルク補正値Ｋｔｒｑにより最大トルクＴｒｑ＿ｍａｘを補正した補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄと、式（７１）とを用いて、フィードフォワードトルクＴｒｑ＿ｆｆが算出される。
【０３３２】
すなわち、トルク誤差Ｅｔｆが値０になるように修正された相関関係モデルを用いて、フィードフォワードトルクＴｒｑ＿ｆｆが算出されるので、外乱以外の、例えば、エンジン３の出力特性の経年変化や個体間でのばらつき、タイヤの摩耗度合の変化および路面の摩擦抵抗の変化などの、予測不能な状態変化に起因して、最大トルクＴｒｑ＿ｍａｘとフィードフォワードトルクＴｒｑ＿ｆｆとの間の相関関係が変化することで、トルク誤差Ｅｔｆすなわち駆動輪のスリップが一時的に増大しやすい状態にある条件下でも、そのように算出されたフィードフォワードトルクＴｒｑ＿ｆｆによって、トルク誤差Ｅｔｆすなわち制御誤差を過不足なく適切に補償することができる。
【０３３３】
これに加えて、フィードフォワードトルクＴｒｑ＿ｆｆが、補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄとフィードフォワードトルクＴｒｑ＿ｆｆとの相関関係を表す式（７１）を用いて算出されるので、フィードバック制御アルゴリズムにより算出されるトルクフィードバック値Ｔｒｑ＿ｆｂによって駆動輪のスリップを補償する場合と比べて、駆動輪のスリップをより迅速に補償することができる。以上のように、最大トルクＴｒｑ＿ｍａｘとフィードフォワードトルクＴｒｑ＿ｆｆとの間の相関関係の変化に起因して、トルク誤差Ｅｔｆすなわち駆動輪のスリップが一時的に増大するような条件下でも、駆動輪のスリップを適切かつ迅速に補償でき、それにより、ゲインスケジュールタイプの補正手法（または修正手法）と比べて、高レベルの車輪速度の制御精度を確保することができる。すなわち、高レベルのトラクションコントロールを実現することができる。
【０３３４】
また、修正トルク誤差Ｗｅｔｒｑiが、トルク誤差Ｅｔｆに、誤差重みＷｔおよび連結重み関数Ｗｃｖiを乗算することにより算出され、４つの連結重み関数Ｗｃｖiは、前述したように、エンジン回転数ＮＥが変化し得る領域を区分した４つの領域に対応するように算出されるとともに、対応する領域では、値１以下の正の値に設定され、対応する領域以外では、値０に設定されているとともに、互いに重なり合う領域に対応する連結重み関数Ｗｃｖiの値の和は、各連結重み関数Ｗｃｖiにおける最大値１と等しくなるように設定されている。したがって、トルク誤差Ｅｔｆを、４つの連結重み関数Ｗｃｖiの値を介して、４つの基本局所補正値Ｄｋｔｒｑ＿ｂｓiに配分することができ、それにより、４つの基本局所補正値Ｄｋｔｒｑ＿ｂｓiの各々によって、４つの領域の各々における相関関係モデルのずれ度合を適切に修正することができる。特に、最大トルクＴｒｑ＿ｍａｘと、フィードフォワードトルクＴｒｑ＿ｆｆとの間の実際の相関関係に対するずれが、エンジン回転数ＮＥの４つの領域毎にずれの変化方向が異なる場合でも、そのようなずれに対応しながら、相関関係モデルを領域毎に適切に修正できる。
【０３３５】
また、基本局所補正値Ｄｋｔｒｑ＿ｂｓiに、補正感度Ｒｔｒｑおよび連結重み関数Ｗｃｖiを乗算することにより、局所補正値Ｄｋｔｒｑ＿ｌｃiが算出され、これらの局所補正値Ｄｋｔｒｑ＿ｌｃiの総和を値１から減算することにより、トルク補正値Ｋｔｒｑが算出されるので、トルク補正値Ｋｔｒｑを、４つの基本局所補正値Ｄｋｔｒｑ＿ｂｓiを連続的に結合させた値として算出できる。それにより、４つの基本局所補正値Ｄｋｔｒｑ＿ｂｓiが互いに異なる値として算出されている状態で、エンジン回転数ＮＥが急変したときでも、それに伴って段差を生じることなく連続的に変化するように、トルク補正値Ｋｔｒｑを算出することができる。
【０３３６】
したがって、そのようなトルク補正値Ｋｔｒｑで最大トルクＴｒｑ＿ｍａｘを補正した補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄを用いることにより（すなわち相関関係モデルを修正することにより）、アクセル開度ＡＰの急変に起因してエンジン回転数ＮＥが急変したときでも、フィードフォワードトルクＴｒｑ＿ｆｆを滑らかに段差なく変化するように算出することができる。その結果、エンジン回転数ＮＥの急変に伴い、トルク誤差Ｅｔｆすなわち駆動輪のスリップが一時的に増大しやすい条件下でも、エンジントルクＴｒｑの不適切な急変やステップ状の急変を回避することができ、制御精度および制御の安定性を向上させることができる。
【０３３７】
さらに、誤差重みＷｔが、トルク誤差Ｅｔｆに対する非駆動輪速Ｗｓ＿ｒｅｆおよびエンジン回転数ＮＥの影響度合を反映するように算出されるので、そのような誤差重みＷｔを用いることにより、フィードフォワードトルクＴｒｑ＿ｆｆを、トルク誤差Ｅｔｆに対する非駆動輪速Ｗｓ＿ｒｅｆおよびエンジン回転数ＮＥの影響度合が反映された値として算出することができる。これに加えて、補正感度Ｒｔｒｑが、トルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの感度を表す値として算出されるので、そのような補正感度Ｒｔｒｑを用いることにより、フィードフォワードトルクＴｒｑ＿ｆｆを、トルク誤差Ｅｔｆに対する最大トルクＴｒｑ＿ｍａｘの感度が反映された値として算出することができる。以上により、フィードフォワードトルクＴｒｑ＿ｆｆの、トルク誤差Ｅｔｆすなわち制御誤差の補償精度を向上させることができ、それにより、制御精度をより一層、向上させることができる。
【０３３８】
また、トルクフィードバック値Ｔｒｑ＿ｆｂの算出アルゴリズム［式（７３）〜（８３）］と、基本局所補正値Ｄｋｔｒｑ＿ｂｓiの算出アルゴリズム［式（８６）〜（９３）］とにおいて、切換関数設定パラメータＳｔ，Ｓｖが、−１＜Ｓｖ＜Ｓｔ＜０の関係が成立するように設定されているので、修正トルク誤差Ｗｅｔｒｑiの値０への収束速度が、追従誤差Ｅｔの値０への収束速度よりも遅くなることにより、２つの応答指定型制御アルゴリズムが互いに干渉することがなくなる。その結果、両者の干渉に起因して、制御系が振動的な挙動を示すのを回避でき、制御系の安定性を確保できる。
【０３３９】
なお、第３実施形態は、フィードフォワードトルク算出部２０６において、前述した式（７１）によりフィードフォワードトルクＴｒｑ＿ｆｆを算出した例であるが、これに代えて、下式（９６）〜（９８）により、フィードフォワードトルクＴｒｑ＿ｆｆを算出するように構成してもよい。
【０３４０】
【数４３】
2008102791.tif 000045
【０３４１】
上式（９６）のＴｒｑ＿ｆｆ＿ｔｅｍｐは、フィードフォワードトルクの暫定値を表している。この算出アルゴリズムでは、式（９７），（９８）に示すように、補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄを上限値とするリミット処理を、暫定値Ｔｒｑ＿ｆｆ＿ｔｅｍｐに施すことにより、フィードフォワードトルクＴｒｑ＿ｆｆが算出される。フィードフォワードトルクＴｒｑ＿ｆｆの算出アルゴリズムとして、以上の式（９６）〜（９８）を用いた場合でも、前述した式（７１）を用いた場合と同様の作用効果を得ることができる。
【０３４２】
また、第３実施形態は、基本局所補正値Ｄｋｔｒｑ＿ｂｓiの算出アルゴリズムとして、前述した式（８６）〜（９３）に示す制御アルゴリズムを用いた例であるが、これに代えて、下式（９９）〜（１０８）に示す、適応外乱オブザーバとスライディングモード制御アルゴリズムを組み合わせて適用した制御アルゴリズムにより、基本局所補正値Ｄｋｔｒｑ＿ｂｓiを算出してもよい。
【０３４３】
【数４４】
2008102791.tif 000046
【０３４４】
【数４５】
2008102791.tif 000047
【０３４５】
【数４６】
2008102791.tif 000048
【０３４６】
上式（１０２）のσｖi＿ｈａｔは、切換関数の推定値であり、Ｕｌｓ＿ｖiは、外乱推定値である。この外乱推定値Ｕｌｓ＿ｖiは、式（１０２）〜（１０７）に示すδ修正法を適用した固定ゲイン式の同定アルゴリズムにより算出される。同式（１０３）のＥｖ＿ｓｉｇiは、推定誤差を表しており、式（１０４）のＵｌｓ＿ｖ＿ｉｎｉは、外乱推定値Ｕｌｓ＿ｖiの初期値を表している。また、同式（１０４）のｄＵｌｓ＿ｖiは、修正項であり、式（１０５）〜（１０７）により算出される。式（１０５）のＰｖは、一定値の同定ゲインである。
【０３４７】
また、式（１０８）に示すように、基本局所補正値Ｄｋｔｒｑ＿ｂｓiは、到達則入力Ｕｒｃｈ＿ｖi、非線形入力Ｕｎｌ＿ｖiおよび外乱推定値Ｕｌｓ＿ｖiの和として算出される。なお、式（１０２）〜（１０７）が適応外乱オブザーバにおける外乱推定値Ｕｌｓ＿ｖiの算出アルゴリズムである。
【０３４８】
以上の制御アルゴリズムによれば、前述した式（８６）〜（９３）の制御アルゴリズムと同様の作用効果を得ることができる。すなわち、式（１０５）において、修正項の前回値ｄＵｌｓ＿ｖi（ｋ−１）に忘却係数λｖが乗算されているとともに、基本局所補正値Ｄｋｔｒｑ＿ｂｓiの絶対値が大きい場合には、忘却係数λｖが０＜λｖ＜１の範囲内の値に設定されるので、前述したような忘却効果により、外乱推定値Ｕｌｓ＿ｖiが積分的に増大するのを回避でき、基本局所補正値Ｄｋｔｒｑ＿ｂｓiの算出値が積分的な揺らぎ挙動やオーバーシュート挙動を示すのを回避できる。それにより、制御系の過渡応答の安定性を確保することができる。また、基本局所補正値の前回値Ｄｋｔｒｑ＿ｂｓi（ｋ−１）の絶対値が小さい場合には、忘却係数λｖが値１に設定されるので、修正トルク誤差Ｗｅｔｒｑiが値０近傍になったときでも、基本局所補正値Ｄｋｔｒｑ＿ｂｓiを適切な値に保持することができる。それにより、修正トルク誤差Ｗｅｔｒｑiが増大し始めたときの応答性を向上させることができ、制御精度を向上させることができる。
【０３４９】
以上に加えて、外乱推定値Ｕｌｓ＿ｖiが適応外乱オブザーバにおけるδ修正法を適用した固定ゲイン式の同定アルゴリズムにより算出されるので、適応則入力Ｕａｄｐ＿ｖiを用いる第３実施形態の制御アルゴリズムと比べて、基本局所補正値Ｄｋｔｒｑ＿ｂｓiにおける積分的な揺らぎ挙動およびオーバーシュート挙動の抑制能力をさらに向上させることができる。
【０３５０】
また、第３実施形態は、所定の複数の関数として、連結重み関数Ｗｃｖiを用いた例であるが、本願発明の所定の複数の関数はこれに限らず、参照パラメータが変化し得る領域を区分した複数の領域にそれぞれ対応して、対応する領域においてのみ値０以外の値に設定されかつ対応する領域以外において値０に設定されているとともに、互いに重なり合う領域において、この互いに重なり合う領域に対応する関数の値の総和の絶対値が、各関数における最大値の絶対値と等しくなるように設定されているものであればよい。例えば、前述した図４２の「バルブリフトＬｉｆｔｉｎ」を「非駆動輪速Ｗｓ＿ｒｅｆ」に置き換えたマップを用いて、連結重み関数Ｗｃｖijを算出し、これを所定の複数の関数として用いてもよい。このような連結重み関数Ｗｃｖijを用いた場合にも、第２実施形態の図４２の連結重み関数Ｗｃｐijと同じ効果を得ることができる。
【０３５１】
さらに、第３実施形態は、参照パラメータとして、エンジン回転数ＮＥを用いた例であるが、本願発明の参照パラメータはこれに限らず、制御量としての駆動輪速Ｗｓ＿ａｃｔ以外のものであればよい。例えば、参照パラメータとして、非駆動輪速Ｗｓ＿ｒｅｆ、エンジン回転数ＮＥおよび最大トルクＴｒｑ＿ｍａｘの３つを用い、これらに応じて、連結重み関数Ｗｃｖiの値を算出したり、エンジン回転数ＮＥおよび最大トルクＴｒｑ＿ｍａｘの２つに応じて、連結重み関数Ｗｃｖiの値を算出したりする構成を用いてもよい。
【０３５２】
一方、第３実施形態は、フィードフォワードトルクＴｒｑ＿ｆｆを相関関係モデルとしての式（７０），（７１）により算出した例であるが、フィードフォワードトルクＴｒｑ＿ｆｆの算出に用いる相関関係モデルはこれに限らず、他の算出式やマップなどを用いてもよい。例えば、式（７１）において、補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄに代えて最大トルクＴｒｑ＿ｍａｘを用いるとともに、正規化要求駆動力Ｋｔｒｑ＿ａｐに代えて値Ｋｔｒｑ・Ｋｔｒｑ＿ａｐを用いた式により、フィードフォワードトルクＴｒｑ＿ｆｆを算出してもよい。さらに、式（７１）において、補正後最大トルクＴｒｑ＿ｍａｘ＿ｍｏｄに代えて最大トルクＴｒｑ＿ｍａｘを用いるとともに、正規化要求駆動力Ｋｔｒｑ＿ａｐの代わりに、これにトルク補正値Ｋｔｒｑを上限値とするリミット処理を施した値を用いた算出式により、フィードフォワードトルクＴｒｑ＿ｆｆを算出してもよい。
【０３５３】
また、第３実施形態は、エンジン回転数ＮＥおよび非駆動輪速Ｗｓ＿ｒｅｆに応じて、図５１のマップを検索することにより、誤差重みＷｔを算出した例であるが、誤差重みＷｔの算出手法はこれに限らないことは言うまでもない。例えば、図５１に代えて、駆動輪速Ｗｓ＿ａｃｔと非駆動輪速Ｗｓ＿ｒｅｆの平均値およびエンジン回転数ＮＥに対して、誤差重みＷｔの値が予め設定されたマップを用いてもよい。また、駆動輪速Ｗｓ＿ａｃｔおよび非駆動輪速Ｗｓ＿ｒｅｆの大きい方（または小さい方）と、エンジン回転数ＮＥに対して、誤差重みＷｔの値が予め設定されたマップを用いてもよい。さらに、目標車輪速Ｗｓ＿ｃｍｄおよびエンジン回転数ＮＥに対して、誤差重みＷｔの値が予め設定されたマップを用いてもよい。
【０３５４】
さらに、第３実施形態は、自動変速機付きのエンジン３のトラクションコントロールにおいて、誤差重みＷｔおよびトルク補正感度Ｒｔｒｑを算出する際、図５１，５２のマップを用いた例であるが、手動変速機付きの内燃機関、または手動の操作力に代えてアクチュエータにより変速動作を実行する、いわゆる自動ＭＴ付きの内燃機関のトラクションコントロールを実行する場合には、図５１，５２のマップに代えて、ギヤレシオ毎に、エンジン回転数ＮＥに対して、誤差重みＷｔおよびトルク補正感度Ｒｔｒｑの値が予めそれぞれ設定された複数の２次元マップ（すなわちテーブル）を用いてもよい。
【０３５５】
一方、第３実施形態は、トルク補正感度Ｒｔｒｑを図５２のマップを用いて算出した例であるが、トルク補正感度Ｒｔｒｑを、図５２に代えて、図５１を用いて算出してもよい。すなわち、トルク補正感度Ｒｔｒｑを誤差重みＷｔに等しい値として算出してもよい。これに加えて、式（９４）において、Ｒｔｒｑ＝１と設定することにより、Ｄｋｔｒｑ＿ｌｃi＝Ｗｃvi・Ｄｋｔｒｑ＿ｂｓiとしてもよい。
【０３５６】
また、第１および第２実施形態は、本願発明の制御装置を空燃比制御を実行するものに適用した例であり、第３実施形態は、本願発明の制御装置をトラクションコントロールを実行するものに適用した例であるが、本願発明の制御装置はこれらに限らず、様々な産業機器の制御装置において、制御量をフィードフォワード制御するための第１入力値を、参照パラメータに応じ、参照パラメータと第１入力値との間の相関関係を表す相関関係モデルを用いて算出し、制御量を目標制御量に収束させるようにフィードバック制御するための第２入力値を、所定のフィードバック制御アルゴリズムにより算出するとともに、第１入力値および第２入力値に応じて、制御入力を算出するものに適用可能である。
【０３５７】
さらに、第１〜３実施形態は、相関関係モデルを修正する際、参照パラメータ側の修正値（補正値）を算出した例であるが、第１〜３実施形態における制御アルゴリズムにより、第１入力値側を修正する修正値を算出するように構成してもよい。
【図面の簡単な説明】
【０３５８】
【図１】本発明の第１実施形態に係る制御装置が適用された内燃機関の概略構成を示す模式図である。
【図２】制御装置の概略構成を示すブロック図である。
【図３】内燃機関の可変式吸気動弁機構および排気動弁機構の概略構成を示す断面図である。
【図４】可変式吸気動弁機構の可変バルブリフト機構の概略構成を示す断面図である。
【図５】（ａ）リフトアクチュエータの短アームが最大リフト位置にある状態と（ｂ）ゼロリフト位置にある状態を示す図である。
【図６】（ａ）可変バルブリフト機構の下リンクが最大リフト位置にあるときの吸気弁の開弁状態と（ｂ）ゼロリフト位置にあるときの吸気弁の停止状態を示す図である。
【図７】可変バルブリフト機構の下リンクが最大リフト位置にあるときの吸気弁のバルブリフト曲線（実線）と、ゼロリフト位置にあるときのバルブリフト曲線（２点鎖線）をそれぞれ示す図である。
【図８】可変カム位相機構の概略構成を模式的に示す図である。
【図９】可変カム位相機構により、カム位相が最遅角値に設定されているときの吸気弁４のバルブリフト曲線（実線）と、カム位相が最進角値に設定されているときの吸気弁４のバルブリフト曲線（２点鎖線）をそれぞれ示す図である。
【図１０】空燃比コントローラの概略構成を示すブロック図である。
【図１１】基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの算出に用いるマップの一例を示す図である。
【図１２】補正係数Ｋ＿ｇｃｙｌ＿ｖｔの算出に用いるマップの一例を示す図である。
【図１３】移行係数Ｋｇの算出に用いるマップの一例を示す図である。
【図１４】目標空燃比ＫＣＭＤの算出に用いるマップの一例を示す図である。
【図１５】基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅとバルブリフトＬｉｆｔｉｎとエンジン回転数ＮＥの相関関係を示すマップである。
【図１６】バルブリフトの算出値Ｌｉｆｔｉｎがその実際値に対してオフセットを生じているのに起因して、リフト誤差が発生している状態を示す図である。
【図１７】可変バルブリフト機構の動特性の変化に起因して、リフト誤差が発生している状態を示す図である。
【図１８】バルブリフトＬｉｆｔｉｎの変化量ΔＬｉｆｔｉｎに対する基本推定吸気量Ｇｃｙｌ＿ｖｔ＿ｂａｓｅの変化量ΔＧｃｙｌの関係を示す図である。
【図１９】リフト補正値算出部の概略構成を示すブロック図である。
【図２０】連結重み関数Ｗｃｐiの算出に用いるマップの一例を示す図である。
【図２１】基本誤差重みＷ＿ｂａｓｅの算出に用いるマップの一例を示す図である。
【図２２】誤差重み補正係数Ｋ＿ｗの算出に用いるマップの一例を示す図である。
【図２３】基本感度Ｒ＿ｂａｓｅの算出に用いるマップの一例を示す図である。
【図２４】感度補正係数Ｋ＿ｒの算出に用いるマップの一例を示す図である。
【図２５】制御周期ΔＴｎで実行される制御処理を示すフローチャートである。
【図２６】空燃比制御処理を示すフローチャートである。
【図２７】基本燃料噴射量Ｔｃｙｌ＿ｂｓの算出処理を示すフローチャートである。
【図２８】制御周期ΔＴｋで実行される制御処理を示すフローチャートである。
【図２９】補正後バルブリフトＬｉｆｔｉｎ＿ｍｏｄの算出処理を示すフローチャートである。
【図３０】可変機構制御処理を示すフローチャートである。
【図３１】エンジン始動中、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３２】エンジン始動中、目標カム位相Ｃａｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３３】触媒暖機制御中、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３４】触媒暖機制御中、目標カム位相Ｃａｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３５】通常運転中、目標バルブリフトＬｉｆｔｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３６】通常運転中、目標カム位相Ｃａｉｎ＿ｃｍｄの算出に用いるマップの一例を示す図である。
【図３７】第１実施形態の制御装置による空燃比の制御結果の一例を示すタイミングチャートである。
【図３８】リフト補正値Ｄｌｉｆｔを値０に保持した場合の、空燃比の制御結果の比較例を示すタイミングチャートである。
【図３９】連結重み関数Ｗｃｐiの算出に用いるマップの他の一例を示す図である。
【図４０】第２実施形態に係る制御装置の空燃比コントローラの概略構成を示すブロック図である。
【図４１】リフト補正値算出部の概略構成を示すブロック図である。
【図４２】連結重み関数Ｗｃｐijの算出に用いるマップの一例を示す図である。
【図４３】連結重み関数Ｗｃｐijの算出手法を説明するための図である。
【図４４】連結重み関数Ｗｃｐijの算出手法を説明するための図である。
【図４５】第３実施形態に係る制御装置の概略構成を示すブロック図である。
【図４６】トラクションコントローラの概略構成を示すブロック図である。
【図４７】最大トルクＴｒｑ＿ｍａｘおよび最小トルクＴｒｑ＿ｍｉｎの算出に用いるマップの一例を示す図である。
【図４８】正規化要求駆動力Ｋｔｒｑ＿ａｐの算出に用いるマップの一例を示す図である。
【図４９】トルク補正値算出部の概略構成を示すブロック図である。
【図５０】連結重み関数Ｗｃｖiの算出に用いるマップの一例を示す図である。
【図５１】誤差重みＷｔの算出に用いるマップの一例を示す図である。
【図５２】トルク補正感度Ｒｔｒｑの算出に用いるマップの一例を示す図である。
【図５３】第３実施形態の制御装置によるトラクションコントロールの制御結果例を示すタイミングチャートである。
【図５４】比較のために、トルク補正値Ｋｔｒｑ＝１に保持した場合のトラクションコントロールの制御結果例を示すタイミングチャートである。
【符号の説明】
【０３５９】
１  制御装置
１Ａ  制御装置
１Ｂ  制御装置
２  ＥＣＵ（制御量検出手段、参照パラメータ検出手段、目標制御量設定手段、制
御入力算出手段、誤差パラメータ算出手段、モデル修正手段、第１入力値算出
手段）
３  内燃機関（制御対象）
３ａ  気筒
２０  クランク角センサ（参照パラメータ検出手段）
２４  ＬＡＦセンサ（制御量検出手段）
２５  回動角センサ（参照パラメータ検出手段）
５０  可変バルブリフト機構（可変吸気機構）
８０  右前輪速センサ（参照パラメータ検出手段）
８１  左前輪速センサ（参照パラメータ検出手段）
８２  左後輪速センサ（制御量検出手段）
８３  右後輪速センサ（制御量検出手段）
１００  空燃比コントローラ（制御入力算出手段）
１００Ａ  空燃比コントローラ（制御入力算出手段）
１０１  第１推定吸気量算出部（第１入力値算出手段）
１０８  目標空燃比算出部（目標制御量設定手段）
１１３  空燃比誤差推定値算出部（誤差パラメータ算出手段）
１２０  リフト補正値算出部（モデル修正手段）
１３０  リフト補正値算出部（モデル修正手段）
２００  トラクションコントローラ（制御入力算出手段）
２０１  目標車輪速算出部（目標制御量設定手段）
２０２  車輪速フィードバックコントローラ（誤差パラメータ算出手段）
２０３  最大／最小トルク算出部（参照パラメータ検出手段）
２０６  フィードフォワードトルク算出部（第１入力値算出手段）
２１０  トルク補正値算出部（モデル修正手段）
ＫＡＣＴ  検出空燃比（制御量、混合気の空燃比）
ＫＣＭＤ  目標空燃比（目標制御量）
ＴＯＵＴ  燃料噴射量（制御入力、供給燃料量）
Ｌｉｆｔｉｎ  バルブリフト（参照パラメータ、動作状態パラメータ）
ＮＥ  内燃機関の回転数（参照パラメータ）
Ｇｃｙｌ＿ｖｔ  第１推定吸気量（第１入力値）
ＫＡＦ  空燃比補正係数（第２入力値）
Ｅａｆ  空燃比誤差推定値（誤差パラメータ、偏差）
Ｗｃｐi  連結重み関数（所定の複数の関数）
Ｗｅａｆi  修正誤差（複数の第１乗算値）
Ｄｌｉｆｔ＿ｂｓi  基本局所補正値（複数の修正値）
Ｄｌｉｆｔ＿ｌｃi  局所補正値（複数の第２乗算値、複数の乗算値）
Ｗｃｐij  連結重み関数（所定の複数の関数）
Ｗｅａｆij  修正誤差（複数の第１乗算値）
Ｄｌｉｆｔ＿ｂｓij  基本局所補正値（複数の修正値）
Ｄｌｉｆｔ＿ｌｃij  局所補正値（複数の第２乗算値、複数の乗算値）
Ｗｓ＿ａｃｔ  駆動輪速（制御量、第１車輪速度）
Ｗｓ＿ｃｍｄ  目標車輪速（目標制御量）
Ｗｓ＿ｒｅｆ  非駆動輪速（参照パラメータ、第２車輪速度）
Ｔｒｑ  エンジントルク（制御入力、内燃機関の出力）
Ｔｒｑ＿ｍａｘ  最大トルク（参照パラメータ、内燃機関の出力の制限値）
Ｔｒｑ＿ｆｆ  フィードフォワードトルク（第１入力値）
Ｔｒｑ＿ｆｂ  トルクフィードバック値（第２入力値、誤差パラメータ）
Ｔｒｑ＿ｆｂ＿ｃｍｄ  目標トルクフィードバック値（所定の目標値）
Ｅｔｆ  トルク誤差（偏差）
Ｗｃｖi  連結重み関数（所定の複数の関数）
Ｗｅｔｒｑi  修正トルク誤差（複数の第１乗算値）
Ｄｋｔｒｑ＿ｂｓi  基本局所補正値（複数の修正値）
Ｄｋｔｒｑ＿ｌｃi  局所補正値（複数の第２乗算値、複数の乗算値）
【図１】
2008102791.tif 000049
【図２】
2008102791.tif 000050
【図３】
2008102791.tif 000051
【図４】
2008102791.tif 000052
【図５】
2008102791.tif 000053
【図６】
2008102791.tif 000054
【図７】
2008102791.tif 000055
【図８】
2008102791.tif 000056
【図９】
2008102791.tif 000057
【図１０】
2008102791.tif 000058
【図１１】
2008102791.tif 000059
【図１２】
2008102791.tif 000060
【図１３】
2008102791.tif 000061
【図１４】
2008102791.tif 000062
【図１５】
2008102791.tif 000063
【図１６】
2008102791.tif 000064
【図１７】
2008102791.tif 000065
【図１８】
2008102791.tif 000066
【図１９】
2008102791.tif 000067
【図２０】
2008102791.tif 000068
【図２１】
2008102791.tif 000069
【図２２】
2008102791.tif 000070
【図２３】
2008102791.tif 000071
【図２４】
2008102791.tif 000072
【図２５】
2008102791.tif 000073
【図２６】
2008102791.tif 000074
【図２７】
2008102791.tif 000075
【図２８】
2008102791.tif 000076
【図２９】
2008102791.tif 000077
【図３０】
2008102791.tif 000078
【図３１】
2008102791.tif 000079
【図３２】
2008102791.tif 000080
【図３３】
2008102791.tif 000081
【図３４】
2008102791.tif 000082
【図３５】
2008102791.tif 000083
【図３６】
2008102791.tif 000084
【図３７】
2008102791.tif 000085
【図３８】
2008102791.tif 000086
【図３９】
2008102791.tif 000087
【図４０】
2008102791.tif 000088
【図４１】
2008102791.tif 000089
【図４２】
2008102791.tif 000090
【図４３】
2008102791.tif 000091
【図４４】
2008102791.tif 000092
【図４５】
2008102791.tif 000093
【図４６】
2008102791.tif 000094
【図４７】
2008102791.tif 000095
【図４８】
2008102791.tif 000096
【図４９】
2008102791.tif 000097
【図５０】
2008102791.tif 000098
【図５１】
2008102791.tif 000099
【図５２】
2008102791.tif 000100
【図５３】
2008102791.tif 000101
【図５４】
2008102791.tif 000102