(57)【特許請求の範囲】
【請求項１】
内燃機関の停止位置制御装置であって、
内燃機関のフリクションを算出するフリクションモデルと、
前記フリクションモデルの算出値がフリクションの実測値に適合するように、フリクション学習値を算出するフリクション学習手段と、
車両の走行状態に依存して変化する忘却係数を設定する忘却係数設定手段と、
フリクションに特性変化が生じたか否かを判別するフリクション特性変化判別手段と、
フリクションに前記特性変化が生じた場合に、走行状態に応じて設定された前記忘却係数に応じて前記フリクション学習値の消去量を設定する学習値消去量設定手段と、
フリクションに前記特性変化が生じた場合に、前記学習値消去量設定手段により設定された前記消去量だけ前記フリクション学習値を消去する学習値消去手段と、
を備えることを特徴とする内燃機関の停止位置制御装置。
【請求項２】
前記消去量は、走行距離およびまたは走行時間が大きくなるほど、小さくなるように設定されていることを特徴とする請求項１記載の内燃機関の停止位置制御装置。
【請求項３】
前記フリクションを含む所定のパラメータに基づいてクランク停止位置の推定値を算出するクランク停止位置算出手段と、
クランク停止位置の実測値を取得するクランク停止位置実測値取得手段と、
前記クランク停止位置の前記推定値と前記実測値とのクランク停止位置誤差を算出するクランク停止位置誤差算出手段とを更に備え、
前記学習値消去手段は、前記クランク停止位置誤差が所定値以下となるように、前記消去量を修正する消去量修正手段を含むことを特徴とする請求項１または２記載の内燃機関の停止位置制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の停止位置制御装置に係り、特に、車両が一時的に停止した際に、内燃機関の停止および再始動を自動的に行う制御が適用された内燃機関を制御する装置として好適な内燃機関の停止位置制御装置に関する。
【背景技術】
【０００２】
従来、例えば特許文献１には、内燃機関の運転状態の変化による燃料噴射量の補正値（学習値）の急激な変化を回避するための技術が開示されている。この従来の技術では、前回学習値と今回学習値との差の絶対値が所定値を超える場合には、前回学習値から今回学習値への変化量に制限を与えるようにしている。そして、その制限と同時に、誤った補正値に基づいて更新されることがないように、学習更新が禁止され、またはその学習更新の速度が緩められる。
【０００３】
【特許文献１】特開平８−１４４８３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、車両が一時的に停止した際に、内燃機関の停止および再始動を自動的に行う制御が知られている。このような制御が行われる場合には、次回の再始動を円滑に行えるようにするために、内燃機関の始動停止時のクランク停止位置を精度良く制御することが要求される。そのような場合に、内燃機関の自動停止時のクランク停止位置は、内燃機関の内部等のフリクションの影響を大きく受ける。従って、そのフリクションを高精度に推定することが必要となる。
【０００５】
フリクションは、例えば内燃機関の潤滑用のオイルが交換された場合に、その特性が大きく変化する。高精度なクランク停止位置の制御を維持するためには、そのようなフリクション特性の大きな変化が認められた場合に、即座にその変化を学習させることが必要となる。しかしながら、上記従来の技術は、補正値の急激な変化を回避すること、すなわち、学習速度を緩めることを主眼としている。このため、上記従来の技術の手法では、学習すべき値（フリクション）が急変した際に、素早い学習が必要とされる内燃機関の停止位置制御において、その要求を満たすことができない。
【０００６】
この発明は、上述のような課題を解決するためになされたもので、フリクション特性が大きく変化した場合であっても、フリクションの適切な学習を迅速に実行し得る内燃機関の停止位置制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、内燃機関の停止位置制御装置であって、
内燃機関のフリクションを算出するフリクションモデルと、
前記フリクションモデルの算出値がフリクションの実測値に適合するように、フリクション学習値を算出するフリクション学習手段と、
車両の走行状態に依存して変化する忘却係数を設定する忘却係数設定手段と、
フリクションに特性変化が生じたか否かを判別するフリクション特性変化判別手段と、
フリクションに前記特性変化が生じた場合に、走行状態に応じて設定された前記忘却係数に応じて前記フリクション学習値の消去量を設定する学習値消去量設定手段と、
フリクションに前記特性変化が生じた場合に、前記学習値消去量設定手段により設定された前記消去量だけ前記フリクション学習値を消去する学習値消去手段と、
を備えることを特徴とする。
【０００８】
また、第２の発明は、第１の発明において、前記消去量は、走行距離およびまたは走行時間が大きくなるほど、小さくなるように設定されていることを特徴とする。
【０００９】
また、第３の発明は、第１または第２の発明において、前記フリクションを含む所定のパラメータに基づいてクランク停止位置の推定値を算出するクランク停止位置算出手段と、
クランク停止位置の実測値を取得するクランク停止位置実測値取得手段と、
前記クランク停止位置の前記推定値と前記実測値とのクランク停止位置誤差を算出するクランク停止位置誤差算出手段とを更に備え、
前記学習値消去手段は、前記クランク停止位置誤差が所定値以下となるように、前記消去量を修正する消去量修正手段を含むことを特徴とする。
【発明の効果】
【００１０】
第１の発明によれば、フリクションの特性変化が認められた場合に、再び学習を一からやり直す必要を回避し、また、消去時点までの間に学習されたフリクションの経年変化分や機差ばらつき等の初期ばらつき分が一律に消去されてしまうのを回避することができる。このため、本発明によれば、フリクション特性が大きく変化した場合であっても、フリクションの適切な学習を迅速に実行することができる。
【００１１】
第２の発明によれば、フリクション学習値の消去量を走行距離およびまたは走行時間に応じて変化させていることにより、経年変化分や機差ばらつき分を残しつつ、フリクション特性の変化に対応した素早いフリクション学習を行うことが可能となる。
【００１２】
第３の発明によれば、フリクション学習値の消去量の調整のみによって、クランク停止位置誤差を十分に小さくできるように、フリクション学習値を素早く適正化することができる。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
［実施の形態１の装置の構成］
図１は、本発明の実施の形態１の内燃機関の停止位置制御装置が適用された内燃機関１０の構成を説明するための図である。本実施形態のシステムは、内燃機関１０を備えている。ここでは、内燃機関１０は、直列４気筒型エンジンであるものとする。内燃機関１０の筒内には、ピストン１２が設けられている。ピストン１２は、コンロッド１４を介してクランク軸１６と連結されている。また、内燃機関１０の筒内には、ピストン１２の頂部側に燃焼室１８が形成されている。燃焼室１８には、吸気通路２０および排気通路２２が連通している。
【００１４】
吸気通路２０には、スロットルバルブ２４が設けられている。スロットルバルブ２４は、アクセル開度と独立してスロットル開度を制御することのできる電子制御式スロットルバルブである。スロットルバルブ２４の近傍には、スロットル開度TAを検出するスロットルポジションセンサ２６が配置されている。スロットルバルブ２４の下流には、内燃機関１０の吸気ポートに燃料を噴射するための燃料噴射弁２８が配置されている。また、内燃機関が備えるシリンダヘッドには、気筒毎に、燃焼室１８の頂部から燃焼室１８内に突出するように点火プラグ３０がそれぞれ取り付けられている。吸気ポートおよび排気ポートには、それぞれ、燃焼室１８と吸気通路２０、或いは燃焼室１８と排気通路２２を導通状態または遮断状態とするための吸気弁３２および排気弁３４が設けられている。
【００１５】
吸気弁３２および排気弁３４は、それぞれ吸気可変動弁（VVT）機構３６および排気可変動弁（VVT）機構３８により駆動される。可変動弁機構３６、３８は、それぞれ、クランク軸の回転と同期して吸気弁３２および排気弁３４を開閉させると共に、それらの開弁特性（開弁時期、作用角、リフト量など）を変更することができる。
【００１６】
内燃機関１０は、クランク軸の近傍にクランク角センサ４０を備えている。クランク角センサ４０は、クランク軸が所定回転角だけ回転する毎に、Hi出力とLo出力を反転させるセンサである。クランク角センサ４０の出力によれば、クランク軸の回転位置やその回転速度（エンジン回転数Ne）を検知することができる。また、内燃機関１０は、吸気カム軸の近傍にカム角センサ４２を備えている。カム角センサ４２は、クランク角センサ４０と同様の構成を有するセンサである。カム角センサ４２の出力によれば、吸気カム軸の回転位置（進角量）などを検知することができる。
【００１７】
図１に示すシステムは、ECU(Electronic Control Unit)５０を備えている。ECU５０には、上述した各種センサに加え、排気通路２２内の排気空燃比を検出するための空燃比センサ５２や内燃機関１０の冷却水温度を検出するための水温センサ５４が接続されている。また、ECU５０には、上述した各種アクチュエータが接続されている。ECU５０は、それらのセンサ出力、およびECU５０内に仮想的に構成されたエンジンモデル６０を用いた演算結果に基づいて、内燃機関１０の運転状態を制御することができる。
【００１８】
［エンジンモデルの概要］
図２は、図１に示すECU５０が備えるエンジンモデル６０の構成を示すブロック図である。図２に示すように、エンジンモデル６０は、クランク軸周りの運動方程式演算部６２と、フリクションモデル６４と、吸気圧力推定モデル６６と、筒内圧推定モデル６８と、燃焼波形算出部７０と、大気圧補正項算出部７２と、大気温補正項算出部７４とを含んでいる。以下、これらの各部の詳細な構成について説明を行う。
【００１９】
（１）クランク軸周りの運動方程式演算部について
クランク軸周りの運動方程式演算部６２は、クランク角度θおよびエンジン回転数Ne（クランク角回転速度dθ/dt）のそれぞれの推定値を求めるためのものである。クランク軸周りの運動方程式演算部６２は、筒内圧推定モデル６８または燃焼波形算出部７０から内燃機関１０の筒内圧力Pの入力を受け、演算開始時には、更に、初期クランク角度θ0および初期エンジン回転数Ne0の入力を受ける。
【００２０】
クランク軸周りの運動方程式演算部６２によって算出される推定クランク角度θおよび推定エンジン回転数Neは、図２に示すPIDコントローラ７６によって、実クランク角度θおよび実エンジン回転数Neとの偏差が無くなるようにフィードバック制御される。また、クランク軸周りの運動方程式演算部６２の演算結果には、フリクションモデル６４によって、内燃機関１０の内部のフリクションに関する影響が反映される。
【００２１】
次に、クランク軸周りの運動方程式演算部６２の内部で実行される具体的な演算内容について説明する。
図３は、クランク軸周りの各要素に付す記号を示す図である。図３に示すように、ここでは、筒内圧力Pを受けるピストン１２の頂部の表面積をAとする。コンロッド１４の長さをL、クランクの回転半径をrとする。そして、コンロッド１４のピストン取り付け点とクランク軸１６の軸中心とを結ぶ仮想線（シリンダの軸線）と、コンロッド１４の軸線とがなす角度をφ（以下、「コンロッド角度φ」と称する）とし、シリンダの軸線とクランクピン１７の軸線とがなす角度をθとする。
【００２２】
４つの気筒を有する内燃機関１０では、気筒間のクランク角度の位相差は180°CAであるため、それらの気筒間のクランク角度の関係は、次の（１ａ）式のように定義することができる。また、各気筒のクランク角回転速度dθ/dtは、それぞれ各気筒のクランク角度θの時間微分となるため、それぞれ次の（１ｂ）式のように表すことができる。
【数１】
0004631775.tif 000002
【００２３】
ただし、上記（１ａ）式および（１ｂ）式において、クランク角度θおよびクランク角回転速度dθ/dtに付された符号1〜4は、内燃機関１０の所定の爆発順序に従って燃焼が到来する気筒の順番に対応しており、また、後述する数式においては、それらの符号1〜4を「i」で代表させることがある。
【００２４】
また、図３に示すピストン・クランク機構においては、クランク角度θiとコンロッド角度φiとは、次の（２）式で表される関係を有することになる。
【数２】
0004631775.tif 000003
ただし、上記（２）式において、dXi/dtはピストン速度である。
【００２５】
また、クランク軸周りの全運動エネルギTは、次の（３）式のように表すことができる。（３）式を展開すると、（３）式中の各項の諸々のパラメータを1/2(dθ/dt)2の係数としてまとめることができる。ここでは、そのようにまとめられた係数を、クランク角度θの関数f(θ)として表現している。
【数３】
0004631775.tif 000004
【００２６】
ただし、上記（３）式において、右辺第１項はクランク軸１６の回転運動に関する運動エネルギに、右辺第２項はピストン１２およびコンロッド１４の直進運動に関する運動エネルギに、右辺第３項はコンロッド１４の回転運動に関する運動エネルギに、それぞれ対応している。また、上記（３）式において、Ikはクランク軸１６の軸周りの慣性モーメントであり、Iflはフライホイールの回転軸周りの慣性モーメントであり、Imiは内燃機関１０と組み合わされる変速機以下の回転部の回転軸周りの慣性モーメントであり、Icはコンロッドに関する慣性モーメントである。また、mpはピストン１２の変位であり、mcはコンロッド１４の変位である。
【００２７】
次に、ラグラジアンLを、系の全運動エネルギTと位置エネルギUとの偏差として、次の（４ａ）式のように定義する。そして、クランク軸１６に作用する入力トルクをTRQとすると、ラグランジュの運動方程式を用いて、ラグラジアンLとクランク角度θと入力トルクTRQとの関係を、次の（４ｂ）式のように表すことができる。
【数４】
0004631775.tif 000005
【００２８】
ここで、上記（４ａ）式において、位置エネルギUの影響は運動エネルギTの影響に比して小さく、その影響を無視することができる。従って、上記（４ｂ）式の左辺第１項は、上記（３）式をクランク角回転速度(dθ/dt)で偏微分して得られた値を時間微分することで、クランク角度θの関数として、次の（４ｃ）式のように表すことができる。また、上記（４ｂ）式の左辺第２項は、上記（３）式をクランク角度θで偏微分することで、クランク角度θの関数として、次の（４ｄ）式のように表すことができる。
【００２９】
従って、上記（４ｂ）式は、次の（４ｅ）式のようにして表すことができ、これにより、クランク角度θと入力トルクTRQとの関係を得ることができる。また、ここでは、その入力トルクTRQを、次の（５）式のように、３つのパラメータからなるものと定義する。
【数５】
0004631775.tif 000006
【００３０】
ただし、上記（５）式において、TRQeは、エンジン発生トルクであり、より具体的には、ガス圧力（筒内圧力P）を受けるピストン１２からクランク軸１６に作用するトルクである。TRQLは、負荷トルクであり、内燃機関１０が搭載される車両の特性に応じて異なる既知の値として、ECU５０に記憶されている。TRQfは、フリクショントルク、すなわち、ピストン１２、クランク軸１６等の摺動部分の摩擦損失に対応するトルクである。このフリクショントルクTRQfは、フリクションモデル６４から得られる値である。
【００３１】
次に、エンジン発生トルクTRQeは、次の（６ａ）式〜（６ｃ）式に従って算出することができる。すなわち、先ず、筒内圧力Pに基づいてコンロッド１４に作用する力Fcは、ピストン１２の頂部に作用する力PAのコンロッド１４の軸線方向成分として、（６ａ）式のように表すことができる。そして、図３に示すようにコンロッド１４の軸線とクランクピン１７の軌跡の接線とがなす角度αが{π/2−(φ＋θ)}であるため、筒内圧力Pに基づいてクランクピン１７の軌跡の接線方向に作用する力Fkは、コンロッド１４に作用する力Fcを用いて、（６ｂ）式のように表すことができる。従って、エンジン発生トルクTRQeは、クランクピン１７の軌跡の接線方向に作用する力Fkとクランクの回転半径rとの積であるため、（６ａ）式および（６ｂ）式を用いて、（６ｃ）式のように表すことができる。
【数６】
0004631775.tif 000007
【００３２】
以上説明したクランク軸周りの運動方程式演算部６２の構成によれば、筒内圧推定モデル６８または燃焼波形算出部７０によって筒内圧力Pを取得することにより、（６ｃ）式および（５）式に従って入力トルクTRQを得ることができる。そして、（４ｅ）式を解くことにより、クランク角度θやクランク角回転速度dθ/dtを得ることが可能となる。
【００３３】
（２）フリクションモデルについて
図４は、図２に示すフリクションモデル６４がフリクショントルクTRQfを取得するために備えているフリクションマップの一例を示している。図４に示すフリクションマップでは、フリクショントルクTRQfを、エンジン回転数Neとエンジン冷却水温度との関係で定めている。このようなフリクションマップの特性は、予め実験等により定められたものであり、フリクショントルクTRQfは、エンジン冷却水温度が低くなると大きくなる傾向を有している。
【００３４】
尚、ここでは、ECU５０の計算負荷の低減のため、フリクションモデル６４として、上記のようなフリクションマップを備えるようにしているが、フリクションモデルの構成は、これに限定されるものではなく、以下の（７）式のような関係式を用いるものであってもよい。この（７）式では、フリクショントルクTRQfが、エンジン回転数Neと内燃機関１０の潤滑油の動粘度νとをパラメータとする関数となるように構成されている。
【数７】
0004631775.tif 000008
ただし、上記（７）式において、C1、C2、C3は、それぞれ実験等により適合される係数である。
【００３５】
（３）吸気圧力推定モデルについて
吸気圧力推定モデル６６は、吸気圧力を推定するための吸気圧マップ（図示省略）を備えている。この吸気圧マップは、吸気圧力を、スロットル開度TA、エンジン回転数Ne、および吸排気弁のバルブタイミングVVTとの関係で定めたものである。このような吸気圧力推定モデルの構成によれば、ECU５０の計算負荷を低く抑えつつ、吸気圧力を取得することができる。尚、詳細に吸気圧力を計算する場合には、上記のような吸気圧マップを用いずに、スロットルバルブ２４を通過する空気流量を推定するスロットルモデルと、吸気弁３２の周囲を通過する空気流量（すなわち、筒内吸入空気流量）を推定するバルブモデルとを用いて、吸気圧力推定モデルを構成するようにしてもよい。
【００３６】
（４）筒内圧推定モデル
筒内圧推定モデル６８は、燃焼が行われない状況下で、筒内圧力Pを算出するために用いられるモデルである。この筒内圧推定モデル６８では、内燃機関１０の各行程における筒内圧力Pを、次の（８ａ）式〜（８ｄ）式を用いて算出するようにしている。すなわち、先ず、吸気行程の経過中の筒内圧力Pは、（８ａ）式で示すように、上述した吸気圧力推定モデル６６が有する吸気圧マップから得られる筒内圧力のマップ値Pmapから得るようにしている。
【数８】
0004631775.tif 000009
【００３７】
次に、圧縮行程の経過中の筒内圧力Pは、気体の可逆断熱変化の式に基づいて、（８ｂ）式のように表すことができる。
ただし、上記（８ｂ）式において、VBDCはピストン１２が吸気下死点にあるときの行程容積Vであり、κは比熱比である。
【００３８】
また、膨張行程の経過中の筒内圧力Pについても、圧縮行程の場合と同様にして、（８ｃ）式のように表すことができる。
ただし、上記（８ｃ）式において、VTDCはピストン１２が圧縮上死点にあるときの行程容積Vであり、Pcは圧縮行程の終了時における筒内圧力である。
【００３９】
また、排気行程の経過中の筒内圧力Pは、(８ｄ)式で示すように、排気通路２２内の圧力Pexであるものとしている。この圧力Pexは、ほぼ大気圧力Pairに等しいとみなすことができるものである。従って、ここでは、大気圧力Pairを、排気行程の経過中の筒内圧力Pに使用している。
【００４０】
（５）燃焼波形算出部について
燃焼波形算出部７０は、圧縮行程の途中から膨張行程の途中までの燃焼が行われている期間における筒内圧力（燃焼圧力）Pを算出するために用いられるモデルである。この燃焼波形算出部７０では、Weibe関数を用いた関係式である（９ａ）式と、後述する（１０）式とを用いて、燃焼圧力Pの推定値が算出される。
【数９】
0004631775.tif 000010
【００４１】
より具体的には、燃焼波形算出部７０では、先ず、（９ａ）式を用いて、現在のクランク角度θに対応する熱発生率dQ/dθを算出することとしている。
ただし、上記（９ａ）式において、mは形状係数、kは燃焼効率、θbは着火遅れ期間、aは燃焼速度（ここでは固定値6.9）である。これらの各パラメータは、事前に適合された値が使用される。また、Qは発熱量である。
【００４２】
上記（９ａ）式を用いて熱発生率dQ/dθを算出するには、発熱量Qを算出する必要がある。発熱量Qは、微分方程式である（９ａ）式を解くことにより算出することができる。そのために、先ず、（９ｂ）式では、（９ａ）式におけるWeibe関数に相当する部分をg(θ)と置き換えている。そうすると、（９ａ）式を（９ｃ）式のように表すことが可能となる。次いで、（９ｃ）式の両辺をクランク角度θで積分した後に、当該（９ｃ）式を展開することで、発熱量Qを（９ｄ）式のように表すことができる。次いで、（９ｄ）式に従って算出された発熱量Qを、再度（９ａ）式に代入することで、熱発生率dQ/dθが算出される。
【００４３】
熱発生率dQ/dθと筒内圧力（燃焼圧力）Pとは、エネルギ保存則に基づく関係式を用いて（１０）式のように表すことができる。従って、（９ａ）式に従って算出された熱発生率dQ/dθを代入して当該（１０）式を解くことにより、燃焼圧力Pを算出することができる。
【数１０】
0004631775.tif 000011
【００４４】
以上説明した筒内圧推定モデル６８および燃焼波形算出部７０によれば、筒内圧推定モデル６８を用いて燃焼が行われていない状況下での筒内圧力Pを算出するととともに、燃焼波形算出部７０を用いて燃焼が行われている期間中の筒内圧力Pを算出することにより、燃焼実行の有無に関係なく、内燃機関１０の筒内圧力Pの履歴を取得することができる。
【００４５】
尚、内燃機関１０の筒内圧力Pの履歴を取得する手法は、上記の手法に限定されるものではなく、例えば、以下の図５を参照して示すような手法であってもよい。
図５は、そのような変形例の手法を説明するための図である。この手法では、上記（９ａ）式および（１０）式を用いて、所定のクランク角度θ毎に燃焼圧力Pを計算することを行うのではなく、事前に、上記（９ａ）式および（１０）式を用いて、図５（Ａ）に示すような燃焼パターン、すなわち、燃焼に付されることで変化する筒内圧力Pの波形の変化分（燃焼による圧力増加分）のみを算出しておく。
【００４６】
より具体的には、そのような燃焼パターンを決定する３つのパラメータである着火遅れ期間、燃焼期間、およびΔPmax（燃焼時の最大圧力Pmaxと燃焼無し時の最大圧力Pmax0との偏差）を、エンジン回転数Ne、空気充填率KL、吸排気弁のバルブタイミングVVT、および点火時期のそれぞれとの関係で定めたマップを記憶しておく。そして、燃焼による圧力増加分に対応する波形を、２次関数などの簡易な関数を組み合わせて近似させた波形として算出するために、当該近似波形の各係数を上記のエンジン回転数Neとの関係でマップ化しておく。そして、図５（Ｂ）に示すように、そのようなマップを参照して得られた燃焼による圧力増加分の波形を、筒内圧推定モデル６８で算出される筒内圧力Pの値と足し合わせることで、燃焼圧力Pを取得するようにする。
【００４７】
（６）大気圧補正項算出部について
大気圧補正項算出部７２は、筒内に吸入される筒内充填空気量Mcを推定するモデル（ここでは「エアモデル」と称する）を含んでいる。このエアモデルでは、筒内充填空気量Mcを次の（１１）式に従って算出することとしている。
【数１１】
0004631775.tif 000012
【００４８】
ただし、上記（１１）式において、a、bは、それぞれ運転条件（エンジン回転数NeやバルブタイミングVVTなど）に応じて適合される係数である。尚、Pmは、吸気圧力であり、例えば、上述した吸気圧力推定モデル６６によって算出される値を使用することができる。
【００４９】
また、大気圧補正項算出部７２は、筒内に吸入される燃料量fcを推定するモデル（ここでは「燃料モデル」と称する）を含んでいる。燃料噴射弁２８から噴射された後の燃料の挙動を考慮すると、すなわち、噴射された燃料の一部の吸気ポートの内壁等への付着やその付着燃料の気化という現象を考慮すると、第kサイクルにおける燃料噴射の開始時における壁面付着燃料量がfw(k)であり、第kサイクルにおける実燃料噴射量がfi(k)である場合、第kサイクルの終了後に発生している壁面付着燃料量fw(k+1)、および第kサイクルにおいて筒内に吸入される燃料量fcは、次の（１２a）式および（１２ｂ）式のように表すことができる。
【数１２】
0004631775.tif 000013
【００５０】
ただし、上記（１２）式において、Pは、付着率、より具体的には、噴射燃料量fiのうちの吸気ポートの内壁等に付着する燃料量の割合である。Rは、残留率、より具体的には、吸気行程の実行後に付着燃料量fwが壁面等に付着したままの状態で残る割合である。
上記（１２）式によれば、付着率Pおよび残留率Rをパラメータとして、個々のサイクル毎に上記燃料量fcを算出することができる。
【００５１】
従って、上記のエアモデルおよび燃料モデルの算出結果を用いて、空燃比A/Fの推定値を算出することができる。大気圧補正項算出部７２では、次いで、この推定空燃比A/Fと、噴射された燃料が燃焼に付された後に空燃比センサ５２に到達するまでの輸送遅れを考慮したタイミングで検出する空燃比A/Fの実測値との定常偏差を算出する。そして、この定常偏差が筒内充填空気量Mcの誤差であるため、当該定常偏差が大きい場合には、大気圧がずれているものとして、大気圧補正係数kairpを算出する。具体的には、上記エアモデルより吸気圧力Pmを逆算し、その吸気圧力Pmに基づいて標準大気圧Pa0に対する補正率として大気圧補正係数kairpを算出する。この大気圧補正係数kairpは、上述した吸気圧力推定モデル６６および筒内圧推定モデル６８において、吸気圧力Pmapと排気圧力（大気圧Pair）の補正に用いられる。
【００５２】
（７）大気温補正項算出部について
大気温補正項算出部７４では、排気行程中の行程容積V、残留ガス質量（排気上死点でのすきま容積Vcに基づいて算出）m、残留ガス（既燃ガス）のガス定数R、および大気温度Tairの実測値を理想気体の状態方程式に代入することで、筒内圧力Pthを算出する。当該筒内圧力Pthと、筒内圧推定モデル６８で算出される筒内圧力Pとの偏差を算出する。そして、その偏差が大きい場合には、上記偏差に基づいて補正係数を算出する。この補正係数は、上述した吸気圧力推定モデル６６において、吸気圧力Pmapの補正に用いられる。
【００５３】
［フリクションモデルの学習手法］
内燃機関を備えた車両では、車両が一時的に停止した際に、内燃機関の停止および再始動を自動的に行う制御（エコラン制御）が実行されることがある。また、内燃機関とモータとで車両を駆動するハイブリッド車両においても、車両システムの起動中（車両走行中も含む）に、内燃機関の停止および再始動を自動的に行う制御（本明細書中では、これも広い意味で「エコラン制御」と称している）が実行されることがある。
【００５４】
上記のエコラン制御において、内燃機関の再始動を円滑に行えるようにするためには、内燃機関を自動停止する際のクランク軸の停止位置（ピストンの停止位置）を狙いの停止位置に精度良く制御したいという要求がある。本実施形態のシステムでは、以上説明したエンジンモデル６０を、エコラン制御時にクランク軸１６の停止位置を推定するための停止位置推定モデルとして用いることとしている。上述したエンジンモデル６０によれば、クランク角回転速度dθ/dtがゼロとなる際のクランク角度θの推定値を取得することにより、内燃機関１０の自動停止時のクランク軸１６の停止位置を取得することができる。尚、本明細書中においては、クランク軸１６の停止位置を、単に「クランク停止位置」と称することがある。
【００５５】
内燃機関１０の自動停止時のクランク停止位置は、内燃機関１０の内部等のフリクションの影響を大きく受ける。従って、そのフリクションを高精度に推定することが必要となる。そこで、本実施形態のシステムは、フリクションモデル６４を備え、適応制御によって、フリクションモデル６４の算出値がフリクションの実測値と適合するように、フリクションを適宜学習する構成を有している。
【００５６】
フリクションは、例えば内燃機関１０の潤滑用のオイルが交換された場合に、その特性が大きく変化する。そのようなフリクションの特性の大きな変化があった場合には、フリクションモデル６４が算出するフリクショントルクTRQf_modelと、実際のフリクショントルクTRQf_jitsuとのフリクション誤差が一時的に大きくなる。つまり、フリクションの学習値が大きく異なる条件が発生し得る。
【００５７】
上記のような条件が生じた場合には、フリクション学習値を完全にリセットしてしまうことも考えられる。しかしながら、フリクション学習値を完全にリセットしてしまうと、再び学習を一からやり直す必要が生じる。そのうえ、リセット時点までの間に学習されたフリクションの経年変化分や機差ばらつき等の初期ばらつき分もが一緒にリセットされてしまう。このため、このような手法では、素早い学習実行要求に応えることができない。
【００５８】
そこで、本実施形態のシステムでは、車両の走行距離（走行時間）に依存して変化する忘却係数を設定し、この忘却係数の大きさに応じて、フリクション特性が大幅に変化した際のフリクション学習値（オイル劣化フリクション学習値）のリセット量（消去量）を変化させることとした。このような手法によれば、フリクション学習値の経年変化分や機差ばらつき分を残しつつ、フリクション特性の変化に対応した素早いフリクション学習を行うことが可能となる。
【００５９】
ここで、本実施形態では、フリクションモデル６４を修正するためのフリクション学習値は、オイル劣化の影響による「オイル劣化フリクション学習値」と、フリクションの経年変化および機差ばらつきの影響による「経年変化および機差ばらつきフリクション学習値」とにより構成されているものとする。また、本実施形態では、エンジンモデル６０が常時行っているフリクション学習によって算出される学習値には、オイル劣化フリクション学習値が対応しているものとする。
【００６０】
次に、図６を参照して、本実施の形態１における具体的な処理について説明する。
図６は、上記の機能を実現するために、本実施の形態１においてECU５０が実行するルーチンのフローチャートである。
（ステップ１００について）
図６に示すルーチンでは、先ず、内燃機関１０の運転状態がアイドリング状態または定常状態にあるか否か、すなわち、内燃機関１０が安定した状態にあるか否かが判別される（ステップ１００）。
【００６１】
（ステップ１０２について）
上記ステップ１００において、内燃機関１０の運転状態が安定した状態にあると判断された場合には、次いで、エンジンモデル６０を用いて、フリクションモデル６４のフリクションマップ（図４参照）に対応する所定の回転数領域毎に、それぞれの回転数領域におけるフリクショントルクTRQfの平均値が算出される（ステップ１０２）。ここでは、フリクションマップから得られる値と区別するために、本ステップ１０２において算出されるフリクショントルクTRQfのことを、「算出フリクショントルクTRQf」または単に「算出フリクション」と称することとする。算出フリクションは、エンジンモデル６０に、クランク角度θおよびクランク角回転速度dθ/dtのそれぞれの実測値を代入することによって、以下の（１３ｃ）式に従って算出することができる。
【数１３】
0004631775.tif 000014
尚、（１３ｃ）式が得られる過程を説明すると、J(θ)を上記（１３ａ）式のように定めることで、上記（４ｅ）式で表されるクランク軸周りの運動方程式は、上記（１３ｂ）式のように表すことができる。そして、（１３ｂ）式の左辺が算出フリクショントルクTRQfとなるように書き直すことで、（１３ｃ）式を得ることができる。
【００６２】
（ステップ１０４について）
次に、上記ステップ１０２において算出された算出フリクションと、図４に示すフリクションマップによって得られるフリクショントルクTRQf（以下、「フリクションマップ値」と称する）とのフリクション誤差が所定の閾値より大きく、かつ、フリクションマップ値の絶対値が算出フリクションの絶対値より大きいか否かが判別される（ステップ１０４）。
【００６３】
フリクションマップ値は、実際のフリクショントルクTRQfと一致するように適応学習がなされるものである。それなのに、上記のフリクション誤差が生じていると認められた場合には、内燃機関１０のフリクションを大きく変化させる何らかの要因が生じていたと判断することができる。また、算出フリクションは、クランク角度θ等の実測値が代入され、現在の内燃機関１０の状態が反映されたフリクショントルク値として得られるものである。従って、このような算出フリクションが、フリクションモデル６４が真であるとして記憶しているフリクションマップ値よりも小さいと判定される場合、すなわち、本ステップ１０４の判定条件が成立する場合には、内燃機関１０の実際のフリクションは下がっている、すなわち、オイル交換がされたものと判断することができる。
【００６４】
（ステップ１０６について）
次に、先ず、上記ステップ１０４における判定条件が不成立であった場合を説明する。この場合は、次いで、上記のフリクション誤差が上記閾値より大きく、かつ、算出フリクションの絶対値がフリクションマップ値の絶対値より大きいか否かが判別される（ステップ１０６）。
【００６５】
（ステップ１０８について）
上記ステップ１０６において、上記閾値より大きいフリクション誤差の存在が認められるものの、算出フリクションがフリクションマップ値よりも大きいと判定される場合には、内燃機関１０の実際のフリクションが比較的大きい状態にあるものと判断することができる。そこで、この場合には、前回学習時の走行距離と現在の走行距離に応じて、忘却係数が算出される（ステップ１０８）。より具体的には、本ステップ１０８では、以下の図７に示すマップに従って、忘却係数が算出される。尚、ここでは、車両の走行距離との関係で忘却係数が定められているが、忘却係数は、走行距離の代わりに或いは走行距離とともに、走行時間に基づいて定められるものであってもよい。
【００６６】
図７は、忘却係数と走行距離との関係を定めたマップの一例を示している。図７に示す忘却係数マップでは、忘却係数は、所定の走行距離に達することで当該係数が1となるまでは、走行距離に比例して大きくなるように設定されている。
【００６７】
（ステップ１１０について）
次に、忘却係数が1に達したか否かが判別される（ステップ１１０）。
（ステップ１１２について）
その結果、忘却係数が1に達したと判定された場合には、オイル劣化フリクション学習値として、それまでの間に学習がなされてきたフリクション学習値が、経年変化および機差ばらつきフリクション学習値に移される（ステップ１１２）。忘却係数が1となるまでの所定の走行距離に達した際のオイル劣化フリクション学習値として蓄積されている値は、オイル交換等の突発的な要因に基づく学習値でないと判断することができる。そして、そのような蓄積された学習値（経年変化や機差ばらつきに相当する値）は、後述するステップ１１６のおいて、オイル交換等の要因が生じたと判断される場合に、オイル劣化分とともにリセットされるべきでない学習値であると判断することができる。このため、本ステップ１１２の処理によれば、そのような蓄積された学習値が、後述するステップ１１６の処理におけるリセットの影響を受けにくくすることができる。
【００６８】
また、上記図７に示す忘却係数マップにおいて、忘却係数が0から1になるまでの走行距離（走行時間）は、例えば、数回分のオイル交換サイクルを含むことができるように、走行距離であれば数万kmに、走行時間であれば数年となるように設定することが好適である。このような設定によれば、忘却係数が0から1になるまでの走行距離（走行時間）を十分に確保することで、忘却係数が1となってオイル劣化フリクション学習値を経年変化および機差ばらつきフリクション学習値に移す際に、フリクションの経年変化分に相当するフリクション学習値を高い信頼性で取得することができる。
（ステップ１１４について）
次に、走行距離がゼロにリセットされる（ステップ１１４）。
【００６９】
（ステップ１１６について）
一方、上記ステップ１０４における判定条件が成立した場合、すなわち、オイル交換等の内燃機関１０のフリクション特性を大幅に変化させる事由が生じたと判断される場合には、次いで、オイル劣化フリクション学習値に（1−忘却係数）を乗じた値分だけ、オイル劣化フリクション学習値がリセットされる（ステップ１１６）。内燃機関１０の実際のフリクションは、走行距離の増大に伴う内燃機関１０の劣化とともに増大していくものである。その結果、走行距離の増大に伴い、取り込まれるべきフリクション学習値も増加していく。図７に示す忘却係数の設定によれば、そのようなフリクション学習値の変化に合わせて、そのリセット量を適切な量にすることができる。
【００７０】
（ステップ１１８について）
次に、クランク停止位置の実測値とその推定値との誤差が、所定の閾値より小さいか否かが判別される（ステップ１１８）。クランク停止位置の実測値は、現時点における直近の内燃機関１０の停止時に、クランク角センサ４０によって検出された値である。クランク停止位置の推定値は、上記ステップ１１６の処理によって所定量だけリセットされたオイル劣化フリクション学習値を用いて、エンジンモデル６０によって算出される値であり、ここでは、先ず、その推定値の算出手法の一例を以下に示す。
【００７１】
具体的には、本ステップ１１８では、アイドル状態時に取得された燃焼圧力Pの平均値、吸気圧力Pmap、クランク角度θ0、およびエンジン回転数（燃焼カット回転数）Ne0（＝クランク角回転速度dθ0/dt）を初期値として入力して、クランク軸周りの運動方程式演算部６２を用いて、クランク角度θおよびクランク角回転速度dθ/dtのそれぞれの推定値が順次算出されることになる。以下、次の（１４）式および（１５）式を用いて、その具体的な算出手法を説明する。尚、本明細書中においては、このような手法を用いて、上記図２中に示す矢印方向にエンジンモデル６０を解くことを「順モデル演算」と称する。
【００７２】
先ず、上記（４ｅ）式で表されるクランク軸周りの運動方程式において、(∂f(θ)/∂θ)≡h(θ)とし、かつ、当該（４ｅ）式中の入力トルクTRQに上記（５）式を代入したうえで、当該（４ｅ）式を離散化することで、次の（１４）式が得られる。
【数１４】
0004631775.tif 000015
【００７３】
そして、上記（１４）式による順モデル演算の計算初期値として、上記の如く、クランク角度θ0、およびクランク角回転速度dθ0/dt等が与えられる。以下、ステップ数kを順次更新していくことにより、対応するクランク角度θおよびクランク角回転速度dθ/dtのそれぞれの推定値が順次算出されることになる。上記（１４）式にステップ数k＝1を代入すると、次の（１５ａ）式のように表すことができる。
【数１５】
0004631775.tif 000016
【００７４】
上記（１５ａ）式中のクランク角度θ(k)の一部を対応するクランク角回転速度dθ(k)/dtに書き直すと、上記（１５ｂ）式のように表すことができる。そして、その（１５ｂ）式を展開すると、ステップ数k＝1のときのクランク角回転速度dθ(1)/dtは、上記（１５ｃ）式のように、前回、すなわち、初期値として入力されたクランク角度θ0およびクランク角回転速度dθ0/dtを用いて表すことができる。更に、上記（１５ｃ）式を積分することにより、ステップ数k＝1のときのクランク角度θ(1)を、上記（１５ｄ）式のように算出することができる。
【００７５】
そして、上記の処理を、ステップ数kがN回となるまで、すなわち、クランク角回転速度がdθ(N)/dt＝0となるまで繰り返すと、クランク角回転速度dθ(N)/dt＝0、およびクランク角度θ(N)が算出される。つまり、上記の処理によれば、内燃機関１０が停止した際のエンジン回転数Ne＝0と、クランク停止位置のそれぞれの推定値を算出することができる。
【００７６】
（ステップ１２０について）
上記ステップ１１８において、クランク停止位置の誤差が所定の閾値以下であると判定された場合には、本ルーチンの処理が速やかに終了され、一方、クランク停止位置の誤差が当該閾値より大きいと判定された場合には、図７に示す忘却係数マップの修正が実行される（ステップ１２０）。具体的には、忘却係数マップの傾きの修正が実行され、その修正後の忘却係数に基づくオイル劣化フリクション学習値のリセット量を反映させた状態で、クランク停止位置誤差が再計算される。この忘却係数の傾きの修正は、上記ステップ１１８において、クランク停止位置誤差が閾値以下となるまで繰り返し実行される。
【００７７】
上述したように、上記ステップ１１２の処理によれば、忘却係数が1になると、オイル劣化フリクション学習値から経年変化および機差ばらつきフリクション学習値への学習値の移し替えが実行される。従って、本ステップ１２０の処理による忘却係数の傾きの修正が傾きをより大きくする方向の修正であった場合には、十分な走行距離に達する前に忘却係数が1になってしまう可能性がある。仮にそうなった場合には、忘却係数が1に達した時点のオイル劣化フリクション学習値を、フリクションの経年変化に起因するものであると判断して移し替えすることが妥当でないといえる。そこで、本ステップ１２０では、忘却係数の傾きを修正する際に、経年変化分への移し替えを実行するための十分な走行距離に達する前に忘却係数が1とならないように、所定値より大きな傾きへの修正を禁止することで、その傾きをより大きくする方向の修正に制限を加えるようにしている。このような処理によれば、信頼性の高い経年変化分のフリクション学習値を安定して得ることが可能となる。
【００７８】
以上説明した図６に示すルーチンによれば、走行距離等に依存する忘却係数を導入して、フリクション特性の大きな変化が認められた場合に、走行距離等の車両の走行状態に応じて、オイル劣化フリクション学習値のリセット量が変更される。このため、フリクションの経年変化分や機差ばらつき分が不用意にリセットされてしまうのを回避しつつ、フリクション特性の大きな変化に対する素早いフリクション学習を実現することができる。
【００７９】
また、上記ルーチンでは、オイル劣化フリクション学習値をリセットした後に、そのリセット後のフリクション学習値に基づいてクランク停止位置の再計算を行い、そして、クランク停止位置誤差が所定の閾値より小さくなるまで、忘却係数の修正によるリセット量の調整（学習）を行うようにしている。このような処理によれば、忘却係数の修正によるリセット量の調整のみによって、クランク停止位置誤差を十分に小さくできるように、フリクション学習値を素早く適正化することができる。
【００８０】
尚、上述した実施の形態１においては、ECU５０が、適応制御によってフリクションモデル６４の算出値がフリクションの実測値と適合するようにフリクションの学習を実行することにより前記第１の発明における「フリクション学習手段」が、上記ステップ１０８の処理を実行することにより前記第１の発明における「忘却係数設定手段」が、上記ステップ１０４の処理を実行することにより前記第１の発明における「フリクション特性変化判別手段」が、上記ステップ１１６の処理を実行することにより前記第１の発明における「学習値消去量設定手段」および「学習値消去手段」が、それぞれ実現されている。
また、上述した実施の形態１においては、ECU５０が、上記ステップ１１８において示す手法でクランク停止位置の推定値を算出することにより前記第３の発明における「クランク停止位置算出手段」が、クランク角センサ４０の出力に基づいてクランク角度θを検知することにより前記第３の発明における「クランク停止位置実測値取得手段」が、上記ステップ１１８の処理を実行することにより前記第３の発明における「クランク停止位置誤差算出手段」が、上記ステップ１２０の処理を実行することにより前記第３の発明における「消去量修正手段」が、それぞれ実現されている。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態１の内燃機関の停止位置制御装置が適用された内燃機関の構成を説明するための図である。
【図２】図１に示すECUが備えるエンジンモデルの構成を示すブロック図である。
【図３】クランク軸周りの各要素に付す記号を示す図である。
【図４】図２に示すフリクションモデルがフリクショントルクTRQfを取得するために備えているフリクションマップの一例を示す図である。
【図５】筒内圧力Pの履歴取得の変形例の手法を説明するための図である。
【図６】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図７】図１に示すECUが忘却係数を取得するために記憶しているマップの一例を示す図である。
【符号の説明】
【００８２】
１０  内燃機関
１２  ピストン
１４  コンロッド
１６  クランク軸
２４  スロットルバルブ
２６  スロットルポジションセンサ
４０  クランク角センサ
４２  カム角センサ
５０  ECU(Electronic Control Unit)
５２  空燃比センサ
５４  水温センサ
６０  エンジンモデル
６２  クランク軸周りの運動方程式演算部
６４  フリクションモデル
６６  吸気圧力推定モデル
６８  筒内圧推定モデル
７０  燃焼波形算出部
７２  大気圧補正項算出部
７４  大気温補正項算出部
７６  PIDコントローラ
dQ/dθ  熱発生率
dθ/dt  クランク角回転速度
【図１】
0004631775.tif 000017
【図２】
0004631775.tif 000018
【図３】
0004631775.tif 000019
【図４】
0004631775.tif 000020
【図５】
0004631775.tif 000021
【図６】
0004631775.tif 000022
【図７】
0004631775.tif 000023