(57)【要約】本発明は、目標出力が過渡的に変化することがあるシステム（例えば、ディーゼルエンジン）の制御方法に関する。目標出力は、システムから要求される出力を指定する。「定常状態」情報は、目標出力がほぼ一定である場合のシステムの最適入力を与えるために使用される。本制御システムのモデルは、システムの入力の新しい候補値に応答してシステムの出力を予測するために使用される。本制御方法は、定常状態情報とシステムの予測された応答とを結合して、システム出力が目標出力と可能な限り一致するようなシステム入力を求める。本制御方法では、候補値ごとに、定常状態入力と候補値との差と、目標出力と、その候補値を採用した場合の予測される出力との差とを計算して最適な候補値を求め、その候補値を使用してシステム入力を更新する。
2005516298.tif 000002
【特許請求の範囲】
【請求項１】
第１の数のシステム入力と第２の数のシステム出力とを有するシステムを、前記システム入力を更新するための信号を間隔を置いて出力することによって制御する制御装置であって、
前記システム出力の目標値を示す１つ又は複数の信号を受け取る受信手段と、
定常状態条件下で前記システム出力を前記システム入力に関係付ける定常状態情報を使用して、前記目標出力値に基づいて前記システム入力の前記第１の数と同数の定常状態値を求めるマッピング手段と、
前記システム出力を示す前記第２の数と同数の信号を受け取る受信手段と、
少なくとも１セットの初期値を生成し、前記セット又は各セットが、更新値のセットを求めるための基礎として使用する前記第１の数と同数の値からなり、前記更新値のセットが、前記システム入力を更新するための、前記第１の数と同数の値からなる初期値生成手段と、
前記システムのモデルを使用して、前記初期値のセット又は各セットについて、過去のシステム入力値、過去のシステム出力値及び前記初期値のセット又は各セットに基づいて前記システム出力の未来値のセットを予測する予測手段と、
前記定常状態値と前記初期値のセット又は各セットとの差を求めて第１差分情報を与える第１差分手段と、
前記システム出力の、前記目標値と前記予測された未来値のセット又は各セットとの差を求めて第２差分情報を与える第２差分手段と、
前記第１差分情報と前記第２差分情報を結合して結合差分情報を与える結合手段と、
前記結合差分情報と前記初期値のセット又は各セットに基づいて前記更新値のセットを求める算出手段と、
前記システム入力を更新するために前記更新値のセットを示す信号を出力する出力手段と
を備えたことを特徴とする制御装置。
【請求項２】
前記目標値を示す信号を生成する１つ又は複数のセンサを備えたことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記目標値を示す信号を受け取る前記受信手段は、前記目標値を示す信号から前記目標値を推定する推定手段を備えたことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記マッピング手段は、前記定常状態情報を含むことを特徴とする請求項１，２又は３に記載の制御装置。
【請求項５】
前記マッピング手段は、前記定常状態情報を受け取る受信手段を備えたことを特徴とする請求項１，２又は３に記載の制御装置。
【請求項６】
前記マッピング手段は、前記定常状態情報を含むルックアップテーブルを使用するよう動作可能であることを特徴とする請求項１乃至５のいずれかに記載の制御装置。
【請求項７】
前記マッピング手段は、第１の信号を受け取る受信手段を備え、該第１の信号に応答して、定常状態値を求めるための基礎を変更するよう動作可能であることを特徴とする請求項１乃至６のいずれかに記載の制御装置。
【請求項８】
前記マッピング手段は、前記第１の信号に応答して、複数セットの定常状態情報のいずれか１つを選択することによって前記基礎を変更するよう動作可能であることを特徴とする請求項７に記載の制御装置。
【請求項９】
前記第１の信号を生成するセンサを備えたことを特徴とする請求項７又は８に記載の制御装置。
【請求項１０】
前記システム出力を示す信号を生成する、前記第２の数と同数のセンサを備えたことを特徴とする請求項１乃至９のいずれかに記載の制御装置。
【請求項１１】
前記予測手段は、前記未来値のセット又は各セットを予測するために自己回帰和分移動平均モデルを使用するよう動作可能であることを特徴とする請求項１乃至１０のいずれかに記載の制御装置。
【請求項１２】
前記予測手段は、使用するモデルのタイプを指定する情報を含むことを特徴とする請求項１乃至１１のいずれかに記載の制御装置。
【請求項１３】
前記予測手段は、使用するモデルのタイプを指定する情報を受け取る受信手段を備えたことを特徴とする請求項１乃至１１のいずれかに記載の制御装置。
【請求項１４】
前記予測手段は、前記モデルのパラメータを指定する情報を含むことを特徴とする請求項１２に記載の制御装置。
【請求項１５】
前記予測手段は、モデルのパラメータを指定する情報を受け取る受信手段を備えたことを特徴とする請求項１乃至１３のいずれかに記載の制御装置。
【請求項１６】
前記予測手段は、第２の信号を受け取る受信手段を備え、該第２の信号に応答して、使用するモデルのタイプを選択するよう動作可能であることを特徴とする請求項１３に記載の制御装置。
【請求項１７】
前記第２の信号は、前記システム出力を示すことを特徴とする請求項１６に記載の制御装置。
【請求項１８】
前記第２の信号を生成するセンサを備えたことを特徴とする請求項１６又は１７に記載の制御装置。
【請求項１９】
前記予測手段は、第３の信号を受け取る受信手段を備え、該第３の信号に応答して、使用中の前記モデルのパラメータを変更するよう動作可能であることを特徴とする請求項１乃至１８のいずれかに記載の制御装置。
【請求項２０】
前記第３の信号は、前記システム出力を示すことを特徴とする請求項１９に記載の制御装置。
【請求項２１】
前記第３の信号を生成するセンサを備えたことを特徴とする請求項１９又は２０に記載の制御装置。
【請求項２２】
最も近い過去に使用した更新値のセットの値と前記初期値のセット又は各セットとの差を求めて第３差分情報を与える第３差分手段を備え、
前記結合手段は、前記第３差分情報を前記第１差分情報及び前記第２差分情報に結合して前記結合差分情報を与えるよう動作可能であることを特徴とする請求項１乃至２１のいずれかに記載の制御装置。
【請求項２３】
前記結合手段は、第４の信号に応答して、前記第１差分情報及び前記第２差分情報の前記結合差分情報における相対的な重要度を変更する変更手段を備えたことを特徴とする請求項１乃至２２のいずれかに記載の制御装置。
【請求項２４】
前記第４の信号は、目標値を示す信号の変化率であることを特徴とする請求項２３に記載の制御装置。
【請求項２５】
前記第４の信号を生成するセンサを備えたことを特徴とする請求項２３又は２４に記載の制御装置。
【請求項２６】
前記初期値手段は、１セットの初期値を生成し、前記最も近い過去に使用した更新値のセットを前記初期値のセットとして使用するよう動作可能であることを特徴とする請求項１乃至２５のいずれかに記載の制御装置。
【請求項２７】
前記初期値手段は、複数セットの初期値を生成するよう動作可能であり、前記予測手段は、予測された未来値のそれぞれのセットを複数生成するよう動作可能であり、前記第１差分手段は、前記初期値の各セットについてそれぞれの第１差分値を求めることにより前記第１差分情報を求めるよう動作可能であり、前記第２差分手段は、前記第１差分値のそれぞれに対して、同じ初期値のセットに基づいて求められる第２差分値が存在するようにするために、予測された未来値の各セットについてそれぞれの第２差分値を求めることにより、前記第２差分情報を求めるよう動作可能であり、前記結合手段は、前記第１差分値のそれぞれをそのそれぞれの第２差分値と結合して複数の結合差分値を与えるよう動作可能であり、前記結合差分値のそれぞれはそれぞれの初期値のセットに対応付けられ、前記算出手段は、前記更新値のセットを求めるときに使用するために、１つ又は複数の初期値のセットを、それに対応付けられた結合差分値に基づいて選択するよう動作可能であることを特徴とする請求項１乃至２５のいずれかに記載の制御装置。
【請求項２８】
前記算出手段は、前記初期値のセットのいずれか１つを選択することと、前記選択した初期値のセットを前記更新値のセットとして使用するよう動作可能であることを特徴とする請求項２７に記載の制御装置。
【請求項２９】
前記算出手段は、前記初期値のセットを２つ以上選択するよう動作可能であり、前記算出手段は、前記選択した２つ以上の初期値のセットを補間することによって前記更新値のセットを生成するよう動作可能である補間手段を備えたことを特徴とする請求項２７に記載の制御装置。
【請求項３０】
前記結合手段は、前記第１差分値をそのそれぞれの第２差分値と加算によって結合するよう動作可能であることを特徴とする請求項２７，２８又は２９に記載の制御装置。
【請求項３１】
前記初期値手段は、少なくとも１セットのさらなる初期値を生成するよう動作可能であり、前記さらなる初期値のセット又は各セットは、前記更新値のセットによって前記システム入力が更新される間隔の後の間隔の初めに前記システム入力を更新するための、前記第１の数と同数の、さらなる更新値のセットを求めるための基礎として使用する値からなり、
前記さらなる初期値のセット又は各セットはそれぞれの初期値のセットに対応付けられ、
前記初期値のセット又は各セットに対して、前記予測手段は、前記さらなる初期値のセット又は各セットに基づいて、ならびに過去のシステム入力値、過去のシステム出力値及び前記初期値のセット又は各セットに基づいて、前記システム出力の前記未来値のセット又は各セットを予測するよう動作可能であり、
前記算出手段は、１つ又は複数の初期値のセットを選択している間、前記第２差分情報に関して前記さらなる初期値のセット又は各セットの影響を考慮するよう動作可能であることを特徴とする請求項２７乃至３０のいずれかに記載の制御装置。
【請求項３２】
前記結合手段は、行列演算を使用して前記第１差分情報と前記第２差分情報を結合する手段を備えたことを特徴とする請求項１乃至２６のいずれかに記載の制御装置。
【請求項３３】
前記結合手段及び前記算出手段は、前記システム出力の応答を前記システム入力の変化に関係付ける情報を使用して前記更新値のセットを求めるために、ＭＷＬＳ法を使用するよう動作可能であることを特徴とする請求項３２に記載の制御装置。
【請求項３４】
前記結合手段及び前記算出手段は、前記更新値のセットによって前記システム入力が更新される間隔の後の間隔の初めに前記システム入力を更新するために、さらなる更新値のセットを求めるよう動作可能であり、前記結合手段及び前記算出手段は、前記システム出力の応答を前記システム入力の変化に関係付ける情報に基づいて前記更新値のセット及び前記さらなる更新値のセットを求めるよう動作可能であることを特徴とする請求項３３に記載の制御装置。
【請求項３５】
更新値を示す信号に応答してシステム入力を修正するアクチュエータを備えたことを特徴とする請求項１乃至３４のいずれかに記載の制御装置。
【請求項３６】
６０ミリ秒の間隔で前記システム入力を更新するための信号を出力するよう動作可能であることを特徴とする請求項１乃至３５のいずれかに記載の制御装置。
【請求項３７】
前記予測手段は、次の１０間隔について前記システム出力の未来値を予測するよう動作可能であることを特徴とする請求項１乃至３６のいずれかに記載の制御装置。
【請求項３８】
前記第２差分手段は、現在の間隔に続く３番目の間隔から１０番目の間隔までの間隔について差分を求めるよう動作可能であることを特徴とする請求項３７に記載の制御装置。
【請求項３９】
プロセッサと、該プロセッサが実行する一連の命令を格納するメモリとを備えたことを特徴とする請求項１乃至３８のいずれかに記載の制御装置。
【請求項４０】
請求項１乃至３９のいずれかに記載の制御装置と前記システムとを備えたことを特徴とする組合せシステム。
【請求項４１】
前記システムは、圧縮点火エンジンであることを特徴とする請求項４０に記載の組合せシステム。
【請求項４２】
前記第１の数は２であり、前記第２の数は２であることを特徴とする請求項４１に記載の組合せシステム。
【請求項４３】
前記システムは、可変容量ターボチャージャ及び可変排気ガス再循環装置を備え、前記システム入力は、前記可変容量ターボチャージャ及び前記可変排気ガス再循環装置の設定値であり、前記システム出力は、空気流量及び排気ガス再循環流量であることを特徴とする請求項４２に記載の組合せシステム。
【請求項４４】
第１の数のシステム入力と第２の数のシステム出力とを有するシステムを、前記システム入力を更新するための信号を間隔を置いて出力することによって制御し、プロセッサベースの装置で使用するプログラムを定義し、プロセッサで実行可能な命令を有するコンピュータプログラムプロダクトであって、
前記システム出力の目標値を示す１つ又は複数の信号を受け取る受信手段と、
定常状態条件下で前記システム出力を前記システム入力に関係付ける定常状態情報を使用して、前記目標出力値に基づいて前記システム入力の前記第１の数と同数の定常状態値を求めるマッピング手段と、
前記システム出力を示す前記第２の数と同数の信号を受け取る受信手段と、
少なくとも１セットの初期値を生成し、前記セット又は各セットが、更新値のセットを求めるための基礎として使用する前記第１の数と同数の値からなり、前記更新値のセットが、前記システム入力を更新するための前記第１の数と同数の値からなる初期値生成手段と、
前記システムのモデルを使用して、前記初期値のセット又は各セットについて、過去のシステム入力値、過去のシステム出力値及び前記初期値のセット又は各セットに基づいて前記システム出力の未来値のセットを予測する予測手段と、
前記定常状態値と前記初期値のセット又は各セットとの差を求めて第１差分情報を与える第１差分手段と、
前記システム出力の、前記目標値と前記予測された未来値のセット又は各セットとの差を求めて第２差分情報を与える第２差分手段と、
前記第１差分情報と前記第２差分情報を結合して結合差分情報を与える結合手段と、
前記結合差分情報と前記初期値のセット又は各セットに基づいて前記更新値のセットを求める算出手段と、
前記システム入力を更新するために前記更新値のセットを示す信号を出力する出力手段と
の動作を実行することを特徴とするプログラムプロダクト。
【請求項４５】
プログラムされたメモリ装置であることを特徴とする請求項４４に記載のプログラムプロダクト。
【請求項４６】
第１のプロセッサベースの装置から第２のプロセッサベースの装置への転送に適した信号であることを特徴とする請求項４５に記載のプログラムプロダクト。
【請求項４７】
前記第２のプロセッサベースの装置は、請求項３９に記載の制御装置であることを特徴とする請求項４６に記載のプログラムプロダクト。
【請求項４８】
第１の数のシステム入力と第２の数のシステム出力とを有するシステムを、前記システム入力を更新するための信号を間隔を置いて出力することによって制御する制御方法であって、
前記システム出力の目標値を示す１つ又は複数の信号を受け取るステップと、
定常状態条件下で前記システム出力を前記システム入力に関係付ける定常状態情報に基づいて、前記目標出力値に基づいて前記システム入力の第１の数の定常状態値を求めるステップと、
前記システム出力を示す前記第２の数と同数の信号を受け取るステップと、
少なくとも１セットの初期値を生成し、前記セット又は各セットが、更新値のセットを求めるための基礎として使用する前記第１の数と同数の値からなり、前記更新値のセットが、前記システム入力を更新するための前記第１の数と同数の値からなる初期値を生成するステップと、
前記システムのモデルを使用して、前記初期値のセット又は各セットについて、過去のシステム入力値、過去のシステム出力値及び前記初期値のセット又は各セットに基づいて前記システム出力の未来値のセットを予測するステップと、
前記定常状態値と前記初期値のセット又は各セットとの差を求めて第１差分情報を与えるステップと、
前記システム出力の、前記目標値と前記予測された未来値のセット又は各セットとの差を求めて第２差分情報を与えるステップと、
前記第１差分情報と前記第２差分情報を結合して結合差分情報を与えるステップと、
前記結合差分情報と前記初期値のセット又は各セットに基づいて前記更新値のセットを求めるステップと、
前記システム入力を更新するために前記更新値のセットを示す信号を出力するステップと
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システムに関し、より詳細には、排気ガス再循環（ＥＧＲ；ｅｘｈａｕｓｔ  ｇａｓ  ｒｅｃｉｒｃｕｌａｔｉｏｎ）システムを有するスーパーチャージャ付き圧縮点火エンジンの制御装置及び制御方法に関し、特に、可変容量ターボチャージャ（ＶＧＴ；ｖａｒｉａｂｌｅ  ｇｅｏｍｅｔｒｙ  ｔｕｒｂｏｃｈａｒｇｅｒ）を備えたディーゼルエンジンの過渡時の空気燃料混合比（ＡＦＲ；ａｉｒ−ｔｏ−ｆｕｅｌ）及び排気ガス再循環量の制御装置及び制御方法に関する。
【背景技術】
【０００２】
ディーゼルエンジンは、多くの場合、ターボチャージャを装備してエンジンのシリンダに誘引する空気の量を増やすことにより、使用可能な酸素の量を増やし、その結果としてストロークあたりの燃焼可能な燃料の量を増やす。ターボチャージャは、排気ガスのエネルギーの一部を使用してタービンを駆動し、そのタービンは、コモンシャフト（ｃｏｍｍｏｎ  ｓｈａｆｔ）に取り付けられたコンプレッサを駆動する。コンプレッサは、周囲の空気を圧縮してインテークマニホールド（ｉｎｔａｋｅ  ｍａｎｉｆｏｌｄ）に誘導する。一般にターボチャージャは、エンジンの動作速度の比較的狭い帯域の周辺でのみ、エンジンの特性と調和することができる。例えば、ある特定のエンジン動作速度において、ターボチャージャは、インレットマニホールド内の圧力を３倍の２バールにすることができる。これにより、シリンダに誘引される空気の質量が３倍になり、その結果として、燃焼可能な燃料の質量とエンジンで発生可能な出力が３倍になる。
【０００３】
ＶＧＴは、エンジン速度の広い範囲においてターボチャージャの特性とエンジンの特性が調和するよう、ターボチャージャの特性を修正することを可能にする。従来は、タービンステータのインレットガイドベーン（ｉｎｌｅｔ  ｇｕｉｄｅ  ｖａｎｅｓ）の角度を変更することで、この調和を実現してきた。
【０００４】
乗り物、特に自動車やトラックの動力装置として使用するディーゼルエンジンから排出されうる粒子状物質（ＰＭ；ｐａｒｔｉｃｕｌａｔｅ  ｍａｔｔｅｒ）と窒素酸化物（ＮＯＸ）の量を規定する基準は、既に何種類も存在する。ＰＭ排出は、エンジン内に入る酸素の量が、燃料を完全燃焼させるには不十分な場合に発生する。一方、酸素が多すぎると、燃料の燃焼温度が上昇し、ＮＯＸ排出が増える。ＡＦＲは、エンジン内に入る燃料の質量に対する、エンジン内に入る空気（２１％が酸素であると仮定）の質量の割合である。ＰＭ排出とＮＯＸ排出は両方とも、エンジンのＡＦＲをあらかじめ決められた設定（一般には２５：１）に保つことによって制御できる。ＡＦＲは比であるが、慣例として単一の数値で表されており、以下でもその慣例に従うものとする。ＡＦＲが２０未満（つまり、２０：１未満）になると、通常はＰＭが過剰になって排気が煤（ｓｏｏｔｙ）で黒くなる。一方、ＡＦＲが３５を超えると、通常はＮＯＸが過剰になる。
【０００５】
入れる空気の量をエンジンの負荷に応じて調節し、燃料を火花で点火する火花点火エンジンと異なり、ディーゼルエンジンは、圧縮点火で動作するため、燃料の点火に必要な高い温度が圧縮時に得られるよう、十分な量の空気を常にシリンダに入れなければならない。ディーゼルエンジンに入る燃料の量はエンジンの負荷に依存し、その結果として、ＡＦＲもエンジンの負荷に応じて変動する。
【０００６】
ＶＧＴ及びＥＧＲによりＡＦＲを調節することができ、それによって、様々な動作条件下で排出を最小化できる。ＡＦＲが低すぎる場合は、ＶＧＴにより追加の空気をエンジン内に強制的に送り込んでＡＦＲを上げて２５に戻し、それによってＰＭ排出を減らす。ＡＦＲが高すぎる場合は、排気ガスをアウトレットマニホールドからインレットマニホールドに再循環させ、インレットマニホールドで、エンジンに誘引される空気と混合して、その空気を薄める。排気ガスは主に窒素、二酸化炭素及び水蒸気であり、エンジンに誘引される使用可能な酸素の量を減らして（ただし、点火に必要な量は維持する）、燃焼温度を下げ、ＮＯＸ排出を減らす。
【０００７】
再循環させる排気ガスが多すぎると、炭素粒子のエンジンオイルに対する悪影響や酸性の硫黄酸化物の悪影響のために、エンジンの信頼性が低下する。通常は、ＥＧＲ比率を１０％にすると（つまり、エンジンに入る量の１０％が再循環排気ガスになるようにすると）、ＮＯＸ排出と信頼性の十分なトレードオフを実現できる。
【０００８】
従来の排出基準は、事実上、静的な動作条件（エンジンがいくつかの固定負荷及び固定速度で動作するという条件）を前提として制定されていた。より最近の排出基準（例えば、Ｅｕｒｏｐｅａｎ  ＥＵＲＯ  ４やＵＳ  Ｆｅｄｅｒａｌ  Ｔｉｅｒ  ２  Ｓｔａｎｄａｒｄｓ）では、市街地走行を模した加速や制動などの過渡事象も排出適合性試験に採り入れている。ＰＭ排出とＮＯＸ排出は、試験サイクルの静的部分でも動的部分でも所定の制限を下回らなければならない。
【０００９】
【非特許文献１】Ｌｅｎｎａｒｔ  Ｌｊｕｎｇ，  ”Ｓｙｓｔｅｍ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ：  Ｔｈｅｏｒｙ  ｆｏｒ  ｔｈｅ  Ｕｓｅｒ”，  Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，  １９８７年
【非特許文献２】Ｄ．Ｗ．  Ｃｌａｒｋｅ，  ”Ａｄｖａｎｃｅｓ  ｉｎ  Ｍｏｄｅｌ−Ｂａｓｅｄ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ”，  Ｏｘｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ，  ＵＫ，  １９９４
【非特許文献３】Ｌａｗｓｏｎ  ＣＪ，  Ｈａｎｓｏｎ  ＲＪ，  ”Ｓｏｌｖｉｎｇ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ  Ｐｒｏｂｌｅｍｓ  （Ｃｌａｓｓｉｃｓ  ｉｎ  Ａｐｐｌｉｅｄ  Ｍａｔｈｅｍａｔｉｃｓ，  Ｎｏ．  １５）”，  Ｓｏｃｉｅｔｙ  ｆｏｒ  Ｉｎｄｕｓｔｒｉａｌ  ＆  Ａｐｐｌｉｅｄ  Ｍａｔｈｅｍａｔｉｃｓ  １９９５，  ＩＳＢＮ  ０８９８７  １３５６０
【非特許文献４】Ｌａｗｓｏｎ，  Ｈａｎｓｏｎ，  ”Ｓｏｌｖｉｎｇ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ  Ｐｒｏｂｌｅｍｓ”，  Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，  １９７４
【非特許文献５】”Ｍｕｌｔｉｐｌｅ  Ｏｒｄｅｒ  Ｍｏｄｅｌｓ  ｉｎ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ”，  ＰｈＤ  ｔｈｅｓｉｓ，  Ｔｒｉｎｉｔｙ  Ｃｏｌｌｅｇｅ，  Ｏｘｆｏｒｄ，  ＵＫ，  １９９９
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、ＥＧＲ及びＶＧＴを備えたディーゼルエンジンに対して、過渡的動作条件におけるエンジン排出物の制御を可能にする制御装置及び制御方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明によって開示される発明は、アクチュエータを使用して排気ガス再循環の量と吸気のブースト量の少なくともいずれかを可変とする、圧縮点火エンジンの制御方法であり、この制御方法は、
エンジンに燃料が入るレートを示す信号を受信するステップと、
その燃料が入るレートに基づいて、あらかじめ決められ、実質的に最適化された、定常状態条件下でエンジンに入る空気の量と排気ガスの量を示す信号を生成するステップと、
その燃料が入るレートに基づいて、エンジンの空気燃料混合比をあらかじめ決められたレベルでほぼ維持するためにエンジンに誘引しなければならない空気の量を決定するステップと、
その決定した空気の量に基づいて、再循環させる排気ガスの量を決定するステップと、
あるモデルを使用してエンジンの未来の挙動を予測するステップと、
アクチュエータの目標値に対応付けられた費用関数を最小化することによってその目標値を生成するステップであり、その費用関数が、定常状態値からの離脱にかかる費用とエンジンの未来の挙動が予測どおりになるために必要な条件からの離脱にかかる費用とを含むステップと、
その費用関数によって決定されたアクチュエータの設定に基づいてブースト圧力及び／又は排気ガス再循環量を変更するステップとを有している。
【００１２】
本発明の他の実施態様によれば、この制御方法を具体化したコントローラと、そのようなコントローラを備えた圧縮点火エンジンが提供される。
【００１３】
後述するように、この制御方法の利点は、従来技術による制御方法（例えば、ＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ、Ｉｎｔｅｇｒａｌ、Ｄｅｒｉｖａｔｉｖｅ）制御方法）と比較して、より細かい排出制御が可能な点である。この性能改善により、他の条件（例えば、燃料効率）とのトレードオフが可能になり、それによって、より最近の排出基準で規定された制限を超えることなくエンジンの燃料効率を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施例について説明する。
【実施例１】
【００１５】
図１は、本発明の制御装置を適用するディーゼルエンジンの主要な構成要素を示す構成図で、ＶＧＴ及びＥＧＲを備えたディーゼルエンジンの構成図である。  ディーゼルエンジン１００は、自動車（図示せず）の一部として使用され、エンジンブロック１１０とＶＧＴ１２０とＥＧＲシステム１３０とセンサ１４１〜１４３とから構成されている。
【００１６】
清浄な空気１０１がＶＧＴ１２０のコンプレッサ１２１に引き込まれ、その圧縮された空気１０２ａがインタークーラ１２４によって冷却される。コンプレッサ１２１に通じるインレットダクト内に位置する空気流量センサ（ｍａｓｓ  ａｉｒ  ｆｌｏｗ  ｓｅｎｓｏｒ）１４１が清浄な空気１０１の空気流量（ｍａｓｓ  ａｉｒ  ｆｌｏｗ）（ｋｇ／秒）を計測し、出力信号ＭＡＦを生成する。インタークーラ１２４が圧縮空気１０２ａを冷却し、その結果、中間冷却された空気１０２ｂの密度が増加する。中間冷却された空気１０２ｂの密度は高いことが望ましい。高ければ、大量の空気をエンジンブロック１１０に誘引できるからである。インタークーラ１２４からの中間冷却された空気１０２ｂは、インレットマニホールド１１５を経由してエンジンブロック１１０に入るインレットマニホールド空気１０４の一部になる。圧力センサ１４２がインレットマニホールド空気１０４の、インレットマニホールド１１５に入るときの圧力を計測し、その圧力を示す信号ＭＡＰを生成する。温度センサ１４３がインレットマニホールド空気１０４の、インレットマニホールド１１５に入るときの温度を計測し、その温度を示す信号ＭＡＴを生成する。
【００１７】
エンジンブロック１１０は、４本のシリンダ１１３を有するシリンダブロック１１１を備え、各シリンダ１１３はそれぞれ１本のピストン（図示せず）を収容する。これらのピストンはクランクシャフト１１２に接続されている。速度センサ１４４がクランクシャフト１１２の速度を計測し、クランクシャフト１１２の角速度を示す信号ＳＰＤを生成する。各シリンダ１１３にはそれぞれ燃料噴射装置１１４が設けられており、燃料噴射装置１１４は信号ＩＮＪによって駆動される。インレットマニホールド１１５は、シリンダブロック１１１の一方の面にボルト止めされている。これに対して、エキゾーストマニホールド１１６は、シリンダブロック１１１のもう一方の面にボルト止めされていて、エンジンブロック１１０の４本のシリンダ１１３から出たエキゾーストマニホールドガス１０５をダクトに送るよう動作する。
【００１８】
エキゾーストマニホールドガス１０５は、２つの流れ（ＥＧＲガス１０６とタービンガス１０７）に分けられる。ＥＧＲガス１０６はＥＧＲインタークーラ１３１を通り、これによって、中間冷却されたＥＧＲガス１０３の密度が増加する。中間冷却されたＥＧＲガス１０３は、中間冷却された空気１０２ｂと混ざり、インレットマニホールド空気１０４を形成する。インレットマニホールド空気１０４に占める中間冷却されたＥＧＲガス１０３の割合は、ＥＧＲバルブ１３２によって制御される。ＥＧＲバルブ１３２の位置は、信号ＥＧＲに応じてＥＧＲアクチュエータ１３３によって制御される。
【００１９】
タービンガス１０７は、１セットのタービンステータブレード（図示せず）を通り、タービン１２３を通って排気ガス１０８を形成する。タービン１２３は、コンプレッサ１２１とともにコモンシャフト１２２に取り付けられ、これによって、タービンガス１０７のエネルギーの一部が清浄な空気１０１の圧縮に使用される。排気ガス１０８は消音装置（図示せず）を通る。
【００２０】
タービンステータブレードの角度は、信号ＶＧＴに応じてＶＧＴアクチュエータ１２５によって変化させることができる。タービン１２３の前後での圧力低下とそれによってタービンガス１０７から抽出されるエネルギーは、タービンステータブレードの角度を変えることによって変化させることができる。
【００２１】
図２は、ディーゼルエンジンを制御するための制御システムを示す図で、図１に示したディーゼルエンジンのためのコントローラの等角投影図で、このコントローラに接続するセンサ及びアクチュエータの概略図も示す図である。
【００２２】
制御システム２００はコントローラ２０１を備えている。このコントローラ２０１は、入力信号２２０をセンサから受信し、入力信号２２０に応じて、各種アクチュエータを駆動する出力信号２２１を生成する。
【００２３】
コントローラ２０１は、等角投影図に示されているように、プリント回路基板（ＰＣＢ）２０２を備えている。ＰＣＢ２０２には、ランダムアクセスメモリ（ＲＡＭ）を組み込んだマイクロプロセッサ２０３とリードオンリーメモリ（ＲＯＭ）２０４がマウントされており、ＰＣＢ２０２上で相互に接続されている。ＲＯＭ２０４は、マイクロプロセッサ２０３に対する命令のシーケンスで構成されるプログラムを格納する。また、コントローラ２０１は、各種アクチュエータを動作させるのに十分な電流及び電圧の信号を生成する駆動回路２０５も備えている。
【００２４】
入力信号２２０は、ＳＰＤとＭＡＰとＭＡＴとＭＡＦとＬＯＡＤを有している。信号ＬＯＡＤは、ペダル２１０の位置に応じて位置センサ２１１によって生成され、燃料噴射装置１１４によってシリンダ１１３内に噴射される燃料の量を制御する。自動車の運転手は、ペダル２１０の位置を調節して自動車の速度及び加速を制御する。ディーゼルエンジン１００の負荷は、エンジンに要求される出力に対応し、したがって、エンジンブロック１１０に入る燃料の流量レート（ｋｇ／秒）に対応する。
【００２５】
入力信号２２０はアナログであるため、マイクロプロセッサ２０３で処理できるよう、アナログデジタル変換装置（ＡＤＣ）（図示せず）によってデジタイズされる。本実施例１では、ＡＤＣの解像度は８ビットである。
【００２６】
出力信号２２１はＶＧＴ、ＥＧＲ及びＩＮＪであり、これらはそれぞれ、ＶＧＴアクチュエータ１２５、ＥＧＲアクチュエータ１３３及び燃料噴射装置１１４を制御する。
【００２７】
信号ＶＧＴ及びＥＧＲはデジタルであるため、それぞれのアクチュエータに渡される前に、デジタルアナログ変換装置（ＤＡＣ）（図示せず）によってアナログ信号に変換される。本実施例では、ＤＡＣの解像度は８ビットである。
【００２８】
コントローラ２０１は、従来の制御方法により、信号ＬＯＡＤ及び信号ＳＰＤに応じて、燃料噴射装置１１４を制御する信号ＩＮＪを生成する。また、信号ＳＰＤは、クランクシャフト１１２の角度位置を基準として適切な時点で燃料噴射を実行できるよう、ピストンがいつ上死点（ｔｏｐ−ｄｅａｄ−ｃｅｎｔｒｅ）にあるかを示すことにも留意されたい。
【００２９】
図３は、コントローラの機能ブロック図で、ＶＧＴ及びＥＧＲの新しい設定が到着する様子を、予測モデルと定常状態マップと制御アルゴリズムにより示すブロック図である。
【００３０】
マイクロプロセッサ２０３が、ＲＯＭ２０４に格納されているプログラムの命令により、予測マップ３０１と制御アルゴリズム３０２と定常状態マップ３０３を実現している。
【００３１】
定常状態マップ３０３は、最適化された値を有する２つのルックアップテーブルを備えている。それらは、ＶＧＴアクチュエータ１２５用のＶＧＴＳＳとＥＧＲアクチュエータ１３３用のＥＧＲＳＳであり、定常状態のエンジンの種々の速度及び負荷に対応する。エンジンの中間の速度及び負荷に対するＶＧＴＳＳとＥＧＲＳＳは、補間によって決定される。後述するように、ＶＧＴＳＳとＥＧＲＳＳの値は、速度と負荷の組合せのひとつずつについて、燃料効率が最大になり、ＰＭ排出とＮＯＸ排出が最小になるまで実験的にディーゼルエンジン１００の試験を行い、ＶＧＴとＥＧＲの設定値を調節することにより決定される。ただし、速度及び／又は負荷が変化しているときは、ＶＧＴＳＳとＥＧＲＳＳは最適になりえない。例えば、自動車の運転手が急にペダル２１０を踏み込むと、エンジンブロック１１０内に噴射される燃料の量が急に増加するが、エンジンブロック１１０に入るインレットマニホールド空気１０４の流量レートがそれに対応して増加するには時間がかかる（ターボラグなどの要因のため）。中間冷却された空気１０２ｂ及び中間冷却されたＥＧＲガス１０３の空気流が応答し、ペダル２１０の動きによって必要となる新しいＶＧＴＳＳ及びＥＧＲＳＳの設定に落ち着くまで、ＡＦＲは２５を下回り、その結果、ＰＭ排出を含む黒煙の排気が過渡的に吹き出る。
【００３２】
制御アルゴリズム３０２は、予測モデル３０１を使用して、過渡的条件及び修正されたＶＧＴＳＳ及びＥＧＲＳＳの設定に対するエンジン１００の応答を予想する。これにより、コントローラ３０２は、過渡状態におけるＡＦＲの２５からのずれを最小にするために、ＶＧＴＳＳ及びＥＧＲＳＳの値を修正することの効果を考慮に入れることができる。逆に、速度及び／又は負荷の変動が急でない場合、制御アルゴリズム３０２は、定常状態マップ３０３から提案されるＶＧＴＳＳ及びＥＧＲＳＳの値にせいぜいわずかな変更を加えるだけである。
【００３３】
予測モデル３０１は、インレットマニホールド１１５に入る中間冷却された空気１０２ｂの流量レートＭＡＩＲを予測し、さらに、インレットマニホールド１１５に入る中間冷却されたＥＧＲガス１０３の流量レートＭＥＧＲも予測する。ＭＡＩＲとＭＥＧＲの未来値は、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の近接過去の位置とＭＡＩＲ及びＭＥＧＲの最近の計測値に基づいて予測される。
【００３４】
制御システム３００は、６０ｍｓの離散的なタイムステップで動作する。各タイムステップにおいて制御システム３００は、エンジンに現在要求されている速度及び負荷と、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の位置の近接過去の履歴とを考慮に入れて、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の位置を更新するために次のタイムステップで使用する信号ＶＧＴ及びＥＧＲの値を算出する。この処理は６０ｍｓごとに繰り返され（６０ｍｓは連続するタイムステップの間隔）、前のタイムステップで計算されたＶＧＴ及びＥＧＲの値が、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の位置の過去の履歴の最も新しい値として使用される。
【００３５】
予測モデル３０１で予測されるＭＡＩＲ及びＭＥＧＲ自体は、アルゴリズム３０２で求められるＶＧＴ及びＥＧＲの候補値に依存する。これは、考慮中の現在のＶＧＴ及びＥＧＲの値がディーゼルエンジン１００を取り巻く未来の空気流に影響を及ぼすためであり、ＶＧＴ及びＥＧＲの最適値は未来の空気流に依存するので、ＭＡＩＲ及びＭＥＧＲの予測値とＶＧＴ及びＥＧＲの値の間には少なからぬ相互作用が存在する。
【００３６】
この相互作用のために、予想されるＶＧＴ及びＥＧＲの最適値に予測モデル３０１とアルゴリズム３０２が収束するまで、ＶＧＴ及びＥＧＲの候補値とＭＡＩＲ及びＭＥＧＲの予測値の組合せを何度も繰り返すことが各タイムステップにおいて必要になる可能性がある。コントローラ２０１は、ディーゼルエンジン１００の未来の速度及び負荷に関する情報をまったく持たないので、現在の速度及び負荷が無期限に保持されると仮定していることを留意されたい。速度及び／又は負荷が変化するのであれば、これが次のタイムステップで考慮に入れられる。
【００３７】
制御システム３００の優位性は、ディーゼルエンジン１００に関する最適化された定常状態情報を、エンジンの速度及び／又は負荷の変化に対する予測応答と一体化できる点にある。
【００３８】
図４は、制御システムの応答の２つの例を示す図で、異なる２つの増加率で増加するエンジンの負荷に対する図２のコントローラの応答を示す図である。
【００３９】
例４００は、基本的に定常状態条件下にあり、例４１０は、非常に動的な条件下にある。２つの例４００及び４１０はそれぞれ、ＶＧＴアクチュエータとＥＧＲアクチュエータの位置の連続する３つの組合せ（ｃｏｍｂｉｎａｔｉｏｎ）を示す。各例での各組合せの間隔は０．４８秒（８タイムステップ）である。
【００４０】
図４に示すように、例４００の組合せ４０１、４０２及び４０３は比較的互いに近接している。これは、ディーゼルエンジン１００の、連続する０．４８秒の時間間隔での速度及び／又は負荷の変化がわずかであることを示す。ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の位置は、おおむね定常状態マップ３０３で推奨されるとおりであり、予測モデル３０１と制御アルゴリズム３０２の相互作用に起因する揺れはわずかである。
【００４１】
組合せ４１１、４１２及び４１３を含む例４１０は、エンジンの負荷が急に増加した結果を示す。負荷の急な増加は組合せ４１１の直後に適用されており、これに対応して、ＡＦＲを約２５に保つために、エンジンに誘引される空気の量を増やす必要が生じている。従来技術によるコントローラであれば、中間冷却された空気１０２ｂの圧力を上げることによってエンジンブロック１１０に誘引される空気の量を増やすために、ＶＧＴアクチュエータ１２５の設定値を増やすのが一般的である。しかしながら、短期的には、ＶＧＴアクチュエータ１２５の設定値を増やすとエンジンの出力が低下するのが現実であり、これは運転手からの出力上昇の要求と相反する。この出力低下が発生するのは、ＶＧＴアクチュエータ１２５の設定値を増やすと逆圧（つまり、エキゾーストマニホールドガス１０５の圧力）が上がり、これによって、エンジンの効率が低下し、さらに、ＥＧＲバルブ１３２を通る中間冷却されたＥＧＲガス１０３が増えるためである。ＥＧＲのレベルを上げると、燃料を燃焼させるためにシリンダ１１３内で使用できる酸素の量が減り、それによってさらに、ＡＦＲとディーゼルエンジン１００の出力の両方が低下する。
【００４２】
これに対して、制御システム３００は、エキゾーストマニホールドガス１０５の逆圧を下げるために、最初に信号ＶＧＴを短期的に小さくする。また、このように逆圧を下げると、タービン１２３の前後での圧力低下も小さくなり、ＶＧＴ１２０の速度が低下し始める。ただし、ＶＧＴ１２０の回転運動エネルギーがあるために、短期的には、それによって清浄な空気１０１が圧縮され続ける。組合せ４１２は、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の設定値が組合せ４１１の状態から下がっていることを示す。
【００４３】
組合せ４１１の０．９６秒後の組合せ４１３の時点までには、ＶＧＴ１２０の速度を上げる（したがって圧縮を高める）ためにＶＧＴアクチュエータ１２５の設定値を増やすのに十分なレベルまでエンジンの出力が上昇する。さらに、エンジン１１０に流入している中間冷却された空気１０２ｂの増加量を補償するために、ＥＧＲアクチュエータ１３３の設定値を増やして、ＡＦＲがほぼ２５に保たれるようにする。
【００４４】
図５は、予測モデルで使用されるＶＧＴ及びＥＧＲの過去値、予測モデルで予測されたＭＡＩＲ及びＭＧＥＲの値、ならびに制御アルゴリズムで考慮中のＶＧＴアクチュエータ及びＥＧＲアクチュエータの可能な設定値の間の相互関係を示す図で、予測モデルで予測された値と制御アルゴリズムで計算されたコスト関数との相互関係を示す図である。
【００４５】
過去値は破線の白抜きの円で、現在値は白抜きの円で、未来値（アルゴリズム３０２で考慮中の、現在のタイムステップでのＶＧＴ及びＥＧＲの値を含む）は影付きの円（薄い影と濃い影がある）で表示されている。Ｐ−２からＰ１０は、ＭＡＩＲ及びＭＥＧＲの予測に関係している値を参照し、Ｃ−７からＣ７は、ＶＧＴ及びＥＧＲの制御に関係している値を参照する。Ｐ−２からＰ１０については、上側の円がＭＡＩＲの値を表し、下側の円がＭＥＧＲの値を表す。Ｃ−７からＣ７については、上側の円がＶＧＴの値を表し、下側の円がＥＧＲの値を表す。
【００４６】
水平軸は、現在を基準とする時間を表し、制御システム３００で使用している６０ｍｓステップに区切ってある。軸の範囲は時刻ｔ＝−７（４２０ｍｓ前の過去）から時刻ｔ＝１０（６００ｍｓ後の未来）までである。ｔ＝０は現在のタイムステップを表すが、もちろん、６０ｍｓの時間が経過すると、現在は６０ｍｓである未来のタイムステップ（ｔ＝１）が現在のタイムステップ（ｔ＝０）になる。
【００４７】
Ｐ０は、時刻ｔ＝０で測定したＭＡＩＲとＭＥＧＲの値を参照する。Ｐ−２からＰ１０は、それぞれｔ＝−２からｔ＝１０までの過去値及び予測値を参照する。Ｃ−７からＣ−１は、それぞれｔ＝−７からｔ＝−１までのＶＧＴとＥＧＲの過去の位置を参照する。Ｃ０は、アルゴリズム３０２によって考慮中の、ｔ＝０におけるＶＧＴとＥＧＲの候補値を参照する。
【００４８】
Ｃ０候補値はタイムステップｔ＝０に対して求められるが、最適なＣ０値は、ｔ＝１まで、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３を更新するために実際には使用されない。Ｃ０は、ｔ＝０で使用可能な情報（Ｐ０など）に基づくことから、「Ｃ０」と称される。同様に、Ｃ−１は、ｔ＝−１で使用可能な情報に基づくが、実際には、ｔ＝０においてＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３を更新するために使用される。情報が使用可能になってから応答までの６０ｍｓの待ち時間は、６０ｍｓの離散的なタイムステップを有するサンプルシステムに固有のものである。
【００４９】
Ｃ１は、ｔ＝１の候補値（つまり、ｔ＝０で予測した、ｔ＝１におけるエンジン１００の状態に基づく値）を参照する。これはＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３には送られないにもかかわらず、ｔ＝０で評価される。一般に、Ｃ０及びＣ１については、各タイムステップにおいて様々な選択肢が評価される。時刻ｔ＝１におけるＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の更新には最適なＣ０候補値だけが使用されるが、Ｃ０候補値に対するＣ１候補値の必然的な効果を考慮に入れることにより（Ｃ１候補値はディーゼルエンジン１００を取り巻く未来の空気流に作用し、これはＣ０候補値の適応性に影響を及ぼす）、アルゴリズム３０２は、自身の予測アクションを考慮に入れてＡＦＲをよりよく調節することができる。ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の更新にＣ１候補値を使用しないのは、現在のタイムステップ（ｔ＝０）によってＣ１と見なされる６０ｍｓ後の未来（ｔ＝１）が、新しいタイムステップによってＣ０と見なされ、したがって、現在Ｃ１であるものが新しいタイムステップにおいて（現在は１２０ｍｓ後の未来であるタイムステップに対するその影響を考慮に入れて）再計算されるからである。
【００５０】
予測モデル３０１は、Ｐ１を計算するために、Ｐ−２からＰ０をＭＡＩＲ及びＭＥＧＲの初期条件として取得し、Ｃ−７からＣ−２を使用してＰ０からＰ１までのＭＡＩＲ及びＭＥＧＲの変化を計算する。同様に、Ｐ２は、Ｐ−１からＰ１を初期条件として使用し、Ｃ−６からＣ−１を使用して、Ｐ１から計算される。Ｐ３とＰ４は、これらの予測に現在のタイムステップで求められるＣ０候補値及びＣ１候補値の情報が必要である点以外は同様に計算される。Ｐ５からＰ１０も、これらの予測にＣ２からＣ７の情報が必要である点以外は同様に計算される。これに対し、アルゴリズム３０２は、Ｃ１より未来の可能な候補値を考慮に入れない（Ｃ２からＣ７を考慮に入れる計算処理はあまりに負担が大きく、これに見合うほど制御性能が向上するわけではない）。そこで便宜上、予測モデル３０１はＣ２からＣ７をすべてＣ１と同一と仮定する。この理由で、図５のＣ２からＣ７は、Ｃ１に依存していることを示すために、薄い影付きで表示されている。
【００５１】
ただし、予測モデル３０１には難題がある。Ｃ０の最適値の計算はＰ１からＰ１０が確定してはじめて可能になるが、Ｐ１からＰ１０が確定するためにはＣ０とＣ１の最適値の情報が必要なのである。後述するように、ほぼ最適なＣ０を得るには反復アプローチを用いる。
【００５２】
制御アルゴリズム３０２は、ｔ＝３からｔ＝１０でのＡＦＲに対する候補値Ｃ０の影響を考慮に入れる（つまり、Ｐ３からＰ１０を使用する）ことによって、候補値Ｃ０の適合性を評価する。Ｐ０からＰ２についてＣ０の影響を考慮に入れない理由は、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３が新しい設定に移行するのに時間がかかることと、ディーゼルエンジン１００を取り巻く空気流もＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の新しい設定に応答するのに時間がかかることである。したがって、Ｐ０からＰ２に対する候補値Ｃ０の影響を考慮に入れることにはメリットがない。逆に、ｔ＝１０より後の未来の予測の精度は、Ｐ１０より後の値を予測する追加計算処理に見合うものではない。
【００５３】
同様に、Ｐ１を計算する際には、ｔ＝−７より前のＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の位置を考慮に入れない。これは、ディーゼルエンジン１００を取り巻く空気流が近接過去に依存し、ｔ＝−７より前の情報は古すぎてＰ１に対する有意の関連性がないためである。したがって、ディーゼルエンジン１００を取り巻く空気流及びガス流の応答に時間がかかることから、Ｐ１を計算する際には、Ｃ−１及びＣ０を考慮に入れない。
【００５４】
図６は、コントローラの機能ブロック図で、図３に示した機能ブロック図のさらに詳細な機能ブロック図であり、定常状態マップ、気流計算装置（ａｉｒｆｌｏｗ  ｃａｌｃｕｌａｔｏｒ）及び予測コントローラを示す図である。
【００５５】
図３で説明した機能は、後述するように、図６に示す機能の一部である。燃料噴射に関連する詳細は従来どおりなので図示していないことに留意されたい。
【００５６】
速度センサ１４４からの信号ＳＰＤと位置センサ２１１からの信号ＬＯＡＤは、定常状態マップ６０１で、ルックアップテーブルからＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の最適な定常状態設定値（それぞれＶＧＴＳＳ及びＥＧＲＳＳ）をルックアップするための入力として使用される。予測コントローラ６０２は、各タイムステップにおいて、現在のＶＧＴＳＳ及びＥＧＲＳＳを使用して、ＶＧＴ及びＥＧＲのほぼ最適な設定値を算出する。予測コントローラ６０２は、２つの出力ＶＧＴＯＰＴ及びＥＧＲＯＰＴを有し、６０ｍｓごとにこれらの出力を、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の新しい最適値で更新する。
【００５７】
乗算器６０３も信号ＳＰＤ及びＬＯＡＤを使用して、ＡＦＲを２５に保つために必要な空気の流量レート（ｍａｓｓ  ｆｌｏｗ  ｒａｔｅ）ＭＡＩＲＲＥＱを計算する。信号ＬＯＡＤは、１回の噴射で噴射される燃料の量（ｋｇ）を示す。この信号を信号ＳＰＤと乗じて、燃料がエンジンブロック１１０に入る際のレート（ｋｇ／秒）を算出する。このレートに２５を乗ずるとＭＡＩＲＲＥＱが得られる。ＭＡＩＲＲＥＱは、予測コントローラ６０２の一入力を形成するとともに、乗算器６０４にも渡される。乗算器６０４は、ＭＡＩＲＲＥＱに０．１１を乗じて信号ＭＥＧＲＲＥＱを形成する。ＭＥＧＲＲＥＱも予測コントローラ６０２の一入力を形成し、インレットマニホールド空気１０４の１０％が中間冷却されたＥＧＲガス１０３になるようにする場合に必要な中間冷却されたＥＧＲガス１０３の流量レートを知らせる。
【００５８】
空気流量センサ１４１からの信号ＭＡＦは、予測コントローラ６０２の別の入力を形成する。以下では、この測定信号を、予測コントローラ６０２の他の入力と区別するために、ＭＡＩＲＭＥＡＳと称する。
【００５９】
さらに、信号ＭＥＧＲＭＥＡＳは、予測コントローラ６０２の別の入力を形成し、エンジンブロック１１０に入る中間冷却されたＥＧＲガス１０３の流量レートの測定値を知らせる。ＭＥＧＲＭＥＡＳは、直接測定されたものではなく、他の測定値から、エンジン吸入空気流量計算装置（ｅｎｇｉｎｅ  ｉｎｔａｋｅ  ａｉｒｆｌｏｗ  ｃａｌｃｕｌａｔｏｒ）６０５及び減算器６０６によって計算されたものである。この空気流量計算装置６０５は、圧力センサ１４２からの信号ＭＡＰと温度センサ１４３からの信号ＭＡＴを使用して、インレットマニホールド空気１０４の密度（ｋｇ／ｍ３）を計算する。さらに空気流量計算装置６０５は、エンジンブロック１１０に入るインレットマニホールド空気１０４の体積流量レート（ｖｏｌｕｍｅｔｒｉｃ  ｆｌｏｗ  ｒａｔｅ）（ｍ３／秒）も計算する。体積流量レートは、インレットマニホールド空気１０４の誘引時のシリンダ１１３の有効体積に秒当たりの誘引回数を乗じて計算される。秒当たりの誘引回数は、速度センサ１４４からの信号ＳＰＤに比例する。したがって、空気流量計算装置６０５は、エンジンブロック１１０に入るインレットマニホールド空気１０４の流量レート（ｋｇ／秒）を示す信号ＭＩＮＬＥＴＭＥＡＳを生成する。減算器６０６は、ＭＩＮＬＥＴＭＥＡＳからＭＡＩＲＭＥＡＳを減じてＭＥＧＲＭＥＡＳを出力する。
【００６０】
したがって、予測コントローラ６０２は、定常状態のＶＧＴ及びＥＧＲの最適化された設定値、要求されている空気流量及び実際の空気流量に関する情報を有する。この情報から、予測コントローラ６０２は、定常状態情報と実際の（過渡的な）動作条件とを結びつける、ほぼ最適な設定値を計算できる。
【００６１】
図７は、予測コントローラのブロック図である。ブロック図７００に示す主要な構成要素には、ＶＧＴとＥＧＲの候補値を生成する生成装置７０１、ＭＡＩＲとＭＥＧＲを予測する予測装置７０６及びＣ０候補値の「コスト（ｃｏｓｔ）」を決定する３つのブロック７０２、７０３、７０９を備えている。図７に示す太線は、関連する複数の信号を含むバスを表している。
【００６２】
後述するように、Ｃ０候補値のＶＧＴ値及びＥＧＲ値の適合性は、Ｃ０候補値にコストを関連付けることによって評価される。コストが最も低いＣ０候補値は、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３への出力の場合に選択される。定常状態コスト発生装置（ｓｔｅａｄｙ  ｓｔａｔｅ  ｃｏｓｔｅｒ）７０２は、ＶＧＴ及びＥＧＲの候補値の、定常状態マップ６０１のＶＧＴＳＳ値及びＥＧＲＳＳ値からのあらゆるずれにペナルティを課す。アクチュエーションコスト発生装置（ａｃｔｕａｔｉｏｎ  ｃｏｓｔｅｒ）７０３は、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３のあらゆる動きにペナルティを課す。アクチュエーションコスト発生装置７０３は、アクチュエータの動きを最小にする誘因を生成装置７０１に提供する。これは、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の摩耗や裂傷を減らす長期効果があるため、ディーゼルエンジン１００の信頼性を向上させる。過渡事象コスト発生装置（ｔｒａｎｓｉｅｎｔ  ｃｏｓｔｅｒ）７０９は、ＭＡＩＲ及びＭＥＧＲの予測値（選択されたＣ０候補値に依存する）の、要求されているＭＡＩＲＲＥＱ及びＭＥＧＲＲＥＱからのあらゆるずれにペナルティを課し、したがって、ＡＦＲ及びＥＧＲの比率の、それぞれ２５及び０．１からのあらゆるずれにペナルティを課す。
【００６３】
生成装置７０１は、２つの出力ＶＧＴ０及びＥＧＲ０を有する。これらは、現在のＣ０候補値のＶＧＴ値とＥＧＲ値である。定常状態コスト発生装置７０２がＶＧＴ０とＥＧＲ０を取得し、ＶＧＴＳＳ及びＥＧＲＳＳとの差をそれぞれ計算し、それらの差を両方とも２乗する。次に、２乗した差を合算し、加算器７１０の３つの入力の１つにする。
【００６４】
ＶＧＴ０とＥＧＲ０は、アクチュエーションコスト発生器７０３にも渡される。アクチュエーションコスト発生器７０３は、現在のＣ０候補値がＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３に対してそれらが前の位置からどれだけ離れることを求めているかを判別するために、ＶＧＴ０とＥＧＲ０からＶＧＴ−１とＥＧＲ−１（前のタイムステップ（６０ｍｓ前）でのＶＧＴとＥＧＲの最適値）を減ずる。アクチュエーションコスト発生器７０３は、これらの差を両方とも２乗し、２乗した差を合算して、加算器７１０の２つ目の入力にする。
【００６５】
バッファ７０７は、前の２つのタイムステップのＭＡＩＲＭＥＡＳ値とＭＥＧＲＭＥＡＳ値をバッファリングし、それらを現在のタイムステップでの測定値とともに予測装置７０６に渡す。したがって、バッファ７０７から予測装置７０６に渡された値は、図５に示したＰ−２からＰ０に対応する。
【００６６】
バッファ７０８は、直前のＶＧＴＯＰＴ値及びＥＧＲＯＰＴ値を格納し、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の位置の過去の履歴を形成する。この過去の履歴はＣ−７からＣ−１を含み、この情報は予測装置７０６に渡される。バッファ７０８のＶＧＴ値とＥＧＲ値は、図５に示したＣ−７からＣ−１に対応する。Ｃ−７からＣ−２はＰ１の計算に使用され、Ｃ−１はＰ２の計算に含まれる。生成装置７０１は、２つの出力ＶＧＴ１及びＥＧＲ１も有する。これらは、現在のＣ１候補値のＶＧＴ値とＥＧＲ値である。予測装置７０６は、ＶＧＴ０、ＥＧＲ０、ＶＧＴ１及びＥＧＲ１も受け取る。これらは、生成装置７０１による評価の対象のＣ０候補値及びＣ１候補値である。
【００６７】
予測装置７０６は、Ｃ−７からＣ１（及び暗黙的にＣ２からＣ７）とＰ−２からＰ０を使用して、ｔ＝１からｔ＝１０のタイムステップのＭＡＩＲ値とＭＥＧＲ値を予測する。ｔ＝３からｔ＝１０のタイムステップの予測値を、それぞれＭＡＩＲ３からＭＡＩＲ１０及びＭＥＧＲ３からＭＥＧＲ１０と称する。図７に示すように、Ｐ３からＰ１０が過渡事象コスト発生装置７０９に渡される。Ｐ３からＰ１０だけを過渡事象コスト発生装置７０９に渡すのは、ディーゼルエンジン１００を取り巻く空気流の応答時間の関係上、Ｐ１とＰ２のコストを計算する恩恵が得られないからである。過渡事象コスト発生装置７０９は、Ｐ３からＰ１０のそれぞれについて、ＭＡＩＲＲＥＱ及びＭＥＧＲＲＥＱと、対応するＭＡＩＲ及びＭＥＧＲの予測値との差を算出する。したがって、過渡事象コスト発生装置７０９は、全部で１６個の差を形成する。これらの差は個々に２乗された後、合算され、加算器７１０に渡されるコストになる。このコストは、発生すると予測されるＭＡＩＲ値及びＭＥＧＲ値と、ペダル２１０の位置の結果として要求されるＭＡＩＲ値及びＭＥＧＲ値との差を示す（差がある場合）。
【００６８】
加算器７１０は、アクチュエーションコスト発生装置７０３、定常状態コスト発生装置７０２及び過渡事象コスト発生装置７０９からのコストを合算し、その結果を生成装置７０１にフィードバックする。一般に生成装置７０１は、コストが最も低いＣ０を選択するために、Ｃ０及びＣ１について複数の異なる候補値を生成し、加算器７１０からのコストを比較する。コストが最も低いＣ０が、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３で使用されるＶＧＴＯＰＴ値及びＥＧＲＯＰＴ値を与えるラッチ７１１を更新できる。最適なＣ０はアクチュエーションコスト発生装置７０３とバッファ７０８にも渡され、バッファ７０８では、次のタイムステップでＣ−１として使用するために格納される。
【００６９】
以上をまとめると、６０ｍｓの各タイムステップにおいて、生成装置７０１は、Ｃ０及びＣ１の様々な候補値のペアを生成し、予測装置７０６は、各ペアについて未来の空気流量を予測する。Ｃ１の値についてコストが発生しない場合でもそれらの値が生成されるため、予測装置７０６は、次のタイムステップ（６０ｍｓ以内）にＣ０候補値になる可能性が高い値の、空気流に対する影響を考慮に入れることができる。次にＣ０候補値にコストが発生し（Ｃ０のコストは関連するＣ１に依存する）、最適なＣ０候補値がアクチュエータの更新に使用される。
【００７０】
予測装置７０６は、ディーゼルエンジン１００のＭＡＩＲ及びＭＥＧＲの特性について線形モデルを使用しているので、ＭＡＩＲ及びＭＥＧＲの予測される変化を計算するために、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の設定値の変化に関する情報を使用する。連続する２つのタイムステップの間での値の変化は、後のタイムステップでの値から前のタイムステップでの値を減ずることによって計算される。各タイムステップにおいて、信号の生の値ではなく、信号の差を使用することにより、予測装置７０６は、ＭＡＩＲ、ＭＥＧＲ、ＶＧＴ及びＥＧＲの生の情報を使用する場合より、変動に対して高い感度を有することが可能になる。ただし、信号処理分野の当業者であれば理解されるように、連続する信号値の間の差を計算する処理は、その信号の微分を取る操作と等価である。したがって、差を計算する処理は、ハイパスフィルタとの類似性をいくつか有するが、処理による利得は周波数とともに増大する。高い周波数での利得は予測装置７０６が高周波ノイズの影響を過剰に受ける原因となるが、この影響を打ち消すために、差信号はローパスフィルタリングされる。この実施例１では、Ｚ平面の０．８±０ｊに極の対を有するデジタルローパスフィルタを使用している。
【００７１】
式（１）から（４）は、予測装置７０６が特定のタイムステップｔに対し、ＭＡＩＲ、ＭＥＧＲ、ＶＧＴ及びＥＧＲの、差を計算され、バンドパスフィルタリングされた値を取得する方法を示している。
【００７２】
ΔＭＡＩＲｔ＝ＭＡＩＲｔ−ＭＡＩＲｔ−１＋１．６ΔＭＡＩＲｔ−１−０．６４ΔＭＡＩＲｔ−２                                                  ・・・（１）
ΔＭＥＧＲｔ＝ＭＥＧＲｔ−ＭＥＧＲｔ−１＋１．６ΔＭＥＧＲｔ−１−０．６４ΔＭＥＧＲｔ−２                                                  ・・・（２）
ΔＶＧＴｔ＝ＶＧＴｔ−ＶＧＴｔ−１＋１．６ΔＶＧＴｔ−１−０．６４ΔＶＧＴｔ−２                                                            ・・・（３）
ΔＥＧＲｔ＝ＥＧＲｔ−ＥＧＲｔ−１＋１．６ΔＥＧＲｔ−１−０．６４ΔＥＧＲｔ−２                                                            ・・・（４）
【００７３】
式（１）から（４）で分かるとおり、各式では、差が求められ、この差に、前の２つのタイムステップにおける差を適切に変倍した値が加算される。変倍した前の２つの差を現在の差に加算すると、ローパスフィルタリング処理を行ったことになる。差を計算することのハイパス応答とデジタルローパスフィルタのローパス応答との相互作用により、全体としてバンドパス応答が得られる。
【００７４】
さらに、簡単のために言及していなかったが、バッファ７０７及び７０８が予測装置７０６にＣ−１０からＣ−８を提供しており、これによって、差を計算され、フィルタリングされたΔＶＧＴ−７及びΔＥＧＲ−７を計算でき、同時にＰ−５からＰ−３を提供しており、これによって、差を計算され、フィルタリングされたΔＭＡＩＲ−２及びΔＭＥＧＲ−２を計算できる。同じく言及していなかったが、ＶＧＴＳＳ、ＥＧＲＳＳ、ＭＡＩＲＲＥＱ、ＭＥＧＲＲＥＱ、ＭＡＩＲＭＥＡＳ及びＭＥＧＲＭＥＡＳの各信号も、ＭＡＩＲ、ＭＥＧＲ、ＶＧＴ及びＥＧＲの各信号に使用したものと同じタイプのローパスフィルタを使用してローパスフィルタリングされる（差は計算されない）。予測コントローラ６０２へのすべての入力を必ずフィルタリングすることの利点は、予測コントローラ６０２がその制御帯域外にある信号に応答しようとするのを防止できることである。例えば、エンジン１００を取り巻く空気流の応答時間は十分長いので、予測コントローラ６０２は、ＬＯＡＤ信号が過度に急速に変動しても、それに応答して空気流を変化させようとしなくてよい。
【００７５】
ΔＭＡＩＲｎ及びΔＭＥＧＲｎは、式（５）及び（６）
【００７６】
【数１】
2005516298.tif 000003
【００７７】
を使用し、それぞれ、ΔＭＡＩＲｎ及びΔＭＥＧＲｎについて解いて計算される（ｎは未来のタイムステップの番号を表す）。例えば、３６０ｍｓ後の未来のΔＭＡＩＲ６を求めるには、ｎ＝６とする。
【００７８】
式（５）は、３つの添え字付きパラメータａ＿ａｉｒｉ、ｂ＿ａｉｒ＿ｖｇｔｉ、ｂ＿ａｉｒ＿ｅｇｒｉを含み、式（６）も、３セットの添え字付きパラメータａ＿ｅｇｒｉ、ｂ＿ｅｇｒ＿ｖｇｔｉ及びｂ＿ｅｇｒ＿ｅｇｒｉを含む。これらａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータの値を求める方法については後述する。
【００７９】
ΔＭＡＩＲ１−１０とΔＭＥＧＲ１−１０を予測するために式（５）及び（６）で使用した線形モデルは、ＡＲＩＭＡ（自己回帰和分移動平均）（Ａｕｔｏ−Ｒｅｇｒｅｓｓｉｖｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｍｏｖｉｎｇ  Ａｖｅｒａｇｅ）モデルの一例である。ＡＲＩＭＡモデルの詳細については、非特許文献１（この内容は参照することにより本明細書に組み込まれる）で説明されている。
【００８０】
予測値Ｐ１は、式（５）及び（６）をｎ＝１として解くことにより、Ｐ０から得られる。次にｎを２に増やし、処理を繰り返してＰ２を求め、さらにＰ１０が得られるまで処理を続ける。もちろん、式（５）及び（６）はΔＭＡＩＲｎ及びΔＭＥＧＲｎを与えるが、これらは、例えばｔ＝２のタイムステップについては式（７）及び（８）を使用して、差を計算していないＭＡＩＲ及びＭＥＧＲ（ただし、フィルタリング済み）に簡単に戻すことができる。
【００８１】
ＭＡＩＲ２＝ΔＭＡＩＲ２＋ＭＡＩＲ１＝ΔＭＡＩＲ２＋ΔＭＡＩＲ１＋ＭＡＩＲＭＥＡＳ                                                        ・・・（７）
ＭＥＧＲ２＝ΔＭＥＧＲ２＋ＭＥＧＲ１＝ΔＭＥＧＲ２＋ΔＭＥＧＲ１＋ＭＥＧＲＭＥＡＳ                                                        ・・・（８）
【００８２】
次に、Ｃ０に対するΔＶＧＴ０とΔＥＧＲ０の現在の候補値のコストを求めることができる。ＶＧＴ０とＥＧＲ０の絶対値は、式（９）及び（１０）で求めることができる。
【００８３】
ＶＧＴ０＝ΔＶＧＴ０＋ＶＧＴ−１                          ・・・（９）
ＥＧＲ０＝ΔＥＧＲ０＋ＥＧＲ−１                          ・・・（１０）
【００８４】
ＡＦＲとＥＧＲのコスト（それぞれ、ＪＡＩＲとＪＥＧＲ）は、別々に求められた後、合算される。式（１１）及び（１２）からわかるように、コスト項は、それぞれ、過渡事象コスト、アクチュエーションコスト及び定常状態コストを含む。
【００８５】
【数２】
2005516298.tif 000004
【００８６】
ｋａ１からｋａ３（ｋａｘ）及びｋｅ１からｋｅ３（ｋｅｘ）は定数である（意味については後述する）。ＪＡＩＲとＪＥＧＲは式（１３）に示すように結合され、コストを発生しているＣ０候補値の全体のコストが算出される。
【００８７】
Ｊ＝ＪＡＩＲ＋ＪＥＧＲ                                      ・・・（１３）
【００８８】
当業者であれば理解されるように、式（１１）、（１２）及び（１３）で定義されるコスト関数には、ＧＰＣ（一般化予測制御）（Ｇｅｎｅｒａｌｉｓｅｄ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ）コスト関数との類似性がいくつかある。ＧＰＣコスト関数の詳細については、非特許文献２（この内容は参照することにより本明細書に組み込まれる）で説明されている。ただし、ＧＰＣコスト関数は、候補値の定常状態値からのずれに対応するコスト項を含まない。
【００８９】
図８は、タイムステップでの評価に使用可能な、ＶＧＴアクチュエータとＥＧＲアクチュエータの候補位置の軌跡を示す図である。
【００９０】
図８を使用して、生成装置７０１でＣ０及びＣ１のＶＧＴ及びＥＧＲの候補値を生成する方法と、生成装置７０１でＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３に渡すＶＧＴＯＰＴ及びＥＧＲＯＰＴの値を算出する方法を説明する。つまり、図８は、Ｃ０候補値のコストＪの、ＶＧＴ及びＥＧＲに対する変化の様子を示す例示的なグラフを示す図である。
【００９１】
ＶＧＴ、ＥＧＲ、Ｊという名前の付いた３つの直交軸があり、それぞれはＶＧＴアクチュエータ１２５の設定値、ＥＧＲアクチュエータ１３３の設定値、コストＪを表している。Ｃ−１を中心とする、Ｃ０候補値の５×５配列を含む面８００が表示されている。
【００９２】
Ｃ０候補値が２５個ある理由は、この実施例で使用しているＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の分解能と応答時間によるものである。いずれのアクチュエータも、正規化された、０から１のフルスケール範囲（分解能０．１）を有する。したがって、ＶＧＴ及びＥＧＲのとりうる値は、０、０．１、０．２、．．．、１である。アクチュエータの応答時間の関係で、アクチュエータは、６０ｍｓのタイムステップの間にフルスケール範囲の最大±０．２ずつ動くことができる。図８におけるＣ−１のＶＧＴ及びＥＧＲの座標値はそれぞれ０．６及び０．５なので、有効と見なせるＣ０候補値は、ＶＧＴの範囲が０．４から０．８、ＥＧＲの範囲が０．３から０．７である。２５個のＣ０候補値のそれぞれに対して２５個のＣ１候補値が存在し、同様に、有効なＣ１候補値は、そのＣ０から±０．２以内に位置することができる。したがって、Ｃ１候補値全体の軌跡は、ＶＧＴの範囲が０．２から１、ＥＧＲの範囲が０．１から０．９である。
【００９３】
各タイムステップにおいて、生成装置７０１がＣ０とＣ１の候補値の全６２５通りの順列を生成し、予測装置７０６及び過渡事象コスト発生装置７０９が各順列のコストを発生させる。定常状態コスト発生装置７０２とアクチュエーションコスト発生装置７０３は、２５個の各Ｃ０候補値についてそれぞれのコストを計算する。最適なＣ０８０１は、コストが最も低い順列のそれであり、図８に示すように、ＶＧＴが０．５、ＥＧＲが０．５である。
【００９４】
図９は、コントローラの定常状態マップ及び予測コントローラで必要なデータを取得するシステムの概略図で、予測モデルと定常状態マップと制御アルゴリズムで使用する係数の値を決定するためのセットアップを示す図である。
【００９５】
キャリブレーションシステム９００はオフラインシステムであり、通常は、ほぼ一日中、様々な速度及び負荷でのＥＧＲ及びＶＧＴの様々な設定値をテストし、また、ＥＧＲ及びＶＧＴの設定値の種々のステップ変化に対するエンジン１００の応答を決定する動作を行っていることに留意されたい。
【００９６】
キャリブレーションシステム９００は、ディーゼルエンジン１００、コンピュータ９０１、動力計９０２、ＰＭ分析装置９０３及びＮＯＸ分析装置９０４を含む。キャリブレーションシステム９００では、コンピュータ９０１がコントローラ２０１の役割を担い、ＶＧＴ、ＥＧＲ、ＩＮＪの各信号を生成して、ディーゼルエンジン１００の関連する各アクチュエータを制御する。ディーゼルエンジン１００のクランクシャフト１１２が動力計９０２に接続されており、動力計９０２は、コンピュータ９０１からの信号ＤＲＡＧに応答してクランクシャフト１１２の回転を遅らせる。動力計９０２は、ディーゼルエンジン１００の出力を示す信号ＰＯＷＥＲを生成する。この信号はコンピュータ９０１の入力となる。
【００９７】
ディーゼルエンジン１００からの排気ガス１０８は２つの流れに分かれる。１つはＰＭ分析装置９０３に入り、もう１つはＮＯＸ分析装置９０４に入る。ＰＭ分析装置９０３は、排気ガス１０８中のＰＭ含有量を測定し、コンピュータ９０１の入力となる信号ＰＭを生成する。ＮＯＸ分析装置９０４は、排気ガス１０８中のＮＯＸ含有量を測定し、コンピュータ９０１の入力となる信号ＮＯＸを生成する。さらにコンピュータ９０１は、信号ＭＡＰ、ＭＡＴ、ＳＰＤ及びＭＡＦを、ディーゼルエンジン１００の関連する各センサから入力として受け取る。
【００９８】
定常状態マップ６０１用のＶＧＴＳＳ及びＥＧＲＳＳパラメータを求めるために、コンピュータ９０１は、あらかじめ定められたいくつかの燃料供給レートのいずれか１つでエンジン１００に燃料を供給でき、動力計９０２を使用してクランクシャフト１１２の回転を様々に遅らせることにより、エンジン１００の速度をあらかじめ定められたいくつかの速度のいずれかに保つ。コンピュータ９０１は、速度及び負荷（燃料供給レート）の各組合せに対し、エンジン１００の出力（つまり、燃料効率）、ＰＭ排出及びＮＯＸ排出に関して、ＶＧＴとＥＧＲの設定値の様々な組合せを評価する。エンジンの出力はＥＧＲ及びＶＧＴの設定値に応じて変動するため、コンピュータ９０１は、動力計９０２がエンジン１００の速度をほぼ一定に保つよう、ＤＲＡＧの設定値を調整しなければならないことに留意されたい。負荷と速度の組合せによっては、エンジン１００の燃料効率とそのＰＭ排出及びＮＯＸ排出の間にトレードオフが存在する場合がある。その場合には、コンピュータ９０１が、排出規制に適合するＶＧＴ及びＥＧＲの設定値を選択しなければならない。
【００９９】
コンピュータ９０１が求めなければならない、予測コントローラ６０２のパラメータには２つのグループがある。これらは、（ｉ）予測装置７０６で使用するａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータと、（ｉｉ）定常状態コスト発生装置７０２、アクチュエーションコスト発生装置７０３及び過渡事象コスト発生装置７０９で生成されるコストに重み付けするｋａｘ及びｋｅｘ定数である。コンピュータ９０１は、ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータを求めるために、エンジン１００が定常状態条件下で動作するまで待機でき、その後、ＶＧＴ及びＥＧＲの設定値を急に変化させ、ＭＡＩＲＭＥＡＳ及びＭＥＧＲＭＥＡＳに対するそれらの変化の影響を記録する。代表的なデータを得るために、種々の速度及び負荷において、ＶＧＴとＥＧＲを別々に関与させたり、同時に関与させたりして、様々な強度を何度も急に変化させる。次にコンピュータ９０１は、最小二乗法（後述する）を使用して、エンジン１００の予測応答と実際の応答との間の全体誤差を最小にするａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータを求める。
【０１００】
ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータは、予測装置７０６で予測されたＭＡＩＲ及びＭＥＧＲの値と、システム９００の一部としてディーゼルエンジン１００を動作させているときにＶＧＴ及びＥＧＲの設定値を急に変化させて記録した実際のＭＡＩＲ及びＭＥＧＲのデータとを適合させるために、最小二乗法によって求められる。ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータを求める比較的複雑な方法について説明するまえに、それに関連する、より単純な問題、すなわち、３個１セットのデータ点に直線を適合させる問題について以下に説明する。
【０１０１】
図１０は、ｘ軸とｙ軸を有するグラフを示す図で、データ点に直線をどのように合わせることができるかをグラフに示す図である。  
式ｙ＝Θｘを有する、最も良く適合する直線１０１０は、原点を通り、さらに３個のデータ点１００１、１００２及び１００３の近傍を通る（直線１０１０がグラフ１０００の原点を通るのは、式（５）及び（６）の空気流モデルの、アクチュエータの設定値が変化しないなら空気流は変化しないという挙動と等価である）。直線１０１０からデータ点１００１、１００２、１００３へのｙ軸方向の距離をそれぞれｅ１、ｅ２、ｅ３としている。直線１０１０と３個のデータ点の間の全体誤差Ｅは、式（１４）で与えられる。
【０１０２】
Ｅ＝ｅ１２＋ｅ２２＋ｅ３２                                  ・・・（１４）
【０１０３】
Ｅは、Θを適切に選ぶことによって最小にできる。当業者であれば理解されるように、Ｅの最小化は、Θを
【０１０４】
【数３】
2005516298.tif 000005
【０１０５】
となる値に設定することにより実現できる。
【０１０６】
図１０に示した例では、３個のデータ点から１つのパラメータの値Θを求めたが、ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータ（全部で３０個のパラメータ）を求めるには、少なくとも１万個のデータ測定値を使用することが望ましい。ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータの値を求めることは、式（５）及び（６）を使用して、ディーゼルエンジン１００を取り巻く空気流を予測することと類似している。実際、過去にさかのぼる方向には、同じモデルが使用されている。パラメータは、そのモデルで予測される空気流が、１万個のデータ測定値の収集中にシステム９００で記録される空気流と可能な限り一致するまで調整される。
【０１０７】
ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータは図１０の最小二乗法で求められるが、変数の数が多いので、行列演算を使用する。ａ＿ａｉｒｉ及びｂ＿ａｉｒ＿ｘｘｘｉパラメータは、ａ＿ｅｇｒｉ及びｂ＿ｅｇｒ＿ｘｘｘｉパラメータとは独立に計算される。式（１５）から（１８）は、ａ＿ａｉｒｉ及びｂ＿ａｉｒ＿ｘｘｘｉパラメータ（全部で１５個のパラメータ）の計算方法を示している。ａ＿ｅｇｒｉ及びｂ＿ｅｇｒ＿ｘｘｘｉパラメータも同様に計算されるので（ΔＭＡＩＲ測定値の代わりにΔＭＥＧＲデータ測定値を使用する点のみ異なる）、詳細な説明は省略する。
【０１０８】
式（１５）は、式（５）を書き直して、ΔＭＡＩＲｔをそれ以外の係数とデータ測定値で表したものである（ａ＿ａｉｒ０の値を１としている）ことに留意されたい。
【０１０９】
【数４】
2005516298.tif 000006
【０１１０】
１万個のデータ測定値を使用するので、ｔは０から９，９９９までの値をとりうる。したがって、差を計算され、ローパスフィルタリングされた測定データは、ｔ＝−５からｔ＝９，９９９までのΔＭＡＩＲｔと、ｔ＝−１０からｔ＝９，９９６までのΔＶＧＴｔ及びΔＥＧＲｔを含む。式（１５）は、行列を使用して式（１６）のように書き直せる。以下では、行列であることを示すために太字を使用する。
【０１１１】
【数５】
2005516298.tif 000007
【０１１２】
式（１６）は、式（１５）を２つの列行列（ｃｏｌｕｍｎ  ｍａｔｒｉｃｅｓ）ΘＡＩＲ及びｘｔで書き直したものである。ΘＡＩＲとｘｔは、それぞれ式（１７ａ）と式（１７ｂ）で定義される。
【０１１３】
【数６】
2005516298.tif 000008
【０１１４】
式（１７ａ）及び（１７ｂ）は、列行列ΘＡＩＲ及びｘｔが、式（１５）に見られる列行列と同一であることを示している。本質的には、式（１６）は１万個の独立した式を表し、その各式は、０から９９９９までのｔの各値に対応する。式よりわかるように、１万個の式のそれぞれにおいて、実際の値ΔＭＡＩＲｔと予測値ΘＡＩＲＴｘｔの間には差ｅｔが存在する。
【０１１５】
式（１８）は、ΔＭＡＩＲｔ、ｘｔ及びｅｔが関与する１万個の独立した式を、それぞれに行列ＹＡＩＲ、Ｘ及びＥを使用して、単一の式にまとめたものである。
【０１１６】
ＹＡＩＲ＝ＸΘＡＩＲ＋Ｅ                                  ・・・（１８）
【０１１７】
行列ＹＡＩＲ、Ｘ及びＥは、それぞれ式（１９ａ）、（１９ｂ）及び（１９ｃ）で定義される。
【０１１８】
【数７】
2005516298.tif 000009
【０１１９】
式（１８）と、最も良く適合する直線１０１０の式ｙ＝Θｘとの類似性から明らかであるように、各状況においては実質的に同じ問題を解くことになる。異なるのは、式（１８）には求めるべきパラメータと使用すべきデータ測定値が多いことだけである。
【０１２０】
行列Ｅは、ΔＭＡＩＲ空気流量の予測値に含まれる誤差を表している。Ｅの原因は、ディーゼルエンジン１００を取り巻く空気流の予測に使用される空気流モデルにおいてパラメータが最適でないことと不足しているものがあることである。ΘＡＩＲ行列を計算した後に、空気流量の予測値が実際の空気流量とあまり良く一致しない場合は、より緻密なモデル（例えば、係数を増やしたモデル）を使用しなければならない。
【０１２１】
式（１８）をΘＡＩＲについて微分し、
【０１２２】
【数８】
2005516298.tif 000010
【０１２３】
について解くと、全体誤差Ｅを最小にするΘＡＩＲが式（２０）で与えられることがわかる。Ｔは行列の転置を表し、−１は行列の逆変換を表す。
【０１２４】
ΘＡＩＲ＝（ＸＴＸ）−１ＸＴＹＡＩＲ                        ・・・（２０）
【０１２５】
このモデルの最適なΘＡＩＲを計算するには、１万個の測定値を式（２０）に代入して、式（２０）の値を求める。行列を転置する方法及び逆変換する方法は容易に知ることができるが、有用な参考文献は非特許文献３（この内容は参照することにより本明細書に組み込まれる）である。
【０１２６】
コンピュータ９０１は、式（１１）及び（１２）のコスト項の相対的な重みを求めるためにコントローラ２０１をエミュレートし、さらに、ＥＵＲＯ  ４排出規制及びＵＳ  Ｔｉｅｒ  ２排出規制の静的部分ならびに動的部分をシミュレートするためにＶＧＴ、ＥＧＲ、ＩＮＪ、ＤＲＡＧの各信号をシステム９００に供給する。コンピュータ９０１は、６個の定数ｋａ１からｋａ３及びｋｅ１からｋｅ３について種々の値をテストして、最終的に、許容できるＰＭ排出及びＮＯＸ排出とほぼ最適な低燃費を実現する１セットの値を求める。全体のコストに対するＪＡＩＲ及びＪＥＧＲの相対的影響は、ｋｅ１からｋｅ３を基準としてｋａ１からｋａ３を変倍することによって制御される。
【０１２７】
この実施例１では、ＡＦＲが一次的な設定値であり、ＥＧＲは二次的な設定値であるので、６個のｋｘｘ定数は、ＪＡＩＲがＪＥＧＲに対して支配的であるように選択される。したがって、実際にはコントローラ２０１は、（要求されたトルクに対して十分な酸素を供給し、ＰＭ物質が過剰に形成されないようにするために）常にＡＦＲを２５に保とうとし、これがほぼ実現されれば、さらに（ＮＯｘを減らすために）ＥＧＲ比率を１０％にしようとする。ＡＦＲ及びＥＧＲ比率の目標設定値は、制御対象エンジンの特性及びそのエンジンに想定された用途に応じて選択される。通常は、この２つの設定値の相互作用により、（エンジンが定常状態条件下で動作しているときの）実際のＡＦＲが２５より大きくなり、実際のＥＧＲ比率が１０％より小さくなる。一般には、エンジンの燃料効率を向上させるために高いＡＦＲが求められており、したがって、ＡＦＲ及びＥＧＲ比率の設定値は、エンジンが標準的な負荷で動作しているときの実際のＡＦＲ及びＥＧＲ比率を考慮して選択される。
【０１２８】
コントローラ２０１は、２つの自由度（つまり、ＶＧＴ設定値とＥＧＲ設定値）を有しており、したがって、コントローラ２０１は、同時に達成しようとする２つの制約条件（ＡＦＲとＥＧＲ比率）を有することが望ましい。制約条件の数と自由度の数を等しくすると、入力と過去の履歴とのあらゆる組合せにおいて、最適な解が１つしか存在しないという利点がある。逆に、コントローラ２０１の制約条件が１つしかない場合は、ある条件下で同等に最適なＣ０候補値が複数存在する可能性があり、システムノイズ（例えば、測定ノイズ）によってコントローラ２０１が可能な複数のＣ０候補値の間で交互に切り替わり、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３に不必要な摩耗や裂傷が増える可能性がある。既に示しているように、コンピュータ９０１は、コントローラ２０１が使用するのと同じである、エンジン１００からの信号を使用する。これには、コンピュータ９０１が予測装置７０６のａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータを用意する際に、トランスデューサの応答時間などの要素が本質的に考慮される利点がある。
【０１２９】
当業者であれば理解されるように、システム９００は、わかりやすくするために簡略化されている。より一般的には、さらなるセンサ（図示せず）を使用すると、より完全にディーゼルエンジン１００を特徴づけることができよう。例えば、コンプレッサ１２１からの圧縮空気１０２ａの温度を測定するためにセンサを備えることができる。また、コンプレッサ１２１及びタービン１２３の効率を調べるためにさらなるセンサを使用できる。燃焼サイクル中のシリンダ内の平均圧力を測定するために、ＩＭＥＰ（Ｉｎｔｅｇｒａｔｅｄ  Ｍｅａｎ  Ｅｆｆｅｃｔｉｖｅ  Ｐｒｅｓｓｕｒｅ）メーターを使用できる。シリンダからの連続するＩＭＥＰ測定値は、シリンダ内の連続する燃焼の安定度次第で安定しているか変動が大きいかのいずれかなので、ＩＭＥＰ測定値は燃焼の安定度の指標として使用できる。定常状態マップ６０１のＶＧＴＳＳ及びＥＧＲＳＳパラメータを求めるために、コンピュータ９０１に代えて、又はコンピュータ９０１に追加して、人間のオペレータを使用できる。また、ｋａｘ及びｋｅｘ定数の最適値を求めるために人間のオペレータを使用することもできる。ただし、ａ＿ｘｘｘｉ及びｂ＿ｘｘｘ＿ｘｘｘｉパラメータを求めるには非常に多くの計算が必要になるので、これらのパラメータはコンピュータ９０１で求めるのが望ましい。システム９００の一部として使用できる他のセンサ（図示せず）の例として、研究室グレードの計器がある。これらは、例えば、空気流量センサ１４１や圧力センサ１４２からの読み取りを補足するために使用できる。補足的なセンサを使用することにより、ディーゼルエンジン１００の量産モデルにおける空気流量センサ１４１や圧力センサ１４２の非線形性や個体間のばらつきを調べたり、考慮に入れたりできる。
【０１３０】
図９では、わかりやすくするために、排気ガス１０８が２つの流れ（１つはＰＭ分析装置９０３へ、もう１つはＮＯＸ装置９０４へ）に分かれるように示したが、状況によっては、すべての排気ガス１０８がまずＮＯＸ分析装置９０４を通り、次にＰＭ分析装置９０３を通るとしたほうが便利な場合がある。図９に示した配置を使用した場合、ＰＭ分析装置９０３とＮＯＸ分析装置９０４はそれぞれ排気ガス１０８を半分しか受け取らないので、各分析装置からの読み取りをそれぞれ２倍にしなければならない。
【実施例２】
【０１３１】
当業者であれば理解されるように、生成装置７０１は、Ｃ０とＣ１の６２５通りの組合せのすべてに対して網羅的な検索を実行していたが、各タイムステップにおいてコントローラ２０１が実行する必要がある計算の数を減らすことができる、利用可能なアルゴリズムが存在する。そのようなアルゴリズムの一例がＭＷＬＳ（Ｍｉｘｅｄ  Ｗｅｉｇｈｔｓ  Ｌｅａｓｔ−Ｓｑｕａｒｅｓ）アルゴリズムである。詳細については、非特許文献４（この内容は参照することにより本明細書に組み込まれる）で説明されている。
【０１３２】
また、ＭＷＬＳアルゴリズムの使用例が非特許文献５（この内容は参照することにより本明細書に組み込まれる）で紹介されている。非特許文献５の第５章が最も関連する箇所であるが、そこで使用されているコスト関数は、アクチュエータの最適定常状態位置からのずれに対応する項を含まない。生成装置７０１は、使用している特定モデルが線形であって、制約条件にまったく違反していないのであれば、ＭＷＬＳアルゴリズムにより、最適なＣ０候補値を単一ステップで求めることが可能になる。
【０１３３】
実施例２は、上述した実施例１に類似しているが、異なる点は、生成装置７０１が、可能な組合せを１個ずつ求める総当たり方式ではなくＭＷＬＳアルゴリズムを使用する点である。ＭＷＬＳアルゴリズムは、総当たり方式では無理がある場合に特に有用である。例えば、実施例２ではＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の分解能が０．０１になっているが、実施例１と同様に、１つのタイムステップの間にフルスケール範囲の最大±０．２ずつ動くことができる。したがって、Ｃ０候補値の数は最大１，６００である（これはＣ−１のＶＧＴ値とＥＧＲ値に依存し、各Ｃ０候補値に対してほぼ同数のＣ１候補値が存在する可能性がある）。６０ｍｓごとに何百万通りものＣ０とＣ１の順列を求めるのに十分な処理能力をコントローラ２０１に備えることは、現在の技術では経済的ではない。したがって、実施例２は、マイクロプロセッサ２０３の計算負荷を低減できる点で、一般的に実施例１より好ましい。ＭＷＬＳアルゴリズムは、便利なことに、Ｃプログラミング言語を使用して実装できる。
【０１３４】
ＭＷＬＳアルゴリズムでは、最適なＣ０候補値のＶＧＴ値及びＥＧＲ値が妥当かつ現実的な値になるように、制約条件を使用する。「妥当」とは、ＶＧＴとＥＧＲの提示値が０から１までのフルスケール範囲に収まることを意味し、「現実的」とは、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３に求められる変化量が、それらが６０ｍｓのタイムステップの間に物理的に動ける範囲を超えないことを意味する。実施例２で使用したＭＷＬＳアルゴリズムではＣ１の最適値も計算するが、実施例１の場合と同様に、Ｃ１はＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の更新にまったく使用されない。
【０１３５】
ＭＷＬＳアルゴリズムを使用する場合は、最初にＭＷＬＳアルゴリズムの１回の反復を実行し、解がいずれかの制約条件に違反していないかどうかをチェックする。すべての制約条件が満たされていれば、その解をそのまま使用できる。一方、１つ又は複数の制約条件に違反している場合は、連続反復によって結果が十分収束するまでＭＷＬＳアルゴリズムを反復する必要がある。現在のＣ０候補値のＶＧＲ及びＥＧＲの設定値と直前の反復の設定値との差がＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の分解能より小さければ、提示されたＣ０候補値が収束したと考えられる。
【０１３６】
最初の反復で満たされない制約条件がある場合、後続の反復は、制約条件をすべて満たす最適解に収束するか、（制約条件をすべて満たす解がなければ）最も大きな制約条件違反を最小化する解に収束する。ＭＷＬＳアルゴリズムの収束に時間がかかりすぎる場合は、実行すべき反復の回数に上限を設定できる（例えば、上限を２００回に設定した場合は、２００回反復した後に２００回目の反復のＶＧＴ及びＥＧＲの設定値をとにかく使用する）。この上限があれば、現在の６０ｍｓのタイムステップが終わるまでに、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３を更新するための新しいＣ０候補値が（たとえ最適でなくても）必ず生成される。
【０１３７】
ＭＷＬＳアルゴリズムを定義する式は、式（２１）で与えられる。
【０１３８】
【数９】
2005516298.tif 000011
【０１３９】
前と同様に、行列を太字で示す。式（２１）の各項の意味について説明する。
【０１４０】
【数１０】
2005516298.tif 000012
【０１４１】
式（２２ａ）のΔｕ（ｉ）は、ｉ回目の反復のＣ０及びＣ１候補値のΔＶＧＴ値及びΔＥＧＲ値を含む。ｉ＝０は最初の反復を示す。Δｕ（０）がすべての制約条件を満たす場合は、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３を更新するためにΔＶＧＴ０（０）及びΔＥＧＲ０（０）を使用できる。満たさない制約条件がある場合は、後続の反復のΔＶＧＴ０（ｉ）値及びΔＥＧＲ０（ｉ）値を使用しなければならない。
【０１４２】
式（２２ｂ）は行列Ｒを定義している。Ｒは２８行４列であり、自身に３つの行列を含む。これらの行列の１番目は、行列Ｍ１／２（１／２は行列の各要素の平方根をとることを表す）と行列Ｇの積である。２番目の行列はΛ１／２であり、３番目はＮ１／２である。以下、これら３つの行列を定義する。
【０１４３】
【数１１】
2005516298.tif 000013
【０１４４】
式（２３ａ）はＭを定義している。式よりわかるとおり、Ｍは、１０個の行列Ｍ１からＭ１０を含む対角行列である。以下では、重要な要素（ここではＭ１からＭ１０）がすべて主対角線（ｌｅａｄｉｎｇ  ｄｉａｇｏｎａｌ）上（つまり、行列の左上から右下）にあり、主対角線から外れている要素がすべてゼロである行列を対角行列と称する。
【０１４５】
実施例２ではｔ＝１からｔ＝１０のタイムステップについて未来の空気流を予測するので、実施例２の「予測区間（ｐｒｅｄｉｃｔｉｏｎ  ｈｏｒｉｚｏｎ）」は、１０タイムステップ後までの未来である。したがって、Ｍの中には１０個の行列がある（例えば、予測区間を１２タイムステップに増やすと、Ｍは１０個ではなく１２個の行列を含む）。Ｍ１からＭ１０の各行列は、２×２の対角行列である。式（２３ｂ）からわかるように、Ｍ１とＭ２はともに０である（０はすべての要素が０である行列を表す）。Ｍ１とＭ２が０であるのは、ｔ＝３からｔ＝１０のタイムステップのＣ０候補値にコストが発生していることの結果に過ぎない（したがって、「コスト発生区間」はｔ＝３からｔ＝１０のタイムステップである）。式（２３ｃ）は、Ｍ３からＭ１０を、要素ｋａ１及びｋｅ１を有する対角行列として定義している。
【０１４６】
【数１２】
2005516298.tif 000014
【０１４７】
式（２４ａ）は、Ｇを小行列Ｇ１からＧ１０として定義している。その小行列の観点で見ると、Ｇは、１０タイムステップ（ｔ＝１からｔ＝１０）の予測区間に対応する１０個の行と、２タイムステップ（ｔ＝０からｔ＝１）の「制御区間（ｃｏｎｔｒｏｌ  ｈｏｒｉｚｏｎ）」に対応する２個の列を有する。ここで、制御区間は、ＭＷＬＳアルゴリズムがＣ０及びＣ１の解をその未来の効果に基づいて求める２タイムステップである。制御区間を２より多くする拡張が可能だが、ほとんどのアプリケーションでは、拡張によって増える計算処理量に見合うだけの制御性能の向上は見られない。また、制御区間を１に減らすことができるが、その場合は予測コントローラ６０２が、最適なＣ０を求める際に自身の予測されたアクションを考慮できなくなる。
【０１４８】
式（２４ｂ）は、小行列Ｇｎのそれぞれに含まれる係数ｇｘｘｎを定義している。タイムステップｎに対し、ｇ１１ｎはＭＡＩＲに対するＥＧＲのステップ変化の効果を与え、ｇ１２ｎはＭＡＩＲに対するＶＧＴのステップ変化の効果を与え、ｇ２１ｎはＭＥＧＲに対するＥＧＲのステップ変化の効果を与え、ｇ２２ｎはＭＥＧＲに対するＶＧＴのステップ変化の効果を与える。
【０１４９】
Ｇは、ＭＡＩＲ及びＭＥＧＲの予測に使用されるモデルの「ステップ応答」を定義する。この実施例では、使用されるモデルは、式（５）及び（６）のモデルである。行列Ｇ１からＧ１０は、それぞれタイムステップｔ＝１からｔ＝１０におけるモデルのステップ応答を与える。
【０１５０】
図１１は、ステップ応答係数ｇｘｘｎの物理的意味を示す図で、本発明の実施例２で使用するステップ応答係数の物理的意味を示す図である。この図１１を使用して、ステップ応答係数ｇｘｘｎを計算する方法を説明する。図１１は、ｔ＝０からｔ＝１０までのタイムステップの同じ時間軸を共有する４つのグラフを示す図であり、現在のタイムステップｔ＝０でのＶＧＴのステップ変化がその後のｔ＝１０までの１０タイムステップにどのような影響を及ぼすかを示している。
【０１５１】
グラフ１１０１は、ＶＧＴのプロット１１１１を示している。タイムステップｔ＝０で、ＶＧＴは定格値ｖからｖ＋１に増える（予測装置７０６はＶＧＴの変化に応答するので、ｖの実際の値は重要でないことに留意されたい。また、ここでは、ｔ＝０における変化の、ディーゼルエンジン１００を取り巻く未来の空気流への影響を特徴付けるためにのみステップ応答を使用しているのであって、ＶＧＴを１増やすことが制約条件に違反するかどうかは重要でないことにも留意されたい）。
【０１５２】
グラフ１１０２は、ΔＶＧＴのプロット１１１２を示しており、ΔＶＧＴがタイムステップｔ＝０ではＶＧＴのステップ増加に対応して値１をとり、それ以外の場所ではゼロであることを示している。
【０１５３】
グラフ１１０３は、ΔＭＡＩＲのプロット１１１３を示しており、プロット１１１３には、タイムステップｔ＝０からｔ＝１０でのΔＭＡＩＲの値とステップ応答係数ｇ１２１からｇ１２１０との対応関係を示す注釈が付いている。
【０１５４】
グラフ１１０４は、ΔＭＥＧＲのプロット１１１４を示しており、プロット１１１４には、ｇ２２１からｇ２２１０との対応関係を示す注釈が付いている。
【０１５５】
グラフからわかるように、ｇ１２１、ｇ１２２、ｇ２２１及びｇ２２２はすべて０である。ｔ＝０でのＶＧＴの変化の影響がｔ＝３より前にはないためである（ΔＭＡＩＲ及びΔＭＥＧＲの応答がまったくｔ＝０でのＶＧＴのステップによるものであって、ｔ＝０より前の変化の結果ではないようにするために、ｔ＝０より前のΔＶＧＴとΔＥＧＲを０と仮定していることに留意されたい）。
【０１５６】
式（５）及び（６）を精査すれば、ｇ１２３がｂ＿ａｉｒ＿ｖｇｔ−３の値を有し、ｇ２２３がｂ＿ａｉｒ＿ｅｇｒ−３の値を有することは明らかである。式（５）及び（６）の線形モデルの再帰的性質から、ｇ１２４は値（ｂ＿ａｉｒ＿ｖｇｔ−４−（ａ＿ａｉｒ−１・ｂ＿ａｉｒ＿ｖｇｔ−３））を有し、これに対応してｇ２２４は値（ｂ＿ａｉｒ＿ｅｇｒ−４−（ａ＿ａｉｒ−１・ｂ＿ａｉｒ＿ｅｇｒ−３））を有する。タイムステップ５から１０についても同様である。
【０１５７】
ｇ１１ｎとｇ１２ｎは、ＥＧＲのステップ変化を使用して同様に求められる。ｇ１１１、ｇ１１２、ｇ２１１及びｇ２１２もすべて０である。
【０１５８】
Ｇの左側の列は、Ｃ０を求めるために使用するＧｎに対応し、したがって、Ｇ１からＧ１０を含む。Ｇの右側の列は、Ｃ１を求めるために使用する値を含み、Ｃ１はタイムステップｔ＝０では何の影響も及ぼさないので、一番上のエントリが０である。したがって、右側の列はＧ１からＧ９までエントリが続き、Ｇ１０のエントリはない。これは、Ｇ１０が、１０の予測区間の外側にあるタイムステップｔ＝１１に対応するためである（Ｃ２の計算にもＭＷＬＳアルゴリズムを使用することが必要であれば（例えば、Ｃ２の結果としてのＣ０に対する影響を考慮に入れる必要がある場合は）、Ｇの右側にさらに列を追加することになる。この追加する列の上２つのエントリは０になり、残りのエントリがＧ１からＧ８になる）。Ｍ１／２はＧに重み付けをする。これは、予測された空気流量の、必要な空気流量からのずれにペナルティを課すためである。
【０１５９】
【数１３】
2005516298.tif 000015
【０１６０】
Λは、式（２５ａ）で定義され、２個の行列Λ１及びΛ２からなる対角行列である。Λ１及びΛ２は、式（２５ｂ）で定義され、ｋａ２及びｋｅ２を要素とする対角行列である。Λ１は、Ｃ０によってＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３を動かすコストに重み付けをし、Λ２は、Ｃ１のコストに重み付けをする。
【０１６１】
コスト発生区間が増えて、例えば、４になった場合、Λは、追加項Λ３及びΛ４を含む４×４対角行列になることに留意されたい。
【０１６２】
【数１４】
2005516298.tif 000016
【０１６３】
Ｎは、式（２６ａ）で、Ｎ１及びＮ２からなる２×２対角行列として定義される。Ｎ１及びＮ２は、式（２６ｂ）で定義され、いずれもｋａ３及びｋｅ３を要素とする対角行列である。Ｎ１及びＮ２は、それぞれＣ０及びＣ１に対し、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の定常状態値ＶＧＴＳＳ及びＥＧＲＳＳからのずれにペナルティを課す（Ｇの場合と同様に、コスト発生区間が増えて、例えば、３になった場合、Ｎは、Ｃ３に使用するＮ３を含む３×３行列になることに留意されたい）。
【０１６４】
【数１５】
2005516298.tif 000017
【０１６５】
Ｌは、式（２７ａ）で定義され、行列Ｌｕ及びＬｄｕからなる列行列である。Ｌｕは、式（２７ｂ）で定義され、主対角線上と主対角線より下にある行列Ｌ１からなり、他の要素は０である。Ｌｕの構成を有する行列を、以下では「三角行列」と称する。Ｌ１は、式（２７ｃ）で定義される対角行列である。Ｌ１の要素は、制約を受ける変数（ここではＶＧＴとＥＧＲ）の制限値の算術平均の逆数として求められる。Ｌ１の一番左上の要素は、ＭＷＬＳアルゴリズムで生成されるＶＧＴ値に対して、０から１のフルスケール範囲内に位置するよう制約を与える。ＶＧＴとＥＧＲの場合は、０と１の算術平均が０．５であることから、行列Ｌ１に使用する値として２が与えられる。
【０１６６】
【数１６】
2005516298.tif 000018
【０１６７】
Ｌｄｕは、式（２８ａ）で定義され、要素Ｌ２からなる三角行列である。Ｌ２は式（２８ｂ）で定義される対角行列であり、その要素は、単一タイムステップにおいて許容されるＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の最大変化量の逆数を規定する。Ｌ１の一番左上の要素は、ＶＧＴアクチュエータ１２５に許容される最大変化量を規定する。ＶＧＴとＥＧＲの場合の値５は、フルスケール範囲１を最大許容変化量０．２で除して求められる。
【０１６８】
【数１７】
2005516298.tif 000019
【０１６９】
ｗ（ｉ）Ｉは、（２９ａ）で定義される、単位行列Ｉにスカラーｗ（ｉ）を乗じたものである。実施例２では、ｗ（ｉ）Ｉは、２８行２８列の対角行列である。Ｗ（ｉ）は、項ｗｊｊからなる８行８列の対角行列である。最初の反復では、ｗ（０）＝１であり、Ｗ（０）の８個の要素ｗｊｊ（０）はすべて１に設定される。
【０１７０】
【数１８】
2005516298.tif 000020
【０１７１】
Ｖは、２８行の列行列であり、式（３０ａ）で定義される。Ｖは、３つの行列（Ｍ１／２Ｆ）、０及び（Ｎ１／２Ｓ）からなる。Ｆは、式（３０ｂ）で定義される、２０行の列ベクトルであり、ＭＡＩＲＲＥＱ及びＭＥＧＲＲＥＱと、ディーゼルエンジン１００の予測された「自由応答（ｆｒｅｅ  ｒｅｓｐｏｎｓｅ）」との差を与える。
【０１７２】
自由応答はＦＭＡＩＲ１からＦＭＡＩＲ１０及びＦＭＥＧＲ１からＦＭＥＧＲ１０からなり、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の設定値が変化しない場合に次の１０タイムステップの間に発生すると予測されるＭＡＩＲ及びＭＥＧＲの値を与える。したがって、（ＶＧＴ及びＥＧＲの設定値が変化した影響に関する情報を与える）ステップ応答行列Ｇと異なり、自由応答行列Ｆは、何も変化しない場合のディーゼルエンジン１００を取り巻く空気流に関する情報を与える。Ｆは、式（５）及び（６）を使用して計算できる。Ｇが一定であるのに対し、Ｆは、ディーゼルエンジン１００を取り巻く空気流の近接過去の履歴を考慮に入れるために、タイムステップごとに再計算しなければならないことを留意されたい。
【０１７３】
Ｖに含まれる２つ目の行列は０である。Ｖに含まれる３つ目の行列は（Ｎ１／２Ｓ）である。Ｓは、ディーゼルエンジン１００の定常状態要件、つまり、ＬＯＡＤ信号の現在の値によって要求される要件に関するＭＷＬＳアルゴリズム情報を与える。
【０１７４】
【数１９】
2005516298.tif 000021
【０１７５】
Ｓは、式（３１）で定義され、定常状態値ＭＡＩＲＳＳ及びＭＥＧＲＳＳとＭＡＩＲ−１及びＭＥＧＲ−１との差を示す（差がある場合）。Ｓは、２行ずつのペアを２つ有する列行列である。上側のＭＡＩＲ値とＭＥＧＲ値のペアはＣ０に対応し、下側のペアはＣ１に対応する。
【０１７６】
予測されたＭＡＩＲ値及びＭＥＧＲ値のＭＡＩＲＳＳ及びＭＥＧＲＳＳからのずれにペナルティを課すコストを導入するために、行列Ｎ１／２及び（Ｎ１／２Ｓ）を、それぞれＭＷＬＳアルゴリズムのＲ項及びＶ項に導入している。
【０１７７】
【数２０】
2005516298.tif 000022
【０１７８】
Ｃは、式（３２ａ）で定義される、８行の列行列であり、下４行は０である。Ｃの上４行は、式（３２ｂ）で定義される行列Ｃｕで与えられる。Ｃｕは、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の最も新しい位置に関する情報を提供する。式（３２ｂ）の被除数に数０．５が含まれるのは、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３のフルスケール範囲の中点が０．５だからである。式（３２ｂ）の除数が数０．５であるのは、フルスケール範囲の中点から両端までの「距離」が０．５だからである。
【０１７９】
ｅ（ｉ）＝ＬΔｕ（ｉ）−Ｃ                                  ・・・（３３）
【０１８０】
ＭＷＬＳアルゴリズムを１回反復した後に式（３３）を使用して、Δｕ（ｉ）が８つの制約条件をすべて満たしているかどうかを判別する。Ｃ０とＣ１の両方について、フルスケール範囲と最大許容変化量の両方がＶＧＴアクチュエータ１２５とＥＧＲアクチュエータ１３３の両方に対して有効でなければならない制約条件が８つある。式（３４）は、８行の列行列ｅ（ｉ）を定義している。
【０１８１】
【数２１】
2005516298.tif 000023
【０１８２】
８つの制約条件がすべて満たされると、ｅ１（ｉ）からｅ８（ｉ）はすべて１未満になる。これらの要素のうちの１つ又は複数が１を超えた場合は、ＭＷＬＳアルゴリズムをもう一度反復しなければならない。
【０１８３】
【数２２】
2005516298.tif 000024
【０１８４】
反復をもう一度実行する場合は必ず、式（３５ａ）を使用して、ｗ（ｉ）Ｉを反復ｉ＋１で使用するよう更新し、式（３５ｂ）を使用して、Ｗ（ｉ）をｉ＋１反復のために更新しなければならない。
【０１８５】
一般に、ＭＷＬＳアルゴリズムを使用して得られる結果は３通りである。第１の結果は、１回の反復でΔｕ（０）がすべての制約条件を満たすという結果である。この場合は、ΔＶＧＴ０（０）とΔＥＧＲ０（０）を直接Ｃ０に使用する。１回目の反復で制約条件をすべて満たす解が得られない場合は、１回又は複数回の反復をさらに行うことが必要になる。第２の結果は、これらの追加反復によって、制約条件をすべて満たす実現可能な解に徐々に収束するという結果である。第３の結果は、制約条件をすべて満たす解がないという結果である。この場合は、ＭＷＬＳアルゴリズムをさらに反復すると、最も大きな制約条件違反を最小にする解に収束する。第２と第３の結果については、制約条件違反があるかどうかをチェックするより、収束するかどうかをチェックするほうが簡単である。式（３６ａ）及び（３６ｂ）は、収束するかどうかのチェックに使用する条件を示している。
【０１８６】
【数２３】
2005516298.tif 000025
【０１８７】
実施例２では、連続反復のＶＧＴ値とＥＧＲ値との差がＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の分解能と同等であれば、ＭＷＬＳアルゴリズムが収束していると考えられる。この実施例では、これらのアクチュエータの分解能は０．０１であるので、式（３６ａ）及び（３６ｂ）はそれぞれ値０．０１を含んでいる。
【０１８８】
上述した第２と第３の結果については、ＭＷＬＳアルゴリズムの収束に時間がかかりすぎて、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３をそのＶＧＴＯＰＴ及びＥＧＲＯＰＴの新しい値で更新しておかなければならない時点までに解に収束しないおそれがある。そのような事態を防止するために、現在のタイムステップに対して実行された反復の回数を監視し、特定の回数を超えた場合は、収束したかどうかにかかわらず現在の反復を使用する。実施例２では、単一のタイムステップで実行する反復の最大回数を２００に制限している。
【０１８９】
上述した第２と第３の結果については、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３に送ったＶＧＴＯＰＴ及びＥＧＲＯＰＴの値が０から１のフルスケール範囲内に収まり、その送った値と直前のタイムステップにおける値との差が０．２を超えないように、ΔＶＧＴ０（ｉ）及びΔＥＧＲ０（ｉ）を修正しなければならない。
【０１９０】
図１２は、実施例２において予測コントローラが各タイムステップの間に実行する操作のいくつかを説明したフローチャートを示す図で、実施例２の各タイムステップについて実行される操作の一部のフローチャートを示す図である。
【０１９１】
フローチャート１２００は、各タイムステップにおいて実行する操作を示しているに過ぎず、したがって、定数行列の計算に関する操作を示すものではない。
【０１９２】
定数行列には、Ｍ１／２、（Ｍ１／２Ｇ）、λ１／２、Ｎ１／２、Ｌなどがある。これらの行列は、ディーゼルエンジン１００の特性であり、したがって、コンピュータ９０１がディーゼルエンジン１００の特性を把握して最も適切に計算する。実施例２では、それらは定数としてＲＯＭ２０４に格納され、例えば、ＮではなくＮ１／２の形式で格納される。これは、コントローラ２０１がタイムステップごとに実行しなければならない計算の数を最小にするためである。タイムステップごとに実行する計算の数を最小にすることにより、能力のより低い、したがってより安価なマイクロプロセッサ２０３を使用することが可能になる（あるいは、コントローラ２０１がより短い過度事象に応答できるようにタイムステップを短くすることが可能になる）。また、フローチャート１２００は、入ってくるデータを微分及びローパスフィルタリングするステップを示すものでもない（この処理は、式（１）から（４）で実行される処理と同様に実行される）。
【０１９３】
ステップＳ０はフローチャート１２００の開始である。ステップＳ５では、インデックス変数ｉを０に初期化する。ｉは、連続反復を区別するために、式（２１）から式（３６）で使用しているのと同じ変数である。ステップＳ１０では、初回の反復に備えてｗ（ｉ）及びｗｊｊ（ｉ）を１に初期化する。Ｃ、Ｆ及びＳも、現在のタイムステップにおいて、ディーゼルエンジン１００の測定値と最近の過去の履歴から計算する。ステップＳ１５では、式（２１）及び（３３）を評価する。
【０１９４】
ステップＳ２０では、１つ又は複数の制約条件に違反しているかどうかを判別するために、８個の要素ｅ（ｉ）のそれぞれが１未満かどうかをチェックする。違反している制約条件がない場合は、制御をステップＳ２５に渡す。Ｓ２５では、初回反復に基づいて、タイムステップｔ＝１においてＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３に発行するＶＧＴＯＰＴ及びＥＧＲＯＰＴの新しい値を出力する。
【０１９５】
違反している制約条件が１つ又は複数ある場合は、制御をステップＳ２０からＳ３５に渡す。ステップＳ３５では、ＭＷＬＳアルゴリズムの次回反復時に使用するｗ（ｉ＋１）及びｗｊｊ（ｉ＋１）を計算する。ステップＳ４０ではｉを１増やし、ステップＳ４５では式（２１）、（３３）及び（３６）を評価する。
【０１９６】
ステップＳ５０では、式（３６）の結果をチェックして、ＭＷＬＳアルゴリズムが十分収束しているかどうかを判別する。収束していれば制御をステップＳ５５に渡し、収束していなければ制御をステップＳ６０に渡す。
【０１９７】
ステップＳ５５では、ΔＶＧＴ０（ｉ）及びΔＥＧＲ０（ｉ）の値をチェックして、それらがアクチュエータのフルスケール範囲制約条件又は最大許容変化率制約条件（ｍａｘｉｍｕｍ  ｐｅｒｍｉｓｓｉｂｌｅ  ｒａｔｅ  ｏｆ  ｃｈａｎｇｅ  ｃｏｎｓｔｒａｉｎｔ）に違反していないかどうかを判別する。必要であれば、制約条件に適合するように値を修正し、制御をステップＳ２５に渡す。
【０１９８】
ステップＳ６０では、１つのタイムステップで可能な反復の最大回数を超えていないかどうかを判別する。ｉが１９９の場合（つまり、２００回目の反復の場合）は、ＭＷＬＳアルゴリズムが収束しているかどうかにかかわらず、制御をステップＳ５５に渡す。ｉが１９９未満の場合は、ＭＷＬＳアルゴリズムのさらなる反復を実行できるように制御をステップＳ３５に渡す。
【実施例３】
【０１９９】
上述した実施例１及び２では、コントローラ２０１を使用した。コントローラ２０１は、２つの入力ＭＡＩＲＭＥＡＳ及びＭＥＧＲＭＥＡＳに基づいて２つの出力ＶＧＴＯＰＴ及びＥＧＲＯＰＴを制御した。制御システム３００の手法は、制御アルゴリズム３０２が定常状態マップ３０３からの情報を予測モデル３０１からの情報と結合するものであるが、この手法は、より一般的に、制御対象システムの未来の挙動を定義する式を使用できない状況や、そのような式を実時間で容易に解くことができない状況に適用できる。
【０２００】
さらに、この手法は、入力及び出力の数が実施例１及び２の場合と異なる場合にも応用できる。考えられる最も単純な応用は、単一入力に基づいて単一出力を制御する場合である。より一般的に、この手法は、１つ以上の入力に基づく１つ以上の出力の制御がコスト関数によって可能になる多変数制御に有用である。
【０２０１】
例えば、制御システム２０１を、可変バルブタイミングを有するディーゼルエンジンの排気バルブタイミングも制御するように修正することができる。そのように修正されたコントローラは、排気バルブタイミングを変えることにより、エキゾーストマニホールドガス１０５の圧力を制御でき、したがって、ＥＧＲの量に影響を及ぼすことができる。ただし、排気バルブタイミングを変えるとエンジンの効率も変わるので、可変バルブタイミングのアクチュエータの最適設定値を求めるために、修正されたコントローラのコスト関数はコスト項を含むことが必要になる。
【０２０２】
実施例３として、空調システムを制御する、修正されたコントローラについて説明する。この空調システムは、製パン所の空気調節を行う３つの空調装置で構成される。修正されたコントローラは、４個のサーモスタットのそれぞれの近傍の気温を、それぞれの温度設定値に保つために、各空調装置から出る空気の流量レートと温度を制御する。各サーモスタットは、周囲の気温を測定する温度センサと、必要な周囲の気温を選択するダイヤルを有する。測定した気温は実施例１及び２のＭＡＩＲＭＥＡＳとＭＥＧＲＭＥＡＳに対応し、必要な温度はＭＡＩＲＲＥＱとＭＥＧＲＲＥＱに対応する。したがって、実施例３のコントローラは、測定した４つの入力に基づいて６つの出力を制御する。
【０２０３】
実施例３では、定常状態マップが、必要な４つの温度設定値を受け取り、必要な４つの温度を定常状態で最も良く実現する空気流量レートの３つの値と気温の３つの値を空調装置に供給する。製パン所内にあるオーブンの１つを開けるたびに、開けたオーブンの近傍の周囲の気温が一時的に上昇する。実施例３では、オーブンを開けた結果としての測定した気温の乱れを最小限にするために新しい設定値を空調装置に供給できるよう、予測モデルが、測定した気温と空調装置の最近の過去の履歴を考慮に入れて過度事象の影響を予測する。実施例３の製パン所にはいくつかのオーブンがあり、それらのオーブンによって様々な過渡的影響が発生し、それによって、修正されたコントローラから様々な応答が発生する。
【０２０４】
気温の応答時間が長くなっているので、連続する２つのサンプルの間のタイムステップを１秒に延ばすことができる。
【０２０５】
実施例３の４入力及び６出力について必要になる、式（２１）から（３６）の変更のいくつかについて説明する。説明するのは大きな変更についてのみである。それ以外の変更は、行列演算の整合性の要件（例えば、ある行列を別の行列から減ずる場合、それらの行列は同じサイズでなければならない）から推測できるからである。実施例１及び２の場合と同様に、制御区間は２タイムステップ、予測区間は１０タイムステップである。
【０２０６】
ここでは、Δｕ（ｉ）は、制御区間の各タイムステップに対し６個ずつ、計１２個の要素を有する。Ｍ３からＭ１０は、ここでは６行と６列を有するが、主対角線の最後の２つの要素は０である。Ｇｎ行列は、ここでは６行と６列を有するが、温度センサが４個しかないので、Ｇｎ行列の上４行にエントリがあり、下２行はすべてゼロである。Λｎ行列とＮｎ行列は、ここでは６行と６列を有するが、主対角線の最後の２つの要素は０である。Ｌは、ここでは２４行と１２列を有する。Ｓは、ここでは４個１セットの差情報を１０セット有するが、以前は、１０ペアの差情報で構成されていた。ｗ（ｉ）Ｉは、ここでは８４行と８４列を有し、Ｗ（ｉ）は、ここでは２４行と２４列を有する。
（その他の実施例）
【０２０７】
上述した実施例１では、６０ｍｓのタイムステップを使用した。他の実施例では他のタイムステップも使用可能であるが、タイムステップの選択は、コントローラの計算負荷とＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の制御の質の間の妥協である。例えば、タイムステップをより短くすると（例えば、３０ｍｓ）、制御システム３００はタイムステップごとに必要な計算を３０ｍｓ以内にすべて完了しなければならなくなる。さらに、そのようにタイムステップを半減させると、タイムステップごとに実行すべき計算の数も増える。制御システム３００は、Ｃ−７からＣ−２とＰ−３からＰ１０を考慮に入れる代わりに、Ｃ−１４からＣ−４とＰ６からＰ２０を考慮に入れなければならなくなるからである。タイムステップのサイズについての便利な経験則として、１０タイムステップが、制御対象システムの１０％から９０％の応答時間に大まかに相当するとよいとされる。エンジンの１０％から９０％の応答時間は、例えば、ＶＧＴアクチュエータ１２５の設定値の変化に追従して、１０％変化してから９０％変化するまでに要する時間である。
【０２０８】
実施例１では、Ｐ１からＰ１０を予測するために、Ｃ−７からＣ−２とＰ−２からＰ０を使用した。一般に、予測モデル３０１で使用する過去データの量は、十分な予測精度を得ながら制御システム３００の計算負荷が最小になるように、経験的に選択される。例えば、タイムステップが６０ｍｓである他の実施例でも、制御システム３００は、Ｃ−１０からＣ−２のＶＧＴ情報とＣ−６からＣ−１のＥＧＲ情報を使用してＰ１からＰ１１を予測でき、そのうちＰ５からＰ１１を使用してＣ０候補値のコストを発生させることができる。
【０２０９】
用途によっては、単一セットのパラメータを使用してシステムの未来の挙動を正確にモデル化することが困難な場合がある。そのような用途では、モデルで使用するパラメータを測定値に応じて変更するのが望ましい。例えば、実施例１では、タービン１２３の速度（ｒ．ｐ．ｍ．）をセンサ（図示せず）で測定し、それを使用して複数の代替モデルから１つを選択し、エンジンを取り巻く未来の空気流を予測することができたであろう。この代替モデルは、様々なパラメータを単純に使用したり、様々なモデルを系統立てて使用したりできる（例えば、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の最近の過去の位置に関する様々な量の過去データを使用できる）。
【０２１０】
上述した実施例では、コスト関数の様々な部分間の重み付けが一定に保たれていた。例えば、実施例１では、コスト関数の過渡部分の影響を定数ｋａ１及びｋｅ１で制御し、コスト関数の定常状態部分の影響を定数ｋａ３及びｋｅ３で制御していた。他の実施例では、コスト関数の過渡部分と定常状態部分の間の重み付けを、システムの状況に応じて変えることができる。例えば、実施例１で使用した重み付けを、ＬＯＡＤ信号の変化率や、タービン１２３の速度の変化率に応じて変化させることができる。これに対応して、実施例３では、１つ又は複数の温度センサの温度の変化率に応じて重み付けを変化させることができる。他の実施例では、アクチュエーションコストに対応する項を、ｋａ２及びｋｅ２を０に設定することによって無視したり、まとめて削除したりできる。
【０２１１】
上述した実施例では、ディーゼルエンジン１００や製パン所の未来の挙動を予測するためにＡＲＩＭＡモデルを使用した。他のタイプのモデル（例えば、ニューラルネットワーク）は、他の実施例で使用できる。さらに他の実施例は、式（１１）及び（１２）から様々なコスト関数を採用できる。例えば、別のコスト関数では、誤差を二乗する代わりに誤差の絶対値を合算したり、アクチュエータの設定値の変化に対応するコスト項を省いたりできる。
【０２１２】
上述した実施例１及び２では、ＭＡＩＲとＭＥＧＲに基づいてディーゼルエンジン１００を制御した。他の実施例では、ＭＡＦとＭＡＰに基づいて制御を実行する。（それぞれ空気流量センサ１４１及び圧力センサ１４２から得られる）ＭＡＦ及びＭＡＰの測定値は、ＭＡＦ及びＭＡＰの定常状態値と比較されたり、ＭＡＦ及びＭＡＰの予測値と比較されたりする。しかしながら、ＭＡＩＲとＭＥＧＲの使用が好ましいのは、これら２つの量がディーゼルエンジン１００を取り巻く物理的状況とより直接的に対応するからである。このよりよい対応関係により、予測装置７０６は、ディーゼルエンジン１００の未来の挙動をより正確に予測できる。同様に、当業者であれば理解されるように、ＡＦＲ及びＥＧＲ比率の代わりに酸素燃料混合比（ＯＦＲ）及び燃焼ガス比率（ＢＧＦ）に基づいてエンジンを制御することができる。ＯＦＲを使用すると、中間冷却された空気１０２ｂの必要な流量レートを求める際に、ＥＧＲガス１０６中の未反応の酸素を考慮に入れることができる。
【０２１３】
実施例１及び２については、ＶＧＴを使用して説明した。他の実施例では、ＶＧＴの代わりに可変ノズルターボチャージャ（ＶＮＴ）を使用できる。ＶＧＴやＶＮＴの代わりに、可変スーパーチャージャ（例えば、可変速の電気モーターで駆動されるルーツブロワー）を使用できる。
【０２１４】
実施例１から３では、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の更新及び空調装置の更新に最も適切なＣ０候補値を求める際の初期値としてＣ−１を使用した。他の実施例では、実施例１の場合と同様に実施例において考慮に入れられるＣ０候補値の軌跡として、あるいはＭＷＬＳアルゴリズムの初期値として、定常状態マップ６０１から提示される値を（Ｃ−１の代わりに）使用できる。
【０２１５】
実施例１及び２では、コントローラ２０１の入力及び出力に使用したタイムステップは６０ｍｓだった。実施例によっては、入力と出力とで異なるサンプリングレートを持つことが望ましい場合がある。例えば、実施例１を修正して、ＭＡＩＲ及びＭＥＧＲをサンプリングし、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の更新を６０ｍｓごとに行う一方で、３０ｍｓのタイムステップを使用して未来の空気流量を予測するようにできる。このように修正すると、出力データの倍の入力データが必要になるので、過渡事象コスト発生装置７０９は各アクチュエーションに対して２つの予測値にコストを発生させ、又は過渡事象コスト発生装置７０９は予測値を１つおきに廃棄したりできる。類似の修正では、コントローラへの様々の入力を様々なサンプリングレートでサンプリングしたり、様々な出力を様々な更新レートで更新したりできる。
【０２１６】
ＬＯＡＤ信号とＳＰＤ信号が６０ｍｓから、例えば１５０ｍｓの範囲で十分安定していれば、（例えば、実施例１及び２から派生した実施例の場合に）タイムステップを変化させることができる。その場合は、ディーゼルエンジン１００がほぼ定常状態条件下で動作しているときに、マイクロプロセッサ２０３を解放して、別の処理を行わせることができる。もちろんＬＯＡＤ信号及び／又はＳＰＤ信号が十分頻繁に変化する場合は、それに応じてタイムステップを短くしなければならない。また、ＬＯＡＤ及び／又はＳＰＤが変動する場合でも、予測装置７０６が有効な予測値を過渡事象コスト発生装置７０９に対して常に用意できるように、ＭＡＩＲ及びＭＥＧＲを、例えば３０ｍｓおきに測定することがやはり望ましい。さらに他の実施例では、コスト（考慮中のタイムステップのコスト又はアクチュエータの設定値を最後に変更してから複数のタイムステップにわたって蓄積したコスト）が、あらかじめ決められた量を超えた場合のみ、ＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３の設定値を変更する。
【０２１７】
実施例１及び２の定常状態マップ６０１は、定常状態条件下におけるＶＧＴアクチュエータ１２５及びＥＧＲアクチュエータ１３３のほぼ最適な設定値を与えた。ただし、定常状態マップ６０１の与える最適な設定値が単にその用途において十分正確であるというのは重要なことではない。例えば、定常状態マップのパラメータを求める場合には、システム９００においてディーゼルエンジン１００のテストを行う代わりに、計算によるディーゼルエンジン１００の流体力学シミュレーションを行うことができる。定常状態マップ６０１は、ルックアップテーブルとして便利なように実装されるが、その代わりに、ＬＯＡＤ信号とＳＰＤ信号の値に基づいてＶＧＴとＥＧＲの出力を与える式の形式にすることもできる。実施例１から３では、単一セットの定常状態マップ６０１を使用した。他の実施例では、複数の定常状態マップを備えることができる。例えば、運転手がディーゼルエンジン１００を制御する場合に「スポーツ」モードか「エコノミー」モードかを選択できるように、コントローラ２０１に複数の定常状態マップ６０１を備えることができる。
【０２１８】
モデルパラメータの計算については、大規模な行列の操作を含む式（２０）を使用して既に説明した（一部の大規模な行列は１万個の要素を含んでいた）。当業者であれば理解されるように、代替の好ましい方法は、非特許文献１で説明されている再帰最小二乗法（ＲＬＳ）（ｒｅｃｕｒｓｉｖｅ  ｌｅａｓｔ  ｓｑｕａｒｅｓ）である。ＲＬＳ法では、例えば、１万個の測定値のすべてを同時使用したりしないので、計算量が少なく、必要なメモリも少なくなる。
【０２１９】
制御対象システムのアクチュエータの更新にはコストが最も低いＣ０候補値を使用するのが好ましいが、用途によっては、コストが十分低いＣ０候補値であれば差し支えない場合がある。例えば、実施例１の生成装置７０１を、対応付けられたコストが１０任意単位を下回る最初のＣ０候補値を選択するように修正できる。生成装置７０１で評価された最初のいくつかのＣ０候補値の中にコストが１０を下回るものがない場合は、ＭＷＬＳアルゴリズムを使用してＣ０候補値を求めることができる。用途によっては、この手順でマイクロプロセッサ２０３の計算負荷を減らし、マイクロプロセッサ２０３に他の処理を行わせることが可能になる場合がある。
【０２２０】
実施例１から３では、アクチュエータの更新に使用するＣ０候補値のコスト関数を確立するために、必要なシステム出力から制御対象システムの予測出力を減じたり、評価対象のＣ０候補値の入力からシステムの定常状態入力を減じたりした。当業者であれば理解されるように、予測出力と必要出力の比較及び定常状態設定値と評価対象候補値の比較に使用できる代替の方法がある。例えば、比較する数の一方の符号を反転し、それをもう一方の数と加算することによって、比較を成立させることができる。
【０２２１】
実施例によっては、コストの逆数を計算するほうが便利な場合がある。これは、最適なＣ０候補値が最も高い逆数コストを有する候補値であるような場合である。これまで説明してきた実施例１から３では、過度事象コストを定常状態コストに加算することによってコストを算出した。用途によっては、過度事象コストと定常状態コストを乗ずることによって、よりよい制御を実現できる場合がある。
【０２２２】
上述した実施例１では、生成装置７０１が２５個の異なるＣ０候補値のコストを評価し、最適な候補値を選択した。他の実施例では、より少ない（例えば９個の）Ｃ０候補値を評価することができ、ほぼ最適なＣ０候補値の位置を概算するために補間を使用することができる。実施例２では、ＭＷＬＳアルゴリズムを使用して、ほぼ最適なＣ０候補値を求めた。ほぼ最適なＣ０候補値を求める代替アルゴリズムは逐次二次計画法（Ｓｅｑｕｅｎｔｉａｌ  Ｑｕａｄｒａｔｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）であるが、一般にＭＷＬＳアルゴリズムのほうが高速なので好ましい。
【０２２３】
実施例１から３で使用した予測モデルは線形モデルである。線形モデルを使用する利点は、ＭＷＬＳアルゴリズムなどの線形アルゴリズムを使用して、ほぼ最適なＣ０候補値を求めることができる点である。ただし、用途によっては、非線形モデルを使用する必要がある場合がある。他の実施例では、ニューラルネットワークが、制御対象システムの未来の挙動をよりよく予測する場合がある。
【０２２４】
実施例１及び２のＭＥＧＲは、エンジンに誘引される空気流量の計算値からＭＡＩＲを減じることによって推定した。他の実施例では、ＥＧＲガス１０６がベンチュリ管（図示せず）を流れるときに生成される微分圧力を検知することによってＭＥＧＲを測定する。微分圧力を検知することは、ＭＥＧＲをより正確に求めることを可能にするが、追加のセンサが必要という短所がある。
【０２２５】
コントローラ２０１のＲＯＭ２０４は、実施例１では予測装置７０６と加算器７１０で必要なパラメータと係数を含み、実施例２ではＭＷＬＳアルゴリズム用のパラメータと係数を含んでいた。他の実施例では、汎用コントローラに適切な情報を与えることにより、汎用コントローラを特定用途向けにカスタマイズできる。その情報には、制御対象の入力と出力の数、予測モデル用パラメータ、加算器７１０用又はＭＷＬＳアルゴリズム用係数などを必要に応じて含めることができる。コントローラ２０１には、コントローラ２０１に装備されているソケットにＲＯＭを差し込むことによって必要な情報を供給できる。あるいは、コントローラ２０１に電気的に消去可能かつプログラム可能な読み取り専用メモリ（Ｅ２ＰＲＯＭ）又はフロッピー（登録商標）ディスク及びドライブを装備し、必要な情報を、例えば、インターネット経由のＲＳ２３２通信リンクを使用してコントローラ２０１にダウンロードさせることができる。実施例によっては、マイクロプロセッサ２０３とＲＯＭ２０４をＡＳＩＣ（特定用途向け集積回路）に組み込んだり、マイクロプロセッサとプログラムではなく専用回路を使用したりすると、コスト効率が良くなる可能性がある。そのような専用回路は一般にはデジタルであるが、用途によってはアナログ回路も使用できる。
【０２２６】
前述のコントローラ２０１は、アナログ信号のデジタルフォーマットへの変換とその逆変換のために８ビットのＡＤＣとＤＡＣを含んでいた。制御対象のシステムに応じて、ＡＤＣとＤＡＣのビット数を８より多くしたり少なくしたりでき、また、ＡＤＣとＤＡＣとで異なる分解能を持たせることもできる。他の実施例では、センサ及び／又はアクチュエータがＡＤＣとＤＡＣを含むことができる。
【図面の簡単な説明】
【０２２７】
【図１】ＶＧＴ及びＥＧＲを備えたディーゼルエンジンの主要な構成要素を示す構成図である。
【図２】図１に示したディーゼルエンジンのためのコントローラの等角投影図で、このコントローラに接続するセンサ及びアクチュエータの概略図である。
【図３】ＶＧＴ及びＥＧＲの新しい設定が到着する様子を、予測モデルと定常状態マップと制御アルゴリズムにより示すブロック図である。
【図４】異なる２つの増加率で増加するエンジンの負荷に対する図２のコントローラの応答を示す図である。
【図５】予測モデルで予測された値と制御アルゴリズムで計算されたコスト関数との相互関係を示す図である。
【図６】図３に示したブロック図のさらに詳細なブロック図で、定常状態マップ、気流計算装置（ａｉｒｆｌｏｗ  ｃａｌｃｕｌａｔｏｒ）及び予測コントローラを示す図である。
【図７】予測コントローラのブロック図である。
【図８】タイムステップでの評価に使用可能な、ＶＧＴアクチュエータとＥＧＲアクチュエータの候補位置の軌跡を示す図である。
【図９】予測モデル、定常状態マップ及び制御アルゴリズムで使用する係数の値を決定するためのセットアップを示す図である。
【図１０】データ点に直線をどのように合わせることができるかをグラフに示した図である。
【図１１】本発明の第２の実施例で使用するステップ応答係数の物理的意味を示す図である。
【図１２】第２の実施例の各タイムステップについて実行される操作の一部のフローチャートを示す図である。
【図１】
2005516298.tif 000026
【図２】
2005516298.tif 000027
【図３】
2005516298.tif 000028
【図４】
2005516298.tif 000029
【図５】
2005516298.tif 000030
【図６】
2005516298.tif 000031
【図７】
2005516298.tif 000032
【図８】
2005516298.tif 000033
【図９】
2005516298.tif 000034
【図１０】
2005516298.tif 000035
【図１１】
2005516298.tif 000036
【図１２】
2005516298.tif 000037
【国際調査報告】
2005516298.tif 000038
2005516298.tif 000039