(57)【特許請求の範囲】
【請求項１】
判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生したか否かを判定する挙動判定手段と、
前記判定条件を満たす前記車両挙動が前記判定期間よりも長く継続して発生したと前記挙動判定手段が判定すると、そのときの車両の走行情報を記憶部に記憶する走行情報記憶手段と、
前記判定条件を満たす前記車両挙動が前記判定期間よりも長く継続して発生したと前記挙動判定手段が判定すると、前記判定期間を延長する期間変更手段と、
を備えることを特徴とする電子制御装置。
【請求項２】
前記期間変更手段は、前記判定期間を所定の固定長で延長することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記期間変更手段は、前記判定条件を満たす前記車両挙動が前記判定期間よりも長く継続して発生した継続期間を前記判定期間とすることを特徴とする請求項１に記載の電子制御装置。
【請求項４】
前記期間変更手段は、前記判定期間を延長すると上限値を超える場合、前記上限値を前記判定期間とすることを特徴とする請求項１から３のいずれか一項に記載の電子制御装置。
【請求項５】
前記判定条件を満たす前記車両挙動が前記判定期間よりも長く継続して発生したと前記挙動判定手段が判定すると、前記車両挙動が前記判定条件を満たすことが困難な方向に前記判定条件の閾値を変更する条件変更手段をさらに備えることを特徴とする請求項１から４のいずれか一項に記載の電子制御装置。
【請求項６】
前記条件変更手段は、前記閾値を変更すると限界値を超える場合、前記限界値を前記閾値とすることを特徴とする請求項５に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両挙動の発生原因を解析するために車両の走行情報を記憶する電子制御装置に関する。
【背景技術】
【０００２】
従来、特許文献１に開示されているように、車両に搭載された各種センサの検出信号から、車両挙動を診断し、発生原因を解析する技術が知られている。また、衝突等により車両に衝撃が加わったときに、衝突前後の各種センサの出力情報を走行情報として記憶する技術が公知である。
【０００３】
また、センサやアクチュエータに異常が発生した場合に、異常状態に対応したダイアグコードと、そのときの時間軸に沿ったセンサ出力や制御データを走行情報（フリーズフレームデータ）として記憶することが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５７５４９６５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ダイアグコードおよびフリーズフレームデータはセンサやアクチュエータ等に異常が発生したときに記憶されるので、例えば、センサおよびアクチュエータに異常は発生しておらず正常であるが、運転者の通常の運転操作では発生しないと考えられる異常な車両挙動が発生したときに、そのときの走行情報を記憶できない。その結果、異常な車両挙動が発生しても、その原因を走行情報に基づいて解析できないという問題がある。
【０００６】
本発明は、上記課題を解決するためになされたものであり、判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生すると、そのときの走行情報を記憶して車両挙動が発生した原因を解析可能とするとともに、不要な走行情報の記憶を抑制する電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願発明者は、所定の判定条件を満たす車両挙動、特に通常の運転操作では発生しないと考えられる異常な車両挙動が所定の判定期間よりも長く継続して発生すると、そのときの走行情報を記憶しておき、記憶した走行情報に基づいて、異常な車両挙動の発生原因を解析する技術について検討した。
【０００８】
その結果、本願発明者は、例えば、車両の運転特性や、運転者の運転操作の傾向によっては、判定条件を満たし判定期間よりも長く継続する車両挙動が繰り返し発生し、走行情報が繰り返し記憶される可能性があることに思い至った。
【０００９】
走行情報が繰り返し記憶されると、記憶容量に制限がある場合に走行情報が上書きされることになる。その結果、通常の運転操作では発生しないと考えられる異常な車両挙動が発生したときに記憶した必要な走行情報が上書きされ、異常な車両挙動の発生原因を解析できないという問題が生じる。
【００１０】
走行情報が繰り返し記憶されることを防止するために、車両の運転特性または運転者の運転操作の傾向に適合させて判定条件または判定期間を設定することが考えられるが、すべての車両の運転特性および運転者の運転操作の傾向に適合させることは困難である。
【００１１】
そこで、請求項１から６に記載の発明によると、判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生したと挙動判定手段が判定すると、走行情報記憶手段は、そのときの車両の走行情報を記憶部に記憶し、期間変更手段は、判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生したと挙動判定手段が判定すると、判定期間を延長する。
【００１２】
これにより、判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生すると、そのときの走行情報が記憶されるので、記憶された走行情報に基づいて、異常な車両挙動が発生した原因を解析できる。
【００１３】
さらに、判定期間を延長することにより、同じ判定条件を満たす車両挙動が発生しても、今回よりも長い期間継続して発生しないと走行情報は記憶部に記憶されない。これにより、走行情報が記憶部に記憶されにくくなるので、不要な走行情報の記憶を抑制できる。
【００１４】
請求項２に記載の発明によると、期間変更手段は、判定期間を所定の固定長で延長する。
このように、判定条件の実際の継続期間が固定長で延長した判定期間より長い場合にも固定長単位で判定期間を徐々に延長していくので、判定条件の継続期間が長い車両挙動が突発的に発生しても、判定期間が急激に長く設定されることを防止する。これにより、判定期間が急激に長く設定されたために、それよりも継続期間は短いが発生原因を解析する必要のある車両挙動が発生したときに走行情報が記憶されないことを防止できる。
【００１５】
請求項３に記載の発明によると、期間変更手段は、判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生した継続期間を判定期間とする。
このように、判定条件を満たす異常な車両挙動が実際に継続して発生した継続期間を判定期間とするので、車両挙動の実際の発生状態に合わせて高精度に判定期間を設定できる。また、実際に継続して発生した継続期間よりも長く判定条件を満たす車両挙動が発生しないと走行情報は記憶されないので、走行情報が繰り返し記憶されることを極力抑制できる。
【００１６】
請求項４に記載の発明によると、期間変更手段は、判定期間を延長すると上限値を超える場合、上限値を判定期間とする。これにより、明らかに異常な車両挙動が発生した場合は走行情報を記憶できるように、無制限に判定期間が長くなることを防止する。
【００１７】
請求項５に記載の発明によると、判定条件を満たす車両挙動が判定期間よりも長く継続して発生したと挙動判定手段が判定すると、条件変更手段は、車両挙動が判定条件を満たすことが困難な方向に判定条件の閾値を変更する。
【００１８】
このように、判定期間よりも長く継続して車両挙動が発生しても、今回よりも発生の困難な方向に設定された判定条件を満たさないと、走行情報は記憶部に記憶されない。これにより、走行情報が記憶部に記憶されにくくなるので、不要な走行情報の記憶を抑制できる。
【００１９】
請求項６に記載の発明によると、条件変更手段は、判定条件の閾値を変更すると限界値を超える場合、限界値を閾値とする。これにより、明らかに異常な車両挙動が発生した場合は走行情報を記憶できるように、判定条件の閾値が車両挙動の発生が困難な方向に無制限に変更されることを防止する。
【００２０】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００２１】
【図１】本実施形態による電子制御装置を示すブロック図。
【図２】走行情報記憶処理１を示すフローチャート。
【図３】（Ａ）はエンジン停止時の判定期間の学習値記憶処理１を示すフローチャート、（Ｂ）はエンジン始動時の判定期間の学習値設定処理１を示すフローチャート。
【図４】走行情報記憶処理２を示すフローチャート。
【図５】走行情報記憶処理３を示すフローチャート。
【図６】（Ａ）はエンジン停止時の判定期間および判定条件の学習値記憶処理２を示すフローチャート、（Ｂ）はエンジン始動時の判定期間および判定条件の学習値設定処理２を示すフローチャート。
【図７】走行情報記憶処理４を示すフローチャート。
【図８】エンジン停止時の判定期間の学習値記憶処理３を示すフローチャート。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図に基づいて説明する。
図１に、車両に搭載される本実施形態の電子制御装置（ＥＣＵ：Electronic Control Unit）２０を用いた車両診断システム１０を示す。車両診断システム１０は、ＥＣＵ２０と、診断ツール１００とから構成されている。
【００２３】
ＥＣＵ２０は、例えば、インジェクタの噴射制御および点火プラグの点火制御を行うエンジンＥＣＵであり、ＣＰＵ２２、ＲＯＭ２４、ＲＡＭ２６、ＳＲＡＭ（スタンバイＲＡＭ）２８、ＥＥＰＲＯＭ３０、入力回路４０、出力回路４２および通信回路５０等から構成されている。
【００２４】
ＥＣＵ２０は、ＲＯＭ２４に記憶されている制御プログラムをＣＰＵ２２が実行することにより、アクセル開度、エンジン回転数、車速、クランク角、ブレーキ信号、イグニション信号等を各種センサ等から入力回路４０を介して入力する。そして、これらセンサの検出信号に基づいて、図示しないインジェクタの噴射制御、点火プラグの点火制御等の制御信号を出力回路４２を介して出力する。
【００２５】
ＥＣＵ２０の制御プログラムが作業用に使用し、イグニションスイッチがオフされると電力供給が遮断されて記憶データが消失するＲＡＭ２６と異なり、イグニションスイッチのオン、オフに関わらず、ＳＲＡＭ２８にはバッテリから電力が供給される。したがって、ＳＲＡＭ２８は、バッテリの交換等により電力供給が遮断されない限り、記憶しているデータを保存する記憶部である。
【００２６】
ＥＥＰＲＯＭ３０は、書き換え可能な不揮発性の記憶部である。バッテリから電力供給が遮断されても、ＥＥＰＲＯＭ３０に記憶されているデータは保存される。
通信回路５０は、ＣＡＮ（Controller Area Network）等の車内ＬＡＮによる通信ライン２００を介して車両に搭載されている他のＥＣＵと通信したり、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶している情報を通信ライン２００を介して診断ツール１００に送信したりすることに使用される。
【００２７】
診断ツール１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等からなるマイクロコンピュータにより主に構成されている。診断ツール１００は、通信ライン２００に接続し、後述する車両挙動が発生したときの走行情報をＥＣＵ２０から読み出し、読み出した情報をディスプレイ等に出力する。
【００２８】
次に、ＲＯＭ２４等に記憶されている制御プログラムをＣＰＵ２２が実行することにより、ＥＣＵ２０が機能する各手段について説明する。
（挙動判定手段）
ＥＣＵ２０は、車両挙動として以下の（１）、（２）に示すような判定条件を予め設定しておき、判定条件を満たす車両挙動が判定期間よりも長く継続して発生したか否かを各種センサの検出信号に基づいて判定する。これらの車両挙動は、通常の運転操作では発生しない異常な車両挙動であると考えられる。
（１）停車中にアクセルペダルを踏んでいないのに、エンジン回転数が判定値以上に上昇する。
（２）走行中にアクセルおよびブレーキが同時に踏み込まれている。特に自動変速機（ＡＴ）の車両の場合。
【００２９】
（走行情報記憶手段）
ＥＣＵ２０は、前述した判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生すると、そのときの走行情報として、アクセル開度、エンジン回転数、スロットル開度、トランスミッションの変速位置、吸気量、吸気温、水温、車速等の情報をＳＲＡＭ２８に記憶する。ＳＲＡＭ２８に代えてＥＥＰＲＯＭ３０に走行情報を記憶してもよい。
【００３０】
これら車両の運転状態を表わす情報に加え、車載カメラやナビゲーション装置を搭載している場合には、車載カメラが撮像した画像データの解析結果に基づく車両周囲の他車両の走行状態、地図データ情報に基づく曲率や勾配等の走行道路の形状等を走行情報として記憶してもよい。
【００３１】
本実施形態では、判定条件を満たす車両挙動が判定期間よりも長く時間時間軸上で複数回発生しても、最新の走行情報を前回の走行情報に上書きして記憶する。尚、記憶容量に余裕があれば、異常な車両挙動が発生したときの複数回の走行情報を記憶し、ＦＩＦＯ（First In First Out）で古いデータを上書きしてもよい。
【００３２】
（期間変更手段）
ＥＣＵ２０は、判定条件を満たす車両挙動が判定期間よりも長く継続して発生し、走行情報をＳＲＡＭ２８に記憶すると、挙動判定手段が次回判定するときの判定期間を以下のいずれかの方法で延長する。いずれの場合にも、判定期間を延長して上限値を超える場合は、上限値を判定期間とする。
（１）今回の判定期間に固定値を加算して次回判定するときの判定期間とする。
（２）今回、判定条件を満たす車両挙動が判定期間よりも長く継続した実際の継続期間を、次回判定するときの判定期間とする。
【００３３】
（条件変更手段）
期間変更手段による判定期間の変更処理に加え、ＥＣＵ２０は、判定条件を満たす車両挙動が判定期間よりも長く継続して発生すると、車両挙動が判定条件を満たすことが困難な方向に判定条件の閾値を変更する。
【００３４】
例えば、停車中にアクセルペダルを踏んでいないのに、エンジン回転数が２０００ｒｐｍ以上の状態が２秒間よりも長く継続すると、判定期間を２秒間から２．５秒間に延長するとともに、判定条件の閾値を２０００ｒｐｍから２２００ｒｐｍに変更する。
【００３５】
（走行情報記憶処理１）
図２に、判定条件を満たす異常な車両挙動が判定期間よりも長く継続して発生したときに走行情報を記憶する走行情報記憶処理１のフローチャートを示す。図２のフローチャートは、タイマ割り込み、またはメインの制御ルーチン内で呼び出され定期的に実行される。図２〜図８に示すフローチャートにおいて、「Ｓ」はステップを表わしている。
【００３６】
まずＥＣＵ２０は、アクセルオフの状態で停車中にエンジン回転数（ＮＥ）が判定値以上であるか否かを判定する（Ｓ４００、Ｓ４０２、Ｓ４０４）。アクセルオフの状態で停車中にエンジン回転数が判定値以上に上昇する車両挙動は、通常の運転操作では発生しない異常な車両挙動である。
【００３７】
アクセルオフの状態で停車中にエンジン回転数が判定値以上の運転状態が継続している間（Ｓ４００：Ｙｅｓ、Ｓ４０２：Ｙｅｓ、Ｓ４０４：Ｙｅｓ）、ＥＣＵ２０は条件成立カウンタをインクリメントし（Ｓ４０６）、条件成立カウンタの値が判定期間よりも長いか否か（Ｓ４０８）、記憶履歴フラグが０であるか否か（Ｓ４１０）を判定する。条件成立カウンタの値が判定期間以下であるか（Ｓ４０８：Ｎｏ）、記憶履歴フラグが０でない場合（Ｓ４１０：Ｎｏ）、ＥＣＵ２０は本処理を終了する。判定期間の初期値は、例えば２秒（２０００ｍｓ）に設定されている。
【００３８】
尚、条件成立カウンタの値は、２０００ｍｓ等で示される実際の時間単位でもよいし、単純な数値のカウント値（１、２、・・・）でもよい。時間単位の場合には、Ｓ４０８で条件成立カウンタと比較する判定期間、ならびに後述する加算値、期間学習値および上限値も実際の時間単位になり、単純な数値のカウント値の場合には、判定期間、ならびに後述する加算値、期間学習値および上限値も単純な数値のカウント値になる。
【００３９】
条件成立カウンタの値が判定期間よりも長く（Ｓ４０８：Ｙｅｓ）、記憶履歴フラグが０の場合（Ｓ４１０：Ｙｅｓ）、ＥＣＵ２０は、判定期間に所定の固定値である加算値を加算し（Ｓ４１２）、走行情報をＳＲＡＭ２８に記憶し（Ｓ４１４）、記憶履歴フラグを１に設定し（Ｓ４１６）、本処理を終了する。加算値は、例えば固定の５００ｍｓに設定されている。
【００４０】
記憶履歴フラグは、Ｓ４００、Ｓ４０２、Ｓ４０４のいずれかの判定が「Ｎｏ」の場合に０に設定され、０の状態でＳ４０８の判定が「Ｙｅｓ」になると１に設定される。そして、一旦１に設定されると、Ｓ４００、Ｓ４０２、Ｓ４０４のいずれかの判定が「Ｎｏ」になるまで１の状態が継続する。
【００４１】
記憶履歴フラグが１の間、条件成立カウンタの値が判定期間より長くてもＳ４１４の処理は実行されないので、走行情報は記憶されない。
Ｓ４００、Ｓ４０２、Ｓ４０４のいずれかの判定が「Ｎｏ」の場合、ＥＣＵ２０は、条件成立カウンタおよび記憶履歴フラグをクリアして０にする（Ｓ４１８、Ｓ４２０）。
【００４２】
図２の走行情報記憶処理１では、アクセルオフの状態で停車中にエンジン回転数が判定値以上の判定条件を満たす異常な車両挙動が判定期間よりも長く継続すると、そのときの走行情報をＳＲＡＭ２８に記憶する。これにより、車両の走行が停止したときに、診断ツール１００でＳＲＡＭ２８に記憶されている走行情報を読み出すことにより、アクセルオフの状態で停車中にエンジン回転数が判定値以上の運転状態が判定期間よりも長く継続するという、通常の運転操作では発生しない異常な車両挙動が発生した原因を解析できる。
【００４３】
また、アクセルオフの状態で停車中にエンジン回転数が判定値以上の車両挙動が判定期間よりも長く継続すると、判定期間を固定の加算値分延長するので、アクセルオフの状態で停車中にエンジン回転数が判定値以上の運転状態が今回よりも長く継続して発生しないと走行情報は記憶されない。これにより、走行情報が記憶されにくくなるので、不要な走行情報の記憶を抑制できる。
【００４４】
また、アクセルオフの状態で停車中にエンジン回転数が判定値以上の判定条件を満たす車両挙動の継続時間が判定期間に加算値を加算して延長した期間よりも長い場合にも固定の加算値単位で判定期間を延長するので、継続期間の長い車両挙動が突発的に発生しても、判定期間が急激に長くなることを防止する。
【００４５】
図２の走行情報記憶処理１では、Ｓ４００〜Ｓ４０４およびＳ４０８の処理が本発明の挙動判定手段が実行する機能に相当し、Ｓ４１２の処理が本発明の期間変更手段が実行する機能に相当し、Ｓ４１４の処理が本発明の走行情報記憶手段が実行する機能に相当する。
【００４６】
（学習値記憶処理１、学習値設定処理１）
図２の走行情報記憶処理１に対応するエンジン停止時における判定期間の学習値記憶処理１のフローチャートを図３の（Ａ）に示し、エンジン始動時における判定期間の学習値設定処理１のフローチャートを図３の（Ｂ）に示す。図３に示す学習値記憶処理１および学習値設定処理１は、今回のエンジン始動から停止までのトリップ中に学習した判定期間の学習値を、次回のトリップに引き継ぐ処理である。
【００４７】
図３の（Ａ）において、イグニションスイッチがオンからオフになり、エンジンを停止するときに（Ｓ４３０：Ｙｅｓ）、今回学習した判定期間が前回のトリップで学習した期間学習値よりも長いか否かを判定する（Ｓ４３２）、今回学習した判定期間が期間学習値以下の場合（Ｓ４３２：Ｎｏ）、ＥＣＵ２０は本処理を終了する。したがって、次回のエンジン始動時に判定期間として設定される値は、前回のトリップで設定された期間学習値である。期間学習値の初期値は、判定期間の初期値と同じ２０００ｒｐｍに設定されている。
【００４８】
今回学習した判定期間が期間学習値よりも長い場合（Ｓ４３２：Ｙｅｓ）、ＥＣＵ２０は、判定期間が上限値よりも短いか否かを判定する（Ｓ４３４）。判定期間の上限値は、例えば４０００ｍｓに設定されている。
【００４９】
ＥＣＵ２０は、判定期間が上限値よりも短い場合（Ｓ４３４：Ｙｅｓ）、今回学習した判定期間を期間学習値に設定し（Ｓ４３６）、判定期間が上限値以上の場合（Ｓ４３４：Ｎｏ）、上限値を期間学習値に設定する（Ｓ４３８）。期間学習値は、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０に設定されている。
【００５０】
図３の（Ｂ）において、イグニションスイッチがオフからオンになり、エンジンを始動するとき、ＥＣＵ２０は図３の（Ａ）で記憶した期間学習値を判定期間に設定する（Ｓ４４０）。
【００５１】
図３の学習値記憶処理１、学習値設定処理１では、前回までのトリップで学習した判定期間を期間学習値としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に設定しているので、学習した判定期間をトリップをまたがって引き継ぐことができる。
【００５２】
図３の学習値記憶処理１では、Ｓ４３２〜Ｓ４４０の処理が本発明の期間変更手段が実行する機能に相当する。
（走行情報記憶処理２）
図４に走行情報記憶処理２のフローチャートを示す。図４のフローチャートは、タイマ割り込み、またはメインの制御ルーチン内で呼び出され、定期的に実行される。図４において、Ｓ４５０〜Ｓ４６４、Ｓ４７０およびＳ４７２は、図２のＳ４００〜Ｓ４１０、Ｓ４１４〜Ｓ４２０と実質的に同一処理である。
【００５３】
図４では、アクセルオフの状態で停車中にエンジン回転数が判定値以上である判定条件を満たす車両挙動が判定期間よりも長く継続して発生すると（Ｓ４５０：Ｙｅｓ、Ｓ４５２：Ｙｅｓ、Ｓ４５４：Ｙｅｓ、Ｓ４５８：Ｙｅｓ）、記憶履歴フラグが０の場合（Ｓ４６０：Ｙｅｓ）、そのときの走行情報を記憶し（Ｓ４６２）、記憶履歴フラグは１に設定される（Ｓ４６４）。
【００５４】
そして、Ｓ４５０、Ｓ４５２、Ｓ４５４のいずれかの判定が「Ｎｏ」になり、そのときに記憶履歴フラグが１の場合（Ｓ４６６：Ｙｅｓ）、ＥＣＵ２０は、条件成立カウンタの値を判定期間に設定する（Ｓ４６８）。
【００５５】
条件成立カウンタは、アクセルオフの状態で停車中にエンジン回転数が判定値以上である状態が継続する間、Ｓ４５６でインクリメントされる。つまり、アクセルオフの状態で停車中にエンジン回転数が判定値以上である状態が継続し、その継続期間が前回設定された判定期間よりも長くなると、継続期間が判定期間に設定される。したがって、Ｓ４６８で設定される判定期間は、図２のように固定値で徐々に増加するのではなく急激に増加することがある。
【００５６】
このように、アクセルオフの状態で停車中にエンジン回転数が判定値以上である判定条件を満たす異常な車両挙動が実際に継続して発生した継続期間を判定期間とするので、車両挙動の実際の発生状態に合わせて高精度に判定期間を設定できる。また、実際に継続して発生した継続期間よりも長く判定条件を満たす車両挙動が発生しないと走行情報は記憶されないので、走行情報が繰り返し記憶されることを極力抑制できる。
【００５７】
エンジン停止時の判定期間の学習値記憶処理と、エンジン始動時の判定期間の学習値設定処理とは、図３の（Ａ）、（Ｂ）と実質的に同一なので説明を省略する。
図４の走行情報記憶処理２では、Ｓ４５０〜Ｓ４５４およびＳ４５８の処理が本発明の挙動判定手段が実行する機能に相当し、Ｓ４６２の処理が本発明の走行情報記憶手段が実行する機能に相当し、Ｓ４６８の処理が本発明の期間変更手段が実行する機能に相当する。
【００５８】
（走行情報記憶処理３）
図５に走行情報記憶処理３のフローチャートを示す。図５のフローチャートは、タイマ割り込み、またはメインの制御ルーチン内で呼び出され、定期的に実行される。図５において、Ｓ４８０〜Ｓ４９２、Ｓ４９６〜Ｓ５０２は、図２のＳ４００〜Ｓ４２０と実質的に同一処理である。
【００５９】
図５では、アクセルオフの状態で停車中にエンジン回転数が判定値以上である判定条件を満たす車両挙動が判定期間よりも長く継続して発生すると（Ｓ４８０：Ｙｅｓ、Ｓ４８２：Ｙｅｓ、Ｓ４８４：Ｙｅｓ、Ｓ４８８：Ｙｅｓ）、固定の加算値を加算して判定期間を延長することに加え（Ｓ４９２）、Ｓ４８４でエンジン回転数と比較する判定値に固定の加算値を加算する（Ｓ４９４）。エンジン回転数と比較する判定値の初期値は、例えば２０００ｒｐｍに設定されており、判定値に加算する固定の加算値は２００ｒｐｍに設定されている。
【００６０】
つまり、アクセルオフの状態で停車中にエンジン回転数が判定値以上である判定条件を満たす車両挙動が今回よりも長く継続し、さらにエンジン回転数が今回よりも高くならないと、走行情報は記憶されない。
【００６１】
その結果、判定条件を満たす車両挙動が判定期間よりも長く継続するだけの場合に比べ、車両挙動が判定条件を満たすことが困難になるので、走行情報が記憶されにくくなる。
図５の走行情報記憶処理３では、Ｓ４８０〜Ｓ４８４およびＳ４８８の処理が本発明の挙動判定手段が実行する機能に相当し、Ｓ４９２の処理が本発明の期間変更手段が実行する機能に相当し、Ｓ４９４の処理が本発明の条件変更手段が実行する機能に相当し、Ｓ４９６の処理が本発明の走行情報記憶手段が実行する機能に相当する。
【００６２】
また、図５のＳ４８４でエンジン回転数と比較する判定値が、本発明の判定条件の閾値に相当する。
（学習値記憶処理２、学習値設定処理２）
図５の走行情報記憶処理３に対応するエンジン停止時の判定期間および判定条件の学習値記憶処理２およびエンジン始動時の判定期間および判定値の学習値設定処理２のフローチャートを図６に示す。
【００６３】
図６の（Ａ）のＳ５１０〜Ｓ５１８の処理は、図３の（Ａ）のＳ４３０〜Ｓ４３８の処理と実質的に同一であるから、説明を省略する。
Ｓ５２０においてＥＣＵ２０は、図５のＳ４８４でエンジン回転数と比較する今回学習した判定条件の判定値が、前回のトリップで学習した条件学習値よりも大きいか否かを判定する。今回学習した判定値が前回のトリップで学習した条件学習値以下の場合（Ｓ５２０：Ｎｏ）、ＥＣＵ２０は本処理を終了する。これにより、次回のエンジン始動時に判定値として設定される値は、前回のトリップで設定された条件学習値になる。
【００６４】
今回学習した判定値が条件学習値よりも大きい場合（Ｓ５２０：Ｙｅｓ）、ＥＣＵ２０は、判定値が上限値よりも小さいか否かを判定する（Ｓ５２２）。
ＥＣＵ２０は、判定値が上限値よりも小さい場合（Ｓ５２２：Ｙｅｓ）、今回学習した判定値を条件学習値に設定し（Ｓ５２４）、判定値が上限値以上の場合（Ｓ５２２：Ｎｏ）、上限値を条件学習値に設定する（Ｓ５２６）。条件学習値は、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０に設定されている。
【００６５】
図６の（Ｂ）において、イグニションスイッチがオフからオンになり、エンジンを始動するとき、ＥＣＵ２０は図６の（Ａ）で設定した期間学習値および条件学習値を判定期間、判定値にそれぞれ設定する（Ｓ５３０、Ｓ５３２）。
【００６６】
図６の学習値記憶処理２では、Ｓ５１２〜Ｓ５１８の処理が本発明の期間変更手段が実行する機能に相当し、Ｓ５２０〜Ｓ５２６の処理が本発明の条件変更手段が実行する機能に相当する。
【００６７】
（走行情報記憶処理４）
図７に走行情報記憶処理４のフローチャートを示す。図７のフローチャートは、タイマ割り込み、またはメインの制御ルーチン内で呼び出され、定期的に実行される。
【００６８】
ＥＣＵ２０は、車両の走行中にアクセルオンおよびブレーキオンの状態であるか否かを判定する（Ｓ５４０、Ｓ５４２、Ｓ５４４）。車両の走行中にアクセルオンおよびブレーキオンの状態である車両挙動は、通常の運転操作では発生しない異常な車両挙動である。
【００６９】
車両の走行中にアクセルオンおよびブレーキオンの状態が継続している間（Ｓ５４０：Ｙｅｓ、Ｓ５４２：Ｙｅｓ、Ｓ５４４：Ｙｅｓ）、ＥＣＵ２０は条件成立カウンタをインクリメントし（Ｓ５４６）、条件成立カウンタの値が判定期間よりも長いか否か（Ｓ５４８）、記憶履歴フラグが０であるか否か（Ｓ５５０）を判定する。条件成立カウンタの値が判定期間以下であるか（Ｓ５４８：Ｎｏ）、記憶履歴フラグが０でない場合（Ｓ５５０：Ｎｏ）、ＥＣＵ２０は本処理を終了する。
【００７０】
条件成立カウンタの値が判定期間よりも長く（Ｓ５４８：Ｙｅｓ）、記憶履歴フラグが０の場合（Ｓ５５０：Ｙｅｓ）、ＥＣＵ２０は、判定期間に所定の固定値である加算値を加算し（Ｓ５５２）、走行情報をＳＲＡＭ２８に記憶し（Ｓ５５４）、記憶履歴フラグを１に設定し（Ｓ５５６）、本処理を終了する。
【００７１】
記憶履歴フラグは、０の状態でＳ５４８の判定が「Ｙｅｓ」になると１に設定され、Ｓ５４０、Ｓ５４２、Ｓ５４４のいずれかの判定が「Ｎｏ」になるまで１の状態が継続する。そして、後述するように、Ｓ５４０、Ｓ５４２、Ｓ５４４のいずれかの判定が「Ｎｏ」の場合に０に設定される。
【００７２】
したがって、記憶履歴フラグが１の間、条件成立カウンタの値が判定期間より長くても（Ｓ５４８：Ｙｅｓ）、Ｓ５５４の処理は実行されず、走行情報は記憶されない。
Ｓ５４０、Ｓ５４２、Ｓ５４４のいずれかの判定が「Ｎｏ」の場合、ＥＣＵ２０は、条件成立カウンタの値が所定期間以上であれば（Ｓ５５８：Ｙｅｓ）、両踏みカウンタをインクリメントし（Ｓ５６０）、条件成立カウンタの値が所定期間未満であれば（Ｓ５５８：Ｎｏ）、Ｓ５６２に処理を移行する。所定期間は、例えば１００ｍｓに設定されている。
【００７３】
両踏みカウンタは、車両の走行中にアクセルおよびブレーキが両方踏み込まれているという通常は発生しない異常な車両挙動が、所定期間よりも長く継続して１トリップにおいて何回発生したかをカウントするために設けられている。両踏みカウンタの値が所定回数以上であれば、車両の走行中にアクセルおよびブレーキが両方踏み込まれているという車両挙動が、車両原因ではなく、運転者の意図的な運転操作によって発生していると考えられる。
【００７４】
Ｓ５６２、Ｓ５６４において、ＥＣＵ２０は、条件成立カウンタおよび記憶履歴フラグをクリアし０に設定し、本処理を終了する。
図７の走行情報記憶処理４では、Ｓ５４０〜Ｓ５４４およびＳ５４８の処理が本発明の挙動判定手段が実行する機能に相当し、Ｓ５５４の処理が本発明の走行情報記憶手段が実行する機能に相当し、Ｓ５５２、Ｓ５５８およびＳ５６０の処理が本発明の期間変更手段が実行する機能に相当する。
【００７５】
（学習値記憶処理３）
図７の走行情報記憶処理４に対応するエンジン停止時の判定期間の学習値記憶処理３のフローチャートを図８に示す。
【００７６】
図８のＳ５７０、Ｓ５７２、Ｓ５７６〜Ｓ５８０の処理は、図３の（Ａ）のＳ４３０〜Ｓ４３８の処理と実質的に同一である。
図８の学習値記憶処理３では、Ｓ５７４においてＥＣＵ２０は、両踏みカウンタの値が所定回数以上であるか否かを判定する。所定回数は、例えば５回程度に設定されている。
【００７７】
前述したように、両踏みカウンタは、１トリップにおいて、車両の走行中にアクセルおよびブレーキが両方踏み込まれる車両挙動が、所定期間よりも長く継続して何回発生したかをカウントしている。
【００７８】
そして、両踏みカウンタの値が所定回数以上であり、車両の走行中にアクセルおよびブレーキが両方踏み込まれる車両挙動が頻繁に発生している場合、運転者が意図的にアクセルペダルとブレーキペダルの両方を踏み込んでいると考えられる。このような運転操作は運転者の癖と考えられるので、トリップ毎に発生する可能性が高い。
【００７９】
運転者の意図的な操作により異常な車両挙動が発生すると考えられる場合には、そのときの走行情報を繰り返し記憶することは避けたいので、今回のトリップだけでなく、次回のトリップでも、今回学習した判定期間を引き継いで走行情報を記憶されにくくすることが望ましい。
【００８０】
一方、両踏みカウンタの値が所定回数未満の場合、車両の走行中にアクセルおよびブレーキが両方踏み込まれる車両挙動は、運転者の意図的な操作ではなく、例えばアクセルペダルが何かに引っ掛かって戻らないなどの車両原因で発生していると考えられる。
【００８１】
この場合には、今回のトリップでは、走行情報を繰り返し記憶することを避けるために判定期間を延長するが、次回のトリップでも車両原因によると考えられる異常な車両挙動が発生する場合には、発生原因を解析するために走行情報を記憶したい。したがって、今回学習した判定期間を引き継いで判定期間を延長することは避けたい。
【００８２】
そこで、図８の学習値記憶処理３では、両踏みカウンタの値が所定回数以上であり（Ｓ５７４：Ｙｅｓ）、車両の走行中にアクセルおよびブレーキが両方踏み込まれる車両挙動が運転者の意図的な操作によって発生していると考えられる場合には、Ｓ５７６〜Ｓ５８０の処理を実行し、今回学習した判定期間を次のトリップに引き継ぐ。
【００８３】
一方、両踏みカウンタの値が所定回数未満であり（Ｓ５７４：Ｎｏ）、車両の走行中にアクセルおよびブレーキが両方踏み込まれる車両挙動が車両原因で発生していると考えられる場合には、本処理を終了し、学習した判定期間を次のトリップに引き継がない。
【００８４】
図８の学習値記憶処理３では、Ｓ５７２〜Ｓ５８０の処理が本発明の期間変更手段が実行する機能に相当する。
以上説明した本実施形態では、ＥＣＵ２０が本発明の電子制御装置に相当し、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０が本発明の記憶部に相当する。
【００８５】
そして、ＥＣＵ２０は、本発明の挙動判定手段、走行情報記憶手段、期間変更手段および条件変更手段が実行する機能を実現する。
［他の実施形態］
上記実施形態では、走行情報を自ＥＣＵの記憶部に記憶した。これに対し、自ＥＣＵ以外の他の記憶部に走行情報を記憶してもよい。
【００８６】
また、走行情報を記憶する記憶部はＳＲＡＭ２８またはＥＥＰＲＯＭ３０に限らず、車両の運転停止中もデータを保持できるのであればどのような記憶部でもよい。
本発明は、ガソリンエンジンまたはディーゼルエンジン等の内燃機関を駆動源とする車両、あるいは内燃機関とモータとを併用したハイブリッド車両、あるいはモータを駆動源とする電気自動車のいずれに適用してもよい。
【００８７】
また、上記実施形態では、挙動判定手段、走行情報記憶手段、期間変更手段および条件変更手段の機能を、制御プログラムにより機能が特定されるＥＣＵ２０により実現している。これに対し、上記複数の手段の機能の少なくとも一部を、回路構成自体で機能が特定されるハードウェアで実現してもよい。
【００８８】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【００８９】
１０：車両診断システム、２０：エンジンＥＣＵ（電子制御装置、挙動判定手段、走行情報記憶手段、期間変更手段、条件変更手段）、２８：ＳＲＡＭ（記憶部）、３０：ＥＥＰＲＯＭ（記憶部）
【図１】
0005360148.tif 000002
【図２】
0005360148.tif 000003
【図３】
0005360148.tif 000004
【図４】
0005360148.tif 000005
【図５】
0005360148.tif 000006
【図６】
0005360148.tif 000007
【図７】
0005360148.tif 000008
【図８】
0005360148.tif 000009