(57)【要約】【課題】走行環境の判定を高精度に行う。【解決手段】車両の走行環境を推定する走行環境推定装置である。この走行環境推定装置は、前記車両の走行時に、所定時間の中で加速状態、減速状態、および定速状態の各々が占める時間比率を取得する時間比率取得部と；前記取得された３つの時間比率に基づいて前記走行環境を判定する判定部とを備える。【選択図】図１６
2014097708.tif 000002
【特許請求の範囲】
【請求項１】
車両の走行環境を推定する走行環境推定装置であって、
前記車両の走行時に、所定時間の中で加速状態、減速状態、および定速状態の各々が占める時間比率を取得する時間比率取得部と、
前記取得された３つの時間比率に基づいて前記走行環境を判定する判定部と
を備える、走行環境推定装置。
【請求項２】
請求項１に記載の走行環境推定装置であって、
前記判定部は、
前記定速状態についての時間比率から前記加速状態についての時間比率を引いた差と、前記定速状態についての時間比率から前記減速状態についての時間比率を引いた差とに基づいて、渋滞地であるか否かの判定を行う、走行環境推定装置。
【請求項３】
請求項１または請求項２に記載の走行環境推定装置であって、
前記判定部は、
前記加速状態についての時間比率から前記定速状態についての時間比率を引いた差と、前記加速状態についての時間比率から前記減速状態についての時間比率を引いた差とに基づいて、市街地であるか否かの判定を行う、走行環境推定装置。
【請求項４】
請求項１から請求項３までのいずれか一項に記載の走行環境推定装置であって、
前記判定部は、
前記取得された３つの時間比率が略等しいときに、郊外地であると判定する、走行環境推定装置。
【請求項５】
請求項１から請求項４までのいずれか一項に記載の走行環境推定装置であって、
所定時間における前記車両の平均速度を取得する平均車速取得部と、
所定時間における停車時間の比率を取得する停車時間比率取得部と
を備え、
前記判定部は、
前記走行環境の判定を、前記３つの時間比率に加えて、前記平均速度と前記停車時間の比率とに基づいて行う、走行環境推定装置。
【請求項６】
請求項１から請求項５までのいずれか一項に記載の走行環境推定装置であって、
前記判定部は、
前記走行環境として、車両の走行地域が渋滞地、市街地、および郊外地のいずれに該当するかを判定する、走行環境推定装置。
【請求項７】
車両の走行環境を推定する走行環境推定方法であって、
前記車両の走行時に、所定時間の中で加速状態、減速状態、および定速状態の各々が占める時間比率を取得し、
前記取得された３つの時間比率に基づいて前記走行環境を判定する、走行環境推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行環境を推定する技術に関する。
【背景技術】
【０００２】
近年、車両においては、燃費向上の要請に伴い、走行環境に応じた運転制御がなされている。このため、車両の走行環境を推定する走行環境推定装置が種々提案されている。例えば、特許文献１には、平均速度、走行時間比率（車両走行時間と走行停止時間とを含む全体時間に対する走行時間の比率）、および平均横加速度に基づいて、市街地度、渋滞路度および山間路度を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１５６８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、渋滞地と市街地を誤判定したり、市街地と山間路を誤判定したりして、推定精度が低いという課題があった。誤判定するのは、渋滞地と市街地では走行時間比率が近い値となり、市街地と山間路では平均速度が近い値となるためである。また、横加速度を検出する必要があることから、構成が複雑化するという課題があった。そのほか、従来の走行環境推定装置においては、その小型化や、低コスト化、省資源化、使い勝手の向上等が望まれていた。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【０００６】
（１）本発明の一形態によれば、車両の走行環境を推定する走行環境推定装置が提供される。この走行環境推定装置は、前記車両の走行時に、所定時間の中で加速状態、減速状態、および定速状態の各々が占める時間比率を取得する時間比率取得部と；前記取得された３つの時間比率に基づいて前記走行環境を判定する判定部とを備える。
【０００７】
所定の期間における加速状態についての時間比率、減速状態についての時間比率、および定速状態についての各時間比率の大小関係は、走行環境の違いによって明確に異なったものとなる。このため、前記走行環境推定装置によれば、前記３つの時間比率に基づいて走行環境を判定する構成であることから、走行環境を高精度に推定することが可能となる。
【０００８】
（２）前記形態の走行環境推定装置において、前記判定部は、前記定速状態についての時間比率から前記加速状態についての時間比率を引いた差と、前記定速状態についての時間比率から前記減速状態についての時間比率を引いた差とに基づいて、渋滞地であるか否かの判定を行う構成としてもよい。
この構成によれば、渋滞地であることを高精度に推定することができる。
【０００９】
（３）前記形態の走行環境推定装置において、前記判定部は、前記加速状態についての時間比率から前記定速状態についての時間比率を引いた差と、前記加速状態についての時間比率から前記減速状態についての時間比率を引いた差とに基づいて、市街地であるか否かの判定を行う構成としてもよい。
この構成によれば、市街地であることを高精度に推定することができる。
【００１０】
（４）前記形態の走行環境推定装置において、前記判定部は、前記取得された３つの時間比率が略等しいときに、郊外地であると判定する構成としてもよい。
この構成によれば、郊外地であることを高精度に推定することができる。
【００１１】
（５）前記形態の走行環境推定装置において、所定時間における前記車両の平均速度を取得する平均車速取得部と、所定時間における停車時間の比率を取得する停車時間比率取得部とを備え、前記判定部は、前記走行環境の判定を、前記３つの時間比率に加えて、前記平均速度と前記停車時間の比率とに基づいて行う構成としてもよい。
この構成によれば、走行環境をより高精度に推定することができる。
【００１２】
（６）前記形態の走行環境推定装置において、前記判定部は、前記走行環境として、車両の走行地域が渋滞地、市街地、および郊外地のいずれに該当するかを判定する構成としてもよい。
この構成によれば、渋滞地、市街地、および郊外地のいずれに該当するかを高精度に推定することができる。
【００１３】
（７）本発明の他の形態によれば、車両の走行環境を推定する走行環境推定方法が提供される。この走行環境推定方法は、前記車両の走行時に、所定時間の中で加速状態、減速状態、および定速状態の各々が占める時間比率を取得し、前記取得された３つの時間比率に基づいて前記走行環境を判定する。
この走行環境推定方法によれば、前記（１）の走行環境推定装置と同様に、走行環境を高精度に推定することができる。
【００１４】
なお、本発明は、種々の形態で実現することが可能である。例えば、前記形態の走行環境推定装置を備える車両制御装置、前記形態の走行環境推定装置を備える車両、前記形態の走行環境推定方法の各工程に対応する機能をコンピュータに実現させるためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態としての自動車の構成を示す説明図である。
【図２】ＥＣＵの構成を機能的に示す説明図である。
【図３】目標ＳＯＣ推定ルーチンを示すフローチャートである。
【図４】ＳＯＣ配分要求レベル算出用マップを示す説明図である。
【図５】目標ＳＯＣ算出用テーブルを示す説明図である。
【図６】自動車の運転中における車速とＳＯＣについてのタイムチャートを示す説明図である。
【図７】走行環境推定ルーチンを示すフローチャートである。
【図８】情報取得ルーチンの実行開始時と車速との関係を示すタイムチャートの説明図である。
【図９】情報取得ルーチンを示すフローチャートである。
【図１０】第１記憶スタックの一例を示す説明図である。
【図１１】第１記憶スタックの記憶内容の変化を示す説明図である。
【図１２】第２記憶スタックの一例を示す説明図である。
【図１３】渋滞地等判定ルーチンの前半部分を示すフローチャートである。
【図１４】渋滞地等判定ルーチンの後半部分を示すフローチャートである。
【図１５】近過去平均車速、近過去停車時間率、および遠過去停車時間率が走行環境の違いによってどのように変わるかを示す説明図である。
【図１６】近過去定速走行時間率、近過去加速走行時間率、および近過去減速走行時間率が走行環境の違いによってどのように変わるかを示す説明図である。
【図１７】渋滞地判定用の２次元マップデータを示す説明図である。
【図１８】市街地判定用の２次元マップデータを示す説明図である。
【図１９】郊外地判定用の２次元マップデータを示す説明図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施形態を以下の順序で説明する。
Ａ．全体構成：
Ｂ．ＥＣＵの構成：
Ｃ．目標ＳＯＣ推定部の構成：
Ｄ．走行環境の推定方法：
Ｅ．効果：
Ｆ．変形例：
【００１７】
Ａ．全体構成：
図１は、本発明の一実施形態としての自動車２００の構成を示す説明図である。自動車２００は、アイドリングストップ機能を搭載した車両である。自動車２００は、エンジン１０と、自動変速機１５と、ディファレンシャルギア２０と、駆動輪２５と、スタータ３０と、オルタネータ３５と、バッテリ４０と、電子制御ユニット（ＥＣＵ：Electrical Control Unit）５０とを備えている。
【００１８】
エンジン１０は、ガソリンや軽油などの燃料を燃焼させることによって動力を発生させる内燃機関である。エンジン１０の動力は、自動変速機１５に伝達されるとともに、駆動機構３４を介してオルタネータ３５に伝達される。エンジン１０の出力は、運転者により操作されるアクセルペダル（図示せず）の踏み込み量に応じて、エンジンコントロールコンピュータ（図示せず）により変更される。
【００１９】
自動変速機１５は、変速比の変更（いわゆるシフトチェンジ）を自動的に実行する。エンジン１０の動力（回転数・トルク）は、自動変速機１５によって変速され、所望の回転数・トルクとして、ディファレンシャルギア２０を介して、左右の駆動輪２５に伝達される。こうして、エンジン１０の動力は、アクセルペダルの踏み込み量に応じて変更されつつ、自動変速機１５を介して駆動輪２５に伝達されて、車両（自動車２００）の加速・減速が行なわれることになる。
【００２０】
オルタネータ３５にエンジン１０の動力を伝達する駆動機構３４は、本実施形態では、ベルトドライブの構成を採用している。オルタネータ３５は、エンジン１０の動力の一部を用いて発電を行なう。オルタネータ３５は、発電機の一種である。発電された電力は、インバータ（図示せず）を介してバッテリ４０の充電に用いられる。本明細書では、オルタネータ３５を用いたエンジン１０の動力による発電を「燃料発電」と呼ぶ。
【００２１】
バッテリ４０は、電圧１４Ｖの直流電源としての鉛蓄電池であり、エンジン本体以外に設けられた周辺機器に電力を供給する。本明細書では、エンジン本体以外に設けられた周辺機器であって、バッテリ４０の電力を用いて動作する機器を、「補機」と呼ぶ。また、補機の集まりを、「補機類」と呼ぶ。自動車２００は、補機類７０として、ヘッドライト７２、空調装置（Ａ／Ｃ）７４等を備える。
【００２２】
スタータ３０は、バッテリ４０から供給される電力によってエンジン１０を始動させるセルモータである。通常は、停止している自動車の運転を開始する際に、運転者がイグニッションスイッチ（図示せず）を操作すると、スタータ３０が起動し、エンジン１０が始動する。このスタータ３０は、以下で説明するように、アイドリングストップ状態からエンジン１０を再始動させる場合にも利用される。本明細書では、「アイドリングストップ状態」とは、アイドリングストップ制御による停止状態をいう。
【００２３】
ＥＣＵ５０は、コンピュータプログラムを実行するＣＰＵ５２、コンピュータプログラム等を記憶するＲＯＭ５４、一時的にデータを記憶するＲＡＭ５６、各種センサやアクチュエータ等に接続される入出力ポート５８等を備える。入出力ポート５８に接続されるセンサとしては、駆動輪２５の回転速度を検出する車輪速センサ８２、ブレーキペダル（図示せず）の踏み込みの有無を検出するブレーキペダルセンサ８４、アクセルペダル（図示せず）の踏み込み量をアクセル開度として検出するアクセル開度センサ８６、バッテリ４０の充放電電流を検出するバッテリ電流センサ８８、およびオルタネータ３５の出力電流を検出するオルタネータ電流センサ８９等が設けられている。アクチュエータとしては、スタータ３０やオルタネータ３５等が該当する。ＥＣＵ５０は、バッテリ４０から電力の供給を受けている。
【００２４】
ＥＣＵ５０は、前記各種のセンサやエンジンコントロールコンピュータ（図示せず）からの信号をもとに、スタータ３０やオルタネータ３５を制御することによって、エンジン停止と再始動を制御（アイドリングストップ制御）するとともにバッテリ４０のＳＯＣを制御する。なお、ＥＣＵ５０に備えられるＲＡＭ５６には、後述する第１ないし第６の記憶スタックＳ１〜Ｓ６を備える。
【００２５】
Ｂ．ＥＣＵの構成：
図２は、ＥＣＵ５０の構成を機能的に示す説明図である。図示するように、ＥＣＵ５０は、アイドリングストップ制御部９０と、ＳＯＣ制御部１００とを備える。アイドリングストップ制御部９０およびＳＯＣ制御部１００は、実際は、ＥＣＵ５０に備えられたＣＰＵ５２が、ＲＯＭ５４に記憶されたコンピュータプログラムを実行することで実現する機能を示す。
【００２６】
アイドリングストップ制御部９０は、車輪速センサ８２で検出された車輪速Ｖｈとアクセル開度センサ８６で検出されたアクセル開度Ｔｐとを取得し、エンジン１０を停止／再始動させる指示Ｓｓを出力する。停止／再始動指示Ｓｓは、スタータ３０に出力されるエンジン再始動の指示と、エンジン１０の燃料供給系（図示せず）に出力される燃料カットの指示とを含む。詳しくは、アイドリングストップ制御部９０は、車輪速Ｖｈが低下して所定速度（例えば１０ｋｍ／ｈ）未満となったときに、エンジン停止条件が成立したとして燃料カットの指示を燃料供給系に出力し、その後、アクセル開度Ｔｐからアクセルペダルが踏み込まれたことが検出されたときに、エンジン再始動条件が成立したとしてエンジン再始動の指示をスタータ３０に出力する。
【００２７】
すなわち、アイドリングストップ制御部９０は、エンジン停止条件が成立したときにエンジン１０を停止させ、前記停止後においてエンジン再始動条件が成立したときにエンジン１０を再始動させる。前記エンジン停止条件およびエンジン再始動条件は、前述したものに限らない。例えば、車輪速Ｖｈが完全に０ｋｍ／ｈとなることをエンジン停止条件とすることもできるし、ブレーキペダルから足が離れたことをエンジン再始動条件とすることもできる。
【００２８】
ＳＯＣ制御部１００は、目標ＳＯＣ推定部１１０と、バッテリＳＯＣ算出部１２０と、フィードバック制御部１３０とを備える。目標ＳＯＣ推定部１１０は、車両の走行時（例えば、車輪速Ｖｈ＞０ｋｍ／ｈの時）に、アイドリングストップ制御によるエンジン停止から再始動までの期間（以下、「ストップアンドスタート期間」と呼ぶ）において使用すると予想されるＳＯＣを、目標ＳＯＣ（以下、「目標ＳＯＣ値」とも呼ぶ）Ｃ１として推定するもので、詳しい構成についてはＣ節で説明する。なお、「ＳＯＣ」は、バッテリに残存している電気量を、バッテリを満充電したときに蓄えられる電気量で除した値として定義される。
【００２９】
バッテリＳＯＣ算出部１２０は、バッテリ電流センサ８８によって検出されたバッテリ４０の充放電電流（「バッテリ電流」と呼ぶ）Ａｂに基づいて、バッテリ４０の現在のＳＯＣ（以下、「現在ＳＯＣ値」と呼ぶ）Ｃ２を算出する。詳しくは、バッテリ４０の充電電流をプラス値とし、バッテリ４０の放電電流をマイナス値として充放電電流Ａｂを積算することで、現在ＳＯＣ値Ｃ２を算出する。なお、ＳＯＣ検出部は、バッテリ電流センサ８８によって検出されたバッテリ電流に基づいて算出するものに限る必要はなく、バッテリ電解液比重センサ、セル電圧センサ、バッテリ端子電圧センサ等に基づいて求める構成としてもよい。さらに、ＳＯＣ検出部は、バッテリに残存している電気量を検出する構成に限る必要もなく、例えば充電可能量等の他のパラメータで蓄電状態を検出するものとすることもできる。
【００３０】
フィードバック制御部１３０は、車両の走行時に、目標ＳＯＣ値Ｃ１から現在ＳＯＣ値Ｃ２を差し引いた差分値を求め、その差分値を値０にフィードバック制御で一致させる電圧指示値Ｓｖを求める。その電圧指示値Ｓｖはオルタネータ３５の発電量を指示するもので、オルタネータ３５に送られる。この結果、燃料発電によって現在ＳＯＣ値Ｃ２が目標ＳＯＣ値Ｃ１に制御される。
【００３１】
ＳＯＣ制御部１００には、図示はしないが、上記以外に、「バッテリ制御」と呼ばれる機能と、「充電制御」と呼ばれる機能が設けられている。バッテリ制御について説明する。バッテリ、特に本実施形態の鉛バッテリは、長寿命化の要請から、使用可能なＳＯＣ範囲（運用するＳＯＣ範囲）が予め定められている。このため、このＳＯＣ範囲の下限値（例えば６０％）をバッテリ４０のＳＯＣが下回るときにエンジン１０の動力を増大してＳＯＣを前記ＳＯＣ範囲内とし、ＳＯＣ範囲の上限値（例えば９０％）をＳＯＣが上回るときにＳＯＣを消費して前記ＳＯＣ範囲内とする「バッテリ制御」が行われる。アイドリングストップ制御によるエンジンの停止時においてもＳＯＣが下限値を下回ると、エンジンが始動して燃料発電によってＳＯＣを前記ＳＯＣ範囲内とする。
【００３２】
「充電制御」は、通常走行中に燃料発電によるバッテリへの充電を抑えることで燃料消費量を節約し、減速走行中に回生発電によりバッテリへの充電を行なう制御処理である。充電制御については周知の構成であることから、詳しく説明しないが、概ね次の処理を行う。充電制御においては、通常走行時におけるフィードバック制御部１３０によるフィードバック制御を、目標ＳＯＣ値Ｃ１が現在ＳＯＣ値Ｃ２を上回るときに実行し、通常走行時に目標ＳＯＣ値Ｃ１が現在ＳＯＣ値Ｃ２以下であるときには、所定の発電カット電圧をオルタネータ３５への電圧指示値Ｓｖとする。この構成により、通常走行時における充電を抑制し燃料消費量を節約することができる。なお、「通常走行」とは、車速が０ｋｍ／ｈである「停車」、および前記回生発電が行われる「減速走行」のいずれにも該当しない自動車２００の状態である。
【００３３】
Ｃ．目標ＳＯＣ推定部の構成：
目標ＳＯＣ推定部１１０は、走行環境予測部１１２と、自車両状態予測部１１４と、ＳＯＣ配分要求レベル算出部１１６と、目標ＳＯＣ算出部１１８とを備える。
【００３４】
走行環境予測部１１２は車両の走行環境を予測する。本実施形態では、「走行環境」とは、今後（現在以後）の車両の走行地域が渋滞地、市街地、郊外地の内のいずれに該当するかの区別である。走行環境予測部１１２は、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて、現在までの走行環境が渋滞地、市街地、郊外地の内のいずれであるかを推定し、その推定結果を今後（現在以後）の走行地域の走行環境区分Ｐ１として（予測結果として）出力する。走行環境区分Ｐ１は、渋滞地の場合に値２を、市街地の場合に値１を、郊外地の場合に値０を取り得る。上記渋滞地等の推定の詳しい方法については、Ｄ節で説明する。
【００３５】
自車両状態予測部１１４は、自動車２００の状態（自車両状態）を予測する。ここでいう「自車両状態」とは、自動車２００が今後どの程度ＳＯＣを消費するかを表すパラメータである。詳しくは、自車両状態予測部１１４は、バッテリ電流センサ８８によって検出されたバッテリ電流Ａｂと、オルタネータ電流センサ８９によって検出されたオルタネータ電流Ａａとに基づいて、補機類７０で費やす電力量を算出し、その電力量を自車両状態Ｐ２として出力する。補機類７０で費やす電力量が大きいときにはＳＯＣを消費する速度は早いことから、本実施形態では、自車両状態予測部１１４は、補機類７０で費やす電力量を自車両状態Ｐ２として求める。
【００３６】
なお、自車両状態Ｐ２を、補機類７０で費やす電力量に基づいて求めていたが、これに限られない。例えば、空調装置（Ａ／Ｃ）の消費電力と対応関係がある空調情報（例えば、目標温度と車内温度との差）や、エンジン水温と周囲温度との差などのエンジンの暖機状況を示す情報等に基づいて求める構成とすることができる。なお、補機類７０で費やす電力量や空調情報や暖機状況情報等の中から選択した１つのパラメータに基づいて自車両状態Ｐ２を求める構成に限る必要もなく、２つ以上のパラメータに基づいて自車両状態Ｐ２を求める構成としてもよい。２つ以上のパラメータを採用する場合、各パラメータに個別の重み付け指数を掛けて自車両状態Ｐ２を求める構成とすることが好ましい。
【００３７】
さらに、前述した各例は、現在検出されるセンサ信号によって補機類の現在の動作状況を求め、その現在の動作状況を今後の自車両状態と見なすものであったが、これに替えて、上記のように求めた現在の動作状況から動作状況が変化する兆候を捕らえることで、今後の自車両状態を予測する構成としてもよい。
【００３８】
前記構成の走行環境予測部１１２および自車両状態予測部１１４は、自動車２００の運転が開始された以後、常にその予測を行っている。各部１２２〜１２４は、実際は、ＥＣＵ５０に備えられたＣＰＵ５２が、ＲＯＭ５４に記憶されたコンピュータプログラムを実行することで実現する。走行環境予測部１１２によって算出した走行環境区分Ｐ１と、自車両状態予測部１１４によって算出した自車両状態Ｐ２とは、ＳＯＣ配分要求レベル算出部１１６に送られる。
【００３９】
ＳＯＣ配分要求レベル算出部１１６は走行環境区分Ｐ１および自車両状態Ｐ２に基づいてＳＯＣ配分要求レベルＰ３を算出し、目標ＳＯＣ算出部１１８はＳＯＣ配分要求レベルＰ３に基づいて目標ＳＯＣ値Ｃ１を算出する。以下、ＳＯＣ配分要求レベル算出部１１６および目標ＳＯＣ算出部１１８の内容を、以下に詳述する。
【００４０】
図３は、目標ＳＯＣ推定ルーチンを示すフローチャートである。この目標ＳＯＣ推定ルーチンは、車両の走行時に所定時間（例えば、６０ｓｅｃ）毎に繰り返し実行される。すなわち、目標ＳＯＣ推定ルーチンは、アイドリングストップ制御によるエンジン１０の停止時には実行されない。図示するように、処理が開始されると、ＥＣＵ５０のＣＰＵ５２は、走行環境予測部１１２（図２）によって求められた走行環境区分Ｐ１を取得する（ステップＳ１００）とともに、自車両状態予測部１１４（図２）によって求められた自車両状態Ｐ２を取得する（ステップＳ２００）。
【００４１】
ステップＳ２００の実行後、ＣＰＵ５２は、ＳＯＣ配分要求レベル算出用マップＭＰを用いて、走行環境区分Ｐ１と自車両状態Ｐ２に基づいてＳＯＣ配分要求レベルを算出する処理を行う（ステップＳ３００）。バッテリには、先に説明したように、使用可能なＳＯＣ範囲がバッテリの種類毎に定められている。本実施形態では、使用可能ＳＯＣ範囲をアイドリングストップ用と充電制御用とに配分することを図っており、「ＳＯＣ配分要求レベル」は前記配分のレベルを指定するパラメータである。
【００４２】
図４は、ＳＯＣ配分要求レベル算出用マップＭＰを示す説明図である。図示するように、ＳＯＣ配分要求レベル算出用マップＭＰは、横軸に走行環境区分Ｐ１をとり、縦軸に自車両状態Ｐ２をとり、横軸の値と縦軸の値とに対応するＳＯＣ配分要求レベルＰ３をマッピングしたマップデータである。走行環境区分Ｐ１と、自車両状態Ｐ２と、ＳＯＣ配分要求レベルＰ３との関係を、予め実験的にあるいはシミュレーションにより求めることで、ＳＯＣ配分要求レベル算出用マップＭＰは作成されており、ＲＯＭ５４に記憶している。ステップＳ３００では、ＲＯＭ５４からＳＯＣ配分要求レベル算出用マップＭＰを呼び出し、そのマップＭＰを参照して、ステップＳ１００で求めた走行環境区分Ｐ１とステップＳ２００で求めた自車両状態Ｐ２とに対応するＳＯＣ配分要求レベルＰ３を取得する。図示の例では、ＳＯＣ配分要求レベルＰ３としてＡ、Ｂ、Ｃの３つの値が用意されている。各値は、Ｃ、Ｂ、Ａの順に高い。すなわち、Ｃ＞Ｂ＞Ａとなっている。走行環境区分Ｐ１が高いほど、ＳＯＣ配分要求レベルＰ３は高い値となる。また、自車両状態Ｐ２が高いほど、ＳＯＣ配分要求レベルＰ３は高い値となる。なお、ＳＯＣ配分要求レベルＰ３を３段階としたのは、あくまでも一例であり、２段階であってもよいし、４以上の数の段階としてもよい。
【００４３】
図３に戻って、ステップＳ３００の実行後、ＣＰＵ５２は、目標ＳＯＣ算出用テーブルＴＢを用いて、ＳＯＣ配分要求レベルＰ３に基づいて目標ＳＯＣ値Ｃ１を算出する処理を行う（ステップＳ４００）。
【００４４】
図５は、目標ＳＯＣ算出用テーブルＴＢを示す説明図である。図示するように、目標ＳＯＣ算出用テーブルＴＢは、横軸にＳＯＣ配分要求レベルＰ３をとり、縦軸に目標ＳＯＣ値Ｃ１をとり、直線ＬでＳＯＣ配分要求レベルＰ３と目標ＳＯＣ値Ｃ１の関係を示している。このＳＯＣ配分要求レベルＰ３と目標ＳＯＣ値Ｃ１の関係を、予め実験的にあるいはシミュレーションにより求めることで、目標ＳＯＣ算出用テーブルＴＢは作成されており、ＲＯＭ５４に記憶している。ステップＳ４００は、ＲＯＭ５４から目標ＳＯＣ算出用テーブルＴＢを呼び出し、そのテーブルＴＢを参照して、ステップＳ３００で算出したＳＯＣ配分要求レベルＰ３に対応する目標ＳＯＣ値Ｃ１を取得する。
【００４５】
図示するように、直線Ｌで示される目標ＳＯＣ値Ｃ１は、バッテリ４０の使用可能ＳＯＣ範囲Ｗ内に設定される値であり、その使用可能ＳＯＣ範囲Ｗを充電制御用容量とアイドリングストップ用容量とに配分したときの配分率を示す。換言すれば、バッテリ４０の使用可能ＳＯＣ範囲Ｗに対して、アイドリングストップ用容量の領域が下側に、充電制御用容量の領域が上側にそれぞれ設定されており、両領域の境が目標ＳＯＣ値Ｃ１となっている。また、使用可能ＳＯＣ範囲Ｗの下限値にアイドリングストップ用容量を加えた水準が目標ＳＯＣ値Ｃ１として設定されているとも言える。
【００４６】
充電制御用容量は、前述した充電制御による燃料発電の抑制によって必要となる電池容量である。アイドリングストップ用容量は、今後のストップアンドスタート期間において使用されると予想される容量である。本実施形態では、アイドリングストップ用容量は、予想される最大の大きさに定められている。ＳＯＣ配分要求レベルＰ３が高い値になるほど、アイドリングストップ用容量は大きくなっている。直線Ｌよりも上側にＳＯＣを制御したとき、そのＳＯＣに対応する使用可能ＳＯＣ範囲内の残存容量がアイドリングストップ用容量を上回ることからアイドリングストップ制御を完全に実施できるといえるが、その上回る分だけ余剰である。このため、直線Ｌで示される目標ＳＯＣ値Ｃ１は、今後アイドリングストップ制御を完全に実施でき、かつＳＯＣ貯蔵のための発電量を最小にできるＳＯＣを示しているといえる。
【００４７】
目標ＳＯＣ値Ｃ１は、直線Ｌに示すように、ＳＯＣ配分要求レベルＰ３の上昇に従ってリニアに増大するものであったが、これに限られない。例えば、ＳＯＣ配分要求レベルＰ３が所定値以下のときにはＳＯＣ配分要求レベルＰ３の上昇に従ってリニアに増大し、ＳＯＣ配分要求レベルＰ３が所定値を上回るときには一定値を維持するように、目標ＳＯＣ値Ｃ１を定めた構成としてもよい。この構成は、使用可能ＳＯＣ範囲が比較的小さいバッテリの場合に有効である。さらに、目標ＳＯＣ値Ｃ１の変化を直線で示す構成に換えて、曲線で示す構成とすることもできる。
【００４８】
図３に戻って、ステップＳ４００の実行後、ＣＰＵ５２は、ステップＳ４００で算出した目標ＳＯＣ値Ｃ１をフィードバック制御部１３０に出力し（ステップＳ５００）、その後、目標ＳＯＣ推定ルーチンを一旦終了する。フィードバック制御部１３０（図２）では、現在ＳＯＣ値Ｃ２が前記算出された目標ＳＯＣ値Ｃ１に制御される。現在ＳＯＣ値Ｃ２は、バッテリ４０の使用可能ＳＯＣ範囲における残存容量を指し示すが、上記制御の結果、車両走行中に、残存容量はアイドリングストップ用容量を下回ることを回避することができる。すなわち、図５において、現在ＳＯＣ値が充電制御用容量の領域に位置するとき、すなわち、前記残存容量がアイドリングストップ用容量を上回るときに、充電制御がなされて燃料発電によるバッテリ４０への充電が抑えられている。そして、ＳＯＣが低下してアイドリングストップ用容量を下回ろうとするとき、燃料発電によって、直線Ｌで示される目標ＳＯＣ値Ｃ１にＳＯＣは制御されることで、前記アイドリングストップ用容量を下回ろうとすることが回避される。
【００４９】
図６は、自動車２００の運転中における車速とバッテリ４０のＳＯＣ（現在ＳＯＣ値Ｃ２）についてのタイムチャートを示す説明図である。タイムチャートは、縦軸に車速とＳＯＣをとり、横軸に時間をとったものである。自動車２００の運転が開始され、時刻ｔ０において自動車２００が発進すると、車速は次第に増し、通常走行に至る。その後、時刻ｔ１において、車両が減速状態に移行する。この時刻ｔ０から時刻ｔ１までのｔ０−ｔ１期間においては、実線に示すように、ＳＯＣは徐々に低下する。この実線は従来例についてのもので、本実施形態では２点鎖線のように変化する。これについては後述する。
【００５０】
時刻ｔ１の後、時刻ｔ２において車両は停止する。ｔ１−ｔ２の期間では、減速による回生発電がなされ、実線に示すようにＳＯＣは徐々に上昇する。時刻ｔ２（厳密に言えばエンジン停止条件が成立したとき）から車速が立ち上がる時刻ｔ３までの期間がストップアンドスタート期間ＳＳＴであり、エンジン１０は停止されている。ストップアンドスタート期間ＳＳＴでは、補機類による電力消費によってＳＯＣは徐々に下降する。従来例では、実線に示すように、この停止の最中にＳＯＣが下限値ＳＬに達すると（時刻ｔｂ）、バッテリ制御によってエンジン１０は再始動することになる。再始動後、実線に示すように、エンジン１０の動力により発電されＳＯＣは増大する。
【００５１】
本実施形態では、通常走行時にＳＯＣが低下して、バッテリ４０の使用可能ＳＯＣ範囲における残存容量がアイドリングストップ用容量を下回ったときに（時刻ｔａ）、燃料発電によってＳＯＣが増大される。図中２点鎖線に示すようにｔａ−ｔ２期間においてＳＯＣは増大する。この増大は、今後のストップアンドスタート期間に使用すると予想される最大の電池容量を考慮したものであることから、ストップアンドスタート期間ｔ２−ｔ３においてＳＯＣが低下しても、ＳＯＣは下限値ＳＬに至ることがない。なお、「今後のストップアンドスタート期間」とは、図示の一つのストップアンドスタート期間ＳＳＴに限るものではなく、所定の期間において複数のストップアンドスタート期間があれば、それらストップアンドスタート期間の全部である。したがって、本実施形態では、従来例のように、ストップアンドスタート期間ｔ２−ｔ３において、ＳＯＣが下限値に達してエンジン１０が再始動されることがない。
【００５２】
Ｄ．走行環境の推定方法：
図７は、走行環境推定ルーチンを示すフローチャートである。ＥＣＵ５０のＣＰＵ５２により走行環境推定ルーチンを実行することで、車両の走行地域が渋滞地、市街地、郊外地のいずれに該当するかが推定（判定）される。この走行環境推定ルーチンを実行することで実現される機能は、走行環境予測部１１２（図２）に含まれる。
【００５３】
図７に示すように、処理が開始されると、ＥＣＵ５０のＣＰＵ５２は、まず、キー始動がなされたか否かの判定を行う（ステップＳ６１０）。「キー始動」とは、運転者によるイグニッションキー（図示せず）の操作を受けてエンジンを始動することである。ステップＳ６１０でキー始動がなされていないと判定されると、ステップＳ６１０の処理を繰り返し、キー始動がなされるのを待つ。キー始動がなされると、ＣＰＵ５２は、後述する記憶スタックや変数をクリアする初期化処理を実行する（ステップＳ６２０）。なお、変数の一つに後述する走行環境区分Ｐ１があるが、この走行環境区分Ｐ１も郊外を示す値０にクリアされる。
【００５４】
その後、ＣＰＵ５２は、車輪速センサ８２によって検出された車輪速Ｖｈを車速Ｖとし、その車速Ｖが所定速度Ｖ０（例えば、１５ｋｍ／ｈ）を上回るか否かを判定する（ステップＳ６３０）。ここで、車速ＶがＶ０以下である場合に、ＣＰＵ５２は、車速ＶがＶ０を上回るのを待って、ステップＳ６４０に処理を進める。なお、車速Ｖは、車輪速センサ８２の検出値を用いる構成に換えて、車速センサ（図示せず）の検出値を用いる構成等とすることもできる。ステップＳ６４０では、ＣＰＵ５２は、後述する関連情報取得ルーチンの実行を開始する。
【００５５】
図８は、情報取得ルーチンの実行開始時と車速Ｖとの関係を示すタイムチャートの説明図である。タイムチャートの横軸は時間ｔを示し、縦軸は車速Ｖを示す。図示するように、時刻ｔ１でキー始動があると、キー始動から所定の期間、触媒暖機等を理由に車速は０ｋｍ／ｈである。その後、車速Ｖは立ち上がり、所定速度Ｖ０に達すると、その達した時刻ｔ２に、情報取得ルーチンの実行を開始する。このように構成したのは、キー始動時から所定速度Ｖ０に達するまでの期間（ｔ１−ｔ２）を、情報取得ルーチンによって取得する情報の一つである停止時間としてカウントしないためである。
【００５６】
図７に戻って、ステップＳ６４０の実行後、ＣＰＵ５２は、車速ＶがＶ０を上回ってから開始制限時間（後述するＴＬ）を経過したか否かを判定し（ステップＳ６５０）、開始制限時間ＴＬを経過するのを待って、ＣＰＵ５２は、後述する渋滞地等判定ルーチンを実行する（ステップＳ６６０）。ステップＳ６６０の実行後、運転者によってイグニッションキーをオフに切り換える操作がなされた否かを判定し（ステップＳ６７０）、そのオフ操作がなされるまで、ステップＳ６６０の処理を繰り返し実行する。オフ操作がなされると、ＣＰＵ５２は、この走行環境推定ルーチンを終了する。
【００５７】
図９は、ステップＳ６４０で実行が開始された情報取得ルーチンを示すフローチャートである。この情報取得ルーチンでは、走行環境を推定するために必要となる各種の情報が取得され、記憶スタックに格納（記録）される。これらの情報としては、平均車速、停車時間、定速走行時間、加速走行時間、減速走行時間が含まれる。車両の状態は、主に、停止状態と走行状態とに別れる。走行状態は、加速状態、減速状態、定速状態の３つに別れる。このために、平均車速に加えて、前記４つの状態（停止状態、加速状態、減速状態、定速状態）のそれぞれに対応した状態別の時間が、記憶スタックに格納される。以下、詳しく説明する。
【００５８】
図示するように、処理が開始されると、ＣＰＵ５２は、まず、過去１０分間の停車時間を取得する処理を行う（ステップＳ７１０）。詳しくは、第１周期Ｘで、第１周期Ｘの期間における停車時間を算出し、その算出した停車時間を第１記憶スタックＳ１に格納する処理を、繰り返し実行することで、過去１０分間の停車時間を取得する。第１周期Ｘは６０［ｓｅｃ］である。
【００５９】
図１０は、第１記憶スタックＳ１の一例を示す説明図である。図示するように、第１記憶スタックＳ１は、１０個のスタック要素Ｍ（１）、Ｍ（２）、〜、Ｍ（１０）により構成される。なお、第１記憶スタックＳ１は、ＲＡＭ５６に用意される（図１参照）。ステップＳ７１０では、ＣＰＵ５２は、６０秒ごとに、その６０秒間における停車時間を求め、その求めた結果を第１記憶スタックＳ１に備えられたスタック要素Ｍ（ｎ）に順次格納する。ｎは１〜１０までの変数で、格納されるスタック要素Ｍ（ｎ）はＭ（１）からＭ（１０）に向かって順次移動する。停車時間の算出は、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて車両が停止（Ｖｈ＝０ｋｍ／ｈ）しているかを判定し、その停止している時間を、前記第１周期Ｘの期間にわたって計測することによって求める。
【００６０】
すなわち、ステップＳ７１０では、ＣＰＵ５２は、６０秒の期間における停車時間を、６０秒の周期で順次求め、その求めた停車時間をスタック要素Ｍ（１）からＭ（１０）に１つずつ順に格納する。図示の例で言えば、６０秒経過時に２０秒という停車時間がスタック要素Ｍ（１）に格納され、１２０秒経過時に０秒という停車時間がスタック要素Ｍ（２）に格納され、１８０秒経過時に６０秒という停車時間がスタック要素Ｍ（３）に格納される。このように、６０秒周期で、停車時間が順次格納される。なお、図１１に示すように、最後のスタック要素Ｍ（１０）まで停車時間が埋まった場合、すなわち合計で１０分（６００秒）間を経過した場合には、次の周期で求められた停車時間ｐｔは、最初のスタック要素Ｍ（１）に格納される。この時、スタック要素Ｍ（２）〜Ｍ（１０）はそれまでに格納された値が保持される。次の周期で求められた停車時間（図示せず）は、２番目のスタック要素Ｍ（２）に格納される。このように、全てのスタック要素Ｍ（１０）が詰まった場合には、先頭に戻って、先頭から一つずつ順に更新されていく。この結果、ステップＳ７１０では、過去１０分間における、６０秒ごとの停車時間が取得されることになる。なお、過去１０分間というのは、これまで説明してきたように、車両が停止状態にあろうと走行状態にあろうとカウントされる時間である。
【００６１】
前述した車両が停止しているかの判定は、車輪速センサ８２の検出値を用いる構成に換えて、車速センサ（図示せず）の検出値を用いる構成等とすることもできる。
【００６２】
図９に戻って、続いて、過去１５分間の停車時間を取得する処理を行う（ステップＳ７２０）。詳しくは、第２周期Ｙで、第２周期Ｙの期間における停車時間を算出し、その算出した停車時間を第２記憶スタックＳ２に格納する処理を、繰り返し実行することで、過去１５分間の停車時間を取得する。第２周期Ｙは９０［ｓｅｃ］である。なお、このステップＳ７２０の処理は、図示ではステップＳ７１０に続く処理として示したが、これは図示の都合に基づくもので実際は、前述したステップＳ７１０の処理と同様に、この情報取得ルーチンの処理開始後、ただちに実行される。すなわち、ステップＳ７１０の処理とステップＳ７２０の処理は、タイムシェアリングにより並列に実行される。
【００６３】
図１２は、第２記憶スタックＳ２の一例を示す説明図である。図示するように、第２記憶スタックＳ２は、１０個のスタック要素Ｎ（１）、Ｎ（２）、〜、Ｎ（１０）により構成される。なお、第２記憶スタックＳ２は、ＲＡＭ５６に用意される（図１参照）。ステップＳ７２０では、ＣＰＵ５２は、９０秒ごとに、その９０秒間における停車時間を求め、その求めた結果を第２記憶スタックＳ２に備えられたスタック要素Ｎ（ｎ）に順次格納される。ｎは１〜１０までの変数で、格納されるスタック要素Ｎ（ｎ）はＮ（１）からＮ（１０）に向かって順次移動する。停車時間の算出は、前述したように、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて車両の停止を検知して、その停止している時間を、前記第２周期Ｙの期間にわたって計測することによって求める。
【００６４】
すなわち、ステップＳ７２０では、ＣＰＵ５２は、９０秒の期間における停車時間を、９０秒の周期で順次求め、その求めた停車時間をスタック要素Ｎ（１）からＮ（１０）に１つずつ順に格納する。図示の例で言えば、９０秒経過時に２０秒という停車時間がスタック要素Ｎ（１）に格納され、１８０秒経過時に０秒という停車時間がスタック要素Ｎ（２）に格納され、２７０秒経過時に０秒という停車時間がスタック要素Ｎ（３）に格納される。このように、９０秒周期で、停車時間が順次格納される。なお、最後のスタック要素Ｎ（１０）まで停車時間が埋まった場合、すなわち合計時間である１５分（９００秒）間を経過した場合には、先頭に戻って先頭から一つずつ順に更新されていくことは、第１記憶スタックＳ１と同様である。この結果、ステップＳ７２０では、過去１５分間における、９０秒ごとの停車時間が取得されることになる。なお、過去１５分間というのは、これまで説明してきたように、車両が停止状態にあろうと走行状態にあろうとカウントされる時間である。
【００６５】
図９に戻って、ステップＳ７２０の実行後、ＣＰＵ５２は、過去１０分間の定速走行時間を取得する処理を行う（ステップＳ７３０）。この処理は、ステップＳ７１０の処理において、「停車時間」を「定速走行時間」に換えたものである。すなわち、ステップＳ７３０では、ＣＰＵ５２は、第１周期Ｘ（６０秒）の期間における定速走行時間を繰り返し求め、その求めた定速走行時間を、図１０と同じスタック構造の第３記憶スタックＳ３（図１）に順次格納する処理を行う。定速走行時間の算出は、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて車両が定速状態にあるか否かを判定し、定速状態にある時間を、第１周期Ｘの期間にわたって計測することによって求める。なお、第１周期Ｘの期間は、車両が走行状態である必要があり、第１周期Ｘの期間の途中で、車両が停止状態となったとき（車速Ｖ＝０ｋｍ／ｈ）には、その期間については、定速走行時間の計測を中止し、第３記憶スタックＳ３のスタック要素への格納は行わないようにする。この結果、車両の走行時の過去１０分間における、６０秒ごとの定速走行時間が取得されることになる。
【００６６】
続いて、ＣＰＵ５２は、過去１０分間の加速走行時間を取得する処理を行う（ステップＳ７４０）。この処理は、ステップＳ７１０の処理において、「停止時間」を「加速走行時間」に換えたものである。すなわち、ステップＳ７４０では、ＣＰＵ５２は、第１周期Ｘ（６０秒）の期間における加速走行時間を繰り返し求め、その求めた加速走行時間を、図１０と同じスタック構造の第４記憶スタックＳ４（図１）に順次格納する処理を行う。加速走行時間の算出は、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて車両が加速状態にあるか否かを判定し、加速状態にある時間を、第１周期Ｘの期間にわたって計測することによって求める。なお、第１周期Ｘの期間の途中で、車両が停止状態となったとき（車速Ｖ＝０ｋｍ／ｈ）には、その期間については、加速走行時間の計測を中止し、第４記憶スタックＳ４のスタック要素への格納は行わないようにする。この結果、車両の走行時の過去１０分間における、６０秒ごとの加速走行時間が取得されることになる。
【００６７】
続いて、ＣＰＵ５２は、過去１０分間の減速走行時間を取得する処理を行う（ステップＳ７５０）。この処理は、ステップＳ７１０の処理において、「停止時間」を「減速走行時間」に換えたものである。すなわち、ステップＳ７５０では、ＣＰＵ５２は、第１周期Ｘ（６０秒）の期間における減速走行時間を繰り返し求め、その求めた減速走行時間を、図１０と同じスタック構造の第５記憶スタックＳ５（図１）に順次格納する処理を行う。減速走行時間の算出は、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて車両が減速状態にあるか否かを判定し、減速状態にある時間を、第１周期Ｘの期間にわたって計測することによって求める。なお、第１周期Ｘの期間の途中で、車両が停止状態となったとき（車速Ｖ＝０ｋｍ／ｈ）には、その期間については、減速走行時間の計測を中止し、第５記憶スタックＳ５のスタック要素への格納は行わないようにする。この結果、車両の走行時の過去１０分間における、６０秒ごとの減速走行時間が取得されることになる。
【００６８】
続いて、ＣＰＵ５２は、過去１０分間の平均車速を取得する処理を行う（ステップＳ７６０）。この処理は、ステップＳ７１０の処理において、「停止時間」を「平均車速」に換えたものである。すなわち、ステップＳ７６０では、ＣＰＵ５２は、第１周期Ｘ（６０秒）の期間における平均車速を繰り返し求め、その求めた平均車速を、図１０と同じスタック構造の第６記憶スタックＳ６（図１）に順次格納する処理を行う。平均車速は、車輪速センサ８２によって検出される車輪速Ｖｈを車速Ｖとし、その車速Ｖの第１周期Ｘの期間における平均値である。この結果、過去１０分間における、６０秒ごとの平均車速が取得されることになる。なお、過去１０分間というのは、車両が停止状態にあろうと走行状態にあろうとカウントされる時間である。ステップＳ７６０の実行後、「リターン」に抜けて、この情報取得ルーチンを一旦終了する。
【００６９】
なお、ステップＳ７３０ないしＳ７６０の各処理は、図示ではこの順に実行される処理として示したが、これは図示の都合に基づくもので実際は、前述したステップＳ７１０の処理と同様に、この情報取得ルーチンの処理開始後、ただちに実行される。すなわち、ステップＳ７１０ないしＳ７６０の各処理は、タイムシェアリングにより並列に実行される。
【００７０】
図１３および図１４は、ステップＳ６６０（図７）で実行される渋滞地等判定ルーチンを示すフローチャートである。この渋滞地等判定ルーチンは、情報取得ルーチン（図９）によって第１ないし第６の記憶スタックＳ１〜Ｓ６に記憶されている各種情報に基づいて、渋滞地、市街地、郊外地のうちのいずれに該当するかを判定するものである。
【００７１】
図示するように、処理が開始されると、ＣＰＵ５２は、まず、情報取得ルーチン（図９）によって第１ないし第６記憶スタックＳ１〜Ｓ６に記憶されている各種情報に基づいて、近過去停車時間率ＲＳＮ、遠過去停車時間率ＲＳＦ、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤ、および近過去平均車速ＶＡを算出する処理を行う（ステップＳ８１０）。「近過去」、「遠過去」とは、現在から遡る時間の短い、長いを示すものであり、本実施例では、「近過去」は現在からの過去１０分間を示し、「遠過去」は現在からの過去１５分間を示す。
【００７２】
まず、第１記憶スタックＳ１に記憶されている、過去１０分間における、６０秒ごとの停車時間に基づいて、近過去停車時間率ＲＳＮを算出する。詳しくは、第１記憶スタックＳ１のスタック要素Ｍ（１）〜Ｍ（１０）に格納されている各値の合計値を求め、第１記憶スタックＳ１を埋めるに要する時間である６００秒で前記合計値を割って、その商を短期間停車時間率ＲＳとする。
【００７３】
また、第２記憶スタックＳ２に記憶されている、過去１５分間における、９０秒ごとの停車時間に基づいて、遠過去停車時間率ＲＳＦを算出する。詳しくは、第２記憶スタックＳ２のスタック要素Ｎ（１）〜Ｎ（１０）に格納されている各値の合計値を求め、第２記憶スタックＳ２を埋めるに要する時間である９００秒で前記合計値を割って、その商を遠過去停車時間率ＲＳＦとする。
【００７４】
また、第３記憶スタックＳ３に記憶されている、過去１０分間における、６０秒ごとの定速走行時間に基づいて、近過去定速走行時間率ＲＤＣを算出する。詳しくは、第３記憶スタックＳ３の各スタック要素に格納されている各値の合計値を求め、第３記憶スタックＳ３を埋めるに要する時間である６００秒で前記合計値を割って、その商を近過去定速走行時間率ＲＤＣとする。
【００７５】
また、第４記憶スタックＳ４に記憶されている、過去１０分間における、６０秒ごとの加速走行時間に基づいて、近過去加速走行時間率ＲＤＡを算出する。詳しくは、第４記憶スタックＳ４の各スタック要素に格納されている各値の合計値を求め、第４記憶スタックＳ４を埋めるに要する時間である６００秒で前記合計値を割って、その商を近過去加速走行時間率ＲＤＡとする。
【００７６】
また、第５記憶スタックＳ５に記憶されている、過去１０分間における、６０秒ごとの減速走行時間に基づいて、近過去減速走行時間率ＲＤＤを算出する。詳しくは、第５記憶スタックＳ５の各スタック要素に格納されている各値の合計値を求め、第５記憶スタックＳ５を埋めるに要する時間である６００秒で前記合計値を割って、その商を近過去減速走行時間率ＲＤＤとする。
【００７７】
また、第６記憶スタックＳ６に記憶されている、過去１０分間における、６０秒ごとの平均車速に基づいて、近過去平均車速ＶＡを算出する。詳しくは、第６記憶スタックＳ６の各スタック要素に格納されている各値の合計値を求め、第６記憶スタックＳ６を埋めるに要する時間である６００秒で前記合計値を割って、その商を近過去平均車速ＶＡとする。
【００７８】
上記のようにして求められた近過去定速走行時間率ＲＤＣ、近過去減速走行時間率ＲＤＤ、および近過去平均車速ＶＡは、車両の走行時における過去１０分間の中での加速状態、減速状態、および定速状態の各々が占める時間比率となる。したがって、図９におけるステップＳ７３０ないしＳ７５０の処理と、ステップＳ８１０における、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤを算出する処理が、［発明の概要］の欄に記載の「時間比率取得部」に相当する。近過去停車時間率ＲＳＮ、遠過去停車時間率ＲＳＦ、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤ、および近過去平均車速ＶＡをまとめて、以下「データセット」と呼ぶ。この渋滞等判定ルーチンによれば、データセットに基づいて、最終的には、走行環境、すなわち、渋滞地、市街地、郊外地のうちのいずれであるかの判定がなされるが、この判定の手法は、データセットと走行環境との間の以下の相関を考慮して導かれたものである。
【００７９】
図１５は、近過去平均車速ＶＡ、近過去停車時間率ＲＳＮ、および遠過去停車時間率ＲＳＦが走行環境の違いによってどのように変わるかを示す表である。表中の値は、実際に車両を渋滞地、市街地、郊外地で走らせて計測することで得られたものである。近過去平均車速ＶＡについては、市街地、郊外地ともに「２０ｋｍ／ｈ以上」と同じであり、渋滞地は異なり「２０ｋｍ／ｈ未満」である。近過去停車時間率ＲＳＮについては、渋滞地、市街地ともに「３０％以上」と同じであり、郊外地は異なり「４０％未満」である。遠過去停車時間率ＲＳＦについては、渋滞地、市街地ともに「３５％以上」と同じであり、郊外地は異なり「３５％未満」である。
【００８０】
図１６は、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、および近過去減速走行時間率ＲＤＤが、走行環境の違いによってどのように変わるかを示す説明図である。図中の値は、実際に車両を渋滞地、市街地、郊外地で走らせて計測することで得られたものである。なお、近過去定速走行時間率、近過去加速走行時間率、近過去減速走行時間率は、「近過去」の文字を省略して、定速走行時間率、加速走行時間率、去減速走行時間率とも呼ぶ。図１６（ａ）に示すように、渋滞地においては、加速走行時間率ＲＤＡと減速走行時間率ＲＤＤはほぼ同じ値であり、両値より定速走行時間率ＲＤＣは大きい。詳細には、定速走行時間率ＲＤＣから加速走行時間率ＲＤＡを引いた値は１０％より大きく、定速走行時間率ＲＤＣから減速走行時間率ＲＤＤを引いた値は１０％より大きい。これは、渋滞地では、定速でじりじりと走行することが多く、加速状態、減速状態は等しく発生するためであると考えられる。
【００８１】
また、図１６（ｂ）に示すように、市街地においては、加速走行時間率ＲＤＡ＞定速走行時間率ＲＤＣ＞減速走行時間率ＲＤＤとなっている。詳細には、加速走行時間率ＲＤＡから定速走行時間率ＲＤＣを引いた値は５％より大きく、加速走行時間率ＲＤＡから減速走行時間率ＲＤＤを引いた値は８％より大きい。これは、市街地では、停止が多く加速する機会が増えるためであると考えられる。
【００８２】
また、図１６（ｃ）に示すように、郊外地においては、定速走行時間率ＲＤＣと加速走行時間率ＲＤＡと減速走行時間率ＲＤＤはほぼ同じ値である。詳細には、定速走行時間率ＲＤＣから加速走行時間率ＲＤＡを引いた値は５％より小さく、定速走行時間率ＲＤＣから減速走行時間率ＲＤＤを引いた値は５％より小さい。これは、郊外地では、思ったほど定速で走行する時間が多くなく、等しく定速走行、加速走行、減速走行を繰り返すためであると考えられる。
【００８３】
本実施形態では、図１５および図１６に示した相関を満たすか否かを数値で示すべく、「平均車速重み係数」、「近過去停車時間率重み係数」、「遠過去停車時間率重み係数」、「ＲＤＣ−ＲＤＡ重み係数」、「ＲＤＣ−ＲＤＤ重み係数」、「ＲＤＡ−ＲＤＣ重み係数」、「ＲＤＡ−ＲＤＤ重み係数」といった７つの係数が用意される。図１３に示すように、ステップＳ８１０の実行後、ＣＰＵ５２は、渋滞池判定用の前記７つの係数のうちの５つ、すなわち、渋滞地判定用の平均車速重み係数αＷＶ、近過去停車時間率重み係数αＷＳＮ、遠過去停車時間率重み係数αＷＳＦ、ＲＤＣ−ＲＤＡ重み係数αＷＤ１、ＲＤＣ−ＲＤＤ重み係数αＷＤ２を算出する（ステップＳ８２０）。この算出処理は、ＲＯＭ５４に予め用意された２次元マップデータを用いて行われる。
【００８４】
図１７は、ステップＳ８２０で用いられる渋滞地判定用の２次元マップデータを示すグラフである。図１７（ａ）は渋滞地判定用の平均車速重み係数αＷＶを求めるためのものである。この平均車速重み係数αＷＶは、近過去平均車速ＶＡが２０ｋｍ／ｈ未満であるときに値１となり、近過去平均車速ＶＡが２０ｋｍ／ｈ以上であるときに値０となる。これは、図１５の表中の近過去平均車速ＶＡについての行の内容に一致させた構成となっている。ＣＰＵ５２は、ステップＳ８１０で算出した近過去平均車速ＶＡを図１７（ａ）のグラフで示されるマップに照合することで、近過去平均車速ＶＡに対応した平均車速重み係数αＷＶの値を読み出す。
【００８５】
図１７（ｂ）は渋滞地判定用の近過去停車時間率重み係数αＷＳＮを求めるためのものである。この近過去停車時間率重み係数αＷＳＮは、近過去停車時間率ＲＳＮが３０％未満であるときに値０となり、近過去停車時間率ＲＳＮが４０％以上であるときに値１となる。ＲＳＮが３０％から４０％までの範囲内にあるときには、近過去停車時間率重み係数αＷＳＮはＲＳＮの増加に伴って値０から値１の間で漸次大きくなる。これは、図１５の表中の近過去停車時間率ＲＳＮについての行の内容に一致させた構成となっている。図１５では、渋滞地は「３０％以上」となっているが、３０％から４０％までの範囲は、市街地、郊外地であっても条件を満たすことから、この範囲内では値０から値１までの間の値をとるようにした。ＣＰＵ５２は、ステップＳ８１０で算出した近過去停車時間率ＲＳＮを図１７（ｂ）のグラフで示されるマップに照合することで、近過去停車時間率ＲＳＮに対応した近過去停車時間率重み係数αＷＳＮの値を読み出す。
【００８６】
図１７（ｃ）は渋滞地判定用の遠過去停車時間率重み係数αＷＳＦを求めるためのものである。この遠過去停車時間率重み係数αＷＳＦは、遠過去停車時間率ＲＳＦが３５％未満であるときに値０となり、遠過去停車時間率ＲＳＦが３５％以上であるときに値１となる。これは、図１５の表中の遠過去停車時間率ＲＳＦについての行の内容に一致させた構成となっている。ＣＰＵ５２は、ステップＳ８１０で算出した遠過去停車時間率ＲＳＦを図１７（ｃ）のグラフで示されるマップに照合することで、遠過去停車時間率ＲＳＦに対応した過去停車時間率重み係数αＷＳＦの値を読み出す。
【００８７】
図１７（ｄ）は渋滞地判定用のＲＤＣ−ＲＤＡ重み係数αＷＤ１を求めるためのものである。このＲＤＣ−ＲＤＡ重み係数αＷＤ１は、近過去定速走行時間率ＲＤＣから近過去加速走行時間率ＲＤＡを引いた差Ｄ１が５％以下であるときに値０となり、差Ｄ１が１０％以上であるときに値１となる。差Ｄ１が５％から１０％までの範囲内にあるときには、ＲＤＣ−ＲＤＡ重み係数αＷＤ１は差Ｄ１の増加に伴って値０から値１の間で漸次大きくなる。これは、図１６（ａ）に示した「ＲＤＣ−ＲＤＡ＞１０％」との関係に一致させた構成となっている。差Ｄ１が５％から１０％までの範囲で漸次大きくなるようにしたのは、図１６（ａ）の表が統計的な数字であることから、その境界のずれを考慮したためである。ＣＰＵ５２は、ステップＳ８１０で算出した近過去定速走行時間率ＲＤＣと近過去加速走行時間率ＲＤＡから差Ｄ１を求め、その差Ｄ１を図１７（ｄ）のグラフで示されるマップに照合することで、差Ｄ１に対応したＲＤＣ−ＲＤＡ重み係数αＷＤ１の値を読み出す。
【００８８】
図１７（ｅ）は渋滞地判定用のＲＤＣ−ＲＤＤ重み係数αＷＤ２を求めるためのものである。このＲＤＣ−ＲＤＤ重み係数αＷＤ２は、近過去定速走行時間率ＲＤＣから近過去減速走行時間率ＲＤＤを引いた差Ｄ２が７％以下であるときに値０となり、差Ｄ２が１０％以上であるときに値１となる。差Ｄ２が７％から１０％までの範囲内にあるときには、ＲＤＣ−ＲＤＤ重み係数αＷＤ２は差Ｄ２の増加に伴って値０から値１の間で漸次大きくなる。これは、図１６（ａ）に示した「ＲＤＣ−ＲＤＤ＞１０％」との関係に一致させた構成となっている。差Ｄ２が７％から１０％までの範囲で漸次大きくなるようにしたのは、図１６（ａ）の表が統計的な数字であることから、その境界のずれを考慮したためである。ＣＰＵ５２は、ステップＳ８１０で算出した近過去定速走行時間率ＲＤＣと近過去減速走行時間率ＲＤＤから差Ｄ２を求め、その差Ｄ２を図１７（ｅ）のグラフで示されるマップに照合することで、差Ｄ２に対応したＲＤＣ−ＲＤＤ重み係数αＷＤ２の値を読み出す。
【００８９】
上記のようにして求められる渋滞地判定用のＲＤＣ−ＲＤＡ重み係数αＷＤ１と渋滞地判定用のＲＤＣ−ＲＤＤ重み係数αＷＤ２は、図１６（ａ）に示した、定速走行時間率ＲＤＣ、加速走行時間率ＲＤＡ、および減速走行時間率ＲＤＤの大小関係に対する一致度を示すことになる。なお、ここでは、「大小関係」とは、単に大きいか小さいかの関係ではなく、どの程度大きいか、どの程度小さいかも含み得るものとする。以下、「大小関係」とは同様の意味である。図１３に戻って、ＣＰＵ５２は、ステップＳ８２０の実行後、ステップＳ８２０で求められた渋滞地判定用の平均車速重み係数αＷＶ、近過去停車時間率重み係数αＷＳＮ、遠過去停車時間率重み係数αＷＳＦ、ＲＤＣ−ＲＤＡ重み係数αＷＤ１、およびＲＤＣ−ＲＤＤ重み係数αＷＤ２を合計して、その答えを渋滞地度αとして記憶する（ステップＳ８３０）。
【００９０】
続いて、ＣＰＵ５２は、市街地判定用の５つ係数、すなわち、市街地判定用の平均車速重み係数βＷＶ、近過去停車時間率重み係数βＷＳＮ、遠過去停車時間率重み係数βＷＳＦ、ＲＤＡ−ＲＤＣ重み係数βＷＤ３、ＲＤＡ−ＲＤＤ重み係数βＷＤ４を算出する（ステップＳ８４０）。この算出処理は、ＲＯＭ５４に予め用意された２次元マップデータを用いて行われる。
【００９１】
図１８は、ステップＳ８６０で用いられる市街地判定用の２次元マップデータを示すグラフである。図１８（ａ）は市街地判定用の平均車速重み係数βＷＶを求めるためのものである。この平均車速重み係数βＷＶは、近過去平均車速ＶＡが２０ｋｍ／ｈ未満であるときに値０となり、近過去平均車速ＶＡが２０ｋｍ／ｈ以上であるときに値１となる。これは、図１５の表中の近過去平均車速ＶＡについての行の内容に一致させた構成となっている。ＣＰＵ５２は、ステップＳ８１０で算出した近過去平均車速ＶＡを図１８（ａ）のグラフで示されるマップに照合することで、近過去平均車速ＶＡに対応した平均車速重み係数βＷＶの値を読み出す。
【００９２】
図１８（ｂ）は市街地判定用の近過去停車時間率重み係数βＷＳＮを求めるためのものである。このグラフは、図１７（ｂ）に示した渋滞地判定用の近過去停車時間率重み係数αＷＳＮを求めるグラフと同一である。ＣＰＵ５２は、ステップＳ８１０で算出した近過去停車時間率ＲＳＮを図１８（ｂ）のグラフで示されるマップに照合することで、近過去停車時間率ＲＳＮに対応した近過去停車時間率重み係数βＷＳＮの値を読み出す。
【００９３】
図１８（ｃ）は市街地判定用の遠過去停車時間率重み係数βＷＳＦを求めるためのものである。この遠過去停車時間率重み係数βＷＳＦは、遠過去停車時間率ＲＳＦが３５％未満であるときに値０となり、遠過去停車時間率ＲＳＦが３５％以上であるときに値１となる。これは、図１５の表中の遠過去停車時間率ＲＳＦについての行の内容に一致させた構成となっている。ＣＰＵ５２は、ステップＳ８１０で算出した遠過去停車時間率ＲＳＦを図１８（ｃ）のグラフで示されるマップに照合することで、遠過去停車時間率ＲＳＦに対応した過去停車時間率重み係数βＷＳＦの値を読み出す。
【００９４】
図１８（ｄ）は市街地判定用のＲＤＡ−ＲＤＣ重み係数βＷＤ３を求めるためのものである。このＲＤＡ−ＲＤＣ重み係数βＷＤ３は、近過去加速走行時間率ＲＤＡから近過去定速走行時間率ＲＤＣを引いた差Ｄ３が４％以下であるときに値０となり、差Ｄ３が５％以上であるときに値１となる。差Ｄ３が４％から５％までの範囲内にあるときには、ＲＤＡ−ＲＤＣ重み係数βＷＤ３は差Ｄ３の増加に伴って値０から値１の間で漸次大きくなる。これは、図１６（ｂ）に示した「ＲＤＡ−ＲＤＣ＞５％」との関係に一致させた構成となっている。差Ｄ３が４％から５％までの範囲で漸次大きくなるようにしたのは、図１６（ｂ）の表が統計的な数字であることから、その境界のずれを考慮したためである。ＣＰＵ５２は、ステップＳ８１０で算出した近過去加速走行時間率ＲＤＡと近過去定速走行時間率ＲＤＣから差Ｄ３を求め、その差Ｄ３を図１８（ｄ）のグラフで示されるマップに照合することで、差Ｄ３に対応したＲＤＡ−ＲＤＣ重み係数βＷＤ１の値を読み出す。
【００９５】
図１８（ｅ）は市街地判定用のＲＤＡ−ＲＤＤ重み係数βＷＤ４を求めるためのものである。このＲＤＡ−ＲＤＤ重み係数βＷＤ４は、近過去加速走行時間率ＲＤＡから近過去減速走行時間率ＲＤＤを引いた差Ｄ４が６％以下であるときに値０となり、差Ｄ４が８％以上であるときに値１となる。差Ｄ４が６％から８％までの範囲内にあるときには、ＲＤＡ−ＲＤＤ重み係数βＷＤ４は差Ｄ４の増加に伴って値０から値１の間で漸次大きくなる。これは、図１６（ｂ）に示した「ＲＤＡ−ＲＤＤ＞８％」との関係に一致させた構成となっている。差Ｄ４が６％から８％までの範囲で漸次大きくなるようにしたのは、図１６（ｂ）の表が統計的な数字であることから、その境界のずれを考慮したためである。ＣＰＵ５２は、ステップＳ８１０で算出した近過去加速走行時間率ＲＤＡと近過去減速走行時間率ＲＤＤから差Ｄ４を求め、その差Ｄ４を図１８（ｅ）のグラフで示されるマップに照合することで、差Ｄ４に対応したＲＤＡ−ＲＤＤ重み係数βＷＤ４の値を読み出す。
【００９６】
上記のようにして求められる市街地判定用のＲＤＡ−ＲＤＣ重み係数βＷＤ３とＲＤＡ−ＲＤＤ重み係数βＷＤ４は、図１６（ｂ）に示した、定速走行時間率ＲＤＣ、加速走行時間率ＲＤＡ、および減速走行時間率ＲＤＤの大小関係に対する一致度を示すことになる。図１３に戻って、ＣＰＵ５２は、ステップＳ８４０の実行後、ステップＳ８４０で求められた市街地判定用の平均車速重み係数βＷＶ、近過去停車時間率重み係数βＷＳＮ、遠過去停車時間率重み係数βＷＳＦ、ＲＤＡ−ＲＤＣ重み係数βＷＤ３、およびＲＤＡ−ＲＤＤ重み係数βＷＤ４を合計して、その答えを市街地度βとして記憶する（ステップＳ８５０）。
【００９７】
続いて、ＣＰＵ５２は、郊外地判定用の５つ係数、すなわち、郊外地判定用の平均車速重み係数βＷＶ、近過去停車時間率重み係数βＷＳＮ、遠過去停車時間率重み係数βＷＳＦ、ＲＤＣ−ＲＤＡ重み係数βＷＤ１、ＲＤＣ−ＲＤＤ重み係数βＷＤ２を算出する（ステップＳ８６０）。この算出処理は、ＲＯＭ５４に予め用意された２次元マップデータを用いて行われる。
【００９８】
図１９は、ステップＳ８４０で用いられる郊外地判定用の２次元マップデータを示すグラフである。図１９（ａ）は郊外地判定用の平均車速重み係数γＷＶを求めるためのものである。図１９（ａ）に示す平均車速重み係数γＷＶを求めるグラフは、図１８（ａ）に示した市街地判定用の平均車速重み係数βＷＶを求めるグラフと同一である。ＣＰＵ５２は、ステップＳ８１０で算出した近過去平均車速ＶＡを図１９（ａ）のグラフで示されるマップに照合することで、近過去平均車速ＶＡに対応した平均車速重み係数γＷＶの値を読み出す。
【００９９】
図１９（ｂ）は郊外地判定用の近過去停車時間率重み係数γＷＳＮを求めるためのものである。この近過去停車時間率重み係数γＷＳＮは、近過去停車時間率ＲＳＮが３０％未満であるときに値１となり、近過去停車時間率ＲＳＮが４０％以上であるときに値０となる。ＲＳＮが３０％から４０％までの範囲内にあるときには、近過去停車時間率重み係数γＷＳＮはＲＳＮの増加に伴って値１から値０の間で漸次小さくなる。これは、図１５の表中の近過去停車時間率ＲＳＮについての行の内容に一致させた構成となっている。郊外は「４０％未満」となっているが、３０％から４０％までの範囲は、渋滞地、市街地であっても条件を満たすことから、この範囲内では値１から値０までの間の値をとるようにした。ＣＰＵ５２は、ステップＳ８１０で算出した近過去停車時間率ＲＳＮを図１９（ｂ）のグラフで示されるマップに照合することで、近過去停車時間率ＲＳＮに対応した近過去停車時間率重み係数γＷＳＮの値を読み出す。
【０１００】
図１９（ｃ）は郊外地判定用の遠過去停車時間率重み係数γＷＳＦを求めるためのものである。この遠過去停車時間率重み係数γＷＳＦは、遠過去停車時間率ＲＳＦが３５％未満であるときに値１となり、遠過去停車時間率ＲＳＦが３５％以上であるときに値０となる。これは、図１５の表中の遠過去停車時間率ＲＳＦについての行の内容に一致させた構成となっている。ＣＰＵ５２は、ステップＳ８１０で算出した遠過去停車時間率ＲＳＦを図１９（ｃ）のグラフで示されるマップに照合することで、遠過去停車時間率ＲＳＦに対応した過去停車時間率重み係数γＷＳＦの値を読み出す。
【０１０１】
図１９（ｄ）は郊外地判定用のＲＤＣ−ＲＤＡ重み係数γＷＤ１を求めるためのものである。このＲＤＣ−ＲＤＡ重み係数γＷＤ１は、近過去定速走行時間率ＲＤＣから近過去加速走行時間率ＲＤＡを引いた差Ｄ１が５％未満であるときに値１となり、差Ｄ１が７％以上であるときに値０となる。差Ｄ１が５％から７％までの範囲内にあるときには、ＲＤＣ−ＲＤＡ重み係数γＷＤ１は差Ｄ１の増加に伴って値１から値０の間で漸次小さくなる。これは、図１６（ｃ）に示した「ＲＤＣ−ＲＤＡ＜５％」との関係に一致させた構成となっている。差Ｄ１が５％から７％までの範囲で漸次小さくなるようにしたのは、図１６（ｃ）の表が統計的な数字であることから、その境界のずれを考慮したためである。ＣＰＵ５２は、ステップＳ８１０で算出した近過去定速走行時間率ＲＤＣと近過去加速走行時間率ＲＤＡから差Ｄ１を求め、その差Ｄ１を図１９（ｄ）のグラフで示されるマップに照合することで、差Ｄ１に対応したＲＤＣ−ＲＤＡ重み係数γＷＤ１の値を読み出す。
【０１０２】
図１９（ｅ）は郊外地判定用のＲＤＣ−ＲＤＤ重み係数γＷＤ２を求めるためのものである。このＲＤＣ−ＲＤＤ重み係数γＷＤ２は、近過去定速走行時間率ＲＤＣから近過去減速走行時間率ＲＤＤを引いた差Ｄ２が５％未満であるときに値１となり、差Ｄ２が７％以上であるときに値０となる。差Ｄ２が５％から７％までの範囲内にあるときには、ＲＤＣ−ＲＤＤ重み係数γＷＤ２は差Ｄ２の増加に伴って値１から値０の間で漸次小さくなる。これは、図１６（ｃ）に示した「ＲＤＣ−ＲＤＤ＜５％」との関係に一致させた構成となっている。差Ｄ２が５％から７％までの範囲で漸次小さくなるようにしたのは、図１６（ｃ）の表が統計的な数字であることから、その境界のずれを考慮したためである。ＣＰＵ５２は、ステップＳ８１０で算出した近過去定速走行時間率ＲＤＣと近過去減速走行時間率ＲＤＤから差Ｄ２を求め、その差Ｄ２を図１９（ｅ）のグラフで示されるマップに照合することで、差Ｄ２に対応したＲＤＣ−ＲＤＤ重み係数γＷＤ２の値を読み出す。
【０１０３】
上記のようにして求められる郊外地判定用のＲＤＣ−ＲＤＡ重み係数γＷＤ１とＲＤＣ−ＲＤＤ重み係数γＷＤ２は、図１６（ｃ）に示した、定速走行時間率ＲＤＣ、加速走行時間率ＲＤＡ、および減速走行時間率ＲＤＤの大小関係に対する一致度を示すことになる。図１３に戻って、ＣＰＵ５２は、ステップＳ８６０の実行後、ステップＳ８６０で求められた郊外地判定用の平均車速重み係数γＷＶ、近過去停車時間率重み係数γＷＳＮ、遠過去停車時間率重み係数γＷＳＦ、ＲＤＣ−ＲＤＡ重み係数γＷＤ１、およびＲＤＣ−ＲＤＤ重み係数γＷＤ２を合計して、その答えを郊外地度γとして記憶する（ステップＳ８７０）。
【０１０４】
ステップＳ８７０の実行後、ＣＰＵ５２は、図１４のステップＳ８８０に処理を進める。ステップＳ８８０では、渋滞地度αが、市街地度β、渋滞地度γの双方よりも大きいか否かを判定し、渋滞地度αが唯一大きいと判定されると、推定結果を「渋滞地」であると決定する（ステップＳ８８２）。すなわち、走行環境区分Ｐ１に値２をセットする。
【０１０５】
一方、ステップＳ８８０で否定判定されると、ＣＰＵ５２は、ステップＳ８９０に処理を進める。ステップＳ８９０では、市街地度βが、渋滞地度α、郊外地度γの双方よりも大きいか否かを判定し、市街地度βが唯一大きいと判定されると、推定結果を「市街地」であると決定する（ステップＳ８９２）。すなわち、走行環境区分Ｐ１に値１をセットする。
【０１０６】
ステップＳ８９０で否定判定されると、ＣＰＵ５２は、ステップＳ９００に処理を進める。ステップＳ９００では、郊外地度γが、渋滞地度α、市街地度βの双方よりも大きいか否かを判定し、郊外地度γが唯一大きいと判定されると、推定結果を「郊外地」であると決定する（ステップＳ９０２）。すなわち、走行環境区分Ｐ１に値０をセットする。
【０１０７】
ステップＳ９００で否定判定されたとき、すなわち、郊外地度γ、渋滞地度α、市街地度βのうちのいずれか１つだけが、他の２つに比べて大きいということがないとき（すなわち、３つとも同じ大きさであるか、または３つのうちの２つが同じ大きさで、残り１つよりも大きいとき）には、判定が不可であるとして、判定結果を「ミディアム」と決定する（ステップＳ９０４）。本実施形態では、「ミディアム」と決定した際には、走行環境区分Ｐ１は前回の値をそのまま保持する。ステップＳ８８２、Ｓ８９２，Ｓ９０２，Ｓ９０４のいずれかを実行後、ＣＰＵ５２は、「リターン」に抜けて、この渋滞地等判定ルーチンを一旦終了する。以上のように構成された渋滞地等判定ルーチンは、［発明の概要］の欄に記載の「判定部」に相当する部分を含む。
【０１０８】
Ｅ．効果：
以上のように構成された本実施形態の自動車２００によれば、近過去停車時間率ＲＳＮ、遠過去停車時間率ＲＳＦ、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤ、および近過去平均車速ＶＡといった６つのパラメータを用いて総合的に、走行地域が渋滞地、市街地、郊外地のいずれに該当するかが推定されることから、高精度での推定が可能となる。特に、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、および近過去減速走行時間率ＲＤＤの大小関係が渋滞地用、市街地用、郊外地用のいずれのパターンと一致するかを、ＲＤＣ−ＲＤＡ重み係数、ＲＤＣ−ＲＤＤ重み係数、ＲＤＡ−ＲＤＣ重み係数、ＲＤＡ−ＲＤＤ重み係数によって求めることで、より高い精度での推定が可能となる。定速状態、加速状態、減速状態の各時間比率の大小関係は、図１６に示すように、走行環境の違いによって明確に異なったものとなるためである。
【０１０９】
Ｆ．変形例：
なお、この発明は上記の実施形態や変形例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１１０】
・変形例１：
上記実施形態や変形例では、車両の走行環境として渋滞地、市街地、および郊外地のいずれに該当するかを判定する構成としたが、本発明はこれに限られない。例えば、渋滞地か否かだけの判定を行う構成としてもよいし、渋滞地と市街地のいずれに該当するかを判定する構成としてもよいし、４つ以上の区分のうちのいずれに該当するかを判定する構成としてもよい。４つ以上の区分としては、例えば、渋滞地、市街地、郊外地、高速道路とすることができる。
【０１１１】
・変形例２：
上記実施形態では、近過去停車時間率ＲＳＮ、遠過去停車時間率ＲＳＦ、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤ、および近過去平均車速ＶＡといった６つのパラメータに基づいて走行環境の推定を行っていたが、これに換えて、上記６つパラメータから、近過去停車時間率ＲＳＮと遠過去停車時間率ＲＳＦと近過去平均車速ＶＡを除いて、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、および近過去減速走行時間率ＲＤＤに基づいて走行環境の推定を行う構成としてもよい。
【０１１２】
・変形例３：
上記実施形態では、複数の重み係数を求め、それらを合計して渋滞地度α、市街地度β、および郊外地度γを求めることで、走行環境の推定を行っていたが、本発明は、必ずしも、重み係数を求める必要はない。例えば、図１６（ａ）に示した２つの数式を満たしたときに、直ちに渋滞地であると判定し、図１６（ｂ）に示した２つの数式を満たしたときに、直ちに市街地であると判定し、図１６（ｃ）に示した２つの数式を満たしたときに、直ちに郊外地であると判定する構成としてもよい。図１６（ａ）に示した２つの数式、図１６（ｂ）に示した２つの数式、図１６（ｃ）に示した２つの数式は、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、および近過去減速走行時間率ＲＤＤの組み合わせ、すなわち、足したり引いたりの組み合わせと言うことができる。したがって、ＲＤＣ，ＲＤＡ，ＲＤＤの組み合わせに基づいて、走行環境を判定する構成であれば、どのような構成とすることもできる。
【０１１３】
また、上記数式を必ずしも用いる必要はなく、例えば、これら数式のそれぞれの右辺を０％と考えて、左辺の第１項が第２項に対して単に大きいか小さいかによって判定する構成としてもよい。さらに、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤのうちのいずれが大きいかからだけで判定する構成とすることもできる。要は、近過去定速走行時間率ＲＤＣ、近過去加速走行時間率ＲＤＡ、近過去減速走行時間率ＲＤＤが、図１６（ａ）〜（ｃ）のグラフに示したＲＤＣ，ＲＤＡ，ＲＤＤの分布に一致するか否かを正確にまたはある程度だけ判定できる構成であれば、どのような構成であってもよい。
【０１１４】
・変形例４：
上記実施形態では、車両の走行状態が加速状態、減速状態、定速状態のいずれにあるかの判定を、車輪速センサ８２によって検出された車輪速Ｖｈに基づいて行う構成としたが、これに換えて、車速センサ（図示せず）の検出値を用いる構成としてもよい。また、車両の速度変化を見るのではなく、エンジン１０の運転状態から、車両の加速状態、減速状態、定速状態を判定する構成としてもよい。
【０１１５】
・変形例５：
上記実施形態や変形例では、停車時間率として、近過去停車時間率ＲＳＦと遠過去停車時間率ＲＳＮを用意していたが、これに変えて、近過去停車時間率ＲＳＦと遠過去停車時間率ＲＳＮのうちのいずれか一方だけを用いる構成としてもよい。また、所定期間における停車時間の比率は、所定期間における停車回数に換えることもできる。
【０１１６】
・変形例６：
上記実施形態では、キー始動直後の走行環境区分Ｐ１は、郊外を示す値０に初期設定される構成となっていたが、これに換えて、キーオフ時の走行環境区分Ｐ１の値を不揮発性メモリに記憶するようにして、キー始動直後の走行環境区分Ｐ１を前記不揮発メモリに記憶した値にセットする構成としてもよい。駐車前後では、市街地か郊外かの区分は同じ可能性が高いことから、走行環境の推定を始動直後から高精度に行うことができる。
【０１１７】
・変形例７：
上記実施形態では、ＳＯＣ配分要求レベルは、走行環境区分Ｐ１と自車両状態Ｐ２の両方に基づいて算出していたが、これに換えて、走行環境区分Ｐ１だけに基づいて算出する構成としてもよい。
【０１１８】
・変形例８：
上記実施形態では、バッテリは鉛蓄電池としたが、本発明ではこれに限られない。例えば、リチウムイオン蓄電池、ロッキングチェア型蓄電体等の他の種類のバッテリに替えることもできる。また、上記実施形態では、車両は自動車であったが、これに換えて、電車等の自動車以外の車両としてもよい。
【０１１９】
・変形例９：
上記実施形態においてソフトウェアで実現されている機能の一部をハードウェア（例えば集積回路）で実現してもよく、あるいは、ハードウェアで実現されている機能の一部をソフトウェアで実現してもよい。
【０１２０】
なお、前述した実施形態および各変形例における構成要素の中の、独立請求項で記載された要素以外の要素は、付加的な要素であり、適宜省略可能である。例えば、通常走行中はバッテリへの充電を抑えることで燃料消費量を節約し、減速走行中に回生発電によりバッテリへの充電を行なう充電制御についても省略することができる。
【符号の説明】
【０１２１】
１０…エンジン
１５…自動変速機
２０…ディファレンシャルギア
２５…駆動輪
３０…スタータ
３４…駆動機構
３５…オルタネータ
４０…バッテリ
５０…ＥＣＵ
７０…補機類
７２…ヘッドライト
７４…空調装置
８２…車輪速センサ
８４…ブレーキペダルセンサ
８６…アクセル開度センサ
８８…バッテリ電流センサ
８９…オルタネータ電流センサ
９０…アイドリングストップ制御部
１００…ＳＯＣ制御部
１１０…目標ＳＯＣ推定部
１１２…走行環境予測部
１１４…自車両状態予測部
１１６…ＳＯＣ配分要求レベル算出部
１１８…目標ＳＯＣ算出部
１２０…バッテリＳＯＣ算出部
１３０…フィードバック制御部
２００…自動車
Ｓ１〜Ｓ６…第１ないし第６記憶スタック
ＶＡ…近過去平均車速
ＲＳＦ…遠過去停車時間率
ＲＳＮ…近過去停車時間率
ＲＤＡ…近過去加速走行時間率
ＲＤＣ…近過去定速走行時間率
ＲＤＤ…近過去減速走行時間率
【図１】
2014097708.tif 000003
【図２】
2014097708.tif 000004
【図３】
2014097708.tif 000005
【図４】
2014097708.tif 000006
【図５】
2014097708.tif 000007
【図６】
2014097708.tif 000008
【図７】
2014097708.tif 000009
【図８】
2014097708.tif 000010
【図９】
2014097708.tif 000011
【図１０】
2014097708.tif 000012
【図１１】
2014097708.tif 000013
【図１２】
2014097708.tif 000014
【図１３】
2014097708.tif 000015
【図１４】
2014097708.tif 000016
【図１５】
2014097708.tif 000017
【図１６】
2014097708.tif 000018
【図１７】
2014097708.tif 000019
【図１８】
2014097708.tif 000020
【図１９】
2014097708.tif 000021