"車輪に制駆動トルクを付与する制駆動トルク付与手段と、車両の走行状況に基づいて、車体のバネ上挙動を推定する挙動推定手段と、前記挙動推定手段が推定した車体のバネ上挙動に応じて、車両の荷重を安定化させるための荷重安定化補正トルクを算出する荷重安定化補正トルク算出手段と、前記挙動推定手段が推定した車体のバネ上挙動に応じて、車両の荷重を付加するための荷重付加補正トルクを算出する荷重付加補正トルク算出手段と、前記荷重安定化補正トルクおよび前記荷重付加補正トルクとに基づいて、前記制駆動トルク付与手段が付与する制駆動トルクを補正する制御にハンチングが発生しているか否かを判定するハンチング判定手段と、車両における操舵状態と、前記ハンチング判定手段の判定結果とに基づいて、前記荷重安定化補正トルクおよび前記荷重付加補正トルクの付与度合いを決定する運動ゲインを算出する運動ゲイン算出手段と、を有することを特徴とする制駆動力制御装置。前記ハンチング判定手段は、車両における操舵状態に基づいて、運転者の操作状況を示す指標である人為的運動度を算出し、前記人為的運動度に基づいて、前記ハンチングの度合いを示すハンチングレベルを算出し、前記運動ゲイン算出手段は、前記ハンチング判定手段が算出した前記ハンチングレベルに基づいて、前記運動ゲインを算出することを特徴とする請求項1記載の制駆動力制御装置。前記ハンチング判定手段は、操舵角速度の絶対値に基づいて、前記人為的運動度を算出することを特徴とする請求項2記載の制駆動力制御装置。前記ハンチング判定手段は、操舵角速度の絶対値および操舵角の絶対値に基づいて、前記人為的運動度を算出することを特徴とする請求項2記載の制駆動力制御装置。前記ハンチング判定手段は、車両挙動の安定化制御に関するスイッチ操作がオンとなっている場合に操舵入力の頻度が高まると推定し、前記人為的運動度を上限値に設定することを特徴とする請求項2記載の制駆動力制御装置。前記ハンチング判定手段は、運転者による制駆動操作状態に基づいて、前記人為的運動度を算出することを特徴とする請求項2記載の制駆動力制御装置。前記ハンチング判定手段は、操舵角速度の絶対値、操舵角の絶対値および左右車輪速の差に基づいて、前記人為的運動度を算出することを特徴とする請求項2記載の制駆動力制御装置。前記ハンチング判定手段は、操舵角速度の絶対値に基づいて、前記人為的運動度を算出し、操舵角速度の絶対値に対する上限閾値を超えた場合、前記人為的運動度をゼロとすることを特徴とする請求項2記載の制駆動力制御装置。前記運動ゲイン算出手段は、前記ハンチング判定手段の判定結果と前記運動ゲインとの関係を定義した複数種類のマップを有し、該マップを切り替えて、前記運動ゲインを算出することを特徴とする請求項1記載の制駆動力制御装置。車体のバネ上挙動を推定し、推定した車体のバネ上挙動に対して、車両の荷重を安定化させるための荷重安定化補正トルクおよび車両の荷重を付加するための荷重付加補正トルクを付与する制御を行い、前記荷重安定化補正トルクおよび前記荷重付加補正トルクに基づいて、該制御にハンチングが発生しているか否かを判定し、ハンチングが発生している場合に、車両における操舵状態と、ハンチングの状態とに応じて、前記荷重安定化補正トルクおよび前記荷重付加補正トルクの付与度合いを変化させることを特徴とする制駆動力制御方法。しかしながら、上記特許文献1に記載の技術では、旋回中に操舵状態を判定した結果、一律に車体の制振のための制駆動力制御をキャンセルするため、制御の介入と離脱とが自動的に切り替わる場合がある。その結果、制御のオンとオフによるハンチングが発生し、運転者に違和感を与える可能性がある。即ち、従来の技術においては、制駆動力による車体の制振制御を操舵状態に応じて適切に行うことが困難であった。本発明の課題は、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことである。上記課題を解決するため、本発明は、車両の荷重を安定化させるための荷重安定化補正トルクおよび車両の荷重を付加するための荷重付加補正トルクに基づいて、制駆動トルクを補正する制御にハンチングが発生しているか否かを判定する。また、操舵状態と、その判定結果とに基づいて、荷重安定化補正トルクおよび荷重付加補正トルクの付与度合いを決定する運動ゲインを算出し、運動ゲインに応じた補正トルクを付与する。本発明によれば、車両の制駆動トルクに対して補正トルクを付与する制御にハンチングが発生しているか否かに応じて、補正トルクの付与度合いを変化させる。このとき、操舵状態に応じて、補正トルクの付与度合いを変化させる。したがって、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことことが可能となる。次に、本発明の実施形態について図面を参照して説明する。第1実施形態構成図1は、本発明を適用した第1実施形態に係る制駆動力制御装置1Aのシステム構成を示す図である。図2は、制駆動力制御装置1Aを搭載した自動車1の全体構成を示す概略図である。図1および図2において、自動車1は、車体1Bと、操舵角センサ2と、アクセル操作量センサ3と、ブレーキ操作量センサ4と、車輪速センサ5と、コントローラ6と、駆動力制御部7と、制動力制御部8と、車輪9FL~9RRと、ステアリングホイール10と、エンジン11とを備える。これらのうち、操舵角センサ2、アクセル操作量センサ3、ブレーキ操作量センサ4、車輪速センサ5、コントローラ6、駆動力制御部7、制動力制御部8、および、エンジン11は、制駆動力制御装置1Aを構成している。操舵角センサ2は、ステアリングコラムに設置してあり、ステアリングホイール10による操舵角δoを検出する。そして、操舵角センサ2は、ステアリングホイール10による操舵角δoの検出結果を表す検出信号をコントローラ6に出力する。アクセル操作量センサ3は、アクセルペダルに設置してあり、アクセル操作量アクセル開度等を検出する。そして、アクセル操作量センサ3は、アクセル操作量の検出結果を表す検出信号以下、アクセル操作量検出信号と称する。をコントローラ6に出力する。ブレーキ操作量センサ4は、ブレーキペダルに設置してあり、ブレーキペダルの操作量ブレーキペダル踏力等を検出する。そして、ブレーキ操作量センサ4は、ブレーキペダルの操作量の検出結果を表す検出信号以下、ブレーキ操作量検出信号と称する。をコントローラ6に出力する。車輪速センサ5は、車輪9FL~9RRそれぞれに設置してあり、車輪9FL~9RRそれぞれの車輪速VwFL~VwRRを検出する。そして、車輪速センサ5は、車輪9FL~9RRの車輪速VwFL~VwRRを表す検出信号をコントローラ6に出力する。コントローラ6は、自動車1全体を制御するものであり、本発明に係る制駆動力制御を行う。具体的には、コントローラ6は、アクセル操作量検出信号、ブレーキ操作量検出信号、車輪速、操舵角、走行モード後述および制御作動スイッチ後述の各信号に基づいて、エンジン11を制御するための補正トルク指令値を算出し、駆動力制御部7および制動力制御部8に出力する。なお、コントローラ6は、補正トルク指令値と共に、アクセル操作量センサ3から入力するアクセル操作量検出信号を駆動力制御部7に出力し、ブレーキ操作量センサ4から入力するブレーキ操作量検出信号を制動力制御部8に出力する。図3は、コントローラ6の機能構成を示すブロック図である。図3において、コントローラ6は、要求制駆動トルク算出部601と、上下力算出部602と、旋回抵抗算出部603と、第1バネ上挙動推定部604と、第2バネ上挙動推定部605と、ハンチング検出部606と、ハンチングレベル可変部607と、運動ゲイン処理部608とを有している。要求制駆動トルク算出部601は、アクセル操作量検出信号およびブレーキ操作量検出信号を基に、アクセル操作量およびブレーキ操作量と制駆動トルクとの対応を定義したマップを参照して、運転者の要求制駆動トルクを設定する。上下力算出部602は、各車輪の車輪速VwFL~VwRRを基に、車体1Bに作用する車両上下方向の力を算出する。旋回抵抗算出部603は、各車輪の車輪速VwFL~VwRRおよび操舵角δoを基に、各車輪9FL~9RRに働く旋回抵抗を算出する。第1バネ上挙動推定部604は、上下力算出部602が算出した車両上下方向の力および要求制駆動トルク算出部601が算出した要求制駆動トルクを基に、加減速度および車速を成分とする車体1Bのバネ上挙動以下、前後成分バネ上挙動と称する。を推定する。また、第1バネ上挙動推定部604は、前後成分バネ上挙動を抑制する補正トルク以下、第1補正トルクと称する。を算出する。そして、第1バネ上挙動推定部604は、算出した第1補正トルクをハンチング検出部606および運動ゲイン処理部608に出力する。第2バネ上挙動推定部605は、旋回抵抗算出部603が算出した各車輪の旋回抵抗を基に、操舵量を成分とする車体1Bのバネ上挙動以下、左右成分バネ上挙動と称する。を推定する。また、第2バネ上挙動推定部605は、左右成分バネ上挙動を増加させる補正トルク以下、第2補正トルクと称する。を算出する。そして、第2バネ上挙動推定部604は、算出した第2補正トルクをハンチング検出部606および運動ゲイン処理部608に出力する。ハンチング検出部606は、第1バネ上挙動推定部604が算出した第1補正トルクと、第2バネ上挙動推定部605が算出した第2補正トルクとを基に、後述するハンチング検出処理を実行することにより、制御のハンチングを検出する。具体的には、ハンチング検出部606は、第1補正トルクおよび第2補正トルクを加算し、その加算結果である合計補正トルクの絶対値が閾値を超えているか否かによって、制御のハンチングを検出する。そして、ハンチング検出部606は、ハンチング回数合計補正トルクの絶対値が閾値を超えた回数をハンチングレベル可変部607に出力する。ハンチングレベル可変部607は、アクセル操作量検出信号、ブレーキ操作量検出信号、各車輪の車輪速VwFL~VwRR、操舵角δo、走行モード信号、挙動安定化制御フラグ挙動安定化制御のスイッチ操作ON/OFFフラグおよびハンチング検出部606から入力するハンチング回数を基に、後述するハンチングレベル可変処理を実行することにより、ハンチングレベルを算出する。具体的には、ハンチングレベル可変部607は、ハンチング回数を基にハンチングレベルを算出し、算出したハンチングレベルを、運転者の操作状況に応じて補正する。そして、ハンチングレベル可変部607は、補正後のハンチングレベルを運動ゲイン処理部608に出力する。運動ゲイン処理部608は、第1バネ上挙動推定部604から入力する第1補正トルク、第2バネ上挙動推定部604から入力する第2補正トルクおよびハンチングレベル可変部607から入力するハンチングレベルを基に、車両に付与する制駆動力の大きさを決定するための運動ゲインを算出する。さらに、運動ゲイン処理部608は、第1補正トルクおよび第2補正トルクの加算値に運動ゲインを乗算することにより、補正トルク指令値を算出する。また、図1において、駆動力制御部7は、コントローラ6から入力するアクセル操作量検出信号および補正トルク指令値に基づいて、エンジン11に対する制御指令値を算出する。図4は、駆動力制御部7の機能構成を示すブロック図である。図4において、駆動力制御部7は、ドライバ要求駆動トルク算出部7aと、加算器7bと、エンジンコントローラ7cとを有している。ドライバ要求駆動トルク算出部7aは、コントローラ6から入力するアクセル操作量検出信号を基に、運転者のアクセル操作に基づく駆動トルクであるドライバ要求駆動トルクを算出する。そして、ドライバ要求駆動トルク算出部7aは、算出したドライバ要求駆動トルクを加算器7bに出力する。図5は、アクセル操作量とドライバ要求駆動トルクとの関係を示す図である。ドライバ要求駆動トルク算出部7aは、図5に示す関係を定義したマップから、アクセル操作量に対応するドライバ要求駆動トルクを読み出す。ここで、ドライバ要求駆動トルク算出部7aは、図5のマップから読み出した値に対し、ディファレンシャルギア比、自動変速機の変速比に応じた駆動軸端のトルクに適宜換算して、ドライバ要求駆動トルクを算出することができる。加算器7bは、ドライバ要求駆動トルク算出部7aから入力するドライバ要求駆動トルクと、コントローラ6から入力する補正トルク指令値とを加算し、加算結果目標駆動トルクをエンジンコントローラ7cに出力する。エンジンコントローラ7cは、加算器7bから入力する目標駆動トルクに従ってエンジンへの制御指令値エンジン制御指令値を算出する。また、図1において、制動力制御部8は、コントローラ6から入力するブレーキ操作量検出信号および補正トルク指令値に基づいて、各車輪9FL~9RRのブレーキアクチュエータにおけるブレーキ液圧を制御するためのブレーキ液圧指令値を算出する。図6は、制動力制御部8の機能構成を示すブロック図である。図6において、制動力制御部8は、ドライバ要求制動トルク算出部8aと、加算器8bと、ブレーキ液圧コントローラ8cとを有している。ドライバ要求制動トルク算出部8aは、コントローラ6から入力するブレーキ操作量検出信号を基に、運転者のブレーキ操作に基づく制動トルクであるドライバ要求制動トルクを算出する。そして、ドライバ要求制動トルク算出部8aは、算出したドライバ要求制動トルクを加算器8bに出力する。図7は、ブレーキ操作量とドライバ要求制動トルクとの関係を示す図である。ドライバ要求制動トルク算出部8aは、図7に示す関係を定義したマップから、ブレーキ操作量に対応するドライバ要求制動トルクを読み出す。加算器8bは、ドライバ要求制動トルク算出部8aから入力するドライバ要求制動トルクと、コントローラ6から入力する補正トルク指令値とを加算し、加算結果目標制動トルクをブレーキ液圧コントローラ8cに出力する。ブレーキ液圧コントローラ8cは、加算器8bから入力する目標制動トルクに従ってブレーキ液圧の制御指令値ブレーキ液圧指令値を算出する。コントローラ6の処理次に、コントローラ6が実行する処理について説明する。図8は、コントローラ6が実行する制駆動力制御処理を示すフローチャートである。コントローラ6は、図8に示す制駆動力制御処理をイグニションオンと共に開始し、イグニションオフとなるまで一定時間例えば10ms毎に繰り返し実行する。図8において、制駆動力制御処理を開始すると、コントローラ6は、自動車1の走行状態を読み込むステップS100。ここで、ステップS100で読み込む走行状態には、運転者の操作状況や自車両の走行状況に関する情報を含む。具体的には、車輪速センサ5が検出した各車輪9FL~9RRの車輪速VwFL~VwRRと、アクセル操作量センサ3が検出したアクセル操作量、ブレーキ操作量センサ4が検出したブレーキ操作量、および、操舵角センサ2が検出した操舵角δo、運転者が設定したドライブモードスタンダードモード、スポーツモード、コンフォートモード等、VDCVehicleDynamicsControl等の挙動安定化制御の作動状態を示すフラグ以下、挙動安定化制御フラグと称する。を読み込む。次に、コントローラ6は、ステップS100において読み込んだ走行状態運転者の操作状況に基づいて、要求制駆動トルクTwを算出するステップS200。具体的には、コントローラ6要求制駆動トルク算出部601は、アクセル操作量APOから、図5に示すマップの特性map1xに基づいて、ドライバ要求駆動トルクTeaを読み出すTea=map1。そして、コントローラ6要求制駆動トルク算出部601は、読み出したドライバ要求駆動トルクTeaを、ディファレンシャルギア比Kdif、自動変速機のギア比Katに基づいて駆動軸のトルクに換算し、ドライバ要求駆動トルクTwaを算出するTwa=Tea/KdifKat。また、コントローラ6要求制駆動トルク算出部601は、ブレーキ操作量Sbから、図7に示すマップの特性map2xに基づいて、ドライバ要求制動トルクTwbを読み出す。さらに、コントローラ6要求制駆動トルク算出部601は、算出したドライバ要求駆動トルクTwaとドライバ要求制動トルクTwbとから、要求制駆動トルクTwを算出するTwTwaTwb。次に、コントローラ6は、ステップS100において読み込んだ走行状態自車両の走行状況に基づいて、上下力算出処理後述を実行し、前後輪のサスペンションにおける車両上下方向の力Ff,Frを算出するステップS300。図9は、ステップS300において、コントローラ6上下力算出部602が実行する上下力算出処理を示すフローチャートである。図9において、上下力算出処理を開始すると、コントローラ6上下力算出部602は、各車輪の車輪速VwFL~VwRRから、サスペンションのストローク速度およびストローク量を算出するステップS310。図10は、車体1Bの上下運動時における車輪の前後方向変位を示す模式図である。図10に示すように、車体1Bが車両上下方向に変位すると、サスペンションの上下方向のストロークzf,zrと共に、車体1Bに対して各車輪9FL~9RRが車両前後方向に変位xtf,xtrする。この車両前後方向の変位xtf,xtrは、車両のサスペンションジオメトリによって定まる。なお、図10中のθpは車体1Bのピッチ角である。図11は、前輪の車両上下方向変位に対する車両前後方向変位を示す図である。また、図12は、後輪の車両上下方向変位に対する車両前後方向変位を示す図である。ステップS310においては、図15,16に示す特性を線形近似し、原点車両の制止状態での位置付近での車両上下方向変位と車両前後方向変位との関係を示す係数KgeoF前輪側係数およびKgeoR後輪側係数を用いて、車輪の位置を算出する。即ち、前後輪の車両上下方向変位zf,zrは、車輪の前後方向変位xtf,xtrに対して、zf=KgeoFxtfzr=KgeoRxtrの関係を有する。これらの式の両辺を微分すると、車輪の車両前後方向速度と車両上下方向速度との関係式となるため、この関係から、ステップS310では、車輪の車両前後方向のストローク量とストローク速度とを算出する。次に、コントローラ6は、ステップS310において算出したサスペンションのストローク量およびストローク速度に対し、サスペンションのばね係数と減衰係数とをそれぞれ積算して和を取ることにより、車両上下方向の力Ff,Frを算出するステップS320。そして、コントローラ6は、制駆動力制御処理に戻る。ステップS300の後、コントローラ6は、ステップS100において読み込んだ走行状態各車輪9FL~9RRの車輪速VwFL~VwRR、操舵角δoに基づいて、旋回抵抗算出処理後述を実行し、前後輪の旋回抵抗Fcf,Fcrを算出するステップS400。図13は、ステップS400において、コントローラ6旋回抵抗算出部603が実行する旋回抵抗算出処理を示すフローチャートである。図13において、旋回抵抗算出処理を開始すると、コントローラ6旋回抵抗算出部603は、従動輪の車輪速平均値を車体速度vとして算出するステップS410。次に、コントローラ6は、ステップS410で算出した車体速度v、および、ステップS100において読み込んだ操舵角δoから、次式1に従って、ヨーレイトγと車体横滑り角βvを算出するステップS420。なお、1式中、δは操舵角δoから算出した車輪の転舵角、lはホイールベース、lfおよびlrは車体重心から前後車軸までの距離、mは車重、Cpf,Cprは前後輪のタイヤコーナリングパワーをそれぞれ表している。次に、コントローラ6は、ステップS420で算出したヨーレイトγと車体横滑り角βv、および車輪の転舵角δを基に、βf=βvlfγ/v-δ、βr=βv-lrγ/vなる式に従って、前後輪のタイヤ横滑り角βf,βrを算出する。また、コントローラ6は、算出した前後輪のタイヤ横滑り角βf,βrに前後輪のコーナリングパワーCpf,Cprを乗算し、前後輪のコーナリングフォースFyf,Fyrを算出する。さらに、コントローラ6は、前後輪のタイヤ横滑り角βf,、βrと、コーナリングフォースFyf,Fyrとを乗算し、前後輪の旋回抵抗Fcy,Fcrを算出するステップS430。そして、コントローラ6は、制駆動力制御処理に戻る。次に、コントローラ6第1バネ上挙動推定部604、第2バネ上挙動推定部605は、ステップS200において算出した要求制駆動トルクTw、ステップS300において算出した車両上下方向の力Ff,Fr、前後輪の旋回抵抗Fcf,Fcrを、予め設定した車両運動モデルに適用することにより、車体1Bのバネ上挙動を算出するステップS500。ここで、車体1Bに要求制駆動トルクTw、車両上下方向の力Ff,Fr、前後輪の旋回抵抗Fcf,Fcyの少なくとも一つが発生したとき、車体1Bは、ピッチ軸まわりに角度θpの回転ピッチングおよび重心位置の上下移動zvバウンスが発生する。図14は、車両のピッチングおよびバウンスを示す車両モデルの模式図である。図14において、前輪側サスペンションのバネ定数減衰定数をKf,Cf、後輪側サスペンションのバネ定数減衰定数をKr,Crとする。また、車体1Bのピッチ方向慣性モーメントをIp、前輪とピッチ軸間の距離をLf、後輪とピッチ軸間の距離をLr、重心高をhcg、バネ上質量をMとすると、車体上下振動の運動方程式は、と表すことができる。また、車体ピッチング振動の運動方程式は、と表すことができる。なお、Ipはピッチ軸回りの慣性モーメント、hcgは車体重心の高さ、Rtは車輪重心の高さ、θpはピッチ角である。また、zvは重心位置の上下移動、Ff,Frは前後輪における車両上下方向の力、Rtは車輪重心の高さ、Twは駆動トルク、Mはバネ上質量である。これら二つの運動方程式において、と置換し、状態方程式に変換するとと表すことができる。ここで、5式における各項の要素は、である。さらに、上記状態方程式を要求制駆動トルクTwを入力とするトルクフィードフォワード項、車両上下方向の力Ff,Frを入力とする車輪速フィードバック項、前後輪の旋回抵抗Fcf,Fcrを入力とする操舵フィードフォワード項と、入力信号とにより分割すると、トルクフィードフォワード項は、車輪速フィードバック項は、操舵フィードフォワード項は、と表すことができる。このxを求めることで、要求制駆動トルクTw、車両上下方向の力Ff,Fr、および、前後輪の旋回抵抗Fcf,Fcrそれぞれを入力信号としたときの車体バネ上の挙動を推定することができる。なお、上式は、要求制駆動トルク、上下力と旋回抵抗の計5入力、推定される状態量はバウンス速度、バウンス量、ピッチ速度、ピッチ角度の4つである。これらの状態量は、次式に示すように前後輪の輪荷重Wf、Wrを定義する上で必要となるパラメータである。ここで、Kfは前輪9FL、9FRのサスペンションのばね定数、Cfは前輪9RL、9FRのサスペンションショックアブソーバの減衰係数である。また、Krは後輪9RL、9RRのサスペンションのばね定数、Crは後輪9RL、9RRのサスペンションショックアブソーバの減衰係数である。また、Lfは車体重心から前車軸までの距離、Lrは車体重心から後車軸までの距離、θpは車体のピッチ角である。本実施形態において、第1バネ上挙動推定部604が、上記状態方程式に基づいて、要求制駆動トルクおよび車両上下方向の力を入力とする車体1Bのバネ上挙動を推定する。また、第2バネ上挙動推定部604が、上記状態方程式に基づいて、旋回抵抗を入力とする車体1Bのバネ上挙動を推定する。次に、コントローラ6は、ステップS500において算出した車体1Bのバネ上挙動に基づいて、車両の荷重を安定化させるための補正トルク第1補正トルクdTwstbを算出するステップS600。具体的には、コントローラ6第1バネ上挙動推定部604は、ステップS200で算出した要求制駆動トルクTw、ステップS300で算出した車両上下方向の力Ff,Frそれぞれに対する以下のバネ上挙動を基に、要求制駆動トルクにフィードバックする車両の荷重を安定化させるための第1補正トルクdTwstabを算出する。このとき、フィードバックゲインは、上下移動zvの微分項、ピッチ角θpの微分項の振動が少なくなるように決定する。例えば、トルクフィードフォワード項において、上下移動zvの微分項が少なくなるようなフィードバックゲインを算出する場合は、重み行列を次式のように選ぶ。そして、次式におけるJを最小にする制御入力とする。その解は、以下のリカッチ代数方程式において、正定対称解pを基に、で与えられる。ここで、13式におけるFzvTrqは、トルクフィードフォワード項における上下移動zvの微分項に関するフィードバックゲイン行列である。なお、フィードバック項におけるピッチ角θpの微分項の振動が少なくなるようなフィードバックゲインFthpTrq、車輪速フィードバック項における上下移動zvの微分項、ピッチ角θpの微分項が少なくなるようなフィードバックゲインFzvwsp,Fthpwspも同様に算出できる。ここでは、最適レギュレータの手法を用いたが、極配置など他の手法によって設計することもできる。上式から算出した補正トルクに対して、それぞれ重みづけして加算することで、車両の荷重を安定化させるような第1補正トルクdTwstabを算出する。次に、コントローラ6は、ステップS500において算出した車体1Bのバネ上挙動に基づいて、車両の荷重を付加するための補正トルク第2補正トルクdTwaddを算出するステップS700。具体的には、コントローラ6第2バネ上挙動推定部605は、ステップS400で算出した前後輪の旋回抵抗Fcf,Fcrに対するバネ上挙動から、要求制駆動トルクにフィードバックする荷重を付加するための第2補正トルクdTwaddを算出する。まず、上下移動zvの微分項、ピッチ角θpの微分項の振動が少なくなるようなフィードバックゲインを決定する。具体的には、ステップS600と同様に、次式のように重み行列を選択する。そして、リカッチ代数方程式を解くことにより、FzvTrqは操舵フィードフォワード項における上下移動zvの微分項に関するフィードバックゲイン行列Fzvstrを算出できる。また、操舵フィードフォワード項におけるピッチ角θpの微分項の振動が少なくなるようなフィードバックゲインFthestrも同様に算出できる。上式から算出した補正トルクに対して、それぞれ重みづけして加算することで、第2補正トルクdTwaddを算出する。ここで、重み付けを負とすることにより、荷重を付加させるような補正トルクを算出することができる。次に、コントローラ6は、ハンチング検出処理後述を実行し、ハンチングの発生およびそのレベルハンチング回数を検出するステップS800。図15は、ハンチング検出方法の概念を示す図である。また、図16~19は、コントローラ6ハンチング検出部606が実行するハンチング検出処理を示すフローチャートである。以下、図15を適宜参照しつつ、図16~19のフローチャートについて説明する。図16は、ハンチング検出処理において最初に移行するサブフローハンチング判定計数処理を示す図である。図16において、ハンチング判定計数処理を開始すると、コントローラ6ハンチング検出部606は、制駆動力合計補正トルクに対して設定した上限閾値dTw_Uおよび下限閾値dTw_Lそれぞれを合計補正トルクが超えているか否かの判定を行う。そして、コントローラ6は、合計補正トルクがこれらの閾値を超えた場合にハンチング回数をカウントアップする。さらに、コントローラ6は、合計補正トルクが閾値を超えた時点からハンチング監視時間CTlmtの間に再び閾値を超えた場合、ハンチング回数fHuntのカウントアップを行う。なお、コントローラ6は、合計補正トルクが閾値を超えた時点からハンチング監視時間CTlmtを過ぎて再び閾値を超えた場合には、ハンチングしていないと判定してハンチング回数fHuntをカウントダウンするステップS810。ステップS810の後、コントローラ6は、ハンチング検出処理に戻る。図17~19は、ステップS810において、コントローラ6ハンチング検出部606が実行するハンチング判定計数処理のサブフローハンチング継続判定処理を示すフローチャートである。図17において、ハンチング継続判定処理を開始すると、コントローラ6ハンチング検出部606は、ハンチング監視タイマtHuntCの値が正であるか否かの判定を行うステップS811。なお、ハンチング監視タイマtHuntCは、直前に第1補正トルクあるいは第2補正トルクが閾値を超えてからの時間を示すタイマハンチング監視時間CTlmtからの減算値である。ステップS811において、ハンチング監視タイマtHuntCの値が正であると判定した場合、コントローラ6は、ハンチング監視タイマtHuntCの値を1減算するステップS812。一方、ステップS811において、ハンチング監視タイマtHuntCの値が正でないと判定した場合、コントローラ6は、ステップS813の処理に移行する。ステップS812の後、および、ステップS811において、ハンチング監視タイマtHuntCの値が正でないと判定した場合、コントローラ6は、上限閾値到達フラグfHunt_Uの値がゼロ、かつ、下限閾値到達フラグfHunt_Lの値がゼロであるか否かの判定を行うステップS813。ステップS813において、上限閾値到達フラグfHunt_Uの値がゼロ、かつ、下限閾値到達フラグfHunt_Lの値がゼロであると判定した場合、コントローラ6は、ハンチング初期検出判定処理後述を実行しステップS814、新たにハンチングを検出した場合の処理を行う。一方、ステップS813において、上限閾値到達フラグfHunt_Uの値および下限閾値到達フラグfHunt_Lの値の少なくともいずれかがゼロでないと判定した場合、コントローラ6は、ハンチング継続判定処理後述を実行しステップS815、ハンチングが継続している場合の処理を行う。ステップS814およびステップS815の後、コントローラ6は、ハンチング判定計数処理に戻る。次に、ハンチング継続判定処理のステップS814において、コントローラ6が実行するハンチング初期検出判定処理について説明する。図18は、ハンチング初期検出判定処理を示すフローチャートである。図18において、ハンチング初期検出判定処理を開始すると、コントローラ6は、第1補正トルクdTwstabが補正トルク上限閾値dTw_U以上で、かつ第1補正トルクdTwstabの前回検出値が補正トルク上限閾値dTw_Uよりも小さいか否かを判定するステップS8141。ステップS8141において、第1補正トルクdTwstabが補正トルク上限閾値dTw_U以上で、かつ第1補正トルクdTwstabの前回検出値が補正トルク上限閾値dTw_Uよりも小さいと判定した場合、コントローラ6は、上限閾値到達フラグfHunt_Uに1を、ハンチング回数Hunt_Cntに1を、ハンチング監視タイマtHuntCにハンチング監視時間CTlmtを設定するステップS8142。一方、ステップS8141において、第1補正トルクdTwstabが補正トルク上限閾値dTw_U以上でない、あるいは、第1補正トルクdTwstabの前回検出値が補正トルク上限閾値dTw_U以上であると判定した場合、コントローラ6は、ステップS8143の判定を行う。即ち、コントローラ6は、第1補正トルクdTwstabが補正トルク下限閾値dTw_L以下で、かつ、第1補正トルクdTwstabの前回検出値が補正トルク下限閾値dTw_Lよりも大きいか否かの判定を行うステップS8143。ステップS8143において、第1補正トルクdTwstabが補正トルク下限閾値dTw_L以下で、かつ、第1補正トルクdTwstabの前回検出値が補正トルク下限閾値dTw_Lよりも大きいと判定した場合、コントローラ6は、下限閾値到達フラグfHunt_Lに1を、ハンチング回数Hunt_Cntに1を、ハンチング監視タイマtHuntCにハンチング監視時間CTlmtを設定するステップS8144。一方、ステップS8143において、第1補正トルクdTwstabが補正トルク下限閾値dTw_Lよりも大きい、あるいは、第1補正トルクdTwstabの前回検出値が補正トルク下限閾値dTw_L以下であると判定した場合、コントローラ6は、ハンチング回数Hunt_Cntおよびハンチング監視タイマtHuntCをゼロにクリアするステップS8145。ステップS8142、ステップS8144およびステップS8145の後、コントローラ6は、ハンチング継続判定処理に戻る。次に、ハンチング継続判定処理のステップS815において、コントローラ6が実行するハンチング継続判定処理について説明する。図19は、ハンチング継続判定処理を示すフローチャートである。図19において、ハンチング継続判定処理を開始すると、コントローラ6は、上限閾値到達フラグfHunt_Uが1、かつ、下限閾値到達フラグfHunt_Lがゼロ、かつ第1補正トルクdTwstabが補正トルク下限閾値dTw_L以下であるか否かの判定を行うステップP1。ステップP1において、上限閾値到達フラグfHunt_Uが1、かつ、下限閾値到達フラグfHunt_Lがゼロ、かつ第1補正トルクdTwstabが補正トルク下限閾値dTw_L以下であると判定した場合、コントローラ6は、ステップP2の処理に移行する。即ち、コントローラ6は、上限閾値到達フラグfHunt_Uにゼロを、下限閾値到達フラグfHunt_Lに1を、ハンチング監視タイマtHuntCにハンチング監視時間CTlmtを設定する。また、コントローラ6は、ハンチング回数Hunt_Cntに1を加算するステップP2。一方、ステップP1において、上限閾値到達フラグfHunt_Uが1でない、あるいは、下限閾値到達フラグfHunt_Lがゼロでない、あるいは第1補正トルクdTwstabが補正トルク下限閾値dTw_Lよりも大きいと判定した場合、コントローラ6は、ステップP3の判定を行う。即ち、コントローラ6は、上限閾値到達フラグfHunt_Uがゼロ、かつ、下限閾値到達フラグfHunt_Lが1、かつ、第1補正トルクdTwstabが補正トルク上限閾値dTw_U以上であるか否かの判定を行うステップP3。ステップP3において、上限閾値到達フラグfHunt_Uがゼロ、かつ、下限閾値到達フラグfHunt_Lが1、かつ、第1補正トルクdTwstabが補正トルク上限閾値dTw_U以上であると判定した場合、コントローラ6は、上限閾値到達フラグfHunt_Uに1を、下限閾値到達フラグfHunt_Lにゼロを、ハンチング監視タイマtHuntCにハンチング監視時間CTlmtを設定する。また、コントローラ6は、ハンチング回数Hunt_Cntに1を加算するステップP4。一方、ステップP3において、上限閾値到達フラグfHunt_Uがゼロでない、あるいは、下限閾値到達フラグfHunt_Lが1でない、あるいは、第1補正トルクdTwstabが補正トルク上限閾値dTw_Uよりも小さいと判定した場合、コントローラ6は、ハンチング監視タイマtHuntCが0であるか否かの判定を行うステップP5。ステップP5において、ハンチング監視タイマtHuntCがゼロであると判定した場合、コントローラ6は、上限閾値到達フラグfHunt_U、下限閾値到達フラグfHunt_Lに0を、ハンチング監視タイマtHuntCにハンチング監視時間CTlmtを設定する。また、コントローラ6は、ハンチング回数Hunt_Cntから1を減算するステップP6。一方、ステップP5において、ハンチング監視タイマtHuntCがゼロでないと判定した場合、コントローラ6は、上限閾値到達フラグfHunt_U、下限閾値到達フラグfHunt_Lにゼロを、ハンチング監視タイマtHuntCにハンチング監視時間CTlmtを設定するステップP7。なお、ステップP7では、ハンチング回数Hunt_Cntの値を維持する。ステップP2、ステップP4、ステップP6およびステップP7の後、コントローラ6は、ハンチング回数Hunt_Cntがハンチング判定回数HClmt以上であるか否かの判定を行うステップP8。なお、ハンチング判定回数HClmtは、ハンチング回数Hunt_Cntについて設定した閾値であり、ハンチング回数Hunt_Cntがハンチング判定回数HClmt以上となった場合に、制御がハンチングしたものと判定する。次に、コントローラ6は、ハンチング回数Hunt_Cntにハンチング判定回数HClmtを設定するステップP9。次に、コントローラ6は、ハンチング回数Hunt_Cntがゼロ以下であるか否かの判定を行うステップP10。ステップP10において、ハンチング回数Hunt_Cntがゼロ以下であると判定した場合、コントローラ6は、ハンチング継続判定処理に戻る。一方、ステップP10において、ハンチング回数Hunt_Cntがゼロよりも大きいと判定した場合、コントローラ6は、ハンチング回数Hunt_Cntにゼロを設定しステップP11、ハンチング継続判定処理に戻る。図8に戻り、ステップS800の後、コントローラ6は、ハンチングレベル可変処理後述を実行し、運転者の操作状況に応じて、ステップS800で検出したハンチングレベルを補正するステップS900。図20は、コントローラ6が、制駆動力制御処理のステップS900において実行するハンチングレベル可変処理を示すフローチャートである。図20において、ハンチングレベル可変処理を開始すると、コントローラ6は、制駆動力制御処理のステップS800において検出したハンチング回数Hunt_CntからハンチングレベルHlevelを算出するステップS910。図21は、ハンチング回数Hunt_CntとハンチングレベルHlevelとの関係を定義したマップを示す図である。図21において、ハンチング回数Hunt_Cntが閾値N1を超えると、ハンチングレベルHlevelがゼロから1に変化している。次に、コントローラ6は、人為的運動度算出処理を実行することにより、運転者の操作状況を示す指標以下、人為的運動度と称する。を算出するステップS920。図22は、人為的運動度の算出方法を示すマップである。図22に示すように、本実施形態では、運転者の操舵角速度の絶対値の移動平均に対して、人為的運動度を設定しておき、このマップを参照して、人為的運動度を算出する。即ち、人為的運動度は0~1の値で設定し、運転者が積極的に運動を発生させている場合操舵角速度の絶対値の移動平均が大きい場合が1、それ以外の場合をゼロと定義する。図23は、人為的運動度算出処理を示すフローチャートである。図23において、人為的運動度算出処理を開始すると、コントローラ6は、操舵角速度の絶対値SVel_absnを算出するステップS9201。次に、コントローラ6は、次式に従って、操舵角速度の絶対値の移動平均SVel_abs_aveを算出するステップS9202。ここで、16式におけるSVel_absnはn回前の操舵角速度絶対値の算出値であり、ここで用いる整数nは実験によって定める。次に、コントローラ6は、操舵角速度の移動平均SVel_abs_aveを基に、人為的運動度を算出するステップS9203。ステップS9203の後、コントローラ6は、ハンチングレベル可変処理に戻る。図20において、ステップS920の後、コントローラ6は、ハンチングレベル補正値算出処理を実行することにより、人為的運動度を基に、ハンチングレベルの補正ゲインHlgを算出するステップS930。図24は、人為的運動度とハンチングレベルの補正ゲインHlgとの関係を示すマップである。図24に示すように、本実施形態において、人為的運動度がゼロから1に増加すると、それに伴って、ハンチングレベルの補正ゲインHlgは1からゼロに減少する。次に、コントローラ6は、ステップS930で算出したハンチングレベルの補正ゲインHlgによって、ステップS910で算出したハンチングレベルHlevelを補正するステップS940。具体的には、コントローラ6は、次式に従って、補正後のハンチングレベルHlmodを算出する。Hlmod=HlgHlevel17なお、補正後のハンチングレベルHlmodは0~1の値となる。ステップS940の後、コントローラ6は、制駆動力制御処理に戻る。図8において、ステップS900の後、コントローラ6は、運動ゲイン算出処理を実行することにより、車両に付与する制駆動力の大きさを決定するための運動ゲインを算出するステップS1000。図25は、運動ゲイン算出処理を示すフローチャートである。図25において、運動ゲイン算出処理を開始すると、コントローラ6は、運動ゲインのマップを選択するステップS1010。具体的には、コントローラ6は、ステップS100で読み込んだドライブモードに応じて、運動ゲインの算出に使用するマップを切替える。即ち、スタンダードモードの場合、図26に示すマップ、スポーツモードの場合、図27に示すマップ、コンフォートモードの場合、図28に示すマップを参照して、運動ゲインを算出する。次に、コントローラ6は、S1010で選択したマップを基に、運動ゲインGmovを算出するステップS1020。このとき、補正後のハンチングレベルHlmodとS1020で選択した運動ゲインのマップを参照して運動ゲインGmovを算出する。運動ゲインGmovは0~1の値で算出され、補正後のハンチングレベルHlmodが高いほど、運動ゲインGmovが小さく0に近くなるように設定する。ステップS1020の後、コントローラ6は、制駆動力制御処理に戻る。ステップS1000に続いて、コントローラ6は、次式に従って、ステップS600で算出した第1補正トルクdTwstabとS700で算出した第2補正トルクdTwaddに対して、ステップS1000で算出した運動ゲインGmovを乗算して加算し、補正トルク指令値を算出するステップS1100。TwoutGmov18次に、コントローラ6は、S1100で算出した補正トルク指令値Twoutを駆動力制御部7あるいは制動力制御部8に出力するステップS1200。ステップS1200の後、コントローラ6は、制駆動力制御処理を繰り返す。動作次に、動作を説明する。図29は、第1実施形態に係る制駆動力制御装置の動作を示すタイムチャートである。図29に示すタイムチャートでは、ハンチングレベル、人為的運動度、ハンチングレベルの補正値、運動ゲインおよび制駆動トルクを示している。なお、制駆動トルクのタイムチャートにおいて、実線は補正トルク指令値Twoutに基づく制駆動トルク、破線は第1補正トルクと第2補正トルクの合計値合計補正トルク:dTwstabdTwaddに基づく制駆動トルクである。図29において、時刻t1では、運転者の運転操作による車両挙動に対し、車体の制振のための制駆動力制御が介入することにより、制駆動力制御装置1Aが第1補正トルクと第2補正トルクの合計値に基づく制駆動トルクを付与している。なお、時刻t1では、運転者の操舵入力が比較的頻繁な状態、即ち、操舵角速度の絶対値の移動平均が大きい状態である。時刻t1の状態では、人為的運動度は1となっており、そのため、補正後のハンチングレベルはゼロ、運動ゲインは1となる図22,24,26参照。そして、時刻t2では、運転者の操舵入力が減少し、操舵角速度の絶対値の移動平均が減少している。このとき、ハンチング検出部606がハンチング検出処理を実行することにより、ハンチングを検出したものとする。すると、人為的運動度は1から徐々に減少し、それに伴い、補正後のハンチングレベルは増加する。また、運動ゲインは減少する。なお、ここではドライブモードがスタンダードモードであるものとし、運動ゲインは直線的に減少するものとする。運動ゲインが減少すると、第1補正トルクと第2補正トルクとの合計値合計補正トルクに対し、運動ゲインを乗算した結果である補正トルク指令値Twoutは、合計補正トルクよりも絶対値が小さい値となり、補正トルクの付与度合いが低下する。そして、時刻t3では、運転者の操舵入力がさらに減少し、操舵角速度の絶対値の移動平均が人為的運動度ゼロとなるレベルまで減少している。このとき、補正後のハンチングレベルは1まで増加し、運動ゲインはゼロとなる。そのため、合計補正トルクに運動ゲインを乗算した結果である補正トルク指令値Twoutはゼロとなり、補正トルクの付与を行わない状態となる。したがって、ハンチングの発生に対し、車体の制振のための補正トルクを付与することなく、要求制駆動トルクに基づく制駆動力の制御を行う状態となる。以上のように、本実施形態に係る制駆動力制御装置1Aを備えた自動車1は、荷重安定化のための第1補正トルクと、荷重付加のための第2補正トルクとの付与状態を基に、ハンチングの発生を検出する。このとき、運転者の操舵入力の状態を基に、制御のハンチングと運転者の操舵入力とを区別してハンチングの検出を行う。そして、ハンチングが発生していると判定すると、第1補正トルクと第2補正トルクとの合計値である合計補正トルクに乗算する運動ゲインを低下させ、車体制振のための補正トルクの付与度合いを減少させる。そのため、運転者の操舵操作によらないハンチングが発生していることを適確に検出し、ハンチングを抑制することができる。したがって、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことが可能となる。なお、本実施形態において、駆動力制御部7、制動力制御部8およびエンジン11が制駆動トルク付与手段に対応し、コントローラ6第1バネ上挙動推定部604、第2バネ上挙動推定部605が挙動推定手段に対応する。また、コントローラ6第1バネ上挙動推定部604が荷重安定化補正トルク算出手段に対応し、コントローラ6第2バネ上挙動推定部605が荷重付加補正トルク算出手段に対応する。また、コントローラ6ハンチング検出部606およびハンチングレベル可変部607がハンチング判定手段に対応し、コントローラ6運動ゲイン処理部608が運動ゲイン算出手段に対応する。第1実施形態の効果1車両の荷重を安定化させるための荷重安定化補正トルクおよび車両の荷重を付加するための荷重付加補正トルクに基づいて、制駆動トルクを補正する制御にハンチングが発生しているか否かを判定する。また、操舵状態と、その判定結果とに基づいて、荷重安定化補正トルクおよび荷重付加補正トルクの付与度合いを決定する運動ゲインを算出し、運動ゲインに応じた補正トルクを付与する。このような構成により、車両の制駆動トルクに対して補正トルクを付与する制御にハンチングが発生しているか否かに応じて、補正トルクの付与度合いを変化させる。このとき、操舵状態に応じて、補正トルクの付与度合いを変化させる。したがって、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことことが可能となる。2ハンチング判定手段は、車両における操舵状態に基づいて、運転者の操作状況を示す指標である人為的運動度を算出し、人為的運動度に基づいて、ハンチングの度合いを示すハンチングレベルを算出する。運動ゲイン算出手段は、ハンチング判定手段が算出したハンチングレベルに基づいて、運動ゲインを算出する。このような構成により、運転者の操舵状況に応じて、補正トルクを付与する度合いを変化させることが可能となる。即ち、運転者が操舵操作を行っているときと行っていないときとを区別して補正トルクの付与度合いを決定するため、運転者の操舵によらないハンチングを主に抑制することができる。3操舵角速度の絶対値に基づいて、人為的運動度を算出するため、運転者が操舵操作を積極的に行っているときに、補正トルクを増加させることができる。4ハンチング判定手段の判定結果と運動ゲインとの関係を定義した複数種類のマップを有し、これらのマップを切り替えて、運動ゲインを算出する。したがって、異なる特性に従って補正トルクを付与することが可能となり、状況に応じた車体の制振制御を行うことが可能となる。5車体のバネ上挙動を推定し、推定した車体のバネ上挙動に対して、車両の荷重を安定化させるための荷重安定化補正トルクおよび車両の荷重を付加するための荷重付加補正トルクを付与する制御を行う。また、荷重安定化補正トルクおよび荷重付加補正トルクに基づいて、該制御にハンチングが発生しているか否かを判定する。そして、ハンチングが発生している場合に、車両における操舵状態と、ハンチングの状態とに応じて、荷重安定化補正トルクおよび荷重付加補正トルクの付与度合いを変化させる。これにより、車両の制駆動トルクに対して補正トルクを付与する制御にハンチングが発生しているか否かに応じて、補正トルクの付与度合いを変化させる。このとき、操舵状態に応じて、補正トルクの付与度合いを変化させる。したがって、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことことが可能となる。第2実施形態次に、本発明の第2実施形態について説明する。本実施形態においては、第1実施形態と異なる人為的運動度の算出方法としている。したがって、第1実施形態と異なる部分である制駆動力制御処理のステップS900以降について説明する。なお、以下の説明において、図8に示す制駆動力制御処理のフローチャートおよびそのサブフローを適宜参照する。図8において、コントローラ6は、ハンチングレベル可変処理を実行することにより、人為的運動度を算出し、運転者の操作状況に応じて、ステップS800で検出したハンチングレベルを補正するステップS900。また、本実施形態では、ステップS900のサブフローであるハンチングレベル可変処理において、以下のように人為的運動度を算出する。即ち、第1実施形態では、図22のマップを用いて人為的運動度を算出したが、本実施形態では、図22のマップを用いて人為的運動度の第1要素Drmov1を算出し、さらに、図30のマップを用いて人為的運動度の第2要素Drmov2を算出するステップS920。図30は、人為的運動度の第2要素Drmov2の算出方法を示すマップである。図30に示すように、本実施形態では、運転者の操舵角の絶対値に対して、人為的運動度を設定しておき、このマップを参照して、人為的運動度の第2要素Drmov2を算出する。人為的運動度の第2要素Drmov2は、第1要素Drmov1と同様に、0~1の値で設定し、運転者が積極的に運動を発生させている場合操舵角の絶対値の移動平均が大きい場合が1、それ以外の場合をゼロと定義する。また、ステップS920の後、コントローラ6は、ハンチングレベル補正値算出処理を実行することにより、人為的運動度の第1要素Drmov1および第2要素Drmov2を基に、ハンチングレベルの補正ゲインHlgを算出するステップS930。ここで、ステップS930においては、人為的運動度の第1要素Drmov1および第2要素Drmov2それぞれを基に、図24のマップに従い、補正ゲインHlgを算出する。そして、それらのうち、より小さいものを選択セレクトローすることにより、補正ゲインHlgとする。次に、コントローラ6は、18式に従い、ステップS930で算出したハンチングレベルの補正ゲインHlgによって、ステップS910で算出したハンチングレベルHlevelを補正するステップS940。なお、補正後のハンチングレベルHlmodは0~1の値となる。ステップS1000以降の処理は、第1実施形態と同様である。以上のように、本実施形態に係る制駆動力制御装置1Aを備えた自動車は、操舵角速度の絶対値の移動平均から算出した人為的運動度の第1要素と、操舵角の絶対値の移動平均から算出した人為的運動度の第2要素とから、ハンチングレベルの補正ゲインHlgを算出する。そして、人為的運動度の第1要素および第2要素それぞれから算出した補正ゲインのうち、より小さいものを選択して、選択した補正ゲインを基に、運動ゲインを算出する。さらに、算出した運動ゲインを第1補正トルクと第2補正トルクとの合計値合計補正トルクに乗算し、車体制振のための補正トルク指令値とする。そのため、操舵角速度および操舵角の絶対値の移動平均のうち、人為的運動度がより大きくなるものを選択して制御を行うことができる。例えば、操舵初期に操舵角速度が大きくなる領域での人為的運動度は操舵角速度で算出し、一定舵角で旋回している領域での人為的運動度は操舵角で算出するといったことが可能となる。これにより、多様な操舵状況下で車体制振制御の効果を得ることが可能となる。したがって、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことが可能となる。なお、本実施形態において、駆動力制御部7、制動力制御部8およびエンジン11が制駆動トルク付与手段に対応し、コントローラ6第1バネ上挙動推定部604、第2バネ上挙動推定部605が挙動推定手段に対応する。また、コントローラ6第1バネ上挙動推定部604が荷重安定化補正トルク算出手段に対応し、コントローラ6第2バネ上挙動推定部605が荷重付加補正トルク算出手段に対応する。また、コントローラ6ハンチング検出部606およびハンチングレベル可変部607がハンチング判定手段に対応し、コントローラ6運動ゲイン処理部608が運動ゲイン算出手段に対応する。第2実施形態の効果1操舵角速度の絶対値および操舵角の絶対値に基づいて、人為的運動度を算出する。そのため、操舵初期等、操舵角速度が大きくなる領域での人為的運動度は操舵角速度で算出し、一定舵角で旋回している領域での人為的運動度は操舵角で算出することが可能となる。これにより、多様な操舵状況下で車体制振制御の効果を得ることが可能となる。したがって、制駆動力による車体の制振制御を操舵状態に応じてより適切に行うことが可能となる。応用例1第1および第2実施形態において、操舵角速度あるいは操舵角の絶対値の移動平均を基に人為的運動度を算出することとした。これに対し、制駆動力制御処理のステップS100において読み込んだ運転者の挙動安定化制御フラグ即ち、挙動安定化制御の運転者によるスイッチ操作に対応して、人為的運動度を算出することができる。この場合、挙動安定化制御フラグが制御を行わない値挙動安定化制御がオフとなっている場合、運転者が積極的な操舵入力を行う操舵入力の頻度が高まるものと推定して、人為的運動度を1とする。効果車両挙動の安定化制御に関するスイッチ操作がオンとなっている場合に操舵入力の頻度が高まると推定し、人為的運動度を上限値に設定する。したがって、運転者が積極的な操舵入力を行うと推定できる状況において、車体制振のための補正トルクを抑制することができる。応用例2また、人為的運動度を、操舵角、ドライバ要求駆動トルクおよびブレーキ操作量から算出することができる。図31は、ドライバ要求駆動トルクの変化量と人為的運動度との関係を示すマップである。また、図32は、ブレーキ操作頻度と人為的運動度との関係を示すマップである。図31および図32に示すように、ドライバ要求駆動トルクとブレーキ操作頻度とを基に、人為的運動度をそれぞれ算出し、これらの人為的運動度と、操舵角を基に算出した人為的運動度とを加算することにより、総合的な人為的運動度を算出する。なお、総合的な人為的運動度は、0~1の値として算出する。効果運転者による制駆動操作状態に基づいて、前記人為的運動度を算出する。したがって、操舵状態に加え、運転者の制駆動操作状態がどのような状態かを区別して、車体制振のための補正トルクを付与することができる。即ち、車両の走行状態に応じて、より適切な車体制振のための補正トルクを付与することができる。応用例3また、操舵角速度、操舵角および左右車輪速の差を基に人為的運動度を算出することができる。即ち、コントローラ6は、制駆動力制御処理のステップS910において、操舵角から操舵角速度の絶対値の移動平均を算出し、操舵角速度の絶対値の移動平均と人為的運動度との関係を定義したマップ図22参照を基に、人為的運動度の第1要素Drmov1を算出する。また、コントローラ6は、操舵角の絶対値の移動平均と人為的運動度との関係を定義したマップ図30参照を基に、人為的運動度Drmov2を算出する。さらに、コントローラ6は、ステップS100で読み込んだ4輪の車輪速から左右車輪速の差を算出し、左右車輪速の差と人為的運動度とのの関係を定義したマップ図33参照を基に、人為的運動度Drmov3を算出する。そして、コントローラ6は、以下のいずれかの方法で人義的運動度Drmovを算出する。方法1:DrmovDrmov2Drmov3方法2:DrmovセレクトハイDrmov1,Drmov2Drmov3ただし、以下の条件に従って、方法1または2を選択する。方法1:操舵角のみで人義的運動度を算出している場合方法2:操舵角速度と操舵角で人義的運動度を算出している場合このような方法により、操舵角センサが正常に動作していない等のために、運転者の操舵操作を適切に検出していない場合であっても、より正確に人為的運動度を算出することができる。即ち、操舵角センサが正常に動作していないことにより、操舵角の検出値が非正常値となり、その結果、ハンチングが発生していると判定した場合でも、適切に車体制振のための制駆動力制御をキャンセルすることができる。効果操舵角速度の絶対値、操舵角の絶対値および左右車輪速の差に基づいて、人為的運動度を算出する。したがって、運転者の操舵角速度あるいは操舵角を適切に検出していない場合であっても、より正確に人為的運動度を算出することができる。応用例4図22に示す人為的運動度のマップは、以下のように変形したものを用いることができる。図34は、操舵角速度の絶対値と人為的運動度との関係を定義したマップを示す図である。図34に示すマップでは、操舵角速度の絶対値が一定の閾値上限閾値を超えた場合、人為的運動度をゼロとしている。操舵角速度の絶対値は、一定以上の大きさであるとき、運転者が操作しているとは考えにくいため、この場合には人為的運動度を低下させることとする。効果操舵角速度の絶対値に基づいて、人為的運動度を算出し、操舵角速度の絶対値に対する上限閾値を超えた場合、人為的運動度をゼロとする。したがって、運転者による操舵入力として不適切な検出値となった場合にも、車体制振制御のハンチングを適切に抑制することが可能となる。応用例5第1および第2実施形態において、運動ゲインの算出に使用するマップとして、図26~28に示すものを例として説明したが、図35および図36に示すマップとすることができる。図35は、運動ゲインの算出に使用するマップの例を示す図である。また、図36は、運動ゲインの算出に使用するマップの他の例を示す図である。図35に示す例では、ハンチングレベルがゼロの場合にのみ、運動ゲインを1とし、ハンチングレベルがゼロ以外の場合、運動ゲインをゼロとしている。図35に示すマップとした場合、ハンチングによる違和感をより低減することが可能となる。また、図36に示す例では、ハンチングレベルが1の場合にのみ、運動ゲインをゼロとし、ハンチングレベルが1以外の場合、運動ゲインを1としている。図36に示すマップとした場合、制駆動力による車体制振制御の効果をより高い頻度で得ることが可能となる。"