以下、本発明の一実施形態に係る車両の操舵装置について図面を用いて説明する。図1は、同実施形態に係る車両の操舵装置を概略的に示している。
この車両の操舵装置は、運転者によって操舵操作される操舵操作装置10と、転舵輪としての左右前輪FW1,FW2を前記運転者の操舵操作に応じて転舵する転舵装置20とを機械的に分離したステアバイワイヤ方式を採用している。操舵操作装置10は、運転者によって回動操作される操作部としての操舵ハンドル11を備えている。操舵ハンドル11は操舵入力軸12の上端に固定され、操舵入力軸12の下端には減速機構を内蔵した反力発生用の操舵反力用電動モータ13が組み付けられている。操舵反力用電動モータ13は、操舵ハンドル11の操舵操作に対して反力を付与する。
転舵装置20は、車両の左右方向に延びて配置された転舵軸21を備えている。この転舵軸21の両端部には、タイロッド22a,22bおよびナックルアーム23a,23bを介して、左右前輪FW1,FW2が転舵可能に接続されている。左右前輪FW1,FW2は、転舵軸21の軸線方向の変位により左右に転舵される。転舵軸21の外周上には、図示しないハウジングに組み付けられた第1転舵用電動モータ24および第2転舵用電動モータ25が設けられている。第1転舵用電動モータ24および第2転舵用電動モータ25の回転は、それぞれねじ送り機構26,27により減速されるとともに転舵軸21の軸線方向の変位に変換される。
次に、操舵反力用電動モータ13、第1転舵用電動モータ24および第2転舵用電動モータ25の回転を制御する電気制御装置30について説明する。電気制御装置30は、操舵角センサ31および転舵角センサ32を備えている。操舵角センサ31は、操舵入力軸12に組み付けられて、操舵ハンドル11の基準位置からの回転角を検出して実操舵角θとして出力する。なお、実操舵角θは、基準位置を「0」とし、右方向の角度を正の値で表し、左方向の角度を負の値で表す。転舵角センサ32は、転舵軸21に組み付けられて、転舵軸21の基準位置からの軸線方向の変位量を検出して左右前輪FW1,FW2の実転舵角δとして出力する。なお、実転舵角δは、基準位置を「0」とし、左右前輪FW1,FW2の右方向の転舵に対応した転舵軸21の変位を正の値で表し、左右前輪FW1,FW2の左方向の転舵に対応した転舵軸21の変位を負の値で表す。
また、電気制御装置30は、互いに接続された操舵反力用電子制御ユニット(以下、操舵反力用ECUという)33、第1転舵用電子制御ユニット(以下、第1転舵用ECUという)34、および第2転舵用電子制御ユニット(以下、第2転舵用ECUという)35を備えている。操舵反力用ECU33には、操舵角センサ31が接続されている。第1転舵用ECU34および第2転舵用ECU35には、操舵角センサ31および転舵角センサ32がそれぞれ接続されている。
これらのECU33〜35は、それぞれCPU,ROM,RAMなどからなるマイクロコンピュータを主要構成部品とする。操舵反力用ECU33は、ROMに記憶した図2の操舵反力制御プログラムを実行して、駆動回路36を介して操舵反力用電動モータ13を駆動制御する。第1および第2転舵用ECU34,35は、ROMに記憶した図3および図4の第1および第2転舵制御プログラムをそれぞれ実行して、駆動回路37,38を介して第1および第2転舵用電動モータ24,25をそれぞれ駆動制御する。
駆動回路36〜38は、ECU33〜35によりそれぞれ制御されて、電動モータ13,24,25を駆動制御する。これらの駆動回路36〜38内には、電動モータ13,24,25に流れる駆動電流をそれぞれ検出する駆動電流センサ36a〜38aがそれぞれ設けられていて、駆動電流センサ36a〜38aによって検出された駆動電流はECU33〜35にそれぞれ供給される。
次に、上記のように構成した実施形態の動作を説明する。イグニッションスイッチ(図示しない)の投入により、操舵反力用ECU33は、図2の操舵反力制御プログラムを所定の短時間ごとに繰り返し実行し始める。この操舵反力プログラムの実行はステップS10にて開始され、操舵反力用ECU33は、ステップS11にて操舵角センサ31によって検出された実操舵角θに加え、第1および第2転舵用ECU34,35のいずれか一方から出力される補正量Δθを入力する。この補正量Δθは、詳しくは後述するように実操舵角θを補正するもので、駆動回路37および第1転舵用電動モータ24からなる第1転舵制御系統と、駆動回路38および第2転舵用電動モータ25からなる第2転舵制御系統とのうちのいずれか一方の転舵制御系統のフェイル時に、他方の転舵制御系統に対応した第1転舵用ECU34または第2転舵用ECU35から出力されるものである。なお、第1および第2転舵制御系統のいずれもフェイルしていない場合には、補正量Δθは第1および第2転舵用ECU34,35から出力されず、この場合には、補正量Δθは「0」に保たれる。
前記ステップS11の入力処理後、操舵反力用ECU33は、ステップS12にて、実操舵角θに補正量Δθを加算することにより補正操舵角θc(=θ+Δθ)を計算する。なお、補正量Δθが「0」である状態では、補正操舵角θcは実操舵角θに等しい。次に、操舵反力用ECU33は、目標操舵反力テーブルを参照して、前記計算した補正操舵角θcに対応する目標操舵反力を計算する。この目標操舵反力テーブルは、操舵ハンドル11の操舵角に対する操舵反力の制御則を規定するもので、図5に示すように、補正操舵角θcの増加に従って増加する目標操舵反力を記憶している。ただし、目標操舵反力はヒステリシス特性を有しており、図中に矢印で示すように、補正操舵角θcの増加時には図5の上側の実線上の値に設定され、補正操舵角θcの減少時には図5の下側の実線上の値に設定される。なお、補正操舵角θcの増加および減少は、前回の操舵反力制御プログラムの実行時における前回の補正操舵角θcと、今回の操舵反力制御プログラムの実行時における今回の補正操舵角θcとの比較において判定される。また、補正操舵角θcが最小値θcminと最大値θcmaxの中間にある状態で補正操舵角θcの増減が逆転した場合には、図5中に点Pa,Pbで示すように、目標操舵反力は、上側の実線から下側の実線上の値に変更され、または下側の実線から上側の実線上の値に変更される。
なお、目標操舵反力テーブルを用いるのに代えて、補正操舵角θcと目標操舵反力との関係を予め定めた関数を用意しておいて、同関数を用いて前記入力した補正操舵角θcに対応する目標操舵反力を計算するようにしてもよい。また、車速センサ、ヨーレートセンサ、横加速度センサなどを設けて、前記各センサによって検出された車速、ヨーレート、横加速度などに応じて前記計算した目標操舵反力を補正してもよい。
前記目標操舵反力の計算後、操舵反力用ECU33は、ステップS14にて、駆動回路36との協働により、駆動電流センサ36aによって検出された駆動電流をフィードバックして、前記目標操舵反力に対応した駆動電流を操舵反力用電動モータ13に流す。そして、ステップS15にて、この操舵反力制御プログラムの実行を一旦終了する。操舵反力用電動モータ13は操舵入力軸12を介して操舵ハンドル11に前記計算した目標操舵反力に等しい操舵反力を付与する。これにより、運転者による操舵ハンドル11の回動操作に対して、操舵ハンドル11の実操舵角θに応じた反力トルクが付与され、運転者は、この操舵反力を感じながら、操舵ハンドル11を回動操作できる。
一方、第1転舵用ECU34は、前記操舵反力制御プログラムの実行に並行して、図3の第1転舵制御プログラムの実行を所定の短時間ごとにそれぞれ繰り返し実行する。第1転舵制御プログラムの実行は図3のステップS20にて開始され、第1転舵用ECU34は、ステップS21にて、第1フェイルフラグFAL1が“1”であるかを判定する。この第1フェイルフラグFAL1は、“0”により前記第1転舵制御系統の非フェイル状態(すなわち第1転舵用電動モータ24による左右前輪FW1,FW2の転舵可能状態)を表し、“1”により同第1転舵制御系統のフェイル状態(すなわち第1転舵用電動モータ24による左右前輪FW1,FW2の転舵不能状態)を表している。
まず、第1フェイルフラグFAL1が“0”である状態について説明すると、第1転舵用ECU34は、ステップS21にて「No」と判定して、ステップS22にて第1転舵制御系統にフェイルが発生しているかを検査する。この場合、第1転舵用ECU34は、電動モータ24の断線、短絡、その他の異常を駆動回路37からの信号を入力して、電動モータ24および駆動回路37を含む第1転舵制御系統に異常が発生しているかを検査する。そして、ステップS23にて前記ステップS22の処理によってフェイルが検出されたかを判定する。この場合も、ステップS22,S23の判定処理によってフェイルが検出されなかった場合について説明を続ける。したがって、このステップS23での「No」との判定後、第1転舵用ECU34は、ステップS24にて第1フェイルフラグFAL1を“0”に設定する。なお、この第1フェイルフラグFAL1は、イグニッションスイッチがオフされても、その値が保持されるように、第1転舵用ECU34の非作動時には不揮発性のメモリ領域に記憶保持され、次にイグニッションスイッチが新たに投入されたときにも以前の値のままに保たれている。
次に、第1転舵用ECU34は、ステップS25にて、操舵角センサ31および転舵角センサ32によって検出された実操舵角θおよび実転舵角δに加えて、第2転舵用ECU35から第2フェイルフラグFAL2を入力する。なお、第2フェイルフラグFAL2は、“0”により前記第2転舵制御系統の非フェイル状態(すなわち第2転舵用電動モータ25による左右前輪FW1,FW2の転舵可能状態)を表し、“1”により同第2転舵制御系統のフェイル状態(すなわち第2転舵用電動モータ25による左右前輪FW1,FW2の転舵不能状態)を表している。そして、ステップS26にて、第2フェイルフラグFAL2が“1”であるかを判定する。この場合も、第2転舵制御系統には、フェイルが発生しておらず、第2フェイルフラグFAL2が“0”である場合について説明を続ける。したがって、このステップS26においては「No」と判定して、プログラムをステップS27に進める。
ステップS27においては、第1転舵用ECU34は、前記入力した実操舵角θに補正量Δθを加算することにより補正操舵角θc(=θ+Δθ)を計算する。なお、前述のように、第1および第2転舵制御系等のいずれにもフェイルが発生していなければ、補正量Δθは「0」であり、補正操舵角θcは実操舵角θに等しい。
このステップS27の処理後、第1転舵用ECU34は、ステップS28にて、ROM内に予め用意された目標転舵角テーブルを参照して、前記入力した補正操舵角θcに対応する目標転舵角δ*を計算する。この目標転舵角テーブルは、操舵ハンドル11の操舵角に対する目標転舵角の制御則を規定するもので、図6に示すように、補正操舵角θcの増加に従って増加する目標転舵角δ*を記憶している。なお、目標転舵角テーブルを用いるのに代えて、補正操舵角θcと目標転舵角δ*との関係を予め定めた関数を用意しておいて、同関数を用いて前記計算した補正操舵角θcに対応する目標転舵角δ*を計算するようにしてもよい。また、車速、ヨーレート、横加速度などに応じて前記計算した目標転舵角δ*を補正するようにしてもよい。
前記目標転舵角δ*の計算後、第1転舵用ECU34は、ステップS29にて、駆動回路37との協働により、駆動電流センサ37aによって検出された駆動電流をフィードバックして、目標転舵角δ*から実転舵角δを減算した差分値δ*−δに比例した駆動電流を第1転舵用電動モータ24に流す。これにより、第1転舵用電動モータ24は前記差分値δ*−δ1が「0」となるように駆動制御され、その回転により、ねじ送り機構26を介して転舵軸21を軸線方向に駆動する。そして、転舵軸21の軸線方向の変位により、左右前輪FW1,FW2が目標転舵角δ*に転舵される。その結果、左右前輪FW1,FW2は、操舵ハンドル11の回動操作に応じて転舵され、車両は左右に旋回される。
前記ステップS29の処理後、ステップS30にて補正量Δθが「0」でないかを判定する。この場合、前述のように、補正量Δθは「0」であるので、ステップS30にて「No」と判定して、ステップS38にてこの第1転舵制御プログラムの実行を一旦終了する。
また、第2転舵用ECU35も、前記操舵反力制御プログラムの実行に並行して、図4の第2転舵制御プログラムの実行を所定の短時間ごとにそれぞれ繰り返し実行する。第2転舵制御プログラムの実行は図4のステップS40にて開始され、第2転舵用ECU35は、第1および第2転舵制御系等にフェイルに発生していないことを条件に、上記図3のステップS21〜29と同様な図4のステップS41〜S49の処理により、操舵ハンドル11の回動操作に応じて左右前輪FW1,FW2を目標転舵角δ*に転舵制御する。
ただし、この場合には、ステップS41においては、第2フェイルフラグFAL2が“1”であるかが判定される。また、ステップS42、S43においては、電動モータ25の断線、短絡、その他の異常を駆動回路38からの信号を入力して、電動モータ25および駆動回路38を含む第2転舵制御系統に異常が発生しているかが検査される。そして、ステップS44においては、第2転舵制御系統に異常が発生していないことを条件に、第2フェイルフラグFAL2が“0”に設定される。なお、この第2フェイルフラグFAL2も、イグニッションスイッチがオフされても、その値が保持されるように、第2転舵用ECU35の非作動時には不揮発性のメモリ領域に記憶保持されるものである。さらに、ステップS45においては、実操舵角θおよび実転舵角δに加えて、第1転舵用ECU34から第1フェイルフラグFAL1が入力される。そして、ステップS46においては、第1フェイルフラグFAL1が“1”であるかが判定される。
このような第1および第2転舵制御プログラムの実行により、第1および第2転舵用電動モータ24,25は、ほぼ均等な回転トルクにより共同して左右前輪FW1,FW2を転舵制御して、左右前輪FW1,FW2を目標転舵角δ*に転舵制御する。この左右前輪FW1,FW2の転舵制御時には、第1および第2転舵用電動モータ24,25による十分な転舵力が得られるので、左右前輪FW1,FW2は操舵ハンドル11の回動操作に良好に追従して転舵される。
次に、第2転舵制御系統にフェイルが発生した場合について説明する。この場合、第2転舵用ECU35は、ステップS43にて「Yes」と判定して、プログラムをステップS55に進める。ステップS55においては第2フェイルフラグFAL2が“1”に設定され、第2転舵用ECU35は、ステップS56にてこの“1”に設定された第2フェイルフラグFAL2を第1転舵用ECU33に出力する。そして、ステップS57にて、第2転舵用電動モータ25の作動制御を停止する。これ以降、第2転舵制御プログラムが再実行された場合には、第2転舵用ECU35は、ステップS41にて前記“1”に設定された第2フェイルフラグFAL2に基づいて「Yes」と判定し、前記ステップS56,S57の処理を実行し続ける。その結果、前記フェイルの発生以降においては、第2転舵用電動モータ25の作動が停止して、第2転舵用電動モータ25は左右前輪FW1,FW2の転舵に関与しなくなる。
一方、第1転舵用ECU34は、ステップS25にて前記“1”に設定された第2フェイルフラグFAL2を入力し、ステップS26にて「Yes」と判定してプログラムをステップS32に進める。ステップS32においては、実操舵角θを微分するとともに、微分結果dθ/dtに実操舵角θを乗算して、乗算結果θ・dθ/dtが絶対値の小さな負の所定値−Δθ1未満であるかを判定する。この判定は、操舵ハンドル11が切り返し操作されたことを検出するものである。操舵ハンドル11が切り返し操作されずに、乗算結果θ・dθ/dtが所定値−Δθ1以上であれば、ステップS32にて「No」と判定して、前述したステップS27〜S29の処理により左右前輪FW1,FW2を転舵制御する。これらのステップS27〜S29の処理により、左右前輪FW1,FW2は、第1転舵用電動モータ24の回転トルクのみを用いて操舵ハンドル11の回動操作に応じて転舵される。
一方、操舵ハンドル11が切り返し操作されて、乗算結果θ・dθ/dtが所定値−Δθ1未満であれば、第1転舵用ECU34は、ステップS32にて「Yes」と判定して、ステップS33,S34の処理を実行する。ステップS33においては、目標転舵角テーブルを参照して実転舵角δに対応した補正操舵角θc’を計算する。ステップS34においては、実操舵角θと前回までの補正量Δθとにより計算される補正操舵角θcを前記計算した補正操舵角θc’から減算した差分値θc’−θcを前回までの補正量Δθに加算して補正量Δθを更新する。なお、この補正量Δθも、第1フェイルフラグFAL1と同様に、イグニッションスイッチがオフされても、その値が保持されるように、第1転舵用ECU34の非作動時には不揮発性のメモリ領域に記憶保持される。
具体的には、図6に示すように、目標転舵角δ*が「δ*1」であるにもかかわらず、実転舵角δが「δ1」であった場合、補正操舵角θc’がステップS33の処理によって「θc1’」に設定される。そして、ステップS34の処理により、目標転舵角δ*1に対応した補正操舵角θc1に対する補正操舵角θc1’の差分値θc1’−θc1が前回までの補正量Δθに加算される。この場合、補正操舵角θc1は操舵ハンドル11の実操舵角θを前回までの補正量Δθで補正したものであるので、前記差分値θc1’−θc1は操舵ハンドル11の切り返し操作時における実転舵角δ1を新たな目標転舵角δ*とするための補正量Δθに対応する。したがって、前記ステップS34にて計算された補正量Δθは、操舵ハンドル11の切り返し操作時における補正操舵角θcに基づいて決定される目標転舵角δ*と実転舵角δとを一致させるように実操舵角θを補正するための補正量を表すことになる。
また、前記補正量Δθを表す式Δθ=θc’−θc+Δθは、式Δθ=θc’−(θc−Δθ)=θc’−θのように変形しても等価である。そして、この式は、補正量Δθが実転舵角δに対応した補正操舵角θc’と操舵ハンドル11の実操舵角θとの差に等しいことを意味する。したがって、補正量Δθは、操舵ハンドル11の切り返し操作時に新たな目標転舵角δ*を実転舵角δに一致させたとき、実操舵角θを補正操舵角θcに補正するための補正量を示していることになる。さらに、この補正量Δθは、第2転舵制御系統のフェイル後、操舵ハンドル11の切り返し操作ごとに加算されるので、第2転舵制御系統にフェイルが発生してから現在までの操舵ハンドル11の切り返し操作による目標転舵角δ*と実転舵角δとの差の蓄積量を表している。
前記ステップS34の処理後、第1転舵用ECU34は、前述したステップS27〜S29の処理により、実操舵角θと前述の補正量Δθとによって補正操舵角θcが計算されるとともに、この補正操舵角θcに応じて目標転舵角δ*が計算され、左右前輪FW1,FW2はこの目標転舵角δ*に転舵される。
また、第1転舵制御系統にフェイルが発生した場合には、第1転舵用ECU34は、前述した図4のステップS41〜S43,S55〜S57の処理と同様な図3のステップS21〜S23,S35〜S37の処理により、第1フェイルフラグFAL1を“1”に設定するとともに、“1”に設定された第1フェイルフラグFAL1を第2転舵用ECU35に出力し、かつ第1転舵用電動モータ24の作動制御を停止する。これにより、この場合には、第1転舵用電動モータ24の作動が停止して、第1転舵用電動モータ24は左右前輪FW1,FW2の転舵に関与しなくなる。
一方、第2転舵用ECU35は、前述した図3のステップS25,S26,S32〜S34と同様な図4のステップS45,S46,S52〜S54の処理により、操舵ハンドル11の切り返し操作ごとに補正量Δθを更新する。なお、この補正量Δθも、第2フェイルフラグFAL1と同様に、イグニッションスイッチがオフされても、その値が保持されるように、第2転舵用ECU35の非作動時には不揮発性のメモリ領域に記憶保持される。そして、第2転舵用ECU35は、前述した図3のステップS27〜S29と同様な図4のステップS47〜S49の処理により、補正操舵角θcおよび目標転舵角δ*を計算し、左右前輪FW1,FW2をこの目標転舵角δ*に転舵制御する。
これにより、第1および第2転舵制御系統のいずれか一方にフェイルが発生して、第1転舵用電動モータ24または第2転舵用電動モータ25による左右前輪FW1,FW2に対する十分な転舵力を得ることができなくなった場合には、操舵ハンドル11の切り返し操作があると、目標転舵角δ*と左右前輪FW1,FW2の実転舵角δの間に差がある場合には、それ以降に操舵角センサ31によって検出される実操舵角θは、操舵ハンドル11の切り返し操作時点での左右前輪FW1,FW2の実転舵角δに対応した補正操舵角θcと、同切り返し操作時点で操舵角センサ31によって検出されている実操舵角θとの差(補正量Δθ)によって補正される。また、新たな目標転舵角δ*は実操舵角θを補正量Δθによって補正した補正操舵角θcに応じて計算されるので、操舵ハンドル11の切り返し操作があると、同切り返し操作時点の目標転舵角δ*と実転舵角δとの差がキャンセルされて、目標転舵角δ*は、図8の2点差線で示すように、以降前記切り返し時点の実転舵角δから連続的に変化するようになる。そして、左右前輪FW1,FW2は、この新たな目標転舵角δ*に向かって転舵制御されるようになる。その結果、左右前輪FW1,FW2の転舵方向が操舵ハンドル11の操舵方向と逆向きになることが解消され、操舵ハンドル11の切り返しがあっても、運転者は違和感を覚えることなく車両を操舵できる。また、目標転舵角δ*と実転舵角δとの差のキャンセルにより、左右前輪FW1,FW2の中立位置に対応した操舵ハンドル11の中立位置が切り返し操作ごとに変化していくので、運転者は第1または第2転舵制御系統に関するフェイルを視覚的に自覚するようにもなる。
このように第2転舵制御系統にフェイルが発生した状態で、操舵ハンドル11が切り返し操作されて、図3のステップS33、S34の処理によって補正量Δθが「0」以外の値に設定された場合には、第1転舵用ECU34は、ステップS30にて「Yes」と判定して、ステップS31にて補正量Δθを操舵反力用ECU33に出力する。また、第1転舵制御系統にフェイルが発生した状態で、操舵ハンドル11が切り返し操作されて、図4のステップS53、S54の処理によって補正量Δθが「0」以外の値に設定された場合には、第2転舵用ECU35は、ステップS50にて「Yes」と判定して、ステップS51にて補正量Δθを操舵反力用ECU33に出力する。
操舵反力用ECUは、図2のステップS11にて前記補正量Δθを入力し、ステップS12にこの補正量Δθを用いて補正操舵角θcを計算する。そして、ステップS13にて前述した目標操舵反力テーブルを参照して補正操舵角θcに対応した目標操舵反力を計算して、ステップS14の処理により、同計算した目標操舵反力に応じて操舵反力用電動モータ13の作動を制御する。その結果、操舵ハンドル11には、前記補正量Δθを考慮した操舵反力が付与されるようになる。例えば、図5のPa位置に対応した操舵状態で、操舵ハンドル11が切り返し操作されると、実操舵角θが僅かに変化した場合でも、目標操舵反力はPb位置に対応した値ではなく、Pc位置に対応した値に設定される。これにより、補正操舵角θcに基づいて計算される目標転舵角δ*に対応した目標操舵反力が操舵ハンドル11に付与されることになるので、運転者は違和感を覚えることなく操舵ハンドルを操舵操作できるようになる。
さらに、本発明の実施にあたっては、上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、上記実施形態においては、第1または第2転舵制御系統にフェイルが発生した場合に、実転舵角θを補正量Δθに応じて補正した補正操舵角θcを用いて左右前輪FW1,FW2を転舵制御するようにした。しかし、これに代えて、フェイルとは無関係に、操舵ハンドルの切り返し操作時に目標転舵角δ*と実転舵角δとの差が大きいときに、実転舵角θを補正量Δθに応じて補正するようにしてもよい。
この場合、第1および第2転舵用ECU34,35は、図7に示す転舵制御プログラムを実行する。この転舵制御プログラムはステップS60にて開始され、第1および第2転舵用ECU34,35は、ステップS61にて実操舵角θおよび実転舵角δを上記実施形態の図3のステップS25および図4のステップS45の処理と同様にして入力する。そして、ステップS62にて、上記実施形態のステップS32,S52の処理と同様にして、操舵ハンドル11の切り返し操作を検出する。操舵ハンドル11が切り返し操作されなければ、ステップS62にて「No」と判定し、上記実施形態の図3のステップS27〜S29および図4のステップS47〜S49と同様なステップS66〜S68の処理により、左右前輪FW1,FW2を補正操舵角θc(すなわち実操舵角θ)に応じて計算された目標転舵角δ*に転舵制御する。
また、操舵ハンドル11が切り返し操作されると、第1および第2転舵用ECU34,35は、ステップS62にて「Yes」と判定して、ステップS63にて、目標転舵角δ*と実転舵角δとの差の絶対値|δ*−δ|が予め決められた正の所定値θ1以上であるかを判定する。前記絶対値|δ*−δ|が所定値θ1未満であれば、第1および第2転舵用ECU34,35は、ステップS63にて「No」と判定して、前述したステップS66以降の処理を実行して、左右前輪FW1,FW2を補正操舵角θcに応じて計算された目標転舵角δ*に転舵制御する。
一方、前記絶対値|δ*−δ|が所定値θ1以上であれば、第1および第2転舵用ECU34,35は、ステップS63にて「Yes」と判定して、ステップS64,S65の処理を実行した後、前述したステップS66以降の処理を実行して、左右前輪FW1,FW2を補正操舵角θcに応じて計算された目標転舵角δ*に転舵制御する。ステップS64,S65の処理は、上記実施形態の図3のステップS33,S34および図4のステップS53,54の処理と同じであり、実転舵角δを用いて操舵ハンドル11の切り返し操作における補正量Δθを更新する処理である。なお、この補正量Δθも、上記実施形態の場合と同様に、イグニッションスイッチがオフされても、その値が保持されるように、第1および第2転舵用ECU34,35の非作動時には不揮発性のメモリ領域に記憶保持される。これにより、第1および第2転舵用ECU34,35は、前述した図3のステップS66〜S68の処理により、補正操舵角θcおよび目標転舵角δ*を計算し、左右前輪FW1,FW2をこの目標転舵角δ*に転舵するようになる。
したがって、この変形例においても、操舵ハンドル11が切り返し操作されたとき、目標転舵角δ*と実転舵角δとの差が大きいことを条件に、同切り返し時点の目標転舵角δ*と実転舵角δとの差がキャンセルされて、目標転舵角δ*は、図8の2点差線で示すように、以降切り返し時点の実転舵角δから連続的に変化するようになる。そして、左右前輪FW1,FW2はこの新たな目標転舵角δ*に向かって転舵制御されるようになる。その結果、左右前輪FW1,FW2の転舵方向が操舵ハンドル11の操舵方向と逆向きになることが解消され、操舵ハンドル11の切り返し操作があっても、運転者は違和感を覚えることなく車両を操舵できる。
なお、この変形例においても、第1および第2転舵用ECU34,35は、ステップS69,S70の処理により、補正量Δθが「0」でなくなったことを条件に、補正量Δθを操舵反力用ECU33に出力する。したがって、この変形例においても、操舵反力用ECU33は、前記補正量Δθによって補正された補正操舵角θcを用いて計算された目標操舵反力に応じて操舵反力用電動モータ13の作動を制御する。その結果、操舵ハンドル11には、前記補正量Δθを考慮した操舵反力が付与されるようになる。
また、上記変形例においては、第1または第2転舵制御系統のフェイルとは無関係に補正量Δθを計算するので、第1および第2転舵用電動モータ24,25に代えて1つの転舵用電動モータで左右前輪FW1,FW2を転舵制御するようにしてもよい。この場合、前記一つの転舵用電動モータが図7の転舵制御プログラムによって転舵制御されるようにすればよい。
また、上記実施形態においては、第1および第2転舵用電動モータ24,25で左右前輪FW1,FW2を転舵するようにした。しかし、これに代えて、3つ以上の転舵用電動モータで左右前輪FW1,FW2を転舵するようにしてもよい。この場合、各転舵用電動モータの作動が、図3または図4に示されるような第1または第2転舵制御プログラムによって制御されるようにすればよい。そして、この場合には、各転舵用電動モータがそれぞれ含まれる複数の転舵制御系統のうちでいずれか一つまたは複数の転舵制御系統にフェイルが発生したとき、フェイルの発生していない転舵制御系統により、補正量Δθが計算されるとともに、補正操舵角θcがこの補正量Δθを用いて計算され、左右前輪FW1,FW2がこの補正操舵角θcによって決まる目標転舵角δ*に転舵されるようにすればよい。
さらに、上記実施形態においては、車両を操舵するために回動操作される操舵ハンドル11を用いるようにした。しかし、これに代えて、例えば、直線的に変位するジョイスティックタイプの操舵ハンドルを用いてもよいし、その他、運転者によって操作されるとともに車両に対する操舵を指示できるものであれば、いかなるものを用いてもよい。
FW1,FW2…前輪、10…操舵操作装置、11…操舵ハンドル、13…操舵反力用電動モータ、20…転舵装置、21…転舵軸、24,25…転舵用電動モータ、31…操舵角センサ、32…転舵角センサ、33…操舵反力用ECU、34,35…転舵用ECU。