(57)【要約】【課題】マルチコアプロセッサを搭載した内燃機関において、演算処理を要求終了タイミングまでに完了させることと演算処理精度を高めることとを高い次元で両立することのできる内燃機関の制御装置を提供する。【解決手段】並列演算装置は、特定物理量を演算するための複雑制御系の演算と、複雑制御系よりもその演算が簡易化された簡易制御系の演算とを、マルチコアプロセッサにより並列に実行する。メモリは、複雑制御系および簡易制御系の何れかの演算結果を特定物理量の出力値として要求終了タイミング毎に記憶する。この際、要求終了タイミングにおいて複雑制御系および簡易制御系の両方の演算が完了している場合には複雑制御系の演算結果を記憶し、簡易制御系の演算が完了し且つ複雑制御系の演算が未完了である場合には簡易制御系の演算結果を記憶する。【選択図】図２
2014211113.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアが搭載されたマルチコアプロセッサを用いて内燃機関の特定物理量を逐次演算して記憶する内燃機関の制御装置において、
前記特定物理量を演算するための第１の制御系と、
前記第１の制御系とは異なる演算により前記特定物理量を演算するモデルであって、前記第１の制御系よりもその演算が簡易化された第２の制御系と、
前記複数のコアから選択された第１のコアを用いて、前記第１の制御系による演算を行う第１の演算手段と、
前記第１のコアとは異なる第２のコアを用いて、前記第２の制御系による演算を行う第２の演算手段と、
前記第１の演算手段および前記第２の演算手段の何れかの演算結果を前記特定物理量の出力値として所定タイミング毎に記憶する記憶手段と、を備え、
前記記憶手段は、前記所定タイミングにおいて前記第１の演算手段および前記第２の演算手段の両方の演算が完了している場合には前記第１の演算手段の演算結果を記憶し、前記所定タイミングにおいて前記第２の演算手段の演算が完了し且つ前記第１の演算手段の演算が未完了である場合には前記第２の演算手段の演算結果を記憶することを特徴とする内燃機関の制御装置。
【請求項２】
前記第１の演算手段による演算が前記所定タイミングを超えて完了したときには、前記記憶手段により記憶されていた前記第２の演算手段による演算結果を前記第１の演算手段による演算結果に置換する置換手段を更に備えることを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記第１の演算手段は、前記所定タイミングにおいて前記第１の演算手段による演算が完了していない場合には、前記第１のコアにおいて当該演算を継続するとともに、前記第１のコアとは異なる第３のコアを用いて、前記第１の制御系による次の演算周期の演算を行うことを特徴とする請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記第１の演算手段および前記第２の演算手段は、前記内燃機関の燃焼サイクルのクランク角期間を演算期間として逐次演算を実行し、
前記所定タイミングは、前記演算期間の終了のタイミングであることを特徴とする請求項１乃至３の何れか１項記載の内燃機関の制御装置。
【請求項５】
前記特定物理量は前記内燃機関の排気温度であり、
前記第１の制御系は、前記内燃機関の燃焼状態を気筒毎に推定することにより排気温度を演算するモデルであり、
前記第２の制御系は、前記内燃機関の１燃焼サイクルの燃焼状態を包括的に推定することにより排気温度を演算するモデルであることを特徴とする請求項１乃至４の何れか１項記載の内燃機関の制御装置。
【請求項６】
前記第１の制御系および前記第２の制御系は、前記記憶手段に記憶された前回の演算期間の前記特定物理量を用いて、今回の演算期間における前記特定物理量を演算するモデルであることを特徴とする請求項１乃至５の何れか１項記載の内燃機関の制御装置。
【請求項７】
前記特定物理量は前記内燃機関の筒内に吸入される筒内空気量であり、
前記第１の制御系は、前記内燃機関のアクチュエータの操作量に基づいて前記筒内空気量を演算するモデルであり、
前記第２の制御系は、エアフローメータの検出値に基づいて前記筒内空気量を演算するモデルであり、
前記所定タイミングにおける前記第１の演算手段の演算結果と前記第２の演算手段の演算結果とが所定の閾値よりも乖離している場合に、前記第１の制御系のパラメータを学習する学習手段を更に備えることを特徴とする請求項１乃至４の何れか１項記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に係り、詳しくは、マルチコアプロセッサを搭載した内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、複数のプロセッサを搭載した演算装置が知られている。特開２００６−３４４１６２号公報（以下、特許文献１）に記載されているものも、そのような演算装置の１つである。特許文献１に記載されている演算装置は、複数のプロセッサを用いて並列処理を行う際に、消費電力量情報に基づいて複数のプロセッサによる消費電力量の合計が最小となるように、複数のプロセッサに対する割り付けと、動作周波数および電圧の設定を行うことができるようにしたものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３４４１６２号公報
【特許文献２】特開平６−３２１０７６号公報
【特許文献３】特開２０１２−１１８６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年においては、１つのＣＰＵに複数のコアを搭載した演算装置、すなわちマルチコアプロセッサの使用が自動車用エンジン制御の分野でも検討されている。エンジンに搭載されるアクチュエータの数と種類は益々増えており、それらアクチュエータの制御目標値を演算するためには、マルチコアプロセッサの高い処理能力が有望だからである。
【０００５】
但し、上述したようなマルチコアプロセッサの演算手法を単純に自動車用エンジン制御に適用することができるとは限らない。すなわち、エンジン制御に関する演算処理では、逐次性が高く且つ複数のコアに演算タスクを分割することが困難な演算処理が数多く存在する。このような演算処理については単一のコアにて演算することが考えられるが、この場合、エンジンの高回転時の演算負荷の上昇が問題となる。エンジン制御の分野ではクランク角に同期した演算処理が数多く存在し、これらの演算についてはエンジン回転数が高いほど時間当たりの演算負荷が高くなるからである。このため、エンジン制御に用いる種々の物理量を演算する際に、例えば気筒毎の燃焼状態をそれぞれ複雑なモデル式によって精度よく推定して演算処理することとすると、エンジンの高回転時において演算処理が所定の演算終了タイミングまでに完了せず、タスク抜け等の不具合が生じるおそれがある。一方、エンジン制御に用いる種々の物理量を演算する際に、例えば比較的簡易なモデル式を用いて演算処理することとすると、上述したような演算処理が未完了となる事態は回避されるものの演算精度の点で十分とは言い難い。このように、従来のマルチコアプロセッサの演算手法を自動車用エンジン制御に適用した場合、演算処理を要求終了タイミングまでに完了させることと演算処理精度を高めることとを高い次元で両立することはできない。
【０００６】
本発明は、上述のような課題に鑑みてなされたもので、マルチコアプロセッサを搭載した内燃機関において、演算処理を要求終了タイミングまでに完了させることと演算処理精度を高めることとを高い次元で両立することのできる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、上記の目的を達成するため、複数のコアが搭載されたマルチコアプロセッサを用いて内燃機関の特定物理量を逐次演算して記憶する内燃機関の制御装置において、
前記特定物理量を演算するための第１の制御系と、
前記第１の制御系とは異なる演算により前記特定物理量を演算するモデルであって、前記第１の制御系よりもその演算が簡易化された第２の制御系と、
前記複数のコアから選択された第１のコアを用いて、前記第１の制御系による演算を行う第１の演算手段と、
前記第１のコアとは異なる第２のコアを用いて、前記第２の制御系による演算を行う第２の演算手段と、
前記第１の演算手段および前記第２の演算手段の何れかの演算結果を前記特定物理量の出力値として所定タイミング毎に記憶する記憶手段と、を備え、
前記記憶手段は、前記所定タイミングにおいて前記第１の演算手段および前記第２の演算手段の両方の演算が完了している場合には前記第１の演算手段の演算結果を記憶し、前記所定タイミングにおいて前記第２の演算手段の演算が完了し且つ前記第１の演算手段の演算が未完了である場合には前記第２の演算手段の演算結果を記憶することを特徴としている。
【０００８】
第２の発明は、第１の発明において、
前記第１の演算手段による演算が前記所定タイミングを超えて完了したときには、前記記憶手段により記憶されていた前記第２の演算手段による演算結果を前記第１の演算手段による演算結果に置換する置換手段を更に備えることを特徴としている。
【０００９】
第３の発明は、第１または第２の発明において、
前記第１の演算手段は、前記所定タイミングにおいて前記第１の演算手段による演算が完了していない場合には、前記第１のコアにおいて当該演算を継続するとともに、前記第１のコアとは異なる第３のコアを用いて、前記第１の制御系による次の演算周期の演算を行うことを特徴としている。
【００１０】
第４の発明は、第１乃至第３の何れか１つの発明において、
前記第１の演算手段および前記第２の演算手段は、前記内燃機関の燃焼サイクルのクランク角期間を演算期間として逐次演算を実行し、
前記所定タイミングは、前記演算期間の終了のタイミングであることを特徴としている。
【００１１】
第５の発明は、第１乃至第４の何れか１つの発明において、
前記特定物理量は前記内燃機関の排気温度であり、
前記第１の制御系は、前記内燃機関の燃焼状態を気筒毎に推定することにより排気温度を演算するモデルであり、
前記第２の制御系は、前記内燃機関の１燃焼サイクルの燃焼状態を包括的に推定することにより排気温度を演算するモデルであることを特徴としている。
【００１２】
第６の発明は、第１乃至第５の何れか１つの発明において、
前記第１の制御系および前記第２の制御系は、前記記憶手段に記憶された前回の演算期間の前記特定物理量を用いて、今回の演算期間における前記特定物理量を演算するモデルであることを特徴としている。
【００１３】
第７の発明は、第１乃至第４の何れか１つの発明において、
前記特定物理量は前記内燃機関の筒内に吸入される筒内空気量であり、
前記第１の制御系は、前記内燃機関のアクチュエータの操作量に基づいて前記筒内空気量を演算するモデルであり、
前記第２の制御系は、エアフローメータの検出値に基づいて前記筒内空気量を演算するモデルであり、
前記所定タイミングにおける前記第１の演算手段の演算結果と前記第２の演算手段の演算結果とが所定の閾値よりも乖離している場合に、前記第１の制御系のパラメータを学習する学習手段を更に備えることを特徴としている。
【発明の効果】
【００１４】
第１の発明によれば、特定物理量を演算するための第１の制御系と、第１の制御系とは異なる演算により特定物理量を演算するモデルであって第１の制御系よりもその演算が簡易化された第２の制御系と、を備え、複数のコアから選択された第１のコアを用いて第１の制御系による演算が行われ、第１のコアとは異なる第２のコアを用いて第２の制御系による演算が行われる。そして、所定の出力タイミングにおいて両演算が完了している場合には第１の制御系による演算結果が特定物理量の出力値として記憶され、第２の制御系の演算のみ完了しており第１の制御系の演算が完了していない場合には第２の制御系による演算結果が記憶される。このため、本発明によれば、第１の制御系による演算結果を最大限に利用することができるとともに、要求される出力タイミングにおいて演算が完了しない事態を有効に回避することができる。
【００１５】
第２の発明によれば、第１の制御系による演算が所定の出力タイミングを超えて完了した時には、記憶手段に記憶されていた第２の制御系による演算結果が完了した当該第１の制御系の演算結果に置換される。このため、本発明によれば、所定の出力タイミングにおいては演算が完了しない事態を有効に回避しつつ、より演算精度の高い第１の制御系の演算結果の利用幅を更に拡げることができる。
【００１６】
第３の発明によれば、所定の出力タイミングにおいて第１の制御系による演算が完了しなかった場合に、第１のコアにて当該演算を完了まで継続するとともに、第１のコアとは異なる第３のコアにて次の演算周期の第１の制御系による演算が行われる。このため、本発明によれば、所定の出力タイミングにおいて第１の制御系による演算が完了しなかった場合であっても、次回の演算周期の演算を並行して行うことができる。
【００１７】
第４の発明によれば、内燃機関の燃焼サイクルのクランク角期間を演算期間として第１の制御系及び第２の制御系を用いた逐次演算がそれぞれ実行され、所定の出力タイミングが当該演算期間の終了タイミングとされる。このため、本発明によれば、燃焼サイクル毎の特定物理量を精度よく演算することができる。
【００１８】
第５の発明によれば、特定物理量として排気温度が演算される。この際、第１の制御系による演算では内燃機関の燃焼状態を気筒毎に推定することにより排気温度が演算され、また第２の制御系による演算では内燃機関の燃焼サイクルの燃焼状態を包括的に推定することにより排気温度が演算される。このため、本発明によれば、排気温度を高精度に演算する演算手段と簡易的に演算する演算手段とを有効に実現することができる。
【００１９】
第６の発明によれば、第１の制御系では記憶手段に記憶された前回の演算結果を用いて今回の演算期間における特定物理量の演算が行われる。このため、本発明によれば、特定物理量の履歴を考慮することでより詳細な特定物理量の演算を行うことができる。
【００２０】
第７の発明によれば、特定物理量として内燃機関の筒内に吸入される筒内空気量が演算される。この際、第１の制御系の演算ではアクチュエータの操作量に基づいて筒内空気量が演算され、また第２の制御系による演算ではエアフローメータの検出値に基づいて筒内空気量が演算される。そして、第１の制御系による演算結果が第２の制御系による演算結果から所定の閾値よりも乖離している場合に、第１の制御系のパラメータが学習される。第２の制御系による演算はエアフローメータの検出値を用いているため、経年劣化による誤差が生じ難い。一方、アクチュエータの通過前後における状態量変化には経年劣化による誤差が生じ易いため、第１の制御系による演算には経年劣化による誤差が生じ易い。このため、本発明によれば、第１の制御系による演算結果と第２の制御系による演算結果とを比較することにより、第１の制御系による演算の経年誤差の有無を判断し、第１の制御系のパラメータを有効に学習することができる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１の並列演算装置の構成を示す図である。
【図２】実施の形態１の並列演算装置によって実行されるルーチンを示すフローチャートである。
【図３】図２に示すルーチンを実行した場合の各コアでの演算の様子を示すタイミングチャートである。
【図４】前回値を次演算時に参照する制御系を本発明に適用した場合の一例を示すタイミングチャートである。
【図５】空気量学習制御を説明するためのタイミングチャートである。
【図６】実施の形態２の並列演算装置によって実行されるルーチンを示すフローチャートである。
【図７】トルク推定におけるパラメータ学習制御を説明するためのタイミングチャートである。
【図８】２つの異なる制御系を用いて空燃比を推定する方法を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００２２】
実施の形態１．
本発明の実施の形態１について図を参照して説明する。
【００２３】
本実施の形態の並列演算装置は、エンジン制御プログラムに利用される様々な物理量を演算する装置である。本発明においては、エンジン制御プログラムにより制御されるエンジンの種類や構造に限定は無く、エンジン制御プログラム自体についてもその内容に限定は無い。また、本実施の形態の並列演算装置が演算する物理量の種類や数にも限定はない。本実施の形態１では、特定物理量がエンジンの排気温度である場合を例に説明するが、本発明は空燃比、筒内空気量、トルク等、様々な物理量の演算に適用することができる。
【００２４】
図１は本実施の形態の並列演算装置の構成を示す図である。本実施の形態のシステムは演算装置を備えている。この演算装置は、ハードウェアとしてのコア及びメモリを備えている。この演算装置が搭載するコアの数は４つであり、各コアは図示省略のＣＰＵとキャッシュを備えている。４つのコアとメモリは図示省略のバスで接続されている。メモリは４つのコア間で共有される共有メモリである。メモリには、特定物理量を演算する際に用いられる制御系とエンジンの試験データ及び設計データが記憶されている。また、後述する要求終了タイミング毎の演算結果は当該メモリに記憶される。
【００２５】
本実施の形態１の並列演算装置では、特定物理量としての排気温度Tburnを推定するための制御系として複雑制御系と簡易制御系とが用いられている。複雑制御系は、筒内の燃焼を気筒・クランク角毎に演算することにより燃焼によるガスの温度上昇を推定するための制御系であり、例えば次式（１）により排気温度Tburnを演算することができる。なお、次式（１）において、SA(N)は時間Nでの点火時期を、KL(N) は時間Nでの空気量を、 INJ(N)は時間Nでの噴射量を、 THA(N)は時間Nでの吸気温度を、 EGR(N)は時間NでのEGR量を、 CYLは対象気筒を、 ΔCAはクランク角変化を、それぞれ示している。
Tburn(N+1)[CYL]＝f(SA(N), KL(N), INJ(N), THA(N), EGR(N), CYL, ΔCA)  …（１）
【００２６】
また、簡易制御系は、筒内の燃焼を全気筒・１燃焼サイクルの平均値で演算することにより燃焼によるガスの温度上昇を推定するための制御系であり、例えば次式（２）により排気温度Tburnを演算することができる。
Tburn(N+1)＝f(SA(N), KL(N), INJ(N))  …（２）
【００２７】
上式（１）に示すように、複雑制御系は複数のセンサ値やエンジン状態量を入力に用いることにより、気筒毎の燃焼状態をより詳細に推定する構成としている。このため、複雑制御系によれば、多数の演算を処理するための時間が必要になるが、排気温度Tburn等の特定物理量をより高精度に演算することができる。これに対して、上式（２）に示す簡易制御系の演算では、限られた入力を用いて１燃焼サイクル期間の燃焼を簡易的に推定する構成としている。このため、簡易制御系によれば、排気温度Tburn等の特定物理量を簡易的に演算することになるが、より短時間で演算処理を完了することができる。
【００２８】
演算精度の観点からは、常に上式（１）に示すような複雑制御系を用いて排気温度Tburnを演算することが好ましい。しかしながら、複雑制御系による演算はエンジンの高回転時に不適な場合がある。すなわち、エンジン制御プログラムの演算には、クランク角に同期した演算が数多く含まれている。これらのクランク角同期演算は、エンジンが高回転になるにつれて時間当たりの演算負荷が高くなることが知られている。このため、回転数変化に伴う演算負荷の上昇を考慮せずに複雑制御系による演算を常に行うこととすると、エンジンの高回転時において、要求終了タイミング（例えば１燃焼サイクル毎）に演算を完了させることができず、タスク抜け等の不具合が発生するおそれがある。一方において、上記不具合を解消するために上式（２）の簡易制御系による演算を常に行うこととすると、所望の演算精度を確保できずにエミッションや燃費の悪化を招くおそれがある。
【００２９】
そこで、本実施の形態のシステムでは、並列演算装置を用いて要求演算精度を満たすことと要求終了タイミングに演算を間に合わせることとを両立することとする。以下、図２および図３を参照して本実施の形態の並列演算装置を用いた特定物理量の演算方法について詳細に説明する。
【００３０】
図２は、本実施の形態の並列演算装置によって実行されるルーチンを示すフローチャートである。また、図３は図２に示すルーチンを実行した場合の各コアでの演算の様子を示すタイミングチャートである。図２に示すルーチンでは、先ずコア１にて簡易制御系での演算が行われる（ステップＳ１）。ここでは、具体的には、例えば上式（２）を用いて時間N+1での排気温度が演算される。また、コア２ではコア１の演算と同じ特定物理量を対象とした複雑制御系での演算が上記ステップＳ１の演算と並行して行われる（ステップＳ２）。ここでは、具体的には、例えば上式（１）を用いて時間N+1での排気温度が演算される。
【００３１】
次に、要求終了タイミングにて複雑制御系の演算が完了しているか否かが判定される（ステップＳ３）。その結果、要求終了タイミングにて複雑制御系の演算が完了していると判定された場合（図３中の（ａ））には、複雑制御系の結果が当該要求終了タイミングにおける出力値としてメモリに記憶される（ステップＳ４）。これにより、コア１とコア２の演算結果のうち、より演算精度の高いコア２の演算結果が用いられる。
【００３２】
一方、上記ステップＳ３において、要求終了タイミングにて複雑制御系の演算が完了していないと判定された場合（図３中の（ｂ））には、複雑制御系の演算結果を用いることができないので、簡易制御系の結果が当該要求終了タイミングにおける出力としてメモリに記憶される（ステップＳ５）。これにより、コア２の演算が要求終了タイミングに間に合わない場合であっても、コア１の演算結果を用いることにより当該要求出力タイミングに出力を間に合わせることができる。
【００３３】
図２に示すように、要求終了タイミングにて複雑制御系の演算が完了していない場合であっても、コア２では複雑制御系の演算が完了まで継続される（図３中の（ｃ））。そして、コア２における複雑制御系の演算が完了した後に、上記ステップＳ５において記憶された簡易制御系の結果が当該複雑制御系の演算結果によって上書きされる（ステップＳ６）。これにより、より演算精度の高いコア２の演算結果を利用する機会を増やすことができる。尚、コア２において複雑制御系の演算が要求終了タイミングの経過後も継続されている場合には、コア３を用いて次回の複雑制御系の演算が行われる（図３中の（ｄ））。これにより、次回の複雑制御系の演算を問題なく行うことができる。
【００３４】
ところで、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、演算装置の備えるコアの数は限定されない。本発明を適用する演算装置は複数のコアを有するいわゆるマルチコアチップの演算装置であればよく、コア数が数十個のいわゆるメニーコアチップの演算装置でもよい。
【００３５】
また、上述した実施の形態の並列計算装置では、複雑制御系の演算として上式（１）を利用し簡易制御系の演算として上式（２）を利用することとしているが、これらの制御系で利用可能な演算は上式に限られない。すなわち、複雑制御系の演算が簡易制御系の演算に比して精度が高く且つ処理に要する時間が長いのであれば、他の制御系を用いることとしてもよい。例えば、本発明の演算には前回値を次演算時に参照する制御系を用いることとしてもよい。図４は前回値を次演算時に参照する制御系を本発明に適用した場合の一例を示すタイミングチャートである。
【００３６】
図４に示す例では、特定物理量としての排気温度Tburnを推定する際に前回値の参照が行われる。具体的には、複雑制御系および簡易制御系では次式（３）および次式（４）に従い演算が行われる。
Tburn(N+1)[CYL]＝αTburn(N)[CYL] + βΔTburn(SA(N), KL(N), INJ(N), THA(N), EGR(N), CYL, ΔCA)  …（３）
Tburn(N+1)＝αTburn(N) + βΔTburn(SA(N), KL(N), INJ(N))  …（４）
【００３７】
図４に示すように、複雑制御系および簡易制御系の演算では演算の過程で前回値の参照が行われる。この際、例えば複雑制御系の演算結果が出力としてメモリに記憶された場合（図４中の（ａ））、複雑制御系および簡易制御系における次演算において当該出力が参照される（図４中の（ｂ））。これにより、複雑制御系において演算された高精度な出力値を前回値として利用することができる。また、複雑制御系の演算が要求終了タイミングに完了せず、複雑制御系の演算結果が後から出力として上書きされる場合には（図４中の（ｃ））、前回値の参照が上書きの後のタイミングであれば複雑制御系において演算された高精度な出力値を前回値として利用することができる。
【００３８】
尚、上述した実施の形態１の並列演算装置では、排気温度が第１の発明における「特定物理量」に、要求終了タイミングが第１の発明における「所定タイミング」に、複雑制御系が第１の発明における「第１の制御系」に、簡易制御系が第１の発明における「第２の制御系」に、それぞれ相当している。また、上述した実施の形態１の並列演算装置では、演算装置が上記ステップＳ１の処理を実行することにより第１の発明における「第１の演算手段」が、上記ステップＳ２の処理を実行することにより第１の発明における「第２の演算手段」が、上記ステップＳ４またはＳ５の処理を実行することにより第１の発明における「記憶手段」が、それぞれ実現されている。
【００３９】
また、上述した実施の形態１の並列演算装置では、演算装置が上記ステップＳ６の処理を実行することにより第２の発明における「置換手段」が実現されている。
【００４０】
実施の形態２．
本発明の実施の形態２について図を参照して説明する。
【００４１】
［実施の形態２の特徴］
本実施の形態２の並列計算装置は、特定物理量としての筒内空気量を演算する場合に、上述した特定物理量の演算に加えて簡易制御系の演算結果と複雑制御系の演算結果とを用いた空気量学習制御を更に行うことに特徴を有している。図５は、空気量学習制御を説明するためのタイミングチャートである。
【００４２】
図５に示す例では、特定物理量として筒内空気量KLを推定する際に複雑制御系を用いた演算と簡易制御系を用いた演算とが並列に行われる。本実施の形態のシステムで用いられる複雑制御系は、空気系のアクチュエータの状態から空気量を推定し筒内に流れ込む空気量KLを演算するための制御系であり、例えば次式（５）を用いて演算することができる。なお、次式（５）において、TA(N)は時間Nでのスロットル操作量を、VVT(N) は時間Nでの可変動弁機構操作量を、 EGR(N)は時間NでのEGR弁操作量を、 THA(N)は時間Nでの吸気温度を、それぞれ示している。
KL(N+1)＝αKL(N) + βΔKL(TA(N), VVT(N), EGR(N), THA(N))  …（５）
【００４３】
また、本実施の形態のシステムで用いられる簡易制御系は、エアフローメータから取得したセンサ値と、アクチュエータの操作量からマップを用いて算出した補正量と用いて空気量KLを推定するための制御系であり、例えば次式（６）を用いて演算することができる。尚、図５では、簡易制御系の演算周期が複雑制御系の演算周期の半分である場合を例に説明しているが、簡易制御系と複雑制御系の演算周期が同じであってもよい。
KL(N+1)＝αAFM(N) + βMAP(TA(N), VVT(N), EGR(N))  …（６）
【００４４】
図６は、本実施の形態の並列演算装置によって実行されるルーチンを示すフローチャートである。図６に示すルーチンでは、先ずコア１にて簡易制御系での演算が行われる（ステップＳ１１）。ここでは、具体的には、例えば上式（６）を用いて筒内空気量KLが演算される。また、コア２ではコア１の演算と同じ特定物理量を対象とした複雑制御系での演算が上記ステップＳ１の演算と並行して行われる（ステップＳ１２）。ここでは、具体的には、例えば上式（５）を用いて時間N+1での排気温度が演算される。
【００４５】
次に、要求終了タイミングにて複雑系の演算が完了しているか否かが判定される（ステップＳ１３）。その結果、要求終了タイミングにて複雑制御系の演算が完了していないと判定された場合には、複雑制御系の演算結果を用いることができないので、簡易制御系の結果が当該要求終了タイミングにおける出力としてメモリに記憶される（ステップＳ１４）。尚、要求終了タイミングにて複雑制御系の演算が完了していない場合であっても、コア２では複雑制御系の演算が完了まで継続される。そして、コア２における複雑制御系の演算が完了した後に、上記ステップＳ１４において記憶された簡易制御系の結果が当該複雑制御系の演算結果によって上書きされる（ステップＳ１５）。
【００４６】
上記ステップＳ１３において、要求終了タイミングにて複雑制御系の演算が完了していると判定された場合（図５中の（ａ））には、次のステップに移行し、簡易制御系の演算結果と複雑制御系の演算結果との差が所定の閾値よりも大きいか否かが判定される（ステップＳ１６）。図５に示す例では、簡易制御系の演算が要求終了タイミングまでに２回行われているので、これら２回の平均値と複雑制御系の演算結果との差が閾値（例えば１０％）よりも大きいか否かが判定される。その結果、｜簡易制御系−複雑制御系｜＞閾値の成立が認められない場合には、センサ誤差の影響によって簡易制御系の演算結果と複雑制御系の演算結果とに微差が生じていると判断することができる。この場合、複雑制御系の演算結果には経年劣化等によるパラメータ誤差は生じていないと判断することができるので、次のステップに移行し、複雑制御系の結果が当該要求終了タイミングにおける出力としてメモリに記憶される（ステップＳ１７）。これにより、コア１とコア２の演算結果のうち、より演算精度の高いコア２の演算結果が用いられる。
【００４７】
一方、上記ステップＳ１６において、｜簡易制御系−複雑制御系｜＞閾値の成立が認められた場合には、経年劣化等の影響によって複雑系制御の演算結果に誤差が生じていると判断することができる。この場合、次のステップに移行して複雑制御系のパラメータ学習が行われる（ステップＳ１８）。ここでは、具体的には、複雑制御系で使用しているスロットル開口面積や吸気管径等のパラメータが再学習される。尚、学習中は複雑制御系の演算結果を利用することができないので、簡易制御系の演算結果が要求終了タイミングにおける出力としてメモリに記憶される（ステップＳ１９）。また、簡易制御系の演算結果を代用している期間は、空気量の推定精度が必要な制御ロジックが実行されないように、学習中であることがフラグ変数により公開される。
【００４８】
このように、本実施の形態の並列演算装置によれば、複雑制御系の演算結果と簡易制御系の演算結果とを比較することにより、複雑制御系のパラメータ誤差の有無を判断することができるので、誤差を含んだ複雑制御系の演算結果が出力に利用されることを有効に抑止するとともにパラメータの再学習を行うことができる。
【００４９】
尚、上述した実施の形態２の並列演算装置では、筒内空気量KLが第１の発明における「特定物理量」に、要求終了タイミングが第１の発明における「所定タイミング」に、複雑制御系が第１の発明における「第１の制御系」に、簡易制御系が第１の発明における「第２の制御系」に、それぞれ相当している。また、上述した実施の形態２の並列演算装置では、演算装置が上記ステップＳ１１の処理を実行することにより第１の発明における「第１の演算手段」が、上記ステップＳ１２の処理を実行することにより第１の発明における「第２の演算手段」が、上記ステップＳ１４またはＳ１７の処理を実行することにより第１の発明における「記憶手段」が、それぞれ実現されている。
【００５０】
また、上述した実施の形態１の並列演算装置では、演算装置が上記ステップＳ１５の処理を実行することにより第２の発明における「置換手段」が実現されている。
【００５１】
また、上述した実施の形態２の並列演算装置では、筒内空気量KLが第７の発明における「特定物理量」に、複雑制御系が第７の発明における「第１の制御系」に、簡易制御系が第７の発明における「第２の制御系」に、それぞれ相当している。また、上述した実施の形態２の並列演算装置では、演算装置が上記ステップＳ１８の処理を実行することにより第７の発明における「学習手段」が実現されている。
【００５２】
実施の形態３．
本発明の実施の形態３について図を参照して説明する。
【００５３】
［実施の形態３の特徴］
本実施の形態３の並列計算装置は、特定物理量としてのエンジントルクを演算する場合に、上述した特定物理量の演算に加えて短周期で演算を行う簡易制御系の演算結果と長周期で演算を行う複雑制御系の演算結果とを用いたパラメータ学習制御を行うことに特徴を有している。図７は、トルク推定におけるパラメータ学習制御を説明するためのタイミングチャートである。
【００５４】
図７に示す例では、特定物理量としてトルクTrqを推定する際に長周期の複雑制御系を用いた演算と短周期の簡易制御系を用いた演算とが並列に行われる。本実施の形態のシステムで用いられる長周期の複雑制御系は、ＣＰＳの筒内圧波形からトルクを推定するための制御系であり、例えば次式（７）を用いて演算することができる。
Trq(N+1)＝ΣCPS(t)  …（７）
【００５５】
また、本実施の形態のシステムで用いられる短周期の簡易制御系は、点火時期SAおよび空気量KLからマップを用いてトルクTrqを推定するための制御系であり、例えば次式（８）を用いて演算することができる。
Trq(N+1)＝αf(SA(N)) + βf(KL(N))  …（８）
【００５６】
図７に示すように、複雑制御系の演算と簡易制御系の演算とを並列で演算する場合において、要求終了タイミングにて複雑制御系の演算が完了していないときには、簡易制御系の演算結果が出力としてメモリに記憶される（図中の（ａ））。一方、要求終了タイミングにて複雑制御系の演算が完了しているときには、複雑制御系の演算結果が出力としてメモリに記憶される（図中の（ｂ））。この際、短周期の簡易制御系と長周期の複雑制御系の演算結果を比較する。その結果、｜短周期−長周期｜＞閾値（例えば５Ｎｍ）であるならば短周期の簡易制御系のパラメータに誤差が生じていると判断することができるので、短周期の簡易制御系のパラメータを最適化するための再学習を行う（図中の（ｃ））。これにより、何らかの原因により適合されたトルクマップからずれてしまっても、ＣＰＳを用いた複雑制御系の演算と協調することにより、簡易制御系の演算の異常を検出することが可能となる。
【００５７】
実施の形態４．
本発明の実施の形態４について図を参照して説明する。
【００５８】
［実施の形態４の特徴］
本実施の形態４の並列計算装置は、２つの異なる制御系を用いて特定物理量としての空燃比A/Fを並列演算し、より高精度な演算結果を要求終了タイミング毎に選択することに特徴を有している。図８は、２つの異なる制御系を用いて空燃比を推定する方法を説明するためのタイミングチャートである。
【００５９】
図８に示す例では、特定物理量として空燃比A/Fを推定する際に前回値の参照が行われる。具体的には、制御系１および制御系２では次式（９）および次式（１０）に従い演算が行われる。
AF(N+1)＝αAF(N-1) + βAF(N) + γΔAF(KL(N), INJ(N), EGR(N), Tcyl(N))  …（９）
AF(N+1)＝αAF(N) + βΔAF(KL(N), INJ(N), EGR(N), Tcyl(N))  …（１０）
【００６０】
上式（９）に示す制御系１の演算では、前回２サイクル分のデータから空燃比A/Fの推定が行われる。一方、上式（１０）に示す制御系２の演算では、前回１サイクル分のデータから空燃比A/Fの推定が行われる。ここで、前回２サイクル分のデータを利用する制御系１の演算は、前回１サイクル分のデータを利用する制御系２の演算に比して過渡の影響が反映され難い。そこで、本実施の形態４の並列演算装置では、制御系１を定常用、制御系２を過渡用として使い分けることとする。具体的には、要求終了タイミングにて制御系１の演算結果と制御系２の演算結果とを比較する。その結果、｜制御系１−制御系２｜≦閾値（例えば１．０）の場合には定常運転中であると判断できるので、制御系１の演算結果を当該要求終了タイミングにおける出力としてメモリに記憶する（図中の（ａ））。一方、要求終了タイミングにて｜制御系１−制御系２｜＞閾値の場合には過渡運転中であると判断できるので、制御系２の演算結果を当該要求終了タイミングにおける出力としてメモリに記憶する（図中の（ｂ））。
【００６１】
このように、実施の形態４の並列演算装置によれば、前回値の反映度の異なる２つの制御系を用いて特定物理量が並列に演算されるので、定常運転時に適した演算結果と過渡運転時に適した演算結果とをそれぞれ得ることができる。これにより、運転状態に適した演算結果を選択して出力値として利用することができるので、特定物理量の推定精度を有効に高めることが可能となる。
【図１】
2014211113.tif 000003
【図２】
2014211113.tif 000004
【図３】
2014211113.tif 000005
【図４】
2014211113.tif 000006
【図５】
2014211113.tif 000007
【図６】
2014211113.tif 000008
【図７】
2014211113.tif 000009
【図８】
2014211113.tif 000010