JP3816386B2 - 制御装置 - Google Patents
制御装置 Download PDFInfo
- Publication number
- JP3816386B2 JP3816386B2 JP2001398312A JP2001398312A JP3816386B2 JP 3816386 B2 JP3816386 B2 JP 3816386B2 JP 2001398312 A JP2001398312 A JP 2001398312A JP 2001398312 A JP2001398312 A JP 2001398312A JP 3816386 B2 JP3816386 B2 JP 3816386B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- output
- fuel ratio
- hat
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Feedback Control In General (AREA)
Description
【発明の属する技術分野】
本発明は、制御装置に関する。
【0002】
【従来の技術】
例えば内燃機関の排気系を制御対象とする制御装置が特開平11−153051号公報等にて本願出願人により提案されている。この制御装置では、排ガス浄化用の触媒装置の下流側に酸素濃度センサ(O2センサ)を設けた内燃機関の排気系において、触媒装置の上流側から下流側の酸素濃度センサにかけての該触媒装置を含む排気系を制御対象とする制御装置である。この制御対象(以下、ここでは対象排気系という)は、具体的には、触媒装置に進入する排ガスの空燃比(より詳しくは、排ガスの酸素濃度により把握される空燃比)を該対象排気系の入力、触媒装置の下流側の酸素濃度センサの出力を該対象排気系の出力とするものである。そして、この制御装置では、触媒装置の良好な浄化性能を確保するために、前記酸素濃度センサの出力を所定の目標値に収束させるように、触媒装置に進入する排ガスの空燃比を操作するようにしている。
【0003】
この制御装置では、対象排気系のモデルがあらかじめ構築されており、このモデルのパラメータ(モデルの挙動を確定する上である値に設定すべきパラメータ)が酸素濃度センサの出力データ(対象排気系の出力の検出データ)と、触媒装置の上流側に備えた空燃比センサの出力データ(対象排気系への入力の検出データ)とを用いて逐次同定される。この同定処理では、モデルに空燃比センサの出力データを入力したときに得られるモデルの出力と、酸素濃度センサの出力データ(対象排気系の実出力)との間の誤差を最小化するように、最小2乗法等のアルゴリズムにより、モデルのパラメータが同定される。この場合、実際の対象排気系の周波数特性(対象排気系の入力変化に対する出力変化のゲインの周波数軸上での特性)に、モデルの周波数特性を整合させるために、モデルの出力と酸素濃度センサの出力データとの偏差にフィルタリング処理を施したものが上記誤差として求められ、この誤差を用いてモデルのパラメータの同定処理が行われる。このフィルタリング処理は、対象排気系の周波数特性のゲインが低い周波数域で、モデルのパラメータの同定処理の周波数軸上での重み、すなわち同定重みがより高くなることの影響を補償し、モデルの周波数特性と対象排気系の周波数特性との整合性を高めるためのものである。
【0004】
そして、前記操作量の生成に際しては、対象排気系のモデルに基づき構築されたフィードバック制御のアルゴリズム(具体的には適応スライディングモード制御のアルゴリズム)により、該モデルのパラメータの同定値を用いて前記操作量が生成される。
【0005】
このような制御装置では、上述のようにパラメータが同定されるモデルの周波数特性と実際の対象排気系の周波数特性との整合性が高いものとなるため、対象排気系の動的な挙動変化の影響を補償しつつ、酸素濃度センサの出力を所要の目標値に収束させる上で好適な操作量を生成することができ、ひいては、酸素濃度センサの出力の目標値への収束制御の速応性や安定性を高めることができる。
【0006】
【発明が解決しようとする課題】
ところで、本願発明者等のさらなる検討によれば、内燃機関の運転状態等によっては、対象排気系の周波数特性が比較的大きく変化することが判明した。例えば、内燃機関の回転数が比較的低い状態では、対象排気系の周波数特性は、特に、触媒装置を流れる排ガス流量の影響を受け易く、該排ガス流量の変化によって、対象排気系の周波数特性が比較的大きく変化することがある。そして、このような場合、対象排気系の周波数特性において、特にゲインの低い周波数域における前記同定処理の重み(同定重み)が増加しやすい。その結果、パラメータの同定値により定まるモデルの周波数特性と、実際の対象排気系の周波数特性との整合性が低下し、ひいては、酸素濃度センサの出力の目標値への収束制御の速応性や安定性が損なわれる虞れがあった。
【0007】
また、一般に、制御対象のモデルのパラメータを上述のように同定し、その同定値を用いて、該制御対象の出力を制御する制御装置では、実際の制御対象の周波数特性の比較的大きな変化が生じると、上記と同様の不都合を生じる虞れがあった。
【0008】
本発明はかかる背景に鑑みてなされたものであり、制御対象の周波数特性の動的な変化の影響を適正に補償して、制御対象の出力の制御を良好に行うことができる制御装置を提供することを目的とする。そして、特に、内燃機関の排ガス浄化用の触媒装置を含む排気系の制御に好適な制御装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明の制御装置は、所定の入力から所定の出力を生成する制御対象の出力を検出する検出手段と、前記制御対象の挙動を表現すべくあらかじめ構築された該制御対象のモデルに対し、前記検出手段の検出データと前記制御対象への実入力を表すデータとを用いて、前記モデルの出力と該制御対象の実出力との間の誤差を表す誤差データを逐次算出しつつ、該誤差データの値を最小化するように前記モデルの設定すべきパラメータを同定する同定手段と、該同定手段により同定された前記モデルパラメータの同定値を用いて、該モデルに基づき構築されたアルゴリズムにより前記検出手段の検出データを所定の目標値に収束させるように前記制御対象への実入力を規定する操作量を生成する操作量生成手段とを備える。この場合、前記同定手段は、前記モデルの出力と前記検出手段の検出データが表す前記制御対象の実出力との偏差にフィルタリング処理を施したものを前記誤差データとして算出する。そして、本発明は、前記の目的を達成するために、前記制御対象は、内燃機関の排気通路に設けられた触媒装置に進入する排ガスの空燃比を該制御対象の入力とすると共に、該触媒装置の下流側に設けられた前記検出手段としての酸素濃度センサの出力を該制御対象の出力とする該触媒装置を含む排気系であり、前記フィルタリング処理の周波数に対するゲイン特性をローパス特性とし、前記排気系を流れる排ガス流量が少ないほど、該フィルタリング処理のゲインが相対的に高ゲインとなる周波数域がより低周波側に偏るように、前記排ガス流量に応じて、該フィルタリング処理の周波数に対するゲイン特性(以下、対周波数ゲイン特性ということがある)を変更するようにしたことを特徴とするものである。
【0010】
すなわち、前記制御対象が、前記触媒装置を含む排気系である場合、該排気系の入力変化に対する出力変化のゲイン(以下、入出力間ゲインということがある)の周波数特性は、本願発明者等の知見によれば、特に、該排気系を流れる排ガス流量の影響を受け易い。従って、制御対象である前記排気系の入出力間ゲインの周波数特性に影響を及ぼす特性パラメータとしての前記排ガス流量に応じて、前記同定手段が前記誤差データを算出するためのフィルタリング処理の対周波数ゲイン特性を変更することにより、制御対象(前記排気系)の入出力間ゲインの周波数特性が変化しても、前記モデルの入出力間ゲイン(該モデルにおける入力変化に対する出力変化のゲイン)の周波数特性が実際の制御対象の入出力間ゲインの周波数特性に整合するように、該モデルのパラメータを前記同定手段の処理により同定することが可能となる。つまり、前記フィルタリング処理の対周波数ゲイン特性を適切に変更し、前記同定手段によりパラメータが同定されるモデルの入出力間ゲインの周波数特性を、実際の排気系の入出力間ゲインの周波数特性に好適に整合させることが可能となる。このため、そのモデルのパラメータの同定値を用いて前記操作量生成手段により生成される操作量を、前記検出手段により検出される制御対象の実出力を所定の目標値に収束させる上で好適なものとすることが可能となる。この結果、その収束制御の安定性や速応性を高め、該収束制御を良好に行うことができる。つまり、触媒装置の下流側の酸素濃度センサの出力を所定の目標値に収束させる制御を良好に行うことができ、ひいては、触媒装置により排ガスの浄化性能を適正に確保することができる。
この場合、前記排気系は、一般に、低周波域で入出力間ゲインが比較的大きなものとなるローパス特性を有する。従って、前記モデルの入出力間ゲインの周波数特性と、前記排気系の入出力間ゲインの周波数特性とを整合させる上では、前記フィルタリング処理の対周波数ゲイン特性は、基本的には、低周波域で相対的にゲインが高くなるローパス特性であることが好適である。そして、本願発明者等の知見によれば、特に排ガス流量が少なくなると、排気系の入出力間ゲインが高ゲインとなる周波数域がより低周波側に偏る傾向がある。従って、この場合、排ガス流量が少ないほど、前記フィルタリング処理のゲインが相対的に高ゲインとなる周波数域がより低周波側に偏るように該フィルタリング処理の対周波数ゲイン特性を変更することが好適である。このようにすることにより、前記同定手段によりパラメータを同定する排気系のモデルの入出力間ゲインの周波数特性と、前記排気系の入出力間ゲインの周波数特性とを確実に整合させることができ、前記酸素濃度センサの出力を所定の目標値に収束させる制御の信頼性を高めることができる。
【0011】
尚、本発明に関して補足説明をしておくと、前記フィルタリング処理は、より詳しくは、前記制御対象への実入力を表すデータを前記モデルの出力と前記検出手段の検出データが表す前記制御対象の実出力との偏差の周波数軸上での成分の強弱を調整する処理である。そして、対象排気系の入出力間ゲインの周波数特性と、モデルの入出力間ゲインの周波数特性とを整合させる上では、該フィルタリング処理の対周波数ゲイン特性は、基本的には、制御対象の入出力間ゲインが相対的に高い周波数域において、該フィルタリング処理のゲインが他の周波数域(制御対象の入出力間ゲインが相対的に低い周波数域)よりも相対的に高くなるような特性である。また、前記フィルタリング処理による生成する誤差データは、結果的に、モデルの出力と制御対象の出力(実出力)との偏差にフィルタリング処理を施したものとなっていればよい。従って、該偏差そのものにフィルタリング処理を施すことで得られるものはもちろん、例えば、モデルの出力と制御対象の出力とに同一の対周波数ゲイン特性を有するフィルタリング処理をそれぞれ施したものの偏差を前記誤差データとして生成するようにしてもよい。
【0012】
また、本発明において、前記制御対象のモデルは、例えば、該制御対象がその入力から応答遅れ要素を介して出力するものであるとして該制御対象の挙動を数式表現するモデル、あるいは、該制御対象がその入力から応答遅れ要素及び無駄時間要素を介して出力するものであるとして該制御対象の挙動を数式表現するモデル等がある。そして、制御対象のモデルを離散時間系で設定する場合には、各制御サイクル毎の制御対象の出力を、その各制御サイクルより過去の制御サイクルにおける制御対象の出力と入力との線形和により表現する自己回帰型のモデルが一般的である。
【0013】
さらに、本発明において、制御対象のモデルのパラメータは、より詳しくは、該モデルの挙動を確定する上である値に設定すべきパラメータであり、一般的には、該モデルの数式表現中の各項に係る係数が該パラメータに該当する。例えば、上記自己回帰型のモデルでは、その数式表現中に現れる制御対象の出力及び入力に係る係数が該モデルのパラメータに該当する。この場合、前記同定手段の処理では、必ずしも、それらのパラメータの全てを同定する必要はなく、それらのパラメータのうちの一部のパラメータについては、その値をあらかじめ定めた固定値としたり、データテーブルやマップ等を用いて該パラメータの値を可変的に設定するようにしてもよい。
【0014】
さらに、前記同定手段の処理のアルゴリズムとしては、最小2乗法、重み付最小2乗法等のアルゴリズムが挙げられる。
【0015】
また、前記同定手段の処理に用いる、制御対象への実入力を表すデータは、該実入力を検出する検出手段(以下、ここでは第2の検出手段という)を備えた場合には、該第2の検出手段の検出データ(制御対象への実入力の検出値)を用いればよい。但し、制御対象への入力は、基本的には、前記操作量生成手段が生成する操作量により規定されるので、制御対象への実入力を表すデータとして、前記操作量生成手段が生成した操作量を用いることも可能である。尚、一般的には、前記第2の検出手段の検出データは、制御対象への実入力そのものの検出値であるので、制御対象を含む制御系の実際の挙動状態を反映させて前記モデルのパラメータを適正に同定する上では、該第2の検出手段の検出データを、制御対象への実入力を表すデータとして用いることが好適である。
【0016】
かかる本発明では、前記フィルタリング処理としては、例えば移動平均処理が挙げられる。該移動平均処理は、一般的に言えば、所定の制御サイクル毎に、その移動平均処理の対象データの所定数(これは移動平均タップ数と言われる)の時系列データ(より詳しくは、現在から所定時間前までに得られた時系列データ)の平均値を求める処理である。この場合、本発明では、前記制御対象への実入力を表すデータを前記モデルに入力したときの該モデルの出力と前記検出手段の検出データが表す前記制御対象の実出力との偏差が上記対象データに該当する。そして、このように、前記フィルタリング処理として移動平均処理を用いた場合には、該移動平均処理の移動平均タップ数を、前記特性パラメータに応じて変更することにより、該フィルタリング処理の対周波数ゲイン特性を変更することができる。これによれば、フィルタリング処理の対周波数ゲイン特性を容易に変更することができる。
【0017】
また、本発明では、前記操作量生成手段は、応答指定型のフィードバック制御処理により前記操作量を生成することが好適である。そして、特に、該応答指定型のフィードバック制御処理は、スライディングモード制御の処理であることが好適である。すなわち、応答指定型のフィードバック制御処理により前記操作量を生成することで、モデルの入出力間ゲインの周波数特性と、実際の制御対象の入出力間ゲインの周波数特性とが多少の誤差を生じても、制御対象の出力の目標値への収束制御の安定性を確保し得る操作量を生成することことができる。特に、スライディングモード制御の処理を用いることにより、制御対象の出力の目標値への収束制御の安定性を高めることができる。
【0018】
尚、スライディングモード制御の処理は、所謂、等価制御入力に係わる制御則と到達則とに基づく通常的なスライディングモード制御の処理であってもよいが、これらの制御則に加えてさらに、適応則(適応アルゴリズム)を付加した適応スライディングモード制御の処理が好適である。該適応則は、外乱の影響、あるいは前記モデルと実際の制御対象との誤差(モデル化誤差)の影響を極力排除するための制御則である。このような適応スライディングモード制御の処理を用いることにより、制御対象の出力の目標値への収束制御の安定性をさらに高めることができる。
【0022】
尚、前記フィルタリング処理として、前記移動平均処理を用いる場合、上記のようにフィルタリング処理の対周波数ゲイン特性を変更するためには、排ガス流量が少ないほど、前記移動平均タップ数を多くするようにすればよい。
【0023】
【発明の実施の形態】
本発明の第1実施形態を図1〜図17を参照して説明する。図1は本実施形態の装置の全体構成をブロック図で表したものであり、図中、1は例えば自動車やハイブリッド車に車両の推進源として搭載された4気筒のエンジン(内燃機関)である。このエンジン1が各気筒毎に燃料及び空気の混合気の燃焼により生成する排ガスは、エンジン1の近傍で共通の排気管2(排気通路)に集合され、該排気管2を介して大気中に放出される。そして、排気管2には、排ガスを浄化するために、三元触媒を用いて構成された二つの触媒装置3,4が該排気管2の上流側から順に介装されている。尚、下流側の触媒装置4はこれを省略してもよい。
【0024】
本実施形態のシステムでは、触媒装置3の最適な浄化性能を確保するようにエンジン1の空燃比(より正確にはエンジン1で燃焼させる燃料及び空気の混合気の空燃比。以下、同様)を操作する。そして、この操作を行うために、本実施形態のシステムは、触媒装置3の上流側(より詳しくはエンジン1の各気筒毎の排ガスの集合箇所)で排気管2に設けられた空燃比センサ5と、触媒装置3の下流側(触媒装置4の上流側)で排気管2に設けられたO2センサ(酸素濃度センサ)6と、これらのセンサ5,6の出力(検出値)等に基づき後述の制御処理を行う制御ユニット7とを具備している。O2センサ6、空燃比センサ5はそれぞれ前述した検出手段、第2の検出手段に相当するものである。尚、制御ユニット7には、前記空燃比センサ5やO2センサ6の出力の他に、回転数センサや吸気圧センサ、冷却水温センサ等、エンジン1の運転状態を検出するための図示しない各種のセンサの出力が与えられる。
【0025】
O2センサ6は、触媒装置3を通過した排ガス中の酸素濃度に応じたレベルの出力VO2/OUT(酸素濃度の検出値を示す出力)を生成する通常的なO2センサである。ここで、排ガス中の酸素濃度は、燃焼によりその排ガスとなった混合気の空燃比に応じたものとなる。そして、このO2センサ6の出力VO2/OUTは、図2に実線aで示すように、排ガス中の酸素濃度に対応する空燃比が理論空燃比近傍の比較的狭い範囲Δに存するような状態で、該排ガス中の酸素濃度に対してほぼ線形に高感度な変化を生じるものとなる。また、その範囲Δを逸脱した空燃比に対応する酸素濃度では、O2センサ6の出力VO2/OUTはほぼ一定のレベルに飽和する。
【0026】
空燃比センサ5は、触媒装置3に進入する排ガスの空燃比(より詳しくは触媒装置3に進入する排ガスの酸素濃度により把握される空燃比)の検出値を表す出力KACTを生成するものである。この空燃比センサ5は、例えば本願出願人が特開平4−369471号公報にて説明した広域空燃比センサにより構成されたものであり、図2に実線bで示すように、O2センサ5よりも排ガス中の酸素濃度の広範囲にわたってそれに比例したレベルの出力KACTを生成するものである。以下の説明では、この空燃比センサ5をLAFセンサ5と称し、触媒装置3に進入する排ガスの空燃比(空燃比センサ5が検出する排ガスの空燃比)を触媒上流空燃比と称する。
【0027】
制御ユニット7は、マイクロコンピュータを用いて構成されたものであり、触媒上流空燃比の目標値である目標空燃比KCMD(これはLAFセンサ5の出力KACTの目標値でもある)を触媒上流空燃比を規定する操作量として逐次生成する処理を所定の制御サイクルで実行する排気側制御ユニット7aと、該目標空燃比KCMDに応じてエンジン1の燃料供給量を調整することによって触媒上流空燃比を操作する処理を所定の制御サイクルで逐次実行する機関側制御ユニット7bとを具備している。尚、これらの制御ユニット7a,7bのうち、排気側制御ユニット7aは本発明における操作量生成手段に相当するものである。また、機関側制御ユニット7bは、エンジン1と併せて、目標空燃比KCMDに応じて触媒上流空燃比を操作する空燃比操作手段(空燃比操作系)としての意味を持つ。さらに別の言い方をすれば、エンジン1は、触媒上流空燃比を生成するアクチュエータとしての意味を持ち、機関側制御ユニット7bはこのアクチュエータを制御する制御手段としての意味をもつ。
【0028】
ここで、本実施形態では、各制御ユニット7a,7bがそれぞれの処理を実行する制御サイクルは各別の制御サイクルとされている。すなわち、排気側制御ユニット7aの処理の制御サイクルは、触媒装置3を含む後述の排気系Eが有する比較的長い無駄時間や演算負荷等を考慮し、あらかじめ定めた一定の周期(例えば30〜100ms程度の周期)とされている。また、機関側制御ユニット7bの処理の制御サイクルは、エンジン1の燃料供給量の調整処理をエンジン1の燃焼サイクルに同期させて行う必要があることから、エンジン1のクランク角周期(所謂TDC)に同期した周期とされている。そして、排気側制御ユニット7aの制御サイクルの周期は、エンジン1のクランク角周期(TDC)よりも長いものとされている。
【0029】
これらの制御ユニット7a,7bの処理をさらに説明する。まず、機関側制御ユニット7bは、その機能的構成として、エンジン1への基本燃料噴射量Timを求める基本燃料噴射量算出部8と、基本燃料噴射量Timを補正するための第1補正係数KTOTAL及び第2補正係数KCMDMをそれぞれ求める第1補正係数算出部9及び第2補正係数算出部10とを具備する。
【0030】
前記基本燃料噴射量算出部8は、エンジン1の回転数NEと吸気圧PBとから、それらにより規定されるエンジン1の基準の燃料噴射量(燃料供給量)をあらかじめ設定されたマップを用いて求め、その基準の燃料噴射量をエンジン1の図示しないスロットル弁の有効開口面積に応じて補正することで基本燃料噴射量Timを算出するものである。
【0031】
また、第1補正係数算出部9が求める第1補正係数KTOTALは、エンジン1の排気還流率(エンジン1の吸入空気中に含まれる排ガスの割合)や、エンジン1の図示しないキャニスタのパージ時にエンジン1に供給される燃料のパージ量、エンジン1の冷却水温、吸気温等を考慮して前記基本燃料噴射量Timを補正するためのものである。
【0032】
また、第2補正係数算出部10が求める第2補正係数KCMDMは、排気側制御ユニット7aが後述の如く算出する目標空燃比KCMDに対応してエンジン1へ流入する燃料の冷却効果による吸入空気の充填効率を考慮して基本燃料噴射量Timを補正するためのものである。
【0033】
これらの第1補正係数KTOTAL及び第2補正係数KCMDMによる基本燃料噴射量Timの補正は、第1補正係数KTOTAL及び第2補正係数KCMDMを基本燃料噴射量Timに乗算することで行われ、この補正によりエンジン1の要求燃料噴射量Tcylが得られる。
【0034】
尚、前記基本燃料噴射量Timや、第1補正係数KTOTAL、第2補正係数KCMDMのより具体的な算出手法は、特開平5−79374号公報等に本願出願人が開示しているので、ここでは詳細な説明を省略する。
【0035】
機関側制御ユニット7bは、上記の機能的構成の他、さらに、排気側制御ユニット7a(詳細は後述する)が逐次算出する目標空燃比KCMDにLAFセンサ5の出力KACT(触媒上流空燃比の検出値)を収束させるようにフィードバック制御の処理によりエンジン1の燃料噴射量を調整することでエンジン1の空燃比を操作するフィードバック制御部14を備えている。
【0036】
このフィードバック制御部14は、本実施形態では、エンジン1の各気筒の全体的な空燃比をフィードバック制御する大局的フィードバック制御部15と、エンジン1の各気筒毎の空燃比をフィードバック制御する局所的フィードバック制御部16とから構成されている。
【0037】
前記大局的フィードバック制御部15は、LAFセンサ5の出力KACTが前記目標空燃比KCMDに収束するように、前記要求燃料噴射量Tcylを補正する(要求燃料噴射量Tcylに乗算する)フィードバック補正係数KFBを逐次求めるものである。そして、該大局的フィードバック制御部15は、LAFセンサ5の出力KACTと目標空燃比KCMDとの偏差に応じて周知のPID制御の処理により前記フィードバック補正係数KFBとしてのフィードバック操作量KLAFを生成するPID制御器17と、LAFセンサ5の出力KACTと目標空燃比KCMDとからエンジン1の運転状態の変化や特性変化等を考慮して前記フィードバック補正係数KFBを規定するフィードバック操作量KSTRを適応的に求める適応制御器18(図ではSTRと称している)とをそれぞれ独立的に具備している。
【0038】
ここで、本実施形態では、前記PID制御器17が生成するフィードバック操作量KLAFは、LAFセンサ5の出力KACT(触媒上流空燃比の検出値)が目標空燃比KCMDに一致している状態で「1」となり、該操作量KLAFをそのまま前記フィードバック補正係数KFBとして使用できるようになっている。一方、適応制御器18が生成するフィードバック操作量KSTRはLAFセンサ5の出力KACTが目標空燃比KCMDに一致する状態で「目標空燃比KCMD」となるものである。このため、該フィードバック操作量KSTRを除算処理部19で目標空燃比KCMDにより除算してなるフィードバック操作量kstr(=KSTR/KCMD)が前記フィードバック補正係数KFBとして使用できるようになっている。
【0039】
そして、大局的フィードバック制御部15は、PID制御器17により生成されるフィードバック操作量KLAFと、適応制御器18が生成するフィードバック操作量KSTRを目標空燃比KCMDにより除算してなるフィードバック操作量kstrとを切換部20で適宜、択一的に選択する。さらに、大局的フィードバック制御部15は、その選択したフィードバック操作量KLAF又はkstrを前記フィードバック補正係数KFBとして使用し、該補正係数KFBを前記要求燃料噴射量Tcylに乗算することにより該要求燃料噴射量Tcylを補正する。尚、かかる大局的フィードバック制御部15(特に適応制御器18)については後にさらに詳細に説明する。
【0040】
前記局所的フィードバック制御部16は、LAFセンサ5の出力KACTから各気筒毎の実空燃比#nA/F(n=1,2,3,4)を推定するオブザーバ21と、このオブザーバ21により推定された各気筒毎の実空燃比#nA/Fから各気筒毎の空燃比のばらつきを解消するよう、PID制御を用いて各気筒毎の燃料噴射量のフィードバック補正係数#nKLAFをそれぞれ求める複数(気筒数個)のPID制御器22とを具備する。
【0041】
ここで、オブザーバ21は、それを簡単に説明すると、各気筒毎の実空燃比#nA/Fの推定を次のように行うものである。すなわち、エンジン1からLAFセンサ5の箇所(各気筒毎の排ガスの集合部)にかけての系を、エンジン1の各気筒毎の実空燃比#nA/FからLAFセンサ5が検出する触媒上流空燃比を生成する系と考え、この系が、LAFセンサ5の検出応答遅れ(例えば一次遅れ)や、触媒上流空燃比に対するエンジン1の各気筒毎の空燃比の時間的寄与度を考慮してあらかじめモデル化されている。そして、そのモデルの基で、LAFセンサ5の出力KACTから、逆算的に各気筒毎の実空燃比#nA/Fを推定する。
【0042】
尚、このようなオブザーバ21は、本願出願人が例えば特開平7−83094号公報に詳細に開示しているので、ここでは、さらなる説明を省略する。
【0043】
また、局所的フィードバック制御部16の各PID制御器22は、LAFセンサ5の出力KACTを、前回の制御サイクルで各PID制御器22により求められたフィードバック補正係数#nKLAFの全気筒についての平均値により除算してなる値を各気筒の空燃比の目標値とする。そして、各PID制御器22は、その目標値とオブザーバ21により求められた各気筒毎の実空燃比#nA/Fの推定値との偏差が解消するように、今回の制御サイクルにおける各気筒毎のフィードバック補正係数#nKLAFを求める。
【0044】
そして、局所的フィードバック制御部16は、前記要求燃料噴射量Tcylに大局的フィードバック制御部15のフィードバック補正係数KFBを乗算してなる値に、各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒の出力燃料噴射量#nTout(n=1,2,3,4)を求める。
【0045】
このようにして求められる各気筒の出力燃料噴射量#nToutは、機関側制御ユニット7bに備えた各気筒毎の付着補正部23により吸気管の壁面への燃料の付着を考慮した補正が各気筒毎になされた後、エンジン1の図示しない燃料噴射装置に与えられる。そして、その付着補正がなされた出力燃料噴射量#nToutで、エンジン1の各気筒への燃料噴射が行われる。
【0046】
尚、上記付着補正については、本願出願人が例えば特開平8−21273号公報に詳細に開示しているので、ここではさらなる説明を省略する。また、図1において、参照符号24を付したセンサ出力選択処理部は、前記オブザーバ21による各気筒毎の実空燃比#nA/Fの推定に適したLAFセンサ5の出力KACTをエンジン1の運転状態に応じて選択するもので、これについては、本願出願人が特開平7−259588号公報にて詳細に開示しているので、ここではさらなる説明を省略する。
【0047】
一方、前記排気側制御ユニット7aは、LAFセンサ5の出力KACTと所定の空燃比基準値FLAF/BASEとの偏差kact(=KACT−FLAF/BASE)を逐次求める減算処理部11と、O2センサ6の出力VO2/OUTとその目標値VO2/TARGETとの偏差VO2(=VO2/OUT−VO2/TARGET)を逐次求める減算処理部12とを備えている。
【0048】
ここで、O2センサ6の出力VO2/OUTの目標値VO2/TARGETは、触媒装置3の最適な浄化性能(具体的には排ガス中のNOx、HC、CO等の浄化率)が得られるようなO2センサ6の出力値としてあらかじめ定めた所定値であり、図2に示すように排ガスの空燃比が理論空燃比近傍の範囲Δに存するような状態においてO2センサ6が生成し得る出力値である。また、LAFセンサ5の出力KACTに係わる前記空燃比基準値FLAF/BASEは、本実施形態では「理論空燃比」(一定値)に設定されている。
【0049】
尚、以下の説明において、前記減算処理部11,12がそれぞれ求める偏差k act,VO2をそれぞれLAFセンサ5の偏差出力kact及びO2センサ6の偏差出力VO2と称する。
【0050】
排気側制御ユニット7aはさらに、上記の偏差出力kact,VO2のデータをそれぞれLAFセンサ5の出力及びO2センサ6の出力を表すデータとして用い、それらのデータに基づいて前記目標空燃比KCMD(触媒上流空燃比の目標値)を逐次算出する目標空燃比生成処理部13を備えている。
【0051】
この目標空燃比生成処理部13は、本発明の制御装置に相当するものであり、排気管2のLAFセンサ5の箇所からO2センサ6の箇所にかけての触媒装置3を含む排気系(図1で参照符号Eを付した部分)を制御対象とする。そして、該目標空燃比生成処理部13は、上記排気系Eが有する無駄時間や、前記エンジン1及び機関側制御ユニット7bからなる空燃比操作系が有する無駄時間、排気系Eの挙動変化等を考慮しつつ、フィードバック制御の一手法であるスライディングモード制御(詳しくは適応スライディングモード制御)の処理を用いてO2センサ6の出力VO2/OUTをその目標値VO2/TARGETに収束(整定)させるようにエンジン1の目標空燃比KCMDを逐次算出するものである。
【0052】
このような目標空燃比生成処理部13の制御処理を行うために、本実施形態では、前記排気系Eが、前記LAFセンサ5の出力KACT(LAFセンサ5が検出する触媒上流空燃比)から無駄時間要素及び応答遅れ要素を介してO2センサ6の出力VO2/OUTを生成する系であるとして、該排気系Eの挙動を表現するモデルがあらかじめ構築されている。また、前記エンジン1及び機関側制御ユニット7bから成る空燃比操作系が、目標空燃比KCMDから無駄時間要素を介してLAFセンサ5の出力KACTを生成する系であるとして、該空燃比操作系の挙動を表現するモデルがあらかじめ構築されている。
【0053】
この場合、排気系Eのモデル(以下、排気系モデルという)に関しては、LAFセンサ5の出力KACT及びO2センサ6の出力VO2/OUTの代わりに、LAFセンサ5の前記偏差出力kact(=KACT−FLAF/BASE)を排気系Eに対する入力、O2センサ6の前記偏差出力VO2(=VO2/OUT−VO2/TARGET)を排気系Eの出力とし、次式(1)の離散時間系の自己回帰モデル(詳しくは、排気系Eの入力としての偏差出力kactに無駄時間を有する自己回帰モデル)により排気系Eの挙動が表現されている。
【0054】
【数1】
【0055】
ここで、上式(1)において、「k」は排気側制御ユニット7aの離散時間的な制御サイクルの番数を示し、「d1」は排気系Eの無駄時間(詳しくは、LAFセンサ5が検出する各時点の触媒上流空燃比がO2センサ6の出力VO2/OUTに反映されるようになるまでに要する時間)を制御サイクル数で表したものである。この場合、排気系Eの実際の無駄時間は、触媒装置3に供給される排ガスの流量と密接に関連しており、基本的には、該排ガス流量が少ないほど、該無駄時間が長くなる。これは基本的には、排ガス流量が少ないほど、排ガスが触媒装置3を通過するのに要する時間が長くなるためである。このため、本実施形態では、後述するように触媒装置3に供給される排ガスの流量を逐次把握し、それに応じて、式(1)の排気系モデルにおける無駄時間d1の値を適宜可変的に設定するようにしている(以下、無駄時間d1の設定値を設定無駄時間d1という)。
【0056】
また、式(1)の右辺第1項及び第2項はそれぞれ排気系Eの応答遅れ要素に対応するもので、第1項は1次目の自己回帰項、第2項は2次目の自己回帰項である。そして、「a1」、「a2」はそれぞれ1次目の自己回帰項のゲイン係数、2次目の自己回帰項のゲイン係数である。該ゲイン係数a1,a2は別の言い方をすれば、排気系Eの出力としてのO2センサ6の偏差出力VO2に係る係数である。
【0057】
さらに、式(1)の右辺第3項は排気系Eの無駄時間要素に対応するもので、排気系Eの入力であるLAFセンサ5の偏差出力kactに排気系Eの無駄時間d1を含めて該無駄時間要素を表現したものである。そして、「b1」はその無駄時間要素(無駄時間d1を有する入力)に係るゲイン係数である。
【0058】
そして、前記ゲイン係数a1,a2,b1は排気系Eのモデルの挙動を確定する上である値に設定すべきパラメータであり、本実施形態では後述の同定器によって逐次同定されるものである。
【0059】
このように式(1)により表現した排気系モデルは、それを言葉で表現すれば、排気側制御ユニット7aの制御サイクル毎の排気系Eの出力としてのO2センサの偏差出力VO2(k+1)を、その制御サイクルよりも過去の制御サイクルにおける偏差出力VO2(k),VO2(k-1)と、排気系Eの無駄時間d1以前の制御サイクルにおける排気系Eの入力(触媒上流空燃比)としてのLAFセンサ5の偏差出力kact(k-d1)との線形和により表現するものである。
【0060】
一方、エンジン1及び機関側制御ユニット7bからなる前記空燃比操作系のモデル(以下、空燃比操作系モデルという)に関しては、本実施形態では、前記目標空燃比KCMDと前記空燃比基準値FLAF/BASEとの偏差kcmd(=KCMD−FLAF/BASE。以下、目標偏差空燃比kcmdという)を空燃比操作系の入力、LAFセンサ5の偏差出力kactを空燃比操作系の出力とし、次式(2)のモデルにより空燃比操作系モデルの挙動が表現されている。
【0061】
【数2】
【0062】
ここで、式(2)の「d2」は、空燃比操作系が有する無駄時間(詳しくは、各時点の目標空燃比KCMDがLAFセンサ5の出力KACTに反映されるようになるまでに要する時間)を排気側制御ユニット7aの制御サイクル数で表したものである。この場合、空燃比操作系の実際の無駄時間は、排気系Eの無駄時間と同様に、触媒装置3に供給される排ガスの流量と密接に関連しており、基本的には、排ガスの流量が少ないほど、該無駄時間が長くなる。これは基本的には、排ガスの流量が少ないほど、エンジン1の回転数が低い(クランク角周期が長い)ので、空燃比操作系の機関側制御ユニット7bの制御サイクルの周期が長くなるからである。このため、本実施形態では、後述するように触媒装置3に供給される排ガスの流量を逐次把握し、それに応じて、式(2)の空燃比操作系モデルにおける無駄時間d2の値を適宜可変的に設定するようにしている(以下、無駄時間d2の設定値を設定無駄時間d2という)。
【0063】
前記式(2)により表現した空燃比操作系モデルは、該空燃比操作系が、その出力(触媒上流空燃比)としてのLAFセンサ5の偏差出力kactが、空燃比操作系の無駄時間d2前の時点における空燃比操作系の入力としての目標偏差空燃比kcmdに一致するような系であるとして、該空燃比操作系の挙動を表現したものである。
【0064】
尚、空燃比操作系には、実際には、無駄時間要素の他、エンジン1に起因した応答遅れ要素も含まれる。しかるに、目標空燃比KCMDに対する触媒上流空燃比の応答遅れは、基本的には前記機関側制御ユニット7bのフィードバック制御部14(特に詳細を後述する適応制御器18)によって補償されるため、排気側制御ユニット7aから見た空燃比操作系では、エンジン1に起因する応答遅れ要素を考慮せずとも支障はない。
【0065】
本実施形態における前記目標空燃比生成処理部13は、式(1)により表した排気系モデル、並びに式(2)により表した空燃比操作系モデルに基づいて構築されたアルゴリズムによって、排気側制御ユニット7aの制御サイクル毎に、目標空燃比KCMDを逐次算出する処理を行うものである。そして、該目標空燃比生成処理部13は、その処理を行うために、図3に示すような機能的構成を具備している。
【0066】
すなわち、目標空燃比生成処理部13は、エンジン1の回転数NE、吸気圧PBの検出値から、触媒装置3に供給される排ガスの流量の推定値ABSV(以下、推定排ガスボリュームAB SVという)を逐次算出する流量データ生成手段28と、この推定排ガスボリュームABSVに応じて排気系モデル及び空燃比操作系モデルのそれぞれの設定無駄時間d1,d2を逐次設定する無駄時間設定手段29とを具備している。
【0067】
この場合、触媒装置3に供給される排ガスの流量は、エンジン1の回転数NEと吸気圧PBとの積に比例するので、流量データ生成手段28は、エンジン1の回転数NE、吸気圧PBの検出値(現在値)から次式(3)により、前記推定排ガスボリュームABSVを逐次算出する。
【0068】
【数3】
【0069】
ここで、式(3)においてSVP RAは、エンジン1の排気量(気筒容量)等に応じてあらかじめ設定された定数である。尚、本実施形態では、エンジン1の回転数NEが1500rpmであるときの排ガスの流量を基準としているため、式(3)では、回転数NEを1500[rpm]により除算している。
【0070】
前記無駄時間設定手段29は、このように流量データ生成手段28が逐次算出する推定排ガスボリュームABSVの値から、例えば図4に実線cで示すようにあらかじめ設定されたデータテーブルにより、排気系Eの実際の無駄時間を表す値としての設定無駄時間d1を逐次求める。また、これと同様に、無駄時間設定手段29は、推定排ガスボリュームABSVの値から、図4に実線dで示すようにあらかじめ設定されたデータテーブルにより、空燃比操作系の実際の無駄時間を表す値としての設定無駄時間d2を逐次求める。
【0071】
この場合、このようなデータテーブルは、実験やシミュレーションに基づいて設定されている。そして、排気系Eの実際の無駄時間は、前述のように、基本的には触媒装置3に供給される排ガスの流量が少ないほど、長くなるので、図4の実線cの設定無駄時間d1は、このような傾向で、推定排ガスボリュームABSVに対して変化する。同様に、空燃比操作系の実際の無駄時間も、基本的には、触媒装置3に供給される排ガスの流量が少ないほど、長くなるので、図4の実線dの設定無駄時間d2も、このような傾向で、推定排ガスボリュームABSVに対して変化する。また、空燃比操作系の実際の無駄時間の排ガス流量に対する変化の度合いは、排気系Eの実際の無駄時間の変化度合いよりも小さいので、図4のデータテーブルにおいても、推定排ガスボリュームABSVの変化に対する設定無駄時間d2の変化の度合いは、設定無駄時間d1の変化度合いよりも小さいものとなっている。
【0072】
尚、図4のデータテーブルでは、設定無駄時間d1,d2は、推定排ガスボリュムABSVに対して連続的に変化するものとなっているが、前記排気系モデルや空燃比操作系モデルにおける設定無駄時間d1,d2は排気側制御ユニット7aの制御サイクル数で表すため、該設定無駄時間d1,d2は整数値である必要がある。このため、無駄時間設定手段29は、実際には、例えば図4のデータテーブルに基づいて求められる設定無駄時間d1,d2の値の小数点以下を四捨五入してなる整数値を設定無駄時間d1,d2として求める。
【0073】
また、本実施形態では、触媒装置3に供給される排ガス流量を、エンジン1の回転数NE及び吸気圧PBから推定するようにしているが、フローセンサ等を用いて直接的に排ガス流量を検出するようにしてもよい。
【0074】
目標空燃比生成処理部13は、さらに、排気系モデルのパラメータである前記ゲイン係数a1,a2,b1の値を逐次同定する同定器25(同定手段)と、排気系Eの設定無駄時間d1及び空燃比操作系の設定無駄時間d2を合わせた合計設定無駄時間d(=d1+d2)後のO2センサ6の偏差出力VO2(これは偏差出力VO2の未来値である)の推定値VO2バー(以下、推定偏差出力VO2バーという)を逐次求める推定器26(推定手段)と、適応スライディングモード制御の処理により前記目標空燃比KCMDを逐次求めるスライディングモード制御器27(操作量生成手段)とを具備している。
【0075】
これらの同定器25、推定器26及びスライディングモード制御器27の演算処理のアルゴリズムは排気系モデルや空燃比操作系モデルに基づいて以下のように構築されている。
【0076】
まず、同定器25に関し、排気系モデルのゲイン係数a1,a2,b1に対応する実際の排気系Eのゲイン係数は一般に該排気系Eの挙動状態や経時的な特性変化等によって変化する。従って、排気系モデル(式(1))の実際の排気系Eに対するモデル化誤差を極力少なくして該モデルの精度を高めるためには、ゲイン係数a1,a2,b1を実際の対象排気系Eの挙動状態等に則して適宜、リアルタイムで同定することが好ましい。
【0077】
前記同定器25は、上記のように排気系モデルのモデル化誤差を極力小さくするために、ゲイン係数a1,a2,b1をリアルタイムで逐次同定するものであり、その同定処理は次のように行われる。
【0078】
すなわち、同定器25は、排気側制御ユニット7aの制御サイクル毎に、まず、今現在設定されている排気系モデルの同定ゲイン係数a1ハット,a2ハット,b1ハット、すなわち前回の制御サイクルで決定した同定ゲイン係数a1(k-1)ハット,a2(k-1)ハット,b1(k-1)ハットと、LAFセンサ5の偏差出力kact及びO2センサ6の偏差出力VO2の過去に得られたデータと、前記無駄時間設定手段29により設定された排気系Eの設定無駄時間d1の最新値とを用いて、次式(4)により今現在設定されている排気系モデル上でのO2センサ6の偏差出力VO2の同定値VO2(k)ハット(以下、同定偏差出力VO2(k)ハットという)を求める。
【0079】
【数4】
【0080】
この式(4)は、排気系モデルを表す前記式(1)を1制御サイクル分、過去側にシフトし、ゲイン係数a1,a2,b1を同定ゲイン係数a1ハット(k-1),a2ハット(k-1),b1ハット(k-1)で置き換えると共に、排気系Eの無駄時間d1として設定無駄時間d1の最新値を用いたものである。
【0081】
ここで、次式(5),(6)で定義されるベクトルΘ及びξを導入すると(式(5),(6)中の添え字「T」は転置を意味する。以下同様。)、
【0082】
【数5】
【0083】
【数6】
【0084】
前記式(4)は、次式(7)により表される。
【0085】
【数7】
【0086】
さらに同定器25は、前記式(4)あるいは式(7)により求められるO2センサ6の同定偏差出力VO2(k)ハットと今現在のO2センサ6の偏差出力VO2(k)との偏差id/e(k)を排気系モデルの実際の排気系Eに対する基本的なモデル化誤差を表すものとして次式(8)により逐次求める(以下、偏差id/eを同定偏差id/eという)。
【0087】
【数8】
【0088】
ここで、前記ゲイン係数a1,a2,b1を同定するためには、基本的には、上記同定偏差id/eを最小化するように、逐次型最小2乗法等のアルゴリズムにより、同定ゲイン係数a1ハット,a2ハット,b1ハットの値を求めるようにすればよい。しかるに、前記排気系Eの入力変化に対する出力変化のゲインの周波数特性、すなわち、触媒上流空燃比の変化に対するO2センサの出力変化のゲインの周波数特性(以下、単に排気系Eの周波数特性という)は、図5に実線グラフp,qで示すようにローパス特性を有する。このため、仮に、上記同定偏差id/eそのものを最小化するように同定器25によりゲイン係数a1,a2,b1の値を同定した場合、その同定重みの周波数特性は、図6に破線グラフr,sで示すように、排気系Eの周波数特性と逆に、低周波側よりも高周波側で重みが高いものとなる。これは、高周波側では、排気系Eの入力変化に対する出力変化のゲインが小さいために、上記同定偏差id/eがより最小化しやすいためである。そして、このように同定重みの周波数特性が、排気系Eの周波数特性と逆に、低周波側よりも高周波側で重みが高いものとなると、ゲイン係数a1,a2,b1の同定値により定まる排気系モデルの周波数特性は、排気系Eの実際の周波数特性に対する整合性が低下する(具体的には、実際の周波数特性よりも低周波側におけるゲインが低くなりやすい)。
【0089】
また、排気系Eの周波数特性は、エンジン1の運転状態等によって変化し、特に、エンジン1の低速回転域では、排気系Eを流れる排ガスの流量の影響を受け易い。すなわち、図5に示したように、排気系Eの周波数特性は、排ガス流量の影響を受け、基本的には、排ガス流量が小さいほど、比較的高ゲインとなる周波数域が低周波側に偏る。そして、この場合、上記同定重みの周波数特性は、図6に示したように、排ガス流量が小さいほど、高周波側での重みが高くなる。従って、排気系モデルの周波数特性と排気系Eの実際の周波数特性との整合性は、排ガス流量が小さいほど、より低下する。
【0090】
上述のような現象に鑑み本実施形態では、同定器25は、制御サイクル毎に逐次求める前記同定偏差id/eにさらにフィルタリング処理を施したものを、排気系モデルと実際の排気系Eとの間の誤差を表す誤差データとして求める。この場合、本実施形態では、そのフィルタリング処理として移動平均処理が用いられる。この移動平均処理は、具体的には、次式(9)により行われる。
【0091】
【数9】
【0092】
すなわち、排気側制御ユニット7aの制御サイクル毎に、同定偏差id/eの最新値及び過去値からなる時間的に連続した所定個数分(N個分)の時系列データid/e(k),id/e(k-1),id/e(k-2),……,id/e(k-N+1)の平均値id/ef(k)が前記誤差データとして逐次求められる(以下、平均値id/ef(k)を誤差データid/e(k)という)。そして、このとき、本実施形態では、誤差データid/e(k)を求めるための同定偏差id/eの個数N、すなわち、移動平均タップ数Nが、流量データ生成手段28により求められた推定排ガスボリュームABSV(これは本発明における特性パラメータに相当する)の最新値から、図7に示すようにあらかじめ定められたデータテーブルに基づいて逐次設定される。図7のデータテーブルでは、移動平均タップ数Nは、基本的には、推定排ガスボリュームABSVが小さい程、多くなるように定められている。また、前記式(9)による移動平均処理のゲインの周波数特性(対周波数ゲイン特性)は、基本的には図8に実線u,vで示すように、ローパス特性のフィルタリング処理である。そして、移動平均タップ数Nが多いほど、該移動平均処理(フィルタリング処理)のゲインが、相対的に高ゲインとなる周波数域は、低周波側に偏る。従って、前記移動平均タップ数Nを推定排ガスボリュームABSVに応じて上述のように可変的に設定することにより、移動平均処理のゲインは、排ガス流量が小さい程、高ゲインとなる周波数域は、低周波側に偏ることとなる。
【0093】
尚、図7のデータテーブルでは、移動平均タップ数Nは、推定排ガスボリュムABSVに対して連続的に変化するものとなっているが、該移動平均タップ数Nは、整数値である必要がある。このため、同定器25は、実際には、例えば図7のデータテーブルに基づいて求められる移動平均タップ数Nの値の小数点以下を四捨五入してなる整数値を前記式(9)で用いる移動平均タップ数Nとして求める。
【0094】
本実施形態における同定器25は、上述のようにして同定偏差id/eに移動平均処理(フィルタリング処理)を施すこととにより求められる前記誤差データid/efを最小にするように新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハット、換言すれば、これらの同定ゲイン係数を要素とする新たな前記ベクトルΘ(k)(以下、このベクトルを同定ゲイン係数ベクトルΘという)を求めるもので、その算出を、次式(10)により行う。すなわち、同定器25は、前回の制御サイクルで決定した同定ゲイン係数a1ハット(k-1),a2ハット(k-1),b1ハット(k-1)を、誤差データid/ef(k)に比例させた量だけ変化させることで新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを求める。
【0095】
【数10】
【0096】
ここで、式(10)中の「Kθ」は次式(11)により決定される三次のベクトル(各同定ゲイン係数a1ハット,a2ハット,b1ハットの誤差データid/efに応じた変化度合いを規定するゲイン係数ベクトル)である。
【0097】
【数11】
【0098】
また、上式(11)中の「P」は次式(12)の漸化式により逐次更新される三次の正方行列である。
【0099】
【数12】
【0100】
尚、式(12)中の「λ1」、「λ2」は0<λ1≦1及び0≦λ2<2の条件を満たすように設定され、また、「P」の初期値P(0)は、その各対角成分を正の数とする対角行列である。
【0101】
ここで、式(12)中の「λ1」、「λ2」の値の設定の仕方によって、固定ゲイン法、漸減ゲイン法、重み付き最小二乗法、最小二乗法、固定トレース法等、各種の具体的なアルゴリズムが構成される。本実施形態では、例えば重み付き最小二乗法のアルゴリズムが採用され、「λ1」、「λ2」の値は、0<λ1<1、λ2=1である。
【0102】
ここで、「λ1」は、重み付き最小2乗法の重みパラメータであり、本実施形態では、この重みパラメータλ1の値は、前記流量データ生成手段28が逐次算出する推定排ガスボリュームABSVに応じて(結果的には、設定無駄時間d1に応じて)可変的に設定される。
【0103】
すなわち、本実施形態では、同定器25は、排気側制御ユニット7aの制御サイクル毎に、流量データ生成手段28が求めた推定排ガスボリュームABSVの最新値から、図8に示すようにあらかじめ定められたデータテーブルに基づいて重みパラメータλ1の値を設定する。この場合、図8のデータテーブルでは、重みパラメータλ1の値は、基本的には、推定排ガスボリュームABSVが少ないほど、値が大きくなって、「1」に近づくようになっている。そして、同定器25は、各制御サイクルで前記行列P(k)を式(12)により更新するに際しては、上記のように推定排ガスボリュームABSVに応じて設定した重みパラメータλ1の値を用いる。尚、このように重みパラメータλ1の値を推定排ガスボリュームABSVに応じて設定するのは、次の理由による。すなわち、排ガス流量が比較的低いときに排気系Eが実際に有する無駄時間が増加し、それによるO2センサ6の出力の制御性が低下する。そこで、この出力の変動量が増大することに伴う同定ゲイン係数a1,a2,b1の変動やばらつきを抑制するために重みパラメータλ1の値を推定排ガスボリュームABSVに応じて設定する。
【0104】
本実施形態における同定器25は基本的には前述のようなアルゴリズム(演算処理)によって、前記誤差データid/efを最小化するように逐次型の重み付き最小2乗法のアルゴリズムにより、排気系モデルの同定ゲイン係数a1ハット,a2ハット,b1ハットを制御サイクル毎に逐次求めるものである。この場合、前記誤差データid/efは、前記同定偏差id/eに前述のようにフィルタリング処理(移動平均処理)を施したものであるため、同定器25の実質的な同定重みの周波数特性は、前記図6に実線グラフtで示すように、高周波側におけるレベルが抑制されたものとなる。また、この場合、同定偏差id/eに施す移動平均処理の移動平均タップ数Nが排ガス流量の推定値である推定排ガスボリュームABSVに応じて適宜変更されることにより、同定重みの周波数特性は、排ガス流量によらずに、ほぼ、図6に実線グラフtで示した特性に維持される。この結果、排気系モデルの周波数特性と排気系Eの周波数特性とが排ガス流量によらずに整合するような同定ゲイン係数a1ハット,a2ハット,b1ハットが同定器25により求められることとなる。
【0105】
以上説明した演算処理が同定器25による基本的な処理内容である。尚、本実施形態では、図10(a)のブロック図で示すように、前記式(10)で用いる誤差データid/efを、前記同定偏差id/eそのものにフィルタリング処理(移動平均処理)を施すことで得るようにした。但し、該フィルタリング処理は、結果的に、同定偏差id/eに施されていればよい。このため、例えば、図10(b)のブロック図に示すように、前記式(7)(≡(4))により求められる同定偏差出力VO2ハットとO2センサ6の偏差出力VO2とに、それぞれ各別にフィルタリング処理を施したものの偏差を前記式(10)で用いる誤差データid/efとして求めるようにしてもよい。この場合、同定偏差出力VO2ハットとO2センサ6の偏差出力VO2とにそれぞれ施すフィルタリング処理は、互いに同一特性で且つ図8の実線グラフで示したものと同様の特性のものである。あるいは、図10(c)のブロック図に示すように、LAFセンサ5の偏差出力kactと、O2センサ6の偏差出力VO2とにそれぞれ各別にフィルタリング処理を施した上で、そのフィルタリング処理後の偏差出力kact,VO2とを用いて前記式(7)により求められる同定偏差出力VO2ハットと、当該フィルタリング処理後の偏差出力VO2との偏差を式(10)で用いる誤差データとして求めるようにしてもよい。この場合、各偏差出力kact,VO2にそれぞれ施すフィルタリング処理は、互いに同一特性で且つ図8の実線グラフで示したものと同様の特性のものである。
【0106】
また、本実施形態では、同定器25は、同定ゲイン係数a1ハット,a2ハット,b1ハットを求めるに際して、それらの値の制限処理等、付加的な処理も行うのであるが、これらについては後述する。
【0107】
次に、前記推定器26は、後に詳細を説明するスライディングモード制御器27による目標空燃比KCMDの算出処理に際しての排気系Eの無駄時間及び空燃比操作系の無駄時間d2の影響を補償するために、前記合計設定無駄時間d(=d1+d2)後のO2センサ6の偏差出力VO2の推定値である前記推定偏差出力VO2バーを制御サイクル毎に逐次求めるものである。その推定処理のアルゴリズムは、次のように構築されている。
【0108】
まず、排気系モデルを表す前記式(1)に、空燃比操作系モデルを表す式(2)を適用すると、式(1)は次式(13)に書き換えられる。
【0109】
【数13】
【0110】
この式(13)は、排気系E及び空燃比操作系を合わせた系を、目標偏差空燃比kcmdから排気系E及び空燃比操作系の両者の無駄時間要素と排気系Eの応答遅れ要素とを介してO2センサ6の偏差出力VO2を生成する系として、該系の挙動を離散時間系で表現したものである。
【0111】
そして、この式(13)を用いることで、各制御サイクルにおける合計設定無駄時間d後のO2センサの偏差出力VO2(k+d)バーは、O2センサ6の偏差出力VO2の現在値及び過去値の時系列データVO2(k)及びVO2(k-1)と、スライディングモード制御器27が求める目標空燃比KCMD(詳細な求め方は後述する)に相当する目標偏差空燃比kcmd(=KCMD−FLAF/BASE)の過去値の時系列データkcmd(k-j)(j=1,2,…,d)とを用いて次式(14)により表される。
【0112】
【数14】
【0113】
ここで、式(14)において、α1,α2は、それぞれ同式(14)中の但し書きで定義した行列Aのべき乗Ad(d=d1+d2)の第1行第1列成分、第1行第2列成分である。また、βj(j=1,2,…,d)は、それぞれ行列Aのべき乗Aj-1(j=1,2,…,d)と同式(14)中の但し書きで定義したベクトルBとの積Aj-1・Bの第1行成分である。
【0114】
さらに、式(14)中の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)(j=1,2,…,d)のうち、現在から空燃比操作系の無駄時間d2以前の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-d2),kcmd(k-d2-1),…,kcmd(k-d)は前記式(2)によって、それぞれ、LAFセンサ5の偏差出力kactの現在以前に得られるデータkact(k),kact(k-1),…,kact(k-d+d2)に置き換えることができる。そして、この置き換えを行うことで、次式(15)が得られる。
【0115】
【数15】
【0116】
この式(15)が本実施形態において、推定器26が推定偏差出力VO2(k+d)バーを制御サイクル毎に逐次算出するための基本式である。つまり、本実施形態では、推定器26は、O2センサ6の偏差出力VO2の現在値及び過去値の時系列データVO2(k)及びVO2(k-1)と、スライディングモード制御器27が過去に求めた目標空燃比KCMDを表す目標偏差空燃比kcmdの過去値のデータkcmd(k-j)(j=1,2,…,d2-1)と、LAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-i)(i=0,1,…,d1)とを用いて式(15)の演算を行うことによってO2センサ6の推定偏差出力VO2(k+d)バーを求める。
【0117】
この場合、式(15)により推定偏差出力VO2(k+d)バーを算出するために必要となる係数値α1,α2及びβj(j=1,2,…,d)の値は、基本的には、前記ゲイン係数a1,a2,b1(これらは式(14)の但し書きで定義した行列A及びベクトルBの成分である)の最新の同定値である同定ゲイン係数a1(k)ハット、a2(k)ハット、b1(k)ハットが用いられる。また、式(15)の演算で必要となる無駄時間d1,d2の値は、前記無駄時間設定手段29が前述のように設定する設定無駄時間d1,d2の最新値が用いられる。
【0118】
ところで、本実施形態では、式(15)で用いる設定無駄時間d1,d2の値は、推定排ガスボリュームABSVによって変化し、これに伴い、式(15)により推定偏差出力VO2(k+d)バーの算出に必要な目標偏差空燃比kcmdのデータ及びLAFセンサ5の偏差出力kactのデータの個数も変化する。そして、この場合、空燃比操作系の設定無駄時間d2の値が「1」となる場合がある(本実施形態ではd1>d2≧1である。図4参照)。この場合には、式(14)中の目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)(j=1,2,…,d)の全てをそれぞれLAFセンサ5の偏差出力kactの現在以前に得られる時系列データkact(k),kact(k-1),…,kact(k-d+d2)に置き換えることができる。このため、この場合には、式(14)は、目標偏差空燃比kcmdのデータを含まない次式(16)に書き換えられる。
【0119】
【数16】
【0120】
つまり、設定無駄時間d2の値が「1」である場合には、O2センサ6の推定偏差出力VO2(k+d)バーは、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、LAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d-1)と、同定ゲイン係数a1ハット、a2ハット、b1ハットにより定まる係数値α1,α2及びβj(j=1,2,…,d)と、設定無駄時間d1,d2の和の合計設定無駄時間d(=d1+d2)とを用いて求めることができる。
【0121】
このため、本実施形態では、推定器26は、空燃比操作系の設定無駄時間d2がd2>1である場合には、前記式(15)の演算により推定偏差出力VO2(k+d)バーを求め、d2=1である場合には、式(16)の演算により推定偏差出力VO2(k+d)を求める。
【0122】
尚、推定偏差出力VO2(k+d)バーは、LAFセンサ5の偏差出力kactのデータを使用せずに、式(14)の演算により求めるようにしてもよい。この場合には、O2センサ6の推定偏差出力VO2(k+d)バーは、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、目標偏差空燃比kcmdの過去値の時系列データkcmd(k-j)(j=1,2,…,d)と、同定ゲイン係数a1ハット、a2ハット、b1ハットにより定まる係数値α1,α2及びβj(j=1,2,…,d)と、設定無駄時間d1,d2の和の合計設定無駄時間d(=d1+d2)とを用いて求められることとなる。さらには、式(14)中の設定無駄時間d2以前の目標偏差空燃比kcmdの時系列データのうちの一部のみをLAFセンサ5の偏差出力kactに置き換えた式によって推定偏差出力VO2(k+d)バーを求めることも可能である。但し、推定偏差出力VO2(k+d)バーの信頼性を高める上では、エンジン1等の実際の挙動が反映されるLAFセンサ5の偏差出力kactのデータを可能な限り用いた式(15)又は式(16)の演算により推定偏差出力VO2(k+d)バーを求めることが好ましい。
【0123】
以上説明した演算処理のアルゴリズムが、推定器26により制御サイクル毎にO2センサ6の偏差出力VO2の合計設定無駄時間d後の推定値である推定偏差出力VO2(k+d)バーを求めるための基本的なアルゴリズムである。
【0124】
次に、前記スライディングモード制御器27を説明する。
【0125】
スライディングモード制御器27は、通常的なスライディングモード制御に外乱等の影響を極力排除するための適応則(適応アルゴリズム)を加味した適応スライディングモード制御の処理により、O2センサ6の出力VO2/OUTをその目標値VO2/TARGETに収束させるように(O2センサ6の偏差出力VO2を「0」に収束させるように)、排気系Eに与えるべき入力量(詳しくは、LAFセンサ5の出力KACT(触媒上流空燃比の検出値)と前記空燃比基準値FLAF/BASEとの偏差の目標値で、これは前記目標偏差空燃比kcmdに等しい。以下、この入力量をSLD操作入力Uslと称する)を逐次算出し、その算出したSLD操作入力Uslから前記目標空燃比KCMDを逐次求めるものである。そして、その処理のためのアルゴリズムは次のように構築されている。
【0126】
まず、スライディングモード制御器27の適応スライディングモード制御の処理に必要な切換関数とこの切換関数により定義される超平面(これはすべり面とも言われる)とについて説明する。
【0127】
本実施形態におけるスライディングモード制御の基本的な考え方としては、制御すべき状態量として、例えば各制御サイクルで得られたO2センサ6の偏差出力VO2(k)と、その1制御サイクル前に得られた偏差出力VO2(k-1)とを用い、スライディングモード制御用の切換関数σを次式(17)により定義する。すなわち、該切換関数σは、O2センサ6の偏差出力VO2の時系列データVO2(k)、VO2(k-1)を成分とする線形関数により定義される。尚、前記偏差出力VO2(k),VO2(k-1)を成分とするベクトルとして式(17)中で定義したベクトルXを以下、状態量Xという。
【0128】
【数17】
【0129】
この場合、切換関数σの成分VO2(k)、VO2(k-1)にそれぞれ係る係数s1,s2は、次式(18)の条件を満たすように設定される。
【0130】
【数18】
【0131】
尚、本実施形態では、簡略化のために係数s1をs1=1とし(この場合、s2/s1=s2である)、−1<s2<1の条件を満たすように係数s2の値を設定している。
【0132】
このように切換関数σを定義したとき、スライディングモード制御用の超平面はσ=0なる式によって定義されるものである。この場合、状態量Xは二次系であるので超平面σ=0は図11に示すように直線となる。該超平面は位相空間の次数によって切換線又は切換面とも言われる
尚、本実施形態では、切換関数の変数成分である状態量として、実際には前記推定器26により求められる前記推定偏差出力VO2バーの時系列データを用いるのであるがこれについては後述する。
【0133】
本実施形態で用いる適応スライディングモード制御は、状態量X=(VO2(k),VO2(k-1))を上記の如く設定した超平面σ=0に収束させる(切換関数σの値を「0」に収束させるための制御則である到達則と、その超平面σ=0への収束に際して外乱等の影響を補償するための制御則である適応則(適応アルゴリズム)とにより該状態量Xを超平面σ=0に収束させる(図11のモード1)。そして、該状態量Xを所謂、等価制御入力によって超平面σ=0に拘束しつつ(切換関数σの値を「0」に保持する)、該状態量Xを超平面σ=0上の平衡点であるVO2(k)=VO2(k-1)=0となる点、すなわち、O2センサ6の出力VO2/OUTの時系列データVO2/OUT(k),VO2/OUT(k-1)が目標値VO2/TARGETに一致するような点に収束させる(図11のモード2)。
【0134】
上記のように状態量Xを超平面σ=0の平衡点に収束させるためにスライディングモード制御器27が生成する前記SLD操作入力Usl(=目標偏差空燃比kcmd)は、次式(19)のように、状態量Xを超平面σ=0上に拘束するための制御則に従って排気系Eに与えるべき入力量成分である等価制御入力Ueqと、前記到達則に従って排気系Eに与えるべき入力量成分Urch(以下、到達則入力Urchという)と、前記適応則に従って排気系Eに与えるべき入力量成分Uadp(以下、適応則入力Uadpという)との総和により表される。
【0135】
【数19】
【0136】
そして、これらの等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpは、本実施形態では、排気系モデルと空燃比操作系モデルとを合わせた前記式(13)に基づいて、次のように求められる。
【0137】
まず、状態量Xを超平面σ=0に拘束するために排気系Eに与えるべき入力量成分である前記等価制御入力Ueqは、σ(k+1)=σ(k)=0という条件を満たす目標偏差空燃比kcmdである。そして、このような条件を満たす等価制御入力Ueqは、式(13)と式(17)とを用いて次式(20)により与えられる。
【0138】
【数20】
【0139】
この式(20)が本実施形態において、制御サイクル毎に等価制御入力Ueq(k)を求めるための基本式である。
【0140】
次に、前記到達則入力Urchは、本実施形態では、基本的には次式(21)により求められる。
【0141】
【数21】
【0142】
すなわち、到達則入力Urchは、排気系E及び空燃比操作系の無駄時間を考慮し、前記合計設定無駄時間d後の切換関数σの値σ(k+d)に比例するように決定される。
【0143】
この場合、式(21)中の係数F(これは到達則のゲインを規定する)は、次式(22)の条件を満たすように設定される。
【0144】
【数22】
【0145】
この式(22)の条件は、外乱等が無い場合において、切換関数σの値を安定に超平面σ=0に収束させるための条件である。尚、式(22)中の好ましい条件は、切換関数σの値が超平面σ=0に対して振動的な変化(所謂チャタリング)を生じるのを抑制する上で好適な条件である。
【0146】
次に、前記適応則入力Uadpは、本実施形態では、基本的には次式(23)により求められる。ここで、式(23)中のΔTは排気側制御ユニット7aの制御サイクルの周期である)。
【0147】
【数23】
【0148】
すなわち、適応則入力Uadpは、排気系E及び空燃比操作系の無駄時間を考慮し、前記合計設定無駄時間d後までの切換関数σの値と排気側制御ユニット7aの制御サイクルの周期ΔTとの積の積算値(これは切換関数σの値の積分値に相当する)に比例させるように決定する。
【0149】
この場合、式(23)中の係数G(これは適応則のゲインを規定する)は、次式(24)の条件を満たすように設定する。
【0150】
【数24】
【0151】
この式(24)の条件は、外乱等によらずに切換関数σの値を安定に超平面σ=0に収束させるための条件である。
【0152】
尚、前記式(18)、(22)、(24)の設定条件のより具体的な導出の仕方については、本願出願人が既に特開平11-93741号公報等にて詳細に説明しているので、ここでは詳細な説明を省略する。
【0153】
本実施形態におけるスライディングモード制御器27は、基本的には前記式(20)、(21)、(23)により決定される等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpの総和(Ueq+Urch+Uadp)を排気系Eに与えるべきSLD操作入力Uslとして決定するのであるが、前記式(20)、(21)、(23)で使用するO2センサ6の偏差出力VO2(k+d),VO2(k+d-1)や、切換関数σの値σ(k+d)等は未来値であるので直接的には得られない。
【0154】
そこで、本実施形態では、スライディングモード制御器27は、実際には、前記式(20)により前記等価制御入力Ueqを決定するためのO2センサ6の偏差出力VO2(k+d),VO2(k+d-1)の代わりに、前記推定器26で求められる推定偏差出力VO2(k+d)バー,VO2(k+d-1)バーを用い、次式(25)により制御サイクル毎の等価制御入力Ueqを算出する。
【0155】
【数25】
【0156】
また、本実施形態では、実際には、推定器26により前述の如く逐次求められた推定偏差出力VO2バーの時系列データを制御すべき状態量とし、前記式(17)により設定された切換関数σに代えて、次式(26)により切換関数σバーを定義する(この線形関数σバーは、前記式(17)の偏差出力VO2の時系列データを推定偏差出力VO2バーの時系列データで置き換えたものに相当する)。
【0157】
【数26】
【0158】
そして、スライディングモード制御器27は、前記式(21)により前記到達則入力Urchを決定するための切換関数σの値の代わりに、前記式(26)により表される切換関数σバーの値を用いて次式(27)により制御サイクル毎の到達則入力Urchを算出する。
【0159】
【数27】
【0160】
同様に、スライディングモード制御器27は、前記式(23)により前記適応則入力Uadpを決定するための切換関数σの値の代わりに、前記式(26)により表される線形関数σバーの値を用いて次式(28)により制御サイクル毎の適応則入力Uadpを算出する。
【0161】
【数28】
【0162】
尚、前記式(25),(27),(28)により等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを算出する際に必要となる前記ゲイン係数a1,a2,b1としては、本実施形態では基本的には前記同定器25により求められた最新の同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットが用いられる。また、到達則入力Urch及び適応則入力Uadpを算出する際に必要となる各制御サイクルにおける切換関数σバーの値は、推定器26により求められた最新の推定偏差出力VO2(k+d)バーと、その1制御サイクル前に推定器26により求められた推定偏差出力VO2(k+d-1)バーである。
【0163】
そして、スライディングモード制御器27は、前記式(25)、(27)、(28)によりそれぞれ求められる等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpの総和を排気系Eに与えるべき前記SLD操作入力Uslとして求める(前
記式(19)を参照)。尚、この場合において、前記式(25)、(27)、(28)中で用いる前記係数s1,s2,F,Gの設定条件は前述の通りである。
【0164】
これが、本実施形態において、スライディングモード制御器27により、排気系Eに与えるべきSLD操作入力Usl(=目標偏差空燃比kcmd)を制御サイクル毎に求めるための基本的なアルゴリズムである。このようにしてSLD操作入力Uslを求めることで、該SLD操作入力Uslは、O2センサ6の推定偏差出力VO2バーを「0」に収束させるように(結果的にはO2センサ6の出力VO2/OUTを目標値VO2/TARGETに収束させるように)求められる。
【0165】
ところで、本実施形態におけるスライディングモード制御器27は最終的には前記目標空燃比KCMDを制御サイクル毎に逐次求めるものあるが、前述のように求められるSLD操作入力Uslは、LAFセンサ5で検出される触媒上流空燃比と前記空燃比基準値FLAF/BASEとの偏差の目標値、すなわち前記目標偏差空燃比kcmdである。このため、スライディングモード制御器27は、最終的には、次式(29)に示すように、制御サイクル毎に、前述の如く求めたSLD操作入力Usl(k)に空燃比基準値FLAF/BASEを加算することで、目標空燃比KCMD(k)を求める。
【0166】
【数29】
【0167】
以上が本実施形態でスライディングモード制御器27により目標空燃比KCMDを逐次求めるための基本的アルゴリズムである。
【0168】
尚、本実施形態では、スライディングモード制御器27による適応スライディングモード制御の安定性を判別して、前記SLD操作入力Uslの値を制限したりするのであるが、これについては後述する。
【0169】
次に、前記機関側制御ユニット7bの大局的フィードバック制御部15、特に前記適応制御器18をさらに説明する。
【0170】
前記図1を参照して、大局的フィードバック制御部15は、前述のようにLAFセンサ5の出力KACTを目標空燃比KCMDに収束させるようにフィードバック制御を行うものである。このとき、このようなフィードバック制御を周知のPID制御だけで行うようにすると、エンジン1の運転状態の変化や経年的特性変化等、動的な挙動変化に対して、安定した制御性を確保することが困難である。
【0171】
前記適応制御器18は、上記のようなエンジン1の動的な挙動変化を補償したフィードバック制御を可能とする漸化式形式の制御器であり、I.D.ランダウ等により提唱されているパラメータ調整則を用いて、図12に示すように、複数の適応パラメータを設定するパラメータ調整部30と、設定された適応パラメータを用いて前記フィードバック操作量KSTRを算出する操作量算出部31とにより構成されている。
【0172】
ここで、パラメータ調整部30について説明すると、ランダウ等の調整則では、離散系の制御対象の伝達関数B(Z-1)/A(Z-1)の分母分子の多項式を一般的に下記の式(30),(31)のようにおいたとき、パラメータ調整部30が設定する適応パラメータθハット(j)(jは機関側制御ユニット7bの制御サイクルの番数を示す)は、式(32)のようにベクトル(転置ベクトル)で表される。また、パラメータ調整部30への入力ζ(j)は、式(33)のように表される。この場合、本実施形態では、大局的フィードバック制御部15の制御対象であるエンジン1が一次系で3制御サイクル分の無駄時間dp(エンジン1の燃焼サイクルの3サイクル分の時間)を持つプラントと考え、式(30)〜式(33)でm=n=1,dp=3とし、設定する適応パラメータはs0,r1,r2,r3,b0の5個とした(図12参照)。尚、式(33)の上段式及び中段式におけるus,ysは、それぞれ、制御対象への入力(操作量)及び制御対象の出力(制御量)を一般的に表したものであるが、本実施形態では、上記入力をフィードバック操作量KSTR、制御対象(エンジン1)の出力を前記LAFセンサ5の出力KACT(触媒上流空燃比の検出値)とし、パラメータ調整部30への入力ζ( j)を、式(33)の下段式により表す(図12参照)。
【0173】
【数30】
【0174】
【数31】
【0175】
【数32】
【0176】
【数33】
【0177】
ここで、前記式(32)に示される適応パラメータθハットは、適応制御器18のゲインを決定するスカラ量要素b0ハット(j)、操作量を用いて表現される制御要素BRハット(Z-1,j)、及び制御量を用いて表現される制御要素S(Z-1,j)からなり、それぞれ、次式(34)〜(36)により表現される(図12の操作量算出部31のブロック図を参照)。
【0178】
【数34】
【0179】
【数35】
【0180】
【数36】
【0181】
パラメータ調整部30は、これらのスカラ量要素や制御要素の各係数を設定して、それを式(32)に示す適応パラメータθハットとして操作量算出部31に与えるもので、現在から過去に渡るフィードバック操作量KSTRの時系列データとLAFセンサ5の出力KACTとを用いて、該出力KACTが前記目標空燃比KCMDに一致するように、適応パラメータθハットを算出する。
【0182】
この場合、具体的には、適応パラメータθハットは、次式(37)により算出する。
【0183】
【数37】
【0184】
同式(37)において、Γ(j)は、適応パラメータθハットの設定速度を決定するゲイン行列(この行列の次数はm+n+dp)、eアスタリスク(j)は、適応パラメータθハットの推定誤差を示すもので、それぞれ式(38),(39)のような漸化式で表される。
【0185】
【数38】
【0186】
【数39】
【0187】
ここで、式(39)中の「D(Z-1)」は、収束性を調整するための、漸近安定な多項式であり、本実施形態ではD(Z-1)=1としている。
【0188】
尚、式(38)のλ1(j),λ2(j)の選び方により、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定トレースアルゴリズム、固定ゲインアルゴリズム等の種々の具体的なアルゴリズムが得られる。エンジン1の燃料噴射あるいは空燃比等の時変プラントでは、漸減ゲインアルゴリズム、可変ゲインアルゴリズム、固定ゲインアルゴリズム、および固定トレースアルゴリズムのいずれもが適している。
【0189】
前述のようにパラメータ調整部30により設定される適応パラメータθハット(s0,r1,r2,r3,b0)と、前記目標空燃比生成処理部13により決定される目標空燃比KCMDとを用いて、操作量算出部31は、次式(40)の漸化式により、フィードバック操作量KSTRを求める。図12の操作量算出部31は、同式(40)の演算をブロック図で表したものである。
【0190】
【数40】
【0191】
尚、式(40)により求められるフィードバック操作量KSTRは、LAFセンサ5の出力KACTが目標空燃比KCMDに一致する状態において、「目標空燃比KCMD」となる。このために、前述の如く、フィードバック操作量KSTRを除算処理部19によって目標空燃比KCMDで除算することで、前記フィードバック補正係数KFBとして使用できるフィードバック操作量kstrを求めるようにしている。
【0192】
このように構築された適応制御器18は、前述したことから明らかなように、制御対象であるエンジン1の動的な挙動変化を考慮した漸化式形式の制御器であり、換言すれば、エンジン1の動的な挙動変化を補償するために、漸化式形式で記述された制御器である。そして、より詳しくは、漸化式形式の適応パラメータ調整機構を備えた制御器と定義することができる。
【0193】
尚、この種の漸化式形式の制御器は、所謂、最適レギュレータを用いて構築する場合もあるが、この場合には、一般にはパラメータ調整機構は備えられておらず、エンジン1の動的な挙動変化を補償する上では、前述のように構成された適応制御器18が好適である。
【0194】
以上が、本実施形態で採用した適応制御器18の詳細である。
【0195】
尚、適応制御器18と共に、大局的フィードバック制御部15に具備したPID制御器17は、一般のPID制御と同様に、LAFセンサ5の出力KACTと、その目標空燃比KCMDとの偏差から、比例項(P項)、積分項(I項)及び微分項(D項)を算出し、それらの各項の総和をフィードバック操作量KLAFとして算出する。この場合、本実施形態では、積分項(I項)の初期値を「1」とすることで、LAFセンサ5の出力KACTが目標空燃比KCMDに一致する状態において、フィードバック操作量KLAFが「1」になるようにし、該フィードバック操作量KLAFをそのまま燃料噴射量を補正するための前記フィードバック補正係数KFBとして使用することができるようしている。また、比例項、積分項及び微分項のゲインは、エンジン1の回転数と吸気圧とから、あらかじめ定められたマップを用いて決定される。
【0196】
また、大局的フィードバック制御部15の前記切換部20は、エンジン1の冷却水温の低温時や、高速回転運転時、吸気圧の低圧時等、エンジン1の燃焼が不安定なものとなりやすい場合、あるいは、目標空燃比KCMDの変化が大きい時や、空燃比のフィードバック制御の開始直後等、これに応じたLAFセンサ6の出力KACTが、そのLAFセンサ5の応答遅れ等によって、信頼性に欠ける場合、あるいは、エンジン1のアイドル運転時のようにエンジン1の運転状態が極めて安定していて、適応制御器18による高ゲイン制御を必要としない場合には、PID制御器17により求められるフィードバック操作量KLAFを燃料噴射量を補正するためのフィードバック補正量数KFBとして出力する。そして、上記のような場合以外の状態で、適応制御器18により求められるフィードバック操作量KSTRを目標空燃比KCMDで除算してなるフィードバック操作量kstrを燃料噴射量を補正するためのフィードバック補正係数KFBとして出力する。これは、適応制御器18が、高ゲイン制御で、LAFセンサ5の出力KACTを急速に目標空燃比KCMDに収束させるように機能するため、上記のようにエンジン1の燃焼が不安定となったり、LAFセンサ5の出力KACTの信頼性に欠ける等の場合に、適応制御器18のフィードバック操作量KSTRを用いると、かえって空燃比の制御が不安定なものとなる虞れがあるからである。
【0197】
このような切換部20の作動は、例えば特開平8−105345号公報に本願出願人が詳細に開示しているので、ここでは、さらなる説明を省略する。
【0198】
次に本実施形態の装置の作動の詳細を説明する。
【0199】
まず、図13のフローチャートを参照して、前記機関側制御ユニット7bによる処理について説明する。機関側制御ユニット7bは、各気筒毎の出力燃料噴射量#nToutの算出処理をエンジン1のクランク角周期(TDC)と同期した制御サイクルで次のように行う。
【0200】
機関側制御ユニット7bは、まず、前記LAFセンサ5及びO2センサ6を含む各種センサの出力を読み込む(STEPa)。この場合、LAFセンサ5の出力KACT及びO2センサ6の出力VO2/OUTはそれぞれ過去に得られたものを含めて時系列的に図示しないメモリに記憶保持される。
【0201】
次いで、基本燃料噴射量算出部8によって、前述の如くエンジン1の回転数NE及び吸気圧PBに対応する燃料噴射量をスロットル弁の有効開口面積に応じて補正してなる基本燃料噴射量Timが求められる(STEPb)。さらに、第1補正係数算出部9によって、エンジン1の冷却水温やキャニスタのパージ量等に応じた第1補正係数KTOTALが算出される(STEPc)。
【0202】
次いで、機関側制御ユニット7bは、エンジン1の運転モードが排気側制御ユニット7aの目標空燃比生成処理部13が生成する目標空燃比KCMDを使用して燃料噴射量の調整を行う運転モード(以下、通常運転モード)であるか否かの判別処理を行って、該運転モードが通常運転モードであるか否かをそれぞれ値「1」,「0」で表すフラグf/prism/onの値を設定する(STEPd)。
【0203】
上記の判別処理では、図14に示すように、O2センサ6及びLAFセンサ5が活性化しているか否かの判別が行われる(STEPd−1,d−2)。このとき、いずれかが活性化していない場合には、目標空燃比生成処理部13の処理に使用するO2センサ6やLAFセンサ5の検出データを精度よく得ることができない。従って、この場合には、エンジン1の運転モードは通常運転モードではないとされ、フラグf/prism/onの値が「0」にセットされる(STEPd−10)。
【0204】
また、エンジン1のリーン運転中(希薄燃焼運転)であるか否か(STEPd−3)、エンジン1の始動直後の触媒装置3の早期活性化を図るためにエンジン1の点火時期が遅角側に制御されているか否か(STEPd−4)、エンジン1のスロットル弁が略全開であるか否か(STEPd−5)、及びエンジン1への燃料供給の停止中(フュエルカット中)であるか否か(STEPd−6)の判別が行われる。これらのいずれかの条件が成立している場合には、目標空燃比生成処理部13が生成する目標空燃比KCMDを使用してエンジン1の燃料供給を制御することは好ましくないか、もしくは制御することができない。従って、この場合には、エンジン1の運転モードは通常運転モードではないとされ、フラグf/prism/onの値が「0」にセットされる(STEPd−10)。
【0205】
さらに、エンジン1の回転数N E及び吸気圧PBがそれぞれ所定範囲内(正常な範囲内)にあるか否かの判別が行われる(STEPd−7,d−8)。このとき、いずれかが所定範囲内にない場合には、目標空燃比生成処理部13が生成する目標空燃比KCMDを使用してエンジン1の燃料供給を制御することは好ましくない。従って、この場合には、エンジン1の運転モードは通常運転モードではないとされ、フラグf/prism/onの値が「0」にセットされる(STEPd−10)。
【0206】
そして、STEPd−1,d−2,d−7,d−8の条件が満たされ、且つ、STEPd−3,d−4,d−5,d−6の条件が成立していない場合(これは、エンジン1の通常的な運転状態である)に、エンジン1の運転モードが通常運転モードであるとして、フラグf/prism/onの値が「1」にセットされる(STEPd−9)。
【0207】
図13の説明に戻って、上記のようにフラグf/prism/onの値を設定した後、機関側制御ユニット7bは、フラグf/prism/onの値を判断し(STEPe)、f/prism/on=1である場合には、排気側制御ユニット7aの目標空燃比生成処理部13で生成された最新の目標空燃比KCMDを読み込む(STEPf)。また、f/prism/on=0である場合には、目標空燃比KCMDを所定値に設定する(STEPg)。この場合、目標空燃比KCMDとして設定する所定値は、例えばエンジン1の回転数NEや吸気圧PBからあらかじめ定めたマップ等を用いて決定する。
【0208】
次いで、機関側制御ユニット7bは、前記局所的フィードバック制御部16において、前述の如くオブザーバ21によりLAFセンサ5の出力KACTから推定した各気筒毎の実空燃比#nA/Fに基づき、PID制御器22により、各気筒毎のばらつきを解消するようにフィードバック補正係数#nKLAFを算出する(STEPh)。さらに、大局的フィードバック制御部15により、フィードバック補正係数KFBを算出する(STEPi)。
【0209】
この場合、大局的フィードバック制御部15は、前述の如く、PID制御器17により求められるフィードバック操作量KLAFと、適応制御器18により求められるフィードバック操作量KSTRを目標空燃比KCMDで除算してなるフィードバック操作量kstrとから、切換部20によってエンジン1の運転状態等に応じていずれか一方のフィードバック操作量KLAF又はkstrを選択する(通常的には適応制御器18側のフィードバック操作量kstrを選択する)。そして、選択したフィードバック操作量KLAF又はkstrを燃料噴射量を補正するためのフィードバック補正量数KFBとして出力する。
【0210】
尚、フィードバック補正係数KFBを、PID制御器17側のフィードバック操作量KLAFから適応制御器18側のフィードバック操作量kstrに切り換える際には、該補正係数KFBの急変を回避するために、適応制御器18は、その切換えの際の制御サイクルに限り、補正係数KFBを前回の補正係数KFB(=KLAF)に保持するように、フィードバック操作量KSTRを求める。同様に、補正係数KFBを、適応制御器18側のフィードバック操作量kstrからPID制御器17側のフィードバック操作量KLAFに切り換える際には、PID制御器17は、自身が前回の制御サイクルで求めたフィードバック操作量KLAFが、前回の補正係数KFB(=kstr)であったものとして、今回の補正係数KLAFを算出する。
【0211】
上記のようにしてフィードバック補正係数KFBが算出された後、さらに、前記STEPfあるいはSTEPgで決定された目標空燃比KCMDに応じた第2補正係数KCMDMが第2補正係数算出部10により算出される(STEPj)。
【0212】
次いで、機関側制御ユニット7bは、前述のように求められた基本燃料噴射量Timに、第1補正係数KTOTAL、第2補正係数KCMDM、フィードバック補正係数KFB、及び各気筒毎のフィードバック補正係数#nKLAFを乗算することで、各気筒毎の出力燃料噴射量#nToutを求める(STEPk)。そして、この各気筒毎の出力燃料噴射量#nToutが、付着補正部23によって、エンジン1の吸気管の壁面への燃料の付着を考慮した補正を施された後(STEPm)、エンジン1の図示しない燃料噴射装置に出力される(STEPn)。そして、エンジン1にあっては、各気筒毎の出力燃料噴射量#nToutに従って、各気筒への燃料噴射が行われる。
【0213】
以上のような各気筒毎の出力燃料噴射量#nToutの算出及びそれに応じたエンジン1への燃料噴射がエンジン1のクランク角周期に同期したサイクルタイムで逐次行われ、これによりLAFセンサ5の出力KACT(触媒上流空燃比の検出値)が、目標空燃比KCMDに収束するように、エンジン1の空燃比が制御される。この場合、特に、フィードバック補正係数KF Bとして、適応制御器18側のフィードバック操作量kstrを使用している状態では、エンジン1の運転状態の変化や特性変化等の挙動変化に対して、高い安定性を有して、LAFセンサ5の出力KACTが迅速に目標空燃比KCMDに収束制御される。また、エンジン1が有する応答遅れの影響も適正に補償される。
【0214】
一方、前述のようなエンジン1の燃料供給の制御と並行して、前記排気側制御ユニット7aは、一定周期の制御サイクルで図15のフローチャートに示すメインルーチン処理を実行する。
【0215】
すなわち、排気側制御ユニット7aは、まず、目標空燃比生成処理部13の演算処理(詳しくは同定器25、推定器26及びスライディングモード制御器27の演算処理)を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/prism/calの値を設定する(STEP1)。尚、フラグf/prism/calの値は、それが「0」のとき、目標空燃比生成処理部13における演算処理を行わないことを意味し、「1」のとき、その演算処理を行うことを意味する。
【0216】
上記の判別処理は、図16のフローチャートに示すように行われる。すなわち、O2センサ6及びLAFセンサ5が活性化しているか否かの判別が行われる(STEP1−1,1−2)。このとき、いずれかが活性化していない場合には、目標空燃比生成処理部13の処理に使用するO2センサ6及びLAFセンサ5の検出データを精度よく得ることができないため、フラグf/prism/calの値を「0」にセットする(STEP1−6)。さらにこのとき、同定器25の後述する初期化を行うために、その初期化を行うか否かを規定するフラグf/id/resetの値を「1」にセットする(STEP1−7)。ここで、フラグf/id/resetの値は、それが「1」であるとき、同定器25の初期化を行うことを意味し、「0」であるとき、初期化を行わないことを意味する。
【0217】
また、エンジン1のリーン運転中(希薄燃焼運転)であるか否か(STEP1−3)、及びエンジン1の始動直後の触媒装置3の早期活性化を図るためにエンジン1の点火時期が遅角側に制御されているか否か(STEP1−4)の判別が行われる。これらのいずれかの条件が成立している場合には、O2センサ6の出力VO2/OUTを目標値VO2/TARGETに整定させるような目標空燃比KCMDを算出しても、それをエンジン1の燃料供給の制御に使用することはないので、フラグf/prism/calの値を「0」にセットする(STEP1−6)。さらにこのとき、同定器25の初期化を行うために、フラグf/id/resetの値を「1」にセットする(STEP1−7)。
【0218】
図15の説明に戻って、上記のような判別処理を行った後、排気側制御ユニット7aは、さらに、同定器25による前記ゲイン係数a1,a2,b1の同定(更新)処理を実行するか否かの判別処理を行って、その実行の可否を規定するフラグf/id/calの値を設定する(STEP2)。尚、フラグf/id/calの値は、それが「0」のとき、同定器25による前記ゲイン係数a1,a2,b1の同定(更新)処理を行わないことを意味し、「1」のとき、同定(更新)処理を行うことを意味する。
【0219】
このSTEP2の判別処理では、エンジン1のスロットル弁が略全開であるか否か、及びエンジン1への燃料供給の停止中(フュエルカット中)であるか否かの判別が行われる。これらのいずれかの条件が成立している場合には、前記ゲイン係数a1,a2,b1を適正に同定することが困難であるため、フラグf/id/calの値を「0」にセットする。そして、上記のいずれの条件も成立していない場合には、同定器25による前記ゲイン係数a1,a2,b1の同定(更新)処理を実行すべくフラグf/id/calの値を「1」にセットする。
【0220】
次いで、排気側制御ユニット7aは、前記流量データ生成手段28により、エンジン1の回転数NE及び吸気圧PBの最新の検出値(これは前記図13のSTEPaで機関側制御ユニット7bにより取得される)から前記式(3)により推定排ガスボリュームABSVを算出する(STEP3)。そして、排気側制御ユニット7aは、前記無駄時間設定手段29によって、この推定排ガスボリュームABSVの算出値から前記図4のデータテーブルにより排気系E及び空燃比操作系のそれぞれの設定無駄時間d1,d2の値を求める(STEP4)。尚、このSTEP4で求められる設定無駄時間d1,d2の値は、詳しくは、前述したように図4のデータテーブルに求められる値の小数点以下を四捨五入して得られる整数値である。
【0221】
次いで、排気側制御ユニット7aは、前記減算処理部11,12によりそれぞれ最新の前記偏差出力kact(k)(=KACT−FLAF/BASE)及びVO2(k)(=VO2/OUT−VO2/TARGET)を算出する(STEP5)。この場合、減算処理部11,12は、前記図13のSTEPaにおいて取り込まれて図示しないメモリに記憶されたLAFセンサ5の出力KACT及びO2センサ6の出力VO2/OUTの時系列データの中から、最新のものを選択して前記偏差出力kact(k)及びVO2(k)を算出する。そしてこの偏差出力kact(k)及びVO2(k)は、排気側制御ユニット7aにおいて、過去に算出したものを含めて時系列的に図示しないメモリに記憶保持される。
【0222】
次いで、排気側制御ユニット7aは、前記STEP1で設定したフラグf/prism/calの値を判断する(STEP6)。このとき、f/prism/cal=0である場合、すなわち、目標空燃比生成処理部13の演算処理を行わない場合には、スライディングモード制御器27で求めるべき前記SLD操作入力Usl(目標偏差空燃比kcmd)を強制的に所定値に設定する(STEP14)。この場合、該所定値は、例えばあらかじめ定めた固定値(例えば「0」)あるいは前回の制御サイクルで決定したSLD操作入力Uslの値である。
【0223】
尚、このようにSLD操作入力Uslを所定値とした場合において、排気側制御ユニット7aは、その所定値のSLD操作入力Uslに前記基準値FLAF/BASEを加算することで、今回の制御サイクルにおける目標空燃比KCMDを決定し(STEP15)、今回の制御サイクルの処理を終了する。
【0224】
一方、STEP6の判断で、f/prism/cal=1である場合、すなわち、目標空燃比生成処理部13の演算処理を行う場合には、排気側制御ユニット7aは、まず、前記同定器25による演算処理を行う(STEP7)。
【0225】
この同定器25による演算処理は図17のフローチャートに示すように行われる。すなわち、同定器25は、まず、前記STEP2で設定されたフラグf/id/calの値を判断する(STEP7−1)。このときf/id/cal=0であれば、同定器25によるゲイン係数a1,a2,b1の同定処理を行わないので、直ちに図15のメインルーチンに復帰する。
【0226】
一方、f/id/cal=1であれば、同定器25は、さらに該同定器25の初期化に係わる前記フラグf/id/resetの値(これは、前記STEP1でその値が設定される)を判断し(STEP7−2)、f/id/reset=1である場合には、同定器25の初期化を行う(STEP7−3)。この初期化では、前記同定ゲイン係数a1ハット,a2ハット,b1ハットの各値があらかじめ定めた初期値に設定され(式(5)の同定ゲイン係数ベクトルΘの初期化)、また、前記式(12)の行列P(対角行列)の各成分があらかじめ定めた初期値に設定される。さらに、フラグf/id/resetの値は「0」にリセットされる。
【0227】
次いで、同定器25は、前記STEP3で流量データ生成手段28が求めた推定排ガスボリュームABSVの現在値から、前記図7のデータテーブルにより前記式(9)の移動平均処理(フィルタリング処理)の移動平均タップ数Nを求めると共に、前記図9のデータテーブルにより同定器25の重み付き最小2乗法のアルゴリズムの重みパラメータλ1(前記式(11)で用いる重みパラメータλ1)の値を求める(STEP7−4)。尚、この場合、移動平均タップ数Nは、前述したように、図9のデータテーブルから求められる値の小数点以下を四捨五入してなる整数値である。
【0228】
次いで、同定器25は、現在の同定ゲイン係数a1(k-1)ハット,a2(k-1)ハット,b1(k-1)ハットの値と、前記STEP5で制御サイクル毎に算出される偏差出力VO2及びkactの過去値のデータVO2(k-1),VO2(k-2),kact(k-d1-1)とを用いて、前記式(4)により前記同定偏差出力VO2(k)ハットを算出する(STEP7−5)。ここで、この算出に用いる偏差出力kact(k-d1-1)は、より詳しく言えば、前記STEP4で無駄時間設定手段29が設定した排気系Eの設定無駄時間d1により定まる過去時点における偏差出力kactであり、現在の制御サイクルから(d1+1)制御サイクル前の制御サイクルで得られた偏差出力kactである。
【0229】
さらに同定器25は、新たな同定ゲイン係数a1ハット,a2ハット,b1ハットを求める際に使用する前記ベクトルKθ(k)を式(11)により算出した後(STEP7−6)、前記同定偏差id/e(k)(式(8)参照)を算出する(STEP7−7)。
【0230】
さらに同定器25は、この同定偏差id/eの時系列データに対して、前記式(9)により移動平均処理(フィルタリング処理)を施すことにより、前記誤差データid/ef(k)を求める(STEP7−8)。このとき、移動平均タップ数Nは、今回の制御サイクルで前記STEP7−4において求められた値が用いられる。
【0231】
次いで、同定器25は、STEP7−8で求めた誤差データid/ef(k)と、前記STEP7−6で算出したKθ(k)とを用いて前記式(10)により新たな同定ゲイン係数ベクトルΘ(k)、すなわち、新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを算出する(STEP7−9)。
【0232】
このようにして新たな同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを算出した後、同定器25は、該同定ゲイン係数a1ハット,a2ハット,b1ハットの値を、所定の範囲に制限する処理を以下に説明するように行う(STEP7−10)。そして、同定器25は次回の制御サイクルの処理のために前記行列P(k)を前記式(12)により更新した後(STEP7−11)、図15のメインルーチンの処理に復帰する。
【0233】
前記STEP7−10において同定ゲイン係数a1ハット、a2ハット、b1ハットの値を制限する処理は、スライディングモード制御器27により求められる目標空燃比KCMDが高周波振動的な変化を生じるような状況を排除するための処理である。すなわち、本願発明者等の知見によれば、同定ゲイン係数a1ハット、a2ハット、b1ハットの値を特に制限しない場合には、O2センサ6の出力VO2/OUTがその目標値VO2/TARGETに安定して制御されている状態で、スライディングモード制御器27により求められる目標空燃比KCMDが平滑的な時間変化を呈する状況と、高周波振動的な時間変化を呈する状況との二種類の状況とがある。そして、目標空燃比KCMDが平滑的なものとなるか高周波振動的なものとなるかは、特に、排気系モデルの応答遅れ要素(より詳しくは式(1)右辺の1次目の自己回帰項及び2次目の自己回帰項)に係わる同定ゲイン係数a1ハット、a2ハットの値の組み合わせや、排気系モデルの無駄時間要素に係わる同定ゲイン係数b1ハットの値の影響を受ける。
【0234】
このため、STEP7−10の制限処理は、それを大別すると、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを所定の範囲に制限する処理と、同定ゲイン係数b1ハットの値を所定の範囲に制限する処理とがある。この場合、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを制限する範囲と、同定ゲイン係数b1の値を制限する範囲は、次のように設定されている。
【0235】
まず、同定ゲイン係数a1ハット、a2ハットの値の組み合わせを制限するための範囲に関し、本願発明者等の検討によれば、目標空燃比KCMDが平滑的なものとなるか高周波振動的なものとなるかは、前記推定器26が前記推定偏差出力VO2(k+d)バーを求めるために使用する前記係数値α1,α2(これらの係数値α1,α2は前記式(14)中で定義した行列Aのべき乗Adの第1行第1列成分及び第1行第2列成分である)の組み合わせが密接に関連している。
【0236】
具体的には、図18に示すように係数値α1,α2をそれぞれ成分とする座標平面を設定したとき、係数値α1,α2の組により定まる該座標平面上の点が図18の斜線を付した領域(三角形Q1Q2Q3で囲まれた領域(境界を含む)。以下、この領域を推定係数安定領域という)に存するとき、目標空燃比KCMDの時間的変化が平滑的なものとなりやすい。逆に、係数値α1,α2の組により定まる点が上記の推定係数安定領域を逸脱しているような場合には、目標空燃比KCMDの時間的変化が高周波振動的なものとなったり、あるいは、O2センサ6の出力VO2/OUTの目標値VO2/TARGETへの制御性が悪化しやすい。
【0237】
従って、同定ゲイン係数a1ハット、a2ハットの値の組み合わせは、これらの値により定まる係数値α1,α2の組に対応する図18の座標平面上の点が上記推定係数安定領域内に存するように制限することが好ましい。
【0238】
尚、図18において、上記推定係数安定領域を含んで座標平面上に表した三角形領域Q1Q4Q3は、次式(41)により定義される系、すなわち、前記式(14)の右辺のVO2(k)及びVO2(k-1)をそれぞれVO2(k)バー及びVO2(k-1)バー(これらのVO2(k)バー及びVO2(k-1)バーは、それぞれ、推定器26により制御サイクル毎に求められる推定偏差出力及びその1制御サイクル前に求められる推定偏差出力を意味する)により置き換えてなる式により定義される系が、理論上、安定となるような係数値α1,α2の組み合わせを規定する領域である。
【0239】
【数41】
【0240】
すなわち、式(41)により表される系が安定となる条件は、その系の極(これは、次式(42)により与えられる)が複素平面上の単位円内に存在することである。
【0241】
【数42】
【0242】
そして、図18の三角形領域Q1Q4Q3は、上記の条件を満たす係数値α1,α2の組み合わせを規定する領域である。従って、前記推定係数安定領域は、前記式(41)により表される系が安定となるような係数値α1,α2の組み合わせのうち、α1≧0となる組み合わせの領域である。
【0243】
一方、係数値α1,α2は、前記式(14)中の定義から明らかなように、前記合計設定無駄時間dの値をある値に定めたとき、ゲイン係数a1,a2の値の組み合わせにより定まるので、その合計設定無駄時間dの値を用いて逆算的に、係数値α1,α2の組み合わせからゲイン係数a1,a2の値の組み合わせも定まる。従って、係数値α1,α2の好ましい組み合わせを規定する図18の推定係数安定領域は、ゲイン係数a1,a2を座標成分とする図19の座標平面上に変換することができる。
【0244】
ここで、合計設定無駄時間dの値をある値に定めて上記の変換を行うと、該推定係数安定領域は、図19の座標平面上では、例えば同図の仮想線で囲まれた領域(下部に凹凸を有する大略三角形状の領域。以下、同定係数安定領域という)に変換される。すなわち、ゲイン係数a1,a2の値の組により定まる図19の座標平面上の点が、同図の仮想線で囲まれた同定係数安定領域に存するとき、それらのゲイン係数a1,a2の値により定まる係数値α1,α2の組に対応する図18の座標平面上の点が前記推定係数安定領域内に存することとなる。尚、同定係数安定領域は、合計設定無駄時間dの値によって変化するが、これについては後述する。以下の説明では、しばらくの間、合計設定無駄時間dの値は、ある値(ここでの説明では、以下、参照符号dxを付する)に固定されているものとする。
【0245】
従って、同定器25により求める同定ゲイン係数a1ハット、a2ハットの値の組合わせは、基本的には、それらの値により定まる図19の座標平面上の点が前記同定係数安定領域に存するような範囲に制限することが好ましい。
【0246】
但し、図19に仮想線で示した同定係数安定領域の境界の一部(図の下部)は凹凸を有する複雑な形状を呈しているため、実用上、同定ゲイン係数a1ハット、a2ハットの値により定まる図19の座標平面上の点を同定係数安定領域内に制限するための処理が煩雑なものとなりやすい。
【0247】
そこで、本実施形態では、同定係数安定領域(合計設定無駄時間dxに対応する同定係数安定領域)を、例えば図19の実線で囲まれた四角形Q5Q6Q7Q8の領域(境界を直線状に形成した領域。以下、同定係数制限領域という)により大略近似する。この同定係数制限領域(合計設定無駄時間dxに対応する同定係数制限領域)は、図示の如く、|a 1|+a2=1なる関数式により表される折れ線(線分Q5Q6及び線分Q5Q8を含む線)と、a1=A1Lなる定値関数式により表される直線(線分Q6Q7を含む直線)と、a2=A2Lなる定値関数式により表される直線(線分Q7Q8を含む直線)とにより囲まれた領域である。そして、本実施形態では、同定ゲイン係数a1ハット、a2ハットの値の組合わせを制限するための範囲として、この同定係数制限領域を用いる。この場合、同定係数制限領域の下辺部の一部は、前記同定係数安定領域を逸脱しているものの、現実には同定器25が求める同定ゲイン係数a1ハット、a2ハットの値により定まる点は上記の逸脱領域には入らないことを実験的に確認している。従って、上記の逸脱領域があっても、実用上は支障がない。
【0248】
ところで、前記同定係数制限領域の基礎となる同定係数安定領域は、前記式(14)の係数値α1,α2の定義から明らかなように、前記合計設定無駄時間dの値によって変化する。そして、本実施形態では、排気系Eの設定無駄時間d1及び空燃比操作系の設定無駄時間d2の値、ひいては、合計設定無駄時間d(=d1+d2)の値は、推定排ガスボリュームABSVの応じて逐次可変的に設定される。
【0249】
この場合、本願発明者等の知見によれば、同定係数安定領域は、主に、その下部(概ね図19のQ7からQ8にかけての凹凸を有する部分)の形状のみが合計設定無駄時間dの値に応じて変化し、基本的には該合計設定無駄時間dの値が長くなる程、同定係数安定領域の下部が上方(a2軸の正方向)に縮小する傾向がある。そして、該同定係数安定領域の上半部(概ね図19の三角形Q5Q6Q8で囲まれた部分)の形状は、合計設定無駄時間dの値の影響をほとんど受けない。
【0250】
そこで、本実施形態では、同定ゲイン係数a1ハット、a2ハットの値の組合わせを制限するための同定係数制限領域におけるゲイン係数a2の下限値A2Lを、排気系E及び空燃比操作系の無駄時間d1,d2を規定する推定排ガスボリュームABSVに応じて可変的に設定する。この場合、本実施形態では、ゲイン係数a2の下限値A2Lは、例えば図20に実線eで示すようにあらかじめ定められたデータテーブルに基づいて、推定排ガスボリュームABSVの値(最新値)から求められる。該データテーブルでは、下限値A2Lの値(<0)は、基本的には、推定排ガスボリュームABSVの値が大きい程(合計設定無駄時間dが短いほど)、小さくなる(絶対値が大きくなる)ように定められている。これにより、同定係数制限領域は、推定排ガスボリュームABSVが大きい程(合計設定無駄時間dが短いほど)、下方に拡大するように設定されることとなる。例えば、合計設定無駄時間dの値が、図19の実線示の同定係数制限領域に対応する値dxよりも短い場合には、図19に破線で示すように、同定係数制限領域の下部がd=dxの同定係数制限領域よりも下方に拡大する。
【0251】
尚、上述のような同定係数制限領域の設定の仕方は例示的なもので、該同定係数制限領域は、基本的には、合計設定無駄時間dの各値に対応する前記同定係数安定領域に等しいか、もしくは該同定係数安定領域を大略近似し、あるいは、同定係数制限領域の大部分もしくは全部が同定係数安定領域に属するように設定すれば、どのような形状のものに設定してもよい。つまり、同定係数制限領域は、同定ゲイン係数a1ハット、a2ハットの値の制限処理の容易さ、実際上の制御性等を考慮して種々の設定が可能である。例えば本実施形態では、同定係数制限領域の上半部の境界を|a1|+a2=1なる関数式により規定しているが、この関数式を満たすゲイン係数a1,a2の値の組み合わせは、前記式(41)の系の極が複素平面上の単位円周上に存するような理論上の安定限界の組み合わせである。従って、同定係数制限領域の上半部の境界を例えば|a1|+a2=r(但し、rは上記の安定限界に対応する「1」よりも若干小さい値で、例えば0.99)なる関数式により規定し、制御の安定性をより高めるようにしてもよい。
【0252】
次に、同定ゲイン係数b1ハットの値を制限するための範囲は、次のように設定されている。
【0253】
すなわち、本願発明者等の知見によれば、前記目標空燃比KCMDの時間的変化が高周波振動的なものとなる状況は、同定ゲイン係数b1ハットの値が過大もしくは過小となるような場合にも生じ易い。また、目標空燃比KCMDの時間的変化が平滑的なものとなるような好適な同定ゲイン係数b1ハットの値は、合計設定無駄時間dの影響を受け、基本的には、該合計設定無駄時間dが短いほど、好適な同定ゲイン係数b1ハットの値は大きくなる傾向がある。そこで、本実施形態では、ゲイン係数b1の値の範囲を規定する上限値B1H及び下限値B1L(B1H>B1L>0)を、合計設定無駄時間dの値を規定する推定排ガスボリュームABSVの値(最新値)に応じて逐次設定し、その上限値B1H及び下限値B1Lにより定まる範囲に同定ゲイン係数b1ハットの値を制限する。この場合、本実施形態では、ゲイン係数b1の値の範囲を規定する上限値B1H及び下限値B1Lは、推定排ガスボリュームABSVの値から、図20に実線f,gでそれぞれ示すように実験やシミュレーションを通じてあらかじめ定められたデータテーブルに基づいて求められる。そして、該データテーブルは、基本的には推定排ガスボリュームABSVが大きい程(合計設定無駄時間dが短いほど)、上限値B1H及び下限値B1Lが大きくなるように設定されている。
【0254】
上述のように同定ゲイン係数a1ハット、a2ハットの値の組合わせ、並びに、同定ゲイン係数b1の値の範囲を制限する前記STEP7−10の処理は、具体的には次のように行われる。
【0255】
すなわち、図21のフローチャートを参照して、同定器25は、まず、前記図15のSTEP3で流量データ生成手段28が求めた推定排ガスボリュームABSVの最新値から、前記図20のデータテーブルに基づいて、前記同定係数制限領域におけるゲイン係数a2の下限値A2L、並びに、ゲイン係数b1の上限値B1H及び下限値B1Lをそれぞれ設定する(STEP7−10−1)。
【0256】
そして、同定器25は、前記図17のSTEP7−9で前述の如く求めた同定ゲイン係数a1(k)ハット、a2(k)ハット、b1(k)ハットについて、まず、同定ゲイン係数a1(k)ハット、a2(k)ハットの値の組み合わせを前記同定係数制限領域内に制限するための処理をSTEP7−10−2〜7−10−9で行う。
【0257】
具体的には、同定器25は、まず、STEP7−9で求めた同定ゲイン係数a2(k)ハットの値が、STEP7−10−1で設定した下限値A2L(図19参照)以上の値であるか否かを判断する(STEP7−10−2)。
【0258】
このとき、a2(k)ハット<A2Lであれば、同定ゲイン係数a1(k)ハット、a2(k)ハットの値の組により定まる図19の座標平面上の点(以下、この点を(a1(k)ハット,a2(k)ハット)で表す)が同定係数制限領域から逸脱しているので、a2(k)ハットの値を強制的に上記下限値A2Lに変更する(STEP7−10−3)。この処理により、図19の座標平面上の点(a1(k)ハット,a2(k)ハット)は、少なくともa2=A2Lにより表される直線(線分Q7Q8を含む直線)の上側(該直線上を含む)の点に制限される。
【0259】
次いで、同定器25は、STEP7−9で求めた同定ゲイン係数a1(k)ハットの値が、前記同定係数制限領域におけるゲイン係数a1の下限値A1L(図19参照)以上の値であるか否か、並びに、同定係数制限領域におけるゲイン係数a1の上限値A1H(図19参照)以下の値であるか否かを順次判断する(STEP7−10−4、7−10−6)。尚、本実施形態ではゲイン係数a1の下限値A1Lはあらかじめ定めた固定値である。また、ゲイン係数a1の上限値A1Hは、図19から明らかなように折れ線|a1|+a2=1(但しa1>0)と、直線a2=A2Lとの交点Q8のa1座標成分であるので、A1H=1−A2Lである。従って、ゲイン係数a1の下限値A1Lは、STEP7−10−1で設定されるゲイン係数a2の下限値A2Lに応じて変化し、基本的には、推定排ガスボリュームABSVが大きい程(合計設定無駄時間dが短いほど)、該下限値A1Lは大きくなる。
【0260】
このとき、a1(k)ハット<A1Lである場合、あるいは、a1(k)ハット>A1Hである場合には、図19の座標平面上の点(a1(k)ハット,a2(k)ハット)が同定係数制限領域から逸脱しているので、a1(k)ハットの値をそれぞれの場合に応じて、強制的に上記下限値A1Lあるいは上限値A1Hに変更する(STEP7−10−5、7−10−7)。
【0261】
この処理により、図19の座標平面上の点(a1(k)ハット,a2(k)ハット)は、a1=A1Lにより表される直線(線分Q6Q7を含む直線)と、a1=A1Hにより表される直線(点Q8を通ってa1軸に直行する直線)との間の領域(両直線上を含む)に制限される。尚、STEP7−10−4〜7−10−7の処理は、前記STEP7−10−2及び7−10−3の処理の前に行うようにしてもよい。
【0262】
次いで、同定器25は、前記STEP7−10−2〜7−10−7の処理を経た今現在のa1(k)ハット,a2(k)ハットの値が|a1|+a2≦1なる不等式を満たすか否か、すなわち、点(a1(k)ハット,a2(k)ハット)が|a1|+a2=1なる関数式により表される折れ線(線分Q5Q6及び線分Q5Q8を含む線)の下側(折れ線上を含む)にあるか上側にあるかを判断する(STEP7−10−8)。
【0263】
このとき、|a1|+a2≦1なる不等式が成立しておれば、前記STEP7−10−2〜7−10−7の処理を経たa1(k)ハット,a2(k)ハットの値により定まる点(a1(k)ハット,a2(k)ハット)は、同定係数制限領域(その境界を含む)に存している。
【0264】
一方、|a1|+a2>1である場合は、点(a1(k)ハット,a2(k)ハット)が、同定係数制限領域からその上方側に逸脱している場合であり、この場合には、a2(k)ハットの値を強制的に、a1(k)ハットの値に応じた値(1−|a1(k)ハット|)に変更する(STEP7−10−9)。換言すれば、a1(k)ハットの値を現状に保持したまま、点(a 1(k)ハット,a2(k)ハット)を|a1|+a2=1なる関数式により表される折れ線上(同定係数制限領域の境界である線分Q5Q6上、もしくは線分Q5Q8上)に移動させる。
【0265】
以上のようなSTEP7−10−2〜7−10−9の処理によって、同定ゲイン係数a1(k)ハット,a2(k)ハットの値は、それらの値により定まる点(a1(k)ハット,a2(k)ハット)が同定係数制限領域内に存するように制限される。尚、前記STEP7−9で求められた同定ゲイン係数a1(k)ハット,a2(k)ハットの値に対応する点(a1(k)ハット,a2(k)ハット)が同定係数制限領域内に存する場合は、それらの値は保持される。
【0266】
この場合、前述の処理によって、前記排気系モデルの1次目の自己回帰項に係わる同定ゲイン係数a1(k)ハットに関しては、その値が、同定係数制限領域における下限値A1L及び上限値A1Hの間の値となっている限り、その値が強制的に変更されることはない。また、a1(k)ハット<A1Lである場合、あるいは、a1(k)ハット>A1Hである場合には、それぞれ、同定ゲイン係数a1(k)ハットの値は、同定係数制限領域においてゲイン係数a1が採りうる最小値である下限値A1Lと、同定係数制限領域においてゲイン係数a1が採りうる最大値である下限値A1Hとに強制的に変更されるので、これらの場合における同定ゲイン係数a1(k)ハットの値の変更量は最小なものとなる。つまり、STEP7−9で求められた同定ゲイン係数a1(k)ハット,a2(k)ハットの値に対応する点(a1(k)ハット,a2(k)ハット)が同定係数制限領域から逸脱している場合には、同定ゲイン係数a1(k)ハットの値の強制的な変更は最小限に留められる。
【0267】
このようにして、同定ゲイン係数a1(k)ハット,a2(k)ハットの値を制限したのち、同定器25は、同定ゲイン係数b1(k)ハットの値を制限する処理をSTEP7−10−10〜7−10−13で行う。
【0268】
すなわち、同定器25は、前記STEP7−9で求めた同定ゲイン係数b1(k)ハットの値が、STEP7−10−1で設定したゲイン係数b1の下限値B1L以上であるか否かを判断し(STEP7−10−10)、B1L>b1(k)ハットである場合には、b1(k)ハットの値を強制的に上記下限値B1Lに変更する(STEP7−10−11)。
【0269】
さらに、同定器25は、同定ゲイン係数b1(k)ハットの値が、STEP7−10−1で設定したゲイン係数b1の上限値B1H以上であるか否かを判断し(STEP7−10−12)、B1H<b1(k)ハットである場合には、b1(k)ハットの値を強制的に上記上限値B1Hに変更する(STEP7−10−13)。このようなSTEP7−10−10〜7−10−13の処理によって、同定ゲイン係数b1(k)ハットの値は、下限値B1L及び上限値B1Hの間の範囲の値に制限される。
【0270】
このようにして、同定ゲイン係数a1(k)ハット,a2(k)ハットの値の組み合わせと同定ゲイン係数b1(k)ハットの値とを制限した後には、同定器25の処理は図17のフローチャートの処理に復帰する。
【0271】
尚、図17のSTEP7−9で同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットを求めるために使用する同定ゲイン係数の前回値a1(k-1)ハット,a2(k-1)ハット,b1(k-1)ハットは、前回の制御サイクルにおけるSTEP7−10の制限処理を施した同定ゲイン係数の値である。以上説明した処理が図15のSTEP7における同定器25の演算処理である。
【0272】
図15の説明に戻って、上記のように同定器25の演算処理を行った後、排気側制御ユニット7aは、ゲイン係数a1,a2,b1の値を決定する(STEP8)。この処理では、前記STEP2で設定されたフラグf/id/calの値が「1」である場合、すなわち、同定器25によるゲイン係数a1,a2,b1の同定処理を行った場合には、ゲイン係数a1,a2,b1の値として、それぞれ前記STEP7で前述の通り同定器25により求められた最新の同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハット(STEP7−10の制限処理を施したもの)を設定する。また、f/id/cal=0である場合、すなわち、同定器25によるゲイン係数a1,a2,b1の同定処理を行わなかった場合には、ゲイン係数a1,a2,b1の値をそれぞれあらかじめ定めた所定値とする。
【0273】
次いで、排気側制御ユニット7aは、前記推定器26による演算処理を行う(STEP9)。すなわち、推定器26は、まず、前記STEP8で決定されたゲイン係数a1,a2,b1(これらの値は基本的には、同定ゲイン係数a1ハット,a2ハット,b1ハットの最新値である)と、前記STEP4で設定された排気系Eの設定無駄時間d1及び空燃比操作系の設定無駄時間d2の値とを用いて、前記式(15)あるいは式(16)で使用する係数値α1,α2,βj(j=1,2,…,d)を、式(14)の但し書きの定義に従って算出する。
【0274】
そして、推定器26は、空燃比操作系の設定無駄時間d2が、d2>1(d2≧2)である場合には、前記STEP5で制御サイクル毎に算出されるO2センサの偏差出力VO2の現在値及び過去値の時系列データVO2(k),VO2(k-1)、並びにLAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d 1)と、スライディングモード制御器27から制御サイクル毎に与えられる前記目標偏差空燃比kcmd(=SLD操作入力Usl)の過去値のデータkcmd(k-j)(=usl(k-j)。j=1,2,…,d2-1)と、上記の如く算出した係数値α1,α2,βj(j=1,2,…,d)とを用いて前記式(15)により、推定偏差出力VO2(k+d)バー(今回の制御サイクルの時点から前記合計設定無駄時間d後の偏差出力VO2の推定値)を算出する。
【0275】
また、推定器26は、空燃比操作系の設定無駄時間d2が、d2=1である場合には、O2センサの偏差出力VO2の現在値及び過去値の時系列データVO2(k),VO2(k-1)、並びにLAFセンサ5の偏差出力kactの現在値及び過去値の時系列データkact(k-j)(j=0,1,…,d-1)と、前記係数値α1,α2,βj(j=1,2,…,d)とを用いて前記式(16)により、推定偏差出力VO2(k+d)バーを算出する。
【0276】
排気側制御ユニット7aは、次に、スライディングモード制御器27によって、前記SLD操作入力Usl(=目標偏差空燃比kcmd)を算出する(STEP10)。すなわち、スライディングモード制御器27は、まず、前記STEP9で推定器26により求められた推定偏差出力VO2バーの時系列データVO2(k+d)バー,VO2(k+d-1)バー(推定偏差出力VO2バーの今回値及び前回値)を用いて、前記式(26)により定義された切換関数σバーの今回値σ(k+d)バー(これは、式(17)で定義された切換関数σの合計設定無駄時間d後の推定値に相当する)を算出する。
【0277】
尚、この場合、切換関数σバーの値があらかじめ定めた所定の許容範囲内に収まるようにし、上記の如く求められるσ(k+d)バーがその許容範囲の上限値又は下限値を超えた場合には、それぞれσバーの値σ(k+d)バーを強制的に該上限値又は下限値に制限する。
【0278】
さらに、スライディングモード制御器27は、上記切換関数σバーの今回値σ(k+d)バーに、排気側制御ユニット7aの制御サイクルの周期ΔTを乗算したものσ(k+d)バー・ΔTを累積的に加算していく、すなわち、前回の制御サイクルで求められた加算結果に今回の制御サイクルで算出されたσ(k+d)バーと周期ΔTとの積σ(k+d)バー・ΔTを加算することで、前記式(28)のΣ(σバー・ΔT)の項の演算結果であるσバーの積算値(以下、この積算値をΣσバーにより表す)を算出する。
【0279】
尚、この場合、本実施形態では、上記積算値Σσバーがあらかじめ定めた所定の許容範囲内に収まるようにし、該積算値Σσバーがその許容範囲の上限値又は下限値を超えた場合には、それぞれ該積算値Σσバーを強制的に該上限値又は下限値に制限する。
【0280】
そして、スライディングモード制御器27は、前記STEP9で推定器26により求められた推定偏差出力VO2バーの現在値及び過去値の時系列データVO2(k+d)バー,VO2(k+d-1)バーと、上記の如く求めた切換関数の値σ(k+d) バー及びその積算値Σσバーと、STEP8で決定したゲイン係数a1,a2,b1(これらの値は基本的には、最新の同定ゲイン係数a1(k)ハット,a2(k)ハット,b1(k)ハットである)とを用いて、前記式(25)、(27)、(28)に従って、それぞれ等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを算出する。
【0281】
さらにスライディングモード制御器27は、この等価制御入力Ueq、到達則入力Urch及び適応則入力Uadpを加算することで、前記SLD操作入力Usl、すなわち、O2センサ6の出力V O2/OUTを目標値VO2/TARGETに収束させるために必要な排気系Eへの入力量(=目標偏差空燃比kcmd)を算出する。
【0282】
上記のようにSLD操作入力Uslを算出した後、スライディングモード制御器27は、適応スライディングモード制御の安定性(より詳しくは、適応スライディングモード制御に基づくO2センサ6の出力VO2/OUTの制御状態(以下、SLD制御状態という)の安定性)を判別する処理を行って、該SLD制御状態が安定であるか否かをそれぞれ値「1」、「0」で表すフラグf/sld/stbの値を設定する(STEP11)。
【0283】
この安定性の判別処理は図22のフローチャートに示すように行われる。
【0284】
すなわち、スライディングモード制御器27は、まず、前記STEP10で算出される切換関数σバーの今回値σ(k+d)バーと前回値σ(k+d-1)バーとの偏差Δσバー(これは切換関数σバーの変化速度に相当する)を算出する(STEP11−1)。
【0285】
次いで、スライディングモード制御器27は、上記偏差Δσバーと切換関数σバーの今回値σ(k+d)バーとの積Δσバー・σ(k+d)バー(これはσバーに関するリアプノフ関数σバー2/2の時間微分関数に相当する)があらかじめ定めた所定値ε(≧0)以下であるか否かを判断する(STEP11−2)。
【0286】
ここで、上記積Δσバー・σ(k+d)バー(以下、これを安定判別パラメータPstbという)について説明すると、この安定判別パラメータPstbの値がPstb>0となる状態は、基本的には、切換関数σバーの値が「0」から離間しつつある状態である。また、安定判別パラメータPstbの値がPstb≦0となる状態は、基本的には、切換関数σバーの値が「0」に収束しているか、もしくは収束しつつある状態である。そして、一般に、スライディングモード制御ではその制御量を目標値に安定に収束させるためには、切換関数の値が安定に「0」に収束する必要がある。従って、基本的には、前記安定判別パラメータPstbの値が「0」以下であるか否かによって、それぞれ前記SLD制御状態が安定、不安定であると判断することができる。
【0287】
但し、安定判別パラメータPstbの値を「0」と比較することでSLD制御状態の安定性を判断すると、切換関数σバーの値に僅かなノイズが含まれただけで、安定性の判別結果に影響を及ぼしてしまう。このため、本実施形態では、前記STEP11−2で安定判別パラメータPstbと比較する所定値εは、「0」よりも若干大きな正の値としている。
【0288】
そして、STEP11−2の判断で、Pstb>εである場合には、SLD制御状態が不安定であるとされ、前記STEP10で算出されるSLD操作入力Uslを用いた目標空燃比KCMDの決定を所定時間、禁止するためにタイマカウンタtm(カウントダウンタイマ)の値が所定の初期値TMにセットされる(タイマカウンタtmの起動。STEP11−4)。さらに、前記フラグf/sld/stbの値が「0」に設定された後(STEP11−5)、図15のメインルーチンの処理に復帰する。
【0289】
一方、前記STEP11−2の判断で、Pstb≦εである場合には、スライディングモード制御器27は、切換関数σバーの今回値σ(k+d)バーがあらかじめ定めた所定範囲内にあるか否かを判断する(STEP11−3)。
【0290】
この場合、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い状態は、該今回値σ(k+d)バーが「0」から大きく離間している状態であるので、SLD制御状態が不安定であると考えられる。このため、STEP11−3の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内に無い場合には、SLD制御状態が不安定であるとされ、前述の場合と同様に、STEP11−4及び11−5の処理により、タイマカウンタtmが起動されると共に、フラグf/sld/stbの値が「0」に設定される。尚、本実施形態では、前述のSTEP10の処理において、切換関数σバーの値を所定の許容範囲内に制限するので、STEP11−3の判断処理は省略してもよい。
【0291】
また、STEP11−3の判断で、切換関数σバーの今回値σ(k+d)バーが、所定範囲内にある場合には、スライディングモード制御器27は、前記タイマカウンタtmを所定時間Δtm分、カウントダウンする(STEP11−6)。そして、このタイマカウンタtmの値が「0」以下であるか否か、すなわち、タイマカウンタtmを起動してから前記初期値TM分の所定時間が経過したか否かが判断される(STEP11−7)。
【0292】
このとき、tm>0である場合、すなわち、タイマカウンタtmが計時動作中でまだタイムアップしていない場合は、STEP11−2あるいはSTEP11−3の判断でSLD制御状態が不安定であると判断されてから、さほど時間を経過していないので、SLD制御状態が不安定なものとなりやすい。このため、STEP11−7でtm>0である場合には、前記STEP11−5の処理により、前記フラグf/sld/stbの値が「0」に設定される。
【0293】
そして、STEP11−7の判断でtm≦0である場合、すなわち、タイマカウンタtmがタイムアップしている場合には、SLD制御状態が安定であるとして、フラグf/sld/stbの値が「1」に設定される(STEP11−8)。
【0294】
以上のような処理によって、SLD制御状態の安定性が判断され、不安定であると判断された場合には、フラグf/sld/stbの値が「0」に設定され、安定であると判断された場合には、フラグf/sld/stbの値が「1」に設定される。
【0295】
尚、以上説明したSLD制御状態の安定性の判断の手法は例示的なもので、この他の手法によって安定性の判断を行うようにすることも可能である。例えば制御サイクルよりも長い所定期間毎に、各所定期間内における前記安定判別パラメータPstbの値が前記所定値εよりも大きくなる頻度を計数する。そして、その頻度があらかじめ定めた所定値を超えるような場合にSLD制御状態が不安定であると判断し、逆の場合に、SLD制御状態が安定であると判断するようにしてもよい。
【0296】
図15の説明に戻って、上記のようにSLD制御状態の安定性を示すフラグf/sld/stbの値を設定した後、スライディングモード制御器27は、フラグf/sld/stbの値を判断する(STEP12)。このとき、f/sld/stb=1である場合、すなわち、SLD制御状態が安定であると判断された場合には、スライディングモード制御器27は前記STEP10で算出したSLD操作入力Uslのリミット処理を行う(STEP13)。このリミット処理では、STEP10で算出されたSLD操作入力Uslの今回値Usl(k)が所定の許容範囲内にあるか否かが判断され、該今回値Uslがその許容範囲の上限値又は下限値を超えている場合には、それぞれ、SLD操作入力Uslの今回値usl(k)が強制的に該上限値又は下限値に制限される。
【0297】
尚、STEP13のリミット処理を経たSLD操作入力Usl(=目標偏差空燃比kcmd)は、図示しないメモリに時系列的に記憶保持され、それが、推定器26の前述の演算処理のために使用される。
【0298】
次いで、スライディングモード制御器27は、STEP13のリミット処理を経たSLD操作入力Uslに前記空燃比基準値FLAF/BASEを加算することで、前記目標空燃比KCMDを算出する(STEP15)。これにより、排気側制御ユニット7aの今回の制御サイクルの処理が終了する。
【0299】
また、前記STEP12の判断でf/sld/stb=0である場合、すなわち、SLD制御状態が不安定であると判断された場合には、スライディングモード制御器27は、今回の制御サイクルにおけるSLD操作入力Uslの値を強制的に所定値(固定値あるいはSLD操作入力Uslの前回値)に設定した後(STEP14)、このSLD操作入力Uslに空燃比基準値FLAF/BASEを加算することで目標空燃比KCMDを算出する(STEP15)。これにより排気側制御ユニット7aの今回の制御サイクルの処理が終了する。
【0300】
尚、STEP15で最終的に決定される目標空燃比KCMDは、制御サイクル毎に図示しないメモリに時系列的に記憶保持される。そして、前記大局的フィードバック制御器15等が、排気側制御ユニット7aで決定された目標空燃比KCMDを用いるに際しては(図13のSTEPfを参照)、上記のように時系列的に記憶保持された目標空燃比KCMDの中から最新のものが選択される。
【0301】
以上説明した内容が本実施形態の装置の詳細な作動である。すなわち、その作動を要約すれば、排気側制御ユニット7aによって、触媒装置3の下流側のO2センサ6の出力VO2/OUTを目標値VO2/TARGETに収束(整定)させるように、触媒上流空燃比の目標値である目標空燃比KCMDが逐次算出される。さらに、この目標空燃比KCMDにLAFセンサ5の出力を収束させるようにエンジン1の燃料噴射量を調整することで、触媒上流空燃比が目標空燃比KCMDにフィードバック制御され、ひいては、O2センサ6の出力VO2/OUTが目標値V O2/TARGETに収束制御される。これにより、触媒装置3の最適な排ガス浄化性能を確保することができる。
【0302】
この場合、排気側制御ユニット7aは、スライディングモード制御器27の適応スライディングモード制御の処理により目標空燃比KCMDを算出するために、推定器26により求められた推定偏差出力VO2バー、すなわち排気系Eの設定無駄時間d1と前記空燃比操作系(エンジン1及び機関側制御ユニット7bからなるシステム)の設定無駄時間d2とを合わせた合計設定無駄時間d後のO2センサ6の偏差出力VO2(偏差出力VO2の未来値)の推定値である推定偏差出力VO2バーと、同定器25により同定された排気系モデルのパラメータであるゲイン係数a1,a2,b1の同定値(同定ゲイン係数a1ハット,a2ハット,b1ハット)とを用い、推定偏差出力VO2バーにより示される合計設定無駄時間d後のO2センサ6の出力VO2/OUTの推定値を目標値VO2/TARGETに収束させるように目標空燃比KCMDを求める。
【0303】
このとき、特に本願発明に関連して、同定器25は前述のように前記同定偏差id/eにフィルタリング処理(移動平均処理)を施してなる誤差データid /efを最小化するように重み付き最小2乗法のアルゴリズムにより同定ゲイン係数a1ハット,a2ハット,b1ハットを求める。さらに、このとき、排気系Eの周波数特性に影響を及ぼす排ガス流量の推定値、すなわち推定排ガスボリュームABSVに応じて移動平均タップ数Nを適宜変更することにより、上記フィルタリング処理の対周波数ゲイン特性が適宜変更される。これにより、排気系Eの周波数特性の変化によらずに、排気系モデルの周波数特性と実際の排気系Eの周波数特性とが好適に整合するような同定ゲイン係数a1ハット,a2ハット,b1ハットを求めることができる。
【0304】
このため、排気系モデルを基礎とするアルゴリズムにより、同定ゲイン係数a1ハット,a2ハット,b1ハットを用いて前記推定器26が求める推定偏差出力VO2バーの信頼性が高まる(精度がよくなる)。同時に、排気系モデルを基礎とする適応スライディングモード制御の処理により、上記推定偏差出力VO2バーと同定ゲイン係数a1ハット,a2ハット,b1ハットとを用いてスライディングモード制御器27が求める目標空燃比KCMDも、O2センサ6の出力VO2/OUTを目標値VO2/TARGETに収束させる上で好適なものとなる。
【0305】
さらに、本実施形態では、目標空燃比KCMDを求めるために、応答指定型制御の一形態としての適応スライディングモード制御の処理を用いるため、排気系モデルの周波数特性と実際の排気系Eの周波数特性との整合性が外乱等の影響で多少低下したとしても、O2センサ出力のVO2/OUTの目標値VO2/TARGETへの収束制御が不安定となるような事態を極力排除することができる。
【0306】
この結果、本実施形態では、O2センサ6の出力VO2/OUTの目標値VO2/TARGETへの収束制御を安定性や速応性を高めることができ、ひいては、触媒装置3の浄化性能を安定して良好に確保することができる。
【0307】
次に、本発明の内燃機関の空燃比制御装置の第2実施形態を説明する。尚、本実施形態は、基本的には前記推定器26による演算処理のみが前述の実施形態と相違するものであるので、説明に際しての参照符号は前述の実施形態と同一のものを用いる。
【0308】
前述の実施形態では、排気系Eの無駄時間d1と空燃比操作系(エンジン1及び機関側制御ユニット7bからなる系)の無駄時間d2との両者の影響を補償するために、前記設定合計無駄時間d(=d1+d2)後のO2センサ6の偏差出力VO2の推定値を求めるようにした。しかるに、排気系Eの無駄時間d1に比して空燃比操作系の無駄時間d2が十分に小さいような場合(d2≒0とみなせる場合)には、排気系Eの設定無駄時間d1後のO2センサ6の偏差出力VO2の推定値VO2(k+d1)バー(以下の説明ではこれを第2推定偏差出力VO2バーと称する)を求め、その第2推定偏差出力VO2バーを用いて、目標空燃比KCMDを求めるようにしてもよい。本実施形態は、このような第2推定偏差出力VO2バーを求めて、O2センサ6の出力VO2/OUTの目標値VO 2/TARGETへの収束制御を行うものである。
【0309】
この場合、推定器26は次のようにして第2推定偏差出力VO2バーを求める。すなわち、排気系Eの排気系モデルを表す前記式(1)を用いることで、各制御サイクルにおける排気系Eの無駄時間d1後のO2センサ6の偏差出力VO2の推定値である前記第2推定偏差出力VO2(k+d1)バーは、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、LAFセンサ5の偏差出力kact(=KACT−FLAF/BASE)の過去値の時系列データkact(k-j)(j=1,2,…,d1)とを用いて次式(43)により表される。
【0310】
【数43】
【0311】
ここで、式(43)において、α3,α4は、それぞれ前記式(14)中のただし書きで定義した行列Aのべき乗Ad1(d1:排気系Eの無駄時間)の第1行第1列成分、第1行第2列成分である。また、γj(j=1,2,…,d1)は、それぞれ行列Aのべき乗Aj-1(j=1,2,…,d1)と前記式(14)中のただし書きで定義したベクトルBとの積Aj-1・Bの第1行成分である。
【0312】
この式(43)が本実施形態において、推定器26が前記第2推定偏差出力VO2 (k+d1)バーを算出するための式である。この式(43)は、前記第1実施形態で説明した式(14)において、kcmd(k)=kact(k)、d=d1とする(空燃比操作系の無駄時間d2を「0」とみなす)ことで、該式(14)から得られる式である。つまり、本実施形態では、推定器26は、制御サイクル毎に、O2センサ6の偏差出力VO2の時系列データVO2(k)及びVO2(k-1)と、LAFセンサ5の偏差出力kactの過去値の時系列データkact(k-j)(j=1,2,…,d1)とを用いて式(43)の演算を行うことによって、O2センサ6の第2推定偏差出力VO2(k+d1)バーが求められる。
【0313】
この場合、式(43)により第2推定偏差出力VO2(k+d1)バーを算出するために必要となる係数値α3,α4及びγj(j=1,2,…,d1)の値は、前述の実施形態の場合と同様、前記ゲイン係数a1,a2,b1の同定値である前記同定ゲイン係数a1ハット,a2ハット,b1ハットを用いて算出される。また、式(43)の演算で必要となる無駄時間d1の値は、第1実施形態と同様に前記無駄時間設定手段29が制御サイクル毎に逐次求める設定無駄時間d1が用いられる。尚、この場合、無駄時間設定手段29は、空燃比操作系の設定無駄時間d2を求める必要は無いことはもちろんである。
【0314】
以上説明した以外の他の処理については前述の第1実施形態と基本的には同一である。但し、この場合において、スライディングモード制御器27は、SLD操作入力Usl(=目標偏差空燃比kcmd)の成分である等価制御入力Ueqと到達則入力Urchと適応則入力Uadpとを、それぞれ前記式(25)、(27)、(28)の「d」を「d1」で置き換えた式により求めることとなる。
【0315】
かかる本実施形態の制御装置にあっては、同定器25の処理は、前記第1実施形態と全く同一であるので、排気系モデルの周波数特性と排気系Eの周波数特性とが整合するような同定ゲイン係数a1ハット,a2ハット,b1ハットを求めることができる。従って、前記第1実施形態と同様の作用効果を奏することができる。
【0316】
尚、本発明の制御装置は、前述した実施形態に限定されるものではなく、例えば次のような変形態様も可能である。
【0317】
すなわち、前記実施形態では、同定器25、推定器26、スライディングモード制御器27の演算処理において、LAFセンサ5の偏差出力kactやO2センサ6の偏差出力VO2、目標偏差空燃比kcmdを用いたが、LAFセンサ5の出力KACTやO2センサ6の出力VO2/OUT、目標空燃比KCMDをそのまま用いて同定器25、推定器26、スライディングモード制御器27の演算処理を行うようにすることも可能である。
【0318】
さらに、前記同定器25の処理では、排気系モデルの同定偏差出力VO2ハットを求めるために(式(4)参照)、排気系Eの入力である触媒上流空燃比を表すデータとしてLAFセンサ5の出力KACTを用いたが、前記式(4)の右辺中の「kact(k-d1-1)」は、前記式(2)から明らかなようにkact(k-d1-1)=kcmd(k-d-1)である。従って、同定偏差出力VO2ハットを求めるために、LAFセンサ5の出力KACTの代わりに、スライディングモード制御器27が求める目標空燃比KCMDと用いるようにすることも可能である。
【0319】
また、前記各実施形態では、排気側制御ユニット7aで生成する操作量を目標空燃比KCMD(排気系Eの目標入力)とし、その目標空燃比KCMDに従ってエンジン1で燃焼させる混合気の空燃比、ひいては触媒上流空燃比を操作するようにしたが、例えばエンジン1の燃料供給量の補正量を排気側制御ユニット7aで決定するようにすることも可能であり、また、目標空燃比KCMDからフィードフォワード的にエンジン1の燃料供給量を調整して空燃比を操作するようにすることも可能である。
【0320】
また、前記各実施形態では、スライディングモード制御器27は、外乱の影響を考慮した適応則(適応アルゴリズム)を加味した適応スライディングモード制御の処理を用いたが、該適応則を省略した通常的なスライディングモード制御の処理を用いるようにしてもよい。さらには、スライディングモード制御器27に代えて、他の形態の応答指定型制御器等を用いることも可能である。
【0321】
さらに、前記各実施形態では、前記排気系Eを制御対象とする制御装置を例にとって説明したが、本発明はこのような制御装置に限られるものではない。以下に本発明の制御装置の第3実施形態を図23を参照して説明する。
【0322】
図23において、32は本実施形態における制御対象としてのプラントであり、このプラント32には、流量制御器33(アクチュエータ)により流量を調整可能なアルカリ液が入力される。そして、該プラント32は、与えられたアルカリ液に酸性液を合流させ、それを攪拌器34により攪拌してなる混合液を出力するものである。
【0323】
本実施形態の制御装置は、このようなプラント32が出力する混合液(アルカリ液と酸性液との混合液)のpHが所望のpH(例えば中性に相当するpH値)になるようにプラント32に入力されるアルカリ液の流量を制御するもので、その制御のために次のような構成を備えている。
【0324】
すなわち、本実施形態の制御装置は、プラント32の出力側に該プラント32の出力である前記混合液のpHを検出すべく設けられたpHセンサ35(検出手段)と、プラント32の入力側に該プラントの入力であるアルカリ液の流量を検出すべく設けられた流量センサ36(第2の検出手段)と、これらのpHセンサ35及び流量センサ36のそれぞれの出力V1/OUT,V2/OUTに基づき後述の演算処理を行う制御ユニット37とを具備する。
【0325】
制御ユニット37は、マイクロコンピュータ等により構成されたもので、pHセンサ35の出力V1/OUTとその目標値V1/TARGET(これは前記混合液の目標pHに相当する)との偏差V1(=V1/OUT−V1/TARGET)をpHセンサ35の出力を示すデータとして算出する減算処理部38と(以下、偏差V1をpHセンサ35の偏差出力V1という)、流量センサ36の出力V2/OUTと所定の基準値V2/REF(これは任意に設定してよい)との偏差V2(=V2/OUT−V2/REF)を流量センサ36の出力を示すデータとして算出する減算処理部39と(以下、偏差V2を流量センサ36の偏差出力V2という)、上記偏差出力V1,V2に基づいて、pHセンサ35の出力V1/OUTをその目標値V1/TARGETに収束させるためにプラント32に与えるべきアルカリ液の目標流量V2CMDをプラント32への入力を規定する操作量として生成する操作量生成部40(操作量生成手段)と、流量センサ36の出力V2/OUT(検出流量)を目標流量V2CMDに収束させるように前記流量制御器33の動作量(具体的には流量制御器33が備える弁の開度)をフィードバック制御するフィードバック制御部41(アクチュエータ制御手段)とを具備する。
【0326】
尚、以下の説明において、前記目標流量V2CMDの前記基準値V2/REFに対する偏差(=V2CMD−V2/REF)を目標偏差流量v2cmd(これは前述の実施形態における目標偏差空燃比kcmdに対応する)と称する。また、流量制御器33及びフィードバック制御部41を合わせたシステム、すなわち、目標流量V2CMDから流量センサ34が検出する流量のアルカリ液を生成するシステムを流量操作系(これは前述の実施形態における空燃比操作系に対応する)と称する。
【0327】
前記操作量生成部40は、具体的な図示は省略するが、前述の実施形態の目標空燃比生成処理部13と同様に同定器、推定器及びスライディングモード制御器を機能的構成として備えている。そして、操作量生成部40は、例えば前記式(1)のVO2,kactをそれぞれ前記偏差出力V1,V2で置き換えて成るプラント32のモデルと、前記式(2)のkact,kcmdをそれぞれ前記偏差出力V2、目標偏差流量v2cmdで置き換えて成る前記流量操作系のモデルとに基づいて、前記第1実施形態の目標空燃比生成処理部13の同定器25、推定器26及びスライディングモード制御器27と同様の演算処理を行う。
【0328】
より具体的には、操作量生成部40は、プラント32のモデルのパラメータの同定値(これは前述の実施形態における同定ゲイン係数a1ハット、a2ハット、b1ハットに対応する)の算出や、プラント32に存する無駄時間と流量操作系に存する無駄時間とを合わせた合計無駄時間後のpHセンサ35の出力V1/OUTもしくは偏差出力V1の推定値(これは前述の実施形態における推定偏差出力VO2 バーに対応する)の算出、上記パラメータの同定値やpHセンサ33の出力V1/OUTもしくは偏差出力V1の推定値を用いた前記目標流量V2CMD(これは前述の実施形態における目標空燃比KCMDに対応する)の算出を行う。
【0329】
この場合、プラント32のモデルにおける無駄時間(前記式(1)のd1に相当するもの)の設定値や、流量操作系のモデルにおける無駄時間の設定値(前記式(2)のd2に相当するもの)は、プラント32や流量制御器31の動作特性、制御ユニット37の制御サイクルの周期等を考慮し、あらかじめ実験等を通じて、例えば、ある一定値に定められる。あるいは、それらのプラント32や流量操作系の実際の無駄時間が、例えば攪拌器34の動作状態、流量制御器33の動作状態等によって変化するような場合には、モデルにおける無駄時間の設定値を、該攪拌器34の動作状態や流量制御器33の動作状態等に応じて可変的に決定するようにしてもよい。
【0330】
また、プラント32のモデルのパラメータの同定処理においては、プラント32のモデルに流量センサ36の出力V2/OUT(流量の検出値)を入力したときの該モデルの出力と、pHセンサ35の出力V1/OUTとの偏差(これや前記第1実施形態における同定偏差id/eに相当する)に、前記第1実施形態と同様に、フィルタリング処理(例えば移動平均処理)を施してなる誤差データを最小化するように、最小2乗法等のアルゴリズムにより該プラント32のモデルのパラメータが同定される。そして、このとき、上記フィルタリング処理の周波数に対するゲイン特性は、プラント32の入力変化(流量センサ36の出力V2/OUTの変化)に対する出力変化(pHセンサ35の出力V1/OUTの変化)のゲインの周波数特性に影響を及ぼす特性パラメータ(例えば、流量制御器33に供給されるアルカリ液のpHや、プラント32内の酸性液のpH等)に応じて適宜変更される。尚、上記フィルタリング処理の対周波数ゲイン特性は、基本的には、プラント32の周波数特性において、比較的高ゲインとなる周波数域において、該フィルタリング処理のゲインが相対的に高くなるような特性とされる。
【0331】
さらに、同定器が同定するプラント32のパラメータの値を制限するに際しては、pHセンサ35の出力V1/OUTの目標値V1/TARGETへの収束制御の安定性や、前記目標流量V2CMDの安定性もしくはそれに応じた流量制御器33の動作の安定性等を考慮して、実験やシミュレーションを通じて上記パラメータの値もしくはその組み合わせを制限するための条件を前述の実施形態と同様に設定すればよい。この場合、その制限条件は、プラント32の無駄時間等に応じて可変化するようにしてもよい。
【0332】
尚、前記フィードバック制御部41は、例えば前述の実施形態の大局的フィードバック制御部15と同様に、図示しないPID制御器あるいは適応制御器等により、流量センサ36の出力V2/OUT(検出流量)を前記目標流量V2CMDに収束させるように流量制御器33の動作(弁開度)をフィードバック制御する。
【0333】
このような本実施形態の装置によれば、pHセンサ35の出力V1/OUT、すなわちプラント32が生成する混合液のpHの所望のpH(目標pH)への制御を安定して良好に行うことができる。
【0334】
尚、本実施形態のプラント32の制御装置は、前記第1実施形態について説明した変形態様と同様の各種の変形態様が可能である。また、流量操作系の無駄時間が十分に小さいような場合には、前記第2実施形態と同様の形態の制御を行うようにすることも可能である。
【図面の簡単な説明】
【図1】本発明の制御装置の第1実施形態の全体的システム構成を示すブロック図。
【図2】図1の装置で使用する酸素濃度センサ(O2センサ)の出力特性図。
【図3】図1の装置の目標空燃比生成処理部の基本構成を示すブロック図。
【図4】図3の目標空燃比生成処理部の無駄時間設定手段の処理を説明するための線図。
【図5】図1の装置の制御対象である排気系の周波数特性を示す線図。
【図6】図3の目標空燃比生成処理部の同定器の処理を説明するための線図。
【図7】図3の目標空燃比生成処理部の同定器の処理を説明するための線図。
【図8】図3の目標空燃比生成処理部の同定器の処理を説明するための線図。
【図9】図3の目標空燃比生成処理部の同定器の処理を説明するための線図。
【図10】図3の目標空燃比生成処理部の同定器の処理を説明するためのブロック図。
【図11】図3の目標空燃比生成処理部のスライディングモード制御器に係わる説明図。
【図12】図1の装置の適応制御器の基本構成を示すブロック図。
【図13】図1の装置の機関側制御ユニット(7b)の処理を示すフローチャート。
【図14】図13のフローチャートにおけるサブルーチン処理を示すフローチャート。
【図15】図1の装置の排気側制御ユニット(7a)の全体的処理を示すフローチャート。
【図16】図15のフローチャートのサブルーチン処理を示すフローチャート。
【図17】図15のフローチャートのサブルーチン処理を示すフローチャート。
【図18】図17のフローチャートの部分的処理の説明図。
【図19】図17のフローチャートの部分的処理の説明図。
【図20】図17のフローチャートの部分的処理の説明図。
【図21】図17のフローチャートのサブルーチン処理を示すフローチャート。
【図22】図15のフローチャートのサブルーチン処理を示すフローチャート。
【図23】本発明の他の実施形態のシステム構成を示すブロック図。
【符号の説明】
E…排気系(制御対象)、1…エンジン(内燃機関)、2…排気管(排気通路)、3…触媒装置、6…O2センサ(検出手段)、7a…排気側制御ユニット(操作量生成手段)、25…同定器(同定手段)、27…スライディングモード制御器、32…プラント(制御対象)、35…pHセンサ(検出手段)、40…操作量生成部(操作量生成手段)。
Claims (4)
- 所定の入力から所定の出力を生成する制御対象の出力を検出する検出手段と、前記制御対象の挙動を表現すべくあらかじめ構築された該制御対象のモデルに対し、前記検出手段の検出データと前記制御対象への実入力を表すデータとを用いて、前記モデルの出力と該制御対象の実出力との間の誤差を表す誤差データを逐次算出しつつ、該誤差データの値を最小化するように前記モデルの設定すべきパラメータを同定する同定手段と、該同定手段により同定された前記モデルパラメータの同定値を用いて、該モデルに基づき構築されたアルゴリズムにより前記検出手段の検出データを所定の目標値に収束させるように前記制御対象への実入力を規定する操作量を生成する操作量生成手段とを備え、前記同定手段は、前記モデルの出力と前記検出手段の検出データが表す前記制御対象の実出力との偏差にフィルタリング処理を施したものを前記誤差データとして算出する制御装置において、
前記制御対象は、内燃機関の排気通路に設けられた触媒装置に進入する排ガスの空燃比を該制御対象の入力とすると共に、該触媒装置の下流側に設けられた前記検出手段としての酸素濃度センサの出力を該制御対象の出力とする該触媒装置を含む排気系であり、
前記フィルタリング処理の周波数に対するゲイン特性をローパス特性とし、前記排気系を流れる排ガス流量が少ないほど、該フィルタリング処理のゲインが相対的に高ゲインとなる周波数域がより低周波側に偏るように、前記排ガス流量に応じて、該フィルタリング処理の周波数に対するゲイン特性を変更するようにしたことを特徴とする制御装置。 - 前記フィルタリング処理は移動平均処理であり、該移動平均処理の移動平均タップ数を、前記特性パラメータに応じて変更することにより、該フィルタリング処理の周波数に対するゲイン特性を変更することを特徴とする請求項1記載の制御装置。
- 前記操作量生成手段は、応答指定型のフィードバック制御処理により前記操作量を生成することを特徴とする請求項1又は2記載の制御装置。
- 前記応答指定型のフィードバック制御処理は、スライディングモード制御の処理であることを特徴とする請求項3記載の制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001398312A JP3816386B2 (ja) | 2001-12-27 | 2001-12-27 | 制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001398312A JP3816386B2 (ja) | 2001-12-27 | 2001-12-27 | 制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006068415A Division JP2006177369A (ja) | 2006-03-13 | 2006-03-13 | 制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003195906A JP2003195906A (ja) | 2003-07-11 |
JP3816386B2 true JP3816386B2 (ja) | 2006-08-30 |
Family
ID=27603777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001398312A Expired - Fee Related JP3816386B2 (ja) | 2001-12-27 | 2001-12-27 | 制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3816386B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4280931B2 (ja) | 2005-10-19 | 2009-06-17 | トヨタ自動車株式会社 | 内燃機関の空燃比制御装置 |
-
2001
- 2001-12-27 JP JP2001398312A patent/JP3816386B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003195906A (ja) | 2003-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3621839B2 (ja) | プラントの制御装置 | |
JP4490000B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3773684B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4265704B2 (ja) | 内燃機関の空燃比制御装置及びプラントの制御装置 | |
JP3484088B2 (ja) | プラントの制御装置 | |
JP3592519B2 (ja) | 内燃機関の排気系の空燃比制御装置及びプラントの制御装置 | |
JP3484074B2 (ja) | プラントの制御装置 | |
JP3992925B2 (ja) | 排ガス浄化用触媒装置の劣化判別方法 | |
JP4312325B2 (ja) | 排ガス浄化用触媒装置の劣化状態評価方法 | |
JPH09273438A (ja) | 内燃機関の空燃比制御装置 | |
JPH09273440A (ja) | 内燃機関の空燃比制御装置 | |
JPH09273439A (ja) | 内燃機関の空燃比制御装置 | |
JP3655145B2 (ja) | 多気筒内燃機関の空燃比制御装置 | |
JP3913940B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4437626B2 (ja) | 内燃機関の空燃比制御装置 | |
EP1403491B1 (en) | Device, method, and program recording medium for control of air-fuel ratio of internal combustion engine | |
JP2003050604A (ja) | プラントの制御装置及び内燃機関の空燃比制御装置 | |
JP2006233973A (ja) | 制御装置 | |
JP3816387B2 (ja) | 制御装置 | |
JP3816386B2 (ja) | 制御装置 | |
JP3773859B2 (ja) | プラントの制御装置及び内燃機関の空燃比制御装置 | |
JP4074142B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2006177369A (ja) | 制御装置 | |
JP3696570B2 (ja) | プラントの制御装置 | |
JP3748418B2 (ja) | 内燃機関の空燃比制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060310 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3816386 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090616 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140616 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |