JP2021050729A - 内燃機関の点火時期制御装置 - Google Patents
内燃機関の点火時期制御装置 Download PDFInfo
- Publication number
- JP2021050729A JP2021050729A JP2020040259A JP2020040259A JP2021050729A JP 2021050729 A JP2021050729 A JP 2021050729A JP 2020040259 A JP2020040259 A JP 2020040259A JP 2020040259 A JP2020040259 A JP 2020040259A JP 2021050729 A JP2021050729 A JP 2021050729A
- Authority
- JP
- Japan
- Prior art keywords
- value
- knocking
- ignition timing
- neural network
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Measuring Fluid Pressure (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Electrical Control Of Ignition Timing (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】点火時期の過剰遅角を防止する。【解決手段】燃焼室(5)内の圧力を検出する圧力センサ(19)の出力値から求められるノッキング強度を代表する値を、機関本体(1)の振動を検出するノッキングセンサ(18)の出力値から推定する第1の学習済みニューラルネットワークと、点火時期が遅角されたときのノッキング強度を代表する値の推定値の予測値又は予測低下量を推定する第2の学習済みニューラルネットワークとが記憶されている。点火時期が遅角されたときのノッキング強度を代表する値の推定値の予測値とノッキング強度を代表する値の推定値との差が小さくかつノッキング強度を代表する値の推定値が閾値を越えているときに、次のサイクルにおける点火時期の遅角制御が行われる。【選択図】図24
Description
本発明は内燃機関の点火時期制御装置に関する。
内燃機関では、燃焼室内において、混合気が点火された後、末端ガスが自着火すると圧力波が発生し、ノッキングが生ずる。ノッキングが生ずると機関本体が振動し、この場合、ノッキング強度が高くなるほど機関本体の振動が激しくなる。そこで、機関本体に機関本体の振動を検出するノッキングセンサを取り付け、ノッキングセンサにより検出された機関本体の振動の激しさからノッキング強度を検出し、ノッキング強度が閾値を越えたときにはノッキングが発生していると判断して点火時期を遅角するようにした内燃機関が公知である(例えば特許文献1を参照)。しかしながら機関本体は、例えば、吸気弁および排気弁の着座作用や、燃料噴射弁のニードルの着座作用等の機械的動作によっても振動し、従って、機関本体の振動を検出するようにしたノッキングセンサを用いると、このような機械的動作が原因で機関本体の振動強度が激しくなったときに、ノッキング強度が高くないにも拘わらず、ノッキング強度が高いと誤判定してしまうという問題がある。
一方、ノッキングが生じたときには、ノッキング強度が高くなるほど燃焼室内の圧力の変動が激しくなる。従って、点火により発生する混合気の燃焼圧を検出可能な圧力センサを用いると、この圧力センサの出力値の変動の激しさからノッキング強度を検出できることになる。この場合、例えば、ノッキング強度が高くなると、圧力センサの出力値のピーク値が高くなり、従って、この圧力センサの出力値のピーク値は、ノッキング強度を代表する値の一つであると言える。従って、このようなノッキング強度を代表する値から、ノッキング強度を検出することができることになる。この場合、機械的動作に基づく機関本体の振動は、圧力センサの出力値に影響を与えず、従って、ノッキング強度を代表する値にも影響を与えないので、圧力センサを用いると、ノッキング強度を精度よく検出することができることになる。
しかしながら、この圧力センサは極めて高価である。しかも圧力センサは長期間使用されると、圧力センサにデポジットが徐々に付着し、この付着したデポジットによって燃焼室内における混合気の燃焼形態が変化してしまう。従って、市販車に対して、このような圧力センサを用いることは難しい。そこで、本発明では、圧力センサの出力値から求められるノッキング強度を代表する値を、ニューラルネットワークを用いて、ノッキングセンサの出力値から推定するようにしている。即ち、ノッキングセンサの出力値が入力されると、ノッキング強度を代表する推定値が出力されるように、ニューラルネットワークの重みを学習し、重みの学習が完了した学習済みニューラルネットワークを用いて、ノッキングセンサの出力値から、ノッキング強度を代表する値を推定するようにしている。
ところが、市販車の制御装置にこのような学習済みニューラルネットワークを格納し、格納された学習済みニューラルネットワークを用いて、ノッキングセンサの出力値から、ノッキング強度を代表する値を推定すると問題を生ずる。即ち、機関の構成部品には公差があり、従って、市販車ごとに機関の構成部品の寸法がばらつくために、市販車毎に異なる機関の振動が発生する。しかしながら、学習済みニューラルネットワークは、このように市販車毎に発生する異なる機関の振動については、重みの学習がなされておらず、従って、このように重みの学習がなされていない機関の振動、即ち、未学習の機関の振動が発生すると、学習済みニューラルネットワークにおいて、ノッキングにより機関本体に振動が発生していると誤判断される場合がある。
このような誤判断が行われると、点火時期が過剰に遅角される危険性がある。即ち、ノッキングが発生していることが原因でノッキング強度を代表する値が閾値を越え、それにより点火時期が遅角されたときには、点火時期の遅角作用により燃焼圧が低下するためにノッキング強度を代表する値が低下する。その結果、ノッキング強度を代表する値が閾値以下となり、点火時期の遅角作用が停止される。一方、未学習の機関の振動が発生し、それによりノッキング強度を代表する値が閾値を越えた場合でも、点火時期が遅角される。しかしながら、このとき、点火時期の影響を受けない未学習の機関の振動が発生していた場合には、点火時期が遅角されても、未学習の機関の振動は抑制されない。従って、このとき、点火時期が遅角された後も点火時期の影響を受けない未学習の機関の振動が発生し続けた場合には、ノッキング強度を代表する値が閾値を越え続けることになり、点火時期の遅角作用が続行し続けることになる。その結果、点火時期が過剰に遅角し、それにより機関の出力が大幅に低下してしまうという問題を生ずることになる。
このような問題を解決するために、本発明によれば、点火により発生する混合気の燃焼圧を検出するための圧力センサの出力値から求められるノッキング強度を代表する値を、機関本体の振動を検出するノッキングセンサの出力値から推定する第1の学習済みニューラルネットワークが記憶装置内に記憶されており、点火時期が遅角されたときのノッキング強度を代表する値の推定値の予測値又は予測低下量を推定する第2の学習済みニューラルネットワークが記憶装置内に記憶されており、第1の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値が予め定められた閾値を越えると次のサイクルにおける点火時期が遅角され、点火時期が遅角された該次のサイクルでは、第2の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値の予測値と第1の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値との差に基づいて更に次のサイクルにおける点火時期の遅角制御が行われ、この遅角制御では、上記差が予め定められた設定値よりも小さいときには、ノッキング強度を代表する値の推定値が予め設定された閾値よりも大きければ、更に次のサイクルにおける点火時期の遅角作用が行われ、上記差が予め定められた設定値よりも大きいときには、たとえノッキング強度を代表する値の推定値が予め設定された閾値よりも大きかったとしても、更に次のサイクルにおける点火時期の遅角作用が行われない内燃機関の点火時期制御装置が提供される。
未学習の機関の振動の発生により、ノッキング強度を代表する値の推定値が閾値を越えて次のサイクルにおける点火時期が遅角されたときには、上述の差が予め定められた設定値よりも大きくなり、従って、このとき、たとえノッキング強度を代表する値の推定値が予め設定された閾値よりも大きかったとしても、更に次のサイクルにおける点火時期の遅角作用が行われない。従って、ノッキング強度を代表する値を、圧力センサを用いることなく、高い精度で取得しつつ、点火時期が過剰に遅角されるのを阻止することが可能となる。
<内燃機関の全体構成>
図1および図2に内燃機関の全体図を示す。図2を参照すると、1は機関本体、2はシリンダブロック、3はシリンダヘッド、4はシリンダブロック2内で往復動するピストン、5は燃焼室、6は吸気弁、7は吸気ポート、8は排気弁、9は排気ポート、10は各燃焼室5内に燃料、例えば、ガソリンを供給するための燃料噴射弁、11は各燃焼室5内に配置された点火栓を夫々示す。図1および図2を参照すると、吸気ポート7は夫々対応する吸気枝管12を介してサージタンク13に連結され、サージタンク13は吸気ダクト14および吸入空気量検出器15を介してエアクリーナ16に連結される。
図1および図2に内燃機関の全体図を示す。図2を参照すると、1は機関本体、2はシリンダブロック、3はシリンダヘッド、4はシリンダブロック2内で往復動するピストン、5は燃焼室、6は吸気弁、7は吸気ポート、8は排気弁、9は排気ポート、10は各燃焼室5内に燃料、例えば、ガソリンを供給するための燃料噴射弁、11は各燃焼室5内に配置された点火栓を夫々示す。図1および図2を参照すると、吸気ポート7は夫々対応する吸気枝管12を介してサージタンク13に連結され、サージタンク13は吸気ダクト14および吸入空気量検出器15を介してエアクリーナ16に連結される。
一方、排気ポート9は排気マニホルド17に連結され、排気マニホルド17は、排気マニホルド17内の排気ガスをサージタンク13内に再循環させるための排気ガス再循環(以下、EGRと称す)通路27を介してサージタンク13に連結される。このEGR通路27内にはEGR制御弁28が配置される。図1に示される実施例では、機関の運転状態に応じたEGR率(=再循環排気ガス量/(再循環排気ガス量+吸入空気量))が予め設定されており、EGR制御弁28は、EGR率が予め設定されたEGR率となるように制御される。
図1および図2に示されるように、図1に示される実施例では、シリンダブロック2に、シリンダブロック2の振動、即ち、機関本体1の振動を検出するためのノッキングセンサ18が取り付られている。図1に示される例では、このノッキングセンサ18では、振動の検出素子として圧電素子が用いられており、このノッキングセンサ18は機関本体1の振動に比例した出力電圧を発生する。なお、ノッキングが発生すると、機関本体1には、周波数が5KHzから25KHz程度の振動が発生し、このときノッキングセンサ18の出力電圧は、周波数が5KHzから25KHz程度で変動する。従って、ノッキングセンサ18の出力電圧の変動、即ち、ノッキングセンサ18の出力値の変動から、ノッキングの発生を検出することができることになる。
一方、図1において30は、機関の運転を制御するための電子制御ユニットを示している。図1に示されるように、電子制御ユニット30はデジタルコンピュータからなり、双方向性バス31によって互いに接続された記憶装置32、即ち、メモリ32と、CPU(マイクロプロセッサ)33と、入力ポート34および出力ポート35を具備する。入力ポート34には、ノッキングセンサ18の出力信号が、対応するAD変換器36および5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタ37を介して入力される。また、入力ポート34には、吸入空気量検出器15の出力信号が、対応するAD変換器36を介して入力される。また、アクセルペダル40にはアクセルペダル40の踏込み量に比例した出力電圧を発生する負荷センサ41が接続され、負荷センサ41の出力電圧は対応するAD変換器36を介して入力ポート34に入力される。更に入力ポート34にはクランクシャフトが例えば30°回転する毎に出力パルスを発生するクランク角センサ42が接続される。CPU33内ではクランク角センサ42の出力信号に基づいて機関回転数が算出される。一方、出力ポート35は対応する駆動回路38を介して各気筒の燃料噴射弁10、点火栓11およびEGR制御弁28に接続される。
<ニューラルネットワークの概要>
<ニューラルネットワークの概要>
本発明による実施例では、ニューラルネットワークを用いてノッキング強度を代表する値を推定するようにしている。そこで最初にニューラルネットワークについて簡単に説明する。図3は簡単なニューラルネットワークを示している。図3における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される(本願では、ノードと称す)。図3においてL=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。また、図3において、x1およびx2 は入力層 ( L=1) の各ノードからの出力値を示しており、y1 およびy2 は出力層 ( L=4) の各ノードからの出力値を示しており、z(2) 1、z(2) 2 およびz(2) 3 は隠れ層 ( L=2) の各ノードからの出力値を示しており、z(3) 1、z(3) 2 およびz(3) 3は隠れ層 ( L=3) の各ノードからの出力値を示している。なお、隠れ層の層数は、1個又は任意の個数とすることができ、入力層のノードの数および隠れ層のノードの数も任意の個数とすることができる。また、出力層のノードの数は1個とすることもできるし、複数個とすることもできる。
入力層の各ノードでは入力がそのまま出力される。一方、隠れ層 ( L=2) の各ノードには、入力層の各ノードの出力値x1およびx2 が入力され、隠れ層 ( L=2) の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u が算出される。例えば、図3において隠れ層 ( L=2) のz(2) k(k=1,2,3)で示されるノードにおいて算出される総入力値ukは、次式のようになる。
次いで、この総入力値ukは活性化関数fにより変換され、隠れ層 ( L=2) のz(2) kで示されるノードから、出力値z(2) k(= f (uk)) として出力される。一方、隠れ層 ( L=3) の各ノード には、隠れ層 ( L=2) の各ノードの出力値z(2) 1、z(2) 2 およびz(2) 3が入力され、隠れ層 ( L=3 ) の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u(Σz・w+b)が算出される。この総入力値uは同様に活性化関数により変換され、隠れ層 ( L=3 ) の各ノードから、出力値z(3) 1、z(3) 2 およびz(3) 3として出力される、この活性化関数としては、例えば、シグモイド関数σが用いられる。
一方、出力層 ( L=4) の各ノード には、隠れ層 ( L=3) の各ノードの出力値z(3) 1、z(3) 2 およびz(3) 3が入力され、出力層 の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u(Σz・w+b)が算出されるか、又は、夫々対応する重みwのみを用いて総入力値u(Σz・w)が算出される。本発明による実施例では、出力層のノードでは、活性化関数として恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力される。
<ニューラルネットワークにおける学習>
<ニューラルネットワークにおける学習>
さて、ニューラルネットワークの出力値yの正解値を示す教師データをytとすると、ニューラルネットワークにおける各重みwおよびバイアスbは、出力値yと教師データをytとの差が小さくなるように、誤差逆伝播法を用いて学習される。この誤差逆伝播法は周知であり、従って、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスbは重みwの一種なので、以下、バイアスbも含めて重みwと称する。さて、図3に示すようなニューラルネットワークにおいて、L=2,L=3又は L=4の各層のノードへの入力値u(L)における重みをw(L)で表すと、誤差関数Eの重みw(L)による微分、即ち、勾配∂E/∂w(L)は、書き換えると、次式で示されるようになる。
ここで、z(L−1)・∂w(L)= ∂u(L)であるので、(∂E/∂u(L))=δ(L)とすると、上記(1)式は、次式でもって表すことができる。
ここで、u(L)が変動すると、次の層の総入力値u(L+1)の変化を通じて誤差関数Eの変動を引き起こすので、δ(L)は、次式で表すことができる。
ここで、z(L)=f(u(L)) と表すと、上記(3)式の右辺に現れる入力値uk (L+1)は、次式で表すことができる。
ここで、上記(3)式の右辺第1項(∂E/∂u(L+1))はδ(L+1)であり、上記(3)式の右辺第2項(∂uk (L+1) /∂u(L))は、次式で表すことができる。
従って、δ(L)は、次式で示される。
即ち、δ(L+1)が求まると、δ(L)を求めることができることになる。
さて、出力層 ( L=4) のノードが一個であって、或る入力値に対して教師データytが求められており、この入力値に対する出力層からの出力値がyであった場合において、誤差関数として二乗誤差が用いられている場合には、二乗誤差Eは、E=1/2(y−yt)2で求められる。この場合、出力層(L=4)のノードでは、出力値y= f(u(L)) となり、従って、この場合には、出力層(L=4)のノードにおけるδ(L)の値は、次式で示されるようになる。
この場合、本発明による実施例では、前述したように、f(u(L)) は恒等関数であり、f’(u(Ll)) = 1となる。従って、δ(L)=y−yt となり、δ(L)が求まる。
δ(L)が求まると、上式(6)を用いて前層のδ(L−1)が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上式(2)から、各重みwについて誤差関数Eの微分、即ち、勾配∂E/∂w(L)か求められる。勾配∂E/∂w(L)か求められると、この勾配∂E/∂w(L)を用いて、誤差関数Eの値が減少するように、重みwが更新される。即ち、重みwの学習が行われることになる。なお、図3に示されるように、出力層 ( L=4) が複数個のノードを有する場合には、各ノードからの出力値をy1、y1・・・、対応する教師データyt1、yt2・・・とすると、誤差関数Eとして、次の二乗和誤差Eが用いられる。
この場合も、出力層 ( L=4) の各ノードにおけるδ(L)の値は、δ(L)=y−ytk (k=1,2・・・n)となり、これらδ(L)の値から上式(6)を用いて前層のδ(L−1)が求まる。
<本発明による実施例>
<本発明による実施例>
さて、内燃機関では、ノッキング強度が高くなるほど機関本体1の振動が激しくなる。従って、図1および図2に示されるように、機関本体1にノッキングセンサ18を取り付け、ノッキングセンサ18により検出された機関本体の振動の激しさからノッキング強度を検出することができる。しかしながら前述したように、機関本体1は、例えば、吸気弁6および排気弁8の着座作用や、燃料噴射弁10のニードルの着座作用等の機械的動作によっても振動し、従って、機関本体1の振動を検出するようにしたノッキングセンサ18を用いると、このような機械的動作が原因で機関本体の振動強度が激しくなったときに、ノッキング強度が高くないにも拘わらず、ノッキング強度が高いと誤判定してしまうという問題がある。
一方、前述したように、点火により発生する混合気の燃焼圧を検出可能な圧力センサを用いると、この圧力センサの出力値の変動の激しさからノッキング強度を検出できる。この場合、例えば、ノッキング強度が高くなると、圧力センサの出力値のピーク値が高くなり、従って、この圧力センサの出力値のピーク値は、ノッキング強度を代表する値の一つであると言える。従って、このようなノッキング強度を代表する値から、ノッキング強度を検出することができることになる。この場合、機械的動作に基づく機関本体の振動は、圧力センサの出力値に影響を与えず、従って、ノッキング強度を代表する値にも影響を与えないので、圧力センサを用いると、ノッキング強度を精度よく検出することができることになる。
しかしながら、この圧力センサは高価であり、しかも圧力センサに徐々に付着するデポジットにより燃焼室5内における混合気の燃焼形態が変化してしまうので、市販車において、このような圧力センサを用いることは難しい。そこで、本発明では、圧力センサの出力値から求められるノッキング強度を代表する値を、ニューラルネットワークを用いて、ノッキングセンサの出力値から推定するようにしている。このことを説明するに当たり、最初に、図4、図5、図6Aから図6Cおよび図7Aから図7Cを参照しつつ、ノッキングセンサの出力値と、圧力センサの出力値並びに圧力センサの出力値から求められるノッキング強度を代表する値について説明する。
図4および図5は夫々、ニューラルネットワークの重みの学習に必要なデータを取得するためにだけ用いられるシリンダヘッド3の底面図および機関本体1の一部を示している。図4および図5を参照すると、圧力センサの出力値から求められるノッキング強度を代表する値を、ノッキングセンサ18の出力値から推定するために、各気筒のシリンダヘッド3の内壁面上には、夫々圧力センサ19が配置される。各圧力センサ19からは、夫々対応する燃焼室5内の圧力に比例した出力電圧、即ち、点火により発生する混合気の燃焼圧を示す出力値が出力される。なお、この場合、燃焼室5内の圧力は、点火栓と一体型の圧力センサを用いて計測することもできる。これら圧力センサ19は、ニューラルネットワークの重みの学習に必要なデータを取得するためだけに用いられる。
さて、ノッキングは通常、圧縮上死点から圧縮上死点後90°までの間に発生し、ノッキングが発生したときには、周波数が5KHzから25KHz程度の燃焼室5内の圧力変動および周波数が5KHzから25KHz程度の機関本体1の振動が発生する。従って、ノッキングによる機関本体1の振動のみを抽出するために、通常、ノッキングセンサ18の出力値は、AD変換された後、例えば5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後のノッキングセンサ18の出力値に基づいて、ノッキングの強度が判別される。
同様に、ノッキングによる燃焼室5内の圧力変動のみを抽出するために、通常、圧力センサ19の出力値も、AD変換された後、例えば5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後の圧力センサ19の出力値に基づいて、ノッキングの強度が判別される。なお、このようにデジタルバンドパスフィルタによりフィルタリングされた後のノッキングセンサ18の出力値を、以下、単にフィルタリング後のノッキングセンサ18の出力値と称し、デジタルバンドパスフィルタによりフィルタリングされた後の圧力センサ19の出力値を、以下、単にフィルタリング後の圧力センサ19の出力値と称する。
図6Aおよび図7Aは夫々、同一のノッキングの発生に対するフィルタリング後のノッキングセンサ18の出力値(V)の変化と、フィルタリング後の圧力センサ19の出力値の変化(V)とを示している。なお、図6Aの横軸および図7Aの横軸は共に、ATDCで表したクランク角(圧縮上死点から圧縮上死点後90°)を示している。
図6Aおよび図7Aを比較するとわかるように、図7Aに示されるフィルタリング後の圧力センサ19の出力値の振動強度は、ノッキングが発生すると急激に増大し、その後、次第に減少していく。即ち、圧力センサ19の出力値は、機械的動作に基づく機関本体の振動の影響を受けないために、ノッキングの発生が圧力センサ19の出力値に明確に表れる。これに対し、図6Aに示されるフィルタリング後のノッキングセンサ18の出力値の振動強度も、ノッキングが発生すると増大はするが、ノッキングセンサ18の出力値は機械的動作に基づく機関本体の振動の影響を大きく受けるため、ノッキングセンサ18の出力値の振動強度は、ノッキングが発生した前後においても大きな値となっている。即ち、ノッキングセンサ18の出力値には、機械的動作に基づく機関本体の振動がノイズとなって現れるため、ノッキングの発生が、ノッキングセンサ18の出力値に明確に表れなくなる。
従って、ノッキングが発生したか否かは、圧力センサ19の出力値から明確に判別できることになる。この場合、圧力センサ19の出力値には、発生したノッキングの強度も明確に現れる。次に、このことについて、図7Bおよび図7Cを参照しつつ説明する。なお、図7Bおよび図7Cは、図7Aに示されるフィルタリング後の圧力センサ19の出力値の波形の一部を横軸方向に引き伸ばして図解的に表した図である。
さて、発生したノッキングの強度が高くなると、フィルタリング後の圧力センサ19の出力値のピーク値が高くなる。従って、図7Bにおいて丸印で示されるフィルタリング後の圧力センサ19の出力値のピーク値は、ノッキング強度を代表する値を示していることになる。一方、発生したノッキングの強度が高くなると、図7Cにおいて出力値の波形と出力値が0(V)の線とで囲まれたハッチングで示される面積の総和、即ち、フィルタリング後の圧力センサ19の出力値の積分値(負側の積分値も正の値とする)が高くなる。従って、フィルタリング後の圧力センサ19の出力値の積分値(負側の積分値も正の値とする)も、ノッキング強度を代表する値を示していることになる。このように圧力センサ19の出力値からノッキング強度を代表する値を取得することができる。
一方、ノッキングセンサ18の出力値からは、このようなノッキング強度を代表する値を抽出することは難しい。そこで本発明では、ニューラルネットワークを用い、ノッキングセンサ18の出力値に基づいて、圧力センサ19の出力値から求められるノッキング強度を代表する値を取得し得るようにニューラルネットワークの重みを学習し、それにより圧力センサ19の出力値から求められるノッキング強度を代表する値を、学習済みのニューラルネットワークを用いてノッキングセンサ18の出力値から推定するようにしている。そこで次に、ノッキングセンサ18の出力値に基づいて、圧力センサ19の出力値から求められるノッキング強度を代表する値を取得し得るようにニューラルネットワークの重みを学習する方法について説明する。
最初に、このとき用いられる第1のニューラルネットワークについて図8を参照しつつ説明する。図8を参照すると、この第1のニューラルネットワーク20においても、図3に示されるニューラルネットワークと同様に、L=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。図8に示されるように、入力層 ( L=1) がn個のノードからなり、n個の入力値x1、x2・・・xn−1、xnが、入力層 ( L=1) の各ノードに入力されている。一方、図8には隠れ層 ( L=2)および隠れ層 ( L=3)が記載されているが、これら隠れ層の層数は、1個又は任意の個数とすることができ、またこれら隠れ層のノードの数も任意の個数とすることができる。なお、出力層 ( L=4) のノードの数は1個とされており、出力層のノードからの出力値がyで示されている。
次に、図8における入力値x1、x2・・・xn−1、xnと、出力値yについて説明する。最初に、入力値x1、x2・・・xn−1、xnについて図6Bおよび図6Cを参照しつつ説明する。なお、図6Bおよび図6Cは、図6Aに示されるノッキングセンサ18の出力値の波形の一部を横軸方向に引き伸ばして図解的に表した図である。本発明による実施例では、入力値x1、x2・・・xn−1、xnとして、図6Bに示される値か、或いは、図6Cに示される値が用いられる。
即ち、図6Bに示される例では、フィルタリング後のノッキングセンサ18の出力値そのものが入力値x1、x2・・・xn−1、xnとされる。この場合、図6Bにおいて黒丸で示されるように、一定時間毎の、或いは、一定クランク角毎のノッキングセンサ18の出力値が入力値x1、x2・・・xn−1、xnとされる。一方、図6Cに示される例では、フィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)であって例えば一定クランク角度内におけるフィルタリング後のノッキングセンサ18の出力値の積分値が入力値x1、x2・・・xn−1、xnとされる。
一方、本発明の実施例では、圧力センサ19の出力値から求められるノッキング強度を代表する値が、図8に示される出力値yとされる。この場合、図7Bにおいて丸印で示される圧力センサ19の出力値のピーク値はノッキング強度を表しており、また、図7Cに示される圧力センサ19の出力値の積分値(負側の積分値も正の値とする)もノッキング強度を表している。従って、本発明の実施例では、図7Bにおいて丸印で示される圧力センサ19の出力値のピーク値が出力値yとされるか、或いは、図7Cに示される圧力センサ19の出力値の積分値(負側の積分値も正の値とする)が出力値yとされる。この場合圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値が教師データytとされる。
図9は、入力値x1、x2・・・xm−1、xmと、入力値がx1、x2・・・xm−1、xmであるときに圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値、即ち、教師データytとを用いて作成された訓練データセットを示している。図9に示されるように、この訓練データセットでは、入力値x1、x2・・・xn−1、xnと教師データytとの関係を表すm個のデータが取得されている。例えば、2番目のデータ(No. 2)には、取得された入力値x12、x22・・・xm−12、xm2と教師データyt2とが列挙されており、m−1番目のデータ(No. m−1)には、取得された入力パラメータの入力値x1m−1、x2m−1・・・xn−1m−1、xnm−1と教師データytm−1が列挙されている。
入力値x1、x2・・・xn−1、xnとして、フィルタリング後のノッキングセンサ18の出力値そのものを用いる場合には、例えば、圧縮上死点から圧縮上死点後90°までの間において一定クランク角毎に取得されたフィルタリング後のノッキングセンサ18の出力値が、入力値x1、x2・・・xn−1、xnとされる。この場合には、入力値の個数nが数百以上とされ、従って、図8に示される入力層 ( L=1) のノードの個数nが数百以上とされる。
一方、本発明の実施例では、入力値x1、x2・・・xn−1、xnとして、フィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)を用いる場合には、圧縮上死点から圧縮上死点後90°までの間がクランク角度5°毎に18個の区間に分割され、分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)が、入力値x1、x2・・・xn−1、xnとされる。この場合には、入力値の個数nは18個となり、従って、図8に示される入力層 ( L=1) のノードの個数nは18個とされる。
一方、図9に示される訓練データセットにおける教師データytは、圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値であり、この教師データytとしては、図7Bにおいて丸印で示される圧力センサ19の出力値のピーク値が用いられるか、或いは、図7Cに示される圧力センサ19の出力値の積分値(負側の積分値も正の値とする)が用いられる。ところで、本発明による実施例では、図9に示される訓練データセットを用いて、図8に示される第1のニューラルネットワーク20の重みの学習が行われる。そこで次に、図4および図5を参照しつつ、図9に示される訓練データセットの作成方法について説明する。
図4および図5には、図9に示される訓練データセットの作成方法の一例が示されている。図4および図5を参照すると、各気筒の燃焼室5に面するシリンダヘッド3の内壁面上には、ノッキング強度を代表する値を取得するために、夫々圧力センサ19が配置されている。これら圧力センサ19は、前述したように、学習に必要なデータを取得するためだけに設けられている。一方、図5に示される例では、ノッキングセンサ18は、ノッキングセンサ18の出力値の波形を検出可能な検出器21、例えば、オシロスコープに接続され、各圧力センサ19は、各圧力センサ19の出力値の波形を検出可能な検出器22、例えば、オシロスコープに接続されている。
検出器21内では、ノッキングによる機関本体1の振動のみを抽出するために、ノッキングセンサ18の出力値は、AD変換された後、例えば5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後のノッキングセンサ18の出力値の波形が検出される。一方、検出器22では、ノッキングによる燃焼室5内の圧力変動のみを抽出するために、圧力センサ19の出力値は、AD変換された後、例えば5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後の圧力センサ19の出力値の波形が検出される。
訓練データセットを作成する際には、機関負荷、機関回転数およびEGR率の種々の組み合わせについてノッキングの発生しない運転状態とノッキングの発生する運転状態の双方の状態が生ずるように機関を運転させ、そのとき各検出器21、22から得られたフィルタリング後の圧力センサ19の出力値の波形データおよびフィルタリング後の圧力センサ19の出力値の波形データに基づいて、図9に示されるような訓練データセットが作成される。この場合、この訓練データセットは、各検出器21、22から得られた波形データに基づき、手作業でもって作成することもできるし、各検出器21、22から得られた電子データに基づき、電子的に作成することもできる。このようにして作成された訓練データセットの電子データを用いて、図8に示される第1のニューラルネットワーク20の重みの学習が行われる。
図5に示される例では、ニューラルネットワークの重みの学習を行うための学習装置23が設けられている。図5に示されるように、この学習装置23は、記憶装置24、即ち、メモリ24と、CPU(マイクロプロセッサ)25を具備している。図5に示される例では、図8に示される第1のニューラルネットワーク20のノード数、および作成された訓練データセットの電子データが学習装置23のメモリ24に記憶され、CPU25においてニューラルネットワーク20の重みの学習が行われる。
次に、入力値x1、x2・・・xn−1、xnとして、上死点から上死点後90°までの間においてクランク角度5°毎に分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)を用い、教師データytとして、圧力センサ19の出力値のピーク値の実測値を用いて、学習装置23により行われる第1のニューラルネットワーク20の重みの学習方法について説明する。
図10は、学習装置23において行われる第1のニューラルネットワークの重みの学習処理ルーチンを示す。
図10を参照すると、まず初めに、ステップ100において、学習装置23のメモリ24に記憶されている訓練データセットの各データが読み込まれる。次いで、ステップ101において、第1のニューラルネットワーク20の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数が読み込まれ、これらノード数に基づいて、図8に示されるような第1のニューラルネットワーク20が作成される。この場合、この例では、入力層 ( L=1) のノード数は18個とされ、出力層 ( L=4) のノード数は1個とされる。
図10を参照すると、まず初めに、ステップ100において、学習装置23のメモリ24に記憶されている訓練データセットの各データが読み込まれる。次いで、ステップ101において、第1のニューラルネットワーク20の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数が読み込まれ、これらノード数に基づいて、図8に示されるような第1のニューラルネットワーク20が作成される。この場合、この例では、入力層 ( L=1) のノード数は18個とされ、出力層 ( L=4) のノード数は1個とされる。
次いで、ステップ102では、第1のニューラルネットワーク20の重みの学習が行われる。最初は、図9の1番目(No. 1)の入力値x1、x2・・・xn−1、xn、即ち、入力値x1、x2・・・x17、x18が第1のニューラルネットワーク20の入力層 ( L=1) の18個の各ノードに入力される。次いで、このときの第1のニューラルネットワーク20の出力値yと1番目(No. 1)の教師データyt1との間の二乗誤差E=1/2(y−yt1)2が算出され、この二乗誤差Eが小さくなるように、前述した誤差逆伝播法を用いて、第1のニューラルネットワーク20の重みの学習が行われる。
図9の1番目(No. 1)のデータに基づく第1のニューラルネットワーク20の重みの学習が完了すると、次に、図9の2番目(No. 2)のデータに基づく第1のニューラルネットワーク20の重みの学習が、誤差逆伝播法を用いて行われる。同様にして、図9のm番目(No. m)まで順次、第1のニューラルネットワーク20の重みの学習が行われる。図9の1番目(No. 1)からm番目(No. m)までの全てについて第1のニューラルネットワーク20の重みの学習が完了すると、ステップ103に進む。
ステップ103では、例えば、図9の1番目(No. 1)からm番目(No. m)までの全ての第1のニューラルネットワークの出力値yと教師データytとの間の二乗和誤差Eが算出され、この二乗和誤差Eが、予め設定された設定誤差以下になったか否かが判別される。二乗和誤差Eが、予め設定された設定誤差以下になっていないと判別されたときには、ステップ102に戻り、再度、図9に示される訓練データセットに基づいて、第1のニューラルネットワークの重み学習が行われる。次いで、二乗和誤差Eが、予め設定された設定誤差以下になるまで、第1のニューラルネットワーク20の重みの学習が続行される。ステップ103において、二乗和誤差Eが、予め設定された設定誤差以下になったと判別されたときには、ステップ104に進んで、第1のニューラルネットワーク20の学習済み重みが学習装置23のメモリ24に記憶される。このようにしてノッキング強度を代表する値の推定モデルが作成される。
本発明による実施例では、このようにして作成されたノッキング強度を代表する値の推定モデルを用いて、機関においてノッキング処理が行われ、そのためにノッキング強度を代表する値の推定モデルが図1に示される電子制御ユニット30に格納される。図11は、ノッキング強度を代表する値の推定モデルを電子制御ユニット30に格納するために、電子制御ユニット30において行われる電子制御ユニットへのデータ読み込みルーチンを示している。
即ち、図11に示されるように、ステップ110において、図8に示される第1のニューラルネットワーク20の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数が、電子制御ユニット30のメモリ32に読み込まれ、これらノード数に基づき、図8に示されるような第1のニューラルネットワーク20が作成される。次いで、ステップ111において、この第1のニューラルネットワーク20の学習済みの重みが電子制御ユニット30のメモリ32に読み込まれる。それにより、第1の学習済みニューラルネットワーク20、即ち、ノッキング強度を代表する値の推定モデルが、機関の電子制御ユニット30内に格納される。
さて、電子制御ユニット30内に第1の学習済みニューラルネットワーク20が作成されると、クランク角度5°毎に分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)を第1の学習済みニューラルネットワーク20に入力したときに、第1の学習済みニューラルネットワーク20からは、圧力センサ19の出力値から求められるノッキング強度を代表する値の推定値が出力される。このノッキング強度を代表する値の推定値は、ノッキング強度を代表する値の実測値に極めて近く、従って、ノッキングセンサ18の出力値から、ノッキング強度を正確に推定できることになる。
このように、本発明による実施例では、機関本体1の振動を検出するノッキングセンサ18と、内燃機関の燃焼室5内の圧力を検出する圧力センサ19と、第1のニューラルネットワーク20を用いて内燃機関のノッキング強度を代表する値を推定するための学習装置23とが設けられている。圧力センサ19の出力値からノッキング強度を代表する値が取得される。学習装置23により、ノッキングセンサ18により検出された機関本体1の振動を表す値を第1のニューラルネットワーク20の入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、第1のニューラルネットワーク20の重みが学習され、学習済みの第1のニューラルネットワーク20を用いてノッキングセンサ18の出力値からノッキング強度を代表する値が推定される。
また、本発明による実施例では、機関本体1の振動を検出するノッキングセンサ18の出力値と、内燃機関の燃焼室5内の圧力を検出する圧力センサ19の出力値とに基づき、ニューラルネットワーク20を用いて内燃機関のノッキング強度が推定される。圧力センサ19の出力値からノッキング強度を代表する値が求められ、ノッキングセンサ18により検出された機関本体1の振動を表す値とノッキング強度を代表する値との関係を示す訓練データセットが作成される。ノッキングセンサ18により検出された機関本体1の振動を表す値を第1のニューラルネットワーク20の入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、第1のニューラルネットワーク20の重みが学習される。学習済みの第1のニューラルネットワーク20を用いてノッキングセンサ18の出力値からノッキング強度を代表する値が推定される。
この場合、本発明による実施例では、ノッキング強度を代表する値が、予め設定されている期間内における圧力センサ19の出力値のピーク値であり、或いは、ノッキング強度を代表する値が、予め設定されている期間内における圧力センサ19の出力値の積分値である。この場合、予め設定されている期間が、一定のクランク角度範囲、例えば、圧縮上死点から圧縮上死点後90°の範囲である。
一方、本発明による実施例では、機関本体1の振動を表す値が、予め設定されている期間内におけるノッキングセンサ18の出力値であり、機関本体1の振動を表す値が、予め設定されている期間内において等分割された区間内におけるノッキングセンサ18の出力値の積分値である。この場合、予め設定されている期間が、一定のクランク角度範囲、例えば、圧縮上死点から圧縮上死点後90°の範囲である。また、ノッキングセンサ18の出力値の積分値に関し、一例を挙げると、このノッキングセンサ18の出力値の積分値は、クランク角度5°毎に等分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)である。
次に、電子制御ユニット30のメモリ32内に形成された第1の学習済みニューラルネットワーク20を用いて、機関運転時に実行されるノッキング処理について説明する。図12は、この機関運転時に実行されるノッキング処理ルーチンを示している。図12に示されるように、このノッキング処理ルーチンが実行されると、まず初めにステップ120において、圧力センサ19の出力値から求められるノッキング強度を代表する値、即ち、ノッキング強度代表値の推定処理が行われる。次いで、ステップ121では、ノッキングが生じているか否かのノッキング判定処理が行われ、次いで、ステップ122では、点火制御が行われる。
図13は、図12のステップ120において行われるノッキング強度代表値の推定処理ルーチンの一実施例を示している。このルーチンは、一定クランク角毎、或いは、一定時間毎の割り込みにより実行される。図13を参照すると、まず初めに、ステップ130において、ノッキングセンサ18の出力信号の取り込み期間中であるか否かが判別される。この実施例では、ノッキングセンサ18の出力信号の取り込み期間が圧縮上死点から圧縮上死点後90°までの間とされている。従って、クランク角が圧縮上死点前であるときには、処理サイクルを終了し、クランク角が圧縮上死点を過ぎるとノッキングセンサ18の出力信号の取り込み期間中であると判別され、ステップ131に進む。
ステップ131では、ノッキングセンサ18の出力信号が、対応するAD変換器36および例えば5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタ37を介して取り込まれる。即ち、フィルタリング後のノッキングセンサ18の出力値が取り込まれる。次いで、ステップ132では、取り込まれたフィルタリング後のノッキングセンサ18の出力値が電子制御ユニット30のメモリ32内に記憶される。次いで、ステップ133では、ノッキングセンサ18の出力信号の取り込み期間が終了したか否かが判別される。即ち、クランク角が圧縮上死点後90°に達したか否かが判別される。ステップ133において、ノッキングセンサ18の出力信号の取り込み期間が終了していないと判別されたとき、即ち、クランク角が圧縮上死点後90°に達していないと判別されたときには処理サイクルを終了する。
これに対し、ステップ133において、ノッキングセンサ18の出力信号の取り込み期間が終了したと判別されたとき、即ち、クランク角が圧縮上死点後90°に達したと判別されたときにはステップ134に進む。このときメモリ32内には図6Bの黒丸で示すようなフィルタリング後のノッキングセンサ18の出力値が記憶されている。ステップ134では、このメモリ32内に記憶されているフィルタリング後のノッキングセンサ18の出力値が、学習済みの第1のニューラルネットワーク20の入力層 ( L=1) の各ノードに入力される。このとき、学習済みの第1のニューラルネットワーク20からはノッキング強度を代表する値の推定値ye が出力され、従って、ステップ135に示されているように、ノッキング強度を代表する値の推定値ye が算出されることになる。
図14は、図12のステップ120において行われるノッキング強度代表値の推定処理ルーチンの別の実施例を示している。このルーチンも、一定クランク角毎、或いは、一定時間毎の割り込みにより実行される。なお、図14のステップ140からステップ143の内容は、図13のステップ130からステップ133の内容と同一である。即ち、図14を参照すると、まず初めに、ステップ140において、ノッキングセンサ18の出力信号の取り込み期間中であるか否かが判別される。この実施例でも、ノッキングセンサ18の出力信号の取り込み期間が圧縮上死点から圧縮上死点後90°までの間とされている。従って、クランク角が圧縮上死点前であるときには、処理サイクルを終了し、クランク角が圧縮上死点を過ぎるとノッキングセンサ18の出力信号の取り込み期間中であると判別され、ステップ141に進む。
ステップ141では、ノッキングセンサ18の出力信号が、対応するAD変換器36および例えば5KHzから25KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタ37を介して取り込まれる。即ち、フィルタリング後のノッキングセンサ18の出力値が取り込まれる。次いで、ステップ142では、取り込まれたフィルタリング後のノッキングセンサ18の出力値が電子制御ユニット30のメモリ32内に記憶される。次いで、ステップ143では、ノッキングセンサ18の出力信号の取り込み期間が終了したか否かが判別される。即ち、クランク角が圧縮上死点後90°に達したか否かが判別される。ステップ143において、ノッキングセンサ18の出力信号の取り込み期間が終了していないと判別されたとき、即ち、クランク角が圧縮上死点後90°に達していないと判別されたときには処理サイクルを終了する。
これに対し、ステップ143において、ノッキングセンサ18の出力信号の取り込み期間が終了したと判別されたとき、即ち、クランク角が圧縮上死点後90°に達したと判別されたときにはステップ144に進む。ステップ144では、メモリ32内に記憶されているフィルタリング後のノッキングセンサ18の出力値に基づいて、図6Cを参照しつつ説明したように、クランク角度5°毎に分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)が算出される。次いで、ステップ145では、フィルタリング後のノッキングセンサ18の出力値の算出された各積分値が、学習済みの第1のニューラルネットワーク20の入力層 ( L=1) の各ノードに入力される。このとき、学習済みのニューラルネットワーク20からはノッキング強度を代表する値の推定値ye が出力され、従って、ステップ146に示されているように、ノッキング強度を代表する値の推定値ye が算出されることになる。
図15は、図13のステップ135において算出されたノッキング強度を代表する値の推定値ye、又は図14のステップ146において算出されたノッキング強度を代表する値の推定値ye に基づき電子制御ユニット30内で実行されるノッキング判定ルーチンを示している。このルーチンは、一定クランク角毎の割り込みにより実行される。図15を参照すると、まず初めに、ステップ150において、ノッキング強度を代表する値に対する閾値Mij が読み込まれる。この閾値Mij は、図16に示されるように、機関負荷Lと機関回転数Nに応じて複数個に分割された各機関運転領域に対して予め設定されている。
次いで、ステップ151では、算出されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいか否かが判別される。算出されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きくないと判別されたときにはステップ152に進んで、ノッキングが発生していないと判別され、次いで処理サイクルを終了する。なお、以下、このようにノッキング強度を代表する値の推定値ye が閾値Mij よりも大きくないときには、たとえ弱いノッキングが発生していたとしても、処理説明の便宜上、ノッキングが発生していないと言う。これに対し、算出されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいと判別されたときにはステップ153に進んで、ノッキングが発生している判別され、次いで処理サイクルを終了する。
図17は、図15に示されるノッキング判定ルーチンにおける判定結果に基づき電子制御ユニット30内で実行される点火制御ルーチンを示している。このルーチンは、一定クランク角毎の割り込みにより実行される。図17を参照すると、まず初めに、ステップ160において、基準点火時期IG(BTDC)が算出される。この基準点火時期IGは、機関負荷Lと機関回転数Nの関数として、図18に示されるようなマップの形で予めメモリ32内に記憶されている。次いで、ステップ161では、図15に示されるノッキング判定ルーチンにおける判定結果に基づき、ノッキングが発生したか否かが判別される。ノッキングが発生したと判別されたときにはステップ162に進む。
ステップ162では、点火時期を遅角させるために点火時期遅角量ΔIGに一定量αが加算される。次いで、ステップ166では、基準点火時期IGから点火時期遅角量ΔIGを減算することによって最終的な点火時期IGOが算出される。この最終的な点火時期IGOに基づいて。点火栓11による点火作用が制御される。このとき点火時期は一定量αだけ遅角される。一方、ステップ161において、ノッキングが発生していないと判別されたときにはステップ163に進み、点火時期を進角させるために点火時期遅角量ΔIGから一定量βが減算される。
次いで、ステップ164では、点火時期遅角量ΔIGか負になったか否かが判別され、点火時期遅角量ΔIGか負になっていないときにはステップ166に進んで、最終的な点火時期IGOが算出される。このときには、点火時期は一定量βだけ進角される。なお、本発明による実施例では、一定量αは一定量βよりも大きな値に設定されている。言い換えると、遅角量αは進角量βよりも大きな値に設定されている。一方、ステップ164において、点火時期遅角量ΔIGか負になったと判別されたときにはステップ165に進んで点火時期遅角量ΔIGが零とされた後、ステップ166に進む。このときには、点火時期が基準点火時期IGとされる。
図12から図15および図17に示されるノッキング処理は、気筒毎に夫々独立して実行され、図19は、或る一つの気筒におけるノッキング処理の一例を示している。図19には、サイクル番号と、点火の行われるタイミングと、第1の学習済みニューラルネットワーク20への入力値x1、x2・・・xn−1、xnの取り込み作業が行なわれる期間と、第1の学習済みニューラルネットワーク20から出力されるノッキング強度を代表する値の推定値ye と、ノッキングが発生したか否かの判定が行われるノッキング判定時期と、ノッキングの判定結果と、点火時期とが示されている。
本発明による実施例では、吸気上死点TDCから次の吸気上死点TDCまでの720クランク角度が1サイクルとされており、機関の運転が開始されたときからのサイクル番号がk1、k2、・・・kn、kn+1、kn+2、kn+3・・・とされている。図19には、これらサイクル番号が、kn、kn+1、kn+2、kn+3となったときが示されており、ノッキング処理を容易に理解し得るように、以下、これらサイクル番号kn、kn+1、kn+2、kn+3を用いて説明する。本発明による実施例では、ピストン4の位置が圧縮上死点TDCに達する毎に、図12に示されるノッキング処理が実行される。ノッキング処理が実行されると、図13又は図14に示されるノッキング強度代表値の推定ルーチンが実行され、第1の学習済みニューラルネットワーク20への入力値x1、x2・・・xn−1、xnの取り込み作業が行なわれる。
第1の学習済みニューラルネットワーク20への入力値x1、x2・・・xn−1、xnの取り込み作業が完了すると、第1の学習済みニューラルネットワーク20からは、ノッキング強度を代表する値の推定値ye が出力される。第1の学習済みニューラルネットワーク20からノッキング強度を代表する値の推定値ye が出力されると、図15に示されるノッキング判定ルーチンが実行され、ノッキングが発生したか否かの判定が行われる。このとき、ノッキング強度を代表する値の推定値ye が閾値Mij を越えると、ノッキングが発生したと判定される。ノッキングが発生したか否かの判定が行われると、図17に示される点火制御ルーチンが実行される。
図19からわかるように、ノッキング強度を代表する値の推定値ye が閾値Mij を越えると、次のサイクルでは点火時期が遅角される。点火時期が遅角されると多くの場合、ノッキング強度を代表する値の推定値ye は閾値Mij 以下まで低下する。一方、点火時期が遅角されても、ノッキング強度を代表する値の推定値ye が閾値Mij以下まで低下しない場合もある。図19は、このように点火時期が遅角されても、ノッキング強度を代表する値の推定値ye が閾値Mij以下まで低下しない場合の例を示している。
即ち、図19に示される例では、サイクルが番号knのサイクルとなったときにノッキング強度を代表する値の推定値ye が閾値Mij を越えたと判別され、それにより次のサイクルkn+1において点火時期が遅角される。次いで、次のサイクルkn+1でも、ノッキング強度を代表する値の推定値ye が閾値Mij を越えたと判別され、それにより更に次のサイクルkn+2においても点火時期が遅角される。サイクルkn+2において点火時期が遅角されると、ノッキング強度を代表する値の推定値ye が閾値Mij 以下に低下し、それによりノッキングが発生していないと判別される。ノッキングが発生していないと判別されると、次のサイクルkn+3では点火時期が進角され、ノッキングが発生しない限り、点火時期は進角され続ける。なお、図19からわかるように、本発明による実施例では、遅角量に比べて進角量は小さくされている。
さて、前述したように、図5に示される内燃機関は、第1のニューラルネットワーク20の重みを学習するために、図1に示される内燃機関に圧力センサ19を取り付けた内燃機関である。これら図1或いは図5に示される内燃機関において、第1の学習済みニューラルネットワーク20を用い、図19を参照しつつ説明したようなノッキング処理を行った場合には、何ら問題は生じない。ところが他の内燃機関、例えば、市販用の内燃機関において、この第1の学習済みニューラルネットワーク20を用い、図19を参照しつつ説明したようなノッキング処理を行うと問題を生じる。そこで次に、どのような問題を生ずるかについて図20Aから図23を参照しつつ説明する。
図20Aは燃焼室5内の燃焼圧とクランク角(ATDC)との関係を示している。なお、図20Aにおいて実線はノッキングが発生したときの燃焼室5内の燃焼圧の変化を示しており、破線はノッキングが発生していないときの燃焼室5内の燃焼圧の変化を示している。図20Aからわかるように、ノッキングが発生すると、圧縮上死点TDC後に、燃焼室5内の燃焼圧が急激に上昇する。図20Bには、このときの実際の燃焼室5内の燃焼圧の上昇量とノッキング強度との関係が各点で示されている。図20Bに示されるように燃焼室5内の燃焼圧の上昇量が大きくなるほど、ノッキング強度が大きくなる。即ち、燃焼室5内の燃焼圧の上昇量が大きくなるほど、ノッキング強度を代表する値の推定値ye が大きくなる。従って、第1の学習済みニューラルネットワーク20の入力値と出力値は、これら燃焼室5内の燃焼圧の上昇量とノッキング強度との関係を示していることになる。
図21は、図5に示される内燃機関において、第1の学習済みニューラルネットワーク20を用い、図19に示されるノッキング処理が行われたときの圧力センサ19の出力値と、ノッキングセンサ18の出力値と、燃焼室5内の燃焼圧と、ノッキング強度を代表する値の推定値ye の夫々の値の変化を示している。なお、図21において、(a)は図19のサイクルknにおけるこれらの値の変化を示しており、(b)は図19のサイクルkn+1におけるこれらの値の変化を示しており、(c)は図19のサイクルkn+2におけるこれらの値の変化を示している。図19からわかるように、サイクルが、kn+1、kn+2へと進むにつれて、点火時期が次第に遅角され、図21からわかるように、サイクルが、kn+1、kn+2へと進むにつれて、圧力センサ19の出力値、ノッキングセンサ18の出力値、燃焼室5内の燃焼圧の上昇量およびノッキング強度を代表する値の推定値ye が次第に低下していく。
このように図19および図21から、点火時期の遅角量を増大させると、燃焼室5内の燃焼圧の上昇量およびノッキング強度を代表する値の推定値ye が低下することがわかる。この場合、点火時期の遅角速度を増大させると、燃焼室5内の燃焼圧の上昇量およびノッキング強度を代表する値の推定値ye が低下することもわかっている。即ち、図22Aの各点で示されるように、点火時期の遅角量又は遅角速度を増大させると、燃焼室5内の燃焼圧の上昇割合が低下し、図22Bの各点で示されるように、点火時期の遅角量又は遅角速度を増大させると、ノッキング強度を代表する値の推定値ye が低下することがわかっている。
一方、図23は、図5に示される内燃機関以外の他の内燃機関、例えば、市販用の内燃機関に圧力センサ19を取り付け、第1の学習済みニューラルネットワーク20を用いて、図19を参照しつつ説明したようなノッキング処理が行なわれた場合の圧力センサ19の出力値と、ノッキングセンサ18の出力値と、燃焼室5内の燃焼圧と、ノッキング強度を代表する値の推定値ye の夫々の値の変化を示している。なお、この図23においても、(a)、(b)、(c)は、図19の各サイクルkn、kn+1,kn+2におけるこれらの値の変化を示している。
さて、前述したように、機関の構成部品には公差があり、従って、機関毎に機関の構成部品の寸法がばらつくために、機関毎に異なる機関の振動が発生する。しかしながら、第1の学習済みニューラルネットワーク20は、このように機関毎に発生する異なる機関の振動については、重みの学習がなされておらず、従って、このように重みの学習がなされていない機関の振動、即ち、未学習の機関の振動が発生すると、第1の学習済みニューラルネットワーク20において、ノッキングにより機関本体1に振動が発生していると誤判断される場合がある。図23の(a)は、一例として、サイクルknにおいてノッキングおよび未学習の機関の振動が発生していてノッキング強度を代表する値の推定値ye が閾値Mij を越え、その結果、ノッキングが発生していると判別された場合を示している。
この場合、次のサイクルkn+1では、点火時期が遅角され、それにより図23の(b)で示されるように燃焼室5内の燃焼圧の上昇量は低下し、圧力センサ19の出力値も低下する。しかしながら、点火時期の影響を受けない未学習の機関の振動が発生している場合には、点火時期が遅角されたとしても未学習の機関の振動は抑制されず、従って、図23に示される例では、未学習の機関の振動は、点火時期が遅角された後も、図23の(b)で示されるように発生し続ける。その結果、図23に示される例では、図23の(b)で示されるように、未学習の機関の振動によってノッキング強度を代表する値の推定値ye が閾値Mij 以上となり、その結果、依然として、ノッキングが発生していると判別されることになる。
この場合、次のサイクルkn+2では、再度点火時期が遅角され、従って、図23の(c)で示されるように燃焼室5内の燃焼圧の上昇量は低下し、圧力センサ19の出力値も低下する。しかしながらこのように点火時期が遅角されても、未学習の機関の振動が抑制されず、その結果、図23に示される例では、点火時期が遅角された後も、図23の(c)で示されるように未学習の機関の振動が発生し続ける。その結果、図23の(c)で示されるように、未学習の機関の振動によってノッキング強度を代表する値の推定値ye が閾値Mij 以上となり、その結果、依然としてノッキングが発生していると判別されることになる。このように、未学習の機関の振動が発生し続けると、ノッキング強度を代表する値の推定値ye が閾値Mijを越え続け、それにより点火時期の遅角作用が続行され続ける場合がある。このような場合には、点火時期が過剰に遅角し、その結果、機関の出力が大幅に低下してしまうという問題を生ずることになる。
一方、ノッキングが発生していないが、未学習の機関の振動が発生したために、ノッキング強度を代表する値の推定値ye が閾値Mij を越え、ノッキングが発生していると判別された場合も同様である。この場合も、未学習の機関の振動が発生し続けると、ノッキング強度を代表する値の推定値ye が閾値Mijを越え続け、点火時期の遅角作用が続行され続ける場合が生ずる。この場合にも、点火時期が過剰に遅角し、それにより機関の出力が大幅に低下してしまうという問題を生ずることになる。
本発明では、図5に示される内燃機関以外の他の内燃機関、例えば、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用いてノッキング処理を行なった場合に、未学習の機関の振動の発生により点火時期が過剰に遅角することがないように点火時期が制御される。次に、このことについて、図24Aから図25Bを参照しつつ説明する。なお、図24Aから図25Bは、図19と同様に、サイクルknにおいてノッキング強度を代表する値の推定値ye が閾値Mij を越えたと判別され、それにより次のサイクルkn+1において点火時期が遅角された場合におけるノッキング強度を代表する値の推定値ye および点火時期の変化を示している。
まず初めに、図24Aを参照すると、図24Aは、図1又は図5に示される内燃機関において、第1の学習済みニューラルネットワーク20を用い、ノッキングセンサ18の出力値に基づいてノッキング処理が行われたときのノッキング強度を代表する値の推定値ye および点火時期の変化を示している。図24Aに示される例は、サイクルknにおいてノッキング強度を代表する値の推定値ye が閾値Mij を越えたと判別され、それにより次のサイクルkn+1において点火時期がαだけ遅角され、その結果、サイクルkn+1におけるノッキング強度を代表する値の推定値ye がΔyeだけ低下して、yeeになった場合を示している。なお、図24Aは、ノッキング強度を代表する値の推定値ye がyeeになったときに、ノッキング強度を代表する値の推定値ye が閾値Mij 以下になった場合を示しており、この場合には、次のサイクルkn+2 において、点火時期がβ1だけ進角される。
一方、図24Bは、図5に示される内燃機関以外の他の内燃機関、例えば、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用い、ノッキングセンサ18の出力値に基づいてノッキング処理を行うようにした場合の本発明による新たなノッキング処理方法を説明するための図である。なお、図24Bは、実線で示されるように、サイクルknにおいて、ノッキングおよび未学習の機関の振動の双方の発生によりノッキング強度を代表する値の推定値ye が閾値Mij を越え、サイクルkn+1以降は、未学習の機関の振動によりノッキング強度を代表する値の推定値ye が暫くの間、閾値Mij を越え続けている場合を示している。即ち、実際の内燃機関では、未学習の機関の振動は特定の運転状態で発生し、機関の運転状態が変化すると次第に収まるので、図24Bに示されるように、ノッキング強度を代表する値の推定値ye は、一時的に閾値Mij を越え続けていたとしても、暫くすると次第に低下していく。ところが、図24Bに示されるようにノッキング強度を代表する値の推定値ye が閾値Mij を越え続けている場合、図12から図18に示されるルーチンによりノッキング処理が行われると、点火時期が遅角され続け、その結果、点火時期が過剰に遅角されることになる。そこで本発明では、点火時期が過剰に遅角されるのを阻止するために、点火時期が遅角されたときに、ノッキングの発生によりノッキング強度を代表する値の推定値ye が閾値Mij を越えているのか否かを判別し、ノッキングの発生によりノッキング強度を代表する値の推定値ye が閾値Mij を越えているのではないと判別されたときには、、次のサイクルにおいて点火時期を遅角しないようにしている。
即ち、図24Bに示されるように、図5に示される内燃機関以外の他の内燃機関、例えば、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用いてノッキング処理が行われた場合には、ノッキングのみが発生することによりノッキング強度を代表する値の推定値ye が閾値Mij を越えたのか、未学習の機関の振動のみが発生することによりノッキング強度を代表する値の推定値ye が閾値Mij を越えたのか、ノッキングおよび未学習の機関の振動の双方が発生することによりノッキング強度を代表する値の推定値ye が閾値Mij を越えたのかは、わからない。
しかしながら、図24Aに示されるように、ノッキングの発生によりノッキング強度を代表する値の推定値ye が閾値Mij を越え、それにより点火時期がαだけ遅角された場合には、次のサイクルにおけるノッキング強度を代表する値の推定値ye がΔyeだけ低下して、yeeになることはわかっている。
従って、図24Bに示されるように、例えば、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用いてノッキング処理を行った場合においても、ノッキングの発生のみによりノッキング強度を代表する値の推定値ye が閾値Mij を越え、それにより点火時期がαだけ遅角された場合には、破線で示されるように、次のサイクルkn+1におけるノッキング強度を代表する値の推定値ye はΔyeだけ低下して、yeeになると予測される。従って、点火時期がαだけ遅角されたときに、ノッキング強度を代表する値の推定値yeがこの予測値yee 近くまで低下すれば、ノッキングが発生したと判断できることになる。また、このとき、ノッキング強度を代表する値の推定値ye は、ノッキング強度を正しく示していることになる。
一方、点火時期がαだけ遅角されたときに、図24Bにおいて、実線で示されるように、ノッキング強度を代表する値の推定値yeが予測値yee 近くまで低下しないときには、サイクルknにおいて、ノッキングの発生のみによるのではなく、未学習の機関の振動の発生により、或いは、ノッキングおよび未学習の機関の振動の双方の発生によりノッキング強度を代表する値の推定値ye が閾値Mij を越えていることになる。従って、このときには、ノッキング強度を代表する値の推定値ye が、ノッキング強度を正しく示していないことになる。即ち、点火時期がαだけ遅角されたときのノッキング強度を代表する値の推定値yeeと第1の学習済みニューラルネットワーク20から出力されるノッキング強度を代表する値の推定値ye との差が予め定められた設定値よりも小さいときには、ノッキング強度を代表する値の推定値ye は、ノッキング強度を正しく示しており、この差が予め定められた設定値よりも大きいときには、ノッキング強度を代表する値の推定値ye は、ノッキング強度を正しく示していないことになる。
そこで本発明では、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用いてノッキング処理を行う場合には、図24Bに示されるように、サイクルknにおいて、ノッキング強度を代表する値の推定値ye が閾値Mij を越えたと判断された場合、次のサイクルkn+1では、点火時期がαだけ遅角されたときのノッキング強度を代表する値の推定値yeeと第1の学習済みニューラルネットワーク20から出力されるノッキング強度を代表する値の推定値ye との差が予め定められた設定値よりも小さいか、又は、大きいかに応じて、更に次のサイクルkn+2における点火時期の遅角制御が行われる。
即ち、この差が予め定められた設定値よりも小さいときには、即ち、ノッキング強度を代表する値の推定値ye が、ノッキング強度を正しく示しているときには、ノッキング強度を代表する値の推定値ye に基づいて、点火時期の遅角制御が行われる。この場合、ノッキング強度を代表する値の推定値ye が、閾値Mij よりも大きいときには、点火時期の遅角作用が行われ、ノッキング強度を代表する値の推定値ye が、閾値Mij よりも小さいときには、点火時期の遅角作用は行われず、このとき、次のサイクルkn+2 では、点火時期がβ1だけ進角される。一方、この差が予め定められた設定値よりも大きいときには、即ち、ノッキング強度を代表する値の推定値ye が、ノッキング強度を正しく示していないときには、点火時期の遅角制御は行われず、様子をみるために、図24Bにおいて実線で示されるように点火時期がそのまま維持される。次いで、ノッキング強度を代表する値の推定値ye が値Mij よりも低下した後に、点火時期がβ1ずつ進角され始める。
なお、本発明による実施例では、図24Bに示されるように、未学習の機関の振動によりノッキング強度を代表する値の推定値ye が閾値Mij を越え続けている場合における点火時期進角量β2は、図24Aに示されるように、ノッキングの発生のみによりノッキング強度を代表する値の推定値ye が閾値Mij を越えた場合における点火時期進角量β1に比べて小さくされている。即ち、未学習の機関の振動によりノッキング強度を代表する値の推定値ye が閾値Mij を越え続けている場合には、点火時期はゆっくりと進角される。
一方、図25Aは、図24Aと同様に、図1又は図5に示される内燃機関において、第1の学習済みニューラルネットワーク20を用い、ノッキングセンサ18の出力値に基づいてノッキング処理が行われたときのノッキング強度を代表する値の推定値ye および点火時期の変化を示しており、図25Bは、図25Aと同様に、図5に示される内燃機関以外の他の内燃機関、例えば、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用い、ノッキングセンサ18の出力値に基づいてノッキング処理が行われたときのノッキング強度を代表する値の推定値ye および点火時期の変化を示している。なお、図25Aおよび図25Bは、ノッキング強度を代表する値の推定値ye が閾値Mij 以下となるまで点火時期がαだけ2回にわたり遅角された場合を示しており、点火時期が2回にわたり遅角されることを除けば、図24Aおよび図24Bに示される場合と同様である。
即ち、図25Aに示されるように、ノッキングの発生によりノッキング強度を代表する値の推定値ye が閾値Mij を越え、それにより点火時期がαだけ遅角された場合には、次のサイクルkn+1におけるノッキング強度を代表する値の推定値ye がΔye1だけ低下して、yee1となる。このとき、まだノッキングの発生が収まっていないために、ノッキング強度を代表する値の推定値ye が依然として閾値Mij が越えており、それにより点火時期が再度αだけ遅角される。その結果、次のサイクルkn+2におけるノッキング強度を代表する値の推定値ye がΔye2だけ低下して、yee2となる。
本発明では、この場合も、図25Bの実線で示されるように、点火時期がαだけ遅角されたときのノッキング強度を代表する値の推定値yee1と第1の学習済みニューラルネットワーク20から出力されるノッキング強度を代表する値の推定値ye との差が予め定められた設定値よりも大きいときには、即ち、ノッキング強度を代表する値の推定値ye が、ノッキング強度を正しく示していないときには、点火時期の遅角制御は行われず、様子をみるために、図25Bにおいて実線で示されるように点火時期がそのまま維持される。次いで、ノッキング強度を代表する値の推定値ye が値Mij よりも低下した後に、点火時期がβ1ずつ進角され始める。
このように本発明では、市販用の内燃機関において、第1の学習済みニューラルネットワーク20を用いてノッキング処理を行う場合、点火時期が遅角されたときのノッキング強度を代表する値の推定値yeの予測値yeeと第1の学習済みニューラルネットワーク20から出力されるノッキング強度を代表する値の推定値ye との差が予め定められた設定値よりも小さいか、又は、大きいかに応じて、次のサイクルにおける点火時期の遅角制御が行われる。この場合、本発明による実施例では、点火時期が遅角されたときのノッキング強度を代表する値の推定値ye の予測低下量Δye、或いはノッキング強度を代表する値の推定値yeの予測値yeeが、第2のニューラルネットワークを用いて推定される。
図26から図33は、点火時期が遅角されたときのノッキング強度を代表する値の推定値ye の予測低下量Δyeを、第2のニューラルネットワークを用いて推定するようにした本発明による第1の実施例を示しており、図34から図42は、点火時期が遅角されたときのノッキング強度を代表する値の推定値yeの予測値yeeを、第2のニューラルネットワークを用いて推定するようにした本発明による第2の実施例を示している。そこで最初に、図26から図34を参照しつつ、第1の実施例について説明する。
図27は、第1の実施例において用いられている第2のニューラルネットワーク50を示している。図27を参照すると、この第2のニューラルネットワーク50においても、図3に示されるニューラルネットワークと同様に、L=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。この第1の実施例では、図27に示されるように、入力層 ( L=1) が5個のノードからなり、5個の入力値xx1、xx2、xx3、xx4、xx5が、入力層 ( L=1) の各ノードに入力される。一方、図27には隠れ層 ( L=2)および隠れ層 ( L=3)が記載されているが、これら隠れ層の層数は、1個又は任意の個数とすることができ、またこれら隠れ層のノードの数も任意の個数とすることができる。なお、出力層 ( L=4) のノードの数は1個とされており、出力層のノードからの出力値がΔyeで示されている。
次に、図8における入力値xx1、xx2、xx3、xx4、xx5と、出力値Δyeについて説明する。最初に出力値Δyeについて説明すると、この出力値Δyeは、ノッキングのみの発生により点火時期が遅角されたときのノッキング強度を代表する値の推定値ye の予測低下量を示している。一方、入力値xx1、xx2、xx3、xx4、xx5は、ノッキング強度を代表する値の推定値ye の低下量に強い影響を与える入力パラメータを示しており、これら入力パラメータの一覧表が図26に示されている。図26に示されるように、入力パラメータは、機関の運転状態を表すパラメータと、点火時期の遅角量α又は進角量β(β1又はβ2)と、一つ前のサイクルにおけるノッキング強度を代表する値の推定値yeoからなる。
なお、この第1の実施例では、機関の運転状態を表すパラメータが、機関回転数NEと、機関負荷Lと、EGR率ERからなる。即ち、第1の実施例では、機関回転数NE、機関負荷L、EGR率ER、点火時期の遅角量α又は進角量β、および一つ前のサイクルにおけるノッキング強度を代表する値の推定値yeoが夫々、入力値xx1、xx2、xx3、xx4、xx5とされ、これら入力値xx1、xx2、xx3、xx4、xx5が、第2のニューラルネットワーク50の入力層の各ノードに入力される。
図28は、図9に示される訓練データセットを作成する際に用いられた図5に示される機関本体1を用いて、第2のニューラルネットワーク50用訓練データセットを作成するために取得されたデータの一覧表を示している。これらのデータは、図5に示される機関本体1において、図12から図18に示されるルーチンを用いたノッキング処理を行いつつ、機関回転数NE、機関負荷L、EGR率ERおよび点火時期の遅角量αおよび進角量βの種々の組み合わせについてノッキングの発生しない運転状態とノッキングの発生する運転状態の双方の状態が生ずるように機関を運転させたときの、サイクル毎の機関回転数NE、機関負荷L、EGR率ER、ノッキング強度を代表する値の推定値ye および点火時期の遅角量αおよび進角量βを示している。これらのデータは、例えば、電子制御ユニット30のメモリ32内に一時的に記憶される。
なお、これらデータを取得する際、本発明による実施例では、点火時期遅角量αは一定に維持されており、点火時期進角量βは、進角量β1又は進角量β2のいずれかとされる。また、図28に示される一覧表には、点火時期が遅角量αだけ遅角されたときのノッキング強度を代表する値の推定値ye の低下量Δyeが含まれている。この低下量Δyeは、点火時期が遅角量αだけ遅角されたときのノッキング強度を代表する値の推定値ye と、一つ前のサイクルにおけるノッキング強度を代表する値の推定値yeo との差から求められる。例えば、サイクルkn+1でおいて点火時期が遅角量αだけ遅角されたときには、サイクルknのときのノッキング強度を代表する値の推定値yenから、サイクルkn+1のときのノッキング強度を代表する値の推定値ye n+1 を減算することによって、低下量Δye n+1が求められる。この低下量Δyeの算出は、例えば、CPU33において行われる。
このようにして、点火時期が遅角量αだけ遅角されたときに、図28に示されるようにノッキング強度を代表する値の推定値ye の低下量Δyeが算出され、算出された低下量Δyeが、遅角量αと共に、例えば、電子制御ユニット30のメモリ32内に一時的に記憶される。このノッキング強度を代表する値の推定値ye の低下量Δyeは、ノッキング強度を代表する値の推定値ye の実際の低下量を表しており、従って、このノッキング強度を代表する値の推定値ye の低下量Δyeは、第2の学習済みニューラルネットワーク50の重みを学習する際の正解値、即ち、教師データとされる。
図29は、第2のニューラルネットワーク50の重みを学習するための訓練データセットを示している。この訓練データセットは、第1の実施例では、図28に示される一覧表から、点火時期が遅角量αだけ遅角されたときのサイクルにおける機関回転数NE、機関負荷L、EGR率ER、点火時期の遅角量αに関するデータ、および点火時期が遅角量αだけ遅角されたときのサイクルの一つ前のサイクルにおけるノッキング強度を代表する値の推定値yeoに関するデータを抜き出すことによって作成されており、この訓練データセットは、図28に示される一覧表から抜き出された入力値xx1、xx2、xx3、xx4、xx5と、教師データytとの関係を表すm個のデータからなる。なお、この場合、図28に示される機関回転数NE、機関負荷L、EGR率ER、点火時期の遅角量α、および一つ前のサイクルにおけるノッキング強度を代表する値の推定値yeoが夫々、入力値xx1、xx2、xx3、xx4、xx5とされ、図28に示されるノッキング強度を代表する値の推定値ye の低下量Δyeが、教師データytとされる。
この第1の実施例では、図27に示される第2のニューラルネットワーク50の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数、および、図29に示される訓練データセットが、学習装置23のメモリ24に記憶され、学習装置23において、図10を参照しつつ既に説明した学習処理方法と同様な学習処理方法により、図10に示される学習処理ルーチンを用いて、第2のニューラルネットワーク50の重みの学習が行われる。それにより、第2の学習済みニューラルネットワーク50、即ち、ノッキング強度を代表する値の推定値ye の低下量Δyeの推定モデルが作成される。
本発明による第1の実施例では、第1の学習済みニューラルネットワーク20により生成された、ノッキング強度を代表する値の推定モデルと、第2の学習済みニューラルネットワーク50により生成された、ノッキング強度を代表する値の推定値ye の低下量Δyeの推定モデルを用いて、市販車両の機関におけるノッキング処理が行われる。そのためにこれらノッキング強度を代表する値の推定モデルおよびノッキング強度を代表する値の推定値ye の低下量Δyeの推定モデル、即ち、第1の学習済みニューラルネットワーク20および第2の学習済みニューラルネットワーク50が、市販車両の電子制御ユニット30内に格納される。これら推定モデルの市販車両の電子制御ユニット30への格納作用は、図11を参照しつつ既に説明した方法と同様な方法でもって、図11に示される電子制御ユニットへのデータ読み込みルーチンを用いて行われる。
このように第1の学習済みニューラルネットワーク20および第2の学習済みニューラルネットワーク50が、市販車両の電子制御ユニット30に格納されると、電子制御ユニット30のメモリ32内には、第1の学習済みニューラルネットワーク20および第2の学習済みニューラルネットワーク50が形成される。図30は、市販車両の電子制御ユニット30のメモリ32内に形成された第1の学習済みニューラルネットワーク20および第2の学習済みニューラルネットワーク50を用いて、市販車両の機関運転時に実行されるノッキング処理を示している。このノッキング処理は、気筒毎に、個別に、一サイクル毎に実行される。本発明による第1の実施例では、このノッキング処理は、例えば、クランク角が圧縮上死点に達したときに開始される。
図30を参照すると、まず初めにステップ220において、圧力センサ19の出力値から求められるノッキング強度を代表する値、即ち、ノッキング強度代表値の推定処理が行われる。次いで、ステップ221では、ノッキングが生じているか否かのノッキング判定処理が行われ、次いで、ステップ222では、点火制御が行われる。ステップ220において行われるノッキング強度代表値の推定処理は、図13又は図14のいずれか一方に示されるノッキング強度代表値の推定ルーチンにより行われる。これらのノッキング強度代表値の推定ルーチンについては既に説明したので、これらノッキング強度代表値の推定ルーチンについては説明を省略する。なお、これらのノッキング強度代表値の推定ルーチンが実行されると、第1の学習済みニューラルネットワーク20からはノッキング強度を代表する値の推定値ye が出力される。
図31および図32は、図30のステップ220において第1の学習済みニューラルネットワーク20からノッキング強度を代表する値の推定値ye が出力されたときに、この第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye に基づき、図30のステップ221で行われるノッキング判定ルーチンを示している。図31を参照すると、まず初めに、ステップ230において、ノッキング強度を代表する値に対する閾値Mij が読み込まれる。この閾値Mij は、前述したように、図16に示される如く、機関負荷Lと機関回転数Nに応じて複数個に分割された各機関運転領域に対して予め設定されている。
次いで、ステップ231では、ノッキングが発生したか否かの判定を中止すべきときにセットされる判定中止フラグがセットされているか否かが判別される。この判定中止フラグは、通常、リセットされており、従って、ステップ232に進む。ステップ232では、ノッキングが発生したと判別されたときにセットされるノッキング発生フラグがセットされているか否かが判別される。このノッキング発生フラグは、通常、リセットされており、従って、ステップ237にジャンプする。ステップ237では、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいか否かが判別される。ノッキング強度を代表する値の推定値ye が閾値Mij よりも大きくないと判別されたときにはステップ239に進んで、ノッキング発生フラグがリセットされる。次いで、処理サイクルを終了する。
一方、ステップ237において、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいと判別されたときにはステップ238に進んで、ノッキング発生フラグがセットされる。ノッキング発生フラグがセットされると、後述するように、次のサイクルにおける点火時期がαだけ遅角される。また、ノッキング発生フラグがセットされると、次のサイクルでは、ステップ232からステップ233に進む。ステップ233では、機関回転数NE、機関負荷L、EGR率ER、点火時期の遅角量α、および一つ前のサイクルにおいて第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値yeo が第2の学習済みニューラルネットワーク50の入力層の各ノードに入力され、それにより第2の学習済みニューラルネットワーク50からは、点火時期が遅角されたときのノッキング強度を代表する値の推定値ye の予測低下量Δyeが出力される。
次いで、ステップ234では、一つ前のサイクルにおいて第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値yeoから、ノッキング強度を代表する値の推定値ye の予測低下量Δyeを減算することによって、ノッキング強度を代表する値の推定値ye の予測値yee が算出される。次いで、ステップ235では、未学習の機関の振動が発生しているか否かを判別するために、ノッキング強度を代表する値の推定値ye の予測値yeeと第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye との差(yee ―ye)の絶対値が設定値Sよりも大きいか否かが判別される。
即ち、ノッキングのみが発生しているときには、ノッキング強度を代表する値の推定値ye の予測値yeeと第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye とは、ほぼ等しくなる筈である。従って、ノッキングのみが発生しているときには、差(yee ―ye)の絶対値が設定値Sよりも小さくなる。従って、このときには、ステップ236に進んで、未学習の機関の振動、即ち、ノイズが発生していることを示すノイズフラグがリセットされる。ノイズフラグがリセットされると、後述するように、点火時期の進角量がβ1とされる。
一方、このときには、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye は、正しいノッキング強度を示している。従って、このときには、ステップ237に進んで、ノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいか否かが判別される。ノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいと判別されたときには、ステップ238に進んで、ノッキング発生フラグがセットされる。このときには、次のサイクルにおける点火時期がαだけ遅角される。
一方、ノッキングおよび未学習の機関の振動が発生しているとき、或いは、未学習の機関の振動のみが発生しているときには、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye は、ノッキング強度を代表する値の推定値ye の予測値yeeに比べて大きい筈である。従って、このときには、差(yee ―ye)の絶対値が設定値Sよりも大きくなる。このときには、ステップ235からステップ240に進んで、未学習の機関の振動、即ち、ノイズが発生していることを示すノイズフラグがセットされる。ノイズフラグがセットされると、後述するように、点火時期の進角量がβ2とされる。次いで、ステップ241に進む。
ステップ241では、ノッキング発生フラグがリセットされる。一方、このときには、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye は、ノッキング強度を正しく示していない。従って、このときには、点火時期の進角作用および遅角作用を一次的に中止するために、ステップ242において、判定中止フラグがセットされる。次いで、処理サイクルを終了する。
判定中止フラグがセットされると、次のサイクルでは、ステップ231からステップ243に進む。ステップ243およびステップ244では、ノッキング強度を代表する値の推定値ye が閾値Mij を越えた後、未学習の機関の振動の発生により、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きい状態が続いている場合に、点火時期の進角作用および遅角作用をに中止し続けると共に、ノッキングが発生したか否かの判定を中止し続ける処理が行われる。
即ち、ステップ243では、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいか否かが判別される。ノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいと判別されたときには、処理サイクルを終了する。これに対し、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が閾値Mij よりも小さくなったと判別されたときには、ステップ244に進んで、判定中止フラグをリセットさせる処理が行われる。次いで、ステップ232に進んで、ノッキング判定処理が再開される。
図33は、図31および図32に示されるノッキング判定ルーチンにおける判定結果に基づき電子制御ユニット30内で実行される点火制御ルーチンを示している。図33を参照すると、まず初めに、ステップ250において、ノッキング判定ルーチンにおいて用いられている判定中止フラグがセットされているか否かが判別される。判定中止フラグがセットされていると判別されたときには処理サイクルを終了する。これに対し、判定中止フラグがセットされていないと判別されたときには、ステップ251に進んで、基準点火時期IG(BTDC)が算出される。この基準点火時期IGは、前述したように、機関負荷Lと機関回転数Nの関数として、図18に示されるようなマップの形で予めメモリ32内に記憶されている。次いで、ステップ252では、図31および図32に示されるノッキング判定ルーチンにおいて、ノッキング発生フラグがセットされているか否かが判別される。ノッキング発生フラグがセットされていると判別されたときにはステップ260に進む。
ステップ260では、点火時期を遅角させるために点火時期遅角量ΔIGに一定量αが加算される。次いで、ステップ259では、基準点火時期IGから点火時期遅角量ΔIGを減算することによって、次のサイクルにおける最終的な点火時期IGOが算出される。次のサイクルでは、この最終的な点火時期IGOに、点火栓11による点火作用が行われる。このとき点火時期は一定量αだけ遅角される。一方、ステップ252において、ノッキング発生フラグがリセットされていると判別されたときにはステップ253に進み、図31および図32に示されるノッキング判定ルーチンにおいて、ノイズフラグがセットされているか否かが判別される。
ノイズフラグがセットされていないと判別されたときにはステップ254に進んで、進角量β1がβとされ、次いでステップ256に進む。一方、ノイズフラグがセットされていると判別されたときにはステップ255に進んで、進角量β2がβとされ、次いでステップ256に進む。ステップ256では、点火時期を進角させるために点火時期遅角量ΔIGからβが減算される。次いで、ステップ257では、点火時期遅角量ΔIGか負になったか否かが判別され、点火時期遅角量ΔIGか負になっていないときにはステップ259に進んで、次のサイクルにおける最終的な点火時期IGOが算出される。このときには、点火時期はβだけ進角される。一方、ステップ257において、点火時期遅角量ΔIGか負になったと判別されたときにはステップ258に進んで点火時期遅角量ΔIGが零とされた後、ステップ259に進む。このときには、点火時期が基準点火時期IGとされる。
次に、図34から図42を参照しつつ、点火時期が遅角されたときのノッキング強度を代表する値の推定値yeの予測値yeeを、第2のニューラルネットワークを用いて推定するようにした本発明による第2の実施例について説明する。この第2の実施例では、第2のニューラルネットワークとして、リカレントニューラルネットワークが用いられている。図34は、第2の実施例で用いられているリカレントニューラルネットワーク(RNN)を展開して表した図を示しており、図35は、リカレントニューラルネットワークを示している。このリカレントニューラルネットワークは周知であり、従って、以下、簡単にリカレントニューラルネットワークについて説明する。
図34において、x1 t−1、x2 t−1、x1 t、x2 t、x1 t+1、x2 t+1、x1 t+2、x2 t+2 は、夫々時刻t−1、t、t+1、t+2におけるリカレントニューラルネットワークの入力層への時系列入力値を示しており、yt、yt+1、yt+2、yt+3 は、夫々時刻t−1、t、t+1、t+2におけるリカレントニューラルネットワークの出力層からの出力値を示している。また、ht−1、ht、ht+1、ht+2 (hはベクトル)は、夫々時刻t−1、t、t+1、t+2におけるリカレントニューラルネットワークの隠れ層からの出力値を表しており、これら、ht−1、ht、ht+1、ht+2 は、隠れ状態ベクトルと称される。
一方、図35を参照すると、このリカレントニューラルネットワークにおいて、L=1は入力層、L=2は隠れ層、L=3は出力層を夫々示している。図35において鎖線枠内のノードは実際には存在せず、説明のために記載したノードであり、従って、図35に示される例では、入力層 ( L=1) が2個のノードからなる。また、図35に示される例では、隠れ層 ( L=1) がm個のノードからなる(図35には3個のみが記載されている)。一方、図35には一つの隠れ層 ( L=2)しか記載されていないが、この隠れ層の層数は、任意の個数とすることができる。なお、出力層 ( L=3) のノードの数は1個とされている。
図35は、図34の時刻tにおける入力値x1 t、x2 tと、出力値yt+1とを示している。また、図36において、h1 t、h2 t・・・hm t は、図34の時刻tにおける隠れ層の各ノードからの出力値、即ち、隠れ状態ベクトルを示している。リカレントニューラルネットワークでは、図35に示されるように、一つ前の時刻t−1における隠れ層の各ノードからの出力値、即ち、隠れ状態ベクトルh1 t−1、h2 t−1・・・hm t−1 が、夫々対応する重みwを掛けて、隠れ層の各ノードに入力される。従って、隠れ層の各ノードには、各入力値x1 t、x2 tに夫々対応する重みwを掛けた値と、一つ前の時刻t−1における各隠れ状態ベクトルh1 t−1、h2 t−1・・・hk t−1に夫々対応する重みwを掛けた値が入力され、図35の隠れ層 ( L=2) の各ノード(k=1,2・・・m)において算出される総入力値ukは、次式のようになる。
隠れ層の各ノードにおいて算出された総入力値ukは、活性化関数により変換されて、隠れ層の各ノードから隠れ状態ベクトルhk t (k=1,2・・・m)として出力される。この場合、活性化関数として、例えば、tanh 関数(双曲線正接関数)が用いられた場合には、隠れ層の各ノードから出力される隠れ状態ベクトルhk t は,hk t =tanh (uk) となる。これらの隠れ状態ベクトルhk t は, 出力層 ( L=3) のノード に入力され、出力層 のノードでは、夫々対応する重みwを用いて、次式で示される総入力値uが算出される。
本発明による実施例では、出力層のノードでは、活性化関数として恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力される。
次に、図34に示される入力値x1 t−1、x2 t−1、x1 t、x2 t、x1 t+1、x2 t+1、x1 t+2、x2 t+2 および出力値yt、yt+1、yt+2、yt+3 について説明する。図34において時刻t−1、t、t+1、t+2は、同一気筒の連続する各サイクルに対応しており、本発明による実施例では、時刻t−1、t、t+1、t+2において、即ち、同一気筒の連続する各サイクルにおいて第1の学習済みニューラルネットワーク20から順次出力されたノッキング強度を代表する値の推定値yeが夫々、入力値x1 t−1、x1 t、x1 t+1、x1 t+2 とされる。また、時刻t−1、t、t+1、t+2における、即ち、同一気筒の連続する各サイクルにおける点火時期の遅角量α又は進角量βが夫々、入力値x2 t−1、x2 t、x2 t+1x2 t+2 とされる。
また、この場合、入力値として、EGR率ERを追加することもできる。一方、出力値yt、yt+1、yt+2、yt+3 は夫々、時刻t、t+1、t+2、t+3における、即ち、次のサイクルにおけるノッキング強度を代表する値の推定値ye の予測値yeeである。図36には、代表的な例として、時刻tにおける入力値および出力値の一覧表が示されている。
図37は、図34に示されるリカレントニューラルネットワークの重みを学習するための訓練データセットを示している。この訓練データセットは、第2の実施例では、図28に示される一覧表から、全サイクルに亘る一部のデータ、即ち、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye と点火時期の遅角量α又は進角量βのみを抜き出すことによって作成される。この場合、この訓練データセットでは、次のサイクルにおける第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が、ノッキング強度を代表する値の推定値ye の予測値yeeとされ、このノッキング強度を代表する値の推定値ye の予測値yeeが、教師データytとされる。
例えば、図37において、サイクルがサイクルknのときには、サイクルknのときに第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値yen と, サイクルknのときの点火時期の遅角量αが、サイクルknのときの入力値x1 t、x2 tとされ、サイクルkn+1のときに第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値yen+1 が、サイクルknのときの教師データytとされる。
この第2実施例でも、図35に示されるリカレントニューラルネットワークの入力層 ( L=1) のノード数、隠れ層 ( L=2) のノード数および出力層 ( L=3) のノード数、および、図37に示される訓練データセットが、図5に示される学習装置23のメモリ24に記憶され、学習装置23において、リカレントニューラルネットワークの重みの学習が行われる。このリカレントニューラルネットワークの重みの学習は、通常、展開表示されたリカレントニューラルネットワークの一部を切り取って誤差逆伝播を行なわせるTrancated BBPT(Backpropagation Through Time) 手法を用いて行われる。
例えば、図34が、切り取られたリカレントニューラルネットワークの一部であるとしると、図34において、時刻t−1、t、t+1、t+2における入力値x1 t−1、x2 t−1、x1 t、x2 t、x1 t+1、x2 t+1、x1 t+2、x2 t+2 を、リカレントニューラルネットワークに順次入力させ、時刻t+2においてリカレントニューラルネットワークから出力される出力値yt+3 と、対応する教師データytとの二乗誤差E(=1/2 (yt+3 -yt)2)が小さくなるように、誤差逆伝播法により、リカレントニューラルネットワークの重みの学習が行われる。このときの誤差逆伝播は時間を遡るように行われるが、詳細については説明を省略する。
第2実施例では、図37において、例えば、連続する10サイクルのデータに対し、誤差逆伝播法により、リカレントニューラルネットワークの重みの学習が行われ、連続する10サイクルのデータに対するリカレントニューラルネットワークの重みの学習が完了すると、次の連続する10サイクルのデータに対し、リカレントニューラルネットワークの重みの学習が行われる。このようにして全ての連続する10サイクルのデータに対し、重みの学習が完了するまで、リカレントニューラルネットワークの重みの学習が行われる。
図38は、重みの学習が完了した学習済みリカレントニューラルネットワークを示している。図38において、時刻tを現在の時刻とした場合、この学習済みリカレントニューラルネットワークでは、過去の時刻t−3、t−2、t−1における入力値x1 t−3、x2 t−3、x1 t−2、x2 t−2、x1 t―1、x2 t―1 と、現在の時刻tにおける入力値x1 t、x2 tを、リカレントニューラルネットワークに順次入力すると、リカレントニューラルネットワークからは、現在の時刻tにおける。ノッキング強度を代表する値の推定値yeの予測値yeeが出力される。即ち、この第2実施例では、学習済みリカレントニューラルネットワークを用いて、点火時期が遅角されたときのノッキング強度を代表する値の推定値yeの予測値yeeの推定モデルが生成される。
本発明による第2の実施例では、第1の学習済みニューラルネットワーク20により生成されたノッキング強度を代表する値の推定モデルと、学習済みのリカレントニューラルネットワークにより生成されたノッキング強度を代表する値の推定値yeの予測値yeeの推定モデルを用いて、市販車両の機関におけるノッキング処理が行われる。そのためにこれらノッキング強度を代表する値の推定モデルおよびノッキング強度を代表する値の推定値ye の予測値yeeの推定モデル、即ち、第1の学習済みニューラルネットワーク20および学習済みのリカレントニューラルネットワークが、市販車両の電子制御ユニット30内に格納される。これら推定モデルの市販車両の電子制御ユニット30への格納作用は、図11を参照しつつ既に説明したやり方と同様な方法でもって、図11に示される電子制御ユニットへのデータ読み込みルーチンを用いて行われる。
このように第1の学習済みニューラルネットワーク20および学習済みのリカレントニューラルネットワークが、市販車両の電子制御ユニット30に格納されると、電子制御ユニット30のメモリ32内には、第1の学習済みニューラルネットワーク20および学習済みのリカレントニューラルネットワークが形成される。図39は、市販車両の電子制御ユニット30のメモリ32内に形成された第1の学習済みニューラルネットワーク20および学習済みのリカレントニューラルネットワークを用いて、市販車両の機関運転時に実行されるノッキング処理を示している。このノッキング処理は、気筒毎に、個別に、一サイクル毎に実行される。本発明による第2の実施例でも、このノッキング処理は、例えば、クランク角が圧縮上死点に達したときに開始される。
図39に示されるノッキング処理は、図30に示されるノッキング処理と同様である。即ち、図39を参照すると、まず初めにステップ220において、圧力センサ19の出力値から求められるノッキング強度を代表する値、即ち、ノッキング強度代表値の推定処理が行われる。次いで、ステップ221では、ノッキングが生じているか否かのノッキング判定処理が行われ、次いで、ステップ222では、点火制御が行われる。ステップ220において行われるノッキング強度代表値の推定処理は、図13又は図14のいずれか一方に示されるノッキング強度代表値の推定ルーチンにより行われる。これらのノッキング強度代表値の推定ルーチンについては既に説明したので、これらノッキング強度代表値の推定ルーチンについては説明を省略する。なお、これらのノッキング強度代表値の推定ルーチンが実行されると、第1の学習済みニューラルネットワーク20からはノッキング強度を代表する値の推定値ye が出力される。
図40および図41は、図39のステップ220において第1の学習済みニューラルネットワーク20からノッキング強度を代表する値の推定値ye が出力されたときに、この第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye に基づき、図39のステップ221で行われるノッキング判定ルーチンを示している。図40および図41に示されるノッキング判定ルーチンのステップ230から232およびステップ235から244は、図31および図32に示されるノッキング判定ルーチンのステップ230から232およびステップ235から244と同一であり、図40および図41に示されるノッキング判定ルーチンにおいて図31および図32に示されるノッキング判定ルーチンと異なるところは、図40および図41に示されるノッキング判定ルーチンでは、ステップ230の前にステップ230aが追加されており、図31および図32に示されるノッキング判定ルーチンのステップ233および234に代えて、ステップ233aが設けられたことだけである。従って、図40および図41については、ステップ230aおよびステップ233aのみについて説明し、その他のステップについての説明は省略する。
図40および図41を参照すると、ステップ230aでは、第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye が、同一気筒に対し、予め定められた回数の点火が行われるまで、例えば、5回点火が行われるまで記憶される。一方、ステップ233aでは、予め定められた回数前の点火が行われたサイクルから、例えば、5回前に点火が行われたサイクルから現在のサイクルに至るまでの各サイクルにおいて第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye 、およびこれら各サイクルにおける点火時期の遅角量α或いは進角量βが、順次、リカレントニューラルネットワークの入力層の各ノードに入力され、それによりリカレントニューラルネットワークからは、現在のサイクルにおけるノッキング強度を代表する値の推定値yeの予測値yeeが出力される。
この第2実施例でも、ステップ235では、未学習の機関の振動が発生しているか否かを判別するために、ノッキング強度を代表する値の推定値ye の予測値yeeと第1の学習済みニューラルネットワーク20から出力されたノッキング強度を代表する値の推定値ye との差(yee ―ye)の絶対値が設定値Sよりも大きいか否かが判別され、差(yee ―ye)の絶対値が設定値Sよりも小さいと判別されたときには、ステップ236に進んで、ノイズフラグがリセットされる。次いで、ステップ239に進んで、ノッキング強度を代表する値の推定値ye が閾値Mij よりも大きいか否かが判別される。一方、差(yee ―ye)の絶対値が設定値Sよりも大きいと判別されたときには、ステップ235からステップ240に進んで、ノイズフラグがセットされる。次いで、ステップ241において、ノッキング発生フラグがリセットされ、次いで、ステップ242において、判定中止フラグがセットされる。
図42は、図40および図41に示されるノッキング判定ルーチンにおける判定結果に基づき電子制御ユニット30内で実行される点火制御ルーチンを示している。図42に示される点火制御ルーチンのステップ250から259は、図33に示される点火制御ルーチンのステップ250から259と同一であり、図42に示される点火制御ルーチンにおいて図33に示される点火制御ルーチンと異なるところは、図42に示されるノッキング判定ルーチンでは、ステップ259の後にステップ259aが追加されていることだけである。従って、図42については、ステップ259aのみについて説明し、その他のステップについての説明は省略する。
図42を参照すると、ステップ259aでは、点火時期の遅角量α或いは進角量βが、同一気筒に対し、予め定められた回数の点火が行われるまで、例えば、5回点火が行われるまで記憶される。この第2実施例でも、ノッキング発生フラグがセットされたときには、点火時期は一定量αだけ遅角され、ノッキング発生フラグがリセットされたときには、点火時期は一定量β1又はβ2αだけ進角される。
このように、本発明によれば、点火により発生する混合気の燃焼圧を検出するための圧力センサ19の出力値から求められるノッキング強度を代表する値を、機関本体の振動を検出するノッキングセンサ18の出力値から推定する第1の学習済みニューラルネットワークが記憶装置32内に記憶されている。点火時期が遅角されたときのノッキング強度を代表する値の推定値の予測値又は予測低下量を推定する第2の学習済みニューラルネットワークが記憶装置32内に記憶されている。第1の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値が予め定められた閾値を越えると次のサイクルにおける点火時期が遅角され、点火時期が遅角されたこの次のサイクルでは、第2の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値の予測値と第1の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値との差に基づいて更に次のサイクルにおける点火時期の遅角制御が行われる。この遅角制御では、この差が予め定められた設定値よりも小さいときには、ノッキング強度を代表する値の推定値が予め設定された閾値よりも大きければ、更に次のサイクルにおける点火時期の遅角作用が行われ、この差が予め定められた設定値よりも大きいときには、たとえノッキング強度を代表する値の推定値が予め設定された閾値よりも大きかったとしても、更に次のサイクルにおける点火時期の遅角作用が行われない。
一方、本発明による第1の実施例では、第2の学習済みニューラルネットワークは、機関の運転状態、点火時期の遅角量、および一つ前のサイクルにおけるノッキング強度を代表する値の推定値を入力すると、点火時期が遅角されときのノッキング強度を代表する値の推定値の予測低下量を出力する。この予測低下量から点火時期が遅角されときのノッキング強度を代表する値の推定値の予測値が求められる。この場合、本発明による第1の実施例では、機関の運転状態が、機関回転数、機関負荷およびEGR率からなる。
また、本発明による第2の実施例では、第2の学習済みニューラルネットワークは、予め定められた回数前の点火が行われたサイクルから現在のサイクルに至るまでの各サイクルにおけるノッキング強度を代表する値の推定値および点火時期の遅角量又は進角量を入力すると、現在のサイクルにおけるノッキング強度を代表する値の推定値の予測値を出力するリカレントニューラルネットワークからなる。なお、この第2の実施例では、リカレントニューラルネットワークに代えて、ゲート付きリカレントニューラルネットワーク、例えば、LSTM(Long short-term memory )を用いることもできる。
また、本発明による第1および第2の実施例では、点火時期の遅角作用が行われた後、ノッキング強度を代表する値の推定値が予め定められた閾値以下となったときに、点火時期の進角作用が開始され、点火時期の遅角作用が行われたときのノッキング強度を代表する推定値とノッキング強度を代表する推定値の予測値との差が設定値よりも大きかったときには、この差が設定値以下だったときに比べて点火時期の進角量が小さくされる。
更に、本発明による実施例では、第1の学習済みニューラルネットワークは、予め設定されている期間内においてノッキングセンサ18により検出された機関本体1の振動を表す値を入力すると、ノッキング強度を代表する値の推定値を出力する。この場合、本発明による実施例ではノッキング強度を代表する値が、圧力センサの出力値のピーク値とされるか、或いは、ノッキング強度を代表する値が、圧力センサの出力値の積分値とされる。また、本発明による実施例では、機関本体の振動を表す値が、予め設定されている期間内におけるノッキングセンサの出力値とされるか、或いは、機関本体の振動を表す値が、予め設定されている期間内において等分割された区間内におけるノッキングセンサの出力値の積分値とされる。この場合、この予め設定されている期間が、一定のクランク角度範囲とされる。
さて、前述したように、ノッキングは通常、圧縮上死点から圧縮上死点後90°までの間で発生する。従って、これまで述べた実施例では、圧縮上死点から圧縮上死点後90°までの間に取り込まれたノッキングセンサ18の出力値および圧力センサ19の出力値に基づいて、ノッキングの発生を検出している。しかしながらノッキングによる機関本体1の振動は、機関回転数によらずに、圧縮上死点後、一定時間発生する傾向がある。このような傾向を考慮すると、圧縮上死点後、一定時間の間に取り込まれたノッキングセンサ18の出力値および圧力センサ19の出力値に基づいて、ノッキングの発生を検出することが考えられる。
次に、図43および図44を参照しつつ、圧縮上死点後、一定時間の間に取り込まれたノッキングセンサ18の出力値および圧力センサ19の出力値に基づいて、第1のニューラルネットワーク20の重みの学習を行うと共に、圧縮上死点後、一定時間の間に取り込まれたノッキングセンサ18の出力値に基づいてノッキングの発生を検出するようにした実施例について説明する。機関の作動の一サイクルのうちで、ノッキングセンサ18および圧力センサ19の双方の出力値、或いは、ノッキングセンサ18の出力値が取り込まれるクランク角範囲はゲート区間と称され、図43には、この実施例におけるゲート区間(縦軸)と、機関回転数(横軸)との関係が実線で示されている。なお、横軸におけるN1,N2,N3は代表的な機関回転数を示している。
一方、図44には、各機関回転数N1,N2,N3に対するゲート区間Gが示されている。また、図44には、等間隔で分割された各分割区間内におけるノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)を算出するようにした場合における各分割区間Sが示されている。図43および図44から、この実施例では、機関回転数が高くなるほど、ゲート区間Gが長くなることがわかる。なお、図43および図44に示される例では、ノッキングセンサ18の出力値および圧力センサ19の出力値が取り込まれる期間が予め設定されており、この予め設定されている期間が、一定時間とされている。しかしながら、この予め設定されている期間は、必ずしも一定時間とする必要はなく、機関回転数が増大するにつれてゲート区間も増大するようにゲート区間を設定することもできる。
一方、これまで述べた実施例では、機関の全運転領域に対し、一つの第1の学習済みニューラルネットワークを用いて、ノッキング強度を代表する値を推定するようにしている。しかしながら、このように機関の全運転領域に対して一つの第1の学習済みニューラルネットワークしか用いないとノッキング強度を代表する値の推定精度が低下する危険性がある。このような危険性を回避するためには、機関の運転領域を複数個の運転領域に分割し、分割された運転領域毎に夫々別個のニューラルネットワークを用いることが好ましい。図45Aから図45Cは、このように分割された運転領域毎に夫々別個の第1のニューラルネットワークを用いるようにした実施例を示している。
即ち、この実施例では、図45Aから図45Cに示されるように、機関の運転領域が、機関負荷Lおよび機関回転数Nに応じて、複数個の運転領域に分割されており、図45Aに示されるように、分割された運転領域毎に夫々別個の第1のニューラルネットワークNNij が形成されている。この場合には、図45Bに示されるように、分割された運転領域毎に夫々、図9に示されるような訓練データセットDSij が作成される。分割された運転領域毎に夫々形成された第1のニューラルネットワークNNij の重みの学習は、対応する訓練データセットDSij を用い、図10に示される学習処理ルーチンを用いて行われる。また、この実施例では、図45Cに示されるように、分割された運転領域毎に、ノッキング強度代表値に対する閾値Mij が設定されている。この実施例では、分割された運転領域毎に、対応する第1の学習済みニューラルネットワークNNij を用い、図13又は図14に示されるノッキング強度代表値の推定ルーチンを用いて、ノッキング強度代表値の推定値ye が算出される。
一方、この実施例では、第2のニューラルネットワークも、図45Aに示される分割された運転領域毎に夫々形成されている。また、第2のニューラルネットワークに対する訓練データセットも、分割された運転領域毎に夫々作成され、分割された運転領域毎に夫々形成された第2のニューラルネットワークの重みの学習は、対応する訓練データセットを用いて行われる。或る運転領域の第1の学習済みニューラルネットワークNNij により、ノッキング強度代表値の推定値ye が算出されると、同じ運転領域に対して作成されている第2の学習済みニューラルネットワークを用い、図45Cに示される対応する閾値Mij を用いて、ノッキングが発生したか否かが判別される。
このようにこの実施例では、機関の運転領域が複数個の運転領域に分割されると共に、分割された各運転領域に対して夫々第1の学習済みニューラルネットワークと第2の学習済みニューラルネットワークが記憶装置内に記憶されている。分割された運転領域毎に、第2の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値の予測値と第1の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値との差に基づいて次のサイクルにおける点火時期の遅角制御が行われる。
図46および図48に、更に別の実施例を示す。この実施例では、図46に示されるように、機関本体1にノッキングセンサ18aおよびノッキングセンサ18bが取付けられており、これらノッキングセンサ18aおよびノッキングセンサ18bは、ノッキングセンサ18aの出力値の波形およびノッキングセンサ18bの出力値の波形を検出可能な検出器21、例えば、オシロスコープに接続されている。図46において、左から順に1番気筒#1、2番気筒#2、3番気筒#3、4番気筒#4と称すると、ノッキングセンサ18aは1番気筒#1および2番気筒#2から等距離の位置に配置されており、ノッキングセンサ18bは3番気筒#3および4番気筒#4から等距離の位置に配置されている。図46に示されるその他の構成は、図5に示される構成と同じであり、従って、この図46に示されるその他の構成については、説明を省略する。
図47は、この実施例において用いられる第1のニューラルネットワーク55を示している。図47を参照すると、この第1のニューラルネットワーク55においても、図3および図8に示されるニューラルネットワークと同様に、L=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。この実施例では、図47からわかるように、入力層 ( L=1) が2n個のノードからなる。一方、図47には隠れ層 ( L=2)および隠れ層 ( L=3)が記載されているが、これら隠れ層の層数は、1個又は任意の個数とすることができ、またこれら隠れ層のノードの数も任意の個数とすることができる。なお、出力層 ( L=4) のノードの数は1個とされており、出力層のノードからの出力値がyで示されている。
図47において、入力値x1、x2・・・xn−1、xnはフィルタリング後のノッキングセンサ18aの出力値であり、入力値xx1、xx2・・・xxn−1、xxnはフィルタリング後のノッキングセンサ18bの出力値である。即ち、この実施例では、両方のノッキングセンサ18aおよびノッキングセンサ18bのフィルタリング後の出力値が入力層 ( L=1) の各ノードに入力される。なお、この実施例でも、入力値x1、x2・・・xxn−1、xxnとして、図6Bに示される値か、或いは、図6Cに示される値が用いられる。即ち、図6Bに示されるように、フィルタリングされた後のノッキングセンサ18aおよびノッキングセンサ18bの出力値そのものが入力値x1、x2・・・xxn−1、xxnとされるか、或いは、図6Cに示されるように、フィルタリングされた後のノッキングセンサ18aおよびノッキングセンサ18bの出力値の積分値(負側の積分値も正の値とする)であって例えば一定クランク角度内におけるノッキングセンサ18aおよびノッキングセンサ18bの出力値の積分値が入力値x1、x2・・・xxn−1、xxnとされる。
一方、図47に示される出力値yとしては、図8に示される場合と同様に、圧力センサ19の出力値から求められるノッキング強度を代表する値が採用されている。この場合、図8に示される場合と同様に、図7Bにおいて丸印で示されるフィルタリング後の圧力センサ19の出力値のピーク値が出力値yとして用いられるか、或いは、図7Cに示されるフィルタリング後の圧力センサ19の出力値の積分値(負側の積分値も正の値とする)が出力値yとして用いられる。なお、この実施例においても、圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値が教師データytとされる。
図48は、入力値x1、x2・・・xxm−1、xxmと、圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値、即ち、教師データytとを用いて作成された訓練データセットを示している。図48に示されるように、この訓練データセットでは、入力値x1、x2・・・xxn−1、xxnと教師データytとの関係を表すm個のデータが取得されている。この訓練データセットの作成方法は、既に説明した図9に示される訓練データセットの作成方法と同じである。即ち、訓練データセットを作成する際には、図46において、機関負荷および機関回転数の種々の組み合わせについてノッキングの発生しない運転状態とノッキングの発生する運転状態の双方の状態が生ずるように機関を運転させ、そのとき各検出器21、22から得られたデータに基づいて、図48に示されるような訓練データセットが作成される。
訓練データセットが作成されると、作成された訓練データセットの電子データを用いて、図47に示される第1のニューラルネットワーク55の重みの学習が行われる。この第1のニューラルネットワークの重みの学習方法は、図5を参照しつつ前述した第1のニューラルネットワークの重みの学習方法と同じである。即ち、図47に示される第1のニューラルネットワーク55の重みの学習を行うときには、この第1のニューラルネットワーク55のノード数、および作成された訓練データセットの電子データが、図46に示される学習装置23のメモリ24に記憶され、CPU25において、図10に示される学習処理ルーチンを用いて、第1のニューラルネットワーク55の重みの学習が行われる。
このように、この実施例では、機関本体1の振動を検出する複数個のノッキングセンサ18aおよび18bを具備している。第1の学習済みニューラルネットワーク55は、複数個のノッキングセンサ18aおよび18bにより検出された機関本体1の振動を表す値を入力すると、ノッキング強度を代表する値を出力する。このように複数個のノッキングセンサ18aおよび18bを用い、両方のノッキングセンサ18aおよび18bの出力値を用いて、第1のニューラルネットワーク55の重みの学習が行われると、一つのノッキングセンサを用いたときよりも、取得できる情報量が増大するために、ノッキング強度を代表する値を精度よく推定することができる。
1 機関本体
5 燃焼室
11 点火栓
18、18a、18b ノッキングセンサ
19 圧力センサ
20,55 第1のニューラルネットワーク
23 学習装置
30 電子制御ユニット
50 第2のニューラルネットワーク
5 燃焼室
11 点火栓
18、18a、18b ノッキングセンサ
19 圧力センサ
20,55 第1のニューラルネットワーク
23 学習装置
30 電子制御ユニット
50 第2のニューラルネットワーク
Claims (14)
- 点火により発生する混合気の燃焼圧を検出するための圧力センサの出力値から求められるノッキング強度を代表する値を、機関本体の振動を検出するノッキングセンサの出力値から推定する第1の学習済みニューラルネットワークが記憶装置内に記憶されており、点火時期が遅角されたときの該ノッキング強度を代表する値の推定値の予測値又は予測低下量を推定する第2の学習済みニューラルネットワークが記憶装置内に記憶されており、該第1の学習済みニューラルネットワークを用いて算出されたノッキング強度を代表する値の推定値が予め定められた閾値を越えると次のサイクルにおける点火時期が遅角され、点火時期が遅角された該次のサイクルでは、第2の学習済みニューラルネットワークを用いて算出された該ノッキング強度を代表する値の推定値の予測値と第1の学習済みニューラルネットワークを用いて算出された該ノッキング強度を代表する値の推定値との差に基づいて更に次のサイクルにおける点火時期の遅角制御が行われ、この遅角制御では、該差が予め定められた設定値よりも小さいときには、該ノッキング強度を代表する値の推定値が予め設定された閾値よりも大きければ、該更に次のサイクルにおける点火時期の遅角作用が行われ、該差が予め定められた設定値よりも大きいときには、たとえ該ノッキング強度を代表する値の推定値が予め設定された閾値よりも大きかったとしても、該更に次のサイクルにおける点火時期の遅角作用が行われない内燃機関の点火時期制御装置。
- 該第2の学習済みニューラルネットワークは、機関の運転状態、点火時期の遅角量、および一つ前のサイクルにおけるノッキング強度を代表する値の推定値を入力すると、点火時期が遅角されときのノッキング強度を代表する値の推定値の予測低下量を出力し、該予測低下量から点火時期が遅角されたときのノッキング強度を代表する値の推定値の予測値が求められる請求項1に記載の内燃機関の点火時期制御装置。
- 該機関の運転状態が、機関回転数、機関負荷およびEGR率からなる請求項2に記載の内燃機関の点火時期制御装置。
- 該第2の学習済みニューラルネットワークは、予め定められた回数前の点火が行われたサイクルから現在のサイクルに至るまでの各サイクルにおけるノッキング強度を代表する値の推定値および点火時期の遅角量又は進角量を入力すると、現在のサイクルにおけるノッキング強度を代表する値の推定値の予測値を出力するリカレントニューラルネットワークからなる請求項1に記載の内燃機関の点火時期制御装置。
- 点火時期の遅角作用が行われた後、該ノッキング強度を代表する値の推定値が予め定められた閾値以下となったときに、点火時期の進角作用が開始され、点火時期の遅角作用が行われたときの上記差が設定値よりも大きかったときには該差が設定値以下だったときに比べて点火時期の進角量が小さくされる請求項1に記載の内燃機関の点火時期制御装置。
- 該第1の学習済みニューラルネットワークは、予め設定されている期間内においてノッキングセンサにより検出された機関本体の振動を表す値を入力すると、該ノッキング強度を代表する値の推定値を出力する請求項1に記載の内燃機関の点火時期制御装置。
- 該ノッキング強度を代表する値が、圧力センサの出力値のピーク値である請求項6に記載の内燃機関の点火時期制御装置。
- 該ノッキング強度を代表する値が、圧力センサの出力値の積分値である請求項6に記載の内燃機関の点火時期制御装置。
- 機関本体の振動を表す値が、該予め設定されている期間内におけるノッキングセンサの出力値である請求項6に記載の内燃機関の点火時期制御装置。
- 機関本体の振動を表す値が、該予め設定されている期間内において等分割された区間内におけるノッキングセンサの出力値の積分値である請求項6に記載の内燃機関のノッキング検出装置。
- 該予め設定されている期間が、一定のクランク角度範囲である請求項6に記載の内燃機関の点火時期制御装置。
- 該予め設定されている期間が、一定時間である請求項6に記載の内燃機関の点火時期制御装置。
- 機関の運転領域が複数個の運転領域に分割されると共に、分割された各運転領域に対して夫々第1の学習済みニューラルネットワークと第2の学習済みニューラルネットワークが記憶装置内に記憶されており、分割された運転領域毎に、第2の学習済みニューラルネットワークを用いて算出された該ノッキング強度を代表する値の推定値の予測値と第1の学習済みニューラルネットワークを用いて算出された該ノッキング強度を代表する値の推定値との差に基づいて上記更に次のサイクルにおける点火時期の遅角制御が行われる請求項1に記載の内燃機関の点火時期制御装置。
- 機関本体の振動を検出する複数個のノッキングセンサを具備しており、第1の学習済みニューラルネットワークは、該複数個のノッキングセンサにより検出された機関本体の振動を表す値を入力すると、ノッキング強度を代表する値を出力する請求項1に記載の内燃機関の点火時期制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020040259A JP2021050729A (ja) | 2020-03-09 | 2020-03-09 | 内燃機関の点火時期制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020040259A JP2021050729A (ja) | 2020-03-09 | 2020-03-09 | 内燃機関の点火時期制御装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019173169A Division JP6683283B1 (ja) | 2019-09-24 | 2019-09-24 | 内燃機関の点火時期制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021050729A true JP2021050729A (ja) | 2021-04-01 |
Family
ID=75157447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020040259A Pending JP2021050729A (ja) | 2020-03-09 | 2020-03-09 | 内燃機関の点火時期制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021050729A (ja) |
-
2020
- 2020-03-09 JP JP2020040259A patent/JP2021050729A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6683283B1 (ja) | 内燃機関の点火時期制御装置 | |
JP6733752B1 (ja) | 内燃機関のノッキング検出装置およびノッキング検出方法 | |
JP6683282B1 (ja) | 内燃機関の点火時期制御装置 | |
CN112629650B (zh) | 内燃机的点火正时控制装置 | |
US20210239064A1 (en) | System and method for detecting malfunctioning turbo-diesel cylinders | |
JP2007533911A (ja) | 圧力関係の値用の個々の推量器を備える仮想シリンダ圧力センサ | |
US20180066593A1 (en) | Control Device for Internal Combustion Engine and Abnormal Combustion Detecting Method | |
CN103256166B (zh) | 内燃机的爆震控制装置 | |
US6397669B1 (en) | Method and arrangement for evaluating combustion processes in an internal combustion engine | |
KR20210027138A (ko) | 내연 기관의 실화를 진단하기 위한 방법 | |
JPH06146998A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP5826054B2 (ja) | 内燃機関のノック検出装置 | |
CN110475958A (zh) | 用于管理受控点火内燃发动机中的爆震的方法 | |
JP2021050729A (ja) | 内燃機関の点火時期制御装置 | |
JP2021050730A (ja) | 内燃機関の点火時期制御装置 | |
JP2020143671A (ja) | 内燃機関のノッキング検出装置およびノッキング検出方法 | |
JP2021050728A (ja) | 内燃機関の点火時期制御装置 | |
KR102300965B1 (ko) | 다기통 엔진의 실화 진단 방법 및 장치 | |
JP5851361B2 (ja) | 内燃機関の診断装置 | |
JP2001323839A (ja) | 内燃機関の失火検出装置 | |
JPH04101051A (ja) | 内燃機関の失火検出装置及び方法 | |
JP2017190767A (ja) | 内燃機関のノッキング検出装置 |