"駆動軸に動力を出力する動力出力装置であって、前記駆動軸に動力を出力可能な内燃機関と、前記駆動軸に動力を出力可能な電動機と、前記内燃機関を始動させるためのクランキングを実行可能な電動クランキング手段と、前記内燃機関の運転が停止されている状態から前記内燃機関を始動する際に、前記電動クランキング手段による前記内燃機関のクランキングに伴って前記駆動軸に作用する反力トルクがキャンセルされるように前記電動機を制御する制御手段であって、前記クランキング時のクランク位置が上死点の所定範囲内であり、かつ、前記内燃機関の回転数が所定の共振周波数帯の所定範囲内となる時点における前記内燃機関の回転数と前記時点からの経過時間を用いて前記電動機を制御する制御手段と、を備えることを特徴とする動力出力装置。請求項1記載の動力出力装置において、前記制御手段は、前記内燃機関の回転数と前記経過時間を用いて、前記クランキング時の前記上死点通過前後における前記反力トルクの脈動分を用いて前記電動機を制御することを特徴とする動力出力装置。請求項2記載の動力出力装置において、前記制御手段は、予め設定され記憶されている前記内燃機関の回転数と前記経過時間と前記脈動分との関係を用いて前記脈動分を取得することを特徴とする動力出力装置。請求項2記載の動力出力装置において、前記制御手段は、所定トルクに前記脈動分を加えて前記反力トルクとし、前記駆動軸に対する要求トルクに応じた前記電動機のトルクから前記反力トルクを減じたトルクで前記電動機を制御することを特徴とする動力出力装置。ところで、エンジンのクランキングに伴って駆動軸に反力として作用するトルクをキャンセルする場合、当該反力としてのトルクを正確に評価する必要があるところ、反力としてのトルクはエンジンのクランキング時において上死点TDCの乗り越えに伴って脈動するため、吸気圧や吸気温、スロットル開度等の動作パラメータに基づいて設定するだけでは必ずしも十分といえない問題がある。本発明の目的は、内燃機関の始動時に駆動軸に反力として作用するトルクをより高精度に評価してこれをキャンセルし、もって内燃機関の始動時に生じるトルクショックを抑制できる装置を提供することにある。本発明は、駆動軸に動力を出力する動力出力装置であって、前記駆動軸に動力を出力可能な内燃機関と、前記駆動軸に動力を出力可能な電動機と、前記内燃機関を始動させるためのクランキングを実行可能な電動クランキング手段と、前記内燃機関の運転が停止されている状態から前記内燃機関を始動する際に、前記電動クランキング手段による前記内燃機関のクランキングに伴って前記駆動軸に作用する反力トルクがキャンセルされるように前記電動機を制御する制御手段であって、前記クランキング時のクランク位置が上死点の所定範囲内であり、かつ、前記内燃機関の回転数が所定の共振周波数帯の所定範囲内となる時点における前記内燃機関の回転数と前記時点からの経過時間を用いて前記電動機を制御する制御手段とを備えることを特徴とする。電動クランキング手段によって内燃機関をクランキングする際に生じる反力トルクは一定ではなく、内燃機関の上死点TDCの前後においてその大きさが変化するため脈動する。そこで、本発明では、内燃機関のクランキング時のクランク位置が上死点の所定範囲内である場合に着目し、その時点における内燃機関の回転数とその時点からの経過時間を用いてクランキングに伴う反力トルクを推定ないし予測し、この反力トルクをキャンセルするように電動機を制御する。そして、クランキングに伴う反力トルクは、内燃機関のクランクシャフトの共振周波数帯の所定範囲内において駆動軸に伝達されるから、本発明は、内燃機関のクランキング時のクランク位置が上死点の所定範囲内であり、かつ、内燃機関の回転数がクランクシャフトの共振周波数帯の所定範囲内にある場合に着目し、その時点における内燃機関の回転数とその時点からの経過時間を用いて電動機を制御する。本発明の1つの実施形態では、前記制御手段は、前記内燃機関の回転数と前記経過時間を用いて、前記クランキング時の前記上死点通過前後における前記反力トルクの脈動分を用いて前記電動機を制御する。また、本発明の他の実施形態では、前記制御手段は、予め設定され記憶されている前記内燃機関の回転数と前記経過時間と前記脈動分との関係を用いて前記脈動分を取得する。また、本発明の他の実施形態では、前記制御手段は、所定トルクに前記脈動分を加えて前記反力トルクとし、前記駆動軸に対する要求トルクに応じた前記電動機のトルクから前記反力トルクを減じたトルクで前記電動機を制御する。本発明の動力出力装置は、例えばハイブリッド自動車に搭載してもよい。また、本発明の動力出力装置における電動機は、いわゆるモータジェネレータMGで構成することができる。また、本発明の動力出力装置における電動クランキング手段は、電動機と同様にいわゆるモータジェネレータMGで構成することができる。本発明によれば、内燃機関のクランキング時に伴う反力トルクを電動機を用いて高精度にキャンセルすることができ、内燃機関のクランキングに伴うトルクショックを効果的に抑制できる。以下、図面に基づき本発明の実施形態について説明する。図1に、本実施形態における動力出力装置を搭載したハイブリッド自動車20の構成を示す。ハイブリッド自動車20は、エンジン22と、エンジン22の出力軸としてのクランクシャフト26にフライホイールダンパ28を介して接続された3軸式の動力分配統合機構30と、動力分配統合機構30に接続された発電可能なモータMG1と、動力分配統合機構30に接続された駆動軸としてのリングギヤ軸32aに取り付けられた減速ギヤあるいはリアプラネタリギヤ35と、減速ギヤ35に接続されたモータMG2と、動力出力装置全体を制御するハイブリッド用電子制御ユニットECU70を備える。エンジン22は、ガソリン等の燃料により動力を出力する内燃機関であり、エンジン22の運転状態を検出する各種センサから信号が供給されるエンジンECU24により制御される。エンジンECU24には、クランクシャフト26に取り付けられたクランクポジションセンサ23aからのクランク角θや吸気系に取り付けられた吸気温センサ23bからの吸気温Ta、負圧検出センサ23cからの吸気圧Va、スロットルポジションセンサ23eからのスロットルバルブ23dの開度、エンジン22の冷却系に取り付けられた冷却水温度センサ23fからの冷却水温Tw等が供給される。エンジンECU24は、ハイブリッドECU70と通信し、ハイブリッドECU70からの制御信号によりエンジン22を運転制御するとともに、必要に応じてエンジン22の運転状態に関するデータをハイブリッドECU70に出力する。動力分配統合機構30は、外歯歯車のサンギヤ31と、サンギヤ31と同心円上に配置された内歯歯車のリングギヤ32と、サンギヤ31に噛合するとともにリングギヤ32に噛合する複数のピニオンギヤ33と、複数のピニオンギヤ33を自転かつ公転自在に保持するキャリア34を備え、サンギヤ31とリングギヤ32とキャリア34を回転要素として差動作用を行う遊星歯車機構プラネタリギヤとして構成される。動力分配統合機構30は、キャリア34にはエンジン22のクランクシャフト26が連結され、サンギヤ31にはモータMG1が連結され、リングギヤ32にはリングギヤ軸32aを介して減速ギヤ35が連結される。モータMG1が発電機として機能する場合にはキャリア34から入力されるエンジン22からの動力をサンギヤ31側とリングギヤ32側にそのギヤ比に応じて分配し、モータMG1が電動機として機能する場合にはキャリア34から入力されるエンジン22からの動力とサンギヤ31から入力されるモータMG1からの動力を統合してリングギヤ32側に出力する。リングギヤ32に出力された動力は、リングギヤ軸32aからギヤ機構60及びデファレンシャルギヤ62を介して車両の駆動輪63a,63bに出力される。モータMG1,MG2は、発電機として機能するとともに電動機として機能し得る同期式発電電動機であり、インバータ41,42を介してバッテリ50と電力を送受する。インバータ41,42とバッテリ50を接続する電力ライン54は、各インバータ41,42が共用する正極母線及び負極母線として構成され、モータMG1,MG2のいずれかで発電される電力を他方のモータで消費することができる。バッテリ50は、モータMG1,MG2のいずれかから生じた電力や不足する電力により充放電される。モータMG1,MG2により電力収支のバランスをとるものとすれば、バッテリ50は充放電されない。モータMG1,MG2は、いずれもモータECU40により駆動制御される。モータECU40には、モータMG1,MG2を駆動制御するために必要な信号、例えばモータMG1,MG2の回転子の回転位置を検出する回転位置検出センサ43,44からの信号や電流センサにより検出されるモータMG1,MG2に印加される電流等が供給され、モータECU40は、インバータ41,42にスイッチング制御信号を出力する。モータECU40は、ハイブリッドECU70と通信し、ハイブリッドECU70からの制御信号によりモータMG1,MG2を駆動制御するとともに、必要に応じてモータMG1,MG2の運転状態に関するデータをハイブリッドECU70に出力する。バッテリ50は、バッテリECU52により制御される。バッテリECU52には、バッテリ50を制御するために必要な信号、例えばバッテリ50の端子間に取り付けられた電圧センサからの端子間電圧、バッテリ50の出力端子に接続された電力ライン54に取り付けられた電流センサからの充放電電流、バッテリ50に取り付けられた温度センサ51からの電池温度Tb等が供給され、必要に応じてバッテリ50の状態に関するデータをハイブリッドECU70に出力する。また、バッテリECU52は、バッテリ50の充放電を制御するために電流センサにより検出された充放電電流の積算値に基づいて残容量SOCを演算する。ハイブリッドECU70は、CPU72を含むマイクロプロセッサとして構成され、CPU72の他に処理プログラムを記憶するROM74と、データを一時的に記憶するRAM76と、入出力ポート及び通信ポートを備える。ハイブリッドECU70には、イグニッションスイッチ80からのイグニッション信号、シフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSP、アクセルペダル83の踏込量を検出するアクセルペダルポジションセンサ84からのアクセル開度Acc、ブレーキペダル85の踏込量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP、車速センサ88からの車速V等が入力ポートを介して供給される。ハイブリッドECU70は、エンジンECU24,モータECU40,バッテリECU52と通信ポートを介して接続され、エンジンECU24,モータECU40,バッテリECU52と各種制御信号やデータを送受する。ハイブリッド自動車20は、運転者によるアクセルペダル83の踏込量に対応するアクセル開度Accと車速Vに基づいて駆動軸としてのリングギヤ軸32aに出力すべき要求トルクを演算し、要求トルクに対応する要求動力がリングギヤ軸32aに出力されるように、エンジン22とモータMG1とモータMG2を制御する。具体的には、要求動力に見合う動力がエンジン22から出力されるようにエンジン22を運転制御するとともにエンジン22から出力される動力の全てが動力分配統合機構30とモータMG1とモータMG2によってトルク変換されてリングギヤ軸32aに出力されるようにモータMG1,MG2を駆動制御するモード、要求電力とバッテリ50の充放電に必要な電力の和に見合う動力がエンジン22から出力されるようにエンジン22を運転制御するとともにバッテリ50の充放電を伴ってエンジン22から出力される動力の全部またはその一部が動力分配統合機構30とモータMG1とモータMG2によるトルク変換を伴って要求動力がリングギヤ軸32aに出力されるようにモータMG1,MG2を制御するモード、エンジン22の運転を停止してモータMG2からの要求電力に見合う動力をリングギヤ軸32aに出力するように制御するモード等がある。このような構成において、次に、運転停止しているエンジン22を始動する際の動作について説明する。図2に、図1における構成のうち動力出力装置の要部構成を示す。エンジン22のクランクシャフト26にはフライホイールダンパ28を介してキャリア34が連結され、キャリア34が保持するピニオンギヤにはサンギヤ31及びリングギヤ32が噛合する。サンギヤ31にはモータMG1が連結され、リングギヤ32にはリングギヤ軸を介して減速ギヤ35が連結され、減速ギヤ35にはモータMG2が連結される。電動クランキング手段として機能するモータMG1のトルクTgによりエンジン22をクランキングしてエンジン22を始動する場合、エンジン22の上死点TDC乗り越えに伴い反力トルクが脈動する。図において、反力トルクの脈動100が回転矢印で示される。この反力トルクの脈動は、キャリア34を介してリングギヤ32に伝達され、トルクショックを生じる。そこで、この反力トルクの脈動を推定し、これをキャンセルするような振動抑制成分をモータMG2が出力するようにモータMG2へのトルク指令を生成する。図3に、エンジン22のクランク角θと反力トルクとの関係を示す。エンジン22が4サイクルの多気筒のエンジンである場合のいずれかの気筒に着目すると、エンジン22をクランキングすると、着目している気筒は吸気圧縮膨張排気の4つの工程を繰り返す。気筒内の圧力は圧縮工程で高くなり膨張工程で低くなる。気筒内の圧力変化は、ピストンを介してクランクシャフト26に反力トルクとして作用する。吸気工程や排気工程でも気筒内に若干の圧力変化が生じるが、圧縮工程や膨張工程に比して小さく無視し得る。クランクシャフト26に作用する反力トルクは、動力分配統合機構30を介して駆動軸としてのリングギヤ軸32aに伝達されるから、気筒内の圧力変化に基づくトルク脈動としてリングギヤ軸32aに現れる。気筒内の圧力変化に基づいてリングギヤ軸32aに作用する反力トルクは、対象の気筒が圧縮工程である下死点BDCから上死点TDCまでの範囲はエンジン22の回転を抑制する方向に作用し、膨張工程のTDCからBDCまでの範囲ではエンジン22の回転を促進する方向に作用する。従って、このような反力トルクの脈動をキャンセルするためには、圧縮工程のBDCからTDCまでの範囲、すなわちTDCの通過前ではエンジン22の回転を促進する方向のトルクをモータMG2で印加し、膨張工程のTDCからBDCまでの範囲、すなわちTDCの通過後ではエンジン22の回転を抑制する方向のトルクをモータMG2で印加すればよいことになる。多気筒のエンジン22では、このような一気筒におけるトルクを気筒分だけ重ね合わせることによりリングギヤ軸32aに作用させるべきトルクを得ることができる。図4に、エンジン22をクランキングして始動させるときの動力分配統合機構30の回転要素サンギヤ31、リングギヤ32及びキャリア34についての回転数とトルクとの力学的関係を表す共線図を示す。図4aは上死点TDC通過前の共線図であり、図4bは上死点TDC通過後の共線図である。図4aに示すように、TDC通過前は、圧縮反力がキャリア34の軸に出力され、エンジン22の回転数は上昇しにくく、モータMG1のトルクTgの分配先のうち、慣性項、つまりモータMG1の回転子の質量マスに基づく慣性分の割合が低下し、リングギヤ32のリングギヤ軸32aでの直行トルクの絶対値は大きくなる。図において、リング軸上にはモータMG1のトルクTgによる反力-1/ρTgが下向き矢印で示されており、直行トルク分がハッチングで示されている。ここで、ρは動力分配統合機構30のギヤ比である。一方、図4bに示すように、TDC通過後は、膨張反力がキャリア34の軸に出力され、膨張反力が作用するためエンジン22の回転数は上昇しやすく、モータMG1のトルクTgの分配先のうち、モータMG1の慣性項の割合が相対的に増大し、リングギヤ32のリングギヤ軸32aでの直行トルクの絶対値は小さくなる。図4a、bを比較すると、反力トルク-1/ρTgのうち、直行トルク分が図4aよりも図4bの方が相対的に小さくなっていることに留意されたい。このように、TDCの通過前後において、直行トルクの大きさ絶対値は大小変化するため脈動することになる。本実施形態では、直行トルクの脈動分は、クランキング時の圧縮脈動に起因し、圧縮脈動はクランク角あるいは燃焼室内の空気の圧縮度合に依存してTDCの通過前後で反転することを考慮し、さらに、フライホイールダンパ28を介してエンジン22のクランクシャフト26とキャリア34が連結されているから直行トルク脈動の駆動軸への伝達は共振周波数帯共振回転数帯近傍のエンジン回転数で生じることも考慮して、以下のように直行トルクの脈動分を推定する。すなわち、エンジン22のクランク位置がTDC近傍であり、かつエンジン22の回転数が共振周波数帯近傍である場合に脈動分の推定を開始するものとし、この推定開始タイミングにおけるエンジン22の回転数を取得する。また、この推定開始タイミングからの経過時間をタイマで計測する。そして、推定開始タイミングにおけるエンジン回転数と、推定開始タイミングからの経過時間を用いてその時点における直行トルクの脈動分を推定する。具体的には、予め種々のエンジン回転数と経過時間における直行トルク脈動分を実験等により求めておき、マップとしてROM74に記憶しておく。そして、取得したエンジン回転数と経過時間に応じた直行トルク脈動分をマップから読み出せばよい。推定した直行トルク脈動分は仮の直行トルク推定値と加算されて直行トルク推定値として演算され、モータMG2のトルク指令から減じることで最終的なトルク指令が生成される。図5に、ハイブリッドECU70におけるモータMG2のトルク指令生成処理を模式的に示す。ハイブリッドECU70は、エンジン22のクランク角が所定範囲内であるためTDC近傍であると判定でき、かつ、エンジン22の回転数Neが所定範囲内であるため共振周波数帯近傍であると判定できた場合に、脈動分の推定を開始し、このときのエンジン回転数Neと推定開始からの経過時間、並びに予めROM74に記憶されているマップを用いて、エンジン回転数Neと経過時間に対応する直行トルクの脈動分の推定値を導出する。一方、ハイブリッドECU70は、既述した特開2005-30281号公報と同様に、吸気圧や吸気温、スロットル開度に応じた直行トルクを推定する。この直行トルク推定値は、特開2005-30281号公報における補正トルクTαに相当するものであり、エンジン22の吸気圧等の動作パラメータとの関係を予め実験により求め、マップとしてROM74に記憶されるものである。あるいは、簡易的に1/ρTgとしてもよい。モータMG1のトルクTgは、エンジン22を始動する際のモータMG1のトルク指令とエンジン22の回転数との予め設定された関係から決定され、具体的にはエンジン22の回転数とクランク角に基づいて決定される。そして、推定した直行トルクに、導出した直行トルクの脈動分を加算して最終的な直行トルク推定値とする。以上のようにして直行トルク推定値を演算すると、要求トルクを満たすために必要なモータMG2のトルク指令から直行トルク推定値を減じることで最終的なモータMG2のトルク指令Tm2として出力する。なお、要求トルクを満たすために必要なモータMG2のトルク指令Tm2tmpは、具体的には要求トルクTrとモータMG1のトルク指令Tm1と動力分配統合機構30のギヤ比ρから、Tm2tmp=TrTm1/ρGrにより演算される。ここで、Grは減速ギヤ35のギヤ比である。言うまでもないが、モータMG2のトルクは、バッテリ50の入出力制限Win、Woutの範囲内に制限されるから、例えばモータMG2のトルク指令Tm2tmpがバッテリの出力制限Woutから定まるトルク上限値Tmaxを超える場合には、モータMG2のトルク指令値はTmaxに制限され、この制限値に対して直行トルク推定値を減じることで最終的なモータMG2のトルク指令Tm2が生成される。図6に、ハイブリッドECU70のROM74に記憶されるマップ、すなわちエンジン22の回転数と推定開始タイミングからの経過時間と直行トルクの脈動分との関係を規定するマップの一例を示す。図において、横軸は推定開始タイミングからの経過時間msecであり、縦軸は直行トルク脈動分Nmであり、種々のエンジン22の回転数における値を示す。もちろん、図ではグラフの形式でマップを示しているが、エンジン回転数、経過時間、脈動分を組としたテーブル形式としてもよい。なお、以上の説明から理解されるように、直行トルク推定値は、エンジン22の吸気圧等の動作パラメータと直行トルク推定値との関係を規定するマップにより導出され、直行トルク脈動推定値は、エンジン22の回転数と経過時間と直行トルク脈動推定値との関係を規定するマップにより導出されるから、エンジン22の吸気圧等の動作パラメータとエンジン22の回転数と経過時間と最終的な直行トルク推定値との関係をマップあるいはテーブルとして規定しておき、このマップあるいはテーブルを用いて直接的に最終的な直行トルク推定値を導出することも可能であろう。図7に、本実施形態におけるハイブリッドECU70により実行されるエンジン始動時制御ルーチンのフローチャートを示す。このルーチンは、エンジン22の始動指示がなされたときに実行される。まず、ハイブリッドECU70は、エンジン22の始動処理中であるか否かを判定するS101。エンジン22の始動処理中でない場合には、推定開始判定フラグをOFFにデフォルト設定するS106。一方、エンジン22の始動処理中である場合には、次に、エンジン22図では簡易的にエンジン22をENGと略記するのクランク角が所定範囲内であるためTDC近傍であり、かつ、エンジン回転数が所定範囲内であるため共振周波数帯近傍であり、かつ、推定開始判定フラグがOFFのままであるか否かを判定するS102。ここで、クランク角がTDC近傍であるか否かを判定するための閾値である所定範囲は適宜設定することができ、例えばTDCに対してクランク角5度°CAあるいはクランク角10度°CA等に設定することができる。また、エンジン回転数が共振周波数帯近傍であるか否かを判定するための閾値である所定範囲も同様に適宜設定することができる。もちろん、S102において、クランク角が所定範囲内であり、かつ、エンジン回転数が所定範囲内であるか否かを判定する代わりに、クランク角とTDCとの相違が所定の許容範囲内であるか否か、かつ、エンジン回転数と共振周波数帯との相違が許容範囲内であるか否かを判定してもよい。なお、クランク角は、クランクシャフト26に取り付けられたクランクポジションセンサ23aで検出される。なお、S102の処理は、要するに、クランク位置がTDCであり、かつ、エンジン回転数が共振周波数帯であるか否かを判定する処理であり、所定範囲内の相違も許容して判定する趣旨である。従って、端的に表現すれば、クランク位置がTDCであり、かつ、エンジン回転数が共振周波数帯であるか否かを判定するものといえる。S102でYES、すなわち、クランク角が所定範囲内であるためTDC近傍であり、かつ、エンジン22の回転数が所定範囲内であるため共振周波数帯近傍であり、かつ、推定開始判定フラグがOFFの場合、ハイブリッドECU70は、この時点を推定開始タイミングに設定してこの時点のエンジン22の回転数を取得するとともに時間計測タイマを0からスタートさせ、さらに推定開始判定フラグをOFFからONに設定するS103。一方、クランク角が所定範囲内でない、あるいはエンジン回転数が所定範囲内でない、あるいは推定開始判定フラグがOFFでない場合には、S103の処理は実行しない。次に、ハイブリッドECU70は、推定開始判定フラグがONであるか否かを判定するS104。そして、推定開始判定フラグがONである場合には、推定開始タイミングからの経過時間を積算するS105。すなわち、時間計測タイマによる経過時間値を取得する。一方、推定開始判定フラグがONでなくOFFの場合には、時間計測タイマをクリアしてゼロに戻すS107。以上のようにして、クランク角がTDC近傍であり、かつ、エンジン回転数が共振周波数帯近傍である場合において、エンジン回転数を取得し、かつ、推定開始タイミングからの経過時間を取得する。その後、ハイブリッドECU70は、エンジン回転数と経過時間を用いて直行トルクの脈動分を導出し、最終的な直行トルクを推定して、脈動分を考慮した直行トルクをキャンセルするために必要なモータMG2のトルク指令を生成するS108。なお、エンジン22の始動後は、再びS101以降の処理を繰り返すルーチンにおいて、S101の判定処理でNOと判定されるため、推定開始判定フラグはONからOFFに設定されるS106。この場合、クランキングに伴う反力トルクは生じないから、モータMG2のトルク指令は、要求トルクに応じたトルク指令となる。図8に、本実施形態におけるモータMG2のトルクの時間変化を示す。図において、横軸は時間、縦軸はモータMG2のトルクである。図において、実線は脈動分を考慮しない場合のトルクであり、破線は脈動分を考慮した場合のトルクであり、本実施形態におけるMG2のトルクである。エンジン22のクランキング時に生じる反力トルクの脈動分も確実にMG2のトルクでキャンセルされるため、エンジン始動時のトルクショックを効果的に抑制してドライバビリティが一層向上する。"