(57)【特許請求の範囲】
【請求項１】
エンジンと、
前記エンジンにより駆動され、車両駆動用の電力を生成する発電機と、
前記発電機による発電電力を充電により蓄えるバッテリと、
前記バッテリの放電による駆動電力により駆動する駆動機と、
前記発電機が発電した実発電電力を過不足なく前記駆動機の駆動電力として消費するように、駆動要求に応じて発電電力を制御するダイレクト配電制御手段と、
前記ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに駆動回転数の符号が反転したとき、前記駆動機を回生させる制御を行うとともに、前記発電機を力行させる制御を行う車両ずり下がり対応制御手段と、を備え、
前記車両ずり下がり対応制御手段は、車両ずり下がりが判定されると、車両ずり下がり対応制御として、前記エンジンの燃料噴射をカットした上、要求発電（放電）電力に対応するフリクショントルクを算出し、前記発電機に対しては、燃料カット時のエンジンフリクションとエンジントルクの応答性を考慮したエンジントルク推定値に基づいて前記発電機により前記エンジンを駆動する力行指令値を出力し、前記駆動機に対しては、前記発電機への力行指令値を、負の値にした回生指令値を出力する
ことを特徴とするハイブリッド車両の制御装置。
【請求項２】
請求項１に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、前記発電機により前記エンジンを駆動させる力行動作において、目標放電電力を発電機回転速度で割った値を目標トルクとするトルク制御を行う
ことを特徴とするハイブリッド車両の制御装置。
【請求項３】
請求項２に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、前記発電機へ指令するトルク指令値の大きさを、前記エンジントルク推定値よりも大きな値に設定する
ことを特徴とするハイブリッド車両の制御装置。
【請求項４】
請求項２または請求項３に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、発電機トルク指令値に、発電機トルクの応答遅れを補償する位相進み補償を施す
ことを特徴とするハイブリッド車両の制御装置。
【請求項５】
請求項１に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、前記発電機により前記エンジンを駆動させる力行動作を前記発電機の回転数制御で行い、前記発電機の回転数指令値を、発電指令から力行指令に切り替わった時に、発電機トルクをフリーにした場合に生ずるエンジントルクの応答遅れによって上昇するエンジン回転数よりも大きな値とする
ことを特徴とするハイブリッド車両の制御装置。
【請求項６】
請求項５に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、エンジントルクの応答遅れにより上昇するエンジン回転数の計算に、エンジントルク指令値に燃料カット時のフリクションを考慮した値を用いる
ことを特徴とするハイブリッド車両の制御装置。
【請求項７】
請求項５または請求項６に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、前記発電機回転数指令値を、発電指令から力行指令に切り替わる際にエンジン回転数指令値が大きくなる場合、切り替え後のエンジン回転数指令値に、エンジントルクの応答遅れにより上昇するエンジン回転数を加えた値とし、発電指令から力行指令に切り替わる際にエンジン回転数指令値が小さくなる場合、切り替え前のエンジン回転数指令値に、エンジントルクの応答遅れにより上昇するエンジン回転数を加えた値とする
ことを特徴とするハイブリッド車両の制御装置。
【請求項８】
請求項１に記載されたハイブリッド車両の制御装置において、
前記車両ずり下がり対応制御手段は、前記ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに駆動回転数の符号が反転したとき、エンジントルクの値が正である間、前記発電機の回生をやめる
ことを特徴とするハイブリッド車両の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンにより駆動される発電機と、駆動輪を駆動する駆動機と、を備えるハイブリッド車両の制御装置に関する。
【背景技術】
【０００２】
従来、ハイブリッド車両の制御装置としては、発電電力指令値が変化した時、発電機の回転数指令値にエンジン応答分だけの遅れを持たせることで、発電電力の応答をエンジン出力の応答に一致させるものが知られている(例えば、特許文献１参照)。また、車両の加速に用いる駆動出力を、発電された発電電力に応じて制限するものが知られている(例えば、特許文献２参照)。これらの従来装置にあっては、登坂シーンにおいて車両のずり下がりが判定されたとき、回生制動力によるずり下がり抑制を狙って、駆動モータを回生状態にさせる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−６５８１３号公報
【特許文献２】特開２００１−２９２５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来装置において、バッテリの入出力電力制限に伴って発電電力を過不足なく駆動電力として消費するダイレクト配電制御が行われているとき、車両のずり下がりが判定されると、バッテリ入出力可能電力を超える分を発電機で放電する必要がある。このため、発電機に対して発電指令（発電電力指令値が正）から放電指令（発電電力指令値が負）に切り替える制御が行われる。しかし、エンジンの応答遅れにより、放電指令に変更しても、しばらくの間は放電状態に移行せず、エンジンにより発電機が回される発電状態が継続する。
【０００５】
その結果、バッテリへの入出力電力が制限されているにもかかわらず、発電機の発電電力と駆動モータの回生電力がバッテリ充電電力となり、バッテリが過充電されてしまう、という問題があった。そこで、バッテリの過充電を防止するために、バッテリへの入出力電力の制限を厳しくすると、発電機により発電状態が継続している間、駆動モータを力行にせざるを得ず、車両のずり下がりを抑制できない、という問題があった。
【０００６】
本発明は、上記問題に着目してなされたもので、登坂シーンで車両がずり下がる際、バッテリの過充電を防止しつつ、回生による車両のずり下がりを抑制することができるハイブリッド車両の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のハイブリッド車両の制御装置は、エンジンと、発電機と、バッテリと、駆動機と、ダイレクト配電制御手段と、車両ずり下がり対応制御手段と、を備える手段とした。
前記発電機は、前記エンジンにより駆動され、車両駆動用の電力を生成する。
前記バッテリは、前記発電機による発電電力を充電により蓄える。
前記駆動機は、前記バッテリの放電による駆動電力により駆動する。
前記ダイレクト配電制御手段は、前記発電機が発電した実発電電力を過不足なく前記駆動機の駆動電力として消費するように、駆動要求に応じて発電電力を制御する。
前記車両ずり下がり対応制御手段は、前記ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに駆動回転数の符号が反転したとき、前記駆動機を回生させる制御を行うとともに、前記発電機を力行させる制御を行う。
前記ダイレクト配電制御手段は、車両ずり下がりが判定されると、車両ずり下がり対応制御として、前記エンジンの燃料噴射をカットした上、要求発電（放電）電力に対応するフリクショントルクを算出し、前記発電機に対しては、燃料カット時のエンジンフリクションとエンジントルクの応答性を考慮したエンジントルク推定値に基づいて前記発電機により前記エンジンを駆動する力行指令値を出力し、前記駆動機に対しては、前記発電機への力行指令値を、負の値にした回生指令値を出力する。
【発明の効果】
【０００８】
ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに駆動回転数の符号が反転したとき、車両ずり下がり対応制御手段において、駆動機を回生させる制御が行われるとともに、発電機を力行させる制御が行われる。
すなわち、車両ずり下がり判定時、発電機の制御として、エンジンの応答遅れ影響により発電状態がしばらく継続する「放電指令」を出力する制御を行うのではなく、発電機によりエンジンを駆動することを意味する「力行」に入る制御を行うようにした。このため、車両のずり下がり判定されると、エンジンの応答遅れにかかわらず、発電機は直ちにバッテリ電力を消費する力行を開始する。したがって、車両のずり下がりを抑制するため、例えば、フルで駆動機の回生を行なった場合であっても、バッテリ電力の収支が成り立ち、バッテリの過充電が防止される。
この結果、登坂シーンで車両がずり下がる際、バッテリの過充電を防止しつつ、回生による車両のずり下がりを抑制することができる。
ダイレクト配電による発電制御中、車両ずり下がりが判定されると、車両ずり下がり対応制御として、エンジンの燃料噴射をカットした上、要求発電（放電）電力に対応するフリクショントルクが算出される。そして、発電機に対しては、燃料カット時のエンジンフリクションとエンジントルクの応答性を考慮したエンジントルク推定値に基づいて発電機によりエンジンを駆動する力行指令値が出力される。駆動機に対しては、発電機への力行指令値を、負の値にした回生指令値が出力される。したがって、車両ずり下がり対応制御において、ダイレクト配電制御を維持することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１の制御装置が適用されたシリーズハイブリッド車両(ハイブリッド車両の一例)の全体システムを示すシステム構成図である。
【図２】実施例１の制御装置におけるシステムコントローラにて実行される制御動作の流れを示すフローチャートである。
【図３】図２の制御動作のうち要求駆動電力演算処理を示す制御ブロック図である。
【図４】図２の制御動作のうち要求駆動電力演算処理で用いられるアクセル開度に対する駆動モータの回転数と駆動モータの出力トルクとの関係を示す目標駆動モータトルクマップ図である。
【図５】図２の制御動作のうち発電指令値演算処理で用いられるエンジン・発電機の回転数とエンジントルクの関係を示すエンジン運転点マップ図である。
【図６】図２の制御動作のうち駆動モータトルク指令値演算処理を示す制御ブロック図である。
【図７】実施例１〜３に共通する発電機指令値演算処理を示すフローチャートである。
【図８】実施例１での発電機トルク指令値演算処理の流れを示すフローチャートである。
【図９】極低温でバッテリの入出力が制限されたダイレクト配電制御中での登坂中、勾配が急な傾斜に変化した際、車速が減速し、車両がずり下がった場合に比較例制御を行ったときの車速・駆動トルク・発電/放電電力・バッテリ入出力電力の特性を示すタイムチャートである。
【図１０】極低温でバッテリの入出力が制限されたダイレクト配電制御中での登坂中、勾配が急な傾斜に変化した際、車速が減速し、車両がずり下がった場合に実施例１の制御を行ったときの車速・駆動トルク・発電/放電電力・バッテリ入出力電力の特性を示すタイムチャートである。
【図１１】実施例２での発電機回転数指令値演算処理の流れを示すフローチャートである。
【図１２】実施例２での発電機回転数指令値演算処理のうちエンジン回転数増加量算出処理を示すフローチャートである。
【図１３】実施例２でのエンジン回転数増加量算出処理を示すタイムチャートである。
【図１４】実施例３でのエンジントルクが正であるときに発電機回生を停止させる発電機トルク指令値演算処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明のハイブリッド車両の制御装置を実現する最良の形態を、図面に示す実施例１〜実施例３に基づいて説明する。
【実施例１】
【００１１】
まず、構成を説明する。
図１は、実施例１の制御装置が適用されたシリーズハイブリッド車両(ハイブリッド車両の一例)の全体システムを示すシステム構成図である。以下、図１に基づき全体構成を説明する。
【００１２】
実施例１のシリーズハイブリッド車両は、図１に示すように、システムコントローラ１と、エンジンコントローラ２と、エンジン３と、発電機コントローラ４と、発電モータ５と、発電インバータ６と、バッテリコントローラ７と、バッテリ８と、駆動機コントローラ９と、駆動インバータ１０と、駆動モータ１１と、減速機１２と、駆動輪１３，１３と、を備えている。
【００１３】
前記シリーズハイブリッド車両は、エンジン３を発電のみに使用し、駆動モータ１１を駆動輪１３，１３の駆動と回生のみに使用するシリーズ方式(直列方式)のハイブリッド車両である。簡単に言うと、発電システムを搭載した電気自動車である。よって、走行モードとしては、エンジン３を用いる走行モードが無く、電気自動車走行モード(＝EV走行モード)のみである。
【００１４】
前記エンジン３は、発電のための駆動力を発電モータ５へ伝達する。前記発電モータ５は、エンジン３の駆動力によって回転して発電するジェネレータとしての機能を有する。また、発電モータ５は、モータとしての機能も併せて有し、エンジン始動時にクランキングさせることや、エンジン３を発電モータ５の駆動力を用いて力行回転させることで、電力を消費することができる。つまり、発電装置は、エンジン３と、発電機（以降、発電モータ５と発電インバータ６を合わせて「発電機５，６」と呼ぶ。）と、から構成される。
【００１５】
前記発電インバータ６は、発電モータ５とバッテリ８と駆動インバータ１０に接続され、発電モータ５が発電する交流の電力を直流に変換、あるいは、逆変換を行う。
【００１６】
前記バッテリ８は、発電モータ５と駆動モータ１１それぞれの回生電力の充電、駆動電力の放電を行う。
【００１７】
前記駆動インバータ１０は、バッテリ８と発電インバータ６から供給される直流の電力を、駆動モータ１１の交流電流に変換、あるいは、逆変換を行う。
【００１８】
前記駆動モータ１１は、駆動力を発生し減速機１２を通して駆動輪１３，１３に駆動力を伝達する。そして、車両の走行時、駆動輪１３，１３に連れ回されて回転するときに、回生駆動力を発生させることでエネルギーを回生する。以降、駆動インバータ１０と駆動モータ１１を合わせて「駆動機１０，１１」と呼ぶ。
【００１９】
前記エンジンコントローラ２は、システムコントローラ１から指令されるエンジントルク指令値を実現するために、エンジン３の回転数や温度などの信号に応じて、エンジン３のスロットル開度、点火時期、燃料噴射量を調整する。
【００２０】
前記発電機コントローラ４は、システムコントローラ１から指令される発電機トルク指令値を実現するために、発電機の回転数や電圧などの状態に応じて、発電インバータ６をスイッチング制御する。ここで、発電機コントローラ４は、発電機トルク指令値が送信された場合はトルク指令値を実現するように制御を行い、発電機回転数指令値が送信された場合は、その回転数を維持するように制御を行う。
【００２１】
前記バッテリコントローラ７は、バッテリ８へ充放電される電流や電圧を元にバッテリSOC(バッテリ充電状態をいい、SOCは「State Of Charge」の略)を計測し、システムコントローラ１へ出力する。また、バッテリ８の温度や内部抵抗などによるバッテリ８の充放電効率に基づいて、バッテリSOCに応じた入力可能電力、バッテリSOCに応じた出力可能電力を演算し、システムコントローラ１へ出力する。
【００２２】
前記駆動コントローラ９は、システムコントローラ１から指令される駆動トルクを実現するために、駆動モータ１１の回転数や電圧などの状態に応じて、駆動インバータ１０をスイッチング制御する。
【００２３】
前記システムコントローラ１は、運転者のアクセルペダル操作量（以下、「アクセル開度」と呼ぶ）、車速（または、駆動モータ回転数）、路面勾配などの車両状態および環境状態、バッテリコントローラ７からのバッテリSOC、入力可能電力、出力可能電力、発電モータ５の発電電力などに応じて、駆動モータ１１へ駆動トルクを指令する。さらに、バッテリ８へ充電し、駆動モータ１１へ供給するための発電電力指令値を演算する。
【００２４】
次に、システムコントローラ１の動作について、図２に示す制御フローチャートに基づいて説明する。ここでは、バッテリ温度が低下していてバッテリ８への充放電が制限されている（バッテリ入力可能電力(PIN)=小、バッテリ出力可能電力(POUT)=小）とき、発電機５，６で駆動要求に応じた電力を発電し、実発電電力を駆動機１０，１１で消費するダイレクト配電制御を行っている場合のシステムコントローラ１の動作を例にとる。
【００２５】
ステップS201の要求駆動電力演算においては、運転者のアクセル操作量等から要求駆動電力(PD0)を算出する。要求駆動電力演算の詳細な動作について、図３のブロック図を用いて説明する。まず、図４に示すアクセル開度に対する駆動モータ１１の回転数と駆動モータの出力トルクとの関係が予め設定された目標駆動モータトルクマップを用いて、駆動要求トルク(TD0)を算出する。この駆動要求トルク(TD0)に、駆動モータ回転数検出値を乗じて要求駆動軸出力を求める。更に予め計測した駆動モータ１１の回転数とトルクと駆動インバータDC電圧（または、バッテリ電圧）に対する駆動インバータ/モータの損失の関係を有する駆動損失マップを用いて駆動損失を求め、駆動要求出力に加算して要求駆動電力(PD0)を算出する。
【００２６】
ステップS202では、要求駆動電力(PD0)を発電機５，６で生成するため、要求駆動電力(PD0)を要求発電電力(PG*)とする。
【００２７】
ステップS203では、要求発電電力(PG*)や各種車両信号に応じて、エンジン３に対するエンジントルク指令値(TE*)と、発電機５，６に対する発電機トルク指令値(TG*)または発電機回転数指令値(NG*)を算出し、その結果を発電機コントローラ４に送信する。
エンジントルク指令値(TE*)は、燃費等を考慮して予め設定したエンジン・発電機の回転数とエンジントルクの関係を示す図５のエンジン運転点マップを用いて、要求発電電力(PG*)に応じて算出する。ここで、要求発電電力(PG*)が0kW以下である場合は、発電機５，６を力行動作させて電力を放電することになる。このため、エンジン３の燃料噴射をカットした上、要求発電(放電)電力(PG*)に対応するフリクショントルクを図５より算出し、エンジントルク指令値(TE*)に設定する。このように算出したエンジントルク指令値(TE*)を、エンジンコントローラ２へ送信する。
なお、ステップS203における発電機５，６への発電機トルク指令値(TG*)、または、発電機回転数指令値(NG*)の算出処理については、後で詳しく説明する。
【００２８】
ステップS204では、発電機５，６で発電された電力を余すことなく駆動機１０，１１で消費するため、発電電力を駆動電力指令値(PD*)に設定する。つまり、計測した発電インバータDC電圧（またはバッテリ電圧）と発電インバータDC電流を掛け合わせることで、実際発電された発電電力を算出し、駆動電力指令値(PD*)に設定する。
【００２９】
ステップS205では、駆動電力指令値(PD*)を駆動機１０，１１で確実に消費するよう、図６に示すブロック図に従い、駆動電力指令値(PD*)に基づいて駆動モータトルク指令値(TD*)を算出する。まず、駆動電力指令値(PD*)、駆動モータ回転数、駆動インバータDC電圧（またはバッテリ電圧）より、予め計測した駆動機１０，１１のインバータ/モータの損失マップより、駆動損失を算出し、駆動電力指令値(PD*)より減算する。この値に対し、駆動モータ回転数(実際は単位を合わせるため、単位[rad/s]を持つ駆動モータ回転速度)で割ることで駆動モータトルク指令値(TD*)を算出する。
このようにして算出した駆動モータトルク指令値(TD*)を、駆動機コントローラ９に送信し、発電電力を余すことなく駆動機１０，１１で使用しつつ所望の加速を実現する。
【００３０】
次に、発電機コントローラ４に指令する実施例１の発電機トルク指令値(TG*)の算出方法について説明する。
まず、図７に示すフローチャートに従い、発電機トルク指令値(TG*)の演算方法について説明する。
【００３１】
ステップS701では、ステップS202で算出した要求発電電力(PG*)が、負の値であるかどうかを判定する。すなわち、要求発電電力(PG*)が負の値であれば放電指令としてステップS702に進み、要求発電電力(PG*)の値が正であれば発電指令として通常制御を行うためにステップS704に進む。
【００３２】
ステップS702では、ステップS201で算出した駆動要求トルク(TD0)と駆動モータ回転数(または車速)の符号から、車両がずり下がったことを判定する。すなわち、駆動要求トルク(TD0)の符号は反転せずに、駆動モータ回転数(または車速)の符号が反転した場合には、ずり下がりであると判断し、発電機５，６での即時放電制御を行うためステップS703に進み、それ以外の場合はアクセルOFF等での回生分をエンジン３で放電する通常放電制御としてステップS704に進む。ここで、符号の反転とは、本制御演算を定期的に演算(例えば、2msec周期など)している際、１制御サンプル前の演算で算出された値が正で今回の算出結果が負になった場合や、前サンプルでの算出値が負で今回算出値が正になった場合を表す。
【００３３】
ステップS703では、車両ずり下がり判断に伴う発電機５，６の力行動作を確実に行うため、発電機５，６への力行指令値を算出する。
この発電機５，６への力行指令値は、発電機トルク指令値(TG*)にてトルク制御する場合（実施例１）と、発電機回転数指令値(NG*)にて回転数制御する場合（実施例２）と、エンジントルクが正である間は発電機５，６の回生を止め、エンジントルクがゼロになってからトルク制御する場合（実施例３）とがある。詳しくは後で説明する。
【００３４】
ステップS704では、通常時の発電機制御を表し、図５に示す予め実験等で計測済みのエンジン動作点マップに従い、要求駆動電力(PD0)すなわち要求発電電力(PG*)に対する発電機回転数指令値(NG*)を算出する。
【００３５】
次に、ステップS703の実施例１における発電機トルク指令値(TG*)の算出方法を、図８に示すフローチャートに基づいて説明する。
【００３６】
ステップS801では、発電機トルク指令の候補値として、放電電力指令を表す要求発電電力(PG*)を発電機回転速度(ωG)で割ることで、発電機５，６の力行トルク指令値の候補値(TG0)を算出する。
TG0＝PG*÷ωG              …(1)
ステップS802では、発電機トルク指令値の候補値(TG0)の下限をリミットするために、エンジントルク応答まで考慮したエンジントルク推定値(TE0)を算出する。これは、ステップS203の先頭で算出したエンジントルク指令値(TE*)から、下式に従いエンジントルク推定値(TE0)を算出する。
TEO＝｛１／(τ2s+1)｝TE*            …(2)
ここで、式(2)のτ2はエンジンの燃料カット時のトルク応答の時定数を表す。
【００３７】
ステップS803では、ステップS801,ステップS802で算出した候補値(TG0)とエンジントルク推定値(TE0)の大きい方を選択し、エンジントルク制限済みの発電機トルク指令値(TG1)とする。これは発電機５，６のトルク指令値として、エンジントルクよりも大きな値を設定しないと、力行時等ではエンジン３のフリクショントルクに打ち勝てず、回転数が減少するなど力行状態を維持できないことがあるためである。
【００３８】
ステップS804では、ステップS803で算出したエンジントルク制限済みの発電機トルク指令値(TG1)に下式(3)の位相進み補償を施し、発電機トルク指令値(TG*)を算出する。
TG*＝{(τ3s+1)/(ατ3s+1)}・TG1        …(3)
ここで、式(3)のτ3は発電機５，６のトルク応答の時定数を表し、αは0〜1の範囲内の値を示す。
【００３９】
次に、作用を説明する。
まず、「比較例制御における課題について」の説明を行う。続いて、実施例１のハイブリッド車両の制御装置における作用を、「車両ずり下がり対応制御作用」、「車両ずり下がり対応制御による効果確認作用」に分けて説明する。
【００４０】
［比較例制御における課題について］
比較例１は、発電電力指令値が変化した時、発電機の回転数指令値にエンジン応答分だけの遅れを持たせることで、発電電力の応答をエンジン出力の応答に一致させた例とする（特開平８−６５８１３号公報参照）。
これにより、発電機回転数指令値が増加した場合、いち早く所望の回転数にするため発電機を力行させる電力をバッテリから出力しなければならないという状態を抑制することができる。また、発電機回転数指令値が減少した場合も同様に、いち早く所望の回転数になるよう発電機を回生させる電力をバッテリへ充電しなければならないという状態を抑制することができる。この結果、例えば、極低温時でバッテリの入出力電力が極めて制限されているような状態では、バッテリの入出力電力を極力減らすことができる。また、極低温ではなく常温での走行状態においても、バッテリへの不必要な入出力電力を抑えることで、バッテリの内部抵抗によるエネルギーロスを軽減することができる。
【００４１】
比較例２は、車両の加速に用いる駆動出力を、発電された発電電力に応じて制限した例とする（特開２００１−２９２５０１号公報）。
これは、極低温時などでバッテリの入出力電力が制限されている状態において、アクセル開度や車速より決まる要求駆動出力を発電電力で賄うように発電制御を行うが、駆動機にて要求駆動出力をそのまま出力してしまうと、エンジン出力の内、エンジン回転数を上昇させるために使用する出力分だけ発電電力が減ってしまい、この分だけバッテリからの電力持ち出しが必要となり、バッテリの劣化や故障につながってしまう。このため、実際に発電されている電力を検知し、駆動出力をその電力値で制限することにより、バッテリへの過度な入出力電力の発生を回避することができ、バッテリの劣化や故障を抑制することができる。
【００４２】
ところで、所謂、シリーズハイブリッド車両において、極低温時などバッテリの入出力電力が制限されている場合には、上述した比較例１，２の様に、バッテリへの充放電が行われないようにすることを目的に、ダイレクト配電制御を実施する。ここで、「ダイレクト配電制御」とは、駆動要求に応じて発電機が実際に発電した発電電力を過不足なく駆動機で消費する制御をいう。また、バッテリの充放電が完全に制限されておらず所定の入出力可能電力だけ充放電可能な場合について、駆動要求に応じてバッテリへの充放電がバッテリの入出力可能電力以内となるよう発電機が駆動要求を補うよう発電を行うと同時に、実際に発電された発電電力をバッテリ入出力可能電力以内で過不足無く駆動機で消費する制御もダイレクト配電制御と呼ぶ。
【００４３】
このダイレクト配電制御では、バッテリの入出力可能電力とアクセル開度や車速などから算出される所望の駆動トルクを実現するために必要な駆動電力を演算し、バッテリでは補えない駆動電力分を発電電力指令値として発電機を制御する。そして、発電電力指令値を実現するように発電機が制御された結果として発電された実発電電力とバッテリ入出力可能電力以内のバッテリ電力を駆動機の駆動電力として消費するための駆動トルクを算出し、駆動機を制御する。
【００４４】
ここで、ダイレクト配電制御中に、登坂路面での坂道発進等の登坂シーンで、登坂路面の勾配が更に急になり、車速が減少し続け、車両がずり下がった場合を考える。
この際、車両が前進する方向に駆動トルクを要求しているにもかかわらず、駆動モータ回転数（車速）が反転することにより、駆動モータは回生状態になることで車両のずり下がりを抑制しようとする。このため、ダイレクト配電制御を継続するには、駆動モータが回生する電力のうち、バッテリ入出力可能電力を超える分を発電機で放電する必要があるため、発電機に対して発電指令（発電電力指令値が正）から放電指令（発電電力指令値が負）に切り替えるのが一般的である。
【００４５】
ところが、発電指令から放電指令に切り替わった際、エンジンに供給する燃料をカットしても、エンジントルクの応答遅れで発電状態が継続されてしまうことがある。更に、ドライバーはずり下がりを極力防止するためアクセルを大きく踏み込むことにより、より速く大きな回生電力が生じかねない。この結果、発電機の発電電力と駆動モータの回生電力が、バッテリへの入出力電力が制限されているにもかかわらず、バッテリに過充電されてしまい、バッテリの劣化や性能低下を招くことがある。
【００４６】
特に比較例１では、エンジンの噴射または燃料カットの応答遅れに合わせて、発電機の応答を遅らせてしまうため、発電指令から放電指令に変化したとしても、発電状態が継続されてしまい、上記問題が起こりやすくなる。また、比較例２では、駆動出力を実発電電力で制限してしまうことにより、駆動モータとしては回生トルクを掛けたい場合であっても、発電電力が残ってしまっていると力行せざるを得ず、本来ずり下がりを防止するためのトルクを施すことができない。
【００４７】
比較例の制御結果を図９に示す。図９は、極低温でバッテリの入出力が制限されたダイレクト配電制御中での登坂中、勾配が急な傾斜に変化した際、車速が減速し、車両がずり下がった場合に比較例制御を行ったときの車速・駆動トルク・発電/放電電力・バッテリ入出力電力の特性を示すタイムチャートである。
【００４８】
所定の車速で走行中に、時刻t1でアクセルを踏み駆動要求トルクが立ち上がり加速している際、時刻t3で急な勾配に差し掛かり車速が減少し始める。時刻t7の直後において車速が一度0km/hになり、その後も車速が減少し続けずり下がり始めている。この際、要求発電電力をすぐに発電指令から放電指令に変更するが、エンジンの応答性によりすぐに放電状態には移行せず、発電状態が継続される。その結果、発電電力を駆動で余すことなく消費していたところ、車速が負になったところで駆動機は前進トルクを発生するために回生する必要がある。しかし、発電状態が継続されているため、前進トルクを出力することができない。つまり、ダイレクト配電継続では、逆走トルクを出力することになり車両状態として好ましくないため制限を施す。
この結果、駆動機で消費されない電力は、バッテリへ入力されることになり、過充電によるバッテリの劣化などにつながってしまう。
【００４９】
［車両ずり下がり対応制御作用］
バッテリ８への充放電が制限されている発電走行時、図２のフローチャートにおいて、ステップS201→ステップS202→ステップS203→ステップS204→ステップS205→ステップS206へと進む流れを、所定の制御周期毎に繰り返す。この処理により、発電機５，６による実発電電力を駆動機１０，１１で消費するダイレクト配電制御が行われる。
【００５０】
そして、車両が急勾配の登坂路に入り、要求発電電力(PG*)が負の値であり、駆動要求トルク(TD0)の符号が反転せず駆動モータ回転数（または車速）の符号が反転すると、車両がずり下がったことが判定される。この車両ずり下がり判定時には、図７のフローチャートにおいて、ステップS701→ステップS702→ステップS703→ENDへと進む流れを、所定の制御周期毎に繰り返す。これにより、ステップS703では、発電機５，６によりエンジン３を駆動する力行制御が行われる。
【００５１】
つまり、車両ずり下がりが判定されると、車両ずり下がり対応制御として、エンジン３に対するエンジントルク指令値(TE*)と、発電機５，６に対する発電機トルク指令値(TG*)と、駆動機１０，１１に対する回生トルク指令値と、が算出される。そして、これらの制御指令が、システムコントローラ１から、エンジンコントローラ２と発電機コントローラ４と駆動機コントローラ９に出力される。エンジントルク指令値(TE*)は、エンジン３の燃料噴射をカットした上、要求発電(放電)電力(PG*)に対応するフリクショントルクを図５より算出する。発電機トルク指令値(TG*)は、図８のフローチャートにおいて、ステップS801→ステップS802→ステップS803→ステップS804→ENDへと進む流れを、所定の制御周期毎に繰り返すことで算出する。回生トルク指令値は、ダイレクト配電制御を維持するため、発電機トルク指令値(TG*)を、負の値にしたものとする。
【００５２】
上記のように、実施例１では、ダイレクト配電による発電制御中、要求発電電力(PG*)が負の値であり、駆動要求トルク(TD0)の符号が反転せずに駆動モータ回転数（または車速）の符号が反転したとき、駆動機１０，１１を回生させる制御が行われるとともに、発電機５，６を力行させる制御が行われる（図７のステップS701→ステップS702→ステップS703）。
すなわち、車両ずり下がり判定時、発電機５，６の制御として、エンジンの応答遅れ影響により発電状態がしばらく継続する「放電指令」を出力する制御を行うのではなく、発電機５，６によりエンジン３を駆動することを意味する「力行」に入る制御を行うようにした。このため、車両のずり下がり判定されると、エンジンの応答遅れにかかわらず、発電機５，６は直ちにバッテリ電力を消費する力行を開始する。したがって、車両のずり下がりを抑制するため、例えば、フルで駆動機１０，１１の回生を行なった場合であっても、バッテリ電力の収支が成り立ち、バッテリ８の過充電が防止される。
このため、登坂シーンで車両がずり下がる際、バッテリ８の過充電を防止しつつ、回生による車両のずり下がりが抑制される。
【００５３】
実施例１では、車両ずり下がり判定時の発電機５，６による力行動作において、放電電力指令を表す要求発電電力(PG*)を発電機回転速度ωGで割った値を、発電機５，６の力行トルク指令値の候補値(TG0)として、トルク制御を行う（図８のステップS801）。
すなわち、発電機５，６でどれだけ放電したいかを表す要求発電電力(PG*)に対し、実際の発電機回転速度ωGで割った値の大きさを持つトルク指令値で発電機５，６を力行動作させることになる。
このため、車両ずり下がり判定時、発電機５，６による力行動作により、所望の電力を確実に放電させることができる。
【００５４】
実施例１では、発電機５，６へ指令する発電機トルク指令値TG1の大きさは、燃料カット時のエンジンフリクションとエンジントルクの応答性を考慮したエンジントルク推定値(TE0)よりも、大きな値に設定している（図８のステップS802、ステップS803）。
すなわち、発電機トルク指令値TG1の大きさを、エンジントルク推定値(TE0)よりも小さな値に設定すると、発電機５，６が発電状態になってしまうか、エンジン回転数の低下を招き、有効に放電をすることができない。
これに対し、発電機トルク指令値TG1の大きさを、エンジントルク推定値(TE0)よりも大きな値に設定することで、エンジントルクの応答遅れが補償され、車両ずり下がり判定時、発電機５，６による力行動作により、確実に放電させることができる。
【００５５】
実施例１では、発電機５，６へ指令する発電機トルク指令値TG1に対し位相進み補償を施したものを発電機トルク指令値(TG*)としている（図８のステップS804）。
すなわち、発電機５，６の応答遅れを補償する位相進み補償を施すことで、発電機５，６の応答をさらに速くすることができる。
このため、車両ずり下がり判定時、発電モータ５と発電インバータ６の応答遅れによるバッテリ８への過充電を回避することができる。
【００５６】
［車両ずり下がり対応制御による効果確認作用］
実施例１の制御結果を図１０に示す。図１０は、極低温でバッテリの入出力が制限されたダイレクト配電制御中での登坂中、勾配が急な傾斜に変化した際、車速が減速し、車両がずり下がった場合に実施例１の制御を行ったときの車速・駆動トルク・発電/放電電力・バッテリ入出力電力の特性を示すタイムチャートである。
【００５７】
所定の車速で走行中に、時刻t1でアクセルを踏み駆動要求トルクが立ち上がり加速している際、時刻t3で急な勾配に差し掛かり車速が減少し始める。時刻t7の直後において車速が一度0km/hになり、その後も車速が減少し続けずり下がり始めている。この際、発電機５，６を力行させる発電機トルク指令(TG*)により即放電へ移行できており、駆動機１０，１１の回生トルクを維持することができている。
この結果、駆動機１０，１１は、前進トルクを維持することができている上に、バッテリ８への入出力を0kWのまま維持することができている。
【００５８】
次に、効果を説明する。
実施例１のハイブリッド車両の制御装置にあっては、下記に列挙する効果を得ることができる。
【００５９】
(1) エンジン３と、
前記エンジン３により駆動され、車両駆動用の電力を生成する発電機（発電モータ５、発電インバータ６）と、
前記発電機（発電モータ５、発電インバータ６）による発電電力を充電により蓄えるバッテリ８と、
前記バッテリ８の放電による駆動電力により駆動する駆動機（駆動インバータ１０、駆動モータ１１）と、
前記発電機（発電モータ５、発電インバータ６）が発電した実発電電力を過不足なく前記駆動機（駆動インバータ１０、駆動モータ１１）の駆動電力として消費するように、駆動要求に応じて発電電力を制御するダイレクト配電制御手段（図２）と、
前記ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに駆動回転数の符号が反転したとき、前記駆動機（駆動インバータ１０、駆動モータ１１）を回生させる制御を行うとともに、前記発電機（発電モータ５、発電インバータ６）を力行させる制御を行う車両ずり下がり対応制御手段（図７）と、
を備える。
このため、登坂シーンで車両がずり下がる際、バッテリ８の過充電を防止しつつ、回生による車両のずり下がりを抑制することができる。
【００６０】
(2) 前記車両ずり下がり対応制御手段（図７）は、前記発電機（発電モータ５、発電インバータ６）により前記エンジン３を駆動させる力行動作において、目標放電電力（放電電力指令を表す要求発電電力PG*）を発電機回転速度ωGで割った値を目標トルク（力行トルク指令値の候補値TG0）とするトルク制御を行う（図８のステップS801）。
このため、(2)の効果に加え、車両ずり下がり判定時、発電機５，６による力行動作により、所望の電力を確実に放電させることができる。
【００６１】
(3) 前記車両ずり下がり対応制御手段（図７）は、前記発電機（発電モータ５、発電インバータ６）へ指令するトルク指令値（発電機トルク指令値TG1）の大きさを、燃料カット時のエンジンフリクションとエンジントルクの応答性を考慮したエンジントルク推定値TE0よりも大きな値に設定する（図８のステップS802、ステップS803）。
このため、(2)の効果に加え、エンジントルクの応答遅れが補償され、車両ずり下がり判定時、発電機５，６による力行動作により、確実に放電させることができる。
【００６２】
(4) 前記車両ずり下がり対応制御手段（図７）は、発電機トルク指令値TG1に、発電機トルクの応答遅れを補償する位相進み補償を施す（図８のステップS804）。
このため、(2)または(3)の効果に加え、車両ずり下がり判定時、発電機（発電モータ５、発電インバータ６）の応答遅れによるバッテリ８への過充電を回避することができる。
【実施例２】
【００６３】
実施例２は、車両ずり下がり判定時における発電機５，６への発電指令値を、発電機回転数指令値(NG*)とした例である。
【００６４】
まず、構成を説明する。
全体構成は、実施例１の図１と同等であるため、図示ならびに説明を省略する。また、システムコントローラ１の動作についても、発電指令値演算処理以外は実施例１と同等であり、同等の演算処理の説明は省略する。
【００６５】
実施例２の発電機回転数指令値(NG*)の算出方法について、図１１に示すフローチャートに従い説明する。
【００６６】
ステップS901では、発電機５，６を確実に放電させることのできる回転数であるエンジン回転数増加量(ΔNE)を、後述する図１２のフローチャートに従い算出する。
このエンジン回転数増加量(ΔNE)は、以下のような考えに基づいて算出する。
まず、発電機５，６への発電指令が力行指令に移行した際、エンジン３の燃料噴射をカットさせるが、応答遅れのためエンジントルクが残ってしまう。この時、力行指令に移ったと同時に発電機トルクをフリー(0Nm)にした場合、応答遅れで残っているエンジントルクによりエンジン回転数が上昇する。この上昇した回転数よりも高い回転数を目標値として発電機５，６で回転数制御を行えば、回転数を上昇させるために力行させる必要があり、確実に発電機５，６で放電させることができることになる。
【００６７】
ステップS902では、放電指令として設定されている要求発電電力(PG*)に対して、図５のエンジン動作点マップを用いて、基本発電機回転数指令値(NG0)を算出する。
【００６８】
ステップS903では、ステップS902で算出した基本発電機回転数指令値(NG0)と、１制御サンプル前の値である基本発電機回転数指令値(NG0_z)を比較し、今回算出値NG0が前回値NG0_zよりも大きければステップS904に進み、小さければステップS905に進む。
【００６９】
ステップS904では、基本発電機回転数指令値(NG0)の値が、１制御サンプル前の値よりも大きくなったとして、ベース発電機回転数指令値(NG1)の値を、基本発電機回転数指令値(NG0)と設定する。
【００７０】
ステップS905では、基本発電機回転数指令値(NG0)の値が、１制御サンプル前の値よりも小さくなったとして、ベース発電機回転数指令値(NG1)の値を、基本発電機回転数指令値(NG0)の１制御サンプル前の値である基本発電機回転数指令値(NG0_z)と設定する。
【００７１】
ステップS906では、ステップS901で算出したエンジン回転数増加量(ΔNE)と、ステップS904またはステップS905で算出したベース発電機回転数指令値(NG1)を加え合わせることで、発電機回転数指令値(NG*)を、
NG*＝NG1＋ΔNE                    …(4)
の式により算出する。
【００７２】
次に、図１０のフローチャートに従い、エンジン回転数増加量(ΔNE)の算出方法について説明する。
【００７３】
ステップS1001では、ステップS802と同様に式(2)を用いてエンジントルク推定値(TE0)を算出する。
【００７４】
ステップS1002では、ステップS1001で算出したエンジントルク推定値(TE0)を用いて、発電機５，６の発電指令が力行指令に切り替わった際、発電機トルクをフリー(0Nm)にした場合にたどるエンジン回転数のプロフィールを表すエンジン回転数変化量(NE')を、以下のように算出する。
まず、発電指令から放電指令に変化したと同時に発電機トルクをフリー(0Nm)にした場合、発電機トルクの応答がエンジントルクの応答よりも著しく速いと仮定すると、エンジントルクの変化量(ΔTE)は、式(2)より下記の様に表せる。
ΔTE＝TE*−TE0＝{-(τ2s)/(τ2s+1)}・TE*            …(5)
式(5)はエンジントルクの応答遅れ分のトルクを表しており、この応答遅れトルクの正トルクが残ることによりエンジン回転数が上昇することになる。この上昇回転数であるエンジン回転数変化量(NE')は、トルクΔTEに対する回転数の運動方程式から、エンジン３のピストン、クランクシャフト、発電機ロータ等の慣性モーメントをJとすると、以下のようになる。
NE'＝(1/Js)・ΔTE＝(1/Js){-(τ2s)TE*/(τ2s+1)}＝(-τ2/J)(1/τ2s+1)TE*  …(6)
この式(6)で得られるエンジン回転数変化量(NE')は、発電指令から放電指令に変わった際、最初はエンジントルクの応答遅れにより、回転数が上昇することになり、その後エンジントルクがフリクショントルクとなることにより回転数が減少していくことになる。
ここで、発電機の回転数指令値を式(6)で定まる回転数(NE')よりも小さくした場合、発電機にて回転数を押さえ込むことにより、回転エネルギーを回生することになるため発電状態が継続されることになる。一方、発電機回転数指令値を式(6)の値(NE')よりも大きく設定した場合は、発電機で回転を上昇させることになるため、回転エネルギーを生み出すために発電機は力行することになり電力を放電することができる。
つまり、確実に放電させるためには、発電機の回転数指令値を上記の式(6)よりも高い回転数に設定する必要がある。以下では、式(6)よりも高い回転数を設定するための方法について説明する。
【００７５】
ステップS1003では、エンジン回転数変化量(NE')に対して、位相進み補償を施した値であるエンジン回転数変化量・位相進み補償値(NE'')を、以下の式に従い算出する。
NE"＝{(βτ4s+1)/(τ4s+1)}NE'          …(7)
ここで、式(7)で用いる位相進み補償の係数βは１以上の値に設定する。また、位相進み補償の時定数τ4は、適合等により設定する。この値NE''は、NE'の値が上昇している際には、位相進み補償の効果で確実にNE'の値よりも大きな値になり、NE''を用いることでNE'の上昇時に確実な放電指令となる回転数指令値を算出することができる。
【００７６】
ステップS1004では、エンジン回転数変化量(NE')に対して、NE'の値が減少している時のみに有効になる遅れフィルター(例えば、１次遅れフィルター)を施した値であるエンジン回転数変化量・LPF値(NE''')を、以下の式に従い算出する。
NE'''＝{1/(τ5s+1)}NE'  (ただし、NE'の減少時のみ有効)  …(8)
ここで、遅れフィルターの時定数τ5は適合等により設定する。この値NE'''は、NE'の値が減少している際には、NE'の減少時のみの遅れフィルターにより確実にNE'の値よりも大きな値になり、NE'''を用いることでNE'の減少時に確実な放電指令となる回転数指令値を算出することができる。
【００７７】
ステップS1005では、ステップS1002、ステップS1003、ステップS1004のそれぞれで算出したNE'、NE''、NE'''に対し、最大値を取ることでエンジン回転数増加量(ΔNE)を算出する。ただし、0rpmで下限リミットする。
ΔNE＝max(0,NE',NE'',NE''')          …(9)
このようにエンジン回転数増加量ΔNEを設定することで、確実な発電機５，６による放電を促す発電機回転数指令値(NG*)を算出することができるようになる。
【００７８】
次に、発電機回転数指令値(NG*)の算出作用を説明する。
車両ずり下がり判定時、基本発電機回転数指令値(NG0)が１制御サンプル前の基本発電機回転数指令値(NG0_z)より大きいときは、図１１のフローチャートにおいて、ステップS901→ステップS902→ステップS903→ステップS904→ステップS906→ENDへと進む流れにより、発電機回転数指令値(NG*)が算出される。
一方、基本発電機回転数指令値(NG0)が１制御サンプル前の基本発電機回転数指令値(NG0_z)以下のときは、図１１のフローチャートにおいて、ステップS901→ステップS902→ステップS903→ステップS905→ステップS906→ENDへと進む流れにより、発電機回転数指令値(NG*)が算出される。
【００７９】
このように、ステップS903〜ステップS905にて、ベース発電機回転数指令値(NG1)を算出することで、発電電力指令が放電指令に切り替わった際、エンジン運転点マップにより決まる回転数指令値が増加した際は増加した値、減少した際は減少する前の値とすることで、発電機回転数指令値(NG*)をより高い側に維持することができ、放電方向に設定することができる。これにより、確実に発電機５，６を放電させるための発電機回転数指令値(NG*)を設定することができる。
【００８０】
そして、ステップS906において、発電機回転数指令値(NG*)が、ステップS903〜ステップS905にて算出されたベース発電機回転数指令値(NG1)に、ステップS901にて算出されたエンジン回転数増加量（ΔNE）を加算することで取得される。
【００８１】
ステップS901でのエンジン回転数増加量（ΔNE）は、図１２のフローチャートにおいて、ステップS1001→ステップS1002→ステップS1003→ステップS1004→ステップS1005→ENDへと進む流れより算出される。つまり、ステップS1005では、0rpmで下限リミットとし、エンジン回転数変化量NE'、NE'の位相進み補償値NE''、NE'の減少時のみLPF値NE'''に対し、最大値を取ることでエンジン回転数増加量(ΔNE)が算出される。
【００８２】
ここで、エンジン回転数増加量(ΔNE)を算出する際のエンジン回転数増加の動きを、図１３に示すタイムチャートで説明する。
時刻t1で発電指令から放電指令に切り替わり、エンジントルク指令が放電指令に応じたフリクショントルク指令となる。その際、エンジントルク推定値(TE0)は、所定の応答遅れ時定数τ2に従い立ち下がる。この応答遅れによるエンジントルク残差により、式(6)により得られるエンジン回転数変化量(NE')は一度上昇し、トルクが負に変わったところからNE'は減少に転じる。このNE’の動きに対して、式(7)で得られる位相進み補償を施した値NE''は、NE'が上昇している領域ではNE'より大きな値となり、NE'の値が減少している領域ではNE'''がNE'より大きな値となり、結果的にエンジン回転数増加量ΔNEを、エンジン回転数変化量NE'より常に大きな値とすることができる。また、回転数指令値の増加量であるΔNEの最終的な定常値は0rpmに収束されることになり、所望の放電指令に落ち着くことになる。
【００８３】
上記のように、実施例２では、車両ずり下がり判定時、発電機５，６の力行動作は、発電機５，６の回転数制御で行い、発電機回転数指令値(NG*)を、発電指令から力行指令に切り替わった時に、発電機トルクをフリー(0Nm)にした場合に生ずるエンジントルクの応答遅れによって上昇するエンジン回転数よりも大きな値としている（図１２，図１３）。
すなわち、発電機トルクをフリーにした時に、燃料カットに伴うエンジントルクの応答遅れにより上昇するエンジン回転数に対し、発電機回転数指令値(NG*)を、これよりも低い回転数に設定すると、発電機５，６が回転数を押さえ込むことにより発電状態となってしまう。
これに対し、発電機トルクをフリーにした時に、燃料カットに伴うエンジントルクの応答遅れにより上昇するエンジン回転数に対し、発電機回転数指令値(NG*)を高い回転数に設定することで、エンジントルクの応答遅れが補償される。
このため、車両ずり下がり判定時、エンジン回転数を上げるために発電機５，６が力行する状態をつくり、確実に放電することができる。
【００８４】
実施例２では、エンジントルクの応答遅れにより上昇するエンジン回転数の計算には、エンジントルク指令値に燃料カット時のフリクションを考慮した値を用いるようにしている（ステップS1001、ステップS802、ステップS203）。
したがって、エンジン回転数の動きをより正確に推定でき、確実に放電できる上、その後の放電処理を効果的に行える。
【００８５】
実施例２では、発電機回転数指令値(NG*)は、発電指令から力行指令に切り替わる際、エンジン回転数指令値が大きくなる場合、切り替え後のエンジン回転数指令値（ベース発電機回転数指令値PG1）に、エンジントルクの応答遅れにより上昇するエンジン回転数（エンジン回転数増加量ΔNE）を加えた値とし、エンジン回転数指令値が小さくなる場合、切り替え前のエンジン回転数指令値（ベース発電機回転数指令値PG1）に、エンジントルクの応答遅れにより上昇するエンジン回転数（エンジン回転数増加量ΔNE）を加えた値としている（ステップS903〜ステップS905）。
したがって、発電機回転数指令値(NG*)が増加する際は、高回転側に設定することで確実に放電させることができ、発電機回転数指令値(NG*)が減少する際は、あえて低回転側にすることなく高回転側に設定することで確実に発電機５，６を力行させ、放電させることができる。
なお、他の作用は、実施例１と同様であるので、説明を省略する。
【００８６】
次に、効果を説明する。
実施例２のハイブリッド車両の制御装置にあっては、下記に列挙する効果を得ることができる。
【００８７】
(5) 前記車両ずり下がり対応制御手段（図７）は、前記発電機（発電モータ５、発電インバータ６）により前記エンジン３を駆動させる力行動作を前記発電機（発電モータ５、発電インバータ６）の回転数制御で行い、前記発電機（発電モータ５、発電インバータ６）の回転数指令値（発電機回転数指令値NG*）を、発電指令から力行指令に切り替わった時に、発電機トルクをフリーにした場合に生ずるエンジントルクの応答遅れによって上昇するエンジン回転数よりも大きな値とする（図１２，図１３）。
このため、上記(1)の効果に加え、車両ずり下がり判定時、エンジン回転数を上げるために発電機５，６が力行する状態をつくり、確実に放電することができる。
【００８８】
(6) 前記車両ずり下がり対応制御手段（図７）は、エンジントルクの応答遅れにより上昇するエンジン回転数の計算に、エンジントルク指令値に燃料カット時のフリクションを考慮した値を用いる（ステップS1001、ステップS802、ステップS203）。
このため、(5)の効果に加え、エンジン回転数の動きをより正確に推定でき、確実に放電できる上、その後の放電処理を効果的に行うことができる。
【００８９】
(7) 前記車両ずり下がり対応制御手段（図７）は、前記発電機回転数指令値(NG*)を、発電指令から力行指令に切り替わる際にエンジン回転数指令値が大きくなる場合、切り替え後のエンジン回転数指令値（ベース発電機回転数指令値NG1）に、エンジントルクの応答遅れにより上昇するエンジン回転数（エンジン回転数増加量ΔNE）を加えた値とし、発電指令から力行指令に切り替わる際にエンジン回転数指令値が小さくなる場合、切り替え前のエンジン回転数指令値（ベース発電機回転数指令値NG1）に、エンジントルクの応答遅れにより上昇するエンジン回転数（エンジン回転数増加量ΔNE）を加えた値とする（ステップS903〜ステップS905）。
このため、(5)または(6)の効果に加え、発電機回転数指令値(NG*)が増加する際は、高回転側に設定することで確実に放電させることができ、発電機回転数指令値(NG*)が減少する際は、あえて低回転側にすることなく高回転側に設定することで確実に発電機５，６を力行させ、放電させることができる。
【実施例３】
【００９０】
実施例３は、車両ずり下がり判定時、エンジントルクが正である間は発電機の回生を停止し、その後、実施例１と同様にトルク制御を行う例である。
【００９１】
まず、構成を説明する。
全体構成は、実施例１の図１と同等であるため、図示ならびに説明を省略する。また、システムコントローラ１の動作についても、発電指令値演算処理以外は実施例１と同等であり、同等の演算処理の説明は省略する。
【００９２】
実施例３における発電指令が力行指令に切り替わった際、エンジントルクの符号が正である場合、発電機５，６の回生を行わない手法について、図１４に示すフローチャートに基づいて説明する。
【００９３】
ステップS1401では、ステップS802と同様に式(2)を用いてエンジントルク推定値(TE0)を算出する。
【００９４】
ステップS1402では、ステップS1401で算出したエンジントルク推定値(TE0)の符号を判別し、正であればステップS1403に進み、負であればステップS1404に進む。
【００９５】
ステップS1403では、エンジントルク推定値(TE0)の符号が正ということで、発電機５，６の回生を停止するため、発電機トルク指令値(TG*)を0Nmに設定する。
【００９６】
ステップS1404では、エンジントルク推定値(TE0)の符号が負ということで、発電機５，６の力行制御で放電できる状態になっているため、発電機５，６による力行を行うため、発電機トルク指令値(TG*)を放電電力指令を表す要求発電電力(PG*)と発電機回転速度ωGより、
TG*＝PG*÷ωG                  …(10)
の式にて設定する。
【００９７】
次に、作用を説明する。
車両ずり下がり判定時、エンジントルク推定値(TE0)の符号が正のときは、図１４のフローチャートにおいて、ステップS1401→ステップS1402→ステップS1403→ENDへと進む流れにより、発電機トルク指令値(TG*)が、TG*＝0Nmとされる。
一方、エンジントルク推定値(TE0)の符号が負（ゼロを含む）のときは、図１４のフローチャートにおいて、ステップS1401→ステップS1402→ステップS1404→ENDへと進む流れにより、発電機トルク指令値(TG*)が、TG*＝PG*÷ωGとされる。
【００９８】
このように、実施例３では、エンジントルク推定値(TE0)が正である間は、発電機５，６の回生を止める、つまり、発電機５，６のトルク指令値を0Nmでリミットする（ステップS1401〜ステップS1403）。
したがって、車両ずり下がり判定時であって、発電機５，６をトルク制御により力行動作させるとき、不要な発電によるバッテリ８への過充電を回避することができる。
なお、他の作用は、実施例１と同様であるので、説明を省略する。
【００９９】
次に、効果を説明する。
実施例３のハイブリッド車両の制御装置にあっては、下記の効果を得ることができる。
【０１００】
(8) 前記車両ずり下がり対応制御手段（図７）は、前記ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに駆動回転数の符号が反転したとき、エンジントルクの値が正である間、前記発電機（発電モータ５、発電インバータ６）の回生をやめる（ステップS1401〜ステップS1403）。
このため、上記(1)の効果に加え、車両ずり下がり判定時であって、発電機５，６をトルク制御により力行動作させるとき、不要な発電によるバッテリ８への過充電を回避することができる。
【０１０１】
以上、本発明のハイブリッド車両の制御装置を実施例１〜３に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【０１０２】
実施例１〜３では、車両ずり下がり対応制御手段として、ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに、駆動回転数の符号が反転したとき、駆動機１０，１１を回生させる制御を行うとともに、発電機５，６を力行させる制御を行う例を示した。しかし、車両ずり下がり対応制御手段としては、ダイレクト配電による発電制御中、駆動トルク指令値の符号が反転せずに、駆動回転数の符号が反転し、さらに、損失を考慮した駆動要求電力が反転したとき、駆動機を回生させる制御を行うとともに、発電機を力行させる制御を行う例としても良い。この場合、駆動損失を考慮した要求駆動電力が判定した場合を条件に加えることで、より正確な発電機の力行タイミングとすることができ、バッテリへの過充電を回避することができる。
【０１０３】
実施例１〜３では、制御装置をシリーズハイブリッド車両へ適用した例を示した。しかし、プラネタリギアを用いた動力分割装置にエンジンと発電用モータジェネレータと走行用モータジェネレータが連結されたパラレルハイブリッド車両、あるいは、エンジンに発電用モータジェネレータと走行用モータジェネレータが連結されたアシストハイブリッド車両などに対しても適用することができる。要するに、エンジンにより駆動される発電機（発電用モータジェネレータ）と、駆動輪を駆動する駆動モータ（走行用モータジェネレータ）とを備えたハイブリッド車両であれば適用できる。
【符号の説明】
【０１０４】
１：システムコントローラ
２：エンジンコントローラ
３：エンジン
４：発電機コントローラ
５：発電モータ
６：発電インバータ
７：バッテリコントローラ
８：バッテリ
９：駆動機コントローラ
１０：駆動インバータ
１１：駆動モータ
１２：減速機
１３：駆動輪
【図１】
0005552970.tif 000002
【図２】
0005552970.tif 000003
【図３】
0005552970.tif 000004
【図４】
0005552970.tif 000005
【図５】
0005552970.tif 000006
【図６】
0005552970.tif 000007
【図７】
0005552970.tif 000008
【図８】
0005552970.tif 000009
【図９】
0005552970.tif 000010
【図１０】
0005552970.tif 000011
【図１１】
0005552970.tif 000012
【図１２】
0005552970.tif 000013
【図１３】
0005552970.tif 000014
【図１４】
0005552970.tif 000015