以下、図面を参照しながら、本発明の第1実施形態に係る制御装置について説明する。本実施形態の制御装置は、内燃機関の空燃比を制御するものであり、図1は、この制御装置1およびこれを適用した内燃機関(以下「エンジン」という)3の概略構成を示している。同図に示すように、この制御装置1は、ECU2を備えており、このECU2は、後述するように、エンジン3の運転状態に応じて、その気筒内に供給される混合気の空燃比を制御する。
このエンジン3は、有段式自動変速機付きの車両(いずれも図示せず)に搭載された直列4気筒型ガソリンエンジンであり、第1〜第4の4つの気筒#1〜#4を備えている。このエンジン3の吸気通路4には、上流側から順に、エアフローセンサ10、スロットル弁機構5および吸気圧センサ11が設けられてる。なお、本実施形態では、エアフローセンサ10および吸気圧センサ11が動作状態パラメータ検出手段に相当する。
エアフローセンサ10は、熱線式エアフローメータで構成されており、吸気通路4内を流れる空気の流量を検出し、それを表す検出信号をECU2に出力する。ECU2は、エアフローセンサ10の検出信号に基づき、空気流量Gth(単位:g/sec)を算出する。
また、スロットル弁機構5は、スロットル弁5aおよびこれを開閉駆動するTHアクチュエータ(図示せず)などを備えている。THアクチュエータは、ECU2に接続されたモータにギヤ機構(いずれも図示せず)を組み合わせたものであり、ECU2からの制御入力信号によって制御されることにより、スロットル弁5aの開度を変化させる。スロットル弁は、吸気通路4の途中に回動自在に設けられており、当該回動に伴う開度の変化により空気流量Gthを変化させる。
さらに、吸気圧センサ11は、例えば半導体圧力センサなどで構成され、吸気通路4内の絶対圧(以下「吸気圧」という)PBを検出し、それを表す検出信号をECU2に出力する。
また、吸気通路4は、インテークマニホールド4aの4つの分岐部4bを介して4つの気筒#1〜#4にそれぞれ接続されている。各分岐部4bには、各気筒の図示しない吸気ポートの上流側に、燃料噴射弁6が取り付けられている。各燃料噴射弁6は、エンジン3の運転時に、ECU2からの制御入力信号によって、その開弁時間である燃料噴射量Toutおよび噴射タイミングが制御される。
一方、エンジン3の本体には、例えばサーミスタなどで構成された水温センサ12が取り付けられている。水温センサ12は、エンジン3のシリンダブロック内を循環する冷却水の温度であるエンジン水温TWを検出し、それを表す検出信号をECU2に出力する。
また、エンジン3のクランクシャフト(図示せず)には、クランク角センサ13が設けられている。このクランク角センサ13は、クランクシャフトの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。
CRK信号は、所定のクランク角(例えば30゜)ごとに1パルスが出力される。ECU2は、このCRK信号に応じ、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。また、TDC信号は、各気筒のピストン(図示せず)が吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角ごとに1パルスが出力される。なお、本実施形態では、クランク角センサ13が運転状態パラメータ検出手段に相当する。
一方、排気通路7のエキゾーストマニホールド7aよりも下流側には、上流側から順に第1触媒装置8および第2触媒装置9が間隔を存して設けられている。両触媒装置8,9はいずれも、NOx触媒と3元触媒を組み合わせたものであり、このNOx触媒は、図示しないが、イリジウム触媒(イリジウムを担持した炭化ケイ素ウイスカ粉末とシリカの焼成体)をハニカム構造の基材の表面に被覆し、その上にペロブスカイト型複酸化物(LaCoO3粉末とシリカの焼成体)をさらに被覆したものである。
両触媒装置8,9は、NOx触媒による酸化還元作用により、リーンバーン運転時の排気ガス中のNOxを浄化するとともに、3元触媒の酸化還元作用により、リーンバーン運転以外の運転時の排気ガス中のCO、HCおよびNOxを浄化する。なお、両触媒装置8,9は、NOx触媒と3元触媒を組み合わせたものに限らず、排気ガス中のCO、HCおよびNOxを浄化できるものであればよい。例えば、両触媒装置8,9を、ペロブスカイト型触媒などの非金属触媒および/または3元触媒などの金属触媒で構成してもよい。
これらの第1および第2触媒装置8,9の間には、酸素濃度センサ(以下「O2センサ」という)15が取り付けられている。このO2センサ15は、ジルコニアおよび白金電極などで構成され、第1触媒装置8の下流側の排気ガス中の酸素濃度に基づく検出信号をECU2に出力する。このO2センサ15の出力(以下「センサ出力」という)VO2は、理論空燃比よりもリッチな混合気が燃焼したときには、ハイレベルの電圧値(例えば0.8V)となり、混合気がリーンのときには、ローレベルの電圧値(例えば0.2V)となるとともに、混合気が理論空燃比付近のときには、ハイレベルとローレベルの間の所定の目標出力VO2_TRGT(例えば0.6V)となる(図2参照)。
なお、本実施形態では、O2センサ15が制御量検出手段および排ガス濃度センサに相当し、センサ出力VO2が制御量および排ガス濃度センサの出力に相当し、目標出力VO2_TRGTが目標制御量に相当する。
また、第1触媒装置8よりも上流側のエキゾーストマニホールド7aの集合部付近には、LAFセンサ14が取り付けられている。LAFセンサ14は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気通路7内を流れる排気ガス中の酸素濃度をリニアに検出し、それを表す検出信号をECU2に出力する。ECU2は、このLAFセンサ14の検出信号の値に基づき、排気ガス中の空燃比を表す検出空燃比KACTを算出する。なお、この検出空燃比KACTは、具体的には当量比として算出される。
次に、図2を参照しながら、第1触媒装置8(触媒装置)の排気ガスの浄化率とセンサ出力VO2との関係について説明する。同図は、第1触媒装置8が、長時間の使用により浄化能力が低下した劣化状態と、浄化能力の高い未劣化状態の場合において、検出空燃比KACTすなわちエンジン3に供給される混合気の空燃比が理論空燃比の付近で変化したときの、2つの第1触媒装置8のHCおよびNOxの浄化率と、センサ出力VO2をそれぞれ測定した結果の一例を示している。同図において、破線で示すデータはいずれも、第1触媒装置8が未劣化状態の場合の測定結果であり、実線で示すデータはいずれも、第1触媒装置8が劣化状態の場合の測定結果である。また、検出空燃比KACTが大きいほど、混合気の空燃比がよりリッチ側であることを示している。
同図に示すように、第1触媒装置8が劣化している場合には、未劣化状態の場合と比べて、排気ガスの浄化能力が低下していることにより、検出空燃比KACTがよりリーン側の値KACT1のときに、センサ出力VO2が目標出力VO2_TRGTを横切っている。一方、第1触媒装置8は、その劣化・未劣化状態にかかわらず、センサ出力VO2が目標出力VO2_TRGTにあるときに、HCおよびNOxを最も効率よく浄化する特性を有している。したがって、センサ出力VO2が目標出力VO2_TRGTになるように、混合気の空燃比を制御することにより、第1触媒装置8によって排気ガスを最も効率よく浄化できることが判る。このため、後述する空燃比制御では、センサ出力VO2が目標出力VO2_TRGTに収束するように、目標空燃比KCMDが算出される。
さらに、ECU2には、アクセル開度センサ16および吸気温センサ17などが接続されている。このアクセル開度センサ16は、車両の図示しないアクセルペダルの踏み込み量(以下「アクセル開度」という)APを検出し、それを表す検出信号をECU2に出力する。また、吸気温センサ17は吸気温TAを検出し、それを表す検出信号をECU2に出力する。なお、本実施形態では、吸気圧センサ11が動作状態パラメータ検出手段に相当する。
ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ10〜17の検出信号などに応じて、エンジン3の運転状態を判別するとともに、各種の制御を実行する。具体的には、ECU2は、後述するように、エンジン3の運転状態に応じて、目標空燃比KCMDを算出し、さらに、この目標空燃比KCMDに基づいて、燃料噴射弁6の燃料噴射量Toutおよび噴射タイミングを気筒毎に算出する。そして、算出した燃料噴射量Toutおよび噴射タイミングに基づいた制御入力信号で、燃料噴射弁6を駆動することにより、混合気の空燃比を制御する。
なお、本実施形態では、ECU2が、制御量検出手段、目標制御量設定手段、第1入力値算出手段、変調入力値算出手段、動作状態パラメータ検出手段、誤差パラメータ算出手段、修正値算出手段、モデル修正手段、第2入力値算出手段、制御入力算出手段、設定手段、推定値算出手段、誤差パラメータ設定手段および選択手段に相当する。
次に、図3を参照しながら、本実施形態の制御装置1について説明する。同図に示すように、この制御装置1は、STコントローラ30、基本噴射量算出部31、総補正係数算出部32、乗算器33および空燃比コントローラ40を備えており、これらは、具体的にはECU2によって構成されている。
まず、空燃比コントローラ40では、後述するように、空気流量Gth、吸気圧PB、エンジン回転数NE、センサ出力VO2および検出空燃比KACTに応じて、目標空燃比KCMDが算出される。この目標空燃比KCMDは当量比として算出される。なお、本実施形態では、空燃比コントローラ40が制御入力算出手段および設定手段に相当し、目標空燃比KCMDが制御入力に相当する。
また、STコントローラ30は、空燃比補正係数KAFを算出するものであり、PID制御器および適応制御器(いずれも図示せず)を備えている。このPID制御器では、公知のPID制御手法によって、検出空燃比KACTが目標空燃比KCMDに収束するように、空燃比補正係数KAFが算出され、適応制御器では、本出願人が特開2000−234550号公報などで提案済みの適応制御手法によって、検出空燃比KACTが目標空燃比KCMDに追従するように、空燃比補正係数KAFが算出される。そして、エンジン3の運転状態に応じて、2つの制御手法でそれぞれ算出された値の一方が、空燃比補正係数KAFとして選択される。
さらに、基本噴射量算出部31では、エンジン回転数NEおよび吸気圧PBに応じて、図示しないマップを検索することにより、基本噴射量Tibsが算出される。
一方、総補正係数算出部32では、エンジン水温TWおよび吸気温TAなどの運転状態を表す各種のパラメータに応じて、図示しない各種のマップを検索することにより、各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより、総補正係数KTOTALが算出される。
そして、乗算器33では、下式(1)により、燃料噴射量Toutが算出される。
上式(1)において、記号(k)付きの各データは、所定の制御周期ΔT(TDC信号の発生周期)で算出またはサンプリングされた離散データであることを表しており、記号kは各離散データの制御時刻を表している。例えば、記号kは今回の制御タイミングで算出された今回値であることを、記号k−1は前回の制御タイミングで算出された前回値であることをそれぞれ示している。この点は以下の数式においても同様である。なお、以下の説明では、各離散データにおける記号(k)を適宜、省略する。
次に、図4を参照しながら、前述した空燃比コントローラ40について説明する。同図に示すように、この空燃比コントローラ40は、状態予測器41、オンボード同定器42、SMコントローラ43、変調器44、排ガスボリューム算出部45、加算器46および適応基準空燃比算出部50を備えている。
この空燃比コントローラ40では、状態予測器41において、後述する予測アルゴリズムによって、出力偏差DVO2の予測値DVPREが算出され、オンボード同定器42で、後述する逐次型同定アルゴリズムによって、モデルパラメータベクトルθbが算出される。
また、SMコントローラ43では、後述するように、適応スライディングモード制御アルゴリズムによって、空燃比補正値DKCMDが算出され、変調器44では、後述するように、ΔΣ変調アルゴリズムを適用した変調アルゴリズムによって、空燃比補正値DKCMDの変調値DKCMD_DSMが算出される。
さらに、排ガスボリューム算出部45では、後述する制御手法によって、排ガスボリュームSV_hatが算出され、適応基準空燃比算出部50では、後述する制御手法によって、適応基準空燃比KCMDADPが算出される。そして、最終的に、加算器46において、下式(2)により、目標空燃比KCMDが算出される。
次に、前述した状態予測器41について説明する。この状態予測器41は、以下に述べる予測アルゴリズムによって、出力偏差DVO2の予測値DVPREを算出するものであり、まず、出力偏差DVO2を下式(3)に示すように定義する。
次に、後述する空燃比補正値DKCMDを入力とし、出力偏差DVO2を出力とする系の制御対象モデルを下式(4)に示すように定義する。
上式(4)のa1,a2,b1はモデルパラメータを表している。また、上式(4)のdは、目標空燃比KCMDの混合気が燃料噴射弁6により吸気系に供給されてから、センサ出力VO2に反映されるまでのむだ時間を表しており、下式(5)のように定義される。
ここで、d1は、燃料噴射弁6からLAFセンサ14までのエンジン系のむだ時間を、d2は、LAFセンサ14からO2センサ15までの排気系のむだ時間をそれぞれ表している。
また、予測値DVPREは、目標空燃比KCMDの混合気が吸気系に供給されてからむだ時間dが経過した後の出力偏差DVO2(k+d)を予測した値であり、上式(4)に基づき、予測値DVPREの算出式を導出すると、下式(6)が得られる。
この式(6)の場合、出力偏差DVO2(k)の未来値に相当するDVO2(k+d−1),DVO2(k+d−2)の算出が必要となり、実際にプログラム化するのは困難である。そのため、マトリクスA,Bを、オンボード同定器42で後述するように算出されるモデルパラメータの同定値a1(k),a2(k),b1(k)を用いて、下式(7),(8)のように定義し、上式(6)の漸化式を繰り返し用いることにより、上式(6)を変形すると、下式(9)が得られる。
次に、検出空燃比偏差DKACTを、下式(10)に示すように定義すると、DKACT(k)=DKCMD(k−d1)と見なせるので、この関係を前述した式(9)に適用すると、下式(11)が得られる。
ここで、上式(10)のKCMDADPは、適応基準空燃比であり、後述するように、適応基準空燃比算出部50によって算出される。本実施形態の状態予測器41では、以上のように導出された式(11)を用いて、予測値DVPREが算出される。
次に、前述したオンボード同定器42について説明する。このオンボード同定器42では、このオンボード同定器42では、下式(12)〜(18)に示す逐次型同定アルゴリズムにより、モデルパラメータa1,a2,b1のベクトルθbが算出される。
上式(12)において、ベクトルθbは、その転置行列が式(13)のように定義され、同式(12)のEidは、式(14)により算出される追従誤差である。同式(14)のDVO2_HATは、出力偏差DVO2の推定値であり、式(15)により算出される。同式(15)のζは、その転置行列が式(16)のように定義されるベクトルである。
また、式(12)のKQは、式(17)により算出されるゲイン係数のベクトルであり、同式(17)のPは、式(18)に示すように定義される3次の正方行列である。同式(18)のIは、3次の単位行列を表しており、λ1,λ2は、0<λ1≦1,0<λ2≦1が成立するように設定される重み係数をそれぞれ表している。
次に、前述したSMコントローラ43について説明する。このSMコントローラ43では、以下に示す式(19)〜(23)の適応スライディングモード制御アルゴリズムによって、空燃比補正値DKCMDが算出される。
上式(19)のσ2は切換関数であり、同式(19)のS2は、−1<S2<0の関係が成立するように設定される切換関数設定パラメータである。この場合、切換関数設定パラメータS2の設定値により、予測値DVPREの値0への収束速度が指定される。また、上式(23)に示すように、空燃比補正値DKCMDは、到達則入力Urch2と適応則入力Uadp2と等価制御入力Ueq2の和として算出され、この到達則入力Urch2は、式(20)により算出される。同式(20)において、Krch2は、所定の到達則ゲインを表している。
また、適応則入力Uadp2は、式(21)により算出され、同式(21)において、Kadp2は、所定の適応則ゲインを表している。さらに、等価制御入力Ueq2は、式(22)により算出される。
以上のように、SMコントローラ43では、式(19)〜(23)の適応スライディングモード制御アルゴリズムにより、予測値DVPREを値0に収束させるための値すなわちセンサ出力VO2を目標出力VO2_TRGTに収束させるための値として、空燃比補正値DKCMDが算出される。
なお、本実施形態では、SMコントローラ43が第1入力値算出手段および誤差パラメータ算出手段に相当し、空燃比補正値DKCMDが、第1入力値、誤差パラメータ、誤差パラメータおよび所定の目標値の一方と他方の偏差に相当し、値0が所定の目標値に相当する。
次に、前述した変調器44について説明する。この変調器44では、以下に述べるように変調値DKCMD_DSMが算出される。まず、小振幅成分値DKCMD_Lが、下式(24)〜(26)によって算出される。
上式(24)〜(26)のDKCMD_L_LMTは、所定のしきい値であり、これらの式(24)〜(26)に示すように、小振幅成分値DKCMD_Lは、空燃比補正値DKCMDの振幅に、DKCMD_L_LMTを上限とし、−DKCMD_L_LMTを下限とするリミット処理を施すことにより算出される。すなわち、小振幅成分値DKCMD_Lは、空燃比補正値DKCMDの変動幅が小さく、その絶対値がしきい値DKCMD_L_LMTを超えない範囲にあるときの空燃比補正値DKCMDに相当する。
また、大振幅成分値DKCMD_Hが、下式(27)〜(29)によって算出される。
以上の式(27)〜(29)に示すように、大振幅成分値DKCMD_Hは、空燃比補正値DKCMDの絶対値がしきい値DKCMD_L_LMTを上回っていないときには、値0として算出され、上回ったときには、上回った分の値として算出される。すなわち、大振幅成分値DKCMD_Hは、空燃比補正値DKCMDの変動が大きいことで、制御の速応性が要求される場合には、そのような空燃比補正値DKCMDを目標空燃比KCMDに適切に反映させるための値として算出される。
さらに、小振幅成分値DKCMD_Lを、下式(30)〜(33)に示すΔΣ変調アルゴリズムを適用したアルゴリズムで変調することによって、変調成分値DKCMD_L_DSMが算出される。
上式(30)に示すように、偏差δdsmは、小振幅成分値DKCMD_Lと変調成分値DKCMD_L_DSMの前回値との偏差として算出される。また、式(31)において、σdsmは、偏差δdsmの積分値を表している。また、式(32),(33)のDKCMD_L_AMPは、所定の振幅値である。以上の式(30)〜(33)を参照すると明らかなように、変調成分値DKCMD_L_DSMは、値0を中心として、最小値−DKCMD_L_AMPと最大値DKCMD_L_AMPとの間で反転を繰り返す値として算出される。
そして、最終的に、下式(34)に示すように、変調成分値DKCMD_L_DSMに大振幅成分値DKCMD_Hを加算することによって、変調値DKCMD_DSMが算出される。
なお、本実施形態では、変調器44が変調入力値算出手段に相当し、変調値DKCMD_DSMが変調入力値に相当する。
一方、前述した排ガスボリューム算出部45では、以下の式(35),(36)によって、排ガスボリュームSV_hatが算出される。
上式(35)において、Gcylは吸入空気量を、Vbは吸気管内体積を、Rは所定の気体定数をそれぞれ表している。同式(35)のSV_PRAは、エンジン3の気筒数によって設定される換算係数である。この場合、吸入空気量Gcylを、上式(35)に代えて、吸気圧PBおよび燃料噴射量Toutに応じてマップを検索する手法によって算出してもよい。さらに、空気流量Gthを排ガスボリュームSV_hatとして用いてもよい。なお、本実施形態では、排ガスボリュームSV_hatが動作状態パラメータおよび運転状態パラメータに相当する。
次に、前述した適応基準空燃比算出部50について説明する。この適応基準空燃比算出部50は、以下に述べる手法によって、適応基準空燃比KCMDADPを算出するものであり、図5に示すように、基準空燃比算出部60、モデル修正器70および乗算器90を備えている。なお、本実施形態では、適応基準空燃比算出部50がモデル修正手段および第2入力値算出手段に相当し、適応基準空燃比KCMDADPが第2入力値に相当する。
まず、基準空燃比算出部60では、排ガスボリュームSV_hatに応じて、図6に示すマップ(1次元マップ)を検索することにより、基準空燃比KCMDBSが算出される。この基準空燃比KCMDBSは、その時点での排ガスボリュームSV_hatに対して、VO2≒VO2_TRGTが成立するような混合気の空燃比の最適値(以下「最適空燃比」という)を表している。このマップは、新品の第1触媒装置8における平均的な特性に基づいて設定され、本実施形態では、このマップが相関関係モデルに相当する。
また、モデル修正器70で、後述するように、モデル修正係数Kffが算出される。そして、乗算器90において、下式(37)に示すように、適応基準空燃比KCMDADPが算出される。
上式(37)に示すように、適応基準空燃比KCMDADPは、基準空燃比KCMDBSをモデル修正係数Kffで修正(または補正)することによって算出される。言い換えれば、適応基準空燃比KCMDADPは、モデル修正係数Kffで相関関係モデルとしての図6のマップを非線形に修正したマップを用いて算出された値に相当する。
次に、図7を参照しながら、上記のモデル修正係数Kffを用いる理由について説明する。図7に実線で示す曲線は、第1触媒装置8が新品で劣化してない場合の、排ガスボリュームSV_hatと、前述した最適空燃比との関係を表しており、図7に破線で示す曲線は、第1触媒装置8が劣化した場合の両者の関係を表している。
2つの曲線を比較すると明らかなように、第1触媒装置8が劣化した場合、最適空燃比は、排ガスボリュームSV_hatの全領域に対して一律に低下するものではなく、その低下度合がばらつきながら変化する。それにより、基準空燃比KCMDBSを修正する際には、それに対応して非線形な修正が必要となる。したがって、モデル修正器70では、第1触媒装置8が劣化していないときの基準空燃比KCMDBSを非線形に修正するために、以下に述べる手法によって、モデル修正係数Kffが算出される。
図5に示すように、モデル修正器70は、3つの重み関数算出部71〜73と、3つのSMコントローラ74〜76と、3つの乗算器77〜79と、2つの加算器80,81を備えている。
まず、重み関数算出部71〜73では、排ガスボリュームSV_hatに応じて、図8(a)に示すマップを検索することにより、3つの重み関数Wi(i=1〜3)の値がそれぞれ算出される。同図において、SV1〜SV4は、0<SV1<SV2<SV3<SV4が成立するように設定される、排ガスボリュームSV_hatの所定値を表している。
ここで、重み関数Wiの添字iは、以下に述べる排ガスボリュームSV_hatの3つの領域に対応する値であることを表しており、この関係は、後述する各種の値においても同様である。具体的には、重み関数W1は、0≦SV_hat<SV2と規定される第1領域に対応し、重み関数W2は、SV1<SV_hat<SV4と規定される第2領域に対応し、重み関数W3は、SV2<SV_hatと規定される第3領域に対応するように設定されている。
また、同図に示すように、3つの重み関数Wiの各々は、上述した対応する領域では値1以下の正値にかつそれ以外の領域では値0に設定されており、さらに、隣り合う各2つの重み関数Wm,Wm+1(m=1または2)は、互いに交差しているとともに、交差している部分の両者の和が、重み関数Wiの最大値1になるように設定されている。
すなわち、隣り合う2つの重み関数W1,W2は、所定値SV1と所定値SV2の間で交差しているとともに、両者の交差点における排ガスボリュームSV_hatは、図8(b)に示すように、その前後で基準空燃比KCMDBSの勾配が変化する勾配変化点となっている。これと同様に、隣り合う2つの重み関数W2,W3は、所定値SV3で交差しているとともに、この所定値SV3も、その前後で基準空燃比KCMDBSの勾配が変化する勾配変化点となっている。
このように、隣り合う2つの重み関数Wm,Wm+1(m=1または2)の交差点が、基準空燃比KCMDBSの勾配変化点に対応するように設定されているのは、以下の理由による。すなわち、図8(b)に破線で示すように、基準空燃比KCMDBSは、第1触媒装置8が劣化した際、上記勾配変化点を有しかつその位置も維持したままで変化するので、前述したモデル修正係数Kffも、勾配変化点に対応する領域毎に異なる勾配となるように算出する必要がある。したがって、モデル修正係数Kffの勾配が、基準空燃比KCMDBSの勾配変化点に対応する領域毎に異なるようにするために、隣り合う2つの重み関数Wiの交差点が、基準空燃比KCMDBSの勾配変化点に対応するように設定されている。
なお、基準空燃比KCMDBSの勾配変化点の位置が、第1触媒装置8の劣化に伴って移動する場合には、2つの重み関数Wm,Wm+1が、新品および劣化品の第1触媒装置8の基準空燃比KCMDBSにおける勾配変化点を含む領域で交差するように設定すればよい。さらに、多数の重み関数Wが設定されている場合には、勾配変化点を含む領域に対応する重み関数Wの数を増加し、その領域で密に配置すればよい。
一方、3つのスライディングモードコントローラ74〜76では、3つの修正係数θi(i=1〜3)がそれぞれ算出される。これらの修正係数θiは、3つの重み関数Wiを修正するためのものであり、以下に述べるように、スライディングモード制御アルゴリズムを適用したアルゴリズム[式(38)〜(44)]によって算出される。
まず、下式(38)により、3つの分配誤差Ew
i(i=1〜3)がそれぞれ算出される。
上式(38)に示すように、3つの分配誤差Ewiは、3つの重み関数Wiを空燃比補正値DKCMDに乗算することによって算出されるので、空燃比補正値DKCMDを、排ガスボリュームSV_hatの前述した第1〜第3領域にそれぞれ分配した値として算出される。
そして、最終的に、3つの修正係数θiが、下式(39)〜(44)に示すように、忘却係数λを用いたスライディングモード制御アルゴリズムによって算出される。
上式(39)のσwiは切換関数であり、Sは−1<S<0の関係が成立するように設定される切換関数設定パラメータである。また、式(40)のθrchiは到達則入力であり、Krchiは所定の到達則ゲインを表している。
さらに、式(41)のθadpiは適応則入力であり、Kadpiは所定の適応則ゲインを表している。また、同式(41)の忘却係数λは、式(42),(43)に示すように、修正係数の前回値θi(k−1)と所定の上下限値θH,θLとの比較結果により、値1または所定値λlmtに設定される。この上限値θHは正の所定値に設定され、下限値θLは負の所定値に設定されるとともに、所定値λlmtは、0<λlmt<1が成立するような値に設定される。
さらに、式(44)に示すように、修正係数θiは、到達則入力θrchiおよび適応則入力θadpiの和として算出される。
以上の修正係数θiの算出アルゴリズムにおいて、忘却係数λを用いたのは以下の理由による。すなわち、第1触媒装置8における基準空燃比KCMDBSの変化以外の要因(例えば、パージガスの導入や想定度合以上のエタノール燃料が含有されていることなど)によって、大きな分配誤差Ewiが発生した場合、それに起因して、修正係数θiが誤適応することで一時的に不適切な値になり、過渡制御性が低下してしまう。
これに対して、前述した式(41)では、修正係数の前回値θi(k−1)の絶対値が大きい場合には、適応則入力θadpiの増大を回避するために、0<λ<1の範囲内の値に設定された忘却係数λが、適応則入力の前回値θadpi(k−1)に乗算されている。この場合、前述した式(41)を漸化式によって展開すると、h(hは2以上の自然数)回前の制御タイミングでの適応則入力の前回値θadpi(k−h)に対しては、λh(≒0)が乗算されることになるので、演算処理が進行したときでも、適応則入力θadpiの増大を回避することができる。その結果、修正係数θiが誤適応することで一時的に不適切な値になるのを回避でき、過渡制御性を向上させることができる。
また、忘却係数λを常に0<λ<1の範囲内の値に設定した場合、修正係数θiの領域が変わることでEwi=0となったときや、上記要因が解消されることでEwi≒0になったときに、忘却係数λによる忘却効果により、修正係数θiが値0近傍に収束してしまうので、そのような状態で大きな分配誤差Ewiが再度発生すると、その分配誤差Ewiを解消するのに時間を要してしまうことになる。したがって、それを回避し、分配誤差Ewiを迅速に解消するためには、修正係数θiの絶対値が比較的小さいときでも、修正係数θiを、分配誤差Ewiを迅速に補償可能な値に適切に保持しておく必要があるので、θL≦θi(k−1)≦θHが成立しているときには、忘却係数λによる忘却効果をキャンセルするために、λ=1に設定されている。なお、忘却係数λによる忘却効果が常に不要な場合には、式(41)において、修正係数の前回値θi(k−1)の大小にかかわらず、λ=1と設定すればよい。
以上のように、3つの修正係数θiは、忘却係数λを用いたスライディングモード制御アルゴリズムによって、3つの重み関数Wiがそれぞれ対応する、排ガスボリュームSV_hatの3つの領域における空燃比補正値DKCMDが値0に収束するように、算出される。
次に、3つの乗算器77〜79で、3つの修正係数θiと3つの重み関数Wiをそれぞれ乗算することにより、3つの乗算値θiWiが算出される。
さらに、加算器80で、下式(45)により、乗算和Kff’が算出される。
そして、加算器81で、下式(46)により、モデル修正係数Kffが算出される。
上式(46)に示すように、モデル修正係数Kffは、乗算和Kff’に値1を加算することにより算出される。これは、3つの修正係数θiがいずれも値0に収束したときに、式(37)でKCMDADP=KCMDBSが成立するようにするためである。
なお、本実施形態では、モデル修正器70が修正値算出手段に相当し、修正係数θiが複数の修正値に相当し、重み関数Wiが所定の複数の関数に相当し、分配誤差Ewiが複数の乗算値に相当する。
図9は、適応基準空燃比算出部50における、各種の値の算出例を示している。同図に示すように、3つの乗算値θiWiは互いに異なる変化を示す値として算出されるとともに、モデル修正係数Kffは、排ガスボリュームSV_hatに対して非線形な変化を示す値として算出される。それにより、基準空燃比KCMDBSをモデル修正係数Kffによって非線形に修正された結果として、適応基準空燃比KCMDADPを算出できることが判る。
以上のように、適応基準空燃比算出部50では、空燃比補正値DKCMDが値0になるように(すなわち、センサ出力VO2が目標出力VO2_TRGTになるように)、修正係数θiが算出されるとともに、そのような修正係数θiで重み関数Wiを修正しながら、モデル修正係数Kffが算出され、さらに、このモデル修正係数Kffを用いて基準空燃比KCMDBSを修正することにより、適応基準空燃比KCMDADPが算出される。それにより、第1触媒装置8における実際の基準空燃比KCMDBSが、前述した様々な要因によって非線形に変化したときでも、そのような非線形な基準空燃比KCMDBSの変化に適合させながら、適応基準空燃比KCMDADPを算出することができる。
次に、図10を参照しながら、ECU2により実行される空燃比制御処理について説明する。本処理は、燃料噴射弁6から噴射すべき燃料噴射量Toutを算出するものであり、前述した所定の制御周期ΔTで実行される。
この処理では、まず、ステップ1(図では「S1」と略す。以下同じ)で、エンジン回転数NEおよび吸気圧PBに応じて、図示しないマップを検索することにより、基本噴射量Tibsを算出する。
次いで、ステップ2に進み、センサ故障フラグF_SENNGが「1」であるか否かを判別する。このセンサ故障フラグF_SENNGは、図示しない判定処理において、エアフローセンサ10および吸気圧センサ11の少なくとも一方が故障したときに「1」に、それ以外のときに「0」に設定される。
ステップ2の判別結果がNOで、2つのセンサ10,11がいずれも正常であるときには、ステップ3に進み、エンジン始動フラグF_ENGSTARTが「1」であるか否かを判別する。このエンジン始動フラグF_ENGSTARTは、図示しない判定処理において、エンジン回転数NEおよびイグニッション・スイッチ(図示せず)のON/OFF信号に応じて、エンジン始動制御中すなわちクランキング中であるか否かを判定することにより設定されるものであり、具体的には、エンジン始動制御中であるときには「1」に、それ以外のときには「0」にそれぞれ設定される。
ステップ3の判別結果がYESで、エンジン始動制御中であるときには、ステップ4に進み、目標空燃比の始動時用値KCMD_STを、エンジン水温TWに応じて、図11に示すマップを検索することにより算出する。このマップでは、始動時用値KCMD_STは、エンジン水温TWが低いほど、よりリッチ側の値に設定されている。これは、エンジン水温TWが低い場合、エンジン3の始動性を高めるために、混合気をリッチ側の値に制御する必要があることによる。
ステップ4に続くステップ5で、目標空燃比KCMDを上記始動時用値KCMD_STに設定する。次いで、ステップ6に進み、燃料噴射量Toutを、基本噴射量Tibsと目標空燃比KCMDの積Tibs・KCMDに設定した後、本処理を終了する。
一方、ステップ3の判別結果がNOで、エンジン始動制御中でないときには、ステップ7に進み、アクセル開度APが所定値APREFより小さいか否かを判別する。この判別結果がYESで、アクセルペダルが踏まれていないときには、ステップ8に進み、始動後タイマの計時値Tastが所定値Tastlmtより小さいか否かを判別する。
この判別結果がYESで、Tast<Tastlmtのときには、触媒暖機制御を実行すべきであるとして、ステップ9に進み、目標空燃比の触媒暖機用値KCMD_ASTを、始動後タイマの計時値Tastおよびエンジン水温TWに応じて、図12に示すマップを検索することにより算出する。同図において、TW1〜TW3は、TW1<TW2<TW3の関係が成立するエンジン水温TWの所定値を示している。
このマップでは、触媒暖機用値KCMD_ASTは、TW=TW1が成立する低水温域では、計時値Tastが小さいほど、触媒の活性化を早めるために、よりリッチ側の大きな値に設定されている。また、TW=TW3が成立し、触媒暖機が完了した高温域では、触媒暖機用値KCMD_ASTが理論空燃比に相当する値1に設定されている。
次に、ステップ10に進み、目標空燃比KCMDを上記触媒暖機用値KCMD_ASTに設定する。その後、ステップ11で、前述したSTコントローラ30における算出手法により、空燃比補正係数KAFを算出する。
ステップ11に続くステップ12で、前述した総補正係数算出部32における算出手法により、総補正係数KTOTALを算出する。次いで、ステップ13に進み、燃料噴射量Toutを、基本噴射量Tibsと空燃比補正係数KAFと総補正係数KTOTALの積に設定した後、本処理を終了する。
一方、ステップ7または8の判別結果がNOのとき、すなわちアクセルペダルが踏まれているとき、またはTast≧Tastlmtであるときには、ステップ14に進み、前述した空燃比コントローラ40における算出手法により、目標空燃比KCMDを算出する。
次いで、前述したように、ステップ11〜13を実行した後、本処理を終了する。
一方、ステップ2の判別結果がYESで、2つのセンサ10,11の少なくとも一方が故障しているときには、ステップ15に進み、燃料噴射量Toutを、基本噴射量Tibsと目標空燃比KCMDの所定の故障時用値KFSとの積Tibs・KFSに設定した後、本処理を終了する。
本実施形態の制御装置1は、以上のような空燃比制御処理によって燃料噴射量Toutを算出し、図示しないが、この燃料噴射量Toutおよびエンジン回転数NEに応じて、燃料噴射タイミングを算出するとともに、これらの燃料噴射量Toutおよび燃料噴射タイミングに基づいた制御入力信号で、燃料噴射弁6を駆動することにより、混合気の空燃比を制御する。
次に、図13,14を参照しながら、本実施形態の制御装置1による空燃比制御のシミュレーション結果(以下「制御結果」という)について説明する。まず、図13は、本実施形態の制御装置1による制御結果例を示しており、図14は、比較のために、適応基準空燃比KCMDADPを、特許文献1と同じ手法により算出した場合の制御結果例を示している。
図13(a)において、破線で示す曲線が第1触媒装置8の上流側のNOx量を表しており、実線で示す曲線が、第1触媒装置8の下流側のNOx量を表している。また、同図(b)は、第1触媒装置8のNOx浄化率を表しており、同図(c)のKCMDxは、前述した最適空燃比、すなわちVO2≒VO2_TRGTが成立するような混合気の空燃比の最適値を表している。さらに、同図(d)の曲線は、目標空燃比と最適空燃比との偏差KCMD−KCMDxを表しており、同図(e)の曲線は、目標空燃比と適応基準空燃比との偏差KCMD−KCMDADPを表している。以上の関係は、図14(a)〜(e)においても同様である。
まず、図14を参照すると明らかなように、適応基準空燃比KCMDADPを特許文献1と同じ手法により算出した場合、エンジン3のNOx排出量が増大したときに、最適空燃比KCMDxに対する適応基準空燃比KCMDADPの追従性が低いことに起因して、目標空燃比KCMDが最適空燃比KCMDxから大きく離間し、出力偏差DVO2が増大する(酸素濃度センサの出力VO2が所定の目標出力VO2_TRGTから大きく乖離する)ことで、目標空燃比KCMDの変動周波数が低下してしまう(時刻t10〜t11,t12〜t13)。その結果、第1触媒装置8のNOx浄化率が低下し、第1触媒装置8の下流側におけるNOx量が一時的に増大してしまうことが判る。
これに対して、図13に示すように、本実施形態の制御装置1によれば、エンジン3のNOx排出量が増大した場合、制御開始直後(時刻t1〜t2)は、適応基準空燃比KCMDADPが最適空燃比KCMDxに対して若干の偏差を生じることで、目標空燃比KCMDの変動周波数が一時的に低下する。しかし、それ以降は、制御実行時間の経過に伴って、適応基準空燃比KCMDADPを最適空燃比KCMDxの特性に適応させることができ、出力偏差DVO2を値0に収束できることで、目標空燃比KCMDの変動周波数が高周波数域(例えば5Hz以上の周波数域)に保持される。その結果、第1触媒装置8の良好なNOx浄化率を確保でき、第1触媒装置8の下流側におけるNOx量を低減できることが判る。
以上のように、本実施形態の制御装置1によれば、SMコントローラ43において、適応スライディングモード制御アルゴリズムによって、O2センサの出力VO2が所定の目標出力VO2_TRGTに収束するように、空燃比補正値DKCMDが算出され、変調器44において、この空燃比補正値DKCMDをΔΣ変調アルゴリズムを適用したアルゴリズムで変調することによって、変調値DKCMD_DSMが算出される。それにより、変調値DKCMD_DSMは、VO2≒VO2_TRGTが成立しているときには、DKCMD≒0が成立することで、高周波数(例えば5Hz以上の周波数)での反転挙動を示す値として算出される。
また、適応基準空燃比算出部50では、空燃比補正値DKCMDが値0になるように(すなわちセンサ出力VO2が目標出力VO2_TRGTになるように)、排ガスボリュームSV_hatが変化し得る領域を区分した3つの領域に対応する3つの修正係数θiをそれぞれ算出し、重み関数Wiを修正係数θiに乗算し、これらの乗算値Wiθiの総和である乗算和Kff’を値1に加算することによって、モデル修正係数Kffが算出される。さらに、このモデル修正係数Kffで基準空燃比KCMDBSを修正することにより、適応基準空燃比KCMDADPが算出される。それにより、エンジン3の運転状態の急変に起因して、前述した最適空燃比が排ガスボリュームSV_hatの前述した3つの領域に対して非線形に変化したときでも、そのような非線形な最適空燃比の変化に迅速に適合させながら、適応基準空燃比KCMDADPを算出することができる。
すなわち、エンジン3の運転状態の急変に伴い、図6における基準空燃比KCMDBSと排ガスボリュームSV_hatとの関係が、実際の最適空燃比と排ガスボリュームSV_hatとの関係に対して、前述した3つの領域のうちのある領域において局所的な誤差を生じている場合や、両者の実際の関係が3つの領域間においてばらついている場合でも、適応基準空燃比KCMDADPと排ガスボリュームSV_hatとの関係を、実際の最適空燃比と排ガスボリュームSV_hatとの関係に適切かつ迅速に一致させることができる。
さらに、以上のように算出した適応基準空燃比KCMDADPに、変調値DKCMD_DSMを加算することにより、目標空燃比KCMDが算出されるので、エンジン3の運転状態の急変に起因して、目標空燃比KCMDが最適空燃比から一時的に大きく離間し、センサ出力VO2が目標出力VO2_TRGTから大きく離間することで、空燃比補正値DKCMDが一次的に急増したときでも、適応基準空燃比KCMDADPによって、急増した空燃比補正値DKCMDを、値0になるように迅速に制御することができる。それにより、センサ出力VO2を目標出力VO2_TRGTに迅速に制御できることで、変調値DKCMD_DSMの周波数すなわち目標空燃比KCMDの変動周波数を迅速に高めることができる。その結果、エンジン3の運転状態の急変に起因する、目標空燃比KCMDの変動周波数の低下を迅速に解消でき、それによって、第1触媒装置8における排ガス浄化率を高レベルに維持することができる。
また、3つの重み関数Wiの各々は、前述した対応する領域では値1以下の正値にかつそれ以外の領域では値0に設定されており、さらに、隣り合う各2つの重み関数Wm,Wm+1(m=1または2)は、互いに交差しているとともに、交差している部分の両者の和が、重み関数Wiの最大値1になるように設定されているので、基準空燃比KCMDBSを修正する際、3つの領域に対して連続的に修正できることで、修正結果である適応基準空燃比KCMDADPが不連続点を有することがなくなる。それにより、適応基準空燃比KCMDADPが、基準空燃比KCMDBSの不連続点に起因して一時的に不適切な状態になるのを回避できる。
なお、第1実施形態は、本発明の制御装置を、酸素濃度センサ15の出力VO2を制御量とし、目標空燃比KCMDを制御入力とする制御対象に適用した例であるが、本発明の制御装置はこれに限らず、制御対象として、様々な産業機器における出力および入力をそれぞれ制御量および制御入力とする系に適用可能である。
また、第1実施形態は、所定のフィードバック制御アルゴリズムとして、適応スライディングモード制御アルゴリズムを用いた例であるが、本発明の所定のフィードバック制御アルゴリズムはこれに限らず、制御量を目標制御量に収束させるように入力値を算出できるものであればよい。例えば、通常のスライディングモード制御アルゴリズムや、PID制御アルゴリズム、バックステッピング制御アルゴリズム、スライディングモード制御アルゴリズムにおける制御対象モデルを一次系のものに置き換えた応答指定型制御アルゴリズム、最適レギュレータなどを用いてもよい。
さらに、第1実施形態は、所定の変調アルゴリズムとして、ΔΣ変調アルゴリズムを適用した変調アルゴリズム[式(24)〜(34)]を用いた例であるが、本発明の所定の変調アルゴリズムはこれに限らず、所定の変調アルゴリズムへの入力値の絶対値が小さいほど、入力値の変調値を、より高い周波数になるように算出できるものであればよい。例えば、所定の変調アルゴリズムとして、Δ変調アルゴリズムまたはΣΔ変調アルゴリズムや、これらに基づく変調アルゴリズムを用いてもよい。
一方、第1実施形態は、動作状態パラメータとして、排ガスボリュームSV_hatを用いた例であるが、本発明の動作状態パラメータはこれに限らず、制御対象の動作状態を表すものであればよい。
また、第1実施形態は、運転状態パラメータとして、排ガスボリュームSV_hatを用いた例であるが、本発明の運転状態パラメータはこれに限らず、内燃機関の運転状態を表すものであればよい。例えば、運転状態パラメータとして、空気流量Gthを用いてもよい。
また、第1実施形態は、相関関係モデルとして、図6の1次元マップを用いた例であるが、本発明の相関関係モデルはこれに限らず、第2入力値と動作状態パラメータの関係を表すものであればよい。例えば、相関関係モデルとして、他の算出式や2次元以上のマップなどを用いてもよい。
さらに、第1実施形態は、排ガス濃度センサとして酸素濃度センサ15を用いた例であるが、本発明の排ガス濃度センサはこれに限らず、排ガス中の所定成分の濃度を検出するものであればよい。例えば、排ガス濃度センサとして、排ガス中のNOx濃度を検出するNOx濃度センサなどを用いてもよい。
また、第1実施形態は、制御入力としての目標空燃比KCMDを、第2入力値としての適応基準空燃比KCMDADPと、変調入力値としての変調値DKCMD_DSMとの和として算出した例であるが、本発明の制御入力はこれに限らず、第2入力値および変調入力値の和に基づいて算出されたものであればよい。例えば、第2入力値および変調入力値の和に所定値を加算したり、第2入力値および変調入力値の和に所定値を乗算したりすることによって、制御入力を算出してもよい。
次に、本発明の第2実施形態に係る制御装置1A(図15参照)について説明する。なお、以下の説明では、第1実施形態と同じ構成に関しては、同じ符号を付すとともに、その説明は省略する。この制御装置1Aは、前述した有段式自動変速機付きのエンジン3を前側に搭載するとともに、いずれも図示しない後輪および前輪をそれぞれ駆動輪および非駆動輪(従動輪)とする、いわゆるFR方式の車両(図示せず)に適用されたものであり、具体的には、この車両のトラクションコントロールを実行するものである。
なお、トラクションコントロールとは、車両の加速時、エンジン3の発生トルクが過大になり、駆動輪が非駆動輪に対して空転する状態が発生したときに、エンジン3の発生トルクを低減することによって、空転状態を回避し、車両の安定性の確保および加速性の向上を両立させるようにする制御手法のことである。
図15に示すように、この制御装置1Aは、ECU2を備えており、このECU2には、前述したセンサ10〜17などに加えて、左右の前輪速センサ20,21と、左右の後輪速センサ22,23と、ギヤ段センサ24とが接続されている。左右の前輪速センサ20,21はそれぞれ、左右の前輪速を表す検出信号をECU2に出力し、左右の後輪速センサ22,23はそれぞれ、左右の後輪速を表す検出信号をECU2に出力する。
ECU2は、左右の前輪速センサ20,21の検出信号に基づき、左右の前輪速を算出するとともに、これらの相加平均値を、非駆動輪速Ws_refとして算出する。さらに、ECU2は、左右の後輪速センサ22,23の検出信号に基づき、左右の後輪速を算出するとともに、これらの相加平均値を、駆動輪速Ws_actとして算出する。
なお、本実施形態では、ECU2が、制御量検出手段、目標制御量設定手段、第1入力値算出手段、変調入力値算出手段、動作状態パラメータ検出手段、誤差パラメータ算出手段、修正値算出手段、モデル修正手段、第2入力値算出手段、制御入力算出手段、設定手段、推定値算出手段、誤差パラメータ設定手段、要求出力算出手段および選択手段に相当する。さらに、左右の後輪速センサ22,23が制御量検出手段に相当し、駆動輪速Ws_actが制御量および駆動輪の速度に相当し、クランク角センサ13が動作状態パラメータ検出手段に相当し、エンジン回転数NEが動作状態パラメータおよび運転状態パラメータに相当する。
一方、有段式自動変速機は、前進6速ギヤ段および後進1速ギヤ段を有しており、ギヤ段センサ24は、この有段式自動変速機のギヤ段を検出して、それを表す検出信号をECU2に出力する。ECU2は、このギヤ段センサ24の検出信号に基づき、前進ギヤ段値NGEARを設定する。具体的には、この前進ギヤ段値NGEARは、前進1〜3速ギヤ段のときにはそれぞれ値1〜3に設定され、前進4〜6速ギヤ段のときには値4に設定される。
また、図16に示すように、制御装置1Aは、トラクションコントローラ100を備えている。このトラクションコントローラ100は、以下に述べるように、駆動輪の空転状態を回避し、車両の安定性の確保および加速性の向上を両立できると推定されるエンジン3のトルクとして、エンジントルクTRQENGを算出するものであり、具体的にはECU2によって構成されている。なお、本実施形態では、トラクションコントローラ100がモデル修正手段、第2入力値算出手段および制御入力算出手段に相当し、エンジントルクTRQENGが内燃機関の出力の目標に相当する。
同図に示すように、トラクションコントローラ100は、目標車輪速算出部101、車輪速フィードバックコントローラ102、変調器103、要求トルク算出部104、基準フィードフォワードトルク算出部105、推定トルク算出部106、乗算器107、フィードフォワードトルク算出部108、加算器109、エンジントルク算出部110およびモデル修正器120を備えている。
まず、目標車輪速算出部101では、下式(47)により、目標車輪速Ws_cmdが算出される。なお、本実施形態では、目標車輪速算出部101が目標制御量設定手段に相当し、目標車輪速Ws_cmdが目標制御量および目標速度に相当する。
上式(47)のOptSlipは、駆動輪と非駆動輪の間において許容可能なスリップ量に相当する所定のスリップオフセット値であり、本実施形態では、一定値(例えば10km/h)に設定されている。この場合、スリップオフセット値OptSlipを、所定のパラメータ(例えば、非駆動輪速Ws_ref、路面の摩擦抵抗係数の推定値、ヨーレートセンサの検出信号および車体のスリップ角センサの検出信号など)に応じて、マップ検索や所定の算出式により決定してもよい。なお、本実施形態では、スリップオフセット値OptSlipが所定量に相当する。
次に、前述した車輪速フィードバックコントローラ102について説明する。この車輪速フィードバックコントローラ102では、以下に述べるように、目標値フィルタ型2自由度スライディングモード制御アルゴリズムと、適応外乱オブザーバを組み合わせて適用した制御アルゴリズム[式(48)〜(58)]により、トルクフィードバック値TRQFBが算出される。なお、本実施形態では、車輪速フィードバックコントローラ102が第1入力値算出手段に相当し、トルクフィードバック値TRQFBが第1入力値に相当する。
まず、下式(48)に示す一次遅れタイプのローパスフィルタアルゴリズムにより、目標車輪速のフィルタ値Ws_cmd_fが算出される。
ここで、上式(48)のRtは、目標値フィルタ設定パラメータであり、−1<Rt<0の関係が成立する値に設定される。この場合、目標値フィルタ設定パラメータRtの設定値により、フィルタ値Ws_cmd_fの目標車輪速Ws_cmdへの追従速度が決定される。
次いで、式(49)〜(52)に示すスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、到達則入力Urch_tおよび非線形入力Unl_tが算出される。
ここで、式(49)のEtは、追従誤差であり、式(50)のσtは、切換関数である。また、式(50)のStは、切換関数設定パラメータであり、−1<St<0の関係が成立する値に設定されている。この場合、切換関数設定パラメータStの設定値により、追従誤差Etの値0への収束速度が指定される。さらに、式(51)のKrch_tは、所定の到達則ゲインを表しており、式(52)のKnl_tは、所定の非線形入力用ゲインを表している。さらに、式(52)におけるsgn(σt(k))は符号関数であり、その値は、σt(k)≧0のときにはsgn(σt(k))=1となり、σt(k)<0のときにはsgn(σt(k))=−1となるように設定される(なお、σt(k)=0のときに、sgn(σt(k))=0となるように設定してもよい)。
次に、式(53)〜(57)に示す適応外乱オブザーバを適用した制御アルゴリズムによって、外乱推定値Uls_tが算出される。
ここで、式(53)のσt_hatは、切換関数の推定値であり、Uls_tは、外乱推定値である。この外乱推定値Uls_tは、式(54),(55)に示す固定ゲイン式の同定アルゴリズムにより算出される。同式(54)のEt_sigは、推定誤差を表しており、式(55)のPtは、一定値の同定ゲインである。
さらに、式(55)のλtは忘却係数であり、その値は式(56),(57)に示すように、外乱推定値の前回値Uls_t(k−1)と所定の上下限値Uls_t_H,Uls_t_Lとの比較結果により、値1または所定値λtlmtに設定される。この上限値Uls_t_Hは正の所定値に設定され、下限値Uls_t_Lは負の所定値に設定されるとともに、所定値λtlmtは、0<λtlmt<1が成立するような値に設定される。
そして、トルクフィードバック値TRQFBは、最終的に、下式(58)に示すように、到達則入力Urch_t、非線形入力Unl_tおよび外乱推定値Uls_tの和として算出される。
以上のように、車輪速フィードバックコントローラ102では、トルクフィードバック値TRQFBが式(48)〜(58)に示す制御アルゴリズムにより算出されるので、このトルクフィードバック値TRQFBは、駆動輪速Ws_actを目標車輪速のフィルタ値Ws_cmd_fに収束させるための値、すなわち駆動輪速Ws_actを目標車輪速Ws_cmdに収束させるための値として算出される。この場合、目標車輪速Ws_cmdは、前述したように、非駆動輪速Ws_refにスリップオフセット値OptSlipを加算することにより算出されるので、Ws_act≒Ws_cmdとなった状態では、Ws_ref−Ws_act≒OptSlipが成立する状態となる。
また、忘却係数λtを用いながら、トルクフィードバック値TRQFBが算出されるので、外乱推定値の前回値Uls_t(k−1)の絶対値が大きい場合には、前述した忘却効果により、外乱推定値Uls_tすなわちトルクフィードバック値TRQFBが積分的に増大するのを回避できることで、制御系の過渡応答の安定性を確保することができる。また、外乱推定値の前回値Uls_t(k−1)の絶対値が小さい場合には、忘却係数λtが値1に設定されるので、追従誤差Etが値0に収束したときでも、トルクフィードバック値TRQFBを、追従誤差Etを迅速に補償可能な適切な値に保持することができ、それにより、追従誤差Etが増大し始めたときの応答性を向上させることができる。
次に、前述した変調器103について説明する。この変調器103では、トルクフィードバック値TRQFBを以下に述べる変調アルゴリズムで変調することによって、変調値TRQFB_DSMが算出される。まず、小振幅成分値TRQFB_Lが、下式(59)〜(61)によって算出される。
上式(59)〜(61)のTRQFB_L_LMTは、所定のしきい値であり、これらの式(59)〜(61)に示すように、小振幅成分値TRQFB_Lは、トルクフィードバック値TRQFBの振幅に、値TRQFB_L_LMTを上限とし、値−TRQFB_L_LMTを下限とするリミット処理を施すことにより算出される。すなわち、小振幅成分値TRQFB_Lは、トルクフィードバック値TRQFBの変動幅が小さく、その絶対値がしきい値TRQFB_L_LMTを超えない範囲にあるときのトルクフィードバック値TRQFBに相当する。
また、大振幅成分値TRQFB_Hが、下式(62)〜(64)によって算出される。
以上の式(62)〜(64)に示すように、大振幅成分値TRQFB_Hは、トルクフィードバック値TRQFBの絶対値がしきい値TRQFB_L_LMTを上回っていないときには、値0として算出され、上回ったときには、上回った分の値として算出される。すなわち、大振幅成分値TRQFB_Hは、トルクフィードバック値TRQFBの変動が大きいことで、制御の速応性が要求される場合には、そのようなトルクフィードバック値TRQFBをエンジントルクTRQENGに適切に反映させるための値として算出される。
さらに、小振幅成分値TRQFB_Lを、下式(65)〜(68)に示すΔΣ変調アルゴリズムを適用した変調アルゴリズムで変調することによって、変調成分値TRQFB_L_DSMが算出される。
上式(65)に示すように、偏差δdsm2は、小振幅成分値TRQFB_Lと変調成分値TRQFB_L_DSMの前回値との偏差として算出される。また、式(66)において、σdsm2は、偏差δdsm2の積分値を表している。また、式(68)のTRQFB_L_AMPは、所定の振幅値である。以上の式(65)〜(68)を参照すると明らかなように、変調成分値TRQFB_L_DSMは、値0を中心として、最小値−TRQFB_L_AMPと最大値TRQFB_L_AMPとの間で反転を繰り返す値として算出される。
そして、最終的に、下式(69)に示すように、変調成分値TRQFB_L_DSMに大振幅成分値TRQFB_Hを加算することによって、変調値TRQFB_DSMが算出される。
なお、本実施形態では、変調器103が変調入力値算出手段に相当し、変調値DKCMD_DSMが変調入力値に相当する。
次に、前述した要求トルク算出部104について説明する。この要求トルク算出部104は、以下に述べる手法によって、要求トルクTRQDRVを算出するものであり、この要求トルクTRQDRVは、運転者によってエンジン3に要求されているトルクに相当する。なお、本実施形態では、要求トルク算出部104が要求出力算出手段に相当し、要求トルクTRQDRVが要求出力に相当する。
まず、最大トルクTrq_maxおよび最小トルクTrq_minをそれぞれ、エンジン回転数NEに応じて、図17に示すマップを検索することによって算出する。同図のNEhighは、所定の最大許容回転数(例えば7000rpm)を表している。これらの値Trq_max,Trq_minは、そのエンジン回転数NEにおいて達成可能なエンジントルクの最大値および最小値に相当する。また、このマップでは、最小トルクTrq_minが負値に設定されている。これは、最小トルクTrq_minが、アクセルペダルが踏まれていない、減速フューエルカット運転中でのエンジンブレーキ状態におけるエンジントルクに相当するためである。
また、正規化要求駆動力Ktrq_apを、アクセル開度APに応じて、図18に示すマップを検索することによって算出する。同図のAPmaxは、アクセル開度の最大値(100%)を表している。また、正規化要求駆動力Ktrq_apは、アクセル開度APに基づいて決定される要求駆動力Trq_apを、AP=APmaxのときの要求駆動力Trq_apmaxを基準として正規化した値、すなわちKtrq_ap=Trq_ap÷Trq_apmaxが成立する値を表している。
そして、最終的に、下式(70)によって、要求トルクTRQDRVが算出される。
一方、前述した基準フィードフォワードトルク算出部105では、エンジン回転数NEおよび前進ギヤ段値NGEARに応じて、図19に示すマップを検索することにより、基準フィードフォワードトルクTRQFFMが算出される。この基準フィードフォワードトルクTRQFFMは、代表的な路面状況とタイヤ状況において、駆動輪が非駆動輪に対してスリップを生じることがなく、Ws_act≒Ws_cmdが成立するようなエンジン3のトルクの最大値に相当する。
また、前述した推定トルク算出部106では、推定トルクTRQINSTが、吸入空気量Gcyl、吸気圧PB、検出空燃比KACT、EGR率、燃料噴射量Toutおよび点火時期などを入力とし、推定トルクTRQINSTを出力とするニューラルネットワークモデル(図示せず)を用いて算出される。この推定トルクTRQINSTは、その時点で、Ws_act≒Ws_cmdが成立するようなエンジン3のトルクの上限値を推定したものである。
この場合、推定トルク算出部106における推定トルクTRQINSTの算出手法は、上記のものに限らず、ニューラルネットワークモデルに代えてマップ検索手法を用いてもよい。また、気筒内の圧力を検出する筒内圧センサを用い、その検出信号に基づいて図示平均有効圧力IMEPを算出するとともに、これと予め設定されたエンジン3のフリクションデータとに基づいて、推定トルクTRQINSTを推定してもよい。さらに、前述したトルクフィードバック値TRQFBを、推定トルクTRQINSTとして用いてもよい。
なお、本実施形態では、推定トルク算出部106が推定値算出手段に相当し、推定トルクTRQINSTが制御入力の推定値に相当する。
次に、図20を参照しながら、前述したモデル修正器120について説明する。このモデル修正器120は、以下に述べるように、モデル修正係数KTRQFFを算出するものであり、このモデル修正係数KTRQFFは、後述するように、基準フィードフォワードトルクTRQFFMの修正(補正)に用いられる。なお、本実施形態では、モデル修正器120が誤差パラメータ算出手段および修正値算出手段に相当する。
同図に示すように、モデル修正器120は、重み関数算出部121、トルク誤差算出部122、ギヤ段係数設定部123、修正トルク誤差算出部124、基準局所補正値算出部125および修正係数算出部126を備えている。
まず、重み関数算出部121では、以下に述べるように、エンジン回転数NEおよび前進ギヤ段値NGEARに応じて、重み関数WNEijが算出される。ここで、重み関数WNEijの添字i(i=1〜3)は、以下に述べるエンジン回転数NEの3つの領域を表しており、添字j(j=1〜4)は、前進ギヤ段値NGEARが取りうるすべての値1〜4を表している。すなわち、重み関数WNEijは、12個の値を要素とするベクトルとして算出され、これらの要素は、エンジン回転数NEおよび前進ギヤ段値NGEARの組み合わせによって決まる12個の領域にそれぞれ対応している。
この重み関数算出部121は、重み関数WNEijの算出に用いるマップとして、前進ギヤ段値NGEARに対応する4つのマップを有している。重み関数WNEijは、まず、前進ギヤ段値NGEARに対応するマップを4つの中から選択し、次いで、エンジン回転数NEに応じて、選択したマップを検索することによって算出される。
図21は、4つのマップのうちのNGEAR=j=3のときに用いられるもの、すなわち自動変速機が前進3速ギヤ段にあるときに選択されるマップの一例を示している。同図において、NEx1〜6は、エンジン回転数NEの所定値であり、NEx1<NEx2<NEx3<NEx4<NEx5<NEx6(=NEhigh)の関係が成立するように設定されている。
同図に示すように、3つの重み関数WNEijはそれぞれ、エンジン回転数NEが変化し得る領域を0≦NE<NEx3,NEx1<NE<NEx5,NEx3<NEの3つの領域に区分した場合において、これらの3つの領域に対応するように設定されているとともに、対応する領域では、値1以下の正の値に設定され、対応する領域以外では、値0に設定されている。
具体的には、重み関数WNE1jは、これが対応する領域(0≦NE<NEx3)では、NE≦NEx1のときの値1を最大値として、エンジン回転数NEが高いほど、より小さい正の値に設定されているとともに、それ以外の領域では、値0に設定されている。また、重み関数WNE2jは、これが対応する領域(NEx1<NE<NEx5)では、NE=NEx3のときの値1を最大値として、三角形の斜辺状に変化する値に設定されているとともに、それ以外の領域では、値0に設定されている。
さらに、重み関数WNE3jは、これが対応する領域(NEx3<NE)では、NEx5≦NEのときの値1を最大値として、エンジン回転数NEが高いほど、より大きい正の値に設定されているとともに、それ以外の領域では、値0に設定されている。
以上に加えて、3つの重み関数WNEijがそれぞれ対応する3つの領域は、上述したような、隣り合う領域が互いに重なり合うような領域に設定されており、これらの互いに重なり合う領域に対応する重み関数WNEijの値の和は、各重み関数WNEijにおける最大値1と等しくなるように設定されている。例えば、NE=NEx2の場合、この値NEx2に対応する2つの重み関数WNE1j,WNE2jの値はそれぞれ0.5に設定されており、これらの重み関数の和WNE1j+WNE2jは、重み関数WNEijの各々の最大値に等しい値1となる。さらに、NE=NEx4の場合にも、所定値NEx4に対応する2つの重み関数WNE2j,WNE3jの和WNE2j+WNE3jは、重み関数WNEijの各々の最大値に等しい値1となる。
この場合、重み関数WNEijとして、図21に示す1つのマップで3個の値を要素とするものに代えて、1つのマップで2個または4個以上の値を要素とする重み関数WNEijを用いてもよい。その場合には、エンジン回転数NEの領域を、要素の数に応じて、互いに重なり合うように設定すればよい。なお、本実施形態では、重み関数WNEijが複数の関数に相当する。
また、トルク誤差算出部122では、下式(71)〜(74)により、トルク誤差Etrqが算出される。
上式(71)のDTは偏差であり、同式(71)のTRQFF_LMTは、後述するように算出される適応制限トルクである。また、式(72)のETRQ_Lは、所定の下限値であり、式(73)のETRQ_Hは、所定の上限値である。以上のように、トルク誤差Etrqは、2つの値ETRQ_H,ETRQ_Lを上下限値とするリミット処理を偏差DTに施すことによって算出される。
なお、本実施形態では、トルク誤差算出部122が誤差パラメータ設定手段に相当し、トルク誤差Etrqが、誤差パラメータ、誤差パラメータと所定の目標値の一方と他方の偏差、および推定値と第2入力値との偏差に相当し、値0が所定の目標値に相当する。
また、ギヤ段係数設定部123では、下式(75),(76)により、4つのギヤ段係数δ
jがそれぞれ設定される。
上式(75),(76)を参照すると明らかなように、4つのギヤ段係数δjは、その添字jが前進ギヤ段値NGEARと等しいもののみが値1に設定され、それ以外は値0に設定される。例えば、NGEAR=1のときには、δ1=1、δ2〜δ4=0に設定され、NGEAR=3のときには、δ3=1、δ1=δ2=δ4=0に設定される。
次いで、修正トルク誤差算出部124では、下式(77)により、修正トルク誤差Wetrq
ijが算出される。
上式(77)を参照すると明らかなように、修正トルク誤差Wetrqijは、12個の値を要素とするベクトルとして算出されるとともに、これらの要素において、添字j≠NGEARとなるものはすべて値0となる。なお、本実施形態では、修正トルク誤差Wetrqijが複数の乗算値に相当する。
さらに、基準局所補正値算出部125では、下式(78)〜(84)に示す、忘却係数λvを用いたスライディングモード制御アルゴリズムにより、基準局所補正値DKTRQFF_BSijが算出される。すなわち、基準局所補正値DKTRQFF_BSijは、エンジン回転数NEおよび前進ギヤ段値NGEARの組み合わせによって決まる12個の領域に対応する12個の値を要素とするベクトルとして算出される。
上式(78)において、σvijは切換関数であり、Svは−1<Sv<0の関係が成立するように設定される切換関数設定パラメータである。この場合、切換関数設定パラメータSvの設定値により、修正トルク誤差Wetrqijの値0への収束速度が指定される。また、式(79)において、Urch_vijは到達則入力であり、Krch_vは所定の到達則ゲインを表している。さらに、式(80)において、Unl_vijは非線形入力であり、Knl_vは所定の非線形入力用ゲインを表している。また、式(80)におけるsgn(σvij(k))は符号関数であり、その値は、σvij(k)≧0のときにはsgn(σvij(k))=1となり、σvij(k)<0のときにはsgn(σvij(k))=−1となるように設定される(なお、σvij(k)=0のときに、sgn(σvij(k))=0となるように設定してもよい)。
さらに、式(81)において、Uadp_vijは適応則入力であり、Kadp_vは所定の適応則ゲインを表している。また、式(81)の忘却係数λvは、式(82),(83)に示すように、基準局所補正値の前回値DKTRQFF_BSij(k−1)と所定の上下限値DKTRQ_H,DKTRQ_Lとの比較結果により、値1または所定値λvlmtに設定される。この上限値DKTRQ_Hは正の所定値に設定され、下限値DKTRQ_Lは負の所定値に設定されるとともに、所定値λvlmtは、0<λvlmt<1が成立するような値に設定される。
このような忘却係数λvを用いたのは以下の理由による。すなわち、局所的な路面変化(例えば、路面の局所的な凍結や局所的な路面舗装状態の変化など)に起因して、路面のグリップ状態が一時的に急変した場合、トルク誤差Etrqの絶対値が急増し、それに伴って、適応則入力Uadp_vijの絶対値が急増し、後述する適応制限トルクTRQFF_LMTも急減または急増してしまう。この状態において局所的な路面変化が解消した際、忘却係数λvを用いていないと、適応則入力Uadp_vijが大きな値に維持されてしまうことで、適応制限トルクTRQFF_LMTが最適な所定範囲から大きく乖離してしまい、その結果、加速レスポンスの低下や瞬間的な車輪スリップを生じてしまう。したがって、本実施形態では、局所的な路面変化が解消したときに、適応制限トルクTRQFF_LMTを所定範囲内に迅速に復帰させるために、忘却係数λvが用いられる。
また、式(84)に示すように、基準局所補正値DKTRQFF_BSijは、到達則入力Urch_vij、非線形入力Unl_vijおよび適応則入力Uadp_vijの和として算出される。
以上のように、この基準局所補正値算出部125では、基準局所補正値DKTRQFF_BSijが式(78)〜(84)に示す制御アルゴリズムにより算出されるので、この基準局所補正値DKTRQFF_BSijはそれぞれ、修正トルク誤差Wetrqijを値0に収束させるための値、言い換えれば、適応制限トルクTRQFF_LMTを推定トルクTRQINSTに収束させる値として算出される。
この場合、基準局所補正値DKTRQFF_BSijの算出に用いる制御アルゴリズムは、前述した式(78)〜(84)に限らず、Wetrqijをそれぞれ値0に収束させることができるフィードバック制御アルゴリズムであればよい。例えば、PID制御アルゴリズムや、バックステッピング制御アルゴリズム、スライディングモード制御アルゴリズムにおける制御対象モデルを一次系のものに置き換えた応答指定型制御アルゴリズム、最適レギュレータなどを用いてもよい。なお、本実施形態では、基準局所補正値DKTRQFF_BSijが複数の修正値に相当する。
また、前述した修正係数算出部126では、下式(85)〜(87)により、モデル修正係数KTRQFFを算出する。
上式(85)のDktrqffijは乗算値を表しており、式(86)のDKTRQFFjは局所補正値を表している。この場合、乗算値Dktrqffijはギヤ段係数δjを乗算することによって算出されるので、4つの局所補正値DKTRQFFjにおいて、添字j≠NGEARが成立する3つの局所補正値DKTRQFFjはいずれも値0として算出される。
以上のように、このモデル修正器120では、モデル修正係数KTRQFFは、値1に4つの局所補正値DKTRQFFjの総和を加算することによって算出される。これは、以下に述べるように、モデル修正係数KTRQFFが基準フィードフォワードトルクTRQFFMへの乗算値として用いられるので、基準フィードフォワードトルクTRQFFMを補正する必要がない場合、KTRQFF=1となるようにするためである。
すなわち、前述した乗算器107では、下式(88)により、適応制限トルクTRQFF_LMTが算出される。なお、本実施形態では、適応制限トルクTRQFF_LMTが第2入力値に相当する。
図22は、以上のようなモデル修正器120および乗算器107における各種の値の算出結果例、特に前進ギヤ段値NGEAR=j=3のときすなわち自動変速機が前進3速ギヤ段にあるときの算出結果例を示している。同図に示すように、3つの乗算値Dktrqffijは互いに異なる変化を示す値として算出されるとともに、モデル修正係数KTRQFFは、エンジン回転数NEに対して非線形な変化を示す値として算出される。それにより、基準フィードフォワードトルクTRQFFMをモデル修正係数KTRQFFによって非線形に修正された結果として、適応制限トルクTRQFF_LMTを算出できることが判る。
以上のように、モデル修正器120および乗算器107では、トルク誤差Etrqが値0になるように(すなわち、駆動輪速Ws_actが目標車輪速Ws_cmdになるように)、基準局所補正値DKTRQFF_BSijが算出されるとともに、そのような基準局所補正値DKTRQFF_BSijで重み関数WNEijを修正しながら、モデル修正係数KTRQFFが算出され、さらに、このモデル修正係数KTRQFFを用いて基準フィードフォワードトルクTRQFFMを修正することにより、適応制限トルクTRQFF_LMTが算出される。それにより、駆動輪のスリップが生じないような最適なトルク(以下「最適トルク」という)が、前述した様々な要因によって非線形に変化したときでも、そのような非線形な変化に適合させながら、適応制限トルクTRQFF_LMTを算出することができる。
また、前述したフィードフォワードトルク算出部108では、下式(89),(90)により、フィードフォワードトルクTRQFFが算出される。
上式(89),(90)に示すように、フィードフォワードトルクTRQFFは、適応制限トルクTRQFF_LMTおよび要求トルクTRQDRVのうちの小さい方に設定される。その理由については後述する。
さらに、前述した加算器109で、下式(91)に示すように、変調値DKCMD_DSMにフィードフォワードトルクTRQFFを加算することにより、制限トルクTRQTCが算出される。
そして、前述したエンジントルク算出部110で、下式(92),(93)により、エンジントルクTRQENGが最終的に算出される。
上式(92),(93)に示すように、エンジントルクTRQENGは、制限トルクTRQTCおよび要求トルクTRQDRVのうちの小さい方に設定される。なお、本実施形態では、エンジントルク算出部110が選択手段に相当し、制限トルクTRQTCが目標出力に相当する。
以上のように、このトラクションコントローラ100では、エンジントルク算出部110において、2つのトルクTRQTC,TRQDRVの小さい方が、エンジントルクTRQENGとして選択されるとともに、フィードフォワードトルク算出部108において、2つのトルクTRQFF_LMT,TRQDRVの小さい方が、フィードフォワードトルクTRQFFとして選択される。これは以下の理由による。
すなわち、運転者による要求トルクTRQDRVが過大で、駆動輪がスリップするおそれがある場合、エンジントルク算出部110において、制限トルクTRQTCを上限とするリミット処理を要求トルクTRQDRVに施すことにより、エンジントルクTRQENGが算出されるので、エンジン3が発生するトルクを、駆動輪のスリップを回避可能な制限トルクTRQTCに適切に制御でき、それにより、走行安定性を確保できる。
一方、運転者による要求トルクTRQDRVが制限トルクTRQTCよりも小さい場合、エンジントルク算出部110において、エンジントルクTRQENGが要求トルクTRQDRVに設定されることで、駆動輪のスリップが回避される。その場合、車輪速フィードバック制御コントローラ102において、トルクフィードバック値TRQFBが負値になっているときがある。その状態から、運転者の急激なアクセルペダル操作に起因して、要求トルクTRQDRVが急増し、制限トルクTRQTCを大幅に上回った場合、エンジントルク算出部110において、エンジントルクTRQENGが制限トルクTRQTCに設定されるものの、トルクフィードバック値TRQFBは、フィードバック制御アルゴリズムにより算出されるので、その応答性が低いという特性を有している。そのため、トルクフィードバック値TRQFBが負値のときには、制限トルクTRQTCが必要以上に小さい値に抑制され、エンジン3が発生するトルクが必要以上に抑制されることで、車両の加速レスポンスが低下し、運転性が低下してしまう可能性がある。
これに対して、フィードフォワードトルク算出部108では、要求トルクTRQDRVが急増し、適応制限トルクTRQFF_LMTを大幅に上回った場合、フィードフォワードトルクTRQFFが適応制限トルクTRQFF_LMTに設定される。この適応制限トルクTRQFF_LMTは、駆動輪のスリップを回避可能なトルクの上限値として算出されるとともに、これにトルクフィードバック値TRQFBを変調した変調値TRQFB_DSMを加算することによって、制限トルクTRQTCが算出されるので、エンジントルクTRQENGを、適応制限トルクTRQFF_LMTを中心として反転を繰り返す値として算出できる。それにより、制限トルクTRQTCが必要以上に小さい値に抑制されるのを回避でき、エンジン3が発生するトルクを、駆動輪のスリップを回避可能なトルクの上限値付近に保持できることで、良好な加速レスポンスを得ることができる。したがって、以上のような効果を得るために、2つの算出部108,110において、エンジントルクTRQENGおよびフィードフォワードトルクTRQFFが前述した手法によって算出される。
本実施形態の制御装置1Aでは、以上のように、トラクションコントローラ100によってエンジントルクTRQENGが算出されるとともに、図示しないが、このエンジントルクTRQENGを目標として、エンジン3の実際のトルクがこのエンジントルクTRQENGになるように、吸入空気量制御処理、空燃比制御処理および点火時期制御処理が実行される。
次に、図23,24を参照しながら、第2実施形態の制御装置1Aによるトラクションコントロールのシミュレーション結果(以下「制御結果」という)について説明する。図23は、摩擦抵抗の小さい路面上において車両の加速/減速を繰り返した際の、本実施形態の制御装置1Aによる制御結果例、特にj=3で自動変速機が前進3速ギヤ段にあるときの制御結果例を示している。また、図24は、比較のために、モデル修正係数KTRQFFを値1に保持した場合、すなわち適応制限トルクTRQFF_LMTとして、基準フィードフォワードトルクTRQFFMをそのまま用いた場合の制御結果例(以下「比較例」という)を示している。
まず、図24を参照すると、この比較例では、基準フィードフォワードトルクTRQFFMが適応制限トルクTRQFF_LMTとして用いられているので、トルクフィードバック値TRQFBのみによって、制限トルクTRQTCを補正することになり、その結果、駆動輪速Ws_actが目標車輪速Ws_cmdに達した時点(時刻t31,t33,t35,t37)以降、駆動輪速Ws_actが目標車輪速Ws_cmdに対してオーバーシュートを生じていることが判る。また、トルクフィードバック値TRQFBが値0に収束しないことで、変調値TRQFB_DSMの変動周波数が低下しやすくなり、スリップ状態の駆動輪に対して微小振動を付与できないことで、前述したグリップ挙動の非線形特性を補償できず、結果的に、駆動輪のスリップ量の定常偏差(目標車輪速Ws_cmdに対する駆動輪速Ws_actの定常偏差)が値0に収束するのに時間を要していることが判る。
これに対して、図23に示すように、本実施形態の制御装置1Aによれば、要求トルクTRQDRVがスリップが生じるような過大な値に変化した際、1回目のトラクションコントロールの実行期間(時刻t21〜t22)では、若干のオーバーシュートを生じているものの、その度合は比較例よりも抑制されており、さらに、2回目以降のトラクションコントロールの実行期間(時刻t23〜t24,t25〜t26,t27〜t28)では、駆動輪速Ws_actが、オーバーシュートを生じることなく、目標車輪速Ws_cmdに収束していることが判る。これは、トラクションコントロールを複数回実行することで、モデル修正係数KTRQFFの学習が進み、適応制限トルクTRQFF_LMTが、駆動輪のスリップが生じないような最適トルクに適応することになり、それを用いて算出した制限トルクTRQTCによって、エンジントルクTRQENGを適切に制限できることによる。
また、トルクフィードバック値TRQFBを値0付近に保持できることで、変調値TRQFB_DSMの変動周波数を高周波域に保持できる。それにより、スリップ状態の駆動輪に対して微小振動を付与でき、前述したグリップ挙動の非線形特性を補償することができることで、駆動輪のスリップ量の定常偏差を抑制できていることが判る。以上のように、本実施形態の制御結果例の方が、比較例と比べて制御精度が向上していることが判る。
以上のように、第2実施形態の制御装置1Aによれば、駆動輪速Ws_actが目標車輪速Ws_cmdに収束するように、トルクフィードバック値TRQFBが算出され、このトルクフィードバック値TRQFBをΔΣ変調アルゴリズムを適用したアルゴリズムで変調することによって、変調値TRQFB_DSMが算出される。それにより、変調値TRQFB_DSMは、Ws_act≒Ws_cmdが成立しているときには、TRQFB≒0が成立することで、高周波数(例えば5Hz以上の周波数)での反転挙動を示す値として算出される。
また、エンジン回転数NEおよびアクセル開度APに応じて、要求トルクTRQDRVが算出され、適応制限トルクTRQFF_LMTおよび要求トルクTRQDRVの小さい方が、フィードフォワードトルクTRQFFとして選択され、このフィードフォワードトルクTRQFFに変調値TRQFB_DSMを加算することによって、制限トルクTRQTCが算出されるとともに、制限トルクTRQTCおよび要求トルクTRQDRVの小さい方がエンジントルクTRQENGとして選択される。
この場合、適応制限トルクTRQFF_LMTは、モデル修正器120で、モデル修正係数KTRQFFで基準フィードフォワードトルクTRQFFMを修正(補正)することにより算出され、このモデル修正係数KTRQFFは、修正トルク誤差Wetrqijを値0に収束させるように算出される。すなわち、モデル修正係数KTRQFFは、適応制限トルクTRQFF_LMTを推定トルクTRQINSTに迅速に収束させるように算出されるので、そのようなモデル修正係数KTRQFFを用いて算出された適応制限トルクTRQFF_LMTは、駆動輪速Ws_actを目標車輪速Ws_cmdに収束させることができる最適トルクとして算出される。
以上の構成により、運転者による要求トルクTRQDRVが過大で、駆動輪がスリップするおそれがある場合、エンジントルクTRQENGとして、制限トルクTRQTCが選択されるので、エンジン3が発生するトルクを、駆動輪のスリップを回避可能な最適トルクを中心として、周期的な変動挙動を示すように制御することができる。それにより、Ws_act≒Ws_cmdが成立する状態に保持されることで、変調値TRQFB_DSMすなわち制限トルクTRQTCの変動周波数を高周波数域に保持することができる。その結果、前述したグリップ挙動の非線形を補償することができ、高レベルのトラクションコントロールを実現することができる。これに加えて、前述したように、制限トルクTRQTCが必要以上に小さい値に抑制されるのを回避でき、エンジン3が発生するトルクを、駆動輪のスリップを回避可能なトルクの上限値付近に保持できることで、高レベルのトラクションコントロールを実現しながら、良好な加速レスポンスを得ることができる。
また、モデル修正器120では、偏差DT(=TRQFF_LMT−TRQINST)にリミット処理を施すことによって、トルク誤差Etrqが算出され、修正トルク誤差Wetrqijが、トルク誤差Etf、ギヤ段係数δjおよび重み関数WNEijを互いに乗算することにより算出される。さらに、そのような修正トルク誤差Wetrqijを値0に収束させるように、基準局所補正値DKTRQFF_BSijが算出され、ギヤ段係数δj、重み関数WNEijおよび基準局所補正値DKTRQFF_BSijを互いに乗算することにより、乗算値Dktrqffijが算出されるとともに、前進ギヤ段値NGEARが取りうる4つの値1〜4にそれぞれ対応する乗算値Dktrqffijの和として、4つの局所補正値DKTRQFFjが算出される。そして、これらの局所補正値DKTRQFFjの総和を値1に加算することにより、モデル修正係数KTRQFFが算出されるとともに、このモデル修正係数KTRQFFで基準フィードフォワードトルクTRQFFMを修正(補正)することにより、適応制限トルクTRQFF_LMTが算出される。
以上により、図19における基準フィードフォワードトルクTRQFFMとエンジン回転数NEとの関係が、実際の最適トルクとエンジン回転数NEとの関係に対して、前述した3つの領域のうちのある領域において局所的な誤差を生じている場合や、両者の実際の関係が3つの領域間においてばらついている場合でも、基準フィードフォワードトルクTRQFFMとエンジン回転数NEとの関係を、実際の最適トルクとエンジン回転数NEとの関係に適切かつ迅速に一致させることができる。その結果、上述した作用効果を確実に得ることができる。
また、前進ギヤ段値NGEARのいずれかの値に対応する3つの重み関数WNEijの各々は、前述した対応する領域では値1以下の正値にかつそれ以外の領域では値0に設定されており、さらに、隣り合う各2つの重み関数WNEmj,WNEm+1j(m=1または2)は、互いに交差しているとともに、交差している部分の両者の和が、重み関数WNEijの最大値1になるように設定されているので、基準フィードフォワードトルクTRQFFMを修正する際、3つの領域に対して連続的に修正できることで、修正結果である適応制限トルクTRQFF_LMTが不連続点を有することがなくなる。それにより、適応制限トルクTRQFF_LMTが、基準フィードフォワードトルクTRQFFMの不連続点に起因して一時的に不適切な状態になるのを回避できる。
なお、第2実施形態は、本発明の制御装置を、駆動輪速Ws_actを制御量とし、エンジントルクTRQENGを制御入力とする制御対象に適用した例であるが、本発明の制御装置はこれに限らず、制御対象として、様々な産業機器における入出力をそれぞれ制御入力および制御量とする系に適用可能である。
また、第2実施形態は、内燃機関の運転状態を表す運転状態パラメータとして、エンジン回転数NEを用いた例であるが、本発明の運転状態パラメータはこれに限らず、内燃機関の運転状態を表すものであればよい。例えば、運転状態パラメータとして、気筒内の圧力を用いてもよい。