(57)【要約】【課題】  必要充分なトルクを確保しつつ、排気エミッションを確実に低減させることできる内燃機関の制御装置および制御方法の提供。【解決手段】  燃料および空気の混合気を燃焼室３内で燃焼させて動力を発生する内燃機関１は、筒内圧力を検出する筒内圧センサ１５と、ＥＣＵ２０とを備える。ＥＣＵ２０は、筒内圧センサ１５によって検出された筒内圧力に基づいて所定のタイミングにおける燃焼割合ＭＦＢを算出し、当該燃焼割合ＭＦＢが目標値と一致するように点火時期を設定すると共に、燃焼室３内の燃焼に関連するパラメータである１サイクル中の最大筒内圧力に基づいて、内燃機関１のトルクの低下が許容範囲内に収まるように点火時期を遅角させるための補正量を設定する。【選択図】  図１
2006170183.tif 000002
【特許請求の範囲】
【請求項１】
燃料および空気の混合気を燃焼室内で燃焼させて動力を発生する内燃機関の制御装置において、
筒内圧力を検出する筒内圧検出手段と、
前記筒内圧検出手段によって検出された筒内圧力に基づいて所定のタイミングにおける燃焼割合を算出する燃焼割合算出手段と、
前記燃焼割合算出手段によって算出される燃焼割合が目標値と一致するように前記燃焼室における燃焼開始時期を設定する燃焼開始時期設定手段と、
前記燃焼室内の燃焼に関連する所定のパラメータに基づいて、前記内燃機関が発生するトルクの低下が許容範囲内に収まるように前記燃焼開始時期の補正量を設定する補正手段とを備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記燃焼割合と前記目標値との偏差が所定範囲内にあるか否か判定する判定手段を更に備え、前記補正手段は、前記判定手段によって前記燃焼割合と前記目標値との偏差が所定範囲内にあると判断された場合に、前記内燃機関が発生するトルクの低下が許容範囲内に収まるように前記燃焼開始時期を遅角させるための補正量を設定することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記所定のパラメータは、前記燃焼室における１サイクル中の最大筒内圧力であることを特徴とする請求項１または２に記載の内燃機関の制御装置。
【請求項４】
前記補正手段は、前記最大筒内圧力が所定割合だけ低下するように前記燃焼開始時期を遅角させるための補正量を設定することを特徴とする請求項３に記載の内燃機関の制御装置。
【請求項５】
前記燃焼割合算出手段は、前記筒内圧検出手段によって検出される筒内圧力と当該筒内圧力の検出時における筒内容積を所定の指数で累乗した値との積値に基づいて前記燃焼割合を算出することを特徴とする請求項１から４の何れかに記載の内燃機関の制御装置。
【請求項６】
前記所定のタイミングは、吸気弁閉弁後かつ燃焼開始前に設定された第１のタイミングと、前記燃焼開始の後かつ排気弁開弁前に設定された第２のタイミングとの間に設定されており、前記燃焼割合算出手段は、前記第１のタイミングと前記第２のタイミングとの間における前記積値の差分と、前記第１のタイミングと前記所定のタイミングとの間における前記積値の差分とに基づいて前記燃焼割合を算出することを特徴とする請求項５に記載の内燃機関の制御装置。
【請求項７】
燃料室内における筒内圧力を検出する筒内圧検出手段を有し、燃料および空気の混合気を前記燃焼室内で燃焼させて動力を発生する内燃機関の制御方法において、
前記筒内圧検出手段によって検出される筒内圧力に基づいて所定のタイミングにおける燃焼割合を算出し、当該燃焼割合が目標値と一致するように前記燃焼室における燃焼開始時期を設定すると共に、前記燃焼室内の燃焼に関連する所定のパラメータに基づいて、前記内燃機関が発生するトルクの低下が許容範囲内に収まるように前記燃焼開始時期の補正量を設定することを特徴とする内燃機関の制御方法。
【請求項８】
前記燃焼開始時期設定手段が、前記燃焼割合算出手段によって算出される燃焼割合と目標値との偏差に基づいて前記燃焼開始時期を設定するものであり、
前記燃焼割合の目標値を機関運転状態に基づいて設定する目標値設定手段と、前記燃焼開始時期設定手段によって設定された前記燃焼開始時期に加えられるべき修正項を機関運転状態に基づいて設定する修正項設定手段とをさらに備えることを特徴とする請求項１乃至６いずれかに記載の内燃機関の制御装置。
【請求項９】
前記修正項が、機関運転状態に関連する所定のパラメータと、所定の重み係数とに基づいて設定されることを特徴とする請求項８記載の内燃機関の制御装置。
【請求項１０】
前記燃焼開始時期と前記修正項とによる機関制御結果に応じて所定の評価関数を設定する評価関数設定手段をさらに備えることを特徴とする請求項９記載の内燃機関の制御装置。
【請求項１１】
前記機関運転状態に関連する所定のパラメータと前記所定の重み係数と前記所定の評価関数とからなる複数のデータ組を観測データ行列として更新記憶すると共に、前記観測データ行列の活性状態を判断し、その観測データ行列が活性と判断したとき前記重み係数を更新する修正項更新手段をさらに備えることを特徴とする請求項１０記載の内燃機関の制御装置。
【請求項１２】
前記修正項更新手段が、前記観測データ行列の行列式の値が所定値より大きいときに前記観測データ行列を活性と判断して前記重み係数を更新することを特徴とする請求項１１記載の内燃機関の制御装置。
【請求項１３】
前記修正項が、機関運転領域に応じて個別に設定されることを特徴とする請求項８乃至１２いずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料および空気の混合気を燃焼室内で燃焼させて動力を発生する内燃機関の制御装置および制御方法に関する。
【背景技術】
【０００２】
従来から、内燃機関の燃焼室における混合気の燃焼開始時期（火花点火時期または圧縮着火時期）を大きなトルクが得られると共にノッキングが発生しない最適なタイミング（ＭＢＴ：Minimum advance for Best Torque）に設定するために、燃焼室における燃焼割合に基づいて燃焼開始時期を進角または遅角させるものが知られている（例えば、特許文献１および２参照。）。また、希薄燃焼運転を実行する内燃機関において、ＮＯｘを低減させつつ安定した燃焼状態を得るために、圧縮行程中の少なくとも２点における燃焼割合がそれぞれ目標燃焼割合になるように点火時期及び燃料噴射量をフィードバック制御する手法も知られている（例えば、特許文献３参照。）。
【０００３】
【特許文献１】特公昭６２−５３７１０号公報
【特許文献２】特開平９−１８９２８１号公報
【特許文献３】特開平７−４２６０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の最適な燃焼開始時期（ＭＢＴ）は、ノッキングを発生させてしまう点火または着火時期の近傍にあることから、ノッキングが発生しないようにしながら燃焼開始時期をできる限り進角させることにより、燃焼開始時期をＭＢＴに近づけて内燃機関に大きなトルクを発生させることができる。しかしながら、このように燃焼開始時期をＭＢＴに近づけるべく燃焼開始時期を進角させた場合、ＮＯｘ等の排気エミッションが増加してしまうおそれもある。
【０００５】
そこで、本発明は、必要充分なトルクを確保しつつ、排気エミッションを確実に低減させることできる内燃機関の制御装置および制御方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
本発明による内燃機関の制御装置は、燃料および空気の混合気を燃焼室内で燃焼させて動力を発生する内燃機関の制御装置において、筒内圧力を検出する筒内圧検出手段と、筒内圧検出手段によって検出された筒内圧力に基づいて所定のタイミングにおける燃焼割合を算出する燃焼割合算出手段と、燃焼割合算出手段によって算出される燃焼割合が目標値と一致するように燃焼室における燃焼開始時期を設定する燃焼開始時期設定手段と、燃焼室内の燃焼に関連する所定のパラメータに基づいて、内燃機関が発生するトルクの低下が許容範囲内に収まるように燃焼開始時期の補正量を設定する補正手段とを備えることを特徴とする。
【０００７】
本発明による内燃機関の制御方法は、燃料室内における筒内圧力を検出する筒内圧検出手段を有し、燃料および空気の混合気を燃焼室内で燃焼させて動力を発生する内燃機関の制御方法において、筒内圧検出手段によって検出される筒内圧力に基づいて所定のタイミングにおける燃焼割合を算出し、当該燃焼割合が目標値と一致するように燃焼室における燃焼開始時期を設定すると共に、燃焼室内の燃焼に関連する所定のパラメータに基づいて、内燃機関が発生するトルクの低下が許容範囲内に収まるように燃焼開始時期の補正量を設定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、必要充分なトルクを確保しつつ、排気エミッションを確実に低減させることできる内燃機関の制御装置および制御方法の実現が可能となる。
【発明を実施するための最良の形態】
【０００９】
本発明による制御装置が適用される内燃機関では、燃焼割合算出手段によって算出される所定のタイミング（例えば上死点後８°）における燃焼割合が目標値（例えば５０％）と一致するように燃焼室における燃焼開始時期（火花点火時期または圧縮着火時期）が燃焼開始時期設定手段によって設定（フィードバック制御）される。これにより、本発明による制御装置が適用された内燃機関では、基本的に、燃焼室における燃焼開始時期が概ね最適に設定されるので、ノッキングが発生しないようにしつつ内燃機関から大きなトルクを得ることができる。
【００１０】
ここで、燃焼室における燃焼開始時期が概ね最適に設定されている場合、燃焼開始時期を多少変化（遅角）させても、内燃機関が発生するトルクの低下は僅かであり、実用上許容され得る範囲内に収まる。また、燃焼開始時期を変化（遅角）させることにより、ＮＯｘ等の排気エミッションを低減させることが可能である。これらの点に鑑みて、この制御装置には、燃焼開始時期の補正量を設定する補正手段が備えており、当該補正手段は、内燃機関が発生するトルクの低下が許容範囲内に収まるように燃焼開始時期の補正量を設定する。これにより、この内燃機関の制御装置によれば、必要充分なトルクを確保しつつ、ＮＯｘ等の排気エミッションを確実に低減させることが可能となる。
【００１１】
また、本発明による内燃機関の制御装置は、燃焼割合と目標値との偏差が所定範囲内にあるか否か判定する判定手段を更に備えるとよく、補正手段は、判定手段によって燃焼割合と目標値との偏差が所定範囲内にあると判断された場合に、内燃機関が発生するトルクの低下が許容範囲内に収まるように燃焼開始時期を遅角させるための補正量を設定すると好ましい。
【００１２】
このような構成のもとでは、燃焼割合と目標値とが概ね一致して燃焼室における燃焼開始時期が概ね最適に設定され、大きなトルクが発生している場合にのみ、燃焼開始時期が遅角されることになるので、内燃機関が発生するトルクの低下が許容範囲から外れてしまうことを確実に抑制することが可能となる。
【００１３】
更に、所定のパラメータは、燃焼室における１サイクル中の最大筒内圧力であると好ましく、また、補正手段は、最大筒内圧力が所定割合だけ低下するように燃焼開始時期を遅角させるための補正量を設定すると好ましい。
【００１４】
一般に、図１において実線で示されるように、最適な点火時期（ＭＢＴ、図１の例では、４２°）付近では、燃焼室における１サイクル（吸気、圧縮、膨張、排気の４行程）中の最大筒内圧力は点火時期に概ね比例して増加し、予め実験・解析を行うことにより、点火時期と最大筒内圧力との相関を定めておくことができる。また、図１において破線で示されるように、燃焼室における１サイクル中の最大筒内圧力が高い程、ＮＯｘ等の排気エミッションが増加する傾向にあるので、点火時期を遅角させて最大筒内圧力を低下させれば、ＮＯｘ等の排気エミッションを低減させることが可能となる。
【００１５】
一方、燃焼室における燃焼開始時期が概ね最適に設定されている場合には内燃機関から充分に大きなトルクが得られており、この状態から、内燃機関の発生トルク（軸トルク）が例えば１％程度低下しても実用上許容され得ることが判明している。そして、ＭＢＴのもとでの軸トルクをＴｑＭＢＴとすれば、図２からわかるように、内燃機関の軸トルクが例えば０．９９×ＴｑＭＢＴとなる点火時期ＳＡｘを実験的に定めておくことができる。  また、点火時期ＳＡｘにおける最大筒内圧力Ｐｘは、図１の点火時期と最大筒内圧力との相関から求められる。
【００１６】
従って、ＭＢＴでの最大筒内圧力をＰＭＢＴとしたときに、ＰＭＢＴ×（１−α）≧Ｐｘとなるように最大筒内圧力の低下割合αを定め、最大筒内圧力が割合αだけ低下するように燃焼開始時期を遅角させた場合には、内燃機関が発生するトルクの低下を許容範囲内（最適な燃焼開始時期のトルクの例えばマイナス１％以下）に収めることが可能となる。  このように、上記所定のパラメータとして燃焼室における１サイクル中の最大筒内圧力を選択し、図１に例示される点火時期と最大筒内圧力との相関を用いて最大筒内圧力が割合αだけ低下するように燃焼開始時期を遅角させるための補正量を設定すれば、必要充分なトルクの確保と、ＮＯｘ等の排気エミッションの低減とを実用上良好に両立させることが可能となる。
【００１７】
また、燃焼割合算出手段は、筒内圧検出手段によって検出される筒内圧力と当該筒内圧力の検出時における筒内容積を所定の指数で累乗した値との積値に基づいて燃焼割合を算出すると好ましい。
【００１８】
本発明者は、ある燃焼室について所定のタイミングにおける燃焼割合を算出する際の演算負荷を低減すべく鋭意研究を行った。その結果、本発明者は、クランク角がθである際に筒内圧検出手段によって検出される筒内圧力をＰ（θ）とし、クランク角がθである際（当該筒内圧力Ｐ（θ）の検出時）の筒内容積をＶ（θ）とし、比熱比をκとした場合に、筒内圧力Ｐ（θ）と、筒内容積Ｖ（θ）を比熱比（所定の指数）κで累乗した値Ｖκ（θ）との積値Ｐ（θ）・Ｖκ（θ）（以下、適宜「ＰＶκ」と記す）に着目した。
【００１９】
そして、本発明者は、クランク角に対する内燃機関の燃焼室内における熱発生量Ｑの変化パターンと、クランク角に対する積値ＰＶκの変化パターンとが図３に示されるような相関を有することを見出した。図３において、実線は、所定のモデル気筒において所定の微小クランク角おきに検出された筒内圧力と、当該筒内圧力の検出時における筒内容積を所定の比熱比κで累乗した値との積値ＰＶκをプロットしたものである。また、図３において、破線は、上記モデル気筒における熱発生量Ｑを次の（１）式に基づき、Ｑ＝∫ｄＱ／ｄθ・Δθとして算出・プロットしたものである。なお、何れの場合も、簡単のために、κ＝１．３２とした。また、図３において、−３６０°，０°および３６０°は、上死点に、−１８０°および１８０°は、下死点に対応する。
【００２０】
【数１】
2006170183.tif 000003
【００２１】
図３に示される結果からわかるように、クランク角に対する熱発生量Ｑの変化パターンと、クランク角に対する積値ＰＶκの変化パターンとは、概ね一致（相似）しており、特に、筒内の混合気の燃焼開始（ガソリンエンジンでは火花点火時、ディーゼルエンジンでは圧縮着火時）の前後（例えば、図３における約−１８０°から約１３５°までの範囲）では、熱発生量Ｑの変化パターンと、積値ＰＶκの変化パターンとは極めて良好に一致することがわかる。
【００２２】
本発明の好ましい実施形態においては、燃焼室における熱発生量Ｑと積値ＰＶκとの相関を利用して、筒内圧検出手段によって検出される筒内圧力と、当該筒内圧力の検出時における筒内容積との積値ＰＶκに基づいて、ある２点間におけるトータルの熱発生量に対する当該２点間の所定のタイミングまでの熱発生量の比である燃焼割合ＭＦＢが求められる。ここで、積値ＰＶκに基づいて燃焼室における燃焼割合を算出すれば、高負荷な演算処理を要することなく燃焼室における燃焼割合を精度よく得ることができる。すなわち、図４に示されるように、積値ＰＶκに基づいて求められる燃焼割合（同図における実線参照）は、熱発生率に基づいて求められる燃焼割合（同図における破線参照）とほぼ一致する。
【００２３】
図４において、実線は、上述のモデル気筒においてクランク角＝θとなるタイミングにおける燃焼割合を、次の（２）式に従うと共に、検出した筒内圧力Ｐ（θ）に基づいて算出し、プロットしたものである。ただし、簡単のために、κ＝１．３２とした。また、図４において、破線は、上述のモデル気筒においてクランク角＝θとなるタイミングにおける燃焼割合を、上記（１）式および次の（３）式に従うと共に、検出した筒内圧力Ｐ（θ）に基づいて算出し、プロットしたものである。この場合も、簡単のために、κ＝１．３２とした。
【００２４】
【数２】
2006170183.tif 000004
【００２５】
【数３】
2006170183.tif 000005
【００２６】
更に、上記所定のタイミングは、吸気弁閉弁後かつ燃焼開始前に設定された第１のタイミングと、燃焼開始の後かつ排気弁開弁前に設定された第２のタイミングとの間に設定されるとよく、燃焼割合算出手段は、第１のタイミングと第２のタイミングとの間における積値の差分と、第１のタイミングと所定のタイミングとの間における積値の差分とに基づいて燃焼割合を算出すると好ましい。
【００２７】
この場合、当該所定のタイミングにおけるクランク角をθ０とすると、クランク角＝θ０となる当該所定のタイミングにおける燃焼割合ＭＦＢは、第１のタイミングと上記所定のタイミングとの間における積値ＰＶκの差分{Ｐ（θ０）・Ｖκ（θ０）−Ｐ（θ１）・Ｖκ（θ１）}を、第１のタイミングと第２のタイミングとの間における積値ＰＶκの差分{Ｐ（θ２）・Ｖκ（θ２）−Ｐ（θ１）・Ｖκ（θ１）}で除して１００を乗じることにより得ることができる。これにより、３点において検出した筒内圧力に基づいて精度よく燃焼割合を求めることが可能となり、演算負荷を大幅に低減させることができる。
【００２８】
以下、図面を参照しながら、本発明を実施するための最良の形態について具体的に説明する。
【００２９】
図５は、本発明による制御装置が適用された内燃機関を示す概略構成図である。同図に示される内燃機関１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストン４を往復移動させることにより動力を発生するものである。内燃機関１は多気筒エンジンとして構成されると好ましく、本実施形態の内燃機関１は、例えば４気筒エンジンとして構成される。
【００３０】
各燃焼室３の吸気ポートは、吸気管（吸気マニホールド）５にそれぞれ接続され、各燃焼室３の排気ポートは、排気管（排気マニホールド）６にそれぞれ接続されている。また、内燃機関１のシリンダヘッドには、吸気弁Ｖｉおよび排気弁Ｖｅが燃焼室３ごとに配設されている。各吸気弁Ｖｉは、対応する吸気ポートを開閉し、各排気弁Ｖｅは、対応する排気ポートを開閉する。各吸気弁Ｖｉおよび各排気弁Ｖｅは、例えば、可変バルブタイミング機能を有する動弁機構（図示省略）によって動作させられる。更に、内燃機関１は、気筒数に応じた数の点火プラグ７を有し、点火プラグ７は、対応する燃焼室３内に臨むようにシリンダヘッドに配設されている。
【００３１】
吸気管５は、図５に示されるように、サージタンク８に接続されている。サージタンク８には、給気ラインが接続されており、給気ラインは、エアクリーナ９を介して図示されない空気取入口に接続されている。そして、給気ラインの中途（サージタンク８とエアクリーナ９との間）には、スロットルバルブ（本実施形態では、電子制御式スロットルバルブ）１０が組み込まれている。一方、排気管６には、図５に示されるように、三元触媒を含む前段触媒装置１１ａおよびＮＯｘ吸蔵還元触媒を含む後段触媒装置１１ｂが接続されている。
【００３２】
更に、内燃機関１は、複数のインジェクタ１２を有し、各インジェクタ１２は、図５に示されるように、対応する吸気管５の内部（吸気ポート内）に臨むように配置されている。各インジェクタ１２は、各吸気管５の内部にガソリン等の燃料を噴射する。なお、本実施形態の内燃機関１は、いわゆるポート噴射式のガソリンエンジンとして説明されるが、これに限られるものではなく、本発明がいわゆる直噴式内燃機関に適用され得ることはいうまでもない。また、本発明が、ガソリンエンジンだけではなく、ディーゼルエンジンにも適用され得ることはいうまでもない。
【００３３】
上述の各点火プラグ７、スロットルバルブ１０、各インジェクタ１２および動弁機構等は、内燃機関１の制御装置として機能するＥＣＵ２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および、記憶装置等を含むものである。ＥＣＵ２０には、図５に示されるように、クランク角センサ１４を始めとした各種センサが電気的に接続されている。ＥＣＵ２０は、記憶装置に記憶されている各種マップ等を用いると共に各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ７、スロットルバルブ１０、インジェクタ１２、動弁機構等を制御する。
【００３４】
また、内燃機関１は、半導体素子、圧電素子あるいは光ファイバ検出素子等を含む筒内圧センサ（筒内圧検出手段）１５を気筒数に応じた数だけ有している。各筒内圧センサ１５は、対応する燃焼室３内に受圧面が臨むようにシリンダヘッドに配設されており、ＥＣＵ２０に電気的に接続されている。各筒内圧センサ１５は、対応する燃焼室３における筒内圧力（相対圧力）を検出し、検出値を示す信号をＥＣＵ２０に与える。各筒内圧センサ１５の検出値は、所定時間（所定クランク角）おきにＥＣＵ２０に順次与えられ、絶対圧力に補正された上でＥＣＵ２０の所定の記憶領域（バッファ）に所定量ずつ格納保持される。
【００３５】
次に、図６および７を参照しながら、上述の内燃機関１における燃焼開始時期すなわち点火時期の制御手順について説明する。
【００３６】
図６に示されるように、ＥＣＵ２０は、内燃機関１の点火時期を設定するための比例積分回路を有している。この比例積分回路は、後述の手順に従ってサイクルごとに算出される所定のタイミング（本実施形態では、上死点後８°）における燃焼割合ＭＦＢと目標値（目標ＭＦＢ、本実施形態では５０％）との偏差に基づいて（偏差をゼロにするように）燃焼室３ごとに点火時期を算出（設定）する。これにより、内燃機関１では、基本的に、燃焼割合ＭＦＢが目標値と一致するように点火時期がフィードバック制御され、各燃焼室３における点火時期が概ね最適に設定されるので、ノッキングが発生しないようにしつつ内燃機関１から大きなトルクを得ることができる。
【００３７】
そして、内燃機関１では、ＥＣＵ２０によって図７に示される点火時期設定ルーチンが燃焼室３ごとに繰り返し実行される。この場合、ＥＣＵ２０は、まず、燃焼割合ＭＦＢが目標値と一致するように点火時期をフィードバック制御すべきか否か判定する（Ｓ１０）。Ｓ１０では例えば内燃機関１の始動時等に否定判断がなされ、この場合、ＥＣＵ２０は、予め用意されている点火時期設定マップを用いて、対象となる燃焼室３の点火時期を設定する（Ｓ１１）。そして、このようにして設定される点火時期が到来すると、詳細については後述されるように、対象となる燃焼室３において点火プラグ７による点火が実行され（Ｓ１８参照）、更に、点火が実行された燃焼室３について所定のタイミングにおける燃焼割合ＭＦＢが算出される（Ｓ２０参照）。
【００３８】
また、Ｓ１０にて燃焼割合ＭＦＢに基づいて点火時期をフィードバック制御すべきであると判断した場合、ＥＣＵ２０（比例積分回路）は、後述のＳ２０にて前サイクル中に算出される燃焼割合ＭＦＢと目標値（目標ＭＦＢ）との偏差に基づいて対象となる燃焼室３の点火時期を算出する（Ｓ１２）。更に、ＥＣＵ２０は、所定のフラグが「１」であるか否か判定する（Ｓ１４）。Ｓ１４にて当該フラグが「１」であると判断された場合、予め算出・記憶されている補正量が比例積分回路の出力に加算されて点火時期として設定され（Ｓ１６）、当該フラグが「０」であると判断された場合には、Ｓ１６の処理がスキップされて比例積分回路の出力がそのまま点火時期として設定される。このようにして設定された点火時期が到来すると、対象となる燃焼室３において点火プラグ７による点火が実行される（Ｓ１８）。
【００３９】
Ｓ１８にて点火が実行されると、ＥＣＵ２０は、点火が実行された燃焼室３について所定のタイミングにおける燃焼割合ＭＦＢを算出する（Ｓ２０）。Ｓ２０における燃焼割合ＭＦＢの算出に際して、ＥＣＵ２０は、まず、対象となる燃焼室３について所定の記憶領域から、吸気弁Ｖｉの閉弁後かつ点火前の第１のタイミング（クランク角がθ１となるタイミング）における筒内圧力Ｐ（θ１）と、点火の後かつ排気弁開弁前の第２タイミング（クランク角がθ２となるタイミング）における筒内圧力Ｐ（θ２）と、第１のタイミングと第２のタイミングとの間に予め定められており、クランク角＝θ０（ただし、θ１＜θ０＜θ２）となる所定のタイミングにおける筒内圧力Ｐ（θ０）とを読み出す。
【００４０】
クランク角θ１は、燃焼室３内において燃焼が開始される時点（点火時）よりも十分に前のタイミングに設定されると好ましく、例えば−６０°とされる。また、クランク角θ２は、燃焼室３内における混合気の燃焼が概ね完了したタイミングに設定されると好ましく、例えば９０°とされる。更に、第１のタイミングと第２のタイミングとの間の所定のタイミングは、燃焼割合ＭＦＢがほぼ５０％になることが実験的、経験的に知られているクランク角がθ０＝８°（上死点後８°）となるタイミングに設定されている。
【００４１】
なお、燃焼割合ＭＦＢがおよそ５０％となるクランク角は、内燃機関の冷却損失によって変化するものであり、機種によって上死点後８°から多少前後する。また、成層燃焼運転が実行される場合や、ディーゼルエンジンの場合、それぞれに応じた最適燃焼開始時期（ＭＢＴ）を求めればよく、そのＭＢＴでの燃焼割合は容易に算出することができる。更に、上述の第１のタイミングθ１、第２のタイミングθ２および閾値γは、機関回転数および負荷に応じて設定されてもよく、この場合、第１のタイミングθ１、第２のタイミングθ２および閾値γを内燃機関１の回転数および負荷に応じて規定するマップを用意しておくとよい。
【００４２】
ＥＣＵ２０は、筒内圧力Ｐ（θ１）、筒内圧力Ｐ（θ０）および筒内圧力Ｐ（θ２）を読み出すと、クランク角がθ１，θ０およびθ２となる時の積値Ｐ（θ１）・Ｖκ（θ１），Ｐ（θ０）・Ｖκ（θ０）およびＰ（θ２）・Ｖκ（θ２）を算出する。すなわち、ＥＣＵ２０は、筒内圧力Ｐ（θ１）と、筒内圧力Ｐ（θ１）の検出時、すなわち、クランク角がθ１となる時の筒内容積Ｖ（θ１）を比熱比κ（本実施形態では、κ＝１．３２）で累乗した値との積である積値Ｐ（θ１）・Ｖκ（θ１）を算出する。同様に、ＥＣＵ２０は、筒内圧力Ｐ（θ０）と、クランク角がθ０となる時の筒内容積Ｖ（θ０）を比熱比κで累乗した値との積である積値Ｐ（θ０）・Ｖκ（θ０）、および、筒内圧力Ｐ（θ２）と、クランク角がθ２となる時の筒内容積Ｖ（θ２）を比熱比κで累乗した値との積である積値Ｐ（θ２）・Ｖκ（θ２）を算出する。なお、Ｖκ（θ１），Ｖκ（θ０）およびＶκ（θ２），の値は、予め算出された上で記憶装置に記憶されている。
【００４３】
そして、ＥＣＵ２０は、クランク角がθ１，θ０およびθ２となる時の積値Ｐ（θ１）・Ｖκ（θ１），Ｐ（θ０）・Ｖκ（θ０）およびＰ（θ２）・Ｖκ（θ２）を用いて、次の（４）式からクランク角がθ０となるタイミングにおける燃焼割合ＭＦＢを算出する（Ｓ２０）。これにより、３点において検出された筒内圧力Ｐ（θ１），Ｐ（θ０），Ｐ（θ２）に基づいて精度よく燃焼割合を求めることが可能となり、演算負荷を大幅に低減させることができる。
【００４４】
【数４】
2006170183.tif 000006
【００４５】
Ｓ２０にて燃焼割合ＭＦＢを算出すると、ＥＣＵ２０は、上述のフラグが「０」であるか否か判定し（Ｓ２２）、当該フラグが「０」であると判断した場合、Ｓ２０にて求めた燃焼割合ＭＦＢから目標値である「５０％」を減じた値の絶対値｜ＭＦＢ−５０｜が所定の閾値（正の所定値）γ以下となっているか否か判定する（Ｓ２４）。すなわち、Ｓ２４では、Ｓ２０にて算出されたクランク角がθ０＝８°となる時の燃焼割合ＭＦＢと、クランク角がθ０＝８°となる時の燃焼割合の理論値（目標値）５０（％）との偏差が求められ、当該偏差が閾値γ以下となっているか否か、および、当該偏差が−γ以上となっているか否かが判定される。
【００４６】
ＥＣＵ２０は、Ｓ２４にて、｜ＭＦＢ−５０｜が上記閾値γ以下となっており、点火時期が概ね最適になっていると判断すると、ＥＣＵ２０は、所定の記憶領域から、クランク角がθ＝−１０°，０°，１０°の時の筒内圧力を読み出し、これら３点における筒内圧力に基づいて、現サイクル中の筒内圧力の最大値（最大筒内圧力）を算出する（Ｓ２６）。ここでは、クランク角が−１０°から１０°の範囲で、筒内圧力はその特性を良好に反映した次の（５）式（ガウス関数）により表されると仮定される。この場合、（５）式のｙすなわち筒内圧力が最大となるのは、ｘ＝ｍのときであるから、ｙを最大にするｍは、最大筒内圧力に対応したクランク角となる。
【００４７】
【数５】
2006170183.tif 000007
【００４８】
また、θ＝−１０°の時のクランク角（クランク角センサ１４の検出値θ）および筒内圧を（ｘ−１０，ｙ−１０）と表し、θ＝０°の時のクランク角および筒内圧を（ｘ０，ｙ０）と表し、θ＝１０°の時のクランク角および筒内圧を（ｘ１０，ｙ１０）と表し（ただし、ｘ−１０＝−１０°、ｘ０＝０°、ｘ１０＝１０°である）、（ｘ−１０，ｙ−１０），（ｘ０，ｙ０）および（ｘ１０，ｙ１０）を（５）式にそれぞれ代入して両辺の対数をとると、次の（６）式が得られる。そして、かかる（６）式を解くことにより、最大筒内圧力に対応したクランク角の近似値（ｍ）を求めことができる。なお、（６）式において、ｄは時定数を、Ｋはゲインを示す。ＥＣＵ２０は、Ｓ２６にて、上記（ｘ−１０，ｙ−１０），（ｘ０，ｙ０），（ｘ１０，ｙ１０）を用いてガウス近似処理を実行し、最大筒内圧力に対応したクランク角の近似値（ｍ）を求め、求めたクランク角の近似値（ｍ）に対応した最大筒内圧力ＰＭＡＸを所定の記憶領域から読み出す。
【００４９】
【数６】
2006170183.tif 000008
【００５０】
ここで、Ｓ２４にて点火時期が概ね最適になっていると判断された場合には内燃機関１から充分に大きなトルクが得られており、この状態から、内燃機関１の軸トルクが１％程度低下しても実用上許容され得る。すなわち、点火時期がＭＢＴ付近にある場合、いわゆるトルク感度が低くなる。また、上述のように、点火時期を遅角させて最大筒内圧力を低下させれば、ＮＯｘ等の排気エミッションを低減させることが可能である。更に、予め実験・解析を行うことにより、内燃機関１の軸トルクの低下が許容範囲内（ＭＢＴのもとでのトルクの例えばマイナス１％以下）に収まるようにする最大筒内圧力の低下割合αを予め求めておくことができる。そして、最大筒内圧力を割合αだけ低下させるための点火時期の遅角量は、図１に例示される点火時期と最大筒内圧力との相関から求めることができる。
【００５１】
図１において実線で示されるように、最適な点火時期（ＭＢＴ）付近では、燃焼室３における１サイクル中の最大筒内圧力は点火時期に概ね比例して増加するので、点火時期をｘとし、最大筒内圧力をｙとすると、最大筒内圧力を次の（７）式のように表すことができる。ただし、（７）式において、ａ，ｂは実験等により定められる定数である。この場合、最大筒内圧力ＰＭＡＸに対応する点火時期をＳＡとし、最大筒内圧力を（１−α）×ＰＭＡＸとするための点火時期をＳＡ'とすると、最大筒内圧力を割合αだけ低下させるための点火時期の遅角量は、ＳＡ−ＳＡ'となるが、かかる補正量は、上記（７）式に（ＰＭＡＸ，ＳＡ）および（（１−α）×ＰＭＡＸ，ＳＡ'）をそれぞれ代入して連立方程式を解くことにより、次の（８）式のように求めることができる。本実施形態では、最大筒内圧力の低下割合αと、点火時期と最大筒内圧力との相関を定める係数（傾き）ａとが予め求められており、ＥＣＵ２０は、これらの値αおよびａとＳ２６にて求めた最大筒内圧力ＰＭＡＸとに基づいて点火時期を遅角させるための補正量を算出（設定）し、所定の記憶領域に記憶させる（Ｓ２８）。  
ｙ＝ａ・ｘ＋ｂ  …（７）
補正量＝α／ａ×ＰＭＡＸ  …（８）
【００５２】
Ｓ２８の処理の後、所定のタイミングになると、ＥＣＵ２０は、内燃機関１の運転状態を示す各種パラメータに基づいて、内燃機関１の運転条件が概ね一定であるか否か、すなわち、内燃機関１の運転条件の変更が所定範囲内にあるか否か判定する（Ｓ３０）。Ｓ３０にて運転条件の変更が所定範囲内にあると判断した場合、ＥＣＵ２０は、比例積分回路の制御偏差を「ゼロ」にするために、比例積分回路にフィードバックされる燃焼割合ＭＦＢの値を５０％に設定すると共に、上述のフラグを「１」に設定した上で（Ｓ３２）、上述のＳ１０以降の処理を再度実行する。この場合、Ｓ３２にて、比例積分回路における制御偏差を「ゼロ」にする処理が実行されているので、Ｓ１０にて肯定判断がなされると、次のＳ１２にて比例積分回路から出力される対象燃焼室３についての点火時期は前回と同じ値となる。そして、次のＳ１４ではフラグが「１」であると判断されることから、次のＳ１６にて比例積分回路の出力にＳ２８で算出・記憶された補正量が加算され、これにより、点火時期が遅角されることになる。
【００５３】
このように遅角された点火時期に基づいて対象となる燃焼室３における点火が実行された後（Ｓ１８）、当該燃焼室３について燃焼割合ＭＦＢが算出される（Ｓ２０）。この場合、次のＳ２２では、上述のフラグが「１」であると判断され、上述のＳ２４からＳ２８までの処理がスキップされる。そして、Ｓ３０にて運転条件の変更が所定範囲内にあると判断された場合、比例積分回路にフィードバックされる燃焼割合ＭＦＢの値が５０％に設定されると共に上記フラグが再度「１」に設定され（Ｓ３２）、上述のＳ１０以降の処理が再度実行される。これにより、内燃機関１では、Ｓ２４にて燃焼割合ＭＦＢと目標値（５０％）との偏差が所定範囲内にあり、点火時期が概ね最適であると判断され、かつ、Ｓ３０にて運転条件の変更が所定範囲内にあると判断される場合、燃焼割合ＭＦＢに基づいた点火時期のフィードバック制御が中断され、点火時期は、概ね最適な点火時期（ＭＢＴ）を内燃機関１のトルクの低下が許容範囲内に収まるように遅角させた値に設定されることになる。
【００５４】
この結果、内燃機関１では、必要充分なトルクの確保と、ＮＯｘ等の排気エミッションの低減とを実用上良好に両立させることが可能となる。また、図７のルーチンにおいて点火時期が遅角されるのは、Ｓ２４にて点火時期が概ね最適に設定されていると判断される場合、すなわち、内燃機関１が大きなトルクが発生していると判断される場合のみである。従って、内燃機関１では、トルクの低下が許容範囲から外れてしまうことを確実に抑制することが可能となる。
【００５５】
一方、Ｓ２４にて燃焼割合ＭＦＢと目標値（５０％）との偏差が所定範囲内にはないと判断した場合、ＥＣＵ２０は、上述の点火時期を遅角させるための補正量を設定せず、Ｓ２０にて算出した燃焼割合ＭＦＢの値が比例積分回路にそのままフィードバックされることを許容すると共に上述のフラグを「０」に設定する（Ｓ３４）。これにより、次のＳ１２では、燃焼割合ＭＦＢが目標値（５０％）と一致するように点火時期が算出され、Ｓ１６にて補正量が加算されることなく比例積分回路の出力がそのまま点火時期として設定される。また、ＥＣＵ２０は、Ｓ２４にて燃焼割合ＭＦＢと目標値（５０％）との偏差が所定範囲内にあると判断した場合であっても、Ｓ３０にて運転条件の変更が上記所定範囲を超えている（運転条件が変更された）と判断した場合、Ｓ２０にて算出した燃焼割合ＭＦＢの値が比例積分回路にそのままフィードバックされることを許容すると共に上述のフラグを「０」に設定する（Ｓ３４）。これにより、点火時期が概ね最適であると判断されても、内燃機関１の運転条件が変更された際には、燃焼割合ＭＦＢに基づいた点火時期のフィードバック制御が実行されるので、点火時期が遅角されて要求される出力が得られないといった事態を回避することが可能となる。
【００５６】
更に、ＥＣＵ２０は、Ｓ２２にて上述のフラグが「１」であると判断した場合であっても、Ｓ３０にて運転条件の変更が上記所定範囲を超えている（運転条件が変更された）と判断した場合、Ｓ２０にて算出した燃焼割合ＭＦＢの値が比例積分回路にそのままフィードバックされることを許容すると共に上述のフラグを「０」に設定する（Ｓ３４）。これにより、内燃機関１では、点火時期が遅角されている際にその運転条件が変更されると、それまで中断されていた燃焼割合ＭＦＢに基づいた点火時期のフィードバック制御が再開されることになるので、運転条件が変更された際に点火時期が遅角されて要求される出力が得られないといった事態を確実に回避することが可能となる。
【００５７】
ところで、上述の実施形態は、所定タイミングにおける燃焼割合が一定の目標値となるように点火時期をフィードバック制御するものであった。これに対し、実際上は、かかる目標値を変更した方がよい場合がある。即ち、前記のように制御される点火時期の目標値は、最も大きなトルクが得られる点火時期（ＭＢＴ）であり、具体的にはクランク角８°の時の燃焼割合ＭＦＢが５０％になるように設定されている。これに対し、機関運転状態によっては、ＭＢＴで点火を実行すると逆に不都合となる場合がある。例えば、高負荷運転時に点火時期をＭＢＴに制御すると、燃焼室の高温化等に起因してノッキング等の異常燃焼が起こり易くなることがあり、また、アイドル運転時に点火時期をＭＢＴに制御するとトルク変動や振動が問題となることがある。さらに、機関温度が低温であるときには点火時期をＭＢＴに制御しない方がよい場合もある。
【００５８】
そこで、以下に説明する点火時期制御の他の形態では、燃焼割合の目標値を機関運転状態に基づいて設定する目標値設定手段が設けられ、燃焼割合の目標値が機関運転状態に応じて変更されるようになっている。
【００５９】
一方、燃焼割合の目標値を変更した場合、実際の燃焼割合の追従性が問題となる。これを図８に基づいて説明する。図中、実線は燃焼割合の目標値、一点鎖線は前記形態のようにフィードバック制御により点火時期を制御した場合の燃焼割合の実際値である。見られるように、目標値が大きく変化した場合、実際値の追従性はあまり良好ではない。これはフィードバック制御が本来有する特徴であり、フィードバック制御は自己収束性は良好であるが追従性はそれほど良好ではない。
【００６０】
そこで、この追従性に関する問題を解消するため、以下に説明する他の形態では、フィードバック制御に加えてフィードフォワード制御も行うようにしている。これによれば、図８に破線で示すように、目標値が切り替わったタイミング（ｔ０）と同時かその直後のタイミング（ｔ１）に実際値を目標値付近まで一気に変更することができ、追従性が格段と向上する。実際値が目標値に収束するまでの時間は、フィードバック制御のみ（一点鎖線）ではΔｔｂであったものが、フィードフォワード制御も加えると（破線）Δｔｆｂと大きく短縮される。
【００６１】
図９は、図６に代わる点火時期制御の他の形態のブロック図であり、そのうち一点鎖線内が図６に示された前記形態に相当する構成部分、即ちフィードバック制御を行う部分である。以下に示す各手段はＥＣＵ２０によって構成される。まず目標値設定手段５１にて燃焼割合の目標値ｒが設定され、この目標値ｒと、制御量としての燃焼割合の実際値ｒ‘との偏差（ｒ−ｒ’）が燃焼開始時期設定手段５２に出力され、燃焼開始時期設定手段５２はその偏差（ｒ−ｒ’）に基づいて基本操作量としての基本点火時期ｄＳＡを設定し、内燃機関Ｅ／Ｇに向けて出力する。一方、内燃機関Ｅ／Ｇから出力される燃焼割合の実際値ｒ‘は、次回制御時に偏差の計算に用いられ、これによりフィードバックループが形成される。ここで、燃焼割合の目標値ｒとは、所定のタイミング（本実施形態では上死点後８°）における燃焼割合をいい、前記形態ではその燃焼割合ＭＦＢが一定の５０％であった。また、燃焼開始時期設定手段５２は、本形態においても前記形態と同様の比例積分回路からなる。
【００６２】
次に、前記形態と異なる点について説明する。本形態ではまず、内燃機関の運転状態に応じて燃焼割合の目標値ｒが変更される。より具体的に言えば、内燃機関の運転状態に関連する所定のパラメータに基づいて、目標値設定手段５１が燃焼割合の目標値ｒを設定する。このパラメータとしては、主に筒内（燃焼室内）に吸入される空気量（或いは充填率）ＫＬと機関回転速度ＮＥとであり、そのほか例えば筒内温度Ｔｃ、筒内残留ガス量Ｍｒである。これらパラメータはいずれも実測値を意味する。例えば、空気量ＫＬは、給気ラインに設けられた図示しないエアフローメータの出力値に基づいて算出され、機関回転速度ＮＥはクランク角センサ１４の出力値に基づいて算出され、筒内温度Ｔｃ及び筒内残留ガス量Ｍｒは筒内圧センサ１５の出力値に基づいて算出される。なお、パラメータの種類や数は適宜変更可能である。
【００６３】
目標値設定手段５１は、ＥＣＵ２０に予め記憶された図１０のマップに従って燃焼割合の目標値ｒを設定する。例えば「ｒ＝５０」とは、前記タイミング（上死点後８°）における燃焼割合ＭＦＢが５０％であることを意味する。図から分かるように、アイドルを含む低回転域では、燃焼割合の目標値ｒが５０％よりも小さくされ（本形態では２０％）、これにより点火時期はＭＢＴよりも遅角されることになる。これは、燃焼をＭＢＴのときよりも悪化させてトルク変動を緩和させ、アイドル振動等を抑制するためである。また、高負荷域においても燃焼割合の目標値ｒが５０％よりも小さくされ（本形態では３０％）、これによっても点火時期はＭＢＴよりも遅角される。これは点火時期の遅角によりノッキング等の異常燃焼を回避するためである。その他の運転領域では燃焼割合の目標値ｒが５０％に設定され、これによって点火時期はＭＢＴに制御されることとなる。このように、燃焼割合の目標値ｒは機関運転領域に応じて異なるので、領域が移行したという判定と同時に燃焼割合の目標値ｒを設定・変更してもよい。
【００６４】
また、本形態では、燃焼開始時期設定手段５２から出力されるフィードバック項としての基本点火時期ｄＳＡに、修正項設定手段５３から出力されるフィードフォワード項としての点火時期即ち修正項ＳＡｎが加算され、これらの合計値（ｄＳＡ＋ＳＡｎ）に基づいて内燃機関Ｅ／Ｇの点火時期が制御される。修正項設定手段５３は、前記パラメータＫＬ，ＮＥ，Ｔｃ，Ｍｒと所定の重み係数（調整項）θ１，θ２，θ３，θ４とに基づいて、以下の関数式から修正項ＳＡｎを設定する。  
ＳＡｎ＝ｆｋ（ＫＬ，ＮＥ，Ｔｃ，Ｍｒ, θ１，θ２，θ３，θ４）  ・・・(９)
【００６５】
例えば最も簡単な例では、
ＳＡｎ＝θ１・ＫＬ＋θ２・ＮＥ＋θ３・Ｔｃ＋θ４・Ｍｒ
とすることができる。なお、修正項ＳＡｎを定義する関数式は任意に設定することができ、例えば重み係数の数は一つなどであってもよい。このように、フィードバック項ｄＳＡにフィードフォワード項ＳＡｎを加えてこの値に基づいて点火時期を制御することにより、制御の追従性を格段に向上することができる。
【００６６】
ところで、修正項ＳＡｎの値は、目標値ｒが変更され或いは切り替えられた直後の実際値ｒ‘に直接影響する重要な値であり、仮に修正項ＳＡｎが図８にＸ’，Ｘ“で示す如く不適切な値であると、図８にＸで示す如く適切な値である場合に比べ、燃焼割合の実際値ｒ‘が目標値ｒから大きく外れてしまい、逆に追従性を悪化させてしまう結果となる。特に、このような状況を生じさせないためには、重み係数θ１，θ２，θ３，θ４をどのような値に設定するかが重要であるが、これを実験的に求めた一定値とすると、内燃機関の個体差や機関運転状態の変化、バラツキ等に起因して、重み係数θ１，θ２，θ３，θ４の値ひいては修正項ＳＡｎの値が実際の運転状況に適したものとならず、上記のような問題を生じさせてしまう虞がある。また、そのような個体差、変化、バラツキ等を考慮して多くの重み係数を予め実験的に求めて設定するとすれば、適合作業が著しく煩雑化し、開発期間の長期化等を招く。
【００６７】
そこで、本形態では、図９に示すように、修正項ＳＡｎ、特にその重み係数θ１，θ２，θ３，θ４を、内燃機関の運転中に自動的に更新学習するための修正項更新手段５４が備えられている。これによれば、修正項ＳＡｎ、特にその重み係数θ１・・・を実際の状況に適するような最適な値に学習していくことができる。以下これについて説明する。
【００６８】
この更新ないし学習に際しては所定の評価関数Ｊが用いられる。即ち、内燃機関Ｅ／Ｇの制御結果である燃焼割合出力ｒ‘に応じて評価関数Ｊを設定・出力する評価関数設定手段５５が設けられている。評価関数Ｊとは、与えられた目標値ｒに対して実際値ｒ’がどの程度近づくことができたかを示す指標となるものである。評価関数設定手段５５は、設定した評価関数Ｊを修正項更新手段５４に出力する。
【００６９】
修正項更新手段５４は、前記パラメータＫＬ，ＮＥ，Ｔｃ，Ｍｒと、前記重み係数θ１，θ２，θ３，θ４と、前記評価関数Ｊとからなる複数のデータ組を観測データ行列として記憶する。即ち、観測データ行列Ｐは次式で表される。
【００７０】
【数７】
2006170183.tif 000009
【００７１】
これに関し、ＥＣＵ２０は、前記パラメータＫＬ，ＮＥ，Ｔｃ，Ｍｒと前記重み係数θ１，θ２，θ３，θ４と前記評価関数Ｊとからなる１組のデータを各制御回ごとにメモリ（ＲＡＭ）に記憶していく。この１組のデータは（１０）式において１列のデータとして表されている。メモリには、複数組（例えば１００組）分のデータを格納するためのアドレスが設けられており、ＥＣＵ２０は、後述する所定条件の成立と同時に最新の１組のデータを所定のアドレスに格納すると同時に最も旧い１組のデータを消去する。こうしてメモリには所定数のデータ組が適宜更新されつつ記憶されることになり、その全体を表すのが（１０）式の観測データ行列Ｐである。
【００７２】
そして、修正項更新手段５４は、観測データ行列Ｐの活性状態を判断し、その観測データ行列Ｐが活性と判断したとき、修正項ＳＡｎを更新する。これを分かり易く言うと、例えば、内燃機関が定常運転しているような場合、近似したデータが継続的にＥＣＵ２０に入力され、観測データ行列Ｐとしてもほぼ同じようなデータ組の列が並ぶことになる。このような場合には観測データ行列Ｐを不活性と判断し、修正項ＳＡｎは更新しない。これに対し、例えば目標値ｒが変更され、異なるデータが順次入力されるようになると、観測データ行列Ｐとしても異なるデータ組の列が並ぶことになる。このような場合には観測データ行列Ｐを活性と判断し、修正項ＳＡｎを更新する。つまり観測データの監視により状態変化が有ったことが認識される。ここでは、目標値ｒが変更された場合の過渡状態を対象とするので、観測データ行列Ｐとしても異なるデータ組の列が並ぶ活性状態となったときに修正項ＳＡｎを更新するのが適当である。なお、更新の際の更新則としては、例えば、良好な評価関数Ｊを有する最新データ組の重み係数θ１・・・を旧い重み係数θ１・・・と置き換えたり、ニューラルネットワークを応用する方法などが考えられる。
【００７３】
観測データ行列Ｐの活性判断に関し、修正項更新手段５４は、観測データ行列Ｐの行列式の値ｄｅｔ（Ｐ）を計算し、この行列式の値ｄｅｔ（Ｐ）を所定値αと比較し、行列式の値ｄｅｔ（Ｐ）が所定値αより大きい場合は観測データ行列Ｐを活性と判断して修正項ＳＡｎを更新し、他方、行列式の値ｄｅｔ（Ｐ）が所定値α以下の場合は観測データ行列Ｐを不活性と判断して修正項ＳＡｎを更新しない。観測データ行列Ｐの中の各データがバラバラであるほど、行列式の値ｄｅｔ（Ｐ）は大きくなり、活性と判断される可能性が高い。このように修正項更新手段５４は修正項ＳＡｎを更新するかしないかの更新判定を行っている。
【００７４】
こうして、適宜のタイミングで修正項ＳＡｎを更新していくと、修正項ＳＡｎ特にその重み係数θ１・・・を、実際の内燃機関の運転状況に適する値へと徐々に且つ自動的に近づけていくことができ、目標値ｒが切り替わったときの実際値の追従性を内燃機関の運転時間が進むにつれて次第に向上していくことができる。また、適合作業を大いに簡略化して開発期間の短期化等を推進することができる。
【００７５】
ところで、内燃機関の全運転領域で同じ修正項ＳＡｎ（特に重み係数θ１・・・）を用いるようにすると、ある運転領域では適当となる値が他の運転領域では不適当となったり、全運転領域での公平性を保とうとする結果、どの運転領域でも最良の値が得られなくなる可能性がある。そこでこれを防止するため、修正項ＳＡｎは、機関運転領域に応じて個別に設定されるのが好ましい。例えば、図１１に示すように、空気量ＫＬと機関回転速度ＮＥとの関係で表される機関運転領域に応じて修正項ＳＡｎ＝ｆｋ（ＫＬ，ＮＥ，Ｔｃ，Ｍｒ, θ１，θ２，θ３，θ４）が個別に設定される。例えば図中「ｋ＝１」として示される領域では、修正項ＳＡｎ＝ｆ１（ＫＬ，ＮＥ，Ｔｃ，Ｍｒ, θ１，θ２，θ３，θ４）が設定されている。同様に、「ｋ＝２」として示される領域では修正項ＳＡｎ＝ｆ２（ＫＬ・・・）が設定されており、「ｋ＝５」として示される領域では修正項ＳＡｎ＝ｆ５（ＫＬ・・・）が設定されている（以下同様）。これから分かるように、重み係数θ１，θ２，θ３，θ４は機関運転領域に応じて設定され、その学習・更新も各運転領域ごとに行われる。こうして各機関運転領域で最適な修正項ＳＡｎを用いて制御を行うことができ、全運転領域で最適な制御を行うことができる。
【００７６】
図１２は、本形態の点火時期制御を実行するためのルーチンを示す。このルーチンはＥＣＵ２０により気筒ごとに且つ所定周期ごとに繰り返し実行される。ＥＣＵ２０はまず実測値としての前記パラメータＫＬ，ＮＥ，Ｔｃ，Ｍｒを読み込み（Ｓ１０１）、次いで機関運転状態に応じた燃焼割合の目標値ｒを図１０のマップに従って設定すると共に（Ｓ１０２）、フィードバック項としての基本点火時期ｄＳＡを算出する（Ｓ１０３）。そしてＥＣＵ２０は、読み込んだパラメータＫＬ，ＮＥに基づいて図１１のマップ上の領域を選択し（Ｓ１０４）、その領域に対応した修正項ＳＡｎを式ＳＡｎ＝ｆｋ（ＫＬ，ＮＥ，Ｔｃ，Ｍｒ, θ１，θ２，θ３，θ４）から算出する（Ｓ１０５）。
【００７７】
次いで、ＥＣＵ２０は、ｄＳＡとＳＡｎとの和に基づいて点火時期を制御し、その制御結果である燃焼割合の実際値ｒ‘を取得すると共に、評価関数Ｊを取得する（Ｓ１０６）。そして取得した評価関数Ｊの絶対値を所定値εと比較する。評価関数Ｊの絶対値が所定値εより小さい場合、ＥＣＵ２０は制御結果が良好であると判断してＳ１０８に進む。他方、評価関数Ｊの絶対値が所定値ε以上の場合、ＥＣＵ２０は制御結果が良くないと判断して本ルーチンを終える。
【００７８】
本形態では、燃焼割合の目標値ｒが５０％であり、評価関数Ｊが燃焼割合の目標値ｒと実際値ｒ‘との偏差（ｒ−ｒ’）（％）であり、所定値εが５％である。そしてＥＣＵ２０は、クランク角８°のときの燃焼割合の実際値ｒ‘を取得し、目標値ｒと実際値ｒ’との偏差（ｒ−ｒ‘）の絶対値が５％未満のとき、制御結果が良好であると判断する。つまり燃焼割合の実際値ｒ’が４５％＜ｒ‘＜５５％のときＥＣＵ２０は制御結果が良好と判断する。他方、ＥＣＵ２０は、クランク角８°のときの目標値ｒと実際値ｒ’との偏差（ｒ−ｒ‘）の絶対値が５％以上のとき、つまり実際値ｒ’がｒ‘≦４５％又は５５％≦ｒ’のとき、制御結果が良好でないと判断する。なお評価関数や所定値の設定については他の方法や値が可能である。
【００７９】
Ｓ１０８において、ＥＣＵ２０は、今回の制御回で得られたデータ組により観測データ行列Ｐを更新する。そしてこの更新された観測データ行列Ｐの行列式ｄｅｔ（Ｐ）を演算し、この行列式ｄｅｔ（Ｐ）を所定値αと比較する（Ｓ１０９）。ＥＣＵ２０は、行列式ｄｅｔ（Ｐ）が所定値αより大きいと判断した場合、観測データ行列Ｐを活性と判断し、修正項ＳＡｎを更新する（Ｓ１１０）。他方、ＥＣＵ２０は、行列式ｄｅｔ（Ｐ）が所定値α以下と判断した場合、観測データ行列Ｐを不活性と判断して修正項ＳＡｎを更新しない（Ｓ１１１）。
【００８０】
このように本形態によれば、フィードフォワード項としての修正項ＳＡｎを加えるようにしたので、燃焼割合の目標値ｒが変更されたときの追従性及び制御性を向上することができる。また、修正項ＳＡｎを、機関運転時間が進行するにつれて徐々に、しかも機関運転領域毎に、学習更新するようにしたので、実際値ｒ‘の目標値ｒへの追従性を機関運転時間が進行するにつれて、しかもあらゆる運転領域で、次第に向上していくことが可能となる。
【００８１】
なお、本形態は前記形態に倣って点火時期制御の場合を説明したが、本形態に係る手法は他の制御量（例えば燃料噴射量や燃料噴射時期等）の制御にも応用が可能であり、またディーゼルエンジン等の他の機関形式における燃焼開始時期制御にも応用が可能である。また、本形態の点火時期制御に併せて上述したような点火時期の補正が実行可能である。
【図面の簡単な説明】
【００８２】
【図１】最適点火時期付近における点火時期と１サイクル中の最大筒内圧力との相関を示すグラフである。
【図２】点火時期と内燃機関の軸トルクとの相関を示すグラフである。
【図３】本発明において用いられる積値ＰＶκと、燃焼室内における熱発生量との相関を示すグラフである。
【図４】積値ＰＶκに基づいて求められる燃焼割合と、熱発生率に基づいて求められる燃焼割合との相関を示すグラフである。
【図５】本発明による制御装置が適用された内燃機関を示す概略構成図である。
【図６】本発明による制御装置による点火時期の設定を説明するための制御ブロック図である。
【図７】本発明による制御装置による点火時期の制御手順を説明するためのフローチャートである。
【図８】制御の追従性を説明するためのタイムチャートである。
【図９】本発明に係る点火時期制御の他の形態にかかる制御ブロック図である。
【図１０】燃焼割合の目標値を算出するためのマップである。
【図１１】内燃機関の運転領域毎に設定された修正項を示すマップである。
【図１２】点火時期制御の他の形態にかかるフローチャートである。
【符号の説明】
【００８３】
１  内燃機関
３  燃焼室
７  点火プラグ
１２  インジェクタ
１４  クランク角センサ
１５  筒内圧センサ
２０  ＥＣＵ
Ｖｅ  排気弁
Ｖｉ  吸気弁
【図１】
2006170183.tif 000010
【図２】
2006170183.tif 000011
【図３】
2006170183.tif 000012
【図４】
2006170183.tif 000013
【図５】
2006170183.tif 000014
【図６】
2006170183.tif 000015
【図７】
2006170183.tif 000016
【図８】
2006170183.tif 000017
【図９】
2006170183.tif 000018
【図１０】
2006170183.tif 000019
【図１１】
2006170183.tif 000020
【図１２】
2006170183.tif 000021