(57)【特許請求の範囲】
【請求項１】
車両挙動と判定条件とを比較することにより、前記判定条件を満たす車両挙動が発生したか否かを判定する挙動判定手段と、
前記判定条件を満たす車両挙動が発生したと前記挙動判定手段が判定すると、そのときの車両の運転情報を記憶部に記憶する運転情報記憶手段と、
前記車両挙動は前記車両挙動の程度によって複数の段階に分けられており、前記車両挙動が前記複数の段階のいずれに該当するかを判定する段階判定手段と、
前記複数の段階の各段階において、前記段階判定手段により前記車両挙動が該当すると判定された回数をカウントするカウント手段と、
前記カウント手段がカウントする各段階におけるカウント数に基づいて、前記判定条件を前記複数の段階のいずれかの境界条件に設定する判定条件設定手段と、
を備えることを特徴とする電子制御装置。
【請求項２】
前記判定条件設定手段は、前記カウント数が所定回数を超えた前記段階と、この前記段階と前記車両挙動の発生が困難な方向で隣接する他の前記段階との境界条件を前記判定条件として設定することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記カウント手段は、前記車両挙動が該当すると判定された前記段階の前記カウント数だけをカウントすることを特徴とする請求項１または２に記載の電子制御装置。
【請求項４】
前記カウント手段は、前記車両挙動が該当すると判定された前記段階の前記カウント数と、この前記段階よりも前記車両挙動が発生しやすい前記段階の前記カウント数とをカウントすることを特徴とする請求項１または２に記載の電子制御装置。
【請求項５】
前記複数の段階のいずれかの前記カウント数が所定回数を超えることにより前記判定条件設定手段が前記判定条件を設定すると、前記カウント手段は前記カウント数が所定回数を超えた前記段階以外の他の前記段階の前記カウント数をクリアすることを特徴とする請求項１から４のいずれか一項に記載の電子制御装置。
【請求項６】
前記カウント手段は、各段階の前記カウント数を車両の運転停止中もデータを保持する書き換え可能な記憶部に記憶することを特徴とする請求項１から５のいずれか一項に記載の電子制御装置。
【請求項７】
前記カウント手段は、各段階の前記カウント数を車両の運転を停止するとデータが消失する書き換え可能な記憶部に記憶することを特徴とする請求項１から５のいずれか一項に記載の電子制御装置。
【請求項８】
アクセル開度全閉時のエンジン回転数を前記車両挙動とし、エンジン回転数の範囲を前記判定条件とすることを特徴とする請求項１から７のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両挙動を解析するために車両の運転情報を記憶する電子制御装置に関する。
【背景技術】
【０００２】
従来、特許文献１に開示されているように、加速度センサや振動センサなどの出力から検出する速度、加速度、ロードノイズ等に基づいて、運転者の運転傾向として運転操作の荒っぽさを複数のランクに分類するとともに、移動体の挙動を急加速、急ブレーキ、凹凸のある道路の通過等の特定挙動に分ける技術が知られている。
【０００３】
また、センサやアクチュエータに異常が発生した場合に、異常状態に対応したダイアグコードと、そのときの時間軸に沿ったセンサ出力および制御データとを車両の運転情報として記憶することが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０３８３７４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１で分類する運転傾向および特定挙動は、運転者の操作に対応して発生するものである。また、ダイアグコードおよび、そのときの運転情報は、センサやアクチュエータ等に異常が発生したときに記憶されるものである。
【０００６】
したがって、例えば、センサおよびアクチュエータに異常は発生しておらず正常であるが、運転者の運転操作に対応しない車両挙動が発生しても、該当する車両挙動の発生は検出されず、そのときの運転情報は記憶されない。その結果、運転者の運転操作に対応しない車両挙動が発生しても、その原因を運転情報に基づいて解析できないという問題がある。
【０００７】
本発明は、上記課題を解決するためになされたものであり、判定条件を満たす車両挙動が発生すると、そのときの運転情報を記憶するとともに、車両挙動の発生傾向に基づいて不要な運転情報の記憶を防止する電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明者は、例えば、運転者の運転操作に対応しない車両挙動を検出するための判定条件を予め設定しておき、車両挙動と判定条件とを比較して運転操作に対応しない予期せぬ車両挙動が発生すると、そのときの車両挙動を表わす運転情報を記憶部に記憶しておき、記憶した運転情報に基づいて、予期せぬ車両挙動の発生原因を解析する技術について検討した。
【０００９】
しかしながら、車両挙動と比較する判定条件が固定であると、例えば運転者の運転操作の傾向によっては、運転者の運転操作に対応して発生する車両挙動が、予期せぬ車両挙動を検出するために設定した判定条件を満たすことがある。そして、判定条件を満たす車両挙動が運転者の運転操作に対応して頻繁に発生する傾向にあると、記憶容量の制限等により、本来、運転者の操作に対応しない予期せぬ車両挙動が発生したときの運転情報が、判定条件を満たして頻繁に発生する車両挙動のために上書きされ、記憶できなくなる可能性があることに思い至った。
【００１０】
そこで、請求項１から８に記載の発明によると、挙動判定手段は、車両挙動と判定条件とを比較することにより、判定条件を満たす車両挙動が発生したか否かを判定し、判定条件を満たす車両挙動が発生したと挙動判定手段が判定すると、運転情報記憶手段は、そのときの車両の運転情報を記憶部に記憶する。
【００１１】
さらに、車両挙動は車両挙動の程度によって複数の段階に分けられており、段階判定手段は、車両挙動が複数の段階のいずれに該当するかを判定し、カウント手段は、複数の段階の各段階において、段階判定手段により車両挙動が該当すると判定された回数をカウントし、判定条件設定手段は、カウント手段がカウントする各段階におけるカウント数に基づいて、判定条件を複数の段階のいずれかの境界条件に設定する。
【００１２】
このように、車両挙動の程度によって分けられた複数の段階の各段階において、車両挙動が該当すると判定された回数をカウントすることにより、カウント数の多い段階に該当する車両挙動は、例えば運転者の運転操作の傾向により頻繁に発生していると判断できる。
【００１３】
そこで、各段階のカウント数に基づいて、頻繁に発生する傾向のある車両挙動が判定条件を満たさないように判定条件を適切に設定すれば、頻繁に発生する傾向のある車両挙動が発生したときの車両の運転情報を記憶することを防止し、予期せぬ車両挙動が発生したときに、そのときの運転情報を記憶することができる。その結果、予期せぬ車両挙動が発生したときに、記憶部に記憶された運転情報に基づいて、該当する車両挙動が発生した原因を解析できる。
【００１４】
請求項２に記載の発明によると、判定条件設定手段は、カウント数が所定回数を超えた段階と、この段階と車両挙動の発生が困難な方向で隣接する他の段階との境界条件を判定条件として設定する。
【００１５】
これにより、いずれかの段階のカウント数が所定回数を超えると、車両挙動の発生が困難な方向に判定条件が設定されるので、運転者の運転操作に対応した車両挙動が頻繁に発生しても、この車両挙動は判定条件を満たさなくなる。したがって、運転者の運転操作に対応して車両挙動が頻繁に発生しても、そのときの運転情報が記憶部に記憶されることを防止できる。
【００１６】
請求項３に記載の発明によると、カウント手段は、車両挙動が該当すると判定された段階のカウント数だけをカウントする。
これにより、実際に発生している車両挙動に該当する段階のカウント数だけがカウントされるので、車両挙動の発生傾向が各段階のカウント数に適切に反映される。したがって、各段階において実際に発生している車両挙動のカウント数に基づいて、判定条件を適切に設定できる。
【００１７】
請求項４に記載の発明によると、カウント手段は、車両挙動が該当すると判定された段階のカウント数と、この段階よりも車両挙動が発生しやすい段階のカウント数とをカウントする。
【００１８】
このように、実際に発生している車両挙動に該当する段階のカウント数だけでなく、それよりも車両挙動が発生しやすい段階のカウント数もカウントするので、各段階のカウント数が上昇しやすくなる。その結果、カウントされる各段階のカウント数に基づいて判定条件が設定されるまでの期間が短くなる。
【００１９】
請求項５に記載の発明によると、複数の段階のいずれかのカウント数が所定回数を超えることにより判定条件設定手段が判定条件を設定すると、カウント手段はカウント数が所定回数を超えた段階以外の他の段階のカウント数をクリアする。
【００２０】
これにより、カウント数が所定回数を超えた段階以外のカウント数は初期状態から再びカウントされることになるので、カウント数が所定回数を超えた段階以外の段階のカウント数が所定回数を超えるまでの期間が長くなる。その結果、判定条件が頻繁に変更されることを防止し、設定された判定条件により継続して運転情報が比較される。
【００２１】
請求項６に記載の発明によると、カウント手段は、各段階のカウント数を車両の運転停止中もデータを保持する書き換え可能な記憶部に記憶する。
これにより、車両の運転を停止した後に運転を再開すると、前回までの車両運転中に記憶された累積のカウント数に基づいて、車両挙動と比較する判定条件を設定できる。その結果、例えば同じ運転者が運転する場合に、継続して車両挙動の発生傾向をカウントできる。
【００２２】
請求項７に記載の発明によると、カウント手段は、各段階のカウント数を車両の運転を停止するとデータが消失する書き換え可能な記憶部に記憶する。
これにより、車両の運転を停止した後に運転を再開すると、前回の車両運転中に記憶されたカウント数はクリアされているので、車両挙動の発生回数を各段階においてカウントし直すことになる。その結果、例えば、異なる運転者が運転する場合に、前回の運転者の運転操作に対応した車両挙動の発生傾向を継承することなく、車両挙動の発生回数を初期状態から各段階においてカウントできる。
【００２３】
ところで、運転者がアクセルを開放しているアクセル開度全閉状態にも関わらずエンジン回転数が所定回転数以上に上昇すると、運転者の運転操作に対応しない車両挙動であると考えられる。このように、運転者の運転操作に対応しない車両挙動が発生すると、そのときの運転情報を記憶することにより、運転操作に対応しない車両挙動の発生原因を記憶した運転情報に基づいて解析できる。
【００２４】
しかしながら、車両走行中にエンジンブレーキを多用する運転者の場合、アクセル開度全閉状態においてエンジン回転数は容易に上昇する。したがって、アクセル開度全閉状態においてエンジン回転数が所定回転数以上になることを判定条件とし、この判定条件を固定にすると、実際には運転者の運転操作に対応して発生しているエンジンブレーキ使用時のエンジン回転数が判定条件を満たし、そのときの運転情報を繰り返し記憶することになる。
【００２５】
その結果、アクセル開度全閉時においてエンジンブレーキを使用していないにも関わらず、運転者の運転操作に対応せずにエンジン回転数が上昇する予期せぬ車両挙動が発生し、そのときの運転情報を記憶しても、エンジンブレーキ使用時のエンジン回転数が判定条件を満たすと、予期せぬ車両挙動が発生したときに記憶した運転情報が上書きされることがある。
【００２６】
そこで、請求項８に記載の発明によると、アクセル開度全閉時のエンジン回転数を車両挙動とし、エンジン回転数の範囲を判定条件とする。
これにより、例えば、運転者がアクセル開度全閉時にエンジンブレーキを多用する場合には、そのときのエンジン回転数に該当する段階のカウント数が上昇するので、各段階でカウントされるカウント数に基づいて、アクセル開度全閉時に頻繁に到達するエンジン回転数が判定条件を満たさないように、判定条件であるエンジン回転数の範囲を複数の段階の適切な境界条件に設定できる。
【００２７】
その結果、アクセル開度全閉時にエンジンブレーキを多用する運転者の運転操作に対応したエンジン回転数に到達しても、そのときの車両の運転情報を記憶することを防止し、アクセル開度全閉時に運転操作に対応しない予期せぬエンジン回転数に到達したときに、そのときの運転情報を記憶することができる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態による電子制御装置を示すブロック図。
【図２】エンジン回転数に基づく運転情報記憶処理１を示すフローチャート。
【図３】エンジン回転数に基づく判定条件設定処理１を示すフローチャート。
【図４】アクセル全閉時の条件成立フラグ、車速、エンジン回転数を示すタイムチャート。
【図５】起動時処理を示すフローチャート。
【図６】判定条件設定処理２を示すフローチャート。
【図７】判定条件設定処理１、２におけるカウント数の違いを示す比較図。
【図８】判定条件設定処理３を示すフローチャート。
【図９】車速に基づく運転情報記憶処理２を示すフローチャート。
【図１０】車速に基づく判定条件設定処理４を示すフローチャート。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態を図に基づいて説明する。
図１に、本実施形態のエンジン用の電子制御装置（以下、単にＥＣＵとも言う。）１０を示す。ＥＣＵ（Electronic Control Unit）１０は、ＣＰＵ２０、ＲＯＭ２２、ＲＡＭ２４、ＳＲＡＭ（スタンバイＲＡＭ）２６、ＥＥＰＲＯＭ３０、および図示しない入出力回路等から構成されている。
【００３０】
ＥＣＵ１０は、ＲＯＭ２２に記憶されている制御プログラムをＣＰＵ２０が実行することにより、アクセル開度、エンジン回転数、車速、吸気量、吸気温、水温、スロットル開度等を表わす検出信号を各種センサ等から入力回路を介して入力する。そして、これらセンサ検出信号に基づいて、ＥＣＵ１０は、図示しないインジェクタの燃料噴射制御、点火プラグの点火制御等のエンジンの運転制御を実行する。
【００３１】
ＥＣＵ１０の制御プログラムが作業用に使用し、車両の運転が停止されるとバッテリからの電力供給が遮断されることにより記憶データが消失するＲＡＭ２４と異なり、車両の運転が停止されてもＳＲＡＭ２６にはバッテリから電力が供給される。したがって、ＳＲＡＭ２６に記憶されているデータは、バッテリの交換等により電力供給が遮断されない限り保存される。
【００３２】
ＥＥＰＲＯＭ３０は、書き換え可能な不揮発性の記憶部である。バッテリから電力供給が遮断されても、ＥＥＰＲＯＭ３０に記憶されているデータは保存される。ＥＥＰＲＯＭ３０には、５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６が設定されている。各カウンタは、アクセル開度全閉時におけるエンジン回転数の傾向をカウントするためのものである。
【００３３】
次に、ＲＯＭ２２等に記憶されている制御プログラムをＣＰＵ２０が実行することにより、ＥＣＵ１０が機能する各手段について説明する。
（挙動判定手段）
ＥＣＵ１０は、車両挙動と判定条件とを比較することにより、運転者の運転操作に対応しておらず、判定条件を満たす予期せぬ車両挙動が発生したか否かを判定する。本実施形態では、アクセル開度全閉時のエンジン回転数を車両挙動とし、エンジン回転数の範囲を判定条件としている。したがって、ＥＣＵ１０は、アクセル開度全閉時のエンジン回転数が、判定条件として設定されているエンジン回転数の範囲を満たすか否かを判定する。
【００３４】
本来、運転者がアクセルをオフにするアクセル開度全閉時においては、運転者によるアクセルペダルの全閉操作に応じてエンジン回転数は低下する筈である。そこで、アクセル開度全閉時におけるエンジン回転数と、設定された回転数の範囲とを比較することにより、ＥＣＵ１０は、運転者のアクセルペダルの全閉操作に対応せずに、エンジン回転数が予期しない回転数に上昇したと判定できる。
【００３５】
（運転情報記憶手段）
ＥＣＵ１０は、アクセル開度全閉時におけるエンジン回転数が、判定条件を満たす予期せぬ回転数になった場合、そのときの運転情報として、前述したアクセル開度、エンジン回転数、車速、吸気量、吸気温、水温、スロットル開度等をＥＥＰＲＯＭ３０に記憶する。ＥＥＰＲＯＭ３０に運転情報を記憶するので、車両の運転停止後にＥＥＰＲＯＭ３０から運転情報を読み出すことにより、アクセル開度全閉時においてエンジン回転数が予期せぬ回転数になった原因を解析できる。
【００３６】
これら運転情報に加え、車載カメラやナビゲーション装置を搭載している場合には、車載カメラが撮像した画像データの解析結果に基づく車両周囲の他車両の走行状態、地図データ情報に基づく道路の曲率や勾配等の走行道路の形状等を運転情報として記憶してもよい。
【００３７】
（段階判定手段）
本実施形態において判定条件と比較する車両挙動であるアクセル開度全閉時におけるエンジン回転数の程度は、（段階１）４０００ｒｐｍ以上５０００ｒｐｍ未満、（段階２）３０００ｒｐｍ以上４００ｒｐｍ未満、（段階３）３０００ｒｐｍ未満の３段階に分けられている。つまり、アクセル開度全閉時におけるエンジン回転数の高低の程度により、車両挙動が複数の段階に分けられている。
【００３８】
（段階１）から（段階３）に向かうにしたがいエンジン回転数が低下するので、該当する車両挙動としてアクセル開度全閉時のエンジン回転数が到達しやすい条件になっている。ＥＣＵ１０は、アクセル開度全閉時におけるエンジン回転数が、（段階１）〜（段階３）のうち、どの段階に該当するかを判定する。
【００３９】
（カウント手段）
アクセル開度全閉時におけるエンジン回転数の程度を示す（段階１）〜（段階３）の各段階には、前述した５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６がそれぞれ対応して設定されている。
【００４０】
ＥＣＵ１０は、アクセル開度全閉時におけるエンジン回転数が（段階１）〜（段階３）のうちのいずれかに該当する場合、後述する判定条件設定処理１では、該当する段階のカウンタと、該当する段階よりもアクセル開度全閉時のエンジン回転数が到達しやすい、つまり、該当する段階よりもエンジン回転数が低い段階のカウンタとをカウントアップする。これに対し、後述する判定条件設定処理２のように、該当する段階のカウンタだけをカウントアップしてもよい。
【００４１】
（判定条件設定手段）
ＥＣＵ１０は、アクセル開度全閉時におけるエンジン回転数の傾向をカウントするカウンタ３２、３４、３６のいずれかのカウント数が所定回数を超えると、その段階におけるアクセル開度全閉時のエンジン回転数が示す車両挙動は、運転者がエンジンブレーキを多用することにより発生したと判断する。そこで、ＥＣＵ１０は、カウント数が所定回数を超えた段階と、この段階よりもアクセル開度全閉時のエンジン回転数が到達することが困難な段階、つまりエンジン回転数が高い段階との境界条件を、挙動判定手段がアクセル開度全閉時のエンジン回転数と比較する判定条件として車両運転中に設定する。
【００４２】
５０００ｒｐｍ未満領域カウンタ３２が所定回数を超えると、アクセル開度全閉時のエンジン回転数と比較する判定条件は５０００ｒｐｍ以上に設定され、４０００ｒｐｍ未満領域カウンタ３４が所定回数を超えると、アクセル開度全閉時のエンジン回転数と比較する判定条件は４０００ｒｐｍ以上に設定され、３０００ｒｐｍ未満領域カウンタ３６が所定回数を超えると、アクセル開度全閉時のエンジン回転数と比較する判定条件は３０００ｒｐｍ以上に設定される。尚、５０００ｒｐｍ以上は、カウンタを設定していない段階と考えられる。
【００４３】
次に、予期せぬ車両挙動が発生したときの運転情報記憶処理１と、車両挙動であるアクセル開度全閉時のエンジン回転数と比較する判定条件を車両運転中に変更して設定する判定条件設定処理１と、起動時においてカウンタのカウント数に基づいて判定条件を設定する起動時処理とについて、図２〜図５に基づいて説明する。図２、図３および図５のフローチャートにおいて、「Ｓ」はステップを表わしている。
【００４４】
（運転情報記憶処理１）
図２は、アクセル開度全閉時のエンジン回転数が所定のエンジン回転数の範囲を満たす場合に運転情報を記憶する運転情報記憶処理１を示すフローチャートである。運転情報記憶処理１は常時実行される。
【００４５】
ＥＣＵ１０は、アクセル開度が全閉状態であり、エンジン回転数が所定回転数以上であり、判定条件フラグがオンであるか否かを判定する（Ｓ４００）。所定回転数の初期値は、例えば２０００ｒｐｍに設定されている。また、判定条件フラグの初期値はオンに設定されている。
【００４６】
アクセル開度が全閉状態ではないか、エンジン回転数が設定された所定回転数以上ではないか、判定条件フラグがオフの場合（Ｓ４００：Ｎｏ）、ＥＣＵ１０はＳ４００の判定処理を続ける。
【００４７】
アクセル開度が全閉状態であり、エンジン回転数が所定回転数以上であり、判定条件フラグがオンの場合（Ｓ４００：Ｙｅｓ）、ＥＣＵ１０は、アクセル開度、エンジン回転数、車速、吸気量、吸気温、水温、スロットル開度等の運転情報を取得してＥＥＰＲＯＭ３０に記憶する（Ｓ４０２）。そして、判定条件フラグをオフにし（Ｓ４０４）、Ｓ４００に処理を戻す。したがって、次に判定条件フラグがオンに設定されるまで、アクセル開度が全閉状態であり、エンジン回転数が所定回転数以上であっても、Ｓ４０２で運転情報を記憶する処理は実行されない。
【００４８】
（判定条件設定処理１）
図３は、アクセル開度全閉時に運転者がエンジンブレーキを使用したときのエンジン回転数の傾向に基づいて、図２のＳ４００において、アクセル開度全閉時のエンジン回転数と比較するエンジン回転数の範囲を設定する判定条件設定処理１を示すフローチャートである。判定条件設定処理１は常時実行される。
【００４９】
まず、ＥＣＵ１０は、アクセル開度全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過しているか否かを判定する（Ｓ４１０）。
アクセル開度が全閉ではないか、車速が４０ｋｍ／ｈ以下か、あるいはアクセル開度全閉で車速が４０ｋｍ／ｈを超えている状態がまだ２秒経過していない場合（Ｓ４１０：Ｎｏ）、ＥＣＵ１０は、条件成立フラグをオフにし（Ｓ４１２）、Ｓ４１０に処理を戻す。
【００５０】
条件成立フラグの初期値はオフである。条件成立フラグは、オフであればＳ４１０の条件が成立していないことを示し、オンであればＳ４１０の条件が継続して成立していることを示す。
【００５１】
２秒以上経過していることを条件にしているのは、２秒以上経過を判定条件から削除し、アクセル開度全閉で車速が４０ｋｍ／ｈを超えているだけの判定条件では、エンジンブレーキの作動開始直後のエンジン回転数が高い状態でＳ４１０の判定が「Ｙｅｓ」になり、そのときのエンジン回転数が、アクセル開度全閉時にエンジンブレーキを使用したときのエンジン回転数の傾向として処理されることを防止するためである。
【００５２】
アクセル開度全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過すれば、エンジンブレーキの作動により、図４に示すようにエンジン回転数は低下する。アクセル開度全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過している場合（Ｓ４１０：Ｙｅｓ）、ＥＣＵ１０はＳ４１４に処理を移行する。
【００５３】
Ｓ４１４においてＥＣＵ１０は、条件成立フラグがオンであるか否かを判定する。条件成立フラグがオンであれば（Ｓ４１４：Ｙｅｓ）、ＥＣＵ１０は、Ｓ４１０の条件が継続して成立していると判断し、Ｓ４１０に処理を戻す。つまり、ＥＣＵ１０は、Ｓ４１０の条件が成立し、Ｓ４１６以降のカウンタのカウントアップ処理を１回実行すると、Ｓ４１０の条件が成立しなくなり、Ｓ４１２で条件成立フラグがオフになるまでＳ４１６以降のカウンタのカウントアップ処理を実行しない。
【００５４】
条件成立フラグがオフであれば（Ｓ４１４：Ｎｏ）、ＥＣＵ１０は、Ｓ４１０の条件が成立していない状態から成立している状態に移行したと判断し、条件成立フラグをオンにし（Ｓ４１６）、エンジン回転数を記憶し（Ｓ４１８）、Ｓ４２０に処理を移行する。
【００５５】
エンジン回転数が４０００ｒｐｍ以上５０００ｒｐｍ未満であれば（Ｓ４２０：Ｙｅｓ）、ＥＣＵ１０は、アクセル開度全閉時のエンジン回転数が該当する４０００ｒｐｍ以上５０００ｒｐｍ未満の段階に対応する５０００ｒｐｍ未満領域カウンタ３２と、この段階よりもエンジン回転数が低い段階に対応する４０００ｒｐｍ未満領域カウンタ３４および３０００ｒｐｍ未満領域カウンタ３６とをそれぞれカウントアップし（Ｓ４２２、Ｓ４２４、Ｓ４２６）する。つまり、ＥＣＵ１０は、アクセル開度全閉時のエンジン回転数が該当する段階と、それよりもアクセル開度全閉時のエンジン回転数が到達しやすい低回転数の段階とに対応するカウンタをカウントアップし、Ｓ４２８に処理を移行する。
【００５６】
エンジン回転数が４０００ｒｐｍ以上５０００ｒｐｍ未満でなければ（Ｓ４２０：Ｎｏ）、ＥＣＵ１０は、エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満であるか否かを判定する（Ｓ４３２）。エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満であれば（Ｓ４３２：Ｙｅｓ）、ＥＣＵ１０は、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６をそれぞれカウントアップし（Ｓ４３４、Ｓ４３６）、Ｓ４３８に処理を移行する。
【００５７】
エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満でなければ（Ｓ４３２：Ｎｏ）、ＥＣＵ１０は、エンジン回転数が３０００ｒｐｍ未満であるか否かを判定する（Ｓ４４２）。
【００５８】
エンジン回転数が４０００ｒｐｍ以上５０００ｒｐｍ未満ではなく（Ｓ４２０：Ｎｏ）、３０００ｒｐｍ以上４０００ｒｐｍ未満ではなく（Ｓ４３２：Ｎｏ）、３０００ｒｐｍ未満でなければ（Ｓ４４２：Ｎｏ）、アクセル開度全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過してもエンジン回転数は５０００ｒｐｍ以上であることを表わしている。この車両走行状態は、運転者の運転操作に対応しない予期せぬ運転状態と考えられるので、そのときの運転情報を記憶したい車両挙動である。
【００５９】
したがって、ＥＣＵ１０はＳ４４２の判定が「Ｎｏ」であれば、図３の判定条件設定処理１において、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件を変更せず、ＳＳ４１０に処理を戻す。
【００６０】
エンジン回転数が３０００ｒｐｍ未満であれば（Ｓ４４２：Ｙｅｓ）、ＥＣＵ１０は、３０００ｒｐｍ未満領域カウンタ３６をカウントアップし（Ｓ４４４）、Ｓ４４６に処理を移行する。
【００６１】
Ｓ４２８においてＥＣＵ１０は、５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回を超えているか否かを判定する。５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回を超えている場合（Ｓ４２８：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を、４０００ｒｐｍ以上５０００ｒｐｍ未満の段階と、それよりもアクセル開度全閉時にエンジン回転数の到達が困難な高回転数の方向で隣接する５０００ｒｐｍ以上の段階との境界条件である５０００ｒｐｍ以上に設定し（Ｓ４３０）、Ｓ４５０に処理を移行する。
【００６２】
５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回以下の場合（Ｓ４２８：Ｎｏ）、ＥＣＵ１０はＳ４３８に処理を移行する。
Ｓ４３８においてＥＣＵ１０は、４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えているか否かを判定する。４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えている場合（Ｓ４３８：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を、３０００ｒｐｍ以上４０００ｒｐｍ未満の段階と、それよりもアクセル開度全閉時にエンジン回転数の到達が困難な高回転数の方向で隣接する４０００ｒｐｍ以上５０００ｒｐｍ未満の段階との境界条件である４０００ｒｐｍ以上に設定し（Ｓ４４０）、Ｓ４５０に処理を移行する。
【００６３】
４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回以下の場合（Ｓ４３８：Ｎｏ）、ＥＣＵ１０はＳ４４６に処理を移行する。
Ｓ４４６においてＥＣＵ１０は、３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えているか否かを判定する。３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えている場合（Ｓ４４６：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を、３０００ｒｐｍ未満の段階と、それよりもアクセル開度全閉時にエンジン回転数の到達が困難な高回転数の方向で隣接する３０００ｒｐｍ以上４０００ｒｐｍ未満の段階との境界条件である３０００ｒｐｍ以上に設定し（Ｓ４４８）、Ｓ４５０に処理を移行する。
【００６４】
Ｓ４５０においてＥＣＵ１０は、判定条件フラグをオンに設定し、Ｓ４１０に処理を戻す。つまり、Ｓ４３０、Ｓ４４０またはＳ４４８のいずれかで、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する所定のエンジン回転数の範囲が設定されると、判定条件フラグをオンに設定することにより、図２のＳ４００において、アクセル開度が全閉状態であり、エンジン回転数が所定回転数以上の場合に、そのときの運転情報の記憶が許可される。
【００６５】
３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回以下の場合（Ｓ４４６：Ｎｏ）、５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６のいずれのカウント数も５回以上ではないので、ＥＣＵ１０はＳ４１０に処理を移行する。
【００６６】
（起動時処理）
図５は、判定条件設定処理１においてＥＥＰＲＯＭ３０のカウンタ３２、３４、３６に設定されたカウント数に基づいて、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する所定のエンジン回転数の範囲を、車両の運転開始時に設定する起動時処理を示すフローチャートである。起動時処理はスタートスイッチがオンになり、車両の運転が開始されるときに１回実行される。
【００６７】
５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回を超えている場合（Ｓ４６０：Ｙｅｓ）、ＥＣＵ１０は，図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件であるエンジン回転数の範囲を５０００ｒｐｍ以上に設定し（Ｓ４６２）、本処理を終了する。
【００６８】
５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回以下の場合（Ｓ４６０：Ｙｅｓ）、ＥＣＵ１０は、４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えているか否かを判定する（Ｓ４６４）。
【００６９】
４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えている場合（Ｓ４６４：Ｙｅｓ）、ＥＣＵ１０は，図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件であるエンジン回転数の範囲を４０００ｒｐｍ以上に設定し（Ｓ４６６）、本処理を終了する。
【００７０】
４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回以下の場合（Ｓ４６４：Ｎｏ）、ＥＣＵ１０は、３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えているか否かを判定する（Ｓ４６８）。
【００７１】
３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えている場合（Ｓ４６８：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を３０００ｒｐｍ以上に設定し（Ｓ４７０）、本処理を終了する。
【００７２】
３０００ｒｐｍ未満領域カウンタのカウント数が５回以下の場合（Ｓ４６８：Ｎｏ）、ＥＣＵ１０は、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件を変更せず初期値の状態で（Ｓ４７２）、本処理を終了する。
【００７３】
以上説明した図３の判定条件設定処理１では、車両挙動であるアクセル開度全閉時のエンジン回転数が、（段階１）４０００ｒｐｍ以上５０００ｒｐｍ未満、（段階２）３０００ｒｐｍ以上４０００ｒｐｍ未満、（段階３）３０００ｒｐｍ未満の３段階に分けられている。
【００７４】
そして、各段階に対応して設定されているカウンタのカウント数に基づいて、アクセル開度全閉時のエンジン回転数と比較する判定条件であるエンジン回転数の範囲を車両運転中に設定する。したがって、エンジンブレーキを使用する運転者の運転操作の傾向により頻繁に発生するアクセル開度全閉時のエンジン回転数の範囲を、運転情報を記憶する判定条件から除外できる。
【００７５】
これにより、エンジンブレーキを使用する運転者の運転操作の傾向により発生するのではなく、アクセル開度全閉時に運転者の運転操作に対応しない高回転にエンジン回転数が上昇したときに、そのときの運転情報をＥＥＰＲＯＭ３０に記憶することができる。その結果、ＥＥＰＲＯＭ３０に記憶された運転情報に基づいて、アクセル開度全閉時にエンジン回転数が予期せぬ高回転に上昇した原因を解析できる。
【００７６】
また、図３の判定条件設定処理１では、車両挙動としてアクセル開度全閉時のエンジン回転数が該当すると判定された段階のカウンタと、この段階よりもアクセル開度全閉時のエンジン回転数が到達しやすい低回転数の段階のカウンタとをカウントアップする。このように、アクセル開度全閉時において実際に到達しているエンジン回転数の段階のカウンタだけでなく、それよりもアクセル開度全閉時にエンジン回転数が到達しやすい段階のカウンタもカウントアップするので、各段階のカウンタのカウント数が上昇しやすい。その結果、カウントアップされる各段階のカウンタのカウント数に基づいて、判定条件が変更される頻度が上昇する。
【００７７】
また、図５の起動時処理では、車両の運転が開始されてから停止されるまでの前回のトリップの間にカウントされた５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６のカウント数をＥＥＰＲＯＭ３０から読み出し、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する所定のエンジン回転数の範囲を設定する。したがって、前回のトリップまでにおいて、アクセル開度全閉時に運転者がエンジンブレーキを使用したときのエンジン回転数の傾向を継承して、今回のトリップの開始時に判定条件を設定できる。
【００７８】
図１においては、ＥＣＵ１０が本発明の電子制御装置に相当し、ＥＥＰＲＯＭ３０が本発明の記憶部に相当する。
また、図２の運転情報記憶処理１において、Ｓ４００においてアクセル開度全閉時のエンジン回転数が所定回転数以上であるか否かを判定する処理が本発明の挙動判定手段が実行する機能に相当し、Ｓ４０２においてアクセル開度、エンジン回転数、車速、吸気量、吸気温、水温、スロットル開度等の運転情報をＥＥＰＲＯＭ３０に記憶する処理が本発明の運転情報記憶手段が実行する機能に相当する。
【００７９】
また、図３の判定条件設定処理１において、Ｓ４２０、Ｓ４３２、Ｓ４４２の処理が本発明の段階判定手段が実行する機能に相当し、Ｓ４２２〜Ｓ４２６、Ｓ４３４、Ｓ４３６、Ｓ４４４の処理が本発明のカウント手段が実行する機能に相当し、Ｓ４２８、Ｓ４３０、Ｓ４３８、Ｓ４４０、Ｓ４４６、Ｓ４４８の処理が本発明の判定条件設定手段が実行する機能に相当する。
【００８０】
また、図５のＳ４６０〜Ｓ４７２の処理が本発明の判定条件設定手段が実行する機能に相当する。
（判定条件設定処理２）
次に、図３に示す判定条件設定処理１とは異なる判定条件設定処理２のフローチャートを図６に示す。判定条件設定処理２は常時実行される。
【００８１】
図６のＳ４８０〜Ｓ４８８の処理は、図３のＳ４１０〜Ｓ４１８の処理と実質的に同一である。
Ｓ４９０においてＥＣＵ１０は、エンジン回転数が３０００ｒｐｍ未満であるか否かを判定する。エンジン回転数が３０００ｒｐｍ以上であれば（Ｓ４９０：Ｎｏ）、ＥＣＵ１０はＳ４９８に処理を移行する。
【００８２】
エンジン回転数が３０００ｒｐｍ未満であれば（Ｓ４９０：Ｙｅｓ）、ＥＣＵ１０は、３０００ｒｐｍ未満の段階に対応する３０００ｒｐｍ未満領域カウンタ３６だけをカウントアップし（Ｓ４９２）、Ｓ４９４に処理を移行する。
【００８３】
Ｓ４９８においてＥＣＵ１０は、エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満であるか否かを判定する。エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満であれば（Ｓ４９８：Ｙｅｓ）、ＥＣＵ１０は、３０００ｒｐｍ以上４０００ｒｐｍ未満の段階に対応する４０００ｒｐｍ未満領域カウンタ３４だけをカウントアップし（Ｓ５００）、Ｓ５０２に処理を移行する。
【００８４】
エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満でなければ（Ｓ４９８：Ｎｏ）、ＥＣＵ１０は、エンジン回転数が４０００ｒｐｍ以上５０００ｒｐｍ未満であるか否かを判定する（Ｓ５０６）。
【００８５】
エンジン回転数が３０００ｒｐｍ未満ではなく（Ｓ４９０：Ｎｏ）、３０００ｒｐｍ以上４０００ｒｐｍ未満ではなく（Ｓ４９８：Ｎｏ）、４０００ｒｐｍ以上５０００ｒｐｍ未満でなければ（Ｓ５０６：Ｎｏ）、アクセル開度全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過してもエンジン回転数は５０００ｒｐｍ以上であることを表わしている。
【００８６】
この車両挙動は、運転者の運転操作に対応しない予期せぬ運転状態と考えられるので、そのときの運転情報を記憶したい車両挙動である。
したがって、ＥＣＵ１０はＳ５０６の判定が「Ｎｏ」であれば、図６の判定条件設定処理２において、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件を変更せず、ＳＳ４８０に処理を戻す。
【００８７】
エンジン回転数が４０００ｒｐｍ以上５０００ｒｐｍ未満であれば（Ｓ５０６：Ｙｅｓ）、ＥＣＵ１０は、４０００ｒｐｍ以上５０００ｒｐｍ未満の段階に対応する５０００ｒｐｍ未満領域カウンタ３２だけをカウントアップし（Ｓ５０８）、Ｓ５１０に処理を移行する。
【００８８】
Ｓ４９４においてＥＣＵ１０は、３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えているか否かを判定する。３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えている場合（Ｓ４９４：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を、３０００ｒｐｍ未満の段階と、それよりもアクセル開度全閉時にエンジン回転数の到達が困難な高回転数の方向で隣接する３０００ｒｐｍ以上４０００ｒｐｍ未満の段階との境界条件である３０００ｒｐｍ以上に設定し（Ｓ４９６）、Ｓ５１４に処理を移行する。
【００８９】
Ｓ５０２においてＥＣＵ１０は、４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えているか否かを判定する。４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えている場合（Ｓ５０２：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を、３０００ｒｐｍ以上４０００ｒｐｍ未満の段階と、それよりもアクセル開度全閉時にエンジン回転数の到達が困難な高回転数の方向で隣接する４０００ｒｐｍ以上５０００ｒｐｍ未満の段階との境界条件である４０００ｒｐｍ以上に設定し（Ｓ５０４）、Ｓ５１４に処理を移行する。
【００９０】
Ｓ５１０においてＥＣＵ１０は、５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回を超えているか否かを判定する。５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回を超えている場合（Ｓ５１０：Ｙｅｓ）、ＥＣＵ１０は、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する判定条件である所定のエンジン回転数の範囲を、４０００ｒｐｍ以上５０００ｒｐｍ未満の段階と、それよりもアクセル開度全閉時にエンジン回転数の到達が困難な高回転数の方向で隣接する５０００ｒｐｍ以上の段階との境界条件である５０００ｒｐｍ以上に設定し（Ｓ５１２）、Ｓ５１４に処理を移行する。
【００９１】
Ｓ５１４においてＥＣＵ１０は、判定条件フラグをオンに設定し、Ｓ４８０に処理を戻す。つまり、Ｓ４９６、Ｓ５０４またはＳ５１２のいずれかで、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する所定のエンジン回転数の範囲が設定されると、Ｓ５１４で判定条件フラグがオンに設定されることにより、図２のＳ４００において、アクセル開度が全閉状態であり、エンジン回転数が所定回転数以上の場合に、そのときの運転情報の記憶が許可される。
【００９２】
図６の判定条件設定処理２で設定された判定条件は、図５に示す起動時処理により、車両の運転開始時に判定条件として設定される。
ここで、例えば、図３の判定条件設定処理１において、アクセル開度が全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過する車両挙動が６回発生し、６回のうちＳ４３２の判定が３回「Ｙｅｓ」になり、Ｓ４４２の判定が３回「Ｙｅｓ」になると、図７の（Ａ）に示すように、４０００ｒｐｍ未満領域カウンタ３４のカウント数は３になり、３０００ｒｐｍ未満領域カウンタ３６のカウント数は６になる。その結果、Ｓ４００においてアクセル開度全閉時のエンジン回転数と比較される判定条件は３０００ｒｐｍ以上に設定される。
【００９３】
一方、図６の判定条件設定処理２において、アクセル開度が全閉で車速が４０ｋｍ／ｈを超えている状態が２秒以上経過する車両挙動が６回発生し、６回のうちＳ４９０の判定が３回「Ｙｅｓ」になり、Ｓ４９８の判定が３回「Ｙｅｓ」になると、図７の（Ｂ）に示すように、４０００ｒｐｍ未満領域カウンタ３４のカウント数は３になり、３０００ｒｐｍ未満領域カウンタ３６のカウント数は３になる。このカウント数では、Ｓ４００においてアクセル開度全閉時のエンジン回転数と比較される判定条件は変更されない。
【００９４】
つまり、アクセル開度全閉時に、エンジン回転数が３０００ｒｐｍ以上４０００ｒｐｍ未満の段階が表わす車両挙動が３回発生し、３０００ｒｐｍ未満の段階が表わす車両挙動が３回発生すると、判定条件設定処理１では、Ｓ４００においてアクセル開度全閉時のエンジン回転数と比較される判定条件が変更され、判定条件設定処理２では変更されない。
【００９５】
このように、判定条件設定処理２では、アクセル開度全閉時のエンジン回転数が該当する段階のカウンタだけがカウントアップされるので、判定条件を変更する頻度は判定条件設定処理１に比べて低下する。一方、エンジンブレーキを使用する運転者の運転操作の傾向が各段階のカウンタのカウント数に反映されるので、各段階のカウント数に基づいて、運転者の運転操作の傾向を適切に反映した判定条件を設定できる。
【００９６】
図６の判定条件設定処理２において、Ｓ４９０、Ｓ４９８、Ｓ５０６の処理が本発明の段階判定手段が実行する機能に相当し、Ｓ４９２、Ｓ５００、Ｓ５０８の処理が本発明のカウント手段が実行する機能に相当し、Ｓ４９４、Ｓ４９６、Ｓ５０２、Ｓ５０４、Ｓ５１０、Ｓ５１２の処理が本発明の判定条件設定手段が実行する機能に相当する。
【００９７】
（判定条件設定処理３）
次に、上記の判定条件設定処理１、２とは異なる判定条件設定処理３のフローチャートを図８に示す。判定条件設定処理３は常時実行される。
【００９８】
図８のＳ５２０〜Ｓ５４０の処理は図３のＳ４１０〜Ｓ４３０の処理と実質的に同一であり、図８のＳ５４６〜Ｓ５５４の処理は図３のＳ４３２〜Ｓ４４０の処理と実質的に同一であり、図８のＳ５６０〜Ｓ５６６の処理は図３のＳ４４２〜Ｓ４４８の処理と実質的に同一である。
【００９９】
図８の判定条件設定処理３では、５０００ｒｐｍ未満領域カウンタ３２のカウント数が５回を超えており（Ｓ５３８：Ｙｅｓ）、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件を５０００ｒｐｍ以上に設定すると（Ｓ５４０）、４０００ｒｐｍ未満領域カウンタ３４および３０００ｒｐｍ未満領域カウンタ３６をクリアする（Ｓ５４２、Ｓ５４４）。
【０１００】
また、４０００ｒｐｍ未満領域カウンタ３４のカウント数が５回を超えており（Ｓ５５２：Ｙｅｓ）、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件を４０００ｒｐｍ以上に設定すると（Ｓ５５４）、５０００ｒｐｍ未満領域カウンタ３２および３０００ｒｐｍ未満領域カウンタ３６をクリアする（Ｓ５５６、Ｓ５５８）。
【０１０１】
また、３０００ｒｐｍ未満領域カウンタ３６のカウント数が５回を超えており（Ｓ５６４：Ｙｅｓ）、図２のＳ４００でアクセル開度全閉時のエンジン回転数と比較する判定条件を３０００ｒｐｍ以上に設定すると（Ｓ５６６）、５０００ｒｐｍ未満領域カウンタ３２および４０００ｒｐｍ未満領域カウンタ３４をクリアする（Ｓ５６８、Ｓ５７０）。
【０１０２】
そして、Ｓ５７２においてＥＣＵ１０は、判定条件フラグをオンに設定し、Ｓ５２０に処理を戻す。つまり、Ｓ５４０、Ｓ５５４またはＳ５６６のいずれかで、図２のＳ４００においてアクセル開度全閉時のエンジン回転数と比較する所定のエンジン回転数の範囲が設定されると、判定条件フラグがオンに設定されることにより、図２のＳ４００において、アクセル開度が全閉状態であり、エンジン回転数が所定回転数以上の場合に、そのときの運転情報の記憶が許可される。
【０１０３】
図８の判定条件設定処理３で設定された判定条件は、図５に示す起動時処理により、車両の運転開始時に判定条件として設定される。
以上説明した図８の判定条件設定処理３では、ある段階のカウント数が所定回数を超えると、それ段階以外のカウント数はクリアされ初期状態からカウントアップされることになる。その結果、判定条件が頻繁に変更されることを防止するので、アクセル開度全閉時のエンジン回転数が、設定された判定条件と比較される期間が長くなる。
【０１０４】
図８の判定条件設定処理３において、Ｓ５３０、Ｓ５４６、Ｓ５６０の処理が本発明の段階判定手段が実行する機能に相当し、Ｓ５３２〜Ｓ５３６、Ｓ５４２、Ｓ５４４、Ｓ５４８、Ｓ５５０、Ｓ５５６、Ｓ５５８、Ｓ５６２、Ｓ５６８、Ｓ５７０の処理が本発明のカウント手段が実行する機能に相当し、Ｓ５３８、Ｓ５４０、Ｓ５５２、Ｓ５５４、Ｓ５６４、Ｓ５６６の処理が本発明の判定条件設定手段が実行する機能に相当する。
【０１０５】
（運転情報記憶処理２）
次に、アクセル開度全閉時のエンジン回転数に代えて車速を、運転情報を記憶する場合の判定条件の一つとする運転情報記憶処理２のフローチャートを図９に示し、図９に示す運転情報記憶処理２において、アクセル開度全閉時の車速と比較する車速の範囲を設定する判定条件設定処理４のフローチャートを図１０に示す。図９の運転情報記憶処理２および図１０の判定条件設定処理４は常時実行される。
【０１０６】
図９のフローチャートにおいてＥＣＵ１０は、アクセル開度が全閉状態であり、車速が所定車速以上であり、判定条件フラグがオンであるか否かを判定する（Ｓ５８０）。所定車速の初期値は、例えば４０ｋｍ／ｈに設定されている。また、判定条件フラグの初期値はオンに設定されている。
【０１０７】
アクセル開度が全閉状態ではないか、車速が設定された所定車速以上ではないか、判定条件フラグがオフの場合（Ｓ５８０：Ｎｏ）、ＥＣＵ１０はＳ５８０の判定処理を続ける。
【０１０８】
アクセル開度が全閉状態であり、車速が所定車速以上であり、判定条件フラグがオンの場合（Ｓ５８０：Ｙｅｓ）、ＥＣＵ１０は、アクセル開度、エンジン回転数、車速、吸気量、吸気温、水温、スロットル開度等の運転情報を取得してＥＥＰＲＯＭ３０に記憶する（Ｓ５８２）。そして、判定条件フラグをオフにし（Ｓ５８４）、Ｓ５８０に処理を戻す。したがって、次に判定条件フラグがオンに設定されるまで、アクセル開度が全閉状態であり、車速が所定車速以上であっても、Ｓ５８２で運転情報を記憶する処理は実行されない。
【０１０９】
（判定条件設定処理４）
図１０のフローチャートにおいてＥＣＵ１０は、アクセル開度の全閉状態が５秒以上経過しているか否かを判定する（Ｓ５９０）。
【０１１０】
アクセル開度が全閉ではないか、あるいはアクセル開度の全閉状態が５秒以上経過していない場合（Ｓ５９０：Ｎｏ）、ＥＣＵ１０は、条件成立フラグをオフにし（Ｓ５９２）、Ｓ５９０に処理を戻す。
【０１１１】
５秒以上経過していることを条件にしているのは、５秒以上経過を判定条件から削除し、アクセル開度全閉の条件だけでは、エンジンブレーキの作動開始直後の車速が高い状態でＳ５９０の判定が「Ｙｅｓ」になり、図９のＳ５８０でアクセル開度全閉時の車速と比較する所定車速の範囲が高速側に設定されることを防止するためである。アクセル開度全閉状態が５秒以上経過すれば車速は低下する。
【０１１２】
アクセル開度全閉状態が５秒以上経過している場合（Ｓ５９０：Ｙｅｓ）、ＥＣＵ１０は、車両走行中にエンジンブレーキが作動し車速は低下している筈であると判断し、Ｓ５９４に処理を移行する。
【０１１３】
Ｓ５９４においてＥＣＵ１０は、条件成立フラグがオンであるか否かを判定する。条件成立フラグがオンであれば（Ｓ５９４：Ｙｅｓ）、ＥＣＵ１０は、Ｓ５９０の条件が継続して成立していると判断し、Ｓ５９０に処理を戻す。つまり、ＥＣＵ１０は、Ｓ５９０の条件が成立し、Ｓ５９６以降のカウンタのカウントアップ処理を１回実行すると、Ｓ５９０の条件が成立しなくなり、Ｓ５９２で条件成立フラグがオフになるまでＳ５９６以降のカウンタのカウントアップ処理を実行しない。
【０１１４】
条件成立フラグがオフであれば（Ｓ５９４：Ｎｏ）、ＥＣＵ１０は、Ｓ５９０の条件が成立していない状態から成立している状態に移行したと判断し、条件成立フラグをオンにし（Ｓ５９６）、車速を記憶し（Ｓ５９８）、Ｓ６００に処理を移行する。
【０１１５】
図１０においてＳ６００以降の処理は、図３のフローチャートでエンジン回転数（ＮＥ）を車速に、５０００ｒｐｍを１００ｋｍ／ｈに、４０００ｒｐｍを８０ｋｍ／ｈに、３０００ｒｐｍを６０ｋｍ／ｈに置き換えた処理と実質的に同一であるから、説明を省略する。
【０１１６】
図１０の判定条件設定処理４で設定された判定条件は、図５のフローチャートでエンジン回転数（ＮＥ）を車速に、５０００ｒｐｍを１００ｋｍ／ｈに、４０００ｒｐｍを８０ｋｍ／ｈに、３０００ｒｐｍを６０ｋｍ／ｈに置き換えた起動時処理により、車両の運転開始時に判定条件として設定される。
【０１１７】
尚、図１０の判定条件設定処理４で使用する１００ｋｍ／ｈ未満領域カウンタ、８０ｋｍ／ｈ未満領域カウンタ、６０ｋｍ／ｈ未満領域カウンタは、５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６と同様に、ＥＥＰＲＯＭ３０に設定されている。
【０１１８】
以上説明した図１０の判定条件設定処理４では、各段階に対応して設定されているカウンタのカウント数に基づいて、アクセル開度全閉時の車速と比較する判定条件である車速の範囲を車両運転中に設定する。したがって、エンジンブレーキを使用する運転者の運転操作の傾向により頻繁に発生するアクセル開度全閉時の車速の範囲を、運転情報を記憶する判定条件から除外できる。
【０１１９】
これにより、エンジンブレーキを使用する運転者の運転操作の傾向により発生するのではなく、アクセル開度全閉時に運転者の運転操作に対応しない高速に車速が上昇したときに、そのときの運転情報をＥＥＰＲＯＭ３０に記憶することができる。その結果、ＥＥＰＲＯＭ３０に記憶された運転情報に基づいて、アクセル開度全閉時に車速が予期せぬ高速に上昇した原因を解析できる。
【０１２０】
図９の運転情報記憶処理２において、Ｓ５８０の処理が本発明の挙動判定手段が実行する機能に相当し、Ｓ５８２の処理が本発明の運転情報記憶手段が実行する機能に相当する。
【０１２１】
また、図１０の判定条件設定処理４において、Ｓ６００、Ｓ６１２、Ｓ６２２の処理が本発明の段階判定手段が実行する機能に相当し、Ｓ６０２〜Ｓ６０６、Ｓ６１４、Ｓ６１６、Ｓ６２４の処理が本発明のカウント手段が実行する機能に相当し、Ｓ６０８、Ｓ６１０、Ｓ６１８、Ｓ６２０、Ｓ６２６、Ｓ６２８の処理が本発明の判定条件設定手段が実行する機能に相当する。
【０１２２】
［他の実施形態］
上記実施形態では、車両挙動としてアクセル開度全閉時のエンジン回転数または車速と判定条件とを比較し、判定条件を満たす車両挙動が発生している場合に、運転者の運転操作に対応しない予期せぬ車両挙動が発生していると判断し、そのときの運転情報をＥＥＰＲＯＭ３０に記憶した。アクセル開度全閉時のエンジン回転数または車速以外にも、運転者の運転操作に対応しない予期せぬ車両挙動であれば、どのような車両挙動と判定条件とを比較してもよい。
【０１２３】
また、判定条件を満たす予期せぬ車両挙動が発生したときの運転情報を記憶する記憶部であるＥＥＰＲＯＭは、自ＥＣＵに搭載しているＥＥＰＲＯＭに限らず他のＥＣＵのＥＥＰＲＯＭであってもよい。
【０１２４】
また、予期せぬ車両挙動が発生したときの車両の運転情報を記憶する記憶部はＥＥＰＲＯＭ３０に限らず、ＳＲＡＭ２６のように車両の運転停止中もデータを保持できる書き換え可能なものであればどのような記憶部でもよい。
【０１２５】
上記実施形態では、５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６、あるいは１００ｋｍ／ｈ未満領域カウンタ、８０ｋｍ／ｈ未満領域カウンタ、６０ｋｍ／ｈ未満領域カウンタをＥＥＰＲＯＭ３０に設定することにより、車両挙動としてアクセル全閉時のエンジン回転数又は車速と比較する判定条件、つまり、運転者の運転操作に対応した車両挙動の傾向をトリップをまたいで継承できる。
【０１２６】
これに対し、運転者が頻繁に交代する場合には、運転者毎に運転操作に対応した車両挙動の傾向を新たに学習することが望ましい。そこで、上記のエンジン回転数または車速を運転情報を記憶する場合の判定条件の一つとする運転情報記憶処理、判定条件設定処理、起動時処理は変更せず、５０００ｒｐｍ未満領域カウンタ３２、４０００ｒｐｍ未満領域カウンタ３４、３０００ｒｐｍ未満領域カウンタ３６、あるいは１００ｋｍ／ｈ未満領域カウンタ、８０ｋｍ／ｈ未満領域カウンタ、６０ｋｍ／ｈ未満領域カウンタをＲＡＭ２４に設定することが考えられる。
【０１２７】
これにより、スタートスイッチがオンになり車両の運転が開始される毎に各カウンタが初期化され、起動時処理において判定条件が初期化されるので、運転者が交代する毎に、判定条件が学習される。
【０１２８】
本発明は、ガソリンエンジンまたはディーゼルエンジン等の内燃機関を駆動源とする車両、あるいは内燃機関とモータとを併用したハイブリッド車両、あるいは、図９および図１０に示す車速を判定条件とする処理であればモータを駆動源とする電気自動車のいずれに適用してもよい。
【０１２９】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【０１３０】
１０：エンジンＥＣＵ（電子制御装置、挙動判定手段、運転情報記憶手段、段階判定手段、カウント手段、判定条件設定手段）、２０：ＣＰＵ、２２：ＲＯＭ、２４：ＲＡＭ、２６：ＳＲＡＭ、３０：ＥＥＰＲＯＭ（記憶部）
【図１】
0005287929.tif 000002
【図２】
0005287929.tif 000003
【図３】
0005287929.tif 000004
【図４】
0005287929.tif 000005
【図５】
0005287929.tif 000006
【図６】
0005287929.tif 000007
【図７】
0005287929.tif 000008
【図８】
0005287929.tif 000009
【図９】
0005287929.tif 000010
【図１０】
0005287929.tif 000011