図1は、本発明の一実施例としてのハイブリッド自動車20の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図示するように、ガソリンや軽油などを燃料として動力を出力するエンジン22と、エンジン22を駆動制御するエンジン用電子制御ユニット(以下、エンジンECUという)24と、エンジン22のクランクシャフト26にキャリアが接続されると共に駆動輪38a,38bにデファレンシャルギヤ37を介して連結された駆動軸36にリングギヤが接続されたプラネタリギヤ30と、例えば同期発電電動機として構成されて回転子がプラネタリギヤ30のサンギヤに接続されたモータMG1と、例えば同期発電電動機として構成されて回転子が駆動軸36に接続されたモータMG2と、モータMG1,MG2を駆動するためのインバータ41,42と、インバータ41,42の図示しないスイッチング素子をスイッチング制御することによってモータMG1,MG2を駆動制御するモータ用電子制御ユニット(以下、モータECUという)40と、例えばリチウムイオン二次電池として構成されてインバータ41,42を介してモータMG1,MG2と電力をやりとりするバッテリ50と、バッテリ50を管理するバッテリ用電子制御ユニット(以下、バッテリECUという)52と、車両全体を制御するハイブリッド用電子制御ユニット(以下、HVECUという)70と、を備える。
エンジンECU24は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。エンジンECU24には、エンジン22の運転状態を検出する各種センサから信号、例えば、クランクシャフト26の回転位置を検出するクランクポジションセンサからのクランクポジションθcrやエンジン22の冷却水の温度を検出する水温センサからの冷却水温Tw,燃焼室内に取り付けられた圧力センサからの筒内圧力Pin,燃焼室へ吸排気を行なう吸気バルブや排気バルブを開閉するカムシャフトの回転位置を検出するカムポジションセンサからのカムポジションθca,スロットルバルブのポジションを検出するスロットルバルブポジションセンサからのスロットルポジションTP,吸気管に取り付けられたエアフローメータからの吸入空気量Qa,同じく吸気管に取り付けられた温度センサからの吸気温Ta,排気系に取り付けられた空燃比センサからの空燃比AF,同じく排気系に取り付けられた酸素センサからの酸素信号O2などが入力ポートを介して入力されており、エンジンECU24からは、エンジン22を駆動するための種々の制御信号、例えば、燃料噴射弁への駆動信号やスロットルバルブのポジションを調節するスロットルモータへの駆動信号,イグナイタと一体化されたイグニッションコイルへの制御信号,吸気バルブの開閉タイミングの変更可能な可変バルブタイミング機構への制御信号などが出力ポートを介して出力されている。また、エンジンECU24は、HVECU70と通信しており、HVECU70からの制御信号によりエンジン22を運転制御すると共に必要に応じてエンジン22の運転状態に関するデータをHVECU70に出力する。なお、エンジンECU24は、クランクシャフト26に取り付けられた図示しないクランクポジションセンサからの信号に基づいてクランクシャフト26の回転数、即ちエンジン22の回転数Neも演算している。
モータECU40は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。モータECU40には、モータMG1,MG2を駆動制御するために必要な信号、例えばモータMG1,MG2の回転子の回転位置を検出する回転位置検出センサ43,44からの回転位置θm1,θm2や図示しない電流センサにより検出されるモータMG1,MG2に印加される相電流などが入力ポートを介して入力されており、モータECU40からは、インバータ41,42の図示しないスイッチング素子へのスイッチング制御信号などが出力ポートを介して出力されている。また、モータECU40は、HVECU70と通信しており、HVECU70からの制御信号によってモータMG1,MG2を駆動制御すると共に必要に応じてモータMG1,MG2の運転状態に関するデータをHVECU70に出力する。なお、モータECU40は、回転位置検出センサ43,44からのモータMG1,MG2の回転子の回転位置θm1,θm2に基づいてモータMG1,MG2の回転角速度ωm1,ωm2や回転数Nm1,Nm2も演算している。
バッテリECU52は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。バッテリECU52には、バッテリ50を管理するのに必要な信号、例えば、バッテリ50の端子間に設置された電圧センサ51aからの端子間電圧Vbやバッテリ50の出力端子に接続された電力ラインに取り付けられた電流センサ51bからの充放電電流Ib,バッテリ50に取り付けられた温度センサ51cからの電池温度Tbなどが入力されており、必要に応じてバッテリ50の状態に関するデータを通信によりHVECU70に送信する。また、バッテリECU52は、バッテリ50を管理するために、電流センサ51bにより検出された充放電電流Ibの積算値に基づいてそのときのバッテリ50から放電可能な電力の容量の全容量に対する割合である蓄電割合SOCを演算したり、演算した蓄電割合SOCと電池温度Tbとに基づいてバッテリ50を充放電してもよい許容入出力電力である入出力制限Win,Woutを演算したりしている。なお、バッテリ50の入出力制限Win,Woutは、電池温度Tbに基づいて入出力制限Win,Woutの基本値を設定し、バッテリ50の蓄電割合SOCに基づいて出力制限用補正係数と入力制限用補正係数とを設定し、設定した入出力制限Win,Woutの基本値に補正係数を乗じることにより設定することができる。
HVECU70は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。HVECU70には、イグニッションスイッチ80からのイグニッション信号やシフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP,アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc,ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,車速センサ88からの車速Vなどが入力ポートを介して入力されている。HVECU70は、前述したように、エンジンECU24やモータECU40,バッテリECU52と通信ポートを介して接続されており、エンジンECU24やモータECU40,バッテリECU52と各種制御信号やデータのやりとりを行なっている。
こうして構成された実施例のハイブリッド自動車20では、運転者によるアクセルペダルの踏み込み量に対応するアクセル開度Accと車速Vとに基づいて駆動軸36に出力すべき要求トルクTr*を計算し、この要求トルクTr*に対応する要求動力が駆動軸36に出力されるように、エンジン22とモータMG1とモータMG2とが運転制御される。エンジン22とモータMG1とモータMG2との運転制御としては、要求動力に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共にエンジン22から出力される動力のすべてがプラネタリギヤ30とモータMG1とモータMG2とによってトルク変換されて駆動軸36に出力されるようモータMG1およびモータMG2を駆動制御するトルク変換運転モードや、要求動力とバッテリ50の充放電に必要な電力との和に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共にバッテリ50の充放電を伴ってエンジン22から出力される動力の全部またはその一部がプラネタリギヤ30とモータMG1とモータMG2とによるトルク変換を伴って要求動力が駆動軸36に出力されるようモータMG1およびモータMG2を駆動制御する充放電運転モード,エンジン22の運転を停止してモータMG2からの要求動力に見合う動力を駆動軸36に出力するよう運転制御するモータ運転モードなどがある。
次に、こうして構成された実施例のハイブリッド自動車20の動作について説明する。図2は、実施例のHVECU70により実行される駆動制御ルーチンの一例を示すフローチャートである。このルーチンは、所定時間毎(例えば、数msec毎)に繰り返し実行される。
駆動制御ルーチンが実行されると、HVECU70は、まず、アクセルペダルポジションセンサ84からのアクセル開度Accや車速センサ88からの車速V,モータMG1,MG2の回転数Nm1,Nm2,バッテリ50の蓄電割合SOCや入出力制限Win,Wout,モータMG2やインバータ42に異常が生じてモータMG2を駆動できない(モータMG2からトルクを出力できない)異常時か否かを示す異常判定フラグFなどの制御に必要なデータを入力する処理を実行する(ステップS100)。ここで、モータMG1,MG2の回転数Nm1,Nm2は、回転位置検出センサ43,44により検出されたモータMG1,MG2の回転子の回転位置θm1,θm2に基づいて演算されたものをモータECU40から通信により入力するものとした。バッテリ50の蓄電割合SOCは、電流センサ51bにより検出された充放電電流Ibの積算値に基づいて演算されたものをバッテリECU52から通信により入力するものとした。バッテリ50の入出力制限Win,Woutは、温度センサ51cにより検出されたバッテリ50の電池温度Tbとバッテリ50の蓄電割合SOCとに基づいて設定されたものをバッテリECU52から通信により入力するものとした。異常判定フラグFは、モータMG2を駆動できる通常時に値0が設定され、モータMG2を駆動できない異常時に値1が設定されたものをモータECU40から通信により入力するものとした。なお、異常時としては、モータMG2やインバータ42の温度が予め定められた許容上限温度を超えたときや、回転位置検出センサ44からモータECU40への信号が所定時間に亘って途絶したときなどが考えられる。
こうしてデータを入力すると、入力したアクセル開度Accと車速Vとに基づいて駆動軸36に出力すべき要求トルクTr*の仮の値としての仮要求トルクTrtmpを設定する(ステップS110)。ここで、仮要求トルクTrtmpは、実施例では、アクセル開度Accと車速Vと仮要求トルクTrtmpとの関係を予め定めて仮要求トルク設定用マップとして図示しないROMに記憶しておき、アクセル開度Accと車速Vとが与えられると記憶したマップから対応する仮要求トルクTrtmpを導出して設定するものとした。仮要求トルク設定用マップの一例を図3に示す。
次に、異常判定フラグFの値を調べる(ステップS120)。そして、異常判定フラグFが値0のとき即ち通常時には、仮要求トルクTrtmpを要求トルクTr*に設定し(ステップS130)、設定した要求トルクTr*に駆動軸36の回転数Nr(モータMG2の回転数Nm2)を乗じて走行に要求される走行用パワーPdrv*を計算する(ステップS140)。
続いて、バッテリ50の蓄電割合SOCに基づいてバッテリ50の充放電要求パワーPb*(バッテリ50から放電するときが正の値)の仮の値としての仮充放電要求パワーPbtmpを設定し(ステップS150)、次式(1)に示すように、設定した仮充放電要求パワーPbtmpをバッテリ50の入出力制限Win,Woutで制限してバッテリ50の充放電要求パワーPb*を設定する(ステップS160)。ここで、仮充放電要求パワーPbtmpは、実施例では、バッテリ50の蓄電割合SOCと仮充放電要求パワーPbtmpとの関係を予め定めて通常時仮充放電要求パワー設定用マップとして図示しないROMに記憶しておき、バッテリ50の蓄電割合SOCが与えられると記憶したマップから対応する仮充放電要求パワーPbtmpを導出して設定するものとした。通常時仮充放電要求パワー設定用マップの一例を図4に示す。仮充放電要求パワーPbtmpは、図示するように、バッテリ50の蓄電割合SOCが目標割合SOC*(例えば、55%や60%,65%など)のときには値0が設定され、蓄電割合SOCが目標割合SOC*より小さいときには蓄電割合SOCに応じて負の値(充電用の値)が設定され、蓄電割合SOCが目標割合SOC*より大きいときには蓄電割合SOCに応じて正の値(放電用の値)が設定される。このように設定した仮充放電要求パワーPbtmpをバッテリ50の入出力制限Win,Woutで制限して充放電要求パワーPb*を設定し、この充放電要求パワーPb*によってバッテリ50を充放電することにより、バッテリ50の蓄電割合SOCを目標割合SOC*に近づけることができる。
Pb*=max(min(Pbtmp,Wout),Win) (1)
こうして充放電要求パワーPb*を設定すると、次式(2)に示すように、設定した充放電要求パワーPb*を走行用パワーPdrv*から減じてエンジン22から出力すべきパワーとしての要求パワーPe*を計算し(ステップS170)、要求パワーPe*と、エンジン22を効率よく動作させるエンジン22の回転数NeとトルクTeとの関係として定められた燃費動作ラインと、に基づいてエンジン22を運転すべき目標運転ポイントとしての目標回転数Ne*および目標トルクTe*を設定する(ステップS180)。図5は、エンジン22の燃費動作ラインの一例と目標回転数Ne*および目標トルクTe*を設定する様子とを示す説明図である。図中、「Nemin」は、燃費動作ラインや後述の高トルク動作ラインの下限回転数であり、例えば、900rpmや1000rpm,1100rpmなどを用いることができる。エンジン22の目標回転数Ne*および目標トルクTe*は、図示するように、燃費動作ラインと要求パワーPe*(Ne*×Te*)が一定の曲線との交点として求めることができる。
Pe*=Pdrv*-Pb* (2)
次に、エンジン22の目標回転数Ne*とモータMG2の回転数Nm2とプラネタリギヤ30のギヤ比ρ(サンギヤの歯数/リングギヤの歯数)とを用いて次式(3)によりモータMG1の目標回転数Nm1*を計算すると共に計算したモータMG1の目標回転数Nm1*と入力したモータMG1の回転数Nm1とエンジン22の目標トルクTe*とプラネタリギヤ30のギヤ比ρとを用いて式(4)によりモータMG1から出力すべきトルクとしてのトルク指令Tm1*を計算する(ステップS190)。ここで、式(3)は、プラネタリギヤ30の回転要素に対する力学的な関係式である。図6は、エンジン22からパワーを出力しながら走行しているときのプラネタリギヤ30の回転要素における回転数とトルクとの力学的な関係を示す共線図の一例を示す説明図である。図中、左のS軸はモータMG1の回転数Nm1であるサンギヤの回転数を示し、C軸はエンジン22の回転数Neであるキャリアの回転数を示し、R軸はモータMG2の回転数Nm2であるリングギヤ(駆動軸36)の回転数Nrを示す。なお、R軸上の2つの太線矢印は、モータMG1から出力されてプラネタリギヤ30を介して駆動軸36に作用するトルク(−Tm1*/ρ)と、モータMG2から駆動軸36に出力されるトルクTm2とを示す。また、実施例では、図中上向き矢印を正のトルクとし、図中下向き矢印を負のトルクとして説明する。式(3)は、この共線図から容易に導くことができる。また、式(4)は、モータMG1の回転数Nm1が目標回転数Nm1*となるようにする(エンジン22の回転数Neが目標回転数Ne*となるようにする)ための回転数フィードバック制御の関係式であり、式(4)中、右辺第1項はフィードフォワード項であり、右辺第2項はフィードバックの比例項であり、右辺第3項はフィードバックの積分項である。右辺第1項は、エンジン22から出力されてクランクシャフト26,プラネタリギヤ30のキャリアを介してプラネタリギヤ30のサンギヤに作用するトルクを受け止めるためのトルクである。また、右辺第2項の「k1」は比例項のゲインであり、右辺第3項の「k2」は積分項のゲインである。なお、エンジン22からパワーを出力しながら走行するときには、モータMG1からはエンジン22の回転数Neの上昇を押さえ込む方向のトルク(負のトルク)を出力することになるから、モータMG1の回転数Nm1が値0より大きければモータMG1によって発電が行なわれることになり、モータMG1の回転数Nm1が値0より小さければモータMG1によって電力が消費されることになる。
Nm1*=Ne*・(1+ρ)/ρ-Nm2/ρ (3)
Tm1*=-ρ・Te*/(1+ρ)+k1・(Nm1*-Nm1)+k2・∫(Nm1*-Nm1)dt (4)
こうしてモータMG1のトルク指令Tm1*を設定すると、次式(5)に示すように、モータMG1のトルク指令Tm1*をプラネタリギヤ30のギヤ比ρで除したものを要求トルクTr*に加えてモータMG2から出力すべきトルクの仮の値としての仮トルクTm2tmpを計算し(ステップS200)、式(6)および式(7)に示すように、バッテリ50の入出力制限Win,WoutとモータMG1のトルク指令Tm1*に回転数Nm1を乗じて得られるモータMG1の消費電力(発電電力)との差分をモータMG2の回転数Nm2で除してモータMG2から出力してもよいトルクの上下限としてのトルク制限Tm2min,Tm2maxを計算し(ステップS210)、式(8)に示すように、仮トルクTm2tmpをトルク制限Tm2min,Tm2maxで制限してモータMG2から出力すべきトルクとしてのトルク指令Tm2*を設定する(ステップS220)。ここで、式(5)は、図6の共線図から容易に導くことができる。
Tm2tmp=Tr*+Tm1*/ρ (5)
Tm2min=(Win-Tm1*・Nm1)/Nm2 (6)
Tm2max=(Wout-Tm1*・Nm1)/Nm2 (7)
Tm2*=max(min(Tm2tmp,Tm2max),Tm2min) (8)
こうしてエンジン22の目標回転数Ne*や目標トルクTe*,モータMG1,MG2のトルク指令Tm1*,Tm2*を設定すると、エンジン22の目標回転数Ne*や目標トルクTe*についてはエンジンECU24に送信し、モータMG1,MG2のトルク指令Tm1*,Tm2*についてはモータECU40に送信して(ステップS230)、本ルーチンを終了する。目標回転数Ne*や目標トルクTe*を受信したエンジンECU24は、エンジン22が目標回転数Ne*と目標トルクTe*とからなる運転ポイント(目標運転ポイント)で運転されるよう吸入空気量制御や燃料噴射制御,点火制御などを行なう。また、モータMG1,MG2のトルク指令Tm1*,Tm2*を受信したモータECU40は、モータMG1,MG2がトルク指令Tm1*,Tm2*で駆動されるようインバータ41,42のスイッチング素子のスイッチング制御を行なう。モータMG2を駆動できる通常時には、こうした制御により、エンジン22を効率よく運転すると共にバッテリ50の蓄電割合SOCを調節しながらバッテリ50の入出力制限Win,Woutの範囲内で要求トルクTr*を駆動軸36に出力して走行することができる。
次に、ステップS120で異常判定フラグFが値1のとき即ち異常時について説明する。図7は、異常時のプラネタリギヤ30の回転要素における回転数とトルクとの力学的な関係を示す共線図の一例を示す説明図である。モータMG2を駆動できない異常時には、図示するように、モータMG2の駆動を停止した状態でエンジン22からの動力がプラネタリギヤ30を介して駆動軸36に伝達されるようエンジン22とモータMG1とを制御して走行する。なお、このときにおいて、モータMG1の回転数Nm1が値0より大きいときにはモータMG1による発電電力がバッテリ50に充電され、モータMG1の回転数Nm1が値0より小さいときにはバッテリ50からの放電電力がモータMG1で消費され、モータMG1の回転数Nm1が値0のときにはバッテリ50は充放電されない。
異常判定フラグFが値1のときには、車速Vに基づいて車速起因トルク制限Trmax1を設定すると共に(ステップS240)、バッテリ50の入力制限Winに基づいて入力制限起因トルク制限Trmax2を設定し(ステップS250)、次式(9)に示すように、仮要求トルクTrtmpを車速起因トルク制限Trmax1と入力制限起因トルク制限Trmax2とで制限して要求トルクTr*を設定する(ステップS260)。
Tr*=min(Trtmp,Trmax1,Trmax2) (9)
ここで、車速起因トルク制限Trmax1は、実施例では、車速Vと車速起因トルク制限Trmax1との関係を予め定めて車速起因トルク制限設定用マップとして図示しないROMに記憶しておき、車速Vが与えられると記憶したマップから対応する車速起因トルク制限Trmax1を導出して設定するものとした。車速起因トルク制限設定用マップの一例を図8に示す。図中、車速起因トルク制限Trmax1は、図示するように、車速Vが所定車速V1以上のときには所定トルクTr1を設定し、車速Vが所定車速V1より小さな所定車速V2以下のときには所定トルクTr1より大きな所定トルクTr2を設定し、車速Vが所定車速V2より高く所定車速V1未満の領域では車速Vが高いほど所定トルクTr2から所定トルクTr1に向けて滑らかに移行するよう設定するものとした。ここで、所定車速V1は、エンジン22の回転数Neが下限回転数NeminのときにモータMG1の回転数Nm1が値0となる駆動軸36の回転数Nr(以下、所定回転数Nr1という)に対応する車速Vであり、プラネタリギヤ30のギヤ比ρなどに応じて定まり、例えば、40km/hや45km/h,50km/hなどとなる。また、所定トルクTr1は、後述の高トルク動作ラインにおけるエンジン22の回転数Neが下限回転数Neminのときのエンジン22のトルクTeの上限値(後述の所定トルクTe1)を駆動軸36のトルクに換算した値(Te1/(1+ρ))を用いるものとした。所定車速V2は、例えば、20km/hや25km/h,30km/hなどを用いることができる。所定トルクTr2は、高トルク動作ラインにおけるエンジン22のトルクTeの最大値Temaxを駆動軸36のトルクに換算した値(Temax/(1+ρ))以下の値を用いるものとした。この車速起因トルク制限Trmax1で仮要求トルクTrtmpを制限して要求トルクTr*を設定することにより、車速Vが所定車速V1未満のときに、車速Vが所定車速V1に近づくほど要求トルクTr*の上限が所定トルクTr1に滑らかに近づくようにすることができる。
また、入力制限起因トルク制限Trmax2は、次式(10)に示すように、バッテリ50の入力制限Win(<0)をモータMG1の回転数Nm1で除して得られるモータMG1から出力してもよいトルクの下限に値(−1/ρ)を乗じて駆動軸36のトルクに換算することによって計算することができる。この入力制限起因トルク制限Trmax2で仮要求トルクTrtmpを制限して要求トルクTr*を設定することにより、バッテリ50を充電する際に、入力制限Winの範囲内の電力でバッテリ50を充電することができる。なお、モータMG1の回転数Nm1が値0のときには式(10)により入力制限起因トルク制限Trmax2を計算できず、モータMG1の回転数Nm1が負の値のときには入力制限起因トルク制限Trmax2が負の値になってしまうことから、実施例では、モータMG1の回転数Nm1が値0以下のときには、要求トルクTr*の設定に入力制限起因トルク制限Trmax2を用いないものとした。
Trmax2=(Win/Nm1)・(-1/ρ) (10)
こうして要求トルクTr*を設定すると、設定した要求トルクTr*に駆動軸36の回転数Nr(モータMG2の回転数Nm2)を乗じて走行に要求される走行用パワーPdrv*を計算すると共に(ステップS270)、要求トルクTr*とプラネタリギヤ30のギヤ比ρとを用いて次式(11)によりエンジン22の目標トルクTe*を計算する(ステップS280)。ここで、式(11)は、要求トルクTr*をエンジン22のクランクシャフト26のトルクに換算するための式であり、図7の共線図から容易に導くことができる。
Te*=Tr*・(1+ρ) (11)
こうしてエンジン22の目標トルクTe*を計算すると、計算したエンジン22の目標トルクTe*と、燃費動作ラインより高トルク側のエンジン22の回転数NeとトルクTeとの関係として定められた高トルク動作ラインと、に基づいてエンジン22の目標回転数Ne*の仮の値としての仮回転数Netmpを設定する(ステップS290)。図9は、エンジン22の高トルク動作ラインの一例と仮回転数Netmpを設定する様子とを示す説明図である。図9では、参考ために、燃費動作ラインを一点鎖線で示した。また、図中、「Te1」は、上述したように、図8の所定トルクTr1(車速Vが所定車速V1以上のときに車速起因トルク制限Trmax1に設定されるトルク)をエンジン22の出力軸のトルクに換算したトルクである。エンジン22の仮回転数Netmpは、図示するように、エンジン22の目標トルクTe*と高トルク動作ラインとの交点として求めることができる。燃費動作ラインでなく高トルク動作ラインを用いることにより、要求トルクTr*が大きいときにより対応できる(高トルク動作ライン上の仮回転数Netmpを設定できる)ようにすることができる。以下、仮回転数Netmpおよび目標トルクTe*からなる運転ポイントを高トルク制約運転ポイントという。
そして、次式(12)に示すように、エンジン22の仮回転数Netmpに目標トルクTe*を乗じて、エンジン22を高トルク制約運転ポイントで運転したときにエンジン22から出力されると推定されるパワーとしての推定出力パワーPeestを計算すると共に(ステップS300)、式(13)に示すように、計算した推定出力パワーPeestを走行用パワーPdrv*から減じて、エンジン22を高トルク制約運転ポイントで運転したときにバッテリ50が充放電されると推定されるパワーとしての推定充放電パワーPbest(バッテリ50から放電するときが正の値)を計算する(ステップS310)。
Peest=Netmp・Te* (12)
Pbest=Pdrv*-Peest (13)
次に、バッテリ50の蓄電割合SOCに基づいて仮充放電要求パワーPbtmpを設定する(ステップS320)。この場合、仮充放電要求パワーPbtmpは、実施例では、バッテリ50の蓄電割合SOCと仮充放電要求パワーPbtmpとの関係を予め定めて異常時充放電要求パワー設定用マップとして図示しないROMに記憶しておき、バッテリ50の蓄電割合SOCが与えられると記憶したマップから対応する仮充放電要求パワーPbtmpを導出して設定するものとした。異常時仮充放電要求パワー設定用マップの一例を図10に示す。図10では、参考のために、通常時仮充放電要求パワー設定用マップ(通常時の蓄電割合SOCと仮充放電要求パワーPbtmpとの関係)を一点鎖線で示した。この場合、仮充放電要求パワーPbtmpは、図示するように、バッテリ50の蓄電割合SOCが目標割合SOC*(例えば、55%や60%,65%など)を含む所定割合S1から所定割合S2までの範囲内のときには値0が設定され、蓄電割合SOCが所定割合S1より小さいときには蓄電割合SOCに応じて負の値(充電用の値)が設定され、蓄電割合SOCが所定割合S2より大きいときには蓄電割合SOCに応じて正の値(放電用の値)が設定される。ここで、所定割合S1は、目標割合SOC*より5%や10%,15%など小さな値を用いることができ、所定割合S2は、目標割合SOC*より5%や10%,15%など大きな値を用いることができる。なお、所定割合S1または所定割合S2が目標割合SOC*と同一の値であるものとしてもよい。このように、異常時に、蓄電割合SOCが所定割合S1から所定割合S2までの範囲を仮充放電要求パワーPbtmpに値0を不感帯とするのは以下の理由による。異常時には、モータMG1の回転数Nm1が値0より大きいときにはモータMG1によって発電が行なわれてバッテリ50が充電され、モータMG1の回転数Nm1が値0より小さいときにはバッテリ50から放電されてモータMG1によって電力が消費されることになる。このため、バッテリ50の充電や放電の継続によってバッテリ50が過充電や過放電となりやすい。したがって、実施例では、こうした不都合が生じるのを抑制するために、不感帯を設けるものとした。
次に、次式(14)に示すように、バッテリ50の推定充放電パワーPbestと仮充放電要求パワーPbtmpとのうち小さい方をバッテリ50の入出力制限Win,Woutで制限してバッテリ50の充放電要求パワーPb*を設定し(ステップS330)、次式(15)に示すように、設定したバッテリ50の充放電要求パワーPb*を走行用パワーPdrv*から減じて要求パワーPe*を計算する(ステップS340)。
Pb*=max(min(min(Pbest,Pbtmp),Wout),Win) (14)
Pe*=Pdrv*-Pb* (15)
Ne*=Pe*/Te* (16)
そして、式(16)に示すように、計算した要求パワーPe*をエンジン22の目標トルクTe*で除してエンジン22の目標回転数Ne*を計算し(ステップS350)、上述のステップS190の処理と同様に、モータMG1のトルク指令Tm1*を設定し(ステップS360)、エンジン22の目標回転数Ne*や目標トルクTe*についてはエンジンECU24に、モータMG1のトルク指令Tm1*やインバータ42(モータMG2を駆動するためのインバータ)のゲート遮断指令をモータECU40に送信して(ステップS370)、本ルーチンを終了する。目標回転数Ne*や目標トルクTe*を受信したエンジンECU24は、エンジン22が目標回転数Ne*と目標トルクTe*とからなる運転ポイント(目標運転ポイント)で運転されるよう吸入空気量制御や燃料噴射制御,点火制御などを行なう。モータMG1のトルク指令Tm1*やインバータ42のゲート遮断指令を受信したモータECU40は、モータMG1がトルク指令Tm1*で駆動されるインバータ41のスイッチング素子のスイッチング制御を行なうと共にインバータ42をゲート遮断する(全てのスイッチング素子がオフとする)。
ここで、モータMG2を駆動できない異常時で駆動軸36の回転数Nrが所定回転数Nr1(車速Vが所定車速V1)未満の異常低車速時,異常時で駆動軸36の回転数Nrが所定回転数Nr1の異常所定車速時,異常時で駆動軸36の回転数Nrが所定回転数Nr1より大きな異常高車速時の動作について説明する。なお、簡単のために、バッテリ50の推定充放電パワーPbestおよび仮充放電要求パワーPbtmpが共にバッテリ50の入出力制限Win,Woutの範囲内のとき(推定充放電パワーPbestまたは仮充放電要求パワーPbtmpをそのまま充放電要求パワーPb*に設定するとき)を考えて説明する。
まず、異常低車速時,異常所定車速時,異常高車速時に共通する内容について説明する。図11は、異常時のエンジン22の運転ポイントを示す説明図である。異常時には、まず、要求トルクTr*をエンジン22のクランクシャフト26のトルクに換算したトルク(以下、出力軸換算トルクという)が設定された目標トルクTe*と、目標トルクTe*と高トルク動作ラインとの交点の回転数が設定された仮回転数Netmpと、からなる高トルク制約運転ポイント(図中、点A参照)を設定する。そして、高トルク制約運転ポイントでエンジン22を運転したときのバッテリ50の推定充放電パワーPbestとバッテリ50の蓄電割合SOCに基づく仮充放電要求パワーPbtmpとを比較する。仮推定充放電パワーPbestが仮充放電要求パワーPbtmp以下のときには、推定充放電パワーPbestを充放電要求パワーPb*に設定するから、上述の式(12)〜(16)を整理すれば分かるように、仮回転数Netmpと目標回転数Ne*とが等しくなる。したがって、高トルク制約運転ポイントでエンジン22を運転しながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになる。一方、仮充放電要求パワーPbtmpが推定充放電パワーPbest未満のときには、仮充放電要求パワーPbtmpを充放電要求パワーPb*に設定するから、要求パワーPe*が推定出力パワーPeestより大きくなり、目標回転数Ne*が仮回転数Netmpより大きくなる。したがって、高トルク制約運転ポイントに対してトルクTeが同一で高回転数側の運転ポイントである蓄電割合起因運転ポイント(図中、点B参照)でエンジン22を運転しながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになる。両者共に、エンジン22を自立運転する(目標回転数Ne*と現在の回転数Neとの差がキャンセルされるよう運転する)ものに比して、エンジン22からのトルクを大きくすることができるから、モータMG1からのトルクが小さくなる(エンジン22の回転数Neを押さえ込む方向(負の方向)に大きくなる)ときにエンジン22がストールするのをより抑制することができる。なお、上述したように、車速Vが所定車速V1以上のとき(異常所定車速時や異常高車速時)には、要求トルクTr*が所定トルクTr1以下となり、エンジン22の目標トルクTe*が所定トルクTe1以下となるから、エンジン22の仮回転数Netmpは下限回転数Neminとなる。即ち、高トルク制約運転ポイントは、下限回転数Neminと出力軸換算トルクとからなる運転ポイントとなる。
次に、異常低車速時,異常所定車速時,異常高車速時のそれぞれについて説明する。まず、異常低車速時について説明する。図12は、異常低車速時のプラネタリギヤ30の回転要素における回転数の関係を示す共線図の一例を示す説明図である。異常低車速時には、図12の実線に示すように、エンジン22を高トルク制約運転ポイントで運転するとモータMG1の回転数Nm1が正の値となるから、エンジン22の推定出力パワーPeestが走行用パワーPdrv*より大きくなり、バッテリ50の推定充放電パワーPbestは負の値となる。推定充放電パワーPbestが仮充放電要求パワーPbtmp以下のときには、図12の実線に示すように、高トルク制約運転ポイントでエンジン22を運転すると共にモータMG1を正の回転数で駆動し(発電を行ない)ながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになるから、エンジン22の回転数Neを比較的小さくすることができる。なお、この場合、推定充放電パワーPbestに相当する電力でバッテリ50が充電される。一方、仮充放電要求パワーPbtmpが推定充放電パワーPbest未満のときには、図12の破線に示すように、蓄電割合起因運転ポイントでエンジン22を運転すると共にモータMG1を正の回転数で駆動し(発電を行ない)ながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになるから、仮充放電要求パワーPbtmpに相当する電力(推定充放電パワーPbestより充電側に大きな電力)でバッテリ50を充電してバッテリ50の蓄電割合SOCを高くすることができる。
また、この異常低車速時には、車速Vが所定車速V1に近づくほど所定トルクT1に滑らかに近づく傾向の車速起因トルク制限Trmax1以下の範囲内で要求トルクTr*を設定するから、エンジン22の目標トルクTe*の上限は、車速Vが所定車速V1に近づくほど滑らかに所定トルクTe1に近づくことになる。したがって、要求トルクTr*が車速起因トルク制限Trmax1で制限され(両者が等しく)且つ推定充放電パワーPbestが仮充放電要求パワーPbtmp以下のとき(例えば、仮充放電要求パワーPbtmpが値0以上のとき)を考えると、高トルク制約運転ポイントが、車速Vが所定車速V1に近づくほど下限回転数Nemin側に滑らかに移行することになり、車速Vが所定車速V1より高くなったときにバッテリ50から放電を行なえるようにすることができる。言い換えると、仮充放電要求パワーPbtmpが推定充放電パワーPbestより小さいなどによってエンジン22の目標回転数Ne*が仮回転数Netmp(高トルク動作ラインにおける回転数)より高いときには、車速Vが所定車速V1になったときでも、モータMG1の回転数Nm1が正の値となり、バッテリ50が充電されることになる。
異常所定車速時について説明する。図13は、異常所定車速時のプラネタリギヤ30の回転要素における回転数の関係を示す共線図の一例を示す説明図である。異常所定車速時には、図13の実線に示すように、エンジン22を高トルク制約運転ポイントで運転するとモータMG1の回転数Nm1が値0となるから、エンジン22の推定出力パワーPeestと走行用パワーPdrv*とが等しくなり、バッテリ50の推定充放電パワーPbestは値0となる。推定充放電パワーPbestが仮充放電要求パワーPbtmp以下のとき(仮充放電要求パワーPbtmpが値0以上のとき)には、図13の実線に示すように、高トルク制約運転ポイントでエンジン22を運転すると共にモータMG1を値0の回転数で駆動しながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになるから、エンジン22の回転数Neを比較的小さくすることができる。なお、この場合、バッテリ50は充放電されない。一方、仮充放電要求パワーPbtmpが推定充放電パワーPbest未満のとき(仮充放電要求パワーPbtmpが負の値のとき)には、図13の破線に示すように、蓄電割合起因運転ポイントでエンジン22を運転すると共にモータMG1を正の回転数で駆動し(発電を行ない)ながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになるから、バッテリ50の蓄電割合SOCが低いときに仮充放電要求パワーPbtmpに相当する電力でバッテリ50を充電してバッテリ50の蓄電割合SOCを高くすることができる。
異常高車速時について説明する。図14は、異常高車速時のプラネタリギヤ30の回転要素における回転数の関係を示す共線図の一例を示す説明図である。異常高車速時には、図14の実線に示すように、エンジン22を高トルク制約運転ポイントで運転するとモータMG1の回転数Nm1が負の値となることから、エンジン22の推定出力パワーPeestが走行用パワーPdrv*より小さくなり、バッテリ50の推定充放電パワーPbestは正の値となる。推定充放電パワーPbestが仮充放電要求パワーPbtmp以下のとき(推定充放電パワーPbestと仮充放電要求パワーPbtmpとが共に正のとき)には、図14の実線に示すように、高トルク制約運転ポイントでエンジン22を運転すると共にモータMG1を負の回転数で駆動し(電力消費を行ない)ながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになる。この場合、バッテリ50から電力が放電される。一方、仮充放電要求パワーPbtmpが推定充放電パワーPbestより小さいときで仮充放電要求パワーPbtmpが正の値のときには、図14の破線に示すように、蓄電割合起因運転ポイントでエンジン22を運転すると共にモータMG1を負の回転数で駆動し(電力消費を行ない)ながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになる。また、仮充放電要求パワーPbtmpが推定充放電パワーPbestより小さいときで仮充放電要求パワーPbtmpが値0のときには、図14の一点鎖線に示すように、蓄電割合起因運転ポイントでエンジン22を運転すると共にモータMG1を値0の回転数で駆動しながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになる。この場合、バッテリ50は充放電されない。異常時には、モータMG1の回転数Nm1が正の値のときにはバッテリ50が充電され、モータMG1の回転数Nm1が負の値のときにはバッテリ50から放電されるから、バッテリ50の充電や放電が継続しやすく、バッテリ50が過充電や過放電となりやすい。実施例では、蓄電割合SOCが所定割合S1から所定割合S2までの範囲を不感帯とすることにより、バッテリ50の充放電が行なわれるのを抑制してバッテリ50が過充電や過放電となるのを抑制することができる。さらに、仮充放電要求パワーPbtmpが推定充放電パワーPbestより小さいときで仮充放電要求パワーPbtmpが負の値のときには、図14の二点鎖線に示すように、蓄電割合起因運転ポイントでエンジン22を運転すると共にモータMG1を正の回転数で駆動しながら要求トルクTr*(走行用パワーPdrv*)を駆動軸36に出力して走行することになる。これにより、バッテリ50の蓄電割合SOCが低いときに仮充放電要求パワーPbtmpに相当する電力でバッテリ50を充電してバッテリ50の蓄電割合SOCを高くすることができる。
なお、実施例では、エンジン22の要求パワーPe*の設定(ステップS170,S340参照)や推定充放電パワーPbestの設定(ステップS310参照)において、簡単のために、プラネタリギヤ30やモータMG1,MG2,バッテリ50などのロスやインバータ41,42とバッテリ50とを接続する電力ラインに接続された図示しない電力機器の消費電力などを考慮せずに行なうものとして説明したが、実際には、これらを考慮して行なうのが好ましい。
以上説明した実施例のハイブリッド自動車20によれば、モータMG2を駆動できない異常時には、駆動軸36の仮要求トルクTrtmpに基づく要求トルクTr*をエンジン22のクランクシャフト26のトルクに換算した出力軸換算トルクが設定された目標トルクTe*と、その目標トルクTe*と燃費動作ラインより高トルク側の高トルク動作ラインとの交点の回転数が設定された仮回転数Netmpと、からなる高トルク制約運転ポイントでエンジン22が運転されると共に要求トルクTr*が駆動軸36に出力されるようエンジン22とモータMG1とを制御するから、エンジン22を自立運転するものに比してエンジン22からのトルクを大きくすることができ、モータMG1からのトルクが変化するときにエンジン22がストールするのをより抑制することができる。
また、実施例のハイブリッド自動車20によれば、異常時において、バッテリ50の蓄電割合SOCに基づく仮充放電要求パワーPbtmpが、高トルク制約運転ポイントでエンジン22を運転したときにバッテリ50が充放電されると推定される推定充放電パワーPbestより小さく且つ負の値のときには、仮充放電要求パワーPbtmpに基づく充放電要求パワーPb*を走行用パワーPdrv*から減じた要求パワーPe*を計算し、出力軸換算トルクが設定された目標トルクTe*で要求パワーPe*を除して目標回転数Ne*を計算し、計算した目標回転数Ne*と目標トルクTe*とからなる運転ポイントでエンジン22が運転されると共に要求トルクTr*が駆動軸36に出力されるよう制御するから、仮充放電要求パワーPbtmpに基づく電力でバッテリ50を充電してバッテリ50の蓄電割合SOCを高くすることができる。
さらに、実施例のハイブリッド自動車20によれば、異常時に、目標割合SOC*を含む所定割合S1から所定割合S2までの範囲を値0の不感帯としてバッテリ50の蓄電割合SOCに基づいて仮充放電要求パワーPbtmpを設定するから、推定充放電パワーPbestが値0以上のときに、バッテリ50が頻繁に充放電されるのを抑制することができる。
加えて、実施例のハイブリッド自動車20によれば、異常時で車速Vが所定車速V1以下のときには、車速Vが所定車速V1に近づくほど所定トルクT1に滑らかに近づく傾向の車速起因トルク制限Trmax1以下の範囲内で要求トルクTr*を設定するから、要求トルクTr*が車速起因トルク制限Trmax1で制限され且つ推定充放電パワーPbestが仮充放電要求パワーPbtmp以下のときに、高トルク制約運転ポイントが、車速Vが所定車速V1に近づくほど下限回転数Nemin側に滑らかに移行することになり、車速Vが所定車速V1より高くなったときにバッテリ50から放電を行なえるようにすることができる。
実施例のハイブリッド自動車20では、モータMG2を駆動できない異常時には、アクセル開度Accと車速Vとに基づく仮要求トルクTrtmpを車速Vに基づく車速起因トルク制限Trmax1とバッテリ50の入力制限Winに基づく入力制限起因トルク制限Trmax2とによって制限して要求トルクTr*を設定するものとしたが、仮要求トルクTrtmpを車速起因トルク制限Trmax1と入力制限起因トルク制限Trmax2とのうち一方だけによって制限して要求トルクTr*を設定するものとしてもよいし、仮要求トルクTrtmpをそのまま要求トルクTr*として設定するものとしてもよい。
実施例のハイブリッド自動車20では、モータMG2を駆動できない異常時には、エンジン22の目標トルクTe*(要求トルクTr*をエンジン22のクランクシャフト26のトルクに換算した出力軸換算トルク)と高トルク動作ラインとの交点の高トルク制約運転ポイントでエンジン22を運転したときのエンジン22からの推定出力パワーPeestと走行用パワーPdrv*との差分としての推定充放電パワーPbestと、バッテリ50の蓄電割合SOCに起因する仮充放電要求パワーPbtmpと、のうちバッテリ50の充電側に大きい方の値をバッテリ50の入出力制限Win,Woutで制限してバッテリ50の充放電要求パワーPb*を設定し、この充放電要求パワーPb*を走行用パワーPdrv*から減じてエンジン22の要求パワーPe*を設定し、この要求パワーPe*を目標トルクTe*で除してエンジン22の目標回転数Ne*を設定するものとしたが、仮充放電要求パワーPbtmpに拘わらず(仮充放電要求パワーPbtmpを用いずに)、推定充放電パワーPbestをバッテリ50の入出力制限Win,Woutで制限して充放電要求パワーPb*を設定し、この充放電要求パワーPb*を走行用パワーPdrv*から減じて得られる要求パワーPe*を目標トルクTe*で除して目標回転数Ne*を設定するものとしてもよい。この場合、仮推定充放電パワーPbestがバッテリ50の入出力制限Win,Woutの範囲内のときを考えれば、仮充放電要求パワーPbtmpに拘わらず、高トルク制約運転ポイントでエンジン22を運転することになる。
実施例のハイブリッド自動車20では、モータMG2を駆動できない異常時には、目標割合SOC*を含む所定割合S1から所定割合S2までの範囲を仮充放電要求パワーPbtmpに値0を設定する不感帯としてバッテリ50の蓄電割合SOCに基づいて仮充放電要求パワーPbtmpを設定し、モータMG2を駆動できる通常時には、不感帯を設けずにバッテリ50の蓄電割合SOCに基づいて仮充放電要求パワーPbtmpを設定するものとしたが、異常時に、不感帯を設けずに通常時と同様にバッテリ50の蓄電割合SOCに基づいて仮充放電要求パワーPbtmpを設定するものとしてもよい。また、通常時に、異常時より狭いまたは異常時と同一の不感帯を設けてバッテリ50の蓄電割合SOCに基づいて仮充放電要求パワーPbtmpを設定するものとしてもよい。
実施例のハイブリッド自動車20では、モータMG2からの動力を駆動軸36に出力するものとしたが、図15の変形例のハイブリッド自動車120に例示するように、モータMG2からの動力を駆動軸36が接続された車軸(駆動輪38a,38bが接続された車軸)とは異なる車軸(図15における車輪39a,39bに接続された車軸)に出力するものとしてもよい。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、エンジン22が「エンジン」に相当し、モータMG1が「第1モータ」に相当し、プラネタリギヤ30が「プラネタリギヤ」に相当し、モータMG2が「第2モータ」に相当し、バッテリ50が「バッテリ」に相当し、図2の駆動制御ルーチンを実行するHVECU70と、HVECU70から要求パワーPe*とエンジン22の目標回転数Ne*とを受信してエンジン22を制御するエンジンECU24と、HVECU70からモータMG1,MG2のトルク指令Tm1*,Tm2*を受信してモータMG1,MG2を制御すると共にHVECU70からインバータ42のゲート遮断指令を受信してインバータ42をゲート遮断するモータECU40と、を組み合わせたものが「制御手段」に相当する。
ここで、「エンジン」としては、ガソリンや軽油などを燃料として動力を出力するエンジン22に限定されるものではなく、如何なるタイプのエンジンであっても構わない。「第1モータ」としては、同期発電電動機として構成されたモータMG1に限定されるものではなく、如何なるタイプのモータであっても構わない。「プラネタリギヤ」としては、プラネタリギヤ30(シングルピニオン式のプラネタリギヤ)に限定されるものではなく、ダブルピニオン式のプラネタリギヤや、複数のプラネタリギヤの組み合わせによって構成されたものなど、車軸に連結された駆動軸とエンジンの出力軸と第1モータの回転軸とに3つの回転要素が接続されたものであれば如何なるタイプのプラネタリギヤであっても構わない。「第2モータ」としては、同期発電電動機として構成されたモータMG2に限定されるものではなく、駆動軸に動力を入出力可能なものであれば如何なるタイプのモータであっても構わない。「バッテリ」としては、リチウムイオン二次電池として構成されたバッテリ50に限定されるものではなく、ニッケル水素二次電池やニッケルカドミウム二次電池,鉛蓄電池など、第1モータおよび第2モータと電力のやりとりが可能なものであれば如何なるタイプのバッテリであっても構わない。「制御手段」としては、HVECU70とエンジンECU24とモータECU40とからなる組み合わせに限定されるものではなく、単一の電子制御ユニットによって構成されるものなどとしてもよい。また、「制御手段」としては、モータMG2を駆動できる通常時には、駆動軸36の仮要求トルクTrtmpが設定された要求トルクTr*に駆動軸36の回転数Nrを乗じて走行用パワーPdrv*を計算し、バッテリ50の蓄電割合SOCに基づく仮充放電要求パワーPbtmpを走行用パワーPdrv*から減じて要求パワーPe*を計算し、計算した要求パワーPe*と燃費動作ラインとの交点をエンジン22の目標回転数Ne*と目標トルクTe*として設定し、設定した目標回転数Ne*と目標トルクTe*とからなる運転ポイントでエンジン22が運転されると共に要求トルクTr*が駆動軸36に出力されるようエンジン22とモータMG1,MG2とを制御し、モータMG2を駆動できない異常時には、駆動軸36の仮要求トルクTrtmpに基づく要求トルクTr*をエンジン22のクランクシャフト26のトルクに換算した出力軸換算トルクが設定された目標トルクTe*と、その目標トルクTe*と燃費動作ラインより高トルク側の高トルク動作ラインとの交点の回転数が設定された仮回転数Netmpと、からなる運転ポイントでエンジン22が運転されると共に要求トルクTr*が駆動軸36に出力されるようエンジン22とモータMG1とを制御するものに限定されるものではなく、駆動軸の要求トルクと駆動軸の回転数との積として走行用パワーを設定し、バッテリの蓄電割合に基づくバッテリの充放電要求パワーである蓄電割合起因パワーと走行用パワーとに基づいてエンジンの要求パワーを設定し、エンジンの要求パワーとエンジンの回転数およびトルクの第1制約とに基づく第1運転ポイントでエンジンが運転されると共に要求トルクが駆動軸に出力されるようエンジンと第1モータと第2モータとを制御し、第2モータを駆動できない異常時には、駆動軸の要求トルクをエンジンの出力軸のトルクに換算した出力軸換算トルクと、出力軸換算トルクと第1制約より高トルク側の第2制約とに基づく回転数と、からなる第2運転ポイントでエンジンが運転されると共に要求トルクが駆動軸に出力されるようエンジンと第1モータとを制御するものであれば如何なるものとしても構わない。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。