以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、特に区別する必要がある場合を除いて、図中、同一又は相当部分には同一符号を用いることとする。また、各図において、同一要素には同一符号を付して重複する説明を省略する。
(第1実施形態)
まず、図1及び図2を併せて用いて、第1実施形態に係る制御装置1の構成について説明する。ここで、図1は、制御装置1の構成、及び制御装置1が適用されたエンジン10の構成を示す図である。また、図2は、制御装置1が有するエンジン吸入空気推定量を求める制御モデルの一例を示す図である。
エンジン10は、例えば水平対向型の4気筒ガソリンエンジンである。また、エンジン10は、シリンダ内(筒内)に燃料を直接噴射する筒内噴射式のエンジンである。エンジン10では、エアクリーナ16から吸入された空気が、吸気管15に設けられた電子制御式スロットルバルブ(以下、単に「スロットルバルブ」ともいう)13により絞られ、インテークマニホールド11を通り、エンジン10に形成された各気筒に吸入される。ここで、エアクリーナ16から吸入された空気の量は、エアクリーナ16とスロットルバルブ13との間に配置されたエアフローメータ14により検出される。また、インテークマニホールド11を構成するコレクター部(サージタンク)の内部には、インテークマニホールド11内の圧力(吸気マニホールド圧力)を検出するバキュームセンサ30が配設されている。さらに、スロットルバルブ13には、該スロットルバルブ13の開度を検出するスロットル開度センサ31が配設されている。
シリンダヘッドには、気筒毎に吸気ポート22と排気ポート23とが形成されている(図1では片バンクのみ示した)。各吸気ポート22、排気ポート23それぞれには、該吸気ポート22、排気ポート23を開閉する吸気バルブ24、排気バルブ25が設けられている。吸気バルブ24を駆動する吸気カム軸と吸気カムプーリとの間には、吸気カムプーリと吸気カム軸とを相対回動してクランク軸10aに対する吸気カム軸の回転位相(変位角)を連続的に変更して、吸気バルブ24のバルブタイミング(開閉タイミング)を進遅角する可変バルブタイミング機構26が配設されている。この可変バルブタイミング機構26により吸気バルブ24の開閉タイミングがエンジン運転状態に応じて可変設定される。
同様に、排気カム軸と排気カムプーリとの間には、排気カムプーリと排気カム軸とを相対回動してクランク軸10aに対する排気カム軸の回転位相(変位角)を連続的に変更して、排気バルブ25のバルブタイミング(開閉タイミング)を進遅角する可変バルブタイミング機構27が配設されている。この可変バルブタイミング機構27により排気バルブ25の開閉タイミングがエンジン運転状態に応じて可変設定される。
エンジン10の各気筒には、シリンダ内に燃料を噴射するインジェクタ12が取り付けられている。インジェクタ12は、高圧燃料ポンプ(図示省略)により加圧された燃料を各気筒の燃焼室内へ直接噴射する。
また、各気筒のシリンダヘッドには、混合気に点火する点火プラグ17、及び該点火プラグ17に高電圧を印加するイグナイタ内蔵型コイル21が取り付けられている。エンジン10の各気筒では、吸入された空気とインジェクタ12によって噴射された燃料との混合気が点火プラグ17により点火されて燃焼する。燃焼後の排気ガスは排気管18を通して排出される。
排気管18の集合部の下流かつ排気浄化触媒20の上流には、空燃比センサ19が取り付けられている。空燃比センサ19としては、排気ガス中の酸素濃度、未燃ガス濃度に応じた信号(すなわち混合気の空燃比に応じた信号)を出力でき、空燃比をリニアに検出することができるリニア空燃比センサ(LAFセンサ)が用いられる。
LAFセンサ19の下流には排気浄化触媒20が配設されている。排気浄化触媒20は三元触媒であり、排気ガス中の炭化水素(HC)及び一酸化炭素(CO)の酸化と、窒素酸化物(NOx)の還元を同時に行い、排気ガス中の有害ガス成分を無害な二酸化炭素(CO2)、水蒸気(H2O)及び窒素(N2)に清浄化するものである。
排気管18には、エンジン10から排出された排気ガスの一部を、エンジン10のインテークマニホールド11に再循環させる排気ガス再循環装置(以下「EGR(Exhaust Gas Recirculation)装置」という)40が設けられている。EGR装置40は、エンジン10の排気管18とインテークマニホールド11とを連通するEGR配管41、及びEGR配管41上に介装され、排気ガス還流量(EGR流量)を調節するEGRバルブ42を有している。EGRバルブ42は、エンジン10の運転状態に応じて、後述する電子制御装置50によって開度(EGRSTP)が制御される。
上述したエアフローメータ14、LAFセンサ19、バキュームセンサ30、スロットル開度センサ31に加え、エンジン10のカムシャフト近傍には、エンジン10の気筒判別を行うためのカム角センサ32が取り付けられている。また、エンジン10のクランクシャフト10a近傍には、クランクシャフト10aの回転位置を検出するクランク角センサ33が取り付けられている。ここで、クランクシャフト10aの端部には、例えば、2歯欠歯した34歯の突起が10°間隔で形成されたタイミングロータ33aが取り付けられており、クランク角センサ33は、タイミングロータ33aの突起の有無を検出することにより、クランクシャフト10aの回転位置を検出する。カム角センサ32及びクランク角センサ33としては、例えば電磁ピックアップ式のものなどが用いられる。
これらのセンサは、電子制御装置(以下「ECU」という)50に接続されている。さらに、ECU50には、エンジン10の冷却水の温度を検出する水温センサ34、潤滑油の温度を検出する油温センサ35、アクセルペダルの踏み込み量すなわちアクセルペダルの開度を検出するアクセルペダル開度センサ36、及び、車両の速度を検出する車速センサ37等の各種センサも接続されている。なお、エンジン10の運転状態を示すセンサ値(パラメータ値)を取得する上記各種センサは、特許請求の範囲に記載の検出手段として機能する。
ECU50は、演算を行うマイクロプロセッサ、該マイクロプロセッサに各処理を実行させるためのプログラム等を記憶するROM、演算結果などの各種データを記憶するRAM、バッテリ等によってその記憶内容が保持されるバックアップRAM、及び入出力I/F等を有して構成されている。また、ECU50は、インジェクタ12を駆動するインジェクタドライバ、点火信号を出力する出力回路、及び、電子制御式スロットルバルブ13を開閉する電動モータ13aを駆動するモータドライバ等を備えている。
ECU50では、カム角センサ32の出力から気筒が判別され、クランク角センサ33の出力から回転角速度およびエンジン回転数が求められる。また、ECU50では、上述した各種センサから入力される検出信号に基づいて、吸入空気量、吸気管負圧、アクセルペダル開度、混合気の空燃比、及びエンジン10の水温や油温等の各種情報が取得される。そして、ECU50は、取得したこれらの各種情報に基づいて、燃料噴射量や点火時期、及び、スロットルバルブ13やEGRバルブ42等の各種デバイスを制御することによりエンジン10を総合的に制御する。
特に、ECU50は、上記各種デバイス等の制御値(制御指示値)を求める際に、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択する機能を有している。そのため、ECU50は、記憶部51、制御値・誤差取得部521、マップ選択部531、及び制御値確定部541を機能的に備えている。ECU50では、ROM等に記憶されているプログラムがマイクロプロセッサによって実行されることにより、記憶部51、制御値・誤差取得部521、マップ選択部531、及び、制御値確定部541の各機能が実現される。
記憶部51は、上述したROM等により構成され、一又は複数のパラメータの入力値と一以上の制御値との関係を定めた複数に分割されたマップ(例えば、後述するエンジンダイナモメータ(EDM)の計測結果を元に生成された中高負荷マップ、及びシャシダイナモメータ(CDM)の計測結果を元に生成された低負荷マップ等)を予め記憶する。すなわち、記憶部51は、特許請求の範囲に記載の記憶手段として機能する。なお、マップとしては、例えば統計モデルを用いて記述(表現)されたものを好適に用いることができる(詳細は後述する)。また、マップが作成される際に、その設定領域の外郭も画定される。
ここで、記憶部51に記憶されている複数に分割されたマップ(例えば中高負荷マップ及び低負荷マップ)に含まれる一つのマップの例を図3に示す。図3に示されたマップは、エンジン回転数NE(rpm)、スロットル開度THR(deg)、吸気バルブタイミングVTR(deg)、及びEGRバルブ開度EGRSTPとエンジン吸入空気推定量GN’(g/rev)との関係を定めた4次元のマップである。なお、図3では、EGRバルブ開度EGRSTPを固定したときの3次元形状(Boundary Model)を示している。
また、図3に示されたマップの散布図行列とBoundary Modelを図4に示す。図4に示される散布図行列は、EGRバルブ開度EGRSTP、エンジン回転数NE、スロットル開度THR、及び吸気バルブタイミングVTRの中から2つの入力(パラメータ)を選んで、計測点を2次元平面に投影したものである。なお、散布図行列中の黒点は計測点を示している。また、図3、図4に示されるように、このマップの設定領域(計測領域)の外郭(以下、単に「マップの外郭」ともいう)の形状は、矩形ではなく非線形になっている。本実施形態では、マップの設定領域(計測領域)の外郭を統計モデルを用いて数式化した。
制御値・誤差取得部521は、複数のマップ(例えば中高負荷マップ及び低負荷マップ)それぞれについて、取得された一又は複数のパラメータの入力値(例えば、上述したエンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTP)を用いてマップ検索を行い、制御値(例えば、上述したエンジン吸入空気推定量GN’)を取得するとともに、該制御値の誤差(%)を求める。すなわち、制御値・誤差取得部521は、特許請求の範囲に記載の誤差取得手段として機能する。制御値・誤差取得部521により取得された誤差は、マップ選択部531に出力される。
ここで、上記誤差は、統計モデルを用いてマップ(例えば、上述した中高負荷マップ及び低負荷マップ)を記述した場合における制御値(例えば、上述したエンジン吸入空気推定量GN’)のばらつきである。すなわち、マップを作成する際の測定に含まれるばらつき(例えば、測定値の分散や歪み度など)である。
制御値の誤差は、例えば、代替推定法(Resubstitution estimate)、テストサンプル法(Test sample estimate)、又は交差検証法(n−flod cross−validation estimate)などの方法を用いて算出することが好ましい。例えば、代替推定法を用いる場合には、まず初めに、予め計測された点群の入力値と出力値(制御値)との関係がモデル化(マップ化)される。その後、作成されたマップに入力値が入力され、出力(制御値)が取得される。そして、得られた出力(制御値)と予め計測された出力値の比が当該出力(制御値)の誤差とされる。
ここで、2つのマップ(マップA,マップB)それぞれにおける実験計測値と制御値の誤差との関係の一例を図5に示す。図5の横軸はマップ検索値(制御値)であり、縦軸は実験計測値である。図5に破線で示されるように、マップAでは、実験計測値のばらつき(誤差)が紡錘形に(すなわち、マップ検索値(制御値)の増大に対して、ばらつき(誤差)が一旦拡大した後収束するように)分布している。一方、マップBでは、図5に一点鎖線で示されるように、実験計測値のばらつき(誤差)が略扇形に(すなわち、マップ検索値(制御値)の増大に対して、ばらつき(誤差)が単調増加するように)分布している。
次に、上述した2つのマップ(マップA,マップB)それぞれにおいて、同一の入力値について取得された制御値(図5中のx1,x2)、及び該制御値に対する誤差の一例を図6に示す。図6に示されるように、制御値x1の誤差(ばらつき)は、「マップAの制御値x1の誤差>マップBの制御値x1の誤差」となる。なお、この場合には、より誤差の少ないマップBの制御値x1が選択される(詳細は後述する)。同様に、制御値x2の誤差(ばらつき)は、「マップAの制御値x2の誤差<マップBの制御値x2の誤差」となる。なお、この場合には、より誤差に少ないマップAの制御値x2が選択される(詳細は後述する)。
図1に戻り、説明を続ける。マップ選択部531は、制御値・誤差取得部521により取得された制御値の誤差に基づいて、複数のマップの中から、制御に使用するマップを選択する。その際に、マップ選択部531は、制御値の誤差がもっとも小さいマップを選択する。すなわち、マップ選択部531は、特許請求の範囲に記載のマップ選択手段として機能する。なお、マップ選択部531により選択されたマップは、制御値確定部541に出力される。
制御値確定部541は、マップ選択部531により選択されたマップの制御値を、エンジン10の制御値として確定(採用)する。すなわち、制御値確定部541は、特許請求の範囲に記載の制御値確定手段として機能する。
ここで、図2に示した制御モデルを用いて、例えば、エンジンダイナモメータ(EDM)の計測結果を元に生成された中高負荷マップ、及びシャシダイナモメータ(CDM)の計測結果を元に生成された低負荷マップを択一的に選択する場合を例にして、具体的に説明する。ここで、図2は、ECU50が有する、エンジン吸入空気推定量GN’を求める制御モデルの一例を示す図である。なお、中高負荷モデル521a(制御値・誤差取得部521に対応)は、エンジンダイナモメータ(EDM)の計測結果を元に生成された中高負荷マップを有しており、低負荷モデル521b(制御値・誤差取得部521に対応)は、シャシダイナモメータ(CDM)の計測結果を元に生成された低負荷マップを有している。
中高負荷モデル521aに、エンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTPそれぞれが入力されると、中高負荷マップに基づく制御値(吸入空気推定量GN’)、及び該制御値の誤差が取得されて出力される。同様に、低負荷モデル521bに、エンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTPそれぞれが入力されると、低負荷マップに基づく制御値(吸入空気推定量GN’)、及び該制御値の誤差が取得されて出力される。
ここで、中高負荷モデル521a及び低負荷モデル521bそれぞれによって取得された制御値の誤差は、後述する比較ブロック(マップ選択部に対応)531に出力される。一方、中高負荷モデル521a及び低負荷モデル521bそれぞれによって取得された制御値(吸入空気推定量GN’)は、選択ブロック(制御値確定部に対応)541に出力される。
比較ブロック531は、中高負荷モデル521aから出力された制御値の誤差と、低負荷モデル521bから出力された制御値の誤差とを比較し、例えば、中高負荷モデル521aから出力された制御値の誤差の方が小さい場合には「1」を出力する。一方、比較ブロック53は、低負荷モデル521bから出力された制御値の誤差の方が小さい場合には「0」を出力する。
選択ブロック541には、比較ブロック531の比較結果(「1」又は「0」)、及び、中高負荷モデル(中高負荷マップ)521a、低負荷モデル(低負荷マップ)521bそれぞれの制御値(吸入空気推定量GN’)が入力される。選択ブロック541は、比較結果として「1」が入力された場合には、中高負荷モデル(中高負荷マップ)の制御値(吸入空気推定量GN’)を出力し、「0」が入力された場合には、低負荷モデル(低負荷マップ)の制御値(吸入空気推定量GN’)を出力する。
以上のようにして、制御上より適切な制御値(吸入空気推定量GN’)が取得される。なお、求められたエンジン吸入空気推定GN’に基づいて、例えば、スロットルバルブ13の開度を調節することや、エンジン吸入空気推定量GN’の変化を予測して、スロットルバルブ13や、可変バルブタイミング機構26、EGRバルブ42等の最適制御を行うこともできる。また、エアフローメータ14で計測された吸入空気量GNと吸入空気推定量GN’を比較する事で、空気漏れなどの異常検知を行うこともできる。
次に、図7を参照しつつ、制御装置1の動作について説明する。図7は、制御装置1による制御値取得処理(マップ選択処理)の処理手順を示すフローチャートである。本処理は、ECU50において、所定のタイミングで繰り返して実行される。なお、ここでは、例えば、図3に示されたマップを用いて、図2に示されたようにエンジン吸入空気推定量GN’(吸入空気最適制御の制御値として利用する)を求める場合を例にして説明する。
まず、ステップS100では、エンジン10の運転状態を示す複数のパラメータの入力値、図2の例では、エンジン回転数NE(rpm)、スロットル開度THR(deg)、吸気バルブタイミングVTR(deg)、及びEGRバルブ開度EGRSTPそれぞれが入力される。
次に、ステップS102では、ステップS100において入力された入力値を用いて、制御値探索(マップ検索)が実行され、中高負荷マップの制御値が取得される。続いてステップS104では、ステップS102において取得された中高負荷マップの制御値の誤差が取得される。なお、制御値の誤差の取得方法については、上述したとおりであるので、ここでは詳細な説明を省略する。
同様に、ステップS106では、ステップS100において入力された入力値を用いて、制御値探索(マップ検索)が実行され、低負荷マップの制御値が取得される。続いて、ステップS108では、ステップS106において取得された低負荷マップの制御値の誤差が取得される。なお、誤差の取得方法については、上述したとおりであるので、ここでは詳細な説明を省略する。
次に、ステップS110では、ステップS104で求められた中高負荷マップの制御値の誤差と、ステップS108で求められた低負荷マップの制御値の誤差とが比較され、制御値の誤差が小さい方のマップが選択される。
そして、ステップS112では、ステップS110において選択されたマップから得られた制御値(吸入空気推定量GN’)が、正規の制御値として確定(採用)され、出力される。
以上、詳細に説明したように、本実施形態によれば、複数のマップそれぞれについて、入力値に対する制御値の誤差が取得され、その誤差に基づいて、使用されるマップが選択される。そのため、例えば、誤差が最も小さい制御値を持つマップを選択することができる。その結果、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
特に、本実施形態によれば、上記誤差が、統計モデルを用いてマップを記述した場合における制御値のばらつき、すなわち、マップを作成する際の測定に含まれるばらつき(測定値の分散や歪み度など)であるため、これらのばらつきを考慮して、複数のマップの中から制御上より適切なマップを選択することが可能となる。また、統計モデルを用いてマップを記述しているため、マップを生成する際のばらつき(測定値の分散や歪み度など)を適切に取り扱うことができる。
また、本実施形態によれば、複数のパラメータの入力値に対する制御値の誤差が取得されるため、各マップが2次元以上の多次元マップであったとしても、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
(第2実施形態)
上述した第1実施形態では、制御値の誤差に応じて用いるマップを選択した(切替えた)が、このような方法に代えて、各マップの誤差が所定値よりも小さい場合には、当該誤差によってマップを選択し(切替え)、各マップの誤差が所定値よりも大きいときには、複数のマップそれぞれの設定領域の外郭と入力値との距離に応じてマップを選択する(切替える)構成とすることもできる。
そこで、次に、図8及び図9を併せて用いて第2実施形態に係る制御装置2の構成について説明する。図8は、制御装置2の構成、及び該制御装置2が適用されたエンジン10の構成を示す図である。また、図9は、制御装置2が有する、エンジン吸入空気推定量を求める制御モデルの一例を示す図である。なお、図8、図9において上記第1実施形態と同一又は同等の構成要素については同一の符号が付されている。
本実施形態は、ECU50に代えてECU50Bが用いられている点で上述した第1実施形態と異なっている。また、ECU50Bは、距離取得部522をさらに有している点、及び、マップ選択部531、制御値確定部541に代えてマップ選択部532、制御値確定部542を有している点で上述した第1実施形態と異なっている。その他の構成は、上述した第1実施形態と同一または同様であるので、ここでは詳細な説明を省略する。
距離取得部522は、取得された一又は複数のパラメータの入力値(入力点)と、複数のマップそれぞれの設定領域の外郭(境界)との距離を求める。その際に、距離取得部522は、入力値(入力点)がマップの外郭の内側に位置しているか外側に位置しているかを判定するとともに、入力値とマップの設定領域の外郭との距離に対して、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「+」とする符号を付加した、符号付距離を求める。すなわち、距離取得部522は、特許請求の範囲に記載の距離取得手段として機能する。距離取得部522により取得された符号付距離は、マップ選択部532に出力される。
マップ選択部532は、制御値・誤差取得部521により取得された制御値の誤差が予め設定されている所定値(閾値)未満の場合には、制御値の誤差に基づいて、複数のマップの中から使用するマップを選択する。その際に、マップ選択部532は、制御値の誤差がもっとも小さいマップを選択する。一方、マップ選択部532は、制御値の誤差が上記所定値以上の場合には、距離取得部522により取得された符号付距離に基づいて、複数のマップの中から使用するマップを選択する。その際に、マップ選択部532は、符号付距離がもっとも小さいマップを選択する。なお、マップ選択部532により選択されたマップは、制御値確定部542に出力される。
制御値確定部542は、マップ選択部532により選択されたマップの制御値を、エンジン10の制御値として確定(採用)する。
ここで、図9に示した制御モデルを用いて、例えば、エンジンダイナモメータ(EDM)の計測結果を元に生成された中高負荷マップ、及びシャシダイナモメータ(CDM)の計測結果を元に生成された低負荷マップを択一的に選択する場合を例にして、具体的に説明する。ここで、図9は、ECU50が有する、エンジン吸入空気推定量GN’を求める制御モデルの一例を示す図である。なお、中高負荷モデル52a(制御値・誤差取得部521、距離取得部522に対応)は、エンジンダイナモメータ(EDM)の計測結果を元に生成された中高負荷マップを有しており、低負荷モデル52b(制御値・誤差取得部521、距離取得部522に対応)は、シャシダイナモメータ(CDM)の計測結果を元に生成された低負荷マップを有している。
中高負荷モデル52aに、エンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTPそれぞれが入力されると、中高負荷マップに基づく制御値(吸入空気推定量GN’)、並びに該制御値の誤差、及び、入力値と中高負荷マップの外郭との符号付距離が取得されて出力される。
より具体的には、中高負荷モデル52aに、エンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTPが入力されると、中高負荷モデル52aでは、これらの入力値を用いて中高負荷マップを検索し、エンジン10の制御値(吸入空気推定量GN’)を求める。そして、取得された制御値がGN’ポートから出力される。また、中高負荷モデル52aでは、上記入力値が中高負荷マップの外郭の内側に位置しているか、外側に位置しているかが判定されるとともに、入力値と中高負荷マップ外郭との距離が求められる。そして、例えば、外側であれば「+」、内側であれば「−」の符号が付加された距離(入力点の外郭からの符号付距離)が距離ポートから出力される。なお、制御値の誤差の算出方法については、上述したとおりであるので、ここでは詳細な説明を省略する。
同様に、低負荷モデル52bに、エンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTPそれぞれが入力されると、低負荷マップに基づく制御値(吸入空気推定量GN’)、並びに該制御値の誤差、及び、入力値と低負荷マップの外郭との符号付距離が取得されて出力される。
第1比較ブロック532a(マップ選択部532に対応)は、中高負荷モデル52aから出力された符号付距離と低負荷モデル52bから出力された符号付距離とを比較し、例えば、中高負荷モデル52aから出力された符号付距離の方が小さい場合には「1」を出力する。一方、第1比較ブロック532aは、低負荷モデル52bから出力された符号付距離の方が小さい場合には「0」を出力する。
同様に、第2比較ブロック532b(マップ選択部532に対応)は、中高負荷モデル52aから出力された誤差と低負荷モデル52bから出力された誤差とを比較し、例えば、中高負荷モデル52aから出力された誤差の方が小さい場合には「1」を出力する。一方、第2比較ブロック532bは、低負荷モデル52bから出力された誤差の方が小さい場合には「0」を出力する。
第1選択ブロック542a(制御値確定部542に対応)には、比較ブロック532aの比較結果(「1」又は「0」)、及び、中高負荷モデル(中高負荷マップ)52a、低負荷モデル(低負荷マップ)52bそれぞれの制御値(吸入空気推定量GN’)が入力される。第1選択ブロック542aは、比較結果として「1」が入力された場合には、中高負荷モデル(中高負荷マップ)の制御値(吸入空気推定量GN’)を出力し、「0」が入力された場合には、低負荷モデル(低負荷マップ)の制御値(吸入空気推定量GN’)を第3選択ブロック542cに出力する。
同様に、第2選択ブロック542b(制御値確定部542に対応)には、比較ブロック532bの比較結果(「1」又は「0」)、及び、中高負荷モデル(中高負荷マップ)52a、低負荷モデル(低負荷マップ)52bそれぞれの制御値(吸入空気推定量GN’)が入力される。第2選択ブロック542bは、比較結果として「1」が入力された場合には、中高負荷モデル(中高負荷マップ)の制御値(吸入空気推定量GN’)を出力し、「0」が入力された場合には、低負荷モデル(低負荷マップ)の制御値(吸入空気推定量GN’)を第3選択ブロック542cに出力する。
第3比較ブロック532cは、誤差が予め設定された所定値(閾値)よりも小さい場合には「1」を第3選択ブロック542cに出力する。一方、第3比較ブロック532cは、誤差が上記所定値以上のときには「0」を第3選択ブロック542cに出力する。
第3選択ブロック542cには、第3比較ブロック532の比較結果(「1」又は「0」)、及び、第1選択ブロック542a、第2選択ブロック542bそれぞれからの制御値(吸入空気推定量GN’)が入力される。第3選択ブロック542cは、比較結果として「0」が入力された場合には、第1選択ブロック542aの制御値(吸入空気推定量GN’)を出力し、「1」が入力された場合には、第2選択ブロック542bの制御値(吸入空気推定量GN’)を出力する。
以上のようにして、制御上より適切な制御値(吸入空気推定量GN’)が取得される。なお、求められたエンジン吸入空気推定GN’に基づいて、例えば、スロットルバルブ13の開度を調節することや、エンジン吸入空気推定量GN’の変化を予測して、スロットルバルブ13や、可変バルブタイミング機構26、EGRバルブ42等の最適制御を行うこともできる。また、エアフローメータ14で計測された吸入空気量GNと吸入空気推定量GN’を比較する事で、空気漏れなどの異常検知を行うこともできる。
次に、図10を参照しつつ、制御装置2の動作について説明する。図10は、制御装置2による制御値取得処理(マップ選択処理)の処理手順を示すフローチャートである。本処理は、ECU50Bにおいて、所定のタイミングで繰り返して実行される。なお、ここでは、例えば、図3に示されたマップを用いて、図9に示されたようにエンジン吸入空気推定量GN’(吸入空気最適制御の制御値として利用する)を求める場合を例にして説明する。
まず、ステップS200では、エンジン10の運転状態を示す複数のパラメータの入力値、図9の例では、エンジン回転数NE(rpm)、スロットル開度THR(deg)、吸気バルブタイミングVTR(deg)、及びEGRバルブ開度EGRSTPそれぞれが入力される。
次に、ステップS202では、ステップS200において入力された入力値を用いて、制御値探索(マップ検索)が実行され、中高負荷マップの制御値が取得される。続いてステップS204では、ステップS202において取得された中高負荷マップの制御値の誤差が取得される。なお、誤差の取得方法は上述したとおりであるので、ここでは詳細な説明を省略する。
同様に、ステップS206では、ステップS200において入力された入力値を用いて、制御値探索(マップ検索)が実行され、低負荷マップの制御値が取得される。続いて、ステップS208では、ステップS206において取得された低負荷マップの制御値の誤差が取得される。なお、誤差の取得方法は上述したとおりであるので、ここでは詳細な説明を省略する。
次に、ステップS210では、ステップS200において入力されたエンジン回転数NE、スロットル開度THR、吸気バルブタイミングVTR、及びEGRバルブ開度EGRSTPの入力値(入力点)が、中高負荷マップの設定領域(計測領域)の外郭の内側に位置しているか、外側に位置しているかが判定されるとともに、入力値と中高負荷マップの設定領域の外郭との距離に対して、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「+」とする符号が付加された、符号付距離が求められる。
ステップS212では、上記ステップS210と同様にして、入力値と低負荷マップの設定領域の外郭との距離に対して、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「+」とする符号を付加した、符号付距離が求められる。
次に、ステップS214では、ステップS204で取得された中高負荷マップの制御値の誤差、及びステップS208で取得された低負荷マップの制御値の誤差が所定値(閾値)未満であるか否かについての判断が行われる。ここで、双方又はいずれか一方の誤差が所定値未満である場合には、ステップS216に処理が移行する。一方、双方(すべて)の制御値の誤差が所定値以上であるときには、ステップS218に処理が移行する。
誤差が所定値未満の場合、ステップS216では、該誤差に基づいて使用するマップが選択される。すなわち、ステップS204で求められた中高負荷マップの制御値の誤差と、ステップS208で求められた低負荷マップの制御値の誤差とが比較され、制御値の誤差が小さい方のマップが選択される。
一方、誤差が所定値以上の場合、ステップS218では、符号付距離に基づいて使用するマップが選択される。すなわち、ステップS210で求められた中高負荷マップの外郭からの符号付距離と、ステップS212で求められた低負荷マップの外郭からの符号付距離とが比較され、符号付距離が小さい方のマップが選択される。
そして、ステップS220において、選択されたマップから得られた制御値(吸入空気推定量GN’)が出力される。
本実施形態によれば、マップから得られる制御値の誤差が所定値未満の場合には、該誤差に基づいて使用するマップが選択され、制御値の誤差が所定値以上の場合には、符号付距離に基づいて使用するマップが選択される。そのため、少なくとも一つの誤差が所定値未満の場合には、例えば、誤差が最も小さい制御値を持つマップを選択することができる。一方、すべての誤差が所定値以上のときには、例えば、符号付距離が最も小さいマップを選択することができる。ここで、例えば、入力値がマップの外殻の内側にあるが近傍に計測点がなく誤差が大きい場合があり得る一方、入力値がマップの外殻の外側にあるが近傍に計測点があり誤差が小さい場合があり得る。このような場合には、後者のマップが選択される。また、例えば、入力値がマップの外殻の外側にありかつ近傍に計測点がなく誤差が大きい場合には、符号付距離に応じてマップが選択される。その結果、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップ(最適なマップ)を選択することが可能となる。
また、その際に、本実施形態によれば、入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「+」とする符号が付加された、符号付距離が求められ、この符号付距離がもっとも小さいマップが選択される。そのため、制御値の誤差が大きい場合には、入力値と各マップの設定領域の外郭との距離(符号付距離)を求めるだけで、複数のマップの中からより適切なマップを選択することができる。なお、上記に代え、入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「+」、該設定領域の外郭の外側を「−」とする符号を付加した符号付距離を求め、この符号付距離がもっとも大きいマップを選択するようにしてもよい。
特に、本実施形態によれば、各マップが2次元以上の多次元マップであったとしても、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することができる。
また、本実施形態によれば、マップの設定領域の外郭(計測領域の境界)が統計モデル化されているため、各マップの外郭が非線形な形状であったとしても、該外郭を適切に画定することができる。よって、入力値と各マップの設定領域の外郭(境界)との距離を正確に求めることができるため、入力値に最も近いマップを的確に抽出(選択)することができる。
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に限定されるものではなく種々の変形が可能である。例えば、上記実施形態では、本発明をガソリンエンジンの制御装置に適用した場合を例にして説明したが、本発明は、例えば、ディーゼルエンジン、自動変速機、電動モータ(ハイブリッド車、電気自動車)、燃料電池等のパワーユニットの制御装置にも適用することができる。
また、上記実施形態では、出力される制御値が1つ(エンジン吸入空気推定量GN’)であったが、2つ以上の制御値を出力する構成としてもよい。