(57)【要約】【課題】異常状態等を適切に再現するデータを最小限のデータ容量で保存できる車両用制御装置を提供すること。【解決手段】ＥＣＵ３０において、ＲＡＭ３２は、車両５０に関する所定間隔毎のデータを、新しいデータにより古いデータを上書きしながら時系列で一時記憶する。また、ＣＰＵ３１は、所定の保存条件の成立を判定した場合、ＲＡＭ３２に一時記憶されている最古のデータと最新のデータを少なくとも含むデータを抽出し、抽出したデータを直線で結ぶ近似曲線を演算する。ＣＰＵ３１は、ＲＡＭ３２に一時記憶されているデータから、近似曲線を構成するデータと、近似曲線を構成しないデータであって近似曲線との誤差の大きさに基づいて選択したデータと、を要保存データであるＦＦＤに設定する。ＥＥＰＲＯＭ３４は、ＦＦＤに設定されたデータを保存する。ＣＰＵ３１は、誤差が大きいデータほど優先的にＦＦＤデータに設定する。【選択図】図１
2018018357.tif 000002
【特許請求の範囲】
【請求項１】
車両に関するデータを保存する車両用制御装置であって、
前記車両に関する所定間隔毎のデータを、新しいデータにより古いデータを上書きしながら時系列で一時記憶する蓄積部と、
所定の保存条件の成立を判定する判定部と、
前記判定部が前記保存条件の成立を判定した場合、前記蓄積部に一時記憶されている最古のデータと最新のデータを少なくとも含むデータを抽出し、抽出したデータを直線で結ぶ近似曲線を演算する演算部と、
前記蓄積部に一時記憶されているデータから、前記近似曲線を構成するデータと、前記近似曲線を構成しないデータであって前記近似曲線との誤差の大きさに基づいて選択したデータと、を要保存データに設定する要保存データ設定部と、
前記要保存データに設定されたデータを保存する保存部と、を備え、
前記要保存データ設定部は、前記誤差が大きいデータほど優先的に前記要保存データに設定することを特徴とする車両用制御装置。
【請求項２】
前記演算部は、前記蓄積部に一時記憶記されている最大のデータと最小のデータを前記近似曲線の演算用のデータとして抽出し、前記近似曲線を演算することを特徴とする請求項１に記載の車両用制御装置。
【請求項３】
前記演算部は、前記蓄積部に一時記憶されている最大のデータと最小のデータ、または、前記判定部が前記保存条件の成立を判定した時点のデータを、前記近似曲線の演算用のデータとして抽出し、前記近似曲線を演算することを特徴とする請求項１に記載の車両用制御装置。
【請求項４】
前記演算部は、前記誤差の最大値が所定値以上の場合、前記誤差が最大値のデータを前記近似曲線の演算用のデータとしてさらに抽出し、前記近似曲線を再度演算することを特徴とする請求項１から請求項３の何れか１項に記載の車両用制御装置。
【請求項５】
前記データは、前記車両に搭載された内燃機関のパラメータであることを特徴とする請求項１から請求項４の何れか１項に記載の車両用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に関するデータを保存する車両用制御装置に関する。
【背景技術】
【０００２】
自動車等の車両においては、車両に関するデータを保存する車両用制御装置が設けられている。車両用制御装置は、故障を示す故障コードが発生した場合などに、車両に関するデータをＦＦＤ（Freeze Flame Data）として不揮発性メモリに記憶するようになっている。
【０００３】
この種の車両用制御装置として、特許文献１、２に記載されたものが知られている。特許文献１に記載されたものは、所定時間毎にサンプリングされたデータのうち、特定の振り分け方法に基づいて選択したデータを不揮発性メモリに保存することで、保存するデータの量を削減するようになっている。
【０００４】
また、特許文献２に記載されたものは、計測データを含む要保存データを時間変化の大小に基づくグループに分類し、故障発生時にはグループに設定された周期で要保存データを不揮発性メモリに保存している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３６５６４号公報
【特許文献２】特開２００４−２３２４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、２に記載のものは、時間変化が大きくバックアップ周期が短く設定された種類のデータであっても、故障原因に直接的に結びつかず有用性の低い種類のデータも含まれており、このような大きな記憶容量を要するデータによって、他の故障原因に直接的に結びつく種類のデータの記憶可能領域が圧迫されてしまう。
【０００７】
また、故障原因に直接的に結びつく種類のデータであっても、データの時系列変化を必要以上に精細に記憶しようとすると、データ量が大きくなって不揮発性メモリの残容量を圧迫してしまう。
【０００８】
本発明は、上述のような事情に鑑みてなされたもので、異常状態等を適切に再現するデータを最小限のデータ容量で保存できる車両用制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明は、車両に関するデータを保存する車両用制御装置であって、前記車両に関する所定間隔毎のデータを、新しいデータにより古いデータを上書きしながら時系列で一時記憶する蓄積部と、所定の保存条件の成立を判定する判定部と、前記判定部が前記保存条件の成立を判定した場合、前記蓄積部に一時記憶されている最古のデータと最新のデータを少なくとも含むデータを抽出し、抽出したデータを直線で結ぶ近似曲線を演算する演算部と、前記蓄積部に一時記憶されているデータから、前記近似曲線を構成するデータと、前記近似曲線を構成しないデータであって前記近似曲線との誤差の大きさに基づいて選択したデータと、を要保存データに設定する要保存データ設定部と、前記要保存データに設定されたデータを保存する保存部と、を備え、前記要保存データ設定部は、前記誤差が大きいデータほど優先的に前記要保存データに設定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、異常状態等を適切に再現するデータを最小限のデータ容量で保存できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施例に係る車両用制御装置を搭載する車両の構成図である。
【図２】図２は、本発明の一実施例に係る車両用制御装置において実施される、データ保存動作の流れを説明するフローチャートである。
【図３】図３は、本発明の一実施例に係る車両用制御装置において実施される、要保存データ設定処理の一部の流れを説明するフローチャートである。
【図４】図４は、本発明の一実施例に係る車両用制御装置において実施される、要保存データ設定処理の残りの流れを説明するフローチャートである。
【図５】図５は、本発明の一実施例に係る車両用制御装置のＥＥＰＲＯＭに保存される要保存データの選択過程を説明する図である。
【図６】図６は、本発明の一実施例に係る車両用制御装置のＲＡＭに一時記憶されているデータの一例を示す図である。
【発明を実施するための形態】
【００１２】
本発明の一実施の形態に係る車両用制御装置は、車両に関するデータを保存する車両用制御装置であって、車両に関する所定間隔毎のデータを、新しいデータにより古いデータを上書きしながら時系列で一時記憶する蓄積部と、所定の保存条件の成立を判定する判定部と、判定部が保存条件の成立を判定した場合、蓄積部に一時記憶されている最古のデータと最新のデータを少なくとも含むデータを抽出し、抽出したデータを直線で結ぶ近似曲線を演算する演算部と、蓄積部に一時記憶されているデータから、近似曲線を構成するデータと、近似曲線を構成しないデータであって近似曲線との誤差の大きさに基づいて選択したデータと、を要保存データに設定する要保存データ設定部と、要保存データに設定されたデータを保存する保存部と、を備え、要保存データ設定部は、誤差が大きいデータほど優先的に要保存データに設定することを特徴とする。これにより、本発明の一実施の形態に係る車両用制御装置は、異常状態等を適切に再現するデータを最小限のデータ容量で保存できる。
【実施例】
【００１３】
以下、図面を参照して、本発明の実施例について詳細に説明する。図１において、本発明の実施例に係る車両用制御装置を搭載した車両５０は、内燃機関２０と、複数（ｎ個）のセンサ４０と、車両用制御装置としてのＥＣＵ（Electronic Control Unit）３０と、を含んで構成されている。
【００１４】
内燃機関２０は、ピストンが気筒内を２往復する間に吸気行程、圧縮行程、膨張行程及び排気行程からなる一連の４行程を行なう４サイクルのエンジンによって構成されている。各気筒に収納されたピストンは、コネクティングロッドを介してクランクシャフトに連結されている。コネクティングロッドは、ピストンの往復動をクランクシャフトの回転運動に変換する。したがって、内燃機関２０は、気筒内の燃焼室で燃料と空気との混合気を燃焼させることによりピストンを往復動させ、コネクティングロッドを介してクランクシャフトを回転させることにより、車両５０を駆動させる駆動力を発生するようになっている。
【００１５】
センサ４０は、内燃機関２０に配置されたスロットルポジションセンサ、クランク角センサ、カム角センサ、エアフローセンサ、吸気温センサ、吸気管圧力センサ、油温センサ、冷却水温センサ、等であり、検出信号をＥＣＵ３０に送信する。
【００１６】
また、センサ４０は、車両５０に配置されたアクセルポジションセンサ、ブレーキセンサ、シフトポジションセンサ、車速センサ、Ｇセンサ、等であり、検出信号をＥＣＵ３０に送信する。
【００１７】
スロットルポジションセンサは、スロットルバルブの位置（スロットル開度）を検出する。クランク角センサは、内燃機関２０のクランクシャフトの回転角度に基づくエンジン回転数を検出する。カム角センサは、内燃機関のカムシャフトの回転角度と機関回転速度とを検出する。エアフローセンサは、吸気管を通って内燃機関２０に吸気される空気の吸気量を検出する。吸気温センサは、吸気管を通って内燃機関２０に吸気される空気の吸気温度を検出する。吸気管圧力センサは、吸気管の内部の圧力を検出する。油温センサは、内燃機関２０を流通するエンジンオイルの温度（油温）を検出する。冷却水温センサは、内燃機関２０を流通する冷却水の温度（冷却水温）を検出する。
【００１８】
アクセルポジションセンサは、運転席に設けられたアクセルペダルの位置（踏み込み量）を検出する。ブレーキセンサは、運転席に設けられたブレーキペダルの位置（踏み込み量）を検出する。シフトポジションセンサは、運転席に設けられたシフトレバーの位置に基づく変速段の位置を検出する。車速センサは、ドライブシャフトの回転速度に基づく車速（車両速度）を検出する。Ｇセンサは、車両５０の加速度を検出する。
【００１９】
ＥＣＵ３０は、ＣＰＵ（Central Processing Unit）３１と、ＲＡＭ（Random Access Memory）３２と、ＲＯＭ（Read Only Memory）３３と、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）３４と、入出力ポート３５とを備えたコンピュータユニットによって構成されている。
【００２０】
ＥＣＵ３０のＲＯＭ３３には、各種制御定数や各種マップ等とともに、当該コンピュータユニットをＥＣＵ３０として機能させるためのプログラムが記憶されている。すなわち、ＣＰＵがＲＯＭ３３に記憶されたプログラムを実行することにより、当該コンピュータユニットは、ＥＣＵ３０として機能する。
【００２１】
ＥＣＵ３０の入出力ポート３５には、上述の複数のセンサ４０が接続されている。一方、ＥＣＵ３０の入出力ポート３５には、インジェクタ、スロットルバルブ等のアクチュエータが接続されている。ＥＣＵ３０は、複数のセンサ４０から入力された検出信号に基づいて内燃機関２０の運転状態を電気的に制御するようになっている。
【００２２】
また、ＥＣＵ３０は、故障や異常等の所定の保存条件の成立時にデータを保存するデータ保存機能も備えている。ＥＣＵ３０は、車両５０や内燃機関２０に関する異常や故障等が発生した場合、ＲＡＭ３２に一時記憶されているデータから、保存を要するデータ（以下、要保存データという）を選択し、選択したデータを不揮発性メモリであるＥＥＰＲＯＭ３４に保存する。要保存データは、いわゆるＦＦＤ（Freeze frame data：フリーズ・フレーム・データ）である。本実施例のＥＣＵ３０は、本発明における車両用制御装置を構成している。ＦＦＤは本発明における要保存データを構成する。
【００２３】
ＥＣＵ３０は、複数のセンサ４０から入力されたエンジン回転速度や吸気温度等の検出信号のデータや、これらのデータからＣＰＵ３１により算出した機関負荷等のデータを、揮発性メモリであるＲＡＭ３２に一時記憶するようになっている。すなわち、ＲＡＭ３２に一時記憶されるデータは、車両５０に搭載された内燃機関２０のパラメータである。また、ＲＡＭ３２に一時記憶されるデータは、内燃機関２０のパラメータに限定されず、車両５０のアクセルポジションセンサで検出されたアクセルペダルの踏み込み量であってもよい。
【００２４】
ＲＡＭ３２は、リングバッファの構造を有するデータ記憶領域を有しており、車両５０に関する所定間隔毎のデータを、新しいデータにより古いデータを上書きしながら時系列で一時記憶するようになっている。ＲＡＭ３２は本発明における蓄積部を構成する。
【００２５】
ＣＰＵ３１は、所定の保存条件の成立を判定する。所定の保存条件は、車両５０や内燃機関２０に関する異常や故障等が発生したことを含む。また、所定の保存条件は、異常や故障等に限定されず、例えば、任意のデータが所定の閾値を超えたことを含む。ＣＰＵ３１は本発明における判定部を構成する。
【００２６】
ＣＰＵ３１は、保存条件の成立を判定した場合、ＲＡＭ３２に一時記憶されている最古のデータと最新のデータを少なくとも含むデータを抽出し、抽出したデータを直線で結ぶ近似曲線を演算する。ＣＰＵ３１は本発明における演算部を構成する。
【００２７】
このように、ＥＣＵ３０において、ＣＰＵ３１は、所定の保存条件の成立時の前後の期間のデータのみを保存対象とするのではなく、ＲＡＭ３２に一時記憶されている最古のデータまで遡ってＦＦＤの候補となるデータを選択している。なお、ＦＦＤのデータ種別は、保存条件毎に定められている。例えば、エンジンストールに相当する態様で機関回転速度が変化したことで保存条件が成立した場合、少なくとも機関回転速度のデータをＦＦＤの候補として取り扱うが、例えば、吸気温のデータは保存対象としない。
【００２８】
また、ＣＰＵ３１は、ＲＡＭ３２に一時記憶記されている最大のデータと最小のデータを近似曲線の演算用のデータとして抽出し、近似曲線を演算する。これにより、ＲＡＭ３２に一時記憶されている最古のデータ、最新のデータ、最大のデータ、最小のデータの４点のデータに基づいて、近似曲線が演算される。
【００２９】
ＣＰＵ３１は、ＲＡＭ３２に一時記憶されている最大のデータと最小のデータ、または、保存条件の成立を判定した時点のデータを、近似曲線の演算用のデータとして抽出し、近似曲線を演算する。これにより、例えば、ＲＡＭ３２に一時記憶されている最古のデータ、最新のデータ、最大のデータ、最小のデータ、保存条件の成立時のデータからなる５点のデータに基づいて、近似曲線が演算される。
【００３０】
ＣＰＵ３１は、誤差の最大値が所定値以上の場合、誤差が最大値のデータを近似曲線の演算用のデータとしてさらに抽出し、近似曲線を再度演算する。
【００３１】
ＣＰＵ３１は、ＲＡＭ３２に一時記憶されているデータから、近似曲線を構成するデータと、近似曲線を構成しないデータであって近似曲線との誤差の大きさに基づいて選択したデータと、を要保存データであるＦＦＤに設定する。ＣＰＵ３１は要保存データ設定部を構成する。
【００３２】
ＥＥＰＲＯＭ３４は、ＣＰＵ３１によりＦＦＤに設定されたデータを保存する。ＥＥＰＲＯＭ３４は本発明における保存部を構成する。本実施例では、ＣＰＵ３１は、誤差が大きいデータほど優先的にＦＦＤに設定するようになっている。
【００３３】
次に、図２、図３、図４を参照して、本実施例に係る車両用制御装置においてＥＣＵ３０により実行されるデータ保存動作について説明する。なお、このデータ保存動作における各処理は、ＥＣＵ３０のＣＰＵ３１により実施される。
【００３４】
このデータ保存動作は、ＥＣＵ３０のデータ保存機能を実現するための動作である。また、このデータ保存動作では、内燃機関２０に故障や異常が発生したことを所定の保存条件としている。データ保存動作において、ＥＣＵ３０は、故障等の異常状態が発生した際に、ＲＡＭ３２の一時記憶データの中から保存対象のデータを選択し、この選択されたデータをＦＦＤとしてＥＥＰＲＯＭ３４に保存する。なお、これらのフローチャートにおける「近似関数」とは、近似曲線を表す関数であるが、近似曲線と同意として扱う。また、以下のフローチャートでは、データのことを計測データとも記す。
【００３５】
図２に示すデータ保存処理のフローチャートにおいて、ステップＳ１で、ＥＣＵ３０は、故障の発生を検出する。これにより、所定の保存条件が成立する。
【００３６】
ステップＳ２で、ＥＣＵ３０は、故障コードを取得する。ここで、ＥＣＵ３０のＲＯＭ３３には、ＦＦＤとしてＥＥＰＲＯＭ３４に保存するデータのデータ数Ｎｓ（Ｎｓ≧２とする）と故障コードとを対応付けるテーブルが記憶されている。このテーブルには、例えば、機関回転速度を検出するセンサの故障を表す故障コードが発生している場合に、機関回転速度以外の信号の保存のための割当データ量が少なくなり、機関回転速度の保存のための割当データ量が多くなるように、各故障コードにおける保存すべきデータ種別とデータ数Ｎｓが定められている。すなわち、このテーブルでは、故障コードに対応して、データ種別ごとに割当データ量の重み付けを行っている。これにより、故障コードとの関連の大きいデータを、精細で再現性の良い時系列データで保存できる。なお、データ種別ごとの割当データ量は、予めＲＯＭ３３に定めておく手法に代えて、データの波形等に応じて演算することでリアルタイムに決定してもよい。この場合、割当データ量を定めるテーブルが不要となる。
【００３７】
ステップＳ３で、ＥＣＵ３０は、各信号（図中、シグナルと記す）のデータ数を決定する。ここでは、ＥＣＵ３０は、ＥＥＰＲＯＭ３４に保存するデータ数Ｎｓを、故障コードに対応付けられた複数のデータ種別毎に決定する。
【００３８】
ステップＳ４で、ＥＣＵ３０は、後述する要保存データ設定処理を実行する。このステップＳ４では、図３、図４を参照して以下に説明するように、ＲＡＭ３２に一時記憶されているデータのデータ数Ｎｄを参照しつつ、ＥＥＰＲＯＭ３４に保存するデータ数Ｎｓに基づいて、要保存データ（ＦＦＤ）を選択する。その後、ＥＣＵ３０は、今回の動作を終了する。
【００３９】
図３、図４に示す要保存データ設定処理のフローチャートにおいて、ステップＳ１１で、ＥＣＵ３０は、ＦＦＤとして保存するデータ（図中、Ｓｉｇｎａｌ_ｎ）のデータ数Ｎｓの値を、発生した故障コードを参照して設定する。ここでは、前述のステップＳ３で決定されたデータ数Ｎｓの値を、このステップ１１におけるデータ数Ｎｓとして設定する。
【００４０】
ステップＳ１２で、ＥＣＵ３０は、ＲＡＭ３２に一時記憶する計測データのデータ数Ｎｄの値を、発生した故障コードを参照して設定する。ここでは、前述のステップＳ３で決定されたデータ数Ｎｄの値を、このステップ１２におけるデータ数Ｎｄとして設定する。
【００４１】
ステップＳ１３で、ＥＣＵ３０は、ＲＡＭ３２に一時記憶されているデータから、計測データの開始時点のデータ（Ｄｓｔ）および終了時点のデータ（Ｄｅｎｄ）を抽出する。ここで、開始時点のデータ（Ｄｓｔ）は最古のデータであり、終了時点のデータ（Ｄｅｎｄ）は最新のデータである。そして、ＦＦＤ用のデータのデータ数ｎを定義する。なお、要保存データ設定処理では、ＤｓｔとＤｅｎｄの間の期間のデータに基づいて近似関数が演算されるようになっており、ＤｓｔとＤｅｎｄの範囲外に外挿空間は作られない。外挿とは、既知の数値データを基にデータ範囲外の数値を予測して求めることである。
【００４２】
ステップＳ１４で、ＥＣＵ３０は、Ｎｓが４点以上あるか否かを判定する。この判定は、以降の処理で許容範囲以上のデータ点が選択されるのを防ぐために行われる。
【００４３】
ステップＳ１５で、ＥＣＵ３０は、ＲＡＭ３２に一時記憶されている計測データから最大データ（Ｄｍａｘ）を抽出する。
【００４４】
ステップＳ１６で、ＥＣＵ３０は、ＤｓｔまたはＤｅｎｄの何れかとＤｍａｘが同じ値であるか否かを判定する。ＥＣＭ３０は、ＤｓｔまたはＤｅｎｄの何れかとＤｍａｘが同じ値である場合はステップＳ１７に進み、ＤｓｔまたはＤｅｎｄの何れかとＤｍａｘが同じ値でない場合はステップＳ１８に進む。
【００４５】
ステップＳ１７で、ＥＣＵ３０は、Ｄｍａｘを削除する。ここでは、ＤｓｔまたはＤｅｎｄの何れかとＤｍａｘが同じ計測点であり重複しているため、Ｄｍａｘを除外してＤｓｔとＤｅｎｄのみを残すことでデータの重複を解消している。
【００４６】
ステップＳ１８で、ＥＣＵ３０は、ｎを１増加する。ステップＳ１９で、ＥＣＵ３０は、ＲＡＭ３２に一時記憶されている計測データから最小データ（Ｄｍｉｎ）を抽出する。
【００４７】
ステップＳ２０で、ＥＣＵ３０は、ＤｓｔまたはＤｅｎｄの何れかとＤｍｉｎが同じ値であるか否かを判定する。ＥＣＭ３０は、ＤｓｔまたはＤｅｎｄの何れかとＤｍｉｎが同じ値である場合はステップＳ２１に進み、ＤｓｔまたはＤｅｎｄの何れかとＤｍｉｎが同じ値でない場合はステップＳ２２に進む。
【００４８】
ステップＳ２１で、ＥＣＵ３０は、Ｄｍｉｎを削除する。ここでは、ＤｓｔまたはＤｅｎｄの何れかとＤｍｉｎが同じ計測点であり重複しているため、Ｄｍｉｎを除外してＤｓｔとＤｅｎｄのみを残すことでデータの重複を解消している。
【００４９】
ステップＳ２２で、ＥＣＵ３０は、ｎを１増加する。ステップＳ２３で、ＥＣＵ３０は、これまでに抽出したデータから近似関数を作成する。ここでは、ＥＣＵ３０は、抽出済のデータを直線で結ぶことで近似関数を作成する。
【００５０】
ステップＳ２４で、ＥＣＵ３０は、近似関数と計測データの間の最大誤差が０であるか否かを判定する。ＥＣＵ３０は、最大誤差が０である場合はステップＳ２５に進み、最大誤差が０でない場合はステップＳ２７に進む。ここで、最大誤差が０である場合とは、１本の直線で近似関数が表現できる場合である。また、最大誤差が０でない場合とは、複数の点を直線で結んで近似直線を表現する場合である。
【００５１】
ステップＳ２５で、ＥＣＵ３０は、Ｎｓ-ｎの未使用領域にパディング値を設定する。パディング値とは、意味のあるデータの前後の空白部分に設けられる意味の無いデータのことであり、データ長を一定の長さにするために用いられる。ステップＳ２５では、１本の直線で近似関数を表現するため、直線の近似関数を構成する２点のデータの間の未使用領域にパディング値を設定する。
【００５２】
ステップＳ２７で、ＥＣＵ３０は、ステップＳ２３で演算された近似関数に、故障発生時のデータ（Ｄｄ）を追加する。これにより、近似関数には、最古のデータ（Ｄｓｔ）、最新のデータ（Ｄｅｎｄ）、最大のデータ（Ｄｍａｘ）、最小のデータ（Ｄｍｉｎ）、故障発生時のデータ（Ｄｄ）の５点のデータが少なくとも含まれることとなる。
【００５３】
ステップＳ２８で、ＥＣＵ３０は、（Ｎｄ-ｎ）点ある計測データ中から（Ｎｓ-ｎ）個のデータを抽出する組み合わせを全パターン算出する。
【００５４】
ステップＳ２９で、ＥＣＵ３０は、算出済の全パターンの１つのパターンでデータの抽出を実施し、抽出したデータから近似関数を作成する。
【００５５】
ステップＳ３０で、ＥＣＵ３０は、近似関数と計測データ間の最大誤差を計算する。
【００５６】
ステップＳ３１で、ＥＣＵ３０は、全ての組み合わせパターンの試行が完了したか否かを判定する。全ての組み合わせパターンの試行が完了した場合はステップＳ３２に進み、全ての組み合わせパターンの試行が完了していない場合はステップＳ２９に戻る。すなわち、ＥＣＵ３０は、ステップＳ２９、Ｓ３０、Ｓ３１を繰り返すことで、全ての組み合わせパターンの近似関数について、その近似関数と計測データ間の最大誤差を計算する。各近似関数と計測データ間の最大誤差は、各近似関数の精度や再現性の指標として用いられる。
【００５７】
ステップＳ３２で、ＥＣＵ３０は、近似関数と計測データ間の最大誤差が最小となる組み合わせパターンを抽出する。
【００５８】
ステップＳ３３で、ＥＣＵ３０は、ステップＳ３２で複数の組み合わせパターンが抽出されたか否かを判定する。ここでは、ＥＣＵ３０は、近似関数と計測データ間の最大誤差が最小の組み合わせパターンが１つであったか、または複数であったかを判定する。ＥＣＵ３０は、複数の組み合わせパターンが抽出されたと判定した場合はステップＳ３４に進み、１つの組み合わせパターンが抽出されたと判定した場合はステップＳ２６に進む。ステップＳ３４で、ＥＣＵ３０は、複数の組み合わせパターンから、近似関数とデータとの間の平均誤差が最も小さいパターンを抽出する。
【００５９】
ステップＳ２６で、ＥＣＵ３０は、近似関数を構成するデータを保存する。その後、ＥＣＵ３０は、今回の要保存データ設定処理を終了する。
【００６０】
ＥＣＵ３０は、保存の必要のある全てのデータ種別について、図２、図３、図４のフローチャートを実行することで、ＦＦＤを作成する。
【００６１】
このように、要保存データ設定処理のステップＳ２７以降の処理では、複数の組み合わせパターンを試行することで、ＲＡＭ３２に一時記憶されている計測データとの最大誤差または平均誤差が最も小さくなるような近似曲線（近似関数）を決定し、決定した近似曲線を構成するデータをＦＦＤとして設定し、このデータをＥＥＰＲＯＭ３４に保存するようになっている。
【００６２】
図５は、要保存データの設定手法を説明する図であり、ＲＡＭ３２に一時記憶されているデータの一例を表している。図５において、縦軸はデータの大きさを表し、横軸は時間を表す。この図５では、機関回転速度が、一旦上昇した後に急降下し、ストール回避のためのフィードバック制御によって再度上昇する状態を表す。
【００６３】
図５において、一点鎖線で示す近似曲線ＡＣ１は、上記の要保存データ設定処理のステップＳ２７以降の処理を経て最終的に決定された近似曲線である。データＤ１は最古のデータ（開始時点のデータ：Ｄｓｔ）であり、データＤ８は最新のデータ（終了時点のデータ：Ｄｅｎｄ）である。データＤ３は最大データ（Ｄｍａｘ）であり、データＤ５は最小データ（Ｄｍｉｎ）である。データＤ４は異常発生時（所定の保存条件の成立時）のデータである。
【００６４】
近似曲線ＡＣ１は、データＤ１、Ｄ３、Ｄ４、Ｄ５、Ｄ６、Ｄ８の６つのデータを直線で結ぶことで形成されている。ここで、データＤ６は、演算過程の仮の近似曲線（不図示）との誤差が最も大きかったデータである。データＤ６は、ステップＳ３２からステップＳ３４によって近似曲線の再演算のために新たに抽出されている。その結果、データＤ６を含む近似曲線ＡＣ１が決定されている。この結果、近似曲線ＡＣ１を構成するデータＤ１、Ｄ３、Ｄ４、Ｄ５、Ｄ６、Ｄ８が、要保存データとして設定される。
【００６５】
上記の要保存データ設定処理により要保存データを選択する手法（これを第１の手法とする）は、全ての組み合わせパターンを演算して求めているため、演算負荷が大きくなる場合がある。具体的には、Ｎｄ-ｎ点あるデータからＮｓ-ｎ点のデータを抽出する場合の組み合わせ数は、ＮｄやＮｓが大きい場合に著しく大きな数になる。
【００６６】
そこで、演算負荷が大きくならないような第２の手法について検討する。第２の手法は、計測データとの最大誤差または平均誤差が最も小さくなるような近似曲線（近似関数）を求める代わりに、より小数のデータから近似曲線を求めておき、この近似曲線との誤差が大きい点から優先して要保存データとしてデータを選択していく手法である。
【００６７】
第２の手法によれば、Ｎｄ-ｎ点の誤差を計算してから最も誤差が大きいデータを要保存データとして選択し、次いで、Ｎｄ-ｎ-１点の誤差を計算してから最も誤差が大きいデータを要保存データとして選択する。この演算をＮｄ＝Ｎｓになるまで繰り返す。これにより、Ｎｓ-ｎ回の演算をするだけで要保存データの選択が完了する。
【００６８】
図５において、破線で示す近似曲線ＡＣ２は、第２の手法によって要保存データを決定する際に用いられた近似曲線である。第２の手法では、近似曲線ＡＣ２を構成するデータＤ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ８と、この近似曲線ＡＣ２との誤差が最も大きいデータＤ６と、が要保存データとして選択および設定される。
【００６９】
なお、誤差が最も大きいデータを選択する際に計測点数が多数ある場合、近似曲線ＡＣ２から＋ａかつ−ａの所定範囲外のデータを対象としてデータの選択が行われるようにしている。そして、所定範囲内のデータは、計測誤差（系統誤差）として取り扱われる。例えば、図５において、仮にデータＤ６とデータＤ７の間に所定範囲内のデータｄｘがあった場合、このデータｄｘは計測誤差（系統誤差）として扱われ、データ選択の対象にしない。
【００７０】
以上説明したように、本実施例の車両用制御装置としてのＥＣＵ３０において、ＲＡＭ３２は、車両５０に関する所定間隔毎のデータを、新しいデータにより古いデータを上書きしながら時系列で一時記憶する。また、ＣＰＵ３１は、所定の保存条件の成立を判定した場合、ＲＡＭ３２に一時記憶されている最古のデータと最新のデータを少なくとも含むデータを抽出し、抽出したデータを直線で結ぶ近似曲線を演算する。
【００７１】
また、ＣＰＵ３１は、ＲＡＭ３２に一時記憶されているデータから、近似曲線を構成するデータと、近似曲線を構成しないデータであって近似曲線との誤差の大きさに基づいて選択したデータと、を要保存データであるＦＦＤに設定する。ＥＥＰＲＯＭ３４は、ＦＦＤに設定されたデータを保存する。
【００７２】
本実施例では、ＣＰＵ３１は、誤差が大きいデータほど優先的にＦＦＤデータに設定する。
【００７３】
これにより、近似曲線との誤差が大きいデータから順に優先的に保存対象データに選択されてＥＥＰＲＯＭ３４に保存されるため、限られた保存容量のＥＥＰＲＯＭ３４に、有用な変化点部分のデータを保存できる。この結果、異常状態等を適切に再現するデータを最小限のデータ容量で保存できる。
【００７４】
これにより、近似曲線との誤差が大きいデータから順に優先的に保存対象データに選択されてＥＥＰＲＯＭ３４に保存される。このため、限られた保存容量のＥＥＰＲＯＭ３４に、有用な変化点部分を含むデータを保存できる。この結果、異常状態等を適切に再現するデータを最小限のデータ容量で保存できる。
【００７５】
ここで、図６は、ＲＡＭ３２に一時記憶されているデータの一例を表している。このデータは、図５と同様に変化する機関回転速度を表している。
【００７６】
図６に示すように、ＲＡＭ３２に一時記憶されている機関回転速度のデータは、時刻ｔ（ａ）の以前の状態では、急降下の後にストール回避のフィードバック制御により上昇に転じている。その後、機関回転速度は、時刻ｔ（ｂ）で上昇途中の状態であり、時刻ｔ（ｂ）以降に急激に下降する。その後、機関回転速度は、時刻ｔ（ｃ）で、異常発生と判定されるとともに、ストール回避のためのフィードバック制御により上昇に転じている。その後、エンジン回転速度は、時刻ｔ（ｄ）を経て時刻ｔ（ｅ）で上昇途中の状態となる。
【００７７】
本実施例によれば、時刻ｔ（ｃ）で異常発生が判定されると、ＥＣＵ３０において前述のステップＳ２〜Ｓ４の処理が実行される。そして、ステップＳ２〜Ｓ４の処理に要する時間が経過後の時刻ｔ（ｅ）において、一点鎖線で示す近似曲線上のデータが要保存データとして決定される。この近似曲線は、ＲＡＭ３２に一時記憶記されている最古のデータから、近似曲線の演算が完了した時点の最新のデータまで含んでいる。このため、時刻ｔ（ｅ）における近似曲線上のデータは、図６で時刻ｔ（ｘ）として示すように急降下と上昇が２回繰り返されていることを、少数のデータ点で再現したデータとなる。
【００７８】
このため、異常発生が判定された時刻ｔ（ｃ）の直前から直後の期間の変化点部分のデータだけでなく、時刻ｔ（ｅ）時点の最古のデータと最新のデータとの間で急降下と上昇が２回繰り返されていることが再現された、より有用なデータを、要保存データとしてＥＥＰＲＯＭ３４に保存できる。
【００７９】
一方、従来は、異常発生が判定された時刻ｔ（ｃ）の直前から直後の期間（破線で示す）のデータのみを保存しているため、時刻ｔ（ｃ）の直前から直後の期間で期間回転速度が急降下していることのみしか判読できない。
【００８０】
また、本実施例の車両用制御装置としてのＥＣＵ３０において、ＣＰＵ３１は、ＲＡＭ３２に一時記憶記されている最大のデータと最小のデータを近似曲線の演算用のデータとして抽出し、近似曲線を演算する。
【００８１】
これにより、適切な近似曲線を演算するための最低限のデータのみを選択的に抽出できるため、特に、始点のデータおよび終点のデータ、最大値のデータおよび最小値のデータのように、故障等の異常状態を表す波形のピークや谷のデータを抽出でき、適切な近似曲線を演算することができる。
【００８２】
また、本実施例の車両用制御装置としてのＥＣＵ３０において、ＣＰＵ３１は、ＲＡＭ３２に一時記憶されている最大のデータと最小のデータ、または、保存条件の成立を判定した時点のデータを、近似曲線の演算用のデータとして抽出し、近似曲線を演算する。
【００８３】
これにより、適切な近似曲線を演算するための最低限のデータのみを選択的に抽出できるため、特に、始点のデータおよび終点のデータ、最大値のデータおよび最小値のデータのように、故障等の異常状態を表す波形のピークや谷のデータを抽出でき、適切な近似曲線を演算することができる。
【００８４】
また、本実施例の車両用制御装置としてのＥＣＵ３０において、ＣＰＵ３１は、誤差の最大値が所定値以上の場合、誤差が最大値のデータを近似曲線の演算用のデータとしてさらに抽出し、近似曲線を再度演算する。
【００８５】
これにより、誤差の最大値が所定値以上である場合は、近似曲線がデータの波形を適切に表していないため、誤差が最大値となるデータを近似曲線の演算用のデータに含めて再度近似曲線を演算することで、適切な近似曲線を演算できる。このため、保存に要するデータ容量を最小化しつつ、一時記憶済のデータの波形を適切に表すデータをＥＥＰＲＯＭ３４に保存することができる。
【００８６】
また、本実施例の車両用制御装置としてのＥＣＵ３０において、データは、車両５０に搭載された内燃機関２０のパラメータである。
【００８７】
これにより、内燃機関２０の速く変化するパラメータまたは遅く変化するパラメータの何れであっても、異常状態等を適切に再現するデータを最小限のデータ容量で保存できる。
【００８８】
上述の通り、本発明の実施例を開示したが、当業者によっては本発明の範囲を逸脱することなく変更が加えられうることは明白である。すべてのこのような修正及び等価物が次の請求項に含まれることが意図されている。
【符号の説明】
【００８９】
２０  内燃機関
３０  ＥＣＵ（車両用制御装置）
３１  ＣＰＵ（判定部、演算部、要保存データ設定部）
３２  ＲＡＭ（蓄積部）
３４  ＥＥＰＲＯＭ（保存部）
５０  車両
【図１】
2018018357.tif 000003
【図２】
2018018357.tif 000004
【図３】
2018018357.tif 000005
【図４】
2018018357.tif 000006
【図５】
2018018357.tif 000007
【図６】
2018018357.tif 000008