(57)【特許請求の範囲】
【請求項１】
モータのトルクを制御するトルク制御方法において、
センサを用いて、ドライバからの速度制御の要求を検出し、
前記要求に基づき要求トルクを演算し、
前記要求トルクに基づき前記モータで発生するトルクを制御し、
前記要求トルクが所定のトルク閾値より小さい場合に、前記要求トルクをゼロに設定し、設定された要求トルクに基づき前記モータを制御する惰性走行制御を実行し、
前記モータの回転数が第１回転数閾値より大きい場合の前記所定のトルク閾値は、前記モータの回転数が前記第１回転数閾値より小さい場合の前記所定のトルク閾値より大きいトルク制御方法。
【請求項２】
前記所定のトルク閾値は、一定の車速を保つために必要なトルクより低い
請求項１に記載のトルク制御方法。
【請求項３】
前記所定のトルク閾値は、回生側で一定値に設定されている
請求項１又は２に記載のトルク制御方法。
【請求項４】
前記モータの回転数が第２回転数閾値より大きい場合に、前記惰性走行制御を実行し、
前記モータの回転数が前記第２回転数閾値より小さい場合に、前記惰性走行制御を実行しない
請求項１〜３のいずれか一項に記載のトルク制御方法。
【請求項５】
前記要求トルクが前記所定のトルク閾値より小さい状態から前記所定のトルク閾値より大きい状態に変化した場合のトルク変化率、又は、前記要求トルクが前記所定のトルク閾値より大きい状態から前記所定のトルク閾値より小さい状態に変化した場合のトルク変化率を、前記要求トルクの大きさに応じて設定する
請求項１〜４のいずれか一項に記載のトルク制御方法。
【請求項６】
前記要求トルクが前記所定のトルク閾値より小さい状態が一定時間以上継続した場合に、前記惰性走行制御を実行する
請求項１〜５のいずれか一項に記載のトルク制御方法。
【請求項７】
前記モータを備えた車両の走行モードを、複数の走行モードの中から選択し、
複数の前記トルク閾値の中から、選択された走行モードに応じて前記トルク閾値を選択し、
前記要求トルクが選択された前記トルク閾値より小さい場合に、前記惰性走行制御を実行する
請求項１〜６のいずれか一項に記載のトルク制御方法。
【請求項８】
アクセル開度を検出するアクセル開度センサと、
モータの回転数を検出する回転数センサと、
前記モータのトルク、前記回転数、及び前記アクセル開度の相対関係を示すマップを記憶するメモリと、
前記モータを制御するコントローラとを備え、
前記コントローラは、
前記マップを参照しつつ、前記アクセル開度と前記回転数に対応する前記トルクを、ドライバからの要求トルクとして演算し、
前記要求トルクが所定のトルク閾値より大きい場合には、前記モータで発生する発生トルクが前記要求トルクと一致するように前記モータを制御し、
前記要求トルクが前記所定のトルク閾値より小さい場合には、前記要求トルクをゼロに設定し、前記発生トルクがゼロになるように前記モータを制御し、
前記モータの回転数が第１回転数閾値より大きい場合の前記所定のトルク閾値は、前記モータの回転数が前記第１回転数閾値より小さい場合の前記所定のトルク閾値より大きいトルク制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トルク制御方法及びトルク制御装置に関するものである。
【背景技術】
【０００２】
従来より、走行用電動機を備えた電気走行車は、アクセルセンサと、車速センサと、走行用電動機のトルクを制御するコントローラを備えている。コントローラは、アクセルセンサにより検出されたアクセル操作量から平均アクセル量を演算し、車速、アクセル操作量、及び駆動用マップから、駆動輪の目標駆動力を演算し、目標駆動力とＣＶＴの変速機から、走行用電動機の目標トルクを算出する。そして、コントローラは、走行用電動機から目標駆動トルクを発生させるように、走行用電動機を制御する（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０５−１６８１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の電気走行車において、ドライバからの要求トルクが小さい状態で、モータの出力トルクが要求トルクとなるようにモータを制御した場合には、車両の運転効率が低いという問題があった。【０００５】
本発明が解決しようとする課題は、モータの運転効率を高めたトルク制御方法及びトルク制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、モータの要求トルクを演算し、要求トルクに基づきモータで発生するトルクを制御し、要求トルクが所定のトルク閾値より小さい場合に、要求トルクをゼロに設定し、設定された要求トルクに基づきモータを制御することによって上記課題を解決する。
【発明の効果】
【０００７】
本発明によれば、モータの運転効率を高めることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明に係る本実施形態のトルク制御装置を有する車両システムのブロック図である。
【図２】図２は、駆動力マップの一例を示す図である。
【図３】図３は、本実施形態に係るトルク制御方法の制御フローを示すフローチャートである。
【図４】図４は、図２に示す駆動力マップのうち、領域Ａの周辺部分を示す図である。
【図５】図５は、図２に示す駆動力マップ上において、ステップ毎のトルク及び車速の推移を示す図である。
【図６】図６は、惰性走行制御のオン、オフのタイムチャート及びトルク特性を示すグラフである。
【図７】図７は、惰性走行制御のオン、オフのタイムチャート及びトルク特性を示すグラフである。
【図８】図８は、ノーマルモードにおけるトルク特性を示すグラフである。
【図９】図９は、ノーマルモードにおけるトルク特性及びエコモードにおけるトルク特性を示すグラフである。
【図１０】図１０は、モータ回転数に対する損失電力の特性を示すグラフである。
【図１１】図１１は、モータ回転数に対する効率の特性を示すグラフである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。  
【００１０】
図１は、本実施形態に係るトルク制御装置を備えた車両システムのブロック図である。本実施形態に係るトルク制御装置は、車両に含まれる駆動機構の出力トルクを制御する装置であって、車両に設けられている。以下の説明では、トルク制御装置を電気自動車に搭載した場合を一例として説明している。トルク制御装置は、必ずしも電気自動車に搭載される必要はなく、ハイブリッド車両等の他の車両システム、又は、車両以外の駆動システムに搭載されてもよい。
【００１１】
図１に示すように、車両システムは、駆動輪１、ディファレンシャルギア２、発電機（ＭＧ：モータ）３、回転数センサ４、インバータ（ＩＮＶ）５、バッテリ６、モータコントローラ７、バッテリコントローラ８、アクセル開度センサ９、車両コントローラ１０、メモリ１１を備えている。
【００１２】
駆動輪１は、発電機３から出力されるパワーにより回転する。ディファレンシャルギア２は、発電機３のパワーを左右の駆動率に伝える。発電機３は、車両システムの駆動源であり、バッテリの電力により駆動する。発電機３の回転軸は車軸に連結されている。発電機３の力行時には、発電機３で発生するトルクは、車軸を介して駆動輪１に伝わる。発電機３の回生時には、発電機３は駆動輪１の回転力を利用して発電し、発電された電力によりバッテリ６を充電する。
【００１３】
回転数センサ４はモータ３の回転数を検出する。回転数センサ４は、検出値をモータコントローラ７に出力する。
【００１４】
インバータ５は、発電機３と三相配線で接続され、バッテリ６と電力ラインで接続されている。インバータ５はバッテリ６の出力電力を交流電力に変換し、交流電力を発電機３に出力する。また、インバータ５は、発電機３の発電電力を直流電力に変換し、直流電力をバッテリ６に出力する。インバータ５は、ＩＧＢＴ等のスイッチング素子（パワーモジュール）をブリッジ状に接続した回路等を有している。
【００１５】
バッテリ６は、リチウムイオン電池などの二次電池により構成されている。バッテリ６は、車両システムの動力源として機能する。
【００１６】
モータコントローラ７は、発電機３を制御するためのコントローラである。モータコントローラ７は、車両コントローラ１０から出力される要求トルクと回転数センサ４の検出値に基づき、発電機３を制御する。モータコントローラ７は、回転数センサ４を用いて発電機３の回転速度を演算する。モータコントローラ７は、発電機３の現在の回転速度において、発電機３の出力トルクがトルク指令値と一致させるため指令値を演算する。指令値は、電流指令値等で表される。モータコントローラ７は、発電機３の出力トルクとトルク指令値とを一致させるために、電流センサ（図示しない）の検出値をフィードバックさせて、ＰＩ制御により指令値を演算する。モータコントローラ７は、演算された指令値とキャリアとの比較によりスイッチング信号を生成し、当該スイッチング信号をインバータ５に出力する、スイッチング信号は、インバータ５に含まれるスイッチング素子のオン、オフを切り替えるための信号である。これにより、モータコントローラ７は、車両コントローラ１０から出力される要求トルク（制御用の要求トルク）に基づき、発電機３で発生するトルクを制御する。
【００１７】
バッテリコントローラ８は、バッテリ６の状態を管理するためのコントローラである。バッテリコントローラ８は、バッテリ６に接続された電圧センサ（図示しない）を用いてＳＯＣ（Ｓｔａｔｅ  оｆ  Ｃｈａｒｇｅ）を演算することで、バッテリ６を管理する。バッテリコントローラ８は、バッテリ６の状態を示す信号を車両コントローラ１０に出力する。
【００１８】
モータコントローラ７と車両コントローラ１０との間、及び、モータコントローラ７と車両コントローラ１０との間は、ＣＡＮバスで接続されている。ＣＡＮバスは、車両に搭載された各コントローラ間を接続する通信網である。
【００１９】
アクセル開度センサ９は、アクセルの開度を検出する。ドライバは、車両を加速するためにアクセルを踏み込む。アクセルの踏み込み量は、ドライバが要求している加速の大きさに相当する。すなわち、アクセル開度は、ドライバからの速度制御の要求値を表している。アクセル開度センサ９は、検出されたアクセル開度を、車両コントローラ１０に出力する。
【００２０】
車両コントローラ１０は、車両システム全体を制御するためのコントローラである。車両コントローラ１０は、センサ等のハードウェアを用いて、アクセル情報、走行モード情報を取得する。車両コントローラ１０は、アクセル開度センサ９を用いてアクセル開度を検出することで、アクセル情報を取得する。
【００２１】
走行モードは、車両システムの制御方法を表す。走行モードは、車両におけるエネルギー消費率に対応して複数のモードに区分けされており、走行モードによって、アクセル開度に対するエネルギーの消費量が異なっている。電気自動車において、エネルギー消費量はバッテリ６の消費電力に相当する。本実施形態において、走行モードは、エコモード、ノーマルモード、スポーツモードに分けられる。また、ドライバは、車室内のスイッチを切り換えることで、走行モードを選択する。エコモードでは、アクセル開度に対するエネルギーの消費量が最も抑制される。スポーツモードでは、アクセル開度に対するエネルギーの消費量が最も大きくなり加速操作性も高くなる。ノーマルモードは、加速度性能と、エネルギー消費量の削減を両立させている。ドライバの加速要求に対して発電機３の発生トルクの大きさ又は変化率は、エコモードで最も小さくなり、スポーツモードで最も大きくなる。車両コントローラ１０は、走行モード選択用のスイッチの状態を検出することで、走行モードの情報を取得する。
【００２２】
車両コントローラ１０は、バッテリコントローラ８からバッテリ６の情報を取得し、モータコントローラ７から車両の走行状態を示す情報を取得する。車両の走行状態を示す情報は、例えば車速情報である。
【００２３】
車両コントローラ１０は、アクセル開度センサ９を用いてドライバからの速度制御の要求を検出し、検出された要求と車両の状態に基づき要求トルクを演算する。要求トルクは、ドライバからの速度制御の要求を、発電機３の発生トルクの大きさで表した値である。車両コントローラ１０は、メモリ１１に記憶された駆動力マップを用いて、要求トルクを演算する。
【００２４】
図２は、駆動力マップを説明するためのグラフである。図２に示すように、駆動力マップは、車速、アクセル開度（ＡＰＯ）、及び要求トルクの対応関係を示す。図２において、実線で示されるグラフは、車速に対する要求トルクの特性を示しており、各特性はアクセル開度毎に異なる。車両がある車速で走行している状態で、ドライバから車両制御の要求（アクセル操作）があった場合には、アクセル開度に対応するグラフが選択され、選択されたグラフ上で、現在の車速に対応する要求トルクが、発電機３に対して要求された駆動力となる。図２において、駆動力のプラス値は力行側の出力トルク（発電機３の駆動力）を示しており、駆動力のマイナス値は回生側の入力トルク（発電機３の制動力）を示している。
【００２５】
図２おいて、領域Ａ、Ｂは、惰性走行制御を実行する領域を示している。グラフＲは、走行抵抗線（Ｒ／Ｌ線）の特性を示す。走行抵抗線は、一定車速を保つために必要なトルクを示しており、実験的に求められる。Ｔ１＿ＯＮ、Ｔ２＿ＯＮ、Ｔ１＿ＯＦＦ及びＴ２＿ＯＦＦは、通常制御と惰性走行制御との間で制御モードを切り替えるタイミングをトルクで示した閾値であり、予め設定されている。Ｔ１＿ＯＮ及びＴ２＿ＯＮは、通常制御から惰性走行制御に切り換えるための閾値を示している。Ｔ１＿ＯＦＦ及びＴ２＿ＯＦＦは、惰性走行制御から通常制御に切り換えるための閾値を示している。Ｔ１＿ＯＮ及びＴ１＿ＯＦＦは力行側の閾値を示し、Ｔ２＿ＯＮ及びＴ２＿ＯＦＦは回生側の閾値を示す。なお、通常制御、惰性走行制御、及びトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ、Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）については、後述する。
【００２６】
車両コントローラ１０は、モータコントローラ７からモータ回転数を取得し、車速（制御用車速）を演算する。車速は、モータ回転数、ギア比、及び駆動輪１の車輪半径から演算される。すなわち、制御用の車速は、モータ回転数と対応する。そして、車両コントローラ１０は、上述した駆動力マップを参照しつつ、アクセル開度と車速に対応するトルクを、ドライバからの要求トルクとして演算する。車両コントローラ１０は、演算された要求トルクをモータコントローラ７に出力する。後述するように、通常制御では、車両コントローラ１０は、駆動力マップで示されるトルクを補正することなく、制御用の要求トルクとしてモータコントローラ７に出力する。一方、惰性走行制御では、車両コントローラ１０は、駆動力マップで示されるトルクをゼロに補正した上で、補正後のトルク（ゼロトルク）を、制御用の要求トルクとしてモータコントローラ７に出力する。
【００２７】
次に、図３を用いて、本実施形態に係るトルク制御装置によるトルク制御の方法を説明する。図３は、モータコントローラ７及び車両コントローラ１０の制御フローを示すフローチャートである。ドライバによりメインスイッチがオンになると、図３に示す制御フローが開始する。メインスイッチは、車両システムのオン、オフを切り換える。
【００２８】
ステップＳ１にて、車両コントローラ１０は、アクセル開度センサ９を用いて、現在のアクセル開度を検出する。車両コントローラ１０は、モータコントローラ７を介して、回転数センサ４の検出値を取得することでモータ回転数を取得し、取得されたモータ回転数に基づいて車速を演算する。これにより、車両コントローラ１０は、車速を検出する。
【００２９】
ステップＳ２にて、車両コントローラ１０は走行モードの情報を取得する。
【００３０】
ステップＳ３にて、車両コントローラ１０は、駆動力マップを参照し、アクセル開度及び車速に対応する要求トルクを演算する。
【００３１】
ステップＳ４にて、車両コントローラ１０は、走行モードがエコモード又はノーマルモードであるか否かを判定する。走行モードがエコモードである場合、又は、走行モードがノーマルモードである場合には、制御フローはステップＳ５に進む。一方、走行モードがスポーツモードである場合には、制御フローはステップＳ１０に進む。すなわち、後述する惰性走行制御は、エコモード又はノーマルモードでは実行されるが、惰性走行制御はスポーツモードでは実行されない。
【００３２】
ステップＳ５にて、車両コントローラ１０は、演算された要求トルクとトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）を比較し、その比較結果に基づき惰性走行制御を実行するか否かを判定する。車両コントローラ１０は、要求トルクが領域Ａで示されるトルク範囲内にあるか否かを判定する。領域Ａは、駆動力マップ上で、トルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）で囲われる範囲である。要求トルクが領域Ａの範囲内にある場合には、車両コントローラ１０は、惰性走行制御を実行すると判定する。制御フローはステップＳ６に進む。一方、要求トルクが領域Ａの範囲外にある場合には、車両コントローラ１０は、惰性走行制御を実行しないと判定する。制御フローはステップＳ１１に進む。
【００３３】
要求トルクが領域Ａの範囲内にあるか否かの判定は、以下のように、要求トルクとトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）との比較により行われる。演算された要求トルクが力行側のトルクであり、当該要求トルクがトルク閾値（Ｔ１＿ＯＮ）より小さい場合には、車両コントローラ１０は惰性走行制御を実行すると判定する。演算された要求トルクが力行側のトルクであり、当該要求トルクがトルク閾値（Ｔ１＿ＯＮ）以上である場合には、車両コントローラ１０は、惰性走行制御を実行しないと判定する。演算された要求トルクが回生側のトルクであり、当該要求トルクがトルク閾値（Ｔ２＿ＯＮ）より小さい場合には、車両コントローラ１０は、惰性走行制御を実行すると判定する。演算された要求トルクが回生側のトルクであり、当該要求トルクがトルク閾値（Ｔ２＿ＯＮ）以上である場合には、車両コントローラ１０は、惰性走行制御を実行しないと判定する。なお、図２に示すように、回生側の要求トルクをマイナスで表す際には、トルク閾値（Ｔ２＿ＯＮ）はマイナスのトルク値に設定され、要求トルク＞トルク閾値（Ｔ２＿ＯＮ）を満たす場合に、車両コントローラ１０は、惰性走行制御を実行すると判定する。
【００３４】
ステップＳ６にて、車両コントローラ１０は惰性走行制御を実行する。惰性走行制御では、ドライバからの要求トルクが領域Ａ内にある場合に、制御用の要求トルクをゼロに設定し、設定された要求トルクが発電機３の発生トルクとなるように発電機３を制御する。すなわち、要求トルクがトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）より小さい場合には、車両コントローラ１０は、発電機３の制御に用いる要求トルク（トルク指令値に相当）を、ドライバからの実際の要求よりも低くして、発電機３を制御している。
【００３５】
要求トルクが小さいときに、ドライバからの要求どおりのトルクを発電機３が発生させた場合には、インバータ５等の電気系の消費電力が発電機３の駆動電力よりも相対的に大きくなってしまう。すなわち、ドライバからの要求どおりに、発電機３を駆動させた場合には、運転効率が低くなる。また、要求トルクの小さい状態で走行時間が累積すると、効率の低い状態の運転時間が長くなることになり、その結果として、車両の航続距離の低下の原因にもなる。
【００３６】
本実施形態におけるトルク制御装置は、ドライバからの要求トルクが領域Ａ内にある場合に、制御用の要求トルクをゼロに設定し、設定された要求トルクが発電機３の発生トルクとなるように発電機３を制御する。そのため、発電機３の発生トルクは、ドライバからの要求どおりのトルクよりも低くなるため、発電機３が効率の低い状態で駆動することを防ぎ、運転効率を高めることができる。
【００３７】
ステップＳ７にて、車両コントローラ１０は、アクセル開度及び車速を検出する。ステップＳ８にて、車両コントローラ１０は要求トルクを演算する。ステップＳ７及びステップＳ８の制御フローは、ステップＳ１及びステップＳ３と同様の制御フローである。すなわち、車両コントローラ１０は、惰性走行制御中も、アクセル開度及び車速を検出し、ドライバからの要求トルクを演算する。
【００３８】
ステップＳ９にて、車両コントローラ１０は、演算された要求トルクとトルク閾値（Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）を比較し、その比較結果に基づき惰性走行制御を解除するか否かを判定する。車両コントローラ１０は、要求トルクが領域Ｂで示されるトルク範囲内にあるか否かを判定する。領域Ｂは、駆動力マップ上で、トルク閾値（Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）で囲われる範囲である。要求トルクが領域Ｂの範囲内にある場合には、車両コントローラ１０は、惰性走行制御を継続すると判定する。制御フローは、ステップＳ６に戻る。一方、要求トルクが領域Ｂの範囲外にある場合には、車両コントローラ１０は、惰性走行制御を解除すると判定する。制御フローは、ステップＳ１１に進む。
【００３９】
要求トルクが領域Ｂの範囲内にあるか否かの判定は、以下のように、要求トルクとトルク閾値（Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）との比較により行われる。演算された要求トルクが力行側のトルクであり、当該要求トルクがトルク閾値（Ｔ１＿ＯＦＦ）より小さい場合には、車両コントローラ１０は惰性走行制御を解除しないと判定する。演算された要求トルクが力行側のトルクであり、当該要求トルクがトルク閾値（Ｔ１＿ＯＦＦ）以上である場合には、車両コントローラ１０は、惰性走行制御を解除すると判定する。演算された要求トルクが回生側のトルクであり、当該要求トルクがトルク閾値（Ｔ２＿ＯＦＦ）より小さい場合には、車両コントローラ１０は、惰性走行制御を解除しないと判定する。演算された要求トルクが回生側のトルクであり、当該要求トルクがトルク閾値（Ｔ２＿ＯＦＦ）以上である場合には、車両コントローラ１０は、惰性走行制御を解除すると判定する。なお、図２に示すように、回生側の要求トルクをマイナスで表す際には、トルク閾値（Ｔ２＿ＯＦＦ）はマイナスのトルク値に設定され、要求トルク＞トルク閾値（Ｔ２＿ＯＦＦ）を満たす場合に、車両コントローラ１０は、惰性走行制御を解除すると判定する。
【００４０】
ステップＳ５において、惰性走行制御を実行しないと判定された場合には、ステップＳ１１にて、車両コントローラ１０は、通常制御を実行する。通常制御では、車両コントローラ１０は、駆動力マップ上で演算された要求トルクが発電機３の発生トルクとなるように、発電機３を制御する。
【００４１】
ステップＳ１１にて、車両コントローラ１０は、メインスイッチがオフ状態であるか否かを判定する。メインスイッチがＯＮ状態である場合には、制御フローはステップＳ１に戻る。メインスイッチがＯＦＦ状態である場合には、制御フローは終了する。
【００４２】
要求トルクと惰性走行制御との関係について、図４を用いて説明する。図４は、図２に示す駆動力マップのうち、領域Ａの周辺部分を示したグラフである。
【００４３】
図４に示すように、車両の車速が大きいほど、力行側のトルク閾値（Ｔ１＿ＯＮ）は大きくなる。一方、回生側のトルク閾値（Ｔ２＿ＯＮ）は、車速の大きさに関わらず、ほぼ一定値である。すなわち、領域Ａ内の任意の車速（Ｖａ１、Ｖａ２、Ｖａ３：ただし、Ｖａ１＜Ｖａ２＜Ｖａ３とする）におけるトルク差をΔＴｒ１、ΔＴｒ２、ΔＴｒ３とした場合に、各トルク差（ΔＴｒ１、ΔＴｒ２、ΔＴｒ３）は、ΔＴｒ３が最も大きくなり、ΔＴｒ１が最も小さくなる。トルク差（ΔＴｒ１、ΔＴｒ２、ΔＴｒ３）は、ある車速に対して、惰性走行制御を実行する範囲を示している。すなわち、車速が大きいほど、惰性走行制御の実行範囲は広くなる。
【００４４】
モータ回転数が小さい場合と比較して、モータ回転数が大きい場合には、インバータ５等の電気系の消費電力が、発電機３を駆動させるために必要な消費電力に対して大きくなってしまう。一般的に、モータ回転数が大きい場合には、発電機３で発生する逆起電力を抑制するために、インバータ５は、弱め界磁制御方式で制御される。しかしながら、弱め界磁制御方式でインバータを制御した場合には、通常のインバータ制御よりも、インバータの消費電力が大きくなる。本実施形態では、車速が大きいほど、惰性走行制御の実行範囲が広くなるように、トルク閾値が設定されている。モータ回転数の大きい状態で、ドライバからの要求トルクが小さい場合には、惰性走行制御が実行されるため、発電機３が高回転下でトルクを出力させるような駆動制御を回避できる。その結果として、発電機３の非効率な駆動を抑制できる。
【００４５】
また、回生側のトルク閾値（Ｔ２＿ＯＮ）は、車速の大きさに関わらず、ほぼ一定値に設定されている。本実施形態とは異なり、回生側のトルク閾値（Ｔ２＿ＯＮ）が車速の大きさに応じて変化した場合には、回生トルクが車速に応じて変わることになるため、車両の減速度が車速に応じて変わってしまう。すなわち、車両が高速で走行しているときにアクセル開度がゼロになった場合の減速度と、車両が低速で走行しているときにアクセル開度がゼロになった場合の減速度が異なってしまう。そして、減速度が異なることで、ドライバは、現在の車両状態に対して、減速度がどの程度の大きさになるのか予測できず、運転し難い状態になってしまう。本実施形態では、回生側のトルク閾値（Ｔ２＿ＯＮ）を車速の大きさに関わらず一定値に設定されているため、ドライバへの違和感を抑制できる。
【００４６】
また、図４に示すように、領域Ａは、車速が少なくとも下限値ＶＬ以上となる範囲に設定されている。すなわち、車速が下限値ＶＬ以上である場合には、惰性走行制御は、要求トルクの大きさに応じて実行される。一方、車速が下限値ＶＬ未満である場合には、惰性走行制御は、要求トルクの大きさとは関係なく実行されない。すなわち、車速が下限値ＶＬ未満となるような運転領域では、例えば駐車スペースに駐車を止める場合など、小さなトルクが要求されるようなシーンが多くなる。そのため、本実施形態において、車両コントローラ１０は、モータ回転数が所定の回転数閾値より小さい場合には、惰性走行制御を実行しない。これにより、小さなトルクが要求されるような走行シーンにおいて、ドライバからの要求どおりのトルクを出力することができる。なお、所定の回転数閾値は、車速の下限値（ＶＬ）に対応する閾値である。
【００４７】
また図２に示すように、トルク閾値（Ｔ１＿ＯＦＦ）はトルク閾値（Ｔ１＿ＯＮ）より大きい値に設定されている。またトルク閾値（Ｔ２＿ＯＦＦ）はトルク閾値（Ｔ２＿ＯＮ）より大きい値（マイナス側に大きい値）に設定されている。これにより、通常制御と惰性走行制御との間で、制御モードが頻繁に切り換える現象（ハンチング）を防止できる。
【００４８】
また図２に示すように、トルク閾値（Ｔ１＿ＯＮ）は、走行抵抗線（Ｒ／Ｌ線）の特性で示されるトルクよりも低い値に設定されている。走行抵抗線（Ｒ／Ｌ線）の特性で示されるトルクは一定の車速を保つために必要なトルクである。例えば、図２に示すマップにおいて、車両が止まっている状態から、ドライバがアクセルを踏み込み、アクセル開度２０パーセントで車両が加速したとする。アクセル開度２０パーセントの状態を維持しつつ車速が上がると、要求トルクは、駆動力マップでアクセル開度２０パーセントのグラフに沿って下がる。そして、要求トルクが交点Ｑに到達すると、駆動力と走行抵抗が釣り合った状態となり、車速が一定の速度（Ｖｑ）になる。交点Ｑは、アクセル開度２０パーセントのグラフと走行抵抗線（Ｒ／Ｌ線）との交わる点である。速度Ｖｑに対応するトルク閾値（Ｔ１＿ＯＮ）は、交点Ｑで示されるトルクよりも低い値に設定されている。また、速度Ｖｑに限らず他の速度においても、トルク閾値（Ｔ１＿ＯＮ）は走行抵抗線（Ｒ／Ｌ線）の特性で示されるトルクよりも低い値に設定されている。
【００４９】
車速を上げたい場合には、車両コントローラ１０は通常制御を実行することになり、制御用の要求トルクは、ドライバからの要求トルク（加速要求時のトルク）と一致する。一方、要求トルクを小さくすることで、車速を下げたい場合には、車両コントローラ１０は惰性走行制御を実行することになり、制御用の要求トルクはゼロに設定される。これにより、ドライバからの加速要求に答えつつ、要求トルクを小さくして車速を下げたい場合には、発電機３が効率の低い状態で駆動することを防ぎ、運転効率を高めることができる。
【００５０】
次に、図５を用いて、実際の車両操作例を挙げつつ、通常制御と惰性走行制御との間の切り換わり方について説明する。図５は、図２に示す駆動力マップのうち、領域Ａの周辺部分を示したグラフである。なお、説明を容易にするために、トルク閾値（Ｔ１＿ＯＮ）とトルク閾値（Ｔ１＿ＯＦＦ）を同じ値とする。なお、図５に示す「Ｓ１」〜「Ｓ５」は、以下の説明におけるステップＳ１〜ステップＳ５にそれぞれ対応している。
【００５１】
ステップＳ１にて、車両が止まっている状態から、ブレーキペダルがオフ状態になると、クリープ走行が開始する。
【００５２】
ステップＳ２にて、ドライバがアクセルペダルを踏み込み、アクセル開度３０パーセントの状態で加速が開始する。
【００５３】
ステップＳ３にて、アクセルペダルが踏み込まれて、余裕駆動力が発生することで加速が継続する。駆動力と走行抵抗が釣り合うと、車速が一定の速度になる。
【００５４】
ステップＳ４にて、駆動力と走行抵抗がつりあった状態から、ドライバからの減速要求として、ドライバがアクセルを少し緩めアクセル開度が３０パーセントから２０パーセントに変化する。このアクセルを緩めるタイミング（アクセルリリースタイミング）で、ドライバからの要求トルクがトルク閾値（Ｔ１＿ＯＮ）より小さくなるため、発電機３の制御モードは、通常制御から惰性走行制御に切り換わる。そして、惰性走行制御の開始により、制御用の要求トルクはゼロに設定される。
【００５５】
ステップＳ５にて、アクセル開度が２０パーセントで維持されると、駆動力マップ上で演算される要求トルクは、トルク閾値（Ｔ１＿ＯＦＦ）以上になるため、発電機３の制御モードは、惰性走行制御から通常制御に切り換わる。また、要求トルクは、アクセル開度２０パーセント上のグラフに沿って変化し、駆動力と走行抵抗が釣り合うと、車速が一定の速度になる。
【００５６】
上記のように、制御モードが通常制御から惰性走行制御に切り換わると、制御用の要求トルクは、駆動力マップ上で演算されたトルク値からゼロに変化する。このとき、制御用の要求トルクを不連続に変化させた場合には、駆動力（回生時は制動力）の変化が大きくなるため、ドライバに対して違和感を与える可能性がある。そこで、本実施形態では、このような違和感を防ぐためにトルクレイトリミッタを設定している。
【００５７】
以下、トルクレイトリミッタについて、図６及び図７を用いて説明する。図６及び図７は、惰性走行制御のオン、オフのタイムチャート及びトルク特性を示すグラフである。図６は力行側の特性を示し、図７は回生側の特性を示す。図６、７において、グラフаは、駆動力マップを用いて演算された要求トルクを示し、グラフｂは、制御用の要求トルクを示す。なお、グラフаで示すトルク変化はアクセル操作に対応している。
【００５８】
時間０から時間ｔ１の間で、要求トルクはアクセル操作によってトルク閾値（Ｔ１＿ＯＮ）より大きい領域で変化しているため、発電機３の制御モードは通常制御となる。
【００５９】
車両走行中、時間ｔ１で、ドライバがアクセルを緩める操作をすると、要求トルクが下がる。発電機３の駆動力は、ドライバからの要求トルクと一致するように、下がる。
【００６０】
時間ｔ２で、ドライバからの要求トルクがトルク閾値（Ｔ１＿ＯＮ）より小さくなり、発電機３の制御モードが通常制御から惰性走行制御に切り換わる。このとき、駆動力がゼロになるように発電機３を制御すると、急激なトルク変動が発生するため、ドライバに対して違和感（運転性への跳ね返り）を与えることになる。そのため、時間ｔ２から時間ｔ３の間で、トルクレイトリミッタを有効にして、トルク変化量を抑えている。
【００６１】
時間ｔ２から時間ｔ３の間で、車両コントローラ１０は、アクセル開度の変化量を演算し、演算されたアクセル開度の変化量に応じて、トルクの変化量を設定する。トルクの変化量は、時間ｔ２における制御用の要求トルクがゼロに変化するまでの変化量である。車両コントローラ１０は、アクセル開度の変化量（アクセル操作量に相当）が大きいほど、トルク変化量が大きくなるように、トルク変化量を演算する。車両コントローラ１０は、制御用の要求トルクが演算されたトルク変化量で変化するように、制御用の要求トルクを補正し、モータコントローラ７に出力する。これにより、トルクの変化量が大きいほどトルク変化時間は短くなり、トルクの変化量が小さいほどトルク変化時間は長くなる。トルク変化時間は、駆動力が駆動力マップ上の要求トルクの値からゼロに変化するまでの時間であって、図６及び図７に示す時間ｔ２から時間ｔ３までの時間である。
【００６２】
時間ｔ３で、制御用トルクがトルク閾値（ＴＬ１＿ＯＦＦ）より小さくなると、車両コントローラ１０は、トルクレイトリミッタを解除する。トルク閾値（ＴＬ１＿ＯＦＦ）は、トルクレイトリミッタの無効領域の上限値を示している。トルクレイトリミッタの無効領域は、トルク変化に制限をかけることなく制御用トルクをゼロにする範囲を示している。無効領域は、ゼロトルクを含みつつ、上限値（ＴＬ１＿ＯＦＦ）と下限値（ＴＬ２＿ＯＦＦ）との間の範囲である。駆動力が０付近になった場合には、制御用トルクをゼロに変化させても、加速度の変化量が小さいため運転への影響は少ない。そのため、制御用トルクがトルク閾値（ＴＬ１＿ＯＦＦ）より小さい場合には、車両コントローラ１０は、トルク変化の制限を外して、制御用トルクをゼロにする。これにより、惰性走行時間を長くすることができる。惰性走行時間は、駆動力（又は制動力）がゼロになる時間であって、図６及び図７に示す時間ｔ３から時間ｔ４までの時間である。
【００６３】
ドライバからの要求トルクが大きくなり、時間ｔ４で、要求トルクがトルク閾値（Ｔ１＿ＯＦＦ）より大きくなると、発電機３の制御モードが惰性走行制御から通常制御に切り換わる。制御用トルクがトルク閾値（ＴＬ１＿ＯＦＦ）より大きくなると、車両コントローラ１０は、トルクレイトリミッタを有効にする。
【００６４】
時間ｔ４から時間ｔ５の間で、車両コントローラ１０は、アクセル開度の変化量を演算し、演算されたアクセル開度の変化量に応じてトルクの変化量を設定する。車両コントローラ１０は、制御用の要求トルクが設定されたトルク変化量で変化するように、制御用の要求トルクを補正し、モータコントローラ７に出力する。そして、時間ｔ５で、ドライバからの要求トルクと制御用の要求トルクが一致する。
【００６５】
時間ｔ４の前後におけるアクセル開度の変化量は、時間ｔ２の前後におけるアクセル開度の変化量よりも小さい。そのため、時間ｔ４から時間ｔ５の間に演算されたトルク変化量は、時間ｔ２から時間ｔ３の間に演算されたトルク変化量よりも小さい。アクセル操作量が小さい場合には、ドライバは小さなトルク変化に対して違和感をもつ。本実施形態では、このような違和感を防ぐために、トルク変化量を小さくして、トルク変化時間を長くする。
【００６６】
図６の例とは異なり、時間ｔ４の前後におけるアクセル開度の変化量が、時間ｔ２の前後におけるアクセル開度の変化量より大きい場合には、時間ｔ４から時間ｔ５の間に演算されたトルク変化量は、時間ｔ２から時間ｔ３の間に演算されたトルク変化量よりも大きい。アクセル操作量が大きい場合には、トルク変化に対して違和感をもちにくくなるため、トルク変化量を大きくして、トルク変化時間を短くする。これにより、トルク要求からトルク出力までの応答時間を短くし、アクセル操作に対して応答の遅れが発生しないように制御できる。
【００６７】
次に、図７を用いて、回生時のトルクレイトリミッタに説明する。
【００６８】
時間０から時間ｔ１の間で、要求トルクはトルク閾値（Ｔ２＿ＯＮ）より大きい領域で変化しているため、発電機３の制御モードは通常制御となる。時間ｔ１で、回生側の要求トルクが下がる。
【００６９】
時間ｔ２で、ドライバからの要求トルクがトルク閾値（Ｔ２＿ＯＮ）より小さくなり、発電機３の制御モードが通常制御から惰性走行制御に切り換わる。このとき、上述した力行側と同様に、車両コントローラ１０は、トルクレイトリミッタを有効にして、制御用の要求トルクを演算する。
【００７０】
時間ｔ２から時間ｔ３の間で、車両コントローラ１０は、アクセル開度の変化量を演算し、演算されたアクセル開度の変化量に応じて、トルクの変化量を設定する。車両コントローラ１０は、制御用の要求トルクが設定されたトルク変化量で変化するように、制御用の要求トルクを補正し、モータコントローラ７に出力する。
【００７１】
回生側の要求トルクが大きくなり、時間ｔ４で、要求トルクがトルク閾値（Ｔ２＿ＯＦＦ）より大きくなると、発電機３の制御モードが惰性走行制御から通常制御に切り換わる。制御用トルクがトルク閾値（ＴＬ２＿ＯＦＦ）より高くなると、車両コントローラ１０は、トルクレイトリミッタを有効にする。
【００７２】
時間ｔ４から時間ｔ５の間で、車両コントローラ１０は、アクセル開度の変化量を演算し、演算されたアクセル開度の変化量に応じてトルクの変化量を設定する。車両コントローラ１０は、制御用の要求トルクが設定されたトルク変化量で変化するように、制御用の要求トルクを演算し、モータコントローラ７に出力する。そして、時間ｔ５で、ドライバからの要求トルクと制御用の要求トルクが一致する。
【００７３】
本実施形態では、エネルギー消費率を向上させるために、走行モードに応じて、トルク閾値（Ｔ１＿ＯＮ、Ｔ１＿ＯＦＦ、Ｔ２＿ＯＮ、Ｔ２＿ＯＦＦ）を切り換えている。以下、ノーマルモードにおけるトルク特性及びエコモードにおけるトルク特性を用いて、走行モードに応じたトルク閾値の切り換え制御を説明する。図８は、ノーマルモードにおけるトルク特性を示すグラフであり、図９は、ノーマルモードにおけるトルク特性と、エコモードにおけるトルク特性をそれぞれ示すグラフである。図８において、グラフаは、駆動力マップを用いて演算された要求トルクを示し、グラフｂは、制御用の要求トルクを示す。図９において、グラフаは、駆動力マップを用いて演算された要求トルクを示し、グラフｂｎは、ノーマルモード時の制御用の要求トルクを示し、グラフｂｅは、エコモード時の制御用の要求トルクを示す。
【００７４】
メモリ１１には、少なくとも２種類のトルク閾値（Ｔ１＿ＯＮ）が記憶されている。また、少なくとも２種類のトルク閾値（Ｔ１＿ＯＦＦ）、少なくとも２種類のトルク閾値（Ｔ２＿ＯＮ）、及び、少なくとも２種類のトルク閾値（Ｔ２＿ＯＦＦ）がそれぞれメモリ１１に記憶されている。２種類のトルク閾値のうち、一方のトルク閾値（Ｔ１ｎ＿ＯＮ、Ｔ１ｎ＿ＯＦＦ、Ｔ２ｎ＿ＯＮ、Ｔ２ｎ＿ＯＦＦ）が、ノーマルモード時に選択される閾値である。２種類のトルク閾値のうち、他方のトルク閾値（Ｔ１ｅ＿ＯＮ、Ｔ１ｅ＿ＯＦＦ、Ｔ２ｅ＿ＯＮ、Ｔ２ｅ＿ＯＦＦ）が、エコモード時に選択される閾値である。トルク閾値（Ｔ１ｅ＿ＯＮ）はトルク閾値（Ｔ１ｎ＿ＯＮ）より大きく、トルク閾値（Ｔ１ｅ＿ＯＦＦ）はトルク閾値（Ｔ１ｎ＿ＯＦＦ）より大きい。また、トルク閾値（Ｔ２ｅ＿ＯＮ）は、トルク閾値（Ｔ２ｎ＿ＯＮ）より大きく、トルク閾値（Ｔ２ｅ＿ＯＦＦ）は、トルク閾値（Ｔ２ｎ＿ＯＦＦ）より大きい。
【００７５】
走行モードがノーマルモードである場合には、車両コントローラ１０は、ノーマルモード用のトルク閾値（Ｔ１ｎ＿ＯＮ、Ｔ１ｎ＿ＯＦＦ、Ｔ２ｎ＿ＯＮ、Ｔ２ｎ＿ＯＦＦ）を選択する。走行モードがエコモードである場合には、車両コントローラ１０は、エコモード用のトルク閾値（Ｔ１ｅ＿ＯＮ、Ｔ１ｅ＿ＯＦＦ、Ｔ２ｅ＿ＯＮ、Ｔ２ｅ＿ＯＦＦ）を選択する。
【００７６】
走行モードがノーマルモードであるときに、アクセル操作によりドライバからの要求トルクが、図８のグラフаのような特性で推移したとする。
【００７７】
時間ｔ１ｎで、ドライバからの要求トルクがトルク閾値（Ｔ１ｎ＿ＯＮ）より小さくなると、車両コントローラ１０は、発電機３の制御モードを、通常モードから惰性走行制御に切り換える。
【００７８】
時間ｔ２ｎで、制御用の要求トルクがトルク閾値（ＴＬ１＿ＯＦＦ）より小さくなると、車両コントローラ１０は、トルクレイトリミットを解除する。
【００７９】
時間ｔ３ｎで、ドライバからの要求トルクがトルク閾値（Ｔ２ｎ＿ＯＦＦ）より大きくなると、車両コントローラ１０は、トルクレイトリミットを有効にして、発電機３の制御モードを、惰性走行制御から通常制御に切り換える。
【００８０】
時間ｔ４ｎで、ドライバからの要求トルクがトルク閾値（Ｔ２ｎ＿ＯＮ）より小さくなると、車両コントローラ１０は、発電機３の制御モードを、通常制御から惰性走行制御に切り換える。
【００８１】
時間ｔ５ｎで、制御用の要求トルクがトルク閾値（ＴＬ２＿ＯＦＦ）より小さくなると、車両コントローラ１０は、トルクレイトリミットを解除する。
【００８２】
時間ｔ６ｎで、ドライバからの要求トルクがトルク閾値（Ｔ１ｎ＿ＯＦＦ）より大きくなると、車両コントローラ１０は、トルクレイトリミットを有効にして、発電機３の制御モードを、惰性走行制御から通常制御に切り換える。
【００８３】
ノーマルモード時の惰性走行時間は、図８に示す時間ｔ２ｎから時間ｔ３ｎまでの時間と、図８に示す時間ｔ５ｎから時間ｔ６ｎまでの時間である。
【００８４】
次に、走行モードがエコモードであるときに、アクセル操作によりドライバからの要求トルクが、図９のグラフаのような特性で推移したとする。図９のグラフаに示す、ドライバからの要求トルクの特性は、図８のグラフаに示す特性と同じである。
【００８５】
時間ｔ１ｅから時間ｔ６ｅまでの各時点での制御の内容は、時間ｔ１ｎから時間ｔ６ｎまでの各時点での制御の内容と同様である。一方、選択されるトルク閾値が、エコモードとノーマルモードとの間で異なるため、発電機３の制御モードを切り替えるタイミングが異なる。
【００８６】
エコモード時のトルク閾値（Ｔ１ｅ＿ＯＮ）はノーマルモード時のトルク閾値（Ｔ１ｎ＿ＯＮ）より大きい。そのため、力行において、エコモード時に通常制御から惰性走行制御に切り換えるタイミング（時間ｔ１ｅ）は、ノーマルモード時に通常制御から惰性走行制御に切り換えるタイミング（時間ｔ１ｎ）よりも早くなる。
【００８７】
エコモード時のトルク閾値（Ｔ２ｅ＿ＯＦＦ）はノーマルモード時のトルク閾値（Ｔ２ｎ＿ＯＦＦ）より大きい。そのため、回生において、エコモード時に惰性走行制御から通常制御に切り換えるタイミング（時間ｔ３ｅ）は、ノーマルモード時に惰性走行制御から通常制御に切り換えるタイミング（時間ｔ３ｎ）よりも遅くなる。これにより、力行から回生に切り換わる際に、エコモード時の惰性走行時間はノーマルモードよりも長くなる。
【００８８】
また、エコモード時のトルク閾値（Ｔ２ｅ＿ＯＮ）はノーマルモード時のトルク閾値（Ｔ２ｎ＿ＯＮ）より大きい。そのため、回生において、エコモード時に通常制御から惰性走行制御に切り換えるタイミング（時間ｔ４ｅ）は、ノーマルモード時に通常制御から惰性走行制御に切り換えるタイミング（時間ｔ４ｎ）よりも早くなる。
【００８９】
エコモード時のトルク閾値（Ｔ１ｅ＿ＯＦＦ）はノーマルモード時のトルク閾値（Ｔ１ｎ＿ＯＦＦ）より大きい。そのため、力行において、エコモード時に惰性走行制御から通常制御に切り換えるタイミング（時間ｔ６ｅ）は、ノーマルモード時に惰性走行制御から通常制御に切り換えるタイミング（時間ｔ６ｎ）よりも遅くなる。これにより、回生から力行に切り換わる際に、エコモード時の惰性走行時間はノーマルモードよりも長くなる。
【００９０】
なお、スポーツモードが選択されている場合には、加速操作性が重視されるため、車両コントローラ１０は、惰性走行制御を禁止する。
【００９１】
上記のように、本実施形態では、アクセル開度センサ９を用いてドライバからの速度制御の要求を検出し、車両の状態と検出された要求に基づき要求トルクを演算し、当該要求トルクに基づき発電機３で発生するトルクを制御する。演算された要求トルクがトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）より小さい場合には、要求トルクをゼロに設定し、設定された要求トルクに基づき発電機３を制御する。ドライバからの要求どおりに発電機３を駆動させると、運転効率がよくない駆動領域では、制御用の要求トルクをゼロとして惰性走行制御を行う。これにより、発電機３の非効率な駆動を抑制することができるため、車両の運転効率を高めることができる。
【００９２】
また本実施形態では、発電機３の回転数が所定値より大きい場合のトルク閾値（Ｔ１＿ＯＮ）は発電機３の回転数が当該所定値より小さい場合のトルク閾値（Ｔ１＿ＯＮ）より大きい。発電機３の回転数が大きいときには、発電機３の回転数が小さいときと比較して、運転効率が悪い。そのため、高回転側のトルク閾値（Ｔ１＿ＯＮ）を低回転側の（Ｔ１＿ＯＮ）よりも大きくして、惰性走行制御を実行する範囲を高回転側で広げることで、発電機３の非効率な駆動を抑制することができる。
【００９３】
ここで、発電機３の損失及び効率について、図１０及び図１１を用いて説明する。図１０は、発電機３の回転数に対する損失電力の特性を示すグラフである。図１１は、発電機３の回転数に対する効率の特性を示すグラフである。図１０及び図１１の各グラフは、一定の駆動トルクの大きさに応じて異なる特性を示している。
【００９４】
図１０に示すように、発電機３を一定のキャリア周波数で駆動させた場合に、損失電力は回転数及び駆動トルクにそれぞれ比例して上昇する。発電機３の損失は、主に銅損、鉄損、及び機械損失を加えたものである。銅損は、コイルの巻き線に使われる銅線の電気抵抗（巻き線抵抗）により起因する損失である。鉄損は、コイル鉄心に起因する損失であり、主にヒステリシス損失と渦電流損失を加えたものである。機械損失は、摩擦による損失と空気抵抗による損失である。摩擦は、発電機３の回転により軸受け部で発生する。空気抵抗は、回転子の軸受けで発生する空気抵抗と、回転子の回転により発生する空気抵抗である。
【００９５】
トルクを一定にした場合に、損失電力は、発電機３の回転数に対して２次曲線の軌跡で増加する。一方、トルクを一定にした場合に、発電機３の駆動出力は、発電機３の回転数に対して比例して増加する。そのため、トルクを一定にして、回転数が大きいほど、駆動出力の増加分に比べて、損失電力の増加分が大きくなる。
【００９６】
すなわち、図１１に示すように、発電機３の駆動状態が、高速（高回転数又は高車速）かつ低トルクである場合に、効率が悪い状態になる。また、発電機３の回転数が中速から高速の領域になると、発電機３で逆起電力が発生する。そして、この逆起電力を抑えつつトルクを出力するためには、弱め界磁制御が必要なり、弱め界磁制御による損失も、効率低下の原因となる。
【００９７】
本実施形態では、上記のとおり高回転側のトルク閾値（Ｔ１＿ＯＮ）を低回転側のトルク閾値（Ｔ１＿ＯＮ）より大きい値にする。すなわち、発電機３の運転領域において、惰性走行制御の実行範囲が、低トルク及び高回転で広くなるように、トルク閾値が設定されている。これにより、発電機３が効率の悪い状態になっている時間を短くすることができ、発電機３の駆動効率を向上できる。
【００９８】
また本実施形態では、発電機３の回転数が所定の回転数閾値より大きい場合に惰性走行制御を実行し、発電機３の回転数が当該所定の回転数閾値より小さい場合に惰性走行制御を実行しない。所定の回転数閾値は、図４に示す下限値（ＶＬ）を回転数に変換した値である。すなわち、回転数閾値より小さい運転領域では、ドライバからの要求トルクが小さい場合に、要求トルクどおりのトルクを発電機３で発生できる。これにより、小さなトルクが要求されやすい走行シーンにおいて、ドライバが要求するトルクを発電機３から出力できる。
【００９９】
また本実施形態では、要求トルクがトルク閾値（Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）より小さい状態からトルク閾値（Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）より大きい状態に変化した場合のトルク変化率を、要求トルクの大きさに応じて設定する。本実施形態では、要求トルクがトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）より大きい状態からトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）より小さい状態に変化した場合のトルク変化率を、要求トルクの大きさに応じて設定する。すなわち、制御モードが惰性走行制御と通常制御との間で切り換える際に、ドライバからの要求トルクの大きさに応じてトルク変化率を設定する。要求トルクが小さい場合には、制御モードの変更に伴うトルク変化を抑制することができる。そのため、トルクの急変を抑制し、ドライバに対して自然な乗り心地を提供できる。また、要求トルクが大きい場合には、制御モードの変更時に、要求トルクの変動に対して高い応答性で、発電機３の発生トルクを変動させる。これにより、アクセル操作に対して応答の遅れが発生しないように制御することができる。
【０１００】
また本実施形態では、複数の走行モードの中から走行モードを選択し、複数の前記トルク閾値の中から選択された走行モードに応じてトルク閾値を選択し、要求トルクが選択されたトルク閾値より小さい場合に、惰性走行制御を実行する。これにより、エネルギー消費率の異なる走行モードに対応しつつ、走行モードに合わせたトルク閾値を設定できるため、車両の運転効率を高めることができる。
【０１０１】
なお、本実施形態に変形例として、制御モードのハンチングを防ぐために、要求トルクが惰性走行制御の実行範囲内にある状態が一定時間以上継続した場合に、通常制御を惰性走行制御に切り換えてもよい。具体的には、車両コントローラ１０は、駆動マップを用いて、ドライバからの要求トルクを演算し、演算された要求トルクがトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）より小さくなった時に、時間を計測する。車両コントローラ１０は、演算された要求トルクがトルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）より小さい状態が継続している場合には、計測を続ける。車両コントローラ１０は、計測された時間が所定の時間閾値以上である場合に、惰性走行制御を実行する。これにより、惰性走行制御によって制御用の要求トルクを補正すべき走行シーンを正確に把握しつつ、ハンチングを防止できる。なお、上記のような時間によりハンチングを防ぐ制御を行う場合に、トルク閾値（Ｔ１＿ＯＮ、Ｔ２＿ＯＮ）とトルク閾値（Ｔ１＿ＯＦＦ、Ｔ２＿ＯＦＦ）は同じ値でもよく、異なる値でもよい。
【符号の説明】
【０１０２】
１…駆動輪
２…ディファレンシャルギア
３…発電機（ＭＧ：モータ）
４…回転数センサ
５…インバータ
６…バッテリ
７…モータコントローラ
８…バッテリコントローラ
９…アクセル開度センサ
１０…車両コントローラ
１１…メモリ
【図１】
0006690712.tif 000002
【図２】
0006690712.tif 000003
【図３】
0006690712.tif 000004
【図４】
0006690712.tif 000005
【図５】
0006690712.tif 000006
【図６】
0006690712.tif 000007
【図７】
0006690712.tif 000008
【図８】
0006690712.tif 000009
【図９】
0006690712.tif 000010
【図１０】
0006690712.tif 000011
【図１１】
0006690712.tif 000012