説明

情報処理装置及びエンジン制御装置

【課題】 本発明の課題は、自動車等の動作装置の運転条件及び動作装置の性能を示す出力変数とから、モデル予測制御により計算したその性能が最適となる動作装置を制御するための制御変数を、運転条件及び出力変数とから取得可能なテーブルを自動生成することを目的とする。
【解決手段】 上記課題は、動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数とを記憶する記憶部と、前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部とを有する情報処理装置により達成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エンジン制御を行うためのテーブルを生成する情報処理装置、及び、そのテーブルを用いて最適なエンジン制御を行うエンジン制御装置に関する。
【背景技術】
【0002】
近年、自動車等の車両などには、ECU(Electronic Control Unit)が搭載され、運転者によるアクセル又はブレーキに応じてエンジンが制御されている。このようなエンジン制御では、車両に備えられた、運転状態に応じたエンジンを制御するための制御変数を対応付けたテーブルが用いられる。
【0003】
制御変数を求めるために、内燃機関をモデル化し、内燃機関の制御に対して最適な特性量を求めること、近似式等を用いて制御変数を決定すること等が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−248991号公報
【特許文献2】特開2004−185357号公報
【特許文献3】特開2004−68729号公報
【特許文献4】特開2004−185357号公報
【特許文献5】特開2006−200396号公報
【特許文献6】特開2008−261269号公報
【特許文献7】特開平7−281729号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、測定するアクセル及びブレーキに関する変数の組み合せる作業は、エンジニアによる専門的な知識と経験が非常に重要な要素となっている。そのため、組み合せの結果はエンジニアの経験、熟練度に依存していた。精度良く制御変数を得るためには、組み合せをより多く測定しておく必要がある。組み合せが多い程、組み合せから制御変数を計算するモデル予測制御の処理時間がかかる。
【0006】
運転状態に対応した多種多様な変数の組み合せが必要であると同時に、急ブレーキ、急アクセルなどの運転状態の瞬時の変化に対応するためには、処理時間のかかるモデル予測制御を車両に搭載することができないと言った問題がある。
【0007】
よって、本発明の目的は、自動車等の動作装置の運転条件及び動作装置の性能を示す出力変数による多種多様な組み合せの各々に対して、モデル予測制御により計算した性能が最適となる動作装置を制御するための制御変数を対応付けたテーブルを自動生成することである。
【課題を解決するための手段】
【0008】
開示の情報処理装置は、動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数とを記憶する記憶部と、前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部とを有する。
【0009】
また、上記課題を解決するための手段として、テーブル生成方法、コンピュータに上記情報処理装置として機能させるためのプログラム、及び、そのプログラムを記録した記録媒体とすることもできる。
【0010】
開示のエンジン制御装置は、動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該動作装置の制御変数に係る変数データを対応付けたテーブルを記憶するメモリ装置と、前記メモリ装置に記憶されている前記テーブルから前記運転条件と前記出力変数とを用いて取得した前記変数データに基づいて、前記制御変数を決定する演算装置とを有する。
【発明の効果】
【0011】
開示の技術では、自動車等の動作装置の運転条件及び動作装置の性能を示す出力変数とから、モデル予測制御により計算したその性能が最適となる動作装置を制御するための制御変数を、運転条件及び出力変数とから取得可能なテーブルを自動生成することができる。
【図面の簡単な説明】
【0012】
【図1】情報処理装置のハードウェア構成例を示す図である。
【図2】車両のエンジンを制御するためのハードウェア構成例を示す図である。
【図3】システムの機能構成の概要を説明するための図である。
【図4】情報処理装置の第1の機能構成例を示す図である。
【図5】第1の機能構成における各装置での処理の概要を説明するための図である。
【図6】図5(A)のステップS11での処理を説明するための図である。
【図7】図5(A)のステップS12及びS13での処理を説明するための図である。
【図8】情報処理装置の第2の機能構成例を示す図である。
【図9】第2の機能構成における各装置での処理の概要を説明するための図である。
【図10】図9(A)のステップS23及びS24での処理を説明するための図である。
【図11】動作条件と制御変数との関係を線形近似した場合を示す図である。
【図12】動作条件と制御変数との関係を非線形近似した場合を示す図である。
【図13】情報処理装置の第3の機能構成例を示す図である。
【図14】第3の機能構成における情報処理装置での処理の概要を説明するための図である。
【図15】図14のステップS34及びS35での処理を説明するための図である。
【図16】第4の機能構成における動作条件の範囲の分割方法を説明するための図である。
【図17】情報処理装置の第4の機能構成例を示す図である。
【図18】第4の機能構成における処理の概要を説明するための図である。
【図19】図18のステップS42での処理を説明するための図である。
【図20】図18のステップS43での処理を説明するための図である。
【図21】図18のステップS44及びS45での処理を説明するための図である。
【図22】図18のステップS46での処理を説明するための図(その1)である。
【図23】図18のステップS46での処理を説明するための図(その2)である。
【図24】図18のステップS46での処理を説明するための図(その3)である。
【図25】図18のステップS48での処理を説明するための図である。
【図26】図18のステップS49での処理を説明するための図である。
【図27】図18のステップS50での処理を説明するための図である。
【図28】並列計算システム例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態を図面に基づいて説明する。自動車等の車両のような動作装置に対して、その動作装置の性能が最適となるように動作装置を制御するためのデータを、自動的に生成する情報処理装置は、図1に示すようなハードウェア構成を有する。図1は、情報処理装置のハードウェア構成例を示す図である。
【0014】
図1において、情報処理装置100は、スーパーコンピュータ等であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、出力ユニット14と、入力ユニット15と、通信ユニット16と、記憶装置17と、ドライブ18とを有し、バスBに接続される。
【0015】
CPU11は、メモリユニット12に格納されたプログラムに従って情報処理装置100を制御する。メモリユニット12には、RAM(Random Access Memory)及びROM(Read-Only Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
【0016】
表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。出力ユニット14は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。入力ユニット15は、マウス、キーボード等を有し、ユーザが情報処理装置100が処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット16は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。記憶装置17には、ハードディスクユニット等が用いられ、各種処理を実行するプログラム等のデータを格納する。
【0017】
情報処理装置100によって行われる処理を実現するプログラムは、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって情報処理装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【0018】
また、情報処理装置100によって行われる処理を実現するプログラムが、通信ユニット16を介して外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。通信ユニット16による通信は無線又は有線に限定されるものではない。
【0019】
情報処理装置100によって生成されたデータに基づいてエンジンが制御される車両5は、図2に示すようなエンジンを制御するためのハードウェア構成を有する。図2中、車両5におけるエンジン制御に関する構成部のみを示し、他の構成部は省略される。
【0020】
図2において、車両5は、エンジン制御装置200と、アクセルペダル211と、ブレーキペダル212と、エンジン214と、エンジンセンサ215とを有する。エンジン制御装置200は、更に、ECU(Electronic Control Unit)202と、メモリ装置204とを有する。
【0021】
メモリ装置204には、ECU202によって実行されるエンジン制御に係るプログラム、情報処理装置100によって生成されロードされたエンジン制御のために参照されるデータ等が格納されている。情報処理装置100によって生成されデータは、運転条件6と出力変数7とに対して、エンジン214を制御するための最適な制御変数8を得るためのテーブルである。後述される最適化テーブル5151−2、51−4、51−6が該当する。
【0022】
運転条件6は、車両5の運転者によるアクセルペダル211の踏み込み量(急アクセルの程度)、又は、運転者によるブレーキペダル212の踏み込み量(急ブレーキの程度)を含むデータであり、ECU202に入力される。出力変数7は、車両5の性能を示し、エンジン214から排出されるスス、NOxなどの排出量に関するエンジンセンサ215から入力されるデータである。制御変数8は、ECU202に入力された運転条件6と、運転条件6の入力の直前にエンジンセンサ215からECU202に入力された出力変数7とから、ECU202によって決定されたエンジン214を最適に制御するためのデータである。
【0023】
ECU202は、メモリ装置204に格納されるエンジン制御に係るプログラムを実行し、運転条件6と出力変数7とに基づいて、メモリ装置204に格納される最適化テーブル51(図3)を参照して、最適なエンジン制御を行うための制御変数8を決定し、制御変数8を用いてエンジン214を制御する。
【0024】
上述した情報処理装置100とエンジン制御装置200とを有するシステム1000における機能構成の概要について説明する。図3は、システム1000の機能構成の概要を説明するための図である。
【0025】
図3に示すシステム1000において、情報処理装置100は、車両5がエンジン制御を最適に行うための最適化テーブル51を生成する最適化テーブル生成部133を有する。最適化テーブル生成部133は、CPU11が対応するプログラムを実行することによって行われる処理によって実現され、最適化テーブル51を生成する。
【0026】
最適化テーブル生成部133によって生成された最適化テーブル51は、メモリ装置204に書き込まれる。エンジン制御を行うためのプログラムに加えて、最適化テーブル51が書き込まれたメモリ装置204が、車両5に搭載される。
【0027】
エンジン制御装置200は、制御処理部230を有する。制御処理部230は、ECU202がメモリ装置204に格納される上述したプログラムを実行することによって行われる処理によって実現される。
【0028】
制御処理部230は、メモリ装置204に格納された最適化テーブル51を参照することによって、最適なエンジン制御を行う。最適なエンジン制御とは、急アクセル、急ブレーキ等によるエンジンの切り替えを即時に行うと共に、排気量や燃費等の低減を実現させた制御を含む。
【0029】
次に、情報処理装置100における、最適化テーブル51の生成に係る第1の機能構成について図4で説明する。図4は、情報処理装置100の第1の機能構成例を示す図である。図4において、情報処理装置100は、記憶部40と、入力データ作成部131と、モデル予測制御部132と、最適化テーブル生成部133とを有する。記憶部40は、メモリユニット12又は/及び記憶装置17などを有する。
【0030】
記憶部40には、予め測定した運転条件6aと出力変数7aとを含む測定データ41が格納されている。測定データ41に含まれる運転条件6aと出力変数7aとは、車両5を走行させて測定したデータである。運転条件6aによって、急アクセル、急ブレーキに係る車両5の運転状態が示される。
【0031】
入力データ作成部131は、CPU11が対応するプログラムを実行することによって行われる処理によって実現される。入力データ作成部131は、記憶部40に予め格納されている測定データ41を参照して、モデル予測制御部132に制御変数8を算出させるための入力データ42を作成する。
【0032】
モデル予測制御部132は、CPU11が対応するプログラムを実行することによって行われる処理によって実現され、車両5のエンジン214をモデル化し、運転条件6aと出力変数7aとから制御変数8aを予測するモデル予測制御を行う処理部である。モデル予測制御部132は、入力データ42を入力して、運転条件6aと出力変数7aの各組合せに対して最適な制御変数8aを算出する。
【0033】
最適化テーブル生成部133は、運転条件6aと出力変数7aの組み合せ毎に、モデル予測制御部132の計算によって予測した制御変数8aを対応付けた最適化テーブル51を生成して、記憶部40に格納する。
【0034】
第1の機能構成における、情報処理装置100と車両5のエンジン制御装置200の各々の処理の概要について図5で説明する。図5は、第1の機能構成における各装置での処理の概要を説明するための図である。図5(A)では、情報処理装置100での処理が示されている。
【0035】
図5(A)において、入力データ作成部131は、記憶部40に格納されている測定データ41を参照することによって、運転条件6と出力変数7との組み合せを全て作成し、作成した全組み合せを含む入力データ42を作成する(ステップS11)。作成された入力データ42は、記憶部40に格納される。
【0036】
そして、モデル予測制御部132は、入力データ42を用いて、組み合せ毎に制御変数8aを計算する(ステップS12)。最適化テーブル生成部133は、入力データ42の各組み合せに、モデル予測制御部132が計算した制御変数8aを対応付けた最適化テーブル51を生成する(ステップS13)。生成された最適化テーブル51は、記憶部40に格納される。そして、情報処理装置100での処理を終了する。
【0037】
上述したように生成された最適化テーブル51は、車両5のメモリ装置204に書き込まれる。図5(B)には、最適化テーブル51を実装したエンジン制御装置200に係る処理が示されている。ECU202は、車両5のエンジン開始により図5(B)に示される処理を行う。
【0038】
図5(B)において、ECU202は、エンジンセンサ215によって測定されたエンジン214の出力変数7を入力する(ステップS311)。ECU202は、アクセルペダル211又はブレーキペダル212から、車両5の運転者による踏み込みに応じて、運転条件6を入力する(ステップS312)。
【0039】
ECU202は、最適化テーブル51から、入力された運転条件6と、運転者がアクセルペダル211又はブレーキペダル212を踏み込む直前の出力変数7との組み合せに相当する、運転条件6aと出力変数7aとの組み合せに対応付けられた制御変数8を取得する(ステップS313)。そして、ECU202は、取得した制御変数8でエンジンを制御する(ステップS314)。
【0040】
上述した図5(A)に示す処理について、図6及び図7で詳述する。図6は、図5(A)のステップS11での処理を説明するための図である。図6において、測定データ41には、運転条件6aと出力変数7aとが含まれている。
【0041】
運転条件6aは、運転条件6a−1、6a−2、・・・の1以上の項目を含む。この例では、N1件の測定された運転条件6aが含まれている。出力変数7aは、出力変数7a−1、出力変数7a−2、・・・の1以上の項目を含む。この例では、N2件の測定された出力変数7aが含まれている。
【0042】
入力データ作成部131は、N1件の各運転条件6aに対してN2件の出力変数7aの夫々を対応付ける等の方法によって全組み合せ(N件(N1×N2件))を作成し、これら全組み合せを示す入力データ42を記憶部40に格納する(ステップS11)。
【0043】
図7は、図5(A)のステップS12及びS13での処理を説明するための図である。図7において、モデル予測制御部132は、入力データ42を用いて、運転条件6aと出力変数7aの組み合せ毎に制御変数8aを計算する(ステップS12)。制御変数8aは、制御変数8a−1、8a−2、・・・の1以上の項目を含む。この例では、全組み合せの件数Nに対応して、N件の制御変数8aが計算される。
【0044】
最適化テーブル生成部133は、入力データ42で示される各組み合せに対応して計算した制御変数8aを含む最適化テーブル51を生成する(ステップS13)。
【0045】
図7に示すように、入力データ42の運転条件6aと出力変数7aの各項目において、下限値と上限値とを示すように、最適化テーブル51を生成してもよい。
【0046】
上述では、運転条件6aと出力変数7aの組み合せ毎に制御変数8aを対応付けた最適化テーブル51を生成する第1の機能構成を説明したが、制御変数8aの代わりに近似式を対応付ける第2の機能構成について、以下に説明する。
【0047】
図8は、情報処理装置100の第2の機能構成例を示す図である。図8中、図4と同様の構成部には同様の符号を付し、その説明を省略する。図8において、情報処理装置100は、近似式作成部132aを更に有する点において、図4に示す第1の機能構成と異なっている。
【0048】
近似式作成部132aは、CPU11が対応するプログラムを実行することによって行われる処理によって実現される。近似式作成部132aは、入力データ42と、モデル予測制御部132によって算出された制御変数8aとに基づいて、運転条件6aと出力変数7aとの組み合せ毎に制御変数8aを計算する近似式52を作成する。
【0049】
最適化テーブル生成部133は、入力データ42を参照することによって、運転条件6aと出力変数7aとの組み合せ毎に対応させた近似式作成部132aによって作成された近似式52を含む最適化テーブル51−2を生成する。最適化テーブル51−2は、記憶部40に格納される。
【0050】
第2の機能構成における、情報処理装置100と車両5のエンジン制御装置200の各々の処理の概要について図9で説明する。図9は、第2の機能構成における各装置での処理の概要を説明するための図である。図9(A)では、情報処理装置100での処理が示されている。
【0051】
図9(A)において、入力データ作成部131は、記憶部40に格納されている測定データ41を参照することによって、運転条件6と出力変数7との組み合せを全て作成し、作成した全組み合せを含む入力データ42を作成する(ステップS21)。作成された入力データ42は、記憶部40に格納される。
【0052】
そして、モデル予測制御部132は、入力データ42を用いて、組み合せ毎に制御変数8aを計算する(ステップS22)。近似式作成部132aは、組み合せられた運転条件6a及び出力変数7aと、モデル予測制御部132によって計算された組み合せに対応する制御変数8aとに基づいて、エンジン制御装置200にて用いられる制御変数8を計算するための近似式を作成する(ステップS23)。
【0053】
最適化テーブル生成部133は、作成した近似式を含む最適化テーブル51−2を生成する(ステップS24)。生成された最適化テーブル51−2は記憶部40に格納される。そして、情報処理装置100での処理を終了する。
【0054】
上述したように生成された最適化テーブル51は、車両5のメモリ装置204に書き込まれる。図9(B)には、最適化テーブル51を実装したエンジン制御装置200に係る処理が示されている。ECU202は、車両5のエンジン開始により図9(B)に示される処理を行う。
【0055】
図9(B)において、ECU202は、エンジンセンサ215によって測定されたエンジン214の出力変数7を入力する(ステップS321)。ECU202は、アクセルペダル211又はブレーキペダル212から、車両5の運転者による踏み込みに応じて、運転条件6を入力する(ステップS322)。
【0056】
ECU202は、最適化テーブル51−2から、入力された運転条件6と、運転者がアクセルペダル211又はブレーキペダル212を踏み込む直前の出力変数7との組み合せに相当する、運転条件6aと出力変数7aとの組み合せに対応付けられている近似式52を取得して、その近似式52を用いて、入力された運転条件6と出力変数7とから制御変数8を計算する(ステップS323)。そして、ECU202は、計算して得た制御変数8でエンジンを制御する(ステップS324)。
【0057】
上述した図9(A)に示す処理について、ステップS21及びS22は、図5(A)のステップS11及びS12に夫々相当するため、その詳細な説明を省略する。ステップS23及びS24について、図10で詳述する。
【0058】
図10は、図9(A)のステップS23及びS24での処理を説明するための図である。図10において、入力データ42には、運転条件6aと出力変数7aとの全組み合せが含まれている。
【0059】
近似式作成部132aは、入力データ42に含まれる運転条件6aと出力変数7aとの組み合せ毎に、制御変数8a−1、8a−2、・・・の夫々を求めるための近似式52a−1、52a−2、・・・を作成する(ステップS23)。1個の組み合せに対応する近似式52は、制御変数8a−1、8a−2、・・・の夫々に対応する近似式52a−1、52a−2、・・・を有する。また、N件の組み合せから1件の近似式52が作成される。
【0060】
最適化テーブル生成部133は、入力データ42のN件の組み合せに対して、近似式作成部132aによって作成された1件の近似式52を含む最適化テーブル51−2を生成する(ステップS24)。
【0061】
運転変数6及び出力変数7(運転変数6及び出力変数7の組み合せを動作条件とする)と制御変数8との関係は複雑であるため、図11に示すように、単純な線形の近似式11pを適用すると、制御変数8の最適値2vと近似式11pから得られる近似値との間に、大きな誤差2dが生じてしまう場合がある。そこで、本実施の形態では、図12に示すように、上述したステップS23では、非線形の近似式12pを算出するものとする。
【0062】
ステップS23にて、近似式作成部132aによって作成される制御変数8a−1を計算するための近似式52a−1は、制御変数8a−1が運転変数6a−1、出力変数7a−1等と関連する場合、
制御変数8a−1 = 10×運転変数6a−1 + 20×出力変数7a−1
+ ・・・
のように表現される。
【0063】
また、各制御変数8a−1、8a−2、・・・を非線形の近似式とすることもできる。非線形の近似式を得るために、数1に示されるようなサポートベクトルマシン(SVM)回帰を用いる。
【0064】
【数1】


Yは、各制御変数8a−1、8a−2、・・・である。A(I)は係数を示し、X(K)は運転条件又は出力変数を指定し、D(I,K)は運転条件又は出力変数のデータを示す。ここで、Kは入力データ42の行番号を示し、Iは入力データ42の列番号を示す。A(I)≠0の場合に、合計(1)及び(2)が計算される。A(I)≠0の場合について、A(I)及びD(I,K)をエンジン制御装置200に保持するようにする。
【0065】
図11に示されるように、単純な近似式11pを用いた場合には、誤差の大きな最適値2mで動作条件の範囲を範囲Aと範囲Bとに分割することによって、各範囲A、B内での誤差を小さくすることができる。しかしながら、この場合、範囲Aと範囲Bとの境界においける、範囲A側の近似式11aの近似値と、範囲B側の近似式11bの近似値との間にギャップが生じてしまうことがある。
【0066】
一方、図12に示される非線形の近似式12pを適用した場合には、範囲を分割することなく、近似式12pによる近似値と最適値との誤差を小さくでき、精度良く近似することができる。
【0067】
上述したSVM回帰を用いた第3の機能構成について、図13で説明する。図13は、情報処理装置100の第3の機能構成例を示す図である。図13中、図8と同様の構成部には同様の符号を付し、その説明を省略する。図13において、情報処理装置100は、データ量取得部131bを更に有すると共に、近似式作成部132aの代わりに、SVM回帰計算部132bを有する点において、図8に示す第2の機能構成と異なっている。
【0068】
データ量取得部131bは、CPU11が対応するプログラムを実行することによって行われる処理によって実現される処理部であって、車両5のエンジン制御装置200に実装されるメモリ装置204に係る情報に基づいて、エンジン制御装置200のメモリ装置204に搭載できるデータ量を計算することによって取得する。或いは、情報処理装置100のユーザからメモリ装置204に搭載できるデータ量を取得するようにしても良い。取得したデータ量は、記憶部40に格納される制約条件45に設定される。
【0069】
SVM回帰計算部132bは、CPU11が対応するプログラムを実行することによって行われる処理によって実現される。SVM回帰計算部132bは、入力データ42と、モデル予測制御部132によって算出された制御変数8aとに基づいて、制約条件45を満たすように、運転条件6aと出力変数7aとの組み合せに対する制御変数8aを計算する近似式53を作成する。
【0070】
最適化テーブル生成部133は、入力データ42を参照することによって、運転条件6aと出力変数7aとの組み合せに対して、SVM回帰計算部132bによって作成された近似式53を含む最適化テーブル51−4を生成する。最適化テーブル51−4は、記憶部40に格納される。
【0071】
第3の機能構成では、運転条件6aと出力変数7aとによる組み合せを動作条件60として表す。
【0072】
第3の機能構成における車両5のエンジン制御装置200の処理は、第2の機能構成における処理(図9(B))と同様であるので、その説明を省略する。情報処理装置100の処理の概要について図14で説明する。図14は、第3の機能構成における情報処理装置での処理の概要を説明するための図である。
【0073】
図14において、入力データ作成部131は、運転条件6aと出力変数7aとの組み合せを全て作成し、作成した全組み合せを含む入力データ42を作成する(ステップS31)。作成された入力データ42は、記憶部40に格納される。以降の処理において、運転条件6a−1、・・・、出力変数7a−1、・・・は、動作条件60a−1、・・・で示し、各組み合わせにおける運転条件6aと出力変数7aは、動作条件60aで示す。
【0074】
データ量取得部131bは、エンジン制御装置に搭載できるデータ量を計算する(ステップS32)。又は、データ量取得部131bは、ユーザにデータ量を入力させることによって取得する。
【0075】
そして、モデル予測制御部132は、入力データ42を用いて、動作条件(運転条件6と出力変数7との組み合せ)毎に制御変数8の最適値(制御変数8a)を計算する(ステップS33)。図15に示されるように、制御変数8aは、モデル予測制御部132の計算によって予測した制御変数8の最適値を表し、制御変数8a−1、8a−2、・・・の1以上の項目を含む。この例では、全動作条件(運転条件6と出力変数7との組み合せ)の件数Nに対応して、N件の制御変数8aが計算される。
【0076】
SVM回帰計算部132bは、組み合せと、モデル予測制御部132によって計算された組み合せ(動作条件)に対応する制御変数8の最適値(制御変数8a)とに基づいて、制約条件45に従ってエンジン制御装置200の搭載できるデータ量の制約を満たす、エンジン制御装置200にて用いられる制御変数8を計算するための近似式を算出する(ステップS34)。
【0077】
最適化テーブル生成部133は、動作条件(運転条件6と出力変数7との組み合せ)に対して、近似式を含む最適化テーブル51−2を生成する(ステップS35)。生成された最適化テーブル51−2は記憶部40に格納される。そして、情報処理装置100での処理を終了する。
【0078】
上述した図14に示す処理において、第2の機能構成と異なるステップS34及びS35について、図15で詳述する。図15は、図14のステップS34及びS35での処理を説明するための図である。図15において、SVM回帰計算部132bは、入力データ42の動作条件(運転条件6と出力変数7との組み合せ)に対して、その動作条件に基づいて、制御変数8a−1、8a−2、・・・の最適値の夫々を計算する近似式53a−1、53a−2、・・・を算出する(ステップS34)。その際、全動作条件に対して算出された近似式53に係るデータが、制約条件45で示されるデータ量を超えないように計算される。1件の近似式53には、制御変数8a−1、8a−2、・・・の各最適値に対応する近似式53a−1、53a−2、・・・が含まれる。
【0079】
最適化テーブル生成部133は、入力データ42のN件の組み合せに対して、近似式作成部132aによって作成された1件の近似式53を含む最適化テーブル51−4を生成する(ステップS35)。
【0080】
数2に示すような、特徴空間における内積を表すカーネル関数K(x、xi)が設定された識別関数f(x)に対して、数3に示すようなSVMの2次計画問題を解く。その際、本実施の形態では、数4に示すような制約条件45を加えることによって、近似式53を得る。数2及び数3は、Kimeldorf及びWahbaによって1970年に提唱されたものである。(杉山将、“サポートベクター回帰のモデル選択”、東京工業大学、2002年、9月25日〜28日、5頁)
【0081】
【数2】


ここで、数1のA(I)とαiは同じである。
【0082】
【数3】

【0083】
【数4】

数4において、Biは0又は1であり、bigMは十分大きい定数、Neはエンジン制御装置200のメモリ装置204のデータ量を示す。iは1〜N(=データ件数)までの自然数である。
【0084】
次に、単純な近似式を用いて、動作条件と制御変数との関係において、範囲を分割する際に、近似値と最適値との誤差が最小となる境界で分割する第4の機能構成について説明する。第4の機能構成では、上述した第1の機能構成で説明したようなモデル予測制御により制御変数8aが求められているものとする。
【0085】
先ず、第4の機能構成における動作条件の範囲の分割方法の概要について図16を参照して説明する。図16中、説明の便宜のため、動作条件1、2の範囲による分割方法で説明する。動作条件1及び2は、夫々縦軸及び横軸で表される。縦横の破線は、分割する又は候補となる境界を示す。
【0086】
図16(A)に示すような各境界候補で分割した場合の、分割された各範囲内の近似式A及びBを作成し、動作条件の最適値と作成した近似式による値との誤差(近似誤差)の合計A及びBを計算する。近似誤差の合計A及びBが、最小となる境界16aで範囲A及び範囲Bに分割する。そして、分割された範囲Aと範囲Bのうち近似誤差の合計が最大となる範囲を選定する。近似誤差の合計Bが近似誤差の合計Aより大きい場合、範囲Bが選定される。
【0087】
図16(B)では、範囲Bが選定された場合が例示されている。範囲B内において、上述した同様の処理を繰り返すことによって、範囲B内が最小となる境界16bで範囲B1及び範囲B2に分割される。範囲B1及び範囲B2に対して、夫々近似式B1及びB2が得られ、また、近似誤差の合計B1及びB2が得られる。そして、分割された範囲B1と範囲B2のうち近似誤差の合計が最大となる範囲を選定する。
【0088】
このように、図16(A)及び図16(B)で説明したような繰り返し処理は、エンジン制御装置200のメモリ装置204のデータ容量を制約条件として行われる。
【0089】
図17は、情報処理装置100の第4の機能構成例を示す図である。図17において、情報処理装置100は、データサイズ計算部161と、データサイズ比較部162と、最大範囲選定部163と、境界候補計算部164と、境界候補選定部165と、分割範囲計算部166と、分割データ計算部167と、近似式計算部168と、部分誤差計算部169と、部分誤差合計部170と、最小誤差選定部171と、範囲データ計算部172と、最適化テーブル生成部133−6とを有する。これら処理部161から172は、CPU11が対応するプログラムを実行することによって行われる処理によって実現される。
【0090】
また、記憶部40は、これら処理部161から172によって参照、作成される、範囲テーブル81と、データサイズ82と、データ容量上限83と、予測済みテーブル84と、境界候補テーブル85と、境界未満範囲レコード86aと、境界以上範囲レコード86bと、境界未満予測済みテーブル87aと、境界以上予測済みテーブル87bと、境界近似テーブル88と、最適化テーブル52−6とを格納する。
【0091】
範囲テーブル81では、動作条件60の各項目の上限値及び下限値が示され、動作条件60毎、即ち、運転条件6aと出力変数7aとによる組み合せ毎に、近似式及び近似誤差を示す近似式情報80が対応付けられている。第4の機能構成例においても、第3の機能構成例と同様に、運転条件6aと出力変数7aとによる組み合せを動作条件60aとして表す。
【0092】
データサイズ82は、データサイズ計算部161によって計算された値を示す。データ容量上限83は、予め設定されたエンジン制御装置200のメモリ装置204に書き込めるデータ容量の上限値を示す。
【0093】
予測済みテーブル84は、上述した第1の機能構成において、モデル予測することによって得られた動作条件60毎の制御変数8aを示し、最適化テーブル生成部133によって生成された最適化テーブル51に相当する。予測済みテーブル84では、動作条件60毎に制御変数8aが対応付けられている。
【0094】
境界候補テーブル85は、境界候補計算部164によって得られた範囲を分割する境界候補を示す。各境界候補は、境界変数と境界とで示される。境界変数は、範囲を分割するために用いられる動作条件60aの項目(動作条件60a−1、・・・の1以上)を指定し、境界は、その境界変数で分割する際の値を示す。
【0095】
境界未満範囲レコード86a及び境界以上範囲レコード86bは、分割範囲計算部166による結果を示す。範囲テーブル81内の分割対象の範囲において、境界候補選定部165によって選定された候補の境界に対して、境界未満範囲レコード86aは、境界未満となる範囲のデータを示し、また、境界以上範囲レコード86bは、境界以上となる範囲のデータを示す。
【0096】
境界未満予測済みテーブル87a及び境界以上予測済みテーブル87bは、分割データ計算部167による結果を示す。境界未満予測済みテーブル87aは、モデル予測済みテーブル84と境界未満範囲レコード86aとを用いて得られた、境界未満の範囲内における動作条件60aと制御変数8aとの対応付けを示す。また、境界以上予測済みテーブル87bは、モデル予測済みテーブル84と境界以上範囲レコード86bとを用いて得られた、境界以上の範囲内における動作条件60aと制御変数8aとの対応付けを示す。
【0097】
境界近似テーブル88は、近似式計算部168と部分誤差計算部169と部分誤差合計部170とによる結果を示す。境界近似テーブル88は、候補となる境界毎の動作条件60aの最適値と近似式による値との合計誤差を示す。
【0098】
最適化テーブル52−6は、範囲データ計算部172による結果を示す。最適化テーブル52−6は、動作条件60毎に近似式係数53−6が対応付けられる。作成された最適化テーブル52−6は、エンジン制御装置200のメモリ装置204のデータ容量上限83を満たすデータ量である。
【0099】
データサイズ計算部161は、範囲テーブル81を参照して、エンジン制御装置200のメモリ装置204に書き込む最適化テーブル51−6のデータサイズ82を計算する。計算(予測)されたデータサイズ82は記憶部40に格納される。最適化テーブル51−6は、最適化テーブル生成部133−6によって、範囲テーブル81に基づいて生成される。
【0100】
データサイズ比較部162は、記憶部40から、データサイズ計算部161によって計算されたデータサイズ82と、予め格納しておいたデータ容量上限83とを比較する。データサイズ82がデータ容量上限83以内であれば、範囲テーブル81がメモリ装置204に書き込まれるテーブルとなる。一方、データサイズ82がデータ容量上限83を超えた場合、後述されるように、データ容量上限83を満たすように動作条件60の範囲を分割する処理が行われる。
【0101】
最大範囲選定部163は、範囲テーブル81から、制御変数8aの項目の近似誤差の合計が最大となる範囲(1件のレコード)を選定する。以下、近似誤差の合計が最大となる範囲(1件のレコード)を最大範囲と言う。
【0102】
境界候補計算部164は、近似誤差の合計が最大の範囲について、候補となる境界を計算する。境界候補計算部164によって、候補となる境界を示す境界候補テーブル85が記憶部40に出力される。
【0103】
境界候補選定部165は、境界候補テーブル85から1つの境界(1件のレコード)を選定する。
【0104】
分割範囲計算部166は、最大範囲において、選定した境界で分割した場合の各範囲を計算して、計算した各範囲に係るレコードを範囲テーブル81から取得する。最大範囲において、境界未満に属する範囲に係る境界未満範囲レコード86aと、境界以上に属する範囲に係る境界以上範囲レコード86bとが、夫々記憶部40に格納される。
【0105】
分割データ計算部167は、境界未満範囲レコード86aと境界以上範囲レコード86bとを夫々用いて、選定した境界で分割した場合の各範囲における制御変数8aを含むデータを予測済みテーブル84から取得するための計算を行う。予測済みテーブル84から境界未満に属するレコードと境界以上に属するレコードとが抽出される。最大範囲において、境界未満に属するレコードを含む境界未満予測済みテーブル87aと、境界以上に属するレコードを含む境界以上予測済みテーブル87bとが生成され、夫々記憶部40に格納される。
【0106】
近似式計算部168は、最大範囲内の選定した境界で分割される各範囲において、制御変数8aの項目毎に近似式を計算する。境界未満予測済みテーブル87aの各1件に対して、制御変数8aの項目毎の近似式が作成される。また、境界以上予測済みテーブル87bの各1件に対して、制御変数8aの項目毎の近似式が作成される。近似式計算部168は、近似式作成部132aに相当する処理部であってもよい。
【0107】
そして、部分誤差計算部169は、最大範囲内の選定した境界で分割される各範囲において、近似式計算部168によって計算された制御変数8aの項目毎の近似式を用いて、制御変数8aの各項目の近似誤差(部分近似誤差)を計算する。
【0108】
部分誤差合計部170は、最大範囲が選定した境界で分割された場合の部分近似誤差の合計(近似誤差合計)を計算する。最大範囲における候補となる境界全てに対して上述同様の処理を行うことにより、候補となる境界毎に近似誤差合計を示す境界近似テーブル88が記憶部40に格納される。
【0109】
最小誤差選定部171は、記憶部40に格納された境界近似テーブル88を参照することによって、近似誤差合計が最小となる境界を選定する。範囲を分割する境界が決定される。最小誤差選定部171によって選定(決定)された境界で分割した範囲毎に、即ち、境界未満範囲レコード86aと境界以上範囲レコード86bとの夫々に、近似式及び近似誤差を示す近似情報80が設定される。
【0110】
範囲データ計算部172は、範囲テーブル81に、近似誤差が最小となる境界で分割された、境界未満の範囲を示す1件(1レコード)と、境界以上の範囲を示す1件(1レコード)とを追加する。また、範囲データ計算部172は、範囲テーブル81から近似誤差が最大を示す1件(1レコード)を削除する。
【0111】
最適化テーブル生成部133−6は、最適化テーブル51−6を生成して、記憶部40に格納する。最適化テーブル生成部133−6は、データサイズ比較部162による比較結果に基づいて、データ容量上限83を制約条件とする繰り返し処理が終了すると、範囲テーブル81の近似式情報80から近似誤差を削除し、更に、近似式情報80の近似式を近似式の係数のみに置き換えて、最適化テーブル51−6を生成する。このような処理によって、エンジン制御装置200のメモリ装置204へ書き込むデータ容量を少なくすることができる。
【0112】
車両5の制御処理部230は、最適化テーブル51−6から得られた係数を所定の近似式に当てはめればよい。従って、車両5のエンジン制御装置200による制御処理部230での処理は、第2の機能構成で説明した図9(B)に示す処理フローと同様であるので、その詳細な説明を省略する。
【0113】
動作条件60の範囲を分割して精度良い近似式を計算することによって、最適化テーブル51−6を生成する処理フローの概要について図18で説明する。図18は、第4の機能構成における処理の概要を説明するための図である。図18にて、情報処理装置100において、CPU11は、最適化テーブル51−6に必要なデータサイズがデータ容量上限83以下であるか否かを判断する(ステップS42)。最適化テーブル51−6に必要なデータサイズを、現在の範囲テーブル81のデータ量から予測してもよい。
【0114】
データサイズ計算部161は、最適化テーブル51−6に必要なデータサイズ82を計算する。計算されたデータサイズ82は、記憶部40に格納される。データサイズ計算部161は、記憶部40に格納されている範囲テーブル81を参照することによって、動作条件60の件数(レコード数)から、最適化テーブル51−6の1件分(1レコード分)のデータサイズに基づいて、最適化テーブル51−6のデータサイズを予測する。この際、更に、範囲を分割する場合を考慮して、所定のデータサイズ(例えば、1件分のデータサイズ)を加算しておくとよい。動作条件60の件数(レコード数)から1を減算した値が範囲の境界の数を示し、即ち、分割回数を示す。
【0115】
そして、データサイズ比較部162は、データサイズ計算部161によって計算されたデータサイズ82とデータ容量上限83とを比較することによって、最適化テーブル51−6に必要なデータサイズがデータ容量上限83以下であるか否かを判断する
ステップS42にて、データ容量上限83を超えると判断した場合、最適化テーブル生成部133−6は、範囲テーブル81を用いて、データサイズがデータ容量上限以上で近似誤差の合計が最小となる境界で分割された範囲毎に近似式の係数を対応付けた最適化テーブル51−6を生成する(ステップS50)。
【0116】
一方、ステップS42にて、データ容量上限83以下であると判断した場合、最大範囲選定部163は、範囲テーブル81から近似誤差合計が最大となる範囲(最大範囲)のレコードを選定する(ステップS43)。
【0117】
次に、境界候補計算部164は、全ての可能な境界の候補を計算する(ステップS44)。計算された境界の候補を示す境界候補テーブル85が記憶部40に格納される。境界候補選定部165は、境界候補テーブル85から境界を1つ選定する(ステップS45)。
【0118】
最大範囲において、分割範囲計算部166は、境界候補選定部165によって選定された境界で分割した場合の各範囲を計算する。分割範囲計算部166は、計算した各範囲に基づいて、範囲テーブル81を用いて、境界未満に属する範囲に係る境界未満範囲レコード86aと、境界以上に属する範囲に係る境界以上範囲レコード86bとを作成し、記憶部40に格納する。更に、分割データ計算部167によって、最大範囲において、境界未満に属するレコードを含む境界未満予測済みテーブル87aと、境界以上に属するレコードを含む境界以上予測済みテーブル87bとが、夫々記憶部40に格納される。
【0119】
そして、近似式計算部168は、最大範囲内で選定された境界で分割される範囲毎に、即ち、境界未満予測済みテーブル87aと境界以上予測済みテーブル87bの夫々に対して、制御変数8aの項目毎の近似式を計算し、部分誤差計算部169は、最大範囲内の選定した境界で分割される各範囲における、制御変数8aの各項目の近似誤差(部分近似誤差)を、近似式計算部168によって得られた近似式を用いて計算する(ステップS46)。
【0120】
その後、最大範囲選定部163は、未選定の境界があるか否かを判断する(ステップS47)。未選定の境界がある場合、次の境界を選定するためにステップS45へと戻る。ステップS45からS47が繰り返されることによって、候補となる境界と近似誤差合計とが対応付けられた境界近似テーブル88が作成され、記憶部40に格納される。
【0121】
一方、未選定の境界がない場合、近似誤差が最小となる境界で範囲を分割する(ステップS48)。最小誤差選定部171は、記憶部40に格納された境界近似テーブル88を参照することによって、近似誤差合計が最小となる境界を選択する。境界未満範囲レコード86aと境界以上範囲レコード86bとの夫々に、近似式及び近似誤差を示す近似情報80が設定される。
【0122】
そして、範囲データ計算部172は、分割した範囲毎に、近似式計算部168によって得られた近似式と、部分誤差計算部169によって得られた近似誤差とを対応付けたレコードを範囲テーブル81に追加する(ステップS49)。境界未満範囲レコード86aと境界以上範囲レコード86bとの夫々から近似誤差合計が最小となるレコードが、範囲テーブル81に追加される。その際、範囲テーブル81から分割された範囲である近似誤差が最大を示す1件(1レコード)を削除しておく。
【0123】
その後、CPU11は、データ容量上限83に応じた範囲の分割が可能か否かを判断するために、ステップS42へと戻り、上述同様の処理を行う。CPU11は、ステップS50にて、データ容量上限83を満たす最適化テーブル51−6が生成されると、この処理を終了する。
【0124】
次に、各処理部161から172、及び133−6とテーブル、データ等との関係を用いて、処理について詳述する。
【0125】
図19は、図18のステップS42での処理を説明するための図である。図19にて、範囲テーブル81では、各レコードにおいて、動作条件60に近似式情報80が対応付けられており、各レコードは、1からM1までの範囲番号によって特定される。M1は、範囲総数を示す。1レコードは、予め測定された、運転条件6aと出力変数8aとの1つの組み合せに相当する。また、範囲テーブル81は、近似式毎に用意される。
【0126】
第4の機能構成では、運転条件6aと出力変数8aは、下限及び上限の範囲で示され、1レコードによって、1つの範囲に係る情報が示される。また、動作条件60は、組み合せられた運転条件6aと出力変数8aとにおいて、複数の動作条件60a−1、60a−2、・・・の項目を含む。また、近似式情報80は、制御変数8aの項目(制御変数8a−1、8a−2、・・・)毎に近似式と近似誤差とが示される。制御変数8a−1に対して近似式80a−1と近似誤差80a−1とが設定されている。制御変数8aの他の項目も同様である。
【0127】
データサイズ計算部161は、範囲テーブル81を参照して、最適化テーブル51−6に必要なデータサイズ82を計算し、記憶部40に格納する。動作条件60a−1、60a−2、・・・の総数と各データ量とから、最適化テーブル51−6の1レコードの動作条件60に必要なデータサイズが計算される。また、近似式情報80から得られる制御変数8aの項目数から、最適化テーブル51−6の1レコードの近似式係数53−6に必要なデータサイズが計算される。これら計算によって、現時点の範囲分割による最適化テーブル51−6に含まれるレコード数からデータサイズ82が求められる。
【0128】
そして、データサイズ比較部162は、データサイズ82と、エンジン制御装置200のメモリ装置204のデータ容量上限83とを比較して、範囲を分割するための繰り返し処理を行うか否かを判断する。データサイズ82がデータ容量上限83以下である場合に、範囲を更に分割するための処理を繰り返して行う。データサイズ82がデータ容量上限83を超える場合に、範囲を更に分割することなく処理を終了する。
【0129】
図20は、図18のステップS43での処理を説明するための図である。図20にて、最大範囲選定部163は、範囲テーブル81から近似誤差が最大となる範囲のレコード(最大範囲レコード81max)を選定する。
【0130】
図21は、図18のステップS44及びS45での処理を説明するための図である。図21にて、境界候補計算部164は、最大範囲レコード81maxで示される動作条件60の範囲内における分割できる境界を、予測済みテーブル84を参照することによって、計算する。
【0131】
境界候補計算部164は、最大範囲レコード81maxで示される動作条件60の範囲内に属する動作条件60を示すレコードを予測済みテーブル84から抽出する。予測済みテーブル84から抽出されたレコードによって示される動作条件60の項目(60a−1、60a−2、・・・)の値から境界を求める。境界を求める方法として、サポートベクター回帰等を用いればよい。境界候補計算部164は、計算により求められた結果に基づいて、境界候補テーブル85を作成し、記憶部40に格納する。
【0132】
予測済みテーブル84は、第1の機能構成における最適化テーブル51に相当し、動作条件60(運転条件6aと出力変数7aとによる組み合せ)毎に制御変数8aが対応付けられている。予測済みテーブル84は、データ番号1からNDで特定されるレコードを有する。NDは、データ総数を示す。
【0133】
境界候補テーブル85は、境界を特定するための境界番号、境界変数、境界等の項目を有し、境界番号1からNBで特定されるレコードを有する。境界変数、境界等の項目によって、範囲を分割する境界線を表す計算式が与えられる。NBは、境界候補総数を示す。
【0134】
境界候補選定部165は、境界候補テーブル85から1つの境界(1件のレコード)を選定する。選定境界レコード85sは、境界候補選定部165によって境界候補テーブル85から選定されたレコードである。
【0135】
図22は、図18のステップS46での処理を説明するための図(その1)である。図22にて、分割範囲計算部166は、選定境界レコード85sに基づく計算式を用いて、最大範囲レコード81maxで示される最大範囲を分割する。そして、最大範囲において、境界未満に属する範囲に係る境界未満範囲レコード86aと、境界以上に属する範囲に係る境界以上範囲レコード86bとに分割される。
【0136】
図23は、図18のステップS46での処理を説明するための図(その2)である。図23にて、分割データ計算部167は、予測済みテーブル84から境界未満範囲レコード86aの動作条件60を満たすレコードを抽出して境界未満予測済みテーブル87aを生成し、記憶部40に格納する。また、分割データ計算部167は、予測済みテーブル84から境界以上範囲レコード86bの動作条件60を満たすレコードを抽出して境界以上予測済みテーブル87bを生成し、記憶部40に格納する。
【0137】
境界未満予測済みテーブル87a及び境界以上予測済みテーブル87bは、データ番号、動作条件60、制御変数8a等を有する。境界未満予測済みテーブル87aにおいて、1からNDaまでのデータ番号によってレコードが特定される。境界以上予測済みテーブル87bにおいて、1からNDbまでのデータ番号によってレコードが特定される。
【0138】
境界未満予測済みテーブル87a及び境界以上予測済みテーブル87bの夫々に対して、レコード毎に制御変数8a−1、8a−2、・・・各々を算出するための近似式が計算される。また、近似式毎に近似誤差が計算される。
【0139】
図24は、図18のステップS46での処理を説明するための図(その3)である。図24にて、近似式計算部168は、境界未満予測済みテーブル87aを参照することによって、制御変数8a−1、8a−2、・・・を計算するための近似式54a−1を作成する。
【0140】
部分誤差計算部169は、作成された近似式54a−1を用いて得られた近似値と、そのレコードの制御変数8a−1、8a−2、・・・との近似誤差を算出する。部分誤差計算部169は、全レコードに対して近似誤差を算出すると、算出した近似誤差を合算することによって、境界未満に関する部分近似誤差57aを計算する。
【0141】
境界以上予測済みテーブル87bに対して、近似式計算部168及び部分誤差計算部169は、同様の処理を行う。近似式計算部168は、近似式55a−1を作成する。部分誤差計算部169は、全レコードに対して、境界以上に関する部分近似誤差57bを計算する。
【0142】
合計誤差計算部170は、部分近似誤差57aと部分近似誤差57bとを合計することによって近似誤差合計を計算する。計算された近似誤差合計は、境界候補選定部165によって選定された境界を特定する境界番号に対応付けられ、境界近似テーブル88に追加される。
【0143】
境界近似テーブル88は、境界番号、近似誤差合計等の項目を有する。境界候補選定部165による境界候補テーブル85からのレコードの選定が終了することによって、境界候補テーブル85で示される全ての境界に対して近似誤差合計が対応付けられる。
【0144】
図25は、図18のステップS48での処理を説明するための図である。図25にて、最小誤差選定部171は、境界近似テーブル88から近似誤差合計が最小となる境界に関するレコードを1件選定する。境界近似レコード88sは、境界近似テーブル88から選定されたレコードである。
【0145】
図26は、図18のステップS49での処理を説明するための図である。図26にて、範囲データ計算部172は、範囲テーブル81から最大範囲レコード81maxを削除し、境界未満範囲レコード86aと境界以上範囲レコード86bとを範囲テーブル81に追加する。範囲データ計算部172は、範囲の分割が行われる毎にこの処理を行って範囲テーブル81を更新する。
【0146】
最適化テーブル51−6に必要なデータサイズがデータ容量上限83を超えると、範囲レコード81の更新は終了する。
【0147】
図27は、図18のステップS50での処理を説明するための図である。図27にて、最適化テーブル生成部133−6は、範囲テーブル81に基づいて、エンジン制御装置200のメモリ装置204に書き込まれる最適化テーブル51−6を生成する。範囲テーブル81の近似式情報80に関して、各近似式の係数のみが動作条件60に対応付けられる。例えば、各レコードにおいて、制御変数8a−1に対応する近似式80a−1は近似式80a−1の係数が対応付けられる。
【0148】
上述した第1の機能構成を有する複数のノード計算機に図7に示す処理を行わせる並列計算システムについて説明する。図28は、並列計算システム例を示す図である。図28において、並列計算システム700では、管理装置600は、ネットワーク2を介して、複数のノード計算機101、102、・・・の各々に接続される。管理装置600と、複数のノード計算機101、102、・・・の夫々は、図1に示される同様のハードウェア構成を有する情報処理装置である。
【0149】
管理装置600は、入力データ42を各ノード計算機101、102、・・・へ与えることによって、最適化テーブル51を作成させるサーバ装置である。入力データ42は、管理装置600にて入力データ作成部131を備えることによって、作成するようにしてもよい。或いは、管理装置600は、予め外部装置で作成された入力データ42を取得するようにしてもよい。
【0150】
各ノード計算機101、102、・・・は、モデル予測制御部132と、最適化テーブル生成部133とを有し、管理装置600から送信される入力データ42を用いて、管理装置600によって指示された処理区間に従って、最適化テーブル51’を生成し、管理装置600へと送信する。
【0151】
管理装置600は、各ノード計算機101、102、・・・から送信された最適化テーブル51’に基づいて、車両5のエンジン制御装置200のメモリ装置204に書き込まれる最適化テーブル51を完成させる。
【0152】
このような並列計算システム700は、上述した他の機能構成に対しても同様に適用することができる。並列計算システム700を構成することで、動作条件(運転条件、出力変数等)の範囲の分割に係る計算処理を高速に行うことができる。
【0153】
上述したように、本実施の形態において、運転条件6aと出力変数7aとから制御変数8aを求めるモデル予測を行う処理部を車両5に搭載する必要がない。また、既に、モデル予測によって求めておいた制御変数8aが運転条件6aと出力変数7aとの組み合せに対応付けられた最適化テーブルを車両5のエンジン制御装置200に備えることによって、エンジン制御装置200のECU202は、実際にエンジン214を制御するための制御変数8を適切な値で高速に決定することが可能となる。
【0154】
運転条件6aと出力変数7aとの組み合せに制御変数8aを対応付ける第1の機能構成では、測定データ41に基づいて、自動的かつ客観的に、運転条件6aと出力変数7aとの全組み合せを作成でき、全組み合せに対して制御変数8aをモデル予測することができる。従って、モデル予測を行っていたエンジニアの作業負担を軽減でき、また、エンジニアの能力に依存することなく、最適化テーブル51を作成することが可能となる。また、最適化テーブル51は、エンジニアによってデータを変更可能としてもよい。
【0155】
また、近似式又は近似式係数を対応付けた第2から第4の機能構成では、エンジン制御装置200のECU202によって実現される制御処理部230は、制御変数8の最適化を行うよりも遥かに短い時間で、近似式を用いた最適な制御変数8を得ることができる。また、近似式の事前の評価が容易であることから、エンジニアによる最適化テーブルの検証に係る負担を削減することができる。
【0156】
第1から第4の機能構成において生成された最適化テーブルを用いることによって、車両5のエンジン制御装置200は、急アクセル、急ブレーキによる制御変数8の変更を短い時間間隔で実現することができる。
【0157】
上記本実施の形態では、車両5のエンジンの制御を例として説明したが、化学プロセスの制御、ロボットの動作制御、自動車の走行の制御、電子機器に係る電源の制御等に適応することができ、いずれの場合においても、エンジン制御で参照されるテーブルの作成において、運転条件及び性能を示す出力変数の全組み合せに対して、モデル予測制御により計算したエンジン制御の制御変数を対応付けることによってテーブルを自動生成することができる。
【0158】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【0159】
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1)
動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数とを記憶する記憶部と、
前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部と
を有することを特徴とする情報処理装置。
(付記2)
前記組み合せ毎に、前記運転条件と前記出力変数と、前記予測制御部によって計算された前記制御変数とを用いて、該運転条件と該出力変数とから該制御変数を算出する近似式を作成する処理部を更に有し、
前記テーブル生成部は、前記組み合せ毎に、前記運転条件と前記出力変数とに、前記近似式作成部によって作成された近似式を示す前記変数データを対応付けた前記テーブルを生成することを特徴とする付記1記載の情報処理装置。
(付記3)
前記記憶部は、前記動作装置が有するメモリ装置のデータ量を記憶し、
前記処理部は、前記データ量の制約の下で、前記運転条件と前記出力変数とから前記制御変数を算出する非線形な近似式を作成することを特徴とする付記2記載の情報処理装置。
(付記4)
前記処理部は、サポートベクトル回帰によって、前記データ量の制約の下で、前記非線形な近似式を作成することを特徴とする付記3記載の情報処理装置。
(付記5)
前記記憶部は、各組み合せにおいて、前記運転条件及び前記出力変数を範囲で示し、該範囲内で計算された該動作装置の制御変数を算出する近似式及び該近似式の近似誤差合計を対応付けた範囲テーブルを記憶し、
前記範囲テーブルを参照することによって、前記近似誤差合計が最小となるように前記範囲を分割し、分割した範囲に対応する制御変数を算出するための近似式を計算する範囲分割部を有することを特徴とする付記1記載の情報処理装置。
(付記6)
前記範囲分割部は、
前記範囲テーブルによって示される前記範囲のうち、前記近似誤差合計が最大を示す最大範囲内において、前記近似誤差合計が最小となる境界で該最大範囲を分割し、該分割した範囲毎に該範囲に対して計算した前記近似式及び近似誤差合計を対応付けたレコードを前記範囲テーブルに追加することによって更新することを特徴とする付記5記載の情報処理装置。
(付記7)
前記範囲分割部は、
前記範囲テーブルを用いて計算される前記動作装置が有するメモリ装置へ書き込むデータサイズが該メモリ装置のデータ容量上限以下である間は、前記分割を繰り返し、該分割が終了した際に、更新された前記範囲テーブルに基づいて、該メモリ装置へ書き込むテーブルを生成することを特徴とする付記6記載の情報処理装置。
(付記8)
前記範囲分割部は、
前記範囲テーブルに基づいて、前記範囲に前記近似式の係数を対応付けた前記メモリ装置へ書き込むテーブルを生成することを特徴とする付記7記載の情報処理装置。
(付記9)
コンピュータによって実行されるテーブル生成方法であって、該コンピュータが、
記憶部に記憶された動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算し、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成方法。
(付記10)
記憶部に記憶された動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算し、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成する
処理をコンピュータに実行させるプログラム。
(付記11)
記憶部に記憶された動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算し、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成する
処理をコンピュータに実行させるプログラムを記憶したコンピュータ読取可能な記憶媒体。
(付記12)
動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該動作装置の制御変数に係る変数データを対応付けたテーブルを記憶するメモリ装置と、
前記メモリ装置に記憶されている前記テーブルから前記運転条件と前記出力変数とを用いて取得した前記変数データに基づいて、前記制御変数を決定する演算装置と
を有することを特徴とするエンジン制御装置。
(付記13)
前記変数データは、前記制御変数を示し、
前記演算装置は、前記テーブルから前記運転条件と前記出力変数とに対応する前記制御変数で、前記動作装置の制御変数を決定することを特徴とする付記12記載のエンジン制御装置。
(付記14)
前記変数データは、前記制御変数を算出するための近似式を示し、
前記演算装置は、前記運転条件と前記出力変数とを用いて前記近似式を計算して得た制御変数で、前記動作装置の制御変数を決定することを特徴とする付記12記載のエンジン制御装置。
(付記15)
前記変数データは、前記制御変数を算出するための近似式の係数を示し、
前記演算装置は、前記運転条件と前記出力変数とを用いて前記係数を適用した近似式を計算して得た制御変数で、前記動作装置の制御変数を決定することを特徴とする付記12記載のエンジン制御装置。
【符号の説明】
【0160】
2 ネットワーク
5 車両
6、6a 運転条件
7、7a 出力変数
8、8a 制御変数
11 CPU
12 メモリユニット
13 表示ユニット
14 出力ユニット
15 入力ユニット
16 通信ユニット
17 記憶装置
18 ドライバ
19 記憶媒体
40 記憶部
41 測定データ
42 入力データ
45 制約条件
51、51−2、51−4、51−6 最適化テーブル
53 近似式
53−6 近似式係数
60 動作条件
100 情報処理装置
101、102、・・・ ノード計算機
131 入力データ作成部
132 モデル予測制御部
132a 近似式作成部
132b SVM回帰計算部
133、133−6 最適化テーブル生成部
161 データサイズ計算部
162 データサイズ比較部
163 最大範囲選定部
164 境界候補計算部
165 境界候補選定部
166 分割範囲計算部
167 分割データ計算部
168 近似式計算部
169 部分誤差計算部
170 部分誤差合計部
171 最小誤差選定部
200 エンジン制御装置
202 ECU(演算装置)
204 メモリ装置
211 アクセルペダル
212 ブレーキペダル
214 エンジン
215 エンジンセンサ
600 管理装置
700 並列計算システム
1000 システム

【特許請求の範囲】
【請求項1】
動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数とを記憶する記憶部と、
前記記憶部に記憶されている前記運転条件と前記出力変数との組み合せ毎に、該運転条件と該出力変数とから該動作装置の制御変数を予測するモデル予測制御によって、前記出力変数を最適にする該制御変数を計算する予測制御部と、
前記組み合せ毎に、前記予測制御部によって計算された前記制御変数に係る変数データを対応付けたテーブルを生成するテーブル生成部と
を有することを特徴とする情報処理装置。
【請求項2】
前記組み合せ毎に、前記運転条件と前記出力変数と、前記予測制御部によって計算された前記制御変数とを用いて、該運転条件と該出力変数とから該制御変数を算出する近似式を作成する処理部を更に有し、
前記テーブル生成部は、前記組み合せ毎に、前記運転条件と前記出力変数とに、前記近似式作成部によって作成された近似式を示す前記変数データを対応付けた前記テーブルを生成することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記記憶部は、前記動作装置が有するメモリ装置のデータ量を記憶し、
前記処理部は、前記データ量の制約の下で、前記運転条件と前記出力変数とから前記制御変数を算出する非線形な近似式を作成することを特徴とする請求項2記載の情報処理装置。
【請求項4】
前記記憶部は、各組み合せにおいて、前記運転条件及び前記出力変数を範囲で示し、該範囲内で計算された該動作装置の制御変数を算出する近似式及び該近似式の近似誤差合計を対応付けた範囲テーブルを記憶し、
前記範囲テーブルを参照することによって、前記近似誤差合計が最小となるように前記範囲を分割し、分割した範囲に対応する制御変数を算出するための近似式を計算する範囲分割部を有することを特徴とする請求項1記載の情報処理装置。
【請求項5】
動作装置を運転する運転条件と、該運転条件に応じて該動作装置を制御した際の該動作装置の性能を示す出力変数との組み合せ毎に、該動作装置の制御変数に係る変数データを対応付けたテーブルを記憶するメモリ装置と、
前記メモリ装置に記憶されている前記テーブルから前記運転条件と前記出力変数とを用いて取得した前記変数データに基づいて、前記制御変数を決定する演算装置と
を有することを特徴とするエンジン制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2013−101507(P2013−101507A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−244968(P2011−244968)
【出願日】平成23年11月8日(2011.11.8)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】