(57)【特許請求の範囲】
【請求項１】
パワーユニットの運転状態を示すパラメータの入力値を取得する検出手段と、
入力値と制御値との関係を定めた複数のマップを予め記憶する記憶手段と、
前記記憶手段に記憶されている複数のマップそれぞれについて、前記検出手段により取得された入力値に対する制御値、及び該制御値の誤差を取得する誤差取得手段と、
前記誤差取得手段により取得された誤差に基づいて、前記複数のマップの中から、使用するマップを選択するマップ選択手段と、
前記マップ選択手段により選択されたマップの制御値を、前記パワーユニットの制御値として採用する制御値確定手段と、を備え、
前記誤差は、統計モデルを用いて前記マップを記述した場合における前記制御値のばらつきであり、
前記マップ選択手段は、前記複数のマップの中から、前記誤差がもっとも小さいマップを選択することを特徴とする制御装置。
【請求項２】
前記検出手段は、複数のパラメータの入力値を取得し、
前記記憶手段は、複数のパラメータの入力値と一以上の制御値との関係を定めた２次元以上の複数のマップを予め記憶し、
前記誤差取得手段は、前記複数のパラメータの入力値に対する制御値、及び該制御値の誤差を取得することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記検出手段により取得された入力値と、前記記憶手段に記憶されている複数のマップそれぞれの設定領域の外郭との距離を求める距離取得手段をさらに備え、
前記マップ選択手段は、前記誤差が所定値未満の場合には、該誤差に基づいて、前記複数のマップの中から、使用するマップを選択し、前記誤差が前記所定値以上の場合には、前記距離に基づいて、前記複数のマップの中から、使用するマップを選択することを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記検出手段は、複数のパラメータの入力値を取得し、
前記記憶手段は、複数のパラメータの入力値と一以上の制御値との関係を定めた２次元以上の複数のマップを予め記憶し、
前記距離取得手段は、前記複数のパラメータの入力値と、前記複数のマップそれぞれの設定領域の外郭との距離を求めることを特徴とする請求項３に記載の制御装置。
【請求項５】
前記距離取得手段は、前記入力値と前記複数のマップそれぞれとの距離を求める際に、前記入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「＋」とする符号を付加した、符号付距離を求め、
前記マップ選択手段は、前記符号付距離がもっとも小さいマップを選択することを特徴とする請求項３又は４に記載の制御装置。
【請求項６】
前記距離取得手段は、前記入力値と前記複数のマップそれぞれとの距離を求める際に、前記入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「＋」、該設定領域の外郭の外側を「−」とする符号を付加した、符号付距離を求め、
前記マップ選択手段は、前記符号付距離がもっとも大きいマップを選択することを特徴とする請求項３又は４に記載の制御装置。
【請求項７】
前記複数のマップそれぞれは、前記設定領域の外郭の形状が矩形でないことを特徴とする請求項３〜６のいずれか１項に記載の制御装置。
【請求項８】
前記複数のマップそれぞれは、前記設定領域の外郭が統計モデルを用いて数式化されていることを特徴とする請求項３〜７のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関し、特に、入力値と制御値との関係を定めたマップを検索して制御値を求める、パワーユニットの制御装置に関する。
【背景技術】
【０００２】
車両を駆動する例えばエンジン（パワーユニット）の制御では、運転状態（例えば、エンジン回転数、吸入空気量、スロットル開度等々）を各種センサで検出し、そのセンサ値（入力値）を用いて、予め設定されて記憶されているマップ（センサ値と制御値との関係を定めたマップ（ルックアップテーブル））を検索することにより、エンジンの制御値（例えば、燃料噴射量、点火時期等々）を求める手法が広く用いられている。
【０００３】
ところで、例えば、同一環境下で全運転領域のマップデータを計測（取得）できない場合や、入力値と制御値との関係の非線形性が強い場合など、一つのマップですべての制御値を表現することが困難な場合がある。このような場合に、従来では、一つのマップを複数のマップに分割し、その複数のマップを例えば所定の入力値（パラメータ）に応じて切り替えて使用することが行われている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１０９６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、一般的に、上下限値でマップの境界が画定されているため、境界が矩形（軸と平行）になり、例えば所定の入力値（パラメータ）に基づいて、複数のマップの中から最も適したマップを選択しようとした場合に、最近傍でないマップ、すなわち最適でないマップを選択するおそれがあった。特に、例えば、入力値がマップの設定領域の外郭（境界）の外側に位置する場合や、２以上のマップの共有領域内に位置する場合には、複数のマップの中から、最適なマップを必ずしも選択できるとは限らなかった。
【０００６】
また、近年、排気ガス規制（エミッション規制）や燃費向上要求等からエンジンに付加される制御デバイスが増加し、かつ、トレードオフの関係にあるエンジン性能、排気ガス、燃費、信頼性等の間の最適な制御値を求める必要から、制御がますます複雑になってきており、上述したマップも、例えば５次元、６次元といったように多次元化されてきている。そのような状況においては、複数のマップの中から一つのマップを選択する際に、マップの選択に複雑な条件分岐処理などが必要になることがあるため、そのような複雑な条件分岐処理などを要することなく、より適切なマップを選択することのできる技術が要望されていた。
【０００７】
本発明は、上記問題点を解消する為になされたものであり、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能な制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る制御装置は、パワーユニットの運転状態を示すパラメータの入力値を取得する検出手段と、入力値と制御値との関係を定めた複数のマップを予め記憶する記憶手段と、記憶手段に記憶されている複数のマップそれぞれについて、検出手段により取得された入力値に対する制御値、及び該制御値の誤差を取得する誤差取得手段と、誤差取得手段により取得された誤差に基づいて、複数のマップの中から、使用するマップを選択するマップ選択手段と、マップ選択手段により選択されたマップの制御値を、パワーユニットの制御値として採用する制御値確定手段とを備えることを特徴とする。
【０００９】
本発明に係る制御装置によれば、複数のマップそれぞれについて、入力値に対する制御値、及び該制御値の誤差が取得され、その誤差に基づいて、使用されるマップが選択される。そのため、例えば、誤差が最も小さい制御値を持つマップを選択することができる。その結果、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
【００１０】
その際に、上記誤差は、統計モデルを用いてマップを記述した場合における制御値のばらつきであることが好ましい。
【００１１】
この場合、上記誤差が、統計モデルを用いてマップを記述した場合における制御値のばらつき、すなわち、マップを作成する際の測定に含まれるばらつき（測定値の分散や歪み度など）であるため、これらのばらつきを考慮して、複数のマップの中から制御上より適切なマップを選択することが可能となる。また、統計モデルを用いてマップを記述しているため、マップを生成する際のばらつき（測定値の分散や歪み度など）を適切に取り扱うことができる。
【００１２】
本発明に係る制御装置では、検出手段が、複数のパラメータの入力値を取得し、記憶手段が、複数のパラメータの入力値と一以上の制御値との関係を定めた２次元以上の複数のマップを予め記憶し、誤差取得手段が、複数のパラメータの入力値に対する制御値、及び該制御値の誤差を取得することが好ましい。
【００１３】
この場合、複数のパラメータの入力値に対する制御値、及び該制御値の誤差が取得されるため、各マップが２次元以上の多次元マップであったとしても、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
【００１４】
本発明に係る制御装置は、検出手段により取得された入力値と、記憶手段に記憶されている複数のマップそれぞれの設定領域の外郭との距離を求める距離取得手段をさらに備え、マップ選択手段が、誤差が所定値未満の場合には、該誤差に基づいて、複数のマップの中から、使用するマップを選択し、誤差が所定値以上の場合には、上記距離に基づいて、複数のマップの中から、使用するマップを選択することが好ましい。
【００１５】
この場合、入力値と複数のマップそれぞれの設定領域の外郭との距離を求める距離取得手段がさらに備えられており、上記誤差が所定値未満の場合には、該誤差に基づいて使用するマップが選択され、誤差が所定値以上の場合には、上記距離に基づいて使用するマップが選択される。そのため、誤差が所定値未満の場合には、例えば、誤差が最も小さい制御値を持つマップを選択することができ、一方、誤差が所定値以上のときには、例えば、入力値が外殻（境界）の内側にある場合には距離がより長いマップを選択し、入力値が外殻の外側にあるときには距離がより短いマップを選択することができる。その結果、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップ（最適なマップ）を選択することが可能となる。
【００１６】
特に、本発明に係る制御装置では、検出手段が複数のパラメータの入力値を取得し、記憶手段が、複数のパラメータの入力値と一以上の制御値との関係を定めた２次元以上の複数のマップを予め記憶し、距離取得手段が、複数のパラメータの入力値と、複数のマップそれぞれの設定領域の外郭との距離を求めることが好ましい。
【００１７】
この場合、複数のパラメータの入力値（入力ベクトル）と複数のマップそれぞれの設定領域の外郭（境界）との距離が求められるため、各マップが２次元以上の多次元マップであったとしても、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することができる。
【００１８】
本発明に係る制御装置では、入力値と複数のマップそれぞれとの距離を求める際に、距離取得手段が、入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「＋」とする符号を付加した、符号付距離を求め、マップ選択手段が、符号付距離がもっとも小さいマップを選択することが好ましい。
【００１９】
このようにすれば、制御値の誤差が大きい場合であっても、入力値と各マップの設定領域の外郭との距離（符号付距離）を求めるだけで、複数のマップの中からより適切なマップを選択することができる。
【００２０】
一方、本発明に係る制御装置では、入力値と複数のマップそれぞれとの距離を求める際に、距離取得手段が、入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「＋」、該設定領域の外郭の外側を「−」とする符号を付加した、符号付距離を求め、マップ選択手段が、符号付距離がもっとも大きいマップを選択することも好ましい。
【００２１】
このようにしても、制御値の誤差が大きい場合に、入力値と各マップの設定領域の外郭との距離（符号付距離）を求めるだけで、複数のマップの中からより適切なマップを選択することができる。
【００２２】
本発明に係る制御装置では、上記複数のマップそれぞれの設定領域の外郭の形状が矩形でないことが好ましい。
【００２３】
このようにすれば、複数のマップそれぞれが、設定領域の外郭の形状が矩形でない（すなわち非線形の）マップであっても、複数のマップの中から制御上より好ましいマップを選択することができる。
【００２４】
本発明に係る制御装置では、上記複数のマップそれぞれの設定領域の外郭が統計モデルを用いて数式化されていることが好ましい。
【００２５】
この場合、設定領域の外郭（計測領域の境界）が統計モデル化されているため、各マップの外郭が非線形な形状であったとしても、該外郭を適切に画定することができる。よって、入力値と各マップの設定領域の外郭（境界）との距離を正確に求めることができるため、入力値に最も近いマップを的確に選択することができる。
【発明の効果】
【００２６】
本発明によれば、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態に係る制御装置の構成、及び該制御装置が適用されたエンジンの構成を示す図である。
【図２】第１実施形態に係る制御装置が有する、エンジン吸入空気推定量を求める制御モデルの一例を示す図である。
【図３】エンジン回転数、スロットル開度、吸気バルブタイミング、及びＥＧＲバルブ開度とエンジン吸入空気推定量との関係を定めたマップ（Ｂｏｕｎｄａｒｙ  Ｍｏｄｅｌ）の一例を示す図である。
【図４】図３に示されたマップの散布図行列とＢｏｕｎｄａｒｙ  Ｍｏｄｅｌを示す図である。
【図５】２つのマップ（マップＡ，マップＢ）それぞれにおける実験計測値と制御値の誤差との関係を説明するための図である
【図６】２つのマップ（マップＡ，マップＢ）それぞれにおいて、同一の入力値について取得された制御値、及び該制御値に対する誤差の一例を示した図である
【図７】第１実施形態に係る制御装置による制御値取得処理（マップ選択処理）の処理手順を示すフローチャートである。
【図８】第２実施形態に係る制御装置の構成、及び該制御装置が適用されたエンジンの構成を示す図である。
【図９】第２実施形態に係る制御装置が有する、エンジン吸入空気推定量を求める制御モデルの一例を示す図である。
【図１０】第２実施形態に係る制御装置による制御値取得処理（マップ選択処理）の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、特に区別する必要がある場合を除いて、図中、同一又は相当部分には同一符号を用いることとする。また、各図において、同一要素には同一符号を付して重複する説明を省略する。
【００２９】
（第１実施形態）
まず、図１及び図２を併せて用いて、第１実施形態に係る制御装置１の構成について説明する。ここで、図１は、制御装置１の構成、及び制御装置１が適用されたエンジン１０の構成を示す図である。また、図２は、制御装置１が有するエンジン吸入空気推定量を求める制御モデルの一例を示す図である。
【００３０】
エンジン１０は、例えば水平対向型の４気筒ガソリンエンジンである。また、エンジン１０は、シリンダ内（筒内）に燃料を直接噴射する筒内噴射式のエンジンである。エンジン１０では、エアクリーナ１６から吸入された空気が、吸気管１５に設けられた電子制御式スロットルバルブ（以下、単に「スロットルバルブ」ともいう）１３により絞られ、インテークマニホールド１１を通り、エンジン１０に形成された各気筒に吸入される。ここで、エアクリーナ１６から吸入された空気の量は、エアクリーナ１６とスロットルバルブ１３との間に配置されたエアフローメータ１４により検出される。また、インテークマニホールド１１を構成するコレクター部（サージタンク）の内部には、インテークマニホールド１１内の圧力（吸気マニホールド圧力）を検出するバキュームセンサ３０が配設されている。さらに、スロットルバルブ１３には、該スロットルバルブ１３の開度を検出するスロットル開度センサ３１が配設されている。
【００３１】
シリンダヘッドには、気筒毎に吸気ポート２２と排気ポート２３とが形成されている（図１では片バンクのみ示した）。各吸気ポート２２、排気ポート２３それぞれには、該吸気ポート２２、排気ポート２３を開閉する吸気バルブ２４、排気バルブ２５が設けられている。吸気バルブ２４を駆動する吸気カム軸と吸気カムプーリとの間には、吸気カムプーリと吸気カム軸とを相対回動してクランク軸１０ａに対する吸気カム軸の回転位相（変位角）を連続的に変更して、吸気バルブ２４のバルブタイミング（開閉タイミング）を進遅角する可変バルブタイミング機構２６が配設されている。この可変バルブタイミング機構２６により吸気バルブ２４の開閉タイミングがエンジン運転状態に応じて可変設定される。
【００３２】
同様に、排気カム軸と排気カムプーリとの間には、排気カムプーリと排気カム軸とを相対回動してクランク軸１０ａに対する排気カム軸の回転位相（変位角）を連続的に変更して、排気バルブ２５のバルブタイミング（開閉タイミング）を進遅角する可変バルブタイミング機構２７が配設されている。この可変バルブタイミング機構２７により排気バルブ２５の開閉タイミングがエンジン運転状態に応じて可変設定される。
【００３３】
エンジン１０の各気筒には、シリンダ内に燃料を噴射するインジェクタ１２が取り付けられている。インジェクタ１２は、高圧燃料ポンプ（図示省略）により加圧された燃料を各気筒の燃焼室内へ直接噴射する。
【００３４】
また、各気筒のシリンダヘッドには、混合気に点火する点火プラグ１７、及び該点火プラグ１７に高電圧を印加するイグナイタ内蔵型コイル２１が取り付けられている。エンジン１０の各気筒では、吸入された空気とインジェクタ１２によって噴射された燃料との混合気が点火プラグ１７により点火されて燃焼する。燃焼後の排気ガスは排気管１８を通して排出される。
【００３５】
排気管１８の集合部の下流かつ排気浄化触媒２０の上流には、空燃比センサ１９が取り付けられている。空燃比センサ１９としては、排気ガス中の酸素濃度、未燃ガス濃度に応じた信号（すなわち混合気の空燃比に応じた信号）を出力でき、空燃比をリニアに検出することができるリニア空燃比センサ（ＬＡＦセンサ）が用いられる。
【００３６】
ＬＡＦセンサ１９の下流には排気浄化触媒２０が配設されている。排気浄化触媒２０は三元触媒であり、排気ガス中の炭化水素（ＨＣ）及び一酸化炭素（ＣＯ）の酸化と、窒素酸化物（ＮＯｘ）の還元を同時に行い、排気ガス中の有害ガス成分を無害な二酸化炭素（ＣＯ２）、水蒸気（Ｈ２Ｏ）及び窒素（Ｎ２）に清浄化するものである。
【００３７】
排気管１８には、エンジン１０から排出された排気ガスの一部を、エンジン１０のインテークマニホールド１１に再循環させる排気ガス再循環装置（以下「ＥＧＲ（Ｅｘｈａｕｓｔ  Ｇａｓ  Ｒｅｃｉｒｃｕｌａｔｉｏｎ）装置」という）４０が設けられている。ＥＧＲ装置４０は、エンジン１０の排気管１８とインテークマニホールド１１とを連通するＥＧＲ配管４１、及びＥＧＲ配管４１上に介装され、排気ガス還流量（ＥＧＲ流量）を調節するＥＧＲバルブ４２を有している。ＥＧＲバルブ４２は、エンジン１０の運転状態に応じて、後述する電子制御装置５０によって開度（ＥＧＲＳＴＰ）が制御される。
【００３８】
上述したエアフローメータ１４、ＬＡＦセンサ１９、バキュームセンサ３０、スロットル開度センサ３１に加え、エンジン１０のカムシャフト近傍には、エンジン１０の気筒判別を行うためのカム角センサ３２が取り付けられている。また、エンジン１０のクランクシャフト１０ａ近傍には、クランクシャフト１０ａの回転位置を検出するクランク角センサ３３が取り付けられている。ここで、クランクシャフト１０ａの端部には、例えば、２歯欠歯した３４歯の突起が１０°間隔で形成されたタイミングロータ３３ａが取り付けられており、クランク角センサ３３は、タイミングロータ３３ａの突起の有無を検出することにより、クランクシャフト１０ａの回転位置を検出する。カム角センサ３２及びクランク角センサ３３としては、例えば電磁ピックアップ式のものなどが用いられる。
【００３９】
これらのセンサは、電子制御装置（以下「ＥＣＵ」という）５０に接続されている。さらに、ＥＣＵ５０には、エンジン１０の冷却水の温度を検出する水温センサ３４、潤滑油の温度を検出する油温センサ３５、アクセルペダルの踏み込み量すなわちアクセルペダルの開度を検出するアクセルペダル開度センサ３６、及び、車両の速度を検出する車速センサ３７等の各種センサも接続されている。なお、エンジン１０の運転状態を示すセンサ値（パラメータ値）を取得する上記各種センサは、特許請求の範囲に記載の検出手段として機能する。
【００４０】
ＥＣＵ５０は、演算を行うマイクロプロセッサ、該マイクロプロセッサに各処理を実行させるためのプログラム等を記憶するＲＯＭ、演算結果などの各種データを記憶するＲＡＭ、バッテリ等によってその記憶内容が保持されるバックアップＲＡＭ、及び入出力Ｉ／Ｆ等を有して構成されている。また、ＥＣＵ５０は、インジェクタ１２を駆動するインジェクタドライバ、点火信号を出力する出力回路、及び、電子制御式スロットルバルブ１３を開閉する電動モータ１３ａを駆動するモータドライバ等を備えている。
【００４１】
ＥＣＵ５０では、カム角センサ３２の出力から気筒が判別され、クランク角センサ３３の出力から回転角速度およびエンジン回転数が求められる。また、ＥＣＵ５０では、上述した各種センサから入力される検出信号に基づいて、吸入空気量、吸気管負圧、アクセルペダル開度、混合気の空燃比、及びエンジン１０の水温や油温等の各種情報が取得される。そして、ＥＣＵ５０は、取得したこれらの各種情報に基づいて、燃料噴射量や点火時期、及び、スロットルバルブ１３やＥＧＲバルブ４２等の各種デバイスを制御することによりエンジン１０を総合的に制御する。
【００４２】
特に、ＥＣＵ５０は、上記各種デバイス等の制御値（制御指示値）を求める際に、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択する機能を有している。そのため、ＥＣＵ５０は、記憶部５１、制御値・誤差取得部５２１、マップ選択部５３１、及び制御値確定部５４１を機能的に備えている。ＥＣＵ５０では、ＲＯＭ等に記憶されているプログラムがマイクロプロセッサによって実行されることにより、記憶部５１、制御値・誤差取得部５２１、マップ選択部５３１、及び、制御値確定部５４１の各機能が実現される。
【００４３】
記憶部５１は、上述したＲＯＭ等により構成され、一又は複数のパラメータの入力値と一以上の制御値との関係を定めた複数に分割されたマップ（例えば、後述するエンジンダイナモメータ（ＥＤＭ）の計測結果を元に生成された中高負荷マップ、及びシャシダイナモメータ（ＣＤＭ）の計測結果を元に生成された低負荷マップ等）を予め記憶する。すなわち、記憶部５１は、特許請求の範囲に記載の記憶手段として機能する。なお、マップとしては、例えば統計モデルを用いて記述（表現）されたものを好適に用いることができる（詳細は後述する）。また、マップが作成される際に、その設定領域の外郭も画定される。
【００４４】
ここで、記憶部５１に記憶されている複数に分割されたマップ（例えば中高負荷マップ及び低負荷マップ）に含まれる一つのマップの例を図３に示す。図３に示されたマップは、エンジン回転数ＮＥ（ｒｐｍ）、スロットル開度ＴＨＲ（ｄｅｇ）、吸気バルブタイミングＶＴＲ（ｄｅｇ）、及びＥＧＲバルブ開度ＥＧＲＳＴＰとエンジン吸入空気推定量ＧＮ’（ｇ／ｒｅｖ）との関係を定めた４次元のマップである。なお、図３では、ＥＧＲバルブ開度ＥＧＲＳＴＰを固定したときの３次元形状（Ｂｏｕｎｄａｒｙ  Ｍｏｄｅｌ）を示している。
【００４５】
また、図３に示されたマップの散布図行列とＢｏｕｎｄａｒｙ  Ｍｏｄｅｌを図４に示す。図４に示される散布図行列は、ＥＧＲバルブ開度ＥＧＲＳＴＰ、エンジン回転数ＮＥ、スロットル開度ＴＨＲ、及び吸気バルブタイミングＶＴＲの中から２つの入力（パラメータ）を選んで、計測点を２次元平面に投影したものである。なお、散布図行列中の黒点は計測点を示している。また、図３、図４に示されるように、このマップの設定領域（計測領域）の外郭（以下、単に「マップの外郭」ともいう）の形状は、矩形ではなく非線形になっている。本実施形態では、マップの設定領域（計測領域）の外郭を統計モデルを用いて数式化した。
【００４６】
制御値・誤差取得部５２１は、複数のマップ（例えば中高負荷マップ及び低負荷マップ）それぞれについて、取得された一又は複数のパラメータの入力値（例えば、上述したエンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰ）を用いてマップ検索を行い、制御値（例えば、上述したエンジン吸入空気推定量ＧＮ’）を取得するとともに、該制御値の誤差（％）を求める。すなわち、制御値・誤差取得部５２１は、特許請求の範囲に記載の誤差取得手段として機能する。制御値・誤差取得部５２１により取得された誤差は、マップ選択部５３１に出力される。
【００４７】
ここで、上記誤差は、統計モデルを用いてマップ（例えば、上述した中高負荷マップ及び低負荷マップ）を記述した場合における制御値（例えば、上述したエンジン吸入空気推定量ＧＮ’）のばらつきである。すなわち、マップを作成する際の測定に含まれるばらつき（例えば、測定値の分散や歪み度など）である。
【００４８】
制御値の誤差は、例えば、代替推定法（Ｒｅｓｕｂｓｔｉｔｕｔｉｏｎ  ｅｓｔｉｍａｔｅ）、テストサンプル法（Ｔｅｓｔ  ｓａｍｐｌｅ  ｅｓｔｉｍａｔｅ）、又は交差検証法（ｎ−ｆｌｏｄ  ｃｒｏｓｓ−ｖａｌｉｄａｔｉｏｎ  ｅｓｔｉｍａｔｅ）などの方法を用いて算出することが好ましい。例えば、代替推定法を用いる場合には、まず初めに、予め計測された点群の入力値と出力値（制御値）との関係がモデル化（マップ化）される。その後、作成されたマップに入力値が入力され、出力（制御値）が取得される。そして、得られた出力（制御値）と予め計測された出力値の比が当該出力（制御値）の誤差とされる。
【００４９】
ここで、２つのマップ（マップＡ，マップＢ）それぞれにおける実験計測値と制御値の誤差との関係の一例を図５に示す。図５の横軸はマップ検索値（制御値）であり、縦軸は実験計測値である。図５に破線で示されるように、マップＡでは、実験計測値のばらつき（誤差）が紡錘形に（すなわち、マップ検索値（制御値）の増大に対して、ばらつき（誤差）が一旦拡大した後収束するように）分布している。一方、マップＢでは、図５に一点鎖線で示されるように、実験計測値のばらつき（誤差）が略扇形に（すなわち、マップ検索値（制御値）の増大に対して、ばらつき（誤差）が単調増加するように）分布している。
【００５０】
次に、上述した２つのマップ（マップＡ，マップＢ）それぞれにおいて、同一の入力値について取得された制御値（図５中のｘ１，ｘ２）、及び該制御値に対する誤差の一例を図６に示す。図６に示されるように、制御値ｘ１の誤差（ばらつき）は、「マップＡの制御値ｘ１の誤差＞マップＢの制御値ｘ１の誤差」となる。なお、この場合には、より誤差の少ないマップＢの制御値ｘ１が選択される（詳細は後述する）。同様に、制御値ｘ２の誤差（ばらつき）は、「マップＡの制御値ｘ２の誤差＜マップＢの制御値ｘ２の誤差」となる。なお、この場合には、より誤差に少ないマップＡの制御値ｘ２が選択される（詳細は後述する）。
【００５１】
図１に戻り、説明を続ける。マップ選択部５３１は、制御値・誤差取得部５２１により取得された制御値の誤差に基づいて、複数のマップの中から、制御に使用するマップを選択する。その際に、マップ選択部５３１は、制御値の誤差がもっとも小さいマップを選択する。すなわち、マップ選択部５３１は、特許請求の範囲に記載のマップ選択手段として機能する。なお、マップ選択部５３１により選択されたマップは、制御値確定部５４１に出力される。
【００５２】
制御値確定部５４１は、マップ選択部５３１により選択されたマップの制御値を、エンジン１０の制御値として確定（採用）する。すなわち、制御値確定部５４１は、特許請求の範囲に記載の制御値確定手段として機能する。
【００５３】
ここで、図２に示した制御モデルを用いて、例えば、エンジンダイナモメータ（ＥＤＭ）の計測結果を元に生成された中高負荷マップ、及びシャシダイナモメータ（ＣＤＭ）の計測結果を元に生成された低負荷マップを択一的に選択する場合を例にして、具体的に説明する。ここで、図２は、ＥＣＵ５０が有する、エンジン吸入空気推定量ＧＮ’を求める制御モデルの一例を示す図である。なお、中高負荷モデル５２１ａ（制御値・誤差取得部５２１に対応）は、エンジンダイナモメータ（ＥＤＭ）の計測結果を元に生成された中高負荷マップを有しており、低負荷モデル５２１ｂ（制御値・誤差取得部５２１に対応）は、シャシダイナモメータ（ＣＤＭ）の計測結果を元に生成された低負荷マップを有している。
【００５４】
中高負荷モデル５２１ａに、エンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰそれぞれが入力されると、中高負荷マップに基づく制御値（吸入空気推定量ＧＮ’）、及び該制御値の誤差が取得されて出力される。同様に、低負荷モデル５２１ｂに、エンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰそれぞれが入力されると、低負荷マップに基づく制御値（吸入空気推定量ＧＮ’）、及び該制御値の誤差が取得されて出力される。
【００５５】
ここで、中高負荷モデル５２１ａ及び低負荷モデル５２１ｂそれぞれによって取得された制御値の誤差は、後述する比較ブロック（マップ選択部に対応）５３１に出力される。一方、中高負荷モデル５２１ａ及び低負荷モデル５２１ｂそれぞれによって取得された制御値（吸入空気推定量ＧＮ’）は、選択ブロック（制御値確定部に対応）５４１に出力される。
【００５６】
比較ブロック５３１は、中高負荷モデル５２１ａから出力された制御値の誤差と、低負荷モデル５２１ｂから出力された制御値の誤差とを比較し、例えば、中高負荷モデル５２１ａから出力された制御値の誤差の方が小さい場合には「１」を出力する。一方、比較ブロック５３は、低負荷モデル５２１ｂから出力された制御値の誤差の方が小さい場合には「０」を出力する。
【００５７】
選択ブロック５４１には、比較ブロック５３１の比較結果（「１」又は「０」）、及び、中高負荷モデル（中高負荷マップ）５２１ａ、低負荷モデル（低負荷マップ）５２１ｂそれぞれの制御値（吸入空気推定量ＧＮ’）が入力される。選択ブロック５４１は、比較結果として「１」が入力された場合には、中高負荷モデル（中高負荷マップ）の制御値（吸入空気推定量ＧＮ’）を出力し、「０」が入力された場合には、低負荷モデル（低負荷マップ）の制御値（吸入空気推定量ＧＮ’）を出力する。
【００５８】
以上のようにして、制御上より適切な制御値（吸入空気推定量ＧＮ’）が取得される。なお、求められたエンジン吸入空気推定ＧＮ’に基づいて、例えば、スロットルバルブ１３の開度を調節することや、エンジン吸入空気推定量ＧＮ’の変化を予測して、スロットルバルブ１３や、可変バルブタイミング機構２６、ＥＧＲバルブ４２等の最適制御を行うこともできる。また、エアフローメータ１４で計測された吸入空気量ＧＮと吸入空気推定量ＧＮ’を比較する事で、空気漏れなどの異常検知を行うこともできる。
【００５９】
次に、図７を参照しつつ、制御装置１の動作について説明する。図７は、制御装置１による制御値取得処理（マップ選択処理）の処理手順を示すフローチャートである。本処理は、ＥＣＵ５０において、所定のタイミングで繰り返して実行される。なお、ここでは、例えば、図３に示されたマップを用いて、図２に示されたようにエンジン吸入空気推定量ＧＮ’（吸入空気最適制御の制御値として利用する）を求める場合を例にして説明する。
【００６０】
まず、ステップＳ１００では、エンジン１０の運転状態を示す複数のパラメータの入力値、図２の例では、エンジン回転数ＮＥ（ｒｐｍ）、スロットル開度ＴＨＲ（ｄｅｇ）、吸気バルブタイミングＶＴＲ（ｄｅｇ）、及びＥＧＲバルブ開度ＥＧＲＳＴＰそれぞれが入力される。
【００６１】
次に、ステップＳ１０２では、ステップＳ１００において入力された入力値を用いて、制御値探索（マップ検索）が実行され、中高負荷マップの制御値が取得される。続いてステップＳ１０４では、ステップＳ１０２において取得された中高負荷マップの制御値の誤差が取得される。なお、制御値の誤差の取得方法については、上述したとおりであるので、ここでは詳細な説明を省略する。
【００６２】
同様に、ステップＳ１０６では、ステップＳ１００において入力された入力値を用いて、制御値探索（マップ検索）が実行され、低負荷マップの制御値が取得される。続いて、ステップＳ１０８では、ステップＳ１０６において取得された低負荷マップの制御値の誤差が取得される。なお、誤差の取得方法については、上述したとおりであるので、ここでは詳細な説明を省略する。
【００６３】
次に、ステップＳ１１０では、ステップＳ１０４で求められた中高負荷マップの制御値の誤差と、ステップＳ１０８で求められた低負荷マップの制御値の誤差とが比較され、制御値の誤差が小さい方のマップが選択される。
【００６４】
そして、ステップＳ１１２では、ステップＳ１１０において選択されたマップから得られた制御値（吸入空気推定量ＧＮ’）が、正規の制御値として確定（採用）され、出力される。
【００６５】
以上、詳細に説明したように、本実施形態によれば、複数のマップそれぞれについて、入力値に対する制御値の誤差が取得され、その誤差に基づいて、使用されるマップが選択される。そのため、例えば、誤差が最も小さい制御値を持つマップを選択することができる。その結果、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
【００６６】
特に、本実施形態によれば、上記誤差が、統計モデルを用いてマップを記述した場合における制御値のばらつき、すなわち、マップを作成する際の測定に含まれるばらつき（測定値の分散や歪み度など）であるため、これらのばらつきを考慮して、複数のマップの中から制御上より適切なマップを選択することが可能となる。また、統計モデルを用いてマップを記述しているため、マップを生成する際のばらつき（測定値の分散や歪み度など）を適切に取り扱うことができる。
【００６７】
また、本実施形態によれば、複数のパラメータの入力値に対する制御値の誤差が取得されるため、各マップが２次元以上の多次元マップであったとしても、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することが可能となる。
【００６８】
（第２実施形態）
上述した第１実施形態では、制御値の誤差に応じて用いるマップを選択した（切替えた）が、このような方法に代えて、各マップの誤差が所定値よりも小さい場合には、当該誤差によってマップを選択し（切替え）、各マップの誤差が所定値よりも大きいときには、複数のマップそれぞれの設定領域の外郭と入力値との距離に応じてマップを選択する（切替える）構成とすることもできる。
【００６９】
そこで、次に、図８及び図９を併せて用いて第２実施形態に係る制御装置２の構成について説明する。図８は、制御装置２の構成、及び該制御装置２が適用されたエンジン１０の構成を示す図である。また、図９は、制御装置２が有する、エンジン吸入空気推定量を求める制御モデルの一例を示す図である。なお、図８、図９において上記第１実施形態と同一又は同等の構成要素については同一の符号が付されている。
【００７０】
本実施形態は、ＥＣＵ５０に代えてＥＣＵ５０Ｂが用いられている点で上述した第１実施形態と異なっている。また、ＥＣＵ５０Ｂは、距離取得部５２２をさらに有している点、及び、マップ選択部５３１、制御値確定部５４１に代えてマップ選択部５３２、制御値確定部５４２を有している点で上述した第１実施形態と異なっている。その他の構成は、上述した第１実施形態と同一または同様であるので、ここでは詳細な説明を省略する。
【００７１】
距離取得部５２２は、取得された一又は複数のパラメータの入力値（入力点）と、複数のマップそれぞれの設定領域の外郭（境界）との距離を求める。その際に、距離取得部５２２は、入力値（入力点）がマップの外郭の内側に位置しているか外側に位置しているかを判定するとともに、入力値とマップの設定領域の外郭との距離に対して、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「＋」とする符号を付加した、符号付距離を求める。すなわち、距離取得部５２２は、特許請求の範囲に記載の距離取得手段として機能する。距離取得部５２２により取得された符号付距離は、マップ選択部５３２に出力される。
【００７２】
マップ選択部５３２は、制御値・誤差取得部５２１により取得された制御値の誤差が予め設定されている所定値（閾値）未満の場合には、制御値の誤差に基づいて、複数のマップの中から使用するマップを選択する。その際に、マップ選択部５３２は、制御値の誤差がもっとも小さいマップを選択する。一方、マップ選択部５３２は、制御値の誤差が上記所定値以上の場合には、距離取得部５２２により取得された符号付距離に基づいて、複数のマップの中から使用するマップを選択する。その際に、マップ選択部５３２は、符号付距離がもっとも小さいマップを選択する。なお、マップ選択部５３２により選択されたマップは、制御値確定部５４２に出力される。
【００７３】
制御値確定部５４２は、マップ選択部５３２により選択されたマップの制御値を、エンジン１０の制御値として確定（採用）する。
【００７４】
ここで、図９に示した制御モデルを用いて、例えば、エンジンダイナモメータ（ＥＤＭ）の計測結果を元に生成された中高負荷マップ、及びシャシダイナモメータ（ＣＤＭ）の計測結果を元に生成された低負荷マップを択一的に選択する場合を例にして、具体的に説明する。ここで、図９は、ＥＣＵ５０が有する、エンジン吸入空気推定量ＧＮ’を求める制御モデルの一例を示す図である。なお、中高負荷モデル５２ａ（制御値・誤差取得部５２１、距離取得部５２２に対応）は、エンジンダイナモメータ（ＥＤＭ）の計測結果を元に生成された中高負荷マップを有しており、低負荷モデル５２ｂ（制御値・誤差取得部５２１、距離取得部５２２に対応）は、シャシダイナモメータ（ＣＤＭ）の計測結果を元に生成された低負荷マップを有している。
【００７５】
中高負荷モデル５２ａに、エンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰそれぞれが入力されると、中高負荷マップに基づく制御値（吸入空気推定量ＧＮ’）、並びに該制御値の誤差、及び、入力値と中高負荷マップの外郭との符号付距離が取得されて出力される。
【００７６】
より具体的には、中高負荷モデル５２ａに、エンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰが入力されると、中高負荷モデル５２ａでは、これらの入力値を用いて中高負荷マップを検索し、エンジン１０の制御値（吸入空気推定量ＧＮ’）を求める。そして、取得された制御値がＧＮ’ポートから出力される。また、中高負荷モデル５２ａでは、上記入力値が中高負荷マップの外郭の内側に位置しているか、外側に位置しているかが判定されるとともに、入力値と中高負荷マップ外郭との距離が求められる。そして、例えば、外側であれば「＋」、内側であれば「−」の符号が付加された距離（入力点の外郭からの符号付距離）が距離ポートから出力される。なお、制御値の誤差の算出方法については、上述したとおりであるので、ここでは詳細な説明を省略する。
【００７７】
同様に、低負荷モデル５２ｂに、エンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰそれぞれが入力されると、低負荷マップに基づく制御値（吸入空気推定量ＧＮ’）、並びに該制御値の誤差、及び、入力値と低負荷マップの外郭との符号付距離が取得されて出力される。
【００７８】
第１比較ブロック５３２ａ（マップ選択部５３２に対応）は、中高負荷モデル５２ａから出力された符号付距離と低負荷モデル５２ｂから出力された符号付距離とを比較し、例えば、中高負荷モデル５２ａから出力された符号付距離の方が小さい場合には「１」を出力する。一方、第１比較ブロック５３２ａは、低負荷モデル５２ｂから出力された符号付距離の方が小さい場合には「０」を出力する。
【００７９】
同様に、第２比較ブロック５３２ｂ（マップ選択部５３２に対応）は、中高負荷モデル５２ａから出力された誤差と低負荷モデル５２ｂから出力された誤差とを比較し、例えば、中高負荷モデル５２ａから出力された誤差の方が小さい場合には「１」を出力する。一方、第２比較ブロック５３２ｂは、低負荷モデル５２ｂから出力された誤差の方が小さい場合には「０」を出力する。
【００８０】
第１選択ブロック５４２ａ（制御値確定部５４２に対応）には、比較ブロック５３２ａの比較結果（「１」又は「０」）、及び、中高負荷モデル（中高負荷マップ）５２ａ、低負荷モデル（低負荷マップ）５２ｂそれぞれの制御値（吸入空気推定量ＧＮ’）が入力される。第１選択ブロック５４２ａは、比較結果として「１」が入力された場合には、中高負荷モデル（中高負荷マップ）の制御値（吸入空気推定量ＧＮ’）を出力し、「０」が入力された場合には、低負荷モデル（低負荷マップ）の制御値（吸入空気推定量ＧＮ’）を第３選択ブロック５４２ｃに出力する。
【００８１】
同様に、第２選択ブロック５４２ｂ（制御値確定部５４２に対応）には、比較ブロック５３２ｂの比較結果（「１」又は「０」）、及び、中高負荷モデル（中高負荷マップ）５２ａ、低負荷モデル（低負荷マップ）５２ｂそれぞれの制御値（吸入空気推定量ＧＮ’）が入力される。第２選択ブロック５４２ｂは、比較結果として「１」が入力された場合には、中高負荷モデル（中高負荷マップ）の制御値（吸入空気推定量ＧＮ’）を出力し、「０」が入力された場合には、低負荷モデル（低負荷マップ）の制御値（吸入空気推定量ＧＮ’）を第３選択ブロック５４２ｃに出力する。
【００８２】
第３比較ブロック５３２ｃは、誤差が予め設定された所定値（閾値）よりも小さい場合には「１」を第３選択ブロック５４２ｃに出力する。一方、第３比較ブロック５３２ｃは、誤差が上記所定値以上のときには「０」を第３選択ブロック５４２ｃに出力する。
【００８３】
第３選択ブロック５４２ｃには、第３比較ブロック５３２の比較結果（「１」又は「０」）、及び、第１選択ブロック５４２ａ、第２選択ブロック５４２ｂそれぞれからの制御値（吸入空気推定量ＧＮ’）が入力される。第３選択ブロック５４２ｃは、比較結果として「０」が入力された場合には、第１選択ブロック５４２ａの制御値（吸入空気推定量ＧＮ’）を出力し、「１」が入力された場合には、第２選択ブロック５４２ｂの制御値（吸入空気推定量ＧＮ’）を出力する。
【００８４】
以上のようにして、制御上より適切な制御値（吸入空気推定量ＧＮ’）が取得される。なお、求められたエンジン吸入空気推定ＧＮ’に基づいて、例えば、スロットルバルブ１３の開度を調節することや、エンジン吸入空気推定量ＧＮ’の変化を予測して、スロットルバルブ１３や、可変バルブタイミング機構２６、ＥＧＲバルブ４２等の最適制御を行うこともできる。また、エアフローメータ１４で計測された吸入空気量ＧＮと吸入空気推定量ＧＮ’を比較する事で、空気漏れなどの異常検知を行うこともできる。
【００８５】
次に、図１０を参照しつつ、制御装置２の動作について説明する。図１０は、制御装置２による制御値取得処理（マップ選択処理）の処理手順を示すフローチャートである。本処理は、ＥＣＵ５０Ｂにおいて、所定のタイミングで繰り返して実行される。なお、ここでは、例えば、図３に示されたマップを用いて、図９に示されたようにエンジン吸入空気推定量ＧＮ’（吸入空気最適制御の制御値として利用する）を求める場合を例にして説明する。
【００８６】
まず、ステップＳ２００では、エンジン１０の運転状態を示す複数のパラメータの入力値、図９の例では、エンジン回転数ＮＥ（ｒｐｍ）、スロットル開度ＴＨＲ（ｄｅｇ）、吸気バルブタイミングＶＴＲ（ｄｅｇ）、及びＥＧＲバルブ開度ＥＧＲＳＴＰそれぞれが入力される。
【００８７】
次に、ステップＳ２０２では、ステップＳ２００において入力された入力値を用いて、制御値探索（マップ検索）が実行され、中高負荷マップの制御値が取得される。続いてステップＳ２０４では、ステップＳ２０２において取得された中高負荷マップの制御値の誤差が取得される。なお、誤差の取得方法は上述したとおりであるので、ここでは詳細な説明を省略する。
【００８８】
同様に、ステップＳ２０６では、ステップＳ２００において入力された入力値を用いて、制御値探索（マップ検索）が実行され、低負荷マップの制御値が取得される。続いて、ステップＳ２０８では、ステップＳ２０６において取得された低負荷マップの制御値の誤差が取得される。なお、誤差の取得方法は上述したとおりであるので、ここでは詳細な説明を省略する。
【００８９】
次に、ステップＳ２１０では、ステップＳ２００において入力されたエンジン回転数ＮＥ、スロットル開度ＴＨＲ、吸気バルブタイミングＶＴＲ、及びＥＧＲバルブ開度ＥＧＲＳＴＰの入力値（入力点）が、中高負荷マップの設定領域（計測領域）の外郭の内側に位置しているか、外側に位置しているかが判定されるとともに、入力値と中高負荷マップの設定領域の外郭との距離に対して、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「＋」とする符号が付加された、符号付距離が求められる。
【００９０】
ステップＳ２１２では、上記ステップＳ２１０と同様にして、入力値と低負荷マップの設定領域の外郭との距離に対して、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「＋」とする符号を付加した、符号付距離が求められる。
【００９１】
次に、ステップＳ２１４では、ステップＳ２０４で取得された中高負荷マップの制御値の誤差、及びステップＳ２０８で取得された低負荷マップの制御値の誤差が所定値（閾値）未満であるか否かについての判断が行われる。ここで、双方又はいずれか一方の誤差が所定値未満である場合には、ステップＳ２１６に処理が移行する。一方、双方（すべて）の制御値の誤差が所定値以上であるときには、ステップＳ２１８に処理が移行する。
【００９２】
誤差が所定値未満の場合、ステップＳ２１６では、該誤差に基づいて使用するマップが選択される。すなわち、ステップＳ２０４で求められた中高負荷マップの制御値の誤差と、ステップＳ２０８で求められた低負荷マップの制御値の誤差とが比較され、制御値の誤差が小さい方のマップが選択される。
【００９３】
一方、誤差が所定値以上の場合、ステップＳ２１８では、符号付距離に基づいて使用するマップが選択される。すなわち、ステップＳ２１０で求められた中高負荷マップの外郭からの符号付距離と、ステップＳ２１２で求められた低負荷マップの外郭からの符号付距離とが比較され、符号付距離が小さい方のマップが選択される。
【００９４】
そして、ステップＳ２２０において、選択されたマップから得られた制御値（吸入空気推定量ＧＮ’）が出力される。
【００９５】
本実施形態によれば、マップから得られる制御値の誤差が所定値未満の場合には、該誤差に基づいて使用するマップが選択され、制御値の誤差が所定値以上の場合には、符号付距離に基づいて使用するマップが選択される。そのため、少なくとも一つの誤差が所定値未満の場合には、例えば、誤差が最も小さい制御値を持つマップを選択することができる。一方、すべての誤差が所定値以上のときには、例えば、符号付距離が最も小さいマップを選択することができる。ここで、例えば、入力値がマップの外殻の内側にあるが近傍に計測点がなく誤差が大きい場合があり得る一方、入力値がマップの外殻の外側にあるが近傍に計測点があり誤差が小さい場合があり得る。このような場合には、後者のマップが選択される。また、例えば、入力値がマップの外殻の外側にありかつ近傍に計測点がなく誤差が大きい場合には、符号付距離に応じてマップが選択される。その結果、マップが複数のマップに分割されている場合に、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップ（最適なマップ）を選択することが可能となる。
【００９６】
また、その際に、本実施形態によれば、入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「−」、該設定領域の外郭の外側を「＋」とする符号が付加された、符号付距離が求められ、この符号付距離がもっとも小さいマップが選択される。そのため、制御値の誤差が大きい場合には、入力値と各マップの設定領域の外郭との距離（符号付距離）を求めるだけで、複数のマップの中からより適切なマップを選択することができる。なお、上記に代え、入力値とマップの設定領域の外郭との距離に、該設定領域の外郭の内側を「＋」、該設定領域の外郭の外側を「−」とする符号を付加した符号付距離を求め、この符号付距離がもっとも大きいマップを選択するようにしてもよい。
【００９７】
特に、本実施形態によれば、各マップが２次元以上の多次元マップであったとしても、複雑な条件分岐処理等を要することなく、複数のマップの中から制御上より適切なマップを選択することができる。
【００９８】
また、本実施形態によれば、マップの設定領域の外郭（計測領域の境界）が統計モデル化されているため、各マップの外郭が非線形な形状であったとしても、該外郭を適切に画定することができる。よって、入力値と各マップの設定領域の外郭（境界）との距離を正確に求めることができるため、入力値に最も近いマップを的確に抽出（選択）することができる。
【００９９】
以上、本発明の実施の形態について説明したが、本発明は、上記実施形態に限定されるものではなく種々の変形が可能である。例えば、上記実施形態では、本発明をガソリンエンジンの制御装置に適用した場合を例にして説明したが、本発明は、例えば、ディーゼルエンジン、自動変速機、電動モータ（ハイブリッド車、電気自動車）、燃料電池等のパワーユニットの制御装置にも適用することができる。
【０１００】
また、上記実施形態では、出力される制御値が１つ（エンジン吸入空気推定量ＧＮ’）であったが、２つ以上の制御値を出力する構成としてもよい。
【符号の説明】
【０１０１】
１，２  制御装置
１０  エンジン
１２  インジェクタ
１３  電子制御式スロットルバルブ
１４  エアフローメータ
１７  点火プラグ
２６，２７  可変バルブタイミング機構
３１  スロットル開度センサ
３２  カム角センサ
３３  クランク角センサ
４０  排気ガス再循環装置
４２  ＥＧＲバルブ
５０，５０Ｂ  ＥＣＵ
５１  記憶部
５２１  制御値・誤差取得部
５２２  距離取得部
５２２ａ  最近傍点取得部
５２２ｂ  入力値選択部
５２２ｃ  制御値探索部
５３１，５３２  マップ選択部
５４１，５４２  制御値確定部
【図１】
0006603158.tif 000002
【図２】
0006603158.tif 000003
【図３】
0006603158.tif 000004
【図４】
0006603158.tif 000005
【図５】
0006603158.tif 000006
【図６】
0006603158.tif 000007
【図７】
0006603158.tif 000008
【図８】
0006603158.tif 000009
【図９】
0006603158.tif 000010
【図１０】
0006603158.tif 000011