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