(57)【要約】【課題】適応制御器により制御対象であるプラントを制御する場合において、スパイク状の外乱が加わったときにおける過剰な補正を抑制し、良好な制御性を維持することができるプラントの制御装置を提供する。【解決手段】検出当量比ＫＡＣＴがハイパスフィルタ３３に入力され、ハイパスフィルタ出力ＫＡＣＴＨＰがパラメータ調整機構４２に入力される。パラメータ調整機構４２は、モデルパラメータベクトルの更新成分ｄθに補正係数ＫＩＤを乗算して補正更新成分ＫＩＤ・ｄθを算出し、これをモデルパラメータベクトルの前回値θ（ｋ−１）に加算して、今回値θ（ｋ）を算出する。補正係数ＫＩＤは、ハイパスフィルタ出力ＫＡＣＴＨＰの絶対値が大きくなるスパイク応答を検出したときに１．０から０に近い値に変更される。【選択図】　図２
2004036556.tif 000002
【特許請求の範囲】
【請求項１】
プラントをモデル化した制御対象モデルのモデルパラメータを同定する同定手段を備え、該同定手段により同定されるモデルパラメータを用いる適応制御器により前記プラントを制御するプラントの制御装置において、
前記プラントの出力を示すパラメータを監視し、スパイク状の応答が出力されたことを検出するスパイク応答検出手段を備え、
前記同定手段は、該スパイク応答検出手段によりスパイク状の応答が検出されたときは、前記モデルパラメータの更新速度を遅い方向へ修正する修正手段を有することを特徴とするプラントの制御装置。
【請求項２】
前記同定手段は、前記モデルパラメータの更新成分を算出する更新成分算出手段と、該更新成分に補正係数を乗算することにより、補正更新成分を算出する更新成分補正手段とを有し、該補正更新成分を前記モデルパラメータの前回値に加算することにより、前記モデルパラメータの今回値を算出し、前記修正手段は、前記スパイク状の応答が検出されたときは、前記補正係数をその絶対値が減少する方向に修正することを特徴とする請求項１に記載のプラントの制御装置。
【請求項３】
前記スパイク応答検出手段は、前記プラントの出力を示すパラメータのハイパスフィルタ処理を行うフィルタ手段を有し、該フィルタ手段の出力に基づいて前記スパイク状応答の検出を行うことを特徴とする請求項１または２に記載のプラントの制御装置。
【請求項４】
前記スパイク応答検出手段は、前記フィルタ手段の出力の絶対値の今回値と、所定時間前の記憶値との平均値を算出する平均値算出手段を有し、前記平均値が所定閾値を越えたとき、前記スパイク状応答が出力されたと判定することを特徴とする請求項３に記載のプラントの制御装置。
【請求項５】
前記スパイク応答検出手段は、前記スパイク状応答の方向を判定し、所定の方向のスパイク状応答のみを検出することを特徴とする請求項１から４のいずれかに記載のプラントの制御装置。
【請求項６】
前記プラントの出力を示すパラメータとして、前記適応制御器の出力を用いることを特徴とする請求項１から５のいずれかに記載のプラントの制御装置。
【請求項７】
前記プラントは、内燃機関と、該機関に燃料を供給する燃料供給手段とを有する機関システムを含み、前記適応制御器は、前記機関に供給される混合気の空燃比を目標空燃比に一致させるように、前記機関システムへの制御入力を決定するパラメータを算出することを特徴とする請求項１から６の何れかに記載のプラントの制御装置。
【請求項８】
前記プラントは、内燃機関と、該機関に燃料を供給する燃料供給手段とを有する機関システムを含み、前記適応制御器は、前記機関に供給される混合気の空燃比を目標空燃比に一致させるように、前記機関システムへの制御入力を決定するパラメータを算出し、前記ハイパスフィルタ処理の特性は前記機関の運転状態に応じて変更されることを特徴とする請求項３に記載のプラントの制御装置。
【請求項９】
前記プラントは、内燃機関と、該機関に燃料を供給する燃料供給手段とを有する機関システムを含み、前記適応制御器は、前記機関に供給される混合気の空燃比を目標空燃比に一致させるように、前記機関システムへの制御入力を決定するパラメータを算出し、前記所定閾値は、前記機関の運転状態に応じて変更されることを特徴とする請求項４に記載のプラントの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プラントの制御装置に関し、特にプラントをモデル化した制御対象モデルのモデルパラメータを同定し、該同定したモデルパラメータを用いて制御を行う適応制御器を備えたものに関する。
【０００２】
【従来の技術】
制御対象モデルのモデルパラメータを同定する同定器として機能するパラメータ調整機構を備えた適応制御器により、内燃機関に供給する混合気の空燃比を制御する制御装置が、例えば特開平１１−７３２０６号公報に示されている。
【０００３】
この制御装置では、機関の排気系に設けられた空燃比センサにより検出される空燃比に応じて、適応制御器により適応補正係数ＫＳＴＲが算出され、この適応補正係数ＫＳＴＲにより機関に供給する燃料量が補正される。
【０００４】
【発明が解決しようとする課題】
上記従来の制御装置を、車両に搭載された内燃機関の制御に適用した場合、アクセルペダルを急激に戻す減速時やシフトチェンジ時などにおいて、ＮＯｘの排出量が増加するという課題が確認されている。
【０００５】
アクセルペダルを急激に戻した場合には、吸入空気量が急激に減少するとともに、吸気管内壁に付着していた燃料が燃焼室に供給されるため、検出空燃比がスパイク状にリッチ方向へ変化する（急激に突出して元に戻る変化を「スパイク」あるいは「スパイク状の変化」という）。そのため、適応制御器は、これを迅速に補正すべく適応補正係数ＫＳＴＲを急激に減少させる。その結果、アクセルペダルの急激な戻し操作直後においては、空燃比がオーバリーンとなり、一時的にＮＯｘの排出量を増加させている。
【０００６】
図１４は車両走行中における検出当量比ＫＡＣＴ，適応補正係数ＫＳＴＲ，目標当量比ＫＣＭＤ，車速ＶＰ及びＮＯｘ排出量の推移を示す図である。検出当量比ＫＡＣＴは、空燃比センサにより検出される空燃比を当量比に換算したものであり、同図（ａ）に太い実線で示されている。目標当量比ＫＣＭＤは、目標空燃比を当量比に変換したものであり、同図（ａ）に細い実線で示されている。また適応補正係数ＫＳＴＲは、同図（ａ）に破線で示されている。シフトチェンジが行われると、検出当量比ＫＡＣＴのリッチスパイクが発生し、それに伴って適応補正係数ＫＳＴＲがリーン方向に急激に変化する。そのため、検出当量比ＫＡＣＴのリッチスパイクの直後にリーンスパイクが発生する。その結果、同図（ｃ）に示すようにＮＯｘ排出量が一時的に増加する。
【０００７】
内燃機関の空燃比制御にＰＩＤ（比例積分微分）制御を適用した場合には、制御の応答が比較的遅いためこのような問題は発生しないが、適応制御器による制御は高い即応性を有するために、上述したような問題が発生していると考えられる。
【０００８】
本発明はこの点に着目してなされたものであり、適応制御器により制御対象であるプラントを制御する場合において、スパイク状の外乱が加わったときにおける過剰な補正を抑制し、良好な制御性を維持することができるプラントの制御装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため請求項１に記載の発明は、プラントをモデル化した制御対象モデルのモデルパラメータ（θ）を同定する同定手段を備え、該同定手段により同定されるモデルパラメータ（θ）を用いる適応制御器により前記プラントを制御するプラントの制御装置において、前記プラントの出力を示すパラメータ（ＫＡＣＴ，ＫＳＴＲ）を監視し、スパイク状の応答が出力されたことを検出するスパイク応答検出手段を備え、前記同定手段は、該スパイク応答検出手段によりスパイク状の応答が検出されたときは、前記モデルパラメータ（θ）の更新速度を遅い方向へ修正する修正手段を有することを特徴とする。
【００１０】
この構成によれば、プラントの出力を示すパラメータが監視され、スパイク状の応答が出力されたことが検出されたときは、モデルパラメータの更新速度が遅い方向へ修正される。適応制御器では、モデルパラメータの更新によってプラント出力と制御目標値との制御偏差を減少させる度合いが大きいので、モデルパラメータの更新速度を遅くすることにより、制御の追従性が一時的に低下する。その結果、プラント出力のスパイク状の応答に対応した過剰な補正が抑制され、良好な制御性を維持することができる。
【００１１】
請求項２に記載の発明は、請求項１に記載のプラントの制御装置において、前記同定手段は、前記モデルパラメータの更新成分（ｄθ）を算出する更新成分算出手段と、該更新成分（ｄθ）に補正係数（ＫＩＤ）を乗算することにより、補正更新成分（ＫＩＤ・ｄθ）を算出する更新成分補正手段とを有し、該補正更新成分（ＫＩＤ・ｄθ）を前記モデルパラメータの前回値（θ（ｋ−１））に加算することにより、前記モデルパラメータの今回値（θ（ｋ））を算出し、前記修正手段は、前記スパイク状の応答が検出されたときは、前記補正係数（ＫＩＤ）をその絶対値が減少する方向に修正することを特徴とする。
【００１２】
この構成によれば、モデルパラメータの今回値は、モデルパラメータの前回値に補正更新成分を加算することにより算出され、補正更新成分は更新成分に補正係数を乗算することにより算出される。そして、スパイク状の応答が検出されたときは、前記補正係数が、その絶対値が減少する方向に修正される。すなわち、モデルパラメータの前回値はそのままで、更新成分だけが減少方向に変更されるので、モデルパラメータを所定値に保持する手法に比べて、スパイク状の外乱がなくなった後の制御性や安定性において優れている。
【００１３】
請求項３に記載の発明は、請求項１または２に記載のプラントの制御装置において、前記スパイク応答検出手段は、前記プラントの出力を示すパラメータ（ＫＡＣＴ，ＫＳＴＲ）のハイパスフィルタ処理を行うフィルタ手段を有し、該フィルタ手段の出力（ＫＡＣＴＨＰ）に基づいて前記スパイク状応答の検出を行うことを特徴とする。
【００１４】
この構成によれば、プラントの出力を示すパラメータのハイパスフィルタ処理が行われ、該ハイパスフィルタ処理後のパラメータに基づいてスパイク状応答の検出が行われるので、定常的な外乱に起因する応答をスパイク状応答と誤判定することがなく、スパイク状応答を正確に検出することができる。
【００１５】
請求項４に記載の発明は、請求項３に記載のプラントの制御装置において、前記スパイク応答検出手段は、前記フィルタ手段の出力の絶対値の今回値（｜ＫＡＣＴＨＰ（ｎ）｜，｜ＫＡＣＴＨＰＬ（ｎ）｜）と、所定時間前の記憶値（｜ＫＡＣＴＨＰ（ｎ−ｎＨＰＤ１）｜，｜ＫＡＣＴＨＰＬ（ｎ−ｎＨＰＤ２）｜）との平均値（ＫＡＣＴＨＰＡＶ，ＫＡＣＴＨＰＡＶＬ）を算出する平均値算出手段を有し、前記平均値が所定閾値（ＫＡＣＴＴＨ，ＫＡＣＴＴＨＬ）を越えたとき、前記スパイク状応答が出力されたと判定することを特徴とする。
【００１６】
ここで「所定時間」は、前記ハイパスフィルタ処理の遅延特性に応じて設定される時間である。
この構成によれば、フィルタ手段の出力の絶対値の今回値と、所定時間前の記憶値との平均値が算出され、その平均値が所定閾値を越えたときスパイク状応答が出力されたと判定される。ハイパスフィルタ処理後のパラメータの今回値は、スパイク状応答の場合、スパイクのピークの時点で「０」近傍の値となる可能性が高いので、今回値のみでスパイ状応答か否かの判定を行うと、誤判定となる可能性が高い。そこで、前記所定時間前の記憶値との平均値を用いることにより、スパイク状応答の正確な検出が可能となる。
【００１７】
請求項５に記載の発明は、請求項１から４のいずれかに記載のプラントの制御装置において、前記スパイク応答検出手段は、前記スパイク状応答の方向を判定し、所定の方向のスパイク状応答のみを検出することを特徴とする。
この構成によれば、所定の方向のスパイク応答のみが検出されるので、所定の方向以外の方向のスパイク状応答が出力されたときは、モデルパラメータの更新速度を維持し、所定の方向のスパイク状応答が検出されたときのみモデルパラメータの更新速度を遅くすることが可能となる。
【００１８】
請求項６に記載の発明は、請求項１から５のいずれかに記載のプラントの制御装置において、前記プラントの出力を示すパラメータとして、前記適応制御器の出力（ＫＳＴＲ）を用いることを特徴とする。
この構成によれば、適応制御器の出力がプラントの出力を示すパラメータとして使用される。適応制御器の出力は、プラントの出力変化に対して迅速に応答するので、プラント出力を示すパラメータとして使用可能である。プラントの出力にノイズが含まれる場合に有効である。
【００１９】
請求項７に記載の発明は、請求項１から６の何れかに記載のプラントの制御装置において、前記プラントは、内燃機関（１）と、該機関に燃料を供給する燃料供給手段（６）とを有する機関システムを含み、前記適応制御器は、前記機関に供給される混合気の空燃比（ＫＡＣＴ）を目標空燃比（ＫＣＭＤ）に一致させるように、前記機関システムへの制御入力を決定するパラメータ（ＫＳＴＲ）を算出することを特徴とする。
【００２０】
この構成によれば、内燃機関に供給される混合気の空燃比が適応制御器により制御される。したがって、機関に供給される混合気の空燃比がスパイク状に変化した場合に、過剰な補正が抑制され、良好な制御性を維持することができる。
請求項８に記載の発明は、請求項３に記載のプラントの制御装置において、前記プラントは、内燃機関（１）と、該機関に燃料を供給する燃料供給手段（６）とを有する機関システムを含み、前記適応制御器は、前記機関に供給される混合気の空燃比（ＫＡＣＴ）を目標空燃比（ＫＣＭＤ）に一致させるように、前記機関システムへの制御入力を決定するパラメータ（ＫＳＴＲ）を算出し、前記ハイパスフィルタ処理の特性は前記機関の運転状態（ＧＡＩＲＣＹＬ）に応じて変更されることを特徴とする。
【００２１】
この構成によれば、ハイパスフィルタ処理の特性が機関運転状態に応じて変更される。機関負荷が増加するほど、スパイク状応答に含まれる周波数成分が高くなる傾向があるので、そのような傾向に対応してハイパスフィルタ処理の特性を変更することにより、スパイク状応答のより正確な検出が可能となる。
【００２２】
請求項９に記載の発明は、請求項４に記載のプラントの制御装置において、前記プラントは、内燃機関（１）と、該機関に燃料を供給する燃料供給手段（６）とを有する機関システムを含み、前記適応制御器は、前記機関に供給される混合気の空燃比（ＫＡＣＴ）を目標空燃比（ＫＣＭＤ）に一致させるように、前記機関システムへの制御入力を決定するパラメータ（ＫＳＴＲ）を算出し、前記所定閾値（ＫＡＣＴＴＨ，ＫＡＣＴＴＨＬ）は、前記機関の運転状態（ＧＡＩＲＣＹＬ）に応じて変更されることを特徴とする。
【００２３】
この構成によれば、スパイク状応答を検出するための所定閾値は、機関運転状態に応じて変更される。機関負荷が減少するほど、スパイク状応答が発生し難くなる傾向があるので、そのような傾向に対応して所定閾値を変更することにより、スパイク状応答のより正確な検出が可能となる。
【００２４】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
（第１の実施形態）
図１は本発明の第１の実施形態にかかるプラントの制御装置、すなわち内燃機関（以下「エンジン」という）の空燃比制御装置の構成を示す図である。
【００２５】
６気筒のエンジン１の吸気管２にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（ＴＨＡ）センサ４が連結されており、スロットル弁開度ＴＨＡに応じた電気信号を出力して電子制御ユニット（以下「ＥＣＵ」という）５に供給する。
【００２６】
燃料噴射弁６はエンジン１とスロットル弁３との間かつ吸気管２の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されて当該ＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。
【００２７】
一方、スロットル弁３の直ぐ下流には吸気管内絶対圧（ＰＢＡ）センサ８が設けられており、この絶対圧センサ８により電気信号に変換された絶対圧信号は前記ＥＣＵ５に供給される。また、その下流には吸気温（ＴＡ）センサ９が取付けられており、吸気温ＴＡを検出して対応する電気信号を出力してＥＣＵ５に供給する。
【００２８】
エンジン１の本体に装着されたエンジン水温（ＴＷ）センサ１０はサーミスタ等から成り、エンジン水温（冷却水温）ＴＷを検出して対応する温度信号を出力してＥＣＵ５に供給する。
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１１が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１１は、エンジン１の特定の気筒の所定クランク角度位置でパルス（以下「ＣＹＬパルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（６気筒エンジンではクランク角１２０度毎に）ＴＤＣパルスを出力するＴＤＣセンサ及びＴＤＣパルスより短い一定クランク角周期（例えば３０度周期）で１パルス（以下「ＣＲＫパルス」という）を発生するＣＲＫセンサから成り、ＣＹＬパルス、ＴＤＣパルス及びＣＲＫパルスがＥＣＵ５に供給される。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数（エンジン回転速度）ＮＥの検出に使用される。
【００２９】
排気管１３には排気中の酸素濃度（エンジン１に供給される混合気の空燃比）にほぼ比例した電気信号を出力する空燃比センサ（以下［ＬＡＦセンサ」という）１７が設けられている。ＬＡＦセンサ１７の下流側には三元触媒１４が設けられている。三元触媒１４は、排気ガス中のＨＣ，ＣＯ，ＮＯｘ等の浄化を行う。
【００３０】
ＬＡＦセンサ１７は、ＥＣＵ５に接続されており、排気中の酸素濃度に略比例した電気信号をＥＣＵ５に供給する。
エンジン１は、吸気弁及び排気弁のバルブタイミングを、エンジンの高速回転領域に適した高速バルブタイミングと、低速回転領域に適した低速バルブタイミングとの２段階に切換可能なバルブタイミング切換機構３０を有する。このバルブタイミングの切換は、弁リフト量の切換も含み、さらに低速バルブタイミング選択時は２つに吸気弁のうちの一方を休止させて、空燃比を理論空燃比よりリーン化する場合においても安定した燃焼を確保するようにしている。
【００３１】
バルブタイミング切換機構３０は、バルブタイミングの切換を油圧を介して行うものであり、この油圧切換を行う電磁弁及び油圧センサがＥＣＵ５に接続されている。油圧センサの検出信号はＥＣＵ５に供給され、ＥＣＵ５は電磁弁を制御してエンジン１の運転状態に応じたバルブタイミングの切換制御を行う。
【００３２】
なお、図示は省略しているが、排気を吸気管２に還流する排気還流機構及び燃料タンクで発生する蒸発燃料をキャニスタに貯蔵し、適時吸気管２に供給する蒸発燃料処理装置が設けられている。
またＥＣＵ５には大気圧ＰＡを検出する大気圧センサ２１が接続されており、大気圧センサ２１の検出信号は、ＥＣＵ５に供給される。
【００３３】
ＥＣＵ５は、上述した各種センサからの入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変化する等の機能を有する入力回路と、中央処理ユニット（ＣＰＵ）と、該ＣＰＵで実行される各種演算プログラムや後述する各種マップを記憶するＲＯＭ及び演算結果等を記憶するＲＡＭからなる記憶回路と、燃料噴射弁６等の各種電磁弁や点火プラグに駆動信号を出力する出力回路とを備えている。
【００３４】
ＥＣＵ５は、上述した各種センサの検出信号に基づいて、ＬＡＦセンサ１７の出力に応じたフィードバック制御運転領域やオープン制御運転領域等の種々のエンジン運転状態を判別するとともに、エンジン運転状態に応じ、下記式（１）により要求燃料量ＴＣＹＬを算出する。要求燃料量ＴＣＹＬは、１つの気筒における１回の燃焼に必要とされる燃料量である。
ＴＣＹＬ＝ＴＩＭ×ＫＴＯＴＡＬ×ＫＳＴＲ　　　　　　　（１）
【００３５】
ここでＴＩＭは基本燃料量、具体的には燃料噴射弁６の基本燃料噴射時間であり、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＴＩマップを検索して決定される。ＴＩマップは、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに対応する運転状態において、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。すなわち、基本燃料量ＴＩＭは、エンジンの単位時間当たりの吸入空気量（質量流量）にほぼ比例する値を有する。
【００３６】
ＫＴＯＴＡＬは、エンジン水温ＴＷに応じて設定されるエンジン水温補正係数ＫＴＷ，吸気温ＴＡに応じて設定される吸気温補正係数ＫＴＡ，大気圧ＰＡに応じて設定される大気圧補正係数ＫＰＡ，排気還流実行中に排気還流量に応じて設定されるＥＧＲ補正係数ＫＥＧＲ，蒸発燃料処理装置によるパージ実行時にパージ燃料量に応じて設定されるパージ補正係数ＫＰＵＧ等のフィードフォワード補正係数をすべて乗算することにより算出される補正係数である。
【００３７】
ＫＳＴＲは、検出当量比ＫＡＣＴ及び目標当量比ＫＣＭＤに応じて、後述する適応制御器により算出される適応補正係数であり、前記フィードバック制御運転領域において、検出当量比ＫＡＣＴが目標当量比ＫＣＭＤに一致するように設定される。
【００３８】
ＥＣＵ５は、さらに燃料噴射弁６により吸気管内に噴射された燃料の一部が、吸気管内壁に付着することを考慮した付着補正演算を実行して、燃料噴射弁６による燃料噴射時間ＴＯＵＴを算出する。付着補正については、例えば特開平８−２１２７３号公報に詳細に開示されている。燃料噴射弁６により、燃料噴射時間ＴＯＵＴに比例する燃料量が吸気管２内に噴射される。
【００３９】
図２は、適応制御器による制御を説明するために制御系の要部を示す機能ブロック図である。図２に示す制御系は、適応制御器３１、変換部３２、ハイパスフィルタ３３、乗算器３４、燃料量演算部３５、エンジンシステム１ａ、及びＬＡＦセンサ１７によって構成される。エンジンシステム１ａは、燃料噴射弁６，吸気管２，エンジン１及び排気管１３を含む。適応制御器３１、変換部３２、ハイパスフィルタ３３、乗算器３４、及び燃料量演算部３５は、ＥＣＵ５によって実現される機能ブロックである。
【００４０】
変換部３２は、ＬＡＦセンサ出力を検出当量比ＫＡＣＴに変換する。ハイパスフィルタ３３は、検出当量比ＫＡＣＴのハイパスフィルタ処理を行う。適応制御器３１は、逆伝達関数コントローラ４１及びパラメータ調整機構４２とからなる。パラメータ調整機構４２は、検出当量比ＫＡＣＴ、適応補正係数ＫＳＴＲ及びハイパスフィルタ処理された検出当量比ＫＡＣＴＨＰ（以下「フィルタ処理後当量比ＫＡＣＴＨＰ」という）に基づいて、モデルパラメータベクトルθを算出する。モデルパラメータベクトルθは、後述する制御対象モデルを定義する複数のモデルパラメータを要素とするベクトルである。逆伝達関数コントローラ４１は、目標当量比ＫＣＭＤ、検出当量比ＫＡＣＴ及び適応補正係数ＫＳＴＲの過去値に基づき、モデルパラメータベクトルθを用いて、制御対象モデルの伝達関数の逆伝達関数により適応補正係数ＫＳＴＲを算出する。
【００４１】
乗算器３４は、基本燃料量ＴＩＭに適応補正係数ＫＳＴＲを乗算する。燃料量演算部３５は、前記式（１）の補正係数ＫＴＯＴＡＬ及び要求燃料量ＴＣＹＬの演算、並びに付着補正処理を行い、燃料噴射時間ＴＯＵＴを算出する。
【００４２】
適応制御器３１は、制御対象であるエンジンシステム１ａをモデル化した制御対象モデルに基づいて、適応補正係数ＫＳＴＲの算出を行う。制御対象モデルは下記式（２）により、３制御サイクルのむだ時間を有するＤＡＲＸモデル（ｄｅｌａｙｅｄ　ａｕｔｏｒｅｇｒｅｓｓｉｖｅ　ｍｏｄｅｌ　ｗｉｔｈ　ｅｘｏｇｅｎｅｏｕｓ　ｉｎｐｕｔ：外部入力を持つ自己回帰モデル）として定義されている。
ＫＡＣＴ（ｋ）＝ｂ０×ＫＳＴＲ（ｋ−３）＋ｒ１×ＫＳＴＲ（ｋ−４）
＋ｒ２×ＫＳＴＲ（ｋ−５）＋ｒ３×ＫＳＴＲ（ｋ−６）＋ｓ０×ＫＡＣＴ（ｋ−３）（２）
ここで、ｂ０，ｒ１，ｒ２，ｒ３，ｓ０は、パラメータ調整機構４２により同定されるモデルパラメータである。またｋは、特定の気筒の燃焼サイクルに対応する制御時刻（サンプル時刻）を示す。
【００４３】
モデルパラメータを要素とするモデルパラメータベクトルθ（ｋ）を下記式（３）で定義すると、モデルパラメータベクトルθ（ｋ）は、下記式（４）及び（５）により算出される。
θ（ｋ）Ｔ＝［ｂ０，ｒ１，ｒ２，ｒ３，ｓ０］　　　　　　（３）
θ（ｋ）＝ＳＧＭθ（ｋ−１）＋ＫＩＤ・ｄθ（ｋ）　　　　（４）
ｄθ（ｋ）＝ＫＰ（ｋ）ｉｄｅ（ｋ）　　　　　　　　　　（５）
【００４４】
式（４）のＳＧＭは、下記式（６）により定義される忘却係数行列であり、式（６）のσは、０から１の間の値に設定される忘却係数である。ＫＩＤは、フィルタ処理後当量比ＫＡＣＴＨＰに応じて設定され、検出当量比ＫＡＣＴがスパイク状に変化したことを検出したときに、更新ベクトルｄθ（ｋ）を減少方向に補正するためのスパイク補正係数である。ｄθ（ｋ）は、モデルパラメータベクトルθの更新ベクトルである。また式（５）のＫＰ（ｋ）は、下記式（７）により定義されるゲイン係数ベクトルであり、式（７）のＰ（ｋ）は、下記式（８）により定義される５次の正方行列である。またｉｄｅ（ｋ）は下記式（９）により定義される同定誤差であり、式（９）のＫＡＣＴＨＡＴ（ｋ）は、下記式（１０）により、最新のモデルパラメータベクトルθ（ｋ−１）を用いて算出される推定当量比である。
【数１】
2004036556.tif 000003
ｉｄｅ（ｋ）＝ＫＡＣＴ（ｋ）−ＫＡＣＴＨＡＴ（ｋ）　　　　（９）
ＫＡＣＴＨＡＴ（ｋ）＝θ（ｋ−１）Ｔζ（ｋ）　　　　　　　　　（１０）
【００４５】
上記式（７）、（８）及び（１０）のζ（ｋ）は、下記式（１１）で定義される、制御出力（ＫＡＣＴ）及び制御入力（ＫＳＴＲ）を要素とするベクトルである。
2004036556.tif 000004
【００４６】
式（８）の係数λ１，λ２の設定により、式（４）〜（１１）による同定アルゴリズムは、以下のような４つの同定アルゴリズムのいずれかになる。
λ１＝１，λ２＝０　固定ゲインアルゴリズム
λ１＝１，λ２＝１　最小２乗法アルゴリズム
λ１＝１，λ２＝λ　漸減ゲインアルゴリズム（λは０，１以外の所定値）
λ１＝λ，λ２＝１　重み付き最小２乗法アルゴリズム（λは０，１以外の所定値）
【００４７】
本実施形態では、λ１＝１，λ２＝０として、固定ゲインアルゴリズムを採用しているが、他のアルゴリズムを採用してもよい。固定ゲインアルゴリズムを採用した場合、正方行列Ｐ（ｋ）は、定数を対角要素とする行列となる。
【００４８】
以上のようにパラメータ調整機構４２は、モデルパラメータベクトルの前回値θ（ｋ−１）に忘却係数行列ＳＧＭを乗算し、スパイク補正係数ＫＩＤにより補正された補正更新ベクトルＫＩＤ・ｄθ（ｋ）を加算することにより、モデルパラメータベクトルの今回値θ（ｋ）を算出する。忘却係数行列ＳＧＭは、同定誤差ｉｄｅの過去値の影響を低減し、モデルパラメータベクトルのドリフトを防止するために導入されたものである。なお、モデルパラメータのドリフトがほとんど起きない場合には、忘却係数行列ＳＧＭを含まない下記式（４ａ）により、モデルパラメータベクトルθ（ｋ）を算出してもよい。
θ（ｋ）＝θ（ｋ−１）＋ＫＩＤ・ｄθ（ｋ）　　　　　　（４ａ）
【００４９】
逆伝達関数コントローラ４１は、下記式（１２）が満たされるように、制御入力としての適応補正係数ＫＳＴＲ（ｋ）を決定する。
ＫＣＭＤ（ｋ）＝ＫＡＣＴ（ｋ＋３）　　　　　　　　（１２）
式（１）を用いると、式（１２）の右辺は、以下のようになる。
ＫＡＣＴ（ｋ＋３）＝ｂ０×ＫＳＴＲ（ｋ）＋ｒ１×ＫＳＴＲ（ｋ−１）
＋ｒ２×ＫＳＴＲ（ｋ−２）＋ｒ３×ＫＳＴＲ（ｋ−３）＋ｓ０×ＫＡＣＴ（ｋ）
したがって、これより適応補正係数ＫＳＴＲ（ｋ）を求めると、下記式（１３）が得られる。
2004036556.tif 000005
すなわち逆伝達関数コントローラ４１は、式（１３）により適応補正係数ＫＳＴＲ（ｋ）を算出している。
【００５０】
ハイパスフィルタ３３は、下記式（１５）によるハイパスフィルタ処理を行う。
2004036556.tif 000006
フィルタ係数ｈ１１，ｈ１２，ｈ２０，ｈ２１，及びｈ２２は、実験により決定される。ハイパスフィルタ処理の特性は、これらのフィルタ係数の設定によって決まる。本実施形態では、後述するようにエンジン運転状態に応じてハイパスフィルタ処理の特性が変更される。
【００５１】
図３は、パラメータ調整機構４２におけるスパイク補正係数ＫＩＤの設定を説明するためのタイムチャートである。同図（ａ）は、検出当量比ＫＡＣＴの推移を示し、リッチ方向のスパイク状の変化（リッチスパイク）及びステップ状の外乱（以下「ステップ外乱」という）を加えたときの変化が示されている。同図（ｂ）は、フィルタ処理後当量比ＫＡＣＴＨＰの絶対値の平均値ＫＡＣＴＨＰＡＶの推移を示す。検出当量比ＫＡＣＴのリッチスパイク及びステップ外乱に対応して、平均値ＫＡＣＴＨＰＡＶが増加しているが、リッチスパイクに対応する変化の方が、ステップ外乱に対応する変化より大きくなっている。同図（ｃ）は、スパイク補正係数ＫＩＤの推移を示す。図示例では、平均値ＫＡＣＴＨＰＡＶが所定閾値ＫＡＣＴＴＨを越えたとき、検出当量比ＫＡＣＴがスパイク状に変化したと判定し、スパイク補正係数ＫＩＤを「０．０１」に設定し、それ以外のとき、「１．０」に設定している。フィルタ処理後当量比ＫＡＣＴＨＰの絶対値の平均値ＫＡＣＴＨＰＡＶが所定閾値ＫＡＣＴＴＨを越えたときにスパイク補正係数ＫＩＤを「０」としてもよい。ただしその場合には、補正更新ベクトルＫＩＤ・ｄθが「０」となり、パラメータ調整機構４２が誤動作し易くなる可能性があるため、スパイク補正係数ＫＩＤは「０」より若干大きい値に設定することが望ましい。
【００５２】
図４は、スパイク補正係数ＫＩＤを採用しない従来の適応制御器により制御した場合の検出当量比ＫＡＣＴの推移（同図（ａ））と、スパイク補正係数ＫＩＤを採用した本実施形態の適応制御器により制御した場合の検出当量比ＫＡＣＴの推移（同図（ｂ））とを示すタイムチャートである。なお図４には、参考のために適応補正係数ＫＳＴＲ及び目標当量比ＫＣＭＤの推移も示されている。
【００５３】
同図（ａ）では、検出当量比ＫＡＣＴのリッチスパイクの直後にリーンスパイクが発生しているが、同図（ｂ）では検出当量比ＫＡＣＴのリッチスパイクに応じて適応補正係数ＫＳＴＲが大きく減少することがなく、検出当量比ＫＡＣＴのリーンスパイクが表れていない。このように本実施形態では、スパイク状応答が検出されたときに、スパイク補正係数ＫＩＤを小さな値に変更し、モデルパラメータの更新速度を低下させている。これにより、スパイク状応答に対して適応制御器が過剰な補正を行うことがなく、良好な制御性を維持することができる。
【００５４】
また、ステップ外乱に対しては、本実施形態の適応制御器による制御でも、従来の制御とほぼ同等の定常偏差吸収特性が得られることが示されている。ステップ外乱の場合は、図３（ｃ）に示すように、フィルタ処理後当量比ＫＡＣＴＨＰの絶対値の平均値ＫＡＣＴＨＰＡＶが所定閾値ＫＡＣＴＴＨを越える期間が短く、制御遅れがあまり大きくならないからである。
【００５５】
次に上述した適応制御器３１の機能を実現する、ＥＣＵ５のＣＰＵにおける演算処理を、図５〜９を参照して説明する。
【００５６】
図５は、適応補正係数ＫＳＴＲを算出する処理のフローチャートである。この処理は、ＴＤＣパルスの発生に同期して（クランク角度２４０度毎に）実行される。
ステップＳ２１では、図６に示すモデルパラメータ演算処理を実行する。図６の処理では、モデルパラメータｂ０，ｓ０，ｒ１〜ｒ３が算出され、さらに各パラメータの移動平均値ｂ０ＡＶ，ｓ０ＡＶ，ｒ１ＡＶ，ｒ２ＡＶ，ｒ３ＡＶが算出される。ステップＳ２２では、各パラメータの移動平均値ｂ０ＡＶ，ｓ０ＡＶ，ｒ１ＡＶ，ｒ２ＡＶ，ｒ３ＡＶを、下記式（２１），（２２）に適用し、第１及び第２の安定判別パラメータＣＨＫＰＡＲ１、ＣＨＫＰＡＲ２を算出する。
ＣＨＫＰＡＲ１＝（ｒ１ＡＶ−ｒ２ＡＶ＋ｒ３ＡＶ＋ｓ０ＡＶ）／ｂ０ＡＶ（２１）
ＣＨＫＰＡＲ２＝｜ｒ１ＡＶ｜＋｜ｒ２ＡＶ｜＋｜ｒ３ＡＶ｜　（２２）
【００５７】
ステップＳ２３では、第１の安定判別パラメータＣＨＫＰＡＲ１が第１の判定閾値ＯＫＳＴＲ１（例えば０．６）より小さいか否かを判別し、ＣＨＫＰＡＲ１＜ＯＫＳＴＲ１であるときは、さらに第２の安定判別パラメータＣＨＫＰＡＲ２が第２の判定閾値ＯＫＳＴＲ２（例えば０．４）より小さいか否かを判別する（ステップＳ２４）。ステップＳ２３及びＳ２４の答がともに肯定（ＹＥＳ）であるときは、モデルパラメータは安定であると判定し、ダウンカウンタＮＳＴＲＣＨＫに所定値ＮＳＴＲＳＨＫ０（例えば４）をセットする（ステップＳ２５）とともに、安定判別フラグＦＳＴＲＣＨＫを「０」に設定する（ステップＳ２６）。安定判別フラグＦＳＴＲＣＨＫは、「０」に設定されるとモデルパラメータが安定であることを示す。
【００５８】
ステップＳ２３またはＳ２４の答が否定（ＮＯ）であるときは、ダウンカウンタＮＳＴＲＣＨＫの値が「０」以下か否かを判別する（ステップＳ２７）。最初は、ＮＳＴＲＣＨＫ＞０であるので、ダウンカウンタＮＳＴＲＣＨＫの値を「１」だけデクリメントし（ステップＳ２８）、ステップＳ３０に進む。ダウンカウンタＮＳＴＲＣＨＫの値が「０」となると、ステップＳ２７からステップＳ２９に進み、安定判別フラグＦＳＴＲＣＨＫを「１」に設定する（ステップＳ２９）。
【００５９】
続くステップＳ３０では、下記式（１３ａ）により、適応補正係数ＫＳＴＲを算出する。式（１３ａ）は、前記式（１３）のモデルパラメータｂ０，ｒ１，ｒ２，ｒ３，ｓ０をそれぞれ移動平均値ｂ０ＡＶ，ｒ１ＡＶ，ｒ２ＡＶ，ｒ３ＡＶ，ｓ０ＡＶに置き換え、さらに制御時刻（サンプル時刻）ｋを制御時刻（サンプル時刻）ｎに置き換えたものである。制御時刻ｋは、特定の気筒の燃焼サイクル（クランク角度７２０度）に対応する制御時刻であり、制御時刻ｎはＴＤＣ周期（本実施形態ではクランク角度２４０度）に対応する制御時刻であり、ｎ＝３ｋなる関係がある。
2004036556.tif 000007
【００６０】
続くステップＳ３２〜Ｓ３７では、適応補正係数ＫＳＴＲのリミット処理を行う。すなわち、適応補正係数ＫＳＴＲが、目標当量比ＫＣＭＤに上限係数Ｏ２ＬＭＴＨ（例えば１．２）を乗算することにより得られる上限値Ｏ２ＬＭＴＨ×ＫＣＭＤより大きいときは、適応補正係数ＫＳＴＲをその上限値Ｏ２ＬＭＴＨ×ＫＣＭＤに設定し（ステップＳ３２，Ｓ３６）、適応補正係数ＫＳＴＲが、目標当量比ＫＣＭＤに下限係数Ｏ２ＬＭＴＬ（例えば０．５）を乗算することにより得られる下限値Ｏ２ＬＭＴＬ×ＫＣＭＤより小さいときは、適応補正係数ＫＳＴＲをその下限値Ｏ２ＬＭＴＬ×ＫＣＭＤに設定する（ステップＳ３３，Ｓ３５）。そしてその場合には、上限値または下限値に設定したことを示すために、リミットフラグＦＫＳＴＲＬＭＴを「１」に設定する（ステップＳ３７）。また、適応補正係数ＫＳＴＲが上限値と下限値の間にあるときは、リミットフラグＦＫＳＴＲＬＭＴを「０」に設定する（ステップＳ３４）。
【００６１】
図６は、図５のステップＳ２１で実行されるモデルパラメータ演算処理のフローチャートである。
ステップＳ４１では、初期化完了フラグＦＳＴＲＩＮＩが「１」であるか否かを判別する。初期化完了フラグＦＳＴＲＩＮＩは、モデルパラメータの初期化が完了したとき「１」に設定され、エンジンが停止したときなど、モデルパラメータの初期化が必要となるとき「０」に戻される。
【００６２】
ステップＳ４１でＦＳＴＲＩＮＩ＝０であるときは、モデルパラメータの初期化を行う（ステップＳ４４）。具体的には、メモリに格納されているモデルパラメータｂ０の最新値及び過去値を全て「１．０」に設定するとともに、移動平均値ｂ０ＡＶを「１．０」に設定する。さらに、他のモデルパラメータｒ１〜ｒ３，及びｓ０の最新値及び過去値を全て「０」に設定するとともに、対応する移動平均値ｒ１ＡＶ，ｒ２ＡＶ，ｒ３ＡＶ及びｓ０ＡＶを「０」に設定する。モデルパラメータの初期化終了後は、ステップＳ４８に進む。
【００６３】
ステップＳ４１でＦＳＴＲＩＮＩ＝１であるときは、モデルパラメータの前回算出時から３ＴＤＣ期間（ＴＤＣパルスの３周期分の期間、すなわち１燃焼サイクル）が経過したか否かを判別する（ステップＳ４６）。前記式（２）で定義される制御対象モデルや、式（３）〜（１５）により算出される制御入力が、ある特定の気筒の燃焼サイクルに対応する制御時刻（サンプル時刻）ｋを用いて定義されているため、本実施形態では、モデルパラメータベクトルθ、すなわちモデルパラメータｂ０，ｓ０，ｒ１〜ｒ３の算出は、３ＴＤＣ期間に１回、ある特定の気筒の燃焼サイクルに同期して行う。したがって、ステップＳ４６の答が肯定（ＹＥＳ）であるときは、ステップＳ４８及びＳ４９を実行してモデルパラメータベクトルθの算出を行う一方、ステップＳ４６の答が否定（ＮＯ）であるときは、モデルパラメータベクトルθを前回値保持とする（ステップＳ４７）。すなわちステップＳ４７では、モデルパラメータｂ０（ｎ），ｓ０（ｎ），ｒ１（ｎ）〜ｒ３（ｎ）を、それぞれ前回値ｂ０（ｎ−１），ｓ０（ｎ−１），ｒ１（ｎ−１）〜ｒ３（ｎ−１）に設定する。その後ステップＳ５５に進む。
【００６４】
ステップＳ４８では、図７に示すＫＩＤ算出処理を実行し、スパイク補正係数ＫＩＤを算出する。
ステップＳ４９では、安定判別フラグＦＳＴＲＣＨＫが「１」であるか否かを判別し、ＦＳＴＲＣＨＫ＝１であってモデルパラメータが不安定であると判定されたときは、忘却係数行列の忘却係数σを、不安定状態用の所定値ＳＧＭＣＨＫに設定する（ステップＳ５３）。
【００６５】
ステップＳ４９の答が否定（ＮＯ）であってモデルパラメータが安定であるときは、アイドルフラグＦＩＤＬＥＫＡＦが「１」であるか否かを判別する（ステップＳ５０）。アイドルフラグＦＩＤＬＥＫＡＦは、エンジン回転数ＮＥが所定低回転数ＮＥＩＤＬより低くかつスロットル弁開度ＴＨＡが所定低開度ＴＨＩＤＬより小さいとき「１」に設定される。ステップＳ５０でアイドルフラグＦＩＤＬＥＫＡＦが「１」であるときは、忘却係数σをアイドル用の所定値ＳＧＭＩＤＬに設定する（ステップＳ５２）。ステップＳ５０でアイドルフラグＦＩＤＬＥＫＡＦが「０」であるときは、忘却係数σを通常の所定値ＳＧＭ０に設定する（ステップＳ５１）。ここで、所定値ＳＧＭ０，ＳＧＭＩＤＬ，及びＳＧＭＣＨＫは、ＳＧＭ０＞ＳＧＭＩＤＬ＞ＳＧＭＣＨＫなる関係を満たすように設定される。不安定な状態となったときは、忘却係数σをより小さな値に変更することにより、モデルパラメータの過去値の影響度合を低減し、安定状態へ復帰し易くしている。
【００６６】
ステップＳ５４では、下記式（４ｂ），（５ａ），（７ａ），（９ａ），（１０ａ），及び（１１ａ）によるモデルパラメータベクトル、すなわちモデルパラメータｂ０，ｓ０，ｒ１〜ｒ３の算出を行う（ステップＳ４８）。これらの式は、前記式（４），（５），（７），（９），（１０），及び（１１）の制御時刻ｋを制御時刻ｎに置き換えたものである。また式（７ａ）は固定ゲインアルゴリズムを採用したため簡略化されており、行列Ｐは対角要素が定数の対角行列となっている。
【数２】
2004036556.tif 000008
【００６７】
続くステップＳ５５では、下記式（２５）〜（２９）により、移動平均値ｂ０ＡＶ，ｓ０ＡＶ，ｒ１ＡＶ，ｒ２ＡＶ，及びｒ３ＡＶを算出する。
【数３】
2004036556.tif 000009
【００６８】
移動平均化演算により得られるモデルパラメータｂ０ＡＶ，ｓ０ＡＶ，ｒ１ＡＶ，ｒ２ＡＶ，及びｒ３ＡＶを用いて適応補正係数ＫＳＴＲを算出することにより、モデルパラメータベクトルを３ＴＤＣ期間に１回の頻度で更新すること、及びＬＡＦセンサ１７のローパス特性に起因する適応制御の不安定化を防止することができる。
【００６９】
図７は、図６のステップＳ４８で実行されるＫＩＤ算出処理のフローチャートである。
ステップＳ６１では、初期化完了フラグＦＳＴＲＩＮＩが「１」であるか否かを判別し、ＦＳＴＲＩＮＩ＝０であるときは、各種パラメータの初期化を行う（ステップＳ６２）。具体的には、メモリに格納されている検出当量比ＫＡＣＴの過去値をすべて今回値ＫＡＣＴ（ｎ）に設定し、メモリに格納されているフィルタ処理後当量比ＫＡＣＴＨＰの過去値をすべて「０」に設定する。さらにメモリに格納されている目標当量比ＫＣＭＤに過去値をすべて検出当量比の今回値ＫＡＣＴ（ｎ）に設定し、スパイク補正係数ＫＩＤを「１．０」に設定する。
【００７０】
ステップＳ６２でＦＳＴＲＩＮＩ＝１であるときは、吸入空気量ＧＡＩＲＣＹＬが所定吸入空気量ＧＡＩＲＨＰ（例えば１ＴＤＣ期間当たり０．５ｇ）より大きいか否かを判別する。本実施形態では、吸入空気量センサを使用していないので、式（１）に適用される基本燃料量ＴＩＭに換算係数を乗算することにより、吸入空気量ＧＡＩＲＣＹＬが算出される。
【００７１】
ステップＳ６３でＧＡＩＲＣＹＬ＞ＧＡＩＲＨＰであってエンジン１が高負荷運転状態にあるときは、下記式（１５ａ）により第１ハイパスフィルタ処理を実行し、第１のフィルタ処理後当量比ＫＡＣＴＨＰ（ｎ）を算出する（ステップＳ６４）。式（１５ａ）は、式（１５）の制御時刻ｋを制御時刻ｎに置き換えたものである。
2004036556.tif 000010
【００７２】
次いで、下記式（３０）により、第１平均値ＫＡＣＴＨＰＡＶを算出する（ステップＳ６５）。
ＫＡＣＴＨＰＡＶ＝
（｜ＫＡＣＴＨＰ（ｎ）｜＋｜ＫＡＣＴＨＰ（ｎ−ｎＨＰＤ１）｜）／２　（３０）
【００７３】
フィルタ処理後当量比ＫＡＣＴＨＰの平均値ＫＡＣＴＨＰＡＶを算出する理由を図８を参照して説明する。図８（ａ）はスパイク状応答波形を示し、同図（ｂ）は、スパイク状応答波形のハイパスフィルタ処理後の波形を示す。このようにハイパスフィルタ処理後の波形は、スパイク状応答波形がピークとなる時刻ｔ０付近で「０」となってしまうため、フィルタ処理後当量比ＫＡＣＴＨＰをそのまま使用すると、スパイク状応答を正確に検出できない可能性がある。そこで、第１離散時間ｎＨＰＤ１に対応する時間前のフィルタ処理後当量比ＫＡＣＴＴＨＰ（ｎ−ｎＨＰＤ１）の絶対値（同図（ｃ）に破線で示す波形に対応する）と、今回値ＫＡＣＴＨＰ（ｎ）の絶対値（同図（ｃ）に実線で示す波形に対応する）との平均値である第１平均値ＫＡＣＴＨＰＡＶを算出し、この平均値ＫＡＣＴＨＰＡＶによって、スパイク状応答の発生を判定することとした。
【００７４】
ステップＳ６３でＧＡＩＲＣＹＬ≦ＧＡＩＲＨＰであってエンジン１が低負荷運転状態にあるときは、下記式（１５ｂ）により第２ハイパスフィルタ処理を実行し、第２のフィルタ処理後当量比ＫＡＣＴＨＰＬ（ｎ）を算出する（ステップＳ６６）。式（１５ｂ）は、式（１５ａ）のフィルタ係数を変更し、ハイパスフィルタ処理のカットオフ周波数が第１ハイパスフィルタ処理より低くなるようにしたものである。エンジン負荷が大きくなるほど、スパイク状応答の周波数成分は高くなる傾向があるので、低負荷運転状態では高負荷運転状態よりもハイパスフィルタ処理のカットオフ周波数を低下させた方が、スパイク状応答をより正確に検出することができる。
2004036556.tif 000011
【００７５】
続くステップＳ６７では、下記式（３１）により、第２平均値ＫＡＣＴＨＰＡＶＬ、すなわち第２のフィルタ処理後当量比ＫＡＣＴＨＰＬの今回の絶対値と、第２離散時間ｎＨＰＤ２前の絶対値との平均値である第２平均値ＫＡＣＴＨＰＡＶＬを算出する。
ＫＡＣＴＨＰＡＶＬ＝
（｜ＫＡＣＴＨＰＬ（ｎ）｜＋｜ＫＡＣＴＨＰＬ（ｎ−ｎＨＰＤ２）｜）／２　（３１）
第１離散時間ｎＨＰＤ１及び第２離散時間ｎＨＰＤ２は、ハイパフフィルタ処理の遅延時間に応じて設定される。
【００７６】
ステップＳ６８では、下記式（３２）により、制御偏差ＤＫＡＣＴＫＥを算出する。
ＤＫＡＣＴＫＥ＝ＫＡＣＴ（ｎ）−ＫＣＭＤ（ｎ−ｎＳＴＲ）　　　（３２）
ここで離散時間ｎＳＴＲは、制御系のむだ時間に対応し、本実施形態では「９」としている。
【００７７】
ステップＳ６９では、制御偏差ＤＫＡＣＴＫＥが上側閾値ＤＫＡＣＴＫＥＨ（例えば０．０５）より大きいか否かを判別し、ＤＫＡＣＴＫＥ≦ＤＫＡＣＴＫＥＨであるときは、さらに制御偏差ＤＫＡＣＴＫＥが下側閾値ＤＫＡＣＴＫＥＬ（例えば−０．０５）より小さいか否かを判別する（ステップＳ７０）。ステップＳ７０の答が否定（ＮＯ）であるとき、すなわち、制御偏差ＤＫＡＣＴＫＥが、上側閾値ＫＤＡＣＴＫＥＨと下側閾値ＤＫＡＣＴＫＥＬの間にあるときは、スパイク状応答は発生していないと判定し、スパイク補正係数ＫＩＤを「１．０」に設定する（ステップＳ７１）。
【００７８】
一方、ステップＳ６９またはＳ７０の答が肯定（ＹＥＳ）であるときは、図９に示すリッチスパイクが発生している可能性または同図に示すリーンスパイクが発生している可能性があると判定して、ステップＳ７２に進む。
ステップＳ７２では、吸入空気量ＧＡＩＲＣＹＬが所定吸入空気量ＧＡＩＲＨＰより大きいか否かを判別する。ＧＡＩＲＣＹＬ＞ＧＡＩＲＨＰであってエンジン１が高負荷運転状態にあるときは、第１平均値ＫＡＣＴＨＰＡＶに応じて図１０（ａ）に示す第１ＫＩＤテーブルを検索し、スパイク補正係数ＫＩＤを算出する（ステップＳ７３）。第１ＫＩＤテーブルは、第１所定閾値ＫＡＣＴＴＨ近傍の移行範囲では、第１平均値ＫＡＣＴＨＰＡＶに応じた値、すなわち第１平均値ＫＡＣＴＨＰＡＶが増加するほどスパイク補正係数ＫＩＤが減少するように設定され、第１平均値ＫＡＣＴＨＰＡＶが移行範囲より小さいときは、スパイク補正係数ＫＩＤが「１．０」に設定され、第１平均値ＫＡＣＴＨＰＡＶが移行範囲より大きいときは、所定値ＫＩＤＬ（例えば０．０１）に設定される。ステップＳ６９またはＳ７０で、リッチスパイクまたはリーンスパイクが発生している可能性があると判定された場合でも、第１平均値ＫＡＣＴＴＨＰＡＶが移行範囲より小さいときは、スパイク状応答は出力されていないと判定し、スパイク補正係数ＫＩＤが「１．０」に設定される。
【００７９】
ステップＳ７２でＧＡＩＲＣＹＬ≦ＧＡＩＲＨＰであってエンジン１が低負荷運転状態にあるときは、第２平均値ＫＡＣＴＨＰＡＶＬに応じて図１０（ｂ）に示す第２ＫＩＤテーブルを検索し、スパイク補正係数ＫＩＤを算出する（ステップＳ７４）。第２ＫＩＤテーブルは、第２所定閾値ＫＡＣＴＴＨＬ近傍の移行範囲では、第２平均値ＫＡＣＴＨＰＡＶＬに応じた値、すなわち第２平均値ＫＡＣＴＨＰＡＶＬが増加するほどスパイク補正係数ＫＩＤが減少するように設定され、第２平均値ＫＡＣＴＨＰＡＶＬが移行範囲より小さいときは、スパイク補正係数ＫＩＤが「１．０」に設定され、第２平均値ＫＡＣＴＨＰＡＶＬが移行範囲より大きい範囲ときは、所定値ＫＩＤＬ（例えば０．０１）に設定される。第２平均値ＫＡＣＴＴＨＰＡＶＬが移行範囲より小さいときは、スパイク状応答は出力されていないと判定し、スパイク補正係数ＫＩＤが「１．０」に設定される。
【００８０】
エンジン１の高負荷運転状態より、低負荷運転状態の方が、スパイク状応答が発生しにくいので、定常的な外乱に起因する応答をスパイク状応答と誤判定しないようにするために、第２所定閾値ＫＡＣＴＴＨＬは、第１所定閾値ＫＡＣＴＴＨより大きな値に設定される。このように、エンジン負荷に応じてスパイク応答検出のための閾値を設定することにより、スパイク状応答を正確に判定することができる。
【００８１】
以上のように本実施形態では、検出当量比ＫＡＣＴを監視し、スパイク状応答が検出されたときは、スパイク補正係数ＫＩＤを「０」に近い小さな値に変更することにより、モデルパラメータベクトルの更新速度を遅くするように制御される。モデルパラメータの更新速度を遅くすることにより、制御目標値に対する追従性が一時的に低下する。その結果、検出当量比ＫＡＣＴのスパイク状の応答に対応した過剰な補正が抑制され、良好な制御性を維持することができる。
【００８２】
本実施形態では、エンジンシステム１ａが制御対象であるプラントに相当し、ＥＣＵ５が同定手段、適応制御器、スパイク応答検出手段、及び修正手段を構成する。具体的には、図６の処理が同定手段に相当し、図５の処理が適応制御器に相当し、図７のステップＳ６３〜Ｓ７０及びＳ７２〜Ｓ７４がスパイク応答検出手段及び修正手段に相当する。また式（５ａ）による更新ベクトルｄθの算出処理が更新成分算出手段に相当し、式（４ｂ）において、更新ベクトルｄθにスパイク補正係数ＫＩＤを乗算する演算が更新成分補正手段に相当する。また図７のステップＳ６３，Ｓ６４，及びＳ６６がフィルタ手段に相当し、ステップＳ６５及びＳ６７が平均値算出手段に相当する。
【００８３】
（変形例）
図１０に示す第１及び第２ＫＩＤテーブルは、スパイク補正係数ＫＩＤが徐々に減少する移行範囲を無くし、「１．０」から所定値ＫＩＤＬにステップ状に変化するように設定してもよい。
【００８４】
また、リーンスパイク発生直後において適応制御器の過補正がなされたときは空燃比が目標空燃比に対してリッチ側にずれるので、三元触媒１４の浄化作用によりＮＯｘの排出特性は悪化しない。したがって、ステップＳ７０の下側閾値ＤＫＡＣＴＫＥＬを「−１」に設定することにより、事実上ステップＳ７０の答が肯定（ＹＥＳ）となり得ないようにして（リーンスパイクを無視し、リッチスパイクのみ検出するようにして）、リッチスパイク発生時のみ、スパイク補正係数ＫＩＤを減少させるようにしてもよい。
【００８５】
また上述した実施形態では、検出当量比ＫＡＣＴをハイパスフィルタ３３に入力し、ハイパスフィルタ処理後の検出当量比ＫＡＣＴＨＰに基づいてスパイク応答を検出するようにしたが、図１１に示すように、適応補正係数ＫＳＴＲをハイパスフィルタ３３に入力し、ハイパスフィルタ処理後の適応補正係数ＫＳＴＲＨＰに基づいてスパイク応答を検出するようにしてもよい。適応制御器の出力である適応補正係数ＫＳＴＲは、検出当量比ＫＡＣＴの変化に対して迅速に応答するので、制御対象の出力を示すパラメータとして使用することができる。この変形例は、検出当量比ＫＡＣＴにノイズが含まれる場合に有効である。
【００８６】
（第２の実施形態）
図１２は、本発明の第２の実施形態にかかる車両の車線維持装置を含む制御系の構成を示す図である。車線維持装置は、図１３に示すように走行車線の左端から車両５０の中心位置まで距離（以下「実車線間距離」という）ＹＡＣＴを、目標車線間距離ＹＣＭＤに一致させるように、車両のステアリングホイールの転舵角δを制御するものである。
【００８７】
図１２に示す制御系は、適応制御器５１と、転舵角演算部５２と、ステアリング機構５３と、位置検出部５４と、ハイパスフィルタ５５とからなる。適応制御器５１は、逆伝達関数コントローラ６１及びパラメータ調整機構６２を備える。
【００８８】
位置検出部５４は、ＣＣＤカメラにより得られる画像に基づいて実車線間距離ＹＡＣＴを検出する。ハイパスフィルタ５５は、実車線間距離ＹＡＣＴのハイパスフィルタ処理を行い、フィルタ処理後車線間距離ＹＡＣＴＨＰを出力する。パラメータ調整機構６２は、実車線間距離ＹＡＣＴ、車線間距離補正量ＹＳＴＲ及びハイパスフィルタ処理されるフィルタ処理後車線間距離ＹＡＣＴＨＰに基づいて、モデルパラメータベクトルθを算出する。逆伝達関数コントローラ６１は、目標車線間距離ＹＣＭＤ、実車線間距離ＹＡＣＴ及び車間距離補正量ＹＳＴＲの過去値に基づき、モデルパラメータベクトルθを用いて、車線間距離補正量ＹＳＴＲを算出する。
【００８９】
転舵角演算部５２は、車線間距離補正量ＹＳＴＲ、並びに車両走行距離、車両回転角度、及び路面摩擦係数などに基づいて、転舵角δを算出する。ステアリング機構５３は、転舵角δに対応する転舵を行う。
【００９０】
適応制御器５１は、制御対象であるステアリング機構５３及び転舵によって挙動が変化する車両５０をモデル化した制御対象モデルに基づいて、車線間距離補正量ＹＳＴＲを算出する。制御対象モデルは下記式（４１）により、３制御サイクルのむだ時間を有するＤＡＲＸモデルとして定義されている。
2004036556.tif 000012
ここで、ｂ０，ｒ１，ｒ２，ｒ３，ｓ０は、パラメータ調整機構６２により同定されるモデルパラメータである。
【００９１】
式（４１）は、式（２）のＫＡＣＴ及びＫＳＴＲを、それぞれＹＡＣＴ及びＹＳＴＲに置き換えたものであり、ステアリング機構５３及び車両５０は、エンジンシステム１ａと同様にモデル化することができる。したがって、第１の実施形態で示した制御手法をそのまま適用することができる。すなわち、パラメータ調整機構６２は、下記式（４２）〜（４９）により、モデルパラメータベクトルθの同定を行う。
θ（ｋ）＝ＳＧＭθ（ｋ−１）＋ＫＩＤ・ｄθ（ｋ）　　　　（４２）
ｄθ（ｋ）＝ＫＰ（ｋ）ｉｄｅ（ｋ）　　　　　　　　　　（４３）
【数４】
2004036556.tif 000013
ｉｄｅ（ｋ）＝ＹＡＣＴ（ｋ）−ＹＡＣＴＨＡＴ（ｋ）　　　　（４７）
ＹＡＣＴＨＡＴ（ｋ）＝θ（ｋ−１）Ｔζ（ｋ）　　　　　　　　　（４８）
2004036556.tif 000014
【００９２】
上記式（４２）〜４６）は、前記式（４）〜（８）と同一の式であり、式（４７）〜（４９）は、前記式（９）〜（１１）のＫＡＣＴ，ＫＡＣＴＨＡＴ，及びＫＳＴＲを、それぞれＹＡＣＴ，ＹＡＣＴＨＡＴ，及びＹＳＴＲに置き換えたものである。
【００９３】
そして逆伝達関数コントローラ６１は、下記式（５０）により、車線間距離補正量ＹＳＴＲを算出する。
2004036556.tif 000015
【００９４】
本実施形態においては、車両走行中の突風が外乱となってスパイク状応答が検出される。スパイク状応答が検出されたときは、第１の実施形態と同様にスパイク補正係数ＫＩＤの設定が行われ、スパイク状応答に対する過剰な補正が抑制され、良好な車線維持性能を得ることができる。
【００９５】
適応制御器５１及びハイパスフィルタ５５は、具体的には第１の実施形態と同様に、入出力回路、ＣＰＵ、記憶回路を含む電子制御ユニットにより構成される。したがって、その電子制御ユニットにより、同定手段、スパイク応答検出手段、及び修正手段が構成される。
【００９６】
なお本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの制御にも適用が可能である。
【００９７】
【発明の効果】
以上詳述したように請求項１に記載の発明によれば、プラントの出力を示すパラメータが監視され、スパイク状の応答が出力されたことが検出されたときは、モデルパラメータの更新速度が遅い方向へ修正される。適応制御器では、モデルパラメータの更新によってプラント出力と制御目標値との制御偏差を減少させる度合いが大きいので、モデルパラメータの更新速度を遅くすることにより、制御の追従性が一時的に低下する。その結果、プラント出力のスパイク状の応答に対応した過剰な補正が抑制され、良好な制御性を維持することができる。
【００９８】
請求項２に記載の発明によれば、モデルパラメータの今回値は、モデルパラメータの前回値に補正更新成分を加算することにより算出され、補正更新成分は更新成分に補正係数を乗算することにより算出される。そして、スパイク状の応答が検出されたときは、前記補正係数が、その絶対値が減少する方向に修正される。すなわち、モデルパラメータの前回値はそのままで、更新成分だけが減少方向に変更されるので、モデルパラメータを所定値に保持する手法に比べて、スパイク状の外乱がなくなった後の制御性や安定性において優れている。
【００９９】
請求項３に記載の発明によれば、プラントの出力を示すパラメータのハイパスフィルタ処理が行われ、該ハイパスフィルタ処理後のパラメータに基づいてスパイク状応答の検出が行われるので、定常的な外乱に起因する応答をスパイク状応答と誤判定することがなく、スパイク状応答を正確に検出することができる。
【０１００】
請求項４に記載の発明によれば、フィルタ手段の出力の絶対値の今回値と、所定時間前の記憶値との平均値が算出され、その平均値が所定閾値を越えたときスパイク状応答が出力されたと判定される。ハイパスフィルタ処理後のパラメータの今回値は、スパイク状応答の場合、スパイクのピークの時点で「０」近傍の値となる可能性が高いので、今回値のみでスパイ状応答か否かの判定を行うと、誤判定となる可能性が高い。そこで、前記所定時間前の記憶値との平均値を用いることにより、スパイク状応答の正確な検出が可能となる。
【０１０１】
請求項５に記載の発明によれば、所定の方向のスパイク応答のみが検出されるので、所定の方向以外の方向のスパイク状応答が出力されたときは、モデルパラメータの更新速度を維持し、所定の方向のスパイク状応答が検出されたときのみモデルパラメータの更新速度を遅くすることが可能となる。
【０１０２】
請求項６に記載の発明によれば、適応制御器の出力がプラントの出力を示すパラメータとして使用される。適応制御器の出力は、プラントの出力変化に対して迅速に応答するので、プラント出力を示すパラメータとして使用可能である。プラントの出力にノイズが含まれる場合に有効である。
【０１０３】
請求項７に記載の発明によれば、内燃機関に供給される混合気の空燃比が適応制御器により制御される。したがって、機関に供給される混合気の空燃比がスパイク状に変化した場合に、過剰な補正が抑制され、良好な制御性を維持することができる。
【０１０４】
請求項８に記載の発明によれば、ハイパスフィルタ処理の特性が機関運転状態に応じて変更される。機関負荷が増加するほど、スパイク状応答に含まれる周波数成分が高くなる傾向があるので、そのような傾向に対応してハイパスフィルタ処理の特性を変更することにより、スパイク状応答のより正確な検出が可能となる。
【０１０５】
請求項９に記載の発明によれば、スパイク状応答を検出するための所定閾値は、機関運転状態に応じて変更される。機関負荷が減少するほど、スパイク状応答が発生し難くなる傾向があるので、そのような傾向に対応して所定閾値を変更することにより、スパイク状応答のより正確な検出が可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態にかかる内燃機関及びその空燃比制御装置の構成を示す図である。
【図２】図１に示す内燃機関を含む制御系の構成を示すブロック図である。
【図３】スパイク補正係数（ＫＩＤ）の設定手法を説明するためのタイムチャートである。
【図４】本発明の効果を説明するためのタイムチャートである。
【図５】適応補正係数（ＫＳＴＲ）を算出する処理のフローチャートである。
【図６】モデルパラメータを算出する処理のフローチャートである。
【図７】スパイク補正係数（ＫＩＤ）を算出する処理のフローチャートである。
【図８】図７に示す処理におけるハイパスフィルタ処理後の平均値（ＫＡＣＴＨＰＡＶ）算出方法を説明するためのタイムチャートである。
【図９】図７に示す処理におけるスパイク検出を説明するためのタイムチャートである。
【図１０】図７に示す処理で参照されるテーブルを示す図である。
【図１１】図２に示す制御系の構成の変形例を示すブロック図である。
【図１２】本発明の第２の実施形態にかかる、車両の車線維持装置を含む制御系の構成を示すブロック図である。
【図１３】車両の車線維持装置における検出パラメータ（ＹＡＣＴ）と、その制御目標値（ＹＣＭＤ）とを説明するための図である。
【図１４】従来の制御装置の課題を説明するためのタイムチャートである。
【符号の説明】
１　内燃機関
２　吸気管
５　電子制御ユニット（適応制御器、同定手段、スパイク応答検出手段、修正手段、更新成分算出手段、更新成分補正手段、フィルタ手段、平均値算出手段）
６　燃料噴射弁（燃料供給手段）
１７　空燃比センサ
３１，５１　適応制御器
４２，６２　パラメータ調整機構（同定手段）
３３，５５　ハイパスフィルタ（フィルタ手段）
５０　車両
５３　ステアリング機構
５４　位置検出部
【図１】
2004036556.tif 000016
【図２】
2004036556.tif 000017
【図３】
2004036556.tif 000018
【図４】
2004036556.tif 000019
【図５】
2004036556.tif 000020
【図６】
2004036556.tif 000021
【図７】
2004036556.tif 000022
【図８】
2004036556.tif 000023
【図９】
2004036556.tif 000024
【図１０】
2004036556.tif 000025
【図１１】
2004036556.tif 000026
【図１２】
2004036556.tif 000027
【図１３】
2004036556.tif 000028
【図１４】
2004036556.tif 000029