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