(57)【特許請求の範囲】
【請求項１】
車輪に制駆動トルクを発生させる制駆動トルク発生手段と、
車体バネ上振動を抑制するような補正トルクを算出する補正トルク算出手段と、
前記補正トルクに基づいて前記制駆動トルク発生手段に対し補正トルク指令値を出力する補正トルク指令値出力手段と、
を備え、
前記補正トルク指令値出力手段は、前記補正トルクの振幅が所定振幅以上の状態が所定時間継続しているときは、通常時補正トルク指令値よりも小さな値を出力し、その後、前記補正トルクの振幅が所定振幅以下となる状態が第１の所定時間継続したときは、前記補正トルク指令値の出力を前記通常時補正トルク指令値に復帰させ、前記第１の所定時間が経過する前に前記補正トルクの振幅が所定振幅を超える状態が所定時間継続したときは、前記通常時補正トルク指令値よりも小さな値の出力を継続し、前記第１の所定時間の経過後、第２の所定時間の経過前に、前記補正トルクの振幅が所定振幅を超える状態が所定時間継続する状態が所定回数以上継続したときは、前記補正トルクの振幅が所定振幅以下となる状態が継続しても前記通常時補正トルク指令値へ復帰させないことを特徴とする車両の制振制御装置。
【請求項２】
請求項１に記載の車両の制振制御装置において、
ブレーキ操作を検出するブレーキ操作検出手段を備え、
前記補正トルク指令値出力手段は、前記第２の所定時間の間に、前記補正トルクの振幅が所定振幅以上となる状態が所定時間継続し、かつブレーキ操作が行われている状態が所定回数以上継続したときは、前記補正トルクの振幅が所定振幅以下となる状態が継続しても前記通常時補正トルク指令値へ復帰させないことを特徴とする車両の制振制御装置。
【請求項３】
請求項２に記載の車両の制振制御装置において、
前記所定時間を、ブレーキ操作が行われている状態のときは、ブレーキ操作が行なわれていない状態のときより短くすることを特徴とする車両の制振制御装置。
【請求項４】
請求項１に記載の車両の制振制御装置において、
車速を検出する車速検出手段を備え、
前記補正トルク指令値出力手段は、前記第２の所定時間の間に、検出された車速が所定車速域内で前記補正トルクの振幅が所定振幅以上となる状態が所定時間継続する状態が所定回数以上継続したときは、前記補正トルクの振幅が所定振幅以下となる状態が継続しても前記通常時補正トルク指令値へ復帰させないことを特徴とする車両の制振制御装置。
【請求項５】
請求項４に記載の車両の制振制御装置において、
前記所定時間を、検出された車速が所定車速域内のときは、検出された車速が所定車速域以外のときより短くすることを特徴とする車両の制振制御装置。
【請求項６】
請求項１ないし５いずれか１つに記載の車両の制振制御装置において、
前記通常時補正トルク指令値よりも小さな値は、制御出力の停止を表す所定値であることを特徴とする車両の制振制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に発生する振動を抑制する制振制御装置に関する。
【背景技術】
【０００２】
従来、駆動トルクと車輪速を入力値としてバネ上振動を抑制する制振トルクを算出し、制振トルクの振動振幅が所定振幅以上の状態が所定時間継続した場合（以下、ハンチングと記載する。）に制御ゲインを低下させる技術として特許文献１に記載の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２７４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の技術にあっては、下記の問題があった。すなわち、ハンチング発生の要因のひとつに、悪路等の路面側における要因がある。この場合、悪路を抜けると出力を復帰してもハンチングは発生しないにもかかわらず、ハンチング発生後の所定時間、継続的に制御の出力を低下させて、その後復帰させるような場合には、必要以上に制御出力低下状態が継続し、制振制御が十分に実行できないという問題があった。
本発明は、上記問題に着目してなされたもので、制振制御が過度に制限されることなくハンチングを抑制可能な車両の制振制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明では、車体バネ上振動を抑制するような補正トルクに基づいて制駆動トルク発生手段に対し補正トルク指令値を出力するにあたり、補正トルクの振幅が所定振幅以上の状態が所定時間継続しているときは、通常時補正トルク指令値よりも小さな値を出力し、その後、補正トルクの振幅が所定振幅以下となる状態が第１の所定時間継続したときは、補正トルク指令値の出力を通常時補正トルク指令値に復帰させ、第１の所定時間継続する前に補正トルクの振幅が所定振幅を超える状態が所定時間継続したときは、通常時補正トルク指令値よりも小さな値の出力を継続し、第１の所定時間の経過後、第２の所定時間の経過前に、補正トルクの振幅が所定振幅を超える状態が所定時間継続する状態が所定回数以上継続したときは、補正トルクの振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させないこととした。
【発明の効果】
【０００６】
すなわち、悪路のような外的要因によって一時的に発生するハンチングに対して、補正トルクの出力低下によりハンチングの発生を抑える。そして、出力低下中に演算上の補正トルクにハンチングが生じなくなったことを判定すると、出力低下を解除するようにしたので、悪路を抜けると速やかに制御が復帰され、制振制御が作動していない時間が長くなることを防止できる。加えて、ハンチングが継続的に発生しているときは、継続してハンチング時補正トルク指令値を出力するため、再度ハンチングが発生することを抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】実施例１の制振制御装置の構成を示すシステム図である。
【図２】実施例１の制振制御装置を搭載する車両の構成図である。
【図３】実施例１の駆動力制御装置の制御構成を表すブロック図である。
【図４】実施例１のドライバ要求エンジントルク特性を表すマップである。
【図５】実施例１の制動力制御装置の制御構成を表すブロック図である。
【図６】実施例１のドライバ要求制動トルク特性を表すマップである。
【図７】実施例１の制振制御装置におけるコントローラで行う処理を示したブロック図である。
【図８】実施例１のコントローラにおける制振制御処理の処理手順を示すフローチャートである。
【図９】実施例１の車両運動モデルを表す概略図である。
【図１０】実施例１の出力モード設定処理を表すフローチャートである。
【図１１】実施例１のハンチング検出方法の概念図である。
【図１２】実施例１のハンチング検出処理を表すフローチャートである。
【図１３】実施例１のハンチング検出処理を表すフローチャートである。
【図１４】実施例１のハンチング検出処理を表すフローチャートである。
【図１５】実施例１のハンチング検出処理を表すフローチャートである。
【図１６】実施例１の出力モード設定処理を表すフローチャートである。
【図１７】実施例１のモード切替処理を表すフローチャートである。
【図１８】実施例１の制振制御処理を実行した際の作動内容を表すタイムチャートである。
【図１９】実施例１の制振制御処理を実行した際の作動内容を表すタイムチャートである。
【図２０】実施例２の出力モード設定処理を表すフローチャートである。
【図２１】実施例２のコントローラにおける制振制御処理の処理手順を示すフローチャートである。
【図２２】実施例２のブレーキ操作時のハンチングフラグ設定処理を表すフローチャートである。
【図２３】実施例２の出力モード設定処理を表すフローチャートである。
【図２４】実施例３の出力モード設定処理を表すフローチャートである。
【図２５】実施例３の所定車速域におけるハンチングフラグ設定処理を表すフローチャートである。
【図２６】実施例３の出力モード設定処理を表すフローチャートである。
【発明を実施するための形態】
【実施例１】
【０００８】
図１は、実施例１の制振制御装置の構成を示すシステム図であり、図２は、制振制御装置を搭載する車両の構成図である。まず、制振制御装置の構成を説明する。車輪速センサ１０は、各車輪の回転数からそれぞれの車輪の速度を検出する。アクセルペダル踏み込み量検知部２０は、運転者によるアクセルペダルの踏み込み量を表すアクセル開度APOを検出する。ブレーキ操作量検知部３０は、運転者によるブレーキ操作量S_b（ブレーキペダルストローク量や踏力等）を検出する。
【０００９】
コントローラ５０は、各センサにおいて検知された状態量に基づいて制振制御装置のアクチュエータである駆動力制御手段６０及び制動力制御手段７０に対して制御信号を出力する。コントローラ５０は、アクセルペダル踏み込み量検知部２０から入力されるアクセル開度APO及びブレーキ操作量検知部３０から入力されるブレーキ操作量S_bに基づいて、運転者が要求している制駆動トルク（要求制駆動トルクTe_a，Tw_b）を算出する（要求制駆動トルク算出手段５１）。また、コントローラ５０は、車輪速センサ１０から入力される各車輪の車輪速に基づいて、各車輪速の変化からタイヤに働く前後方向外乱を算出する（前後方向外乱算出手段５２）。コントローラ５０は、算出された要求制駆動トルクと前後方向外乱とから車体バネ上の挙動を推定する（バネ上挙動推定手段５３）。そして、コントローラ５０は、推定された車体バネ上挙動の振動を抑制するような補正トルクを算出し（補正トルク算出手段５４）、算出された補正トルクに基づいて出力を調整する。
【００１０】
コントローラ５０は、算出された補正トルクに対し、後述する補正トルク監視手段５６からの信号に基づいて出力調整処理を行う（出力調整手段５５）。また、コントローラ５０は、後述する補正トルク監視手段５６からの信号に基づいて、出力調整処理された補正トルクの出力モードを切り替え（モード切替手段５７）、補正トルク指令値を出力する。コントローラ５０は、出力調整手段５５により出力調整処理された補正トルク信号がハンチングしているか否かを監視し、監視結果を出力調整手段５５及びモード切替手段５７へと出力する（補正トルク監視手段５６）。コントローラ５０は、算出した補正トルク指令値を駆動力制御手段６０及び制動力制御手段７０へと出力する。
【００１１】
図３は実施例１の駆動力制御装置の制御構成を表すブロック図である。駆動力制御手段６０は、エンジンへの制御指令を算出する。アクセル開度APOに従ってドライバ要求駆動トルクを算出すると共に、コントローラ５０から出力される補正トルク指令値をドライバ要求駆動トルクに対して加えることで目標駆動トルクを算出し、エンジンコントローラは目標駆動トルクに従ってエンジン制御指令を算出する。図４はドライバ要求エンジントルク特性を表すマップである。ドライバ要求駆動トルクは、図４に示すような、アクセル開度APOとドライバ要求エンジントルクTe_aの関係を定めた特性マップから読み出したドライバ要求エンジントルクに対し、ディファレンシャルギア比、自動変速機の変速比で駆動軸端に換算することで算出される。
【００１２】
図５は制動力制御装置の制御構成を表すブロック図である。制動力制御手段７０は、ブレーキ液圧指令を出力する。ブレーキペダルの操作量S_bに従って、ドライバ要求制動トルクTw_bを算出すると共に、別途入力される補正トルク指令値をドライバ要求制動トルクTw_bに対して加えることで目標制動トルクを算出し、ブレーキ液圧コントローラは目標制動トルクに従ってブレーキ液圧指令を出力する。図６はドライバ要求制動トルク特性を表すマップである。ドライバ要求制動トルクは、図６に示すような、ブレーキ操作量S_bとドライバ要求制動トルクの関係を定めた特性マップから読み出すことで算出される。
【００１３】
図７は実施例１の制振制御装置におけるコントローラで行う処理を示したブロック図である。要求制駆動トルク算出手段５１は、アクセルペダル踏み込み量検知部２０とブレーキ操作量検知部３０とからの信号を入力し、運転者が要求している制駆動トルクを算出する。前後外乱算出手段５２は、車輪速センサ１０から入力される各車輪の車輪速に基づいて、各車輪速の変化からタイヤに働く前後方向外乱を算出する。バネ上挙動推定手段５３は、要求制駆動トルク算出手段５１から算出された要求制駆動トルクと、前後外乱算出手段５２から算出された前後方向外乱とから車体バネ上の挙動を推定する。
【００１４】
補正トルク算出手段５４は、バネ上挙動推定手段５３で推定された車体バネ上挙動の振動を抑制するような補正トルクを算出する。補正トルク監視手段５５は、補正トルク算出手段５４で算出された補正トルクから、補正トルク信号がハンチングしているか否かを監視し、出力モードを設定する。モード切替手段５６は、補正トルク監視手段５５で設定された出力モードに基づいて、補正トルク指令値を決定する。
【００１５】
この、補正トルク監視手段５５及びモード切替手段５６が本発明の特徴（補正トルク指令値出力手段に相当）であり、要求制駆動トルク及び前後方向外乱による車体バネ上振動を抑制するように制駆動トルクを補正するものである。すなわち、トルクの補正量（補正トルク）がハンチングしていることを検出した場合、補正トルクの出力を停止させ、運転者に不快な振動を与えることを抑制する。更に、ハンチングが収束した場合は、補正トルクの出力を復帰させ、ハンチングが繰り返し発生することを抑制するとともに、早期に補正トルクの出力を復帰させ、より制振制御の実行頻度を高める。
【００１６】
次に実施例１の制振制御装置の作動処理を図８〜図１７を用いて説明する。図８は、実施例１のコントローラにおける制振制御処理の処理手順を示すフローチャートである。なお、本処理内容は、一定間隔、例えば１０ｍｓｅｃ毎に連続的に行われる。
【００１７】
ステップＳ１００では、走行状態を読み込む。ここで、走行状態とは、運転者の操作状況や自車両の走行状況に関する情報である。具体的には、車輪速センサ１０により検出される各車輪の車輪速と、アクセルペダル踏み込み量検知部２０により検出されるアクセル開度APOと、ブレーキ操作量検知部３０により検出されるブレーキ操作量S_bを読み込む。
【００１８】
ステップＳ２００では、ステップＳ１００で読み込んだ運転者の操作状況に基づいて、ドライバ要求制駆動トルクTwを以下に従って算出する。
アクセル開度APOから、図４に示すような、アクセル開度とドライバ要求エンジントルクの関係を定めた特性マップに基づいてドライバ要求エンジントルクTe_aを読み出す。
Te_a＝map(APO)
読み出されたドライバ要求エンジントルクTe_aを、ディファレンシャルギア比Kdif、自動変速機のギア比Katに基づいて駆動軸トルクに換算し、ドライバ要求駆動トルクTw_a算出する。
Tw_a＝（１/（Kdf・Kat））・Te_a
同様に、ブレーキペダルの操作量S_bから、図６に示すような、ブレーキ操作量とドライバ要求制動トルクの関係を定めた特性マップからドライバ要求制動トルクTw_bを算出する。
算出されたドライバ要求駆動トルクTw_aとドライバ要求制動トルクTw_bとから、下式に従って要求制駆動トルクTwを算出する。
Tw＝Tw_a−Tw_b
【００１９】
ステップＳ３００では、ステップＳ１００で読み込んだ各車輪の車輪速に基づき、後述する運動モデルに入力される前後方向外乱を算出する。ここで前後方向外乱は、路面から各車輪に入力される力であり、以下に従って算出することができる。
各輪車輪速VwFR、VwFL、VwRR、VwRLから実車速成分Vbodyを除去して車体に対する各輪速度を算出し、各輪速度と各輪速度前回値の差分をとり、時間微分することにより各輪加速度を算出する。算出した各輪加速度にバネ下質量を乗じることで、前後輪の前後方向外乱ΔFf、ΔFrを算出する。
【００２０】
次にステップＳ４００では、ステップＳ２００で算出された要求制駆動トルクTw、及びステップＳ３００で算出された前後方向外乱ΔFf、ΔFrとから、バネ上挙動を推定する。
【００２１】
まず、本実施例１における運動モデルについて説明する。図９は車両運動モデルを表す概略図である。この車両運動モデルは、車体に対して前後にサスペンションを持つ前後２輪モデルである。すなわち、車両に発生する制駆動トルク変動ΔTw、路面状態変化あるいは制駆動力変化・ステアリング操舵等に応じて前輪に発生する前後方向外乱ΔFf、後輪に発生する前後方向外乱ΔFrをパラメータとして備え、前後輪１輪に対応したサスペンションのバネ−ダンパ系を有するサスペンションモデルと、車体重心位置の移動量を表現する車体バネ上モデルにより成り立っている。
【００２２】
次に、車両に発生する制駆動トルク変動が発生し、路面状態変化・制駆動力変化・ステアリング操舵の少なくとも一つがタイヤに加えられたことにより前後方向外乱が発生した場合について車両モデルを用いて説明する。
車体に制駆動トルク変動ΔTw、前後方向外乱ΔFf、ΔFrの少なくとも一つが発生したとき、車体はピッチ軸まわりに角度θpの回転が発生するとともに、重心位置の上下移動xbが発生する。ここで制駆動トルク変動ΔTwは、ドライバのアクセル操作及びブレーキ操作から算出された制駆動トルクΔTwnと、制駆動トルク前回値ΔTwn-1の差分から演算する。
【００２３】
前輪側サスペンションのバネ定数・減衰定数をKsf，Csf、後輪側サスペンションのバネ定数・減衰定数をKsr，Csrとし、前輪側サスペンションのリンク長・リンク中心高をLsf，hbf、後輪側サスペンションのリンク長・リンク中心高をLsr，hbrとする。また、車体のピッチ方向慣性モーメントをIp、前輪とピッチ軸間距離をLf、後輪とピッチ軸間距離をLr、重心高をhcg、バネ上質量をMとする。尚、本明細書において、表記の都合上、各パラメータをベクトル表記する際に、時間微分d(パラメータ)/dtの記載を、パラメータの上に黒丸を付すことで表記する場合も有る。これらは全く同義である。
【００２４】
この場合、車体上下振動の運動方程式は、
M・（d2xb/dt2）
＝−Ksf（xb＋Lf・θp）−Csf（dxb/dt＋Lf・dθp/dt）
−Ksr（xb−Lr・θp）−Csf（dxb/dt−Lr・dθp/dt）
−（hbf/Lsf）ΔFf＋（hbr/Lsr）ΔFr
で表すことができ、また、車体ピッチング振動の運動方程式は、
Ip・(d2θp/ dt2）
＝−Lf・Ksf（xb＋Lf・θp）−Lf・Csf（dxb/dt＋Lf・dθp/dt）
＋Lr・Ksr（xb−Lr・θp）＋Lr・Csf（dxb/dt−Lr・dθp/dt）
−{hcg−（Lf−Lsf）hbf/Lsf}ΔFf＋{hcg−（Lr-Lsr）hbr/Lsr}ΔFr
で表すことができる。
【００２５】
これら二つの運動方程式を、
x1＝xb，x2＝dxb/dt，x3＝θp，x4＝dθp/dt
と置いて、状態方程式に変換すると
dx/dt＝Ax＋Bu
と表現できる。
【００２６】
ここで、それぞれの要素は
【数１】
0005782792.tif 000002
である。
【００２７】
さらに、上記状態方程式を制駆動トルクを入力とするフィードフォワード（F/F）項，前後輪の走行外乱を入力とするフィードバック（F/B）項と入力信号により分割すると、
フィードフォワード項は、
【数２】
0005782792.tif 000003
と表現でき、
フィードバック項は、
【数３】
0005782792.tif 000004
と表現できる。
このxを求めることにより、制駆動トルク変動ΔTw、及び前後方向外乱ΔFf、ΔFrによる車体バネ上の挙動を推定することができる。
【００２８】
ステップＳ５００では、ステップＳ４００で推定したバネ上挙動に基づき、車体振動を抑制させるような補正トルクdTw*を算出する。このステップＳ５００で行う処理を、以下に説明する。
ステップＳ２００で算出された要求制駆動トルクTwの変動成分ΔTw、及び前後輪の前後方向外乱ΔFf、ΔFrに対する、それぞれのバネ上挙動xから、要求制駆動トルクにフィードバックする補正トルクdTw*を算出する。
このときフィードバックゲインは、dxb/dt，dθp/dtの振動が少なくなるように決定する。
例えば、フィードバック項においてdxb/dtが少なくなるようなフィードバックゲインを算出する場合は、重み行列を
【数４】
0005782792.tif 000005
のように選び、
【数５】
0005782792.tif 000006
におけるJを最小にする制御入力である。
【００２９】
その解は、リカッチ代数方程式
【数６】
0005782792.tif 000007
の正定対称解pを元に、
【数７】
0005782792.tif 000008
で与えられる。ここでFｘｂ＿FBはフィードバック項におけるdxb/dtに関するフィードバックゲイン行列である。
【００３０】
フィードバック項におけるdθp/dtの振動が少なくなるようなフィードバックゲインFthp_FB、及びフィードフォワード項におけるdxb/dt，dθp/dtが少なくなるようなフィードバックゲインFxb_FF，Fthp_FFも同様に算出できる。
フィードバック項におけるdθp/ｄｔの振動が少なくなるようなフィードバックゲインFthp_FBは、重み行列を
【数８】
0005782792.tif 000009
と設定し、
【数９】
0005782792.tif 000010
として算出する。
【００３１】
同様に、フィードフォワード項におけるdxb/dtが少なくなるようなフィードバックゲインFxb_FFは重み行列を
【数１０】
0005782792.tif 000011
と設定し、
【数１１】
0005782792.tif 000012
として算出する。
【００３２】
また、フィードフォワード項におけるdxb/dt，dθp/dtが少なくなるようなフィードバックゲインFxb_FFも重み行列を
【数１２】
0005782792.tif 000013
と設定し、
【数１３】
0005782792.tif 000014
として算出する。
これは最適レギュレータの手法であるが、極配置など他の手法にて設計しても良い。
上記4つの式から算出した補正トルクに対して、それぞれ重みづけして加算することで、補正トルクdTw*を算出する。
【００３３】
ステップＳ６００では、ステップＳ５００で算出した補正トルクdTw*に基づき、出力モードを設定する。この処理について、以下、図１０〜図１５を用いて説明する。
【００３４】
〔補正トルク監視処理〕
図１０は実施例１の出力モード設定処理を表すフローチャートである。
ステップＳ６２０では、補正トルクdTw*のハンチングを検出する。このステップＳ６２０で行う処理を図１１〜図１５を用いて説明する。
【００３５】
図１１は、実施例１のハンチング検出方法の概念図である。出力調整後の補正トルクdTw*が予め定められた補正トルク上限閾値dTw_U (または、補正トルク下限閾値dTw_L)を超えた回数をカウントし、カウントした回数がハンチング判定回数Hunt_Cnt_lmtとなったらハンチングしていると判断して、ハンチングフラグfHuntに１をセットする。図１１の場合、ハンチング判定回数Hunt_Cnt_lmtは７回に設定されている。カウントは、補正トルクdTw*が補正トルク閾値dTw_U (または、dTw_L)を超えてからハンチング監視時間Cycle_Timelmtの間に補正トルク閾値dTw_L (または、dTw_U)を超えた場合に行い、Cycle_Timelmtの間に閾値を超えなかった場合はハンチングしていないと判断し、カウンタをクリアする。
【００３６】
〔ハンチング検出処理〕
このハンチング検出処理を図１２〜図１５を用いて詳細に説明する。図１２〜図１５は実施例１のハンチング検出処理を表すフローチャートである。
ステップＳ６２１では、ハンチング監視タイマtHunt_Cycleが正か否かを判断する。ＹＥＳの場合はステップＳ６２２でハンチング監視タイマtHunt_Cycleを１減算する。ステップＳ６２１でＮＯの場合はそのままステップＳ６２３に進む。ステップＳ６２３では、上限閾値到達フラグfHunt_U、及び下限閾値到達フラグfHunt_Lが０か否かを判断する。ＹＥＳの場合はステップＳ６２４でハンチング初期検知判断を行う。このステップＳ６２４で行う処理を、図１３のフローチャートを用いて説明する。
【００３７】
（ハンチング初期検知判断）
図１３は実施例１のハンチング検知処理を表すフローチャートである。
ステップＳ６２４−１では、補正トルクdTw*が補正トルク上限閾値dTw_U以上で、かつ補正トルクdTw*の前回値が補正トルク上限閾値dTw_Uよりも小さいか否かを判断する。ＹＥＳの場合はステップＳ６２４−２に進み、上限閾値到達フラグfHunt_Uに１を、ハンチング回数Hunt_Cntに１を、ハンチング監視タイマtHunt_Cycleにハンチング監視時間Cycle_Timelmtをセットして終了する。
ステップＳ６２４−１でＮＯの場合は、ステップＳ６２４−３に進み、補正トルクdTw*が補正トルク下限閾値dTw_L以下で、かつ補正トルクdTw*の前回値が補正トルク下限閾値dTw_Lよりも大きいか否かを判断する。ＹＥＳの場合はステップＳ６２４−４で下限閾値到達フラグfHunt_Lに１を、ハンチング回数Hunt_Cntに１を、ハンチング監視タイマtHunt_Cycleにハンチング監視時間Cycle_Timelmtをセットして終了する。
【００３８】
ステップＳ６２４−３でＮＯの場合はステップＳ６２４−５に進み、ハンチング回数Hunt_Cntとハンチング監視タイマtHunt_Cycleをクリアして終了する。
ステップＳ６２３でＮＯの場合はステップＳ６２５でハンチング継続判断を行う。このステップＳ６２５で行う処理を、図１４のフローチャートを用いて説明する。
【００３９】
（ハンチング継続判断処理）
図１４は実施例１のハンチング継続判断処理を表すフローチャートである。
ステップＳ６２５−１では、上限閾値到達フラグfHunt_Uが１、かつ下限閾値到達フラグfHunt_Lがゼロ、かつ補正トルクdTw*が補正トルク下限閾値dTw_L以下であるか否かを判断する。ＹＥＳの場合はステップＳ６２５−２で上限閾値到達フラグfHunt_Uにゼロを、下限閾値到達フラグfHunt_Lに１を、ハンチング監視タイマtHunt_Cycleにハンチング監視時間Cycle_Timelmtをセットするとともに、ハンチング回数Hunt_Cntに１を加算して、ステップＳ６２５−５に進む。
【００４０】
ステップＳ６２５−１でＮＯの場合はステップＳ６２５−３に進み、上限閾値到達フラグfHunt_Uがゼロ、かつ下限閾値到達フラグfHunt_Lが１、かつ出力調整後の補正トルクdTw1*が補正トルク上限閾値dTw_U以上であるか否かを判断する。ＹＥＳの場合はステップＳ６２５−４に進み、上限閾値到達フラグfHunt_Uに１を、下限閾値到達フラグfHunt_Lにゼロを、ハンチング監視タイマfHunt_Cycleにハンチング監視時間Cycle_Timelmtをセットするとともに、ハンチング回数Hunt_Cntに１を加算して、ステップＳ６２５−５に進む。ステップＳ６２５−３でＮＯの場合はそのままステップＳ６２５−５に進む。
【００４１】
ステップＳ６２５−５では、ハンチング回数Hunt_Cntがハンチング判定回数Hunt_Cnt_lmt以上か否かを判断する。ＹＥＳの場合はステップＳ６２５−６に進み、ハンチングしていると判断してハンチングフラグfHuntに１をセットするとともに、ハンチング回数Hunt_Cntにハンチング判定回数Hunt_Cnt_lmtを、中断復帰用タイマtHunt_Endに復帰時間End_Timelmt（第１の時間T1に相当）をセットする。ステップＳ６２５−５でＮＯの場合はそのままステップＳ６２５−７に進む。
【００４２】
ステップ６２５−７では、ハンチング監視タイマtHunt_Cycleの前回値が正、かつハンチング監視タイマtHunt_Cycleがゼロであるか否かを判断する。ＮＯの場合はそのまま終了する。ＹＥＳの場合はステップＳ６２５−８に進み、ハンチング回数Hunt_Cntがハンチング判定回数Hunt_Cnt_lmt以上か否かを判断する。ＹＥＳの場合はステップＳ６２５−９で中断復帰用タイマtHunt_Endに復帰時間End_Timelmt（第１の時間T1に相当）をセットする。ステップＳ６２５−８でＮＯの場合はそのままステップＳ６２５−１０に進む。ステップＳ６２５−１０では、上限閾値到達フラグfHunt_U、下限閾値到達フラグfHunt_L、ハンチング回数Hunt_Cntをクリアして終了する。
【００４３】
ステップＳ６２６では、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ６２７に進み、ハンチング終了判断を行う。ＮＯの場合はＳ６２８で、中断復帰用タイマtHunt_Endをクリアして終了する。ステップＳ６２７で行うハンチング終了判断処理を図１５のフローチャートを用いて説明する。
【００４４】
（ハンチング終了判断処理）
図１５は実施例１のハンチング終了判断処理を表すフローチャートである。
ステップＳ６２７−１では、中断復帰用タイマtHunt_Endが正か否かを判断する。ＹＥＳの場合はステップＳ６２７−２に進み、中断復帰用タイマtHunt_Endを１減算して終了する。ＮＯの場合はハンチングが終了したと判断し、ステップＳ６２７−３でハンチングフラグfHuntをクリアして終了する。
【００４５】
（出力モード設定処理）
ステップＳ６４０では、ステップＳ６２０で検出したハンチング結果に基づいて、出力モードを設定する。このステップＳ６４０で行う処理を図１６を用いて説明する。
図１６は実施例１の出力モード設定処理を表すフローチャートである。
ステップＳ６４１では、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ６４２に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに１をセットする。ステップＳ６４３では、ハンチング終了経過時間tHuntが正か否かを判断する。ＹＥＳの場合はステップＳ６４４に進み、ハンチング継続回数cnt_Hunt_ONに１加算する。ＮＯの場合はそのままステップＳ６４５に進む。ステップＳ６４５では、ハンチング終了経過時間tHuntをクリアして、ステップＳ６５２に進む。
【００４６】
ステップＳ６４１でＮＯの場合は、ステップＳ６４６に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。ステップＳ６４７では、ハンチングフラグfHuntの前回値が１か否かを判断する。ＹＥＳの場合はステップＳ６４８に進み、ハンチング終了経過時間tHuntに所定時間Hunt_Timelmt（第２の所定時間T2に相当）をセットする。
【００４７】
ステップＳ６４７ではＮＯの場合は、ステップＳ６４９に進み、ハンチング終了経過時間tHuntから１減算する。ステップＳ６５０では、ハンチング終了経過時間tHuntがゼロか否かを判断し、ＹＥＳの場合はステップＳ６５１でハンチング継続回数cnt_Hunt_ONをクリアする。ＮＯの場合はそのままステップＳ６５２に進む。
【００４８】
ステップＳ６５２では、ハンチング継続回数cnt_Hunt_ONが予め定められた継続回数mHunt_cntよりも大きいか否かを判断する。ＮＯの場合はそのまま終了する。ＹＥＳの場合は、ハンチングが終了してから所定時間Hunt_Timelmtの間にハンチングが予め定められた継続回数mHunt_cnt発生したので、ステップＳ６５３で制御停止フラグfSTOPに１をセットする。この制御停止フラグfSTOPに１がセットされるとハンチングが終了したとしても出力は復帰しない。
【００４９】
〔モード切替処理〕
ステップＳ７００では、ステップＳ６００で設定した出力モードに基づき、補正トルク指令値dTw_out*を算出する。ここで行う処理を図１７に示すフローチャートを用いて説明する。
【００５０】
図１７は実施例１のモード切替処理を表すフローチャートである。
ステップＳ７０１では、制御停止フラグfSTOPが１か否かを判断する。ＹＥＳの場合はステップＳ７０２に進み、補正トルク指令値dTw_out*にゼロをセットして終了する。ＮＯの場合はステップＳ７０３に進む。
ステップＳ７０３では、制御中断フラグfPAUSEが１か否かを判断する。ＹＥＳの場合はステップＳ７０４で補正トルク指令値dTw_out*にゼロをセットして終了する。このときのゼロの値がハンチング時補正トルク指令値に相当する。ＮＯの場合は、補正トルク指令値dTw_out*に補正トルクdTw1*をセットして終了する。
【００５１】
〔指令値出力処理〕
ステップＳ８００では、ステップＳ７００で算出した補正トルク指令値dTw_out*を、駆動力制御手段６０及び制動力制御手段７０に出力し、今回の処理を終了する。
【００５２】
〔制振制御処理による作用〕
（ハンチング終了後、復帰時間が経過する前に再度ハンチングを生じた場合）
図１８は実施例１の制振制御処理を実行した際の作動内容を表すタイムチャートである。ある悪路を走行中に車両に発生する振動を抑制するように制振制御を実行中、補正トルク指令値にハンチングが生じた状態を示す。
時刻ｔ１において、制振制御に基づく補正トルク指令値が悪路の影響によって補正トルクの振幅が大きくなるハンチングをし始める。
【００５３】
時刻ｔ２において、ハンチングが所定時間継続すると、ハンチングフラグfHunt及び制御中断フラグfPAUSEがセットされる（ステップＳ６２５−６，ステップＳ６４２）。そして、制御中断フラグfPAUSEがセットされたことで、補正トルクdTw*としてはハンチングを継続していたとしても、アクチュエータには補正トルク指令値dTw_out*として０が出力される（ステップＳ７０３→Ｓ７０４）。この補正トルク指令値dTw_out*が特許請求の範囲に記載の補正トルク指令値に相当する。
【００５４】
時刻ｔ３において、補正トルクdTw*のハンチングが収まったと判断されると、中断復帰用タイマtHunt_Endに復帰時間End_Timelmt（第１の所定時間T1に相当）がセットされ（ステップＳ６２５−９）、ハンチングが収まった状態が復帰時間End_Timelmt継続することを確認する。
【００５５】
時刻ｔ４において、時刻ｔ３から復帰時間End_Timelmt経過する前に再度ハンチングが発生すると、ハンチング検出を実行する。時刻ｔ５において、時刻ｔ４から復帰時間End_Timelmt経過する前にハンチングが終了すると、時刻ｔ５において復帰時間End_Timelmtを設定する。
【００５６】
時刻ｔ６において、時刻ｔ５から復帰時間End_Timelmt経過したときに、ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされ（ステップＳ６２７−３，Ｓ６４６）、アクチュエータには補正トルク指令値dTw_out*として、算出された補正トルクdTw*が設定されて出力される。
時刻ｔ６以降、ハンチング終了経過時間tHuntに所定時間Hunt_Timelmt（第２の所定時間T2に相当）が設定され、再度のハンチングの発生の有無を監視しながら補正トルク指令値dTw_out*が出力される。ハンチングの再発を十分に考慮した上で、通常時補正トルク指令値に復帰させるため、再びハンチングが発生することを防ぐことができると共に、出力低下状態をより短くすることができる。尚、補正トルク指令値dTw_out*を出力しても、尚、ハンチングが検知されることなく所定時間Hunt_Timelmtが経過すると、通常の制御が継続される。
【００５７】
（ハンチング終了後、復帰時間が経過する前に再度ハンチングを生じた場合）
図１９は実施例１の制振制御処理を実行した際の作動内容を表すタイムチャートである。ある悪路を走行中に車両に発生する振動を抑制するように制振制御を実行中、補正トルク指令値にハンチングが生じた状態を示す。尚、時刻ｔ３までは図１８に示すタイムチャートと同じであるため、説明を省略する。
時刻ｔ４１において、時刻ｔ３から復帰時間End_Timelmt経過するまでハンチングの再発が検出されないときは、ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされ、ハンチング終了経過時間に所定時間Hunt_Timelmt（第２の所定時間T2に相当）が設定され、再度のハンチングの発生の有無を監視しながら補正トルク指令値dTw_out*が出力される。
【００５８】
時刻ｔ５１において、所定時間Hunt_Timelmtが経過する前に再度ハンチングが発生すると、ハンチングフラグfHunt及び制御中断フラグfPAUSEが再度セットされる。このとき、第２の所定時間T2であるHunt_Timelmtが経過する前にハンチングが検出されるため、ハンチング継続回数cnt_Hunt_ONがカウントアップされる。
【００５９】
時刻ｔ５２において、補正トルクdTw*のハンチングが収まったと判断されると、中断復帰用タイマtHunt_Endに復帰時間End_Timelmtがセットされ、その後，ハンチングが発生しなければ、復帰時間経過後の時刻ｔ５３において、再度ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされて、アクチュエータには補正トルク指令値dTw_out*として、算出された補正トルクdTw*が設定されて出力される。
【００６０】
尚、所定時間Hunt_Timelmt（第２の所定時間T2）内にハンチングが検出されたときは、ハンチング継続回数cnt_Hunt_ONがカウントアップされていき、予め定められた継続回数mHunt_cnt発生した場合には、制御停止フラグfSTOPに１がセットされてハンチングが終了したとしても出力は復帰しない。
【００６１】
以上説明したように、実施例１にあっては下記に列挙する作用効果を得ることができる。
（１）車輪に制駆動トルクを発生させる駆動力制御手段６０及び制動力制御手段７０（制駆動トルク発生手段）と、車体バネ上振動を抑制するような補正トルクを算出する補正トルク算出手段５４と、補正トルクに基づいて駆動力制御手段６０及び制動力制御手段７０に対し補正トルク指令値を出力する補正トルク監視手段５６及びモード切替手段５７（以下、補正トルク指令値出力手段）と、を備え、補正トルク指令値出力手段は、補正トルクdTw*の振幅が所定振幅以上の状態がハンチング監視時間Cycle_Timelmt（所定時間）継続しているときは、通常時補正トルク指令値よりも小さな値、具体的には振幅が小さな値であるハンチング時補正トルク指令値（実施例１ではゼロ）を出力し、その後、補正トルクの振幅が所定振幅以下となる状態が復帰時間End_Timelmt（第１の所定時間）継続したときは、補正トルク指令値の出力をハンチング時補正トルク指令値から通常時補正トルク指令値に復帰させ、復帰時間End_Timelmtが経過する前に補正トルクdTw*の振幅が所定振幅を超える状態がハンチング監視時間Cycle_Timelmt継続したときは、ハンチング時補正トルク指令値の出力を継続する。
【００６２】
すなわち、悪路のような外的要因によって一時的に発生するハンチングに対して、補正トルクの出力低下によりハンチングの発生を抑える。そして、出力低下中に演算上の補正トルクにハンチングが生じなくなったことを判定すると、出力低下を解除するようにしたので、悪路を抜けると速やかに制御が復帰され、制振制御が作動していない時間が長くなることを防止できる。加えて、ハンチングが継続的に発生しているときは、悪路走行中であると判断して継続してハンチング時補正トルク指令値を出力するため、再度ハンチングが発生することを抑制することができる。尚、ハンチング時補正トルク指令値は、実施例１では０を出力する構成としたが、０に限らず、絶対値として極めて小さな値を設定する場合や、所定の一定制御量を付与する場合、又は所定の周波数制御量を与えるといった構成としてもよい。いずれにせよ、ハンチングを予め設定された制御量に基づいて抑制可能な出力をすることが望ましい。
【００６３】
（２）補正トルク指令値出力手段は、復帰時間End_Timelmt（第１の所定時間）の経過後、ハンチング終了経過時間tHuntに設定された所定時間Hunt_Timelmt（第２の所定時間T2）経過前に、補正トルクdTw*の振幅が所定振幅を超える状態が所定時間継続する状態が所定回数以上継続したときは、ハンチング時補正トルク指令値である０を出力し、補正トルクの振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させない（制御停止フラグfSTOP）。
【００６４】
例えば、ブレーキジャダーやシミーなど車両側の要因によるハンチングの発生頻度を抑えて運転者に与える違和感を低減でき、一方、悪路走行等、ハンチング要因が路面側にある場合には、悪路走行中は制御を停止し、悪路を抜けると速やかに制御に復帰することができる。尚、上述の「ブレーキジャダー」とは、ブレーキ踏み込み時にブレーキパッドとブレーキロータとの間で発生する振動が車両側に伝達される現象をいい、「シミー」とは、ステアリングホイールが回転方向に小刻みに振られる現象のことで、路面の凹凸やホイールバランスの狂い、ステアリング系統のガタなどによって発生する現象をいう。
【００６５】
（３）ハンチング時補正トルク指令値は、制御出力の停止を表す所定値である０を出力することとした。これにより、ハンチングの発生による運転者の違和感をより低減することができる。
【実施例２】
【００６６】
次に実施例２について説明する。基本的な構成は実施例１と同じであるため、異なる点についてのみ説明する。図２０は実施例２の出力モード設定処理を表すフローチャートである。ステップ６２０のハンチング検出処理は基本的に実施例１と同じであるため説明を省略する。尚、実施例２のハンチング検出処理において使用されるハンチング監視タイマtHunt_Cycleにセットされるハンチング監視時間Cycle_Timelmtは、実施例１におけるハンチング監視時間Cycle_Timelmtよりも短い時間に設定している。これにより、ブレーキ検出時のハンチングにあっては車両側に起因するハンチングとして素早く判定することが可能となり、ハンチングが発生する回数を抑制することができる。尚、ブレーキ検出時のハンチング発生は、ブレーキジャダーに起因するハンチングである可能性が高いため、ハンチング監視時間Cycle_Timelmtを短く設定しても問題は無い。
【００６７】
ステップＳ６６０では、ステップＳ６２０で検出したハンチング結果に基づき、ハンチング継続フラグを設定する。図２１は実施例２のコントローラにおける制振制御処理の処理手順を示すフローチャートである。
ステップＳ６６１では、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ６６２に進み、ハンチング終了経過時間tHuntが正か否かを判断する。ＹＥＳの場合はステップＳ６６３に進み、ハンチングが継続していると判断して、ハンチング継続フラグfHunt_Continueに１をセットする。ＮＯの場合はそのままステップＳ６６４に進む。ステップＳ６６４では、ハンチング終了経過時間tHuntをクリアして、終了する。
【００６８】
ステップＳ６６１でＮＯの場合は、ステップＳ６６５に進み、ハンチングフラグfHuntの前回値が１か否かを判断する。ＹＥＳの場合はステップＳ６６６に進み、ハンチング終了経過時間tHuntに所定時間Hunt_Timelmtをセットする。ステップＳ６６５でＮＯの場合は、ステップＳ６６７に進み、ハンチング終了経過時間tHuntから１減算する。ステップＳ６６８では、ハンチング終了経過時間tHuntがゼロか否かを判断し、ＹＥＳの場合はステップＳ６６９に進み、ハンチングの継続が終了したと判断して、ハンチング継続フラグfHunt_Continueをクリアする。ＮＯの場合は、そのまま終了する。
【００６９】
ステップＳ６７０では、ステップＳ６２０で検出したハンチング結果と、ステップＳ１００で読み込んだ運転者のブレーキ操作状態とから、ブレーキ操作時のハンチングフラグを設定する。このステップＳ６７０で行う処理を図２２を用いて説明する。
【００７０】
図２２は実施例２のブレーキ操作時のハンチングフラグ設定処理を表すフローチャートである。
【００７１】
ステップＳ６７１では、ハンチングフラグfHuntが１、かつ運転者のブレーキ操作フラグfBRKが１が否かを判断する。ＹＥＳの場合はステップＳ６７２に進み、ブレーキ操作時のハンチングと判断して、ブレーキハンチングフラグfHunt_Brkに１をセットする。ＮＯの場合はステップＳ６７３でハンチングフラグfHuntがゼロか否かを判断する。ＹＥＳの場合はステップＳ６７４に進み、ブレーキ操作時のハンチングが終了したと判断し、ブレーキハンチングフラグfHunt_Brkをクリアする。ステップＳ６７３でＮＯの場合はそのまま終了する。
【００７２】
ステップＳ６８０では、ステップＳ６２０で検出したハンチング結果と、ステップＳ６７０で設定したブレーキハンチングフラグfHunt_Brkに基づいて、出力モードを設定する。このステップＳ６８０で行う処理を図２３に基づいて説明する。
【００７３】
図２３は実施例２の出力モード設定処理を表すフローチャートである。
ステップＳ６８１では、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ６８２に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに１をセットする。ＮＯの場合はステップＳ６８３に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。ステップＳ６８４では、ハンチング継続フラグfHunt_Continueが１か否かを判断する。ＹＥＳの場合はステップＳ６８５に進み、ブレーキ操作時のハンチングか否かを判断する。ＹＥＳの場合はステップＳ６８６に進み、ブレーキハンチングフラグfHunt_Brkの前回値がゼロか否かを判断する。ＹＥＳの場合はハンチングが終了してから所定時間Hunt_Timelmtの間に再度ハンチングが発生したとして、ステップＳ６８７で、ハンチング継続回数cnt_Hunt_ONに１加算する。
【００７４】
ステップＳ６８５、及びステップＳ６８６でＮＯの場合はそのままステップＳ６８９に進む。ステップＳ６８４でＮＯの場合は、ステップＳ６８８でハンチング継続回数cnt_Hunt_ONをクリアし、ステップＳ６８９に進む。ステップＳ６８９では、ハンチング継続回数cnt_Hunt_ONが予め定められた継続回数mHunt_cntよりも大きいか否かを判断する。ＮＯの場合はそのまま終了する。ＹＥＳの場合は、ハンチングが終了してから所定時間Hunt_Timelmtの間にブレーキ操作時のハンチングが予め定められた継続回数mHunt_cnt発生したので、ステップＳ６９０で制御停止フラグfSTOPに１をセットする。この制御停止フラグfSTOPに１がセットされるとハンチングが終了したとしても出力は復帰しない。
【００７５】
以上説明したように、実施例２にあっては、実施例１の（１）〜（３）に示す作用効果に加えて、下記の作用効果を得ることができる。
（４）ブレーキ操作を検出するブレーキ操作量検知部３０（ブレーキ操作検出手段）を備え、補正トルク指令値出力手段は、ハンチング終了経過時間tHuntに設定された所定時間Hunt_Timelmt（第２の所定時間T2）に、補正トルクの振幅が所定振幅以上となる状態が所定時間継続し、かつブレーキ操作が行われている状態が所定回数以上継続した場合に、ハンチング時補正トルク指令値である０を出力し、補正トルクの振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させないこととした（制御停止フラグfSTOP）。
よって、ブレーキ操作中のハンチングが所定回数以上継続した場合に、制御出力を低下、若しくは停止させ、ハンチングが収まっても出力を復帰させないように構成されているので、例えばブレーキジャダー等、運転者のブレーキ操作時にハンチングが発生するような車両側の要因を確実に判別できる。
（５）ハンチング監視時間Cycle_Timelmtを、ブレーキ操作が行われている状態のときは、ブレーキ操作が行なわれていない状態のとき（実施例１参照）より短くすることとした。
よって、ブレーキジャダーを起因とするハンチングの判定を素早く行なうことができ、より早期に制振制御を停止することができる。
【実施例３】
【００７６】
次に実施例３について説明する。基本的な構成は実施例２と同じであるため、異なる点についてのみ説明する。図２４は実施例３の出力モード設定処理を表すフローチャートである。ステップＳ６２０，Ｓ６６０は実施例２と同じであるため、異なるステップ６７０'についてのみ説明する。尚、実施例２のハンチング検出処理において使用されるハンチング監視タイマtHunt_Cycleにセットされるハンチング監視時間Cycle_Timelmtは、実施例１におけるハンチング監視時間Cycle_Timelmtよりも短い時間に設定している。これにより、シミー検出時のハンチングにあっては車両側に起因するハンチングとして素早く判定することが可能となり、ハンチングが発生する回数を抑制することができる。尚、シミー検出時のハンチング発生は、シミーに起因するハンチングである可能性が高いため、ハンチング監視時間Cycle_Timelmtを短く設定しても問題は無い。
【００７７】
ステップＳ６７０'では、ステップＳ６２０で検出したハンチング結果と、自車両の速度Vとから、予め定められた速度域でのハンチングフラグを設定する。ここで自車両の速度Vは、例えば後輪２輪の車輪速VwRR，VwRLで求めることができる。このステップＳ６７０'で行う処理を図２５に基づいて説明する。
【００７８】
図２５は実施例３の所定車速域におけるハンチングフラグ設定処理を表すフローチャートである。
ステップＳ６７１'では、ハンチングフラグfHuntが１、かつ自車両の車速Vが所定値Vminよりも大きく、かつ自車両の車速Vが所定値Vmaxよりも小さいか否かを判断する。ＹＥＳの場合はステップＳ６７２'に進み、予め定められた速度域でのハンチングであると判断して、所定速域ハンチングフラグfHunt_Vspに１をセットする。ＮＯの場合はステップＳ６７３'でハンチングフラグfHuntがゼロか否かを判断する。ＹＥＳの場合はステップＳ６７４'に進み、予め定められた速度域でのハンチングが終了したと判断し、所定速域ハンチングフラグfHunt_Vspをクリアする。ステップＳ６７３'でＮＯの場合はそのまま終了する。
【００７９】
ステップＳ６８０'では、ステップＳ６２０で検出したハンチング結果と、ステップＳ６７０'で設定した所定速度域ハンチングフラグfHunt_Vspに基づいて、出力モードを設定する。このステップＳ６８０'で行う処理を図２６に基づいて説明する。
ステップＳ６８１では、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ６８２に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに１をセットする。ＮＯの場合はステップＳ６８３に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。
【００８０】
ステップＳ６８４では、ハンチング継続フラグfHunt_Continueが１か否かを判断する。ＹＥＳの場合はステップＳ６８５'に進み、予め定められた速度域でのハンチングか否かを判断する。ＹＥＳの場合はステップＳ６８６'に進み、所定速度域ハンチングフラグfHunt_Vspの前回値がゼロか否かを判断する。ＹＥＳの場合はハンチングが終了してから所定時間Hunt_Timelmtの間に再度ハンチングが発生したとして、ステップＳ６８７で、ハンチング継続回数cnt_Hunt_ONに１加算する。
【００８１】
以上説明したように、実施例３にあっては、実施例１の（１）〜（３）に示す作用効果に加えて、下記の作用効果を得ることができる。
（６）車速を検出する車輪速センサ１０（車速検出手段）を備え、補正トルク指令値出力手段は、ハンチング終了経過時間tHuntに設定された所定時間Hunt_Timelmt（第２の所定時間T2）の間に、検出された車速VがVmin＜V＜Vmax（所定車速域内）で補正トルクdTw*の振幅が所定振幅以上となる状態が所定時間継続する状態が所定回数以上継続したときはハンチング時補正トルク指令値（実施例３ではゼロ）を出力し、補正トルクdTw*の振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させないこととした。
よって、例えばシミーなど、特定の車速での走行中にハンチングが発生するような車両側の要因を確実に判別することができ、制御復帰に伴ってハンチングを繰り返すといった違和感を回避することができる。
（７）ハンチング監視時間Cycle_Timelmtを、検出された車速VがVmin＜V＜Vmax（所定車速域内）のときは、V≦VminもしくはV≧Vmaxのときより短くすることとした。
よって、シミー等を起因とするハンチングの判定を素早く行なうことができ、より早期に制振制御を停止することができる。
【００８２】
以上、本発明の制振制御装置を適用した実施例について説明したが、他の構成であっても本願発明に含まれる。例えば、実施例では、制駆動トルク発生手段の駆動源として内燃機関であるエンジンを備えた構成を示したが、エンジンに限らず、モータを備えたハイブリッド車両や、モータのみを駆動源とする電気自動車であっても構わない。
【００８３】
また、制駆動トルク発生手段の制動アクチュエータとしてキャリパをブレーキパッドで押圧して制動力を発生させる構成を示したが、モータ等の回生制動力を用いてもよい。また、液圧ブレーキに限らず、電動キャリパ等を備えた構成であっても構わない。尚、モータジェネレータを備えた電気自動車等の場合には、制駆動トルク発生手段がモータジェネレータ１つであるため、このモータジェネレータに付与するトルク信号に駆動トルクと制動トルクの両方を組み合わせた信号を出力すればよい。
【００８４】
また、実施例では、車体に対して前後にサスペンションを持つ前後２輪モデルを用い、車両のピッチング振動及びバウンス振動を抑制するための補正トルクを算出する構成を示したが、例えば、４輪モデルを用い、ピッチング振動、バウンス振動に加えて、ロール振動に関する振動を抑制するような補正トルクを算出することとしてもよい。
【符号の説明】
【００８５】
５０    コントローラ
５１    要求制駆動トルク算出手段
５２    前後方向外乱算出手段
５２    前後外乱算出手段
５３    バネ上挙動推定手段
５４    補正トルク算出手段
５５    補正トルク監視手段
５６    モード切替手段
６０    駆動力制御手段
７０    制動力制御手段
【図１】
0005782792.tif 000015
【図２】
0005782792.tif 000016
【図３】
0005782792.tif 000017
【図４】
0005782792.tif 000018
【図５】
0005782792.tif 000019
【図６】
0005782792.tif 000020
【図７】
0005782792.tif 000021
【図８】
0005782792.tif 000022
【図９】
0005782792.tif 000023
【図１０】
0005782792.tif 000024
【図１１】
0005782792.tif 000025
【図１２】
0005782792.tif 000026
【図１３】
0005782792.tif 000027
【図１４】
0005782792.tif 000028
【図１５】
0005782792.tif 000029
【図１６】
0005782792.tif 000030
【図１７】
0005782792.tif 000031
【図１８】
0005782792.tif 000032
【図１９】
0005782792.tif 000033
【図２０】
0005782792.tif 000034
【図２１】
0005782792.tif 000035
【図２２】
0005782792.tif 000036
【図２３】
0005782792.tif 000037
【図２４】
0005782792.tif 000038
【図２５】
0005782792.tif 000039
【図２６】
0005782792.tif 000040