JP4222816B2 - 周波数整形応答指定型制御を用いたプラント制御装置 - Google Patents
周波数整形応答指定型制御を用いたプラント制御装置 Download PDFInfo
- Publication number
- JP4222816B2 JP4222816B2 JP2002329176A JP2002329176A JP4222816B2 JP 4222816 B2 JP4222816 B2 JP 4222816B2 JP 2002329176 A JP2002329176 A JP 2002329176A JP 2002329176 A JP2002329176 A JP 2002329176A JP 4222816 B2 JP4222816 B2 JP 4222816B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- plant
- value
- rotational speed
- deviation
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/047—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators the criterion being a time optimal performance criterion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0205—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
- G05B13/021—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a variable is automatically adjusted to optimise the performance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B21/00—Systems involving sampling of the variable controlled
- G05B21/02—Systems involving sampling of the variable controlled electric
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Feedback Control In General (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Exhaust Gas After Treatment (AREA)
- Electrical Control Of Ignition Timing (AREA)
Description
【発明の属する技術分野】
この発明は、フィルタリング機能を備えた周波数整形応答指定型制御を実施するプラントの制御装置に関し、より具体的には、フィルタリング機能を備えた周波数整形応答指定型制御により、内燃機関の回転数をロバストに制御する制御装置に関する。
【0002】
【従来の技術】
車両の内燃機関を冷間始動すると、該内燃機関の排気系に設けられた触媒が冷えた状態にあるために、排気ガスが、活性化されていない触媒を通って排出される。これを回避するため、内燃機関を始動する際に触媒を早期に暖めて活性化させる急速触媒暖機制御が提案されている。
【0003】
急速触媒暖機制御の一例によると、内燃機関を始動させた際のアイドリング運転状態において、該内燃機関に吸入される空気量を増大してエンジン回転数を上昇させ、該内燃機関によって生成される排ガスの熱量を増やす。上昇したエンジン回転数を、点火時期を操作することによって目標回転数へとフィードバック制御する。点火時期を遅角側に操作するほど、内燃機関の回転数は低くなる。逆に、点火時期を進角側に操作するほど、内燃機関の回転数は上昇する。
【0004】
上記の点火時期の操作は、従来の一方法によると、PI制御によって実現される。具体的には、内燃機関の実際の回転数(以下、実回転数と呼ぶ)と目標回転数の偏差を算出し、該偏差に基づいて比例ゲインおよび積分ゲインを算出する。比例ゲインおよび積分ゲインに基づいて点火時期の補正量が求められ、該補正量で補正された点火時期が、内燃機関に適用される。
【0005】
また、本願出願人による特開2000−110657では、上記の点火時期の操作をスライディングモード制御によって実現している。スライディングモード制御によれば、内燃機関の実回転数と目標回転数の偏差の減衰速度を、可変に設定可能なパラメータで指定することができる。
【0006】
【発明が解決しようとする課題】
一般に、内燃機関を始動させた際のアイドリング運転状態における内燃機関の回転数制御(以下、アイドリング回転数制御と呼ぶ)は、いくつかの特性を満たすのが望ましい。第一に、内燃機関の実回転数が目標回転数に速やかに収束する速応性(収束性能)を満たすことが望ましい。速応性を満たせば、内燃機関を速やかに安定状態にしつつ、触媒を早期に活性化させることができる。第二に、制御精度が高いことが望ましい。制御精度が高ければ、点火時期を遅角側に操作したとき、内燃機関の回転数の低周波振動を防止することができる。第三に、高周波振動を抑制することが望ましい。高周波振動を抑制することができれば、運転室内に励起される騒音を抑制することができる。
【0007】
上記のPI制御によるアイドリング回転数制御では、点火時期が遅角側にあるか進角側にあるかによって回転数の変動が異なるので、PI制御のゲインを運転状態に適合するよう設定する必要がある。したがって、実回転数を目標回転数に収束させることが困難であり、制御精度を高く維持することが難しい。
【0008】
上記のスライディングモード制御によるアイドリング回転数制御は、高周波振動を励起するおそれがある。図35に、内燃機関と運転室内の間の振動音伝達系の共振点を示すグラフの一例を示す。このグラフは、内燃機関を始動させた際のアイドリング運転状態において、上記のスライディングモード制御を使用して内燃機関の回転数を制御した場合の、内燃機関と運転室内の間に励起される振動の周波数成分を、ある実験によって測定したものである。円500で囲まれた比較的高い周波数成分は、内燃機関の回転数に直接起因するものではなく、内燃機関と運転室内の間の振動音伝達系において発生した共振に起因する。このような周波数成分は、運転室内のシートおよびディスプレイ等に振動を励起するおそれがあり、運転者に乗り心地の悪さを感じさせる原因となる。
【0009】
したがって、内燃機関の始動時に触媒を急速に暖機制御する際に、速応性および制御精度を高く維持しつつ、運転室内に振動を励起させることのないアイドリング回転数制御が必要とされている。
【0010】
さらに、スライディングモード制御においては、切換関数を求め、該切換関数をゼロにすることで、実回転数を目標回転数に収束させる。しかしながら、内燃機関の運転状態に依存して、切換関数をゼロに維持することができない場合がある。切換関数をゼロに維持することができないと、制御システム全体が不安定になるおそれがある。
【0011】
したがって、切換関数をゼロに維持することができない場合でも、制御対象の出力を目標値に安定的に収束させることのできる制御が必要とされている。
【0012】
【課題を解決するための手段】
この発明の一つの側面によると、プラントの制御装置は、離散時間系にてモデル化されたプラントを制御する制御器を備える。制御器は、フィルタリング機能を備えた周波数整形応答指定型制御アルゴリズムを実行して、プラントの出力の目標値に対する偏差が収束するように制御する。この発明によると、周波数整形によって不所望の周波数成分を励起することなく、ロバストにプラントの出力を安定させることができる。また、プラントが離散時間系にてモデル化されるので、周波数整形応答指定型制御を、ソフトウェアプログラムによって容易に実現することができる。
【0013】
この発明の一実施形態によると、制御器は、プラントの目標値に対する偏差に対してフィルタリングを実行するフィルタを備える。制御器は、フィルタリングされた偏差を用いて、周波数整形応答指定型制御アルゴリズムを実行する。フィルタリングによって不所望の周波数成分が除去されるので、該不所望の周波数成分を励起することなく制御を行うことができる。
【0014】
この発明の他の実施形態によると、制御器は、フィルタリングされた偏差を用いて切換関数を決定する。周波数整形応答指定型制御アルゴリズムは、該切換関数を用いて実行される。フィルタリングされた偏差を用いて切換関数を計算するので、望ましくない周波数成分による振動を励起することなく、制御のロバスト安定性を向上させることができる。
【0015】
この発明の他の実施形態によると、周波数整形応答指定型制御アルゴリズムは、フィルタリング機能を備えたスライディングモード制御アルゴリズムである。スライディングモード制御により、外乱、モデル化誤差、および制御対象のむだ時間が存在している場合でも、高いレベルの追従特性を持つ制御を実現することができる。
【0016】
この発明の他の実施形態によると、プラントへの制御入力を構成する等価制御入力項は、フィルタの内部変数を用いて計算される。等価制御入力項により、フィルタリングによる位相遅れが補償され、制御の安定性を向上させることができる。
【0017】
この発明の他の実施形態によると、プラントへの制御入力を構成する到達則入力項は、切換関数の値に応じて計算される。到達則入力項により、制御量を切換関数上に載せて目標回転数に収束させることができる。
【0018】
この発明の他の実施形態によると、プラントへの制御入力を構成する適応則入力項を、切換関数の積算値に応じて計算する。適応則入力項により、プラントの出力の目標値に対する定常偏差を収束させることができる。
【0019】
この発明の他の側面によると、プラントへの制御入力は、フィルタの内部変数を安定化するための補正項を含む。この発明によると、切換関数をゼロに維持することができない場合でも、フィルタの内部変数を発散させることなくプラントを制御することができる。
【0020】
この発明の他の実施形態によると、制御入力は、さらに、プラントの出力の目標値に対する偏差を安定化するための補正項を含む。したがって、切換関数をゼロに維持することができない場合でも、該偏差を安定的に収束させることができる。
【0021】
この発明の他の実施形態によると、制御入力は、さらに、切換関数に応じて変化する補正項を含む。したがって、切換関数をゼロに維持することができない場合でも、切換関数をゼロに漸近させながら上記偏差を安定的に収束させることができる。
【0022】
この発明の他の実施形態によると、制御入力は、さらに、切換関数の積算値に応じて変化する補正項を含む。したがって、切換関数をゼロに漸近させながら上記偏差を安定的に収束させることができる。
【0023】
この発明の他の実施形態によると、上記補正項のそれぞれは、最適レギュレータ制御によって決定される。最適レギュレータにより、各補正項に対応する状態変数の収束度合いを調整して、制御システムの安定化を図ることができる。
【0024】
この発明の他の側面によると、フィルタの内部変数、プラントの出力の目標値に対する偏差、および切換関数を線形独立な状態変数として含む状態方程式が規定される。制御入力は、該状態方程式に基づいて算出された、該状態変数のそれぞれが収束するための補正項を含む。状態方程式は、さらに、前記切換関数の積算値を線形独立な状態変数として含んでもよい。この発明によると、切換関数をゼロに維持することができない場合でも、制御システムを不安定にすることなく各状態変数を収束させることができる。
【0025】
この発明の他の側面によると、プラントは内燃機関であり、プラントの出力は内燃機関の出力回転数である。また、プラントの出力の目標値に対する偏差は、内燃機関の出力回転数の目標回転数に対する偏差である。こうして、不所望の周波数成分を励起することなく、ロバストに内燃機関の実回転数を目標回転数に収束させることができる。
【0026】
この発明の一実施形態によると、プラントは、入力を内燃機関の点火時期補正量、出力を内燃機関の回転数としてモデル化される。制御器は、周波数整形応答指定型制御アルゴリズムを実行して、点火時期補正量を算出する。点火時期補正量を入力としてプラントをモデル化するので、内燃機関の回転数制御の速応性を高めることができる。
【0027】
この発明の他の実施形態によると、フィルタは低域フィルタである。こうして、不所望の高周波成分が励起されることなく制御を実行することができる。
【0028】
この発明の他の実施形態によると、フィルタのカットオフ周波数は、内燃機関と該内燃機関が搭載される車両の運転室内との間の振動音伝達系の共振点以下の周波数に設定される。こうして、共振点を励起する周波数成分を回転数制御から排除することができる。
【0029】
この発明の他の実施形態によると、フィルタは、状態空間表現に基づいて構成される。こうして、フィルタの内部変数を、制御入力演算に用いることができる。
【0030】
この発明の他の実施形態によると、フィルタは、コンピュータプログラムによって実現される。プログラムでフィルタを実現することにより、制御入力演算のために、フィルタの内部変数を簡単に制御アルゴリズムに渡すことができる。また、周波数整形応答指定型制御も、コンピュータプログラムによって実現することができる。こうして、簡単かつ良好な精度で制御を実現することができる。
【0031】
この発明の他の実施形態によると、周波数整形応答指定型制御アルゴリズムは、内燃機関がアイドリング運転状態にあるときに実行される。したがって、アイドリング運転状態における内燃機関の実回転数の目標回転数への追従特性を向上させることができる。さらに、アイドリング回転数制御の速応性、安定性およびロバスト性が向上する。
【0032】
この発明の他の実施形態によると、周波数整形応答指定型制御アルゴリズムは、内燃機関の始動直後に該内燃機関に吸入される空気量を増大して触媒の早期活性化を図る排気系の暖機制御において実行される。したがって、回転数制御の速応性、安定性およびロバスト性を高く維持しながら、触媒の早期活性化を達成することができる。
【0033】
【発明の実施の形態】
内燃機関および制御装置の構成
次に図面を参照してこの発明の実施の形態を説明する。図1は、この発明の実施形態による内燃機関(以下、「エンジン」という)およびその制御装置の全体的なシステム構成図である。
【0034】
電子制御ユニット(以下、「ECU」)という)5は、車両の各部から送られてくるデータを受け入れる入力回路5a、車両の各部の制御を行うための演算を実行するCPU5b、読み取り専用メモリ(ROM)およびランダムアクセスメモリ(RAM)を有する記憶手段5c、および車両の各部に制御信号を送る出力回路5dを備えている。記憶手段5cのROMには、車両の各部の制御を行うためのプログラムおよび各種のデータが格納されている。この発明に従う内燃機関の回転数制御を実現するためのプログラム、および該プログラムの実行の際に用いるデータおよびテーブルは、このROMに格納されている。読み取り専用メモリは、EEPROMのような書き換え可能なROMであってもよい。RAMには、CPU5aによる演算の作業領域が設けられ、車両の各部から送られてくるデータおよび車両の各部に送り出す制御信号が一時的に記憶される。
【0035】
エンジン1は、たとえば4気筒を備えるエンジンであり、吸気管2が連結されている。吸気管2の上流側にはスロットル弁3が設けられている。スロットル弁3に連結されたスロットル弁開度センサ(θTH)4は、スロットル弁3の開度に応じた電気信号を出力し、これをECU5に供給する。
【0036】
吸気管2には、スロットル弁3をバイパスする通路21が設けられている。バイパス通路21には、エンジン1に供給する空気量(以下、「吸入空気量」という)を制御するためのバイパス弁22が設けられている。バイパス弁22は、バイパス弁アクチュエータ23によって駆動される。ECU5は、バイパス弁の開度を示すバイパス開度信号を、バイパス弁アクチュエータ23に供給することにより、バイパス弁22の開弁量を制御する。
【0037】
燃料噴射弁6は、エンジン1とスロットル弁3の間であって、吸気管2の吸気弁(図示せず)の少し上流側に各気筒毎に設けられている。燃料噴射弁6は、燃料ポンプ(図示せず)に接続され、該燃料ポンプを介して燃料タンク(図示せず)から燃料の供給を受ける。燃料噴射弁6は燃料噴射弁アクチュエータ24によって駆動される。ECU5は、燃料噴射弁の開弁時間を示す信号を燃料噴射弁アクチュエータ24に供給することにより、燃料噴射弁6の開弁時間を制御する。
【0038】
吸気管圧力(Pb)センサ8および吸気温(Ta)センサ9は、吸気管2のスロットル弁3の下流側に設けられており、吸気管圧力Pbおよび吸気温Taをそれぞれ検出して電気信号に変換し、それをECU5に送る。
【0039】
エンジン水温(Tw)センサ10は、エンジン1のシリンダブロックの、冷却水が充満した気筒周壁(図示せず)に取り付けられ、エンジン冷却水の温度Twを検出して電気信号に変換し、それをECU5に送る。
【0040】
回転数(Ne)センサ13は、エンジン1のカム軸またはクランク軸(共に図示せず)周辺に取り付けられ、たとえばピストンのTDC位置に関連したクランク角度で出力されるTDC信号パルスの周期よりも短いクランク角度(たとえば、30度)の周期で、CRK信号パルスを出力する。CRK信号パルスは、ECU5によってカウントされ、エンジン回転数Neが検出される。
【0041】
エンジン1の下流側には排気管14が連結されている。エンジン1は、排気管14の途中に設けられた排気ガス浄化装置である三元触媒15を介して排気する。排気管14の途中に設けられた排ガスセンサ16は排気濃度センサであり、排気ガス中の酸素濃度を検出して電気信号に変換し、それをECU5に送る。
【0042】
エンジン1の燃焼室(図示せず)には点火プラグ26が配置され、点火プラグ26は、イグナイタ25を介してECU5に電気的に接続される。ECU5は、イグナイタ25に点火時期信号を供給することにより、点火プラグ26に火花を飛ばし、燃焼室の混合気を点火する。
【0043】
大気圧(Pa)センサ17はECU5に接続されており、大気圧を検出して電気信号に変換し、それをECU5に送る。
【0044】
ECU5に向けて送られた信号は入力回路5aに渡される。入力回路5aは、入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する。CPU5bは、変換されたデジタル信号を処理し、記憶手段5cに格納されているプログラムに従って演算を実行し、車両の各部のアクチュエータに送る制御信号を作り出す。出力回路5dは、これらの制御信号を、バイパス弁アクチュエータ23、燃料噴射弁アクチュエータ24、イグナイタ25およびその他のアクチュエータに送る。
【0045】
エンジン始動時の動作形態
図2を参照して、本発明の一実施形態に従う制御システムによる基本動作の概要を説明する。図2は、エンジン1を始動させたときの、バイパス弁の開度(以下、バイパス開度と呼ぶ)θCMD、点火時期、およびエンジン回転数の遷移の一例を示す。
【0046】
曲線31は、本発明の一実施形態に従う制御システムによって生成されるバイパス開度θCMDの遷移を示す。バイパス開度θCMDに従い、バイパス弁22(図1)は駆動される。曲線34は、本発明の一実施形態に従う制御システムによって生成される点火時期の補正量DIGの遷移を示す。曲線32に示される基本値igbaseを補正量DIGで補正することによって、曲線33で示される点火時期信号iglogが算出される。ここで、基本値igbaseは、エンジン1の通常運転時、すなわちFIREモード以外の運転時における点火時期信号の値を示し、進角側の値を持つ。点火時期信号iglogに従い、点火プラグ26(図1)は駆動される。
【0047】
曲線35は、バイパス開度θCMDおよび点火時期iglogの変動に応じて出力されるエンジン1の実回転数Neの遷移を示す。曲線36は、制御システムによって設定される目標回転数ne/fireの遷移を示す。目標回転数ne/fireは、設定回転数(最終目標回転数NOBJよりも所定値NEFSLDSだけ高い回転数)から最終目標回転数NOBJに向かって低下し、該最終目標回転数NOBJに到達した後は、該最終目標回転数NOBJに維持される。ここで、最終目標回転数NobJは、FIREモードにおいて最終的に維持すべき回転数として予め定められており、通常の(すなわちFIREモード以外の動作モードの)アイドリング運転時の回転数よりも高い回転数に設定されている。
【0048】
エンジン1をスタータモータ(図示せず)によりクランキングさせると、図1に示されるシステムは始動モードを開始する。図2の例における始動モードは、アクセルペダル(図示せず)が操作されていないアイドリング運転状態を示している。この状態においては、スロットル弁4の開度はゼロであり、よって燃焼室の吸気は、バイパス弁22のみを介して行われる。始動モードにおいてエンジン1の完爆が確認されると、動作モードは、エンジン1のアイドリング運転を行いながら触媒15の早期活性化を図るFIREモードに移行する。
【0049】
FIREモードにおいては、通常のアイドリング運転時よりも大きなバイパス開度θCMDが生成される。排気系に排出される排ガスの熱量は概ね吸入空気量に比例する。したがって、FIREモード゛の制限時間TFIRELMT内に触媒の温度を上昇させて触媒を活性化に至らせることができる空気量を吸入するように、バイパス開度θCMDは生成される。
【0050】
FIREモードにおける吸入空気量の増加に伴い、実回転数Neは、曲線35に示されるように上昇する。実回転数Neが設定回転数に到達すると、エンジン回転数のフィードバック制御が開始される。この回転数制御は、実回転数Neを目標回転数ne/fireに収束させるように、曲線34に示されるような点火時期補正量DIGを算出する。算出された補正量DIGにより、点火時期の基本値igbaseが補正され、点火時期信号iglogを決定する。
【0051】
曲線35から明らかなように、吸入空気量の増加に伴い、回転数Neは目標回転数ne/fireを超えて上昇する。よって、点火時期の補正量DIGは、曲線34に示されるように、点火時期を基本値igbaseに対して遅角側に補正する値(≦0)を持つ。結果として、点火時期信号iglogは、曲線33に示されるように、基本値igbaseが遅角側に補正された値を持つ。エンジン1の点火プラグ26(図1)は、算出された点火時期信号iglogに従って点火動作を行う。こうして、曲線35に示されるように、エンジン1の実回転数Neは目標回転数ne/fireに収束されていく。
【0052】
このように、エンジン1を始動した際のアイドリング運転時に実施されるFIREモードは、吸入空気量を増量すると共に、点火時期を遅角側に操作することによってエンジン回転数Neを目標回転数ne/fire(最終的には最終目標回転数NOBJ)に収束させる。したがって、エンジン1の燃焼室における混合気の燃焼によって生成される排ガスの熱量が、通常のアイドリング運転時よりも多くなる。この熱量が多くなった排ガスにより、触媒15が早期に活性化され、排ガスの浄化性能を早期に確保することが可能となる。それと同時に、回転数制御により、吸入空気量の増量によって上昇する回転数を適正な値に維持することができる。
【0053】
ここで、FIREモードに移行してからの経過時間を、“t/fire”で表す。FIREモードは、所定の制限時間TFIRELMTに達するまで続く。FIREモードが終了した後、エンジン1の通常運転を行う通常モードに移行する。通常モードにおいては、バイパス開度θCMDは、たとえばエンジン1の通常のアイドリング運転を行うための開度(すなわち、FIREモードにおける開度よりも小さい開度)に操作される。また、点火時期は、曲線33に示されるように、基本値igbaseにより定まる通常の進角側の値に徐々に戻される。
【0054】
FIREモードにおいて、アクセルペダルが操作される等によってアイドリング以外の運転を行う状況になった場合は、FIREモードの中断動作を実行し、FIREモードを抜ける。この中断動作にあたっては、触媒装置の昇温および活性化を確実にするために、バイパス開度を操作して吸入空気量を増量させることは継続される。しかしながら、エンジン1の動力性能を確保するため、点火時期は、基本値igbaseによって定まる通常の進角側の値に戻される。
【0055】
以下、吸入空気量を増量させながら回転数制御を行う実施形態について説明する。しかしながら、吸入空気量の増量を行うことなく回転数制御を行う場合についても、本発明に従う回転数制御を適用することができる。
【0056】
制御システムの全体構成
図3は、本発明の一実施形態に従う制御システムの機能ブロック図を示す。これらの機能ブロックは、典型的にはソフトウェアプログラムにより実現される。
【0057】
始動モード判定部41は、エンジン1の動作モードが、図2に示される始動モードにあるかどうかを判定する。この判定は、前述したように完爆を確認することによって行うことができる。完爆の確認は、検出されたエンジン回転数Neに基づいて行うことができる。始動モード判定部41によって始動モードと判定されたならば、始動モード処理部42が、始動モード処理を実行する。この処理は、エンジン1を始動するため、図1に示される各種センサの検出値から、予め記憶手段5c(図1)に格納されたテーブルおよび演算式を参照することにより、点火時期、燃料供給量およびバイパス開度を決定する。決定された点火時期、燃料供給量およびバイパス開度に従って、点火プラグ26、燃料噴射弁6およびバイパス弁22が駆動される。
【0058】
始動モード判定部41によって始動モードでないと判定されたならば、燃料供給量算出部43は、図1に示される各種センサの検出値から、予め記憶手段5cに格納されたテーブルおよび演算式を参照することにより、エンジン1への燃料供給量を算出する。動作モード判定部44は、図2に示されるFIREモードおよび通常モードのいずれを実行すべきかを判断する。
【0059】
バイパス開度算出部45は、図2に示されるように、触媒15の早期活性化を実現するためのバイパス開度θCMDを生成する。触媒15に供給される排ガスの熱量は概ね吸入空気量に比例する。したがって、バイパス開度算出部45は、吸入空気量をフィードバック制御することによりバイパス開度θCMDを算出する。この制御を、以下「吸気量制御」と呼ぶ。吸気量制御を実行することにより、触媒15の昇温形態のばらつきを解消することができる。この実施例においては、吸気量制御に、後述するスライディングモード制御を使用する。
【0060】
点火時期算出部46は、図2に示されるように、実回転数Neを目標回転数ne/fireに収束させるための点火時期信号iglogを生成する。点火時期算出部46は、エンジン回転数をフィードバック制御することにより点火時期iglogを算出する。この制御を、以下「回転数制御」と呼ぶ。この実施例においては、回転数制御に、後述する周波数整形スライディングモード制御を使用する。
【0061】
吸気量制御の構成
図4は、本発明の一実施形態に従う、吸気量制御の制御ブロック図を示す。吸気量制御は、エンジン1を制御対象(プラントともいう)とする。エンジン1への実際の吸入空気量の積算値qair/pre(以下、推定積算吸気量という)を推定手段52によって推定し、目標設定手段53によって算出された吸入空気量の積算値の目標(以下、目標積算吸気量という)qair/cmdと比較する。上記の比較結果に基づいて、制御器51は、バイパス開度の補正量i/sldを求める。補正量i/sldによって補正されたバイパス開度θCMDに従って、エンジン1のバイパス弁22が駆動される。その後、エンジン1への実際の積算吸気量qair/preが再び推定手段52によって推定される。このように、制御器51は、推定積算吸気量qair/preを目標積算吸気量qair/cmdに収束させるようバイパス開度の補正量i/sldを求めるフィードバック制御を実行する。
【0062】
以下に、推定手段52、目標設定手段53および制御器51によって実行される具体的な計算について説明する。これらの計算は、典型的にはコンピュータプログラムによって実施される。
【0063】
推定手段52は、制御サイクルあたりのエンジン1への実際の吸入空気量gair/preを、式(1)に従い推定する。ここで、Ga1は、予め決められた値である。
【0064】
【数1】
【0065】
式(1)で求められた推定吸気量gair/preを、前回のサイクルで算出された推定積算吸気量qair/pre(k-1)に加算し、今回のサイクルにおける推定積算吸気量qair/pre(k)を求める。ここで、kは制御サイクルを識別する識別子である。(k)は今回のサイクルを表し、(k-1)は前回のサイクルを表す。
【0066】
【数2】
【0067】
目標設定手段53は、まず、触媒15の早期活性化を達成するのに最適な吸入空気量を供給するという条件下で標準開度θ0を算出する。標準開度θ0は、エンジン水温Twから、予め定められたテーブルを参照して得た値を、FIREモード経過時間t/fireに基づく値で補正することにより求められる(詳細については後述される)。
【0068】
1サイクル当たりの目標吸気量gair/cmdを、標準開度θ0に対応する吸気量として、式(3)に従い求める。ここで、1/Neは、1サイクル(すなわち1TDC)あたりの時間を表す。Ga2は、標準大気圧、標準吸気温および標準吸気管圧力によって定まる定数を示す。
【0069】
【数3】
【0070】
式(3)で求められた目標吸気量を、前回のサイクルで算出された目標積算吸気量qair/cmd(k-1)に加算し、今回のサイクルにおける目標積算吸気量qair/cmd(k)を求める。
【0071】
【数4】
【0072】
次に、制御器51によって実施される吸気量制御の概要を説明する。この実施例においては、吸気量制御を、所望の減衰速度を指定することができる応答指定型制御で実現する。より具体的には、吸気量制御は、応答指定型制御としてスライディングモード制御を用いて実施される。
【0073】
制御対象であるエンジン1を、出力を積算吸気量qair/pre、入力をバイパス開度Θとして、以下のようにモデル化することができる。エンジン1は、離散時間系モデルとしてモデル化される。このようにモデル化することにより、吸気量制御のアルゴリズムをコンピュータ処理に適した簡易なものとすることができる。
【0074】
【数5】
【0075】
a1、a2およびb1は、大気圧Pa、吸気温Ta、回転数Ne等に応じたモデルパラメータである。式(5)に示されるように、次回のサイクルにおける推定積算吸気量qair/pre (k+1)は、今回のサイクルにおける推定積算吸気量qair/pre(k)と、前回のサイクルにおける推定積算吸気量qair/pre(k-1)と、今回のサイクルにおけるバイパス開度Θとを用いて表現されることができる。
【0076】
スライディングモード制御を実行するため、切換関数σ1を式(6)のように設定する。ここで、Eqは、推定積算吸気量と目標積算吸気量の偏差(以下、吸気量偏差という)を示す。pole/iは、切換関数σ1の設定パラメータであり、−1<pole/i<1となるよう設定される。
【0077】
【数6】
【0078】
切換関数σ1(k)=0とした式は等価入力系と呼ばれ、制御量である吸気量偏差Eqの収束特性を規定する。σ1(k)=0とすると、式(6)は以下の式(7)のように変形することができる。
【0079】
【数7】
【0080】
ここで、図5および式(7)を参照して、切換関数σ1の特性を説明する。図5は、縦軸がEq(k)および横軸がEq(k-1)の位相平面上に、式(7)を線61で表現したものである。この線61を切換線と呼ぶ。Eq(k-1)およびEq(k)の組合せからなる状態量(Eq(k-1), Eq(k))の初期値が、点62で表されているとする。スライディングモード制御は、点62で表される状態量を、切換線61上に載せて該切換線61上に拘束するよう動作する。スライディングモード制御によると、状態量を切換線61上に保持することにより、該状態量を、外乱等に影響されることなく、極めて安定的に位相平面上の原点0に収束させることができる。言い換えると、状態量(Eq(k-1),Eq(k))を、式(7)に示される入力の無い安定系に拘束することにより、外乱およびモデル化誤差に対してロバストに推定積算吸気量qair/preを目標積算吸気量qair/cmdに収束させることができる。
【0081】
この実施形態では、切換関数σ1に関する位相空間が2次元であるので、切換線は直線61で表される。位相空間が3次元である場合には、切換線は平面で表され、位相空間が4次元以上になると、切換線は超平面となる。
【0082】
切換関数設定パラメータpole/iは、可変に設定することができるパラメータである。設定パラメータpole/iを調整することにより、吸気量偏差Eqの減衰(収束)特性を指定することができる。
【0083】
図6は、スライディングモード制御の応答指定特性の一例を示すグラフである。線63は、pole/iの値が“−1”である場合の応答特性を示し、線64はpole/iの値が“−0.8”である場合の応答特性を示し、線65はpole/iの値が“−0.5”である場合の応答特性を示す。線63〜65から明らかなように、pole/iの値に従って、吸気量偏差Eqの収束速度が変化する。pole/iの絶対値の値を小さくするほど、収束速度が速くなることがわかる。
【0084】
推定積算吸気量qair/preを目標積算吸気量qair/cmdに収束させるため、上記の式(5)のようにモデル化された制御対象に与えるべき入力として、制御器51が生成する制御入力Θ(すなわち、バイパス開度)を求める。制御入力Θは、等価制御入力Θeq、到達則入力Θrchおよび適応則入力Θadpの総和として求められる。
【0085】
等価制御入力Θeqは、状態量(Eq(k-1),Eq(k))を切換線に拘束するための入力であるので、σ1(k)=σ1(k-1)を満たすことが条件となる。この条件と上記のモデル式(5)に基づき、以下の式(8)のように求められる。
【0086】
【数8】
【0087】
式(8)から明らかなように、1番目の大括弧は吸気量偏差Eqに基づくフィードバック項であり、2番目の大括弧は目標積算吸気量qair/cmdに基づくフィードフォワード項である。フィードフォワード項は、吸気量偏差Eqが定常的にゼロとなるような状態で制御対象に与えるべき入力である。一方、標準開度θ0は、前述したように目標積算吸気量qair/cmdを規定するバイパス開度である。すなわち、標準開度θ0は、標準開度θ0に対応する吸入空気量がその目標値に一義的に定まるという条件下で、フィードフォワード的に設定される。したがって、フィードフォワード項を標準開度θ0に置き換えることができる。
【0088】
フィードバック項は、この実施例においては省略される。本願発明者等は、各種検討により、状態量が切換直線の近傍に存在する状態においては、この吸気量制御の安定性が高いことを判明した。また、この実施例では、後述する適応則入力を用いるので、状態量の切換直線への収束の安定性を高めることができる。したがって、フィードバック項を省略しても、実用上吸気量制御の安定性が損なわれることがない。したがって、等価制御入力Θeqは、式(9)のように求められる。
【0089】
【数9】
【0090】
次に、到達則入力Θrchおよび適応則入力Θadpを、式(10)および(11)に従ってそれぞれ算出する。ここで、FxおよびFyは、それぞれ、到達則のゲインおよび適応則のゲインを規定する係数である。これらの値は、切換関数σ1の値の切換線σ1=0への収束の安定性および速応性等を考慮して、シミュレーション等を介して予め同定される。
【0091】
【数10】
【0092】
【数11】
【0093】
こうして、バイパス開度Θが、式(12)のように求められる。
【0094】
【数12】
【0095】
式(12)により、補正量i/sldは、到達則入力Θrchおよび適応則入力Θadpを加算したものとして求められる。補正量i/sldで標準開度θ0を補正することで、バイパス開度Θ、すなわち制御入力が求められる。図2を参照して説明したバイパス開度θCMDは、このようにして求められたバイパス開度Θに基づいて決定される。
【0096】
図7は、吸気量制御の動作態様の一例を示す。時間軸の原点は、FIREモードの開始時点を示す。曲線53は、標準バイパス開度θ0の遷移を示す。標準バイパス開度θ0は、前述したように、FIREモードにおいて触媒の活性化を適正に行うために吸入されるべき吸入空気量を規定するバイパス開度である。曲線55は、標準バイパス開度θ0に基づいて算出される目標積算吸気量qair/cmdの遷移を示す。目標積算吸気量qair/cmdは、触媒に与えられる熱量の積算値の目標を示す。曲線56は、実際の触媒に与えられる熱量を推定して算出した推定積算吸気量qair/preの遷移を示す。曲線54は、目標積算吸気量qair/cmdと推定積算吸気量qair/preの偏差Eqに基づくスライディングモード制御によって求められた補正量i/sldで標準バイパス開度θ0(曲線53)を補正した値Θの遷移を示す。曲線57は、切換関数σ1の設定パラメータpole/iの遷移を示す。
【0097】
バイパス開度算出部45(図3)は、FIREモードが開始されると、吸入空気量を増量させる。このとき、FIREモードが開始されてから時間TISLDLMTが経過するまで、目標および推定積算吸気量qair/cmdおよびqair/preを強制的にゼロにし、標準バイパス開度θ0に対する補正を行わないようにする。これは、吸入空気量の増量を開始した直後においては、推定および目標積吸気量の信頼性が乏しいと考えられるからである。時間TISLDLMTが経過した後、バイパス開度算出部45は、一定の制御サイクルで、目標積算吸気量qair/cmdと推定積算吸気量qair/preの偏差Eqを算出する。算出された偏差Eqをゼロにするように前述したような方法でスライディングモード制御が実行される。
【0098】
バイパス開度算出部45は、式(6)に示される切換関数σ1の値をゼロにするよう、該切換関数σ1の制御入力を求め、補正量i/sldを算出する。補正量i/sldは標準バイパス開度θ0に加算される。この加算された値Θの遷移が曲線54に示されており、このΘに基づいてバイパス開度θCMDが決定される。
【0099】
一方、曲線57に示されるように、バイパス開度算出部45は、時間TPOLEXに達するまでは、切換関数σ1の設定パラメータpole/iを−1から徐々に増加させ、時間TPOLEXに達した後は、設定パラメータpole/iを一定に維持する。すなわち、時間TPOLEXに達する前の偏差Eqの減衰速度を、時間TPOLEXに達した後の偏差Eqの減衰速度よりも遅くする。こうすることにより、吸入空気量の急激な変化が回避され、エンジン1の始動直後において安定的な燃焼状態を維持することができる。
【0100】
図2を参照して説明したように、吸入空気量の増量は、点火時期を通常よりも遅角側に操作させながら行われる。増量形態が不適切な場合、エンジン1の燃焼状態およびエミッション状態を劣化させるおそれがある。標準開度θ0に基づいてバイパス開度θCMDを算出することにより、エンジン1の燃焼状態およびエミッション状態を損なうことなく、安定したアイドリング運転状態を実現することができる。
【0101】
回転数制御の構成
図8は、本発明の一実施形態に従う回転数制御の制御ブロック図を示す。この実施形態においては、回転数制御を、所望の減衰速度を指定することができ、かつ周波数整形を考慮した、周波数整形応答指定型制御で実現する。より具体的には、回転数制御は、周波数整形応答指定型制御として周波数整形スライディングモード制御を用いて実施される。
【0102】
図8に示されるように、この実施形態に従う周波数整形スライディングモード制御は、エンジン1を制御対象(プラント)とする。エンジン1の実回転数Neを回転数センサ13(図1)により検出して、目標回転数ne/fireと比較する。上記の比較結果に基づいて、制御器71は、点火時期の補正量DIGを求める。点火時期補正量DIGによって補正された点火時期iglogに従って、エンジン1の点火動作が実施される。その後、エンジン1の実回転数Neが回転数センサ13によって再び検出される。
【0103】
このように、制御器71は、エンジンの実回転数Neを目標回転数ne/fireにするよう点火時期補正量DIGを求めるフィードバック制御を実行する。制御対象であるエンジン1を、出力をエンジン回転数Ne、入力を点火時期補正量DIGとして、以下のようにモデル化することができる。式(13)から明らかなように、エンジンは、離散時間系モデルとしてモデル化される。このようにモデル化することにより、回転数制御のアルゴリズムをコンピュータ処理に適した簡易なものとすることができる。
【0104】
【数13】
【0105】
ここで、kは制御サイクルを識別する識別子である。(k)は現在のサイクルを示し、(k-1)は前回のサイクルを示し、(k+1)は次回のサイクルを示す。
【0106】
Enは、式(13)に示されるように、エンジンの実回転数Neの目標回転数ne/fireに対する偏差(以下、回転数偏差と呼ぶ)を示す。dは、むだ時間を示す。a3、a4およびb2はモデルパラメータであり、制御モデルの挙動特性が実際のエンジンの挙動特性に整合するようシミュレーション等を通じて予め同定される。
【0107】
式(13)に示されるように、次回のサイクルにおける回転数偏差En(k+1)は、今回のサイクルにおける回転数偏差En(k)と、前回のサイクルにおける回転数偏差En(k-1)と、今回のサイクルにおける点火時期補正量DIGとを用いて表現されることができる。
【0108】
図9に、実際のエンジンと上記モデル化されたエンジンの周波数特性を示す。曲線75および77は、実際のエンジンの周波数特性を示し、曲線76および78は、式(13)に従ってモデル化されたエンジンの周波数特性を示す。図から明らかなように、楕円79で囲まれる高い周波数領域を除き、上記のモデルが実際のエンジンに追従していることがわかる。言い換えると、所定の周波数以下の領域においては、上記モデルを用いて制御器71を構成すればよいことがわかる。該所定の周波数より大きい高周波領域では、モデル化誤差が含まれることがわかる。この発明の周波数整形スライディングモード制御は、実際のエンジンの周波数特性におけるこのような高周波成分を除去することを含む。
【0109】
回転数制御における第1の制御器の構成
図10は、本発明の第1の実施例に従う、図8に示される制御器71の詳細なブロック図を示す。制御器71は、低域フィルタ81および周波数整形スライディングモードコントローラ(以下、単に「スライディングモードコントローラ」と呼ぶ)82をさらに備える。低域フィルタ81には、回転数センサ13によって検出された実回転数Neと目標回転数ne/fireの偏差Enが入力される。低域フィルタ81は、回転数偏差Enから高周波成分を除去した信号NElowを出力する。
【0110】
スライディングモードコントローラ82には、回転数偏差En、低域フィルタ81の内部の状態変数(内部変数)Z、および低域フィルタ81から出力された信号NElowが入力される。スライディングモードコントローラ82は、スライディングモード制御を実行し、回転数偏差Enがゼロに収束するよう、点火時期補正量DIGを求める。
【0111】
以下に、低域フィルタ81およびスライディングコントローラ82で実行される具体的な計算について説明する。これらの計算は、典型的にはコンピュータプログラムによって実施される。
【0112】
当業者に既知の状態空間表現を用いると、低域フィルタ81を、式(14)で表される状態方程式および式(15)で表される出力方程式で表すことができる。
【0113】
【数14】
【0114】
【数15】
【0115】
ここで、Enは、前述したように、実回転数Neと目標回転数ne/fireの偏差を示す。Zは、低域フィルタ81の内部変数を表す(n×1)の行列である。F、G、HおよびLはいずれもモデルパラメータ行列であり、Fはn×n行列、Gはn×1行列、Hは1×n行列、Lはスカラー値である。低域フィルタ81を設計する際に、カットオフ周波数等のフィルタ特性を指定することにより、これらのモデルパラメータ行列の値は予め定められる。
【0116】
また、式(14)および式(15)から明らかなように、低域フィルタ81から、低域フィルタ81の内部変数Zと、回転数偏差Enがフィルタリングされた信号NElowが出力される。
【0117】
カットオフ周波数は、エンジンと運転室内の間の振動音伝達系の共振点以下の周波数とすることが好ましい。そうすることにより、エンジンと運転室内の間の振動音伝達系で発生する共振を抑制することができる。
【0118】
図11は、本発明の実施形態に従う低域フィルタ81の周波数特性の一例を示す。低域フィルタ81は、モデル化誤差を考慮してカットオフ周波数が設定されたバタワースフィルタとして実現されている。カットオフ周波数より高い周波数領域において、ゲインおよび位相が減衰していることがわかる。このような低域フィルタによって回転数偏差Enをフィルタリングすると、回転数偏差Enの高周波成分が除去される。したがって、低域フィルタ81からの出力信号NElowには、望ましくない高周波成分が含まれていない。この信号NElowに基づいて周波数整形スライディングモードを実行することにより、望ましくない高周波振動の励起を抑制してエンジン回転数を収束させることができる。
【0119】
式(14)および(15)に示されるように、この実施例においては、状態空間表現を用いてIIR型の低域フィルタを設計した。しかしながら、FIRフィルタ型の低域フィルタを用いてもよい。
【0120】
スライディングモードコントローラ82は、周波数整形スライディングモード制御を実行するため、切換関数σ2を式(16)のように設定する。
【0121】
【数16】
【0122】
ここで、NElowは、前述したように低域フィルタ81から出力される、高周波成分が除去された回転数偏差信号を示す。Enは、実回転数と目標回転数の偏差を示す。pole/igは、切換関数σ2の設定パラメータであり、−1<pole/ig<1となるよう設定される。
【0123】
切換関数σ2(k)=0とした式は等価入力系と呼ばれ、制御量である回転数偏差Enの収束特性を規定する。σ2(k)=0とすると、式(16)は以下の式(17)のように変形することができる。
【0124】
【数17】
【0125】
前述したように、図5と同様の位相平面上に式(17)を表現することができる。式(17)は、縦軸がEn(k)および横軸がNElow(k-1)の位相平面上に切換線として表現される。周波数整形スライディングモードは、NElow(k-1)およびEn(k)の組合せからなる状態量(NElow(k-1), En(k))を、切換線上に載せて該切換線上に拘束するよう動作する。状態量を切換線上に保持することにより、該状態量を、外乱等に影響されることなく、極めて安定的に位相平面上の原点0に収束させることができる。言い換えると、状態量(NElow(k-1),En(k))を、式(17)に示される入力の無い安定系に拘束することにより、外乱およびモデル化誤差に対してロバストにエンジン回転数Neを目標回転数ne/fireに収束させることができる。
【0126】
切換関数設定パラメータpole/igは、可変に設定することができるパラメータである。パラメータpole/igを調整することにより、回転数偏差Enの減衰特性を指定することができる。図6に示される応答指定特性は、パラメータpole/igにも同様にあてはまる。
【0127】
図12は、上記の式(17)の概念を模式的に示すグラフである。線91は、回転数偏差Enの遷移を示し、曲線92は、高周波成分の除去された信号NElowの遷移を示し、曲線93は、信号NElowに設定パラメータpole/igを乗算した値の遷移を示す。
【0128】
回転数偏差Enは、高周波等の外乱の影響で、実際には線91に示されるようにジグザグに変動することがある。しかしながら、式(16)のように切換関数σ2を設定して、σ2=0になるよう制御することにより、外乱の影響を受けずに回転数偏差Enをゼロに収束させることができる。すなわち、式(17)から明らかなように、σ2=0に制御するということは、今回のサイクルの回転数偏差En(k)を、前回のサイクルで高周波成分を除去するようフィルタリングされた回転数偏差NElow(k-1)のpole/ig倍(前述したように、pole/igの絶対値は1未満である)になるよう制御することを意味する。具体的にいうと、図の矢印で示されるように、この発明の回転数制御は、今回のサイクルkにおいてフィルタリングされた回転数偏差NElowの値(参照番号94によって示される点)をpole/ig倍した所(参照番号95によって示される点)に、次回のサイクル(k+1)における回転数偏差Enが来るよう制御する。こうして、回転数偏差En(k)は、外乱を含まない信号NElow(k-1)に基づき、設定パラメータpole/igで指定された速度で、ゼロに向かって収束する。
【0129】
従来のスライディングモード制御では、設定パラメータpole/igの大きさを小さくして回転数偏差Enの減衰特性を向上させると、高周波振動に対する安定性が損なわれるおそれがあった。しかしながら、本発明によれば、回転数偏差Enの高周波成分が低域フィルタによって除去され、該高周波成分が除去された制御量NElowに基づいて、切換関数σ2が設定される。したがって、切換関数σ2には不所望の高周波成分が含まれなくなり、回転数偏差Enの減衰特性を損なうことなく、回転数偏差Enの不所望の振動を抑制することが可能となる。
【0130】
図13は、周波数整形スライディングモードコントローラ82のさらに詳細な機能ブロック図を示す。これらの機能ブロックは、典型的にはコンピュータプログラムによって実現される。
【0131】
スライディングモードコントローラ82は、前述したように、回転数偏差Enおよびフィルタリングされた回転数偏差NElowに基づいて切換関数σ2を計算する切換関数算出部95を有する。切換関数算出部95によって計算された切換関数σ2をゼロにするよう、3つの制御入力算出部96〜98によって制御入力が決定される。等価制御入力算出部96は、状態量を切換直線上に拘束するための制御入力Ueqを、低域フィルタの内部変数Zを考慮に入れて算出する。
【0132】
到達則入力算出部97は、状態量を切換直線上に載せるための制御入力Urchを算出する。適応則入力算出部98は、モデル化誤差および外乱を抑制しつつ、状態量を切換直線に載せるための制御入力Uadpを算出する。点火時期補正量算出部99は、上記の3つの制御入力Ueq、UrchおよびUadpの和を算出し、点火時期補正量DIGを求める。
【0133】
等価制御入力算出部96によって実行される具体的な計算式を説明する。等価制御入力Ueqは、状態量を切換線上に拘束するための入力であるので、式(18)を満たすことが条件となる。
【0134】
【数18】
【0135】
また、式(13)において、むだ時間d=0としたモデルを設定する。
【0136】
【数19】
【0137】
むだ時間d=0としたので、上記の式(19)は、むだ時間のモデル化誤差を有する。しかしながら、このモデル化誤差は、適応則入力を持つスライディングモード制御のロバスト性によって補償されることができる。
【0138】
一方、低域フィルタ81の状態方程式および出力方程式は、前述したように、式(14)および(15)のように表される。式(14)、(15)、(18)および(19)から、σ2(k)およびσ2(k+1)は式(20)および(21)のように算出される。
【0139】
【数20】
【0140】
【数21】
【0141】
したがって、σ2(k+1)=σ2(k)とするための等価制御入力Ueqは、式(20)および(21)から、式(22)ように求めることができる。
【0142】
【数22】
【0143】
式(22)から明らかなように、等価制御入力Ueqには、低域フィルタ81の内部変数Z(k)と、フィルタ特性を表すパラメータF、G、HおよびLが含まれている。これにより、フィルタリングによる位相遅れが補償され、NElowを切換線に維持することができる。
【0144】
次に、到達則入力算出部97は、切換関数σ2の値に応じた値を持つ到達則入力Urchを、式(23)に従い算出する。この実施例では、到達則入力Urchを、切換関数σ2の値に比例した値を持つよう計算する。Krchは到達則のフィードバックゲインを示し、これは、切換直線σ2=0への収束の安定性および速応性等を考慮して、シミュレーション等に基づいて予め定められる。
【0145】
【数23】
【0146】
次に、適応則入力算出部98は、切換関数σ2の積算値に応じた値を持つ適応則入力Uadpを、式(24)に従い算出する。この実施例では、適応則入力Uadpを、切換関数σ2の積算値に比例した値を持つよう計算する。Kadpは適応則のフィードバックゲインを示し、これは、切換直線σ2=0への収束の安定性および速応性等を考慮して、シミュレーション等に基づいて予め定められる。
【0147】
【数24】
【0148】
スライディングモード制御においては、この適応則は考慮されないのが通常である。本発明の実施形態に従う周波数整形スライディングモード制御においては、上記のような適応則を考慮することにより、切換関数σ2の定常偏差を補償することができる。すなわち、上記の式(23)のように表される到達則入力を用いた場合でも、式(24)で表される適応則入力を用いることにより、状態量を切換直線に近づけることができる。具体的にいえば、通常のスライディングモード制御においては、到達則入力を切換直線に対してスイッチングさせることにより、状態量を切換直線に近づける。しかしながらそのような制御を行うと、チャタリングを発生させるおそれがある。したがって、本発明においては、切換関数に比例する値を持つよう到達則入力を規定し、さらに、状態量を切換直線に安定的に近づけるため、切換関数の積算値に比例する値を持つ適応則入力を制御入力に付加する。こうして、チャタリングを起こすことなく、安定的に状態量を切換直線に載せることができ、よって切換関数に対する外乱およびモデル化誤差を抑制することができる。
【0149】
点火時期補正量算出部99は、式(25)に示されるように、等価制御入力Ueq、到達則入力Urchおよび適応則入力Uadpを加算することによって、点火時期補正量DIGを求める。
【0150】
【数25】
【0151】
このように、本発明に従う周波数整形スライディングモード制御は、低域フィルタによって制御量(すなわち回転数偏差)の低周波成分を抽出し、該低周波成分を用いて切換関数を定義する。周波数整形スライディングモード制御によれば、制御量の目標値への追随特性を、切換関数設定パラメータによって指定することができる。また、切換関数の収束特性を、到達則および適合則のフィードバックゲインによって規定することができる。さらに、抑制すべき周波数成分を低域フィルタによって規定することができる。このような特性をそれぞれ別個に設計することができるので、本発明の周波数整形スライディングモードは容易に実現することが可能である。
【0152】
図14は、回転数制御を開始したt1秒後に外乱を付加した場合のエンジン回転数の変動の一例を示す。図14の(a)は、回転数制御を従来のPI制御によって実施した場合を示す。図14の(b)は、回転数制御を、低域フィルタを用いない従来のスライディングモード制御によって実施した場合を示す。図14の(c)は、回転数制御を、本発明の一実施形態に従う周波数整形スライディングモード制御で実施した場合を示す。
【0153】
PI制御によると、外乱を付加した時に回転数の偏差の最大はn1に達しており、かつ回転数の振動が不安定な状態が継続している。また、従来のスライディングモード制御によると、外乱を付加した時の偏差はPI制御に比べて減少し、振動安定性もPI制御に比べてかなり向上している。
【0154】
本発明の周波数整形スライディングモード制御は、従来のスライディングモード制御と比較して、外乱付加時における偏差を増やすことなく、振動安定性がさらに良好になっていることがわかる。このように、周波数整形スライディングモード制御によると、高周波成分が除去されるので、回転数偏差を増やすことなく振動安定性を向上させることができる。その結果、エンジンと運転室内の間の振動音伝達系における共振を抑制することができる。とりわけ、エンジンを始動させた際のアイドリング運転状態において、回転数制御による振動が運転室内に励起されるのを抑制することができる。
【0155】
回転数制御における第2の制御器の構成
図15は、本発明の第2の実施例に従う、制御器71(図8)の詳細なブロック図を示す。図10と比較して明らかなように、第1の実施例と異なる点は、線形変換型周波数整形スライディングモードコントローラ(以下、単に「線形スライディングモードコントローラ」と呼ぶ)182を備える点である。線形スライディングモードコントローラ182は、線形独立な状態変数を制御入力に含むように、応答指定型制御を実施する。この応答指定型制御を、線形変換型周波数整形応答指定型制御と呼ぶ。この実施例では、該制御を、線形変換型周波数整形スライディングモード制御を用いて実現する。
【0156】
低域フィルタ81は、図10に示されるものと同様のフィルタを用いることができる。低域フィルタ81の状態方程式および出力方程式は、前述した式(14)および(15)で表される。また、線形スライディングモードコントローラ182は、式(16)で示される切換関数σ2を設定する。切換直線は、式(17)のように表される。
【0157】
線形変換型周波数整形スライディングモード制御は、詳細は後述されるが、NElow(k-1)およびEn(k)の組合せからなる状態量(NElow(k-1), En(k))を、切換直線上に漸近させると同時に、該状態量を位相平面上の原点0に収束させる。言い換えると、切換関数σ2をゼロに漸近させると同時に、偏差Enをゼロに収束させる。こうして、最終的には、状態量(NElow(k-1), En(k))が、式(17)に示される入力の無い安定系に拘束され、エンジン回転数Neが目標回転数ne/fireに収束する。線形変換型スライディングモードの詳細な挙動は、後述される。
【0158】
線形スライディングモードコントローラ182は、式(26)に従って制御入力DIGを求める。K1〜K3は状態フィードバック係数であり、K1は(1×n)行列、K2およびK3はスカラー値である。
【0159】
【数26】
【0160】
式(26)に示されるように、制御入力DIGは、フィルタの内部変数Zを安定化するための補正項K1、回転数偏差Enを安定化するための補正項K2、および切換関数σ2に応じて変化する補正項K3を持つ。これらの補正項は、最適レギュレータ制御を用いて、予め同定される。
【0161】
ここで、上記補正項K1〜K3を同定する手法を、説明する。式(13)のモデル式は、むだ時間d=0と設定すると、状態空間表現を用いて式(27)のように表されることができる。
【0162】
【数27】
【0163】
むだ時間d=0としたので、上記の式(27)は、むだ時間のモデル化誤差を有する。しかしながら、このモデル化誤差は、スライディングモード制御のロバスト性によって補償されることができる。
【0164】
一方、低域フィルタ81の上記式(15)を用いると、切換関数σ2は、式(28)のように表される。
【0165】
【数28】
【0166】
ここで、制御システム全体の安定性を考慮しながら、切換関数σ2の値をゼロに収束すると共に、制御量Enを漸近収束させるため、該制御システムのシステム式を、以下のようにして求める。まず、式(27)に示される制御対象の状態方程式と、式(14)に示されるフィルタの状態方程式をまとめると、式(29)が導かれる。
【0167】
【数29】
【0168】
切換関数σ2を状態変数に含めるため、式(28)に基づいて、式(30)に示されるような状態変数の線形変換式を導く。ここで、Iは単位行列を示す。
【0169】
【数30】
【0170】
式(30)を式(29)に適用すると、式(31)が導かれる。式(31)は、Tによって線形変換された、フィルタを含む制御対象の状態方程式を表している。線形独立な状態変数として、フィルタの内部変数Z、回転数偏差Enおよび切換関数σ2を含む。
【0171】
【数31】
【0172】
式(31)の状態方程式によって表されるシステムに対して状態フィードバック制御を実施することにより、状態変数Z、Enおよびσ2の収束度合いを個々に調整することができる。こうして、該システムを不安定にすることなく、個々の状態変数を安定的に収束させることができる。
【0173】
式(31)に基づいて、制御入力DIGは上記の式(26)のように求められる。制御入力DIGの状態フィードバックゲイン(補正項)K1、K2およびK3は、式(31)で表されるシステムが安定化するように求められる。
【0174】
一実施形態において、状態フィードバックゲインK1、K2およびK3は、最適レギュレータ制御を用いて決定される。最適レギュレータ制御において、評価関数Jは、式(32)のように表されることができる。該評価関数Jを最小にする制御入力は、式(33)に示されるRiccati方程式の解Pを用いて求められることができる。こうして、状態フィードバックゲインK1〜K3は、式(34)のように算出される。
【0175】
【数32】
【0176】
【数33】
【0177】
【数34】
【0178】
この発明の他の実施形態では、制御入力DIGが、式(35)に示されるように、状態変数としてさらに切換関数σ2の積算値を持つ。
【0179】
【数35】
【0180】
状態フィードバックゲインK1〜K4は、以下のようにして求められる。まず、線形変換した、フィルタを含む制御対象の状態方程式は、式(36)のように表されることができる。
【0181】
【数36】
【0182】
評価関数、Riccati方程式および状態フィードバックゲインK1〜K4は、式(37)〜(39)で表される。
【0183】
【数37】
【0184】
【数38】
【0185】
【数39】
【0186】
このように、本発明に従う線形変換型周波数整形スライディングモード制御によれば、制御入力に、線形独立な状態変数であるフィルタの内部変数、制御量、切換関数、および/または切換関数の積算値を含む。したがって、低域フィルタの内部変数、制御量、および切換関数、および/または切換関数の積算値のそれぞれの状態フィードバックゲインを個々に調整することができる。こうして、制御システムを不安定にさせることなく、それぞれの状態変数を安定的に収束させることができる。
【0187】
図16の(a)の直線198は、前述した切換直線を表している。曲線196は、第2の実施例に従う線形変換型周波数整形スライディングモード制御における、位相平面上の状態量の挙動の一例を示す。曲線197は、第1の実施例に従う周波数整形スライディングモード制御における、位相平面上の状態量の挙動の一例を示す。
【0188】
前述したように、第2の実施例に従う線形変換型周波数整形スライディングモード制御は、状態フィードバックゲインのそれぞれを、制御システムが安定するよう個々に調整する点で、第1の実施例に従う周波数整形スライディングモード制御と異なる。周波数整形スライディングモード制御では、切換関数値をゼロに維持してから回転数偏差Enを収束させる制御であるのに対し、線形変換型周波数整形スライディングモード制御では、切換関数値をゼロに漸近させると同時に回転数偏差Enを収束させる。
【0189】
曲線197は、モデル化誤差のために、切換関数σ2の値をゼロに維持することができない(すなわち、状態量(NElow(k-1), En(k))の値を切換直線198上に維持することができない)状態を表している。一方、曲線196は、モデル化誤差が存在していても、切換関数σ2の値をゼロに収束させつつ、回転数偏差Enをゼロに収束させることができる状態を表している。
【0190】
図16の(b)に示される曲線199は、第2の実施例に従う、線形変換型周波数整形スライディングモード制御における回転数偏差Enの応答の一例を示す。曲線200は、第1の実施例に従う、周波数整形スライディングモード制御における回転数偏差Enの応答の一例を示す。曲線200に示されるように、モデル化誤差が有る場合、周波数整形スライディングモード制御では、回転数偏差Enが収束しない。これは、図16の(a)の曲線197に示されるように、周波数整形スライディングモード制御において切換関数σ2の値をゼロに維持することができないためである。それに対し、曲線199に示されるように、線形変換型周波数整形スライディングモード制御では、回転数偏差Enを収束させることができる。これは、図16の(a)の曲線196に示されるように、該制御が、切換関数σ2の値をゼロに維持することができなくても、回転数偏差Enと切換関数σ2の値を同時に収束させるよう動作するからである。
【0191】
このように、線形変換型周波数整形スライディングモード制御によれば、切換関数をゼロに維持することができない場合でも、制御量および切換関数値(および/または切換関数の積算値)を同時に収束させることができる。したがって、切換関数がゼロに維持することができない場合に引き起こされるシステムの不安定を回避することができる。
【0192】
図17の(a)は、第1の実施例に従う、周波数整形スライディングモード制御に従うフィルタの内部変数の挙動の一例を示す。図17の(b)は、第2の実施例に従う、線形変換型周波数整形スライディングモード制御に従うフィルタの内部変数の挙動の一例を示す。両者とも、モデル化誤差があり、切換関数をゼロに維持することができない場合を示している。周波数整形スライディングモード制御では、切換関数をゼロに維持することができないために、フィルタの内部変数の発散が生じている。一方、線形変換型周波数整形スライディングモード制御では、切換関数をゼロに維持することができなくても、フィルタの内部変数が安定的に収束している。
【0193】
制御システムのメインフロー
図18は、本発明の一実施形態に従う、図3に示される制御システムの機能ブロックを具体的に実現するフローチャートを示す。図18は、エンジンが始動したときに実行されるメインルーチンである。メインルーチンは、所定の制御周期、たとえばTDC周期で実行される。
【0194】
ステップS101において、動作モードが始動モードかどうか判断される。エンジン1の完爆が確認されるまでの間は、始動モードと判定される。完爆の確認は、エンジン回転数Neに基づいて行うことができる。
【0195】
始動モードならば、ステップS102に進み、始動モード処理を行う。具体的には、予め記憶手段5c(図1)に記憶されたテーブルおよび予め決められた演算式に基づいて、燃料供給量、バイパス開度および点火時期を求める。求められた燃料供給量、バイパス開度および点火時期に従い、燃料噴射弁6、バイパス弁22および点火プラグ26(図1)が駆動され、エンジンのクランキングが行われる。
【0196】
始動モード処理は、さらに、FIREモードにおいて使用されるフラグおよび変数をゼロに初期化する。FIREモード経過時間t/fire(図2参照)も、ゼロに初期化される。さらに、始動モード処理は、図1に示される各種センサによって検出されたエンジン水温Tw、吸気温Taおよび大気圧Paを記憶する。
【0197】
ステップS101において始動モードでないと判断されたならば、ステップS103に進み、燃料供給量を算出する。具体的には、図1のNeセンサ13およびPbセンサ8によって検出されたエンジン回転数Neおよび吸気圧Pbに基づいて、予め記憶されたテーブルを参照し、基本燃料供給量を求める。基本燃料供給量を、Taセンサ9およびTwセンサ10によってそれぞれ検出された吸気温Taおよびエンジン水温Tw等に応じて補正し、燃料供給量を求める。求められた燃料供給量が供給されるよう、燃料噴射弁6が駆動される。
【0198】
ステップS104に進み、動作モード判定ルーチン(図19)を実行する。このルーチンにおいて、FIREモードを実施するか、通常モードを実施するかが決められる。
【0199】
ステップS105に進み、FIREモードにおけるバイパス開度θCMDを算出するバイパス開度算出ルーチン(図20)を実行する。このルーチンでは、スライディングモード制御を実行し、前述したように、推定積算吸気量qair/preを目標積算吸気量qair/cmdに収束させるようにバイパス開度の補正量i/sldを求め、補正量i/sldで補正されたバイパス開度θCMDを算出する。
【0200】
ステップS106に進み、点火時期iglogを算出する点火時期算出ルーチン(図22)を実行する。このルーチンでは、周波数整形スライディングモードまたは線形変換型周波数整形スライディングモードを実行し、前述したように、実回転数Neを目標回転数ne/fireに収束させるように点火時期の補正量DIGを求める。補正量DIGで補正された点火時期iglogが算出される。
【0201】
動作モード判定
図19は、図18のステップS104において実施される、動作モード判定ルーチンの詳細を示すフローチャートである。ステップS111において、FIREモードに入ってからの経過時間、すなわち完爆が確認されてからの経過時間t/fireが、予め決められた制限時間TFIRELMTに達したならば、FIREモードを抜けるためにステップS119に進む。また、ステップ112および113において、エンジン回転数Neが所定範囲内に無い場合、またはエンジン水温Twが所定範囲内に無い場合、FIREモードを抜けるため、ステップS119に進む。
【0202】
ステップS111〜S113の判断がすべてYESの場合は、アクセルペダルに対する操作が行われたかどうか判断する(S114)。これは、スロットル弁開度センサ4(図1)によって検出することができる。アクセルペダルに対する操作が行われた場合は、FIREモードを一時的に中断するため、ステップ125に進む。ステップ115において、フュエルカットが実施されているかどうか判断する。これは、フュエルカットが実行されるときにセットされるフラグを調べることにより検出することができる。フュエルカットは燃料供給を一時的に遮断する処理である。フュエルカット実行中は、FIREモードを一時的に中断するため、ステップS125に進む。ステップS125に進む状況は、混合気の燃焼を行いながら、エンジン1のアイドリング運転以外の運転を行う状況を示す。このような状況としては、たとえば車両の走行を行う、エンジン1の空ぶかしを行う等が考えられる。
【0203】
ステップS114および115の判断がいずれもNoの場合は、アイドリング運転を行うべき状態にあることを示す。FIRE中断フラグf/fpauseをゼロにセットしてFIREモードは中断されないことを示し(ステップS116)、FIREモード許可フラグf/fireonを1にセットして(ステップS117)、FIREモードを実行する。
【0204】
ステップS119〜S124は、通常モードに移行するための処理を示す。ステップS119において、後述する学習演算処理を終了する際に1がセットされるフラグf/flrnendの値を調べる。値がゼロならば、学習演算処理がまだ終了していないことを示す。現在のFIRE経過時間t/fireを、学習終了時刻を示す変数t/kilにセットし(S120)、学習演算を終了するためにフラグf/flrnendに1をセットする(S121)。
【0205】
ステップS122において、FIRE経過時間t/fireに、強制的に制限時間TFIRELMTをセットする。これにより、以降のサイクルにおいてはステップS111の判断が必ずNoとなり、FIREモードではなく通常モードが実施される。FIRE中断フラグf/fpauseにゼロをセットし(S123)、FIRE許可フラグf/fireonをゼロにセットする(S124)。こうして、動作モードとして通常モードが選択される。
【0206】
ステップS125〜S129は、FIREモードを中断する処理を示す。ステップS125において、FIRE中断フラグf/fpauseに1をセットする。ステップS126〜S128において、前述したステップS119〜S121と同じ処理を行い、学習演算処理を終了させる。ステップS129において、後述する点火時期算出処理で使用するダウンタイマcnt/igvplに初期値XCNTを設定する。ステップS117に進み、FIRE許可フラグf/fireonに1をセットし、FIREモードを終了させないようにする。
【0207】
バイパス開度算出ルーチン
図20は、図18のステップS105において実行される、バイパス開度θCMDを算出するフローチャートである。ステップS141において、FIRE許可フラグf/fireonの値が1かどうか判断する。値が1ならば、FIREモード用のバイパス開度を求めるため、ステップS142に進む。値がゼロならば、通常モード用のバイパス開度を求めるため、ステップS152に進む。
【0208】
ステップS142において、標準開度θ0を算出する。具体的にいうと、検出されたエンジン水温Twから、予め記憶手段5c(図1)に格納されたテーブルを参照し、標準開度θ0の基本値i/ftblを求める。標準開度θ0は、FIREモードにおいて触媒の活性化を適正に行うために吸入されるべき吸入空気量を規定するバイパス開度であり、その基本値i/ftblは、標準開度指令値θ0の最大値を示す。上記テーブルは、エンジン水温Twが高いほど基本値i/ftblが小さくなるよう設定されている。これは、エンジンの始動時の温度Twは触媒の初期温度に相当すると考えることができるので、エンジン水温が高いほど、触媒の活性化を行うのに必要な熱量が小さくてすむからである。
【0209】
自動変速機がエンジンに設けられている場合、シフト位置がドライブレンジにあるときの基本値i/ftblを、シフト位置がニュートラルレンジにあるときの基本値i/ftblよりも大きく設定するのが好ましい。これは、ドライブレンジの方がニュートラルレンジよりもエンジンにかかる負荷が大きいからである。触媒の温度を直接検出する他の実施形態においては、該触媒の温度から上記テーブルを検索して基本値i/ftblを算出するようにしてもよい。
【0210】
次に、基本値i/ftblを補正するための補正係数km/fire(≦1)を、FIRE経過時間t/fireから、予め記憶されたテーブルを参照することによって求める。このテーブルにおいて、補正係数km/fireは、FIRE経過時間t/fireが所定値に達するまでは増加し、該所定値に達した後は、所定時間の間は一定(たとえば、1)に維持されるよう設定されている。さらに、補正係数km/fireは、該所定時間が経過した後は減少するよう設定されている。これは、FIREモードがある程度進行した後は標準開度θ0を緩やかに減少させて、フリクション低下による回転数Neの上昇傾向を抑制するためである。標準開度θ0は、補正係数km/fireを基本値i/ftblに乗算することによって算出される。
【0211】
ステップS143〜S145において、前述した吸気量制御を行う。ステップS143において、推定積算吸気量qair/preおよび目標積算吸気量qair/cmdを、前述の式(1)〜(4)に従って求め、それらの偏差Eqを算出する。
【0212】
図7を参照して前述したように、FIRE経過時間t/fireが所定時間TISLDLMTを経過するまでは、推定積算吸気量qair/preおよび目標積算吸気量qair/cmdは強制的にゼロにされるのが好ましい(図20には、簡略化のため示していない)。
【0213】
ステップ144に進み、点火時期フラグf/decの値を判断する。フラグf/decは、後述する点火時期iglogの生成処理において、点火時期iglogがしきい値IGXよりも遅角側にあるときに1がセットされるフラグである。進角側にあるときはゼロにセットされる。フラグf/decは、始動モード処理(図18のステップS102)においてゼロに初期化されている。
【0214】
点火時期フラグf/decの値がゼロであるとき、補正量i/sld算出ルーチン(図21)を実行する(S145)。このルーチンにおいては、スライディングモード制御を実行し、吸気量偏差Eqがゼロに収束するよう、バイパス開度の補正量i/sldを求める。
【0215】
点火時期フラグf/decの値が1であるとき、ステップS146に進み、開度補正量θdecをΔθdecだけ増加させる。ここで、開度補正量θは、標準開度θ0を補正する量である(ステップS147参照)。点火時期がしきい値IGXよりも遅角側にあるので、開度補正量θdecを増やして点火時期を進角側に操作する。こうして、点火時期が過剰に遅角側に操作されることを回避する。Δθdecは、エンジン水温Twから、予め記憶されたテーブルを参照して求めることができる。このテーブルは、エンジン水温Twが高温領域にあるΔθdecが、中低温領域にあるΔθdecよりも大きくなるよう設定されている。これは、フリクション低下が、エンジン水温Twが高温である場合の方が中低温である場合よりも生じやすいからである。
【0216】
ステップS147に進み、式(40)に従い、バイパス開度の予備値θi/fireを求める。ステップS146が実行されたときは、式(40)のi/sldには、フラグf/decが1にセットされる前に算出された補正量i/sldの値が用いられる。
【0217】
【数40】
【0218】
ステップS148に進み、学習演算終了フラグf/flrnendの値を調べる。フラグf/flrnendは、FIREモードの中断が行われるとき(図19のステップS128)、FIREモードを終了するとき(図19のステップS121)、または点火時期フラグf/decに1がセットされるとき(図22のステップS210)に1がセットされるフラグである。フラグf/flrnendがゼロのとき、式(41)〜(43)に従い、基本学習補正係数vpskisldを算出する(S149)。基本学習補正係数vpskisldは、学習補正係数kilearnを求めるために算出される。
【0219】
学習補正係数kilearnは、標準開度θ0を補正するための係数であり、後述するステップS153で使用される。学習補正係数kilearnで補正することにより、標準開度θ0の時間的変化のパターンと整合した安定な時間的変化を呈するバイパス開度θCMDを求めることができる。
【0220】
【数41】
【0221】
【数42】
【0222】
【数43】
【0223】
ここで、gair/sldは、バイパス開度の補正量i/sldに対応する実際の吸入空気量の補正量を示す。言い換えると、バイパス開度をi/sldだけ補正した場合、gair/sldだけ吸入空気量が補正される。Ga2は、前述の式(3)と同じものであり、予め決められた定数である。式(42)に示されるように、前回のサイクルにおける積算吸気補正量qair/sld(k-1)に、式(41)で算出された補正量gair/sldを加算し、今回のサイクルにおける積算吸気補正量qair/sld(k)を求める。この積算吸気補正量qair/sldと、目標の積算吸気量qair/cmdの比に基づき、式(43)のように、基本学習補正係数vpskisldを求める。
【0224】
ステップS150に進み、バイパス開度の予備値θi/fireのリミット処理を行う。このリミット処理において、予備値θi/fireは、予め決められた上限値および下限値の間の値に制限される。
【0225】
ステップS151に進み、予備値θi/fireに、大気圧補正係数kpa、吸気温補正係数kta、および学習補正係数kilearnを乗算し、今回のサイクルにおけるバイパス開度θCMDを算出する。
【0226】
ここで、大気圧補正係数kpaは、式(44)に従い算出される。
【0227】
【数44】
【0228】
ここで、Paは始動時の大気圧を示す。Pa0は、所定の標準大気圧を示す。Pb0は、標準大気圧Pa0において、バイパス開度を標準開度θ0にしたときの吸気管圧力を示す。大気圧補正係数kpaを考慮に入れることにより、大気圧による吸入空気量のばらつきを補償することができる。
【0229】
また、吸気温補正係数ktaは、始動時の吸気温Taから、予め記憶されたテーブルを参照して算出される。このテーブルは、吸気温が高くなるほど、補正係数kpaが大きくなるよう設定されている。これは、吸気温が高くなるほど大気密度が小さくなり、吸入空気量が減少するからである。吸気温補正係数ktaを考慮に入れることにより、吸気温による吸入空気量のばらつきを補償することができる。
【0230】
こうして、バイパス弁の動作特性のばらつきまたは経時的なバイパス弁の動作特性の変化等に起因する、バイパス弁の開度に対する実際の吸入空気量のばらつきが、補正係数kpa、ktaおよびkilearnによって補償され、適正なバイパス開度θCMDが算出される。
【0231】
ステップS141に戻り、FIRE許可フラグf/fireonの値がゼロならば、ステップS152において、前回のサイクルにおけるフラグf/fireonの値を調べる。値が1ならば、前回のサイクルまでFIREモードが実施されていたことを示す。ステップS149で求めた基本学習補正係数vpskisldに基づいて、式(45)に従い、次回のFIREモードの動作時にバイパス開度θCMDを補正する係数kilearnを算出する(S153)。
【0232】
【数45】
【0233】
ここで、kilearn(j)は、今回のFIREモードの動作によって新たに算出する学習補正係数を示し、kilearn(j-1)は、前回のFIREモードの実施によって算出された学習補正係数を示す。また、Ckiは、予め決められた1以下の定数を示す。基本学習補正係数vpskisldは、前述したように、前回のサイクルにおいてステップS149において算出されている。
【0234】
なお、ステップS149で基本学習補正係数vpskisldを求めた時のFIRE経過時間t/fireが所定値に達していない場合は、現在の学習補正係数kilearnの値を維持する。これは、経過時間が短い段階で得られる基本学習補正係数の信頼性が乏しいからである。その後、算出されたkilearnに対して、上限値および下限値でリミット処理を行う。
【0235】
ステップS154に進み、バイパス開度θCMDを、通常モード用の開度に設定する。通常モード用の開度は、FIREモード用の開度よりも小さく、エンジン1の通常的な運転を行うための値である。
【0236】
図21は、補正量i/sld算出ルーチンの詳細を示す図である。ステップS171において、FIRE中断フラグf/fpauseの値を調べる。値が1ならば、FIREモードが中断状態にあることを示す。スライディングモード制御を行う際の偏差Eqの減衰速度を規定する設定パラメータpole/iの値を、予め決められた下限値pole/i0に初期化する(S172)。補正量i/sldの値は、中断前の値に維持される。
【0237】
中断フラグf/fpauseの値がゼロならば、FIREモードが動作中であることを示す。ステップS173〜S176において、今回のサイクルにおける設定パラメータpole/i(k)を算出する。具体的には、FIRE経過時間t/fireから、予め記憶されたテーブルを参照し、設定パラメータの基本値pole/itblを求める(S173)。
【0238】
中断動作が実行された場合には、前述したように設定パラメータは下限値pole/i0に設定されている。このような場合に、設定パラメータの値を徐々に基本値pole/itblに戻すようにする。そのため、現在の設定パラメータ値pole/i(k-1)に、予め決められた量ΔPOLE/Iを加算したものが、基本値pole/itblよりも小さいかどうか判断する(S174)。この判断がYESならば、現在の設定パラメータ値pole/i(k-1)にΔPOLE/Iを加算したものを、今回のサイクルの設定パラメータ値pole/i(k)とする(S175)。この判断がNOならば、基本値pole/itblを、今回のサイクルの設定パラメータ値pole/i(k)とする(S176)。
【0239】
ステップS177およびS178は、吸気量制御のスライディングモード制御における設定パラメータ値pole/iと、前述した回転数制御の周波数整形スライディングモード制御(線形変換型周波数整形スライディングモード制御を含む)における設定パラメータ値pole/igとの間の関係を調整する処理を示す。両者の制御は独立して実行されるが、どちらもエンジン回転数に影響を及ぼす制御である。
【0240】
一般に、バイパス開度の変化に対する吸入空気量の応答性は、点火時期の変化に対する回転数の応答性に比して遅い。そのため、吸気量偏差Eqの減衰速度を回転数偏差Enの減衰速度よりも速めると、両者の制御が互いに干渉してエンジン回転数を不安定にするおそれがある。したがって、吸気量偏差Eqの減衰速度を、回転数偏差Enの減衰速度よりも遅くするように、両者の設定パラメータを調整する。
【0241】
ここで、吸気量制御に関連する設定パラメータpole/i、および回転数制御に関連する設定パラメータpole/igについて、-1<pole/i<0および-1<pole/ig<0を満たすよう設定される。ステップS177において、設定パラメータpole/iが、設定パラメータpole/igから所定量ΔPOLE/IG(>0)を引いた値以上ならば、吸気量制御に関連する設定パラメータpole/iの値を、“pole/ig−ΔPOLE/IG”に設定し直す(S178)。
【0242】
ステップS179において、設定パラメータpole/iの値を“−1”と比較する。設定パラメータpole/iの値が−1以下ならば、該設定パラメータpole/iの値を強制的に−1にセットし直す(S180)。
【0243】
ステップS181において、吸気量制御における切換関数σ1を、前述の式(6)に表されるように設定し、切換関数σ1の値を求める。ステップS182に進み、到達則入力Θrchおよび適応則入力Θadpを、前述の式(10)および(11)に従ってそれぞれ算出する。ステップS183において、到達則入力Θrchと適応則入力Θadpを加算し、補正量i/sldを算出する。
【0244】
点火時期算出ルーチン
図22は、図18のステップ106で実行される、点火時期iglog算出ルーチンのフローチャートである。ステップS201において、点火時期の基本値igbaseを求める。基本値igbaseは、たとえば回転数Ne、吸気圧Pb、エンジン温度Twおよび吸気温Ta等から、予め記憶されたテーブルおよび演算式に基づいて求めることができる。ステップS202において、点火時期の補正量DIG算出ルーチン(図23)を実行し、補正量DIGを算出する。
【0245】
ステップS203に進み、基本値igbaseに補正量DIGを加算し、点火時期iglogを算出する。ステップS204に進み、点火時期の遅角側の限界値IGLGGおよびしきい値IGXを求める。限界値IGLGGは、エンジン水温Twから、予め記憶されたテーブルを参照することによって求められる。限界値IGLGGは、該限界値以上の点火時期では、エンジン1の正常な運転を行うことができるよう設定される。具体的には、限界値IGLGGは、エンジン水温Twが通常の温度範囲にある場合は一定値であり、エンジン水温がかなり低い温度範囲にある場合は、該一定値よりも進角側の値になるよう設定される。また、しきい値IGXは、限界値IGLGGに、予め決められた値を加算した値に設定される。
【0246】
ステップS205に進み、ステップS203で求めた点火時期iglogと、しきい値IGXを比較する。点火時期iglogがしきい値IGXよりも進角側にあるとき、すなわちiglog≧IGXであるとき、点火時期フラグf/decをゼロにセットし、図20のステップ146で実行される、点火時期を進角側に補正する処理を行わないようにする(S206)。点火時期iglogがしきい値IGXよりも遅角側にあるとき、すなわちiglog<IGXであるとき、フラグf/decに1をセットし、図20のステップ146で実行される処理を実行するようにする(S207)。
【0247】
ステップS208に進み、学習演算終了フラグf/flrnendの値を調べる。フラグf/flrnendがゼロならば、現在のFIRE経過時間t/fireの値を、学習終了時刻t/kilに保持する(S209)。さらに、基本学習補正係数vpskisldの算出を終了するため、フラグf/flrnendの値を1にセットする(S210)。基本学習補正係数vpskisldの算出を終了するのは、フラグf/decが1にセットされた場合は、バイパス開度の補正量i/sldの算出が行われないからである(図20のステップS145およびS146参照)
ステップS211に進み、点火時期iglogと、限界値IGLGGを比較する。点火時期iglogが遅角側の限界値IGLGGより小さければ、点火時期iglogが限界値IGLGGを超えて遅角側の値を持つことを示す。この場合、点火時期iglogに、強制的に限界値IGLGGをセットする(S212)。さらに、回転数制御の切換関数σ2の積算値SUMSGMFの値を、前回のサイクルで求めた積算値に戻す。これは、点火時期iglogに限界値IGLGGをセットした状態で補正量DIGの算出を継続して行うと、積算値SUMSGMFの値が過剰に大きくなり、適応則入力の値の信頼性が低下するからである。
【0248】
図23は、図22のステップS202で実行される、点火時期の補正量DIGを算出する処理を示すフローチャートである。ステップS231において、FIRE許可フラグf/fireonを調べ、FIREモードが動作中かどうか判断する。フラグf/fireonの値が1ならば、動作モードがFIREモードであることを示す。ステップS232に進み、回転数制御許可フラグf/nefbを調べる。フラグf/nefbがゼロならば、回転数制御を行うべき状態にないので、回転数制御の経過時間Δt/nfbをゼロにリセットする(S233)。回転数制御許可フラグf/nefbは、図18のステップS102の始動モード処理においてゼロに初期化されているフラグである。
【0249】
ステップS234に進み、今回のサイクルにおける目標回転数ne/fire(k)を、式(46)に従い求める。
【0250】
【数46】
【0251】
ここで、K/NEは、目標回転数ne/fireの時間的な減少の傾きを規定する一定値(>0)である。式(46)の右辺の演算結果が、アイドリング運転用に設定される最終目標回転数NOBJを下回る場合(すなわち、Δt/nfb>NEFSLDS/K/NEの場合)には、目標回転数ne/fireを最終目標回転数NOBJに固定する。
【0252】
式(46)に示されるように、目標回転数ne/fireは、回転数制御を開始してから、最終目標回転数NOBJに向かって直線的に徐々に減少し、最終目標回転数NOBJに達した後は、該最終目標回転数NOBJに維持される。
【0253】
また、この実施例においては、1サイクル(すなわち1TDC)が回転数Neに反比例するので、1サイクルの時間ΔTは1/Neで表される。よって、次回のサイクルの回転数制御経過時間は、該サイクル時間ΔTを、今回のサイクルの回転数制御経過時間Δt/nfbに加算して求められる。こうして、次回のサイクルにおける目標回転数ne/fire(k+1)は、式(47)のように算出される。
【0254】
【数47】
【0255】
なお、ステップS233において回転数制御経過時間Δt/nfbがゼロに設定されている間は、今回のサイクルにおける目標回転数ne/fire(k)は、前述の設定回転数(NOBJ+NEFSLDS)となる。
【0256】
ステップS235に進み、現在の実回転数Neが、現在の目標回転数ne/fire(k)以上になったかどうか判断する。また、ステップS236において、FIRE経過時間t/fireが、所定値TSLDIGST以上になったかどうか判断する。ステップS235またはS236の判断のいずれかがYESのとき、回転数制御許可フラグf/nefbに1をセットし、回転数制御が実行されるようにする(S237)。ステップS235およびS236の両方の判断がNOのとき、フラグf/nefbはゼロに維持される。フラグf/nefbは、値1がセットされると、そのFIREモード中にゼロにリセットされることはない。
【0257】
ステップS238に進み、回転数偏差En(k)を、式(48)に従い算出する。
【0258】
【数48】
【0259】
ステップS239に進み、FIRE中断フラグf/fpauseの値を調べる。値がゼロならば、FIREモードの中断動作が行われていない状態を示し、値が1ならば、FIREモードの中断動作が行われている状態を示す。ステップS240において、回転数制御許可フラグf/nefbの値を調べる。値が1ならば、回転数制御が実行される状態を示し、値がゼロならば、回転数制御が実行されない状態を示す。
【0260】
フラグf/nefbの値がゼロならば、補正量DIG(k)にゼロをセットし(S241)、値が1ならば、補正量DIG(k)を算出するルーチン(図24)を実行する(S242)。ステップS243において、ステップS242において求められた補正量DIG(k)に対し、予め決められた上限値および下限値でリミット処理を行う。
【0261】
ステップS239で、FIRE中断フラグf/fpauseの値が1ならば、回転数制御を中断する処理を行うため、ステップS245に進む。ステップS245において、点火時期iglogを基本値igbaseに徐々に戻すため、点火時期iglogに対するサイクル毎の戻し量dec/ig(>0)を算出する。戻し量dec/igは、スロットル弁の開度に比例する値が設定される。中断動作は、アクセルペダルが操作された場合等に実施されるので、エンジン1の動作性能を確保するために点火時期をなるべく速やかに通常の点火時期(すなわち、基本値igbase)に戻すのが好ましい。したがって、スロットル弁の開度に応じて点火時期の戻し量を設定する。また、ステップS231において、FIRE許可フラグf/fireonの値がゼロでFIREモードの動作が行われない状態のとき、戻し量dec/igには所定値がセットされる(S244)。
【0262】
ステップS246において、現在の補正量DIGの値(これは、前回のサイクルで求められた補正量DIG(k-1)である)が、ゼロより小さいかどうか、すなわち遅角側の値であるかどうか判断する。遅角側の値であるならば、前回のサイクルで求めた補正量DIG(k-1)に戻し量dec/igを加算して、今回のサイクルの補正量DIG(k)を求める(S247)。このとき、補正量DIG(k)の上限値をゼロとし、算出された補正量DIG(k)の値がゼロより大きい場合には、該補正量は強制的にゼロにセットされるのが好ましい。
【0263】
ステップS246において、現在の補正量DIGの値がゼロ以上ならば、FIRE許可フラグf/fireonの値を調べる(S248)。フラグの値が1ならば、FIREモードが中断されていることを示す。この場合、今回のサイクルにおける補正量DIG(k)にゼロをセットする(S250)。フラグの値がゼロならば、FIREモードの終了状態を示すので、FIRE中断フラグf/fpause、回転数制御許可フラグf/nefbをゼロにリセットする。また、補正量DIG(k)、切換関数σ2の値、およびその積算値SUMSGMFの値をゼロに初期化する(S249)。上記の第1の実施例に従う回転数制御の場合には、等価制御入力Ueq、到達則入力Urchおよび適応則入力Uadpの値もゼロに初期化する。
【0264】
図24は、図23のステップS242で実行される、今回のサイクルにおける補正量DIG(k)を算出する処理の詳細を示すフローチャートである。図24に示されるプロセスは、図10に示される第1の実施例に従う回転数制御に基づいている。
【0265】
ステップS261において、点火時期の現在の値iglog(k-1)(これは、前回のサイクルで算出された点火時期である)から、予め記憶されたテーブルを参照して、基本値pole/igtblを求める。このテーブルの一例を図25に示す。図に示されるように、基本値pole/igtblは、点火時期iglogが遅角側にあるほど、その絶対値|pole/igtbl|が大きくなるよう設定されている(ただし、−1<pole/igtbl<0である)。これは、点火時期が遅角側にあるほど、点火時期の変化に対する回転数の変化が大きくなるので、回転数偏差の減衰速度を遅くするためである。また、基本値pole/igtblにより規定される回転数偏差Enの減衰速度は、吸気量制御の基本値pole/itblに規定される吸気量偏差Eqの減衰速度よりも速くなるよう設定される。
【0266】
ステップS262に進み、回転数制御の経過時間Δt/nfbから、予め記憶されたテーブルを参照して、補正係数kigtを求める。補正係数kigtは、回転数制御の初期段階において回転数偏差Enの減衰速度を遅くするよう基本値pole/igtblを補正する係数である。この補正により、回転数制御を開始した際に点火時期を急変させないようにし、エンジン1の燃焼状態が悪化するのを防ぐ。
【0267】
このテーブルの一例を図26に示す。図に示されるように、回転数制御の初期段階においては、補正係数kigtは、基本値pole/igtblの絶対値を若干大きくする値(>1)に設定されている。回転数制御の経過時間Δt/nfbが所定値に達した後は、補正係数kigtは1に保持され、基本値pole/igtblを補正しないようにする。
【0268】
ステップS263において、回転数Neから、予め記憶されたテーブルを参照し、補正係数kigneを求める。補正係数kigneは、回転数偏差Enの減衰速度を遅くして、点火時期iglogを過大に遅角側にするような補正量DIGが求められるのを回避するための係数である。このような状況は、FIREモードの中断動作が解除されて回転数制御が再開されるときなど、エンジン回転数Neが目標回転数ne/fireから大きく離れているときに起こる。補正係数kigneを考慮することにより、点火時期iglogが急激に遅角側になってエンジン1の燃焼状態を悪化させることを防ぐことができる。
【0269】
このテーブルの一例を図27に示す。図に示されるように、補正係数kigneは、回転数Neが高いほど、すなわち回転数Neが目標回転数ne/fireから離れているほど、基本値pole/igtblの絶対値を大きくするよう設定されている(kigne>1)。
【0270】
ステップS264に進み、補正係数kigneに基づいて、補正係数kignefを式(49)に従い算出する。
【0271】
【数49】
【0272】
ここで、cnt/igvplは、FIREモードの中断動作中に常時設定されるダウンタイマの値であり、XCNTは、該ダウンタイマに設定される初期値である(図19のステップS129)。中断動作が解除されると回転数制御が再開され、ダウンタイマが起動される。所定期間XCNTの間だけ、ステップS263で求めた補正係数を、式(49)に従って修正する。言い換えると、所定期間XCNTが経過するまでは、補正係数kignefは回転数Neに応じた値(≧1)を取るが、所定期間XCNTを経過した後は、kignefは1に設定される。こうして、回転数に応じた補正が、回転数制御が開始されてから所定期間の間だけ行われる。
【0273】
ステップS265において、基本値pole/igtblに、補正係数kigtおよびkignefを乗算し、回転数制御の設定パラメータpole/igを算出する。
【0274】
【数50】
【0275】
ステップS266において、図10を参照して説明した低域フィルタの内部変数Zおよびフィルタリングされた回転数偏差NElowを算出するルーチン(図28)を実行する。ステップS266は、ステップS261〜S265の設定パラメータpole/ig算出処理と並行して実行してもよい。
【0276】
ステップS267において、切換関数σ2を算出するルーチン(図29)を実行する。ステップS268において、切換関数σ2の積算値SUMSGMFを算出するルーチン(図30)を実行する。これは、前述したように、適応則入力Uadpを求めるために算出される。
【0277】
ステップS269〜S271において、等価制御入力Ueq、到達則入力Urchおよび適応則入力Uadpをそれぞれ算出する。これらのステップは、並列に実行してもよい。ステップS272において、ステップS269〜S271で求めた等価制御入力Ueq、到達則入力Urchおよび適応則入力Uadpの和を算出し、点火時期補正量DIGを求める。
【0278】
図28は、図24のステップS266で実行される、低域フィルタリングのルーチンを示す。ステップS301において、今回のサイクルにおけるフィルタの内部変数Z(k)を求める。具体的には、前述の式(14)に示されるように、前回のサイクルで算出された内部変数Z(k-1)と、前々回のサイクルにおいて算出された回転数偏差En(k-2)に基づいて、今回のサイクルにおける内部変数Z(k)を算出する。
【0279】
ステップS302において、前述の式(15)に示されるように、今回のサイクルにおける内部変数Z(k)と、前回のサイクルにおける回転数偏差En(k-1)に基づいて、フィルタリングされた回転数偏差NElow(k-1)を算出する。
【0280】
図29は、図24のステップS267で実行される切換関数算出ルーチンを示す。ステップS321において、前述の式(16)に示されるように、図28のステップS302で算出されたフィルタリングされた回転数偏差NElow(n-1)に、図24のステップS265で求められた設定パラメータpole/igを掛けたものと、今回のサイクルにおける回転数偏差En(k)とを加算し、一時変数sigmf_tmpに格納する。
【0281】
ステップS322〜S326は、切換関数σ2のリミット処理を示す。具体的には、一時変数sigmf_tmpが、予め決められた最大値SIGMFHよりも大きければ、切換関数σ2の値に該最大値を設定する(S323)。一時変数sigmf_tmpが、予め決められた最小値SIGMFLよりも小さければ、切換関数σ2の値に該最小値を設定する(S325)。一時変数sigmf_tmpが、最大値SIGMFHと最小値SIGMFLの間にあるならば、一時変数sigmf_tmpの値を切換関数σ2に代入する(S326)。
【0282】
図30は、図24のステップS268で実行される切換関数の積算値SUMSGMFの算出ルーチンを示す。ステップS341において、前回のサイクルで算出された積算値SUMSGMF(k-1)の値が予め決められたリミット値に達しているかどうかを判断する。達していたならば、ステップS342に進み、前回のサイクルで算出された積算値の値SUMSGMF (k-1)に、予め決められた値SUMSGMFLをセットする。これは、積算値の値が過剰に大きくなると、適応則入力の値の信頼性が低下するおそれがあるからである。
【0283】
ステップS343において、前回のサイクルで算出された積算値SUMSGMFに、今回のサイクルで算出された切換関数σ2の値を加算し、それを一時変数ssigmf_tmpに入れる。ステップS344〜S348は、積算値のリミット処理である。具体的には、一時変数ssigmf_tmpが、予め決められた最大値SUMSFHよりも大きければ、積算値SUMSGMFに該最大値を設定する(S345)。一時変数ssigmf_tmpが、予め決められた最小値SUMSFLよりも小さければ、積算値SUMSGMFに該最小値を設定する(S347)。一時変数ssigmf_tmpが、最大値SUMSFHと最小値SUMSFLの間にあるならば、一時変数ssigmf_tmpの値を切換関数σ2の積算値にセットする(S348)。
【0284】
図31は、図24のステップS269で実行される、等価制御入力算出ルーチンを示す。ステップS361において、前述した式(22)に示されるZ(k)項にかかる係数KUeq1を計算する。ステップS362において、式(22)の今回のサイクルにおける回転数偏差En(k)項にかかる係数KUeq2を計算する。ステップS363において、式(22)の前回のサイクルにおける回転数偏差En(k-1)項にかかる係数KUeq3を計算する。
【0285】
ステップS364において、ステップS361〜363で求められた係数を使用して、式(22)に基づき、等価制御Ueqを求める。ここで、ステップ361〜363は、並列に実行してもよい。
【0286】
図32は、図24のステップS270で実行される、到達則入力算出ルーチンを示す。ステップS381において、前述した式(23)に従い、切換関数σ2にフィードバックゲインKrchを乗算し、それを一時変数urch_tmpに代入する。ステップS382〜S386は、到達則入力のリミット処理である。具体的には、一時変数urch_tmpが、予め決められた最大値URCHFHよりも大きければ、到達則入力Urch該最大値を設定する(S383)。一時変数urch_tmpが、予め決められた最小値URCHFLよりも小さければ、到達則入力Urchに該最小値を設定する(S385)。一時変数urch_tmpが、最大値URCHFHと最小値URCHFLの間にあるならば、一時変数urch_tmpの値を到達則入力Urchに代入する(S386)。
【0287】
図33は、図24のステップS271で実行される、適応則入力算出ルーチンを示す。ステップS391において、前述した式(24)に従い、切換関数σ2の積算値SUMSGMFにフィードバックゲインKadpを乗算し、適応則入力Uadpを求める。
【0288】
図34は、図23のステップS242で実行される、今回のサイクルにおける補正量DIG(k)を算出する処理の詳細を示すフローチャートである。図34に示されるプロセスは、図15に示される第2の実施例に基づいている。
【0289】
ステップS261〜S268は、図24と同じである。ステップS369において、式(35)に従い、補正項K1〜K4を用いて、制御入力である点火時期補正量DIGを求める。
【0290】
上記の実施形態は、吸気量制御において、制御対象を離散系でモデル化した。しかしながら、連続系でモデル化してもよい。さらに、上記の実施形態では、吸気量制御および回転数制御の制御態様を2次の自己回帰モデルで表現したが、より高次の自己回帰モデルで表現することもできる。この場合でも、切換関数の設定パラメータによって制御量の減衰速度を指定することができる。
【0291】
また、本発明に従う吸気量制御は、エンジンの他の運転パラメータを目標値に収束させるために吸入空気量を操作する場合について適用されることができる。同様に、本発明に従う回転数制御は、エンジンの他の運転パラメータを目標値に収束させるために回転数を操作する場合について適用されることができる。
【0292】
さらに、本発明に従う周波数整形および線形変換型周波数整形応答指定型制御は、離散時間系にてモデル化された任意のプラントを制御するのに適用されることができる。上記の実施形態の説明では、低域フィルタを用いている。しかしながら、本発明に従う周波数整形および線形変換型周波数整形応答指定型制御は、高域フィルタおよび帯域フィルタのような他のフィルタを用いて周波数整形を行うよう考慮された応答指定型制御にも応用することができる。
【0293】
線形変換型周波数整形応答指定制御において、制御入力は、補正項として、補正項K1からK4のうちの任意のものを含むことができる。代替的に、制御入力に、他の制御量についての補正項を含むようにしてもよい。また、補正項を決定するために、最適レギュレータとは異なる他の適切な方法を用いてもよい。
【0294】
本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンにも適用が可能である。
【図面の簡単な説明】
【図1】この発明の一実施例に従う、内燃機関およびその制御装置を概略的に示す図。
【図2】この発明の一実施例に従う、内燃機関の始動時における動作態様を示す図。
【図3】この発明の一実施例に従う、制御システムの全体的な機能ブロック図。
【図4】この発明の一実施例に従う、吸気量制御の制御ブロック図。
【図5】この発明の一実施例に従う、スライディングモード制御における切換線を概略的に示す図。
【図6】この発明の一実施例に従う、スライディングモード制御における切換関数の設定パラメータに依存する制御量の応答特性を示す図。
【図7】この発明の一実施例に従う、吸気量制御によって実現される動作態様を概略的に示す図。
【図8】この発明の一実施例に従う、回転数制御の制御ブロック図。
【図9】この発明の一実施例に従う、モデル化された制御対象の実際の制御対象に対する追従特性を示す図。
【図10】この発明の一実施例に従う、回転数制御の制御器のブロック図。
【図11】この発明の一実施例に従う、低域フィルタの周波数特性を示す図。
【図12】この発明の一実施例に従う、回転数制御による回転数の収束態様を概略的に示す図。
【図13】この発明の一実施例に従う、回転数制御の周波数整形スライディングモードコントローラの機能ブロック図。
【図14】回転数制御を(a)PI制御、(b)従来のスライディングモード制御、および(c)本の発明の一実施例に従う周波数整形スライディングモードで実施した場合の回転数の変動を示す図。
【図15】この発明の他の実施例に従う、回転数制御の制御器のブロック図。
【図16】この発明の一実施例に従う、線形変換型周波数整形スライディングモードによる、制御量の収束挙動を示す図。
【図17】この発明の一実施例に従う、線形変換型周波数整形スライディングモードによる、フィルタの内部変数の収束挙動を示す図。
【図18】この発明の一実施例に従う、制御システムのメインルーチンを示す図。
【図19】この発明の一実施例に従う、動作モード判定ルーチンを示す図。
【図20】この発明の一実施例に従う、バイパス開度θCMD算出ルーチンを示すフローチャート。
【図21】この発明の一実施例に従う、バイパス開度の補正量i/sldを算出するルーチンを示すフローチャート。
【図22】この発明の一実施例に従う、点火時期iglog算出ルーチンを示すフローチャート。
【図23】この発明の一実施例に従う、点火時期の補正量DIGを算出するルーチンを示すフローチャート。
【図24】この発明の一実施例に従う、点火時期の補正量DIGの算出処理を詳細に示すフローチャート。
【図25】この発明の一実施例に従う、回転数制御の切換関数の設定パラメータの基本値pole/igを求めるためのテーブルを示す図。
【図26】この発明の一実施例に従う、回転数制御の切換関数の設定パラメータの基本値pole/igを補正する係数kigtを求めるためのテーブルを示す図。
【図27】この発明の一実施例に従う、回転数制御の切換関数の設定パラメータの基本値pole/igを補正する係数kigneを求めるためのテーブルを示す図。
【図28】この発明の一実施例に従う、回転数制御の低域フィルタリングを示すフローチャート。
【図29】この発明の一実施例に従う、回転数制御の切換関数の算出を示すフローチャート。
【図30】この発明の一実施例に従う、回転数制御の切換関数の積算値算出を示すフローチャート。
【図31】この発明の一実施例に従う、回転数制御の切換関数の等価制御入力の算出を示すフローチャート。
【図32】この発明の一実施例に従う、回転数制御の切換関数の到達則入力の算出を示すフローチャート。
【図33】この発明の一実施例に従う、回転数制御の切換関数の適応則入力の算出を示すフローチャート。
【図34】この発明の他の実施例に従う、点火時期の補正量DIGの算出処理を詳細に示すフローチャート。
【図35】エンジンと運転室内の間の振動音伝達系において励起される共振の一例を示す図。
【符号の説明】
1 エンジン
5 ECU
6 燃料噴射弁
22 バイパス弁
23バイパス弁アクチュエータ
24 燃料噴射弁アクチュエータ
25 イグナイタ
26 点火プラグ
81 低域フィルタ
82 周波数整形スライディングモードコントローラ
182 線形変換型周波数整形スライディングモードコントローラ
Claims (21)
- 離散時間系にてモデル化されたプラントを制御するプラントの制御装置であって、
前記プラントの出力の目標値に対する偏差から所定の周波数成分を除去するよう該偏差をフィルタリングするフィルタと、
応答指定型制御アルゴリズムを実行することにより、前記目標値に対する偏差を収束させるためのプラントへの制御入力を算出する制御手段であって、前記目標値に対する偏差および前記フィルタリングされた偏差を用いて切換関数を決定し、該目標値に対する偏差および該フィルタリングされた偏差からなる状態量を該切換関数で規定される切換線上に拘束するための等価制御入力項を、該切換関数に基づいて算出し、該等価制御入力項を含むよう前記制御入力を算出する制御手段と、を備え、
前記等価制御入力項は、さらに、前記フィルタの内部変数を用いて算出される、
プラント制御装置。 - 前記応答指定型制御アルゴリズムは、スライディングモード制御アルゴリズムである、請求項1に記載のプラント制御装置。
- 前記制御手段は、さらに、前記切換関数の値に応じて到達則入力項を計算し、該到達側入力項を含むよう前記制御入力を算出する、請求項1または2に記載のプラント制御装置。
- 前記制御手段は、さらに、前記切換関数の積算値に応じて適応則入力項を計算し、該適応則入力項を含むよう前記制御入力を算出する、請求項1から3のいずれかに記載のプラント制御装置。
- 離散時間系にてモデル化されたプラントを制御するプラントの制御装置であって、
前記プラントの出力の目標値に対する偏差から所定の周波数成分を除去するよう該偏差をフィルタリングするフィルタと、
応答指定型制御アルゴリズムを実行することにより、前記偏差を収束させるための該プラントへの制御入力を算出する制御手段であって、前記フィルタリングされた偏差を用いて切換関数を決定し、前記フィルタの内部変数、前記目標値に対する偏差、および該切換関数の値に基づいて前記制御入力を算出する制御手段と、を備え、
前記制御入力は、さらに、前記フィルタの内部変数を収束させるための補正項を用いて算出される、
プラント制御装置。 - 前記プラントへの制御入力は、さらに、前記プラントの出力の目標値に対する前記偏差を収束させるための補正項を用いて算出される、請求項5に記載のプラント制御装置。
- 前記プラントへの制御入力は、さらに、前記切換関数の値を収束させるための補正項を含むよう算出される、請求項5または6に記載のプラント制御装置。
- 前記プラントへの制御入力は、さらに、前記切換関数の積算値を収束させるための補正項を用いてよう算出される、請求項5から7のいずれかに記載のプラント制御装置。
- 前記補正項のそれぞれは、最適レギュレータ制御によって決定される、請求項5から8のいずれかに記載のプラント制御装置。
- 前記フィルタの内部変数、前記プラントの出力の目標値に対する偏差、および前記切換関数を線形独立な状態変数として含む状態方程式が規定され、前記フィルタの内部変数を収束させるための補正項、前記偏差を収束させるための補正項、および前記切換関数を収束させるための補正項は、前記状態変数のそれぞれが収束するよう該状態方程式に基づいて算出された補正項である、
請求項7に記載のプラント制御装置。 - 前記状態方程式は、さらに、前記切換関数の積算値を線形独立な状態変数として含み、
さらに、該切換関数の積算値の状態変数が収束するよう該状態方程式に基づいて算出された補正項を用いて、前記プラントへの制御入力は算出される、請求項10に記載のプラント制御装置。 - 前記補正項のそれぞれは、最適レギュレータ制御によって決定される、請求項10または請求項11に記載のプラント制御装置。
- 前記プラントは内燃機関であり、
前記プラントの出力は、前記内燃機関の出力回転数であり、
前記プラントの出力の目標値に対する偏差は、前記内燃機関の出力回転数の目標回転数に対する偏差である、請求項1から請求項12のいずれかに記載のプラント制御装置。 - 前記プラントは、入力を前記内燃機関の点火時期補正量、出力を該内燃機関の回転数としてモデル化され、
前記制御手段は、前記応答指定型制御アルゴリズムを実行して、前記点火時期補正量を算出する、請求項13に記載のプラント制御装置。 - 前記フィルタは、低域フィルタである請求項1から請求項14のいずれかに記載のプラント制御装置。
- 前記フィルタのカットオフ周波数は、前記内燃機関と該内燃機関が搭載された車両の運転室内との間の振動音伝達系の共振点以下の周波数に設定される、請求項13から請求項15のいずれかに記載のプラント制御装置。
- 前記フィルタは、状態空間表現に基づいて構成される、
請求項1から請求項16のいずれかに記載のプラント制御装置。 - 前記フィルタは、コンピュータプログラムによって実現される、請求項1から請求項17のいずれかに記載のプラント制御装置。
- 前記応答指定型制御アルゴリズムは、コンピュータプログラムによって実現される、請求項1から請求項18のいずれかに記載のプラント制御装置。
- 前記制御手段は、前記応答指定型制御アルゴリズムを、前記内燃機関がアイドリング運転状態にあるときに実行する、請求項13から請求項19のいずれかに記載のプラント制御装置。
- 前記制御手段は、前記応答指定型制御アルゴリズムを、前記内燃機関の始動直後に該内燃機関に吸入される空気量を増大して触媒の早期活性化を図る排気系の暖機制御において実行する、請求項1から請求項20のいずれかに記載のプラント制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002329176A JP4222816B2 (ja) | 2001-12-06 | 2002-11-13 | 周波数整形応答指定型制御を用いたプラント制御装置 |
EP02026920A EP1318438B1 (en) | 2001-12-06 | 2002-12-03 | A plant controller for frequency-shaping response-designating control having a filtering function |
DE60217805T DE60217805T8 (de) | 2001-12-06 | 2002-12-03 | Anlagesteuerung zur frequenzformenden Anzeige des Ansprechens mit Filterfunktion |
US10/310,968 US6950741B2 (en) | 2001-12-06 | 2002-12-06 | Plant controller for frequency-shaping response-designating control having a filtering function |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001373276 | 2001-12-06 | ||
JP2002176782 | 2002-06-18 | ||
JP2002329176A JP4222816B2 (ja) | 2001-12-06 | 2002-11-13 | 周波数整形応答指定型制御を用いたプラント制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004076716A JP2004076716A (ja) | 2004-03-11 |
JP4222816B2 true JP4222816B2 (ja) | 2009-02-12 |
Family
ID=27347915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002329176A Expired - Fee Related JP4222816B2 (ja) | 2001-12-06 | 2002-11-13 | 周波数整形応答指定型制御を用いたプラント制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6950741B2 (ja) |
EP (1) | EP1318438B1 (ja) |
JP (1) | JP4222816B2 (ja) |
DE (1) | DE60217805T8 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1275108C (zh) * | 2001-04-20 | 2006-09-13 | 本田技研工业株式会社 | 设备控制系统 |
JP3961446B2 (ja) * | 2003-04-22 | 2007-08-22 | 株式会社ケーヒン | 内燃機関の制御装置 |
JP4015589B2 (ja) * | 2003-06-02 | 2007-11-28 | 本田技研工業株式会社 | プラントの制御装置 |
US7340336B2 (en) | 2003-06-13 | 2008-03-04 | Honda Motor Co., Ltd. | Plant control system |
JP4148081B2 (ja) * | 2003-09-24 | 2008-09-10 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
JP4391789B2 (ja) * | 2003-10-03 | 2009-12-24 | 本田技研工業株式会社 | モデルパラメータを部分的に同定する同定器を備えた、プラントを制御する制御装置 |
JP2005163616A (ja) * | 2003-12-02 | 2005-06-23 | Honda Motor Co Ltd | エンジン回転数制御装置 |
US7047938B2 (en) * | 2004-02-03 | 2006-05-23 | General Electric Company | Diesel engine control system with optimized fuel delivery |
DE102004010412B4 (de) | 2004-03-01 | 2018-03-15 | Robert Bosch Gmbh | Vorrichtung zum Betreiben einer Brennkraftmaschine |
JP4443985B2 (ja) * | 2004-04-07 | 2010-03-31 | 本田技研工業株式会社 | 制御装置 |
JP4379336B2 (ja) * | 2005-01-07 | 2009-12-09 | トヨタ自動車株式会社 | 制御システムの評価装置、その評価装置に用いられる検証装置、制御システムの評価方法、及びそれらに用いるコンピュータプログラム |
US7444191B2 (en) | 2005-10-04 | 2008-10-28 | Fisher-Rosemount Systems, Inc. | Process model identification in a process control system |
US7738975B2 (en) | 2005-10-04 | 2010-06-15 | Fisher-Rosemount Systems, Inc. | Analytical server integrated in a process control network |
US8036760B2 (en) * | 2005-10-04 | 2011-10-11 | Fisher-Rosemount Systems, Inc. | Method and apparatus for intelligent control and monitoring in a process control system |
JP2007272279A (ja) * | 2006-03-30 | 2007-10-18 | Nikon Corp | 制御装置 |
JP2008045484A (ja) * | 2006-08-16 | 2008-02-28 | Japan Marine Science Inc | 舶用内燃機関の制御方法及び制御装置 |
EP2023222B1 (en) | 2007-08-03 | 2010-11-24 | Honda Motor Co., Ltd. | Sliding mode control system for plant |
JP4755154B2 (ja) * | 2007-08-30 | 2011-08-24 | 三菱重工業株式会社 | ガスエンジンの始動制御方法及び装置 |
JP5170053B2 (ja) * | 2009-10-07 | 2013-03-27 | トヨタ自動車株式会社 | 内燃機関の制御システム |
EP2397677B1 (en) * | 2010-06-16 | 2018-10-17 | Honda Motor Co., Ltd. | Egr control apparatus for internal combustion engine |
JP5075229B2 (ja) | 2010-06-18 | 2012-11-21 | 本田技研工業株式会社 | 内燃機関のegr制御装置 |
US10381031B2 (en) | 2015-03-31 | 2019-08-13 | Seagate Technology Llc | Adaptive disturbance rejection using dead zone filter |
JP7363840B2 (ja) * | 2021-03-10 | 2023-10-18 | 横河電機株式会社 | 解析装置、解析方法およびプログラム |
CN117389160B (zh) * | 2023-12-11 | 2024-02-27 | 安徽大学 | 一种遗传算法辅助的电力系统有限时间分散滑模控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3599108A (en) * | 1969-11-14 | 1971-08-10 | Bell Telephone Labor Inc | Discrete-time filtering apparatus |
JP3315814B2 (ja) * | 1994-06-09 | 2002-08-19 | トヨタ自動車株式会社 | 車両用制御装置,クラッチのスリップ制御装置およびアイドル回転数制御装置 |
US5568142A (en) * | 1994-10-20 | 1996-10-22 | Massachusetts Institute Of Technology | Hybrid filter bank analog/digital converter |
JP3324344B2 (ja) * | 1995-07-18 | 2002-09-17 | 日産自動車株式会社 | 内燃機関のアイドル回転速度制御装置 |
SE511393C2 (sv) * | 1997-02-10 | 1999-09-20 | Ericsson Telefon Ab L M | Anordning och förfarande för programmerbar analog bandpass- filtering |
JP3408754B2 (ja) | 1998-10-02 | 2003-05-19 | 本田技研工業株式会社 | 内燃機関の回転数制御装置 |
JP3408753B2 (ja) * | 1998-10-02 | 2003-05-19 | 本田技研工業株式会社 | 内燃機関の制御装置 |
-
2002
- 2002-11-13 JP JP2002329176A patent/JP4222816B2/ja not_active Expired - Fee Related
- 2002-12-03 EP EP02026920A patent/EP1318438B1/en not_active Expired - Lifetime
- 2002-12-03 DE DE60217805T patent/DE60217805T8/de active Active
- 2002-12-06 US US10/310,968 patent/US6950741B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20030130785A1 (en) | 2003-07-10 |
DE60217805D1 (de) | 2007-03-15 |
EP1318438A3 (en) | 2005-01-05 |
EP1318438A2 (en) | 2003-06-11 |
DE60217805T2 (de) | 2007-06-14 |
EP1318438B1 (en) | 2007-01-24 |
JP2004076716A (ja) | 2004-03-11 |
DE60217805T8 (de) | 2007-09-20 |
US6950741B2 (en) | 2005-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4222816B2 (ja) | 周波数整形応答指定型制御を用いたプラント制御装置 | |
US6189317B1 (en) | Apparatus for controlling internal combustion engine | |
JP4251081B2 (ja) | 内燃機関の制御装置 | |
JP3408753B2 (ja) | 内燃機関の制御装置 | |
US6209517B1 (en) | Apparatus for controlling rotational speed of internal combustion engine | |
JP3824983B2 (ja) | リーン運転の際に同定器の演算を停止する内燃機関の空燃比制御装置 | |
JP6705545B1 (ja) | 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置 | |
JP3957180B2 (ja) | デシメーションフィルタを用いた内燃機関の空燃比制御装置 | |
JP2009156099A (ja) | 制御装置 | |
JP2007162565A (ja) | 内燃機関の空燃比制御装置 | |
CN113175385B (zh) | 内燃机的控制装置以及控制方法 | |
JP4364777B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4064148B2 (ja) | 素子温を利用して排ガスセンサの故障を検出する装置 | |
CN113153550A (zh) | 内燃机的控制装置以及控制方法 | |
JP2010019105A (ja) | 制御装置 | |
US20060231071A1 (en) | Electronic control unit and method for controlling an ignition timing of an internal-combustion engine | |
JP4725478B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3922988B2 (ja) | 触媒の還元処理において目標空燃比のリミット値を変更する空燃比制御装置 | |
JP4770589B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3742048B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2007285190A (ja) | 内燃機関の空燃比制御装置 | |
JP3808816B2 (ja) | 空燃比の基準値の更新許可を判断する内燃機関の空燃比制御装置 | |
JP2010019107A (ja) | 制御装置 | |
JPH06117317A (ja) | エンジンの制御装置 | |
JP2013200779A (ja) | フィードフォワード制御方法およびフィードフォワード制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080619 |
|
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: 20081118 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081118 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131128 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |