(57)【要約】      （修正有）【課題】空燃比センサの検出値のみによってはいずれの気筒の空燃比がどのようにずれているのかを特定することが困難である場合であっても、これを特定することができるようにしたインバランス検出装置を提供する。【解決手段】ＣＰＵ７２は、１燃焼サイクルにおける各３０°ＣＡの回転に要する時間である微小回転時間と、３０°ＣＡ間における空燃比センサ８２の検出値の平均値の時系列データとを入力として、気筒＃１〜＃４のそれぞれにおいて意図した噴射量に対する実際の噴射量のずれ量であるインバランス率を算出する。【選択図】図１
2020133533.tif 000002
【特許請求の範囲】
【請求項１】
多気筒の内燃機関に適用されるインバランス検出装置であって、
記憶装置と、実行装置と、を備え、
前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、前記内燃機関の空燃比のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであるインバランス検出装置。
【請求項２】
前記写像の入力には、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記クランク軸の回転周波数の０．５次成分が含まれ、
前記取得処理は、前記０．５次成分を規定する変数である０．５次成分変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記０．５次成分変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１記載のインバランス検出装置。
【請求項３】
前記写像の入力には、前記内燃機関の動作点を規定する変数である動作点変数が含まれ、
前記取得処理は、前記動作点変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記動作点変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１または２記載のインバランス検出装置。
【請求項４】
前記写像の入力には、前記内燃機関の操作部の操作によって前記内燃機関の燃焼室における混合気の燃焼速度を調整するための変数である調整変数が含まれ、
前記取得処理は、前記調整変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記調整変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１〜３のいずれか１項に記載のインバランス検出装置。
【請求項５】
前記写像の入力には、前記クランク軸に連結される駆動系装置の状態を示す変数である駆動系状態変数が含まれ、
前記取得処理は、前記駆動系状態変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記駆動系状態変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１〜４のいずれか１項に記載のインバランス検出装置。
【請求項６】
前記写像の入力には、前記内燃機関が搭載される車両が走行している路面の状態を示す変数である路面状態変数が含まれ、
前記取得処理は、前記路面状態変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記路面状態変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１〜５のいずれか１項に記載のインバランス検出装置。
【請求項７】
前記回転波形変数は、複数の前記第２間隔のそれぞれにおける前記瞬時速度変数自体によってそれら瞬時速度変数同士の差を示す変数として構成されており、
前記取得処理は、前記回転波形変数として複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を取得する処理を含み、
前記算出処理は、前記回転波形変数として複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を前記写像への入力として前記インバランス変数を算出する処理である請求項１〜６のいずれか１項に記載のインバランス検出装置。
【請求項８】
前記記憶装置は、前記写像データを複数種類備え、
前記算出処理は、前記複数種類の写像データから前記インバランス変数を算出するために利用する前記写像データを選択する選択処理を含む請求項１〜７のいずれか１項に記載のインバランス検出装置。
【請求項９】
前記内燃機関は、燃料噴射弁から噴射される燃料を貯蔵する燃料タンク内の燃料蒸気を捕集するキャニスタと、前記キャニスタと前記内燃機関の吸気通路とを接続するパージ通路と、前記パージ通路を介して前記キャニスタから前記吸気通路に流入する燃料蒸気の流量を調整する調整装置と、を備え、
前記算出処理は、前記燃料蒸気の流量がゼロであるときに前記取得処理によって取得されたデータを前記写像への入力として前記インバランス変数を算出する処理と、前記燃料蒸気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力としてインバランス変数を算出する処理との双方を含んでおり、
前記対処処理は、前記燃料蒸気の流量がゼロよりも大きい場合、前記燃料蒸気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力として算出された前記インバランス変数に基づき前記所定のハードウェアを操作する処理である請求項１〜８のいずれか１項に記載のインバランス検出装置。
【請求項１０】
前記内燃機関は、排気通路および吸気通路を接続するＥＧＲ通路と、ＥＧＲ通路を介して前記排気通路から前記吸気通路へと流入する排気の流量を調整するＥＧＲバルブと、を備える内燃機関に適用され、
前記算出処理は、前記吸気通路へと流入する排気の流量がゼロであるときに前記取得処理によって取得されたデータを前記写像への入力として前記インバランス変数を算出する処理と、前記吸気通路へと流入する排気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力としてインバランス変数を算出する処理との双方を含んでおり、
前記対処処理は、前記吸気通路へと流入する排気の流量がゼロよりも大きい場合、前記吸気通路へと流入する排気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力として算出された前記インバランス変数に基づき前記所定のハードウェアを操作する処理である請求項１〜８のいずれか１項に記載のインバランス検出装置。
【請求項１１】
前記対処処理は、前記空燃比のばらつき度合いが大きい場合、前記所定のハードウェアとしての前記内燃機関の燃焼室内の混合気の燃焼を制御するための操作部を、前記インバランス変数に応じて操作する操作処理を含む請求項１〜１０のいずれか１項に記載のインバランス検出装置。
【請求項１２】
前記操作処理は、複数の気筒のそれぞれに燃料を供給するための、前記操作部としての燃料噴射弁を操作する処理を含む請求項１１記載のインバランス検出装置。
【請求項１３】
請求項１〜１２のいずれか１項に記載の前記実行装置および前記記憶装置を備え、
前記実行装置は、第１実行装置および第２実行装置を含み、
前記第１実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、前記算出処理の算出結果に基づく信号を受信する車両側受信処理と、前記対処処理と、を実行し、
前記第２実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記算出処理と、前記算出処理の算出結果に基づく信号を前記車両に送信する外部側送信処理と、を実行するインバランス検出システム。
【請求項１４】
請求項１３記載の前記第２実行装置および前記記憶装置を備えるデータ解析装置。
【請求項１５】
請求項１３記載の前記第１実行装置を備える内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インバランス検出装置、インバランス検出システム、データ解析装置、および内燃機関の制御装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつきであるインバランスを検出する装置が記載されている。この装置は、空燃比センサの検出値の差分値に加えて、同検出値を入力とする空燃比推定モデルに基づき、空燃比が意図したものからずれる気筒を特定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１９４６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、インバランスとしては、意図した空燃比からリッチ側にずれる現象と、リーン側にずれる現象とがある。そして、発明者は、リッチ側にずれるインバランスとリーン側にずれるインバランスとで空燃比センサの検出値の挙動が近似することがあり、その場合、いずれの気筒の空燃比がどのようにずれているのかを特定することが困難となるおそれがあることを見出した。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．多気筒の内燃機関に適用されるインバランス検出装置であって、記憶装置と、実行装置と、を備え、前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、前記内燃機関の空燃比のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであるインバランス検出装置である。
【０００６】
上記構成では、複数の第１間隔のそれぞれにおける空燃比検出変数に加えて、回転波形変数を用いる。回転波形変数は、各気筒の燃焼室において生成されるトルクに応じて生じる回転挙動を定量化したものであることから、混合気の空燃比の相違に対する感度を有する。そのため、回転波形変数を加味することにより、複数の第１間隔のそれぞれにおける空燃比検出変数によってはいずれの気筒の空燃比がどのようにずれているのかを特定することが困難である場合であっても、これを特定することができる。
【０００７】
２．前記写像の入力には、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記クランク軸の回転周波数の０．５次成分が含まれ、前記取得処理は、前記０．５次成分を規定する変数である０．５次成分変数を取得する処理を含み、前記算出処理は、前記取得処理によって取得された前記０．５次成分変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である上記１記載のインバランス検出装置である。
【０００８】
インバランス率と回転周波数の０．５次成分の大きさである０．５次振幅との間には線形な関係が成り立っているとみなせ、インバランスが存在する場合の回転周波数の振幅は、０．５次成分が特に大きくなることが、発明者によって見出された。これは、複数の気筒のいずれか１つでインバランスが生じる場合、１燃焼サイクルに一度、発生トルクにずれが生じるためであると考えられる。上記構成では、この点に着目し、写像への入力に０．５次成分変数を含めることにより、インバランス変数をより高精度に算出できる。
【０００９】
３．前記写像の入力には、前記内燃機関の動作点を規定する変数である動作点変数が含まれ、前記取得処理は、前記動作点変数を取得する処理を含み、前記算出処理は、前記取得処理によって取得された前記動作点変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である上記１または２記載のインバランス検出装置である。
【００１０】
内燃機関の制御は、内燃機関の動作点に応じてなされる傾向があることから、内燃機関の動作点によって、クランク軸の回転挙動が異なりうる。そのため、上記構成では、内燃機関の動作点変数を写像の入力に含めることにより、動作点に応じてクランク軸の回転挙動が異なることを反映しつつインバランス変数を算出することができる。
【００１１】
４．前記写像の入力には、前記内燃機関の操作部の操作によって前記内燃機関の燃焼室における混合気の燃焼速度を調整するための変数である調整変数が含まれ、前記取得処理は、前記調整変数を取得する処理を含み、前記算出処理は、前記取得処理によって取得された前記調整変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である上記１〜３のいずれか１つに記載のインバランス検出装置である。
【００１２】
混合気の燃焼速度によって、クランク軸の回転挙動が変化する。そこで上記構成では、燃焼速度を調整する調整変数を写像の入力に含めることにより、クランク軸の回転挙動が燃焼速度に応じて変化することを反映しつつインバランス変数を算出することができる。
【００１３】
５．前記写像の入力には、前記クランク軸に連結される駆動系装置の状態を示す変数である駆動系状態変数が含まれ、前記取得処理は、前記駆動系状態変数を取得する処理を含み、前記算出処理は、前記取得処理によって取得された前記駆動系状態変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である上記１〜４のいずれか１つに記載のインバランス検出装置である。
【００１４】
クランク軸に連結される駆動系装置の状態が異なる場合、クランク軸の回転挙動が異なったものとなる傾向がある。そこで上記構成では、駆動系状態変数を写像の入力に含めることにより、駆動系装置の状態に応じてクランク軸の回転挙動が異なることを反映しつつインバランス変数を算出することができる。
【００１５】
６．前記写像の入力には、前記内燃機関が搭載される車両が走行している路面の状態を示す変数である路面状態変数が含まれ、前記取得処理は、前記路面状態変数を取得する処理を含み、前記算出処理は、前記取得処理によって取得された前記路面状態変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である上記１〜５のいずれか１つに記載のインバランス検出装置である。
【００１６】
たとえば路面に凹凸がある場合には、車両に振動が生じ、これがクランク軸に伝達される。このように、路面の状態はクランク軸の回転挙動に影響を与える。そこで上記構成では、路面状態変数を写像の入力に含めることにより、路面の状態に応じてクランク軸の回転挙動が変化することを反映しつつインバランス変数を算出することができる。
【００１７】
７．前記回転波形変数は、複数の前記第２間隔のそれぞれにおける前記瞬時速度変数自体によってそれら瞬時速度変数同士の差を示す変数として構成されており、前記取得処理は、前記回転波形変数として複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を取得する処理を含み、前記算出処理は、前記回転波形変数として複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を前記写像への入力として前記インバランス変数を算出する処理である上記１〜６のいずれか１つに記載のインバランス検出装置である。
【００１８】
瞬時速度変数同士の差や比を算出する場合、どの２つの第２間隔における瞬時速度変数同士の差または比を算出すべきかを別途適合する必要がある。これに対し、上記構成では、回転波形変数として、複数の瞬時速度変数を用いることにより、予め瞬時速度変数同士の差や比を算出して写像に入力する場合と比較すると、回転波形変数の適合工数を軽減できる。
【００１９】
８．前記記憶装置は、前記写像データを複数種類備え、前記算出処理は、前記複数種類の写像データから前記インバランス変数を算出するために利用する前記写像データを選択する選択処理を含む上記１〜７のいずれか１つに記載のインバランス検出装置である。
【００２０】
あらゆる状況において、インバランス変数を高精度に出力可能な写像を構成する場合、写像の構造が複雑化しやすい。そこで上記構成では、複数種類の写像データを設ける。これより、状況に応じて適切な写像を選択することが可能となり、その場合、単一の写像で全ての状況に対処する場合と比較して、複数種類の写像のそれぞれの構造を簡素化しやすい。
【００２１】
９．前記内燃機関は、燃料噴射弁から噴射される燃料を貯蔵する燃料タンク内の燃料蒸気を捕集するキャニスタと、前記キャニスタと前記内燃機関の吸気通路とを接続するパージ通路と、前記パージ通路を介して前記キャニスタから前記吸気通路に流入する燃料蒸気の流量を調整する調整装置と、を備え、前記算出処理は、前記燃料蒸気の流量がゼロであるときに前記取得処理によって取得されたデータを前記写像への入力として前記インバランス変数を算出する処理と、前記燃料蒸気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力としてインバランス変数を算出する処理との双方を含んでおり、前記対処処理は、前記燃料蒸気の流量がゼロよりも大きい場合、前記燃料蒸気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力として算出された前記インバランス変数に基づき前記所定のハードウェアを操作する処理である上記１〜８のいずれか１つに記載のインバランス検出装置である。
【００２２】
燃料蒸気の流量がゼロよりも大きい場合には、キャニスタから吸気通路に燃料蒸気が流入し、これが各気筒に流入するものの、各気筒への燃料蒸気の流入量にはばらつきがある。そしてこのばらつきは、燃料噴射弁の個体差や経年変化等に起因したばらつきを定量化したインバランス変数によっては、表現できない。そこで上記構成では、燃料蒸気の影響の有無に応じたインバランス変数を各別に算出することにより、燃料噴射弁の個体差や経年変化に起因したインバランスと、燃料蒸気に起因したインバランスとを把握でき、ひいては状況に応じた対処ができる。
【００２３】
１０．前記内燃機関は、排気通路および吸気通路を接続するＥＧＲ通路と、ＥＧＲ通路を介して前記排気通路から前記吸気通路へと流入する排気の流量を調整するＥＧＲバルブと、を備える内燃機関に適用され、前記算出処理は、前記吸気通路へと流入する排気の流量がゼロであるときに前記取得処理によって取得されたデータを前記写像への入力として前記インバランス変数を算出する処理と、前記吸気通路へと流入する排気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力としてインバランス変数を算出する処理との双方を含んでおり、前記対処処理は、前記吸気通路へと流入する排気の流量がゼロよりも大きい場合、前記吸気通路へと流入する排気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力として算出された前記インバランス変数に基づき前記所定のハードウェアを操作する処理である上記１〜８のいずれか１つに記載のインバランス検出装置である。
【００２４】
吸気通路へと流入する排気の流量がゼロよりも大きい場合には、ＥＧＲ通路を介して排気通路から吸気通路に排気が流入し、これが気筒のそれぞれに流入するものの、各気筒への排気の流入量にはばらつきがある。そしてこのばらつきによる各気筒における混合気の燃焼状態のばらつきは、燃料噴射弁の個体差や経年変化等に起因したばらつきを定量化したインバランス変数によっては、表現できない。そこで上記構成では、吸気通路に流入する排気の影響の有無に応じたインバランス変数を各別に算出することにより、燃料噴射弁の個体差や経年変化等に起因したインバランスと、吸気通路に流入する排気に起因したインバランスとを把握でき、ひいては状況に応じた対処ができる。
【００２５】
１１．前記対処処理は、前記空燃比のばらつき度合いが大きい場合、前記所定のハードウェアとしての前記内燃機関の燃焼室内の混合気の燃焼を制御するための操作部を、前記インバランス変数に応じて操作する操作処理を含む上記１〜１０のいずれか１つに記載のインバランス検出装置である。
【００２６】
上記構成では、インバランス変数に応じて混合気の燃焼を制御するための操作部を操作することによって、空燃比のばらつきが大きいことに起因した燃焼状態の悪化を改善することができる。
【００２７】
１２．記操作処理は、複数の気筒のそれぞれに燃料を供給するための、前記操作部としての燃料噴射弁を操作する処理を含む上記１１記載のインバランス検出装置である。
上記構成では、インバランス変数に応じて噴射量を補正することにより、各気筒の混合気の空燃比のばらつきを低減できる。
【００２８】
１３．上記１〜１２のいずれか１つに記載の前記実行装置および前記記憶装置を備え、前記実行装置は、第１実行装置および第２実行装置を含み、前記第１実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、前記算出処理の算出結果に基づく信号を受信する車両側受信処理と、前記対処処理と、を実行し、前記第２実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記算出処理と、前記算出処理の算出結果に基づく信号を前記車両に送信する外部側送信処理と、を実行するインバランス検出システムである。
【００２９】
上記構成では、算出処理を車両の外部において実行することにより、車載装置の演算負荷を軽減できる。
１４．上記１３記載の前記第２実行装置および前記記憶装置を備えるデータ解析装置である。
【００３０】
１５．上記１３記載の前記第１実行装置を備える内燃機関の制御装置である。
【図面の簡単な説明】
【００３１】
【図１】第１の実施形態にかかる制御装置および車両の駆動系の構成を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の一部を示すブロック図。
【図３】同実施形態にかかるインバランス検出処理の手順を示す流れ図。
【図４】同実施形態にかかるインバランスへの対処処理の手順を示す流れ図。
【図５】同実施形態にかかる写像データを生成するシステムを示す図。
【図６】同実施形態にかかる写像データの学習処理の手順を示す流れ図。
【図７】瞬時速度変数や空燃比にインバランスが与える影響を示すタイムチャート。
【図８】（ａ）および（ｂ）は、インバランスと０．５次振幅との関係を示す図。
【図９】第２の実施形態にかかるインバランス学習値の算出処理の手順を示す流れ図。
【図１０】同実施形態にかかるインバランスへの対処処理の手順を示す流れ図。
【図１１】第３の実施形態にかかるインバランスへの対処処理の手順を示す流れ図。
【図１２】第４の実施形態にかかる写像データの選択処理の手順を示す流れ図。
【図１３】第５の実施形態にかかる写像データの選択処理の手順を示す流れ図。
【図１４】第６の実施形態にかかる写像データの選択処理の手順を示す流れ図。
【図１５】第７の実施形態にかかる写像データの選択処理の手順を示す流れ図。
【図１６】第８の実施形態にかかるインバランス検出処理の手順を示す流れ図。
【図１７】第９の実施形態にかかるインバランス検出システムの構成を示す図。
【図１８】（ａ）および（ｂ）は、インバランス検出システムが実行する処理の手順を示す流れ図。
【発明を実施するための形態】
【００３２】
＜第１の実施形態＞
以下、インバランス検出装置にかかる第１の実施形態について図面を参照しつつ説明する。
【００３３】
図１に示す車両ＶＣに搭載された内燃機関１０において、吸気通路１２には、スロットルバルブ１４が設けられている。吸気通路１２から吸入された空気は、吸気バルブ１６が開弁することによって各気筒＃１〜＃４の燃焼室１８に流入する。内燃機関１０においては燃焼室１８に露出するようにして、燃料を噴射する燃料噴射弁２０と、火花放電を生じさせる点火装置２２とが設けられている。燃焼室１８において、空気と燃料との混合気は、燃焼に供され、燃焼によって生じたエネルギは、クランク軸２４の回転エネルギとして取り出される。燃焼に供された混合気は、排気バルブ２６の開弁に伴って、排気として、排気通路２８に排出される。排気通路２８には、酸素吸蔵能力を有した触媒３０が設けられている。排気通路２８は、ＥＧＲ通路３２を介して吸気通路１２に連通されている。ＥＧＲ通路３２には、その流路断面積を調整するＥＧＲバルブ３４が設けられている。
【００３４】
燃料噴射弁２０には、燃料タンク３８に貯蔵された燃料がポンプ３６を介して供給される。燃料タンク３８内で生じた燃料蒸気は、キャニスタ４０に捕集される。キャニスタ４０は、パージ通路４２を介して吸気通路１２に接続されており、パージ通路４２の流路断面積は、パージバルブ４４によって調整される。
【００３５】
クランク軸２４の回転動力は、吸気側バルブタイミング可変装置４６を介して吸気側カム軸４８に伝達される。吸気側バルブタイミング可変装置４６は、吸気側カム軸４８とクランク軸２４との相対的な回転位相差を変更する。
【００３６】
内燃機関１０のクランク軸２４には、トルクコンバータ６０を介して変速装置６４の入力軸６６が連結可能となっている。トルクコンバータ６０は、ロックアップクラッチ６２を備えており、ロックアップクラッチ６２が締結状態となることにより、クランク軸２４と入力軸６６とが連結される。変速装置６４の出力軸６８には、駆動輪６９が機械的に連結されている。なお、本実施形態では、変速装置６４は、１速から５速までの変速比を変更可能な有段変速装置である。
【００３７】
クランク軸２４には、クランク軸２４の複数個の回転角度のそれぞれを示す歯部５２が設けられたクランクロータ５０が結合されている。なお、本実施形態では、３４個の歯部５２を例示している。クランクロータ５０には、基本的には、１０°ＣＡ間隔で歯部５２が設けられているものの、隣接する歯部５２間の間隔が３０°ＣＡとなる箇所である欠け歯部５４が１箇所設けられている。これは、クランク軸２４の基準となる回転角度を示すためのものである。
【００３８】
制御装置７０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御するために、スロットルバルブ１４や、燃料噴射弁２０、点火装置２２、ＥＧＲバルブ３４、パージバルブ４４、吸気側バルブタイミング可変装置４６等の内燃機関１０の操作部を操作する。なお、図１には、スロットルバルブ１４、燃料噴射弁２０、点火装置２２、ＥＧＲバルブ３４、パージバルブ４４および吸気側バルブタイミング可変装置４６のそれぞれの操作信号ＭＳ１〜ＭＳ６を記載している。
【００３９】
制御装置７０は、制御量の制御に際し、エアフローメータ８０によって検出される吸入空気量Ｇａや、触媒３０の上流側に設けられた空燃比センサ８２によって検出される上流側検出値Ａｆｕ、欠け歯部５４を除き１０°ＣＡ毎に設けられた歯部５２間の角度間隔毎のパルスを出力するクランク角センサ８６の出力信号Ｓｃｒを参照する。また制御装置７０は、水温センサ８８によって検出される内燃機関１０の冷却水の温度である水温ＴＨＷや、シフト位置センサ９０によって検出される変速装置６４のシフト位置Ｓｆｔ、加速度センサ９２によって検出される車両ＶＣの上下方向の加速度Ｄａｃｃを参照する。
【００４０】
制御装置７０は、ＣＰＵ７２、ＲＯＭ７４、電気的に書き換え可能な不揮発性メモリである記憶装置７６、および周辺回路７７を備え、それらがローカルネットワーク７８によって通信可能とされたものである。なお、周辺回路７７は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００４１】
制御装置７０は、ＲＯＭ７４に記憶されたプログラムをＣＰＵ７２が実行することによって、上記制御量の制御を実行する。
図２に、ＲＯＭ７４に記憶されたプログラムをＣＰＵ７２が実行することによって実現される処理の一部を示す。
【００４２】
点火時期操作処理Ｍ１０は、内燃機関１０の動作点を規定する回転速度ＮＥおよび充填効率ηに基づき、点火時期のベース値を設定し、これに応じた点火時期ａｉｇとなるように、点火装置２２に操作信号ＭＳ３を出力して点火装置２２を操作する処理である。ここで、充填効率ηは、燃焼室１８内に充填される空気量を示すパラメータであり、ＣＰＵ７２により、吸入空気量Ｇａおよび回転速度ＮＥに基づき算出される。また、回転速度ＮＥは、ＣＰＵ７２によりクランク角センサ８６の出力信号Ｓｃｒに基づき算出される。なお、回転速度ＮＥは、圧縮上死点の出現間隔（本実施形態では１８０°ＣＡ）よりも大きい角度間隔だけクランク軸２４が回転する際の回転速度の平均値である。なお、回転速度ＮＥは、クランク軸２４の１回転以上の回転角度だけクランク軸２４が回転する際の回転速度の平均値とすることが望ましい。なお、ここでの平均値は、単純平均に限らず、たとえば、指数移動平均処理でもよく、１回転以上の回転角度だけクランク軸２４が回転する際のたとえば微小な回転角度間隔における回転速度の複数のサンプリング値によって算出されるものとすればよい。もっとも、これに限らず、１回転以上の回転角度だけ回転するのに要する時間の単一の計測値に基づき算出されてもよい。
【００４３】
ＥＧＲ制御処理Ｍ１２は、内燃機関１０の動作点に基づき、吸気通路１２に吸入された空気の流量と、ＥＧＲ通路３２を介して吸気通路１２に流入した排気の流量との和に対する、同排気の流量の割合であるＥＧＲ率Ｒｅｇｒ率を制御すべく、ＥＧＲバルブ３４に操作信号ＭＳ４を出力してＥＧＲバルブ３４の開口度を操作する処理である。
【００４４】
目標パージ率算出処理Ｍ１４は、充填効率ηに基づき、目標パージ率Ｒｐ＊を算出する処理である。ここで、パージ率とは、キャニスタ４０から吸気通路１２に流入する流体の流量を吸入空気量Ｇａで割った値であり、目標パージ率Ｒｐ＊は、制御上のパージ率の目標値である。
【００４５】
パージバルブ操作処理Ｍ１６は、吸入空気量Ｇａに基づき、パージ率が目標パージ率Ｒｐ＊になるように、パージバルブ４４を操作すべく、パージバルブ４４に操作信号ＭＳ５を出力する処理である。ここで、パージバルブ操作処理Ｍ１６は、目標パージ率Ｒｐ＊が同一である場合、吸入空気量Ｇａが小さいほど、パージバルブ４４の開口度を小さい値とする処理となっている。これは、キャニスタ４０内の圧力が同一であったとしても、吸入空気量Ｇａが小さいほど吸気通路１２内の圧力が低くなることから、吸気通路１２内の圧力よりもキャニスタ４０内の圧力が高くなるため、キャニスタ４０から吸気通路１２に流体が流動しやすいためである。
【００４６】
ベース噴射量算出処理Ｍ１８は、充填効率ηに基づき、燃焼室１８内の混合気の空燃比を目標空燃比とするための燃料量のベース値であるベース噴射量Ｑｂを算出する処理である。詳しくは、ベース噴射量算出処理Ｍ１８は、たとえば充填効率ηが百分率で表現される場合、空燃比を目標空燃比とするための充填効率ηの１％当たりの燃料量ＱＴＨに、充填効率ηを乗算することによりベース噴射量Ｑｂを算出する処理とすればよい。ベース噴射量Ｑｂは、燃焼室１８内に充填される空気量に基づき、空燃比を目標空燃比に制御するために算出された燃料量である。ちなみに、目標空燃比は、たとえば理論空燃比とすればよい。
【００４７】
フィードバック処理Ｍ２０は、フィードバック制御量である上流側検出値Ａｆｕを目標値Ａｆ＊にフィードバック制御するための操作量である補正比率δに「１」を加算したフィードバック補正係数ＫＡＦを算出する処理である。フィードバック補正係数ＫＡＦは、ベース噴射量Ｑｂの補正係数である。ここで、補正比率δが「０」である場合、ベース噴射量Ｑｂの補正比率は、ゼロである。また、補正比率δが「０」よりも大きい場合、ベース噴射量Ｑｂを増量補正し、補正比率δが「０」よりも小さい場合、ベース噴射量Ｑｂを減量補正する。本実施形態では、目標値Ａｆ＊と上流側検出値Ａｆｕとの差を入力とする比例要素および微分要素の各出力値の和と同差に応じた値の積算値を出力する積分要素の出力値との和を補正比率δとする。
【００４８】
空燃比学習処理Ｍ２２は、空燃比学習期間において、補正比率δと「０」とのずれが小さくなるように空燃比学習値ＬＡＦを逐次更新する処理である。空燃比学習処理Ｍ２２には、補正比率δの「０」からのずれ量が所定値以下となる場合、空燃比学習値ＬＡＦが収束したと判定する処理が含まれる。
【００４９】
係数加算処理Ｍ２４は、フィードバック補正係数ＫＡＦに空燃比学習値ＬＡＦを加算する。
パージ濃度学習処理Ｍ２６は、上記補正比率δに基づき、パージ濃度学習値Ｌｐを算出する処理である。パージ濃度学習値Ｌｐは、キャニスタ４０から燃焼室１８への燃料蒸気の流入に起因した、目標空燃比に制御する上で必要な噴射量に対するベース噴射量Ｑｂのずれを補正する補正比率を、パージ率の１％当たりに換算した値である。ここで、本実施形態では、目標パージ率Ｒｐ＊が「０」よりも大きい値に制御されているときのフィードバック補正係数ＫＡＦが「１」からずれる要因を、すべてキャニスタ４０から燃焼室１８に流入した燃料蒸気によるものとみなす。すなわち、補正比率δを、キャニスタ４０から吸気通路１２への燃料蒸気の流入に起因した、目標空燃比に制御する上で必要な噴射量に対するベース噴射量Ｑｂのずれを補正する補正比率とみなす。しかし、補正比率δは、パージ率に依存するものであることから、本実施形態では、パージ濃度学習値Ｌｐをパージ率の１％当たりの値「δ／Ｒｐ」に応じた量とする。具体的には、パージ濃度学習値Ｌｐを、パージ率の１％当たりの値「δ／Ｒｐ」の指数移動平均処理値とする。なお、空燃比学習値ＬＡＦが収束したと判定されていることを条件に、目標パージ率Ｒｐ＊がゼロよりも大きい値とされ、パージ濃度学習処理Ｍ２６が実行されることが望ましい。
【００５０】
パージ補正比率算出処理Ｍ２８は、目標パージ率Ｒｐ＊にパージ濃度学習値Ｌｐを乗算することによって、パージ補正比率Ｄｐを算出する処理である。なお、パージ補正比率Ｄｐは、ゼロ以下の値となる。
【００５１】
補正係数算出処理Ｍ３０は、係数加算処理Ｍ２４の出力値に、パージ補正比率Ｄｐを加算する処理である。
要求噴射量算出処理Ｍ３２は、ベース噴射量Ｑｂに補正係数算出処理Ｍ３０の出力値を乗算することによってベース噴射量Ｑｂを補正し、要求噴射量Ｑｄを算出する処理である。
【００５２】
噴射弁操作処理Ｍ３４は、要求噴射量Ｑｄに基づき、燃料噴射弁２０を操作すべく、燃料噴射弁２０に操作信号ＭＳ２を出力する処理である。
次に、気筒＃１〜＃４のそれぞれにおける燃料噴射弁２０を図２の処理に基づき操作した際に、実際の空燃比が気筒間でずれるインバランスを検出する処理について、説明する。
【００５３】
図３に、インバランスの検出に関する処理の手順を示す。図３に示す処理は、図１に示すＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。
【００５４】
図３に示す一連の処理において、ＣＰＵ７２は、まず、インバランスの検出処理の実行条件が成立するか否かを判定する（Ｓ１０）。本実施形態において、実行条件は、目標パージ率Ｒｐ＊がゼロとされて且つＥＧＲ率Ｒｅｇｒがゼロとされている旨の条件を含む。
【００５５】
次に、ＣＰＵ７２は、微小回転時間Ｔ３０（１），Ｔ３０（２），…，Ｔ３０（２４）、上流側平均値Ａｆｕａｖｅ（１），Ａｆｕａｖｅ（２），…，Ａｆｕａｖｅ（２４）、回転速度ＮＥ、充填効率η、および０．５次振幅Ａｍｐｆ／２を取得する（Ｓ１２）。微小回転時間Ｔ３０は、ＣＰＵ７２により、クランク角センサ８６の出力信号Ｓｃｒに基づき、クランク軸２４が３０°ＣＡ回転するのに要する時間を計時することによって算出される。ここで、微小回転時間Ｔ３０（１），Ｔ３０（２）等、カッコの中の数字が異なる場合、１燃焼サイクルである７２０°ＣＡ内の異なる回転角度間隔であることを示す。すなわち、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）は、７２０°ＣＡの回転角度領域を３０°ＣＡで等分割した各角度間隔における回転時間を示す。
【００５６】
詳しくは、ＣＰＵ７２は、出力信号Ｓｃｒに基づきクランク軸２４が３０°ＣＡだけ回転した時間を計時し、これをフィルタ処理前時間ＮＦ３０とする。次にＣＰＵ７２は、フィルタ処理前時間ＮＦ３０を入力とするデジタルフィルタ処理を施すことによって、フィルタ処理後時間ＡＦ３０を算出する。そしてＣＰＵ７２は、所定期間（たとえば７２０°ＣＡ）におけるフィルタ処理後時間ＡＦ３０の極大値と極小値との差が「１」となるようフィルタ処理後時間ＡＦ３０を正規化することによって、微小回転時間Ｔ３０を算出する。
【００５７】
また、ｍ＝１〜２４とすると、上流側平均値Ａｆｕａｖｅ（ｍ）は、上記各微小回転時間Ｔ３０（ｍ）と同一の３０°ＣＡの角度間隔における上流側検出値Ａｆｕの平均値である。
【００５８】
０．５次振幅Ａｍｐｆ／２はクランク軸２４の回転周波数の０．５次成分の強度であり、ＣＰＵ７２により、微小回転時間Ｔ３０の上記時系列データのフーリエ変換によって算出される。
【００５９】
次にＣＰＵ７２は、インバランス率Ｒｉｖを出力する写像の入力変数ｘ（１）〜ｘ（５１）に、Ｓ１２の処理によって取得した値を代入する（Ｓ１４）。詳しくは、ＣＰＵ７２は、「ｍ＝１〜２４」として、入力変数ｘ（ｍ）に微小回転時間Ｔ３０（ｍ）を代入し、入力変数（２４＋ｍ）に上流側平均値Ａｆｕａｖｅ（ｍ）を代入し、入力変数ｘ（４９）に回転速度ＮＥを代入し、入力変数ｘ（５０）に充填効率ηを代入し、入力変数ｘ（５１）に０．５次振幅Ａｍｐｆ／２を代入する。
【００６０】
本実施形態において、インバランス率Ｒｉｖは、狙いとする噴射量の燃料が噴射されている気筒において「０」とし、狙いとする噴射量よりも実際の噴射量が多い場合に正の値となり、少ない場合に負の値となる。
【００６１】
次にＣＰＵ７２は、図１に示す記憶装置７６に記憶された写像データ７６ａによって規定される写像に入力変数ｘ（１）〜ｘ（５１）を入力することによって、気筒＃ｉ（ｉ＝１〜４）のそれぞれのインバランス率Ｒｉｖ（１）〜Ｒｉｖ（４）を算出する（Ｓ１６）。
【００６２】
本実施形態において、この写像は、中間層が１層のニューラルネットワークによって構成されている。上記ニューラルネットワークは、入力側係数ｗＦｊｋ（ｊ＝０〜ｎ，ｋ＝０〜５１）と、入力側係数ｗＦｊｋによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数ｈ（ｘ）を含む。本実施形態では、活性化関数ｈ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。また、上記ニューラルネットワークは、出力側係数ｗＳｉｊ（ｉ＝１〜４，ｊ＝０〜ｎ）と、出力側係数ｗＳｉｊによって規定される線形写像である出力側線形写像の出力のそれぞれを非線形変換する出力側非線形写像としての活性化関数ｆ（ｘ）を含む。本実施形態では、活性化関数ｆ（ｘ）として、ハイパボリックタンジェント「ｔａｎｈ（ｘ）」を例示する。なお、値ｎは、中間層の次元を示すものである。
【００６３】
なお、ＣＰＵ７２は、Ｓ１６の処理が完了する場合や、Ｓ１０の処理において否定判定する場合には、図３に示す一連の処理を一旦終了する。
図４に、上記インバランス率Ｒｉｖ（ｉ）を利用する処理の手順を示す。図４に示す処理は、図１に示すＲＯＭ７４に記憶された対処プログラム７４ｂをＣＰＵ７２が、たとえばインバランス率Ｒｉｖ（ｉ）が算出される都度、繰り返し実行することにより実現される。
【００６４】
図４に示す一連の処理において、ＣＰＵ７２は、まず、図３の処理によって新たに算出されたインバランス率Ｒｉｖ（ｉ）を入力とする指数移動平均処理によって、インバランス学習値Ｌｉｖ（ｉ）を更新する（Ｓ２０）。すなわち、ＣＰＵ７２は、たとえば記憶装置７６に記憶されているインバランス学習値Ｌｉｖ（ｉ）に係数αを乗算した値と、インバランス率Ｒｉｖ（ｉ）に「１−α」を乗算した値との和によって、インバランス学習値Ｌｉｖを更新する（Ｓ２０）。なお、「０＜α＜１」である。
【００６５】
次にＣＰＵ７２は、インバランス学習値Ｌｉｖ（ｉ）が、リーン側許容限界値ＬＬ以上であって且つリッチ側許容限界値ＬＨ以下であるか否かを判定する（Ｓ２２）。ＣＰＵ７２は、インバランス学習値Ｌｉｖ（ｉ）が、リーン側許容限界値ＬＬ未満であると判定する場合やリッチ側許容限界値よりも大きいと判定する場合には（Ｓ２２：ＮＯ）、ユーザに修理を促すべく、警告灯９８を操作して報知処理を実行する（Ｓ２４）。
【００６６】
一方、ＣＰＵ７２は、リーン側許容限界値ＬＬ以上であって且つリッチ側許容限界値ＬＨ以下であると判定する場合（Ｓ２２：ＹＥＳ）や、Ｓ２４の処理が完了する場合には、各気筒の要求噴射量Ｑｄ（＃ｉ）を補正する（Ｓ２６）。すなわち、ＣＰＵ７２は、各気筒の要求噴射量Ｑｄ（＃ｉ）に、インバランス学習値Ｌｉｖ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖ（ｉ））を加算することによって要求噴射量Ｑｄ（＃ｉ）を補正する。ここで、補正量ΔＱｄ（Ｌｉｖ（ｉ））は、インバランス学習値Ｌｉｖ（ｉ）がゼロよりも大きい場合には、負の値となり、ゼロよりも小さい場合には、正の値となる。なお、インバランス学習値Ｌｉｖ（ｉ）がゼロの場合、補正量ΔＱｄ（Ｌｉｖ（ｉ））もゼロとされる。
【００６７】
なお、ＣＰＵ７２は、Ｓ２６の処理を完了する場合、図４に示す一連の処理を一旦終了する。ちなみに、本実施形態では、Ｓ１０の処理において肯定判定されてＳ１２の処理を実行する場合には、Ｓ２６の処理を一旦停止することとする。
【００６８】
次に写像データ７６ａの生成手法について説明する。
図５に、写像データ７６ａを生成するシステムを示す。
図５に示すように、本実施形態では、内燃機関１０のクランク軸２４に、トルクコンバータ６０および変速装置６４を介してダイナモメータ１００を機械的に連結する。そして内燃機関１０を稼働させた際の様々な状態変数がセンサ群１０２によって検出され、検出結果が、写像データ７６ａを生成するコンピュータである適合装置１０４に入力される。なお、センサ群１０２には、写像への入力を生成するための値を検出するセンサであるエアフローメータ８０や、空燃比センサ８２、クランク角センサ８６が含まれる。
【００６９】
図６に、写像データの生成処理の手順を示す。図６に示す処理は、適合装置１０４によって実行される。なお、図６に示す処理は、たとえば、適合装置１０４にＣＰＵおよびＲＯＭを備え、ＲＯＭに記憶されたプログラムをＣＰＵが実行することにより実現すればよい。
【００７０】
図６に示す一連の処理において、適合装置１０４は、まず、センサ群１０２の検出結果に基づき、Ｓ１２の処理において取得するのと同一のデータを訓練データとして取得する（Ｓ３０）。なお、この処理は、予め単体での計測によって、インバランス率Ｒｉｖがゼロとは異なる様々な値をとる複数の燃料噴射弁２０と、インバランス率がゼロである３個の燃料噴射弁とを用意し、インバランス率がゼロの燃料噴射弁２０を３個、インバランス率がゼロとは異なる燃料噴射弁２０を１個、内燃機関１０に搭載した状態で行われる。なお、搭載された燃料噴射弁のそれぞれのインバランス率Ｒｉｖｔが、教師データとなっている。
【００７１】
次に、適合装置１０４は、Ｓ１４の処理の要領で、入力変数ｘ（１）〜ｘ（５１）に教師データ以外の訓練データを代入する（Ｓ３２）。そして適合装置１０４は、Ｓ１６の処理の要領で、Ｓ３２の処理によって求めた入力変数ｘ（１）〜ｘ（５１）を用いてインバランス率Ｒｉｖ（１）〜Ｒｉｖ（４）を算出する（Ｓ３４）。そしてＣＰＵ７２は、Ｓ３４の処理によって算出されたインバランス率Ｒｉｖ（ｉ）のサンプル数が所定以上であるか否かを判定する（Ｓ３６）。ここで所定以上であるためには、インバランス率Ｒｉｖｔがゼロとは異なる複数の燃料噴射弁のそれぞれが気筒＃１〜＃４のそれぞれに搭載された状態で、内燃機関１０の運転状態を変化させることによって、回転速度ＮＥおよび充填効率ηによって規定される様々な動作点においてインバランス率Ｒｉｖが算出されていることが要求される。
【００７２】
適合装置１０４は、所定以上ではないと判定する場合（Ｓ３６：ＮＯ）、Ｓ３０の処理に戻る。これに対し、ＣＰＵ７２は、所定以上であると判定する場合（Ｓ３６：ＹＥＳ）、教師データとしてのインバランス率ＲｉｖｔとＳ３４の処理によって算出されたインバランス率Ｒｉｖ（ｉ）のそれぞれとの差の２乗和を最小化するように、入力側係数ｗＦｊｋおよび出力側係数ｗＳｉｊを更新する（Ｓ３８）。そして、適合装置１０４は、更新した入力側係数ｗＦｊｋおよび出力側係数ｗＳｉｊ等を学習済みの写像データとして記憶する（Ｓ４０）。
【００７３】
ここで、本実施形態の作用および効果について説明する。
図７に、気筒＃１のインバランス率Ｒｉｖ（１）が正となる場合と、気筒＃４のインバランス率Ｒｉｖ（４）が負となる場合とのそれぞれについて、３６０°ＣＡの周期を有するクランクカウンタ、上流側平均値Ａｆｕａｖｅ、および微小回転時間Ｔ３０の推移を示す。図７に示すように、気筒＃１において燃料噴射量が過剰となる場合と、気筒＃４において燃料噴射量が不足する場合とで、上流側平均値Ａｆｕａｖｅの位相に大きな差はなく、いなかる異常がどの気筒で生じているかを特定することが困難である。しかし、微小回転時間Ｔ３０の時系列データによれば、図７に一点鎖線にて囲ったところからわかるように、それら２種類の異常で明確な相違がある。
【００７４】
そこで、本実施形態において、ＣＰＵ７２は、微小回転時間Ｔ３０の時系列データと、上流側平均値Ａｆｕａｖｅの時系列データとを用いて、インバランス率Ｒｉｖを算出する。これにより、上流側検出値Ａｆｕのみに基づいたのでは、どの気筒でそのような異常が生じているのか区別が困難な場合であっても、各気筒のインバランス率Ｒｉｖ（１）〜ＲＩｖ（４）を算出できる。
【００７５】
しかも、本実施形態では、内燃機関１０の様々な変数を無作為且つ大量に入力してインバランス率Ｒｉｖを算出する写像を機械学習によって学習させるのではなく、内燃機関１０の制御に精通した発明者の知見に基づき、写像に入力する変数を厳選した。そのため、発明者の知見を用いない場合と比較すると、ニューラルネットワークの中間層の層数や、入力変数の次元を小さくすることが可能となり、インバランス率Ｒｉｖ（ｉ）を算出する写像の構造を簡素化しやすい。
【００７６】
以上説明した本実施形態によれば、さらに以下に記載する作用効果が得られる。
（１）内燃機関１０の動作点を規定する動作点変数としての回転速度ＮＥおよび充填効率ηを写像の入力とした。点火装置２２やＥＧＲバルブ３４、吸気側バルブタイミング可変装置４６等の内燃機関１０の操作部の操作量は、内燃機関１０の動作点に基づき定められる傾向がある。そのため、動作点変数は、各操作部の操作量に関する情報を含む変数である。したがって、動作点変数を写像の入力とすることにより、各操作部の操作量に関する情報に基づきインバランス率Ｒｉｖ（ｉ）を算出することができ、ひいてはインバランス率Ｒｉｖ（ｉ）をより高精度に算出することができる。
【００７７】
（２）写像の入力に上流側平均値Ａｆｕａｖｅを含めた。これにより、時系列データの時間間隔毎の上流側検出値Ａｆｕを用いる場合と比較すると、時系列データのデータ数を増加させることなく、触媒３０に流入する酸素や未燃燃料についてのより正確な情報を得ることができ、ひいてはインバランス率Ｒｉｖ（ｉ）をより高精度に算出することができる。
【００７８】
（３）写像への入力に、０．５次振幅Ａｍｐｆ／２を含めることにより、インバランス率Ｒｉｖをより高精度に算出できる。すなわち、図８（ａ）に示すように、インバランス率Ｒｉｖと０．５次振幅Ａｍｐｆ／２との間には線形な関係が成り立っている。また、図８（ｂ）にインバランス率Ｒｉｖ（１）が「１．１５」である場合を例示すように、クランク軸２４の回転周波数の振幅は、インバランス率Ｒｉｖがゼロではない気筒が存在する場合、０．５次成分が特に大きくなる。これは、気筒＃１〜＃４のいずれか１つでインバランス率Ｒｉｖ（ｉ）がゼロと異なる場合、１燃焼サイクルに一度、発生トルクにずれが生じるためであると考えられる。本実施形態では、７２０°ＣＡ周期のトルク変動を、０．５次振幅Ａｍｐｆ／２として取り込むことにより、インバランス率Ｒｉｖをより高精度に算出できる。
【００７９】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００８０】
本実施形態では、インバランス率Ｒｉｖを一度算出した後、目標パージ率Ｒｐ＊をゼロからゼロよりも大きい値に切り替え、その際、再度、インバランス率Ｒｉｖを算出する。そして、その後、ＥＧＲ率Ｒｅｇｒをゼロからゼロよりも大きい値に切り替え、インバランス率Ｒｉｖを再度算出する。このため、本実施形態では、図３のＳ１０の処理における実行条件を、目標パージ率Ｒｐ＊がゼロとされて且つＥＧＲ率Ｒｅｇｒがゼロとされているときと、目標パージ率Ｒｐ＊がゼロからゼロよりも大きい値に切り替えられたときと、ＥＧＲ率Ｒｅｇｒがゼロからゼロよりも大きい値に切り替えられたときとの３つとする。
【００８１】
図９に、こうして算出されたインバランス率Ｒｉｖに基づく学習値の算出処理の手順を示す。図９に示す処理は、ＲＯＭ７４に記憶された対処プログラム７４ｂをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。
【００８２】
図９に示す一連の処理において、ＣＰＵ７２は、まずインバランス率Ｒｉｖが新たに算出されたか否かを判定する（Ｓ５０）。そしてＣＰＵ７２は、算出されたと判定する場合（Ｓ５０：ＹＥＳ）、インバランス率Ｒｉｖの算出に用いた入力変数が、目標パージ率Ｒｐ＊がゼロであって且つＥＧＲ率Ｒｅｇｒがゼロであるときにサンプリングされたものであるか否かを判定する（Ｓ５２）。ＣＰＵ７２は、Ｓ５２の処理において肯定判定する場合、Ｓ２０と同様の処理を実行する（Ｓ５４）。
【００８３】
これに対し、ＣＰＵ７２は、Ｓ５２の処理において否定判定する場合、インバランス率Ｒｉｖの算出に用いた入力変数が、ＥＧＲ率Ｒｅｇｒがゼロであるときにサンプリングされたものであるか否かを判定する（Ｓ５６）。そしてＣＰＵ７２は、ＥＧＲ率Ｒｅｇｒがゼロであるときにサンプリングされたものであると判定する場合（Ｓ５６：ＹＥＳ）、今回算出されたインバランス率Ｒｉｖ（ｉ）を入力とする指数移動平均処理によってパージ時学習値Ｌｉｖｐ（ｉ）を更新する（Ｓ５８）。
【００８４】
一方、ＣＰＵ７２は、インバランス率Ｒｉｖの算出に用いた入力変数が、ＥＧＲ率Ｒｅｇｒがゼロよりも大きいときにサンプリングされたものであると判定する場合（Ｓ５６：ＮＯ）、今回算出されたインバランス率Ｒｉｖ（ｉ）を入力とする指数移動平均処理によってＥＧＲ時学習値Ｌｉｖｅ（ｉ）を更新する（Ｓ６０）。
【００８５】
なお、ＣＰＵ７２は、Ｓ５４，Ｓ５８，Ｓ６０の処理が完了する場合や、Ｓ５０の処理において否定判定する場合には、図９に示す一連の処理を一旦終了する。
図１０に、上記学習値を利用した処理の手順を示す。図１０に示す処理は、図１に示すＲＯＭ７４に記憶された対処プログラム７４ｂをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、図１０において、図４に示した処理に対応する処理については、便宜上、同一のステップ番号を付している。
【００８６】
図１０に示す一連の処理において、ＣＰＵ７２は、Ｓ２２において否定判定するかＳ２４の処理が完了するかする場合、目標パージ率Ｒｐ＊がゼロとされて且つＥＧＲ率Ｒｅｇｒがゼロとされているか否かを判定する（Ｓ６２）。そして、ＣＰＵ７２は、目標パージ率Ｒｐ＊がゼロとされて且つＥＧＲ率Ｒｅｇｒがゼロとされていると判定する場合（Ｓ６２：ＹＥＳ）、Ｓ２６の処理と同様の処理を実行する（Ｓ６４）。
【００８７】
これに対し、ＣＰＵ７２は、Ｓ６２の処理において否定判定する場合、ＥＧＲ率Ｒｅｇｒがゼロであるか否かを判定する（Ｓ６６）。そしてＣＰＵ７２は、ＥＧＲ率Ｒｅｇｒがゼロであると判定する場合（Ｓ６６：ＹＥＳ）、各気筒の要求噴射量Ｑｄ（＃ｉ）を、インバランス学習値Ｌｉｖ（ｉ）のみならず、パージ時学習値Ｌｉｖｐ（ｉ）に基づき補正する（Ｓ６８）。すなわち、ＣＰＵ７２は、各気筒の要求噴射量Ｑｄ（＃ｉ）に、インバランス学習値Ｌｉｖ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖ（ｉ））と、パージ時学習値Ｌｉｖｐ（ｉ）に応じた補正量ΔＱｄｐ（Ｌｉｖｐ（ｉ））とを加算することによって、要求噴射量Ｑｄ（＃ｉ）を補正する。
【００８８】
一方、ＣＰＵ７２は、ＥＧＲ率Ｒｅｇｒがゼロよりも大きいと判定する場合（Ｓ６６：ＮＯ）、各気筒の要求噴射量Ｑｄ（＃ｉ）を、インバランス学習値Ｌｉｖ（ｉ）、パージ時学習値Ｌｉｖｐ（ｉ）、およびＥＧＲ時学習値Ｌｉｖｅ（ｉ）に基づき補正する（Ｓ７０）。すなわち、ＣＰＵ７２は、各気筒の要求噴射量Ｑｄ（＃ｉ）を、インバランス学習値Ｌｉｖ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖ（ｉ））と、パージ時学習値Ｌｉｖｐ（ｉ）に応じた補正量ΔＱｄｐ（Ｌｉｖｐ（ｉ））と、ＥＧＲ時学習値Ｌｉｖｅ（ｉ）に応じた補正量ΔＱｄｅ（Ｌｉｖｅ（ｉ））との和によって補正する。
【００８９】
なお、ＣＰＵ７２は、Ｓ６４，Ｓ６８，Ｓ７０の処理が完了する場合、図１０に示す一連の処理を一旦終了する。ちなみに、本実施形態では、Ｓ５８の処理において用いられるインバランス率Ｒｉｖの算出のためのＳ１２の処理が実行される場合、Ｓ６８の処理において、パージ時学習値Ｌｉｖｐ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖｐ（ｉ））を用いない。また、Ｓ６０の処理において用いられるインバランス率Ｒｉｖの算出のためのＳ１２の処理が実行される場合、Ｓ７０の処理において、ＥＧＲ時学習値Ｌｉｖｅ（ｉ）に応じた補正量ΔＱｄ（Ｌｉｖｅ（ｉ））を用いない。
【００９０】
また、本実施形態においては、写像データ７６ａは、Ｓ６２の処理において肯定判定されるときとＳ６６の処理において肯定判定されるときとＳ６６の処理において否定判定されるときとのそれぞれにおけるデータを訓練データとして学習されたものとすることが望ましい。もっとも、写像データ７６ａを単一のデータとする代わりに、Ｓ６２の処理において肯定判定されるときとＳ６６の処理において肯定判定されるときとＳ６６の処理において否定判定されるときとで、各別のデータとしてもよい。その場合、各データは、該当する訓練データのみを用いて学習されることとする。
【００９１】
以上説明した本実施形態によれば、第１の実施形態に記載したものに加えて、さらに以下に記載する作用効果が得られる。
（４）目標パージ率Ｒｐ＊をゼロよりも大きくした際のインバランス率Ｒｉｖを算出し、これに応じたパージ時学習値Ｌｉｖｐ（ｉ）に基づき、要求噴射量Ｑｄを補正することにより、パージ率がゼロよりも大きい場合においても、気筒＃１〜＃４の空燃比のばらつきを抑制できる。すなわち、パージ率がゼロよりも大きい場合には、キャニスタ４０から吸気通路１２に燃料蒸気が流入し、これが気筒＃１〜＃４のそれぞれに流入するものの、気筒＃１〜＃４毎に流入量にはばらつきがある。そしてこのばらつきは、燃料噴射弁２０の個体差や経年変化等に起因したばらつきを定量化したインバランス学習値Ｌｉｖ（ｉ）によっては、表現できない。これに対し、本実施形態では、パージ時学習値Ｌｉｖｐ（ｉ）に基づき要求噴射量Ｑｄを補正することにより、気筒＃１〜＃４の空燃比のばらつきを抑制できる。
【００９２】
（５）ＥＧＲ率Ｒｅｇｒをゼロよりも大きくした際のインバランス率Ｒｉｖを算出し、これに応じたＥＧＲ時学習値Ｌｉｖｅ（ｉ）に基づき、要求噴射量Ｑｄを補正することにより、ＥＧＲ率Ｒｅｇｒがゼロよりも大きい場合においても、気筒＃１〜＃４の空燃比のばらつきを抑制できる。すなわち、ＥＧＲ率Ｒｅｇｒがゼロよりも大きい場合には、ＥＧＲ通路３２を介して排気通路２８からの排気が吸気通路１２に流入し、これが気筒＃１〜＃４のそれぞれに流入するものの、気筒＃１〜＃４毎に流入量にはばらつきがある。そしてこのばらつきは、燃料噴射弁２０の個体差や経年変化等に起因したばらつきを定量化したインバランス学習値Ｌｉｖ（ｉ）によっては、表現できない。これに対し、本実施形態では、ＥＧＲ時学習値Ｌｉｖｅ（ｉ）に基づき要求噴射量Ｑｄを補正することにより、気筒＃１〜＃４の空燃比のばらつきを抑制できる。
【００９３】
＜第３の実施形態＞
以下、第３の実施形態について、第２の実施形態との相違点を中心に図面を参照しつつ説明する。
【００９４】
本実施形態では、インバランスが噴射量補正によって十分に解消されない場合、点火時期を操作する。
図１１に、インバランス率Ｒｉｖに応じた点火時期の操作に関する処理の手順を示す。図１１に示す処理は、図１に示すＲＯＭ７４に記憶された対処プログラム７４ｂをＣＰＵ７２が、たとえばインバランス学習値Ｌｉｖ（ｉ）等の更新回数が所定数以上となることを条件に、所定周期で繰り返し実行することにより実現される。
【００９５】
図１１に示す一連の処理において、ＣＰＵ７２は、まず、目標パージ率Ｒｐ＊がゼロとされて且つＥＧＲ率Ｒｅｇｒがゼロとされているときにおいて、Ｓ６４の処理を実行したときに新たに算出されたインバランス率Ｒｉｖ（ｉ）の絶対値が所定値Δｔｈ以上であるか否かを判定する（Ｓ７２）。この処理は、インバランス学習値Ｌｉｖ（ｉ）に基づく補正量ΔＱｄ（Ｌｉｖ（ｉ））によっては、十分にインバランスが解消しないか否かを判定する処理である。ＣＰＵ７２は、所定値Δｔｈ以上であると判定する場合（Ｓ７２：ＹＥＳ）、各気筒＃ｉの点火時期ａｉｇ（＃ｉ）を、新たに算出されたインバランス率Ｒｉｖ（ｉ）に基づき補正する（Ｓ７４）。ここでＣＰＵ７２は、たとえば、インバランス率Ｒｉｖ（ｉ）の絶対値がゼロよりも大きい気筒に対し、点火時期ａｉｇを進角する処理を実行する。これは、空燃比が過度にリッチとなり失火気味となっていることに起因してインバランス率Ｒｉｖがゼロから乖離している場合、点火時期ａｉｇを進角することによって燃焼が改善する可能性があるからである。
【００９６】
ＣＰＵ７２は、Ｓ７４の処理が完了する場合や、Ｓ７２の処理において否定判定する場合には、ＥＧＲ率Ｒｅｇｒがゼロであるときにおいて、Ｓ６８の処理を実行したときに新たに算出されたインバランス率Ｒｉｖ（ｉ）の絶対値が所定値Δｔｈｐ以上であるか否かを判定する（Ｓ７６）。この処理は、パージ時学習値Ｌｉｖｐ（ｉ）に基づく補正量ΔＱｄ（Ｌｉｖｐ（ｉ））によっては、十分にインバランスが解消しないか否かを判定する処理である。ＣＰＵ７２は、所定値Δｔｈｐ以上であると判定する場合（Ｓ７６：ＹＥＳ）、各気筒＃ｉの点火時期ａｉｇ（＃ｉ）を、新たに算出されたインバランス率Ｒｉｖ（ｉ）と目標パージ率Ｒｐ＊とに基づき補正する（Ｓ７８）。
【００９７】
ＣＰＵ７２は、Ｓ７８の処理が完了する場合や、Ｓ７６の処理において否定判定する場合には、ＥＧＲ率Ｒｅｇｒがゼロよりも大きいときにおいて、Ｓ７０の処理を実行したときに新たに算出されたインバランス率Ｒｉｖ（ｉ）の絶対値が所定値Δｔｈｅ以上であるか否かを判定する（Ｓ８０）。この処理は、ＥＧＲ時学習値Ｌｉｖｅ（ｉ）に基づく補正量ΔＱｄ（Ｌｉｖｅ（ｉ））によっては、十分にインバランスが解消しないか否かを判定する処理である。ＣＰＵ７２は、所定値Δｔｈｅ以上であると判定する場合（Ｓ８０：ＹＥＳ）、各気筒＃ｉの点火時期ａｉｇ（＃ｉ）を、新たに算出されたインバランス率Ｒｉｖ（ｉ）と目標パージ率Ｒｐ＊とＥＧＲ率Ｒｅｇｒとに基づき補正する（Ｓ８２）。
【００９８】
なお、ＣＰＵ７２は、Ｓ８２の処理が完了する場合や、Ｓ８０の処理において否定判定する場合には、図１１に示す一連の処理を一旦終了する。
＜第４の実施形態＞
以下、第４の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００９９】
本実施形態では、写像データ７６ａとして、複数種類の写像データを記憶装置７６に記憶する。それら複数種類の写像データは、制御モード毎の写像データである。
図１２に、図３の処理に先立って行われる処理の手順を示す。図１２に示す処理は、ＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。
【０１００】
図１２に示す一連の処理において、ＣＰＵ７２は、触媒３０の暖機処理時であるか否かを判定する（Ｓ８４）。暖機処理は、点火時期ａｉｇを所定量だけ遅角する処理を含む。暖機処理は、たとえば、内燃機関１０の始動時からの吸入空気量Ｇａの積算値が所定値以下であることと、水温ＴＨＷが所定温度以下であることとの論理積が真である場合にＣＰＵ７２により実行される。
【０１０１】
ＣＰＵ７２は、触媒暖機処理時ではないと判定する場合（Ｓ８４：ＮＯ）、記憶装置７６に記憶されている写像データ７６ａの中から暖機後用写像データを選択する（Ｓ８６）。これにより、ＣＰＵ７２は、Ｓ１６の処理において暖機後用写像データを用いてインバランス率Ｒｉｖ（ｉ）を算出することとなる。ここで、暖機後用写像データは、内燃機関１０の暖機後において図５に示したセンサ群１０２によって得られた検出値に基づき訓練データを生成し、同訓練データを用いて図６に示す処理にて生成されたデータである。
【０１０２】
これに対し、ＣＰＵ７２は、触媒暖機処理時であると判定する場合（Ｓ８４：ＹＥＳ）、記憶装置７６に記憶されている写像データ７６ａの中から暖機時用写像データを選択する（Ｓ８８）。暖機時用写像データは、内燃機関１０の暖機処理を実行しているときにセンサ群１０２によって得られた検出値に応じた訓練データに基づき生成されたデータである。
【０１０３】
なお、ＣＰＵ７２は、Ｓ８６，Ｓ８８の処理が完了する場合、図１２に示す一連の処理を一旦終了する。
ここで、本実施形態の作用および効果について説明する。
【０１０４】
ＣＰＵ７２は、触媒３０の暖機処理を実行する場合には、暖機時用写像データを用いてインバランス率Ｒｉｖを算出する一方、暖機処理を実行していない場合には、暖機後用写像データを用いてインバランス率Ｒｉｖを算出する。触媒３０の暖機処理時には、点火時期ａｉｇが遅角側とされることから、暖機処理がなされていないときとは、クランク軸２４の回転挙動が異なる。それにもかかわらず、インバランス率Ｒｉｖを高精度に算出する単一の写像を生成しようとする場合、触媒３０の暖機処理時とそうではないときとの識別が可能なデータを入力変数ｘに加えることが望まれ、その場合、入力側係数ｗＦｊｋ等の数を増大させることとなることから、多数の訓練データが必要となる。特に、上記暖機処理の実行条件の成立の有無は、吸入空気量Ｇａおよび水温ＴＨＷの２つのサンプリング値のみから定まるものではないため、触媒３０の暖機処理時とそうではないときとの識別を可能とする上では、入力変数の次元が過大となりやすい。そして入力変数の次元を拡大する場合などには、たとえばニューラルネットワークの中間層を増加させるなどの写像の構造を複雑化する要求が生じやすい。しかし、中間層の層数を増加させる等、写像の構造を複雑化する場合には、ＣＰＵ７２の演算負荷が大きくなる。これに対し、本実施形態では、触媒暖機時と暖機後とで写像データを分けることにより、インバランス率Ｒｉｖの算出精度を確保しつつも、入力変数ｘの次元数が過大となることを抑制することができ、写像の構造を簡素化しやすい。
【０１０５】
＜第５の実施形態＞
以下、第５の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１０６】
本実施形態では、写像データ７６ａとして、複数種類の写像データを記憶装置７６に記憶する。それら写像データは、回転速度ＮＥ毎の写像データである。
図１３に、図３に示した処理に先立って行われる処理の手順を示す。図１３に示す処理は、ＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。
【０１０７】
図１３に示す一連の処理において、ＣＰＵ７２は、まず回転速度ＮＥを取得する（Ｓ９０）。次にＣＰＵ７２は、回転速度ＮＥが低回転閾値ＮＥ１以下であるか否かを判定する（Ｓ９２）。そしてＣＰＵ７２は、低回転閾値ＮＥ１以下であると判定する場合（Ｓ９２：ＹＥＳ）、記憶装置７６に記憶されている写像データ７６ａの中から低回転用写像データを選択する（Ｓ９４）。これにより、ＣＰＵ７２は、Ｓ１６の処理において低回転用写像データを用いてインバランス率Ｒｉｖを算出することとなる。ここで、低回転用写像データは、図５に例示したシステムにおいてダイナモメータ１００等を制御して回転速度ＮＥが低回転用閾値ＮＥ１以下である状態を実現した際にセンサ群１０２によって得られた検出値に基づき訓練データを生成して図６に示す処理にて生成されたデータである。
【０１０８】
これに対し、ＣＰＵ７２は、低回転用閾値ＮＥ１よりも大きいと判定する場合（Ｓ９２：ＮＯ）、回転速度ＮＥが中回転用閾値ＮＥ２以下であるか否かを判定する（Ｓ９６）。中回転用閾値ＮＥ２は、低回転用閾値ＮＥ１よりも大きい値に設定されている。そしてＣＰＵ７２は、中回転用閾値ＮＥ２以下であると判定する場合（Ｓ９６：ＹＥＳ）、記憶装置７６に記憶されている写像データ７６ａの中から中回転用写像データを選択する（Ｓ９８）。中回転用写像データは、内燃機関１０の回転速度ＮＥが低回転用閾値ＮＥ１よりも大きくて且つ中回転用閾値ＮＥ２以下であるときにセンサ群１０２によって得られた検出値に応じた訓練データに基づき生成されたデータである。
【０１０９】
一方、ＣＰＵ７２は、中回転用閾値ＮＥ２よりも大きいと判定する場合（Ｓ９６：ＮＯ）、記憶装置７６に記憶されている写像データ７６ａの中から高回転用写像データを選択する（Ｓ１００）。高回転用写像データは、内燃機関１０の回転速度ＮＥが中回転用閾値ＮＥ２よりも大きいときにセンサ群１０２によって得られた検出値に応じた訓練データに基づき生成されたデータである。
【０１１０】
なお、ＣＰＵ７２は、Ｓ９４，Ｓ９８，Ｓ１００の処理が完了する場合には、図１３に示す一連の処理を一旦終了する。
このように本実施形態では、回転速度ＮＥに応じて写像データを使い分けることにより、各回転速度ＮＥにおいて適切な写像データを用いることができる。そのため、回転速度ＮＥの大きさにかかわらず、共通の写像データを用いる場合と比較して、インバランス率Ｒｉｖの算出精度を確保しつつも、写像の構造を簡素化しやすい。
【０１１１】
＜第６の実施形態＞
以下、第６の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１１２】
本実施形態では、写像データ７６ａとして、複数種類の写像データを記憶装置７６に記憶する。それら複数種類の写像データは、シフト位置Ｓｆｔ毎の写像データである。
図１４に、本実施形態にかかる写像データの選択処理の手順を示す。図１４に示す処理は、ＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。
【０１１３】
図１４に示す一連の処理において、ＣＰＵ７２は、まず、シフト位置Ｓｆｔを取得する（Ｓ１０２）。次にＣＰＵ７２は、シフト位置Ｓｆｔが１速であるか否か（Ｓ１０４）、２速であるか否か（Ｓ１０６）、３速であるか否か（Ｓ１０８）、４速であるか否か（Ｓ１１０）の判定処理によって、シフト位置Ｓｆｔを判定する。そして、ＣＰＵ７２は、１速であると判定する場合には（Ｓ１０４：ＹＥＳ）、記憶装置７６に記憶されている写像データ７６ａの中から１速用写像データを選択する（Ｓ１１２）。これにより、ＣＰＵ７２は、Ｓ１６の処理において１速用写像データを用いてインバランス率Ｒｉｖを算出することとなる。同様に、ＣＰＵ７２は、２速であると判定する場合（Ｓ１０６：ＹＥＳ）、２速用写像データを選択し（Ｓ１１４）、３速であると判定する場合（Ｓ１０８：ＹＥＳ）、３速用写像データを選択し（Ｓ１１６）、４速であると判定する場合（Ｓ１１０：ＹＥＳ）、４速用写像データを選択する（Ｓ１１８）。また、ＣＰＵ７２は、５速であると判定する場合（Ｓ１１０：ＮＯ）、５速用写像データを選択する（Ｓ１２０）。
【０１１４】
ここで、変数ｍを「１」〜「５」とすると、ｍ速用写像データは、変速装置６４がｍ速とされているときに、図５に示したセンサ群１０２によって得られた検出値に基づき訓練データを生成し、同訓練データを用いて図６に示す処理にて生成されたデータである。
【０１１５】
なお、ＣＰＵ７２は、Ｓ１１２〜Ｓ１２０の処理が完了する場合、図１４に示す一連の処理を一旦終了する。
以上説明した本実施形態によれば、シフト位置Ｓｆｔに応じた写像データを用いることにより、シフト位置Ｓｆｔに応じてクランク軸２４から駆動輪６９までの慣性定数が変化し、ひいてはクランク軸２４の回転挙動が変化することを適切に反映してインバランス率Ｒｉｖを算出できる。このため、単一の写像によって全てのシフト位置Ｓｆｔに対処する場合と比較して、インバランス率Ｒｉｖの算出精度を確保しつつも、各写像の構造を簡素化しやすい。
【０１１６】
＜第７の実施形態＞
以下、第７の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１１７】
本実施形態では、写像データ７６ａとして、複数種類の写像データを記憶装置７６に記憶する。それら複数種類の写像データは、路面の状態毎の写像データである。
図１５に、図３の処理に先立って行われる処理の手順を示す。図１５に示す処理は、ＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。
【０１１８】
図１５に示す一連の処理において、ＣＰＵ７２は、まず、加速度Ｄａｃｃを取得する（Ｓ１２２）。次にＣＰＵ７２は、悪路判定フラグＦｂが「１」であるか否かを判定する（Ｓ１２４）。悪路判定フラグＦｂは、車両ＶＣが走行している路面の起伏が多い場合に「１」となり、そうではない場合に「０」となる。ＣＰＵ７２は、悪路判定フラグＦｂが「０」であると判定する場合（Ｓ１２４：ＹＥＳ）、加速度Ｄａｃｃの変化量の絶対値が所定値ΔＤＨ以上である状態が所定時間継続したか否かを判定する（Ｓ１２６）。ここで、変化量は、加速度Ｄａｃｃの前回値と今回値との差とすればよい。この処理は、路面に起伏が多いか否かを判定する処理である。ＣＰＵ７２は、所定時間継続したと判定する場合（Ｓ１２６：ＹＥＳ）、悪路判定フラグＦｂに「１」を代入し（Ｓ１２８）、記憶装置７６に記憶されている写像データ７６ａの中から悪路用写像データを選択する（Ｓ１３０）。これにより、ＣＰＵ７２は、Ｓ１６の処理において悪路用写像データを用いてインバランス率Ｒｉｖを算出することとなる。なお、悪路用写像データを生成するための訓練データは、たとえば図５に示したダイナモメータ１００によって車両に振動が加わった際にクランク軸２４に加わる負荷トルクを模擬しつつ図５に示したセンサ群１０２によって得られた検出値に基づき生成すればよい。またたとえば図５に示した内燃機関１０やダイナモメータ１００等を振動を生成可能な装置に載置し、振動を生じさせることで車両に振動が加わった際にクランク軸２４に加わる負荷トルクを模擬しつつ図５に示したセンサ群１０２によって得られた検出値に基づき訓練データを生成してもよい。
【０１１９】
これに対しＣＰＵ７２は、悪路判定フラグＦｂが「１」であると判定する場合（Ｓ１２４：ＹＥＳ）、加速度Ｄａｃｃの変化量の絶対値が規定値ΔＤＬ（＜ΔＤＨ）以下となる状態が所定時間継続したか否かを判定する（Ｓ１３２）。そしてＣＰＵ７２は、Ｓ１３２の処理において否定判定する場合、Ｓ１３０の処理に移行する。
【０１２０】
一方、ＣＰＵ７２は、所定時間継続したと判定する場合（Ｓ１３２：ＹＥＳ）、悪路判定フラグＦｂに「０」を代入する（Ｓ１３４）。そしてＣＰＵ７２は、Ｓ１３４の処理が完了する場合やＳ１２６の処理において否定判定する場合には、写像データ７６ａの中から通常写像データを選択する（Ｓ１３６）。通常写像データは、たとえば図５に示した内燃機関１０やダイナモメータ１００に意図的な振動を加えない状態で図５に示したセンサ群１０２によって得られた検出値に基づき訓練データを生成し、同訓練データを用いて図６に示す処理にて生成されたデータである。
【０１２１】
なお、ＣＰＵ７２は、Ｓ１３０，Ｓ１３６の処理が完了する場合、図１５に示す一連の処理を一旦終了する。
以上説明した本実施形態によれば、路面の状態に応じた写像データを用いることにより、路面の状態に応じてクランク軸２４の回転挙動が変化することを適切に反映してインバランス率Ｒｉｖを算出できる。しかも、単一の写像にてあらゆる路面の状態に対処する場合と比較して、インバランス率Ｒｉｖの算出精度を確保しつつも、写像の構造を簡素化しやすい。
【０１２２】
＜第８の実施形態＞
以下、第８の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１２３】
本実施形態では、入力変数ｘの次元を拡大する。
図１６に、本実施形態にかかるインバランス検出処理の手順を示す。図１６に示す処理は、ＲＯＭ７４に記憶されたインバランス検出プログラム７４ａをＣＰＵ７２がたとえば所定周期で繰り返し実行することにより実現される。なお、図１６において、図２に示した処理に対応する処理については、便宜上同一のステップ番号を付してその説明を省略する。
【０１２４】
図１６に示す一連の処理において、ＣＰＵ７２は、Ｓ１０の処理において肯定判定する場合、Ｓ１２の処理において取得する変数に加えて、点火時期平均値ａｉｇａｖｅや、ＥＧＲ率平均値Ｒｅｇｒａｖｅ、水温ＴＨＷ、シフト位置Ｓｆｔ、路面状態変数ＳＲ、アルコール濃度Ｄａｌを取得する（Ｓ１２ａ）。ここで、点火時期平均値ａｉｇａｖｅや、ＥＧＲ率平均値Ｒｅｇｒａｖｅは、図１６の処理の周期における点火時期ａｉｇやＥＧＲ率Ｒｅｇｒの平均値である。また、路面状態変数ＳＲは、加速度Ｄａｃｃに基づきＣＰＵ７２によって算出されるパラメータであり、たとえば、路面に起伏が多い場合と少ない場合とで異なる２値の値をとりうる変数とすればよい。ちなみに、路面状態変数ＳＲの生成処理は、たとえば図１５の処理の悪路判定フラグＦｂの値の設定処理と同様の処理とすればよい。また、アルコール濃度Ｄａｌは、たとえば上述のフィードバック処理Ｍ２０の補正比率δから推定すればよい。
【０１２５】
次にＣＰＵ７２は、写像の入力変数ｘ（１）〜ｘ（５７）に、Ｓ１２ａにおいて取得したデータを入力する（Ｓ１４ａ）。ここで、点火時期平均値ａｉｇａｖｅや、ＥＧＲ率平均値Ｒｅｇｒａｖｅは、内燃機関１０の操作部の操作によって燃焼室１８における混合気の燃焼速度を調整するパラメータ（調整変数）である。すなわち、点火時期ａｉｇは、操作部としての点火装置２２の操作量であり、点火装置２２の操作によって燃焼速度を調整する調整変数である。ＥＧＲ率Ｒｅｇｒは、操作部としてのＥＧＲバルブ３４を操作することによって燃焼速度を調整する調整変数である。これら調整変数を入力変数ｘに加えるのは、混合気の燃焼速度によってクランク軸２４の挙動が変化することに鑑みたものである。
【０１２６】
一方、水温ＴＨＷは、内燃機関１０の状態変数であり、特に、ピストンとシリンダとの摩擦等、摺動部の摩擦を変化させるパラメータである。水温ＴＨＷによってもクランク軸２４の回転挙動が変化することに鑑み、本実施形態では、水温ＴＨＷを入力変数ｘに加える。
【０１２７】
また、アルコール濃度Ｄａｌによって理論空燃比が異なることから、燃料噴射量のばらつき度合いが変化する要因となりうることに鑑み、本実施形態では、アルコール濃度Ｄａｌを入力変数に加える。
【０１２８】
ＣＰＵ７２は、Ｓ１４ａの処理を完了する場合、写像データ７６ａによって規定される写像に入力変数ｘ（１）〜ｘ（５７）を入力することによって、気筒＃１〜＃４のインバランス率Ｒｉｖ（ｉ）を算出する（Ｓ１６ａ）。この写像は、中間層が「α」個であって且つ、各中間層の活性化関数ｈ１〜ｈα、および出力層の活性化関数ｆがハイパボリックタンジェントであるニューラルネットワークによって構成されている。たとえば、第１の中間層の各ノードの値は、係数ｗ（１）ｊｉ（ｊ＝０〜ｎ１，ｉ＝０〜５７）によって規定される線形写像に上記入力変数ｘ（１）〜ｘ（５７）を入力した際の出力を活性化関数ｈ１に入力することによって生成される。すなわち、ｍ＝１，２，…，αとすると、第ｍの中間層の各ノードの値は、係数ｗ（ｍ）によって規定される線形写像の出力を活性化関数ｈｍに入力することによって生成される。ここで、ｎ１，ｎ２，…，ｎαは、それぞれ、第１、第２、…、第αの中間層のノード数である。ちなみに、ｗ（１）ｊ０等は、バイアスパラメータであり、入力変数ｘ（０）は、「１」と定義している。
【０１２９】
ＣＰＵ７２は、Ｓ１６ａの処理を完了する場合、図１６の処理を一旦終了する。
なお、本実施形態では、図６のＳ３０の処理において取得する訓練データにＳ１２ａにおいて取得した全てのパラメータを含め、Ｓ３２の処理としてＳ１４ａ相当の処理を実行し、Ｓ３４の処理において、入力変数ｘが５７次元の写像を用いる。ただし、ここでは、入力変数ｘ（０）を次元数に含めていない。また、路面状態変数ＳＲが路面に起伏が多いことを示す場合に対応する訓練データは、図１５に示した悪路用写像データの生成に用いたものと同様とする。
【０１３０】
このように、本実施形態では、入力変数ｘに、燃焼速度を調整する調整変数や、内燃機関１０の状態変数、駆動系状態変数、路面状態変数ＳＲ、アルコール濃度Ｄａｌを加えた。これらは、クランク軸２４の回転挙動に影響するパラメータであるものの、互いに隣り合う角度間隔の回転に要する時間同士の差に基づきインバランスを検知する従来手法によっては、加味することが困難であったものである。すなわち、これらのパラメータを加味する場合、適合工数が膨大となって実現性に乏しい。これに対し、本実施形態では、機械学習を用いることによって、実用的な適合工数の範囲で、これらを加味してインバランス率Ｒｉｖ（ｉ）を算出するロジックを構築できる。
【０１３１】
＜第９の実施形態＞
以下、第９の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【０１３２】
本実施形態では、インバランス率Ｒｉｖ（ｉ）の算出処理を車両の外部で行う。
図１７に本実施形態にかかるインバランス検出システムを示す。なお、図１７において、図１に示した部材に対応する部材については、便宜上同一の符号を付している。
【０１３３】
図１７に示す車両ＶＣ内の制御装置７０は、通信機７９を備えている。通信機７９は車両ＶＣの外部のネットワーク１１０を介してセンター１２０と通信するための機器である。
【０１３４】
センター１２０は、複数の車両ＶＣから送信されるデータを解析する。センター１２０は、ＣＰＵ１２２、ＲＯＭ１２４、記憶装置１２６、周辺回路１２７および通信機１２９を備えており、それらがローカルネットワーク１２８によって通信可能とされるものである。ＲＯＭ１２４には、インバランス検出メインプログラム１２４ａが記憶されており、記憶装置１２６には、写像データ１２６ａが記憶されている。
【０１３５】
図１８に、図１７に示したシステムが実行する処理の手順を示す。図１８（ａ）に示す処理は、図１７に示すＲＯＭ７４に記憶されたインバランス検出サブプログラム７４ｃをＣＰＵ７２が実行することにより実現される。また、図１８（ｂ）に示す処理は、ＲＯＭ１２４に記憶されているインバランス検出メインプログラム１２４ａをＣＰＵ１２２が実行することにより実現される。なお、図１８において図１６に示した処理に対応する処理については、便宜上同一のステップ番号を付している。以下では、インバランス検出処理の時系列に沿って、図１８に示す処理を説明する。
【０１３６】
図１８（ａ）に示すように、車両ＶＣにおいてＣＰＵ７２は、Ｓ１２ａの処理を完了すると、通信機７９を操作することによって、Ｓ１２ａの処理において取得したデータを、車両ＶＣの識別情報である車両ＩＤとともにセンター１２０に送信する（Ｓ１３２）。
【０１３７】
これに対し、センター１２０のＣＰＵ１２２は、図１８（ｂ）に示すように、送信されたデータを受信し（Ｓ１４０）、Ｓ１４ａ，Ｓ１６ａの処理を実行する。そしてＣＰＵ１２２は、通信機１２９を操作することによって、Ｓ１４０の処理によって受信したデータが送信された車両ＶＣにインバランス率Ｒｉｖ（ｉ）に関する信号を送信し（Ｓ１４２）、図１８（ｂ）に示す一連の処理を一旦終了する。これに対し、図１８（ａ）に示すように、ＣＰＵ７２は、インバランス率Ｒｉｖ（ｉ）に関する信号を受信し（Ｓ１３４）、図１８（ａ）に示す一連の処理を一旦終了する。
【０１３８】
このように、本実施形態では、センター１２０においてインバランス率Ｒｉｖを算出することとしたため、ＣＰＵ７２の演算負荷を軽減できる。
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１，７］インバランス検出装置は、制御装置７０に対応する。実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応する。記憶装置は、記憶装置７６に対応する。所定の回転角度間隔は、７２０°ＣＡに対応し、第１間隔および第２間隔は、３０°ＣＡに対応し、空燃比検出変数は、上流側平均値Ａｆｕａｖｅに対応し、瞬時速度変数は、微小回転時間Ｔ３０に対応し、複数の回転波形変数は、微小回転時間Ｔ３０（１）〜Ｔ３０（２４）に対応する。取得処理は、Ｓ１２，Ｓ１２ａの処理に対応する。算出処理は、Ｓ１４，Ｓ１６の処理や、Ｓ１４ａ，Ｓ１６ａの処理に対応する。対処処理は、Ｓ２４，Ｓ２６，Ｓ６４，Ｓ６８，Ｓ７０，Ｓ７４，Ｓ７８，Ｓ８２の処理に対応する。［２］０．５次成分変数は、０．５次振幅Ａｍｐｆ／２に対応する。［３］動作点変数は、回転速度ＮＥおよび充填効率ηに対応する。［４］調整変数は、点火時期平均値ａｉｇａｖｅ、ＥＧＲ率平均値Ｒｅｇｒａｖｅに対応する。［５］駆動系状態変数は、シフト位置Ｓｆｔに対応する。［６］路面状態変数は路面状態変数ＳＲに対応する。［８］選択処理は、図１２〜図１５の処理に対応する。［９］調整装置は、パージバルブ４４に対応する。燃料蒸気の影響の有無に応じたインバランス変数は、Ｓ５２の処理において肯定判定されるときのインバランス率Ｒｉｖと否定判定されるときのインバランス率Ｒｉｖとに対応する。［１０］ＥＧＲ通路を介して流入する排気の影響の有無に応じたインバランス変数は、Ｓ５６の処理において肯定判定されるときのインバランス率Ｒｉｖと否定判定されるときのインバランス率Ｒｉｖとに対応する。［１１］燃焼を制御するための操作部は、燃料噴射弁２０や点火装置２２に対応する。［１２］互いに異なる補正量は、ΔＱｄに対応する。［１３］第１実行装置は、ＣＰＵ７２およびＲＯＭ７４に対応する。第２実行装置は、ＣＰＵ１２２およびＲＯＭ１２４に対応する。算出処理は、図１８のＳ１４ａ，Ｓ１６ａの処理に対応する。車両側送信処理は、Ｓ１３２の処理に対応し、車両側受信処理は、Ｓ１３４の処理に対応する。外部側受信処理は、Ｓ１４０の処理に対応し、外部側送信処理は、Ｓ１４２の処理に対応する。［１４］データ解析装置は、センター１２０に対応する。［１５］内燃機関の制御装置は、図１６に示す制御装置７０に対応する。
【０１３９】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【０１４０】
・「第１間隔、第２間隔について」
写像への入力となる上流側平均値Ａｆｕａｖｅのサンプリング間隔である第１間隔としては、３０°ＣＡに限らない。たとえば１０°ＣＡ等、３０°ＣＡよりも小さい角度間隔であってもよい。もっとも３０°ＣＡ以下の角度間隔に限らず、たとえば４５°ＣＡ等であってもよい。
【０１４１】
写像への入力となる微小回転時間Ｔ３０のサンプリング間隔である第２間隔としては、３０°ＣＡに限らない。たとえば１０°ＣＡ等、３０°ＣＡよりも小さい角度間隔であってもよい。もっとも３０°ＣＡ以下の角度間隔に限らず、たとえば４５°ＣＡ等であってもよい。
【０１４２】
なお、第１間隔と第２間隔とが、同一の大きさの間隔であることは必須ではない。
・「所定の回転角度間隔について」
写像の入力となる上流側平均値Ａｆｕａｖｅの時系列データおよび微小回転時間Ｔ３０の時系列データとしては、７２０°の回転角度間隔における時系列データに限らない。たとえば、７２０°ＣＡよりも広い回転角度間隔における時系列データであってもよい。またたとえば下記「複数種類の写像データについて」の欄に記載したように、特定の気筒＃ｉのインバランス率Ｒｉｖ（ｉ）のみを出力する写像を用いる場合には、７２０°ＣＡよりも狭い角度間隔の時系列データであってもよい。
【０１４３】
また、たとえば、第１の所定期間における微小回転時間Ｔ３０の時系列データと第２の所定期間における上流側平均値Ａｆｕａｖｅの時系列データとを写像への入力とする場合、第１の所定期間および第２の所定期間の２つの期間の一方に対して他方を遅延させてもよい。なお、第１の所定期間と第２の所定期間とが互いに等しい角度間隔を有する期間であることも必須ではない。
【０１４４】
・「写像への入力としての回転波形変数について」
上記実施形態では、１燃焼サイクルである７２０°ＣＡの回転角度間隔が分割された複数の間隔のそれぞれにおける微小回転時間Ｔ３０を写像への入力としたが、これに限らない。たとえば、０〜７２０°ＣＡのうちの、０〜２０，４０〜６０，８０〜１００，１２０〜１４０，１６０〜１８０，…，７００〜７２０のそれぞれを第２間隔として、それらの回転に要する時間を写像への入力としてもよい。
【０１４５】
瞬時速度変数としては、第２間隔の回転に要する時間である微小回転時間に限らない。たとえば、第２間隔を微小回転時間で割った値であってもよい。なお、瞬時速度変数としては、極大値と極小値との差を固定値とする正規化処理がなされたものであることは必須ではない。また、写像の入力とするための前処理としてのフィルタ処理としては、上述したものに限らず、たとえば変速装置６４の入力軸６６の微小回転時間に基づき、入力軸６６によってクランク軸２４が回されている影響分を除く処理がなされたものとしてもよい。もっとも、写像の入力としての瞬時速度変数にフィルタ処理が施されていることは必須ではない。
【０１４６】
写像への入力としての回転波形変数としては、瞬時速度変数の時系列データに限らない。たとえば、圧縮上死点の出現間隔だけ離間した一対の瞬時速度変数同士の差の時系列データであってもよい。この際、瞬時速度変数は、圧縮上死点の出現間隔以下の角度間隔を第２間隔として、その回転に要する時間である微小回転時間や、第２間隔を微小回転時間で除算した値とする。
【０１４７】
・「写像への入力としての空燃比検出変数について」
上記実施形態では、１燃焼サイクルである７２０°ＣＡの回転角度間隔が分割された複数の間隔のそれぞれにおける上流側平均値Ａｆｕａｖｅを写像への入力としたが、これに限らない。たとえば、０〜７２０°ＣＡのうちの、０〜２０，４０〜６０，８０〜１００，１２０〜１４０，１６０〜１８０，…，７００〜７２０のそれぞれを第１間隔として、それらにおける上流側平均値Ａｆｕａｖｅを写像への入力としてもよい。
【０１４８】
上記実施形態では、上流側平均値Ａｆｕａｖｅを、１度の第１間隔における複数のサンプリング値の平均値としたが、これに限らない。たとえば、複数の燃焼サイクルにわたって、第１間隔のそれぞれにおける上流側検出値Ａｆｕをサンプリングし、それらを各第１間隔毎に平均することによって、上流側平均値Ａｆｕａｖｅを算出してもよい。
【０１４９】
空燃比検出変数としては、上流側平均値Ａｆｕａｖｅに限らず、上流側検出値Ａｆｕであってもよい。
・「内燃機関の動作点変数について」
上記実施形態では、回転速度ＮＥおよび充填効率ηによって動作点変数を規定したが、これに限らない。たとえば、回転速度ＮＥおよび吸入空気量Ｇａであってもよい。またたとえば、負荷として、充填効率ηに代えて、噴射量や内燃機関に対する要求トルクを用いてもよい。負荷として噴射量や要求トルクを用いることは、下記「内燃機関について」の欄に記載した圧縮着火式内燃機関において特に有効である。
【０１５０】
・「写像の入力としての混合気の燃焼速度を調整する調整変数について」
Ｓ１６ａの処理では、写像の入力となって且つ燃焼速度を調整する調整変数として、点火時期平均値ａｉｇａｖｅ、およびＥＧＲ率平均値Ｒｅｇｒａｖｅを用いたが、それら２つのパラメータに関しては、たとえば１つのみを用いてもよい。
【０１５１】
点火時期を示す変数としての点火変数としては、点火時期平均値ａｉｇａｖｅに限らず、点火時期ａｉｇであってもよい。ＥＧＲ率を示す変数としては、ＥＧＲ率平均値Ｒｅｇｒａｖｅに限らず、ＥＧＲ率Ｒｅｇｒであってもよい。
【０１５２】
またたとえば、下記「内燃機関について」の欄に記載したように圧縮着火式内燃機関に適用する場合には、点火変数に代えて、噴射時期やその平均値を用いればよい。
写像の入力となって且つ燃焼速度を調整する調整変数としては、上記変数に限らず、たとえば吸気バルブ１６の開弁タイミングやリフト量、排気バルブ２６の開弁タイミングやリフト量等であってもよい。またたとえば、いくつかの気筒において混合気の燃焼制御を停止する気筒休止制御中においては、燃焼制御を停止している気筒の情報であってもよい。またたとえば、過給機とウェストゲートバルブとを備える内燃機関１０の場合、ウェストゲートバルブの開口度であってもよい。
【０１５３】
・「写像の入力としての駆動系状態変数について」
Ｓ１６ａの処理では、クランク軸２４に連結される駆動系装置の状態変数として、シフト位置Ｓｆｔを用いたが、これに限らない。たとえばロックアップクラッチ６２の状態であってもよい。この状態は、たとえば締結状態であるか解放状態であるかの２値的な状態であってもよいが、締結状態、解放状態、およびスリップ状態のそれぞれを識別するものであってもよい。
【０１５４】
またたとえば、変速装置６４の油温であってもよい。またたとえば駆動輪６９の回転速度であってもよい。さらに、下記「車両について」の欄に記載したように、推力を生成する装置として、内燃機関１０とモータジェネレータとを備える場合、モータジェネレータのトルクや回転速度を含めてもよい。なお、写像の入力となる駆動系装置の状態変数は、１つに限らない。
【０１５５】
・「写像の入力としての路面状態変数について」
路面状態変数ＳＲとしては、起伏の大小に応じた２値的な変数に限らず、たとえば起伏の大小に応じた３値以上の変数であってもよい。また、加速度Ｄａｃｃに基づき路面状態変数ＳＲを生成する手法としては、図１５に例示した手法に限らず、たとえば、加速度Ｄａｃｃの絶対値の所定時間当たりの平均値を用いてもよい。これによれば、路面状態変数ＳＲは連続的な量となる。
【０１５６】
路面状態変数ＳＲとしては、車両ＶＣの上下方向の加速度の検出値に基づき定量化されたものに限らない。たとえば車両の横方向の加速度や前後方向の加速度によって定量化してもよい。さらに、写像の入力として、車両の上下方向の加速度と、横方向の加速度と前後方向の加速度との３つの加速度のうちのいずれか２つ、または全てを用いて定量化されたものであってもよい。
【０１５７】
Ｓ１６ａの処理に用いた路面状態変数ＳＲは、加速度センサ９２によって検出される加速度Ｄａｃｃによって定量化されたが、これに限らない。たとえば、カメラによる路面の撮像データやレーダの反射波に関するデータの解析結果データを用いてもよい。またたとえば路面の状態を有する地図データとＧＰＳを用いて現在地における路面の状態を取得し、これを用いてもよい。また各車輪の空気圧を用いてもよい。すなわち、各車輪の空気圧の差には、路面の傾斜や凹凸に関する情報が含まれている。またたとえば燃料ゲージやオイルゲージ等、車両内の流体の液面の位置を検知するセンサの検出値を用いてもよい。すなわち、液面の変動には路面の凹凸等の情報が含まれている。またサスペンションの油圧を検知するセンサの検出値を用いてもよい。すなわち、この油圧には、路面の凹凸等の情報が含まれている。
【０１５８】
なお、路面状態変数としては、路面の凹凸等を定量化したものに限らない。たとえば、凍結の有無等、摩擦の大小を定量化したものであってもよく、また起伏と摩擦の大小との双方を識別する変数であってもよい。
【０１５９】
・「写像の入力について」
写像の入力としては、上記実施形態や上記変更例において例示したものに限らない。たとえば、内燃機関１０の置かれた環境に関するパラメータを用いてもよい。具体的には、たとえば大気圧を用いてもよい。またたとえば、燃焼室１８内における混合気の燃焼速度に影響を与えるパラメータである吸気温を用いてもよい。またたとえば、燃焼室１８内における混合気の燃焼速度に影響を与えるパラメータである湿度を用いてもよい。なお、湿度の把握には、湿度センサを用いてもよいが、ワイパーの状態や、雨滴を検知するセンサの検出値を利用してもよい。また、クランク軸２４に機械的に連結される補機の状態に関するデータであってもよい。
【０１６０】
写像の入力に内燃機関１０の動作点を含めることは必須ではない。たとえば下記「内燃機関について」の欄に記載したように内燃機関がシリーズハイブリッド車に搭載され、その動作点が狭い範囲に制限された制御が前提とされる場合等にあっては、動作点を含めなくてもインバランス率Ｒｉｖ（ｉ）を高精度に算出することが可能となる。
【０１６１】
・「制御モード毎の写像データについて」
制御モード毎の写像データとしては、図１２に例示したように、触媒３０の暖機制御モードと、暖機完了後のモードとのそれぞれ毎に設けるものに限らない。たとえば、下記「内燃機関１０について」の欄に記載したようにポート噴射弁と筒内噴射弁との双方を備える内燃機関の場合には、ポート噴射弁のみによる燃料の噴射制御がなされるモードと、筒内噴射弁を用いた燃料の噴射制御がなされるモードとのそれぞれ毎に各別に設けるものであってもよい。
【０１６２】
・「制御の結果としての内燃機関の状態変数毎の写像データについて」
図１３においては、回転速度ＮＥ毎の写像データを３種類としたが、これに限らず２種類であってもよく、また４種類以上であってもよい。
【０１６３】
制御の結果としての内燃機関１０の状態変数毎の写像データとしては、図１３に例示した回転速度ＮＥ毎の写像データに限らない。たとえば充填効率η毎に設けてもよい。またたとえば、回転速度ＮＥおよび充填効率η毎等、内燃機関１０の動作点毎に設けてもよい。
【０１６４】
・「駆動系状態変数毎の写像データについて」
たとえば下記「そのほか」の欄に記載したように、変速装置として無段変速装置を用いる場合、変速比の取りうる領域を複数に分割したそれぞれ毎に写像データを備えればよい。
【０１６５】
クランク軸２４に連結される駆動系状態変数毎の写像データとしては、シフト位置Ｓｆｔ毎の写像データに限らない。たとえば「写像の入力としての駆動系状態変数について」の欄に記載した駆動系状態変数を写像の入力としない代わりに、同状態変数毎に写像データを設けてもよい。もっとも、それら状態変数毎に写像データを設ける場合に、その状態変数を写像の入力に含めないことは必須ではない。
【０１６６】
・「路面状態変数毎の写像データについて」
路面状態変数毎の写像データとしては、図１５に例示したものに限らない。たとえば「写像の入力としての路面状態変数について」の欄に記載した路面状態変数ＳＲを写像の入力としない代わりに、その路面状態変数ＳＲ毎に写像を設けてもよい。もっとも、路面状態変数ＳＲ毎に写像を設ける場合に、その路面状態変数ＳＲを写像の入力に含めないことは必須ではない。
【０１６７】
・「複数種類の写像データについて」
複数種類の写像データを設けるものとしては、制御の結果としての内燃機関１０の状態変数毎に設けるものや、制御モード毎に設けるもの、駆動系状態変数毎に設けるもの、路面状態変数毎に設けるものに限らない。たとえば「写像の入力としての混合気の燃焼速度を調整する調整変数について」の欄に記載した調整変数を写像の入力としない代わりに、同調整変数毎に写像データを設けてもよい。もっとも、たとえばＥＧＲ変数等の調整変数毎に写像データを設ける場合に、写像の入力にその調整変数を含めないことは必須ではない。またたとえば「写像の入力について」の欄に記載した内燃機関の置かれた環境に関するパラメータを写像の入力としない代わりに、環境に関するパラメータ毎に写像データを設けてもよい。もっとも、環境に関するパラメータ毎に写像データを設ける場合に、そのパラメータを写像の入力に含めないことは必須ではない。
【０１６８】
またたとえば、目標パージ率Ｒｐ＊がゼロの場合とゼロよりも大きい場合とで、各別の写像データを備えてもよい。
さらに、複数種類の写像データとしては、上記いくつかの写像データの組み合わせであってもよい。すなわち、たとえばシフト位置Ｓｆｔ毎の写像データがさらに回転速度ＮＥ毎の写像データに細分化されていてもよい。
【０１６９】
加えて、特定の気筒のインバランス率Ｒｉｖに限ってこれを出力する写像を規定する写像データを、気筒数だけ設けてもよい。
・「写像データについて」
たとえば図１６の処理において、ニューラルネットワークの中間層の層数を２層以上としてもよい。
【０１７０】
Ｓ１６ａの処理において、ニューラルネットワークの中間層の層数は、２層よりも多い表現となっているが、これに限らない。特に、制御装置７０の演算負荷を軽減する観点からは、ニューラルネットワークの中間層の層数を、１層または２層にまで絞ることが望ましい。
【０１７１】
上記実施形態では、活性化関数ｈ，ｆ，ｈ１，ｈ２，…ｈαを、ハイパボリックタンジェントとしたが、これに限らない。たとえば活性化関数ｈ，ｈ１，ｈ２，…ｈαのうちの一部または全てを、ＲｅＬＵとしてもよく、またとえば、ロジスティックジグモイド関数としてもよい。
【０１７２】
図３等において、インバランス率Ｒｉｖを出力する写像としては、いずれか１つの気筒に限って燃料噴射量が想定したものからずれる現象を対象として学習されたものに限らない。たとえば２つの気筒において燃料噴射量が想定したものからずれる現象を対象として学習されたものであってもよい。この場合、写像への入力にクランク軸２４の回転周波数の１次成分の強度を含めてもよい。
【０１７３】
なお、ニューラルネットワークへの入力としては、各次元が単一の物理量からなるものに限らない。たとえば上記例示した物理量等を用いた複数種類の物理量の一部については、ニューラルネットワークへの直接の入力とする代わりに、それらの主成分分析によるいくつかの主成分を、ニューラルネットワークへの直接の入力としてもよい。もっとも、主成分をニューラルネットワークの入力とする場合に、ニューラルネットワークへの入力の一部のみが主成分となることは必須ではなく、全部を主成分としてもよい。なお、ニューラルネットワークへの入力に主成分が含まれる場合、写像データ７６ａ，１２６ａには、主成分を定める写像を規定するデータが含まれることとなる。
【０１７４】
・「機械学習のアルゴリズムについて」
機械学習のアルゴリズムとしては、ニューラルネットワークを用いるものに限らない。たとえば、回帰式を用いてもよい。これは、上記ニューラルネットワークにおいて中間層を備えないものに相当する。
【０１７５】
・「写像データの生成について」
上記実施形態では、クランク軸２４にトルクコンバータ６０および変速装置６４を介してダイナモメータ１００が接続された状態で内燃機関１０を稼働した時のデータを訓練データとして用いたが、これに限らない。たとえば車両ＶＣに搭載された状態で内燃機関１０が駆動されたときにおけるデータを訓練データとして用いてもよい。
【０１７６】
・「データ解析装置について」
センター１２０において、Ｓ２２の処理と、Ｓ２４の処理に代えたユーザの携帯端末に異常がある旨を報知する処理と、を実行してもよい。
【０１７７】
図１８（ｂ）の処理を、たとえばユーザが所持する携帯端末によって実行してもよい。
・「実行装置について」
実行装置としては、ＣＰＵ７２（１２２）とＲＯＭ７４（１２４）とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、実行装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【０１７８】
・「記憶装置について」
上記実施形態では、写像データ７６ａ，１２６ａが記憶される記憶装置を、インバランス検出プログラム７４ａやインバランス検出メインプログラム１２４ａが記憶される記憶装置（ＲＯＭ７４，１２４）とを別の記憶装置としたが、これに限らない。
【０１７９】
・「内燃機関について」
上記実施形態では、燃料噴射弁として、燃焼室１８内に燃料を噴射する筒内噴射弁を例示したがこれに限らない。たとえば吸気通路１２に燃料を噴射するポート噴射弁であってもよい。またたとえば、ポート噴射弁と筒内噴射弁との双方を備えてもよい。
【０１８０】
内燃機関としては、火花点火式内燃機関に限らず、たとえば燃料として軽油などを用いる圧縮着火式内燃機関等であってもよい。
内燃機関が駆動系を構成すること自体必須ではない。たとえば、車載発電機にクランク軸が機械的に連結され、駆動輪６９とは動力伝達が遮断されたいわゆるシリーズハイブリッド車に搭載されるものであってもよい。
【０１８１】
・「車両について」
車両としては、車両の推進力を生成する装置が内燃機関のみとなる車両に限らず、たとえば「内燃機関について」の欄に記載したシリーズハイブリッド車以外にも、パラレルハイブリッド車や、シリーズ・パラレルハイブリッド車であってもよい。
【０１８２】
・「そのほか」
クランク軸と駆動輪との間に介在する駆動系装置としては、有段の変速装置に限らず、たとえば無段変速装置であってもよい。
【符号の説明】
【０１８３】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…吸気バルブ、１８…燃焼室、２０…燃料噴射弁、２２…点火装置、２４…クランク軸、２６…排気バルブ、２８…排気通路、３０…触媒、３２…ＥＧＲ通路、３４…ＥＧＲバルブ、３６…ポンプ、３８…燃料タンク、４０…キャニスタ、４２…パージ通路、４４…パージバルブ、４６…吸気側バルブタイミング可変装置、４８…吸気側カム軸、５０…クランクロータ、５２…歯部、５４…欠け歯部、６０…トルクコンバータ、６２…ロックアップクラッチ、６４…変速装置、６６…入力軸、６８…出力軸、６９…駆動輪、７０…制御装置、７２…ＣＰＵ、７４…ＲＯＭ、７４ａ…インバランス検出プログラム、７４ｂ…対処プログラム、７４ｃ…インバランス検出サブプログラム、７６…記憶装置、７６ａ…写像データ、７７…周辺回路、７８…ローカルネットワーク、７９…通信機、８０…エアフローメータ、８２…空燃比センサ、８６…クランク角センサ、８８…水温センサ、９０…シフト位置センサ、９２…加速度センサ、９８…警告灯、１００…ダイナモメータ、１０２…センサ群、１０４…適合装置、１１０…ネットワーク、１２０…センター、１２２…ＣＰＵ、１２４…ＲＯＭ、１２４ａ…インバランス検出メインプログラム、１２６…記憶装置、１２６ａ…写像データ、１２７…周辺回路、１２８…ローカルネットワーク、１２９…通信機。
【図１】
2020133533.tif 000003
【図２】
2020133533.tif 000004
【図３】
2020133533.tif 000005
【図４】
2020133533.tif 000006
【図５】
2020133533.tif 000007
【図６】
2020133533.tif 000008
【図７】
2020133533.tif 000009
【図８】
2020133533.tif 000010
【図９】
2020133533.tif 000011
【図１０】
2020133533.tif 000012
【図１１】
2020133533.tif 000013
【図１２】
2020133533.tif 000014
【図１３】
2020133533.tif 000015
【図１４】
2020133533.tif 000016
【図１５】
2020133533.tif 000017
【図１６】
2020133533.tif 000018
【図１７】
2020133533.tif 000019
【図１８】
2020133533.tif 000020
【手続補正書】
【提出日】令和1年7月26日(2019.7.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多気筒の内燃機関に適用されるインバランス検出装置であって、
記憶装置と、実行装置と、を備え、
前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであり、
前記写像の入力には、前記クランク軸の回転挙動を検知するセンサの検出値に基づく前記クランク軸の回転周波数の０．５次成分が含まれ、
前記取得処理は、前記０．５次成分を規定する変数である０．５次成分変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記０．５次成分変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理であるインバランス検出装置。
【請求項２】
多気筒の内燃機関に適用されるインバランス検出装置であって、
記憶装置と、実行装置と、を備え、
前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであり、
前記写像の入力には、前記クランク軸に連結される駆動系装置の状態を示す変数である駆動系状態変数が含まれ、
前記取得処理は、前記駆動系状態変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記駆動系状態変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理であり、
前記駆動系状態変数は、前記クランク軸に連結される変速装置の状態を示す変数、またはロックアップクラッチの状態を示す変数であるインバランス検出装置。
【請求項３】
多気筒の内燃機関に適用されるインバランス検出装置であって、
記憶装置と、実行装置と、を備え、
前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであり、
前記回転波形変数は、複数の前記第２間隔のそれぞれにおける前記瞬時速度変数自体によってそれら瞬時速度変数同士の差を示す変数として構成されており、
前記取得処理は、前記回転波形変数として複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を取得する処理を含み、
前記算出処理は、前記回転波形変数として複数の前記第２間隔のそれぞれにおける前記瞬時速度変数を前記写像への入力として前記インバランス変数を算出する処理であるインバランス検出装置。
【請求項４】
多気筒の内燃機関に適用されるインバランス検出装置であって、
記憶装置と、実行装置と、を備え、
前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであり、
前記内燃機関は、燃料噴射弁から噴射される燃料を貯蔵する燃料タンク内の燃料蒸気を捕集するキャニスタと、前記キャニスタと前記内燃機関の吸気通路とを接続するパージ通路と、前記パージ通路を介して前記キャニスタから前記吸気通路に流入する燃料蒸気の流量を調整する調整装置と、を備え、
前記算出処理は、前記燃料蒸気の流量がゼロであるときに前記取得処理によって取得されたデータを前記写像への入力として前記インバランス変数を算出し、該インバランス変数から第１学習値を算出して記憶する処理と、前記燃料蒸気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力としてインバランス変数を算出し、該インバランス変数から第２学習値を算出して記憶する処理との双方を含んでおり、
前記対処処理は、前記燃料蒸気の流量がゼロである場合、記憶された学習値のうち前記第１学習値を選択的に用いて前記所定のハードウェアを操作する処理であるインバランス検出装置。
【請求項５】
多気筒の内燃機関に適用されるインバランス検出装置であって、
記憶装置と、実行装置と、を備え、
前記記憶装置は、回転波形変数、および複数の第１間隔のそれぞれにおける空燃比センサの出力に応じた変数である空燃比検出変数を入力とし、複数の気筒のそれぞれにおける混合気の空燃比を互いに等しい空燃比に制御すべく燃料噴射弁を操作した際の実際の空燃比同士のばらつき度合いを示す変数であるインバランス変数を出力する写像を規定するデータである写像データを記憶しており、
前記実行装置は、クランク軸の回転挙動を検知するセンサの検出値に基づく前記回転波形変数および複数の第１間隔のそれぞれにおける前記空燃比検出変数を取得する取得処理、前記取得処理によって取得された値を入力とする前記写像の出力に基づき前記インバランス変数を算出する算出処理、および前記算出処理の算出結果に基づき、所定のハードウェアを操作することによって前記空燃比のばらつき度合いが大きいことに対処するための対処処理を実行し、
前記回転波形変数は、複数の第２間隔のそれぞれにおけるクランク軸の回転速度に応じた変数である瞬時速度変数同士の相違を示す変数であり、
前記第１間隔および前記第２間隔は、いずれも圧縮上死点の出現間隔よりも小さい前記クランク軸の角度間隔であり、
前記写像の入力とする前記回転波形変数および複数の前記空燃比検出変数は、それぞれ、前記出現間隔よりも大きい所定の角度間隔内の時系列データであり、
前記内燃機関は、排気通路および吸気通路を接続するＥＧＲ通路と、ＥＧＲ通路を介して前記排気通路から前記吸気通路へと流入する排気の流量を調整するＥＧＲバルブと、を備える内燃機関に適用され、
前記算出処理は、前記吸気通路へと流入する排気の流量がゼロであるときに前記取得処理によって取得されたデータを前記写像への入力として前記インバランス変数を算出し、該インバランス変数から第１学習値を算出して記憶する処理と、前記吸気通路へと流入する排気の流量がゼロよりも大きいときに前記取得処理によって取得されたデータを前記写像への入力としてインバランス変数を算出し、該インバランス変数から第２学習値を算出して記憶する処理との双方を含んでおり、
前記対処処理は、前記吸気通路へと流入する排気の流量がゼロである場合、記憶された学習値のうち前記第１学習値を選択的に用いて前記所定のハードウェアを操作する処理であるインバランス検出装置。
【請求項６】
前記写像データは、機械学習によって学習されたデータを含む請求項１〜５のいずれか１項に記載のインバランス検出装置。
【請求項７】
前記写像の入力には、前記内燃機関の動作点を規定する変数である動作点変数が含まれ、
前記取得処理は、前記動作点変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記動作点変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１〜６のいずれか１項に記載のインバランス検出装置。
【請求項８】
前記写像の入力には、前記内燃機関の操作部の操作によって前記内燃機関の燃焼室における混合気の燃焼速度を調整するための変数である調整変数が含まれ、
前記取得処理は、前記調整変数を取得する処理を含み、
前記算出処理は、前記取得処理によって取得された前記調整変数を前記写像への入力にさらに含めた前記写像の出力に基づき前記インバランス変数を算出する処理である請求項１〜７のいずれか１項に記載のインバランス検出装置。
【請求項９】
前記記憶装置は、前記写像データを複数種類備え、
前記算出処理は、前記複数種類の写像データから前記インバランス変数を算出するために利用する前記写像データを選択する選択処理を含む請求項１〜８のいずれか１項に記載のインバランス検出装置。
【請求項１０】
前記対処処理は、前記空燃比のばらつき度合いが大きい場合、前記所定のハードウェアとしての前記内燃機関の燃焼室内の混合気の燃焼を制御するための操作部を、前記インバランス変数に応じて操作する操作処理を含む請求項１〜９のいずれか１項に記載のインバランス検出装置。
【請求項１１】
前記操作処理は、複数の気筒のそれぞれに燃料を供給するための、前記操作部としての燃料噴射弁を操作する処理を含む請求項１０記載のインバランス検出装置。
【請求項１２】
請求項１〜１１のいずれか１項に記載の前記実行装置および前記記憶装置を備え、
前記実行装置は、第１実行装置および第２実行装置を含み、
前記第１実行装置は、車両に搭載されて且つ、前記取得処理と、前記取得処理によって取得されたデータを車両の外部に送信する車両側送信処理と、前記算出処理の算出結果に基づく信号を受信する車両側受信処理と、前記対処処理と、を実行し、
前記第２実行装置は、前記車両の外部に配置されて且つ、前記車両側送信処理によって送信されたデータを受信する外部側受信処理と、前記算出処理と、前記算出処理の算出結果に基づく信号を前記車両に送信する外部側送信処理と、を実行するインバランス検出システム。
【請求項１３】
請求項１２記載の前記第２実行装置および前記記憶装置を備えるデータ解析装置。
【請求項１４】
請求項１２記載の前記第１実行装置を備える内燃機関の制御装置。