(57)【特許請求の範囲】
【請求項１】
複数種類の変数と関連付けて制御パラメータを学習する学習手段と、
現状の環境に即した変数である現状変数に対応した制御パラメータを、前記学習手段により学習された制御パラメータから補間して算出する補間手段と、
前記補間手段により算出した制御パラメータに基づき制御対象を制御する制御手段と、を備えた制御装置において、
前記学習手段は、前記複数種類の変数及び前記制御パラメータをベクトルの各要素とした学習ベクトルを、前記複数種類の変数の計測値及び前記制御パラメータの計測値をベクトルの各要素とした計測ベクトルに基づき、周囲の前記学習ベクトルにかかわらず独立して補正することで前記学習を実施しており、
前記補間手段は、前記学習手段により学習された複数の学習ベクトルの中から３つの学習ベクトルを選択する選択手段を有するとともに、前記現状変数に対応した制御パラメータを、選択した前記３つの学習ベクトルを含む平面で補間して算出し、
前記学習手段は、前記変数を複数の領域に格子状に分割したマップ上に制御パラメータを記憶させており、
前記複数の領域のうち、前記現状変数が所属する領域を所属領域、前記所属領域の格子の一辺と線接触する領域を隣接領域、前記所属領域の格子の角部と点接触する領域を斜め領域とした場合において、
前記選択手段は、前記所属領域の学習ベクトル、前記隣接領域の学習ベクトル、及び前記斜め領域の学習ベクトルを、前記３つの学習ベクトルとして選択することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現状の環境に即した制御パラメータを、学習した制御パラメータから補間して算出し、算出した制御パラメータに基づき制御対象を制御する制御装置に関する。
【背景技術】
【０００２】
この種の制御パラメータの一例として、内燃機関の燃料噴射弁に噴射指令を出力してから、実際に噴射が為されるまでの噴射開始遅れ時間ｔｄが挙げられる（例えば特許文献１参照）。特許文献１では、燃料噴射開始に伴い燃料圧力が降下を開始した時期を、燃料噴射弁に搭載された燃圧センサにより検出することで、前記遅れ時間ｔｄを計測している。そして、その計測値に基づき遅れ時間ｔｄを学習していき、学習した遅れ時間ｔｄに基づき噴射指令を出力するタイミング等を制御する。
【０００３】
上記遅れ時間ｔｄは、燃料噴射弁に供給されている燃料圧力（噴射開始時点での燃圧）に応じて異なる値となる。そこで本発明者は、遅れ時間ｔｄ（制御パラメータ）を燃料圧力（変数）と関連付けて以下のように学習することを検討した。
【０００４】
すなわち、燃料圧力の特定値（図１２（ａ）の例では３０ＭＰａ、５０ＭＰａ、８０ＭＰａ）に対する遅れ時間ｔｄ(30)、ｔｄ(50)、ｔｄ(80)を学習値として記憶更新していく。例えば、計測した遅れ時間が図１２（ａ）中の符号Ａ０に示す点であった場合には、その点に最も近い学習値ｔｄ(50)を線形補間して更新する。具体的には、学習値ｔｄ(30)と計測値Ａ０とを結ぶ直線Ｌが燃圧５０ＭＰａと交わる点を、学習値ｔｄ(50)として更新する。
【０００５】
しかしながら、燃圧と遅れ時間ｔｄとの関係を表す特性が直線ではなく曲線（図１２（ｂ）中の曲線Ｒ参照）であり、その曲線Ｒ上の点Ａ１，Ａ２，Ａ３が繰り返し計測された場合には、先述した線形補間を実施すると学習値ｔｄ(50)はＢ１，Ｂ２，Ｂ３に逐次更新される。つまり、学習値ｔｄ(50)は増加と減少を繰り返してハンチングしてしまう。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−５７９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記ハンチングの対策として、本発明者は以下の発明を先に出願している（特願２００９−１４７０１３参照）。この先願発明では、遅れ時間ｔｄ及び燃圧をベクトル値として記憶させるとともに、遅れ時間ｔｄの計測値及び燃圧の計測値を要素とした計測ベクトルを算出する。そして、記憶している学習ベクトルを計測ベクトルに基づき補正して更新させていく。これによれば、記憶更新される学習ベクトルの値がハンチングすることを抑制できる。
【０００８】
ここで、制御パラメータ（遅れ時間ｔｄ）に関連付ける変数を複数種類（例えば燃圧と噴射量）とした場合には、学習マップは立体的（例えば３次元マップ）となるが、この３次元マップにおいては、現状の変数に即した制御パラメータ（制御に用いる制御パラメータ）を学習ベクトルから補間して算出するにあたり、次の問題が生じることが明らかとなった。
【０００９】
すなわち、学習の初期段階においては、記憶されている学習値が初期値である等の理由により真値から大きくずれている可能性が高い。すると、隣り合う学習値が最新学習値及び初期値である場合には両学習値は大きく離れた値になる。そしてこの傾向は、先願発明の如くベクトルで記憶させるマップ（ベクトルマップ）の場合に顕著に現れる。
【００１０】
例えば、図１２のマップ（通常マップ）の場合には、学習値ｔｄ(50)を更新する際に、隣の領域の学習値ｔｄ(30)及び計測値Ａ０に基づき更新後の学習値ｔｄ(50)を算出するので、隣の領域の学習値の影響を受けながら学習値が決定されていく。これに対しベクトルマップでは、隣の領域の学習値とは無関係に学習値（学習ベクトル）が決定されていくので、隣り合う学習ベクトルが大きく離れた値になりやすい。
【００１１】
すると、３次元のベクトルマップにおいて、マップ補間に用いる複数（４つ以上）の学習ベクトルを含む面と現状変数（燃圧及び噴射量）との交点を、制御に用いる制御パラメータ（遅れ時間ｔｄ）として補間算出するにあたり、隣り合う学習ベクトルが大きく離れた値になっていることに起因して、前述した補間に用いる面が大きくねじれた歪曲面になる。そのため、スプライン等による煩雑な補間処理を要することとなり、補間処理負荷が膨大となる。
【００１２】
本発明は、上記課題を解決するためになされたものであり、学習値がハンチングすることの抑制と、補間処理負荷の軽減との両立を図った制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
以下、上記課題を解決するための手段、及びその作用効果について記載する。
【００１４】
第１の発明では、複数種類の変数と関連付けて制御パラメータを学習する学習手段と、現状の環境に即した変数である現状変数に対応した制御パラメータを、前記学習手段により学習された制御パラメータから補間して算出する補間手段と、前記補間手段により算出した制御パラメータに基づき制御対象を制御する制御手段と、を備えることを前提とする。
【００１５】
そして、前記学習手段は、前記複数種類の変数及び前記制御パラメータを要素とした学習ベクトルを、前記複数種類の変数の計測値及び前記制御パラメータの計測値を要素とした計測ベクトルに基づき補正することで前記学習を実施しており、前記補間手段は、前記学習手段により学習された複数の学習ベクトルの中から３つの学習ベクトルを選択する選択手段を有するとともに、前記現状変数に対応した制御パラメータを、選択した前記３つの学習ベクトルを含む平面で補間して算出することを特徴とする。
【００１６】
ここで、学習の初期段階においては、記憶されている学習ベクトルが初期値である等の理由により真値から大きくずれている可能性が高い。すると、上記発明に反して４つ以上の学習ベクトルを含む面で補間する場合には、その補間に用いる面は、真値から大きくずれた学習ベクトルを含む面となるため、大きくねじれた歪曲面になる。しかし、学習が十分に進行すれば、真値から大きくずれた学習ベクトルの数が減っていくので、補間に用いる面のねじれは小さくなって平面に近づいていく。すると、３つの学習ベクトルを含む平面で補間した場合に比べて補間の精度は大差がなくなる。要するに、学習が十分に進行すれば、３つの学習ベクトルを含む平面で補間することで十分な補間精度が得られるようになり、４つ以上の学習ベクトルを含む歪曲面を用いて煩雑な補間処理を行う必要性は無くなる。
【００１７】
この点を鑑み、上記発明では、現状変数に対応した制御パラメータを、３つの学習ベクトルを含む平面で補間して算出するので、補間処理負荷の軽減を図ることができる。また、先願発明（特願２００９−１４７０１３参照）と同様にして、制御パラメータ及び変数を要素としたベクトル（学習ベクトル及び計測ベクトル）で学習していくので、学習値がハンチングすることの抑制を図ることもできる。
【００１８】
第２の発明では、前記選択手段は、前記３つの学習ベクトルを結ぶ三角形の内側に前記現状変数が位置することとなるように選択することを特徴とする。
【００１９】
例えば、３つの学習ベクトルのうちの１つが学習初期値である等の理由により真値から大きくずれた値（不適正値）になっている場合において、上記発明に反して前記三角形の外側に現状変数が位置していると、補間して算出される制御パラメータは、不適正値の影響を大きく受けて最適値から離れた値になりやすい。これに対し、前記三角形の内側に現状変数を位置させる上記発明によれば、補間して算出される制御パラメータが受ける不適正値の影響は小さくなるので、最適値から離れた値になることを抑制できる。
【００２０】
第３の発明では、前記選択手段は、前記現状変数に近い変数の学習ベクトルを優先して選択することを特徴とする。例えば、制御パラメータと変数との関係を表す特性が直線ではなく曲線である場合には、現状変数から離れた変数の学習ベクトルを用いて平面補間すると、補間精度が悪くなる。これに対し上記発明では、平面補間に用いる学習ベクトルを選択するにあたり、現状変数に近い変数の学習ベクトルを優先して選択するので、上述の如く補間精度が悪くなることを抑制できる。
【００２１】
第４の発明では、前記学習手段は、前記変数を複数の領域に格子状に分割したマップ上に制御パラメータを記憶させており、前記複数の領域のうち、前記現状変数が所属する領域を所属領域、前記所属領域の格子の一辺と線接触する領域を隣接領域、前記所属領域の格子の角部と点接触する領域を斜め領域とした場合において、前記選択手段は、前記所属領域の学習ベクトル、前記隣接領域の学習ベクトル、及び前記斜め領域の学習ベクトルを、前記３つの学習ベクトルとして選択することを特徴とする。
【００２２】
このように、所属領域、隣接領域及び斜め領域の学習ベクトルを平面補間で用いるようルール化しておけば、先述した発明の如く三角形の内側に現状変数を位置させることや、現状変数に近い変数の学習ベクトルを選択することを、簡素な処理で容易に実現できる。
【００２３】
第５の発明では、前記制御対象は、内燃機関の燃焼に供する燃料を噴射する燃料噴射弁であり、前記燃料噴射弁には、燃料圧力を検出する燃圧センサが搭載されており、前記燃圧センサの検出値に基づき、噴射に伴い生じた燃料圧力の変化を燃圧波形として検出する燃圧波形検出手段と、検出した前記燃圧波形に基づき、その燃圧波形に対応する噴射率波形を特定するのに要する噴射率パラメータを算出する噴射率パラメータ算出手段と、を備え、前記制御パラメータの計測値は、前記噴射率パラメータ算出手段により算出された前記噴射率パラメータであることを特徴とする。
【００２４】
上記噴射率パラメータの具体例としては、以下に説明する噴射開始遅れ時間ｔｄ等が挙げられる。すなわち、噴射開始に伴い燃圧センサの検出圧力が低下を開始するため、その低下開始時期を検出すれば実噴射開始時期を検出できる。よって、燃料噴射弁に噴射開始指令信号を出力してから実際に噴射開始するまでの遅れ時間ｔｄを検出できる。但し、その時の噴射開始時点における燃料圧力や噴射量に応じて遅れ時間ｔｄは変化するので、燃料圧力（変数）及び噴射量（変数）と関連付けて遅れ時間ｔｄ（制御パラメータ）を学習しておき、その学習した遅れ時間ｔｄに基づき、噴射指令信号の出力タイミングを制御する。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態にかかる制御装置が適用される、燃料噴射システムの概略を示す図である。
【図２】噴射指令信号に対応する噴射率、燃圧、微分値の変化を示す図である。
【図３】噴射率パラメータの学習及び噴射指令信号の設定等の概要を示すブロック図である。
【図４】学習ベクトルを補正して更新する一態様を示す図である。
【図５】本発明の一実施形態にかかる三次元マップを説明する図である。
【図６】本発明の一実施形態において、学習ベクトルを学習する手順を示すフローチャートである。
【図７】本発明の一実施形態において、学習ベクトルから噴射率パラメータ（制御パラメータ）を補間する処理手順を示すフローチャートである。
【図８】本発明の一実施形態において、補間処理に用いる所属領域を決定する手法を説明する図である。
【図９】本発明の一実施形態において、補間処理に用いる斜め領域を決定する手法を説明する図である。
【図１０】本発明の一実施形態において、補間処理に用いる隣接領域を決定する手法を説明する図である。
【図１１】本発明の一実施形態において、マップの領域を異なる幅で分割した状態を表す図である。
【図１２】従来の学習手法を説明する図である。
【発明を実施するための形態】
【００２６】
以下、本発明に係る制御装置を具体化した一実施形態を図面に基づいて説明する。以下に説明する制御装置は、車両用のエンジン（内燃機関）に搭載されたものであり、当該エンジンには、複数の気筒＃１〜＃４について高圧燃料を噴射して圧縮自着火燃焼させるディーゼルエンジンを想定している。
【００２７】
図１は、上記エンジンの各気筒に搭載された燃料噴射弁１０、各々の燃料噴射弁１０に搭載された燃圧センサ２０、及び車両に搭載された電子制御装置であるＥＣＵ３０等を示す模式図である。
【００２８】
先ず、燃料噴射弁１０を含むエンジンの燃料噴射システムについて説明する。燃料タンク４０内の燃料は、燃料ポンプ４１によりコモンレール４２（蓄圧容器）に圧送されて蓄圧され、各気筒の燃料噴射弁１０（＃１〜＃４）へ分配供給される。複数の燃料噴射弁１０（＃１〜＃４）は、予め設定された順番で燃料の噴射を順次行う。なお、燃料ポンプ４１にはプランジャポンプが用いられているため、プランジャの往復動に同期して燃料は圧送される。
【００２９】
燃料噴射弁１０は、以下に説明するボデー１１、ニードル形状の弁体１２及びアクチュエータ１３等を備えて構成されている。ボデー１１は、内部に高圧通路１１ａを形成するとともに、燃料を噴射する噴孔１１ｂを形成する。弁体１２は、ボデー１１内に収容されて噴孔１１ｂを開閉する。
【００３０】
ボデー１１内には弁体１２に背圧を付与する背圧室１１ｃが形成されており、高圧通路１１ａ及び低圧通路１１ｄは背圧室１１ｃと接続されている。高圧通路１１ａ及び低圧通路１１ｄと背圧室１１ｃとの連通状態は制御弁１４により切り替えられており、電磁コイルやピエゾ素子等のアクチュエータ１３へ通電して制御弁１４を図１の下方へ押し下げ作動させると、背圧室１１ｃは低圧通路１１ｄと連通して背圧室１１ｃ内の燃料圧力は低下する。その結果、弁体１２へ付与される背圧力が低下して弁体１２はリフトアップ（開弁作動）する。一方、アクチュエータ１３への通電をオフして制御弁１４を図１の上方へ作動させると、背圧室１１ｃは高圧通路１１ａと連通して背圧室１１ｃ内の燃料圧力は上昇する。その結果、弁体１２へ付与される背圧力が上昇して弁体１２はリフトダウン（閉弁作動）する。
【００３１】
したがって、ＥＣＵ３０がアクチュエータ１３への通電を制御することで、弁体１２の開閉作動が制御される。これにより、コモンレール４２から高圧通路１１ａへ供給された高圧燃料は、弁体１２の開閉作動に応じて噴孔１１ｂから噴射される。
【００３２】
燃圧センサ２０は、以下に説明するステム２１（起歪体）、圧力センサ素子２２及びモールドＩＣ２３等を備えて構成されている。ステム２１はボデー１１に取り付けられており、ステム２１に形成されたダイヤフラム部２１ａが高圧通路１１ａを流通する高圧燃料の圧力を受けて弾性変形する。圧力センサ素子２２はダイヤフラム部２１ａに取り付けられており、ダイヤフラム部２１ａで生じた弾性変形量に応じて圧力検出信号を出力する。
【００３３】
モールドＩＣ２３は、圧力センサ素子２２から出力された圧力検出信号を増幅する増幅回路や、圧力検出信号を送信する送信回路等の電子部品を樹脂モールドして形成されており、ステム２１とともに燃料噴射弁１０に搭載されている。ボデー１１上部にはコネクタ１５が設けられており、コネクタ１５に接続されたハーネス１６（信号線）により、モールドＩＣ２３及びアクチュエータ１３とＥＣＵ３０とはそれぞれ電気接続される。そして、増幅された圧力検出信号はＥＣＵ３０に送信されて、ＥＣＵ３０が有する受信回路により受信される。この送受信にかかる通信処理は、各気筒の燃圧センサ２０毎に実施される。
【００３４】
ＥＣＵ３０は、アクセルペダルの操作量やエンジン負荷、エンジン回転速度ＮＥ等に基づき目標噴射状態（例えば噴射段数、噴射開始時期、噴射終了時期、噴射量等）を算出する。例えば、エンジン負荷及びエンジン回転速度に対応する最適噴射状態を噴射状態マップにして記憶させておく。そして、現状のエンジン負荷及びエンジン回転速度に基づき、噴射状態マップを参照して目標噴射状態を算出する。そして、算出した目標噴射状態に対応する噴射指令信号ｔ１、ｔ２、Ｔｑ（図２（ａ）参照）を、後に詳述する噴射率パラメータｔｄ，ｔｅ，Ｒα，Ｒβ，Ｒｍａｘに基づき設定し、燃料噴射弁１０へ出力することで燃料噴射弁１０の作動を制御する。
【００３５】
ここで、噴孔１１ｂの磨耗や目詰まり等、燃料噴射弁１０の経年劣化に起因して、噴射指令信号に対する実際の噴射状態は変化していく。そこで、燃圧センサ２０の検出値に基づき、噴射に伴い生じた燃料圧力の変化を燃圧波形（図２（ｃ）参照）として検出し、検出した燃圧波形に基づき燃料の噴射率変化を表した噴射率波形（図２（ｂ）参照）を演算して噴射状態を検出する。そして、検出した噴射率波形（噴射状態）を特定する噴射率パラメータＲα，Ｒβ，Ｒｍａｘを学習するとともに、噴射指令信号（パルスオン時期ｔ１、パルスオフ時期ｔ２及びパルスオン期間Ｔｑ）と噴射状態との相関関係を特定する噴射率パラメータｔｄ，ｔｅを学習する。具体的には、図２（ｂ）に例示する噴射開始遅れ時間ｔｄ、噴射終了遅れ時間ｔｅ、噴射率上昇傾きＲα、噴射率下降傾きＲβ、最大噴射率Ｒｍａｘ等を学習する。
【００３６】
図３は、これら噴射率パラメータの学習及び噴射指令信号の設定等の概要を示すブロック図であり、ＥＣＵ３０により機能する各手段３１，３２，３３について以下に説明する。噴射率パラメータ算出手段３１（噴射状態解析手段）は、燃圧センサ２０により検出された燃圧波形に基づき噴射率パラメータｔｄ，ｔｅ，Ｒα，Ｒβ，Ｒｍａｘを算出する。
【００３７】
学習手段３２は、算出した噴射率パラメータをＥＣＵ３０のメモリに記憶更新して学習する。なお、噴射率パラメータは、その時の供給燃圧（コモンレール４２内の圧力）に応じて異なる値となるため、供給燃圧又は後述する基準圧Ｐbaseと関連付けて学習させることが望ましい。また、最大噴射率Ｒｍａｘを除く他の噴射率パラメータについては、噴射量とも関連付けて学習させることが望ましい。図３の例では、燃圧に対応する噴射率パラメータの値を噴射率パラメータマップＭに記憶させている。
【００３８】
設定手段３３（制御手段）は、現状の燃圧に対応する噴射率パラメータ（学習値）を、噴射率パラメータマップＭから取得する。そして、取得した噴射率パラメータに基づき、目標噴射状態に対応する噴射指令信号ｔ１、ｔ２、Ｔｑを設定する。そして、このように設定した噴射指令信号にしたがって燃料噴射弁１０を作動させた時の燃圧波形を燃圧センサ２０で検出し、検出した燃圧波形に基づき噴射率パラメータ算出手段３１は噴射率パラメータｔｄ，ｔｅ，Ｒα，Ｒβ，Ｒｍａｘを算出する。
【００３９】
要するに、噴射指令信号に対する実際の噴射状態（つまり噴射率パラメータｔｄ，ｔｅ，Ｒα，Ｒβ，Ｒｍａｘ）を検出して学習し、その学習値に基づき、目標噴射状態に対応する噴射指令信号を設定する。そのため、実際の噴射状態に基づき噴射指令信号がフィードバック制御されることとなり、先述した経年劣化が進行しても、実噴射状態が目標噴射状態に一致するよう燃料噴射状態を高精度で制御できる。
【００４０】
次に、図３の学習手段３２による噴射率パラメータの学習手法について、噴射開始遅れ時間ｔｄを例として取り上げて以下に説明する。
【００４１】
図４は、遅れ時間ｔｄが燃圧ｐ及び噴射量Ｑと関連付けて記憶されたマップＭを示しており、縦軸を遅れ時間ｔｄ、横軸を燃圧ｐ、紙面垂直方向に延びる軸を噴射量Ｑとした３次元マップである。なお、図５（ａ）に示す例では、縦軸を噴射量Ｑ、横軸を燃圧ｐ、紙面垂直方向に延びる軸を遅れ時間ｔｄとし、図５（ｂ）はマップＭの斜視図である。そして、図５（ａ）に示すように、噴射量Ｑと燃圧ｐを複数の領域ｉ，ｊに格子状に分割して区分けしており、各々の領域毎に１つの遅れ時間ｔｄを割り当てて記憶更新させている。但し、遅れ時間ｔｄを燃圧ｐ及び噴射量Ｑと関連付けて記憶させるべく、遅れ時間ｔｄ、燃圧ｐ及び噴射量Ｑを要素とした学習ベクトルを定義し、この学習ベクトルを領域ｉ，ｊ毎に記憶更新させている。
【００４２】
具体的には、噴射量Ｑを一定の値Ｃとした二次元マップによる例で説明すると、図４に示すように、領域ｉ−１の学習ベクトルはＴＤｉ−１（ｐｉ−１，Ｃ，ｔｄｉ−１）で定義され、領域ｉの学習ベクトルはＴＤｉ（ｐｉ，Ｃ，ｔｄｉ）で定義され、領域ｉ＋１の学習ベクトルはＴＤｉ＋１（ｐｉ＋１，Ｃ，ｔｄｉ＋１）で定義される。したがって、学習ベクトルは特定の燃圧ｐに対する遅れ時間ｔｄを示すものではなく、領域内の任意の燃圧ｐに対する遅れ時間ｔｄを示す。そのため、特定の燃圧ｐとなるよう高圧ポンプ４１を駆動させ、その時の燃圧を燃圧センサ２０で検出する、といった学習用の駆動を必要とせず、成り行きで噴射した時の燃圧検出値に基づき学習することができる。
【００４３】
そして、パラメータ算出手段３１において、取得した検出圧力及び噴射量に基づき計測値としての遅れ時間ｔｄ、燃圧ｐ及び噴射量Ｃを算出した場合に、これらの計測値ｐ，Ｃ，ｔｄを要素とした計測ベクトルＴＤ（ｐ，Ｃ，ｔｄ）を定義する。この計測ベクトルＴＤ（ｐ，Ｃ，ｔｄ）の燃圧ｐが領域ｉに該当する場合、領域ｉの学習ベクトルＴＤｉ（ｐｉ，Ｃ，ｔｄｉ）を、計測ベクトルＴＤ（ｐ，Ｃ，ｔｄ）に基づき補正して記憶更新（学習）させる。
【００４４】
次に、上記学習の手順について図６のフローチャートを用いて説明する。なお、図６は、ＥＣＵ３０が備えるマイコンにより、噴射が為される毎に繰り返し実行される処理である。
【００４５】
先ず、ステップＳ１０（計測ベクトル取得手段）において、燃圧センサ２０から検出圧力を取得して、燃圧の変化を表した燃圧波形を取得する。続くステップＳ１１（計測ベクトル取得手段）では、噴射率パラメータ（ｔｄ，ｔｅ等）、及び噴射開始時の燃圧ｐ（図２（ｃ）中の符号Ｐ１参照）、噴射量Ｑを、噴射率パラメータ算出手段３１により算出する。以下、噴射率パラメータとして遅れ時間ｔｄを例に挙げて説明する。続くステップＳ１２では、遅れ時間ｔｄの学習回数が所定回数未満であるか否かを判定する。
【００４６】
学習回数が所定回数以上であると判定されれば（Ｓ１２：ＮＯ）、これ以上の学習が不要であるとみなして、図６の処理を終了する。これにより、ＥＣＵ３０の学習処理負荷を軽減する。遅れ時間ｔｄの学習回数が所定回数未満であると判定されれば（Ｓ１２：ＹＥＳ）、以降のステップＳ１３〜Ｓ１６において、遅れ時間ｔｄの学習処理を実行する。
【００４７】
先ずステップＳ１３では、ステップＳ１１で算出した遅れ時間ｔｄ、燃圧ｐ及び噴射量Ｑを要素としたベクトルを、計測ベクトルＴＤ（ｐ，Ｑ，ｔｄ）として定義する。要するに、燃圧センサ２０により計測された燃圧に基づき計測ベクトルＴＤ（ｐ，Ｑ，ｔｄ）を取得していると言える。
【００４８】
続くステップＳ１４では、ステップＳ１１で算出した燃圧ｐ及び噴射量Ｑに基づき、更新する学習ベクトルを探索する。つまり、前記燃圧ｐが、複数に分割された領域ｉ−１，ｉ，ｉ＋１のいずれに該当するかを探索するとともに、前記噴射量Ｑが、複数に分割された領域ｊ−１，ｊ，ｊ＋１のいずれに該当するかを探索する。そして、該当する領域に割り当てられた学習ベクトルを、更新対象の学習ベクトルとする。図４の例では、図中の△印に示す計測ベクトルＴＤ（ｔｄ，Ｃ，ｐ）を取得した場合であり、計測ベクトルＴＤ（ｔｄ，Ｃ，ｐ）の要素である燃圧ｐが領域ｉに該当するため、図中の○印に示す、領域ｉの学習ベクトルＴＤｉ（ｐｉ，ｔｄｉ）を更新対象としている。
【００４９】
続くステップＳ１５（補正ベクトル算出手段（補正手段））では、更新対象の学習ベクトルＴＤｉｊ（ｐｉ，Ｑｊ，ｔｄＱｉｊ）及び計測ベクトルＴＤ（ｐ，Ｑ，ｔｄ）に基づき、補正ベクトルＴＤｉｊamを算出する。具体的には、計測ベクトルＴＤ（ｐ，Ｑ，ｔｄ）から更新対象学習ベクトルＴＤｉｊ（ｐｉ，Ｑｊ，ｔｄＱｉｊ）を減算し、その減算結果に所定割合Ｇ（０＜Ｇ＜１）を乗算して得られたベクトルを補正ベクトルＴＤｉｊamとして算出する。つまり、ＴＤｉｊam＝{ＴＤ（ｔｄ，Ｑ，ｐ）−ＴＤｉｊ（ｐｉ，Ｑｊ，ｔｄｉｊ）}×Ｇとの式により算出する。
【００５０】
本実施形態にかかる所定割合Ｇは、いずれの領域においても同じ値に設定されているが、領域毎に異なる値に設定してもよい。例えば、学習回数が少ない場合であるほど所定割合Ｇを大きい値に設定することで、学習ベクトルを早期に真値に近づけると共に、ある程度真値に近づいた学習ベクトルに対してハンチング抑制を図る。また、本実施形態にかかる所定割合Ｇは、予め設定された値に固定されているが、可変設定してもよい。例えば学習回数に応じて所定割合Ｇの値を可変設定してもよい。
【００５１】
続くステップＳ１６（補正手段）では、ステップＳ１５で算出した補正ベクトルＴＤｉｊamを更新対象学習ベクトルＴＤｉ（ｐｉ，Ｑｊ，ｔｄＱｉｊ）に加算することで、領域ｉｊの学習ベクトルＴＤｉｊ（ｐｉ，Ｑｊ，ｔｄＱｉｊ）を補正して記憶更新する。つまり、更新後の学習ベクトルＴＤｉｊnew（ｐｉnew，Ｑｊnew，ｔｄＱｉｊnew）を、ＴＤｉｊnew（ｐｉnew，Ｑｊnew，ｔｄＱｉｊnew）＝ＴＤｉｊ（ｐｉ，Ｑｊ，ｔｄＱｉｊ）＋ＴＤｉｊamとの式により算出する。
【００５２】
続くステップＳ１７では、ステップＳ１２の判定に用いる学習回数のカウンタをカウントアップする。なお、上記ステップＳ１２では、全ての領域を含めたｔｄの学習回数について判定しているが、領域毎に学習回数をカウントし、領域毎に学習回数が所定回数以下であるか否かを判定するようにしてもよい。この場合ステップＳ１７では、ステップＳ１６で更新した学習ベクトルに該当する領域についての学習回数カウンタをカウントアップすることとなる。
【００５３】
ところで、図３の設定手段３３により噴射指令信号を設定するにあたり、現状の燃圧ｐ及び噴射量Ｑ（変数）に対応した噴射率パラメータを、上述の如く学習した学習ベクトルを補間して算出し、算出した噴射率パラメータ（補間ベクトルＴＤ（ｈ））に基づき噴射指令信号を設定することを要する。ここで、図５中の符号ＴＤ（ｈ）は、現状変数に対応する噴射率パラメータ、現状の燃圧ｐ及び現状の噴射量Ｑを要素とした補間ベクトルを示す。
【００５４】
以下、学習ベクトルを補間して補間ベクトルＴＤ（ｈ）を算出する手順について、図７のフローチャートを用いて説明する。なお、図７は、ＥＣＵ３０が備えるマイコンにより、噴射指令信号を設定する毎に繰り返し実行される処理である。
【００５５】
先ず、ステップＳ２０において、現状の燃圧ｐ及び噴射量Ｑを現状変数として取得する。例えば、噴射率パラメータ算出手段３１により算出した基準圧Ｐbase及び噴射量Ｑを現状変数として用いればよい。図５（ａ）の例では、圧力ｐがｉ＋１の領域、噴射量Ｑがｊの領域に現状変数が位置している。以下の説明では、圧力ｐ及び噴射量Ｑの複数の領域のうち、現状変数が位置（所属）する領域を所属領域Ａ（図８参照）と呼ぶ。また、所属領域Ａの周囲に位置する８つの領域のうち、所属領域の格子の角部と点接触する４つの領域を斜め領域Ｂ１〜Ｂ４と呼び、所属領域Ａの格子の一辺と線接触する４つの領域を隣接領域Ｃ１〜Ｃ４と呼ぶ。なお、図８は紙面垂直方向を遅れ時間ｔｄとしたマップＭであり、図５（ａ）に示すマップＭのうち上述した各領域Ａ，Ｂ１〜Ｂ４，Ｃ１〜Ｃ４を抜粋して表したものである。
【００５６】
次のステップＳ２１（選択手段）では、ステップＳ２０で取得した現状変数ｐ，Ｑに基づき所属領域Ａを決定する。続くステップＳ２２（選択手段）では、後述する平面Ｆｌａｔの算出に用いる１つの斜め領域を、４つの斜め領域Ｂ１〜Ｂ４の中から決定する。具体的には、所属領域Ａの学習ベクトルＴＤ（Ａ）及び隣接領域Ｃ１〜Ｃ４の学習ベクトルＴＤ（Ｃ１）〜ＴＤ（Ｃ４）に基づき、図９に示すルールに従って以下のように決定する。
【００５７】
すなわち、先ず所属領域Ａの学習ベクトルＴＤ（Ａ）を中心に、所属領域Ａを４つの領域Ａ１〜Ａ４に分割する（図９（ａ）参照）。次に、現状変数ｐ，Ｑの位置（つまり、求めたい補間ベクトルＴＤ（ｈ）の位置）が、４つの領域Ａ１〜Ａ４のいずれに所属しているかを判定する。図９の例では領域Ａ２に所属していると判定する。
【００５８】
次に、４つの隣接領域Ｃ１〜Ｃ４の中から、判定した所属領域Ａ２に隣接する２つの隣接領域を選択する（図９（ｂ）参照）。図９の例では領域Ｃ１，Ｃ２を選択する。次に、選択した隣接領域Ｃ１，Ｃ２の学習ベクトルＴＤ（Ｃ１），ＴＤ（Ｃ２）と所属領域Ａの学習ベクトルＴＤ（Ａ）とを結ぶラインを定義する。図９の例ではラインＬｂｏｔ，Ｌｌｅｆを定義する。
【００５９】
次に、定義したラインＬｂｏｔ，Ｌｌｅｆに対する補間ベクトルＴＤ（ｈ）の位置関係を、図９（ｃ）（ｄ）のルールに従って判定する。本ルールでは、学習ベクトルＴＤ（Ａ）を中心に、定義したラインに対して反時計回りの側を「大」、時計回りの側を「小」として判定している（図９（ｄ）参照）。図９の例では、定義したラインＬｂｏｔに対して補間ベクトルＴＤ（ｈ）は「小」であり、かつ、定義したラインＬｌｅｆに対して補間ベクトルＴＤ（ｈ）は「大」であると判定される。そして、この判定結果に基づき、図９（ｃ）のルールに従って平面Ｆｌａｔの算出に用いる斜め領域を決定する。図９の例では斜め領域Ｂ２が決定される。
【００６０】
図７の説明に戻り、次のステップＳ２３（選択手段）では、後述する平面Ｆｌａｔの算出に用いる１つの隣接領域を、決定した斜め領域Ｂ２に隣接する２つの隣接領域Ｃ１，Ｃ２の中から決定する。具体的には、所属領域Ａの学習ベクトルＴＤ（Ａ）、及び決定した斜め領域Ｂ２の学習ベクトルＴＤ（Ｂ２）に基づき、図１０に示すルールに従って以下のように決定する。
【００６１】
すなわち、先ず決定した斜め領域Ｂ２の学習ベクトルＴＤ（Ｂ２）と所属領域Ａの学習ベクトルＴＤ（Ａ）とを結ぶラインを定義する（図１０（ａ）参照）。図１０の例ではラインＬ２を定義する。次に、定義したラインＬ２に対する補間ベクトルＴＤ（ｈ）の位置関係を、図９（ｄ）及び図１０（ｂ）のルールに従って判定する。図１０の例では、定義したライン２に対して補間ベクトルＴＤ（ｈ）は「小」であると判定される。そして、この判定結果に基づき、図１０（ｂ）のルールに従って平面Ｆｌａｔの算出に用いる隣接領域を決定する。図１０の例では隣接領域Ｃ２が決定される。
【００６２】
以上のステップＳ２０〜Ｓ２３の処理により、平面Ｆｌａｔの算出に用いる３つの領域、つまり、所属領域Ａ、斜め領域Ｂ２、隣接領域Ｃ２が決定される。そして、上記ルールに従って決定すると、これらの領域Ａ，Ｂ２，Ｃ２の学習ベクトルＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）を結ぶ三角形の内側に現状変数ｐ，Ｑ（つまり補間ベクトルＴＤ（ｈ））が位置することとなるよう（図５（ｂ）及び図８参照）、３つの領域が決定されることとなる。さらに、現状変数ｐ，Ｑの位置（つまり、求めたい補間ベクトルＴＤ（ｈ）の位置）に近い学習ベクトルＴＤの領域が決定されることとなる。
【００６３】
次のステップＳ２４では、決定した各領域Ａ，Ｂ２，Ｃ２の学習ベクトルＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）を含む平面Ｆｌａｔを算出する（図５（ｂ）参照）。この平面Ｆｌａｔは、３つの学習ベクトルＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）に基づき算出するため、曲面になることはなく必ず平らな面となる。続くステップＳ２５（補間手段）では、現状変数ｐ，Ｑ及び平面Ｆｌａｔに基づき、補間ベクトルＴＤ（ｈ）にかかる遅れ時間ｔｄ（制御パラメータ）を算出する。つまり、平面Ｆｌａｔのうち現状変数ｐ，Ｑに該当する点の遅れ時間ｔｄを、補間ベクトルＴＤ（ｈ）の遅れ時間ｔｄとして算出する。以上により、現状変数ｐ，Ｑに対応する制御パラメータが算出され、その制御パラメータを用いて、図３の設定手段３３は噴射指令信号を設定する。
【００６４】
ところで、図６による学習の初期段階においては、記憶されている学習ベクトルが初期値である等の理由により真値から大きくずれている可能性が高い。すると、図７の処理に反して４つ以上の学習ベクトルＴＤを含む面で補間する場合には、その補間に用いる面は、真値から大きくずれた学習ベクトルを含む面となるため、大きくねじれた歪曲面になる。しかし、学習が十分に進行すれば、真値から大きくずれた学習ベクトルの数が減っていくので、補間に用いる面のねじれは小さくなって平面に近づいていく。特に本実施形態では、図１１に示すように燃圧ｐ及び噴射量Ｑの全領域を、制御パラメータの値（学習値）に応じて異なる間隔（図６中の符号Ｗｉ，Ｗｉ＋１参照）に分割しているので、隣り合う領域の学習値の値に大きな差が生じることはなく、領域を移動していくと学習値は徐々に変化するように領域が分割されている。したがって、上述した歪曲面は、学習が進行するにつれて平面に近づいていく。
【００６５】
すると、３つの学習ベクトルを含む平面で補間した場合に比べて補間の精度は大差がなくなる。要するに、学習が十分に進行すれば、３つの学習ベクトルを含む平面で補間することで十分な補間精度が得られるようになり、４つ以上の学習ベクトルを含む歪曲面を用いて煩雑な補間処理を行う必要性は無くなる。この点を鑑みた本実施形態では、現状変数ｐ，Ｑに対応した補間ベクトルＴＤ（ｈ）の制御パラメータを、３つの学習ベクトルＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）を含む平面Ｆｌａｔで補間して算出するので、ＥＣＵ３０による補間処理負荷の軽減を図ることができる。
【００６６】
さらに本実施形態では、燃圧ｐ（変数）の特定値（図１２の例では３０ＭＰａ，５０ＭＰａ，８０ＭＰａ）に対する制御パラメータ（図１２の例ではｔｄ(30)，ｔｄ(50)，ｔｄ(80)）を記憶するのではなく、制御パラメータ（噴射開始遅れ時間ｔｄ）及び変数（燃圧ｐ，噴射量Ｑ）を要素とした学習ベクトル（図４の例ではＴＤｉ−１，ＴＤｉ，ＴＤｉ＋１）を記憶する。そして、遅れ時間ｔｄの計測値及び噴射開始時点での燃圧ｐの計測値を要素とした計測ベクトル（図４の例ではｔｄ）に基づき学習ベクトルを補正するので、遅れ時間ｔｄと燃圧ｐ，噴射量Ｑとの関係を表す特性が直線ではなく曲線であったとしても、記憶更新される学習ベクトルの値がハンチングすることを抑制できる。
【００６７】
また、計測ベクトルＴＤと学習ベクトルＴＤｉとの差分に、所定割合Ｇを乗じて補正ベクトルＴＤｉamを算出しており、その所定割合Ｇを０＜Ｇ＜１に設定しているので、前記差分をそのまま学習ベクトルＴＤｉに加算して補正する場合に比べて、記憶更新される学習ベクトルの値がハンチングすることを抑制できる。
【００６８】
ちなみに、図１１に示す例では、複数の学習ベクトルＴＤのマップ領域における分布形状に応じて、複数の領域を異なる間隔（図１１中の符号Ｗｉ，Ｗｉ＋１参照）に分割している。例えば、学習ベクトルの分布形状が図１１中の符号Ｒに示す形状である場合において、その分布形状Ｒのうち曲線形状となっている領域（符号Ｗｉ＋１に示す領域）については、真値の分布も曲線形状になっていると想定されるため、直線形状となっている領域（図１１中の符号Ｗｉに示す領域）に比べてその領域の間隔を小さく設定する。或いは、前記分布形状Ｒのうち極値（符号Ｒａ，Ｒｂ，Ｒｃ参照）近傍の領域については、真値の分布も極値を有する形状になっていると想定されるため、その領域の間隔を小さく設定する。これらによれば、真値が急激に変化する領域に対してきめ細かく学習ベクトルが記憶更新されるので、学習ベクトルを真値に精度良く近づけることができる。
【００６９】
また、学習された噴射率パラメータ（ｔｄ，ｔｅ，ｄｑｍａｘ等）を用いて、設定手段３３が噴射指令信号ｔ１、ｔ２、Ｔｑを設定するにあたり、マップＭ中の領域毎に記憶された学習ベクトルＴＤが前記噴射指令信号の設定に用いられる使用頻度は、領域によって異なる。そこで、その使用頻度に応じて複数の領域を異なる間隔に分割してもよい。例えば、内燃機関のアイドル運転時の燃料圧力ｐに対する学習ベクトルは使用頻度が高いので、このような領域は小さく設定することが望ましい。
【００７０】
（他の実施形態）
本発明は上記実施形態の記載内容に限定されず、以下のように変更して実施してもよい。また、各実施形態の特徴的構成をそれぞれ任意に組み合わせるようにしてもよい。
【００７１】
・上記実施形態では、３つの学習ベクトルＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）を結ぶ三角形の内側に現状変数ｐ，Ｑ（つまり補間ベクトルＴＤ（ｈ））が位置するよう、３つの学習ベクトルＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）を決定しているが、前記三角形の外側に現状変数ｐ，Ｑが位置するように決定してもよい。
【００７２】
・平面Ｆｌａｔを算出する３つの学習ベクトルを決定するにあたり、学習ベクトルを構成する変数ｐ，Ｑが現状変数ｐ，Ｑに近い順に、３つの学習ベクトルを決定していくようにしてもよい。
【００７３】
・上記実施形態では、平面Ｆｌａｔを算出するのに用いる３つの学習ベクトルに対応する領域を決定するにあたり、所属領域Ａ、斜め領域及び隣接領域の中から１つずつ決定している。これに対し、２つの斜め領域及び所属領域Ａから決定してもよいし、２つの隣接領域及び所属領域Ａから決定してもよい。
【００７４】
・上記実施形態では、２つの変数ｐ，Ｑに関連付けて任意の噴射率パラメータ（例えば噴射開始遅れ時間ｔｄ）を記憶させているが、別の噴射率パラメータ（例えば噴射終了遅れ時間ｔｅ）及び１つの変数に関連付けて任意の噴射率パラメータｔｄを記憶させるようにしてもよい。
【００７５】
・上記各実施形態では、補正ベクトルＴＤｉamの算出に用いる所定割合Ｇを１未満としているが、１に設定してもいい。つまり、計測ベクトルＴＤ（ｐ，Ｑ，ｔｄ）から更新対象学習ベクトルＴＤｉ（ｐｉ，Ｑｉ，ｔｄｉ）を減算して得られたベクトルを、そのまま補正ベクトルＴＤｉamとする。
【００７６】
・上記実施形態では、図６のステップＳ１２において学習回数が所定回数以上であることを条件として学習を終了させているが、学習ベクトルの学習期間が所定期間を超えたことを条件として学習を終了させるようにしてもよい。
【符号の説明】
【００７７】
１０…燃料噴射弁（制御対象）、２０…燃圧センサ、３２…学習手段、３３…設定手段（制御手段）、Ｓ２１，Ｓ２２，Ｓ２３…選択手段、Ａ…所属領域、Ｂ１〜Ｂ４…斜め領域、Ｃ１〜Ｃ４…隣接領域、Ｆｌａｔ…３つの学習ベクトルを含む平面、ｐ…燃料圧力（変数）、Ｑ…燃料噴射量（変数）、Ｓ２５…補間手段、ＴＤｉｊ，ＴＤ（Ａ），ＴＤ（Ｂ２），ＴＤ（Ｃ２）…学習ベクトル、ＴＤ…計測ベクトル、ｔｄ…噴射開始遅れ時間（制御パラメータ）。
【図１】
0005218536.tif 000002
【図２】
0005218536.tif 000003
【図３】
0005218536.tif 000004
【図４】
0005218536.tif 000005
【図５】
0005218536.tif 000006
【図６】
0005218536.tif 000007
【図７】
0005218536.tif 000008
【図８】
0005218536.tif 000009
【図９】
0005218536.tif 000010
【図１０】
0005218536.tif 000011
【図１１】
0005218536.tif 000012
【図１２】
0005218536.tif 000013