以下、本発明の実施の形態について図面を参照して説明する。本実施形態では一例として車両に搭載されたガソリンエンジンの制御装置として本発明を適用する場合について説明するが、これに限らず、ディーゼルエンジンやガスエンジン、或いはアルコール燃料を用いるエンジンの制御装置に本発明を適用してもよい。
−エンジンの概略構成−
図1は、本実施形態に係るエンジン1の概略構成を示す。この例のエンジン1は多気筒ガソリンエンジンであって、各気筒2には燃焼室11を区画するようにピストン12が収容されている。ピストン12とクランクシャフト13はコンロッド14によって連結され、シリンダブロック17の下部には、クランクシャフト13の回転角(クランク角)を検出するクランク角センサ51が配設されている。
一方、シリンダブロック17の上端にはシリンダヘッド18が締結されて、各気筒2の上端を閉ざしている。このシリンダヘッド18には、気筒2内に臨むように点火プラグ20が配設され、後述のECU6によって制御されるイグナイタ21から電力の供給を受けて火花放電するようになっている。なお、シリンダブロック17の側壁の上部には、エンジン1の冷却水温を検出する水温センサ52が配設されている。
また、シリンダヘッド18には、各気筒2内の燃焼室11に連通するように吸気通路3および排気通路4が形成されている。燃焼室11に臨む吸気通路3の下流端(吸気流れの下流端)には吸気バルブ31が配設され、同様に排気通路4の上流端(排気流れの上流端)には排気バルブ41が配設されている。これら吸気バルブ31および排気バルブ41を動作させるための動弁系はシリンダヘッド18に設けられている。
一例として本実施形態の動弁系は、吸気バルブ31および排気バルブ41をそれぞれ駆動する吸気カムシャフト31aおよび排気カムシャフト41aを備えている。これらのカムシャフト31a,41aが、図示しないタイミングチェーンなどを介してクランクシャフト13により駆動されることで、吸気バルブ31および排気バルブ41が所定のタイミングで開閉される。
そして、前記吸気通路3には、エアクリーナ32、エアフローメータ53、吸気温センサ54(エアフローメータ53に内蔵)、および、電子制御式のスロットルバルブ33が配設されている。このスロットルバルブ33はスロットルモータ34によって駆動され、吸気の流れを絞ってエンジン1の吸気量を調整するものであり、その開度(スロットル開度)は、後述のECU6によって制御される。
また、吸気通路3には各気筒2毎に燃料噴射用のインジェクタ35も配設されており、このインジェクタ35が後述のECU6によって制御され、吸気通路3内に燃料を噴射する。こうして噴射された燃料が吸気と混合されて気筒2内に吸入され、点火プラグ20により点火されて燃焼する。これにより発生した既燃ガスは排気通路4へ流出し、触媒42によって浄化される。なお、触媒42の上流側には空燃比センサ55が配設されている。
さらに、車室内にはドライバが踏み操作するアクセルペダル7が設けられていて、その操作量(アクセル開度)を検出するアクセル開度センサ56が配設されている。詳細は図示しないがアクセル開度センサ56は、2つの角度センサがそれぞれアクセル開度に対応する信号を出力するものであり、仮に一方の角度センサが故障したとしても、他方の角度センサからの信号によって、アクセル開度を検出することができる。
−ECU−
ECU6は公知の電子制御ユニット(Electronic Control Unit)からなり、図示は省略するが、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)およびバックアップRAMなどを備えている。CPUは、ROMに記憶された制御プログラムやマップに基づいて各種の演算処理を実行する。また、RAMは、CPUでの演算結果や各センサから入力されたデータ等を一時的に記憶し、バックアップRAMは例えばエンジン1の停止時に保存すべきデータ等を記憶する。
図2にも示すようにECU6には、前記したクランク角センサ51、水温センサ52、エアフローメータ53、吸気温センサ54、空燃比センサ55、アクセル開度センサ56などが接続されている。これらの各種センサなどから入力する信号に基づいてECU6は、種々の制御プログラムを実行することにより、イグナイタ21による点火時期の制御、スロットルモータ34によるスロットル開度の制御(即ち、吸気量の制御)、およびインジェクタ35による燃料噴射制御を実行する。
なお、本実施形態では、前記の点火時期、吸気量および燃料噴射の制御を、エンジン1への要求トルクを実現するように行う。要求トルクは、エンジン1とトランスミッションとの協調制御によって、ドライバが車両に対し要求する挙動を実現することができるようなトルクであり、このようにドライバの操縦感覚と密接な関係がある「トルク」を基準とする制御とすることで、ドライバビリティの向上が図られる。
詳しくは図2の上段に模式的に示すようにECU6は、動力伝達系における減速比やエンジン1および動力伝達系での損失分を考慮して、エンジン1への要求トルクを算出する要求トルク演算部61と、この要求トルクを実現するための点火時期や吸気量、燃料噴射量等の制御量を算出する制御量演算部62と、を備えている。そして、これら各制御量に対応する駆動信号がそれぞれアクチュエータ駆動部63から出力されて、イグナイタ21、スロットルモータ34およびインジェクタ35へ送信される。
一例として前記要求トルク演算部61は、パワートレーンドライバモデル(ドライバの操作に基づいて、車両の目標駆動力を設定するために用いられるモデル式)を備えており、実験およびシミュレーションによって予め定められたマップに従って、アクセル開度および車速から車両の目標駆動力を算出する。そして、トランスミッションを含む動力伝達系の減速比などに基づいて、目標駆動力を要求トルクに変換する。なお、具体的な要求トルクへの変換方法については周知なので、ここでは説明を省略する。
前記制御量演算部62では、まず、要求トルクにリザーブトルクを加えて目標トルクを算出し、これを実現するための負荷率(気筒2の吸気充填効率)を算出する。例えば、理論空燃比であってかつ点火時期がMBTである場合について、目標トルクに対応する負荷率が予め実験などによって設定され、マップとしてECU6のROMに記憶されている。このマップを参照して制御量演算部62では目標とする負荷率を算出し、この負荷率に基づき逆エアモデルを用いて、スロットル開度の制御目標値を算出する。
また、前記制御量演算部62では、前記のリザーブトルクの分、エンジントルクが低下するようにMBTから遅角させた点火時期も算出する。すなわち、ECU6のROMにはエンジントルクと点火時期との関係を予め実験などによって設定したマップも記憶されており、このマップを参照して制御量演算部62において目標とする点火時期が算出される。さらに、前記制御量演算部62では、エアフローメータ53によって計測される吸気量およびエンジン回転数から実際の負荷率が算出され、これに応じて理論空燃比となるように燃料噴射量が算出される。なお、エンジン回転数は、クランク角センサ51からの信号に基づいて算出される。
そして、アクチュエータ駆動部63では、前記の点火時期を実現するようなイグナイタ21への駆動信号、前記のスロットル開度を実現するようなスロットルモータ34への駆動信号、および前記の燃料噴射量を実現するようなインジェクタ35への駆動信号がそれぞれ生成されて、イグナイタ21、スロットルモータ34およびインジェクタ35へ送信される。これにより好適な点火時期、吸気量および燃料噴射の制御が行われ、望ましい空燃比を維持しつつ、ドライバの要求する車両の挙動を実現できるようなエンジントルクが出力される。
−トルクモニタ−
一方、図2の下段に示すようにECU6は、前記の点火時期、吸気量および燃料噴射量などの制御と並行して、その制御が正常に行われ、目標とするエンジントルクが出力されているか否か監視(トルクモニタ)している。すなわち、ECU6は、エンジン1の出力するトルク(エンジントルク)を推定する推定トルク演算部64と、このエンジントルクの要求トルクに対する過剰分(過剰トルクQ)を算出する過剰トルク演算部65と、エンジントルクが要求トルクよりも所定以上に過剰な異常な状態(過剰トルク状態)であることを判定する異常判定部66と、その過剰トルク状態においてフェールセーフ処理を行うフェールセーフ部67と、を備えている。
前記推定トルク演算部64では主として、前記のようにエンジン制御のために算出された実際の負荷率、空燃比センサ55からの信号に基づいて算出される実際の空燃比、および点火時期(制御目標値)などに基づいて、実際のエンジントルクを推定する。そして、前記過剰トルク演算部65では推定したエンジントルクから要求トルクを減算して、過剰トルクQを算出する。また、前記異常判定部66では、以下に説明するように過剰トルクがトルク閾値(Qth)以上の状態が時間閾値(Tth)以上、継続したときに、過剰トルク状態であると判定する。
こうして過剰トルクQの大きさだけでなく、トルクが過剰な状態の継続時間も基準とすることで、フェールセーフ処理が必要な過剰トルク状態を適切に判定することができる。すなわち、エンジントルクが要求トルクよりも少しだけ過剰になったとしても、すぐにフェールセーフ処理が必要になるわけではなく、過剰トルクQが或る程度、大きな状態が所定時間、継続したときにはじめて、フェールセーフ処理が必要になるからである。
(過剰トルク状態の判定)
以下に図3〜6を参照して、前記異常判定部66における判定の詳細について説明する。これら各図に示すのは、エンジントルクの過剰分である過剰トルクQと、エンジントルクの過剰な状態の継続時間Tとをパラメータとして、判定の基準であるトルク閾値(Qth)および時間閾値(Tth)を規定したマップ(閾値マップ)のイメージ図である。このような閾値マップはECU6のROMに記憶されている。
図3に示すように本実施形態では、基本的に車速に応じて判定基準の異なる3つの判定モードを設定している。すなわち、判定モード0(車速<10km/h)、判定モード1(10km/h≦車速<30km/h)、および判定モード2(車速≦30km/h)の3つの判定モードが設定されていて、これら3つの判定モードのうちのいずれかが、後述するようにアクセル開度(車速に関連するパラメータ)に基づいて選択される。
詳しくは、図3〜図6に示す閾値マップにおいて各判定モードごとの閾値は、車速に対応して想定される前走車との車間距離を考慮して、設定されている。すなわち、一般的に車速が高いときほど車間距離は広くなっていると考えられ、このときにはエンジントルクが過剰になっても安全性が損なわれ難く、また、ドライバが過剰な加速を感じ難いと考えられる。そこで、判定モードが高速側になるほど、トルク閾値(Qth)および時間閾値(Tth)を大きな値に設定している。
具体的には例えば、判定モード0のトルク閾値Qth01よりも判定モード1のトルク閾値Qth11が大きく、さらに判定モード2のトルク閾値Qth21が大きくなっている。また、時間閾値Thについても同様に、判定モードが高速側([判定モード0]→[判定モード1]→[判定モード2])になるほど、大きな値に(時間が長くなるように)設定されている。
このようにトルク閾値(Qth)および時間閾値(Tth)を設定することで、車速が相対的に高く、前走車との車間距離が広くなっていると考えられる状況では、過剰トルク状態と判定され難くなり、フェールセーフ処理の開始が抑制される。一方、車速が相対的に低く、前走車との車間距離が広くないと考えられる状況では、過剰トルク状態と判定されやすくなり、速やかにフェールセーフ処理が開始されるようになる。
また、図3〜図6の閾値マップにおいてはそれぞれ、1つの判定モードについてトルク閾値(Qth)および時間閾値(Tth)を3つずつ設定している。これらの各閾値マップのトルク閾値(Qth)および時間閾値(Tth)の各値は、車速にて想定される車間距離(許容される車両加速度に対応する車間距離)を考慮して実験・シミュレーション等によって適合した値である。
より具体的に、図4に示す判定モード0では、互いに大きさの異なる第1、第2および第3の3つのトルク閾値Qth01、Qth02、Qth03を設定しており、そのうち最も小さな第1のトルク閾値Qth01(小トルク閾値)は、エンジントルクが過剰であることを判定するための閾値である。また、それよりも大きな第2、第3のトルク閾値Qth02,Qth03(中トルク閾値、大トルク閾値)はそれぞれ、エンジントルクの過剰の度合い(過剰トルクQの大きさ)について判定するための閾値である。
一方、時間閾値(Tth)については、前記の過剰トルクQが大きいほど、ドライバが過剰な加速を感じやすくなるとともに、短時間で車間距離が狭くなり、安全性が低下するおそれがあることを考慮して、トルク閾値(Qth)が大きいほど時間閾値(Tth)は小さな値に設定している。つまり、前記第1、第2および第3の3つのトルク閾値Qth01、Qth02、Qth03(Qth01<Qth02<Qth03)にそれぞれ対応して、第1、第2および第3の3つの時間閾値(長時間閾値Tth01>中時間閾値Tth02>短時間閾値Tth03)が設定されている。
この図4の閾値マップにおいて、例えば過剰トルクQが第1トルク閾値Qth01以上で、かつ第2トルク閾値Qth02未満の状態が第1時間閾値Tth01以上、継続すれば、過剰トルク状態であると判定することができる。また、過剰トルクQが第2トルク閾値Qth02以上で、かつ第3トルク閾値Qth03未満の状態が第2時間閾値Tth02以上、継続するか、若しくは、過剰トルクQが第3トルク閾値Qth03以上の状態が第3時間閾値Tth03以上、継続すれば、過剰トルク状態であると判定することができる。
つまり、本実施形態では、過剰トルク状態の判定基準としてエンジントルクの過剰分の閾値(トルク閾値)と、エンジントルクの過剰な状態の継続時間の閾値(時間閾値)とを用いるとともに、その時間閾値(Tth)がトルク閾値(Qth)、即ちエンジントルクの過剰な度合いに応じて適宜、変更されるようになっている。
詳しい説明は省略するが、図5に示す判定モード1の閾値マップにおいても、同様に、第1トルク閾値Qth11、第2トルク閾値Qth12、第3トルク閾値Qth13の3つのトルク閾値(Qth11<Qth12<Qth13)と、第1時間閾値Tth11、第2時間閾値Tth12、第3時間閾値Tth13の3つの時間閾値(Tth11>Tth12>Tth13)とが設定されている。
また、図6に示す判定モード2の閾値マップにおいても、同様に、第1トルク閾値(Qth21、第2トルク閾値Qth22、第3トルク閾値Qth23の3つのトルク閾値(Qth21<Qth22<Qth23)と、第1時間閾値Tth21、第2時間閾値Tth22、第3時間閾値Tth23の3つの時間閾値(Tth21>Tth22>Tth23)とが設定されている。
なお、前記3つの判定モード間において、トルク閾値(Qth)については、[Qth01<Qth11<Qth21]、[Qth02<Qth12<Qth22]、[Qth03<Qth13<Qth23]の関係があり、時間閾値(Tth)については、[Tth01<Tth11<Tth21]、[Tth02<Tth12<Tth22]、[Tth03<Tth13<Tth23]の関係がある。
(判定処理ルーチン)
次に、図7および図8のフローチャートを参照して前記過剰トルク状態の判定処理の具体的な手順を説明する。図7は判定処理の基本的な手順を示し、この判定処理のメインルーチンは、ECU6により所定の時間間隔(例えば16ms)で繰り返し実行される。
図7に示すメインルーチンにおいて、スタート後のステップST101では、エンジン1への要求トルクを取得し、続いてステップST102ではエンジントルクを取得する。図2を参照して上述したように要求トルクは、ECU6の要求トルク演算部61において算出され、エンジントルクは推定トルク演算部64において算出される。また、ステップST103では、アクセル開度センサ56からの信号に基づいて、アクセル開度を取得する。
続いてステップST104において、前記のエンジントルクから要求トルクを減算して過剰トルクQを算出する。この処理はECU6の過剰トルク演算部65(図2を参照)において行われる。なお、エンジントルクが要求トルクよりも小さい場合、過剰トルクQの値は零とする(Q=0)。そして、ステップST105ではアクセル開度に基づき、前記図3〜6の閾値マップを参照してトルク閾値(Qth)を設定する。
すなわち、まず、アクセル開度に基づいて3つの判定モード0〜2のうちのいずれかが選択される。例えば、アクセル開度が第1の判定値α未満であれば判定モード0が選択され、第1の判定値α以上であって、かつ第2の判定値β(β>α)未満であれば、判定モード1が選択される。そして、アクセル開度が第2の判定値β以上であれば、判定モード2が選択される。
このようにアクセル開度に基づいて判定モードを選択するのは、アクセル開度と車速との間に十分な相関があるからである。アクセル開度が大きい場合は、車速が相対的に高くなっていて、前走車との車間距離は広くなっていると考えられる。また、アクセル開度が大きいときには、ドライバが加速しようとしているとも考えられ、この場合もやはり車間距離は広くなっていると考えられる。
詳しくは、前記第1および第2の判定値α、βは、平坦路を一定車速で走行するために必要な最低限のアクセル開度であり、それぞれ、変速ギヤ段が1速のときに平坦路を所定車速(例えば10km/h、30km/h)で定常走行可能なアクセル開度である。すなわち、「アクセル開度≧α」のときには、車速が10km/h以上であり、「アクセル開度≧β」のときには車速が30km/h以上であり、「アクセル開度<α」のときには車速が10km/h未満である、と推定できる。
なお、こうして所定車速で定常走行するために必要な最低限のアクセル開度を第1および第2の判定値α、βとしているのは、アクセル開度による車速の判定を厳しく行うためである。すなわち、仮にドライバが加速のためにアクセルペダル7を踏み込んでいるとすれば、自ずと定常走行時に比べてアクセル開度が大くなるので、定常走行を想定してアクセル開度の判定値α、βを設定しておけば、誤って判定する心配はない。
そうしてアクセル開度に応じて選択された判定モード(以下、一例として判定モード1の場合について説明する)における第1のトルク閾値Qth11が、ステップST105において、過剰トルク状態か否かを判定するトルク閾値(Qth)に設定される。そして、ステップST106では、その第1のトルク閾値Qth11と前記ステップST104で算出した過剰トルクQとを比較して、過剰トルクQが第1のトルク閾値Qth11未満であれば(Q<Qth11)、否定判定(NO)して後述のステップST111に進む。
一方、過剰トルクQが第1のトルク閾値Qth11以上であれば(Q≧Qth11)、過剰トルク状態になっていると肯定判定(YES)してステップST107に進み、ECU6に内蔵されている過剰トルクカウンタをインクリメント(+16)する。続いてステップST108では、前記の閾値マップを参照して時間閾値(Tth)を設定する。この時間閾値(Tth)の設定について以下、図8を参照して説明する。
図8に示すサブルーチンがスタートすると、まず、ステップST201においてアクセル開度を固定する。すなわち、以下に説明する時間閾値(Tth)の設定において選択する判定モードを、前記ステップST105においてアクセル開度に基づいて選択したものと同じにする。ここでは前記と同じく判定モード1の場合について説明すると、まず、ステップST202において、図5の閾値マップを参照して過剰トルクQに対応する時間閾値(Tth)を算出する。
すなわち、ステップST202では、前記のステップST104で算出された過剰トルクQが第1トルク閾値Qth11以上で、かつ第2トルク閾値Qth12未満であれば、第1時間閾値Tth11が算出される。また、過剰トルクQが第2トルク閾値Qth12以上で、かつ第3トルク閾値Qth13未満であれば、第2時間閾値Tth12が算出され、過剰トルクQが第3トルク閾値Qth13以上であれば、第3時間閾値Tth13が算出される。
続いてステップST203では、前記のように算出した時間閾値(Tth)を、前回の制御サイクルで設定された時間閾値(Tth_old)と比較し、今回、算出した時間閾値(Tth)が前回の時間閾値(Tth_old)よりも小さいか否か判定する(Tth<Tth_old)。なお、前回の時間閾値(Tth_old)は、ECU6のRAMに記憶されている。
その判定が肯定判定(YES)であればステップST204に進んで、今回、算出した時間閾値(Tth)を今回の制御サイクルの時間閾値(Tth)に設定する一方、否定判定(NO)すればステップST205に進んで、前回の時間閾値(Tth_old)を時間閾値(Tth)に設定する。そして、ステップST206において、ECU6のRAMに記憶されている時間閾値(Tth_old)を今回、設定した時間閾値(Tth)によって更新し、サブルーチンを終了する。
こうして、図8のサブルーチンを終了すれば図7のメインルーチンに戻って、ステップST109において過剰トルクカウンタのカウント値、即ち、エンジントルクの過剰な状態(Q≧Qth11の状態)の継続時間Tが、前記ステップST108で設定された時間閾値(Tth11、Tth12、Tth13)以上になったか否か判定する。この判定結果が否定判定(NO)であればステップST101に戻って、前述した手順を繰り返すことにより、メインルーチンが16ms周期で実行される毎に、過剰トルクカウンタのカウンタ値が16ずつ増加していく。
そうして増加したカウンタ値(継続時間T)が時間閾値(Tth11、Tth12、Tth13)以上になると、前記ステップST109で肯定判定(YES)されてステップST110に進む。この場合は過剰トルク状態になっており、エンジン1のトルク制御に異常(点火時期、吸気量、燃料噴射量などの制御に異常)があると判定して(異常判定)、処理を終了する(エンド)。この異常判定に応じてECU6のフェールセーフ部67(図2を参照)によりフェールセーフ処理が実施される。
つまり、過剰トルクQが第1トルク閾値Qth11以上の状態が、その過剰トルクQの大きさに基づいて設定される時間閾値(Tth11、Tth12、Tth13)以上、継続すると、エンジントルクが要求トルクよりも所定以上に過剰な異常な状態(過剰トルク状態)であると判定して、フェールセーフ処理を行う。
一方、前記の時間閾値(Tth11、Tth12、Tth13)に相当する時間が経過する前に、過剰トルクQが第1のトルク閾値Qth11未満になって(Q<Qth11)、前記ステップST106において否定判定(NO)されれば、ステップST111に進んで過剰トルクカウンタをクリアし、その後、ステップST101に戻ることになる。
なお、前記図7のフローのステップST105〜111の処理は、ECU6の異常判定部66(図2を参照)において行われる。また、前記のフェールセーフ処理としては例えば、アクチュエータ駆動部63に予め規定された制御量を送信し、スロットルモータ34やインジェクタ35などの制御を制限すればよく、これと共に警報を発するようにしてもよい。
以上、説明したように本実施形態のエンジン制御装置によると、まず、エンジントルクが要求トルクに対して過剰になったときに、その過剰分である過剰トルクQの大きさと、過剰になっている継続時間Tとの両方を考慮することで、フェールセーフ処理が必要な異常な過剰トルク状態を適切に判定することができる。しかも、過剰トルクQの大きさに応じて継続時間Tの時間閾値(Tth)を変化させることで、より適切な判定が行える。
すなわち、一例として図9に模式的に示すように、判定モード1において過剰トルクQが大きいとき(例えば第3トルク閾値Qth13以上のとき)には、時間の短い第3時間閾値Tth13が設定される。これにより、同図に実線の矢印A1として示すように、エンジントルクの過剰な状態の継続時間Tが短くても、過剰トルク状態であると判定されるようになり、速やかにフェールセーフ処理が開始される。
一方、過剰トルクQが小さいとき(例えば第2トルク閾値Qth12未満のとき)には、時間の長い第1時間閾値Tth11が設定されるので、同図に実線の矢印A2として示すように、過剰トルク状態と判定されるまでの経過時間Tは長くなる。これにより、ドライバが過剰な加速を感じ難い状況ではフェールセーフ処理の開始を抑制し、ドライバに違和感を与えないようにすることができる。
また、そうして過剰トルクQの大きさに応じて時間閾値(Tth)を変化させるために、本実施形態では判定モード毎に3つのトルク閾値(Qth)と、その各々に対応する3つの時間閾値(Tth)とを設定している。そして、過剰トルクQがいずれかのトルク閾値(Qth)以上になっている時間を計測し、その継続時間Tがいずれかの時間閾値(Tth)以上になったことを判定するだけで、過剰トルク状態を判定することができるので、ECU6の演算負荷の軽減が図られている。
さらに本実施形態では、前記のように過剰トルクQに応じて設定される時間閾値(Tth)が一旦、短い時間になれば、その後に過剰トルクQが減少しても長くはせずに、短い時間閾値(Tth)のまま保持するようにしている。すなわち、図10に矢印A3として示すように判定モード1において、過剰トルクQが一旦、第3トルク閾値Qth13以上になれば、その後に過剰トルクQが減少し、第3トルク閾値Qth13未満になっても、時間の短い第3時間閾値Tth13が保持される。
このため、エンジントルクの過剰な状態が第3時間閾値Tth13まで継続すると、その時点では過剰トルクQが第3トルク閾値Qth13未満になっていても、より時間の長い第2時間閾値Tth12まで待つことなく、過剰トルク状態であると判定される。すなわち一旦、過剰トルクQが急増した際に、前走車との車間距離が狭くなっていても、過剰トルク状態の判定が遅くなることはなく、速やかにフェールセーフ処理が開始されて、安全性の向上が図られる。
なお、ドライバは、前記のように一旦、エンジントルクが急増し、過剰トルクQが大きくなった時点で(前記矢印A3で示すように第3トルク閾値Qth13以上になった時点で)、車両の加速度が過剰になったことに気付く可能性が高いので、その後、過剰トルクが小さくなっているにも関わらず、フェールセーフ処理が開始されたとしても、違和感は覚え難い。
また、図10に矢印A4として示すように、過剰トルクQが第1トルク閾値Qth11以上であって、かつ第2トルク閾値Qth12未満の状態が第2時間閾値Tth12以上、継続しているときに、過剰トルクQが第2トルク閾値Qth12以上になると、その時点で第2時間閾値Tth12が設定され、より時間の長い第1時間閾値Tth11まで待つことなく、直ちに過剰トルク状態であると判定される。これにより速やかにフェールセーフ処理が開始されることになり、このことによっても安全性の向上が図られる。
さらにまた、本実施形態では、アクセル開度に応じて異なる判定モードを選択することにより、車速の高いときには前記トルク閾値(Qth)および時間閾値(Tth)を大きな側に変更するようになっている。すなわち、アクセル開度が大きくなって、前記図9に仮想線で示すように判定モード2が選択された場合は、矢印A1で示すように過剰トルクQの大きい場合であっても、第3時間閾値Tth13が長くなることによって、過剰トルク状態と判定されるまでの時間が長くなる。
また、矢印A2で示すように過剰トルクQの小さな場合は、第1時間閾値Tth11が長くなるとともに、図示の例では第1トルク閾値Qth11が大きくなることによって、過剰トルク状態と判定されないようになる。すなわち、車速の高いときには前走車との車間距離が広く、安全性が損なわれ難いとともに、ドライバが過剰な加速を感じ難いので、許容される過剰トルクQが大きくなるとともに、トルクの過剰な状態が許容される時間も長くなる。
そこで、前記のようにトルク閾値(Qth)を大きくし、時間閾値(Tth)を長くすることによって、ドライバに違和感を与えるフェールセーフ処理の実施を、より確実に抑制することができる。こうしてドライバにはできるだけ違和感を与えないようにしながら、フェールセーフ処理を好適に実施して、その効果を安定的に得ることができる。
加えて、本実施形態では、前記のようにアクセル開度のみに基づいて、過剰トルク状態の判定基準(トルク閾値や時間閾値)を変更するようにしているので、その判定の信頼性を損なうことがなく、システムの保証がしやすい。すなわち、アクセル開度センサ56は基本的にシンプルな構成であり、異常が発生し難いのみならず、2つの角度センサからの信号を並列にECU6に入力しているので、仮にそのうちの1つが故障したとしても、アクセル開度を検出できるからである。
−他の実施形態−
以上の実施形態では、基本的に車速を基準として3つの判定モードを設定するとともに、車速に関連するパラメータであるアクセル開度に基づいて、判定モードを選択することにより、トルク閾値(Qth)および時間閾値(Tth)を変更するようにしているが、これに限らず、例えば2つの判定モード、若しくは4つ以上の判定モードを設定してもよい。
また、例えばアクセル開度およびエンジン回転数に基づいて、判定モードを選択するようにしてもよいし、車速情報が保障されている車速センサが車両に搭載されている場合、その車速センサにて検出される実際の車速に基づいて、判定モードを選択するようにしてもよい。さらに、そうして判定モードを選択することによって、トルク閾値(Qth)および時間閾値(Tth)の両方を変更するのではなく、いずれか一方のみを変更するようにしてもよい。
また、そのように設定した複数の判定モードのいずれかを選択することによって、トルク閾値(Qth)および時間閾値(Tth)を変更することにも限定されない。例えば、図5に示す判定モード1のトルク閾値(Qth)および時間閾値(Tth)のみを設定しておいて、そのトルク閾値(Qth)を補正式によって、アクセル開度に応じて変更したり、時間閾値(Tth)を補正式によって、アクセル開度に応じて変更するようにしてもよい。
さらにまた、以上の実施形態では、1つの判定モードに3つのトルク閾値(Qth)と3つの時間閾値(Tth)とを設定しているが、これに限られることもなく、1つの判定モードに2つ若しくは4つ以上のトルク閾値(Qth)と、2つ若しくは4つ以上の時間閾値(Tth)とを設定してもよい。