(57)【要約】【課題】車両の制御装置において、二つの制御演算部のうちの一方が異常の場合でも、正しい演算結果を出力して、車両の走行に支障をきたすことを防止できるようにする。【解決手段】第１の比較部３５で第１の制御演算部３１と第２の制御演算部３３の演算結果が一致しているか否かを判定する。また、第２の比較部３６で第１の制御演算部３１が正常か否かを判定し、第３の比較部３７で第２の制御演算部３３が正常か否かを判定する。判定部３８は、第１の比較部３５で第１の制御演算部３１と第２の制御演算部３３の演算結果が不一致と判定された場合に、第２及び第３の比較部３６，３７の判定結果に基づいて、二つの制御演算部３１，３３のうちの一方が異常で他方が正常な単一故障か否かを判定すると共に、単一故障と判定した場合には二つの制御演算部３１，３３のうちで正常な制御演算部を特定して、正常な制御演算部の演算結果を出力する。【選択図】図２
2016031631.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された駆動源（１０，１１，１２）を制御する車両の制御装置において、
前記駆動源（１０，１１，１２）を制御するための演算を行う第１の制御演算手段（３１）と、
前記第１の制御演算手段（３１）と同じ演算を行う第２の制御演算手段（３３）と、
前記第１の制御演算手段（３１）を監視するための演算を行う第１の監視演算手段（３２）と、
前記第２の制御演算手段（３３）を監視するための演算を行う第２の監視演算手段（３４）と、
前記第１の制御演算手段（３１）の演算結果と前記第２の制御演算手段（３３）の演算結果とが一致しているか否かを判定する第１の比較手段（３５）と、
前記第１の制御演算手段（３１）の演算結果と前記第１の監視演算手段（３２）の演算結果とを比較して前記第１の制御演算手段（３１）が正常か否かを判定する第２の比較手段（３６）と、
前記第２の制御演算手段（３３）の演算結果と前記第２の監視演算手段（３４）の演算結果とを比較して前記第２の制御演算手段（３３）が正常か否かを判定する第３の比較手段（３７）と、
前記第１の比較手段（３５）の判定結果と前記第２の比較手段（３６）の判定結果と前記第３の比較手段（３７）の判定結果とに基づいて前記第１の制御演算手段（３１）の演算結果と前記第２の制御演算手段（３３）の演算結果の出力の可否を判定する判定手段（３８）とを備え、
前記判定手段（３８）は、前記第１の比較手段（３５）で前記第１の制御演算手段（３１）の演算結果と前記第２の制御演算手段（３３）の演算結果とが一致していないと判定された場合に、前記第２の比較手段（３６）の判定結果と前記第３の比較手段（３７）の判定結果とに基づいて、前記第１の制御演算手段（３１）と前記第２の制御演算手段（３３）のうちの一方が異常で他方が正常な単一故障か否かを判定すると共に該単一故障と判定した場合には前記第１の制御演算手段（３１）と前記第２の制御演算手段（３３）のうちで正常な制御演算手段を特定して該正常な制御演算手段の演算結果を出力することを特徴とする車両の制御装置。
【請求項２】
前記第１の比較手段（３５）と前記第２の比較手段（３６）と前記第３の比較手段（３７）は、それぞれ多重で判定を行うことを特徴とする請求項１に記載の車両の制御装置。
【請求項３】
前記判定手段（３８）で前記単一故障と判定された場合に、前記車両の要求トルクを該車両の走行に支障をきたさない程度に弱く制限する弱トルク制限を行うトルク制限手段（３９）を備えていることを特徴とする請求項１又は２に記載の車両の制御装置。
【請求項４】
前記トルク制限手段（３９）は、前記車両のアクセル開度の変化に対する前記要求トルクの変化に遅れを持たせることで前記弱トルク制限を行うことを特徴とする請求項３に記載の車両の制御装置。
【請求項５】
前記トルク制限手段（３９）は、前記要求トルクを所定の上限ガード値で制限することで前記弱トルク制限を行うことを特徴とする請求項３に記載の車両の制御装置。
【請求項６】
前記トルク制限手段（３９）は、前記車両の走行中に前記判定手段（３８）で前記単一故障と判定された場合に、前記弱トルク制限によるトルク制限無しの状態からトルク制限有りの状態へ徐々に変化させることを特徴とする請求項３乃至５のいずれかに記載の車両の制御装置。
【請求項７】
前記トルク制限手段（３９）は、前記弱トルク制限を開始した後に前記車両の速度が所定値以下に低下したとき又は前記車両の制御システムの停止時或は停止後の起動時に、前記要求トルクを前記弱トルク制限よりも強く制限する強トルク制限に切り換えることを特徴とする請求項３乃至６のいずれかに記載の車両の制御装置。
【請求項８】
前記判定手段（３８）で前記単一故障と判定された場合に、異常の発生を報知する処理を行う異常報知手段（３９）を備えていることを特徴とする請求項１乃至７のいずれかに記載の車両の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された駆動源を制御する車両の制御装置に関する発明である。
【背景技術】
【０００２】
近年の電子制御化された車両においては、安全性を確保をする技術として、例えば、特許文献１（特開２００３−１５７４３号公報）に記載されたものがある。このものは、車両を制御するコンピュータのメインＣＰＵで入力データに基づいて各種の演算を実行すると共に、サブＣＰＵでメインＣＰＵと同じ演算処理を実行し、比較装置でメインＣＰＵの演算結果とサブＣＰＵの演算結果とを比較する。その結果、メインＣＰＵの演算結果とサブＣＰＵの演算結果とが一致した場合には、正常と判断して、このコンピュータのメインＣＰＵの演算結果を出力する。一方、メインＣＰＵの演算結果とサブＣＰＵの演算結果とが不一致の場合には、異常（故障）と判断して、このコンピュータのメインＣＰＵの演算結果とサブＣＰＵの演算結果を両方とも出力しない（別のコンピュータの演算結果を出力する）ようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１５７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、本出願人は、ハイブリッド車の安全性を確保するために、次のようなシステムを研究している。ハイブリッド車の駆動源（エンジンやモータ）を制御するＥＣＵ（電子制御ユニット）は、第１の制御演算部で駆動源を制御するための演算を実行すると共に、第２の制御演算部で第１の制御演算部と同じ演算を実行し、比較部で第１の制御演算部の演算結果と第２の制御演算部の演算結果とが一致しているか否かを判定する。更に、第１の監視部で第１の制御演算部が正常か否かを判定すると共に、第２の監視部で第２の制御演算部が正常か否かを判定する。その結果、第１の制御演算部の演算結果と第２の制御演算部の演算結果とが不一致の場合には、駆動源用の制御演算（駆動源を制御するための演算）の異常と判定して、第１の監視部や第２の監視部の判定結果に関係なく、第１の制御演算部の演算結果と第２の制御演算部の演算結果を両方とも出力しないようにする。更に、フェールセーフ処理として、例えば、モータ用の制御演算の異常と判定した場合には、モータを停止してエンジンの動力で走行し、エンジン用の制御演算の異常と判定した場合には、エンジンを停止してモータの動力で走行する。
【０００５】
しかし、第１の制御演算部の演算結果と第２の制御演算部の演算結果とが不一致の場合には、第１の制御演算部と第２の制御演算部のうちの一方のみが異常で他方が正常な場合もある。このような場合、上記システムでは、他方の制御演算部が正常であるにも拘らず、その正常な制御演算部を特定することができないため、正常な制御演算部の演算結果（正しい演算結果）を出力することができない。このため、フェールセーフ処理により車両の駆動力が大きく制限されてしまい、車両の走行に支障をきたしてしまう可能性がある。
【０００６】
そこで、本発明が解決しようとする課題は、二つの制御演算手段のうちの一方が異常の場合でも、正しい演算結果を出力することができ、車両の走行に支障をきたすことを防止することができる車両の制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に係る発明は、車両に搭載された駆動源（１０，１１，１２）を制御する車両の制御装置において、駆動源（１０，１１，１２）を制御するための演算を行う第１の制御演算手段（３１）と、この第１の制御演算手段（３１）と同じ演算を行う第２の制御演算手段（３３）と、第１の制御演算手段（３１）を監視するための演算を行う第１の監視演算手段（３２）と、第２の制御演算手段（３３）を監視するための演算を行う第２の監視演算手段（３４）と、第１の制御演算手段（３１）の演算結果と第２の制御演算手段（３３）の演算結果とが一致しているか否かを判定する第１の比較手段（３５）と、第１の制御演算手段（３１）の演算結果と第１の監視演算手段（３２）の演算結果とを比較して第１の制御演算手段（３１）が正常か否かを判定する第２の比較手段（３６）と、第２の制御演算手段（３３）の演算結果と第２の監視演算手段（３４）の演算結果とを比較して第２の制御演算手段（３３）が正常か否かを判定する第３の比較手段（３７）と、第１の比較手段（３５）の判定結果と第２の比較手段（３６）の判定結果と第３の比較手段（３７）の判定結果とに基づいて第１の制御演算手段（３１）の演算結果と第２の制御演算手段（３３）の演算結果の出力の可否を判定する判定手段（３８）とを備え、判定手段（３８）は、第１の比較手段（３５）で第１の制御演算手段（３１）の演算結果と第２の制御演算手段（３３）の演算結果とが一致していないと判定された場合に、第２の比較手段（３６）の判定結果と第３の比較手段（３７）の判定結果とに基づいて、第１の制御演算手段（３１）と第２の制御演算手段（３３）のうちの一方が異常で他方が正常な単一故障か否かを判定すると共に該単一故障と判定した場合には第１の制御演算手段（３１）と第２の制御演算手段（３３）のうちで正常な制御演算手段を特定して該正常な制御演算手段の演算結果を出力するようにしたものである。
【０００８】
このようにれば、第１の制御演算手段と第２の制御演算手段のうちの一方のみが異常で他方が正常な単一故障が発生した場合に、第１の制御演算手段と第２の制御演算手段のうちで正常な制御演算手段を特定して、正常な制御演算手段の演算結果（正しい演算結果）を出力することが可能となる。これにより、同じ演算を行う二つの制御演算手段のうちの一方が異常な場合に、他方の制御演算手段が正常であるにも拘らず、正しい演算結果を出力できない事態を回避して、正しい演算結果を出力することができ、車両の走行に支障をきたすことを防止することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は本発明の実施例１におけるハイブリッド車の駆動制御システムの概略構成を示す図である。
【図２】図２はＥＣＵの制御演算の監視機能を示すブロック図である。
【図３】図３は判定部の判定方法を説明する図である。
【図４】図４は実施例１のフェールセーフ処理を説明する図である。
【図５】図５は実施例１の弱トルク制限を説明するタイムチャートである。
【図６】図６は実施例２のハイブリッド車の駆動制御システムの概略構成を示す図である。
【図７】図７は実施例２のフェールセーフ処理を説明する図である。
【図８】図８は実施例３の弱トルク制限を説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１１】
本発明の実施例１を図１乃至図５に基づいて説明する。
まず、図１に基づいてハイブリッド車の駆動制御システムの概略構成を説明する。
車両の駆動源（動力源）として内燃機関であるエンジン１０と第１のモータジェネレータ（以下「第１のＭＧ」と表記する）１１と第２のモータジェネレータ（以下「第２のＭＧ」と表記する）１２が搭載されている。エンジン１０の出力軸（クランク軸）と第１のＭＧ１１の回転軸と第２のＭＧ１２の回転軸とが動力分割機構１３（例えば遊星ギヤ機構）を介して連結されると共に、第２のＭＧ１２の回転軸が減速ギヤ機構１４等を介して車軸１５に連結され、この車軸１５に車輪１６が連結されている。
【００１２】
第１のＭＧ１１を駆動する第１のインバータ１７と第２のＭＧ１２を駆動する第２のインバータ１８がそれぞれバッテリ１９に接続され、各ＭＧ１１，１２がそれぞれインバータ１７，１８を介してバッテリ１９と電力を授受するようになっている。
【００１３】
また、アクセルセンサ２０によってアクセル開度（アクセルペダルの操作量）が検出され、シフトスイッチ２１によってシフトレバーの操作位置が検出される。更に、ブレーキスイッチ２２によってブレーキ操作（又はブレーキセンサによってブレーキ操作量）が検出され、車速センサ２３によって車速が検出される。
【００１４】
ハイブリッドＥＣＵ２４は、車両全体を総合的に制御するコンピュータであり、上述した各種のセンサやスイッチの出力信号を読み込んで、車両の運転状態を検出する。このハイブリッドＥＣＵ２４は、エンジン１０を制御するエンジンＥＣＵ２５と、第１のインバータ１７を制御して第１のＭＧ１１を制御する第１のＭＧ−ＥＣＵ２６と、第２のインバータ１８を制御して第２のＭＧ１２を制御する第２のＭＧ−ＥＣＵ２７との間で制御信号やデータ信号を送受信する。ハイブリッドＥＣＵ２４は、各ＥＣＵ２５〜２７によって車両の運転状態に応じてエンジン１０と第１及び第２のＭＧ１１，１２等を制御する。
【００１５】
次に、図２に基づいて各ＥＣＵ２４〜２７の制御演算の監視機能について説明する。尚、各ＥＣＵ２４〜２７の制御演算の監視機能は、実質的に同じ構成であるため、共通の図面（図２）を用いて説明する。
【００１６】
図２に示すように、各ＥＣＵ２４〜２７のＣＰＵ２８には、それぞれ第１のコア２９と第２のコア３０が設けられている。第１のコア２９は、第１の制御演算部３１（第１の制御演算手段）で、入力データに基づいてエンジン１０やＭＧ１１，１２を制御するための演算（例えばエンジン１１やＭＧ１１，１２の制御値の演算）を実行する。また、第１の監視演算部３２（第１の監視演算手段）で、入力データに基づいて第１の制御演算部３１を監視するための演算（例えば第１の制御演算部３１の正常／異常を判定するための判定値の演算）を実行する。
【００１７】
一方、第２のコア３０は、第２の制御演算部３３（第２の制御演算手段）で、第１の制御演算部３１と同じ演算、つまり、入力データに基づいてエンジン１０やＭＧ１１，１２を制御するための演算を実行する。また、第２の監視演算部３４（第２の監視演算手段）で、入力データに基づいて第２の制御演算部３３を監視するための演算（例えば第２の制御演算部３３の正常／異常を判定するための判定値の演算）を実行する。
【００１８】
尚、ハイブリッドＥＣＵ２４の場合には、第１及び第２の制御演算部３１，３３で、エンジン１０を制御するための演算（例えばエンジン１０の制御値の演算）と、第１のＭＧ１１を制御するための演算（例えば第１のＭＧ１１の制御値の演算）と、第２のＭＧ１２を制御するための演算（例えば第２のＭＧ１２の制御値の演算）を実行する。エンジンＥＣＵ２５の場合には、第１及び第２の制御演算部３１，３３で、エンジン１０を制御するための演算を実行する。第１のＭＧ−ＥＣＵ２６の場合には、第１及び第２の制御演算部３１，３３で、第１のＭＧ１１を制御するための演算を実行する。第２のＭＧ−ＥＣＵ２７の場合には、第１及び第２の制御演算部３１，３３で、第２のＭＧ１２を制御するための演算を実行する。
【００１９】
更に、ＣＰＵ２８は、第１の比較部３５（第１の比較手段）で、第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果とが一致しているか否かを判定する。また、第２の比較部３６（第２の比較手段）で、第１の制御演算部３１の演算結果と第１の監視演算部３２の演算結果とを比較して第１の制御演算部３１が正常か否かを判定する。更に、第３の比較部３７（第３の比較手段）で、第２の制御演算部３３の演算結果と第２の監視演算部３４の演算結果とを比較して第２の制御演算部３３が正常か否かを判定する。尚、第１〜第３の比較部３５〜３７は、それぞれロックステップコア（例えば二つのコアが互いの動作を監視するデュアルロックステップコア）により多重（例えば二重）で判定を行うようになっている。
【００２０】
この後、判定部３８（判定手段）で、第１の比較部３５の判定結果と第２の比較部３６の判定結果と第３の比較部３７の判定結果とに基づいて、第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果の出力の可否を判定する。尚、判定部３８は、ロックステップコア（例えば二つのコアが互いの動作を監視するデュアルロックステップコア）により多重（例えば二重）で判定を行うようになっている。
【００２１】
この判定部３８の判定方法を図３を用いて説明する。
ここで、第１の比較部３５の判定結果が「○」は「第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果とが一致している」と判定したことを意味し、第１の比較部３５の判定結果が「×」は「第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果とが不一致（一致していない）」と判定したことを意味する。
【００２２】
第２の比較部３６の判定結果が「○」は「第１の制御演算部３１が正常」と判定したことを意味し、第２の比較部３６の判定結果が「×」は「第１の制御演算部３１が異常」と判定したことを意味する。
【００２３】
第３の比較部３７の判定結果が「○」は「第２の制御演算部３３が正常」と判定したことを意味し、第３の比較部３７の判定結果が「×」は「第２の制御演算部３３が異常」と判定したことを意味する。
【００２４】
(a) 第１〜第３の比較部３５〜３７の判定結果が全て「○」の場合には、第１の制御演算部３１と第２の制御演算部３３が両方とも正常と判定して、第１の制御演算部３１の演算結果を出力する（或は第２の制御演算部３３の演算結果を出力するようにしても良い）。
【００２５】
(b) 第１の比較部３５の判定結果が「○」で、第２及び第３の比較部３６，３７の判定結果が両方とも「×」の場合には、第２及び第３の比較部３６，３７のシステマティック異常（ソフトウエアのバグのように特定の状況で必ず発生する異常）と判断して、第１の制御演算部３１と第２の制御演算部３３が両方とも正常と判定する。この場合、第１の制御演算部３１の演算結果を出力する（又は第２の制御演算部３３の演算結果を出力するようにしても良い）。
【００２６】
(c),(d) 第１の比較部３５の判定結果が「○」で、第２の比較部３６の判定結果と第３の比較部３７の判定結果のうちの一方が「○」で他方が「×」の場合には、第１の制御演算部３１と第２の制御演算部３３の正常／異常を特定できず、多重故障が発生していると判定する。この場合、第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果を両方とも出力しない。尚、(c) 第１の比較部３５の判定結果が「○」で第２の比較部３６の判定結果が「○」で第３の比較部３７の判定結果が「×」の場合の多重故障としては、例えば、第１の比較部３５の二重故障及び第２の制御演算部３３の異常、又は、第２の比較部３６の二重故障、又は、第３の比較部３７の二重故障等が考えられる。一方、(d) 第１の比較部３５の判定結果が「○」で第２の比較部３６の判定結果が「×」で第３の比較部３７の判定結果が「○」の場合の多重故障としては、例えば、第１の比較部３５の二重故障及び第１の制御演算部３１の異常、又は、第２の比較部３６の二重故障、又は、第３の比較部３７の二重故障等が考えられる。
【００２７】
(e) 第１〜第３の比較部３５〜３７の判定結果が全て「×」の場合には、第２及び第３の比較部３６，３７のシステマティック異常と判断できるが、第１の制御演算部３１と第２の制御演算部３３の正常／異常を特定できず、多重故障が発生していると判定する。この場合、第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果を両方とも出力しない。この場合の多重故障としては、例えば、第１の比較部３５の二重故障及び比較部３６，３７のシステマティック異常、又は、制御演算部３１，３３の異常等が考えられる。
【００２８】
(f),(g) 第１の比較部３５の判定結果が「×」で、第２の比較部３６の判定結果と第３の比較部３７の判定結果のうちの一方が「○」で他方が「×」の場合には、第１の制御演算部３１と第２の制御演算部３３のうちの一方が異常で他方が正常な単一故障が発生していると判定する。この場合、(f) 第２の比較部３６の判定結果が「○」で第３の比較部３７の判定結果が「×」であれば、第１の制御演算部３１が正常（第２の制御演算部３３が異常）と特定して、第１の制御演算部３１の演算結果を出力する。一方、(g) 第２の比較部３６の判定結果が「×」で第３の比較部３７の判定結果が「○」であれば、第２の制御演算部３３が正常（第１の制御演算部３１が異常）と特定して、第２の制御演算部３３の演算結果を出力する。
【００２９】
(h) 第１の比較部３５の判定結果が「×」で、第２及び第３の比較部３６，３７の判定結果が両方とも「○」の場合には、第１の制御演算部３１と第２の制御演算部３３の正常／異常を特定できず、多重故障が発生していると判定する。この場合、第１の制御演算部３１の演算結果と第２の制御演算部３３の演算結果を両方とも出力しない。この場合の多重故障としては、例えば、第１の比較部３５の二重故障及び第２の比較部３６の二重故障、又は、第１の比較部３５の二重故障及び第３の比較部３７の二重故障等が考えられる。
【００３０】
また、本実施例１では、多重故障と判定された場合には、フェールセーフ部３９（図２参照）で、多重故障時のフェールセーフ処理を実行する。一方、単一故障と判定された場合には、フェールセーフ部３９で、単一故障時のフェールセーフ処理を実行する。尚、フェールセーフ部３９は、ＣＰＵ２８とは別の回路で設けるようにしても良い。また、多重故障時のフェールセーフ処理を実行するフェールセーフ部と、単一故障時のフェールセーフ処理を実行するフェールセーフ部とを別々に設けるようにしても良い。
【００３１】
図４に示すように、多重故障時のフェールセーフ処理では、(1) エンジン１０又は第１のＭＧ１１を制御するための演算で異常が発生した場合（エンジン１０又は第１のＭＧ１１の制御値の出力を停止した場合）には、エンジン１０及び第１のＭＧ１１を停止して、第２のＭＧ１２の動力で走行する。この場合、車両の最大駆動トルクが第２のＭＧ１２の最大トルクＴmax(mg2)に制限される。
【００３２】
一方、(2) 第２のＭＧ１２を制御するための演算で異常が発生した場合（第２のＭＧ１２の制御値の出力を停止した場合）には、第２のＭＧ１２を停止して、エンジン１０及び第１のＭＧ１１の動力で走行する。この場合、車両の最大駆動トルクがエンジン１０と第１のＭＧ１１の動力分割機構１３（例えば遊星ギヤ機構）を介して伝達される最大トルク（＝直行トルク）Ｔmax(eng,mg1)に制限される。
【００３３】
更に、多重故障時のフェールセーフ処理では（つまり多重故障と判定された場合には）、異常の発生を報知する異常報知処理（例えば、警告ランプの点灯又は点滅、警告表示部での警告表示、警告音又は音声の出力等）を行う。
【００３４】
一方、単一故障時のフェールセーフ処理では、車両の要求トルクを該車両の走行に支障をきたさない程度に弱く制限する弱トルク制限を行う。これにより、車両の走行に支障をきたすことを防止しながら、弱トルク制限により運転者に多少の違和感を感じさせて異常（単一故障）の発生を知らせる。具体的には、図５に示すように、車両のアクセル開度の増加時にアクセル開度の変化（増加）に対する要求トルクの変化（増加）に遅れを持たせることで弱トルク制限を行う。この場合、例えば、アクセル開度等に基づいて算出される要求トルク（正常時の要求トルク）に一次遅れ処理又はなまし処理等を施すことで要求トルクの変化に遅れを持たせる。これにより、異常（単一故障）の発生時でも、車両の最大駆動トルクを正常時と同レベルに維持することができる（図４参照）。
【００３５】
更に、単一故障時のフェールセーフ処理では（つまり単一故障と判定された場合には）、異常の発生を報知する異常報知処理（例えば、警告ランプの点灯又は点滅、警告表示部での警告表示、警告音又は音声の出力等）を行う。本実施例１では、フェールセーフ部３９が特許請求の範囲でいうトルク制限手段及び異常報知手段としての役割を果たす。
【００３６】
ところで、車両の走行中に単一故障と判定された場合に、弱トルク制限によるトルク制限無しの状態からトルク制限有りの状態へステップ的に切り換えると、要求トルクが急変して、トルクショック（トルク変動によるショック）が発生する可能性がある。
【００３７】
そこで、フェールセーフ部３９は、車両の走行中に単一故障と判定された場合に、弱トルク制限によるトルク制限無しの状態からトルク制限有りの状態へ徐々に変化させるようにしている。この場合、例えば、トルク制限度合（アクセル開度の変化に対する要求トルクの変化の遅れ）を徐々に増加させる。
【００３８】
また、フェールセーフ部３９は、弱トルク制限を開始した後、車両が安全な状態になったとき、具体的には、車両の速度が所定値以下（例えば２０ｋｍ／ｈ以下）に低下したとき又は車両の制御システムの停止時（或は停止後の起動時）に、弱トルク制限から強トルク制限に切り換えるようにしている。この強トルク制限では、要求トルクを弱トルク制限よりも強く制限する（例えば要求トルクの上限値を退避走行が可能な程度まで低下させる）。
【００３９】
尚、多重故障時又は単一故障時のフェールセーフ処理を開始した後、第１〜第３の比較部３５〜３７の判定結果が全て「○」になった場合には、フェールセーフ処理を終了して、通常制御に復帰する。
【００４０】
以上説明した本実施例１では、第１の比較部３５の判定結果が「×」で、第２の比較部３６の判定結果と第３の比較部３７の判定結果のうちの一方が「○」で他方が「×」の場合には、第１の制御演算部３１と第２の制御演算部３３のうちの一方が異常で他方が正常な単一故障が発生していると判定する。この場合、第２の比較部３６の判定結果が「○」で第３の比較部３７の判定結果が「×」であれば、第１の制御演算部３１が正常（第２の制御演算部３３が異常）と特定して、第１の制御演算部３１の演算結果を出力する。一方、第２の比較部３６の判定結果が「×」で第３の比較部３７の判定結果が「○」であれば、第２の制御演算部３３が正常（第１の制御演算部３１が異常）と特定して、第２の制御演算部３３の演算結果を出力する。
【００４１】
このようにれば、第１の制御演算部３１と第２の制御演算部３３のうちの一方のみが異常で他方が正常な単一故障が発生した場合に、第１の制御演算部３１と第２の制御演算部３３のうちで正常な制御演算部を特定して、正常な制御演算部の演算結果（正しい演算結果）を出力することが可能となる。これにより、同じ演算を行う二つの制御演算部３１，，３３のうちの一方が異常な場合に、他方の制御演算部が正常であるにも拘らず、正しい演算結果を出力できない事態を回避して、正しい演算結果を出力することができ、車両の走行に支障をきたすことを防止することができる。
【００４２】
また、本実施例１では、第１〜第３の比較部３５〜３７，判定部３８は、それぞれロックステップコアにより多重（例えば二重）で判定を行うようにしているため、各比較部３５〜３７，判定部３８の判定結果の信頼性を高めることができる。
【００４３】
また、本実施例１では、単一故障と判定された場合に、単一故障時のフェールセーフ処理を実行する。この単一故障時のフェールセーフ処理では、車両の要求トルクを該車両の走行に支障をきたさない程度に弱く制限する弱トルク制限を行うようにしている。このようにすれば、車両の走行に支障をきたすことを防止しながら、弱トルク制限により運転者に多少の違和感を感じさせて異常（単一故障）の発生を知らせることができる。これにより、運転者に車両の修理を促すことができ、異常（単一故障）が放置され続けて多重故障に至ることを防止することができる。
【００４４】
この場合、本実施例１では、車両のアクセル開度の増加時にアクセル開度の変化（増加）に対する要求トルクの変化（増加）に遅れを持たせることで弱トルク制限を行うようにしている。このようにすれば、異常（単一故障）の発生時でも、車両の最大駆動トルクを正常時と同レベルに維持しながら、トルクの変化遅れによって運転者に違和感を感じさせて、異常（単一故障）の発生を知らせることができる。
【００４５】
また、本実施例１では、車両の走行中に単一故障と判定された場合に、弱トルク制限によるトルク制限無しの状態からトルク制限有りの状態へ徐々に変化させるようにしている。このようにすれば、車両の走行中に単一故障と判定された場合に、要求トルクが急変することを防止して、トルクショックの発生を抑制することができる。
【００４６】
更に、本実施例１では、弱トルク制限を開始した後に車両の速度が所定値以下に低下したとき又は車両の制御システムの停止時（或は停止後の起動時）に、弱トルク制限から強トルク制限に切り換えるようにしている。このようにすれば、車両が高速走行から低速走行になったときや車両の運転を終了したときのように、一度、安全な状態になった後は、強トルク制限により要求トルクを強く制限して、異常（単一故障）が発生したまま通常走行し続けることを防止することができる。
【００４７】
また、本実施例１では、単一故障と判定された場合に、異常の発生を報知する異常報知処理（例えば、警告ランプの点灯又は点滅、警告表示部での警告表示、警告音又は音声の出力等）を行うようにしている。このようにすれば、異常報知処理によって運転者に異常（単一故障）の発生を確実に知らせることができる。
【実施例２】
【００４８】
次に、図６及び図７を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【００４９】
前記実施例１では、車両の駆動源としてエンジン１０と二つのＭＧ１１，１２が搭載されていたが、本実施例２では、図６に示すように、車両の駆動源としてエンジン１０と一つのＭＧ１１が搭載されている。エンジン１０の出力軸（クランク軸）の動力がＭＧ１１等を介して変速機４０に伝達され、この変速機４０の出力軸の動力がディファレンシャルギヤ機構４１や車軸１５等を介して車輪１６に伝達される。エンジン１０の動力を車輪１６に伝達する動力伝達系のうちのエンジン１０と変速機４０との間に、ＭＧ１１の回転軸が動力伝達可能に連結されている。更に、エンジン１０とＭＧ１１との間に、動力伝達を断続するための第１のクラッチ４２が設けられ、ＭＧ１１と変速機４０との間に、動力伝達を断続するための第２のクラッチ４３が設けられている。
【００５０】
ハイブリッドＥＣＵ２４は、エンジン１０を制御するエンジンＥＣＵ２５と、インバータ１７を制御してＭＧ１１を制御するＭＧ−ＥＣＵ２６との間で制御信号やデータ信号を送受信し、各ＥＣＵ２５，２６によって車両の運転状態に応じてエンジン１０とＭＧ１１，等を制御する。
各ＥＣＵ２４〜２６の制御演算の監視機能は、前記実施例１と同じである（図２及び図３参照）。
【００５１】
本実施例２では、図７に示すように、多重故障時のフェールセーフ処理では、(1) エンジン１０を制御するための演算で異常が発生した場合（エンジン１０の制御値の出力を停止した場合）には、エンジン１０を停止して、ＭＧ１１の動力で走行する。この場合、車両の最大駆動トルクがＭＧ１１の最大トルクＴmax(mg) に制限される。一方、(2) ＭＧ１１を制御するための演算で異常が発生した場合（ＭＧ１１の制御値の出力を停止した場合）には、ＭＧ１１を停止して、エンジン１０の動力で走行する。この場合、車両の最大駆動トルクがエンジン１０の最大トルクＴmax(eng)に制限される。
【００５２】
一方、単一故障時のフェールセーフ処理では、前記実施例１と同じように、車両のアクセル開度の増加時にアクセル開度の変化（増加）に対する要求トルクの変化（増加）に遅れを持たせることで弱トルク制限を行う（図５参照）。これにより、異常（単一故障）の発生時でも、車両の最大駆動トルクを正常時と同レベルに維持することができる（図７参照）。
【００５３】
以上説明した本実施例２においても、前記実施例１とほぼ同じ効果を得ることができる。
【実施例３】
【００５４】
次に、図８を用いて本発明の実施例３を説明する。但し、前記実施例１，２と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１，２と異なる部分について説明する。
【００５５】
本実施例３では、単一故障時のフェールセーフ処理で弱トルク制限を行う際に、図８に示すように、要求トルクを所定の上限ガード値で制限することで弱トルク制限を行うようにしている。この上限ガード値は、例えば、高速走行等に支障をきたさないように、多重故障時のフェールセーフ処理を実行した場合のトルク上限値（一部の駆動源を停止したときの最大トルク）よりも大きい値に設定されている。このようすれば、トルク上限値の低下によって運転者に違和感を感じさせて、異常（単一故障）の発生を知らせることができる。
【００５６】
尚、上記各実施例１〜３では、単一故障と判定された場合に、弱トルク制限と異常報知処理を両方とも実行するようにしたが、これに限定されず、弱トルク制限と異常報知処理のうちの一方のみを実行するようにしても良い。
【００５７】
また、上記各実施例１〜３では、エンジンとＭＧの両方を駆動源とするハイブリッド車に本発明を適用したが、これに限定されず、エンジンのみを駆動源とする車両やモータのみを動力源とする電気自動車に本発明を適用して実施しても良い。
【符号の説明】
【００５８】
１０…エンジン（駆動源）、１１，１２…ＭＧ（駆動源）、３１…第１の制御演算部（第１の制御演算手段）、３２…第１の監視演算部（第１の監視演算手段）、３３…第２の制御演算部（第２の制御演算手段）、３４…第２の監視演算部（第２の監視演算手段）、３５…第１の比較部（第１の比較手段）、３６…第２の比較部（第２の比較手段）、３７…第３の比較部（第３の比較手段）、３８…判定部（判定手段）、３９…フェールセーフ部（トルク制限手段，異常報知手段）
【図１】
2016031631.tif 000003
【図２】
2016031631.tif 000004
【図３】
2016031631.tif 000005
【図４】
2016031631.tif 000006
【図５】
2016031631.tif 000007
【図６】
2016031631.tif 000008
【図７】
2016031631.tif 000009
【図８】
2016031631.tif 000010