(57)【要約】【課題】誤差モデルを用いて、クランク角度の測定値から算出されるエンジン状態パラメータの算出値の精度を高めること。【解決手段】エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得するクランク角度取得部と、クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出する第１クランク角速度計算部と、クランク角度に係る入力に応じて、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを記憶する誤差モデル記憶部と、クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する状態パラメータ導出部とを含む、エンジン状態パラメータ算出装置が開示される。【選択図】図３
2019027329.tif 000002
【特許請求の範囲】
【請求項１】
エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得するクランク角度取得部と、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出する第１クランク角速度計算部と、
クランク角度に係る入力に応じて、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを記憶する誤差モデル記憶部と、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する状態パラメータ導出部とを含む、エンジン状態パラメータ算出装置。
【請求項２】
前記状態パラメータ導出部は、クランク角度の前記測定値に基づいて、前記誤差モデルが出力する前記誤差を得、該誤差と、クランク角速度の前記第１算出値とに基づいて、エンジン状態パラメータの前記算出値を導出する、請求項１に記載のエンジン状態パラメータ算出装置。
【請求項３】
前記誤差モデルは、クランク角度に係る入力に応じてクランク角速度の誤差を出力するモデルであり、
前記状態パラメータ導出部は、クランク角度の前記測定値に係る入力に応じて前記誤差モデルが出力する前記誤差に基づいて、クランク角速度の前記第１算出値を補正し、補正した前記第１算出値に基づいて、エンジン状態パラメータの前記算出値を導出する、請求項２に記載のエンジン状態パラメータ算出装置。
【請求項４】
前記誤差モデルは、線形関数と非線形関数との組み合わせを含む、請求項２又は３に記載のエンジン状態パラメータ算出装置。
【請求項５】
前記線形関数は、区分線形関数である、請求項４に記載のエンジン状態パラメータ算出装置。
【請求項６】
前記誤差モデルは、ハマーシュタイン・ウィナーモデルである、請求項５に記載のエンジン状態パラメータ算出装置。
【請求項７】
前記誤差モデル記憶部には、エンジンの複数の運転条件のそれぞれに対応付けれらた前記誤差モデルが記憶され、
前記状態パラメータ導出部は、クランク角度の前記測定値が得られた際のエンジンの運転条件に基づいて、該運転条件に対応付けられた前記誤差モデルを用いる、請求項１〜６のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
【請求項８】
エンジンの筒内圧の実測値を取得する筒内圧取得部と、
筒内圧の前記実測値に基づいて、クランク角速度の第２算出値を導出する第２クランク角速度計算部と、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、クランク角速度の前記第２算出値とに基づいて、前記第１算出値と前記第２算出値との差を前記誤差とする前記誤差モデルを構築する学習部とを含む、請求項１〜７のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
【請求項９】
エンジンと、
エンジンのクランクシャフトに対して設けられるクランクセンサと、
前記クランクセンサを介してクランク角度の測定値を取得するクランク角度取得部と、
クランク角度の前記測定値に基づいて、クランク角速度の算出値を導出するクランク角速度計算部と、
クランク角度に係る入力に応じて、クランク角速度に係る誤差又はクランク角速度に相関するパラメータに係る誤差を出力する誤差モデルを記憶する誤差モデル記憶部と、
クランク角度の前記測定値と、クランク角速度の前記算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する状態パラメータ導出部と、
エンジン状態パラメータの前記算出値に基づいて、エンジンを制御する制御部とを含む、エンジン制御システム。
【請求項１０】
エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得し、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出し、
クランク角度に係る入力に応じて誤差を出力する誤差モデルであって、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを、取得し、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出することを含む、コンピュータにより実行されるエンジン状態パラメータ算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、エンジン状態パラメータ算出装置、エンジン状態パラメータ算出方法、及びエンジン制御システムに関する。
【背景技術】
【０００２】
Wiebe関数から算出されるエンジンの図示トルクの算出値と、エンジンの筒内圧の実測値から算出される図示トルクの算出値との差であるトルク誤差に関する誤差補正モデルを構築する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2008-215204号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような従来技術では、誤差モデルを用いて、クランク角度の測定値から算出されるエンジン状態パラメータ（例えば図示トルク）の算出値の精度を高めることが難しい。尚、上記の特許文献１には、誤差補正モデルに関する具体的な実現（構築方法など）が開示されておらず、稼働時の誤差補正モデルへの入力等も不明である。
【０００５】
そこで、１つの側面では、本発明は、誤差モデルを用いて、クランク角度の測定値から算出されるエンジン状態パラメータの算出値の精度を高めることを目的とする。
【課題を解決するための手段】
【０００６】
１つの側面では、エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得するクランク角度取得部と、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出する第１クランク角速度計算部と、
クランク角度に係る入力に応じて、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを記憶する誤差モデル記憶部と、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する状態パラメータ導出部とを含む、エンジン状態パラメータ算出装置が提供される。
【発明の効果】
【０００７】
１つの側面では、本発明によれば、誤差モデルを用いて、クランク角度の測定値から算出されるエンジン状態パラメータの算出値の精度を高めることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】状態パラメータ算出システムの一例を示す構成図である。
【図２】状態パラメータ算出装置のハードウェア構成の一例を示す図である。
【図３】実施例１による状態パラメータ算出装置の機能ブロック図である。
【図４】誤差モデルの説明図である。
【図５】誤差モデルの具体例の説明図である。
【図６】クランク角速度の誤差データとクランク角度の測定データの各例を示す図である。
【図７】実施例１による状態パラメータ算出装置により実行される処理の一例を示すフローチャートである。
【図８】実施例１によるクランク角速度の算出結果を示す図である。
【図９】実施例２による状態パラメータ算出装置の機能ブロック図である。
【図１０】実施例２による状態パラメータ算出装置により実行される処理の一例を示すフローチャートである。
【図１１】実施例２による図示トルクの算出結果を示す図である。
【図１２】比較例による図示トルクの算出結果を示す図である。
【図１３】エンジン制御システムの一例を示す図である。
【図１４】実施例３による状態パラメータ算出システムを示す構成図である。
【図１５】実施例３による状態パラメータ算出装置の機能ブロック図である。
【図１６】学習用データ記憶部内の学習用データの一例の説明図である。
【図１７】実施例３による状態パラメータ算出装置により実行される処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら各実施例について詳細に説明する。
【００１０】
［実施例１］
図１は、エンジン状態パラメータ算出システム（以下、「状態パラメータ算出システム」とも称する）の一例を示す構成図である。
【００１１】
状態パラメータ算出システム１は、エンジン（図示せず）を備える車両に搭載されてよい。車両は、エンジンのみを駆動源とする車両であってもよいし、電気モータとエンジンの双方を駆動源とするハイブリッド車であってもよい。エンジンの種類は任意であり、例えば、ガソリンエンジンであってもよいし、ディーゼルエンジンであってもよい。但し、変形例では、状態パラメータ算出システム１の一部（例えば後述の状態パラメータ算出装置）は、車両と通信可能なサーバにより実現されてもよい。
【００１２】
状態パラメータ算出システム１は、クランクセンサ４と、エンジン状態パラメータ算出装置（以下、「状態パラメータ算出装置」とも称する）１０とを含む。
【００１３】
クランクセンサ４は、エンジンに取り付けられる。クランクセンサ４は、エンジンのクランクシャフト（図示せず）の回転角であるクランク角度に応じたクランク角信号を出力する。例えば、クランクセンサ４は、クランクシャフト（シグナルロータ）の回転角に応じたクランク角信号を生成する。クランク角信号は、所定クランク角ピッチ（例えば１０ＣＡピッチ）毎にパルスを発生させる信号であってよい。クランクセンサ４の検出方式は任意であり、電磁誘導方式やホールセンサ方式であってよい。また、シグナルロータの外周は、所定クランク角ピッチに対応したピッチで突起（歯）を有しつつ、上死点検出用に欠歯部を有してもよい。
【００１４】
図２は、状態パラメータ算出装置１０のハードウェア構成の一例を示す図である。状態パラメータ算出装置１０のハードウェアは、例えば、マイクロコンピューター、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＰＬＣ（Programmable  Logic  Controller）等を含んでよい。
【００１５】
図２に示す例では、状態パラメータ算出装置１０は、制御部１０１、主記憶部１０２、補助記憶部１０３、及び、ハードウェアＩ／Ｆ部１０６を含む。
【００１６】
制御部１０１は、主記憶部１０２や補助記憶部１０３に記憶されたプログラムを実行する演算装置であり、記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。制御部１０１は、例えばＣＰＵ(Central  Processing  Unit)やタイマカウンタ等を含んでよい。
【００１７】
主記憶部１０２は、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などであり、制御部１０１が実行するアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
【００１８】
補助記憶部１０３は、ＥＥＰＲＯＭ（Electric-Erasable  Programmable  Read-Only  Memory）などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
【００１９】
ハードウェアＩ／Ｆ部１０６は、有線及び／又は無線回線などで接続された車両ネットワーク（例えば、CAN（controller  area  network）等）やエンジンの周辺機器（例えば、クランクセンサ４等）と状態パラメータ算出装置１０とのインターフェースである。
【００２０】
尚、図２に示す例において、以下で説明する各種処理は、プログラムを制御部１０１に実行させることで実現することができる。
【００２１】
図３は、実施例１による状態パラメータ算出装置１０の機能ブロック図である。
【００２２】
状態パラメータ算出装置１０は、クランク角度測定値取得部１４（クランク角度取得部の一例）と、クランク角速度計算部１５（第１クランク角速度計算部の一例）と、状態パラメータ導出部１６と、誤差モデル記憶部２０とを含む。クランク角度測定値取得部１４、クランク角速度計算部１５、及び状態パラメータ導出部１６は、例えば、図２に示す制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。誤差モデル記憶部２０は、例えば、図２に示す主記憶部１０２や補助記憶部１０３により実現できる。
【００２３】
クランク角度測定値取得部１４は、クランクセンサ４からのクランク角信号に基づいて、クランク角度の測定値を取得する。
【００２４】
クランク角速度計算部１５は、クランク角度の測定値に基づいて、クランク角速度の算出値（第１算出値の一例）を導出する。例えば、クランク角速度は、クランク角度の測定値の前回値と今回値との差分を、サンプリング周期で除算することで算出できる。尚、クランク角速度計算部１５は、平滑化処理を行ってもよい。例えば、クランク角速度計算部１５は、クランク角速度の算出値のデータ（時系列）に対して、各サンプル点前後で平滑化処理を行ってもよい。平滑化処理では、移動平均法などが用いられてよい。例えば、クランク角速度計算部１５は、サンプル点前後の窓幅３０点で移動平均法によって平滑化を行う。このような平滑化処理によりノイズ等の影響を低減できる。
【００２５】
状態パラメータ導出部１６は、クランク角度測定値取得部１４から得るクランク角度の測定値と、クランク角速度計算部１５から得るクランク角速度の算出値と、誤差モデル記憶部２０内の誤差モデルとに基づいて、エンジン状態パラメータの算出値を導出する。実施例１では、エンジン状態パラメータは、一例として、クランク角速度である。状態パラメータ導出部１６は、クランク角速度計算部１５から得るクランク角速度の算出値に対して、誤差モデルに基づく補正がなされたクランク角速度の算出値を導出する。以下、区別のため、状態パラメータ導出部１６が導出するクランク角速度の算出値を、「クランク角速度の補正値」と称する。誤差モデルに基づく補正とは、誤差モデルが出力する誤差を低減する補正であり、具体例は以下で詳説する。
【００２６】
誤差モデル記憶部２０は、誤差モデルを記憶する。
【００２７】
図４は、誤差モデルの説明図である。
【００２８】
誤差モデルは、図４に模式的に示すように、クランク角度を入力として、クランク角速度の誤差を出力するモデルである。尚、変形例では、等価的に、クランク角度に代えて、クランク角度に相関する入力が使用されてもよいし、クランク角速度の誤差に代えて、クランク角速度に相関するパラメータ（例えばエンジンの図示トルクや、クランク角加速度等）の誤差が出力されてもよい。即ち、誤差モデルは、クランク角度に係る入力（クランク角度自体を含む）に応じて、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力するものであってよい。
【００２９】
図５は、誤差モデルの具体例の説明図である。図５には、誤差モデルの好ましい例として、誤差モデル５０が示される。誤差モデル５０は、図５に模式的に示すように、線形関数５０２と非線形関数５０１、５０３との組み合わせを含むハマーシュタイン・ウィナーモデルである。誤差モデル５０は、クランク角度を入力ｕとして、クランク角速度の誤差ｙ３を出力する。
【００３０】
非線形関数５０１は、例えば区分線形関数である。図５に示す例では、非線形関数５０１は、クランク角度を入力ｕとして、ｙ１を出力する。即ち、ｙ１＝ｆ１（ｕ）である。ここで、ｆ１は、非線形関数５０１である。
【００３１】
線形関数５０２は、例えば伝達関数であり、Ｚ変換で表現されてよい。図５に示す例では、線形関数５０２は、ｙ１を入力として、ｙ２を出力する。例えば、線形関数５０２は、以下の通りであってよい。
【００３２】
【数１】
2019027329.tif 000003
【００３３】
非線形関数５０３は、例えば区分線形関数である。図５に示す例では、非線形関数５０３は、ｙ２を入力として、ｙ３を出力する。即ち、ｙ３＝ｆ２（ｙ２）である。ここで、ｆ２は、非線形関数５０３である。
【００３４】
実施例１では、一例として、状態パラメータ導出部１６は、クランク角速度計算部１５から得るクランク角速度の算出値に、誤差モデル５０の出力ｙ３を加算することで、クランク角速度の補正値を得る。
【００３５】
尚、図５では、誤差モデル５０は、線形関数５０２と非線形関数５０１、５０３との組み合わせを含むが、これに限られない。例えば、非線形関数５０３は省略されてもよい。この場合、ｙ２がクランク角速度の誤差となるように誤差モデルが構築される。
【００３６】
誤差モデルは、予め同定されてから記憶されてもよいし、稼働時に学習により構築又は更新されてもよい。即ち、誤差モデルは、事前にオフラインで構築することもできるし、あるいは、オンラインで構築することもできる。誤差モデルは、エンジンの筒内圧の実測値を用いて同定（構築）できる。エンジンの筒内圧の実測値は、筒内圧センサを介して取得できる。
【００３７】
同定方法は、例えば次の通りであってよい。尚、以下の説明において、記号の上に付く表記「・」（以下、「ドット」と称する）は、微分を表す。以下、「データ」とは、特に言及しない限り、時系列データであり、各データ間は、同一の時系列に係る（即ちクランク角度のサンプリング周期で同期している）ものとする。
【００３８】
先ず、クランク角度の測定データに基づいて、クランク角速度の算出値データを得る。尚、クランク角度の測定値に基づくクランク角速度の算出値の導出方法は、上述のとおりである。クランク角速度の算出値データは、上述した平滑化処理を経て得られてもよい。以下、このようにしてクランク角度の測定データに基づいて導出されるクランク角速度の算出値データを、「クランク角速度の実測値データ」と称する。
【００３９】
次いで、筒内圧ＰＣＹＣに基づいてエンジンの図示トルクτを導出する。図示トルクは、各気筒における筒内圧によるトルクや慣性トルク等の和として算出できる。例えば、筒内圧ＰＣＹＣと、クランク角度θと、図示トルクτとは、次の関係式で表せる。
【００４０】
【数２】
2019027329.tif 000004
ここで、ｋは、サンプリング周期であり、ｊは、気筒番号であり、τ（ｋ、ｊ）は、サンプリング周期ｋでの気筒番号ｊの気筒でのトルクであり、τｔｏｔａｌ（ｋ）は、サンプリング周期ｋでのトルクの合計値である。θ（ｋ）は、サンプリング周期ｋでのクランク角度である。また、rは、クランク径（ストローク長の半分の長さ）であり、Lは、コンロッド長であり、Dは、ボア径であり、ｍcycは、総気筒数である。
【００４１】
数２の関係式を用いて、複数の同期したサンプリング周期で得た筒内圧ＰＣＹＣの実測値データとクランク角度θの測定データとに基づいて、トルクτｔｏｔａｌの算出値データ（以下、区別のため、「トルクτｔｏｔａｌの真値データ」と称する）が得られる。
【００４２】
クランク角速度とトルクτｔｏｔａｌとは、次の関係を有する。
【００４３】
【数３】
2019027329.tif 000005
ここで、Ｊは、クランクシャフトの慣性モーメントである。従って、トルクτｔｏｔａｌの真値データから、クランク角速度（θドット）の測定データが得られる。以下、このようにして得られるクランク角速度の測定データは、クランク角速度の実測値データとの区別のため、「クランク角速度の真値データ」と称される。
【００４４】
次いで、誤差モデルは、クランク角度θの測定データと、クランク角速度の測定データとクランク角速度の真値データとの差との関係を表すように同定される。例えば、クランク角速度の実測値データに基づくサンプリング周期ｋでのクランク角速度の実測値をθドット実測（ｋ）とし、クランク角速度の真値データに基づくサンプリング周期ｋでのクランク角速度の真値をθドット真（ｋ）とする。このとき、サンプリング周期ｋでのクランク角速度の誤差ｅ（ｋ）は、次のとおりである。
【００４５】
【数４】
2019027329.tif 000006
従って、図５に示す誤差モデルでは、サンプリング周期ｋでのクランク角度の測定値θ（ｋ）を入力ｕとして、そのときの出力ｙ３（ｋ）とｅ（ｋ）と差を最小化する態様で、線形関数５０２と非線形関数５０１、５０３の係数等が同定される。例えば、線形関数５０２が伝達関数である場合は、線形関数５０２に係る同定は、関数形を同定することや、数１の各種係数ａ１〜ａｎ、ｂ１〜ｂｍの各値を同定する等により実現できる。
【００４６】
誤差モデルは、好ましくは、エンジンの複数の運転条件のそれぞれごとに同定される。即ち、誤差モデルは、エンジンの複数の運転条件のそれぞれごとに用意される。これは、運転条件が異なると、クランク角度の測定データと、クランク角速度の測定データとクランク角速度の真値データとの差との関係が異なってくるためである（図６を用いて後述）。運転条件は、例えばエンジンでの燃料の噴射量や、エンジンの回転数である。その他、運転条件は、燃料噴射圧、酸素濃度、吸気圧等を含んでもよい。誤差モデルの構築に係る運転条件の分解能やパラメータ数が増加するほど同定精度が高くなるが、同定時の計算負荷が高くなる。従って、誤差モデルの構築に係る運転条件の分解能等は、かかる観点から任意に設定されてよい。
【００４７】
図６は、横軸に時間を取り、クランク角速度の誤差データと、クランク角度θの測定データの各例を示す図である。図６では、上側には、縦軸にクランク角速度の誤差を取り、クランク角速度の誤差データが示され、下側には、縦軸にクランク角度を取り、クランク角度θの測定データが示される。クランク角速度の誤差データは、クランク角速度の真値データとクランク角速度の実測値データとの差分（上述のクランク角速度の誤差ｅ（ｋ）参照）のデータである。
【００４８】
図６では、燃料の噴射量を２０ｍｍ３／ｓｔとしたときと、８０ｍｍ３／ｓｔとしたときの２種類の各データが示される。クランク角速度の誤差データは、波形６０１が噴射量＝２０ｍｍ３／ｓｔのデータであり、波形６０２が噴射量＝８０ｍｍ３／ｓｔのデータである。また、クランク角度θの測定データは、波形６０３が噴射量＝２０ｍｍ３／ｓｔのデータであり、波形６０４が噴射量＝８０ｍｍ３／ｓｔのデータであるが、両者は略重なっている。
【００４９】
図６に示すように、噴射量が変化すると、噴射量ごとのクランク角度θの測定データが略同じであるときでも、噴射量ごとのクランク角速度の誤差データは有意に異なっている。このことから、運転条件（この場合、燃料の噴射量）のそれぞれごとに誤差モデルを生成することが有用なことが分かる。換言すると、クランク角速度の誤差データは、運転条件ごとに有意に異なるので、運転条件ごとの誤差モデルを構築することで、クランク角速度の誤差を精度良くモデル化できる。
【００５０】
また、図６から分かるように、クランク角速度の誤差データに係る波形６０１、６０２は、規則性を有し、かつ、周期的に変化する特性を有する。本願発明者は、かかる特性を知見して、クランク角速度の誤差データを同定するには、線形関数５０２と非線形関数５０１、５０３との組み合わせを含む誤差モデル５０が好適であることを見出している。尚、本願発明者は、クランク角速度の誤差データは、例えば線形関数５０２だけで同定すると、同定精度が良好でないことを確認している。
【００５１】
図７は、状態パラメータ算出装置１０により実行される処理の一例を示すフローチャートである。図７の処理は、例えば、所定周期毎（例えば20ミリ秒毎）に繰り返し実行される。所定周期は、クランク角度の測定値のサンプリング周期と同期されてよい。
【００５２】
ステップＳ７００では、クランク角度測定値取得部１４は、クランクセンサ４を介してクランク角度の測定値を取得する。
【００５３】
ステップＳ７０２では、クランク角速度計算部１５は、ステップＳ７００で得たクランク角度の測定値に基づいて、クランク角速度の算出値を導出する。クランク角速度の算出値の導出方法は、上述のとおりである。
【００５４】
ステップＳ７０３では、状態パラメータ導出部１６は、エンジンの現在の運転条件（図７では、一例として、エンジン回転数と噴射量）を判断し、現在の運転条件に応じた誤差モデルを、誤差モデル記憶部２０から抽出（取得）する。
【００５５】
ステップＳ７０４では、状態パラメータ導出部１６は、ステップＳ７００で得たクランク角度の測定値と、ステップＳ７０３で得た誤差モデルとに基づいて、誤差モデルの出力として、クランク角速度の誤差を得る。即ち、状態パラメータ導出部１６は、誤差モデルに、ステップＳ７００で得たクランク角度の測定値を入力として与えることで、誤差モデルの出力として、クランク角速度の誤差を得る。
【００５６】
ステップＳ７０６では、状態パラメータ導出部１６は、ステップＳ７０２で得たクランク角速度の算出値と、ステップＳ７０４で得たクランク角速度の誤差とに基づいて、クランク角速度の補正値を得る。実施例１では、一例として、上述のように、状態パラメータ導出部１６は、ステップＳ７０２で得たクランク角速度の算出値に、ステップＳ７０４で得たクランク角速度の誤差を加算することで、クランク角速度の補正値を得る。
【００５７】
図７に示す処理によれば、所定周期毎に、クランク角度の測定値に基づいて、クランク角速度の補正値を得ることができる。また、エンジンの運転条件に応じた誤差モデルが使用されるので、多様な運転条件下においても、精度の高いクランク角速度の補正値を得ることができる。
【００５８】
尚、図７に示す処理において、処理順序は適宜変更可能である。例えば、ステップＳ７０２とステップＳ７０３の処理順序は逆であってもよく、或いは、ステップＳ７０２は、ステップＳ７０４とステップＳ７０６の間に実行されてもよい。
【００５９】
次に、図８を参照して、実施例１の効果について説明する。
【００６０】
図８は、実施例１によるクランク角速度の算出結果を示す図である。図８には、クランク角速度の真値データに係る波形７０１と、実施例１によるクランク角速度の補正値の時系列データに係る波形７０２と、クランク角速度の測定データに係る波形７０３とが示されている。
【００６１】
クランク角速度の補正値の時系列データ（以下、単に「クランク角速度の補正値データ」と称する）は、クランク角速度の測定データに対して上述の補正を行うことで得られるデータである。即ち、クランク角速度の実測値データに基づくサンプリング周期ｋでのクランク角速度の実測値をθドット実測（ｋ）とし、サンプリング周期ｋでのクランク角速度の補正値をθドット補正（ｋ）としたとき、補正値θドット補正（ｋ）は、以下のとおりである。ただし、ｙ３（ｋ）は、誤差モデルにサンプリング周期ｋでのクランク角度の測定値θ（ｋ）を入力ｕとして与えたときの出力である。即ち、ｙ３（ｋ）は、サンプリング周期ｋでの誤差モデルの出力である。
【００６２】
【数５】
2019027329.tif 000007
【００６３】
ところで、クランク角度の測定値は、クランクセンサ４のパルス波形から抽出されるため、パルス幅以上の測定分解能を得ることが難しく、その影響がクランク角速度の測定データの精度に影響する。図８に示すように、クランク角速度の測定データは、クランク角速度の真値データに対して有意な誤差を有していることが分かる。また、かかる有意な誤差の要因として、エンジンの振動（例えば燃焼行程の爆発による振動）等に起因したノイズの影響が、クランク角度の測定データを介してクランク角速度の測定データに現れ易いことが挙げられる。即ち、エンジンの振動等が信号雑音比の悪化を招く。
【００６４】
この点、図８に示すように、実施例１によるクランク角速度の補正値データは、クランク角速度の真値データに対する誤差が大幅に低減されている。即ち、実施例１によるクランク角速度の補正値データの精度が大幅に向上している。このようにして、実施例１によれば、誤差モデルを用いることで、クランク角度の測定値から算出されるクランク角速度の算出値の精度を高めることができる。
【００６５】
特に実施例１によれば、誤差モデルは、上述のように、伝達関数のような線形関数に加えて、区分線形関数のような非線形関数を含むので、図６に示したような規則性を有するクランク角速度の誤差を精度良く同定できる。したがって、誤差モデルを用いて、クランク角速度の算出値の精度を高めることができる。
【００６６】
［実施例２］
実施例２は、上述した実施例１に対して、状態パラメータ算出装置１０が状態パラメータ算出装置１０Ａで置換された点が異なる。以下では、上述した実施例１と同一であってよい構成要素については、同一の参照符号を付して説明を省略する場合がある。
【００６７】
状態パラメータ算出装置１０Ａは、上述した実施例１による状態パラメータ算出装置１０に対して、クランク角速度の補正値に基づいて、エンジンの図示トルクを算出する機能を更に備える点が異なる。実施例２では、エンジン状態パラメータは、クランク角速度及び図示トルクである。
【００６８】
図９は、実施例２による状態パラメータ算出装置１０Ａの機能ブロック図である。
【００６９】
状態パラメータ算出装置１０Ａは、クランク角度測定値取得部１４と、クランク角速度計算部１５と、状態パラメータ導出部１６Ａと、誤差モデル記憶部２０とを含む。クランク角度測定値取得部１４、クランク角速度計算部１５、及び状態パラメータ導出部１６Ａは、例えば、図２に示す制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。
【００７０】
状態パラメータ導出部１６Ａは、クランク角速度補正値導出部１６１と、図示トルク算出部１６２とを含む。
【００７１】
クランク角速度補正値導出部１６１は、上述した実施例１による状態パラメータ導出部１６と同様の態様で、クランク角速度の補正値を導出する。
【００７２】
図示トルク算出部１６２は、クランク角速度の補正値に基づいて、図示トルクの算出値を導出する。クランク角速度の補正値に基づく図示トルクの算出値の導出方法は、任意であるが、例えば次の２つの方法のいずれかが使用されてもよい。
【００７３】
第１の方法（以下、「慣性モーメントに基づく手法」とも称する）では、図示トルク算出部１６２は、以下の関係式を用いて、クランク角速度の補正値に基づく図示トルクの算出値を導出する。
【００７４】
【数６】
2019027329.tif 000008
ここで、Ｊは、クランクシャフトの慣性モーメントであり、τ（ｋ）は、サンプリング周期ｋでの図示トルクであり、θツードット（ｋ）は、サンプリング周期ｋでのクランク角加速度である（ツードットは２回微分を表す）。クランク角加速度は、クランク角速度の補正値の前回値と今回値との差分を、サンプリング周期で除算することで算出できる。即ち、θツードット（ｋ）は、次の通り算出されてもよい。
【００７５】
【数７】
2019027329.tif 000009
ここで、θドット補正（ｋ）は、サンプリング周期ｋでのクランク角速度の補正値であり、θドット補正（ｋ−１）は、サンプリング周期ｋ−１でのクランク角速度の補正値であり、ΔＴは、サンプリング周期である。なお、θツードット（ｋ）の算出は、クランク角速度と同様、平滑化処理を伴ってもよい。
【００７６】
第２の方法（以下、「状態推定器に基づく手法」とも称する）では、図示トルク算出部１６２は、非線形カルマンフィルタによる状態推定器を用いて、図示トルクの算出値を導出する。状態推定器に基づく手法の説明において、記号の右上に付く表記「−」は、事前値であることを表し、記号の上に付く表記「∧」（以下、「ハット」と称する）は、推定値であることを表す。例えば、図示トルクの事前状態推定値を、
2019027329.tif 000010
とし、クランク角度の事前状態推定値を
2019027329.tif 000011
とすると、数式モデルは、以下の通りである。
【００７７】
【数８】
2019027329.tif 000012
この数式モデルを用いて、クランク角度の観測値ｙ（ｋ）から図示トルクの推定値ｘハット（ｋ）を導出する非線形カルマンフィルタによる状態推定器を設計する。この方法では、数９で示すように、数式モデルによって計算したクランク角度の推定値とクランク角度の観測値ｙ（ｋ）との誤差に、非線形カルマンフィルタから計算したカルマンゲインｇ（ｋ）を乗算する。これにより、図示トルクの事前状態推定値を補正して図示トルクの推定値ｘハット（ｋ）が得られる。
【００７８】
【数９】
2019027329.tif 000013
数９において、クランク角度の観測値ｙ（ｋ）としては、クランク角度の測定値θ（ｋ）に代えて、クランク角速度の補正値から導出したクランク角度の算出値（以下、区別のため、「クランク角度の補正値」と称する）が用いられる。クランク角度の補正値は、クランク角速度の補正値を積分することで導出される。
【００７９】
図１０は、状態パラメータ算出装置１０Ａにより実行される処理の一例を示すフローチャートである。図１０の処理は、例えば、所定周期毎（例えば20ミリ秒毎）に繰り返し実行される。所定周期は、クランク角度の測定値のサンプリング周期と同期されてよい。
【００８０】
図１０の処理は、図７に示した処理に対して、実質的にステップＳ１０００が追加された点が異なる。
【００８１】
ステップＳ１０００では、図示トルク算出部１６２は、ステップＳ７０６で得たクランク角速度の補正値に基づいて、図示トルクの算出値を導出する。クランク角速度の補正値に基づく図示トルクの算出値の導出方法は、上述のとおりであり、慣性モーメントに基づく手法及び状態推定器に基づく手法のいずれが用いられてよい。
【００８２】
図１０に示す処理によれば、所定周期毎に、クランク角度の測定値に基づいて、クランク角速度の補正値を得るとともに、クランク角速度の補正値に基づいて、図示トルクの算出値を得ることができる。また、エンジンの現在の運転条件に応じた誤差モデルが使用されるので、多様な運転条件下においても、図示トルクの算出値の精度を高めることができる。
【００８３】
次に、図１１及び図１２を参照して、実施例２の効果について説明する。
【００８４】
図１１は、実施例２による図示トルクの算出結果を示す図である。図１１には、図示トルクの真値データに係る波形１１００と、実施例２による図示トルクの算出値の時系列データに係る波形１１０１、１１０２とが示されている。波形１１０１は、慣性モーメントに基づく手法を用いた場合の波形であり、波形１１０２は、状態推定器に基づく手法を用いた場合の波形である。図１１では、運転条件は、エンジン回転数が2000rpmであり、噴射量が８０ｍｍ３／ｓｔである。図示トルクの真値データは、筒内圧の実測値データに基づく。
【００８５】
図１２は、比較例による図示トルクの算出結果を示す図である。図１２には、図示トルクの真値データに係る波形１２００と、比較例による図示トルクの算出値の時系列データに係る波形１２０１、１２０２とが示されている。波形１２０１は、図１１の波形１１０１と同じである。波形１２０１は、比較例による慣性モーメントに基づく手法を用いた場合の波形であり、波形１２０２は、比較例による状態推定器に基づく手法を用いた場合の波形である。比較例による慣性モーメントに基づく手法とは、数６において、θツードット（ｋ）として、クランク角度の測定値θ（ｋ）の２回微分で得た値を用いる方法である。比較例による状態推定器に基づく手法とは、数９において、クランク角度の観測値ｙ（ｋ）として、クランク角度の測定値θ（ｋ）を用いる方法である。図１２では、運転条件は、同様に、エンジン回転数が2000rpmであり、噴射量が８０ｍｍ３／ｓｔである。
【００８６】
比較例では、図１２に示すように、図示トルクの算出値と実測値の誤差が大きく生じる。誤差の大きさを根平均二乗誤差（RMSE）で評価すると、比較例による慣性モーメントに基づく手法を用いた場合は326.98であり、比較例による状態推定器に基づく手法を用いた場合は406.10である。
【００８７】
これに対して、実施例２によれば、慣性モーメントに基づく手法を用いた場合は、RMSEが114.06となり、比較例に比べて、大幅に精度が向上していることがわかる。また、実施例２によれば、状態推定器に基づく手法を用いた場合は、RMSEが207.06となり、同様に、比較例に比べて、大幅に精度が向上していることがわかる。
【００８８】
このように実施例２によれば、クランク角速度の誤差とクランク角度の関係を表現する誤差モデルを構築することによって、クランク角速度を精度良く補正でき、その結果、図示トルクの算出値の精度を高めることができる。
【００８９】
尚、実施例２では、クランク角度の観測値ｙ（ｋ）から図示トルクの推定値ｘハット（ｋ）を導出する非線形カルマンフィルタによる状態推定器を用いているが、これに限られない。例えば、特開2017-82662号公報に開示されるように、クランク角速度の算出値とクランク角速度の推定値との差分である推定誤差を用いる非線形カルマンフィルタによる状態推定器が用いられてもよい。この場合、クランク角速度の算出値として、クランク角速度の補正値が利用されてよい。
【００９０】
ところで、エンジンのトルクベース制御では、一般的にドライバーのアクセル操作などから必要な正味トルクが決まり、その正味トルクを満たすような図示トルクを推定することが行われる。このとき、実車では、筒内圧センサを用いて現在の図示トルクを測定することが考えられるが、筒内圧センサの設置は、コスト、耐久性、及び保守性の問題を引き起こすことから現状困難となっている。従って、新たにセンサを設置することなく、実車に搭載されているクランクセンサ４のセンサデータを用いて図示トルクを高精度に算出できれば、エンジン制御システムの高性能化に有効に利用できる。
【００９１】
この点、実施例２によれば、上述のように、クランクセンサ４のセンサデータを用いて図示トルクの算出値を高精度に導出できるので、状態パラメータ算出装置１０Ａをエンジン制御システムの高性能化に有効に利用できる。
【００９２】
次に、状態パラメータ算出装置１０Ａを含むエンジン制御システムの具体例について説明する。
【００９３】
図１３は、状態パラメータ算出装置１０Ａを含むエンジン制御システムの一例を示す図である。
【００９４】
エンジン制御システム１３は、車両に搭載される。車両は、上述のように、エンジンのみを駆動源とする車両であってもよいし、ハイブリッド車であってもよい。エンジン制御システム１３は、センサ群８と、エンジン制御装置３０と、エンジン４０と、クランクセンサ４と、状態パラメータ算出装置１０Ａとを含む。
【００９５】
センサ群８は、クランクセンサ４以外の各種車載センサとして、例えば、アクセルセンサ、車速センサ、レーダセンサ、画像センサ等を含む。
【００９６】
エンジン制御装置３０は、エンジン４０を電気的に制御する。尚、エンジン４０の電気的な制御は、例えば、図示しないが、エンジン４０の吸気マニホールド内に配置されるスロットルバルブの開度（即ち、スロットル開度）を電気的に制御することで実現することが可能である。その他、エンジン４０の電気的な制御は、例えば、エンジン４０の燃焼室に噴射される燃料の量や点火時期を電気的に制御することや、バルブ開閉タイミングを調整するインテークカムシャフトの位相を電気的に制御することで実現することが可能である。
【００９７】
エンジン制御装置３０は、図２に示したようなハードウェア構成を有してよい。エンジン制御装置３０は、図１３に示すように、運転者要求駆動力算出部３１と、運転者支援駆動力算出部３２と、目標駆動力調停部３３と、フィードバック制御部３４とを含む。運転者要求駆動力算出部３１、運転者支援駆動力算出部３２、目標駆動力調停部３３、及びフィードバック制御部３４は、例えば、エンジン制御装置３０の制御部が主記憶部内のプログラムを実行することにより実現できる。
【００９８】
運転者要求駆動力算出部３１は、車速センサ及びアクセルセンサからの情報に基づいて、車速及びアクセル開度に応じた運転者要求駆動力（以下、「第１要求駆動力」と称する）を算出する。
【００９９】
運転者支援駆動力算出部３２は、レーダセンサ等からの情報に基づいて、運転者による車両の運転を支援するための要求駆動力（以下、「第２要求駆動力」と称する）を算出する。第２要求駆動力は、例えば所定車速で走行するために必要な駆動力、先行車に追従するために必要な駆動力、制限車速を超えないように車速を制限するための駆動力等であってよい。
【０１００】
目標駆動力調停部３３は、所定の規則に従って、第１要求駆動力及び第２要求駆動力のいずれかを選択する。例えば、ＡＣＣ（Adaptive  Cruse  Control）の実行中は、目標駆動力調停部３３は、第１要求駆動力が０である間、第２要求駆動力を選択し、第１要求駆動力が所定値より大きくなると、第１要求駆動力を選択する。目標駆動力調停部３３は、選択した要求駆動力を、トルク表現［N・ｍ］に変換し、要求駆動トルクとしてフィードバック制御部３４に与える。
【０１０１】
フィードバック制御部３４は、例えば、目標駆動力調停部３３から与えられる要求駆動トルクと、状態パラメータ算出装置１０Ａから与えられる図示トルクの算出値との差分に基づいて、要求駆動トルクが実現されるようにエンジン４０の制御目標値を決定してもよい。エンジンの制御目標値は、例えばスロットル開度の目標値や燃料の噴射量の目標値等であってよい。尚、等価的に、図示トルクの算出値に代えて、該図示トルクの算出値に基づき算出される正味トルクの算出値が用いられてもよい。例えば、正味トルクは、図示トルクの算出値からエンジンのフリクショントルクを減算することで算出できる。また、エンジンのフリクショントルクは、例えば、エンジンの回転数および負荷に基づいて算出できる。また、フィードバック制御部３４は、状態パラメータ算出装置１０Ａから与えられる図示トルクの算出値に基づいて、エンジンの制御目標値として点火時期の目標値を決定してもよい。フィードバック制御部３４は、決定した制御目標値が実現されるように、エンジン４０を制御する。
【０１０２】
図１３に示すエンジン制御システム１３によれば、状態パラメータ算出装置１０Ａを備え、要求駆動力と図示トルクの算出値との差分に基づいてエンジン４０をフィードバック制御できる。上述のように状態パラメータ算出装置１０Ａからの図示トルクの算出値の精度が高いため、エンジン４０の駆動トルクを精度良く制御できる。これにより、例えば過剰に筒内に燃料を噴射する必要がなくなり、エンジン性能が向上し、燃費やドライバビリティが改善される。このようにして、状態パラメータ算出装置１０Ａをエンジン制御システムの高性能化に有効に利用できる。
【０１０３】
尚、図１３では、目標駆動力調停部３３を備えるが、第１要求駆動力及び第２要求駆動力のうちの一方のみを常に用いる構成又はユーザからの入力に応じて切り替えて用いる構成では、目標駆動力調停部３３は省略されてもよい。
【０１０４】
［実施例３］
実施例３は、上述した実施例１に対して、状態パラメータ算出装置１０が状態パラメータ算出装置１０Ｂで置換された点が異なる。以下では、上述した実施例１と同一であってよい構成要素については、同一の参照符号を付して説明を省略する場合がある。
【０１０５】
図１４は、実施例３によるエンジン状態パラメータ算出システム（状態パラメータ算出システム）の一例を示す構成図である。
【０１０６】
状態パラメータ算出システム１Ｂは、図１に示した実施例１に係る状態パラメータ算出システム１に対して、状態パラメータ算出装置１０が状態パラメータ算出装置１０Ｂで置換され、かつ、筒内圧センサ５が追加された点が異なる。具体的には、状態パラメータ算出システム１Ｂは、クランクセンサ４と、筒内圧センサ５と、状態パラメータ算出装置１０Ｂとを含む。筒内圧センサ５は、全ての気筒に設けられてもよいし、一部の気筒のみに設けられてもよい。
【０１０７】
状態パラメータ算出装置１０Ｂは、上述した実施例１による状態パラメータ算出装置１０に対して、誤差モデルを構築又は更新する機能を更に備える点が異なる。尚、本明細書において、“構築”とは、無からの作成を意味し、“更新”は、新たに構築したもので、古いものを置換することを意味する。従って、“更新”は、“構築”を伴う。
【０１０８】
図１５は、実施例３による状態パラメータ算出装置１０Ｂの機能ブロック図である。
【０１０９】
状態パラメータ算出装置１０Ｂは、クランク角度測定値取得部１４と、クランク角速度計算部１５と、状態パラメータ導出部１６と、誤差モデル記憶部２０とを含む。更に、状態パラメータ算出装置１０Ｂは、筒内圧測定値取得部２２（筒内圧取得部の一例）と、トルク真値導出部２３と、クランク角速度真値導出部２４（第２クランク角速度計算部の一例）と、誤差モデル学習部２６（学習部の一例）と、学習用データ記憶部２８とを含む。筒内圧測定値取得部２２、トルク真値導出部２３、クランク角速度真値導出部２４、及び誤差モデル学習部２６は、例えば、図２に示す制御部１０１が主記憶部１０２内のプログラムを実行することにより実現できる。誤差モデル記憶部２０及び学習用データ記憶部２８は、図２に示す補助記憶部１０３により実現できる。
【０１１０】
筒内圧測定値取得部２２は、筒内圧センサ５からの筒内圧信号に基づいて、筒内圧の測定値を取得する。筒内圧測定値取得部２２は、取得した筒内圧の測定値を学習用データ記憶部２８に記憶し、筒内圧の測定データを蓄積する。尚、筒内圧センサ５は、上述のように、全気筒に設けられる必要はなく、一部の気筒のみに設けられてもよい。この場合、筒内圧測定値取得部２２は、筒内圧センサ５が設けられない気筒に係る筒内圧の測定値については、筒内圧センサ５が設けられた気筒に係る筒内圧の測定値に基づいて導出（推定）してよい。
【０１１１】
トルク真値導出部２３は、筒内圧の測定値と、クランク角度の測定値とに基づいて、図示トルクの算出値（以下、区別のため、「図示トルクの真値」と称する）を導出する。図示トルクの真値は、例えば前出の数２の関係式を用いて導出できる。
【０１１２】
クランク角速度真値導出部２４は、図示トルクの真値に基づいて、クランク角速度の算出値（以下、区別のため、「クランク角速度の真値」と称する）（第２算出値の一例）を導出する。クランク角速度の真値は、例えば前出の数３の関係式を用いて導出できる。クランク角速度真値導出部２４は、導出したクランク角速度の真値を学習用データ記憶部２８に記憶し、クランク角速度の真値データを蓄積する。
【０１１３】
誤差モデル学習部２６は、クランク角速度の真値と、クランク角度測定値取得部１４により取得されるクランク角度の測定値と、クランク角速度計算部１５により導出されるクランク角速度の算出値とに基づいて、誤差モデルを構築又は更新する。この際、誤差モデル学習部２６は、複数のサンプリング周期に係る各値（クランク角速度の真値、クランク角度の測定値、及びクランク角速度の算出値）に基づいて、誤差モデルを構築又は更新する。複数のサンプリング周期に係る各値は、学習用データ記憶部２８から取得される。誤差モデルの構築方法自体は、上述した通りである。誤差モデル学習部２６は、好ましくは、上述した通り、エンジンの運転条件ごとに、誤差モデルを構築又は更新する。
【０１１４】
学習用データ記憶部２８には、誤差モデル学習部２６による誤差モデルの構築又は更新に用いる学習用データが記憶される。学習用データは、複数の同一のサンプリング周期に係る各値（クランク角速度の真値、クランク角度の測定値、及びクランク角速度の算出値）を含む。
【０１１５】
図１６は、学習用データ記憶部２８内の学習用データの一例の説明図である。
【０１１６】
図１６に示す例では、クランク角度の測定データ、クランク角速度の実測値データ、及びクランク角速度の真値データは、データＩＤ（Identification）毎に、データＩＤに紐付けられる形態で記憶される。データＩＤには、運転条件として、図１６ではエンジン回転数と噴射量とが対応付けられる。クランク角度の測定データ、クランク角速度の実測値データ、及びクランク角速度の真値データは、複数の同一のサンプリング周期に係る各値である。例えば、ある１つのデータＩＤについて、クランク角度の測定データが、サンプリング周期ｋ１〜ｋＮまでのクランク角度の測定値を含むとき、クランク角速度の実測値データは、サンプリング周期ｋ１〜ｋＮのクランク角速度の算出値を含む。また、クランク角速度の真値データは、サンプリング周期ｋ１〜ｋＮのクランク角速度の真値を含む。サンプリング周期ｋ１〜ｋＮは、運転条件が変化するまでの連続したサンプリング周期であってよく、Ｎは、データＩＤごとに変化しうる。尚、クランク角速度の真値データに代えて、該クランク角速度の真値データを導出可能な筒内圧の測定データが記憶されてもよい。
【０１１７】
図１７は、状態パラメータ算出装置１０Ｂにより実行される処理の一例を示すフローチャートである。図１７の処理は、例えば、所定周期毎（例えば20ミリ秒毎）に繰り返し実行される。所定周期は、筒内圧の測定値のサンプリング周期と同期されてよい。
【０１１８】
ステップＳ１７００〜ステップＳ１７０４は、図７に示したステップＳ７００〜ステップＳ７０４とそれぞれ同様である。
【０１１９】
ステップＳ１７０６では、筒内圧測定値取得部２２は、筒内圧センサ５を介して筒内圧の測定値を取得する。
【０１２０】
ステップＳ１７０８では、トルク真値導出部２３は、ステップＳ１７０６で得た筒内圧の測定値と、ステップＳ１７００で得たクランク角度の測定値とに基づいて、図示トルクの真値を導出する。筒内圧の測定値とクランク角度の測定値とに基づく図示トルクの真値の導出方法は、上述のとおりであり、例えば前出の数２の関係式を用いて導出できる。
【０１２１】
ステップＳ１７１０では、クランク角速度真値導出部２４は、ステップＳ１７０８で得た図示トルクの真値に基づいて、クランク角速度の真値を導出する。図示トルクの真値に基づくクランク角速度の真値の導出方法は、上述した通りであり、例えば前出の数３の関係式を用いて導出できる。
【０１２２】
ステップＳ１７１２では、誤差モデル学習部２６は、ステップＳ１７００で得たクランク角度の測定値と、ステップＳ１７０２で得たクランク角速度の算出値と、ステップＳ１７１０で得たクランク角速度の真値とを、学習用データ記憶部２８に記憶する。この際、誤差モデル学習部２６は、エンジンの現在の運転条件（図１７では、一例として、エンジン回転数と噴射量）を判断し、運転条件が変化すると、新たなデータＩＤを付与して、データＩＤ毎に各データを記憶する（図１６参照）。
【０１２３】
ステップＳ１７１４では、誤差モデル学習部２６は、誤差モデル学習条件が成立したか否かを判定する。誤差モデル学習条件は、例えば定期的に成立してもよいし、所定の走行距離ごとに成立してもよいし、学習用データ記憶部２８内の学習用データの蓄積状況に応じて成立してもよい。誤差モデル学習条件が成立した場合は、ステップＳ１７１６に進み、それ以外の場合は、今回周期の処理はそのまま終了する。
【０１２４】
ステップＳ１７１６では、誤差モデル学習部２６は、学習用データ記憶部２８内の学習用データに基づいて、誤差モデルを構築又は更新する。誤差モデルの構築又は更新方法は、上述のとおりである。
【０１２５】
図１７に示す処理によれば、所定周期毎に、クランク角度の測定値に基づいて、クランク角速度の補正値を得ることができる。また、エンジンの運転条件に応じた誤差モデルが使用されるので、多様な運転条件下においても、精度の高いクランク角速度の補正値を得ることができる。また、図１７に示す処理によれば、誤差モデル学習条件が成立した場合に、誤差モデルを構築又は更新できる。
【０１２６】
実施例３によれば、状態パラメータ算出システム１Ｂが筒内圧センサ５を含むので、車両実装状態（即ち車両の出荷後の状態）においても、誤差モデルを構築又は更新できる。例えば、実施例３によれば、車両実装状態において、定期的に又は不定期的に、誤差モデル記憶部２０内の誤差モデルを更新できる。これにより、エンジンの特性に個体差がある場合でも、該個体差に応じて誤差モデルを修正できる。また、エンジンの特性に経時変化が生じた場合でも、誤差モデルを更新できる。
【０１２７】
尚、実施例３は、上述した実施例２と組み合わせることもできる。即ち、実施例３において、状態パラメータ算出装置１０Ｂの状態パラメータ導出部１６が状態パラメータ導出部１６Ａで置換されてもよい。この場合、同様に、状態パラメータ算出装置１０Ｂを含むエンジン制御システムを実現できる。
【０１２８】
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
【０１２９】
例えば、上述した実施例２では、エンジン状態パラメータは、図示トルクを含むが、図示トルクに代えて、他のパラメータ（例えば、正味トルクや、図示トルクから外部負荷トルクを差し引いたトルク）が用いられてもよい。
【０１３０】
また、上述した実施例では、一例としてエンジンを備える車両を対象としたが、エンジンを備える限り、対象は、任意である。例えば、対象は、エンジンを備える鉄道車両、エンジンを備える船舶、エンジンを備える建設機械、エンジンを備えるバイク（車両の一種）、エンジンを備える航空機、エンジンを備えるヘリコプター等であってもよい。
【０１３１】
なお、以上の実施例に関し、さらに以下の付記を開示する。
［付記１］
エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得するクランク角度取得部と、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出する第１クランク角速度計算部と、
クランク角度に係る入力に応じて、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを記憶する誤差モデル記憶部と、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する状態パラメータ導出部とを含む、エンジン状態パラメータ算出装置。
［付記２］
前記状態パラメータ導出部は、クランク角度の前記測定値に基づいて、前記誤差モデルが出力する前記誤差を得、該誤差と、クランク角速度の前記第１算出値とに基づいて、エンジン状態パラメータの前記算出値を導出する、付記１に記載のエンジン状態パラメータ算出装置。
［付記３］
前記誤差モデルは、クランク角度に係る入力に応じてクランク角速度の誤差を出力するモデルであり、
前記状態パラメータ導出部は、クランク角度の前記測定値に係る入力に応じて前記誤差モデルが出力する前記誤差に基づいて、クランク角速度の前記第１算出値を補正し、補正した前記第１算出値に基づいて、エンジン状態パラメータの前記算出値を導出する、付記２に記載のエンジン状態パラメータ算出装置。
［付記４］
前記誤差モデルは、線形関数と非線形関数との組み合わせを含む、付記２又は３に記載のエンジン状態パラメータ算出装置。
［付記５］
前記線形関数は、区分線形関数である、付記４に記載のエンジン状態パラメータ算出装置。
［付記６］
前記誤差モデルは、ハマーシュタイン・ウィナーモデルである、付記５に記載のエンジン状態パラメータ算出装置。
［付記７］
前記誤差モデル記憶部には、エンジンの複数の運転条件のそれぞれに対応付けれらた前記誤差モデルが記憶され、
前記状態パラメータ導出部は、クランク角度の前記測定値が得られた際のエンジンの運転条件に基づいて、該運転条件に対応付けられた前記誤差モデルを用いる、付記１〜６のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
［付記８］
前記エンジン状態パラメータは、エンジンの図示トルクである、付記１〜７のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
［付記９］
エンジンの筒内圧の実測値を取得する筒内圧取得部と、
筒内圧の前記実測値に基づいて、クランク角速度の第２算出値を導出する第２クランク角速度計算部と、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、クランク角速度の前記第２算出値とに基づいて、前記第１算出値と前記第２算出値との差を前記誤差とする前記誤差モデルを構築する学習部とを含む、付記１〜８のうちのいずれか１項に記載のエンジン状態パラメータ算出装置。
［付記１０］
エンジンと、
エンジンのクランクシャフトに対して設けられるクランクセンサと、
前記クランクセンサを介してクランク角度の測定値を取得するクランク角度取得部と、
クランク角度の前記測定値に基づいて、クランク角速度の算出値を導出するクランク角速度計算部と、
クランク角度に係る入力に応じて、クランク角速度に係る誤差又はクランク角速度に相関するパラメータに係る誤差を出力する誤差モデルを記憶する誤差モデル記憶部と、
クランク角度の前記測定値と、クランク角速度の前記算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する状態パラメータ導出部と、
エンジン状態パラメータの前記算出値に基づいて、エンジンを制御する制御部とを含む、エンジン制御システム。
［付記１１］
エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得し、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出し、
クランク角度に係る入力に応じて誤差を出力する誤差モデルであって、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを、取得し、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出することを含む、コンピュータにより実行されるエンジン状態パラメータ算出方法。
［付記１２］
エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得し、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出し、
クランク角度に係る入力に応じて誤差を出力する誤差モデルであって、クランク角速度の誤差又はクランク角速度に相関するパラメータの誤差を出力する誤差モデルを、取得し、
クランク角度の前記測定値と、クランク角速度の前記第１算出値と、前記誤差モデルとに基づいて、エンジン状態を表すエンジン状態パラメータの算出値を導出する、
処理をコンピュータに実行させるエンジン状態パラメータ算出プログラム。
［付記１３］
エンジンのクランクシャフトの回転角であるクランク角度の測定値を取得し、
クランク角度の前記測定値に基づいて、クランク角速度の第１算出値を導出し、
エンジンの筒内圧の実測値を取得し、
筒内圧の前記実測値に基づいて、クランク角速度の第２算出値を導出し、
クランク角度の前記測定値と、クランク角速度の前記第１算出値及び前記第２算出値間の差とに基づいて、クランク角度に係る入力に応じて該差に係る誤差を出力する誤差モデルを構築することを含む、コンピュータにより実行される誤差モデル構築方法。
【符号の説明】
【０１３２】
１、１Ｂ  状態パラメータ算出システム
４  クランクセンサ
５  筒内圧センサ
８  センサ群
１０、１０Ａ、１０Ｂ  状態パラメータ算出装置
１３  エンジン制御システム
１４  クランク角度測定値取得部
１５  クランク角速度計算部
１６、１６Ａ  状態パラメータ導出部
１６１  クランク角速度補正値導出部
１６２  図示トルク算出部
２０  誤差モデル記憶部
２２  筒内圧測定値取得部
２３  トルク真値導出部
２４  クランク角速度真値導出部
２６  誤差モデル学習部
２８  学習用データ記憶部
３０  エンジン制御装置
３１  運転者要求駆動力算出部
３２  運転者支援駆動力算出部
３３  目標駆動力調停部
３４  フィードバック制御部
４０  エンジン
【図１】
2019027329.tif 000014
【図２】
2019027329.tif 000015
【図３】
2019027329.tif 000016
【図４】
2019027329.tif 000017
【図５】
2019027329.tif 000018
【図６】
2019027329.tif 000019
【図７】
2019027329.tif 000020
【図８】
2019027329.tif 000021
【図９】
2019027329.tif 000022
【図１０】
2019027329.tif 000023
【図１１】
2019027329.tif 000024
【図１２】
2019027329.tif 000025
【図１３】
2019027329.tif 000026
【図１４】
2019027329.tif 000027
【図１５】
2019027329.tif 000028
【図１６】
2019027329.tif 000029
【図１７】
2019027329.tif 000030