(57)【要約】【課題】一層、ハイブリッド車両の燃費を向上させることができる動力発生源制御装置を提供する。【解決手段】過去の発電電費閾値Dg_limおよびアシスト電費閾値Da_limを計画情報として複数保存し、それら複数の計画情報の各々を用いて、過去の複数の走行パターンを走行したと仮定した場合の推定燃料消費量est_fuelをそれぞれ推定する。そして、その複数の推定燃料消費量est_fuelを平均した平均推定燃料消費量est_fuel_aveが最も少ない計画情報を、次の走行に用いる計画情報として選択する（Ｓ３１２）。そして、選択した計画情報（発電電費閾値Dg_lim_next(l)、アシスト電費閾値Da_lim_next(l)）と、車両走行中に実際に必要な駆動動力SPwに基づいて算出した現在の発電電費Dg_nowおよび現在のアシスト電費Da_nowとに基づいて発電時改善量Kgおよびアシスト時改善量Kaを算出して、その２つの改善量Kに基づいてエンジン４およびモータジェネレータMGを制御する。【選択図】図２
2010162957.tif 000002
【特許請求の範囲】
【請求項１】
車両の駆動軸を駆動するための動力を発生させる動力発生源として、内燃機関および回転電機を備えるとともに、前記回転電機との間で電力の授受を行う蓄電装置を備えたハイブリッド車両に用いられ、前記動力発生源を制御する動力発生源制御装置であって、
前記車両の予定走行経路およびその予定走行経路を走行する時の予測駆動動力を設定する予定走行経路情報設定手段と、
その設定された予定走行経路を複数の第１区間に分割する経路分割手段と、
前記複数の第１区間に対して、発電走行したときの発電による燃料増加量の指標となる発電電費をそれぞれ算出する発電電費算出手段と、
前記複数の第１区間に対して、アシスト走行したときの前記回転電機のアシストによる燃料減少量の指標となるアシスト電費をそれぞれ算出するアシスト電費算出手段と、
各第１区間に対して算出した前記発電電費に基づいて発電電費の基準となる発電電費基準値を設定するとともに、各第１区間に対して算出した前記アシスト電費に基づいてアシスト電費の基準となるアシスト電費基準値を設定する基準値設定手段と、
前記車両の走行中に車軸が要求する要求駆動動力を実要求駆動動力として逐次設定する実要求駆動動力設定手段と、
その設定した実要求駆動動力を満たすように発電走行した場合の発電電費を実発電電費として算出する実発電電費算出手段と、
前記実要求駆動動力を満たすようにアシスト走行した場合のアシスト電費を実アシスト電費として算出する実アシスト電費算出手段と、
前記実発電電費と前記発電電費基準値とから発電走行による電費改善量を決定するとともに、前記実アシスト電費と前記アシスト電費基準値とからアシスト走行による電費改善量を決定し、その２つの電費改善量に基づいて、前記内燃機関に発生させる駆動動力を制御するとともに、前記回転電機を電動または発電制御する制御手段とを備えるとともに、
前記基準値設定手段で設定した過去の発電電費基準値およびアシスト電費基準値を計画情報として複数保存する計画情報保存手段と、
その計画情報保存手段に前記予定走行経路の計画情報として保存されている複数の計画情報に対して、各計画情報に基づいて前記内燃機関および前記回転電機を制御して前記予定走行経路を走行したと仮定した場合に消費すると推定される推定燃料消費量に関する評価指標を算出する評価指標算出手段と、
その評価指標算出手段で算出された評価指標に基づいて、前記計画情報保存手段に前記予定走行経路の計画情報として保存されている複数の計画情報から、最も推定燃料消費量が少ないと推定される計画情報を選択する計画情報選択手段とを備え、
前記制御手段は、前記計画情報選択手段が選択した計画情報を構成する前記発電電費基準値および前記アシスト電費基準値を用いて制御を行うことを特徴とする動力発生源制御装置。
【請求項２】
請求項１において、
前記基準値設定手段は、前記予定走行経路を前記第１区間よりも長い第２区間毎に分割し、各第２区間に含まれる第１区間に対して算出した前記発電電費に基づいて、その第２区間の発電電費基準値を設定するとともに、各第２区間に含まれる第１区間に対して算出した前記アシスト電費に基づいてその第２区間のアシスト電費基準値を設定することを特徴とする動力発生源制御装置。
【請求項３】
請求項２において、
前記発電電費算出手段で算出した各第１区間の発電電費と前記アシスト電費算出手段で算出した各第１区間のアシスト電費とに基づいて、前記予定走行経路を走行した場合の燃料消費量が最小となるように、各第１区間における前記回転電機と前記蓄電装置との間の最適電力授受量を決定する最適電力授受量決定手段と、
その最適電力授受量に基づいて、各第２区間の電力収支を理想電力収支として算出する理想電力収支算出手段と、
前記発電電費算出手段で算出した各第１区間の発電電費と前記発電電費基準値とから発電走行による電費改善量を決定するとともに、前記アシスト電費算出手段で算出した各第１区間のアシスト電費と前記アシスト電費基準値とから、アシスト走行による電費改善量を決定し、２つの電費改善量に基づいて、前記予定走行経路を車両が走行したと仮定したときの各第１区間の電力授受量を推定する電力授受量推定手段と、
その電力授受量推定手段で推定した電力授受量に基づいて、各第２区間の電力収支を推定電力収支として算出する推定電力収支算出手段とを備え、
前記基準値設定手段は、前記理想電力収支算出手段で算出した各第２区間の理想電力収支と、前記推定電力収支算出手段で算出した各第２区間の推定電力収支とが略一致するように、前記発電電費基準値および前記アシスト電費基準値を設定することを特徴とする動力発生源制御装置。
【請求項４】
請求項１乃至３のいずれか１項において、
過去に前記予定走行経路を走行する際に前記発電電費算出手段および前記アシスト電費算出手段で算出した各第１区間の発電電費およびアシスト電費を含む電費情報を、過去複数回の走行分保存する電費情報保存手段と、
前記計画情報保存手段に保存されている計画情報を用いて前記電費情報保存手段に保存されている電費情報に対応する走行を行った場合の推定燃料消費量を、複数の電費情報に対して算出する推定燃料消費量算出手段とを備え、
前記評価指標算出手段は、その複数の推定燃料消費量の平均値である平均推定燃料消費量を前記評価指標として算出することを特徴とする動力発生源制御装置。
【請求項５】
請求項４において、
前記計画情報保存手段に保存されている計画情報を用いて前記電費情報保存手段に保存されている電費情報に対応する走行を行った場合の走行前後での推定電力収支を、複数の電費情報に対して算出する推定電力収支算出手段を備え、
前記推定燃料消費量算出手段は、前記計画情報保存手段に保存されている計画情報を用いて前記電費情報保存手段に保存されている電費情報に対応する走行を行った場合の推定燃料消費量を、前記推定電力収支算出手段で算出した推定電力収支に基づいて所定の電力収支での推定燃料消費量に補正することを特徴とする動力発生源制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイブリッド車両に用いられ、動力発生源を制御する動力発生源制御装置に関する。
【背景技術】
【０００２】
車両の駆動軸を駆動するための動力を発生させる動力発生源として、内燃機関および回転電機を備えるとともに、回転電機を回転駆動させるためにその回転電機に電力を供給する蓄電装置とを備えたハイブリッド車両が知られている。
【０００３】
ハイブリッド車両は、２種類の動力発生源を備えているので、それら２種類の動力発生源において発生させる動力を適切に分配することにより、燃費を向上させることができる。そのため、２種類の動力発生源の動力分配をどのように決定するかが問題となる。この動力分配を決定する方法として、ナビゲーション装置において設定された走行経路を利用する方法が知られている（たとえば特許文献１）。
【０００４】
特許文献１では、予測走行パターンに基づいて作成した充電率目標値を満足するように、走行経路を実際に走行する際のバッテリの充放電制御を行っている。しかし、実際に走行するときの走行パターンが、予測した通りになるとは限らない。そのため、特許文献１の技術では、たとえば、発電効率がよいと予測したタイミングで発電したが実際には発電効率が悪いタイミングであったなど、バッテリの充電タイミングおよび放電タイミングが最適ではないことも生じる。その結果、特許文献１の技術は、燃費を十分に向上させることができなかった。
【０００５】
そこで、本願出願人は、特許文献２にて、車両の予定走行経路およびその予定走行経路の駆動動力を予測し、予定走行経路を分割した複数の区間に対して、発電走行したときの発電による燃料増加量の指標となる発電電費とアシスト走行したときの回転電機のアシストによる燃料減少量の指標となるアシスト電費をそれぞれ算出し、これに基づいて発電電費の基準となる発電電費基準値とアシスト電費の基準となるアシスト電費基準値を設定し、車両の走行中は、車軸が要求する実要求駆動動力等から算出した実発電電費、実アシスト電費、発電電費基準値、アシスト電費基準値を基に、内燃機関に発生させる駆動動力と回転電機の発電/アシスト電力を制御する制御手段を開示した。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３６１０８７９号公報
【特許文献２】特開２００８−１８３９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２の発明によれば、発電電費基準値、アシスト電費基準値を基に発電およびアシストを制御しているので、充放電のタイミングずれにより効率の悪い発電やアシストを行ってしまうことがあるという、特許文献１の問題点を回避することができる。
【０００８】
しかし、特許文献２の発明では、将来の走行パターンを１パターンのみ予測して、その１パターンに基づいて発電電費基準値、アシスト電費基準値を設定している。そのため、同じ走行経路であっても、走行毎の車速や駆動動力のばらつきが顕著な場合には、発電／アシスト電力の設定値が必ずしも最適な値にならず、その結果、十分に燃費を向上させることができない場合があった。
【０００９】
本発明は、この事情に基づいて成されたものであり、その目的とするところは、一層、ハイブリッド車両の燃費を向上させることができる動力発生源制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
その目的を達成するための請求項１記載の発明は、車両の駆動軸を駆動するための動力を発生させる動力発生源として、内燃機関および回転電機を備えるとともに、前記回転電機との間で電力の授受を行う蓄電装置を備えたハイブリッド車両に用いられ、前記動力発生源を制御する動力発生源制御装置であって、
前記車両の予定走行経路およびその予定走行経路を走行する時の予測駆動動力を設定する予定走行経路情報設定手段と、
その設定された予定走行経路を複数の第１区間に分割する経路分割手段と、
前記複数の第１区間に対して、発電走行したときの発電による燃料増加量の指標となる発電電費をそれぞれ算出する発電電費算出手段と、
前記複数の第１区間に対して、アシスト走行したときの前記回転電機のアシストによる燃料減少量の指標となるアシスト電費をそれぞれ算出するアシスト電費算出手段と、
各第１区間に対して算出した前記発電電費に基づいて発電電費の基準となる発電電費基準値を設定するとともに、各第１区間に対して算出した前記アシスト電費に基づいてアシスト電費の基準となるアシスト電費基準値を設定する基準値設定手段と、
前記車両の走行中に車軸が要求する要求駆動動力を実要求駆動動力として逐次設定する実要求駆動動力設定手段と、
その設定した実要求駆動動力を満たすように発電走行した場合の発電電費を実発電電費として算出する実発電電費算出手段と、
前記実要求駆動動力を満たすようにアシスト走行した場合のアシスト電費を実アシスト電費として算出する実アシスト電費算出手段と、
前記実発電電費と前記発電電費基準値とから発電走行による電費改善量を決定するとともに、前記実アシスト電費と前記アシスト電費基準値とからアシスト走行による電費改善量を決定し、その２つの電費改善量に基づいて、前記内燃機関に発生させる駆動動力を制御するとともに、前記回転電機を電動または発電制御する制御手段とを備えるとともに、
前記基準値設定手段で設定した過去の発電電費基準値およびアシスト電費基準値を計画情報として複数保存する計画情報保存手段と、
その計画情報保存手段に前記予定走行経路の計画情報として保存されている複数の計画情報に対して、各計画情報に基づいて前記内燃機関および前記回転電機を制御して前記予定走行経路を走行したと仮定した場合に消費すると推定される推定燃料消費量に関する評価指標を算出する評価指標算出手段と、
その評価指標算出手段で算出された評価指標に基づいて、前記計画情報保存手段に前記予定走行経路の計画情報として保存されている複数の計画情報から、最も推定燃料消費量が少ないと推定される計画情報を選択する計画情報選択手段とを備え、
前記制御手段は、前記計画情報選択手段が選択した計画情報を構成する前記発電電費基準値および前記アシスト電費基準値を用いて制御を行うことを特徴とする。
【００１１】
この請求項１記載の発明では、特許文献２と同様に、発電電費基準値およびアシスト電費基準値を、予測駆動動力に基づいて算出した発電電費およびアシスト電費に基づいて設定している。そして、これら発電電費基準値およびアシスト電費基準値と、車両走行中に実際に必要な駆動動力に基づいて算出した実発電電費および実アシスト電費とに基づいて発電走行による電費改善量およびアシスト走行による電費改善量を決定して、その２つの電費改善量に基づいて内燃機関および回転電機を制御している。そのため、発電走行、アシスト走行のタイミングが適切となるので、ハイブリッド車両の燃費を向上させることができる。
【００１２】
加えて、過去の発電電費基準値およびアシスト電費基準値を計画情報として複数保存しており、複数の計画情報に対して推定燃料消費量に関する評価指標を算出して、最も推定燃料消費量が少ないと推定される計画情報を実際の走行に用いる計画情報として選択しているので、走行毎の車速や駆動動力のばらつきが顕著であっても、燃費をより向上させることができる。
【００１３】
請求項２記載の発明は、請求項１の動力発生源制御装置において、前記基準値設定手段は、前記予定走行経路を前記第１区間よりも長い第２区間毎に分割し、各第２区間に含まれる第１区間に対して算出した前記発電電費に基づいて、その第２区間の発電電費基準値を設定するとともに、各第２区間に含まれる第１区間に対して算出した前記アシスト電費に基づいてその第２区間のアシスト電費基準値を設定することを特徴とする。
【００１４】
このようにすれば、発電電費およびアシスト電費が変動する単位である第１区間よりも長い第２区間を単位として、発電電費基準値およびアシスト電費基準値が変動することになる。そして、この第２区間を単位として設定された発電電費基準値およびアシスト電費基準値を実発電電費および実アシスト電費と比較することで、内燃機関および回転電機を制御する指標となる２つの電費改善量を決定している。そのため、各第１区間に対して予測した予測駆動動力と、車両がその第１区間を走行しているときに実要求駆動動力との間にずれが生じたとしても、そのことが２つの電費改善量に与える影響が低減されることになる。そのため、たとえば、実際には、発電走行することによる電費改善量が少ないにも関わらず発電走行をしてしまうなど、電費改善量の少ない走行を少なくすることができるので、より燃費を向上させることができる。
【００１５】
請求項３記載の発明は、請求項２の動力発生源制御装置において、前記発電電費算出手段で算出した各第１区間の発電電費と前記アシスト電費算出手段で算出した各第１区間のアシスト電費とに基づいて、前記予定走行経路を走行した場合の燃料消費量が最小となるように、各第１区間における前記回転電機と前記蓄電装置との間の電力授受量を決定する最適電力授受量決定手段と、
その最適電力授受量決定手段で決定した電力授受量に基づいて、各第２区間の電力収支を理想電力収支として算出する理想電力収支算出手段と、
前記発電電費算出手段で算出した各第１区間の発電電費と前記発電電費基準値とから発電走行による電費改善量を決定するとともに、前記アシスト電費算出手段で算出した各第１区間のアシスト電費と前記アシスト電費基準値とから、アシスト走行による電費改善量を決定し、２つの電費改善量に基づいて、前記予定走行経路を車両が走行したと仮定したときの各第１区間の電力授受量を推定する電力授受量推定手段と、
その電力授受量推定手段で推定した電力授受量に基づいて、各第２区間の電力収支を推定電力収支として算出する推定電力収支算出手段とを備え、
前記基準値設定手段は、前記理想電力収支算出手段で算出した各第２区間の理想電力収支と、前記推定電力収支算出手段で算出した各第２区間の推定電力収支とが略一致するように、前記発電電費基準値および前記アシスト電費基準値を設定することを特徴とする。
【００１６】
前述の請求項１に係る発明では、発電電費基準値およびアシスト電費基準値をもとに内燃機関および回転電機の制御を行っている。そのため、これら発電電費基準値およびアシスト電費基準値の大きさが燃費に影響し、基準値の大きさによっては十分に燃費を向上させることができない可能性もある。
【００１７】
そこで、この請求項３記載の発明では、予定走行経路を走行した場合に燃料消費量が最小となるように、各第１区間の最適電力授受量を決定して、その最適電力授受量から各第２区間の理想電力収支を算出している。その一方で、電力授受量推定手段において、発電電費基準値およびアシスト電費基準値を用いた制御を行って、予定走行経路を車両が走行したと仮定したときの各第１区間の電力授受量を推定し、その推定した電力授受量からも、第２区間の電力収支を推定電力収支として算出している。そして、これら理想電力収支と推定電力収支とが略一致するように発電電費基準値およびアシスト電費基準値を設定している。そのため、実際に走行したときの燃費をより最小燃費に近づけることができる。
【００１８】
請求項４記載の発明は、請求項１乃至３のいずれか１項の動力発生源制御装置において、
過去に前記予定走行経路を走行する際に前記発電電費算出手段および前記アシスト電費算出手段で算出した各第１区間の発電電費およびアシスト電費を含む電費情報を、過去複数回の走行分保存する電費情報保存手段と、
前記計画情報保存手段に保存されている計画情報を用いて前記電費情報保存手段に保存されている電費情報に対応する走行を行った場合の推定燃料消費量を、複数の電費情報に対して算出する推定燃料消費量算出手段とを備え、
前記評価指標算出手段は、その複数の推定燃料消費量の平均値である平均推定燃料消費量を前記評価指標として算出することを特徴とする。
【００１９】
このように、一つの計画情報に対して、複数の電費情報に基づいて複数の推定燃料消費量を算出し、その平均値である平均推定燃料消費量を評価指標とすれば、平均燃費がより高い計画情報を選択することができる。
【００２０】
請求項５記載の発明は、請求項４の動力発生源制御装置において、前記計画情報保存手段に保存されている計画情報を用いて前記電費情報保存手段に保存されている電費情報に対応する走行を行った場合の走行前後での推定電力収支を、複数の電費情報に対して算出する推定電力収支算出手段を備え、
前記推定燃料消費量算出手段は、前記計画情報保存手段に保存されている計画情報を用いて前記電費情報保存手段に保存されている電費情報に対応する走行を行った場合の推定燃料消費量を、前記推定電力収支算出手段で算出した推定電力収支に基づいて所定の電力収支での推定燃料消費量に補正することを特徴とする。
【００２１】
ハイブリッド車両では、蓄電装置の電気エネルギの蓄電量が走行前後で相違することによっても燃料消費量が増減する。そこで、このようにして、所定の電力収支での推定燃料消費量に補正することが好ましい。これにより、電力収支の影響を考慮した評価指標を設定することができる。
【図面の簡単な説明】
【００２２】
【図１】ハイブリッド制御ＥＣＵ２４およびナビゲーション装置２９によって構成される第１実施形態の動力発生源制御装置を備えたハイブリッド車両１の要部構成を示す図である。
【図２】図１のハイブリッド制御ＥＣＵ２４が実行する運転制御ルーチンを示す図である。
【図３】ナビゲーション装置２９内の制御装置が実行する閾値現在値の算出・送信処理を示すフローチャートである。
【図４】図３のステップＳ３０３で決定した第２分割区間と、区間分割データsection_div(l)のフォーマット例を示す図である。
【図５】図３のステップＳ３０７の処理を詳しく示すフローチャートである。
【図６】図３のステップＳ３０８の処理を詳しく示すフローチャートである。
【図７】図３のステップＳ３０９の処理を詳しく示すフローチャートである。
【図８】図７のステップＳ７０３の処理を詳しく示すフローチャートである。
【図９】図７のステップＳ７０４の処理を詳しく示すフローチャートである。
【図１０】図３のステップＳ３０３で予測した車速（図１０（ａ））と、ステップＳ３０９にて行ったスケジューリング結果（図１０（ｂ））とを示す図である。
【図１１】ナビゲーション装置２９内の走行情報データベースを示す図である。
【図１２】電費Dと、モータジェネレータMGと電源系との間の電力授受量Wmgとの関係を例示する図である。
【図１３】図３のステップＳ３１０の処理を詳しく示すフローチャートである。
【図１４】図１３のステップＳ１３０６の処理を詳しく示すフローチャートである。
【図１５】図１４のステップＳ１４０１の処理を詳しく示すフローチャートである。
【図１６】図３のステップＳ３１２の処理を詳しく示すフローチャートである。
【図１７】図１６のステップＳ１６０１における平均推定燃料消費量est_fuel_aveの算出方法を概念的に示す図である。
【図１８】図１６のステップＳ１６０１における推定燃料消費量est_fuel(i,j)の算出処理を詳しく示すフローチャートである。
【図１９】図２のステップＳ２０２の処理を詳しく示すフローチャートである。
【図２０】図１９のステップＳ１９０４の処理を詳しく示すフローチャートである。
【図２１】図２０の処理の具体例を説明する図である。
【図２２】図２０の処理の具体例を説明する図である。
【図２３】図２０の処理の具体例を説明する図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、ハイブリッド制御ＥＣＵ２４およびナビゲーション装置２９によって構成される動力発生源制御装置を備えたハイブリッド車両１の要部構成を示す図である。
【００２４】
図１に示すように、ハイブリッド車両１は、エンジン４と２つのモータジェネレータ（すなわち回転電機）MG1、MG2とを動力発生源として備えたシリーズパラレル式のハイブリッド車両である。
【００２５】
エンジン４は、燃料としてガソリンまたは軽油を用いる内燃機関である。このエンジン４の出力軸は、遊星歯車装置１２のプラネタリギアに連結されている。遊星歯車装置１２のサンギアには第１モータジェネレータMG1の出力軸が連結され、遊星歯車装置１２のリングギアには減速機１３の入力軸が連結されている。上記減速機１３の入力軸には、第２モータジェネレータMG2の出力軸も連結されている。減速機１３は一対の常時噛み合い歯車を有しており、減速機１３の出力軸の回転がデファレンシャルギア１４を介して車軸（すなわち駆動軸）１５に伝達される。この構成により、遊星歯車装置１２は動力分割機構として機能し、エンジン４からの動力と第２モータジェネレータMG２からの動力とを統合して減速機１３の入力軸に入力することができるとともに、エンジン４からの動力を減速機１３の入力軸と第１モータジェネレータMG1とに分割することもできる。
【００２６】
第１モータジェネレータMG1および第２モータジェネレータMG2は、それぞれ、第１インバータ８および第２インバータ１０に接続されており、それら第１、第２インバータ８、１０は、電力授受ライン１８によって高圧系バッテリ６と電気的に接続されている。第１、第２モータジェネレータMG1、MG2は、高圧系バッテリ６からの電力が供給されるとモータとして機能して動力を発生させる。一方、エンジン４からの動力によって回転させられると発電機として機能して電力を発生させる。
【００２７】
請求項の蓄電装置に相当する高圧系高圧系バッテリ６は、複数の二次電池が直列接続されて高電圧を出力するように構成されており、二次電池としては、たとえば、ニッケル水素二次電池を用いる。この高圧系バッテリ６は、電力授受ライン１８によってインバータ８、１０と接続されていることに加えて、系内電力供給ライン１９によって車両１に備えられている種々の電気負荷１６とも接続されている。
【００２８】
この電気負荷１６には、高圧系バッテリ６から直接電力供給を受ける高圧系電気負荷１６ａと、ＤＣＤＣコンバータ１７を介して系内電力供給ライン１９に接続されている低圧系電気負荷１６ｂとがある。
【００２９】
低圧系電気負荷１６ｂはたとえばライトなどであり、鉛蓄電池などが用いられる低圧系バッテリ２１とも電気的に接続されている。この低圧系バッテリ２１と低圧系電気負荷１６ｂは、一つの高圧系電気負荷と考えることもできる。なお、本実施形態では、高圧系バッテリ６と高圧系電気負荷１６ａとを総称して高圧電源系といい、低圧系バッテリ２１と低圧系電気負荷１６ｂとを総称して低圧電源系といい、高圧電源系および低圧電源系を総称して電源系という。
【００３０】
電力検出部２８は、電源系内において消費される電力を検出するために、系内電力供給ライン１９の電流および電圧を検出する。また、バッテリＥＣＵ２２は高圧系バッテリ６の残存エネルギを表す信号をハイブリッド制御ＥＣＵ２４へ逐次供給する。
【００３１】
ナビゲーション装置２９は、地図データベースを記憶した記憶装置および制御装置（いずれも図示せず）を備えて、通常の経路案内機能、すなわち、出発地から目的地までの予定走行経路を設定し、設定した予定走行経路と車両の現在位置とに基づいて経路案内を行う。また、無線通信機を内蔵して、その無線通信機により車外と通信して、渋滞情報などの交通情報や、その他、必要な情報を取得する機能も備えている。さらに、ナビゲーション装置２９の制御装置は、設定した予定走行経路を車両が走行する際に、発電を行うかアシスト行うかの基準となる発電電費閾値現在値Dg_lim_nowおよびアシスト電費閾値現在値Da_lim_nowを、逐次、ハイブリッド制御ＥＣＵ２４に送信する機能を備えている。この機能に関しては後に詳述する。
【００３２】
ハイブリッド制御ＥＣＵ２４には、車速Vを表す信号、アクセル開度ACを表す信号、ブレーキのオンオフ状態を表すブレーキ信号Sb、シフト位置を表すシフト位置信号Psが供給される。また、ＭＧＥＣＵ２０、バッテリＥＣＵ２２、エンジンＥＣＵ２６、ナビゲーション装置２９との間で相互に信号の送受信を行う。そして、供給される種々の信号に基づいてエンジン４の目標トルクTerefおよびモータジェネレータMG1、MG2の目標トルクTmg1, Tmg2を決定して、その決定した目標トルクTをエンジンＥＣＵ２６およびＭＧＥＣＵ２０へ出力する。ＭＧＥＣＵ２０は、ハイブリッド制御ＥＣＵ２４から供給される目標トルクTmg1, Tmg2をモータジェネレータMG1、MG2が出力するようにインバータ８、１０を制御する。エンジンＥＣＵ２６は、ハイブリッド制御ＥＣＵ２４から供給される目標トルクTerefをエンジン４が出力するようにエンジン４を制御する。
【００３３】
図２は、ハイブリッド制御ＥＣＵ２４が実行する運転制御ルーチンを示す図である。この運転制御ルーチンは車両走行中に所定周期で繰り返し実行するようになっている。図２において、まず、実要求駆動動力設定手段に相当するステップＳ２０１では、車軸１５が要求する要求駆動動力SPwを設定する。この要求駆動動力SPwは請求項の実要求駆動動力に相当するものである。この要求駆動動力SPwは、ハイブリッド制御ＥＣＵ２４に供給されるアクセル開度ACと車速Vとから、予め記憶された三次元マップを参照することにより設定する。
【００３４】
続くステップＳ２０２では、ナビゲーション装置２９から発電電費閾値現在値Dg_lim_nowおよびアシスト電費閾値現在値Da_lim_nowを受信し、それら発電電費閾値現在値Dg_lim_nowおよびアシスト電費閾値現在値Da_lim_nowと、発電電費現在値Dg_nowおよびアシスト電費現在値Da_nowとに基づいて、要求電力授受量BPwrefを算出する。この要求電力授受量BPwrefは、電源系とモータジェネレータMG側との間の電力授受量、すなわち、電力授受ライン１８を流れる電力であり、電源系が要求する場合（電源系がモータジェネレータMGから電力供給を受ける場合）を正の値とする。この要求電力授受量BPwrefを算出する処理は、後に詳述する。
【００３５】
続くステップＳ２０３では、車両の動力伝達経路で失われる動力損失SPwlossを、車速VとステップＳ２０１で設定した要求駆動動力SPwとから、予め記憶された三次元マップを参照することにより設定する。
【００３６】
続くステップＳ２０４では、エンジンの目標回転速度Nerefと目標トルクTerefを設定する。これら目標回転速度Neref、目標トルクTerefを設定するために、まず、車軸１５の駆動動力がステップＳ２０１で設定した要求駆動動力SPwとなり、電源系との間の電力授受量WmgがステップＳ２０２で設定した要求電力授受量BPwrefとなるようなエンジン４、モータジェネレータMG1、MG2の動作範囲を、ステップＳ２０３で設定した動力損失SPwlossおよびモータジェネレータMG1,MG2における機械-電気変換損失を考慮した公知の計算式を用いて設定する。そして、設定した動作範囲内でエンジン４の燃費消費率が最小の動作点における回転速度Ne、トルクTeを、目標回転速度Neref、目標トルクTerefに設定する。
【００３７】
ステップ２０５では、ステップＳ２０４で設定した目標回転速度NerefとなるようにモータジェネレータMG1の目標トルクTmg1を設定し、ステップＳ２０６では、エンジントルクがステップＳ２０４で設定した目標トルクTeref、モータジェネレータMG1のトルクがステップＳ２０５で設定した目標トルクTmg1であるとして、車軸１５の駆動動力がステップＳ２０１で設定した要求駆動動力SPwとなるようにモータジェネレータMG2の目標トルクTmg2を設定する。
【００３８】
そして、ステップＳ２０７では、ステップＳ２０４〜２０６で設定した目標トルクTeref、Tmg1、Tmg2を対応するＥＣＵ２６、２０に出力する。
【００３９】
次に、上記ステップＳ２０２における要求電力授受量BPwrefの算出処理について説明する。要求電力授受量BPwrefは、現在の発電電費Dg_now[g/kWh]、現在のアシスト電費Da_now[g/kWh]、発電電費閾値現在値Dg_lim_now、電費閾値現在値Da_lim_nowから算出する。本実施形態では、このうち、現在の発電電費Dg_nowと現在のアシスト電費Da_nowはハイブリッド制御ＥＣＵ２４が算出し、発電電費閾値現在値Dg_lim_now、電費閾値現在値Da_lim_nowはナビゲーション装置２９が算出してハイブリッド制御ＥＣＵ２４に送信する。そこで、まず、ナビゲーション装置２９における発電電費閾値現在値Dg_lim_nowおよびアシスト電費閾値現在値Da_lim_nowの算出・送信処理について説明する。
【００４０】
図３は、ナビゲーション装置２９内の制御装置が実行する閾値現在値の算出・送信処理を示すフローチャートである。図３において、まず、ステップＳ３０１では、出発地から目的地までの予定走行経路を設定する。出発地は、ユーザによって設定された場合にはその設定地とし、それ以外は現在地とする。目的地は、ユーザによって設定された地点とされるが、ユーザによって目的地が設定されない場合であっても、現在地、日時などから目的地が推定できる場合には、その推定した地点を目的地に設定する。
【００４１】
続くステップＳ３０２は経路分割手段に相当する処理であり、ステップＳ３０１で設定した予定走行経路を細かな第１分割区間毎に分割する。本実施形態では、サンプル時間に走行する区間を第１分割区間とし、サンプル時間はたとえば1秒とする。
【００４２】
続くステップＳ３０３では、予定走行経路を走行する際におけるサンプル時間毎の車速と勾配とを予測する。車速については、ナビゲーション装置２９の記憶装置に自車の過去の走行時の車速履歴をデータベースとして保存しておき、このデータベースから自車が前回に同経路を走行した時の車速履歴を呼び出して用いる。勾配については、ナビゲーション装置２９の地図データベースの勾配情報を用いてもよいし、外部サーバとの通信で得た勾配情報を用いてもよい。
【００４３】
また、このステップＳ３０３では、各第１分割区間に対する時間パラメータtime(k)（kは時刻ステップ数を示す自然数）も算出し、保存する。さらに、このステップＳ３０３では、予定走行経路を交差点等のチェックポイントにより分割して第２分割区間とする。なお、この第２分割区間は、第１分割区間よりも長い区間であって、道路地図に基づいて分割できる区間であればよい。そして、各第２分割区間への進入時刻を算出し、区間分割データsection_div(l)（lは区間番号）に格納する。なお、各第２分割区間への進入時刻は、ナビゲーション装置２９の地図情報と、上述の車速履歴とから算出する。
【００４４】
図４に、このステップＳ３０３で決定した第２分割区間と、上記区間分割データsection_div(l)のフォーマット例を示す。なお、図４においては第２分割区間を単に分割区間としており、以後の説明においても、単に分割区間というときは第２分割区間を指す。
【００４５】
続くステップＳ３０４では、各time(k)における走行負荷P(k)[w]、予定走行経路を走行するために必要な総走行エネルギdrive_enrg、および電気負荷総消費エネルギload_enrgを予測する。
【００４６】
走行負荷P(k)を予測するには、まず、各time(k)において車両が発生すべき車両駆動力R(k)を下記式１から算出し、その車両駆動力R(k)を式２によって走行負荷P(k)に変換する。この走行負荷P(k)は車軸１５に必要なパワーと考えることもできることから、この走行負荷P(k)が請求項の予測駆動動力に相当する。また、ステップＳ３０１、Ｓ３０３、Ｓ３０４が予定走行経路情報設定手段に相当する処理である。
（式１）  R(k)=W×acc(k)+μr×W+μ1×A×V(k)×V(k)+W×g×sinθ(k)
式１において、W：車両総重量、acc：車両加速度、μr：転がり抵抗係数、μ1：空気抵抗係数、A：前面投影面積、V：車両速度、g：重力加速度、θ：道路勾配であり、W、μr、μ1、A、gは予め記憶された一定値である。VはステップＳ３０３で予測した値を用い、Accは車速を微分して求める。θもステップＳ３０３で予測した値を用いる。
（式２）  P(k)=R(k)×r×ω
式２において、rは車輪半径、ωは車輪角速度である。rは予め記憶された一定値であり、ωは、式１で用いたVから算出する。
【００４７】
総走行エネルギdrive_enrgは、上述のようにして算出した走行負荷P(k)のうち正の負荷（正の駆動動力）を、予定走行経路の全区間に渡って時間積分することで算出できる。電気負荷総消費エネルギload_enrgは、予定走行経路を走行する際の平均消費電力load_powerを予測し、この平均消費電力load_powerと走行時間の積から算出する。なお、平均消費電力load_powerは、たとえば、現在の消費電力の平均値を計測して、この消費電力が継続すると仮定してもよいし、過去の履歴から予測してもよい。また、時刻、気温などの情報に基づいてライト、エアコンの動作を予測して、その予測結果に基づいて平均消費電力load_powerを予測してもよい。
【００４８】
続くステップＳ３０５では、基本燃料消費量fuelrate(k)[g/h]を各time(k)について算出する。基本燃料消費量fuelrateとは、モータジェネレータＭＧと電源系との間の電力授受量Wmgをゼロと仮定したとき、すなわち、電力授受ライン１８を流れる電流をゼロと仮定したときに、ステップＳ３０４で予測した走行負荷P(k)をエンジン４のみで出力する場合の燃料消費量である。
【００４９】
この基本燃料消費量fuelrateを算出するには、まず、各time(k)に対して、基本エンジン動作点候補（Ne0[i]、Te0[i]）を算出する。この基本エンジン動作点候補（Ne0[i]、Te0[i]）は、電源系との間の電力授受量Wmgをゼロと仮定したときに、ステップＳ３０４で予測した走行負荷P(k)をエンジン４のみで出力する場合のエンジン動作点（すなわち、エンジン回転速度NeとエンジントルクTe）の候補である。なお、ここでの[i]は、１〜ｎ１の間の自然数であり、ｎ１は予め一定数に設定されていてもよいし、可能な候補を全て算出してもよい。また、この基本エンジン動作点候補の算出においては、モータジェネレータMG1、MG2におけるエネルギ変換効率や、動力伝達経路における機械的損失も考慮する。これら変換効率および機械的損失は予め実験に基づいて設定された値を用いる。また、算出することに代えて、走行負荷Pから基本エンジン動作点候補（Ne0[i]、Te0[i]）が定まるマップを予め記憶しておき、そのマップから基本エンジン動作点候補（Ne0[i]、Te0[i]）を決定するようにしてもよい。
【００５０】
次いで、各基本エンジン動作点候補（Ne0[i]、Te0[i]）について、単位時間当たりの燃料消費量を算出する。この燃料消費量の算出においては、エンジン動作点と燃料消費量との間の予め記憶したマップを用いる。そして、算出した燃料消費量のうちの最小値を、基本燃料消費量fuelrate(k)とする。
【００５１】
続くステップＳ３０６では目的地での目標残存エネルギを設定する。本実施形態では、この目標残存エネルギを現時点での残存エネルギとする。そして、発電電費算出手段に相当するステップＳ３０７にて各time(k)での発電電費最小値Dg_min(k)および発電電費最小時の電力Pg_min(k)を算出し、アシスト電費算出手段に相当するステップＳ３０８にて各time(k)でのアシスト電費最大値Da_max(k)およびアシスト電費最大時の電力Pa_max(k)を算出し、ステップＳ３０９にて、各time(k)に対して要求電力授受量BPwrefのスケジューリングを行う。図１０に、ステップＳ３０３で予測した車速（図１０（ａ））と、ステップＳ３０９にて行ったスケジューリング結果（図１０（ｂ））とを同一の時間軸上に示す。なお、これらステップＳ３０７、Ｓ３０８、Ｓ３０９の処理は、図５〜図９に基づいて後述する。
【００５２】
ステップＳ３１０では、第２分割区間毎に、発電電費閾値Dg_limおよびアシスト電費閾値Da_limを設定する。この処理は、図１３に基づいて後述する。
【００５３】
ステップＳ３１１では、ステップＳ３０１〜Ｓ３１０で算出した各種の情報をナビゲーション装置２９内の走行情報データベースに保管する。図１１に走行情報データベースを示す。
【００５４】
走行情報データベースには、同経路を走行した過去n走分の情報が蓄積されており、過去n走よりも前に走行した時の情報は順次破棄される。蓄積する内容は、図１１に示す通りであり、電費情報、計画情報、区間分割データsection_div(l)、総走行エネルギdrive_enrgを含んでいる。電費情報は、図３のステップＳ３０１〜３０８で算出しており、計画情報はステップＳ３１０で設定する。区間分割データsection_div(l)はステップＳ３０３で算出している。総走行エネルギdrive_enrgはステップＳ３０４で算出している。また、走行情報データベースは走行経路毎に用意されており、次に予測される走行経路毎に切り替えて使用する。
【００５５】
ステップＳ３１２では、この走行情報データベースに蓄積されている走行情報から、過去に同経路を走行した時の走行情報のうちの一つの走行情報を選択して、その走行情報に含まれている計画情報を、次の走行に用いる計画情報とする。図１１に示すように、計画情報には、発電電費閾値Dg_lim(l)とアシスト電費閾値Da_lim(l)とが含まれている。従って、このステップＳ３１２では、次の走行に用いる発電電費閾値Dg_lim(l)とアシスト電費閾値Da_lim(l)とを選択することになる。なお、このステップＳ３１２で選択した閾値を、発電電費閾値Dg_lim_next(l)とアシスト電費閾値Da_lim_next (l)とする。このステップＳ３１２の処理も後に詳述する。
【００５６】
ここまでのステップＳ３０１〜Ｓ３１２の処理は走行前に実行する。そして、走行中は、ステップＳ３１３の処理を繰り返し実行する。そのステップＳ３１３では、ナビゲーション装置２９が逐次決定している現在位置情報から、現在、どの分割区間を走行しているかを判断し、ステップＳ３１２で選択した計画情報、すなわち発電電費閾値Dg_lim_next(l)、アシスト電費閾値Da_lim_next(l)から、現在走行中の分割区間に対応する発電電費閾値、アシスト電費閾値をそれぞれ、発電電費閾値現在値Dg_lim_now,アシスト電費閾値現在値Da_lim_nowとして設定し、ハイブリッド制御ＥＣＵ２４に送信する。この発電電費閾値現在値Dg_lim_now,アシスト電費閾値現在値Da_lim_nowは、ステップＳ２０２において要求電力授受量BPwrefの算出に用いられる。
【００５７】
要求電力授受量BPwrefの算出する処理は後述し、図５〜図９、１２に基づいてステップＳ３０７、Ｓ３０８、Ｓ３０９の処理を説明する。まず、ステップＳ３０７の処理内容を説明する。
【００５８】
前述のようにステップＳ３０７では、各time(k)での発電電費最小値Dg_min(k)および発電電費最小時の電力Pg_min(k)を算出する。発電電費Dgは、モータジェネレータMG1またはMG2が発電する電力授受量Wmgに対する、増加した燃料消費量の比である。この発電電費Dgは、発電する電力授受量Wmgによってエンジンの動作点が変化したりモータジェネレータMGの発電効率が変化する等の理由により、電力授受量Wmgをパラメータとして変化する。図１２の右象限は、発電電費Dgと、モータジェネレータMGから電源系に供給する電力授受量Wmgとの関係を例示する図である。ただし、回生制動時は、電力授受量Wmgを発電することによって燃料消費量が増加しないので、発電電費Dgはゼロとなる。なお、同図の左象限は、後述するアシスト電費Daと、電源系からモータジェネレータMGに供給する電力授受量Wmgとの関係を例示する図である。
【００５９】
ステップＳ３０７の処理内容を図５に詳しく示す。この図５に示す処理は、図１２の右象限に示す曲線上の最小点を決定する処理であり、各time(k)に対して実行する。
【００６０】
まず、ステップＳ５０１では、電源系の受け入れ可能な電力の最大値（以下、最大受け入れ可能電力という）を決定する。この最大受け入れ可能電力は、各time(k)における電源系内の消費電力と、高圧系バッテリ６の充電可能電力との和である。電源系内の消費電力には、ステップＳ３０４で予測したものを用いる。また、高圧系バッテリ６の充電可能電力は、高圧系バッテリ６の充電電力に対する端子電圧の関係と上限電圧とに基づいて定まる値であり、本実施形態では予め記憶した一定値を用いる。
【００６１】
続くステップＳ５０２では、ステップＳ５０１で決定した最大受け入れ可能電力以下において、モータジェネレータMGをエンジン４からの動力によって回転駆動させて発電し、電源系に供給する電力授受量Wmg[i]を決定する。ここで、[i]は、１〜ｎ２の間の自然数であり、ｎ２は、予め設定された一定数であってもよいし、電力授受量Wmgを０〜最大受け入れ可能電力まで所定間隔で設定することによって定まる数でもよい。
【００６２】
さらに、このステップＳ５０２では、各電力授受量Wmg[i]を発電するようにモータジェネレータMG1またはMG2を駆動させつつ、ステップＳ３０４で予測した走行負荷P(k)も満たすようなエンジン４の動作点候補（Neg[i]、Teg[i]）を、図３のステップＳ３０５と同様にして算出する。以下、このエンジン動作点候補を発電エンジン動作点候補という。なお、一つの電力授受量Wmg[i]に対して複数の発電エンジン動作点候補が存在する場合には、ステップＳ３０５と同様の手法により、各発電エンジン動作点候補の燃料消費量を求め、燃料消費量が最小のものを電力授受量Wmg[i]に対応する発電エンジン動作点候補（Neg[i]、Teg[i]）とする。
【００６３】
続くステップＳ５０３では、ステップＳ５０２で算出した各発電エンジン動作点候補（Neg[i]、Teg[i]）について、単位時間当たりの燃料消費量(以下、発電時燃料消費量という)Fg[i]を算出する。この処理も各time(k)に対して行う。この発電時燃料消費量Fg[i]の算出には、エンジン動作点と燃料消費量との間の予め記憶したマップを用いる。このステップＳ５０３の処理も各time(k)に対して行う。
【００６４】
続くステップＳ５０４では、ステップＳ５０３で算出した発電時燃料消費量Fg[i]（i=1~n2）に対して、その発電時燃料消費量Fg[i]に対応する電力授受量Wmg[i]とステップＳ３０５で算出した基本燃料消費量base_fuelrate(k)とを用いて、以下の式３から、発電電費Dg[i] （i=1~n2）をそれぞれ算出する。この処理も各time(k)に対して行う。
（式３）  Dg[i] = (Fg[i] -base_fuelrate(k)/ Wmg[i])
式３の右辺から分かるように、発電電費Dg[i]の絶対値が小さいほど、同じ電力をより少ない燃料増加量で発電することができ、効率よく燃料消費量を低減できることになる。
【００６５】
続くステップＳ５０５では、ステップＳ５０４で算出した発電電費Dg[i]のうちの最小値を、time(k)についての発電電費最小値Dg_min(k)に決定するとともに、そのときの発電電力を発電電費最小時の電力Pg_min(k)に決定する。
【００６６】
次に、上記ステップＳ３０８の処理内容を図６に基づいて説明する。前述のようにステップＳ３０８では、各time(k)でのアシスト電費最大値Da_max(k)およびアシスト電費最大時の電力Pa_max(k)を算出する。アシスト電費Daは、電源系から供給する電力授受量Wmg]に対する、低減される燃料消費量の比である。このアシスト電費Daは、モータジェネレータMGの駆動効率がモータジェネレータMGに供給される電力量によって変化する等の理由により、図１２の左象限に示すように、電力授受量Wmgをパラメータとして変化する。図６に示す処理は、図１２に左象限に示す曲線上の最大点を決定する処理であり、各time(k)に対して実行する。
【００６７】
まず、ステップＳ６０１では、電源系からモータジェネレータMG側へ供給可能な最大電力（以下、最大供給可能電力という）を決定する。この最大供給可能電力は、高圧系バッテリ６の放電可能電力から電源系内の消費電力を引いた値である。ここで、高圧系バッテリ６の放電可能電力は、高圧系バッテリ６の放電電力に対する端子電圧の関係と下限電圧とに基づいて定まる値であり、本実施形態では予め記憶した一定値を用いる。また、電源系内の消費電力は、ステップＳ３０４と同様に平均消費電力を用いる。ただし、過去の走行履歴に基づいてtime(k)毎に電源系内の消費電力を予測してもよい。
【００６８】
続くステップＳ６０２では、図３のステップＳ３０４で予測した走行負荷P(k)をモータジェネレータMG2のみで出力するとした場合にそのモータジェネレータMG2に電源系から供給する必要がある電力を、最大必要電力として算出する。
【００６９】
続くステップＳ６０３では、ステップＳ６０１で決定した最大供給可能電力以下、且つ、ステップＳ６０２で算出した最大必要電力以下において、電源系からモータジェネレータMGへ供給する電力授受量Wmg[i]を決定する。なお、電源系からモータジェネレータMGへ電力を供給する場合の電力を負とする。ここで、[i]は、１〜ｎ３の間の自然数であり、ｎ３は予め設定された一定数であってもよいし、電力授受量Wmgを０〜最大必要電力量まで所定間隔で設定することによって定まる数でもよい。
【００７０】
さらに、このステップＳ６０３では、各電力授受量Wmg[i]をモータジェネレータMGに供給してモータジェネレータMGを回転駆動させ、それによって生じる動力を車軸１５に伝達したと仮定して、残りの走行負荷P(k)をエンジン４において発生させるとしたときのエンジン動作点候補（Nea[i]、Tea[i]）を、図５のステップＳ５０２と同様にして算出する。以下、このエンジン動作点候補をアシストエンジン動作点候補という。なお、ステップＳ６０３で決定した一つの電力授受量Wmg[i]に対して複数のアシストエンジン動作点候補が存在する場合には、図５のステップＳ５０２と同様の手法により、各アシストエンジン動作点候補の燃料消費量を求め、燃料消費量が最小のものを電力授受量Wmg[i]に対応するアシストエンジン動作点候補（Nea[i]、Tea[i]）とする。
【００７１】
続くステップＳ６０４では、ステップＳ６０３で算出した各アシストエンジン動作点候補（Nea[i]、Tea[i]）について、単位時間当たりの燃料消費量(以下、アシスト時燃料消費量という)Fa[i]を算出する。ステップＳ５０３と同様に、このアシスト時燃料消費量Fa[i]の算出には、エンジン動作点と燃料消費量との間の予め記憶したマップを用いる。このステップＳ６０４の処理も各time(k)に対して行う。
【００７２】
続くステップＳ６０５では、ステップＳ６０４で算出したアシスト時燃料消費量Fa[i] （i=1~n3）に対して、そのアシスト時燃料消費量Fa[i]に対応するアシスト電力授受量Wmg[i]とステップＳ３０５で算出した基本燃料消費量base_fuelrate(k)とを用いて、以下の式４から、アシスト電費Da[i] （i=1~n3）をそれぞれ算出する。
（式４）  Da[i] = (Fa[i] -base_fuelrate(k) / Wmg[i])
式４の右辺から分かるように、アシスト電費Da[i]が大きいほど、同じ投入電力でより多くの燃料消費量が低減できることになり、効率よく燃料消費量を低減できることになる。なお、前述のように、電源系からモータジェネレータMGに電力が供給される場合は負の値としている。そのため、式４において分母、分子とも負の値となるので、アシスト電費Da[i]は正の値である。
【００７３】
ステップＳ６０６では、ステップＳ６０５で算出したアシスト電費Da[i]のうちの最大値を、time(k)についてのアシスト電費最大値Da_max(k)に決定するとともに、そのときのアシスト電力をアシスト電費最大時の電力Pa_max(k)に決定する。
【００７４】
次に、図７に基づいてステップＳ３０９の処理を具体的に説明する。この図７の処理は、目的地における高圧系バッテリ６の残存エネルギが図３のステップＳ３０６で設定した目標残存エネルギとなり、かつ、目的地までの走行途中においてバッテリの残存エネルギが予め設定した上下限範囲内に入るという条件で、予定走行経路を走行した場合の燃料消費量が最小となるように、各time(k)における計画電力授受量scheduled_power(k)を決定する処理である。
【００７５】
図７において、まず、ステップＳ７０１では、まず、図５のステップＳ５０５で各time(k)に対して決定した発電電費最小値Dg_min(k)を小さい順にソートする。続くステップＳ７０２では、図６のステップＳ６０６で各time(k)に対して決定したアシスト電費最大値Da_max(k)を大きい順にソートする。
【００７６】
続くステップＳ７０３およびＳ７０４では、上記ステップＳ７０１、７０２でソートした発電電費最小値Dg_min(k)、アシスト電費最大値Da_max(k)を用いて電力授受のスケジューリングを行う。まず、ステップＳ７０３において、回生電力のスケジューリングを行う。
【００７７】
図８は、ステップＳ７０３の処理内容を詳しく示すフローチャートである。図８において、まず、ステップＳ８０１では、全time(k)から回生を行う時刻を検索する。回生を行う時刻は発電電費最小値Dg_min(k)がゼロとなる時刻である。
【００７８】
続くステップＳ８０２では、ステップＳ８０１で検索した各回生時刻において、該当時刻における発電電費最小時の電力Pg_min(k)を発電することに決定し、それら発電電費最小時の電力Pg_min(k)の合計値に基づいて総回生エネルギregen_enrgを算出する。
【００７９】
続くステップ８０３では、ステップＳ８０２で算出した総回生エネルギregen_enrgがステップＳ３０４で予測した電気負荷総消費エネルギload_enrgよりも大きいか否を判断する。この判断が肯定判断となる場合には、回生エネルギのみで電気負荷によって消費されるエネルギを全て賄うことができることになる。この場合にはステップ８０４にて、regen_enrgの値を、ステップＳ８０２で算出した総回生エネルギregen_enrgからステップＳ３０４で予測した電気負荷総消費エネルギload_enrgを差し引いた値に更新する。この更新後のregen_enrgは、回生によって得られるエネルギのうち、電気負荷における消費エネルギを賄った後に残るエネルギである。
【００８０】
ステップＳ８０６では、ステップＳ８０４にて更新したregen_enrgを、ステップＳ７０２におけるソート結果に基づいて、アシスト電費最大値Da_max(k)が高いtime(k)から順に分配する。各time(k)に分配するエネルギは、各time(k)におけるアシスト電費最大時の電力Pa_max(k)×サンプル時間とする。このステップＳ８０６における分配処理は、regen_enrgが少なくなって、エネルギが分配されていない区間のうちでアシスト電費最大値Da_max(k)が最も高いtime(k)に対してエネルギが分配できなくなるまで行う。このステップＳ８０６でエネルギが分配されたtime(k)はscheduled_power(k)が確定したことになる。
【００８１】
そして、ステップＳ８０６のエネルギ分配処理が終了したら、ステップＳ８０７にて、高圧系バッテリ６に要求する要求エネルギdemand_enrgをゼロとして本サブルーチンを終了し、図６のステップＳ６０４へ進む。
【００８２】
ステップＳ８０３が否定判断となる場合には、回生エネルギのみでは電気負荷によって消費されるエネルギを全て賄うことができないことになる。この場合にはステップ８０５にて、要求エネルギdemand_enrgの値を、ステップＳ３０４で予測した電気負荷総消費エネルギload_enrgからステップＳ８０２で算出した総回生エネルギregen_enrgを差し引いた値として、本サブルーチンを終了し、図７のステップＳ７０４へ進む。
【００８３】
図６のステップＳ７０４における回生電力以外のスケジューリング処理は図９に示してある。次に、この図９に基づいてステップＳ７０４の処理を説明する。図９において、まず、ステップＳ９０１では、計画電力授受量schduled_power(k)が未確定のtime(k)のうちで、アシスト電費最大値Da_max(k)が最も大きい時刻（以下、この時刻を時刻taという）を抽出する。続くステップＳ９０２では、ステップＳ９０１で抽出した時刻taにおいてモータジェネレータMGが電源系に要求するエネルギを、アシスト電費最大時の電力Pa_max(k)×サンプル時間から算出し、算出値をdemand_enrgに加算する。
【００８４】
続くステップＳ９０３では、計画電力授受量schduled_power(k)が未確定のtime(k)のうちで、発電電費最小値Dg_min(k)が最も小さい時刻（以下、この時刻を時刻tgという）を抽出する。そして、続くステップＳ９０４では、時刻taでのアシスト電費最大値Da_max(k)が時刻tgでの発電電費最小値Dg_min(k)よりも大きいか否かを判断する。
【００８５】
このステップＳ９０４が肯定判断となる場合には、時刻tgにおいて発電した電力を用いて時刻taでアシスト走行することにより、燃費が向上することになる。この場合には、ステップＳ９０５に進んで、ステップＳ９０３で抽出した時刻tgにおける発電電費最小時ののエネルギ（Pg_min(k)×サンプル時間）をleft_enrgに加算する。
【００８６】
続くステップＳ９０６では、left_enrgがdemand_enrgよりも大きいか否かを判断する。この判断が否定判断である場合には、直前のステップＳ９０３で抽出した時刻tgにおいて発電しても、時刻taにおいてモータジェネレータMGを駆動させるための電力を賄えないことになる。そこで、ステップＳ９０３へ戻り、再度、計画電力授受量schduled_power(k)が未確定のtime(k)のうちで、発電電費最小値Dg_min(k)が最も小さい時刻tgを抽出し、新たに抽出した時刻tgにおける発電電費最小値Dg_min(k)を用いてステップＳ９０４を再度判断する。
【００８７】
ステップＳ９０４が否定判断となる場合には、時刻tgで発電した電力を用いて時刻taでアシスト走行しても燃費が向上しないことになる。この場合には、ステップＳ９１０へ進んで、目的地にて図３のステップＳ３０６で設定した目標残存エネルギとなるように、スケジューリングを修正する。
【００８８】
スケジューリングの修正方法は、スケジューリングした計画電力授受量scheduled_power(k)の積分値とステップ３０４で予測した電気負荷総消費エネルギload_enrgから、予定走行経路を走行する前後での残存エネルギの変化量を算出する。その変化量が負である場合、すなわち、残存エネルギが減少する場合には、発電走行する時間を追加するか、アシスト走行する時間を減らすか、その両方を行う。一方、残存エネルギの変化量が正である場合、すなわち、残存エネルギが増加する場合には、発電走行する時間を減らすか、アシスト走行する時間を追加するか、その両方を行う。発電走行する時間の追加、削除、アシスト走行する時間の追加、削除は、発電電費最小値Dg_min(k)、アシスト電費最大値Da_max(k)に基づいて、燃費向上の効果が少ない時刻から順に行う。なお、各時刻における発電またはアシストの電力Pは、それぞれその時刻における発電電費最小時の電力Pg_min(k)またはアシスト電費最大時の電力Pa_max(k)とする。
【００８９】
ステップＳ９０６が肯定判断となる場合には、１つまたは複数の時刻tgにおいて発電した電力を用いて時刻taでアシスト走行することにより、燃費がさらに向上することになる。そこで、ステップＳ９０７へ進んで、時刻taにおける計画電力授受量schduled_power(k)を、その時刻taにおける発電電費最小時の電力Pg_min(k)に確定する。
【００９０】
そして、ステップＳ９０８では、ステップＳ９０５にて算出したleft_enrgから上記ステップＳ９０７で確定したdemand_enrgを差し引いた値を新たなleft_enrgとし、ステップＳ９０９では、demand_enrgをゼロにリセットする。その後、ステップＳ９０１へ戻り、アシスト走行を行う時刻taの候補を抽出する。そして、前述のステップＳ９０２以降の処理を繰り返す。
【００９１】
このようにして回生電力以外のスケジューリングを行ったら、図７に戻ってステップＳ７０５を実行する。ステップＳ７０５では、スケジューリング通りに発電、アシストを行った場合に、高圧系バッテリ６の残存エネルギが上下限を越えないようにスケジューリングを修正する。そのために、まず、スケジューリングしたエネルギを積分することにより、高圧系バッテリ６の残存エネルギを各time(k)について算出する。そして、残存エネルギが上下限を越えている場合には、そのtime(k)におけるモータジェネレータMG側と電源系との間で授受される電力を少なくして、その時刻における残存エネルギが上下限内に入るようにする。また、それとともに、少なくした分だけ反対方向の電力授受量Wmgも少なくする。反対方向の電力授受量Wmgを少なくする時刻は、発電する時刻の電力授受量Wmgを少なくするのであれば、最も発電電費Dgの高い時刻とし、アシスト走行する時間の電力授受量Wmgを少なくするのであれば、最もアシスト電費Daの小さい時刻とする。
【００９２】
図１０（ｂ）は、このようにして決定した計画電力授受量scheduled_power(k)を示すタイムチャートである。このようにして電力授受量のスケジューリングを決定したら、図３に戻って、前述したステップＳ３１０を実行することにより、各第２分割区間に対して、発電電費閾値Dg_limおよびアシスト電費閾値Da_limを設定する。
【００９３】
図１３は、ステップＳ３１０の処理を詳しく示すフローチャートである。この図１３に示す処理は、実際の走行時に、ステップＳ３０９で決定した計画電力授受量scheduled_power(k)により近い発電／アシストが実現できる発電電費閾値Dg_limおよびアシスト電費閾値Da_limを第２分割区間毎に決定する処理である。
【００９４】
発電電費閾値Dg_limおよびアシスト電費閾値Da_limを第２分割区間毎に決定するために、この図１３では、各第２分割区間の発電電費閾値Dg_limおよびアシスト電費閾値Da_limを変化させつつ、予定走行経路を走行した時の電力収支を第２分割区間毎に推定する。そして、推定した電力収支が計画電力授受量scheduled_power(k)から算出できる電力収支に略一致するときの発電電費閾値Dg_limおよびアシスト電費閾値Da_limを、走行情報データベースに保存する閾値とする。以下、各ステップを説明する。
【００９５】
ステップＳ１３０１では、ステップＳ３０９で決定した計画電力授受量scheduled_power(k)を取得する。続くステップＳ１３０２では、分割区間カウンタiを１にリセットし、前分割区間の未補正分エネルギerror_previousをゼロにリセットする。この未補正分エネルギerror_previousについては後述する（図１４）。
【００９６】
続くステップＳ１３０３では、各分割区間iの発電電費閾値Dg_lim(i)を設定する。詳しくは、まず、区間分割データを参照して、各分割区間iの進入時刻section_div(i)と、次の分割区間i+1の進入時刻section_div(i+1)とを取得して、time(k)がその間に入っているkに対し、ステップＳ３０９で決定した計画電力授受量scheduled_power(k)を取得する。この取得した計画電力授受量scheduled_power(k)が０よりも大きく（すなわち発電が計画されており）、かつ、発電電費最小値Dg_min(k)が最大となるものを、その分割区間iの発電電費閾値Dg_lim(i)に設定する。
【００９７】
続くステップＳ１３０４では、各分割区間iのアシスト電費閾値Da_lim(i)を設定する。詳しくは、まず、区間分割データを参照して、上述のステップＳ１３０３と同様にして各分割区間i内のtime(k)に対し、ステップＳ３０９で決定した計画電力授受量scheduled_power(k)を取得する。この取得した計画電力授受量scheduled_power(k)が０よりも小さく（すなわちアシストが計画されており）、かつ、アシスト電費最大値Da_max(k)が最小となるものを、その分割区間iのアシスト電費閾値Da_lim(i)に仮設定する。
【００９８】
続くステップＳ１３０５では、分割区間iにおける計画電力授受量scheduled_power(k)を時間積分して、分割区間iにおける理想電力収支opt_balanceを算出する。続くステップＳ１３０６では、分割区間iの電力収支が、上記ステップＳ１３０５で算出した理想電力収支opt_balanceに略一致するように、分割区間iのアシスト電費閾値Da_lim(i)を補正する。このステップＳ１３０６の処理は後述する（図１４）。
【００９９】
ステップＳ１３０７では、分割区間カウンタiが第２分割区間の数に一致しているか否かを判断する。この判断が否定判断の場合には、ステップＳ１３０８にて分割区間カウンタiに１を加算して、次の分割区間に対してステップＳ１３０３以下を実行する。一方、分割区間カウンタiが第２分割区間の数に一致している場合には処理を終了する。この場合には、図３のステップＳ３１１へ進む。
【０１００】
次に、上記図１３のステップＳ１３０６の処理を説明する。図１４は、図１３のステップＳ１３０６の処理を詳しく示すフローチャートである。図１４に示す処理は、各分割区間iの電力収支を推定しながら、各分割区間iの電力収支が計画電力授受量scheduled_power(k)の電力収支（すなわち理想電力収支）に略一致するようにアシスト電費閾値Da_limを補正する処理である。
【０１０１】
なお、この図１４における電力収支の推定方法は、後述する走行中の要求電力授受量BPwrefの算出方法と同様の算出方法である。すなわち、この図１３のステップＳ１３０６の処理は、実際に走行した時の各分割区間iの電力収支を走行前に事前に推定し、その推定した電力収支が理想電力収支opt_balanceにできるだけ近づく閾値を設定する処理である。この処理により、実際の走行時における各分割区間iの電力収支を理想電力収支opt_balanceに近づけることができる。
【０１０２】
図１４において、まず、ステップＳ１４０１では、発電電費閾値がDg_lim(i)、アシスト電費閾値がDa_lim(i)となった場合の分割区間iの基本電力収支base_balanceを推定する。このステップＳ１４０１の処理は図１５に基づいて後述するが、この基本電力収支base_balanceは、実際の走行時の各分割区間iの電力収支の推定値である。
【０１０３】
続くステップＳ１４０２では、現分割区間iの目標電力収支tg_balanceを決定する。この目標電力収支tg_balanceは、図１３のステップＳ１３０５で算出した理想電力収支opt_balanceと前分割区間i-1での未補正分error_previousとの和から、図３のステップＳ３０４で算出したload_powerに分割区間iの走行時間をかけた値を引いた値である。前分割区間i-1での未補正分error_previousを加えている理由は、実際の走行時の電力収支と計算時の電力収支との誤差を走行経路全体で小さくするためである。
【０１０４】
続くステップＳ１４０３では、ステップＳ１４０１で推定した基本電力収支base_balanceがステップＳ１４０２で決定した目標電力収支tg_balanceよりも大きいか否かを判断する。この判断は目標電力収支よりも充電気味であるか否かを判断していることになる。
【０１０５】
上記ステップＳ１４０３が肯定判断の場合、すなわち、充電気味である場合には、ステップＳ１４０４へ進み、アシスト電費閾値Da_lim(i)を所定値減少させる。実際の走行時にはアシスト電費閾値Da_lim(i)以上となるように要求電力授受量BPwrefが求められるため、アシスト電費閾値Da_lim(i)を減少させることで、より低いアシスト電費でもアシストが行われるようになるので、結果的に、分割区間iの推定電力収支temp_balenceは放電気味にシフトすることになる。
【０１０６】
続くステップＳ１４０５では、上記ステップＳ１４０４で値を減少させたアシスト電費閾値Da_lim(i)と、ステップＳ１４０１で用いた発電電費閾値Dg_lim(i)とに基づいて、ステップＳ１４０１と同様にして分割区間iの電力収支temp_balanceを推定する。
【０１０７】
続くステップＳ１４０６では、ステップＳ１４０５で推定した電力収支temp_balanceがステップＳ１４０２で決定した目標電力収支tg_balanceよりも大きいか否かを判断する。この判断が否定判断である場合にはステップＳ１４０４〜Ｓ１４０６を繰り返す。この繰り返しにより、アシスト電費閾値Da_lim(i)は徐々に減少していき、分割区間iの電力収支temp_balanceは徐々に放電気味にシフトしていく。そして、ステップＳ１４０６の判断が肯定判断となった場合、すなわち、電力収支が放電側に移行した場合にはステップＳ１４１０へ進む。
【０１０８】
前述のステップＳ１４０３が否定判断の場合、すなわち、充電気味である場合には、ステップＳ１４０７へ進み、アシスト電費閾値Da_lim(i)を所定値増加させる。アシスト電費閾値Da_lim(i)を増加させることで、アシストが行われにくくなるので、結果的に、分割区間iの推定電力収支temp_balenceは充電気味にシフトすることになる。
【０１０９】
続くステップＳ１４０８では、上記ステップＳ１４０７で値を増加させたアシスト電費閾値Da_lim(i)と、ステップＳ１４０１で用いた発電電費閾値Dg_lim(i)とに基づいて、ステップＳ１４０１と同様にして分割区間iの電力収支temp_balanceを推定する。
【０１１０】
続くステップＳ１４０９では、ステップＳ１４０８で推定した電力収支temp_balanceがステップＳ１４０２で決定した目標電力収支tg_balanceよりも大きいか否かを判断する。この判断が否定判断である場合にはステップＳ１４０７〜Ｓ１４０９を繰り返す。この繰り返しにより、アシスト電費閾値Da_lim(i)は徐々に増加していき、分割区間iの電力収支temp_balanceは徐々に充電気味にシフトしていく。そして、ステップＳ１４０９の判断が肯定判断となった場合、すなわち、電力収支が充電側に移行した場合にはステップＳ１４１０へ進む。
【０１１１】
ステップＳ１４１０では、現分割区間iで補正しきれなかった電力収支、すなわち、目標電力収支tg_balanceと電力収支temp_balanceとの差を算出し、算出結果を、前分割区間での未補正分error_previousとして保存する。
【０１１２】
次に、図１４のステップＳ１４０１の処理を説明する。図１５は、図１４のステップＳ１４０１の処理を詳しく示すフローチャートである。図１５に示す処理は、発電電費閾値がDg_lim(i)、アシスト電費閾値がDa_lim(i)となった場合の分割区間iの基本電力収支base_balanceを推定する処理である。
【０１１３】
まず、ステップＳ１５０１では、分割区間iの基本電力収支base_balanceをゼロに初期化し、続くステップＳ１５０２では、時刻インデックスjをゼロに初期化する。この時刻インデックスjは、ｋと同様に時刻ステップ数を示す自然数である。
【０１１４】
続くステップＳ１５０３では、section_div(i)≦time(j)<section_div(i+1)となるか否かを判断することにより、時刻インデックスjが分割区間iに属するか否かを判断する。時刻インデックスjが分割区間iに属すると判断されない場合（ＮＯ）は、その時刻インデックスjの処理を飛ばしてステップＳ１５１１に進む。
【０１１５】
時刻インデックスjが分割区間iに属する場合（ＹＥＳ）は、ステップＳ１５０４にて発電電費改善量Dg_impを下記式５から算出する。
（式５）  Dg_imp=max(Dg_lim(i)-Dg_min(j),0）
ここで、max(x,y)はx,yのうちどちらか大きい方を取る関数を示す。式５において、発電電費閾値Dg_lim(i)は、図１３のステップＳ１３０３で設定したものを用い、発電電費最小値Dg_min(j)は、図３のステップＳ３０７で算出したものを用いる。
【０１１６】
続くステップＳ１５０５では、アシスト電費改善量Da_impを下記式６から算出する。
（式６）  Da_imp = max(Da_max(j)-Da_lim(j), 0)
式６において、アシスト電費閾値Da_lim(i)は、図１３のステップＳ１３０４で設定したものを用い、アシスト電費最小値Da_min(j)は、図３のステップＳ３０８で算出したものを用いる。
【０１１７】
これら発電電費改善量Dg_imp、アシスト電費改善量Da_impは、それぞれ、発電による電費の改善量、アシスト走行による電費の改善量を示しており、実際の走行時にもこれら発電電費改善量Dg_imp、アシスト電費改善量Da_impを算出している。
【０１１８】
続くステップＳ１５０６では、発電電費改善量Dg_impがゼロ、かつ、アシスト電費改善量Da_impもゼロであるかを判断する。肯定判断の場合は、発電を行っても、また、アシスト走行を行っても燃費は改善しないので、実際の走行時の要求電力授受量BPwrefがゼロになると推定し、基本電力収支base_balanceの加減算は行わずに、ステップＳ１５１０に進む。
【０１１９】
ステップＳ１５０６がＮＯの場合にはステップＳ１５０７へ進む。ステップＳ１５０７では、発電電費改善量Dg_impがアシスト電費改善量Da_imp以上であるかを判断する。発電電費改善量Dg_impがアシスト電費改善量Da_imp以上である（ＹＥＳ）と判断された場合は、実際の走行において該当時刻で発電が行われると推定し、基本電力収支base_balanceに、発電電費最小時の電力Pg_min(j)×サンプル時間を加算し、ステップＳ１５１０へ進む。
【０１２０】
一方、ステップＳ１５０７で発電電費改善量Dg_impがアシスト電費改善量Da_impより小さい（ＮＯ）と判断された場合は、実際の走行において該当時刻でアシストが行われると推定し、基本電力収支base_balanceにアシスト電費最大時の電力Pa_max(j)×サンプル時間を加算し、ステップＳ１５１０へ進む。
【０１２１】
ステップＳ１５１０では、ステップＳ３０４で推定した平均消費電力load_powerを用い、基本電力収支base_balanceから平均消費電力load_power×サンプル時間を減算する。これは、電力収支に電気負荷で消費される電力の影響を反映させるためである。
【０１２２】
続くステップＳ１５１１では、時刻インデックスjが全サンプル数に達したかを判断し、達していない場合（ＮＯ）はステップＳ１５１２でjに１を加算してステップＳ１５０３に戻り、達している場合（ＹＥＳ）は、上位ルーチン、すなわち、図１４に戻る。
【０１２３】
そして、図１４の終了後は、図１４の上位ルーチン、すなわち、図１３に戻る。そして、図１３の終了後は、図１３の上位ルーチン、すなわち、図３に戻り、ステップＳ３１１を実行する。
【０１２４】
図３のステップＳ３１１では、前述のように、ステップＳ３０１〜Ｓ３１０で算出した各種の情報をナビゲーション装置２９内の走行情報データベースに保管する。そして、続くステップＳ３１２では、走行情報データベースに蓄積されている走行情報から、過去に同経路を走行した時の走行情報のうちの一つの走行情報を選択して、その走行情報に含まれている計画情報を、次の走行に用いる計画情報とする。
【０１２５】
次に、このステップＳ３１２の処理内容を詳しく説明する。図１６に計画情報の選択処理のフローチャートを示す。まず、ステップＳ１６０１では、平均推定燃料消費量est_fuel_ave(i) (i=1〜n）を算出する。
【０１２６】
平均推定燃料消費量est_fuel_ave(i)とは、i走前の計画情報を用いて、その計画情報と同じ走行経路を走行した過去ｎ走分の走行パターンを走行したと仮定した場合の平均燃料消費量の推定値である。ここで、計画情報とは、図１１に示すように、発電電費閾値Dg_lim(l)、アシスト電費閾値Da_lim(l)（lは分割区間の番号）である。従って、平均推定燃料消費量est_fuel_ave(i)とは、i走前の発電電費閾値Dg_lim(l)、アシスト電費閾値Da_lim(l)を用いて、同じ走行経路を走行した過去n走分の走行パターンを走行したと仮定した場合の平均燃料消費量の推定値である。なお、ここでのiは、分割区間の番号を示すiとは別の意味で用いており、ステップＳ１６０１では、i＝１〜ｎまでについて、平均推定燃料消費量est_fuel_ave(i)を算出する。
【０１２７】
図１７に、平均推定燃料消費量est_fuel_aveの算出方法を概念的に示す。図１７において、計画iは、i走前の走行（走行iとする）に対する計画情報を意味する。また、推定燃料消費量est_fuel(i,j)は、計画iで過去の走行j（j＝１〜ｎ）の走行パターンを走行した場合の燃料消費量推定値である。
【０１２８】
平均推定燃料消費量est_fuel_aveを算出するためには、まず、計画iを用いて、同経路におけるj走前の走行（以下、走行j）における走行パターンを走行した場合の燃料消費量である推定燃料消費量est_fuel(i,j)をi=1〜n、j=1〜nのすべてのパターン（すなわちｎの乗通り）について推定する。なお、推定方法は後述する（図１８）。
【０１２９】
そして、推定燃料消費量est_fuel(i,1)〜est_fuel(i,n)の平均値を取ることで、計画iにおける平均推定燃料消費量est_fuel_ave(i)を算出する。
【０１３０】
ステップＳ１６０１で平均推定燃料消費量est_fuel_ave(i)を算出した後、ステップＳ１６０２で、平均推定燃料消費量est_fuel_ave(i)が最小となるiを算出し、走行情報データベースからi走前の計画情報である発電電費閾値Dg_lim(l)、アシスト電費閾値Da_lim(l)を読み出し、次走の発電電費閾値Dg_lim_next(l),アシスト電費閾値Da_lim_next(l)とする。
【０１３１】
次に、図１８を用いて、推定燃料消費量est_fuel(i,j)の算出方法を説明する。まず、ステップＳ１８０１にて、走行情報データベースから走行iの計画情報（計画i）を取得する。続くステップＳ１８０２では、走行情報データベースから走行jの電費情報、区間分割データsection_div(l)、総走行エネルギdrive_enrgを取得する。
【０１３２】
続くステップＳ１８０３では、走行jの電費情報内のデータである基本燃料消費量base_fuelrate(k) [g/h]を用いて、合計基本燃料消費量base_fuel [g]を算出する。合計基本燃料消費量とは、走行jをすべて電力授受量ゼロで走行した場合の合計燃料消費量である。この合計基本燃料消費量base_fuelは下記式７に示すように、base_fuelrate(k)[g/h]×サンプル時間[s]/3600を走行jのすべての時刻に対して合計したものである。なお、式７において、DATA_NUMはサンプル数を示す。
【０１３３】
【数７】
2010162957.tif 000003
【０１３４】
続くステップＳ１８０４では、時刻インデックスkを１に初期化し、ステップＳ１８０５では、燃料増減量fuel_zougen [g]をゼロに初期化する。この燃料増減量fuel_zougenとは、走行jをすべて電力授受量ゼロで走行した場合の燃料消費量（すなわち基本燃料消費量base_fuel）に対して、計画iを用いて回転電機側と電源系との電力授受量を決定することにより増減する燃料消費量を示し、正側を燃料増加側とする。
【０１３５】
続くステップＳ１８０６では、区間分割データsection_div(l)から、時刻time(k)の属する分割区間lを算出する。次に、ステップＳ１８０７において、計画iから分割区間lの計画iでの発電電費閾値Dg_lim(l),アシスト電費閾値Da_lim(l)を設定する。
【０１３６】
続くステップＳ１８０８では、現時刻ステップkでの発電電費改善量Dg_impを下記式８から算出し、ステップＳ１８０９では、現時刻ステップkでのアシスト電費改善量Da_impを下記式９から算出する。
（式８）  Dg_imp=max(Dg_lim(l)-Dg_min(k),0）
（式９）  Da_imp = max(Da_max(l)-Da_lim(k), 0)
続くステップＳ１８１０では、発電電費改善量Dg_imp=0かつアシスト電費改善量Da_imp=0であるかを判断する。この判断がＹＥＳの場合は、現時刻ステップkでの推定電力授受量powwer_est(k)がゼロになると推定し、時刻ステップkでの推定電力授受量power_est(k)=0とした後に、ステップＳ１８１７へ進む。
【０１３７】
ステップＳ１８１０がＮＯの場合は、発電またはアシストが行われると推定し、ステップＳ１８１１に進み、発電電費改善量Dg_impがアシスト電費改善量Da_imp以上であるかを判断する。ステップＳ１８１１がＹＥＳの場合は、現時刻ステップkで発電が行われると推定し、ステップＳ１８１２へ進んで、現時刻ステップkの電力授受量power_est(k)を発電電費最小時の電力授受量Pg_min(k)にセットする。
【０１３８】
そして、ステップＳ１８１３に進んで、時刻ステップkでの発電による燃料消費量の増加分「Pg_min(k) [W] / 1000 × Dg_min(k) [g/kWh] × サンプル時間[s] / 3600」を燃料増減量fuel_zougenに加算して、ステップＳ１８１７に進む。
【０１３９】
ステップＳ１８１１がＮＯの場合は、現時刻ステップkでアシストが行われると推定し、ステップＳ１８１４へ進んで、現時刻ステップkの電力授受量power_est(k)をアシスト電費最小時の電力授受量Pa_max(k)にセットする。そして、ステップＳ１８１５に進んで、時刻ステップkでのアシストによる燃料消費量の減少分「Pa_max(k) [W] / 1000 × Da_max(k) [g/kWh] × サンプル時間[s] / 3600」を燃料増減量fuel_zougenに加算（Pa_max(k)は負なので、実質は減算）してステップＳ１８１７に進む。
【０１４０】
ステップＳ１８１７では、kが走行jのすべてのサンプル数に達しているかを判断する。
達していない場合（ＮＯの場合）はステップＳ１８１８でkに１を加算してステップＳ１８０６に戻り、次の時刻ステップkに進む。kが走行jのすべてのサンプル数に達している場合（ＹＥＳの場合）はステップＳ１８１９に進み、ステップＳ１８０３で算出した合計基本燃料消費量base_fuelと燃料増減量fuel_zougenとの和を取ることで、推定燃料消費量est_fuel(i,j)を算出する。
【０１４１】
次に、ステップＳ１８２０で、計画jを用いて走行iを走行したと仮定した場合の推定電力収支est_syusi[J]を算出する。この推定電力収支est_syusiは下記式１０に示すように、すべての時刻ステップkにおける推定電力授受量power_est(k)×サンプル時間を合計し、その合計値から、ステップＳ３０４で算出した電気負荷総消費エネルギload_enrgを差し引くことで算出する。
【０１４２】
【数１０】
2010162957.tif 000004
【０１４３】
次に、ステップＳ１８２１にて、ステップＳ１８２０で算出した推定電力収支est_syusiを用いて推定燃料消費量est_fuel(i,j)の電力収支補正を行い、推定燃料消費量est_fuel(i,j)を確定させる。
【０１４４】
上記電力収支補正とは、ステップＳ１８１９で算出した推定燃料消費量を、走行中の電力収支をゼロと仮定したときの燃料消費量に補正する処理である。この電力収支補正を行う理由は、ハイブリッド車両ではバッテリの電気エネルギの蓄電量が走行前後で相違することによっても燃料消費量が増減するためである。具体的には、走行前後でバッテリの電力収支が正（増加）となった場合は、増加した電気エネルギを発電した分だけ燃料消費量が増大し、バッテリの電力収支が負（減少）となった場合は、減少した電気エネルギがエンジンアシストや電動走行に使われるため、燃料消費量が減少するからである。
【０１４５】
以下に、電力収支補正の方法を示す。ステップＳ１８２０で算出した推定電力収支est_syusiが正（増加）の場合、電力収支がゼロになった場合には、増加した電気エネルギ分だけ駆動エネルギを削減できると仮定し、下記式１１にて推定燃料消費量を減少側に補正する。
（式１１）est_fuel(i,j)（補正後）=
est_fuel(i,j)（補正前）−est_syusi×α×est_fuel(i,j)（補正前）/drive_enrg
右辺第２項のest_syusi×αは、増加した電気エネルギで発生できる駆動エネルギであり、αは電気エネルギから駆動エネルギへの変換効率を示す。αは、様々な走行モードにおける変換効率から事前に実験的に求めた平均値である。右辺第２項のest_fuel(i,j)（補正前）/drive_enrgは単位駆動エネルギ当たりに必要な燃料消費量を示す。drive_enrgは、ステップＳ１８０２で走行情報データベースから取得した値である。
【０１４６】
よって、右辺第２項は、増加した電気エネルギによって発生できる駆動エネルギに単位駆動エネルギの発生に必要な燃料消費量を乗算しているので、増加した電気エネルギで削減しうる燃料消費量を表しており、上式において補正前の燃料消費量est_fuel(i,j)（補正前）から右辺第２項を差し引くことで、電力収支ゼロでの燃料消費量est_fuel(i,j)（補正後）を推定している。
【０１４７】
ステップＳ１８２０で推定した推定電力収支est_syusiが負（減少）の場合、電力収支がゼロになった場合には、減少した電気エネルギ分だけ発電が必要であると仮定し、下記式１２にて推定燃料消費量を増加側に補正する。
（式１２）  est_fuel(i,j)（補正後） =
est_fuel(i,j)（補正前）−est_syusi ÷α×est_fuel(i,j)（補正前）/ 駆動エネルギdrive_enrg
右辺第２項のest_syusi÷αは、減少した電気エネルギを発生するために必要な駆動エネルギであり、αはest_syusiが正の場合と同様である。右辺第２項のest_fuel(i,j)（補正前）/drive_enrgはest_syusiが正の場合と同様である。よって、右辺第２項は、減少した電気エネルギ分を発電するために必要な駆動エネルギに、単位駆動エネルギの発生に必要な燃料消費量を乗算しているので、減少した電気エネルギを発生するのに必要な燃料消費量を表しており、補正前の燃料消費量にこれを加算する。なお、式１２では、右辺第２項にはマイナスの符号がついているが、est_syusiが負なので実質的には加算である。以上のようにして、電力収支がゼロのときの推定燃料消費量est_fuel(i,j)を確定できる。
【０１４８】
この図１８に示す処理を全ての(i,j)について行うことにより、図１７に示す表の「平均」の欄以外を算出することができる。そして、前述のように、推定燃料消費量est_fuel(i,1)〜est_fuel(i,n)の平均値を取ることで、計画iにおける平均推定燃料消費量est_fuel_ave(i)を算出する。その後、図１６のステップＳ１６０２にて、次走の発電電費閾値Dg_lim_next(l),アシスト電費閾値Da_lim_next(l)を決定する。
【０１４９】
以上が走行前に実行する処理であり、走行中は、図３のステップＳ３１３の処理を繰り返し実行する。ステップＳ３１３では、前述のように、ステップＳ３１２で選択した計画情報、すなわち発電電費閾値Dg_lim_next(l)、アシスト電費閾値Da_lim_next(l)から、現在走行中の分割区間に対応する発電電費閾値、アシスト電費閾値をそれぞれ、発電電費閾値現在値Dg_lim_now,アシスト電費閾値現在値Da_lim_nowとして設定し、ハイブリッド制御ＥＣＵ２４に送信する。
【０１５０】
ハイブリッド制御ＥＣＵ２４は、発電電費閾値現在値Dg_lim_now、アシスト電費閾値現在値Da_lim_nowを用いて要求電力授受量BPwrefを算出する（図２のステップＳ２０２）。
【０１５１】
次に、この要求電力授受量BPwrefの算出処理を図１９に基づいて説明する。図１９において、まず、ステップ１９０１では、その時点における基本燃料消費量Fg0を設定する。この処理は、図３のステップＳ３０４で設定した走行負荷P(k)に代えて、図２のステップＳ２０１で設定した要求駆動動力SPwを用いることが異なる以外は、図３のＳ３０５と同じ処理である。
【０１５２】
続いて、実発電電費算出手段に相当するステップＳ１９０２にて、現在の発電電費Dg_now[i]、現在の発電電費最小値Dg_min_now、現在の発電電費最小時の電力Pg_min_nowを決定し、実アシスト電費算出手段に相当するステップＳ１９０３にて、現在のアシスト電費Da_now[i]、現在のアシスト電費最大値Da_max_now、現在の発電電費最大時の電力Pa_max_nowを決定する。これらステップＳ１９０２、Ｓ１９０３の処理は、電源系内の消費電力として、電力検出部２８によって検出された系内電力供給ライン１９の電流および電圧に基づいて算出した消費電力を用いること、および、ステップＳ３０４で設定した走行負荷P(k)に代えて、図２のステップＳ２０１で設定した要求駆動動力SPwを用いることが異なる以外は、図３のステップＳ３０７、Ｓ３０８と同じ処理である。
【０１５３】
続くステップＳ１９０４では要求電力授受量BPwrefを算出する。このステップＳ１９０４の処理を図２０に基づいて説明する。
【０１５４】
まず、ステップＳ２００１では、ナビゲーション装置２９から送信されてきた発電電費閾値現在値Dg_lim_nowからステップＳ１９０２で設定した現在の発電電費最小値Dg_min_nowを引くことにより、現在の発電電費最小値Dg_min_nowに対する電費の改善量すなわち発電時改善量Kgを算出する。
【０１５５】
続くステップＳ２００２では、ステップＳ１９０３で設定した現在のアシスト電費最大値Da_max_nowからナビゲーション装置２９から送信されてきたアシスト電費閾値現在値Da_lim_nowを引くことにより、現在のアシスト電費最大値Da_max_nowに対する電費の改善量すなわちアシスト時改善量Kaを算出する。
【０１５６】
続くステップＳ２００３では、ステップＳ２００１およびステップＳ２００２で設定した値に基づいて要求電力授受量BPwrefを決定する。この要求電力授受量BPwrefの決定方法について図２１〜図２３を用いて説明する。
【０１５７】
図２１は、発電電費閾値現在値Dg_lim_nowよりも現在の発電電費最小値Dg_min_nowのほうが小さく、かつ、アシスト電費閾値現在値Da_lim_nowよりも現在のアシスト電費最大値Da_max_nowのほうが小さい場合を示している。
【０１５８】
発電に関しては、閾値よりも小さい場合には燃費改善効果が大きい。一方、アシスト走行に関しては、閾値よりも大きい場合に燃費改善効果が大きい。従って、図２１に示す状態の場合、現在の発電電費最小値Dg_min_nowに対応する電力、すなわち、現在の発電電費最小時の電力Pg_min_nowを要求電力授受量BPwrefに決定する。
【０１５９】
図２２は、発電電費閾値現在値Dg_lim_nowよりも現在の発電電費最小値Dg_min_nowのほうが大きく、かつ、アシスト電費閾値現在値Da_lim_nowよりも現在のアシスト電費最大値Da_max_nowのほうが大きい場合を示している。従って、図２２に示す状態の場合、現在のアシスト電費最大値Dg_min_nowに対応する電力、すなわち、現在のアシスト電費最大時の電力Pg_min_nowを要求電力授受量BPwrefに決定する。
【０１６０】
図２３は、発電電費閾値現在値Dg_lim_nowよりも現在の発電電費最小値Dg_min_nowのほうが小さく、かつ、アシスト電費閾値現在値Da_lim_nowよりも現在のアシスト電費最大値Da_max_nowのほうが大きい場合を示している。この場合、アシストを行っても、また、発電を行っても燃費改善効果があることになる。この場合には、ステップＳ２００１で算出した発電時改善量KgとステップＳ２００２で算出したアシスト時改善量Kaとを比較して改善量が大きい方を選択する。両改善量Kを比較すると、発電時改善量Kgの方が大きいので、現在の発電電費最小値Dg_min_nowに対応する電力、すなわち、現在の発電電費最小時の電力Pg_min_nowを要求電力授受量BPwrefに決定する。
【０１６１】
なお、現在の発電電費最小値Dg_min_nowが発電電費閾値現在値Dg_lim_nowよりも大きく、かつ、現在のアシスト電費最大値Dg_min_nowがアシスト電費閾値現在値Da_lim_nowよりも小さい場合、アシストをしても、また、発電をしても、燃費改善効果がないことから、この場合には要求電力授受量BPwrefをゼロに決定する。
【０１６２】
このようにして要求電力授受量BPwrefを決定したら、図２に戻ってステップＳ２０３以降を実行してエンジンＥＣＵ２６、ＭＧＥＣＵ２０へエンジン４、モータジェネレータMG1，MG2を制御するための信号を出力することになる。
【０１６３】
以上、説明した本実施形態によれば、発電電費閾値Dg_lim(l)とアシスト電費閾値Da_lim(l)を、予定走行経路を走行する際に予測される走行負荷P(k)に基づいて算出した発電電費Dgおよびアシスト電費Daに基づいて設定している。そして、複数保存してある発電電費閾値Dg_lim(l)とアシスト電費閾値Da_lim(l)から次の走行に用いるものとして選択した発電電費閾値Dg_lim_next(l)、アシスト電費閾値Da_lim_next(l)と、車両走行中に実際に必要な駆動動力SPwに基づいて算出した現在の発電電費Dg_nowおよび現在のアシスト電費Da_nowとに基づいて発電時改善量Kgおよびアシスト時改善量Kaを算出して、その２つの改善量Kに基づいてエンジン４およびモータジェネレータMGを制御している。そのため、発電走行、アシスト走行のタイミングが適切となるので、ハイブリッド車両１の燃費を向上させることができる。
【０１６４】
加えて、過去の発電電費閾値Dg_limおよびアシスト電費閾値Da_limを計画情報として複数保存しており、それら複数の計画情報の各々を用いて、過去の複数の走行パターンを走行したと仮定した場合の推定燃料消費量est_fuelをそれぞれ推定している。そして、その複数の推定燃料消費量est_fuelを平均した平均推定燃料消費量est_fuel_aveが最も少ない計画情報を、次の走行に用いる計画情報として選択しているので、走行毎の車速や駆動動力のばらつきが顕著であっても、燃費をより向上させることができる。
【０１６５】
また、本実施形態によれば、予定走行経路を走行した場合に燃料消費量が最小となるように、各time(k)に対して計画電力授受量scheduled_power(k)を決定して、その計画電力授受量scheduled_power(k)から各分割区間iの理想電力収支opt_balanceを算出している。さらに、発電電費閾値Dg_lim(i)およびアシスト電費閾値Da_lim(i)を用いた制御を行って、予定走行経路を車両が走行したと仮定したときの各time(k)の電力授受量を推定し、その推定した電力授受量からも、各分割区間iの推定電力収支temep_balanceを算出している。そして、これら理想電力収支opt_balanceと推定電力収支temp_balanceとが略一致するように発電電費閾値Dg_limおよびアシスト電費閾値Da_limを補正している。そのため、実際に走行したときの燃費をより最小燃費に近づけることができる。
【０１６６】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々変更して実施することができる。
【符号の説明】
【０１６７】
１：ハイブリッド車両、    ４：エンジン（動力発生源）、    ６：高圧系バッテリ（蓄電装置）、    ８：第１インバータ、    １０：第２インバータ、    １２：遊星歯車装置、    １３：減速機、    １４：デファレンシャルギア、    １５：車軸、    １６：電気負荷、    １７：ＤＣＤＣコンバータ、    １８：電力授受ライン、    １９：系内電力供給ライン、    ２０：ＭＧＥＣＵ、    ２１：低圧系バッテリ、    ２２：バッテリＥＣＵ、    ２４：ハイブリッド制御ＥＣＵ、    ２６：エンジンＥＣＵ、    ２８：電力検出部、    ２９：ナビゲーション装置、    ＭＧ：モータジェネレータ（回転電機、動力発生源）、
Ｓ２０１：実要求駆動動力設定手段、    Ｓ２０２〜Ｓ２０７：制御手段、      Ｓ３０１、Ｓ３０３、Ｓ３０４：予定走行経路情報設定手段、    Ｓ３０２：経路分割手段、    Ｓ３０７：発電電費算出手段、    Ｓ３０８：アシスト電費算出手段、    Ｓ３０９：最適電力授受量決定手段、      Ｓ３１０：基準値設定手段、    Ｓ３１１：計画情報保存手段、電費情報保存手段、      Ｓ３１２：計画情報選択手段、      Ｓ１３０５：理想電力収支算出手段、      Ｓ１４０５、Ｓ１４０８：推定電力収支算出手段、      Ｓ１６０１：評価指標算出手段、推定燃料消費量算出手段、      Ｓ１８２０：推定電力収支算出手段、      Ｓ１９０２：実発電電費算出手段、    Ｓ１９０３：実アシスト電費算出手段
【図１】
2010162957.tif 000005
【図２】
2010162957.tif 000006
【図３】
2010162957.tif 000007
【図４】
2010162957.tif 000008
【図５】
2010162957.tif 000009
【図６】
2010162957.tif 000010
【図７】
2010162957.tif 000011
【図８】
2010162957.tif 000012
【図９】
2010162957.tif 000013
【図１０】
2010162957.tif 000014
【図１１】
2010162957.tif 000015
【図１２】
2010162957.tif 000016
【図１３】
2010162957.tif 000017
【図１４】
2010162957.tif 000018
【図１５】
2010162957.tif 000019
【図１６】
2010162957.tif 000020
【図１７】
2010162957.tif 000021
【図１８】
2010162957.tif 000022
【図１９】
2010162957.tif 000023
【図２０】
2010162957.tif 000024
【図２１】
2010162957.tif 000025
【図２２】
2010162957.tif 000026
【図２３】
2010162957.tif 000027