以下、図面を参照して本発明の好適な実施の形態について説明する。
[装置構成]
まず、本実施形態に係るパワーステアリング装置が適用されたシステム(以下、「操舵制御システム」と呼ぶ。)50の全体構成について説明する。図1は、操舵制御システム50の構成を示す概略図である。
操舵制御システム50は、主に、ステアリングホイール1と、ステアリングシャフト2と、操舵角センサ3と、操舵トルクセンサ4と、ピニオン5と、ステアリングラック6と、モータ7と、モータ回転角センサ8と、タイロッド10R、10Lと、ナックルアーム11R、11Lと、車輪(前輪)12FR、12FLと、車速センサ15と、コントローラ30と、を備える。なお、以下では、タイロッド10R、10L、ナックルアーム11R、11L、及び車輪12FR、12FLの符号の末尾に付した「R」、「L」は、これらを区別しないで用いる場合には、省略するものとする。
操舵制御システム50は、電動パワーステアリング(EPS:Electric Power Steering)システムによって構成される。具体的には、操舵制御システム50は、車両に搭載され、ステアリングホイール1の操作などに応じて車輪12F(転舵輪)を転舵させる制御を行うシステムである。
ステアリングホイール1は、運転者により車両を旋回等させるために操作される。ステアリングホイール1は、ステアリングシャフト2を介して、ピニオン5に接続される。ステアリングシャフト2には、主に、操舵角センサ3及び操舵トルクセンサ4が設けられている。なお、以下では、ステアリングホイール1のことを単に「ステアリング」とも表記する。
ピニオン5は、ステアリングシャフト2の回転に応じて回転可能に構成され、ステアリングラック6は、ピニオン5の回転に応じて移動可能に構成されている。ステアリングラック6にはタイロッド10を介してナックルアーム11が連結されており、ナックルアーム11には車輪12Fが連結されている。この場合、ステアリングラック6によってタイロッド10及びナックルアーム11が動作されることにより、ナックルアーム11に連結された車輪12Fが転舵されることとなる。
モータ7は、例えば3相交流モータなどで構成され、ステアリングギヤボックス(不図示)内にステアリングラック6と同軸に設けられている。モータ7は、ステアリングラック6の移動をアシストするような力、若しくはステアリングラック6の移動を阻害するような力を付与することが可能に構成されている。具体的には、モータ7は、操舵感や操舵安定性などを向上させるために、運転者による操舵方向にアシストトルクを付与する。これに対して、モータ7は、保舵性能などを向上させるために、運転者による操舵方向と反対方向に付加摩擦トルクを付与する(つまり操舵反力を付与する)。モータ7は、コントローラ30から供給される制御信号S7によって制御される。
操舵制御システム50内に設けられた各種センサは、以下のように機能する。操舵角センサ3は、運転者によるステアリングホイール1の操作に対応する操舵角(実操舵角に対応する)を検出し、検出した操舵角に対応する検出信号S3をコントローラ30に供給する。操舵トルクセンサ4は、運転者によって入力された操舵トルクを検出し、検出した操舵トルクに対応する検出信号S4をコントローラ30に供給する。モータ回転角センサ8は、モータ7の回転角を検出し、検出した回転角に対応する検出信号S8をコントローラ30に供給する。車速センサ15は、車速を検出し(例えば車輪速度を検出する)、検出した車速に対応する検出信号S15をコントローラ30に供給する。
また、サスペンションストロークセンサ16は、各車輪に備えられた図示しないサスペンションの伸縮状態、即ちサスペンションのストローク量(以後、単に、「ストローク量」と呼ぶ。)を計測するセンサである。サスペンションストロークセンサ16は、検出信号S16をコントローラ30へ供給する。以後、車輪12FRに対応するサスペンションのストローク量をストローク量FR、車輪12FLに対応するサスペンションのストローク量をストローク量FLと呼ぶ。
減衰力設定インタフェース17は、各車輪と車両とを懸架する図示しないサスペンションが備えるショックアブソーバの減衰力(以後、単に「減衰力」と呼ぶ。)の設定(以後、「減衰力設定」と呼ぶ。)をするためのインタフェースである。減衰力設定インタフェース17は、例えば、車両の使用者(ユーザ)が操作可能なスイッチ、ボタン、つまみ、ダイヤル等が該当する。従って、ユーザは、減衰力設定インタフェース17により、減衰力の設定をする。減衰力設定インタフェース17は、減衰力の設定状態に関する検出信号S17をコントローラ30に供給する。
ナビゲーション装置18は、全地球測位システム(GPS:Global Positioning System)や車速パルス、ジャイロなどの自律航法装置を利用して、車両の運行時に運転者に対して、ディスプレイ画面上に現在位置や目的地への走行経路案内を行なう装置である。ナビゲーション装置18は、信号S18により、車両が走行中の道路、またはこれから走行する道路の路面状況等に関する情報(以後、「ナビ情報」と呼ぶ。)をコントローラ30に供給する。
コントローラ30は、図示しないCPU、ROM、RAM、及びA/D変換器などを含んで構成される。コントローラ30は、上記した各種センサから供給される検出信号S3、S4、S8、S15乃至S18などに基づいて、モータ7に制御信号S7を供給することで、モータ7に対する制御を行う。本実施形態では、コントローラ30は、モータ7からステアリングに対して付加摩擦トルクを付与させるための制御(以下、「摩擦付与制御」と呼ぶ。)を行う。このように、コントローラ30は、本発明におけるパワーステアリング装置として機能する。なお、コントローラ30は、車両内の制御を行うECUにより実現されても良い。
なお、上述の構成は一例であり、本発明が適用可能な構成はこれに限定されない。例えば、減衰力設定インタフェース17は、減衰力の設定に代えて、ショックアブソーバの油圧に関する設定やスプリングの特性に関する設定などのサスペンションの特性に関する設定を変更するスイッチ等であってもよい。
[摩擦付与制御の例]
次に、コントローラ30が行う摩擦付与制御の一例について説明する。まず、コントローラ30は、操舵角(以下、「θ」と表記する。)及び車速(以下、「V」と表記する。)に基づいて、ステアリングに付与すべき摩擦トルク(以下、「Tt」と表記する。)を求める。次に、コントローラ30は、操舵角θ及び摩擦トルクTtに基づいて目標操舵角(以下、「θt」と表記する。)を求める。次に、コントローラ30は、目標操舵角θtと操舵角θとの偏差(以下、「Δθ」と表記する。)に基づいて、付加摩擦トルク(以下、「Tc」と表記する。)を求める。即ち、コントローラ30は、目標操舵角θtなどに基づいて摩擦トルクTtを補正し、補正後の摩擦トルクを付加摩擦トルクTcとする。そして、コントローラ30は、このように求められた付加摩擦トルクTcがステアリングに付与されるように、モータ7に対する制御を行う。
ここで、図2乃至図4を参照して、摩擦付与制御を具体的に説明する。
図2は、摩擦トルクTtを求める方法の一例を示した図である。図2は、横軸に操舵角θを示し、縦軸に摩擦トルクTtを示している。より具体的には、図2は、車速Vに応じて、操舵角θに対して設定すべき摩擦トルクTtが規定されたマップに相当する。ここでは、一例として、高速域V2、中速域V1、及び低速域V0のそれぞれに対応するマップを示している。コントローラ30は、このようなマップを参照することで、現在の操舵角θ及び車速Vに対応する摩擦トルクTtを求める。
図2に示すマップによれば、同一の操舵角θの場合、車速が大きいほど、大きな値を有する摩擦トルクTtが設定されることとなる。これは、高速域V2や中速域V1では、直進安定性向上や、操舵保持時の保舵力低減・安定性向上を図る観点から、ある程度の摩擦トルクを発生することが好ましい一方、低速域V0では、摩擦トルクが大きいと運転者に違和感を与え、操舵感が悪化する場合があるからである。また、図2に示すマップによれば、車速が同一である又は同一の車速域にある場合、操舵角θが大きいほど、大きな値を有する摩擦トルクTtが設定されることとなる。これは、操舵角θが大きい場合は車輪の転舵角が大きくなるため、大きな横力が発生し易く、操舵保舵時の保舵力低減・安定性向上を図る観点から、より大きな摩擦トルクが必要となるからである。
次に、上記のように求められた摩擦トルクTtから、目標操舵角θtを求める方法について説明する。コントローラ30は、目標操舵角θtと操舵角θとの偏差Δθ(=θt−θ)、及び、摩擦トルクTt及びゲインKによって規定された偏差上限値Δ(=Tt/K)に基づいて、目標操舵角θtを求める。詳しくは、コントローラ30は、まず目標操舵角θtをθに初期化した後に(初期化済みであれば初期化しない)、偏差Δθ(=θt−θ)を求め、「Δθ>Δ」である場合には目標操舵角θtを「θt=θ+Δ」に変更し、「Δθ<−Δ」である場合には目標操舵角θtを「θt=θ−Δ」に変更し、「−Δ≦Δθ≦Δ」である場合には目標操舵角θtを変更しない。なお、ゲインKは、例えばステアリング系の剛性などを考慮して決定される値である。
次に、上記のように求められた目標操舵角θtから付加摩擦トルクTcを求める方法について説明する。コントローラ30は、目標操舵角θtより得られる偏差Δθ(=θt−θ)、及びゲインK(=Tt/Δ)から、付加摩擦トルクTcを求める。具体的には、コントローラ30は、「Tc=K・Δθ」、即ち「Tc=K(θt−θ)」より、付加摩擦トルクTcを求める。
図3は、付加摩擦トルクTcの特性の一例を示す図である。図3は、横軸に操舵角θを示し、縦軸に付加摩擦トルクTcを示している(左回りのトルクの方向を正とし、右回りのトルクの方向を負としている)。ここでは、摩擦トルクTtが「Tt1」の場合と「Tt2」の場合(Tt2<Tt1)とを一例として示している。例えば、車速が高速域V2若しくは中速域V1である場合における摩擦トルクTt1と、車速が低速域V0である場合における摩擦トルクTt2とを示している(図2参照)。また、図3では、「Tt1」及び「Tt2」のいずれの場合も、理解の容易化のため、便宜上、目標操舵角θtが同一で、操舵角θの変化に応じて変化しないものとする。なお、目標操舵角θtが変化した場合には、それに応じてグラフが新たな目標操舵角θtを中心として横軸方向に平行移動するだけである。
図3に示すように、偏差上限値Δは、「Δ=Tt/K」であることから、摩擦トルクTtが大きいほど大きくなる(例えば、「Tt1」の場合の偏差上限値Δ1は「Tt2」の場合の偏差上限値Δ2よりも大きい)。また、「−Δ≦Δθ≦Δ」の範囲では、目標操舵角θtが変更されずに維持され、「Tc=K・Δθ」、即ち「Tc=K(θt−θ)」より、付加摩擦トルクTcの大きさはΔθに比例して増加する。そして、「Δθ>Δ」及び「Δθ<−Δ」の範囲では、目標操舵角θtが上述したように変更されてΔθの大きさが一定となるので、「Tc=K・Δθ」、即ち「Tc=K(θt−θ)」より、付加摩擦トルクTcの大きさは摩擦トルクTtに応じた一定値となる。この場合、「−Δ≦Δθ≦Δ」の範囲では、ステアリングホイール1に付与されるべき摩擦トルクTtは、実際にはステアリングホイール1には付与されず、Δθの絶対値が偏差上限値Δ以上となって初めて、付加摩擦トルクTcの大きさが、ステアリングホイール1に付与されるべき摩擦トルクTtの大きさに設定されることとなる。「−Δ≦Δθ≦Δ」の範囲で摩擦トルクTtを付与しないのは、摩擦トルクが過敏に振動し易くなり、操舵感が悪化してしまうことを抑制するためである。
図4は、付加摩擦トルクTcの特性を可視的なモデルで表すイメージ図である。図4(A)は、「−Δ≦Δθ≦Δ」の範囲に相当するイメージ図である。この場合には、目標操舵角θtは変化せず、力T(例えば車輪への入力に起因して発生する外力)に対して釣り合うような力、即ちバネ定数K(=ゲインK)のバネが変位量(θt−θ)で変位したときの弾性力(=K・Δθ)が生成される。図4(B)は、「Δθ>Δ」及び「Δθ<−Δ」の範囲に相当するイメージ図である。この場合には、目標操舵角θtは力Tを受ける方向に変化し、力Tに対向する方向に一定の摩擦力Tt’(<力T)が生成される。なお、摩擦力Tt’は、摩擦力Ttを力に変換した値に相当する。
なお、コントローラ30は、好ましくは、付加摩擦トルクTcをローパスフィルタによりフィルタ処理する。例えば、このローパスフィルタとして、コントローラ30は、式(1)を付加摩擦トルクTcに乗じる。
ここで、「fc」はカットオフ周波数であり、「s」はローパスフィルタのパラメータである。カットオフ周波数fcは、約1〜2Hzの範囲内の固定値又は可変値であることが望ましい。これは、かかる周波数範囲に車両のヨー共振周波数があり、摩擦トルクの変化が適切にフィルタリングされ操舵感が良好となるからである。なお、車両のヨー共振周波数は、車速に応じて変化するので、カットオフ周波数fcは車速に応じて可変されてもよい。或いは、カットオフ周波数fcは、簡易的に、代表車速(例えば80km/h)での車両のヨー共振周波数に相当する固定値であってもよい。
以下の第1実施形態及び第2実施形態では、さらに、走行する路面の状態や車両のサスペンションの特性等に起因して変動する車両の振動に関する性質(以後、「振動特性」と呼ぶ。)に基づき、上述の付加摩擦トルクTcを適切な値に変更する方法について説明する。
[第1実施形態]
まず、第1実施形態における付加摩擦トルクTcの変更方法について説明する。第1実施形態では、コントローラ30は、振動特性を決定する要素であるサスペンションの減衰力設定に基づき、付加摩擦トルクTcを変更する。特に、本実施形態では、コントローラ30は、設定された減衰力が大きい場合には、付加摩擦トルクTcを小さくする。これにより、コントローラ30は、よりユーザの意図に適った操縦性を実現する。以後、減衰力が大きい減衰力設定を「SPORT設定」と呼ぶ。
コントローラ30は、まず、減衰力設定インタフェース17から取得する減衰力設定に基づき、ユーザが走行性、応答性等を重視しているか否かについて判断する。そして、コントローラ30は、減衰力設定がSPORT設定の場合、ユーザは応答性や走行を重視していると判断する。一般に、減衰力が大きい場合、いわゆる硬めのサスペンションになる。従って、この場合、乗り心地が低下する一方で走行性が向上する。従って、スポーティーな走行を目的とし、応答性及び走行性を重視する場合には、ユーザは、減衰力設定インタフェース17により減衰力設定をSPORT設定にする。
従って、コントローラ30は、減衰力設定がSPORT設定の場合、ユーザは応答性や走行を重視していると判断し、付加摩擦トルクTcを減少させ、操舵の応答性を上げる。これにより、コントローラ30は、特に操舵がニュートラル位置付近にある場合の応答性が悪化するのを防ぎ、ユーザの意図に適った走行を実現する。
具体的には、減衰力設定がSPORT設定の場合、コントローラ30は、付加摩擦トルクTcを決定するためのパラメータ(以後、単に「制御係数」と呼ぶ。)を変更する。ここでは、摩擦トルクTtとカットオフ周波数fcの変更方法の一例を示す。
コントローラ30は、SPORT設定の場合、例えば、操舵角θ及び車速Vに基づいて算出した摩擦トルクTtを所定値または所定の比率等に応じて小さくする。上述の所定値や所定の比率は、例えば、減衰力設定に応じた適切な値に予め実験等により算出され、コントローラ30のメモリに保持される。そして、コントローラ30は、小さくした摩擦トルクTtに基づき付加摩擦トルクTcを算出し、付加摩擦トルクTcを減少させる。
さらに、コントローラ30は、付加摩擦トルクTcをローパスフィルタによりフィルタ処理している場合には、SPORT設定ではカットオフ周波数fcを所定値または所定の比率に応じて大きくする。これにより、コントローラ30は、減衰力設定の変更に対し付加摩擦トルクTcの変更を素早く対応させることができる。
なお、SPORT設定が段階的または連続的に複数のレベルが存在する場合には、コントローラ30は、例えば式又はマップ等を参照することで、SPORT設定のレベルに応じて摩擦トルクTt及びカットオフ周波数fcを変更してもよい。この場合、上述の式又はマップ等は実験等により予め作成され、コントローラ30のメモリに保持される。
また、上述の例では、付加摩擦トルクTcを算出するための摩擦トルクTtやカットオフ周波数fc等の制御係数を調整することにより、コントローラ30は、SPORT設定時に付加摩擦トルクTcを減少させていた。しかし、本発明が適用可能なコントローラ30の操作はこれに限定されない。例えば、コントローラ30は、操舵角θ及び車速Vに基づき付加摩擦トルクTcを算出し、その後、所定値または所定の比率等に応じて付加摩擦トルクTcを減じてもよい。
(処理フロー)
次に、第1実施形態における処理の手順について説明する。図5は、第1実施形態においてコントローラ30が実行する処理の手順を表すフローチャートの一例である。コントローラ30は、図5に示すフローチャートの処理を所定の周期に従い繰り返し実行する。
まず、コントローラ30は、減衰力設定を読み込む(ステップS101)。具体的には、コントローラ30は、減衰力設定インタフェース17から送信される検出信号S17によってユーザが設定した減衰力設定を把握する。
次に、コントローラ30は、減衰力設定がSPORT設定であるか否かについて判断する(ステップS102)。そして、SPORT設定の場合(ステップS102;Yes)、コントローラ30は、付加摩擦トルクTcの制御係数を変更する(ステップS103)。例えば、コントローラ30は、摩擦トルクTtを所定値だけ小さくするとともに、カットオフ周波数fcを所定値だけ大きくする。
一方、SPORT設定ではない場合(ステップS102;No)、コントローラ30は、次に付加摩擦トルクTcを算出する(ステップS104)。このとき、算出される付加摩擦トルクTcは、減衰力設定がSPORT設定の場合には、他の場合に比べ、小さい値に設定される。従って、ユーザが走行性を重視し、減衰力設定をSPORT設定にしている場合、コントローラ30は、操舵を軽くし、操舵の応答性を向上させる。このように、コントローラ30は、減衰力の設定に基づき付加摩擦トルクTcを適切に設定することができる。
[第2実施形態]
第1実施形態では、コントローラ30は、ユーザが設定した減衰力設定に基づき付加摩擦トルクTcを変更した。これに対し、第2実施形態では、これに代えて、またはこれに加えて、コントローラ30は、路面から車両への入力(即ち、路面の形状等に起因して車両が路面から受ける影響)に基づき付加摩擦トルクTcを変更する。ここでは、コントローラ30は、操舵トルクの変動と、サスペンションのストローク量と、ナビ情報との少なくとも1つを利用することで、路面から車両への入力を事後または事前に検知し、付加摩擦トルクTcを変更する。これにより、コントローラ30は、車両の振動特性に応じた適切な付加摩擦トルクTcをステアリングに付与する。
以下では、操舵トルクの変動に基づき付加摩擦トルクTcを変更する方法と、サスペンションのストローク量に基づき付加摩擦トルクTcを変更する方法と、ナビゲーション装置18からの路面状況等に基づき付加摩擦トルクTcを変更する方法について、それぞれ説明する。後述するフローチャートの説明で示すように、コントローラ30は、これらの方法を組み合わせて用いることも可能である。
(操舵トルクの変動を利用する場合)
まず、操舵トルクの変動に基づき付加摩擦トルクTcを変更する方法について説明する。一般に、路面が凹凸形状を有すること等に起因して車両が振動する場合、操舵トルクの変動が大きくなる。従って、この場合、コントローラ30は、付加摩擦トルクTcを増加させる。これにより、コントローラ30は、保舵を行いやすくし、車両を安定させることができる。
以後、付加摩擦トルクTcを変更する方法の具体例として、操舵トルクに基づき、摩擦トルクTtとカットオフ周波数fcとを変更する方法について説明する。なお、コントローラ30が路面からの入力に基づき変更する摩擦トルクTtの量(摩擦トルクTtの正への変化量を正値とする。)を、「摩擦トルク変化dTt」と表し、振動特性に起因して変更するカットオフ周波数fcの量(カットオフ周波数fcの正への変化量を正値とする。)を「カットオフ周波数変化dfc」と表す。
まず、コントローラ30は、操舵トルクセンサ4から出力された検出信号S4から操舵トルクを取得する。例えば、コントローラ30は、所定時間幅あたりに検出される操舵トルクのサンプル(以後、単に「サンプル」と呼ぶ。)を複数抽出する。上述の所定時間幅は例えば実験等により適切な値に設定される。
そして、コントローラ30は、取得した操舵トルクから、路面からの入力による操舵トルクの変動以外の操舵トルクの変動成分、例えばユーザのステアリング操作に基づく操舵トルクの変動成分を除去する。例えば、コントローラ30は、取得した複数のサンプルの操舵トルクに対し、それぞれ路面からの入力に起因して変動する周波数帯を通過帯域に持つバンドパスフィルタをかける。この周波数帯は、予め実験等により定められる。これにより、コントローラ30は、路面からの入力に起因して変動した操舵トルク(以後、「外乱変動トルクTv」と呼ぶ。)を抽出することができる。
また、コントローラ30は、例えばサンプルごとの外乱変動トルクTvの2乗和(以後、「外乱トルク2乗和Tvsum」と呼ぶ。)をとることにより、全サンプルの外乱変動トルクTvの符号によらない大きさを算出する。これにより、コントローラ30は、所定時間幅における路面からの入力に起因した操舵への影響を把握することができる。
そして、コントローラ30は、外乱トルク2乗和Tvsumから、これに対応する適切な摩擦トルク変化dTtと、カットオフ周波数変化dfcとを定める。具体的には、コントローラ30は、メモリに保持したマップ等を参照することで、外乱トルク2乗和Tvsumに対応する適切な摩擦トルク変化dTt及びカットオフ周波数変化dfcを設定する。このマップは、予め実験等により作成される。
図6(a)は、外乱トルク2乗和Tvsumに対応する摩擦トルク変化dTtのマップの一例を示す。図6(a)に示すように、外乱トルク2乗和Tvsumが大きい場合には、摩擦トルク変化dTtを大きくし、摩擦トルクTtを増やす。従って、コントローラ30は、路面からの入力が大きい場合には、付加摩擦トルクTcを増やすことで、保舵性を高め、車両を安定させることができる。
図6(b)は、外乱トルク2乗和Tvsumに対応するカットオフ周波数変化dfcのマップの一例を示す。図6(b)に示すように、外乱トルク2乗和Tvsumが大きい場合には、カットオフ周波数変化dfcを大きくし、カットオフ周波数fcを増やす。一般に、カットオフ周波数fcが大きくなると、付加摩擦トルクTcの変動が大きくなる。従って、コントローラ30は、外乱トルク2乗和Tvsumが大きい場合には、カットオフ周波数変化dfcを大きくすることで、路面からの入力に応じて付加摩擦トルクTcを素早く増やすことができ、車両を安定させることができる。
(ストローク量を利用する場合)
次に、サスペンションの状態に基づき付加摩擦トルクTcを変更する方法について説明する。一般に、道路の路面の凹凸等に起因して車両の左右のサスペンションストロークセンサ16で逆相の入力がある状態では、ユーザは、ステアリングがとられやすくなり、保舵がしにくくなる。従って、この場合、コントローラ30は、付加摩擦トルクTcを大きくし、保舵性を高め、車両を安定させる。
以後、付加摩擦トルクTcを変更する方法の具体例として、ストローク量に基づき、摩擦トルクTtとカットオフ周波数fcとを変更する方法について説明する。まず、コントローラ30は、サスペンションストロークセンサ16からストローク量FR、FLを取得し、ストローク量FRの単位時間あたりの変化(以後、「ストローク速度Vsr」と呼ぶ。)と、ストローク量FLの単位時間あたりの変化(以後、「ストローク速度Vsl」と呼ぶ。)とを算出する。即ち、コントローラ30は、左右のサスペンションが伸びる方向に変化するか、縮む方向に変化するかについて判断するとともに、その単位時間あたりの変化量を測定する。
そして、コントローラ30は、ストローク速度Vsrとストローク速度Vslとを乗じた値(以後、「サスペンション入力乗算値Vs」と呼ぶ。)が負値の場合、摩擦トルクTtとカットオフ周波数fcとを変更する。具体的には、コントローラ30は、メモリに保持したマップ等を参照することで、算出したサスペンション入力乗算値Vsから適切な摩擦トルク変化dTt及びカットオフ周波数dfcを設定する。上述のマップは、予め実験等により作成される。
図7(a)は、サスペンション入力乗算値Vsに対応する摩擦トルク変化dTtのマップの一例を示す。図7(a)に示すように、サスペンション入力乗算値Vsが負値でかつその絶対値が大きいほど、コントローラ30は、摩擦トルク変化dTtを大きい値に設定する。一般的に、サスペンション入力乗算値Vsが負値でかつ絶対値が大きいほど車輪の左右のサスペンションの状態変化が異なる。従って、この場合、車両が不安定になり、ユーザはステアリングが取られやすく、保舵がしにくい。従って、コントローラ30は、サスペンション入力乗算値Vsが大きいほど摩擦トルク変化dTtを大きくすることで、付加摩擦トルクTcを増やし、保舵性を高め、車両を安定させることができる。
図7(b)は、サスペンション入力乗算値Vsに対応するカットオフ周波数変化dfcのマップの一例を示す。図7(b)に示すように、コントローラ30は、サスペンション入力乗算値Vsが負値でかつ絶対値が大きいほど、カットオフ周波数変化dfcを大きくする。これにより、コントローラ30は、付加摩擦トルクTcを柔軟に増加させ、車両を安定させることができる。
なお、以上の説明では、前輪に対応するサスペンションのストローク量のみ考慮したが、これに加えて、後輪に対応するサスペンションのストローク量も考慮してもよい。例えば、コントローラ30は、車両の左右の後輪のストローク量に基づくサスペンション入力乗算値Vsを前輪のストローク量FR、FLに基づくサスペンション入力乗算値Vsとは別途算出する。そして、コントローラ30は、このうちいずれか小さい値を用いて図7のマップから摩擦トルク変化dTt及びカットオフ周波数dfcを設定する。
(ナビ情報を利用する場合)
次に、ナビ情報に基づき付加摩擦トルクTcを変更する方法について説明する。ナビゲーション装置18にユーザが目的地を設定した場合などでは、ナビゲーション装置18は、車両の走行経路を把握しており、また、走行経路に対応する路面状況をメモリから取得することが可能である。従って、コントローラ30は、ナビゲーション装置18からナビ情報を取得し、路面からの入力を事前に把握する。これにより、コントローラ30は、車両の安定性等を重視すべき路面では、付加摩擦トルクTcを増加させる。一方、コントローラ30は、操舵を軽くして操縦性を高めるべき路面では、付加摩擦トルクTcを減少させる。これにより、コントローラ30は、走行する路面に応じて適切に付加摩擦トルクTcを変更することができる。
以後、付加摩擦トルクTcを変更する方法の具体例として、取得したナビ情報に基づき、摩擦トルクTtとカットオフ周波数fcとを変更する方法について説明する。コントローラ30は、想定される各路面の状況と、それに対応する適切な摩擦トルク変化dTtとカットオフ周波数変化dfcとのマップを予めメモリに保持しておく。上述のマップは、予め実験等により適切な値に設定される。そして、コントローラ30は、上述のマップを参照して、ナビ情報として受信した1または複数の路面状況に対応する摩擦トルク変化dTtとカットオフ周波数変化dfcとを取得する。これにより、コントローラ30は、走行する路面状況に適した摩擦トルク変化dTtとカットオフ周波数変化dfcとを設定することができる。
なお、コントローラ30は、ナビ情報が複数の路面状況を含むことにより、複数の摩擦トルク変化dTtとカットオフ周波数変化dfcとの組を取得した場合には、路面状況ごとに設定された重み付け係数をこれらに乗じた後、摩擦トルクTtとカットオフ周波数fcとにそれぞれ加算する。これについてはフローチャートの説明にて詳細に説明する。
ここで、コントローラ30がナビ情報から摩擦トルク変化dTtとカットオフ周波数変化dfcとを設定する際に使用するマップについて詳細する。図8は、想定される各路面状況と、それに対応する適切な摩擦トルク変化dTtとカットオフ周波数変化dfcとのマップの一例である。なお、図8において、摩擦トルク変化dTt及びカットオフ周波数変化dfcの「正値」の欄には、実際には、実験等により定められた具体的な数値(正値)が当てはめられる。
ここで、路面状況ごとに図8のマップを説明する。まず、旋回半径が大きい場合、カーブが緩やかであるため、保舵性を重視し、摩擦トルク変化dTtは正値に設定される。また、旋回距離が長い場合、保舵する必要があるため、摩擦トルク変化dTtは正値に設定される。路面情報が荒れた路面である場合、ステアリングが取られやすく、保舵がしにくいため、摩擦トルク変化dTtは正値に設定される。また、荒れた路面の場合、付加摩擦トルクTcを柔軟に変化させる必要があるため、カットオフ周波数変化dfcは正値に設定される。次に、交通量が多い場合、車両の走行速度が遅くなり、操舵角θを急激に変化させる必要がなく、保舵性が重視される。従って、この場合、摩擦トルク変化dTtは正値に設定される。道幅が狭い場合、微細な操舵が必要とされるため、摩擦トルク変化dTtは負値に設定される。これにより、操舵が軽くなる。また、路面勾配が大きい場合、操舵を安定させるため、摩擦トルク変化dTtは正値に設定される。路面情報がワインディングロード、即ち、曲がりくねった道の場合、操舵を軽くし操縦性を向上させるため、摩擦トルク変化dTtは負値に設定される。横風がある場合、ステアリングが取られて車両が不安定になりやすいため、摩擦トルク変化dTtは正値に設定される。また、この場合、付加摩擦トルクTcを柔軟に変化させるため、カットオフ周波数変化dfcは正値に設定される。また、高速道路の場合、走行速度が速く、カーブも緩やかであるため、保舵性を重視し、摩擦トルク変化dTtは正値に設定される。雪路の場合、ステアリングが取られやすくなるため、摩擦トルク変化dTtは正値に設定される。また、この場合、安全性を考慮し、付加摩擦トルクTcが素早く反応するようにカットオフ周波数変化dfcは正値に設定される。
以上の例に示すように、取得したナビ情報に基づき摩擦トルク変化dTt及びカットオフ周波数変化dfcを設定することで、コントローラ30は、走行する路面状況に応じた適切な付加摩擦トルクTcを設定することができる。
なお、図8では、路面状況ごとに画一的に摩擦トルク変化dTt及びカットオフ周波数変化dfcを定めているが、これに限らず、各道路状況の程度(例えば、旋回半径の例では、5m以上10m未満の場合、10m以上15m未満の場合等)ごとに細かく摩擦トルク変化dTtとカットオフ周波数変化dfcとを設定してもよい。
(処理フロー)
次に、第2実施形態における処理の手順について説明する。ここでは、まず、第2実施形態でコントローラ30が行う処理手順の概要について説明した後、必要な個別の処理手順を別途説明する。
1.概要
図9は、第2実施形態においてコントローラ30が実行する処理の手順を表すフローチャートの一例である。コントローラ30は、図9に示すフローチャートの処理を所定の周期に従い繰り返し実行する。
まず、コントローラ30は、ナビ情報を取得する(ステップS210)。このとき、コントローラ30は、ナビ情報に基づき摩擦トルク変化dTt及びカットオフ周波数変化dfcを設定する。具体的には、コントローラ30は、例えば予め保持した図8に示すマップを参照して、取得したナビ情報から摩擦トルク変化dTt及びカットオフ周波数変化dfcを抽出する。この場合、ナビ情報がマップに示す複数の路面状況に該当する場合には、コントローラ30は、該当する路面状況に対応するそれぞれの摩擦トルク変化dTt及びカットオフ周波数変化dfcを抽出する。
次に、コントローラ30は、ステアリングのトルク変動を検出する(ステップS220)。即ち、コントローラ30は、操舵トルクセンサ4から取得した操舵トルクの変動を検出する。このとき、コントローラ30は、検出した操舵トルクの変動に基づき、摩擦トルク変化dTt及びカットオフ周波数変化dfcを算出する。ステップS220の具体的な処理手順については、図10を用いて別途後述する。
そして、コントローラ30は、サスペンションの状態を検出する(ステップS230)。このとき、コントローラ30は、検出したサスペンションの状態に基づき、摩擦トルク変化dTt及びカットオフ周波数変化dfcを算出する。ステップS230の具体的な処理手順については、図11を用いて別途後述する。
そして、コントローラ30は、制御係数の演算を行う(ステップS240)。具体的には、コントローラ30は、ステップS210乃至ステップS230で算出した摩擦トルク変化dTt及びカットオフ周波数変化dfcに基づき、図2に示すように操舵角θ及び車速Vに基づき算出した摩擦トルクTt(以後、「変更前摩擦トルクTt0」と呼ぶ。)と予め設計されたカットオフ周波数fc(以後、「変更前カットオフ周波数fc0」と呼ぶ。)をそれぞれ変更する。
具体的には、コントローラ30は、例えば、変更前摩擦トルクTt0に、重み付けした各摩擦トルク変化dTtを加算する。即ち、コントローラ30は、式(2)に示すように、摩擦トルクTtを定める。ここで、「wTi」は、ステップS210乃至ステップS230で取得した各摩擦トルク変化「dTti」に対する重み付け係数を表し、「n」は、摩擦トルク変化dTtiの数を表す。
同様に、コントローラ30は、変更前カットオフ周波数fc0に、重み付けしたカットオフ周波数変化dfcを加算する。即ち、コントローラ30は、式(3)に示すようにカットオフ周波数fcを定める。ここで、「w
fi」は、ステップS210乃至ステップS230で取得した各カットオフ周波数変化「dfc
i」に対する重み付け係数を表し、「n」は、カットオフ周波数変化dfc
iの数を表す。
次に、コントローラ30は、制御係数のガード処理を実行する(ステップS250)。即ち、コントローラ30は、ステップS240で算出した摩擦トルクTtとカットオフ周波数fcとが、予め実験等により定められた適正値の範囲にあるか否か判定し、適正値の範囲外の場合には、これらを適正値の範囲に戻す。この処理については図12を用いて後述する。
そして、コントローラ30は、付加摩擦トルクTcを演算する(ステップS260)。ここでは、コントローラ30は、ステップS210乃至ステップS250により算出した摩擦トルクTt及びカットオフ周波数fcを用いて付加摩擦トルクTcを演算する。これにより、コントローラ30は、ナビ情報、操舵トルクの変動、サスペンションの状態に基づき路面からの入力を推定し、推定した路面からの入力に基づき適切な付加摩擦トルクTcを決定することができる。
なお、図9の処理手順は一例であり、本発明が適用可能な処理手順はこれに限定されない。例えば、コントローラ30は、ステップS210乃至S230の処理の順序を変えて実行してもよく、または、これらの処理を並行して実行してもよい。
2.トルク変動検出に基づく処理
次に、ステップS220の処理手順について詳細する。図10は、ステップS220内の処理を表すフローチャートの一例である。
まず、コントローラ30は、n個の操舵トルクのサンプルを抽出する(ステップS221)。ここで、「n」は、例えば所定時間幅あたりに操舵トルクセンサ4から出力された操舵トルクの数である。従って、コントローラ30は、所定時間幅あたりに操舵トルクセンサ4から出力されたn個の操舵トルクのサンプルを保持する。
次に、コントローラ30は、バンドパスフィルタによるフィルタ処理を行う(ステップS222)。これにより、コントローラ30は、路面からの入力に起因して加えられた外乱変動トルクTvを、n個のサンプルからそれぞれ抽出する。即ち、コントローラ30は、n個の外乱変動トルクTvを取得する。
そして、コントローラ30は、外乱変動トルクTvのnサンプルの外乱トルク2乗和Tvsumを算出する(ステップS223)。これにより、コントローラ30は、所定時間幅における、符号によらない外乱変動トルクTvの大きさを把握することができる。
次に、コントローラ30は、外乱トルク2乗和Tvsumから摩擦トルク変化dTt及びカットオフ周波数変化dfcを算出する(ステップS224)。コントローラ30は、例えば図6(a)に示すマップを参照して外乱トルク2乗和Tvsumから摩擦トルク変化dTtを算出するとともに、図6(b)に示すマップを参照して外乱トルク2乗和Tvsumからカットオフ周波数変化dfcを算出する。
3.サスペンションの状態検出に基づく処理
次に、ステップS230の処理手順について詳細する。図11は、ステップS230に示すサスペンションの状態検出に基づく処理を表すフローチャートの一例である。
まず、コントローラ30は、右輪のストローク速度Vsr及び左輪のストローク速度Vslを検出する(ステップS231)。例えば、コントローラ30は、サスペンションストロークセンサ16から取得したストローク量FR、FLのそれぞれの変動量を監視することで、右輪のストローク速度Vsr及び左輪のストローク速度Vslを検出する。
次に、コントローラ30は、サスペンション入力乗算値Vsを算出する(ステップS232)。具体的には、コントローラ30は、右輪のストローク速度Vsrと左輪のストローク速度Vslとを乗じることで、サスペンション入力乗算値Vsを算出する。
次に、コントローラ30は、サスペンション入力乗算値Vsが0未満であるか否かについて判断する(ステップS233)。そして、負値である場合(ステップS233;Yes)、コントローラ30は、サスペンション入力乗算値Vsに基づき、摩擦トルク変化dTt及びカットオフ周波数変化dfcをそれぞれ設定する(ステップS234)。例えば、コントローラ30は、図7に示すようなマップを参照することで、サスペンション入力乗算値Vsに対応する摩擦トルク変化dTt及びカットオフ周波数変化dfcをそれぞれ設定する。
一方、サスペンション入力乗算値Vsが0以上の場合(ステップS233;No)、コントローラ30は、摩擦トルク変化dTtを0に設定するとともに、カットオフ周波数変化dfcを0に設定する(ステップS235)。
以上により、路面からの車両の左右でサスペンションの入力が逆相になった場合であっても、コントローラ30は、適切に摩擦トルク変化dTt及びカットオフ周波数変化dfcを設定し、保舵を容易にし、車両を安定させることができる。
4.ガード処理
次に、ステップS250に示すガード処理の処理手順について詳細する。図12は、ステップS250に示すガード処理を表すフローチャートの一例である。
コントローラ30は、摩擦トルクTtが、所定の上限値「Ttmax」より大きいか否か判定する(ステップS251)。ここで、上限値Ttmaxは、例えば、車両の性能等に基づき予め算出された摩擦トルクTtの適正値の範囲の上限に設定される。
そして、摩擦トルクTtが上限値Ttmaxより大きい場合(ステップS251;Yes)、コントローラ30は、摩擦トルクTtを上限値Ttmaxに設定する(ステップS252)。これにより、コントローラ30は、例えば車両の性能に照らし過度に大きい摩擦トルクTtを設定するのを防ぐ。
一方、摩擦トルクTtが上限値Ttmax以下の場合(ステップS251;No)、コントローラ30は、次に、摩擦トルクTtが所定の下限値「Ttmin」より小さいか否か判定する(ステップS253)。ここで、下限値Ttminは、例えば、車両の性能等に基づき予め算出された摩擦トルクTtの適正値の下限に設定される。
そして、摩擦トルクTtが下限値Ttminより小さい場合(ステップS253;Yes)、コントローラ30は摩擦トルクTtを下限値Ttminに設定する(ステップS254)。これにより、コントローラ30は、予め想定した適正値の範囲で摩擦トルクTtを設定することができる。
一方、摩擦トルクTtが下限値Ttmin以上の場合(ステップS253;No)、コントローラ30は、次にカットオフ周波数fcが、予め設定された上限値「fcmax」より大きくならないか否か判定する(ステップS255)。上限値fcmaxは、例えば、車両の性能等に基づき予め算出されたカットオフ周波数fcの適正値の範囲の上限に設定される。
そして、カットオフ周波数fcが上限値fcmaxより大きい場合(ステップS255;Yes)、カットオフ周波数fcを上限値fcmaxに設定する(ステップS256)。
一方、カットオフ周波数fcが上限値fcmax以下の場合(ステップS255;No)、コントローラ30は、次に、カットオフ周波数fcが予め設定された下限値「fcmin」未満にならないか否か判定する(ステップS257)。下限値fcminは、例えば、車両の性能等に基づき予め算出されたカットオフ周波数fcの適正値の範囲の下限に設定される。
そして、カットオフ周波数fcが下限値fcminより小さい場合(ステップS257;Yes)、コントローラ30は、カットオフ周波数fcを下限値fcminに設定する(ステップS258)。一方、カットオフ周波数fcが下限値fcmin以上の場合(ステップS257;No)、コントローラ30は、フローチャートの処理を終了する。以上により、カットオフ周波数fcは予め想定された適正値の範囲内に設定される。
(変形例)
上記の各実施形態では、コントローラ30が減衰力設定に基づいて、摩擦トルクTt及びカットオフ周波数fcの両方を変更しているが、その代わりにいずれか一方のみを変更することとしてもよい。