(57)【要約】【課題】  車両の駆動源としての内燃機関及び電動機、並びに、蓄電池を搭載し、電動機の回生制動により発生した電力を蓄電池に充電可能であり且つ内燃機関の出力を用いて発電した電力を蓄電池に充電可能に構成されたハイブリッド車両に適用され、走行予定経路に下り坂区間があるときは目標残容量を低下させる下り坂制御を実行するハイブリッド車両の制御装置において、走行予定経路に含まれる下り坂制御の対象となる下り坂区間（対象下り坂）を適切に抽出する必要がある。【解決手段】  対象下り坂区間であると判定するための条件として、下り坂区間の開始地点と終了地点との間の距離及び標高差に関する条件に加えて、下り坂区間の途中に含まれる平坦区間の距離の上限値を定めた条件を考慮する。【選択図】図３
2017024571.tif 000002
【特許請求の範囲】
【請求項１】
車両の駆動源としての内燃機関及び同駆動源としての電動機、並びに、前記電動機に電力を供給する蓄電池を搭載し、前記電動機を用いて回生制動を行うとともに同回生制動により発生した電力を前記蓄電池に充電可能であり且つ前記内燃機関の出力を用いて発電した電力を前記蓄電池に充電可能に構成されたハイブリッド車両に適用され、
前記車両に要求される要求駆動力を満たすように且つ前記蓄電池の残容量が所定の目標残容量に近づくように前記内燃機関及び電動機を制御する制御部を備えるハイブリッド車両の制御装置であって、
前記制御部は、
前記車両の走行予定経路を表す複数のリンクに関する情報を取得し、前記取得した情報に基づいて同走行予定経路に所定条件を満たす下り坂区間である対象下り坂区間が含まれるか否かを判定する下り坂判定手段と、
前記下り坂判定手段が前記走行予定経路に前記対象下り坂区間が含まれると判定した場合、前記対象下り坂区間の開始地点よりも所定の第１距離だけ手前にある下り坂制御開始地点から同対象下り坂区間の終了地点までの区間のうちの少なくとも同下り坂制御開始地点から同対象下り坂区間の開始地点までの区間を含む第１区間を前記車両が走行するとき前記目標残容量を同車両が同第１区間以外を走行する場合に比べて小さい残容量に変更する下り坂制御を実行する下り坂制御手段と、
を含み、
前記下り坂判定手段は、
前記取得した複数のリンクに含まれる連続したリンクであるリンク群が、
前記リンク群のうちの前記車両に最も近い側のリンクである開始リンクに対応する区間が所定の勾配閾値により示される勾配よりも急な下り坂であり、
前記開始地点の標高よりも前記終了地点の標高が低く、
前記開始地点と前記終了地点との標高差の絶対値が所定の標高差閾値より大きく、且つ、
前記開始地点と前記終了地点との間に、単数のリンク又は連続する複数のリンクに対応する、前記勾配閾値により示される勾配よりも急でなく且つ所定の第２距離よりも長い区間、を含まない、
という条件を満たすとき、前記リンク群により示される区間が前記所定条件を満たす対象下り坂区間であると判定するように構成された、
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の駆動源として内燃機関及び電動機の両方を備えるハイブリッド車両の制御装置に関する。
【背景技術】
【０００２】
車両の駆動源として内燃機関（以下、単に「機関」とも称呼される。）及び電動機の両方を備えるハイブリッド車両（以下、単に「車両」とも称呼される。）が知られている。車両は蓄電池を備え、蓄電池は電動機に電力を供給する一方、機関の出力によって充電される。
【０００３】
加えて、車軸の回転が電動機に伝達されるとき、電動機が発電し（即ち、発電機が電力を発生させ）、その電力によっても蓄電池が充電される。即ち、車両の運動エネルギーが電気エネルギーに変換され、その電気エネルギーが蓄電池に回収される。このエネルギーの変換は「回生」とも称呼され、回生が行われる場合、電動機が発生させる車両の制動力（即ち、車速を減速させるトルク）は「回生制動力」とも称呼される。
【０００４】
車両の加速中及び定速走行中に機関又は電動機が消費したエネルギーの一部を減速時の回生により回収して蓄電池に蓄えることによって車両の燃費（燃料消費率）を向上させることができる。車両の走行中、蓄電池の残容量ＳＯＣ（State of Charge、以下、単に「ＳＯＣ」とも称呼される。）は、変動する。
【０００５】
残容量ＳＯＣが高い状態及び低い状態のいずれかの状態にあるとき残容量ＳＯＣの上昇及び減少が繰り返されると、蓄電池の劣化が促進される。そのため、車両の走行中、車両の制御装置は、残容量ＳＯＣを所定の残容量上限値と残容量下限値と間に維持する。
【０００６】
ところで、車両が下り坂区間を走行するとき、機関及び電動機がトルクを発生させなくても車両が加速し続けるので、車両の運転者はアクセルペダルから足を離し、更に、場合によりブレーキペダルを踏むことによって車両に対して制動力を要求する。このとき、車両は回生制動力によって車速の上昇を抑えると共に残容量ＳＯＣを増加させる。
【０００７】
残容量ＳＯＣが増加すると、即ち、蓄電池に充電されている電力量が増加すると、機関が運転を停止したまま電動機の出力のみによって走行できる距離が長くなる。従って、車両が下り坂区間を走行するときに残容量ＳＯＣを残容量上限値未満の範囲においてできるだけ大きくできれば、車両の燃費をより向上させることができる。
【０００８】
しかし、下り坂区間が長ければ、残容量ＳＯＣが残容量上限値に達するので、それ以上残容量ＳＯＣを増加させることができなくなる。従って、下り坂区間を走行することによって得られる燃費向上の効果は、下り坂区間の開始地点における残容量ＳＯＣと残容量上限値との差分が大きいほど大きくなる。
【０００９】
そこで、従来の駆動制御装置の一つ（以下、「従来装置」とも称呼される。）は、走行経路上に所定の標高差を有する下り坂区間が存在するとき、上記残容量上限値を上昇させ且つ上記残容量下限値を低下させていた。加えて、従来装置は、下り坂区間に進入するまでに残容量ＳＯＣが「低下した残容量下限値」にできるだけ近づくように、電動機による走行を機関による走行よりも優先していた（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−１６０２６９号公報
【発明の概要】
【００１１】
ところで、下り坂区間の走行中に残容量ＳＯＣを上昇させる制御（下り坂制御）を実行し、以て、車両の燃費を確実に向上させるには、走行予定経路に含まれる下り坂制御の対象となる下り坂区間（対象下り坂区間）を適切に抽出する必要がある。この点、従来装置は、上記所定の標高差のみに着目して対象下り坂区間を抽出していた。換言すれば、従来装置は対象下り坂区間を抽出するに際して、下り坂区間の長さ（下り坂の開始地点から終了地点までの距離）及び下り坂区間の一部に平坦路が含まれるか否かについては考慮していなかった。
【００１２】
そのため、従来装置は、下り坂制御を実行すれば所定量の残容量ＳＯＣを上昇させることができた下り坂区間を対象下り坂区間として抽出しない虞がある。或いは、従来装置は、所定量の残容量ＳＯＣを上昇させることができない下り坂であるにも拘わらず、その下り坂に対して下り坂制御を実行する虞がある。
【００１３】
そこで、本発明の目的の一つは、車両の走行予定経路に含まれる対象下り坂区間を適切に抽出することができるハイブリッド車両の制御装置を提供することである。
【００１４】
上記目的を達成するための本発明に係るハイブリッド車両の制御装置（以下、「本発明装置」とも称呼される。）は、
車両の駆動源としての内燃機関及び同駆動源としての電動機、並びに、前記電動機に電力を供給する蓄電池を搭載し、前記電動機を用いて回生制動を行うとともに同回生制動により発生した電力を前記蓄電池に充電可能であり且つ前記内燃機関の出力を用いて発電した電力を前記蓄電池に充電可能に構成されたハイブリッド車両に適用される。
【００１５】
加えて、本発明装置は、
前記車両に要求される要求駆動力を満たすように且つ前記蓄電池の残容量が所定の目標残容量に近づくように前記内燃機関及び電動機を制御する制御部を備える。前記制御部は、下り坂判定手段及び下り坂制御手段を備える。
【００１６】
前記下り坂判定手段は、
前記車両の走行予定経路を表す複数のリンクに関する情報を取得し、前記取得した情報に基づいて同走行予定経路に所定条件を満たす下り坂区間である対象下り坂区間が含まれるか否かを判定する。
【００１７】
前記下り坂制御手段は、
前記下り坂判定手段が前記走行予定経路に前記対象下り坂区間が含まれると判定した場合、「前記対象下り坂区間の開始地点よりも所定の第１距離だけ手前にある下り坂制御開始地点から同対象下り坂区間の終了地点までの区間」のうちの少なくとも「同下り坂制御開始地点から同対象下り坂区間の開始地点まで区間」を含む第１区間を前記車両が走行するとき前記目標残容量を同車両が同第１区間以外を走行する場合に比べて小さい残容量に変更する下り坂制御を実行する。
【００１８】
更に、前記下り坂判定手段は、
前記取得した複数のリンクに含まれる連続したリンクであるリンク群が、
（ａ）前記リンク群のうちの前記車両に最も近い側のリンクである開始リンクに対応する区間が所定の勾配閾値により示される勾配よりも急な下り坂であり、
（ｂ）前記開始地点の標高よりも前記終了地点の標高が低く、
（ｃ）前記開始地点と前記終了地点との標高差の絶対値が所定の標高差閾値より大きく、
（ｄ）前記開始地点と前記終了地点との間に、単数のリンク又は連続する複数のリンクに対応する、前記勾配閾値により示される勾配よりも急でなく且つ所定の第２距離よりも長い区間、を含まない、
という条件を満たすとき、前記リンク群により示される区間が前記所定条件を満たす対象下り坂区間であると判定する。
【００１９】
下り坂区間の開始地点と終了地点との標高差が大きくても、途中に長く平坦な区間が含まれていると、平坦区間の走行時は重力によって生じる加速度が小さいので回生制動によって残容量ＳＯＣを上昇させられないばかりか、逆に電動機を駆動する必要が生じるので残容量ＳＯＣを上昇させることができない可能性が高い。そのため、本発明装置は上記（ｄ）を条件とし、下り坂区間の途中に第２距離を超える平坦な区間があると、その下り坂区間は対象下り坂区間であると判定されない。
【００２０】
従って、本発明装置によれば、下り坂制御によって残容量ＳＯＣを増加させることが可能で、以て、車両の燃費を向上させることができる対象下り坂区間を適切に抽出することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る蓄電池の制御装置（本制御装置）が適用される車両（本車両）の概略図である。
【図２】第１電動機、第２電動機、機関及びリングギアの間の回転速度の関係を表した共線図である。
【図３】本車両が対象下り坂区間を走行するときの残容量の変化を表したグラフである。
【図４】対象下り坂区間の条件を満たす下り坂区間、及び、対象下り坂区間の条件を満たさない下り坂区間の例を表した図である。
【図５】本制御装置が実行する駆動力制御処理を表したフローチャートである。
【図６】車速及びアクセル操作量とリングギア要求トルクとの関係を表したグラフである。
【図７】残容量差分と充電要求出力との関係を表したグラフである。
【図８】本制御装置が実行する制御区間設定処理を表したフローチャートである。
【図９】本制御装置が実行する対象下り坂探索処理を表したフローチャートである。
【図１０】本制御装置が実行する下り坂制御実行処理を表したフローチャートである。
【発明を実施するための形態】
【００２２】
（構成）
以下、図面を参照しながら本発明の実施形態に係るハイブリッド車両の制御装置（以下、「本制御装置」とも称呼される。）について説明する。図１は、本制御装置が適用される車両１０の概略構成を示す略図である。車両１０は、第１電動機２１、第２電動機２２及び機関２３を搭載している。即ち、車両１０はハイブリッド車両である。
【００２３】
車両１０は、更に、動力分割機構２４、蓄電池３１、昇圧コンバータ３２、第１インバータ３３、第２インバータ３４、ＥＣＵ４０及び運行支援装置６０を含む。ＥＣＵ４０及び運行支援装置６０は、本制御装置を構成する。
【００２４】
第１電動機２１及び第２電動機２２はそれぞれ、回転磁界を発生させる三相巻線（コイル）を備えるステータ、及び、その回転磁界との間の磁気力によってトルクを発生させる永久磁石を備えるロータ、を含む。第１電動機２１及び第２電動機２２のそれぞれは、電動機として動作するとともに発電機として動作することも可能である。
【００２５】
第１電動機２１は、主に発電機として用いられる。第１電動機２１は更に、機関２３の始動時には機関２３のクランキングを行う。第２電動機２２は、主に電動機として用いられ、車両１０の車両駆動力（車両を走行させるためのトルク）を発生することができる。機関２３もまた、車両１０の車両駆動力を発生することができる。機関２３は、４気筒の４サイクルガソリンエンジンである。
【００２６】
動力分割機構２４は遊星歯車機構である。動力分割機構２４は、リングギア、複数の動力分割プラネタリーギア、複数のリダクションプラネタリーギア、第１サンギア、第２サンギア、第１ピニオンキャリア及び第２ピニオンキャリアを含んでいる（いずれも不図示）。
【００２７】
動力分割プラネタリーギア及びリダクションプラネタリーギアのそれぞれは、リングギアと噛合する。第１サンギアは、動力分割プラネタリーギアと噛合する。第２サンギアは、リダクションプラネタリーギアと噛合する。第１プラネタリーキャリアは、複数の動力分割プラネタリーギアを自転可能且つサンギアの回りに公転可能な状態で保持する。第２プラネタリーキャリアは、複数のリダクションプラネタリーギアを自転可能な状態で保持する。
【００２８】
リングギアは、リングギアの外周上に配設されたカウンターギアを介して車軸２５とトルク伝達可能に接続されている。第１プラネタリーキャリアには、機関２３の出力軸がトルク伝達可能に連結されている。第１サンギアには、第１電動機２１の出力軸がトルク伝達可能に連結されている。第２サンギアには、第２電動機２２の出力軸がトルク伝達可能に連結されている。
【００２９】
第１電動機２１の回転速度（ＭＧ１回転速度）Ｎｍ１、機関２３の機関回転速度ＮＥ及び動力分割機構２４のリングギア回転速度Ｎｒ、並びに、第２電動機２２の回転速度（ＭＧ２回転速度）Ｎｍ２及びリングギア回転速度Ｎｒの関係は、図２に示した周知の共線図により表される。共線図に表される２つの直線は、動作共線Ｌ１及び動作共線Ｌ２とも称呼される。
【００３０】
動作共線Ｌ１によれば、ＭＧ１回転速度Ｎｍ１と機関回転速度ＮＥ及びリングギア回転速度Ｎｒとの関係は、下式（１）により表すことができる。ここで、ギア比ρ１は、リングギアの歯数に対する第１サンギアの歯数である（即ち、ρ１＝第１サンギアの歯数／リングギアの歯数）。
Ｎｍ１＝Ｎｒ−（Ｎｒ−ＮＥ）×（１＋ρ１）／ρ１    ・・・（１）
【００３１】
一方、動作共線Ｌ２によれば、ＭＧ２回転速度Ｎｍ２とリングギア回転速度Ｎｒとの関係は、下式（２）により表すことができる。ここで、ギア比ρ２は、リングギアの歯数に対する第２サンギアの歯数である（即ち、ρ２＝第２サンギアの歯数／リングギアの歯数）。
Ｎｍ２＝Ｎｒ×（１＋ρ２）／ρ２−Ｎｒ    ・・・（２）
【００３２】
再び図１を参照すると、車軸２５は、ディファレンシャルギア２６を介して駆動輪２７とトルク伝達可能に連結されている。
【００３３】
蓄電池３１は、充放電が可能な二次電池（本例において、リチウムイオンバッテリ）である。蓄電池３１の出力した直流電力は、昇圧コンバータ３２により電圧変換（昇圧）され高圧電力となる。第１インバータ３３は、高圧電力を交流電力に変換して第１電動機２１へ供給する。同様に、第２インバータ３４は、高圧電力を交流電力に変換して第２電動機２２へ供給する。
【００３４】
一方、第１電動機２１が発電機として動作するとき、第１インバータ３３は、発電された交流電力を直流電力に変換し、昇圧コンバータ３２及び／又は第２インバータ３４へ供給する。同様に、第２電動機２２が発電機として動作するとき、第２インバータ３４は、発電された交流電力を直流電力に変換し、昇圧コンバータ及び／又は第１インバータ３３へ供給する。昇圧コンバータ３２は、第１インバータ３３及び／又は第２インバータ３４から供給された直流電力を降圧して蓄電池３１へ供給する。この結果、蓄電池３１が充電される。
【００３５】
ＥＣＵ４０は、ＣＰＵ４１、ＣＰＵ４１が実行するプログラム及びルックアップテーブル（マップ）等を記憶するＲＯＭ４２並びにデータを一時的に記憶するＲＡＭ４３等を含むマイクロコンピュータである。ＥＣＵ４０は、機関２３、昇圧コンバータ３２、第１インバータ３３及び第２インバータ３４を制御する。
【００３６】
ＥＣＵ４０は、クランク角度センサ５１、電流計５２、車速センサ５３、アクセル開度センサ５４及びブレーキ開度センサ５５と接続されている。
【００３７】
クランク角度センサ５１は、機関２３のクランクシャフトの回転位置を測定し、そのクランク角度ＣＡを表す信号を出力する。ＥＣＵ４０は、クランク角度ＣＡに基づいて機関２３の機関回転速度ＮＥを算出する。電流計５２は、蓄電池３１を流れる電流ＩＢを表す信号を出力する。ＥＣＵ４０は、電流ＩＢに基づいて蓄電池に充電された電力量である残容量ＳＯＣを算出する。
【００３８】
車速センサ５３は、車軸２５の回転速度を検出し、車両１０の走行速度（車速）Ｖｓを表す信号を出力する。アクセル開度センサ５４は、アクセルペダル５６の操作量（アクセル操作量）Ａｐを表す信号を出力する。ブレーキ開度センサ５５は、ブレーキペダル５７の操作量（ブレーキ操作量）Ｂｐを表す信号を出力する。
【００３９】
運行支援装置６０は、演算部６１、ＧＰＳ受信部６２、データベース６３及び表示装置６４を含んでいる。
ＧＰＳ受信部６２は、ＧＰＳ(Global Positioning System)衛星（不図示）からの信号（電波）に基づいて車両１０の現在位置Ｐｎを取得し、現在位置Ｐｎを表す信号を演算部６１に対して出力する。
【００４０】
データベース６３は、ハードディスクドライブ（ＨＤＤ）によって構成され、地図データベースを記憶している。地図データベースは、交差点及び行き止まり等の「ノード」、ノードどうしを接続する「リンク」並びにリンク沿いにある建物及び駐車場等の「施設」に関する情報（地図情報）を含んでいる。更に、地図データベースは、各リンクに表される区間（道路）の距離、リンクの一端（開始位置）と他端（終了位置）に表されるノードの位置座標、及び、平均勾配（リンクの両端の間の距離に対するリンクの両端の標高差の比率）を含んでいる。
【００４１】
表示装置６４は、車両１０の車室内に設けられたセンターコンソール（不図示）に配設されている。表示装置６４はディスプレイを備え、車両１０の運転者の操作によって地図データベースに記憶された地図情報を現在位置Ｐｎと共に表示することができる。
【００４２】
表示装置６４のディスプレイはタッチパネルとしても作動する。従って、運転者は表示装置６４のディスプレイに触れることによって運行支援装置６０を操作することができる。更に、表示装置６４は発音装置（不図示）を含んでいる。表示装置６４は演算部６１の指示に従って警告音の再生及びアナウンス等を行うことができる。
【００４３】
演算部６１は、ＣＰＵ６６、ＣＰＵ６６が実行するプログラム及びルックアップテーブル（マップ）等を記憶するＲＯＭ６７並びにデータを一時的に記憶するＲＡＭ６８等を含むマイクロコンピュータである。演算部６１は、ＣＡＮ（Controller Area Network）を介してＥＣＵ４０と相互に情報を交換することができる。演算部６１は「運行支援ＥＣＵ」とも称呼され、ＥＣＵ４０は「車両制御ＥＣＵ」とも称呼される。
【００４４】
演算部６１は、車両１０の運転者が表示装置６４を用いて目的地を入力すると、現在位置Ｐｎから目的地までの経路（走行予定経路）を地図データベースに基づいて探索する。走行予定経路は、ノードの集合によって構成される。演算部６１は、走行予定経路を運転者に対して表示装置６４上の表示及び発音装置から発せられる音声によって案内する。
【００４５】
（ＥＣＵによる発生トルクの制御）
次に、ＥＣＵ４０の作動について説明する。
車両１０の運転者は、駆動輪２７に作用するトルクを車両１０に対して要求するとき、アクセル操作量Ａｐを増加させる。ＥＣＵ４０は、アクセル操作量Ａｐ及び車速Ｖｓに基づいてリングギアに作用するトルク（リングギア発生トルク）Ｔｒの目標値であるリングギア要求トルクＴｒ＊を決定する。リングギア発生トルクＴｒは、駆動輪２７に作用するトルクと比例関係にあるので、リングギア発生トルクＴｒが大きくなるほど駆動輪２７に作用するトルクは大きくなる。
【００４６】
ＥＣＵ４０は、リングギア発生トルクＴｒがリングギア要求トルクＴｒ＊と等しくなり且つ残容量ＳＯＣが目標残容量ＳＯＣ＊と一致するように（近づくように）機関２３、昇圧コンバータ３２、第１インバータ３３及び第２インバータ３４を制御する。
【００４７】
例えば、残容量ＳＯＣが目標残容量ＳＯＣ＊と略一致しているとき、機関２３の運転効率が高い運転領域では、ＥＣＵ４０は、機関２３及び第２電動機２２の両方に出力を発生させ、機関２３が発生させる機関出力Ｐｅの一部によって第１電動機２１が発電する。この場合、第１電動機２１が発電した電力が第２電動機２２に供給される。従って、残容量ＳＯＣが目標残容量ＳＯＣ＊に維持される。
【００４８】
残容量ＳＯＣが目標残容量ＳＯＣ＊よりも低ければ、ＥＣＵ４０は、機関出力Ｐｅを上昇させ、以て、第１電動機２１の発電量を上昇させる。これにより、残容量ＳＯＣが上昇する。
【００４９】
一方、車両１０の発進時及び低負荷走行時等の機関２３の運転効率が低い運転領域では、ＥＣＵ４０は、機関２３の運転を停止させ、第２電動機２２にのみ出力を発生させる。この場合、残容量ＳＯＣが低下する。ただし、残容量ＳＯＣが残容量下限値Ｓｍｉｎよりも低ければ、ＥＣＵ４０は、機関２３を作動させ、第１電動機２１に発電させる「強制充電」を実行する。これにより、残容量ＳＯＣは残容量下限値Ｓｍｉｎよりも大きくなる。
【００５０】
残容量ＳＯＣが残容量上限値Ｓｍａｘよりも高ければ、ＥＣＵ４０は、機関２３の運転効率が高い運転領域であっても高出力及び高トルクが要求される場合を除き機関２３の運転を停止させ、第２電動機２２のみに出力を発生させる。これにより、残容量ＳＯＣは残容量上限値Ｓｍａｘよりも小さくなる。
【００５１】
（ＥＣＵによる制動力の制御）
運転者は、制動力を車両１０に対して要求するとき、アクセル操作量Ａｐ及びブレーキ操作量Ｂｐを共に「０」にする操作又はブレーキ操作量Ｂｐを増加させる操作を行う。ＥＣＵ４０は、制動力が要求されたとき、回生制動力及び摩擦制動力を発生させる。このとき、回生制動力では不足する制動力が摩擦制動力によって補われる。
【００５２】
ＥＣＵ４０は、回生制動力を発生させるとき、第１電動機２１及び／又は第２電動機２２に発電させる。換言すれば、ＥＣＵ４０は、車両１０の運動エネルギーを第１電動機２１及び／又は第２電動機２２を用いて電気エネルギーに変換する。発電された電力は蓄電池３１に充電され、以て、残容量ＳＯＣが上昇する。
【００５３】
ＥＣＵ４０は、摩擦制動力を発生させるとき、ブレーキ装置（不図示）によって駆動輪２７を含む車両１０の車輪のそれぞれに配設されたブレーキディスク（不図示）に摩擦力を加える。換言すれば、ＥＣＵ４０は、車両１０の運動エネルギーをブレーキ装置を用いて熱エネルギーに変換する。
【００５４】
ＥＣＵ４０は、回生制動力と摩擦制動力との和である合計制動力が運転者の要求する制動力と等しくなるように第１電動機２１、第２電動機２２及びブレーキ装置を制御する。
【００５５】
（下り坂制御）
車両１０が下り坂区間を走行するとき、車両１０が制動力を発生させなければ駆動輪２７にトルクを発生させなくても車速Ｖｓが上昇する。車速Ｖｓが運転者が期待した速度よりも高くなると、運転者は制動力を要求する。要求された制動力の一部又は全部は回生制動力によって提供される。そのため、下り坂区間の走行中、第１電動機２１及び／又は第２電動機２２が発電する頻度が上昇し、以て、残容量ＳＯＣが上昇する。換言すれば、ＥＣＵ４０は、車両１０の位置エネルギーを運動エネルギーを介して電気エネルギーに変換する。
【００５６】
残容量ＳＯＣが上昇すると、蓄電池３１を充電するために機関２３を運転する機会及び機関２３の出力のうち蓄電池３１の充電に使用される出力が減少するので、車両１０の燃費が向上する。しかし、下り坂区間の途中で残容量ＳＯＣが残容量上限値Ｓｍａｘに達すると、それ以上残容量ＳＯＣを上昇させることができなくなるので、それ以上、燃費向上の効果を得られなくなる。
【００５７】
車両１０が下り坂区間を走行するときの残容量ＳＯＣの変化を図３を参照しながら説明する。図３において、車両１０の走行予定経路を構成するリンクは、便宜的にリンク１〜リンク８として表されている。現在位置Ｐｎはリンク１上にある。リンク４〜リンク６は対象下り坂区間に相当している。一方、リンク１〜リンク３、リンク７及びリンク８は平坦路に相当している。後述される下り坂制御が実行されていないとき、目標残容量ＳＯＣ＊は標準残容量Ｓｎに設定されている。
【００５８】
曲線Ｌｃ１（破線）は、車両１０が下り坂制御を実行すること無くリンク１からリンク８までを走行したときの残容量ＳＯＣの変化を表している。車両１０がリンク１〜リンク３を走行するとき、残容量ＳＯＣが目標残容量ＳＯＣ＊である標準残容量Ｓｎに近づくように機関２３、第１電動機２１及び第２電動機２２が運転制御されるから、残容量ＳＯＣは標準残容量Ｓｎの近傍にて変動する。車両１０がリンク４に対応する区間に進入すると、回生制動によって残容量ＳＯＣは上昇を開始し、車両１０がリンク６の途中の地点Ｄ５ａに達したとき、残容量ＳＯＣは残容量上限値Ｓｍａｘに達している。
【００５９】
そのため、車両１０が地点Ｄ５ａから地点Ｄ６の間を走行中、下り坂区間を走行しているにも拘わらず回生制動が実行できないので残容量ＳＯＣを増加させることができず（即ち、オーバーフローが発生し）、以て、燃費向上の効果が充分に得られない。加えて、残容量ＳＯＣが残容量上限値Ｓｍａｘ近傍に維持される時間が長くなると、蓄電池３１の劣化が促進される。
【００６０】
そこで、車両１０のＥＣＵ４０は下り坂区間の手前で目標残容量ＳＯＣ＊を所定量（電力量Ｓ１０）だけ低下させる「下り坂制御」を実行する。下り坂制御が実行されるとき、目標残容量ＳＯＣ＊は残容量（低側残容量）Ｓｄに設定される。本例において、標準残容量Ｓｎと低側残容量Ｓｄとの間の差分の大きさは、蓄電池３１の最大充電量（即ち、残容量ＳＯＣが１００％であるときの蓄電量）の１０％に相当する電力量Ｓ１０に等しい（即ち、Ｓｄ＝Ｓｎ−Ｓ１０）。
【００６１】
下り坂制御は、車両１０が下り坂区間の開始地点Ｄ３よりも所定のプレユース距離Ｄｐだけ手前の地点Ｄ１ａに到達したときに開始される。一方、下り坂制御は、車両１０が下り坂区間の終了地点Ｄ６に到達したときに終了し、目標残容量ＳＯＣ＊は低側残容量Ｓｄから標準残容量Ｓｎに変更される。下り坂制御が実行されたときの目標残容量ＳＯＣ＊の変化は、折れ線Ｌｐ１により表される。
【００６２】
下り坂区間の開始地点よりもプレユース距離Ｄｐだけ手前の地点から下り坂区間の開始地点までの「プレユース区間」と、下り坂区間と、を合わせた区間は「下り坂制御区間」とも称呼される。プレユース距離Ｄｐは、予め設定された距離であって、車両１０がその距離を走行したとき残容量ＳＯＣを電力量Ｓ１０だけ徐々に減少させるのに充分な距離である。
【００６３】
下り坂制御が実行されたときの残容量ＳＯＣの変化は、曲線Ｌｃ２（実線）により表される。曲線Ｌｃ２から理解されるように、地点Ｄ１ａにて目標残容量ＳＯＣ＊が低側残容量Ｓｄに設定されると、残容量ＳＯＣが減少して低側残容量Ｓｄ近傍に達し、その後、車両１０が下り坂区間を走行すると残容量ＳＯＣが上昇する。しかし、残容量ＳＯＣが残容量上限値Ｓｍａｘに達すること無く車両１０は下り坂区間の走行を終える。即ち、下り坂制御によって上記オーバーフローの発生を回避することが可能となる。
【００６４】
車両１０が下り坂制御区間の開始地点（地点Ｄ１ａ）に達したとき、ＥＣＵ４０は運行支援装置６０（具体的には、演算部６１）から下り坂制御区間を開始すべき旨の通知を受信する。この際、演算部６１が実行する処理については後述される。同様に、車両１０が下り坂制御区間の終了地点（地点Ｄ６）に達したとき、ＥＣＵ４０は演算部６１から下り坂制御区間を終了すべき旨の通知を受信する。ＥＣＵ４０は、演算部６１から受信したこれらの通知に従って、下り坂制御を開始し、その後、下り坂制御を終了する。
【００６５】
下り坂制御の対象となる下り坂区間（対象下り坂区間）は、上述した位置エネルギーから電気エネルギーへの変換によって第１電動機２１及び／又は第２電動機２２が回生制動により発電する電力量が「蓄電池３１の最大充電量の２０％に相当する電力量Ｓ２０」よりも大きくなると予想される下り坂区間である。本例において、対象下り坂区間は、下り坂区間の開始地点（地点Ｄ３）と終了地点（地点Ｄ６）との間の距離が距離閾値Ｄｔｈ１よりも長く且つ終了地点の標高が開始地点の標高よりも低く、その標高の差の絶対値が高さ閾値Ｈｔｈよりも大きい下り坂区間である。
【００６６】
図３に示された例において、リンク４〜リンク６によって構成される下り坂区間の距離はＤｄであり、距離Ｄｄは距離閾値Ｄｔｈ１よりも長い（即ち、Ｄｄ＞Ｄｔｈ１）。加えて、この下り坂区間の開始地点（即ち、リンク４の開始地点Ｄ３）の標高はＨ１であり、終了地点（即ち、リンク６の終了地点Ｄ６）の標高はＨ２であり、Ｈ１とＨ２との間の標高差ΔＨは高さ閾値Ｈｔｈよりも大きい（即ち、ΔＨ＝Ｈ１−Ｈ２＞Ｈｔｈ）。従って、リンク４〜リンク６によって構成される下り坂区間は、対象下り坂区間に該当する。
【００６７】
ただし、上述したように地図データベースにはリンクの長さと勾配が記憶されているので、演算部６１は長さと勾配との積を算出することによってリンクの一端と他端との間の標高差を取得する。更に、演算部６１は、ある区間を構成する複数のリンクのそれぞれの標高差の和を算出することによってその区間の一端と他端との間の標高差を取得する。なお、地図データベースが各リンクの両端の標高を含む場合、標高差は、そのリンクの終了地点の標高から同リンクの開始地点の標高を減じることにより求められる。
【００６８】
（対象下り坂区間の抽出処理）
対象下り坂区間の抽出方法について、図４を参照しながら説明する。図４（Ａ）〜（Ｃ）のそれぞれは、１０個のリンク（リンクａ１〜リンクａ１０、リンクｂ１〜リンクｂ１０、及び、リンクｃ１〜リンクｃ１０）によって構成される走行予定経路を示している。
【００６９】
走行予定経路を構成するリンクは、下り勾配リンク及び平坦リンクの集合である。下り勾配リンクは、リンクの平均勾配が勾配閾値ｄｅｇｔｈ（ただし、ｄｅｇｈｔ＜０）により示される勾配よりも急な下り坂区間（即ち、勾配閾値ｄｅｇｔｈより勾配が急な下り坂区間）である。平坦リンクは、リンクの平均勾配が勾配閾値ｄｅｇｔｈにより示される勾配よりも急でない下り坂区間、平坦区間、或いは、上り坂区間である（即ち、勾配閾値ｄｅｇｔｈよりも勾配が急でないリンク）。
【００７０】
勾配閾値ｄｅｇｔｈは、予め定められた値であって、車両１０の走行経路が勾配閾値ｄｅｇｔｈよりも急な下り坂であれば上述した位置エネルギーから電気エネルギーへ変換されるエネルギーの量がある程度大きくなる可能性が高くなるように設定されている。
【００７１】
走行予定経路を構成するリンク群の一部又は全部が対象下り坂区間として抽出されるために必要な条件は以下の（ａ）〜（ｅ）である。
（ａ）リンク群のうちの車両１０に最も近い側のリンクである「開始リンク」により示される区間が下り勾配リンクであり、
（ｂ）開始リンクに対応する区間の「開始地点」から、リンク群のうちの車両１０から最も遠い側のリンクである「終了リンク」により示される区間の「終了地点」まで、の距離が所定の距離閾値Ｄｔｈ１より長く、
（ｃ）開始地点の標高よりも終了地点の標高が低く、
（ｄ）開始地点と終了地点との標高差の絶対値が標高差閾値Ｈｔｈより大きく、
（ｅ）開始地点から終了地点との間の、単数のリンク又は連続する複数のリンクに対応する区間が、平坦リンクによって構成され且つ距離閾値Ｄｔｈ１よりも短い距離閾値Ｄｔｈ２（即ち、Ｄｔｈ２＜Ｄｔｈ１）よりも長い区間、ではない。
【００７２】
図４（Ａ）に示した例においては、リンクａ１〜リンクａ４のそれぞれは、平坦リンクである。一方リンクａ５〜リンクａ１０のそれぞれは、下り勾配リンクである。リンクａ５〜リンクａ１０の区間の合計距離Ｄａは距離閾値Ｄｔｈ１よりも長く、且つ、リンクａ５の開始地点Ｐａ５とリンクａ１０の終了地点Ｐａ１１との標高差Ｈａは標高差閾値Ｈｔｈよりも大きく、且つ、終了地点Ｐａ１１は開始地点Ｐ５よりも標高が低い。従って、リンクａ５〜リンクａ１０の区間は、上記条件（ａ）〜条件（ｅ）を総て満たすので、対象下り坂を構成する。即ち、地点Ｐａ５から地点Ｐａ１０までの区間は対象下り坂区間である。
【００７３】
例えば、リンクａ４〜リンクａ１０を下り坂区間として捉えると、リンクａ４は平坦リンクであるので上記条件（ａ）を満たさず、従って、リンクａ４〜リンクａ１０の区間は対象下り坂区間ではない。
【００７４】
図４（Ｂ）に示した例においては、リンクｂ３〜リンクｂ５及びリンクｂ７〜リンクｂ８は下り勾配リンクである。一方、リンクｂ１〜リンクｂ２、リンクｂ６及びリンク９〜リンクｂ１０は平坦リンクである。リンクｂ３〜リンクｂ８の区間の合計距離Ｄｂは距離閾値Ｄｔｈ１よりも長く、且つ、リンクｂ３の開始地点Ｐｂ３とリンクｂ８の終了地点Ｐｂ９との標高差Ｈｂが標高差閾値Ｈｔｈよりも大きく、且つ、終了地点Ｐｂ９は開始地点Ｐｂ３よりも標高が低い。よって、上記条件（ａ）〜条件（ｄ）が満たされる。
【００７５】
加えて、リンクｂ３〜リンクｂ９の区間の途中に平坦リンクｂ６が含まれているが、リンクｂ６の開始地点と終了地点との間の距離Ｄｂ６は、距離閾値Ｄｔｈ２よりも短いので、上記条件（ｅ）が満たされる。従って、リンクｂ３〜リンクｂ８の区間は、対象下り坂区間を構成する。
【００７６】
図４（Ｃ）に示した例においては、リンクｃ１〜リンクｃ３及びリンクｃ６〜リンクｃ８は下り勾配リンクである。一方、リンクｃ４〜リンクｃ５及びリンクｃ９〜リンクｃ１０は平坦リンクである。例えば、リンクｃ１〜リンクｃ８を下り坂区間として捉えると、リンクｃ１〜リンクｃ８の区間の合計距離Ｄｃは距離閾値Ｄｔｈ１よりも長く、且つ、リンクｃ１の開始地点Ｐｃ１とリンクｃ８の終了地点Ｐｃ９との標高差Ｈｂが標高差閾値Ｈｔｈよりも大きく、且つ、終了地点Ｐｃ９は開始地点Ｐｃ１よりも標高が低い。よって、上記条件（ａ）〜条件（ｄ）が満たされる。
【００７７】
しかしながら、リンクｃ１〜リンクｃ８の区間は、途中に平坦リンクｃ４及び平坦リンクｃ５を含んでいる。平坦リンクｃ４の開始地点と終了地点との間の距離Ｄｃ４と、平坦リンクｃ５の開始地点と終了地点との間の距離Ｄｃ５と、の合計は距離閾値Ｄｔｈ２より長いので、上記条件（ｅ）を満たさない。従って、リンクｃ１〜リンクｃ８の区間は対象下り坂区間を構成しない。
【００７８】
（運行支援装置からＥＣＵへの情報提供）
演算部６１は、現在位置Ｐｎから目的地までの経路（即ち、走行予定経路）に含まれる対象下り坂区間を探索する。対象下り坂区間が見つかった場合、車両１０が下り坂制御区間（プレユース区間の開始地点）の開始地点に達したときに演算部６１はＥＣＵ４０へ下り坂制御の開始を指示し、車両１０が下り坂制御区間の終了地点（対象下り坂区間の終了地点）に達したときに演算部６１はＥＣＵ４０へ下り坂制御の終了を指示する。
【００７９】
（具体的作動−ＥＣＵによる駆動力制御）
次に、ＥＣＵ４０の具体的作動について説明する。ＥＣＵ４０のＣＰＵ４１（以下、単に「ＣＰＵ」とも称呼される）は、図５にフローチャートにより表された「駆動力制御ルーチン」を所定の時間が経過する毎に実行する。従って、適当なタイミングとなると、ＣＰＵは、図５のステップ５００から処理を開始し、以下に述べるステップ５０５乃至ステップ５１５の処理を順に行い、ステップ５２０に進む。
【００８０】
ステップ５０５：ＣＰＵは、アクセル操作量Ａｐと車速Ｖｓとに基づいてリングギア要求トルクＴｒ＊を決定すると共に、車両要求出力Ｐｒ＊を決定する。
【００８１】
リングギア要求トルクＴｒ＊は、運転者が車両１０に要求する駆動輪２７に作用するトルクと比例関係にある。ＣＰＵは、図６に示される「アクセル操作量Ａｐ及び車速Ｖｓと、リングギア要求トルクＴｒ＊と、の間の関係」にアクセル操作量Ａｐ及び車速Ｖｓを適用することによってリングギア要求トルクＴｒ＊を決定する。図６に示される関係は、ルックアップテーブルの形式にてＲＯＭ４２に記憶されている。
【００８２】
一方、車両要求出力Ｐｒ＊は、リングギア要求トルクＴｒ＊とリングギア回転速度Ｎｒとの積に等しい（即ち、Ｐｒ＊＝Ｔｒ＊×Ｎｒ）。リングギア回転速度Ｎｒは、車速Ｖｓと比例関係にある。
【００８３】
ステップ５１０：ＣＰＵは、別途算出されている実際の残容量ＳＯＣ及び目標残容量ＳＯＣ＊の差分である残容量差分ΔＳＯＣ（即ち、ΔＳＯＣ＝ＳＯＣ−ＳＯＣ＊）に基づいて充電要求出力Ｐｂ＊を決定する。より具体的に述べると、ＣＰＵは、図７に示される「残容量差分ΔＳＯＣと、充電要求出力Ｐｂ＊と、の関係」に残容量差分ΔＳＯＣを適用することによって充電要求出力Ｐｂ＊を決定する。図７に示される関係は、ルックアップテーブルの形式にてＲＯＭ４２に記憶されている。
【００８４】
図７から理解されるように、残容量差分ΔＳＯＣが大きくなるほど充電要求出力Ｐｂ＊が小さい値に設定される。設定される充電要求出力Ｐｂ＊の上限値はＰｂｍａｘ（Ｐｂｍａｘ＞０）であり、設定される充電要求出力Ｐｂ＊の下限値はＰｂｍｉｎ（Ｐｂｍｉｎ＜０）である。なお、下り坂制御の実行の有無及び残容量差分ΔＳＯＣの値によらず、残容量ＳＯＣが残容量上限値Ｓｍａｘ以上であるとき、充電要求出力Ｐｂ＊は下限値Ｐｂｍｉｎに設定され、残容量ＳＯＣが残容量下限値Ｓｍｉｎ以下であるとき、充電要求出力Ｐｂ＊は上限値Ｐｂｍａｘに設定される。
【００８５】
ステップ５１５：ＣＰＵは、車両要求出力Ｐｒ＊と充電要求出力Ｐｂ＊との和に損失Ｐｌｏｓｓを加えた値を機関要求出力Ｐｅ＊として算出する（即ち、Ｐｅ＊＝Ｐｒ＊＋Ｐｂ＊＋Ｐｌｏｓｓ）。
【００８６】
次に、ＣＰＵはステップ５２０に進み、機関要求出力Ｐｅ＊が出力閾値Ｐｅｔｈよりも大きいか否かを判定する。出力閾値Ｐｅｔｈは、機関２３の出力が出力閾値Ｐｅｔｈ以下で運転されると、機関２３の運転効率が所定効率よりも低くなるような値に設定されている。加えて、出力閾値Ｐｅｔｈは、充電要求出力Ｐｂ＊が上限値Ｐｂｍａｘに設定されているとき、機関要求出力Ｐｅ＊が出力閾値Ｐｅｔｈよりも大きくなるように設定されている。
【００８７】
（ケース１：Ｐｅ＊＞Ｐｅｔｈ）
機関要求出力Ｐｅ＊が出力閾値Ｐｅｔｈより大きい場合。
この場合、ＣＰＵはステップ５２０にて「Ｙｅｓ」と判定してステップ５２５に進み、現時点において機関２３が停止中であるか否かを判定する。機関２３が停止中であると、ＣＰＵはステップ５２５にて「Ｙｅｓ」と判定してステップ５３０に進み、機関２３の運転を開始する処理を実行する。次いで、ＣＰＵはステップ５３５に進む。これに対し、機関２３が運転中であると、ＣＰＵはステップ５２５にて「Ｎｏ」と判定してステップ５３５に直接進む。
【００８８】
ＣＰＵは、以下に述べるステップ５３５乃至ステップ５６０の処理を順に行う。その後、ＣＰＵはステップ５９５に進んで本ルーチンを一旦終了する。
【００８９】
ステップ５３５：ＣＰＵは、機関要求出力Ｐｅ＊と等しい出力が機関２３から出力され、且つ、機関２３の運転効率が最良となるように目標機関回転速度Ｎｅ＊及び目標機関トルクＴｅ＊を決定する。即ち、ＣＰＵは、機関要求出力Ｐｅ＊に応じた最適機関動作点に基づいて目標機関回転速度Ｎｅ＊及び目標機関トルクＴｅ＊を決定する。
【００９０】
ステップ５４０：ＣＰＵは、リングギア回転速度Ｎｒ及び目標機関回転速度Ｎｅ＊に基づいて目標第１電動機回転速度（目標ＭＧ１回転速度）Ｎｍ１＊を決定する。より具体的に述べると、ＣＰＵは、上記式（１）にリングギア回転速度Ｎｒ及び目標機関回転速度Ｎｅ＊を代入することにより目標ＭＧ１回転速度Ｎｍ１＊を算出する。更に、ＣＰＵは、目標ＭＧ１回転速度Ｎｍ１＊を実現する目標第１電動機トルク（目標ＭＧ１トルク）Ｔｍ１＊を決定する。
【００９１】
ステップ５４５：ＣＰＵは、リングギア要求トルクＴｒ＊と、機関２３が目標機関トルクＴｅ＊に等しいトルクを発生させたときにリングギアに作用するトルクと、の差分である不足トルクを算出する。更に、ＣＰＵは、その不足トルクを第２電動機２２によって補うために必要となるトルクである目標第２電動機トルク（目標ＭＧ２トルク）Ｔｍ２＊を算出する。
【００９２】
ステップ５５０：ＣＰＵは、機関２３が出力する機関トルクＴｅが目標機関トルクＴｅ＊と等しくなり且つ機関回転速度ＮＥが目標機関回転速度Ｎｅ＊と等しくなるように、機関２３を制御する。
【００９３】
ステップ５５５：ＣＰＵは、第１電動機２１が発生させるトルクＴｍ１が目標ＭＧ１トルクＴｍ１＊と等しくなるように第１インバータ３３を制御する。
【００９４】
ステップ５６０：ＣＰＵは、第２電動機２２が発生させるトルクＴｍ２が目標ＭＧ２トルクＴｍ２＊と等しくなるように第２インバータ３４を制御する。
【００９５】
（ケース２：Ｐｅ＊≦Ｐｅｔｈ）
機関要求出力Ｐｅ＊が出力閾値Ｐｅｔｈ以下である場合。
この場合、ＣＰＵがステップ５２０に進んだとき、ＣＰＵはそのステップ５２０にて「Ｎｏ」と判定してステップ５６５に進み、現時点において機関２３が運転中であるか否かを判定する。
【００９６】
機関２３が運転中であると、ＣＰＵはステップ５６５にて「Ｙｅｓ」と判定してステップ５７０に進み、機関２３の運転を停止する処理を実行し、その後、ステップ５７５に進む。これに対し、機関２３が停止中であると、ＣＰＵはステップ５６５にて「Ｎｏ」と判定してステップ５７５に直接進む。
【００９７】
ステップ５７５にてＣＰＵは、目標ＭＧ１トルクＴｍ１＊の値を「０」に設定する。更に、ＣＰＵはステップ５８０に進み、リングギアに作用するトルクがリングギア要求トルクＴｒ＊となるために第２電動機２２が発生すべきトルクである目標ＭＧ２トルクＴｍ２＊を算出する。次いで、ＣＰＵはステップ５５５乃至ステップ５６０に進む。
【００９８】
（具体的作動−運行支援装置による対象下り坂区間の探索）
次に、運行支援装置６０の具体的作動について説明する。
演算部６１のＣＰＵ６６は、運転者が目的地を入力したとき及び既に探索された対象下り坂区間の終了地点を車両１０が通過したとき、図８にフローチャートにより表された「制御区間設定処理ルーチン」を実行する。
【００９９】
従って、適当なタイミングとなると、ＣＰＵ６６は、図８のステップ８００から処理を開始し、ステップ８０５に進み、現在位置Ｐｎから目的地までの走行予定経路（リンクの組合せ）を地図データベースから抽出する。なお、本ルーチンが目的地入力後に初めて実行される場合、ＣＰＵ６６は現在位置Ｐｎと目的地とに基づいて走行予定経路を決定し、その走行予定経路のリンクの組合せを抽出する。
【０１００】
次いでＣＰＵ６６は、ステップ８１０に進み、走行予定経路上の現在位置Ｐｎよりもプレユース距離Ｄｐだけ離れた地点以遠にある最も近い対象下り坂区間を探索する。対象下り坂区間の探索処理の具体的な内容については後述される。次いでＣＰＵ６６は、ステップ８１５に進み、対象下り坂区間が存在していたか否かを判定する。
【０１０１】
対象下り坂区間が存在していれば、ＣＰＵ６６はステップ８１５にて「Ｙｅｓ」と判定してステップ８２０に進み、走行予定経路上の車両１０に対して最も手前にある対象下り坂区間の開始地点よりもプレユース距離Ｄｐだけ手前の地点を下り坂制御の開始地点Ｐｓとして設定する。加えて、ＣＰＵ６６は、対象下り坂区間の終了地点を下り坂制御の終了地点Ｐｅとして設定する。設定された開始地点Ｐｓ及び終了地点ＰｅはＲＡＭ６８に記憶される。次いでＣＰＵ６６は、ステップ８９５に進んで本ルーチンを終了する。
【０１０２】
なお、対象下り坂区間が存在していなければ、ＣＰＵ６６はステップ８１５にて「Ｎｏ」と判定してステップ８９５へ直接進む。
【０１０３】
ＣＰＵ６６は、図８のステップ８１０の処理によって対象下り坂区間の探索するとき、図９にフローチャートにより表された「対象下り坂探索処理ルーチン」を実行する。従って、適当なタイミングとなると、ＣＰＵ６６は、図９のステップ９００から処理を開始し、ステップ９０２に進み、初期化処理を実行する。
【０１０４】
より具体的に述べると、ＣＰＵ６６は、走行予定経路上の現在位置Ｐｎよりもプレユース距離Ｄｐだけ離れた地点以遠にあるリンクを車両１０が走行する順に抽出して探索リンクを取得する。更に、ＣＰＵ６６は、変数ｉの値を「１」に設定する。
【０１０５】
加えて、ＣＰＵ６６は、対象下り坂候補区間の合計距離Ｄｓｕｍ、対象下り坂候補区間の合計標高差Ｈｓｕｍ、平坦区間の合計距離ｄｓｕｍ、平坦区間の開始リンクＦｓｔａ、対象下り坂区間開始リンクＬｓｔａ、対象下り坂区間終了リンクＬｅｎｄ及び対象下り坂区間抽出フラグＸｓｌｐの値をそれぞれ「０」に設定する。
【０１０６】
ＣＰＵ６６は、本ルーチンの実行中、変数ｉの値に「１」を加える処理を、対象下り坂区間が抽出できるまで、或いは、変数ｉの値が「探索リンクを構成する個々のリンクの数」に等しくなるまで繰り返す。その間、車両１０が変数ｉ番目に走行するリンク（以下、単に「ｉ番目のリンク」とも称呼される。）が対象下り坂区間の一部であるか否かを判定する。
【０１０７】
本ルーチンの実行中、その時点において対象下り坂区間である可能性がある区間は「対象下り坂候補区間」として扱われる。ｉ番目のリンクが下り勾配リンクであれば、そのリンクは対象下り坂候補区間の一部として扱われる。一方、ｉ番目のリンクが平坦リンクであれば、そのリンクは平坦区間の一部として扱われる。
【０１０８】
ＣＰＵ６６は、対象下り坂区間開始リンクＬｓｔａの値として対象下り坂候補区間の開始リンク（最も車両１０に近いリンク）を設定し、対象下り坂区間終了リンクＬｅｎｄの値として対象下り坂候補区間の終了リンク（最も車両１０から遠いリンク）を設定する。
【０１０９】
探索リンク中に平坦リンクが連続して現れ、その時点における対象下り坂候補区間が上記条件（ｅ）を満たさないことが判明すると、ＣＰＵ６６は、新たな対象下り坂候補区間の探索を開始する。このとき、ＣＰＵ６６は対象下り坂区間開始リンクＬｓｔａの値を「０」に設定する。即ち、坂区間開始リンクＬｓｔａの値が「０」であるとき、その時点において対象下り坂候補区間が存在していない（見つかっていない）ことを意味する。
【０１１０】
対象下り坂候補区間が存在しているとき、ＣＰＵ６６は、対象下り坂候補区間の合計距離Ｄｓｕｍの値として「その時点の対象下り坂候補区間の長さ」を設定し、対象下り坂候補区間の合計標高差Ｈｓｕｍの値として「その時点の対象下り坂候補区間の開始地点と終了地点との標高差」を設定する。平坦リンクが連続して現れたとき、ＣＰＵ６６は、平坦区間の合計距離ｄｓｕｍの値として「連続して現れた平坦リンクのそれぞれの距離の合計」を設定する。
【０１１１】
本ルーチンの実行後、対象下り坂区間が抽出されていれば、対象下り坂区間抽出フラグＸｓｌｐが「１」に設定される。この場合、走行予定経路上の対象下り坂区間開始リンクＬｓｔａから対象下り坂区間終了リンクＬｅｎｄまでの区間が対象下り坂区間である。
【０１１２】
（ケース１）下り坂区間に平坦リンクを含む場合
この場合について、図４（Ｂ）に示された例を参照しながら説明する。この場合、ＣＰＵ６６は、ステップ９０２の処理の後、ステップ９０５に進み、ｉ番目のリンクの平均勾配Ｇｒ（ｉ）が勾配閾値ｄｅｇｔｈよりも小さいか否か（即ち、このリンクが下り勾配リンクであるか否か）を判定する。
【０１１３】
ステップ９０５が初めて実行されるとき、変数ｉの値は「１」であるので、ＣＰＵ６６は、図４（Ｂ）のリンクｂ１が下り勾配リンクであるか否かを判定する。上述したように、リンクｂ１は平坦リンク（具体的には、上り坂区間）であるので、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定してステップ９５５に進む。
【０１１４】
ステップ９５５にてＣＰＵ６６は、平坦区間の開始リンクＦｓｔａの値が「０」であるか否かを判定する。ステップ９５５が初めて実行されるとき、平坦区間の開始リンクＦｓｔａの値は「０」であるので、ＣＰＵ６６はステップ９５５にて「Ｙｅｓ」と判定してステップ９６０に進み、平坦区間の開始リンクＦｓｔａの値として変数ｉ（この場合、「１」）を設定する。
【０１１５】
次いで、ＣＰＵ６６はステップ９６５に進み、平坦区間の合計距離ｄｓｕｍにｉ番目のリンクの長さ（そのリンクの開始地点と終了地点との距離）Ｌ（ｉ）を加える。更に、ＣＰＵ６６は、対象下り坂候補区間の合計距離Ｄｓｕｍ及び対象下り坂候補区間の合計標高差Ｈｓｕｍに、ｉ番目のリンクの長さＬ（ｉ）及びｉ番目のリンクの標高差ΔＨ（ｉ）をそれぞれ加える。
【０１１６】
次いで、ＣＰＵ６６は、ステップ９７０に進み、平坦区間の合計距離ｄｓｕｍが距離閾値Ｄｔｈ２より長いか否か、又は、対象下り坂候補区間の合計標高差Ｈｓｕｍが「０」より大きいか否かを判定する。平坦区間の合計距離ｄｓｕｍが距離閾値Ｄｔｈ２より長ければ、上述した対象下り坂区間の要件（ｅ）を満たさないので、現時点の対象下り坂候補区間は対象下り坂区間ではないことが判る。
【０１１７】
一方、対象下り坂候補区間の合計標高差Ｈｓｕｍが「０」より大きいとき、現時点において対象下り坂候補区間の開始地点よりも対象下り坂候補区間の終了地点の方が標高が高い、即ち、対象下り坂候補区間が上り坂である。従って、これら２つの条件のうち少なくとも一方が成立していれば、現時点の対象下り坂候補区間を一旦解消する。
【０１１８】
上述したように、リンクｂ１は上り坂区間であるので、標高差ΔＨ（１）は「０」より大きい（即ち、ΔＨ（１）＞０）。従って、現時点において、対象下り坂候補区間の合計標高差Ｈｓｕｍ＝標高差ΔＨ（１）＞０であるから、ＣＰＵ６６は、ステップ９７０にて「Ｙｅｓ」と判定してステップ９７５に進み、対象下り坂区間抽出フラグＸｓｌｐが「１」であるか否かを判定する。
【０１１９】
いま対象下り坂区間抽出フラグＸｓｌｐは「０」であるので、ＣＰＵ６６はステップ９７５にて「Ｎｏ」と判定してステップ９８５に進み、対象下り坂候補区間開始リンクＬｓｔａの値が「０」より大きいか否かを判定する。いま対象下り坂候補区間開始リンクＬｓｔａの値は「０」であるので、ＣＰＵ６６はステップ９８５にて「Ｎｏ」と判定してステップ９３５に進み、変数ｉの値を「１」を加える。
【０１２０】
次いで、ＣＰＵ６６はステップ９４０に進み、変数ｉが探索リンクを構成する個々のリンクの数（本例において、「１０」）より大きいか否かを判定する。いま変数ｉは「１」であるので、変数ｉはリンクの総数より小さい。従って、ＣＰＵ６６はステップ９４０にて「Ｎｏ」と判定してステップ９０５に進む。
【０１２１】
ＣＰＵ６６がステップ９０５を２回目に（即ち、変数ｉ＝２であるとき）実行するとき、２番目のリンク（即ち、リンクｂ２）の平均勾配Ｇｒ（２）は勾配閾値ｄｅｇｔｈより大きいので、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定し、ステップ９５５に進む。ステップ９５５にてＣＰＵ６６は、平坦区間の開始リンクＦｓｔａの値が「１」に設定されているので、「Ｎｏ」と判定してステップ９６５に直接進む。
【０１２２】
ステップ９６５にて、平坦区間の合計距離ｄｓｕｍの値がリンクｂ１の長さとリンクｂ２の長さの合計（即ち、地点Ｐｂ１から地点Ｐｂ３までの距離）になると、合計距離ｄｓｕｍは距離閾値Ｄｔｈ２よりも大きくなる。従って、合計距離ｄｓｕｍが距離閾値Ｄｔｈ２より大きいので、ＣＰＵ６６ステップ９７０にて「Ｙｅｓ」と判定してステップ９７５に進み、更に、ステップ９８５及びステップ９３５乃至ステップ９４０の処理を実行する。
【０１２３】
次いで、ＣＰＵ６６がステップ９０５を３回目に（即ち、変数ｉ＝３であるとき）実行すると、３番目のリンク（即ち、リンクｂ３）の平均勾配Ｇｒ（３）は勾配閾値ｄｅｇｔｈより小さいので「Ｙｅｓ」と判定してステップ９１０に進む。ステップ９１０にてＣＰＵ６６は、対象下り坂候補区間開始リンクＬｓｔａの値が「０」であるか否かを判定する。いま対象下り坂候補区間開始リンクＬｓｔａの値は「０」であるので、ＣＰＵ６６はステップ９１０にて「Ｙｅｓ」と判定してステップ９１５に進む。
【０１２４】
ステップ９１５にてＣＰＵ６６は、対象下り坂候補区間開始リンクＬｓｔａの値を変数ｉ（この場合、「３」）に設定し、対象下り坂候補区間の合計距離Ｄｓｕｍ及び対象下り坂候補区間の合計標高差Ｈｓｕｍのそれぞれを「０」に設定する。
【０１２５】
次いで、ＣＰＵ６６はステップ９２０に進み、対象下り坂候補区間の合計距離Ｄｓｕｍ及び対象下り坂候補区間の合計標高差Ｈｓｕｍに、ｉ番目（この時点で、ｉ＝３）のリンクの長さＬ（ｉ）及びｉ番目のリンクの標高差ΔＨ（ｉ）（即ち、リンクｂ３の長さ及び標高差）をそれぞれ加える。更に、ＣＰＵ６６は、平坦区間の合計距離ｄｓｕｍ及び平坦区間の開始リンクＦｓｔａのそれぞれの値を「０」に設定する。
【０１２６】
次いで、ＣＰＵ６６はステップ９２５に進み、対象下り坂候補区間の合計距離Ｄｓｕｍが距離閾値Ｄｔｈ１より長く、且つ、対象下り坂候補区間の合計標高差Ｈｓｕｍが負の値であって、その絶対値が標高差閾値Ｈｔｈより大きいか否かを判定する。現時点ではいずれの条件も満たさないので、ＣＰＵ６６はステップ９２５にて「Ｎｏ」と判定してステップ９３５に進む。その後、ＣＰＵ６６はステップ９３５乃至ステップ９４０の処理を実行し、ステップ９０５に進む。
【０１２７】
ＣＰＵ６６がステップ９０５を４回目及び５回目に実行するとき、リンクｂ４及びリンクｂ５はいずれも下り勾配リンクであるので、ＣＰＵ６６はステップ９０５にて「Ｙｅｓ」と判定し、ステップ９１０に進む。いま対象下り坂区間開始リンクＬｓｔａの値は「３」に設定されているので、ＣＰＵ６６はステップ９１０にて「Ｎｏ」と判定してステップ９２０に直接進む。
【０１２８】
更に、ＣＰＵ６６は、後に続く処理を実行する。その結果、対象下り坂候補区間の合計距離Ｄｓｕｍはリンクｂ３からリンクｂ５の長さの合計となり、対象下り坂候補区間の合計標高差Ｈｓｕｍはリンクｂ３からリンクｂ５の標高差の合計となる。しかし、この時点で対象下り坂候補区間の合計距離Ｄｓｕｍは距離閾値Ｄｔｈ１より短く、且つ、対象下り坂候補区間の合計標高差Ｈｓｕｍの大きさは標高差閾値Ｈｔｈより小さい。
【０１２９】
ＣＰＵ６６がステップ９０５を６回目に実行するとき、リンクｂ６は平坦リンクであるので、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定し、ステップ９５５乃至ステップ９６５の処理を実行しステップ９７０に進む。この時点で平坦区間の合計距離ｄｓｕｍはリンクｂ６の長さＤｂ６（Ｄｂ６＜Ｄｔｈ２）であり、対象下り坂候補区間の合計標高差Ｈｓｕｍは地点Ｐｂ３と地点Ｐｂ７との標高差であるので「０」より小さい。従って、ＣＰＵ６６はステップ９７０にて「Ｎｏ」と判定してステップ９３５に進む。
【０１３０】
その後、ＣＰＵ６６がステップ９０５を８回目に実行するとき、リンクｂ８は下り勾配リンクであるので、ＣＰＵ６６はステップ９０５にて「Ｙｅｓ」と判定し、ステップ９１０及びステップ９２０の処理を経てステップ９２５に進む。この時点で対象下り坂候補区間の合計距離Ｄｓｕｍは距離閾値Ｄｔｈ１より大きく、且つ、対象下り坂候補区間の合計標高差Ｈｓｕｍの大きさは標高差閾値Ｈｔｈより大きい。
【０１３１】
従って、ＣＰＵ６６はステップ９２５にて「Ｙｅｓ」と判定してステップ９３０に進み、対象下り坂区間抽出フラグＸｓｌｐの値を「１」に設定する。次いで、ＣＰＵ６６はステップ９３５乃至ステップ９４０の処理を実行しステップ９０５に進む。
【０１３２】
その後、ＣＰＵ６６がステップ９０５を９回目に実行するとき、リンクｂ９は平坦リンクであるので、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定してステップ９５５に進む。ＣＰＵ６６ステップ９５５にて「Ｙｅｓ」と判定してステップ９６０に進み平坦区間の開始リンクＦｓｔａの値を変数ｉ（この場合、「９」）に設定する。
【０１３３】
次いで、ＣＰＵ６６はステップ９６５の処理を実行し、平坦区間の合計距離ｄｓｕｍがリンクｂ９の長さ（距離Ｄｂ９）となる。この時点で平坦区間の合計距離ｄｓｕｍは距離閾値Ｄｔｈ２より小さい。従って、ＣＰＵ６６は次のステップ９７０にて「Ｎｏ」と判定してステップ９３５に進む。
【０１３４】
更に、ＣＰＵ６６がステップ９０５を１０回目に実行するとき、リンクｂ１０は平坦リンクであるので、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定してステップ９５５に進む。ＣＰＵ６６は、ステップ９５５からステップ９６５に進み、平坦区間の合計距離ｄｓｕｍがリンクｂ９の長さとリンクｂ１０の長さ（距離Ｄｂ１０）の合計となり、距離閾値Ｄｔｈ２より大きくなる。
【０１３５】
従って、ＣＰＵ６６はステップ９７０にて「Ｙｅｓ」と判定してステップ９７５に進み、この時点で対象下り坂区間抽出フラグＸｓｌｐが「１」であるので、ＣＰＵ６６はステップ９７５にて「Ｙｅｓ」と判定してステップ９８０に進む。ステップ９８０にてＣＰＵ６６は、対象下り坂区間終了リンクＬｅｎｄの値を平坦区間の開始リンクＦｓｔａの値（この時点において、「９」）よりも「１」だけ小さい値に設定する。即ち、対象下り坂区間終了リンクＬｅｎｄの値は「８」となる。
【０１３６】
次いで、ＣＰＵ６６はステップ９９５に進み、本ルーチンを終了する。本ルーチンの終了時、対象下り坂区間抽出フラグＸｓｌｐが「１」であり、対象下り坂区間開始リンクＬｓｔａの値は「３」に設定され、且つ、対象下り坂区間終了リンクＬｅｎｄの値は「８」に設定されている。従って、本例では対象下り坂区間を構成するリンクとしてリンクｂ３〜リンクｂ８が抽出される。
【０１３７】
（ケース２）走行予定経路の終了地点を含むリンクと対象下り坂区間終了リンクが同一となる場合
次に、この場合について、図４（Ａ）に示された例を参照しながら説明する。この場合、ＣＰＵ６６がステップ９０５を９回目に実行するとき、ＣＰＵ６６はステップ９０５にて「Ｙｅｓ」と判定し、ステップ９１０に進み、その後、及びステップ９２０に進む。
【０１３８】
ステップ９２０の処理によって、この時点で対象下り坂候補区間の合計距離Ｄｓｕｍは距離閾値Ｄｔｈ１より大きく、且つ、対象下り坂候補区間の合計標高差Ｈｓｕｍの大きさは標高差閾値Ｈｔｈより大きくなる。従って、ＣＰＵ６６はステップ９２５に進み、ステップ９２５にて「Ｙｅｓ」と判定する。次いで、ＣＰＵ６６は、ステップ９３０に進み対象下り坂区間抽出フラグＸｓｌｐの値を「１」に設定する。
【０１３９】
その後、ＣＰＵ６６がステップ９０５を１０回目に実行するとき、ＣＰＵ６６はステップ９０５にて「Ｙｅｓ」と判定しステップ９１０及びステップ９２０乃至ステップ９３５の処理を実行し、ステップ９４０に進む。
【０１４０】
このとき、変数ｉは「１１」となっているので、ＣＰＵ６６はステップ９４０にて「Ｙｅｓ」と判定してステップ９４５に進み、対象下り坂区間抽出フラグＸｓｌｐが「１」であり且つ対象下り坂区間終了リンクＬｅｎｄの値が「０」であるか否かを判定する。
【０１４１】
現時点において、対象下り坂区間抽出フラグＸｓｌｐが「１」であり且つ対象下り坂区間終了リンクＬｅｎｄの値が「０」であるので、ＣＰＵ６６はステップ９４５にて「Ｙｅｓ」と判定してステップ９５０に進み、対象下り坂区間終了リンクＬｅｎｄの値を変数ｉより「１」だけ小さい値（この場合、「１０））に設定する。次いで、ＣＰＵ６６はステップ９９５に進む。
【０１４２】
（ケース３）下り坂区間の途中に連続した平坦リンクが含まれる場合
次に、この場合について、図４（Ｃ）に示された例を参照しながら説明する。この場合、リンクｃ１は下り勾配リンクであるので、ＣＰＵ６６がステップ９０５を１回目に実行するとき、ＣＰＵ６６は、ステップ９０５及びステップ９１０のそれぞれにて「Ｙｅｓ」と判定し、ステップ９１５に進んで対象下り坂区間開始リンクＬｓｔａの値を「１」に設定する。
【０１４３】
その後、ＣＰＵ６６がステップ９０５を４回目に実行するとき、リンクｃ４は平坦リンクであるので、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定してステップ９５５に進み、ステップ９５５にて「Ｙｅｓ」と判定してステップ９６０に進み平坦区間の開始リンクＦｓｔａの値を「４」に設定する。
【０１４４】
更に、ＣＰＵ６６がステップ９０５を５回目に実行するとき、ＣＰＵ６６はステップ９０５にて「Ｎｏ」と判定してステップ９５５に進み、その後、ステップ９６５に進んだとき、平坦区間の合計距離ｄｓｕｍが「リンクｃ４の長さ（距離Ｄｃ４）及びリンクｃ５の長さ（距離Ｄｃ５）の合計」となり、距離閾値Ｄｔｈ２より大きくなる。従って、ＣＰＵ６６はステップ９７０にて「Ｙｅｓ」と判定してステップ９７５に進み、ステップ９７５にて「Ｎｏ」と判定してステップ９８５に進む。
【０１４５】
ステップ９８５にてＣＰＵ６６は、対象下り坂区間開始リンクＬｓｔａの値が「０」であるか否かを判定する。現時点において、対象下り坂区間開始リンクＬｓｔａの値は「１」であるので、ＣＰＵ６６はステップ９８５にて「Ｙｅｓ」と判定してステップ９９０に進み、対象下り坂区間開始リンクＬｓｔａの値を「０」に設定する。次いで、ＣＰＵ６６はステップ９３５に進む。
【０１４６】
その後、ＣＰＵ６６がステップ９０５を１０回目に実行するとき、ステップ９０５乃至ステップ９１０、ステップ９２０乃至ステップ９２５、ステップ９３５乃至９４０の処理を実行してからステップ９４５に進む。
【０１４７】
現時点において、対象下り坂区間抽出フラグＸｓｌｐが「０」であるので（対象下り坂区間終了リンクＬｅｎｄは「０」）、ステップ９４５にてＣＰＵ６６は、「Ｎｏ」と判定してステップ９９５に直接進む。
【０１４８】
（具体的作動−運行支援装置による下り坂制御の実行）
ＣＰＵ６６は、下り坂制御を実行するため図１０にフローチャートにより表された「下り坂制御実行処理ルーチン」を所定の時間が経過する毎に実行する。従って、適当なタイミングとなると、ＣＰＵ６６は、図１０のステップ１０００から処理を開始してステップ１００５に進み、下り坂制御区間の開始地点Ｐｓ及び終了地点Ｐｅの少なくとも一方が設定されているか否かを判定する。
【０１４９】
開始地点Ｐｓ及び終了地点Ｐｅの少なくとも一方が設定されていれば、ＣＰＵ６６はステップ１００５にて「Ｙｅｓ」と判定してステップ１０１０に進む。ステップ１０１０にてＣＰＵ６６は、ＧＰＳ受信部６２が取得した現在位置Ｐｎを取得する。次いでＣＰＵ６６は、ステップ１０１５に進み、現在位置Ｐｎが開始地点Ｐｓに一致しているか否かを判定する。
【０１５０】
現在位置Ｐｎが開始地点Ｐｓに一致（実際には、±数１０ｍ）していれば、ＣＰＵ６６はステップ１０１５にて「Ｙｅｓ」と判定してステップ１０２０に進み、ＥＣＵ４０に対して下り坂制御の開始を指示する。指示を受信したＥＣＵ４０は、図示しないルーチンを実行して目標残容量ＳＯＣ＊を標準残容量Ｓｎから低側残容量Ｓｄに変更する。更に、ＣＰＵ６６は、開始地点Ｐｓのデータを消去する。次いで、ＣＰＵ６６はステップ１０９５に進み、本ルーチンを一旦終了する。
【０１５１】
一方、現在位置Ｐｎが開始地点Ｐｓと一致していなければ（開始地点Ｐｓが消去されている場合を含む。）、ＣＰＵ６６はステップ１０１５にて「Ｎｏ」と判定してステップ１０２５に進み、現在位置Ｐｎが終了地点Ｐｅと一致しているか否かを判定する。
【０１５２】
現在位置Ｐｎが終了地点Ｐｅに一致していれば、ＣＰＵ６６はステップ１０２５にて「Ｙｅｓ」と判定してステップ１０３０に進み、ＥＣＵ４０に対して下り坂制御の終了を指示する。指示を受信したＥＣＵ４０は、図示しないルーチンを実行して目標残容量ＳＯＣ＊を低側残容量Ｓｄから標準残容量Ｓｎに変更する。更に、ＣＰＵ６６は、終了地点Ｐｅのデータを消去する。次いで、ＣＰＵ６６はステップ１０９５に直接進む。
【０１５３】
開始地点Ｐｓ及び終了地点Ｐｅがいずれも設定されていなければ、ＣＰＵ６６はステップ１００５にて「Ｎｏ」と判定してステップ１０９５に直接進む。加えて、現在位置Ｐｎが終了地点Ｐｅと一致していなければ、ＣＰＵ６６はステップ１０２５にて「Ｎｏ」と判定してステップ１０９５に直接進む。
【０１５４】
以上、説明したように、本制御装置（ＥＣＵ４０及び運行支援装置）は、
車両の駆動源としての内燃機関（２３）及び同駆動源としての電動機（第１電動機２１及び第２電動機２２）、並びに、前記電動機に電力を供給する蓄電池（３１）を搭載し、前記電動機を用いて回生制動を行うとともに同回生制動により発生した電力を前記蓄電池に充電可能であり且つ前記内燃機関の出力を用いて発電した電力を前記蓄電池に充電可能に構成されたハイブリッド車両（１０）に適用され、
前記車両に要求される要求駆動力を満たすように且つ前記蓄電池の残容量（ＳＯＣ）が所定の目標残容量（ＳＯＣ＊、Ｓｎ）に近づくように前記内燃機関及び電動機を制御する制御部を備えるハイブリッド車両の制御装置であって、
前記制御部は、
前記車両の走行予定経路を表す複数のリンクに関する情報を取得し、前記取得した情報に基づいて同走行予定経路に所定条件を満たす下り坂区間である対象下り坂区間が含まれるか否かを判定する（図８のステップ８１５及び図９）下り坂判定手段と、
前記下り坂判定手段が前記走行予定経路に前記対象下り坂区間が含まれると判定したとき、前記対象下り坂区間の開始地点よりも所定の第１距離（プレユース距離Ｄｐ）だけ手前にある下り坂制御開始地点（Ｐｓ）から同対象下り坂区間の終了地点（Ｐｅ）までの区間のうちの少なくとも同下り坂制御開始地点から同対象下り坂区間の開始地点までの区間を含む第１区間を前記車両が走行するとき前記目標残容量を同車両が同第１区間以外を走行する場合に比べて小さい残容量（Ｓｄ）に変更する下り坂制御を実行する下り坂制御手段と、
を含み、
前記下り坂判定手段は、
前記取得した複数のリンクに含まれる連続したリンクであるリンク群が、
前記リンク群のうちの前記車両に最も近い側のリンクである開始リンクに対応する区間が所定の勾配閾値（ｄｅｇｔｈ）により示される勾配よりも急な下り坂であり、
前記開始地点の標高よりも前記終了地点の標高が低く、
前記開始地点と前記終了地点との標高差の絶対値が所定の標高差閾値（Ｈｔｈ）より大きく、且つ、
前記開始地点と前記終了地点との間に、単数のリンク又は連続する複数のリンクに対応する、前記勾配閾値により示される勾配よりも急でなく且つ所定の第２距離（距離閾値Ｄｔｈ２）よりも長い区間、を含まない、
という条件を満たすとき、前記リンク群により示される区間が前記所定条件を満たす対象下り坂区間であると判定するように構成されている。
【０１５５】
本発明装置によれば、下り坂制御によって残容量ＳＯＣを増加させ、以て、車両１０の燃費を向上させることができる対象下り坂区間を適切に抽出することができる。
【０１５６】
以上、本発明に係るハイブリッド車両の制御装置の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。例えば、本実施形態における運行支援装置６０は、ＧＰＳ衛星からの信号を受信していた。しかし、運行支援装置６０は、ＧＰＳ信号に替えて、或いは、ＧＰＳ信号に加えて、他の衛星測位信号を受信しても良い。例えば、他の衛星測位信号は、ＧＬＯＮＡＳＳ（Global Navigation Satellite System）及びＱＺＳＳ（Quasi-Zenith Satellite System）であっても良い。
【０１５７】
加えて、本実施形態において下り坂制御が実行される場合、車両１０が下り坂区間の終了地点に到達したとき、目標残容量ＳＯＣ＊が低側残容量Ｓｄから標準残容量Ｓｎに変更されていた。しかし、下り坂制御が実行されるとき、車両１０が下り坂区間の開始地点に到達したとき、目標残容量ＳＯＣ＊が低側残容量Ｓｄから標準残容量Ｓｎに変更されても良い。
【０１５８】
加えて、本実施形態において、運行支援装置６０は、対象下り坂区間を抽出するとき、走行予定経路上の現在位置Ｐｎよりもプレユース距離Ｄｐだけ離れた地点から目的地までの経路を対象としていた。しかし、運行支援装置６０は、対象下り坂区間を抽出するとき、走行予定経路上の現在位置Ｐｎから目的地までの経路を対象としても良い。
【０１５９】
或いは、運行支援装置６０は、対象下り坂区間を抽出するとき、走行予定経路上の「現在位置Ｐｎ」から「現在位置Ｐｎよりも所定距離（例えば、５ｋｍ）だけ離れた地点」までの経路を対象としても良い。この場合、運行支援装置６０は、下り坂制御の実行の有無に拘わらず、定期的に（例えば、５分毎）又は車両１０が所定距離を走行する毎に、対象下り坂区間抽出処理を実行しても良い。
【０１６０】
加えて、本実施形態において、運行支援装置６０は車両１０が下り坂制御区間の開始地点Ｐｓに到達したとき及び終了地点Ｐｅに到達したとき、ＥＣＵ４０にその旨を通知していた。しかし、運行支援装置６０は、下り坂制御の実行を決定したとき、ＥＣＵ４０に対して現在位置Ｐｎから開始地点Ｐｓまでの距離、及び、現在位置Ｐｎから終了地点Ｐｅまでの距離を通知しても良い。この場合、ＥＣＵ４０は、車速Ｖｓを時間に対して積分して得られる車両１０の走行距離に基づいてその時点の現在位置Ｐｎから開始地点Ｐｓ及び終了地点Ｐｅまでの距離を取得し、車両１０が開始地点Ｐｓ又は終了地点Ｐｅに到達したときに目標残容量ＳＯＣ＊の値を変更しても良い。
【０１６１】
加えて、本実施形態における地図データベースは、各リンクの長さ及び勾配を含んでいた。しかし、地図データベースは、各リンクの勾配の替わりに各リンクの両端の標高を含んでいても良い。
【０１６２】
加えて、本実施形態において、運行支援装置６０は上記条件（ａ）〜（ｅ）が満たされる下り坂区間を対象下り坂区間であると判定していた。しかし、上記条件（ｂ）は割愛されても良い。この場合、下り坂区間の開始地点と終了地点との間の距離が短くても、開始地点と終了地点と標高差が標高差閾値Ｈｔｈより大きければ、対象下り坂区間であると判定される。
【０１６３】
例えば、走行予定経路がトンネルを含んでいる場合、トンネル内の路上の標高ではなく、トンネルの上にある地面の標高に基づいてリンクの勾配情報が生成されていれば、トンネル内の路面上の地点とトンネルを抜けた後の路面上の地点との標高差が過大となる場合がある。即ち、この場合、下り坂区間の開始地点と終了地点との間の距離が短いにも拘わらず、開始地点と終了地点との標高差が大きな値となり得る。換言すれば、リンクの勾配情報が含み得る誤差によって、対象下り坂区間の条件を満たしていないのに対象下り坂区間であると判定される誤判定が発生し得る。そこで、このような誤判定が発生しないように距離閾値Ｄｔｈ１が決定されても良い。或いは、上述したように、上記条件（ｂ）が割愛されても良い。
【０１６４】
加えて、本実施形態における地図データベースは、ハードディスクドライブによって構成されていた。しかし、地図データベースは、フラッシュメモリ等の記憶媒体を用いたソリッドステートドライブ（ＳＳＤ）によって構成されても良い。
【符号の説明】
【０１６５】
１０…車両、２１…第１電動機、２２…第２電動機、２３…内燃機関、２４…動力分割機構、３１…蓄電池、３２…昇圧コンバータ、３３…第１インバータ、３４…第２インバータ、４０…ＥＣＵ、６０…運行支援装置、１８…駆動回路、ＥＣＵ…２０。
【図１】
2017024571.tif 000003
【図２】
2017024571.tif 000004
【図３】
2017024571.tif 000005
【図４】
2017024571.tif 000006
【図５】
2017024571.tif 000007
【図６】
2017024571.tif 000008
【図７】
2017024571.tif 000009
【図８】
2017024571.tif 000010
【図９】
2017024571.tif 000011
【図１０】
2017024571.tif 000012