(57)【要約】【課題】本発明は、制御パラメータの取得値の分布に偏りが存在する場合でも、学習値を正確に算出することができ、学習精度を向上させることを目的とする。【解決手段】ＥＣＵ６０は、制御パラメータの学習値を基準格子点毎に記憶するための学習マップと、学習マップから学習値を読出すときに用いる読出用格子点を記憶するための格子点マップとを備える。学習制御では、複数の制御パラメータが取得されたときに、これらの制御パラメータの取得値に基いて、取得値の重心と、学習値とを算出する。続いて、学習対象となる基準格子点である学習対象格子点から重心がずれている場合に、重心を読出用格子点として採用することにより、読出用格子点を補正する。【選択図】図２
2014238031.tif 000002
【特許請求の範囲】
【請求項１】
制御パラメータの学習値を記憶するためのデータマップであって、予め座標が設定された複数の基準格子点を有し、個々の前記基準格子点に前記学習値がそれぞれ割り当てられた学習マップと、
前記各基準格子点のうちの任意の格子点を学習対象格子点として前記学習対象格子点に割り当てられる学習値を算出する手段であって、当該学習値に反映させる複数の制御パラメータが取得されたときに、該各制御パラメータの取得値に基いて前記学習対象格子点に対応する学習値を算出する学習値算出手段と、
前記各制御パラメータの取得値の重心を算出する重心算出手段と、
前記学習マップから前記学習値を読出すときに用いる格子点である読出用格子点を前記基準格子点に対して補正する手段であって、前記学習対象格子点と前記重心とを比較して前記読出用格子点を補正する格子点補正手段と、
前記学習値算出手段により算出した前記学習値と、前記格子点補正手段により補正した前記読出用格子点とを組にして記憶する記憶手段と、
を備えることを特徴とする内燃機関の学習装置。
【請求項２】
前記格子点補正手段は、前記重心算出手段により算出した前記重心が前記学習対象格子点からずれている場合に、前記重心を前記読出用格子点として採用することにより前記読出用格子点の補正を実行する構成としてなる請求項１に記載の内燃機関の学習装置。
【請求項３】
制御パラメータの学習値を記憶するためのデータマップであって、予め座標が設定された複数の基準格子点を有し、個々の前記基準格子点に前記学習値がそれぞれ割り当てられた学習マップと、
前記学習マップと同様の基準格子点を有し、個々の前記基準格子点について、当該基準格子点を中心として互いに異なる方向に延びる複数の軸線がそれぞれ設定され、全ての軸線に対して方向別学習値及び方向別距離が割り当てられた補助学習マップと、
前記各基準格子点のうちの任意の格子点を学習対象格子点として当該学習対象格子点の学習値に反映させる制御パラメータが取得されたときに、前記制御パラメータの取得値を重み付け平均により複数の前記方向別学習値に振り分ける第１の振り分け手段と、
前記制御パラメータの取得値の座標から前記学習対象格子点までの距離を重み付け平均により複数の前記方向別距離に振り分ける第２の振り分け手段と、
前記各制御パラメータの取得値の重心を算出する重心算出手段と、
前記学習対象格子点の学習値を前記重心、前記方向別学習値及び前記方向別距離に基いて設定する学習値設定手段と、
を備えることを特徴とする内燃機関の学習装置。
【請求項４】
前記重心算出手段は、前記制御パラメータの取得値が前記学習対象格子点から離れるほど小さくなる重みを用いて前記各制御パラメータの取得値を重み付け平均することにより前記重心を算出し、
前記格子点補正手段は、前記重心が前記学習対象格子点と一致するように、前記学習対象格子点と前記重心とに基いて前記重みを可変に設定する構成としてなる請求項１乃至３のうち何れか１項に記載の内燃機関の学習装置。
【請求項５】
前記重心と前記基準格子点とのずれ量に基いて前記学習値の信頼度を算出し、当該信頼度を前記記憶手段に記憶する信頼度算出手段と、
前記学習マップから前記学習値を読出すときに、当該学習値の信頼度が下限判定値よりも小さい場合に、前記学習値に代えて当該学習値の初期値を使用する信頼度反映手段と、
を備えてなる請求項１乃至４のうち何れか１項に記載の内燃機関の学習装置。
【請求項６】
複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、前記中間点の座標と前記各読出用格子点の重心との距離が大きくなるほど減少する重みを読出用格子点毎に算出する読出用重み算出手段と、
前記読出用重み算出手段により算出した前記重みに基いて前記各読出用格子点の学習値を重み付け平均することにより、前記中間点の学習値を算出する中間学習値算出手段と、
を備えてなる請求項１または２に記載の内燃機関の学習装置。
【請求項７】
複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、射影変換により中間点の学習値を算出する中間学習値算出手段を備えてなる請求項１または２に記載の内燃機関の学習装置。
【請求項８】
複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、Delaunaryの三角形分割により前記学習マップを三角形状の複数領域に分割し、前記複数領域のうち少なくとも前記中間点の座標を含む領域の３つの頂点の情報に基いて前記中間点の学習値を算出する中間学習値算出手段を備えてなる請求項１または２に記載の内燃機関の学習装置。
【請求項９】
複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、前記中間点の周囲に位置する前記読出用格子点の学習値に基いて前記中間点の学習値が満たすべき近似式を設定し、当該近似式に基いて前記中間点の学習値を算出する中間学習値算出手段を備えてなる請求項１または２に記載の内燃機関の学習装置。
【請求項１０】
前記学習値の更新が予め設定された回数以上行われたときに、前記読出用格子点の学習値に基いて前記基準格子点の学習値を各基準格子点毎に算出し、当該算出結果を読出用学習マップとして前記記憶手段に記憶する学習値換算手段を備え、
前記学習マップに代えて前記読出用学習マップから前記学習値を取得する構成としてなる請求項１または２に記載の内燃機関の学習装置。
【請求項１１】
制御パラメータの学習値を記憶するためのデータマップであって、予め座標が設定された複数の基準格子点を有し、個々の前記基準格子点に前記学習値がそれぞれ割り当てられた学習マップと、
前記学習マップと同様の基準格子点を有し、個々の前記基準格子点について、当該基準格子点を中心として複数の領域が設定されると共に、前記複数の領域毎にデータを記憶することが可能な補助学習マップと、
前記各基準格子点のうちの任意の格子点を学習対象格子点として前記学習対象格子点に割り当てられる学習値を算出する手段であって、前記学習対象格子点の学習値に反映させる制御パラメータが取得されたときに、前記複数の領域のうち当該制御パラメータの取得値が属する領域の重心及び学習値を前記取得値に基いて算出し、前記各領域の重心及び学習値に基いて前記学習対象格子点の学習値を算出する学習値算出手段と、
を備えることを特徴とする内燃機関の学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御パラメータの学習マップを備えた内燃機関の学習装置に関する。
【背景技術】
【０００２】
従来技術として、例えば特許文献１（特開２００９−０４６９８８号公報）に開示されているように、制御パラメータの学習マップを備えた内燃機関の学習装置が知られている。学習マップの各格子点には、制御パラメータの学習値がそれぞれ記憶されている。従来技術では、学習すべき制御パラメータを取得した場合に、学習マップ上で当該取得値の周囲に位置する４個の格子点を選択し、これら４個の格子点の学習値を更新する構成としている。この学習制御では、制御パラメータの取得値に重み付けをしてから周囲の格子点の学習値に反映させるが、このときの重み付けは、前記取得値の位置と格子点との距離が近いほど大きくなるように設定される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０４６９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来技術では、制御パラメータとして取得される複数のデータ（取得パラメータ）に偏りが存在すると、格子点上の学習値が偏りの影響で正確に算出されない場合があり、学習値に誤差が生じ易いという問題がある。
【０００５】
本発明は、上述のような課題を解決するためになされたもので、本発明の目的は、制御パラメータの取得値の分布に偏りが存在する場合でも、学習値を正確に算出することができ、学習精度を向上させることが可能な内燃機関の学習装置を提供することにある。
【課題を解決するための手段】
【０００６】
第１の発明は、制御パラメータの学習値を記憶するためのデータマップであって、予め座標が設定された複数の基準格子点を有し、個々の前記基準格子点に前記学習値がそれぞれ割り当てられた学習マップと、
前記各基準格子点のうちの任意の格子点を学習対象格子点として前記学習対象格子点に割り当てられる学習値を算出する手段であって、当該学習値に反映させる複数の制御パラメータが取得されたときに、該各制御パラメータの取得値に基いて前記学習対象格子点に対応する学習値を算出する学習値算出手段と、
前記各制御パラメータの取得値の重心を算出する重心算出手段と、
前記学習マップから前記学習値を読出すときに用いる格子点である読出用格子点を前記基準格子点に対して補正する手段であって、前記学習対象格子点と前記重心とを比較して前記読出用格子点を補正する格子点補正手段と、
前記学習値算出手段により算出した前記学習値と、前記格子点補正手段により補正した前記読出用格子点とを組にして記憶する記憶手段と、を備える。
【０００７】
第２の発明によると、前記格子点補正手段は、前記重心算出手段により算出した前記重心が前記学習対象格子点からずれている場合に、前記重心を前記読出用格子点として採用することにより前記読出用格子点の補正を実行する構成としている。
【０００８】
第３の発明は、制御パラメータの学習値を記憶するためのデータマップであって、予め座標が設定された複数の基準格子点を有し、個々の前記基準格子点に前記学習値がそれぞれ割り当てられた学習マップと、
前記学習マップと同様の基準格子点を有し、個々の前記基準格子点について、当該基準格子点を中心として互いに異なる方向に延びる複数の軸線がそれぞれ設定され、全ての軸線に対して方向別学習値及び方向別距離が割り当てられた補助学習マップと、
前記各基準格子点のうちの任意の格子点を学習対象格子点として当該学習対象格子点の学習値に反映させる制御パラメータが取得されたときに、前記制御パラメータの取得値を重み付け平均により複数の前記方向別学習値に振り分ける第１の振り分け手段と、
前記制御パラメータの取得値の座標から前記学習対象格子点までの距離を重み付け平均により複数の前記方向別距離に振り分ける第２の振り分け手段と、
前記各制御パラメータの取得値の重心を算出する重心算出手段と、
前記学習対象格子点の学習値を前記重心、前記方向別学習値及び前記方向別距離に基いて設定する学習値設定手段と、を備える。
【０００９】
第４の発明によると、前記重心算出手段は、前記制御パラメータの取得値が前記学習対象格子点から離れるほど小さくなる重みを用いて前記各制御パラメータの取得値を重み付け平均することにより前記重心を算出し、
前記格子点補正手段は、前記重心が前記学習対象格子点と一致するように、前記学習対象格子点と前記重心とに基いて前記重みを可変に設定する構成としている。
【００１０】
第５の発明は、前記重心と前記基準格子点とのずれ量に基いて前記学習値の信頼度を算出し、当該信頼度を前記記憶手段に記憶する信頼度算出手段と、
前記学習マップから前記学習値を読出すときに、当該学習値の信頼度が下限判定値よりも小さい場合に、前記学習値に代えて当該学習値の初期値を使用する信頼度反映手段と、
を備える。
【００１１】
第６の発明は、複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、前記中間点の座標と前記各読出用格子点の重心との距離に応じて小さくなる重みを読出用格子点毎に算出する読出用重み算出手段と、
前記読出用重み算出手段により算出した前記重みに基いて前記各読出用格子点の学習値を重み付け平均することにより、前記中間点の学習値を算出する中間学習値算出手段と、
を備える。
【００１２】
第７の発明は、複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、射影変換により中間点の学習値を算出する中間学習値算出手段を備える。
【００１３】
第８の発明は、複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、Delaunaryの三角形分割により前記学習マップを三角形状の複数領域に分割し、前記複数領域のうち少なくとも前記中間点の座標を含む領域の３つの頂点の情報に基いて前記中間点の学習値を算出する中間学習値算出手段を備える。
【００１４】
第９の発明は、複数の読出用格子点の間に位置する中間点の学習値を前記学習マップから取得するときに、前記中間点の周囲に位置する前記読出用格子点の学習値に基いて前記中間点の学習値が満たすべき近似式を設定し、当該近似式に基いて前記中間点の学習値を算出する中間学習値算出手段を備える。
【００１５】
第１０の発明は、前記学習値の更新が予め設定された回数以上行われたときに、前記読出用格子点の学習値に基いて前記基準格子点の学習値を各基準格子点毎に算出し、当該算出結果を読出用学習マップとして前記記憶手段に記憶する学習値換算手段を備え、
前記学習マップに代えて前記読出用学習マップから前記学習値を取得する構成としている。
【００１６】
第１１の発明は、制御パラメータの学習値を記憶するためのデータマップであって、予め座標が設定された複数の基準格子点を有し、個々の前記基準格子点に前記学習値がそれぞれ割り当てられた学習マップと、
前記学習マップと同様の基準格子点を有し、個々の前記基準格子点について、当該基準格子点を中心として複数の領域が設定されると共に、前記複数の領域毎にデータを記憶することが可能な補助学習マップと、
前記各基準格子点のうちの任意の格子点を学習対象格子点として前記学習対象格子点に割り当てられる学習値を算出する手段であって、前記学習対象格子点の学習値に反映させる制御パラメータが取得されたときに、前記複数の領域のうち当該制御パラメータの取得値が属する領域の重心及び学習値を前記取得値に基いて算出し、前記各領域の重心及び学習値に基いて前記学習対象格子点の学習値を算出する学習値算出手段と、を備える。
【発明の効果】
【００１７】
第１の発明によれば、重心には、制御パラメータの取得値の偏りを反映させることができ、学習対象格子点と重心とを比較して読出用格子点を補正することができる。これにより、学習値の使用時には、制御パラメータの取得値の偏りが反映された読出用格子点に基いて学習値を読出すことができる。従って、取得パラメータの分布に偏りが存在する場合でも、学習値を正確に算出し、学習精度を向上させることができる。
【００１８】
第２の発明によれば、重心を読出用格子点として用いることができる。従って、学習値の使用時には、制御パラメータの取得値の偏りが反映された読出用格子点に基いて学習値を読出すことができる。
【００１９】
第３の発明によれば、制御パラメータの取得値の偏りに応じて基準格子点の学習値を補正することができる。これにより、取得パラメータの分布に偏りが存在する場合でも、学習値を正確に算出し、学習精度を向上させることができる。また、学習マップを読み出すときに読出用格子点を用いる必要がなくなり、学習マップの読出し構造を簡略化することができる。
【００２０】
第４の発明によれば、制御パラメータの取得値の偏りにより基準格子点からずれた重心を、重みの補正により基準格子点に向けて戻すことができる。これにより、基準格子点に対する読出用格子点のずれを小さくすることができる。また、例えば重心の位置における学習値に基いて、基準格子点の学習値を算出する場合でも、その誤差を抑制して算出精度を向上させることができる。
【００２１】
第５の発明によれば、重心と基準格子点の座標とのずれ量に応じて、学習値の信頼度を設定することができる。これにより、学習値の使用時において、使おうとする学習値の信頼度が低い場合には、当該学習値の初期値を用いることができる。従って、信頼度が高い学習値のみを制御に使用し、学習制御の効果を最大限に発揮することができ、制御精度を向上させることができる。
【００２２】
第６の発明によれば、複数の読出用格子点間に位置する中間点の学習値を取得する場合には、各読出用格子点の学習値を重み付け平均することにより、中間点の学習値を正確に取得することができる。従って、学習制御の効果を最大限に発揮し、制御精度を向上させることができる。
【００２３】
第７の発明によれば、射影変換を利用して中間点の学習値を算出することができ、第６の発明と同様の効果を得ることができる。
【００２４】
第８の発明によれば、Delaunaryの三角形分割を利用して中間点の学習値を算出することができ、第６の発明と同様の効果を得ることができる。
【００２５】
第９の発明によれば、中間点の学習値が満たすべき近似式を利用して中間点の学習値を算出することができ、第６の発明と同様の効果を得ることができる。
【００２６】
第１０の発明によれば、例えば学習がある程度進行する毎に、読出用格子点に基いて読出用学習マップを作成することができる。これにより、例えば中間点の学習値を使用するときには、歪みが生じた読出用格子点を用いなくても、歪みのない読出用学習マップから学習値を容易に読出すことができる。従って、演算回路の負荷を軽減することができる。
【００２７】
第１１の発明によれば、基準格子点の周囲の各領域の重心及び学習値に基いて、当該基準格子点の学習値を算出することができる。これにより、読出用格子点を利用しなくても、基準格子点の学習値を正確に読み出すことができ、その誤差を抑制して算出精度を向上させることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態１のシステム構成を説明するための全体構成図である。
【図２】１次元の学習マップにおいて、理想的な学習特性線と誤差が生じた学習特性線とを示す特性線図である。
【図３】基準格子点、読出用格子点及び学習値が記憶されたマップの一例を示す説明図である。
【図４】本発明の実施の形態１による格子点の補正処理を２次元の学習マップに適用した場合の効果を模式的に示す説明図である。
【図５】本発明の実施の形態２において、ＥＣＵにより実行される制御の一例を示すフローチャートである。
【図６】本発明の実施の形態３において、格子点を補正した学習マップから学習値を読出すときの課題を示す説明図である。
【図７】各読出用格子点の重み付け平均により中間点の学習値を算出する方法を模式的に示す説明図である。
【図８】本発明の実施の形態４において、射影変換により読出用格子点の歪みを補正する処理を模式的に示す説明図である。
【図９】本発明の実施の形態５において、Delaunaryの三角形分割により学習マップを三角形の領域に分割する処理を模式的に示す説明図である。
【図１０】本発明の実施の形態６において、多項式近似曲線を用いて中間点の学習値を算出する処理を模式的に示す説明図である。
【図１１】本発明の実施の形態７において、基準格子点と読出用格子点とを模式的に示す説明図である。
【図１２】本発明の実施の形態８において、２次元の学習マップを例に挙げて、ある基準格子点の方向別学習値と方向別距離とを模式的に示す説明図である。
【図１３】本発明の実施の形態８において、取得パラメータを複数の方向別学習値及び方向別距離に振り分ける処理を模式的に示す説明図である。
【図１４】本発明の実施の形態８において、２次元の学習マップを例に挙げて、軸線毎に算出された方向別学習値と方向別距離とを模式的に示す説明図である。
【図１５】図１４を側方からみた状態を模式的に示す説明図である。
【図１６】本発明の実施の形態８において、ＥＣＵにより実行される制御の一例を示すフローチャートである。
【図１７】本発明の実施の形態９による学習制御を模式的に示す説明図である。
【図１８】本発明の実施の形態１０による学習制御を模式的に示す説明図である。
【発明を実施するための形態】
【００２９】
実施の形態１．
［実施の形態１の構成］
以下、図１乃至図４を参照して、本発明の実施の形態１について説明する。図１は、本発明の実施の形態１のシステム構成を説明するための全体構成図である。本実施の形態のシステムは、内燃機関として多気筒型のエンジン１０を備えている。なお、本発明は、単気筒及び多気筒を含む任意の気筒数の内燃機関に適用されるものであり、図１は、エンジン１０に搭載された複数気筒のうちの１気筒を例示したものである。
【００３０】
エンジン１０の各気筒には、ピストン１２により燃焼室１４が形成されており、ピストン１２はクランク軸１６に連結されている。また、エンジン１０は、各気筒に吸入空気を吸込む吸気通路１８を備えており、吸気通路１８には、吸入空気量を調整する電子制御式のスロットルバルブ２０が設けられている。一方、エンジン１０は、各気筒の排気ガスを排出する排気通路２２を備えており、排気通路２２には、排気ガスを浄化する三元触媒等の触媒２４が設けられている。また、エンジンの各気筒は、吸気ポートに燃料を噴射する燃料噴射弁２６と、混合気に点火する点火プラグ２８と、吸気ポートを開閉する吸気バルブ３０と、排気ポートを開閉する排気バルブ３２とを備えている。
【００３１】
次に、本実施の形態のシステムに搭載された制御系統について説明する。本実施の形態のシステムは、エンジン及び車両の運転に必用な各種のセンサが含まれるセンサ系統と、エンジンの運転状態を制御するＥＣＵ（Engine Control Unit）６０とを備えている。まず、センサ系統について述べると、クランク角センサ４４は、クランク軸１６の回転に同期した信号を出力するもので、エアフローセンサ４６は吸入空気量を検出する。また、水温センサ４８はエンジン冷却水の水温を検出し、筒内圧センサ５０は筒内圧を検出し、吸気温度センサ５２は吸入空気の温度（外気温度）を検出する。空燃比センサ５４は、排気空燃比を連続的な検出値として検出するもので、触媒２４の上流側に配置されている。酸素濃度センサ５６は、排気空燃比が理論空燃比に対してリッチとリーンの何れであるかを検出するもので、触媒２４の下流側に配置されている。
【００３２】
ＥＣＵ６０は、ＲＯＭ、ＲＡＭ、不揮発性メモリ等からなる記憶回路と、入出力ポートとを備えた演算処理装置により構成されている。ＥＣＵ６０の不揮発性メモリには、後述する各種の学習マップが記憶されている。また、ＥＣＵ６０の入力側には、センサ系統の各センサがそれぞれ接続されている。ＥＣＵ６０の出力側には、スロットルバルブ２０、燃料噴射弁２６、点火プラグ２８等のアクチュエータが接続されている。そして、ＥＣＵ６０は、センサ系統により検出したエンジンの運転情報に基いて各アクチュエータを駆動し、運転制御を行う。
【００３３】
具体的には、クランク角センサ４４の出力に基いて機関回転数とクランク角とを検出し、エアフローセンサ４６により吸入空気量を検出する。また、機関回転数と吸入空気量とに基いて機関負荷を算出し、吸入空気量、機関負荷、水温等に基いて燃料噴射量を算出すると共に、クランク角に基いて燃料噴射時期及び点火時期を決定する。そして、燃料噴射時期が到来した時点で燃料噴射弁２６を駆動し、点火時期が到来した時点で点火プラグ２８を駆動する。これにより、各気筒で混合気を燃焼させ、エンジンを運転する。また、ＥＣＵ６０は、後述の学習値及び読出用格子点を記憶する記憶手段を構成している。
【００３４】
［実施の形態１の特徴］
一般に、エンジン制御では、各種の制御パラメータの取得値に基いて当該制御パラメータを学習する学習制御が行われる。制御パラメータの具体例としては、点火時期、空燃比フィードバック制御の噴射補正量、燃料噴射特性、バルブタイミング、ＥＧＲ量などが挙げられる。ＥＣＵ６０には、制御パラメータの学習値を記憶するためのデータマップである学習マップが記憶されている。
【００３５】
学習マップは、予め座標が設定された複数の基準格子点を有し、個々の基準格子点に学習値がそれぞれ割り当てられている。なお、本明細書中において、「取得」とは、検出、計測、測定、算出、推定等の意味を含むものとする。また、以下の説明では、学習マップ上の任意の基準格子点のうち今回の演算処理で学習値を更新する格子点を「学習対象格子点」と表記する。
【００３６】
学習制御では、学習対象格子点の学習値に反映すべき複数の制御パラメータが取得されたときに、該各制御パラメータの取得値（取得パラメータ）に基いて学習値を算出する。具体例を挙げると、基準格子点（ｉ,ｊ,ｋ，…）の学習値Ｚi,j,k,…は、下記数１の式を用いて取得パラメータを重み付け平均することにより算出される。なお、この式では、ｍ個の取得パラメータに基いて学習値Ｚi,j,k,…を算出する場合を例示している。また、添字ｉ,ｊ,ｋ，…は、学習マップの次元数Ｎだけ存在するもので、１次元の学習マップではｉのみとなり、２次元の学習マップではｉ,ｊとなる。本実施の形態では、任意の次元数Ｎの学習マップを採用することができる。
【００３７】
【数１】
2014238031.tif 000003
【００３８】
上記数１の式において、Ｘi,j,k,…は、基準格子点（ｉ,ｊ,ｋ，…）の座標を表している。また、ｘは個々の取得パラメータの座標をまとめて表記したもので、ｘ＝（ｘ1,ｘ2,…,ｘm）を意味している。各取得パラメータの座標ｘ1,ｘ2,…, ｘmは、それぞれＮ次元のベクトル値である。また、ｙは個々の取得パラメータの値をまとめて表記したもので、ｙ＝（ｙ1, ｙ2,…,ｙm）を意味している。各取得パラメータの値ｙ1, ｙ2,…,ｙmは、スカラー値である。さらに、ｗpは、重み付け平均で用いる重みを表すもので、重みｗpの具体的な算出方法については後述する。
【００３９】
上記の方法により学習値Ｚi,j,k,…を算出する場合には、取得パラメータに座標の偏りが存在すると、基準格子点上の学習値が偏りの影響で正確に算出されない虞れがある。図２は、１次元の学習マップにおいて、理想的な学習特性線と誤差が生じた学習特性線とを示す特性線図である。この図において、Ｌｐは、誤差が存在せずに直線状に延びる理想的な学習特性線を示し、Ｌｅは、取得パラメータの偏りで誤差が生じた折れ線状の学習特性線を示している。また、ｘは学習マップの格子点の座標を示し、ｙは学習マップから得られる出力を示している。さらに、●印、○印、◇印は、それぞれ計測データ（取得パラメータ）、学習値、後述の重心を示している。
【００４０】
学習値には、学習マップ上の基準格子点を中心として算出された取得パラメータの平均値が記憶される。このため、取得パラメータの座標に偏りがあると、○印に示すように、学習値に誤差が生じ、これによって得られる学習特性線Ｌｅは、理想的な学習特性線Ｌｐからずれることになる。このような問題を解決するために、本実施の形態では、まず、下記数２の式により各取得パラメータの重心Ｗi,j,k,…を算出する。
【００４１】
【数２】
2014238031.tif 000004
【００４２】
次に、算出した重心Ｗi,j,k,…と学習対象格子点の座標Ｘi,j,k,…とを比較し、両者が異なる場合には、重心Ｗi,j,k,…を読出用格子点として採用することにより、読出用格子点の補正を実行する。ここで、読出用格子点は、学習マップから学習値を読出すときに用いる格子点であり、個々の基準格子点にそれぞれ割り当てられている。ＥＣＵ６０には、読出用格子点のデータマップである格子点マップが記憶されている。
【００４３】
ここで、読出用格子点の補正方法について具体的な例を挙げて説明する。図３は、基準格子点、読出用格子点及び学習値が記憶されたマップの一例を示す説明図である。この図は、１次元の学習マップを例示したもので、図中の上段は基準格子点を示し、中段は格子点マップを示している。また、下段は学習マップを示し、Ｚ1，Z2，Z3，…は、各格子点の学習値を示している。まず、未学習である初期状態では、図３（ａ）に示すように、格子点マップの各データが基準格子点と等しい値に設定されている。そして、例えばｘ＝１０の格子点を学習対象格子点として学習制御が実行されると、学習値Ｚ10が更新されるが、このときに取得パラメータの座標に偏りが存在すると、図２中の点Ｐに示すように、ｘ＝１０における学習値Ｚ10が理想的な学習特性線Ｌｐからずれた状態となる。
【００４４】
このとき、ＥＣＵ６０は、取得パラメータの座標に基いて重心Ｗを算出する。重心Ｗには、取得パラメータの偏りが反映されるので、学習値Ｚ10が割り当てられる格子点を重心Ｗとすれば、学習値Ｚ10は、図２中の点Ｑ、即ち、理想的な学習特性線Ｌｐ上に位置することになる。なお、この説明では、重心Ｗが８となる場合を例示している。そこで、ＥＣＵ６０は、図３（ｂ）に示すように、学習値Ｚ10に対応する読出用格子点ｘ′を８に更新し、この読出用格子点ｘ′と学習値Ｚ10とを組にして記憶する。この処理は、図２において、学習値Ｚ10の格子点座標を点Ｐから点Ｑにずらす補正処理に相当している。上記のようにして設定された学習マップの使用時には、引数を用いて読出用格子点ｘ′を参照することにより、読出用格子点ｘ′に対応する学習値Ｚを学習マップから読出す。一方、学習制御では、基準格子点に基いて学習値が更新される。
【００４５】
また、上述した格子点の補正処理は、１次元の学習マップだけでなく、２次元以上の任意の次元数をもつ学習マップに適用することができる。図４は、本発明の実施の形態１による格子点の補正処理を２次元の学習マップに適用した場合の効果を模式的に示す説明図である。ここで、図４（ａ）は、理想的な学習特性面をもつ正しい学習マップを示し、図４（ｂ）は、取得パラメータの偏りを補正しない通常の学習マップを示し、図４（ｃ）は、通常の学習マップに対して格子点の補正処理（重心補正）を実行した学習マップを示している。また、図４（ｄ），（ｅ），（ｆ）は、図４（ａ），（ｂ），（ｃ）を回転させて学習特性面の平坦度が判る角度からみたものである。
【００４６】
この図に示すように、通常の学習マップでは、取得パラメータ（計測データ）に偏りがある格子点において、学習値がずれるために、学習特性面に凹凸が生じる。これに対し、格子点の補正処理を実行すると、図４（ｃ），（ｆ）に示すように、計測データの重心に読出用格子点が寄るように補正されるので、これによって学習特性面が平坦となる。従って、２次元以上の学習マップにおいても、１次元の学習マップで例示したような効果を得ることができる。
【００４７】
次に、重みｗpの具体的な算出方法について説明する。重みｗpは、例えばガウス関数を用いて下記数３の式により設定してもよい。この式中の右辺に示すガウス関数は、基準格子点の座標Ｘi,j,k,…と取得パラメータの座標ｘpとの距離が大きいほど増加し、この距離が小さくなるにつれて減少する。なお、式中のσは任意の値に設定可能な標準偏差である。
【００４８】
【数３】
2014238031.tif 000005
【００４９】
上記数３の式において、重みｗpは、取得パラメータの座標が学習対象格子点から離れるほど小さくなる。即ち、重みｗpを用いる前記数１及び数２の式では、取得パラメータの座標が学習対象格子点に近いほど、当該取得パラメータの値が学習値Ｚi,j,k,…に大きく反映されると共に、当該取得パラメータの座標が重心Ｗi,j,k,…に大きく反映される。また、ガウス関数は、学習対象格子点と取得パラメータとの距離がある程度以上大きくなると、殆ど零となる。このため、学習値Ｚi,j,k,…及び重心Ｗi,j,k,…には、学習対象格子点から一定の範囲内に存在する取得パラメータのみが反映される。この範囲は標準偏差σにより調整することができる。
【００５０】
一方、重みｗpの算出には、下記数４の式を用いてもよい。この式中のεは、任意の値に設定可能な有効範囲である。数４の式によれば、学習対象格子点から一定の有効範囲ε内に存在する取得パラメータの重みｗpは１に設定され、有効範囲εよりも遠い取得パラメータの重みｗpは零に設定される。このため、学習値Ｚi,j,k,…及び重心Ｗi,j,k,…には、学習対象格子点から一定の有効範囲ε内に存在する取得パラメータのみが反映される。
【００５１】
【数４】
2014238031.tif 000006
【００５２】
また、重みｗpは、取得パラメータの信頼度に応じて設定する構成としてもよい。具体的に述べると、現在記憶されている学習値と取得パラメータの値とのずれが閾値以上であれば、信頼度が低いエラーデータとみなして当該取得パラメータの重みｗpを零に設定する。一方、学習値と取得パラメータの値とのずれが前記閾値未満であれば、信頼度が高いデータとみなして当該取得パラメータの重みｗpを１に設定する。また、例えばセンサ出力の学習制御においては、取得パラメータとなるセンサ出力のノイズレベルを計測し、ノイズレベルが大きいほど、当該取得パラメータの信頼度を低く設定してもよい。
【００５３】
以上詳述した通り、本実施の形態によれば、重心Ｗには、取得パラメータの分布の偏りを反映させることができる。そして、学習対象格子点と重心Ｗとを比較して読出用格子点を補正することができ、一例を挙げると、重心Ｗをそのまま読出用格子点として用いることができる。これにより、学習値の使用時には、取得パラメータの偏りが反映された読出用格子点に基いて学習値を読出すことができる。従って、取得パラメータの分布に偏りが存在する場合でも、学習値を正確に算出し、学習精度を向上させることができる。
【００５４】
実施の形態２．
次に、図５を参照して、本発明の実施の形態２について説明する。本実施の形態は、重心と基準格子点とのずれ量に応じて学習データの信頼度を設定することを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。
【００５５】
［実施の形態２の特徴］
各取得パラメータの重心が基準格子点からずれている場合には、学習値にもずれが生じている可能性が高い。そこで、本実施の形態では、学習値の信頼度を設定するためのデータマップである信頼度マップを用意する。信頼度マップは、学習マップと同様に構成された複数の格子点を有し、個々の格子点には信頼度が割り当てられている。学習制御の実行時において、信頼度は、例えば下記数５の式により設定され、信頼度マップとしてＥＣＵ６０に記憶される。
【００５６】
【数５】
2014238031.tif 000007
【００５７】
上記数５の式に示す一例では、ガウス関数を用いて信頼度ｔi,j,k,…を設定している。即ち、信頼度ｔi,j,k,…は、重心Ｗi,j,k,…と学習対象格子点（基準格子点）の座標Ｘi,j,k,…との距離（ずれ量）が大きいほど減少し、ある程度以上のずれ量では零となる。このように信頼度ｔi,j,k,…を設定した上で、学習マップの使用時には、図５に示す制御を実行してもよい。図５は、本発明の実施の形態２において、ＥＣＵにより実行される制御の一例を示すフローチャートである。この図に示すように、学習マップの使用時には、まず、ステップ１において、学習値Ｚi,j,k,…を読出すときと同一の引数により信頼度マップから信頼度ｔi,j,k,…を読出す。
【００５８】
次に、ステップ２では、信頼度ｔi,j,k,…が低信頼度の許容限度に相当する所定の下限判定値以上であるか否かを判定する。この判定が成立した場合には、ステップＳ３に移行し、判定した信頼度に対応する学習値Ｚi,j,k,…を学習マップから読出して制御に使用する。一方、ステップ２の判定が不成立の場合には、判定した信頼度に対応する学習値Ｚi,j,k,…を使用せずに、ステップ４に移行し、予め設定された当該学習値の初期値を制御に使用する。この初期値は、学習値毎に設定してデータマップ等に記憶させる構成としてもよい。
【００５９】
一方、学習マップの使用時には、信頼度が低い学習値を使用しつつも、例えば学習値の信頼度が小さいほど、当該学習値が反映される制御パラメータを保守的な値に補正する構成としてもよい。具体例を挙げると、例えばガソリンエンジンにおいて、ノック限界点火時期（ノックを発生させずに実現可能な点火時期の最進角値）の学習値の信頼度が低い場合には、信頼度に応じて点火時期を遅角側に補正する構成としてもよい。
【００６０】
このように構成される本実施の形態によれば、重心Ｗi,j,k,…と基準格子点の座標Ｘi,j,k,…とのずれ量に応じて、学習値Ｚi,j,k,…の信頼度ｔi,j,k,…を設定することができる。これにより、学習値の使用時において、使おうとする学習値の信頼度が低い場合には、当該学習値の初期値を用いることができる。従って、信頼度が高い学習値のみを制御に使用し、学習制御の効果を最大限に発揮することができ、制御精度を向上させることができる。なお、実施の形態２では、図５中のステップ１が信頼度算出手段の具体例を示し、ステップ２，３，４が信頼度反映手段の具体例を示している。
【００６１】
実施の形態３．
次に、図６及び図７を参照して、本発明の実施の形態３について説明する。本実施の形態は、読出用格子点を利用して学習値を読出す場合の処理に関するものである。図６は、本発明の実施の形態３において、格子点を補正した学習マップから学習値を読出すときの課題を示す説明図である。
【００６２】
［実施の形態３の特徴］
図６（ａ）に示すように、格子点が長方形（または正方形）の頂点に配置された通常の学習マップでは、各格子点の間に位置する中間点の学習値Ｚoutを求めるときに、隣接する４点の学習値Ｚ11〜Ｚ22を用いて公知の線形補完を実行すればよい。しかし、読出用格子点が補正で移動している場合には、図６（ｂ）に示すように、隣接する４個の格子点により形成される四角形が歪んでいるので、中間点の学習値Ｚoutを線形補完により算出することができない。
【００６３】
このため、本実施の形態では、個々の読出用格子点を取得パラメータとみなして、学習制御と同様の重み付け平均を実行することにより、中間点の学習値Ｚoutを算出する。図７は、各読出用格子点の重み付け平均により中間点の学習値を算出する方法を模式的に示す説明図である。具体的に述べると、本実施の形態では、下記数６及び数７の式に基いて中間点の学習値Ｚoutを算出する。
【００６４】
【数６】
2014238031.tif 000008
【数７】
2014238031.tif 000009
【００６５】
上記式において、ｘoutは学習値を求めたい中間点の座標を示し、Ｚpは各読出用格子点の学習値Ｚi,j,k,…を示し、ＷpはＺpの重心を示している。即ち、本実施の形態では、上記数７の式に示すガウス関数を用いて、中間点の座標ｘoutと、各読出用格子点（学習値Ｚp）の重心Ｗpとの距離が大きいほど小さくなる重みｗpを算出する。そして、上記数６の式に示すように、各読出用格子点の学習値Ｚpを重みｗpに基いて重み付け平均することにより、中間点の学習値Ｚoutを算出する。
【００６６】
このように構成される本実施の形態によれば、読出用格子点を補正した場合でも、複数の格子点間に位置する中間点の学習値を正確に取得することができる。従って、学習制御の効果を最大限に発揮し、制御精度を向上させることができる。なお、実施の形態３では、前記数７の式が読出用重み算出手段の具体例を示し、前記数６の式が中間学習値算出手段の具体例を示している。
【００６７】
実施の形態４．
次に、図８を参照して、本発明の実施の形態４について説明する。本実施の形態は、読出用格子点を利用して学習値を読出す場合の処理に関するもので、射影変換を利用して中間点の学習値を算出することを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。図８は、本発明の実施の形態４において、射影変換により読出用格子点の歪みを補正する処理を模式的に示す説明図である。なお、図８は、２次元の学習マップを例示している。
【００６８】
［実施の形態４の特徴］
本実施の形態では、図８に示すように、中間点に隣接する４つの読出用格子点１〜４が長方形（または正方形）の頂点となるように、公知の射影変換により学習マップのｘ軸及びｙ軸を変換する。具体例を挙げると、本実施の形態では、読出用格子点１〜４のそれぞれについて、下記数８及び数９に示す射影変換の式を作成し、作成した８個の式を連立方程式として式中の係数ａx，ｂx，ｚx，ａy，ｂy，ｚy，ａ0，ｂ0，ｚ0を算出する。２次元の射影変換では、これらの係数のうち独立なものが８個となるので、８個の連立方程式を解くことにより各係数を特定し、特定した係数に基いて読出用格子点１〜４の変換後の座標を求めることができる。そして、変換後の格子点座標に基いて中間点の学習値Ｚoutを算出することができる。
【００６９】
【数８】
2014238031.tif 000010
【数９】
2014238031.tif 000011
【００７０】
このように構成される本実施の形態によれば、射影変換を利用して中間点の学習値を算出することができ、前記実施の形態３とほぼ同様の効果を得ることができる。なお、実施の形態４では、前記数８及び数９の式が中間学習値算出手段の具体例を示している。また、実施の形態４では、２次元の学習マップを例示したが、射影変換を利用して中間点の学習値を求める方法は、３次元以上の学習マップにも適用することができる。
【００７１】
実施の形態５．
次に、図９を参照して、本発明の実施の形態５について説明する。本実施の形態は、読出用格子点を利用して学習値を読出す場合の処理に関するもので、公知であるDelaunaryの三角形分割を利用して中間点の学習値を算出することを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。図９は、本発明の実施の形態５において、Delaunaryの三角形分割により学習マップを三角形の領域に分割する処理を模式的に示す説明図である。
【００７２】
［実施の形態５の特徴］
本実施の形態では、図９に示すように、学習マップを三角形状の複数領域に分割した後に、前記複数の領域のうち少なくとも中間点の座標を含む領域の３つの頂点（最近傍点）の情報に基いて、前記数６及び数７の式により中間点の学習値Ｚoutを算出する。また、本実施の形態では、最近傍点を含む超平面を求めることにより、中間点の学習値Ｚoutを算出してもよい。超平面は、１次元の学習マップであれば直線に対応し、２次元の学習マップであれば平面に対応している。
【００７３】
具体的には、まず、中間点の学習値Ｚoutが下記数１０の式を満たすものとして、パラメータｘ*、θを下記数１１及び数１２の式により定義する。これらの定義を前提とすれば、パラメータθについて、下記数１３及び数１４が成立し、更に、数１３の式から下記数１５の式を得ることができる。従って、数１０及び数１５の式に基いて、中間点の学習値Ｚoutを算出することができる。なお、下記の式において、Ｚi（i＝1,2,…,m）は、近傍点のそれぞれの学習値を示し、ｘiは、学習値iの重心の座標を示している。
【００７４】
［数１０］
Ｚout＝ｘ*θ
［数１１］
ｘ*：＝（ｘout,１）
［数１２］
θ：＝（θ1,…, θm,θ0）T
【００７５】
［数１３］
Ｚ＝Ｘθ
【数１４】
2014238031.tif 000012
［数１５］
θ＝Ｘ-1Ｚ
【００７６】
このように構成される本実施の形態によれば、Delaunaryの三角形分割を利用して中間点の学習値を算出することができ、前記実施の形態３とほぼ同様の効果を得ることができる。なお、実施の形態５では、図９及び前記数１０乃至数１５の式が中間学習値算出手段の具体例を示している。また、実施の形態５では、２次元の学習マップを例示したが、上記算出処理は、３次元以上の学習マップにも適用することができる。
【００７７】
実施の形態６．
次に、図１０を参照して、本発明の実施の形態６について説明する。本実施の形態は、読出用格子点を利用して学習値を読出す場合の処理に関するもので、中間点の周囲に位置する読出用格子点の学習値に基いて中間点の学習値が満たすべき近似式を設定し、当該近似式に基いて中間点の学習値を算出することを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。図１０は、本発明の実施の形態６において、多項式近似曲線を用いて中間点の学習値を算出する処理を模式的に示す説明図である。なお、図１０は、２次元の学習マップを例示している。
【００７８】
［実施の形態６の特徴］
本実施の形態では、図１０に点線で示すように、まず、中間点の周囲に位置する読出用格子点（○印）を通過する多項式近似曲線を求める。具体的には、中間点の学習値Ｚoutが下記数１６の式を満たすものとして、多項式近似曲線に対応する関数を下記数１７の式により定義する。この関数は、ｘ＝(a,b)とした場合の一例である。また、ｆ(x) Tはｘの関数のベクトルとして定義され、パラメータθは下記数１８の式により定義される。これらの定義を前提として、下記数１９及び数２０の式に基いてパラメータθを算出し、その算出結果に基いて中間点の学習値Ｚoutを算出することができる。なお、下記式中のＺi及びｘiは、前記実施の形態５と同様に定義されるものである。
【００７９】
［数１６］
Ｚout＝ｆ(x)θ
［数１７］
ｆ(x)＝ｆ(a,b,ab,a2,b2)
［数１８］
θ：＝（θ1,…, θm）T
［数１９］
Ｚ＝（ＦTＦ）-1Ｆθ
【数２０】
2014238031.tif 000013
【００８０】
このように構成される本実施の形態によれば、中間点の学習値が満たすべき近似式を利用して中間点の学習値を算出することができ、前記実施の形態３とほぼ同様の効果を得ることができる。なお、実施の形態６では、図１０及び前記数１６乃至数２０の式が中間学習値算出手段の具体例を示している。また、実施の形態６では、２次元の学習マップを例示したが、上記算出処理は、３次元以上の学習マップにも適用することができる。
【００８１】
実施の形態７．
次に、図１１を参照して、本発明の実施の形態７について説明する。本実施の形態は、読出用格子点の歪みを補正した読出用学習マップを用いることを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。図１１は、本発明の実施の形態７において、基準格子点と読出用格子点とを模式的に示す説明図である。
【００８２】
［実施の形態７の特徴］
前記実施の形態３乃至６による学習値の読出処理では、ＥＣＵ６０の演算負荷が増加し易い。このため、本実施の形態では、学習マップと同じ格子点構造を有する他のデータマップを読出用学習マップとして用意する。ＥＣＵ６０は、学習がある程度進んだとき（例えば、学習値の更新が予め設定された回数以上行われたとき）に、読出用格子点の学習値に基いて基準格子点の学習値を各基準格子点毎に算出し、当該算出結果を読出用学習マップとして記憶する。
【００８３】
学習がある程度進んだ段階において、読出用格子点は、図１１中に○印で示すように、取得パラメータの分布の偏りを吸収して格子点が歪んだ状態（長方形または正方形の頂点に位置する基準格子点からずれた状態）となっている。そこで、ＥＣＵ６０は、前述した中間点の学習値の算出方法を基準格子点に適用することにより、基準格子点の学習値を算出する。具体的に述べると、この算出処理では、ある基準格子点を中間点とみなして、当該基準格子点に隣接する周囲の読出用格子点の情報に基いて、当該基準格子点の学習値を算出する。そして、この算出処理を全ての基準格子点について実行し、読出用学習マップを作成する。
【００８４】
このように構成される本実施の形態によれば、例えば学習がある程度進行する毎に、読出用格子点に基いて読出用学習マップを作成することができる。これにより、例えば中間点の学習値を使用するときには、歪みが生じた読出用格子点を用いなくても、歪みのない読出用学習マップから学習値を容易に読出すことができる。従って、ＥＣＵ６０の演算負荷を軽減することができる。なお、図１１は学習値換算手段の具体例を示している。
【００８５】
実施の形態８．
次に、図１２乃至図１６を参照して、本発明の実施の形態８について説明する。本実施の形態は、基準格子点上の学習値を補正し、取得パラメータの偏りによる影響を当該学習値から除去するすることを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。図１２は、本発明の実施の形態８において、２次元の学習マップを例に挙げて、ある基準格子点の方向別学習値と方向別距離とを模式的に示す説明図である。
【００８６】
［実施の形態８の特徴］
前記実施の形態１では、取得パラメータにより算出した学習値をそのまま採用した状態で、当該学習値を読出すときの読出用格子点を補正する場合を例示した。これに対し、本実施の形態では、基準格子点の学習値を重心、方向別学習値及び方向別距離に基いて設定する。以下、この設定方法について説明する。本実施の形態において、ＥＣＵ６０には、学習マップの他に、学習マップと同様の基準格子点を有する補助学習マップが記憶されている。
【００８７】
補助学習マップでは、個々の基準格子点について、当該基準格子点を中心として互いに異なる方向に延びる複数の軸線がそれぞれ設定されている。そして、全ての軸線に対して、方向別学習値及び方向別距離が割り当てられている。即ち、例えば２次元の学習マップでは、図１２に示すように、個々の基準格子点に９０°ずつ異なる方向に延びる４本の軸線（０°，９０°，１８０°，２７０°）が設定されている。そして、補助学習マップには、個々の軸線に割り当てられた後述の方向別学習値Ｚi,j,k,…,r及び方向別距離Ｌi,j,k,…,rが基準格子点毎に記憶されている。なお、図１２中のｙpは、学習値Ｚi,j,k,…が割り当てられた基準格子点に反映させる制御パラメータの取得値（計測値）を表し、ｌpは基準格子点から当該取得パラメータｙpまでの距離を表している。また、θpは、基準の軸線（例えば、０°）に対する取得パラメータｙpの角度θpを示している。
【００８８】
次に、図１３は、本発明の実施の形態８において、取得パラメータを複数の方向別学習値及び方向別距離に振り分ける処理を模式的に示す説明図である。ここで、図１３（ａ）は方向別学習値Ｚi,j,k,…,rを示し、図１３（ｂ）は方向別距離Ｌi,j,k,…,rを示し、図１３（ｃ）は方向別の重みを示している。なお、これらの図において、Θ1〜Θ7は設定された軸線を示しており、７つの軸線が設定されている場合を例示している。また、添字ｉ,ｊ,ｋ，…は学習マップ（補助学習マップ）の次元数に対応し、添字ｉ,ｊ,ｋ，…の末尾の数字は、軸線Θの番号を表している。また、添字ｉ,ｊ,ｋ，…は、図中でｉｊｋ...と簡略化している。
【００８９】
そして、ある任意の基準格子点（学習対象格子点）に反映させる制御パラメータが取得されたときには、例えばガウス関数を用いた下記数２１の式に基いて、当該取得パラメータｙpが重み付け平均により複数の方向別学習値Ｚi,j,k,…,rに振り分けられる。また、取得パラメータｙpの距離ｌpは、下記数２２の式に基いて、重み付け平均により複数の方向別距離Ｌi,j,k,…,rに振り分けられる。これらの式において、添字ｒは、設定された軸線の番号を表している。また、ｗpは重みであり、例えば下記数２３及び数２４の式により設定される。下記数２３及び数２４の式において、σ1，σ2は標準偏差であり、係数βは、｜Θr−Θp｜が９０°以上の場合に零となる。
【００９０】
【数２１】
2014238031.tif 000014
【数２２】
2014238031.tif 000015
【数２３】
2014238031.tif 000016
【００９１】
【数２４】
2014238031.tif 000017
【００９２】
上記数２１乃至数２４の式による演算が実行されると、図１３（ａ）において、取得パラメータｙpは、軸線Θrが角度θpから離れるほど当該軸線Θrの方向別学習値Ｚi,j,k,…,rに対する取得パラメータｙpの反映度が小さくなるように、各方向別学習値Ｚi,j,k,…,rに振り分けられる。また、取得パラメータ（計測データ）ｙpの距離ｌpは、図１３（ｂ）において、軸線Θrが角度θpから離れるほど当該軸線Θrの方向別距離Ｌi,j,k,…,rに対する距離ｌpの反映度が小さくなるように、各方向別距離Ｌi,j,k,…,rに振り分けられる。
【００９３】
次に、このようにして算出した方向別学習値Ｚi,j,k,…,r及び方向別距離Ｌi,j,k,…,rに基いて、基準格子点上の学習値Ｚi,j,k,…を算出する処理について説明する。図１４は、本発明の実施の形態８において、２次元の学習マップを例に挙げて、軸線毎に算出された方向別学習値と方向別距離とを模式的に示す説明図である。図１５は、図１４を側方からみた状態を模式的に示す説明図である。図１４では、学習対象格子点（基準格子点）上の学習値Ｚi,j,k,…が図面の中央に配置され、当該学習対象格子点から複数方向に向けて軸線が放射状に延びている。また、この図中のＺwは、前記実施の形態１と同様の手法により算出された重心Ｗの位置での学習値を表している。
【００９４】
取得パラメータの学習が進行すると、その分布の偏りに応じて方向別学習値学習値Ｚi,j,k,…,r及び方向別距離Ｌi,j,k,…,rの値にばらつきが生じる。図１４は、このバラツキを平面的にみたもので、実際には図１５に示すように、図１４の紙面と垂直な方向（学習値の増減方向）のばらつきも生じている。学習対象格子点上の学習値算出処理では、まず、学習対象格子点と重心Ｗとを通る直線上において、学習対象格子点を挟んで点対称となる２点の重心を算出する（図中に●印を参照）。
【００９５】
そして、これら２つの重心の位置での学習値を算出する。この算出処理は、例えば軸線毎に存在する方向別学習値Ｚi,j,k,…,rから補完して算出することができる。次に、図１５中に点線で示すように、２つの重心を通る直線の傾き（学習値の増減方向に対する傾き）を算出する。そして、算出した傾きと、取得パラメータの偏りが原因で学習対象格子点からずれている学習値Ｚwと、学習対象格子点から学習値Ｚwまでの距離Ｌwとに基いて、図１６に示すように基準格子点上の学習値Ｚi,j,k,…を算出することができる。
【００９６】
図１６は、本発明の実施の形態８において、ＥＣＵにより実行される制御の一例を示すフローチャートである。この図に示すルーチンは、２次元の学習マップを例に挙げて説明する。まず、ステップ１０では、実施の形態１と同様の手法により学習値Ｚwと重心Ｗとを算出する。一方、ステップ１２では、本実施の形態で述べた手法により、学習対象格子点を中心として、各方向別学習値Ｚi,j,k,…,r及び各方向別距離Ｌi,j,k,…,rをそれぞれ算出する。
【００９７】
次に、ステップ１４では、重心Ｗの方向(図１４中に示す角度θwの方向)の方向別学習値Ｚ1と方向別距離Ｌ1とを補助学習マップから算出する。この算出処理は、下記数２５及び数２６の式により実現することができる。
【００９８】
【数２５】
2014238031.tif 000018
【数２６】
2014238031.tif 000019
【００９９】
一方、ステップ１６では、図１６に示す２つの式に基いて、重心Ｗの方向と反対方向(角度θvの方向)の方向別学習値Ｚ2と方向別距離Ｌ2とを補助学習マップから算出する。これらの式は、前記数２５及び数２６の式において、Ｚ1，Ｌ1，θwをそれぞれＺ2，Ｌ2，θvに置換えたものである。
【０１００】
次に、ステップ１８では、方向別学習値Ｚ1，Ｚ2及び方向別距離Ｌ1，Ｌ2に基いて、下記数２７の式により重心Ｗの方向（角度θwの方向)の傾きｄを算出する。そして、ステップ２０では、下記数２８の式により、傾きｄと、学習対象格子点から重心Ｗまでの距離Ｌwと、重心Ｗでの学習値Ｚwとに基いて基準格子点上の学習値Ｚnew（Ｚi,j,k,…）を算出する。そして、この学習値Ｚnewは、基準格子点の学習値として学習マップに記憶される。
【０１０１】
【数２７】
2014238031.tif 000020
［数２８］
Ｚnew＝Ｚw−Ｌwｄ
【０１０２】
このように構成される本実施の形態によれば、取得パラメータの偏りに応じて基準格子点の学習値を補正することができる。従って、学習マップを読み出すときに読出用格子点を用いる必要がなくなり、学習マップの読出し構造を簡略化することができる。なお、前記実施の形態８では、図１２、図１４及び図１５が学習マップの具体例を示し、図１３が補助学習マップの具体例を示している。また、図１３（ａ）は、第１の振り分け手段の具体例を示し、図１３（ｂ）は、第２の振り分け手段の具体例を示している。図１６中のステップ１０は重心算出手段の具体例を示し、ステップ１４〜２０は学習値設定手段の具体例を示している。
【０１０３】
また、前記実施の形態８では、２次元の学習マップにおいて、２本の軸線（角度θw，θv）を用いる場合を例示した。しかし、本発明は、３次元以上の次元数にも適用することができる。この場合には、次元数に応じて前記軸線（θ軸）の本数を増やせばよく、例えば３次元であれば４本、ｎ次元なら（ｎ−１）×２本の軸線を設定すればよい。そして、次元数に応じて、下記数２９式及び数３０の式に示すように、重心ｗp及び係数βiを拡張すればよい。なお、下記数３０の式における係数βiの算出条件の場合分けは、前記数２４の式で説明したものと同様である。
【０１０４】
【数２９】
2014238031.tif 000021
【数３０】
2014238031.tif 000022
【０１０５】
また、前記実施の形態８では、傾きｄと、重心Ｗまでの距離Ｌwと、重心Ｗでの学習値Ｚwとに基いて基準格子点上の学習値Ｚnewを算出する場合を例示した。しかし、本発明はこれに限らず、例えば各方向別学習値Ｚi,j,k,…,rに基いて該各学習値を含む近似曲面を算出し、基準格子点上における前記近似曲面の値を求めることにより学習値Ｚnewを算出する構成としてもよい。
【０１０６】
実施の形態９．
次に、図１７を参照して、本発明の実施の形態９について説明する。本実施の形態は、取得パラメータの重心が学習対象格子点と一致するように、重心の算出値を補正することを特徴としている。図１７は、本発明の実施の形態９による学習制御を模式的に示す説明図である。本実施の形態では、前記実施の形態１と同様に、各取得パラメータの値を重み付け平均することにより学習値を算出すると共に、各取得パラメータの座標を重み付け平均することにより重心を算出し、重心の座標を読出用格子点として記憶する。これらの算出処理は、設定された演算周期毎に繰返される。
【０１０７】
［実施の形態９の特徴］
２回目以降の算出処理では、前回の算出処理で算出した重心と学習対象格子点（基準格子点）との偏差に基いて、重心が学習対象格子点と一致するように、各取得パラメータに適用する重みを可変に設定する。具体的に述べると、図１７に示すように、学習対象格子点を中心として重心と反対側に位置する取得パラメータＡに対しては、重心の算出に用いる重みを増加方向に補正する。一方、学習対象格子点からみて重心と同じ側に位置する取得パラメータＢに対しては、重みを減少方向に補正する。これにより、取得パラメータＡ，Ｂに基いて算出される重心の位置は、重みを補正しない場合と比較して、学習対象格子点に近接するようになる。このような重みの補正処理は、下記数３１の式により実現することができる。
【０１０８】
【数３１】
2014238031.tif 000023
【０１０９】
この式において、本実施の形態による補正項に相当するのは、係数α１以降の部分であり、それ以前はガウス関数である。また、「Ｗi,j,k,…・ｘp」はベクトルＷi,j,k,…とｘpとの内積を表し、｜Ｗi,j,k,…｜と｜ｘp｜は、それぞれのベクトルの長さを表している。係数α１は、重みの大きさを直接増減するパラメータであり、係数α2は０〜１の間で設定するパラメータであり、１に近いほど角度依存性が高くなる。
【０１１０】
このように構成される本実施の形態によれば、取得パラメータの偏りにより基準格子点からずれた重心を、重みの補正により基準格子点に向けて戻すことができる。これにより、基準格子点に対する読出用格子点のずれを小さくすることができる。また、例えば重心の位置における学習値に基いて、基準格子点の学習値を算出する場合でも、その誤差を抑制して算出精度を向上させることができる。
【０１１１】
実施の形態１０．
次に、図１８を参照して、本発明の実施の形態１０について説明する。本実施の形態は、学習マップ上の複数領域毎に算出した重心及び学習値に基いて、学習対象格子点上の学習値を算出することを特徴としている。なお、本実施の形態では、実施の形態１と同一の構成要素に同一の符号を付し、その説明を省略するものとする。図１８は、本発明の実施の形態１０による学習制御を模式的に示す説明図である。なお、図１８は、２次元の学習マップを例示している。
【０１１２】
［実施の形態１０の特徴］
本実施の形態において、ＥＣＵ６０には、学習マップの他に、学習マップと同様の基準格子点を有する補助学習マップが記憶されている。補助学習マップでは、個々の基準格子点について、当該基準格子点を中心として複数の領域が設定され、これら複数の領域毎に重心及び学習値を記憶するためのメモリが確保されている。以下、図１８を参照して説明する。図１８中は、中央に位置する学習対象格子点を中心として、点線で分割された４つの領域が設定されている。図１８中の▲印、■印、●印、◆印は、それぞれの領域において取得された制御パラメータの取得値を示している。また、△印、□印、○印、◇印は、各領域の重心をそれぞれ示している。
【０１１３】
本実施の形態では、まず、制御パラメータが取得されたときに、複数の領域のうち当該取得パラメータが属する領域の重心及び学習値を当該取得パラメータに基いて算出する。この算出処理は、対象となる各制御パラメータの座標に対して前記数２の式を適用することにより実現される。また、該当する領域の学習値は、取得パラメータの値に前記数１の式を適用することにより実現される。これにより、各領域では、図１８に示すように、領域毎に４つの重心及び学習値が算出される。
【０１１４】
次の処理では、各領域の重心の位置Ｘi＝（ｘi，ｙi）に対して、下記数３２の式が成立するように係数α1，α2，α3，α4を設定する。なお、ｙiは、各領域の学習値を表している。続いて、数３２の式の設定に基いて、基準格子点の学習値ｙを下記数３３の式に基いて算出する。
【０１１５】
［数３２］
α1Ｘ1＋α2Ｘ2＋α3Ｘ3＋α4Ｘ4＝０
［数３３］
ｙ＝α1ｙ1＋α2ｙ2＋α3ｙ3＋α4ｙ4
【０１１６】
詳しく述べると、前記数３２の式において、α1＝１，α3＝１と仮定すれば、座標ｘiと学習値ｙiについてそれぞれ下記数３４及び数３５の式を得ることができる。
【０１１７】
［数３４］
ｘi＋α2ｘ2＋α3ｘ3＋α4ｘ4＝０
［数３５］
ｙi＋α2ｙ2＋α3ｙ3＋α4ｙ4＝０
【０１１８】
これら式を係数α2，α4の連立方程式として解けば、係数α2，α4の値を算出することができる。そして、算出した係数α2，α4を前記数３３の式に代入することにより、基準格子点の学習値ｙを算出することができる。
【０１１９】
このように構成される本実施の形態によれば、基準格子点の周囲の各領域の重心及び学習値に基いて、当該基準格子点の学習値を算出することができる。これにより、読出用格子点を利用しなくても、基準格子点の学習値を正確に読み出すことができ、その誤差を抑制して算出精度を向上させることができる。なお、前記実施の形態１０では、数３２乃至数３５の式が学習値算出手段の具体例を示している。
【０１２０】
なお、前記実施の形態１乃至１０では、それぞれ個別の構成を例に挙げて説明した。しかし、本発明はこれに限らず、実施の形態１乃至１０のうちの組合わせ可能な２つ以上の構成を組合わせることにより、本発明を実現してもよい。
【符号の説明】
【０１２１】
１０  エンジン（内燃機関）
１４  燃焼室
１６  クランク軸
１８  吸気通路
２０  スロットルバルブ
２２  排気通路
２４  触媒
２６  燃料噴射弁
２８  点火プラグ
３０  吸気バルブ
３２  排気バルブ
４４  クランク角センサ
４６  エアフローセンサ
４８  水温センサ
５０  筒内圧センサ
５２  吸気温度センサ
５４  空燃比センサ
５６  酸素濃度センサ
６０  ＥＣＵ（記憶手段）
【図１】
2014238031.tif 000024
【図２】
2014238031.tif 000025
【図３】
2014238031.tif 000026
【図４】
2014238031.tif 000027
【図５】
2014238031.tif 000028
【図６】
2014238031.tif 000029
【図７】
2014238031.tif 000030
【図８】
2014238031.tif 000031
【図９】
2014238031.tif 000032
【図１０】
2014238031.tif 000033
【図１１】
2014238031.tif 000034
【図１２】
2014238031.tif 000035
【図１３】
2014238031.tif 000036
【図１４】
2014238031.tif 000037
【図１５】
2014238031.tif 000038
【図１６】
2014238031.tif 000039
【図１７】
2014238031.tif 000040
【図１８】
2014238031.tif 000041