図1は、本発明の第1実施例のハイブリッド自動車20の構成の概略を示す構成図である。第1実施例のハイブリッド自動車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のリングギヤには、駆動輪39a,39bにデファレンシャルギヤ38を介して連結された駆動軸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は、例えばリチウムイオン二次電池やニッケル水素二次電池として構成されており、電力ライン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は、温度センサ51cからの電池温度Tbと蓄電割合SOCとに基づいてバッテリ50の出力制限Woutを演算している。出力制限Woutは、バッテリ50から放電してもよい最大許容電力である。
HVECU70は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。HVECU70には、各種センサからの信号が入力ポートを介して入力されている。HVECU70に入力される信号としては、例えば、イグニッションスイッチ80からのイグニッション信号や、シフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP、アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc、ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBPなどを挙げることができる。また、車速センサ88からの車速Vや、モード切替スイッチ90からのモード切替制御信号、路面の勾配を検出する勾配センサ91からの路面勾配θg、車両の前後方向および左右方向の加速度を検出する加速度センサ92からの前後加速度Gxおよび左右加速度Gyなども挙げることもできる。HVECU70は、上述したように、エンジンECU24,モータECU40,バッテリECU52と通信ポートを介して接続されており、エンジンECU24やモータECU40,バッテリECU52と各種制御信号やデータのやりとりを行なっている。
ここで、シフトポジションSPとしては、駐車ポジション(Pポジション)、後進ポジション(Rポジション)、ニュートラルポジション(Nポジション)、前進ポジション(Dポジション)、マニュアルポジション(Mポジション)などがある。そして、マニュアルポジション(Mポジション)には、アップシフトポジション(+ポジション)とダウンシフトポジション(−ポジション)とが併設されている。シフトポジションSPがマニュアルポジション(Mポジション)とされると、エンジン22が仮想的な6速変速の自動変速機を介して駆動軸36に接続されているように駆動制御される。モード切替スイッチ90は、若干の燃費の悪化は伴うが運転者の運転感覚(ドライバビリティ・ドライブフィーリング)を優先する運転感覚優先モードと燃費を優先する通常運転モードとを含む走行モードを選択するスイッチである。通常運転モードが選択されると、シフトポジションSPが前進ポジション(Dポジション)のときには、静観性と燃費とが両立するようにエンジン22とモータMG1,MG2とが駆動制御される。運転感覚優先モードが選択されると、シフトポジションSPが前進ポジション(Dポジション)のときでも、エンジン22が仮想的な6速変速の自動変速機を介して駆動軸36に接続されているように駆動制御される。
こうして構成された第1実施例のハイブリッド自動車20では、ハイブリッド走行(HV走行)モードと電動走行(EV走行)モードとを含む複数の走行モードの何れかで走行する。ここで、HV走行モードは、エンジン22を運転しながら、エンジン22からの動力とモータMG1,MG2からの動力とを用いて走行するモードである。EV走行モードは、エンジン22を運転せずに、モータMG2からの動力によって走行するモードである。
次に、こうして構成されたハイブリッド自動車20の動作、特にモード切替スイッチ90により運転感覚優先モードが選択されたときの動作について説明する。図2は、運転感覚優先モードが選択されてシフトポジションSPが前進ポジション(Dポジション)のときにHVECU70により実行されるドラビリ優先駆動制御ルーチンの一例を示すフローチャートである。このルーチンは所定時間毎(例えば数msec毎)に繰り返し実行される。図2のドラビリ優先駆動制御ルーチンを用いて運転感覚優先モードでDポジションのときの駆動制御を説明する前に、説明の容易のために、通常モードでDポジションのときの駆動制御(HV走行モードのときの駆動制御)について説明する。
通常運転モードでは、HV走行モードで走行するときには、HVECU70により以下のように駆動制御される。HVECU70は、まず、アクセル開度Accと車速Vとに基づいて走行に要求される(駆動軸36に要求される)アクセル要求駆動力Tdaを求め、アクセル要求駆動力Tdaを実行用駆動力Td*として設定する。アクセル要求駆動力Tdaは、例えば、図3に例示するアクセル要求駆動力設定用マップから求めることができる。続いて、設定した実行用駆動力Td*に駆動軸36の回転数Ndを乗じて走行に要求される走行要求パワーPedrvを計算する。ここで、駆動軸36の回転数Ndとしては、モータMG2の回転数Nm2に換算係数kmを乗じて得られる回転数や,車速Vに換算係数kvを乗じて得られる回転数などを用いることができる。そして、バッテリ50の蓄電割合SOCが目標割合SOC*に近づくようにバッテリ50の充放電要求パワーPb*(バッテリ50から放電するときが正の値)を設定し、次式(1)に示すように、走行要求パワーPedrvからバッテリ50の充放電要求パワーPb*を減じて目標エンジンパワーPe*を計算する。充放電要求パワーPb*は、例えば、図4に例示する充放電要求パワー設定マップにより設定される。この充放電要求パワー設定マップでは、目標割合SOC*を中心とする値S1から値S2までの不感帯が設けられており、充放電要求パワーPb*は、蓄電割合SOCが不感帯の上限の値S2より大きいときに放電用のパワー(正の値のパワー)が設定され、蓄電割合SOCが不感帯の下限の値S1より小さいときに充電用のパワー(負の値のパワー)が設定される。
Pe*=Pedrv-Pb* (1)
次に、目標エンジンパワーPe*と燃費最適エンジン回転数設定用マップとを用いて燃費最適エンジン回転数Nefcを求め、この燃費最適エンジン回転数Nefcを目標エンジン回転数Ne*として設定する。燃費最適エンジン回転数設定用マップの一例を図5に示す。燃費最適エンジン回転数設定用マップは、目標エンジンパワーPe*に対してエンジン22を効率よく動作させることができる回転数として実験などにより定められる。燃費最適エンジン回転数Nefcは、基本的に、目標エンジンパワーPe*が大きくなると大きくなるから、目標エンジン回転数Ne*も目標エンジンパワーPe*が大きくなると大きくなる。続いて、次式(2)に示すように、エンジン22の回転数Ne,目標エンジン回転数Ne*,目標エンジンパワーPe*とプラネタリギヤ30のギヤ比ρ(サンギヤの歯数/リングギヤの歯数)とを用いてモータMG1のトルク指令Tm1*を計算する。式(2)は、エンジン22を目標エンジン回転数Ne*で回転させるための回転数フィードバック制御の関係式である。式(2)において、右辺第1項は、フィードフォワード項であり、右辺第2項,第3項は、フィードバック項の比例項,積分項である。右辺第1項は、エンジン22から出力されてプラネタリギヤ30を介してモータMG1の回転軸に作用するトルクをモータMG1によって受け止めるためのトルクである。右辺第2項の「kp」は比例項のゲインであり、右辺第3項の「ki」は積分項のゲインである。エンジン22が略定常状態のとき(目標エンジン回転数Ne*および目標エンジンパワーPe*が略一定のとき)を考えれば、目標エンジンパワーPe*が大きいほど、式(2)の右辺第1項が小さくなり(絶対値としては大きくなり)、モータMG1のトルク指令Tm1*が小さくなり(負側に大きくなり)、モータMG1のトルク指令Tm1*に回転数Nm1を乗じて得られるモータMG1の電力(電力を消費するときが正の値)が小さくなる(発電電力としては大きくなる)ことが分かる。
Tm1*=−(Pe*/Ne*)・[ρ/(1+ρ)]+kp・(Ne*-Ne)+ki・∫(Ne*-Ne)dt (2)
次に、次式(3)に示すように、モータMG1をトルク指令Tm1*で駆動したときにモータMG1から出力されてプラネタリギヤ30を介して駆動軸36に作用するトルク(−Tm1*/ρ)を実行用駆動力Td*から減じてモータMG2のトルク指令Tm2*を設定する。なお、モータMG2のトルク指令Tm2*は、バッテリ50の出力制限Woutから式(4)で得られるトルク制限Tm2maxで制限される。トルク制限Tm2maxは、式(4)に示すように、モータMG1のトルク指令Tm1*に回転数Nm1を乗じて得られるモータMG1の電力をバッテリ50の出力制限Woutから減じてこれをモータMG2の回転数Nm2で除して得られる。
Tm2*=Td*+Tm1*/ρ (3)
Tm2max=(Wout-Tm1*・Nm1)/Nm2 (4)
こうして目標エンジンパワーPe*および目標エンジン回転数Ne*,モータMG1,MG2のトルク指令Tm1*,Tm2*を設定すると、目標エンジンパワーPe*および目標エンジン回転数Ne*をエンジンECU24に送信すると共に、モータMG1,MG2のトルク指令Tm1*,Tm2*をモータECU40に送信する。
エンジンECU24は、目標エンジンパワーPe*および目標エンジン回転数Ne*を受信すると、受信した目標エンジンパワーPe*および目標エンジン回転数Ne*に基づいてエンジン22が運転されるように、エンジン22の吸入空気量制御,燃料噴射制御,点火制御などを行なう。モータECU40は、モータMG1,MG2のトルク指令Tm1*,Tm2*を受信すると、モータMG1,MG2がトルク指令Tm1*,Tm2*で駆動されるようにインバータ41,42の複数のスイッチング素子のスイッチング制御を行なう。
HV走行モードでは、目標エンジンパワーPe*が閾値Pref未満に至ったときに、エンジン22の停止条件が成立したと判断し、エンジン22の運転を停止してEV走行モードに移行する。
EV走行モードでは、HVECU70は、HV走行モードと同様に実行用駆動力Td*を設定し、モータMG1のトルク指令Tm1*に値0を設定し、HV走行モードと同様にモータMG2のトルク指令Tm2*を設定する。そして、モータMG1,MG2のトルク指令Tm1*,Tm2*をモータECU40に送信する。モータECU40は、上述のようにインバータ41,42の複数のスイッチング素子のスイッチング制御を行なう。
このEV走行モードでは、HV走行モードと同様に計算した目標エンジンパワーPe*が閾値Pref以上に至ったときに、エンジン22の始動条件が成立したと判断し、エンジン22を始動してHV走行に移行する。
次に、図2のドラビリ優先駆動制御ルーチンを用いて運転感覚優先モードでDポジションのときの駆動制御を説明する。ドラビリ優先駆動制御ルーチンが実行されると、HVECU70は、まず、アクセルペダルポジションセンサ84からのアクセル開度Accや、車速センサ88からの車速V、エンジン22の回転数Ne、変速段Mを入力する(ステップS100)。ここで、エンジン22の回転数Neは、クランクポジションセンサ23からのクランク角θcrに基づいて演算されたものをエンジンECU24から通信により入力することができる。変速段Mは、後述の変速段設定ルーチンにより設定されたものを入力することができる。
続いて、アクセル開度Accと車速Vと図3のアクセル要求駆動力設定用マップとを用いてアクセル要求駆動力Tdaを設定し(ステップS110)、車速Vと変速段Mと目標エンジン回転数設定用マップとを用いて目標エンジン回転数Ne*を設定する(ステップS120)。図6に目標エンジン回転数設定用マップの一例を示す。図示するように、各変速段毎に車速Vに対してリニアな関係として、且つ、変速段が高速段であるほど車速Vに対する傾きが低速段になるように目標エンジン回転数Ne*が設定される。このように目標エンジン回転数Ne*を設定する(この目標エンジン回転数Ne*でエンジン22を回転させる)ことにより、各変速段で車速Vが大きくなるにつれてエンジン22の回転数Neを大きくしたり、アップシフトする際にエンジン22の回転数Neが低下すると共にダウンシフトする際にエンジン22の回転数Neが増加したりすることによって、自動変速機を搭載した自動車の運転感覚を運転者に与えることができる。
そして、目標エンジン回転数Ne*と上限エンジンパワー設定用マップとを用いて得られる仮の上限エンジンパワーPelimに充放電要求パワーPb*を加えて上限エンジンパワーPelimを設定する(ステップS130)。ここで、上限エンジンパワーPelimは、目標エンジン回転数Ne*でエンジン22を運転したときにエンジン22から出力される最大パワーである。図7に上限エンジンパワー設定用マップの一例を示す。図示するように、目標エンジン回転数Ne*が大きいほど大きくなるように仮の上限エンジンパワーPelimが設定される。また、仮の上限エンジンパワーPelimに充放電要求パワーPb*を加えるのは、バッテリ50を充放電するときにもエンジン22から出力するパワーを変化させないためである。これについては後述する。なお、蓄電割合SOCが目標割合SOC*を中心とする不感帯(図4の値S1から値S2の範囲)のときには充放電要求パワーPb*には値0が設定されるから、図7の上限エンジンパワー設定用マップから得られた仮の上限エンジンパワーPelimがそのまま上限エンジンパワーPelimとして設定される。こうして上限エンジンパワーPelimが設定されると、上限エンジンパワーPelimを駆動軸36の回転数Ndで除して上限駆動力Tdlimを設定する(ステップS140)。ここで、上限駆動力Tdlimは、上限エンジンパワーPelimが駆動軸36に出力されるときの駆動力である。駆動軸36の回転数Ndは、上述したように、モータMG2の回転数Nm2に換算係数kmを乗じて得られる回転数や,車速Vに換算係数kvを乗じて得られる回転数などを用いることができる。
次に、アクセル要求駆動力Tdaと上限駆動力Tdlimとを比較する(ステップS150)。アクセル要求駆動力Tdaが上限駆動力Tdlim以下のときには、通常運転モードのときと同様に、アクセル要求駆動力Tdaを実行用駆動力Td*として設定し(ステップS160)、アクセル要求駆動力Tdaに駆動軸36の回転数Ndを乗じたものから充放電要求パワーPb*を減じたものを目標エンジンパワーPe*として設定する(ステップS170)。したがって、目標エンジンパワーPe*は、アクセル要求駆動力Tdaを駆動軸36に出力するパワーということができる。
一方、ステップS150でアクセル要求駆動力Tdaが上限駆動力Tdlimより大きいときには、上限駆動力Tdlimを実行用駆動力Td*として設定し(ステップS180)、上限エンジンパワーPelimから充放電要求パワーPb*を減じたものを目標エンジンパワーPe*として設定する(ステップS190)。上限エンジンパワーPelimはステップS140で図7の上限エンジンパワー設定用マップから得られる仮の上限エンジンパワーPelimに充放電要求パワーPb*を加えて設定されるから、上限エンジンパワーPelimから充放電要求パワーPb*を減じたものを目標エンジンパワーPe*として設定することは、図7の上限エンジンパワー設定用マップから得られる仮の上限エンジンパワーPelimをそのまま目標エンジンパワーPe*として設定することになる。このように、充放電要求パワーPb*を考慮することにより、バッテリ50の充放電に拘わらずに、エンジン22の運転ポイントを同一のものとすることができる。また、上限駆動力Tdlimは、ステップS150で上限エンジンパワーPelimを駆動軸36の回転数Ndで除して計算されるから、上限エンジンパワーPelimは、上限駆動力Tdlimを駆動軸36に出力するパワーということができる。
そして、上述の式(2)によりモータMG1のトルク指令Tm1*を設定すると共に(ステップS200)、式(3)によりモータMG2のトルク指令Tm2*を設定する(ステップS210)。目標エンジンパワーPe*および目標エンジン回転数Ne*についてはエンジンECU24に送信すると共にトルク指令Tm1*,Tm2*についてはモータECU40に送信して(ステップS220)、本ルーチンを終了する。
次に、図2のドラビリ優先駆動制御ルーチンで用いる変速段Mの設定処理について図8の変速段設定ルーチンを用いて説明する。このルーチンは、図2のドラビリ優先駆動制御ルーチンと同様に、所定時間毎(例えば数msec毎)に繰り返し実行される。変速段設定ルーチンが実行されると、HVECU70は、まず、アクセルペダルポジションセンサ84からのアクセル開度Accや、車速センサ88からの車速V、勾配センサ91からの路面勾配θg、加速度センサ92からの前後加速度Gxおよび左右加速度Gyを入力する(ステップS300)。
続いて、アクセル開度Accと車速Vと変速線図とを用いて変速段Mの仮の値としての仮変速段Mtmpを設定する(ステップS310)。図9に変速線図の一例を示す。図中、実線がアップシフト線であり、破線がダウンシフト線である。第1実施例では、仮想的な6速変速の自動変速機を有するものとして制御されるから、変速線図も6速変速に対応したものとなっている。
そして、前後加速度Gxおよび左右加速度Gyに基づいて運転嗜好パラメータPliを設定する(ステップS320)。実施例では、前後加速度Gxと左右加速度Gyとに基づく摩擦円の半径を瞬時スポーツ度(SPI:Sports Index)として求め、この瞬時SPIに基づいて指示SPIを求め、この指示SPIを運転嗜好パラメータPliとして用いるものとした。ここで、瞬時SPIは、前後加速度Gxの二乗と左右加速度Gyの二乗との和の平方根として計算するものとした。指示SPIは、瞬時SPIの増加に対する追従性が瞬時SPIの減少に対する追従性に比して高くなるように瞬時SPIに基づいて計算するものとした。図10に瞬時SPIおよび指示SPIの一例を示す。図示するように、時刻0から時間T1が経過するまでの間では、瞬時SPIは、車両の制動旋回などによる前後加速度Gxや左右加速度Gyの変化によって増減し、指示SPIは、瞬時SPIの極大値の増加に従って増加して保持されている。そして、時刻t2や時刻t3で、車両が旋回加速から直線加速に移行するなどして指示SPIの低下条件が成立すると、指示SPIは低下する。指示SPIの低下条件は、指示SPIを保持することが運転者の意図に合わないと考えられる状態になった条件であり、例えば、瞬時SPIが指示SPI未満の状態が所定時間に亘って継続した条件や、瞬時SPIと指示SPIとの差分の時間積分値が閾値を超えた条件などを用いることができる。
次に、運転嗜好パラメータPliを閾値Pliref1と比較し(ステップS330)、運転嗜好パラメータPliが閾値Pliref1以下のときには、カウンタCaを値0にリセットし(ステップS340)、運転嗜好パラメータPliが閾値Pliref1よりも大きいときには、カウンタCaを値1だけインクリメントする(ステップS350)。ここで、閾値Pliref1は、運転嗜好パラメータPliが比較的大きいか否かを判定するために用いられる閾値であり、例えば、3.0m/s2、3.5m/s2、4.0m/s2などを用いることができる。カウンタCaは、運転嗜好パラメータPliが閾値Pliref1よりも大きい状態の継続時間に相当する。
続いて、運転嗜好パラメータPliを閾値Pliref1よりも小さい閾値Pliref2と比較すると共に(ステップS360)、アクセル開度Accを閾値Accrefと比較する(ステップS370)。そして、運転嗜好パラメータPliが閾値Pliref2以上のときやアクセル開度Accが閾値Accref以上のときには、カウンタCbを値0にリセットし(ステップS380)、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満のときには、カウンタCbを値1だけインクリメントする(ステップS390)。ここで、閾値Pliref2は、運転嗜好パラメータPliが比較的小さいか否かを判定するために用いられる閾値であり、例えば、1.0m/s2、1.5m/s2、2.0m/s2などを用いることができる。また、閾値Accrefは、アクセル開度Accが比較的小さいか否かを判定するために用いられる閾値であり、例えば、35%、40%、45%などを用いることができる。カウンタCbは、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満の状態の継続時間に相当する。
次に、閾値IDがノーマルであるかワインディングであるかを判定する(ステップS400)。ここで、閾値IDは、運転嗜好を示すものであり、詳細は後述するが、運転嗜好パラメータPliに基づくカウンタCa,Cbに基づいて設定される。なお、閾値IDとして、ワインディングはノーマルに比してスポーツ度が高いことを意味する。
閾値IDがノーマルであると判定されたときには、カウンタCaを閾値Carefと比較し(ステップS410)、カウンタCaが閾値Caref以下のときには、閾値IDをノーマルで保持し、カウンタCaが閾値Carefよりも大きいときには、閾値IDをワインディングに切り替える(ステップS420)。ここで、閾値Carefは、運転嗜好パラメータPliが閾値Pliref1よりも大きい状態がある程度の時間に亘って継続したか否かを判定するために用いられる閾値であり、例えば、4sec、5sec、6secなどに相当する値を用いることができる。
また、閾値IDがワインディングであると判定されたときには、カウンタCbを閾値Cbrefと比較し(ステップS430)、カウンタCbが閾値Cbref以下のときには、閾値IDをワインディングで保持し、カウンタCbが閾値Cbrefよりも大きいときには、閾値IDをノーマルに切り替える(ステップS440)。ここで、閾値Cbrefは、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満の状態がある程度の時間に亘って継続したか否かを判定するために用いられる閾値であり、例えば、4sec、5sec、6secなどに相当する値を用いることができる。
次に、閾値IDがノーマルであるかワインディングであるかを判定し(ステップS450)、閾値IDがノーマルであると判定されたときには、路面勾配θgとの比較に用いる閾値θgrefに値θg1を設定し(ステップS460)、閾値IDがワインディングであると判定されたときには、閾値θgrefに値θg1よりも小さい値θg2を設定する(ステップS470)。
実施例では、上述したように、閾値IDがノーマルのときには、カウンタCaが閾値Carefよりも大きくなったとき(運転嗜好パラメータPliが閾値Pliref1よりも大きい状態がある程度の時間に亘って継続したとき)に、閾値IDをワインディングに切り替える。また、閾値IDがワインディングのときには、カウンタCbが閾値Cbrefよりも大きくなったとき(運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満の状態がある程度の時間に亘って継続したとき)に、閾値IDをノーマルに切り替える。これにより、運転嗜好パラメータPliの極短時間における変動によって閾値IDが頻繁に切り替わるのを抑制することができ、閾値θgrefが頻繁に切り替わるのを抑制することができる。
そして、路面勾配θgを閾値θgrefと比較し(ステップS480)、路面勾配θgが閾値θgref以下のときには、上限変速段Mlimに最高速段(6速)を設定し(ステップS490)、仮変速段Mtmpと上限変速段Mlimとのうちの小さい方を変速段Mとして設定して(ステップS510)、本ルーチンを終了する。この場合、上限変速段Mlimが最高速段であるから、仮変速段Mtmpを変速段Mとして設定することになる。
ステップS480で路面勾配θgが閾値θgrefよりも大きいときには、路面勾配θgから閾値θgrefを減じた値Δθg(=θg−θgref)に基づいて上限変速段Mlimを設定し(ステップS500)、仮変速段Mtmpと上限変速段Mlimとのうちの小さい方を変速段Mとして設定して(ステップS510)、本ルーチンを終了する。ここで、上限変速段Mlimは、値Δθgが大きいときには小さいときに比して低速段になるように設定するものとした。例えば、値Δθgが値Δθg1(例えば2°など)以下のときには上限変速段Mlimに5速を設定し、値Δθgが値Δθg1よりも大きく値θg2(例えば4°など)以下のときには上限変速段Mlimに4速を設定し、・・・などとするものとした。
このルーチンでは、運転嗜好パラメータPliに基づく閾値IDがワインディングのときにはノーマルのときに比して閾値θgrefを小さくするから、登坂路を走行する際に路面勾配θgが閾値θgrefよりも大きくなりやすく且つ値(θg−θgref)が大きくなりやすい。このため、上限変速段Mlimが低速段になりやすく、変速段Mが低速段になりやすい。したがって、運転環境(路面勾配θg)と運転嗜好(運転嗜好パラメータPli)とをより反映した変速段Mとすることができる。
図11は、登坂路を走行するときの様子の一例を示す説明図である。図示するように、登坂路を走行する際にアクセル開度Accが大きくなって運転嗜好パラメータPliが閾値Pliref1よりも大きくなると(時刻t11)、カウンタCaを値0から増加させ始める。そして、カウンタCaが閾値Carefよりも大きくなると(時刻t12)、閾値IDをノーマルからワインディングに切り替え、これに伴って、閾値θgrefを値θg1から値θg2に切り替える。そして、路面勾配θgが閾値θgref以上になると、値(θg−θgref)に応じて変速段Mをダウンシフトする。その後、運転嗜好パラメータPliが閾値Pliref1以下になると(時刻t13)、カウンタCaを値0にリセットする。そして、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満の状態になると(時刻t14)、カウンタCbを値0から増加させ始め、アクセル開度Accが閾値Accref以上になると(時刻t15)、カウンタCbを値0にリセットする。そして、再度、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満の状態になると(時刻t16)、カウンタCbを値0から増加させ始め、カウンタCbが閾値Cbrefよりも大きくなると(時刻t17)、閾値IDをワインディングからノーマルに切り替え、これに伴って、閾値θgrefを値θg2から値θg1に切り替える。そして、路面勾配θgが閾値θgref未満になると、変速段Mをアップシフトさせる。このようにして、運転環境(路面勾配θg)と運転嗜好(運転嗜好パラメータPli)とをより反映した変速段Mとすることができる。
以上説明した第1実施例のハイブリッド自動車20では、運転感覚優先モードでDポジションのときには、車速Vと変速段Mとに基づいて目標エンジン回転数Ne*を設定し、目標エンジン回転数Ne*に基づいて上限駆動力Tdlimを設定し、上限駆動力Tdlimとアクセル要求駆動力Tdaとのうち小さい方の駆動力が駆動軸36に出力されると共に目標エンジン回転数Ne*でエンジン22が回転するようにエンジン22とモータMG1,MG2とを制御する。これにより、運転者がアクセルペダル83を踏み込んだときでも、エンジン22の回転数Neを車速Vと変速段Mとに応じた回転数(目標エンジン回転数Ne*)とすることができ、車速の増加に先立ってエンジン22の回転数Neが急増するものに比して運転感覚として違和感を与えるのを抑制することができる。また、変速段Mが変更(変速)されたときに運転者に変速感を与えることができる。これらの結果、運転者により良好な運転感覚を与えることができる。
また、第1実施例のハイブリッド自動車20では、路面勾配θgが閾値θgrefよりも大きいときには、路面勾配θgが閾値θgref以下のときに比して低速段になるように上限変速段Mlimを設定すると共にその上限変速段Mlim以下の範囲内で変速段Mを設定する。この際に、前後加速度Gxと左右加速度Gyとに基づいて運転嗜好パラメータPliを設定し、この運転嗜好パラメータPliに基づく閾値IDに基づいて閾値θgrefを設定する。これにより、運転環境(路面勾配θg)と運転嗜好(運転嗜好パラメータPli)とをより反映した変速段Mとすることができる。しかも、路面勾配θgが閾値θgrefよりも大きいときにおいて、値(θg−θgref)が大きいときには小さいときに比して上限変速段Mlimを小さくするから、値(θg−θgref)に応じたより適切な変速段Mとすることができる。
第1実施例のハイブリッド自動車20では、路面勾配θgが閾値θgrefよりも大きいときには、値Δθg(=θg−θgref)に基づいて上限変速段Mlimを設定するものとした。しかし、路面勾配θgが閾値θgrefよりも大きいときには閾値θgref以下のときに比して上限変速段Mを小さくするものであればよい。第1実施例では、仮想的な6速変速の自動変速機を有するものとして制御されるから、路面勾配θgが閾値θgref以下のときには、上限変速段Mlimに6速を設定し、路面勾配θgが閾値θgrefよりも大きいときには、値Δθgに拘わらずに一律の変速段(例えば、3速や4速など)を設定するものとしてもよい。
第1実施例のハイブリッド自動車20では、カウンタCa,Cbを用いて閾値IDをノーマルとワインディングとで切り替えるものとしたが、カウンタCa,Cbを用いずに閾値IDを切り替えるものとしてもよい。例えば、閾値IDがノーマルのときにおいて、運転嗜好パラメータPliが閾値Pliref1よりも大きくなったときに、閾値IDをワインディングに切り替え、閾値IDがワインディングのときにおいて、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満の状態になったときに、閾値IDをノーマルに切り替えるものとしてもよい。
第1実施例のハイブリッド自動車20では、閾値IDとして、ノーマルとワインディングとを用いるものとしたが、これらに加えてワインディングよりもスポーツ度が高いIDとしてサーキットを用いるものとしてもよい。この場合、ワインディングとサーキットとを以下のように切り替えることができる。まず、運転嗜好パラメータPliが閾値Pliref1よりも大きい閾値Pliref3以下のときには、カウンタCcを値0にリセットし、運転嗜好パラメータPliが閾値Pliref3よりも大きいときには、カウンタCcを値1だけインクリメントする。また、運転嗜好パラメータPliが閾値Pliref3よりも小さく且つ閾値Pliref2よりも大きい閾値Pliref4以上のときやアクセル開度Accが閾値Accrefよりも大きい閾値Accref2以上のときには、カウンタCdを値0にリセットし、運転嗜好パラメータPliが閾値Pliref4未満で且つアクセル開度Accが閾値Accref2未満のときには、カウンタCdを値1だけインクリメントする。そして、閾値IDがワインディングのときにおいて、カウンタCcが閾値Caref,Cbrefと同程度の閾値Ccrefよりも大きくなったときに、閾値IDをサーキットに切り替える。また、閾値IDがサーキットのときにおいて、カウンタCdが閾値Ccrefと同程度の閾値Cdrefよりも大きくなったときに、閾値IDをワインディイングに切り替える。この変形例では、カウンタCa,Cb,Cc,Cdを用いて閾値IDをノーマルとワインディングとサーキットとで切り替えるものとしたが、カウンタCa,Cb,Cc,Cdを用いずに閾値IDを切り替えるものとしてもよい。なお、閾値IDの各名称は、ノーマル、ワインディング、サーキットに限定されるものではなく、適宜設定可能である。
第1実施例のハイブリッド自動車20では、バッテリ50を充放電する際にアクセル要求駆動力Tdaが上限駆動力Tdlimより大きいときには、図7の上限エンジンパワー設定用マップから得られる仮の上限エンジンパワーPelimに充放電要求パワーPb*を加えて上限エンジンパワーPelimを設定し、上限エンジンパワーPelimから充放電要求パワーPb*を減じたものを目標エンジンパワーPe*として設定するものとした。しかし、図8の上限エンジンパワー設定用マップから得られる仮の上限エンジンパワーPelimをそのまま上限エンジンパワーPelimとして設定し、上限エンジンパワーPelimに充放電要求パワーPb*を加えたものを駆動軸36の回転数Ndで除して上限駆動力Tdlimを設定し、上限エンジンパワーPelimをそのまま目標エンジンパワーPe*に設定するものとしてもよい。両者は、上限エンジンパワーPelimの計算の際に充放電要求パワーPb*を考慮するか上限駆動力Tdlimの計算の際に充放電要求パワーPb*を考慮するかの相違があるだけで、結果は同じである。
第1実施例のハイブリッド自動車20では、アクセル要求駆動力Tdaと上限駆動力Tdlimとのうち小さい方の駆動力が駆動軸36に出力されるパワーを目標エンジンパワーPe*として設定するものとした。しかし、アクセル要求駆動力Tdaに駆動軸36の回転数Ndを乗じたパワー(Tda×Nd)と上限駆動力Tdlimに駆動軸36の回転数Ndを乗じたパワー(Tdlim×Nd)とのうち小さい方が駆動軸36に出力されるように目標エンジンパワーPe*を設定してもよい。即ち、ステップS150の処理を、アクセル要求駆動力Tdaに駆動軸36の回転数Ndを乗じたパワー(Tda×Nd)と上限駆動力Tdlimに駆動軸36の回転数Ndを乗じたパワー(Tdlim×Nd)とを比較する処理とすればよい。
第1実施例のハイブリッド自動車20では、モード切替スイッチ90を備え、モード切替スイッチ90により運転感覚優先モードが選択されたときに図2のドラビリ優先駆動制御ルーチンを実行するものとしたが、モード切替スイッチ90を備えず、通常の駆動制御として図2のドラビリ優先駆動制御ルーチンを実行するものとしてもよい。
次に、本発明の第2実施例のハイブリッド自動車120について説明する。第2実施例のハイブリッド自動車120の構成の概略を図12に示す。第2実施例のハイブリッド自動車120は、図12に示すように、変速機130を備える点を除いて、図1に示した第1実施例のハイブリッド自動車20と同一の構成をしている。重複した説明を省略するため、第2実施例のハイブリッド自動車120の構成のうち第1実施例のハイブリッド自動車20と同一の構成については同一の符号を付し、その詳細な説明は省略する。
第2実施例のハイブリッド自動車120が備える変速機130は、油圧駆動による前進方向に3段変速の有段自動変速機として構成されており、HVECU70からの制御信号によって変速する。第2実施例のハイブリッド自動車120では、変速機130の3速の変速段に加えて仮想的な3速の変速段が設定されており、6段変速の変速機を備えているように機能する。図13は、第2実施例で用いる変速線図の一例である。容易に比較できるように、図13の変速線図は図6の変速線図と同一とした。図13中、太実線が変速機130のアップシフト線であり、太破線が変速機130のダウンシフト線である。細実線は仮想的なアップシフト線であり、細破線は仮想的なダウンシフト線である。図中、上部および下部の数字と矢印は仮想的な変速段を含めた6速の変速段の変速を示しており、上部および下部の括弧書きの数字と矢印は変速機130の3速の変速段の変速を示している。図示するように、変速機130の各変速段の最中に仮想的な変速段が1つずつ設けられている。
第2実施例のハイブリッド自動車120では、運転感覚優先モードでDポジションのときには、図14のドラビリ優先駆動制御ルーチンが実行される。図14のドラビリ優先駆動制御ルーチンは、アクセル開度Accや車速V、エンジン22の回転数Ne、変速段Mに加えて実変速段Maを入力するステップS100Bと、変速機130の実変速段Maのギヤ比Grを用いてモータMG2のトルク指令Tm2*を設定するステップS210Bと、目標エンジンパワーPe*や目標エンジン回転数Ne*などを送信する際に実変速段Maを変速機130に送信するステップS220Bと、が異なる点を除いて図2のドラビリ優先駆動制御ルーチンと同様である。このため、図14のドラビリ優先駆動制御ルーチンの処理のうち図2のドラビリ優先駆動制御ルーチンの処理と同一の処理については同一のステップ番号を付した。以下、図14のドラビリ優先駆動制御ルーチンを図2のドラビリ優先駆動制御ルーチンと異なる点を中心に簡単に説明する。
図14のドラビリ優先駆動制御ルーチンが実行されると、HVECU70は、まず、アクセル開度Accや車速V、エンジン22の回転数Ne、変速段Mに加えて実変速段Maを入力する(ステップS100B)。ここで、変速段Mは、仮想的な変速段を含む6速変速の変速段を意味しており、実変速段Maは、変速機130の3速変速の変速段を意味している。変速段Mおよび実変速段Maは、後述の変速段設定ルーチンにより設定されたものを入力することができる。
続いて、アクセル開度Accと車速Vと図3のアクセル要求駆動力設定用マップとを用いてアクセル要求駆動力Tdaを設定し(ステップS110)、車速Vと変速段Mと図6の目標エンジン回転数設定用マップとを用いて目標エンジン回転数Ne*を設定する(ステップS120)。そして、目標エンジン回転数Ne*と図7の上限エンジンパワー設定用マップとを用いて得られる仮の上限エンジンパワーPelimに充放電要求パワーPb*を加えて上限エンジンパワーPelimを設定する(ステップS130)。そして、上限エンジンパワーPelimを駆動軸36の回転数Ndで除して上限駆動力Tdlimを設定する(ステップS140)。
次に、アクセル要求駆動力Tdaと上限駆動力Tdlimとを比較する(ステップS150)。アクセル要求駆動力Tdaが上限駆動力Tdlim以下のときには、アクセル要求駆動力Tdaを実行用駆動力Td*として設定し(ステップS160)、アクセル要求駆動力Tdaに駆動軸36の回転数Ndを乗じたものから充放電要求パワーPb*を減じたものを目標エンジンパワーPe*として設定する(ステップS170)。アクセル要求駆動力Tdaが上限駆動力Tdlimより大きいときには、上限駆動力Tdlimを実行用駆動力Td*として設定し(ステップS180)、上限エンジンパワーPelimから充放電要求パワーPb*を減じたものを目標エンジンパワーPe*として設定する(ステップS190)。
続いて、上述の式(2)によりモータMG1のトルク指令Tm1*を設定すると共に(ステップS200)、式(5)によりモータMG2のトルク指令Tm2*を設定する(ステップS210B)。式(5)中、「Gr」は、変速機130の実変速段Maのギヤ比である。したがって、式(5)の右辺第1項は、変速機130の出力軸である駆動軸36に実行用駆動力Td*を出力するために変速機130の入力軸に出力すべき駆動力を意味している。
Tm2*=Td*/Gr+Tm1*/ρ (5)
そして、目標エンジンパワーPe*および目標エンジン回転数Ne*についてはエンジンECU24に送信すると共にトルク指令Tm1*,Tm2*についてはモータECU40に送信し、実変速段Maについては変速機130に送信して(ステップS220B)、本ルーチンを終了する。実変速段Maを受信した変速機130は、そのときの変速段が実変速段Maであるときにはその変速段を維持し、そのときの変速段が実変速段Maではないときには変速段が実変速段Maとなるように変速する。
次に、図14のドラビリ優先駆動制御ルーチンで用いる変速段Mおよび実変速段Maの設定処理について図15の変速段設定ルーチンを用いて説明する。図15の変速段設定ルーチンは、仮変速段Mtmpだけでなく仮実変速段Matmpを設定するステップS310Bと、変速段Mだけでなく実変速段Maを設定するステップS510Bと、が異なる点を除いて図8の変速段設定ルーチンと同様である。このため、図15の変速段設定ルーチンの処理のうち図8の変速段設定ルーチンの処理と同一の処理については同一のステップ番号を付した。以下、図15の変速段設定ルーチンを図8の変速段設定ルーチンと異なる点を中心に簡単に説明する。
図15の変速段設定ルーチンが実行されると、HVECU70は、まず、アクセル開度Accや車速V、路面勾配θg、前後加速度Gx、左右加速度Gyを入力し(ステップS300)、アクセル開度Accと車速Vと図13の変速線図とを用いて仮変速段Mtmpおよび仮実変速段Matmpを設定する(ステップS310B)。仮変速段Mtmpは、図13の全ての変速線に基づいて6速変速の変速段のうちのいずれに該当するかによって設定され、仮実変速段Matmpは図13の太実線と太破線に基づいて3速変速の変速段のうちのいずれに該当するかによって設定される。
続いて、前後加速度Gxおよび左右加速度Gyに基づいて運転嗜好パラメータPliを設定する(ステップS320)。そして、運転嗜好パラメータPliを閾値Pliref1と比較し(ステップS330)、運転嗜好パラメータPliが閾値Pliref1以下のときには、カウンタCaを値0にリセットし(ステップS340)、運転嗜好パラメータPliが閾値Pliref1よりも大きいときには、カウンタCaを値1だけインクリメントする(ステップS350)。
そして、運転嗜好パラメータPliを閾値Pliref1よりも小さい閾値Pliref2と比較すると共に(ステップS360)、アクセル開度Accを閾値Accrefと比較する(ステップS370)。そして、運転嗜好パラメータPliが閾値Pliref2以上のときやアクセル開度Accが閾値Accref以上のときには、カウンタCbを値0にリセットし(ステップS380)、運転嗜好パラメータPliが閾値Pliref2未満で且つアクセル開度Accが閾値Accref未満のときには、カウンタCbを値1だけインクリメントする(ステップS390)。
次に、閾値IDがノーマルであるかワインディングであるかを判定する(ステップS400)。閾値IDがノーマルであると判定されたときには、カウンタCaを閾値Carefと比較し(ステップS410)、カウンタCaが閾値Caref以下のときには、閾値IDをノーマルで保持し、カウンタCaが閾値Carefよりも大きいときには、閾値IDをワインディングに切り替える(ステップS420)。閾値IDがワインディングであると判定されたときには、カウンタCbを閾値Cbrefと比較し(ステップS430)、カウンタCbが閾値Cbref以下のときには、閾値IDをワインディングで保持し、カウンタCbが閾値Cbrefよりも大きいときには、閾値IDをノーマルに切り替える(ステップS440)。
続いて、閾値IDがノーマルであるかワインディングであるかを判定し(ステップS450)、閾値IDがノーマルであると判定されたときには、路面勾配θgとの比較に用いる閾値θgrefに値θg1を設定し(ステップS460)、閾値IDがワインディングであると判定されたときには、閾値θgrefに値θg1よりも小さい値θg2を設定する(ステップS470)。
そして、路面勾配θgを閾値θgrefと比較し(ステップS480)、路面勾配θgが閾値θgref以下のときには、上限変速段Mlimに最高速段(6速)を設定し(ステップS490)、仮変速段Mtmpと上限変速段Mlimとのうちの小さい方を変速段Mとして設定すると共に仮実変速段Matmpや変速段Mに基づいて実変速段Maを設定して(ステップS510B)、本ルーチンを終了する。実変速段Maについては、仮変速段Mtmpを変速段Mとして設定したときには、仮実変速段Matmpを実変速段Maとして設定し、上限変速段Mlimを変速段Mとして設定したときには、その変速段Mに基づいて実変速段Maを設定するものとした。いま、上限変速段Mlimが最高速段であるから、仮変速段Mtmpを変速段Mとして設定し、仮実変速段Matmpを実変速段Maとして設定することになる。
ステップS480で路面勾配θgが閾値θgrefよりも大きいときには、値Δθg(=θg−θgref)に基づいて上限変速段Mlimを設定し(ステップS500)、仮変速段Mtmpと上限変速段Mlimとのうちの小さい方を変速段Mとして設定すると共に仮実変速段Matmpや変速段Mに基づいて実変速段Maを設定して(ステップS510B)、本ルーチンを終了する。この場合、実変速段Maについては、仮変速段Mtmpを変速段Mとして設定したときには、仮実変速段Matmpを実変速段Maとして設定し、上限変速段Mlimを変速段Mとして設定したときには、その変速段Mに基づいて実変速段Maを設定する。後者の場合、図13の変速線図における仮変速段Mtmpと仮実変速段Matmpとの関係に整合するように変速段Mに基づいて実変速段Maを設定する(例えば、変速段Mが1速か2速のときには実変速段Maに1速を設定する)ものとした。
以上説明した第2実施例のハイブリッド自動車120では、第1実施例のハイブリッド自動車20と同様に機能するから、第1実施例のハイブリッド自動車20が奏する効果と同様の効果を奏する。即ち、運転者により良好な運転感覚を与えることができる効果を奏する。また、運転環境(路面勾配θg)と運転嗜好(運転嗜好パラメータPli)とをより反映した変速段Mとすることができる効果を奏する。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、エンジン22が「エンジン」に相当し、モータMG1が「第1モータ」に相当し、駆動軸36が「駆動軸」に相当し、プラネタリギヤ30が「遊星歯車機構」に相当し、モータMG2が「第2モータ」に相当し、バッテリ50が「バッテリ」に相当する。そして、通常運転モードのときの駆動制御や図2のドラビリ優先駆動制御ルーチンを実行すると共に図8の変速段設定ルーチンを実行するHVECU70とエンジンECU24とモータECU40とが「制御装置」に相当する。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。