図1は、本発明の一実施例としてのハイブリッド自動車20の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図示するように、エンジン22と、プラネタリギヤ30と、モータMG1,MG2と、インバータ41,42と、バッテリ50と、ハイブリッド用電子制御ユニット(以下、「HVECU」という)70と、を備える。
エンジン22は、ガソリンや軽油などを燃料として動力を出力する内燃機関として構成されている。このエンジン22は、エンジン用電子制御ユニット(以下、「エンジンECU」という)24によって運転制御されている。
エンジンECU24は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。エンジンECU24には、エンジン22を運転制御するのに必要な各種センサからの信号が入力ポートから入力されている。エンジンECU24に入力される信号としては、以下のものを挙げることができる。
・エンジン22のクランクシャフト26の回転位置を検出するクランクポジションセンサ23からのクランク角θcr
・スロットルバルブのポジションを検出するスロットルバルブポジションセンサからのスロットル開度TH
エンジンECU24からは、エンジン22を運転制御するための種々の制御信号が出力ポートを介して出力されている。エンジンECU24から出力される制御信号としては、以下のものを挙げることができる。
・スロットルバルブのポジションを調節するスロットルモータへの制御信号
・燃料噴射弁への制御信号
・イグナイタと一体化されたイグニッションコイルへの制御信号
エンジンECU24は、HVECU70と通信ポートを介して接続されており、HVECU70からの制御信号によってエンジン22を運転制御すると共に必要に応じてエンジン22の運転状態に関するデータをHVECU70に出力する。エンジンECU24は、クランクポジションセンサ23からのクランク角θcrに基づいて、クランクシャフト26の回転数、即ち、エンジン22の回転数Neを演算している。
プラネタリギヤ30は、シングルピニオン式の遊星歯車機構として構成されている。プラネタリギヤ30のサンギヤには、モータMG1の回転子が接続されている。プラネタリギヤ30のリングギヤには、駆動輪38a,38bにデファレンシャルギヤ37を介して連結された駆動軸36が接続されている。プラネタリギヤ30のキャリヤには、ダンパ28を介してエンジン22のクランクシャフト26が接続されている。
モータMG1は、例えば同期発電電動機として構成されており、上述したように、回転子がプラネタリギヤ30のサンギヤに接続されている。モータMG2は、例えば同期発電電動機として構成されており、回転子が駆動軸36に接続されている。インバータ41,42は、電力ライン54を介してバッテリ50と接続されている。モータMG1,MG2は、モータ用電子制御ユニット(以下、「モータECU」という)40によって、インバータ41,42の図示しない複数のスイッチング素子がスイッチング制御されることにより、回転駆動される。
モータECU40は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。モータECU40には、モータMG1,MG2を駆動制御するのに必要な各種センサからの信号が入力ポートを介して入力されている。モータECU40に入力される信号としては、以下のものを挙げることができる。
・モータ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の回転数Nm1,Nm2を演算している。
バッテリ50は、例えばリチウムイオン二次電池やニッケル水素二次電池として構成されている。このバッテリ50は、上述したように、電力ライン54を介してインバータ41,42と接続されている。バッテリ50は、バッテリ用電子制御ユニット(以下、「バッテリECU」という)52によって管理されている。
バッテリECU52は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。バッテリECU52には、バッテリ50を管理するのに必要な各種センサからの信号が入力ポートを介して入力されている。バッテリECU52に入力される信号としては、以下のものを挙げることができる。
・バッテリ50の端子間に設置された電圧センサ51aからの電池電圧Vb
・バッテリ50の出力端子に取り付けられた電流センサ51bからの電池電流Ib
・バッテリ50に取り付けられた温度センサ51cからの電池温度Tb
バッテリECU52は、HVECU70と通信ポートを介して接続されており、必要に応じてバッテリ50の状態に関するデータをHVECU70に出力する。バッテリECU52は、電流センサ51bからの電池電流Ibの積算値に基づいて蓄電割合SOCを演算している。蓄電割合SOCは、バッテリ50の全容量に対するバッテリ50から放電可能な電力の容量の割合である。また、バッテリECU52は、演算した蓄電割合SOCと、温度センサ51cからの電池温度Tbと、に基づいて入出力制限Win,Woutを演算している。入出力制限Win,Woutは、バッテリ50を充放電してもよい最大許容電力である。入力制限Winは、値0以下の範囲内で設定され、電池温度Tbが閾値Tblo(例えば、−5℃,0℃,5℃など)よりも低いときに閾値Tblo以上のときに比して大きくなる(絶対値としては小さくなる)ように設定され、蓄電割合SOCが閾値Shi(例えば、60%,65%,70%など)よりも大きいときに閾値Shi以下のときに比して大きくなる(絶対値としては小さくなる)ように設定される。出力制限Woutは、値0以上の範囲内で設定され、電池温度Tbが閾値Tbloよりも低いときに閾値Tblo以上のときに比して小さくなるように設定され、蓄電割合SOCが閾値Slo(例えば、30%,35%,40%など)よりも小さいときに閾値Slo以上のときに比して小さくなるように設定される。
HVECU70は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROMやデータを一時的に記憶するRAM,入出力ポート,通信ポートを備える。HVECU70には、各種センサからの信号が入力ポートを介して入力されている。HVECU70に入力される信号としては、以下のものを挙げることができる。
・イグニッションスイッチ80からのイグニッション信号
・シフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP
・アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc
・ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP
・車速センサ88からの車速V
HVECU70は、上述したように、エンジンECU24,モータECU40,バッテリECU52と通信ポートを介して接続されており、エンジンECU24,モータECU40,バッテリECU52と各種制御信号やデータのやりとりを行なっている。
なお、実施例のハイブリッド自動車20では、シフトレバー81の操作位置(シフトポジションセンサ82によって検出されるシフトポジションSP)としては、駐車時に用いる駐車ポジション(Pポジション),後進走行用のリバースポジション(Rポジション),中立のニュートラルポジション(Nポジション),前進走行用のドライブポジション(Dポジション)などがある。
こうして構成された実施例のハイブリッド自動車20では、アクセル開度Accと車速Vとに基づいて駆動軸36の要求駆動力を設定し、要求駆動力に見合う要求動力が駆動軸36に出力されるように、エンジン22とモータMG1,MG2とを運転制御する。エンジン22とモータMG1,MG2との運転モードとしては、以下の(1)〜(3)の3つのモードがある。
(1)トルク変換運転モード:要求動力に対応する動力がエンジン22から出力されるようにエンジン22を運転制御すると共に、エンジン22から出力される動力の全てが、プラネタリギヤ30とモータMG1,MG2とによってトルク変換されて、要求動力が駆動軸36に出力されるようにモータMG1,MG2を駆動制御するモード
(2)充放電運転モード:要求動力とバッテリ50の充放電に必要な電力との和に見合う動力がエンジン22から出力されるようにエンジン22を運転制御すると共に、エンジン22から出力される動力の全てまたは一部が、バッテリ50の充放電を伴ってプラネタリギヤ30とモータMG1,MG2とによってトルク変換されて、要求動力が駆動軸36に出力されるようにモータMG1,MG2を駆動制御するモード
(3)モータ運転モード:エンジン22の運転を停止して、要求動力が駆動軸36に出力されるようにモータMG2を駆動制御するモード
次に、こうして構成された実施例のハイブリッド自動車20の動作、特に、後進走行する際の動作について説明する。図2は、実施例のHVECU70によって実行される後進走行時制御ルーチンの一例を示すフローチャートである。このルーチンは、シフトポジションSPが後進走行用ポジションのときに所定時間毎(例えば、数msec毎)に繰り返し実行される。
後進走行時制御ルーチンが実行されると、HVECU70は、まず、アクセル開度Acc,駆動軸36の回転数Nr,バッテリ50の出力制限Woutなどのデータを入力する(ステップS100)。ここで、アクセル開度Accは、アクセルペダルポジションセンサ84によって検出された値を入力するものとした。駆動軸36の回転数Nrは、モータECU40によって演算されたモータMG2の回転数Nm2を通信によって入力して駆動軸36の回転数Nrとして用いるものとした。バッテリ50の出力制限Woutは、バッテリECU52によって演算された値を通信によって入力するものとした。
こうしてデータを入力すると、入力したアクセル開度Accと駆動軸36の回転数Nrとに基づいて、走行に要求される(駆動軸36に要求される)要求トルクTr*を設定する(ステップS110)。ここで、要求トルクTr*は、実施例では、アクセル開度Accと駆動軸36の回転数Nrと要求トルクTr*との関係を予め定めて要求トルク設定用マップとして図示しないROMに記憶しておき、アクセル開度Accと車速Vとが与えられると、このマップから対応する要求トルクTr*を導出して設定するものとした。要求トルク設定用マップの一例を図3に示す。シフトポジションSPが後進走行用ポジションのときには、図示するように、要求トルクTr*に負の値が設定される。
続いて、フラグFが値0か値1かを判定し(ステップS120)、フラグFが値0のときには、要求トルクTr*を負の閾値Trefと比較する(ステップS130)。ここで、閾値Trefは、エンジン22の回転数Neの上昇を開始するか否かを判定するために用いられる閾値であり、モータMG2の負側の定格トルクTm2lim,バッテリ50の出力制限WoutをモータMG2の回転数Nm2で除して得られる値(Wout/Nm2)などに基づいて設定することができる。また、フラグFは、シフトポジションSPが後進走行用ポジションに設定されたときに初期値として値0が設定され、その後に、要求トルクTr*が閾値Tref未満になったとき(要求トルクTr*の絶対値が閾値Trefの絶対値よりも大きくなったとき)に値0から値1に切り替えられるフラグである。
ステップS130で要求トルクTr*が閾値Tref以上のとき(要求トルクTr*の絶対値が閾値Trefの絶対値以下のとき)には、エンジン22の回転数Neの上昇を開始しないと判断し、モータMG1のトルク指令Tm1*に値0を設定する(ステップS140)。
続いて、モータMG2のトルク指令Tm2*の仮の値としての仮トルクTm2tmpに要求トルクTr*を設定する(ステップS150)。また、バッテリ50の出力制限WoutをモータMG2の回転数Nm2で除して、バッテリ50の出力制限Woutの範囲内でモータMG2から出力してもよいトルクの下限(絶対値としては上限)としてのトルク制限Tm2minを計算する(ステップS160)。そして、モータMG2の仮トルクTm2tmpをトルク制限Tm2minと定格トルクTm2limとで制限(下限ガード)して、モータMG2のトルク指令Tm2*を設定する(ステップS170)。
こうしてモータMG1,MG2のトルク指令Tm1*,Tm2*を設定すると、設定したトルク指令Tm1*,Tm2*をモータECU40に送信して(ステップS180)、本ルーチンを終了する。モータECU40は、トルク指令Tm1*,Tm2*を受信すると、モータMG1,MG2がトルク指令Tm1*,Tm2*で駆動されるようにインバータ41,42のスイッチング素子のスイッチング制御を行なう。こうした制御により、トルク制限Tm2min(=Wout/Nm2)とモータMG2の定格トルクTm2limとの範囲内で、要求トルクTr*を駆動軸36に出力することができる。
ステップS130で要求トルクTr*が閾値Tref未満になったとき(要求トルクTr*の絶対値が閾値Trefの絶対値よりも大きくなったとき)には、エンジン22の回転数Neの上昇を開始すると判断し、フラグFに値1を設定し(ステップS190)、ステップS200に進む。こうしてフラグFに値1を設定すると、次回以降に本ルーチンが実行されたときには、ステップS120でフラグFが値1であると判定され、ステップS130,S190の処理を行なわずに、ステップS200に進む。
ステップS200では、次式(1)に示すように、前回に本ルーチンを実行したときに設定したエンジン22の目標回転数(前回Ne*)に上昇レートRupを加えた値を要求回転数Netagで制限(上限ガード)してエンジン22の目標回転数Ne*を設定する(ステップS200)。ここで、要求回転数Netagは、エンジン22の回転数Neを上昇させる際の要求値であり、例えば、2000rpm,2500rpm,3000rpmなどを用いることができる。また、上昇レートRupは、エンジン22の目標回転数Ne*を要求回転数Netagに向けて上昇させる際の目標回転数Ne*の単位時間当たり(本ルーチンの実行間隔当たり)の上昇量であり、例えば、0.4rpm/msec,0.5rpm/msec,0.6rpm/msecなどを単位時間あたりに換算した値を用いることができる。なお、フラグFを値0から値1に切り替えるまでは、エンジン22の目標回転数Ne*には値0が設定されている。したがって、ステップS200の処理は、エンジン22の目標回転数Ne*を、値0から要求回転数Netagに向けて上昇レートRupずつ上昇させ、要求回転数Netagに至った後は要求回転数Netagとする処理となる。
Ne*=min(前回Ne*+Rup,Netag) (1)
次に、バッテリ50の出力制限Woutを閾値Wrefと比較する(ステップS210)。ここで、閾値Wrefは、バッテリ50の出力制限Woutが比較的大きいか否かを判定するために用いられる閾値である。バッテリ50の出力制限Woutが閾値Wref以上のときには、出力制限Woutが比較的大きいと判断し、エンジン22の目標回転数Ne*と駆動軸36の回転数Nrとプラネタリギヤ30のギヤ比ρ(サンギヤの歯数/リングギヤの歯数)とを用いて、次式(2)により、モータMG1の目標回転数Nm1*を計算する(ステップS220)。続いて、計算したモータMG1の目標回転数Nm1*とモータMG1の現在の回転数Nm1とプラネタリギヤ30のギヤ比ρとを用いて、式(3)により、モータMG1のトルク指令Tm1*を計算する(ステップS230)。ここで、式(2)は、プラネタリギヤ30の回転要素に対する力学的な関係式である。燃料噴射を行なっていないエンジン22をモータMG1によってモータリングしながら後進走行する際のプラネタリギヤ30の回転要素における回転数とトルクとの力学的な関係を示す共線図の一例を図4に示す。図中、左のS軸はモータMG1の回転数Nm1であるサンギヤの回転数を示し、C軸はエンジン22の回転数Neであるキャリヤの回転数を示し、R軸はモータMG2の回転数Nm2であるリングギヤ(駆動軸36)の回転数Nrを示す。また、図中、R軸における2つの太線矢印は、モータMG1をトルク指令Tm1*で駆動したときにモータMG1から出力されてプラネタリギヤ30を介して駆動軸36に作用するトルク(−Tm1*/ρ)と、モータMG2をトルク指令Tm2*で駆動したときにモータMG2から出力されて駆動軸36に作用するトルクと、を示す。以下、トルク(−Tm1*/ρ)を直行トルクTmpという。なお、直行トルクTmpには、エンジン22のフリクションに起因して駆動軸36に作用するトルク(以下、「フリクション起因トルク」という)と、エンジン22およびモータMG1のイナーシャに起因して駆動軸36に作用するトルク(以下、「イナーシャ起因トルク」という)と、が含まれる。式(2)は、この共線図を用いれば容易に導くことができる。また、式(3)は、モータMG1を目標回転数Nm1*で回転させる(エンジン22を目標回転数Ne*で回転させる)ためのフィードバック制御における関係式である。式(3)中、「k1」は比例項のゲインであり、「k2」は積分項のゲインである。
Nm1*=Ne*・(1+ρ)/ρ-Nr/ρ (2)
Tm1*=k1・(Nm1*-Nm1)+k2・∫(Nm1*-Nm1)dt (3)
続いて、次式(4)に示すように、直行トルクTmp(=−Tm1/ρ)を要求トルクTr*から減じて、モータMG2の仮トルクTm2tmpを計算する(ステップS240)。式(4)は、図4の共線図を用いれば容易に導くことができる。また、式(5)に示すように、モータMG1のトルク指令Tm1*にモータMG1の現在の回転数Nm1を乗じて得られるモータMG1の消費電力(発電電力)をバッテリ50の出力制限Woutから減じた値をモータMG2の回転数Nm2で除して、モータMG2のトルク制限Tm2minを計算する(ステップS250)。そして、モータMG2の仮トルクTm2tmpをトルク制限Tm2minと定格トルクTm2limとで制限(下限ガード)して、モータMG2のトルク指令Tm2*を設定する(ステップS260)。
Tm2tmp=Tr*+Tm1*/ρ (4)
Tm2min=(Wout-Tm1*・Nm1)/Nm2 (5)
こうしてモータMG1,MG2のトルク指令Tm1*,Tm2*を設定すると、設定したトルク指令Tm1*,Tm2*をモータECU40に送信して(ステップS270)、本ルーチンを終了する。このように、燃料噴射を行なっていないエンジン22をモータMG1によってモータリングすることにより、直行トルクTmpを後進走行用のアシストトルクとして用いることができるから、駆動軸36に出力可能なトルクの下限値(絶対値としては上限値)をより大きくすることができる。この結果、後進走行性能を向上させることができる。
ステップS210でバッテリ50の出力制限Woutが閾値Wref未満のときには、バッテリ50の出力制限Woutが比較的小さいと判断し、エンジン22が運転されているか否かを判定する(ステップS280)。そして、エンジン22が運転されていないと判定されたときには、エンジン22の回転数Neが閾値Nref以上か否かを判定する(ステップS290)。ここで、閾値Nrefは、エンジン22の運転(燃料噴射制御,点火制御など)を開始する回転数であり、例えば、300rpm,400rpm,500rpmなどを用いることができる。エンジン22の回転数Neが閾値Nref未満のときには、上述のステップS220〜S270の処理によって、モータMG1,MG2のトルク指令Tm1*,Tm2*を設定してモータECU40に送信して、本ルーチンを終了する。
ステップS290でエンジン22の回転数Neが閾値Nref以上になると、エンジン22の運転を開始し(ステップS300)、モータMG1のトルク指令Tm1*に値0を設定し(ステップS310)、上述のステップS150〜S170の処理と同様に、モータMG2のトルク指令Tm2*を設定する(ステップS320〜S340)。そして、エンジン22の目標回転数Ne*をエンジンECU24に送信すると共にモータMG1,MG2のトルク指令Tm1*,Tm2*をモータECU40に送信して(ステップS350)、本ルーチンを終了する。エンジンECU24は、エンジン22の目標回転数Ne*を受信すると、エンジン22の回転数Neが目標回転数Ne*となるようにエンジン22の目標トルクTe*を設定し、エンジン22が目標トルクTe*で運転されるようにエンジン22の吸入空気量制御,燃料噴射制御,点火制御などを行なう。
モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを要求回転数Netagまで上昇させるためには、モータMG1で比較的大きい電力を消費することになる。このため、バッテリ50の出力制限Woutが閾値Wref未満のとき(出力制限Woutが比較的小さいとき)には、このモータリングによってエンジン22の回転数Neを要求回転数Netagまで上昇させることが困難となることがある。しかし、バッテリ50の出力制限Woutによって、エンジン22の回転数Neを要求回転数Netagまで上昇させる場合と上昇させない場合とが生じると、運転者に加速フィーリングの違和感(エンジンの回転数を上昇させるか否かによる音の違い)を感じさせる可能性がある。これを考慮して、実施例では、バッテリ50の出力制限Woutが閾値Wref未満のときには、エンジン22の運転を開始して、エンジン22の運転によってエンジン22の回転数Neを要求回転数Netagまで上昇させるものとした。これにより、バッテリ50の出力制限Woutが閾値Wref未満のときに、エンジン22の回転数Neを上昇させないものに比して、運転者に加速フィーリングの違和感を感じさせるのを抑制することができる。
図5は、後進走行する際のアクセル開度Acc,車速V,要求トルクTr*,エンジン22の回転数Ne,モータMG2のトルク指令Tm2*,直行トルクTmp(=−Tm1*/ρ),駆動軸36に出力されるトルクTrの時間変化の様子の一例を示す説明図である。図5中、ケースA(実線)は、バッテリ50の出力制限Woutが閾値Wref以上のときの様子を示し、ケースB(破線)は、バッテリ50の出力制限Woutが閾値Wref未満のときの様子を示す。なお、要求トルクTr*とエンジン22の回転数Ne(目標回転数Ne*)とモータMG2のトルク指令Tm2*については、簡単のために、ケースAとケースBとで同一となる場合を考えるものとした。ケースAの場合、図中実線に示すように、時刻t11に、アクセル開度Accが比較的大きく踏み込まれて要求トルクTr*が閾値Tref未満になると、その後、モータMG2のトルク指令Tm2*に負の値を設定してモータMG2から負のトルクを出力しつつ、モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを要求回転数Netagまで上昇させて保持する。これにより、フリクション起因トルクとイナーシャ起因トルクとを含む直行トルクTmpを後進走行用のアシストトルクとして用いることができるから、駆動軸36に出力されるトルクの大きさをより大きくすることができ、後進走行性能を向上させることができる。そして、時刻t13にエンジン22の回転数Ne(目標回転数Ne*)が要求回転数Netagに至ると、その後、モータMG1によるエンジン22のモータリングによってエンジン22の回転数Neを要求回転数Netagで保持する。このため、直行トルクTmpにイナーシャ起因トルクが含まれなくなることによって、駆動軸36に出力されるトルクTrの大きさが小さくなる。勿論、このときでも、駆動軸36に出力されるトルクの大きさは、直行トルクTmpが生じない場合に比して大きい。一方、ケースBの場合、図中破線に示すように、時刻t11に、アクセル開度Accが比較的大きく踏み込まれて要求トルクTr*が閾値Tref未満になると、モータMG2のトルク指令Tm2*に負の値を設定してモータMG2から負のトルクを出力しつつ、モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを上昇させる。そして、時刻t12にエンジン22の回転数Neが閾値Nref以上に至ると、エンジン22の運転を開始し、エンジン22の運転によってエンジン22の回転数Neを要求回転数Netagまで上昇させて保持する。これにより、バッテリ50の出力制限Woutが閾値Wref未満のときに、エンジン22の回転数Neを上昇させないものに比して、運転者に加速フィーリングの違和感を感じさせるのを抑制することができる。なお、ケースBの場合、エンジン22の運転を開始するまでは、ケースAと同様に直行トルクTmpを後進走行用のアシストトルクとして用いることができるが、エンジン22の運転を開始すると、直行トルクTmpが生じなくなるから、駆動軸36に出力されるトルクの大きさがケースAよりも小さくなる。
以上説明した実施例のハイブリッド自動車20では、後進走行する際に、バッテリ50の出力制限Woutが閾値Wref以上のときには、モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを要求回転数Netagまで上昇させ、バッテリ50の出力制限Woutが閾値Wref未満のときには、エンジン22の運転によってエンジン22の回転数Neを要求回転数Netagまで上昇させる。これにより、バッテリ50の出力制限Woutが閾値Wref未満のときに、エンジン22の回転数Neを上昇させないものに比して、運転者に加速フィーリングの違和感を感じさせるのを抑制することができる。
また、実施例のハイブリッド自動車20では、後進走行する際に、モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを上昇させるときと、エンジン22の運転によってエンジン22の回転数Neを上昇させるときとで、同一の要求回転数Netagおよび同一の上昇レートRupを用いる。これにより、運転者に加速フィーリングの違和感を感じさせるのをより抑制することができる。
実施例のハイブリッド自動車20では、後進走行する際に、モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを上昇させるときと、エンジン22の運転によってエンジン22の回転数Neを上昇させるときとで、同一の要求回転数Netagを用いるものとしたが、異なる要求回転数Netagを用いるものとしてもよい。
実施例のハイブリッド自動車20では、後進走行する際に、モータMG1によってエンジン22をモータリングしてエンジン22の回転数Neを上昇させるときと、エンジン22の運転によってエンジン22の回転数Neを上昇させるときとで、同一の上昇レートRupを用いるものとしたが、異なる上昇レートRupを用いるものとしてもよい。
実施例のハイブリッド自動車20では、後進走行する際において、エンジン22の運転によってエンジン22の回転数Neを上昇させる条件として,バッテリ50の出力制限Woutが閾値Wref未満である第1条件を用いるものとした。しかし、バッテリ50の蓄電割合SOCが上述の閾値Slo以下の閾値Sref未満である第2条件を用いるものとしてもよいし、バッテリ50の電池温度Tbが上述の閾値Tblo以下の閾値Tbref未満である第3条件を用いるものとしてもよい。第2条件は、蓄電割合SOCが閾値Slo未満のときに閾値Slo以上のときに比して小さくなるようにバッテリ50の出力制限Woutが設定されることに基づくものであり、第3条件は、バッテリ50の電池温度Tbが閾値Tblo未満のときに閾値Tblo以上のときに比して小さくなるようにバッテリ50の出力制限Woutが設定されることに基づくものである。また、第1条件,第2条件,第3条件の2つ又は3つを組み合わせて用いるものとしてもよい。これらの場合、2つまたは3つの条件の少なくとも1つが成立するときに、エンジン22の運転によってエンジン22の回転数Neを上昇させるものとすればよい。
実施例のハイブリッド自動車20では、後進走行する際に、要求トルクTr*が閾値Tref未満になったとき(要求トルクTr*の絶対値が閾値Trefの絶対値よりも大きくなったとき)に、エンジン22の回転数Neの上昇を開始するものとした。しかし、後進走行する際には、要求トルクTr*に拘わらず、エンジン22の回転数Neの上昇を開始するものとしてもよい。
実施例のハイブリッド自動車20では、後進走行する際に、要求トルクTr*が閾値Tref未満になったときには、その後に、要求トルクTr*が閾値Tref以上になったときでも、目標回転数Ne*に応じた、モータMG1によるエンジン22のモータリングまたはエンジン22の運転を継続するものとした。しかし、要求トルクTr*が閾値Tref以上になったときには、目標回転数Ne*に応じた、モータMG1によるエンジン22のモータリングまたはエンジン22の運転を終了するものとしてもよい。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、エンジン22が「エンジン」に相当し、モータMG1が「第1モータ」に相当し、プラネタリギヤ30が「プラネタリギヤ」に相当し、モータMG2が「第2モータ」に相当し、バッテリ50が「バッテリ」に相当し、HVECU70とエンジンECU24とモータECU40とが「制御手段」に相当する。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。