以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
本発明の実施例1を図1乃至図5に基づいて説明する。
まず、図1に基づいてハイブリッド車の駆動制御システムの概略構成を説明する。
車両の駆動源(動力源)として内燃機関であるエンジン10と第1のモータジェネレータ(以下「第1のMG」と表記する)11と第2のモータジェネレータ(以下「第2のMG」と表記する)12が搭載されている。エンジン10の出力軸(クランク軸)と第1のMG11の回転軸と第2のMG12の回転軸とが動力分割機構13(例えば遊星ギヤ機構)を介して連結されると共に、第2のMG12の回転軸が減速ギヤ機構14等を介して車軸15に連結され、この車軸15に車輪16が連結されている。
図示されていないが、第1のMG11を駆動する第1のインバータと第2のMG12を駆動する第2のインバータがそれぞれバッテリに接続され、各MG11,12がそれぞれインバータを介してバッテリと電力を授受するようになっている。
また、アクセルセンサ17によってアクセル開度(アクセルペダルの操作量)が検出され、シフトセンサ18によってシフトレバーの操作位置が検出される。更に、ブレーキセンサ19によってブレーキ操作(又はブレーキ操作量)が検出され、車速センサ20によって車速が検出される。また、バッテリセンサ21によってバッテリ電圧が検出される。これらの車両の状態を検出する各種のセンサ17〜21の出力信号は、後述する第1のHVコントローラ(ハイブリッドコントローラ)24と第2のMGコントローラ27の両方に入力される。
第1のHVコントローラ24は、車両全体を総合的に制御するコンピュータであり、上述した各種のセンサ17〜21の出力信号を読み込んで、車両の運転状態を検出する。この第1のHVコントローラ24は、エンジン10を制御するエンジンコントローラ25と、第1のインバータを制御して第1のMG11を制御する第1のMGコントローラ26と、第2のインバータを制御して第2のMG12を制御する第2のMGコントローラ27との間で制御信号やデータ信号を送受信する。第1のHVコントローラ24は、各コントローラ25〜27によって車両の運転状態に応じてエンジン10と第1及び第2のMG11,12等を制御する。また、第2のHVコントローラ23は、第1のHVコントローラ24等を監視する機能を有する。
システムの正常時に、第1のHVコントローラ24は、各種のセンサ17〜21の出力信号等に基づいて車両の要求駆動トルクを演算して、この要求駆動トルクに基づいてエンジン指令トルク(エンジン10の指令トルク)と第1MG指令トルク(第1のMG11の指令トルク)と第2MG指令トルク(第2のMG12の指令トルク)を演算する。そして、第1のHVコントローラ24は、エンジン指令トルクをエンジンコントローラ25へ出力し、第1MG指令トルクを第1のMGコントローラ26へ出力し、第2MG指令トルクを第2のMGコントローラ27へ出力する。
また、エンジンコントローラ25は、エンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26は、第1MG指令トルクに基づいて第1のMG11を制御し、第2のMGコントローラ27は、第2MG指令トルクに基づいて第2のMG12を制御する。
本実施例1では、第1のHVコントローラ24が特許請求の範囲でいうメイン制御回路に相当し、エンジンコントローラ25と第1及び第2のMGコントローラ26,27と第2のHVコントローラ23が特許請求の範囲でいうサブ制御回路に相当する。
ところで、もし、第1のHVコントローラ24に異常(例えば演算異常)が生じた場合には、第1のHVコントローラ24では、要求駆動トルクや指令トルクを正常に演算できなくなる可能性がある。
そこで、本実施例1では、第1のHVコントローラ24に異常が生じた場合に、第2のMGコントローラ27が、各種のセンサ17〜21の出力信号等に基づいて車両の要求駆動トルクを演算して、この要求駆動トルクに基づいて第2MG指令トルクを演算するようにしている。この第2のMGコントローラ27が特許請求の範囲でいう特定のサブ制御回路に相当する。これにより、第1のHVコントローラ24に異常が生じた場合でも、第2のMG12を制御して車両を走行させることが可能となる。
また、車両の駆動制御システムでは、安全性を確保するために駆動源を制御するコントローラ(制御回路)に対して二重系(二つのコントローラ)で監視して異常の有無を判定することが考えられる。しかし、本実施例1のように、複数の駆動源(エンジン10やMG11,12)を制御するために複数のコントローラ23〜27を備えたシステムでは、全てのコントローラ23〜27に対して二重系で監視する構成にすると、コントローラ間の通信量が増大して、いずれかのコントローラの通信負荷が過大になってしまう可能性がある。
そこで、本実施例1では、図3に示すように、第2のHVコントローラ23と第1のHVコントローラ24と第1のMGコントローラ26と第2のMGコントローラ27が、独立した二つの制御系統である第1の制御系統と第2の制御系統とにグループ分けされている。第1の制御系統は、第1のHVコントローラ24を含む制御系統であり、第2のHVコントローラ23と第1のHVコントローラ24と第1のMGコントローラ26からなる。一方、第2の制御系統は、第2のMGコントローラ27のみを含む制御系統である。この場合、第2の制御系統が特許請求の範囲でいう制御系統Aに相当し、第1の制御系統が特許請求の範囲でいう制御系統Bに相当する。
尚、後述するコントローラの監視構成(図3、図7乃至図9、図11乃至図16)において、図2(a)に示すように表記して「AコントローラがBコントローラを相互監視方式で監視」と説明される部分は、図2(b)に示す構成又は図2(c)に示す構成を簡略化して表記したことを意味する。
図2(b)の構成は、Aコントローラの監視部がBコントローラの制御部を監視してBコントローラ(制御部)の異常の有無を判定する。また、Aコントローラの監視モニタがAコントローラの監視部を監視してAコントローラ(監視部)の異常の有無を判定する。更に、Bコントローラの監視モニタがAコントローラの監視モニタを監視してAコントローラ(監視モニタ)の異常の有無を判定する。このようにして、AコントローラとBコントローラが相互に監視して相互に異常の有無を判定する。
図2(c)の構成は、Bコントローラの監視部がBコントローラの制御部を監視してBコントローラ(制御部)の異常の有無を判定し、Bコントローラの監視モニタがBコントローラの監視部を監視してBコントローラ(監視部)の異常の有無を判定する。また、Aコントローラの監視モニタがBコントローラの監視モニタを監視してBコントローラ(監視モニタ)の異常の有無を判定する。更に、Bコントローラの監視モニタがAコントローラの監視モニタを監視してAコントローラ(監視モニタ)の異常の有無を判定する。このようにして、AコントローラとBコントローラが相互に監視して相互に異常の有無を判定する。
ここで、監視部による監視は、例えば、監視対象(制御部)と同じ演算を実行し、監視部の演算結果と監視対象の演算結果とが不一致の場合に監視対象の異常と判定する。或は、監視対象がロックステップマイコン(二つのコアが互いの動作を監視して該二つのコアの演算結果が合致しないと信号を出力しないマイコン)で構成されている場合には、監視対象から信号が出力されない状態が所定時間以上継続したときに監視対象の異常と判定する。
一方、監視モニタによる監視は、監視部よりも簡易な監視であり、例えば、監視対象(監視部又は監視モニタ)のROMチェックやRAMチェックを行って監視対象の異常の有無を判定する。或は、監視対象から周期的に出力されるウォッチドッグ信号が出力されない状態が所定時間以上継続したときに監視対象の異常と判定する。或は、演算質問を監視対象へ出力し、その演算質問に対する演算結果(回答)をチェックして監視対象の異常の有無を判定する。
本実施例1では、図3に示すように、第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、第2のHVコントローラ23が第1のHVコントローラ24を相互監視方式で監視し、第1のHVコントローラ24が第1のMGコントローラ26を相互監視方式で監視する。
一方、第2の制御系統の監視は、第1の制御系統の二つのコントローラが第2の制御系統のコントローラを監視して異常の有無を判定する。具体的には、第2のHVコントローラ23が第2のMGコントローラ27を相互監視方式で監視し、第1のHVコントローラ24が第2のMGコントローラ27を相互監視方式で監視する。この際、第2のHVコントローラ23と第1のHVコントローラ24は、同一のロジック(監視方法)で第2のMGコントローラ27を監視して異常の有無を判定する。また、第2のMGコントローラ27は、監視モニタによる簡易な監視方法で第2のHVコントローラ23と第1のHVコントローラ24を監視する(図2参照)。
そして、第1の制御系統の第1のHVコントローラ24と第2のHVコントローラ23と第1のMGコントローラ26のうちのいずれか一つの異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統の第2のMGコントローラ27が、異常なコントローラを停止した後、各種のセンサ17〜21の出力信号等に基づいて要求駆動トルクを演算して、この要求駆動トルクに基づいて第2MG指令トルクを演算する。また、第2のMGコントローラ27が第2MG指令トルクに基づいて第2のMG12を制御する。これにより、第2のMG12の動力で車両を駆動して走行させるEV走行を行う。この際、第1の制御系統のコントローラ23,24,26のうちのいずれか一つが異常でも、第1のHVコントローラ24と第2のHVコントローラ23のうちの少なくとも一方で第2のMGコントローラ27を監視して異常の有無を判定することができる。
一方、第2の制御系統の第2のMGコントローラ27の異常と判定された場合(第2のMGコントローラ27の異常が確定した場合)には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統の第1のHVコントローラ24が、第2のMGコントローラ27を停止した後、各種のセンサ17〜21の出力信号等に基づいて要求駆動トルクを演算して、この要求駆動トルクに基づいてエンジン指令トルクと第1MG指令トルクを演算する。そして、第1のHVコントローラ24が、エンジン指令トルクをエンジンコントローラ25へ出力し、第1MG指令トルクを第1のMGコントローラ26へ出力する。また、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26が第1MG指令トルクに基づいて第1のMG11を制御する。これにより、エンジン10及び/又は第1のMG11の動力(エンジン10と第1のMG11の両方又はいずれか一方の動力)で車両を駆動して走行させる直行走行を行う。この際、第2の制御系統の第2のMGコントローラ27が異常でも、第1の制御系統のコントローラ23,24,26で互いに監視して異常の有無を判定することができる。
以上説明した本実施例1のコントローラ異常時の制御は、図4及び図5の異常時制御ルーチンに従って実行される。以下、このルーチンの処理内容を説明する。
図4及び図5の異常時制御ルーチンでは、まず、ステップ101で、第1のHVコントローラ24が第2のMGコントローラ27の異常を検出した(異常と判定した)か否かを判定する。このステップ101で、第1のHVコントローラ24が第2のMGコントローラ27の異常を検出していない(正常と判定した)と判定された場合には、ステップ102以降の処理を実行することなく、本ルーチンを終了する。
一方、上記ステップ101で、第1のHVコントローラ24が第2のMGコントローラ27の異常を検出したと判定された場合には、ステップ102に進み、第2のHVコントローラ23が第1のHVコントローラ24から第2のMGコントローラ27の異常判定を受信する。この後、ステップ103に進み、第2のHVコントローラ23が第2のMGコントローラ27の異常を検出した(異常と判定した)か否かを判定する。
このステップ103で、第2のHVコントローラ23が第2のMGコントローラ27の異常を検出したと判定された場合、つまり、第1のHVコントローラ24と第2のHVコントローラ23が両方とも第2のMGコントローラ27の異常と判定した場合には、第1のHVコントローラ24又は第2のHVコントローラ23が第2のMGコントローラ27の異常を確定する。
この場合、ステップ104に進み、第1のHVコントローラ24で第2のMG12を停止した後、ステップ105に進み、第1のHVコントローラ24で第2のMGコントローラ27を停止する。これにより、異常なコントローラ27の信号を使用しないようにする。
この後、ステップ106に進み、第1のHVコントローラ24で、各種のセンサ17〜21の出力信号等に基づいて要求駆動トルクを演算して、この要求駆動トルクに基づいてエンジン指令トルクと第1MG指令トルクを演算し、エンジン指令トルクをエンジンコントローラ25へ出力し、第1MG指令トルクを第1のMGコントローラ26へ出力する。
この後、ステップ107に進み、エンジンコントローラ25でエンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26で第1MG指令トルクに基づいて第1のMG11を制御する。これにより、エンジン10及び/又は第1のMG11の動力で車両を駆動して走行させる直行走行を行う。この際、第1の制御系統のコントローラ23,24,26で互いに監視して異常の有無を判定する。
一方、上記ステップ103で、第2のHVコントローラ23が第2のMGコントローラ27の異常を検出していない(正常と判定した)と判定された場合、つまり、第1のHVコントローラ24が第2のMGコントローラ27の異常と判定したが、第2のHVコントローラ23が第2のMGコントローラ27の正常と判定した場合には、ステップ108に進み、第2のHVコントローラ23が第1のHVコントローラ24の異常を検出した(異常と判定した)か否かを判定する。
このステップ108で、第2のHVコントローラ23が第1のHVコントローラ24の異常を検出したと判定された場合には、第1のHVコントローラ24が異常で、第2のMGコントローラ27が正常と判断できる。
この場合、ステップ109に進み、第2のMGコントローラ27でエンジン10及び第1のMG11を停止した後、ステップ110に進み、第2のMGコントローラ27で第1のHVコントローラ24を停止する。これにより、異常なコントローラ24の信号を使用しないようにする。
この後、ステップ111に進み、第2のMGコントローラ27で、各種のセンサ17〜21の出力信号等に基づいて要求駆動トルクを演算して、この要求駆動トルクに基づいて第2MG指令トルクを演算する。
この後、ステップ112に進み、第2のMGコントローラ27で第2MG指令トルクに基づいて第2のMG12を制御する。これにより、第2のMG12の動力で車両を駆動して走行させるEV走行を行う。この際、第2のHVコントローラ23で第2のMGコントローラ27を監視して異常の有無を判定する。
一方、上記ステップ108で、第2のHVコントローラ23が第1のHVコントローラ24の異常を検出していない(正常と判定した)と判定された場合には、第2のMGコントローラ27による判定結果に基づいて第2のHVコントローラ23と第1のHVコントローラ24のうち異常なコントローラを確定する。
この場合、図5のステップ113に進み、第2のMGコントローラ27が第1のHVコントローラ24の異常を検出した(異常と判定した)か否かを判定する。このステップ113で、第2のMGコントローラ27が第1のHVコントローラ24の異常を検出したと判定された場合には、ステップ114に進み、第2のMGコントローラ27が第2のHVコントローラ23の異常を検出した(異常と判定した)か否かを判定する。
このステップ114で、第2のMGコントローラ27が第2のHVコントローラ23の異常を検出したと判定された場合、つまり、第2のMGコントローラ27が第1のHVコントローラ24の異常と判定すると共に第2のHVコントローラ23の異常と判定した場合には、二重異常の可能性があると判断する。
この場合、ステップ115に進み、第2のMGコントローラ27でエンジン10と第1及び第2のMG11,12を停止した後、ステップ116に進み、第2のMGコントローラ27で第1のHVコントローラ24及び第2のHVコントローラ23を停止して、駆動制御システムを停止する。これにより、異常の可能性のあるコントローラ23,24の信号を使用しないようにする。
これに対して、上記ステップ114で、第2のMGコントローラ27が第2のHVコントローラ23の異常を検出していない(正常と判定した)と判定された場合、つまり、第2のMGコントローラ27が、第1のHVコントローラ24の異常と判定する共に第2のHVコントローラ23の正常と判定した場合には、第1のHVコントローラ24の異常を確定する。
この場合、ステップ117に進み、第2のMGコントローラ27でエンジン10及び第1のMG11を停止した後、ステップ118に進み、第2のMGコントローラ27で第1のHVコントローラ24を停止する。これにより、異常なコントローラ24の信号を使用しないようにする。
この後、ステップ119に進み、第2のMGコントローラ27で、各種のセンサ17〜21の出力信号等に基づいて要求駆動トルクを演算して、この要求駆動トルクに基づいて第2MG指令トルクを演算する。
この後、ステップ120に進み、第2のMGコントローラ27で第2MG指令トルクに基づいて第2のMG12を制御する。これにより、第2のMG12の動力で車両を駆動して走行させるEV走行を行う。この際、第2のHVコントローラ23で第2のMGコントローラ27を監視して異常の有無を判定する。
一方、上記ステップ113で、第2のMGコントローラ27が第1のHVコントローラ24の異常を検出していない(正常と判定した)と判定された場合には、ステップ121に進み、第2のMGコントローラ27が第2のHVコントローラ23の異常を検出した(異常と判定した)か否かを判定する。
このステップ121で、第2のMGコントローラ27が第2のHVコントローラ23の異常を検出したと判定された場合、つまり、第2のMGコントローラ27が、第1のHVコントローラ24の正常と判定する共に第2のHVコントローラ23の異常と判定した場合には、第2のHVコントローラ23の異常を確定する。
この場合、ステップ122に進み、第2のMGコントローラ27でエンジン10及び第1のMG11を停止した後、ステップ123に進み、第2のMGコントローラ27で第2のHVコントローラ23を停止する。これにより、異常なコントローラ23の信号を使用しないようにする。
この後、ステップ124に進み、第2のMGコントローラ27で、各種のセンサ17〜21の出力信号等に基づいて要求駆動トルクを演算して、この要求駆動トルクに基づいて第2MG指令トルクを演算する。
この後、ステップ125に進み、第2のMGコントローラ27で第2MG指令トルクに基づいて第2のMG12を制御する。これにより、第2のMG12の動力で車両を駆動して走行させるEV走行を行う。この際、第1のHVコントローラ24で第2のMGコントローラ27を監視して異常の有無を判定する。
これに対して、上記ステップ121で、第2のMGコントローラ27が第2のHVコントローラ23の異常を検出していない(正常と判定した)と判定された場合、つまり、第2のMGコントローラ27が、第1のHVコントローラ24の正常と判定する共に第2のHVコントローラ23の正常と判定した場合には、多重異常の可能性があると判断する。
この場合、ステップ126に進み、第1のHVコントローラ24と第2のHVコントローラ23と第2のMGコントローラ27でエンジン10と第1及び第2のMG11,12を停止して、駆動制御システムを停止する。これにより、異常の可能性のあるコントローラ23,24,27の信号を使用しないようにする。
以上説明した本実施例1では、第1のHVコントローラ24に異常が生じた場合に、第2のMGコントローラ27が、各種のセンサ17〜21の出力信号等に基づいて車両の要求駆動トルクを演算して、この要求駆動トルクに基づいて第2MG指令トルクを演算するようにしている。このようにすれば、第1のHVコントローラ24に異常が生じた場合には、第1のHVコントローラ24に代わって、第2のMGコントローラ27が要求駆動トルクを演算して第2MG指令トルクを演算することができ、その第2MG指令トルクに基づいて第2のMGコントローラ27が第2のMG12を制御することができる。これにより、第1のHVコントローラ24に異常が生じた場合でも、第2のMG12を制御して車両を走行させることができる。
また、本実施例1では、第2のHVコントローラ23と第1のHVコントローラ24と第1のMGコントローラ26からなる第1の制御系統と、第2のMGコントローラ27のみを含む第2の制御系統とにグループ分けしている。そして、第1の制御系統の監視は、同一の制御系統内のコントローラ23,24,26で互いに監視して異常の有無を判定し、第2の制御系統の監視は、第1の制御系統の二つのコントローラ23,24が第2の制御系統のコントローラ27を監視して異常の有無を判定するようにしている。これにより、一つのコントローラ27のみを含む制御系統(本実施例1では第2の制御系統)がある場合でも、その制御系統のコントローラ27を二重系で監視して異常の有無を判定することができる。また、駆動源を制御するための全てのコントローラ23〜27に対して二重系で監視する構成に比べて、コントローラ23〜27の通信負荷の増大を抑制することができる。
更に、本実施例1では、第1の制御系統の第1のHVコントローラ24と第2のHVコントローラ23と第1のMGコントローラ26のうちのいずれか一つの異常と判定された場合には、第2の制御系統の第2のMGコントローラ27が、要求駆動トルクを演算して第2MG指令トルクを演算し、この第2MG指令トルクに基づいて第2のMG12を制御するようにしている。これにより、第2の制御系統の第2のMGコントローラ27で第2のMG12を制御して車両を退避走行させることができる。この際、第1の制御系統のコントローラ23,24,26のうちのいずれか一つが異常でも、コントローラ23,24のうちの少なくとも一方で第2の制御系統のコントローラ27を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統の第2のMGコントローラ27に異常が生じた場合には、第1の制御系統の第1のHVコントローラ24が要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクを演算し、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26が第1MG指令トルクに基づいて第1のMG11を制御するようにしている。これにより、第1の制御系統のコントローラ24〜26でエンジン10や第1のMG11を制御して車両を退避走行させることができる。この際、第2の制御系統のコントローラ27が異常でも、第1の制御系統のコントローラ23,24,26で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
また、本実施例1では、第1のHVコントローラ24と第2のHVコントローラ23が両方とも第2のMGコントローラ27の異常と判定した場合に、第2のMGコントローラ27の異常を確定するようにしている。これにより、第2のMGコントローラ27の異常を精度良く検出することができる。
また、本実施例1では、第2のHVコントローラ23と第1のHVコントローラ24は、同一のロジック(監視方法)で第2のMGコントローラ27を監視して異常の有無を判定するようにしている。これにより、二つのコントローラ23,24間で、監視ロジックの違いによる判定結果の違いを無くすことができる。
また、本実施例1では、第2のHVコントローラ23と第1のHVコントローラ24による判定結果が異なる場合に、第2のMGコントローラ27による判定結果に基づいて第2のHVコントローラ23と第1のHVコントローラ24のうち異常なコントローラを確定するようにしている。これにより、第2のHVコントローラ23と第1のHVコントローラ24による判定結果が異なる場合でも、二つのコントローラ23,24のうち異常なコントローラを確定することができる。
更に、本実施例1では、第2のHVコントローラ23と第1のHVコントローラ24のうち異常なコントローラを確定できず、複数のコントローラの異常(二重異常や多重異常)の可能性がある場合には、エンジン10と第1及び第2のMG11,12を停止するようにしている。これにより、異常なコントローラを確定できない場合の安全性を確保することができる。
また、本実施例1では、第2のMGコントローラ27は、監視モニタによる簡易な監視方法で第2のHVコントローラ23と第1のHVコントローラ24を監視するようにしている。これにより、第2のMGコントローラ27が二つのコントローラ23,24を監視する際の演算負荷を低減することができる。
また、本実施例1では、少なくとも一つのコントローラをロックステップマイコンで構成して、そのコントローラから信号が出力されない状態が所定時間以上継続したときに異常と判定するようにしても良い。このようにすれば、コントローラ間の通信量を減少させてコントローラの通信負荷を低減することができる。
次に、図6乃至図9を用いて本発明の実施例2を説明する。但し、前記実施例1と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
前記実施例1では、車両の駆動源としてエンジン10と二つのMG11,12が搭載されていたが、本実施例2では、図6に示すように、車両の駆動源としてエンジン10と一つのMG12が搭載されている。エンジン10の動力を車輪16に伝達する動力伝達系に、MG12の回転軸が動力伝達可能に連結されている。また、エンジン10とMG12との間に、動力伝達を断続するための第1のクラッチC1が設けられ、MG12と車軸15との間に、動力伝達を断続するための第2のクラッチC2が設けられている。更に、第1のクラッチC1を制御する第1のT/Mコントローラ28と、第2のクラッチC2を制御する第2のT/Mコントローラ29が設けられている。但し、第1のT/Mコントローラ28は、第2のクラッチC2を制御する機能も備えている。
HVコントローラ(ハイブリッドコントローラ)24は、エンジンコントローラ25と、MGコントローラ27と、第1のT/Mコントローラ28と、第2のT/Mコントローラ29との間で制御信号やデータ信号を送受信し、各コントローラ25,27〜29よってエンジン10とMG12とクラッチC1,C2等を制御する。
システムの正常時に、HVコントローラ24(メイン制御回路)は、各種のセンサ17〜21(図1参照)の出力信号等に基づいて車両の要求駆動トルクを演算して、この要求駆動トルクに基づいてエンジン指令トルクとMG指令トルクと第1及び第2クラッチ指令値を演算する。そして、HVコントローラ24は、エンジン指令トルクをエンジンコントローラ25へ出力し、MG指令トルクをMGコントローラ27へ出力し、第1クラッチ指令値を第1のT/Mコントローラ28へ出力し、第2クラッチ指令値を第2のT/Mコントローラ29へ出力する。
また、エンジンコントローラ25(サブ制御回路)は、エンジン指令トルクに基づいてエンジン10を制御し、MGコントローラ27(サブ制御回路)は、MG指令トルクに基づいてMG12を制御する。更に、第1のT/Mコントローラ28(サブ制御回路)は、第1クラッチ指令値に基づいて第1のクラッチC1を制御し、第2のT/Mコントローラ29(サブ制御回路)は、第2クラッチ指令値に基づいて第2のクラッチC2を制御する。
本実施例2では、コントローラ24,25,27〜29が、独立した二つの制御系統である第1の制御系統と第2の制御系統とにグループ分けされている。以下、グループ分けが異なる三つのパターン(第1〜第3のパターン)について説明する。
[第1のパターン]
図7に示すように、第1の制御系統は、HVコントローラ24とエンジンコントローラ25と第1のT/Mコントローラ28からなる。一方、第2の制御系統は、MGコントローラ27と第2のT/Mコントローラ29からなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24がエンジンコントローラ25を相互監視方式で監視し、エンジンコントローラ25が第1のT/Mコントローラ28を相互監視方式で監視し、第1のT/Mコントローラ28がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視も、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、MGコントローラ27が第2のT/Mコントローラ29を相互監視方式で監視し、第2のT/Mコントローラ29がMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24とエンジンコントローラ25と第1のT/Mコントローラ28のうちのいずれか一つの異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統のMGコントローラ27が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算してMG指令トルクと第2クラッチ指令値を演算し、第2クラッチ指令値を第2のT/Mコントローラ29へ出力する。或は、第2の制御系統の第2のT/Mコントローラ29が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算してMG指令トルクと第2クラッチ指令値を演算し、MG指令トルクをMGコントローラ27へ出力するようにしても良い。
また、MGコントローラ27がMG指令トルクに基づいてMG12を制御し、第2のT/Mコントローラ29が第2クラッチ指令値に基づいて第2のクラッチC2を制御(係合)する。これにより、第2の制御系統のコントローラ27,29でMG12や第2のクラッチC2を制御して車両を退避走行させることができる。この際、第1の制御系統のコントローラ24,25,28のうちのいずれか一つが異常でも、第2の制御系統のコントローラ27,29で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統のMGコントローラ27と第2のT/Mコントローラ29のうちの一方の異常と判定された場合には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が、異常なコントローラを停止した後、要求駆動トルクを演算してエンジン指令トルクと第1及び第2クラッチ指令値を演算する。そして、HVコントローラ24が、エンジン指令トルクをエンジンコントローラ25へ出力し、第1及び第2クラッチ指令値を第1のT/Mコントローラ28へ出力する。
また、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御する。更に、第1のT/Mコントローラ28が、第1クラッチ指令値に基づいて第1のクラッチC1を制御(係合)し、第2クラッチ指令値に基づいて第2のクラッチC2を制御(係合)する。これにより、第1の制御系統のコントローラ24,25,28でエンジンや第1及び第2のクラッチC1,C2を制御して車両を退避走行させることができる。この際、第2の制御系統のコントローラ27,29のうちの一方が異常でも、第1の制御系統のコントローラ24,25,28で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
[第2のパターン]
図8に示すように、第1の制御系統は、HVコントローラ24とMGコントローラ27と第2のT/Mコントローラ29からなる。一方、第2の制御系統は、エンジンコントローラ25と第1のT/Mコントローラ28からなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24がMGコントローラ27を相互監視方式で監視し、MGコントローラ27が第2のT/Mコントローラ29を相互監視方式で監視し、第2のT/Mコントローラ29がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視も、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、エンジンコントローラ25が第1のT/Mコントローラ28を相互監視方式で監視し、第1のT/Mコントローラ28がエンジンコントローラ25を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24とMGコントローラ27と第2のT/Mコントローラ29のうちのいずれか一つの異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統のエンジンコントローラ25が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算してエンジン指令トルクと第1及び第2クラッチ指令値を演算し、第1及び第2クラッチ指令値を第1のT/Mコントローラ28へ出力する。或は、第2の制御系統の第1のT/Mコントローラ28が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算してエンジン指令トルクと第1及び第2クラッチ指令値を演算し、エンジン指令トルクをエンジンコントローラ25へ出力するようにしても良い。
また、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御する。更に、第1のT/Mコントローラ28が、第1クラッチ指令値に基づいて第1のクラッチC1を制御(係合)し、第2クラッチ指令値に基づいて第2のクラッチC2を制御(係合)する。これにより、第2の制御系統のコントローラ25,28でエンジンや第1及び第2のクラッチC1,C2を制御して車両を退避走行させることができる。この際、第1の制御系統のコントローラ24,27,29のうちのいずれか一つが異常でも、第2の制御系統のコントローラ25,28で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統のエンジンコントローラ25と第1のT/Mコントローラ28のうちの一方の異常と判定された場合には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が、異常なコントローラを停止した後、要求駆動トルクを演算してMG指令トルクと第2クラッチ指令値を演算する。そして、HVコントローラ24が、MG指令トルクをMGコントローラ27へ出力し、第2クラッチ指令値を第2のT/Mコントローラ29へ出力する。
また、MGコントローラ27がMG指令トルクに基づいてMG12を制御し、第2のT/Mコントローラ29が第2クラッチ指令値に基づいて第2のクラッチC2を制御(係合)する。これにより、第1の制御系統のコントローラ24,27,29でMG12や第2のクラッチC2を制御して車両を退避走行させることができる。この際、第2の制御系統のコントローラ25,28のうちの一方がが異常でも、第1の制御系統のコントローラ24,27,29で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
[第3のパターン]
第1及び第2のT/Mコントローラ28,29が制御演算機能を持たない油圧制御装置(HVコントローラ24の指令通りに動作する油圧制御装置)の場合について説明する。図9に示すように、第1の制御系統は、HVコントローラ24とエンジンコントローラ25からなる。一方、第2の制御系統は、MGコントローラ27のみからなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24がエンジンコントローラ25を相互監視方式で監視し、エンジンコントローラ25がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視は、第1の制御系統の二つのコントローラが第2の制御系統のコントローラを監視して異常の有無を判定する。具体的には、HVコントローラ24がMGコントローラ27を相互監視方式で監視し、エンジンコントローラ25がMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24とエンジンコントローラ25のうちの一方の異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統のMGコントローラ27が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算してMG指令トルクと第2クラッチ指令値を演算する。
また、MGコントローラ27が、MG指令トルクに基づいてMG12を制御し、第2クラッチ指令値に基づいて第2のT/Mコントローラ29(油圧制御装置)を制御して第2のクラッチC2を制御(係合)する。これにより、第2の制御系統のMGコントローラ27でMG12や第2のクラッチC2を制御して車両を退避走行させることができる。この際、第1の制御系統のコントローラ24,25のうちの一方が異常でも、他方で第2の制御系統のMGコントローラ27を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統のMGコントローラ27の異常と判定された場合(MGコントローラ27の異常が確定した場合)には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が、MGコントローラ27を停止した後、要求駆動トルクを演算してエンジン指令トルクと第1及び第2クラッチ指令値を演算し、エンジン指令トルクをエンジンコントローラ25へ出力する。
また、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御する。更に、HVコントローラ24が、第1クラッチ指令値に基づいて第1のT/Mコントローラ28(油圧制御装置)を制御して第1のクラッチC1を制御(係合)し、第2クラッチ指令値に基づいて第2のT/Mコントローラ29(油圧制御装置)を制御して第2のクラッチC2を制御(係合)する。これにより、第1の制御系統のコントローラ24,25でエンジン10や第1及び第2のクラッチC1,C2を制御して車両を退避走行させることができる。この際、第2の制御系統の第2のMGコントローラ27が異常でも、第1の制御系統のコントローラ24,25で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
次に、図10乃至図12を用いて本発明の実施例3を説明する。但し、前記実施例1と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例3では、図10に示すように、エンジン10の出力軸と第1のMG11の回転軸と第2のMG12の回転軸と車軸15が動力伝達装置30を介して連結されている。この動力伝達装置30には、第1〜第3の遊星ギヤ機構31〜33と第1〜第4のクラッチC1〜C4等が設けられている。第3及び第4のクラッチC3,C4は、固定端(例えば動力伝達装置30のハウジング等)に連結されたクラッチであり、ブレーキと呼ばれることもある。更に、第1及び第3のクラッチC1,C3を制御する第1のT/Mコントローラ28と、第2及び第4のクラッチC2,C4を制御する第2のT/Mコントローラ29が設けられている。但し、第1のT/Mコントローラ28は、第2のクラッチC2を制御する機能も備えている。
HVコントローラ24は、エンジンコントローラ25と、第1及び第2のMGコントローラ26,27と、第1及び第2のT/Mコントローラ28,29との間で制御信号やデータ信号を送受信し、各コントローラ25〜29によってエンジン10とMG11,12とクラッチC1〜C4等を制御する。
システムの正常時に、HVコントローラ24(メイン制御回路)は、各種のセンサ17〜21(図1参照)の出力信号等に基づいて車両の要求駆動トルクを演算して、この要求駆動トルクに基づいてエンジン指令トルクと第1及び第2MG指令トルクと第1〜第4クラッチ指令値を演算する。そして、HVコントローラ24は、エンジン指令トルクをエンジンコントローラ25へ出力し、第1MG指令トルクを第1のMGコントローラ26へ出力し、第2MG指令トルクを第2のMGコントローラ27へ出力する。更に、第1及び第3クラッチ指令値を第1のT/Mコントローラ28へ出力し、第2及び第4クラッチ指令値を第2のT/Mコントローラ29へ出力する。
また、エンジンコントローラ25(サブ制御回路)は、エンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26(サブ制御回路)は、第1MG指令トルクに基づいて第1のMG11を制御し、第2のMGコントローラ27(サブ制御回路)は、第2MG指令トルクに基づいて第2のMG12を制御する。更に、第1のT/Mコントローラ28(サブ制御回路)は、第1クラッチ指令値に基づいて第1のクラッチC1を制御し、第3クラッチ指令値に基づいて第3のクラッチC3を制御する。第2のT/Mコントローラ29(サブ制御回路)は、第2クラッチ指令値に基づいて第2のクラッチC2を制御し、第4クラッチ指令値に基づいて第4のクラッチC4を制御する。
本実施例5では、コントローラ24〜29が、独立した二つの制御系統である第1の制御系統と第2の制御系統とにグループ分けされている。以下、グループ分けが異なる二つのパターン(第1のパターンと第2のパターン)について説明する。
[第1のパターン]
図11に示すように、第1の制御系統は、HVコントローラ24とエンジンコントローラ25と第1のMGコントローラ26と第1のT/Mコントローラ28からなる。一方、第2の制御系統は、第2のMGコントローラ27と第2のT/Mコントローラ29からなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24がエンジンコントローラ25を相互監視方式で監視し、HVコントローラ24が第1のT/Mコントローラ28を相互監視方式で監視する。更に、HVコントローラ24が第1のMGコントローラ26を相互監視方式で監視し、第1のMGコントローラ26がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視も、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、第2のMGコントローラ27が第2のT/Mコントローラ29を相互監視方式で監視し、第2のT/Mコントローラ29が第2のMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24とエンジンコントローラ25と第1のMGコントローラ26と第1のT/Mコントローラ28のうちのいずれか一つの異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統の第2のMGコントローラ27が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算して第2MG指令トルクと第2及び第4クラッチ指令値を演算し、第2及び第4クラッチ指令値を第2のT/Mコントローラ29へ出力する。或は、第2の制御系統の第2のT/Mコントローラ29が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算して第2MG指令トルクと第2及び第4クラッチ指令値を演算し、第2MG指令トルクを第2のMGコントローラ27へ出力するようにしても良い。
また、第2のMGコントローラ27が第2MG指令トルクに基づいて第2のMG12を制御し、第2のT/Mコントローラ29が、第2クラッチ指令値に基づいて第2のクラッチC2を制御(係合)し、第4クラッチ指令値に基づいて第4のクラッチC4を制御(係合)する。これにより、第2の制御系統のコントローラ27,29で第2のMG12や第2及び第4のクラッチC2,C4を制御して車両を退避走行させることができる。この際、第1の制御系統のコントローラ24〜26,28のうちのいずれか一つが異常でも、第2の制御系統のコントローラ27,29で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統の第2のMGコントローラ27と第2のT/Mコントローラ29)のうちの一方の異常と判定された場合には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が、異常なコントローラを停止した後、要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクと第1〜第3クラッチ指令値を演算する。そして、HVコントローラ24が、エンジン指令トルクをエンジンコントローラ25へ出力し、第1MG指令トルクを第1のMGコントローラ26へ出力し、第1〜第3クラッチ指令値を第1のT/Mコントローラ28へ出力する。
また、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26が第1MG指令トルクに基づいて第1のMG11を制御する。更に、第1のT/Mコントローラ28が、第1クラッチ指令値に基づいて第1のクラッチC1を制御(係合)し、第2クラッチ指令値に基づいて第2のクラッチC2を制御(係合)し、第3クラッチ指令値に基づいて第3のクラッチC3を制御(係合)する。これにより、第1の制御系統のコントローラ24〜26,28でエンジンや第1のMG11や第1〜第3のクラッチC1〜C3を制御して車両を退避走行させることができる。この際、第2の制御系統のコントローラ27,29のうちの一方が異常でも、第1の制御系統のコントローラ24〜26,28で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
[第2のパターン]
第1及び第2のT/Mコントローラ28,29が制御演算機能を持たない油圧制御装置(HVコントローラ24の指令通りに動作する油圧制御装置)の場合について説明する。図12に示すように、第1の制御系統は、HVコントローラ24とエンジンコントローラ25と第1のMGコントローラ26からなる。一方、第2の制御系統は、第2のMGコントローラ27のみからなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24がエンジンコントローラ25を相互監視方式で監視する。更に、HVコントローラ24が第1のMGコントローラ26を相互監視方式で監視し、第1のMGコントローラ26がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視は、第1の制御系統の二つのコントローラが第2の制御系統のコントローラを監視して異常の有無を判定する。具体的には、HVコントローラ24が第2のMGコントローラ27を相互監視方式で監視し、第1のMGコントローラ26がMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24とエンジンコントローラ25と第1のMGコントローラ26のうちのいずれか一つの異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統の第2のMGコントローラ27が、特定のサブ制御回路として機能して、異常なコントローラを停止した後、要求駆動トルクを演算して第2MG指令トルクと第2及び第4クラッチ指令値を演算する。
また、第2のMGコントローラ27が、第2MG指令トルクに基づいて第2のMG12を制御し、第2及び第4クラッチ指令値に基づいて第2のT/Mコントローラ29(油圧制御装置)を制御して第2及び第4のクラッチC2,C4を制御(係合)する。これにより、第2の制御系統の第2のMGコントローラ27で第2のMG12や第2及び第4のクラッチC2,C4を制御して車両を退避走行させることができる。この際、第1の制御系統のコントローラ24〜26のうちのいずれか一つが異常でも、コントローラ24,26のうちの少なくとも一方で第2の制御系統のコントローラ27を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統の第2のMGコントローラ27の異常と判定された場合(第2のMGコントローラ27の異常が確定した場合)には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が、第2のMGコントローラ27を停止した後、要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクと第1〜第3クラッチ指令値を演算する。そして、HVコントローラ24が、エンジン指令トルクをエンジンコントローラ25へ出力し、第1MG指令トルクを第1のMGコントローラ26へ出力する。
また、エンジンコントローラ25がエンジン指令トルクに基づいてエンジン10を制御し、第1のMGコントローラ26が第1MG指令トルクに基づいて第1のMG11を制御する。更に、HVコントローラ24が第1〜第3クラッチ指令値に基づいて第1のT/Mコントローラ28(油圧制御装置)を制御して第1〜第3のクラッチC1〜C3を制御(係合)する。これにより、第1の制御系統のコントローラ24〜26でエンジンや第1のMG11や第1〜第3のクラッチC1〜C3を制御して車両を退避走行させることができる。この際、第2の制御系統の第2のMGコントローラ27が異常でも、第1の制御系統のコントローラ24〜26で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
尚、上記実施例3では、第1の制御系統と第2の制御系統とにグループ分けする際に、第2のMG12の動力で走行可能なグループと、エンジン10及び/又は第1のMG11の動力で走行可能なグループとにグループ分けするようにしている。しかし、これに限定されず、例えば、各T/Mコントローラ28,29で制御するクラッチを適宜変更して、第1のMG11の動力で走行可能なグループと、エンジン10及び/又は第2のMG12の動力で走行可能なグループとにグループ分けするようにしても良い。或は、エンジン10及び/又は第1のMG11の動力で走行可能なグループと、エンジン10及び/又は第2のMG12の動力で走行可能なグループとにグループ分けするようにしても良い。
次に、図13を用いて本発明の実施例4を説明する。但し、前記実施例1と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例4では、図13に示すように、HVコントローラ24と第1及び第2のMGコントローラ26,27とを備え、これらのコントローラ24,26,27が独立した二つの制御系統にグループ分けされている。第1の制御系統は、HVコントローラ24と第1のMGコントローラ26からなる。一方、第2の制御系統は、第2のMGコントローラ27のみからなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24が第1のMGコントローラ26を相互監視方式で監視し、第1のMGコントローラ26がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視は、第1の制御系統の二つのコントローラが第2の制御系統のコントローラを監視して異常の有無を判定する。具体的には、HVコントローラ24が第2のMGコントローラ27を相互監視方式で監視し、第1のMGコントローラ26が第2のMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24と第1のMGコントローラ26のうちの一方の異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統の第2のMGコントローラ27が要求駆動トルクを演算して第2MG指令トルクを演算し、第2のMGコントローラ27が第2のMG12を制御することで車両を退避走行させる。この際、第1の制御系統のコントローラ24,26のうちの一方が異常でも、他方で第2の制御系統の第2のMGコントローラ27を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統の第2のMGコントローラ27の異常と判定された場合(MGコントローラ27の異常が確定した場合)には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクを演算し、HVコントローラ24がエンジン10を制御すると共に第1のMGコントローラ26が第1のMG11を制御することで車両を退避走行させる。この際、第2の制御系統の第2のMGコントローラ27が異常でも、第1の制御系統のコントローラ24,26で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
次に、図14を用いて本発明の実施例5を説明する。但し、前記実施例1と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例5では、図14に示すように、HVコントローラ24と第1及び第2のMGコントローラ26,27とT/Mコントローラ28を備え、これらのコントローラ24,26〜28が独立した二つの制御系統にグループ分けされている。第1の制御系統は、HVコントローラ24と第1のMGコントローラ26からなる。一方、第2の制御系統は、第2のMGコントローラ27とT/Mコントローラ28からなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24が第1のMGコントローラ26を相互監視方式で監視し、第1のMGコントローラ26がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視も、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、第2のMGコントローラ27がT/Mコントローラ28を相互監視方式で監視し、T/Mコントローラ28が第2のMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24と第1のMGコントローラ26のうちの一方の異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統の第2のMGコントローラ27又はT/Mコントローラ28が要求駆動トルクを演算して第2MG指令トルクとクラッチ指令値を演算し、第2のMGコントローラ27が第2のMG12を制御すると共にT/Mコントローラ28がクラッチを制御することで車両を退避走行させる。この際、第1の制御系統のコントローラ24,26のうちの一方が異常でも、第2の制御系統のコントローラ27,28で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統の第2のMGコントローラ27と第2のT/Mコントローラ29のうちの一方の異常と判定された場合には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクを演算し、HVコントローラ24がエンジン10を制御すると共に第1のMGコントローラ26が第1のMG11を制御することで車両を退避走行させる。この際、第2の制御系統のコントローラ27,28のうちの一方が異常でも、第1の制御系統のコントローラ24,26で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
次に、図15を用いて本発明の実施例6を説明する。但し、前記実施例1と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例6では、図15に示すように、HVコントローラ24とエンジンコントローラ25と第1及び第2のMGコントローラ26,27とを備え、これらのコントローラ24〜27が独立した二つの制御系統にグループ分けされている。第1の制御系統は、HVコントローラ24とエンジンコントローラ25と第1のMGコントローラ26からなる。一方、第2の制御系統は、第2のMGコントローラ27のみからなる。
第1の制御系統の監視は、同一の制御系統内のコントローラで互いに監視して異常の有無を判定する。具体的には、HVコントローラ24がエンジンコントローラ25を相互監視方式で監視する。更に、HVコントローラ24が第1のMGコントローラ26を相互監視方式で監視し、第1のMGコントローラ26がHVコントローラ24を相互監視方式で監視する。一方、第2の制御系統の監視は、第1の制御系統の二つのコントローラが第2の制御系統のコントローラを監視して異常の有無を判定する。具体的には、HVコントローラ24が第2のMGコントローラ27を相互監視方式で監視し、第1のMGコントローラ26が第2のMGコントローラ27を相互監視方式で監視する。
そして、第1の制御系統のHVコントローラ24とエンジンコントローラ25と第1のMGコントローラ26のうちのいずれか一つの異常と判定された場合には、第2の制御系統で駆動源を制御して車両を走行させる。この場合、第2の制御系統の第2のMGコントローラ27が要求駆動トルクを演算して第2MG指令トルクを演算し、第2のMGコントローラ27が第2のMG12を制御することで車両を退避走行させる。この際、第1の制御系統のコントローラ24〜26のうちのいずれか一つが異常でも、コントローラ24,26のうちの少なくとも一方で第2の制御系統のコントローラ27を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、第2の制御系統の第2のMGコントローラ27の異常と判定された場合(MGコントローラ27の異常が確定した場合)には、第1の制御系統で駆動源を制御して車両を走行させる。この場合、第1の制御系統のHVコントローラ24が要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクを演算し、エンジンコントローラ25がエンジン10を制御すると共に第1のMGコントローラ26が第1のMG11を制御することで車両を退避走行させる。この際、第2の制御系統の第2のMGコントローラ27が異常でも、第1の制御系統のコントローラ24〜26で互いに監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
次に、図16を用いて本発明の実施例7を説明する。但し、前記実施例1と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。
本実施例7では、図16に示すように、駆動源を制御するための一つのメインコントローラ34(メイン制御回路)及び一つのサブコントローラ35(サブ制御回路)と、これらのコントローラ34,35を監視するための一つの監視コントローラ36(監視制御回路)とを備えている。
システムの正常時に、メインコントローラ34は、車両の要求駆動トルクを演算して、この要求駆動トルクに基づいてエンジン指令トルクと第1MG指令トルクと第2MG指令トルクを演算する。また、メインコントローラ34は、エンジン指令トルクに基づいてエンジン10を制御し、第1MG指令トルクに基づいて第1のMG11を制御し、第2MG指令トルクに基づいて第2のMG12を制御する。
また、本実施例7では、メインコントローラ34とサブコントローラ35が互いに監視して異常の有無を判定する。具体的には、メインコントローラ34がサブコントローラ35を相互監視方式で監視し、サブコントローラ35がメインコントローラ34を相互監視方式で監視する。更に、監視コントローラ36がメインコントローラ34とサブコントローラ35を監視して異常の有無を判定する。具体的には、監視コントローラ36がメインコントローラ34を相互監視方式で監視し、監視コントローラ36がサブコントローラ35を相互監視方式で監視する。
そして、メインコントローラ34の異常と判定された場合には、サブコントローラ35で駆動源を制御して車両を走行させる。この場合、サブコントローラ35が、要求駆動トルクを演算してエンジン指令トルクと第1MG指令トルクと第2MG指令トルクを演算し、エンジン10と第1及び第2のMG11,12を制御することで車両を退避走行させる。この際、メインコントローラ34が異常でも、監視コントローラ36でサブコントローラ35を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
一方、サブコントローラ35の異常と判定された場合には、引き続きメインコントローラ34で駆動源を制御して車両を走行させる。この際、サブコントローラ35が異常でも、監視コントローラ36でメインコントローラ34を監視して異常の有無を判定することができるため、安全性を確保しながら車両を退避走行させることができる。
また、本実施例7では、メインコントローラ34とサブコントローラ35は、互いに監視するだけであるため、駆動源を制御するためのメインコントローラ34やサブコントローラ35の通信負荷の増大を抑制することができる。
尚、上記実施例7では、システムの正常時に、メインコントローラ34が駆動源の指令トルクを演算して、メインコントローラ34が駆動源を制御するシステムに本発明を適用している。しかし、これに限定されず、例えば、メインコントローラ34が駆動源の指令トルクを演算して、サブコントローラ35が駆動源を制御するシステムに本発明を適用しても良い。或は、メインコントローラ34が駆動源の指令トルクを演算して、メインコントローラ34とサブコントローラ35が駆動源を制御するシステムに本発明を適用しても良い。
また、上記各実施例1〜7では、エンジンとMGを駆動源とするハイブリッド車に本発明を適用したが、これに限定されず、複数のエンジンを駆動源とする車両や複数のMGを駆動源とする車両(電気自動車)に本発明を適用しても良い。