内燃機関と、前記内燃機関の回転変動量が失火判定値を超えた場合に前記内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するための制御ユニットとを含み、前記制御ユニットは、前記回転変動量が前記失火判定値よりも大きい悪路判定値を超えた場合には、前記車両が前記悪路を走行していると判定する、車両。前記制御ユニットは、前記回転変動量が前記失火判定値よりも大きく、かつ、前記悪路判定値よりも小さい場合には、前記内燃機関の回転変動の第1変化パターンが失火発生時の前記回転変動の第2変化パターンに対応していると前記内燃機関において前記失火が発生していると判定し、前記第1変化パターンが前記第2変化パターンに対応していないと前記車両が前記悪路を走行していると判定する、請求項1に記載の車両。前記内燃機関は、複数の気筒を含み、前記第1変化パターンは、前記複数の気筒のうちの前記回転変動量が前記失火判定値よりも大きい第1気筒および前記第1気筒と異なる第2気筒の各々の前記回転変動量を含み、前記第2変化パターンは、前記失火発生時に前記第2気筒の前記回転変動量が、前記第1気筒の前記回転変動量を基準として設定される範囲内となる変化パターンを含む、請求項2に記載の車両。前記制御ユニットは、前記内燃機関の状態に基づいて前記失火判定値および前記悪路判定値のうちの少なくともいずれか一方を決定する、請求項1~3のいずれかに記載の車両。前記制御ユニットは、前記内燃機関の出力軸の回転角度が所定の角度だけ回転するのに要した第1回転時間と、前記第1回転時間に対応する1点火前の第2回転時間との差から前記回転変動量を算出する、請求項1~4のいずれかに記載の車両。前記車両は、運転者に情報を通知するための通知部をさらに含み、前記制御ユニットは、前記失火が発生したと判定した第1回数と、前記車両が前記悪路を走行していると判定した第2回数とに基づいて、前記失火が発生した旨を前記運転者に通知するように前記通知部を制御する、請求項1~5のいずれかに記載の車両。内燃機関の失火判定方法であって、前記内燃機関の回転数の変動量が失火判定値を超えた場合に前記内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するステップと、前記変動量が前記失火判定値よりも大きい悪路判定値を超えた場合には、前記車両が前記悪路を走行していると判定するステップとを含む、内燃機関の失火判定方法。しかしながら、たとえば、所定のパターンで連続的に起伏が変化するような路面を車両が走行している場合には、内燃機関の回転変動の変化パターンが失火発生時の回転変動の変化パターンに対応する変化パターンとなり、失火が発生していると誤判定する可能性がある。本発明は、上述した課題を解決するためになされたものであって、その目的は、内燃機関の失火の発生の有無を精度高く判定する車両および内燃機関の失火判定方法を提供することである。この発明のある局面に係る車両は、内燃機関と、内燃機関の回転変動量が失火判定値を超えた場合に内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するための制御ユニットとを含む。制御ユニットは、回転変動量が失火判定値よりも大きい悪路判定値を超えた場合には、車両が悪路を走行していると判定する。好ましくは、制御ユニットは、回転変動量が失火判定値よりも大きく、かつ、悪路判定値よりも小さい場合には、内燃機関の回転変動の第1変化パターンが失火発生時の回転変動の第2変化パターンに対応していると内燃機関において失火が発生していると判定し、第1変化パターンが第2変化パターンに対応していないと車両が悪路を走行していると判定する。さらに好ましくは、内燃機関は、複数の気筒を含む。第1変化パターンは、複数の気筒のうちの回転変動量が失火判定値よりも大きい第1気筒および第1気筒と異なる第2気筒の各々の回転変動量を含む。第2変化パターンは、失火発生時に第2気筒の回転変動量が、第1気筒の回転変動量を基準として設定される範囲内となる変化パターンを含む。さらに好ましくは、制御ユニットは、内燃機関の状態に基づいて失火判定値および悪路判定値のうちの少なくともいずれか一方を決定する。さらに好ましくは、制御ユニットは、内燃機関の出力軸の回転角度が所定の角度だけ回転するのに要した第1回転時間と、第1回転時間に対応する1点火前の第2回転時間との差から回転変動量を算出する。さらに好ましくは、車両は、運転者に情報を通知するための通知部をさらに含む。制御ユニットは、失火が発生したと判定した第1回数と、車両が悪路を走行していると判定した第2回数とに基づいて、失火が発生した旨を運転者に通知するように通知部を制御する。この発明の他の局面に係る失火判定方法は、内燃機関の失火判定方法である。この失火判定方法は、内燃機関の回転数の変動量が失火判定値を超えた場合に内燃機関において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定するステップと、変動量が失火判定値よりも大きい悪路判定値を超えた場合には、車両が悪路を走行していると判定するステップとを含む。本発明によると、内燃機関の回転数の変動量が仮失火判定値よりも大きい場合でも、悪路判定値よりも大きい場合には、車両が悪路を走行していると判定することにより、内燃機関の回転変動の変化パターンが失火発生時の回転変動の変化パターンに対応している場合でも、車両が悪路を走行していると判定することができる。そのため、失火の誤判定を防止することができる。したがって、内燃機関の失火の発生の有無を精度高く判定する車両および内燃機関の失火判定方法を提供することができる。以下、図面を参照しつつ、本発明の実施の形態は、説明される。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返されない。図1を参照して、本実施の形態に係る車両1の全体ブロック図が説明される。車両1は、エンジン10と、駆動軸16と、第1モータジェネレータ以下、第1MGと記載する20と、第2モータジェネレータ以下、第2MGと記載する30と、動力分割装置40と、減速機58と、PCUPowerControlUnit60と、バッテリ70と、駆動輪80と、スタートスイッチ150と、ECUElectronicControlUnit200とを含む。この車両1は、エンジン10および第2MG30の少なくとも一方から出力される駆動力によって走行する。エンジン10が発生する動力は、動力分割装置40によって2経路に分割される。2経路のうちの一方の経路は減速機58を介して駆動輪80へ伝達される経路であり、他方の経路は第1MG20へ伝達される経路である。第1MG20および第2MG30は、たとえば、三相交流回転電機である。第1MG20および第2MG30は、PCU60によって駆動される。第1MG20は、動力分割装置40によって分割されたエンジン10の動力を用いて発電してPCU60を経由してバッテリ70を充電するジェネレータとしての機能を有する。また、第1MG20は、バッテリ70からの電力を受けてエンジン10の出力軸であるクランク軸を回転させる。これによって、第1MG20は、エンジン10を始動するスタータとしての機能を有する。第2MG30は、バッテリ70に蓄えられた電力および第1MG20により発電された電力の少なくともいずれか一方を用いて駆動輪80に駆動力を与える駆動用モータとしての機能を有する。また、第2MG30は、回生制動によって発電された電力を用いてPCU60を経由してバッテリ70を充電するためのジェネレータとしての機能を有する。エンジン10は、たとえば、ガソリンエンジンやディーゼルエンジン等の内燃機関である。図2に示すように、エンジン10は、エアクリーナ102と、スロットルバルブ104と、複数の気筒106と、複数の気筒106の各々に燃料を供給するインジェクタ108と、点火プラグ110と、三元触媒112と、ピストン114と、クランク軸116と、吸気バルブ118と、排気バルブ120と、吸気側カム122と、排気側カム124と、VVTVariableValveTiming機構126とを含む。エンジン10には、エアクリーナ102から空気が吸入される。吸入空気量は、スロットルバルブ104により調整される。スロットルバルブ104はモータにより駆動される電子スロットルバルブである。空気は、気筒106燃焼室において燃料と混合される。気筒106には、インジェクタ108から燃料が直接噴射される。すなわち、インジェクタ108の噴射孔は気筒106内に設けられている。燃料は、気筒106の吸気側空気が導入される側から噴射される。燃料は吸気行程において噴射される。なお、燃料が噴射される時期は、吸気行程に限らない。また、本実施の形態においては、インジェクタ108の噴射孔が気筒106内に設けられた直噴エンジンとしてエンジン10を説明するが、直噴用のインジェクタ108に加えて、ポート噴射用のインジェクタを設けてもよい。さらに、ポート噴射用のインジェクタのみを設けるようにしてもよい。気筒106内の混合気は、点火プラグ110により着火され、燃焼する。燃焼後の混合気、すなわち排気ガスは、三元触媒112により浄化された後、車外に排出される。混合気の燃焼によりピストン114が押し下げられ、クランク軸116が回転する。気筒106の頭頂部には、吸気バルブ118および排気バルブ120が設けられる。気筒106に導入される空気の量および時期は吸気バルブ118により制御される。気筒106から排出される排気ガスの量および時期は排気バルブ120により制御される。吸気バルブ118は吸気側カム122により駆動される。排気バルブ120は排気側カム124により駆動される。吸気バルブ118は、VVT機構126により、開閉タイミング位相が変更される。なお、排気バルブ120の開閉タイミングを変更するようにしてもよい。本実施の形態においては、吸気側カム122が設けられたカムシャフト図示せずがVVT機構126により回転されることにより、吸気バルブ118の開閉タイミングが制御される。なお、開閉タイミングを制御する方法はこれに限らない。本実施の形態において、VVT機構126は、油圧により作動する。VVT機構126は、排気側カム124に設けられてもよい。エンジン10は、ECU200からの制御信号S1に基づいて制御される。ECU200は、エンジン10が所望の運転状態になるように、スロットル開度、点火時期、燃料噴射時期、燃料噴射量、吸気バルブ118の開閉タイミングを制御する。ECU200には、クランク角センサ11、カム角センサ204、水温センサ206、エアフローメータ208から信号が入力される。クランク角センサ11は、クランク軸116の回転速度以下、エンジン回転数と記載するNEおよびクランク軸116の回転角度を表す信号を出力する。カム角センサ204は、吸気側カム122の位置を表す信号を出力する。水温センサ206は、エンジン10の冷却水の温度以下、水温とも記載するを表す信号を出力する。エアフローメータ208は、エンジン10に吸入される空気量表す信号を出力する。ECU200は、これらのセンサから入力された信号、ROMReadOnlyMemory202に記憶されたマップおよびプログラムに基づいて、エンジン10を制御する。図1に戻って、動力分割装置40は、駆動輪80を回転させるための駆動軸16、エンジン10の出力軸および第1MG20の回転軸の三要素の各々を機械的に連結する。動力分割装置40は、上述の三要素のうちのいずれか一つを反力要素とすることによって、他の2つの要素間での動力の伝達を可能とする。第2MG30の回転軸は、駆動軸16に連結される。動力分割装置40は、サンギヤ50と、ピニオンギヤ52と、キャリア54と、リングギヤ56とを含む遊星歯車機構である。ピニオンギヤ52は、サンギヤ50およびリングギヤ56の各々と噛み合う。キャリア54は、ピニオンギヤ52を自転可能に支持するとともに、エンジン10のクランク軸に連結される。サンギヤ50は、第1MG20の回転軸に連結される。リングギヤ56は、駆動軸16を介在して第2MG30の回転軸および減速機58に連結される。減速機58は、動力分割装置40や第2MG30からの動力を駆動輪80に伝達する。また、減速機58は、駆動輪80が受けた路面からの反力を動力分割装置40や第2MG30に伝達する。PCU60は、バッテリ70に蓄えられた直流電力を第1MG20および第2MG30を駆動するための交流電力に変換する。PCU60は、ECU200からの制御信号S2に基づいて制御されるコンバータおよびインバータいずれも図示せずを含む。コンバータは、バッテリ70から受けた直流電力の電圧を昇圧してインバータに出力する。インバータは、コンバータが出力した直流電力を交流電力に変換して第1MG20および/または第2MG30に出力する。これにより、バッテリ70に蓄えられた電力を用いて第1MG20および/または第2MG30が駆動される。また、インバータは、第1MG20および/または第2MG30によって発電される交流電力を直流電力に変換してコンバータに出力する。コンバータは、インバータが出力した直流電力の電圧を降圧してバッテリ70へ出力する。これにより、第1MG20および/または第2MG30により発電された電力を用いてバッテリ70が充電される。なお、コンバータは、省略してもよい。バッテリ70は、蓄電装置であり、再充電可能な直流電源である。バッテリ70としては、たとえば、ニッケル水素やリチウムイオン等の二次電池が用いられる。バッテリ70の電圧は、たとえば200V程度である。バッテリ70は、上述したように第1MG20および/または第2MG30により発電された電力を用いて充電される他、外部電源図示せずから供給される電力を用いて充電されてもよい。なお、バッテリ70は、二次電池に限らず、直流電圧を生成できるもの、たとえば、キャパシタ、太陽電池、燃料電池等であってもよい。バッテリ70には、バッテリ70の電池温度TBを検出するための電池温度センサ156と、バッテリ70の電流IBを検出するための電流センサ158と、バッテリ70の電圧VBを検出するための電圧センサ160とが設けられる。電池温度センサ156は、電池温度TBを示す信号をECU200に送信する。電流センサ158は、電流IBを示す信号をECU200に送信する。電圧センサ160は、電圧VBを示す信号をECU200に送信する。スタートスイッチ150は、たとえば、プッシュ式スイッチである。スタートスイッチ150は、キーをキーシリンダに差し込んで所定の位置まで回転させるものであってもよい。スタートスイッチ150は、ECU200に接続される。運転者がスタートスイッチ150を操作することに応じて、スタートスイッチ150は、信号STをECU200に送信する。通知部152は、失火の発生を運転者に通知する。通知部152は、たとえば、メータに設けられたマークが点灯あるいは点滅させることによって失火の発生を通知する警告灯である。なお、通知部152は、失火が発生した旨を示す情報を表示するための表示装置たとえば、液晶パネル等であってもよい。あるいは、通知部152は、失火が発生したことを示す音を発生させることによって失火の発生を通知したり、あるいは、失火が発生した旨を音声によって通知したりするための音発生装置であってもよい。通知部152は、ECU200からの制御信号S3に基づいて制御される。ECU200には、第1レゾルバ12と、第2レゾルバ13と、車輪速センサ14とが接続される。第1レゾルバ12は、第1MG20に設けられ、第1MG20の回転速度Nm1を検出する。第1レゾルバ12は、検出された回転速度Nm1を示す信号をECU200に送信する。第2レゾルバ13は、第2MG30に設けられ、第2MG30の回転速度Nm2を検出する。第2レゾルバ13は、検出された回転速度Nm2を示す信号をECU200に送信する。車輪速センサ14は、駆動輪80の回転速度Nwを検出する。車輪速センサ14は、検出された回転速度Nwを示す信号をECU200に送信する。ECU200は、受信した回転速度Nwに基づいて車速Vを算出する。なお、ECU200は、回転速度Nwに代えて第2MG30の回転速度Nm2に基づいて車速Vを算出するようにしてもよい。ECU200は、エンジン10を制御するための制御信号S1を生成し、その生成した制御信号S1をエンジン10へ出力する。また、ECU200は、PCU60を制御するための制御信号S2を生成し、その生成した制御信号S2をPCU60へ出力する。ECU200は、エンジン10およびPCU60等を制御することによって車両1が最も効率よく運行できるようにハイブリッドシステム全体、すなわち、バッテリ70の充放電状態、エンジン10、第1MG20および第2MG30の動作状態を制御する。ECU200は、運転席に設けられたアクセルペダル図示せずの踏込み量に対応する要求駆動力を算出する。ECU200は、算出された要求駆動力に応じて、第1MG20および第2MG30のトルクと、エンジン10の出力とを制御する。以上のような構成を有する車両1においては、ECU200は、エンジン10の回転変動量に基づいてエンジン10に失火が発生したか否かを判定する。しかしながら、たとえば、車両1が悪路を走行している場合には、エンジン10の回転変動の変化パターンが失火発生時の回転変動の変化パターンに対応する変化パターンになり、失火が発生していると誤判定する場合がある。本実施の形態においては、ECU200は、エンジン10の回転変動量が失火判定値を超えた場合にエンジン10において失火が発生しているか、あるいは、車両が悪路を走行しているかを判定する。ECU200は、エンジン10の回転変動量が失火判定値よりも大きい悪路判定値を超えた場合には、車両1が悪路を走行していると判定する。なお、本実施の形態において、悪路とは、所定のパターンで連続的に起伏が変化するような路面や、濡れた路面、凍結路面あるいは砂利道等の低摩擦係数の路面を含む。図3に、本実施の形態に係る車両1に搭載されたECU200の機能ブロック図を示す。ECU200は、開始判定部250と、変動量算出部252と、仮失火判定部254と、悪路判定部256と、失火判定部258と、通知制御部260と、終了条件判定部262と、カウンタクリア部264とを含む。開始判定部250は、失火判定の開始条件が成立しているか否かを判定する。失火判定の開始条件は、エンジン10の状態が失火判定に適した適切な精度で判定可能な状態であると判定できる条件である。失火判定の開始条件は、たとえば、現在のエンジン回転数Neとエンジン負荷率または吸入空気量とが予め設定された領域内であるという条件である。予め設定された領域は、たとえば、エンジン回転数Neが増加するほどエンジン負荷率の下限値が増加する領域が設定される。予め設定された領域は、実験等により適合すればよい。開始判定部250は、たとえば、現在のエンジン回転数Neとエンジン負荷率とが予め設定された領域内である場合に失火判定の開始条件が成立したと判定する。なお、開始判定部250は、たとえば、失火判定の開始条件が成立したと判定した場合には、開始判定フラグをオン状態にしてもよい。変動量算出部252は、エンジン回転数Neの回転変動量ΔNeを算出する。具体的には、変動量算出部252は、たとえば、クランク角センサ11により検出されるクランク軸116の回転角度が所定の角度だけ変化する時間を計測する。本実施の形態において、所定角度は、たとえば、30°CACrankAngleである。以下の説明において、クランク軸116が30°CA回転するのに要する時間をT30と記載する。変動量算出部252は、たとえば、各気筒のTDCTopDeadCenterあるいはBDCBottomDeadCenterを基準とした所定の角度を始点として30°CAだけ回転するのに要する第1回転時間T301を計測する。所定の角度は、本実施の形態においては、各気筒のTDCに対応する回転角度から60°CAだけ回転した位置をいうものとするが、特にこれに限定されるものではない。変動量算出部252は、第1回転時間T301と、第1回転時間T301に対応する1点火前の第2回転時間T302との差分T301-T302をエンジン10の回転変動量ΔNeとして算出する。たとえば、エンジン10が、1番気筒から4番気筒までの4つの気筒が直列に配置される直列4気筒のエンジンである場合を想定する。また、エンジン10は、1番気筒、3番気筒、4番気筒および2番気筒の順序で点火制御されるとする。変動量算出部252は、たとえば、3番気筒の第1回転時間T301が計測された場合には、第1回転時間T30と、1点火前の気筒である1番気筒の第2回転時間T302との差分T301-T302を回転変動量ΔNeとして算出する。なお、変動量算出部252は、開始判定フラグがオン状態である場合に回転変動量ΔNeの算出を開始してもよい。仮失火判定部254は、変動量算出部252によって算出されたエンジン10の回転変動量ΔNeが仮失火判定値A0以上であるか否かを判定する。なお、本実施の形態においては、仮失火判定値A0は、エンジン回転数Neおよび吸入空気量に基づいて決定されるものとして説明するが、所定値であってもよい。たとえば、エンジン回転数Neが大きいほど仮失火判定値A0が大きくなるようにしてもよい。あるいは、吸入空気量が大きいほど仮失火判定値A0が小さくなるようにしてもよい。なお、仮失火判定部254は、たとえば、エンジン10の回転変動量ΔNeが仮失火判定値A0以上である場合には、仮失火判定フラグをオンしてもよい。悪路判定部256は、車両1が悪路を走行しているか否かを判定する。具体的には、悪路判定部256は、変動量算出部252によって算出されたエンジン10の回転変動量ΔNeが悪路判定値A1よりも大きいか否かを判定する。なお、悪路判定値A1は、仮失火判定値A0よりも大きい値である。本実施の形態において、悪路判定値A1は、エンジン回転数Neおよび吸入吸気量に基づいて決定されるものとして説明するが、所定値であってもよい。たとえば、エンジン回転数Neが大きいほど悪路判定値A1が大きくなるようにしてもよい。あるいは、吸入空気量が大きいほど悪路判定値A1が小さくなるようにしてもよい。悪路判定部256は、車両1が悪路を走行していると判定した場合にはすなわち、エンジン10の回転変動量ΔNeが悪路判定値A1以上であると判定した場合には、悪路カウンタの値を所定値たとえば、1だけ増加させる。失火判定部258は、エンジン10に失火が発生しているか否かを判定する。具体的には、仮失火判定部254によってエンジン10の回転変動量ΔNeが仮失火判定値A0以上であると判定され、かつ、悪路判定部256によって、エンジン10の回転変動量ΔNeが悪路判定値A1よりも小さいと判定された場合に、エンジン10の回転変動の第1変化パターンが失火発生時の回転変動の第2変化パターンに対応するか否かを判定する。失火判定部258は、第1変化パターンが第2変化パターンに対応すると判定した場合に、エンジン10に失火が発生していると判定する。失火判定部258は、エンジン10に失火が発生していると判定した場合には、失火カウンタを所定値たとえば、1だけ増加させる。なお、本実施の形態においては、失火カウンタは、すべての気筒において発生した失火の総数を示すものであるとして説明するが、失火が発生した気筒を特定できる場合には各気筒毎に設けられてもよい。失火判定部258は、第1変化パターンが第2変化パターンに対応しないと判定した場合に、車両1が悪路を走行していると判定する。失火判定部258は、車両1が悪路を走行していると判定した場合には、悪路カウンタを所定値だけ増加させる。第1変化パターンは、複数の気筒のうちの回転変動量ΔNeが仮失火判定値A0以上となる第1気筒および第1気筒と異なる第2気筒の各々の回転変動量ΔNeを含む。また、第2変化パターンは、失火発生時に第2気筒の回転変動量が、第1気筒の回転変動量ΔNeを基準として設定される範囲内となる変化パターンを含む。本実施の形態においては、第1変化パターンは、図3に示すように、仮失火判定値A0よりも大きいと判定された3番気筒の回転変動量ΔNe2と、3番気筒の1点火前の気筒である1番気筒の回転変動量ΔNe3と、3番気筒の1点火後の気筒である4番気筒の回転変動量ΔNe1と、3番気筒の2点火後の気筒である2番気筒の回転変動量ΔNe0とを含む。失火判定部258は、ΔNe0、ΔNe1、ΔNe2およびΔNe3を含む第1変化パターンが失火発生時の第2変化パターンに対応するか否かを判定する。具体的には、失火判定部258は、以下の判定条件が成立するか否かを判定する。判定条件は、ΔNe0<0、A≦|ΔNe0/ΔNe2|≦B、-C≦ΔNe3/ΔNe2≦C、-D≦ΔNe1/ΔNe2≦Dという関係が成立するという条件である。なお、A、B、CおよびDは、ゼロよりも大きい値とする。これらの関係が成立する場合には、ΔNe0、ΔNe1およびΔNe3の各々がΔNe2を基準とした所定の範囲内の値であることを示す。失火判定部258は、たとえば、図4に示すように、ΔNe0、ΔNe1およびΔNe3の各々が上述の関係に基づく上限値と下限値との間の範囲内である場合には、第1変化パターンが第2変化パターンに対応すると判定する。すなわち、失火判定部258は、エンジン10に失火が発生していると判定する。一方、失火判定部258は、ΔNe0、ΔNe1およびΔNe3のうちのいずれかが図4に示す上限値または下限値を超えた値である場合には、第1変化パターンが第2変化パターンに対応しないと判定する。すなわち、失火判定部258は、車両1が悪路を走行していると判定する。通知制御部260は、失火カウンタと悪路カウンタとに基づいて運転者に対してエンジン10に失火が発生している旨の通知を要する否かを判定する。通知制御部260は、通知を要すると判定した場合に、失火の発生を運転者に通知するように通知部152を制御する。通知制御部260は、たとえば、失火カウンタの値から、悪路カウンタの値に所定の係数を乗じた値を減算した値が所定値以上になる場合に、通知を要すると判定してもよい。あるいは、通知制御部260は、失火カウンタの値が所定値以上である場合には、悪路カウンタの値に関係なく、通知を要すると判定してもよい。終了条件判定部262は、失火判定の終了条件が成立したか否かを判定する。終了条件は、たとえば、失火判定の開始条件が成立してからエンジン10のクランク軸116が所定回数だけ回転したという条件である。なお、終了条件判定部262は、たとえば、失火判定の終了条件が成立した場合には、終了判定フラグをオンするようにしてもよい。カウンタクリア部264は、終了条件判定部262によって失火判定の終了条件が成立したと判定された場合に、悪路カウンタおよび失火カウンタをクリアして、初期値たとえば、0にリセットする。なお、カウンタクリア部264は、たとえば、終了判定フラグがオフからオンされた場合に、悪路カウンタおよび失火カウンタをクリアしてもよい。本実施の形態において、開始判定部250と、変動量算出部252と、仮失火判定部254と、悪路判定部256と、失火判定部258と、通知制御部260と、終了条件判定部262と、カウンタクリア部264とは、いずれもECU200のCPUがROM202に記憶されたプログラムを実行することにより実現される、ソフトウェアとして機能するものとして説明するが、ハードウェアにより実現されるようにしてもよい。なお、このようなプログラムは記憶媒体に記録されて車両に搭載される。図5を参照して、本実施の形態に係る車両1に搭載されたECU200で実行されるプログラムの制御構造について説明する。ECU200は、図5で示したフローチャートに基づくプログラムを所定の計算サイクル毎に実行する。ステップ以下、ステップをSと記載する100にて、ECU200は、失火判定の開始条件が成立するか否かを判定する。失火判定の開始条件が成立する場合S100にてYES、処理はS102に移される。もしそうでない場合S100にてNO、処理はS100に戻される。S102にて、ECU200は、エンジン10の回転変動量ΔNeを算出する。なお、回転変動量ΔNeの算出方法については、上述したとおりであるため、その詳細な説明は繰り返されない。S104にて、ECU200は、エンジン10の回転変動量ΔNeが仮失火判定値A0以上であるか否かを判定する。エンジン10の回転変動量ΔNeが仮失火判定値A0以上である場合にはS104にてYES、処理はS106に移される。もしそうでない場合にはS104にてNO、処理はS108に移される。S106にて、ECU200は、エンジン10の回転変動量ΔNeが悪路判定値A1以上であるか否かを判定する。エンジン10の回転変動量ΔNeが悪路判定値A1以上である場合にはS106にてYES、処理はS108に移される。もしそうでない場合にはS106にてNO、処理はS110に移される。S108にて、ECU200は、悪路カウンタに所定値を加算して増加させる。S110にて、ECU200は、エンジン10の回転変動の第1変化パターンが失火発生時の回転変動の第2変化パターンに対応するか否かを判定する。エンジン10の回転変動の第1変化パターンが失火発生時の回転変動の第2変化パターンに対応する場合S110にてYES、処理はS112に移される。もしそうでない場合S110にてNO、処理はS108に移される。S112にて、ECU200は、失火カウンタに所定値を加算して増加させる。S1114にて、ECU200は、失火カウンタの値と悪路カウンタの値とに基づいてエンジン10に失火が発生した旨の通知を要するか否かを判定する。通知を要すると判定された場合S114にてYES、処理はS116に移される。もしそうでない場合S114にてNO、処理はS118に移される。S116にて、ECU200は、失火の発生の旨を運転者に通知するように通知部152を制御する。ECU200は、たとえば、失火の発生を示す警告灯を点灯させる。S118にて、ECU200は、エンジン10のクランク軸116が、開始条件が成立してから所定回転数だけ回転したか否かを判定する。所定回転数だけ回転した場合S118にてYES、処理はS120に移される。もしそうでない場合S118にてNO、処理はS102に戻される。S120にて、ECU200は、悪路カウンタの値および失火カウンタの値をクリアする。以上のような構造およびフローチャートに基づく本実施の形態に係る車両1に搭載されたECU200の動作について説明する。たとえば、車両1の走行中に、エンジン回転数Neとエンジン負荷率とが予め設定された領域内である場合には、失火判定の開始条件が成立したと判定されS100にてYES、エンジン10の回転変動量ΔNeが算出されるS102。算出された回転変動量ΔNeが仮失火判定値A0よりも小さい場合S104にてNO、失火判定の開始条件が成立してから所定回転数だけ回転していればS118にてYES、失火カウンタおよび悪路カウンタがクリアされるS120。また、所定回転だけ回転していなければS118にてNO、エンジン10の回転変動量ΔNeの算出が続行されるS102。図6の太破線に示すように、たとえば、3番気筒における回転変動量ΔNe2が仮失火判定値A0以上であってS104にてYES、かつ、悪路判定値A1以上である場合にはS106にてYES、悪路カウンタの値が所定値だけ増加させられるS108。一方、図6の太実線に示すように、たとえば、3番気筒における回転変動量ΔNe2が仮失火判定値A0以上であってS104にてYES、かつ、悪路判定値A1よりも小さい場合にはS106にてNO、エンジン10の回転変動の第1変化パターンが失火発生時の第2変化パターンに対応するか否かが判定されるS110。すなわち、3番気筒以外の各気筒の点火時の回転変動量ΔNe0、ΔNe1およびΔNe3がΔNe2を基準とした所定範囲内である場合には、エンジン10の回転変動の第1変化パターンが失火発生時の第2変化パターンに対応すると判定されるS110にてYES。この場合、失火カウンタの値が増加させられてS112、失火が発生しているか否かが判定されるS114。失火カウンタの値と悪路カウンタの値とに基づいて失火が発生している旨の通知を要すると判定された場合にはS114にてYES、通知制御が実行されるS116。一方、図6の一点鎖線に示すように、4番気筒における回転変動量ΔNe1が所定範囲内でない場合には、エンジン10の回転変動の第1変化パターンが失火発生時の第2変化パターンに対応しないと判定されS110にてNO、悪路カウンタの値が増加させられるS108。失火判定の開始条件が成立してから所定回転だけ回転した場合にはS118にてYES、失火カウンタの値および悪路カウンタの値がクリアされるS120。以上のようにして、本実施の形態に係る車両によると、エンジン10の回転変動量ΔNeが仮失火判定値A0よりも大きい場合でも、悪路判定値A1よりも大きい場合には、車両1が悪路を走行していると判定される。これにより、エンジン10の回転変動の第1変化パターンが失火発生時の回転変動の第2変化パターンに対応している場合でも、車両1が悪路を走行していると判定することができる。そのため、失火の誤判定を防止することができる。したがって、内燃機関の失火の発生の有無を精度高く判定する車両および内燃機関の失火判定方法を提供することができる。なお、本実施の形態においては失火カウンタの値と悪路カウンタの値とに基づいて失火が発生していると判定された場合に、運転者に通知するとして説明したが、たとえば、特定の気筒において連続して失火が発生している場合には、当該特定の気筒の燃料噴射を停止するようにしてもよい。本実施の形態において、車両1は、ハイブリッド車両であるとして説明したが、少なくとも駆動輪の回転変動とエンジンの回転変動と連動している車両であれば、特にハイブリッド車両に限定されるものではない。たとえば、車両1は、駆動輪とが機械的に連結された車両であってもよい。すなわち、車両1は、たとえば、エンジン10のみを駆動源とする車両であってもよい。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。