図面 (/)
課題
解決手段
概要
背景
概要
適合工数を軽減できるようにした内燃機関の失火検出装置を提供する。互いに異なる角度間隔におけるクランク軸の回転挙動が失火の有無に応じて異なることに鑑み、写像への入力に回転波形変数を含める。また、クランク軸の回転挙動は、制振制御の有無に応じて異なることから、写像への入力に制振変数を含める。しかも上記構成では、回転波形変数と制振変数との機械学習によって学習されたパラメータに基づく結合演算によって失火変数の値が算出される。この場合、パラメータは、回転波形変数と制振変数とが様々な値をとるときの失火の有無に基づき学習可能であることから、制振変数の状態毎に各別の適合をする必要がなく、適合工数を軽減することができる。
目的
効果
実績
- 技術文献被引用数
- 0件
- 牽制数
- 0件
この技術が所属する分野
(分野番号表示ON)※整理標準化データをもとに当社作成
請求項1
クランク軸にモータジェネレータが機械的に連結された内燃機関の失火検出装置であって、記憶装置と、実行装置と、を備え、前記記憶装置は、前記内燃機関の圧縮上死点の出現間隔よりも小さい角度間隔における前記クランク軸の回転速度である瞬時速度の互いに異なる前記角度間隔における値同士の相違に関する情報を含む変数である回転波形変数と、車両の動力伝達系の振動を抑制すべく前記モータジェネレータのトルクを操作する制振処理の状態に関する変数である制振変数とを入力とし、失火が生じた確率に関する変数である失火変数を出力する写像を規定するデータである写像データを記憶しており、前記実行装置は、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数と前記制振変数とを取得する取得処理、前記取得処理によって取得された変数を入力とする前記写像の出力に基づき前記失火の有無を判定する判定処理、および前記判定処理によって失火が生じたと判定する場合、所定のハードウェアを操作することによって失火が生じたことに対処するための対処処理を実行し、前記写像は、機械学習によって学習されたパラメータに基づく前記回転波形変数と前記制振変数との結合演算によって前記失火変数の値を出力する内燃機関の失火検出装置。
請求項2
前記制振処理は、前記モータジェネレータに対する要求トルクに対して前記振動を抑制するためのトルクである補正トルクを重畳する処理であり、前記取得処理は、前記制振変数として前記補正トルクを取得する処理である請求項1記載の内燃機関の失火検出装置。
請求項3
前記制振処理は、前記補正トルクの大きさを前記内燃機関の動作点に応じて変更する処理を含む請求項2記載の内燃機関の失火検出装置。
請求項4
前記写像の入力には、前記内燃機関の動作点を規定する変数である動作点変数が含まれ、前記取得処理は、前記動作点変数を取得する処理を含み、前記判定処理は、前記取得処理によって取得された前記動作点変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記失火の有無を判定する処理である請求項3記載の内燃機関の失火検出装置。
請求項5
請求項1〜4のいずれか1項に記載の前記実行装置および前記記憶装置を備え、前記判定処理は、前記取得処理によって取得された変数を入力とする前記写像の出力値を算出する出力値算出処理を含み、前記実行装置は、第1実行装置および第2実行装置を含み、前記第1実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、前記出力値算出処理の算出結果に基づく信号を受信する車両側受信処理と、前記対処処理と、を実行し、前記第2実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記出力値算出処理と、前記出力値算出処理の算出結果に基づく信号を前記車両に送信する外部側送信処理と、を実行する内燃機関の失火検出システム。
請求項6
請求項5記載の前記第2実行装置および前記記憶装置を備えるデータ解析装置。
請求項7
請求項5記載の前記第1実行装置を備える内燃機関の制御装置。
請求項8
技術分野
背景技術
0002
たとえば下記特許文献1には、30°CAの角度間隔だけクランク軸が回転するのに要する時間の複数の角度間隔のそれぞれにおける値同士の差によってクランク軸の回転変動量を定め、回転変動量と失火判定値との大小比較に基づき失火の有無を判定する制御装置が記載されている。この制御装置は、クランク軸にモータジェネレータが機械的に連結されたいわゆるハイブリッド車に搭載されたものであり、モータジェネレータのトルクの操作によって車両の動力伝達系の振動を抑制する制振制御がなされているか否かによって、失火判定値を変更している。これは、制振制御がなされている場合には、回転変動量の絶対値が小さくなることに鑑みたものである。
先行技術
0003
特開2010−264854号公報
発明が解決しようとする課題
課題を解決するための手段
0005
以下、上記課題を解決するための手段およびその作用効果について記載する。
1.クランク軸にモータジェネレータが機械的に連結された内燃機関の失火検出装置であって、記憶装置と、実行装置と、を備え、前記記憶装置は、前記内燃機関の圧縮上死点の出現間隔よりも小さい角度間隔における前記クランク軸の回転速度である瞬時速度の互いに異なる前記角度間隔における値同士の相違に関する情報を含む変数である回転波形変数と、車両の動力伝達系の振動を抑制すべく前記モータジェネレータのトルクを操作する制振処理の状態に関する変数である制振変数とを入力とし、失火が生じた確率に関する変数である失火変数を出力する写像を規定するデータである写像データを記憶しており、前記実行装置は、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数と前記制振変数とを取得する取得処理、前記取得処理によって取得された変数を入力とする前記写像の出力に基づき前記失火の有無を判定する判定処理、および前記判定処理によって失火が生じたと判定する場合、所定のハードウェアを操作することによって失火が生じたことに対処するための対処処理を実行し、前記写像は、機械学習によって学習されたパラメータに基づく前記回転波形変数と前記制振変数との結合演算によって前記失火変数の値を出力する内燃機関の失火検出装置である。
0006
上記構成では、互いに異なる角度間隔におけるクランク軸の回転挙動が失火の有無に応じて異なることに鑑み、写像への入力に回転波形変数を含める。また、クランク軸の回転挙動は、制振制御の有無に応じて異なることから、写像への入力に制振変数を含める。しかも上記構成では、回転波形変数と制振変数との機械学習によって学習されたパラメータに基づく結合演算によって失火変数の値が算出される。この場合、パラメータは、回転波形変数と制振変数とが様々な値をとるときの失火の有無に基づき学習可能であることから
、制振変数の状態毎に各別の適合をする必要がない。そのため、適合工数を軽減できる。
0007
2.前記制振処理は、前記モータジェネレータに対する要求トルクに対して前記振動を抑制するためのトルクである補正トルクを重畳する処理であり、前記取得処理は、前記制振変数として前記補正トルクを取得する処理である上記1記載の内燃機関の失火検出装置である。
0008
上記構成では、制振処理の状態を示す変数として、補正トルクを用いることにより、制振処理によってモータジェネレータに重畳されるトルクの大きさに関する情報を踏まえて、失火変数の値を算出できる。そのため、制振処理の実行の有無のみの情報に基づき失火変数の値を算出する場合と比較すると、失火変数の値を高精度なものとしやすい。
0009
3.前記制振処理は、前記補正トルクの大きさを前記内燃機関の動作点に応じて変更する処理を含む上記2記載の内燃機関の失火検出装置である。
上記構成では、動作点に応じて補正トルクの大きさを変更することにより、クランク軸のトルク変動に起因した振動を抑制する場合などには、補正トルクを固定値とする場合と比較して、補正トルクを振動を抑制するうえでより適切な値とすることができる。また、上記構成では、補正トルクを制振変数とすることにより、補正トルクの大きさを反映して失火変数の値を算出でき、ひいては、補正トルクの大きさの情報に基づくことなく失火変数の値を算出する場合と比較して、失火変数の値をより高精度に算出できる。
0010
4.前記写像の入力には、前記内燃機関の動作点を規定する変数である動作点変数が含まれ、前記取得処理は、前記動作点変数を取得する処理を含み、前記判定処理は、前記取得処理によって取得された前記動作点変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記失火の有無を判定する処理である上記3記載の内燃機関の失火検出装置である。
0011
上記構成では、内燃機関の動作点を規定する動作点変数を写像への入力とした。内燃機関の操作部の操作量は、内燃機関の動作点に基づき定められる傾向がある。そのため、動作点変数は、各操作部の操作量に関する情報を含む変数である。したがって、上記構成では、動作点変数を写像の入力とすることにより、各操作部の操作量に関する情報に基づき失火変数の値を算出することができ、ひいては操作量によるクランク軸の回転挙動の変化を反映して失火変数PRの値をより高精度に算出することができる。
0012
また、上記構成では、動作点変数が写像の入力に含まれていることから、制振変数として、制振処理の実行の有無に関する2値的な変数を用いたとしても、制振変数および動作点変数の協働で、動作点に応じた補正トルクの大きさに関する情報を得ることが可能である。ただし、制振変数および動作点変数に基づき動作点に応じた補正トルクの大きさに関する情報を得つつ失火変数の値を高精度に算出する要求を写像に課す場合、写像の構造が複雑化しやすい。これに対し、上記構成では、制振変数を補正トルクとすることにより、写像の構造を簡素化しつつも失火変数の値を高精度に算出できる。
0013
5.上記1〜4のいずれか1つに記載の前記実行装置および前記記憶装置を備え、前記判定処理は、前記取得処理によって取得された変数を入力とする前記写像の出力値を算出する出力値算出処理を含み、前記実行装置は、第1実行装置および第2実行装置を含み、前記第1実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、前記出力値算出処理の算出結果に基づく信号を受信する車両側受信処理と、前記対処処理と、を実行し、前記第2実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記出力値算出処理と、前記出力値算出処理の算出結果
に基づく信号を前記車両に送信する外部側送信処理と、を実行する内燃機関の失火検出システムである。
0014
上記構成では、出力値算出処理を車両の外部で行うことにより、車両側の演算負荷を軽減できる。
6.上記5記載の前記第2実行装置および前記記憶装置を備えるデータ解析装置である。
0015
7.上記5記載の前記第1実行装置を備える内燃機関の制御装置である。
8.上記1〜4のいずれか1つに記載の前記取得処理、前記判定処理、および前記対処処理をコンピュータによって実行させる内燃機関の失火検出方法である。
0016
上記方法によれば、上記1記載の構成と同様の効果を奏することができる。
図面の簡単な説明
0017
第1の実施形態にかかる制御装置および車両の駆動系の構成を示す図。
同実施形態にかかる制御装置が実行する処理の一部を示すブロック図。
同実施形態にかかる失火用プログラムに規定されている処理の手順を示す流れ図。
同実施形態にかかる写像の入力変数を示すタイムチャート。
同実施形態にかかるクランク軸の回転挙動波形を示すタイムチャート。
第2の実施形態にかかる失火検出システムの構成を示す図。
(a)および(b)は、失火検出システムが実行する処理の手順を示す流れ図。
実施例
0018
<第1の実施形態>
以下、内燃機関の失火検出装置にかかる第1の実施形態について図面を参照しつつ説明する。
0019
図1に示す車両VCに搭載された内燃機関10において、吸気通路12には、スロットルバルブ14が設けられている。吸気通路12から吸入された空気は、吸気バルブ16が開弁することによって各気筒#1〜#4の燃焼室18に流入する。燃焼室18には、燃料噴射弁20によって燃料が噴射される。燃焼室18において、空気と燃料との混合気は、点火装置22による火花放電によって燃焼に供され、燃焼によって生じたエネルギは、クランク軸24の回転エネルギとして取り出される。燃焼に供された混合気は、排気バルブ26の開弁に伴って、排気として、排気通路28に排出される。
0020
クランク軸24には、クランク軸24の回転角度を示す複数個(ここでは、34個)の歯部32が設けられたクランクロータ30が結合されている。クランクロータ30には、基本的には、10°CA間隔で歯部32が設けられているものの、隣接する歯部32間の間隔が30°CAとなる箇所である欠け歯部34が1箇所設けられている。これは、クランク軸24の基準となる回転角度を示すためのものである。
0021
クランク軸24は、動力分割機構を構成する遊星歯車機構40のキャリアCに機械的に連結されている。遊星歯車機構40のサンギアSには、第1のモータジェネレータ42の回転軸が機械的に連結されており、遊星歯車機構40のリングギアRには、第2のモータジェネレータ44の回転軸および駆動輪50が機械的に連結されている。第1のモータジェネレータ42の各端子には、インバータ46によって交流電圧が印加され、第2のモータジェネレータ44の各端子には、インバータ48によって交流電圧が印加される。
0022
制御装置60は、内燃機関10を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ14や、燃料噴射弁20、点火装置22等の内燃機関10の操作部を操作する。また、制御装置60は、第1のモータジェネレータ42を制御対象とし、その制御量であるトルクや回転速度を制御するために、インバータ46を操作する。また、制御装置60は、第2のモータジェネレータ44を制御対象とし、その制御量であるトルクや回転速度を制御するために、インバータ48を操作する。なお、図1には、スロットルバルブ14、燃料噴射弁20、点火装置22、インバータ46,48のそれぞれの操作信号MS1〜MS5を記載している。
0023
制御装置60は、制御量の制御に際し、エアフローメータ70によって検出される吸入空気量Gaや、クランク角センサ72の出力信号Scr、アクセルセンサ74によって検出されるアクセルペダルの踏み込み量であるアクセル操作量ACCPを参照する。
0024
制御装置60は、CPU62、ROM64、電気的に書き換え可能な不揮発性メモリである記憶装置66、および周辺回路67を備え、それらがローカルネットワーク68によって通信可能とされたものである。なお、周辺回路67は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
0025
制御装置60は、ROM64に記憶されたプログラムをCPU62が実行することによって、上記制御量の制御を実行する。
図2に、ROM64に記憶されたプログラムをCPU62が実行することによって実現される処理の一部を示す。
0026
出力分配処理M10は、アクセル操作量ACCPに基づき、車両の推進に要求される出力を、内燃機関10に対する要求出力Peg、第1のモータジェネレータ42に対する要求出力Pmg1、第2のモータジェネレータ44に対する要求出力Pmg2に分配する処理である。
0027
スロットル操作処理M12は、要求出力Pegと回転速度NEとから把握される内燃機関10に対する要求トルクに基づき、スロットルバルブ14の開口度を操作すべく、スロットルバルブ14に操作信号MS1を出力する処理である。なお、回転速度NEは、CPU62により、出力信号Scrに基づき算出される。ちなみに、回転速度NEは、クランク軸24の1回転以上の回転角度だけクランク軸24が回転する際の回転速度の平均値とすることが望ましい。なお、ここでの平均値は、単純平均に限らず、たとえば、指数移動平均処理でもよく、その場合、1回転以上の回転角度だけクランク軸24が回転する際の出力信号Scrの時系列データに基づき算出されるものとする。
0028
第1MG操作処理M14は、要求出力Pmg1に基づき、第1のモータジェネレータ42の出力を制御すべく、インバータ46に操作信号MS4を出力する処理である。
第2MG操作処理M16は、要求出力Pmg2に基づき、第2のモータジェネレータ44の出力を制御すべく、インバータ48に操作信号MS5を出力する処理である。詳しくは、第2MG操作処理M16は、要求トルク算出処理M16a、補正処理M16bおよび操作信号出力処理M16cを含む。
0029
要求トルク算出処理M16aは、要求出力Pmg2に基づき、第2のモータジェネレータ44に対する要求トルクTmg2を算出する処理である。補正処理M16bは、要求トルクTmg2に補正トルクΔTrqを加算する処理である。操作信号出力処理M16cは、第2のモータジェネレータ44のトルクを補正処理M16bが出力するトルクとすべく、インバータ48に操作信号MS5を出力する処理である。
0030
補正トルク算出処理M18は、クランク軸24の瞬時速度ωegを入力として、クランク軸24のトルク変動に起因した車両の動力伝達系の振動を抑制するための第2のモータジェネレータ44の補正トルクΔTrqを算出する処理である。ここで、瞬時速度ωegは、クランク軸24の1回転よりも小さい角度間隔の回転速度であり、たとえば30°CAの回転に要する時間によって30°CAを除算することによって、30°CAの角度間隔の回転速度とすることができる。なお、上述の回転速度NEは、クランク軸24の1回転以上の角度間隔における瞬時速度ωegの平均値となっている。
0031
詳しくは、補正トルク算出処理M18は、瞬時速度ωegの時系列データのうちの隣接するもの同士の差に基づく瞬時加速度の符号の反転に基づき、トルク変動を検知する処理を含む。また、補正トルク算出処理M18は、トルク変動を検知した場合、第2のモータジェネレータ44の回転を止める側の符号を有した補正トルクΔTrqを算出する処理を含む。なお、トルク変動が検知されない場合、補正トルクΔTrqは、「0」とされる。詳しくは、内燃機関10の動作点を規定する回転速度NEおよび充填効率ηを入力変数とし、補正トルクΔTrqを出力変数とするマップデータがROM64に予め記憶されており、CPU62は、トルク変動を検知すると、回転速度NEおよび充填効率ηに基づき補正トルクΔTrqをマップ演算する。
0032
なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
0033
制御装置60は、さらに、内燃機関10の稼働時において、失火の有無を判定する。
図3に、失火の検出に関する処理の手順を示す。図3に示す処理は、ROM64に記憶された失火用プログラム64aをCPU62が、たとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
0034
図3に示す一連の処理において、CPU62は、まず、微小回転時間T30を取得する(S10)。微小回転時間T30は、CPU62により、クランク角センサ72の出力信号Scrに基づき、クランク軸24が30°CA回転するのに要する時間を計時することによって算出される。次にCPU62は、S10の処理において取得した最新の微小回転時間T30を、微小回転時間T30(0)とし、より過去の値ほど、微小回転時間T30(m)の変数「m」を大きい値とする(S12)。すなわち、「m=1,2,3,…」として、S12の処理がなされる直前における微小回転時間T30(m−1)を微小回転時間T30(m)とする。これにより、たとえば、図3の処理が前回実行されたときにS10の処理により取得された微小回転時間T30は、微小回転時間T30(1)となる。
0035
次に、CPU62は、S10の処理において取得された微小回転時間T30が、気筒#1〜#4のいずれかの圧縮上死点前30°CAから圧縮上死点までの角度間隔の回転に要する時間であるか否かを判定する(S14)。そしてCPU62は、圧縮上死点までの角度間隔の回転に要する時間であると判定する場合(S14:YES)、360°CAだけ前に圧縮上死点となった気筒の失火の有無を判定すべく、まず、失火の有無の判定処理の入力とする回転波形変数の値を算出する。
0036
すなわち、CPU62は、まず、圧縮上死点前30°CAから圧縮上死点までの角度間隔に関する微小回転時間T30の互いに180°だけ離間した値同士の差を気筒間変数Δ
Taとして算出する(S16)。詳しくは、CPU62は、「m=1,2,3,…」として、気筒間変数ΔTa(m−1)を、「T30(6m−6)−T30(6m)」とする。
0037
図4に、気筒間変数ΔTaを例示する。なお、本実施形態では、気筒#1、気筒#3、気筒#4、気筒#2の順に圧縮上死点が出現し、その順で燃焼行程となるものを例示している。図4には、S10の処理において気筒#4の圧縮上死点前30°CAから圧縮上死点までの角度間隔の微小回転時間T30(0)を取得することにより、失火の有無の検出対象が気筒#1である例を示している。この場合、気筒間変数ΔTa(0)は、気筒#4の圧縮上死点と、1つ前に圧縮上死点となった気筒#3の圧縮上死点とのそれぞれに対応する微小回転時間T30同士の差となる。図4には、気筒間変数ΔTa(2)が、失火の検出対象となる気筒#1の圧縮上死点に対応する微小回転時間T30(12)と、気筒#2の圧縮上死点に対応する微小回転時間T30(18)との差であることを記載している。
0038
図3に戻り、CPU62は、気筒間変数ΔTa(0),ΔTa(1),ΔTa(2),…のうちの互いに720°CAだけ離間した値同士の差である気筒間変数ΔTbを算出する(S18)。詳しくは、CPU62は、「m=1,2,3,…」として、気筒間変数ΔTb(m−1)を、「ΔTa(m−1)−ΔTa(m+3)」とする。
0039
図4に、気筒間変数ΔTbを例示する。図4には、気筒間変数ΔTb(2)が、「ΔTa(2)−Ta(6)」であることが記載されている。
次に、CPU62は、失火の検出対象となる気筒に対応する気筒間変数ΔTbと、それ以外の気筒に対応する気筒間変数ΔTbとの相対的な大きさの関係を示す変動パターン変数FLを算出する(S20)。本実施形態では、変動パターン変数FL[02],FL[12],FL[32]を算出する。
0040
ここで、変動パターン変数FL[02]は、「ΔTb(0)/ΔTb(2)」によって定義される。すなわち、変動パターン変数FL[02]は、図4の例を用いると、失火の検出対象となる気筒#1に対応する気筒間変数ΔTb(2)で、その次の次に圧縮上死点となる気筒#4に対応する気筒間変数ΔTb(0)を除算した値である。また、変動パターン変数FL[12]は、「ΔTb(1)/ΔTb(2)」によって定義される。すなわち、変動パターン変数FL[12]は、図4の例を用いると、失火の検出対象となる気筒#1に対応する気筒間変数ΔTb(2)で、その次に圧縮上死点となる気筒#3に対応する気筒間変数ΔTb(1)を除算した値である。また、変動パターン変数FL[32]は、「ΔTb(3)/ΔTb(2)」によって定義される。すなわち、変動パターン変数FL[32]は、図4の例を用いると、失火の検出対象となる気筒#1に対応する気筒間変数ΔTb(2)で、その1つ前に圧縮上死点となっていた気筒#2に対応する気筒間変数ΔTb(3)を除算した値である。
0041
次に、CPU62は、回転速度NE、充填効率η、および補正トルクΔTrqを取得する(S22)。
そして、CPU62は、検出対象となる気筒において失火が生じた確率に関する変数である失火変数PRを出力する写像の入力変数x(1)〜x(7)に、S18,S20の処理によって取得した回転波形変数の値と、S22の処理によって取得した変数の値とを代入する(S24)。すなわち、CPU62は、入力変数x(1)に気筒間変数ΔTb(2)を代入し、入力変数x(2)に変動パターン変数FL[02]を代入し、入力変数x(3)に変動パターン変数FL[12]を代入し、入力変数x(4)に変動パターン変数FL[32]を代入する。また、CPU62は、入力変数x(5)に、回転速度NEを代入し、入力変数x(6)に充填効率ηを代入し、入力変数x(7)に補正トルクΔTrqを代入する。
0042
次にCPU62は、図1に示す記憶装置66に記憶された写像データ66aによって規定される写像に入力変数x(1)〜x(7)を入力することによって、写像の出力値である失火変数PRの値を算出する(S26)。
0043
本実施形態において、この写像は、中間層が1層のニューラルネットワークによって構成されている。上記ニューラルネットワークは、入力側係数wFjk(j=0〜n,k=0〜7)と、入力側係数wFjkによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数h(x)を含む。本実施形態では、活性化関数h(x)として、ReLUを例示する。なお、ReLUは、入力と「0」とのうちの小さくない方を出力する関数である。ちなみに、wFj0等は、バイアスパラメータであり、入力変数x(0)は、「1」と定義されている。
0044
また、上記ニューラルネットワークは、出力側係数wSij(i=1〜2,j=0〜n)と、出力側係数wSijによって規定される線形写像である出力側線形写像の出力である原型変数yR(1),yR(2)のそれぞれを入力として、失火変数PRを出力するソフトマックス関数を含む。これにより、本実施形態において、失火変数PRは、実際に失火が生じたことのもっともらしさの大小を「0」よりも大きく「1」よりも小さい所定領域内で連続的な値として定量化したものとなる。
0045
次に、CPU62は、失火変数PRの値が判定値PRth以上であるか否かを判定する(S28)。そしてCPU62は、判定値PRth以上であると判定する場合(S28:YES)、カウンタCRをインクリメントする(S30)。そして、CPU62は、S28の処理が最初に実行された時点または後述のS36の処理がなされた時点から所定期間が経過したか否かを判定する(S32)。ここで所定期間は、1燃焼サイクルの期間よりも長く、望ましくは、1燃焼サイクルの10倍以上の長さを有することが望ましい。
0046
CPU62は、所定期間が経過したと判定する場合(S32:YES)、カウンタCRが閾値CRth以上であるか否かを判定する(S34)。この処理は、許容範囲を超える頻度で失火が生じたか否かを判定する処理である。CPU62は、閾値CRth未満であると判定する場合(S34:NO)、カウンタCRを初期化する(S36)。これに対し、CPU62は、閾値CRth以上であると判定する場合(S34:YES)、異常に対処することをユーザに促すべく、図1に示す警告灯78を操作する報知処理を実行する(S38)。
0047
なお、CPU62は、S36,S38の処理が完了する場合や、S14,S28,S32の処理において否定判定する場合には、図3に示す一連の処理を一旦終了する。
ちなみに、上記写像データ66aは、たとえば次のようにして生成されたものである。すなわち、テストベンチにてクランク軸24にダイナモメータを接続した状態で内燃機関10を稼働させ、気筒#1〜#4のそれぞれにおいて要求される燃料を噴射すべきタイミングのうちランダムに選択したタイミングでは燃料噴射を停止させる。そして燃料の噴射を停止させた気筒においては失火変数PRの値を「1」としたデータを教師データとし、燃料の噴射を停止させていない気筒においては、失火変数PRの値を「0」としたデータを教師データに含める。そして、都度の回転波形変数やS22の処理によって取得する変数の値を用いて、S24,S26の処理と同様の処理によって、失火変数PRの値を算出する。こうして算出された失火変数PRの値と教師データとの差を縮めるように、上記入力側係数wFjkや出力側係数wSijの値を学習する。具体的には、たとえば、公差エントロピーを最小化するように、入力側係数wFjkや出力側係数wSijの値を学習すればよい。なお、制振処理の実行の有無は、ダイナモメータがクランク軸24に付与するトルクによって模擬すればよい。このように、機械学習を用いることにより、様々な動作
点をとるようにしつつ内燃機関10を比較的自由に稼働することによって生成される教師データを用いて写像データ66aを学習可能である。このため、様々な動作点毎に、失火の有無におけるクランク軸24の挙動の検知に基づきマップデータを適合する場合と比較すると、適合工数を軽減できる。
0048
ここで、本実施形態の作用および効果について説明する。
CPU62は、回転波形変数に基づき失火変数PRの値を算出することによって、失火の有無を判定する。また、CPU62は、クランク軸24のトルク変動を検知すると、第2のモータジェネレータ44のトルクを補正トルクΔTrqにて補正することにより、制振処理を実行する。ここで、失火が生じると、トルク変動が生じることから、制振処理が実行されることがある。そしてその場合、クランク軸24の回転変動が抑制される。
0049
図5に、破線にて正常時の微小回転時間T30の推移を例示し、実線にて失火が生じたときに制振処理が実行されない場合の微小回転時間T30の推移を例示し、一点鎖線にて失火が生じたときに制振処理が実行される場合の微小回転時間T30の推移を例示する。図5に示すように、失火が生じたときに制振処理が実行される場合には、実行されない場合と比較して、微小回転時間T30の変動が小さくなっている。そのため、失火が生じたときに制振処理が実行された場合の微小回転時間T30の変動と、失火が生じていないときの微小回転時間T30の変動との差が小さくなる。このため、仮に補正トルクΔTrqを入力変数に加えない場合、失火が生じたときに制振処理が実行された場合の微小回転時間T30の変動と、失火が生じていないときの微小回転時間T30の変動との識別の精度が低下するおそれがある。そこで、本実施形態では、補正トルクΔTrqを入力変数xに含めて失火変数PRの値を算出した。そのため、制振処理が実行される場合であっても、失火変数PRによって失火の有無を高精度に表現することができる。
0050
しかも、回転波形変数と補正トルクΔTrqとの、機械学習によって学習対象とされるパラメータである入力側係数wFjkによる結合演算によって失火変数PRの値を算出することとした。これにより、補正トルクΔTrqの大きさ等の制振処理の実行状態にかかわらず、入力側係数wFjk等の値を学習すればよく、制振処理の実行状態毎に各別の適合値を適合する必要が生じない。
0051
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
(1)内燃機関10の動作点を規定する動作点変数としての回転速度NEおよび充填効率ηを写像の入力とした。燃料噴射弁20や点火装置22等の内燃機関10の操作部の操作量は、内燃機関10の動作点に基づき定められる傾向がある。そのため、動作点変数は、各操作部の操作量に関する情報を含む変数である。したがって、動作点変数を写像の入力とすることにより、各操作部の操作量に関する情報に基づき失火変数PRの値を算出することができ、ひいては操作量によるクランク軸24の回転挙動の変化を反映して失火変数PRの値をより高精度に算出することができる。
0052
また、動作点変数を入力変数とすることにより、回転波形変数と動作点変数との、機械学習によって学習されたパラメータである入力側係数wFjkによる結合演算によって失火変数PRの値が算出される。このため、動作点変数毎に適合値を適合する必要が生じない。これに対し、たとえば気筒間変数ΔTbと判定値との大小比較をする場合には、判定値を動作点変数毎に適合する必要が生じることから、適合工数が大きくなる。
0053
(2)補正トルクΔTrqを入力変数に含めた。これにより、制振処理の実行の有無を示す2値的な変数を入力変数とする場合と比較すると、クランク軸24の回転挙動に及ぼされる影響についてのより詳細な情報を得ることができることから、失火変数PRの値をより高精度に算出しやすい。
0054
ちなみに、本実施形態では、補正トルクΔTrqが動作点変数に応じて可変とされることから、入力変数xに、動作点変数と、制振処理の実行の有無を示す2値的な変数とを含めることにより、補正トルクΔTrqの大きさを踏まえて失火変数PRの値を算出することも可能ではある。ただし、これを可能とする上では、たとえばニューラルネットワークの中間層の層数を大きくする等、写像の構造が複雑化し、ひいては演算負荷が大きくなるおそれがある。これに対し、本実施形態では、補正トルクΔTrq自体を入力変数xに含めることにより、動作点変数と、制振処理の実行の有無を示す2値的な変数とを含める場合と比較して、写像の構造を簡素化しつつも失火変数PRの値を高精度に算出できる。
0055
(3)入力変数xとなる回転波形変数を、微小回転時間T30のうちの圧縮上死点付近の値を選択的に用いて生成した。失火の有無で相違が最も生じるのは、微小回転時間T30のうちの圧縮上死点付近の値である。そのため、微小回転時間T30のうちの圧縮上死点付近の値を選択的に用いることにより、入力変数xの次元が大きくなることを抑制しつつも、失火の有無の判定に必要な情報を極力取り込むことができる。
0056
(4)回転波形変数に、気筒間変数ΔTb(2)を含めた。気筒間変数ΔTb(2)は、失火の検出対象となる気筒とこれに隣接する気筒との圧縮上死点付近の微小回転時間T30同士の差を予め1次元で定量化したものである。そのため、小さい次元数の変数で失火の有無の判定に必要な情報を効率的に取り込むことができる。
0057
(5)回転波形変数に、気筒間変数ΔTb(2)のみならず、変動パターン変数FLを含めた。クランク軸24には、路面からの振動等が重畳することから、回転波形変数を気筒間変数ΔTb(2)のみとする場合には、誤判定が生じる懸念がある。これに対し、本実施形態では、気筒間変数ΔTb(2)に加えて、変動パターン変数FLを用いて失火変数PRの値を算出することにより、気筒間変数ΔTb(2)のみから算出する場合と比較して、失火変数PRの値を、失火が生じたもっともらしさの度合い(確率)をより高精度に示す値とすることができる。
0058
しかも、本実施形態では、機械学習によって学習されたパラメータである入力側係数wFjkによる気筒間変数ΔTb(2)と変動パターン変数FLとの結合演算によって失火変数PRの値を算出する。そのため、気筒間変数ΔTb(2)と判定値との比較と、変動パターン変数FLと判定値との比較とに基づき失火の有無を判定する場合と比較して、気筒間変数ΔTb(2)および変動パターン変数FLと失火とのより詳細な関係に基づき失火の有無を判定することができる。
0059
<第2の実施形態>
以下、第2の実施形態について、第1の実施形態との相違点を中心に図面を参照しつつ説明する。
0060
本実施形態では、失火変数PRの算出処理を車両の外部で行う。
図6に本実施形態にかかる失火検出システムを示す。なお、図6において、図1に示した部材に対応する部材については、便宜上同一の符号を付している。
0061
図6に示す車両VC内の制御装置60は、通信機69を備えている。通信機69は車両VCの外部のネットワーク80を介してセンター90と通信するための機器である。
センター90は、複数の車両VCから送信されるデータを解析する。センター90は、CPU92、ROM94、記憶装置96、周辺回路97および通信機99を備えており、それらがローカルネットワーク98によって通信可能とされるものである。記憶装置96には、写像データ96aが記憶されている。
0062
図7に、本実施形態にかかる失火の検出に関する処理の手順を示す。図7(a)に示す処理は、図6に示すROM64に記憶されている失火用サブプログラム64bをCPU62が実行することにより実現される。また、図7(b)に示す処理は、ROM94に記憶されている失火用メインプログラム94aをCPU92が実行することにより実現される。なお、図7において図3に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、失火検出処理の時系列に沿って、図7に示す処理を説明する。
0063
すなわち、車両VCにおいてCPU62は、図7(a)に示すS14の処理において肯定判定する場合、微小回転時間T30(0),T30(6),T30(12),T30(18),T30(24),T30(30),T30(36),T30(42),T30(48)を取得する(S50)。これら微小回転時間T30は、互いに異なる角度間隔のそれぞれにおける微小回転時間T30同士の相違に関する情報を含む変数である回転波形変数を構成する。特に、上記微小回転時間T30は、圧縮上死点前30°CAから圧縮上死点までの角度間隔の回転に要する時間であり、しかも、圧縮上死点の出現タイミングの9回分の値である。そのため、それら微小回転時間T30の組データは、互いに異なる圧縮上死点のそれぞれに対応した微小回転時間T30同士の相違に関する情報を示す変数となっている。なお、上記の9個の微小回転時間T30は、気筒間変数ΔTb(2)、および変動パターン変数FL[02],FL[12],FL[32]を算出するときに用いた微小回転時間T30の全てである。
0064
次に、CPU62は、S22の処理を実行した後、通信機69を操作することによって、それらS50,S22の処理において取得したデータを、車両VCの識別情報(車両ID)とともにセンター90に送信する(S52)。
0065
これに対し、センター90のCPU92は、図7(b)に示すように、送信されたデータを受信する(S60)。そして、CPU92は、S60の処理によって取得した変数の値を入力変数x(1)〜x(12)に代入する(S62)。すなわち、CPU62は、入力変数x(1)に微小回転時間T30(0)を代入し、入力変数x(2)に微小回転時間T30(6)を代入し、入力変数x(3)に微小回転時間T30(12)を代入し、入力変数x(4)に微小回転時間T30(18)を代入する。またCPU92は、入力変数x(5)に微小回転時間T30(24)を代入し、入力変数x(6)に微小回転時間T30(30)を代入し、入力変数x(7)に微小回転時間T30(36)を代入する。またCPU92は、入力変数x(8)に微小回転時間T30(42)を代入し、入力変数x(9)に微小回転時間T30(48)を代入する。またCPU92は、入力変数x(10)に回転速度NEを代入し、入力変数x(11)に充填効率ηを代入し、入力変数x(12)に補正トルクΔTrqを代入する。
0066
次にCPU92は、図6に示す記憶装置96に記憶された写像データ96aによって規定される写像に入力変数x(1)〜x(12)を入力することによって、写像の出力値である失火変数PRの値を算出する(S64)。
0067
本実施形態において、この写像は、中間層が「α」個であって且つ、各中間層の活性化関数h1〜hαが、ReLUであり、出力層の活性化関数がソフトマックス関数であるニューラルネットワークによって構成されている。たとえば、第1の中間層の各ノードの値は、係数w(1)ji(j=0〜n1,i=0〜12)によって規定される線形写像に上記入力変数x(1)〜x(12)を入力した際の出力を活性化関数h1に入力することによって生成される。すなわち、m=1,2,…,αとすると、第mの中間層の各ノードの値は、係数w(m)によって規定される線形写像の出力を活性化関数hmに入力すること
によって生成される。図7において、n1,n2,…,nαは、それぞれ、第1、第2、…、第αの中間層のノード数である。ちなみに、w(1)j0等は、バイアスパラメータであり、入力変数x(0)は、「1」と定義されている。
0068
次に、CPU92は、通信機99を操作することによって、S60の処理によって受信したデータが送信された車両VCに、失火変数PRの値を示す信号を送信し(S66)、図7(b)に示す一連の処理を一旦終了する。これに対し、図7(a)に示すように、CPU62は、失火変数PRの値を受信し(S54)、S28〜S38の処理を実行する。
0069
このように、本実施形態では、センター90においてS64の処理を実行するため、CPU62の演算負荷を軽減できる。
<対応関係>
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。[1〜3]失火検出装置は、制御装置60に対応する。実行装置は、CPU62およびROM64に対応する。記憶装置は、記憶装置66に対応する。回転波形変数は、気筒間変数ΔTb(2)および変動パターン変数FL[02],FL[12],FL[32]に対応する。制振変数は、補正トルクΔTrqに対応する。制振処理は、補正トルク算出処理M18、および補正トルクΔTrqがゼロではないときの第2MG操作処理M16に対応する。取得処理は、S18〜S22の処理に対応し、判定処理は、S24〜S36の処理に対応し、対処処理は、S38の処理に対応する。[4]動作点変数は、回転速度NEおよび充填効率ηに対応する。[5]第1実行装置は、CPU62およびROM64に対応する。第2実行装置は、CPU92およびROM94に対応する。取得処理は、S50,S22の処理に対応し、車両側送信処理は、S52の処理に対応し、車両側受信処理は、S54の処理に対応する。外部側受信処理は、S60の処理に対応し、出力値算出処理は、S62,S64の処理に対応し、外部側送信処理は、S66の処理に対応する。[6]データ解析装置は、センター90に対応する。[7]内燃機関の制御装置は、図6に示す制御装置60に対応する。[8]コンピュータは、CPU62およびROM64や、CPU62,CPU92およびROM64,ROM94に対応する。
0070
<その他の実施形態>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
0072
上記実施形態では、クランク軸24の瞬時角速度に基づき制振処理の実行の有無を判定したが、これに限らない。たとえば、第2のモータジェネレータ44の回転軸の瞬時回転角速度等に基づき、制振処理の実行の有無を判定してもよい。またたとえば内燃機関10のアイドル運転時において、シフトポジションに応じて、第1のモータジェネレータ42に対する要求トルクに補正トルクを重畳する処理としてもよい。これによれば、アイドル時の振動を抑制できる。
0073
また、たとえば駆動輪50に連結された軸のよじれや駆動輪50の回転変動による振動を抑制する処理としてもよい。これは、たとえば、第2のモータジェネレータ44の回転速度に所定の係数を乗算して算出した車速算出値および第2のモータジェネレータ44のトルクに基づき推定車速を算出し、推定車速と車速算出値との差が小さくなるように第2
のモータジェネレータ44のトルクを補正することによって実現できる。
0074
・「制振変数について」
制振変数としては、補正トルクΔTrqに限らない。たとえば「制振処理について」の欄に記載したように、補正トルクΔTrqが所定値に固定されている場合、たとえば、制振処理の実行の有無を示す2値的な変数を制振変数としてもよい。もっとも、補正トルクΔTrqが可変設定される場合であっても、制振変数を、制振処理の実行の有無を示す2値的な変数とすることは可能である。ちなみに、こうした場合であっても、たとえば補正トルクΔTrqが内燃機関10の動作点に応じて可変設定されて且つ動作点を規定する変数を写像への入力とするなら、ニューラルネットワークの中間層の層数を増加させるなどして、失火変数PRの値を高精度に算出できる。
0075
・「気筒間変数について」
気筒間変数ΔTbとしては、互いに圧縮上死点の出現タイミングが隣接する一対の気筒のそれぞれの圧縮上死点に対応する微小回転時間T30同士の差の720°CAだけ離間した値同士の差に限らない。たとえば、互いに圧縮上死点の出現タイミングが360°CAだけ離間した気筒のそれぞれの圧縮上死点に対応する微小回転時間T30同士の差の720°CAだけ離間した値同士の差であってもよい。この場合、気筒間変数ΔTb(2)は、「T30(12)−T30(24)−{T30(36)−T30(48)}」となる。
0076
また、一対の気筒のそれぞれの圧縮上死点に対応する微小回転時間T30同士の差の720°CAだけ離間した値同士の差に限らず、失火の検出対象となる気筒と、それ以外の気筒とのそれぞれの圧縮上死点に対応する微小回転時間T30同士の差であってもよい。
0077
またたとえば、気筒間変数を、一対の気筒のそれぞれの圧縮上死点に対応する微小回転時間T30同士の比としてもよい。
なお、気筒間変数ΔTbを定義する際の微小回転時間としては、30°CAの回転に要する時間に限らず、たとえば45°CAの回転に要する時間等であってもよい。この際、微小回転時間は、圧縮上死点の出現間隔以下の角度間隔の回転に要する時間であることが望ましい。
0078
さらに、上記において、微小回転時間に代えて、所定の角度間隔の回転に要する時間によって所定の角度間隔を除算した瞬時回転速度を用いてもよい。
・「変動パターン変数について」
変動パターン変数の定義としては、上記実施形態において例示したものに限らない。たとえば、気筒間変数ΔTbを、「気筒間変数について」の欄において例示したもの等に変更することによって、変動パターン変数の定義を変更してもよい。
0079
さらに、互いに異なる圧縮上死点の出現タイミングに対応した気筒間変数ΔTb同士の比として変動パターン変数を定義することも必須ではなく、比の代わりに差をとってもよい。この場合であっても、内燃機関10の動作点変数を入力に含めることにより、変動パターン変数の大きさが、動作点に応じて変化することを反映して失火変数PRの値を算出できる。
0080
・「回転波形変数について」
S26の処理では、気筒間変数ΔTb(2)および変動パターン変数FL[02],FL[12],FL[32]によって回転波形変数を構成したが、これに限らない。たとえば、回転波形変数を構成する変動パターン変数を、変動パターン変数FL[02],FL[12],FL[32]のいずれか1つまたは2つとしてもよい。またたとえば、変動パ
ターン変数FL[02],FL[12],FL[32],FL[42]等、4つ以上の変動パターン変数を含めてもよい。
0081
S64の処理では、互いに圧縮上死点の出現タイミングが異なる9個のタイミングのそれぞれに対応した微小回転時間T30によって回転波形変数を構成したが、これに限らない。たとえば失火の検出対象となる気筒の圧縮上死点を中央として、圧縮上死点の出現する角度間隔の2倍以上の区間を30°CAの間隔で分割したそれぞれにおける微小回転時間T30によって回転波形変数を構成してもよい。また上記において、失火の検出対象となる気筒の圧縮上死点を中央とすることは必須ではない。さらに、ここでの微小回転時間としては、30°CAの間隔の回転に要する時間に限らない。また、微小回転時間に代えて、所定の角度間隔の回転に要する時間によって所定の角度間隔を除算した瞬時回転速度を用いてもよい。
0082
・「動作点変数について」
動作点変数としては、回転速度NEおよび充填効率ηに限らない。たとえば、吸入空気量Gaと回転速度NEとであってもよい。またたとえば下記「内燃機関について」の欄に記載したように、圧縮着火式内燃機関を用いる場合、噴射量と回転速度NEとであってもよい。なお、動作点変数を写像の入力とすることは必須ではない。たとえば下記「車両について」の欄に記載したシリーズハイブリッド車に搭載される内燃機関に適用される場合において、内燃機関が特定の動作点に限って運転される場合等には、動作点変数を入力変数に含めなくても、失火変数PRの値を高精度に算出できる。
0083
・「外部側送信処理について」
S66の処理では、失火変数PRの値を送信したが、これに限らない。たとえば、出力活性化関数としてのソフトマックス関数の入力となる原型変数yR(1),yR(2)の値を送信してもよい。またたとえば、センター90において、S28〜S36の処理を実行することとし、異常があるか否かの判定結果を送信してもよい。
0084
・「対処処理について」
上記実施形態では、警告灯78を操作することによって、視覚情報を通じて失火が生じた旨を報知したが、これに限らない。たとえば、スピーカを操作することによって、聴覚情報を通じて失火が生じた旨を報知してもよい。また、たとえば図1に示す制御装置60が通信機69を備えることとし、通信機69を操作してユーザの携帯端末に失火が生じた旨の信号を送信する処理としてもよい。これは、ユーザの携帯端末に、報知処理を実行するアプリケーションプログラムをインストールしておくことにより実現できる。
0085
対処処理としては、報知処理に限らない。たとえば、内燃機関10の燃焼室18内の混合気の燃焼を制御するための操作部を失火が生じた旨の情報に応じて操作する操作処理であってもよい。具体的には、たとえば操作部を点火装置22として失火が生じた気筒の点火時期を進角させてもよい。またたとえば、操作部を燃料噴射弁20として、失火が生じた気筒の燃料噴射量を増量させてもよい。
0086
・「写像への入力について」
ニューラルネットワークへの入力や、下記「機械学習のアルゴリズムについて」の欄に記載した回帰式への入力等としては、各次元が単一の物理量や変動パターン変数FLからなるものに限らない。たとえば上記実施形態等において写像への入力とした複数種類の物理量や変動パターン変数FLの一部については、ニューラルネットワークや回帰式への直接の入力とする代わりに、それらの主成分分析によるいくつかの主成分を、ニューラルネットワークや回帰式への直接の入力としてもよい。もっとも、主成分をニューラルネットワークや回帰式の入力とする場合に、ニューラルネットワークや回帰式への入力の一部の
みが主成分となることは必須ではなく、全部を主成分としてもよい。なお、主成分を写像への入力とする場合、写像データ66a,96aには、主成分を定める写像を規定するデータが含まれることとなる。
0087
・「写像データについて」
車両において実行される演算に用いられる写像を規定する写像データを、S64の処理において例示した写像を規定するデータとしてもよい。
0088
たとえば図7の記載によれば、ニューラルネットワークの中間層の層数は、2層よりも多い表現となっているが、これに限らない。
上記実施形態では、活性化関数h,h1,h2,…hαを、ReLUとし、出力の活性化関数をソフトマックス関数としたが、これに限らない。たとえば活性化関数h,h1,h2,…hαを、ハイパボリックタンジェントとしてもよい。またとえば、活性化関数h,h1,h2,…hαをロジスティックジグモイド関数としてもよい。
0089
またたとえば、出力の活性化関数を、ロジスティックジグモイド関数としてもよい。この場合、たとえば出力層のノード数を1個とし、出力変数を失火変数PRとすればよい。その場合、出力変数の値が所定値以上である場合に異常と判定することによって、異常の有無を判定できる。
0090
・「機械学習のアルゴリズムについて」
機械学習のアルゴリズムとしては、ニューラルネットワークを用いるものに限らない。たとえば、回帰式を用いてもよい。これは、上記ニューラルネットワークにおいて中間層を備えないものに相当する。また、たとえば、サポートベクトルマシンを用いてもよい。この場合、出力の値の大きさ自体には意味がなく、その値が正であるか否かに応じて、失火が生じたか否かを表現する。換言すれば、失火変数の値が3値以上の値を有してそれらの値の大小が失火の確率の大小を表現するものとは相違する。
0091
・「学習工程について」
上記実施形態では、ランダムに失火が生じる状況において学習を実行したが、これに限らない。たとえば、特定の気筒で連続的に失火が生じる状況において学習を実行してもよい。ただし、その場合、写像への入力となる気筒間変数や変動パターン変数に用いる気筒間変数ΔTbを、「気筒間変数について」の欄に記載したように、失火の検出対象となる気筒と、それ以外の気筒とのそれぞれの圧縮上死点に対応する微小回転時間T30同士の差等とすることが望ましい。
0092
クランク軸24のダイナモメータを接続し内燃機関10を稼働した際のクランク軸24の回転挙動に基づき学習を行うものに限らない。たとえば、内燃機関10を車両に搭載し、車両を走行させた際のクランク軸24の回転挙動に基づき学習を行ってもよい。これによれば、車両が走行する路面の状態によるクランク軸24の回転挙動の影響を学習に反映させることができる。
0093
・「データ解析装置について」
たとえばS62,S64の処理に代えて、S24,S26の処理等をセンター90によって実行してもよい。
0094
図7(b)の処理を、たとえばユーザが所持する携帯端末によって実行してもよい。これは、携帯端末に図7(b)の処理を実行するアプリケーションプログラムをインストールしておくことにより実現できる。なお、この際、たとえばS52の処理におけるデータの送信が有効な距離が車両の長さ程度である設定とするなどして、車両IDの送受信処理
を削除してもよい。
0095
・「実行装置について」
実行装置としては、CPU62(92)とROM64(94)とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路(たとえばASIC等)を備えてもよい。すなわち、実行装置は、以下の(a)〜(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
0096
・「記憶装置について」
上記実施形態では、写像データ66a,96aが記憶される記憶装置と、失火用プログラム64aや失火用メインプログラム94aが記憶される記憶装置(ROM64,94)とを別の記憶装置としたが、これに限らない。
0097
・「コンピュータについて」
コンピュータとしては、車両に搭載されたCPU62およびROM64等の実行装置と、センター90が備えるCPU92およびROM94等の実行装置とから構成されるものに限らない。たとえば、車両に搭載された実行装置とセンター90が備える実行装置と、ユーザの携帯端末内のCPUおよびROM等の実行装置とによって、構成してもよい。これは、たとえば図7のS66の処理を、ユーザの携帯端末に送信する処理とし、S54,S28〜S36の処理を携帯端末において実行することで実現できる。
0098
・「内燃機関について」
上記実施形態では、燃料噴射弁として、燃焼室18内に燃料を噴射する筒内噴射弁を例示したがこれに限らない。たとえば吸気通路12に燃料を噴射するポート噴射弁であってもよい。またたとえば、ポート噴射弁と筒内噴射弁との双方を備えてもよい。
0099
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
・「車両について」
車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえば、パラレルハイブリッド車であってもよい。
0100
10…内燃機関、12…吸気通路、14…スロットルバルブ、16…吸気バルブ、18…燃焼室、20…燃料噴射弁、22…点火装置、24…クランク軸、26…排気バルブ、28…排気通路、40…遊星歯車機構、42…第1のモータジェネレータ、44…第2のモータジェネレータ、46…インバータ、48…インバータ、50…駆動輪、60…制御装置、62…CPU、64…ROM、64b…失火用サブプログラム、66…記憶装置、66a…写像データ、67…周辺回路、68…ローカルネットワーク、69…通信機、70…エアフローメータ、72…クランク角センサ、74…アクセルセンサ、78…警告灯、80…ネットワーク、90…センター、92…CPU、94…ROM、94a…失火用メインプログラム、96…記憶装置、96a…写像データ、97…周辺回路、98…ローカルネットワーク、99…通信機。