(57)【要約】      （修正有）【課題】エンジンの出力軸とモータの回転軸とがプラネタリギヤに接続されているハイブリッド車において、始動直後のエンジンの運転をより適正に制御する。【解決手段】エンジン始動を確認したタイミングからエンジンが目標運転ポイントで運転されるまでの出力応答がむだ時間ｔｄを有する時定数ｔｃの一次遅れであるとみなしてモータＭＧ１とエンジンを制御する際に、一次遅れとしてモータＭＧ１とエンジンとが適正に制御されたと仮定したときのエンジン回転数の時間変化としての適正制御回転数とエンジン回転数との差分回転数ΔＮｅ（ｔ２）の始動確認タイミングからむだ時間ｔｄが経過した時間近傍の極値に基づいてむだ時間ｔｄを学習しＳ４４０、差分回転数ΔＮｅ（ｔ２）の始動確認タイミングからむだ時間ｔｄと時定数ｔｃが経過した時間近傍の極値に基づいて時定数ｔｃを学習するＳ４６０。【選択図】図５
2013136335.tif 000002
【特許請求の範囲】
【請求項１】
エンジンと、動力の入出力が可能な第１モータと、車軸に連結された駆動軸と前記エンジンの出力軸と前記第１モータの回転軸とに３つの回転要素が接続されたプラネタリギヤと、前記駆動軸に動力を入出力する第２モータと、前記エンジンの回転数を検出する回転数検出手段と、前記エンジンを始動して前記エンジンを目標回転数と目標トルクとからなる目標運転ポイントで運転する要求がなされたとき、前記エンジンがクランキングされて始動されるよう前記エンジンと前記第１モータとを制御し、前記エンジンの始動を確認した始動確認タイミングから前記エンジンが前記目標運転ポイントで運転されるまでは前記エンジンの出力応答がむだ時間を有する一次遅れとしてのむだ時間一次遅れ系であるとみなして推定される前記エンジンの出力に基づいて前記第１モータを制御すると共に吸入空気量に対して目標空燃比となるよう前記エンジンを制御する制御手段と、を備えるハイブリッド車において、
前記制御手段は、前記エンジンの出力応答が前記むだ時間一次遅れ系であるとみなして適正に前記第１モータと前記エンジンとが制御されたと仮定したときの前記エンジンの回転数としての適正制御回転数と前記回転数検出手段により検出される回転数との差分が小さくなる傾向に前記むだ時間と前記一次遅れの時定数とを学習する手段である、
ことを特徴とするハイブリッド車。
【請求項２】
請求項１記載のハイブリッド車であって、
前記制御手段は、前記始動確認タイミングから前記むだ時間による時間が経過したタイミング近傍の前記適正制御回転数と前記検出された回転数との差分の極大値であるむだ時間用極大値が第１の閾値以上となるときに前記むだ時間を学習し、前記始動確認タイミングから前記むだ時間と前記時定数とによる時間が経過したタイミング近傍の前記適正制御回転数と前記検出された回転数との差分の極大値である時定数用極大値が第２の閾値以上となるときに前記時定数を学習する手段である、
ハイブリッド車。
【請求項３】
請求項２記載のハイブリッド車であって、
前記制御手段は、前記むだ時間用極大値に予め定めた係数を乗じた値だけ変更することにより前記むだ時間を学習し、前記時定数用極大値に予め定めた係数を乗じた値だけ変更することにより前記時定数を学習する手段である、
ハイブリッド車。
【請求項４】
請求項２記載のハイブリッド車であって、
前記制御手段は、前記始動確認タイミングから前記エンジンの空気量負荷率が急増するまでの時間を前記むだ時間として学習し、前記空気量負荷率が急増したときから前記空気量負荷率が前記エンジンを前記目標運転ポイントで運転したときの空気量負荷率に対して（１−１／ｅ）×１００％に相当する値となるまでの時間を前記時定数として学習する手段である、
ハイブリッド車。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハイブリッド車に関し、詳しくは、エンジンと、動力の入出力が可能な第１モータと、車軸に連結された駆動軸とエンジンの出力軸と第１モータの回転軸とに３つの回転要素が接続されたプラネタリギヤと、駆動軸に動力を入出力する第２モータと、エンジンを始動してエンジンを目標回転数と目標トルクとからなる目標運転ポイントで運転する要求がなされたときに、エンジンがクランキングされて始動されるようエンジンと第１モータとを制御し、エンジンの始動を確認した始動確認タイミングからエンジンが目標運転ポイントで運転されるまではエンジンの出力応答がむだ時間を有する一次遅れとしてのむだ時間一次遅れ系であるとみなして推定されるエンジンの出力に基づいて第１モータを制御すると共に吸入空気量に対して目標空燃比となるようエンジンを制御する制御手段と、を備えるハイブリッド車に関する。
【背景技術】
【０００２】
従来、この種のハイブリッド車としては、車軸に連結された駆動軸とエンジンの出力軸と第１モータの回転軸の３軸がプラネタリギヤの３つの回転要素としてのリングギヤとキャリアとサンギヤとにそれぞれ接続されると共に駆動軸に第２モータが接続されたハイブリッド車において、第２モータからの動力だけで走行している最中に第２モータに異常が生じ、走行を停止させることなく第１モータによりエンジンをモータリングして始動させる際に、駆動軸の回転速度偏差が閾値より大きくなったときには、回転速度偏差が閾値以下となるまで小さくしたトルク指令を用いて第１モータを制御することによりエンジンをモータリングして始動するものが提案されている（例えば、特許文献１参照）。このハイブリッド車では、このように制御することにより、エンジンの始動の際のショックや振動を抑制している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１６８７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のハイブリッド車では、駆動軸とエンジンの出力軸と第１モータの回転軸とがプラネタリギヤの３つの回転要素に接続されていることから、第１モータからトルクを出力すると共にこの第１モータからプラネタリギヤを介して駆動軸に作用するトルクを受け止めることにより、エンジンをモータリング（クランキング）して始動する。エンジンから出力されたトルクは、エンジンから出力されてプラネタリギヤを介して第１モータの回転軸に作用するトルクを第１モータによって受け止めることにより、駆動軸に出力する。エンジンを始動してエンジンからトルクを出力するときの第１モータから出力すべきトルクは、エンジンをモータリング（クランキング）するトルクからエンジンからのトルクを受け止めるトルクとなるため、その符号が反転する。このため、第１モータの駆動制御を適正に行なうことができないと、始動直後のエンジンの回転数上昇を遅延させたり、逆にエンジンが吹き上がってしまう場合が生じる。こうした課題に対して、エンジンの始動直後の出力応答がむだ時間を有する一次遅れであるとみなして第１モータを駆動制御することにより始動直後のエンジンの運転をスムーズに制御することも考えられているが、エンジンのシリンダとピストンとの摩擦の経年変化や潤滑オイルの性状や劣化程度によるエンジンのフリクションの変化、燃料噴射弁による燃料噴射量のバラツキや経年変化、スロットル開度のバラツキや経年変化による吸入空気量のバラツキや経年変化などにより、始動直後のエンジンの運転を適正に制御することができない場合が生じる。
【０００５】
本発明のハイブリッド車は、駆動軸とエンジンの出力軸と第１モータの回転軸とがプラネタリギヤの３つの回転要素に接続されているハイブリッド車において、始動直後のエンジンの運転をより適正に制御することを主目的とする。
【課題を解決するための手段】
【０００６】
本発明のハイブリッド車は、上述の主目的を達成するために以下の手段を採った。
【０００７】
本発明のハイブリッド車は、
エンジンと、動力の入出力が可能な第１モータと、車軸に連結された駆動軸と前記エンジンの出力軸と前記第１モータの回転軸とに３つの回転要素が接続されたプラネタリギヤと、前記駆動軸に動力を入出力する第２モータと、前記エンジンの回転数を検出する回転数検出手段と、前記エンジンを始動して前記エンジンを目標回転数と目標トルクとからなる目標運転ポイントで運転する要求がなされたとき、前記エンジンがクランキングされて始動されるよう前記エンジンと前記第１モータとを制御し、前記エンジンの始動を確認した始動確認タイミングから前記エンジンが前記目標運転ポイントで運転されるまでは前記エンジンの出力応答がむだ時間を有する一次遅れとしてのむだ時間一次遅れ系であるとみなして推定される前記エンジンの出力に基づいて前記第１モータを制御すると共に吸入空気量に対して目標空燃比となるよう前記エンジンを制御する制御手段と、を備えるハイブリッド車において、
前記制御手段は、前記エンジンの出力の時間変化が前記むだ時間一次遅れ系であるとみなして適正に前記第１モータと前記エンジンとが制御されたと仮定したときの前記エンジンの回転数としての適正制御回転数と前記回転数検出手段により検出される回転数との差分が小さくなる傾向に前記むだ時間と前記一次遅れの時定数とを学習する手段である、
ことを特徴とする。
【０００８】
この本発明のハイブリッド車では、エンジンの始動を確認した始動確認タイミングからエンジンが目標運転ポイントで運転されるまではエンジンの出力応答がむだ時間を有する一次遅れ（むだ時間一次遅れ系）であるとみなして推定されるエンジンの出力に基づいて第１モータを制御すると共に吸入空気量に対して目標空燃比となるようエンジンを制御する。そして、エンジンの出力応答がむだ時間一次遅れ系であるとみなして適正に第１モータとエンジンとが制御されたと仮定したときのエンジンの回転数としての適正制御回転数と回転数検出手段により検出されるエンジンの回転数との差分が小さくなる傾向に一次遅れ系におけるむだ時間と一次遅れの時定数とを学習する。したがって、エンジンのフリクションの変化や、燃料噴射弁による燃料噴射量のバラツキや経年変化、スロットル開度のバラツキや経年変化による吸入空気量のバラツキや経年変化が生じても、より適正なむだ時間と時定数とを用いて始動直後のエンジンの運転を制御することができる。この結果、始動直後のエンジンの運転を適正に制御できないことによって生じる不都合、例えば、始動直後のエンジンの回転数上昇が遅延したり、エンジンが吹き上がってしまうなどの不都合を抑制することができる。ここで、「始動確認タイミング」としては、例えば、エンジンの完爆を確認したタイミングを用いることができる。「目標運転ポイント」は、例えば、アクセル開度や車速などに基づいてエンジンから出力すべきパワーを求め、このパワーをエンジンから出力することが可能なエンジンの回転数とトルクとからなる運転ポイントのうち振動や異音が生じない範囲内で最も効率がよい運転ポイントの回転数とトルクとを目標回転数と目標トルクとして求めることができる。「目標空燃比」は、吸入空気量に対する理論空燃比となる基本燃料噴射量に対してエンジンの冷却水の温度や吸入空気量の温度などによる補正が施された燃料噴射量によるものとしてその都度計算されるものを用いることができる。
【０００９】
こうした本発明のハイブリッド車において、前記制御手段は、前記始動確認タイミングから前記むだ時間による時間が経過したタイミング近傍の前記適正制御回転数と前記検出された回転数との差分の極大値であるむだ時間用極大値が第１の閾値以上となるときに前記むだ時間を学習し、前記始動確認タイミングから前記むだ時間と前記時定数とによる時間が経過したタイミング近傍の前記適正制御回転数と前記検出された回転数との差分の極大値である時定数用極大値が第２の閾値以上となるときに前記時定数を学習する手段である、ものとすることもできる。こうすれば、むだ時間や時定数の学習が過剰に行なわれるのを抑制することができる。
【００１０】
このむだ時間用極大値と時定数用極大値とを用いてむだ時間と時定数とを学習する態様の本発明のハイブリッド車において、前記制御手段は、前記むだ時間用極大値に予め定めた係数を乗じた値だけ変更することにより前記むだ時間を学習し、前記時定数用極大値に予め定めた係数を乗じた値だけ変更することにより前記時定数を学習する手段である、ものとすることもできるし、前記制御手段は、予め定めた第１の所定値だけ変更することにより前記むだ時間を学習し、予め定めた第２の所定値だけ変更することにより前記時定数を学習する手段である、ものとすることもできる。
【００１１】
また、むだ時間用極大値と時定数用極大値とを用いてむだ時間と時定数とを学習する態様の本発明のハイブリッド車において、前記制御手段は、前記始動確認タイミングから前記エンジンの空気量負荷率が急増するまでの時間を前記むだ時間として学習し、前記空気量負荷率が急増したときから前記空気量負荷率が前記エンジンを前記目標運転ポイントで運転したときの空気量負荷率に対して（１−１／ｅ）×１００％に相当する値となるまでの時間を前記時定数として学習する手段である、ここで、「空気量負荷率」は、エンジンの１サイクルあたりで吸入可能な空気量に対する１サイクルで実際に吸入される空気の容積の比を意味している。また、「ｅ」は自然対数の底である。空気量負荷率の急増は、空気量負荷率の時間変化量が予め定めた閾値を超えているか否かによって判定することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例としてのハイブリッド自動車２０の構成の概略を示す構成図である。
【図２】エンジン２２の構成の概略を示す構成図である。
【図３】ＨＶＥＣＵ７０により実行される始動時制御ルーチンの前半部分の一例を示すフローチャートである。
【図４】ＨＶＥＣＵ７０により実行される始動時制御ルーチンの後半部分の一例を示すフローチャートである。
【図５】一次遅れ系のむだ時間ｔｄと時定数ｔｃとを学習する学習処理ルーチンの一例を示すフローチャートである。
【図６】燃費最適動作ラインを用いて目標回転数Ｎｅ＊と目標トルクＴｅ＊とを設定する様子を説明する説明図である。
【図７】要求トルク設定用マップの一例を示す説明図である。
【図８】始動時のモータＭＧ１のトルク指令Ｔｍ１＊とエンジン２２の回転数Ｎｅとエンジン推定トルクＴｅｅｓｔの時間変化の一例を示す説明図である。
【図９】変形例の学習処理ルーチンの一例を示すフローチャートである。
【図１０】変形例の学習処理ルーチンの一例を示すフローチャートである。
【図１１】変形例における始動時のモータＭＧ１のトルク指令Ｔｍ１＊とエンジン２２の回転数Ｎｅとエンジン推定トルクＴｅｅｓｔと空気量負荷率ＫＬの時間変化の一例を示す説明図である。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態を実施例を用いて説明する。
【実施例】
【００１４】
図１は、本発明の一実施例としてのハイブリッド自動車２０の構成の概略を示す構成図である。実施例のハイブリッド自動車２０は、図示するように、ガソリンや軽油などを燃料とするエンジン２２と、エンジン２２を駆動制御するエンジン用電子制御ユニット（以下、エンジンＥＣＵという。）２４と、エンジン２２のクランクシャフト２６にキャリアが接続されると共に駆動輪３８ａ，３８ｂにデファレンシャルギヤ３７を介して連結された駆動軸３６にリングギヤが接続されたプラネタリギヤ３０と、例えば同期発電電動機として構成されて回転子がプラネタリギヤ３０のサンギヤに接続されたモータＭＧ１と、例えば同期発電電動機として構成されて回転子が駆動軸３６に接続されたモータＭＧ２と、モータＭＧ１，ＭＧ２を駆動するためのインバータ４１，４２と、モータＭＧ１，ＭＧ２を駆動制御するモータ用電子制御ユニット（以下、モータＥＣＵという。）４０と、インバータ４１，４２を介してモータＭＧ１，ＭＧ２と電力をやりとりするバッテリ５０と、バッテリ５０を管理するバッテリ用電子制御ユニット（以下、バッテリＥＣＵという。）５２と、車両全体を制御するハイブリッド用電子制御ユニット（以下、ＨＶＥＣＵという。）７０と、を備える。
【００１５】
エンジン２２は、図２に示すように、エアクリーナ１２２により清浄された空気をスロットルバルブ１２４を介して吸入すると共に燃料噴射弁１２６からガソリンを噴射して吸入された空気とガソリンとを混合し、この混合気を吸気バルブ１２８を介して燃料室に吸入し、点火プラグ１３０による電気火花によって爆発燃焼させて、そのエネルギにより押し下げられるピストン１３２の往復運動をクランクシャフト２６の回転運動に変換する。エンジン２２からの排気は、一酸化炭素（ＣＯ）や炭化水素（ＨＣ），窒素酸化物（ＮＯｘ）の有害成分を浄化する浄化触媒（三元触媒）を有する浄化装置１３４を介して外気へ排出される。エンジンＥＣＵ２４は、ＣＰＵ２４ａを中心とするマイクロプロセッサとして構成されており、ＣＰＵ２４ａの他に処理プログラムを記憶するＲＯＭ２４ｂと、データを一時的に記憶するＲＡＭ２４ｃと、図示しない入出力ポートおよび通信ポートとを備える。エンジンＥＣＵ２４には、エンジン２２の状態を検出する種々のセンサからの信号、クランクシャフト２６の回転位置を検出するクランクポジションセンサ１４０からのクランクポジションやエンジン２２の冷却水の温度を検出する水温センサ１４２からの冷却水温，燃焼室内に取り付けられた圧力センサ１４３からの筒内圧力Ｐｉｎ，燃焼室へ吸排気を行なう吸気バルブ１２８や排気バルブを開閉するカムシャフトの回転位置を検出するカムポジションセンサ１４４からのカムポジション，スロットルバルブ１２４のポジションを検出するスロットルバルブポジションセンサ１４６からのスロットルポジション，吸気管に取り付けられたエアフローメータ１４８からの吸入空気量Ｑａ，同じく吸気管に取り付けられた温度センサ１４９からの吸気温Ｔａ，空燃比センサ１３５ａからの空燃比ＡＦ，酸素センサ１３５ｂからの酸素信号などが入力ポートを介して入力されている。また、エンジンＥＣＵ２４からは、エンジン２２を駆動するための種々の制御信号、例えば、燃料噴射弁１２６への駆動信号や、スロットルバルブ１２４のポジションを調節するスロットルモータ１３６への駆動信号、イグナイタと一体化されたイグニッションコイル１３８への制御信号、吸気バルブ１２８の開閉タイミングの変更可能な可変バルブタイミング機構１５０への制御信号などが出力ポートを介して出力されている。エンジンＥＣＵ２４は、ＨＶＥＣＵ７０と通信しており、ＨＶＥＣＵ７０からの制御信号によりエンジン２２を運転制御すると共に必要に応じてエンジン２２の運転状態に関するデータを出力する。なお、エンジンＥＣＵ２４は、クランクポジションセンサ１４０からのクランクポジションに基づいてクランクシャフト２６の回転数、すなわち、エンジン２２の回転数Ｎｅを演算したり、エアフローメータ１４８からの吸入空気量Ｑａとエンジン２２の回転数Ｎｅとに基づいて空気量負荷率（エンジン２２の１サイクルあたりで吸入可能な空気量に対する１サイクルで実際に吸入される空気の容積の比）ＫＬを演算している。
【００１６】
モータＥＣＵ４０は、図示しないが、ＣＰＵを中心とするマイクロプロセッサとして構成されており、ＣＰＵの他に処理プログラムを記憶するＲＯＭやデータを一時的に記憶するＲＡＭ、入出力ポート、通信ポートを備える。モータＥＣＵ４０には、モータＭＧ１，ＭＧ２を駆動制御するために必要な信号、例えばモータＭＧ１，ＭＧ２の回転子の回転位置を検出する回転位置検出センサ４３，４４からの信号や図示しない電流センサにより検出されるモータＭＧ１，ＭＧ２に印加される相電流などが入力ポートを介して入力されており、モータＥＣＵ４０からは、インバータ４１，４２の図示しないスイッチング素子をスイッチングするためのスイッチング制御信号が出力ポートを介して出力されている。また、モータＥＣＵ４０は、ＨＶＥＣＵ７０と通信しており、ＨＶＥＣＵ７０からの制御信号によってモータＭＧ１，ＭＧ２を駆動制御すると共に必要に応じてモータＭＧ１，ＭＧ２の運転状態に関するデータをＨＶＥＣＵ７０に出力する。なお、モータＥＣＵ４０は、回転位置検出センサ４３，４４からの信号に基づいてモータＭＧ１，ＭＧ２の回転数Ｎｍ１，Ｎｍ２を演算している。
【００１７】
バッテリＥＣＵ５２は、ＣＰＵを中心とするマイクロプロセッサとして構成されており、ＣＰＵの他に処理プログラムを記憶するＲＯＭやデータを一時的に記憶するＲＡＭ、入出力ポート、通信ポートを備える。バッテリＥＣＵ５２には、バッテリ５０を管理するのに必要な信号、例えば、バッテリ５０の端子間に設置された図示しない電圧センサからの端子間電圧，バッテリ５０の出力端子に接続された電力ラインに取り付けられた図示しない電流センサからの充放電電流，バッテリ５０に取り付けられた温度センサ５１からのバッテリ温度Ｔｂなどが入力されており、必要に応じてバッテリ５０の状態に関するデータを通信によりＨＶＥＣＵ７０に送信する。また、バッテリＥＣＵ５２は、バッテリ５０を管理するために電流センサにより検出された充放電電流の積算値に基づいてそのときのバッテリ５０から放電可能な電力の容量の全容量の割合である蓄電割合ＳＯＣを演算したり、演算した蓄電割合ＳＯＣと電池温度Ｔｂとに基づいてバッテリ５０を充放電してもよい最大許容電力である入出力制限Ｗｉｎ，Ｗｏｕｔを演算している。
【００１８】
ＨＶＥＣＵ７０は、図示しないが、ＣＰＵを中心とするマイクロプロセッサとして構成されており、ＣＰＵの他に処理プログラムを記憶するＲＯＭやデータを一時的に記憶するＲＡＭ、入出力ポート、通信ポートを備える。ＨＶＥＣＵ７０には、イグニッションスイッチ８０からのイグニッション信号，シフトレバー８１の操作位置を検出するシフトポジションセンサ８２からのシフトポジションＳＰ，アクセルペダル８３の踏み込み量を検出するアクセルペダルポジションセンサ８４からのアクセル開度Ａｃｃ，ブレーキペダル８５の踏み込み量を検出するブレーキペダルポジションセンサ８６からのブレーキペダルポジションＢＰ，車速センサ８８からの車速Ｖなどが入力ポートを介して入力されている。ＨＶＥＣＵ７０は、前述したように、エンジンＥＣＵ２４やモータＥＣＵ４０，バッテリＥＣＵ５２と通信ポートを介して接続されており、エンジンＥＣＵ２４やモータＥＣＵ４０，バッテリＥＣＵ５２と各種制御信号やデータのやりとりを行なっている。
【００１９】
こうして構成された実施例のハイブリッド自動車２０は、運転者によるアクセルペダルの踏み込み量に対応するアクセル開度Ａｃｃと車速Ｖとに基づいて駆動軸３６に出力すべき要求トルクＴｒ＊を計算し、この要求トルクＴｒ＊に対応する要求動力が駆動軸３６に出力されるように、エンジン２２とモータＭＧ１とモータＭＧ２とが運転制御される。エンジン２２とモータＭＧ１とモータＭＧ２の運転制御としては、要求動力に見合う動力がエンジン２２から出力されるようにエンジン２２を運転制御すると共にエンジン２２から出力される動力のすべてがプラネタリギヤ３０とモータＭＧ１とモータＭＧ２とによってトルク変換されて駆動軸３６に出力されるようモータＭＧ１およびモータＭＧ２を駆動制御するトルク変換運転モードや要求動力とバッテリ５０の充放電に必要な電力との和に見合う動力がエンジン２２から出力されるようにエンジン２２を運転制御すると共にバッテリ５０の充放電を伴ってエンジン２２から出力される動力の全部またはその一部がプラネタリギヤ３０とモータＭＧ１とモータＭＧ２とによるトルク変換を伴って要求動力が駆動軸３６に出力されるようモータＭＧ１およびモータＭＧ２を駆動制御する充放電運転モード、エンジン２２の運転を停止してモータＭＧ２からの要求動力に見合う動力を駆動軸３６に出力するよう運転制御するモータ運転モードなどがある。なお、トルク変換運転モードと充放電運転モードは、いずれもエンジン２２の運転を伴って要求動力が駆動力３６に出力されるようエンジン２２とモータＭＧ１，ＭＧ２とを制御するモードであり、実質的な制御における差異はないため、以下、両者を合わせてエンジン運転モードという。
【００２０】
実施例のハイブリッド自動車２０は、モータ運転モードで運転している最中に、運転者によりアクセルペダル８３が大きく踏み込まれて（例えば、アクセル開度ＡＣＣが全開）バッテリ５０からの電力だけでは要求動力を賄うことができないときや、バッテリ５０の蓄電割合ＳＯＣがエンジン運転モードに切り替えるために予め定められた閾値以下になったとき、その他、車両の状態がエンジン運転モードに切り替えるために予め定められた状態に至ったときに、エンジン２２の始動が要求されたとして、エンジン２２を始動してエンジン運転モードに移行する。また、実施例のハイブリッド自動車２０は、エンジン運転モードで運転している最中に、バッテリ５０の蓄電割合ＳＯＣが閾値以上で要求動力をバッテリ５０からの放電で賄うことができるときや、運転者により図示しないモータ走行スイッチが押されたとき、その他、車両の状態がモータ運転モードに切り替えるために予め定められた状態に至ったときに、エンジン２２の運転を停止してモータ運転モードに移行する。
【００２１】
エンジン運転モードでは、ＨＶＥＣＵ７０は、アクセルペダルポジションセンサ８４からのアクセル開度Ａｃｃと車速センサ８８からの車速Ｖとに基づいて駆動軸３６に出力すべき要求トルクＴｒ＊を設定し、設定した要求トルクＴｒ＊に駆動軸３６の回転数Ｎｒ（例えば、モータＭＧ２の回転数Ｎｍ２や車速Ｖに換算係数を乗じて得られる回転数）を乗じて走行に要求される走行用パワーＰｄｒｖを計算すると共に計算した走行用パワーＰｄｒｖからバッテリ５０の蓄電割合ＳＯＣに基づいて得られるバッテリ５０の充放電要求パワーＰｂ＊（バッテリ５０から放電するときが正の値）を減じてエンジン２２から出力すべきパワーとしての目標パワーＰｅ＊を設定する。そして、目標パワーＰｅ＊を効率よくエンジン２２から出力することができるエンジン２２の回転数ＮｅとトルクＴｅとの関係としての動作ライン（例えば燃費最適動作ライン）を用いてエンジン２２の目標回転数Ｎｅ＊と目標トルクＴｅ＊とを設定し、バッテリ５０の入出力制限Ｗｉｎ，Ｗｏｕｔの範囲内で、エンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊となるようにするための回転数フィードバック制御によりモータＭＧ１から出力すべきトルクとしてのトルク指令Ｔｍ１＊を設定すると共にモータＭＧ１をトルク指令Ｔｍ１＊で駆動したときにプラネタリギヤ３０を介して駆動軸３６に作用するトルクを要求トルクＴｒ＊から減じてモータＭＧ２のトルク指令Ｔｍ２＊を設定し、設定した目標回転数Ｎｅ＊と目標トルクＴｅ＊とについてはエンジンＥＣＵ２４に送信し、トルク指令Ｔｍ１＊，Ｔｍ２＊についてはモータＥＣＵ４０に送信する。目標回転数Ｎｅ＊と目標トルクＴｅ＊とを受信したエンジンＥＣＵ２４は、目標回転数Ｎｅ＊と目標トルクＴｅ＊とによってエンジン２２が運転されるようエンジン２２の吸入空気量制御や燃料噴射制御，点火制御などを行い、トルク指令Ｔｍ１＊，Ｔｍ２＊を受信したモータＥＣＵ４０は、モータＭＧ１，ＭＧ２がトルク指令Ｔｍ１＊，Ｔｍ２＊で駆動されるようインバータ４１，４２のスイッチング素子のスイッチング制御を行なう。
【００２２】
モータ運転モードでは、ＨＶＥＣＵ７０は、モータＭＧ１のトルク指令Ｔｍ１＊に値０を設定する共にバッテリ５０の入出力制限Ｗｉｎ，Ｗｏｕｔの範囲内で要求トルクＴｒ＊が駆動軸３６に出力されるようモータＭＧ２のトルク指令Ｔｍ２＊を設定してモータＥＣＵ４０に送信する。そして、トルク指令Ｔｍ１＊，Ｔｍ２＊を受信したモータＥＣＵ４０は、モータＭＧ１，ＭＧ２がトルク指令Ｔｍ１＊，Ｔｍ２＊で駆動されるようインバータ４１，４２のスイッチング素子のスイッチング制御を行なう。
【００２３】
次に、こうして構成された実施例のハイブリッド自動車２０の動作、特にエンジン２２を始動して目標回転数Ｎｅ＊と目標トルクＴｅ＊とからなる目標運転ポイントで運転するまでの動作について説明する。図３および図４は、ＨＶＥＣＵ７０により実行される始動時制御ルーチンの一例を示すフローチャートであり、図５は始動直後のエンジン２２の出力がむだ時間ｔｄと時定数ｔｃとを有する一次遅れ系であるとみなして制御する際のむだ時間ｔｄと時定数ｔｃとを学習するためにＨＶＥＣＵ７０により実行される学習処理ルーチンの一例を示すフローチャートである。以下、まず、図３および図４を用いて始動時制御について説明し、その後、図５を用いてむだ時間ｔｄと時定数ｔｃの学習処理について説明する。なお、図３および図４の始動時制御ルーチンは、エンジン２２の始動が要請されたときに実行され、図５の学習処理ルーチンは、始動時制御ルーチンが終了した後に実行される。
【００２４】
図３および図４の始動時制御ルーチンが実行されると、ＨＶＥＣＵ７０のＣＰＵは、まず、始動後にエンジン２２から出力すべき目標パワーＰｅ＊を設定すると共に（ステップＳ１００）、設定した目標パワーＰｅ＊と燃費最適動作ラインとに基づいて始動後にエンジン２２を運転すべき目標運転ポイントとしての目標回転数Ｎｅ＊と目標トルクＴｅ＊とを設定する（ステップＳ１１０）。ここで、目標パワーＰｅ＊は、アクセル開度Ａｃｃに基づいて設定するものとしてもよいし、アクセル開度Ａｃｃと車速Ｖとに基づいて設定するものとしてもよいし、車速Ｖに基づいて設定するものとしてもよい。燃費最適動作ラインの一例とこの燃費最適動作ラインを用いて目標回転数Ｎｅ＊と目標トルクＴｅ＊とを設定する様子の一例を図６に示す。図示するように、目標回転数Ｎｅ＊と目標トルクＴｅ＊は、燃費最適動作ラインと目標パワーＰｅ＊（Ｎｅ＊×Ｔｅ＊）が一定の曲線との交点により求めることができる。
【００２５】
続いて、アクセルペダルポジションセンサ８４からのアクセル開度Ａｃｃや車速センサ８８からの車速Ｖ，モータＭＧ１，ＭＧ２の回転数Ｎｍ１，Ｎｍ２，エンジン２２の回転数Ｎｅ，バッテリ５０の入出力制限Ｗｉｎ，Ｗｏｕｔなど制御に必要なデータを入力し（ステップＳ１２０）、入力したアクセル開度Ａｃｃと車速Ｖとに基づいて駆動軸３６に出力すべき要求トルクＴｒ＊を設定する（ステップＳ１３０）。ここで、エンジン２２の回転数Ｎｅは、クランクシャフト２６に取り付けられたクランクポジションセンサからの信号に基づいて演算されたものをエンジンＥＣＵ２４から通信により入力するものとした。また、モータＭＧ１，ＭＧ２の回転数Ｎｍ１，Ｎｍ２は、回転位置検出センサ４３，４４により検出されるモータＭＧ１，ＭＧ２の回転子の回転位置に基づいて計算されたものをモータＥＣＵ４０から通信により入力するものとした。さらに、バッテリ５０の入出力制限Ｗｉｎ，Ｗｏｕｔは、温度センサにより検出されたバッテリ５０の電池温度とバッテリ５０の蓄電割合ＳＯＣとに基づいて設定されたものをバッテリＥＣＵ５２から通信により入力するものとした。要求トルクＴｒ＊は、実施例では、アクセル開度Ａｃｃと車速Ｖと要求トルクＴｒ＊との関係を予め定めて要求トルク設定用マップとしてＲＯＭに記憶しておき、アクセル開度Ａｃｃと車速Ｖとが与えられると記憶したマップから対応する要求トルクＴｒ＊を導出して設定するものとした。要求トルク設定用マップの一例を図７に示す。
【００２６】
続いて、エンジン２２の回転数Ｎｅとエンジン２２の始動を開始してからの経過時間ｔ１とに基づいてモータＭＧ１のトルク指令Ｔｍ１＊を設定する（ステップＳ１４０）。エンジン２２を始動する際のモータＭＧ１のトルク指令Ｔｍ１＊とエンジン２２の回転数Ｎｅと経過時間ｔ１との関係の一例を含めて始動時のモータＭＧ１のトルク指令Ｔｍ１＊とエンジン２２の回転数Ｎｅとエンジン推定トルクＴｅｅｓｔの時間変化の一例を図８に示す。図示するように、トルク指令Ｔｍ１＊は、実施例では、エンジン２２の始動指示がなされた時間ｔ１０の直後からレート処理を用いて大きくなるトルクが設定され、これにより、エンジン２２の回転数Ｎｅを迅速に増加させ、エンジン２２の回転数Ｎｅが共振回転数帯を通過した時間ｔ１１以降にエンジン２２を安定して回転数Ｎｒｅｆ（例えば１０００ｒｐｍや１２００ｒｐｍなど）以上でクランキングするためのトルクが設定され、エンジン２２の回転数Ｎｅが回転数Ｎｒｅｆに至った時間ｔ１２からレート処理を用いて迅速に値０に至るよう小さくなるトルクが設定され、エンジン２２の完爆が判定された時間ｔ１３（時間ｔ２０）まで値０のトルクが設定される。
【００２７】
こうしてモータＭＧ１のトルク指令Ｔｍ１＊を設定すると、エンジン２２の回転数Ｎｅが回転数Ｎｒｅｆ以上となったか否かを判定し（ステップＳ１５０）、エンジン２２の始動指示がなされた直後などエンジン２２の回転数Ｎｅが回転数Ｎｒｅｆ未満であるときには、キャンセルトルクＴαに値０を設定する（ステップＳ１６０）。ここで、キャンセルトルクＴαは、エンジン２２の初爆時に駆動軸３６に生じるトルク変動をキャンセルするために、モータＭＧ２から出力するトルクを補正するトルクとして設定されるものである。このため、エンジン２２の初爆時以外には、値０に設定される。
【００２８】
次に、バッテリ５０の入出力制限Ｗｉｎ，Ｗｏｕｔと設定したモータＭＧ１のトルク指令Ｔｍ１＊に現在のモータＭＧ１の回転数Ｎｍ１を乗じて得られるモータＭＧ１の消費電力（発電電力）との偏差をモータＭＧ２の回転数Ｎｍ２で割ることによりモータＭＧ２から出力してもよいトルクの上下限としてのトルク制限Ｔｍｉｎ，Ｔｍａｘを次式（１）および式（２）により計算すると共に（ステップＳ１９０）、要求トルクＴｒ＊とトルク指令Ｔｍ１＊とプラネタリギヤ３０のギヤ比ρ（サンギヤの歯数をリングギヤの歯数で割った値）を用いてモータＭＧ２から出力すべきトルクとしての仮モータトルクＴｍ２ｔｍｐを式（３）により計算し（ステップＳ２００）、計算したトルク制限Ｔｍｉｎ，Ｔｍａｘで仮モータトルクＴｍ２ｔｍｐを制限した値にキャンセルトルクＴαを加えたものをモータＭＧ２のトルク指令Ｔｍ２＊として設定する（ステップＳ２１０）。なお、上述の式（３）は、プラネタリギヤ３０の回転要素に対する力学的な関係式であり、図示は省略するが、プラネタリギヤ３０の回転要素における回転数とトルクとの力学的な関係を示す共線図から導くことができる。
【００２９】
Tmin=(Win-Tm1*・Nm1)/Nm2  (1)
Tmax=(Wout-Tm1*・Nm1)/Nm2  (2)
Tm2tmp=(Tr*+Tm1*/ρ)/Gr    (3)
【００３０】
続いて、設定したモータＭＧ１，ＭＧ２のトルク指令Ｔｍ１＊，Ｔｍ２＊をモータＥＣＵ４０に送信する（ステップＳ２２０）。トルク指令Ｔｍ１＊，Ｔｍ２＊を受信したモータＥＣＵ４０は、トルク指令Ｔｍ１＊でモータＭＧ１が駆動されると共にトルク指令Ｔｍ２＊でモータＭＧ２が駆動されるようインバータ４１，４２のスイッチング素子のスイッチング制御を行なう。そして、エンジン２２が完爆したか否かを判定し（ステップＳ２３０）、完爆していないときにはステップＳ１２０のデータの入力処理に戻り、完爆するまでステップＳ１２０〜Ｓ２３０の処理を繰り返す。ここで、エンジン２２の回転数Ｎｅが回転数Ｎｒｅｆより小さいときには、エンジン２２の吸入空気量制御や燃料噴射制御，点火制御の開始が指示されていないから、ステップＳ１２０の処理に戻ることになる。
【００３１】
エンジン２２の回転数Ｎｅが回転数Ｎｒｅｆ以上になると（ステップＳ１５０）、エンジンＥＣＵ２４に吸入空気量制御や燃料噴射制御，点火制御の開始を指示すると共に（ステップＳ１７０）、キャンセルトルクＴαに値Ｔｓｅｔを設定する（ステップＳ１８０）。吸入空気量制御や燃料噴射制御，点火制御の開始指示を受信したエンジンＥＣＵ２４は、エンジン始動時の吸入空気量を予め定めた吸入空気量が吸入されるようスロットルバルブのポジションを調節する吸入空気量制御と、吸入空気量に対して噴射すべき燃料噴射量に各種補正を施した燃料噴射量が適切なタイミングで燃焼室内に噴射されるよう燃料噴射弁を駆動する燃料噴射制御と、燃焼室内に噴射された燃料が適切なタイミングで点火プラグにより点火されるようイグニッションコイルを制御する点火制御とを開始して、エンジン２２を始動制御する。値Ｔｓｅｔは、エンジン２２の初爆時のトルク変動をキャンセルするのに必要なトルクとして実験などにより求められるものである。キャンセルトルクＴαを設定すると、モータＭＧ２から出力してもよいトルクの上下限としてのトルク制限Ｔｍｉｎ，Ｔｍａｘを計算すると共に（ステップＳ１９０）、モータＭＧ２から出力すべきトルクとしての仮モータトルクＴｍ２ｔｍｐを計算し（ステップＳ２００）、計算したトルク制限Ｔｍｉｎ，Ｔｍａｘで仮モータトルクＴｍ２ｔｍｐを制限した値にキャンセルトルクＴαを加えたものをモータＭＧ２のトルク指令Ｔｍ２＊として設定し（ステップＳ２１０）、設定したモータＭＧ１，ＭＧ２のトルク指令Ｔｍ１＊，Ｔｍ２＊をモータＥＣＵ４０に送信し（ステップＳ２２０）、エンジン２２が完爆したか否かを判定する（ステップＳ２３０）。完爆していないときにはステップＳ１２０に戻り処理を繰り返す。ここで、完爆は、例えば、圧力センサ１４３からの筒内圧力Ｐｉｎの変化に基づいて判定したり、エンジン２２の回転数Ｎｅの変動に基づいて判定したりすることができる。
【００３２】
エンジン２２の完爆が判定されると、目標回転数Ｎｅ＊とエンジン２２の回転数Ｎｅとを用いてエンジン２２の出力応答がむだ時間ｔｄを有する時定数ｔｃの一次遅れであるとみなしてエンジン２２の出力トルクが目標トルクＴｅ＊に至るまで適正に制御されたと仮定したときのエンジン２２の回転数の時間変化として適正制御回転数Ｎｅｉｄ（ｔ）を設定すると共に（ステップＳ２４０）、目標回転数Ｎｅ＊と目標トルクＴｅ＊とからなる目標運転ポイントでエンジン２２を運転するための制御を開始するようエンジンＥＣＵ２４に制御信号を送信する（ステップＳ２５０）。ここで、適正制御回転数Ｎｅｉｄ（ｔ）は、実施例では、適合値として実験などにより定めたむだ時間ｔｄと時定数ｔｃとを用いてエンジン２２の回転数Ｎｅと目標回転数Ｎｅ＊に対してシミュレーション等により経過時間ｔに対応する値を求めてマップとして記憶しておき、エンジン２２の回転数Ｎｅと目標回転数Ｎｅ＊とが与えられると、記憶したマップから経過時間ｔに対する各値を導出することにより設定するものとした。図８では、適正制御回転数Ｎｅｉｄをエンジン回転数Ｎｅにおける時間ｔ２０以降の実線として示した。目標運転ポイントでエンジン２２を運転するための制御としては、目標運転ポイントに対応するスロットル開度となるようスロットルバルブ１２４を調整する吸入空気量制御や、吸入空気量に対して目標空燃比となるよう燃料噴射量を計算して燃料噴射弁１２６から噴射する燃料噴射制御、トルク出力に適した点火タイミングで点火する点火制御、トルク出力に適した吸気バルブの開閉タイミングとする吸気バルブタイミング制御などが含まれる。目標空燃比としては、理論空燃比にエンジン２２の冷却水温Ｔｗによる補正や吸気温Ｔａによる補正などが施されたものとして求めることができる。図８に示すように、エンジン２２の回転数Ｎｅは、時間ｔ２０以降は徐々に大きくなるから、スロットルバルブ１２４を目標運転ポイントに対応するスロットル開度となるよう保持すれば、吸入空気量は回転数Ｎｅが大きくなるにしたがって大きくなる。目標空燃比はあまり変更されないから、吸入空気量が大きくなるにしたがって燃料噴射量も大きくなり、エンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊に至ったときにエンジン２２から目標トルクＴｅ＊が出力されるようになる。
【００３３】
こうしてエンジン２２の制御を開始すると、ステップＳ１３０，Ｓ１４０の処理と同様に、アクセルペダルポジションセンサ８４からのアクセル開度Ａｃｃや車速センサ８８からの車速Ｖ，モータＭＧ１，ＭＧ２の回転数Ｎｍ１，Ｎｍ２，エンジン２２の回転数Ｎｅ，バッテリ５０の入出力制限Ｗｉｎ，Ｗｏｕｔなど制御に必要なデータを入力すると共に（ステップＳ２６０）、入力したアクセル開度Ａｃｃと車速Ｖと図７の要求トルク設定用マップとに基づいて要求トルクＴｒ＊を設定する（ステップＳ２７０）。そして、始動確認タイミング以降の経過時間ｔ２に対するエンジン２２の出力応答が次式（４）で示されるむだ時間ｔｄを有する時定数ｔｃの一次遅れ（むだ時間一次遅れ系）であるとみなして始動確認タイミングからの経過時間ｔ２を代入して得られる値（Ｔｅ（ｔ２））をエンジン２２から出力が推定されるエンジン推定トルクＴｅｅｓｔとして設定し（ステップＳ２８０）、このエンジン推定トルクＴｅｅｓｔを式（５）に代入してモータＭＧ１のトルク指令Ｔｍ１＊を設定する際のフィードフォワード項ＦＦとして設定する（ステップＳ２９０）。ここで、むだ時間ｔｄは、図８では時間ｔ２０からエンジン推定トルクＴｅｅｓｔが値０から立ち上がる時間ｔ２１までの時間（ｔ２１−ｔ２０）であり、時定数ｔｃは、時間ｔ２１からエンジン推定トルクＴｅｅｓｔが目標トルクＴｅ＊に（１−１／ｅ）を乗じた値に至る時間ｔ２２までの時間（ｔ２２−ｔ２１）である。なお、「ｅ］は自然体数の底である。また、式（５）の右辺は、プラネタリギヤ３０の回転要素に対する力学的な関係式であり、フィードフォワード項ＦＦは、エンジン推定トルクＴｅｅｓｔがプラネタリギヤ３０のキャリアに入力されたときにサンギヤに配分されるトルクを打ち消すトルクとして計算される。
【００３４】
Te(t2)=Te*・[1-ｅ-(t2-td)/tc]  (4)
FF=-ρ/(1+ρ)・Teest    (5)
【００３５】
ステップＳ２４０で設定した適正制御回転数Ｎｅｉｄ（ｔ）に始動確認タイミングからの経過時間ｔ２を適用して経過時間ｔ２の適正制御回転数Ｎｅｉｄ（ｔ２）を計算し（ステップＳ３００）、適正制御回転数Ｎｅｉｄ（ｔ２）からエンジン２２の回転数Ｎｅを減じて差分回転数ΔＮｅ（ｔ２）を計算して記憶する（ステップＳ３１０）。差分回転数ΔＮｅ（ｔ２）を記憶するのは、後述するむだ時間ｔｄと時定数ｔｃを学習する際に用いるためである。続いて、差分回転数ΔＮｅ（ｔ２）を打ち消すためのフィードバック項ＦＢを次式（６）により設定し（ステップＳ３２０）、ステップＳ２９０で設定したフィードフォワード項ＦＦとフィードバック項ＦＢとの和としてモータＭＧ１のトルク指令Ｔｍ１＊を設定する（ステップＳ３３０）。ここで、式（６）の右辺第１項の「ｋ１」は比例項のゲインであり、右辺第２項の「ｋ２」は積分項のゲインである。
【００３６】
FB=k1・ΔNe(t2)+k2・∫ΔNe(t2) dt  (6)
【００３７】
そして、ステップＳ１９０，Ｓ２００と同様にトルク制限Ｔｍｉｎ，Ｔｍａｘと仮モータトルクＴｍ２ｔｍｐを計算すると共に（ステップＳ３４０，Ｓ３５０）、計算したトルク制限Ｔｍｉｎ，Ｔｍａｘで仮モータトルクＴｍ２ｔｍｐを制限した値をモータＭＧ２のトルク指令Ｔｍ２＊として設定し（ステップＳ３６０）、設定したモータＭＧ１，ＭＧ２のトルク指令Ｔｍ１＊，Ｔｍ２＊をモータＥＣＵ４０に送信し（ステップＳ３７０）、エンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊より所定値ｄＮだけ小さい値以上に至ったか否かを判定し（ステップＳ３８０）、エンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊より所定値ｄＮだけ小さい値以上に至っていないときにはステップＳ２６０のデータの入力処理に戻り、エンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊より所定値ｄＮだけ小さい値以上に至るまでステップＳ２６０〜Ｓ３８０の処理を繰り返す。ここで、所定値ｄＮは、比較的小さな値であり、例えば、２０ｒｐｍや３０ｒｐｍ，５０ｒｐｍなどを用いることができる。即ち、ステップＳ３８０の処理は、エンジン２２の回転数Ｎｅがほぼ目標回転数Ｎｅ＊に至ったか否かを判定するものとなる。ステップＳ３８０でエンジン２２の回転数Ｎｅが目標回転数Ｎｅ＊より所定値ｄＮだけ小さい値以上に至っていると判定されると、エンジン２２の始動時の制御を終了したと判断し、始動時制御ルーチンを終了する。
【００３８】
次に、むだ時間ｔｄと時定数ｔｃを学習する学習処理について図５を用いて説明する。上述したように、図５の学習処理ルーチンは、図３および図４の始動時制御ルーチンが終了したときに実行される。この学習処理ルーチンが実行されると、ＨＶＥＣＵ７０のＣＰＵは、まず、エンジン２２の完爆を確認した始動確認タイミングからエンジン２２の回転数Ｎｅがほぼ目標回転数Ｎｅ＊に至って図３および図４の始動時制御ルーチンを終了するまでにステップＳ２６０〜Ｓ３８０の処理を繰り返しているときにステップＳ３１０で計算した差分回転数ΔＮｅ（ｔ２）を読み込む処理を実行する（ステップＳ４００）。
【００３９】
続いて、読み込んだ差分回転数ΔＮｅ（ｔ２）のうち、始動確認タイミング（時間ｔ２０）からむだ時間ｔｄだけ経過した時間ｔ２１近傍で極大値または極小値が生じているときにはその極値をむだ時間用極値ΔＮｅ１として設定し（ステップＳ４１０）、始動確認タイミング（時間ｔ２０）からむだ時間ｔｄと時定数ｔｃとの和だけ経過した時間ｔ２２近傍で極大値または極小値が生じているときにはその極値を時定数用極値ΔＮｅ２として設定する（ステップＳ４２０）。
【００４０】
ここで、むだ時間ｔｄおよび時定数ｔｃと差分回転数ΔＮｅ（ｔ２）との関係について説明する。むだ時間ｔｄと時定数ｔｃが適正値である場合、エンジン２２の回転数Ｎｅの変化は、適正制御回転数Ｎｅｉｄ（ｔ２）の変化と同様となるため、差分回転数ΔＮｅ（ｔ２）は小さな値となり、極大値や極小値が生じてもその絶対値は小さなものとなる。このため、むだ時間用極値ΔＮｅ１や時定数用極値ΔＮｅ２にはその絶対値が小さな値が設定される。むだ時間ｔｄが適正値より小さい場合、むだ時間ｔｄが経過した時間ｔ２１以降であっても若干の時間はエンジン２２からトルクは出力されないが、むだ時間ｔｄが経過しているため、エンジン２２からトルクが出力されていると推定され、エンジン推定トルクＴｅｅｓｔは値０より大きな値が設定され、モータＭＧ１のトルク指令Ｔｍ１＊にはエンジン推定トルクＴｅｅｓｔを押さえ込む方向に作用するトルクが設定される。このため、エンジン２２の回転数Ｎｅは適正制御回転数Ｎｅｉｄ（ｔ２）に対してアンダーシュートすることになり、正の値の差分回転数ΔＮｅ（ｔ２）が計算される。図３および図４の始動時制御ルーチンのステップＳ３１０では差分回転数ΔＮｅ（ｔ２）が打ち消される方向に作用するフィードバック項ＦＢが設定されるから、差分回転数ΔＮｅ（ｔ２）はその絶対値が小さくなり、この結果、差分回転数ΔＮｅ（ｔ２）に極大値が生じるようになる。一方、むだ時間ｔｄが適正値より大きい場合、むだ時間ｔｄが経過した時間ｔ２１以前にエンジン２２からトルクが出力されるが、むだ時間ｔｄが経過していないため、エンジン２２からトルクが出力されていないと推定され、エンジン推定トルクＴｅｅｓｔは値０が設定され、モータＭＧ１のトルク指令Ｔｍ１＊にも値０が設定される。このため、エンジン２２の回転数Ｎｅは適正制御回転数Ｎｅｉｄ（ｔ２）に対してオーバーシュートすることになり、負の値の差分回転数ΔＮｅ（ｔ２）が計算される。始動時制御ルーチンのステップＳ３１０では差分回転数ΔＮｅ（ｔ２）が打ち消される方向に作用するフィードバック項ＦＢが設定されるため、差分回転数ΔＮｅ（ｔ２）はその絶対値が小さくなり、この結果、差分回転数ΔＮｅ（ｔ２）に極小値が生じるようになる。こうした極大値や極小値は、むだ時間ｔｄとその適正値との大小により生じるから、むだ時間ｔｄが経過した時間ｔ２１近傍に出現することになる。上述したように、むだ時間ｔｄが適正値であれば時間ｔ２１近傍に極大値や極小値は生じないから、実施例のステップＳ４１０の処理では、極大値や極小値が生じているときにはその極値をむだ時間用極値ΔＮｅ１として設定し、極大値や極小値が生じていないときにはむだ時間用極値ΔＮｅ１に値０を設定するものとした。
【００４１】
時定数ｔｃが適正値より小さい場合、エンジン２２から出力されるトルクの増加の程度よりエンジン推定トルクＴｅｅｓｔのトルクの増加の程度の方が大きくなるため、モータＭＧ１のトルク指令Ｔｍ１＊には適正な値より大きな値が設定される。このため、エンジン２２の回転数Ｎｅは適正制御回転数Ｎｅｉｄ（ｔ２）に対してアンダーシュートすることになり、正の値の差分回転数ΔＮｅ（ｔ２）が計算される。始動時制御ルーチンのステップＳ３１０では差分回転数ΔＮｅ（ｔ２）が打ち消される方向に作用するフィードバック項ＦＢが設定されるため、差分回転数ΔＮｅ（ｔ２）はその絶対値が小さくなり、この結果、差分回転数ΔＮｅ（ｔ２）に極大値が生じるようになる。一方、時定数ｔｃが適正値より大きい場合、エンジン２２から出力されるトルクの増加の程度よりエンジン推定トルクＴｅｅｓｔのトルクの増加の程度の方が小さくなるため、モータＭＧ１のトルク指令Ｔｍ１＊には適正な値より小さな値が設定される。このため、エンジン２２の回転数Ｎｅは適正制御回転数Ｎｅｉｄ（ｔ２）に対してオーバーシュートすることになり、負の値の差分回転数ΔＮｅ（ｔ２）が計算される。始動時制御ルーチンのステップＳ３１０では差分回転数ΔＮｅ（ｔ２）が打ち消される方向に作用するフィードバック項ＦＢが設定されるため、差分回転数ΔＮｅ（ｔ２）はその絶対値が小さくなり、この結果、差分回転数ΔＮｅ（ｔ２）に極大値が生じるようになる。こうした極大値や極小値は、時定数ｔｃとその適正値との大小により生じるから、時定数ｔｃが経過した時間ｔ２２近傍に出現することになる。上述したように、時定数ｔｃが適正値であれば時間ｔ２２近傍に極大値や極小値は生じないから、実施例のステップＳ４２０の処理では、極大値や極小値が生じているときにはその極値を時定数用極値ΔＮｅ２として設定し、極大値や極小値が生じていないときには時定数用極値ΔＮｅ２に値０を設定するものとした。なお、図８のエンジン回転数Ｎｅには、説明のために、むだ時間ｔｄが適正値より若干小さく、時定数ｔｃが適正値より若干大きい場合を一点鎖線として示した。
【００４２】
むだ時間用極値ΔＮｅ１と時定数用極値ΔＮｅ２とを設定すると、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲内にあるか否かを判定する（ステップＳ４３０）。ここで、閾値ｄＮｅ１と閾値ｄＮｅ２は、むだ時間ｔｄが適正値から許容される範囲を差分回転数としたときの負側の範囲の下限値と正側の範囲の上限値であり、閾値ｄＮｅ１と閾値ｄＮｅ２としては、その絶対値が同じものを用いるものとしてもよい。むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲内となるときには、むだ時間ｔｄは適正値から許容範囲内であると判断してむだ時間ｔｄの更新は行なわず、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲外となるときには、むだ時間ｔｄは適正値から許容範囲外であると判断して、むだ時間用極値ΔＮｅ１に係数ｋｄを乗じたものをそれまで用いていたむだ時間ｔｄから減じて新たなむだ時間ｔｄとして更新する（ステップＳ４４０）。
【００４３】
続いて、時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲内にあるか否かを判定する（ステップＳ４５０）。ここで、閾値ｄＮｅ３と閾値ｄＮｅ４は、時定数ｔｃが適正値から許容される範囲を差分回転数ΔＮｅ（ｔ２）としたときの負側の範囲の下限値と正側の範囲の上限値であり、閾値ｄＮｅ３と閾値ｄＮｅ４としては、その絶対値が同じものを用いるものとしてもよい。時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲内となるときには、時定数ｔｃは適正値から許容範囲内であると判断して学習処理を終了し、時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲外となるときには、時定数ｔｃは適正値から許容範囲外であると判断して、時定数用極値ΔＮｅ２に係数ｋｃを乗じたものをそれまで用いていた時定数ｔｃから減じて新たな時定数ｔｃとして更新して（ステップＳ４６０）、学習処理を終了する。
【００４４】
以上説明した実施例のハイブリッド自動車２０によれば、エンジン２２の始動を確認した始動確認タイミングからエンジン２２が目標運転ポイントで運転されるまではエンジン２２の出力応答がむだ時間ｔｄを有する時定数ｔｃの一次遅れであるとみなしてエンジン２２から出力が推定されるエンジン推定トルクＴｅｅｓｔに基づいてモータＭＧ１のトルク指令Ｔｍ１＊を設定してモータＭＧ１とエンジン２２を制御する際に用いるむだ時間ｔｄと時定数ｔｃを、エンジン２２の出力応答がむだ時間ｔｄを有する時定数ｔｃの一次遅れであるとみなして適正にモータＭＧ１とエンジン２２とが制御されたと仮定したときのエンジン２２の回転数の時間変化としての適正制御回転数Ｎｅｉｄ（ｔ２）とエンジン２２の回転数Ｎｅとの差分としての差分回転数ΔＮｅ（ｔ２）の始動確認タイミング（時間ｔ２０）からむだ時間ｔｄが経過した時間ｔ２１近傍に生じ得る極大値または極小値に基づいてむだ時間ｔｄを学習し、差分回転数ΔＮｅ（ｔ２）の始動確認タイミング（時間ｔ２０）からむだ時間ｔｄと時定数ｔｃが経過した時間ｔ２２近傍に生じ得る極大値または極小値に基づいて時定数ｔｃを学習することにより、始動時のエンジン２２の回転数Ｎｅを失速させたり、エンジン２２を吹き上がらせたりすることなく、エンジン２２を目標運転ポイントに至らせることができる。しかも、むだ時間用極値ΔＮｅ１や時定数用極値ΔＮｅ２に係数ｋｄや係数ｋｃを乗じた値だけむだ時間ｔｄや時定数ｔｃを変更することによりむだ時間ｔｄと時定数ｔｃを更新するから、より適正なむだ時間ｔｄと時定数ｔｃを用いてエンジン２２の始動時の制御を行なうことができる。また、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とからなる範囲外のときにだけむだ時間ｔｄを更新すると共に時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とからなる範囲外のときにだけ時定数ｔｃを更新するから、頻繁な更新を抑制することができる。
【００４５】
実施例のハイブリッド自動車２０では、むだ時間ｔｄや時定数ｔｃを学習する際に、むだ時間用極値ΔＮｅ１に係数ｋｄを乗じた値だけむだ時間ｔｄを変更すると共に時定数用極値ΔＮｅ２に係数ｋｃを乗じた値だけ時定数ｔｃを変更することにより更新するものとしたが、むだ時間ｔｄも時定数ｔｃも所定量だけ変更することにより更新するものとしてもよい。この場合、図５の学習処理ルーチンに代えて図９の学習処理ルーチンを実行すればよい。図９の学習処理ルーチンでは、差分回転数ΔＮｅ（ｔ２）を入力すると共に（ステップＳ４００）、むだ時間用極値ΔＮｅ１と時定数用極値ΔＮｅ２とを設定し（ステップＳ４１０，Ｓ４２０）、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲内にあるか否かを判定し（ステップＳ４３０）、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲内となるときには、むだ時間ｔｄは適正値から許容範囲内であると判断してむだ時間ｔｄの更新は行なわず、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲外となるときには、むだ時間用極値ΔＮｅ１の符号を調べ（ステップＳ４４２）、むだ時間用極値ΔＮｅ１が正の値のときには、むだ時間ｔｄから所定値Δｔｄだけ減じた値を新たなむだ時間ｔｄとして更新し（ステップＳ４４４）、むだ時間用極値ΔＮｅ１が負の値のときには、むだ時間ｔｄに所定値Δｔｄを加えた値を新たなむだ時間ｔｄとして更新する（ステップＳ４４６）。所定値Δｔｄは、むだ時間ｔｄを若干変更する程度の値を用いることができる。そして、時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲内にあるか否かを判定し（ステップＳ４５０）、時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲内となるときには、時定数ｔｃは適正値から許容範囲内であると判断して時定数ｔｃの更新は行なわずに学習処理を終了し、時定数用極値ΔＮｅ２が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲外となるときには、時定数用極値ΔＮｅ２の符号を調べ（ステップＳ４６２）、時定数用極値ΔＮｅ２が正の値のときには、時定数ｔｃから所定値Δｔｃだけ減じた値を新たな時定数ｔｃとして更新して（ステップＳ４６４）、学習処理を終了し、時定数用極値ΔＮｅ２が負の値のときには、時定数ｔｃに所定値Δｔｃを加えた値を新たな時定数ｔｃとして更新して（ステップＳ４６６）、学習処理を終了する。所定値Δｔｃは、時定数ｔｃを若干変更する程度の値を用いることができる。このようにしても、実施例と同様の効果を奏することができる。
【００４６】
実施例のハイブリッド自動車２０では、むだ時間ｔｄや時定数ｔｃを学習する際に、むだ時間用極値ΔＮｅ１に係数ｋｄを乗じた値だけむだ時間ｔｄを変更すると共に時定数用極値ΔＮｅ２に係数ｋｃを乗じた値だけ時定数ｔｃを変更することにより更新するものとしたが、空気量負荷率ＫＬを用いてむだ時間ｔｄと時定数ｔｃとを学習するものとしてもよい。この場合の学習処理ルーチンを図１０に示す。この図１０の学習処理ルーチンは、図３および図４の始動時制御ルーチンが実行が開始されたときに始動時制御ルーチンと並列に実行される。この学習処理ルーチンでは、ＨＶＥＣＵ７０のＣＰＵは、まず、始動時制御ルーチンが終了するまで空気量負荷率ＫＬ（ｎ）を繰り返し入力する処理を実行し（ステップＳ５００，Ｓ５１０）、差分回転数ΔＮｅ（ｔ２）を入力すると共に（ステップＳ５２０）、むだ時間用極値ΔＮｅ１と時定数用極値ΔＮｅ２とを設定し（ステップＳ５３０，Ｓ５４０）、むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲内にあるか否かを判定すると共に（ステップＳ５５０）、時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲内にあるか否かを判定する（ステップＳ５６０）。むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲内にあり且つ時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲内にあるときには、むだ時間ｔｄも時定数ｔｃも適正値から許容範囲内であると判断し、むだ時間ｔｄや時定数ｔｃの更新を行なうことなく学習処理を終了する。むだ時間用極値ΔＮｅ１が閾値ｄＮｅ１と閾値ｄＮｅ２とによる範囲外にあるか、あるいは、時定数用極値ΔＮｅ２が閾値ｄＮｅ３と閾値ｄＮｅ４とによる範囲外にあるときには、むだ時間ｔｄと時定数ｔｃのうち少なくとも一方が適正値から許容範囲外であると判断し、ステップＳ５７０〜Ｓ６２０の空気量負荷率ＫＬ（ｎ）に基づくむだ時間ｔｄと時定数ｔｃの更新を行なう。
【００４７】
この更新処理は、まず、空気量負荷率ＫＬ（ｎ）からその直前の空気量負荷率ＫＬ（ｎ−１）を減じて負荷率変化量ΔＫＬ（ｎ）を計算し（ステップＳ５７０）、負荷率変化量ΔＫＬ（ｎ）のうち始動確認タイミング（時間ｔ２０）以降で負荷率変化量ΔＫＬが閾値ＫＬｒｅｆより大きくなる時間ｔ２ｐを求め（ステップＳ５８０）、時間ｔ２ｐから時間ｔ２０を減じた値としてむだ時間ｔｄを更新する（ステップＳ５９０）。ここで、閾値ＫＬｒｅｆは、空気量負荷率ＫＬの急増を判定するためのものであり、実験などにより定めることができる。図１１に始動時のモータＭＧ１のトルク指令Ｔｍ１＊とエンジン２２の回転数Ｎｅとエンジン推定トルクＴｅｅｓｔと空気量負荷率ＫＬの時間変化の一例を示す。このように、むだ時間ｔｄを空気量負荷率ＫＬが急増するまでの時間として考えることができるのは、エンジン２２からトルクが出力されると空気量負荷率ＫＬが急増することに基づく。そして、エンジン２２を目標回転数Ｎｅ＊と目標トルクＴｅ＊とからなる目標運転ポイントで運転したときの目標空気量負荷率ＫＬ＊を設定し（ステップＳ６００）、空気量負荷率ＫＬ（ｎ）のうちＫＬ＊・（１−１／ｅ）となる空気量負荷率ＫＬが出現する時間ｔ２ｑを求め（ステップＳ６１０）、時間ｔ２ｑから時間ｔ２ｐを減じた値として時定数ｔｃを更新し（ステップＳ６２０）、学習処理を終了する。ここで、「ｅ」は自然対数の底である。空気量負荷率ＫＬの変化はエンジン２２の出力応答と考えることができるから、時定数の定義から、むだ時間ｔｄを経過したときから空気量負荷率ＫＬが目標空気量負荷率ＫＬ＊の（１−１／ｅ）×１００％の値に達するまでの時間を時定数ｔｃとすることができる。
【００４８】
こうした空気量負荷率ＫＬを用いてむだ時間ｔｄと時定数ｔｃを学習する態様のハイブリッド自動車でも実施例のハイブリッド自動車２０と同様に、むだ時間ｔｄと時定数ｔｃとを学習することにより、始動時のエンジン２２の回転数Ｎｅを失速させたり、エンジン２２を吹き上がらせたりすることなく、エンジン２２を目標運転ポイントに至らせることができるという効果を奏することができる。
【００４９】
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、エンジン２２が「エンジン」に相当し、モータＭＧ１が「第１モータ」に相当し、プラネタリギヤ３０が「プラネタリギヤ」に相当し、モータＭＧ２が「第２モータ」に相当し、クランクポジションセンサ１４０からの信号に基づいて回転数Ｎｅを演算するエンジンＥＣＵ２４が「回転数検出手段」に相当し、図３および図４の始動時制御ルーチンや図５の学習処理ルーチンを実行するＨＶＥＣＵ７０とＨＶＥＣＵ７０からのトルク指令Ｔｍ１＊，Ｔｍ２＊を受信してモータＭＧ１，ＭＧ２を駆動制御するモータＥＣＵ４０とＨＶＥＣＵ７０からの目標回転数Ｎｅ＊や目標トルクＴｅ＊，制御信号を受信してエンジン２２の吸入空気量制御や燃料噴射制御，点火制御，吸気バルブタイミング制御などを行なう２４とが「制御手段」に相当する。
【００５０】
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
【００５１】
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【００５２】
本発明は、ハイブリッド車の製造産業などに利用可能である。
【符号の説明】
【００５３】
２０  ハイブリッド自動車、２２  エンジン、２４  エンジン用電子制御ユニット（エンジンＥＣＵ）、２４ａ  ＣＰＵ、２４ｂ  ＲＯＭ、２４ｃ  ＲＡＭ、２６  クランクシャフト、２８  ダンパ、３０  プラネタリギヤ、３６  駆動軸、３７  デファレンシャルギヤ、３８ａ，３８ｂ  駆動輪、４０  モータ用電子制御ユニット（モータＥＣＵ）、４１，４２  インバータ、４３，４４  回転位置検出センサ、５０  バッテリ、５１  温度センサ、５２  バッテリ用電子制御ユニット（バッテリＥＣＵ）、７０  ハイブリッド用電子制御ユニット（ＨＶＥＣＵ）、８０  イグニッションスイッチ、８１  シフトレバー、８２  シフトポジションセンサ、８３  アクセルペダル、８４  アクセルペダルポジションセンサ、８５  ブレーキペダル、８６  ブレーキペダルポジションセンサ、８８  車速センサ、１２２  エアクリーナ、１２４  スロットルバルブ、１２６  燃料噴射弁、１２８  吸気バルブ、１３０  点火プラグ、１３２  ピストン、１３４  浄化装置、１３５ａ  空燃比センサ、１３５ｂ  酸素センサ、１３６  スロットルモータ、１３８  イグニッションコイル、１４０  クランクポジションセンサ、１４２  水温センサ、１４３  圧力センサ、１４４  カムポジションセンサ、１４６  スロットルバルブポジションセンサ、１４８  エアフローメータ、１４９  温度センサ、１５０  可変バルブタイミング機構、ＭＧ１，ＭＧ２  モータ。
【図１】
2013136335.tif 000003
【図２】
2013136335.tif 000004
【図３】
2013136335.tif 000005
【図４】
2013136335.tif 000006
【図５】
2013136335.tif 000007
【図６】
2013136335.tif 000008
【図７】
2013136335.tif 000009
【図８】
2013136335.tif 000010
【図９】
2013136335.tif 000011
【図１０】
2013136335.tif 000012
【図１１】
2013136335.tif 000013