"車輪に制駆動トルクを発生させる制駆動トルク発生手段と、車体バネ上振動を抑制するような補正トルクを算出する補正トルク算出手段と、前記補正トルクに基づいて前記制駆動トルク発生手段に対し補正トルク指令値を出力する補正トルク指令値出力手段と、を備え、前記補正トルク指令値出力手段は、前記補正トルクの振幅が所定振幅以上の状態が所定時間継続しているときは、通常時補正トルク指令値よりも小さな値のハンチング時補正トルク指令値を出力し、その後、前記補正トルクの振幅が所定振幅以下となる状態が第1の所定時間継続したときは、前記補正トルク指令値の出力を前記ハンチング時補正トルク指令値から前記通常時補正トルク指令値に復帰させ、前記第1の所定時間が経過する前に前記補正トルクの振幅が所定振幅を超える状態が所定時間継続したときは、前記ハンチング時補正トルク指令値の出力を継続することを特徴とする車両の制振制御装置。請求項1に記載の車両の制振制御装置において、前記補正トルク指令値出力手段は、前記第1の所定時間の経過後、第2の所定時間の経過前に、前記補正トルクの振幅が所定振幅を超える状態が所定時間継続する状態が所定回数以上継続したときは、前記ハンチング時補正トルク指令値を出力し、前記補正トルクの振幅が所定振幅以下となる状態が継続しても前記通常時補正トルク指令値へ復帰させないことを特徴とする車両の制振制御装置。請求項2に記載の車両の制振制御装置において、ブレーキ操作を検出するブレーキ操作検出手段を備え、前記補正トルク指令値出力手段は、前記第2の所定時間の間に、前記補正トルクの振幅が所定振幅以上となる状態が所定時間継続し、かつブレーキ操作が行われている状態が所定回数以上継続したときは、前記ハンチング時補正トルク指令値を出力し、前記補正トルクの振幅が所定振幅以下となる状態が継続しても前記通常時補正トルク指令値へ復帰させないことを特徴とする車両の制振制御装置。請求項3に記載の車両の制振制御装置において、前記所定時間を、ブレーキ操作が行われている状態のときは、ブレーキ操作が行なわれていない状態のときより短くすることを特徴とする車両の制振制御装置。請求項2に記載の車両の制振制御装置において、車速を検出する車速検出手段を備え、前記補正トルク指令値出力手段は、前記第2の所定時間の間に、検出された車速が所定車速域内で前記補正トルクの振幅が所定振幅以上となる状態が所定時間継続する状態が所定回数以上継続したときは、前記ハンチング時補正トルク指令値を出力し、前記補正トルクの振幅が所定振幅以下となる状態が継続しても前記通常時補正トルク指令値へ復帰させないことを特徴とする車両の制振制御装置。請求項5に記載の車両の制振制御装置において、前記所定時間を、検出された車速が所定車速域内のときは、検出された車速が所定車速域以外のときより短くすることを特徴とする車両の制振制御装置。請求項1ないし6いずれか1つに記載の車両の制振制御装置において、前記ハンチング時補正トルク指令値は、制御出力の停止を表す所定値であることを特徴とする車両の制振制御装置。しかしながら、上記特許文献1に記載の技術にあっては、下記の問題があった。すなわち、ハンチング発生の要因のひとつに、悪路等の路面側における要因がある。この場合、悪路を抜けると出力を復帰してもハンチングは発生しないにもかかわらず、ハンチング発生後の所定時間、継続的に制御の出力を低下させて、その後復帰させるような場合には、必要以上に制御出力低下状態が継続し、制振制御が十分に実行できないという問題があった。本発明は、上記問題に着目してなされたもので、制振制御が過度に制限されることなくハンチングを抑制可能な車両の制振制御装置を提供することを目的とする。上記目的を達成するため、本発明では、車体バネ上振動を抑制するような補正トルクに基づいて制駆動トルク発生手段に対し補正トルク指令値を出力するにあたり、補正トルクの振幅が所定振幅以上の状態が所定時間継続しているときは、通常時補正トルク指令値よりも小さな値であるハンチング時補正トルク指令値を出力し、その後、補正トルクの振幅が所定振幅以下となる状態が第1の所定時間継続したときは、補正トルク指令値の出力をハンチング時補正トルク指令値から通常時補正トルク指令値に復帰させ、第1の所定時間継続する前に補正トルクの振幅が所定振幅を超える状態が所定時間継続したときは、ハンチング時補正トルク指令値の出力を継続する。すなわち、悪路のような外的要因によって一時的に発生するハンチングに対して、補正トルクの出力低下によりハンチングの発生を抑える。そして、出力低下中に演算上の補正トルクにハンチングが生じなくなったことを判定すると、出力低下を解除するようにしたので、悪路を抜けると速やかに制御が復帰され、制振制御が作動していない時間が長くなることを防止できる。加えて、ハンチングが継続的に発生しているときは、継続してハンチング時補正トルク指令値を出力するため、再度ハンチングが発生することを抑制することができる。図1は、実施例1の制振制御装置の構成を示すシステム図であり、図2は、制振制御装置を搭載する車両の構成図である。まず、制振制御装置の構成を説明する。車輪速センサ10は、各車輪の回転数からそれぞれの車輪の速度を検出する。アクセルペダル踏み込み量検知部20は、運転者によるアクセルペダルの踏み込み量を表すアクセル開度APOを検出する。ブレーキ操作量検知部30は、運転者によるブレーキ操作量Sbブレーキペダルストローク量や踏力等を検出する。コントローラ50は、各センサにおいて検知された状態量に基づいて制振制御装置のアクチュエータである駆動力制御手段60及び制動力制御手段70に対して制御信号を出力する。コントローラ50は、アクセルペダル踏み込み量検知部20から入力されるアクセル開度APO及びブレーキ操作量検知部30から入力されるブレーキ操作量Sbに基づいて、運転者が要求している制駆動トルク要求制駆動トルクTea,Twbを算出する要求制駆動トルク算出手段51。また、コントローラ50は、車輪速センサ10から入力される各車輪の車輪速に基づいて、各車輪速の変化からタイヤに働く前後方向外乱を算出する前後方向外乱算出手段52。コントローラ50は、算出された要求制駆動トルクと前後方向外乱とから車体バネ上の挙動を推定するバネ上挙動推定手段53。そして、コントローラ50は、推定された車体バネ上挙動の振動を抑制するような補正トルクを算出し補正トルク算出手段54、算出された補正トルクに基づいて出力を調整する。コントローラ50は、算出された補正トルクに対し、後述する補正トルク監視手段56からの信号に基づいて出力調整処理を行う出力調整手段55。また、コントローラ50は、後述する補正トルク監視手段56からの信号に基づいて、出力調整処理された補正トルクの出力モードを切り替えモード切替手段57、補正トルク指令値を出力する。コントローラ50は、出力調整手段55により出力調整処理された補正トルク信号がハンチングしているか否かを監視し、監視結果を出力調整手段55及びモード切替手段57へと出力する補正トルク監視手段56。コントローラ50は、算出した補正トルク指令値を駆動力制御手段60及び制動力制御手段70へと出力する。図3は実施例1の駆動力制御装置の制御構成を表すブロック図である。駆動力制御手段60は、エンジンへの制御指令を算出する。アクセル開度APOに従ってドライバ要求駆動トルクを算出すると共に、コントローラ50から出力される補正トルク指令値をドライバ要求駆動トルクに対して加えることで目標駆動トルクを算出し、エンジンコントローラは目標駆動トルクに従ってエンジン制御指令を算出する。図4はドライバ要求エンジントルク特性を表すマップである。ドライバ要求駆動トルクは、図4に示すような、アクセル開度APOとドライバ要求エンジントルクTeaの関係を定めた特性マップから読み出したドライバ要求エンジントルクに対し、ディファレンシャルギア比、自動変速機の変速比で駆動軸端に換算することで算出される。図5は制動力制御装置の制御構成を表すブロック図である。制動力制御手段70は、ブレーキ液圧指令を出力する。ブレーキペダルの操作量Sbに従って、ドライバ要求制動トルクTwbを算出すると共に、別途入力される補正トルク指令値をドライバ要求制動トルクTwbに対して加えることで目標制動トルクを算出し、ブレーキ液圧コントローラは目標制動トルクに従ってブレーキ液圧指令を出力する。図6はドライバ要求制動トルク特性を表すマップである。ドライバ要求制動トルクは、図6に示すような、ブレーキ操作量Sbとドライバ要求制動トルクの関係を定めた特性マップから読み出すことで算出される。図7は実施例1の制振制御装置におけるコントローラで行う処理を示したブロック図である。要求制駆動トルク算出手段51は、アクセルペダル踏み込み量検知部20とブレーキ操作量検知部30とからの信号を入力し、運転者が要求している制駆動トルクを算出する。前後外乱算出手段52は、車輪速センサ10から入力される各車輪の車輪速に基づいて、各車輪速の変化からタイヤに働く前後方向外乱を算出する。バネ上挙動推定手段53は、要求制駆動トルク算出手段51から算出された要求制駆動トルクと、前後外乱算出手段52から算出された前後方向外乱とから車体バネ上の挙動を推定する。補正トルク算出手段54は、バネ上挙動推定手段53で推定された車体バネ上挙動の振動を抑制するような補正トルクを算出する。補正トルク監視手段55は、補正トルク算出手段54で算出された補正トルクから、補正トルク信号がハンチングしているか否かを監視し、出力モードを設定する。モード切替手段56は、補正トルク監視手段55で設定された出力モードに基づいて、補正トルク指令値を決定する。この、補正トルク監視手段55及びモード切替手段56が本発明の特徴補正トルク指令値出力手段に相当であり、要求制駆動トルク及び前後方向外乱による車体バネ上振動を抑制するように制駆動トルクを補正するものである。すなわち、トルクの補正量補正トルクがハンチングしていることを検出した場合、補正トルクの出力を停止させ、運転者に不快な振動を与えることを抑制する。更に、ハンチングが収束した場合は、補正トルクの出力を復帰させ、ハンチングが繰り返し発生することを抑制するとともに、早期に補正トルクの出力を復帰させ、より制振制御の実行頻度を高める。次に実施例1の制振制御装置の作動処理を図8~図17を用いて説明する。図8は、実施例1のコントローラにおける制振制御処理の処理手順を示すフローチャートである。なお、本処理内容は、一定間隔、例えば10msec毎に連続的に行われる。ステップS100では、走行状態を読み込む。ここで、走行状態とは、運転者の操作状況や自車両の走行状況に関する情報である。具体的には、車輪速センサ10により検出される各車輪の車輪速と、アクセルペダル踏み込み量検知部20により検出されるアクセル開度APOと、ブレーキ操作量検知部30により検出されるブレーキ操作量Sbを読み込む。ステップS200では、ステップS100で読み込んだ運転者の操作状況に基づいて、ドライバ要求制駆動トルクTwを以下に従って算出する。アクセル開度APOから、図4に示すような、アクセル開度とドライバ要求エンジントルクの関係を定めた特性マップに基づいてドライバ要求エンジントルクTeaを読み出す。Tea=map読み出されたドライバ要求エンジントルクTeaを、ディファレンシャルギア比Kdif、自動変速機のギア比Katに基づいて駆動軸トルクに換算し、ドライバ要求駆動トルクTwa算出する。Twa=1KdfKatTea同様に、ブレーキペダルの操作量Sbから、図6に示すような、ブレーキ操作量とドライバ要求制動トルクの関係を定めた特性マップからドライバ要求制動トルクTwbを算出する。算出されたドライバ要求駆動トルクTwaとドライバ要求制動トルクTwbとから、下式に従って要求制駆動トルクTwを算出する。Tw=Twa-TwbステップS300では、ステップS100で読み込んだ各車輪の車輪速に基づき、後述する運動モデルに入力される前後方向外乱を算出する。ここで前後方向外乱は、路面から各車輪に入力される力であり、以下に従って算出することができる。各輪車輪速VwFR、VwFL、VwRR、VwRLから実車速成分Vbodyを除去して車体に対する各輪速度を算出し、各輪速度と各輪速度前回値の差分をとり、時間微分することにより各輪加速度を算出する。算出した各輪加速度にバネ下質量を乗じることで、前後輪の前後方向外乱ΔFf、ΔFrを算出する。次にステップS400では、ステップS200で算出された要求制駆動トルクTw、及びステップS300で算出された前後方向外乱ΔFf、ΔFrとから、バネ上挙動を推定する。まず、本実施例1における運動モデルについて説明する。図9は車両運動モデルを表す概略図である。この車両運動モデルは、車体に対して前後にサスペンションを持つ前後2輪モデルである。すなわち、車両に発生する制駆動トルク変動ΔTw、路面状態変化あるいは制駆動力変化ステアリング操舵等に応じて前輪に発生する前後方向外乱ΔFf、後輪に発生する前後方向外乱ΔFrをパラメータとして備え、前後輪1輪に対応したサスペンションのバネ-ダンパ系を有するサスペンションモデルと、車体重心位置の移動量を表現する車体バネ上モデルにより成り立っている。次に、車両に発生する制駆動トルク変動が発生し、路面状態変化制駆動力変化ステアリング操舵の少なくとも一つがタイヤに加えられたことにより前後方向外乱が発生した場合について車両モデルを用いて説明する。車体に制駆動トルク変動ΔTw、前後方向外乱ΔFf、ΔFrの少なくとも一つが発生したとき、車体はピッチ軸まわりに角度θpの回転が発生するとともに、重心位置の上下移動xbが発生する。ここで制駆動トルク変動ΔTwは、ドライバのアクセル操作及びブレーキ操作から算出された制駆動トルクΔTwnと、制駆動トルク前回値ΔTwn1の差分から演算する。前輪側サスペンションのバネ定数減衰定数をKsf,Csf、後輪側サスペンションのバネ定数減衰定数をKsr,Csrとし、前輪側サスペンションのリンク長リンク中心高をLsf,hbf、後輪側サスペンションのリンク長リンク中心高をLsr,hbrとする。また、車体のピッチ方向慣性モーメントをIp、前輪とピッチ軸間距離をLf、後輪とピッチ軸間距離をLr、重心高をhcg、バネ上質量をMとする。尚、本明細書において、表記の都合上、各パラメータをベクトル表記する際に、時間微分ddtの記載を、パラメータの上に黒丸を付すことで表記する場合も有る。これらは全く同義である。この場合、車体上下振動の運動方程式は、Md2xbdt2=-KsfxbLfθp-CsfdxbdtLfdθpdt-Ksrxb-Lrθp-Csfdxbdt-Lrdθpdt-hbfLsfΔFfhbrLsrΔFrで表すことができ、また、車体ピッチング振動の運動方程式は、Ipを超えた回数をカウントし、カウントした回数がハンチング判定回数HuntCntlmtとなったらハンチングしていると判断して、ハンチングフラグfHuntに1をセットする。図11の場合、ハンチング判定回数HuntCntlmtは7回に設定されている。カウントは、補正トルクdTwが補正トルク閾値dTwUを超えてからハンチング監視時間CycleTimelmtの間に補正トルク閾値dTwLを超えた場合に行い、CycleTimelmtの間に閾値を超えなかった場合はハンチングしていないと判断し、カウンタをクリアする。ハンチング検出処理このハンチング検出処理を図12~図15を用いて詳細に説明する。図12~図15は実施例1のハンチング検出処理を表すフローチャートである。ステップS621では、ハンチング監視タイマtHuntCycleが正か否かを判断する。YESの場合はステップS622でハンチング監視タイマtHuntCycleを1減算する。ステップS621でNOの場合はそのままステップS623に進む。ステップS623では、上限閾値到達フラグfHuntU、及び下限閾値到達フラグfHuntLが0か否かを判断する。YESの場合はステップS624でハンチング初期検知判断を行う。このステップS624で行う処理を、図13のフローチャートを用いて説明する。ハンチング初期検知判断図13は実施例1のハンチング検知処理を表すフローチャートである。ステップS624-1では、補正トルクdTwが補正トルク上限閾値dTwU以上で、かつ補正トルクdTwの前回値が補正トルク上限閾値dTwUよりも小さいか否かを判断する。YESの場合はステップS624-2に進み、上限閾値到達フラグfHuntUに1を、ハンチング回数HuntCntに1を、ハンチング監視タイマtHuntCycleにハンチング監視時間CycleTimelmtをセットして終了する。ステップS624-1でNOの場合は、ステップS624-3に進み、補正トルクdTwが補正トルク下限閾値dTwL以下で、かつ補正トルクdTwの前回値が補正トルク下限閾値dTwLよりも大きいか否かを判断する。YESの場合はステップS624-4で下限閾値到達フラグfHuntLに1を、ハンチング回数HuntCntに1を、ハンチング監視タイマtHuntCycleにハンチング監視時間CycleTimelmtをセットして終了する。ステップS624-3でNOの場合はステップS624-5に進み、ハンチング回数HuntCntとハンチング監視タイマtHuntCycleをクリアして終了する。ステップS623でNOの場合はステップS625でハンチング継続判断を行う。このステップS625で行う処理を、図14のフローチャートを用いて説明する。ハンチング継続判断処理図14は実施例1のハンチング継続判断処理を表すフローチャートである。ステップS625-1では、上限閾値到達フラグfHuntUが1、かつ下限閾値到達フラグfHuntLがゼロ、かつ補正トルクdTwが補正トルク下限閾値dTwL以下であるか否かを判断する。YESの場合はステップS625-2で上限閾値到達フラグfHuntUにゼロを、下限閾値到達フラグfHuntLに1を、ハンチング監視タイマtHuntCycleにハンチング監視時間CycleTimelmtをセットするとともに、ハンチング回数HuntCntに1を加算して、ステップS625-5に進む。ステップS625-1でNOの場合はステップS625-3に進み、上限閾値到達フラグfHuntUがゼロ、かつ下限閾値到達フラグfHuntLが1、かつ出力調整後の補正トルクdTw1が補正トルク上限閾値dTwU以上であるか否かを判断する。YESの場合はステップS625-4に進み、上限閾値到達フラグfHuntUに1を、下限閾値到達フラグfHuntLにゼロを、ハンチング監視タイマfHuntCycleにハンチング監視時間CycleTimelmtをセットするとともに、ハンチング回数HuntCntに1を加算して、ステップS625-5に進む。ステップS625-3でNOの場合はそのままステップS625-5に進む。ステップS625-5では、ハンチング回数HuntCntがハンチング判定回数HuntCntlmt以上か否かを判断する。YESの場合はステップS625-6に進み、ハンチングしていると判断してハンチングフラグfHuntに1をセットするとともに、ハンチング回数HuntCntにハンチング判定回数HuntCntlmtを、中断復帰用タイマtHuntEndに復帰時間EndTimelmt第1の時間T1に相当をセットする。ステップS625-5でNOの場合はそのままステップS625-7に進む。ステップ625-7では、ハンチング監視タイマtHuntCycleの前回値が正、かつハンチング監視タイマtHuntCycleがゼロであるか否かを判断する。NOの場合はそのまま終了する。YESの場合はステップS625-8に進み、ハンチング回数HuntCntがハンチング判定回数HuntCntlmt以上か否かを判断する。YESの場合はステップS625-9で中断復帰用タイマtHuntEndに復帰時間EndTimelmt第1の時間T1に相当をセットする。ステップS625-8でNOの場合はそのままステップS625-10に進む。ステップS625-10では、上限閾値到達フラグfHuntU、下限閾値到達フラグfHuntL、ハンチング回数HuntCntをクリアして終了する。ステップS626では、ハンチングフラグfHuntが1か否かを判断する。YESの場合はステップS627に進み、ハンチング終了判断を行う。NOの場合はS628で、中断復帰用タイマtHuntEndをクリアして終了する。ステップS627で行うハンチング終了判断処理を図15のフローチャートを用いて説明する。ハンチング終了判断処理図15は実施例1のハンチング終了判断処理を表すフローチャートである。ステップS627-1では、中断復帰用タイマtHuntEndが正か否かを判断する。YESの場合はステップS627-2に進み、中断復帰用タイマtHuntEndを1減算して終了する。NOの場合はハンチングが終了したと判断し、ステップS627-3でハンチングフラグfHuntをクリアして終了する。出力モード設定処理ステップS640では、ステップS620で検出したハンチング結果に基づいて、出力モードを設定する。このステップS640で行う処理を図16を用いて説明する。図16は実施例1の出力モード設定処理を表すフローチャートである。ステップS641では、ハンチングフラグfHuntが1か否かを判断する。YESの場合はステップS642に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに1をセットする。ステップS643では、ハンチング終了経過時間tHuntが正か否かを判断する。YESの場合はステップS644に進み、ハンチング継続回数cntHuntONに1加算する。NOの場合はそのままステップS645に進む。ステップS645では、ハンチング終了経過時間tHuntをクリアして、ステップS652に進む。ステップS641でNOの場合は、ステップS646に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。ステップS647では、ハンチングフラグfHuntの前回値が1か否かを判断する。YESの場合はステップS648に進み、ハンチング終了経過時間tHuntに所定時間HuntTimelmt第2の所定時間T2に相当をセットする。ステップS647ではNOの場合は、ステップS649に進み、ハンチング終了経過時間tHuntから1減算する。ステップS650では、ハンチング終了経過時間tHuntがゼロか否かを判断し、YESの場合はステップS651でハンチング継続回数cntHuntONをクリアする。NOの場合はそのままステップS652に進む。ステップS652では、ハンチング継続回数cntHuntONが予め定められた継続回数mHuntcntよりも大きいか否かを判断する。NOの場合はそのまま終了する。YESの場合は、ハンチングが終了してから所定時間HuntTimelmtの間にハンチングが予め定められた継続回数mHuntcnt発生したので、ステップS653で制御停止フラグfSTOPに1をセットする。この制御停止フラグfSTOPに1がセットされるとハンチングが終了したとしても出力は復帰しない。モード切替処理ステップS700では、ステップS600で設定した出力モードに基づき、補正トルク指令値dTwoutを算出する。ここで行う処理を図17に示すフローチャートを用いて説明する。図17は実施例1のモード切替処理を表すフローチャートである。ステップS701では、制御停止フラグfSTOPが1か否かを判断する。YESの場合はステップS702に進み、補正トルク指令値dTwoutにゼロをセットして終了する。NOの場合はステップS703に進む。ステップS703では、制御中断フラグfPAUSEが1か否かを判断する。YESの場合はステップS704で補正トルク指令値dTwoutにゼロをセットして終了する。このときのゼロの値がハンチング時補正トルク指令値に相当する。NOの場合は、補正トルク指令値dTwoutに補正トルクdTw1をセットして終了する。指令値出力処理ステップS800では、ステップS700で算出した補正トルク指令値dTwoutを、駆動力制御手段60及び制動力制御手段70に出力し、今回の処理を終了する。制振制御処理による作用ハンチング終了後、復帰時間が経過する前に再度ハンチングを生じた場合図18は実施例1の制振制御処理を実行した際の作動内容を表すタイムチャートである。ある悪路を走行中に車両に発生する振動を抑制するように制振制御を実行中、補正トルク指令値にハンチングが生じた状態を示す。時刻t1において、制振制御に基づく補正トルク指令値が悪路の影響によって補正トルクの振幅が大きくなるハンチングをし始める。時刻t2において、ハンチングが所定時間継続すると、ハンチングフラグfHunt及び制御中断フラグfPAUSEがセットされるステップS625-6,ステップS642。そして、制御中断フラグfPAUSEがセットされたことで、補正トルクdTwとしてはハンチングを継続していたとしても、アクチュエータには補正トルク指令値dTwoutとして0が出力されるステップS703→S704。この補正トルク指令値dTwoutが特許請求の範囲に記載の補正トルク指令値に相当する。時刻t3において、補正トルクdTwのハンチングが収まったと判断されると、中断復帰用タイマtHuntEndに復帰時間EndTimelmt第1の所定時間T1に相当がセットされステップS625-9、ハンチングが収まった状態が復帰時間EndTimelmt継続することを確認する。時刻t4において、時刻t3から復帰時間EndTimelmt経過する前に再度ハンチングが発生すると、ハンチング検出を実行する。時刻t5において、時刻t4から復帰時間EndTimelmt経過する前にハンチングが終了すると、時刻t5において復帰時間EndTimelmtを設定する。時刻t6において、時刻t5から復帰時間EndTimelmt経過したときに、ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされステップS627-3,S646、アクチュエータには補正トルク指令値dTwoutとして、算出された補正トルクdTwが設定されて出力される。時刻t6以降、ハンチング終了経過時間tHuntに所定時間HuntTimelmt第2の所定時間T2に相当が設定され、再度のハンチングの発生の有無を監視しながら補正トルク指令値dTwoutが出力される。ハンチングの再発を十分に考慮した上で、通常時補正トルク指令値に復帰させるため、再びハンチングが発生することを防ぐことができると共に、出力低下状態をより短くすることができる。尚、補正トルク指令値dTwoutを出力しても、尚、ハンチングが検知されることなく所定時間HuntTimelmtが経過すると、通常の制御が継続される。ハンチング終了後、復帰時間が経過する前に再度ハンチングを生じた場合図19は実施例1の制振制御処理を実行した際の作動内容を表すタイムチャートである。ある悪路を走行中に車両に発生する振動を抑制するように制振制御を実行中、補正トルク指令値にハンチングが生じた状態を示す。尚、時刻t3までは図18に示すタイムチャートと同じであるため、説明を省略する。時刻t41において、時刻t3から復帰時間EndTimelmt経過するまでハンチングの再発が検出されないときは、ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされ、ハンチング終了経過時間に所定時間HuntTimelmt第2の所定時間T2に相当が設定され、再度のハンチングの発生の有無を監視しながら補正トルク指令値dTwoutが出力される。時刻t51において、所定時間HuntTimelmtが経過する前に再度ハンチングが発生すると、ハンチングフラグfHunt及び制御中断フラグfPAUSEが再度セットされる。このとき、第2の所定時間T2であるHuntTimelmtが経過する前にハンチングが検出されるため、ハンチング継続回数cntHuntONがカウントアップされる。時刻t52において、補正トルクdTwのハンチングが収まったと判断されると、中断復帰用タイマtHuntEndに復帰時間EndTimelmtがセットされ、その後,ハンチングが発生しなければ、復帰時間経過後の時刻t53において、再度ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされて、アクチュエータには補正トルク指令値dTwoutとして、算出された補正トルクdTwが設定されて出力される。尚、所定時間HuntTimelmt第2の所定時間T2内にハンチングが検出されたときは、ハンチング継続回数cntHuntONがカウントアップされていき、予め定められた継続回数mHuntcnt発生した場合には、制御停止フラグfSTOPに1がセットされてハンチングが終了したとしても出力は復帰しない。以上説明したように、実施例1にあっては下記に列挙する作用効果を得ることができる。1車輪に制駆動トルクを発生させる駆動力制御手段60及び制動力制御手段70制駆動トルク発生手段と、車体バネ上振動を抑制するような補正トルクを算出する補正トルク算出手段54と、補正トルクに基づいて駆動力制御手段60及び制動力制御手段70に対し補正トルク指令値を出力する補正トルク監視手段56及びモード切替手段57以下、補正トルク指令値出力手段と、を備え、補正トルク指令値出力手段は、補正トルクdTwの振幅が所定振幅以上の状態がハンチング監視時間CycleTimelmt所定時間継続しているときは、通常時補正トルク指令値よりも小さな値、具体的には振幅が小さな値であるハンチング時補正トルク指令値実施例1ではゼロを出力し、その後、補正トルクの振幅が所定振幅以下となる状態が復帰時間EndTimelmt第1の所定時間継続したときは、補正トルク指令値の出力をハンチング時補正トルク指令値から通常時補正トルク指令値に復帰させ、復帰時間EndTimelmtが経過する前に補正トルクdTwの振幅が所定振幅を超える状態がハンチング監視時間CycleTimelmt継続したときは、ハンチング時補正トルク指令値の出力を継続する。すなわち、悪路のような外的要因によって一時的に発生するハンチングに対して、補正トルクの出力低下によりハンチングの発生を抑える。そして、出力低下中に演算上の補正トルクにハンチングが生じなくなったことを判定すると、出力低下を解除するようにしたので、悪路を抜けると速やかに制御が復帰され、制振制御が作動していない時間が長くなることを防止できる。加えて、ハンチングが継続的に発生しているときは、悪路走行中であると判断して継続してハンチング時補正トルク指令値を出力するため、再度ハンチングが発生することを抑制することができる。尚、ハンチング時補正トルク指令値は、実施例1では0を出力する構成としたが、0に限らず、絶対値として極めて小さな値を設定する場合や、所定の一定制御量を付与する場合、又は所定の周波数制御量を与えるといった構成としてもよい。いずれにせよ、ハンチングを予め設定された制御量に基づいて抑制可能な出力をすることが望ましい。2補正トルク指令値出力手段は、復帰時間EndTimelmt第1の所定時間の経過後、ハンチング終了経過時間tHuntに設定された所定時間HuntTimelmt第2の所定時間T2経過前に、補正トルクdTwの振幅が所定振幅を超える状態が所定時間継続する状態が所定回数以上継続したときは、ハンチング時補正トルク指令値である0を出力し、補正トルクの振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させない制御停止フラグfSTOP。例えば、ブレーキジャダーやシミーなど車両側の要因によるハンチングの発生頻度を抑えて運転者に与える違和感を低減でき、一方、悪路走行等、ハンチング要因が路面側にある場合には、悪路走行中は制御を停止し、悪路を抜けると速やかに制御に復帰することができる。尚、上述のブレーキジャダーとは、ブレーキ踏み込み時にブレーキパッドとブレーキロータとの間で発生する振動が車両側に伝達される現象をいい、シミーとは、ステアリングホイールが回転方向に小刻みに振られる現象のことで、路面の凹凸やホイールバランスの狂い、ステアリング系統のガタなどによって発生する現象をいう。3ハンチング時補正トルク指令値は、制御出力の停止を表す所定値である0を出力することとした。これにより、ハンチングの発生による運転者の違和感をより低減することができる。次に実施例2について説明する。基本的な構成は実施例1と同じであるため、異なる点についてのみ説明する。図20は実施例2の出力モード設定処理を表すフローチャートである。ステップ620のハンチング検出処理は基本的に実施例1と同じであるため説明を省略する。尚、実施例2のハンチング検出処理において使用されるハンチング監視タイマtHuntCycleにセットされるハンチング監視時間CycleTimelmtは、実施例1におけるハンチング監視時間CycleTimelmtよりも短い時間に設定している。これにより、ブレーキ検出時のハンチングにあっては車両側に起因するハンチングとして素早く判定することが可能となり、ハンチングが発生する回数を抑制することができる。尚、ブレーキ検出時のハンチング発生は、ブレーキジャダーに起因するハンチングである可能性が高いため、ハンチング監視時間CycleTimelmtを短く設定しても問題は無い。ステップS660では、ステップS620で検出したハンチング結果に基づき、ハンチング継続フラグを設定する。図21は実施例2のコントローラにおける制振制御処理の処理手順を示すフローチャートである。ステップS661では、ハンチングフラグfHuntが1か否かを判断する。YESの場合はステップS662に進み、ハンチング終了経過時間tHuntが正か否かを判断する。YESの場合はステップS663に進み、ハンチングが継続していると判断して、ハンチング継続フラグfHuntContinueに1をセットする。NOの場合はそのままステップS664に進む。ステップS664では、ハンチング終了経過時間tHuntをクリアして、終了する。ステップS661でNOの場合は、ステップS665に進み、ハンチングフラグfHuntの前回値が1か否かを判断する。YESの場合はステップS666に進み、ハンチング終了経過時間tHuntに所定時間HuntTimelmtをセットする。ステップS665でNOの場合は、ステップS667に進み、ハンチング終了経過時間tHuntから1減算する。ステップS668では、ハンチング終了経過時間tHuntがゼロか否かを判断し、YESの場合はステップS669に進み、ハンチングの継続が終了したと判断して、ハンチング継続フラグfHuntContinueをクリアする。NOの場合は、そのまま終了する。ステップS670では、ステップS620で検出したハンチング結果と、ステップS100で読み込んだ運転者のブレーキ操作状態とから、ブレーキ操作時のハンチングフラグを設定する。このステップS670で行う処理を図22を用いて説明する。図22は実施例2のブレーキ操作時のハンチングフラグ設定処理を表すフローチャートである。ステップS671では、ハンチングフラグfHuntが1、かつ運転者のブレーキ操作フラグfBRKが1が否かを判断する。YESの場合はステップS672に進み、ブレーキ操作時のハンチングと判断して、ブレーキハンチングフラグfHuntBrkに1をセットする。NOの場合はステップS673でハンチングフラグfHuntがゼロか否かを判断する。YESの場合はステップS674に進み、ブレーキ操作時のハンチングが終了したと判断し、ブレーキハンチングフラグfHuntBrkをクリアする。ステップS673でNOの場合はそのまま終了する。ステップS680では、ステップS620で検出したハンチング結果と、ステップS670で設定したブレーキハンチングフラグfHuntBrkに基づいて、出力モードを設定する。このステップS680で行う処理を図23に基づいて説明する。図23は実施例2の出力モード設定処理を表すフローチャートである。ステップS681では、ハンチングフラグfHuntが1か否かを判断する。YESの場合はステップS682に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに1をセットする。NOの場合はステップS683に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。ステップS684では、ハンチング継続フラグfHuntContinueが1か否かを判断する。YESの場合はステップS685に進み、ブレーキ操作時のハンチングか否かを判断する。YESの場合はステップS686に進み、ブレーキハンチングフラグfHuntBrkの前回値がゼロか否かを判断する。YESの場合はハンチングが終了してから所定時間HuntTimelmtの間に再度ハンチングが発生したとして、ステップS687で、ハンチング継続回数cntHuntONに1加算する。ステップS685、及びステップS686でNOの場合はそのままステップS689に進む。ステップS684でNOの場合は、ステップS688でハンチング継続回数cntHuntONをクリアし、ステップS689に進む。ステップS689では、ハンチング継続回数cntHuntONが予め定められた継続回数mHuntcntよりも大きいか否かを判断する。NOの場合はそのまま終了する。YESの場合は、ハンチングが終了してから所定時間HuntTimelmtの間にブレーキ操作時のハンチングが予め定められた継続回数mHuntcnt発生したので、ステップS690で制御停止フラグfSTOPに1をセットする。この制御停止フラグfSTOPに1がセットされるとハンチングが終了したとしても出力は復帰しない。以上説明したように、実施例2にあっては、実施例1の1~3に示す作用効果に加えて、下記の作用効果を得ることができる。4ブレーキ操作を検出するブレーキ操作量検知部30ブレーキ操作検出手段を備え、補正トルク指令値出力手段は、ハンチング終了経過時間tHuntに設定された所定時間HuntTimelmt第2の所定時間T2に、補正トルクの振幅が所定振幅以上となる状態が所定時間継続し、かつブレーキ操作が行われている状態が所定回数以上継続した場合に、ハンチング時補正トルク指令値である0を出力し、補正トルクの振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させないこととした制御停止フラグfSTOP。よって、ブレーキ操作中のハンチングが所定回数以上継続した場合に、制御出力を低下、若しくは停止させ、ハンチングが収まっても出力を復帰させないように構成されているので、例えばブレーキジャダー等、運転者のブレーキ操作時にハンチングが発生するような車両側の要因を確実に判別できる。5ハンチング監視時間CycleTimelmtを、ブレーキ操作が行われている状態のときは、ブレーキ操作が行なわれていない状態のとき実施例1参照より短くすることとした。よって、ブレーキジャダーを起因とするハンチングの判定を素早く行なうことができ、より早期に制振制御を停止することができる。次に実施例3について説明する。基本的な構成は実施例2と同じであるため、異なる点についてのみ説明する。図24は実施例3の出力モード設定処理を表すフローチャートである。ステップS620,S660は実施例2と同じであるため、異なるステップ670についてのみ説明する。尚、実施例2のハンチング検出処理において使用されるハンチング監視タイマtHuntCycleにセットされるハンチング監視時間CycleTimelmtは、実施例1におけるハンチング監視時間CycleTimelmtよりも短い時間に設定している。これにより、シミー検出時のハンチングにあっては車両側に起因するハンチングとして素早く判定することが可能となり、ハンチングが発生する回数を抑制することができる。尚、シミー検出時のハンチング発生は、シミーに起因するハンチングである可能性が高いため、ハンチング監視時間CycleTimelmtを短く設定しても問題は無い。ステップS670では、ステップS620で検出したハンチング結果と、自車両の速度Vとから、予め定められた速度域でのハンチングフラグを設定する。ここで自車両の速度Vは、例えば後輪2輪の車輪速VwRR,VwRLで求めることができる。このステップS670で行う処理を図25に基づいて説明する。図25は実施例3の所定車速域におけるハンチングフラグ設定処理を表すフローチャートである。ステップS671では、ハンチングフラグfHuntが1、かつ自車両の車速Vが所定値Vminよりも大きく、かつ自車両の車速Vが所定値Vmaxよりも小さいか否かを判断する。YESの場合はステップS672に進み、予め定められた速度域でのハンチングであると判断して、所定速域ハンチングフラグfHuntVspに1をセットする。NOの場合はステップS673でハンチングフラグfHuntがゼロか否かを判断する。YESの場合はステップS674に進み、予め定められた速度域でのハンチングが終了したと判断し、所定速域ハンチングフラグfHuntVspをクリアする。ステップS673でNOの場合はそのまま終了する。ステップS680では、ステップS620で検出したハンチング結果と、ステップS670で設定した所定速度域ハンチングフラグfHuntVspに基づいて、出力モードを設定する。このステップS680で行う処理を図26に基づいて説明する。ステップS681では、ハンチングフラグfHuntが1か否かを判断する。YESの場合はステップS682に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに1をセットする。NOの場合はステップS683に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。ステップS684では、ハンチング継続フラグfHuntContinueが1か否かを判断する。YESの場合はステップS685に進み、予め定められた速度域でのハンチングか否かを判断する。YESの場合はステップS686に進み、所定速度域ハンチングフラグfHuntVspの前回値がゼロか否かを判断する。YESの場合はハンチングが終了してから所定時間HuntTimelmtの間に再度ハンチングが発生したとして、ステップS687で、ハンチング継続回数cntHuntONに1加算する。以上説明したように、実施例3にあっては、実施例1の1~3に示す作用効果に加えて、下記の作用効果を得ることができる。6車速を検出する車輪速センサ10車速検出手段を備え、補正トルク指令値出力手段は、ハンチング終了経過時間tHuntに設定された所定時間HuntTimelmt第2の所定時間T2の間に、検出された車速VがVmin<V<Vmax所定車速域内で補正トルクdTwの振幅が所定振幅以上となる状態が所定時間継続する状態が所定回数以上継続したときはハンチング時補正トルク指令値実施例3ではゼロを出力し、補正トルクdTwの振幅が所定振幅以下となる状態が継続しても通常時補正トルク指令値へ復帰させないこととした。よって、例えばシミーなど、特定の車速での走行中にハンチングが発生するような車両側の要因を確実に判別することができ、制御復帰に伴ってハンチングを繰り返すといった違和感を回避することができる。7ハンチング監視時間CycleTimelmtを、検出された車速VがVmin<V<Vmax所定車速域内のときは、V≦VminもしくはV≧Vmaxのときより短くすることとした。よって、シミー等を起因とするハンチングの判定を素早く行なうことができ、より早期に制振制御を停止することができる。以上、本発明の制振制御装置を適用した実施例について説明したが、他の構成であっても本願発明に含まれる。例えば、実施例では、制駆動トルク発生手段の駆動源として内燃機関であるエンジンを備えた構成を示したが、エンジンに限らず、モータを備えたハイブリッド車両や、モータのみを駆動源とする電気自動車であっても構わない。また、制駆動トルク発生手段の制動アクチュエータとしてキャリパをブレーキパッドで押圧して制動力を発生させる構成を示したが、モータ等の回生制動力を用いてもよい。また、液圧ブレーキに限らず、電動キャリパ等を備えた構成であっても構わない。尚、モータジェネレータを備えた電気自動車等の場合には、制駆動トルク発生手段がモータジェネレータ1つであるため、このモータジェネレータに付与するトルク信号に駆動トルクと制動トルクの両方を組み合わせた信号を出力すればよい。また、実施例では、車体に対して前後にサスペンションを持つ前後2輪モデルを用い、車両のピッチング振動及びバウンス振動を抑制するための補正トルクを算出する構成を示したが、例えば、4輪モデルを用い、ピッチング振動、バウンス振動に加えて、ロール振動に関する振動を抑制するような補正トルクを算出することとしてもよい。"