(57)【特許請求の範囲】
【請求項１】
内燃機関の運転状態を表す運転データの実測値を取得する取得部と、
取得した前記運転データの実測値に基づいて前記内燃機関の筒内の熱発生率を推定する推定部と、
推定した前記熱発生率に基づいて前記内燃機関の制御パラメータを操作する制御部と、
を備え、
前記取得部は、前記筒内の圧力の実測値を示す情報を含む前記運転データの実測値を取得し、
前記推定部は、前記筒内の圧力の実測値を示す情報から、前記筒内の熱発生率及び熱発生量を、それぞれ熱発生率の実測値及び熱発生量の実測値として算出し、前記筒内の熱発生率の推定に用いる関数のパラメータについて予め設定しておいた範囲内の各パラメータ値を用いて前記関数に基づいた熱発生率の計算値を算出し、算出した熱発生率の計算値を用いて熱発生量の計算値を算出し、算出した熱発生率についての前記実測値及び前記計算値と、算出した熱発生量についての前記実測値及び前記計算値とに基づいて、前記関数のパラメータの値を決定し、決定した前記関数のパラメータの値を用いて前記筒内の熱発生率を推定する、
ことを特徴とする内燃機関制御システム。
【請求項２】
前記関数は、Wiebe関数である、
ことを特徴とする請求項１に記載の内燃機関制御システム。
【請求項３】
取得した前記運転データの実測値に基づいて前記決定部が決定した前記関数のパラメータを、取得した前記運転データの実測値に対応付けて記憶する記憶部を更に有し、
前記決定部は、
新たに取得した前記運転データの実測値と対応した前記関数のパラメータの値が前記記憶部にある場合には、前記記憶部にある前記関数のパラメータの値を、前記決定の結果とする、
ことを特徴とする請求項１に記載の内燃機関制御システム。
【請求項４】
前記決定部は、熱発生率についての前記実測値と前記計算値との差である第１の差と、熱発生量についての前記実測値と前記計算値との差である第２の差とを算出し、前記第１の差と前記第２の差との各々に対し重みを与え、重みを与えた前記第１の差と重みを与えた前記第２の差とに基づいて前記各パラメータ値の評価を行い、前記評価の結果に基づいて前記関数のパラメータの値を決定する、
ことを特徴とする請求項１に記載の内燃機関制御システム。
【請求項５】
コンピュータが、
内燃機関の運転状態を表す運転データの実測値を取得し、
取得した前記運転データの実測値に基づいて、前記内燃機関の筒内の熱発生率を推定し、
推定した前記熱発生率に基づいて前記内燃機関の制御パラメータを操作する、
処理を実行し、
取得する前記運転データの実測値は、前記筒内の圧力の実測値を示す情報を含み、
前記筒内の熱発生率の推定では、前記筒内の圧力の実測値を示す情報から、前記筒内の熱発生率及び熱発生量を、それぞれ熱発生率の実測値及び熱発生量の実測値として算出し、前記筒内の熱発生率の推定に用いる関数のパラメータについて予め設定しておいた範囲内の各パラメータ値を用いて前記関数に基づいた熱発生率の計算値を算出し、算出した熱発生率の計算値を用いて熱発生量の計算値を算出し、算出した熱発生率についての前記実測値及び前記計算値と、算出した熱発生量についての前記実測値及び前記計算値とに基づいて、前記関数のパラメータの値を決定し、決定した前記関数のパラメータの値を用いて前記筒内の熱発生率を推定する、
ことを特徴とする内燃機関制御方法。
【請求項６】
前記関数は、Wiebe関数である、
ことを特徴とする請求項５に記載の内燃機関制御方法。
【請求項７】
内燃機関の運転状態を表す運転データの実測値を取得し、
取得した前記運転データの実測値に基づいて、前記内燃機関の筒内の熱発生率を推定し、
決定した前記パラメータの値を用いて前記熱発生率の推定値を算出し、
推定した前記熱発生率に基づいて前記内燃機関の制御パラメータを操作する、
処理をコンピュータに実行させ、
取得する前記運転データの実測値は、前記筒内の圧力の実測値を示す情報を含み、
前記筒内の熱発生率の推定では、前記筒内の圧力の実測値を示す情報から、前記筒内の熱発生率及び熱発生量を、それぞれ熱発生率の実測値及び熱発生量の実測値として算出し、前記筒内の熱発生率の推定に用いる関数のパラメータについて予め設定しておいた範囲内の各パラメータ値を用いて前記関数に基づいた熱発生率の計算値を算出し、算出した熱発生率の計算値を用いて熱発生量の計算値を算出し、算出した熱発生率についての前記実測値及び前記計算値と、算出した熱発生量についての前記実測値及び前記計算値とに基づいて、前記関数のパラメータの値を決定し、決定した前記関数のパラメータの値を用いて前記筒内の熱発生率を推定する、
制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関制御システム、内燃機関制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
車両等に搭載された内燃機関（エンジン）の制御の１つに、トルクデマンド制御がある。トルクデマンド制御では、オペレータ（運転手）のアクセル操作等に基づく要求トルクに応じて内燃機関の発生トルクを制御する。トルクデマンド制御では、発生トルクを正確に推定することが重要である。発生トルクは、例えば、Wiebe関数を用いた筒内の熱発生のシミュレーションにより推定することができる。
【０００３】
内燃機関を制御する制御システムでは、例えば、運転状態とWiebe関数のパラメータとを対応付けるマップを作成しておき、内燃機関の運転状態に応じたパラメータ値をマップから選択して熱発生率を算出し、発生トルクの推定等を行う。
【０００４】
ところが、Wiebe関数パラメータと対応付ける運転状態は、例えば、燃焼開始時期、機関回転数、空気率（負荷率）、燃焼噴射圧等の多数の要素を含んでおり、極めて多様である。そのため、内燃機関の運転データに応じた最適なパラメータ値を選択することが難しく、例えば、Wiebe関数を用いた熱発生率の推定値を実際の筒内圧の変化履歴から算出される実測値に精度良く適合させることが難しい。
【０００５】
Wiebe関数を用いた熱発生率の推定値を実測値に適合させる方法の一つとして、熱発生率の推定値における熱発生開始点と燃焼開始時期とのずれ量を求め、実測値に対しずれ量の分だけ熱発生率の推定値をずらすという方法がある（例えば、特許文献１を参照）。
【０００６】
また、熱発生率の推定精度を向上させる方法の一つとして、平均筒内圧、体積効率、燃料噴射圧、ＥＧＲ率、エンジン回転速度、燃料噴射量、及び平均筒内温度と、所定のモデル定数とを用いてパラメータ値を算出する方法がある（例えば、特許文献２を参照）。
【０００７】
また、Wiebe関数を用いて推定した熱発生率は、上記の発生トルクの推定だけでなく、例えば内燃機関の燃焼異常（ノック）の検出等にも用いられる（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−１２６９９７号公報
【特許文献２】特開２０１１−１０６３３４号公報
【特許文献３】特開２００７−１７０３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
内燃機関の熱発生率をWiebe関数等の近似モデルを用いて表現する際、熱発生率のプロファイルは１サイクルに複数回の噴射などを行うため非常に複雑な波形となり、その複雑な波形を再現するためにそのモデルパラメータの個数が多くなることがある。また、熱発生率をWiebe関数等の近似モデルを用いて表現する際には、モデルパラメータ間に冗長性が存在することなどがある。そのため、従来の熱発生率プロファイルのみの情報に基づいて近似モデルのモデルパラメータを算出する手法では、着火時期や燃焼期間等のモデルの適合精度が低く、熱発生率の推定精度が十分に得られないという課題がある。また、内燃機関の経時変化や走行条件等の影響により、所定の運転条件で運転させたときのモデルと実際の熱発生率プロファイルに差が生じることがある。そのため、従来の熱発生率を推定する方法では、推定結果と内燃機関における実際の熱発生率との差異が大きくなり、熱発生率から発生トルク等を正確に推定することが困難な場合がある。
【００１０】
本発明は、制御対象の内燃機関における筒内の熱発生率を精度良く推定することを目的とする。
【課題を解決するための手段】
【００１１】
１つの態様の内燃機関制御システムは、取得部と、推定部と、制御部と、を備える。取得部は、内燃機関の運転状態を表す運転データの実測値を取得する。推定部は、取得した運転データの実測値に基づいて内燃機関の筒内の熱発生率を推定する。制御部は、推定した熱発生率に基づいて内燃機関の制御パラメータを操作する。この内燃機関制御システムにおける取得部は、筒内の圧力の実測値を示す情報を含む運転データの実測値を取得する。また、推定部は、筒内の圧力の実測値を示す情報から、筒内の熱発生率及び熱発生量を、それぞれ熱発生率の実測値及び熱発生量の実測値として算出し、筒内の熱発生率の推定に用いる関数のパラメータについて予め設定しておいた範囲内の各パラメータ値を用いて関数に基づいた熱発生率の計算値を算出し、算出した熱発生率の計算値を用いて熱発生量の計算値を算出し、算出した熱発生率についての実測値及び計算値と、算出した熱発生量についての実測値及び計算値とに基づいて、関数のパラメータの値を決定し、決定した関数のパラメータの値を用いて筒内の熱発生率を推定する。
【発明の効果】
【００１２】
上述の態様によれば、制御対象の内燃機関における筒内の熱発生率を精度良く推定することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る内燃機関制御システムの機能的構成を示す図である。
【図２】センサ群の構成例及び内燃機関における制御対象の例を示す図である。
【図３】燃焼率、熱発生率、及び熱発生量の関係と、燃焼開始時期及び燃焼期間とを説明するグラフである。
【図４】パラメータ値の特定に用いるマップのデータ構造を示す図である。
【図５】制御装置が行う処理を示すフローチャートである。
【図６】パラメータ値算出処理の内容の第１の例を示すフローチャートである。
【図７】パラメータ値算出処理の第１の例におけるパラメータ同定処理の内容を示すフローチャートである。
【図８】３段噴射の内燃機関における熱発生率のプロファイルを示すグラフである。
【図９】パラメータ値算出処理の内容の第２の例を示すフローチャートである。
【図１０】パラメータ値算出処理の第２の例におけるパラメータ同定処理の内容を示すフローチャートである。
【図１１】パラメータ値算出処理の第１の例による算出結果を示すグラフである。
【図１２】パラメータ値算出処理の第２の例による算出結果を示すグラフである。
【図１３】比較例である予め用意されたパラメータ値により推定した熱発生率の適合度を説明する表を示す図である。
【図１４】実施形態に係るパラメータ値算出処理の第２の例の算出結果から推定した熱発生率の適合度の例を説明する表を示す図である。
【図１５】コンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１４】
図１は、実施形態に係る内燃機関制御システムの機能的構成を示す図である。
図１に示すように、内燃機関制御システム１は、制御装置２と、センサ群３と、を備える。この内燃機関制御システム１は、制御対象の内燃機関４とともに車両等に搭載される。そして、内燃機関制御システム１の制御装置２は、センサ群３により内燃機関４の運転状態を表す運転データを取得し、取得した運転データに基づいて内燃機関４の制御パラメータをオンライン（リアルタイム）で操作する。
【００１５】
制御装置２は、Engine Control Unit（ＥＣＵ）等と呼ばれる装置である。この制御装置２は、運転データ取得部２０１と、熱発生率推定部２０２と、制御部２０３と、を備える。
【００１６】
運転データ取得部２０１は、センサ群３の検出結果を運転データとして取得する。熱発生率推定部２０２は、取得した運転データに基づいて、内燃機関４の筒内（シリンダ内）の熱発生率を推定する。制御部２０３は、取得した運転データ及び推定した熱発生率に基づいて、内燃機関４の制御パラメータを操作する。
【００１７】
制御装置２の熱発生率推定部２０２は、取得した運転データに基づいてWiebe関数のパラメータの値を決定し、決定したパラメータの値を用いて熱発生率を推定する。以下、熱発生率の推定に用いるWiebe関数のパラメータの値を「パラメータ値」という。
【００１８】
熱発生率推定部２０２は、パラメータ値決定部２０２ａと、パラメータ値記憶部２０２ｂと、パラメータ値算出部２０２ｃと、推定熱発生率算出部２０２ｄと、を有する。
【００１９】
パラメータ値決定部２０２ａは、取得した運転データにおける燃焼開始時期、機関回転数、空気率（負荷率）、燃料噴射圧等の値の組み合わせに基づいて、Wiebe関数のパラメータ値を決定する。パラメータ値決定部２０２ａは、まずパラメータ値記憶部２０２ｂに記憶させたパラメータ値のマップを検索し、取得した運転データと対応付けられたパラメータ値があるかをチェックする。そして、マップに該当するパラメータ値がある場合、そのパラメータ値を熱発生率の推定に用いると決定する。また、マップに該当するパラメータ値がない場合、パラメータ値決定部２０２ａは、パラメータ値算出部２０２ｃにパラメータ値を算出させる。この場合、パラメータ値決定部２０２ａは、パラメータ値算出部２０２ｃで算出したパラメータ値を熱発生率の推定に用いると決定する。また、パラメータ値算出部２０２ｃにパラメータ値を算出させた場合、パラメータ値決定部２０２ａは、算出したパラメータ値を運転データと対応付けてパラメータ値記憶部２０２ｂのマップに追加登録する。
【００２０】
パラメータ値記憶部２０２ｂは、上記のように、運転データと対応付けられたパラメータ値のマップを記憶する。
【００２１】
パラメータ値算出部２０２ｃは、取得した運転データに基づいて、現時点における内燃機関４の筒内の熱発生率との差分が最小となるWiebe関数のパラメータ値を算出（同定）する。このパラメータ値算出部２０２ｃは、熱発生率の実測値を算出する熱発生率実測値算出部２１２と、熱発生量の実測値を算出する熱発生量実測値算出部２２２とを含む。
【００２２】
推定熱発生率算出部２０２ｄは、パラメータ値決定部２０２ａで決定したパラメータ値を用いて、現時点における内燃機関４の筒内の熱発生率の推定値を算出する。
【００２３】
図２は、センサ群の構成例及び内燃機関における制御対象の例を示す図である。
センサ群３は、内燃機関４の運転データを取得するための複数のセンサからなる。
【００２４】
例えば、内燃機関４が車両用の水冷式ディーゼルエンジンである場合、図２に示すように、センサ群３は、アクセルセンサ３０１と、クランク角センサ３０２と、筒内圧センサ３０３と、燃料圧センサ３０４と、水温センサ３０５と、を含む。また、センサ群３は、吸気温センサ３０６と、吸気圧センサ３０７と、吸気側Ｏ２センサ３０８と、排気温センサ３０９と、排気圧センサ３１０と、排気側Ｏ２センサ３１１と、還流量センサ３１２と、を含む。
【００２５】
アクセルセンサ３０１は、内燃機関４の出力（吸気量）を調整するアクセルペダルの操作量を検出する角度センサである。
【００２６】
クランク角センサ３０２は、内燃機関４のクランク角を検出する角度センサである。
筒内圧センサ３０３は、内燃機関４の筒内の圧力を検出する圧力センサである。
【００２７】
燃料圧センサ３０４は、内燃機関４の燃料噴射装置４０１における燃料噴射圧を検出する圧力センサである。
【００２８】
水温センサ３０５は、内燃機関４を冷却する冷却水の温度を検出する温度センサである。
【００２９】
吸気温センサ３０６は筒内に吸入される空気の温度を検出する温度センサであり、吸気圧センサ３０７は筒内に吸入される空気の圧力を検出する圧力センサである。また、吸気側Ｏ２センサ３０８は、筒内に吸入される空気の酸素濃度を検出するガス濃度センサである。
【００３０】
排気温センサ３０９は筒内からの排出ガスの温度を検出する温度センサであり、排気圧センサ３１０は筒内からの排出ガスの圧力を検出する圧力センサである。また、排気側Ｏ２センサ３１１は、筒内からの排出ガスの酸素濃度を検出するガス濃度センサである。
【００３１】
還流量センサ３１２は、筒内からの排出ガスの一部をExhaust Gas Recirculation（ＥＧＲ）により再度吸気させる場合のガスの還流量を検出するガス流量センサである。
【００３２】
制御装置２は、センサ群３の各センサ３０１〜３１２が検出した内燃機関４の運転データ及び熱発生率推定部２０２で推定した熱発生率に基づいて、内燃機関４の制御パラメータを操作する。例えば、制御装置２は、アクセルセンサ３０１の検出結果に応じた要求トルクと推定した熱発生率とに基づいて、内燃機関４の発生トルクが要求トルクと一致するよう、燃料噴射装置４０１における燃料噴射のタイミングや噴射量等を制御する。また、例えば、制御装置２は、吸気側Ｏ２センサ３０８、排気側Ｏ２センサ３１１、還流量センサ３１２等の検出結果と推定した熱発生率とに基づいて、ＥＧＲ ４０２のバルブの開度等を制御する。
【００３３】
熱発生率の推定に用いるWiebe関数は、筒内の燃焼圧力の実測値から計算された燃焼率ｘｂのプロファイルを近似する関数であり、クランク角θに対して下記式（１）で与えられる。
【００３４】
【数１】
0006535522.tif 000002
【００３５】
式（１）のａ及びｍは、形状指数又は燃焼特性指数と呼ばれるパラメータである。また、式（１）のθSOC及びΔθは、それぞれ、燃焼開始時期及び燃焼期間をクランク角θで表したパラメータである。この４個のパラメータａ，ｍ，θSOC，Δθは、Wiebe関数パラメータと呼ばれている。
【００３６】
クランク角θに対する筒内の熱発生率ＲＯＨＲ（θ）は、Wiebe関数パラメータを用い、下記式（２）で与えられる。
【００３７】
【数２】
0006535522.tif 000003
【００３８】
式（２）のＱｂは、筒内の熱量である。
【００３９】
図３は、燃焼率、熱発生率、及び熱発生量の関係と、燃焼開始時期及び燃焼期間とを説明するグラフである。なお、図３には２つのグラフを上下に並べて示しており、上側のグラフはクランク角θに対する燃焼率ｘｂの変化履歴を示すグラフである。一方、図３の下側のグラフは、クランク角θに対する熱発生率ＲＯＨＲの変化履歴を示すグラフである。
【００４０】
内燃機関４における燃焼率ｘｂとクランク角θとの関係は、例えば、図３の上側のグラフのような関係になる。また、筒内の熱発生率ＲＯＨＲとクランク角θとの関係は、図３の下側のグラフのような関係になる。燃焼開始時期θSOCは、筒内で燃焼が開始するクランク角度である。筒内で燃焼が開始すると、燃焼率ｘｂ及び熱発生率ＲＯＨＲが上昇する。よって、図３に示したように、熱発生率ＲＯＨＲ（又は燃焼率ｘｂ）が上昇を始めるクランク角度が燃焼開始時期θSOCとなる。
【００４１】
一方、燃焼期間Δθは、筒内で燃焼が開始してから終了するまでの期間である。筒内での燃焼が終了すると、燃焼率ｘｂは飽和して１になる。また、筒内で燃焼が開始してから終了するまでの期間の熱発生率ＲＯＨＲは、あるクランク角度で極大になった後、０に戻る。よって、燃焼期間Δθは、図３に示したように、燃焼開始時期θSOCから燃焼率ｘｂが飽和する角度θＥまでの期間となる。
【００４２】
加えて、クランク角θが燃焼開始時期θSOCから角度Θまで回転する期間に発生した熱発生量ＨＲは、下記式（３）で与えられる。
【００４３】
【数３】
0006535522.tif 000004
【００４４】
図３に示したような燃焼率ｘｂ及び熱発生率ＲＯＨＲの実測値の変化履歴は、それぞれ、式（１）及び式（２）における４個のパラメータａ，ｍ，θSOC，Δθに適切な値を代入することで近似的に再現される。そのため、例えば、試験運転により計測した様々な運転状態における実測値に基づいて運転状態（運転データ）毎に適切なWiebe関数のパラメータ値を求めておけば、そのパラメータ値を用いて内燃機関４の制御パラメータをオンラインで操作することができる。
【００４５】
図４は、パラメータ値の特定に用いるマップのデータ構造を示す図である。
図４に示すように、パラメータ値の特定に用いるマップ２１０は、燃焼開始時期、機関回転数、空気量（負荷率）、燃料噴射圧を含む多数の運転データと、その運転データに対応付けられたWiebe関数の４個のパラメータａ，ｍ，θSOC，Δθの値とを１組のデータとする。パラメータ値のマップ２１０の作成に用いた内燃機関が制御対象の内燃機関４とは異なる場合、例えば、筒内の状態の経時変化や走行条件等の影響により，マップのパラメータ値が制御対象の内燃機関４に最適なパラメータ値とは異なっている可能性がある。そのため、運転データに基づいてオンラインで内燃機関４の制御パラメータで操作する際に、最適な制御パラメータで操作することが難しい場合がある。
【００４６】
これに対し、本実施形態の内燃機関制御システム１の制御装置２は、以下に説明する方法でWiebe関数のパラメータ値を決定することで、制御対象の内燃機関４における現時点の運転データに基づいた最適な制御を可能にする。
【００４７】
図５は、制御装置が行う処理を示すフローチャートである。
内燃機関制御システム１の制御装置２は、予め定めた制御タイミングが到来する毎に、図５に示した処理を実行して内燃機関４の制御パラメータを操作する。なお、制御装置２は、例えば、パラメータ値記憶部２０２ｂのマップ２１０にパラメータ値が登録されていない状態、又は代表的な運転状態（運転データ）と対応したパラメータ値が登録された状態で、内燃機関４とともに車両等に搭載されている。
【００４８】
図５に示すように、制御装置２は、まず、センサ群３を用いて運転データを取得する（ステップＳ１００）。ステップＳ１００の処理は、運転データ取得部２０１が行う。運転データ取得部２０１は、センサ群３の各センサ３０１〜３１２の検出値（出力信号）を運転データとして取得する。また、運転データ取得部２０１は、取得した運転データを熱発生率推定部２０２のパラメータ値決定部２０２ａ及び制御部２０３に渡す。
【００４９】
次に、制御装置２では、取得した運転データをキー情報としてパラメータ値記憶部２０２ｂを検索し（ステップＳ１０１）、運転データと対応するパラメータ値の有無をチェックする（ステップＳ１０２）。ステップＳ１０１，Ｓ１０２の処理は、パラメータ値決定部２０２ａが行う。パラメータ値決定部２０２ａは、パラメータ値記憶部２０２ｂに記憶されたマップ２１０を検索して運転データと対応するパラメータ値の有無をチェックする。
【００５０】
取得した運転データと対応したパラメータ値がある場合（ステップＳ１０２；Ｙｅｓ）、パラメータ値決定部２０２は、該当するパラメータ値を熱発生率の推定に用いるパラメータ値に決定する。この場合、パラメータ値決定部２０２ａは、決定したパラメータ値（推定用のパラメータ値）をパラメータ値記憶部２０２ｂから読み出し（ステップＳ１０３）、推定熱発生率算出部２０２ｄに渡す。
【００５１】
一方、取得した運転データと対応したパラメータ値がない場合（ステップＳ１０２；Ｎｏ）、パラメータ値決定部２０２ａは、パラメータ値算出部２０２ｃが算出したパラメータ値を熱発生率の推定に用いるパラメータ値に決定する。この場合、パラメータ値決定部２０２ａは、パラメータ値算出部２０２ｃにパラメータ値算出処理を行わせる（ステップＳ１０４）。
【００５２】
また、パラメータ値算出部２０２ｃにパラメータ値を算出させた場合、パラメータ値決定部２０２ａは、パラメータ値算出部２０２ｃが算出したパラメータ値を運転データと対応付けてパラメータ値記憶部２０２ｂに格納する（ステップＳ１０５）。すなわち、パラメータ値算出部２０２ｃが算出したパラメータ値は、運転データと対応付けられ、パラメータ値記憶部２０２のマップ２１０に登録される。
【００５３】
ステップＳ１０３、又はステップＳ１０４の処理によりパラメータ値を決定すると、パラメータ値決定部２０２ａは、次に、推定熱発生率算出部２０２ｄに熱発生率推定処理を行わせる（ステップＳ１０６）。推定熱発生率算出部２０２ｄは、パラメータ値決定部２０２ａで決定したパラメータ値を用いて式（２）を解き、内燃機関４における筒内の熱発生率の推定値を算出する。
【００５４】
熱発生率推定処理により内燃機関４における熱発生率の推定値を算出すると、推定熱発生率算出部２０２ｄは、算出した熱発生率の推定値を制御部２０３に渡す。これにより、熱発生率推定部２０２における処理が終了する。
【００５５】
その後、制御部２０３が、取得した運転データ及び熱発生率の推定値に基づいて内燃機関４の制御パラメータを操作する（ステップＳ１０７）。制御部２０３は、例えば、運転データのうちアクセルセンサ３０１の検出値に応じた要求トルクを求めた後、運転データ及び熱発生率の推定値に基づいて、内燃機関４の発生トルクが要求トルクを満たすよう燃料噴射装置４０１等の制御パラメータを操作する。
【００５６】
このように、本実施形態に係る制御装置２の熱発生率推定部２０２は、熱発生率の推定に用いるWiebe関数のパラメータ値がパラメータ値記憶部２０２ｂにない場合、取得した運転データに基づいたパラメータ値をパラメータ値算出部２０２ｃで算出する。そして、パラメータ値算出部２０２ｃでパラメータ値を算出する毎に、算出したパラメータ値を運転データと対応付けてパラメータ値記憶部２０２ｂのマップ２１０に蓄積していく。そのため、制御装置２の熱発生率推定部２０２は、制御対象の内燃機関４（実機）の運転データに基づいて、内燃機関４の筒内の熱発生率を推定することになる。よって、制御装置２の制御部２０３は、実機の運転データから推定した熱発生率に基づいて内燃機関４の制御パラメータを適切に操作することができる。
【００５７】
図６は、パラメータ値算出処理の内容の第１の例を示すフローチャートである。
第１の例において、パラメータ値算出部２０２ｃは、図６に示すように、まず、筒内圧及びクランク角のデータを取得する（ステップＳ１１０）。
【００５８】
次に、パラメータ値算出部２０２ｃは、取得した筒内圧及びクランク角のデータに基づいて筒内圧の変化履歴ｄＰ／ｄθを算出する（ステップＳ１１１）。ステップＳ１１１で算出した筒内圧の変化履歴ｄＰ／ｄθは、筒内圧の実測値を表す。
【００５９】
次に、パラメータ値算出部２０２ｃは、筒内圧の変化履歴ｄＰ／ｄθを用いて、熱発生率ＲＯＨＲの変化履歴ｄＱ／ｄθを算出する（ステップＳ１１２）。ステップＳ１１２で算出した熱発生率ＲＯＨＲの変化履歴ｄＱ／ｄθは、実測された筒内圧から算出した熱発生率を表す。このステップＳ１１２の処理は、熱発生率実測値算出部２１２が行う。以下、ステップＳ１１２で算出した熱発生率ＲＯＨＲの変化履歴ｄＱ／ｄθを「熱発生率の実測値」ともいう。
【００６０】
次に、パラメータ値算出部２０２ｃは、熱発生率の変化履歴ｄＱ／ｄθを用いて、熱発生率の推定に用いるWiebe関数のパラメータ値を算出（同定）するパラメータ値同定処理を行う（ステップＳ１１３）。ステップＳ１１３では、パラメータ値算出部２０２ｃは、Wiebe関数の４個のパラメータａ，ｍ，θSOC，及びΔθについて、下記式（４）で与えられる差分２乗和で表現される評価値Ｍが最小となるパラメータ値を算出する。
【００６１】
【数４】
0006535522.tif 000005
【００６２】
式（４）のＲＯＨＲ１（θ）は、熱発生率の実測値である。また、式（４）のＲＯＨＲ２（θ）は、式（２）のパラメータａ，ｍ，θSOC，及びΔθに数値を代入して算出した熱発生率（以下「熱発生率の計算値」ともいう）である。すなわち、ステップＳ１１３において、パラメータ値算出部２０２ｃは、所定のクランク角θの範囲における熱発生率の実測値と計算値との評価値Ｍが最小となるパラメータ値を求める。
【００６３】
その後、パラメータ値算出部２０２ｃは、パラメータ値同定処理により算出（同定）したパラメータ値をパラメータ値決定部２０２ａに渡し、パラメータ値算出処理を終了する。
【００６４】
図７は、パラメータ値算出処理の第１の例におけるパラメータ同定処理の内容を示すフローチャートである。
【００６５】
図６に示したパラメータ値算出処理の第１の例におけるパラメータ値同定処理（ステップＳ１１３）として、パラメータ値算出部２０２ｃは、図７に示すような処理を行う。パラメータ値算出部２０２ｃは、まず、Wiebe関数のパラメータ値の初期値、上限値、下限値、及び最大反復回数Itrを設定するとともに、最小評価値Ｍ０を初期化する（ステップＳ１２０）。最小評価値Ｍ０は、各パラメータ値を用いて式（４）から算出した評価値Ｍの最小値を表す値として用いる。最小評価値Ｍ０の初期値は、熱発生率の実測値と計算値との誤差（評価値）としてとり得る値よりも大きな値にしておく。
【００６６】
次に、パラメータ値算出部２０２ｃは、パラメータ値の初期値と式（２）を用いて、熱発生率の計算値ＲＯＨＲ２を算出する（ステップＳ１２１）。
【００６７】
次に、パラメータ値算出部２０２ｃは、熱発生率の実測値ＲＯＨＲ１と計算値ＲＯＨＲ２との評価値Ｍを算出する（ステップＳ１２２）。ステップＳ１２２では、パラメータ値算出部２０２ｃは、式（４）を用いて評価値Ｍを算出する。なお、各回のパラメータ値同定処理において最初に行われるステップＳ１２２では、パラメータ値算出部２０２ｃは、ステップＳ１２１で算出した計算値ＲＯＨＲ２を用いる。また、その後に繰り返し行われるステップＳ１２２では、パラメータ値算出部２０２ｃは、後述のステップＳ１２６で算出した計算値ＲＯＨＲ２を用いる。
【００６８】
次に、パラメータ値算出部２０２ｃは、算出した評価値Ｍと最小評価値Ｍ０との大小関係をチェックする（ステップＳ１２３）。Ｍ＜Ｍ０の場合（ステップＳ１２３；Ｙｅｓ）、パラメータ値算出部２０２ｃは、Ｍ０＝Ｍに更新するとともに、熱発生率の計算値ＲＯＨＲ２の算出に用いたパラメータ値を保持する（ステップＳ１２４）。その後、パラメータ値算出部２０２ｃは、全てのパラメータ値についてステップＳ１２２〜Ｓ１２４の処理を行ったか，あるいは処理の反復回数が最大反復回数Itrに到達したかを判断する（ステップＳ１２５）。ここで、全てのパラメータ値は、ステップＳ１２０で設定した上限値及び下限値の範囲内でとり得るパラメータ値の全てであることを意味する。一方、Ｍ≧Ｍ０の場合（ステップＳ１２３；Ｎｏ）、パラメータ値算出部２０２ｃは、ステップＳ１２４をスキップしてステップＳ１２５の判断を行う。
【００６９】
ステップＳ１２５の判断結果がＮｏの場合（ステップＳ１２５；Ｎｏ）、パラメータ値算出部２０２ｃは、ステップＳ１２０で設定した範囲内で未処理のパラメータ値を生成し、その未処理のパラメータ値を用いて熱発生率の計算値ＲＯＨＲ２を算出する（ステップＳ１２６）。その後、パラメータ値算出部２０２ｃは、ステップＳ１２６で算出した熱発生率の計算値ＲＯＨＲ２を用いてステップＳ１２２〜Ｓ１２４の処理を行う。以降、パラメータ値算出部２０２ｃは、ステップＳ１２０で設定した範囲内の全てのパラメータ値についてステップＳ１２２〜Ｓ１２４の処理が行うか、処理の反復回数が最大反復回数Itrに到達するまでステップＳ１２２〜Ｓ１２６の処理を繰り返す。
【００７０】
そして、ステップＳ１２５の判断がＹｅｓになった場合（ステップＳ１２５；Ｙｅｓ）、パラメータ値算出部２０２ｃは、最小評価値Ｍ０と対応したパラメータ値を出力する（ステップＳ１２７）。これにより、パラメータ値算出部２０２ｃによるパラメータ値同定処理が終了する（リターン）。
【００７１】
ステップＳ１２３，Ｓ１２４の処理により、パラメータ値同定処理が終了したときの最小評価値Ｍ０は、パラメータ値毎に式（４）から求めた熱発生率の実測値と計算値との評価値Ｍの最小値となっている。すなわち、ステップＳ１２７で出力されるパラメータ値は、ステップＳ１２０で設定した範囲内において熱発生率の実測値との差分（誤差）が最も小さくなるWiebe関数のパラメータ値である。よって、ステップＳ１２７で出力されたパラメータ値と式（２）を用いて、制御対象の内燃機関４（実機）における熱発生率の実測値が精度良く再現される。また、本実施形態では、設定した範囲内の未実施のパラメータ値の生成と評価値Ｍの評価を繰り返し、モデルパラメータを導出する方法を説明したが、パラメータ値算出部２０２ｃのモデルパラメータ値の算出方法はこの方法に限定されるものではない。モデルパラメータの算出は、評価値Ｍを最小とするモデルパラメータを決定する最適化問題と等価であるため、最適化問題を解く手段（最適化ソルバー）として、具体的には、内点法や逐次二次計画法などを用いることもできる。
【００７２】
以上のように、本実施形態に係るパラメータ値算出処理の第１の例では、熱発生率の実測値に基づいて、熱発生率の推定に用いるWiebe関数のパラメータａ，ｍ，θSOC，Δθの最適値を算出（同定）し、パラメータ値記憶部２０２ｂに蓄積していく。そのため、パラメータ値記憶部２０２ｂに格納されたパラメータ値と式（２）を用いて熱発生率を推定する場合にも、推定熱発生率算出部２０２ｄは、実機の運転データに応じた適切なパラメータ値を用いて推定する。よって、制御装置２の制御部２０３は、現在の運転データに基づいた内燃機関４の制御パラメータを適切に操作することができる。
【００７３】
なお、ある種のディーゼルエンジンのように燃料を多段噴射する内燃機関４における熱発生率のプロファイルは、燃焼開始時期の異なる複数の熱発生率のプロファイルを重ね合わせた形状となる。例えば、内燃機関４の燃料噴射装置４０１が燃料を３段噴射する場合、内燃機関４の筒内の燃焼は、各段の燃料噴射に対応した３段階の燃焼と、その後の拡散燃焼との合計４段階の燃焼で表現できる。そのため、燃料を３段噴射する内燃機関の熱発生率のプロファイルは、燃焼開始時期が各段の燃料噴射時期に対応した３個の熱発生率のプロファイルと、燃焼開始時期が拡散燃焼の開始時期に対応した１個の熱発生率のプロファイルとを重ね合わせた形状となる。
【００７４】
図８は、３段噴射の内燃機関における熱発生率のプロファイルを示すグラフである。なお、図８のグラフにおける横軸は、上死点後からのクランク角θである。
【００７５】
燃料を３段噴射する内燃機関４では、パイロット噴射、プレ噴射、及びメイン噴射の３回に分けて燃料を噴射する。この３回の燃料噴射は、それぞれ、クランク角θが角度θ１、θ２、及びθ３となるタイミングで行われる。そのため、内燃機関４の筒内では、これらの燃焼噴射のタイミングと対応した燃焼が起こる。また、内燃機関４では、３段目の燃料噴射（メイン噴射）による燃焼が開始した後、拡散燃焼が開始する。このため、内燃機関４のクランク角θに対する熱発生率のプロファイル（図８に太点線で示した実測値のプロファイル）は、クランク角度θ１、θ２、θ３、及びθ４のそれぞれを燃焼開始時期とする４個の熱発生率のプロファイルの重ね合わせで表される。
【００７６】
よって、燃料を３段噴射する内燃機関４の熱発生率を推定するには、クランク角θの角度θ１、θ２、θ３、及びθ４のそれぞれを燃焼開始時期とする４個のWiebe関数を用いて熱発生率を推定し、それらを足し合わせることになる。
【００７７】
従って、燃料を多段噴射する内燃機関４が制御対象である場合のパラメータ値同定処理では、（噴射段数＋１）個のWiebe関数のパラメータ値を同定する。この複数個のWiebe関数のパラメータ値を同定する処理は、図７に示した手順で行うことができる。
【００７８】
なお、複数個のWiebe関数のパラメータ値を同定する場合、ステップＳ１２０では、複数個のWiebe関数のそれぞれについてパラメータａ，ｍ，θSOC，Δθの初期値、上限値及び下限値を設定する。Wiebe関数が４個の場合、パラメータ値算出部２０２ｃは、パラメータａ，ｍ，θSOC，Δθの初期値、上限値及び下限値の組を４組設定する。
【００７９】
また、ステップＳ１２１及びＳ１２６では、熱発生率の計算値ＲＯＨＲ２として、それぞれのWiebe関数の熱発生率の計算値を足し合わせた値を算出する。Ｎ＋１個のWiebe関数から算出した熱発生率の計算値ＲＯＨＲｉ（ｉ＝１〜Ｎ＋１）を足し合わせた熱発生率ＲＯＨＲは、下記式（５）で与えられる。
【００８０】
【数５】
0006535522.tif 000006
【００８１】
式（５）のｘｆｉは、ｉ回目の噴射による燃焼の全体燃焼に占める割合である。
また、燃料を多段噴射する内燃機関が制御対象である場合、ステップＳ１２７では、複数組のWiebe関数のパラメータａ，ｍ，θSOC，Δθを、運転データと対応付けて出力する。
【００８２】
図９は、パラメータ値算出処理の内容の第２の例を示すフローチャートである。
第２の例において、パラメータ値算出部２０２ｃは、図９に示すように、まず、筒内圧及びクランク角のデータを取得する（ステップＳ２１０）。
【００８３】
次に、パラメータ値算出部２０２ｃは、取得した筒内圧及びクランク角のデータに基づいて筒内圧の変化履歴ｄＰ／ｄθを算出する（ステップＳ２１１）。ステップＳ２１１で算出した筒内圧の変化履歴ｄＰ／ｄθは、筒内圧の実測値を表す。
【００８４】
次に、パラメータ値算出部２０２ｃは、筒内圧の実測値の変化履歴ｄＰ／ｄθを用いて、熱発生率の変化履歴ｄＱ／ｄθを算出する（ステップＳ２１２）。ステップＳ２１２で算出した熱発生率の変化履歴ｄＱ／ｄθは、熱発生率の実測値を表す。このステップＳ２１２の処理は、熱発生率実測値算出部２１２が行う。
【００８５】
次に、パラメータ値算出部２０２ｃは、熱発生率の変化履歴ｄＱ／ｄθを用いて、熱発生量の変化履歴を算出する（ステップＳ２１３）。ステップＳ２１３で算出した熱発生量の変化履歴は、実測された筒内圧から算出した熱発生量の実測値を表す。このステップＳ２１３の処理は、熱発生量実測値算出部２２２が行う。以下、ステップＳ２１３で算出した熱発生量の変化履歴を「熱発生量の実測値」ともいう。
【００８６】
次に、パラメータ値算出部２０２ｃは、熱発生率及び熱発生量の実測値を用いて熱発生率の推定に用いるWiebe関数のパラメータ値を算出（同定）するパラメータ値同定処理を行う（ステップＳ２１４）。ステップＳ２１４では、パラメータ値算出部２０２ｃは、Wiebe関数の４個のパラメータａ，ｍ，θSOC，及びΔθについて、下記式（６）で与えられる評価値Ｍが最小となるパラメータ値を算出する。
【００８７】
【数６】
0006535522.tif 000007
【００８８】
式（６）のＲＯＨＲ１（θ）及びＨＲ１（θ）は、それぞれ、熱発生率の実測値及び熱発生量の実測値である。また、式（６）のＲＯＨＲ２（θ）は、式（２）のパラメータａ，ｍ，θSOC，及びΔθに数値を代入して算出した熱発生率の計算値である。また、式（６）のＨＲ２（θ）は、熱発生率の計算値ＲＯＨＲ２（θ）から算出した熱発生量の計算値である。すなわち、ステップＳ２１４において、パラメータ値算出部２０２ｃは、熱発生率の実測値と計算値との差分値、及び熱発生量の実測値と計算値との差分値から算出される評価値Ｍが最小となるパラメータ値を求める。なお、熱発生量の実測値ＨＲ１（θ）及び計算値ＨＲ２（θ）は、それぞれ、上記の式（３）を用いて算出する。
【００８９】
その後、パラメータ値算出部２０２ｃは、パラメータ値同定処理により算出（同定）したパラメータ値をパラメータ値決定部２０２ａに渡し、パラメータ値算出処理を終了する。
【００９０】
図１０は、パラメータ値算出処理の第２の例におけるパラメータ同定処理の内容を示すフローチャートである。
【００９１】
図９に示したパラメータ値算出処理の第２の例におけるパラメータ値同定処理（ステップＳ２１４）として、パラメータ値算出部２０２ｃは、図１０に示すような処理を行う。パラメータ値算出部２０２ｃは、まず、Wiebe関数のパラメータ値の初期値、上限値、下限値、及び最大反復回数Itrを設定するとともに、最小評価値Ｍ０を初期化する（ステップＳ２２０）。最小評価値Ｍ０は、各パラメータ値を用いて式（６）から算出した評価値Ｍの最小値を表す値として用いる。最小評価値Ｍ０の初期値は、式（６）から算出した評価値がとり得る値よりも大きな値にしておく。
【００９２】
次に、パラメータ値算出部２０２ｃは、パラメータ値の初期値を用いて熱発生率及び熱発生量の計算値を算出する（ステップＳ２２１）。ステップＳ２２１では、パラメータ値算出部２０２ｃは、まず、パラメータ値の初期値を用いて熱発生率の計算値を算出する。その後、パラメータ値算出部２０２ｃは、算出した熱発生率の計算値を用いて、熱発生量の計算値を算出する。
【００９３】
次に、パラメータ値算出部２０２ｃは、熱発生率の実測値及び計算値と、熱発生量の実測値及び計算値とから評価値Ｍを算出する（ステップＳ２２２）。ステップＳ２２２では、パラメータ値算出部２０２ｃは、式（６）を用いて評価値Ｍを算出する。なお、各回のパラメータ値同定処理において最初に行われるステップＳ２２２では、パラメータ値算出部２０２ｃは、ステップＳ２２１で算出した熱発生率の計算値ＲＯＨＲ２及び熱発生量の計算値ＨＲ２を用いる。また、その後に繰り返し行われるステップＳ２２２では、パラメータ値算出部２０２ｃは、後述のステップＳ２２６で算出した熱発生率の計算値ＲＯＨＲ２及び熱発生量の計算値ＨＲ２を用いる。
【００９４】
次に、パラメータ値算出部２０２ｃは、算出した評価値Ｍと最小評価値Ｍ０との大小関係をチェックする（ステップＳ２２３）。Ｍ＜Ｍ０の場合（ステップＳ２２３；Ｙｅｓ）、パラメータ値算出部２０２ｃは、Ｍ０＝Ｍに更新するとともに、熱発生率の計算値ＲＯＨＲ２の算出に用いたパラメータ値を保持する（ステップＳ２２４）。その後、パラメータ値算出部２０２ｃは、ステップＳ２２０で設定した上限値及び下限値の範囲内で全てのパラメータ値についてステップＳ２２２〜Ｓ２２４の処理を行ったか、あるいは処理の反復回数が最大反復回数Itrに到達したかを判断する（ステップＳ２２５）。一方、Ｍ≧Ｍ０の場合（ステップＳ２２３；Ｎｏ）、パラメータ値算出部２０２ｃは、ステップＳ２２４をスキップしてステップＳ２２５の判断を行う。
【００９５】
ステップＳ２２５の判断結果がＮｏの場合（ステップＳ２２５；Ｎｏ）、パラメータ値算出部２０２ｃは、ステップＳ２２０で設定した範囲内の未処理のパラメータ値を用いて熱発生率及び熱発生量の計算値ＲＯＨＲ２，ＨＲ２を算出する（ステップＳ２２６）。その後、パラメータ値算出部２０２ｃは、ステップＳ２２６で算出した計算値を用いてステップＳ２２２〜Ｓ２２４の処理を行う。以降、パラメータ値算出部２０２ｃは、ステップＳ２２０で設定した範囲内の全てのパラメータ値についてステップＳ２２２〜Ｓ２２４の処理が行われるまで、ステップＳ２２２〜Ｓ２２６の処理を繰り返す。
【００９６】
そして、ステップＳ２２５の判断がＹｅｓになった場合（ステップＳ２２５；Ｙｅｓ）、パラメータ値算出部２０２ｃは、最小評価値Ｍ０と対応したパラメータ値を出力する（ステップＳ２２７）。これにより、パラメータ値算出部２０２ｃによるパラメータ値同定処理が終了する（リターン）。
【００９７】
なお、本実施形態に係るパラメータ値算出処理の第２の例においても設定した範囲内の未実施のパラメータ値の生成と評価値Ｍの評価を繰り返し、モデルパラメータを導出する方法を説明したが、モデルパラメータ値の算出方法はこの方法に限定されない。上述のように、モデルパラメータの算出は評価値Ｍを最小とするモデルパラメータを決定する最適化問題と等価であるため、最適化問題を解く手段（最適化ソルバー）として、具体的には、内点法や逐次二次計画法などを用いることもできる。
【００９８】
また、このパラメータ値算出処理の第２の例は、第１の例と同様、燃料を多段噴射する内燃機関４についてのパラメータ値の算出に用いることができる。第２の例により多段噴射の内燃機関４のパラメータ値を算出する場合、パラメータ値算出部２０２ｃは、（噴射段数＋１）個のWiebe関数のそれぞれで算出した熱発生率の計算値を足し合わせ、これを熱発生率の計算値ＲＯＨＲ２とする。続けて、パラメータ値算出部２０２ｃは、熱発生率の計算値ＲＯＨＲ２と式（３）から熱発生量の計算値ＨＲ２を算出する。そして、パラメータ値算出部２０２ｃは、算出した熱発生率の計算値ＲＯＨＲ２及び熱発生量の計算値ＨＲ２と、実測値ＲＯＨＲ１，ＨＲ１とを用いて式（６）を解き、評価値Ｍが最小となるパラメータ値を算出（同定）する。
【００９９】
パラメータ値算出処理の第２の例においても、ステップＳ２２３，Ｓ２２４の処理により、パラメータ値同定処理が終了したときの最小評価値Ｍ０は、パラメータ値毎に式（６）から求めた評価値Ｍの最小値となっている。すなわち、ステップＳ２２７で出力されるパラメータ値は、ステップＳ２２０で設定した範囲内において熱発生率の実測値との評価値が最も小さくなるWiebe関数のパラメータ値である。よって、ステップＳ２２７で出力されたパラメータ値を用いて制御対象の内燃機関４（実機）における熱発生率の実測値が精度良く再現される。
【０１００】
しかも、第２の例のように、熱発生率及び熱発生量の実測値と計算値とを用いてWiebe関数のパラメータ値を算出すると、熱発生率のみを用いて算出した場合に比べて、熱発生率の実測値との差分（誤差）をより小さくすることができる。この点について、図１１及び図１２を参照しながら説明する。
【０１０１】
図１１は、パラメータ値算出処理の第１の例による算出結果を示すグラフである。図１２は、パラメータ値算出処理の第２の例による算出結果を示すグラフである。
【０１０２】
パラメータ値算出処理の第１の例では、パラメータ値算出部２０２ｃは、熱発生率の実測値ＲＯＨＲ１及び計算値ＲＯＨＲ２のみを用いる式（４）に基づいてパラメータ値を算出する。この場合、算出したパラメータ値を用いてWiebe関数を解くことで得られた熱発生率の推定値（すなわち計算値ＲＯＨＲ２）と実測値ＲＯＨＲ１との関係が、図１１の上側に示したグラフのような関係になることがある。なお、図１１の上側のグラフでは、細線で示したプロファイルが熱発生率の実測値ＲＯＨＲ１であり、太線で示したプロファイルが熱発生率の計算値ＲＯＨＲ２（推定値）である。
【０１０３】
図１１に示したグラフにおける熱発生率の計算値ＲＯＨＲ２では、クランク角θがθａ、θｂ、及びθｃの位置で熱発生率の急速な増加が始まっている。よって、この熱発生率の推定値によれば、制御対象の内燃機関４における燃焼開始時期は、クランク角θがθａ、θｂ、及びθｃになるときであると特定できる。
【０１０４】
ところが、図１１に示した熱発生率の実測値ＲＯＨＲ１及び計算値ＲＯＨＲ２（推定値）のそれぞれから算出した熱発生量の実測値ＨＲ１及び計算値ＨＲ２（推定値）と実測値との関係は、図１１の下側のグラフに示したような関係になる。図１１に太線で示した熱発生量の計算値ＨＲ２によれば、燃焼開始時期は、クランク角θがθａ、θｂ、及びθｃになるときであると見積もることができる。一方、図１１に細線で示した熱発生量の実測値ＨＲ１によれば、燃焼開始時期は、クランク角θがθｄ（＜θａ）、θｂ、及びθｃになるときであると見積もることができる。すなわち、図１１に示した熱発生率の計算値ＲＯＨＲ２では、１段目の燃焼開始時期及び燃焼期間に、実測値ＲＯＨＲ１とのずれが生じている。
【０１０５】
また、図１１に示した熱発生率の計算値ＲＯＨＲ２では、３段目の燃焼開始時期θｃの後、クランク角θが約４０度になったところで熱発生率が０に戻っている。そのため、図１１に示した熱発生率の計算値ＲＯＨＲ２に基づく３段目の燃焼の燃焼期間Δθ２は、約２０度となる。これに対し、図１１に示した熱発生量の実測値ＨＲ１はクランク角θが約８０度で飽和している。そのため、図１１に示した熱発生率及び熱発生量の実測値ＲＯＨＲ１，ＨＲ１に基づく３段目の燃焼の燃焼期間Δθ１は約６０度となる。
【０１０６】
すなわち、第１の例のように熱発生率のみを用いてパラメータ値を同定した場合、熱発生率の推定値（計算値ＲＯＨＲ２）のプロファイルには、熱発生率の実測値ＲＯＨＲ１の再現性があまり高くない部分が生じることがある。
【０１０７】
このように熱発生率の推定値と実測値との間に差が生じる原因の１つとして、図１１に示したように、熱変動率の実測値ＲＯＨＲ１に内燃機関４の振動や気柱振動などに起因する圧力変動によるノイズが含まれることが考えられる。この熱発生率の実測値に生じるノイズ対策として、ノイズフィルタ等によりノイズを除去することも試みられているが、ノイズを完全に取り除くことは難しい。そのため、第１の例によりパラメータ値を算出する場合、例えば、内燃機関４を運転させたときのように熱発生率の実測値に含まれるノイズ成分が多いと、最適なパラメータ値を算出できないこともある。
【０１０８】
これに対し、第２の例のように、熱発生率の実測値及び計算値と、熱発生量の実測値及び計算値とを用いてパラメータ値を算出した場合、熱発生率の推定値（計算値ＲＯＨＲ２）と実測値ＲＯＨＲ１との関係は、図１２の上側のグラフに示したような関係になる。また、図１２に示した熱発生率の計算値ＲＯＨＲ２及び実測値ＲＯＨＲ１のそれぞれから算出した熱発生量の計算値ＨＲ２と実測値ＨＲ１との関係は、図１２の下側のグラフに示したような関係になる。
【０１０９】
図１２からわかるように、第２の例によるパラメータ値の算出結果では、１段目の燃焼開始時期θｄ及び燃焼期間、並びに３段目の燃焼の燃焼期間を含め、全ての燃焼開始時期θSOC及び燃焼期間Δθの推定値（計算値ＲＯＨＲ２）が、実測値とほぼ一致する。
【０１１０】
図１１及び図１２からわかるように、燃焼開始初期の熱発生率の実測値ＲＯＨＲ１は数値が小さい上、ノイズによる変動が大きいので、燃焼開始を示す熱発生率の変動とノイズとの判別が難しい。一方、燃焼開始初期の熱発生量の実測値ＨＲ１は、ノイズによる数値の変動が小さく、燃焼開始時期を示す熱発生量の変動が明確である。
【０１１１】
また、燃焼期間についても同様のことがいえ、熱発生量で見た場合、ノイズによる数値の変動が小さく燃焼期間を明確に特定することができる。
【０１１２】
よって、パラメータ値算出処理の第２の例は、熱発生率の実測値に含まれるノイズ成分の影響を受けにくく、第１の例と比べて、Wiebe関数のパラメータ値をより精度良く算出することができる。
【０１１３】
図１３は、比較例である予め用意されたパラメータ値により推定した熱発生率の適合度を説明する表を示す図である。図１４は、実施形態に係るパラメータ値算出処理の第２の例の算出結果から推定した熱発生率の適合度の例を説明する表を示す図である。
【０１１４】
本実施形態の内燃機関制御システム１の効果をより具体的に示すため、本願発明者らは、予め用意されたパラメータ値を用いる従来の熱発生量の推定方法と、熱発生率及び熱発生量を用いてパラメータ値を同定した場合との、熱発生量の推定結果の適合度を調べた。
【０１１５】
なお、内燃機関４には、直列４気筒で排気量が３０００ｃｃのディーゼルエンジンを用いた。また、内燃機関４は、回転数を１６００ｒｐｍ、燃料噴射量を４０ｍｍ３／ｓｔに固定し、燃料噴射圧を１００から１９０ＭＰａまでの範囲で１０ＭＰａずつ変化させて運転した。また、予め用意されたパラメータ値は、制御対象の内燃機関４と同じ構成の複数の内燃機関に対する試験運転により設定されたパラメータ値である。
【０１１６】
このとき、予め用意されたパラメータ値に基づいて熱発生率を推定し、熱発生率の推定値と実測値とを比較すると、燃焼開始時期及び燃焼期間の適合度は、図１３に示したような結果になった。図１３には、推定した熱発生率のプロファイルと実測値のプロファイルとを重ねて目視確認した結果（適合可否）と、熱発生率及び熱発生量の２乗平均平方根誤差（ＲＭＳＥ）とを示している。目視確認の結果は、「○」が適合していることを示し、「×」が適合していないことを示している。
【０１１７】
図１３に示したように、予め用意されたパラメータ値を用いて熱発生率を推定する場合、目視確認の結果では、いくつかの燃料噴射圧条件で不適合になっている（すなわち、熱発生率の推定値と実測値との乖離が大きくなっている）。また、目視確認で不適合になっている燃料噴射圧条件における熱発生率及び熱発生量のＲＭＳＥ値は、適合している燃料噴射圧条件におけるＲＭＳＥ値と比べて大きな値になっている。
【０１１８】
一方、本実施形態の第２の例のように熱発生率及び熱発生量を用いてパラメータ値を同定して熱発生率を推定し、熱発生率の推定値と実測値とを比較すると、燃焼開始時期及び燃焼期間の適合度は、図１４に示したような結果になった。
【０１１９】
図１４に示したように、熱発生率及び熱発生量を用いてパラメータ値を同定した場合の目視確認の結果では、図１３に示した結果で不適合になっている燃料噴射圧条件を含む全ての燃料噴射圧条件において適合している。
【０１２０】
また、熱発生率のＲＭＳＥ値を見ると、図１４に示した結果におけるＲＭＳＥ値の最大値が３．６０であるのに対し、図１３に示した結果のうち目視確認で適合している燃料噴射圧条件におけるＲＭＳＥ値の最大値は３．７７である。更に、熱発生量のＲＭＳＥ値を見ると、図１４に示した結果におけるＲＭＳＥ値の最大値が３．９３であるのに対し、図１３に示した結果のうち目視確認で適合している燃料噴射圧条件におけるＲＭＳＥ値の最大値は４．２５である。
【０１２１】
このように目視確認の結果に加え、熱発生率及び熱発生量のＲＭＳＥ値からも、熱発生率及び熱発生量を用いてパラメータ値を同定した場合のほうが、より実測値に近い熱発生率及び熱発生率の推定値のプロファイルを得られることがわかる。
【０１２２】
以上のように、本実施形態によれば、制御対象の内燃機関４の運転データに基づいて算出（同定）したパラメータ値を用いて、内燃機関４の熱発生率を推定することで、現時点の熱発生率を精度良く推定する。よって、制御装置２は、熱発生率の推定値に基づいて内燃機関４の制御パラメータを操作する場合に、制御パラメータを適切に操作することができる。例えば、熱発生率（筒内の熱発生パターン）や筒内圧の推定精度が向上すれば内燃機関４の発生トルクの推定精度が向上する。そのため、本実施形態の内燃機関制御システム１によれば、制御装置２による、アクセルセンサ３０１の検出値（アクセルペダルの操作量）に基づく要求トルクに応じた内燃機関４の発生トルクの適切な制御が可能になる。
【０１２３】
更に、本実施形態で説明したパラメータ値算出処理の第２の例のように、熱発生率の実測値及び計算値と、熱発生量の実測値及び計算値とを用いてパラメータ値を算出（同定）することにより、パラメータ値の推定精度を一層向上させることができる。
【０１２４】
また、制御装置２は、制御対象の内燃機関４（実機）とともに車両等に搭載され、制御対象の内燃機関４の運転データに基づいてWiebe関数のパラメータ値を算出（同定）してパラメータ値記憶部２０２ｂに蓄積していく。そのため、制御装置２は、制御対象の内燃機関４における現時点での熱発生率を精度よく推定（再現）することができる。よって、本実施形態の内燃機関制御システム１は、筒内の状態の経時変化や走行条件等の影響による熱発生率の推定精度の低下を抑制することができる。従って、本実施形態の内燃機関制御システム１は、制御対象の内燃機関４におけるクランク角に対する筒内の熱発生率を精度良く推定することができる。よって、本実施形態の内燃機関制御システム１では、推定した熱発生率に基づいて内燃機関４の運転状態の適切な制御が可能となる。例えば、本実施形態の内燃機関制御システム１では、筒内の熱発生率に基づいて内燃機関４の発生トルクを精度良く推定することができるので、アクセル操作等に基づく要求トルクに応じた内燃機関４の発生トルクの適切な制御が可能となる。
【０１２５】
なお、上記の第２の例においてパラメータ値の同定に用いる評価値Ｍは、上記式（６）に限らず、例えば、下記式（７）のように重み付け値ｗにより熱発生率と熱発生量とに重み付けをしてもよい。
【０１２６】
【数７】
0006535522.tif 000008
【０１２７】
また、第２の例における評価値Ｍの算出式は、式（６）や式（７）のような誤差２乗和を合算する式に限らず、熱発生率の実測値及び推定値と、熱発生量の実測値及び推定値とを用いて算出した値が熱発生率の推定値の適合性を評価可能な式であれば、他の式であっても良い。
【０１２８】
また、図５、図６、図７、図９、及び図１０のフローチャートは一例に過ぎず、各フローチャートに示した処理を適宜変更可能であることはもちろんである。
【０１２９】
また、パラメータ値記憶部２０２ｂに記憶させるマップ２１０は、例えば、所定の期間が経過する毎に一部又は全部のパラメータ値の情報がリセットされるようにしても良い。これにより、発生頻度の低い運転状態（運転データ）と対応したパラメータ値をマップ２１０から削除することができるので、マップ２１０のデータの肥大化を抑制し、パラメータ値記憶部２０２の容量を有効利用できる。
【０１３０】
更に、パラメータ値決定部２０２ａは、パラメータ値算出部２０２ｃで算出したパラメータ値をマップ２１０に追加登録する際に登録日の情報をあわせて登録してもよい。登録日の情報があると、例えば、パラメータ値決定部２０２ａは、マップ２１０から読み出したパラメータ値の登録日から所定の日数が経過している場合に、パラメータ値算出部２０２ｃに改めてパラメータ値を算出させることができる。これにより、例えば、内燃機関４を長期間運転させることにより生じる筒内の状態の経年変化に応じて、適切なパラメータ値に随時更新することができる。
【０１３１】
また、上記の本実施形態に係る内燃機関制御システム１における制御装置２は、既知のＥＣＵ等の制御装置と同様、コンピュータと、コンピュータに実行させる制御プログラムとにより実現可能である。
【０１３２】
図１５は、コンピュータのハードウェア構成を示す図である。
図１５に示すように、コンピュータ５は、プロセッサ５０１と、主記憶装置５０２と、補助記憶装置５０３と、入力装置５０４と、出力装置５０５と、インタフェース装置５０６と、記憶媒体駆動装置５０７と、を更に備える。コンピュータ５におけるこれらの要素５０１〜５０７は、バス５０９により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
【０１３３】
プロセッサ５０１は、Central Processing Unit（ＣＰＵ）、Micro Processing Unit（ＭＰＵ）等の演算処理装置である。プロセッサ５０１は、オペレーティングシステムを含む各種のプログラムを実行することによりコンピュータ５の全体の動作を制御する。
【０１３４】
主記憶装置５０２は、Read Only Memory（ＲＯＭ）５０２ａ及びRandom Access Memory（ＲＡＭ）５０２ｂを有する。ＲＯＭ ５０２ａには、例えばコンピュータ５の起動時にプロセッサ５０１が読み出す所定の基本制御プログラム等が予め記録されている。また、ＲＡＭ ５０２ｂは、プロセッサ ５０１が各種のプログラムを実行する際に、必要に応じて作業用記憶領域として使用する。本実施形態においては、例えばパラメータ値同定処理中の評価値Ｍ０及びパラメータ値等の一時的な記憶にＲＡＭ ５０２ｂを使用することができる。
【０１３５】
補助記憶装置５０３は、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ）等、主記憶装置５０２に比べて大容量の記憶装置である。補助記憶装置５０３には、プロセッサ５０１によって実行される各種のプログラムや各種のデータ等を記憶させる。補助記憶装置５０３に記憶させるプログラムとしては、例えば、上記のWiebe関数のパラメータ値を同定する処理をプロセッサ５０１に実行させるプログラムが挙げられる。また、補助記憶装置５０３に記憶させるプログラムとしては、その他にも、熱発生量の推定値等を用いて内燃機関４の制御パラメータを操作する処理をプロセッサ５０１に実行させるプログラムが挙げられる。また、補助記憶装置５０３に記憶させるデータとしては、例えば、上記のパラメータ値同定処理により同定されたパラメータ値と運転データとを対応付けたマップ２１０のデータ等が挙げられる。
【０１３６】
入力装置５０４は、例えば釦スイッチ等であり、コンピュータ５のオペレータにより操作されると、その操作内容に対応付けられている入力情報をプロセッサ５０１に送信する。
【０１３７】
出力装置５０５は、例えば液晶ディスプレイである。液晶ディスプレイは、プロセッサ５０１等から送信される表示データに従って各種のテキスト、画像等の情報を表示する。出力装置５０５（液晶ディスプレイ）が表示する情報には、例えば、コンピュータ５の動作状況、内燃機関４の運転状態等がある。
【０１３８】
インタフェース装置５０６は、コンピュータ５と他の装置との間でデータ等の受け渡しを行う入出力装置である。インタフェース装置５０６は、例えば、センサ群３の各センサ３０１〜３１２の検出値を入力する入力端子、及び内燃機関４の燃料噴射装置４０１やＥＧＲ ４０２に制御信号を出力する出力端子を含む。
【０１３９】
記憶媒体駆動装置５０７は、図示しない可搬型記憶媒体に記録されているプログラムやデータの読み出し、補助記憶装置５０３に記憶されたデータ等の可搬型記憶媒体への書き込みを行う。可搬型記憶媒体としては、例えば、ＵＳＢ規格のコネクタを備えたフラッシュメモリが利用可能である。また、可搬型記憶媒体としては、Compact Disc（ＣＤ）、Digital Versatile Disc（ＤＶＤ）、Blu-ray Disc（Blu-rayは登録商標）等の光ディスクも利用可能である。
【０１４０】
このコンピュータ５は、プロセッサ５０１が補助記憶装置５０３から所定のプログラムを読み出し、主記憶装置５０２、補助記憶装置５０３、インタフェース装置５０６等と協働して、Wiebe関数を解いて熱発生率の推定値を算出する処理を実行する。
【０１４１】
なお、コンピュータ５は、図１５に示した全ての構成要素５０１〜５０７を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、コンピュータ５をエンジンルーム等、車室外部の運転手が運転時に操作できない箇所に設置する場合、入力装置５０４、出力装置５０５、記憶媒体駆動装置５０７等を省略してもよい。
【０１４２】
更に、コンピュータ５は、内燃機関４の制御パラメータの操作（制御）のみを実行させるだけでなく、例えば、カーナビゲーションシステム等の他の機能を同時に実行するようにしてもよい。
【０１４３】
以上記載した実施形態に関し、更に以下の付記を開示する。
（付記１）
内燃機関の運転状態を表す運転データを取得する取得部と、
取得した前記運転データに基づいて前記内燃機関の筒内の熱発生率を推定する推定部と、
推定した前記熱発生率に基づいて前記内燃機関の制御パラメータを操作する制御部と、
を備え、
前記熱発生率の推定部は、
取得した前記運転データに基づいて、前記熱発生率の推定に用いる関数のパラメータの値を決定する決定部と、
決定した前記パラメータの値を用いて前記熱発生率の推定値を算出する熱発生率算出部と，
取得した前記運転データと対応する前記パラメータの値を算出するパラメータ値算出部と、
前記運転データと算出した前記パラメータの値とを対応付けて記憶させる記憶部と、
を有し、
前記取得部は、前記筒内の圧力を示す情報を含む前記運転データを取得し、
前記パラメータ値算出部は、前記筒内の圧力を示す情報から熱発生率及び熱発生量を算出し、算出した前記熱発生率及び熱発生量に基づいて熱発生率の推定に用いる関数のパラメータの値を算出する、
ことを特徴とする内燃機関制御システム。
（付記２）
前記熱発生推定モデルがWiebe関数モデルである、
ことを特徴とする付記１に記載の内燃機関制御システム。
（付記３）
前記決定部は、
取得した前記運転データと対応した前記パラメータの値が前記記憶部にない場合に前記パラメータ値算出部に前記パラメータの値を算出させる、
ことを特徴とする付記１に記載の内燃機関制御システム。
（付記４）
前記パラメータ値算出部は、前記筒内の圧力を示す情報から熱発生率及び熱発生量を算出し、前記熱発生率及び熱発生量の両者を重みづけて合算した評価値を作成し，前記評価値に基づいて前記Wiebe関数のパラメータの値を算出する、
ことを特徴とする付記２に記載の内燃機関制御システム。
（付記５）
当該内燃機関制御システムは、
前記取得部、前記推定部、及び前記制御部を備えた制御装置と、
前記内燃機関の運転状態を検出する複数のセンサを含むセンサ群と、を含む、
ことを特徴とする付記１に記載の内燃機関制御システム。
（付記６）
前記制御装置及び前記センサ群は、制御対象の内燃機関とともに車両に搭載されている、
ことを特徴とする付記５に記載の内燃機関制御システム。
（付記７）
前記取得部は、前記内燃機関の出力を調整するアクセルの操作量を取得し、
前記制御部は、取得した前記アクセルの操作量と前記推定部で推定した前記熱発生率とに基づいて、前記内燃機関の発生トルクが前記アクセルの操作量に応じたトルクになるよう前記内燃機関の制御パラメータを操作する、
ことを特徴とする付記１に記載の内燃機関制御システム。
（付記８）
コンピュータが、
内燃機関の筒内の圧力を示す情報を含む前記内燃機関の運転データを取得し、
前記筒内の圧力を示す情報から前記筒内の熱発生率を算出し、
算出した前記熱発生率から前記筒内の熱発生量を算出し、
算出した前記熱発生率及び前記熱発生量に基づいてWiebe関数のパラメータの値を算出する、
処理を実行することを特徴とするパラメータ値算出方法。
（付記９）
前記コンピュータが、
前記筒内の圧力を示す情報から第１の熱発生率を算出し、
算出した前記第１の熱発生率から第１の熱発生量を算出した後、
前記第１の熱発生率と前記Wiebe関数を用いて算出した第２の熱発生率とに基づく評価値、及び前記第１の熱発生量と前記第２の熱発生率から算出した第２の熱発生量とに基づく評価値の和が最小となる前記Wiebe関数のパラメータの値を算出する、
処理を実行することを特徴とする付記８に記載のパラメータ値算出方法。
（付記１０）
コンピュータが、
内燃機関の運転状態を表す運転データを取得し、
取得した前記運転データに基づいて、前記内燃機関の筒内の熱発生率の推定に用いる関数のパラメータの値を決定し、
決定した前記パラメータの値を用いて前記熱発生率の推定値を算出し、
算出した前記熱発生率の推定値を用いて前記内燃機関の制御パラメータを操作する、
処理を実行することを特徴とする内燃機関制御方法。
（付記１１）
前記コンピュータが、
前記筒内の圧力を示す情報を含む前記運転データを取得し、
前記筒内の圧力を示す情報から前記筒内の熱発生率及び熱発生量を算出し、
算出した前記熱発生率及び熱発生量に基づいてWiebe関数のパラメータの値を算出する、
処理を実行することを特徴とする付記１０に記載の内燃機関制御方法。
（付記１２）
前記コンピュータが、
前記筒内の圧力を示す情報に基づいて第１の熱発生率を算出し、
算出した前記第１の熱発生率に基づいて第１の熱発生量を算出し、
前記第１の熱発生率と前記Wiebe関数を用いて算出した第２の熱発生率とに基づく評価値、及び前記第１の熱発生量と前記第２の熱発生率から算出した第２の熱発生量とに基づく評価値の和が最小となる前記Wiebe関数のパラメータの値を算出する、
処理を実行することを特徴とする付記１１に記載の内燃機関制御方法。
（付記１３）
内燃機関の筒内の圧力を示す情報を含む前記内燃機関の運転データを取得し、
前記筒内の圧力を示す情報から前記筒内の熱発生率を算出し、
算出した前記熱発生率から前記筒内の熱発生量を算出し、
算出した前記熱発生率及び熱発生量に基づいてWiebe関数のパラメータの値を算出する、
処理をコンピュータに実行させるためのパラメータ値算出プログラム。
（付記１４）
内燃機関の運転状態を表す運転データを取得し、
取得した前記運転データに基づいて、前記内燃機関の筒内の熱発生率の推定に用いる関数のパラメータの値を決定し、
決定した前記パラメータの値を用いて前記熱発生率の推定値を算出し、
算出した前記熱発生率の推定値を用いて前記内燃機関の制御パラメータを操作する、
処理をコンピュータに実行させるための制御プログラム。
【符号の説明】
【０１４４】
１  内燃機関制御システム
２  制御装置
２０１  運転データ取得部
２０２  熱発生率推定部
２０２ａ  パラメータ値決定部
２０２ｂ  パラメータ値記憶部
２０２ｃ  パラメータ値算出部
２０２ｄ  推定熱発生率算出部
２０３  制御部
２１２  熱発生率実測値算出部
２２２  熱発生量実測値算出部
３  センサ群
３０１  アクセルセンサ
３０２  クランク角センサ
３０３  筒内圧センサ
３０４  燃料圧センサ
３０５  水温センサ
３０６  吸気温センサ
３０７  吸気圧センサ
３０８  吸気側Ｏ２センサ
３０９  排気温センサ
３１０  排気圧センサ
３１１  排気側Ｏ２センサ
３１２  還流量センサ
４  内燃機関
４０１  燃料噴射装置
４０２  ＥＧＲ
５  コンピュータ
５０１  プロセッサ
５０２  主記憶装置
５０２ａ  ＲＯＭ
５０２ｂ  ＲＡＭ
５０３  補助記憶装置
５０４  入力装置
５０５  出力装置
５０６  インタフェース装置
５０７  記憶媒体駆動装置
【図１】
0006535522.tif 000009
【図２】
0006535522.tif 000010
【図３】
0006535522.tif 000011
【図４】
0006535522.tif 000012
【図５】
0006535522.tif 000013
【図６】
0006535522.tif 000014
【図７】
0006535522.tif 000015
【図８】
0006535522.tif 000016
【図９】
0006535522.tif 000017
【図１０】
0006535522.tif 000018
【図１１】
0006535522.tif 000019
【図１２】
0006535522.tif 000020
【図１３】
0006535522.tif 000021
【図１４】
0006535522.tif 000022
【図１５】
0006535522.tif 000023