(57)【特許請求の範囲】
【請求項１】
ａ．内燃機関の排気系に設けられ、前記内燃機関の排出する排気ガスの空燃比を検出する空燃比検出手段と、
ｂ．前記内燃機関に供給される燃料量を算出する燃料量算出手段と、
ｃ．適応パラメータを算出する適応パラメータ調整機構を備えた適応制御器を有し、前記空燃比検出手段の出力KACTが目標空燃比KCMDに収束するように前記燃料量算出手段により算出された燃料量を補正する補正係数ｕを、前記適応パラメータを用いて算出する補正係数算出手段と、
ｄ．前記燃料算出手段により算出された燃料量を前記補正係数ｕで補正し、出力燃料量を決定する出力燃料量決定手段と、
および
ｅ．前記出力燃料量決定手段に決定された出力燃料量を前記内燃機関に供給する燃料供給手段と、
からなる内燃機関の空燃比制御装置において、
ｆ．前記空燃比検出手段の出力KACTと前記目標空燃比KCMDとから前記適応制御器に入力する制御入力ｙを算出する算出手段、
を備え、前記補正係数算出手段は、前記適応制御器の目標値ｒを所定の値とすると共に、前記制御入力ｙがその所定の値ｒとなるように前記補正係数ｕを算出することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
ｇ．前記空燃比検出手段の下流に設けられた触媒装置と、
ｈ．前記触媒装置の下流に設けられ、前記触媒装置を通過した排気ガス中の特定成分の濃度を検出する排気ガス濃度検出手段と、
を備え、前記排気ガス濃度検出手段の出力により前記目標空燃比KCMDを補正することを特徴とする請求項１項記載の内燃機関の空燃比制御装置。
【請求項３】
前記制御入力ｙが、前記空燃比検出手段の出力KACTと前記目標空燃比KCMDの比であることを特徴とする請求項１項または２項記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は内燃機関の空燃比制御装置に関する。
【０００２】
【従来の技術】
内燃機関においては、排気系に設けた触媒装置の浄化率が理論空燃比付近で最大となることから、排気系に酸素濃度センサを設けて空燃比が理論空燃比になるように燃料量（燃料噴射量）をフィードバック制御することが知られている。
【０００３】
その意図から、本出願人も先に特開平７−２４７８８６号公報において、適応制御器を備えた空燃比制御装置を提案し、そこにおいては機関回転数などから予め定めたマップを検索して基本燃料量を演算すると共に、適応制御器でフィードバック補正係数を求めて基本燃料量を補正している。詳しくは、適応制御器は検出空燃比KACTを入力し、それが目標値ｒである目標空燃比KCMDに一致するように、フィードバック補正係数KSTRを演算し、出力ｕとしている。
【０００４】
より詳しくは、図１４に示す如く、適応制御器は漸化式形式の制御則からなり、その適応パラメータ調整機構において制御プラント（内燃機関）の動特性を同定・推定する適応パラメータθハット(k) を求め、求めた適応パラメータを用いてフィードバック補正係数KSTR(k) を演算している。適応パラメータθハットの要素は無駄時間が３次の場合、ｂo,ｒ1,ｒ2,ｒ3,ｓo からなる。
【０００５】
更に、近時、特開平３−１８５２４４号公報記載の技術のように、触媒装置の上流に広域空燃比センサを配置すると共に、下流にＯ2 センサを配置し、Ｏ2 センサ出力に応じて触媒ウインドウで最適な浄化率となるように目標空燃比を設定し、その目標空燃比と前記空燃比センサ出力とに応じて燃料量を制御する技術も提案されている。この従来技術においては制御対象をモデル化し、最適レギュレータを設計して燃料量を制御している。
【０００６】
【発明が解決しようとする課題】
ところで、先に本出願人が提案した技術について、運転パラメータを固定したまま（機関回転数：２８００ｒｐｍ、吸気圧力：−１５０ｍｍＨｇ）、目標空燃比KCMD(k-d')  をステップ状に変化させたときの検出空燃比KACT(k) の応答を実機で検証したところ、図１５（ａ）に示すように検出空燃比がオーバーシュートを起こす現象が見られた。
【０００７】
図１５（ｂ）から（ｆ）はそのときの適応パラメータθハットの要素の応答を示すが、ｂo を除く要素が経時的に変動している。即ち、適応パラメータの演算の目標値ｒに目標空燃比KCMDを用いるため、適応パラメータはその変動の影響を受けて変化している。
【０００８】
しかしながら、この間は機関回転数と吸気圧力の値は同一なので、実際には機関の動特性にほとんど変化はなく、機関の動特性を同定・推定する適応パラメータが大きく変動してはならない筈である。従って、本来的には検出空燃比KACT(k) は目標空燃比KCMD(k-d')の変化に追従する筈であるが、テストではオーバーシュートが見られた。
【０００９】
いずれにしても、上記から、適応制御器の目標値を頻繁に変動させると、それが外乱となって適応パラメータの演算を変動させることが判明した。この適応パラメータを用いてフィードバック補正係数を演算することから、演算される補正係数も適応パラメータの変動の影響を免れない。よって、空燃比の制御性が損なわれると共に、適応制御器の安定性も低下する。
【００１０】
尚、先に提案した技術およびこの明細書では、空燃比は演算の便宜のため、目標空燃比も検出空燃比も当量比、即ち、Ｍst／Ｍ＝１／λで示している（Ｍst：理論空燃比、Ｍ＝Ａ／Ｆ（Ａ：空気消費量、Ｆ：燃料消費量）、λ：空気過剰率）。図１５（ａ）では目標空燃比を当量比において１．０を中心に０．９８から１．０２の範囲で変化させた。
【００１１】
また、この明細書でｋは離散系のサンプル時間、具体的には空燃比制御の制御周期、より具体的には空燃比制御プログラムを起動時間を示し、ｄは無駄時間を示す。更に、ｄ’は、検出空燃比に対応する目標空燃比の時刻を示す。従って、図１５で検出空燃比KACTの時刻を(k) （現在時刻）とすると、それに対応する目標空燃比KCMDの時刻は(k-d')となる。
【００１２】
上記は、目標空燃比をステップ状に変化させた場合の例であるが、かかる問題は、内燃機関の運転状態（より具体的には内燃機関の負荷、機関回転数および水温など）に応じて目標空燃比を設定するときにも生じ、さらには先に述べた特開平３−１８５２４４号公報記載の技術の如く、触媒装置の下流に設けたＯ2 センサの出力に応じて、触媒ウインドウで最適な浄化率となるように目標空燃比を頻繁に補正するときにも生じる。
【００１３】
従って、この発明の目的は上記した不都合を解消する内燃機関の空燃比制御装置であって、適応制御器および適応パラメータ調整機構を備え、適応パラメータ調整機構が算出する適応パラメータを用いて適応制御器で供給燃料量を補正する補正係数を演算し、それに基づいて供給燃料量を補正するように構成した空燃比制御装置において、目標空燃比が変動するときも適応制御器の演算がその影響を受けることがなく、よって空燃比の制御性と適応制御器の安定性を向上させるようにした内燃機関の空燃比制御装置を提供することにある。
【００１４】
【課題を解決するための手段】
上記の目的を達成するために、請求項１項にあっては、内燃機関の排気系に設けられ、前記内燃機関の排出する排気ガスの空燃比を検出する空燃比検出手段と、前記内燃機関に供給される燃料量を算出する燃料量算出手段と、適応パラメータを算出する適応パラメータ調整機構を備えた適応制御器を有し、前記空燃比検出手段の出力KACTが目標空燃比KCMDに収束するように前記燃料量算出手段により算出された燃料量を補正する補正係数ｕを、前記適応パラメータを用いて算出する補正係数算出手段と、前記燃料算出手段により算出された燃料量を前記補正係数ｕで補正し、出力燃料量を決定する出力燃料量決定手段と、および前記出力燃料量決定手段に決定された出力燃料量を前記内燃機関に供給する燃料供給手段と、からなる内燃機関の空燃比制御装置において、前記空燃比検出手段の出力KACTと前記目標空燃比KCMDとから前記適応制御器に入力する制御入力ｙを算出する算出手段を備え、前記補正係数算出手段は、前記適応制御器の目標値ｒを所定の値とすると共に、前記制御入力ｙがその所定の値ｒとなるように前記補正係数ｕを算出する如く構成した。
【００１５】
請求項２項にあっては、前記空燃比検出手段の下流に設けられた触媒装置と、前記触媒装置の下流に設けられ、前記触媒装置を通過した排気ガス中の特定成分の濃度を検出する排気ガス濃度検出手段と、を備え、前記排気ガス濃度検出手段の出力により前記目標空燃比KCMDを補正する如く構成した。
【００１６】
請求項３項にあっては、前記制御入力ｙが、前記空燃比検出手段の出力KACTと前記目標空燃比KCMDの比である如く構成した。
【００１７】
【作用】
請求項１項にあっては、適応制御器に入力する制御入力を検出空燃比KACTと目標空燃比KCMDとから算出すると共に、適応制御器の目標値ｒを所定の値とし、前記制御入力ｙがその所定の値ｒとなるように補正係数ｕを算出する如く構成した。従来技術においては、目標値（目標空燃比KCMDに同じ）と制御量（検出空燃比KACTに同じ）が一致するように適応パラメータを用いて補正係数を算出していた。その結果、目標値も制御量も共に変動することから、制御の安定性が必ずしも満足できるものではなかった。
【００１８】
即ち、図１４に示す従来の適応制御器では、２つの入力信号である目標値ｒ（目標空燃比KCMD）と制御入力ｙ（検出空燃比KACT）の両方が変数になっているために制御の次数が２次になり、結果として制御性が悪化している。
【００１９】
この発明に係る装置においては、目標値を所定の値、即ち、一定の値としたので、その分だけ制御の変数を減らすことができる。即ち、図６に示すように、従来の適応制御器の２つの入力信号である目標値ｒと制御入力ｙを合わせて１つの制御入力とし、適応制御器の目標値を所定の値とすることで、制御の次数を減らしている。
【００２０】
このように、目標空燃比と目標値を別々の値とすると共に、適応制御器の目標値ｒを一定の値としたので、運転状態に応じて目標空燃比を設定するとき、あるいは最適な浄化率を意図して触媒ウインドウで目標空燃比を微調整するときなども、適応パラメータの変化も少なく、それを用いて適応制御器で演算される燃料量補正係数も安定した値となる。よって、空燃比の制御性が向上すると共に、適応制御器の安定性も大幅に向上する。
【００２１】
尚、ここで「所定の値」とは、具体的には一定の値、より具体的には請求項３項に記載するように制御入力ｙ(k) をKACT(k) ／KCMD(k-d')とおくとき、１．０となるような固定した値である。
【００２２】
また、制御入力は通常、制御対象に加える操作量と同義で用いられるが、この明細書では適応制御器への入力を意味するものとして使用する。即ち、通常の場合には、制御対象の出力（制御量）がそのまま適応制御器に入力されるが、この発明で用いる適応制御器は上記した構造を備えるため、制御入力を通常とは別の意味で用いる。
【００２３】
請求項２項は、空燃比検出手段の下流に設けられた触媒装置の下流に設けられ、触媒装置を通過した排気ガス中の特定成分の濃度を検出する排気ガス濃度検出手段の出力により前記目標空燃比KCMDを補正する如く構成した。即ち、上で触れた触媒ウィンドウでの空燃比制御を行う如く構成したが、その場合でも、安定した空燃比制御を達成できることは、上に述べた通りである。
【００２４】
尚、排気ガスセンサは、Ｏ2 センサおよび広域空燃比センサ（酸素濃度に比例した出力を広い範囲にわたって出力できる酸素濃度センサ）に限らず、排気ガス中の特定成分の濃度を検出するセンサ、例えばＮｏｘ成分を検出するＮｏｘセンサでも良い。その意味で「排気ガス濃度検出手段」と記載した。
【００２５】
請求項３項にあっては、制御入力ｙが空燃比検出手段の出力KACTと目標空燃比KCMDの比であるように構成したので、適応制御器の目標値を１．０に固定することができ、更に安定した制御を実現することが可能となる。
【００２６】
【発明の実施の形態】
以下、添付図面に即して出願に係る内燃機関の空燃比制御装置の実施の形態を説明する。
【００２７】
図１はその装置を概略的に示す全体図である。
【００２８】
図において、符号１０はＯＨＣ直列４気筒の内燃機関を示しており、吸気管１２の先端に配置されたエアクリーナ１４から導入された吸気は、スロットル弁１６でその流量を調節されつつサージタンク１８と吸気マニホルド２０を経て、２個の吸気弁（図示せず）を介して第１から第４気筒へと流入される。各気筒の吸気弁（図示せず）の付近にはインジェクタ２２が設けられて燃料を噴射する。噴射されて吸気と一体となった混合気は、各気筒内で図示しない点火プラグで点火されて燃焼してピストン（図示せず）を駆動する。
【００２９】
燃焼後の排気ガスは、２個の排気弁（図示せず）を介して排気マニホルド２４に排出され、排気管２６を経て第１の触媒装置（三元触媒装置）２８と第２の触媒装置（三元触媒装置）３０とで浄化されて機関外に排出される。上記で、スロットル弁１６はアクセルペダル（図示せず）とは機械的に切り離され、パルスモータＭを介してアクセルペダルの踏み込み量および運転状態に応じた開度に制御される。また、吸気管１２には、スロットル弁１６の配置位置付近にそれをバイパスするバイパス路３２が設けられる。
【００３０】
内燃機関１０には、排気ガスを吸気側に還流させる排気還流通路１２１を含む排気還流機構１００が設けられると共に、吸気系と燃料タンク３６との間も接続され、キャニスタ・パージ機構２００が設けられるが、それらは本願の要旨と直接の関連を有しないので、説明を省略する。
【００３１】
更に、内燃機関１０は、いわゆる可変バルブタイミング機構３００（図１にV/T と示す）を備える。可変バルブタイミング機構３００は例えば、特開平２−２７５０４３号公報に記載されており、機関回転数Ｎｅおよび吸気圧力Ｐｂなどの運転状態に応じて機関のバルブタイミングV/T を高低２種のタイミング特性LoV/T, HiV/Tの間で切り換える。但し、それ自体は公知な機構なので、説明は省略する。尚、このバルブタイミング特性の切り換えには、２個の吸気弁の一方を休止する動作を含む。
【００３２】
図１において、内燃機関１０のディストリビュータ（図示せず）内には特定気筒の特定クランク角度で気筒判別信号を、各気筒のピストン（図示せず）の所定クランク角度で基準クランク角度信号を、および１５度ごとに回転数信号を出力するクランク角センサ４０が設けられる。また、内燃機関１０においては、スロットル弁１６の開度を検出するスロットル開度センサ４２、スロットル弁１６下流の吸気圧力Ｐｂを絶対圧力で検出する絶対圧センサ４４も設けられる。
【００３３】
また、内燃機関１０の適宜位置には大気圧Ｐa を検出する大気圧センサ４６が設けられ、スロットル弁１６の上流側には吸入空気の温度を検出する吸気温センサ４８が設けられると共に、機関の適宜位置には機関冷却水温を検出する水温センサ５０が設けられる。また、油圧を介して可変バルブタイミング機構３００の選択バルブタイミング特性を検出するバルブタイミング（V/T ）センサ５２（図１で図示省略）も設けられる。
【００３４】
更に、排気系において、排気マニホルド２４の下流側で第１の触媒装置２８の上流側の排気系集合部には、広域空燃比センサ５４が１個設けられると共に、その下流側には前記した排気ガスセンサたるＯ2 センサ５６が１個設けられる。ここで、第１の触媒装置２８の容量は１リットル程度とすると共に、第２の触媒装置３０の容量は１．７リットル程度とする。尚、第１の触媒装置２８と第２の触媒装置３０を、別々に設けずに１つの触媒装置の中の触媒床としても良い。その場合には、前記Ｏ2 センサ５６は、その２つの触媒床の間に設けられることになる。
【００３５】
また、広域空燃比センサ５４の次段にはフィルタ５８が接続されると共に、Ｏ2 センサ５６の次段にも第２のフィルタ６０が接続される。これらセンサ出力およびフィルタ出力は、制御ユニット３４に送られる。
【００３６】
図２は制御ユニット３４の詳細を示すブロック図である。広域空燃比センサ５４の出力は第１の検出回路６２に入力され、そこで適宜な線型化処理が行われてリーンからリッチにわたる広い範囲において排気ガス中の酸素濃度に比例したリニアな特性からなる検出信号を出力する（以下、この広域空燃比センサを「ＬＡＦセンサ」と呼ぶ）。
【００３７】
また、Ｏ2 センサ５６の出力は第２の検出回路６４に入力され、図３に示す如く、内燃機関１０に供給された混合気の空燃比が理論空燃比（λ＝１）に対してリッチかリーンかを示す検出信号を出力する。
【００３８】
第１の検出回路６２の出力は、マルチプレクサ６６およびＡ／Ｄ変換回路６８を介してＣＰＵ内に入力される。ＣＰＵはＣＰＵコア７０、ＲＯＭ７２、ＲＡＭ７４を備え、第１の検出回路６２の出力を所定のクランク角度（例えば１５度）ごとにＡ／Ｄ変換し、ＲＡＭ７４内のバッファに順次格納する。また、第２の検出回路６４の出力およびスロットル開度センサ４２などのアナログセンサ出力も同様にマルチプレクサ６６およびＡ／Ｄ変換回路６８を介してＣＰＵ内に取り込まれ、ＲＡＭ７４に格納される。
【００３９】
またクランク角センサ４０の出力は波形整形回路７６で波形整形された後、カウンタ７８で回転数信号がカウントされ、カウント値はＣＰＵ内に入力されて機関回転数が検出される。ＣＰＵにおいてＣＰＵコア７０は、ＲＯＭ７２に格納された命令に従って後述の如く燃料量を決定し、駆動回路８２を介して各気筒のインジェクタ２２を駆動し、駆動回路８４，８６，８８を介して電磁弁（ＥＡＣＶ）９０（２次空気量を調節するバイパス路３２の開閉）、および排気還流制御用電磁弁１２２ならびにキャニスタ・パージ制御用電磁弁２２５を駆動する。
【００４０】
図４は実施の形態に係る空燃比制御装置の動作を説明するフロー・チャート、図５はその装置の全体的な機能ブロック図、および図６は図５を適応制御器および適応パラメータ調整機構に焦点をおいて書き直した機能ブロック図である。
【００４１】
図５を先に参照して説明すると、この装置は、ＬＡＦセンサ５４の出力をフィルタ５８およびフィルタ９２を介して入力する適応制御器（Self Tuning Regulator 型の適応制御器。図にSTR と示す）を備える。
【００４２】
また、Ｏ2 センサ５６の出力ＶO2M はフィルタ６０を介して目標空燃比補正ブロック（図にKCMD補正と示す）に入力され、そこで後述の如く、Ｏ2 センサの目標値（ＶrefM）との差に応じて目標空燃比KCMDが補正されると共に、目標空燃比補正係数KCMDM が求められる。
【００４３】
他方、予め定めたマップを検索して基本燃料量ＴiM-Fが算出され、ＥＧＲないしキャニスタ・パージ補正係数などを含む各種補正係数KTOTALと目標空燃比補正係数KCMDM がそれに乗算される（図中で加え合わせ点に代えて乗算記号ｘを用いたのはそれを示す）。乗算補正された燃料量を要求燃料量Ｔcyl と呼ぶ。尚、上記のように予め定めたマップを用いて燃料量を演算することは、「フィードフォワード系で燃料量を演算」するとも言える。
【００４４】
また、後で詳述するように検出空燃比KACT(k) と目標空燃比KCMD(k-d')  に基づいて適応制御器ＳＴＲおよびＰＩＤ制御器（図にＰＩＤと示す）でフィードバック補正係数KSTRないしはKLAFが求められ（これらフィードバック補正係数を「KFB 」と総称する）、切換スイッチ（図に切換ＳＷと示す）を介して運転状態に応じていずれかが選択されて要求燃料量Ｔcyl に乗算され、出力燃料量Ｔout が決定される。出力燃料量Ｔout には燃料の吸気マニホルドの壁面付着に伴う付着補正がなされ、付着補正された燃料量Ｔout-F が内燃機関１０に供給される。
【００４５】
このように、ＬＡＦセンサ５４の出力に基づいて空燃比が目標空燃比に制御されると共に、目標値の近傍、いわゆる触媒ウィンドウ付近で微小な空燃比制御（以下「ＭＩＤＯ2 制御」と言う）がなされる。ＭＩＤＯ2 制御で浄化率を更に向上させるためには、触媒装置下流のＯ2 センサ５６の出力反転からできるだけ短時間に目標通りの空燃比に触媒装置上流の空燃比を合わせる必要があるが、フィードフォワード系で演算された燃料量ＴiM-Fに目標空燃比補正係数KCMDM を乗算するだけでは、機関の応答遅れがあるため、目標空燃比KCMDがなまされた検出空燃比KACTとなってしまう。
【００４６】
そのため、目標空燃比KCMDを動的に補償したフィードバック補正係数KSTR（適応制御器ＳＴＲ出力）を乗算し、検出空燃比KACTが目標空燃比KCMDに速やかに収束し、触媒浄化率を向上させるようにした。
【００４７】
尚、フィルタについて説明を補足すると、単一のセンサ出力を用いて複数の制御方式を並列に備えるフィードバック構成となっていることから、制御方式に応じてフィルタの遮断周波数特性を設定する。具体的には、フィルタ５８は５００Ｈｚの遮断周波数特性を備えたローパスフィルタ、フィルタ９２は４Ｈｚの遮断周波数特性を備えたローパスフィルタとする。フィルタ９３は遮断周波数特性においてフィルタ９２と同一かそれ以上とする。また、Ｏ2 センサ５６に接続されるフィルタ６０には、１６００Ｈｚ程度の遮断周波数特性を備えたローパスフィルタを用いる。
【００４８】
以下、図４フロー・チャートを参照して出願に係る装置の動作を説明する。
【００４９】
先ず、Ｓ１０において機関回転数Ｎｅ、吸気圧力Ｐｂなどの運転状態を示すパラメータの検出値を読み出した後、Ｓ１２に進んで目標空燃比KCMDおよびその補正係数KCMDM を演算する。
【００５０】
図７はその算出作業を示すフロー・チャートである。
【００５１】
先ず、Ｓ２００において目標空燃比KCMDの基本値KBS を検索する。これは機関回転数Ｎｅと吸気圧力Ｐｂとから予め用意されたマップ（図８にその特性を示す）を検索して求める。尚、図示は省略するが、そのマップにはアイドル時の基本値も含まれる。リーンバーン制御用の基本値も含まれる。
【００５２】
次いでＳ２０２に進み、適宜なタイマの値を参照して機関始動後のリーンバーン制御が実行されているか否か判別する。実施の形態に係る内燃機関１０では可変バルブタイミング機構で吸気弁の一方の動作を休止させることで始動後の所定期間は、目標空燃比を理論空燃比よりややリーン側に設定するリーンバーン制御を行い、始動後の触媒装置が未だ活性化していない間に空燃比をリッチ化することでＨＣが増える不都合を回避している。そこでタイマ値からその期間にあるか否か判別し、それに応じてリーン補正係数を算出する。この値は例えばリーンバーン制御期間にあれば０．８９、ないときは１．０と算出される。
【００５３】
次いでＳ２０４に進み、スロットル開度が全開（WOT)であるか否か判断し、判断結果に応じて全開増量補正値を算出する。次いでＳ２０６に進み、水温Ｔｗが高いか否か判断し、判断結果に応じて増量補正係数KTWOT を演算する。この値には、高水温時の機関保護のための補正係数も含まれる。全開増量補正係数と増量補正係数KTWOT はそれぞれ増量が必要と判断した場合には例えば１．１等の値に設定され、不要と判断した場合には１．０と設定される。
【００５４】
次いでＳ２０８に進んで基本値KBS に求めた補正係数を乗算して目標空燃比KCMD(k) を決定する。更に、補正した基本値KBS に基づき、先に図３に示した如く、理論空燃比近傍のＯ2 センサ５６の出力が線形特性を備える範囲（縦軸に破線で示す）において、空燃比の微小制御（前記したＭＩＤＯ2 制御）のためのウインドウ（以下DKCMD-OFFSETと称する）を設定し、そのウインドウ値DKCMD-OFFSETを補正した基本値KBS に加算することで行う。即ち、目標空燃比KCMDを以下の如く決定する。
KCMD＝KBS(×補正係数）＋DKCMD-OFFSET
尚、Ｓ２０４とＳ２０６で算出された補正係数が１．０以外の場合には、機関はリッチ運転を行うため、ウィンドウ値DKCMD-OFFSETの補正は省略しても良い。
【００５５】
次いでＳ２１０に進んで求めた目標空燃比KCMD(k) のリミット処理を行い、Ｓ２１２に進んで算出した目標空燃比KCMD(k) が１ないしその付近の値にあるか否か判断し、肯定されるときはＳ２１４に進んでＯ2 センサ５６の活性化判断を行う。これは図示しない別ルーチンで実行され、Ｏ2 センサ５６の出力電圧の変化を検出することで行う。次いでＳ２１６に進んでＭＩＤＯ2 制御用のDKCMD の演算を行う。
【００５６】
これは上に述べたように、第１の触媒装置２８下流のＯ2 センサ５６の出力に基づいて、上流側のＬＡＦセンサ５４の目標空燃比KCMD(k) を補正する作業を意味する。詳しくは図３に示す如く、所定の比較電圧ＶrefMとＯ2 センサ５６の出力電圧ＶO2M の偏差にＰＩＤ制御則を用いて値DKCMD を算出することで行う。尚、比較電圧ＶrefMは、大気圧Ｐａ、水温Ｔｗ、排気ボリューム（機関回転数Ｎｅおよび吸気圧力Ｐｂより求めることが可能）などに応じて求める。
【００５７】
尚、前記したウインドウ値DKCMD-OFFSETは、第１、第２の触媒装置２８，３０が最適な浄化率を維持するために加えるオフセット値である。これは触媒装置の特性により異なることから、図示例の第１の触媒装置２８の特性を勘案して決定する。また経年劣化によっても変化することから、値DKCMD の毎回の算出値を用いて加重平均により学習する。具体的には、
DKCMD-OFFSET(k) ＝Ｗ×DKCMD ＋（１−Ｗ）×DKCMD-OFFSET(k-1)
で求める。ここで、Ｗ：重み係数、ｋ：時刻である。
【００５８】
このように、目標空燃比KCMDを値DKCMD-OFFSETの前回算出値で学習演算することにより、経年劣化の影響を受けることなく、浄化率が最適となる空燃比にフィードバック制御することができる。尚、この学習は、機関回転数Ｎｅおよび吸気圧力Ｐｂなどから運転状態を領域毎に分けて行っても良い。
【００５９】
次いでＳ２１８に進み、算出した値DKCMD(k)を加算して目標空燃比KCMD(k) を更新し、Ｓ２２０に進んで目標空燃比補正係数KCMDM (k) を算出する。具体的には、図９にその特性を示すテーブルを目標空燃比KCMD(k) で検索して補正係数KETCを求め、求めた補正係数KETCを用いてKCMD(k) を図示の如く乗算補正することで行う。この補正は、気化熱で吸入空気の充填効率が相違するのを補償するためである。即ち、目標空燃比に充填効率補正を施した値KCMDM(k)を目標空燃比補正係数とする。
【００６０】
尚、Ｓ２１２で否定されるときは、制御すべき目標空燃比KCMD(k) が理論空燃比に対して大きくずれているときで、例えばリーンバーン運転時であり、ＭＩＤＯ2 制御を行う必要がないことから、直ちにＳ２２０にジャンプする。最後にＳ２２２で目標空燃比補正係数KCMDM(k)のリミット処理を行って終わる。
【００６１】
図４フロー・チャートに戻ると、次いでＳ１４に進んでクランキングか否か判断し、否定されるときはＳ１６に進んでフューエルカットか否か判断する。フューエルカットは、所定の運転状態、例えばスロットル弁１６が全閉位置にあり、かつ機関回転数が所定値以上であるときに行われ、燃料供給が停止されると共に、空燃比もオープンループで制御される。
【００６２】
Ｓ１６でフューエルカットではないと判断されるときはＳ１８に進んで基本燃料量ＴiM-Fを算出する。これは、先に述べたように、検出した機関回転数Ｎｅと吸気圧力Ｐｂとから予め作成されたマップを検索することで行う。尚、本出願人が先に特開平８−４２８００号公報で提案したように、マップ検索値に、更にスロットル弁１６の有効開口面積から求めた比を乗算し、スロットル弁１６を通過する空気量に相当する燃料量を厳密に求めても良い。
ＴiM-F＝マップ検索燃料量×実スロットル有効開口面積／吸気圧力Ｐｂとスロットル開度の一次遅れ値により求まるスロットル有効開口面積
【００６３】
次いでＳ２０に進み、求めた基本燃料量ＴiM-Fに各種補正項KTOTALおよび目標空燃比KCMDM(k)を乗算して要求燃料量Ｔcyl (k) を演算し、Ｓ２２に進んでＬＡＦセンサ５４の活性化が完了したか否か判断する。これは図７のＳ２１４での作業と同様に、例えばＬＡＦセンサ５４の出力電圧とその中心電圧との差を所定値（例えば０．４ｖ）と比較し、差が所定値より小さいとき活性化が完了したと判定することで行う。
【００６４】
Ｓ２２で活性化が完了したと判断されるときはＳ２４に進んで空燃比フィードバック制御領域にあるか否か判断する。これは図示しない別ルーチンで行われ、例えば全開増量時や高回転時、またはＥＧＲなどの影響により運転状態が急変したときなどは空燃比はオープンループで制御される。
【００６５】
Ｓ２４で肯定されるときはＳ２６に進んでＬＡＦセンサ出力を読み込み、Ｓ２８に進んで読み込んだ値から検出空燃比KACT(k) を求め、Ｓ３０に進んで検出空燃比KACT(k) と目標空燃比KCMD(k-d')の比KACT(k) ／KCMD(k-d')を求め、適応制御器（または後述するＰＩＤコントローラ）の制御入力ｙ(k) とする。
【００６６】
Ｓ３０の処理について説明する前に、理解の便宜のため、図６を参照して前出の適応制御器STR について説明する。適応制御器はより具体的には図示の如く、ＳＴＲコントローラ（STR CONTROLLER) と適応パラメータ調整機構（以下『パラメータ調整機構』と略称する）からなる。ＳＴＲコントローラは漸化式を用いてフィードバック補正係数KSTR(k) を算出する。即ち、ＳＴＲコントローラは、パラメータ調整機構によって同定された適応パラメータθハット(k) （係数ベクトル）を受け取ってフィードバック補償器を形成する。
【００６７】
適応制御の調整則（機構）の一つに、Ｉ．Ｄ．ランダウらの提案したパラメータ調整則がある。この手法は、適応制御システムを線形ブロックと非線形ブロックとから構成される等価フィードバック系に変換し、非線形ブロックについては入出力に関するポポフの積分不等式が成立し、線形ブロックは強正実となるように調整則を決めることによって、適応制御システムの安定を保証する手法である。即ち、ランダウらの提案したパラメータ調整則においては、漸化式形式で表される調整則（適応則）が、上記したポポフの超安定論ないしはリヤプノフの直接法の少なくともいづれかを用いることでその安定性を保証している。
【００６８】
この手法は、例えば「コンピュートロール」（コロナ社刊）Ｎｏ．２７，２８頁〜４１頁、ないしは「自動制御ハンドブック」（オーム社刊）７０３頁〜７０７頁、" A Survey of Model Reference Adaptive Techniques - Theory and Ap-plication" I.D. LANDAU「Automatica」Vol. 10, pp. 353-379, 1974、"Unifi- cation  of Discrete Time Explicit Model Reference Adaptive ControlDesigns" I.D.LANDAU ほか「Automatica」Vol. 17, No. 4, pp. 593-611, 1981 、および" Combining Model Reference Adaptive Controllers and Stochastic Self-tuning Regulators" I.D. LANDAU 「Automatica」Vol. 18, No. 1, pp. 77-84, 1982 に記載されているように、公知技術となっている。
【００６９】
図示例の適応制御技術では、このランダウらの調整則を用いた。以下説明すると、ランダウらの調整則では、離散系の制御対象の伝達関数Ｂ(Z-1)/Ａ(Z-1) の分母分子の多項式を数１および数２のようにおいたとき、パラメータ調整機構が同定する適応パラメータθハット(k) は、数３のようにベクトル（転置ベクトル）で示される。またパラメータ調整機構への入力ζ(k) は、数４のように定められる。ここでは、ｍ＝１、ｎ＝１、ｄ＝３の場合、即ち、１次系で３制御サイクル分の無駄時間を持つプラントを例にとった。
【００７０】
【数１】
0003765617.tif 000002
【００７１】
【数２】
0003765617.tif 000003
【００７２】
【数３】
0003765617.tif 000004
【００７３】
【数４】
0003765617.tif 000005
【００７４】
ここで、数３に示される適応パラメータθハットは、ゲインを決定するスカラ量ｂ0 ハット-1(k) 、操作量を用いて表現される制御要素ＢR ハット(Z-1, k)および制御量を用いて表現される制御要素Ｓ（Z -1, k)からなり、それぞれ数５から数７のように表される。
【００７５】
【数５】
0003765617.tif 000006
【００７６】
【数６】
0003765617.tif 000007
【００７７】
【数７】
0003765617.tif 000008
【００７８】
パラメータ調整機構はこれらのスカラ量や制御要素の各係数を同定・推定し、前記した数３に示す適応パラメータθハットとして、ＳＴＲコントローラに送る。パラメータ調整機構は、プラントの操作量ｕ（ｉ）および制御量ｙ（ｊ）（ｉ，ｊは過去値を含む）を用いて目標値と制御量との偏差が零となるように適応パラメータθハットを算出する。
【００７９】
適応パラメータθハットは、具体的には数８のように計算される。数８で、Γ(k) は適応パラメータの同定・推定速度を決定するゲイン行列（ｍ＋ｎ＋ｄ次）、ｅアスタリスク(k) は同定・推定誤差を示す信号で、それぞれ数９および数１０のような漸化式で表される。尚、数１０の分子のＤ(z-1) は設計者が与える所望の漸近安定な多項式で、この例の場合は１に設定した。
【００８０】
【数８】
0003765617.tif 000009
【００８１】
【数９】
0003765617.tif 000010
【００８２】
【数１０】
0003765617.tif 000011
【００８３】
また数９中のλ１(k) ，λ２(k) の選び方により、種々の具体的なアルゴリズムが与えられる。例えば、λ１(k) ＝１，λ２(k) ＝λ（０＜λ＜２）とすると漸減ゲインアルゴリズム（λ＝１の場合には最小自乗法）、λ１(k) ＝λ１（０＜λ１＜１），λ２(k) ＝λ２（０＜λ２＜λ）とすると可変ゲインアルゴリズム（λ２＝１の場合には重み付き最小自乗法）、λ１(k) ／λ２(k) ＝σとおき、λ３が数１１のように表されるとき、λ１(k) ＝λ３とおくと固定トレースアルゴリズムとなる。尚、数１１においてtrΓ(0) は、Γの初期値のトレースである。
【００８４】
【数１１】
0003765617.tif 000012
【００８５】
また、λ１(k) ＝１，λ２(k) ＝０のとき固定ゲインアルゴリズムとなる。この場合は数９から明らかな如く、Γ(k) ＝Γ(k-1) となり、よってΓ(k) ＝Γの固定値となる。空燃比などの時変プラントには、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定ゲインアルゴリズム、および固定トレースアルゴリズムのいずれもが適している。
【００８６】
上記から明らかな如く、この適応制御器は、制御対象（内燃機関）の動的な挙動を考慮した漸化式形式の制御器であり、詳しくは、制御対象の動的な挙動を補償するために、漸化式形式により記述された制御器である。より詳しくは、ＳＴＲ型であることから、前記制御器の入力に漸化式形式のパラメータ調整機構を備えた適応制御器と定義することができる。
【００８７】
ここで、フィードバック補正係数KSTR(k) は、具体的には数１２に示すように求められる。
【００８８】
【数１２】
0003765617.tif 000013
【００８９】
図１４に示した先の提案技術では、ＳＴＲコントローラの目標値ｒを目標空燃比KCMDとし、それと排気系に生じた検出空燃比KACTが一致するようにパラメータ調整機構を動作させてフィードバック補正係数KSTR(k) を演算するようにした。その結果、図１５に関して述べたように、目標空燃比を頻繁に変更するとき、それが外乱となって適応パラメータθハットが変動する不都合があった。
【００９０】
そこで、この出願に係る装置にあっては、図５および図６に示す如く、検出空燃比KACT(k) を目標空燃比KCMD(k-d')で除算し（この明細書で符号３００で示すスラッシュ記号は除算を示す）、検出空燃比KACT(k) と目標空燃比KCMD(k-d')の比KACT(k) ／KCMD(k-d')を求めて適応制御器の入力（制御入力）ｙ(k) とするようにした。他方、適応制御器の目標値ｒは所定の値、具体的には固定値１．０とした。
【００９１】
即ち、適応制御器の入力ｙ(k) を、検出空燃比KACTと目標空燃比KCMDに基づいて、それが所定の値１．０（＝KACT(k)/KCMD(k-d')）となるように求めると共に、前記所定の値１．０を適応制御器の目標値ｒとした。尚、この構成によるときは、数４と数１２は、数１３と数１４のように書き直される。
【００９２】
【数１３】
0003765617.tif 000014
【００９３】
【数１４】
0003765617.tif 000015
【００９４】
即ち、適応制御器は目標値ｒと制御入力ｙとが等しくなるように動作する結果、１．０＝KACT／KCMD、変形すればKCMD＝KACTとなるように動作する。尚、制御入力ｙを検出空燃比KACT−目標空燃比KCMD（あるいは目標空燃比KCMD−検出空燃比KACT）とおき、目標値ｒを０とおいても、１＝KACT−KCMD、変形してKACT＝KCMDとなることから、同様である。
【００９５】
即ち、図示した適応制御器において、目標空燃比と検出空燃比とが等しくなるように適応制御器の入力ｙと目標値ｒの値を定める。
【００９６】
図１２は、図５および図６に示した構成において、先に図１５で説明したのと同様に、運転パラメータを固定したまま（機関回転数２８００ｒｐｍ、吸気圧力−１５０ｍｍＨｇ）、目標空燃比KCMD(k-d' ) を２．５秒の間にステップ状に変化させたときの検出空燃比KACT(k) の応答を実機で検証した結果を示す。
【００９７】
図１２（ａ）に示すように検出空燃比KACT(k) は、オーバーシュートを起こすことなく、目標空燃比KCMD(k-d')に良く追従した。図１２（ｂ）から（ｆ）はそのときの適応パラメータの要素の応答を示し、全ての要素の変化が少ないことが見てとれる。即ち、目標値ｒの変動が少ないため、適応パラメータも安定した結果が得られた。
【００９８】
これによって、適応パラメータを用いて補正係数を演算するときも、演算した補正係数が安定した値となり、それを用いて決定される燃料量の値も安定し、操作量が変動することがなく、空燃比の制御性が向上し、制御ハンチングなどが生じる不都合がない。また、適応パラメータの値が安定しているということは、適応パラメータ調整機構の演算も安定していると言うことであり、適応制御器そのもののロバスト性も向上する。
【００９９】
尚、図示の構成においては、ＳＴＲコントローラと共に、従来的なＰＩＤ制御器（ＰＩＤコントローラと示す）を設け、ＰＩＤ制御則によってフィードバック補正係数KLAFを決定し、切換機構を介していずれかを選択するようにした。
【０１００】
その理由は、適応制御器のように現代制御理論を用いてフィードバック補正係数を決定すると、制御の応答性が比較的高いことから、運転状態によっては、例えばフューエルカットからの復帰時などには却って制御量が発振し、制御の安定性が低下する場合がある。そのため、適応制御則およびＰＩＤ制御則を用いてフィードバック補正係数を決定し、運転状態に応じて切り換えるようにした。尚、フィードバック補正係数を切り換えるときは、それぞれの特性が異なることから、補正係数に段差が生じて操作量が急変し、制御量が不安定となって制御の安定性が低下する恐れがある。そこで、その切り換えを滑らかに行って制御の安定性が低下しないようにした。
【０１０１】
図４フロー・チャートの説明を続けると、次いでＳ３２に進んでフィードバック補正係数KFB （フィードバック補正係数KSTRおよびフィードバック補正係数KLAFの総称）を演算する。
【０１０２】
図１０はその作業を示すサブルーチン・フロー・チャートである。
【０１０３】
同図に従って説明すると、Ｓ３００で前回（前回の制御ないし演算周期、即ち、前回プログラム起動時刻）にオープンループ制御であったか否か判定する。前回フューエルカットなどのオープンループ制御にあったときは肯定されてＳ３０２に進み、そこでカウンタ値Ｃを０にリセットし、Ｓ３０４に進んでフラグFKSTR のビットを０にリセットし、Ｓ３０６に進んでフィードバック補正係数の最終値KFB を演算する。
【０１０４】
Ｓ３０４でフラグFKSTR のビットを０にリセットすることは、フィードバック補正係数がＰＩＤ制御則で決定されるべきことを意味する。また後述の如く、フラグFKSTR のビットが１にセットされるときは、フィードバック補正係数が適応制御則で決定されるべきことを意味する。
【０１０５】
図１１はフィードバック補正係数KFB 演算の具体的な作業を示すサブルーチン・フロー・チャートである。
【０１０６】
以下説明すると、Ｓ４００でそのフラグFKSTR のビットが１にセットされているか、即ち、ＳＴＲ（コントローラ）作動領域にあるか否か判断する。このフラグは図１０フロー・チャートのＳ３０４において０にリセットされていることから、このステップの判断は否定され、Ｓ４０２に進んで前回フラグFKSTR のビットが１にセットされていたか、即ち、前回ＳＴＲ（コントローラ）作動領域にあったか否か判断する。
【０１０７】
ここでの判断も当然否定され、Ｓ４０４に進んでＰＩＤコントローラによるＰＩＤ制御則に基づいてフィードバック補正係数KLAF(k) を前述の如く演算する、。
【０１０８】
このＰＩＤコントローラによる、即ち、ＰＩＤ制御則によるフィードバック補正係数KLAFは以下の通り演算される。
【０１０９】
先ず、目標空燃比補正係数KCMDと検出空燃比KACTの制御偏差DKAFを
DKAF(k) ＝KCMD(k-d')−KACT(k)
と求める。
【０１１０】
次いで、それに所定の係数を乗じてＰ項KLAFP(k)、Ｉ項KLAFI(k)、およびＤ項KLAFD(k)を
Ｐ項：KLAFP(k)＝DKAF(k) ×KP
Ｉ項：KLAFI(k)＝KLAFI(k-1)＋DKAF(k) ×KI
Ｄ項：KLAFD(k)＝(DKAF(k)−DKAF(k-1))×KD
と求める。このようにＰ項は偏差に比例ゲインKPを乗じて求め、Ｉ項は偏差に積分ゲインKIを乗じて得た値をフィードバック補正係数の前回値KLAFI (k-1) に加算して求め、Ｄ項は偏差の今回値DKAF(k) と前回値DKAF(k-1) の差に微分ゲインKDを乗じて求める。尚、各ゲインKP,KI,KDは、機関回転数と機関負荷に応じて求められ、より具体的にはマップを用いて機関回転数Ｎｅと吸気圧力Ｐｂとから検索できるように設定される。
【０１１１】
最後に、よって得た値を
KLAF(k) ＝KLAFP(k)＋KLAFI(k)＋KLAFD(k)
と合算してＰＩＤ制御則によるフィードバック補正係数の今回値KLAF(k) とする（この場合、乗算補正によるフィードバック補正係数とするため、オフセット分である１．０は、Ｉ項KLAFI(k)に含まれているものとする。即ち、Ｉ項KLAFI の初期値は１．０とする）。ＰＩＤコントローラによるフィードバック補正係数が選択されるとき、ＳＴＲコントローラは、そのフィードバック補正係数KSTRが１．０（初期状態）で停止するように、適応パラメータをホールドする。
【０１１２】
続いて図１０フロー・チャートに戻り、Ｓ３０８に進んでKLAF(k) をKFB とする。
【０１１３】
図１０フロー・チャートの説明を続けると、Ｓ３００で前回オープンループ制御ではないと判断されるときは、Ｓ３１０に進んで目標空燃比の無駄時間前の値KCMD(k-d')と今回値KCMD(k) の差DKCMD を求め、基準値DKCMDrefと比較する。そして、差DKCMD が基準値DKCMDrefを超えると判断されるとき、Ｓ３０２以降に進んでＰＩＤ制御則によってフィードバック補正係数を演算する。
【０１１４】
これは、目標空燃比の変化が大きいときは、フューエルカットの復帰の場合と同様、空燃比センサの検出遅れなどから、必ずしも検出値が真の値を指すとは言い難く、同様に制御量が不安定となる可能性があるからである。
【０１１５】
他方、Ｓ３１０で差DKCMD が基準値DKCMDref以下と判断されるときはＳ３１２に進んでカウンタ値Ｃをインクリメントし、Ｓ３１４に進んで検出水温Ｔｗを所定値TWSTR-ONと比較し、所定値を下回ると判断されるときはＳ３０４以降に進んでＰＩＤ制御則によってフィードバック補正係数を演算する。これは、低水温時には燃焼が安定せず、失火などが生じる恐れがあって、安定した検出値KACTが得られないからである。尚、水温が異常に高いときも、同様である。
【０１１６】
Ｓ３１４で検出水温が所定値以上と判断されるときはＳ３１６に進んで検出機関回転数Ｎｅを所定値NESTRLMTと比較し、所定値以上と判断されるときはＳ３０４以降に進む。これは、高回転時に演算時間が不足しがちであると共に、燃焼も安定しないからである。
【０１１７】
Ｓ３１６で検出機関回転数が所定値未満と判断されるときはＳ３１８に進み、どちらのバルブタイミング特性が選択されているか否か判断し、ＨｉV/T 側の特性が選択されていると判断されるときもＳ３０４以降に進む。これは、ＨｉV/T 側の特性が選択されているときはバルブタイミングのオーバラップ量が大きいため、吸気が排気弁を通過して逃げる、いわゆる吸気の吹き抜けと言う現象が生じるおそれがあり、安定した検出値KACTを期待し得ないからである。
【０１１８】
Ｓ３１８でＬｏV/T 側（２個のバルブの内の１個の休止状態を含む）と判断されるときはＳ３２０に進んでアイドル領域にあるか否か判断し、肯定されるときもＳ３０４以降に進む。これは、アイドル時は運転状態がほぼ安定していてＳＴＲ制御則のような高いゲインを必要としないなどの理由による。
【０１１９】
Ｓ３２０でアイドル領域にないと判断されるときはＳ３２２に進んで検出吸気圧力Ｐｂが低負荷側の値か否か判断し、低負荷側の値と判断されるときもＳ３０４以降に進む。これも、燃焼が安定しないためである。
【０１２０】
Ｓ３２２で低負荷ではないと判断されるときはＳ３２４に進み、カウンタ値Ｃを所定値、例えば５と比較する。そしてカウンタ値Ｃが所定値以下と判断される限りはＳ３０４以降を進んで前記と同様にＰＩＤコントローラが演算するフィードバック補正係数KLAF(k) を選択する。これは、フューエルカットが終了して再開後に供給された燃料の燃焼が完了するまでの遅れや検出遅れから、制御量が不安定となることがあるためである。
【０１２１】
続いて、Ｓ３２４でカウンタ値Ｃが所定値を超える、即ち、６以上と判断されるときはＳ３２６に進んで前記フラグFKSTR のビットを１にセットし、Ｓ３２８に進んで再び図１１フロー・チャートに従ってフィードバック補正係数の最終値KFB を演算する。この場合、図１１フロー・チャートにおいてＳ４００の判断は肯定されてＳ４０６に進み、前回フラグFKSTR のビットが０にリセットされていたか、即ち、前回ＰＩＤ作動領域であったか否か判断する。
【０１２２】
カウンタ値が所定値を超えて初めてであるときこの判断は肯定され、Ｓ４０８に進んで検出空燃比KACT(k) を下限値ａ、例えば０．８と比較する。検出空燃比が下限値以上と判断されるとＳ４１０に進み、検出空燃比を上限値ｂ、例えば１．２と比較し、それ以下と判断されるとき、Ｓ４１２を経てＳ４１４に進み、ＳＴＲコントローラを用いてフィードバック補正係数KSTR(k) を演算する。
【０１２３】
換言すれば、Ｓ４０８で検出空燃比が下限値ａを下回る、ないしはＳ４１０で検出空燃比が上限値ｂを超えると判断されるときは、Ｓ４０４に進んでＰＩＤ制御に基づいてフィードバック補正係数を演算する。即ち、ＰＩＤ制御からＳＴＲ（適応）制御への切り換えは、ＳＴＲコントローラの作動領域で、かつ検出空燃比KACTが１付近の値となったときに行う。これにより、ＰＩＤ制御からＳＴＲ（適応）制御への切り換えを滑らかに行うことができる。
【０１２４】
そして、Ｓ４１０で検出空燃比KACT(k) が上限値ｂ以下と判断されるときはＳ４１２に進み、ＳＴＲコントローラにおいて前記したゲインを決定するスカラ量ｂ0 を図示の如くＰＩＤ制御によるフィードバック補正係数の前回値KLAF(k-1) で除算した値とし、Ｓ４１４に進んでＳＴＲコントローラによるフィードバック補正係数KSTR(k) を求める。
【０１２５】
即ち、ＳＴＲコントローラによるフィードバック補正係数KSTR(k) は、本来的には前述の如く、数１２のように求めるが、Ｓ４０６で肯定されてＳ４０８以降に進むとき、前回制御周期ではフィードバック補正係数がＰＩＤ制御に基づいて決定されている。そして、図６の構成において、ＰＩＤ制御によりフィードバック補正係数が決定されているとき、ＳＴＲコントローラは前述の如く、フィードバック補正係数KSTRを１．０として停止している。
【０１２６】
言い換えれば、ＳＴＲコントローラで用いる適応パラメータ（ベクトル）θハット(k) は、KSTR＝１．０となる組み合わせとなっている。従って、フィードバック補正係数KSTRを再びＳＴＲコントローラで決定するとき、KSTRの値が１．０から大きく外れると、制御量が不安定になる。
【０１２７】
そこで、KSTRが１．０（初期値）あるいは１．０近傍となるようにホールドされている適応パラメータθハット(k) の中のゲインを決定するスカラ量ｂ0 をＰＩＤ制御によるフィードバック補正係数の前回値で除算しておくと、例えば適応パラメータの組み合わせがKSTR＝１．０となるようにされている場合、数１５に示すように、第１項が１．０となっていることから、第２項KLAF(k-1) の値が今回の補正係数KSTR(k) となる。これにより、ＰＩＤ制御からＳＴＲ制御への切り換えを一層滑らかに行うことができる。
【０１２８】
【数１５】
0003765617.tif 000016
【０１２９】
尚、図１１フロー・チャートの説明を補足すると、Ｓ４０２で前回ＳＴＲ（コントローラ）作動領域と判断されたときはＳ４１６に進んでＳＴＲコントローラによるフィードバック補正係数の前回値KSTR(k-1) を、Ｉ項の前回値KLAFI(k-1)とする。その結果、Ｓ４０４でKLAF(k) を演算するとき、そのＩ項であるKLAFI は、
KLAFI(k)＝KSTR(k-1) ＋DKAF(k) ×KI
となり、求めたＩ項をＰ項とＤ項に加算してKLAF(k) を求めることになる。
【０１３０】
このようにKSTRの値を用いてＰＩＤ制御補正係数の初期値を決定することにより、補正係数KSTR(k-1) と補正係数KLAF(k) との差を小さく止めることができ、それによってＳＴＲ制御からＰＩＤ制御に切り換えるときも、フィードバック補正係数の値の差を小さくして滑らかに連続させることができる。
【０１３１】
尚、図１１フロー・チャートにおいて、Ｓ４００でＳＴＲ（コントローラ）作動領域と判断され、Ｓ４０６でも前回ＰＩＤ作動領域ではないと判断されたときは、Ｓ４１４に進んでＳＴＲコントローラに基づいてフィードバック補正係数KSTR(k) が演算されるが、それは数１２のように算出されることは先に述べた通りである。
【０１３２】
図１０フロー・チャートに戻ると、次いでＳ３３０に進み、図１１フロー・チャートで求めた補正係数がKSTRか否か確認し、肯定されるときＳ３３２に進んで適応補正係数KSTRと１．０との差（１−KSTR(k) ）を求め、その絶対値を所定のスレッシュホールド値KSTRref と比較する。即ち、フィードバック補正係数の変動が激しいときは制御量も急変することになり、制御の安定性が低下するので、求めたフィードバック補正係数の１．０との差の絶対値をスレッシュホールド値と比較し、それを超えるときはＳ３０４に進み、ＰＩＤ制御則に基づいてフィードバック補正係数を決定し直す。
【０１３３】
尚、Ｓ３３２で求めたフィードバック補正係数KSTR(k) の絶対値がスレッシュホールド値を超えないときは、Ｓ３３４に進んでKSTR(k) をフィードバック補正係数KFB とする。また、Ｓ３３０で否定されるときはＳ３３６に進んでフラグFKSTR のビットを０にリセットし、Ｓ３３８に進んでKLAF(k) をフィードバック補正係数の最終値KFB とする。
【０１３４】
図４フロー・チャートに戻ると、次いでＳ３４に進んで求めたフィードバック補正係数の最終値KFB などを要求燃料量Ｔcyl(k)に乗算すると共に、加算値TTOTALを加算して出力燃料量Ｔout(k)を決定する。加算値TTOTALは、気圧補正などの加算項で行う各種の補正値の合計値を示す（但し、インジェクタ２２の無効時間は出力燃料量Ｔout(k)に出力時に別途加算されるので、これに含まれない）。
【０１３５】
次いでＳ３６に進んで吸気管壁面付着補正を行う。尚、吸気管壁面付着は本出願人が別に提案した特願平７−３５４，０４６号などに述べられており、この発明の要旨とは直接の関連を有しないので、説明は省略する。
【０１３６】
次いでＳ３８に進んで出力燃料量Ｔout-F(k)を操作量としてインジェクタ２２に出力する。尚、Ｓ１６でフューエルカットと判断されたときは、Ｓ４０に進んで出力燃料量Ｔout-F(k)を零とする。またＳ２２あるいはＳ２４で否定されたときは空燃比がオープンループ制御となるので、Ｓ４２に進んでフィードバック補正係数の最終値KFB の値を１．０とし、Ｓ３４に進んで出力燃料量Ｔout(k)を求める。
【０１３７】
尚、Ｓ１４でクランキングと判断されるときはＳ４４に進んで始動時の燃料量Ｔicr を機関冷却水温などから検索し、Ｓ４６に進んで検索値から始動モードの式に従って出力燃料量Ｔout(k)を算出する。
【０１３８】
この実施の形態にあっては、目標値を所定の値、即ち、一定の値としたので、その分だけ制御の変数を減らすことができる。即ち、変数は制御量、より正確には制御量と目標値とから求められる値のみとなるので、制御の安定性が大幅に向上する。
【０１３９】
換言すれば、目標空燃比と目標値を別々の値とすると共に、適応制御器の目標値ｒを一定の値としたので、運転状態に応じて目標空燃比を設定するとき、あるいは最適な浄化率を意図して触媒ウインドウでＯ2 センサの出力に基づいて目標空燃比を微調整するときなども、適応パラメータの変化も少なく、それを用いて適応制御器で演算される燃料量補正係数も安定した値となる。よって、空燃比の制御性が向上すると共に、適応制御器の安定性も大幅に向上する。
【０１４０】
更に、フューエルカットから復帰するときなどの空燃比のオープンループ制御が終了してフィードバック制御が再開された場合、所定期間はＰＩＤ制御則に基づいてフィードバック補正係数を決定するようにしたので、制御の安定性を低下させることがない。他方、その期間を所定の値としたので、検出値が安定したときは、ＳＴＲコントローラによるフィードバック補正係数を用いて目標空燃比と検出空燃比との制御偏差を一気に吸収させるべく動作させ、制御の収束性を向上させることができる。
【０１４１】
更に、ＳＴＲ制御からＰＩＤ制御に移行するとき、ないしはその逆のときも、切り換えを滑らかに行うようにしたので、補正係数に段差が生じて操作量が急変して制御量が発振するのを効果的に防止することができる。よって制御の安定性が低下するのを効果的に防止することができる。
【０１４２】
尚、図５において、ＬＡＦセンサ５４の上流に、想像線で示すブロック４００において第３の触媒装置９４を配置しても良い。この第３の触媒装置９４はいわゆるライトオフキャタライザ（早期活性キャタライザ）と呼ばれるものが望ましい。
【０１４３】
図１３はこの出願に係る装置の第２の実施の形態を示す図５と同様のブロック図である。
【０１４４】
第２の実施の形態においては図示の如く、第２の触媒装置３０の下流に第２のＯ2 センサ９８を配置した。第２のＯ2 センサ９８の検出出力は、図示の如く、目標空燃比KCMDの補正に用いる。それによって、より一層、目標空燃比KCMDを最適に設定することができ、制御性を向上させることができる。
【０１４５】
また、最終的に大気に排出される排気ガス中の空燃比を検出することで、エミッション性能が向上すると共に、第２のＯ2 センサ９８で上流側の触媒装置の劣化状態も監視することができる。また、第２のＯ2 センサ９８は、第１のＯ2 センサ５６の代用としても良い。尚、第２のＯ2 センサ９８の次段のフィルタには１０００Ｈｚ程度の周波数特性を備えたローパスフィルタ５００を使用する。
【０１４６】
このように、第１、第２の実施の形態にあっては、内燃機関の排気系に設けられ、前記内燃機関の排出する排気ガスの空燃比を検出する空燃比検出手段（ＬＡＦセンサ５４）と、前記内燃機関に供給される燃料量を算出する燃料量算出手段（Ｓ１８，Ｓ２０）と、適応パラメータを算出する適応パラメータ調整機構を備えた適応制御器（ＳＴＲコントローラ）を有し、前記空燃比検出手段の出力KACTが目標空燃比KCMDに収束するように前記燃料量算出手段により算出された燃料量を補正する補正係数ｕを、前記適応パラメータを用いて算出する補正係数算出手段（Ｓ３２）と、前記燃料算出手段により算出された燃料量を前記補正係数ｕで補正し、出力燃料量を決定する出力燃料量決定手段（Ｓ３４）と、および前記出力燃料量決定手段に決定された出力燃料量を前記内燃機関に供給する燃料供給手段（インジェクタ２２）と、からなる内燃機関の空燃比制御装置において、前記空燃比検出手段の出力KACTと前記目標空燃比KCMDとから前記適応制御器に入力する制御入力ｙを算出する算出手段（Ｓ３０）を備え、前記補正係数算出手段は、前記適応制御器の目標値ｒを所定の値とすると共に、前記制御入力ｙがその所定の値ｒとなるように前記補正係数ｕを算出する如く構成した。
【０１４７】
上記した第１、第２の実施の形態において、目標空燃比を補正するために排気ガスセンサとしてＯ2 センサを用いたが、排気ガス中のＮＯｘ成分を検出するＮＯｘセンサ、もしくは排気ガス中のＣＯ成分を検出するＣＯセンサ、あるいは排気ガス中のＨＣ成分を検出するＨＣセンサでも良い。即ち、検出した排気ガス中の特定成分の濃度により目標空燃比を補正して触媒の浄化率を向上させることができる点では、Ｏ2 センサを用いる場合と異ならないからである。
【０１４８】
また、ＳＴＲコントローラを用いてフィードバック補正係数を算出すると共に、ＰＩＤコントローラを設け、ＰＩＤ制御則に基づいてフィードバック補正係数を算出し、いずれかを選択するようにしたが、この構成は本発明にとって必須ではなく、ＳＴＲコントローラのみあれば良いものである。
【０１４９】
また、燃料量を気筒ごとにフィードバック制御する例を示さなかったが、先に本出願人が特開平６−１７６８１号公報などで提案したように、オブザーバを設けてＬＡＦセンサ５４の出力に基づいて各気筒の空燃比を推定し、各気筒間の空燃比のずれが減少するように気筒別の補正係数を求め、それに基づいて燃料量を気筒ごとにフィードバック制御しても良い。更に、気筒ごとにＬＡＦセンサ５４を設けて各気筒の空燃比を直接検出して燃料量を気筒ごとにフィードバック制御しても良いことは言うまでもない。
【０１５０】
また、スロットル弁１６をパルスモータＭを介して駆動する機構としたが、一般的に知られている機構と同様に、アクセルペダルと機械的に連動するものであっても良い。
【０１５１】
尚、上記の実施の形態において空燃比を実際には当量比で求めているが、空燃比を用いても良い。
【０１５２】
また、上記においてフィードバック補正係数KSTRないしKLAFを乗算値として求めたが、加算値として求めても良い。
【０１５３】
また、上記において適応制御器としてＳＴＲを例にとって説明したが、ＭＲＡＣＳ（モデル規範型適応制御）を用いても良い。
【０１５４】
【発明の効果】
請求項１項にあっては、目標値を所定の値、即ち、一定の値としたので、その分だけ制御の変数を減らすことができる。即ち、変数は制御量、より正確には制御量と目標値とから求められる値（ここで制御入力という）のみとなるので、制御の安定性が大幅に向上する。
【０１５５】
換言すれば、目標空燃比と目標値を別々の値とすると共に、適応制御器の目標値ｒを一定の値としたので、運転状態に応じて目標空燃比を設定するとき、あるいは最適な浄化率を意図して触媒ウインドウで目標空燃比を微調整するときなども、適応パラメータの変化も少なく、それを用いて適応制御器で演算される燃料量補正係数も安定した値となる。よって、空燃比の制御性が向上すると共に、適応制御器の安定性も大幅に向上する。
【図面の簡単な説明】
【図１】この出願に係る内燃機関の空燃比制御装置を全体的に示す概略図である。
【図２】図１中の制御ユニットの詳細を示すブロック図である。
【図３】図１中のＯ2 センサの出力特性を示す説明図である。
【図４】図１に示した装置の動作を示すメインフロー・チャートである。
【図５】図１に示した装置の動作を機能的に示すブロック図である。
【図６】図５に示した装置を適応制御器（ＳＴＲコントローラ）に焦点をおいて書き直したブロック図である。
【図７】図４フロー・チャートの目標空燃比などの演算作業を示すサブルーチン・フロー・チャートである。
【図８】図７フロー・チャートの演算で用いる基本値KBS のマップ特性を示す説明図である。
【図９】図７フロー・チャートの演算で用いる充填効率補正係数KETCの特性を示す説明図である。
【図１０】図４フロー・チャートのフィードバック補正係数KFB の演算作業を示すサブルーチン・フロー・チャートである。
【図１１】図１０フロー・チャートのフィードバック補正係数KFB の演算作業を示すサブルーチン・フロー・チャートである。
【図１２】この出願に係る内燃機関の空燃比制御装置の動作を検証したシミュレーションデータ図である。
【図１３】この出願に係る内燃機関の空燃比制御装置の第２の実施の形態を示す、図５と同様のブロック図である。
【図１４】本出願人が先に提案した、適応制御器を用いた内燃機関の空燃比制御装置の要部を示すブロック図である。
【図１５】図１４に示す装置の動作を検証したシミュレーションデータ図である。
【符号の説明】
１０  内燃機関
２０  吸気マニホルド
２２  インジェクタ
２４  排気マニホルド
２６  排気管
２８  第１の触媒装置
３０  第２の触媒装置
３４  制御ユニット
５４  広域空燃比センサ（ＬＡＦセンサ。空燃比検出手段）
５６  Ｏ2 センサ（排気ガス濃度検出手段）
９８  第２のＯ2 センサ
【図１】
0003765617.tif 000017
【図２】
0003765617.tif 000018
【図３】
0003765617.tif 000019
【図４】
0003765617.tif 000020
【図５】
0003765617.tif 000021
【図６】
0003765617.tif 000022
【図７】
0003765617.tif 000023
【図８】
0003765617.tif 000024
【図９】
0003765617.tif 000025
【図１０】
0003765617.tif 000026
【図１１】
0003765617.tif 000027
【図１２】
0003765617.tif 000028
【図１３】
0003765617.tif 000029
【図１４】
0003765617.tif 000030
【図１５】
0003765617.tif 000031