(57)【要約】【課題】この発明は、内燃機関の点火時期制御装置に関し、点火時期を制御するに際して、機関特性の経時変化や運転環境の変化などに適切に対応することができるとともに、制御の遅れを抑制することを目的とする。【解決手段】点火時期モデルに従って点火時期を算出するフィードフォワード制御器５２と、８degATDCでの燃焼割合を算出する燃焼割合算出手段５６と、算出される８degATDC燃焼割合を５０％に近づけることにより、点火時期がＭＢＴに近くなるように補正するフィードバック制御器５４と、フィードバック補正後のＭＢＴに近い点火時期を学習することにより、点火時期モデルに従って算出される点火時期がＭＢＴに近くなるように、点火時期モデルを更新する点火時期モデル学習手段５８とを備える。点火時期モデル学習手段５８は、カルマンフィルタ理論を応用した計算手法によって点火時期モデルを更新する。【選択図】図２
2008138596.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の運転状態に応じた点火時期を点火時期モデルに従って算出する点火時期フィードフォワード制御手段と、
燃焼状態を検出する燃焼状態検出手段と、
前記内燃機関の燃焼状態を目標とする燃焼状態に近づけるべく、前記点火時期フィードフォワード制御手段によって算出された点火時期を、前記燃焼状態検出手段により検出された燃焼状態に基づいて補正する点火時期フィードバック制御手段と、
前記点火時期フィードバック制御手段による補正後の点火時期を学習することにより、前記点火時期モデルに従って算出される点火時期が、前記目標とする燃焼状態を実現する点火時期に近くなるように、前記点火時期モデルを更新する点火時期モデル学習手段と、
を備え、
前記点火時期モデル学習手段は、カルマンフィルタ理論を応用した計算手法によって前記点火時期モデルを更新することを特徴とする内燃機関の点火時期制御装置。
【請求項２】
前記燃焼状態検出手段は、前記内燃機関の所定クランク角度における燃焼割合を検出し、
前記点火時期フィードバック制御手段は、前記検出された燃焼割合が目標の数値に近づくように、点火時期を補正することを特徴とする請求項１記載の内燃機関の点火時期制御装置。
【請求項３】
前記点火時期フィードバック制御手段による補正後の点火時期の、過去所定サイクル数に渡る共分散を算出する点火時期共分散算出手段を更に備え、
前記点火時期モデル学習手段は、前記点火時期共分散算出手段により算出された共分散を、カルマンフィルタ理論において要求される共分散として使用することを特徴とする請求項１または２記載の内燃機関の点火時期制御装置。
【請求項４】
前記点火時期共分散算出手段は、前記共分散を移動計算により算出することを特徴とする請求項３記載の内燃機関の点火時期制御装置。
【請求項５】
前記内燃機関の運転状態を変数とする関数ベクトルをφk、前記点火時期モデルに相当するベクトルをθ^kとし、各記号の下付きの添え字kを前記内燃機関のサイクル数を表すものとしたとき、前記点火時期フィードフォワード制御手段は、点火時期をφkTθ^kとして算出し、
前記点火時期フィードバック制御手段による補正後の点火時期をSAk、カルマンゲインをKk、共分散行列をPk、Dをベクトル、QおよびRをスカラーとしたとき、前記点火時期モデル学習手段が用いる点火時期モデル更新式は、次式
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)
Kk＝Pkφk(R＋φkTPkφk)-1
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（Ｉ）
で表され、
上記（Ｉ）式中のベクトルDは、点火時期モデルθ^kの各要素のうちの最大値をmax(θ^k)としたとき、次式
D＝θ^k/max(θ^k)
で表されることを特徴とする請求項１乃至４の何れか１項記載の内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
内燃機関の燃費性能やエミッション性能を良好にしたり、ノッキングを防止したりする上では、点火時期の制御が重要である。そこで、従来では、機関運転状態に応じた最適な点火時期を予め調べて、マップとしてＥＣＵ(Electronic Control Unit)に記憶しておき、そのマップに従って点火時期をフィードフォワード的に制御することが一般に行われている。
【０００３】
しかしながら、機関特性の経時変化や、運転環境の変化などに応じて、最適な点火時期も変化する。上記のようなマップ制御では、そのような変化に対応することができない。
【０００４】
一方、特開平９−３１７５２２号公報には、所定クランク角における目標燃焼割合を運転状態に応じて設定し、所定クランク角における実際の燃焼割合がその目標燃焼割合となるように、点火時期をフィードバック制御する装置が開示されている。
【０００５】
【特許文献１】特開平９−３１７５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記公報に開示されたような点火時期フィードバック制御によれば、機関特性の経時変化や運転環境の変化などに起因する最適点火時期の変化に対応することが一応は可能である。しかしながら、点火時期フィードバック制御の場合には、目標とする燃焼状態と実際の燃焼状態との間にズレが生じた後でなければ、点火時期が修正されない。つまり、制御の遅れが避けられず、応答性が良くないという問題がある。
【０００７】
この発明は、上述のような課題を解決するためになされたもので、点火時期を制御するに際して、機関特性の経時変化や運転環境の変化などに適切に対応することができるとともに、制御の遅れを抑制することのできる内燃機関の点火時期制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、上記の目的を達成するため、内燃機関の点火時期制御装置であって、
内燃機関の運転状態に応じた点火時期を点火時期モデルに従って算出する点火時期フィードフォワード制御手段と、
燃焼状態を検出する燃焼状態検出手段と、
前記内燃機関の燃焼状態を目標とする燃焼状態に近づけるべく、前記点火時期フィードフォワード制御手段によって算出された点火時期を、前記燃焼状態検出手段により検出された燃焼状態に基づいて補正する点火時期フィードバック制御手段と、
前記点火時期フィードバック制御手段による補正後の点火時期を学習することにより、前記点火時期モデルに従って算出される点火時期が、前記目標とする燃焼状態を実現する点火時期に近くなるように、前記点火時期モデルを更新する点火時期モデル学習手段と、
を備え、
前記点火時期モデル学習手段は、カルマンフィルタ理論を応用した計算手法によって前記点火時期モデルを更新することを特徴とする。
【０００９】
また、第２の発明は、第１の発明において、
前記燃焼状態検出手段は、前記内燃機関の所定クランク角度における燃焼割合を検出し、
前記点火時期フィードバック制御手段は、前記検出された燃焼割合が目標の数値に近づくように、点火時期を補正することを特徴とする。
【００１０】
また、第３の発明は、第１または第２の発明において、
前記点火時期フィードバック制御手段による補正後の点火時期の、過去所定サイクル数に渡る共分散を算出する点火時期共分散算出手段を更に備え、
前記点火時期モデル学習手段は、前記点火時期共分散算出手段により算出された共分散を、カルマンフィルタ理論において要求される共分散として使用することを特徴とする。
【００１１】
また、第４の発明は、第３の発明において、
前記点火時期共分散算出手段は、前記共分散を移動計算により算出することを特徴とする。
【００１２】
また、第５の発明は、第１乃至第４の発明の何れかにおいて、
前記内燃機関の運転状態を変数とする関数ベクトルをφk、前記点火時期モデルに相当するベクトルをθ^kとし、各記号の下付きの添え字kを内燃機関１０のサイクル数を表すものとしたとき、前記点火時期フィードフォワード制御手段は、点火時期をφkTθ^kとして算出し、
前記点火時期フィードバック制御手段による補正後の点火時期をSAk、カルマンゲインをKk、共分散行列をPk、Dをベクトル、QおよびRをスカラーとしたとき、前記点火時期モデル学習手段が用いる点火時期モデル更新式は、次式
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)
Kk＝Pkφk(R＋φkTPkφk)-1
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（Ｉ）
で表され、
上記（Ｉ）式中のベクトルDは、点火時期モデルθ^kの各要素のうちの最大値をmax(θ^k)としたとき、次式
D＝θ^k/max(θ^k)
で表されることを特徴とする。
【発明の効果】
【００１３】
第１の発明によれば、点火時期モデルに従って点火時期を算出する点火時期フィードフォワード制御手段と、燃焼状態が目標燃焼状態に近づくように点火時期を補正する点火時期フィードバック制御手段とを備えた点火時期制御装置において、フィードバック補正後の点火時期を学習することにより、点火時期モデルに従って算出される点火時期が、目標燃焼状態を実現する点火時期に近くなるように、点火時期モデルを更新することができる。これにより、学習が進むにつれて、点火時期モデルが改善されていくので、点火時期モデルによって算出される点火時期が、目標燃焼状態を実現する点火時期に近くなっていく。つまり、フィードバック制御によらずとも、理想的な点火時期をフィードフォワード制御手段において算出することができるようになる。このため、第１の発明によれば、機関特性の経時変化や運転環境の変化に適応して、理想的な点火時期を実現することができるだけでなく、フィードバック制御に付き物の制御遅れを抑制することができる。よって、運転状態などが変化した場合であっても、点火時期を理想的な点火時期に迅速に制御することができる。
【００１４】
更に、第１の発明によれば、カルマンフィルタ理論を応用した計算手法によって点火時期モデルを更新することができる。本発明者らの知見によれば、フィードバック補正後の点火時期には、正規分布に精度良く一致するバラツキが内在する。第１の発明によれば、カルマンフィルタ理論を応用したことにより、フィードバック補正後の点火時期に内在する上記のバラツキを適切にフィルタリングした上で、フィードバック補正後の点火時期を学習することができる。このため、フィードバック補正後の点火時期に内在するバラツキに悪影響を受けることなく、点火時期モデルの更新を適切に行うことができる。このため、点火時期モデルを円滑かつ確実に最適化することができる。
【００１５】
第２の発明によれば、内燃機関の所定クランク角度における燃焼割合を検出し、その検出された燃焼割合が目標の数値（例えば、効率が最良となる燃焼状態に対応する数値）に近づくように、点火時期フィードバック制御を行うことができる。このような場合のフィードバック補正後の点火時期に内在するバラツキは、より高い精度で正規分布に一致する。このため、カルマンフィルタ理論を応用した点火時期モデルの更新処理との適合性がより優れたものとなり、点火時期モデルを特に高い精度で最適化することができる。
【００１６】
第３の発明によれば、点火時期モデルを更新するに際して、フィードバック補正後の点火時期の、過去所定サイクル数に渡る共分散を算出し、その算出された共分散を、カルマンフィルタ理論において要求される共分散として使用することができる。つまり、第３の発明によれば、フィードバック補正後の点火時期に実際に生じた共分散の値を、カルマンフィルタ理論において要求される共分散として使用する。このため、フィードバック補正後の点火時期に内在するバラツキが運転条件などに応じて変化することを適切に反映させることができるので、共分散の値を固定値とする場合と比べて、点火時期モデルの学習をより高い精度で行うことができる。
【００１７】
第４の発明によれば、フィードバック補正後の点火時期の、過去所定サイクル数に渡る共分散を算出する処理を、移動計算によって行うことができる。このため、演算装置の負荷を軽減することができる。
【００１８】
第５の発明によれば、点火時期モデルに相当するベクトルをθ^kとし、この点火時期モデルθ^kの各要素のうちの最大値をmax(θ^k)としたとき、カルマンフィルタ理論を応用した点火時期モデル更新式の演算に際して定める必要があるベクトルDとして、次式
D＝θ^k/max(θ^k)
が使用される。つまり、ベクトルDを、点火時期モデルθ^kに応じて定めることとする。カルマンフィルタ理論を応用する場合には、本来、点火時期モデルθ^kと同次元のベクトルDの各要素のそれぞれについてバラツキ度合いを適合して設定する必要ある。これに対し、第５の発明によれば、上記（Ｉ）式中のスカラーQの値のみを適合して設定すればよくなり、適合作業の簡略化が図れる。
【発明を実施するための最良の形態】
【００１９】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１のシステム構成を説明するための図である。図１に示すように、本実施形態のシステムは、火花点火式の内燃機関１０を備えている。内燃機関１０は、例えば車両の動力源として用いられるものとする。内燃機関１０の気筒数や気筒配置は、特に限定されるものではない。
【００２０】
内燃機関１０の気筒には、吸気通路１２および排気通路１４が連通している。吸気通路１２には、吸入空気量Gaを検出するエアフローメータ１６が配置されている。エアフローメータ１６の下流には、スロットル弁１８が配置されている。スロットル弁１８の開度は、スロットルモータ２０の作動によって調整される。スロットル弁１８の近傍には、スロットル開度を検出するためのスロットルポジションセンサ２２が配置されている。また、アクセルペダルの近傍には、アクセル開度を検出するアクセルポジションセンサ２４が設けられている。
【００２１】
内燃機関１０の気筒には、吸気ポート１１内に燃料を噴射するための燃料インジェクタ２６が配置されている。なお、内燃機関１０は、図示のようなポート噴射式のものに限らず、燃料を筒内に直接噴射する筒内直接噴射式のものであってもよく、また、ポート噴射と筒内噴射を併用するものであってもよい。内燃機関１０の気筒には、更に、吸気弁２８、点火プラグ３０、および排気弁３２が設けられている。
【００２２】
内燃機関１０のクランク軸３６の近傍には、クランク角センサ３８が取り付けられている。クランク角センサ３８の出力によれば、クランク角や、機関回転数Neを検出することができる。
【００２３】
また、内燃機関１０には、気筒内の圧力（燃焼圧）Pcを検出する筒内圧センサ４０が設置されている。
【００２４】
本実施形態のシステムは、ＥＣＵ(Electronic Control Unit)５０を更に備えている。ＥＣＵ５０には、上述した各種のセンサおよびアクチュエータが接続されている。ＥＣＵ５０は、各センサの出力等に基づいて、点火時期、燃料噴射量、スロットル開度等を制御する。
【００２５】
図２は、ＥＣＵ５０が点火時期制御装置として機能する場合の機能ブロック図である。本実施形態では、点火時期がＭＢＴ（Minimum advance for the Best Torque）になるように制御する場合を例に説明する。ＭＢＴとは、トルクが最大になるような点火時期、つまり熱効率が最良となるような点火時期のことである。ＭＢＴは、内燃機関１０の運転状態に応じて変化するだけでなく、機関特性の経時変化や、運転環境の変化などに応じて変化し得るものである。
【００２６】
図２に示すように、ＥＣＵ５０は、フィードフォワード制御器５２、フィードバック制御器５４、燃焼割合算出手段５６、点火時期モデル学習手段５８、および共分散算出手段６０として、それぞれ機能することができる。
【００２７】
フィードフォワード制御器５２は、内燃機関１０の運転状態（機関回転数Neおよび充填効率KL）に基づき、点火時期モデルを用いて点火時期を算出するものである。本実施形態では、フィードフォワード制御器５２は、内燃機関１０のサイクル毎に、次式に従って点火時期SA0を算出する。
SA0＝φTθ^      ・・・（１）
【００２８】
ただし、上記（１）式中、φは機関回転数Neおよび充填効率KLにより定まる関数ベクトル（関数行列）であり、θ^は点火時期モデルに相当する係数ベクトル（係数行列）である。以下、この係数ベクトルθ^を点火時期モデルと称する。また、上記（１）式を含め、本明細書において、上付きの添字Tは転置を意味する。
【００２９】
上記（１）式としては、具体的には例えば次式を用いることができる。この場合、関数ベクトルφおよび点火時期モデルθ^はそれぞれ下記のように表すことができる。
【数１】
2008138596.tif 000003
【００３０】
なお、上記（２）式中のa，b，cおよびdは、それぞれ、所定の定数である。また、充填効率KLは、内燃機関１０の負荷に相当する指標であり、吸入空気量Gaおよび機関回転数Ne、あるいは、吸気圧センサ（図示せず）で検出される吸気圧などに基づいて算出することができる。
【００３１】
上記（２）式に示す例では、点火時期モデルθ^は、θ0，θ1，θ2およびθ3の４つの要素からなる４次元ベクトルである。後述するように、点火時期モデルθ^は、点火時期モデル学習手段５８により、内燃機関１０のサイクル毎に更新される。
【００３２】
フィードバック制御器５４は、フィードフォワード制御器５２によって算出された点火時期SA0に対し、補正を施す。この補正後の点火時期を、以下「フィードバック補正後の点火時期」と称する。本システムでは、このフィードバック補正後の点火時期が、点火プラグ３０による実際の点火時期とされる。すなわち、フィードバック補正後の点火時期において、点火プラグ３０に電圧が印加される。
【００３３】
本実施形態のフィードバック制御器５４は、以下のような方法により、点火時期をＭＢＴに近づけるように補正する。
【００３４】
一般に、内燃機関１０では、クランク角度が上死点後８度（以下、「８degATDC」と記す）のときの燃焼割合が５０％であるような燃焼状態が、最も効率の良い燃焼状態である。よって、クランク角度が８degATDCのときの燃焼割合（以下「８degATDC燃焼割合」という）を５０％とするような点火時期がＭＢＴである、と判断することができる。そこで、内燃機関１０の運転中に８degATDC燃焼割合を検出し、その８degATDC燃焼割合が５０％に近づくように点火時期を補正すれば、点火時期をＭＢＴに近づけることができる。
【００３５】
上記のようなフィードバック制御を実行するため、燃焼割合算出手段５６は、筒内圧センサ４０の出力に基づいて、内燃機関１０のサイクル毎に、８degATDC燃焼割合を算出する。具体的には、燃焼割合算出手段５６は、まず、筒内圧センサ４０により検出される筒内圧Pcを所定クランク角度毎（例えば１degCA毎）にサンプリングし、次いで、その筒内圧Pcに基づいて所定クランク角度毎の熱発生率を算出する。続いて、その熱発生率を燃焼終了時まで積算することにより、総発熱量を算出する。また、その熱発生率を８degATDCまで積算することにより、８degATDCまでの発熱量を算出する。そして、その８degATDCまでの発熱量を上記総発熱量で除することにより、８degATDC燃焼割合を算出することができる。
【００３６】
フィードバック制御器５４は、上記のようにして検出された８degATDC燃焼割合が５０％に近づくように、点火時期を補正する。つまり、フィードバック制御器５４は、検出された８degATDC燃焼割合が５０％未満である場合には、点火時期を早くする方向に補正し、８degATDC燃焼割合が５０％を超えている場合には、点火時期を遅くする方向に補正する。
【００３７】
このようなフィードバック制御器５４によれば、フィードフォワード制御器５２によって算出された点火時期SA0がＭＢＴからずれている場合であっても、実際の点火時期をＭＢＴに近づけていくことができる。
【００３８】
しかし、フィードバック制御には、当然ながら、遅れが存在する。つまり、ある運転状態から別の運転状態へ変化したことによってＭＢＴが変化した場合には、フィードバック制御器５４が点火時期を再びＭＢＴに近づけるまでに時間が掛かる。よって、その間は燃費が悪化する。このことに鑑みれば、ＭＢＴとなる点火時期をフィードフォワード制御器５２によって運転状態から直接に算出できるようにすることが理想である。
【００３９】
点火時期モデル学習手段５８は、上記の理想を実現するべく、フィードバック補正後の点火時期、つまりＭＢＴに近くなるように補正された後の点火時期と、運転状態（機関回転数Neおよび充填効率KL）との関係を学習して、点火時期モデルθ^を更新する処理を行う。
【００４０】
ところで、周知のように、内燃機関１０には、サイクル毎の燃焼変動が存在する。すなわち、内燃機関１０の運転状態が変化していなくても、気筒内での混合気の燃焼の様子（火炎伝播）は、サイクル毎に変化する。この主な原因は、筒内の空燃比や、筒内に残留している前サイクルの燃え残りのガス量、筒内の混合気のかき混ざり具合（乱れ）などが、サイクル毎にランダムに変化するためである。
【００４１】
上記のような燃焼変動の存在により、点火時期を含めた運転状態が同じであっても、実際の８degATDC燃焼割合は、サイクル毎に変動する。よって、サイクル毎に検出される８degATDC燃焼割合を５０％に近づけるべく、フィードバック制御器５４が点火時期を補正すると、その補正後の点火時期は、サイクル毎に変動することとなる。
【００４２】
つまり、点火時期モデル学習手段５８にサイクル毎に入力されるフィードバック補正後の点火時期には、バラツキが存在しており、その平均値はＭＢＴに精度良く一致しているが、平均値から外れた入力は、ＭＢＴに精度良く一致しているとは言えない。このため、点火時期モデル学習手段５８にサイクル毎に入力されるフィードバック補正後の点火時期が何れも等しく正しいものであるとの立場で学習を行い、その結果に従って点火時期モデルθ^を更新してしまうことは、適切ではない。
【００４３】
そこで、本実施形態の点火時期モデル学習手段５８では、カルマンフィルタ理論を応用した、点火時期モデルθ^の更新を行うこととしている。
【００４４】
カルマンフィルタ理論とは、一般には、システムの状態推定を行うために用いられるフィルタリング理論である。カルマンフィルタ理論によれば、システムや観測に雑音（白色雑音）が加わる場合に、その雑音を適切にフィルタリングすることができるので、最適な状態推定を行うことができる。
【００４５】
本発明者らの知見によれば、フィードバック補正後の点火時期に生ずるバラツキ（雑音）は、カルマンフィルタ理論によってフィルタリングすることのできる雑音と同種のものである。すなわち、フィードバック補正後の点火時期のバラツキは、前述したように、ランダムな燃焼変動に起因するものであるため、そのバラツキは、ほぼ正規分布に一致する。このため、カルマンフィルタ理論が応用された点火時期モデル学習手段５８によれば、フィードバック補正後の点火時期を学習する上で、フィードバック補正後の点火時期に内在するバラツキを適切にフィルタリングすることができる。よって、フィードバック補正後の点火時期に内在するバラツキに悪影響を受けることなく、点火時期モデルθ^の更新を適切に行うことができる。
【００４６】
カルマンフィルタ理論を応用した点火時期モデルθ^の更新則は、次式で表される。
θ^k+1＝θ^k＋Kk(SAk−φkTθ^k)      ・・・（３）
【００４７】
上記（３）式を含め、本明細書で使用する記号において、下付きの添え字kは、内燃機関１０のkサイクル目の値であることを示す。また、上記（３）式中、Kkはカルマンゲインであり、SAkはフィードバック補正後の点火時期である。
【００４８】
上記（３）式中、(SAk−φkTθ^k)は、フィードバック補正後の点火時期SAkと、上記（１）式に従ってフィードフォワード制御器５２が算出する点火時期φkTθ^kとの誤差（以下「予測誤差」という）を表している。上記（３）式は、予測誤差にカルマンゲインKkを乗じたものを、現サイクルの点火時期モデルθ^kに足し合わせることにより、次サイクルの点火時期モデルθ^k+1が算出されることを表している。
【００４９】
以下、上記（３）式中のカルマンゲインKkの導出過程について説明する。
点火時期モデルθ^の真値（実際には知り得ない最適な点火時期モデル）をθとすると、この点火時期モデルの真値θは、内燃機関１０の特性の経時変化や、運転環境の変化などに応じて、サイクル毎に変化するものと考えることができる。このことを次式で表す。
θk+1＝θk＋Dwk      ・・・（４）
【００５０】
上記（４）式中、Dwkは、上述したような経時変化や環境変化などに起因する、点火時期モデルの真値θのサイクル毎の変化に相当する。このDwkのうち、Dはθ^と同次元のベクトルであり、wkは変数（スカラー）である。
【００５１】
また、点火時期モデルの真値θによって算出されるべき点火時期（実際には知り得ない最適な点火時期）φkTθkと、フィードバック補正後の点火時期SAkとの間に存在する誤差をnkとすると、次式が定義される。
SAk＝φkTθk＋nk      ・・・（５）
【００５２】
以上より、点火時期モデルの真値θと、実際の点火時期モデルθ^との誤差（以下「モデル誤差」と称する）θ~は、以下のように表される。
θ~k+1＝θk+1−θ^k+1
＝θk＋Dwk−{θ^k＋Kk(SAk−φkTθ^k)}
＝θ~k＋Dwk−Kk(φkTθk＋nk−φkTθ^k)
＝(Ｉ−KkφkT)θ~k＋Dwk−Kknk      ・・・（６）
【００５３】
なお、上記（６）式中の式変形には、上記（３）、（４）および（５）式を用いた。
【００５４】
本発明者らの知見によれば、点火時期モデルの真値θの変化Dwkは、ランダムウォーク（酔歩）であると考えることができる。また、上記（５）式における誤差nkは、前述したような燃焼変動や、測定雑音などに起因するランダムな外乱であると考えられる。そこで、wk，nkは、平均値０、共分散Q，Rの独立な正規分布を持つものとする。つまり、次式のように定義する。
E[wkTwk]＝Q      ・・・（７）
E[nkTnk]＝R      ・・・（８）
【００５５】
なお、上記（７）および（８）式を含め、本明細書では、E[]は平均値（期待値）を表すものとする。
【００５６】
カルマンフィルタ理論においては、モデル誤差θ~kの共分散行列（以下「モデル誤差共分散行列」という）Pkが最小となるように、カルマンゲインKkを定める。モデル誤差共分散行列Pkは、次式で表される。
Pk＝E[θ~kθ~kT]      ・・・（９）
【００５７】
上記（６）、（７）および（８）式を用いると、モデル誤差共分散行列Pk+1は、以下のように計算することができる。
Pk+1＝E[θ~k+1θ~k+1T]
＝E[{θ~k＋Dwk−Kk(nk＋φkTθ~k)}{θ~k＋Dwk−Kk(nk＋φkTθ~k)}T]
＝E[θ~kθ~kT]＋DQDT−E[θ~kθ~kT]φkKkT−KkφkTE[θ~kθ~kT]
＋E[Kk(nk＋φkTθ~k)(nk＋θ~kTφk)KkT]
＝E[θ~kθ~kT]＋DQDT−E[θ~kθ~kT]φkKkT−KkφkTE[θ~kθ~kT]
−Kk(E[nknk]＋φkTE[θ~kθ~kT]φk)KkT
＝Pk＋DQDT−PkφkKkT−KkφkTPk−Kk(R＋φkTPkφk)KkT
＝Pk＋DQDT−Pkφk(R＋φkTPkφk)-1φkTPk
＋{Kk−Pkφk(R＋φkTPkφk)-1}(R＋φkTPkφk){KkT−(R＋φkTPkφk)-1φkTPk}
・・・（１０）
【００５８】
上記（１０）式より、モデル誤差共分散行列Pk+1を最小とするには、カルマンゲインKkは、次式のように定めればよいことが分かる。
Kk＝Pkφk(R＋φkTPkφk)-1      ・・・（１１）
【００５９】
そして、その場合、モデル誤差共分散行列Pk+1は、次式で表される。
Pk+1＝Pk＋DQDT−Pkφk(R＋φkTPkφk)-1φkTPk      ・・・（１２）
【００６０】
上記（１２）式は、次式のように変形することができる。
Pk＝Pk-1＋DQDT−Pk-1φk-1(R＋φk-1TPk-1φk-1)-1φk-1TPk-1      ・・・（１３）
上記（１３）式を用いて、上記（１１）式中のPkを算出することができる。
【００６１】
上記（１１）式および（１３）式に示されるように、カルマンゲインKkを求めるには、wkの共分散Qと、nkの共分散Rを定める必要がある。
【００６２】
（共分散Q）
wkの共分散Qは、上記（４）式の定義から分かるように、点火時期モデルの真値θのバラツキ度合いと相関する値である。カルマンフィルタ理論を応用した上述の点火時期モデル更新手法において、共分散Qを比較的小さい値に設定することは、点火時期モデルの真値θのバラツキが比較的小さいと想定することに相当する。この場合には、予測誤差が生じたとき、その予測誤差は実際の点火時期モデルθ^が点火時期モデルの真値θから乖離していることが主な原因となって生じたものとみなされる。このため、点火時期モデルθ^を大きく変化させるように更新が行われる。よって、この場合には、経時変化、環境変化等に対する応答性（感度）が高くなり、その一方で、点火時期モデルθ^が振動し易くなる傾向がある。
【００６３】
これに対し、共分散Qを比較的大きい値に設定することは、点火時期モデルの真値θのバラツキが比較的大きいと想定することに相当する。この場合には、予測誤差が生じたとき、その予測誤差は点火時期モデルの真値θに内在するバラツキが主な原因となって生じたものとみなされる。このため、点火時期モデルθ^を少しだけ変化させるように更新が行われる。よって、この場合には、経時変化、環境変化等に対する応答性（感度）はやや低下するが、点火時期モデルθ^が振動しにくくなる。
【００６４】
上述したように、本実施形態では、共分散Qの大きさを調整することにより、学習の感度を調整することができる。共分散Qの具体的な値は、特に限定されないが、例えば０．００１〜０．０１程度に設定することが好ましい。
【００６５】
（共分散R）
nkの共分散Rは、上記（５）式の定義から分かるように、フィードバック補正後の点火時期SAkのバラツキ度合いを表す値である。この共分散Rの値は、適当な値を予め設定しておいてもよいが、本実施形態では、フィードバック補正後の点火時期SAkに実際に生じている共分散を内燃機関１０のサイクル毎に逐次求め、その値を共分散Rとして使用することとした。この処理は、共分散算出手段６０によって実行される。以下、共分散算出手段６０の具体的処理について説明する。
【００６６】
共分散算出手段６０は、過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散を算出する。ここで、Nは、フィードバック補正後の点火時期SAkの共分散を十分な精度で算出することのできるようなサイクル数となるように、予め設定されている。
【００６７】
一般に、変数xkの過去N個分についての共分散Vkは、次式により算出することができる。
【数２】
2008138596.tif 000004
【００６８】
しかしながら、共分散算出手段６０（ＥＣＵ５０）において、上記（１４）式と同様の演算を内燃機関１０のサイクル毎に行うこととすると、演算負荷が大きくなってしまう。そこで、本実施形態では、演算負荷を軽減するべく、以下に説明するような移動計算の手法によって、フィードバック補正後の点火時期SAkの共分散を算出することとした。図３は、移動計算の手順を示すルーチンのフローチャートである。図３に示すルーチンは、内燃機関１０のサイクル毎に実行される。
【００６９】
ここで、図３に示すルーチンの概要について説明する。まず、図３に示すルーチンでは、次式を用いて共分散Vkを算出する。
Vk＝{1/(N-1)}{Σx2−(1/N)(Σx)2}      ・・・（１５）
【００７０】
図３に示すルーチンでは、新しい入力utが加わった場合に、その新しい入力utを含めた過去N個分の変数xkについての共分散Vkを求めるために上記（１５）式を再計算するに際して、その新しい入力utおよびその２乗を上記Σx2およびΣxにそれぞれ加えると共に、最も古い変数xおよびその２乗を上記Σx2およびΣxからそれぞれ差し引くようにする。以下、より具体的に説明する。
【００７１】
共分散算出手段６０は、過去Nサイクル分のフィードバック補正後の点火時期SAkを記憶するための記憶領域として、０番から(N-1)番までのバッファXを有している。以下、j番のバッファXをX(j)と表記する。図３に示すルーチンによれば、まず、バッファXの番号を指定するためのjの値がインクリメントされる（ステップ１００）。次いで、jが、最も大きいバッファ番号である(N-1)を超えているか否かが判別される（ステップ１０２）。そして、jが(N-1)以下であると判別された場合には、jの値はそのままとされる。一方、jが(N-1)を超えていると判別された場合には、jを最初のバッファ番号に戻すため、jに０が代入される（ステップ１０４）。
【００７２】
上記のバッファ番号jで指定されるX(j)は、バッファXに現在記憶されているフィードバック補正後の点火時期SAkのうちで最古のもの、つまりNサイクル前のフィードバック補正後の点火時期SAk-Nに相当する。上記ステップ１０４の処理に続いて、そのSAk-Nに相当するバッファX(j)が変数xk-Nに代入され、その変数xk-Nの２乗(xk-N)2が変数xk-N2に代入される（ステップ１０６）。
【００７３】
次いで、バッファX(j)に、新しい入力ut（ここでは、最新のフィードバック補正後の点火時期SAk）が代入される（ステップ１０８）。これにより、バッファX(j)は、最新のフィードバック補正後の点火時期SAkで置き換えられたことになる。続いて、そのSAに相当するバッファX(j)が変数xkに代入され、その変数xkの２乗(xk)2が変数xk2に代入される（ステップ１１０）。
【００７４】
次いで、上記ステップ１０６で算出されたxk-Nおよびxk-N2と、上記ステップ１１０で算出されたxkおよびxk2とを用いて、ΣxおよびΣx2がそれぞれ次式によって更新される（ステップ１１２）。なお、Σxはフィードバック補正後の点火時期SAkの過去Nサイクル分の総和に相当し、Σx2はフィードバック補正後の点火時期SAkの２乗の過去Nサイクル分の総和に相当する。
Σx＝Σx−xk-N＋xk      ・・・（１６）
Σx2＝Σx2−xk-N2＋xk2      ・・・（１７）
【００７５】
上記（１６）式によれば、ΣxからNサイクル前のフィードバック補正後の点火時期SAk-Nを差し引き、最新のフィードバック補正後の点火時期SAkを加えることにより、Σxを更新することができる。また、上記（１７）式によれば、Σx2からNサイクル前のフィードバック補正後の点火時期SAk-Nの２乗を差し引き、最新のフィードバック補正後の点火時期SAkの２乗を加えることにより、Σx2を更新することができる。
【００７６】
そして、上記ステップ１１２で算出されたΣxおよびΣx2を上記（１５）式に代入することにより、共分散Vtが算出される（ステップ１１４）。このVtが、新たに計算された、過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散に相当する。
【００７７】
以上説明したような移動計算の手法によれば、過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散を算出するに際して、前サイクルでの計算に用いた値に対して、新たに算入すべき最新の入力データと、除外すべき最古の入力データとの収支を計算するだけで済む。このため、共分散算出手段６０の演算負荷を大幅に低減することができる。
【００７８】
以下、点火時期モデル学習手段５８が上記（３）式の更新則に従って点火時期モデルθ^を更新する際の具体的処理について説明する。図４は、本実施形態において点火時期モデル学習手段５８としてのＥＣＵ５０が実行するルーチンのフローチャートである。本ルーチンは、内燃機関１０のサイクル毎に実行される。
【００７９】
図４に示すルーチンによれば、まず、機関回転数Neおよび充填効率KLに基づいて、関数ベクトルφkが算出される（ステップ１２０）。関数ベクトルφの各要素は、上記（２）式中に例示されているように、所定の関数で構成されている。その関数の変数に機関回転数Neおよび充填効率KLの値を代入することにより、関数ベクトルφkが算出される。
【００８０】
続いて、上記（１３）式に基づいて、モデル誤差共分散行列Pkが算出される（ステップ１２２）。このステップ１２２において、上記（１３）式中のφk-1およびPk-1には、それぞれ、前サイクルで算出された値が代入される。また、前述したように、wkの共分散Qには、予め設定されている値が代入される。また、nkの共分散Rには、共分散算出手段６０によって算出された、過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散の値が代入される。
【００８１】
また、上記ステップ１２２において、上記（１３）式中のベクトルDとしては、次式で定めるベクトルが代入される。
D＝θ^k/max(θ^k)      ・・・（１８）
【００８２】
ただし、上記（１８）式中、max(θ^k)は、点火時期モデルとしてのベクトルθ^kの各要素のうちの最大値（スカラー）を表すものとする。例えば、θ^kが、図２に例示するような４次元ベクトルである場合には、θ0，θ1，θ2およびθ3のうちの最大値がmax(θ^k)に相当する。
【００８３】
このように、本実施形態では、ベクトルDを、現サイクルの点火時期モデルθ^kに応じて定まるベクトルとしている。
【００８４】
上記ステップ１２２の処理に続いて、上記（１１）式に基づいて、カルマンゲインKkが算出される（ステップ１２４）。この場合、上記ステップ１２０で算出された関数ベクトルφkと、共分散算出手段６０によって算出された共分散Rと、上記ステップ１２２で算出されたモデル誤差共分散行列Pkとが、上記（１１）式にそれぞれ代入される。
【００８５】
最後に、上記（３）式の更新則に基づいて、現サイクルの点火時期モデルθ^kが、次のサイクルの点火時期モデルθ^k+1へと更新される（ステップ１２６）。この場合、現サイクルのフィードバック補正後の点火時期SAkと、現サイクルの点火時期モデルθ^kと、上記ステップ１２０で算出された関数ベクトルφkと、上記ステップ１２４で算出されたカルマンゲインKkとが、上記（３）式にそれぞれ代入される。
【００８６】
以上説明したように、本実施形態によれば、フィードバック補正後の点火時期を学習して、点火時期モデルθ^を更新していくことができる。このため、学習が進むにつれて、点火時期モデルθ^が改善されていき、点火時期モデルθ^によって算出される点火時期が以前よりもＭＢＴに近くなっていく。つまり、フィードバック制御器５４のフィードバック制御によらずとも、ＭＢＴに近い点火時期をフィードフォワード制御器５２において算出することができるようになる。このため、フィードバック制御に付き物の制御遅れの問題を解消することができる。よって、機関特性の経時変化や運転環境の変化に伴うＭＢＴの変化に適切に対応できるだけでなく、運転状態の変化に伴うＭＢＴの変化に応じて、点火時期を迅速にＭＢＴに追従させることができる。その結果、優れた燃費性能が得られる。
【００８７】
また、本実施形態によれば、カルマンフィルタ理論を応用した点火時期モデルθ^の更新を行うことができる。前述したように、本発明者らの知見によれば、フィードバック補正後の点火時期には、正規分布に精度良く一致するバラツキが内在する。本実施形態によれば、カルマンフィルタ理論を応用したことにより、フィードバック補正後の点火時期に内在するバラツキを適切にフィルタリングした上で、フィードバック補正後の点火時期を学習することができる。このため、フィードバック補正後の点火時期に内在するバラツキに悪影響を受けることなく、点火時期モデルθ^の更新を適切に行うことができる。その結果、点火時期モデルθ^をより円滑かつ確実に最適化することができる。
【００８８】
また、本実施形態によれば、点火時期モデル学習手段５８による学習を進めるに従い、点火時期モデルθ^を最適な形へと近づけていくことができる。このため、工場出荷時の点火時期モデルθ^には、それほど高い精度が必要とされない。よって、開発段階での適合工数を削減することができ、開発コストや開発期間を縮小することができる。
【００８９】
ところで、フィードバック補正後の点火時期SAkに生ずる共分散（バラツキ度合い）は、運転条件によって変化する。一方、本実施形態では、前述したように、過去Nサイクル分のフィードバック補正後の点火時期SAkに実際に生じた共分散を逐次算出し、その値を、カルマンフィルタ理論に基づく点火時期モデルθ^の更新処理に必要な共分散Rとして使用している。このため、フィードバック補正後の点火時期SAkに生ずる共分散が運転条件によって変化することを点火時期モデルθ^の更新処理に適切に反映することができる。よって、点火時期モデルθ^の学習をより高い精度で行うことができる。
【００９０】
また、本実施形態では、過去Nサイクル分のフィードバック補正後の点火時期SAkの共分散を算出する処理を、図３のルーチンに示すような移動計算の手法によって算出することとしている。このため、ＥＣＵ５０に大きな演算負荷を掛けることなく、その算出処理を行うことができる。
【００９１】
また、前述したように、本実施形態では、カルマンフィルタ理論に基づく点火時期モデルθ^の更新処理に必要なベクトルDとして、上記（１８）式で定めるベクトルθ^k/max(θ^k)を使用することとしている。これに対し、カルマンフィルタ理論を応用する場合においては、本来、学習の感度（精度）を設定するに際して、点火時期モデルθ^kと同数の要素を有するベクトルDの各要素のそれぞれについて、バラツキ度合いを適合して設定する必要がある。これに対し、本実施形態では、共分散Qの値のみを適合して設定すればよい。つまり、適合すべき値が、本来は点火時期モデルθ^の要素数と同数だけ存在するところを、一つだけに簡略化することができる。このため、学習の感度に関する適合作業を極めて容易に行うことができる。
【００９２】
なお、上記ベクトルθ^k/max(θ^k)は、その定義から明らかなように、最大の要素の値が１であって、各要素間の比率が点火時期モデルθ^kと同じベクトルである。このようなベクトルθ^k/max(θ^k)をベクトルDとして用いることは、点火時期モデルの真値θに生ずる変化の各要素間の比率が、点火時期モデルθ^kの各要素間の比率と同じであると仮定することに相当する。本発明者らの知見によれば、このような仮定は現実と精度良く一致していることが認められる。よって、本実施形態では、ベクトルθ^k/max(θ^k)をベクトルDとして用いることにより、学習精度の低下を招くことなく、上記のような簡略化を図ることができる。
【００９３】
なお、通常、カルマンフィルタ理論は、何らかの物理現象に対応する物理モデルを対象として適用される。この場合、物理モデルを表すベクトルの各要素は、それぞれが何らかの物理現象を表しており、要素毎に固有のバラツキ度合いを示すのが普通である。このため、通常は上記のような簡略化を図ることはできない。これに対し、本発明では、物理モデルが対象ではなく、点火時期マップを近似した点火時期モデルθ^を対象としているので、上記のような簡略化を図ることができる。
【００９４】
ところで、上述した実施の形態１では、フィードバック制御器５４が、点火時期をＭＢＴに近づけるべくフィードバック制御を行う場合を例に説明したが、本発明では、点火時期フィードバック制御の内容はこれに限定されるものではない。すなわち、フィードバック制御器５４が行う点火時期フィードバック制御は、目標とする燃焼状態が得られるように点火時期をフィードバック制御するものであれば、いかなるものであっても良い。例えば、フィードバック制御器５４は、内燃機関１０に生ずるノッキングを、公知のノックセンサ、あるいは筒内圧センサ、イオンセンサなどによって検出し、ノッキングが生じない範囲で点火時期をなるべく進角させるようにするノッキングフィードバック制御を行うものでもよい。
【００９５】
また、上述した実施の形態１においては、フィードフォワード制御器５２が前記第１の発明における「点火時期フィードフォワード制御手段」に、燃焼割合算出手段５６が前記第１および第２の発明における「燃焼状態検出手段」に、フィードバック制御器５４が前記第１の発明における「点火時期フィードバック制御手段」に、点火時期モデル学習手段５８が前記第１および第５の発明における「点火時期モデル学習手段」に、共分散算出手段６０が前記第１および第４の発明における「点火時期共分散算出手段」に、それぞれ相当している。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施の形態１のシステム構成を説明するための図である。
【図２】本発明の実施の形態１においてＥＣＵが点火時期制御装置として機能する場合の機能ブロック図である。
【図３】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図４】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【符号の説明】
【００９７】
１０  内燃機関
１２  吸気通路
１４  排気通路
１６  エアフローメータ
１８  スロットル弁
２６  燃料インジェクタ
３０  点火プラグ
４０  筒内圧センサ
５０  ＥＣＵ
５２  フィードフォワード制御器
５４  フィードバック制御器
５６  燃焼割合算出手段
５８  点火時期モデル学習手段
６０  共分散算出手段
【図１】
2008138596.tif 000005
【図２】
2008138596.tif 000006
【図３】
2008138596.tif 000007
【図４】
2008138596.tif 000008