(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は、それぞれ各気筒のクランク角度θの時間微分となるため、それぞれ次の（１ｂ）式のように表すことができる。
【数１】
0004661727.tif 000002
【００２６】
ただし、上記（１ａ）式および（１ｂ）式において、クランク角度θおよびクランク角回転速度dθ/dtに付された符号1〜4は、内燃機関１０の所定の爆発順序に従って燃焼が到来する気筒の順番に対応しており、また、後述する数式においては、それらの符号1〜4を「i」で代表させることがある。
【００２７】
また、図３に示すピストン・クランク機構においては、クランク角度θiとコンロッド角度φiとは、次の（２）式で表される関係を有することになる。
【数２】
0004661727.tif 000003
ただし、上記（２）式において、dXi/dtはピストン速度である。
【００２８】
また、クランク軸周りの全運動エネルギTは、次の（３）式のように表すことができる。（３）式を展開すると、（３）式中の各項の諸々のパラメータを1/2(dθ/dt)2の係数としてまとめることができる。ここでは、そのようにまとめられた係数を、クランク角度θの関数f(θ)として表現している。
【数３】
0004661727.tif 000004
【００２９】
ただし、上記（３）式において、右辺第１項はクランク軸１６の回転運動に関する運動エネルギに、右辺第２項はピストン１２およびコンロッド１４の直進運動に関する運動エネルギに、右辺第３項はコンロッド１４の回転運動に関する運動エネルギに、それぞれ対応している。また、上記（３）式において、Ikはクランク軸１６の軸周りの慣性モーメントであり、Iflはフライホイールの回転軸周りの慣性モーメントであり、Imiは内燃機関１０と組み合わされる変速機の回転軸周りの慣性モーメントであり、Icはコンロッドに関する慣性モーメントである。また、mpはピストン１２の変位であり、mcはコンロッド１４の変位である。尚、変速機に関する上記の慣性モーメント（ミッション側イナーシャ）は、後述するクラッチ継合状態におけるモデル演算時にのみ使用され、クラッチ非継合状態におけるモデル演算時にはゼロとされる。
【００３０】
次に、ラグラジアンLを、系の全運動エネルギTと位置エネルギUとの偏差として、次の（４ａ）式のように定義する。そして、クランク軸１６に作用する入力トルクをTRQとすると、ラグランジュの運動方程式を用いて、ラグラジアンLとクランク角度θと入力トルクTRQとの関係を、次の（４ｂ）式のように表すことができる。
【数４】
0004661727.tif 000005
【００３１】
ここで、上記（４ａ）式において、位置エネルギUの影響は運動エネルギTの影響に比して小さく、その影響を無視することができる。従って、上記（４ｂ）式の左辺第１項は、上記（３）式をクランク角回転速度(dθ/dt)で偏微分して得られた値を時間微分することで、クランク角度θの関数として、次の（４ｃ）式のように表すことができる。また、上記（４ｂ）式の左辺第２項は、上記（３）式をクランク角度θで偏微分することで、クランク角度θの関数として、次の（４ｄ）式のように表すことができる。
【００３２】
従って、上記（４ｂ）式は、次の（４ｅ）式のようにして表すことができ、これにより、クランク角度θと入力トルクTRQとの関係を得ることができる。また、ここでは、その入力トルクTRQを、次の（５）式のように、３つのパラメータからなるものと定義する。
【数５】
0004661727.tif 000006
【００３３】
ただし、上記（５）式において、TRQeは、エンジン発生トルクであり、より具体的には、ガス圧力（筒内圧力P）を受けるピストン１２からクランク軸１６に作用するトルクである。TRQLは、負荷トルクであり、内燃機関１０が搭載される車両の特性に応じて異なる既知の値として、ECU５０に記憶されている。TRQfは、フリクショントルク、すなわち、ピストン１２、クランク軸１６、および変速機の摺動部分の摩擦損失に対応するトルクである。このフリクショントルクTRQfは、エンジンフリクションモデル６４およびミッションフリクションモデル６５から得られる値である。より具体的には、フリクショントルクTRQfは、クラッチが継合状態にあるときはエンジンフリクションモデル６４およびミッションフリクションモデル６５の双方を用いて算出され、一方、クラッチが非継合状態にあるときはエンジンフリクションモデル６４のみを用いて算出される。
【００３４】
次に、エンジン発生トルクTRQeは、次の（６ａ）式〜（６ｃ）式に従って算出することができる。すなわち、先ず、筒内圧力Pに基づいてコンロッド１４に作用する力Fcは、ピストン１２の頂部に作用する力PAのコンロッド１４の軸線方向成分として、（６ａ）式のように表すことができる。そして、図３に示すようにコンロッド１４の軸線とクランクピン１７の軌跡の接線とがなす角度αが{π/2−(φ＋θ)}であるため、筒内圧力Pに基づいてクランクピン１７の軌跡の接線方向に作用する力Fkは、コンロッド１４に作用する力Fcを用いて、（６ｂ）式のように表すことができる。従って、エンジン発生トルクTRQeは、クランクピン１７の軌跡の接線方向に作用する力Fkとクランクの回転半径rとの積であるため、（６ａ）式および（６ｂ）式を用いて、（６ｃ）式のように表すことができる。
【数６】
0004661727.tif 000007
【００３５】
以上説明したクランク軸周りの運動方程式演算部６２の構成によれば、筒内圧推定モデル６８または燃焼波形算出部７０によって筒内圧力Pを取得することにより、（６ｃ）式および（５）式に従って入力トルクTRQを得ることができる。そして、（４ｅ）式を解くことにより、クランク角度θやクランク角回転速度dθ/dtを得ることが可能となる。
【００３６】
（２）エンジンフリクションモデルについて
図４は、図２に示すエンジンフリクションモデル６４がエンジンフリクショントルクTRQf_ENを取得するために備えているエンジンフリクションマップの一例を示している。より具体的には、図４（Ａ）は、クランク軸１６周りの回転摺動に関する第１エンジンフリクショントルクTRQf_map1とクランク角回転速度(dθ/dt)との関係を概念的に表した図であり、図４（Ｂ）は、ピストン１２の並進運動に関する第２エンジンフリクショントルクTRQf_map2とピストン速度(dXi/dt)との関係を概念的に表した図である。
【００３７】
本実施形態のシステムにおいては、エンジンモデル６０のモデル演算精度を向上させるべく、後述する図７に示すルーチンの処理では、エンジンフリクショントルクTRQfENを、上記のように第１エンジンフリクショントルクTRQf_map1と第２エンジンフリクショントルクTRQf_map2に分けて考えることがある。
【００３８】
図４（Ａ）に示すように、クランク軸１６周りの回転摺動に関する第１エンジンフリクショントルクTRQf_map1は、基本的にエンジン回転数 (dθ/dt)に依存する特性を有している。より具体的には、当該トルクTRQf_map1は、図４（Ａ）に示すように、エンジン回転数(dθ/dt)がゼロに近い領域においては、最大静摩擦係数の影響で大きくなり、エンジン回転数(dθ/dt)が増加し始めると、最大静摩擦係数の影響が薄れるため一旦減少に転ずるが、その後はエンジン回転数(dθ/dt)の増大に従って増加する。
【００３９】
また、図４（Ｂ）に示すように、ピストン１２の並進運動に関する第２エンジンフリクショントルクTRQf_map2は、ピストン１２とシリンダ壁面との間のフリクションであり、これらの間の接触圧力と摩擦係数のみに依存し、ピストン速度(dXi/dt)には依存しない特性を有している。また、図４（Ｂ）におけるピストン速度(dXi/dt)がゼロに近い領域において、第２エンジンフリクショントルクTRQf_map2が大きな値を示すのは、そのような領域では最大静摩擦係数の影響が大きくなるためである。
【００４０】
尚、エンジンフリクショントルクTRQf_ENは、エンジン冷却水温度が低くなると大きくなる傾向を有している。このため、エンジンフリクショントルクTRQf_ENは、図４においては図示を省略しているが、エンジン回転数Ne(およびピストン速度(dXi/dt))との関係に加え、エンジン冷却水温度との関係をも考慮して定められている。また、ここでは、ECU５０の計算負荷の低減のため、エンジンフリクションモデル６４として、上記のようなフリクションマップを備えるようにしているが、エンジンフリクションモデルの構成は、これに限定されるものではなく、以下の（７）式のような関係式を用いるものであってもよい。この（７）式では、フリクショントルクTRQf_ENが、エンジン回転数Neと内燃機関１０の潤滑油の動粘度νとをパラメータとする関数となるように構成されている。
【数７】
0004661727.tif 000008
ただし、上記（７）式において、C1、C2、C3は、それぞれ実験等により適合される係数である。
【００４１】
（３）ミッションフリクションモデルについて
図５は、図２に示すミッションフリクションモデル６５がミッションフリクショントルクTRQf_MIを取得するために備えるミッションフリクションマップの一例を示している。ミッションフリクションモデル６５によって算出されるミッションフリクショントルクTRQf_MIは、車両の停止中にギヤがニュートラル位置にあり、かつ、クラッチが継合された状態、すなわち、変速機のギヤが内燃機関１０の動力をタイヤ側に伝達させることなく回転している状態におけるフリクショントルクである。そこで、ミッションフリクショントルクTRQf_MIは、変速機の内部のフリクション（主に軸受部の回転摺動によるフリクション）に対応する値となるように定められている。このため、図５に示すように、ミッションフリクショントルクTRQf_MIは、第１エンジンフリクショントルクTRQf_map1と同様にエンジン回転速度(dθ/dt)に依存する特性を有している。
【００４２】
（４）吸気圧力推定モデルについて
吸気圧力推定モデル６６は、吸気圧力を推定するための吸気圧マップ（図示省略）を備えている。この吸気圧マップは、吸気圧力を、スロットル開度TA、エンジン回転数Ne、および吸排気弁のバルブタイミングVVTとの関係で定めたものである。このような吸気圧力推定モデルの構成によれば、ECU５０の計算負荷を低く抑えつつ、吸気圧力を取得することができる。尚、詳細に吸気圧力を計算する場合には、上記のような吸気圧マップを用いずに、スロットルバルブ２４を通過する空気流量を推定するスロットルモデルと、吸気弁３２の周囲を通過する空気流量（すなわち、筒内吸入空気流量）を推定するバルブモデルとを用いて、吸気圧力推定モデルを構成するようにしてもよい。
【００４３】
（５）筒内圧推定モデルについて
筒内圧推定モデル６８は、燃焼が行われない状況下で、筒内圧力Pを算出するために用いられるモデルである。この筒内圧推定モデル６８では、内燃機関１０の各行程における筒内圧力Pを、次の（８ａ）式〜（８ｄ）式を用いて算出するようにしている。すなわち、先ず、吸気行程の経過中の筒内圧力Pは、（８ａ）式で示すように、上述した吸気圧力推定モデル６６が有する吸気圧マップから得られる筒内圧力のマップ値Pmapから得るようにしている。
【数８】
0004661727.tif 000009
【００４４】
次に、圧縮行程の経過中の筒内圧力Pは、気体の可逆断熱変化の式に基づいて、（８ｂ）式のように表すことができる。
ただし、上記（８ｂ）式において、VBDCはピストン１２が吸気下死点にあるときの行程容積Vであり、κは比熱比である。
【００４５】
また、膨張行程の経過中の筒内圧力Pについても、圧縮行程の場合と同様にして、（８ｃ）式のように表すことができる。
ただし、上記（８ｃ）式において、VTDCはピストン１２が圧縮上死点にあるときの行程容積Vであり、Pcは圧縮行程の終了時における筒内圧力である。
【００４６】
また、排気行程の経過中の筒内圧力Pは、(８ｄ)式で示すように、排気通路２２内の圧力Pexであるものとしている。この圧力Pexは、ほぼ大気圧力Pairに等しいとみなすことができるものである。従って、ここでは、大気圧力Pairを、排気行程の経過中の筒内圧力Pに使用している。
【００４７】
（６）燃焼波形算出部について
燃焼波形算出部７０は、圧縮行程の途中から膨張行程の途中までの燃焼が行われている期間における筒内圧力（燃焼圧力）Pを算出するために用いられるモデルである。この燃焼波形算出部７０では、Weibe関数を用いた関係式である（９ａ）式と、後述する（１０）式とを用いて、燃焼圧力Pの推定値が算出される。
【数９】
0004661727.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を算出することができる。
【数１０】
0004661727.tif 000011
【００５１】
以上説明した筒内圧推定モデル６８および燃焼波形算出部７０によれば、筒内圧推定モデル６８を用いて燃焼が行われていない状況下での筒内圧力Pを算出するととともに、燃焼波形算出部７０を用いて燃焼が行われている期間中の筒内圧力Pを算出することにより、燃焼実行の有無に関係なく、内燃機関１０の筒内圧力Pの履歴を取得することができる。
【００５２】
尚、内燃機関１０の筒内圧力Pの履歴を取得する手法は、上記の手法に限定されるものではなく、例えば、以下の図６を参照して示すような手法であってもよい。
図６は、そのような変形例の手法を説明するための図である。この手法では、上記（９ａ）式および（１０）式を用いて、所定のクランク角度θ毎に燃焼圧力Pを計算することを行うのではなく、事前に、上記（９ａ）式および（１０）式を用いて、図６（Ａ）に示すような燃焼パターン、すなわち、燃焼に付されることで変化する筒内圧力Pの波形の変化分（燃焼による圧力増加分）のみを算出しておく。
【００５３】
より具体的には、そのような燃焼パターンを決定する３つのパラメータである着火遅れ期間、燃焼期間、およびΔPmax（燃焼時の最大圧力Pmaxと燃焼無し時の最大圧力Pmax0との偏差）を、エンジン回転数Ne、空気充填率KL、吸排気弁のバルブタイミングVVT、および点火時期のそれぞれとの関係で定めたマップを記憶しておく。そして、燃焼による圧力増加分に対応する波形を、２次関数などの簡易な関数を組み合わせて近似させた波形として算出するために、当該近似波形の各係数を上記のエンジン回転数Neとの関係でマップ化しておく。そして、図６（Ｂ）に示すように、そのようなマップを参照して得られた燃焼による圧力増加分の波形を、筒内圧推定モデル６８で算出される筒内圧力Pの値と足し合わせることで、燃焼圧力Pを取得するようにする。
【００５４】
（６）大気圧補正項算出部について
大気圧補正項算出部７２は、筒内に吸入される筒内充填空気量Mcを推定するモデル（ここでは「エアモデル」と称する）を含んでいる。このエアモデルでは、筒内充填空気量Mcを次の（１１）式に従って算出することとしている。
【数１１】
0004661727.tif 000012
【００５５】
ただし、上記（１１）式において、a、bは、それぞれ運転条件（エンジン回転数NeやバルブタイミングVVTなど）に応じて適合される係数である。尚、Pmは、吸気圧力であり、例えば、上述した吸気圧力推定モデル６６によって算出される値を使用することができる。
【００５６】
また、大気圧補正項算出部７２は、筒内に吸入される燃料量fcを推定するモデル（ここでは「燃料モデル」と称する）を含んでいる。燃料噴射弁２８から噴射された後の燃料の挙動を考慮すると、すなわち、噴射された燃料の一部の吸気ポートの内壁等への付着やその付着燃料の気化という現象を考慮すると、第kサイクルにおける燃料噴射の開始時における壁面付着燃料量がfw(k)であり、第kサイクルにおける実燃料噴射量がfi(k)である場合、第kサイクルの終了後に発生している壁面付着燃料量fw(k+1)、および第kサイクルにおいて筒内に吸入される燃料量fcは、次の（１２a）式および（１２ｂ）式のように表すことができる。
【数１２】
0004661727.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がゼロとなる際のクランク角度θの推定値を取得することにより、内燃機関１０の自動停止時のクランク軸１６の停止位置を取得することができる。尚、本明細書中においては、クランク軸１６の停止位置を、単に「クランク停止位置」と称することがある。
【００６２】
内燃機関１０を自動的に停止する際に、クランク停止位置が目標の停止位置からずれる要因としては、クランク軸１６への入力となるフリクションの影響が考えられる。上記のエコラン制御は、車両停止時にクラッチが継合状態になっているか否かに関係なく実行される。この際、クラッチが継合状態にあるか否かによって、厳密には、フリクションとクランク軸１６周りのイナーシャが変化する。また、内燃機関１０の内部と変速機の内部とでは、オイルの劣化度合い等も異なるものとなる。従って、クラッチの継合状態に応じたフリクションとイナーシャの違いを考慮しないと、高精度なクランク停止位置の適応学習制御を実現することができなくなる。
【００６３】
そこで、本実施形態のシステムでは、上記のように、エンジンフリクションモデル６４とミッションフリクションモデル６５とを別個に備えるようにした。そして、車両の停止時にクラッチが継合状態にあるときは、エンジンフリクションモデル６４とミッションフリクションモデル６５とを用いてフリクション学習を行うこととし、一方、車両の停止時にクラッチが非継合状態にあるときは、エンジンフリクションモデル６４のみを用いてフリクション学習を行うこととした。
【００６４】
図７は、上記の機能を実現するために、本実施の形態１においてECU５０が実行するルーチンのフローチャートである。図７に示すルーチンは、車両がエコラン制御を実行する状態にあるときに、実エンジン回転数Neが所定の燃焼カット回転数に達することで内燃機関１０を自動停止する条件が成立した場合に実行されるルーチンであるものとする。
【００６５】
（ステップ１００に関する処理）
図７に示すルーチンでは、先ず、クラッチが非継合状態にあるか否かが、クラッチセンサ５６が発する信号に基づいて判別される（ステップ１００）。
【００６６】
１．クラッチ継合状態の処理
（ステップ１０２に関する処理）
上記ステップ１００において、クラッチが継合状態にあると判定された場合には、次いで、エンジンフリクションモデル６４とミッションフリクションモデル６５の双方をフリクションモデルとして使用した状態で、エンジンモデル６０によって、クランク停止位置の推定値が算出される（ステップ１０２）。
【００６７】
具体的には、本ステップ１０２では、アイドル状態時に取得された燃焼圧力Pの平均値、吸気圧力Pmap、クランク角度θ0、およびエンジン回転数（燃焼カット回転数）Ne0（＝クランク角回転速度dθ0/dt）を初期値として入力して、クランク軸周りの運動方程式演算部６２を用いて、クランク角度θおよびクランク角回転速度dθ/dtのそれぞれの推定値が順次算出されることになる。以下、次の（１３）式および（１４）式を用いて、その具体的な算出手法を説明する。尚、本明細書中においては、このような手法を用いて、上記図２中に示す矢印方向にエンジンモデル６０を解くことを「順モデル演算」と称する。
【００６８】
先ず、上記（４ｅ）式で表されるクランク軸周りの運動方程式において、(∂f(θ)/∂θ)≡h(θ)とし、かつ、当該（４ｅ）式中の入力トルクTRQに上記（５）式を代入したうえで、当該（４ｅ）式を離散化することで、次の（１３）式が得られる。
【数１３】
0004661727.tif 000014
尚、本ステップ１０２の処理は、クラッチ継合状態におけるモデル演算になる。このため、既述したように、クランク軸周りの全運動エネルギTの算出式である上記（３）式の右辺には、変速機に関する慣性モーメントImiが足し合わされる。また、本ステップ１０２の処理では、上記（５）式中のフリクショントルクTRQfは、後述する（１６）式に従って算出される。
【００６９】
そして、上記（１３）式による順モデル演算の計算初期値として、上記の如く、クランク角度θ0、およびクランク角回転速度dθ0/dt等が与えられる。以下、ステップ数kを順次更新していくことにより、対応するクランク角度θおよびクランク角回転速度dθ/dtのそれぞれの推定値が順次算出されることになる。上記（１３）式にステップ数k＝1を代入すると、次の（１４ａ）式のように表すことができる。
【数１４】
0004661727.tif 000015
【００７０】
上記（１４ａ）式中のクランク角度θ(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と、クランク停止位置のそれぞれの推定値を算出することができる。
【００７２】
（ステップ１０４に関する処理）
次に、上記ステップ１０２の処理により算出されたクランク停止位置の推定値と、クランク角センサ４０によって検出されたクランク停止位置の実測値との誤差が、所定の閾値よりも大きいか否かが判別される（ステップ１０４）。その結果、当該誤差が所定の閾値以下であると判定された場合には、以後の本ルーチンの処理が速やかに終了される。
【００７３】
（ステップ１０６に関する処理）
一方、上記ステップ１０４において、クランク停止位置の誤差が閾値よりも大きいと判定された場合には、エンジンフリクションモデル６４およびミッションフリクションモデル６５の学習が開始される（ステップ１０６）。具体的には、先ず、エンジンモデル６０に、クランク角度θおよびクランク角回転速度dθ/dtのそれぞれの実測値を代入することによって、以下の（１５ｃ）式に従って、実機フリクショントルクTRQf_jitsuが算出される。
【数１５】
0004661727.tif 000016
尚、（１５ｃ）式が得られる過程を説明すると、J(θ)を上記（１５ａ）式のように定めることで、上記（４ｅ）式で表されるクランク軸周りの運動方程式は、上記（１５ｂ）式のように表すことができる。そして、（１５ｂ）式の左辺が実機フリクショントルクTRQf_jitsuとなるように書き直すことで、（１５ｃ）式を得ることができる。
【００７４】
本ステップ１０６では、次いで、フリクションモデル（エンジンフリクションモデル６４およびミッションフリクションモデル６５）によって、モデルフリクショントルクTRQf_modelが、次の（１６）式に従って算出される。尚、（１６）式中のTRQf_model、dθ/dtに付される記号「＾」は、推定値であることを示すものであるが、本明細書の文中では、その表記は省略されている。
【数１６】
0004661727.tif 000017
ただし、上記（１６）式において、R(dθ/dt)はモデルフリクショントルクTRQf_modelをエンジン側とミッション側に分配するためのフリクション分配率である。
【００７５】
上記の実機フリクショントルクTRQf_jitsuおよびモデルフリクショントルクTRQf_modelは、例えば100rpm毎の所定のエンジン回転数領域毎にそれぞれ算出され、ECU５０に保存される。また、これらのフリクショントルクは各回転数領域において複数点で算出され、その平均値も回転数領域毎に保存される。
【００７６】
本ステップ１０６では、次いで、実機フリクショントルクTRQf_jitsuおよびモデルフリクショントルクTRQf_modelのそれぞれについて、今回の算出値と前回の算出値との間の差である、実機フリクション差分ΔTRQf_jitsuおよびモデルフリクション差分ΔTRQf_modelが次の（１７ａ）、（１７ｂ）式に従って算出される。
【数１７】
0004661727.tif 000018
尚、上記（１７）式における前回の算出値とは、今回のルーチン起動時の所定の計算周期における１回前の算出値を意味している。
【００７７】
ピストン１２の並進運動に関する第２エンジンフリクショントルクTRQf_map2は、既述したように、内燃機関１０の停止寸前状態を除き、ピストン速度(dXi/dt)には依存しない一定値となる。従って、上記のように、フリクション差分ΔTRQf_jitsu、ΔTRQf_modelを算出することによって、実機またはモデルのフリクショントルクTRQfから並進運動成分（並進フリクション）TRQf_map2を分離して、クランク軸１６周りの回転摺動成分のフリクショントルク（回転フリクション（この段階では変速機分を含む））を取り出すことができる。
【００７８】
図８は、そのフリクション差分ΔTRQfの算出手法を説明するための図である。図８において、実線は実機フリクショントルクTRQf_jitsuを、破線はモデルフリクショントルクTRQf_modelをそれぞれ示している。上記（１７ａ）および（１７ｂ）式で算出される実機フリクション差分ΔTRQf_jitsuおよびモデルフリクション差分ΔTRQf_modelは、図８に示すように、所定の計算周期間隔におけるフリクショントルクの変化量に相当する。言い換えれば、これらの差分ΔTRQfは、並進フリクションが取り除かれた回転フリクションの変化の傾きに対応する値となる。
【００７９】
（ステップ１０８に関する処理）
図７に示すルーチンでは、次に、ピストン速度(dXi/dt)、クランク角回転速度(dθ/dt)毎に、フリクション誤差（回転フリクション誤差および並進フリクション誤差）が算出される。そして、フリクション分配率R(dθ/dt)を用いた回転フリクション誤差のフリクション学習、または並進フリクション誤差の学習が実行される（ステップ１０８）。
【００８０】
具体的には、先ず、実機フリクション差分ΔTRQf_jitsuとモデルフリクション差分ΔTRQf_modelとの差が、回転フリクション誤差ΔTRQf_mdlとして算出される。この回転フリクション誤差は、実機とモデルとの間での回転フリクションの傾きの誤差に相当する値となる。
【００８１】
次いで、前回算出の実機フリクショントルクTRQf_jitsuと前回算出のモデルフリクショントルクTRQf_modelとの誤差Ａ（図８参照）と、今回算出の実機フリクショントルクTRQf_jitsuと今回算出のモデルフリクショントルクTRQf_modelとの誤差Ｂ（図８参照）との間で平均値が、並進フリクション誤差として算出される。上記の回転フリクション誤差ΔTRQf_mdlがない場合であるにも関わらず、すなわち、図８に示す実線と破線との間で波形の傾きが一致している場合であるにも関わらず、誤差Ａ、Ｂが存在している場合には、そのような誤差は、並進運動成分の誤差であると判断することができる。そこで、回転フリクション誤差ΔTRQf_mdlがない場合には、並進フリクション、すなわち、第２エンジンフリクショントルクTRQf_map2（図４（Ｂ）参照）の学習を行うようにしている。尚、誤差Ａと誤差Ｂとの平均値を用いているのは、モデルの誤学習を防止するためである。
【００８２】
次に、本ステップ１０８では、次の（１８ａ）および（１８ｂ）式に従って、上記の回転フリクション誤差ΔTRQf_mdlが、エンジン側回転フリクション誤差ΔTRQf_map1とミッション側回転フリクション誤差ΔTRQf_mとに分配される。このような手法によれば、フリクションに起因するクランク停止位置の誤差の寄与度に基づいて、回転フリクション誤差ΔTRQf_mdlを、エンジンフリクションモデル６４およびミッションフリクションモデル６５に振り分けることができる。
【数１８】
0004661727.tif 000019
【００８３】
上記（１８）式において用いられるフリクション分配率R(dθ/dt)は、図９に示すマップから取得される。すなわち、図９では、フリクション分配率R(dθ/dt)の値は、図４および図５に示すエンジンフリクションマップやミッションフリクションマップに対応して、例えば100rpm等の所定のクランク角回転速度(dθ/dt)毎に設定されている。図９では、分配率R(dθ/dt)は、クランク回転速度(dθ/dt)に依らず一定の場合の例を示しているが、クランク回転速度(dθ/dt)に応じた値とされるものである。
【００８４】
上記のように分配された回転フリクション誤差ΔTRQf_map1、ΔTRQf_mは、それぞれ、対応するクランク回転速度(dθ/dt)におけるエンジンフリクションマップおよびミッションフリクションマップのマップ値に足し合わされる、すなわち、フリクション学習が実行される。回転フリクション誤差ΔTRQf_map1、ΔTRQf_mは、エンジンフリクションマップおよびミッションフリクションマップにおける該当するクランク回転速度領域でのマップの傾きの誤差となるため、このような処理によれば、該当するクランク回転速度領域でのマップの傾きを修正することができる。
【００８５】
（ステップ１１０に関する処理）
図７に示すルーチンでは、次に、推定値再計算フラグがONに設定される（ステップ１１０）。この推定値再計算フラグは、クラッチが継合された状態において、エンジンフリクションモデル６４およびミッションフリクションモデル６５の学習を行ったことを示すためのフラグである。この推定値再計算フラグによれば、当該推定値再計算フラグがONになっている場合に、現時点でのフリクション分配率R(dθ/dt)を用いた状態で、実機フリクショントルクTRQf_jitsuとモデルフリクショントルクTRQf_modelとが合う状態になっていると判断することができるようになる。
【００８６】
（ステップ１１２に関する処理）
上記推定値再計算フラグがONとされた後は、次いで、上記ステップ１０８の学習結果に基づいて、フリクションマップ（エンジンおよびミッションの双方）が更新される（ステップ１１２）。
【００８７】
２．クラッチ非継合状態の処理
（ステップ１１４に関する処理）
また、図７に示すルーチンでは、上記ステップ１００において、クラッチが非継合状態にあると判定された場合には、次いで、エンジンモデル６０によって、クランク停止位置の推定値が算出される（ステップ１１４）。本ステップ１１４の処理は、エンジンフリクションモデル６４のみをフリクションモデルとして使用した状態で演算を行う点、およびクランク軸周りの全運動エネルギTの算出式である上記（３）式において、変速機に関する慣性モーメントImiがゼロとされる点を除き、上述したステップ１０２の処理と同様である。このため、ここでの詳細な説明は省略するものとする。
【００８８】
（ステップ１１６に関する処理）
次に、上記ステップ１１４の処理により算出されたクランク停止位置の推定値と、クランク角センサ４０によって検出されたクランク停止位置の実測値との誤差が、所定の閾値よりも大きいか否かが判別される（ステップ１１６）。その結果、当該誤差が所定の閾値以下であると判定された場合には、以後の本ルーチンの処理が速やかに終了される。
【００８９】
（ステップ１１８に関する処理）
一方、上記ステップ１１６において、クランク停止位置の誤差が閾値よりも大きいと判定された場合には、推定値再計算フラグがOFFとされているか否かが判別される（ステップ１１８）。
【００９０】
（ステップ１２０に関する処理）
その結果、上記ステップ１１６において推定値再計算フラグがOFFでないと判定された場合、すなわち、エンジンフリクションモデル６４およびミッションフリクションモデル６５の学習が行われた後のタイミングでの算出であるにも関わらず、クランク停止位置の誤差が閾値よりも大きいと認められる場合には、フリクション分配率R(dθ/dt)が適切な値でなかったと判断することができる。そこで、この場合には、フリクション分配率R(dθ/dt)が修正される（ステップ１２０）。具体的には、図９に示すフリクション分配率マップの学習が実行される。
【００９１】
本ステップ１２０では、先ず、エンジンモデル６０に、クランク角度θおよびクランク角回転速度dθ/dtのそれぞれの実測値を代入することによって、上記（１５ｃ）式に従って、クラッチ非継合状態における実機フリクショントルクTRQf_jitsuが算出される。この際、エンジン回転数領域毎に、複数点で算出した値の平均値も算出される。尚、この際の実機フリクショントルクTRQf_jitsuの算出は、変速機に関する上記の慣性モーメント（ミッション側イナーシャ）がゼロとされている点を除き、上記ステップ１０６の処理と同様に行われる。
【００９２】
次に、このクラッチ非継合状態における実機フリクショントルクTRQf_jitsuの平均値と、上記ステップ１０６において算出された最新のクラッチ継合状態における実機フリクショントルクTRQf_jitsuの平均値との比率として、フリクション比率がエンジン回転数領域毎に算出される。次いで、このフリクション比率に基づいて、フリクション分配率マップが更新される。次いで、推定値再計算フラグがOFFとされる（ステップ１２２）。
【００９３】
（ステップ１２４および１２６に関する処理）
一方、上記ステップ１１６において推定値再計算フラグがOFFであると判定された場合には、エンジンフリクションモデル６４のフリクションの推定値が適切でなかったと判断することができる。そこで、この場合には、エンジンフリクションモデル６４の学習が開始される（ステップ１２４）。
【００９４】
次いで、ピストン速度(dXi/dt)、クランク角回転速度(dθ/dt)毎に、フリクション誤差（回転フリクション誤差および並進フリクション誤差）が算出される。そして、回転フリクション誤差または並進フリクション誤差の学習が実行される（ステップ１２６）。尚、これらのステップ１２４および１２６の処理は、エンジンフリクションモデル６４のみをフリクションモデルとして使用した状態で演算を行う点、および変速機に関する慣性モーメントImiがゼロとされる点を除き、上述したステップ１０６および１０８の処理と同様である。このため、ここでの詳細な説明は省略するものとする。本ステップ１２６の処理が行われた後は、上記ステップ１２６の学習結果に基づいて、フリクションマップ（エンジンフリクションマップ）の更新が実行される（ステップ１１２）。
【００９５】
以上説明した図７に示すルーチンによれば、クラッチが継合状態または非継合状態とされる際のフリクションや変速機に関するイナーシャの変化が考慮されたフリクションモデル６４、６５に基づいて、誤学習を防止しつつ、内燃機関１０と変速機のオイル劣化の進み度合いの影響等をより精密に学習することができる。
【００９６】
また、エンジンモデル６０では、上記図７に示すルーチンによるフリクション学習結果に基づいて、クランク停止位置の推定値が補正される。このため、本実施形態のシステムによれば、エコラン制御時のクラッチの継合状態の相違によるフリクションの影響を考慮した停止位置制御が可能となり、その推定精度と制御の信頼性を向上させることができる。
【００９７】
尚、上述した実施の形態１においては、クラッチセンサ５６が前記第１の発明における「クラッチ継合状態検知手段」に相当している。また、ECU５０が、上記ステップ１０８の処理を実行することにより前記第２の発明における「誤差寄与度取得手段」および「誤差分配手段」が、それぞれ実現されている。また、ECU５０がステップ１１２の処理を実行することにより前記第３の発明における「フリクション補正手段」が実現されている。また、ECU５０が、上記ステップ１１０の処理を実行することにより前記第４の発明における「補正情報取得手段」が、上記ステップ１１８および１２０の処理を実行することにより前記第４の発明における「寄与度修正手段」が、それぞれ実現されている。
【００９８】
実施の形態２．
次に、図１０を参照して、本発明の実施の形態２について説明する。
本実施形態のシステムは、図１に示すハードウェア構成および図２に示すエンジンモデル６０を用いて、ECU５０に図７のルーチンに代えて、図１０のルーチンを実行させることにより実現されるものである。
【００９９】
［実施の形態２のフリクション学習］
内燃機関１０の劣化状態およびエンジンオイルの劣化状態と、変速機の劣化状態およびミッションオイルの劣化状態とは、必ずしも同期しないものであり、内燃機関１０と変速機の劣化度合いには、ばらつきが発生し得る。そのようなばらつきの存在は、高精度なクランク停止位置の推定を行うために必要とされるエンジンフリクションおよびミッションフリクションの学習精度および学習速度に影響を与える可能性がある。
【０１００】
そこで、本実施形態では、クラッチが係合状態および非継合状態の何れにあるときでも、エンジンフリクションおよびミッションフリクションの学習から、ミッションフリクションの学習を切り離して、ミッションフリクションのみの学習およびその学習値の更新を、別途行うようにした。
【０１０１】
図１０は、上記の機能を実現するために、本実施の形態２においてECU５０が実行するルーチンのフローチャートである。尚、図１０において、実施の形態１における図７に示すステップと同一のステップについては、同一の符号を付してその説明を省略または簡略する。
【０１０２】
１．クラッチ継合状態の処理
図１０に示すルーチンにおいても、上記図７に示すルーチンと同様に、ステップ１００においてクラッチが継合状態にあると判定された場合には、エンジンフリクションモデル６４とミッションフリクションモデル６５の双方をフリクションモデルとして使用した状態で、エンジンモデル６０によって、クランク停止位置の推定値が算出される（ステップ１０２）。
【０１０３】
（ステップ２００および２０２に関する処理）
その結果、クランク停止位置の推定値と実測値との誤差が所定の閾値よりも大きいと判定された場合には（ステップ１０４）、エンジンフリクションモデル６４およびミッションフリクションモデル６５の学習が開始される（ステップ２００）。具体的には、次のステップ２０２において、内燃機関および変速機の全体のフリクションとしての学習、すなわち、エンジンフリクションモデル６４およびミッションフリクションモデル６５の学習が実行される。
【０１０４】
本ステップ２０２においては、先ず、エンジンモデル６０に、クランク角度θおよびクランク角回転速度dθ/dtのそれぞれの実測値を代入することによって、上記（１５ｃ）式に従って、全体の実機フリクショントルクTRQf_jitsuが算出される。そして、エンジンフリクションモデル６４およびミッションフリクションモデル６５を用いて、より詳細には、これらのフリクションモデルが備えるフリクションマップ（図４および図５参照）を用いて、全体のモデルフリクショントルクTRQf_modelが算出される。尚、これらのフリクショントルクは、所定のエンジン回転数領域毎にそれぞれ算出され、ECU５０に保存される。
【０１０５】
次いで、本ステップ２０２においては、実機フリクショントルクTRQf_jitsuとモデルフリクショントルクTRQf_modelの全体のフリクション誤差ΔTRQf_totalが、次の（１９）式に従って算出される。
【数１９】
0004661727.tif 000020
【０１０６】
（ステップ２０４に関する処理）
次に、上記ステップ２０２において算出された全体のフリクション誤差ΔTRQf_totalから変速機側のフリクション誤差に相当するミッションフリクション誤差ΔTRQf_mtを分離する処理が実行される（ステップ２０４）。より具体的には、次の（２０）式に従って、ミッションフリクション誤差ΔTRQf_mtが算出される。
【数２０】
0004661727.tif 000021
尚、上記（２０）式に従ってミッションフリクション誤差ΔTRQf_mtが算出される際、エンジンフリクション誤差ΔTRQf_engineは、ステップ１２６において算出された最新の値が利用される。
【０１０７】
（ステップ２０６に関する処理）
次に、上記ステップ２０２および２０４の学習結果に基づいて、フリクションマップの更新が実行される（ステップ２０６）。具体的には、上記２０２の学習結果を反映させて、エンジンおよびミッションの双方のフリクションマップの更新が行われるとともに、それとは別に、上記ステップ２０４の学習結果を反映させて、ミッションのフリクションマップの更新が実行される。
【０１０８】
２．クラッチ非継合状態の処理
また、図１０に示すルーチンでは、上記図７に示すルーチンと同様に、ステップ１００においてクラッチが非継合状態にあると判定された場合には、エンジンフリクションモデル６４のみをフリクションモデルとして使用した状態で、エンジンモデル６０によって、クランク停止位置の推定値が算出される（ステップ１１４）。
【０１０９】
（ステップ２０８および２１０に関する処理）
その結果、クランク停止位置の推定値と実測値との誤差が所定の閾値よりも大きいと判定された場合には（ステップ１１６）、次いで、エンジンフリクションモデル６４の学習が開始される（ステップ２０８）。具体的には、次のステップ２１０において、ピストン速度(dXi/dt)、クランク角回転速度(dθ/dt)毎に、エンジンフリクション誤差ΔTRQf_engineが算出される。尚、エンジンフリクション誤差ΔTRQf_engineの算出は、エンジンフリクションモデル６４のみをフリクションモデルとして使用した状態で演算を行う点、および変速機に関する慣性モーメントImiがゼロとされる点を除き、上述したステップ２０２の処理と同様である。このため、ここでの詳細な説明は省略するものとする。
【０１１０】
（ステップ２１２に関する処理）
次に、上記ステップ２０８において算出されたエンジン側のフリクション誤差ΔTRQf_engineを用いて、上記（２０）式に従って、変速機側のフリクション誤差に相当するミッションフリクション誤差ΔTRQf_mtを取得する処理が実行される（ステップ２１２）。  尚、上記（２０）式に従ってミッションフリクション誤差ΔTRQf_mtが算出される際、全体のフリクション誤差ΔTRQf_totalは、ステップ２０２において算出された最新の値が利用される。
【０１１１】
次いで、上記ステップ２０８および２１０の学習結果に基づいて、フリクションマップの更新が実行される（ステップ２０６）。具体的には、上記ステップ２０８の学習結果を反映させて、エンジンフリクションマップの更新が行われるとともに、それとは別に、上記ステップ２１０の学習結果を反映させて、ミッションフリクションマップの更新が実行される。
【０１１２】
以上説明した図１０に示すルーチンによれば、クラッチが係合状態および非継合状態の何れにあるときでも、エンジンフリクションおよびミッションフリクションの学習から、ミッションフリクションの学習が切り離され、ミッションフリクションのみの学習およびその学習値の更新が、別途行われる。このため、エンジンフリクションの更新とミッションフリクションの更新の際に、それらの更新完了時期に相違が生ずる場合であっても、それらのフリクションモデルが個別に更新されるため、それらのフリクションモデルの学習精度および学習速度を十分に確保することができる。
【０１１３】
また、以下に説明するように、上述した実施の形態１に対して優れた効果を得ることができる。
上述した実施の形態１の手法では、クラッチ継合状態でクランク停止位置の推定が行われた後は、フリクション分配率R(dθ/dt)の補正（ステップ１２０）およびエンジンフリクションモデル６４の補正（ステップ１２６および１１２）の何れかの処理が行われる。しかしながら、ミッションフリクションが収束していない状態では、フリクション分配率R(dθ/dt)とエンジンフリクションのどちらに停止位置推定の誤差要因が含まれているか分からないため、即座に補正を行うことが困難である。
【０１１４】
上記の問題点が生ずる理由を説明する。ミッションフリクションが収束していない状態は、エンジン側とミッション側とで劣化状態が必ずしも同期しないことが原因で生じ得る。このような状態では、エンジン側とミッション側とで劣化度合いにばらつきが発生することとなる。このようなばらつきが生じているなかでフリクション分配率R(dθ/dt)のマップが使用されると、このマップの学習が正しく完了していない状況下では、つまり、エンジン側とミッション側にフリクション誤差を適切に分配できない状況下では、ミッション側のフリクション誤差を正しく把握していない状態でフリクション学習を続けることとなる。このため、フリクション分配率R(dθ/dt)の学習が完了しないと、エンジンフリクションの学習が終了しないこととなる。
【０１１５】
これに対し、本実施形態の手法によれば、クラッチが継合状態にあるか非継合状態にあるかに関わらず、ミッションフリクションのみの学習およびその学習値の更新が、エンジンフリクションの学習更新と個別に行われる。このため、エンジン側とミッション側との劣化の度合いに関係なく、迅速かつ高精度にフリクション学習を実行することが可能となる。また、本実施形態の手法によれば、エンジンオイルおよびミッションオイルの何れか一方のみが交換されることで、その何れか一方にのみフリクションを大きく変化させる要因が生じた場合であっても、上述した実施の形態１の手法のように、フリクション分配率R(dθ/dt)と、エンジンおよびミッションの双方のフリクションマップの学習を行う必要がない。この点においても、学習速度の面で有利となる。また、エンジンおよびミッションのフリクションマップに加えて、フリクション分配率R(dθ/dt)のマップを学習値として備えておく必要がない。このため、ECU５０のRAM使用量を低減することも可能となる。
【０１１６】
尚、上述した実施の形態２においては、ECU５０が、上記ステップ２０４または２１２の処理を実行することにより前記第５の発明における「ミッションフリクション取得手段」が、上記ステップ２０２および２０６、または上記ステップ２１０および２０６の処理を実行することにより前記第５の発明における「第１フリクション学習手段」が、上記ステップ２０４および２０６、または上記ステップ２１２および２０６の処理を実行することにより前記第５の発明における「第２フリクション学習手段」が、それぞれ実現されている。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施の形態１の内燃機関の停止位置制御装置が適用された内燃機関の構成を説明するための図である。
【図２】図１に示すECUが備えるエンジンモデルの構成を示すブロック図である。
【図３】クランク軸周りの各要素に付す記号を示す図である。
【図４】図２に示すエンジンフリクションモデルがエンジンフリクショントルクTRQf_ENを取得するために備えているエンジンフリクションマップの一例を示す図である。
【図５】図２に示すミッションフリクションモデルがミッションフリクショントルクTRQf_MIを取得するために備えるミッションフリクションマップの一例を示す図である。
【図６】筒内圧力Pの履歴取得の変形例の手法を説明するための図である。
【図７】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図８】フリクション差分ΔTRQfの算出手法を説明するための図である。
【図９】フリクション分配率R(dθ/dt)を取得するためのマップの一例である。
【図１０】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【符号の説明】
【０１１８】
１０  内燃機関
１２  ピストン
１４  コンロッド
１６  クランク軸
２４  スロットルバルブ
２６  スロットルポジションセンサ
４０  クランク角センサ
４２  カム角センサ
５０  ECU(Electronic Control Unit)
５２  空燃比センサ
５４  水温センサ
５６  クラッチセンサ
６０  エンジンモデル
６２  クランク軸周りの運動方程式演算部
６４  エンジンフリクションモデル
６５  ミッションフリクションモデル
６６  吸気圧力推定モデル
６８  筒内圧推定モデル
７０  燃焼波形算出部
７２  大気圧補正項算出部
７４  大気温補正項算出部
７６  PIDコントローラ
dQ/dθ  熱発生率
dθ/dt  クランク角回転速度
【図１】
0004661727.tif 000022
【図２】
0004661727.tif 000023
【図３】
0004661727.tif 000024
【図４】
0004661727.tif 000025
【図５】
0004661727.tif 000026
【図６】
0004661727.tif 000027
【図７】
0004661727.tif 000028
【図８】
0004661727.tif 000029
【図９】
0004661727.tif 000030
【図１０】
0004661727.tif 000031