(57)【要約】【課題】制御対象の特性に依拠せず制御マップの最適化を行うことが可能な汎用的な制御マップ最適化装置を提供する。【解決手段】制御マップ最適化装置１は、入力された引数ｘ、ｙに対応する格子点（ｘi，ｙj）に設定された制御パラメータＰi,jまたは引数ｘ、ｙに対応するマップ位置（ｘE，ｙE）の近傍の格子点に設定された制御パラメータＰi,jから補間により算出した制御パラメータＰEを出力する制御マップＭと、制御パラメータが取るべき値に関する情報Ｑと出力された制御パラメータＰEとに基づいて制御マップＭの制御パラメータＰi,jの最適化を行う最適化手段３とを備え、最適化手段３は、最急降下法により情報Ｑと制御パラメータＰEとから作成された単峰性関数の誤差関数Errorに基づいて制御マップＭにおけるマップ位置（ｘE，ｙE）の近傍の格子点に設定された制御パラメータＰi,jの値を更新し、この更新処理を繰り返す。【選択図】図１
2008146290.tif 000002
【特許請求の範囲】
【請求項１】
入力された引数に対して、対応する格子点に設定された制御パラメータ、または前記引数に対応する格子点がない場合には前記引数に対応するマップ位置の近傍の格子点に設定された制御パラメータから補間により算出した制御パラメータを出力する制御マップと、
制御パラメータが取るべき値に関する情報と前記制御マップから出力された制御パラメータとに基づいて前記制御マップの格子点に設定される制御パラメータの値の最適化を行う最適化手段とを備え、
前記最適化手段は、前記情報と前記出力された制御パラメータとに基づいて単峰性関数である誤差関数を作成し、最急降下法により前記誤差関数に基づいて前記制御マップにおける前記引数に対応するマップ位置の近傍の格子点に設定された制御パラメータの値を更新し、この更新処理を繰り返すことを特徴とする制御マップ最適化装置。
【請求項２】
前記単峰性関数である誤差関数は、前記情報に基づいて決定される数値と前記制御マップから出力された制御パラメータとの二次関数であることを特徴とする請求項１に記載の制御マップ最適化装置。
【請求項３】
前記最適化手段は、前記情報を表す数値と前記制御マップから出力された制御パラメータとの差に応じて前記制御マップの格子点に設定された制御パラメータの値を更新することを特徴とする請求項１または請求項２に記載の制御マップ最適化装置。
【請求項４】
前記最適化手段は、前記制御マップの格子点に設定された制御パラメータの更新量が前記情報を表す数値と前記制御マップから出力された制御パラメータとの差に比例する量となるように前記制御マップの格子点に設定された制御パラメータの値を更新することを特徴とする請求項３に記載の制御マップ最適化装置。
【請求項５】
前記情報は、前記制御マップから出力された制御パラメータに従って行われた試行の結果に基づいて決定される数値であることを特徴とする請求項１から請求項４のいずれか一項に記載の制御マップ最適化装置。
【請求項６】
前記情報は、前記制御マップにおける前記引数に対応するマップ位置の近傍の格子点に設定された制御パラメータを増加させるべきという指標または減少させるべきという指標であり、
前記最適化手段は、前記指標に基づいて所定の数値を決定して前記誤差関数を作成することを特徴とする請求項１から請求項４のいずれか一項に記載の制御マップ最適化装置。
【請求項７】
前記最適化手段は、前記制御マップに入力される前記引数の個数をｎとした場合、前記制御マップにおける前記引数に対応するマップ位置の近傍の格子点である前記引数の周囲の２ｎ個の格子点に設定された制御パラメータを更新することを特徴とする請求項１から請求項６のいずれか一項に記載の制御マップ最適化装置。
【請求項８】
前記最適化手段は、前記更新処理を、前記制御パラメータの値を更新するごとに行う代わりに、制御動作中は前記制御パラメータの値を更新せずに前記制御パラメータの値の更新量を蓄積して制御動作終了後に一括して前記制御パラメータの値を更新することを特徴とする請求項１から請求項７のいずれか一項に記載の制御マップ最適化装置。
【請求項９】
前記最適化手段は、前記更新処理を、前記繰り返しの初期においては、前記制御パラメータの値を更新するごとに行い、前記繰り返しの後期においては、制御動作中は前記制御パラメータの値を更新せずに前記制御パラメータの値の更新量を蓄積して制御動作終了後に一括して前記制御パラメータの値を更新することを特徴とする請求項１から請求項７のいずれか一項に記載の制御マップ最適化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御マップ最適化装置に係り、特に、制御対象の制御に係る制御マップの最適化を行う制御マップ最適化装置に関する。
【背景技術】
【０００２】
制御対象の制御に用いられる制御パラメータは個々に決定される場合も多いが、単数または複数の引数を入力とする制御マップにより算出される場合もある。そして、制御マップを最適化することによりそれに基づいて制御パラメータの最適値を自動的に決定することが可能となる。
【０００３】
従来、制御マップの最適化は、実験やシミュレーション等を通じて開発者や作業者が経験や勘を頼りに手動でチューニングしながら行われるのが一般的であった。しかし、手動によるチューニングでは、必ずしも最適な制御マップが得られる保証はなく、また、チューニングを行うための工数が膨大となり時間や手間がかかるという問題もあった。
【０００４】
このような問題を解消するための装置や方法として、例えば車両のエンジン制御について、エンジンの最大トルクを引き出すことができる点火時期がノッキングの発生する点火時期の近傍にあることから、エンジンの燃焼室内の燃焼に伴って変化する燃焼物理量から熱発生率の変化状況を演算し、この熱発生率の変化状況に基づいてノッキング寸前の状態を検知し、その際の運転条件を燃焼制御マップのパラメータとして用いる燃焼制御マップの作成方法が開示されている（特許文献１参照）。
【０００５】
また、エンジンを一定回転数に保持している場合に、同じスロットル開度でも、スロットルバルブを開方向に操作する場合と閉方向に操作する場合とで出力されるトルクが異なることから、異なるエンジン回転数で開方向および閉方向のトルク曲線をそれぞれ求め、各トルク曲線に基づいて制御マップを作成する方法が提案されている（特許文献２参照）。
【特許文献１】特開平２−２２１６６２号公報
【特許文献２】特開２０００−３２１１７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、これらの制御マップの作成装置や作成方法は、それぞれエンジンの燃焼状況やスロットルバルブ等の制御対象の特性に依拠した装置や方法であり、他の制御対象にも応用可能とは言えず、必ずしも汎用的な手法とは言えない。
【０００７】
本発明は、前記事情に鑑みてなされたものであり、制御対象の特性に依拠せず制御マップの最適化を行うことが可能な汎用的な制御マップ最適化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記の問題を解決するために、第１の発明は、
制御マップ最適化装置は、
入力された引数に対して、対応する格子点に設定された制御パラメータ、または前記引数に対応する格子点がない場合には前記引数に対応するマップ位置の近傍の格子点に設定された制御パラメータから補間により算出した制御パラメータを出力する制御マップと、
制御パラメータが取るべき値に関する情報と前記制御マップから出力された制御パラメータとに基づいて前記制御マップの格子点に設定される制御パラメータの値の最適化を行う最適化手段とを備え、
前記最適化手段は、前記情報と前記出力された制御パラメータとに基づいて単峰性関数である誤差関数を作成し、最急降下法により前記誤差関数に基づいて前記制御マップにおける前記引数に対応するマップ位置の近傍の格子点に設定された制御パラメータの値を更新し、この更新処理を繰り返すことを特徴とする。
【０００９】
第２の発明は、第１の発明の制御マップ最適化装置において、前記単峰性関数である誤差関数は、前記情報に基づいて決定される数値と前記制御マップから出力された制御パラメータとの二次関数であることを特徴とする。
【００１０】
第３の発明は、第１または第２の発明の制御マップ最適化装置において、前記最適化手段は、前記情報を表す数値と前記制御マップから出力された制御パラメータとの差に応じて前記制御マップの格子点に設定された制御パラメータの値を更新することを特徴とする。
【００１１】
第４の発明は、第３の発明の制御マップ最適化装置において、前記最適化手段は、前記制御マップの格子点に設定された制御パラメータの更新量が前記情報を表す数値と前記制御マップから出力された制御パラメータとの差に比例する量となるように前記制御マップの格子点に設定された制御パラメータの値を更新することを特徴とする。
【００１２】
第５の発明は、第１から第４のいずれかの発明の制御マップ最適化装置において、前記情報は、前記制御マップから出力された制御パラメータに従って行われた試行の結果に基づいて決定される数値であることを特徴とする。
【００１３】
第６の発明は、第１から第４のいずれかの発明の制御マップ最適化装置において、前記情報は、前記制御マップにおける前記引数に対応するマップ位置の近傍の格子点に設定された制御パラメータを増加させるべきという指標または減少させるべきという指標であり、前記最適化手段は、前記指標に基づいて所定の数値を決定して前記誤差関数を作成することを特徴とする。
【００１４】
第７の発明は、第１から第６のいずれかの発明の制御マップ最適化装置において、前記最適化手段は、前記制御マップに入力される前記引数の個数をｎとした場合、前記制御マップにおける前記引数に対応するマップ位置の近傍の格子点である前記引数の周囲の２ｎ個の格子点に設定された制御パラメータを更新することを特徴とする。
【００１５】
第８の発明は、第１から第７のいずれかの発明の制御マップ最適化装置において、前記最適化手段は、前記更新処理を、前記制御パラメータの値を更新するごとに行う代わりに、制御動作中は前記制御パラメータの値を更新せずに前記制御パラメータの値の更新量を蓄積して制御動作終了後に一括して前記制御パラメータの値を更新することを特徴とする。
【００１６】
第９の発明は、第１から第７のいずれかの発明の制御マップ最適化装置において、前記最適化手段は、前記更新処理を、前記繰り返しの初期においては、前記制御パラメータの値を更新するごとに行い、前記繰り返しの後期においては、制御動作中は前記制御パラメータの値を更新せずに前記制御パラメータの値の更新量を蓄積して制御動作終了後に一括して前記制御パラメータの値を更新することを特徴とする。
【発明の効果】
【００１７】
第１の発明によれば、最適化手段で、制御パラメータが取るべき値に関する情報と制御マップから実際に出力された制御パラメータとに基づいて単峰性関数である誤差関数を作成し、最急降下法により誤差関数に基づいて制御マップにおける引数に対応するマップ位置の近傍の格子点に設定された制御パラメータの値を順次更新し、この更新処理を繰り返すことで制御マップを最適化する。
【００１８】
このように、誤差関数を単峰性関数とし、それに対して最急降下法を適用することで、局所解に陥ることなく最適解を的確に算出することが可能となり、制御マップの最適化を的確に行うことが可能となるとともに、この手法であれば、いかなる制御対象の制御内容に対してもそれを的確に制御する制御マップを獲得することが可能となり、制御マップ最適化装置を、制御対象の特性に依拠せずに制御マップの最適化を行うことが可能な汎用的な装置とすることが可能となる。
【００１９】
第２の発明によれば、前記第１の発明の効果に加え、誤差関数として用いる単峰性関数を二次関数とすることで、誤差関数を非常に簡単に構成することが可能となるとともに、誤差関数の演算を容易に行うことが可能となり、処理速度の向上を図ることが可能となる。
【００２０】
第３の発明によれば、前記各発明の効果に加え、前記制御マップの格子点に設定された制御パラメータの値の更新を、制御パラメータが取るべき値に関する情報を表す数値と制御マップから出力された制御パラメータとの差に応じて行うことで、制御パラメータの更新量の演算が容易となるとともに、差の正負により制御パラメータの増減の方向性を最適化手段に確実に認識させることが可能となり、制御マップの最適化をより的確に行うことが可能となる。
【００２１】
第４の発明によれば、第３の発明において、制御パラメータの値の更新を、制御パラメータが取るべき値に関する情報を表す数値と制御マップから出力された制御パラメータとの差に比例して行うことで、前記第３の発明の効果がより的確に発揮される。
【００２２】
第５の発明によれば、前記各発明の効果に加え、制御パラメータが取るべき値に関する情報を、制御マップから出力された制御パラメータに従って行われた試行の結果に基づいて決定される数値とすることで、試行の結果が確実に制御パラメータの最適化にフィードバックされ、制御マップの最適化をより的確に行うことが可能となる。
【００２３】
第６の発明によれば、前記各発明の効果に加え、制御パラメータが取るべき値に関する情報を制御マップの制御パラメータを増加または減少させるべきという指標とすることで、最適化手段に制御パラメータの増減を的確に指示するだけで制御パラメータが確実に増減されるため、前記情報を表す数値を精緻に決定する必要がなくなり、制御マップの最適化をより容易に行うことが可能となり、制御マップ最適化装置の構成をより簡単にすることが可能となる。
【００２４】
第７の発明によれば、前記各発明の効果に加え、制御マップに入力されるｎ次元の引数に対応するマップ位置の周囲の２ｎ個の格子点に設定された制御パラメータを更新するため、マップ位置周囲の格子点に設定されたパラメータを確実に更新できるとともに、１回の更新処理でマップ位置周囲の格子点に設定された制御パラメータのみを更新するため、更新処理にかかる時間を短縮し、装置全体の処理時間の短縮を図ることが可能となる。
【００２５】
第８の発明によれば、制御マップ最適化手段における更新処理を、制御パラメータの値を更新するごとに逐次行うように構成することも可能であり、制御動作中は前記制御パラメータの値を更新せずに制御パラメータの値の更新量を蓄積して制御動作終了後に一括して制御パラメータの値を更新するように構成することも可能である。
【００２６】
前記各発明の効果に加え、制御パラメータの値を逐次更新する場合には最適化における最適解への収束性をより向上させることが可能となり、制御パラメータの値を一括して更新する場合には引数等にいわゆるノイズが含まれる場合にもそのノイズによる影響を受け難くなり制御マップ最適化装置における最適化の対ノイズ性を向上させることが可能となる。
【００２７】
第９の発明によれば、更新処理の繰り返しの初期段階においては制御パラメータの値を逐次更新し、繰り返しの後期段階においては一連の制御動作終了後に一括して更新するように構成することで、前記各発明の効果に加え、繰り返しの初期における逐次更新で最適化における最適解への収束性を高めつつ、繰り返しの後期における一括更新で最適化の対ノイズ性を向上させることが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明に係る制御マップ最適化装置の実施の形態について、図面を参照して説明する。
【００２９】
［第１の実施の形態］
図１は、本発明の第１の実施形態に係る制御マップ最適化装置の構成を説明するブロック図である。制御マップ最適化装置１は、図示しないＣＰＵやＲＯＭ、ＲＡＭ、入出力インターフェース等がバスに接続された汎用コンピュータで構成されている。制御マップ最適化装置１は、最適化が行われる制御マップＭが記憶されるメモリ２と、制御マップＭの最適化を行う最適化手段３とを備えている。
【００３０】
制御マップは、通常、制御対象Ｓ側の図示しない制御コンピュータのメモリ等に記憶されている。図１の制御マップ最適化装置１では、制御対象Ｓの制御マップと同一の制御マップＭをメモリ２に記憶し、その制御マップＭを最適化した後に制御対象Ｓの制御コンピュータのメモリ等に記憶されている制御マップに上書きして移行させる場合が想定されているが、制御対象Ｓの制御コンピュータのメモリ等に記憶されている制御マップ自体を最適化の対象としてもよい。
【００３１】
制御マップには、単数または複数の引数が入力され、単数または複数の制御パラメータが出力される。本実施形態では、制御マップＭが２個の引数ｘ、ｙを入力して１個の制御パラメータＰEを出力するいわゆる３次元の制御マップである場合について説明する。なお、引数の個数や出力される制御パラメータの個数、制御マップの次元数はこれに限定されない。
【００３２】
本実施形態では、上記のように引数が２個であるから、例えば引数ｘを縦軸にとり、引数ｙを横軸にとると、制御マップＭは図２に示すように平面状に表される。また、制御マップＭ上の引数ｘ、ｙがそれぞれ離散的な特定値ｘi、ｙjをとる位置にはそれぞれ１つの制御パラメータがそれぞれ設定されている。
【００３３】
以下、制御マップＭ上のこれらの位置を格子点といい、格子点（ｘi，ｙj）のように表す。なお、図２および後述する図３では、引数ｘ、ｙの特定値ｘi、ｙjがそれぞれ等間隔に設定され、格子点（ｘi，ｙj）が碁盤状に並ぶ場合が示されているが、引数の特定値の設定すなわち格子点の設定のしかたはこれに限定されない。
【００３４】
制御マップＭを、各格子点（ｘi，ｙj）に設定された制御パラメータＰi,jを含めて表現すると、図３に示すように３次元的に表すことができる。
【００３５】
制御マップＭは、引数が入力されると、入力された引数ｘ、ｙに対応する格子点（ｘE，ｙE）がマップ上に存在する場合には、対応する格子点（ｘE，ｙE）に設定された制御パラメータＰEを出力する。
【００３６】
また、制御マップＭは、入力された引数ｘE、ｙEに対応する格子点がマップ上に存在しない場合には、図４に示すように引数ｘ、ｙに対応するマップ位置（ｘE，ｙE）の周囲の４つの格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された各制御パラメータＰA、ＰB、ＰC、ＰDから線形補間により制御パラメータＰEを算出して出力するようになっている。
【００３７】
なお、本実施形態では引数の個数が２であるため、入力された引数に対応する格子点がマップ上に存在しない場合には引数に対応するマップ位置の周囲の４つ（＝２２個）の格子点に設定された各制御パラメータから線形補間により制御パラメータＰEを算出するが、引数の個数がｎの場合には、引数に対応するマップ位置の周囲の２ｎ個の格子点に設定された各制御パラメータから線形補間により制御パラメータが算出される。
【００３８】
最適化手段３には、図１に示すように、制御マップＭから出力された制御パラメータＰEとともに、制御パラメータが取るべき値に関する情報Ｑが入力されるようになっている。
【００３９】
最適化手段３は、出力された制御パラメータＰEと情報Ｑが入力されると、それらに基づいて単峰性関数である誤差関数を作成し、最急降下法により前記誤差関数に基づいて前記制御マップＭにおける引数ｘ、ｙに対応するマップ位置（ｘE，ｙE）の近傍の格子点に設定される制御パラメータの値を更新する。そして、この更新処理を繰り返すことで制御マップＭの各格子点の制御パラメータを最適化するようになっている。
【００４０】
制御パラメータが取るべき値に関する情報Ｑは、種々の形態とすることが可能であるが、本実施形態では、引数が制御マップＭに入力された際に制御マップＭから出力される制御パラメータＰEがとるべき理想値が情報Ｑとして入力されるようになっている。
【００４１】
また、本実施形態では、最適化手段３は、制御マップＭの制御パラメータの更新処理を引数ｘ、ｙが入力されるごとに行うようになっており、また、一連の制御動作が終了しても制御マップＭが最適化されていなければ制御動作およびその間の制御パラメータの更新を繰り返して制御マップＭを最適化するようになっている。なお、制御対象Ｓの実際の制御は必ずしも行われる必要はなく、制御マップ最適化装置１の内部でのシミュレーションだけで制御マップＭの最適化を行うように構成することも可能である。
【００４２】
以下、図５に示す更新処理のフローチャートに基づいて、具体的に最適化手段３における制御パラメータの更新処理について説明する。
【００４３】
まず、制御マップ最適化装置１に引数ｘ、ｙが入力されると、メモリ２中の制御マップＭが参照され、前記の算出法に従って制御パラメータＰEが算出されて制御マップＭから出力されるようになっている（ステップＳ１）。本実施形態では、出力された制御パラメータＰEは制御対象Ｓに入力され、制御パラメータＰEに従って制御が行われる。
【００４４】
また、制御マップＭから出力された制御パラメータＰEは、同時に最適化手段３に送信される。最適化手段３では、制御マップＭから送信されてきた制御パラメータＰEと、前述した制御パラメータが取るべき値に関する情報Ｑすなわち本実施形態では制御マップＭから出力されるべき制御パラメータＰEの理想値Ｑに基づいて、制御マップＭの各格子点に設定された制御パラメータの更新量を算出するようになっている（ステップＳ２）。
【００４５】
最適化手段３は、制御マップＭに入力される引数の個数をｎとした場合に制御マップＭにおける引数に対応するマップ位置の近傍の格子点である引数の周囲の２ｎ個の格子点に設定された制御パラメータを更新するようになっており、本実施形態では、引数の個数ｎが２であることから、図４に示したように、入力された引数ｘ、ｙに対応するマップ位置（ｘE，ｙE）の周囲の４つの格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された各制御パラメータＰA、ＰB、ＰC、ＰDが更新されるようになっている。
【００４６】
最適化手段３は、制御パラメータの更新量算出においては、まず、情報Ｑとしての制御パラメータＰEの理想値Ｑと制御マップＭから出力された制御パラメータＰEとに基づいて単峰性関数である誤差関数Errorを作成する。本実施形態では、単峰性関数として二次関数を用い、誤差関数Errorを下記（１）式のように作成するようになっている。
Error＝（Ｑ−ＰE）２／２    …（１）
【００４７】
ここで、誤差関数を単峰性関数とする理由は、誤差関数を多数の極大値や極小値をとる多峰性関数として最急降下法を適用すると必ずしも最適解ではない局所解に収束してしまう可能性が残るが、誤差関数を単峰性関数とすればこのような問題が生じないからである。
【００４８】
続いて、最適化手段３は、前記（１）式で表される誤差関数に最急降下法を適用して、図６に示すように、各格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された各制御パラメータＰA、ＰB、ＰC、ＰDの更新量ΔＰA、ΔＰB、ΔＰC、ΔＰDを下記（２）〜（５）式に従って算出するようになっている。
【００４９】
【数１】
2008146290.tif 000003
【００５０】
前記（２）〜（５）式に示されるように、本実施形態では、最適化手段３は、前記情報Ｑを表す数値である制御パラメータＰEの理想値Ｑと制御マップＭから出力された制御パラメータＰEとの差に応じて制御マップＭの格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された制御パラメータの値ＰA、ＰB、ＰC、ＰDが更新され、特に、更新量ΔＰA、ΔＰB、ΔＰC、ΔＰDが理想値Ｑと制御パラメータＰEとの差に比例する量となるように更新される。
【００５１】
最適化手段３は、続いて、算出した更新量ΔＰA、ΔＰB、ΔＰC、ΔＰDを用いて、メモリ２に記憶された制御マップＭの各格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された制御パラメータの値ＰA、ＰB、ＰC、ＰDを、それぞれＰA＋ΔＰA、ＰB＋ΔＰB、ＰC＋ΔＰC、ＰD＋ΔＰDに更新し、それらの値を新たに制御パラメータの値ＰA、ＰB、ＰC、ＰDとして上書き保存して設定するようになっている。
【００５２】
続いて、本実施形態では、最適化手段３は、制御対象Ｓからの情報に基づき一連の制御動作が終了したか否かを判断し（図５のステップＳ４）、制御動作が終了していなければ（ステップＳ４：ＮＯ）、その制御動作中に前記制御マップＭの制御パラメータの更新処理を繰り返す（ステップＳ１〜Ｓ３）。
【００５３】
また、最適化手段３は、一連の制御動作が終了したと判断すると（ステップＳ４：ＹＥＳ）、終了条件を満たすか否かを判断するようになっている（ステップＳ５）。
【００５４】
終了条件は、制御マップＭに求められる各制御パラメータの精度や最適化に要する時間等の観点から適宜決定される。例えば、
１）制御マップＭの各格子点（ｘi，ｙj）に設定された制御パラメータＰi,jの更新量ΔＰi,jの絶対値が予め設定された所定の閾値を超えることがなくなった
２）制御マップＭに基づく制御対象Ｓの制御の結果と理想的な制御の結果との誤差が所定の範囲以内となった
３）制御マップＭの制御パラメータＰi,jの更新回数が予め設定された回数に達した
４）制御マップＭの制御パラメータＰi,jの更新に要した時間が予め設定された時間に達した
等の終了条件が設定され得る。
【００５５】
最適化手段３は、終了条件が満たされていないと判断すると（ステップＳ５：ＮＯ）、新たな一連の制御動作を要求し、前記終了条件が満たされるまで制御マップＭの制御パラメータの更新処理を繰り返す（ステップＳ１〜Ｓ４）。
【００５６】
また、最適化手段３は、終了条件が満たされたと判断すると（ステップＳ５：ＹＥＳ）、制御パラメータＰi,jの値が更新され最適化された制御マップＭを出力し、制御対象Ｓの制御コンピュータのメモリ等に記憶されている制御マップに上書きして移行させるようになっている。
【００５７】
本実施形態に係る制御マップ最適化装置１の作用については、前記構成で述べたとおりであり、説明を省略する。
【００５８】
以上のように、本実施形態に係る制御マップ最適化装置１によれば、最適化手段３で、制御パラメータが取るべき値に関する情報Ｑ（本実施形態においては制御パラメータＰEがとるべき理想値Ｑ）と、制御マップＭから実際に出力された制御パラメータＰEとに基づいて単峰性関数である誤差関数Errorを作成し、最急降下法により誤差関数Errorに基づいて制御マップＭにおける引数ｘ、ｙに対応するマップ位置（ｘE，ｙE）の近傍の格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された制御パラメータの値ＰA、ＰB、ＰC、ＰDを順次更新し、この更新処理を繰り返すことで制御マップＭを最適化する。
【００５９】
このように、誤差関数を単峰性関数とし、それに対して最急降下法を適用することで、局所解に陥ることなく最適解を的確に算出することが可能となり、制御マップＭの最適化を的確に行うことが可能となるとともに、この手法であれば、いかなる制御対象Ｓの制御内容に対してもそれを的確に制御する制御マップＭを獲得することが可能となり、制御マップ最適化装置１を、制御対象Ｓの特性に依拠せずに制御マップＭの最適化を行うことが可能な汎用的な装置とすることが可能となる。
【００６０】
なお、本実施形態では、制御パラメータが取るべき値に関する情報Ｑを、引数が制御マップＭに入力された際に制御マップＭから出力される制御パラメータＰEがとるべき理想値Ｑとする場合について説明したが、これに限定されない。前記情報Ｑは、例えば、制御マップＭにおける引数に対応するマップ位置の近傍の格子点に設定された制御パラメータを増加させるべき、或いは減少させるべきという指標であってもよい。
【００６１】
具体的には、引数ｘ、ｙが制御マップＭに入力され制御パラメータＰEが出力された場合、最適化手段３に対して、前記情報Ｑとして、例えば制御パラメータＰEをより増減させるべきと判断される場合には指標「＋」または「−」が入力されるように構成し、最適化手段３では、前記指標に基づいて例えば所定値を制御パラメータＰEに加算または減算して前記（１）〜（５）式における理想値Ｑとするように構成することが可能である。指標「＋」、「−」に応じて制御パラメータＰEを所定倍するように構成してもよい。
【００６２】
このように構成しても、制御マップＭの制御パラメータＰi,jを適切に最適化することが可能であり、本実施形態に係る制御マップ最適化装置１と同様の効果を得ることができる。
【００６３】
また、本実施形態では、最適化手段３において、制御マップＭの制御パラメータＰi,jの更新処理を引数ｘ、ｙが入力されるごとに逐次行う場合について説明したが、この他にも、例えば一連の制御動作中は制御パラメータの値Ｐi,jを更新せずに制御パラメータの値の更新量ΔＰi,jを蓄積しておき、制御動作終了後に一括して制御パラメータの値Ｐi,jを更新するように構成することも可能である。
【００６４】
この場合、更新処理のフローは図７に示すフローチャートに従って行われる。具体的には、前記実施形態と同様に、引数ｘ、ｙの入力に応じて制御マップＭから制御パラメータＰEが出力され（ステップＳ６）、制御マップＭの各格子点（ｘA，ｙA）、（ｘB，ｙB）、（ｘC，ｙC）、（ｘD，ｙD）に設定された制御パラメータＰA、ＰB、ＰC、ＰDの更新量ΔＰA、ΔＰB、ΔＰC、ΔＰDが前記（１）〜（５）式に従って算出される（ステップＳ７）。その際、一連の制御動作が終了するまで制御パラメータの更新は行われず（ステップＳ８：ＮＯ）、更新量が繰り返し算出され、その都度メモリ２に記憶されて蓄積される（ステップＳ７）。
【００６５】
最適化手段３は、制御対象Ｓからの情報に基づき一連の制御動作が終了したと判断すると（ステップＳ８：ＹＥＳ）、制御マップＭの各制御パラメータＰi,jにつきメモリ２に蓄積されたその制御パラメータＰi,jの全更新量ΔＰi,jを加算して更新処理の回数で除することで更新量ΔＰi,jを平均化し（ステップＳ９）、元の制御パラメータの値Ｐi,jに更新量ΔＰi,jの平均値を加算して制御パラメータＰi,jを一括して更新する（ステップＳ１０）。そして、最適化手段３は、終了条件が満たされるまで新たな一連の制御動作を要求し（ステップＳ１１：ＮＯ）、前記終了条件が満たされるまで制御マップＭの制御パラメータの更新処理を繰り返す（ステップＳ６〜Ｓ１０）。
【００６６】
また、最適化手段３は、終了条件が満たされたと判断すると（ステップＳ１１：ＹＥＳ）、制御パラメータＰi,jの値が更新され最適化された制御マップＭを出力し、制御対象Ｓの制御コンピュータのメモリ等に記憶されている制御マップに上書きして移行させる。
【００６７】
このように構成しても、制御マップＭの制御パラメータＰi,jを適切に最適化することが可能であり、本実施形態に係る制御マップ最適化装置１と同様の効果を得ることができる。また、更新量を平均化することで、引数等にいわゆるノイズが含まれる場合にもそのノイズによる影響を受け難くなり、制御マップ最適化装置における最適化の対ノイズ性を向上させることが可能となる。
【００６８】
さらに、前記更新処理の繰り返しの初期段階においては、制御パラメータの値を逐次更新し、繰り返しの後期段階においては、一連の制御動作終了後に一括して更新するように構成することも可能である。この場合、繰り返しの初期における逐次更新で最適化における最適解への収束性を高めつつ、繰り返しの後期における一括更新で最適化の対ノイズ性を向上させることが可能となる。
【００６９】
［第２の実施の形態］
本発明に係る第２の実施形態では、前記第１の実施形態の制御マップ最適化装置を用いて、制御対象Ｓを自動車等の車両Ｓとし、目標加速度と現在の速度とを引数としてブレーキ・アクセルの操作量に関する制御パラメータを出力する制御マップの最適化を行う制御マップ最適化装置について説明する。試行は、例えばドラム式テスターに実車両を載置して行われる。
【００７０】
なお、本実施形態に係る制御マップ最適化装置の各部材や手段のうち、前記第１の実施形態に係る制御マップ最適化装置１の部材や手段と同一の機能を有する部材や手段については同一の符号を付して説明する。
【００７１】
本実施形態に係る制御マップ最適化装置１０は、図８に示すように、第１の実施形態と同様に、制御マップＭが記憶されるメモリ２と、制御マップＭの最適化を行う最適化手段３とを備えるほか、目標加速度算出手段１１、推定速度算出手段１２、理想出力算出手段１３を備えている。また、制御対象Ｓである車両Ｓは車速センサＳｖを備えている。
【００７２】
制御マップ最適化装置１０には、目標速度Ｖｇが入力されるようになっている。目標速度Ｖｇは、制御マップＭの最適化のために人為的に作成されるものである。なお、制御マップ最適化装置１０により最適化された制御マップＭが制御対象Ｓである車両Ｓに移行されて実装された後は、目標速度Ｖｇはアクセルペダルの開度情報やブレーキペダルのＯＮ／ＯＦＦ情報等に基づいて車両ＳのＥＣＵ（Electric Control Unit）で作成され、ＥＣＵ内に形成された目標加速度算出手段１１を介して目標加速度ａｇに変換されて制御マップＭに入力されるようになるものである。
【００７３】
また、制御マップ最適化装置１０には、車両Ｓに実装されている車速センサＳｖから車両Ｓの車速Ｖが入力されるようになっている。
【００７４】
目標加速度算出手段１１には、目標速度Ｖｇと車速Ｖとが入力されるようになっており、目標加速度算出手段１１は、目標速度Ｖｇと車速Ｖとから車両Ｓがとるべき目標加速度ａｇを算出して出力するようになっている。
【００７５】
制御マップＭは、引数ｘ、ｙとしてこの目標加速度ａｇと車速センサＳｖから送信されてくる車速Ｖとをとるようになっており、引数ａｇ、Ｖが入力されると、車両Ｓの図示しないアクセルペダルの開度調整およびブレーキペダルのＯＮ／ＯＦＦ制御を自動的に行うためのブレーキ・アクセル制御パラメータＰEを出力するようになっている。
【００７６】
ブレーキ・アクセル制御パラメータＰEは、制御対象Ｓである車両Ｓと最適化手段３に入力されるようになっている。
【００７７】
また、車速センサＳｖから送信されてくる車両Ｓの車速Ｖは、推定速度算出手段１２に入力されるようになっている。推定速度算出手段１２は、現在から一定期間前までに車速センサＳｖから送信されてきた車速Ｖのデータを時系列的に記憶しており、それらのデータの推移から次の処理タイミング等の現在から一定期間後における車両Ｓの車速Ｖを推定し、その推定値である推定速度Ｖestを算出して理想出力算出手段１３に送信するようになっている。
【００７８】
理想出力算出手段１３には、この推定速度Ｖestと前述した目標速度Ｖｇとが入力されるようになっており、理想出力算出手段１３は、目標速度Ｖｇと推定速度Ｖestとの差分から第１の実施形態で述べた制御パラメータが取るべき値に関する情報Ｑを決定するようになっている。
【００７９】
本実施形態では、理想出力算出手段１３は、目標速度Ｖｇと推定速度Ｖestとの差分を定数倍した数値を情報Ｑａとして出力するようになっている。すなわち、目標速度Ｖｇが推定速度Ｖestより大きければ差分は正の値となり情報Ｑａも正の値となる。また、目標速度Ｖｇが推定速度Ｖestよりも小さければ差分は負の値となり情報Ｑａも負の値となる。
【００８０】
そして、最適化手段３では、この情報Ｑａと前述したブレーキ・アクセル制御パラメータＰEとを加算した値が第１の実施形態で述べた制御パラメータが取るべき値に関する情報Ｑとされるようになっている。最適化手段３の構成や作用は第１の実施形態と同様であり説明を省略するが、このように情報Ｑは
Ｑ＝ＰE＋Ｑａ    …（６）
であるから、前記（２）〜（５）式の右辺の（Ｑ−ＰE）にそのままＱａが代入されて演算が行われるようになっている。
【００８１】
以上のように、本実施形態に係る制御マップ最適化装置１０によっても、前記第１の実施形態に係る制御マップ最適化装置１とまったく同様の効果を得ることができる。すなわち、誤差関数を単峰性関数とし、それに対して最急降下法を適用することで、局所解に陥ることなく最適解を的確に算出することが可能となり、制御マップＭの最適化を的確に行うことが可能となるとともに、この手法であれば、いかなる制御対象Ｓの制御内容に対してもそれを的確に制御する制御マップＭを獲得することが可能となり、制御マップ最適化装置１０を、制御対象Ｓの特性に依拠せずに制御マップＭの最適化を行うことが可能な汎用的な装置とすることが可能となる。
【００８２】
ここで、本実施形態に係る制御マップ最適化装置１０を用い、例えば図９に示すような時間に応じて変化する目標速度Ｖｇを入力して制御マップＭの最適化を行った結果、図１０のグラフに実線で示すように、車両Ｓの車速Ｖを目標速度Ｖｇにほぼ一致するように制御することが可能となった。
【００８３】
この場合、制御マップＭの最適化は前述した一括方式（図７参照）で行った。すなわち、図９に示した２０秒間の試行の間に蓄積された制御パラメータＰi,jの更新量ΔＰi,jを用いて試行が終わるごとに一括して制御パラメータＰi,jを更新する方法で例えば試行を所定回数繰り返して行って最適化を行った。
【００８４】
図１０に破線で示す結果は、制御マップ最適化装置１０による最適化と同じ時間、すなわち２０秒の所定回数倍の時間をかけて手動で制御マップＭの調整を行った場合の結果である。このように手動で調整した場合、達成される車速Ｖは目標速度Ｖｇに近い形にはなるが、全体的に加速や減速のタイミングが時間的に前寄りにずれている。それに比べて本実施形態に係る制御マップ最適化装置１０による最適化では、同じ時間でより良好な結果が得られていることが分かる。
【００８５】
また、図１１は、この制御マップ最適化装置１０による最適化において、２０秒の試行の間に前記（１）式に従って算出された誤差関数Errorの和を各試行ごとに時系列的にプロットしたものである。このように、本実施形態に係る制御マップ最適化装置１０によれば、試行回数を重ねるごとに誤差関数Errorの和が急速に減少し、最適解に向けて急速に収束することが分かる。
【００８６】
なお、本実施形態では、制御パラメータが取るべき値に関する情報Ｑを、試行の結果である車速Ｖに基づいて、数値として決定する場合について説明したが、第１の実施形態と同様にこれに限定されない。例えば、制御マップＭにおける引数に対応するマップ位置の近傍の格子点に設定された制御パラメータを増加させるべき、或いは減少させるべきという指標を試行の結果に基づいて決定し、この指標を前記情報Ｑとしてもよい。
【図面の簡単な説明】
【００８７】
【図１】第１の実施形態に係る制御マップ最適化装置の構成を示すブロック図である。
【図２】２次元的に表された制御マップの一例を示す図である。
【図３】３次元的に表された図２の制御マップを示す図である。
【図４】引数に対応するマップ位置の周囲の格子点に設定された制御パラメータによる線形補間を説明する図である。
【図５】最適化手段における制御パラメータの更新処理の手順を示すフローチャートである。
【図６】格子点に設定された制御パラメータの更新量を説明する図である。
【図７】最適化手段において一括して制御パラメータを更新する場合の更新処理の手順を示すフローチャートである。
【図８】第２の実施形態に係る制御マップ最適化装置の構成を示すブロック図である。
【図９】図８の制御マップ最適化装置に入力される目標速度の一例を示すグラフである。
【図１０】図９の目標速度に基づいて最適化された制御マップによる制御の結果を示すグラフである。
【図１１】図１０の最適化の際の誤差関数の和を試行ごとにプロットしたグラフである。
【符号の説明】
【００８８】
１、１０  制御マップ最適化装置
３  最適化手段
Error  誤差関数
Ｍ  制御マップ
ｎ  引数の個数
ＰE  出力される制御パラメータ
Ｐi,j  制御パラメータ
ΔＰi,j  更新量
Ｑ  制御パラメータが取るべき値に関する情報（理想値）
ｘ、ｙ  引数
（ｘi，ｙj）  格子点
（ｘE，ｙE）  マップ位置
【図１】
2008146290.tif 000004
【図２】
2008146290.tif 000005
【図３】
2008146290.tif 000006
【図４】
2008146290.tif 000007
【図５】
2008146290.tif 000008
【図６】
2008146290.tif 000009
【図７】
2008146290.tif 000010
【図８】
2008146290.tif 000011
【図９】
2008146290.tif 000012
【図１０】
2008146290.tif 000013
【図１１】
2008146290.tif 000014