JP2020143671A - 内燃機関のノッキング検出装置およびノッキング検出方法 - Google Patents
内燃機関のノッキング検出装置およびノッキング検出方法 Download PDFInfo
- Publication number
- JP2020143671A JP2020143671A JP2020073674A JP2020073674A JP2020143671A JP 2020143671 A JP2020143671 A JP 2020143671A JP 2020073674 A JP2020073674 A JP 2020073674A JP 2020073674 A JP2020073674 A JP 2020073674A JP 2020143671 A JP2020143671 A JP 2020143671A
- Authority
- JP
- Japan
- Prior art keywords
- knocking
- value
- neural network
- sensor
- value representing
- 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
Landscapes
- Measuring Fluid Pressure (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Testing Of Engines (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】ノッキングセンサの出力値から圧力センサの出力値を推定する。【解決手段】機関本体(1)の振動を検出するノッキングセンサ(18)と、燃焼室(5)内の圧力を検出する圧力センサ(19)を具備する。圧力センサ(19)の出力値からノッキング強度を代表する値が取得される。ノッキングセンサ(18)により検出された機関本体(1)の振動を表す値をニューラルネットワークの入力値すると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワークの重みが学習される。学習済みのニューラルネットワークを用いてノッキングセンサ(18)の出力値からノッキング強度を代表する値が推定される。【選択図】図5
Description
本発明は内燃機関のノッキング検出装置およびノッキング検出方法に関する。
内燃機関では、燃焼室内において末端ガスが自着火すると圧力波が発生し、機関本体が振動してノッキングが生ずる。ノッキングが生ずると機関本体が振動し、この場合、ノッキング強度が高くなるほど機関本体の振動が激しくなる。そこで、機関本体に機関本体の振動を検出するノッキングセンサを取り付け、ノッキングセンサにより検出された機関本体の振動の激しさからノッキング強度を検出するようにした内燃機関が公知である(例えば特許文献1を参照)。しかしながら機関本体は、例えば、吸気弁および排気弁の着座作用や、燃料噴射弁のニードルの着座作用等の機械的動作によっても振動し、従って、機関本体の振動を検出するようにしたノッキングセンサを用いると、このような機械的動作が原因で機関本体の振動強度が激しくなったときに、ノッキング強度が高くないにも拘わらず、ノッキング強度が高いと誤判定してしまうという問題がある。
一方、ノッキングが生じたときには、ノッキング強度が高くなるほど燃焼室内の圧力の変動が激しくなる。従って、燃焼室内の圧力を検出可能な圧力センサを用いると、この圧力センサの出力値の変動の激しさからノッキング強度を検出できることになる。この場合、例えば、ノッキング強度が高くなると、圧力センサの出力値のピーク値が高くなり、従って、この圧力センサの出力値のピーク値は、ノッキング強度を代表する値の一つであると言える。従って、このようなノッキング強度を代表する値から、ノッキング強度を検出することができることになる。この場合、機械的動作に基づく機関本体の振動は、圧力センサの出力値に影響を与えず、従って、ノッキング強度を代表する値にも影響を与えないので、圧力センサを用いると、ノッキング強度を精度よく検出することができることになる。
しかしながら、この圧力センサは極めて高価である。しかも圧力センサは長期間使用されると、圧力センサにデポジットが徐々に付着し、この付着したデポジットによって燃焼室内における混合気の燃焼形態が変化してしまう。従って、市販車に対して、このような圧力センサを用いることは難しい。
そこで、本発明では、圧力センサの出力値から求められるノッキング強度を代表する値を、ニューラルネットワークを用いて、ノッキングセンサの出力値から推定するようにしている。
そこで、本発明では、圧力センサの出力値から求められるノッキング強度を代表する値を、ニューラルネットワークを用いて、ノッキングセンサの出力値から推定するようにしている。
即ち、1番目の発明によれば、機関本体の振動を検出するノッキングセンサと、内燃機関の燃焼室内の圧力を検出する圧力センサと、ニューラルネットワークを用いて内燃機関のノッキング強度を代表する値を推定するための学習装置とを具備しており、圧力センサの出力値からノッキング強度を代表する値が取得され、学習装置により、ノッキングセンサにより検出された機関本体の振動を表す値をニューラルネットワークの入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワークの重みが学習され、学習済みのニューラルネットワークを用いてノッキングセンサの出力値からノッキング強度を代表する値が推定される内燃機関のノッキング検出装置が提供される。
2番目の発明によれば、機関本体の振動を検出するノッキングセンサの出力値と、内燃機関の燃焼室内の圧力を検出する圧力センサの出力値とに基づき、ニューラルネットワークを用いて内燃機関のノッキング強度を推定する内燃機関のノッキング検出方法において、圧力センサの出力値からノッキング強度を代表する値を求め、ノッキングセンサにより検出された機関本体の振動を表す値とノッキング強度を代表する値との関係を示す訓練データセットを作成し、ノッキングセンサにより検出された機関本体の振動を表す値をニューラルネットワークの入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワークの重みを学習し、学習済みのニューラルネットワークを用いてノッキングセンサの出力値からノッキング強度を代表する値を推定する内燃機関のノッキング検出方法が提供される。
1番目および2番目のいずれの発明においても、圧力センサの出力値から求められるノッキング強度を代表する値を、圧力センサを用いることなく、高い精度で得ることができる。
<内燃機関の全体構成>
図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に連結される。
図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に連結される。
図1および図2に示されるように、図1に示される実施例では、シリンダブロック2に、シリンダブロック2の振動、即ち、機関本体1の振動を検出するためのノッキングセンサ18が取り付られている。図1に示される例では、このノッキングセンサ18では、振動の検出素子として圧電素子が用いられており、このノッキングセンサ18は機関本体1の振動に比例した出力電圧を発生する。なお、ノッキングが発生すると、機関本体1には、周波数が5KHzから20KHz程度の振動が発生し、このときノッキングセンサ18の出力電圧は、周波数が5KHzから20KHz程度で変動する。従って、ノッキングセンサ18の出力電圧の変動、即ち、ノッキングセンサ18の出力値の変動から、ノッキングの発生を検出することができることになる。
一方、図1において30は、機関の運転を制御するための電子制御ユニットを示している。図1に示されるように、電子制御ユニット30はデジタルコンピュータからなり、双方向性バス31によって互いに接続された記憶装置32、即ち、メモリ32と、CPU(マイクロプロセッサ)33と、入力ポート34および出力ポート35を具備する。入力ポート34には、ノッキングセンサ18の出力信号が、対応するAD変換器36および5KHzから20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタ37を介して入力される。また、入力ポート34には、吸入空気量検出器15の出力信号が、対応するAD変換器36を介して入力される。また、アクセルペダル40にはアクセルペダル40の踏込み量に比例した出力電圧を発生する負荷センサ41が接続され、負荷センサ41の出力電圧は対応するAD変換器36を介して入力ポート34に入力される。更に入力ポート34にはクランクシャフトが例えば30°回転する毎に出力パルスを発生するクランク角センサ42が接続される。CPU33内ではクランク角センサ42の出力信号に基づいて機関回転数が算出される。一方、出力ポート35は対応する駆動回路38を介して各気筒の燃料噴射弁10および点火栓11に接続される。
<ニューラルネットワークの概要>
<ニューラルネットワークの概要>
本発明による実施例では、ニューラルネットワークを用いてノッキング強度を代表する値を推定するようにしている。そこで最初にニューラルネットワークについて簡単に説明する。図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内の圧力を検出することのできる圧力センサを用いると、この圧力センサの出力値の変動の激しさからノッキング強度を検出できる。この場合、例えば、ノッキング強度が高くなると、圧力センサの出力値のピーク値が高くなり、従って、この圧力センサの出力値のピーク値は、ノッキング強度を代表する値の一つであると言える。従って、このようなノッキング強度を代表する値から、ノッキング強度を検出することができることになる。この場合、機械的動作に基づく機関本体の振動は、圧力センサの出力値に影響を与えず、従って、ノッキング強度を代表する値にも影響を与えないので、圧力センサを用いると、ノッキング強度を精度よく検出することができることになる。
しかしながら、この圧力センサは高価であり、しかも圧力センサに徐々に付着するデポジットにより燃焼室5内における混合気の燃焼形態が変化してしまうので、市販車において、このような圧力センサを用いることは難しい。そこで、本発明では、圧力センサの出力値から求められるノッキング強度を代表する値を、ニューラルネットワークを用いて、ノッキングセンサの出力値から推定するようにしている。このことを説明するに当たり、最初に、図4、図5、図6Aから図6Cおよび図7Aから図7Cを参照しつつ、ノッキングセンサの出力値と、圧力センサの出力値並びに圧力センサの出力値から求められるノッキング強度を代表する値について説明する。
図4は、図2に示されるシリンダヘッド3の底面図を示しており、図5は、図1に示される機関本体1の一部を示している。図4および図5を参照すると、圧力センサの出力値から求められるノッキング強度を代表する値を、ノッキングセンサ18の出力値から推定するために、各気筒のシリンダヘッド3の内壁面上には、夫々圧力センサ19が配置されている。各圧力センサ19からは、夫々対応する燃焼室5内の圧力に比例した出力電圧、即ち、燃焼室5内の圧力を示す出力値が出力される。なお、この場合、燃焼室5内の圧力は、点火栓と一体型の圧力センサを用いて計測することもできる。また、各圧力センサ19は、学習に必要なデータを取得するためだけに用いられている。
さて、ノッキングは通常、圧縮上死点から圧縮上死点後90°までの間に発生し、ノッキングが発生したときには、周波数が5KHzから20KHz程度の燃焼室5内の圧力変動および周波数が5KHzから20KHz程度の機関本体1の振動が発生する。従って、ノッキングによる機関本体1の振動のみを抽出するために、通常、ノッキングセンサ18の出力値は、AD変換された後、例えば5KHzから20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後のノッキングセンサ18の出力値に基づいて、ノッキングの強度が判別される。
同様に、ノッキングによる燃焼室5内の圧力変動のみを抽出するために、通常、圧力センサ19の出力値も、AD変換された後、例えば5KHzから20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後の圧力センサ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の出力値から求められるノッキング強度を代表する値を取得し得るようにニューラルネットワークの重みを学習する方法について説明する。
最初に、このとき用いられるニューラルネットワークについて図8を参照しつつ説明する。図8を参照すると、このニューラルネットワーク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に示されるニューラルネットワーク20の重みの学習が行われる。そこで次に、図9に示される訓練データセットの作成方法について説明する。
図4および図5には、訓練データセットの作成方法の一例が示されている。図4および図5を参照すると、各気筒の燃焼室5に面するシリンダヘッド3の内壁面上には、ノッキング強度を代表する値を取得するために、夫々圧力センサ19が配置されている。これら圧力センサ19は、学習に必要なデータの取得が完了するとシリンダヘッド3から取り除かれ、圧力センサ19の挿入されていた孔は閉塞される。さて、図5に示される例では、ノッキングセンサ18は、ノッキングセンサ18の出力値の波形を検出可能な検出器21、例えば、オシロスコープに接続され、各圧力センサ19は、各圧力センサ19の出力値の波形を検出可能な検出器22、例えば、オシロスコープに接続される。
検出器21内では、ノッキングによる機関本体1の振動のみを抽出するために、ノッキングセンサ18の出力値は、AD変換された後、例えば5KHzから20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後のノッキングセンサ18の出力値の波形が検出される。一方、検出器22では、ノッキングによる燃焼室5内の圧力変動のみを抽出するために、圧力センサ19の出力値は、AD変換された後、例えば5KHzから20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタに送り込まれ、このデジタルバンドパスフィルタによりフィルタリングされた後の圧力センサ19の出力値の波形が検出される。
訓練データセットを作成する際には、機関負荷および機関回転数の種々の組み合わせについてノッキングの発生しない運転状態とノッキングの発生する運転状態の双方の状態が生ずるように機関を運転させ、そのとき各検出器21、22から得られたフィルタリング後の圧力センサ19の出力値の波形データおよびフィルタリング後の圧力センサ19の出力値の波形データに基づいて、図9に示されるような訓練データセットが作成される。この場合、この訓練データセットは、各検出器21、22から得られた波形データに基づき、手作業でもって作成することもできるし、各検出器21、22から得られた電子データに基づき、電子的に作成することもできる。このようにして作成された訓練データセットの電子データを用いて、図8に示されるニューラルネットワーク20の重みの学習が行われる。
図5に示される例では、ニューラルネットワークの重みの学習を行うための学習装置23が設けられている。図5に示されるように、この学習装置23は、記憶装置24、即ち、メモリ24と、CPU(マイクロプロセッサ)25を具備している。図5に示される例では、図8に示されるニューラルネットワーク20のノード数、および作成された訓練データセットの電子データが学習装置23のメモリ24に記憶され、CPU25においてニューラルネットワーク20の重みの学習が行われる。この場合、ニューラルネットワーク20の重みの学習を、図1に示される電子制御ユニット30により行うこともできる。この場合には、図8に示されるニューラルネットワーク20のノード数、および作成された訓練データセットの電子データが電子制御ユニット30のメモリ32に記憶され、CPU33においてニューラルネットワーク20の重みの学習が行われる。この場合には、電子制御ユニット30が学習装置を形成している。
次に、入力値x1、x2・・・xn−1、xnとして、上死点から上死点後90°までの間においてクランク角度5°毎に分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)を用い、教師データytとして、圧力センサ19の出力値のピーク値の実測値を用い、図5に示される学習装置23を用いた場合を例にとって、ニューラルネットワーク20の重みの学習を行うようにした場合について説明する。
図10は、学習装置23において行われるニューラルネットワークの重みの学習処理ルーチンを示す。
図10を参照すると、まず初めに、ステップ100において、学習装置23のメモリ24に記憶されている訓練データセットの各データが読み込まれる。次いで、ステップ101において、ニューラルネットワーク20の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数が読み込まれ、これらノード数に基づいて、図8に示されるようなニューラルネットワーク20が作成される。この場合、この例では、入力層 ( L=1) のノード数は18個とされ、出力層 ( L=4) のノード数は1個とされる。
図10を参照すると、まず初めに、ステップ100において、学習装置23のメモリ24に記憶されている訓練データセットの各データが読み込まれる。次いで、ステップ101において、ニューラルネットワーク20の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数が読み込まれ、これらノード数に基づいて、図8に示されるようなニューラルネットワーク20が作成される。この場合、この例では、入力層 ( L=1) のノード数は18個とされ、出力層 ( L=4) のノード数は1個とされる。
次いで、ステップ102では、ニューラルネットワーク20の重みの学習が行われる。最初は、図9の1番目(No. 1)の入力値x1、x2・・・xn−1、xn、即ち、入力値x1、x2・・・x17、x18がニューラルネットワーク20の入力層 ( L=1) の18個の各ノードに入力される。次いで、このときのニューラルネットワーク20の出力値yと1番目(No. 1)の教師データyt1との間の二乗誤差E=1/2(y−yt1)2が算出され、この二乗誤差Eが小さくなるように、前述した誤差逆伝播法を用いて、ニューラルネットワーク20の重みの学習が行われる。
図9の1番目(No. 1)のデータに基づくニューラルネットワーク20の重みの学習が完了すると、次に、図9の2番目(No. 2)のデータに基づくニューラルネットワーク20の重みの学習が、誤差逆伝播法を用いて行われる。同様にして、図9のm番目(No. m)まで順次、ニューラルネットワーク20の重みの学習が行われる。図9の1番目(No. 1)からm番目(No. m)までの全てについてニューラルネットワーク20の重みの学習が完了すると、ステップ103に進む。
ステップ103では、例えば、図9の1番目(No. 1)からm番目(No. m)までの全てのニューラルネットワークの出力値yと教師データytとの間の二乗和誤差Eが算出され、この二乗和誤差Eが、予め設定された設定誤差以下になったか否かが判別される。二乗和誤差Eが、予め設定された設定誤差以下になったと判別されたときには、ステップ104に進んで、ニューラルネットワーク20の学習済み重みが学習装置23のメモリ24に記憶される。次いで、学習ルーチンを終了する。これに対し、二乗和誤差Eが、予め設定された設定誤差以下になっていないと判別されたときには、ステップ102に戻り、再度、図9に示される訓練データセットに基づいて、ニューラルネットワークの重み学習が行われる。次いで、二乗和誤差Eが、予め設定された設定誤差以下になるまで、ニューラルネットワークの重みの学習が続行される。
上述したように、ニューラルネットワークの重みの学習は、電子制御ユニット30においても行うことができる。この場合、図10に示されるニューラルネットワークの重みの学習処理ルーチンは、電子制御ユニット30において実行され、ニューラルネットワーク20の学習済みの重みが電子制御ユニット30のメモリ32に記憶される。一方、学習装置23においてニューラルネットワークの重みの学習が行われた場合には、学習装置23において取得されたニューラルネットワーク20の学習済みの重みを用い、電子制御ユニット30において行われる図11に示されるデータ読み込みルーチンを用いて、電子制御ユニット30内にニューラルネットワークが作成される。
即ち、図11に示されるように、ステップ110において、ニューラルネットワーク20の入力層 ( L=1) のノード数、隠れ層 ( L=2)および隠れ層 ( L=3)のノード数および出力層 ( L=4) のノード数が読み込まれる。次いで、ステップ111において、学習装置23において取得されたニューラルネットワーク20の学習済みの重みが電子制御ユニット30のメモリ32に記憶される。これらノード数および学習済みの重みに基づいて、電子制御ユニット30内に学習済みのニューラルネットワーク20が作成される。
さて、電子制御ユニット30内に学習済みのニューラルネットワーク20が作成されると、クランク角度5°毎に分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)をこの学習済みのニューラルネットワーク20に入力したときに、ニューラルネットワーク20からは、圧力センサ19の出力値から求められるノッキング強度を代表する値の推定値が出力される。このノッキング強度を代表する値の推定値は、ノッキング強度を代表する値の実測値に極めて近く、従って、ノッキングセンサ18の出力値から、ノッキング強度を正確に推定できることになる。
このように、本発明による実施例では、機関本体1の振動を検出するノッキングセンサ18と、内燃機関の燃焼室5内の圧力を検出する圧力センサ19と、ニューラルネットワーク20を用いて内燃機関のノッキング強度を代表する値を推定するための学習装置23(この学習装置23には電子制御ユニット30も含まれる)とが設けられている。圧力センサ19の出力値からノッキング強度を代表する値が取得される。学習装置23により、ノッキングセンサ18により検出された機関本体1の振動を表す値をニューラルネットワーク20の入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワーク20の重みが学習され、学習済みのニューラルネットワーク20を用いてノッキングセンサ18の出力値からノッキング強度を代表する値が推定される。
また、本発明による実施例では、機関本体1の振動を検出するノッキングセンサ18の出力値と、内燃機関の燃焼室5内の圧力を検出する圧力センサ19の出力値とに基づき、ニューラルネットワーク20を用いて内燃機関のノッキング強度が推定される。圧力センサ19の出力値からノッキング強度を代表する値が求められ、ノッキングセンサ18により検出された機関本体1の振動を表す値とノッキング強度を代表する値との関係を示す訓練データセットが作成される。ノッキングセンサ18により検出された機関本体1の振動を表す値をニューラルネットワーク20の入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワーク20の重みが学習される。学習済みのニューラルネットワーク20を用いてノッキングセンサ18の出力値からノッキング強度を代表する値が推定される。
この場合、本発明による実施例では、ノッキング強度を代表する値が、予め設定されている期間内における圧力センサ19の出力値のピーク値であり、或いは、ノッキング強度を代表する値が、予め設定されている期間内における圧力センサ19の出力値の積分値である。この場合、予め設定されている期間が、一定のクランク角度範囲、例えば、圧縮上死点から圧縮上死点後90°の範囲である。
一方、本発明による実施例では、機関本体1の振動を表す値が、予め設定されている期間内におけるノッキングセンサ18の出力値であり、機関本体1の振動を表す値が、予め設定されている期間内において等分割された区間内におけるノッキングセンサ18の出力値の積分値である。この場合、予め設定されている期間が、一定のクランク角度範囲、例えば、圧縮上死点から圧縮上死点後90°の範囲である。また、ノッキングセンサ18の出力値の積分値に関し、一例を挙げると、このノッキングセンサ18の出力値の積分値は、クランク角度5°毎に等分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)である。
上述したように、図1に示される電子制御ユニット30のメモリ32内には、ニューラルネットワーク20の学習済みの重み係数が記憶されている。即ち、図1に示される電子制御ユニット30内には学習済みのニューラルネットワーク20が形成されている。図12は、学習済みのニューラルネットワーク20を用いて、電子制御ユニット30内において、車両運転時に行われるノッキング処理ルーチンを示している。図12に示されるように、このノッキング処理ルーチンが実行されると、まず初めにステップ120において、圧力センサ19の出力値から求められるノッキング強度を代表する値、即ち、ノッキング強度代表値の推定処理が行われる。次いで、ステップ121では、ノッキングが生じているか否かのノッキング判定処理が行われ、次いで、ステップ122では、点火制御が行われる。
図13は、図12のステップ120において行われるノッキング強度代表値の推定処理ルーチンの一実施例を示している。このルーチンは、一定クランク角毎、或いは、一定時間毎の割り込みにより実行される。図13を参照すると、まず初めに、ステップ130において、ノッキングセンサ18の出力信号の取り込み期間中であるか否かが判別される。この実施例では、ノッキングセンサ18の出力信号の取り込み期間が圧縮上死点から圧縮上死点後90°までの間とされている。従って、クランク角が圧縮上死点前であるときには、処理サイクルを終了し、クランク角が圧縮上死点を過ぎるとノッキングセンサ18の出力信号の取り込み期間中であると判別され、ステップ131に進む。
ステップ131では、ノッキングセンサ18の出力信号が、対応するAD変換器36および例えば5KHzから20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタ37を介して取り込まれる。即ち、フィルタリング後のノッキングセンサ18の出力値が取り込まれる。次いで、ステップ132では、取り込まれたフィルタリング後のノッキングセンサ18の出力値が電子制御ユニット30のメモリ32内に記憶される。次いで、ステップ133では、ノッキングセンサ18の出力信号の取り込み期間が終了したか否かが判別される。即ち、クランク角が圧縮上死点後90°に達したか否かが判別される。ステップ133において、ノッキングセンサ18の出力信号の取り込み期間が終了していないと判別されたとき、即ち、クランク角が圧縮上死点後90°に達していないと判別されたときには処理サイクルを終了する。
これに対し、ステップ133において、ノッキングセンサ18の出力信号の取り込み期間が終了したと判別されたとき、即ち、クランク角が圧縮上死点後90°に達したと判別されたときにはステップ134に進む。このときメモリ32内には図6Bの黒丸で示すようなフィルタリング後のノッキングセンサ18の出力値が記憶されている。ステップ134では、このメモリ32内に記憶されているフィルタリング後のノッキングセンサ18の出力値が、学習済みのニューラルネットワーク20の入力層 ( L=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から20KHz程度の周波数の入力信号のみを通過させるデジタルバンドパスフィルタ37を介して取り込まれる。即ち、フィルタリング後のノッキングセンサ18の出力値が取り込まれる。次いで、ステップ142では、取り込まれたフィルタリング後のノッキングセンサ18の出力値が電子制御ユニット30のメモリ32内に記憶される。次いで、ステップ143では、ノッキングセンサ18の出力信号の取り込み期間が終了したか否かが判別される。即ち、クランク角が圧縮上死点後90°に達したか否かが判別される。ステップ143において、ノッキングセンサ18の出力信号の取り込み期間が終了していないと判別されたとき、即ち、クランク角が圧縮上死点後90°に達していないと判別されたときには処理サイクルを終了する。
これに対し、ステップ143において、ノッキングセンサ18の出力信号の取り込み期間が終了したと判別されたとき、即ち、クランク角が圧縮上死点後90°に達したと判別されたときにはステップ144に進む。ステップ144では、メモリ32内に記憶されているフィルタリング後のノッキングセンサ18の出力値に基づいて、図6Cを参照しつつ説明したように、クランク角度5°毎に分割された各区間内におけるフィルタリング後のノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)が算出される。次いで、ステップ145では、フィルタリング後のノッキングセンサ18の出力値の算出された各積分値が、学習済みのニューラルネットワーク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 よりも大きいと判別されたときにはステップ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か負になったときにはステップ165に進んで点火時期遅角量ΔIGを零とした後、ステップ166に進む。
さて、前述したように、ノッキングは通常、上死点から上死点後90°までの間で発生する。従って、これまで述べた実施例では、上死点から上死点後90°までの間に取り込まれたノッキングセンサ18の出力値および圧力センサ19の出力値に基づいて、ノッキングの発生を検出している。しかしながらノッキングによる機関本体1の振動は、機関回転数によらずに、圧縮上死点後、一定時間発生する傾向がある。このような傾向を考慮すると、圧縮上死点後、一定時間の間に取り込まれたノッキングセンサ18の出力値および圧力センサ19の出力値に基づいて、ノッキングの発生を検出することが考えられる。
次に、図19および図20を参照しつつ、圧縮上死点後、一定時間の間に取り込まれたノッキングセンサ18の出力値および圧力センサ19の出力値に基づいて、ノッキングの発生を検出するようにした実施例について説明する。機関の作動の一サイクルのうちで、ノッキングセンサ18の出力値および圧力センサ19の出力値が取り込まれるクランク角範囲はゲート区間と称され、図19には、この実施例におけるゲート区間(縦軸)と、機関回転数(横軸)との関係が実線で示されている。なお、横軸におけるN1,N2,N3は代表的な機関回転数を示している。
一方、図20には、各機関回転数N1,N2,N3に対するゲート区間Gが示されている。また、図20には、等間隔で分割された各分割区間内におけるノッキングセンサ18の出力値の積分値(負側の積分値も正の値とする)を算出するようにした場合における各分割区間Sが示されている。図19および図20から、この実施例では、機関回転数が高くなるほど、ゲート区間Gが長くなることがわかる。なお、図19および図20に示される例では、ノッキングセンサ18の出力値および圧力センサ19の出力値が取り込まれる期間が予め設定されており、この予め設定されている期間が、一定時間とされている。しかしながら、この予め設定されている期間は、必ずしも一定時間とする必要はなく、機関回転数が増大するにつれてゲート区間も増大するようにゲート区間を設定することもできる。
一方、これまで述べた実施例では、機関の全運転領域に対し、一つのニューラルネットワークを用いて、ノッキング強度を代表する値を推定するようにしている。しかしながら、このように機関の全運転領域に対して一つのニューラルネットワークしか用いないとノッキング強度を代表する値の推定精度が低下する危険性がある。このような危険性を回避するためには、機関の運転領域を複数個の運転領域に分割し、分割された運転領域毎に夫々別個のニューラルネットワークを用いることが好ましい。図21Aから図21Cは、このように分割された運転領域毎に夫々別個のニューラルネットワークを用いるようにした実施例を示している。
即ち、この実施例では、図21Aから図21Cに示されるように、機関の運転領域が、機関負荷Lおよび機関回転数Nに応じて、複数個の運転領域に分割されており、図21Aに示されるように、分割された運転領域毎に夫々別個のニューラルネットワークNNij が形成されている。この場合には、図21Bに示されるように、分割された運転領域毎に夫々、図9に示されるような訓練データセットDSij が作成される。分割された運転領域毎に夫々形成されたニューラルネットワークNNij の重みの学習は、対応する訓練データセットDSij を用い、図10に示される学習処理ルーチンを用いて行われる。
一方、この実施例でも、図21Cに示されるように、分割された運転領域毎に、ノッキング強度代表値に対する閾値Mij が設定されている。この実施例では、分割された運転領域毎に、対応するニューラルネットワークNNij を用い、図13又は図14に示されるノッキング強度代表値の推定ルーチンを用いて、ノッキング強度代表値の推定値ye が算出される。ノッキング強度代表値の推定値ye が算出されると、図15に示されるノッキング判定ルーチンを用いて、算出されたノッキング強度代表値の推定値ye と図21Cに示される対応する閾値Mij を用いて、ノッキングが発生したか否かが判別される。
このようにこの実施例では、機関の運転領域が複数個の運転領域に分割されると共に、分割された各運転領域に対して夫々ニューラルネットワークNNij が作成されている。学習装置23により、分割された運転領域毎に、ノッキングセンサ18により検出された機関本体1の振動を表す値をニューラルネットワークNNij の入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、対応するニューラルネットワークNNij の重みが学習され、分割された運転領域毎に、対応する学習済みのニューラルネットワークNNij を用いてノッキングセンサ18の出力値からノッキング強度を代表する値が推定される。
図22および図24に、更に別の実施例を示す。この実施例では、図22に示されるように、機関本体1にノッキングセンサ18aおよびノッキングセンサ18bが取付けられており、これらノッキングセンサ18aおよびノッキングセンサ18bは、ノッキングセンサ18aの出力値の波形およびノッキングセンサ18bの出力値の波形を検出可能な検出器21、例えば、オシロスコープに接続されている。図22において、左から順に1番気筒#1、2番気筒#2、3番気筒#3、4番気筒#4と称すると、ノッキングセンサ18aは1番気筒#1および2番気筒#2から等距離の位置に配置されており、ノッキングセンサ18bは3番気筒#3および4番気筒#4から等距離の位置に配置されている。図22に示されるその他の構成は、図5に示される構成と同じであり、従って、この図22に示されるその他の構成については、説明を省略する。
図23は、この実施例において用いられるニューラルネットワーク50を示している。る。図23を参照すると、このニューラルネットワーク50においても、図3および図8に示されるニューラルネットワークと同様に、L=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。この実施例では、図23からわかるように、入力層 ( L=1) が2n個のノードからなる。一方、図23には隠れ層 ( L=2)および隠れ層 ( L=3)が記載されているが、これら隠れ層の層数は、1個又は任意の個数とすることができ、またこれら隠れ層のノードの数も任意の個数とすることができる。なお、出力層 ( L=4) のノードの数は1個とされており、出力層のノードからの出力値がyで示されている。
図23において、入力値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とされる。
一方、図23に示される出力値yとしては、図8に示される場合と同様に、圧力センサ19の出力値から求められるノッキング強度を代表する値が採用されている。この場合、図8に示される場合と同様に、図7Bにおいて丸印で示されるフィルタリング後の圧力センサ19の出力値のピーク値が出力値yとして用いられるか、或いは、図7Cに示されるフィルタリング後の圧力センサ19の出力値の積分値(負側の積分値も正の値とする)が出力値yとして用いられる。なお、この実施例においても、圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値が教師データytとされる。
図24は、入力値x1、x2・・・xxm−1、xxmと、圧力センサ19の出力値から求められるノッキング強度を代表する値の実測値、即ち、教師データytとを用いて作成された訓練データセットを示している。図24に示されるように、この訓練データセットでは、入力値x1、x2・・・xxn−1、xxnと教師データytとの関係を表すm個のデータが取得されている。この訓練データセットの作成方法は、既に説明した図9に示される訓練データセットの作成方法と同じである。即ち、訓練データセットを作成する際には、図22において、機関負荷および機関回転数の種々の組み合わせについてノッキングの発生しない運転状態とノッキングの発生する運転状態の双方の状態が生ずるように機関を運転させ、そのとき各検出器21、22から得られたデータに基づいて、図24に示されるような訓練データセットが作成される。
訓練データセットが作成されると、作成された訓練データセットの電子データを用いて、図23に示されるニューラルネットワーク50の重みの学習が行われる。このニューラルネットワークの重みの学習方法は、図5を参照しつつ前述したニューラルネットワークの重みの学習方法と同じである。即ち、図23に示されるニューラルネットワーク50の重みの学習を行うときには、このニューラルネットワーク50のノード数、および作成された訓練データセットの電子データが、図22に示される学習装置23のメモリ24に記憶され、CPU25において、図10に示される学習処理ルーチンを用いて、ニューラルネットワーク60の重みの学習が行われる。この場合、ニューラルネットワーク50の重みの学習を、図1に示される電子制御ユニット30により行うこともできる。この場合には、図23に示されるニューラルネットワーク50のノード数、および作成された訓練データセットの電子データが電子制御ユニット30のメモリ32に記憶され、CPU33において、図10に示される学習処理ルーチンを用いて、ニューラルネットワーク20の重みの学習が行われる。
このように、この実施例では、機関本体1の振動を検出する複数個のノッキングセンサ18aおよび18bを具備している。学習装置23、或いは、電子制御ユニット30により、複数個のノッキングセンサ18aおよび18bにより検出された機関本体1の振動を表す値をニューラルネットワーク50の入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワーク50の重みが学習される。学習済みのニューラルネットワーク50を用いて複数個のノッキングセンサ18aおよび18bの出力値からノッキング強度を代表する値が推定される。
このように複数個のノッキングセンサ18aおよび18bを用い、両方のノッキングセンサ18aおよび18bの出力値を用いて、ニューラルネットワーク50の重みの学習が行われると、一つのノッキングセンサを用いたときよりも、取得できる情報量が増大するために、ノッキング強度を代表する値を精度よく推定することができる。
1 機関本体
5 燃焼室
11 点火栓
18、18a、18b ノッキングセンサ
19 圧力センサ
23 学習装置
30 電子制御ユニット
5 燃焼室
11 点火栓
18、18a、18b ノッキングセンサ
19 圧力センサ
23 学習装置
30 電子制御ユニット
Claims (11)
- 機関本体の振動を検出するノッキングセンサと、内燃機関の燃焼室内の圧力を検出する圧力センサと、ニューラルネットワークを用いて内燃機関のノッキング強度を代表する値を推定するための学習装置とを具備しており、圧力センサの出力値からノッキング強度を代表する値が取得され、該学習装置により、該ノッキングセンサにより検出された機関本体の振動を表す値をニューラルネットワークの入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワークの重みが学習され、学習済みのニューラルネットワークを用いてノッキングセンサの出力値から該ノッキング強度を代表する値が推定される内燃機関のノッキング検出装置。
- 該ノッキング強度を代表する値が、予め設定されている期間内における圧力センサの出力値のピーク値である請求項1に記載の内燃機関のノッキング検出装置。
- 該ノッキング強度を代表する値が、予め設定されている期間内における圧力センサの出力値の積分値である請求項1に記載の内燃機関のノッキング検出装置。
- 機関本体の振動を表す値が、予め設定されている期間内におけるノッキングセンサの出力値である請求項1に記載の内燃機関のノッキング検出装置。
- 機関本体の振動を表す値が、予め設定されている期間内において等分割された区間内におけるノッキングセンサの出力値の積分値である請求項1に記載の内燃機関のノッキング検出装置。
- 予め設定されている期間が、一定のクランク角度範囲である請求項2から請求項5のいずれか1項に記載の内燃機関のノッキング検出装置。
- 予め設定されている期間が、一定時間である請求項2から請求項5のいずれか1項に記載の内燃機関のノッキング検出装置。
- 機関の運転領域が複数個の運転領域に分割されると共に、分割された各運転領域に対して夫々ニューラルネットワークが作成されており、該学習装置により、分割された運転領域毎に、該ノッキングセンサにより検出された機関本体の振動を表す値をニューラルネットワークの入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、対応するニューラルネットワークの重みが学習され、分割された運転領域毎に、対応する学習済みのニューラルネットワークを用いてノッキングセンサの出力値から該ノッキング強度を代表する値が推定される請求項1に記載の内燃機関のノッキング検出装置。
- 機関本体の振動を検出する複数個のノッキングセンサを具備しており、該学習装置により、該複数個のノッキングセンサにより検出された機関本体の振動を表す値をニューラルネットワークの入力値とすると共に、上記取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワークの重みが学習され、学習済みのニューラルネットワークを用いて該複数個のノッキングセンサの出力値から該ノッキング強度を代表する値が推定される請求項1に記載の内燃機関のノッキング検出装置。
- 上記ノッキング強度を代表する値の推定値からノッキングの発生を判定する請求項1に記載の内燃機関のノッキング検出装置。
- 機関本体の振動を検出するノッキングセンサの出力値と、内燃機関の燃焼室内の圧力を検出する圧力センサの出力値とに基づき、ニューラルネットワークを用いて内燃機関のノッキング強度を推定する内燃機関のノッキング検出方法において、圧力センサの出力値からノッキング強度を代表する値を求め、該ノッキングセンサにより検出された機関本体の振動を表す値と該ノッキング強度を代表する値との関係を示す訓練データセットを作成し、該ノッキングセンサにより検出された機関本体の振動を表す値をニューラルネットワークの入力値とすると共に、取得されたノッキング強度を代表する値を教師データとして、ニューラルネットワークの重みを学習し、学習済みのニューラルネットワークを用いてノッキングセンサの出力値から該ノッキング強度を代表する値を推定する内燃機関のノッキング検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020073674A JP2020143671A (ja) | 2020-04-16 | 2020-04-16 | 内燃機関のノッキング検出装置およびノッキング検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020073674A JP2020143671A (ja) | 2020-04-16 | 2020-04-16 | 内燃機関のノッキング検出装置およびノッキング検出方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019021508A Division JP6733752B1 (ja) | 2019-02-08 | 2019-02-08 | 内燃機関のノッキング検出装置およびノッキング検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020143671A true JP2020143671A (ja) | 2020-09-10 |
Family
ID=72353870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020073674A Pending JP2020143671A (ja) | 2020-04-16 | 2020-04-16 | 内燃機関のノッキング検出装置およびノッキング検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020143671A (ja) |
-
2020
- 2020-04-16 JP JP2020073674A patent/JP2020143671A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6733752B1 (ja) | 内燃機関のノッキング検出装置およびノッキング検出方法 | |
JP6683283B1 (ja) | 内燃機関の点火時期制御装置 | |
CN112629649B (zh) | 内燃机的点火正时控制装置 | |
US11591981B2 (en) | System and method for detecting malfunctioning turbo-diesel cylinders | |
JP4445986B2 (ja) | 内燃機関の着火時期を判定するための制御装置 | |
JP6733795B1 (ja) | 内燃機関の点火時期制御装置 | |
US20050251322A1 (en) | Virtual cylinder pressure sensor with individual estimators for pressure-related values | |
JP2623921B2 (ja) | 内燃機関の失火検出装置 | |
US20100212634A1 (en) | Device and method for controlling ignition timing of internal combustion engine | |
US6397669B1 (en) | Method and arrangement for evaluating combustion processes in an internal combustion engine | |
US8924134B2 (en) | Knock control device of internal combustion engine | |
KR20210027138A (ko) | 내연 기관의 실화를 진단하기 위한 방법 | |
JPH06146998A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP2556176B2 (ja) | 内燃機関の故障診断装置 | |
JP2020143671A (ja) | 内燃機関のノッキング検出装置およびノッキング検出方法 | |
JP2021050729A (ja) | 内燃機関の点火時期制御装置 | |
JP2021050730A (ja) | 内燃機関の点火時期制御装置 | |
JP2021050728A (ja) | 内燃機関の点火時期制御装置 | |
JP2001323839A (ja) | 内燃機関の失火検出装置 | |
JPH02161172A (ja) | 内燃機関の燃焼状態検出装置 | |
JP6212953B2 (ja) | エンジンの失火検出装置 | |
Taglialatela et al. | Engine knock detection and control using in-cylinder pressure signal and soft computing techniques |