説明

モデルベースエンジン制御装置

【課題】モデルと実エンジンとの同期をずれさせることなく予測制御が実現できるモデルベースエンジン制御装置を提供する。
【解決手段】モデル部3が実エンジン4よりも高速で動作するようモデル部3の処理速度を管理する処理速度管理部6と、実エンジン4の運転サイクルごとに、モデル部3の特定気筒の運転サイクルが終了した瞬間のモデル部3の内部計算状態を記憶しておき、実エンジン4の運転サイクルが終了したときモデル部3の内部計算状態を記憶されている内部計算状態に置換し、実エンジン4の次の運転サイクル開始と同時にモデル部3を置換された内部計算状態から運転させる同期管理部7とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデルと実エンジンとの同期をずれさせることなく予測制御が実現できるモデルベースエンジン制御装置に関する。
【背景技術】
【0002】
自動車の内燃機関(以下、エンジンという)では、排気ガス性能向上、燃費向上、エンジン性能向上という多岐にわたる要求を総合的に満たすべく、点火系(ガソリンエンジンの場合)、燃料系、空気系を中心に電子制御が行われる。この電子制御のために、自動車にはマイクロコンピュータからなるエンジン制御装置(Engine Control Unit;ECU)が搭載される。ECUは、ECUが記憶しているプログラムに従い、ドライバ操作から得られる指示量に応じ、センサで検出した瞬時ごとのエンジンの状態量を目標値と比較し、エンジン状態が前述の諸要求に対して最適となるようにアクチュエータに出力を行う。
【0003】
近年、マイクロコンピュータの演算能力の急速な向上に伴い、制御対象プラント(例えば、エンジン)の振る舞いを数式やマップからなるソフトウェアで表したモデルをECUに組み込み、このモデルをソフトウェア処理で動作させて状態量を計算し、この計算で得た状態量を用いて制御対象プラントを制御するモデルベース制御が普及しつつある。
【0004】
図3に示されるように、モデルベースエンジン制御装置(ECU)31は、ドライバ操作による指示量とエンジンの状態量とに基づいてエンジンの制御量を生成する制御ロジック部32と、エンジンを模擬して制御量から状態量を計算するモデル部33と、モデル部33が出力する状態量と実エンジン34の状態量とを選択的に制御ロジック部32に提供する状態量選択部35と、実エンジン34の複数のセンサ36から状態量を入力し、実エンジン34の複数のアクチュエータ37に対して制御量に基づく駆動信号を出力するI/Oポート38と、ドライバ操作による指示量を制御ロジック部32に入力するインタフェース(図示せず)と、モデル部33が実エンジン34と等速、すなわちリアルタイムで動作するようモデル部33の処理速度を管理する処理速度管理部39とを備える。
【0005】
なお、センサ36とアクチュエータ37は、実エンジン34に密着して示されているが、エンジン以外の部位に配置されるものも含んでおり、自動車に搭載される公知の全てのセンサとアクチュエータを表している。
【0006】
このモデルベースエンジン制御装置31では、制御ロジック部32からの制御量が実エンジン34とモデル部33の両方に与えられ、理想的にはモデル部33が実エンジン34と等しい挙動を示すことにより、モデル部33が出力する状態量が実エンジン34の状態量に等しい。このとき、実エンジン34では計測困難な状態量についても、モデル部33が出力する状態量から検出可能となる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002−4928号公報
【特許文献2】特開2011−64130号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
モデルベースエンジン制御装置31は、リアルタイムでエンジン制御を行う必要がある。しかし、制御ロジック部32がセンサ36またはモデル部33の状態量を入力してから制御量を出力するまでに、処理を実行するための相応の時間が必要になる。制御ロジック部32の制御内容が複雑かつ高度になると、それに応じて処理時間が長くなり、リアルタイムに処理ができなくなる。
【0009】
これに対し、本発明者は、モデル部33をリアルタイムよりも高速で動作させることで、センサ36が実エンジン34の状態量を検出するより前に状態量を予測し、その予測された状態量に基づいて制御ロジック部32が制御量を生成することで、実エンジン34に与える制御量がリアルタイムに間に合うという予測制御を目指している。
【0010】
しかし、予測制御では、モデル部33がリアルタイムよりも高速で動作するため、実エンジン34とモデル部33が同時に0°CA(クランク角度)から動作を開始したとすると、実エンジン34が今回の運転サイクルを終えるよりも前にモデル部33が今回の運転サイクルを終えて次回の運転サイクルに進んでしまう。このように、モデル部33が実エンジン34より先行動作することで、実エンジン34とモデル部33に運転サイクルのずれが生じる。
【0011】
本発明者は、予測制御を実用化するには、実エンジン34とモデル部33の運転サイクルのずれ(同期ずれ)を解消すること、すなわち、実エンジン34とモデル部33の同期が必要となると思い至った。以下、図4を用いて同期ずれを詳しく説明する。
【0012】
図4に示されるように、実エンジン34では、周期Tごとにクランク角度が720°CA進む。したがって、実エンジン34の1サイクル目は、時間0から時間Tまでにクランク角度が0°CAから720°CAまで進み、終了する。2サイクル目は、時間Tから時間2Tまでにクランク角度が0°CAから720°CAまで進み、終了する。
【0013】
多気筒エンジンでは、各気筒の運転行程に位相差がある。例えば、直列6気筒では120°CAごとの位相差がある。したがって、各気筒において制御量が必要となるタイミングが120°CAずつ異なる。実エンジン34の各気筒にクランク軸上の並び順の番号#1〜#6を付したとき、各番号の気筒の制御量タイミングは、隣接した気筒で燃焼行程が続かないよう、実クランク角度120°CA(時間T/6)おきに、#1、#5、#3、#6、#2、#4、#1、…という順序となる。
【0014】
一方、モデル部33では、気筒ごとの振る舞いを計算しており、気筒#1についての計算が時間0から始まるとすると、気筒#5以降についての計算はモデル上で120°CAずつ遅れて始まる。
【0015】
ここで、モデル部33の動作速度が実エンジン34(リアルタイム)の2倍とすると、同じ時間内にモデル上でのクランク角度は実クランク角度の2倍進む。
【0016】
このように、モデル部33が実エンジン34の2倍の速度で運転されると、実エンジン34が1サイクル目を終了する時間Tには、モデル部33では気筒#1について2サイクル目まで終了する。気筒#1に注目すると、モデル部33の気筒#1の1サイクル目が終了して状態量が得られてから、実エンジン34の気筒#1の制御量タイミングである時間Tまでに時間的余裕があるので、制御ロジック部32は制御量の出力を制御量タイミングに十分に間に合わせることができる。しかし、モデル部33の気筒#1の2サイクル目が終了してから実エンジン34の気筒#1の制御量タイミングである時間2Tまでは時間が大きく離れており、しかも、時間2T以前にモデル部33の気筒#1は3サイクル目が既に終了している。このように、時間経過に伴いモデル部33と実エンジン34の運転サイクルのずれが大きくなる。
【0017】
この対策とし、仮に、対象とするエンジンが単気筒エンジンであるならば、随時、モデル部33の運転を停止させ、実エンジン34の運転サイクルが進んでからモデル部33の運転を開始させることにより、モデル部33を実エンジン34に同期させるようにしても問題ない。これは、単気筒エンジンではクランク角度と運転行程が1対1で対応しているためである。
【0018】
しかし、複数の気筒を持ち、各気筒で運転状態が異なる多気筒エンジンにおいては先行動作するモデル部33とリアルタイムで動作する実エンジン34との同期をとるのは容易でない。
【0019】
多気筒エンジンでは、各気筒の状態は、位相差を持ちつつ相互に影響し合う。また、各気筒の状態は、過去の状態から現在の状態が決まるという時間的連続性を有する。このため、気筒ごとに独立して状態量計算を停止させることはできず、また、任意時点の状態を切り出してその状態だけを利用することはできない。
【0020】
このように、モデル部33を実エンジン34より高速で動作させると、モデル部33と実エンジン34との同期ずれが生じるが、多気筒エンジンでは、同期ずれを解消するのが困難であるため、予測制御が困難となる。
【0021】
そこで、本発明の目的は、上記課題を解決し、モデルと実エンジンとの同期をずれさせることなく予測制御が実現できるモデルベースエンジン制御装置を提供することにある。
【課題を解決するための手段】
【0022】
上記目的を達成するために本発明のモデルベースエンジン制御装置は、ドライバ操作による指示量とエンジンの状態量とに基づいてエンジンの制御量を生成する制御ロジック部と、エンジンを模擬して制御量から状態量を計算するモデル部と、前記モデル部が出力する状態量と実エンジンの状態量とを選択的に前記制御ロジック部に提供する状態量選択部と、前記モデル部が実エンジンの2倍よりも高速で動作するよう前記モデル部の処理速度を管理する処理速度管理部と、実エンジンの運転サイクルごとに、前記モデル部の特定気筒の運転サイクルが終了した瞬間の前記モデル部の内部計算状態を記憶しておき、実エンジンの運転サイクルが終了したとき前記モデル部の内部計算状態を記憶されている内部計算状態に置換し、実エンジンの次の運転サイクル開始と同時に前記モデル部を置換された内部計算状態から運転させる同期管理部とを備えたものである。
【発明の効果】
【0023】
本発明は次の如き優れた効果を発揮する。
【0024】
(1)モデルと実エンジンとの同期をずれさせることなく予測制御が実現できる。
【図面の簡単な説明】
【0025】
【図1】本発明の一実施形態を示すモデルベースエンジン制御装置の構成図である。
【図2】本発明のモデルベースエンジン制御装置における実エンジンとモデル部のタイミングチャートである。
【図3】従来のモデルベースエンジン制御装置の構成図である。
【図4】従来のモデルベースエンジン制御装置を予測制御しようとする場合の実エンジンとモデル部のタイミングチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【0027】
図1に示されるように、本発明に係るモデルベースエンジン制御装置(ECU)1は、ドライバ操作による指示量とエンジンの状態量とに基づいてエンジンの制御量を生成する制御ロジック部2と、エンジンを模擬して制御量から状態量を計算するモデル部3と、モデル部3が出力する状態量と実エンジン4の状態量とを選択的に制御ロジック部2に提供する状態量選択部5と、モデル部3が実エンジン4の2倍よりも高速で動作するようモデル部3の処理速度を管理する処理速度管理部6と、実エンジン4の運転サイクルごとに、モデル部3の特定気筒の運転サイクルが終了した瞬間のモデル部3の内部計算状態を記憶しておき、実エンジン4の運転サイクルが終了したときモデル部3の内部計算状態を記憶されている内部計算状態に置換し、実エンジン4の次の運転サイクル開始と同時にモデル部3を置換された内部計算状態から運転させる同期管理部7とを備える。
【0028】
ここで、モデル部3の内部計算状態とは、計算の進行に伴って変化する全ての数値の瞬時値のことであり、より具体的には、メモリに格納されている変数値、CPUレジスタの内容、CPUステータス、プログラムカウンタ値などが含まれる。
【0029】
図1の実エンジン4は、図3の実エンジン34と同じであり、図1のセンサ8とアクチュエータ9は、図3のセンサ36とアクチュエータ37と同様に、自動車に搭載される公知の全てのセンサとアクチュエータを表している。図1のI/Oポート10は、図3のI/Oポート38と同じである。
【0030】
本発明のモデルベースエンジン制御装置1は、モデルベース制御においてモデル部3を実エンジン4よりも先行動作させ、予測した状態量に基づくエンジン制御、いわゆる予測制御を実施するものである。予測制御に際し、従来のモデルベースエンジン制御装置31では先行するモデル部33の運転サイクルが時間経過に伴い実エンジン34の運転サイクルから乖離していくという問題があったので、これを解決し、かつ、各気筒相互の影響及び時間的連続性を維持するため、本発明では、モデル部3を停止させることなく運転し、実エンジン4の運転サイクルごとにモデル部3の内部計算状態を過去に戻すことで実エンジン4に同期させるようになっている。
【0031】
以下、モデルベースエンジン制御装置1の動作を説明する。
【0032】
図2に示されるように、実エンジン4とモデル部3が同時に0°CAから動作を開始したとする(実際には、それ以前から継続して動作している)。実エンジン4では、1サイクル目は、時間0から時間Tまでにクランク角度が0°CAから720°CAまで進み、終了する。2サイクル目は、時間Tから時間2Tまでにクランク角度が0°CAから720°CAまで進み、終了する。3サイクル目以降も同様である。
【0033】
これに対し、処理速度管理部6は、モデル部3が実エンジン4の2倍の速度で動作するようモデル部3の処理速度を管理する。モデル部3が実エンジン4の2倍の速度で運転されることにより、モデル部3による気筒#1の1サイクル目の状態量計算は、実エンジン4の1サイクル目の終了時間Tより早く終了する。モデル部3が気筒#1の1サイクル目の状態量を出力すると、状態量選択部5は、モデル部3が出力する状態量を選択して制御ロジック部2に提供する。これにより、制御ロジック部2は、実エンジン4の2サイクル目に備えて気筒#1に対する制御量計算を開始する。
【0034】
同期管理部7は、気筒#1の1サイクル目が終了したときのモデル部3の内部計算状態を記憶しておく。その後、同期管理部7は、実エンジン4の1サイクル目が終了したとき(時間T)、モデル部3の内部計算状態を記憶されている内部計算状態に置換し、実エンジン4の2サイクル目の開始と同時にモデル部3を置換された内部計算状態から運転させる。したがって、モデル部3は、時間Tから気筒#1の2サイクル目を運転することになる。
【0035】
モデル部3による気筒#1の2サイクル目の状態量計算は、実エンジン4の2サイクル目の終了時間2Tより早く終了する。モデル部3が気筒#1の2サイクル目の状態量を出力すると、状態量選択部5は、モデル部3が出力する状態量を選択して制御ロジック部2に提供する。これにより、制御ロジック部2は、実エンジン4の3サイクル目に備えて気筒#1に対する制御量計算を開始する。
【0036】
同期管理部7は、気筒#1の2サイクル目が終了したときのモデル部3の内部計算状態を記憶しておく。その後、同期管理部7は、実エンジン4の2サイクル目が終了したとき(時間2T)、モデル部3の内部計算状態を記憶されている内部計算状態に置換し、実エンジン4の3サイクル目の開始と同時にモデル部3を置換された内部計算状態から運転させる。したがって、モデル部3は、時間2Tから気筒#1の3サイクル目を運転することになる。
【0037】
各気筒に関する状態量全計算について説明すると、モデル部3では、気筒#1についての計算が時間t0から始まるとすると、気筒#5以降についての計算はモデル上で120°CAに相当する時間ずつ遅れて始まる。
【0038】
気筒#1の1サイクル目が終了した時間t1に、モデル部3の内部計算状態が記憶される。気筒#1に関して記憶される内部計算状態は1サイクル目の終了(=2サイクル目の開始)の状態である。気筒#5に関する内部計算状態は、1サイクル目が大半終わった状態、気筒#3に関する内部計算状態は、1サイクル目が半分以上終わった状態、気筒#6に関する内部計算状態は、1サイクル目が半分終わった状態、気筒#2に関する内部計算状態は、1サイクル目が半分未満終わった状態、気筒#4に関する内部計算状態は、1サイクル目が始まって間もない状態である。
【0039】
モデル部3は、同期管理部7が内部計算状態を記憶したことに影響を受けることなく、そのまま計算を続行する。したがって、時間t1以降は、気筒#1の2サイクル目、気筒#2〜#6の1サイクル目の残りと2サイクル目の一部が計算される。ここで計算された気筒#2〜#6の1サイクル目の状態量は、制御ロジック部2に提供され、各気筒#2〜#6の2サイクル目のための制御量計算に使用される。
【0040】
その後、時間t2において内部計算状態が置換されると、全気筒に関して時間t2までの計算内容は失われ、気筒#1に関する内部計算状態は2サイクル目の開始の状態、気筒#5に関する内部計算状態は1サイクル目が大半終わった状態、気筒#3に関する内部計算状態は1サイクル目が半分以上終わった状態、気筒#6に関する内部計算状態は1サイクル目が半分終わった状態、気筒#2に関する内部計算状態は1サイクル目が半分未満終わった状態、気筒#4に関する内部計算状態は1サイクル目が始まって間もない状態に戻ることになる。モデル部3は、置換された内部計算状態から運転され、気筒#1の2サイクル目と気筒#2〜#6の1サイクル目の残りの計算が再開されることになる。
【0041】
気筒#1の2サイクル目が終了した時間t3には、モデル部3の内部計算状態が記憶され、モデル部3は、そのまま計算を続行する。計算された状態量は、3サイクル目のための制御量計算に使用される。その後、時間t4において内部計算状態が置換され、以下、同様の繰り返しとなる。
【0042】
以上説明したように、本発明のモデルベースエンジン制御装置1によれば、実エンジン4の運転サイクルごとに、モデル部3の特定気筒の運転サイクルが終了した瞬間のモデル部3の内部計算状態を記憶しておき、実エンジン4の運転サイクルが終了したときモデル部3の内部計算状態を記憶されている内部計算状態に置換し、実エンジン4の次の運転サイクル開始と同時にモデル部3を置換された内部計算状態から運転させるようにしたので、モデル部3を停止させることなく運転し、実エンジン4の運転サイクルごとにモデル部3の内部計算状態を過去に戻すことでモデル部3を実エンジン4に同期させることができる。これにより、モデル上のクランク角度の進行に沿って全気筒の状態量計算が並列で実行されるようになり、各気筒相互の影響が失われることがなくなる。また、各気筒の状態の時間的連続性が失われることがなくなる。この結果、モデル部3の実機模擬精度が向上する。
【0043】
本実施形態では、モデル部3が実エンジン4の2倍の速度で動作するものとしたが、丁度2倍である必要はなく、実エンジン4の2倍より高速であればよい。モデル部3が実エンジン4の2倍より高速で動作すると、図2の時間t1〜t4は左へ移動する。この場合も、時間t1に記憶されたモデル部3の内部計算状態が時間Tで置換され、内部計算状態が元に戻ることになる。また、時間Tより後は気筒#1の2サイクル目が終了した時間に、モデル部3の内部計算状態が記憶される。
【符号の説明】
【0044】
1 モデルベースエンジン制御装置
2 制御ロジック部
3 モデル部
4 実エンジン
5 状態量選択部
6 処理速度管理部
7 同期管理部

【特許請求の範囲】
【請求項1】
ドライバ操作による指示量とエンジンの状態量とに基づいてエンジンの制御量を生成する制御ロジック部と、
エンジンを模擬して制御量から状態量を計算するモデル部と、
前記モデル部が出力する状態量と実エンジンの状態量とを選択的に前記制御ロジック部に提供する状態量選択部と、
前記モデル部が実エンジンの2倍よりも高速で動作するよう前記モデル部の処理速度を管理する処理速度管理部と、
実エンジンの運転サイクルごとに、前記モデル部の特定気筒の運転サイクルが終了した瞬間の前記モデル部の内部計算状態を記憶しておき、実エンジンの運転サイクルが終了したとき前記モデル部の内部計算状態を記憶されている内部計算状態に置換し、実エンジンの次の運転サイクル開始と同時に前記モデル部を置換された内部計算状態から運転させる同期管理部とを備えたことを特徴とするモデルベースエンジン制御装置。

【図1】
image rotate

【図3】
image rotate

【図2】
image rotate

【図4】
image rotate


【公開番号】特開2013−83166(P2013−83166A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−221961(P2011−221961)
【出願日】平成23年10月6日(2011.10.6)
【出願人】(000000170)いすゞ自動車株式会社 (1,721)
【Fターム(参考)】