以下、図面を参照しながら、本発明の第1実施形態に係る制御装置について説明する。図2に示すように、この制御装置1は、ECU2を備えており、このECU2は、後述するように、制御対象としての内燃機関の運転状態に応じて、空燃比制御などの制御処理を実行する。
図1および図3に示すように、内燃機関(以下「エンジン」という)3は、4組の気筒3aおよびピストン3b(1組のみ図示)を有する直列4気筒ガソリンエンジンであり、図示しない自動変速機付きの車両に搭載されている。エンジン3は、気筒3a毎に設けられ、吸気ポートおよび排気ポートをそれぞれ開閉する吸気弁4および排気弁7と、吸気弁4駆動用の吸気カムシャフト5および吸気カム6と、吸気弁4を開閉駆動する可変式吸気動弁機構40と、排気弁7駆動用の排気カムシャフト8および排気カム9と、排気弁7を開閉駆動する排気動弁機構30と、燃料噴射弁10と、点火プラグ11(図2参照)などを備えている。
吸気弁4は、そのステム4aがガイド4bに摺動自在に嵌合しており、このガイド4bは、シリンダヘッド3cに固定されている。さらに、吸気弁4は、図4に示すように、上下のスプリングシート4c,4dと、これらの間に設けられたバルブスプリング4eとを備えており、このバルブスプリング4eにより、閉弁方向に付勢されている。
また、吸気カムシャフト5および排気カムシャフト8はそれぞれ、図示しないホルダを介して、シリンダヘッド3cに回動自在に取り付けられている。この吸気カムシャフト5の一端部上には、吸気スプロケット(図示せず)が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、図示しないタイミングチェーンを介してクランクシャフト3dに連結され、後述する可変カム位相機構70を介して吸気カムシャフト5に連結されている。以上の構成により、吸気カムシャフト5は、クランクシャフト3dが2回転する毎に1回転する。また、吸気カム6は、吸気カムシャフト5上にこれと一体に回転するように気筒3a毎に設けられている。
さらに、可変式吸気動弁機構40は、吸気カムシャフト5の回転に伴って、各気筒3aの吸気弁4を開閉駆動するとともに、吸気弁4のリフトおよびバルブタイミングを無段階に変更するものであり、その詳細については後述する。なお、本実施形態では、「吸気弁4のリフト(以下「バルブリフト」という)」は、吸気弁4の最大揚程を表すものとする。
一方、排気弁7は、そのステム7aがガイド7bに摺動自在に嵌合しており、このガイド7bは、シリンダヘッド3cに固定されている。さらに、排気弁7は、上下のスプリングシート7c,7dと、これらの間に設けられたバルブスプリング7eとを備えており、このバルブスプリング7eにより、閉弁方向に付勢されている。
また、排気カムシャフト8は、これと一体の排気スプロケット(図示せず)を備え、この排気スプロケットおよび図示しないタイミングチェーンを介してクランクシャフト3dに連結されており、それにより、クランクシャフト3dが2回転する毎に1回転する。さらに、排気カム9は、排気カムシャフト8上にこれと一体に回転するように気筒3a毎に設けられている。
さらに、排気動弁機構30は、ロッカアーム31を備えており、このロッカアーム31が排気カム9の回転に伴って回動することにより、バルブスプリング7eの付勢力に抗しながら、排気弁7を開閉駆動する。
一方、燃料噴射弁10は、気筒3a毎に設けられ、燃料を燃焼室内に直接噴射するように、傾斜した状態でシリンダヘッド3cに取り付けられている。すなわち、エンジン3は直噴エンジンとして構成されている。また、燃料噴射弁10は、ECU2に電気的に接続されており、ECU2により、開弁時間および開弁タイミングが制御され、それにより、燃料噴射量が制御される。
また、点火プラグ11も、気筒3a毎に設けられ、シリンダヘッド3cに取り付けられている。点火プラグ11は、ECU2に電気的に接続されており、ECU2により、後述する点火時期に応じたタイミングで燃焼室内の混合気を燃焼させるように、放電状態が制御される。
一方、エンジン3には、クランク角センサ20および水温センサ21が設けられている。このクランク角センサ20は、マグネットロータおよびMREピックアップで構成されており、クランクシャフト3dの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。
このCRK信号は、所定クランク角(例えば1゜)毎に1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。また、TDC信号は、各気筒3aのピストン3bが吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に1パルスが出力される。なお、本実施形態では、クランク角センサ20が、第1参照パラメータ検出手段に相当し、エンジン回転数NEが第1参照パラメータに相当する。
また、水温センサ21は、例えばサーミスタなどで構成されており、エンジン水温TWを表す検出信号をECU2に出力する。このエンジン水温TWは、エンジン3のシリンダブロック3h内を循環する冷却水の温度である。
さらに、エンジン3の吸気管12では、スロットル弁機構が省略されているとともに、その吸気通路12aが大口径に形成されており、それにより、流動抵抗が通常のエンジンよりも小さくなるように設定されている。この吸気管12には、エアフローセンサ22および吸気温センサ23(図2参照)が設けられている。
このエアフローセンサ22は、熱線式エアフローメータで構成されており、吸気通路12a内を流れる空気の流量(以下「空気流量」という)Ginを表す検出信号をECU2に出力する。なお、空気流量Ginの単位は、g/secである。また、吸気温センサ23は、吸気通路12a内を流れる空気の温度(以下「吸気温」という)TAを表す検出信号をECU2に出力する。
さらに、エンジン3の排気管13には、上流側から順に、LAFセンサ24および触媒装置14がそれぞれ設けられている。LAFセンサ24は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気管13の排気通路13a内を流れる排ガス中の酸素濃度をリニアに検出し、それを表す検出信号をECU2に出力する。
ECU2は、このLAFセンサ24の検出信号の値に基づき、排ガス中の空燃比を表す検出空燃比KACTを算出する。この場合、検出空燃比KACTは、具体的には当量比として算出される。なお、本実施形態では、LAFセンサ24が制御量検出手段に相当し、検出空燃比KACTが制御量に相当する。
次に、前述した可変式吸気動弁機構40について説明する。この可変式吸気動弁機構40は、図4に示すように、吸気カムシャフト5、吸気カム6、可変バルブリフト機構50および可変カム位相機構70などで構成されている。
この可変バルブリフト機構50は、吸気カムシャフト5の回転に伴って吸気弁4を開閉駆動するとともに、バルブリフトLiftinを所定の最大値Liftinmaxと値0との間で無段階に変更するものであり、気筒3a毎に設けられた四節リンク式のロッカアーム機構51と、これらのロッカアーム機構51を同時に駆動するリフトアクチュエータ60(図5参照)などを備えている。なお、本実施形態では、可変バルブリフト機構50が可変吸気機構に相当する。
各ロッカアーム機構51は、ロッカアーム52および上下のリンク53,54などで構成されている。この上リンク53の一端部は、上ピン55を介して、ロッカアーム52の上端部に回動自在に取り付けられており、他端部は、ロッカアームシャフト56に回動自在に取り付けられている。このロッカアームシャフト56は、図示しないホルダを介して、シリンダヘッド3cに取り付けられている。
また、ロッカアーム52の上ピン55上には、ローラ57が回動自在に設けられている。このローラ57は、吸気カム6のカム面に当接しており、吸気カム6が回転する際、そのカム面に案内されながら吸気カム6上を転動する。これにより、ロッカアーム52は上下方向に駆動されるとともに、上リンク53が、ロッカアームシャフト56を中心として回動する。
さらに、ロッカアーム52の吸気弁4側の端部には、アジャストボルト52aが取り付けられている。このアジャストボルト52aは、吸気カム6の回転に伴ってロッカアーム52が上下方向に移動すると、バルブスプリング4eの付勢力に抗しながら、ステム4aを上下方向に駆動し、吸気弁4を開閉する。
また、下リンク54の一端部は、下ピン58を介して、ロッカアーム52の下端部に回動自在に取り付けられており、下リンク54の他端部には、連結軸59が回動自在に取り付けられている。下リンク54は、この連結軸59を介して、リフトアクチュエータ60の後述する短アーム65に連結されている。
一方、リフトアクチュエータ60は、図5に示すように、モータ61、ナット62、リンク63、長アーム64および短アーム65などを備えている。このモータ61は、ECU2に接続され、エンジン3のヘッドカバー3gの外側に配置されている。モータ61の回転軸は、雄ねじが形成されたねじ軸61aになっており、このねじ軸61aに、ナット62が螺合している。このナット62は、リンク63を介して、長アーム64に連結されている。このリンク63の一端部は、ピン63aを介して、ナット62に回動自在に取り付けられ、他端部は、ピン63bを介して、長アーム64の一端部に回動自在に取り付けられている。
また、長アーム64の他端部は、回動軸66を介して短アーム65の一端部に取り付けられている。この回動軸66は、断面円形に形成され、エンジン3のヘッドカバー3gを貫通しているとともに、これに回動自在に支持されている。この回動軸66の回動に伴い、長アーム64および短アーム65はこれと一体に回動する。
さらに、短アーム65の他端部には、前述した連結軸59が回動自在に取り付けられており、これにより、短アーム65は、連結軸59を介して、下リンク54に連結されている。
次に、以上のように構成された可変バルブリフト機構50の動作について説明する。この可変バルブリフト機構50では、ECU2からの後述するリフト制御入力U_Liftinがリフトアクチュエータ60に入力されると、ねじ軸61aが回転し、それに伴うナット62の移動により、長アーム64および短アーム65が回動軸66を中心として回動するとともに、この短アーム65の回動に伴って、ロッカアーム機構51の下リンク54が、下ピン58を中心として回動する。すなわち、リフトアクチュエータ60により、下リンク54が駆動される。
その際、ECU2の制御により、短アーム65の回動範囲は、図5(a)に示す最大リフト位置と図5(b)に示すゼロリフト位置との間に規制され、それにより、下リンク54の回動範囲も、図4に実線で示す最大リフト位置と、図4に2点鎖線で示すゼロリフト位置との間に規制される。
下リンク54が最大リフト位置にある場合、ロッカアームシャフト56、上下のピン55,58および連結軸59によって構成される四節リンクでは、上ピン55および下ピン58の中心間の距離が、ロッカアームシャフト56および連結軸59の中心間の距離よりも長くなるように構成されており、それにより、図6(a)に示すように、吸気カム6が回転すると、これとローラ57との当接点の移動量よりも、アジャストボルト52aの移動量の方が大きくなる。
一方、下リンク54がゼロリフト位置にある場合、上記四節リンクでは、上ピン55および下ピン58の中心間の距離が、ロッカアームシャフト56および連結軸59の中心間の距離よりも短くなるように構成されており、それにより、図6(b)に示すように、吸気カム6が回転した際、アジャストボルト52aがほとんど移動しない状態となる。
以上の理由により、吸気カム6の回転中、吸気弁4は、下リンク54が最大リフト位置にあるときには、図7の実線で示すバルブリフト曲線に従って開弁し、バルブリフトLiftinは、その最大値Liftinmaxを示す。一方、下リンク54がゼロリフト位置にあるときには、図7の2点鎖線で示すように、吸気管4は閉弁状態に保持され、バルブリフトLiftinは値0に保持される。
したがって、この可変バルブリフト機構50では、アクチュエータ60を介して、下リンク54を最大リフト位置とゼロリフト位置との間で回動させることにより、バルブリフトLiftinを、最大値Liftinmaxと値0との間で無段階に変化させることができる。
なお、この可変バルブリフト機構50には、図示しないロック機構が設けられており、このロック機構により、リフト制御入力U_Liftinが後述する故障時用値U_Liftin_fsに設定されているときや、断線などによりECU2からのリフト制御入力U_Liftinがリフトアクチュエータ60に入力されないときには、可変バルブリフト機構50の動作がロックされる。すなわち、可変バルブリフト機構50によるバルブリフトLiftinの変更が禁止され、バルブリフトLiftinが所定のロック値に保持される。なお、この所定のロック値は、カム位相Cainが後述するロック値に保持されている場合において、吸入空気量として後述する所定の故障時用値Gcyl_fsを確保できるような値に設定されている。この所定の故障時用値Gcyl_fsは、停車中はアイドル運転やエンジン始動を適切に行うことができると同時に、走行中は低速走行状態を維持できるような値に設定されている。
また、エンジン3には、回動角センサ25が設けられており(図2参照)、この回動角センサ25は、回動軸66すなわち短アーム65の回動角を検出して、その検出信号をECU2に出力する。ECU2は、この回動角センサ25の検出信号に基づき、バルブリフトLiftinを算出する。なお、本実施形態では、回動角センサ25が参照パラメータ検出手段および第2参照パラメータ検出手段に相当し、バルブリフトLiftinが参照パラメータ、第2参照パラメータおよび動作状態パラメータに相当する。
次に、前述した可変カム位相機構70について説明する。この可変カム位相機構70は、吸気カムシャフト5のクランクシャフト3dに対する相対的な位相(以下「カム位相」という)Cainを無段階に進角側または遅角側に変更するものであり、吸気カムシャフト5の吸気スプロケット側の端部に設けられている。図8に示すように、可変カム位相機構70は、ハウジング71、3枚羽根式のベーン72、油圧ポンプ73および電磁弁機構74などを備えている。
このハウジング71は、吸気カムシャフト5上の吸気スプロケットと一体に構成されており、互いに等間隔に形成された3つの隔壁71aを備えている。ベーン72は、吸気カムシャフト5の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト5から外方に放射状に延びているとともに、ハウジング71内に回転可能に収容されている。また、ハウジング71では、隔壁71aとベーン72との間に、3つの進角室75および3つの遅角室76が形成されている。
油圧ポンプ73は、クランクシャフト3dに連結された機械式のものであり、クランクシャフト3dが回転すると、それに伴って、エンジン3のオイルパン3eに蓄えられた潤滑用のオイルを、油路77cを介して吸い込むとともに、これを昇圧した状態で、油路77cを介して電磁弁機構74に供給する。
電磁弁機構74は、スプール弁機構74aおよびソレノイド74bを組み合わせたものであり、進角油路77aおよび遅角油路77bを介して、進角室75および遅角室76にそれぞれ接続されているとともに、油圧ポンプ73から供給された油圧を、進角油圧Padおよび遅角油圧Prtとして、進角室75および遅角室76にそれぞれ出力する。電磁弁機構74のソレノイド74bは、ECU2に電気的に接続されており、ECU2からの後述する位相制御入力U_Cainが入力された際、スプール弁機構74aのスプール弁体を、位相制御入力U_Cainに応じて所定の移動範囲内で移動させることにより、進角油圧Padおよび遅角油圧Prtをいずれも変化させる。
以上の可変カム位相機構70では、油圧ポンプ73の動作中、電磁弁機構74が制御入力U_Cainに応じて作動することにより、進角油圧Padが進角室75に、遅角油圧Prtが遅角室76にそれぞれ供給され、それにより、ベーン72とハウジング71との間の相対的な位相が進角側または遅角側に変更される。その結果、前述したカム位相Cainが、最遅角値Cainrt(例えばカム角0゜に相当する値)と最進角値Cainad(例えばカム角55゜分に相当する値)の間で連続的に変化し、それにより、吸気弁4のバルブタイミングは、図9に実線で示す最遅角タイミングと、図9に2点鎖線で示す最進角タイミングとの間で、無段階に変更される。
なお、この可変カム位相機構70には、図示しないロック機構が設けられており、このロック機構により、油圧ポンプ73からの供給油圧が低いとき、位相制御入力U_Cainが後述する故障時用値U_Cain_fsに設定されているとき、および断線などにより位相制御入力U_Cainが電磁弁機構74に入力されないときには、可変カム位相機構70の動作がロックされる。すなわち、可変カム位相機構70によるカム位相Cainの変更が禁止され、カム位相Cainが所定のロック値に保持される。この所定のロック値は、前述したように、バルブリフトLiftinが所定のロック値に保持されている場合において、吸入空気量として所定の故障時用値Gcyl_fsを確保できるような値に設定されている。
以上のように、本実施形態の可変式吸気動弁機構40では、可変バルブリフト機構50により、バルブリフトLiftinがその最大値Liftinmaxと値0の間で無段階に変更されるとともに、可変カム位相機構70により、カム位相Cainすなわち吸気弁4のバルブタイミングが前述した最遅角タイミングと最進角タイミングとの間で、無段階に変更される。また、ECU2により、後述するように、可変バルブリフト機構50および可変カム位相機構70を介して、バルブリフトLiftinおよびカム位相Cainがそれぞれ制御され、それにより、吸入空気量が制御される。
一方、吸気カムシャフト5の可変カム位相機構70と反対側の端部には、カム角センサ26(図2参照)が設けられている。このカム角センサ26は、例えばマグネットロータおよびMREピックアップで構成されており、吸気カムシャフト5の回転に伴い、パルス信号であるCAM信号を所定のカム角(例えば1゜)毎にECU2に出力する。ECU2は、このCAM信号および前述したCRK信号に基づき、カム位相Cainを算出する。なお、本実施形態では、カム角センサ26が第1参照パラメータ検出手段に相当し、カム位相Cainが第1参照パラメータに相当する。
さらに、図2に示すように、ECU2には、アクセル開度センサ27およびイグニッション・スイッチ(以下「IG・SW」という)28が接続されている。このアクセル開度センサ27は、車両の図示しないアクセルペダルの踏み込み量(以下「アクセル開度」という)APを表す検出信号をECU2に出力する。また、IG・SW28は、イグニッションキー(図示せず)操作によりON/OFFされるとともに、そのON/OFF状態を表す信号をECU2に出力する。
ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜27の検出信号およびIG・SW28のON/OFF信号などに応じて、エンジン3の運転状態を判別するとともに、各種の制御を実行する。具体的には、ECU2は、後述するように、運転状態に応じて、空燃比制御および点火時期制御を実行する。これに加えて、補正後バルブリフトLiftin_modを算出するとともに、可変バルブリフト機構50および可変カム位相機構70を介して、バルブリフトLiftinおよびカム位相Cainをそれぞれ制御することにより、吸入空気量を制御する。
なお、本実施形態では、ECU2が、制御量検出手段、参照パラメータ検出手段、目標値設定手段、制御入力算出手段、誤差パラメータ算出手段、影響度合パラメータ算出手段、補正後誤差パラメータ算出手段、モデル修正手段、第1入力値算出手段、第1参照パラメータ検出手段、第2参照パラメータ検出手段、修正値算出手段、第1影響度合パラメータ算出手段、補正後修正値算出手段および第2影響度合パラメータ算出手段に相当する。
次に、本実施形態の制御装置1について説明する。この制御装置1は、図10に示すように、空燃比制御を実行する空燃比コントローラ100を備えており、この空燃比コントローラ100は、以下に述べるように、燃料噴射量TOUTを燃料噴射弁10毎に算出するものであり、具体的にはECU2により構成されている。なお、本実施形態では、空燃比コントローラ100が制御入力算出手段に相当し、燃料噴射量TOUTが制御入力および供給燃料量に相当する。
同図に示すように、空燃比コントローラ100は、第1および第2推定吸気量算出部101,102、移行係数算出部103、増幅要素104,105、加算要素106、増幅要素107、目標空燃比算出部108、空燃比補正係数算出部109、総補正係数算出部110、乗算要素111、燃料付着補正部112、空燃比誤差推定値算出部113、加算要素114およびリフト補正値算出部120を備えている。
まず、第1推定吸気量算出部101では、以下に述べるように、第1推定吸気量Gcyl_vtが算出される。具体的には、最初に、エンジン回転数NEおよび補正後バルブリフトLiftin_modに応じて、図11に示すマップを検索することにより、基本推定吸気量Gcyl_vt_baseを算出する。この補正後バルブリフトLiftin_modは、バルブリフトLiftinを後述するリフト補正値Dliftで補正した値であり、第1推定吸気量Gcyl_vtの算出において、この補正後バルブリフトLiftin_modを用いる理由については後述する。なお、この第1推定吸気量算出部101では、補正後バルブリフトLiftin_modとして、そのダウンサンプリング値が用いられる。また、図11において、NE1〜NE3は、NE1<NE2<NE3の関係が成立するエンジン回転数NEの所定値であり、この点は以下の説明においても同様である。
このマップでは、基本推定吸気量Gcyl_vt_baseは、NE=NE1またはNE2の場合、補正後バルブリフトLiftin_modが小さい領域では、補正後バルブリフトLiftin_modが大きいほど、より大きい値に設定され、補正後バルブリフトLiftin_modが最大値Liftinmaxに近い領域では、補正後バルブリフトLiftin_modが大きいほど、より小さい値に設定されている。これは、低・中回転域では、補正後バルブリフトLiftin_modが最大値Liftinmaxに近い領域においてより大きな値になるほど、吸気弁4の開弁時間が長くなることで、吸気の吹き戻しにより充填効率が低下するためである。また、基本推定吸気量Gcyl_vt_baseは、NE=NE3の場合、補正後バルブリフトLiftin_modが大きいほど、より大きい値に設定されている。これは、高回転域では、補正後バルブリフトLiftin_modが大きい領域でも、吸気の慣性力により上記吸気の吹き戻しが発生しにくくなるため、補正後バルブリフトLiftin_modが大きいほど、充填効率がより高くなることによる。
さらに、エンジン回転数NEおよびカム位相Cainに応じて、図12に示すマップを検索することにより、補正係数K_gcyl_vtを算出する。このマップでは、補正係数K_gcyl_vtは、NE=NE1またはNE2の場合、カム位相Cainが最遅角値Cainrtに近い領域では、最遅角値Cainrtに近いほど、より小さい値に設定され、それ以外の領域では、カム位相Cainが最進角値Cainad側の値であるほど、より小さな値に設定されている。これは、低・中回転域では、カム位相Cainが最遅角値Cainrtに近い領域において、最遅角値Cainrtに近いほど、吸気弁4の閉弁タイミングが遅くなることで、吸気の吹き戻しにより充填効率が低下するためであり、それ以外の領域では、カム位相Cainが最進角値Cainadに近いほど、バルブオーバーラップの増大に伴う内部EGR量の増大により、充填効率が低下するためである。また、NE=NE3の場合、補正係数K_gcyl_vtは、カム位相Cainが最遅角値Cainrtに近い領域では、一定値(値1)に設定され、それ以外の領域では、カム位相Cainが最進角値Cainad側の値であるほど、より小さな値に設定されている。これは、高回転域では、カム位相Cainが最進角値Cainadに近い領域でも、前述した吸気の慣性力により、吸気の吹き戻しが発生しにくくなることによる。
そして、以上のように算出した基本推定吸気量Gcyl_vt_baseおよび補正係数K_gcyl_vtを用い、下式(1)により、第1推定吸気量Gcyl_vtが算出される。
上記式(1)における記号(n)付きの各離散データは、TDC信号の発生に同期する制御周期ΔTnでサンプリングまたは算出されたデータであることを示しており、記号nは各離散データのサンプリングまたは算出サイクルの順番を表している。例えば、記号nは今回の制御タイミングでサンプリングされた値であることを、記号n−1は前回の制御タイミングでサンプリングされた値であることをそれぞれ示している。なお、以下の説明では、各離散データにおける記号(n)などを適宜、省略する。
ここで、第1推定吸気量算出部101における第1推定吸気量Gcyl_vtの算出は、以上の算出手法に限らず、エンジン回転数NE、補正後バルブリフトLiftin_modおよびカム位相Cainに応じて、第1推定吸気量Gcyl_vtを算出するものであればよい。例えば、第1推定吸気量Gcyl_vtと、エンジン回転数NE、補正後バルブリフトLiftin_modおよびカム位相Cainとの関係を予め設定した4次元マップを用いて、第1推定吸気量Gcyl_vtを算出してもよい。また、エンジン回転数NE、補正後バルブリフトLiftin_modおよびカム位相Cainを入力とし、第1推定吸気量Gcyl_vtを出力とするニューラルネットワークモデルを用いて、第1推定吸気量Gcyl_vtを算出してもよい。
なお、本実施形態では、第1推定吸気量算出部101が第1入力値算出手段に相当し、第1推定吸気量Gcyl_vtが第1入力値に相当する。
また、移行係数算出部103では、移行係数Kgが以下のように算出される。まず、第1推定吸気量算出部101で算出された第1推定吸気量Gcyl_vt、およびエンジン回転数NEを用い、下式(2)により、推定流量Gin_vt(単位:g/sec)を算出する。
次いで、この推定流量Gin_vtに応じて、図13に示すマップを検索することにより、移行係数Kgを算出する。同図において、Gin1,2は、Gin1<Gin2の関係が成立する所定値である。この所定値Gin1は、Gin_vt≦Gin1の範囲では、吸気通路12a内の空気流量が小さいことにより、エアフローセンサ22の分解能に起因して、第1推定吸気量Gcyl_vtの信頼性が後述する第2推定吸気量Gcyl_afmの信頼性を上回るような値に設定されている。また、所定値Gin2は、Gin2≦Gin_vtの範囲では、吸気通路12a内の空気流量が大きいことにより、第2推定吸気量Gcyl_afmの信頼性が第1推定吸気量Gcyl_vtの信頼性を上回るような値に設定されている。さらに、このマップでは、移行係数Kgは、Gin_vt≦Gin1の範囲では値0に、Gin2≦Gin_vtの範囲では値1に設定されているとともに、Gin1<Gin_vt<Gin2の範囲では、値0と値1の間で、かつ推定流量Gin_vtが大きいほど、より大きな値に設定されている。
一方、第2推定吸気量算出部102では、空気流量Ginおよびエンジン回転数NEに基づき、下式(3)により、第2推定吸気量Gcyl_afm(単位:g)が算出される。
増幅要素104,105では、以上のように算出された第1および第2推定吸気量Gcyl_vt,Gcyl_afmをそれぞれ(1−Kg),Kg倍に増幅した値が算出される。そして、加算要素106では、そのように増幅された値に基づき、下式(4)の加重平均演算により、算出吸気量Gcylが算出される。
この式(4)を参照すると明らかなように、Kg=0のとき、すなわち前述したGin_vt≦Gin1の範囲では、Gcyl=Gcyl_vtとなり、Kg=1のとき、すなわちGin2≦Gin_vtの範囲では、Gcyl=Gcyl_afmとなるとともに、0<Kg<1のとき、すなわちGin1<Gin_vt<Gin2の範囲では、算出吸気量Gcylにおける第1および第2推定吸気量Gcyl_vt,Gcyl_afmの重み付けの度合いは、移行係数Kgの値によって決定される。
さらに、増幅要素107では、算出吸気量Gcylに基づき、下式(5)により、基本燃料噴射量Tcyl_bsが算出される。なお、下式(5)のKgtは、燃料噴射弁10毎に予め設定される換算係数である。
また、目標空燃比算出部108では、算出吸気量Gcylおよびアクセル開度APに応じて、図14に示すマップを検索することにより、目標空燃比KCMDが算出される。このマップでは、目標空燃比KCMDの値は、当量比として設定されているとともに、基本的には、触媒装置14の排ガス浄化性能を良好な状態に保持するために、理論空燃比(14.5)に相当する値に設定されている。なお、本実施形態では、目標空燃比算出部108が目標値設定手段に相当し、目標空燃比KCMDが目標値に相当する。
さらに、空燃比補正係数算出部109では、下式(6)〜(10)に示すスライディングモード制御アルゴリズムにより、空燃比補正係数KAFが算出される。なお、下式(6)〜(10)における記号(m)付きの各離散データは、1燃焼サイクル毎すなわちTDC信号が連続して4回発生する毎にサンプリングまたは算出されたデータであることを示しており、記号mは各離散データのサンプリングサイクルの順番を表している。
上記式(6)に示すように、空燃比補正係数KAFは、到達則入力Urch’と適応則入力Uadp’の和として算出され、この到達則入力Urch’は、式(7)により算出される。同式(7)において、Krch’は、所定の到達則ゲインを表しており、σ’は、式(9)のように定義される切換関数である。同式(9)において、S’は、−1<S’<0の関係が成立するように設定される切換関数設定パラメータであり、eは、式(10)のように定義される追従誤差である。この場合、切換関数設定パラメータS’の設定値により、追従誤差eの値0への収束速度が指定される。
また、適応則入力Uadp’は、式(8)により算出され、同式(8)において、Kadp’は、所定の適応則ゲインを表している。なお、この適応則入力Uadp’の初期値は、値1に設定される。
以上のように、空燃比補正係数算出部109では、式(6)〜(10)に示すスライディングモード制御アルゴリズムにより、検出空燃比KACTを目標空燃比KCMDに収束させるための値として、空燃比補正係数KAFが算出される。なお、本実施形態では、空燃比補正係数KAFが第2入力値に相当する。
一方、総補正係数算出部110では、エンジン水温TWおよび吸気温TAなどの運転状態を表す各種のパラメータに応じて、図示しないマップを検索することにより、各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数KTOTALが算出される。
また、乗算要素111では、下式(11)により、要求燃料噴射量Tcylが算出される。
さらに、燃料付着補正部112では、以上のように算出された要求燃料噴射量Tcylに、所定の燃料付着補正処理を施すことにより、燃料噴射量TOUTが算出される。そして、この燃料噴射量TOUTに基づいて、燃料噴射弁10の燃料噴射タイミングおよび開弁時間が決定され、燃料噴射弁10が制御される。
次に、前述した空燃比誤差推定値算出部113について説明する。この空燃比誤差推定値算出部113では、以下に述べるように、空燃比誤差推定値Eafが算出される。まず、空燃比補正係数KAFおよび検出空燃比KACTに基づき、下式(12)により、実空燃比推定値KACT_hatを算出し、その後、下式(13)により、空燃比誤差推定値Eafが算出される。
ここで、上式(12),(13)における記号(k)付きの各離散データは、所定の制御周期ΔTk(本実施形態では5msec)に同期してサンプリングまたは算出されたデータであることを示しており、記号kは各離散データのサンプリングまたは算出サイクルの順番を表している。なお、以下の説明では、各離散データにおける記号(k)を適宜省略する。また、上式(12),(13)におけるdは、燃焼ガスが燃焼室からLAFセンサ24に到達するまでのむだ時間を表している。
上式(12)に示すように、実空燃比推定値KACT_hatは、今回の制御タイミングで得られた検出空燃比KACT(k)をむだ時間d前の制御タイミングで算出された空燃比補正係数KAF(k−d)で除算することにより、この値KAF(k−d)の影響を受けない値として算出される。すなわち、実空燃比推定値KACT_hatは、むだ時間d前の制御タイミングで空燃比フィードバック制御を実行しなかったと想定した場合の、今回の制御タイミングにおける実際の空燃比の推定値として算出される。
したがって、空燃比誤差推定値Eafは、そのような実空燃比推定値KACT_hat(k)と、むだ時間d前の制御タイミングでの目標空燃比KCMD(k−d)との偏差として算出されるので、むだ時間d前の制御タイミングで空燃比フィードバック制御を実行しなかったと想定した場合の、今回の制御タイミングにおける空燃比の制御誤差に相当する。なお、本実施形態では、空燃比誤差推定値算出部113が誤差パラメータ算出手段に相当し、空燃比誤差推定値Eafが誤差パラメータに相当する。
次に、前述したリフト補正値算出部120について説明する。このリフト補正値算出部120では、以下に述べる手法により、リフト補正値Dliftが算出される。本実施形態の制御装置1では、前述したように、リフト補正値DliftでバルブリフトLiftinを補正した補正後バルブリフトLiftin_modと、図11のマップを用いて、基本推定吸気量Gcyl_vt_baseが算出されており、以下、このような補正後バルブリフトLiftin_modを用いる理由について説明する。
本実施形態の制御装置1のように、可変バルブリフト機構50を介して吸入空気量を制御した場合、バルブリフトLiftinと基本推定吸気量Gcyl_vt_baseとの関係が、実際の関係に対してずれを生じることで、バルブリフトLiftinを用いて基本推定吸気量Gcyl_vt_baseを算出したとき(例えば前述した図11のマップで横軸をバルブリフトLiftinとしたとき)には、基本推定吸気量Gcyl_vt_baseの算出値が、実際の値に対して誤差を生じる可能性がある。
すなわち、衝撃などにより回動角センサ25の取付状態が変化したり、温度変化に伴って回動角センサ25の特性が変化したりすると、バルブリフトの算出値Liftinがその実際値に対してずれてしまうことがあり、その場合には、上述した基本推定吸気量Gcyl_vt_baseの算出誤差を生じてしまう。また、可変バルブリフト機構50の構成部品の摩耗、汚れの付着および経年変化による遊びなどに起因して、可変バルブリフト機構50の動特性(すなわちリフト制御入力U_liftinに対するバルブリフトLiftinの関係)が変化した場合にも、上述した基本推定吸気量Gcyl_vt_baseの算出誤差が発生する。以下の説明では、バルブリフトLiftinと基本推定吸気量Gcyl_vt_baseとの関係が、実際の関係に対してずれた状態にあることを「リフト誤差」という。
例えば、エンジン回転数NEが低回転域にある場合、上述したリフト誤差の発生状態としては、図15および図16に示すものが考えられる。図15は、バルブリフトの算出値Liftinがその実際値に対してオフセット(ゼロ点ずれ)を生じていることで、上述したリフト誤差が発生している場合を示しており、図16は、バルブリフトの算出値Liftinはその実際値に対して誤差を生じていないものの、上述した可変バルブリフト機構50の動特性の変化に起因して、リフト誤差が発生している場合を示している。両図では、実線で示す曲線が、バルブリフトLiftinと基本推定吸気量Gcyl_vt_baseの関係においてリフト誤差がない状態を表しており、破線で示す曲線が、リフト誤差が発生している状態を表している。
両図15,16を参照すると明らかなように、リフト誤差は、バルブリフトLiftinが小リフト域の所定値Liftin_aのときの方が大リフト域の所定値Liftin_b(>Liftin_a)のときよりも大きくなっている。すなわち、リフト誤差は、上述したバルブリフトLiftinのオフセットに起因する場合でも、可変バルブリフト機構50の動特性の変化に起因する場合でも、小リフト域の方が大リフト域よりも大きくなることが判る。
また、図17を参照すると明らかなように、バルブリフトLiftinの変化量ΔLiftinに対する基本推定吸気量Gcyl_vt_baseの変化量ΔGcylは、小リフト域の値ΔGcyl_aの方が、大リフト域の値ΔGcyl_bよりも大きくなるので、2つの変化量の比ΔGcyl/ΔLiftinは、(ΔGcyl_a/ΔLiftin)≫(ΔGcyl_b/ΔLiftin)の関係が成立する。
ここで、前述した空燃比誤差推定値Eafが、リフト誤差に起因して発生していると想定した場合、そのリフト誤差が空燃比誤差推定値Eafに及ぼす影響度合すなわち感度の大小は、上記比ΔGcyl/ΔLiftinの大小関係と同じであると見なすことができる。言い換えれば、空燃比誤差推定値Eafが発生した場合、比ΔGcyl/ΔLiftinが大きいほど、空燃比誤差推定値Eafがリフト誤差に起因して発生した確率がより高いと見なすことができる。これに加えて、比ΔGcyl/ΔLiftinの値は、バルブリフトLiftinおよびエンジン回転数NEに応じて変化する(前述した図11参照)とともに、カム位相Cainに応じても変化するので、空燃比誤差推定値Eafに対するリフト誤差の感度も、3つの値Liftin,NE,Cainに応じて変化することになる。
したがって、本実施形態のリフト補正値算出部120では、以下に述べる算出手法により、バルブリフトLiftinを補正するためのリフト補正値Dliftが、上述した空燃比誤差推定値Eafに対するリフト誤差の感度を反映する値として算出される。
図18に示すように、リフト補正値算出部120は、誤差重み算出部121、修正誤差算出部122、基本リフト補正値算出部123、補正感度算出部124、乗算要素125および加算要素126を備えている。なお、本実施形態では、リフト補正値算出部120がモデル修正手段および補正後修正値算出手段に相当し、リフト補正値Dliftが補正後修正値に相当する。
まず、誤差重み算出部121では、以下に述べるように、誤差重みWが算出される。なお、本実施形態では、誤差重み算出部121が影響度合パラメータ算出手段および第2影響度合パラメータ算出手段に相当し、誤差重みWが影響度合パラメータおよび第2影響度合パラメータに相当する。
まず、下式(14)により、第2補正後バルブリフトLiftin_mod_pを算出する。
上式(14)に示すように、第2補正後バルブリフトLiftin_mod_pは、バルブリフトの今回値Liftin(k)とリフト補正値の前回値Dlift(k−1)の和として算出される。これは、第2補正後バルブリフトLiftin_mod_pの算出時点では、リフト補正値の今回値Dlift(k)が未算出であることによる。
次いで、第2補正後バルブリフトLiftin_mod_pおよびエンジン回転数NEに応じて、図19に示すマップを検索することにより、基本誤差重みW_baseを算出する。この基本誤差重みW_baseは、上記比ΔGcyl/ΔLiftinを、所定の微小リフト&所定の低回転数での上記比ΔGcyl_x/ΔLiftin_xの絶対値|ΔGcyl_x/ΔLiftin_x|を基準として正規化した値、すなわち、W_base=(ΔGcyl/ΔLiftin)÷(|ΔGcyl_x/ΔLiftin_x|)が成立する値を表している。図中に破線で示すように、ΔGcyl/ΔLiftin<0となる条件では、後述する理由によりW_base=0に設定されている。
このマップでは、基本誤差重みW_baseは、第2補正後バルブリフトLiftin_mod_pが小さいほど、より大きい値に設定されている。これは、前述したリフト誤差感度すなわち比ΔGcyl/ΔLiftinが、第2補正後バルブリフトLiftin_mod_pが小さいほど、より大きい値を示すことによる。さらに、基本誤差重みW_baseは、小リフト域では、エンジン回転数NEが高いほど、より小さな値に設定され、それ以外のリフト域では、エンジン回転数NEが高いほど、より大きな値に設定されている。これは、前述した図11の説明で述べた理由(充填効率および吹き戻しの変化)による。なお、本実施形態では、図19のマップが影響度合モデルおよび第2影響度合モデルに相当する。
また、カム位相Cainおよびエンジン回転数NEに応じて、図20に示すマップを検索することにより、誤差重み補正係数K_wを算出する。この誤差重み補正係数K_wは、上記比ΔGcyl/ΔLiftinを、エンジン回転数NEの各所定値NE1〜NE3において、カム位相Cainが最遅角のときの比ΔGcyl_rt/ΔLiftin_rtの絶対値|ΔGcyl_rt/ΔLiftin_rt|を基準として正規化した値、すなわち、W_base=(ΔGcyl/ΔLiftin)÷(|ΔGcyl_rt/ΔLiftin_rt|)が成立する値を表している。
このマップでは、誤差重み補正係数K_wは、エンジン回転数NEおよびカム位相Cainに対して、前述した図12の補正係数K_gcyl_vtと同じ傾向に設定されている。これは、前述した図12の説明で述べた理由(充填効率および吹き戻しの変化)による。
そして、最終的に、誤差重みWは下式(15)により算出される。
以上のように、誤差重みWは、基本誤差重みW_baseに誤差重み補正係数K_wを乗算することにより算出されるので、空燃比誤差推定値Eafに対するリフト誤差の感度を表す値として算出される。より具体的には、誤差重みWは、空燃比誤差推定値Eafに対するリフト誤差の感度すなわち比ΔGcyl/ΔLiftinが大きいほど、言い換えれば、空燃比誤差推定値Eafがリフト誤差に起因して発生した確率が高いほど、より大きい値として算出される。また、これらの2つの値W_bas,K_wは、3つのパラメータLiftin_mod_p,NE,Cainに応じて、図19,20の2つのマップを検索することにより算出されるとともに、第2補正後バルブリフトLiftin_mod_pは、バルブリフトLiftinにリフト補正値の前回値Dlift(k−1)を加算した値であるので、これらの2つのマップは、3つの値Liftin,NE,Cainと誤差重みWとの間の相関関係を表す応答曲面モデルを構成していると見なすことができる。
このように、誤差重みWが3つの値Liftin,NE,Cainに応じて算出されるのは、リフト誤差の感度は、バルブリフトLiftinだけでなく、エンジン回転数NEおよびカム位相Cainの値によっても変化するためである。その結果、誤差重みWは、空燃比誤差推定値Eafに対する3つの値Liftin,NE,Cainの影響度合を表す値として算出される。
なお、基本誤差重みW_baseの算出用マップとして、図19に示すものに代えて、基本誤差重みW_baseがバルブリフトLiftinおよびエンジン回転数NEに応じて設定されているもの、すなわち図19の横軸の第2補正後バルブリフトLiftin_mod_pをバルブリフトLiftinに置き換えたものを用いてもよい。
次に、修正誤差算出部122では、下式(16)により、修正誤差Weafが算出される。なお、本実施形態では、修正誤差算出部122が補正後誤差パラメータ算出手段に相当し、修正誤差Weafが補正後誤差パラメータに相当する。
上式(16)において、むだ時間d前の移行係数Kg(k−d)を用いたのは、以下の理由による。すなわち、前述した式(4)を参照すると明らかなように、移行係数Kgが変化すると、算出吸気量Gcylにおける第1推定吸気量Gcyl_vtと第2推定吸気量Gcyl_afmの寄与度も変化するので、リフト誤差感度も変化することになる。この場合、今回の制御タイミングで算出された空燃比誤差推定値Eafは、むだ時間d前の制御タイミングでの算出吸気量Gcyl(k−d)およびこれに基づいて算出された燃料噴射量TOUTに起因するものとなるので、今回の制御タイミングでのリフト誤差感度の変化は、むだ時間d前の移行係数Kg(k−d)の変化に起因するものと想定される。したがって、そのようなリフト誤差感度を補償するために、修正誤差Weafの算出において、むだ時間d前の移行係数Kg(k−d)が用いられる。
また、基本リフト補正値算出部123では、下式(17)〜(24)に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本リフト補正値Dlift_bsが算出される。すなわち、基本リフト補正値Dlift_bsは、修正誤差Weafを値0に収束させるための値として算出される。
上式(17)において、σは切換関数であり、Sは−1<S<0の関係が成立するように設定される切換関数設定パラメータである。この場合、切換関数設定パラメータSの設定値により、修正誤差Weafの値0への収束速度が指定される。また、式(18)において、Urchは到達則入力であり、Krchは所定の到達則ゲインを表している。さらに、式(19)において、Unlは非線形入力であり、Knlは所定の非線形入力用ゲインを表している。また、式(19)におけるsgn(σ(k))は符号関数であり、その値は、σ(k)≧0のときにはsgn(σ(k))=1となり、σ(k)<0のときにはsgn(σ(k))=−1となるように設定される(なお、σ(k)=0のときに、sgn(σ(k))=0となるように設定してもよい)。
さらに、式(20)において、Uadpは適応則入力であり、Kadpは所定の適応則ゲインを表している。また、式(20)のδは、式(21)により算出される切換関数の積分値である。同式(21)のλは忘却係数であり、その値は式(22),(23)に示すように、基本リフト補正値の前回値Dlift_bs(k−1)と所定の上下限値Dlift_bs_H,Dlift_bs_Lとの比較結果により、値1または所定値λlmtに設定される。この上限値Dlift_bs_Hは正の所定値に設定され、下限値Dlift_bs_Lは負の所定値に設定されるとともに、所定値λlmtは、0<λlmt<1が成立するような値に設定される。
また、式(24)に示すように、基本リフト補正値Dlift_bsは、到達則入力Urch、非線形入力Unlおよび適応則入力Uadpの和として算出される。
以上の基本リフト補正値Dlift_bsの算出アルゴリズムにおいて、忘却係数λを用いたのは以下の理由による。すなわち、空燃比補正係数KAFが、式(6)〜(10)のスライディングモード制御アルゴリズムにより算出されるとともに、その空燃比補正係数KAFに基づいて算出した修正誤差Weafが値0に収束するように、式(17)〜(24)のスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本リフト補正値Dlift_bsが算出される。そのため、忘却係数λを用いなかった場合、これらの2つの制御アルゴリズムにおける積分項としての適応則入力Uadp’,Uadpが互いに干渉して振動的な挙動を示したり、積分項Uadp’,Uadpの絶対値が増大したりすることにより(すなわち適応制御におけるパラメータドリフトと同じ状態になることにより)、基本リフト補正値Dlift_bsすなわち第1推定吸気量Gcyl_vtの算出値が一時的に不適切な値になり、過渡制御性が低下してしまう。
これに対して、前述した式(21)では、基本リフト補正値の前回値Dlift_bs(k−1)の絶対値が大きい場合には、適応則入力Uadpにおける切換関数の積分値δの増大を回避するために、0<λ<1の範囲内の値に設定された忘却係数λが、切換関数の積分値の前回値δ(k−1)に乗算されている。この場合、前述した式(21)を漸化式により展開すると、h(hは2以上の自然数)回前の制御タイミングでの切換関数の積分値δ(k−h)に対しては、λh(≒0)が乗算されることになるので、演算処理が進行したときでも、切換関数の積分値δの増大すなわち適応則入力Uadpの増大を回避することができる。その結果、第1推定吸気量Gcyl_vtが振動的な状態になったり、一時的に不適切な値になったりするのを回避でき、過渡制御性を向上させることができる。
また、忘却係数λを常に0<λ<1の範囲内の値に設定した場合、修正誤差Weafが値0近傍になったときに、忘却係数λによる忘却効果により、基本リフト補正値Dlift_bsが値0近傍に収束してしまうので、そのような状態で制御誤差が再度発生すると、その制御誤差を解消するのに時間を要してしまうことになる。したがって、それを回避し、制御誤差を迅速に解消するためには、修正誤差Weafが比較的小さい値のときでも、基本リフト補正値Dlift_bsを、修正誤差Weafを補償可能な値に適切に保持しておく必要があるので、基本リフト補正値の前回値Dlift_bs(k−1)が上述した範囲にあるときには、忘却係数λによる忘却効果をキャンセルするために、λ=1に設定されている。なお、忘却係数λによる忘却効果が常に不要な場合には、式(21)において、前回値Dlift_bs(k−1)の大小にかかわらず、λ=1と設定すればよい。
また、基本リフト補正値Dlift_bsは、修正誤差Weafを値0に収束させるように、前述した式(17)〜(24)より算出されるので、例えば、前述した基本誤差重みW_baseが正値および負値の双方を示す場合、基本誤差重みW_baseが正値と負値との間で変化すると、それに伴って修正誤差Weafの符号が反転し、各制御入力Urch,Unl,Uadpの符号が反転してしまい、その結果、基本リフト補正値Dlift_bsが不適切な値に算出されることで、制御が不安定になる可能性がある。したがって、制御の安定性を確保するために、前述した図19では、基本誤差重みW_baseが負値となる条件下のときに、基本誤差重みW_baseが値0に設定されている。
なお、基本誤差重みW_baseの符号が変化するのに伴って、各制御入力Urch,Unl,Uadpのゲインの符号を反転させるように制御する場合には、基本誤差重みW_baseが正値および負値の双方を示すときでも、本実施形態と同様に、制御の安定性を確保することができるので、その場合には、図19に破線で示す基本誤差重みW_baseが負値となる曲線の値を用いてもよい。なお、本実施形態では、基本リフト補正値算出部123が修正値算出手段に相当し、基本リフト補正値Dlift_bsが修正値に相当する。
一方、前述した補正感度算出部124では、以下に述べる手法により、補正感度Rliftが算出される。まず、前述した式(14)により、第2補正後バルブリフトLiftin_mod_pを算出する。
次いで、第2補正後バルブリフトLiftin_mod_pおよびエンジン回転数NEに応じて、図21に示すマップを検索することにより、基本感度R_baseを算出する。この基本感度R_baseは、前述した基本誤差重みW_baseと同様に、比ΔGcyl/ΔLiftinを、所定の微小リフト&所定の低回転数での上記比ΔGcyl_x/ΔLiftin_xの絶対値|ΔGcyl_x/ΔLiftin_x|を基準として正規化した値を示している。
このマップでは、基本感度R_baseは、第2補正後バルブリフトLiftin_mod_pが小さいほど、より大きい値に設定されている。これは、前述した図19の説明で述べた理由による。また、このマップでは、基本感度R_baseは、基本誤差重みW_baseと異なり、正値および負値の双方を示すように設定されている。これは、後述するように、リフト補正値Dliftが、補正感度Rliftを基本リフト補正値Dlift_bsに乗算することにより算出されるとともに、これをバルブリフトLiftinに加算することにより、補正後バルブリフトLiftin_modが算出されるので、補正感度Rliftが正値および負値の双方を示す場合でも、空燃比制御の安定性を損なうことなく、むしろ、空燃比制御の応答性を高めることができることによる。
また、カム位相Cainおよびエンジン回転数NEに応じて、図22に示すマップを検索することにより、感度補正係数K_rを算出する。同図において、実線で示す曲線が、感度補正係数K_rの値を表しており、破線で示す曲線は、前述した誤差重み補正係数K_wの値を比較のために表したものである。これらの2つの曲線を比較すると明らかなように、このマップでは、感度補正係数K_rは、誤差重み補正係数K_wとほぼ同じような傾向に設定されており、これは、図20の説明で述べたのと同じ理由による。これに加えて、感度補正係数K_rの進角側の値は、誤差重み補正係数K_wよりも値1に近い値に設定されている。これは、カム位相Cainが進角側に制御されている場合、吸入空気量の減少に応じて燃料噴射量TOUTが小さい値に算出されるので、その際、燃料噴射量TOUTが適切な値よりも小さく誤算出されると、混合気がリーン化することによって燃焼の安定性が低下する可能性があるので、それを回避するためである。
そして、最終的に、補正感度Rliftが下式(25)により算出される。
以上のように、補正感度Rliftは、前述した誤差重みWと同様の手法により算出されるので、空燃比誤差推定値Eafに対するリフト誤差の感度、すなわち、空燃比誤差推定値Eafに対するバルブリフトLiftinの影響度合を表す値として算出されるとともに、空燃比誤差推定値Eafに対するエンジン回転数NEおよびカム位相Cainの影響度合も表す値として算出される。そして、このような補正感度Rliftを基本リフト補正値Dlift_bsに乗算することにより、リフト補正値Dliftが算出される。このように、補正感度Rliftに乗算することによりリフト補正値Dliftを算出するのは、リフト誤差の感度が低い条件下で、補正感度Rliftを用いることなく、Dlift_bs=Dliftと算出すると、リフト補正値Dliftにより、空燃比誤差推定値Eafが過補償されるおそれがあるので、それを回避するためである。
なお、補正感度算出部124において、基本感度R_baseの算出用マップとして、図21に示すものに代えて、基本感度R_baseがバルブリフトLiftinおよびエンジン回転数NEに応じて設定されているもの、すなわち図21の横軸の第2補正後バルブリフトLiftin_mod_pをバルブリフトLiftinに置き換えたものを用いてもよい。なお、本実施形態では、補正感度算出部124が第1影響度合パラメータ算出手段に相当し、補正感度Rliftが第1影響度合パラメータに相当し、図21,22のマップが第1影響度合モデルに相当する。
次いで、乗算要素125では、下式(26)により、リフト補正値Dliftが算出される。
リフト補正値算出部120では、以上の手法により、リフト補正値Dliftが算出される。そして、前述した加算要素114で、下式(27)により、補正後バルブリフトLiftin_modが算出される。
以上のように、リフト補正値Dliftは、基本リフト補正値Dlift_bsに補正感度Rliftを乗算することにより算出される。この場合、基本リフト補正値Dlift_bsは、修正誤差Weafを値0に収束させるための値であるので、リフト補正値DliftによりバルブリフトLiftinを補正することは、リフト誤差を解消するように、バルブリフトLiftinを補正または修正することに相当する。したがって、そのような補正後バルブリフトLiftin_modに応じて、前述した図11のマップを検索することにより、基本推定吸気量Gcyl_vt_baseを算出することは、リフト誤差を解消するように修正されたマップを用いて、第1入力値としての第1推定吸気量Gcyl_vtを算出することに相当する。
なお、本実施形態では、図11のマップが相関関係モデルに相当し、リフト補正値DliftによりバルブリフトLiftinを補正した補正後バルブリフトLiftin_modと図11のマップを用いて、第1推定吸気量Gcyl_vtを算出することが、修正された相関関係モデルを用いて、第1入力値を算出することに相当する。
次に、図23を参照しながら、前述した制御周期ΔTnでECU2により実行される制御処理について説明する。なお、以下の説明において算出される各種の値は、ECU2のRAM内に記憶されるものとする。
この処理では、まず、ステップ1(図では「S1」と略す。以下同じ)で、TDCカウンタの計数値C_TDCを、その前回値C_TDCZと値1の和(C_TDCZ+1)に設定する。すなわち、TDCカウンタの計数値C_TDCを値1インクリメントする。
次いで、ステップ2に進み、C_TDC=4であるか否かを判別する。この判別結果がNOで、C_TDC≠4のときには、後述するステップ6に進む。一方、この判別結果がYESのときには、ステップ3に進み、TDCカウンタの計数値C_TDCを値0にリセットする。
ステップ3に続くステップ4で、目標空燃比KCMDを算出する。具体的には、前述したように、算出吸気量Gcylおよびアクセル開度APに応じて、図14に示すマップを検索することにより、目標空燃比KCMDを算出する。
次に、ステップ5で、空燃比補正係数KAFを算出する。具体的には、空燃比フィードバック制御の実行条件が成立しているときには、前述した式(6)〜(10)の制御アルゴリズムにより、空燃比補正係数KAFを算出する。一方、空燃比フィードバック制御の実行条件が不成立のときには、空燃比補正係数KAFを値1に設定する。
ステップ2または5に続くステップ6で、空燃比制御処理を実行する。この空燃比制御処理は、燃料噴射量TOUTを燃料噴射弁10毎に算出するものであり、その詳細については後述する。
次いで、ステップ7で、点火時期制御処理を実行する。この処理の詳細な説明はここでは省略するが、この処理では、例えば前述した特開2005−315161号公報における点火時期制御処理と同じ算出手法により、点火時期Iglogが算出される。その後、本処理を終了する。
以上のように、図23の制御処理では、ステップ3〜5は、C_TDC=4が成立する毎に実行されるので、TDC信号が連続して4回発生する毎すなわち1燃焼サイクル毎に実行されることになる。
次に、図24を参照しながら、前述した空燃比制御処理について説明する。本処理は、以下に述べるように、燃料噴射量TOUTを燃料噴射弁10毎に算出するものであり、より具体的には、前述したTDCカウンタの計数値C_TDCが値1から値4までインクリメントされるのに従って、1番気筒→3番気筒→4番気筒→2番気筒の順に各気筒用の燃料噴射弁10の燃料噴射量TOUTをそれぞれ算出するものである。
まず、ステップ20で、前述した補正後バルブリフトLiftin_mod、空燃比補正係数KAFおよび各種のパラメータを読み込む。この場合、補正後バルブリフトLiftin_modは、前述したように制御周期ΔTkで算出されるので、補正後バルブリフトLiftin_modをダウンサンプリングすることに相当する。また、空燃比補正係数KAFは、1燃焼サイクル毎に算出されるので、空燃比補正係数KAFをオーバーサンプリングすることに相当する。
次いで、ステップ21で、基本燃料噴射量Tcyl_bsを算出する。この基本燃料噴射量Tcyl_bsの算出処理は、具体的には、図25に示すように実行される。すなわち、まず、ステップ30で、前述した式(3)により、第2推定吸気量Gcyl_afmを算出する。
次に、ステップ31で、前述したように、エンジン回転数NEおよび補正後バルブリフトLiftin_modに応じて、図11に示すマップを検索することにより、基本推定吸気量Gcyl_vt_baseを算出する。
ステップ31に続くステップ32で、前述したように、エンジン回転数NEおよびカム位相Cainに応じて、図12に示すマップを検索することにより、補正係数K_gcyl_vtを算出する。
その後、ステップ33に進み、ステップ31および32で算出した2つの値Gcyl_vt_base,K_gcyl_vtに基づき、前述した式(1)により、第1推定吸気量Gcyl_vtを算出する。
次に、ステップ34で、前述した式(2)により、推定流量Gin_vtを算出する。その後、ステップ35に進み、可変機構故障フラグF_VDNGが「1」であるか否かを判別する。
この可変機構故障フラグF_VDNGは、図示しない故障判定処理において、可変バルブリフト機構50および可変カム位相機構70の少なくとも1つが故障していると判定されたときには「1」に、いずれも正常であると判定されたときには「0」にそれぞれ設定される。なお、以下の説明では、可変バルブリフト機構50および可変カム位相機構70をまとめて「2つの可変機構」と呼ぶ。
ステップ35の判別結果がNOで、2つの可変機構がいずれも正常であるときには、ステップ36に進み、エアフローセンサ故障フラグF_AFMNGが「1」であるか否かを判別する。このエアフローセンサ故障フラグF_AFMNGは、図示しない故障判定処理において、エアフローセンサ22が故障していると判定されたときには「1」に、正常であると判定されたときには「0」にそれぞれ設定される。
ステップ36の判別結果がNOで、エアフローセンサ22が正常であるときには、ステップ37に進み、前述したように、移行係数Kgを、推定流量Gin_vtに応じて、図13に示すマップを検索することにより算出する。
一方、ステップ36の判別結果がYESで、エアフローセンサ22が故障しているときには、ステップ38に進み、移行係数Kgを値0に設定する。
ステップ37または38に続くステップ39では、前述した式(4)により、算出吸気量Gcylを算出する。次いで、ステップ40で、基本燃料噴射量Tcyl_bsを、換算係数と算出吸気量の積Kgt・Gcylに設定した後、本処理を終了する。
一方、ステップ35の判別結果がYESで、2つの可変機構の少なくとも1つが故障していると判定されたときには、ステップ41に進み、算出吸気量Gcylを前述した所定の故障時用値Gcyl_fsに設定する。次いで、前述したステップ40を実行した後、本処理を終了する。
図24に戻り、ステップ21で、以上のように基本燃料噴射量Tcyl_bsを算出した後、ステップ22に進み、総補正係数KTOTALを算出する。具体的には、前述したように、各種の運転パラメータ(例えば吸気温TAや、大気圧PA、エンジン水温TW、アクセル開度APなど)に応じて、各種のマップを検索することで各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数KTOTALが算出される。
次いで、ステップ23に進み、前述した式(11)により、要求燃料噴射量Tcylを算出する。この後、ステップ24で、前述したように、要求燃料噴射量Tcylに、所定の燃料付着補正処理を施すことにより、燃料噴射量TOUTを算出する。この後、本処理を終了する。これにより、燃料噴射弁10の燃料噴射タイミングおよび開弁時間が、この燃料噴射量TOUTに基づく値になるように、燃料噴射弁10が制御される。その結果、空燃比フィードバック制御の実行条件が成立しているときには、検出空燃比KACTが目標空燃比KCMDに収束するように制御される。
次に、図26を参照しながら、ECU2において、タイマ設定により前述した制御周期ΔTkで実行される制御処理について説明する。この処理では、まず、ステップ50で、RAMに記憶されている、第1推定吸気量Gcyl_vt、第2推定吸気量Gcyl_afm、検出空燃比KACTおよび空燃比補正係数KAFの値を読み込む。
次いで、ステップ51に進み、フィードバック制御中フラグF_AFFBが「1」であるか否かを判別する。このフィードバック制御中フラグF_AFFBは、空燃比フィードバック制御の実行中であるときには「1」に、それ以外のときには「0」に設定される。
ステップ51の判別結果がYESで、空燃比フィードバック制御の実行中であるときには、ステップ52に進み、エンジン水温TWが所定の判定値TWREFより高いか否かを判別する。この所定値TWREFは、エンジン3の暖機運転の終了判定用の値である。
ステップ52の判別結果がYESで、エンジン3の暖機運転が終了しているときには、ステップ53に進み、パージ完了フラグF_CANIが「1」であるか否かを判別する。このパージ完了フラグF_CANIは、キャニスタ内に吸着した蒸発燃料を吸気通路内に戻すパージ動作が完了しているときには「1」に、それ以外のときには「0」に設定される。
ステップ53の判別結果がYESで、パージ動作が完了しているときには、ステップ54に進み、補正後バルブリフトLiftin_modの算出処理を実行する。この算出処理の詳細については後述する。
一方、以上のステップ51〜53のいずれかの判別結果がNOのときには、補正後バルブリフトLiftin_modの算出条件が成立していないとして、ステップ56に進み、補正後バルブリフトLiftin_modをその前回値Liftin_modzに設定する。以上のように、空燃比フィードバック制御中でない場合、エンジン3の暖機運転が終了していない場合、またはパージ動作が完了していない場合には、空燃比が不安定な制御状態となり、リフト補正値Dliftの算出精度が低下することで、補正後バルブリフトLiftin_modの算出精度が低下するおそれがあるので、それを回避するために、補正後バルブリフトLiftin_modを更新することなく、その前回値が用いられる。
ステップ54または56に続くステップ55で、後述するように、可変機構制御処理を実行した後、本処理を終了する。
次に、図27を参照しながら、前述した補正後バルブリフトLiftin_modの算出処理について説明する。まず、ステップ60で、前述した式(12),(13)により、空燃比誤差推定値Eafを算出する。
次に、ステップ61に進み、前述した式(14)により、第2補正後バルブリフトLiftin_mod_pを算出する。その後、ステップ62で、第2補正後バルブリフトLiftin_mod_pおよびエンジン回転数NEに応じて、前述した図19に示すマップを検索することにより、基本誤差重みW_baseを算出する。
ステップ62に続くステップ63で、カム位相Cainおよびエンジン回転数NEに応じて、前述した図20に示すマップを検索することにより、誤差重み補正係数K_wを算出する。
次いで、ステップ64で、前述した式(15)により、誤差重みWを算出した後、ステップ65で、前述した式(16)により、修正誤差Weafを算出する。
ステップ65に続くステップ66で、前述した式(17)〜(24)により、基本リフト補正値Dlift_bsを算出する。その後、ステップ67に進み、第2補正後バルブリフトLiftin_mod_pおよびエンジン回転数NEに応じて、前述した図21に示すマップを検索することにより、基本感度R_baseを算出する。
次いで、ステップ68に進み、カム位相Cainおよびエンジン回転数NEに応じて、前述した図22に示すマップを検索することにより、感度補正係数K_rを算出する。その後、ステップ69で、前述した式(25)により、補正感度Rliftを算出する。
ステップ69に続くステップ70で、前述した式(26)により、リフト補正値Dliftを算出する。次いで、ステップ71に進み、前述した式(27)により、補正後バルブリフトLiftin_modを算出する。その後、本処理を終了する。
次に、図28を参照しながら、前述した可変機構制御処理について説明する。本処理は、2つの可変機構をそれぞれ制御するための2つの制御入力U_Liftin,U_Cainを算出するものである。
この処理では、まず、ステップ80で、前述した可変機構故障フラグF_VDNGが「1」であるか否かを判別する。この判別結果がNOで、2つの可変機構がいずれも正常であるときには、ステップ81に進み、エンジン始動フラグF_ENGSTARTが「1」であるか否かを判別する。
このエンジン始動フラグF_ENGSTARTは、図示しない判定処理において、エンジン回転数NEおよびIG・SW29のON/OFF信号に応じて、エンジン始動制御中すなわちクランキング中であるか否かを判定することにより設定されるものであり、具体的には、エンジン始動制御中であるときには「1」に、それ以外のときには「0」にそれぞれ設定される。
ステップ81の判別結果がYESで、エンジン始動制御中であるときには、ステップ82に進み、目標バルブリフトLiftin_cmdを、エンジン水温TWに応じて、図29に示すマップを検索することにより算出する。
このマップでは、目標バルブリフトLiftin_cmdは、エンジン水温TWが所定値TWREF1より高い範囲では、エンジン水温TWが低いほど、より大きな値に設定されているとともに、TW≦TWREF1の範囲では、所定値Liftinrefに設定されている。これは、エンジン水温TWが低い場合、可変バルブリフト機構50のフリクションが増大するので、それを補償するためである。
次いで、ステップ83で、目標カム位相Cain_cmdを、エンジン水温TWに応じて、図30に示すマップを検索することにより算出する。
このマップでは、目標カム位相Cain_cmdは、エンジン水温TWが所定値TWREF2よりも高い範囲では、エンジン水温TWが低いほど、より遅角側の値に設定されているとともに、TW≦TWREF2の範囲では、所定値Cainrefに設定されている。これは、エンジン水温TWが低い場合、カム位相Cainをエンジン水温TWが高い場合よりも遅角側に制御し、バルブオーバーラップを小さくすることで、吸気流速を上昇させ、燃焼の安定化を図るためである。
次に、ステップ84に進み、リフト制御入力U_Liftinを、下式(28)〜(31)に示す目標値フィルタ型の2自由度応答指定型制御アルゴリズムにより算出する。
同式(28)において、Krch_lfは所定の到達則ゲインを、Kadp_lfは所定の適応則ゲインをそれぞれ表しており、さらに、σ_lfは、式(29)のように定義される切換関数である。同式(29)において、pole_lfは、−1<pole_lf<0の関係が成立するように設定される切換関数設定パラメータであり、E_lfは、式(30)により算出される追従誤差である。同式(30)において、Liftin_cmd_fは、目標バルブリフトのフィルタ値であり、式(31)に示す一次遅れフィルタアルゴリズムにより算出される。同式(31)において、pole_f_lfは、−1<pole_f_lf<0の関係が成立するように設定される目標値フィルタ設定パラメータである。
次に、ステップ85に進み、位相制御入力U_Cainを、下式(32)〜(35)に示す目標値フィルタ型の2自由度応答指定型制御アルゴリズムにより算出する。
同式(32)において、Krch_caは所定の到達則ゲインを、Kadp_caは所定の適応則ゲインをそれぞれ表しており、さらに、σ_caは、式(33)のように定義される切換関数である。同式(33)において、pole_caは、−1<pole_ca<0の関係が成立するように設定される切換関数設定パラメータであり、E_caは、式(34)により算出される追従誤差である。同式(34)において、Cain_cmd_fは、目標カム位相のフィルタ値であり、式(35)に示す一次遅れフィルタアルゴリズムにより算出される。同式(35)において、pole_f_caは、−1<pole_f_ca<0の関係が成立するように設定される目標値フィルタ設定パラメータである。
ステップ85で、位相制御入力U_Cainを以上のように算出した後、本処理を終了する。
一方、ステップ81の判別結果がNOで、エンジン始動制御中でないときには、ステップ86に進み、アクセル開度APが所定値APREFより小さいか否かを判別する。この判別結果がYESで、アクセルペダルが踏まれていないときには、ステップ87に進み、始動後タイマの計時値Tastが所定値Tastlmtより小さいか否かを判別する。
この判別結果がYESで、Tast<Tastlmtのときには、触媒暖機制御を実行すべきであるとして、ステップ88に進み、目標バルブリフトLiftin_cmdを、始動後タイマの計時値Tastおよびエンジン水温TWに応じて、図31に示すマップを検索することにより算出する。同図において、TW1〜TW3は、TW1<TW2<TW3の関係が成立するエンジン水温TWの所定値を示しており、この点は以下の説明においても同様である。
このマップでは、目標バルブリフトLiftin_cmdは、エンジン水温TWが低いほど、より大きな値に設定されている。これは、エンジン水温TWが低いほど、触媒の活性化に要する時間が長くなるので、排ガスボリュームを大きくすることで、触媒の活性化に要する時間を短縮するためである。これに加えて、このマップでは、目標バルブリフトLiftin_cmdは、始動後タイマの計時値Tastが小さい間は、計時値Tastが大きいほど、より大きな値に設定され、計時値Tastがある程度よりも大きい領域では、計時値Tastが大きいほど、より小さな値に設定されている。これは、触媒暖機制御の実行時間が経過するのに伴い、エンジン3の暖機が進むことで、フリクションが低下した場合において、吸入空気量を低減しないと、エンジン回転数NEを目標値に維持するために点火時期が過剰にリタード制御された状態となり、燃焼状態が不安定になってしまうので、それを回避するためである。
次いで、ステップ89で、目標カム位相Cain_cmdを、始動後タイマの計時値Tastおよびエンジン水温TWに応じて、図32に示すマップを検索することにより算出する。
このマップでは、目標カム位相Cain_cmdは、エンジン水温TWが低いほど、より進角側の値に設定されている。これは、エンジン水温TWが低いほど、上述したように触媒の活性化に要する時間が長くなるので、ポンピングロスを減少させ、吸入空気量を増大させることで、触媒の活性化に要する時間を短縮するためである。これに加えて、このマップでは、目標カム位相Cain_cmdは、始動後タイマの計時値Tastが小さい間は、計時値Tastが大きいほど、より遅角側の値に設定され、計時値Tastがある程度よりも大きい領域では、計時値Tastが大きいほど、より進角側の値に設定されている。これは、図31の説明で述べたのと同じ理由による。
次いで、前述したように、ステップ84,85を実行した後、本処理を終了する。
一方、ステップ86または87の判別結果がNOのとき、すなわちTast≧Tastlmtであるとき、またはアクセルペダルが踏まれているときには、ステップ90に進み、目標バルブリフトLiftin_cmdを、エンジン回転数NEおよびアクセル開度APに応じて、図33に示すマップを検索することにより算出する。同図において、AP1〜AP3は、AP1<AP2<AP3の関係が成立するアクセル開度APの所定値を示しており、この点は以下の説明においても同様である。
このマップでは、目標バルブリフトLiftin_cmdは、エンジン回転数NEが高いほど、またはアクセル開度APが大きいほど、より大きな値に設定されている。これは、エンジン回転数NEが高いほど、またはアクセル開度APが大きいほど、エンジン3に対する要求出力が大きいことで、より大きな吸入空気量が要求されることによる。
次いで、ステップ91で、目標カム位相Cain_cmdを、エンジン回転数NEおよびアクセル開度APに応じて、図34に示すマップを検索することにより算出する。このマップでは、目標カム位相Cain_cmdは、アクセル開度APが小さくかつ中回転域にあるときには、それ以外のときよりも進角側の値に設定されている。これは、そのような運転状態では、ポンピングロスを減少させる必要があるためである。
ステップ91に続いて、前述したように、ステップ84,85を実行した後、本処理を終了する。
一方、ステップ80の判別結果がYESで、2つの可変機構の少なくとも一方が故障しているときには、ステップ92に進み、リフト制御入力U_Liftinを所定の故障時用値U_Liftin_fsに、位相制御入力U_Cainを所定の故障時用値U_Cain_fsにそれぞれ設定した後、本処理を終了する。これにより、前述したように、バルブリフトLiftinが所定のロック値に、カム位相Cainが所定のロック値にそれぞれ保持され、それにより、停車中はアイドル運転やエンジン始動を適切に実行できると同時に、走行中は低速走行状態を維持できる。
本処理では、以上のように、リフト制御入力U_Liftinおよび位相制御入力U_Cainが算出される。そして、これらの制御入力U_Liftin,U_Cainが可変バルブリフト機構50および可変カム位相機構70にそれぞれ入力されることにより、吸入空気量が制御される。
次に、以上のように構成された第1実施形態の制御装置1による制御結果について説明する。図35は、制御装置1により空燃比制御処理および可変機構制御処理を実行したときの制御結果例を示している。
同図に示すように、移行係数Kg=0で、第1推定吸気量Gcyl_vtのみに基づく空燃比制御の実行中、時刻t1で、リフト誤差などに起因して、空燃比誤差推定値Eafが正側に急増すると、それと同時に、修正誤差Weafも急増する。その結果、前述した式(17)〜(24)の制御アルゴリズムにより、修正誤差Weafを値0に収束させるように、基本リフト補正値Dlift_bsが負値側に変化し、その絶対値が急増する。すなわち、リフト誤差を解消するように、基本リフト補正値Dlift_bsが算出される。
これに加えて、時刻t1では、基本リフト補正値Dlift_bsが、前述した所定の下限値Dlift_bs_L以下になることで、忘却係数λが値1から所定値λlmtに切り換えられる。そして、時刻t1以降、忘却係数λによる忘却効果により、時間の経過に伴って、基本リフト補正値Dlift_bsの絶対値が減少し、Dlift_bs>Dlift_bs_Lが成立した時点(時刻t2)で、忘却係数λが所定値λlmtから値1に切り換えられる。その結果、忘却係数λの忘却効果がなくなり、前述した式(20),(21)により、適応則入力Uadpが切換関数σの積分値として算出されることで、適応則入力Uadpの機能により、基本リフト補正値Dlift_bsが、リフト誤差を迅速かつ適切に解消できる値として算出される。
そして、エンジン3の負荷が変化することにより、時刻t3以降、移行係数Kgが値0から漸増すると、それに伴って修正誤差Weafが減少し、移行係数Kg=1となった時点(時刻t4)で、修正誤差Weafが値0になるものの、適応則入力Uadpの機能により、それ以降も、基本リフト補正値Dlift_bsは、値0に収束することなく、リフト誤差を迅速かつ適切に解消できる値に保持される。
その後、時刻t5で、移行係数Kgが値1から漸減し始めると、それに伴って修正誤差Weafが正側に増加し、基本リフト補正値Dlift_bsが負値側でその絶対値が増大するように変化する。その結果、燃料噴射量TOUTの算出において、第1推定吸気量Gcyl_vtが反映され始めた時点から、リフト誤差が適切に補償されていることが判る。そして、時刻t6以降、移行係数Kgが値1よりも小さい正の値に保持され、修正誤差Weafが値0に収束するように、基本リフト補正値Dlift_bsが算出される。
また、図36は、第1実施形態の制御装置1による空燃比の制御結果例を示しており、図37は、比較のために、リフト補正値Dliftを値0に保持した場合、すなわちLiftin_mod=Liftinとした場合の制御結果例(以下「比較例」という)を示している。なお、これらの制御結果はいずれも、理解の容易化のために、目標空燃比KCMDを値1に設定した場合のものである。
両図を参照すると、図37の比較例では、空燃比補正係数KAFが目標空燃比KCMDからリッチ側に大きく乖離しかつリッチ側に保持された状態が頻繁に発生していることが判る。これに対して、図36の本実施形態の制御結果例では、空燃比補正係数KAFが、目標空燃比KCMD付近に保持されており、高レベルの制御精度を確保できていることが判る。
また、両図において、目標空燃比KCMDと検出空燃比KACTとの偏差すなわち空燃比誤差を参照すると、比較例では、比較的大きな空燃比誤差が頻繁に発生していることが判る。これに対して、本実施形態の制御結果例では、空燃比誤差が比較例よりも小さい値に抑制されており、高い制御精度を確保できていることが判る。以上のように、本実施形態のリフト補正値Dliftを用いることによって、リフト誤差を精度よく補償でき、それにより、空燃比制御において高い制御精度を確保できることが判る。
以上のように、本実施形態の制御装置1によれば、誤差重みWが、図19,20によって構成される応答曲面モデルを用いて算出され、誤差重みWで空燃比誤差推定値Eafを補正(修正)することにより、修正誤差Weafが算出される。この誤差重みWは、前述したように、空燃比誤差推定値Eafがリフト誤差に起因して発生した確率を表す値、言い換えれば、空燃比誤差推定値Eafに対するバルブリフトLiftinの影響度合を表す値として算出されるので、修正誤差Weafは、空燃比誤差推定値Eafに対するバルブリフトLiftinの影響度合が反映された値として算出される。
さらに、そのような修正誤差Weafを値0に収束させるように基本リフト補正値Dlift_bsが算出され、この基本リフト補正値Dlift_bsに補正感度Rliftを乗算することにより、リフト補正値Dliftが算出され、このリフト補正値DliftでバルブリフトLiftinを補正した補正後バルブリフトLiftin_modを用いて、図11のマップすなわち相関関係モデルを検索することにより、基本推定吸気量Gcyl_vt_baseすなわち第1推定吸気量Gcyl_vtが算出される。したがって、外乱に起因して空燃比誤差が一時的に増大している場合に加えて、バルブリフトLiftinの検出結果の信頼性の低下や、可変バルブリフト機構50の特性変化などに起因して、リフト誤差が発生することにより、空燃比誤差推定値Eafすなわち空燃比誤差が一時的に増大しやすい状態にある場合でも、この空燃比誤差を、第1推定吸気量Gcyl_vtによって過不足なく適切に補償することができる。
仮に、誤差重みW=1とし、Eaf=Weafとして、第1推定吸気量Gcyl_vtを算出した場合、リフト誤差を主因として、空燃比誤差推定値Eafが発生しているとき、すなわち空燃比誤差推定値Eafに対するバルブリフトLiftinの影響度合が大きいときには、そのように算出した第1推定吸気量Gcyl_vtにより、空燃比誤差推定値Eafすなわち空燃比誤差を適切に補償できる。しかし、空燃比誤差推定値Eafに対するバルブリフトLiftinの影響度合が小さいとき、すなわちリフト誤差以外の外乱などを主因として、空燃比誤差が発生しているときには、第1推定吸気量Gcyl_vtを用いても空燃比誤差を適切に補償できず、過大補償や過小補償状態になってしまう。したがって、前述した誤差重みWを用いることにより、空燃比誤差を、第1推定吸気量Gcyl_vtによって過不足なく適切に補償することができる。
これに加えて、第1推定吸気量Gcyl_vtが、補正後バルブリフトLiftin_modと第1推定吸気量Gcyl_vtとの相関関係を表す図11のマップを用いて算出されるので、フィードバック制御アルゴリズムにより算出される空燃比補正係数KAFによって、空燃比誤差を補償する場合と比べて、空燃比誤差をより迅速に補償することができる。以上のように、リフト誤差に起因して、空燃比誤差が一時的に増大するような条件下でも、空燃比誤差を適切かつ迅速に補償でき、それにより、エンジン3が過渡運転状態にあるときでも、高レベルの制御精度を確保できる。
さらに、空燃比誤差推定値Eafに対するリフト誤差の感度は、カム位相Cainおよびエンジン回転数NEの影響により変化するものであるのに対して、前述したように、誤差重みWは、バルブリフトLiftinに加えて、カム位相Cainおよびエンジン回転数NEに応じて算出されるので、空燃比誤差推定値Eafに対するカム位相Cainおよびエンジン回転数NEの影響度合を反映するように、誤差重みWが算出される。したがって、そのような誤差重みWを用いることにより、リフト誤差に対するカム位相Cainおよびエンジン回転数NEの影響も反映させながら、空燃比誤差推定値Eafすなわち空燃比誤差を補償するように、第1推定吸気量Gcyl_vtを算出できる。その結果、制御精度をさらに向上させることができる。
また、補正感度Rliftが、空燃比誤差推定値Eafに対するリフト誤差の感度を表す値として算出され、リフト補正値Dliftが基本リフト補正値Dlift_bsに補正感度Rliftを乗算することにより算出されるので、前述したように、リフト誤差の感度が低い条件下での、基本リフト補正値Dlift_bsによる空燃比誤差推定値Eafの過補償を回避できる。これに加えて、補正感度Rliftの算出に用いる感度補正係数K_rの進角側の値が、誤差重みWの算出に用いる誤差重み補正係数K_wよりも値1に近い値に設定されていることにより、前述したように、燃料噴射量TOUTが小さい値に算出されているときの誤算出に起因する、混合気のリーン化を回避でき、燃焼の安定性を確保できる。
なお、第1実施形態は、基本リフト補正値Dlift_bsの算出アルゴリズムとして、前述した式(17)〜(24)に示す制御アルゴリズムを用いた例であるが、これに代えて、下式(36)〜(44)に示す、適応外乱オブザーバとスライディングモード制御アルゴリズムを組み合わせて適用した制御アルゴリズムにより、基本リフト補正値Dlift_bsを算出してもよい。
上式(39)のσ_hatは、切換関数の推定値であり、Ulsは、外乱推定値である。この外乱推定値Ulsは、式(40),(41)に示す固定ゲイン式の同定アルゴリズムにより算出される。同式(40)のE_sigは、推定誤差を表している。また、式(41)のPは、一定値の同定ゲインである。なお、上式(39)〜(43)が適応外乱オブザーバにおける外乱推定値Ulsの算出アルゴリズムである。
以上の基本リフト補正値Dlift_bsの算出アルゴリズム(36)〜(44)の制御アルゴリズムでは、外乱推定値Ulsが積分項に相当し、式(41)で、外乱推定値の前回値Uls(k−1)に忘却係数λが乗算されているとともに、基本リフト補正値Dlift_bsの絶対値が大きい場合には、忘却係数λが0<λ<1の範囲内の値に設定されている。それにより、前述したような忘却係数λの忘却効果によって、空燃比補正係数KAFおよび基本リフト補正値Dlift_bsのそれぞれの制御アルゴリズムにおける積分項Uadp’,Ulsが互いに干渉して振動的な挙動を示すのを回避できるとともに、積分項Uslすなわち基本リフト補正値Dlift_bsの絶対値が増大するのを回避できる。その結果、第1推定吸気量Gcyl_vtが振動的な状態になったり、一時的に不適切な値になったりするのを回避でき、過渡制御性を向上させることができる。また、基本リフト補正値の前回値Dlift_bs(k−1)の絶対値が小さい場合には、忘却係数λが値1に設定されるので、修正誤差Weafが値0近傍になったときでも、基本リフト補正値Dlift_bsを適切な値に保持することができる。それにより、修正誤差Weafが増大し始めたときの応答性を向上させることができ、制御精度を向上させることができる。
以上に加えて、外乱推定値Ulsが適応外乱オブザーバにおける固定ゲイン式の同定アルゴリズムにより算出されるので、適応則入力Uadpを用いる第1実施形態の制御アルゴリズムと比べて、基本リフト補正値Dlift_bsにおける積分的な揺らぎ挙動およびオーバーシュート挙動の抑制能力をさらに向上させることができる。
また、第1実施形態は、応答指定型制御アルゴリズムとして、前述した式(17)〜(24)に示す、スライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本リフト補正値Dlift_bsを算出した例であるが、応答指定型制御アルゴリズムとして、バックステッピング制御アルゴリズムを適用した制御アルゴリズムを用いてもよい。このように、基本リフト補正値Dlift_bsの算出アルゴリズムとして、バックステッピング制御アルゴリズムを適用した制御アルゴリズムを用いた場合でも、第1実施形態の式(17)〜(24)に示す制御アルゴリズムを用いた場合と同様の作用効果を得ることができる。
さらに、第1実施形態は、基本リフト補正値Dlift_bsの算出アルゴリズムとして、前述した式(17)〜(24)を用いた例であるが、基本リフト補正値Dlift_bsの算出アルゴリズムはこれに限らず、修正誤差Weafを値0に収束させるように、基本リフト補正値Dlift_bsを算出できるものであればよい。例えば、基本リフト補正値Dlift_bsの算出アルゴリズムとして、PID制御アルゴリズム、最適制御アルゴリズムおよびH∞制御アルゴリズムなどを用いてもよい。このように、PID制御アルゴリズム、最適制御アルゴリズムおよびH∞制御アルゴリズムなどを用いて、基本リフト補正値Dlift_bsを算出した場合、第1実施形態の式(17)〜(24)の制御アルゴリズムと比べて、修正誤差Weafの値0に対するオーバーシュートの抑制効果の低下や、ロバスト性の低下を低下を招く可能性があり、その点において、第1実施形態の制御アルゴリズムの方が優れている。
また、第1実施形態は、第2入力値としての空燃比補正係数KAFを算出する所定のフィードバック制御アルゴリズムとして、前述した式(6)〜(10)の制御アルゴリズムを用いた例であるが、本願発明の第2入力値を算出するための所定のフィードバック制御アルゴリズムはこれに限らず、第2入力値を制御量を目標値に収束させるように算出できるものであればよい。例えば、第2入力値としての空燃比補正係数KAFを、特開2006−2591号公報に開示されたような、セルフチューニングレギュレータ(Self Tuning Regulator)による算出アルゴリズムにより算出してもよい。また、第2入力値としての空燃比補正係数KAFの算出アルゴリズムとして、前述した式(36)〜(44)の制御アルゴリズムを用いてもよく、バックステッピング制御アルゴリズム、PID制御アルゴリズム、最適制御アルゴリズムおよびH∞制御アルゴリズムなどを用いてもよい。
さらに、第1実施形態は、補正感度Rliftを、図21,22によって構成される応答曲面モデルを用いて算出した例であるが、補正感度Rliftを、図21,22によって構成される応答曲面モデルに代えて、図19,20によって構成される応答曲面モデルを用いて算出してもよい。すなわち、補正感度Rliftを誤差重みWに等しい値として算出してもよい。これに加えて、リフト誤差の感度が低い条件下での、リフト補正値Dliftによる空燃比誤差推定値Eafの過補償を回避する必要がない場合には、式(25)を省略し、式(26)において、Rlift=1と設定することにより、Dlift=Dlift_bsとしてもよい。すなわち、基本リフト補正値Dlift_bsをリフト補正値Dliftとして用いてもよい。
また、第1実施形態は、バルブリフトLiftinを動作状態パラメータとした例であるが、本願発明の制御装置における動作状態パラメータはこれらに限らないことは言うまでもない。例えば、可変カム位相機構70を有するエンジン3の空燃比を制御する場合において、カム位相Cainを動作状態パラメータとしてもよい。さらに、可変バルブリフト機構50および可変カム位相機構70などを備えておらず、スロットル弁機構のみを備えたエンジンの空燃比を制御する場合には、スロットル弁機構の開度を動作状態パラメータとして用いてもよい。これに加えて、吸気管内圧センサおよびクランク角センサを備え、これらのパラメータに応じて空燃比を制御する、いわゆるスピードデンシティ方式のエンジンの場合には、吸気管内圧およびエンジン回転数NEを動作状態パラメータとしてもよい。
さらに、第1実施形態は、相関関係モデルを修正する手法として、補正後修正値としてのリフト補正値Dliftにより、第2参照パラメータとしてのバルブリフトLiftinを補正(修正)した例であるが、本願発明の相関関係モデルを修正する手法はこれに限らず、相関関係モデルを修正できるものであればよい。例えば、補正後修正値により、第1入力値側を修正する手法でもよい。
以下、本発明の第2実施形態に係る制御装置1A(図38参照)について説明する。なお、以下の説明では、第1実施形態と同じ構成に関しては、同じ符号を付すとともに、その説明は省略する。この制御装置1Aは、前述した自動変速機付きのエンジン3を前側に搭載するとともに、いずれも図示しない後輪および前輪をそれぞれ駆動輪および非駆動輪とする、いわゆるFR方式の車両(図示せず)に適用されたものであり、具体的には、この車両のトラクションコントロールを実行するものである。
なお、トラクションコントロールとは、車両の加速時、エンジントルクが過大になり、駆動輪が非駆動輪に対して空転する状態が発生したときに、エンジントルクを低減することによって、空転状態を回避し、車両の安定性の確保および加速性の向上を両立させるようにする制御手法のことである。
図38に示すように、この制御装置1Aは、ECU2を備えており、このECU2には、前述したセンサ20〜27などに加えて、左右の前輪速センサ80,81および左右の後輪速センサ82,83が接続されている。なお、本実施形態では、クランク角センサ20が、参照パラメータ検出手段および第2参照パラメータ検出手段に相当する。
左右の前輪速センサ80,81はそれぞれ、左右の前輪速を表す検出信号をECU2に出力し、左右の後輪速センサ82,83はそれぞれ、左右の後輪速を表す検出信号をECU2に出力する。ECU2は、左右の前輪速センサ80,81の検出信号に基づき、左右の前輪速を算出するとともに、これらの相加平均値を、非駆動輪速Ws_refとして算出する。さらに、ECU2は、左右の後輪速センサ82,83の検出信号に基づき、左右の後輪速を算出するとともに、これらの相加平均値を、駆動輪速Ws_actとして算出する。
なお、本実施形態では、左右の前輪速センサ80,81が第1参照パラメータ検出手段に相当し、非駆動輪速Ws_refが第1参照パラメータに相当し、左右の後輪速センサ82,83が制御量検出手段に相当し、駆動輪速Ws_actが制御量および車両の車輪速度に相当する。
また、図39に示すように、制御装置1Aは、トラクションコントローラ200を備えている。このトラクションコントローラ200は、以下に述べるように、駆動輪の空転状態を回避し、車両の安定性の確保および加速性の向上を両立できるようなエンジン3のトルクとして、エンジントルクTrqを算出するものであり、具体的にはECU2によって構成されている。なお、本実施形態では、トラクションコントローラ200が制御入力算出手段に相当し、エンジントルクTrqが制御入力および内燃機関の出力に相当する。
同図に示すように、トラクションコントローラ200は、目標車輪速算出部201、車輪速フィードバックコントローラ202、最大/最小トルク算出部203、正規化要求駆動力算出部204、乗算要素205、フィードフォワードトルク算出部206、加算要素207およびトルク補正値算出部210を備えている。
まず、目標車輪速算出部201では、下式(45)により、目標車輪速Ws_cmdが算出される。なお、本実施形態では、目標車輪速算出部201が目標値設定手段に相当し、目標車輪速Ws_cmdが目標値に相当する。
上式(45)のOptSlipは、駆動輪と非駆動輪の間において許容可能なスリップ量に相当する所定のスリップオフセット値であり、本実施形態では、一定値(例えば10km/h)に設定されている。なお、このスリップオフセット値OptSlipを、所定のパラメータ(例えば、非駆動輪速Ws_ref、路面の摩擦抵抗係数の推定値、ヨーレートセンサの検出信号および車体のスリップ角センサの検出信号など)に応じて、マップ検索や所定の算出式により決定してもよい。
また、車輪速フィードバックコントローラ202では、目標車輪速Ws_cmdおよび駆動輪速Ws_actに応じて、後述する手法により、トルクフィードバック値Trq_fbが算出される。なお、本実施形態では、トルクフィードバック値Trq_fbが第2入力値に相当する。
さらに、トルク補正値算出部210では、トルクフィードバック値Trq_fb、エンジン回転数NEおよび非駆動輪速Ws_refに応じて、後述する手法により、トルク補正値Ktrqが算出される。なお、本実施形態では、トルク補正値算出部210がモデル修正手段および補正後修正値算出手段に相当し、トルク補正値Ktrqが補正後修正値に相当する。
一方、最大/最小トルク算出部203では、エンジン回転数NEに応じて、図40に示すマップを検索することにより、最大トルクTrq_maxおよび最小トルクTrq_minがそれぞれ算出される。同図のNEhighは、所定の最大許容回転数(例えば7000rpm)を表している。これらの値Trq_max,Trq_minは、そのエンジン回転数NEにおいて達成可能なエンジントルクの最大値および最小値に相当する。また、このマップでは、最小トルクTrq_minが負値に設定されている。これは、最小トルクTrq_minが、アクセルペダルが踏まれていない、減速フューエルカット運転中でのエンジンブレーキ状態におけるエンジントルクに相当するためである。なお、本実施形態では、最大トルクTrq_maxが参照パラメータ、内燃機関の出力の制限値および第2参照パラメータに相当する。
また、正規化要求駆動力算出部204では、アクセル開度APに応じて、図41に示すマップを検索することにより、正規化要求駆動力Ktrq_apが算出される。同図のAPmaxは、アクセル開度の最大値(100%)を表している。また、正規化要求駆動力Ktrq_apは、アクセル開度APに基づいて決定される要求駆動力Trq_apを、AP=APmaxのときの要求駆動力Trq_apmaxを基準として正規化した値、すなわちKtrq_ap=Trq_ap÷Trq_apmaxが成立する値を表している。
さらに、乗算要素205では、下式(46)により、補正後最大トルクTrq_max_modが算出される。すなわち、補正後最大トルクTrq_max_modは、最大トルクTrq_maxをトルク補正値Ktrqで補正することにより算出される。
また、前述したフィードフォワードトルク算出部206では、下式(47)により、フィードフォワードトルクTrq_ffが算出される。
なお、本実施形態では、フィードフォワードトルク算出部206が第1入力値算出手段に相当し、フィードフォワードトルクTrq_ffが第1入力値に相当する。さらに、式(46),(47)を用いて、フィードフォワードトルクTrq_ffを算出することが、修正された相関関係モデルを用いて、第1入力値を算出することに相当する。
そして、加算要素207において、下式(48)により、エンジントルクTrqが最終的に算出される。すなわち、エンジントルクTrqは、トルクフィードバック値Trq_fbとフィードフォワードトルクTrq_ffの和として算出される。
次に、前述した車輪速フィードバックコントローラ202について説明する。この車輪速フィードバックコントローラ202では、以下の式(49)〜(59)に示す、目標値フィルタ型2自由度スライディングモード制御アルゴリズムと、適応外乱オブザーバを組み合わせて適用した制御アルゴリズムにより、トルクフィードバック値Trq_fbが算出される。
この制御アルゴリズムでは、まず、式(49)に示す一次遅れタイプのローパスフィルタアルゴリズムにより、目標車輪速のフィルタ値Ws_cmd_fが算出される。同式(49)において、Rtは、目標値フィルタ設定パラメータであり、−1<Rt<0の関係が成立する値に設定される。この場合、目標値フィルタ設定パラメータRtの設定値により、フィルタ値Ws_cmd_fの目標車輪速Ws_cmdへの追従速度が決定される。
次いで、式(50)〜(53)に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、到達則入力Urch_tおよび非線形入力Unl_tが算出される。同式(50)のEtは、追従誤差であり、式(51)のσtは、切換関数である。また、式(51)のStは、切換関数設定パラメータであり、−1<St<0の関係が成立する値に設定されている。この場合、切換関数設定パラメータStの設定値により、追従誤差Etの値0への収束速度が指定される。さらに、式(52)のKrch_tは、所定の到達則ゲインを表しており、式(53)のKnl_tは、所定の非線形入力用ゲインを表している。さらに、式(53)におけるsgn(σt(k))は符号関数であり、その値は、σt(k)≧0のときにはsgn(σt(k))=1となり、σt(k)<0のときにはsgn(σt(k))=−1となるように設定される(なお、σt(k)=0のときに、sgn(σt(k))=0となるように設定してもよい)。
次に、式(54)〜(58)に示す適応外乱オブザーバを適用した制御アルゴリズムにより、外乱推定値Uls_tが算出される。同式(54)のσt_hatは、切換関数の推定値であり、Uls_tは、外乱推定値である。この外乱推定値Uls_tは、式(55),(56)に示す固定ゲイン式の同定アルゴリズムにより算出される。同式(55)のEt_sigは、推定誤差を表しており、式(56)のPtは、一定値の同定ゲインである。
さらに、式(56)のλtは忘却係数であり、その値は式(57),(58)に示すように、外乱推定値の前回値Uls_t(k−1)と所定の上下限値Uls_t_H,Uls_t_Lとの比較結果により、値1または所定値λtlmtに設定される。この上限値Uls_t_Hは正の所定値に設定され、下限値Uls_t_Lは負の所定値に設定されるとともに、所定値λtlmtは、0<λtlmt<1が成立するような値に設定される。
そして、トルクフィードバック値Trq_fbは、最終的に、式(59)に示すように、到達則入力Urch_t、非線形入力Unl_tおよび外乱推定値Uls_tの和として算出される。
以上のように、車輪速フィードバックコントローラ202では、トルクフィードバック値Trq_fbが式(49)〜(59)に示す制御アルゴリズムにより算出されるので、このトルクフィードバック値Trq_fbは、駆動輪速Ws_actを目標車輪速のフィルタ値Ws_cmd_fに収束させるための値、すなわち駆動輪速Ws_actを目標車輪速Ws_cmdに収束させるための値として算出される。この場合、目標車輪速Ws_cmdは、前述したように、非駆動輪速Ws_refにスリップオフセット値OptSlipを加算することにより算出されるので、Ws_act≒Ws_cmdとなった状態では、Ws_ref−Ws_act≒OptSlipが成立する状態となる。
また、忘却係数λtを用いながら、トルクフィードバック値Trq_fbが算出されるので、外乱推定値の前回値Uls_t(k−1)の絶対値が大きい場合には、忘却係数λtによる前述した忘却効果により、積分項としての外乱推定値Uls_tすなわちトルクフィードバック値Trq_fbが増大するのを回避できる。その結果、後述するように、このトルクフィードバック値Trq_fbに基づいて算出されるトルク補正値Ktrqが、一時的に不適切な値になることで、フィードフォワードトルクTrq_ffが一時的に不適切な値になるのを回避できる。これに加えて、トルクフィードバック値Trq_fbの算出アルゴリズムにおける積分項としての外乱推定値Uls_tが、トルク補正値Ktrqの後述する算出アルゴリズムにおける積分項(外乱推定値Uls_v)と互いに干渉して振動的な挙動を示すのを回避できる。以上により、過渡制御性を向上させることができる。また、外乱推定値の前回値Uls_t(k−1)の絶対値が小さい場合には、忘却係数λtが値1に設定されるので、追従誤差Etが値0に収束したときでも、トルクフィードバック値Trq_fbを、追従誤差Etを迅速に補償可能な適切な値に保持することができ、それにより、追従誤差Etが増大し始めたときの応答性を向上させることができる。
次に、図42を参照しながら、前述したトルク補正値算出部210について説明する。このトルク補正値算出部210は、最大トルクTrq_maxを補正するためのトルク補正値Ktrqを算出するものであり、同図に示すように、誤差重み算出部211、トルク誤差算出部212、修正トルク誤差算出部213、基本トルク補正値算出部214、トルク補正感度算出部215および乗算要素216を備えている。
まず、誤差重み算出部211では、エンジン回転数NEおよび非駆動輪速Ws_refに応じて、図43に示すマップを検索することにより、誤差重みWtが算出される。この誤差重みWtは、駆動輪速Ws_actの変化量ΔWs_actとエンジントルクTrqの変化量ΔTrqの比ΔWs_act/ΔTrqを、所定の駆動輪速&所定のエンジントルクでの比ΔWs_act_ref/ΔTrq_refの絶対値|ΔWs_act_ref/ΔTrq_ref|を基準として正規化した値、すなわち、Wt=(ΔWs_act/ΔTrq)÷(|ΔWs_act_ref/ΔTrq_ref|)が成立する値を表している。
この誤差重みWtは、アクセル開度APが急増するのに起因して、エンジン回転数NEとフィードフォワードトルクTrq_ffとの間の相関関係、すなわち最大トルクTrq_maxとフィードフォワードトルクTrq_ffとの間の相関関係が変化し、それにより、トルク誤差Etfすなわち駆動輪のスリップが発生したと想定される場合において、このトルク誤差Etfが、エンジントルクTrqの過大に起因して発生した確率を表している。具体的には、誤差重みWtは、トルク誤差EtfがエンジントルクTrqの過大に起因して発生した確率が高いほど、より大きい値に設定されている。言い換えれば、誤差重みWtは、トルク誤差Etfに対する最大トルクTrq_maxの影響度合を表す値として算出される。また、このような、トルク誤差Etfに対する最大トルクTrq_maxの影響度合は、トランスミッションにおけるギヤ比によっても変化するので、同図では、誤差重みWtが、エンジン回転数NEおよび非駆動輪速Ws_refに応じて設定されている。
同図において、Ws_ref1〜3は、Ws_ref1<Ws_ref2<Ws_ref3が成立する非駆動輪速Ws_refの所定値を表している。このマップでは、誤差重みWtは、非駆動輪速Ws_refが高いほど、より小さい値に設定されている。これは、非駆動輪速Ws_refが高いことで、トランスミッションにおけるギヤ比が高いほど、駆動輪速のスリップが発生しにくいので、それに応じて、トルク補正値Ktrqによる最大トルクTrq_maxの減少側への補正量をより小さくするためである。また、誤差重みWtは、エンジン回転数NEに対して、エンジン性能曲線におけるトルク曲線と同じような傾向に設定されている。これは、誤差重みWtがトルク誤差Etfに対する最大トルクTrq_maxの影響度合を表す値であることによる。
なお、本実施形態では、誤差重み算出部211が影響度合パラメータ算出手段および第2影響度合パラメータ算出手段に相当し、誤差重みWtが影響度合パラメータおよび第2影響度合パラメータに相当する。また、図43は、誤差重みWtを、エンジン回転数NEおよび非駆動輪速Ws_refに応じて算出するためのものであるが、前述したように、最大トルクTrq_maxは、エンジン回転数NEに基づいて決定されるので、図43は、最大トルクTrq_maxと非駆動輪速Ws_refと誤差重みWtとの相関関係を表すものと見なすことができる。したがって、図43は影響度合モデルおよび第2影響度合モデルに相当する。
また、トルク誤差算出部212では、下式(60)により、トルク誤差Etfが算出される。なお、本実施形態では、トルク誤差算出部212が誤差パラメータ算出手段に相当し、トルク誤差Etfが誤差パラメータに相当する。
上式(60)のTrq_fb_cmdは、トルクフィードバック値Trq_fbの目標となる目標トルクフィードバック値であり、所定の一定値(例えば値0)に設定される。
さらに、修正トルク誤差算出部213では、下式(61)により、修正トルク誤差Wetrqが算出される。なお、本実施形態では、修正トルク誤差算出部213が補正後誤差パラメータ算出手段に相当し、修正トルク誤差Wetrqが補正後誤差パラメータに相当する。
次いで、基本トルク補正値算出部214では、下式(62)〜(69)に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本トルク補正値Ktrq_bsが算出される。なお、本実施形態では、基本トルク補正値算出部214が修正値算出手段に相当し、基本トルク補正値Ktrq_bsが修正値に相当する。
上式(62)において、σvは切換関数である。また、同式(62)のSvは−1<Sv<St<0の関係が成立するように設定される切換関数設定パラメータであり、2つの切換関数設定パラメータSt,Svがこのように設定されている理由については、後述する。この場合、切換関数設定パラメータSvの設定値により、修正トルク誤差Wetrqの値0への収束速度が指定される。また、式(63)において、Urch_vは到達則入力であり、Krch_vは所定の到達則ゲインを表している。さらに、式(64)において、Unl_vは非線形入力であり、Knl_vは所定の非線形入力用ゲインを表している。また、式(64)におけるsgn(σv(k))は符号関数であり、その値は、σv(k)≧0のときにはsgn(σv(k))=1となり、σv(k)<0のときにはsgn(σv(k))=−1となるように設定される(なお、σv(k)=0のときに、sgn(σv(k))=0となるように設定してもよい)。
さらに、式(65)において、Uadp_vは適応則入力であり、Kadp_vは所定の適応則ゲインを表している。また、式(65)のUadp_v_iniは、適応則入力の初期値であり、乗算項であるトルク補正値Ktrqが負値にならないような所定値(例えば値1)に設定される。これは、さらに、式(65)のδvは、式(66)により算出される切換関数の積分値である。同式(66)のλvは忘却係数であり、その値は式(67),(68)に示すように、基本トルク補正値の前回値Ktrq_bs(k−1)と所定の上下限値Ktrq_bs_H,Ktrq_bs_Lとの比較結果により、値1または所定値λvlmtに設定される。この上限値Ktrq_bs_Hは正の所定値に設定され、下限値Ktrq_bs_Lは負の所定値に設定されるとともに、所定値λvlmtは、前述したように、0<λvlmt<1が成立するような値に設定される。
また、式(69)に示すように、基本トルク補正値Ktrq_bsは、到達則入力Urch_v、非線形入力Unl_vおよび適応則入力Uadp_vの和として算出される。
以上のように、この基本トルク補正値算出部214では、基本トルク補正値Ktrq_bsが式(62)〜(69)に示す制御アルゴリズムにより算出されるので、この基本トルク補正値Ktrq_bsは、修正トルク誤差Wetrqを値0に収束させるための値、言い換えれば、トルクフィードバック値Trq_fbを目標トルクフィードバックTrq_fb_cmdに収束させる値として算出される。
また、忘却係数λvを用いながら、基本トルク補正値Ktrq_bsが算出されるので、基本トルク補正値の前回値Ktrq_bs(k−1)の絶対値が大きい場合には、忘却係数λvによる前述した忘却効果により、積分項としての外乱推定値Uls_vすなわち基本トルク補正値Ktrq_bsが増大するのを回避することができ、フィードフォワードトルクTrq_ffが一時的に不適切な値になるのを回避できる。これに加えて、基本トルク補正値Ktrq_bsすなわちトルク補正値Ktrqの算出アルゴリズムにおける積分項としての外乱推定値Uls_vが、前述したトルクフィードバック値Trq_fbの算出アルゴリズムにおける積分項Uls_tと互いに干渉して振動的な挙動を示すのを回避できる。以上により、過渡制御性を向上させることができる。また、基本トルク補正値の前回値Ktrq_bs(k−1)の絶対値が小さい場合には、忘却係数λvが値1に設定されるので、トルク誤差Etfが値0に収束したときでも、トルクフィードバック値Trq_fbを、追従誤差Etを迅速に補償可能な値に適切に保持することができ、それにより、修正トルク誤差Wetrqが増大し始めたときの応答性を向上させることができる。
一方、トルク補正感度算出部215では、エンジン回転数NEおよび非駆動輪速Ws_refに応じて、図44に示すマップを検索することにより、トルク補正感度Rtrqが算出される。このトルク補正感度Rtrqは、前述した誤差重みWtと同様に、駆動輪速Ws_actの変化量ΔWs_actとエンジントルクTrqの変化量ΔTrqの比ΔWs_act/ΔTrqを、所定の駆動輪速&所定のエンジントルクでの比ΔWs_act_ref/ΔTrq_refの絶対値|ΔWs_act_ref/ΔTrq_ref|を基準として正規化した値を表している。
同図において、実線で示す曲線が、トルク補正感度Rtrqの値を表しており、破線で示す曲線は、前述した誤差重みWtの値を比較のために表したものである。これらの2つの曲線を比較すると明らかなように、このマップでは、トルク補正感度Rtrqは、誤差重みWtとほぼ同じような傾向に設定されており、これは、図43の説明で述べたのと同じ理由による。
このように、トルク補正感度Rtrqは、前述した誤差重みWtと同様の手法により算出されるので、トルク誤差Etfに対する最大トルクTrq_maxの影響度合を表す値として算出される。また、前述したように、トルク誤差Etfに対する最大トルクTrq_maxの影響度合は、トランスミッションにおけるギヤ比によっても変化するので、同図44では、トルク補正感度Rtrqが、エンジン回転数NEおよび非駆動輪速Ws_refに応じて設定されている。
また、同図では、トルク補正感度Rtrqは、低非駆動輪速かつ低〜中回転域、すなわちトラクションコントロールが作動しやすい領域では、誤差重みWtと同じ値に設定され、それ以外の領域では、誤差重みWtよりも小さい値に設定されている。これは、トルク補正値Ktrqによる最大トルクTrq_maxの減少側への補正量が少な過ぎると、駆動輪のスリップが発生する可能性があるので、それを回避するためである。
なお、本実施形態では、トルク補正感度算出部215が第1影響度合パラメータ算出手段に相当し、トルク補正感度Rtrqが第1影響度合パラメータに相当する。また、図44は、トルク補正感度Rtrqを、エンジン回転数NEおよび非駆動輪速Ws_refに応じて算出するためのものであるが、前述したように、最大トルクTrq_maxは、エンジン回転数NEに基づいて決定されるので、図44は、最大トルクTrq_maxと非駆動輪速Ws_refとトルク補正感度Rtrqとの相関関係を表すものと見なすことができる。したがって、図44は第1影響度合モデルに相当する。
一方、乗算要素216では、下式(70)により、トルク補正値Ktrqが算出される。すなわち、トルク補正値Ktrqは、基本トルク補正値Ktrq_bsをトルク補正感度Rtrqで補正することによって算出される。
本実施形態の制御装置1Aでは、以上のように、トラクションコントローラ200によりエンジントルクTrqが算出されるとともに、図示しないが、このエンジントルクTrqが得られるように、可変機構制御処理、空燃比制御処理および点火時期制御処理が実行される。
次に、以上のように構成された第2実施形態の制御装置1Aによるトラクションコントロールの制御結果について説明する。図45は、摩擦抵抗の小さい路面上において車両の加速/減速を繰り返した際の、本実施形態の制御装置1Aによる制御結果例を示しており、図46は、比較のために、トルク補正値Ktrqを値1に保持した場合、すなわち補正後最大トルクTrq_max_modとして、最大トルクTrq_maxをそのまま用いた場合の制御結果例(以下「比較例」という)を示している。
両図において、加速開始から減速開始までの間(時刻t30〜t31,t32〜t33,t34〜t35,t40〜t41,t42〜t43,t44〜t45)における、フィードフォワードトルクTrq_ffおよびトルクフィードバック値Trq_fbの動きを比較すると、2つの値Trq_ff,Trq_fbはいずれも、本実施形態の制御結果例の方が、比較例よりも小さい値に抑制されており、制御性が向上していることが判る。
また、減速開始以降の目標車輪速Ws_cmdに対する駆動輪速Ws_actの動きを比較すると、目標車輪速Ws_cmdに対する駆動輪速Ws_actの乖離度合すなわち制御誤差は、本実施形態の制御結果例の方が、比較例よりも小さい値に抑制されており、制御精度が向上していることが判る。
以上のように、第2実施形態の制御装置1Aによれば、誤差重みWtが、図43のマップすなわち応答曲面モデルを用いて算出され、誤差重みWtでトルク誤差Etfを補正(修正)することにより、修正トルク誤差Wetrqが算出される。この誤差重みWtは、前述したように、トルク誤差EtfがエンジントルクTrqの過大に起因して発生した確率を表す値、言い換えれば、トルク誤差Etfに対する最大トルクTrq_maxの影響度合を表す値として算出されるので、修正トルク誤差Wetrqは、トルク誤差Etfに対する最大トルクTrq_maxの影響度合が反映された値として算出される。
さらに、そのような修正トルク誤差Wetrqを値0に収束させるように基本トルク補正値Ktrq_bsが算出され、この基本トルク補正値Ktrq_bsにトルク補正感度Rtrqを乗算することにより、トルク補正値Ktrqが算出され、このトルク補正値Ktrqで最大トルクTrq_maxを補正した補正後最大トルクTrq_max_modを用いて、式(47)によりフィードフォワードトルクTrq_ffが算出される。したがって、外乱以外の、例えば、エンジン3の出力特性の経年変化や個体間でのばらつき、タイヤの摩耗度合の変化および路面の摩擦抵抗の変化などの、予測不能な状態変化に起因して、最大トルクTrq_maxとフィードフォワードトルクTrq_ffとの間の相関関係が変化することで、トルク誤差Etfすなわち駆動輪のスリップが一時的に増大しやすい状態にある場合でも、補正後最大トルクTrq_max_modおよび式(47)を用いて算出したフィードフォワードトルクTrq_ffによって、そのトルク誤差Etfを過不足なく適切かつ迅速に補償することができる。その結果、ゲインスケジュールタイプの補正手法(または修正手法)と比べて、高レベルの車輪速度の制御精度を確保することができる。すなわち、高レベルのトラクションコントロールを実現することができる。
仮に、誤差重みWt=1とし、Etf=Wetrqとして、フィードフォワードトルクTrq_ffを算出した場合、上述した最大トルクTrq_maxとフィードフォワードトルクTrq_ffとの間の相関関係の変化を主因として、トルク誤差Etfが発生しているとき、すなわちトルク誤差Etfに対する最大トルクTrq_maxの影響度合が大きいときには、そのように算出したフィードフォワードトルクTrq_ffにより、トルク誤差Etfすなわちトルク誤差Etfすなわち駆動輪のスリップを適切に補償できる。しかし、トルク誤差Etfに対する最大トルクTrq_maxの影響度合が小さいとき、すなわち上記相関関係の変化以外の外乱などを主因として、トルク誤差Etfすなわち駆動輪のスリップが発生しているときには、フィードフォワードトルクTrq_ffを用いてもトルク誤差Etfすなわち駆動輪のスリップを適切に補償できず、過大補償や過小補償状態になってしまう。したがって、前述した誤差重みWtを用いることにより、トルク誤差Etfすなわち駆動輪のスリップを、フィードフォワードトルクTrq_ffによって過不足なく適切に補償することができる。
これに加えて、フィードフォワードトルクTrq_ffが、補正後最大トルクTrq_max_modとフィードフォワードトルクTrq_ffとの相関関係を表す式(47)を用いて算出されるので、フィードバック制御アルゴリズムにより算出されるトルクフィードバック値Trq_fbによって、駆動輪のスリップを補償する場合と比べて、駆動輪のスリップをより迅速に補償することができる。以上のように、最大トルクTrq_maxとフィードフォワードトルクTrq_ffとの間の相関関係の変化に起因して、トルク誤差Etfすなわち駆動輪のスリップが一時的に増大するような条件下でも、駆動輪のスリップを適切かつ迅速に補償でき、それにより、高レベルの制御精度を確保できる。
さらに、トルク誤差Etfに対する最大トルクTrq_maxの影響度合は、トランスミッションにおけるギヤ比によっても変化するのに対して、前述したように、誤差重みWtが、エンジン回転数NEおよび非駆動輪速Ws_refに応じて算出される。したがって、トルク誤差Etfに対するエンジン回転数NEおよび非駆動輪速Ws_refの影響も反映させながら、駆動輪のスリップを補償するように、フィードフォワードトルクTrq_ffを算出でき、その結果、制御精度をさらに向上させることができる。
また、トルク補正感度Rtrqが、トルク誤差Etfに対する最大トルクTrq_maxの影響度合を表す値として算出され、トルク補正値Ktrqが基本トルク補正値Ktrq_bsにトルク補正感度Rtrqを乗算することにより算出されるので、前述したように、トルク誤差Etfに対する最大トルクTrq_maxの影響度合が小さい状態での、基本トルク補正値Ktrq_bsによるトルク誤差Etfの過補償を回避できる。これに加えて、トルク補正感度Rtrqは、トラクションコントロールが作動しやすい領域では、誤差重みWtと同じ値に設定され、それ以外の領域では、誤差重みWtよりも小さい値に設定されているので、トルク補正値Ktrqによる最大トルクTrq_maxの減少側への補正量が少なすぎることに起因して、駆動輪のスリップが発生するのを回避できる。
さらに、トルクフィードバック値Trq_fbの算出アルゴリズム[式(49)〜(59)]と、基本トルク補正値Ktrq_bsの算出アルゴリズム[式(62)〜(69)]とにおいて、切換関数設定パラメータSt,Svが、−1<Sv<St<0の関係が成立するように設定されているので、修正トルク誤差Wetrqの値0への収束速度が、追従誤差Etの値0への収束速度よりも遅くなることにより、2つの応答指定型制御アルゴリズムが互いに干渉することがなくなる。特に、トルク補正値Ktrqがトルクフィードバック値Trq_fbに基づいて算出されるので、トルク補正値Ktrqによる相関関係モデルの修正は、追従誤差Etの値0への収束速度よりも遅くする必要があるのに対して、上記のような切換関数設定パラメータSt,Svの設定によりそれを実現することができる。その結果、両者の干渉に起因して、制御系が振動的な挙動を示すのを回避でき、制御系の安定性を確保できる。
なお、第2実施形態は、フィードフォワードトルク算出部206において、前述した式(47)によりフィードフォワードトルクTrq_ffを算出した例であるが、これに代えて、下式(71)〜(73)により、フィードフォワードトルクTrq_ffを算出するように構成してもよい。
上式(71)のTrq_ff_tempは、フィードフォワードトルクの暫定値を表している。式(72),(73)に示すように、補正後最大トルクTrq_max_modを上限値とするリミット処理を、暫定値Trq_ff_tempに施すことにより、フィードフォワードトルクTrq_ffが算出される。フィードフォワードトルクTrq_ffの算出アルゴリズムとして、以上の式(71)〜(73)を用いた場合でも、前述した式(47)を用いた場合と同様の作用効果を得ることができる。
また、第2実施形態は、基本トルク補正値Ktrq_bsの算出アルゴリズムとして、前述した式(62)〜(69)に示す制御アルゴリズムを用いた例であるが、これに代えて、下式(74)〜(83)に示す、適応外乱オブザーバとスライディングモード制御アルゴリズムを組み合わせて適用した制御アルゴリズムにより、基本トルク補正値Ktrq_bsを算出してもよい。
上式(77)のσv_hatは、切換関数の推定値であり、Uls_vは、外乱推定値である。この外乱推定値Uls_vは、式(77)〜(82)に示すδ修正法を適用した固定ゲイン式の同定アルゴリズムにより算出される。同式(78)のEv_sigは、推定誤差を表しており、式(79)のUls_v_iniは、外乱推定値Uls_vの初期値を表している。この初期値Uls_v_iniは、乗算項であるトルク補正値Ktrqが負値にならないような所定値(例えば値1)に設定される。また、同式(79)のdUls_vは、修正項であり、式(80)〜(82)により算出される。式(80)のPvは、一定値の同定ゲインである。
また、式(83)に示すように、基本トルク補正値Ktrq_bsは、到達則入力Urch_v、非線形入力Unl_vおよび外乱推定値Uls_vの和として算出される。なお、式(77)〜(82)が適応外乱オブザーバにおける外乱推定値Uls_vの算出アルゴリズムである。
以上の制御アルゴリズムによれば、前述した式(62)〜(69)の制御アルゴリズムと同様の作用効果を得ることができる。すなわち、式(80)において、修正項の前回値dUls_v(k−1)に忘却係数λvが乗算されているとともに、基本トルク補正値Ktrq_bsの絶対値が大きい場合には、忘却係数λvが0<λv<1の範囲内の値に設定されるので、忘却係数λvによる前述した忘却効果により、積分項としての外乱推定値Uls_vすなわち基本トルク補正値Ktrq_bsが増大するのを回避することができ、フィードフォワードトルクTrq_ffが一時的に不適切な値になるのを回避できる。これに加えて、基本トルク補正値Ktrq_bsすなわちトルク補正値Ktrqの算出アルゴリズムにおける積分項としての外乱推定値Uls_vが、前述したトルクフィードバック値Trq_fbの算出アルゴリズムにおける積分項Uls_tと互いに干渉して振動的な挙動を示すのを回避できる。以上により、過渡制御性を向上させることができる。また、基本トルク補正値の前回値Ktrq_bs(k−1)の絶対値が小さい場合には、忘却係数λvが値1に設定されるので、修正トルク誤差Wetrqが値0近傍になったときでも、基本トルク補正値Ktrq_bsを適切な値に保持することができる。それにより、修正トルク誤差Wetrqが増大し始めたときの応答性を向上させることができ、制御精度を向上させることができる。
以上に加えて、外乱推定値Uls_vが適応外乱オブザーバにおけるδ修正法を適用した固定ゲイン式の同定アルゴリズムにより算出されるので、適応則入力Uadp_vを用いる第2実施形態の制御アルゴリズムと比べて、基本トルク補正値Ktrq_bsにおける積分的な揺らぎ挙動およびオーバーシュート挙動の抑制能力をさらに向上させることができる。
一方、第2実施形態は、最大トルクTrq_maxを参照パラメータおよび第2参照パラメータと見なした例であるが、第2実施形態において、エンジン回転数NEを参照パラメータおよび第2参照パラメータと見なしてもよい。その場合には、図40および式(46),(47)を用いてフィードフォワードトルクTrq_ffを算出することが、修正された相関関係モデルを用いて、第1入力値を算出することに相当し、図43が、影響度合モデルおよび第2影響度合モデルに相当し、図44が第1影響度合モデルに相当することになる。
また、第2実施形態は、フィードフォワードトルクTrq_ffを相関関係モデルとしての式(46),(47)により算出した例であるが、フィードフォワードトルクTrq_ffの算出に用いる相関関係モデルはこれに限らず、他の算出式やマップなどを用いてもよい。例えば、式(47)において、補正後最大トルクTrq_max_modに代えて最大トルクTrq_maxを用いるとともに、正規化要求駆動力Ktrq_apに代えて値Ktrq・Ktrq_apを用いた式により、フィードフォワードトルクTrq_ffを算出してもよい。さらに、式(47)において、補正後最大トルクTrq_max_modに代えて最大トルクTrq_maxを用いるとともに、正規化要求駆動力Ktrq_apの代わりに、これにトルク補正値Ktrqを上限値とするリミット処理を施した値を用いた算出式により、フィードフォワードトルクTrq_ffを算出してもよい。
さらに、第2実施形態は、第1の応答指定型制御アルゴリズムを適用した制御アルゴリズムとして、式(49)〜(59)を用いた例であるが、本願発明の第1の応答指定型制御アルゴリズムはこれに限らず、制御量および目標値の一方と他方の偏差の値0への収束速度を指定するものであればよい。例えば、バックステッピング制御アルゴリズムを適用した制御アルゴリズムを用いてもよく、このようにした場合でも、第2実施形態の式(49)〜(59)を用いた場合と同様の作用効果を得ることができる。
一方、第2実施形態は、第2の応答指定型制御アルゴリズムを適用した制御アルゴリズムとして、式(62)〜(69)を用いた例であるが、本願発明の第2の応答指定型制御アルゴリズムはこれに限らず、補正後誤差パラメータの値0への収束速度を指定するものであればよい。例えば、バックステッピング制御アルゴリズムを適用した制御アルゴリズムを用いてもよく、このようにした場合でも、第2実施形態の式(62)〜(69)を用いた場合と同様の作用効果を得ることができる。
また、第2実施形態は、エンジン回転数NEおよび非駆動輪速Ws_refに応じて、図43のマップを検索することにより、誤差重みWtを算出した例であるが、誤差重みWtの算出手法はこれに限らないことは言うまでもない。例えば、図43に代えて、駆動輪速Ws_actと非駆動輪速Ws_refの平均値およびエンジン回転数NEに対して、誤差重みWtの値が予め設定されたマップを用いてもよい。また、駆動輪速Ws_actおよび非駆動輪速Ws_refの大きい方(または小さい方)と、エンジン回転数NEに対して、誤差重みWtの値が予め設定されたマップを用いてもよい。さらに、目標車輪速Ws_cmdおよびエンジン回転数NEに対して、誤差重みWtの値が予め設定されたマップを用いてもよい。
さらに、第2実施形態は、自動変速機付きのエンジン3のトラクションコントロールにおいて、誤差重みWtおよびトルク補正感度Rtrqを算出する際、図43,44のマップを用いた例であるが、手動変速機付きの内燃機関、または手動の操作力に代えてアクチュエータにより変速動作を実行する、いわゆる自動MT付きの内燃機関のトラクションコントロールを実行する場合には、図43,44のマップに代えて、ギヤレシオ毎に、エンジン回転数NEに対して、誤差重みWtおよびトルク補正感度Rtrqの値が予めそれぞれ設定された複数の2次元マップ(すなわちテーブル)を用いてもよい。
一方、第2実施形態は、トルク補正感度Rtrqを、相関関係モデルとしての図44のマップを用いて算出した例であるが、トルク補正感度Rtrqを、図44に代えて、図43を用いて算出してもよい。すなわち、トルク補正感度Rtrqを誤差重みWtに等しい値として算出してもよい。これに加えて、式(70)において、Rtrq=1と設定することにより、Ktrq=Ktrq_bsとしてもよい。すなわち、基本トルク補正値Ktrq_bsをトルク補正値Ktrqとして用いてもよい。
また、第2実施形態は、相関関係モデルを修正する手法として、補正後修正値としてのトルク補正値Ktrqにより、第2参照パラメータとしての最大トルクTrq_maxを補正(修正)した例であるが、本願発明の相関関係モデルを修正する手法はこれに限らず、相関関係モデルを修正できるものであればよい。例えば、補正後修正値により、第1入力値側を修正する手法でもよい。
さらに、第2実施形態は、制御量として車輪速度(具体的には駆動輪速Ws_act)を用いた例であるが、本願発明の制御量はこれに限らず、トランスミッションのギヤレシオやクラッチの滑り量などを考慮しながら、エンジン回転数NEを制御量とし、これを目標値に制御するように構成してもよい。このようにした場合でも、第2実施形態の制御装置1Aと同じような作用効果を得ることができる。
また、第1実施形態は、本願発明の制御装置を空燃比制御を実行するものに適用した例であり、第2実施形態は、本願発明の制御装置をトラクションコントロールを実行するものに適用した例であるが、本願発明の制御装置はこれらに限らず、様々な産業機器の制御装置において、制御量をフィードフォワード制御するための第1入力値を、参照パラメータに応じ、参照パラメータと第1入力値との間の相関関係を表す相関関係モデルを用いて算出し、制御量を目標値に収束させるようにフィードバック制御するための第2入力値を、所定のフィードバック制御アルゴリズムにより算出するとともに、第1入力値および第2入力値に応じて、制御入力を算出するものに適用可能である。
さらに、第1および第2実施形態は、相関関係モデルを修正する際、参照パラメータ側の修正値(補正値)を算出した例であるが、第1および第2実施形態における制御アルゴリズムにより、第1入力値側を修正する修正値を算出するように構成してもよい。