(57)【要約】【課題】走行状態によって勾配学習の精度が低下するのを抑制可能な車両を提供する。【解決手段】ＨＶ−ＥＣＵ１００は、道路区間を走行したときの走行状態から、走行した区間の道路勾配を算出する。ナビゲーション装置１３０は、道路区間の走行中に、車速が第１の所定値以下であり、かつ、走行加速度の大きさが第２の所定値以下である場合に、走行した道路区間の道路勾配の算出結果を道路勾配の学習結果として地図情報ＤＢに記憶する。一方、車速が第１の所定値よりも高いか、又は、加速度の大きさが第２の所定値よりも大きい場合には、ナビゲーション装置１３０は、走行した道路区間の道路勾配の算出結果を記憶しない。【選択図】図１
2018040773.tif 000002
【特許請求の範囲】
【請求項１】
所定の道路区間毎に、前記道路区間の道路勾配に関する情報を記憶する記憶部と、
前記道路区間を走行したときの走行状態から、走行した前記道路区間の道路勾配を算出する制御装置とを備え、
前記制御装置は、
前記道路区間の走行中に、走行速度が第１の所定値以下である第１の条件、走行加速度の大きさが第２の所定値以下である第２の条件、又は、前記第１及び第２の条件の双方が成立する第３の条件が成立した場合に、走行した前記道路区間の道路勾配の算出結果を前記道路勾配の学習結果として前記記憶部に記憶し、
前記道路区間の走行中に、前記第１の条件が成立しない場合、前記第２の条件が成立しない場合、又は前記第３の条件が成立しない場合には、走行した前記道路区間の道路勾配の算出結果を前記記憶部に記憶しない、車両。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、走行した道路区間の道路勾配を学習可能な車両に関する。
【背景技術】
【０００２】
特開２０１４−２４４８７号公報（特許文献１）は、走行路の路面勾配に関する勾配情報を学習する勾配情報学習装置を開示する。勾配情報は、路面勾配に起因して自車が受ける加速度を意味する勾配抵抗を含む。この勾配情報学習装置では、車両の駆動力や、実加速度、車速、走行抵抗による減速度等に基づいて、勾配抵抗が推定される。
【０００３】
この勾配情報学習装置においては、水濡れ又は積雪の路面状態やタイヤのスリップ率が増加した状態等のように自車の走行状態が通常と異なる場合には、勾配情報の学習が実施されない。これにより、推定精度の低い勾配情報による誤った学習を防ぐことができる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２４４８７号公報
【特許文献２】特開２０１１−２３５６９５号公報
【特許文献３】特開２０１４−５１２６７号公報
【特許文献４】特開２００２−７１００９号公報
【特許文献５】特開２００９−２７４５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
水濡れ又は積雪の路面状態やスリップ率が増加した状態等のように走行状態が通常と異なる場合に、勾配情報の学習を実施しないことにより、勾配の学習精度は向上し得るけれども、走行状態が通常と異なる場合以外においても、走行状態によっては勾配の学習精度が低下する可能性がある。
【０００６】
この発明は、かかる問題を解決するためになされたものであり、その目的は、走行状態によって勾配学習の精度が低下するのを抑制可能な車両を提供することである。
【課題を解決するための手段】
【０００７】
本開示の車両は、記憶部と、制御装置とを備える。記憶部は、所定の道路区間毎に、道路区間の道路勾配に関する情報を記憶する。制御装置は、道路区間を走行したときの走行状態から、走行した道路区間の道路勾配を算出する。ここで、制御装置は、道路区間の走行中に、走行速度が第１の所定値以下である第１の条件、走行加速度の大きさが第２の所定値以下である第２の条件、又は、第１及び第２の条件の双方が成立する第３の条件が成立した場合に、走行した道路区間の道路勾配の算出結果を道路勾配の学習結果として記憶部に記憶する。一方、道路区間の走行中に、第１の条件が成立しない場合、第２の条件が成立しない場合、又は第３の条件が成立しない場合には、制御装置は、走行した道路区間の道路勾配の算出結果を記憶部に記憶しない。
【０００８】
上記の車両においては、道路区間を走行したときの走行状態から、走行した道路区間の勾配が算出される。ここで、車両の速度が高い場合には、勾配を算出するモデル（算出式）の誤差が顕著となり、勾配の学習精度が低下する可能性がある。また、車両の加減速度が大きい場合にも、演算処理の遅れ（応答遅れ）等による勾配の推定誤差が顕著となり、勾配の学習精度が低下する可能性がある。そこで、この車両では、道路区間の走行中に、車速が第１の所定値よりも高い場合（第１の条件が成立しない場合）、加速度の大きさが第２の所定値よりも大きい場合（第２の条件が成立しない場合）、又は、第１及び第２の条件の双方が成立する第３の条件が成立しない場合には、走行した道路区間の道路勾配の算出結果が記憶部に記憶されない。これにより、精度の低い道路勾配の算出結果が勾配の学習結果として記憶部に記憶されるのを抑制することができる。
【発明の効果】
【０００９】
したがって、本開示によれば、走行状態によって勾配学習の精度が低下するのを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に従う車両の全体構成図である。
【図２】ＨＶ−ＥＣＵ、各種センサ及びナビゲーション装置について詳細な構成を示したブロック図である。
【図３】ＨＶ−ＥＣＵによって実行される走行制御の処理手順を説明するフローチャートである。
【図４】充放電要求パワーの算出方法の一例を示した図である。
【図５】下り坂ＳＯＣ制御を説明するための図である。
【図６】ＨＶ−ＥＣＵにより実行される下り坂ＳＯＣ制御の処理手順を説明するフローチャートである。
【図７】図６のステップＳ１１５において実行される制御対象探索処理の一例を説明するフローチャートである。
【図８】ＨＶ−ＥＣＵにより算出される勾配演算値の有効性を判定する処理の手順を説明するフローチャートである。
【図９】ナビゲーションＥＣＵにより実行される勾配学習の処理手順を説明するフローチャートである。
【図１０】ＨＶ−ＥＣＵにより実行される勾配演算の処理手順を説明するフローチャートである。
【図１１】変形例における勾配演算値の有効性を判定する処理の手順を説明するフローチャートである。
【図１２】他の変形例における勾配演算値の有効性を判定する処理の手順を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１２】
図１は、実施の形態に従う車両１の全体構成図である。図１を参照して、車両１は、エンジン１０と、第１モータジェネレータ（以下「第１ＭＧ」と称する。）２０と、第２モータジェネレータ（以下「第２ＭＧ」と称する。）３０と、動力分割装置４０と、ＰＣＵ（Power  Control  Unit）５０と、蓄電装置６０と、駆動輪８０とを備える。
【００１３】
この車両１は、エンジン１０の動力及び第２ＭＧ３０の動力の少なくとも一方によって走行するハイブリッド車両である。なお、本実施の形態では、車両１がハイブリッド車両である場合について代表的に説明されるが、本実施の形態に従う車両は、走行用のモータジェネレータを備える電動車両であればよく、ハイブリッド車両には限定されない。
【００１４】
エンジン１０は、空気と燃料との混合気を燃焼させたときに生じる燃焼エネルギをピストンやロータなどの運動子の運動エネルギに変換することによって動力を出力する内燃機関である。動力分割装置４０は、たとえば、サンギヤ、キャリア、リングギヤの３つの回転軸を有する遊星歯車機構を含む。動力分割装置４０は、エンジン１０から出力される動力を、第１ＭＧ２０を駆動する動力と、駆動輪８０を駆動する動力とに分割する。
【００１５】
第１ＭＧ２０及び第２ＭＧ３０は、交流電動機であり、たとえば、ロータに永久磁石が埋設された三相交流同期電動機である。第１ＭＧ２０は、主として、動力分割装置４０を経由してエンジン１０により駆動される発電機として用いられる。第１ＭＧ２０が発電した電力は、ＰＣＵ５０を介して第２ＭＧ３０又は蓄電装置６０へ供給される。
【００１６】
第２ＭＧ３０は、主として電動機として動作し、駆動輪８０を駆動する。第２ＭＧ３０は、蓄電装置６０からの電力及び第１ＭＧ２０の発電電力の少なくとも一方を受けて駆動され、第２ＭＧ３０の駆動力は駆動輪８０に伝達される。一方、車両１の制動時や下り坂での加速度低減時には、第２ＭＧ３０は、発電機として動作して回生発電を行なう。第２ＭＧ３０が発電した電力は、ＰＣＵ５０を介して蓄電装置６０に回収される。
【００１７】
ＰＣＵ５０は、蓄電装置６０から受ける直流電力を、第１ＭＧ２０及び第２ＭＧ３０を駆動するための交流電力に変換する。また、ＰＣＵ５０は、第１ＭＧ２０及び第２ＭＧ３０により発電された交流電力を、蓄電装置６０を充電するための直流電力に変換する。ＰＣＵ５０は、たとえば、第１ＭＧ２０及び第２ＭＧ３０に対応して設けられる２つのインバータと、各インバータに供給される直流電圧を蓄電装置６０の電圧以上に昇圧するコンバータとを含んで構成される。
【００１８】
蓄電装置６０は、再充電可能な直流電源であり、たとえばリチウムイオン電池やニッケル水素電池等の二次電池を含んで構成される。蓄電装置６０は、第１ＭＧ２０及び第２ＭＧ３０の少なくとも一方が発電した電力を受けて充電される。そして、蓄電装置６０は、その蓄えられた電力をＰＣＵ５０へ供給する。なお、蓄電装置６０として電気二重層キャパシタ等も採用可能である。
【００１９】
また、蓄電装置６０には、蓄電装置６０の電圧、入出力電流及び温度をそれぞれ検出する電圧センサ、電流センサ及び温度センサが設けられており、各センサの検出値がＢＡＴ−ＥＣＵ１１０へ出力される。
【００２０】
車両１は、さらに、ＨＶ−ＥＣＵ（Electronic  Control  Unit）１００と、ＢＡＴ−ＥＣＵ１１０と、各種センサ１２０と、ナビゲーション装置１３０と、ＨＭＩ（Human  Machine  Interface）装置１４０とを備える。
【００２１】
図２は、ＨＶ−ＥＣＵ１００、各種センサ１２０及びナビゲーション装置１３０について詳細な構成を示したブロック図である。図１とともに図２を参照して、ＨＶ−ＥＣＵ１００、ＢＡＴ−ＥＣＵ１１０、ナビゲーション装置１３０、及びＨＭＩ装置１４０は、ＣＡＮ（Controller  Area  Network）１５０を通じて互いに通信可能に構成されている。
【００２２】
各種センサ１２０は、アクセルペダルセンサ１２２、車速センサ１２４、ブレーキペダルセンサ１２６等を含む。アクセルペダルセンサ１２２は、ユーザによるアクセルペダル操作量（以下「アクセル開度」とも称する。）ＡＣＣを検出する。車速センサ１２４は、車両１の車速ＶＳを検出する。ブレーキペダルセンサ１２６は、ユーザによるブレーキペダル操作量ＢＰを検出する。これらの各センサは、検出結果をＨＶ−ＥＣＵ１００へ出力する。
【００２３】
ＨＶ−ＥＣＵ１００は、ＣＰＵ（Central  Processing  Unit）、処理プログラム等を記憶するＲＯＭ（Read  Only  Memory）、データを一時的に記憶するＲＡＭ（Random  Access  Memory）、各種信号を入出力するための入出力ポート（図示せず）等を含み、メモリ（ＲＯＭ及びＲＡＭ）に記憶された情報や各種センサ１２０からの情報に基づいて、所定の演算処理を実行する。そして、ＨＶ−ＥＣＵ１００は、演算処理の結果に基づいて、エンジン１０、ＰＣＵ５０、ナビゲーション装置１３０、及びＨＭＩ装置１４０等の各機器を制御する。
【００２４】
また、ＨＶ−ＥＣＵ１００は、ナビゲーション装置１３０と協働して、車両１の走行予定経路において所定の条件を満たす制御対象区間（下り坂区間又は上り坂区間）を特定し、その特定された制御対象区間への進入前にその制御対象区間に応じて蓄電装置６０のＳＯＣを予め変更する「ＳＯＣ制御」を実行する。
【００２５】
なお、以下では、制御対象区間は、単に「制御対象」とも称される。また、制御対象が下り坂区間の場合には、ＳＯＣ制御は「下り坂ＳＯＣ制御」と称され、制御対象が上り坂区間の場合には、ＳＯＣ制御は「上り坂ＳＯＣ制御」と称される。また、下り坂ＳＯＣ制御及び上り坂ＳＯＣ制御を纏めて単に「ＳＯＣ制御」と称する場合もある。ＨＶ−ＥＣＵ１００により実行される、上記ＳＯＣ制御を含む各種制御については、後程詳しく説明する。
【００２６】
ここで、制御対象区間の特定には、走行予定経路の勾配情報が用いられるところ、ＨＶ−ＥＣＵ１００は、車両１の走行状態（車速や加速度等）に基づいて、車両１が走行した道路の勾配を算出する。より詳しくは、ＨＶ−ＥＣＵ１００は、車両１が走行した道路区間毎に、車両１の走行状態に基づいて道路勾配を算出する。そして、ＨＶ−ＥＣＵ１００は、算出された道路勾配を、ＣＡＮ１５０を通じてナビゲーション装置１３０へ送信する。ナビゲーション装置１３０へ送信された勾配の算出結果は、所定の勾配学習条件が成立している場合に、ナビゲーション装置１３０において地図情報として記憶（学習）される。この点については、後ほど詳しく説明する。
【００２７】
ＢＡＴ−ＥＣＵ１１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート等を含み（いずれも図示せず）、蓄電装置６０の入出力電流及び／又は電圧の検出値に基づいて蓄電装置６０のＳＯＣを算出する。ＳＯＣは、たとえば、蓄電装置６０の満充電容量に対する現在の蓄電量を百分率で表わしたものである。そして、ＢＡＴ−ＥＣＵ１１０は、ＳＯＣの算出値をＨＶ−ＥＣＵ１００へ出力する。なお、ＨＶ−ＥＣＵ１００においてＳＯＣを算出してもよい。
【００２８】
ナビゲーション装置１３０は、ナビゲーションＥＣＵ１３２と、地図情報データベース（ＤＢ）１３４と、ＧＰＳ（Global  Positioning  System）受信部１３６と、交通情報受信部１３８とを含む。
【００２９】
地図情報ＤＢ１３４は、ハードディスクドライブ（ＨＤＤ）等によって構成され、地図情報を記憶している。地図情報は、交差点等を示す「ノード」、ノード同士を接続する「リンク」、及びリンク沿いにある「施設」（建物や駐車場等）に関するデータを含む。なお、各ノードには、ノードの位置情報が付随しており、各リンクには、そのリンクに対応する道路区間の勾配情報（平均勾配値やリンク両端の標高等）や距離情報等が付随している。
【００３０】
ＧＰＳ受信部１３６は、ＧＰＳ衛星（図示せず）からの信号（電波）に基づいて車両１の現在位置を取得し、その位置を示す信号をナビゲーションＥＣＵ１３２へ出力する。交通情報受信部１３８は、ＦＭ多重放送等によって提供されている道路交通情報（たとえばＶＩＣＳ（登録商標）情報）を受信する。この道路交通情報は、少なくとも渋滞情報を含み、その他交通規制情報や速度規制情報、駐車場情報等も含み得る。
【００３１】
ナビゲーションＥＣＵ１３２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート（図示せず）等を含み、地図情報ＤＢ１３４、ＧＰＳ受信部１３６及び交通情報受信部１３８から受ける各種情報や信号に基づいて、車両１の現在位置、並びにその周辺の地図情報及び渋滞情報等をＨＭＩ装置１４０及びＨＶ−ＥＣＵ１００へ出力する。
【００３２】
また、ナビゲーションＥＣＵ１３２は、ＨＭＩ装置１４０においてユーザにより車両１の目的地が入力されると、車両１の現在位置から目的地までの経路（走行予定経路）を地図情報ＤＢ１３４に基づいて探索する。この走行予定経路は、車両１の現在位置から目的地までのノード及びリンクの集合によって構成される。そして、ナビゲーションＥＣＵ１３２は、車両１の現在位置から目的地までの探索結果（ノード及びリンクの集合）をＨＭＩ装置１４０へ出力する。また、ナビゲーションＥＣＵ１３２は、ＨＶ−ＥＣＵ１００からの求めに応じて、走行予定経路の探索結果のうち、現在位置から所定範囲（たとえば１０ｋｍ）内の経路情報をＨＶ−ＥＣＵ１００へ出力する。なお、この経路情報は、ＨＶ−ＥＣＵ１００におけるＳＯＣ制御に用いられる（後述）。
【００３３】
また、ナビゲーションＥＣＵ１３２は、車両１が走行した道路区間毎に、ＨＶ−ＥＣＵ１００により算出された勾配演算値をＨＶ−ＥＣＵ１００からＣＡＮ１５０を通じて受信する。そして、所定の勾配学習条件が成立している場合に、ナビゲーションＥＣＵ１３２は、ＨＶ−ＥＣＵ１００により算出された勾配演算値を、走行した道路区間と対応付けて地図情報ＤＢ１３４に記憶（学習）する。この点についても、後ほど詳しく説明する。
【００３４】
ＨＭＩ装置１４０は、車両１の運転を支援するための情報を搭乗者（代表的には運転者）に提供する装置である。ＨＭＩ装置１４０は、代表的には、車両１の室内に設けられたディスプレイ（視覚情報表示装置）であり、スピーカ（聴覚情報出力装置）等も含む。ＨＭＩ装置１４０は、視覚情報（図形情報、文字情報）や聴覚情報（音声情報、音情報）等を出力することによって様々な情報をユーザに提供する。
【００３５】
また、ＨＭＩ装置１４０は、ナビゲーション装置１３０のディスプレイとして機能する。すなわち、ＨＭＩ装置１４０は、車両１の現在位置、並びにその周辺の地図情報及び渋滞情報等をナビゲーション装置１３０からＣＡＮ１５０を通じて受信し、車両１の現在位置をその周辺の地図情報及び渋滞情報とともに表示する。
【００３６】
また、ＨＭＩ装置１４０は、ユーザが操作可能なタッチパネルとしても作動し、ユーザは、タッチパネルに触れることによって、たとえば、表示されている地図の縮尺を変更したり、車両１の目的地を入力したりすることができる。ＨＭＩ装置１４０において目的地が入力されると、その目的地の位置情報がＣＡＮ１５０を通じてナビゲーション装置１３０へ送信される。
【００３７】
上述のように、ナビゲーションＥＣＵ１３２は、ＨＶ−ＥＣＵ１００からの求めに応じて（たとえば１分毎）、走行予定経路における、現在位置から所定範囲（たとえば１０ｋｍ）内の情報（以下「走行予定経路情報」と称する。）をＨＶ−ＥＣＵ１００へ出力する。ＨＶ−ＥＣＵ１００は、ナビゲーションＥＣＵ１３２から走行予定経路情報を取得すると、その走行予定経路情報に基づいて、ＳＯＣ制御を実行すべき制御対象（下り坂区間又は上り坂区間）を探索する。そして、ＳＯＣ制御を実行すべき制御対象が存在する場合に、ＨＶ−ＥＣＵ１００は、探索された制御対象に対応するＳＯＣ制御（下り坂ＳＯＣ制御又は上り坂ＳＯＣ制御）を実行する。この点については、後ほど詳しく説明する。
【００３８】
以下では、ＳＯＣ制御の詳細な説明に先立ち、ＨＶ−ＥＣＵ１００によって実行される車両１の走行制御について説明する。
【００３９】
＜走行制御＞
図３は、ＨＶ−ＥＣＵ１００によって実行される走行制御の処理手順を説明するフローチャートである。このフローチャートに示される一連の処理は、たとえば車両１のシステムスイッチ等がオンされている場合に所定時間毎に繰り返し実行される。
【００４０】
図３を参照して、ＨＶ−ＥＣＵ１００は、アクセルペダルセンサ１２２及び車速センサ１２４からそれぞれアクセル開度ＡＣＣ及び車速ＶＳの検出値を取得するとともに、蓄電装置６０のＳＯＣの算出値をＢＡＴ−ＥＣＵ１１０から取得する（ステップＳ１０）。
【００４１】
次いで、ＨＶ−ＥＣＵ１００は、取得されたアクセル開度ＡＣＣ及び車速ＶＳの検出値に基づいて、車両１に対する要求トルクＴｒを算出する（ステップＳ１５）。たとえば、アクセル開度ＡＣＣと、車速ＶＳと、要求トルクＴｒとの関係を示すマップを事前に準備してＨＶ−ＥＣＵ１００のＲＯＭに記憶しておき、そのマップを用いて、アクセル開度ＡＣＣ及び車速ＶＳの検出値に対応する要求トルクＴｒを算出することができる。そして、ＨＶ−ＥＣＵ１００は、算出された要求トルクＴｒに車速ＶＳを乗算することによって、車両１の走行パワーＰｄ（要求値）を算出する（ステップＳ２０）。
【００４２】
続いて、ＨＶ−ＥＣＵ１００は、蓄電装置６０に対する充放電要求パワーＰｂを算出する（ステップＳ２５）。この充放電要求パワーＰｂは、蓄電装置６０のＳＯＣ（実績値）とその目標との差ΔＳＯＣに基づいて算出される。充放電要求パワーＰｂが正の値であるときは、蓄電装置６０に対して充電が要求されることを示し、充放電要求パワーＰｂが負の値であるときは、蓄電装置６０に対して放電が要求されることを示す。
【００４３】
図４は、充放電要求パワーＰｂの算出方法の一例を示した図である。図４を参照して、蓄電装置６０のＳＯＣ（実績値）と、ＳＯＣの制御目標を示す目標ＳＯＣとの差ΔＳＯＣが正の値であるとき（ＳＯＣ＞目標ＳＯＣ）、充放電要求パワーＰｂは負の値となり（放電要求）、ΔＳＯＣの絶対値が大きいほど充放電要求パワーＰｂの絶対値も大きくなる。一方、ΔＳＯＣが負の値であるとき（ＳＯＣ＜目標ＳＯＣ）、充放電要求パワーＰｂは正の値となり（充電要求）、ΔＳＯＣの絶対値が大きいほど充放電要求パワーＰｂの絶対値も大きくなる。なお、この例では、ΔＳＯＣの絶対値が小さい場合には、充放電要求パワーＰｂを０とする不感帯が設けられている。
【００４４】
再び図３を参照して、ＨＶ−ＥＣＵ１００は、以下の式（１）に示されるように、ステップＳ２０において算出された走行パワーＰｄと、ステップＳ２５において算出された充放電要求パワーＰｂと、所定のシステム損失Ｐｌｏｓｓとの合計値を、エンジン１０に対して要求されるエンジン要求パワーＰｅとして算出する（ステップＳ３０）。
【００４５】
Ｐｅ＝Ｐｄ＋Ｐｂ＋Ｐｌｏｓｓ  …（１）
次いで、ＨＶ−ＥＣＵ１００は、算出されたエンジン要求パワーＰｅが所定のエンジン始動しきい値Ｐｅｔｈよりも大きいか否かを判定する（ステップＳ３５）。なお、エンジン始動しきい値Ｐｅｔｈは、エンジン１０が所定の運転効率よりも高い運転効率で運転され得る値に設定される。
【００４６】
ステップＳ３５においてエンジン要求パワーＰｅがしきい値Ｐｅｔｈよりも大きいと判定されると（ステップＳ３５においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、エンジン１０を始動するようにエンジン１０を制御する（ステップＳ４０）。なお、エンジン１０が既に運転中であれば、このステップはスキップされる。そして、ＨＶ−ＥＣＵ１００は、エンジン１０及び第２ＭＧ３０の双方からの出力を用いて車両１が走行するようにエンジン１０及びＰＣＵ５０を制御する。すなわち、車両１は、エンジン１０及び第２ＭＧ３０の出力を用いたハイブリッド走行（ＨＶ走行）を行なう（ステップＳ４５）。
【００４７】
一方、ステップＳ３５においてエンジン要求パワーＰｅがしきい値Ｐｅｔｈ以下であると判定されると（ステップＳ３５においてＮＯ）、ＨＶ−ＥＣＵ１００は、エンジン１０を停止するようにエンジン１０を制御する（ステップＳ５０）。なお、エンジン１０が既に停止中であれば、このステップはスキップされる。そして、ＨＶ−ＥＣＵ１００は、第２ＭＧ３０の出力のみを用いて車両１が走行するようにＰＣＵ５０を制御する。すなわち、車両１は、第２ＭＧ３０の出力のみを用いた電動機走行（ＥＶ走行）を行なう（ステップＳ５５）。
【００４８】
なお、特に図示しないが、ＨＶ−ＥＣＵ１００は、蓄電装置６０のＳＯＣが下限値ＳＬまで低下した場合には、エンジン要求パワーＰｅがエンジン始動しきい値Ｐｅｔｈ以下であってもエンジン１０を強制的に始動するようにエンジン１０を制御し、第１ＭＧ２０による蓄電装置６０の強制充電を実行する。一方、蓄電装置６０のＳＯＣが上限値ＳＵまで上昇した場合には、ＨＶ−ＥＣＵ１００は、蓄電装置６０への入力電力の上限値を示す上限電力Ｗｉｎを０に設定する等して蓄電装置６０の充電を抑制する。
【００４９】
上記において、ＳＯＣ（実績値）が目標ＳＯＣよりも高いときは（ΔＳＯＣ＞０）、充放電要求パワーＰｂは負の値となるので、ＳＯＣが目標ＳＯＣに制御されている場合に比べて、エンジン要求パワーＰｅが小さくなることによりエンジン１０は始動されにくい状態となることが理解される。その結果、蓄電装置６０の放電が促進され、ＳＯＣは低下傾向を示す。
【００５０】
一方、ＳＯＣが目標ＳＯＣよりも低いときは（ΔＳＯＣ＜０）、充放電要求パワーＰｂは正の値となるので、ＳＯＣが目標ＳＯＣに制御されている場合に比べて、エンジン要求パワーＰｅが大きくなることによりエンジン１０は始動され易い状態となることが理解される。その結果、蓄電装置６０の充電が促進され、ＳＯＣは上昇傾向を示す。
【００５１】
次に、ＨＶ−ＥＣＵ１００により実行されるＳＯＣ制御について説明する。上述のように、ＨＶ−ＥＣＵ１００により実行されるＳＯＣ制御には、（１）走行予定経路に制御対象としての下り坂区間が存在する場合に実行される「下り坂ＳＯＣ制御」、（２）走行予定経路に制御対象としての上り坂区間が存在する場合に実行される「上り坂ＳＯＣ制御」がある。下り坂ＳＯＣ制御と上り坂ＳＯＣ制御とは、上り坂と下り坂による違い以外は類似しているので、以下では、下り坂ＳＯＣ制御について代表的に説明する。
【００５２】
＜下り坂ＳＯＣ制御＞
図５は、下り坂ＳＯＣ制御を説明するための図である。図５を参照して、横軸は、車両１の走行予定経路の各地点を示す。図示されている例では、走行予定経路の区間１〜区間８（リンク１〜リンク８）が示されており、隣接する区間同士の接続点はノードである。縦軸は、各区間の道路の標高、及び蓄電装置６０のＳＯＣを示す。
【００５３】
ＨＶ−ＥＣＵ１００は、車両１の現在位置及び走行予定経路情報をナビゲーション装置１３０から取得し、これらの情報に基づいて、下り坂ＳＯＣ制御の制御対象となる下り坂区間（対象下り坂区間）を探索する。たとえば、走行予定経路において車両１の現在位置から所定範囲（たとえば１０ｋｍ）内に所定の標高差を有しかつ所定長以上の下り坂が存在する場合に、ＨＶ−ＥＣＵ１００は、その下り坂区間を対象下り坂区間として特定する。図５では、地点Ｐ２０において、制御対象（対象下り坂区間）の探索が行なわれ、区間４〜区間６が対象下り坂区間であると特定された場合が示されている。
【００５４】
実線Ｌ２１は、蓄電装置６０の目標ＳＯＣを示す。また、実線Ｌ２２は、下り坂ＳＯＣ制御が実行される場合のＳＯＣの推移を示し、点線Ｌ２３は、比較例として、下り坂ＳＯＣ制御が実行されない場合のＳＯＣの推移を示す。
【００５５】
ＨＶ−ＥＣＵ１００は、通常走行時（ＳＯＣ制御の非実行時）は、蓄電装置６０の目標ＳＯＣをＳｎに設定する（たとえば区間１や区間７，８）。仮に、蓄電装置６０のＳＯＣがＳｎに制御されたままで車両１が下り坂区間（区間４〜区間６）に進入すると、下り坂区間では第２ＭＧ３０により回生発電が行なわれることにより蓄電装置６０が充電されるので、ＳＯＣはＳｎから上昇する（点線Ｌ２３）。そして、下り坂区間の走行中に地点Ｐ２５ａにおいてＳＯＣが上限値ＳＵまで上昇すると（オーバーフローの発生）、下り坂を走行しているにも拘わらず第２ＭＧ３０により回生発電された電力を蓄電装置６０に蓄えることができず、回収可能なエネルギを捨てることになるとともに、蓄電装置６０の劣化も促進され得る。
【００５６】
そこで、この実施の形態に従う車両１では、対象下り坂区間（区間４〜区間６）が特定され、その対象下り坂区間の開始地点Ｐ２３より所定距離手前の地点Ｐ２１ａに車両１が到達すると、ＨＶ−ＥＣＵ１００は、目標ＳＯＣをＳｎからＳｎよりも低いＳｄに変更する（実線Ｌ２１）。これにより、ＳＯＣが目標ＳＯＣよりも高い状態となり（ΔＳＯＣ＞０）、上述のように、蓄電装置６０の放電が促進され、ＳＯＣは低下する（区間２，３における実線Ｌ２２）。
【００５７】
なお、上記の所定距離は、対象下り坂区間の開始地点Ｐ２３に車両１が到達するまでにＳＯＣをＳｄに近づけるために十分な距離に設定される。この図５では、対象下り坂区間の開始地点Ｐ２３に車両１が到達するまでに、ＳＯＣがＳｄまで低下している。これにより、対象下り坂区間（区間４〜区間６）の走行中にＳＯＣが上限値ＳＵまで上昇するのを抑制し、蓄電装置６０の劣化や回収可能なエネルギを捨てることによる燃費低下が抑制される。
【００５８】
対象下り坂区間の終了地点Ｐ２６に車両１が到達すると、ＨＶ−ＥＣＵ１００は、下り坂ＳＯＣ制御を終了し、目標ＳＯＣをＳｄからＳｎに復帰させる。なお、目標ＳＯＣがＳｎからＳｄに変更される地点Ｐ２１ａ（下り坂ＳＯＣ制御の開始地点）から対象下り坂区間の開始地点Ｐ２３までの区間は「プレユース区間」とも称される。また、プレユース区間と対象下り坂区間とを合わせた区間（目標ＳＯＣがＳｎからＳｄに変更されている区間）は「下り坂ＳＯＣ制御区間」とも称される。
【００５９】
図６は、ＨＶ−ＥＣＵ１００により実行される下り坂ＳＯＣ制御の処理手順を説明するフローチャートである。なお、このフローチャートに示される一連の処理は、たとえば車両１のシステムスイッチ等がオンされている場合に所定時間毎に繰り返し実行される。
【００６０】
図６を参照して、ＨＶ−ＥＣＵ１００は、先読み情報の更新タイミングであるか否かを判定する（ステップＳ１１０）。先読み情報とは、走行予定経路において車両１の現在位置から所定範囲（たとえば１０ｋｍ）内における道路区間の情報、及びその道路区間において探索される制御対象（対象下り坂区間）に関する情報である。先読み情報の更新タイミングは、たとえば、車両１の走行経路が変更されたとき（走行予定経路から車両１が離脱したとき）、所定時間（たとえば１分）経過したとき、所定距離走行したとき、制御対象（対象下り坂区間）を通過したとき等である。
【００６１】
ステップＳ１１０において先読み情報の更新タイミングであると判定されると（ステップＳ１１０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、ナビゲーション装置１３０から取得される走行予定経路情報に基づいて、制御対象（対象下り坂区間）の探索処理を実行する（ステップＳ１１５）。この探索処理については、後ほど説明する。なお、ステップＳ１１０において先読み情報の更新タイミングではないと判定されると（ステップＳ１１０においてＮＯ）、ＨＶ−ＥＣＵ１００は、ステップＳ１１５の処理を実行することなくステップＳ１２０へ処理を移行する。
【００６２】
次いで、ＨＶ−ＥＣＵ１００は、走行予定経路に制御対象（対象下り坂区間）が存在するか否かを判定する（ステップＳ１２０）。より詳しくは、走行予定経路において車両１の現在位置から所定範囲（たとえば１０ｋｍ）内に制御対象（対象下り坂区間）が存在するか否かが判定される。走行予定経路に制御対象（対象下り坂区間）は無いと判定されると（ステップＳ１２０においてＮＯ）、ＨＶ−ＥＣＵ１００は、以降の一連の処理を実行することなくリターンへと処理を移行する。
【００６３】
ステップＳ１２０において走行予定経路に制御対象（対象下り坂区間）が有ると判定されると（ステップＳ１２０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、先読み情報に基づいて、車両１の現在位置から制御対象（対象下り坂区間）の開始地点までの距離ｄｔａｇを算出する（ステップＳ１２５）。さらに、ＨＶ−ＥＣＵ１００は、先読み情報に基づいて、車両１の現在位置から制御対象（対象下り坂区間）を通過するまでの距離ｄｅｎｄを算出する（ステップＳ１３０）。
【００６４】
そして、ＨＶ−ＥＣＵ１００は、ステップＳ１２５において算出された距離ｄｔａｇが距離Ｄｓｏｃを下回っているか否かを判定する（ステップＳ１３５）。距離ｄｔａｇが距離Ｄｓｏｃ以上である場合は（ステップＳ１３５においてＮＯ）、ＨＶ−ＥＣＵ１００は、以降の処理を実行することなくリターンへと処理を移行する。
【００６５】
ステップＳ１３５において距離ｄｔａｇが距離Ｄｓｏｃを下回っていると判定されると（ステップＳ１３５においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、下り坂ＳＯＣ制御（プレユース制御）を開始する（ステップＳ１４０）。具体的には、図５で説明したように、ＨＶ−ＥＣＵ１００は、蓄電装置６０の目標ＳＯＣをＳｎからＳｎよりも低いＳｄに変更する。これにより、車両１が制御対象（対象下り坂区間）に進入する前に蓄電装置６０のＳＯＣが予め下げられる。なお、下り坂ＳＯＣ制御が既に実行中の場合には、下り坂ＳＯＣ制御の実行が継続される。
【００６６】
次いで、ＨＶ−ＥＣＵ１００は、ステップＳ１３０において算出された距離ｄｅｎｄが０以下であるか否かを判定する（ステップＳ１４５）。距離ｄｅｎｄが０よりも大きい場合は（ステップＳ１４５においてＮＯ）、ＨＶ−ＥＣＵ１００は、リターンへと処理を移行する。
【００６７】
ステップＳ１４５において距離ｄｅｎｄが０以下であると判定されると（ステップＳ１４５においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、下り坂ＳＯＣ制御（プレユース制御）を終了する（ステップＳ１５０）。具体的には、ＨＶ−ＥＣＵ１００は、蓄電装置６０の目標ＳＯＣをＳｄからＳｎに復帰させる。
【００６８】
以上のような一連の処理によって、車両１の現在位置から対象下り坂区間の開始地点までの距離ｄｔａｇが距離Ｄｓｏｃを下回ると、下り坂ＳＯＣ制御が開始される。その後、車両１の現在位置から制御対象（対象下り坂区間）を通過するまでの距離ｄｅｎｄが０以下になると、下り坂ＳＯＣ制御が終了する。
【００６９】
図７は、図６のステップＳ１１５において実行される制御対象探索処理の一例を説明するフローチャートである。図７を参照して、ＨＶ−ＥＣＵ１００は、走行予定経路情報をナビゲーション装置１３０から取得する（ステップＳ２１０）。走行予定経路情報は、詳細には、走行予定経路を構成する道路区間であって、車両１の現在位置から所定範囲（たとえば１０ｋｍ）内の道路区間に関する情報を含み、当該道路区間を構成するノード及びリンクの集合並びに各リンクの勾配情報等を含んで構成される。以下では、走行予定経路情報に含まれるリンク（区間）の総数を「先読みデータ総数」とも称する。
【００７０】
ＨＶ−ＥＣＵ１００は、走行予定経路情報として取得された道路区間に対して、車両１の現在位置が属する区間（リンク）を区間１と規定し、区間１に続く各区間を順次区間２、区間３・・・というように便宜上の順番を付す。そして、ＨＶ−ＥＣＵ１００は、カウンタｉに初期値「１」を設定する（ステップＳ２１５）。
【００７１】
次いで、ＨＶ−ＥＣＵ１００は、区間ｉの勾配情報を読込む（ステップＳ２２０）。区間ｉの勾配情報は、区間ｉに対応するリンクの情報として地図情報ＤＢ１３４（図２）に記憶されており、ステップＳ２１０において取得される走行予定経路情報に含まれる区間ｉの情報に付随している。
【００７２】
そして、ＨＶ−ＥＣＵ１００は、走行予定経路情報として取得された道路区間において、区間ｉが最終であるか否かを判定する（ステップＳ２２５）。区間ｉが最終でない場合は（ステップＳ２２５においてＮＯ）、ＨＶ−ＥＣＵ１００は、カウンタｉをカウントアップし（ステップＳ２３０）、ステップＳ２２０へ処理を戻す。
【００７３】
ステップＳ２２５において区間ｉが最終であると判定されると（ステップＳ２２５においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、各区間の距離情報及び勾配情報に基づいて、制御対象（対象下り坂区間）を特定する（ステップＳ２３５）。たとえば、走行予定経路情報として取得された道路区間において、道路勾配が所定勾配以上の下り勾配を有する区間が単数又は連続して複数存在し（以下「下り区間群」とも称する。）、当該下り区間群の開始地点と終了地点との標高差が所定標高差以上であり、さらに、当該下り区間群の距離が所定距離以上である等の所定の条件が成立する場合に、ＨＶ−ＥＣＵ１００は、その下り区間群を下り坂ＳＯＣ制御の制御対象（対象下り坂区間）として特定する。詳細には、制御対象（対象下り坂区間）について、下り坂開始地点及び下り坂終了地点、並びに下り坂長（対象下り坂区間の長さ）等が特定される。
【００７４】
このようにして、図６のステップＳ１１５において、制御対象（対象下り坂区間）が探索される。
【００７５】
＜勾配学習の説明＞
上述のように、制御対象（対象下り坂区間又は対象上り坂区間）の特定には、道路の勾配情報が用いられるところ、この実施の形態では、車両１の走行状態（車速や加速度等）に基づいて道路勾配が学習される。道路勾配は、車両１の駆動力や、実加速度、車速、走行抵抗による減速度等に基づいて学習される（後述）。
【００７６】
道路勾配の学習精度が低いと、制御対象の特定精度が低下し、本来実施不要な制御対象に対してＳＯＣ制御が実施されたり、本来実施すべき制御対象に対してＳＯＣ制御が実施されなかったりする可能性がある。不必要なＳＯＣ制御の実施は、燃費の低下を招く可能性があり、本来実施すべきＳＯＣ制御の不実施は、燃費の向上を阻害する。
【００７７】
この実施の形態に従う車両１においては、車両１の走行状態から、走行した道路区間の勾配が算出される。ここで、車両１の速度が高い場合には、道路勾配を算出するモデル（算出式）の誤差が顕著となり、勾配の学習精度が低下する可能性がある。また、車両１の加減速度が大きい場合にも、演算処理の遅れ（応答遅れ）等による勾配の推定誤差が顕著となり、勾配の演算精度がやはり低下する可能性がある。
【００７８】
そこで、この実施の形態に従う車両１では、車速ＶＳが第１の所定値以下であり、かつ、車両１の加速度（減速時の負値も含む）の大きさが第２の所定値以下である場合に、走行した道路区間の勾配の算出結果が学習結果として地図情報ＤＢ１３４に記憶される。一方、車速ＶＳが第１の所定値よりも高いか、又は、加速度の大きさが第２の所定値よりも大きい場合には、走行した道路区間の勾配の算出結果は地図情報ＤＢ１３４に記憶されない。これにより、精度の低い道路勾配の算出結果が勾配の学習結果として地図情報ＤＢ１３４に記憶されるのを抑制することができる。
【００７９】
図８は、ＨＶ−ＥＣＵ１００により算出される勾配演算値の有効性を判定する処理の手順を説明するフローチャートである。このフローチャートに示される一連の処理は、たとえば、車両１のシステムスイッチ等がオンされている場合に所定時間毎に繰り返し実行される。
【００８０】
図８を参照して、ＨＶ−ＥＣＵ１００は、車速センサ１２４によって検出される車速ＶＳが所定値αよりも高いか否かを判定する（ステップＳ３１０）。所定値αは、後述の勾配算出処理において勾配演算値の精度が低下すると判定する値に設定される。
【００８１】
そして、車速ＶＳが所定値αよりも高いと判定されると（ステップＳ３１０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、学習有効フラグに０をセットする（ステップＳ３１５）。この学習有効フラグは、勾配学習が有効であるか否かを示すフラグであり、学習有効フラグが０であることは、勾配学習が有効でない（勾配演算値の精度が低い）ことを意味する。
【００８２】
ステップＳ３１０において車速ＶＳが所定値α以下であると判定されると（ステップＳ３１０においてＮＯ）、ＨＶ−ＥＣＵ１００は、車両１の加速度（減速時の負値も含む）の大きさが所定値βよりも大きいか否かを判定する（ステップＳ３２０）。この所定値βも、後述の勾配算出処理において勾配演算値の精度が低下すると判定する値に設定される。なお、車両１の加速度は、たとえば車速ＶＳの時間変化を検出することによって算出することができる。
【００８３】
そして、車両１の加速度の大きさが所定値βよりも大きいと判定されると（ステップＳ３２０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、ステップＳ３１５へ処理を移行し、学習有効フラグに０をセットする。一方、ステップＳ３２０において、加速度の大きさが所定値β以下であると判定されると（ステップＳ３２０においてＮＯ）、ＨＶ−ＥＣＵ１００は、学習有効フラグに１をセットする（ステップＳ３２５）。学習有効フラグが１であることは、勾配学習が有効であることを意味する。
【００８４】
なお、この学習有効フラグは、ＨＶ−ＥＣＵ１００からナビゲーション装置１３０のナビゲーションＥＣＵ１３２へＣＡＮ１５０を通じて送信される。
【００８５】
図９は、ナビゲーションＥＣＵ１３２により実行される勾配学習の処理手順を説明するフローチャートである。このフローチャートに示される一連の処理は、車両１が走行するリンク毎（区間毎）に実行される。
【００８６】
図９を参照して、ナビゲーションＥＣＵ１３２は、車両１がリンクｊ（車両１が走行する任意のリンク）に進入したか否かを判定する（ステップＳ４１０）。車両１がリンクｊに侵入したものと判定されると（ステップＳ４１０においてＹＥＳ）、ナビゲーションＥＣＵ１３２は、リンクｊにおける車両１の走行距離を示す距離Ｄｌｉｎに０をセットし、勾配非学習フラグに０をセットする（ステップＳ４１５）。この勾配非学習フラグは、勾配学習の実施可否を判断するためのフラグであり、勾配非学習フラグが０であることは、勾配学習を実施することを意味する。
【００８７】
次いで、ナビゲーションＥＣＵ１３２は、所定時間Δｔの間に車両１が進む短区間走行距離ｄを算出する（ステップＳ４２０）。具体的には、ナビゲーションＥＣＵ１３２は、車速センサ１２４によって検出される車両１の車速ＶＳに所定時間Δｔを乗算することによって距離ｄを算出する。なお、所定時間Δｔは、たとえば車速センサ１２４の検出周期に設定される。そして、ナビゲーションＥＣＵ１３２は、ステップＳ４２０において算出された短区間走行距離ｄを距離Ｄｌｉｎに加算することによって、距離Ｄｌｉｎを更新する（ステップＳ４２５）。
【００８８】
次いで、ナビゲーションＥＣＵ１３２は、ＨＶ−ＥＣＵ１００から受ける学習有効フラグが０であるか否かを判定する（ステップＳ４３０）。学習有効フラグが０であると判定されると（ステップＳ４３０においてＹＥＳ）、ナビゲーションＥＣＵ１３２は、勾配非学習フラグに１をセットする（ステップＳ４３５）。勾配非学習フラグが１であることは、勾配学習を実施しないことを意味する。ステップＳ４３０において学習有効フラグが１であると判定された場合には（ステップＳ４３０においてＮＯ）、ナビゲーションＥＣＵ１３２は、ステップＳ４３５の処理を実行することなくステップＳ４４０へと処理を移行する。
【００８９】
続いて、ナビゲーションＥＣＵ１３２は、車両１がリンクｊから退出したか否かを判定する（ステップＳ４４０）。車両１がリンクｊからまだ退出していないと判定されると（ステップＳ４４０においてＮＯ）、ナビゲーションＥＣＵ１３２は、ステップＳ４２０へ処理を戻す。
【００９０】
ステップＳ４４０において車両１がリンクｊから退出したと判定されると（ステップＳ４４０においてＹＥＳ）、ナビゲーションＥＣＵ１３２は、ＨＶ−ＥＣＵ１００において算出されるリンクｊの勾配演算値Ｓ＿ａｖｅ＿ｎｅｗをＨＶ−ＥＣＵ１００から取得する（ステップＳ４４５）。勾配演算値Ｓ＿ａｖｅ＿ｎｅｗの算出方法については、後ほど詳しく説明する。
【００９１】
次いで、ナビゲーションＥＣＵ１３２は、勾配非学習フラグが０であるか否かを判定する（ステップＳ４５０）。そして、勾配非学習フラグが０であると判定されると（ステップＳ４５０においてＹＥＳ）、ナビゲーションＥＣＵ１３２は、ステップＳ４４５において取得された勾配演算値Ｓ＿ａｖｅ＿ｎｅｗをリンクｊの勾配学習値として地図情報ＤＢ１３４に記憶する（ステップＳ４５５）。これにより、リンクｊの勾配が学習される。
【００９２】
一方、ステップＳ４５０において勾配非学習フラグが０でない（すなわち１）と判定されると（ステップＳ４５０においてＮＯ）、ナビゲーションＥＣＵ１３２は、ステップＳ４５５の処理を実行することなくエンドへと処理を移行する。すなわち、この場合は、ＨＶ−ＥＣＵ１００から受けたリンクｊの勾配演算値Ｓ＿ａｖｅ＿ｎｅｗは、地図情報ＤＢ１３４には記憶されず、リンクｊの勾配学習は実施されないこととなる。
【００９３】
図１０は、ＨＶ−ＥＣＵ１００により実行される勾配演算の処理手順を説明するフローチャートである。このフローチャートに示される一連の処理は、車両１が走行するリンク毎（区間毎）に実行され、車両１が走行するリンクへの侵入後、所定時間Δｔ毎に繰り返し実行される。
【００９４】
図１０を参照して、ＨＶ−ＥＣＵ１００は、車両１が現在走行しているリンクｊを退出したか否かを判定する（ステップＳ５１０）。車両１はリンクｊをまだ退出していないと判定されると（ステップＳ５１０においてＮＯ）、ＨＶ−ＥＣＵ１００は、車両１が走行中に受ける勾配加速度（以下「勾配抵抗」とも称する。）Ｇ＿ｓｌｏｐｅ（ｍ／ｓ２）を算出する（ステップＳ５１５）。勾配抵抗Ｇ＿ｓｌｏｐｅの算出方法は以下のとおりである。
【００９５】
車両１が走行中に受ける抵抗加速度Ｇ＿ｒ（ｍ／ｓ２）は、以下の式（２）により表されるものとする。
【００９６】
Ｇ＿ｒ＝Ｇ＿ｆｘ＋Ｇ＿ｖｘ＋Ｇ＿ａｉｒ  …（２）
Ｇ＿ｆｘ（ｍ／ｓ２）は、車両１の駆動力Ｆｘと重量Ｍとから演算される「推定加速度」である（Ｇ＿ｆｘ＝Ｆｘ／Ｍ）。Ｇ＿ｖｘ（ｍ／ｓ２）は、車速センサ１２４によって検出される車速ＶＳの微分値ｄＶＳ／ｄｔから演算される「実加速度」である（Ｇ＿ｖｘ＝ｄＶＳ／ｄｔ）。Ｇ＿ａｉｒ（ｍ／ｓ２）は、車速ＶＳの二乗から演算される「空気抵抗加速度」である（Ｇ＿ａｉｒ＝Ｋ・ＶＳ２（Ｋは定数））。
【００９７】
一方、抵抗加速度Ｇ＿ｒは、勾配抵抗Ｇ＿ｓｌｏｐｅと、ロードロード（走行抵抗）に依存するロードロード加速度Ｇ＿ｒｏａｄの和として、以下の式（３）により表すことができる。
【００９８】
Ｇ＿ｒ＝Ｇ＿ｓｌｏｐｅ＋Ｇ＿ｒｏａｄ  …（３）
なお、ロードロードとは、駆動源から路面までの間において生じる抵抗であり、駆動輪と路面との間において発生する路面抵抗や、駆動源で発生した駆動力を伝達する駆動系において発生する抵抗等が含まれる。
【００９９】
式（２），（３）から、勾配抵抗Ｇ＿ｓｌｏｐｅは、以下の式（４）として表すことができる。
【０１００】
Ｇ＿ｓｌｏｐｅ＝Ｇ＿ｒ−Ｇ＿ｒｏａｄ
＝Ｇ＿ｆｘ＋Ｇ＿ｖｘ＋Ｇ＿ａｉｒ−Ｇ＿ｒｏａｄ
＝Ｆｘ／Ｍ＋ｄＶＳ／ｄｔ＋Ｋ・ＶＳ２−Ｇ＿ｒｏａｄ  …（４）
駆動力Ｆｘは、たとえば、エンジン１０の回転速度と、変速機の変速段の状態等に基づいて算出される。なお、駆動力Ｆｘは、アクセルペダルセンサ１２２によって検出されるアクセル開度ＡＣＣに基づいて算出してもよいし、別途算出される駆動トルク、回生制動トルク及び油圧制動トルク等の値を用いて算出してもよい。
【０１０１】
車両１の重量Ｍ、定数Ｋ、ロードロード加速度Ｇ＿ｒｏａｄは、予め定められてＨＶ−ＥＣＵ１００のＲＯＭに記憶されている。ＨＶ−ＥＣＵ１００は、これらの値を式（４）に代入することにより勾配抵抗Ｇ＿ｓｌｏｐｅを算出する。
【０１０２】
再び図１０を参照して、ＨＶ−ＥＣＵ１００は、所定時間Δｔの間に車両１が進む短区間走行距離ｄを算出する（ステップＳ５２０）。具体的には、ナビゲーションＥＣＵ１３２は、車速センサ１２４によって検出される車両１の車速ＶＳに所定時間Δｔを乗算することによって距離ｄを算出する。
【０１０３】
そして、ＨＶ−ＥＣＵ１００は、ステップＳ５１５において算出された勾配抵抗Ｇ＿ｓｌｏｐｅから、以下の式（５）を用いて短区間標高差ΔＨｉｇｈｔを算出する（ステップＳ５２５）。
【０１０４】
ΔＨｉｇｈｔ＝（Ｇ＿ｓｌｏｐｅ／９．８）×ｄ  …（５）
さらに、ＨＶ−ＥＣＵ１００は、リンクｊ内における短区間標高差ΔＨｉｇｈｔの総和である標高差ΣΔＨｉｇｈｔを算出する（ステップＳ５３０）。
【０１０５】
そして、ステップＳ５１０において車両１がリンクｊを退出したものと判定されると（ステップＳ５１０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、リンクｊの標高差ΣΔＨｉｇｈｔをリンクｊのリンク長Ｄで除算することにより、リンクｊの平均勾配Ｓ＿ａｖｅを算出する（ステップＳ５３５）。
【０１０６】
Ｓ＿ａｖｅ＝ΣΔＨｉｇｈｔ／Ｄ  …（６）
次いで、ＨＶ−ＥＣＵ１００は、ナビゲーションＥＣＵ１３２の地図情報ＤＢ１３４に現在記憶されている、リンクｊについての平均勾配の記憶値（学習勾配値の前回値）Ｓ＿ａｖｅ＿ｍと、ステップＳ５３５において算出された平均勾配Ｓ＿ａｖｅとから、以下の式（７）を用いてリンクｊについての新たな学習勾配値Ｓ＿ａｖｅ＿ｎｅｗを算出する（ステップＳ５４０）。
【０１０７】
Ｓ＿ａｖｅ＿ｎｅｗ＝Ｓ＿ａｖｅ×γ＋Ｓ＿ａｖｅ＿ｍ×（１−γ）  …（７）
γは０＜γ＜１を満たす任意の正数である。なお、学習勾配値の前回値が存在しない場合には、γは「１」に設定される。
【０１０８】
そして、ＨＶ−ＥＣＵ１００は、ステップＳ５４０において算出された、リンクｊについての学習勾配値Ｓ＿ａｖｅ＿ｎｅｗをナビゲーションＥＣＵ１３２へ送信する（ステップＳ５４５）。
【０１０９】
式（４）に示されるように、勾配抵抗Ｇ＿ｓｌｏｐｅの算出には、車速ＶＳの二乗項（Ｋ・ＶＳ２）が含まれるところ、車速ＶＳが高い場合には、定数Ｋの誤差が顕著となり、勾配抵抗Ｇ＿ｓｌｏｐｅの学習精度が低下する。また、勾配抵抗Ｇ＿ｓｌｏｐｅの算出には、実加速度項ｄＶＳ／ｄｔも含まれるところ、車両１の加減速度が大きい場合には、演算処理の遅れ（応答遅れ）による誤差が顕著となり、この場合にも勾配抵抗Ｇ＿ｓｌｏｐｅの演算精度が低下する。
【０１１０】
そこで、この実施の形態では、図８で説明したように、車速ＶＳが所定値α以下であり、かつ、車両１の加速度の大きさが所定値β以下である場合に、走行したリンクの勾配の算出結果が学習勾配値として地図情報ＤＢ１３４に記憶される。一方、車速ＶＳが所定値αよりも高いか、又は、加速度の大きさが所定値βよりも大きい場合には、走行したリンクの勾配の算出結果は地図情報ＤＢ１３４に記憶されない。これにより、精度の低い勾配の算出結果が勾配学習の結果として記憶（学習）されるのを抑制することができる。
【０１１１】
なお、特に図示しないが、車両１が大気圧センサを搭載している場合には、大気圧センサの出力値に基づいて学習勾配値を算出するようにしてもよい。具体的には、ＨＶ−ＥＣＵ１００は、リンクｊの両端における大気圧センサの出力値の差分値とリンクｊのリンク長Ｄとからリンクｊの勾配を算出してもよい。
【０１１２】
［変形例］
上記の実施の形態では、車両１の速度及び加速度に基づいて、車両１が走行したリンクについての勾配の算出結果を学習結果として地図情報ＤＢ１３４に記憶するか否かを判断するものとしたが、車両１の速度及び加速度のいずれか一方のみに基づいて、車両１が走行したリンクについて勾配学習を実施するか否かを判断するようにしてもよい。
【０１１３】
図１１は、変形例における勾配演算値の有効性を判定する処理の手順を説明するフローチャートである。このフローチャートに示される一連の処理も、ＨＶ−ＥＣＵ１００において、たとえば車両１のシステムスイッチ等がオンされている場合に所定時間毎に繰り返し実行される。
【０１１４】
図１１を参照して、ＨＶ−ＥＣＵ１００は、車速センサ１２４によって検出される車両１の車速ＶＳが所定値αよりも高いか否かを判定する（ステップＳ６１０）。そして、車速ＶＳが所定値αよりも高いと判定されると（ステップＳ６１０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、学習有効フラグに０をセットする（ステップＳ６１５）。すなわち、車速ＶＳが所定値αよりも高ければ、勾配学習は有効ではないと判定される。
【０１１５】
一方、ステップＳ６１０において車速ＶＳは所定値α以下であると判定されると（ステップＳ６１０においてＮＯ）、ＨＶ−ＥＣＵ１００は、学習有効フラグに１をセットする（ステップＳ６２０）。すなわち、車速ＶＳが所定値α以下であれば、勾配学習は有効であると判定される。
【０１１６】
図１２は、他の変形例における勾配演算値の有効性を判定する処理の手順を説明するフローチャートである。このフローチャートに示される一連の処理も、ＨＶ−ＥＣＵ１００において、たとえば車両１のシステムスイッチ等がオンされている場合に所定時間毎に繰り返し実行される。
【０１１７】
図１２を参照して、ＨＶ−ＥＣＵ１００は、車両１の加速度が所定値β１（β１＞０）よりも大きいか否かを判定する（ステップＳ７１０）。そして、加速度が所定値β１よりも大きいと判定されると（ステップ７１０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、学習有効フラグに０をセットする（ステップＳ７１５）。すなわち、加速度が所定値β１よりも大きければ、勾配学習は有効ではないと判定される。
【０１１８】
ステップＳ７１０において車両１の加速度は所定値β１以下であると判定されると（ステップＳ７１０においてＮＯ）、ＨＶ−ＥＣＵ１００は、車両１の加速度が所定値β２（β２＜０）よりも小さいか否かを判定する（ステップＳ７２０）。そして、加速度が所定値β２よりも小さいと判定されると（ステップＳ７２０においてＹＥＳ）、ＨＶ−ＥＣＵ１００は、ステップＳ７１５へ処理を移行する。すなわち、車両１の加速度が所定値β２よりも小さければ、勾配学習は有効ではないと判定される。
【０１１９】
一方、ステップＳ７２０において、車両１の加速度が所定値β２以上であると判定されると（ステップＳ７２０においてＮＯ）、ＨＶ−ＥＣＵ１００は、学習有効フラグに１をセットする（ステップＳ７２５）。すなわち、車両１の加速度が所定値β１（β１＞０）以下であり、かつ、所定値β２（β２＜０）以上であれば、勾配学習は有効であると判定される。
【０１２０】
なお、車両１の加速度が正の場合の所定値β１と、車両１の加速度が負の場合（減速）の所定値β２とは、同じ値であってもよい。
【０１２１】
なお、上記の実施の形態及び変形例では、車両１は、ハイブリッド車両として説明したが、本開示の適用範囲は、ハイブリッド車両やその他の走行用のモータジェネレータを備える電動車両に限定されるものではなく、走行用のモータジェネレータを備えずにエンジンのみを動力源として搭載する車両も含むものである。
【０１２２】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２３】
１  車両、１０  エンジン、２０，３０  ＭＧ、４０  動力分割装置、５０  ＰＣＵ、６０  蓄電装置、８０  駆動輪、１００  ＨＶ−ＥＣＵ、１１０  ＢＡＴ−ＥＣＵ、１２０  各種センサ、１２２  アクセルペダルセンサ、１２４  車速センサ、１２６  ブレーキペダルセンサ、１３０  ナビゲーション装置、１３２  ナビゲーションＥＣＵ、１３４  地図情報ＤＢ、１３６  ＧＰＳ受信部、１３８  交通情報受信部、１４０  ＨＭＩ装置、１５０  ＣＡＮ。
【図１】
2018040773.tif 000003
【図２】
2018040773.tif 000004
【図３】
2018040773.tif 000005
【図４】
2018040773.tif 000006
【図５】
2018040773.tif 000007
【図６】
2018040773.tif 000008
【図７】
2018040773.tif 000009
【図８】
2018040773.tif 000010
【図９】
2018040773.tif 000011
【図１０】
2018040773.tif 000012
【図１１】
2018040773.tif 000013
【図１２】
2018040773.tif 000014