(57)【特許請求の範囲】
【請求項１】
記憶装置と、実行装置と、を備え、
前記記憶装置は、内燃機関の状態を示すパラメータである内燃機関状態変数を入力として、内燃機関の状態の判定結果を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、内燃機関のクランク軸が規定角度回転する度に前記内燃機関状態変数を取得する取得処理、および前記取得処理で前記内燃機関状態変数を取得する度に当該取得した内燃機関状態変数を入力とする前記写像の出力に基づき前記内燃機関の状態を判定する判定処理を実行し、
前記写像データは、機械学習によって学習済みのデータであり、
前記実行装置は、前記クランク軸の回転速度が予め定められた閾値以上となった場合に、前記規定角度回転する度に繰り返し実行する前記判定処理のうちの一部の前記判定処理を省略し、前記一部以外の前記判定処理を実行する
内燃機関の状態判定装置。
【請求項２】
前記内燃機関には、複数の気筒が備わっており、
前記判定処理によって判定する内燃機関の状態は、複数気筒間の空燃比のばらつきであり、
前記実行装置は、前記判定処理によって複数気筒間の空燃比がばらついていると判定する場合、所定のハードウェアを操作することによって空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記写像データは、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を前記内燃機関状態変数とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するものであり、
前記実行装置は、前記取得処理において、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データである
請求項１に記載の内燃機関の状態判定装置。
【請求項３】
前記判定処理によって判定する内燃機関の状態は、前記内燃機関の失火の有無であり、
前記実行装置は、前記判定処理によって失火が生じたと判定する場合、所定のハードウェアを操作することによって失火が生じたことに対処するための対処処理を実行し、
前記写像データは、第３間隔に含まれる連続する複数の第４間隔のそれぞれにおける瞬時速度パラメータである時系列データを前記内燃機関状態変数とし、内燃機関に失火が生じた確率を出力する写像を規定するものであり、
前記実行装置は、前記取得処理において、前記内燃機関のクランク軸の回転挙動を検知するセンサの検出値に基づく前記瞬時速度パラメータを取得し、
前記瞬時速度パラメータは、前記内燃機関のクランク軸の回転速度に応じたパラメータであり、
前記第３間隔は、前記クランク軸の回転角度間隔であって圧縮上死点を含む間隔であり、
前記第４間隔は、前記圧縮上死点の出現間隔よりも小さい間隔であり、
前記写像は、前記第３間隔内に圧縮上死点が出現する少なくとも１つの気筒に関して失火が生じた確率を出力するものである
請求項１に記載の内燃機関の状態判定装置。
【請求項４】
請求項１〜３のいずれか１項に記載の前記実行装置および前記記憶装置を備え、
前記実行装置は、第１実行装置および第２実行装置を含み、
前記第１実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、を実行し、
前記第２実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記判定処理と、を実行する内燃機関の状態判定システム。
【請求項５】
請求項４記載の前記第２実行装置および前記記憶装置を備えるデータ解析装置。
【請求項６】
請求項４記載の前記第１実行装置を備える内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の状態判定装置、内燃機関の状態判定システム、データ解析装置、および内燃機関の制御装置に関する。
【背景技術】
【０００２】
特許文献１に記載の失火検出システムでは、規定周期毎にサンプリングした内燃機関のクランク軸の回転速度の時系列データを入力層に入力し、失火が生じた気筒の情報を出力層から出力するように構成された階層型神経回路モデルが用いられている。階層型神経回路モデルは、教師あり学習をされたものとなっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−９１３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のような失火検出システムにおいて、クランク軸の回転速度が大きくなるほど、失火を検出する頻度が高くなる。そのため、クランク軸の回転速度が大きい場合には、階層型神経回路モデルによる装置への計算負荷が大きくなる虞がある。なお、同様の課題は、失火の検出に限らず、階層型神経回路モデルを用いてクランク軸が規定角度回転する度に検出や計算をする場合にも発生しうる。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．記憶装置と、実行装置と、を備え、前記記憶装置は、内燃機関の状態を示すパラメータである内燃機関状態変数を入力として、内燃機関の状態の判定結果を出力する写像を規定するデータである写像データを記憶しており、前記実行装置は、内燃機関のクランク軸が規定角度回転する度に前記内燃機関状態変数を取得する取得処理、および前記内燃機関状態変数を入力とする前記写像の出力に基づき前記内燃機関の状態を判定する判定処理を実行し、前記写像データは、機械学習によって学習済みのデータであり、前記実行装置は、前記クランク軸の回転速度が予め定められた閾値以上となった場合に、前記規定角度回転する度の前記判定処理の一部を省略する内燃機関の状態判定装置である。
【０００６】
上記構成によれば、クランク軸の回転速度が予め定められた閾値以上となった場合には、規定角度回転する度の判定処理の一部を省略することで、判定処理を実行する頻度が低くなる。判定処理の頻度を変えずに行う場合と比較して、実行装置の計算負荷が小さくなる。したがって、クランク軸の回転速度が大きい場合を想定して、高機能で高コストな実行装置を採用する必要はない。
【０００７】
２．前記内燃機関には、複数の気筒が備わっており、前記内燃機関の状態は、複数気筒間の空燃比のばらつきであり、前記実行装置は、前記判定処理によって複数気筒間の空燃比がばらついていると判定する場合、所定のハードウェアを操作することによって空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、前記写像データは、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するものであり、前記実行装置は、前記取得処理において、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得し、前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データである上記１記載の内燃機関の状態判定装置である。
【０００８】
上記構成によれば、内燃機関の状態として、複数気筒間の空燃比のばらつきを判定することに、内燃機関の状態判定装置を適用できる。そして、気筒間の空燃比のばらつきが生じたと判定された場合には、そのばらつきが生じたことに対する対処処理を実行できる。
【０００９】
３．前記内燃機関の状態は、前記内燃機関の失火の有無であり、前記実行装置は、前記判定処理によって失火が生じたと判定する場合、所定のハードウェアを操作することによって失火が生じたことに対処するための対処処理を実行し、前記写像データは、第３間隔に含まれる連続する複数の第４間隔のそれぞれにおける瞬時速度パラメータである時系列データを入力とし、内燃機関に失火が生じた確率を出力する写像を規定するものであり、前記実行装置は、前記取得処理において、前記内燃機関のクランク軸の回転挙動を検知するセンサの検出値に基づく前記瞬時速度パラメータを取得し、前記瞬時速度パラメータは、前記内燃機関のクランク軸の回転速度に応じたパラメータであり、前記第３間隔は、前記クランク軸の回転角度間隔であって圧縮上死点を含む間隔であり、前記第４間隔は、前記圧縮上死点の出現間隔よりも小さい間隔であり、前記写像は、前記第３間隔内に圧縮上死点が出現する少なくとも１つの気筒に関して失火が生じた確率を出力するものである上記１記載の内燃機関の状態判定装置である。
【００１０】
上記構成によれば、内燃機関の状態として、内燃機関の失火の有無を判定することに、内燃機関の状態判定装置を適用できる。そして、失火が生じたと判定された場合には、その失火が生じたことに対する対処処理を実行できる。
【００１１】
４．上記１〜３のいずれか１つに記載の前記実行装置および前記記憶装置を備え、前記実行装置は、第１実行装置および第２実行装置を含み、前記第１実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、を実行し、前記第２実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記判定処理と、を実行する内燃機関の状態判定システムである。上記構成によれば、判定処理を車両の外部において実行することにより、車載装置の演算負荷を軽減できる。
【００１２】
５．上記４記載の前記第２実行装置および前記記憶装置を備えるデータ解析装置である。
６．上記４記載の前記第１実行装置を備える内燃機関の制御装置である。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態にかかる制御装置および車両の駆動系の構成を示す図。
【図２】同実施形態にかかるインバランス判定処理の手順を示す流れ図。
【図３】同実施形態にかかる対処処理の手順を示す流れ図。
【図４】同実施形態にかかる写像データを生成するシステムを示す図。
【図５】同実施形態にかかる写像データの学習処理の手順を示す流れ図。
【図６】（ａ）および（ｂ）は、インバランスと０．５次振幅との関係を示す図。
【図７】第２の実施形態にかかる状態判定システムの構成を示す図。
【図８】（ａ）および（ｂ）は、同実施形態に係る判定処理の手順を示す流れ図。
【図９】第３の実施形態にかかる失火判定処理の手順を示す流れ図。
【図１０】同実施形態にかかる対処処理の手順を示す流れ図。
【発明を実施するための形態】
【００１４】
＜第１の実施形態＞
以下、内燃機関の状態判定装置にかかる第１の実施形態について図面を参照しつつ説明する。
【００１５】
図１に示す車両ＶＣに搭載された内燃機関１０において、吸気通路１２には、スロットルバルブ１４が設けられている。吸気通路１２から吸入された空気は、吸気バルブ１６が開弁することによって各気筒＃１〜＃４の燃焼室１８に流入する。燃焼室１８には、燃料噴射弁２０によって燃料が噴射される。燃焼室１８において、空気と燃料との混合気は、点火装置２２による火花放電によって燃焼に供され、燃焼によって生じたエネルギは、クランク軸２４の回転エネルギとして取り出される。燃焼に供された混合気は、排気バルブ２６の開弁に伴って、排気として、排気通路２８に排出される。排気通路２８には、酸素吸蔵能力を有した三元触媒３０が設けられている。排気通路２８は、ＥＧＲ通路３２を介して吸気通路１２に連通されている。ＥＧＲ通路３２には、その流路断面積を調整するＥＧＲバルブ３４が設けられている。
【００１６】
クランク軸２４の回転動力は、吸気側バルブタイミング可変装置４０を介して吸気側カム軸４２に伝達される一方、排気側バルブタイミング可変装置４４を介して排気側カム軸４６に伝達される。吸気側バルブタイミング可変装置４０は、吸気側カム軸４２とクランク軸２４との相対的な回転位相差を変更する。排気側バルブタイミング可変装置４４は、排気側カム軸４６とクランク軸２４との相対的な回転位相差を変更する。
【００１７】
内燃機関１０のクランク軸２４には、トルクコンバータ６０を介して変速装置６４の入力軸６６が連結可能となっている。トルクコンバータ６０は、ロックアップクラッチ６２を備えており、ロックアップクラッチ６２が締結状態となることにより、クランク軸２４と入力軸６６とが連結される。変速装置６４の出力軸６８には、駆動輪６９が機械的に連結されている。
【００１８】
クランク軸２４には、クランク軸２４の回転角度を示す複数個（ここでは、３４個）の歯部５２が設けられたクランクロータ５０が結合されている。クランクロータ５０には、基本的には、１０°ＣＡ間隔で歯部５２が設けられているものの、隣接する歯部５２間の間隔が３０°ＣＡとなる箇所である欠け歯部５４が１箇所設けられている。これは、クランク軸２４の基準となる回転角度を示すためのものである。クランクロータ５０の近傍には、クランク角センサ８０が設置されている。クランク角センサ８０は、歯部５２の近接、離間に応じた磁束の変化を短形波のパルス信号に変換して出力する。以下の説明では、こうしたクランク角センサ８０の出力信号をクランク信号Ｓｃｒと記載する。本実施形態では、このクランク角センサ８０が、クランク軸２４の回転挙動を検出するセンサに対応する。
【００１９】
制御装置７０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ１４や、燃料噴射弁２０、点火装置２２、ＥＧＲバルブ３４、吸気側バルブタイミング可変装置４０、排気側バルブタイミング可変装置４４を操作する。なお、図１には、スロットルバルブ１４、燃料噴射弁２０、点火装置２２、ＥＧＲバルブ３４、吸気側バルブタイミング可変装置４０、排気側バルブタイミング可変装置４４のそれぞれの操作信号ＭＳ１〜ＭＳ６を記載している。
【００２０】
制御装置７０は、制御量の制御に際し、上記歯部５２間の角度間隔（欠け歯部５４を除き１０°ＣＡ）毎のパルスを出力するクランク角センサ８０の出力信号であるクランク信号Ｓｃｒや、エアフローメータ８２によって検出される吸入空気量Ｇａを参照する。また制御装置７０は、三元触媒３０の上流側に設けられた空燃比センサ８３によって検出される上流側検出値Ａｆｕ、水温センサ８４によって検出される内燃機関１０の冷却水の温度である水温ＴＨＷを参照する。さらに、制御装置７０は、シフト位置センサ８６によって検出される変速装置６４のシフト位置Ｓｆｔ、加速度センサ８８によって検出される車両ＶＣの上下方向の加速度Ｄａｃｃを参照する。
【００２１】
制御装置７０は、ＣＰＵ７２、ＲＯＭ７４、電気的に書き換え可能な不揮発性メモリで構成されている記憶装置７６、および周辺回路７７を備え、それらがローカルネットワーク７８によって通信可能とされたものである。なお、周辺回路７７は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００２２】
制御装置７０は、ＲＯＭ７４に記憶されたプログラムをＣＰＵ７２が実行することによって、上記制御量の制御を実行する。
また、制御装置７０は、充填効率ηに基づき、燃焼室１８内の混合気の空燃比を目標空燃比とするための燃料量のベース値であるベース噴射量を算出するベース噴射量算出処理を行う。充填効率ηは、燃焼室１８内に充填される空気量を定めるパラメータである。詳しくは、ベース噴射量算出処理は、たとえば充填効率ηが百分率で表現される場合、空燃比を目標空燃比とするための充填効率ηの１％当たりの燃料量に、充填効率ηを乗算することによりベース噴射量を算出する処理とすればよい。ベース噴射量は、燃焼室１８内に充填される空気量に基づき、空燃比を目標空燃比に制御するために算出された燃料量である。ちなみに、目標空燃比は、たとえば理論空燃比とすればよい。さらに、制御装置７０は、ベース噴射量に基づき、要求噴射量Ｑｄを算出する。
【００２３】
そして、制御装置７０は、内燃機関１０の複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつきを判定する処理を実行する。
【００２４】
図２に、インバランス判定処理の手順を示す。図２に示す処理は、図１に示すＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。
【００２５】
図２に示す一連の処理において、ＣＰＵ７２は、まず、インバランスの検出処理の実行条件が成立するか否かを判定する（Ｓ１０）。実行条件には、内燃機関１０の吸気に対する燃料蒸気のパージや排気の再循環が実施されていないことが含まれる。
【００２６】
次に、ＣＰＵ７２は、微小回転時間Ｔ３０（１），Ｔ３０（２），…，Ｔ３０（２４）、上流側平均値Ａｆｕａｖｅ（１），Ａｆｕａｖｅ（２），…，Ａｆｕａｖｅ（２４）、回転速度ＮＥ、充填効率η、および０．５次振幅Ａｍｐｆ／２を取得する（Ｓ１２）。微小回転時間Ｔ３０は、ＣＰＵ７２により、クランク角センサ８０のクランク信号Ｓｃｒに基づき、クランク軸２４が３０°ＣＡ回転するのに要する時間を計時することによって算出される。ここで、微小回転時間Ｔ３０（１），Ｔ３０（２）等、カッコの中の数字が異なる場合、１燃焼サイクルである７２０°ＣＡ内の異なる回転角度間隔であることを示す。すなわち、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）は、７２０°ＣＡの回転角度領域を３０°ＣＡで等分割した各角度間隔における回転時間を示す。
【００２７】
詳しくは、ＣＰＵ７２は、クランク信号Ｓｃｒに基づきクランク軸２４が３０°ＣＡだけ回転した時間を計時し、これをフィルタ処理前時間ＮＦ３０とする。次にＣＰＵ７２は、フィルタ処理前時間ＮＦ３０を入力とするデジタルフィルタ処理を施すことによって、フィルタ処理後時間ＡＦ３０を算出する。そしてＣＰＵ７２は、所定期間（たとえば７２０°ＣＡ）におけるフィルタ処理後時間ＡＦ３０の極大値と極小値との差が「１」となるようフィルタ処理後時間ＡＦ３０を正規化することによって、微小回転時間Ｔ３０を算出する。
【００２８】
また、ｍ＝１〜２４とすると、上流側平均値Ａｆｕａｖｅ（ｍ）は、上記各微小回転時間Ｔ３０（ｍ）と同一の３０°ＣＡの角度間隔における上流側検出値Ａｆｕの平均値である。
【００２９】
回転速度ＮＥは、ＣＰＵ７２によりクランク角センサ８０のクランク信号Ｓｃｒに基づき算出され、充填効率ηは、ＣＰＵ７２により回転速度ＮＥおよび吸入空気量Ｇａに基づき算出される。なお、回転速度ＮＥは、圧縮上死点の出現間隔（本実施形態では１８０°ＣＡ）よりも大きい角度間隔だけクランク軸２４が回転する際の回転速度の平均値である。なお、回転速度ＮＥは、クランク軸２４の１回転以上の回転角度だけクランク軸２４が回転する際の回転速度の平均値とすることが望ましい。なお、ここでの平均値は、単純平均に限らず、たとえば、指数移動平均処理でもよく、１回転以上の回転角度だけクランク軸２４が回転する際のたとえば微小回転時間Ｔ３０等の複数のサンプリング値によって算出されるものとする。
【００３０】
０．５次振幅Ａｍｐｆ／２はクランク軸２４の回転周波数の０．５次成分の強度であり、ＣＰＵ７２により、微小回転時間Ｔ３０の上記時系列データのフーリエ変換によって算出される。
【００３１】
次に、ＣＰＵ７２は、回転速度ＮＥが予め定められた所定回転速度ＮＥｔｈ未満であるか否かを判定する（Ｓ１３）。ここで、所定回転速度ＮＥｔｈは、ＣＰＵ７２の処理能力に対して、後述する写像データ７６ａによる算出処理の負荷が相応に大きい値として定められている。そして、回転速度ＮＥが所定回転速度ＮＥｔｈ未満である場合（Ｓ１３：ＹＥＳ）、ＣＰＵ７２は、インバランス率Ｒｉｖを出力する写像の入力変数ｘ（１）〜ｘ（５１）に、Ｓ１２の処理によって取得した値を代入する（Ｓ１４）。詳しくは、ＣＰＵ７２は、「ｍ＝１〜２４」として、入力変数ｘ（ｍ）に微小回転時間Ｔ３０（ｍ）を代入し、入力変数（２４＋ｍ）に上流側平均値Ａｆｕａｖｅ（ｍ）を代入し、入力変数ｘ（４９）に回転速度ＮＥを代入し、入力変数ｘ（５０）に充填効率ηを代入し、入力変数ｘ（５１）に０．５次振幅Ａｍｐｆ／２を代入する。
【００３２】
インバランス率Ｒｉｖは、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつきの度合いを示す値である。本実施形態において、インバランス率Ｒｉｖは、狙いとする噴射量の燃料が噴射されている気筒において「０」とし、狙いとする噴射量よりも実際の噴射量が多い場合に正の値となり、少ない場合に負の値となる。すなわち、ＣＰＵ７２は、インバランス率Ｒｉｖが「０」から離れているほど、気筒間の空燃比ばらつきは大きいと判定している。
【００３３】
次にＣＰＵ７２は、図１に示す記憶装置７６に記憶された写像データ７６ａによって規定される写像に入力変数ｘ（１）〜ｘ（５１）を入力することによって、気筒＃ｉ（ｉ＝１〜４）のそれぞれのインバランス率Ｒｉｖ（１）〜Ｒｉｖ（４）を算出する（Ｓ１６）。そして、ＣＰＵ７２は、算出したインバランス率Ｒｉｖが「０」から離れているほど、気筒間の空燃比ばらつきは大きいと判定する。
【００３４】
本実施形態において、この写像は、中間層が１層のニューラルネットワークによって構成されている。上記ニューラルネットワークは、入力側係数ｗＦｊｋ（ｊ＝０〜ｎ，ｋ＝０〜５１）と、入力側係数ｗＦｊｋによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ（ｘ）を含む。本実施形態では、活性化関数ｈ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。また、上記ニューラルネットワークは、出力側係数ｗＳｉｊ（ｉ＝１〜４，ｊ＝０〜ｎ）と、出力側係数ｗＳｉｊによって規定される線形写像である出力側線形写像の出力のそれぞれを非線形変換する出力側非線形写像としての活性化関数ｆ（ｘ）を含む。本実施形態では、活性化関数ｆ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。なお、値ｎは、中間層の次元を示すものである。
【００３５】
なお、ＣＰＵ７２は、Ｓ１６の処理が完了する場合や、Ｓ１０の処理において否定判定する場合には、図２に示す一連の処理を一旦終了する。
ここで、回転速度ＮＥが所定回転速度ＮＥｔｈ以上である場合（Ｓ１３：ＮＯ）、ＣＰＵ７２は、実行フラグＦＥがＯＮであるか否かを判定する（Ｓ１７）。実行フラグＦＥは、後述するように、ＣＰＵ７２が写像データ７６ａによって規定される写像によってインバランス率Ｒｉｖ（ｉ）を算出する度にＯＮとＯＦＦとを切り替えられる。すなわち、実行フラグＦＥを判定する際には、２回のうち１回は、実行フラグＦＥがＯＮであり、２回のうちもう１回は、実行フラグＦＥがＯＦＦとなっている。
【００３６】
そして、実行フラグＦＥがＯＮ状態である場合（Ｓ１７：ＹＥＳ）、次にＣＰＵ７２は、実行フラグＦＥをＯＮ状態からＯＦＦ状態へと切り替える（Ｓ１８）。次に、上述したＳ１４およびＳ１６の処理を行う。
【００３７】
一方で、Ｓ１７の処理の際に、実行フラグＦＥがＯＦＦ状態である場合（Ｓ１７：ＮＯ）、ＣＰＵ７２は、実行フラグＦＥをＯＦＦ状態からＯＮ状態へと切り替える（Ｓ１９）。そして、ＣＰＵ７２は、Ｓ１９の処理が完了する場合には、図２に示す一連の処理を一旦終了する。
【００３８】
図３に、上記インバランス率Ｒｉｖ（ｉ）を利用する処理の手順を示す。図４に示す処理は、図１に示すＲＯＭ７４に記憶された対処プログラム７４ｂをＣＰＵ７２が、たとえばインバランス率Ｒｉｖ（ｉ）が算出される都度、繰り返し実行することにより実現される。
【００３９】
図３に示す一連の処理において、ＣＰＵ７２は、まず、図２の処理によって新たに算出されたインバランス率Ｒｉｖ（ｉ）を入力とする指数移動平均処理によって、インバランス学習値Ｌｉｖ（ｉ）を更新する（Ｓ２０）。すなわち、ＣＰＵ７２は、たとえば記憶装置７６に記憶されているインバランス学習値Ｌｉｖ（ｉ）に係数αを乗算した値と、インバランス率Ｒｉｖ（ｉ）に「１−α」を乗算した値との和によって、インバランス学習値Ｌｉｖを更新する（Ｓ２０）。なお、「０＜α＜１」である。
【００４０】
次にＣＰＵ７２は、インバランス学習値Ｌｉｖ（ｉ）が、リーン側許容限界値ＬＬ以上であって且つリッチ側許容限界値ＬＨ以下であるか否かを判定する（Ｓ２２）。ＣＰＵ７２は、インバランス学習値Ｌｉｖ（ｉ）が、リーン側許容限界値ＬＬ未満であると判定する場合やリッチ側許容限界値よりも大きいと判定する場合には（Ｓ２２：ＮＯ）、ユーザに修理を促すべく、図１に示す警告灯９０を操作して報知処理を実行する（Ｓ２４）。
【００４１】
一方、ＣＰＵ７２は、リーン側許容限界値ＬＬ以上であって且つリッチ側許容限界値ＬＨ以下であると判定する場合（Ｓ２２：ＹＥＳ）や、Ｓ２４の処理が完了する場合には、各気筒の要求噴射量Ｑｄ（＃ｉ）を補正する（Ｓ２６）。すなわち、ＣＰＵ７２は、各気筒の要求噴射量Ｑｄ（＃ｉ）に、インバランス学習値Ｌｉｖ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖ（ｉ））を加算することによって要求噴射量Ｑｄ（＃ｉ）を補正する。ここで、補正量ΔＱｄ（Ｌｉｖ（ｉ））は、インバランス学習値Ｌｉｖ（ｉ）がゼロよりも大きい場合には、負の値となり、ゼロよりも小さい場合には、正の値となる。なお、インバランス学習値Ｌｉｖ（ｉ）がゼロの場合、補正量ΔＱｄ（Ｌｉｖ（ｉ））もゼロとされる。
【００４２】
なお、ＣＰＵ７２は、Ｓ２６の処理を完了する場合、図４に示す一連の処理を一旦終了する。ちなみに、本実施形態では、Ｓ１０の処理において肯定判定されてＳ１２の処理を実行する場合には、Ｓ２６の処理を一旦停止することとする。
【００４３】
次に写像データ７６ａの生成手法について説明する。
図４に、写像データ７６ａを生成するシステムを示す。
図４に示すように、本実施形態では、内燃機関１０のクランク軸２４に、トルクコンバータ６０および変速装置６４を介してダイナモメータ１００を機械的に連結する。そして内燃機関１０を稼働させた際の様々な状態変数がセンサ群１０２によって検出され、検出結果が、写像データ７６ａを生成するコンピュータである適合装置１０４に入力される。なお、センサ群１０２には、写像への入力を生成するための値を検出するセンサであるクランク角センサ８０や、エアフローメータ８２、空燃比センサ８３が含まれる。
【００４４】
図５に、写像データの生成処理の手順を示す。図５に示す処理は、適合装置１０４によって実行される。なお、図５に示す処理は、たとえば、適合装置１０４にＣＰＵおよびＲＯＭを備え、ＲＯＭに記憶されたプログラムをＣＰＵが実行することにより実現すればよい。
【００４５】
図５に示す一連の処理において、適合装置１０４は、まず、センサ群１０２の検出結果に基づき、Ｓ１２の処理において取得するのと同一のデータを訓練データとして取得する（Ｓ３０）。なお、この処理は、予め単体での計測によって、インバランス率Ｒｉｖがゼロとは異なる様々な値をとる複数の燃料噴射弁２０と、インバランス率がゼロである３個の燃料噴射弁とを用意し、インバランス率がゼロの燃料噴射弁２０を３個、インバランス率がゼロとは異なる燃料噴射弁２０を１個、内燃機関１０に搭載した状態で行われる。なお、搭載された燃料噴射弁のそれぞれのインバランス率Ｒｉｖｔが、教師データとなっている。
【００４６】
次に、適合装置１０４は、Ｓ１４の処理の要領で、入力変数ｘ（１）〜ｘ（５１）に教師データ以外の訓練データを代入する（Ｓ３２）。そして適合装置１０４は、Ｓ１６の処理の要領で、Ｓ３２の処理によって求めた入力変数ｘ（１）〜ｘ（５１）を用いてインバランス率Ｒｉｖ（１）〜Ｒｉｖ（４）を算出する（Ｓ３４）。そしてＣＰＵ７２は、Ｓ３４の処理によって算出されたインバランス率Ｒｉｖ（ｉ）のサンプル数が所定以上であるか否かを判定する（Ｓ３６）。ここで所定以上であるためには、インバランス率Ｒｉｖｔがゼロとは異なる複数の燃料噴射弁のそれぞれが気筒＃１〜＃４のそれぞれに搭載された状態で、内燃機関１０の運転状態を変化させることによって、回転速度ＮＥおよび充填効率ηによって規定される様々な動作点においてインバランス率Ｒｉｖが算出されていることが要求される。
【００４７】
適合装置１０４は、所定以上ではないと判定する場合（Ｓ３６：ＮＯ）、Ｓ３０の処理に戻る。これに対し、ＣＰＵ７２は、所定以上であると判定する場合（Ｓ３６：ＹＥＳ）、教師データとしてのインバランス率ＲｉｖｔとＳ３４の処理によって算出されたインバランス率Ｒｉｖ（ｉ）のそれぞれとの差の２乗和を最小化するように、入力側係数ｗＦｊｋおよび出力側係数ｗＳｉｊを更新する（Ｓ３８）。そして、適合装置１０４は、更新した入力側係数ｗＦｊｋおよび出力側係数ｗＳｉｊ等を学習済みの写像データとして記憶する（Ｓ４０）。
【００４８】
ここで、本実施形態の作用および効果について説明する。
（１）上記実施形態では、クランク軸２４の回転速度ＮＥが所定回転速度ＮＥｔｈ以上となった場合には、写像データ７６ａによるインバランス率Ｒｉｖ（ｉ）の算出は、実行フラグがＯＮ状態である場合（Ｓ１７：ＹＥＳ）に行われる。一方で、写像データ７６ａによるインバランス率Ｒｉｖ（ｉ）を算出は、実行フラグがＯＦＦ状態である場合（Ｓ１７：ＮＯ）には行われない。すなわち、回転速度ＮＥが所定回転速度ＮＥｔｈ以上となった場合には、規定角度回転する度の判定処理の一部が省略される。そのため、回転速度ＮＥが所定回転速度ＮＥｔｈ以上の場合に写像データ７６ａによるインバランス率Ｒｉｖ（ｉ）の算出が行われる頻度は、回転速度ＮＥが所定回転速度ＮＥｔｈ未満の場合よりも低い。そのため、回転速度ＮＥが大きくなっても、処理頻度が過度に高くならず、ＣＰＵ７２の処理負担が過度に大きくなることを抑制できる。
【００４９】
（２）上記実施形態では、内燃機関１０の動作点を規定する動作点変数としての回転速度ＮＥおよび充填効率ηを写像の入力とした。点火装置２２やＥＧＲバルブ３４、吸気側バルブタイミング可変装置４０等の内燃機関１０の操作部の操作量は、内燃機関１０の動作点に基づき定められる傾向がある。そのため、動作点変数は、各操作部の操作量に関する情報を含む変数である。したがって、動作点変数を写像の入力とすることにより、各操作部の操作量に関する情報に基づきインバランス率Ｒｉｖ（ｉ）を算出することができ、ひいてはインバランス率Ｒｉｖ（ｉ）をより高精度に算出することができる。
【００５０】
（３）上記実施形態では、写像の入力に上流側平均値Ａｆｕａｖｅを含めた。これにより、時系列データの時間間隔毎の上流側検出値Ａｆｕを用いる場合と比較すると、時系列データのデータ数を増加させることなく、三元触媒３０に流入する酸素や未燃燃料についてのより正確な情報を得ることができ、ひいてはインバランス率Ｒｉｖ（ｉ）をより高精度に算出することができる。
【００５１】
（４）写像への入力に、０．５次振幅Ａｍｐｆ／２を含めることにより、インバランス率Ｒｉｖをより高精度に算出できる。すなわち、図６（ａ）に示すように、インバランス率Ｒｉｖと０．５次振幅Ａｍｐｆ／２との間には線形な関係が成り立っている。また、図６（ｂ）にインバランス率Ｒｉｖ（１）が「１．１５」である場合を例示すように、クランク軸２４の回転周波数の振幅は、インバランス率Ｒｉｖがゼロではない気筒が存在する場合、０．５次成分が特に大きくなる。これは、気筒＃１〜＃４のいずれか１つでインバランス率Ｒｉｖ（ｉ）がゼロと異なる場合、１燃焼サイクルに一度、発生トルクにずれが生じるためであると考えられる。本実施形態では、７２０°ＣＡ周期のトルク変動を、０．５次振幅Ａｍｐｆ／２として取り込むことにより、インバランス率Ｒｉｖをより高精度に算出できる。
【００５２】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００５３】
本実施形態では、インバランス率Ｒｉｖ（ｉ）の算出処理を車両の外部で行う。
図７に本実施形態にかかるインバランス検出システムを示す。なお、図７において、図１に示した部材に対応する部材については、便宜上同一の符号を付している。
【００５４】
図７に示す車両ＶＣ内の制御装置７０は、通信機７９を備えている。通信機７９は車両ＶＣの外部のネットワーク１１０を介してセンター１２０と通信するための機器である。
センター１２０は、複数の車両ＶＣから送信されるデータを解析する。センター１２０は、ＣＰＵ１２２、ＲＯＭ１２４、記憶装置１２６、周辺回路１２７および通信機１２９を備えており、それらがローカルネットワーク１２８によって通信可能とされるものである。ＲＯＭ１２４には、インバランス検出用メインプログラム１２４ａが記憶されており、記憶装置１２６には、写像データ１２６ａが記憶されている。
【００５５】
図８に、図７に示したシステムが実行する処理の手順を示す。図８（ａ）に示す処理は、図７に示すＲＯＭ７４に記憶されたインバランス検出サブプログラム７４ｃをＣＰＵ７２が実行することにより実現される。また、図８（ｂ）に示す処理は、ＲＯＭ１２４に記憶されているインバランス検出用メインプログラム１２４ａをＣＰＵ１２２が実行することにより実現される。なお、図８において図２に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、インバランス検出処理の時系列に沿って、図８に示す処理を説明する。
【００５６】
図８（ａ）に示すように、車両ＶＣにおいてＣＰＵ７２は、Ｓ１２の処理を完了すると、ＣＰＵ７２は、回転速度ＮＥが予め定められた所定回転速度ＮＥｔｈ未満であるか否かを判定する（Ｓ１３）。そして、回転速度ＮＥが所定回転速度ＮＥｔｈ未満である場合（Ｓ１３：ＹＥＳ）、ＣＰＵ７２は、インバランス率Ｒｉｖを出力する写像の入力変数ｘ（１）〜ｘ（５１）に、Ｓ１２の処理によって取得した値を代入する（Ｓ１４）。通信機７９を操作することによって、Ｓ１２ａの処理において取得したデータを、車両ＶＣの識別情報である車両ＩＤとともにセンター１２０に送信する（Ｓ１３２）。
【００５７】
これに対し、センター１２０のＣＰＵ１２２は、図８（ｂ）に示すように、送信されたデータを受信し（Ｓ１４０）、Ｓ１４，Ｓ１６の処理を実行する。そしてＣＰＵ１２２は、通信機１２９を操作することによって、Ｓ１４０の処理によって受信したデータが送信された車両ＶＣにインバランス率Ｒｉｖ（ｉ）に関する信号を送信し（Ｓ１４２）、図８（ｂ）に示す一連の処理を一旦終了する。これに対し、図８（ａ）に示すように、ＣＰＵ７２は、インバランス率Ｒｉｖ（ｉ）に関する信号を受信し（Ｓ１３４）、図８（ａ）に示す一連の処理を一旦終了する。
【００５８】
ここで、回転速度ＮＥが所定回転速度ＮＥｔｈ以上である場合（Ｓ１３：ＮＯ）、ＣＰＵ７２は、実行フラグＦＥがＯＮであるか否かを判定する（Ｓ１７）。実行フラグＦＥがＯＮ状態である場合（Ｓ１７：ＹＥＳ）、次にＣＰＵ７２は、実行フラグＦＥをＯＮ状態からＯＦＦ状態へと切り替える（Ｓ１８）。次に、上述したＳ１３２の処理を行う。
【００５９】
一方で、Ｓ１７の処理の際に、実行フラグＦＥがＯＦＦ状態である場合（Ｓ１７：ＮＯ）、ＣＰＵ７２は、実行フラグＦＥをＯＦＦ状態からＯＮ状態へと切り替える（Ｓ１９）。そして、ＣＰＵ７２は、Ｓ１９の処理が完了する場合には、図８（ａ）に示す一連の処理を一旦終了する。
【００６０】
ここで、本実施形態の作用および効果について説明する。本実施形態では、上述した（１）〜（４）の効果に加えて、以下の効果を奏する。
（５）上記実施形態では、インバランス判定処理をセンター１２０において実行することにより、制御装置７０の演算負荷を軽減できる。
【００６１】
＜第３の実施形態＞
以下、第３の実施形態について、上述の第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６２】
上述の第１の実施形態の内燃機関の状態判定装置は、内燃機関１０で空燃比に気筒間のばらつきが生じた、気筒間空燃比インバランスが発生した状態を、クランク軸２４の回転変動に基づき判定する装置として構成されていた。内燃機関１０で失火が生じた場合にも、気筒間の燃焼状態のばらつきが生じてクランク軸２４の回転変動が大きくなる。本実施形態の内燃機関の状態判定装置は、こうした内燃機関１０で生じる失火を判定する装置として構成されている。なお、本実施形態の内燃機関の状態判定装置のＲＯＭ７４には、図１に示すインバランス検出プログラム７４ａの代わりに、失火検出プログラムが格納されている。
【００６３】
図９に示す一連の処理において、ＣＰＵ７２は、まず、微小回転時間Ｔ３０（１），Ｔ３０（２），…Ｔ３０（２４）を取得する（Ｓ２１０）。微小回転時間Ｔ３０は、ＣＰＵ７２により、クランク角センサ８０のクランク信号Ｓｃｒに基づき、クランク軸２４が３０°ＣＡ回転するのに要する時間を計時することによって算出される。ここで、微小回転時間Ｔ３０（１），Ｔ３０（２）等、カッコの中の数字が異なる場合、１燃焼サイクルである７２０°ＣＡ内の異なる回転角度間隔であることを示す。すなわち、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）は、７２０°ＣＡの回転角度領域を３０°ＣＡで等分割した各角度間隔における回転時間を示す。
【００６４】
次にＣＰＵ７２は、回転速度ＮＥおよび充填効率ηを取得する（Ｓ２１２）。回転速度ＮＥは、ＣＰＵ７２によりクランク角センサ８０のクランク信号Ｓｃｒに基づき算出され、充填効率ηは、ＣＰＵ７２により回転速度ＮＥおよび吸入空気量Ｇａに基づき算出される。
【００６５】
次に、ＣＰＵ７２は、回転速度ＮＥが予め定められた所定回転速度ＮＥｔｈ未満であるか否かを判定する（Ｓ２１３）。ここで、所定回転速度ＮＥｔｈは、ＣＰＵ７２の処理能力に対して、後述する写像データ７６ａによる算出処理の負荷が相応に大きい値として定められている。そして、回転速度ＮＥが所定回転速度ＮＥｔｈ未満である場合（Ｓ２１３：ＹＥＳ）、ＣＰＵ７２は、失火が生じた確率を算出するための写像の入力変数ｘ（１）〜ｘ（２６）に、Ｓ２１０，Ｓ２１２の処理によって取得した値を代入する（Ｓ２１４）。詳しくは、ＣＰＵ７２は、「ｓ＝１〜２４」として、入力変数ｘ（ｓ）に微小回転時間Ｔ３０（ｓ）を代入する。すなわち、入力変数ｘ（１）〜ｘ（２４）は、微小回転時間Ｔ３０の時系列データとなる。また、ＣＰＵ７２は、入力変数ｘ（２５）に回転速度ＮＥを代入し、入力変数ｘ（２６）に充填効率ηを代入する。
【００６６】
次にＣＰＵ７２は、図１に示す記憶装置７６に記憶された写像データ７６ａによって規定される写像に入力変数ｘ（１）〜ｘ（２６）を入力することによって、気筒＃ｉ（ｉ＝１〜４）において失火が生じた確率Ｐ（ｉ）を算出する（Ｓ２１６）。写像データ７６ａは、Ｓ２１０の処理によって取得された微小回転時間Ｔ３０（１）〜Ｔ３０（２４）に対応する期間において気筒＃ｉで失火が生じた確率Ｐ（ｉ）を出力可能な写像を規定するデータである。ここで、確率Ｐ（ｉ）は、入力変数ｘ（１）〜ｘ（２６）に基づき、実際に失火が生じたことのもっともらしさの大小を定量化したものである。ただし、本実施形態においては、気筒＃ｉにおいて失火が生じた確率Ｐ（ｉ）の最大値は、「１」よりも小さく、最小値は「０」よりも大きい値となる。すなわち、本実施形態において、確率Ｐ（ｉ）は、実際に失火が生じたことのもっともらしさの大小を「０」よりも大きく「１」よりも小さい所定領域内で連続的な値として定量化したものである。
【００６７】
本実施形態において、この写像は、中間層が１層のニューラルネットワークと、ニューラルネットワークの出力を規格化することによって、失火が生じた確率Ｐ（１）〜Ｐ（４）の和を「１」とするためのソフトマックス関数とによって構成されている。上記ニューラルネットワークは、入力側係数ｗＦｊｋ（ｊ＝０〜ｎ，ｋ＝０〜２６）と、入力側係数ｗＦｊｋによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ（ｘ）を含む。本実施形態では、活性化関数ｈ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。また、上記ニューラルネットワークは、出力側係数ｗＳｉｊ（ｉ＝１〜４，ｊ＝０〜ｎ）と、出力側係数ｗＳｉｊによって規定される線形写像である出力側線形写像の出力のそれぞれを非線形変換する出力側非線形写像としての活性化関数ｆ（ｘ）を含む。本実施形態では、活性化関数ｆ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。なお、値ｎは、中間層の次元を示すものである。本実施形態において、値ｎは、入力変数ｘの次元（ここでは、２６次元）よりも小さい。また、入力側係数ｗＦｊ０は、バイアスパラメータであり、入力変数ｘ（０）を「１」と定義することによって、入力変数ｘ（０）の係数となっている。また、出力側係数ｗＳｉ０は、バイアスパラメータであり、これには「１」が乗算されるものとする。これはたとえば、「ｗＦ００・ｘ（０）＋ｗＦ０１・ｘ（１）＋…」を恒等的に無限大と定義することによって実現できる。
【００６８】
詳しくは、ＣＰＵ７２は、入力側係数ｗＦｊｋ、出力側係数ｗＳｉｊおよび活性化関数ｈ（ｘ），ｆ（ｘ）によって規定されるニューラルネットワークの出力である確率原型ｙ（ｉ）を算出する。確率原型ｙ（ｉ）は、気筒＃ｉにおいて失火が生じた確率と正の相関を有するパラメータである。そして、ＣＰＵ７２は、確率原型ｙ（１）〜ｙ（４）を入力とするソフトマックス関数の出力によって、気筒＃ｉにおいて失火が生じた確率Ｐ（ｉ）を算出する。
【００６９】
次にＣＰＵ７２は、失火が生じた確率Ｐ（１）〜Ｐ（４）のうちの最大値Ｐ（ｍ）が閾値Ｐｔｈ以上であるか否かを判定する（Ｓ２１８）。ここで、変数ｍは、１〜４のいずれかの値をとり、また、閾値Ｐｔｈは、「１／２」以上の値に設定されている。そして、ＣＰＵ７２は、閾値Ｐｔｈ以上であると判定する場合（Ｓ２１８：ＹＥＳ）、確率が最大となった気筒＃ｍの失火の回数Ｎ（ｍ）をインクリメントする（Ｓ２２０）。そしてＣＰＵ７２は、回数Ｎ（１）〜Ｎ（４）の中に、所定回数Ｎｔｈ以上となるものがあるか否かを判定する（Ｓ２２２）。そしてＣＰＵ７２は、所定回数Ｎｔｈ以上となるものが存在すると判定する場合（Ｓ２２２：ＹＥＳ）、特定の気筒＃ｑ（ｑは、１〜４のうちの１つ）で許容範囲を超える頻度の失火が生じているとして、フェールフラグＦに「１」を代入する（Ｓ２２４）。なお、この際、ＣＰＵ７２は、失火が生じた気筒＃ｑの情報を記憶装置７６に記憶するなどして少なくとも当該気筒＃ｑで失火が解消するまで保持することとする。
【００７０】
これに対し、ＣＰＵ７２は、最大値Ｐ（ｍ）が閾値Ｐｔｈ未満であると判定する場合（Ｓ２１８：ＮＯ）、Ｓ２２４の処理または後述するＳ２２８の処理がなされてから所定期間が経過したか否かを判定する（Ｓ２２６）。ここで所定期間は、１燃焼サイクルの期間よりも長く、望ましくは、１燃焼サイクルの１０倍以上の長さを有することが望ましい。
【００７１】
ＣＰＵ７２は、所定期間が経過したと判定する場合（Ｓ２２６：ＹＥＳ）、回数Ｎ（１）〜Ｎ（４）を初期化するとともに、フェールフラグＦを初期化する（Ｓ２２８）。
なお、ＣＰＵ７２は、Ｓ２２４，Ｓ２２８の処理が完了する場合や、Ｓ２２２，Ｓ２２６の処理において否定判定する場合には、図９に示す一連の処理を一旦終了する。
【００７２】
ところで、回転速度ＮＥが所定回転速度ＮＥｔｈ以上である場合（Ｓ２１３：ＮＯ）、ＣＰＵ７２は、実行フラグＦＥがＯＮであるか否かを判定する（Ｓ２３０）。実行フラグＦＥがＯＮ状態である場合（Ｓ２３０：ＹＥＳ）、次にＣＰＵ７２は、実行フラグＦＥをＯＮ状態からＯＦＦ状態へと切り替える（Ｓ２３１）。次に、上述したＳ２１４の処理を行う。
【００７３】
一方で、Ｓ２３０の処理の際に、実行フラグＦＥがＯＦＦ状態である場合（Ｓ２３０：ＮＯ）、ＣＰＵ７２は、実行フラグＦＥをＯＦＦ状態からＯＮ状態へと切り替える（Ｓ２３２）。そして、ＣＰＵ７２は、Ｓ２３２の処理が完了する場合には、上述したＳ２１８の処理を行う。すなわち、Ｓ２３２の処理が完了する場合には、Ｓ２１４およびＳ２１６の処理を行わない。
【００７４】
図１０に、失火が生じた場合にこれに対処する処理の手順を示す。図１０に示す処理は、フェールフラグＦが「０」から「１」に切り替わることをトリガとして図１に示すＲＯＭ７４に記憶された対処プログラム７４ｂをＣＰＵ７２が実行することにより実現される。
【００７５】
図１０に示す一連の処理において、ＣＰＵ７２は、まず吸気バルブ１６の開弁タイミングＤＩＮを進角側とすべく、吸気側バルブタイミング可変装置４０に操作信号ＭＳ５を出力して吸気側バルブタイミング可変装置４０を操作する（Ｓ２５０）。具体的には、たとえばフェールフラグＦが「０」である通常時において開弁タイミングＤＩＮを内燃機関１０の動作点に応じて可変設定し、Ｓ２５０の処理においては、通常時における開弁タイミングＤＩＮに対して実際の開弁タイミングＤＩＮを進角させる。Ｓ２５０の処理は、圧縮比を高めることによって燃焼を安定させることを狙ったものである。
【００７６】
次にＣＰＵ７２は、Ｓ２５０の処理を上記所定期間以上の時間継続した後、フェールフラグＦが「１」であるか否かを判定する（Ｓ２５２）。この処理は、Ｓ２５０の処理によって失火が生じる事態が解消されたか否かを判定するものである。ＣＰＵ７２は、フェールフラグＦが「１」であると判定する場合（Ｓ２５２：ＹＥＳ）、失火が生じている気筒＃ｑについて、点火装置２２に操作信号ＭＳ３を出力して点火装置２２を操作し、点火時期ａｉｇを所定量Δだけ進角させる（Ｓ２５４）。この処理は、失火が生じる事態を解消することを狙ったものである。
【００７７】
次にＣＰＵ７２は、Ｓ２５４の処理を上記所定期間以上の時間継続した後、フェールフラグＦが「１」であるか否かを判定する（Ｓ２５６）。この処理は、Ｓ２５４の処理によって失火が生じる事態が解消されたか否かを判定するものである。ＣＰＵ７２は、フェールフラグＦが「１」であると判定する場合（Ｓ２５６：ＹＥＳ）、失火が生じている気筒＃ｑについて、燃料噴射弁２０に操作信号ＭＳ２を出力して燃料噴射弁２０を操作し、燃料噴射弁２０により１燃焼サイクルにおいて要求される燃料量である要求噴射量Ｑｄを所定量だけ増量する（Ｓ２５８）。この処理は、失火が生じる事態を解消することを狙ったものである。
【００７８】
次にＣＰＵ７２は、Ｓ２５８の処理を上記所定期間以上の時間継続した後、フェールフラグＦが「１」であるか否かを判定する（Ｓ２６０）。この処理は、Ｓ２５８の処理によって失火が生じる事態が解消されたか否かを判定するものである。ＣＰＵ７２は、フェールフラグＦが「１」であると判定する場合（Ｓ２６０：ＹＥＳ）、失火が生じている気筒＃ｑについて、燃料噴射を停止し、スロットルバルブ１４の開口度θを小さい側に制限しつつスロットルバルブ１４を操作すべく、スロットルバルブ１４に出力する操作信号ＭＳ１を調整する（Ｓ２６２）。そしてＣＰＵ７２は、報知部として機能する図１に示す警告灯９０を操作することによって、失火が生じた旨、報知する処理を実行する（Ｓ２６４）。
【００７９】
なお、ＣＰＵ７２は、Ｓ２５２，Ｓ２５６，Ｓ２６０の処理において否定判定する場合、すなわち失火が生じる事態が解消する場合や、Ｓ２６４の処理が完了する場合には、図１０に示す一連の処理を一旦終了する。なお、Ｓ２６２の処理において肯定判定される場合、Ｓ２６４の処理は、フェールセーフ処理として継続される。
【００８０】
ちなみに、本実施形態における上記写像データ７６ａは、たとえば次のようにして生成されたものである。
まず、トルクコンバータ６０を連結した内燃機関１０を、トルクコンバータ６０の出力軸にダイナモメータを接続した状態でテストベンチに設置する。そして、そのテストベンチ上で内燃機関１０を稼働させ、気筒＃１〜＃４のそれぞれにおいて要求される燃料を噴射すべきタイミングのうちランダムに選択したタイミングでは燃料噴射を停止させる。そして燃料の噴射を停止させた気筒においては燃焼状態変数ＰＲの値を「１」としたデータを教師データとし、燃料の噴射を停止させていない気筒においては、燃焼状態変数ＰＲの値を「０」としたデータを教師データに含める。
【００８１】
そして、都度の回転波形変数やＳ２１０の処理によって取得する変数の値を用いて、Ｓ２１２，Ｓ２１４の処理と同様の処理によって、燃焼状態変数ＰＲの値を算出する。こうして算出された燃焼状態変数ＰＲの値と教師データとの差を縮めるように、上記入力側係数ｗＦｊｋや出力側係数ｗＳｉｊの値を学習する。具体的には、たとえば公差エントロピーを最小化するように、入力側係数ｗＦｊｋや出力側係数ｗＳｉｊの値を学習すればよい。なお、入力軸回転速度ＮＴは、ダイナモメータの回転速度によって模擬できる。
【００８２】
ここで、本実施形態の作用および効果について説明する。
（６）上記実施形態では、クランク軸２４の回転速度ＮＥが予め定められた閾値以上となった場合には、写像データ７６ａによる気筒＃ｉ（ｉ＝１〜４）において失火が生じた確率Ｐ（ｉ）の算出は、実行フラグがＯＮ状態である場合（Ｓ１７：ＹＥＳ）に行われる。一方で、写像データ７６ａによる気筒＃ｉ（ｉ＝１〜４）において失火が生じた確率Ｐ（ｉ）の算出は、実行フラグがＯＦＦ状態である場合（Ｓ１７：ＮＯ）には行われない。すなわち、回転速度ＮＥが所定回転速度ＮＥｔｈ以上の場合に写像データ７６ａによる気筒＃ｉ（ｉ＝１〜４）において失火が生じた確率Ｐ（ｉ）の算出が行われる頻度は、回転速度ＮＥが所定回転速度ＮＥｔｈ未満の場合よりも小さい。そのため、回転速度ＮＥが大きくなっても、処理頻度が過度に大きくならず、ＣＰＵ７２の処理負担が過度に大きくなることを抑制できる。
【００８３】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１］状態判定装置は、制御装置７０に対応する。実行装置は、第１および第３の実施形態におけるＣＰＵ７２およびＲＯＭ７４に、第２の実施形態におけるＣＰＵ７２，１２２およびＲＯＭ７４，１２４に対応する。記憶装置は、第１および第３の実施形態における記憶装置７６に、第２の実施形態における記憶装置１２６に対応する。取得処理は、第１および第２の実施形態におけるＳ１２の処理に、第３の実施形態におけるＳ２１０の処理に対応する。内燃機関状態変数は、第１および第２の実施形態では、微小回転時間Ｔ３０（１），Ｔ３０（２），…Ｔ３０（２４）および上流側平均値Ａｆｕａｖｅ（１），Ａｆｕａｖｅ（２），…，Ａｆｕａｖｅ（２４）に対応し、第３の実施形態では微小回転時間Ｔ３０（１），Ｔ３０（２），…Ｔ３０（２４）に対応する。判定処理は、図２のＳ１３〜Ｓ１６の処理、図９のＳ２１３〜Ｓ２１６の処理に対応する。規定角度は、７２０°ＣＡに対応する。閾値は、所定回転速度ＮＥｔｈに対応する。［２］瞬時速度変数は、微小回転時間Ｔ３０に対応し、複数の回転波形変数は、微小回転時間Ｔ３０（１），Ｔ３０（２），…Ｔ３０（２４）に対応する。空燃比検出変数は、上流側平均値Ａｆｕａｖｅ（１），Ａｆｕａｖｅ（２），…，Ａｆｕａｖｅ（２４）に対応する。インバランス変数は、インバランス率Ｒｉｖに対応する。第１間隔は、３０°ＣＡに対応し、第２間隔は、３０°ＣＡに対応する。対処処理は、図３の処理に対応する。所定のハードウェアは、警告灯９０や、燃料噴射弁２０に対応する。［３］第３間隔は、７２０°ＣＡに対応し、第４間隔は、３０°ＣＡに対応し、瞬時速度パラメータは、微小回転時間Ｔ３０に対応する。判定処理は、Ｓ２１４〜Ｓ２１６の処理に対応する。対処処理は、図１０の処理に対応する。所定のハードウェアは、吸気側バルブタイミング可変装置４０や、点火装置２２、燃料噴射弁２０、スロットルバルブ１４に対応する。［４］第１実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応する。第２実行装置は、ＣＰＵ１２２およびＲＯＭ１２４に対応する。車両側送信処理は、図８のＳ１３２の処理に対応する。外部側受信処理は、図８のＳ１４０の処理に対応する。「出力算出処理によって算出された出力に基づく信号」は、判定結果に関する信号に対応する。［５］データ解析装置は、センター１２０に対応する。［６］内燃機関の制御装置は、図７に示す制御装置７０に対応する。
【００８４】
（その他の実施形態）
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００８５】
・「内燃機関状態変数について」
上記実施形態において、写像に入力する内燃機関状態変数は、上記実施形態の例に限られない。第１および第２の実施形態における回転波形変数としては、１燃焼サイクルである７２０°ＣＡの回転角度間隔が分割された複数の間隔のそれぞれにおける微小回転時間Ｔ３０を写像への入力としたが、これに限らない。たとえば、０〜７２０°ＣＡのうちの、０〜２０，４０〜６０，８０〜１００，１２０〜１４０，１６０〜１８０，…，７００〜７２０のそれぞれを第２間隔として、それらの回転に要する時間を写像への入力としてもよい。また、第３の実施形態における瞬時速度パラメータとしては、第４間隔の回転に要する時間である微小回転時間に限らない。たとえば、第４間隔を微小回転時間で割った値であってもよい。なお、瞬時速度パラメータとしては、極大値と極小値との差を固定値とする正規化処理がなされたものであることは必須ではない。また、写像の入力とするための前処理としてのフィルタ処理としては、上述したものに限らず、たとえば変速装置６４の入力軸６６の微小回転時間に基づき、入力軸６６によってクランク軸２４が回されている影響分を除く処理がなされたものとしてもよい。もっとも、写像の入力としての瞬時速度パラメータにフィルタ処理が施されていることは必須ではない。さらに、内燃機関状態変数は、内燃機関の状態を示すパラメータであれば特に限定されない。
【００８６】
・「判定処理の一部省略について」
上記実施形態では、７２０°ＣＡ毎に取得処理を行う一方で、回転速度ＮＥが所定回転速度ＮＥｔｈの場合には、取得処理毎に判定処理を行わないことで、判定処理の一部省略を実現しているが、判定処理の一部省略は、上記実施形態の例に限らない。たとえば、第１の実施形態において、規定角度とは別の第２規定角度を設定し、ＣＰＵ７２は、回転速度ＮＥが所定回転速度ＮＥｔｈ以上のときに、第２規定角度毎に取得処理を行うとする。このとき、第２規定角度を規定角度より大きく、たとえば１４４０°ＣＡと設定すればよい。この場合、ＣＰＵ７２は、先ず、Ｓ１２の前に、回転速度ＮＥと所定回転速度ＮＥｔｈとの比較をする。そして、ＣＰＵ７２は、回転速度ＮＥが所定回転速度ＮＥｔｈ未満の場合には、７２０°ＣＡ回転する度にＳ１２の取得処理を実行し、そして、取得処理をする度に、Ｓ１４，Ｓ１６の判定処理を行う。一方、ＣＰＵ７２は、回転速度ＮＥが所定回転速度ＮＥｔｈ以上の場合には、Ｓ１２の取得処理を第２規定角度の１４４０°ＣＡ毎にＳ１２〜Ｓ１６の処理を行う。この場合、ＣＰＵ７２は、回転速度ＮＥが所定回転速度ＮＥｔｈ未満の場合には、７２０°ＣＡ毎に判定処理を行う一方で、回転速度ＮＥが所定回転速度ＮＥｔｈ以上の場合には、１４４０°ＣＡ毎に判定処理を行う。回転速度ＮＥが所定回転速度ＮＥｔｈ以上の場合には、回転速度ＮＥが所定回転速度ＮＥｔｈ未満の場合に７２０°ＣＡ回転する度の判定処理のうち、２回に１回が省略される。その結果として、判定処理の頻度は、回転速度ＮＥが所定回転速度ＮＥｔｈ以上の場合には、回転速度ＮＥが所定回転速度ＮＥｔｈ未満の場合よりも低くなる。よって、判定処理の取得処理を行う頻度が低くなることで、併せて判定処理の頻度を低くすることを実現できる。
【００８７】
・「判定処理を省略する頻度について」
上記実施形態では、実行フラグは、取得処理が行われる度に、切り替えられるため、ＣＰＵ７２は、判定処理を、２回の処理、すなわち２燃焼サイクルに１回の頻度で省略するが、判定処理を省略する頻度は上記実施形態の例に限られない。たとえば、３燃焼サイクルに１回の頻度で省略されてもよいし、４燃焼サイクルに３回の頻度で省略されてもよい。さらに、クランク軸２４の回転速度ＮＥによって、判定処理の頻度を変化させてもよい。具体的には、Ｓ１８またはＳ１９の処理の前にカウンタによって、判定処理を省略した回数をカウントし、所定の回数になった場合に、Ｓ１８またはＳ１９の判定処理を行えばよい。
【００８８】
・「第１間隔および第２間隔について」
第１および第２の実施形態において、写像への入力となる上流側平均値Ａｆｕａｖｅのサンプリング間隔である第１間隔としては、３０°ＣＡに限らない。たとえば１０°ＣＡ等、３０°ＣＡよりも小さい角度間隔であってもよい。もっとも３０°ＣＡ以下の角度間隔に限らず、たとえば４５°ＣＡ等であってもよい。
【００８９】
写像への入力となる微小回転時間Ｔ３０のサンプリング間隔である第２間隔としては、３０°ＣＡに限らない。たとえば１０°ＣＡ等、３０°ＣＡよりも小さい角度間隔であってもよい。もっとも３０°ＣＡ以下の角度間隔に限らず、たとえば４５°ＣＡ等であってもよい。なお、第３間隔と第４間隔とが、同一の大きさの間隔であることは必須ではない。
【００９０】
・「第３間隔および第４間隔について」
第３の実施形態では、１燃焼サイクルである７２０°ＣＡの回転角度間隔内における連続する複数の第２間隔のそれぞれにおける瞬時速度パラメータとしての微小回転時間Ｔ３０を失火の有無の判定のための写像の入力パラメータとした。すなわち、第３間隔が７２０°ＣＡであり、第４間隔が３０°ＣＡである例を示したが、これに限らない。たとえば、第１間隔が７２０°ＣＡよりも長い回転角度間隔であってもよい。もっとも、第３間隔が７２０°ＣＡ以上であることも必須ではない。たとえば、特定の気筒において失火が生じた確率や発生トルクに関するデータを出力する写像などの入力については、上記第３間隔を４８０°ＣＡとするなど、７２０°ＣＡ以下の間隔としてもよい。この際、圧縮上死点の出現間隔よりも長い回転角度間隔とすることが望ましい。なお、上記第３間隔には、失火が生じた確率が求められる対象となる気筒の圧縮上死点が含まれることとする。
【００９１】
第４間隔としては、３０°ＣＡに限らない。たとえば１０°ＣＡ等、３０°ＣＡよりも小さい角度間隔であってもよい。もっとも３０°ＣＡ以下の角度間隔に限らず、たとえば４５°ＣＡ等であってもよい。
【００９２】
・「内燃機関の動作点を規定するパラメータについて」
第３の実施形態では、回転速度ＮＥおよび充填効率ηによって動作点を規定したが、これに限らない。たとえば、回転速度ＮＥおよび吸入空気量Ｇａであってもよい。またたとえば、負荷として、充填効率ηに代えて、噴射量や内燃機関に対する要求トルクを用いてもよい。負荷として噴射量や要求トルクを用いることは、下記「内燃機関について」の欄に記載した圧縮着火式内燃機関において特に有効である。
【００９３】
・「写像の入力について」
第３の実施形態において、瞬時速度パラメータに加えて入力する写像の入力としては、上記実施形態の例に限られない。たとえば、内燃機関１０の燃焼室１８における混合気の燃焼速度を調整するためのパラメータや、内燃機関１０が搭載される車両ＶＣが走行している路面の状態変数が含まれていてもよい。また、写像の入力に内燃機関１０の動作点を含めることは必須ではない。たとえば下記「内燃機関について」の欄に記載したように内燃機関がシリーズハイブリッド車に搭載され、その動作点が狭い範囲に制限された制御が前提とされる場合等にあっては、動作点を含めなくてもよい。さらに、動作点を規定する回転速度ＮＥおよび負荷、または回転速度ＮＥおよび吸入空気量の２つのパラメータのうちのいずれか１つのパラメータのみを瞬時速度パラメータに加えて入力する写像の入力としてもよい。
【００９４】
第１および第２の実施形態においても同様に、回転波形変数、および複数の空燃比検出変数に加えて入力する写像の入力としては、上記実施形態の例に限られない。また、写像の入力に内燃機関１０の動作点を含めることは必須ではない。
【００９５】
さらに、たとえば上記実施形態において検出用写像への入力とした複数種類の物理量の一部については、ニューラルネットワークや回帰式への直接の入力とする代わりに、それらの主成分分析によるいくつかの主成分を、ニューラルネットワークや回帰式への直接の入力としてもよい。もっとも、主成分をニューラルネットワークや回帰式の入力とする場合に、ニューラルネットワークや回帰式への入力の一部のみが主成分となることは必須ではなく、全部を主成分としてもよい。なお、主成分を検出用写像への入力とする場合、写像データ７６ａ，１２６ａには、主成分を定める検出用写像を規定するデータが含まれることとなる。
【００９６】
・「内燃機関の状態判定システムについて」
第３の実施形態において、失火の検出に関する処理を行う際に、第２の実施形態のように、内燃機関の状態判定システムを構成してもよい。この場合、センター１２０において、失火の判定をして、判定結果を車両ＶＣに送信すればよい。
【００９７】
・「対処処理について」
上記実施形態における対処処理の構成は、上記実施形態の例に限られない。たとえば、警告灯９０を操作することによって、視覚情報を通じて失火が生じた旨を報知したが、これに限らない。たとえばスピーカを操作することによって、聴覚情報を通じて失火が生じた旨を報知してもよい。また、たとえば図１に示す制御装置７０が通信機１２９を備えることとし、通信機１２９を操作してユーザの携帯端末に失火が生じた旨の信号を送信する処理としてもよい。これは、ユーザの携帯端末に、報知処理を実行するアプリケーションプログラムをインストールしておくことにより実現できる。また、第１の実施形態における対処処理として、図３に示す処理の一部または全部を省略してもよい。この点、第３の実施形態における図１０の処理についても同様である。
【００９８】
・「写像データについて」
上記実施形態では、活性化関数ｈ，ｈ１，ｈ２，…ｈαを、ハイパボリックタンジェントとし、出力の活性化関数をソフトマックス関数としたが、これに限らない。たとえば活性化関数ｈ，ｈ１，ｈ２，…ｈαを、ＲｅＬＵとしてもよい。また、たとえば出力の活性化関数を、ロジスティックジグモイド関数としてもよい。この場合、たとえば出力層のノード数を１個とし、出力変数を燃焼状態変数ＰＲとすればよい。その場合、出力変数の値が所定値以上である場合に異常と判定することによって、異常の有無を判定できる。
【００９９】
・「機械学習のアルゴリズムについて」
機械学習のアルゴリズムとしては、ニューラルネットワークを用いるものに限らない。たとえば回帰式を用いてもよい。これは、上記ニューラルネットワークにおいて中間層を備えないものに相当する。
【０１００】
・「写像データの生成手法について」
第３の実施形態では、ランダムに失火が生じる状況において学習を実行したが、これに限らない。たとえば特定の気筒で連続的に失火が生じる状況において学習を実行してもよい。ただし、その場合、写像への入力となる気筒間変数や変動パターン変数に用いる気筒間変数を、失火の検出対象となる気筒と、それ以外の気筒とのそれぞれの圧縮上死点に対応する微小回転時間Ｔ３０同士の差等とすることが望ましい。
【０１０１】
また、上記実施形態において、写像データの生成方法は、クランク軸２４のダイナモメータを接続し内燃機関１０を稼働した際のクランク軸２４の回転挙動に基づき学習を行うものに限らない。たとえば内燃機関１０を車両に搭載し、車両を走行させた際のクランク軸２４の回転挙動に基づき学習を行ってもよい。これによれば、車両が走行する路面の状態によるクランク軸２４の回転挙動の影響を学習に反映させることができる。
【０１０２】
・「データ解析装置について」
第２の実施形態において、図８（ｂ）の処理を、たとえばユーザが所持する携帯端末によって実行してもよい。これは、携帯端末に図７の処理を実行するアプリケーションプログラムをインストールしておくことにより実現できる。なお、この際、たとえばＳ１３２の処理におけるデータの送信が有効な距離が車両の長さ程度である設定とする等して、車両ＩＤの送受信処理を削除してもよい。
【０１０３】
・「実行装置について」
各実施形態における実行装置としては、ＣＰＵ７２，１２２とＲＯＭ７４，１２４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０１０４】
・「記憶装置について」
第１および第２の実施形態では、写像データ７６ａ，１２６ａが記憶される記憶装置と、インバランス検出プログラム７４ａやインバランス検出用メインプログラム１２４ａが記憶される記憶装置であるＲＯＭ７４，１２４とを別の記憶装置としたが、これに限らない。この点、第３の実施形態における写像データ７６ａと失火検出プログラムとが記憶される記憶装置についても同様である。
【０１０５】
・「コンピュータについて」
コンピュータとしては、車両に搭載されたＣＰＵ７２およびＲＯＭ７４等の実行装置と、センター１２０が備えるＣＰＵ１２２およびＲＯＭ１２４等の実行装置とから構成されるものに限らない。たとえば車両に搭載された実行装置とセンター１２０が備える実行装置と、ユーザの携帯端末内のＣＰＵおよびＲＯＭ等の実行装置とによって、構成してもよい。これは、たとえば図８（ｂ）のＳ１３２の処理を、ユーザの携帯端末に送信する処理とし、Ｓ１４０，Ｓ１４〜Ｓ１６，Ｓ１４２の処理を携帯端末において実行することで実現できる。
【０１０６】
・「内燃機関の状態について」
クランク軸２４が規定角度回転する度に取得処理を行うのであれば、判定処理が判定する内燃機関１０の状態は、失火や気筒間空燃比インバランス以外の状態であってもよい。たとえば吸気バルブや排気バルブの開弁固着により気筒内での吸気の圧縮が不十分な状態となる、いわゆる圧縮抜けが特定の気筒で発生した場合にも、気筒間の燃焼状態にばらつきが生じてクランク軸２４の回転変動が大きくなる。そのため、こうした圧縮抜けの検出を、上述の内燃機関状態変数を入力とした写像を用いて行うようにすれば、クランク軸２４の回転挙動に与える影響を反映したかたちで圧縮抜けを判定できる。
【０１０７】
・「各実施形態の組み合わせについて」
第１および第２の実施形態におけるインバランス検出プログラム７４ａと、第３の実施形態における失火検出プログラムと、のいずれもが搭載されており、ＣＰＵ７２が、失火および気筒間の空燃比インバランスのいずれの状態をも判定してもよい。この場合、ＣＰＵ７２の計算負荷は、失火または気筒間空燃比インバランスのいずれかの状態を判定するよりも大きくなるため、クランク軸２４の回転速度ＮＥが相応に大きい場合に、上記各実施形態を適用するうえでは効果が大きい。
【０１０８】
また、第１および第２の実施形態を組み合わせて、車両ＶＣでインバランス検出プログラムを判定する一方で、センター１２０でインバランス検出プログラムを判定してもよい。さらに、第２および第３の実施形態を組み合わせて、センター１２０で気筒間の空燃比インバランスの状態の判定を行う一方で、車両ＶＣで失火の状態の判定を行ってもよい。
【０１０９】
・「センターについて」
第２の実施形態では、センター１２０は、インバランス率Ｒｉｖを車両ＶＣに送信しなくてもよい。この場合、センター１２０にインバランス率Ｒｉｖを記憶しておき、研究開発に活かすことができる。
【０１１０】
・「内燃機関について」
上記実施形態では、燃料噴射弁として、燃焼室１８内に燃料を噴射する筒内噴射弁を例示したがこれに限らない。たとえば吸気通路１２に燃料を噴射するポート噴射弁であってもよい。また、たとえばポート噴射弁と筒内噴射弁との双方を備えてもよい。内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油等を用いる圧縮着火式内燃機関等であってもよい。
【０１１１】
・「車両について」
上記実施形態の車両ＶＣは、駆動系にロックアップクラッチ６２、トルクコンバータ６０、および変速装置６４を有した構成であったが、駆動系の構成の異なる車両であってもよい。
【符号の説明】
【０１１２】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…吸気バルブ、１８…燃焼室、２０…燃料噴射弁、２２…点火装置、２４…クランク軸、２６…排気バルブ、２８…排気通路、３０…三元触媒、３２…ＥＧＲ通路、３４…ＥＧＲバルブ、４０…吸気側バルブタイミング可変装置、４２…吸気側カム軸、４４…排気側バルブタイミング可変装置、４６…排気側カム軸、５０…クランクロータ、５２…歯部、５４…欠け歯部、６０…トルクコンバータ、６２…ロックアップクラッチ、６４…変速装置、６６…入力軸、６８…出力軸、６９…駆動輪、７０…制御装置、７２…ＣＰＵ、７４…ＲＯＭ、７４ａ…インバランス検出プログラム、７４ｂ…対処プログラム、７４ｃ…失火検出サブプログラム、７６…記憶装置、７６ａ…写像データ、７７…周辺回路、７８…ローカルネットワーク、７９…通信機、８０…クランク角センサ、８２…エアフローメータ、８３…空燃比センサ、８４…水温センサ、８６…シフト位置センサ、８８…加速度センサ、９０…警告灯、１００…ダイナモメータ、１０２…センサ群、１０４…適合装置、１１０…ネットワーク、１２０…センター、１２２…ＣＰＵ、１２４…ＲＯＭ、１２４ａ…インバランス検出用メインプログラム、１２６…記憶装置、１２６ａ…写像データ、１２７…周辺回路、１２８…ローカルネットワーク、１２９…通信機。
【要約】
【課題】クランク軸の回転速度が大きい場合に、ＣＰＵに対する写像による計算負荷を軽減する。
【解決手段】ＣＰＵは、クランク軸の回転速度ＮＥが予め定められた所定回転速度ＮＥｔｈ未満であるか否かを判定する（Ｓ１３）。ＣＰＵは、回転速度ＮＥが予め定められた所定回転速度ＮＥｔｈ以上である場合に（Ｓ１３：ＮＯ）、実行フラグがＯＮであるか否かを判定する。ＣＰＵは、実行フラグがＯＦＦである場合には（Ｓ１７：ＮＯ）、判定処理（Ｓ１４，Ｓ１６）を省略する。
【選択図】図２【図１】
0006708292.tif 000002
【図２】
0006708292.tif 000003
【図３】
0006708292.tif 000004
【図４】
0006708292.tif 000005
【図５】
0006708292.tif 000006
【図６】
0006708292.tif 000007
【図７】
0006708292.tif 000008
【図８】
0006708292.tif 000009
【図９】
0006708292.tif 000010
【図１０】
0006708292.tif 000011