(57)【特許請求の範囲】
【請求項１】
車両の駆動源としての内燃機関及び同駆動源としての発電電動機、並びに、前記発電電動機に電力を供給する蓄電池を搭載し、前記発電電動機を用いて回生制動を行うとともに同回生制動により発生した電力を前記蓄電池に充電可能であり且つ前記内燃機関の出力により前記発電電動機を用いて発電した電力を前記蓄電池に充電可能に構成されたハイブリッド車両に適用され、
前記車両に要求される要求駆動力を満たすように且つ前記蓄電池の残容量が標準残容量に設定された目標残容量に近付くように前記内燃機関及び前記発電電動機を制御する制御部を備えるハイブリッド車両の制御装置であって、
前記制御部は、
前記残容量が前記標準残容量よりも小さい下限残容量から前記標準残容量よりも大きい上限残容量までの許容範囲から逸脱した場合、前記残容量が前記許容範囲内に復帰するように、前記蓄電池の充電又は前記蓄電池からの放電を強制的に実行する復帰制御を行い、
前記車両の位置を示す位置情報及び道路情報を取得し、
前記位置情報及び前記道路情報に基づいて前記車両の走行予定経路を取得し、
前記道路情報であって前記走行予定経路を構成する道路区間に関する道路情報に基づいて同走行予定経路内の、第１所定条件を満たす対象下り坂区間、第２所定条件を満たす対象渋滞区間及び第３所定条件を満たす対象上り坂区間のうちの少なくとも一つである対象区間を抽出し、
前記対象区間が前記走行予定経路に含まれている場合には、同対象区間の開始地点よりも所定距離だけ手前にある制御開始地点から同対象区間の終了地点までの区間である制御区間を決定し、
前記制御区間を前記車両が走行するとき、同車両が前記制御開始地点から少なくとも前記対象区間の開始地点に到達するまでの間、前記目標残容量を前記標準残容量から同標準残容量とは相違し且つ前記許容範囲内の特定残容量へ変更する事前充放電制御を実行し、
前記事前充放電制御を実行しているときに前記復帰制御が実行された場合、同復帰制御の開始時点から前記車両が前記制御区間を通過する時点まで前記事前充放電制御を禁止するように構成された、
ハイブリッド車両の制御装置。
【請求項２】
請求項１に記載のハイブリッド車両の制御装置において、
前記制御部は、
前記対象区間として前記対象下り坂区間を抽出し、
前記特定残容量として、前記標準残容量よりも小さく且つ前記下限残容量よりも大きい第１残容量に設定するように構成された、
ハイブリッド車両の制御装置。
【請求項３】
請求項１に記載のハイブリッド車両の制御装置において、
前記制御部は、
前記対象区間として前記対象渋滞区間を抽出し、
前記特定残容量として、前記標準残容量よりも大きく且つ前記上限残容量よりも小さい第２残容量に設定するように構成された、
ハイブリッド車両の制御装置。
【請求項４】
請求項１に記載のハイブリッド車両の制御装置において、
前記制御部は、
前記対象区間として前記対象上り坂区間を抽出し、
前記特定残容量として、前記標準残容量よりも大きく且つ前記上限残容量よりも小さい第３残容量に設定するように構成された、
ハイブリッド車両の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイブリッド車両がこれから走行する下り坂区間又は渋滞区間に進入する前に、当該車両に搭載された蓄電池の残容量を予め低下させ又は増加させるハイブリッド車両の制御装置に関する。
【背景技術】
【０００２】
ハイブリッド車両（以下、単に「車両」とも称呼される。）の蓄電池の残容量（以下、単に「ＳＯＣ（State Of Charge）」 とも称呼する。）が極めて大きい状態又は極めて小さい状態において変化を繰り返すと、蓄電池の性能劣化が早まることが知られている。そこで、従来から蓄電池の劣化防止を目的として蓄電池のＳＯＣが管理されている。具体的には、ＳＯＣの上限及び下限が規定され、制御装置は、ＳＯＣが上限と下限との範囲（以下、「管理幅」と称呼される。）を超えないように管理する。
【０００３】
即ち、制御装置は、ＳＯＣがその上限よりも大きくなると蓄電池への充電を禁止するとともに内燃機関の運転を停止して蓄電池に蓄えられた電力を用いて電動走行を行うことにより蓄電池を放電する制御を実行する。以下、この制御を「強制放電」とも称呼する。このとき、制御装置は回生制動により生じる電気エネルギーを回収することができない。これに対し、ＳＯＣがその下限よりも小さくなると、制御装置は内燃機関を強制的に運転させ、その出力を用いて蓄電池を充電する制御を実行する。以下、この制御を「強制充電」とも称呼する。この結果、燃料が車両走行以外の理由で多く消費されてしまう。従って、車両の走行中、ＳＯＣが管理幅内となるようにすることが、車両の燃費性能向上に効果的である。
【０００４】
例えば、内燃機関及び発電電動機が発生するトルク（駆動力）を用いることなく車両が加速するような下り坂を車両が走行する場合、運転者がアクセルペダルから足を離すこと、及び、場合によっては更に、ブレーキペダルを踏むことによって車両制動力が要求される。このとき、発電電動機の回生制動力によって車速の上昇が抑えられるとともに回生制動により発生した電力が蓄電池に供給される。その結果、蓄電池のＳＯＣは増加する。そのため、車両が長い下り坂（即ち、距離が比較的長く且つ標高差が比較的大きい区間）を走行すると、その下り坂の途中でＳＯＣがその上限を上回る場合がある。この場合、制御装置はＳＯＣを低下させるために「強制放電」を実行する。
【０００５】
これに対し、渋滞路を車両が走行するとき、車両の走行には発電電動機の駆動力が用いられる一方で、回生制動による電力の発生はほとんど期待できない。よって、蓄電池に蓄えられた電力は消費され、蓄電池のＳＯＣは低下する。そのため、車両が長い渋滞路を走行すると、その走行中にＳＯＣがその下限を下回る場合がある。この場合、制御装置はＳＯＣを増加させるために「強制充電」を実行する。
【０００６】
そこで、従来のハイブリッド車両の制御装置の一つ（以下、「従来装置」と称呼する。）は、インフラ情報取得装置（ナビゲーションシステム）を用いて車両の位置及び道路情報等を取得し、それらに基づいて走行予定経路及び同走行予定経路上に存在する渋滞区間を抽出する。従来装置は、更に、抽出した渋滞区間に車両が進入する前に蓄電池のＳＯＣを予め増加させる充電制御を実施する（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−１５１２５号公報
【発明の概要】
【０００８】
より具体的に述べると、従来装置は、渋滞区間の開始地点よりも所定の距離だけ手前の地点から渋滞区間の開始地点までの区間において、予め蓄電池の目標ＳＯＣを通常走行時の目標ＳＯＣ（標準ＳＯＣ）よりも大きい所定のＳＯＣに増加させる「渋滞制御」を実行する。上記区間は「プレチャージ区間」とも称呼される。
【０００９】
ところが、プレチャージ区間に予期せぬ下り坂が存在していた場合、車両がそのプレチャージ区間を走行すると当初（車両がプレチャージ区間に差し掛かる前）の予測を超えてＳＯＣが増加し、ＳＯＣの上限を上回ってしまうことがある。この場合、前述した蓄電池の「強制放電」が実行され、それまで実行されていた「渋滞制御」は一旦停止する。
【００１０】
この場合、「強制放電」は、蓄電池のＳＯＣをその上限よりも所定量だけ低下させた後に終了する。その後、従来装置は「渋滞制御」を再開して、蓄電池のＳＯＣを「渋滞制御」時の目標ＳＯＣに近付けようとする。しかしながら、その後も車両が「渋滞制御」中に下り坂を走行する場合には、ＳＯＣが増加してＳＯＣの上限を上回り、再び「強制放電」が実行される場合がある。このように、強制放電が複数回行われることは、燃費の悪化を招来するのみならず、機関の始動及び停止が繰り返されることにより運転者に違和感を与える虞がある。
【００１１】
一方、このような装置は、下り坂区間の開始地点よりも所定の距離だけ手前の地点から下り坂区間の開始地点までの区間において、予め蓄電池の目標ＳＯＣを通常走行時の目標ＳＯＣ（標準ＳＯＣ）よりも小さい所定のＳＯＣに低下させる「下り坂制御」を実行し得る。上記区間は「プレユース区間」とも称呼される。
【００１２】
ところが、車両がプレユース区間を走行中に予期せぬ渋滞に巻き込まれた場合、当初の予測を超えてＳＯＣが低下し、ＳＯＣの下限を下回ってしまうことがある。この場合、前述した蓄電池の「強制充電」が実行され、それまで実行されていた「下り坂制御」は一旦停止する。
【００１３】
この場合、「強制充電」は、蓄電池のＳＯＣをその下限よりも所定量だけ増加させた後に終了する。その後、装置は「下り坂制御」を再開して、蓄電池のＳＯＣを「下り坂制御」時の目標ＳＯＣに近付けようとする。しかしながら、その後も車両が「下り坂制御」中に渋滞路を走行する場合には、ＳＯＣが低下してＳＯＣの下限を下回り、再び「強制充電」が実行される場合がある。このように、強制充電が複数回行われることは、燃費の悪化を招来するのみならず、機関の始動及び停止が繰り返されることにより運転者に違和感を与える虞がある。
【００１４】
本発明は上記問題に対処するために為されたものである。即ち、本発明の目的の一つは、下り坂制御時に強制充電が繰り返し行われることがなく、或いは渋滞制御時に強制放電が繰り返し行われることがなく、もって燃費を向上することが可能なハイブリッド車両の制御装置を提供することにある。
【００１５】
そこで、本発明のハイブリッド車両の制御装置（以下、「本発明装置」とも称呼する。）は、車両（１０）の駆動源としての内燃機関（２０）及び同駆動源としての発電電動機（ＭＧ１，ＭＧ２）、並びに、前記発電電動機に電力を供給する蓄電池（６４）を搭載し、前記発電電動機を用いて回生制動を行うとともに同回生制動により発生した電力を前記蓄電池に充電可能であり且つ前記内燃機関の出力により前記発電電動機を用いて発電した電力を前記蓄電池に充電可能に構成されたハイブリッド車両（１０）に適用される。
【００１６】
更に、本発明装置は、前記車両に要求される要求駆動力（要求トルク）を満たすように且つ前記蓄電池の残容量（ＳＯＣ）が標準残容量（ＳＯＣcntr-n）に設定された目標残容量（ＳＯＣcntr）に近付くように前記内燃機関及び前記発電電動機を制御する制御部（７０〜７４，図１０のフローチャートを参照。）を備える。
【００１７】
前記制御部は、
（１）前記残容量が前記標準残容量よりも小さい下限残容量（ＳＯＣlolmt ）から前記標準残容量よりも大きい上限残容量（ＳＯＣuplmt ）までの許容範囲（管理幅：ＭＧＲ）から逸脱した場合（ステップ５１０での「Ｙｅｓ」，ステップ７１０での「Ｙｅｓ」）、前記残容量が前記許容範囲内に復帰するように、前記蓄電池の充電又は前記蓄電池からの放電を強制的に実行する復帰制御を行い（ステップ１０４０乃至ステップ１０９２）、
（２）前記車両の位置を示す位置情報及び道路情報を取得し（ステップ８１５，ステップ９１５）、
（３）前記位置情報及び前記道路情報に基づいて前記車両の走行予定経路を取得し（ステップ８１５，ステップ９１５）、
（４）前記道路情報であって前記走行予定経路を構成する道路区間に関する道路情報に基づいて同走行予定経路内の、第１所定条件を満たす対象下り坂区間、第２所定条件を満たす対象渋滞区間及び第３所定条件を満たす対象上り坂区間のうちの少なくとも一つである対象区間を抽出し（ステップ８１５，ステップ９１５）、
（５）前記対象区間が前記走行予定経路に含まれている場合には、同対象区間の開始地点（Ｄｋ，Ｄｊ）よりも所定距離だけ手前にある制御開始地点（Ｄｓ）から同対象区間の終了地点（Ｄｅ）までの区間である制御区間を決定する（ステップ８１５，ステップ９１５）。
【００１８】
更に、前記制御部は、前記制御区間を前記車両が走行するとき、同車両が前記制御開始地点から少なくとも前記対象区間の開始地点に到達するまでの間、前記目標残容量を前記標準残容量から同標準残容量とは相違し且つ前記許容範囲内の特定残容量（ＳＯＣcntr-d，ＳＯＣcntr-j，ＳＯＣcntr-u）へ変更する事前充放電制御を実行し（ステップ８２５，ステップ９２５）、前記事前充放電制御を実行しているときに前記復帰制御が実行された場合（ステップ８４０での「Ｙｅｓ」，ステップ９４０での「Ｙｅｓ」）、同復帰制御の開始時点（Ｄ５）から前記車両が前記制御区間を通過する時点（Ｄ９）まで前記事前充放電制御を禁止する（ステップ８５５，ステップ８７５，ステップ９５５，ステップ９７５）ように構成される。
【００１９】
このように、本発明装置は事前充放電制御中に「復帰制御」が開始され、その後に「復帰制御」が終了しても、その後の制御区間においては事前充放電制御を実行しない。従って、本発明装置によれば、事前充放電制御中に復帰制御が開始された後には、復帰制御が繰り返し行われることがないので、内燃機関が無駄に運転される機会を減らすことができる。即ち、本発明装置によれば、従来装置にくらべて燃費を向上することができる。
【００２０】
本発明の一態様に係るハイブリッド車両の制御装置において、前記制御部は、前記対象区間として前記対象下り坂区間を抽出し、前記特定残容量として、前記標準残容量よりも小さく且つ前記下限残容量よりも大きい第１残容量（ＳＯＣcntr-d）に設定するように構成される。
【００２１】
この態様によれば、本発明装置は対象区間として下り坂区間のみを抽出し得る。即ち、下り坂制御のみを実行中に残容量ＳＯＣが下限残容量を下回った場合であっても強制充電後に下り坂制御の実行を禁止することにより、内燃機関が無駄に運転される機会を減らすことができる。
【００２２】
本発明の一態様に係るハイブリッド車両の制御装置において、前記制御部は、前記対象区間として前記対象渋滞区間を抽出し、前記特定残容量として、前記標準残容量よりも大きく且つ前記上限残容量よりも小さい第２残容量（ＳＯＣcntr-j）に設定するように構成される。
【００２３】
この態様によれば、本発明装置は対象区間として渋滞区間のみを抽出し得る。即ち、渋滞制御のみを実行中に残容量ＳＯＣが上限残容量を上回った場合であっても強制放電後に渋滞制御の実行を禁止することにより内燃機関が無駄に運転される機会を減らすことができる。
【００２４】
本発明の一態様に係るハイブリッド車両の制御装置において、前記制御部は、前記対象区間として前記対象上り坂区間を抽出し、前記特定残容量として、前記標準残容量よりも大きく且つ前記上限残容量よりも小さい第３残容量（ＳＯＣcntr-u）に設定するように構成される。
【００２５】
この態様によれば、本発明装置は対象区間として上り坂区間のみを抽出し得る。即ち、上り坂制御のみを実行中に残容量ＳＯＣが上限残容量を上回った場合であっても強制放電後に上り坂制御の実行を禁止することにより内燃機関が無駄に運転される機会を減らすことができる。
【００２６】
上記説明においては、本発明の理解を助けるために、後述する実施形態に対応する発明の構成に対し、その実施形態で用いた名称及び／又は符号を括弧書きで添えている。しかしながら、本発明の各構成要素は、前記符号によって規定される実施形態に限定されるものではない。本発明の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明の実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の実施形態に係るハイブリッド車両の制御装置が適用されるハイブリッド車両及び同制御装置の概略図である。
【図２】図２（Ａ）は、図１に示したハイブリッド車両の制御装置が実行する下り坂制御における蓄電池の残容量の推移を模式的に示した図であり、図２（Ｂ）は、同装置が実行する渋滞制御における蓄電池の残容量の推移を模式的に示した図である。
【図３】図３は、図１に示したハイブリッド車両の制御装置が実行する下り坂制御における蓄電池の残容量の推移をより詳細に示した図である。
【図４】図４は、図１に示したハイブリッド車両の制御装置が実行する渋滞制御における蓄電池の残容量の推移をより詳細に示した図である。
【図５】図５は、図１に示したハイブリッド車両のＰＭＥＣＵのＣＰＵが実行する「強制充電フラグ設定ルーチン」を示したフローチャートである。
【図６】図６は、図１に示したハイブリッド車両のパワーマネジメントＥＣＵ（ＰＭＥＣＵ）のＣＰＵが生成する「強制放電フラグ」及び「強制充電フラグ」を説明するための蓄電池の残容量を模式的に示した図である。
【図７】図７は、図１に示したハイブリッド車両のＰＭＥＣＵのＣＰＵが実行する「強制放電フラグ設定ルーチン」を示したフローチャートである。
【図８】図８は、図１に示したハイブリッド車両のＰＭＥＣＵのＣＰＵが実行する「下り坂制御ルーチン」を示したフローチャートである。
【図９】図９は、図１に示したハイブリッド車両のＰＭＥＣＵのＣＰＵが実行する「渋滞制御ルーチン」を示したフローチャートである。
【図１０】図１０は、図１に示したハイブリッド車両のＰＭＥＣＵのＣＰＵが実行する「車両走行制御ルーチン」を示したフローチャートである。
【図１１】図１１は、図１に示したハイブリッド車両のパワーマネジメントＥＣＵ（ＰＭＥＣＵ）が参照するルックアップテーブルである。
【図１２】図１２は、図１に示したハイブリッド車両のパワーマネジメントＥＣＵ（ＰＭＥＣＵ）が参照する３つのルックアップテーブルの関係を示した図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照しながら本発明の実施形態に係る「ハイブリッド車両の制御装置」（以下、「本制御装置」と称呼する。）について説明する。
【００２９】
（構成）
本制御装置は、図１に示したハイブリッド車両１０（以下、単に「車両」とも称呼する。）に適用される。
【００３０】
車両１０は、第１発電電動機ＭＧ１、第２発電電動機ＭＧ２、内燃機関２０、動力分配機構３０、駆動力伝達機構５０、第１インバータ６１、第２インバータ６２、昇降圧コンバータ６３、蓄電池６４、パワーマネジメントＥＣＵ７０、バッテリＥＣＵ７１、モータＥＣＵ７２、エンジンＥＣＵ７３及びナビゲーションＥＣＵ７４等を備えている。これらのＥＣＵは本発明の制御部に対応している。なお、これらのＥＣＵの２以上は一つのＥＣＵに統合されてもよい。
【００３１】
ＥＣＵは、エレクトリックコントロールユニットの略称であり、ＣＰＵ、ＲＯＭ、ＲＡＭ、バックアップＲＡＭ（又は不揮発性メモリ）及びインタフェース等を含むマイクロコンピュータを主要構成部品として有する電子制御回路である。ＣＰＵは、メモリ（ＲＯＭ）に格納されたインストラクション（ルーチン）を実行することにより後述する各種機能を実現する。
【００３２】
第１発電電動機ＭＧ１は、発電機及び電動機の何れとしても機能することができる同期発電電動機である。第１発電電動機ＭＧ１は本例において主として発電機としての機能を発揮する。第１発電電動機ＭＧ１は、出力軸である第１シャフト４１を備えている。
【００３３】
第２発電電動機ＭＧ２は、第１発電電動機ＭＧ１と同様、発電機及び電動機の何れとしても機能することができる同期発電電動機である。第２発電電動機ＭＧ２は本例において主として電動機としての機能を発揮する。第２発電電動機ＭＧ２は、出力軸である第２シャフト４２を備えている。
【００３４】
内燃機関（以下、単に「機関」とも称呼する。）２０は、４サイクル・火花点火式・多気筒内燃機関である。機関２０は、周知のエンジンアクチュエータ２１を備えている。例えば、エンジンアクチュエータ２１には、燃料噴射弁を含む燃料供給装置、点火プラグを含む点火装置、スロットル弁開度変更用アクチュエータ及び可変吸気弁制御装置（ＶＶＴ）等が含まれる。機関２０は、スロットル弁アクチュエータにより図示しない吸気通路に配設されたスロットル弁の開度を変更することによって吸入空気量を変更すること、及び、その吸入空気量に応じて燃料噴射量を変更すること等により、機関２０の発生するトルク及び機関回転速度（即ち、機関出力）を変更することができるように構成されている。機関２０は、機関２０の出力軸であるクランクシャフト２２にトルクを発生する。
【００３５】
動力分配機構３０は周知の遊星歯車装置３１を備えている。遊星歯車装置３１はサンギア３２と、複数のプラネタリギア３３と、リングギア３４と、を含んでいる。
【００３６】
サンギア３２は第１発電電動機ＭＧ１の第１シャフト４１に接続されている。従って、第１発電電動機ＭＧ１はサンギア３２にトルクを出力することができる。第１発電電動機ＭＧ１は、サンギア３２から第１発電電動機ＭＧ１に入力されるトルクによって回転駆動されることにより発電することができる。
【００３７】
複数のプラネタリギア３３のそれぞれは、サンギア３２と噛合するとともにリングギア３４と噛合している。プラネタリギア３３の回転軸（自転軸）はプラネタリキャリア３５に設けられている。プラネタリキャリア３５はサンギア３２と同軸に回転可能となるように保持されている。プラネタリキャリア３５は機関２０のクランクシャフト２２に接続されている。
【００３８】
リングギア３４は、サンギア３２と同軸に回転可能となるように保持されている。
【００３９】
プラネタリギア３３からサンギア３２にトルクが入力されたときには、そのトルクによってサンギア３２が回転駆動される。プラネタリギア３３からリングギア３４にトルクが入力されたときには、そのトルクによってリングギア３４が回転駆動される。逆に、サンギア３２からプラネタリギア３３にトルクが入力されたときには、そのトルクによってプラネタリギア３３が回転駆動される。リングギア３４からプラネタリギア３３にトルクが入力されたときには、そのトルクによってプラネタリギア３３が回転駆動される。
【００４０】
リングギア３４はリングギアキャリア３６を介して第２発電電動機ＭＧ２の第２シャフト４２に接続されている。従って、第２発電電動機ＭＧ２はリングギア３４にトルクを出力することができる。第２発電電動機ＭＧ２は、リングギア３４から第２発電電動機ＭＧ２に入力されるトルクによって回転駆動されることにより、発電することができる。
【００４１】
更に、リングギア３４はリングギアキャリア３６を介して出力ギア３７に接続されている。従って、出力ギア３７は、リングギア３４から出力ギア３７に入力されるトルクによって回転駆動され得る。リングギア３４は、出力ギア３７からリングギア３４に入力されるトルクによって回転駆動され得る。
【００４２】
駆動力伝達機構５０は、ギア列５１、ディファレンシャルギア５２及び駆動軸（ドライブシャフト）５３を含んでいる。
【００４３】
ギア列５１は、出力ギア３７とディファレンシャルギア５２とを動力伝達可能に歯車機構により接続している。ディファレンシャルギア５２は駆動軸５３に取り付けられている。駆動軸５３の両端には駆動輪５４が取り付けられている。従って、出力ギア３７からのトルクはギア列５１、ディファレンシャルギア５２、及び、駆動軸５３を介して駆動輪５４に伝達される。この駆動輪５４に伝達されたトルクによりハイブリッド車両１０は走行することができる。
【００４４】
第１インバータ６１は、第１発電電動機ＭＧ１及び昇降圧コンバータ６３に電気的に接続されている。昇降圧コンバータ６３は更に、蓄電池６４に電気的に接続されている。従って、第１発電電動機ＭＧ１が発電しているとき、第１発電電動機ＭＧ１が発生した電力は第１インバータ６１及び昇降圧コンバータ６３を介して蓄電池６４に供給される。反対に、第１発電電動機ＭＧ１は昇降圧コンバータ６３及び第１インバータ６１を介して蓄電池６４から供給される電力によって回転駆動させられる。
【００４５】
第２インバータ６２は、第２発電電動機ＭＧ２及び昇降圧コンバータ６３に電気的に接続されている。従って、第２発電電動機ＭＧ２は昇降圧コンバータ６３及び第２インバータ６２を介して蓄電池６４から供給される電力によって回転駆動させられる。反対に、第２発電電動機ＭＧ２が発電しているとき、第２発電電動機ＭＧ２が発生した電力は第２インバータ６２及び昇降圧コンバータ６３を介して蓄電池６４に供給される。
【００４６】
なお、第１発電電動機ＭＧ１の発生する電力は第２発電電動機ＭＧ２に直接供給可能であり、且つ、第２発電電動機ＭＧ２の発生する電力は第１発電電動機ＭＧ１に直接供給可能である。
【００４７】
蓄電池６４は、第１発電電動機ＭＧ１又は第２発電電動機ＭＧ２を駆動するための電気エネルギーを蓄える蓄電手段であり、充電と放電とを繰り返すことができるリチウムイオン電池等の二次電池により構成されている。蓄電池６４には、ＳＯＣの検出に用いられる図示しないＳＯＣセンサが取り付けられており、バッテリＥＣＵ７１が蓄電池６４のＳＯＣを監視することができるようになっている。
【００４８】
なお、蓄電池６４は、放電及び充電が可能な蓄電装置であればよく、リチウムイオン電池だけでなく、ニッケル水素電池、鉛蓄電池、ニッケルカドミウム電池及び他の二次電池であってもよい。
【００４９】
パワーマネジメントＥＣＵ７０（以下、「ＰＭＥＣＵ７０」とも表記する。）は、後述するバッテリＥＣＵ７１、モータＥＣＵ７２、エンジンＥＣＵ７３及びナビゲーションＥＣＵ７４とＣＡＮ（Controller Area Network） 通信により情報交換可能に接続されている。
【００５０】
ＰＭＥＣＵ７０は、ハイブリッド車両１０のシステム起動用スイッチであるパワースイッチ８１、アクセル操作量センサ８２、ブレーキ操作量センサ８３及び車速センサ８４等からの出力信号を受信するようになっている。
【００５１】
アクセル操作量センサ８２は、運転者により操作可能に設けられた図示しないアクセルペダルの操作量（以下、「アクセル操作量ＡＰ」と称呼する。）を表す出力信号を発生するようになっている。アクセル操作量ＡＰは加速操作量と表現することもできる。
ブレーキ操作量センサ８３は、運転者により操作される図示しないブレーキペダルの操作量（以下、「ブレーキ操作量ＢＰ」と称呼する。）を表す出力信号を発生するようになっている。
車速センサ８４は、ハイブリッド車両１０の車速ＳＰＤを表す出力信号を発生するようになっている。
【００５２】
ＰＭＥＣＵ７０は、バッテリＥＣＵ７１により取得される蓄電池６４の残容量ＳＯＣを入力するようになっている。残容量ＳＯＣは、蓄電池６４に流出入する電流の積算値等に基づいて周知の手法により算出される。
【００５３】
ＰＭＥＣＵ７０は、モータＥＣＵ７２を介して、第１発電電動機ＭＧ１の回転速度を表す信号及び第２発電電動機ＭＧ２の回転速度を表す信号を入力するようになっている。第１発電電動機ＭＧ１の回転速度を表す信号は「ＭＧ１回転速度Ｎｍ１」と称呼される。第２発電電動機ＭＧ２の回転速度を表す信号は「ＭＧ２回転速度Ｎｍ２」と称呼される。
【００５４】
ＭＧ１回転速度Ｎｍ１は、モータＥＣＵ７２によって「第１発電電動機ＭＧ１に設けられ且つ第１発電電動機ＭＧ１のロータの回転角度に対応する出力値を出力するレゾルバ９７の出力値」に基づいて算出される。同様に、ＭＧ２回転速度Ｎｍ２は、モータＥＣＵ７２によって「第２発電電動機ＭＧ２に設けられ且つ第２発電電動機ＭＧ２のロータの回転角度に対応する出力値を出力するレゾルバ９８の出力値」に基づいて算出される。
【００５５】
ＰＭＥＣＵ７０は、エンジンＥＣＵ７３を介して、エンジン状態量センサ９９により検出されるエンジン状態を表す出力信号を入力するようになっている。このエンジン状態を表す出力信号には、機関回転速度ＮＥ、スロットル弁開度ＴＡ及び機関の冷却水温ＴＨＷ等が含まれている。
【００５６】
更に、ＰＭＥＣＵ７０はアクセル操作量ＡＰ及びブレーキ操作量ＢＰに基づいて要求制動力を決定する。更に、ＰＭＥＣＵ７０は要求制動力を要求回生制動力及び要求摩擦制動力に分配する。ＰＭＥＣＵ７０は要求回生制動力が発生するようにモータＥＣＵ７２に指令を出力する。更に、ＰＭＥＣＵ７０は図示しないブレーキアクチュエータを制御するブレーキＥＣＵに要求摩擦制動力を発生させる指令を出力する。ブレーキＥＣＵは、ブレーキアクチュエータを制御して要求摩擦制動力に等しい摩擦制動力を発生させる。
【００５７】
モータＥＣＵ７２は、第１インバータ６１、第２インバータ６２及び昇降圧コンバータ６３に接続されている。モータＥＣＵ７２は、ＰＭＥＣＵ７０からの指令（例えば、「ＭＧ１指令トルクＴｍ１＊及びＭＧ２指令トルクＴｍ２＊」）に基づいて、第１インバータ６１、第２インバータ６２及び昇降圧コンバータ６３に指示信号を送出するようになっている。これにより、モータＥＣＵ７２は、第１インバータ６１及び昇降圧コンバータ６３を用いて第１発電電動機ＭＧ１を制御し、且つ、第２インバータ６２及び昇降圧コンバータ６３を用いて第２発電電動機ＭＧ２を制御するようになっている。
【００５８】
エンジンＥＣＵ７３は、ＰＭＥＣＵ７０からの指令及びエンジン状態量センサ９９からの信号に基づいてエンジンアクチュエータ２１に指示信号を送出することにより、機関２０を制御するようになっている。
【００５９】
ナビゲーションＥＣＵ（以下、「ＮＶＥＣＵ」とも表記する。）７４は、ナビゲーションデータベース８６、走行データ取得部８７、走行環境データ取得部８８及び走行データ記憶部８９等と電気的に接続されている。
【００６０】
ナビゲーションデータベース（以下、「ＮＶＤＢ」とも表記する。）８６は、地図データ、経路計算データ、画像データ及び音声データ等の各種データを格納している。これらのデータは、運転者（又は搭乗者）へのナビゲーションサービスの提供、機関２０及び／又は第２発電電動機ＭＧ２の運転スケジュールの決定（以下、「計画」とも称呼する。）、及び、蓄電池６４の「目標残容量」の決定等に用いられる。
【００６１】
ＮＶＤＢ８６の有する各種データは、磁気ディスク（ＨＤＤ）及び半導体メモリ等の記憶装置に格納されている。
地図データは、地図データ上の各道路を識別するための道路識別情報を含む道路データ、及びルート案内に用いられる交差点名称等を含む誘導データ等を含んでいる。
【００６２】
経路計算データは、道路ネットワークの道路部分に関する情報である「リンク情報」、道路ネットワークの交差点に関する情報である「ノード情報」、及び、道路規制に関する情報である「規制情報」等を含んでいる。ノード情報及びリンク情報は、後述する「下り坂探索（対象下り坂区間の探索）」、「下り坂制御」及び「渋滞制御」等において利用される。なお、各リンクにはそのリンクに対応した道路区間の勾配データ及び／又はそのリンクに対応した道路区間の両端の地点の標高データが付随している。
【００６３】
走行データ取得部８７は、車両のパワースイッチ８１がオンしてからオフするまでの間、所定間隔毎に車両１０の現在位置及び走行速度等の走行データを取得する。所定間隔とは、所定時間間隔（例えば、１００ｍｓｅｃ）及び所定距離間隔（例えば、１００ｍ）等をいう。
【００６４】
走行データ取得部８７は、ＧＰＳ（Global Positioning System ）受信装置を備えている。走行データ取得部８７は、このＧＰＳ受信装置を用いてＧＰＳ衛星が送信するＧＰＳ情報を受信する。走行データ取得部８７は、受信したＧＰＳ情報を解析して車両の位置情報（緯度及び経度）を取得する。
【００６５】
走行環境データ取得部８８は、ＶＩＣＳ（登録商標）の情報を取得する装置を備えている。走行環境データ取得部８８は、渋滞情報、交通規制情報及び気象情報等の車両走行時における車両周辺の走行環境に関する情報、即ち、経路情報を取得して走行環境データとしてＮＶＥＣＵ７４に提供する。
【００６６】
走行データ記憶部８９は、走行データ取得部８７が取得した走行データと、走行環境データ取得部８８が取得した走行環境データとを記憶する。この場合、車両の１回の走行における走行データと走行環境データとは、相互に対応付けられて記憶される。これにより、車両１０が実際に走行した道路に対応したリンクの両端地点の標高が学習され得る。なお、標高はエンジン状態量センサ９９が有する大気圧センサからの信号により算出される。
【００６７】
なお、ハイブリッド車両１０には、所謂プラグインハイブリッド車両も含まれる。プラグインハイブリッド車両は、図１に示された構成に加え、車両外部の充電スタンドから車両１０へ電力を供給する充電ケーブルを接続するための充電インレット（充電コネクタ）、充電インレットと蓄電池６４との間を接続する電力線に介装される充電器及び充電リレー等を更に備える。プラグインハイブリッド車両の蓄電池６４は、車両１０が停車している状態にて充電される。
【００６８】
（作動の概要）
次に、本制御装置の作動の概要について説明する。
【００６９】
車両１０が下り坂を走行しているときには、アクセル操作量ＡＰは頻繁に「０」になり、ブレーキ操作量ＢＰは頻繁に大きい値になる。よって、車両１０が下り坂を走行している場合、第１発電電動機ＭＧ１を用いた回生制動により発生した電力が蓄電池６４に供給される。更に、車両１０が下り坂を走行している場合、車両１０を加速する要求は発生し難いので電力の消費は少ない。従って、車両１０の下り坂走行中は蓄電池６４の残容量ＳＯＣは大きく増加してしまう。一方、車両１０が渋滞路を走行している場合、車両１０の運転者によるアクセル操作量ＡＰは小さく、そのため機関２０の要求出力が小さいので第２発電電動機ＭＧ２のみを用いた走行（即ち、電動走行）が頻繁に行われる。更に、このとき、車両１０の走行速度は低速であるので回生制動により回収可能な電力も僅かである。従って、車両１０の渋滞区間走行中は蓄電池６４の残容量ＳＯＣが大きく低下してしまう。
【００７０】
一方、蓄電池６４はその残容量ＳＯＣが極めて大きい状態又は極めて小さい状態において変化を繰り返すと、容量低下等の性能劣化が進んでしまう。そこで、本制御装置は蓄電池６４の性能劣化防止を目的として残容量ＳＯＣの上限及び下限を設定し、残容量ＳＯＣがこれら上限と下限との間の範囲を逸脱しない（超えない）ように管理している。以下、この範囲は「許容範囲」又は「管理幅ＭＧＲ」とも称呼される。
【００７１】
より具体的に述べると、本制御装置は、残容量ＳＯＣが管理幅ＭＧＲの上限値（以下、「上限残容量ＳＯＣuplmt 」とも称呼する。）よりも大きくなると蓄電池６４に対し強制放電を実行する。強制放電は蓄電池６４への充電を禁止するとともに機関２０の運転を停止して蓄電池６４に蓄えられた電力により第２発電電動機ＭＧ２を用いて車両１０を電動走行させる（残容量ＳＯＣを強制的に上限残容量ＳＯＣuplmt よりも小さくする）制御である。この場合、車両１０の運転者がアクセルペダルから足を離すこと、及びブレーキペダルを踏むことにより生じる制動力は、電気エネルギーとして蓄電池６４に回収されない。強制放電は例えば、図２（Ａ）に破線にて示したように車両１０が下り坂を走行しているときに発生する。
【００７２】
更に、本制御装置は、残容量ＳＯＣが管理幅ＭＧＲの下限値（以下、「下限残容量ＳＯＣlolmt 」とも称呼する。）よりも小さくなると蓄電池６４に対し強制充電を実行する。強制充電は機関２０を強制的に運転させてその出力を用いて蓄電池６４を充電する（残容量ＳＯＣを強制的に下限残容量ＳＯＣlolmt よりも大きくする）制御である。その結果、燃料は車両走行以外の理由により多く消費されてしまう。強制充電は例えば、図２（Ｂ）に破線にて示したように車両１０が渋滞路を走行しているときに発生する。このように、強制放電及び強制充電の実行は燃費の悪化に繋がってしまう。
【００７３】
そこで、本制御装置は、車両１０の走行予定経路中に下り坂区間（以下、「対象下り坂区間」とも称呼される。）があるか否かをＮＶＤＢ８６に格納されたデータ及び走行データ取得部８７により取得されたデータ（車両１０の位置情報及び道路情報）等に基づいて予測する。そして、本制御装置は、走行予定経路中に対象下り坂区間を抽出したとき、車両１０が対象下り坂区間を通過し終えるまでに蓄電池６４の残容量ＳＯＣが上限残容量ＳＯＣuplmt に達しないように、予め残容量ＳＯＣを小さくしておく。例えば、図２（Ａ）に実線にて示したように、本制御装置は車両１０が「抽出された対象下り坂区間」の開始地点Ｄｋより所定の第１距離だけ前の地点Ｄｓから蓄電池６４の残容量ＳＯＣを通常の残容量ＳＯＣcntrから低下させ、対象下り坂区間の開始地点Ｄｋにおいて第１の残容量ＳＯＣ１となるように残容量ＳＯＣを制御する。以下、この制御を「下り坂制御」と称呼する。その後、車両１０が対象下り坂区間を走行すると、回生制動により残容量ＳＯＣが増加するが、車両１０が対象下り坂区間の終了地点Ｄｅに到達しても残容量ＳＯＣは上限残容量ＳＯＣuplmt に達しない。これにより、本制御装置は強制放電の実行を回避でき、回生制動により生じる電気エネルギーを最大限回収することができる。
【００７４】
同様に、本制御装置は、車両１０の走行予定経路中に渋滞区間（以下、「対象渋滞区間」とも称呼される。）があるか否かを上記データに基づいて予測する。そして、本制御装置は、走行予定経路中に対象渋滞区間を抽出したとき、車両１０が対象渋滞区間を通過し終えるまでに蓄電池６４の残容量ＳＯＣが下限残容量ＳＯＣlolmt に達しないように、予め残容量ＳＯＣを大きくしておく。例えば、図２（Ｂ）に実線にて示したように、本制御装置は車両１０が「抽出された対象渋滞区間」の開始地点Ｄｊより所定の第２距離だけ前の地点Ｄｓから蓄電池６４の残容量ＳＯＣを通常の残容量ＳＯＣcntrから増加させ、対象渋滞区間の開始地点Ｄｊにおいて第２の残容量ＳＯＣ２となるように残容量ＳＯＣを制御する。以下、この制御を「渋滞制御」と称呼する。その後、車両１０が対象渋滞区間を走行すると、蓄電池６４の電力が消費され残容量ＳＯＣが低下するが、車両１０が対象渋滞区間の終了地点Ｄｅに到達しても残容量ＳＯＣは下限残容量ＳＯＣlolmt に達しない。これにより、本制御装置は強制充電の実行を回避でき、燃費の悪化を防止することができる。
【００７５】
ところが、「下り坂制御」の実行中において車両１０が「予期せぬ」渋滞に巻き込まれたとき、残容量ＳＯＣが第１の残容量ＳＯＣ１から更に低下して下限残容量ＳＯＣlolmt を下回る場合がある。この場合、強制充電が実行（開始）される。その後、残容量ＳＯＣが下限残容量ＳＯＣlolmt よりも所定量だけ大きくなると強制充電が終了される。この強制充電の終了後、下り坂制御が再開されると、残容量ＳＯＣは小さくなるので、その場合に車両１０が再び予期せぬ渋滞に巻き込まれると、再び残容量ＳＯＣが下限残容量ＳＯＣlolmt を下回り強制充電が実行されてしまう。このように、複数回にわたって強制充電が実行されると燃費が大きく悪化してしまう。
【００７６】
一方、「渋滞制御」の実行中において車両１０が「予期せぬ」下り坂を走行したとき、残容量ＳＯＣが第２の残容量ＳＯＣ２から更に増加して上限残容量ＳＯＣuplmt を上回る場合がある。この場合、本制御装置は強制放電が実行（開始）される。その後、残容量ＳＯＣが上限残容量ＳＯＣuplmt よりも所定量だけ小さくなると強制放電が終了される。この強制放電の終了後、渋滞制御が再開されると、残容量ＳＯＣは大きくなるので、その場合に車両１０が再び予期せぬ下り坂を走行すると、再び残容量ＳＯＣが上限残容量ＳＯＣuplmt を上回り強制放電が実行されてしまう。このように、複数回にわたって強制放電が実行されると燃費が大きく悪化してしまう。
【００７７】
そこで、本制御装置は、図３に示したように、下り坂制御を実行しているときに強制充電が実行された場合、強制充電の開始地点Ｄ５から車両１０が下り坂制御区間を通過する地点Ｄｅまで下り坂制御を禁止する。更に、本制御装置は、図４に示したように、渋滞制御を実行しているときに強制放電が実行された場合、強制放電の開始地点Ｄ５から車両１０が渋滞制御区間を通過する地点Ｄｅまで渋滞制御を禁止する。以下、本制御装置の作動について図３及び図４を参照しながらより詳細に説明する。
【００７８】
なお、前述した「強制充電」及び「強制放電」は、残容量ＳＯＣが管理幅ＭＧＲ（下限残容量ＳＯＣlolmt から上限残容量ＳＯＣuplmt までの許容範囲）から逸脱した場合、残容量ＳＯＣが管理幅ＭＧＲ内に復帰するように、蓄電池６４の充電又は蓄電池６４からの放電を強制的に実行する制御と言える。従って、「強制充電」及び「強制放電」は「復帰制御」とも称呼される。
【００７９】
（作動）
＜下り坂制御の作動＞
図３は、走行予定経路の距離に対する道路の標高、蓄電池６４の残容量ＳＯＣ、強制充電フラグＸＦＣＨＲ及び下り坂制御禁止距離Ｄｐｈ１を示している。強制充電フラグＸＦＣＨＲは、その値が「１」であるとき強制充電が実行されていることを示し、その値が「０」であるとき強制充電が実行されていないことを示す。下り坂制御禁止距離Ｄｐｈ１は、下り坂制御実行の許可又は禁止を判定する際に用いられるパラメータである。下り坂制御禁止距離Ｄｐｈ１の値が「０」より大きいとき、下り坂制御は禁止される。一方、下り坂制御禁止距離Ｄｐｈ１の値が「０」のとき、下り坂制御は許可される。
【００８０】
図３に示した走行予定経路は、リンク＃０からリンク＃４に対応する５つの道路区間によって構成されている。隣接するリンク同士の接続点はノードと称呼される。走行予定経路は、標高Ｈｓの平坦な道路から、標高Ｈｅ（標高Ｈｓ＞標高Ｈｅ）の平坦な道路へと続く下り坂を含んでいる。下り坂の前の平坦な道路は、リンク＃０〜リンク＃１に対応する２つの区間により構成されている。下り坂は、リンク＃２〜リンク＃３に対応する２つの区間により構成されている。下り坂の後の平坦な道路は、リンク＃４に対応する１つの区間により構成されている。
【００８１】
本制御装置は、「下り坂制御区間」を除く通常走行区間においては、目標残容量ＳＯＣcntrを、上限残容量ＳＯＣuplmt よりも小さく下限残容量ＳＯＣlolmt よりも大きい値である標準残容量ＳＯＣcntr-nに設定する。例えば、上限残容量ＳＯＣuplmt は満充電の８０％、下限残容量ＳＯＣlolmt は満充電の４０％、標準残容量ＳＯＣcntr-nは満充電の６０％に相当する値にそれぞれ設定される。
【００８２】
通常走行時において、ＰＭＥＣＵ７０は、車両１０に要求される駆動力及び／又は制動力を満たすように、且つ、実際の残容量ＳＯＣが標準残容量ＳＯＣcntr-nに近付くように、機関２０、第２発電電動機ＭＧ２及び第１発電電動機ＭＧ１を制御する。図３に示した例において、地点Ｄ０における蓄電池６４のＳＯＣは、標準残容量ＳＯＣcntr-n近傍の値に制御されている。
【００８３】
ＮＶＥＣＵ７４は、所定時間（本例においては、ＶＩＣＳ情報が更新される時間間隔である５分）が経過する毎に「下り坂探索」及び「渋滞探索」を行う。いま、下り坂探索及び渋滞探索を行うタイミングにおいて車両１０が地点Ｄ１に到達していると仮定する。この時点において車両１０は通常走行中であるので、ＮＶＥＣＵ７４は下り坂制御及び渋滞制御の何れも実行していない。以下、リンク＃２〜リンク＃３に対応する２つの区間が、下り坂制御が実行される対象下り坂区間に該当するとして説明を続ける。
【００８４】
ＮＶＥＣＵ７４は、この「下り坂探索」において、走行経路中の「下り坂制御」の対象となる対象下り坂区間を抽出（特定）する。具体的には、ＮＶＥＣＵ７４は、ＮＶＤＢ８６の情報に基づいて、走行予定経路に対応するリンク群のうちの単数又は複数の連続したリンク（以下、「第１リンク群」と称呼する。）であり、以下のすべての条件を満たす第１リンク群に対応する区間を「対象下り坂区間」として特定する。これらの条件は「対象下り坂区間特定条件」又は「第１所定条件」とも称呼される。）但し、以下の条件は一例に過ぎず、これに限定されない。
【００８５】
（対象下り坂区間特定条件）
（１）第１リンク群の各リンクに対応する区間が車両１０の現在位置から一定距離（例えば、半径１０ｋｍ）以内である。
（２）第１リンク群の各リンクに対応する区間が何れも所定閾値勾配未満の下り勾配を有する。なお、勾配は、急な上り坂であるほど大きい正の値であり、急な下り坂であるほど小さい（絶対値が大きい）負の値として定義される。
（３）第１リンク群の開始地点の標高Ｈｓが第１リンク群の終了地点の標高Ｈｅよりも高く（Ｈｓ＞Ｈｅ）、且つ、その差の絶対値（標高差ΔＨａ＝｜Ｈｓ−Ｈｅ｜）が所定標高差（SOC_STL_H）以上である。
（４）第１リンク群に対応する区間の合計距離ΔＤａが所定距離（SOC_STL_D）以上である。
【００８６】
図３に示した例においては、リンク＃２及びリンク＃３からなる第１リンク群が上記（１）乃至（４）の条件を満たすので、リンク＃２及びリンク＃３に対応する道路区間（即ち、地点Ｄ７から地点Ｄ９までの区間）が対象下り坂区間として抽出される。ＮＶＥＣＵ７４は、抽出された対象下り坂区間の開始地点Ｄｋ（即ち、地点Ｄ７）の緯度・経度及び特定された対象下り坂区間の終了地点Ｄｅ（即ち、地点Ｄ９）の緯度・経度を記憶する。
【００８７】
更に、ＮＶＥＣＵ７４は、対象下り坂区間の開始地点Ｄｋから所定の第１距離（「残容量調整距離SOCC_DIST） だけ手前にある地点Ｄｓを特定し、その地点の緯度・経度を「下り坂制御の開始地点Ｄｓ」の緯度・経度として、「対象下り坂区間の開始地点Ｄｋ」及び「対象下り坂区間の終了地点Ｄｅ」の緯度・経度とともにＰＭＥＣＵ７０に通知する。なお、ＮＶＥＣＵ７４は、地点Ｄｓに最も近く且つ地点Ｄｓよりも車両１０に近いノードの地点を地点Ｄｓと特定し直してもよい。換言すると、第１距離はある程度の幅がある距離であってもよい。下り坂制御開始地点Ｄｓ（即ち、地点Ｄ２）から対象下り坂区間の開始地点Ｄｋ（地点Ｄ７）までの区間（即ち、リンク＃１）は「プレユース区間」と称呼される場合がある。「プレユース区間」における下り坂制御は特に「プレユース制御」とも称呼される。なお、図３に示した例においては、残容量調整距離SOCC_DIST とリンク＃１に対応する区間の距離とが一致している。プレユース区間と対象下り坂区間とを合わせた区間は、下り坂制御を実行する区間であるので、「第１制御区間（下り坂制御区間）」とも称呼される。
【００８８】
更に、ＮＶＥＣＵ７４は、下り坂制御開始地点Ｄｓ（即ち、地点Ｄ２）、対象下り坂区間の開始地点Ｄｋ（即ち、地点Ｄ７）、及び、下り坂制御終了地点Ｄｅ（対象下り坂区間の終了地点Ｄｅ、即ち、地点Ｄ９）が更新されたとき、これらの地点についてＰＭＥＣＵ７０に通知する。
【００８９】
ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、車両１０の現在地（現在位置）をＮＶＥＣＵ７４から随時取得している。下り坂制御区間が決定された場合において、車両１０の現在地が下り坂制御開始地点Ｄｓに一致すると（即ち、車両１０が図３の地点Ｄ２に到達すると）、下り坂制御（プレユース制御）を実行する。より具体的に述べると、ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、車両１０の現在地が下り坂制御開始地点Ｄｓに一致すると、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから下り坂制御時の目標残容量（便宜上、「低残容量」又は「第１残容量」とも称呼される。）ＳＯＣcntr-dに変更する。下り坂制御時の目標残容量ＳＯＣcntr-dは通常時の目標残容量ＳＯＣcntr-n（満充電時の６０％）よりも小さく下限残容量ＳＯＣlolmt （満充電時の４０％）よりも大きい値であり、例えば、満充電時の５０％に設定される。
【００９０】
ところで、ハイブリッド車両１０は、ハイブリッド走行モード（ＨＶモード）にて走行する。ハイブリッド走行モードは、例えば、特開２０１３−１５４７１８号公報及び特開２０１３−１５４７１５号公報等に記載された周知のモードである。
【００９１】
簡単に述べると、ハイブリッド走行モードは、車両１０を走行させるにあたり、第２発電電動機ＭＧ２に加えて内燃機関２０を用いることを許容する走行モードである。具体的には、ハイブリッド走行モードは、第２発電電動機ＭＧ２を駆動するとともに内燃機関２０をその運転効率が最大となる動作点にて運転し、これら両方の出力により車両１０に要求される要求トルク（要求駆動力、即ち、ユーザが要求するユーザ要求トルク）を満たしながら車両１０を走行させるモードである。
【００９２】
この走行モードにおいては、内燃機関２０に要求される出力が閾値未満であるとき（即ち、内燃機関２０を最適動作点にて運転できない場合）、内燃機関２０の運転は停止される。一方、内燃機関２０に要求される出力が閾値以上であるとき内燃機関２０がその要求出力を満足するように最適動作点にて運転され、その結果として要求トルクに対して不足するトルク（駆動力）が第２発電電動機ＭＧ２により補われ、同時に内燃機関２０の出力によって蓄電池６４が充電される。更に、残容量ＳＯＣが目標残容量ＳＯＣcntrに対して小さくなるほど、内燃機関２０に対する「蓄電池６４を充電するために要求される出力」は大きくなる。そのため、残容量ＳＯＣが小さくなると内燃機関２０が運転され易くなる。
【００９３】
ここで、プレユース区間に「予期せぬ渋滞」が発生していない場合における作動を説明する。「予期せぬ渋滞」とは、不意の渋滞のみならず、計画時の渋滞の規模及び渋滞情報の精度に起因して、ＮＶＥＣＵ７４が渋滞として抽出することができなかった（後述する対象渋滞区間として抽出するための条件を満たさないと判断した）渋滞を含んでいる。プレユース区間において、ＰＭＥＣＵ７０は、残容量ＳＯＣが低残容量（第１残容量）ＳＯＣcntr-dに近付くように、第２発電電動機ＭＧ２を運転させて電力を消費することにより残容量ＳＯＣを低下させる（図３の実線Ｌ１を参照。）。
【００９４】
図３に示した例においては、車両１０がプレユース区間を走行して対象下り坂区間の開始地点Ｄｋに到達するまでに、残容量ＳＯＣが第１残容量ＳＯＣcntr-dまで低下する。このように、前述の残容量調整距離SOCC_DIST は、ＰＭＥＣＵ７０が第２発電電動機ＭＧ２を作動させて蓄電池６４に蓄えられた電力を消費することにより、蓄電池６４の残容量ＳＯＣを標準残容量ＳＯＣcntr-nから第１残容量ＳＯＣcntr-dに近付けるために十分な距離として設定される。残容量調整距離SOCC_DIST は、例えば５ｋｍ程度に設定されるが、車両１０の走行経路や走行条件によっては、５ｋｍよりも短くてもよいし、長くてもよい。
【００９５】
そして、車両１０が対象下り坂区間の走行を開始すると、第１発電電動機ＭＧ１及び第２発電電動機ＭＧ２を用いた回生制動が頻繁に行われるようになる。その結果、回生制動により発生した電力（回生エネルギー）が蓄電池６４に供給されるので、残容量ＳＯＣは徐々に上昇していく。換言すると、ＮＶＥＣＵ７４は、回生エネルギーが走行のために使用されるエネルギーを上回り、その結果、残容量ＳＯＣが増加するような下り坂を対象下り坂区間として抽出する。
【００９６】
ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、車両１０の現在地が下り坂制御終了地点Ｄｅに一致すると（即ち、車両１０が図３の地点Ｄ９に到達すると）、下り坂制御を終了する。より具体的に述べると、ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、目標残容量ＳＯＣcntrを、第１残容量ＳＯＣcntr-dから標準残容量ＳＯＣcntr-nに変更する（戻す）。その後、車両１０は平坦路（リンク♯４に対応する区間）を走行する。従って、残容量ＳＯＣは次第に標準残容量ＳＯＣcntr-nに近付く。なお、ＮＶＥＣＵ７４がＰＭＥＣＵ７０に対し、車両の現在地が「地点Ｄｓ，Ｄｋ及びＤｅ」に到達した旨の通知を行い、ＰＭＥＣＵ７０はその通知に従って下り坂制御の開始及び終了を行っても良い。
【００９７】
ところが、前述したようにプレユース区間中に「予期せぬ渋滞」が発生して車両１０がこの渋滞に巻き込まれると、図３に破線Ｌ２にて示したように、「予期せぬ渋滞」区間において残容量ＳＯＣは急激に低下し、下限残容量ＳＯＣlolmt （第１の閾値）を下回る場合がある。残容量ＳＯＣが下限残容量ＳＯＣlolmt を下回ると、蓄電池６４の強制充電が行われる。この場合、ＰＭＥＣＵ７０は、強制充電により内燃機関２０が最適動作点にて運転できない状況にあっても内燃機関２０を強制的に運転させ、内燃機関２０の出力によって第２発電電動機ＭＧ２及び第１発電電動機ＭＧ１を発電させ、これらの発電電力により蓄電池６４を充電する。
【００９８】
ところで、従来装置による制御の場合、強制充電によって残容量ＳＯＣを５０％（本例においては、第１残容量ＳＯＣcntr-dと同じ。）まで増加させ、その後、下り坂制御を再開する。即ち、目標残容量ＳＯＣcntrを第１残容量ＳＯＣcntr-dに設定する。しかし、残容量ＳＯＣを５０％まで増加させた後であっても、下り坂制御によって残容量ＳＯＣが低下する傾向にあるので、車両１０が再び渋滞に巻き込まれる場合には、再び残容量ＳＯＣが低下して下限残容量ＳＯＣlolmt を下回り、強制充電を実行する場合がある。このように、従来装置によれば、下り坂制御と強制充電とを繰り返してしまう可能性がある。
【００９９】
そこで、本制御装置は下り坂制御中に残容量ＳＯＣが一旦、下限残容量ＳＯＣlolmt を下回ると、強制充電フラグＸＦＣＨＲの値を「０」から「１」に変更して強制充電を実行する。本制御装置はこのとき更に、強制充電の発生地点Ｄ５にて下り坂制御禁止距離Ｄｐｈ１の値をその地点Ｄ５における残距離Ｄｅｎｄ（この場合、Ｄｅｎｄｊ）に設定する。残距離Ｄｅｎｄは、車両１０が走行している地点と下り坂制御区間の終了地点Ｄｅとの間の距離である。これ以降、車両１０が下り坂制御区間の終了地点Ｄｅに到達するまで、本制御装置は車両１０の走行地点における残距離Ｄｅｎｄを下り坂制御禁止距離Ｄｐｈ１の値として設定する。よって、下り坂制御禁止距離Ｄｐｈ１の値は残距離Ｄｅｎｄに応じて減少し、下り坂制御区間の終了地点Ｄｅ（即ち、地点Ｄ９）にて「０」となる。
【０１００】
前述したように、下り坂制御禁止距離Ｄｐｈ１が正の値を示す間、下り坂制御が禁止される。換言すると、本制御装置は下り坂制御区間において一旦強制充電が発生すると、目標ＳＯＣを第１残容量ＳＯＣcntr-dから標準残容量ＳＯＣcntr-nに変更し、その値を下り坂制御区間の終了地点Ｄｅまで標準残容量ＳＯＣcntr-nに維持する。以下、この制御を「下り坂制御再開禁止制御」とも称呼する。なお、本制御装置は、強制充電により残容量ＳＯＣが第１残容量ＳＯＣcntr-dまで増加すると強制充電を終了して強制充電フラグＸＦＣＨＲの値を「０」に変更する。
【０１０１】
＜渋滞制御の作動＞
図４は、走行予定経路の距離に対する道路の標高、蓄電池６４の残容量ＳＯＣ、強制放電フラグＸＦＤＣＨ及び渋滞制御禁止距離Ｄｐｈ２を示している。強制放電フラグＸＦＤＣＨは、その値が「１」であるとき強制放電が実行されていることを示し、その値が「０」であるとき強制放電が実行されていないことを示す。渋滞制御禁止距離Ｄｐｈ２は、渋滞制御実行の許可又は禁止を判定する際に用いられるパラメータである。渋滞制御禁止距離Ｄｐｈ２の値が「０」より大きいとき、渋滞制御は禁止される。一方、渋滞制御禁止距離Ｄｐｈ２の値が「０」のとき、渋滞制御は許可される。
【０１０２】
図４に示した走行予定経路は、図３と同様にリンク＃０からリンク＃４に対応する５つの道路区間によって構成されている。走行予定経路は、標高Ｈｓの平坦な道路から、標高Ｈｅ（標高Ｈｓ＞標高Ｈｅ）の平坦な道路へと続く下り坂を含んでいる。この下り坂はリンク＃１に含まれており、距離及び標高差等が前述した対象下り坂の条件を満たさずに下り坂制御の対象として抽出されなかった下り坂（以下、「予期せぬ下り坂」と称呼される。）である。なお、本例において、本制御装置は図４に示した全区間（リンク＃０〜リンク＃４）が平坦路であると認識している。
【０１０３】
ＮＶＥＣＵ７４は、所定時間（本例においては、ＶＩＣＳ情報が更新される時間間隔である５分）が経過する毎に「下り坂探索」及び「渋滞探索」を行う。いま、下り坂探索及び渋滞探索を行うタイミングにおいて車両１０が地点Ｄ１に到達していると仮定する。この時点において車両１０は通常走行中であるので、ＮＶＥＣＵ７４は下り坂制御及び渋滞制御の何れも実行していない。以下、リンク＃２〜リンク＃３に対応する２つの区間が、渋滞制御が実行される渋滞区間に該当するとして説明を続ける。
【０１０４】
ＮＶＥＣＵ７４は、この「渋滞探索」において、走行経路中の「渋滞制御」の対象となる対象渋滞区間を抽出（特定）する。具体的には、ＮＶＥＣＵ７４は、ＮＶＤＢ８６の情報に基づいて、走行予定経路に対応するリンク群のうちの単数又は複数の連続したリンク（以下、「第２リンク群」と称呼する。）であり、以下のすべての条件を満たす第２リンク群に対応する区間を「対象渋滞区間」として特定する。これらの条件は、「対象渋滞区間特定条件」又は「第２所定条件」とも称呼される。但し、以下の条件は一例に過ぎず、これに限定されない。なお、ここでいう渋滞とは、ＶＩＣＳ情報において定義される「渋滞」又は「混雑」が含まれる。
【０１０５】
（対象渋滞区間特定条件）
（１）第２リンク群の各リンクに対応する区間が車両１０の現在位置から一定距離（例えば、半径１０ｋｍ）以内である。
（２）第２リンク群に対応する区間中の渋滞の合計距離ΔＤｂが所定距離以上である。
【０１０６】
図４に示した例においては、リンク＃２及びリンク＃３からなる第２リンク群が上記（１）及び（２）の条件を満たすので、リンク＃２及びリンク＃３に対応する道路区間（即ち、地点Ｄ７から地点Ｄ９までの区間）が対象渋滞区間として特定される。ＮＶＥＣＵ７４は、抽出された対象渋滞区間の開始地点Ｄｊ（即ち、地点Ｄ７）の緯度・経度及び抽出された対象渋滞区間の終了地点Ｄｅ（即ち、地点Ｄ９）の緯度・経度を記憶する。
【０１０７】
更に、ＮＶＥＣＵ７４は、対象渋滞区間の開始地点Ｄｊから所定の第２距離（残容量調整距離SOCC_DIST） だけ手前にある地点Ｄｓを特定し、その地点の緯度・経度を「渋滞制御の開始地点Ｄｓ」の緯度・経度として、「対象渋滞区間の開始地点Ｄｊ」及び「対象渋滞区間の終了地点Ｄｅ」の緯度・経度とともにＰＭＥＣＵ７０に通知する。なお、ＮＶＥＣＵ７４は、地点Ｄｓに最も近く且つ地点Ｄｓよりも車両１０に近いノードの地点を地点Ｄｓと特定し直してもよい。換言すると、第２距離はある程度の幅がある距離であってもよい。渋滞制御開始地点Ｄｓ（即ち、地点Ｄ２）から対象渋滞区間の開始地点Ｄｊ（地点Ｄ７）までの区間（即ち、リンク＃１）は「プレチャージ区間」と称呼される場合がある。「プレチャージ区間」における渋滞制御は特に「プレチャージ制御」とも称呼される。なお、図４に示した例においては、残容量調整距離SOCC_DIST とリンク＃１に対応する区間の距離とが一致している。プレチャージ区間と対象渋滞区間とを合わせた区間は、渋滞制御を実行する区間であるので、「第２制御区間（渋滞制御区間）」とも称呼される。
【０１０８】
更に、ＮＶＥＣＵ７４は、渋滞制御開始地点Ｄｓ（即ち、地点Ｄ２）、対象渋滞区間の開始地点Ｄｊ（即ち、地点Ｄ７）、及び、渋滞制御終了地点Ｄｅ（対象渋滞区間の終了地点Ｄｅ、即ち、地点Ｄ９）が更新されたとき、これらの地点についてＰＭＥＣＵ７０に通知する。
【０１０９】
ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、車両１０の現在地（現在位置）をＮＶＥＣＵ７４から随時取得している。渋滞制御区間が決定された場合において、車両１０の現在地が渋滞制御開始地点Ｄｓに一致すると（即ち、車両１０が図４の地点Ｄ２に到達すると）、渋滞制御（プレチャージ制御）を実行する。より具体的に述べると、ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、車両１０の現在地が渋滞制御開始地点Ｄｓに一致すると、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから渋滞制御時の目標残容量（便宜上、「高残容量」又は「第２残容量」とも称呼される。）ＳＯＣcntr-jに変更する。渋滞制御時の目標残容量ＳＯＣcntr-jは通常時の目標残容量ＳＯＣcntr-n（満充電時の６０％）よりも大きく上限残容量ＳＯＣuplmt （満充電時の８０％）よりも小さい値であり、例えば、満充電時の７０％に設定される。
【０１１０】
ところで、ハイブリッド走行モードにおいては、残容量ＳＯＣが目標残容量ＳＯＣcntrに対して大きくなるほど、内燃機関２０に対する「蓄電池６４を充電するために要求される出力」は小さくなる。そのため、残容量ＳＯＣが大きくなると内燃機関２０が運転され難くなる。
【０１１１】
ここで、プレチャージ区間に「予期せぬ下り坂」が存在しない場合における作動を説明する。「予期せぬ下り坂」は、前述した対象下り坂区間特定条件を満たさなかった下り坂を含んでいる。プレチャージ区間において、ＰＭＥＣＵ７０は、残容量ＳＯＣが高残容量（第２残容量）ＳＯＣcntr-jに近付くように、第１発電電動機ＭＧ１を運転させて電力を発生させることにより残容量ＳＯＣを増加させる（図４の実線Ｌ３を参照。）。
【０１１２】
図４に示した例においては、車両１０がプレチャージ区間を走行して対象渋滞区間の開始地点Ｄｊに到達するまでに、残容量ＳＯＣが第２残容量ＳＯＣcntr-jまで増加する。このように、前述の残容量調整距離SOCC_DIST は、ＰＭＥＣＵ７０が第１発電電動機ＭＧ１を作動させて電力を発生させ蓄電池６４に電力を蓄えることにより、蓄電池６４のＳＯＣを標準残容量ＳＯＣcntr-nから第２残容量ＳＯＣcntr-jに近付けるために十分な距離として設定される。
【０１１３】
そして、車両１０が対象渋滞区間の走行を開始すると、第１発電電動機ＭＧ１及び第２発電電動機ＭＧ２が車両１０の駆動源として作動するようになる。その結果、蓄電池６４に蓄えられた電力が消費されるので、残容量ＳＯＣは徐々に低下していく。換言すると、ＮＶＥＣＵ７４は、走行のために使用されるエネルギーが回生エネルギーを上回り、その結果、残容量ＳＯＣが低下するような渋滞を対象渋滞区間として抽出する。
【０１１４】
ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、車両１０の現在地が渋滞制御終了地点Ｄｅに一致すると（即ち、車両１０が図４の地点Ｄ９に到達すると）、渋滞制御を終了する。より具体的に述べると、ＰＭＥＣＵ７０（及びバッテリＥＣＵ７１）は、目標残容量ＳＯＣcntrを、第２残容量ＳＯＣcntr-jから標準残容量ＳＯＣcntr-nに変更する（戻す）。その後、車両１０は平坦路（リンク♯４に対応する区間）を走行する。従って、残容量ＳＯＣは次第に標準残容量ＳＯＣcntr-nに近付く。
【０１１５】
ところが、前述したようにプレチャージ区間中に「予期せぬ下り坂」が存在していると、図４に破線Ｌ４にて示したように、「予期せぬ下り坂」を車両１０が走行中に残容量ＳＯＣは急激に増加し、上限残容量ＳＯＣuplmt （第２の閾値）を上回る場合がある。残容量ＳＯＣが上限残容量ＳＯＣuplmt を上回ると、蓄電池６４の強制放電が行われる。ＰＭＥＣＵ７０は、強制放電により内燃機関２０の運転を強制的に停止させ、車両１０の駆動力を第２発電電動機ＭＧ２の出力により賄うとともに第１発電電動機ＭＧ１による充電を停止させる。
【０１１６】
ところで、従来装置による制御の場合、強制放電によって残容量ＳＯＣを７０％（本例においては、第２残容量ＳＯＣcntr-jと同じ。）まで低下させ、その後、プレチャージ制御を再開する。即ち、目標残容量ＳＯＣcntrを第２残容量ＳＯＣcntr-dに設定する。しかし、残容量ＳＯＣを７０％まで低下させた後であっても、渋滞制御によって残容量ＳＯＣが増加する傾向にあるので、車両１０が再び下り坂を走行する場合には、再び残容量ＳＯＣが増加して上限残容量ＳＯＣuplmt を上回り、強制放電を実行する場合がある。このように、従来装置によれば、プレチャージ制御と強制放電とを繰り返してしまう可能性がある。
【０１１７】
そこで、本制御装置は渋滞制御中に残容量ＳＯＣが一旦、上限残容量ＳＯＣuplmt を上回ると、強制放電フラグＸＦＤＣＨの値を「０」から「１」に変更して強制放電を実行する。本制御装置はこのとき更に、強制放電の発生地点Ｄ５にて渋滞制御禁止距離Ｄｐｈ２の値をその地点Ｄ５における残距離Ｄｅｎｄ（この場合、Ｄｅｎｄｋ）に設定する。これ以降、車両１０が渋滞制御区間の終了地点Ｄｅに到達するまで、本制御装置は車両１０の走行地点における残距離Ｄｅｎｄを渋滞制御禁止距離Ｄｐｈ２の値として設定する。よって、渋滞制御禁止距離Ｄｐｈ２の値は残距離Ｄｅｎｄに応じて減少し、渋滞制御区間の終了地点Ｄｅ（即ち、地点Ｄ９）にて「０」となる。
【０１１８】
前述したように、渋滞制御禁止距離Ｄｐｈ２が正の値を示す間、渋滞制御が禁止される。換言すると、本制御装置は、渋滞制御区間において一旦強制放電が発生すると、目標ＳＯＣを第２残容量ＳＯＣcntr-jから標準残容量ＳＯＣcntr-nに変更し、その値を渋滞制御区間の終了地点Ｄｅまで標準残容量ＳＯＣcntr-nに維持する。以下、この制御を「渋滞制御再開禁止制御」とも称呼する。なお、本制御装置は、強制放電により残容量ＳＯＣが第２残容量ＳＯＣcntr-jまで低下すると強制放電を終了して強制放電フラグＸＦＤＣＨの値を「０」に変更する。
【０１１９】
このように、前述した「下り坂制御」及び「渋滞制御」は、制御区間（即ち、下り坂制御区間又は渋滞制御区間）を車両１０が走行するとき、車両１０が制御開始地点Ｄｓから少なくとも対象区間（即ち、対象下り坂区間又は対象渋滞区間）の開始地点Ｄｋ又はＤｊに到達するまでの間、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから標準残容量ＳＯＣcntr-nとは相違し且つ許容範囲（管理幅ＭＧＲ）内の特定残容量（第１残容量ＳＯＣcntr-d又は第２残容量ＳＯＣcntr-j）へ変更する制御である。この「下り坂制御」及び「渋滞制御」は「事前充放電制御」とも称呼される。
【０１２０】
（実際の作動）
次に、本制御装置の実際の作動について説明する。
【０１２１】
＜強制充電フラグ設定＞
ＰＭＥＣＵ７０（実際にはそのＣＰＵ）は、十分に短い一定時間（例えば、８ｍｓ）が経過する毎に図５にフローチャートにより示した強制充電フラグ設定ルーチンを実行するようになっている。従って、ＰＭＥＣＵ７０は所定のタイミングにてステップ５００から処理を開始してステップ５１０に進み、蓄電池６４の残容量ＳＯＣが下限残容量ＳＯＣlolmt 以下となった直後か否かを判定する。
【０１２２】
残容量ＳＯＣが下限残容量ＳＯＣlolmt 以下となった直後である場合、ＰＭＥＣＵ７０はステップ５１０にて「Ｙｅｓ」と判定してステップ５２０に進み、強制充電フラグＸＦＣＨＲの値を「１」に設定する。これによって強制充電が開始される（後述のステップ１０５５を参照。）。
【０１２３】
次いで、ＰＭＥＣＵ７０はステップ５３０に進み、蓄電池６４の残容量ＳＯＣが強制充電解除残容量ＳＯＣfcc 以上となった直後であるか否かを判定する。この強制充電解除残容量ＳＯＣfcc は下限残容量ＳＯＣlolmt 以上、且つ第１残容量ＳＯＣcntr-d以下の任意の値に設定される。なお、図３に示した例においては強制充電解除残容量ＳＯＣfcc は第１残容量ＳＯＣcntr-dと同じ値に設定されている。現時点において、残容量ＳＯＣは下限残容量ＳＯＣlolmt となった直後である。従って、ＰＭＥＣＵ７０はステップ５３０にて「Ｎｏ」と判定してステップ５９５に直接進んで本ルーチンを一旦終了する。
【０１２４】
強制充電が行われて残容量ＳＯＣが強制充電解除残容量ＳＯＣfcc 以上となった場合にＰＭＥＣＵ７０は再びステップ５００から処理を開始すると、ステップ５１０にて「Ｎｏ」と判定してステップ５３０に直接進む。次いで、ＰＭＥＣＵ７０はステップ５３０にて「Ｙｅｓ」と判定してステップ５４０に進み、強制充電フラグＸＦＣＨＲの値を「０」に設定し、ステップ５９５に進んで本ルーチンを一旦終了する。これによって強制充電が終了する。従って、強制充電フラグＸＦＣＨＲは、図６に示したように蓄電池６４の残容量ＳＯＣが下限残容量ＳＯＣlolmt 以下となったときに「１」となり、強制充電解除残容量ＳＯＣfcc 以上となったときに「０」となる。
【０１２５】
＜強制放電フラグ設定＞
ＰＭＥＣＵ７０（実際にはそのＣＰＵ）は、十分に短い一定時間（例えば、８ｍｓ）が経過する毎に図７にフローチャートにより示した強制放電フラグ設定ルーチンを実行するようになっている。従って、ＰＭＥＣＵ７０は所定のタイミングにてステップ７００から処理を開始してステップ７１０に進み、蓄電池６４の残容量ＳＯＣが上限残容量ＳＯＣuplmt 以上となった直後か否かを判定する。
【０１２６】
残容量ＳＯＣが上限残容量ＳＯＣuplmt 以上となった直後である場合、ＰＭＥＣＵ７０はステップ７１０にて「Ｙｅｓ」と判定してステップ７２０に進み、強制放電フラグＸＦＤＣＨの値を「１」に設定する。これによって強制放電が開始される。
【０１２７】
次いで、ＰＭＥＣＵ７０はステップ７３０に進み、蓄電池６４の残容量ＳＯＣが強制放電解除残容量ＳＯＣfdc 以下となった直後であるか否かを判定する。この強制放電解除残容量ＳＯＣfdc は上限残容量ＳＯＣuplmt 以下、且つ第２残容量ＳＯＣcntr-j以上の任意の値に設定される。なお、図４に示した例においては強制放電解除残容量ＳＯＣfdc は第２残容量ＳＯＣcntr-jと同じ値に設定されている。現時点において、残容量ＳＯＣは上限残容量ＳＯＣuplmt となった直後である。従って、ＰＭＥＣＵ７０はステップ７３０にて「Ｎｏ」と判定してステップ７９５に直接進んで本ルーチンを一旦終了する。
【０１２８】
強制放電が行われ、残容量ＳＯＣが強制放電解除残容量ＳＯＣfdc 以下となった場合にＰＭＥＣＵ７０は再びステップ７００から処理を開始すると、ステップ７１０にて「Ｎｏ」と判定してステップ７３０に直接進む。次いで、ＰＭＥＣＵ７０はステップ７３０にて「Ｙｅｓ」と判定してステップ７４０に進み、強制放電フラグＸＦＤＣＨの値を「０」に設定し、ステップ７９５に進んで本ルーチンを一旦終了する。これによって強制放電が終了する。従って、強制放電フラグＸＦＤＣＨは、図６に示したように蓄電池６４の残容量ＳＯＣが上限残容量ＳＯＣuplmt 以上となったときに「１」となり、強制放電解除残容量ＳＯＣfdc 以下となったときに「０」となる。
【０１２９】
＜下り坂制御＞
ＰＭＥＣＵ７０（実際にはそのＣＰＵ）は、一定時間（例えば、１００ｍｓ）が経過する毎に図８にフローチャートにより示した「下り坂制御ルーチン」を実行するようになっている。以下、場合分けして説明する。なお、以下の説明において、前述した「対象下り坂区間特定条件」は成立していると仮定する。下り坂制御禁止距離Ｄｐｈ１は別途実行されるイニシャルルーチンにて「０」に設定される。
【０１３０】
（１）車両が「予期せぬ渋滞」に巻き込まれない（強制充電が実行されない）場合
ＰＭＥＣＵ７０は所定のタイミングにてステップ８００から処理を開始してステップ８０５に進み、下り坂制御が実行中であるか否かを判定する。車両１０が下り坂制御対象区間よりも手前（例えば、図３の地点Ｄ１）を走行しているときに上記処理が開始されても下り坂制御は未だ実行されていない。従って、このときＰＭＥＣＵ７０はステップ８０５にて「Ｙｅｓ」と判定してステップ８１０に進み、下り坂制御が禁止中でないか否か（下り坂制御禁止距離Ｄｐｈ１の値が「０」以下であるか否か）を判定する。
【０１３１】
下り坂制御禁止距離Ｄｐｈ１は別途実行されるイニシャルルーチンにてその値は「０」に設定されている。よって、下り坂制御は禁止中ではない。従って、ＰＭＥＣＵ７０はステップ８１０にて「Ｙｅｓ」と判定してステップ８１５に進み、「先読み情報」を取得する。
【０１３２】
ＮＶＥＣＵ７４（実際にはそのＣＰＵ）は車両１０の位置を示す位置情報及び道路情報を取得し、これらの位置情報及び道路情報に基づいて車両１０の走行予定経路を取得する。ＮＶＥＣＵ７４は、道路情報であって走行予定経路を構成する道路区間に関する道路情報に基づいて走行予定経路内の、第１所定条件（対象下り坂区間特定条件）を満たす対象下り坂区間を抽出する。ＮＶＥＣＵ７４は対象下り坂区間が走行予定経路に含まれている場合には、対象下り坂区間の開始地点Ｄｋよりも所定距離だけ手前にある制御開始地点Ｄｓから対象区間の終了地点Ｄｅまでの区間である下り坂制御区間を決定する。これらＮＶＥＣＵ７４により取得される位置情報及び道路情報、ＮＶＥＣＵ７４により抽出される対象下り坂区間並びにＮＶＥＣＵ７４により決定される下り坂制御区間は「先読み情報」と称呼される。
【０１３３】
次いでＰＭＥＣＵ７０はステップ８２０に進み、下り坂制御実行条件が成立しているか否かを判定する。下り坂制御実行条件は、前述の「下り坂制御区間」が決定され、且つ車両１０が下り坂制御の開始地点Ｄｓに到達したときに成立する。現時点において車両１０は下り坂制御の開始地点Ｄｓに到達していない。従って、ＰＭＥＣＵ７０は、ステップ８２０にて「Ｎｏ」と判定してステップ８９５に直接進んで本ルーチンを一旦終了する。
【０１３４】
車両１０が下り坂制御の開始地点Ｄｓに到達すると、下り坂制御実行条件が成立する。このとき、ＰＭＥＣＵ７０は再びステップ８００から処理を開始すると、ステップ８２０にて「Ｙｅｓ」と判定してステップ８２５に進み、下り坂制御を実行する。即ち、ＰＭＥＣＵ７０は、前述したように、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから第１残容量ＳＯＣcntr-dに変更することにより、蓄電池６４に蓄えられた電力を放電して、実際のＳＯＣを第１残容量ＳＯＣcntr-dに近付ける。
【０１３５】
次いで、ＰＭＥＣＵ７０は、ステップ８３０に進み、下り坂制御禁止距離Ｄｐｈ１の値を「０」に設定してステップ８３５に進み、残距離Ｄｅｎｄを算出する。次いで、ＰＭＥＣＵ７０はステップ８４０に進むと、今回開始された下り坂制御において強制充電フラグＸＦＣＨＲの値が「１」になったことがあるか否かを判定する。前述の仮定によれば、強制充電フラグＸＦＣＨＲの値は「０」である。従って、ＰＭＥＣＵ７０はステップ８４０にて「Ｎｏ」と判定してステップ８７０に進み、残距離Ｄｅｎｄが「０」より小さいか否か（即ち、車両１０が下り坂制御区間の終了地点Ｄｅを通過しているか否か）を判定する。現時点において、残距離Ｄｅｎｄは「０」より大きい。従って、ＰＭＥＣＵ７０はステップ８７０にて「Ｎｏ」と判定してステップ８９５に直接進んで本ルーチンを一旦終了する。
【０１３６】
下り坂制御実行中、ＰＭＥＣＵ７０が再びステップ８００から処理を開始すると、ステップ８０５にて「Ｎｏ」と判定してステップ８３５に直接進み、残距離Ｄｅｎｄを算出してステップ８４０に進む。ＰＭＥＣＵ７０はステップ８４０にて「Ｎｏ」と判定してステップ８７０に進むと、「Ｎｏ」と判定してステップ８９５に直接進んで本ルーチンを一旦終了する。
【０１３７】
下り坂制御実行中に車両１０が下り坂制御の終了地点Ｄｅを超えたとき、ＰＭＥＣＵ７０が再びステップ８００から処理を開始すると、ステップ８０５にて「Ｎｏ」と判定してステップ８３５に直接進み、残距離Ｄｅｎｄを算出してステップ８４０に進む。
【０１３８】
次いで、ＰＭＥＣＵ７０はステップ８４０にて「Ｎｏ」と判定してステップ８７０に進む。ステップ８３５にて算出された残距離Ｄｅｎｄの値は「０」より小さい。従って、ＰＭＥＣＵ７０はステップ８７０にて「Ｙｅｓ」と判定してステップ８５０に進み、下り坂制御を実行中であるか否かを判定する。現時点において下り坂制御を実行しているので、ＰＭＥＣＵ７０はステップ８５０にて「Ｙｅｓ」と判定してステップ８５５に進み、下り坂制御を終了する。即ち、ＰＭＥＣＵ７０は、前述したように、目標残容量ＳＯＣcntrを第１残容量ＳＯＣcntr-dから標準残容量ＳＯＣcntr-nに変更することにより、実際のＳＯＣを標準残容量ＳＯＣcntr-nに近付ける。その後、ＰＭＥＣＵ７０はステップ８６０に進み、下り坂制御禁止距離Ｄｐｈ１が「０」以下であるか否かを判定する。
【０１３９】
下り坂制御禁止距離Ｄｐｈ１は、下り坂制御が開始されたときにその値が「０」に設定されている。従って、ＰＭＥＣＵ７０はステップ８６０にて「Ｙｅｓ」と判定してステップ８６５に進み、下り坂制御を許可した後、ステップ８９５に進んで本ルーチンを一旦終了する。これによって、次回のルーチン以降においても下り坂制御実行条件が成立したときには下り坂制御が実行される。
【０１４０】
（２）車両が「予期せぬ渋滞」に巻き込まれる（強制充電が実行された）場合
車両１０が下り坂制御対象区間よりも手前（例えば、図３の地点Ｄ１）を走行しているときにＰＭＥＣＵ７０がステップ８００から処理を開始すると、ステップ８０５にて「Ｙｅｓ」と判定してステップ８１０に進む。次いで、ＰＭＥＣＵ７０はステップ８１０にて「Ｙｅｓ」と判定してステップ８１５に進み、先読み情報を取得する。
【０１４１】
次いでＰＭＥＣＵ７０はステップ８２０に進む。現時点において車両１０は下り坂制御の開始地点Ｄｓに到達していない。従って、ＰＭＥＣＵ７０は、ステップ８２０にて「Ｎｏ」と判定してステップ８９５に直接進んで本ルーチンを一旦終了する。
【０１４２】
車両１０が下り坂制御の開始地点Ｄｓに到達すると、下り坂制御実行条件が成立する。このとき、ＰＭＥＣＵ７０は再びステップ８００から処理を開始すると、ステップ８２０にて「Ｙｅｓ」と判定してステップ８２５に進み、下り坂制御を実行する。次いで、ＰＭＥＣＵ７０は、ステップ８３０に進み、下り坂制御禁止距離Ｄｐｈ１の値を「０」に設定してステップ８３５に進み、残距離Ｄｅｎｄを算出する。
【０１４３】
次いで、ＰＭＥＣＵ７０はステップ８４０に進む。このとき、強制充電フラグＸＦＣＨＲの値は「０」である。従って、ＰＭＥＣＵ７０はステップ８４０にて「Ｎｏ」と判定してステップ８７０に進む。現時点において、残距離Ｄｅｎｄは「０」より大きい。従って、ＰＭＥＣＵ７０はステップ８７０にて「Ｎｏ」と判定してステップ８９５に直接進んで本ルーチンを一旦終了する。
【０１４４】
車両１０が予期せぬ渋滞に巻き込まれている間であって、例えば、図３の地点Ｄ５に到達したとき、ＰＭＥＣＵ７０が再びステップ８００から処理を開始すると、ステップ８０５にて「Ｎｏ」と判定してステップ８３５に直接進み、残距離Ｄｅｎｄを算出してステップ８４０に進む。図３に示したように、地点Ｄ５にて強制充電フラグＸＦＣＨＲの値は「０」から「１」に変更される。従って、ＰＭＥＣＵ７０はステップ８４０にて「Ｙｅｓ」と判定してステップ８４５に進み、下り坂制御禁止距離Ｄｐｈ１を残距離Ｄｅｎｄに設定して、ステップ８５０に進む。
【０１４５】
現時点において下り坂制御は実行されている。従って、ＰＭＥＣＵ７０はステップ８５０にて「Ｙｅｓ」と判定してステップ８５５に進み、下り坂制御を終了してステップ８６０に進む。現時点において下り坂制御禁止距離Ｄｐｈ１は正の値である。従って、ＰＭＥＣＵ７０はステップ８６０にて「Ｎｏ」と判定してステップ８７５に進み、下り坂制御を禁止してステップ８８０に進む。ＰＭＥＣＵ７０はステップ８８０にて下り坂制御禁止距離Ｄｐｈ１（この場合、残距離Ｄｅｎｄ）をＲＡＭに記憶して、ステップ８９５に進んで本ルーチンを一旦終了する。
【０１４６】
下り坂制御が禁止された状態にて車両１０がプレユース制御区間（例えば、図３の地点Ｄ６）を走行しているときにＰＭＥＣＵ７０がステップ８００から処理を開始すると、ステップ８０５にて「Ｙｅｓ」と判定してステップ８１０に進む。次いで、ＰＭＥＣＵ７０はステップ８１０にて「Ｎｏ」と判定してステップ８３５に直接進み、残距離Ｄｅｎｄを算出してステップ８４０に進む。このとき、強制充電フラグＸＦＣＨＲの値は「０」である。従って、ＰＭＥＣＵ７０はステップ８４０にて「Ｙｅｓ」と判定してステップ８４５に進み、下り坂制御禁止距離Ｄｐｈ１を残距離Ｄｅｎｄに設定してステップ８５０に進む。
【０１４７】
このとき、下り坂制御は実行されておらず、下り坂制御禁止距離Ｄｐｈ１は正の値である。従って、ＰＭＥＣＵ７０はステップ８５０にて「Ｎｏ」と判定してステップ８６０に直接進むと、ステップ８６０にて「Ｎｏ」と判定してステップ８７５に進み、下り坂制御禁止の状態を維持する。次いで、ＰＭＥＣＵ７０はステップ８８０に進んでＲＡＭに記憶された下り坂制御禁止距離Ｄｐｈ１の値を更新し、ステップ８９５に進んで本ルーチンを一旦終了する。この後、車両１０が対象下り坂区間（図３の地点Ｄｋ乃至地点Ｄｅ）を走行する間も同様に、下り坂制御禁止の状態が維持される。
【０１４８】
下り坂制御が禁止された状態にて車両１０が下り坂制御の終了地点Ｄｅを超えたとき、ＰＭＥＣＵ７０が再びステップ８００から処理を開始すると、ステップ８０５にて「Ｙｅｓ」と判定してステップ８１０に進み、ステップ８１０にて「Ｎｏ」と判定してステップ８３５に直接進み、残距離Ｄｅｎｄを算出する。次いで、ＰＭＥＣＵ７０はステップ８４０に進み、「Ｙｅｓ」と判定してステップ８４５に進み、下り坂制御禁止距離Ｄｐｈ１をこのときの残距離Ｄｅｎｄ（この場合において「０」）に設定してステップ８５０に進む。現時点において下り坂制御は実行されていない。従って、ＰＭＥＣＵ７０はステップ８５０にて「Ｎｏ」と判定してステップ８６０に直接進む。
【０１４９】
このとき、下り坂制御禁止距離Ｄｐｈ１の値は「０」である。従って、ＰＭＥＣＵ７０はステップ８６０にて「Ｙｅｓ」と判定してステップ８６５に進み、下り坂制御を許可してステップ８９５に進み、本ルーチンを一旦終了する。これによって、次回のルーチン以降、下り坂制御実行条件が成立したときには下り坂制御が実行される。
【０１５０】
＜渋滞制御＞
ＰＭＥＣＵ７０（実際にはそのＣＰＵ）は、一定時間（例えば、１００ｍｓ）が経過する毎に図９にフローチャートにより示した「渋滞制御ルーチン」を実行するようになっている。以下、場合分けして説明する。なお、以下の説明において、前述した「対象渋滞区間特定条件」は成立していると仮定する。渋滞制御禁止距離Ｄｐｈ２は別途実行されるイニシャルルーチンにて「０」に設定される。
【０１５１】
（１）車両が「予期せぬ下り坂」を走行しない（強制放電が実行されない）場合
ＰＭＥＣＵ７０は所定のタイミングにてステップ９００から処理を開始してステップ９０５に進み、渋滞制御（プレチャージ制御）が実行中であるか否かを判定する。車両１０が渋滞制御対象区間よりも手前（例えば、図４の地点Ｄ１）を走行しているときに上記処理が開始されても渋滞制御は未だ実行されていない。従って、このときＰＭＥＣＵ７０はステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、渋滞制御が禁止中でないか否か（渋滞制御禁止距離Ｄｐｈ２の値が「０」以下であるか否か）を判定する。
【０１５２】
渋滞制御禁止距離Ｄｐｈ２は別途実行されるイニシャルルーチンにてその値は「０」に設定されている。よって、渋滞制御は禁止中ではない。従って、ＰＭＥＣＵ７０はステップ９１０にて「Ｙｅｓ」と判定してステップ９１５に進み、「先読み情報」を取得する。
【０１５３】
ＮＶＥＣＵ７４（実際にはそのＣＰＵ）は車両１０の位置を示す位置情報及び道路情報を取得し、これらの位置情報及び道路情報に基づいて車両１０の走行予定経路を取得する。ＮＶＥＣＵ７４は、道路情報であって走行予定経路を構成する道路区間に関する道路情報に基づいて走行予定経路内の、第２所定条件（対象渋滞区間特定条件）を満たす対象渋滞区間を抽出する。ＮＶＥＣＵ７４は対象渋滞区間が走行予定経路に含まれている場合には、対象渋滞区間の開始地点Ｄｊよりも所定距離だけ手前にある制御開始地点Ｄｓから対象区間の終了地点Ｄｅまでの区間である渋滞制御区間を決定する。これらＮＶＥＣＵ７４により取得される位置情報及び道路情報、ＮＶＥＣＵ７４により抽出される対象渋滞区間並びにＮＶＥＣＵ７４により決定される渋滞制御区間は「先読み情報」と称呼される。
【０１５４】
次いでＰＭＥＣＵ７０はステップ９２０に進み、渋滞制御実行条件が成立しているか否かを判定する。渋滞制御実行条件は、前述の「渋滞制御区間」が決定され、且つ車両１０が渋滞制御の開始地点Ｄｓに到達したときに成立する。現時点において車両１０は渋滞制御の開始地点Ｄｓに到達していない。従って、ＰＭＥＣＵ７０は、ステップ９２０にて「Ｎｏ」と判定してステップ９９５に直接進んで本ルーチンを一旦終了する。
【０１５５】
車両１０が渋滞制御の開始地点Ｄｓに到達すると、渋滞制御実行条件が成立する。このとき、ＰＭＥＣＵ７０は再びステップ９００から処理を開始すると、ステップ９２０にて「Ｙｅｓ」と判定してステップ９２５に進み、渋滞制御を実行する。即ち、ＰＭＥＣＵ７０は、前述したように、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから第２残容量ＳＯＣcntr-jに変更することにより、蓄電池６４に蓄えられた電力を充電して、実際のＳＯＣを第２残容量ＳＯＣcntr-jに近付ける。
【０１５６】
次いで、ＰＭＥＣＵ７０は、ステップ９３０に進み、渋滞制御禁止距離Ｄｐｈ２の値を「０」に設定してステップ９３５に進み、残距離Ｄｅｎｄを算出する。次いで、ＰＭＥＣＵ７０はステップ９４０に進むと、今回開始された渋滞制御において強制放電フラグＸＦＤＣＨの値が「１」になったことがあるか否かを判定する。前述の仮定によれば、強制放電フラグＸＦＤＣＨの値は「０」である。従って、ＰＭＥＣＵ７０はステップ９４０にて「Ｎｏ」と判定してステップ９７０に進み、残距離Ｄｅｎｄが「０」より小さいか否か（即ち、車両１０が渋滞制御区間の終了地点Ｄｅを通過しているか否か）を判定する。現時点において、残距離Ｄｅｎｄは「０」より大きい。従って、ＰＭＥＣＵ７０はステップ９７０にて「Ｎｏ」と判定してステップ９９５に直接進んで本ルーチンを一旦終了する。
【０１５７】
渋滞制御実行中に車両１０が例えば図４の地点Ｄ３に到達したとき、ＰＭＥＣＵ７０が再びステップ９００から処理を開始すると、ステップ９０５にて「Ｎｏ」と判定してステップ９３５に直接進み、残距離Ｄｅｎｄを算出してステップ９４０に進む。ＰＭＥＣＵ７０はステップ９４０にて「Ｎｏ」と判定してステップ９７０に進むと、「Ｎｏ」と判定してステップ９９５に直接進んで本ルーチンを一旦終了する。
【０１５８】
渋滞制御実行中に車両１０が渋滞制御の終了地点Ｄｅを超えたとき、ＰＭＥＣＵ７０が再びステップ９００から処理を開始すると、ステップ９０５にて「Ｎｏ」と判定してステップ９３５に直接進み、残距離Ｄｅｎｄを算出してステップ９４０に進む。
【０１５９】
次いで、ＰＭＥＣＵ７０はステップ９４０にて「Ｎｏ」と判定してステップ９７０に進む。ステップ９３５にて算出された残距離Ｄｅｎｄの値は「０」より小さい。従って、ＰＭＥＣＵ７０はステップ９７０にて「Ｙｅｓ」と判定してステップ９５０に進み、渋滞制御を実行中であるか否かを判定する。現時点において渋滞制御を実行しているので、ＰＭＥＣＵ７０はステップ９５０にて「Ｙｅｓ」と判定してステップ９５５に進み、渋滞制御を終了する。即ち、ＰＭＥＣＵ７０は、前述したように、目標残容量ＳＯＣcntrを第２残容量ＳＯＣcntr-jから標準残容量ＳＯＣcntr-nに変更することにより、実際のＳＯＣを標準残容量ＳＯＣcntr-nに近付ける。その後、ＰＭＥＣＵ７０はステップ９６０に進み、渋滞制御禁止距離Ｄｐｈ２が「０」以下であるか否かを判定する。
【０１６０】
渋滞制御禁止距離Ｄｐｈ２は、渋滞制御が実行されたときにその値が「０」に設定されている。従って、ＰＭＥＣＵ７０はステップ９６０にて「Ｙｅｓ」と判定してステップ９６５に進み、渋滞制御を許可した後、ステップ９９５に進んで本ルーチンを一旦終了する。これによって、次回のルーチン以降においても渋滞制御実行条件が成立したときには渋滞制御が実行される。
【０１６１】
（２）車両が「予期せぬ下り坂」を走行する（強制放電が実行された）場合
車両１０が渋滞制御対象区間よりも手前（例えば、図４の地点Ｄ１）を走行しているときにＰＭＥＣＵ７０がステップ９００から処理を開始すると、ステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進む。次いで、ＰＭＥＣＵ７０はステップ９１０にて「Ｙｅｓ」と判定してステップ９１５に進み、先読み情報を取得する。
【０１６２】
次いでＰＭＥＣＵ７０はステップ９２０に進む。現時点において車両１０は渋滞制御の開始地点Ｄｓに到達していない。従って、ＰＭＥＣＵ７０は、ステップ９２０にて「Ｎｏ」と判定してステップ９９５に直接進んで本ルーチンを一旦終了する。
【０１６３】
車両１０が渋滞制御の開始地点Ｄｓに到達すると、渋滞制御実行条件が成立する。このとき、ＰＭＥＣＵ７０は再びステップ９００から処理を開始すると、ステップ９２０にて「Ｙｅｓ」と判定してステップ９２５に進み、渋滞制御を実行する。次いで、ＰＭＥＣＵ７０は、ステップ９３０に進み、渋滞制御禁止距離Ｄｐｈ２の値を「０」に設定してステップ９３５に進み、残距離Ｄｅｎｄを算出する。
【０１６４】
次いで、ＰＭＥＣＵ７０はステップ９４０に進む。このとき、強制放電フラグＸＦＤＣＨの値は「０」である。従って、ＰＭＥＣＵ７０はステップ９４０にて「Ｎｏ」と判定してステップ９７０に進む。現時点において、残距離Ｄｅｎｄは「０」より大きい。従って、ＰＭＥＣＵ７０はステップ９７０にて「Ｎｏ」と判定してステップ９９５に直接進んで本ルーチンを一旦終了する。
【０１６５】
車両１０が予期せぬ下り坂を走行中であって、例えば、図４の地点Ｄ５に到達したとき、ＰＭＥＣＵ７０が再びステップ９００から処理を開始すると、ステップ９０５にて「Ｎｏ」と判定してステップ９３５に直接進み、残距離Ｄｅｎｄを算出してステップ９４０に進む。図４に示したように、地点Ｄ５にて強制放電フラグＸＦＤＣＨの値は「０」から「１」に変更される。従って、ＰＭＥＣＵ７０はステップ９４０にて「Ｙｅｓ」と判定してステップ９４５に進み、渋滞制御禁止距離Ｄｐｈ２を残距離Ｄｅｎｄに設定して、ステップ９５０に進む。
【０１６６】
現時点において渋滞制御は実行されている。従って、ＰＭＥＣＵ７０はステップ９５０にて「Ｙｅｓ」と判定してステップ９５５に進み、渋滞制御を終了してステップ９６０に進む。現時点において渋滞制御禁止距離Ｄｐｈ２は正の値である。従って、ＰＭＥＣＵ７０はステップ９６０にて「Ｎｏ」と判定してステップ９７５に進み、渋滞制御を禁止してステップ９８０に進む。ＰＭＥＣＵ７０はステップ９８０にて渋滞制御禁止距離Ｄｐｈ２（この場合、残距離Ｄｅｎｄ）をＲＡＭに記憶して、ステップ９９５に進んで本ルーチンを一旦終了する。
【０１６７】
渋滞制御が禁止された状態にて車両１０がプレチャージ制御区間（例えば、図４の地点Ｄ６）を走行しているときにＰＭＥＣＵ７０がステップ９００から処理を開始すると、ステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進む。次いで、ＰＭＥＣＵ７０はステップ９１０にて「Ｎｏ」と判定してステップ９３５に直接進み、残距離Ｄｅｎｄを算出してステップ９４０に進む。このとき、強制放電フラグＸＦＤＣＨの値は「０」である。従って、ＰＭＥＣＵ７０はステップ９４０にて「Ｙｅｓ」と判定してステップ９４５に進み、渋滞制御禁止距離Ｄｐｈ２を残距離Ｄｅｎｄに設定してステップ９５０に進む。
【０１６８】
このとき、渋滞制御は実行されておらず、渋滞制御禁止距離Ｄｐｈ２は正の値である。従って、ＰＭＥＣＵ７０はステップ９５０にて「Ｎｏ」と判定してステップ９６０に直接進むと、ステップ９６０にて「Ｎｏ」と判定してステップ９７５に進み、渋滞制御禁止の状態を維持する。次いで、ＰＭＥＣＵ７０はステップ９８０に進んでＲＡＭに記憶された渋滞制御禁止距離Ｄｐｈ２の値を更新し、ステップ９９５に進んで本ルーチンを一旦終了する。この後、車両１０が対象渋滞区間（図４の地点Ｄｋ乃至地点Ｄｅ）を走行する間も同様に、渋滞制御禁止の状態が維持される。
【０１６９】
渋滞制御が禁止された状態にて車両１０が渋滞制御の終了地点Ｄｅを超えたとき、ＰＭＥＣＵ７０が再びステップ９００から処理を開始すると、ステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、ステップ９１０にて「Ｎｏ」と判定してステップ９３５に直接進み、残距離Ｄｅｎｄを算出する。次いで、ＰＭＥＣＵ７０はステップ９４０に進み、「Ｙｅｓ」と判定してステップ９４５に進み、渋滞制御禁止距離Ｄｐｈ２をこのときの残距離Ｄｅｎｄ（この場合において「０」）に設定してステップ９５０に進む。現時点において渋滞制御は実行されていない。従って、ＰＭＥＣＵ７０はステップ９５０にて「Ｎｏ」と判定してステップ９６０に直接進む。
【０１７０】
このとき、渋滞制御禁止距離Ｄｐｈ２の値は「０」である。従って、ＰＭＥＣＵ７０はステップ９６０にて「Ｙｅｓ」と判定してステップ９６５に進み、渋滞制御を許可してステップ９９５に進み、本ルーチンを一旦終了する。これによって、次回のルーチン以降、渋滞制御実行条件が成立したときには渋滞制御が実行される。
【０１７１】
＜車両走行制御＞
ＰＭＥＣＵ７０（実際にはそのＣＰＵ）は、十分に短い一定時間（例えば、８ｍｓ）が経過する毎に図１０にフローチャートにより示した車両走行制御ルーチンを実行するようになっている。従って、ＰＭＥＣＵ７０は所定のタイミングにてステップ１０００から処理を開始してステップ１００５に進み、ユーザ要求トルクＴｕをアクセル操作量ＡＰ及び車速ＳＰＤに基づいて取得するとともに、ユーザ要求トルクＴｕに車速ＳＰＤを乗じることにより車両要求出力Ｐｖ＊（ユーザ要求出力Ｐｕ＊）を取得する。
【０１７２】
次に、ＰＭＥＣＵ７０はステップ１０１０に進み、下り坂制御が行われているか否かを判定する。図８に示した下り坂制御ルーチンによって下り坂制御が行われていないときは、ＰＭＥＣＵ７０はステップ１０１０にて「Ｎｏ」と判定してステップ１０２５に進み、渋滞制御が行われているか否かを判定する。図９に示した渋滞制御ルーチンによって渋滞制御が行われていないときは、ＰＭＥＣＵ７０はステップ１０２５にて「Ｎｏ」と判定してステップ１０３５に進み、後述するバッテリ充電要求出力Ｐｂ＊と、残容量ＳＯＣと標準残容量ＳＯＣcntr-nとの差、との関係を規定するルックアップテーブルＭａｐＰｂ＊（ＳＯＣ−ＳＯＣcntr-n）をバッテリ充電要求出力Ｐｂ＊を決定するためのルックアップテーブルＭａｐＰｂ＊（ΔＳＯＣ）として設定する。ΔＳＯＣは、残容量ＳＯＣと目標残容量ＳＯＣcntrとの差（ＳＯＣ−ＳＯＣcntr）を表している。
【０１７３】
図１１に示したように、このテーブルによれば、残容量ＳＯＣと目標残容量ＳＯＣcntrとの差ΔＳＯＣが正の値であるとき、充電要求出力Ｐｂ＊は負の値となり、差ΔＳＯＣの絶対値が大きいほど充電要求出力Ｐｂ＊の絶対値が大きくなるように決定される。一方、差ΔＳＯＣが負の値であるとき、充電要求出力Ｐｂ＊は正の値となり、差ΔＳＯＣの絶対値が大きいほど充電要求出力Ｐｂ＊の絶対値が大きくなるように決定される。
【０１７４】
一方、下り坂制御が行われているときは、ＰＭＥＣＵ７０はステップ１０１０にて「Ｙｅｓ」と判定してステップ１０１５に進み、ルックアップテーブルＭａｐＰｂ＊（ＳＯＣ−ＳＯＣcntr-d）をバッテリ充電要求出力Ｐｂ＊を決定するためのルックアップテーブルとＭａｐＰｂ＊（ΔＳＯＣ）として設定する。
【０１７５】
或いは、渋滞制御が行われているときは、ＰＭＥＣＵ７０はステップ１０１０にて「Ｎｏ」と、ステップ１０２５にて「Ｙｅｓ」と判定してステップ１０３０に進み、ルックアップテーブルＭａｐＰｂ＊（ＳＯＣ−ＳＯＣcntr-j）をバッテリ充電要求出力Ｐｂ＊を決定するためのルックアップテーブルＭａｐＰｂ＊（ΔＳＯＣ）として設定する。
【０１７６】
次に、図１２に上記３つのルックアップテーブルの関係を示す。図１２の横軸は残容量ＳＯＣであり、縦軸はバッテリ充電要求出力Ｐｂ＊である。実線Ｎが通常時に参照するテーブルＭａｐＰｂ＊（ＳＯＣ−ＳＯＣcntr-n）に対応し、破線Ｄが下り坂制御中に参照するテーブルＭａｐＰｂ＊（ＳＯＣ−ＳＯＣcntr-d）に対応し、一点鎖線Ｊが渋滞制御中に参照するテーブルＭａｐＰｂ＊（ＳＯＣ−ＳＯＣcntr-j）に対応している。横軸上の点ＳＯ、点Ｓ１及び点Ｓ２はそれぞれ標準残容量ＳＯＣcntr-n、第１残容量（低残容量）ＳＯＣcntr-d及び第２残容量（高残容量）ＳＯＣcntr-jを表している。前述したように、第１残容量ＳＯＣcntr-kは標準残容量ＳＯＣcntr-nよりも小さく、第２残容量ＳＯＣcntr-jは標準残容量ＳＯＣcntr-nよりも大きい。よって、横軸上の点Ｓ０、点Ｓ１及び点Ｓ２は、左から点Ｓ１、点Ｓ０、点Ｓ２の順に並ぶ。
【０１７７】
例えば、残容量ＳＯＣが点ＳＯ、点Ｓ１及び点Ｓ２よりも大きい点Ｓａであったとき、下り坂制御中のバッテリ充電要求出力Ｐｂ＊_dは、通常時のバッテリ充電要求出力Ｐｂ＊_nよりも小さい。従って、機関要求出力Ｐｅ＊は、通常時に比べ下り坂制御中に小さくなる。これに対し、渋滞制御中のバッテリ充電要求出力Ｐｂ＊_jは、通常時のバッテリ充電要求出力Ｐｂ＊_nよりも大きい。従って、機関要求出力Ｐｅ＊は、通常時に比べ渋滞制御中に大きくなる。
【０１７８】
次いで、ＰＭＥＣＵ７０はステップ１０２０に進み、残容量ＳＯＣと、ステップ１０１５、ステップ１０３０及びステップ１０３５の何れかにおいて設定したルックアップテーブルＭａｐＰｂ＊（ΔＳＯＣ）とに基づいてバッテリ充電要求出力Ｐｂ＊を決定する。
【０１７９】
次いで、ＰＭＥＣＵ７０はステップ１０４０に進み、強制充電フラグＸＦＣＨＲの値が「０」であるか否かを判定する。強制充電フラグＸＦＣＨＲの値が「０」である場合、ＰＭＥＣＵ７０はステップ１０４０にて「Ｙｅｓ」と判定して、ステップ１０４５に進み、強制放電フラグＸＦＤＣＨの値が「０」であるか否かを判定する。強制放電フラグＸＦＤＣＨの値が「０」である場合、ＰＭＥＣＵ７０はステップ１０４５にて「Ｙｅｓ」と判定してステップ１０６０に直接進む。
【０１８０】
これに対し、強制放電フラグＸＦＤＣＨの値が「１」である場合、ＰＭＥＣＵ７０はステップ１０４５にて「Ｎｏ」と判定してステップ１０５０に進み、充電要求出力Ｐｂ＊を非常に小さい値ＰｂSmall（後述する機関始動閾値Ｐｅｔｈよりも小さい値） に設定し、その後、ステップ１０６０に進む。
【０１８１】
更に、強制充電フラグＸＦＣＨＲの値が「１」である場合、ＰＭＥＣＵ７０はステップ１０４０にて「Ｎｏ」と判定してステップ１０５５に進み、充電要求出力Ｐｂ＊を非常に大きい値ＰｂLarge（後述する機関始動閾値Ｐｅｔｈよりも大きい値） に設定し、その後、ステップ１０６０に進む。
【０１８２】
ＰＭＥＣＵ７０はステップ１０６０にて、車両要求出力Ｐｖ＊と充電要求出力Ｐｂ＊と損失（一定値）Ｐlossとの和を機関要求出力Ｐｅ＊として算出する。
【０１８３】
次いで、ＰＭＥＣＵ７０はステップ１０６５に進み、機関要求出力Ｐｅ＊が機関始動閾値Ｐｅｔｈよりも大きいか否かを判定する。機関始動閾値Ｐｅｔｈは内燃機関２０が所定の運転効率よりも高い運転効率にて運転され得る値に設定されている。
【０１８４】
機関要求出力Ｐｅ＊が機関始動閾値Ｐｅｔｈよりも大きい場合、ＰＭＥＣＵ７０はステップ１０６５にて「Ｙｅｓ」と判定してステップ１０７０に進み、機関停止中（内燃機関２０の運転が停止中）であるか否かを判定する。機関停止中であると、ＰＭＥＣＵ７０はステップ１０７０にて「Ｙｅｓ」と判定してステップ１０７５に進んで内燃機関２０を始動させ、ステップ１０８０に進む。これに対し、機関停止中でなければ、ＰＭＥＣＵ７０はステップ１０７０にて「Ｎｏ」と判定してステップ１０８０に直接進む。そして、ＰＭＥＣＵ７０は、ステップ１０８０において、内燃機関２０及び第２発電電動機ＭＧ２（実際には、更に第１発電電動機ＭＧ１）を周知の手法に従って制御し、内燃機関２０及び第２発電電動機ＭＧ２の両方からの出力を用いて車両１０を走行させる。即ち、車両１０はハイブリッド走行を行う。
【０１８５】
一方、機関要求出力Ｐｅ＊が機関始動閾値Ｐｅｔｈ以下である場合、ＰＭＥＣＵ７０はステップ１０６５にて「Ｎｏ」と判定してステップ１０８５に進み、機関運転中（内燃機関２０が運転中）であるか否かを判定する。機関運転中であると、ＰＭＥＣＵ７０はステップ１０８５にて「Ｙｅｓ」と判定してステップ１０９０に進んで内燃機関２０の運転を停止させ、ステップ１０９２に進む。これに対し、機関運転中でなければ、ＰＭＥＣＵ７０はステップ１０８５にて「Ｎｏ」と判定してステップ１０９２に直接進む。そして、ＰＭＥＣＵ７０は、ステップ１０９２において、第２発電電動機ＭＧ２を周知の手法に従って制御し、第２発電電動機ＭＧ２の出力のみを用いて車両１０を走行させる。即ち、車両１０は電動機走行（電気走行）を行う。
【０１８６】
なお、係る駆動力制御は周知であり、例えば、特開２００９−１２６４５０号公報（米国公開特許番号  ＵＳ２０１０／０２４１２９７）、特開平９−３０８０１２号公報（米国出願日１９９７年３月１０日の米国特許第６，１３１，６８０号）、特開２０１３−１５４７２０号公報、特開２０１３−１５４７１８号公報及び特開２０１３−１５４７１５号公報等に詳細に記載されている。
【０１８７】
＜回生制動制御＞
更に、ＰＭＥＣＵ７０は、図示しないルーチンを実行することにより、アクセル操作量ＡＰが「０」であるとき、ブレーキ操作量ＢＰに基づいて、車両１０に要求される要求制動力を決定する。そして、ＰＭＥＣＵ７０は、その要求制動力を要求回生制動力と要求摩擦制動力とに分配し、要求回生制動力が回生制動により発生するように第２発電電動機ＭＧ２を制御するとともに、要求摩擦制動力が図示しない摩擦ブレーキ装置により発生するように図示しない油圧ブレーキアクチュエータを制御する。なお、ＰＭＥＣＵ７０は、残容量ＳＯＣが上限残容量ＳＯＣuplmt を超えたとき（強制放電開始条件成立時）には、要求回生制動力を「０」に設定して、摩擦制動力のみによる制動を行い、蓄電池６４に回生エネルギーが蓄えられないようにする。
【０１８８】
以上、説明したように、本制御装置は、制御区間（下り坂制御区間又は渋滞制御区間）を車両１０が走行するとき、車両１０が制御開始地点Ｄｓから少なくとも対象区間（対象下り坂区間又は対象渋滞区間）の開始地点（Ｄｋ又はＤｊ）に到達するまでの間（本実施形態においては、車両１０が制御区間終了地点Ｄｅに到達するまでの間）、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから標準残容量ＳＯＣcntr-nとは相違し且つ許容範囲（管理幅ＭＧＲ）内の特定残容量（第１残容量ＳＯＣcntr-d又は第２残容量ＳＯＣcntr-j）へ変更する事前充放電制御（下り坂制御又は渋滞制御）を実行する。更に、本制御装置は、事前充放電制御を実行しているときに復帰制御（強制充電又は強制放電）が実行された場合、復帰制御の開始時点Ｄ５から車両１０が制御区間を通過する時点Ｄ９（即ち、制御区間終了地点Ｄｅ）まで事前充放電制御を禁止するように構成される。
【０１８９】
従って、本制御装置によれば、下り坂制御時に強制充電が繰り返し行われることがなく、或いは、渋滞制御時に強制放電が繰り返し行われることがない。従って、無駄に燃料が使用される機会が減るので、燃費性能の向上が可能となる。なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。以下、そのような変形例を列挙する。
【０１９０】
（１）強制充電は、車両１０が渋滞路を走行しているときのみならず、上り坂を走行しているときにも発生し得る。そこで、本制御装置は、車両１０の走行予定経路中に上り坂区間（以下、「対象上り坂区間」とも称呼される。）があるか否かを車両１０の位置情報及び道路情報等のデータに基づいて予測してもよい。そして、本制御装置は、走行予定経路中に対象上り坂区間を抽出したとき、車両１０が対象上り坂区間を通過し終えるまでに蓄電池６４の残容量ＳＯＣが下限残容量ＳＯＣlolmt に達しないように、予め残容量ＳＯＣを大きくしておいてもよい。
【０１９１】
この場合、ＮＶＥＣＵ７４は車両１０が「抽出された対象上り坂区間」の開始地点より所定の第３距離だけ前の地点から蓄電池６４の残容量ＳＯＣを標準残容量ＳＯＣcntr-nから増加させ、対象上り坂区間の開始地点において標準残容量ＳＯＣcntr-nより大きい残容量（第３残容量ＳＯＣcntr-u）となるように残容量ＳＯＣを制御する。第３残容量ＳＯＣcntr-uは、通常時の目標残容量ＳＯＣcntr-n（満充電時の６０％）よりも大きく上限残容量ＳＯＣuplmt（満充電時の８０％） よりも小さい値であり、例えば、第２残容量ＳＯＣcntr-jと同一の値（満充電時の７０％）に設定される。以下、この制御は「上り坂制御」と称呼される。即ち、上り坂制御は渋滞制御と同様にプレチャージ制御である。この上り坂制御の作動は、前述した渋滞制御と同様に説明される。
【０１９２】
つまり、ＮＶＥＣＵ７４は、所定時間（本例においては、ＶＩＣＳ情報が更新される時間間隔である５分）が経過する毎に「下り坂探索」及び「渋滞探索」とともに「上り坂探索」を行う。いま、上り坂探索を行うタイミングにおいて車両１０が図４の地点Ｄ１に到達していると仮定する。この時点において車両１０は通常走行中であるので、ＮＶＥＣＵ７４は上り坂制御を実行していない。以下、リンク＃２〜リンク＃３に対応する２つの区間が、上り坂制御が実行される対象上り坂区間に該当するとして説明を続ける。
【０１９３】
ＮＶＥＣＵ７４は、この「上り坂探索」において、走行経路中の「上り坂制御」の対象となる対象上り坂区間を抽出（特定）する。具体的には、ＮＶＥＣＵ７４は、ＮＶＤＢ８６の情報に基づいて、走行予定経路に対応するリンク群のうちの単数又は複数の連続したリンク（以下、「第３リンク群」と称呼する。）であり、以下のすべての条件を満たす第３リンク群に対応する区間を「対象上り坂区間」として特定する。これらの条件は「対象上り坂区間特定条件」又は「第３所定条件」とも称呼される。）但し、以下の条件は一例に過ぎず、これに限定されない。
【０１９４】
（対象上り坂区間特定条件）
（ａ）第３リンク群の各リンクに対応する区間が車両１０の現在位置から一定距離（例えば、半径１０ｋｍ）以内である。
（ｂ）第３リンク群の各リンクに対応する区間が何れも所定閾値勾配より大きい上り勾配を有する。
（ｃ）第３リンク群の開始地点の標高Ｈｓが第３リンク群の終了地点の標高Ｈｅよりも低く（Ｈｓ＜Ｈｅ）、且つ、その差の絶対値（標高差ΔＨａ＝｜Ｈｓ−Ｈｅ｜）が所定標高差（SOC_STL_H）以上である。
（ｄ）第３リンク群に対応する区間の合計距離ΔＤｃが所定距離（SOC_STL_D）以上である。
【０１９５】
本制御装置は、上り坂制御中に残容量ＳＯＣが一旦、上限残容量ＳＯＣuplmt を上回ると、強制放電フラグＸＦＤＣＨの値を「０」から「１」に変更して強制放電を実行する。そして、本制御装置は強制放電を実行した地点から上り坂制御区間の終了地点まで、上り坂制御を禁止する。換言すると、本制御装置は、上り坂制御区間において一旦強制放電が発生すると、目標ＳＯＣを第３残容量ＳＯＣcntr-uから標準残容量ＳＯＣcntr-nに変更し、その値を上り坂制御区間の終了地点まで標準残容量ＳＯＣcntr-nに維持する。
【０１９６】
このように、「上り坂制御」は、「下り坂制御」及び「渋滞制御」と同様に制御区間を車両１０が走行するとき、車両１０が制御開始地点から少なくとも対象区間の開始地点に到達するまでの間、目標残容量ＳＯＣcntrを標準残容量ＳＯＣcntr-nから標準残容量ＳＯＣcntr-nとは相違し且つ許容範囲（管理幅ＭＧＲ）内の特定残容量へ変更する制御である。従って、「上り坂制御」も「事前充放電制御」と称呼される。
【０１９７】
更に、上り坂制御の実際の作動は、図９に示した渋滞制御ルーチンを用いて説明することができる。この場合、図中の「渋滞制御」は「上り坂制御」と読み替えられる。以上のように、車両１０が対象上り坂区間を走行すると、蓄電池６４の電力が消費され残容量ＳＯＣが低下するが、車両１０が対象上り坂区間の終了地点に到達しても残容量ＳＯＣは下限残容量ＳＯＣlolmt に達しない。これにより、本制御装置は強制充電の実行を回避でき、燃費の悪化を防止することができる。
【０１９８】
（２）上記実施形態において、ＰＭＥＣＵ７０は下り坂制御中に残容量ＳＯＣが下限残容量ＳＯＣlolmt を下回ったときに「下り坂制御再開禁止制御」を実行するとともに、渋滞制御中に残容量ＳＯＣが上限残容量ＳＯＣuplmt を上回ったときに「渋滞制御再開禁止制御」を実行する。このような態様に限らず、ＰＭＥＣＵ７０は、下り坂制御及び渋滞制御の何れか一方のみを実行してもよい。その場合、下り坂制御のみを実行するときは「下り坂制御再開禁止制御」のみを実行してもよく、渋滞制御のみを実行するときは「渋滞制御再開禁止制御」のみを実行してもよい。
【０１９９】
（３）ＰＭＥＣＵ７０は、下り坂制御を車両１０が制御開始地点Ｄｓを通過してから対象下り坂区間の開始地点Ｄｋに到達するまでの間、即ち、プレユース区間にのみ実行してもよい。同様に、ＰＭＥＣＵ７０は、渋滞制御を車両１０が制御開始地点Ｄｓを通過してから対象渋滞区間の開始地点Ｄｊに到達するまでの間、即ち、プレチャージ区間にのみ実行してもよい。
【０２００】
（４）ＮＶＥＣＵ７４は、図３及び図４を参照して説明した「下り坂探索」及び「渋滞探索」を、車両１０が所定距離を走行する毎に実行してもよい。
【０２０１】
（５）ＮＶＥＣＵ７０が、図８及び／又は図９に示したルーチンの一部又は全部を実行してもよい。その場合には、ＰＭＥＣＵ７０はＮＶＥＣＵ７４から必要な情報を取得すればよい。
【符号の説明】
【０２０２】
１０…ハイブリッド車両、２０…内燃機関、３０…動力分配機構、５０…駆動力伝達機構、６４…蓄電池、７０…パワーマネジメントＥＣＵ、７１…バッテリＥＣＵ、７２…モータＥＣＵ、７３…エンジンＥＣＵ、７４…ナビゲーションＥＣＵ、ＭＧ１…第１発電電動機、ＭＧ２…第２発電電動機。
【図１】
0006344429.tif 000002
【図２】
0006344429.tif 000003
【図３】
0006344429.tif 000004
【図４】
0006344429.tif 000005
【図５】
0006344429.tif 000006
【図６】
0006344429.tif 000007
【図７】
0006344429.tif 000008
【図８】
0006344429.tif 000009
【図９】
0006344429.tif 000010
【図１０】
0006344429.tif 000011
【図１１】
0006344429.tif 000012
【図１２】
0006344429.tif 000013