図1は、本発明の実施例としてのハイブリッド自動車20の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図示するように、エンジン22と、プラネタリギヤ30と、モータMG1,MG2と、インバータ41,42と、バッテリ50と、ハイブリッド用電子制御ユニット(以下、「HVECU」という)70と、を備える。
エンジン22は、ガソリンや軽油などを燃料として動力を出力する内燃機関として構成されている。このエンジン22は、エンジン用電子制御ユニット(以下、「エンジンECU」という)24によって運転制御されている。
エンジンECU24は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。エンジンECU24には、エンジン22を運転制御するのに必要な各種センサからの信号、例えば、エンジン22のクランクシャフト26の回転位置を検出するクランクポジションセンサからのクランク角θcrなどが入力ポートから入力されている。エンジンECU24からは、エンジン22を運転制御するための各種制御信号が出力ポートを介して出力されている。エンジンECU24は、HVECU70と通信ポートを介して接続されている。エンジンECU24は、クランクポジションセンサ23からのクランク角θcrに基づいてエンジン22の回転数Neを演算している。
プラネタリギヤ30は、シングルピニオン式の遊星歯車機構として構成されている。プラネタリギヤ30のサンギヤには、モータMG1の回転子が接続されている。プラネタリギヤ30のリングギヤには、駆動輪39a,39bにデファレンシャルギヤ38を介して連結された駆動軸36が接続されている。プラネタリギヤ30のキャリヤには、ダンパ28を介してエンジン22のクランクシャフト26が接続されている。
モータMG1は、例えば同期発電電動機として構成されており、上述したように、回転子がプラネタリギヤ30のサンギヤに接続されている。モータMG2は、例えば同期発電電動機として構成されており、回転子が駆動軸36に接続されている。インバータ41,42は、モータMG1,MG2と接続されると共に電力ライン54を介してバッテリ50と接続されている。モータMG1,MG2は、モータ用電子制御ユニット(以下、「モータECU」という)40によって、インバータ41,42の図示しない複数のスイッチング素子がスイッチング制御されることにより、回転駆動される。
モータECU40は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。モータECU40には、モータMG1,MG2を駆動制御するのに必要な各種センサからの信号、例えば、モータMG1,MG2の回転子の回転位置を検出する回転位置検出センサ43,44からの回転位置θm1,θm2などが入力ポートを介して入力されている。モータECU40からは、インバータ41,42の図示しない複数のスイッチング素子へのスイッチング制御信号などが出力ポートを介して出力されている。モータECU40は、HVECU70と通信ポートを介して接続されている。モータECU40は、回転位置検出センサ43,44からのモータMG1,MG2の回転子の回転位置θm1,θm2に基づいてモータMG1,MG2の回転数Nm1,Nm2を演算している。
バッテリ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と通信ポートを介して接続されている。バッテリECU52は、電流センサ51bからの電池電流Ibの積算値に基づいて蓄電割合SOCを演算している。蓄電割合SOCは、バッテリ50の全容量に対するバッテリ50から放電可能な電力の容量の割合である。
HVECU70は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。HVECU70には、各種センサからの信号が入力ポートを介して入力されている。HVECU70に入力される信号としては、例えば、イグニッションスイッチ80からのイグニッション信号や、シフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSPを挙げることができる。ここで、シフトポジションSPとしては、駐車ポジション(Pポジション)、後進ポジション(Rポジション)、ニュートラルポジション(Nポジション)、前進ポジション(Dポジション)などがある。また、アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Accや、ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,車速を検出する車速センサ88からの車速Vも挙げることができる。さらに、走行モードMdとしてノーマルモードに比して燃費をより優先するエコモードを指示するエコスイッチ90からのエコスイッチ信号も挙げることができる。車両の前後方向や左右方向,上下方向の加速度を検出する加速度センサ91からの前後加速度α,左右加速度β,上下加速度γも挙げることができる。ヨーレートを検出するヨーレートセンサ92からのヨーレートθyr,路面の勾配を検出する勾配センサ93からの路面勾配θrg,フロントガラスの雨滴量を検出するレインセンサ94からの雨滴量Qrも挙げることができる。HVECU70は、雨滴量Qrに基づいて、雨滴量Qrが多いほど小さくなるように路面の摩擦係数μを推定している。また、HVECU70は、ワイパーを自動で作動させるワイパー作動装置96への制御信号などが出力ポートを介して出力されている。ワイパー作動装置96は、雨滴量Qrが多いほどワイパーを高速で作動させる。HVECU70は、上述したように、エンジンECU24,モータECU40,バッテリECU52と通信ポートを介して接続されている。
こうして構成された実施例のハイブリッド自動車20では、アクセル開度Accと車速Vとに基づいて駆動軸36の要求駆動力を設定し、要求駆動力に見合う要求動力が駆動軸36に出力されるように、エンジン22とモータMG1,MG2とを運転制御する。エンジン22とモータMG1,MG2との運転モードとしては、以下の(1)〜(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によって実行されるアクセルオフ時制御ルーチンの一例を示すフローチャートである。このルーチンは、走行中のアクセルオフ時に所定時間(例えば、数msec)毎に繰り返し実行される。なお、走行中のアクセルオフ時には、このルーチンと並行して、HVECU70とエンジンECU24とモータECU40との協調制御により、エンジン22を運転停止すると共にモータMG1からトルクが出力されないようにインバータ41の複数のスイッチング素子のスイッチング制御を行なう。
アクセルオフ時制御ルーチンが実行されると、HVECU70は、まず、車速Vおよび制動力低減フラグFbrを入力する(ステップS100)。ここで、車速Vは、車速センサ88によって検出されたものを入力するものとした。制動力低減フラグFbrは、アクセルオフ時の制動力を低減するか否かを示すフラグであり、後述の制動力低減フラグ設定ルーチンによって設定されたものを入力するものとした。
こうしてデータを入力すると、入力した車速Vと制動力低減フラグFbrとに基づいて、車両に要求される(駆動軸36に要求される)要求トルクTd*を設定する(ステップS110)。ここで、要求トルクTd*は、実施例では、車速Vと制動力低減フラグFbrと要求トルクTd*との関係を予め定めて要求トルク設定用マップとして図示しないROMに記憶しておき、車速Vと制動力低減フラグFbrとが与えられると、このマップから対応する要求トルクTd*を導出して設定するものとした。要求トルク設定用マップの一例を図3に示す。要求トルクTd*が負の場合、車両(駆動軸36)に制動トルクが要求されていることを意味する。要求トルクTd*は、図示するように、制動力低減フラグFbrが値1のときには値0のときに比して大きくなる(制動力としては小さくなる)ように設定するものとした。具体的には、制動力低減フラグFbrが値0のときには、要求トルクTd*に値Tdnoを設定し、制動力低減フラグFbrが値1のときには、要求トルクTd*に値Tdnoよりも大きい(制動トルクとしては小さい)値Tdecを設定するものとした。
こうして要求トルクTd*を設定すると、設定した要求トルクTd*をモータMG2のトルク指令Tm2*として設定してモータECU40に送信して(ステップS120)、本ルーチンを終了する。モータECU40は、モータMG2のトルク指令Tm2*を受信すると、モータMG2がトルク指令Tm2*で駆動されるようにインバータ42の複数のスイッチング素子のスイッチング制御を行なう。要求トルクTd*即ちモータMG2のトルク指令Tm2*が負の場合(制動トルクである場合)、モータMG2の回生駆動によって、駆動軸36に負のトルク即ち制動トルクが出力される。こうした制御により、制動力低減フラグFbrが値1のときには、制動力低減フラグFbrが値0のときに比して、要求トルクTd*即ちモータMG2のトルク指令Tm2*を大きく(制動力としては小さく)してモータMG2を制御する。したがって、以下、制動力低減フラグFbrが値1のときの制御を「制動力低減制御」という。
次に、図2のアクセルオフ時制御ルーチンで用いられる制動力低減フラグFbrを設定する処理について説明する。図4は、制動力低減フラグ設定ルーチンの一例を示すフローチャートである。このルーチンは、走行中のアクセルオフ時に、図2のルーチンと並行して所定時間(例えば、数msec)毎に繰り返し実行される。
制動力低減フラグ設定ルーチンが実行されると、HVECU70は、まず、走行モードMdおよび前後加速度αを入力する(ステップS200)。ここで、走行モードMdは、エコスイッチ90からのエコスイッチ信号に基づいて設定されたもの(ノーマルモードまたはエコモード)を入力するものとした。前後加速度αは、加速度センサ91によって検出されたものを入力するものとした。
こうしてデータを入力すると、走行モードMdがノーマルモードかエコモードかを判定する(ステップS210)。この処理は、アクセルオフ時の制動力の低減条件(上述の制動力低減制御の実行を指示する条件)が成立しているか否かを判定する処理である。走行モードMdがノーマルモードである(エコモードでない)と判定されたときには、低減条件が成立していないと判断し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS210で走行モードMdがエコモードであると判定されたときには、アクセルオフ開始直後または走行モードMdの切替直後であるか否かを判定する(ステップS220)。ステップS210,S220で走行モードMdがエコモードで且つアクセルオフ開始直後の場合としては、走行モードMdがエコモードで且つアクセルオンの状態からアクセルオフされた直後を考えることができる。また、ステップS210,S220で走行モードMdがエコモードで且つ走行モードMdの切替直後の場合としては、アクセルオフ中に走行モードMdがノーマルモードからエコモードに切り替わった直後を考えることができる。ステップS220で、アクセルオフ開始直後または走行モードMdの切替直後であると判定されたときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。
ステップS220で、アクセルオフ開始直後でなく且つ走行モードMdの切替直後でもないと判定されたときには、前後加速度αを閾値αref1と比較する(ステップS230)。ここで、閾値αref1は、車速Vが増速していると仮判定するか否かの判断用の閾値であり、例えば、0G(1G=9.8m/s2)や0.02G,0.04Gなどを用いることができる。なお、アクセルオフで車速Vが増速するときとしては、降坂路でのアクセルオフ時を考えることができる。前後加速度αが閾値αref1よりも大きいときには、車速Vが増速していると仮判定し、カウンタCaを値1だけカウントアップする(ステップS240)。一方、前後加速度αが閾値αref1以下のときには、車速Vが増速していると仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCaを値0にクリア(リセット)する(ステップS250)。ここで、カウンタCaと本ルーチンの実行間隔との積は、車速Vが増速していると仮判定している継続時間を意味する。
続いて、前後加速度αを閾値αref1以下の閾値αref2と比較する(ステップS260)。ここで、閾値αref2は、車速Vが増速していないと仮判定するか否かの判断用の閾値であり、例えば、−0.04Gや−0.02G,0Gなどを用いることができる。前後加速度αが閾値αref2以下のときには、車速Vが増速していないと仮判定し、カウンタCbを値1だけカウントアップする(ステップS270)。一方、前後加速度αが閾値αref2よりも大きいときには、車速Vが増速していないと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCbを値0にクリア(リセット)する(ステップS280)。ここで、カウンタCbと本ルーチンの実行間隔との積は、車速Vが増速していないと仮判定している継続時間を意味する。
こうしてカウンタCaおよびカウンタCbを設定すると、カウンタCaを閾値Carefと比較すると共に(ステップS290)、カウンタCbを閾値Cbrefと比較する(ステップS300)。ここで、閾値Carefは、車速Vが増速していると本判定(確定)するか否かの判断用の閾値であり、例えば、400msecや450msec,500msecなどに相当する値を用いることができる。閾値Cbrefは、車速Vが増速していないと本判定(確定)するか否かの判断用の閾値であり、例えば、400msecや450msec,500msecなどに相当する値を用いることができる。
ステップS290,S300で、カウンタCaが閾値Caref未満で且つカウンタCbref未満のときには、車速Vが増速しているとも増速していないとも本判定(確定)せず、本ルーチンの前回の実行時に設定した制動力低減フラグ(前回Fbr)の値を調べる(ステップS310)。そして、前回の制動力低減フラグ(前回Fbr)が値1のときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。一方、前回の制動力低減フラグ(前回Fbr)が値0のときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS290でカウンタCaが閾値Caref以上のときには、車速Vが増速していると本判定(確定)し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値1でカウンタCaが閾値Caref以上に至ったときに、制動力低減フラグFbrを値0に切り替えることになる。これにより、走行モードMdがエコモードのとき(アクセルオフ時の制動力の低減条件が成立しているとき)において、制動力低減制御の実行中に車速Vが増速していると本判定すると、制動力低減制御の実行を中止して、要求トルクTd*を小さくする(制動力としては大きくする)ことになる。この結果、制動トルクを比較的小さいトルクで継続するものに比して、アクセルオフ時の減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。
ステップS300でカウンタCbが閾値Cbref以上のときには、車速Vが増速していないと本判定(確定)し、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値0でカウンタCbが閾値Cbref以上に至ったときに、制動力低減フラグFbrを値1に切り替えることになる。これにより、走行モードMdがエコモードのときにおいて、制動力低減制御を実行していないとき(実行を中止(中断)しているとき)に車速Vが増速していないと本判定すると、制動力低減制御の実行を再開して、要求トルクTd*を大きくする(制動力としては小さくする)ことになる。この結果、エコスイッチ90をオンとしている運転者の意思(制動力を比較的小さくすることを所望していると考えられる)に対応することができる。
図5は、アクセルオフ且つ走行モードMdがエコモードである(低減条件が成立している)ときの様子の一例を示す説明図である。図示するように、前後加速度αが閾値αref1と閾値αref2との間で且つカウンタCa,Cbが共に値0で且つ要求トルクTd*が比較的大きい(制動トルクとしては比較的小さい)値Tdec(図3参照)の状態で、時刻t1に前後加速度αが閾値αref1よりも大きくなると、カウンタCaを増加させ始める。そして、時刻t2にカウンタCaが閾値Caref以上に至ると、要求トルクTd*を値Tdno(図3参照)まで小さくする(制動トルクとしては大きくする)。これにより、アクセルオフ時の減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。その後、時刻t3に前後加速度αが閾値αref1以下になるとカウンタCaを値0にクリアし、時刻t4に前後加速度αが閾値αref2以下になるとカウンタCbを増加させ始め、時刻t5にカウンタCbが閾値Cbref以上に至ると、要求トルクTd*を値Tdecまで大きくする(制動トルクとしては小さくする)。これにより、エコスイッチ90をオンとしている運転者の意思に対応することができる。そして、時刻t6に前後加速度αが閾値αref2よりも大きくなると、カウンタCbを値0にクリアする。
以上説明した実施例のハイブリッド自動車20では、アクセルオフ且つ走行モードMdがエコモードである(低減条件が成立している)ときにおいて、制動力低減制御の実行中に、前後加速度αが閾値αref1よりも大きいときにカウントアップするカウンタCaが閾値Caref以上に至ったときには、要求トルクTd*を小さくする(制動トルクとしては大きくする)。これにより、制動トルクを比較的小さいトルクで継続するものに比して、アクセルオフ時の減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。なお、アクセルオフで車速Vが増速するときとしては、降坂路でのアクセルオフ時を考えることができる。
実施例のハイブリッド自動車20では、閾値Carefおよび閾値Cbrefは、一律の値(固定値)を用いるものとした。しかし、閾値Carefおよび閾値Cbrefのうちの少なくとも一方は、前後加速度αに基づいて設定するものとしてもよい。閾値Carefおよび閾値Cbrefを前後加速度αに基づいて設定する場合、前後加速度αと閾値Carefおよび閾値Cbrefとの関係を予め定めてマップとして図示しないROMに記憶しておき、前後加速度αが与えられると、このマップから対応する閾値Carefおよび閾値Cbrefを導出するものとしてもよい。前後加速度αと閾値Carefおよび閾値Cbrefとの関係の一例を図6に示す。図示するように、閾値Carefは、前後加速度αが大きいときには小さいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値1のとき(制動力低減制御を実行しているとき)において、前後加速度αが大きいほど、車速Vの増速度が大きくなるから、アクセルオフ時の車両操作性をより確保するために、早期に制動力低減フラグFbrを値0に切り替える(制動力低減制御を中止する)のが好ましいためである。また、図示するように、閾値Carefは、前後加速度αが小さいときには大きいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値0のとき(制動力低減制御を中止しているとき)において、前後加速度αが小さいほど、車速Vの減速度が大きくなるから、早期に制動力低減フラグFbrを値1に切り替えても(制動力低減制御を再開しても)その後に車両操作性が問題になる可能性が低いと考えられるためである。
実施例のハイブリッド自動車20では、アクセルオフ且つ走行モードMdがエコモードであるときにおいて、制動力低減フラグFbrが値1のときにカウンタCaが閾値Caref以上に至ったときには、制動力低減フラグFbrを値0に切り替えることによって、要求トルクTd*を値Tdno(制動力低減フラグFbrが値0のときの値)まで小さくする(制動トルクとしては大きくする)ものとした。しかし、制動力低減フラグFbrを値1で継続して、要求トルクTd*を、値Tdnoよりも大きく且つ値Tdec(制動力低減フラグFbrが値1のときの値)よりも小さい範囲内で、前後加速度αが大きいときには小さいときに比して小さくなるように設定するものとしてもよい。
実施例のハイブリッド自動車20では、アクセルオフ且つ走行モードMdがエコモードであるときには、前後加速度αに基づくカウンタCa,Cbを用いて制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、カウンタCa,Cbを用いずに、前後加速度αが大きいときには小さいときに比して小さくなる(制動トルクとしては大きくなる)ように要求トルクTd*を設定するものとしてもよい。
実施例のハイブリッド自動車20では、アクセルオフ且つ走行モードMdがエコモードであるときには、前後加速度αを用いて、制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、前後加速度αに代えて、左右加速度β,上下加速度γ,ヨーレートθyr,路面勾配θrg,路面の摩擦係数μのうちの何れか1つを用いるものとしてもよい。また、前後加速度α,左右加速度β,上下加速度γ,ヨーレートθyr,路面勾配θrg,路面の摩擦係数μのうちの複数を用いるものとしてもよい。以下、路面勾配θrgを用いる場合、左右加速度βを用いる場合,ヨーレートθyrを用いる場合,上下加速度γを用いる場合、路面の摩擦係数μを用いる場合について、順に説明する。
まず、アクセルオフ且つ走行モードMdがエコモードであるときに路面勾配θrgを用いて制動力低減フラグFbrひいては要求トルクTd*を設定する場合について説明する。この場合、図2のアクセルオフ時制御ルーチンを実行すると共に、図4の制動力低減フラグ設定ルーチンに代えて図7の制動力低減フラグ設定ルーチンを実行する。図7の制動力低減フラグ設定ルーチンは、図4の制動力低減フラグ設定ルーチンのステップS200,S230〜S300の処理に代えてステップS200b,S230b〜300bの処理を実行する点を除いて図4の制動力低減フラグ設定ルーチンと同一である。したがって、図7の制動力低減フラグ設定ルーチンのうち図4の制動力低減フラグ設定ルーチンと同一の処理については同一のステップ番号を付した。以下、図7の制動力低減フラグ設定ルーチンを、図4の制動力低減制御ルーチンとは異なる点を中心に説明する。
図7の制動力低減フラグ設定ルーチンが実行されると、HVECU70は、まず、走行モードMdおよび路面勾配θrgを入力する(ステップS200b)。ここで、走行モードMdの入力方法については上述した。路面勾配θrgは、勾配センサ93によって検出されたもの(降坂路側を正とする)を入力するものとした。
こうしてデータを入力すると、走行モードMdがノーマルモードかエコモードかを判定し(ステップS210)、走行モードMdがノーマルモードである(エコモードでない)と判定されたときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS210で走行モードMdがエコモードであると判定されたときには、アクセルオフ開始直後または走行モードMdの切替直後であるか否かを判定し(ステップS220)、アクセルオフ開始直後または走行モードMdの切替直後であると判定されたときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。
ステップS220で、アクセルオフ開始直後でなく且つ走行モードMdの切替直後でもないと判定されたときには、路面勾配θrgを閾値θrgref1と比較する(ステップS230b)。ここで、閾値θrgref1は、降坂路である(車速Vが増速しやすい)と仮判定するか否かの判断用の閾値である。路面勾配θrgが閾値θrgref1よりも大きいときには、降坂路であると仮判定し、カウンタCcを値1だけカウントアップする(ステップS240b)。一方、路面勾配θrgが閾値θrgref1以下のときには、降坂路であると仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCcを値0にクリア(リセット)する(ステップS250b)。ここで、カウンタCcと本ルーチンの実行間隔との積は、降坂路であると仮判定している継続時間を意味する。
続いて、路面勾配θrgを閾値θrgref1以下の閾値θrgref2と比較する(ステップS260b)。ここで、閾値θrgref2は、降坂路でないと仮判定するか否かの判断用の閾値である。路面勾配θrgが閾値θrgref2以下のときには、降坂路でないと仮判定し、カウンタCdを値1だけカウントアップする(ステップS270b)。一方、路面勾配θrgが閾値θrgref2よりも大きいときには、降坂路でないと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCdを値0にクリア(リセット)する(ステップS280b)。ここで、カウンタCdと本ルーチンの実行間隔との積は、降坂路でないと仮判定している継続時間を意味する。
こうしてカウンタCcおよびカウンタCdを設定すると、カウンタCcを閾値Ccrefと比較すると共に(ステップS290b)、カウンタCdを閾値Cdrefと比較する(ステップS300b)。ここで、閾値Ccrefは、降坂路である(車速Vが増速しやすい)と本判定(確定)するか否かの判断用の閾値である。閾値Cdrefは、降坂路でないと本判定(確定)するか否かの判断用の閾値である。閾値Ccrefおよび閾値Cdrefは、一律の値(固定値)を用いるものとした。
ステップS290b,S300bで、カウンタCcが閾値Ccref未満で且つカウンタCdref未満のときには、降坂路であるとも降坂路でないとも本判定(確定)せず、本ルーチンの前回の実行時に設定した制動力低減フラグ(前回Fbr)の値を調べる(ステップS310)。そして、前回の制動力低減フラグ(前回Fbr)が値1のときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。一方、前回の制動力低減フラグ(前回Fbr)が値0のときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS290bでカウンタCcが閾値Ccref以上のときには、降坂路であると本判定(確定)し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値1でカウンタCcが閾値Ccref以上に至ったときに、制動力低減フラグFbrを値0に切り替えることになる。これにより、走行モードMdがエコモードのとき(アクセルオフ時の制動力の低減条件が成立しているとき)において、制動力低減制御の実行中に降坂路である(車速Vが増速しやすい)と本判定すると、制動力低減制御の実行を中止して、要求トルクTd*を小さくする(制動力としては大きくする)ことになる。この結果、制動トルクを比較的小さいトルクで継続するものに比して、降坂路でアクセルオフ時に(車速Vが増速しやすいときに)減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。
ステップS300bでカウンタCdが閾値Cdref以上のときには、車速Vが増速していないと本判定(確定)し、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値0でカウンタCdが閾値Cdref以上に至ったときに、制動力低減フラグFbrを値1に切り替えることになる。これにより、走行モードMdがエコモードのときにおいて、制動力低減制御を実行していないとき(実行を中止(中断)しているとき)に降坂路でないと本判定すると、制動力低減制御の実行を再開して、要求トルクTd*を大きくする(制動力としては小さくする)ことになる。この結果、エコスイッチ90をオンとしている運転者の意思に対応することができる。
この変形例では、閾値Ccrefおよび閾値Cdrefは、一律の値(固定値)を用いるものとした。しかし、閾値Ccrefおよび閾値Cdrefのうちの少なくとも一方は、路面勾配θrgに基づいて設定するものとしてもよい。閾値Ccrefおよび閾値Cdrefを路面勾配θrgに基づいて設定する場合、路面勾配θrgと閾値Ccrefおよび閾値Cdrefとの関係を予め定めてマップとして図示しないROMに記憶しておき、路面勾配θrgが与えられると、このマップから対応する閾値Ccrefおよび閾値Cdrefを導出するものとしてもよい。路面勾配θrgと閾値Ccrefおよび閾値Cdrefとの関係の一例を図8に示す。図示するように、閾値Ccrefは、路面勾配θrgが大きいときには小さいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値1のとき(制動力低減制御を実行しているとき)において、路面勾配θrgが大きいほど、車速Vの増速度が大きくなりやすいから、降坂路でのアクセルオフ時の車両操作性をより確保するために、早期に制動力低減フラグFbrを値0に切り替える(制動力低減制御を中止する)のが好ましいためである。また、図示するように、閾値Cdrefは、路面勾配θrgが小さいときには大きいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値0のとき(制動力低減制御を中止しているとき)において、路面勾配θrgが小さいほど、車速Vの減速度が大きくなりやすいから、早期に制動力低減フラグFbrを値1に切り替えても(制動力低減制御を再開しても)その後に車両操作性が問題になる可能性が低いと考えられるためである。
また、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときにおいて、制動力低減フラグFbrが値1のときにカウンタCcが閾値Ccref以上に至ったときには、制動力低減フラグFbrを値0に切り替えることによって、要求トルクTd*を値Tdno(制動力低減フラグFbrが値0のときの値)まで小さくする(制動トルクとしては大きくする)ものとした。しかし、制動力低減フラグFbrを値1で継続して、要求トルクTd*を、値Tdnoよりも大きく且つ値Tdec(制動力低減フラグFbrが値1のときの値)よりも小さい範囲内で、路面勾配θrgが大きいときには小さいときに比して小さくなるように設定するものとしてもよい。
さらに、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときには、路面勾配θrgに基づくカウンタCc,Cdを用いて制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、カウンタCc,Cdを用いずに、路面勾配θrgが大きいときには小さいときに比して小さくなる(制動トルクとしては大きくなる)ように要求トルクTd*を設定するものとしてもよい。
次に、アクセルオフ且つ走行モードMdがエコモードであるときに左右加速度βを用いて制動力低減フラグFbrひいては要求トルクTd*を設定する場合について説明する。この場合、図2のアクセルオフ時制御ルーチンを実行すると共に、図4の制動力低減フラグ設定ルーチンに代えて図9の制動力低減フラグ設定ルーチンを実行する。図9の制動力低減フラグ設定ルーチンは、図4の制動力低減フラグ設定ルーチンのステップS200,S230〜S300の処理に代えてステップS200c,S230c〜300cの処理を実行する点を除いて図4の制動力低減フラグ設定ルーチンと同一である。したがって、図9の制動力低減フラグ設定ルーチンのうち図4の制動力低減フラグ設定ルーチンと同一の処理については同一のステップ番号を付した。以下、図9の制動力低減フラグ設定ルーチンを、図4の制動力低減制御ルーチンとは異なる点を中心に説明する。
図9の制動力低減フラグ設定ルーチンが実行されると、HVECU70は、まず、走行モードMdおよび左右加速度βを入力する(ステップS200c)。ここで、走行モードMdの入力方法については上述した。左右加速度βは、加速度センサ91によって検出されたものを入力するものとした。
こうしてデータを入力すると、走行モードMdがノーマルモードかエコモードかを判定し(ステップS210)、走行モードMdがノーマルモードである(エコモードでない)と判定されたときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS210で走行モードMdがエコモードであると判定されたときには、アクセルオフ開始直後または走行モードMdの切替直後であるか否かを判定し(ステップS220)、アクセルオフ開始直後または走行モードMdの切替直後であると判定されたときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。
ステップS220で、アクセルオフ開始直後でなく且つ走行モードMdの切替直後でもないと判定されたときには、左右加速度βの絶対値を閾値βref1と比較する(ステップS230c)。ここで、閾値βref1は、車両の旋回量が比較的大きいと仮判定するか否かの判断用の閾値である。左右加速度βの絶対値が閾値βref1よりも大きいときには、車両の旋回量が比較的大きいと仮判定し、カウンタCeを値1だけカウントアップする(ステップS240c)。一方、左右加速度βの絶対値が閾値βref1以下のときには、車両の旋回量が比較的大きいと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCeを値0にクリア(リセット)する(ステップS250c)。ここで、カウンタCeと本ルーチンの実行間隔との積は、車両の旋回量が比較的大きいと仮判定している継続時間を意味する。
続いて、左右加速度βの絶対値を閾値βref1以下の閾値βref2と比較する(ステップS260c)。ここで、閾値βref2は、車両の旋回量が比較的小さいと仮判定するか否かの判断用の閾値である。左右加速度βの絶対値が閾値βref2以下のときには、車両の旋回量が比較的小さいと仮判定し、カウンタCfを値1だけカウントアップする(ステップS270c)。一方、左右加速度βの絶対値が閾値βref2よりも大きいときには、車両の旋回量が比較的小さいと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCfを値0にクリア(リセット)する(ステップS280c)。ここで、カウンタCfと本ルーチンの実行間隔との積は、車両の旋回量が比較的小さいと仮判定している継続時間を意味する。
こうしてカウンタCeおよびカウンタCfを設定すると、カウンタCeを閾値Cerefと比較すると共に(ステップS290c)、カウンタCfを閾値Cfrefと比較する(ステップS300c)。ここで、閾値Cerefは、車両の旋回量が比較的大きいと本判定(確定)するか否かの判断用の閾値である。閾値Cfrefは、車両の旋回量が比較的小さいと本判定(確定)するか否かの判断用の閾値である。閾値Cerefおよび閾値Cfrefは、一律の値(固定値)を用いるものとした。
ステップS290c,S300cで、カウンタCeが閾値Ceref未満で且つカウンタCfref未満のときには、車両の旋回量が比較的大きいとも比較的小さいとも本判定(確定)せず、本ルーチンの前回の実行時に設定した制動力低減フラグ(前回Fbr)の値を調べる(ステップS310)。そして、前回の制動力低減フラグ(前回Fbr)が値1のときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。一方、前回の制動力低減フラグ(前回Fbr)が値0のときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS290cでカウンタCeが閾値Ceref以上のときには、車両の旋回量が比較的大きいと本判定(確定)し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値1でカウンタCeが閾値Ceref以上に至ったときに、制動力低減フラグFbrを値0に切り替えることになる。これにより、走行モードMdがエコモードのとき(アクセルオフ時の制動力の低減条件が成立しているとき)において、制動力低減制御の実行中に車両の旋回量が比較的大きいと本判定すると、制動力低減制御の実行を中止して、要求トルクTd*を小さくする(制動力としては大きくする)ことになる。この結果、制動トルクを比較的小さいトルクで継続するものに比して、アクセルオフで車両の旋回量が比較的大きいときに減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。
ステップS300cでカウンタCfが閾値Cfref以上のときには、車両の旋回量が比較的小さいと本判定(確定)し、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値0でカウンタCfが閾値Cfref以上に至ったときに、制動力低減フラグFbrを値1に切り替えることになる。これにより、走行モードMdがエコモードのときにおいて、制動力低減制御を実行していないとき(実行を中止(中断)しているとき)に車両の旋回量が比較的小さいと本判定すると、制動力低減制御の実行を再開して、要求トルクTd*を大きくする(制動力としては小さくする)ことになる。この結果、エコスイッチ90をオンとしている運転者の意思に対応することができる。
この変形例では、閾値Cerefおよび閾値Cfrefは、一律の値(固定値)を用いるものとした。しかし、閾値Cerefおよび閾値Cfrefのうちの少なくとも一方は、左右加速度βに基づいて設定するものとしてもよい。閾値Cerefおよび閾値Cfrefを左右加速度βに基づいて設定する場合、左右加速度βの絶対値と閾値Cerefおよび閾値Cfrefとの関係を予め定めてマップとして図示しないROMに記憶しておき、左右加速度βの絶対値が与えられると、このマップから対応する閾値Cerefおよび閾値Cfrefを導出するものとしてもよい。左右加速度βの絶対値と閾値Cerefおよび閾値Cfrefとの関係の一例を図10に示す。図示するように、閾値Cerefは、左右加速度βの絶対値が大きいときには小さいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値1のとき(制動力低減制御を実行しているとき)において、左右加速度βの絶対値が大きいほど、車両の旋回量が大きいと考えられることから、アクセルオフでの旋回時の車両操作性をより確保するために、早期に制動力低減フラグFbrを値0に切り替える(制動力低減制御を中止する)のが好ましいためである。また、図示するように、閾値Cfrefは、左右加速度βの絶対値が小さいときには大きいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値0のとき(制動力低減制御を中止しているとき)において、左右加速度βの絶対値が小さいほど、早期に制動力低減フラグFbrを値1に切り替えても(制動力低減制御を再開しても)その後に車両操作性が問題になる可能性が低いと考えられるためである。
また、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときにおいて、制動力低減フラグFbrが値1のときにカウンタCeが閾値Ceref以上に至ったときには、制動力低減フラグFbrを値0に切り替えることによって、要求トルクTd*を値Tdno(制動力低減フラグFbrが値0のときの値)まで小さくする(制動トルクとしては大きくする)ものとした。しかし、制動力低減フラグFbrを値1で継続して、要求トルクTd*を、値Tdnoよりも大きく且つ値Tdec(制動力低減フラグFbrが値1のときの値)よりも小さい範囲内で、左右加速度βの絶対値が大きいときには小さいときに比して小さくなるように設定するものとしてもよい。
さらに、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときには、左右加速度βの絶対値に基づくカウンタCe,Cfを用いて制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、カウンタCe,Cfを用いずに、左右加速度βの絶対値が大きいときには小さいときに比して小さくなる(制動トルクとしては大きくなる)ように要求トルクTd*を設定するものとしてもよい。
次に、アクセルオフ且つ走行モードMdがエコモードであるときにヨーレートθyrを用いて制動力低減フラグFbrひいては要求トルクTd*を設定する場合について説明する。この場合、図2のアクセルオフ時制御ルーチンを実行すると共に、図4の制動力低減フラグ設定ルーチンに代えて図11の制動力低減フラグ設定ルーチンを実行する。図11の制動力低減フラグ設定ルーチンは、図4の制動力低減フラグ設定ルーチンのステップS200,S230〜S300の処理に代えてステップS200d,S230d〜300dの処理を実行する点を除いて図4の制動力低減フラグ設定ルーチンと同一である。したがって、図11の制動力低減フラグ設定ルーチンのうち図4の制動力低減フラグ設定ルーチンと同一の処理については同一のステップ番号を付した。以下、図11の制動力低減フラグ設定ルーチンを、図4の制動力低減制御ルーチンとは異なる点を中心に説明する。
図11の制動力低減フラグ設定ルーチンが実行されると、HVECU70は、まず、走行モードMdおよびヨーレートθyrを入力する(ステップS200d)。ここで、走行モードMdの入力方法については上述した。ヨーレートθyrは、ヨーレートセンサ92によって検出されたものを入力するものとした。
こうしてデータを入力すると、走行モードMdがノーマルモードかエコモードかを判定し(ステップS210)、走行モードMdがノーマルモードである(エコモードでない)と判定されたときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS210で走行モードMdがエコモードであると判定されたときには、アクセルオフ開始直後または走行モードMdの切替直後であるか否かを判定し(ステップS220)、アクセルオフ開始直後または走行モードMdの切替直後であると判定されたときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。
ステップS220で、アクセルオフ開始直後でなく且つ走行モードMdの切替直後でもないと判定されたときには、ヨーレートθyrの絶対値を閾値θyrref1と比較する(ステップS230d)。ここで、閾値θyrref1は、車両の旋回量が比較的大きいと仮判定するか否かの判断用の閾値である。ヨーレートθyrの絶対値が閾値θyrref1よりも大きいときには、車両の旋回量が比較的大きいと仮判定し、カウンタCgを値1だけカウントアップする(ステップS240d)。一方、ヨーレートθyrの絶対値が閾値θyrref1以下のときには、車両の旋回量が比較的大きいと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCgを値0にクリア(リセット)する(ステップS250d)。ここで、カウンタCgと本ルーチンの実行間隔との積は、車両の旋回量が比較的大きいと仮判定している継続時間を意味する。
続いて、ヨーレートθyrの絶対値を閾値θyrref1以下の閾値θyrref2と比較する(ステップS260d)。ここで、閾値θyrref2は、車両の旋回量が比較的小さいと仮判定するか否かの判断用の閾値である。ヨーレートθyrの絶対値が閾値θyrref2以下のときには、車両の旋回量が比較的小さいと仮判定し、カウンタChを値1だけカウントアップする(ステップS270d)。一方、ヨーレートθyrの絶対値が閾値θyrref2よりも大きいときには、車両の旋回量が比較的小さいと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタChを値0にクリア(リセット)する(ステップS280d)。ここで、カウンタChと本ルーチンの実行間隔との積は、車両の旋回量が比較的小さいと仮判定している継続時間を意味する。
こうしてカウンタCgおよびカウンタChを設定すると、カウンタCgを閾値Cgrefと比較すると共に(ステップS290d)、カウンタChを閾値Chrefと比較する(ステップS300d)。ここで、閾値Cgrefは、車両の旋回量が比較的大きいと本判定(確定)するか否かの判断用の閾値である。閾値Chrefは、車両の旋回量が比較的小さいと本判定(確定)するか否かの判断用の閾値である。閾値Cgrefおよび閾値Chrefは、一律の値(固定値)を用いるものとした。
ステップS290d,S300dで、カウンタCgが閾値Cgref未満で且つカウンタChref未満のときには、車両の旋回量が比較的大きいとも比較的小さいとも本判定(確定)せず、本ルーチンの前回の実行時に設定した制動力低減フラグ(前回Fbr)の値を調べる(ステップS310)。そして、前回の制動力低減フラグ(前回Fbr)が値1のときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。一方、前回の制動力低減フラグ(前回Fbr)が値0のときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS290dでカウンタCgが閾値Cgref以上のときには、車両の旋回量が比較的大きいと本判定(確定)し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値1でカウンタCgが閾値Cgref以上に至ったときに、制動力低減フラグFbrを値0に切り替えることになる。これにより、走行モードMdがエコモードのとき(アクセルオフ時の制動力の低減条件が成立しているとき)において、制動力低減制御の実行中に車両の旋回量が比較的大きいと本判定すると、制動力低減制御の実行を中止して、要求トルクTd*を小さくする(制動力としては大きくする)ことになる。この結果、制動トルクを比較的小さいトルクで継続するものに比して、アクセルオフで車両の旋回量が比較的大きいときに減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。
ステップS300dでカウンタChが閾値Chref以上のときには、車両の旋回量が比較的小さいと本判定(確定)し、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値0でカウンタChが閾値Chref以上に至ったときに、制動力低減フラグFbrを値1に切り替えることになる。これにより、走行モードMdがエコモードのときにおいて、制動力低減制御を実行していないとき(実行を中止(中断)しているとき)に車両の旋回量が比較的小さいと本判定すると、制動力低減制御の実行を再開して、要求トルクTd*を大きくする(制動力としては小さくする)ことになる。この結果、エコスイッチ90をオンとしている運転者の意思に対応することができる。
この変形例では、閾値Cgrefおよび閾値Chrefは、一律の値(固定値)を用いるものとした。しかし、閾値Cgrefおよび閾値Chrefのうちの少なくとも一方は、ヨーレートθyrに基づいて設定するものとしてもよい。閾値Cgrefおよび閾値Chrefをヨーレートθyrに基づいて設定する場合、ヨーレートθyrの絶対値と閾値Cgrefおよび閾値Chrefとの関係を予め定めてマップとして図示しないROMに記憶しておき、ヨーレートθyrの絶対値が与えられると、このマップから対応する閾値Cgrefおよび閾値Chrefを導出するものとしてもよい。ヨーレートθyrの絶対値と閾値Cgrefおよび閾値Chrefとの関係の一例を図12に示す。図示するように、閾値Cgrefは、ヨーレートθyrの絶対値が大きいときには小さいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値1のとき(制動力低減制御を実行しているとき)において、ヨーレートθyrの絶対値が大きいほど、車両の旋回量が大きいことから、アクセルオフでの旋回時の車両操作性をより確保するために、早期に制動力低減フラグFbrを値0に切り替える(制動力低減制御を中止する)のが好ましいためである。また、図示するように、閾値Chrefは、ヨーレートθyrの絶対値が小さいときには大きいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値0のとき(制動力低減制御を中止しているとき)において、ヨーレートθyrの絶対値が小さいほど、早期に制動力低減フラグFbrを値1に切り替えても(制動力低減制御を再開しても)その後に車両操作性が問題になる可能性が低いと考えられるためである。
また、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときにおいて、制動力低減フラグFbrが値1のときにカウンタCgが閾値Cgref以上に至ったときには、制動力低減フラグFbrを値0に切り替えることによって、要求トルクTd*を値Tdno(制動力低減フラグFbrが値0のときの値)まで小さくする(制動トルクとしては大きくする)ものとした。しかし、制動力低減フラグFbrを値1で継続して、要求トルクTd*を、値Tdnoよりも大きく且つ値Tdec(制動力低減フラグFbrが値1のときの値)よりも小さい範囲内で、ヨーレートθyrの絶対値が大きいときには小さいときに比して小さくなるように設定するものとしてもよい。
さらに、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときには、ヨーレートθyrの絶対値に基づくカウンタCg,Chを用いて制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、カウンタCg,Chを用いずに、ヨーレートθyrの絶対値が大きいときには小さいときに比して小さくなる(制動トルクとしては大きくなる)ように要求トルクTd*を設定するものとしてもよい。
次に、アクセルオフ且つ走行モードMdがエコモードであるときに上下加速度γを用いて制動力低減フラグFbrひいては要求トルクTd*を設定する場合について説明する。この場合、図2のアクセルオフ時制御ルーチンを実行すると共に、図4の制動力低減フラグ設定ルーチンに代えて図13の制動力低減フラグ設定ルーチンを実行する。図13の制動力低減フラグ設定ルーチンは、図4の制動力低減フラグ設定ルーチンのステップS200,S230〜S300の処理に代えてステップS200e,S230e〜300eの処理を実行する点を除いて図4の制動力低減フラグ設定ルーチンと同一である。したがって、図13の制動力低減フラグ設定ルーチンのうち図4の制動力低減フラグ設定ルーチンと同一の処理については同一のステップ番号を付した。以下、図13の制動力低減フラグ設定ルーチンを、図4の制動力低減制御ルーチンとは異なる点を中心に説明する。
図13の制動力低減フラグ設定ルーチンが実行されると、HVECU70は、まず、走行モードMdおよび上下加速度γを入力する(ステップS200e)。ここで、走行モードMdの入力方法については上述した。上下加速度γは、加速度センサ91によって検出されたものを入力するものとした。
こうしてデータを入力すると、走行モードMdがノーマルモードかエコモードかを判定し(ステップS210)、走行モードMdがノーマルモードである(エコモードでない)と判定されたときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS210で走行モードMdがエコモードであると判定されたときには、アクセルオフ開始直後または走行モードMdの切替直後であるか否かを判定し(ステップS220)、アクセルオフ開始直後または走行モードMdの切替直後であると判定されたときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。
ステップS220で、アクセルオフ開始直後でなく且つ走行モードMdの切替直後でもないと判定されたときには、上下加速度γの絶対値を閾値γref1と比較する(ステップS230e)。ここで、閾値γref1は、悪路であると仮判定するか否かの判断用の閾値である。上下加速度γの絶対値が閾値γref1よりも大きいときには、悪路であると仮判定し、カウンタCiを値1だけカウントアップする(ステップS240e)。一方、上下加速度γの絶対値が閾値γref1以下のときには、悪路であると仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCiを値0にクリア(リセット)する(ステップS250e)。ここで、カウンタCiと本ルーチンの実行間隔との積は、悪路であると仮判定している継続時間を意味する。
続いて、上下加速度γの絶対値を閾値γref1以下の閾値γref2と比較する(ステップS260e)。ここで、閾値γref2は、悪路でないと仮判定するか否かの判断用の閾値である。上下加速度γの絶対値が閾値γref2以下のときには、悪路でないと仮判定し、カウンタCjを値1だけカウントアップする(ステップS270e)。一方、上下加速度γの絶対値が閾値γref2よりも大きいときには、悪路でないと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCjを値0にクリア(リセット)する(ステップS280e)。ここで、カウンタCjと本ルーチンの実行間隔との積は、悪路でないと仮判定している継続時間を意味する。
こうしてカウンタCiおよびカウンタCjを設定すると、カウンタCiを閾値Cirefと比較すると共に(ステップS290e)、カウンタCjを閾値Cjrefと比較する(ステップS300e)。ここで、閾値Cirefは、悪路であると本判定(確定)するか否かの判断用の閾値である。閾値Cjrefは、悪路でないと本判定(確定)するか否かの判断用の閾値である。閾値Cirefおよび閾値Cjrefは、一律の値(固定値)を用いるものとした。
ステップS290e,S300eで、カウンタCiが閾値Ciref未満で且つカウンタCjref未満のときには、悪路であるとも悪路でないとも本判定(確定)せず、本ルーチンの前回の実行時に設定した制動力低減フラグ(前回Fbr)の値を調べる(ステップS310)。そして、前回の制動力低減フラグ(前回Fbr)が値1のときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。一方、前回の制動力低減フラグ(前回Fbr)が値0のときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS290eでカウンタCiが閾値Ciref以上のときには、悪路であると本判定(確定)し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値1でカウンタCiが閾値Ciref以上に至ったときに、制動力低減フラグFbrを値0に切り替えることになる。これにより、走行モードMdがエコモードのとき(アクセルオフ時の制動力の低減条件が成立しているとき)において、制動力低減制御の実行中に悪路であると本判定すると、制動力低減制御の実行を中止して、要求トルクTd*を小さくする(制動力としては大きくする)ことになる。この結果、制動トルクを比較的小さいトルクで継続するものに比して、悪路でのアクセルオフ時に減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。
ステップS300eでカウンタCjが閾値Cjref以上のときには、悪路でないと本判定(確定)し、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値0でカウンタCjが閾値Cjref以上に至ったときに、制動力低減フラグFbrを値1に切り替えることになる。これにより、走行モードMdがエコモードのときにおいて、制動力低減制御を実行していないとき(実行を中止(中断)しているとき)に悪路でないと本判定すると、制動力低減制御の実行を再開して、要求トルクTd*を大きくする(制動力としては小さくする)ことになる。この結果、エコスイッチ90をオンとしている運転者の意思に対応することができる。
この変形例では、閾値Cirefおよび閾値Cjrefは、一律の値(固定値)を用いるものとした。しかし、閾値Cirefおよび閾値Cjrefのうちの少なくとも一方は、上下加速度γに基づいて設定するものとしてもよい。閾値Cirefおよび閾値Cjrefを上下加速度γに基づいて設定する場合、上下加速度γの絶対値と閾値Cirefおよび閾値Cjrefとの関係を予め定めてマップとして図示しないROMに記憶しておき、上下加速度γの絶対値が与えられると、このマップから対応する閾値Cirefおよび閾値Cjrefを導出するものとしてもよい。上下加速度γの絶対値と閾値Cirefおよび閾値Cjrefとの関係の一例を図14に示す。図示するように、閾値Cirefは、上下加速度γの絶対値が大きいときには小さいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値1のとき(制動力低減制御を実行しているとき)において、上下加速度γの絶対値が大きいほど、悪路である可能性が高いと考えられることから、悪路でのアクセルオフ時の車両操作性をより確保するために、早期に制動力低減フラグFbrを値0に切り替える(制動力低減制御を中止する)のが好ましいためである。また、図示するように、閾値Cjrefは、上下加速度γの絶対値が小さいときには大きいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値0のとき(制動力低減制御を中止しているとき)において、上下加速度γの絶対値が小さいほど、早期に制動力低減フラグFbrを値1に切り替えても(制動力低減制御を再開しても)その後に車両操作性が問題になる可能性が低いと考えられるためである。
また、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときにおいて、制動力低減フラグFbrが値1のときにカウンタCiが閾値Ciref以上に至ったときには、制動力低減フラグFbrを値0に切り替えることによって、要求トルクTd*を値Tdno(制動力低減フラグFbrが値0のときの値)まで小さくする(制動トルクとしては大きくする)ものとした。しかし、制動力低減フラグFbrを値1で継続して、要求トルクTd*を、値Tdnoよりも大きく且つ値Tdec(制動力低減フラグFbrが値1のときの値)よりも小さい範囲内で、上下加速度γの絶対値が大きいときには小さいときに比して小さくなるように設定するものとしてもよい。
さらに、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときには、上下加速度γの絶対値に基づくカウンタCi,Cjを用いて制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、カウンタCi,Cjを用いずに、上下加速度γの絶対値が大きいときには小さいときに比して小さくなる(制動トルクとしては大きくなる)ように要求トルクTd*を設定するものとしてもよい。
次に、アクセルオフ且つ走行モードMdがエコモードであるときに路面の摩擦係数μを用いて制動力低減フラグFbrひいては要求トルクTd*を設定する場合について説明する。この場合、図2のアクセルオフ時制御ルーチンを実行すると共に、図4の制動力低減フラグ設定ルーチンに代えて図15の制動力低減フラグ設定ルーチンを実行する。図15の制動力低減フラグ設定ルーチンは、図4の制動力低減フラグ設定ルーチンのステップS200,S230〜S300の処理に代えてステップS200f,S230f〜300fの処理を実行する点を除いて図4の制動力低減フラグ設定ルーチンと同一である。したがって、図15の制動力低減フラグ設定ルーチンのうち図4の制動力低減フラグ設定ルーチンと同一の処理については同一のステップ番号を付した。以下、図15の制動力低減フラグ設定ルーチンを、図4の制動力低減制御ルーチンとは異なる点を中心に説明する。
図15の制動力低減フラグ設定ルーチンが実行されると、HVECU70は、まず、走行モードMdおよび路面の摩擦係数μを入力する(ステップS200f)。ここで、走行モードMdの入力方法については上述した。路面の摩擦係数μは、レインセンサ94からの雨滴量Qrに基づいて推定されたものを入力するものとした。
こうしてデータを入力すると、走行モードMdがノーマルモードかエコモードかを判定し(ステップS210)、走行モードMdがノーマルモードである(エコモードでない)と判定されたときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS210で走行モードMdがエコモードであると判定されたときには、アクセルオフ開始直後または走行モードMdの切替直後であるか否かを判定し(ステップS220)、アクセルオフ開始直後または走行モードMdの切替直後であると判定されたときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。
ステップS220で、アクセルオフ開始直後でなく且つ走行モードMdの切替直後でもないと判定されたときには、路面の摩擦係数μを閾値μref1と比較する(ステップS230f)。ここで、閾値μref1は、低ミュー路であると仮判定するか否かの判断用の閾値である。低ミュー路としては、濡れた路面,雪道,凍結路などを考えることができる。路面の摩擦係数μが閾値μref1未満のときには、低ミュー路であると仮判定し、カウンタCkを値1だけカウントアップする(ステップS240f)。一方、路面の摩擦係数μが閾値μref1以上のときには、低ミュー路であると仮判定せず(仮判定していたときには仮判定を解消し)、カウンタCkを値0にクリア(リセット)する(ステップS250f)。ここで、カウンタCkと本ルーチンの実行間隔との積は、低ミュー路であると仮判定している継続時間を意味する。
続いて、路面の摩擦係数μを閾値μref1以上の閾値μref2と比較する(ステップS260f)。ここで、閾値μref2は、低ミュー路でないと仮判定するか否かの判断用の閾値である。路面の摩擦係数μが閾値μref2以上のときには、低ミュー路でないと仮判定し、カウンタClを値1だけカウントアップする(ステップS270f)。一方、路面の摩擦係数μが閾値μref2未満のときには、低ミュー路でないと仮判定せず(仮判定していたときには仮判定を解消し)、カウンタClを値0にクリア(リセット)する(ステップS280f)。ここで、カウンタClと本ルーチンの実行間隔との積は、低ミュー路でないと仮判定している継続時間を意味する。
こうしてカウンタCkおよびカウンタClを設定すると、カウンタCkを閾値Ckrefと比較すると共に(ステップS290f)、カウンタClを閾値Clrefと比較する(ステップS300f)。ここで、閾値Ckrefは、低ミュー路であると本判定(確定)するか否かの判断用の閾値である。閾値Clrefは、低ミュー路でないと本判定(確定)するか否かの判断用の閾値である。閾値Ckrefおよび閾値Clrefは、一律の値(固定値)を用いるものとした。
ステップS290f,S300fで、カウンタCkが閾値Ckref未満で且つカウンタClref未満のときには、低ミュー路であるとも低ミュー路でないとも本判定(確定)せず、本ルーチンの前回の実行時に設定した制動力低減フラグ(前回Fbr)の値を調べる(ステップS310)。そして、前回の制動力低減フラグ(前回Fbr)が値1のときには、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。一方、前回の制動力低減フラグ(前回Fbr)が値0のときには、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。
ステップS290fでカウンタCkが閾値Ckref以上のときには、低ミュー路であると本判定(確定)し、制動力低減フラグFbrに値0を設定して(ステップS330)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値1でカウンタCkが閾値Ckref以上に至ったときに、制動力低減フラグFbrを値0に切り替えることになる。これにより、走行モードMdがエコモードのとき(アクセルオフ時の制動力の低減条件が成立しているとき)において、制動力低減制御の実行中に低ミュー路であると本判定すると、制動力低減制御の実行を中止して、要求トルクTd*を小さくする(制動力としては大きくする)ことになる。この結果、制動トルクを比較的小さいトルクで継続するものに比して、低ミュー路でのアクセルオフ時に減速度が不十分となるのを抑制することができ、車両操作性が低下するのを抑制することができる。
ステップS300fでカウンタClが閾値Clref以上のときには、低ミュー路でないと本判定(確定)し、制動力低減フラグFbrに値1を設定して(ステップS320)、本ルーチンを終了する。したがって、制動力低減フラグFbrが値0でカウンタClが閾値Clref以上に至ったときに、制動力低減フラグFbrを値1に切り替えることになる。これにより、走行モードMdがエコモードのときにおいて、制動力低減制御を実行していないとき(実行を中止(中断)しているとき)に低ミュー路でないと本判定すると、制動力低減制御の実行を再開して、要求トルクTd*を大きくする(制動力としては小さくする)ことになる。この結果、エコスイッチ90をオンとしている運転者の意思に対応することができる。
この変形例では、閾値Ckrefおよび閾値Clrefは、一律の値(固定値)を用いるものとした。しかし、閾値Ckrefおよび閾値Clrefのうちの少なくとも一方は、路面の摩擦係数μに基づいて設定するものとしてもよい。閾値Ckrefおよび閾値Clrefを路面の摩擦係数μに基づいて設定する場合、路面の摩擦係数μと閾値Ckrefおよび閾値Clrefとの関係を予め定めてマップとして図示しないROMに記憶しておき、路面の摩擦係数μが与えられると、このマップから対応する閾値Ckrefおよび閾値Clrefを導出するものとしてもよい。路面の摩擦係数μと閾値Ckrefおよび閾値Clrefとの関係の一例を図16に示す。図示するように、閾値Ckrefは、路面の摩擦係数μが小さいときには大きいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値1のとき(制動力低減制御を実行しているとき)において、路面の摩擦係数μが小さいほど、低ミュー路である可能性が高いと考えられることから、低ミュー路でのアクセルオフ時の車両操作性をより確保するために、早期に制動力低減フラグFbrを値0に切り替える(制動力低減制御を中止する)のが好ましいためである。また、図示するように、閾値Clrefは、路面の摩擦係数μが大きいときには小さいときに比して小さくなるように設定するものとした。これは、制動力低減フラグFbrが値0のとき(制動力低減制御を中止しているとき)において、路面の摩擦係数μが大きいほど、早期に制動力低減フラグFbrを値1に切り替えても(制動力低減制御を再開しても)その後に車両操作性が問題になる可能性が低いと考えられるためである。
また、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときにおいて、制動力低減フラグFbrが値1のときにカウンタCkが閾値Ckref以上に至ったときには、制動力低減フラグFbrを値0に切り替えることによって、要求トルクTd*を値Tdno(制動力低減フラグFbrが値0のときの値)まで小さくする(制動トルクとしては大きくする)ものとした。しかし、制動力低減フラグFbrを値1で継続して、要求トルクTd*を、値Tdnoよりも大きく且つ値Tdec(制動力低減フラグFbrが値1のときの値)よりも小さい範囲内で、路面の摩擦係数μが小さいときには大きいときに比して小さくなるように設定するものとしてもよい。
さらに、この変形例では、アクセルオフ且つ走行モードMdがエコモードであるときには、路面の摩擦係数μに基づくカウンタCk,Clを用いて制動力低減フラグFbrひいては要求トルクTd*を設定するものとした。しかし、カウンタCk,Clを用いずに、路面の摩擦係数μが小さいときには大きいときに比して小さくなる(制動トルクとしては大きくなる)ように要求トルクTd*を設定するものとしてもよい。
実施例およびこの変形例では、HVECU70は、レインセンサ94からの雨滴量Qrに基づいて、雨滴量Qrが多いほど小さくなるように路面の摩擦係数μを推定するものとした。しかし、ワイパー作動装置96によるワイパーの作動速度に基づいて、ワイパーの作動速度が多いほど小さくなるように路面の摩擦係数μを推定するものとしてもよい。
実施例のハイブリッド自動車20では、エンジンECU24とモータECU40とHVECU70とを備えるものとした。しかし、エンジンECU24とモータECU40とHVECU70とを単一の電子制御ユニットとして構成するものとしてもよい。
実施例のハイブリッド自動車20では、駆動輪39a,39bに連結された駆動軸36にプラネタリギヤ30を介してエンジン22およびモータMG1を接続すると共に駆動軸36にモータMG2を接続する構成とした。しかし、図17の変形例のハイブリッド自動車120に示すように、駆動輪39a,39bに連結された駆動軸36に変速機130を介してモータMGを接続すると共にモータMGの回転軸にクラッチ129を介してエンジン22を接続する構成としてもよい。また、図18の変形例の電気自動車220に示すように、駆動輪39a,39bに連結された駆動軸36に走行用のモータMGを接続する電気自動車の構成としてもよい。即ち、走行用のモータを備える構成であれば如何なる構成としてもよいのである。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、モータMG2が「モータ」に相当し、バッテリ50が「バッテリ」に相当し、図2のアクセルオフ時制御ルーチンおよび図4の制動力低減フラグ設定ルーチンを実行するHVECU70とモータECU40とが「制御装置」に相当する。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。