以下、本発明の一実施形態について図面を用いて説明すると、図1は、本発明に係る操舵アシスト装置を含む車両の操舵装置の全体を示す概略図である。
この車両の操舵装置は、操舵ハンドル11に上端を一体回転するように接続したステアリングシャフト12を備え、同シャフト12の下端にはピニオンギヤ13が一体回転するように接続されている。ピニオンギヤ13は、ラックバー14に形成されたラック歯と噛み合ってラックアンドピニオン機構を構成する。ラックバー14の両端には、図示しないタイロッドおよびナックルアームを介して左右前輪FW1,FW2が操舵可能に接続されている。左右前輪FW1,FW2は、ステアリングシャフト12の軸線回りの回転に伴うラックバー14の軸線方向の変位に応じて左右に操舵される。
ラックバー14には、操舵アシスト用の電動モータ15が組み付けられている。電動モータ15は、ボールねじ機構16を介してラックバー14に動力伝達可能に接続されていて、その回転により左右前輪FW1,FW2の操舵をアシストする。なお、電動モータ15としては、本実施形態では直流モータであるが、3相交流モータを利用することもできる。ボールねじ機構16は、減速器および回転−直線変換器として機能するもので、電動モータ15の回転を減速するとともに直線運動に変換してラックバー14に伝達する。なお、電動モータ15をラックバー14に組み付けるのに代えて、電動モータ15をステアリングシャフト12に組み付けて、電動モータ15の回転を減速器を介してステアリングシャフト12に伝達して同シャフト12を軸線周りに駆動するように構成してもよい。
次に、電動モータ15の作動を制御する電気制御装置について説明する。電気制御装置は、操舵角センサ21、操舵トルクセンサ22、環境温度センサ23、基板温度センサ24および車速センサ25を備えている。操舵角センサ21は、ステアリングシャフト12に組み付けられて、同シャフト12の回転角を検出することにより操舵ハンドル11の操舵角θを検出する。操舵角θは、正負の値により操舵ハンドル11の右方向および左方向の操舵時における操舵角θの大きさをそれぞれ表す。操舵トルクセンサ22は、ステアリングシャフト12に組み付けられていて、操舵ハンドル11の回動操作によってステアリングシャフト12に作用する操舵トルクTrを検出する。操舵トルクTrも、正負の値により左右前輪FW1,FW2の右方向および左方向の操舵時における操舵トルクTrの大きさをそれぞれ表す。また、これらの操舵角センサ21および操舵トルクセンサ22をステアリングシャフト12に組み付けるのに代え、ラックバー14に組み付けて、ラックバー14の軸線方向の変位量および歪み量から操舵角θおよび操舵トルクTrをそれぞれ検出するようにしてもよい。
環境温度センサ23は、電動モータ15のハウジングに組み付けられ、同ハウジングの温度を環境温度Tcとして検出する。また、この環境温度センサ23を電動モータ15のハウジング以外の電動モータ15の近傍に配置し、電動モータ15の環境温度Tcを検出するようにしてもよい。基板温度センサ24は、操舵アシスト電子制御ユニット30(以下、操舵アシストECU30という),駆動回路31および昇圧回路33の配置されている基板の温度Tbを検出する。車速センサ25は、車速Vを検出する。これらのセンサ21〜25は、操舵アシストECU30に接続されている。
操舵アシストECU30は、CPU、ROM、RAMなどからなるマイクロコンピュータを主要構成部品とするとともに、A/D変換器を含むもので、図2に示すアシスト制御プログラム、図3に示す昇圧制御プログラムおよび図4に示す衝突回避操舵判定プログラムを所定の短時間ごとに並行して繰り返し実行する。これらのプログラムの繰り返し実行により、操舵アシストECU30は、駆動回路31を介して電動モータ15を駆動制御する。駆動回路31は、インバータ回路で構成され、操舵アシストECU30に制御されて電動モータ15に目標出力電流Iout*を流す。また、駆動回路31には電流センサ31aも内蔵されており、電流センサ31aは電動モータ15に流れるモータ実電流Imを検出して操舵アシストECU30に供給する。
駆動回路31は、バッテリ32から昇圧回路33を介して直流電力を入力する。昇圧回路33は、操舵アシストECU30に制御されて、バッテリ32からの入力電源電圧Einを昇圧比Epに応じて昇圧して駆動回路31に供給する。バッテリ32から昇圧回路33に供給される入力電源電圧Einは、昇圧制御のために操舵アシストECU30に供給される。
操舵アシストECU30には、周辺監視電子制御ユニット41(以下、周辺監視ECU41)、エンジン制御用電子制御ユニット42(以下、エンジン制御ECU42)およびブレーキ制御用電子制御ユニット43(以下、ブレーキ制御ECU43)が接続されている。
周辺監視ECU41は、レーザレーダ、超音波センサなどからなる周辺監視センサ44からの前方障害物の検出信号を入力して、前方障害物までの距離および前方障害物の自車両中心線に対するヨー角ずれ量を計算する。エンジン制御ECU42は、エンジン装置45の出力を制御するもので、操舵アシストECU30からの指示により、車両に対する駆動力を低減するためにエンジン装置45によるエンジン出力を低減制御する。ブレーキ制御ECU43は、ブレーキ装置46を制御するもので、操舵アシストECU30からの指示により、車両に対する制動力を発生するためにブレーキ装置46を作動させる。なお、これらのエンジン制御ECU42およびブレーキ制御ECU43は、いずれも車両の走行を制限する本発明の走行制限手段を構成する。
次に、上記のように構成した実施形態の動作について説明する。操舵アシストECU30は、イグニッションスイッチの投入後、図2のアシスト制御プログラムを所定の短時間ごとに繰り返し実行する。このアシスト制御プログラムはステップS10にて開始され、操舵アシストECU30は、ステップS11にて、操舵トルクセンサ22によって検出された操舵トルクTr、環境温度センサ23によって検出された環境温度Tc、基板温度センサ24によって検出された基板温度Tb、車速センサ25によって検出された車速V、および電流センサ31aによって検出されたモータ実電流Imを入力する。
前記ステップS11の処理後、操舵アシストECU30は、ステップS12にて、目標アシスト電流テーブルを参照して、前記入力した操舵トルクTrおよび車速Vに応じた目標アシスト電流Ias*を計算する。目標アシスト電流テーブルは、操舵アシストECU30のROM内に設けられたもので、図5に示すように、操舵トルクTrの増加に従って増加する目標アシスト電流Ias*を記憶している。また、この目標アシスト電流Ias*は、同一の操舵トルクTrに対して、車速Vが低くなるに従って大きな値を示す。なお、この目標アシスト電流テーブルを利用するのに代え、操舵トルクTrおよび車速Vに応じて変化する目標アシスト電流Ias*を規定した関数を予め記憶しておき、この関数を用いた演算の実行により操舵トルクTrおよび車速Vに応じた目標アシスト電流Ias*を計算するようにしてもよい。
次に、操舵アシストECU30は、ステップS13にて、環境温度Tcおよびモータ実電流Imを用いて、電動モータ15の温度Tm(以下、単にモータ温度Tmという)を推定演算する。このモータ温度Tmは、詳しくは電動モータ15のコイルの温度であり、電動モータ15の故障(例えば、断線、短絡など)の原因となるものである。このモータ温度Tmの推定演算について簡単に説明しておくと、基本的には、モータ実電流Imの2乗値を用いてコイルの発熱量を時間積分すると同時に、コイルの放熱および環境温度Tcを考慮してモータ温度Tmを推定する。
前記ステップS13の処理後、操舵アシストECU30は、ステップS14にて、第1電流制限テーブルを参照し、前記計算したモータ温度Tmおよび衝突回避回数カウント値N(=0〜Nmax)に応じて第1最大許容電流Imax1を計算する。第1電流制限テーブルは、操舵アシストECU30のROM内に設けられたもので、図6に示すように、衝突回避回数カウント値N(=0〜Nmax)ごとに、電動モータ15に流すことが可能な第1最大許容電流Imax1を規定している。すなわち、第1最大許容電流Imax1は、モータ温度Tmが制限開始温度Tmo(0),Tmo(1),Tmo(2)・・Tmo(Nmax)以下であれば所定の大きな値にそれぞれ設定され、モータ温度Tmが制限開始温度Tmo(0),Tmo(1),Tmo(2)・・Tmo(Nmax)を越えると徐々に減少するように設定されている。なお、制限開始温度Tmo(0),Tmo(1),Tmo(2)・・Tmo(Nmax)においては、Tmo(1)が最大で、Tmo(2)・・Tmo(Nmax)の順に小さくなり、Tmo(0)が最小である。衝突回避回数カウント値Nは、詳しくは後述するが、運転者が障害物との衝突を回避するために操舵ハンドル11を緊急で操舵した回数を表すもので、初期には「0」に設定されている。
したがって、運転者による衝突回避操舵が行われていない状態では、衝突回避回数カウント値Nは「0」に設定されており、前記第1最大許容電流Imax1の計算においては、第1最大許容電流Imax1は、図6のグラフ中の通常操舵時(N=0)によって規定される特性線に従ってモータ温度Tmに対応した電流値に設定される。なお、この第1電流制限テーブルを利用するのに代え、モータ温度Tmおよび衝突回避回数カウント値N(=0〜Nmax)に応じて変化する第1最大許容電流Imax1を規定した関数を予め記憶しておき、この関数を用いた演算の実行によりモータ温度Tmおよび衝突回避回数カウント値Nに応じた第1最大許容電流Imax1を計算するようにしてもよい。
次に、操舵アシストECU30は、ステップS15にて、第2電流制限テーブルを参照し、前記入力した基板温度Tbおよび前述した衝突回避回数カウント値N(=0〜Nmax)に応じて第2最大許容電流Imax2を計算する。第2電流制限テーブルは、操舵アシストECU30のROM内に設けられたもので、図7に示すように、衝突回避回数カウント値N(=0〜Nmax)ごとに、電動モータ15に流すことが可能な第2最大許容電流Imax2を規定している。すなわち、第2最大許容電流Imax2は、基板温度Tbが制限開始温度Tbo(0),Tbo(1),Tbo(2)・・Tbo(Nmax)以下であれば所定の大きな値にそれぞれ設定され、基板温度Tbが制限開始温度Tbo(0),Tbo(1),Tbo(2)・・Tbo(Nmax)を越えると徐々に減少するように設定されている。なお、制限開始温度Tbo(0),Tbo(1),Tbo(2)・・Tbo(Nmax)においては、Tbo(1)が最大で、Tbo(2)・・Tbo(Nmax)の順に小さくなり、Tbo(0)が最小である。
したがって、この場合も、運転者による衝突回避操舵が行われていない状態では、衝突回避回数カウント値Nは「0」に設定されており、前記第2最大許容電流Imax2の計算においては、第2最大許容電流Imax2は、図7のグラフ中の通常操舵時(N=0)によって規定される特性線に従って基板温度Tbに対応した電流値に設定される。なお、この第2電流制限テーブルを利用するのに代え、基板温度Tbおよび衝突回避回数カウント値N(=0〜Nmax)に応じて変化する第2最大許容電流Imax2を規定した関数を予め記憶しておき、この関数を用いた演算の実行により基板温度Tbおよび衝突回避回数カウント値Nに応じた第2最大許容電流Imax2を計算するようにしてもよい。
前記ステップS15の処理後、操舵アシストECU30は、ステップS16にて、第1最大許容電流Imax1と第2最大許容電流Imax2とを比較する。第1最大許容電流Imax1が第2最大許容電流Imax2以下であれば、ステップS17にて、最大許容電流Imaxを第1最大許容電流Imax1に設定するとともに、テーブルフラグTBLを“1”に設定する。一方、第1最大許容電流Imax1が第2最大許容電流Imax2よりも大きければ、ステップS18にて、最大許容電流Imaxを第2最大許容電流Imax2に設定するとともに、テーブルフラグTBLを“2”に設定する。なお、テーブルフラグTBLは、“1”により第1電流制限テーブルによって規定される第1最大許容電流Imax1が最大許容電流Imaxとして採用されたことを表し、“2”により第2電流制限テーブルによって規定される第2最大許容電流Imax2が最大許容電流Imaxとして採用されたことを表す。これらのステップS16〜S18の処理により、最大許容電流Imaxは第1最大許容電流Imax1および第2最大許容電流Imax2のうちの小さな側の値に設定されるとともに、最大許容電流Imaxを規定するために現在採用されている電流制限テーブルの種類がテーブルフラグTBLによって示される。
前記ステップS17,S18の処理後、操舵アシストECU30は、ステップS19〜S21の処理により、電動モータ15に流される電流を最大許容電流Imax以下に制限する。すなわち、目標アシスト電流Ias*が最大許容電流Imax以下であれば、目標アシスト電流Ias*がそのまま目標出力電流Iout*として設定される。一方、目標アシスト電流Ias*が最大許容電流Imaxよりも大きいと、最大許容電流Imaxが目標出力電流Iout*として設定される。
次に、操舵アシストECU30は、ステップS22にて電動モータ15に目標出力電流Iout*が流れるように駆動回路31を制御して、ステップS23にてこのアシスト制御プログラムの実行を一旦終了する。なお、この駆動回路31の制御においては、後述する昇圧制御により昇圧回路33にて昇圧されて駆動回路31に供給される昇圧電圧Eout(目標昇圧電圧Eout*)が考慮される。この目標出力電流Iout*に応じた電動モータ15の駆動制御により、電動モータ15はボールねじ機構16を介してラックバー14を軸線方向に目標出力電流Iout*に応じた駆動力で駆動する。一方、運転者による操舵ハンドル11の回動操作は、ステアリングシャフト12およびピニオンギヤ13を介してラックバー14に伝達され、ラックバー14を軸線方向に駆動する。これにより、運転者が操舵ハンドル11を回動操作して左右前輪FW1,FW2を操舵しようとすると、電動モータ15により前記運転者による操舵ハンドル11の回動操作がアシストされる。
このような操舵アシスト制御により、操舵トルクTrが大きくなるに従って目標出力電流Iout*(目標アシスト電流Ias*)は大きくなるので、運転者は小さな操舵力で左右前輪FW1,FW2を操舵することができる。また、車速Vが低くなるに従って目標出力電流Iout*(目標アシスト電流Ias*)は大きくなるので、高速走行時における車両の走行安定性が良好に保たれるとともに、低速走行時の車両の小回り性能も良好となる。さらに、電動モータ15に流れる電流は前記目標出力電流Iout*に規定され、この目標出力電流Iout*はモータ温度Tmおよび基板温度Tbに応じて制限されているので、電動モータ15、操舵アシストECU30、駆動回路31、昇圧回路33などに過熱による異常が発生することもない。
このようなアシスト制御プログラムの実行と並行して、操舵アシストECU30は、図3の昇圧制御プログラムを所定の短時間ごとに繰り返し実行している。この昇圧制御プログラムはステップS30にて開始され、操舵アシストECU30は、ステップS31にて、バッテリ32から昇圧回路33に供給される入力電源電圧Einを入力するとともに、操舵角センサ21によって検出された操舵角θを入力する。なお、入力電源電圧Einは、操舵アシストECU内のA/D変換器によってA/D変換される。
次に、操舵アシストECU30は、ステップS32にて操舵角θを時間微分演算して、操舵速度ωを計算する。そして、ステップS33〜S35の処理により、前記計算した操舵速度ωが所定操舵速度ω1未満であれば高速操舵フラグFSFを“0”に設定し、操舵速度ωが所定操舵速度ω1以上であれば高速操舵フラグFSFを“1”に設定する。次に、ステップS36,S37の判定処理を実行する。ステップS36の判定処理は、今回衝突回避操舵フラグKSFnewにより操舵ハンドル11が障害物との衝突を回避するための衝突回避操舵状態にあるかを判定するものである。なお、この今回衝突回避操舵フラグKSFnewは、後述する衝突回避操舵判定プログラムの実行によって“1”または“0”に設定されるもので、“1”により衝突回避状態にあることを表し、“0”によりそれ以外の状態にあることを表す。ステップS37の判定処理は、前記設定した高速操舵フラグFSFにより操舵ハンドル11が高速操舵状態にあるかを判定するものである。
そして、今回衝突回避操舵フラグKSFnewおよび高速操舵フラグFSFが共に“0”であって操舵ハンドル11が通常操舵状態にあれば、ステップS36,S37にて共に「No」と判定して、ステップS38にて、通常操舵時における入力電源電圧Einに対する目標昇圧電圧Eout*を規定した第1目標昇圧テーブル(図8の実線)を参照し、入力電源電圧Einに応じた目標昇圧電圧Eout*を計算する。今回衝突回避操舵フラグKSFnewおよび高速操舵フラグFSFがそれぞれ“0”,“1”であって操舵ハンドル11が高速操舵状態にあれば、ステップS36,S37にて「No」、「Yes」とそれぞれ判定して、ステップS39にて、高速操舵時における入力電源電圧Einに対する目標昇圧電圧Eout*を規定した第2目標昇圧テーブル(図8の破線)を参照し、入力電源電圧Einに応じた目標昇圧電圧Eout*を計算する。
今回衝突回避操舵フラグKSFnewが“1”であって操舵ハンドル11が衝突回避操舵状態にあれば、ステップS36にて「Yes」と判定して、ステップS40にて、衝突回避操舵時における入力電源電圧Einに対する目標昇圧電圧Eout*を規定した第3目標昇圧テーブル(図8の一点鎖線)を参照し、入力電源電圧Einに応じた目標昇圧電圧Eout*を計算する。なお、これらの第1ないし第3目標昇圧テーブルを利用するのに代え、入力電源電圧Einに応じて変化する目標昇圧電圧Eout*をそれぞれ規定した関数を予め記憶しておき、この関数を用いた演算の実行により入力電源電圧Einに応じた目標昇圧電圧Eout*をそれぞれ計算するようにしてもよい。
前記ステップS38〜S40の処理後、操舵アシストECU30は、ステップS41にて、前記計算した目標昇圧電圧Eout*を入力電源電圧Einで除算することにより、昇圧比Ep(=Eout*/Ein)を計算する。そして、操舵アシストECU30は、ステップS42にて、昇圧回路33における昇圧比を前記計算した昇圧比Epに制御して、ステップS43にてこの昇圧制御プログラムを一旦終了する。なお、入力電源電圧Einが所定の小さな電圧Eo以下であるとき(図8参照)、目標昇圧電圧Eout*および昇圧比Epは共に「0」になり、この場合には昇圧回路33の昇圧制御が行われない。
このような昇圧制御においては、操舵ハンドル11の通常操舵状態、高速操舵状態および衝突回避操舵状態の順に昇圧比Epが大きくなり、昇圧回路33から駆動回路31に供給される出力電源電圧がこの順に高くなる。したがって、操舵ハンドル11の高速操舵時および衝突回避操舵時に電動モータ15に流す電流量の増加にも対処できる。
さらに、前述のようなアシスト制御プログラムおよび昇圧制御プログラムの実行と並行して、操舵アシストECU30は、図4の衝突回避判定プログラムを所定の短時間ごとに実行している。この衝突回避プログラムの実行はステップS50にて開始され、操舵アシストECU30は、ステップS51にて、操舵角センサ21によって検出された操舵角θ、操舵トルクセンサ22によって検出された操舵トルクTr、前記計算されたモータ温度Tm、基板温度センサ24によって検出された基板温度Tb、車速センサ25によって検出された車速V、ならびに周辺監視ECU41によって計算された前方障害物までの距離および前方障害物の自車両中心線に対するヨー角ずれ量を入力する。そして、ステップS52にて、前方障害物の検出および操舵ハンドルの操舵操作状況に基づいて、運転者が前方障害物への衝突を回避するための衝突回避操舵操作を行っているかを判定する。
この衝突回避操舵操作の判定においては、まず、次のような判定要素が計算される。すなわち、操舵アシストECU30は、周辺監視ECU41から入力した前方障害物までの距離を時間微分して自車両に対する前方障害物の相対速度を計算し、この相対速度と前方障害物までの距離とから自車両が前方障害物に衝突するまでの衝突余裕時間を計算する。また、前記入力した操舵角θおよび車速Vを用いて自車両の予測進路を推定し、この予測進路、前記入力した前方障害物までの距離および前方障害物のヨー角ずれ量を用いて、前方障害物の自車両の予測進路に対する横ずれ量を計算する。また、前記横ずれ量は運転者による操舵ハンドル11の衝突回避操舵時には増加することに鑑みて、前記横ずれ量を時間微分して横ずれ量の変化率を計算する。また、運転者は衝突回避操舵時には操舵ハンドル11を急に操舵操作することに鑑みて、前記入力した操舵角θおよび操舵トルクTrを微分演算することにより操舵速度ωおよび操舵トルクTrの微分値を計算する。
そして、操舵アシストECU30は、前記ステップS52にて、前記計算結果に基づいて、運転者による操舵ハンドル11の操舵操作が前方障害物との衝突を回避するための衝突回避操舵であることを判定する。例えば、前記計算した衝突予測時間および横ずれ量がそれぞれ所定値未満であり、かつ前記計算した横ずれ量の変化率、操舵速度ωおよび操舵トルクTrの微分値がそれぞれ所定値以上であるとき、運転者によって操舵ハンドル11が衝突回避操舵されたことが判定される。なお、これらの全ての判定要素は同時に成立しなくても、それらの一部の条件が成立したとき、前記衝突回避操舵ありと判定してもよい。また、これらの全ての判定要素のうちの一部の判定要素を省略して、前記衝突回避操舵を判定するようにしてもよい。そして、ステップS52においては、この衝突回避操舵の判定がなされた場合には、前述した今回衝突回避操舵フラグKSFnewを“1”に設定し、衝突回避操舵の判定がなされない場合には今回衝突回避操舵フラグKSFnewを“0”に設定する。
前記ステップS52の処理後、操舵アシストECU30は、ステップS53にて、今回衝突回避操舵フラグKSFnewが“1”であるかを判定する。いま、衝突回避操舵が判定されていなくて今回衝突回避操舵フラグKSFnewが“0”であれば、ステップS53にて「No」と判定してステップS54〜S57に進む。ステップS54においては、前記図2のステップS17の処理によって設定されているテーブルフラグTBLが“1”であるかが判定され、テーブルフラグTBLが“1”であれば、ステップS55の判定処理を実行する。また、テーブルフラグTBLが“1”でなければ、ステップS56の判定処理を実行する。なお、この場合、テーブルフラグTBLはモータ温度Tmおよび基板温度Tbのうちのいずれが最大許容電流Imaxを現在規定しているかを表しており、モータ温度Tmが最大許容電流Imaxを現在規定していれば、ステップS55の判定処理が実行されることになる。一方、基板温度Tbが最大許容電流Imaxを現在規定していれば、ステップS56の判定処理が実行されることになる。
ステップS55においては、前記入力したモータ温度Tmが図6の制限開始温度Tmo(N)未満であるかを判定する。ステップS56においては、前記入力した基板温度Tbが図7の制限開始温度Tbo(N)未満であるかを判定する。なお、この場合、変数「N」は前述した衝突回避回数カウント値である。衝突回避操舵が行われなければ、モータ温度Tmは制限開始温度Tmo(N)未満であり、または基板温度Tbは制限開始温度Tbo(N)未満であり、ステップS55またはS56にて「Yes」と判定して、ステップS57にて衝突回避回数カウント値Nは「0」にクリアされる。なお、ステップS55またはS56にて「No」と判定されれば、ステップS65の処理後、ステップS66にてこの衝突回避操舵判定プログラムの実行を一旦終了する。ステップS65においては、次回の衝突回避操舵判定プログラムの実行時に今回の操舵状態を利用するために、前回の操舵状態を表す前回衝突回避操舵フラグKSFoldを今回衝突回避操舵フラグKSFnewが示す値に設定しておく。
一方、ステップS52にて、前方障害物への衝突を回避するために操舵ハンドル11が衝突回避操舵されて今回衝突回避操舵フラグKSFnewが“1”に設定されると、操舵アシストECU30は、ステップS53にて「Yes」と判定して、ステップS58に進む。ステップS58においては、前回衝突回避操舵フラグKSFoldが“0”であるかを判定する。このステップS58の判定処理は、前記ステップS53との判定処理と合わせて、操舵ハンドル11の衝突回避操舵が続行中であるか、新たに開始されたかを判定するものである。すなわち、操舵ハンドル11の衝突回避操舵が新たに開始された場合には、今回衝突回避操舵フラグKSFnewが“1”であり、かつ前回衝突回避操舵フラグKSFoldが“0”であるので、ステップS53,S58にてそれぞれ「Yes」と判定され、ステップS59〜S61の判定処理が実行される。なお、衝突回避操舵が続行中である場合には、今回衝突回避操舵フラグKSFnewおよび前回衝突回避操舵フラグKSFoldは共に“1”であるので、ステップS58にて「No」と判定されて、プログラムはステップS65に進められる。
ステップS59の判定処理は、前記ステップS54の判定処理と同様に、テーブルフラグTBLにより、モータ温度Tmおよび基板温度Tbのうちのいずれが最大許容電流Imaxを現在規定しているかを判定するものである。モータ温度Tmが最大許容電流Imaxを規定していて、テーブルフラグTBLが“1”であれば、ステップS59に「Yes」と判定してステップS60の判定処理を実行する。一方、基板温度Tbが最大許容電流Imaxを規定していて、テーブルフラグTBLが“2”であれば、ステップS59に「No」と判定してステップS61の判定処理を実行する。ステップS60においては、モータ温度Tmが制限開始温度Tmo(N)以上であるかを判定する。ステップS61においては、基板温度Tbが制限開始温度Tbo(N)以上であるかを判定する。モータ温度Tmが制限開始温度Tmo(N)未満であり、または基板温度Tbが制限開始温度Tbo(N)未満であれば、ステップS60またはS61にて「No」と判定されて、前述したステップS65の処理後、ステップS66にてこの衝突回避操舵判定プログラムの実行が終了される。したがって、この場合には、前述した操舵アシスト制御が続行する。
しかし、モータ温度Tmが制限開始温度Tmo(N)以上であり、または基板温度Tbが制限開始温度Tbo(N)以上であれば、操舵アシストECU30は、ステップS60またはS61にて「Yes」と判定して、ステップS62にて衝突回避回数カウント値Nに「1」を加算する。そして、衝突回避回数カウント値Nが所定の最大値Nmax以下であることを条件にステップS63にて「No」と判定し、ステップS65の処理を経てステップS66にてこの衝突回避操舵判定プログラムの実行を終了する。
この衝突回避回数カウント値Nの増加は、前記図2のアシスト制御プログラムのステップS14,S15の処理によってモータ温度Tmおよび基板温度Tbに応じた第1および第2最大許容電流Imax1,Imax2の決定時に用いられる第1および第2電流制限テーブルの特性の切り換えを意味する。具体的には、この衝突回避回数カウント値Nが「0」から「1」に変化すると、最大許容電流Imaxの特性(すなわち第1および第2最大許容電流Imax1,Imax2)は、通常操舵時(N=0)の特性線から初回衝突回避操舵時(N=1)の特性線に従ったものに切換えられる(図6,7参照)。その結果、電動モータ15への最大許容電流Imaxが大きく緩和され、電動モータ15に大きな回転トルクを発生させることができ、運転者は操舵ハンドル11を軽快に操舵操作できるようになるので、自車両が前方障害物に衝突することを回避し易くなる。
この点についてさらに説明を加えると、前方障害物への衝突回避のために操舵ハンドル11が急操舵されると、操舵トルクTrの上昇に伴って目標アシスト電流Ias*が大きな値に設定されて電動モータ15に大きな電流が流れる結果、モータ温度Tmおよび基板温度Tbは上昇する。このモータ温度Tmおよび基板温度Tbの上昇によっても、モータ温度Tmが制限開始温度Tmo(N)未満であり、または基板温度Tbが制限開始温度Tbo(N)未満であれば、ステップS62の処理は実行されないので、衝突回避回数カウント値Nは増加することはなく、最大許容電流Imaxの特性線は切換えられずに最大許容電流Imaxは緩和されない。しかし、モータ温度Tmが制限開始温度Tmo(N)以上になり、または基板温度Tbが制限開始温度Tbo(N)以上になって、目標アシスト電流Ias*すなわち電動モータ15に流す必要のある電流が制限されることが生じる場合には、衝突回避回数カウント値Nが増加して、最大許容電流Imaxの特性線は切換えられて最大許容電流Imaxは緩和される。したがって、運転者は操舵ハンドル11を軽快に操舵操作することができ、車両が障害物へ衝突することを回避し易くなる。一方、この最大許容電流Imaxの緩和は、電動モータ15に流れる電流を無制限に大きく許容するものではないので、電動モータ15、操舵アシストECU30、駆動回路31、昇圧回路33などの極端な過熱を避けることができ、電動モータ15、操舵アシストECU30、駆動回路31、昇圧回路33などが過熱のために異常になることもない。
なお、前記緊急の衝突回避操舵が継続している状態では、前述のようにステップS53にて「Yes」と判定されるが、ステップS58にて「No」と判定されるので、ステップS59〜S63の処理が実行されることはなく、衝突回避回数カウント値Nは増加されない。一方、前記緊急の衝突回避操舵が一旦終了すると、ステップS52にて今回衝突回避操舵フラグKSFnewが“1”に設定されるので、ステップS53の「No」との判定の結果、プログラムはステップS54〜S57に進められる。この場合、前述のように、モータ温度Tmは制限開始温度Tmo(N)以上であり、または基板温度Tbは制限開始温度Tbo(N)以上であれば、ステップS55またはS56にて「No」と判定されて、衝突回避回数カウント値Nは以前の値に維持される。しかし、前記緊急の衝突回避操舵によって自車両と前方障害物との衝突が回避され、しばらくの間、操舵ハンドル11が衝突回避操舵されるようなことがなければ、モータ温度Tmおよび基板温度Tbは低下して、モータ温度Tmが制限開始温度Tmo(N)未満になり、または基板温度Tbが制限開始温度Tbo(N)未満になり、この場合には、ステップS55にて衝突回避回数カウント値Nは「0」にクリアされる。
また、前述した衝突回避操舵では、自車両と前方障害物との衝突を回避できない場合には、運転者は操舵ハンドル11をふたたび衝突回避操舵する。なお、この場合、衝突回避回数カウント値Nは「0」に未だクリアされていないものとする。再度の衝突回避操舵は、ステップS52,S53,S58の処理により検出され、モータ温度Tmが制限開始温度Tmo(N)以上であり、または基板温度Tbが制限開始温度Tbo(N)以上であることを条件に、ステップS62,S63の処理により、衝突回避回数カウント値Nは最大値Nmaxに達するまで増加する。したがって、電動モータ15に対する最大許容電流Imaxは、初回衝突回避操舵時(N=1)の特性線から順次図6,7の左側の特性線に切換えられる。その結果、この場合には、電動モータ15の最大許容電流Imaxは通常操舵時に比べれば緩和されるが、前回の衝突回避操舵時に比べて厳しく制限される側に切換えられる。
すなわち、1回の衝突回避操舵によって電動モータ15に対する最大許容電流Imaxの制限が既に通常操舵時に比べて緩和されている状態で、さらに衝突回避操舵が1回または複数回行われた場合には、既に緩和されている制限条件に比べて厳しい制限条件のもとで電動モータ15に対する最大許容電流Imaxが緩和される。したがって、1回の衝突回避操舵によって障害物との障害が回避されずに、再度衝突回避操舵が行われた場合でも、電動モータ15に流れる電流が大きく緩和され続けることがなく、電動モータ15、操舵アシストECU、駆動回路31、昇圧回路33などの過度の過熱が適切に防止される。
そして、衝突回避回数カウント値Nが増加し続けた後においても、緊急の衝突回避操舵が一旦終了し、かつモータ温度Tmが制限開始温度Tmo(N)未満になり、または基板温度Tbが制限開始温度Tbo(N)未満になれば、ステップS52〜S57の処理により、衝突回避回数カウント値Nは「0」にクリアされる。しかし、緊急の衝突回避操舵が繰り返し行われて、ステップS52,S53,S58〜S62の処理により、衝突回避回数カウント値Nが増加して最大値Nmaxを超えると、ステップS63にて「Yes」と判定して、ステップS64に進む。ステップS64においては、操舵アシストECU30は、エンジン制御ECU42およびブレーキ制御ECU43に走行制限の指示を出力する。
エンジン制御ECU42は、エンジン装置45の出力を制御して、車両に対する駆動力を低減するためにエンジン装置45によるエンジン出力を低減制御する。ブレーキ制御ECU43は、ブレーキ装置46を制御して、車両に対する制動力を発生するためにブレーキ装置46を作動させる。そして、この場合には、電動モータ15に対する最大許容電流Imaxの特性はこれ以上切換えられない。なお、これらのエンジン制御ECU42およびブレーキ制御ECU43による走行制限に関しては、いずれか一方のみを行うようにしてもよい。
このように、運転者が操舵ハンドル11を何回も衝突回避操舵したにもかかわらず、前方障害物への衝突を回避できず、ふたたび衝突回避操舵がなされた場合には、車両の走行が制限される。そして、この場合には、電動モータ15に対する最大許容電流Imaxがさらに緩和されることはないので、電動モータ15、操舵アシストECU30、駆動回路31、昇圧回路33などの過熱が避けられ、電動モータ15、操舵アシストECU30、駆動回路31、昇圧回路33などの過熱による異常発生が確実に回避される。
さらに、本発明は上記実施形態およびその変形例に限定されることなく、本発明の目的の範囲内において種々の変形例を採用することができる。
たとえば、上記実施形態においては、推定したモータ温度Tmおよび基板温度Tbに応じて電動モータ15に流れる電流を制限するようにした。しかし、モータ温度Tmおよび基板温度Tbのうちの一方のみの温度に応じて電動モータ15に流れる電流を制限するようにしてもよい。この場合、図2のアシスト制御プログラムにおいては、ステップS14またはS15の処理の一方を省略するとともに、ステップS16の処理も省略し、ステップS17またはS18の一方の処理により最大許容電流Imaxを設定するようにすればよい。また、図4の衝突回避操舵判定プログラムにおいても、ステップS54,S59の処理を省略するとともに、ステップS55,S56のうちの一方およびステップS60,S61の一方の処理を省略するようにすればよい。
また、モータ温度Tmおよび基板温度Tbに代えまたは加えて、電動モータ15を制御するための回路装置の温度に応じても電動モータ15に流れる電流を制限するようにしてもよい。すなわち、駆動回路31を構成する回路素子としてのパワートランジスタ、昇圧回路33を構成する回路素子としての昇圧コイルおよびパワートランジスタの温度に応じて電動モータ15に流れる電流を制限するようにしてもよい。この場合、図6,7の第1および第2最大許容電流テーブルと同様に形成されて、これらの回路素子の温度に応じた最大許容電流を規定する最大許容電流テーブルを用意しておくとともに、これらの回路素子の温度を検出して、上記図2のアシスト制御プログラムにおいては、ステップS14,S15と同様な処理により、これらの回路素子の温度に応じた最大許容電流を計算する。そして、ステップS16〜S18と同様な処理により、前記計算された最大許容電流のうちで最も小さな最大許容電流を最大許容電流Imaxとして設定するとともに、採用した最大許容テーブルの表す変数を設定しておく。そして、図4の衝突回避操舵判定プログラムにおいては、ステップS54〜S56およびステップS59〜S61と同様な処理により、採用した最大許容電流テーブルの表す変数により規定される最大許容電流テーブルの制限開始温度と、同最大許容電流テーブルに関係した検出温度とを比較して、衝突回避回数カウント値Nのクリアおよびカウントアップを制御するようにすればよい。
11…操舵ハンドル、12…ステアリングシャフト、13…ピニオンギヤ、14…ラックバー、15…電動モータ、21…操舵角センサ、22…操舵トルクセンサ、25…車速センサ、30…操舵アシストECU、31…駆動回路、41…周辺監視ECU、42…周辺監視センサ、42…エンジン制御ECU,43…ブレーキ制御ECU