(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
と表現できる。
【００２６】
ここで、それぞれの要素は
【数１】
0005447185.tif 000002
である。
【００２７】
さらに、上記状態方程式を制駆動トルクを入力とするフィードフォワード（F/F）項，前後輪の走行外乱を入力とするフィードバック（F/B）項と入力信号により分割すると、
フィードフォワード項は、
【数２】
0005447185.tif 000003
と表現でき、
フィードバック項は、
【数３】
0005447185.tif 000004
と表現できる。
このxを求めることにより、制駆動トルク変動ΔTw、及び前後方向外乱ΔFf、ΔFrによる車体バネ上の挙動を推定することができる。
【００２８】
ステップＳ５００では、ステップＳ４００で推定したバネ上挙動に基づき、車体振動を抑制させるような補正トルクdTw*を算出する。このステップＳ５００で行う処理を、以下に説明する。
ステップＳ２００で算出された要求制駆動トルクTwの変動成分ΔTw、及び前後輪の前後方向外乱ΔFf、ΔFrに対する、それぞれのバネ上挙動xから、要求制駆動トルクにフィードバックする補正トルクdTw*を算出する。
このときフィードバックゲインは、dxb/dt，dθp/dtの振動が少なくなるように決定する。
例えば、フィードバック項においてdxb/dtが少なくなるようなフィードバックゲインを算出する場合は、重み行列を
【数４】
0005447185.tif 000005
のように選び、
【数５】
0005447185.tif 000006
におけるJを最小にする制御入力である。
【００２９】
その解は、リカッチ代数方程式
【数６】
0005447185.tif 000007
の正定対称解pを元に、
【数７】
0005447185.tif 000008
で与えられる。ここでFｘｂ＿FBはフィードバック項におけるdxb/dtに関するフィードバックゲイン行列である。
【００３０】
フィードバック項におけるdθp/dtの振動が少なくなるようなフィードバックゲインFthp_FB、及びフィードフォワード項におけるdxb/dt，dθp/dtが少なくなるようなフィードバックゲインFxb_FF，Fthp_FFも同様に算出できる。
フィードバック項におけるdθp/ｄｔの振動が少なくなるようなフィードバックゲインFthp_FBは、重み行列を
【数８】
0005447185.tif 000009
と設定し、
【数９】
0005447185.tif 000010
として算出する。
【００３１】
同様に、フィードフォワード項におけるdxb/dtが少なくなるようなフィードバックゲインFxb_FFは重み行列を
【数１０】
0005447185.tif 000011
と設定し、
【数１１】
0005447185.tif 000012
として算出する。
【００３２】
また、フィードフォワード項におけるdxb/dt，dθp/dtが少なくなるようなフィードバックゲインFxb_FFも重み行列を
【数１２】
0005447185.tif 000013
と設定し、
【数１３】
0005447185.tif 000014
として算出する。
これは最適レギュレータの手法であるが、極配置など他の手法にて設計しても良い。
上記4つの式から算出した補正トルクに対して、それぞれ重みづけして加算することで、補正トルクdTw*を算出する。
【００３３】
ステップＳ６００では、ステップＳ５００で算出した補正トルクdTw*に対して出力調整処理を行い、出力調整後の補正トルクdTw1*を算出する。
【数１４】
0005447185.tif 000015
【００３４】
ここで、Koutは出力調整ゲインであり、ステップＳ７００で設定する。尚、コントローラ５０起動時など、最初のルーチンでも演算が行えるように、Koutの初期値を例えば１００に設定しておく。尚、この出力調整ゲインKoutが１００のときの補正トルク指令値dTw_out*を通常時補正トルク指令値と定義する。
【００３５】
ステップＳ７００では、ステップＳ６００で算出した出力調整後の補正トルクdTw1*に基づき、出力調整ゲインKout及び出力モードを設定する。ここで行う処理を図１０に示すフローチャートを用いて説明する。
【００３６】
〔補正トルク監視処理〕
図１０は実施例１の出力調整ゲイン及び出力モード設定処理を表すフローチャートである。
ステップＳ７２０では、出力調整後の補正トルクdTw1*のハンチングを検出する。このステップＳ７２０で行う処理を図１１〜図１５を用いて説明する。
【００３７】
図１１は、実施例１のハンチング検出方法の概念図である。出力調整後の補正トルクdTw1*が予め定められた補正トルク上限閾値dTw_U (または、補正トルク下限閾値dTw_L)を超えた回数をカウントし、カウントした回数がハンチング判定回数Hunt_Cnt_lmtとなったらハンチングしていると判断して、ハンチングフラグfHuntに１をセットする。図１１の場合、ハンチング判定回数Hunt_Cnt_lmtは７回に設定されている。カウントは、出力調整後の補正トルクdTw1*が補正トルク閾値dTw_U (または、dTw_L)を超えてからハンチング監視時間Cycle_Timelmtの間に補正トルク閾値dTw_L (または、dTw_U)を超えた場合に行い、Cycle_Timelmtの間に閾値を超えなかった場合はハンチングしていないと判断し、カウンタをクリアする。
【００３８】
〔ハンチング検出処理〕
このハンチング検出処理を図１２〜図１５を用いて詳細に説明する。図１２〜図１５は実施例１のハンチング検出処理を表すフローチャートである。
ステップＳ７２１では、ハンチング監視タイマtHunt_Cycleが正か否かを判断する。ＹＥＳの場合はステップＳ７２２でハンチング監視タイマtHunt_Cycleを１減算する。ステップＳ７２１でＮＯの場合はそのままステップＳ７２３に進む。ステップＳ７２３では、上限閾値到達フラグfHunt_U、及び下限閾値到達フラグfHunt_Lが０か否かを判断する。ＹＥＳの場合はステップＳ７２４でハンチング初期検知判断を行う。このステップＳ７２４で行う処理を、図１３のフローチャートを用いて説明する。
【００３９】
（ハンチング初期検知判断）
ステップＳ７２４−１では、出力調整後の補正トルクdTw1*が補正トルク上限閾値dTw_U以上で、かつ出力調整後の補正トルクdTw1*の前回値が補正トルク上限閾値dTw_Uよりも小さいか否かを判断する。ＹＥＳの場合はステップＳ７２４−２に進み、上限閾値到達フラグfHunt_Uに１を、ハンチング回数Hunt_Cntに１を、ハンチング監視タイマtHunt_Cycleにハンチング監視時間Cycle_Timelmtをセットして終了する。
ステップＳ７２４−１でＮＯの場合は、ステップＳ７２４−３に進み、出力調整後の補正トルクdTw1*が補正トルク下限閾値dTw_L以下で、かつ出力調整後の補正トルクdTw1*の前回値が補正トルク下限閾値dTw_Lよりも大きいか否かを判断する。ＹＥＳの場合はステップＳ７２４−４で下限閾値到達フラグfHunt_Lに１を、ハンチング回数Hunt_Cntに１を、ハンチング監視タイマtHunt_Cycleにハンチング監視時間Cycle_Timelmtをセットして終了する。
【００４０】
ステップＳ７２４−３でＮＯの場合はステップＳ６２４−５に進み、ハンチング回数Hunt_Cntとハンチング監視タイマtHunt_Cycleをクリアして終了する。
ステップＳ７２３でＮＯの場合はステップＳ７２５でハンチング継続判断を行う。このステップＳ７２５で行う処理を、図１４のフローチャートを用いて説明する。
【００４１】
（ハンチング継続判断処理）
ステップＳ７２５−１では、上限閾値到達フラグfHunt_Uが１、かつ下限閾値到達フラグfHunt_Lがゼロ、かつ出力調整後の補正トルクdTw1*が補正トルク下限閾値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をセットする。ステップＳ７２５−８でＮＯの場合はそのままステップＳ７２５−１０に進む。ステップＳ７２５−１０では、上限閾値到達フラグfHunt_U、下限閾値到達フラグfHunt_L、ハンチング回数Hunt_Cntをクリアして終了する。
【００４５】
ステップＳ７２６では、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ７２７に進み、ハンチング終了判断を行う。ＮＯの場合はＳ７２８で、中断復帰用タイマtHunt_Endをクリアして終了する。ステップＳ７２７で行うハンチング終了判断処理を図１５のフローチャートを用いて説明する。
【００４６】
（ハンチング終了判断処理）
ステップＳ７２７−１では、中断復帰用タイマtHunt_Endが正か否かを判断する。ＹＥＳの場合はステップＳ７２７−２に進み、中断復帰用タイマtHunt_Endを１減算して終了する。ＮＯの場合はハンチングが終了したと判断し、ステップＳ７２７−３でハンチングフラグfHuntをクリアして終了する。
【００４７】
（出力調整ゲイン及び出力モード設定処理）
ステップＳ７４０では、ステップＳ７２０で検出したハンチング結果に基づいて、出力調整ゲイン、及び出力モードを設定する。図１６は実施例１の出力調整ゲイン及び出力モード設定処理を表すフローチャートである。このステップＳ７４０で行う処理を図１６を用いて説明する。
【００４８】
ステップＳ７４１では、出力調整ゲインKoutがゼロか否かを判断する。ＹＥＳの場合はステップＳ７４２に進み、出力調整ゲイン復帰タイマtKout_Timeをゼロにするとともに、制御停止フラグfSTOPに１をセットする。この制御停止フラグfSTOPに１がセットされるとハンチングが終了したとしても出力は復帰しない。
【００４９】
ステップＳ７４１でＮＯの場合はステップＳ７４３に進み、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ７４４に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに１をセットする。ステップＳ７４５では、ハンチングフラグfHuntの前回値がゼロか否かを判断する。ＮＯの場合はそのまま終了する。ＹＥＳの場合はステップＳ７４６で出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmt（第２の所定時間T2に相当）をセットするとともに、出力調整ゲインKoutから予め定められたΔKを差し引く。この出力調整ゲインKoutからΔKを差し引いておくことが本発明の１つの特徴であり、出力調整ゲインKoutからΔKが差し引かれた値を用いて算出された補正トルク指令値dTw_out*を復帰時補正トルク指令値と定義する。このように設定することによって、補正トルク指令値の出力を復帰させたときに再度ハンチングと判断されてしまうことを防ぐとともに、制限をかけつつ出力を復帰させることができる。
【００５０】
ステップＳ７４７では、出力調整ゲインKoutが負か否かを判断する。ＹＥＳの場合はステップＳ７４８で出力調整ゲインKoutにゼロをセットして終了する。ＮＯの場合は、そのまま終了する。
【００５１】
ステップＳ７４３でＮＯの場合は、ステップＳ７４９に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロをセットする。
ステップＳ７５０では、ハンチングフラグfHuntの前回値が１か否かを判断する。ＹＥＳの場合はステップＳ７５１に進み、出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmtをセットする。ＮＯの場合はステップＳ７５２に進み、出力調整ゲイン復帰タイマtKout_Timeが正か否かを判断する。
ステップＳ７５２において、ＹＥＳの場合はステップＳ７５３に進み、出力調整ゲイン復帰タイマtKout_Timeから１減算する。ＮＯの場合はステップＳ７５４に進み、出力調整ゲインKoutが１００よりも小さいか否かを判断する。ＮＯの場合はそのまま終了する。
【００５２】
ステップＳ７５４において、ＹＥＳの場合はステップＳ７５５に進み、出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmtをセットするとともに、出力調整ゲインKoutに予め定められたΔKを加算する。
ステップＳ７５６では出力調整ゲインKoutが１００よりも大きいか否かを判断する。ＮＯの場合はそのまま終了する。ＹＥＳの場合はステップＳ７５７で出力調整ゲインKoutに１００をセットして終了する。
【００５３】
〔モード切替処理〕
ステップＳ８００では、ステップＳ７００で設定した出力モードに基づき、補正トルク指令値dTw_out*を算出する。ここで行う処理を図１７に示すフローチャートを用いて説明する。図１７は実施例１のモード切替処理を表すフローチャートである。
【００５４】
ステップＳ８０１では、制御停止フラグfSTOPが１か否かを判断する。ＹＥＳの場合はステップＳ８０２に進み、補正トルク指令値dTw_out*にゼロをセットして終了する。ＮＯの場合はステップＳ８０３に進む。
ステップＳ８０３では、制御中断フラグfPAUSEが１か否かを判断する。ＹＥＳの場合はステップＳ８０４で補正トルク指令値dTw_out*にゼロをセットして終了する。このときのゼロの値がハンチング時補正トルク指令値に相当する。ＮＯの場合は、補正トルク指令値dTw_out*に出力調整後の補正トルクdTw1*をセットして終了する。
【００５５】
〔指令値出力処理〕
ステップＳ９００では、ステップＳ８００で算出した補正トルク指令値dTw_out*を、駆動力制御手段６０及び制動力制御手段７０に出力し、今回の処理を終了する。
【００５６】
〔制振制御処理による作用〕
図１８は実施例１の制振制御処理を実行した際の作動内容を表すタイムチャートである。ある悪路を走行中に車両に発生する振動を抑制するように制振制御を実行中、補正トルク指令値にハンチングが生じた状態を示す。
時刻ｔ１において、制振制御に基づく補正トルク指令値が悪路の影響によって補正トルクの振幅が大きくなるハンチングをし始める。
【００５７】
時刻ｔ２において、ハンチングが所定時間継続すると、ハンチングフラグfHunt及び制御中断フラグfPAUSEがセットされる（ステップＳ７２５−６，ステップＳ７４４）。そして、出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmtがセットされ、出力調整ゲインKoutとしてΔKが減算された値が設定される（ステップＳ７４６）。そして、制御中断フラグfPAUSEがセットされたことで、補正トルクdTw*としてはハンチングを継続していたとしても、アクチュエータには補正トルク指令値dTw_out*として０が出力される（ステップＳ８０３→Ｓ８０４）。この補正トルク指令値dTw_out*が特許請求の範囲に記載の補正トルク指令値に相当する。
【００５８】
時刻ｔ３において、補正トルクdTw*のハンチングが収まったと判断されると、中断復帰用タイマtHunt_Endに復帰時間End_Timelmt（第１の所定時間T1に相当）がセットされ（ステップＳ７２５−９）、ハンチングが収まった状態が復帰時間End_Timelmt継続することを確認する。
【００５９】
時刻ｔ４において、時刻ｔ３から復帰時間End_Timelmt経過したときに、ハンチングフラグfHunt及び制御中断フラグfPAUSEがリセットされ（ステップＳ７２７−３，Ｓ７４９）、アクチュエータには補正トルク指令値dTw_out*として、減算された出力調整ゲインに基づいて算出された補正トルクdTw1*が設定されて出力される。そして、出力調整ゲイン復帰時間tKout_Timelmtの減算が開始される。
時刻ｔ４以降、出力調整ゲイン復帰時間tKout_Timelmtが経過する間、制限された補正トルク指令値dTw_out*が出力されることで、一気に補正トルク指令値を通常時補正トルク指令値に復帰させる場合よりも、再びハンチングが発生することを防ぐことができると共に、出力低下状態をより短くすることができる。
【００６０】
時刻ｔ５において、制限された補正トルク指令値dTw_out*を出力しても、尚、ハンチングが検知されることなく出力調整ゲイン復帰時間tKout_Timelmtが経過すると、出力調整ゲインKoutとしてΔKが加算された値が設定される（ステップＳ７５５）。これにより、制限が解除され、通常時補正トルク指令値を出力することで、ハンチングを抑制し、制御中断状態を短期間とし、制御を復帰したときのハンチングをも抑制する。
【００６１】
以上説明したように、実施例１にあっては下記に列挙する作用効果を得ることができる。
（１）車輪に制駆動トルクを発生させる駆動力制御手段６０及び制動力制御手段７０（制駆動トルク発生手段）と、車体バネ上振動を抑制するような補正トルクを算出する補正トルク算出手段５４と、補正トルクに基づいて駆動力制御手段６０及び制動力制御手段７０に対し補正トルク指令値を出力する出力調整手段５５、補正トルク監視手段５６及びモード切替手段５７（以下、補正トルク指令値出力手段）と、を備え、補正トルク指令値出力手段は、補正トルクの振幅が所定振幅以上の状態が所定時間継続しているときは、通常時補正トルク指令値に比べて振幅が小さなハンチング時補正トルク指令値を出力し、その後、補正トルクの振幅が所定振幅以下となる状態が復帰時間End_Timelmt（第１の所定時間）継続したときは、補正トルク指令値の出力をハンチング時補正トルク指令値から通常時補正トルク指令値に復帰させる。
【００６２】
すなわち、ハンチングの発生により補正トルクの出力を低下させた後、演算上の補正トルクdTw*にハンチングが生じていなければ、通常時補正トルク指令値に復帰するため、ハンチング発生による制振制御が作動していない時間が無駄に長くなることを防ぎつつ、復帰時のハンチング発生の可能性を低くすることができる。尚、ハンチング時補正トルク指令値は、実施例１では０を出力する構成としたが、０に限らず、極めて小さな出力調整ゲインKoutを設定する場合や、所定の一定制御量を付与する場合、又は所定の周波数制御量を与えるといった構成としてもよい。いずれにせよ、ハンチングを予め設定された制御量に基づいて抑制可能な出力をすることが望ましい。
【００６３】
（２）補正トルク指令値出力手段は、通常時補正トルク指令値に復帰させる前に、出力調整ゲインKoutからΔKを差し引いた値を用いて補正トルク指令値dTw_out*を出力する。すなわち、補正トルクdTw*に制限をかけつつ出力を復帰させる（復帰時補正トルク指令値）。
【００６４】
例えば、悪路走行中に補正トルク指令値のハンチングが発生したような場合、一旦ハンチングが収まったとしても再びハンチングが発生する可能性は高い。このとき、出力に制限をかけつつ復帰させることで、制限をかけずに復帰させる場合に比べ、再びハンチングが発生することを防ぐことができると共に、制振制御が作動していない時間を短縮することができる。
【００６５】
（３）補正トルク指令値出力手段は、補正トルクの振幅が所定振幅以下の状態に比べ、補正トルクの出力がより小さくなるように制限をかける。具体的には、出力調整ゲインKoutからΔKを差し引いた値を用いて補正トルク指令値dTw_out*を出力する。よって、補正トルク指令値の振幅を小さくすることができ、再びハンチングが発生することを防ぐことができると共に、制振制御が作動していない時間を短縮することができる。
【００６６】
（４）補正トルク指令値出力手段は、復帰時補正トルク指令値を出力しているときに、補正トルクdTw*の振幅が所定振幅以下となる状態が出力調整ゲイン復帰時間tKout_Timelmt（第２の所定時間）継続したときは、復帰時補正トルク指令値から通常時補正トルク指令値に復帰させる。
【００６７】
すなわち、制限をかけた値である復帰時補正トルク指令値を出力した状態で、補正トルクdTw*にハンチングが生じるかどうかを判定する。これにより、即座に通常時補正トルク指令値に復帰させるときに比べてハンチングの再発を抑制することができる。更に、出力を通常時補正トルク指令値に復帰させたときにおける再度のハンチング発生の可能性を低くすることができ、かつ、制限をかけているものの補正トルクは出力されるため、制振制御の作動停止時間が必要以上に短くなってしまうことを回避することができる。
【実施例２】
【００６８】
次に実施例２について説明する。基本的な構成は実施例１と同じであるため、異なる点についてのみ説明する。図１９は実施例２の出力調整ゲイン及び出力モード設定処理を表すフローチャートである。ステップ７２０のハンチング検出処理は実施例１と同じであるため説明を省略する。
【００６９】
ステップＳ７３０では、ステップＳ７２０で検出したハンチング結果に基づき、ハンチング判断中における、出力調整後の補正トルクdTw1*の最大振幅、及びハンチング継続時間を算出する。図２０は実施例２のコントローラにおける制振制御処理の処理手順を示すフローチャートである。
【００７０】
ステップＳ７３０−１では、上限閾値到達フラグfHunt_U、下限閾値到達フラグfHunt_L、ハンチングフラグfHuntのいずれかが１であるか否かを判断する。ＹＥＳの場合はステップＳ７３０−２に進み、ハンチング継続時間Hunt_timeに１加算する。ステップＳ７３０−３では、出力調整後の補正トルクdTw1*が補正トルク最大値dTw_maxよりも大きいか否かを判断する。ＹＥＳの場合はステップＳ７３０−４で、補正トルク最大値dTw_maxに出力調整後の補正トルクdTw1*をセットして終了する。
ステップＳ７３０−３でＮＯの場合はステップＳ７３０−５に進み、出力調整後の補正トルクdTw1*が補正トルク最小値dTw_minよりも小さいか否かを判断する。ＹＥＳの場合はステップＳ７３０−６に進み、補正トルク最小値dTw_minに出力調整後の補正トルクdTw1*をセットして終了する。ＮＯの場合はそのまま終了する。
【００７１】
ステップＳ７３０−１でＮＯの場合はステップＳ７３０−７で、補正トルク最小値dTw_min、補正トルク最大値dTw_max、ハンチング継続時間Hunt_timeをクリアして終了する。
ステップＳ７３５では、ステップＳ７３０で算出した補正トルク最小値dTw_min、補正トルク最大値dTw_max、ハンチング継続時間Hunt_timeから、出力調整ゲインKoutの減少量ΔKd及び増加量ΔKuを算出する。ここで行う処理を、図２１〜図２５を用いて説明する。
【００７２】
図２１は実施例２のステップＳ７３５で行う処理を表すフローチャートである。
ステップＳ７３５−１では、上限閾値到達フラグfHunt_U、下限閾値到達フラグfHunt_L、ハンチングフラグfHuntのいずれかが１であるか否かを判断する。ＹＥＳの場合はステップＳ７３５−２に進み、ステップＳ７３０で算出した補正トルク最小値dTw_min、補正トルク最大値dTw_max、ハンチング継続時間Hunt_timeに基づいて、出力調整ゲイン減少量、及び出力調整ゲイン増加量の補正値を算出する。
【００７３】
出力調整ゲインの減少量補正値は以下のように算出される。
ハンチング判断中における、出力調整後の補正トルクdTw1*の振動振幅の最大値dTw_ppは、
dTw_pp＝dTw_max−dTw_min
で算出される。この振動振幅の最大値dTw_ppに基づき、図２２に示すようなマップから出力調整ゲイン減少量補正値Kp_downを算出する。具体的には、振動振幅が大きいほど出力調整ゲイン減少量補正値Kp_downが大きくなる値を算出する。
また、ハンチング継続時間Hunt_timeに基づき、図２３に示すようなマップから出力調整ゲイン減少量補正値Kt_downを算出する。具体的には、ハンチング継続時間が長いほど出力調整ゲイン減少量補正値Kt_downが大きくなる値を算出する。
【００７４】
同様に、出力調整ゲインの増加量補正値は以下のように算出される。
振動振幅の最大値dTw_ppに基づき、図２４に示すようなマップから出力調整ゲイン増加量補正値Kp_upを算出する。具体的には、振動振幅が大きいほど出力調整ゲイン増加量補正値Kp_upが小さくなる値を算出する。言い換えると、振動振幅が大きいほどゆっくりと出力を復帰させることとなる。
また、ハンチング継続時間Hunt_timeに基づき、図２５に示すようなマップから出力調整ゲイン増加量補正値Kt_upを算出する。具体的には、ハンチング継続時間が長いほど出力調整ゲイン増加量補正値Kt_upが小さくなる値を算出する。言い換えると、ハンチング継続時間が長いほどゆっくりと出力を復帰させることとなる。
【００７５】
ステップＳ７３５−３では、ステップＳ７３５−２で算出された出力調整ゲイン補正値から、出力調整ゲインKoutの減少量ΔKd、及び増加量ΔKuを算出する。
出力調整ゲイン減少量補正値Kp_down、及び出力調整ゲイン減少量補正値Kt_downから、出力調整ゲインKoutの減少量ΔKdは以下の式により求まる。
ΔKd＝Kp_down・Kt_down・ΔKd0
ここで、ΔKd0は予め定められた出力調整ゲイン減少量基準値である。言い換えると、振動振幅が大きいほど、また、ハンチング継続時間が長いほど、出力調整ゲイン減少量ΔKdが大きな値に設定される。
【００７６】
同様に、出力調整ゲイン増加量補正値Kp_up、及び出力調整ゲイン増加量補正値Kt_upから、出力調整ゲインKoutの増加量ΔKuは以下の式により求まる。
ΔKu＝Kp_up・Kt_up・ΔKu0
ここで、ΔKu0は予め定められた出力調整ゲイン増加量基準値である。言い換えると、振動振幅が大きいほど、また、ハンチング継続時間が長いほど、出力調整ゲイン増加量ΔKuが大きな値に設定される。
【００７７】
すなわち、出力調整ゲインKoutの減少量ΔKd及び増加量ΔKuが上記論理によって設定されるため、ハンチング時の補正トルクの振幅が大きいほど、またハンチングの継続時間が長いほど、補正トルク復帰時に、制限時補正トルク指令値の出力がより小さくなるように制限することができ、また、制限解除時に、制限がよりゆっくりと解除されるようになる。
【００７８】
ステップＳ７４０では、ステップＳ７２０で検出したハンチング結果に基づいて、出力調整ゲイン、及び出力モードを設定する。図２６は実施例２の出力調整ゲイン及び出力モード設定処理を表すフローチャートである。
【００７９】
ステップＳ７４１では、出力調整ゲインKoutがゼロか否かを判断する。ＹＥＳの場合はステップＳ７４２に進み、出力調整ゲイン復帰タイマtKout_Timeをゼロにするとともに、制御停止フラグfSTOPに１をセットする。この制御停止フラグfSTOPに１がセットされるとハンチングが終了したとしても出力は復帰しない。
【００８０】
ステップＳ７４１でＮＯの場合はステップＳ７４３に進み、ハンチングフラグfHuntが１か否かを判断する。ＹＥＳの場合はステップＳ７４４'に進み、ハンチングが発生しているとして制御中断フラグfPAUSEに１をセットするとともに、出力調整ゲインKoutを下記式により算出する。
Kout＝Kout_z−ΔKd
【００８１】
このように、振動振幅の最大値dTw_pp、及びハンチング継続時間に基づいて算出された出力調整ゲインKoutの減少量ΔKdから、出力調整ゲインKoutを算出することにより、ハンチング時の補正トルクの振幅が大きいほど、またハンチングの継続時間が長いほど、補正トルク復帰時に、出力がより小さくなるように制限することができる。
ステップＳ７４５では、ハンチングフラグfHuntの前回値がゼロか否かを判断する。ＹＥＳの場合はステップＳ７４６'で出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmtをセットする。ＮＯの場合はステップＳ７４７に進む。
【００８２】
ステップＳ７４７では、出力調整ゲインKoutが負か否かを判断する。ＹＥＳの場合はステップＳ７４８で出力調整ゲインKoutにゼロをセットして終了する。ＮＯの場合は、そのまま終了する。
【００８３】
ステップＳ７４３でＮＯの場合は、ステップＳ７４９'に進み、ハンチングが終了したとして制御中断フラグfPAUSEにゼロを、Kout_zにKoutをセットする。
ステップＳ７５０では、ハンチングフラグfHuntの前回値が１か否かを判断する。ＹＥＳの場合はステップＳ７５１に進み、出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmtをセットする。ＮＯの場合はステップＳ７５２に進み、出力調整ゲイン復帰タイマtKout＿Timeが正か否かを判断する。
ステップＳ７５２でＹＥＳの場合はステップＳ７５３に進み、出力調整ゲイン復帰タイマtKout_Timeから１減算する。ＮＯの場合はステップＳ７５４に進み、出力調整ゲインKoutが１００よりも小さいか否かを判断する。
【００８４】
ステップＳ７５４でＮＯの場合はそのまま終了する。ＹＥＳの場合はステップＳ７５５'に進み、出力調整ゲイン復帰タイマtKout_Timeに出力調整ゲイン復帰時間tKout_Timelmtをセットするとともに、出力調整ゲインKoutを下記式により算出する。
Kout＝Kout_z＋ΔKu
このように、振動振幅の最大値dTw_pp、及びハンチング継続時間に基づいて算出された出力調整ゲインKoutの増加量ΔKuから、出力調整ゲインKoutを算出することにより、ハンチング時の補正トルクの振幅が大きいほど、またハンチングの継続時間が長いほど、補正トルク出力制限解除時に、制限がよりゆっくりと解除されるようになる。
【００８５】
ステップＳ７５６では出力調整ゲインKoutが１００よりも大きいか否かを判断する。ＮＯの場合はそのまま終了する。ＹＥＳの場合はステップＳ７５７で出力調整ゲインKoutに１００をセットして終了する。
【００８６】
以上説明したように、実施例２にあっては、実施例１の（１）〜（４）に示す作用効果に加えて、下記の作用効果を得ることができる。
（５）補正トルク指令値出力手段は、補正トルクの振幅が所定振幅以上の状態を継続する継続時間をカウントし、カウントされた継続時間が長いほど、出力調整ゲインをより小さな値に設定する。言い換えると、補正トルクdTw*の復帰時における制限を大きくする。
すなわち、ハンチング継続時間が長いときは、悪路を走行している可能性が高く、制限解除時に再度ハンチングを引き起こす可能性が高い。そこで、補正トルク復帰時に、制限時補正トルク指令値の出力がより小さくなるように制限することで、ハンチングを効果的に抑制することができる。
【００８７】
（６）補正トルク指令値出力手段は、ハンチング時補正トルク指令値を出力しているときの補正トルクの振幅が大きいほど、出力調整ゲインを小さな値に設定する。言い換えると、補正トルクdTw*の復帰時における制限を大きくする。
すなわち、ハンチング時の振幅が大きいときは、路面が荒れている状態であり、悪路を走行している可能性が高く、制限解除時に再度ハンチングを引き起こす可能性が高い。そこで、補正トルク復帰時に、制限時補正トルクの出力がより小さくなるように制限することで、制限解除時に、ハンチングを効果的に抑制することができる。
【００８８】
（７）補正トルク指令値出力手段は、ハンチング時補正トルク指令値を出力を開始した後の間における補正トルクの振幅が大きいほど、出力調整ゲインKoutの増加量ΔKuを小さくする。言い換えると、補正トルクdTw*の出力がゆっくりと復帰するように解除する。
すなわち、ハンチング時の振幅が大きいときは、路面が荒れている状態であり、悪路を走行している可能性が高く、制限解除時に再度ハンチングを引き起こす可能性が高い。そこで、補正トルク復帰時に、ゆっくりと復帰させることで、ハンチングが繰り返し発生することを防ぐことができる。
【００８９】
（８）補正トルク指令値出力手段は、補正トルクの振幅が所定振幅以上の状態を継続する継続時間をカウントし、カウントされた継続時間が長いほど、出力調整ゲインKoutの増加量ΔKuを小さくする。言い換えると、補正トルクdTw*の出力がゆっくりと復帰するように解除する。
すなわち、ハンチング継続時間が長いときは、悪路を走行している可能性が高く、制限解除時に再度ハンチングを引き起こす可能性が高い。そこで、補正トルク復帰時に、ゆっくりと復帰させることで、ハンチングが繰り返し発生することを防ぐことができる。
【００９０】
以上、本発明の制振制御装置を適用した実施例１，２について説明したが、他の構成であっても本願発明に含まれる。例えば、実施例では、制駆動トルク発生手段の駆動源として内燃機関であるエンジンを備えた構成を示したが、エンジンに限らず、モータを備えたハイブリッド車両や、モータのみを駆動源とする電気自動車であっても構わない。
【００９１】
また、制駆動トルク発生手段の制動アクチュエータとしてキャリパをブレーキパッドで押圧して制動力を発生させる構成を示したが、モータ等の回生制動力を用いてもよい。また、液圧ブレーキに限らず、電動キャリパ等を備えた構成であっても構わない。尚、モータジェネレータを備えた電気自動車等の場合には、制駆動トルク発生手段がモータジェネレータ１つであるため、このモータジェネレータに付与するトルク信号に駆動トルクと制動トルクの両方を組み合わせた信号を出力すればよい。
【００９２】
また、実施例では、車体に対して前後にサスペンションを持つ前後２輪モデルを用い、車両のピッチング振動及びバウンス振動を抑制するための補正トルクを算出する構成を示したが、例えば、４輪モデルを用い、ピッチング振動、バウンス振動に加えて、ロール振動に関する振動を抑制するような補正トルクを算出することとしてもよい。
【符号の説明】
【００９３】
５０    コントローラ
５１    要求制駆動トルク算出手段
５２    前後方向外乱算出手段
５３    バネ上挙動推定手段
５４    補正トルク算出手段
５５    出力調整手段
５６    補正トルク監視手段
５７    モード切替手段
６０    駆動力制御手段
７０    制動力制御手段
【図１】
0005447185.tif 000016
【図２】
0005447185.tif 000017
【図３】
0005447185.tif 000018
【図４】
0005447185.tif 000019
【図５】
0005447185.tif 000020
【図６】
0005447185.tif 000021
【図７】
0005447185.tif 000022
【図８】
0005447185.tif 000023
【図９】
0005447185.tif 000024
【図１０】
0005447185.tif 000025
【図１１】
0005447185.tif 000026
【図１２】
0005447185.tif 000027
【図１３】
0005447185.tif 000028
【図１４】
0005447185.tif 000029
【図１５】
0005447185.tif 000030
【図１６】
0005447185.tif 000031
【図１７】
0005447185.tif 000032
【図１８】
0005447185.tif 000033
【図１９】
0005447185.tif 000034
【図２０】
0005447185.tif 000035
【図２１】
0005447185.tif 000036
【図２２】
0005447185.tif 000037
【図２３】
0005447185.tif 000038
【図２４】
0005447185.tif 000039
【図２５】
0005447185.tif 000040
【図２６】
0005447185.tif 000041