(57)【特許請求の範囲】
【請求項１】
ａ．内燃機関の排気する排気空燃比を含む運転状態を検出する運転状態検出手段と、
ｂ．前記内燃機関の供給燃料量を決定する供給燃料量決定手段と、
ｃ．前記供給燃料量を操作量として前記検出された排気空燃比および前記供給燃料量の少なくともいずれかが目標値に一致するように第１の漸化式形式の制御則を用いて第１のフィードバック補正係数を算出する第１の算出手段と、
ｄ．前記供給燃料量を操作量として前記検出された排気空燃比および前記供給燃料量の少なくともいずれかが目標値に一致するように、応答性において前記第１の制御則より劣る第２の制御則を用いて第２のフィードバック補正係数を算出する第２の算出手段と、
ｅ．前記供給燃料量を操作量として前記検出された排気空燃比の気筒間のばらつきが減少するように第３の気筒別のフィードバック補正係数を算出する第３の算出手段と、および
ｆ．検出された運転状態に応じて前記第１の算出手段と前記第２の算出手段の出力のいずれかを選択し、それに基づいて前記供給燃料量を補正すると共に、前記第３の算出手段の出力に基づいて前記供給燃料量を補正する供給燃料量補正手段と、
を備えると共に、前記第３の算出手段は、前記選択された第１または第２の算出手段の出力に応じて前記第３のフィードバック補正係数を算出するための制御定数を決定することを特徴とする内燃機関の燃料噴射制御装置。
【請求項２】
前記運転状態検出手段が前記内燃機関の排気系集合部での排気空燃比を含む運転状態を検出するものであると共に、
ｇ．前記内燃機関の排気系集合部空燃比からなる出力変数と所定の値からなる入力変数とに基づいて各気筒の排気空燃比を状態変数として推定するオブザーバ、
を備え、前記第３の算出手段は、前記オブザーバが推定した各気筒の排気空燃比に基づいて前記第３のフィードバック補正係数を算出することを特徴とする請求項１項記載の内燃機関の燃料噴射制御装置。
【請求項３】
前記漸化式形式の制御則は、適応制御則であることを特徴とする請求項１項または２項記載の内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は内燃機関の燃料噴射制御装置に関する。
【０００２】
【従来の技術】
内燃機関の燃料噴射制御ないし空燃比制御においては一般にＰＩＤ制御則が用いられ、目標値と制御量（制御対象出力）との偏差にＰ項（比例項）、Ｉ項（積分項）およびＤ項（微分項）を乗じてフィードバック補正係数（フィードバックゲイン）を求めている。また近時は現代制御理論などを用いてフィードバック補正係数を求めることも提案されているが、その場合に応答性が比較的高いことから、運転状態によっては却って制御量が発振し、制御の安定性が低下する場合がある。
【０００３】
そのため、例えば特開平４−２０９９４０号公報記載の技術は、現代制御理論を用いて第１のフィードバック補正係数を求めると共に、ＰＩ制御則を用いてそれより応答性の劣る第２のフィードバック補正係数を求め、燃焼が安定しない機関運転の減速時には第２のフィードバック補正係数を用いて操作量を決定することを提案している。また同様の理由から、特開平５−５２１４０号公報記載の技術においても、空燃比センサが半活性状態にあるときは、応答性の劣る第２のフィードバック補正係数を用いて操作量を決定することを提案している。
【０００４】
また本出願人も例えば特開平７−２４７８８６号などにおいて、適応制御器を用いて燃料噴射量を決定する技術を提案している。
【０００５】
【発明が解決しようとする課題】
ところで内燃機関の燃料噴射ないし空燃比のフィードバック制御において、上記したフィードバックループとは別にフィードバックループを付加して気筒間の空燃比ばらつきを低減しようとするとき、その付加したフィードバックループの応答性をどのように決定するかが問題となる。
【０００６】
即ち、両者のフィードバックループのゲインが全体として高ければ系が発振する恐れが高くなる。他方、収束性の点ではゲインは高い方が望ましい。その点で付加したフィードバックループの応答性をどのように決定するかが問題となるが、上記した従来技術はそれについて答えるものではなかった。
【０００７】
従って、この発明の目的は、内燃機関の燃料噴射ないし空燃比のフィードバック制御において応答性の異なる２種のフィードバック補正係数のいずれかを選択して第１のフィードバックループとし、それとは別にフィードバックループを付加して気筒間の空燃比ばらつきを低減すると共に、その付加したフィードバックループの応答性を適正に決定して制御性を向上させるようにした内燃機関の燃料噴射制御装置を提供することにある。
【０００８】
更には、第１のフィードバックループにおいて高応答のフィードバック補正係数を選択するとき、収束性は高いが発振しやすい不都合がある。特にオープンループ制御からフィードバック制御に復帰したときなど、それが顕著となる。また、それぞれの特性が異なることから、補正係数に段差が生じて操作量が急変し、制御量が不安定となって制御の安定性が低下する恐れがある。
【０００９】
従って、この発明の付随的な目的は、第１のフィードバックループにおいて応答性において異なる複数の制御則を用いてフィードバック補正係数を決定し、運転状態に応じて滑らかに切り換えることによって制御の安定性を確保しつつ燃料噴射ないし空燃比の制御性を向上させるようにした内燃機関の燃料噴射制御装置を提供することにある。
【００１０】
【課題を解決するための手段】
上記した目的を達成するために、請求項１項にあっては、内燃機関の排気する排気空燃比を含む運転状態を検出する運転状態検出手段と、前記内燃機関の供給燃料量を決定する供給燃料量決定手段と、前記供給燃料量を操作量として前記検出された排気空燃比および前記供給燃料量の少なくともいずれかが目標値に一致するように第１の漸化式形式の制御則を用いて第１のフィードバック補正係数を算出する第１の算出手段と、前記供給燃料量を操作量として前記検出された排気空燃比および前記供給燃料量の少なくともいずれかが目標値に一致するように、応答性において前記第１の制御則より劣る第２の制御則を用いて第２のフィードバック補正係数を算出する第２の算出手段と、前記供給燃料量を操作量として前記検出された排気空燃比の気筒間のばらつきが減少するように第３の気筒別のフィードバック補正係数を算出する第３の算出手段と、および検出された運転状態に応じて前記第１の算出手段と前記第２の算出手段の出力のいずれかを選択し、それに基づいて前記供給燃料量を補正すると共に、前記第３の算出手段の出力に基づいて前記供給燃料量を補正する供給燃料量補正手段と、を備えると共に、前記第３の算出手段は、前記選択された第１または第２の算出手段の出力に応じて前記第３のフィードバック補正係数を算出するための制御定数を決定する如く構成した。
【００１１】
請求項２項にあっては、前記運転状態検出手段が前記内燃機関の排気系集合部での排気空燃比を含む運転状態を検出するものであると共に、前記内燃機関の排気系集合部空燃比からなる出力変数と所定の値からなる入力変数とに基づいて各気筒の排気空燃比を状態変数として推定するオブザーバ、を備え、前記第３の算出手段は、前記オブザーバが推定した各気筒の排気空燃比に基づいて前記第３のフィードバック補正係数を算出する如く構成した。
【００１２】
請求項３項にあっては、前記漸化式形式の制御則は、適応制御則である如く構成した。
【００１３】
【作用】
請求項１項にあっては、供給燃料量を操作量として前記検出された排気空燃比および前記供給燃料量の少なくともいずれかが目標値に一致するように第１の漸化式形式の制御則を用いて第１のフィードバック補正係数を算出する第１の算出手段と、前記供給燃料量を操作量として前記検出された排気空燃比および前記供給燃料量の少なくともいずれかが目標値に一致するように、応答性において前記第１の制御則より劣る第２の制御則を用いて第２のフィードバック補正係数を算出する第２の算出手段と、前記供給燃料量を操作量として前記検出された排気空燃比の気筒間のばらつきが減少するように第３の気筒別のフィードバック補正係数を算出する第３の算出手段と、および検出された運転状態に応じて前記第１の算出手段と前記第２の算出手段の出力のいずれかを選択し、それに基づいて前記供給燃料量を補正すると共に、前記第３の算出手段の出力に基づいて前記供給燃料量を補正する供給燃料量補正手段と、を備えると共に、前記第３の算出手段は、前記選択された第１または第２の算出手段の出力に応じて前記第３のフィードバック補正係数を算出するための制御定数を決定する如く構成したので、気筒間の空燃比のばらつきを低減すると共に、付加したフィードバックループの応答性を可変にして制御性を向上させることができる。
【００１４】
また切り換えによる段差を減少させながら切り換えることが可能となり、特にＰＩＤ制御則などの低応答の制御則を用いて算出したフィードバック補正係数から適応制御則などの高応答の制御則を用いて算出したフィードバック補正係数への切り換えにあっても制御の安定制御の安定性を確保しつつ、燃料噴射ないし空燃比の制御性を向上させることができる。
【００１５】
請求項２項にあっては、前記運転状態検出手段が前記内燃機関の排気系集合部での排気空燃比を含む運転状態を検出するものであると共に、前記内燃機関の排気系集合部空燃比からなる出力変数と所定の値からなる入力変数とに基づいて各気筒の排気空燃比を状態変数として推定するオブザーバ、を備え、前記第３の算出手段は、前記オブザーバが推定した各気筒の排気空燃比に基づいて前記第３のフィードバック補正係数を算出する如く構成したので、上記した作用、効果に加えて、空燃比を検出する構成を簡易にすることができる。
【００１６】
請求項３項にあっては、前記漸化式形式の制御則は、適応制御則である如く構成したので、操作量に外乱が加わって制御量が目標値とずれた場合も、漸化式形式の制御則が制御対象の変化として動作することにより、制御量が目標値に一致するようにフィードバック補正係数が決定されるので、外乱に対するロバスト性も向上する。
【００１７】
【発明の実施の形態】
以下、添付図面に即してこの発明の実施の形態を説明する。
【００１８】
図１はこの発明に係る内燃機関の燃料噴射制御装置を示す全体図である。
【００１９】
図において、符号１０はＯＨＣ直列４気筒の内燃機関を示しており、吸気管１２の先端に配置されたエアクリーナ１４から導入された吸気は、スロットル弁１６でその流量を調節されつつサージタンク１８と吸気マニホルド２０を経て、２個の吸気弁（図示せず）を介して第１から第４気筒へと流入される。各気筒の吸気弁（図示せず）の付近にはインジェクタ２２が設けられて燃料を噴射する。噴射されて吸気と一体となった混合気は、各気筒内で図示しない点火プラグで点火されて燃焼してピストン（図示せず）を駆動する。
【００２０】
燃焼後の排気ガスは、２個の排気弁（図示せず）を介して排気マニホルド２４に排出され、排気管２６を経て触媒装置（三元触媒）２８で浄化されて機関外に排出される。上記で、スロットル弁１６はアクセルペダル（図示せず）とは機械的に切り離され、パルスモータＭを介してアクセルペダルの踏み込み量および運転状態に応じた開度に制御される。また、吸気管１２には、スロットル弁１６の配置位置付近にそれをバイパスするバイパス路３２が設けられる。
【００２１】
内燃機関１０には、排気ガスを還流路１２１を介して吸気側に還流させる排気還流機構１００が設けられると共に、吸気系と燃料タンク３６との間も接続され、キャニスタ・パージ機構２００が設けられるが、その機構は本願の要旨と直接の関連を有しないので、説明は省略する。
【００２２】
更に、内燃機関１０は、いわゆる可変バルブタイミング機構３００（図１にＶ／Ｔ  と示す）を備える。可変バルブタイミング機構３００は例えば、特開平２−２７５，０４３号公報に記載されており、機関回転数Ｎｅおよび吸気圧力Ｐｂなどの運転状態に応じて機関のバルブタイミングＶ／Ｔ  を図２に示す２種のタイミング特性ＬｏＶ／Ｔ，  ＨｉＶ／Ｔの間で切り換える。但し、それ自体は公知な機構なので、これ以上の説明は省略する。尚、このバルブタイミング特性の切り換えには、２個の吸気弁の一方を休止する動作を含む。
【００２３】
図１において内燃機関１０のディストリビュータ（図示せず）内にはピストン（図示せず）のクランク角度位置を検出するクランク角センサ４０が設けられると共に、スロットル弁１６の開度を検出するスロットル開度センサ４２、スロットル弁１６下流の吸気圧力Ｐｂ  を絶対圧力で検出する絶対圧センサ４４も設けられる。
【００２４】
また、内燃機関１０の適宜位置には大気圧Ｐａ  を検出する大気圧センサ４６が設けられ、スロットル弁１６の上流側には吸入空気の温度を検出する吸気温センサ４８が設けられると共に、機関の適宜位置には機関冷却水温を検出する水温センサ５０が設けられる。また、油圧を介して可変バルブタイミング機構３００の選択するバルブタイミング特性を検出するバルブタイミング（Ｖ／Ｔ  ）センサ５２（図１で図示省略）も設けられる。更に、排気系において排気マニホルド２４の下流で触媒装置２８の上流側の排気系集合部には、広域空燃比センサ５４が設けられる。これらセンサ出力は、制御ユニット３４に送られる。
【００２５】
図３は制御ユニット３４の詳細を示すブロック図である。広域空燃比センサ５４の出力は検出回路６２に入力され、そこで適宜な線型化処理が行われてリーンからリッチにわたる広い範囲において排気ガス中の酸素濃度に比例したリニアな特性からなる検出信号を出力する（以下、この広域空燃比センサを「ＬＡＦセンサ」と呼ぶ）。
【００２６】
検出回路６２の出力は、マルチプレクサ６６およびＡ／Ｄ変換回路６８を介してＣＰＵ内に入力される。ＣＰＵはＣＰＵコア７０、ＲＯＭ７２、ＲＡＭ７４を備え、検出回路６２の出力は所定のクランク角度（例えば１５度）ごとにＡ／Ｄ変換され、ＲＡＭ７４内のバッファの１つに順次格納される。またスロットル開度センサ４２などのアナログセンサ出力も同様にマルチプレクサ６６およびＡ／Ｄ変換回路６８を介してＣＰＵ内に取り込まれ、ＲＡＭ７４に格納される。
【００２７】
またクランク角センサ４０の出力は波形整形回路７６で波形整形された後、カウンタ７８で出力値がカウントされ、カウント値はＣＰＵ内に入力される。ＣＰＵにおいてＣＰＵコア７０は、ＲＯＭ７２に格納された命令に従って後述の如く制御値を演算し、駆動回路８２を介して各気筒のインジェクタ２２を駆動する。更に、ＣＰＵコア７０は、駆動回路８４，８６，８８を介して電磁弁９０（２次空気量を調節するバイパス路３２の開閉）、および排気還流制御用電磁弁１２２ならびにキャニスタ・パージ制御用電磁弁２２５を駆動する。
【００２８】
図４はこの発明に係る制御装置の動作を示すフロー・チャートである。尚、図４のプログラムは所定クランク角度で起動される。
【００２９】
この発明に係る装置にあっては図５ブロック図に示す如く、供給燃料量（図に基本噴射量Ｔｉｍと示す）を操作量として検出された排気空燃比（図にＫＡＣＴ（ｋ）  と示す）が目標空燃比（図にＫＣＭＤ（ｋ）  と示す）に一致するように第１の漸化式形式の制御則（ＳＴＲ型の適応制御器。図にＳＴＲコントローラと示す）を用いて第１のフィードバック補正係数（図にＫＳＴＲ（ｋ）  と示す）を算出する第１の算出手段を設けた。
【００３０】
それと共に、前記供給燃料量を操作量として検出された排気空燃比ＫＡＣＴが目標値ＫＣＭＤに一致するように、応答性において前記第１の制御則より劣る第２の制御則、より具体的にはＰＩＤ制御則からなるＰＩＤコントローラ（図の左方にＰＩＤと示す）を用いて第２のフィードバック補正係数ＫＬＡＦを算出する第２の算出手段を設け、後述の如く検出された運転状態に応じて前記第１の算出手段と前記第２の算出手段の出力のいずれかを選択し、それに基づいて前記供給燃料量Ｔｉｍを補正して出力噴射量Ｔｏｕｔ  を求める如く構成した。
【００３１】
更に、そのフィードバックループの内側に、同様にＰＩＤ制御則からなるＰＩＤコントローラ（図の右方に同様にＰＩＤと示す）を用いて第３のフィードバック補正係数（図に＃ｎＫＬＡＦと示す。ｎ：気筒）  を用いた第３のフィードバックループを設け、気筒間の空燃比ばらつきを低減するようにした。この第３のフィードバックループにあっては、各気筒の空燃比は、前記したＬＡＦセンサ出力を入力して各気筒の排気空燃比を推定する前記したオブザーバの出力から求める。詳細は後述する。
【００３２】
以下、説明すると、図４フロー・チャートでは先ずＳ１０において検出した機関回転数Ｎｅおよび吸気圧力Ｐｂ  などを読み出し、Ｓ１２に進んでクランキングか否か判断し、否定されるときはＳ１４に進んでフィードバック補正係数ＫＦＢ  を演算する。
【００３３】
図６はその作業を示すサブルーチン・フロー・チャートである。
【００３４】
以下説明すると、Ｓ１００でフィードバック制御領域か否か判断する。これは図示しない別ルーチンで行われ、例えば全開増量時や高回転時、または排気還流機構が動作して運転状態が急変したときなどはオープンループで制御される。そしてＳ１００で肯定されるときはＳ１０２に進んでＰＩＤ制御則を用いてフィードバック補正係数ＫＬＡＦ（前記した第２のフィードバック補正係数）を演算する。以下、この補正係数を「ＰＩＤ補正係数」と称する。
【００３５】
以下説明すると、先ず、目標空燃比ＫＣＭＤと検出空燃比ＫＡＣＴの制御偏差ＤＫＡＦを
ＤＫＡＦ（ｋ）  ＝ＫＣＭＤ（ｋ−ｄ’）  −ＫＡＣＴ（ｋ）
と求める。上記でＫＣＭＴ（ｋ−ｄ’）  ：目標空燃比（ここでｄ’はＫＣＭＤがＫＡＣＡＴ  に反映されるまでの無駄時間を示し、よって無駄時間制御周期前の目標空燃比を意味する）、ＫＡＣＴ（ｋ）  ：検出空燃比（今回制御周期の）を示す。尚、演算の便宜のため、空燃比は目標値ＫＣＭＤも検出値ＫＡＣＴも実際には当量比、即ち、Ｍｓｔ／Ｍ＝１／λで示している（Ｍｓｔ：理論空燃比、Ｍ＝Ａ／Ｆ（Ａ：空気消費量、Ｆ：燃料消費量）、λ：空気過剰率）。
【００３６】
次いで、それに所定の係数を乗じてＰ項（比例項）ＫＬＡＦＰ（ｋ）、Ｉ項（積分項）ＫＬＡＦＩ（ｋ）、およびＤ項（微分項）ＫＬＡＦＤ（ｋ）を
Ｐ項：ＫＬＡＦＰ（ｋ）＝ＤＫＡＦ（ｋ）  ×ＫＰ
Ｉ項：ＫＬＡＦＩ（ｋ）＝ＫＬＡＦＩ（ｋ−１）＋ＤＫＡＦ（ｋ）  ×ＫＩ
Ｄ項：ＫＬＡＦＤ（ｋ）＝（ＤＫＡＦ（ｋ）  −ＤＫＡＦ（ｋ−１）  ）×ＫＤ
と求める。
【００３７】
このようにＰ項は偏差に比例ゲインＫＰを乗じて求め、Ｉ項は偏差に積分ゲインＫＩを乗じて得た値をフィードバック補正係数のＩ項の前回値ＫＬＡＦＩ（ｋ−１）に加算して求め、Ｄ項は偏差の今回値ＤＫＡＦ（ｋ）  と前回値ＤＫＡＦ（ｋ−１）  の差に微分ゲインＫＤを乗じて求める。尚、各ゲインＫＰ，ＫＩ，ＫＤは、機関回転数と機関負荷に応じて求められ、より具体的にはマップを用いて機関回転数Ｎｅと吸気圧力Ｐｂとから検索できるように設定しておく。最後に、よって得た値を
ＫＬＡＦ（ｋ）  ＝ＫＬＡＦＰ（ｋ）＋ＫＬＡＦＩ（ｋ）＋ＫＬＡＦＤ（ｋ）
と合算してＰＩＤ制御則によるフィードバック補正係数の今回値ＫＬＡＦ（ｋ）  とする。尚、この場合、乗算補正によるフィードバック補正係数とするため、オフセット分である１．０はＩ項ＫＬＡＦＩ（ｋ）に含まれているものとする（即ち、Ｉ項ＫＬＡＦＩ（ｋ）の初期値は１．０とする）。
【００３８】
図６フロー・チャートにおいては次いでＳ１０４に進んで適応制御則を用いてフィードバック補正係数ＫＳＴＲ（前記した第１のフィードバック補正係数）を算出する。以下この補正係数を「適応補正係数」と言う。
【００３９】
これについて説明すると、先に図５に示した適応制御器は、本出願人が先に提案した適応制御技術を前提とする。それはＳＴＲ（セルフチューニングレギュレータ）コントローラからなる適応制御器とその適応（制御）パラメータ（ベクトル）を調整する適応（制御）パラメータ調整機構とからなり、ＳＴＲコントローラは、燃料噴射量制御のフィードバック系の目標値と制御量（プラント出力）を入力し、適応パラメータ調整機構によって同定された係数ベクトルを受け取って出力を算出する。
【００４０】
このような適応制御において、適応制御の調整則（機構）の一つに、Ｉ．Ｄ．ランダウらの提案したパラメータ調整則がある。この手法は、適応制御システムを線形ブロックと非線形ブロックとから構成される等価フィードバック系に変換し、非線形ブロックについては入出力に関するポポフの積分不等式が成立し、線形ブロックは強正実となるように調整則を決めることによって、適応制御システムの安定を保証する手法である。即ち、ランダウらの提案したパラメータ調整則においては、漸化式形式で表される調整則（適応則）が、上記したポポフの超安定論ないしはリヤプノフの直接法の少なくともいづれかを用いることでその安定性を保証している。
【００４１】
この手法は、例えば「コンピュートロール」（コロナ社刊）Ｎｏ．２７，２８頁〜４１頁、ないしは「自動制御ハンドブック」（オーム社刊）７０３頁〜７０７頁、”  Ａ  Ｓｕｒｖｅｙ  ｏｆ  Ｍｏｄｅｌ  Ｒｅｆｅｒｅｎｃｅ  Ａｄａｐｔｉｖｅ  Ｔｅｃｈｎｉｑｕｅｓ  −  Ｔｈｅｏｒｙ  ａｎｄ  Ａｐ−ｐｌｉｃａｔｉｏｎｓ”  Ｉ．Ｄ．  ＬＡＮＤＡＵ  「Ａｕｔｏｍａｔｉｃａ」Ｖｏｌ．  １０，  ｐｐ．  ３５３−３７９，  １９７４、”Ｕｎｉ−  ｆｉｃａｔｉｏｎ    ｏｆ  Ｄｉｓｃｒｅｔｅ  Ｔｉｍｅ  Ｅｘｐｌｉｃｉｔ  Ｍｏｄｅｌ  Ｒｅｆｅｒｅｎｃｅ  Ａｄａｐｔｉｖｅ  ＣｏｎｔｒｏｌＤｅｓｉｇｎｓ”  Ｉ．Ｄ．ＬＡＮＤＡＵ  ほか「Ａｕｔｏｍａｔｉｃａ」Ｖｏｌ．  １７，  Ｎｏ．  ４，  ｐｐ．  ５９３−６１１，  １９８１  、および”  Ｃｏｍｂｉｎｉｎｇ  Ｍｏｄｅｌ  Ｒｅｆｅｒｅｎｃｅ  Ａｄａｐｔｉｖｅ  Ｃｏｎｔｒｏｌｌｅｒｓ  ａｎｄ  Ｓｔｏｃｈａｓｔｉｃ  Ｓｅｌｆ−ｔｕｎｉｎｇ  Ｒｅｇｕｌａｔｏｒｓ”  Ｉ．Ｄ．  ＬＡＮＤＡＵ  「Ａｕｔｏｍａｔｉｃａ」Ｖｏｌ．  １８，  Ｎｏ．  １，  ｐｐ．  ７７−８４，  １９８２  に記載されているように、公知技術となっている。
【００４２】
図示例の適応制御技術では、このランダウらの調整則を用いた。以下説明すると、ランダウらの調整則では、離散系の制御対象の伝達関数Ｂ（Ｚ−１）／Ａ（Ｚ−１）  の分母分子の多項式を数１および数２のようにおいたとき、パラメータ調整機構が同定する適応パラメータθハット（ｋ）  は、数３のようにベクトル（転置ベクトル）で示される。またパラメータ調整機構への入力ζ（ｋ）  は、数４のように定められる。ここでは、ｍ＝１、ｎ＝１、ｄ＝３の場合、即ち、１次系で３制御サイクル分の無駄時間を持つプラントを例にとった。
【００４３】
【数１】
0003602638.tif 000002
【００４４】
【数２】
0003602638.tif 000003
【００４５】
【数３】
0003602638.tif 000004
【００４６】
【数４】
0003602638.tif 000005
【００４７】
ここで、数３に示される適応パラメータθハットは、ゲインを決定するスカラ量ｂ０  ハット−１（ｋ）  、操作量を用いて表現される制御要素ＢＲ  ハット（Ｚ−１，  ｋ）および制御量を用いて表現される制御要素Ｓハット（Ｚ  −１，  ｋ）からなり、それぞれ数５から数７のように表される。
【００４８】
【数５】
0003602638.tif 000006
【００４９】
【数６】
0003602638.tif 000007
【００５０】
【数７】
0003602638.tif 000008
【００５１】
パラメータ調整機構はこれらのスカラ量や制御要素の各係数を同定・推定し、前記した数３に示す適応パラメータθハットとして、ＳＴＲコントローラに送る。パラメータ調整機構は、プラントの操作量ｕ（ｉ）および制御量ｙ（ｊ）（ｉ，ｊは過去値を含む）を用いて目標値と制御量との偏差が零となるように適応パラメータθハットを算出する。適応パラメータθハットは、具体的には数８のように計算される。数８で、Γ（ｋ）  は適応パラメータの同定・推定速度を決定するゲイン行列（ｍ＋ｎ＋ｄ次）、ｅアスタリスク（ｋ）  は同定・推定誤差を示す信号で、それぞれ数９および数１０のような漸化式で表される。尚、数１０においてＤ（ｚ−１）は設計者が与える所望の漸近安定な多項式であり、この例では１に設定した。
【００５２】
【数８】
0003602638.tif 000009
【００５３】
【数９】
0003602638.tif 000010
【００５４】
【数１０】
0003602638.tif 000011
【００５５】
また数９中のλ１（ｋ）  ，λ２（ｋ）  の選び方により、種々の具体的なアルゴリズムが与えられる。例えば、λ１（ｋ）  ＝１，λ２（ｋ）  ＝λ（０＜λ＜２）とすると漸減ゲインアルゴリズム（λ＝１の場合には最小自乗法）、λ１（ｋ）  ＝λ１（０＜λ１＜１），λ２（ｋ）  ＝λ２（０＜λ２＜λ）とすると可変ゲインアルゴリズム（λ２＝１の場合には重み付き最小自乗法）、λ１（ｋ）  ／λ２（ｋ）  ＝σとおき、λ３（ｋ）  が数１１のように表されるとき、λ１（ｋ）  ＝λ３（ｋ）  とおくと固定トレースアルゴリズムとなる。また、λ１（ｋ）  ＝１，λ２（ｋ）  ＝０のとき固定ゲインアルゴリズムとなる。この場合は数９から明らかな如く、Γ（ｋ）  ＝Γ（ｋ−１）  となり、よってΓ（ｋ）  ＝Γの固定値となる。燃料噴射ないし空燃比などの時変プラントには、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定ゲインアルゴリズム、および固定トレースアルゴリズムのいずれもが適している。尚、数１１において、ｔｒΓ（０）  はΓの初期値のトレースである。
【００５６】
【数１１】
0003602638.tif 000012
【００５７】
ここで、図５にあっては、前記したＳＴＲコントローラ（適応制御器）と適応パラメータ調整機構とは燃料噴射量演算系の外におかれ、検出空燃比ＫＡＣＴ（ｋ）  が目標空燃比ＫＣＭＤ（ｋ−ｄ’）  （ここでｄ’は前述の如くＫＣＭＤがＫＡＣＴに反映されるまでの無駄時間）に適応的に一致するように動作してフィードバック補正係数ＫＳＴＲ（ｋ）  を演算する。即ち、ＳＴＲコントローラは、適応パラメータ調整機構によって適応的に同定された係数ベクトルθハット（ｋ）  を受け取って目標空燃比ＫＣＭＤ（ｋ−ｄ’）に一致するようにフィードバック補償器を形成する。
【００５８】
基本噴射量Ｔｉｍに各種補正項が乗算されて要求噴射量Ｔｃｙｌ  が求められ、演算されたフィードバック補正係数ＫＳＴＲ（ｋ）  は要求噴射量Ｔｃｙｌ（ｋ）に乗算され、補正された燃料噴射量が出力燃料噴射量Ｔｏｕｔ（ｋ）として制御プラント（内燃機関）に供給される。
【００５９】
このように、適応補正係数ＫＳＴＲ（ｋ）  および検出空燃比ＫＡＣＴ（ｋ）  が求められて適応パラメータ調整機構に入力され、そこで適応パラメータθハット（ｋ）  が算出されてＳＴＲコントローラに入力される。ＳＴＲコントローラには入力として目標空燃比ＫＣＭＤ（ｋ）  が与えられ、検出空燃比ＫＡＣＴ（ｋ）  が目標空燃比ＫＣＭＤ（ｋ−ｄ’）に一致するように漸化式を用いてフィードバック補正係数ＫＳＴＲ（ｋ）  を算出する。
【００６０】
フィードバック補正係数ＫＳＴＲ（ｋ）  は、具体的には数１２に示すように求められる。
【００６１】
【数１２】
0003602638.tif 000013
【００６２】
前述の如く、検出空燃比ＫＡＣＴ（ｋ）  と目標空燃比ＫＣＭＤ（ｋ）  とは、図６フロー・チャートのＳ１０２で先に説明したＰＩＤ制御則による制御器（ＰＩＤ）にも入力され、排気系集合部の検出空燃比と目標空燃比との偏差を解消すべくＰＩＤ制御則に基づいてＰＩＤ補正係数ＫＬＡＦ（ｋ）  が算出される。適応制御則による適応補正係数ＫＳＴＲとＰＩＤ制御則によるＰＩＤ補正係数ＫＬＡＦは、図５の切換機構４００を介していずれか一方が燃料噴射量の演算に用いられる。
【００６３】
ここで、ＳＴＲコントローラとＰＩＤコントローラの平行演算について説明を補足すると、数８ないし数１０に示した適応パラメータ調整機構は、中間変数ζ（ｋ−ｄ）  、即ち、ｕ（ｋ）  ＝ＫＳＴＲ（ｋ）  およびｙ（ｋ）  ＝ＫＡＣＴ（ｋ）  の現在値と過去値をひとまとめにしたベクトルを入力し、その因果関係から適応パラメータθハット（ｋ）  を算出している。ここで用いるｕ（ｋ）  は、実際に燃料噴射量演算に用いるフィードバック補正係数である（Ｓ１１８で後述）。次回の制御サイクルで適応制御を行わずにＰＩＤ制御を行う状態では、このフィードバック補正係数にＰＩＤ補正係数ＫＬＡＦを用いる。
【００６４】
ここで、ＰＩＤ制御を行っている場合に、適応パラメータ調整機構に入力するｕ（ｋ）  を適応補正係数ＫＳＴＲ（ｋ）  からＫＬＡＦ（ｋ）  に置換して適応パラメータ調整機構に入力しても、燃料噴射制御に用いたフィードバック補正係数に応じた制御出力、即ち、ＫＡＣＴ（ｋ＋ｄ’）が出力されるため、入出力の因果関係が成立し、適応パラメータ調整機構は適応パラメータθハット（ｋ）  を発散させることなく、演算することができる。
【００６５】
このとき、数１２にこのθハット（ｋ）  を入力すると、ＫＳＴＲ（ｋ）  が演算される。このＫＳＴＲ（ｋ）  の演算は、ＫＳＴＲ（ｋ−ｉ）  ＝ＫＬＡＦ（ｋ−ｉ）  と置換して演算したＫＳＴＲ（ｋ）  でも良い（ｉ＝１，２，３）。
【００６６】
このように、ＰＩＤコントローラが動作しているときも適応補正係数ＫＳＴＲ（ｋ）  は演算可能であり、そのときのＰＩＤ補正係数ＫＬＡＦ（ｋ）  と適応補正係数ＫＳＴＲは略一致する。また、それによってＰＩＤ補正係数ＫＬＡＦ（ｋ）  から適応補正係数ＫＳＴＲ（ｋ）  に切り換える際に、ＰＩＤ補正係数ＫＬＡＦ（ｋ）  と適応補正係数ＫＳＴＲ（ｋ）  とは略一致した値となり、円滑な切り換えとなる。
【００６７】
図６フロー・チャートにおいては次いでＳ１０６に進んで高応答のフィードバック補正係数（適応補正係数ＫＳＴＲ）と低応答のフィードバック（ＰＩＤ補正係数ＫＬＡＦ）のうち、いずれを用いてフィードバック制御を実行すべき領域なのか判別する。
【００６８】
図７はその領域判別作業を示すサブルーチン・フロー・チャートである。
【００６９】
以下説明すると、先ずＳ２００において前回、即ち、図４フロー・チャートの前回起動時（前回制御周期）にオープンループで制御されていたか否か判断する。ここで、肯定されたときはＳ２０２に進み、低応答のフィードバック補正係数（ＰＩＤ補正係数ＫＬＡＦ）を用いてフィードバック制御を行うべき領域（以下「低応答フィードバック領域」と言う）とする。
【００７０】
これは、オープンループ制御からの突入時は前述したような理由から高応答のフィードバック制御を行わない方が良いためである。尚、オープンループ制御からの突入時に所定期間、例えば５ＴＤＣ、低応答フィードバック制御を行っても良く、その場合はＳ２００の後にその期間であれば継続的にＳ２０２に進むような判断ステップを設ければ良い。
【００７１】
Ｓ２００で否定されるときはＳ２０４に進んで検出した機関冷却水温Ｔｗが所定値ＴＷＳＴＲＯＮ  未満か否か判断する。ここで、所定値ＴＷＳＴＲＯＮ  は比較的低水温に設定され、検出した機関冷却水温Ｔｗが所定値ＴＷＳＴＲＯＮ  未満と判断されるときはＳ２０２に進んで低応答フィードバック領域とする。これは、低水温時には燃焼が安定せず、失火などを生じる危険があって安定した検出値ＫＡＣＴが得られないからである。尚、図示は省略するが、水温が異常に高いときも同様の理由から低応答フィードバック領域とする。
【００７２】
Ｓ２０４で検出した機関冷却水温Ｔｗが所定値ＴＷＳＴＲＯＮ  未満ではないと判断されるときはＳ２０６に進み、検出した機関回転数Ｎｅが所定値ＮＥＳＴＲＬＭＴ以上か否か判断する。ここで、所定値ＮＥＳＴＲＬＭＴは比較的高回転数であり、Ｓ２０６で検出した機関回転数Ｎｅが所定値ＮＥＳＴＲＬＭＴ以上と判断されるときはＳ２０２に進んで低応答フィードバック領域とする。これは、高回転時は演算時間が不足しがちであると共に、燃焼も安定しないからである。
【００７３】
Ｓ２０６で検出した機関回転数Ｎｅが所定値ＮＥＳＴＲＬＭＴ未満と判断されるときはＳ２０８に進んでアイドル時にあるか否か判断し、肯定されるときはＳ２０２に進んで低応答フィードバック領域とする。これは、アイドル時は運転状態がほぼ安定しており、適応制御則のような高いゲインを必要としないからである。
【００７４】
Ｓ２０８でアイドル時ではないと判断されるときはＳ２１０に進んで低負荷域にあるか否か判断し、肯定されるときはＳ２０２に進んで低応答フィードバック領域とする。これは、低負荷域では燃焼が安定しないためである。
【００７５】
Ｓ２１０で低負荷域にはないと判断されるときはＳ２１２に進んで可変バルブタイミング機構においてＨｉ  Ｖ／Ｔ（高速側のバルブタイミング）が選択されているか否か判断し、肯定されるときはＳ２０２に進んで低応答フィードバック領域とする。これは、高速側のバルブタイミングが選択されているときはバルブタイミングのオーバラップ量が大きいため、吸気が排気弁を通過して逃げる、いわゆる吸気の吹き抜けと言う現象が生じる恐れがあり、安定した検出値ＫＡＣＴを期待し得ないからである。また、高回転時にはＬＡＦセンサの検出遅れも無視し難くなる。
【００７６】
尚、ここで高速側のバルブタイミングが選択されているか否かの判断は、実際に高速側のバルブタイミングが選択されているか否かを判断するのみならず、図示しない可変バルブタイミング機構の制御ユニットで低速側から高速側への切り換え指令がなされているか否かをも適宜なフラグを参照することで行う。即ち、バルブタイミングの変更は全ての気筒について同時に行われるとは限らず、過渡状態などでは気筒間でバルブタイミングが一時的に異なる場合が生じるからである。換言すれば、バルブタイミングの高速側への切り換え時にあっては、低応答フィードバック領域と判断されてＰＩＤ補正係数を用いてフィードバック制御がなされたのを確認した上で、可変バルブタイミング機構の制御ユニットでは高速側への切り換えを行うようにする。
【００７７】
Ｓ２１２で否定されるときはＳ２１４以降に進み、検出した空燃比ＫＡＣＴが所定値ａ未満か否か判断し、肯定されるときはＳ２０２に進むと共に、否定されるときはＳ２１６に進んで検出した空燃比ＫＡＣＴが所定値ｂより大きいか否か判断し、肯定されるときはＳ２０２に進むと共に、否定されたときはＳ２１８に進んで高応答のフィードバック補正係数（適応補正係数ＫＳＴＲ）を用いてフィードバック制御を行うべき領域（以下「高応答フィードバック領域」と言う）とする。即ち、空燃比がリーンもしくはリッチのときは適応制御のような高応答の制御は行わない方が良いため、所定値ａ，ｂを適宜設定することで、その判別をするようにした。尚、この作業は、検出空燃比に代えて目標空燃比を比較しても良い。
【００７８】
図６フロー・チャートに戻ると、次いでＳ１０８に進んで高応答フィードバック領域か否か判断し、肯定されるときはＳ１１０に進んで適応補正係数ＫＳＴＲをフィードバック補正係数ＫＦＢ  とし、Ｓ１１２に進んでフィードバック補正係数ＫＦＢ  をＩ項ＫＬＡＦＩ  とする。その理由は、次回の制御周期で適応補正係数ＫＳＴＲからＰＩＤ補正係数ＫＬＡＦに切り換えられるときはＩ項（積分項）が急激に変化する可能性があるが、このように適応補正係数ＫＳＴＲの値を用いてＰＩＤ補正係数ＫＬＡＦのＩ項の初期値を決定することにより、適応補正係数とＰＩＤ補正係数の段差を小さく止めることができて操作量の急変を防止して制御の安定性を確保することができるからである。次いでＳ１１４に進んで適応補正係数ＫＳＴＲで噴射量補正がなされることからフラグＦＫＳＴＲのビットを１にセットする。
【００７９】
他方、Ｓ１０８で高応答領域ではないと判断されるときはＳ１１６に進んでＰＩＤ補正係数ＫＬＡＦをフィードバック補正係数ＫＦＢ  とし、Ｓ１１８に進んでフィードバック補正係数ＫＦＢ  をプラント入力ｕ（ｋ）  とし、ＳＴＲコントローラに入力する（図５に示す）。これは、ＳＴＲ領域ではないときもＳＴＲコントローラは演算を継続することから、ＰＩＤ補正係数ＫＬＡＦを演算に使用させるためである。次いでＳ１２０に進んでフラグＦＫＳＴＲのビットを０にリセットする。
【００８０】
またＳ１００でフィードバック領域ではないと判断されるときはＳ１２２に進んでフィードバック領域ではなくなってから所定期間が経過したか否か判断し、否定されるときはＳ１２４に進んでＩ項の前回値ＫＬＡＦＩ（ｋ−１）を今回値ＫＬＡＦとし、即ち、Ｉ項をホールドし、Ｓ１２６に進んで同様に、適応制御器の内部変数（中間変数）を前回値、即ち、適応制御時の最後の値をホールドする。
【００８１】
ここで、プラント入力ｕは図５に示す如く、ζの演算に用いられるが、そのとき現在値ｕ（ｋ）  のみならず、その過去値ｕ（ｋ−１）  なども用いられる。従って、Ｓ１２６のｕ（ｋ−ｉ）  のｉは、その現在値および過去値を総称する意味で用い、Ｓ１２６ではｕ（ｋ）  ，ｕ（ｋ−１）  ，ｕ（ｋ−２）  ，ｕ（ｋ−３）  、より正確にはｕ（ｋ−１）  ，ｕ（ｋ−２）  ，ｕ（ｋ−３）  ，ｕ（ｋ−４）  をホールドすることを意味する。尚、適応パラメータθハットとゲイン行列Γは、単に前回値をホールドする。尚、適応パラメータθハットとゲイン行列Γがマップ値としてメモリなどに格納されているような場合には、ホールド値に代えてマップ値を用いても良い。また図示は省略したが、ＫＳＴＲ，ＫＡＣＴも適応制御時の最後の値をホールドする。尚、ＫＡＣＴと入力ｕ（ｋ−ｉ）をひとまとめにしてζとしてホールドさせても良いことは言うまでもない。
【００８２】
次いで、Ｓ１２８に進んでフィードバック補正係数ＫＦＢ  の値を１．０とする。即ち、フィードバック制御を行わないこととし、Ｓ１３０に進んでフラグＦＫＳＴＲのビットを０にリセットする。
【００８３】
他方、Ｓ１２２でフィードバック領域ではなくなってから所定期間が経過したと判断されるときはＳ１３２に進んでＩ項ＫＬＡＦＩ  の値を１．０（初期値）とし、Ｓ１３４に進んでプラント入力ｕ、適応パラメータθハットおよびゲイン行列Γの値を所定値、例えば初期値とする。ここで、プラント入力ｕについて初期値はより具体的には、ｕ（ｋ）  ＝ｕ（ｋ−１）  ＝ｕ（ｋ−２）  ＝ｕ（ｋ−３）  ＝１とおく。
【００８４】
これについて説明すると、一旦アクセルペダルが戻されて減速し、フューエルカットされてオープンループ制御に移行した後、ほどなくアクセルペダルが再び踏まれて加速する、即ち、フィードバック制御に復帰することは、しばしば経験される。このように短時間で再びフィードバック制御に復帰するときは、ＳＴＲコントローラの非作動領域前後の内燃機関の状態がほとんど変化せず、過去の燃焼履歴との因果関係が当然成立しているからである。
【００８５】
従って、このような一過性の領域の変更の場合には適応制御器の内部変数をホールドすることで適応制御の連続性が保たれ、初期状態などに不要に戻ることなく、適応制御が実行されて制御安定性が向上する。その意味で、Ｓ１２２で述べた所定時間は過去の燃焼履歴との因果関係が成立する範囲の時間に設定する。
【００８６】
他方、所定時間以上の時間が経過したときは、適応制御非作動領域前後の内燃機関の状態が大きく変化していることが予想されるため、Ｓ１３４で内部変数を所定値、例えば初期値に戻すようにした。尚、θハット（ｋ−１）  の初期値およびｕ（ｋ）  （＝ＫＳＴＲ（ｋ）  ）を内燃機関の運転領域ごとにメモリに格納しておき、その値を用いてθハット（ｋ−１）  およびζ（ｋ−ｄ）  の過去値としても良い。そうすることによって、適応制御再開時の制御性をさらに向上させることができる。更には、θハット（ｋ）  を運転領域ごとに学習しても良い。
【００８７】
図４フロー・チャートに戻ると、次いでＳ１６に進んでフィードバック制御領域か否か判断し、肯定されるときはＳ１８に進んで所定のタイミングでＬＡＦセンサ出力をサンプリングして検出空燃比ＫＡＣＴ（ｋ）  を求める。前記した如く、ＬＡＦセンサ出力は所定のクランク角度ごとにＡ／Ｄ変換されてＲＡＭ７４内のバッファに順次格納されるが、このステップではタイミングマップ（図示せず）を機関回転数Ｎｅ、吸気圧力Ｐｂおよび選択されているバルブタイミング特性から検索して当該運転状態で最適な値を検出する。
【００８８】
ここで、タイミングマップは、機関回転数Ｎｅが低く、ないしは吸気圧力Ｐｂが高いほど、早いクランク角度でサンプリングした値を選択するように設定される。またバルブタイミング特性については、高速側のＨｉ  Ｖ／Ｔが選択されているときは、低速側のＬｏ  Ｖ／Ｔよりも早いクランク角度でサンプリングした値を選択するように設定される。尚、この作業ブロックを図５に「Ｓｅｌ−ＶＯＢＳＶ  」と示す。
【００８９】
次いでＳ２０に進んで前記したオブザーバを介して各気筒の排気空燃比を求める。
【００９０】
ここで、オブザーバによる空燃比推定について簡単に説明する。
【００９１】
先ず、１個のＬＡＦセンサの出力から各気筒の空燃比を精度良く分離抽出するためには、ＬＡＦセンサの検出応答遅れを正確に解明する必要がある。そこで、とりあえずこの遅れを１次遅れ系と擬似的にモデル化し、図８に示す如きモデルを作成した。ここでＬＡＦ：ＬＡＦセンサ出力、Ａ／Ｆ：入力Ａ／Ｆ、とすると、その状態方程式は下記の数１３で示すことができる。
【００９２】
【数１３】
0003602638.tif 000014
【００９３】
これを周期ΔＴで離散化すると、数１４で示すようになる。図９は数１４をブロック線図で表したものである。
【００９４】
【数１４】
0003602638.tif 000015
【００９５】
従って、数１４を用いることによってセンサ出力より真の空燃比を求めることができる。即ち、数１４を変形すれば数１５に示すようになるので、時刻ｋのときの値から時刻ｋ−１のときの値を数１６のように逆算することができる。
【００９６】
【数１５】
0003602638.tif 000016
【００９７】
【数１６】
0003602638.tif 000017
【００９８】
具体的には数１４をＺ変換を用いて伝達関数で示せば数１７の如くになるので、その逆伝達関数を今回のＬＡＦセンサ出力ＬＡＦに乗じることによって前回の入力空燃比をリアルタイムに推定することができる。図１０にそのリアルタイムのＡ／Ｆ推定器のブロック線図を示す。
【００９９】
【数１７】
0003602638.tif 000018
【０１００】
続いて、上記の如く求めた真の空燃比に基づいて各気筒の空燃比を分離抽出する手法について説明すると、先願でも述べたように、排気系の集合部の空燃比を各気筒の空燃比の時間的な寄与度を考慮した加重平均であると考え、時刻ｋのときの値を、数１８のように表した。尚、Ｆ（燃料量）を制御量としたため、ここでは『燃空比Ｆ／Ａ』を用いているが、後の説明においては理解の便宜のため、支障ない限り「空燃比」を用いる。尚、空燃比（ないしは燃空比）は、先に数１７で求めた応答遅れを補正した真の値を意味する。
【０１０１】
【数１８】
0003602638.tif 000019
【０１０２】
即ち、集合部の空燃比は、気筒ごとの過去の燃焼履歴に重みＣ（例えば直近に燃焼した気筒は４０％、その前が３０％．．．など）を乗じたものの合算で表した。このモデルをブロック線図であらわすと、図１１のようになる。
【０１０３】
また、その状態方程式は数１９のようになる。
【０１０４】
【数１９】
0003602638.tif 000020
【０１０５】
また集合部の空燃比をｙ（ｋ）とおくと、出力方程式は数２０のように表すことができる。
【０１０６】
【数２０】
0003602638.tif 000021
【０１０７】
上記において、ｕ（ｋ）は観測不可能のため、この状態方程式からオブザーバを設計してもｘ（ｋ）は観測することができない。そこで４ＴＤＣ前（即ち、同一気筒）の空燃比は急激に変化しない定常運転状態にあると仮定してｘ（ｋ＋１）＝ｘ（ｋ−３）とすると、数２１のようになる。
【０１０８】
【数２１】
0003602638.tif 000022
【０１０９】
よって、数２２で示される状態方程式と出力方程式にてｘ（ｋ）を観察する通常のカルマンフィルタの問題に帰着する。その荷重行列Ｑ，Ｒを数２３のようにおいてリカッチの方程式を解くと、ゲイン行列Ｋは数２４のようになる。
【０１１０】
【数２２】
0003602638.tif 000023
【０１１１】
【数２３】
0003602638.tif 000024
【０１１２】
【数２４】
0003602638.tif 000025
【０１１３】
これよりＡ−ＫＣを求めると、数２５のようになる。
【０１１４】
【数２５】
0003602638.tif 000026
【０１１５】
一般的なオブザーバの構成は図１２に示されるようになるが、今回のモデルでは入力ｕ（ｋ）がないので、図１３に示すようにｙ（ｋ）のみを入力とする構成となり、これを数式で表すと数２６のようになる。
【０１１６】
【数２６】
0003602638.tif 000027
【０１１７】
ここでｙ（ｋ）を入力とするオブザーバ、即ちカルマンフィルタのシステム行列は数２７のように表される。
【０１１８】
【数２７】
0003602638.tif 000028
【０１１９】
今回のモデルで、リカッチ方程式の荷重配分Ｒの要素：Ｑの要素＝１：１のとき、カルマンフィルタのシステム行列Ｓは、数２８で与えられる。
【０１２０】
【数２８】
0003602638.tif 000029
【０１２１】
図１４に上記したモデルとオブザーバを組み合わせたものを示す。これにより集合部空燃比より各気筒の空燃比を的確に抽出することができる。
【０１２２】
オブザーバによって集合部空燃比より各気筒空燃比を推定することができたことから、ＰＩＤなどの制御則を用いて空燃比を気筒別に制御することが可能となる。具体的には図１３のオブザーバによるフィードバック部分のみ抽出した図１５に示すように、センサ出力（集合部空燃比）と目標空燃比とからＰＩＤ制御則を用いて集合部フィードバック補正係数ＫＬＡＦを求めると共に、オブザーバ推定値＃ｎＡ／Ｆから気筒毎のフィードバック補正係数＃ｎＫＬＡＦ  （ｎ：気筒）を求める。
【０１２３】
気筒毎のフィードバック補正係数＃ｎＫＬＡＦ  はより具体的には、集合部空燃比を気筒毎のフィードバック補正係数＃ｎＫＬＡＦ  の全気筒についての平均値の前回演算値で除算して求めた目標値とオブザーバ推定値＃ｎＡ／Ｆとの偏差を解消するようにＰＩＤ則を用いて求める。
【０１２４】
これにより、各気筒の空燃比は集合部空燃比に収束し、集合部空燃比は目標空燃比に収束することとなって、結果的に全ての気筒の空燃比が目標空燃比に収束する。ここで、各気筒の燃料噴射量＃ｎＴｏｕｔ  （インジェクタの開弁時間で規定される）は、
＃ｎＴｏｕｔ  ＝Ｔｃｙｌ  ×＃ｎＫＬＡＦ  ×ＫＬＡＦ
で求められる（ここでＴｃｙｌ  は要求燃料噴射量を示す）。
【０１２５】
尚、上記で、ＰＩＤ制御則による気筒毎のフィードバック補正係数＃ｎＫＬＡＦ  の算出手法自体は、先にＰＩＤ補正係数ＫＬＡＦについて述べたと同様である。即ち、先ず目標空燃比ＫＣＭＤ（ｋ−ｄ’）と検出空燃比ＫＡＣＴ（ｋ）  に基づいてオブザーバが推定した各気筒空燃比＃ｎＡ／Ｆとの制御偏差ＤＫＡＦを求め、次いでそれに所定の係数を乗じてＰ項（比例項）＃ｎＫＬＡＦＰ（ｋ）  、Ｉ項（積分項）＃ｎＫＬＡＦＩ（ｋ）  、およびＤ項（微分項）＃ｎＫＬＡＦＤ（ｋ）  を
Ｐ項：＃ｎＫＬＡＦＰ（ｋ）  ＝ＤＫＡＦ（ｋ）  ×ＫＰ
Ｉ項：＃ｎＫＬＡＦＩ（ｋ）  ＝＃ｎＫＬＡＦＩ（ｋ−１）  ＋ＤＫＡＦ（ｋ）  ×ＫＩ
Ｄ項：＃ｎＫＬＡＦＤ（ｋ）  ＝（ＤＫＡＦ（ｋ）  −ＤＫＡＦ（ｋ−１）  ）×ＫＤ
と求め、次いで合算して今回値＃ｎＫＬＡＦ（ｋ）とする。
【０１２６】
先と同様に、前記した制御定数たる比例ゲインＫＰ、積分ゲインＫＩおよび微分ゲインＫＤは機関回転数と機関負荷に応じて求められ、より具体的にはマップを用いて機関回転数Ｎｅと吸気圧力Ｐｂとから検索できるように設定しておく。尚、これについては後述する。
【０１２７】
上記を前提として図４の説明に戻ると、次いでＳ２２に進んで前記したフラグＦＫＳＴＲのビットが１にセットされているか否か、即ち、フィードバック補正係数として適応補正係数ＫＳＴＲを用いるか否か判断する。そして肯定されるときはＳ２４に進み、高応答フィードバック補正係数（適応補正係数ＫＳＴＲ）用の各気筒空燃比補正係数＃ｎＫＬＡＦの制御定数、即ち、ＫＰ，  ＫＩ，  ＫＤゲインマップを検出した機関回転数と機関負荷とから検索する。他方、Ｓ２２で低応答のフィードバック補正係数（ＰＩＤ補正係数ＫＬＡＦ）が選択されたと判断されるときはＳ２６に進んで低応答用の制御定数を同様の手順で検索する。
【０１２８】
これについて説明すると、適応補正係数ＫＳＴＲはＰＩＤ補正係数ＫＬＡＦに比較して制御性が高いため、目標値への収束性が良い。各気筒フィードバックの目標値は前記の如くＫＡＣＴの各気筒平均値、より正確には集合部空燃比を補正係数＃ｎＫＬＡＦ  の平均値（前回演算値）で除算して求められるが、ここで適応補正係数ＫＳＴＲを用いたときの検出空燃比を図１６に示す。そのときの各気筒フィードバックの目標値は、図１７に示すようになる。一方、ＰＩＤ補正係数ＫＬＡＦを用いたときの検出空燃比および目標値は、図１８および図１９に示すようになる。この場合、ＰＩＤ補正係数ＫＬＡＦの方が適応補正係数ＫＳＴＲに比較して目標値の変動が大きい。
【０１２９】
この実施の形態では、集合部フィードバックと各気筒フィードバックの２重ループとなっている。供給燃料量から検出空燃比までの応答は機関の運転領域ごとに変化するので、機関の応答性およびフィードバックの応答性も機関の運転領域ごとに変化する。
【０１３０】
適応補正係数ＫＳＴＲはＰＩＤ補正係数ＫＬＡＦよりも応答性が高いため、適応補正係数ＫＳＴＲが用いられるときは、ＰＩＤ補正係数ＫＬＡＦが用いられるときよりも、気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを大きくすることが考えられる。これは適応補正係数ＫＳＴＲにより各気筒フィードバックの目標値が安定しているため、気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを大きくして収束性を高めるためである。換言すれば、ＰＩＤ補正係数ＫＬＡＦが用いられるときは、応答性が低いことから、気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを小さくすることになる。一つには、各気筒フィードバックの目標値が適応制御補正係数ＫＳＴＲでフィードバックを行っているときよりも安定しないため、気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを上げない方が良いとも考えられるからでもある。尚、このように設定するときは、検出空燃比と各気筒フィードバックの目標値が、図１６ないし図１９に示すような関係にあるときである。
【０１３１】
一般的にはフィードバック系の応答性が高くなりすぎると、発振領域に入る。よって、前出の特性とは逆に、適応補正係数ＫＳＴＲが用いられているときは、ＰＩＤ補正係数ＫＬＡＦを用いているときより気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを小さくすることも考えられる。これは二重ループとなっているフィードバック系全体のゲインが高くなりすぎて、発振状態になることを防止するためである。またＰＩＤ補正係数ＫＬＡＦを用いて制御を行っているときは、気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを大きくしても、二重ループとなっているフィードバック系全体のゲインが高くなりすぎることがなく、安定するとも考えられる。
【０１３２】
以上述べた特性は、機関が高回転高負荷のときと低負荷、特にアイドルのときでは相違する。つまり、同じ補正係数を用いて制御を行っていても、機関負荷、機関回転数に応じて気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  のゲインを大きくすべき場合と小さくすべき場合が存在する。またこれらの特性は実験等により設定することが可能である。
【０１３３】
従って、この実施の形態においては、排気系集合部フィードバックループの適応補正係数ＫＳＴＲとＰＩＤ補正係数ＫＬＡＦについてＫＰ，  ＫＩ，  ＫＤゲインマップを別々に設定しておき、フィードバック補正係数ＫＦＢ  として選択された方の補正係数に相当するマップを選択して検出した機関回転数と機関負荷とから検索するようにした。即ち、気筒ごとのフィードバック補正係数の応答性を可変にして制御の安定性を向上させるようにした。尚、マップを別々に設定することなく、１種のマップから検索した値を選択された補正係数で補正するようにしても良い。
【０１３４】
図４フロー・チャートの説明に戻ると、Ｓ２２で適応補正係数ＫＳＴＲがフィードバック補正係数ＫＦＢ  として選択されたと判断してＳ２４でそれに対応するマップを検索されたときは次いでＳ２８に進み、検索値に基づいて前記した手法で気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  を算出する。
【０１３５】
他方、Ｓ２２でＰＩＤ補正係数ＫＬＡＦが選択されたと判断されてＳ２６でそれに対応するマップを検索されたときは次いでＳ３０に進み、検索値に基づいて同様に気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  を算出し、Ｓ３２に進んでその学習値＃ｎＫＬＡＦｓｔｙを算出する。これは例えば、前回値と今回値の加重平均値を求めることで行う。算出値は後述の如くオープンループ制御のときに使用される。尚、Ｓ２８の後ではなくＳ３０の後で行うのは、オープンループ制御のときに使用する値としては、低応答の補正係数が使用されるときに算出した気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  の方が適していると考えられるからである。
【０１３６】
次いでＳ３４に進んで図示の如く、基本燃料噴射量Ｔｉｍに目標空燃比補正係数ＫＣＭＤＭ（目標空燃比ＫＣＭＤ（  当量比）  に吸入空気の充填効率補正を施して得る値）  と各種補正係数ＫＴＯＴＡＬとを乗算して要求燃料噴射量Ｔｃｙｌ（ｋ）を求め、次いでＳ３６に進んで求めた要求燃料噴射量Ｔｃｙｌ（ｋ）に集合部のフィードバック補正係数ＫＦＢ  と気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ（ｋ）を乗じて出力燃料噴射量＃ｎＴｏｕｔ（ｋ）を決定し、次いでＳ３８に進んで出力燃料噴射量＃ｎＴｏｕｔ（ｋ）を操作量としてインジェクタ２２に出力する。
【０１３７】
ここで、各種補正係数ＫＴＯＴＡＬは水温補正など乗算で行う各種の補正係数の積算値を意味する。尚、他に気圧補正など加算値で行う補正係数の合計値である加算項ＴＴＯＴＡＬもあるが、省略した。またインジェクタの無効時間などは出力燃料噴射量＃ｎＴｏｕｔ（ｋ）の出力時に別途加算される。
【０１３８】
尚、Ｓ１６で否定されたときはオープンループ制御となり、Ｓ４０に進んで気筒ごとのフィードバック補正係数＃ｎＫＬＡＦ  には前記した学習値を使用し、Ｓ３４に進んで要求燃料噴射量Ｔｃｙｌ（ｋ）を算出する。またＳ１２でクランキングと判断されたときはＳ４２に進んでクランキング時の燃料噴射量をＴｉｃｒ  を検索し、Ｓ４４に進んで検索値に基づいて始動モードの式に従って出力燃料噴射量＃ｎＴｏｕｔ  を算出する。
【０１３９】
この実施の形態においては上記の如く気筒間の空燃比のばらつきを低減させると共に、そのフィードバック補正係数＃ｎＫＬＡＦ  の制御定数を排気系集合部のフィードバック補正係数ＫＦＢ  の種類に応じて決定するようにしたので、制御の安定性を向上させることができる。
【０１４０】
また、フューエルカットから復帰するときなど、空燃比のオープンループ制御が終了してフィードバック制御が再開された場合、しばらくはＰＩＤ制御則に基づいてフィードバック補正係数を決定するようにしたので、制御量を不安定にして、制御の安定性を低下させることがない。他方、検出値が安定したときは、高応答の適応制御則によるフィードバック補正係数を用いて目標空燃比と検出空燃比との制御偏差を一気に吸収させるべく動作させ、制御の収束性を向上させることができる。
【０１４１】
更に、ＳＴＲコントローラとＰＩＤコントローラとを平行して動作させ、適応補正係数ＫＳＴＲとＰＩＤ補正係数ＫＬＡＦとを、その内部要素を互いに置換させながら平行して演算するようにしたので、適応補正係数ＫＳＴＲからＰＩＤ補正係数ＫＬＡＦへの、ないしはその逆の切り換えを任意のタイミングで滑らかに行うことができ、燃料噴射ないし空燃比の制御性を向上させることができる。
【０１４２】
尚、上記実施の形態においてＰＩＤ制御の例を示したが、各ゲインＫＰ，  ＫＩ，  ＫＤを適宜設定することで、ＰＩ制御とすることも、Ｉ項のみによる制御とすることも自由である。即ち、ここで言うＰＩＤ制御は、その一部のゲイン項を有すれば成立する。
【０１４３】
また上記目標値を空燃比としたが、燃料噴射量を目標値としても良い。
【０１４４】
また上記実施の形態においてフィードバック補正係数ＫＳＴＲないしＫＬＡＦを乗算係数（項）として求めたが、加算項であっても良い。
【０１４５】
また上記実施の形態でスロットル弁をパルスモータで作動したが、アクセルペダルと機械的にリンクさせ、アクセルペダルの踏み込みに応じて作動させても良い。
【０１４６】
また上記実施の形態において適応制御器としてＳＴＲを例にとって説明したが、ＭＲＡＣＳ（モデル規範型適応制御）を用いても良い。
【０１４７】
尚、上記実施の形態では排気系集合部に設けた単一の空燃比センサの出力を用いているが、それに限られるものではなく、気筒ごとに空燃比センサを設けて検出した空燃比から気筒ごとに空燃比フィードバック制御を行っても良い。
【０１４８】
【発明の効果】
請求項１項にあっては、気筒間の空燃比のばらつきを低減すると共に、付加したフィードバックループの応答性を可変にして制御性を向上させることができる。
【０１４９】
請求項２項にあっては、上記した作用、効果に加えて、空燃比を検出する構成を簡易にすることができる。
【０１５０】
請求項３項にあっては、操作量に外乱が加わって制御量が目標値とずれた場合も、漸化式形式の制御則が制御対象の変化として動作することにより、制御量が目標値に一致するようにフィードバック補正係数が決定されるので、外乱に対するロバスト性も向上する。
【図面の簡単な説明】
【図１】この発明に係る内燃機関の燃料噴射制御装置を全体的に示す概略図である。
【図２】図１の内燃機関に設けられた可変バルブタイミング機構のバルブタイミング特性を示す特性図である。
【図３】図１の装置の制御ユニットの構成を詳細に示すブロック図である。
【図４】図１の装置の動作を示すフロー・チャートである。
【図５】図１の装置の動作を機能的に示すブロック図である。
【図６】図４フロー・チャートのフィードバック補正係数ＫＦＢ  の演算作業を示すサブルーチン・フロー・チャートである。
【図７】図６フロー・チャートのフィードバック領域の判別作業を示すサブルーチン・フロー・チャートである。
【図８】図５ブロック図のオブザーバを説明するもので、先の出願で述べた空燃比センサ（ＬＡＦセンサ）の検出動作をモデル化した例を示すブロック図である。
【図９】図８に示すモデルを周期ΔＴで離散化したモデルを示す説明図である。
【図１０】前記空燃比センサの検出挙動をモデル化した真の空燃比推定器を示すブロック図である。
【図１１】図１の内燃機関の排気系の挙動を示すモデルを表すブロック図である。
【図１２】一般的なオブザーバの構成を示すブロック図である。
【図１３】図５ブロック図のオブザーバの構成を示すブロック図である。
【図１４】図１１に示すモデルと図１３に示すオブザーバを組み合わせた構成を示すブロック図である。
【図１５】図５ブロック図のフィードバック制御を示すブロック図である。
【図１６】図１の装置の動作においてフィードバック補正係数ＫＦＢ  の中の適応補正係数ＫＳＴＲを用いたときの検出空燃比の挙動を示すタイミング・チャートである。
【図１７】図１の装置の動作において適応補正係数ＫＳＴＲを用いたときの各気筒フィードバックの目標値を示すタイミング・チャートである。
【図１８】図１の装置の動作においてＰＩＤ補正係数ＫＬＡＦを用いたときの検出空燃比の挙動を示すタイミング・チャートである。
【図１９  】図１の装置の動作においてＰＩＤ補正係数ＫＬＡＦを用いたときの各気筒フィードバックの目標値を示すタイミング・チャートである。
【符号の説明】
１０  内燃機関
２２  インジェクタ
３４  制御ユニット
５４  広域空燃比センサ（ＬＡＦセンサ）
【図１】
0003602638.tif 000030
【図２】
0003602638.tif 000031
【図３】
0003602638.tif 000032
【図４】
0003602638.tif 000033
【図５】
0003602638.tif 000034
【図６】
0003602638.tif 000035
【図７】
0003602638.tif 000036
【図８】
0003602638.tif 000037
【図９】
0003602638.tif 000038
【図１０】
0003602638.tif 000039
【図１１】
0003602638.tif 000040
【図１２】
0003602638.tif 000041
【図１３】
0003602638.tif 000042
【図１４】
0003602638.tif 000043
【図１５】
0003602638.tif 000044
【図１６】
0003602638.tif 000045
【図１７】
0003602638.tif 000046
【図１８】
0003602638.tif 000047
【図１９】
0003602638.tif 000048