ところで、一般的に、運転者は、微小な角度振れを生じさせながら操舵ハンドル(ハンドル)を保舵する傾向を有している。この場合、上記従来の各装置のように、運転者による操舵ハンドルの操作状態の変化すなわち操舵角や操舵角速度の変化に基づいて目標操舵反力や目標反力トルクを決定するのみでは、例えば、操舵角や操舵角速度の検出分解能の差異に起因して、操舵ハンドル(ハンドル)の微小な角度振れに伴う反力(反力トルク)の変動が知覚されて操舵フィーリングを悪化させる場合がある。
すなわち、操舵角や操舵角速度の検出分解能が高い(細かい)場合であれば、各サンプリング時刻ごとの目標反力(反力トルク)の変動幅は小さくなるため運転者には知覚できず、運転者が操舵フィーリングの悪化を覚える可能性は低くなると考えられる。しかし、操舵角や操舵角速度の検出分解能が低い(粗い)場合には、目標反力(反力トルク)の変動幅も大きくなってしまうため、運転者が反力(反力トルク)の変動を知覚して、操舵フィーリングの悪化を覚える可能性が高くなると考えられる。
本発明は、上記した課題を解決するためになされたものであり、その目的は、運転者による操舵ハンドルの操作状態に応じて最適な変動量となる反力トルクを付与できる反力制御装置および反力設定方法を提供することにある。
本発明の特徴は、運転者によって操作される操舵ハンドルと、同操舵ハンドルの操作に対して反力トルクを生成して付与するための反力発生装置とを備えた車両に適用されて、前記操舵ハンドルの操作状態に応じて前記反力発生装置が付与する反力トルクを設定して制御する反力制御装置において、前記操舵ハンドルに対する運転者の操作入力値を所定のサンプリング時刻ごとに検出する操作入力値検出手段と、前記操作入力値検出手段によって検出された操作入力値の過去の履歴を用いて、運転者が前記操舵ハンドルを保舵しているときに前記操舵ハンドルに微小な角度振れを生じさせることによって前記操舵ハンドルの操作方向における振動が発生しているか否かを判定する操舵ハンドル振動発生判定手段と、前記操舵ハンドル振動発生判定手段によって前記操舵ハンドルに振動が発生しているときは前記所定のサンプリング時刻ごとに検出された前記操作入力値に対応して付与される各反力トルク間の変動量を予め設定された下限値まで一様に低下させて変更し、前記操舵ハンドル振動発生判定手段によって前記操舵ハンドルに振動が発生していないときは前記変動量を予め設定された上限値まで一様に増加させて変更する反力トルク変動量変更手段と、前記反力トルク変動量変更手段によって変更された前記変動量を用いて前記反力発生装置が生成して付与する目標反力トルクを設定する目標反力トルク設定手段とを備えたことにある。
この場合、前記操舵ハンドル振動発生判定手段は、前記操作入力値検出手段によって所定のサンプリング時刻ごとに検出された各操作入力値間の差分値の過去の履歴を用いて、前記操作入力値検出手段によって今回のサンプリング時刻に検出された操作入力値に対応する今回の差分値の符号と所定回だけ過去のサンプリング時刻に検出された操作入力値に対応する過去の差分値の符号とが一つでも異なるときに前記操舵ハンドルの操作方向における振動が発生していると判定し、前記今回の差分値の符号と前記過去の差分値の符号とが全て同じときに前記操舵ハンドルの操作方向における振動が停止していると判定するとよい。
また、これらの場合には、前記反力トルク変動量変更手段は、前記操作入力値検出手段によって検出された操作入力値に対して比例関係にある前記変動量を、前記操舵ハンドル振動発生判定手段による判定に基づいて、前記操舵ハンドルの操作方向における振動が発生していると判定されるごとに一様に減少し、前記操舵ハンドルの操作方向における振動が停止していると判定されるごとに一様に増加するゲイン値を前記操作入力値検出手段によって所定のサンプリング時刻ごとに検出された前記操作入力値に対して乗算した新たな操作入力値を用いて変更するとよい。
さらに、前記反力トルク変動量変更手段は、前記操作入力値検出手段によって検出された操作入力値に対して比例関係にある前記変動量を、前記比例関係における傾きを表す摩擦トルク係数値を用いて、前記操舵ハンドル振動発生判定手段による判定に基づいて、前記操舵ハンドルの操作方向における振動が発生していると判定されるごとに前記摩擦トルク係数値を一様に下げ、前記操舵ハンドルの操作方向における振動が停止していると判定されるごとに前記摩擦トルク係数値を一様に上げることによって変更するとよい。
また、本発明の他の特徴は、運転者による車両の操舵ハンドルの操作に対して付与する反力トルクを前記操舵ハンドルの操作状態に応じて設定する反力設定方法において、前記操舵ハンドルに対する運転者の操作入力値を所定のサンプリング時刻ごとに検出し、前記検出された操作入力値の過去の履歴を用いて、運転者が前記操舵ハンドルを保舵しているときに前記操舵ハンドルに微小な角度振れを生じさせることによって前記操舵ハンドルの操作方向における振動が発生しているか否かを判定し、前記操舵ハンドルに振動が発生しているときは前記所定のサンプリング時刻ごとに検出された前記操作入力値に対応して付与される各反力トルク間の変動量を予め設定された下限値まで一様に低下させて変更し、前記操舵ハンドルに振動が発生していないときは前記変動量を予め設定された上限値まで一様に増加させて変更し、前記変更された前記変動量を用いて前記操舵ハンドルの操作に対して付与する目標反力トルクを設定するようにしたことにもある。
この場合、前記所定のサンプリング時刻ごとに検出された各操作入力値間の差分値の過去の履歴を用いて、今回のサンプリング時刻に検出された操作入力値に対応する今回の差分値の符号と所定回だけ過去のサンプリング時刻に検出された操作入力値に対応する過去の差分値の符号とが一つでも異なるときに前記操舵ハンドルの操作方向における振動が発生していると判定し、前記今回の差分値の符号と前記過去の差分値の符号とが全て同じときに前記操舵ハンドルの操作方向における振動が停止していると判定するようにするとよい。
また、これらの場合、前記変動量は前記検出された操作入力値に対して比例関係にあり、前記変動量を、前記操舵ハンドルの操作方向における振動が発生していると判定されるごとに一様に減少し、前記操舵ハンドルの操作方向における振動が停止していると判定されるごとに一様に増加するゲイン値を前記所定のサンプリング時刻ごとに検出された前記操作入力値に対して乗算した新たな操作入力値を用いて変更するようにするとよい。
さらに、前記変動量は前記検出された操作入力値に対して比例関係にあり、前記変動量を、前記比例関係における傾きを表す摩擦トルク係数値を用いて、前記操舵ハンドルの操作方向における振動が発生していると判定されるごとに前記摩擦トルク係数値を一様に下げ、前記操舵ハンドルの操作方向における振動が停止していると判定されるごとに前記摩擦トルク係数値を一様に上げることによって変更するようにするとよい。
これらによれば、操舵ハンドルに振動が発生しているときは所定のサンプリング時刻ごとに検出された操作入力値に対応して付与される(定まる)各反力トルク(より具体的には、反力トルクを形成する摩擦トルク)間の変動量を予め設定された下限値まで一様に低下させて変更することができる。一方、操舵ハンドルに振動が発生していないときは各反力トルク(摩擦トルク)間の変動量を予め設定された上限値まで一様に増加させて変更することができる。
これにより、例えば、運転者が操舵ハンドルに微小な角度振れ(振動)が生じるように保舵する状況であっても、振動に伴って変動する反力トルク(摩擦トルク)の変動量を下限値まで小さくすることができる。このため、実際に反力トルク(摩擦トルク)の変動が生じていても運転者によって知覚されにくくすることができて、良好な操舵フィーリングを確保することができる。一方、例えば、運転者が操舵ハンドルを一方向に操作している、言い換えれば、操舵ハンドルに振動が発生していない状況では、反力トルク(摩擦トルク)の変動量を上限値まで大きくすることができる。このため、運転者は操舵ハンドルの操作に応じた適切な反力を知覚することができて、良好な操舵フィーリングを確保することができる。
また、操舵ハンドルに振動が発生しているか否かを判定することに関しては、今回のサンプリング時刻に検出された操作入力値に対応する今回の差分値の符号と所定回だけ過去のサンプリング時刻に検出された操作入力値に対応する過去の差分値の符号に基づいて、これらの符号が一つでも異なるときに操舵ハンドルの操作方向における振動が発生していると判定することができる。また、今回の差分値の符号と過去の差分値の符号とが全て同じときに操舵ハンドルの操作方向における振動が停止していると判定することができる。これにより、複雑な判定処理を実行する必要がなく、極めて容易にかつ正確に操舵ハンドルに振動が発生しているか否かを判定することができる。
また、所定のサンプリング時刻ごとに検出された操作入力値に対応して付与される各反力トルク(摩擦トルク)間の変動量が検出された操作入力値に対して比例関係にある場合には、反力トルク(摩擦トルク)の変動量を、操舵ハンドルの操作方向における振動が発生していると判定されるごとに一様に減少し、操舵ハンドルの操作方向における振動が停止していると判定されるごとに一様に増加するゲイン値を所定のサンプリング時刻ごとに検出された操作入力値に対して乗算した新たな操作入力値を用いて変更することができる。また、比例関係における傾きを表す摩擦トルク係数値を用いて、操舵ハンドルの操作方向における振動が発生していると判定されるごとに摩擦トルク係数値を一様に下げ、操舵ハンドルの操作方向における振動が停止していると判定されるごとに摩擦トルク係数値を一様に上げることによって変更することもできる。
これにより、操舵ハンドルの操作状態に応じて反力トルク(摩擦トルク)の変動量を確実に変更することができる。したがって、操舵ハンドルに振動が発生している状況であっても、運転者によって反力トルク(摩擦トルク)の変動を知覚されにくくすることができて、良好な操舵フィーリングを確保することができる。一方で、操舵ハンドルに振動が発生していない状況では、運転者は操舵ハンドルの操作に応じた反力を知覚することができて、良好な操舵フィーリングを確保することができる。
a.第1実施形態
以下、本発明の第1実施形態に係る反力制御装置について図面を用いて説明する。図1は、各実施形態に共通して、本発明に係る反力制御装置を備えたステアバイワイヤ方式の操舵装置を概略的に示している。
この操舵装置は、転舵輪としての左右前輪FW1,FW2を転舵するために、運転者によって回動操作される操舵ハンドル11を備えている。操舵ハンドル11は、操舵入力軸12の上端に固定され、操舵入力軸12の下端は電動モータおよび減速機構からなる反力発生装置としての反力アクチュエータ13に接続されている。反力アクチュエータ13は、後述するように、運転者の操舵ハンドル11の回動操作状態に応じて所定の反力を付与する。
また、この操舵装置は、電動モータおよび減速機構からなる転舵アクチュエータ21を備えている。この転舵アクチュエータ21による転舵力は、転舵出力軸22、ピニオンギア23およびラックバー24を介して左右前輪FW1,FW2に伝達される。この構成により、転舵アクチュエータ21からの回転力は転舵出力軸22を介してピニオンギア23に伝達され、ピニオンギア23の回転によりラックバー24が軸線方向に変位して、このラックバー24の軸線方向の変位により、左右前輪FW1,FW2は左右に転舵される。
次に、これらの反力アクチュエータ13および転舵アクチュエータ21の作動を制御する電気制御装置について説明する。電気制御装置は、操舵角センサ31、操舵トルクセンサ32、転舵角センサ33および車速センサ34を備えている。
操作入力値検出手段としての操舵角センサ31は、操舵入力軸12に組み付けられて、所定のサンプリング時刻ごとに操舵ハンドル11の中立位置からの回転角を検出して、操作入力値としての操舵角θを出力する。操舵トルクセンサ32も、操舵入力軸12に組み付けられて、操舵ハンドル11に入力されたトルクを検出してトルクTとして出力する。転舵角センサ33は、転舵出力軸22に組み付けられて、転舵出力軸22の中立位置からの回転角を検出して実転舵角δ(左右前輪FW1,FW2の転舵角に対応)として出力する。ここで、操舵角θおよび実転舵角δは、中立位置を「0」とし、左方向の回転角を正の値で表わすとともに、右方向の回転角を負の値で表わす。また、トルクTは、右方向に作用するトルクを正の値で表わすとともに、左方向に作用するトルクを負の値で表わす。車速センサ34は、車両の車速を検出して車速Vとして出力する。
これらのセンサ31〜34は、反力制御装置を構成する電子制御ユニット35に接続されている。電子制御ユニット35は、CPU、ROM、RAMなどからなるマイクロコンピュータを主要構成部品とするもので、図2に示す反力制御プログラムを含む各種プログラムの実行により反力アクチュエータ13および転舵アクチュエータ21の作動をそれぞれ制御する。電子制御ユニット35の出力側には、反力アクチュエータ13および転舵アクチュエータ21を駆動するための駆動回路36,37がそれぞれ接続されている。駆動回路36,37内には、反力アクチュエータ13および転舵アクチュエータ21内の電動モータに流れる駆動電流を検出するための電流検出器36a,37aが設けられている。電流検出器36a,37aによって検出された駆動電流は、両電動モータの駆動を制御するために、電子制御ユニット35にフィードバックされている。
次に、上記のように構成した操舵装置の第1実施形態における動作について詳細に説明する。運転者によって図示しないイグニッションスイッチがオン状態とされると、電子制御ユニット35(より詳しくは、CPU)は、図2に示す反力制御プログラムを所定の短時間ごとに繰り返し実行する。
すなわち、電子制御ユニット35は、反力制御プログラムの実行をステップS10にて開始し、ステップS11にて、操舵角センサ31によって検出された操舵角θを入力するとともに、車速センサ34によって検出された車速Vを入力する。ここで、電子制御ユニット35は、入力した操舵角θを入力順に、例えば、RAMの所定記憶位置に過去の履歴として記憶するようになっている。続いて、ステップS12においては、電子制御ユニット35は、運転者による操舵ハンドル11の回動操作に対して付与する基本反力トルクTbを演算する。以下、この基本反力トルクTbの演算について具体的に説明する。
ステアバイワイヤ方式の操舵装置においては、操舵ハンドル11の回動操作に伴って変化する操舵角θに応じて、例えば、操舵角θに比例して弾性力を生成する成分(所謂、ばね項成分)を主とする基本反力トルクTbが付与される。この基本反力トルクTbは、例えば、車両の速度域に応じて変化するようになっている。すなわち、基本反力トルクTbは、高速域では操舵ハンドル11に適度な大きさの反力が付与されるように大きな値となり、低速域では操舵ハンドル11を容易に回動操作できるように小さな値となる。
このため、電子制御ユニット35は、前記ステップS11にて入力した検出車速Vに基づいて、まず、図示を省略する基本反力トルクマップを決定する。そして、電子制御ユニット35は、決定した基本反力トルクマップを用いて、前記ステップS11にて入力した検出操舵角θに対応する基本反力トルクTbを演算する。このように、基本反力トルクTbを計算すると、電子制御ユニット35は、ステップS13に進む。
ステップS13においては、電子制御ユニット35は、摩擦振動低減演算ルーチンを実行する。以下、このルーチンについて詳細に説明する。
ステアバイワイヤ方式を採用した操舵装置においては、上述したように、操舵ハンドル11と左右前輪FW1,FW2との機械的な連結が解除されている。すなわち、運転者が操舵ハンドル11を回動操作したときには、反力アクチュエータ13が発生する反力のみが付与される。この場合、基本反力トルクTbのみが付与される状況では、運転者による操舵ハンドル11の回動操作に対して弾性力が主に付与される。
ところで、運転者が車両を旋回状態に維持する場合には、操舵ハンドル11をある操舵角θまで回動操作した状態で保持する、すなわち、操舵ハンドル11を保舵操作する必要がある。しかし、この場合には、運転者は常に反力(基本反力トルクTb)に抗した操舵力を入力して操舵ハンドル11を保持しなければならない。一方、車両を直進状態に維持する場合には、操舵ハンドル11を中立位置に保持する必要がある。しかし、この場合には、操舵角θが略「0」近傍に維持されるため、付与される反力(基本反力トルクTb)が極めて小さく、運転者はしっかりと操舵ハンドル11を把持する必要がある。
このような運転者に対する肉体的な負担を軽減するために、ステアバイワイヤ方式を採用した操舵装置では、一般的に、ステアバイワイヤ方式を採用しない通常の操舵装置において操舵ハンドルの回動操作に対して構造上必然的に発生する摩擦感(摩擦トルク)を擬似的に生成して付与するようになっている。ところが、擬似的な摩擦トルクを付与している状況において、例えば、車両直進時に運転者が操舵ハンドル11を中立位置近傍で微小に左右方向に回動操作している場合や車両旋回時に操舵ハンドル11を保舵操作している場合では、摩擦トルクの付与方向が繰り返し反転して、所謂、摩擦振動が生じる可能性がある。
このような摩擦振動が生じた場合、操舵ハンドル11の回動操作に対する摩擦トルクの変動量が小さければ、運転者は摩擦トルクの反転に伴う変動を知覚にくく違和感を覚えにくい。一方、操舵ハンドル11の回動操作に対する摩擦トルクの変動量が大きければ、運転者は摩擦トルクの反転に伴う変動を知覚しやすく違和感を覚える。そして、運転者がこのような違和感を覚える状態では、良好な操舵フィーリングを得ることができない。
このことに基づき、電子制御ユニット35は、図3に示す摩擦振動低減演算ルーチンを実行して、摩擦トルクの変動に伴って運転者が覚える違和感を抑制し、良好な操舵フィーリングが得られるようにする。すなわち、電子制御ユニット35は、摩擦振動低減演算ルーチンの実行をステップS50にて開始し、ステップS51にて、後述するように演算されて付与する摩擦トルクTfの変動量ΔTfを操舵ハンドル11の回動操作状態に応じて変化させるための変化抑制定数A,Bを演算する。具体的には、電子制御ユニット35は、前記ステップS12にて演算した基本反力トルクTbの大きさに応じて変化抑制定数A,B(ともに正の値)を計算する。
より詳しく説明すると、電子制御ユニット35は、基本反力トルクTbの大きさ(絶対値)に対して、基本反力トルクTbが小さいときに変化抑制定数A,Bの大きさが一定の上限値となり、基本反力トルクTbが大きいときに変化抑制定数A,Bの大きさが一定の下限値となり、基本反力トルクTbの増加(減少)に対して変化抑制定数A,Bの大きさが上限値から下限値(下限値から上限値)に向けて一様に変化する変化特性を表す図4(a)のマップを用いる。そして、電子制御ユニット35は、前記ステップS12にて演算した基本反力トルクTbに対応する変化抑制定数A,Bをマップ演算する。このように、変化抑制定数A,Bを演算すると、電子制御ユニット35は、ステップS52に進む。
なお、この第1実施形態においては、図4(a)に示したマップを用い、変化抑制定数A,Bを基本反力トルクTbの絶対値に基づいて同じ値として演算するように実施する。しかしながら、変化抑制定数A,Bを異なる値として演算したり、また、図4(b)に例示するように、変化抑制定数A,Bをそれぞれ異なるマップを用いて演算するように実施することも可能である。
ステップS52においては、電子制御ユニット35は、前々回の反力制御プログラムの実行時に入力して記憶した操舵角θn-2(以下、前々回操舵角θn-2という)と前回の反力制御プログラムの実行時に入力して記憶した操舵角θn-1(以下、前回操舵角θn-1という)とが異なっているか否かを判定する。すなわち、電子制御ユニット35は、前回の反力制御プログラムの実行時点において前回操舵角θn-1と前々回操舵角θn-2とが異なる、言い換えれば、前回の反力制御プログラムの実行時点において運転者によって操舵ハンドル11が微小に回動操作されていれば、「Yes」と判定してステップS53に進む。一方、前回の反力制御プログラムの実行時点において前回操舵角θn-1と前々回操舵角θn-2とが同一、言い換えれば、前回の反力制御プログラムの実行時点において運転者によって操舵ハンドル11が微小に回動操作されていなければ、電子制御ユニット35は「No」と判定してステップS54に進む。すなわち、この場合には、前回の反力制御プログラムの実行時において、操舵ハンドル11に摩擦振動は発生していない。
ステップS53においては、電子制御ユニット35は、下記式1に従い、前回操舵角θn-1と前々回操舵角θn-2との差分値Δθn-1(以下、前回差分値Δθn-1という)を演算する。
Δθn-1=θn-1−θn-2 …式1
すなわち、電子制御ユニット35は、演算した前回差分値Δθn-1の符号に基づき、前回の反力制御プログラムの実行時点において操舵ハンドル11の回動操作が操舵角θの増大する操作であったか操舵角θの減少する操作であったか否かを判別することができる。具体的には、演算した前回差分値Δθn-1の符号が正であれば前回の反力制御プログラムの実行時において操舵ハンドル11は操舵角θが増加する方向に(左方向に)操作されており、前回差分値Δθn-1の符号が負であれば操舵ハンドル11は操舵角θが減少する方向に(右方向に)操作されていると判別することができる。そして、電子制御ユニット35は、前回差分値Δθn-1を演算するとステップS54に進む。
ステップS54においては、電子制御ユニット35は、下記式2に従い、今回の反力制御プログラムの実行により前記ステップS12にて入力して記憶した操舵角θn(以下、今回操舵角θnという)と前回操舵角θn-1との差分値Δθn(以下、今回差分値Δθnという)を演算する。
Δθn=θn−θn-1 …式2
すなわち、電子制御ユニット35は、演算した今回差分値Δθnの符号に基づき、今回差分値Δθnの符号が正であれば今回の反力制御プログラムの実行時点において操舵ハンドル11は左方向に操作されており、今回差分値Δθnの符号が負であれば操舵ハンドル11は右方向に操作されていると判別することができる。そして、電子制御ユニット35は、今回差分値Δθnを演算するとステップS55に進む。
ステップS55においては、電子制御ユニット35は、前記ステップS53にて演算した前回差分値Δθn-1と前記ステップS54にて演算した今回差分値Δθnとを互いに乗算し、この乗算した値の符号が負であるか否かを判定する。すなわち、電子制御ユニット35は、ステップS55の判定処理を実行することにより、操舵ハンドル11の回動操作方向が前回の反力制御プログラムの実行時点と今回の反力制御プログラムの実行時点とで異なっているか否かを判定する。
具体的に説明すると、前回の反力制御プログラムの実行時点において前回差分値Δθn-1が正となる左方向操作(または、差分値Δθn-1が負となる右方向操作)であり、今回の反力制御プログラムの実行時点において今回差分値Δθnが負となる右方向操作(または、差分値Δθnが正となる左方向操作)である場合には、前回差分値Δθn-1と今回差分値Δθnとを乗算した値が負となる。この場合、電子制御ユニット35は、操舵ハンドル11の回動操作方向が反転している(以下、この操作を反転操作という)ため、「Yes」と判定してステップS56に進む。
一方、前回の反力制御プログラムの実行時点において前回差分値Δθn-1が正となる左方向操作(または、差分値Δθn-1が負となる右方向操作)であり、今回の反力制御プログラムの実行時点において今回差分値Δθnが正となる左方向操作(または、差分値Δθnが負となる右方向操作)である場合には、前回差分値Δθn-1と今回差分値Δθnとを乗算した値が正となる。また、今回の反力制御プログラムの実行時点において今回差分値Δθnが「0」である場合には、前回差分値Δθn-1と今回差分値Δθnとを乗算した値が「0」となる。これらの場合、電子制御ユニット35は、操舵ハンドル11の回動操作方向が反転していない(以下、この操作を非反転操作という)または運転者によって操舵ハンドル11が保舵操作(中立位置での保持を含む)されているため、「No」と判定してステップS57に進む。
ステップS56においては、電子制御ユニット35は、操舵ハンドル11の反転操作に対して付与する摩擦トルクTfの変動量ΔTfを小さくするために、今回差分値Δθnに乗算するゲインαを演算する。具体的に説明すると、操舵ハンドル11が左方向操作(右方向操作)から右方向操作(左方向操作)に反転操作されている状況においては、付与される摩擦トルクTfの付与方向も反転する。このとき、付与される摩擦トルクTfの変動量ΔTfの大きさが大きいほど、運転者は反転操作に伴う違和感を知覚しやすくなる。
この場合、後述するように、操舵角θの変化量すなわち今回差分値Δθnに応じて(比例して)摩擦トルクTfが演算されて付与されるときには、今回差分値Δθnが大きいほど摩擦トルクTfの変動量ΔTfが大きくなる。すなわち、操舵角センサ31が操舵角θを検出するときの検出分解能(今回差分値Δθnの大きさに対応)が粗いほど摩擦トルクTfの変動量ΔTfが大きくなる。このため、電子制御ユニット35は、操舵ハンドル11が反転操作されている場合には、今回差分値Δθnを小さくするために、下記式3に従って前記ステップS51にて演算した変化抑制定数Aを減算することにより、新たなゲインαを演算する。
α=α−A …式3
そして、電子制御ユニット35は、新たなゲインαを演算すると、ステップS60に進む。
ステップS57においては、電子制御ユニット35は、前記ステップS53にて演算した前回差分値Δθn-1と前記ステップS54にて演算した今回差分値Δθnとを互いに乗算し、この乗算した値の符号が正であるか否かを判定する。すなわち、電子制御ユニット35がステップS57を実行する状況としては、ステップS55にて「No」と判定した状況、すなわち、運転者が反転操作以外の操作(非反転操作または保舵操作)を行っている状況である。そして、電子制御ユニット35がステップS57の判定処理を実行することにより、操舵ハンドル11の回動操作方向が前回までの反力制御プログラムの実行時点と今回の反力制御プログラムの実行時点とで一致しているか否かを判定する。
具体的に説明すると、前記ステップS53にて演算した前回差分値Δθn-1と前記ステップS54にて演算した今回差分値Δθnとを互いに乗算した値が正であれば、運転者によって操舵ハンドル11が引き続き一方向に非反転操作(左方向操作または右方向操作)されている。このため、電子制御ユニット35は「Yes」と判定してステップS58に進む。一方、前記ステップS53にて演算した前回差分値Δθn-1と前記ステップS54にて演算した今回差分値Δθnとを互いに乗算した値が「0」であれば、今回の反力制御プログラムの実行時点において運転者は操舵ハンドル11を保舵操作している。このため、電子制御ユニット35は「No」と判定してステップS59に進む。
ステップS58においては、電子制御ユニット35は、操舵ハンドル11の非反転操作に対して付与する摩擦トルクTfの変動量ΔTfを通常状態に戻すために、今回差分値Δθnに乗算するゲインαを演算する。具体的に説明すると、操舵ハンドル11が反転することなく一方向に操作されている状況においては、付与される摩擦トルクTfの付与方向も一方向となる。このため、電子制御ユニット35は、操舵ハンドル11の回動操作が非反転操作されている場合には、今回差分値Δθnを通常の大きさ(言い換えれば、操舵角センサ31における通常の検出分解能)とする。すなわち、電子制御ユニット35は、操舵ハンドル11が非反転操作されている場合には、例えば、前記ステップS56にてゲインαを減少させた分だけ増加させるように、下記式4に従って前記ステップS51にて演算した変化抑制定数Bを加算することにより、新たなゲインαを演算する。
α=α+B …式4
そして、電子制御ユニット35は、新たなゲインαを演算すると、ステップS60に進む。
一方、ステップS59においては、電子制御ユニット35は、操舵ハンドル11の保舵操作に対して付与する摩擦トルクTfを変更しない。すなわち、電子制御ユニット35は、操舵ハンドル11が保舵操作されている場合には、ゲインαを更新することなく、現在のゲインαを維持する。そして、電子制御ユニット35は、ステップS60に進む。
ステップS60においては、電子制御ユニット35は、前記ステップS56またはステップS57にて演算したゲインαに対して、例えば、0<α≦1の範囲となるように周知のリミッタ処理を実行する。そして、電子制御ユニット35は、ステップS61に進む。
ステップS61においては、電子制御ユニット35は、下記式5により、前記ステップS56またはステップS58にて演算してステップS60にてリミッタ処理したゲインα、あるいは、前記ステップS59にて維持したゲインαを今回差分値Δθnに乗算して補正した今回差分値Δθn_newを演算する。
Δθn_new=α・Δθn …式5
これにより、操舵ハンドル11が反転操作されている状況では、小さな値としたゲインαが今回差分値Δθnに対して乗算されるため、今回差分値Δθn_newは小さな値として演算される。一方、操舵ハンドル11が非反転操作されている状況では、大きな値としたゲインαが今回差分値Δθnに対して乗算されるため、今回差分値Δθn_newは大きな値として演算される。このように、今回差分値Δθn_newを演算すると、電子制御ユニット35はステップS62に進む。
ステップS62においては、電子制御ユニット35は前記ステップS61にて演算した今回差分値Δθn_newを用いて摩擦トルクTfを演算する。以下、この摩擦トルクTfの演算について説明する。なお、摩擦トルクTf、変動量ΔTf、検出操舵角θ、今回差分値Δθnおよび今回差分値Δθn_newは本来正負の符号を有するものであるが、以下の説明を簡単にするために各値を絶対値として扱う。
摩擦トルクTfは、図5に示すように、検出操舵角θの変化に対して、正の値Kを比例係数とする比例関数により表すことができる。言い換えれば、この比例関数に従って、前回演算された摩擦トルクTfn-1に対して今回差分値Δθnに対応する変動量ΔTfが加算されることによって今回の摩擦トルクTfを演算することができる。したがって、上述したように、今回差分値Δθnが大きな値で固定されていれば摩擦トルクTfの変動量ΔTfも大きくなり、その結果、運転者によって知覚される今回の摩擦トルクTfは前回演算された摩擦トルクTfn-1に比して大きくなる。このため、特に、運転者が操舵ハンドル11を反転操作している状況では、摩擦トルクTfの変動を知覚しやすく違和感を覚えやすい。
これに対して、前記ステップS61にて演算された今回差分値Δθn_newを用いることにより、操舵ハンドル11が反転操作されている場合には、小さな今回差分値Δθn_newを用いて摩擦トルクTfを演算することができる。一方、操舵ハンドル11が非反転操作されている場合には、通常の大きさの今回差分値Δθn_newを用いて摩擦トルクTfを演算することができる。すなわち、電子制御ユニット35は、下記式6に従い、今回差分値Δθn_newに対応する摩擦トルクTfの変動量ΔTfを演算する。そして、電子制御ユニット35は、下記式7に従って、演算した変動量ΔTfを前回の反力制御プログラムの実行によって計算した摩擦トルクTfn-1に加算して摩擦トルクTfを演算する。
ΔTf=Δθn_new・K …式6
Tf=Tfn-1+ΔTf …式7
ただし、前記式6中のKは、上述したように比例関数の比例係数を表すものであって、摩擦トルク係数値を表す。
このように、摩擦トルクTfを演算すると、電子制御ユニット35はステップS63に進んで図2に示す反力制御プログラムに戻る。そして、電子制御ユニット35は、反力制御プログラムのステップS14を実行する。
ステップS14においては、電子制御ユニット35は、下記式8により、前記ステップS12にて演算した基本反力トルクTbに対して摩擦振動低減演算ルーチンのステップS62にて演算した摩擦トルクTfとを加算し、目標反力トルクTzを演算する。
Tz=Tb+Tf …式8
そして、電子制御ユニット35は、ステップS15に進む。
ステップS15においては、電子制御ユニット35は、反力アクチュエータ13の作動を制御して、前記ステップS14にて演算した目標反力トルクTzを、操舵入力軸12を介して操舵ハンドル11に付与する。具体的に説明すると、電子制御ユニット35は、駆動回路36から反力アクチュエータ13内の電動モータに流れる駆動電流を入力するとともに操舵トルクセンサ32からトルクTをも入力し、同電動モータに目標反力トルクTzに対応した駆動電流が流れるように駆動回路36をフィードバック制御する。この反力アクチュエータ13内の電動モータの駆動制御により、電動モータは、操舵入力軸12を介して操舵ハンドル11に対し、目標反力トルクTzに対応した反力を付与する。
このように反力アクチュエータ13が作動制御されることにより、運転者は、操舵ハンドル11を介して適切な反力を知覚することができる。具体的に説明すると、運転者が操舵ハンドル11を回動操作(切り増し操作または切り戻し操作)しているときには、基本反力トルクTbを主とする弾性的に変化する反力を知覚することができる。また、運転者が操舵ハンドル11を保舵操作や中立位置で微小な回動操作を行っているときには、滑らかに変動する摩擦トルクTfに基づく反力を知覚することができる。
ここで、電子制御ユニット35は、運転者によって操舵ハンドル11が回動操作されて、操舵角θが入力された場合には、この入力された操舵角θに対応した転舵角δを計算する。そして、この転舵角δに一致するように左右前輪FW1,FW2を転舵制御する。すなわち、電子制御ユニット35は、駆動回路37から転舵アクチュエータ21内の電動モータに流れる駆動電流を入力するとともに、転舵角センサ33によって検出された実転舵角δをも入力する。そして、電子制御ユニット35は、左右前輪FW1,FW2が転舵角δに転舵されるように転舵アクチュエータ21内の電動モータに適切な駆動電流が流れるように駆動回路37をフィードバック制御する。
この転舵アクチュエータ21内の電動モータの駆動制御により、同電動モータの回転は、転舵出力軸22を介してピニオンギア23に伝達され、ピニオンギア23によりラックバー24を軸線方向に変位させる。そして、このラックバー24の軸線方向の変位により、左右前輪FW1,FW2は操舵角θに対応した転舵角δに転舵される。
以上の説明からも理解できるように、運転者が操舵ハンドル11を反転操作する状況であっても、振動に伴って変動する摩擦トルクTfの変動量ΔTfをゲインαによって定まる下限値まで小さくすることができる。このため、実際に摩擦トルクTfの変動が生じていても運転者によって知覚されにくくすることができて、良好な操舵フィーリングを確保することができる。一方、例えば、運転者が操舵ハンドル11を非反転操作している、言い換えれば、操舵ハンドル11に振動が発生していない状況では、摩擦トルクTfの変動量ΔTfをゲインαによって定まる上限値まで大きくすることができる。このため、運転者は操舵ハンドル11の操作に応じた反力を知覚することができて、良好な操舵フィーリングを確保することができる。
また、操舵ハンドル11に振動が発生しているか否かを判定することに関しては、今回のサンプリング時刻に検出された操舵角θに対応する今回差分値Δθnの符号と前回のサンプリング時刻に検出された操舵角θに対応する前回差分値Δθn-1の符号に基づいて、これらの符号が異なるときには操舵ハンドル11が反転操作されている、言い換えれば、振動が発生していると判定することができる。また、今回差分値Δθnの符号と前回差分値Δθn-1の符号とが同じときには操舵ハンドル11が非反転操作されている、言い換えれば、振動が停止していると判定することができる。これにより、複雑な判定処理を実行する必要がなく、極めて正確に操舵ハンドル11に振動が発生しているか否かを判定することができる。
さらに、前記式6に示したように、摩擦トルクTfの変動量ΔTfは、検出された操舵角θ、より詳しくは、ゲインαを今回差分値Δθnに乗算して演算した新たな今回差分値Δθn_newに対して比例関係にある。このため、操舵ハンドル11が反転操作されていて振動が発生していると判定されるごとに前記式3に示したようにゲインαを一様に減少させ、操舵ハンドル11が非反転操作されていて振動が停止していると判定されるごとに前記式4に示したようにゲインαを一様に増加させて摩擦トルクTfの変動量ΔTfを変更することができる。
これにより、操舵ハンドル11の操作状態に応じて摩擦トルクTfの変動量ΔTfを確実に変更することができる。したがって、操舵ハンドル11に振動が発生している状況であっても、運転者によって摩擦トルクTfの変動を知覚されにくくすることができて、良好な操舵フィーリングを確保することができる。一方で、操舵ハンドル11に振動が発生していない状況では、運転者は操舵ハンドル11の操作に応じた反力を知覚することができて、良好な操舵フィーリングを確保することができる。
b.第2実施形態
上記第1実施形態においては、電子制御ユニット35が摩擦振動低減演算ルーチンを実行することによって前記式6における新たな今回差分値Δθn_newを演算して変化させて摩擦トルクTfの変動量ΔTfを演算し、特に、反転操作時における摩擦トルクTfの変動に起因する違和感を抑制するように実施した。ところで、前記式6からも明らかなように、検出操舵角θに関連する今回差分値Δθn_newを変更することに代えて、比例係数として採用されている摩擦トルク係数値を変更することによっても、摩擦トルクTfの変動に起因する違和感を抑制することができる。以下、この第2実施形態を詳細に説明する。
この第2実施形態においても、上記第1実施形態と同様に、電子制御ユニット35は、図2に示した反力制御プログラムを実行する。ただし、この第2実施形態においては、ステップS13にて実行する摩擦振動低減演算ルーチンが上記第1実施形態の場合と異なる。したがって、以下の説明においては、この第2実施形態に係る摩擦振動低減演算ルーチンのみを詳細に説明する。
電子制御ユニット35は、反力制御プログラムのステップS13にて、図6に示す摩擦振動低減演算ルーチンを実行して、摩擦トルクTfの変動に伴って運転者が覚える違和感を抑制し、良好な操舵フィーリングが得られるようにする。すなわち、電子制御ユニット35は、摩擦振動低減演算ルーチンの実行をステップS100にて開始する。そして、電子制御ユニット35は、ステップS101において、下記式9により、今回の反力制御プログラムの実行により前記ステップS12にて入力して記憶した操舵角θ(i)(以下、今回操舵角θ(i)という)と前回の反力制御プログラムの実行により入力して記憶した操舵角θ(i-1)(以下、前回操舵角θ(i-1)という)との差分値Δθ(i)(以下、今回差分値Δθ(i)という)を演算する。
Δθ(i)=θ(i)−θ(i-1) …式9
すなわち、電子制御ユニット35は、演算した今回差分値Δθ(i)の符号に基づき、今回差分値Δθ(i)の符号が正であれば今回の反力制御プログラムの実行時点において操舵ハンドル11は操舵角θが増加する方向に(左方向に)操作されており、演算した今回差分値Δθ(i)の符号が負であれば操舵ハンドル11は操舵角θが減少する方向に(右方向に)操作されていると判別することができる。そして、電子制御ユニット35は、今回差分値Δθ(i)を演算するとステップS102に進む。
ステップS102においては、電子制御ユニット35は、前回までの摩擦振動低減演算ルーチンの実行により、後述するステップS108にて過去の履歴として記憶した過去の差分値Δθ*(1)〜差分値Δθ*(n)のうち、最後に記憶した差分値Δθ*(1)(以下、前回差分値Δθ*(1)という)と前記ステップS101にて演算した今回差分値θ(i)とを互いに乗算し、この乗算した値の符号が負であるか否かを判定する。すなわち、電子制御ユニット35は、ステップS102の判定処理を実行することにより、操舵ハンドル11の回動操作方向が前回までの反力制御プログラムの実行時点と今回の反力制御プログラムの実行時点とで異なっているか否かを判定する。
具体的に説明すると、前回までの反力制御プログラムの実行時点において前回差分値Δθ*(1)が正となる左方向操作(または、前回差分値Δθ*(1)が負となる右方向操作)であり、今回の反力制御プログラムの実行時点において今回差分値Δθ(i)が負となる右方向操作(または、今回差分値Δθ(i)が正となる左方向操作)である場合には、前回差分値Δθ*(1)と今回差分値Δθ(i)とを乗算した値が負となる。この場合、電子制御ユニット35は、運転者によって操舵ハンドル11が反転操作されているため、「Yes」と判定してステップS103に進む。
一方、前回までの反力制御プログラムの実行時点において前回差分値Δθ*(1)が正となる左方向操作(または、前回差分値Δθ*(1)が負となる右方向操作)であり、今回の反力制御プログラムの実行時点においても今回差分値Δθ(i)が正となる左方向操作(または、今回差分値Δθ(i)が負となる右方向操作)である場合には、前回差分値Δθ*(1)と今回差分値Δθ(i)とを乗算した値が正となる。また、今回の反力制御プログラムの実行時点において今回差分値Δθ(i)が「0」である場合には、前回差分値Δθ*(1)と今回差分値Δθ(i)とを乗算した値が「0」となる。これらの場合、電子制御ユニット35は、運転者によって操舵ハンドル11が非反転操作または保舵操作(中立位置での保持を含む)されているため、「No」と判定してステップS104に進む。
ステップS103においては、電子制御ユニット35は、操舵ハンドル11の反転操作に対して付与する摩擦トルクTfの変動量ΔTfを小さくするために、摩擦トルク係数値K(i)を演算する。具体的に説明すると、この第2実施形態においても、上記第1実施形態と同様に、前記式6,7に従って変動量ΔTfおよび摩擦トルクTfを計算する。したがって、この第2実施形態においても、付与される摩擦トルクTfの変動量ΔTfの大きさが大きいほど、運転者は反転操作に伴う違和感を知覚しやすくなる。
ところで、この場合、前記式6で比例係数として採用される摩擦トルク係数値Kが大きいほど、すなわち、比例関数の傾きが大きいほど、検出操舵角θの変化に対して摩擦トルクTfの変動量ΔTfが大きくなる。このため、電子制御ユニット35は、操舵ハンドル11が反転操作されている場合には、比例関数の傾きを小さくするために、下記式10に従って摩擦トルク係数値K(i)を演算する。
K(i)=K(i-1)−ΔKdown …式10
ただし、前記式10中のK(i-1)は前回までの摩擦振動低減演算ルーチンの実行によって演算した摩擦トルク係数値を表し、ΔKdownは予め実験的に設定された摩擦トルク係数値の減少時における変化量を表す。そして、電子制御ユニット35は、摩擦トルク係数値K(i)を演算すると、ステップS107に進む。なお、演算した摩擦トルク係数値K(i)が、予め設定された摩擦トルク係数値の下限値KL未満であるときには、摩擦トルク係数値K(i)は摩擦トルク係数値KLとされる。
一方、ステップS104においては、電子制御ユニット35は、前記ステップS101にて演算した今回差分値Δθ(i)と、後述するステップS108にて記憶した過去の差分値Δθ*(1)〜差分値Δθ*(n)とを順次乗算し、この乗算した値のうち、その符号が正となるものがあるか否かを判定する。すなわち、電子制御ユニット35がステップS104を実行する状況としては、ステップS102にて「No」と判定した状況、すなわち、運転者が反転操作以外の操作(非反転操作または保舵操作)を行っている状況である。そして、電子制御ユニット35がステップS104の判定処理を実行することにより、操舵ハンドル11の回動操作方向が前回までの反力制御プログラムの実行時点と今回の反力制御プログラムの実行時点とで一致しているか否かを判定する。
具体的に説明すると、今回差分値Δθ(i)と過去の差分値Δθ*(1)〜差分値Δθ*(n)とを順次乗算した値が正であれば、運転者によって操舵ハンドル11が引き続き一方向に非反転操作(切り増し操作または切り戻し操作)されている。このため、電子制御ユニット35は「Yes」と判定してステップS105に進む。一方、今回差分値Δθ(i)と過去の差分値Δθ*(1)〜差分値Δθ*(n)とを順次乗算した値が「0」であれば、今回の反力制御プログラムの実行時点において運転者は操舵ハンドル11を保舵操作している。このため、電子制御ユニット35は「No」と判定してステップS106に進む。
ステップS105においては、電子制御ユニット35は、操舵ハンドル11の非反転操作に対して付与する摩擦トルクTfの変動量ΔTfを通常状態に戻すための摩擦トルク係数値K(i)を演算する。具体的に説明すると、操舵ハンドル11が反転することなく一方向に操作されている状況においては、付与される摩擦トルクTfの付与方向も一方向となる。このため、電子制御ユニット35は、操舵ハンドル11の回動操作が非反転操作されている場合には、摩擦トルク係数値K(i)を通常の大きさとなるようにする。すなわち、電子制御ユニット35は、操舵ハンドル11が非反転操作されている場合には、比例関数の傾きを大きくするために、下記式11に従って摩擦トルク係数値K(i)を演算する。
K(i)=K(i-1)+ΔKup …式11
ただし、前記式11中のK(i-1)は前回までの摩擦振動低減演算ルーチンの実行によって演算した摩擦トルク係数値を表し、ΔKupは予め実験的に設定された摩擦トルク係数値の増加時における変化量を表す。そして、電子制御ユニット35は、摩擦トルク係数値K(i)を演算すると、ステップS107に進む。なお、演算した摩擦トルク係数値K(i)が、予め設定された摩擦トルク係数値の上限値KHを超えるときには、摩擦トルク係数値K(i)は摩擦トルク係数値KHとされる。
一方、ステップS106においては、電子制御ユニット35は、操舵ハンドル11の保舵操作に対して付与する摩擦トルクTfの変動量ΔTfを更新しない。すなわち、電子制御ユニット35は、操舵ハンドル11が保舵操作されている場合には、比例関数の傾きを更新することなく、下記式12に従って摩擦トルク係数値K(i)を維持する。
K(i)=K(i-1) …式12
そして、電子制御ユニット35は、ステップS107に進む。
ステップS107においては、電子制御ユニット35は、前記ステップS101にて演算した今回差分値Δθ(i)が「0」であるか否かを判定する。すなわち、電子制御ユニット35は、今回差分値Δθ(i)が「0」であれば、「Yes」と判定してステップS109に進む。一方、今回差分値Δθ(i)が「0」でなければ、電子制御ユニット35は「No」と判定してステップS108に進む。
ステップS108においては、電子制御ユニット35は、前記ステップS101にて演算した「0」ではない今回差分値Δθ(i)を過去の履歴として記憶する。具体的に説明すると、電子制御ユニット35は、今回の摩擦振動低減演算ルーチンの実行によって演算された今回差分値Δθ(i)を新たな前回差分値Δθ*(1)として更新し、以前の前回差分値Δθ*(1)を新たな差分値Δθ*(2)として更新し、以前の差分値Δθ*(n-1)を新たな差分値Δθ*(n)として更新して記憶する。すなわち、ステップS108にて過去の履歴として記憶される差分値Δθ*(1)〜差分値Δθ*(n)はすべて「0」ではない差分値が記憶される。そして、電子制御ユニット35は、過去の差分値Δθ*(1)〜差分値Δθ*(n)を更新して記憶すると、ステップS109に進む。
ステップS109においては、電子制御ユニット35は、上記第1実施形態における前記式6,7と同様の下記式13,14に従って摩擦トルクTfを演算する。
ΔTf=Δθ(i)・K(i) …式13
Tf=Tfn-1+ΔTf …式14
この場合、前記ステップS107にて「Yes」と判定した場合、すなわち、今回差分値Δθ(i)が「0」のときには、前記式13に従って計算される変動量ΔTfが「0」となる。したがって、操舵ハンドル11が保舵操作されている場合には、摩擦トルクTfは変化しない。
このように、摩擦トルクTfを演算すると、電子制御ユニット35はステップS110に進んで図2に示す反力制御プログラムに戻る。そして、電子制御ユニット35は、上記第1実施形態と同様に、反力制御プログラムのステップS14以降の各ステップ処理を実行して反力アクチュエータ13を駆動制御し、操舵入力軸12を介して操舵ハンドル11に対し、目標反力トルクTzに対応した反力を付与する。
以上の説明からも理解できるように、この第2実施形態においては、摩擦トルクTfの変動量ΔTfが検出操舵角θに対して比例関係にあるため、比例関係における傾きを表す摩擦トルク係数値Kを用いて変更することができる。すなわち、この第2実施形態においては、操舵ハンドル11の操作方向における振動が発生していると判定されるごとに前記式10に従って摩擦トルク係数値Kを一様に減少させ、操舵ハンドル11の操作方向における振動が停止していると判定されるごとに前記式11に従って摩擦トルク係数値Kを一様に増加させて、摩擦トルクTfの変動量ΔTfを変更することができる。
これにより、操舵ハンドル11の操作状態に応じて摩擦トルクTfの変動量ΔTfを摩擦トルク係数値Kによって定まる下限値または上限値まで確実に変更することができる。したがって、操舵ハンドル11に振動が発生している状況であっても、運転者によって摩擦トルクTfの変動を知覚されにくくすることができて、良好な操舵フィーリングを確保することができる。一方で、操舵ハンドル11に振動が発生していない状況では、運転者は操舵ハンドル11の操作に応じた反力を知覚することができて、良好な操舵フィーリングを確保することができる。したがって、この第2実施形態においても、上記第1実施形態と同様の効果が得られる。なお、この第2実施形態においても、上述した第1実施形態の図4(a),(b)にて示した変化抑制定数A,Bと同様に、摩擦トルク係数値のΔKup,ΔKdownを略同様のマップ(ΔKupがBに対応し、ΔKdownがAに対応)を用いて演算することも可能である。
本発明の実施にあたっては、上記各実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、上記第1実施形態においては、今回差分値Δθnに対してゲインαを乗算して新たな今回差分値Δθn_newを用いて変動量ΔTfを演算し、この変動量ΔTfを用いて摩擦トルクTfを演算するように実施した。一方、上記第2実施形態においては、摩擦トルク係数値K(i)を増加または減少させて変動量ΔTfを演算し、この変動量ΔTfを用いて摩擦トルクTfを演算するように実施した。しかしながら、このように今回差分値Δθn_newと摩擦トルク係数値K(i)とをそれぞれ別個に変化させて変動量ΔTfを演算することに代えて、今回差分値Δθn_newと摩擦トルク係数値K(i)とを同時に変化させて変動量ΔTfを演算するように実施することも可能である。
このように、今回差分値Δθn_newと摩擦トルク係数値K(i)とを同時に変化させて、例えば、前記式6に従って変動量ΔTfを演算する場合には、よりきめ細かく変動量ΔTfを演算することができる。したがって、運転者が操舵ハンドル11を反転操作している場合であっても、摩擦トルクTfの変動を良好に抑制することができて、運転者が違和感を覚えることなく良好な操舵フィーリングにより運転することができる。
また、上記各実施形態においては、操舵入力軸12と転舵出力軸22とが相対回転可能な操舵装置としてステアリングバイワイヤ方式の操舵装置を用い、この操舵装置における反力トルクを形成する摩擦トルクTfを操舵ハンドル11の回動操作状態に応じて設定して制御するように実施した。しかし、操舵入力軸と転舵出力軸とが相対回転可能な操舵装置として、例えば、伝達比可変方式の操舵装置の反力トルクを形成する摩擦トルクを操舵ハンドルの回動操作状態に応じて適宜変更することも可能である。
この場合、例えば、操舵ハンドルの回動操作状態に応じて、伝達比可変機構によって操舵入力軸の回転量に対する転舵出力軸の回転量の比(伝達比)を適宜変更することにより、反力トルクを形成する摩擦トルクを操舵ハンドルの回動操作状態に応じて適宜変更することができる。また、例えば、運転者による操舵ハンドル11の回動操作力を低減するためのアシスト機構(電動モータや油圧機構)のアシスト量を操舵ハンドルの回動操作状態に応じて変更することにより、反力トルクを形成する摩擦トルクを操舵ハンドルの回動操作状態に応じて適宜変更することができる。したがって、ステアリングバイワイヤ方式以外の他方式を採用する操舵装置であっても、運転者が違和感を覚えることなく良好な操舵フィーリングにより運転することができる。
また、上記各実施形態においては、車両を操舵するために回動操作される操舵ハンドル11を用いるようにした。しかし、これに代えて、例えば、直線的に変位するジョイスティックタイプの操舵ハンドルを用いてもよいし、その他、運転者によって操作されるとともに車両に対する操舵を指示できるものであれば、いかなるものを用いてもよい。
また、上記各実施形態においては、転舵アクチュエータ21を用いて転舵出力軸22を回転させることにより、左右前輪FW1,FW2を転舵するようにした。しかし、これに代えて、転舵アクチュエータ21を用いてラックバー24をリニアに変位させることにより、左右前輪FW1,FW2を転舵するようにしてもよい。
FW1,FW2…前輪、11…操舵ハンドル、12…操舵入力軸、13…反力アクチュエータ、21…転舵アクチュエータ、22…転舵出力軸、31…操舵角センサ、32…操舵トルクセンサ、33…転舵角センサ、34…車速センサ、35…電子制御ユニット、36,37…駆動回路、36a,37a…電流検出器