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