(57)【要約】      （修正有）【課題】駆動源指令値の異常を判定可能な車両制御装置を提供する。【解決手段】ドライバ要求トルク指令値とドライバ要求トルク監視値との差であるドライバ要求トルク超過量Ｅｐに基づく異常判定に係るドライバ要求トルク監視マージンＭＲｐを設定する（Ｓ３０１）。また、ドライバ要求トルク監視マージンＭＲｐに基づき、駆動源指令値と駆動源監視値との差である駆動源超過量に基づく異常判定に係る駆動源監視マージンを演算する（Ｓ３０５、Ｓ３０９、Ｓ３１３）。そして、駆動源監視マージンを用い、駆動源指令値の異常を判定する。これにより、駆動源指令値を用いて各駆動源を制御した制御結果（例えば実トルク等）を用いることなく、駆動源指令値の異常判定を行うことができる。【選択図】図５
2015020656.tif 000002
【特許請求の範囲】
【請求項１】
エンジン（１０）および回転電機（２１、２２、２５）である複数の駆動源を備える車両の駆動を制御する車両制御装置（５０、５５）であって、
ドライバ操作情報に基づき、ドライバ要求トルク指令値を演算するドライバ要求トルク指令値演算手段（Ｓ１０２、Ｓ１１２）と、
前記ドライバ要求トルク指令値を前記駆動源に対して振り分け、前記駆動源を制御する指令値である駆動源指令値を前記駆動源毎に演算する駆動源指令値演算手段（Ｓ１０３、Ｓ１０４、Ｓ１０５、Ｓ１１３、Ｓ１１４）と、
前記ドライバ要求トルク指令値の異常監視に用いるドライバ要求トルク監視値、および、前記駆動源指令値の異常監視に用いる駆動源監視値を演算する監視値演算手段（Ｓ２０２〜Ｓ２０５、Ｓ２１２〜Ｓ２１４）と、
前記ドライバ要求トルク指令値と前記ドライバ要求トルク監視値との差であるドライバ要求トルク超過量に基づく異常判定に係るドライバ要求トルク監視マージンを設定するドライバ要求トルク監視マージン設定手段（Ｓ３０１、Ｓ４０１、Ｓ３２１、Ｓ４２１、）と、
前記ドライバ要求トルク監視マージンに基づき、前記駆動源指令値と前記駆動源監視値との差である駆動源超過量に基づく異常判定に係る駆動源監視マージンを演算する駆動源監視マージン演算手段（Ｓ３０５、Ｓ３０９、Ｓ３１３、Ｓ３２５、Ｓ３２６、Ｓ３３０、Ｓ４０５、Ｓ４０９、Ｓ４２５、Ｓ４２６、Ｓ５０５、Ｓ５０９、Ｓ５１３、Ｓ５２５、Ｓ５２９、Ｓ６０５、Ｓ６０９、Ｓ６２５）と、
前記駆動源監視マージンを用い、前記駆動源指令値の異常を判定する異常判定手段（Ｓ３１８、Ｓ３３５、Ｓ４１４、Ｓ４３１、Ｓ５１８、Ｓ５３４、Ｓ６１４、６３０）と、
を備えることを特徴とする車両制御装置。
【請求項２】
前記駆動源監視マージン演算手段（Ｓ３０５、Ｓ３０９、Ｓ３１３、Ｓ３２５、Ｓ３２６、Ｓ３３０、Ｓ４０５、Ｓ４０９、Ｓ４２５、Ｓ４２６）は、前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値に基づき、変換式を用いて前記駆動源監視マージンを演算することを特徴とする請求項１に記載の車両制御装置。
【請求項３】
前記駆動源監視マージン演算手段（Ｓ５０５、Ｓ５０９、Ｓ５１３、Ｓ５２５、Ｓ５２９、Ｓ６０５、Ｓ６０９、Ｓ６２５）は、前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値を所定分配比で分配し、前記駆動源監視マージンを演算することを特徴とする請求項１に記載の車両制御装置。
【請求項４】
前記回転電機は、第１回転電機（２１）および第２回転電機（２２）から構成され、
前記エンジン、前記第１回転電機および前記第２回転電機のうちの１つを第１駆動源、他の１つを第２駆動源、および、残りの１つを第３駆動源とすると、
前記駆動源指令値演算手段（Ｓ１０３、Ｓ１０４、Ｓ１０５）は、前記駆動源指令値として、前記第１駆動源の駆動を制御する第１指令値、前記第２駆動源の駆動を制御する第２指令値、および、前記第３駆動源の駆動を制御する第３指令値を演算し、
前記監視値演算手段（Ｓ２０２〜Ｓ２０５）は、前記駆動源監視値として、前記第１指令値の異常監視に用いる第１監視値、前記第２指令値の異常監視に用いる第２監視値、および、前記第３指令値の監視に用いる第３監視値を演算し、
前記駆動源監視マージン演算手段（Ｓ３０５、Ｓ３０９、Ｓ３１３、Ｓ３２５、Ｓ３２６、Ｓ３３０、Ｓ５０５、Ｓ５０９、Ｓ５１３、Ｓ５２５、Ｓ５２９）は、前記駆動源監視マージンとして、前記第１指令値と前記第１監視値との差である第１超過量に基づく異常判定に係る第１監視マージン、前記第２指令値と前記第２監視値との差である第２超過量にもとづく異常判定に係る第２監視マージン、および、前記第３指令値と前記第３監視値との差である第３超過量に基づく異常判定に係る第３監視マージンのうちの少なくとも２つを演算することを特徴とする請求項１に記載の車両制御装置（５０）。
【請求項５】
前記駆動源監視マージン演算手段（Ｓ３０５、Ｓ３０９、Ｓ３１３、Ｓ３２５、Ｓ３２６、Ｓ３３０）は、
前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値に基づき、変換式を用いて前記第１監視マージン、前記第２監視マージン、および、第３監視マージンのうちの少なくとも２つを順次演算することを特徴とする請求項４に記載の車両制御装置。
【請求項６】
前記駆動源監視マージン演算手段（Ｓ５０５、Ｓ５０９、Ｓ５１３、Ｓ５２５、Ｓ５２９）は、
前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値を所定分配比で分配し、前記第１監視マージン、前記第２監視マージン、および、前記第３監視マージンのうち少なくとも２つを演算することを特徴とする請求項４に記載の車両制御装置。
【請求項７】
前記駆動源監視マージン演算手段は、
前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値に基づき、変換式を用いて前記第１監視マージンを演算し、
前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値を所定分配比で分配し、前記第２監視マージンおよび前記第３監視マージンを演算することを特徴とする請求項４に記載の車両制御装置。
【請求項８】
前記駆動源監視マージン演算手段は、
前記ドライバ要求トルク監視マージンから前記ドライバ要求トルク超過量を減算した値を所定分配比で分配し、前記第１監視マージンおよび前記第２監視マージンを演算し、
前記第２監視マージンから前記第２超過量を減算した値に基づき、前記第３監視マージンを演算することを特徴とする請求項４に記載の車両制御装置。
【請求項９】
前記異常判定手段は、前記駆動源超過量が前記駆動源監視マージンを超えた場合、前記駆動源指令値がマージン超過異常であると判定することを特徴とする請求項１〜８のいずれか一項に記載の車両制御装置。
【請求項１０】
前記ドライバ要求トルク監視マージン設定手段は、予め記憶されている複数の候補値のうち、絶対値の最も小さいものを前記ドライバ要求トルク監視マージンとして設定することを特徴とする請求項１〜９のいずれか一項に記載の車両制御装置。
【請求項１１】
前記ドライバ要求トルク監視マージン設定手段は、前記ドライバ操作情報に基づき、前記ドライバ要求トルク監視マージンを設定することを特徴とする請求項１〜９のいずれか一項に記載の車両制御装置。
【請求項１２】
前記ドライバ要求トルク超過量および前記駆動源超過量は、前記ドライバ要求トルク監視マージンおよび前記駆動源監視マージンと同一の単位に変換されることを特徴とする請求項１〜１１のいずれか一項に記載の車両制御装置。
【請求項１３】
前記ドライバ要求トルク監視マージンは、前記ドライバ要求トルク超過量と同一の単位に変換され、
前記駆動源監視マージンは、対応する前記駆動源超過量と同一の単位に変換されることを特徴とする請求項１〜１１のいずれか一項に記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両制御装置に関する。
【背景技術】
【０００２】
従来、ハイブリッド車の走行制御において、出力トルクが正常か否かを検出している。例えば、特許文献１では、要求出力と実出力との偏差を求め、偏差を監視することにより異常を判定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４０８５５７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のように指令値と実出力との比較では、指令値に基づく出力がなされてからしか異常判定ができないため、指令値に異常があった場合、異常判定がなされるまでの間、ドライバに違和感を与える虞がある。
また、駆動源としてエンジンおよびモータを備えるハイブリッド車においては、要求トルクをエンジンとモータとに振り分けるため、各駆動源の指令値のいずれにも異常がないことを判定することが求められる。
本発明は、上述の課題に鑑みてなされたものであり、その目的は、駆動源の制御に用いられる駆動源指令値の異常を判定可能な車両制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、エンジンおよび回転電機である複数の駆動源を備える車両の駆動を制御する車両制御装置であって、ドライバ要求トルク指令値演算手段と、駆動源指令値演算手段と、監視値演算手段と、ドライバ要求トルク監視マージン設定手段と、駆動源監視マージン演算手段と、異常判定手段と、を備える。
ドライバ要求トルク指令値演算手段は、ドライバ操作情報に基づき、ドライバ要求トルク指令値を演算する。駆動源指令値演算手段は、ドライバ要求トルク指令値を駆動源に対して振り分け、駆動源の駆動を制御する指令値である駆動源指令値を駆動源毎に演算する。
【０００６】
監視値演算手段は、ドライバ要求トルク指令値の異常監視に用いるドライバ要求トルク監視値、および、駆動源指令値の異常監視に用いる駆動源監視値を演算する。
ドライバ要求トルク監視マージン設定手段は、ドライバ要求トルク指令値とドライバ要求トルク監視値との差であるドライバ要求トルク超過量に基づく異常判定に係るドライバ要求トルク監視マージンを設定する。
【０００７】
駆動源監視マージン演算手段は、ドライバ要求トルク監視マージンに基づき、駆動源指令値と駆動源監視値との差である駆動源超過量に基づく異常判定に係る駆動源監視マージンを演算する。
異常判定手段は、駆動源監視マージンを用い、駆動源指令値の異常を判定する。
【０００８】
本発明では、ドライバ要求トルク監視マージンを設定し、ドライバ要求トルク監視マージンに基づき、駆動源監視マージンを演算する。そして、駆動源監視マージンを用いて駆動源指令値の異常判定を行っている。これにより、駆動源指令値を用いて各駆動源を制御した制御結果（例えば実トルク）を用いることなく、駆動源指令値が各駆動源に出力される前に、駆動源指令値の異常判定を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態の車両制御システムの構成を示すブロック図である。
【図２】本発明の第１実施形態のエンジン、第１回転電機および第２回転電機の挙動を説明する共線図である。
【図３】本発明の第１実施形態による指令値演算処理を説明するフローチャートである。
【図４】本発明の第１実施形態による監視値演算処理を説明するフローチャートである。
【図５】本発明の第１実施形態による異常判定処理を説明するフローチャートである。
【図６】本発明の第１実施形態による異常判定処理を説明する説明図である。
【図７】本発明の第１実施形態による異常判定処理を説明する説明図である。
【図８】本発明の第２実施形態の車両制御システムの構成を示すブロック図である。
【図９】本発明の第２実施形態による指令値演算処理を説明するフローチャートである。
【図１０】本発明の第２実施形態による監視値演算処理を説明するフローチャートである。
【図１１】本発明の第２実施形態による異常判定処理を説明するフローチャートである。
【図１２】本発明の第２実施形態による異常判定処理を説明する説明図である。
【図１３】本発明の第２実施形態による異常判定処理を説明する説明図である。
【図１４】本発明の第３実施形態による異常判定処理を説明するフローチャートである。
【図１５】本発明の第３実施形態による異常判定処理を説明する説明図である。
【図１６】本発明の第３実施形態による異常判定処理を説明する説明図である。
【図１７】本発明の第４実施形態による異常判定処理を説明するフローチャートである。
【図１８】本発明の第４実施形態による異常判定処理を説明する説明図である。
【図１９】本発明の第４実施形態による異常判定処理を説明する説明図である。
【図２０】本発明の第５実施形態による異常判定処理を説明するフローチャートである。
【図２１】本発明の第５実施形態による異常判定処理を説明する説明図である。
【図２２】本発明の第５実施形態による異常判定処理を説明する説明図である。
【図２３】本発明の第６実施形態による異常判定処理を説明するフローチャートである。
【図２４】本発明の第６実施形態による異常判定処理を説明する説明図である。
【図２５】本発明の第６実施形態による異常判定処理を説明する説明図である。
【図２６】本発明の第７実施形態による異常判定処理を説明するフローチャートである。
【図２７】本発明の第７実施形態による異常判定処理を説明する説明図である。
【図２８】本発明の第７実施形態による異常判定処理を説明する説明図である。
【図２９】本発明の第８実施形態による異常判定処理を説明するフローチャートである。
【図３０】本発明の第８実施形態による異常判定処理を説明する説明図である。
【図３１】本発明の第８実施形態による異常判定処理を説明する説明図である。
【図３２】本発明の第９実施形態による監視マージンの演算方法を説明する説明図である。
【図３３】本発明の第１０実施形態による監視マージンの演算方法を説明する説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明による車両制御装置を図面に基づいて説明する。なお、以下、複数の実施形態において、実質的に同一の構成には同一の符号を付して説明を省略する。
（第１実施形態）
本発明の第１実施形態による車両制御装置を図１〜図７に基づいて説明する。
図１に示すように、本実施形態による車両制御システム１は、エンジン１０、第１回転電機２１、第２回転電機２２、蓄電池３０、動力分割機構４０、および、車両制御装置としてのＥＣＵ５０から構成され、車両９０に搭載される。なお、図中においては、第１回転電機２１を「第１ＭＧ」、第２回転電機２２を「第２ＭＧ」と記載する。
【００１１】
エンジン１０は、複数の気筒を有する内燃機関で、第１回転電機２１および第２回転電機２２とともに、車両９０の駆動源を構成する。エンジン１０は、動力分割機構４０および減速機９１等を介し、車両９０の駆動軸９２、および駆動軸９２に接続される車輪９３を回転させる。また、エンジン１０は、第１回転電機２１を発電機として用いて発電を行わせ、蓄電池３０を充電する。
【００１２】
第１回転電機２１および第２回転電機２２は、蓄電池３０から電力が供給されて回転することによりトルクを発生する電動機としての機能、および、エンジン１０による駆動、あるいは車両９０の制動時に駆動されて発電する発電機としての機能を有する、所謂「モータジェネレータ（ＭＧ）」である。本実施形態では、第１回転電機２１および第２回転電機２２は、いずれも永久磁石式同期型の３相交流電動機である。
【００１３】
第１回転電機２１は、エンジン１０によって駆動され、主に発電機として用いられる。第１回転電機２１により発電された電力は、図示しないインバータ等を経由し、蓄電池３０へ供給される。
第２回転電機２２は、主に電動機として用いられる。第２回転電機２２は、力行時には電動機として機能し、蓄電池３０から図示しないインバータ等を経由して電力が供給され、減速機９１等を介し、車両９０の駆動軸９２、および、車輪９３を回転させる。また、第２回転電機２２は、回生時には発電機として機能し、第２回転電機２２により発電された電力は、インバータ等を経由し、蓄電池３０へ供給される。
本実施形態では、エンジン１０を「第１駆動源」、第１回転電機２１を「第２駆動源」、第２回転電機２２を「第３駆動源」とする。
【００１４】
蓄電池３０は、例えばニッケル水素またはリチウムイオン等の二次電池、または、電気二重層キャパシタ等により、充放電可能に構成され、ＳＯＣ（State of charge）が所定の範囲内となるように充電される。蓄電池３０は、第１回転電機２１および第２回転電機２２と接続され、電力を授受する。具体的には、第１回転電機２１および第２回転電機２２により発電された交流電力が、インバータ等にて直流電力に変換され、蓄電池３０に蓄えられる。また、蓄電池３０の直流電力がインバータ等により交流電力に変換され、主に第２回転電機２２に供給される。
【００１５】
動力分割機構４０は、図示しないサンギア、リングギア、プラネタリキャリアからなる周知の遊星歯車機構によって構成される。本実施形態では、サンギアが第１回転電機２１の回転軸４１と接続され、リングギアが第２回転電機２２の回転軸４２と接続され、プラネタリキャリアがエンジン１０のクランク軸４５と接続される。これにより、第１回転電機２１の回転軸４１、第２回転電機２２の回転軸４２、および、エンジン１０のクランク軸４５とは、動力分割機構４０を介して機械的に接続されている。
動力分割機構４０では、プラネタリキャリアの回転に伴ってサンギアおよびリングギアが回転することにより、エンジン１０の駆動力は２経路に分割され、一方が第１回転電機２１を駆動し、もう一方が減速機９１を経由して駆動軸９２および車輪９３を駆動する。
【００１６】
動力分割機構４０では、サンギア、リングギア、プラネタリキャリアの３軸のうち２軸の回転数が決まると、残りの１軸の回転数が決まる。すなわち、エンジン１０の回転数Ｎｅ、第１回転電機２１の回転数Ｎｇ、第２回転電機２２の回転数Ｎｍのうち、２つが決まると、残りの１つが決まる。
【００１７】
エンジン１０の回転数Ｎｅ、第１回転電機２１の回転数Ｎｇ、および、第２回転電機２２の回転数Ｎｍの関係を、図２に示す共線図に基づいて説明する。図２では、縦軸を回転数とし、横軸は各歯車の歯数比率に従った距離を取っている。
図２に示すように、第１回転電機２１の回転数Ｎｇ、エンジン１０の回転数Ｎｅ、第２回転電機２２の回転数Ｎｍは、共線図において、直線で結ばれる。すなわち、第１回転電機２１の回転軸４１と連結されるサンギアの歯数を、第２回転電機２２の回転軸４２と連結されるリングギアの歯数で除した歯数比をρとすると、エンジン１０の回転数Ｎｅは、第１回転電機２１の回転数Ｎｇと第２回転電機２２の回転数Ｎｍとを１：ρに内分した値となる。
【００１８】
図１に戻り、ＥＣＵ５０は、マイクロコンピュータ等により構成され、内部にはいずれも図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ、および、これらを接続するバスライン等を備えている。ＥＣＵ５０は、予め記憶されたプログラムをＣＰＵで実行することによるソフトウェア処理や、専用の電子回路によるハードウェア処理により、車両９０全体を制御する。
【００１９】
ＥＣＵ５０は、ドライバ操作情報を取得する。本実施形態では、ドライバ操作情報には、いずれも図示しないアクセルセンサからのアクセル開度情報、ブレーキスイッチからのブレーキ情報、および、シフトスイッチからのシフト情報が含まれる。
また、ＥＣＵ５０は、車両９０の走行速度に関する車速情報や、その他、各種センサやスイッチ等からの信号を取得する。また、ＥＣＵ５０は、蓄電池３０に関する情報である蓄電池情報として、ＳＯＣおよびセルの最低温度等を取得する。ＥＣＵ５０は、取得されたこれらの信号等に基づき、車両９０の駆動を制御する。
【００２０】
本実施形態では、ＥＣＵ５０は、ドライバ操作情報および車速情報等に基づき、ドライバ要求トルク指令値Ｔｐを演算する。ドライバ要求トルク指令値Ｔｐは、例えば車両９０の図示しないプロペラ軸の回転に要するトルクである。また、ＥＣＵ５０では、ドライバ要求トルク指令値Ｔｐを、エンジン１０から出力されるトルクに係るエンジントルク指令値Ｔｅ、第１回転電機２１から出力されるトルクに係るＭＧ１トルク指令値Ｔｇ、および、第２回転電機２２から出力されるトルクに係るＭＧ２トルク指令値Ｔｍに振り分ける。演算された各指令値は、エンジン１０、第１回転電機２１および第２回転電機２２の駆動制御に用いられる。
【００２１】
ここで、指令値演算処理を図３に示すフローチャートに基づいて説明する。指令値演算処理は、イグニッション電源がオンされているとき、ＥＣＵ５０にて所定の間隔で実行される。
最初のステップＳ１０１（以下、「ステップ」を省略し、単に記号「Ｓ」で示す。）では、ドライバ操作情報および車速情報を読み込む。
【００２２】
Ｓ１０２では、ドライバ操作情報および車速情報に基づき、ドライバ要求トルク指令値Ｔｐを演算する。ドライバ要求トルク指令値Ｔｐは、例えばマップ演算等により演算される。
Ｓ１０３では、ドライバ要求トルク指令値Ｔｐに基づき、第１指令値Ｔ１を演算する。本実施形態では、第１駆動源をエンジン１０とするので、第１指令値Ｔ１は、エンジントルク指令値Ｔｅである。エンジントルク指令値Ｔｅは、予め記憶されたマップを参照し、ドライバ要求トルク指令値Ｔｐに基づいて演算される。ここでのエンジントルク指令値Ｔｅは、蓄電池３０の充電要求分を含まず、駆動軸９２および車輪９３の駆動に用いられるトルクに対応する値とする。後述のエンジントルク監視値Ｔｅｓ、および、エンジントルク監視マージンＭＲｅについても同様である。
【００２３】
Ｓ１０４では、第２指令値Ｔ２を演算する。本実施形態では、第２駆動源を第１回転電機２１とするので、第２指令値Ｔ２は、ＭＧ１トルク指令値Ｔｇである。ＭＧ１トルク指令値Ｔｇは、エンジントルク指令値Ｔｅに基づき、式（１）により、演算される。
Ｔｇ＝−｛ρ／（１＋ρ）｝×Ｔｅ    ・・・（１）
【００２４】
Ｓ１０５では、第３指令値Ｔ３を演算する。本実施形態では、第３駆動源を第２回転電機２２とするので、第３指令値Ｔ３は、ＭＧ２トルク指令値Ｔｍである。ＭＧ２トルク指令値Ｔｍは、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値ＴｅおよびＭＧ１トルク指令値Ｔｇに基づき、式（２）により演算される。
Ｔｍ＝Ｔｐ−｛１／（１＋ρ）｝×Ｔｅ−（−１／ρ）×Ｔｇ    ・・・（２）
【００２５】
Ｓ１０６では、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値Ｔｍにフェールセーフ処置（以下、「Ｆ／Ｓ」という。）に移行すべき異常が生じているか否かを判定する。ここでの判断は、後述する異常フラグに基づいて判断する。異常フラグがセットされておらず、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値ＴｍにＦ／Ｓに移行すべき異常が生じていないと判断された場合（Ｓ１０６：ＹＥＳ）、Ｓ１０７へ移行する。異常フラグがセットされており、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値ＴｍにＦ／Ｓに移行すべき異常が生じていると判断された場合（Ｓ１０６：ＮＯ）、Ｓ１０８へ移行する。
【００２６】
Ｆ／Ｓに移行すべき異常が生じていない場合に移行するＳ１０７では、各指令値を出力し、当該指令値に基づき、エンジン１０、第１回転電機２１および第２回転電機２２の駆動を制御する。
Ｆ／Ｓに移行すべき異常が生じている場合に移行するＳ１０８では、Ｆ／Ｓへ移行する。
【００２７】
次に、監視値演算処理について図４に基づいて説明する。本実施形態では、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値Ｔｍの異常を監視するために、指令値演算処理とは別処理である監視値演算処理にて、ドライバ要求トルク監視値Ｔｐｓ、エンジントルク監視値Ｔｅｓ、ＭＧ１トルク監視値Ｔｇｓ、および、ＭＧ２トルク監視値Ｔｍｓを演算している。
【００２８】
ここで、監視値演算処理を図４に示すフローチャートに基づいて説明する。監視値演算処理は、イグニッション電源がオンされているとき、ＥＣＵ５０にて所定の間隔で実行される。
Ｓ２０１では、ドライバ操作情報および車速情報を読み込む。
Ｓ２０２では、ドライバ要求トルク指令値Ｔｐの監視に用いるドライバ要求トルク監視値Ｔｐｓを演算する。
Ｓ２０３では、第１監視値Ｔ１ｓを演算する。本実施形態の第１監視値Ｔ１ｓは、エンジントルク指令値Ｔｅの監視に用いるエンジントルク監視値Ｔｅｓである。
【００２９】
Ｓ２０４では、第２監視値Ｔ２ｓを演算する。本実施形態の第２監視値Ｔ２ｓは、ＭＧ１トルク指令値Ｔｇの監視に用いるＭＧ１トルク監視値Ｔｇｓである。
Ｓ２０５では、第３監視値Ｔ３ｓを演算する。本実施形態の第３監視値Ｔ３ｓは、ＭＧ２トルク指令値Ｔｍの監視に用いるＭＧ２トルク監視値Ｔｍｓである。
【００３０】
Ｓ２０２〜Ｓ２０５における各監視値の演算は、各指令値の演算と同様でもよいし、他の演算式やパラメータを用いる等、各指令値とは異なる演算であってもよい。例えば、各監視値は、各指令値と正負が反転するように演算してもよい。
【００３１】
続いて、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値Ｔｍの異常判定処理について説明する。
本実施形態では、ドライバ要求トルク指令値Ｔｐとドライバ要求トルク監視値Ｔｐｓとの差の絶対値をドライバ要求トルク超過量Ｅｐとし、ドライバ要求トルク超過量Ｅｐがドライバ要求トルク監視マージンＭＲｐを超えないように制御する。すなわち、ドライバ要求トルク監視マージンＭＲｐは、ドライバ要求トルク指令値Ｔｐとドライバ要求トルク監視値Ｔｐｓと差分に係る異常判定閾値であると捉えることもできる。ドライバ要求トルク監視マージンＭＲｐは、急加速や急減速等の加速度の許容変動幅に基づいて設定される。
【００３２】
例えば、ドライバ要求トルク監視マージンＭＲｐは、ドライバがアクセルペダルを踏み込み、急加速した場合に許容される変動量として設定される。
急加速の例で言えば、ドライバ要求トルク指令値Ｔｐが、ドライバ要求トルク監視値Ｔｐｓにドライバ要求トルク監視マージンＭＲｐを加算した値を超えなければ、異常な急加速とはならないので、正常判定する。また、ドライバ要求トルク指令値Ｔｐが、ドライバ要求トルク監視値Ｔｐｓにドライバ要求トルク監視マージンＭＲｐを加算した値を超えると、異常な急加速となる虞があるので、異常判定し、Ｆ／Ｓへ移行する。
同様に、ドライバ要求トルク監視マージンＭＲｐは、急減速、または、逆進等、アクセル開度の変化量、および、シフト情報に基づき、許容される変動量として設定される。
【００３３】
また、上述の通り、ドライバ要求トルク指令値Ｔｐは、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値Ｔｍに振り分けられる。
そこで本実施形態では、ドライバ要求トルク監視マージンＭＲｐに基づき、エンジントルク指令値Ｔｅの監視に係るエンジントルク監視マージンＭＲｅ、ＭＧ１トルク指令値Ｔｇの監視に係るＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク指令値Ｔｍの監視に係るＭＧ２トルク監視マージンＭＲｍを演算し、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値Ｔｍの異常を判定する。
【００３４】
本実施形態では、エンジントルク指令値Ｔｅとエンジントルク監視値Ｔｅｓとの差がエンジントルク監視マージンＭＲｅを超えた場合、ＭＧ１トルク指令値ＴｇとＭＧ１トルク監視値Ｔｇｓとの差がＭＧ１トルク監視マージンＭＲｇを超えた場合、または、ＭＧ２トルク指令値ＴｍとＭＧ２トルク監視値Ｔｍｓとの差がＭＧ２トルク監視マージンＭＲｍを超えた場合、Ｆ／Ｓに移行すべき異常が生じていると判断する。本実施形態における「Ｆ／Ｓに移行すべき異常」とは、各駆動源の指令値が、許容変動幅を超えて変動し、当該指令値に基づいて駆動源を制御した場合に、急加速、急減速等、ユーザに違和感を与える虞があるマージン超過異常である。
【００３５】
本実施形態では、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍは、変換式を用いてドライバ要求トルク監視マージンＭＲｐを順次変換していくことにより演算される。
【００３６】
ここで、監視マージンを用いた異常監視処理を図５に示すフローチャートに基づいて説明する。異常監視処理は、イグニッション電源がオンされているとき、ＥＣＵ５０にて所定の間隔で実行される。
Ｓ３０１では、ドライバ要求トルク監視マージンＭＲｐを設定する。本実施形態では、急加速、急減速、逆進等から考えられる候補値のうち、最も絶対値の小さいものをドライバ要求トルク監視マージンＭＲｐとする。
【００３７】
Ｓ３０２では、ドライバ要求トルク超過量Ｅｐを演算する。ドライバ要求トルク超過量Ｅｐは、ドライバ要求トルク指令値Ｔｐとドライバ要求トルク監視値Ｔｐｓとの差の絶対値として演算される。
Ｓ３０３では、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値を演算する。
【００３８】
Ｓ３０４では、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値が０より小さいか否かを判断する。ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値が０より小さいと判断された場合（Ｓ３０４：ＹＥＳ）、Ｓ３１８へ移行する。ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値が０以上であると判断された場合（Ｓ３０４：ＮＯ）、Ｓ３０５へ移行する。
【００３９】
Ｓ３０５では、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値を第１駆動源トルクに対応する値に変換し、第１監視マージンＭＲ１を演算する。本実施形態では、第１駆動源をエンジン１０とするので、第１監視マージンＭＲ１はエンジントルク監視マージンＭＲｅである。
エンジントルク監視マージンＭＲｅは、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値に基づき、予め記憶されたマップを参照することにより演算される。なお、エンジントルク監視マージンＭＲｅは、演算式によって演算するようにしてもよい。
【００４０】
Ｓ３０６では、第１超過量Ｅ１を演算する。本実施形態では、第１超過量Ｅ１は、エンジントルク指令値Ｔｅとエンジントルク監視値Ｔｅｓとの差の絶対値であるエンジントルク超過量Ｅｅとする。
Ｓ３０７では、第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値を演算する。
【００４１】
Ｓ３０８では、第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値が０より小さいか否かを判断する。第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値が０より小さいと判断された場合（Ｓ３０８：ＹＥＳ）、Ｓ３１８へ移行する。第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値が０以上であると判断された場合（Ｓ３０８：ＮＯ）、Ｓ３０９へ移行する。
【００４２】
Ｓ３０９では、第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値を第２駆動源トルクに対応する値に変換し、第２監視マージンＭＲ２を演算する。本実施形態では、第２駆動源を第１回転電機２１とするので、第２監視マージンＭＲ２はＭＧ１トルク監視マージンＭＲｇである。
ＭＧ１トルク監視マージンＭＲｇは、以下の式（３）で演算される。
ＭＲｇ＝｛ρ／（１＋ρ）｝×（ＭＲｅ−Ｅｅ）    ・・・（３）
【００４３】
Ｓ３１０では、第２超過量Ｅ２を演算する。本実施形態では、第２超過量Ｅ２は、ＭＧ１トルク指令値ＴｇとＭＧ１トルク監視値Ｔｇｓとの差の絶対値であるＭＧ１トルク超過量Ｅｇとする。
Ｓ３１１では、第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値を演算する。
【００４４】
Ｓ３１２では、第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０より小さいか否かを判断する。第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０より小さいと判断された場合（Ｓ３１２：ＹＥＳ）、Ｓ３１８へ移行する。第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０以上であると判断された場合（Ｓ３１２：ＮＯ）、Ｓ３１３へ移行する。
【００４５】
Ｓ３１３では、第２監視マージンＭＲ２を用い、第３駆動源トルクに対応する値に変換し、第３監視マージンＭＲ３を演算する。本実施形態では、第３駆動源を第２回転電機２２とするので、第３監視マージンＭＲ３はＭＧ２トルク監視マージンＭＲｍである。
ＭＧ２トルク監視マージンＭＲｍは、以下の式（４）で演算される。
ＭＲｍ＝ＭＲｐ−Ｅｐ−｛１／（１＋ρ）｝×Ｅｅ−（−１／ρ）×Ｅｇ
・・・（４）
【００４６】
Ｓ３１４では、第３超過量Ｅ３を演算する。本実施形態では、第３超過量Ｅ３は、ＭＧ２トルク指令値ＴｍとＭＧ２トルク監視値Ｔｍｓとの差の絶対値であるＭＧ２トルク超過量Ｅｍとする。
Ｓ３１５では、第３監視マージンＭＲ３から第３超過量Ｅ３を減じた値を演算する。
【００４７】
Ｓ３１６では、第３監視マージンＭＲ３から第３超過量Ｅ３を減じた値が０より小さいか否かを判断する。第３監視マージンＭＲ３から第３超過量Ｅ３を減じた値が０より小さいと判断された場合（Ｓ３１６：ＹＥＳ）、Ｓ３１８へ移行する。第３監視マージンＭＲ３から第３超過量Ｅ３を減じた値が０以上であると判断された場合（Ｓ３１６：ＮＯ）、Ｓ３１７へ移行する。
【００４８】
Ｓ３１７では、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値Ｔｇ、および、ＭＧ２トルク指令値Ｔｍには、Ｆ／Ｓに移行すべき異常が生じていないと判定する。
ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値、第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値、第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値、または、第３監視マージンＭＲ３から第３超過量Ｅ３を減じた値が０より小さいと判断された場合（Ｓ３０４：ＹＥＳ、Ｓ３０８：ＹＥＳ、Ｓ３１２：ＹＥＳ、または、Ｓ３１６：ＹＥＳ）に移行するＳ３１８では、Ｆ／Ｓに移行すべき異常が生じていると判定し、異常フラグをセットする。異常フラグは、図３中のＳ１０６における異常判定に用いられる。
【００４９】
ここで異常判定処理の具体例について、図６および図７に基づいて説明する。図６および図７では、いずれも（ａ）が指令値と監視値との比較、（ｂ）が監視マージンを示す。以下の実施形態に係る図面においても同様である。
正常判定される場合を図６に示す。この例では、図６（ａ）に示すように、ドライバ要求トルク、エンジントルクおよびＭＧ１トルクは、指令値と監視値とが一致しており、ドライバ要求トルク超過量Ｅｐ、エンジントルク超過量ＥｅおよびＭＧ１トルク超過量Ｅｇは、いずれも０であるものとする。
また、ＭＧ２トルク監視値Ｔｍｓは、ＭＧ２トルク指令値Ｔｍより大きく、ＭＧ２トルク超過量Ｅｍは、図中に示す如くである。
【００５０】
図６（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、ＭＧ２トルク監視マージンＭＲｍに変換していき、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値は０以上である（図５中のＳ３１６：ＮＯ）。このような場合、図５中のＳ３１７にて正常判定され、Ｆ／Ｓに移行しない。
【００５１】
次に、異常判定される場合を図７に示す。なお、図７（ｂ）中に斜線部分は、指令値と監視値との差の絶対値である超過量による監視マージンの減少分を示している。以下の実施形態に係る図面においても同様である。
この例では、ドライバ要求トルク超過量Ｅｐ、エンジントルク超過量Ｅｅ、ＭＧ１トルク超過量Ｅｇ、および、ＭＧ２トルク超過量Ｅｍは、図７（ａ）に示す如くである。
【００５２】
図７（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、ＭＧ２トルク監視マージンＭＲｍと変換していく。このとき、ドライバ要求トルク超過量Ｅｐ、エンジントルク超過量Ｅｅ、および、ＭＧ１トルク超過量Ｅｇに相当する分、監視マージンが減少する。そして、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値は０より小さい（図５中のＳ３１６：ＮＯ）。したがって、図５中のＳ３１８にて異常判定され、図３中のＳ１０８にてＦ／Ｓへ移行する。
【００５３】
図７（ｂ）に示す例では、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値が０より小さいが、当該減算値を演算する前段において、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値、エンジントルク監視マージンＭＲｅからエンジントルク超過量Ｅｅを減算した値、または、ＭＧ１トルク監視マージンＭＲｇからＭＧ１トルク超過量Ｅｇを減算した値が０より小さくなれば、異常判定され、Ｆ／Ｓへ移行する。
【００５４】
以上詳述したように、本実施形態のＥＣＵ５０は、複数の駆動源を備える車両９０の駆動を制御する。本実施形態の駆動源は、エンジン１０、第１回転電機２１および第２回転電機２２である。
ＥＣＵ５０は、ドライバ操作情報に基づき、ドライバ要求トルク指令値Ｔｐを演算する（図３中のＳ１０２）。
【００５５】
ＥＣＵ５０は、ドライバ要求トルク指令値Ｔｐを駆動源に対して振り分け、駆動源を制御する指令値である駆動源指令値を駆動源毎に演算する（Ｓ１０３、Ｓ１０４、Ｓ１０５）。ＥＣＵ５０は、ドライバ要求トルク指令値Ｔｐの異常監視に用いるドライバ要求トルク監視値Ｔｐｓ、および、駆動源指令値の異常監視に用いる駆動源監視値を演算する（図４中のＳ２０２〜Ｓ２０５）。
【００５６】
ＥＣＵ５０は、ドライバ要求トルク指令値Ｔｐとドライバ要求トルク監視値Ｔｐｓとの差であるドライバ要求トルク超過量Ｅｐに基づく異常判定に係るドライバ要求トルク監視マージンＭＲｐを設定する（図５中のＳ３０１）。
ＥＣＵ５０は、ドライバ要求トルク監視マージンＭＲｐに基づき、駆動源指令値と駆動源監視値との差である駆動源超過量に基づく異常判定に係る駆動源監視マージンを演算する（Ｓ３０５、Ｓ３０９、Ｓ３１３）。
そして、ＥＣＵ５０は、駆動源監視マージンを用い、駆動源指令値の異常を判定する（Ｓ３１８）。
【００５７】
本実施形態では、ドライバ要求トルク監視マージンＭＲｐを設定し、ドライバ要求トルク監視マージンＭＲｐに基づき、駆動源監視マージンを演算する。そして、駆動源監視マージンを用いて駆動源指令値の異常判定を行っている。これにより、駆動源指令値を用いて各駆動源を制御した制御結果（例えば実トルク等）を用いることなく、駆動源指令値が各駆動源に出力される前に駆動源指令値の異常判定を行うことができる。また、異常である駆動源指令値に基づいて各駆動源が制御されることに伴ってドライバ要求トルク監視マージンＭＲｐを超えたトルクが出力されるのを避けることができ、ユーザに違和感を与えることを回避することができる。
【００５８】
また、各駆動源指令値の和がドライバ要求トルク指令値Ｔｐと等しくない場合に各駆動源指令値が異常であると判定される場合がある。この場合、ドライバ要求トルク監視マージンＭＲｐを超えていなくても、異常判定される虞がある。
本実施形態では、ドライバ要求トルク監視マージンＭＲｐを急加速や急減速等の加速度の許容変動幅に基づいて設定し、ドライバ要求トルク監視マージンＭＲｐに基づき各駆動源監視マージンを演算している。これにより、より適切に駆動源指令値の異常を判定することができる。
【００５９】
本実施形態では、回転電機は、第１回転電機２１および第２回転電機２２から構成される。すなわち本実施形態では駆動源として２つの回転電機を有している。また、エンジン１０、第１回転電機２１および第２回転電機２２のうちの１つを第１駆動源、他の１つを第２駆動源、残りの１つを第３駆動源とする。本実施形態では、第１駆動源をエンジン１０、第２駆動源を第１回転電機２１、第３駆動源を第２回転電機２２とする。
【００６０】
ＥＣＵ５０は、駆動源指令値として、エンジン１０の駆動を制御するエンジントルク指令値Ｔｅ、第１回転電機２１の駆動を制御するＭＧ１トルク指令値Ｔｇ、および、第２回転電機２２の駆動を制御するＭＧ２トルク指令値Ｔｍを演算する。
ＥＣＵ５０は、駆動源監視値として、エンジントルク指令値Ｔｅの異常監視に用いるエンジントルク監視値Ｔｅｓ、ＭＧ１トルク指令値Ｔｇの異常監視に用いるＭＧ１トルク監視値Ｔｇｓ、および、ＭＧ２トルク指令値Ｔｍの監視に用いるＭＧ２トルク監視値Ｔｍｓを演算する。
【００６１】
また、ＥＣＵ５０は、駆動源監視マージンとして、エンジントルク指令値Ｔｅとエンジントルク監視値Ｔｅｓとの差であるエンジントルク超過量Ｅｅに基づく異常判定に係るエンジントルク監視マージンＭＲｅ、ＭＧ１トルク指令値ＴｇとＭＧ１トルク監視値Ｔｇｓとの差であるＭＧ１トルク超過量Ｅｇに基づく異常判定に係るＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク指令値ＴｍとＭＧ２トルク監視値Ｔｍｓとの差であるＭＧ２トルク超過量Ｅｍに基づく異常判定に係るＭＧ２トルク監視マージンＭＲｍを演算する。
【００６２】
本実施形態では、ドライバ要求トルク監視マージンＭＲｐに基づき、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍが演算される。これにより、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍに基づき、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値ＴｇおよびＭＧ２トルク指令値Ｔｍの異常を適切に判定できる。
【００６３】
また、エンジントルク指令値Ｔｅがエンジン１０に出力される前、ＭＧ１トルク指令値Ｔｇが第１回転電機２１に出力される前、ＭＧ２トルク指令値Ｔｍが第２回転電機２２に出力される前に、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値ＴｇおよびＭＧ２トルク指令値Ｔｍの異常を判定することができる。
【００６４】
ＥＣＵ５０は、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値に基づき、変換式を用いて駆動源監視マージンを演算する。
詳細には、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値に基づき、変換式を用いてエンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク監視マージンＭＲｍを順次演算する。なお、予め記憶されたマップを参照することによるマップ演算も「変換式を用いた演算」の概念に含まれるものとする。
【００６５】
本実施形態では、ドライバ要求トルク監視マージンＭＲｐを各駆動源に対して順次変換していくので、１つの駆動源における超過量が比較的大きかった場合としても、他の駆動源における超過量が小さく、全体として監視マージンを超えていなければ、異常判定されない。これにより、ドライバ要求トルク監視マージンＭＲｐを高効率に活用することができる。
【００６６】
ＥＣＵ５０は、駆動源超過量が駆動源監視マージンを超えた場合、駆動源指令値がマージン超過異常であると判定する。具体的には、エンジントルク超過量Ｅｅがエンジントルク監視マージンＭＲｅを超えた場合（Ｓ３０８：ＹＥＳ）、ＭＧ１トルク超過量ＥｇがＭＧ１トルク監視マージンＭＲｇを超えた場合（Ｓ３１２：ＹＥＳ）、または、ＭＧ２トルク超過量ＥｍがＭＧ２トルク監視マージンＭＲｍを超えた場合（Ｓ３１６：ＹＥＳ）、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値ＴｇおよびＭＧ２トルク指令値Ｔｍのうちの少なくとも１つのマージン超過異常であると判定する。
これにより、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値ＴｇおよびＭＧ２トルク指令値Ｔｍのマージン超過異常を適切に判定することができる。
【００６７】
ＥＣＵ５０は、予め記憶されている複数の候補値のうち、絶対値の最も小さいものをドライバ要求トルク監視マージンＭＲｐとして設定する。
ドライバ要求トルク監視マージンＭＲｐの候補値として、例えば急加速、急減速、逆進等から考えられる値を記憶しておく。本実施形態では、指令値および監視値のどちらが異常であるかの判定ができないため、急加速側の異常であるか、急減速側の異常であるかを判定できない。そのため、候補値のうち、絶対値の最も小さいものをドライバ要求トルク監視マージンＭＲｐとして設定することにより、機能安全を確保することができる。
【００６８】
本実施形態では、ＥＣＵ５０が「ドライバ要求トルク指令値演算手段」、「駆動源指令値演算手段」、「監視値演算手段」、「ドライバ要求トルク監視マージン設定手段」、「駆動源監視マージン演算手段」、および、「異常判定手段」を構成する。
また、図３中のＳ１０２が「ドライバ要求トルク指令値演算手段」の機能としての処理に対応し、Ｓ１０３〜Ｓ１０５が「駆動源指令値演算手段」の機能としての処理に対応する。図４中のＳ２０２〜Ｓ２０５が「監視値演算手段」の機能としての処理に対応する。図５中のＳ３０１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ３０５、Ｓ３０９、Ｓ３１３が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ３１８が「異常判定手段」の機能としての処理に対応する。
【００６９】
また、エンジン１０、第１回転電機２１および第２回転電機２２が「駆動源」に対応する。また、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値ＴｇおよびＭＧ２トルク指令値Ｔｍが「駆動源指令値」に対応する。詳細には、エンジントルク指令値Ｔｅが「第１指令値」に対応し、ＭＧ１トルク指令値Ｔｇが「第２指令値」に対応し、ＭＧ２トルク指令値Ｔｍが「第３指令値」に対応する。
【００７０】
エンジントルク監視値Ｔｅｓ、ＭＧ１トルク監視値ＴｇｓおよびＭＧ２トルク監視値Ｔｍｓが「駆動源監視値」に対応する。詳細には、エンジントルク監視値Ｔｅｓが「第１監視値」に対応し、ＭＧ１トルク監視値Ｔｇｓが「第２監視値」に対応し、ＭＧ２トルク監視値Ｔｍｓが「第３監視値」に対応する。
【００７１】
エンジントルク超過量Ｅｅ、ＭＧ１トルク超過量ＥｇおよびＭＧ２トルク超過量Ｅｍが「駆動源超過量」に対応する。詳細には、エンジントルク超過量Ｅｅが「第１超過量」に対応し、ＭＧ１トルク超過量Ｅｇが「第２超過量」に対応し、ＭＧ２トルク超過量Ｅｍが「第３超過量」に対応する。
【００７２】
エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍが「駆動源監視マージン」に対応する。詳細には、エンジントルク監視マージンＭＲｅが「第１監視マージン」に対応し、ＭＧ１トルク監視マージンＭＲｇが「第２監視マージン」に対応し、ＭＧ２トルク監視マージンＭＲｍが「第３監視マージン」に対応する。
【００７３】
（第２実施形態）
本発明の第２実施形態による車両制御装置を図８〜図１２に示す。
第１実施形態の車両制御システム１は２つの回転電機を備える。図８に示す本実施形態の車両制御システム２は、エンジン１０、回転電機２５、蓄電池３０、変速機４６、および、車両制御装置としてのＥＣＵ５５から構成され、車両９０に搭載される。すなわち本実施形態の車両制御システム２の回転電機は、１つである。
エンジン１０は、回転電機２５だけでなくスタータ１１によっても始動可能である。また、エンジン１０のクランク軸４５は、回転電機２５の回転軸４２と直結しており、エンジン１０の駆動力は、クランク軸４５から回転軸４２、変速機４６、および、減速機９１を経由し、駆動軸９２へ伝達される。
【００７４】
回転電機２５は、第１実施形態の第２回転電機２２と実質的に同一の構成であり、力行時には蓄電池３０から図示しないインバータ等を経由して電力が供給され、減速機９１等を介して、車両９０の駆動軸９２、および、車輪９３を回転させる。また、回転電機２５は、回生時には発電機として機能し、回転電機２５により発電された電力は、インバータ等を経由し、蓄電池３０へ供給される。また、回転電機２５が、エンジン１０の始動やアシスト等の機能を担う。
本実施形態では、エンジン１０を「第１駆動源」、回転電機２５を「第２駆動源」とする。
【００７５】
ＥＣＵ５０では、ドライバ要求トルク指令値Ｔｐに基づき、エンジン１０から出力されるトルクに係るエンジントルク指令値Ｔｅ、および、回転電機２５から出力されるトルクに係るＭＧトルク指令値Ｔｎを演算する。演算された各指令値は、エンジン１０および回転電機２５の駆動制御に用いられる。
【００７６】
ここで、本実施形態による指令値演算処理を図９に示すフローチャートに基づいて説明する。指令値演算処理は、イグニッション電源がオンされているとき、ＥＣＵ５０にて所定の間隔で実行される。
Ｓ１１１〜Ｓ１１３の処理は、図３中のＳ１０１〜Ｓ１０３の処理と同様である。
【００７７】
Ｓ１１４では、第２指令値Ｔ２を演算する。本実施形態では、第２駆動源を回転電機２５とするので、第２指令値Ｔ２は、ＭＧトルク指令値Ｔｎである。ＭＧトルク指令値Ｔｎは、エンジントルク指令値Ｔｅに基づき、式（５）により、ＭＧトルク指令値Ｔｎを演算する。なお式中のρ*は、エンジン１０と回転電機２５とのギア比とする。
Ｔｎ＝Ｔｐ−ρ*×Ｔｅ    ・・・（５）
Ｓ１１５〜Ｓ１１７の処理は、図３中のＳ１０６〜Ｓ１０８と同様である。
【００７８】
本実施形態では、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、および、ＭＧトルク指令値Ｔｎの異常を監視するために、指令値演算処理とは別処理にて、ドライバ要求トルク監視値Ｔｐｓ、エンジントルク監視値Ｔｅｓ、および、ＭＧトルク監視値Ｔｎｓを演算している。
ここで、監視値演算処理を図１０に示すフローチャートに基づいて説明する。監視値異常監視処理は、イグニッション電源がオンされているとき、ＥＣＵ５０にて所定の間隔で実行される。
【００７９】
Ｓ２１１〜Ｓ２１３は、図４中のＳ２０１〜Ｓ２０３と同様である。
Ｓ２１４では、第２監視値Ｔ２ｓを演算する。本実施形態の第２監視値Ｔ２ｓは、ＭＧトルク指令値Ｔｎの監視に用いるＭＧトルク監視値Ｔｎｓである。
Ｓ２１２〜Ｓ２１４における各監視値の演算は、各指令値の演算と同様でもよいし、他の演算式やパラメータを用いる等、各指令値とは異なる演算であってもよい。例えば、各監視値は、各指令値と正負が反転するように演算してもよい。
【００８０】
続いて、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、および、ＭＧトルク指令値Ｔｎの異常判定処理について説明する。
本実施形態では、ドライバ要求トルク監視マージンＭＲｐに基づき、エンジントルク指令値Ｔｅの監視に係るエンジントルク監視マージンＭＲｅ、および、ＭＧトルク監視マージンＭＲｎを演算し、エンジントルク指令値Ｔｅ、および、ＭＧトルク指令値Ｔｎの異常を判定する。
エンジントルク監視マージンＭＲｅおよびＭＧトルク指令値Ｔｎは、変換式を用いてドライバ要求トルク監視マージンＭＲｐを順次変換していくことにより演算される。
【００８１】
ここで、監視マージンを用いた異常監視処理を図１１に示すフローチャートに基づいて説明する。
Ｓ４０１〜Ｓ４０８は、図５中のＳ３０１〜Ｓ３０８と同様である。なお、Ｓ４０４またはＳ４０８にて肯定判断された場合、Ｓ４１４へ移行する。
【００８２】
第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値が０以上である場合に移行するＳ４０９では、第２監視マージンＭＲ２を演算する。第２監視マージンＭＲ２は、第１監視マージンＭＲ１を用い、第２駆動源トルクに相当する値に変換する。
本実施形態では、第２駆動源を回転電機２５とするので、第２監視マージンＭＲ２はＭＧトルク監視マージンＭＲｎである。ＭＧトルク監視マージンＭＲｎは、以下の式（６）で表される。
ＭＲｎ＝ＭＲｐ−Ｅｐ−ρ*×Ｅｅ    ・・・（６）
【００８３】
Ｓ４１０では、第２超過量Ｅ２を演算する。本実施形態では、第２超過量Ｅ２は、ＭＧトルク指令値ＴｎとＭＧトルク監視値Ｔｎｓとの差の絶対値であるＭＧトルク超過量Ｅｎとする。
Ｓ４１１では、第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値を演算する。
【００８４】
Ｓ４１２では、第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０より小さいか否かを判断する。第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０より小さいと判断された場合（Ｓ４１２：ＹＥＳ）、Ｓ４１４へ移行する。第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０以上であると判断された場合（Ｓ４１２：ＮＯ）、Ｓ４１３へ移行する。
【００８５】
Ｓ４１３では、ドライバ要求トルク指令値Ｔｐ、エンジントルク指令値Ｔｅ、および、ＭＧトルク指令値Ｔｎには、Ｆ／Ｓへ移行すべき異常が生じていないと判定する。
Ｓ４１４では、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減じた値、第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値、または、第２監視マージンＭＲ２から第２超過量Ｅ２を減じた値が０より小さいと判断された場合（Ｓ４０４：ＹＥＳ、Ｓ４０８：ＹＥＳ、または、Ｓ４１２：ＹＥＳ）に移行するＳ４１４では、Ｆ／Ｓに移行すべき異常が生じていると判断し、異常フラグをセットする。異常フラグは、図９中のＳ１１５における異常判定に用いられる。
【００８６】
ここで異常判定処理の具体例について、図１２および図１３に基づいて説明する。
正常判定される場合を図１２に示す。この例では、図１２（ａ）に示すように、ドライバ要求トルクおよびエンジントルクは、指令値と監視値とが一致している。すなわち、ドライバ要求トルク超過量Ｅｐおよびエンジントルク超過量Ｅｅは０である。
また、ＭＧトルク監視値Ｔｎｓは、ＭＧトルク指令値Ｔｎより大きく、ＭＧトルク超過量Ｅｎは、図中に示す如くである。
【００８７】
図１２（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧトルク監視マージンＭＲｎに換算していき、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値は、０以上である（図１１中のＳ４１２：ＮＯ）。したがって、図１１中のＳ４１３にて正常判定され、Ｆ／Ｓに移行しない。
【００８８】
次に、異常判定される場合を図１３に示す。この例では、ドライバ要求トルク超過量Ｅｐ、エンジントルク超過量Ｅｅ、および、ＭＧトルク超過量Ｅｎは、図１３（ａ）に示す如くである。
図１３（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、および、ＭＧトルク監視マージンＭＲｎに変換していく。このとき、ドライバ要求トルク超過量Ｅｐ、および、エンジントルク超過量Ｅｅに相当する分、監視マージンが減少する。そして、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算すると、減算値は０より小さくなる（図１１中のＳ４１２：ＹＥＳ）。したがって、図１１中のＳ４１４にて異常判定され、図９中のＳ１１７にてＦ／Ｓへ移行する。
【００８９】
図１３（ｂ）に示す例では、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値が０より小さいが、当該減算値を演算する前段において、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値、または、エンジントルク監視マージンＭＲｅからエンジントルク超過量Ｅｅを減算した値が０より小さくなれば、異常判定される。
【００９０】
本実施形態のＥＣＵ５５は、複数の駆動源を備える車両９０の駆動を制御する。本実施形態の駆動源は、エンジン１０および回転電機２５である。すなわち、本実施形態では、駆動源は、エンジン１０および１つの回転電機２５から構成される。
このように構成しても上記実施形態と同様の効果を奏する。
【００９１】
本実施形態では、ＥＣＵ５５が「ドライバ要求トルク指令値演算手段」、「駆動源指令値演算手段」、「監視値演算手段」、「ドライバ要求トルク監視マージン設定手段」、「駆動源監視マージン演算手段」、および、「異常判定手段」を構成する。
また、図９中のＳ１１２が「ドライバ要求トルク指令値演算手段」の機能としての処理に対応し、Ｓ１１３、Ｓ１１４が「駆動源指令値演算手段」の機能としての処理に対応する。図１０中のＳ２１２〜Ｓ２１４が「監視値演算手段」の機能としての処理に対応する。図１１中のＳ４０１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ４０５、Ｓ４０９が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ４１４が「異常判定手段」の機能としての処理に対応する。
【００９２】
エンジン１０、および、回転電機２５が「駆動源」に対応する。
エンジントルク指令値ＴｅおよびＭＧトルク指令値Ｔｎが「駆動源指令値」に対応する。詳細には、エンジントルク指令値Ｔｅが「第１指令値」に対応し、ＭＧトルク指令値Ｔｎが「第２指令値」に対応する。
エンジントルク監視値ＴｅｓおよびＭＧトルク監視値Ｔｎｓが「駆動源監視値」に対応する。詳細には、エンジントルク監視値Ｔｅｓが「第１監視値」に対応し、ＭＧトルク監視値Ｔｎｓが「第２指令値」に対応する。
【００９３】
また、エンジントルク超過量ＥｅおよびＭＧトルク超過量Ｅｎが「駆動源超過量」に対応する。詳細には、エンジントルク超過量Ｅｅが「第１超過量」に対応し、ＭＧトルク超過量Ｅｎが「第２超過量」に対応する。
エンジントルク監視マージンＭＲｅおよびＭＧトルク監視マージンＭＲｎが「駆動源監視マージン」に対応する。詳細には、エンジントルク監視マージンＭＲｅが「第１監視マージン」に対応し、ＭＧトルク監視マージンＭＲｎが「第２監視マージン」に対応する。
【００９４】
（第３実施形態）
本発明の第３実施形態は、構成等は第１実施形態と同様であり、異常監視処理が異なっている。
上記式（２）に示すように、本実施形態のＭＧ２トルク指令値Ｔｍは、ＭＧ２トルク相当に換算したエンジントルク指令値ＴｅおよびＭＧ１トルク指令値Ｔｇをドライバ要求トルク指令値Ｔｐから減算することにより演算される。そのため、例えばエンジントルク指令値Ｔｅが過大となった場合、エンジントルク指令値Ｔｅが過大となった分、ＭＧ２トルク指令値Ｔｍが減少する。
【００９５】
そこで本実施形態では、エンジントルク指令値Ｔｅの監視を省略し、監視箇所を減らしている。
本実施形態による異常監視処理を図１４に示すフローチャートに基づいて説明する。
Ｓ３２１〜Ｓ３２５の処理は、図５中のＳ３０１〜Ｓ３０５の処理と同様である。
Ｓ３２６では、第２監視マージンＭＲ２を演算する。第２監視マージンＭＲ２は、第１監視マージンＭＲ１から第１超過量Ｅ１を減じた値を、第２駆動源トルクに対応する値に換算する。
本実施形態では、第２駆動源を第１回転電機２１とするので、第２監視マージンＭＲ２はＭＧ１トルク監視マージンＭＲｇである。ＭＧ１トルク監視マージンＭＲｇは、以下の式（７）で表される。
ＭＲｇ＝｛ρ／（１＋ρ）｝×ＭＲｅ    ・・・（７）
【００９６】
Ｓ３２７〜Ｓ３２９の処理は、図５中のＳ３１０〜Ｓ３１２の処理と同様である。
Ｓ３３０の処理は、第３監視マージンＭＲ３を演算する。第３監視マージンＭＲ３は、第２監視マージンＭＲ２を用い、第３駆動源トルクに対応する値に変換する。
本実施形態では、第３駆動源を第２回転電機２２とするので、第３監視マージンＭＲ３はＭＧ２トルク監視マージンＭＲｍである。ＭＧ２トルク監視マージンＭＲｍは、以下の式（８）で演算される。
ＭＲｍ＝ＭＲｐ−Ｅｐ−（−１／ρ）×Ｅｇ    ・・・（８）
Ｓ３３１〜Ｓ３３５の処理は、図５中のＳ３１４〜Ｓ３１８の処理と同様である。
【００９７】
本実施形態での異常判定処理の具体例について、図１５および図１６に基づいて説明する。
正常判定される場合を図１５に示す。この例では、図１５（ａ）に示すように、ドライバ要求トルク、エンジントルクおよびＭＧ１トルクは、指令値と監視値とが一致している。すなわちエンジントルク超過量ＥｅおよびＭＧ１トルク超過量Ｅｇは０である。
また、ＭＧ２トルク監視値Ｔｍｓは、ＭＧ２トルク指令値Ｔｍより大きく、ＭＧ２トルク超過量Ｅｍは、図中に示す如くである。
【００９８】
図１５（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、ＭＧ２トルク監視マージンＭＲｍに変換していき、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値は、０以上である（図１４中のＳ３３３：ＮＯ）。このような場合、図１４中のＳ３３４にて正常判定され、Ｆ／Ｓに移行しない。
【００９９】
次に、異常判定される場合を図１６に示す。この例では、ドライバ要求トルク超過量Ｅｐ、ＭＧ１トルク超過量Ｅｇ、および、ＭＧ２トルク超過量Ｅｍは、図１６（ａ）に示す如くである。本実施形態では、エンジントルク指令値Ｔｅの監視を省略しているので、エンジントルク超過量Ｅｅは演算されない。
【０１００】
図１６（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、ＭＧ２トルク監視マージンＭＲｍと変換していく。このとき、ドライバ要求トルク超過量Ｅｐ、および、ＭＧ１トルク超過量Ｅｇに相当する分、監視マージンが減少する。
そして、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算すると、減算値は０より小さくなる（図１４中のＳ３３３：ＹＥＳ）。したがって、図１４中のＳ３３５にて異常判定され、図３中のＳ１０８にてＦ／Ｓへ移行する。
【０１０１】
本実施形態では、エンジン１０、第１回転電機２１および第２回転電機２２が動力分割機構４０を介して接続されているので、例えばエンジン１０の回転数Ｎｅが増大すれば、第２回転電機２２の回転数Ｎｍが減少するといった具合に、回転数およびトルクが相関関係を有している。また、上記式（２）に示すように、本実施形態のＭＧ２トルク指令値Ｔｍは、ＭＧ２トルク相当に換算したエンジントルク指令値ＴｅおよびＭＧ１トルク指令値Ｔｇをドライバ要求トルク指令値Ｔｐから減算することにより演算される。そのため、例えばエンジントルク指令値Ｔｅが過大となった場合、エンジントルク指令値Ｔｅが過大となった分、ＭＧ２トルク指令値Ｔｍが減少する。
【０１０２】
そこで本実施形態では、エンジントルク指令値Ｔｅの異常監視を省略しており、エンジントルク超過量Ｅｅを演算していない。そのため、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍは、第１実施形態と比較し、ドライバ要求トルク監視マージンＭＲｐ以下の範囲において、エンジントルク超過量Ｅｅに対応する分、大きくなる。これにより、ドライバ要求トルク監視マージンＭＲｐの範囲内で、ドライバ要求トルク監視マージンＭＲｐの機能をより使い切ることができ、不要にＦ／Ｓに移行するのを避けることができる。
【０１０３】
また、上記実施形態と同様の効果を奏する。
本実施形態では、図１４中のＳ３２１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ３２５、Ｓ３２６、Ｓ３３０が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ３３５が「異常判定手段」の機能としての処理に対応する。
【０１０４】
（第４実施形態）
本発明の第４実施形態は、構成等は第２実施形態と同様であり、異常監視処理が異なっている。
上記式（５）に示すように、本実施形態のＭＧトルク指令値Ｔｎは、ＭＧトルク相当に換算したエンジントルク指令値Ｔｅをドライバ要求トルク指令値Ｔｐから減算することにより演算される。そのため、例えばエンジントルク指令値Ｔｅが過大となった場合、エンジントルク指令値Ｔｅが過大となった分、ＭＧトルク指令値Ｔｎが減少する。
【０１０５】
そこで本実施形態では、エンジントルク指令値Ｔｅの監視を省略し、監視箇所を減らしている。
本実施形態による異常監視処理を図１７に示すフローチャートに基づいて説明する。
Ｓ４２１〜Ｓ４２５の処理は、図１１中のＳ４０１〜Ｓ４０５の処理と同様である。
Ｓ４２６では、第２監視マージンＭＲ２を演算する。第２監視マージンＭＲ２は、第１監視マージンＭＲ１を用い、第２駆動源トルクに対応する値に変換する。
【０１０６】
本実施形態では、第２駆動源を回転電機２５とするので、第２監視マージンＭＲ２はＭＧトルク監視マージンＭＲｎである。ＭＧトルク監視マージンＭＲｎは、以下の式（９）で表される。
ＭＲｎ＝ＭＲｐ−Ｅｐ    ・・・（９）
Ｓ４２７〜Ｓ４３１の処理は、図１１中のＳ４１０〜Ｓ４１４の処理と同様である。
【０１０７】
本実施形態での異常判定処理の具体例について、図１８および図１９に基づいて説明する。
正常判定される場合を図１８に示す。この例では、図１８（ａ）に示すように、ドライバ要求トルクおよびエンジントルクは、指令値と監視値とが一致している。すなわち、ドライバ要求トルク超過量Ｅｐおよびエンジントルク超過量Ｅｅはゼロである。また、ＭＧトルク監視値Ｔｎｓは、ＭＧトルク指令値Ｔｎより大きく、ＭＧトルク超過量Ｅｎは、図中に示す如くである。
【０１０８】
図１８（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧトルク監視マージンＭＲｎに変換していき、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値は、０以上である（図１７中のＳ４２９：ＮＯ）。このような場合、図１７中のＳ４３０にて正常判定され、Ｆ／Ｓに移行しない。
【０１０９】
次に、異常判定される場合を図１９に示す。この例では、ドライバ要求トルク超過量ＥｐおよびＭＧトルク超過量Ｅｎは、図１９（ａ）に示す如くである。本実施形態では、エンジントルク指令値Ｔｅの監視を省略しているので、エンジントルク超過量Ｅｅは演算されない。
【０１１０】
図１９（ｂ）に示すように、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧトルク監視マージンＭＲｎと変換していく。このとき、ドライバ要求トルク超過量Ｅｐに相当する分、ＭＧトルク監視マージンＭＲｎが減少する。そして、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算すると、減算値は０より小さくなる（図１７中のＳ４２９：ＹＥＳ）。したがって、図１７中のＳ４３１にて異常判定され、図３中のＳ１０８にてＦ／Ｓへ移行する。
【０１１１】
本実施形態では、エンジン１０および回転電機２５がギア等を介して接続されているので、例えばエンジン１０の回転数Ｎｅが増大すれば、回転電機２５の回転数が減少するといった具合に、回転数およびトルクが相関関係を有している。また、上記式（５）に示すように、本実施形態のＭＧトルク指令値Ｔｎは、ＭＧトルク相当に換算したエンジントルク指令値Ｔｅをドライバ要求トルク指令値Ｔｐから減算することにより演算される。そのため、例えばエンジントルク指令値Ｔｅが過大となった場合、エンジントルク指令値Ｔｅが過大となった分、ＭＧトルク指令値Ｔｎが減少する。
【０１１２】
そこで本実施形態では、エンジントルク指令値Ｔｅの異常監視を省略しており、エンジントルク超過量Ｅｅを演算していない。そのため、ＭＧトルク監視マージンＭＲｎは、第２実施形態と比較し、ドライバ要求トルク監視マージンＭＲｐ以下の範囲において、エンジントルク超過量Ｅｅに対応する分、大きくなる。これにより、ドライバ要求トルク監視マージンＭＲｐの範囲内で、ドライバ要求トルク監視マージンＭＲｐの機能をより使い切ることができ、不要にＦ／Ｓに移行するのを避けることができる。
【０１１３】
また、上記実施形態と同様の効果を奏する。
本実施形態では、図１７中のＳ４２１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ４２５、Ｓ４２６が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ４３１が「異常判定手段」の機能としての処理に対応する。
【０１１４】
（第５実施形態）
第１実施形態〜第４実施形態では、ドライバ要求トルク監視マージンＭＲｐを各駆動源の監視マージンに順次変換する。第５実施形態〜第８実施形態では、ドライバ要求トルク監視マージンＭＲｐを、各駆動源に分配し、超過量と分配された監視マージンとに基づき、異常を判定する。
【０１１５】
本発明の第５実施形態は、構成等は第１実施形態と同様であり、異常監視処理が異なっている。本実施形態では、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍに分配する。より詳細には、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値である分配用ドライバ要求トルク監視マージンＭＲｐｄを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍに分配する。
【０１１６】
本実施形態の異常監視処理を図２０に示すフローチャートに基づいて説明する。
Ｓ５０１〜Ｓ５０４の処理は、図５中のＳ３０１〜Ｓ３０４の処理と同様である。
Ｓ５０５では、第１監視マージンＭＲ１を演算する。本実施形態では、第１駆動源をエンジン１０とするので、第１監視マージンＭＲ１はエンジントルク監視マージンＭＲｅである。
【０１１７】
エンジントルク監視マージンＭＲｅは、式（１０）により演算される。式（１０）中のＤｅは、分配用ドライバ要求トルク監視マージンＭＲｐｄをエンジントルクに対して分配する分配係数である。また、式（１０）中のＫｅは、分配されたドライバ要求トルク監視マージンＭＲｐをエンジントルク相当に換算する換算係数であり、ギア比等に基づく値である。
ＭＲｅ＝（ＭＲｐ−Ｅｐ）×Ｄｅ×Ｋｅ
＝ＭＲｐｄ×Ｄｅ×Ｋｅ            ・・・（１０）
【０１１８】
Ｓ５０６〜Ｓ５０８の処理は、図５中のＳ３０６〜Ｓ３０８の処理と同様である。
Ｓ５０９では、第２監視マージンＭＲ２を演算する。本実施形態では、第２駆動源を第１回転電機２１とするので、第２監視マージンＭＲ２はＭＧ１トルク監視マージンＭＲｇである。
【０１１９】
ＭＧ１トルク監視マージンＭＲｇは、式（１１）により演算される。式（１１）中のＤｇは、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧ１トルクに対して分配する分配係数である。また、式（１１）中のＫｅは、分配されたドライバ要求トルク監視マージンＭＲｐをＭＧ１トルク相当に換算する換算係数であり、ギア比等に基づく値である。
ＭＲｇ＝（ＭＲｐ−Ｅｐ）×Ｄｇ×Ｋｇ
＝ＭＲｐｄ×Ｄｇ×Ｋｇ            ・・・（１１）
【０１２０】
Ｓ５１０〜Ｓ５１２の処理は、図５中のＳ３１０〜Ｓ３１２の処理と同様である。
Ｓ５１３では、第３監視マージンＭＲ３を演算する。本実施形態では、第３駆動源を第２回転電機２２とするので、第３監視マージンＭＲ３はＭＧ２トルク監視マージンＭＲｍである。
【０１２１】
ＭＧ２トルク監視マージンＭＲｍは、式（１２）により演算される。式（１２）中のＤｍ１は、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧ２トルクに対して分配する分配係数である。また、式（１２）中のＫｍは、分配されたドライバ要求トルク監視マージンＭＲｐをＭＧ２トルク相当に換算する換算係数であり、ギア比等に基づく値である。
ＭＲｍ＝（ＭＲｐ−Ｅｐ）×（１−Ｄｅ−Ｄｇ）×Ｋｍ
＝ＭＲｐｄ×Ｄｍ１×Ｋｍ                          ・・・（１２）
【０１２２】
なお、分配係数Ｄｅ、Ｄｇ、Ｄｍ１は、任意の値に設定可能であり、望ましくはドライバ要求トルクに対する各駆動源のトルクの使用比率に応じて設定される。分配係数Ｄｅ、Ｄｇ、Ｄｍ１は、ドライバ要求トルク等に応じて可変としてもよい。
Ｓ５１４〜Ｓ５１８の処理は、図５中のＳ３１４〜Ｓ３１８の処理と同様である。
【０１２３】
ここで異常判定処理の具体例について、図２１および図２２に基づいて説明する。ここでは、分配用ドライバ要求トルク監視マージンＭＲｐｄが各駆動源に均等に分配される例を説明する。すなわち、Ｄｅ＝Ｄｇ＝Ｄｍ１＝１／３とする。また、説明を簡略化するため、Ｋｅ＝Ｋｇ＝Ｋｍ＝１とする。
【０１２４】
正常判定される場合を図２１に示す。この例では、図２１（ａ）に示すように、ドライバ要求トルク、エンジントルク、および、ＭＧ１トルクは、指令値と監視値とが略一致している。ここでは、ドライバ要求トルク超過量Ｅｐ＝０であり、ドライバ要求トルク監視マージンＭＲｐと分配用ドライバ要求トルク監視マージンＭＲｐｄとが等しいものとする。また、ＭＧ２トルク監視値Ｔｍｓは、ＭＧ２トルク指令値Ｔｍより大きく、ＭＧ２トルク超過量Ｅｍは、図中に示す如くである。
【０１２５】
図２１（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク監視マージンＭＲｍに分配する。分配された各駆動源の監視マージンから各駆動源の超過量を減算した値は、０以上である（図１７中のＳ５０５：ＮＯ、Ｓ５１２：ＮＯ、Ｓ５１６：ＮＯ）。このような場合、図２０中のＳ５１７にて正常判定され、Ｆ／Ｓに移行しない。
【０１２６】
次に、異常判定される場合を図２２に示す。この例では、ドライバ要求トルク超過量Ｅｐ、エンジントルク超過量Ｅｅ、ＭＧ１トルク超過量Ｅｇ、および、ＭＧ２トルク超過量Ｅｍは、図２２（ａ）に示す如くである。
【０１２７】
図２２（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク監視マージンＭＲｍに分配する。エンジントルク監視マージンＭＲｅからエンジントルク超過量Ｅｅを減算した値、および、ＭＧ１トルク監視マージンＭＲｇからＭＧ１トルク超過量Ｅｇを減算した値は、０以上である（図２０中のＳ５０８：ＮＯ、Ｓ５１２：ＮＯ）。一方、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値は、０より小さい（図２０中のＳ５１６：ＹＥＳ）。したがって、図２０中のＳ５１８にて異常判定され、図３中のＳ１０８にてＦ／Ｓへ移行する。
【０１２８】
図２２（ｂ）では、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値が０より小さい例を説明したが、エンジントルク監視マージンＭＲｅからエンジントルク超過量Ｅｅを減算した値、ＭＧ１トルク監視マージンＭＲｇからＭＧ１トルク超過量Ｅｇを減算した値、および、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値の少なくとも１つが０より小さい場合、異常判定され、Ｆ／Ｓへ移行する。
【０１２９】
本実施形態では、ＥＣＵ５０は、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値を所定分配比で分配し、駆動源監視マージンを演算する。
詳細には、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値を所定分配比で分配し、エンジントルク監視マージンＭＲｅ、ＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク監視マージンのうちの少なくとも２つを演算する。
【０１３０】
本実施形態では、ドライバ要求トルク監視マージンＭＲｐを各駆動源に対して分配するので、ドライバ要求トルク監視マージンＭＲｐを順次変換していく場合と比較し、速やかに異常を判定できる。また、異常箇所を特定可能である。
また、上記実施形態と同様の効果を奏する。
【０１３１】
本実施形態では、図２０中のＳ５０１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ５０５、Ｓ５０９、Ｓ５１３が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ５１８が「異常判定手段」の機能としての処理に対応する。
【０１３２】
（第６実施形態）
本発明の第６実施形態は、構成等は第２実施形態と同様であり、異常監視処理が異なっている。本実施形態では、ドライバ要求トルク監視マージンＭＲｐを、エンジントルク監視マージンＭＲｅ、および、ＭＧトルク監視マージンＭＲｎに分配する。より詳細には、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値である分配用ドライバ要求トルク監視マージンＭＲｐｄを、エンジントルク監視マージンＭＲｅ、および、ＭＧトルク監視マージンＭＲｎに分配する。
【０１３３】
本実施形態の異常監視処理を図２３に示すフローチャートに基づいて説明する。
Ｓ６０１〜Ｓ６０８は、図２０中のＳ５０１〜Ｓ５０８と同様である。
Ｓ６０９では、第２監視マージンＭＲ２を演算する。本実施形態では、第２駆動源を回転電機２５とするので、第２監視マージンＭＲ２はＭＧトルク監視マージンＭＲｎである。
【０１３４】
ＭＧトルク監視マージンＭＲｎは、式（１３）により演算される。式（１３）中のＤｎは、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧトルクに対して分配する分配係数である。また、式（１３）中のＫｎは、分配されたドライバ要求トルク監視マージンＭＲｐをＭＧトルク相当に換算する換算係数であり、ギア比等に基づく値である。
ＭＲｎ＝（ＭＲｐ−Ｅｐ）×（１−Ｄｅ）×Ｋｎ
＝ＭＲｐｄ×Ｄｎ×Ｋｎ                    ・・・（１３）
【０１３５】
なお、分配係数Ｄｅ、Ｄｎは、任意の値に設定可能であり、望ましくはドライバ要求トルクに対する各駆動源のトルクの使用比率に応じて設定される。分配係数Ｄｅ、Ｄｎは、ドライバ要求トルク等に応じて可変としてもよい。
Ｓ６１０〜Ｓ６１４の処理は、図１１中のＳ４１０〜Ｓ４１４と同様である。
【０１３６】
ここで異常判定処理の具体例について、図２４および図２５に基づいて説明する。ここでは、分配用ドライバ要求トルク監視マージンＭＲｐｄが各駆動源に均等に分配される例を説明する。すなわち、Ｄｅ＝Ｄｎ＝１／２とする。また、説明を簡略化するため、Ｋｅ＝Ｋｎ＝１とする。
【０１３７】
正常判定される場合を図２４に示す。この例では、図２４（ａ）に示すように、ドライバ要求トルク、および、エンジントルクは、指令値と監視値とが略一致している。ここでは、ドライバ要求トルク超過量Ｅｐ＝０であり、ドライバ要求トルク監視マージンＭＲｐと分配用ドライバ要求トルク監視マージンＭＲｐｄとが等しいものとする。また、ＭＧトルク監視値Ｔｎｓは、ＭＧトルク指令値Ｔｎより大きく、ＭＧトルク超過量Ｅｎは、図中に示す如くである。
【０１３８】
図２４（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、エンジントルク監視マージンＭＲｅ、および、ＭＧトルク監視マージンＭＲｎに分配する。分配された各駆動源の監視マージンから各駆動源の超過量を減算した値は、０以上である（図２３中のＳ６０８：ＮＯ、Ｓ６１２：ＮＯ）。このような場合、図２３中のＳ６１３にて正常判定され、Ｆ／Ｓに移行しない。
【０１３９】
次に、異常判定される場合を図２５に示す。この例では、ドライバ要求トルク超過量Ｅｐ、エンジントルク超過量Ｅｅ、および、ＭＧトルク超過量Ｅｎは、図２５（ａ）に示す如くである。
図２５（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、エンジントルク監視マージンＭＲｅ、および、ＭＧトルク監視マージンＭＲｎに分配する。エンジントルク監視マージンＭＲｅからエンジントルク超過量Ｅｅを減算した値は、０以上である（図２３中のＳ６０８：ＮＯ）。一方、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値は、０より小さい（図２３中のＳ６１２：ＹＥＳ）。したがって、図２３中のＳ６１４にて異常判定され、図９中のＳ１１８にてＦ／Ｓへ移行する。
【０１４０】
図２５（ｂ）では、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値が０より小さい例を説明したが、エンジントルク監視マージンＭＲｅからエンジントルク超過量Ｅｅを減算した値、および、ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値の少なくとも１つが０より小さい場合、異常判定され、Ｆ／Ｓへ移行する。
【０１４１】
このように構成しても、上記実施形態と同様の効果を奏する。
本実施形態では、図２３中のＳ６０１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ６０５、Ｓ６０９が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ６１４が「異常判定手段」の機能としての処理に対応する。
【０１４２】
（第７実施形態）
本発明の第７実施形態は、構成等は第１実施形態と同様であり、異常監視処理が異なっている。本実施形態の異常監視処理では、第３実施形態のように、エンジントルク指令値Ｔｅの監視を省略し、監視箇所を減らしている。
本実施形態による異常監視処理を図２６に示すフローチャートに基づいて説明する。
Ｓ５２１〜Ｓ５２４の処理は、図２０中のＳ５０１〜Ｓ５０４の処理と同様である。また、Ｓ５２５〜Ｓ５２８の処理は、図２０中のＳ５０９〜Ｓ５１２の処理と同様である。
すなわち、本実施形態では、図２０中のＳ５０５〜Ｓ５０８の処理が省略されており、エンジントルク監視マージンＭＲｅおよびエンジントルク超過量Ｅｅが演算されていない。
【０１４３】
Ｓ５２９では、第３監視マージンＭＲ３を演算する。本実施形態では、第３駆動源を第２回転電機２２とするので、第３監視マージンＭＲ３はＭＧ２トルク監視マージンＭＲｍである。
【０１４４】
ＭＧ２トルク監視マージンＭＲｍは、式（１４）により演算される。式（１４）中のＤｍ２は、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧ２トルクに対して分配する分配係数である。また、式（１４）中のＫｍは、分配されたドライバ要求トルク監視マージンＭＲｐをＭＧ２トルク相当に換算する換算係数であり、ギア比等に基づく値である。
ＭＲｍ＝（ＭＲｐ−Ｅｐ）×（１−Ｄｇ）×Ｋｍ
＝ＭＲｐｄ×Ｄｍ２×Ｋｍ                  ・・・（１４）
なお、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍの演算に用いる分配係数Ｄｇ、Ｄｍ２は、任意の値に設定可能である。
Ｓ５３０〜Ｓ５３４の処理は、図２０中のＳ５１４〜Ｓ５１８の処理と同様である。
【０１４５】
ここで異常判定処理の具体例について、図２７および図２８に基づいて説明する。説明を簡略化するため、Ｋｇ＝Ｋｍ＝１とする。
まず、監視マージンの分配について言及しておく。
ＭＧ２トルク指令値Ｔｍは、上記式（２）により演算される。式（２）を参照すると、エンジントルク指令値Ｔｅ、ＭＧ１トルク指令値ＴｇおよびＭＧ２トルク指令値Ｔｍの和がドライバ要求トルク指令値Ｔｐとなる関係が成立するように、ＭＧ２トルク指令値Ｔｍを演算している。したがって、エンジントルク指令値Ｔｅが増加すると、その分、ＭＧ２トルク指令値Ｔｍが減少する。
【０１４６】
そこで本実施形態では、エンジントルク指令値Ｔｅを監視する場合のエンジントルク監視マージンＭＲｅに対応する分を、ＭＧ２トルク監視マージンＭＲｍに振り向ける。すなわち、本実施形態の分配係数Ｄｍ２と、第５実施形態の分配係数Ｄｍ１、Ｄｅとは、式（１５）に示す関係である。
Ｄｍ２＝Ｄｍ１＋Ｄｅ    ・・・（１５）
【０１４７】
図２７および図２８にて説明する例では、Ｄｇ＝１／３とし、Ｄｍ＝２／３とする。また、説明を簡略化するため、Ｋｇ＝Ｋｍ＝１とする。
正常判定される場合を図２７に示す。この例では、図２７（ａ）に示すように、ドライバ要求トルク、エンジントルク、および、ＭＧ１トルクは、指令値と監視値とが略一致している。ここでは、ドライバ要求トルク超過量Ｅｐ＝０であり、ドライバ要求トルク監視マージンＭＲｐと分配用ドライバ要求トルク監視マージンＭＲｐｄとが等しいものとする。また、ＭＧ２トルク監視値Ｔｍｓは、ＭＧ２トルク指令値Ｔｍより大きく、ＭＧ２トルク超過量Ｅｍは、図中に示す如くである。
【０１４８】
図２７（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、ＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク監視マージンＭＲｍに分配する。分配された各駆動源の監視マージンから各駆動源の超過量を減算した値は、０以上である（図２６中のＳ５２８：ＮＯ、Ｓ５３２：ＮＯ）。このような場合、図２６中のＳ５３３にて正常判定され、Ｆ／Ｓに移行しない。
【０１４９】
次に、異常判定される場合を図２８に示す。この例では、ドライバ要求トルク超過量Ｅｐ、ＭＧ１トルク超過量Ｅｇ、および、ＭＧ２トルク超過量Ｅｍは、図２８（ａ）に示す如くである。なお、本実施形態では、エンジントルク超過量Ｅｅは演算されない。
図２８（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、ＭＧ１トルク監視マージンＭＲｇ、および、ＭＧ２トルク監視マージンＭＲｍに分配する。ＭＧ１トルク監視マージンＭＲｇからＭＧ１トルク超過量Ｅｇを減算した値は、０以上である（図２６中のＳ５２４：ＮＯ）。一方、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値は、０より小さい（図２６中のＳ５３２：ＹＥＳ）。したがって、図２６中のＳ５３４にて異常判定され、図３中のＳ１０８にてＦ／Ｓへ移行する。
【０１５０】
図２８（ｂ）では、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値が０より小さい例を説明したが、ＭＧ１トルク監視マージンＭＲｇからＭＧ１トルク超過量Ｅｇを減算した値、および、ＭＧ２トルク監視マージンＭＲｍからＭＧ２トルク超過量Ｅｍを減算した値の少なくとも１つが０より小さい場合、異常判定され、Ｆ／Ｓへ移行する。
【０１５１】
本実施形態では、第３実施形態と同様、エンジントルク指令値Ｔｅの異常監視を省略しており、エンジントルク超過量Ｅｅおよびエンジントルク監視マージンＭＲｅを演算していない。また、ＭＧ２トルク指令値Ｔｍがドライバ要求トルク指令値Ｔｐからエンジントルク指令値ＴｅおよびＭＧ１トルク指令値Ｔｇに相当する値を減じて演算される点に鑑み、第５実施形態にてエンジントルクに対して分配される監視マージンをＭＧ２トルク監視マージンＭＲｍに分配している。これにより、ドライバ要求トルク監視マージンＭＲｐの範囲内で、ドライバ要求トルク監視マージンＭＲｐの機能をより使い切ることができ、不要にＦ／Ｓに移行するのを避けることができる。
【０１５２】
また、上記実施形態と同様の効果を奏する。
本実施形態では、図２６中のＳ５２１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ５２５、Ｓ５２９が「駆動源監視マージン演算手段」の機能としての処理に対応し、Ｓ５３４が「異常判定手段」の機能としての処理に対応する。
【０１５３】
（第８実施形態）
本発明の第８実施形態は、構成等は第２実施形態と同様であり、異常監視処理が異なっている。本実施形態の異常監視処理では、第４実施形態のように、エンジントルク指令値Ｔｅの監視を省略し、監視箇所を減らしている。
本実施形態による異常監視処理を図２９に示すフローチャートに基づいて説明する。
Ｓ６２１〜Ｓ６２４の処理は、図２３中のＳ６０１〜Ｓ６０４の処理と同様である。また、本実施形態では図２３中のＳ６０５〜Ｓ６０８に対応する処理が省略されており、エンジントルク監視マージンＭＲｅおよびエンジントルク超過量Ｅｅが演算されていない。
【０１５４】
Ｓ６２５では、第２監視マージンＭＲ２を演算する。本実施形態では、第２駆動源を回転電機２５とするので、第２監視マージンＭＲ２は、ＭＧトルク監視マージンＭＲｎである。
ＭＧトルク監視マージンＭＲｎは、式（１６）により演算される。式（１６）中のＤｎは、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧトルクに対して分配す分配係数であり、本実施形態ではＤｎ＝１である。また、式（１６）中のＫｎは、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧトルク相当に換算する換算係数であり、ギア比等に基づく値である。
ＭＲｎ＝（ＭＲｐ−Ｅｐ）×Ｄｎ×Ｋｎ
＝ＭＲｐｄ×Ｄｎ×Ｋｎ            ・・・（１６）
Ｓ６２６〜Ｓ６３０の処理は、図２３中のＳ６１０〜Ｓ６１４の処理と同様である。
【０１５５】
ここで異常判定処理の具体例について、図３０および図３１に基づいて説明する。ここでは説明を簡略化するため、Ｋｎ＝１とする。
正常判定される場合を図３０に示す。この例では、図３０（ａ）に示すように、ドライバ要求トルク、および、エンジントルクは、指令値と監視値とが略一致している。ここでは、ドライバ要求トルク超過量Ｅｐ＝０であり、ドライバ要求トルク監視マージンＭＲｐと分配用ドライバ要求トルク監視マージンＭＲｐｄとが等しいものとする。また、ＭＧトルク監視値Ｔｎｓは、ＭＧトルク指令値Ｔｎより大きく、ＭＧトルク超過量Ｅｎは、図中に示す如くである。
【０１５６】
図３０（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄをＭＧトルク監視マージンＭＲｎに分配する。ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値は、０以上である（図２９中のＳ６２８：ＮＯ）。このような場合、図２９中のＳ６２９にて正常判定され、Ｆ／Ｓに移行しない。
【０１５７】
次に、異常判定される場合を図３１に示す。この例では、ドライバ要求トルク超過量Ｅｐ、および、ＭＧトルク超過量Ｅｎは、図３１（ａ）に示す如くである。なお、本実施形態では、エンジントルク超過量Ｅｅは、演算されない。
【０１５８】
図３１（ｂ）に示すように、分配用ドライバ要求トルク監視マージンＭＲｐｄを、ＭＧトルク監視マージンＭＲｎに分配する。ＭＧトルク監視マージンＭＲｎからＭＧトルク超過量Ｅｎを減算した値は、０より小さい（図２９中のＳ６２８：ＹＥＳ）。したがって、図２９中のＳ６２８にて異常判定され、図９中のＳ１１８にてＦ／Ｓへ移行する。
【０１５９】
本実施形態では、第４実施形態と同様、エンジントルク指令値Ｔｅの異常監視を省略しており、エンジントルク超過量Ｅｅおよびエンジントルク監視マージンＭＲｅを演算していない。そのため、第６実施形態にてエンジントルクに対して分配される監視マージンをＭＧトルク監視マージンＭＲｎに分配している。換言すると、本実施形態では、ドライバ要求トルク監視マージンＭＲｐを、全てＭＧトルク監視マージンＭＲｎに分配していると捉えることもできる。
これにより、ドライバ要求トルク監視マージンＭＲｐの範囲内で、ドライバ要求トルク監視マージンＭＲｐの機能をより使い切ることができ、不要にＦ／Ｓに移行するのを避けることができる。
【０１６０】
また、例えばエンジン１０の異常を別途判定可能であり、エンジン１０の異常時には油圧等によりエンジン１０を駆動軸９２から切り離すことが可能である方式が採用されることがある。エンジン１０の異常時において油圧にて駆動軸９２からエンジン１０を切り離した場合、駆動軸９２および車輪９３は、回転電機２５のトルクにより駆動される。
この場合、ドライバ要求トルク監視マージンＭＲｐを、全てＭＧトルク監視マージンＭＲｎに振り向けることにより、ドライバ要求トルク監視マージンＭＲｐの機能を適切に活用することできる。
【０１６１】
また、上記実施形態と同様の効果を奏する。
本実施形態では、図２９中のＳ６２１が「ドライバ要求トルク監視マージン設定手段」の機能としての処理に対応し、Ｓ６２５が「駆動源監視マージン設定手段」の機能としての処理に対応する。
【０１６２】
（第９実施形態）
本発明の第９実施形態は、構成等は第１実施形態と同様であり、監視マージンの演算方法が異なっている。
本実施形態の監視マージンの演算方法を図３２に示す。図３２では、ドライバ要求トルク超過量Ｅｐが０の場合を示している。
図３２に示すように、本実施形態では、エンジントルク監視マージンＭＲｅは、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値に基づき、予め記憶されたマップを参照することにより演算される。
【０１６３】
一方、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍは、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値に基づき、所定の分配係数を乗じることにより演算される（式（１１）、（１２）参照）。
すなわち、本実施形態では、エンジントルク監視マージンＭＲｅは、ドライバ要求トルク監視マージンＭＲｐに基づいて変換され、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍは、ドライバ要求トルク監視マージンＭＲｐに基づいて分配される。
異常判定に係る各処理は、上記実施形態と同様である。
【０１６４】
本実施形態では、ＥＣＵ５０は、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値に基づき、変換式を用いてエンジントルク監視マージンＭＲｅを演算する。また、ＥＣＵ５０は、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値を所定分配比で分配し、ＭＧ１トルク監視マージンＭＲｇおよびＭＧ２トルク監視マージンＭＲｍを演算する。
このように構成しても、上記実施形態と同様の効果を奏する。
【０１６５】
（第１０実施形態）
本発明の第１０実施形態は、構成等は第１実施形態と同様であり、監視マージンの演算方法が異なっている。
本実施形態の監視マージンの演算方法を図３３に示す。図３３では、ドライバ要求トルク超過量ＥｐおよびＭＧ１トルク超過量Ｅｇが０の場合を示している。
【０１６６】
図３３に示すように、本実施形態では、エンジントルク監視マージンＭＲｅおよびＭＧ１トルク監視マージンＭＲｇは、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値に所定の分配係数を乗じることにより演算される（式（１１）、（１２）参照）。
一方、ＭＧ２トルク監視マージンＭＲｍは、ＭＧ１トルク監視マージンＭＲｇに基づいて変換される。
【０１６７】
すなわち、本実施形態では、エンジントルク監視マージンＭＲｅおよびＭＧ１トルク監視マージンＭＲｇは、ドライバ要求トルク監視マージンＭＲｐに基づいて分配され、ＭＧ２トルク監視マージンＭＲｍは、ＭＧ１トルク監視マージンＭＲｇに基づいて変換される。
なお、異常判定に係る各処理は、上記実施形態と同様である。
【０１６８】
本実施形態では、ＥＣＵ５０は、ドライバ要求トルク監視マージンＭＲｐからドライバ要求トルク超過量Ｅｐを減算した値を所定分配比で分配し、エンジントルク監視マージンＭＲｅおよびＭＧ１トルク監視マージンＭＲｇを演算する。また、ＭＧ１トルク監視マージンＭＲｇからＭＧ１トルク超過量Ｅｇを減算した値に基づき、ＭＧ２トルク監視マージンＭＲｍを演算する。
【０１６９】
例えば、ＥＣＵ５０が、エンジン１０の駆動を制御するエンジンＥＣＵ、および、第１回転電機２１および第２回転電機２２の駆動を制御するＭＧ−ＥＣＵから構成される場合、まずエンジンＥＣＵにて用いられるエンジントルク監視マージンＭＲｅと、ＭＧ−ＥＣＵにて用いられるＭＧ１トルク監視マージンＭＲｇに分配する。そして、ＭＧ−ＥＣＵ内にてＭＧ１トルク監視マージンＭＲｇを変換し、ＭＧ２トルク監視マージンＭＲｍを演算することができる。この場合、ＭＧ１トルク指令値ＴｇからＭＧ２トルク指令値Ｔｍの演算を構成する各処理ごとに監視マージンを変換していき、より詳細に監視を行うようにしてもよい。
また、上記実施形態と同様の効果を奏する。
【０１７０】
（他の実施形態）
（ア）上記実施形態では、ドライバ要求トルク監視マージンＭＲｐは、予め記憶されている複数の候補値のうち、絶対値の最も小さいものとする。他の実施形態では、候補値が、急加速、急減速、逆進等の車両の駆動状態に応じて記憶されている場合、アクセルペダル、シフトスイッチ、ブレーキペダルの操作情報等を含むドライバ操作情報に基づいて候補値を選択してもよい。すなわち、「ドライバ要求トルク監視マージン設定手段は、ドライバ操作情報に基づき、ドライバ要求トルク監視マージンを設定する」ように構成してもよい、ということである。
【０１７１】
（イ）上記実施形態では、回転電機が２つである場合、エンジンを第１駆動源、第１回転電機を第２駆動源、第２回転電機を第３駆動源とする。他の実施形態では、第１駆動源、第２駆動源および第３駆動源は、エンジン、第１回転電機および第２回転電機をどのように対応させてもよい。
また、上記実施形態では、回転電機が１つである場合、エンジンを第１駆動源、回転電機を第２駆動源とする。他の実施形態では、回転電機を第１駆動源、エンジンを第２駆動源としてもよい。
【０１７２】
（ウ）第３実施形態および第７実施形態では、エンジントルク指令値の監視を省略する。他の実施形態では、ＭＧ１トルク指令値またはＭＧ２トルク指令値の監視を省略してもよい。
また、第４実施形態および第８実施形態では、エンジントルク指令値の監視を省略する。他の実施形態では、ＭＧトルク指令値の監視を省略してもよい。
【０１７３】
（エ）上記実施形態では、エンジントルク指令値は、蓄電池の充電要求分を除き、駆動軸および車輪の駆動に用いられるトルクに対応する値とする。他の実施形態では、エンジントルク指令値は、ＳＯＣや蓄電池を構成するセルの最低温度等に基づく蓄電池の充電要求分を含めてもよい。その場合、例えば第１実施形態の例では、エンジントルク指令値およびＭＧ１トルク指令値に基づき、駆動軸側に伝達される直達トルク指令値を演算する。また、直達トルク指令値についても直達トルク監視値を演算し、ドライバ要求トルク監視マージンＭＲｐに基づいて直達トルク監視マージンを設定し、直達トルク指令値の異常判定を行ってもよい。
【０１７４】
（オ）上記実施形態では、エンジントルクを用いて異常監視を行う。他の実施形態では、例えばエンジンをパワーで制御する場合、エンジントルクに替えて、エンジンパワーを用いて異常監視を行ってもよい。すなわち、エンジントルク指令値、エンジントルク監視値、エンジントルク監視マージンおよびエンジントルク超過量に替えて、エンジンパワー指令値、エンジンパワー監視値、エンジンパワー監視マージンおよびエンジンパワー超過量としてもよい。
【０１７５】
同様に、ドライバ要求トルク監視マージン、ＭＧ１トルク監視マージン、ＭＧ２トルク監視マージン、および、ＭＧトルク監視マージンについても、トルクに替えて、パワーとしてもよい。また、ドライバ要求トルク超過量、ＭＧ１トルク超過量、ＭＧ２トルク超過量、および、ＭＧトルク超過量についても、トルクに替えて、パワーとしてもよい。
【０１７６】
すなわち、ドライバ要求トルク監視マージンおよび駆動源監視マージンは、トルクに限らず、パワー等、どのような単位の値であってもよく、また適宜変換可能である。また、ドライバ要求トルク超過量および駆動源超過量は、トルクに限らず、パワー等、どのような単位の値であってもよく、また適宜変換可能である。
対応する監視マージンと超過量とが同じ単位であれば、容易に比較可能であるので、監視マージンと超過量の単位が異なる場合、監視マージンを超過量の単位に変換してもよいし、超過量を監視マージンの単位に変換してもよい。
【０１７７】
ここで、エンジンをパワーで制御し、第１回転電機および第２回転電機をトルクで制御し、ドライバ要求トルク監視マージンの単位がトルクである例について説明する。
例えば第１実施形態のように、ドライバ要求トルク監視マージンを各駆動源マージンに変換していく場合、ドライバ要求トルク超過量および駆動源超過量は、ドライバ要求トルク監視マージンと同一の単位（例えばトルクの単位であるＮｍ）に変換されることが望ましい。そこで、エンジンパワー超過量をトルクの単位に変換し、ドライバ要求トルク監視マージンから変換されるエンジントルク監視マージンと比較する。また、ドライバ要求トルク監視マージンの単位がトルクであれば、ドライバ要求トルク超過量、ＭＧ１トルク超過量およびＭＧ２トルク超過量は単位換算の必要はない。
すなわち、「ドライバ要求トルク超過量および駆動源超過量は、ドライバ要求トルク監視マージンおよび駆動源監視マージンと同一の単位に変換される」ということである。これにより、超過量とマージンとの比較が容易になる。
【０１７８】
また例えば、第５実施形態のように、ドライバ要求トルク監視マージンを各駆動源マージンに分配する場合、駆動源監視マージンは、各駆動源の制御に係る単位に変換することが望ましい。そこで、エンジンをパワーで制御する場合、エンジンパワー指令値の監視に係る監視マージンをパワーの単位に変換し、エンジンパワー超過量と比較する。また、ドライバ要求トルク監視マージンの単位がトルクであれば、ドライバ要求トルク超過量、ＭＧ１トルク超過量およびＭＧ２トルク超過量は単位換算の必要はない。
すなわち、「ドライバ要求トルク監視マージンは、ドライバ要求トルク超過量と同一の単位に変換され、駆動源監視マージンは、対応する駆動源超過量と同一の単位に変換される」ということである。これにより、超過量とマージンとの比較が容易になる。
【０１７９】
もちろん、ドライバ要求トルク監視マージンを各駆動源監視マージンに変換していく場合に監視マージンを超過量と同一の単位となるように変換してもよいし、ドライバ要求トルク監視マージンを各駆動源監視マージンに分配していく場合に超過量を監視マージンと同一の単位となるように変換してもよい。また、監視マージンと超過量の単位が、もともと同じである場合も「同一の単位に変換される」という概念に含まれるものとする。
回転電機が１つの場合についても同様である。
【０１８０】
（カ）上記第１実施形態〜第４実施形態では、監視マージンから超過量を減算した値が０より小さい場合、マージン超過異常であると判定する。他の実施形態では、各駆動源の超過量を積算し、積算値が監視マージンを超えた場合、マージン超過異常であると判定してもよい。監視マージンを分配する場合も同様、超過量が監視マージンを超えた場合、マージン超過異常であると判定してもよい。
【０１８１】
（キ）上記実施形態では、車両制御装置は１つのＥＣＵにより構成される。他の実施形態では、車両制御装置は複数のＥＣＵにより構成してもよい。例えば、車両制御装置は、エンジンの駆動を制御するエンジンＥＣＵおよび回転電機の駆動を制御するＭＧ−ＥＣＵとしてもよい。この場合、エンジンＥＣＵからＭＧ−ＥＣＵへ出力されるエンジントルク指令値の異常監視は、省略しないことが望ましい。
【０１８２】
（ク）上記実施形態では、回転電機は、永久磁石式同期型の３相交流回転電機である。他の実施形態では、誘導回転電機やその他の同期回転電機であってもよい。
（ケ）上記実施形態では、車両制御装置が、所謂「シリーズパラレルハイブリッド車」および「パラレルハイブリッド車」に適用される例を説明した。他の実施形態では、車両制御装置は、エンジンおよび回転電機を含む複数の駆動源を備える車両であれば、どのようなものに適用してもよい。また、上記実施形態の動力分割機構は遊星歯車機構により構成される。他の実施形態では、動力分割機構として、遊星歯車機構以外の電磁クラッチや流体継ぎ手等を用いてもよい。
以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。
【符号の説明】
【０１８３】
１・・・車両駆動システム
２・・・車両駆動システム
１０・・・エンジン（第１駆動源）
２１・・・第１回転電機（第２駆動源）
２２・・・第２回転電機（第３駆動源）
２５・・・回転電機（第２駆動源）
５０・・・ＥＣＵ（車両制御装置）
５５・・・ＥＣＵ（車両制御装置）
【図１】
2015020656.tif 000003
【図２】
2015020656.tif 000004
【図３】
2015020656.tif 000005
【図４】
2015020656.tif 000006
【図５】
2015020656.tif 000007
【図６】
2015020656.tif 000008
【図７】
2015020656.tif 000009
【図８】
2015020656.tif 000010
【図９】
2015020656.tif 000011
【図１０】
2015020656.tif 000012
【図１１】
2015020656.tif 000013
【図１２】
2015020656.tif 000014
【図１３】
2015020656.tif 000015
【図１４】
2015020656.tif 000016
【図１５】
2015020656.tif 000017
【図１６】
2015020656.tif 000018
【図１７】
2015020656.tif 000019
【図１８】
2015020656.tif 000020
【図１９】
2015020656.tif 000021
【図２０】
2015020656.tif 000022
【図２１】
2015020656.tif 000023
【図２２】
2015020656.tif 000024
【図２３】
2015020656.tif 000025
【図２４】
2015020656.tif 000026
【図２５】
2015020656.tif 000027
【図２６】
2015020656.tif 000028
【図２７】
2015020656.tif 000029
【図２８】
2015020656.tif 000030
【図２９】
2015020656.tif 000031
【図３０】
2015020656.tif 000032
【図３１】
2015020656.tif 000033
【図３２】
2015020656.tif 000034
【図３３】
2015020656.tif 000035