図1は、本発明の一実施例としての燃料供給装置の制御装置を搭載する車両10の構成の概略を示す構成図である。実施例の車両10は、図示するように、エンジン12と、燃料供給装置50と、冷却装置60と、エンジン12からの動力を変速して駆動輪DWにデファレンシャルギヤDFを介して連結された駆動軸DSに伝達する変速機TMと、電子制御ユニット70とを備える。なお、車両10は、エンジン12に加えてモータを有するハイブリッド車両として構成されるものとしてもよい。実施例の「燃料供給装置の制御装置」としては、電子制御ユニット70が相当する。
エンジン12は、例えばガソリンや軽油などの燃料を用いて動力を出力する内燃機関として構成されている。このエンジン12は、吸気ポートに燃料を噴射するポート噴射弁25と、筒内に燃料を噴射する筒内噴射弁26とを有する。エンジン12は、ポート噴射弁25と筒内噴射弁26とを有することにより、ポート噴射モードと筒内噴射モードと共用噴射モードとのうちの何れかで運転が可能となっている。
ポート噴射モードでは、エアクリーナ22により清浄された空気を吸気管23に吸入してスロットルバルブ24を通過させると共にポート噴射弁25から燃料を噴射し、空気と燃料とを混合する。そして、この混合気を吸気バルブ28を介して燃焼室29に吸入し、点火プラグ30による電気火花により爆発燃焼させる。そして、爆発燃焼によるエネルギにより押し下げられるピストン32の往復運動をクランクシャフト14の回転運動に変換する。筒内噴射モードでは、ポート噴射モードと同様に空気を燃焼室29に吸入し、吸気行程の途中あるいは圧縮行程に至ってから筒内噴射弁26から燃料を噴射し、点火プラグ30による電気火花により爆発燃焼させてクランクシャフト14の回転運動を得る。共用噴射モードでは、空気を燃焼室29に吸入する際にポート噴射弁25から燃料を噴射すると共に吸気行程や圧縮行程で筒内噴射弁26から燃料を噴射し、点火プラグ30による電気火花により爆発燃焼させてクランクシャフト14の回転運動を得る。これらの噴射モードは、エンジン12の運転状態に応じて切り替えられる。燃焼室29から排気バルブ31を介して排気管33に排出される排気は、一酸化炭素(CO)や炭化水素(HC)、窒素酸化物(NOx)の有害成分を浄化する浄化触媒(三元触媒)を有する浄化装置34を介して外気に排出される。
燃料供給装置50は、燃料タンク51内の燃料をエンジン12のポート噴射弁25や筒内噴射弁26に供給する装置として構成されている。燃料供給装置50は、燃料タンク51と、フィードポンプ52と、低圧供給管53と、逆止弁54と、リリーフ流路55と、リリーフバルブ56と、高圧ポンプ57と、高圧供給管58とを備える。
フィードポンプ52は、図示しないバッテリからの電力の供給を受けて作動する電動ポンプとして構成されており、燃料タンク51内に配置されている。このフィードポンプ52は、燃料タンク51内の燃料を低圧供給管53に供給する。低圧供給管53は、ポート噴射弁25に接続されている。逆止弁54は、低圧供給管53に設けられており、フィードポンプ52側からポート噴射弁25側の方向の燃料の流れを許容すると共に逆方向の燃料の流れを規制する。
リリーフ流路55は、低圧供給管53と燃料タンク51とに接続されている。リリーフバルブ56は、リリーフ流路55に設けられ、低圧供給管53内の燃圧が閾値Pflolim未満のときには閉弁すると共に低圧供給管53内の燃圧が閾値Pflolim以上のときには開弁する。リリーフバルブ56が開弁すると、低圧供給管53内の燃料の一部がリリーフ流路55を介して燃料タンク51に戻される。このようにして、低圧供給管53内の燃圧が過剰になるのを抑制する。
高圧ポンプ57は、エンジン12からの動力(実施例では、吸気バルブ28を開閉するインテークカムシャフトの回転)により駆動されると共に低圧供給管53の燃料を加圧して高圧供給管58に供給するポンプとして構成されている。高圧ポンプ57は、その吸入口に接続されて燃料を加圧する際に開閉する電磁バルブ57aと、その吐出口に接続されて燃料の逆流を規制すると共に高圧供給管58内の燃圧を保持するチェックバルブ57bと、エンジン12の回転(インテークカムシャフトの回転)により作動する(図1における上下方向に移動する)プランジャ57cとを有する。この高圧ポンプ57は、エンジン12の運転中に、電磁バルブ57aが開弁されたときに、低圧供給管53の燃料を吸入し、電磁バルブ57aが閉弁されたときに、プランジャ57cによって圧縮した燃料をチェックバルブ57bを介して高圧供給管58に断続的に送り込むことにより、高圧供給管58に供給する燃料を加圧する。なお、高圧ポンプ57の駆動時には、低圧供給管53内の燃圧や高圧供給管58内の燃圧(燃料の圧力)は、エンジン12の回転(インテークカムシャフトの回転)に応じて脈動する。高圧供給管58は、筒内噴射弁26に接続されている。
冷却装置60は、ラジエータ61と、ラジエータファン62と、冷却水の循環流路63と、電動ポンプ64とを備える。ラジエータ61は、冷却水と空気との熱交換を行なう。ラジエータファン62は、ラジエータ61に空気を送風する。循環流路63は、ラジエータ61やエンジン12を含んで形成されている。電動ポンプ64は、循環流路63に設けられ、冷却水を圧送する。
電子制御ユニット70は、CPU71やROM72、RAM73、フラッシュメモリ74、入出力ポートを有するマイクロコンピュータとして構成されている。実施例では、「実行部」としてはCPU71が該当し、「記憶部」としてはフラッシュメモリ74が該当する。
電子制御ユニット70には、各種センサからの信号が入力ポートを介して入力される。電子制御ユニット70に入力される信号のうちエンジン12に関連する信号としては、例えば、エンジン12のクランクシャフト14の回転位置を検出するクランクポジションセンサ15からのクランク角θcrや、エンジン12の冷却水の温度を検出する水温センサ40からの水温Tw、エンジン12の潤滑油の温度を検出する油温センサ42からの油温Toilを挙げることができる。吸気バルブ28を開閉するインテークカムシャフトの回転位置や排気バルブ31を開閉するエキゾーストカムシャフトの回転位置を検出するカムポジションセンサ44からのカム角θci,θcoも挙げることができる。スロットルバルブ24のポジションを検出するスロットルポジションセンサ24aからのスロットル開度THや、吸気管23に取り付けられたエアフローメータ23aからの吸入空気量Qa、吸気管23に取り付けられた温度センサ23tからの吸気温Taも挙げることができる。排気管33の浄化装置34よりも上流側に取り付けられた空燃比センサ35からの空燃比AFや、排気管33の浄化装置34よりも下流側に取り付けられた酸素センサ36からの酸素信号O2も挙げることができる。
電子制御ユニット70に入力される信号のうち燃料供給装置50や冷却装置60に関連する信号としては、例えば、フィードポンプ52に取り付けられた状態検出装置52aからの、フィードポンプ52の回転数Nlpや、図示しないバッテリからフィードポンプ52に供給される作動電流Ilpおよび作動電圧Vlpを挙げることができる。燃料タンク51内の燃料量を検出する燃料量センサ51aからの燃料量Qftnkや、高圧供給管58の筒内噴射弁26付近(例えば、高圧デリバリパイプ)に取り付けられた燃圧センサ58pからの高圧燃圧(高圧供給管58内の燃料の圧力)Pfhiも挙げることができる。ラジエータファン62に取り付けられた回転数センサ62aからのラジエータファン62の回転数Nrfも挙げることができる。
電子制御ユニット70に入力される信号のうち上述以外の信号としては、例えば、変速機TMからの信号や、外気温センサ80からの外気温Tout、車速センサ82からの車速Vを挙げることができる。何れも図示しないが、イグニッションスイッチからのイグニッション信号IGや、シフトレバーの操作位置を検出するシフトポジションセンサからのシフトポジションSP、アクセルペダルの踏み込み量を検出するアクセルポジションセンサからのアクセル開度Acc、ブレーキペダルの踏み込み量を検出するブレーキポジションセンサからのブレーキポジションBPも挙げることができる。
電子制御ユニット70からは、各種制御信号が出力ポートを介して出力される。電子制御ユニット70から出力される信号としては、例えば、エンジン12のスロットルバルブ24への制御信号や、ポート噴射弁25への制御信号、筒内噴射弁26への制御信号、点火プラグ30への制御信号を挙げることができる。燃料供給装置50のフィードポンプ52への制御信号や、高圧ポンプ57の電磁バルブ57aへの制御信号も挙げることができる。冷却装置60のラジエータファン62への制御信号や、電動ポンプ64への制御信号も挙げることができる。変速機TMへの制御信号も挙げることができる。
電子制御ユニット70は、エンジン12の回転数Neや負荷率KL、トルクTeを演算する。エンジン12の回転数Neは、クランクポジションセンサ15からのクランク角θcrに基づいて演算される。エンジン12の負荷率KLは、エンジン12の1サイクル当たりの行程容積に対する1サイクルで実際に吸入される空気の容積の比であり、エアフローメータ23aからの吸入空気量Qaとエンジン12の回転数Neとに基づいて演算される。エンジン12のトルクTeは、スロットルポジションセンサ24aからのスロットル開度THに基づいて演算(推定)される。また、電子制御ユニット70は、ポート噴射弁25および筒内噴射弁26の消費流量Qfpc,Qfdcやエンジン12の消費流量Qfecも演算する。ポート噴射弁25および筒内噴射弁26の消費流量Qfpc,Qfdcは、ポート噴射弁25および筒内噴射弁26の燃料噴射量Qfp,Qfdに基づいて演算される。エンジン12の消費流量Qfecは、ポート噴射弁25および筒内噴射弁26の消費流量Qfpc,Qfdcの和として演算される。
こうして構成された実施例の車両10では、電子制御ユニット70のCPU71は、エンジン12を運転する際には、エンジン12の吸入空気量制御や燃料噴射制御、点火制御を行なうと共に、燃料供給装置50のフィードポンプ52や高圧ポンプ57(電磁バルブ57a)の制御を行なう。
エンジン12の吸入空気量制御は、例えば、アクセル開度Accおよび車速Vに基づくエンジン12の目標負荷率KL*に基づいて目標吸入空気量Qa*を設定し、吸入空気量Qaが目標吸入空気量Qa*となるように目標スロットル開度TH*を設定し、目標スロットル開度TH*を用いてスロットルバルブ24を制御することにより行なわれる。燃料噴射制御は、エンジン12の回転数Neおよび負荷率KLに基づいてポート噴射モード、筒内噴射モード、共用噴射モードから実行用噴射モードを設定し、吸入空気量Qaおよび実行用噴射モードに基づいて空燃比AFが目標空燃比AF*(例えば、理論空燃比)となるようにポート噴射弁25および筒内噴射弁26の目標噴射量Qfp*,Qfd*を設定し、目標噴射量Qfp*,Qfd*を用いてポート噴射弁25および筒内噴射弁26を制御することにより行なわれる。点火制御は、エンジン12の回転数Neおよび目標負荷率KL*に基づいて目標点火時期Ti*を設定し、設定した目標点火時期Ti*を用いて点火プラグ30を制御することにより行なわれる。
燃料供給装置50の制御は、例えば、以下のように行なわれる。最初に、エンジン12の回転数Neおよび目標負荷率KL*に基づいて、低圧供給管53内および高圧供給管58内の燃料の圧力である低圧燃圧および高圧燃圧の目標値である目標低圧燃圧Pflo*および目標高圧燃圧Pfhi*を設定する。続いて、低圧燃圧Pfloが目標低圧燃圧Pflo*となるようにフィードポンプ52の目標吐出流量Qflpo*または目標回転数Nlp*を設定し、目標吐出流量Qflpo*または目標回転数Nlp*に基づいてフィードポンプ52の目標デューティDlp*を設定し、目標デューティDlp*を用いてフィードポンプ52を制御する。また、高圧燃圧Pfhiが目標高圧燃圧Pfhi*となるように高圧ポンプ57の目標吐出流量Qfhpo*を設定し、目標吐出流量Qfhpo*に基づいて高圧ポンプ57の電磁バルブ57aの目標デューティDhp*を設定し、目標デューティDhp*を用いて電磁バルブ57aを制御する。低圧燃圧Pfloは、後述の処理により推定された値が用いられ、高圧燃圧Pfhiは、燃圧センサ58pにより検出された値が用いられる。
次に、こうして構成された実施例の車両10の動作について説明する。特に、燃料タンク51内の燃料の温度であるタンク燃温Tftnkや、燃料種類としてのアルコール濃度Cfal、燃料タンク51内の圧力であるタンク内圧Ptnk、フィードポンプ52の特性(個体差)に関する特性変数Alpを設定する処理について説明する。また、低圧供給管53の圧損Lloを推定する処理や、高圧ポンプ57における低圧供給管53側の燃料の温度である高圧ポンプ燃温Tfhpを推定する処理についても説明する。さらに、低圧燃圧Pfloやそのベース値Pflobsおよび脈動成分Pfloplを推定する処理についても説明する。
図2は、タンク燃温推定ルーチンの一例を示フローチャートである。図3は、アルコール濃度推定ルーチンの一例を示すフローチャートである。図4は、タンク内圧推定ルーチンの一例を示すフローチャートである。図5は、特性変数設定ルーチンの一例を示すフローチャートである。図6は、圧損推定ルーチンの一例を示すフローチャートである。図7は、高圧ポンプ燃温推定ルーチンの一例を示すフローチャートである。図8は、低圧燃圧推定ルーチンの一例を示すフローチャートである。図2~図8の各ルーチンは、電子制御ユニット70により、ROM72に記憶されているプログラムを読み込んで実行される。以下、順に説明する。
図2のタンク燃温推定ルーチンを用いて、タンク燃温Tftnkを推定する処理について説明する。このルーチンは、図5の特性変数設定ルーチンにより実行が禁止されているときを除いて、電子制御ユニット70により繰り返し実行される。なお、図5の特性変数設定ルーチンにより実行が禁止されているときには、実施例では、タンク燃温Tftnkについては前回値を保持するものとした。図2のタンク燃温推定ルーチンでは、電子制御ユニット70のCPU71は、最初に、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutとを取得する(ステップS100)。
実施例では、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutとについて、それぞれ、フィードポンプ52の回転数Nlpとエンジン12の吸気温Taや空燃比AF、水温Tw、回転数Neと外気温Toutとの所定時間Δt1の逐次値(所定時間Δt1前から現在までの各時刻の値)を用いて、所定時間Δt1の変動量(最大値と最小値との差分)として演算した値を取得する。所定時間Δt1としては、例えば、20秒~60秒程度が用いられる。
ここで、フィードポンプ52の回転数Nlpについては、それぞれ、状態検出装置52aにより検出された値を取得する。エンジン12の吸気温Taについては、エアフローメータ23aにより検出された値を取得する。空燃比AFについては、空燃比センサ35により検出された値を取得する。水温Twについては、水温センサ40により検出された値を取得する。回転数Neについては、クランクポジションセンサ15により検出されたクランク角θcrに基づいて演算した値を取得する。外気温Toutについては、外気温センサ80により検出された値を取得する。
続いて、燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavと前回に推定したタンク燃温(前回Tftnk)とを取得する(ステップS110)。実施例では、燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavとについて、それぞれ、燃料タンク51内の燃料量Qftnkとラジエータファン62の回転数Nrfと車速Vとの所定時間Δt1の逐次値を用いて、所定時間Δt1の平均値として演算した値を取得する。ここで、燃料タンク51内の燃料量Qftnkについては、燃料量センサ51aにより検出された値を取得する。ラジエータファン62の回転数Nrfについては、回転数センサ62aにより検出された値を取得する。車速Vについては、車速センサ82により検出された値を取得する。
そして、ステップS100,S110で取得した、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutと燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavと前回に推定したタンク燃温(前回Tftnk)と、タンク燃温写像と、を用いてタンク燃温Tftnkを推定して(ステップS120)、本ルーチンを終了する。
ここで、タンク燃温写像は、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutと燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavと前回に推定したタンク燃温(前回Tftnk)とを含む入力変数を入力とすると共にタンク燃温Tftnkを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS120の処理は、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutと燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavと前回に推定したタンク燃温(前回Tftnk)とをそれぞれタンク燃温写像の入力変数x[1]~x[10]に設定し、設定した入力変数x[1]~x[10]をタンク燃温写像に適用してタンク燃温Tftnkを導出することにより行なわれる。
実施例では、タンク燃温写像は、中間層(隠れ層)がα個であり、各中間層の活性化関数h1~hαがハイパボリックタンジェント関数であり、出力層の活性化関数fがReLU(ランプ関数)であるニューラルネットワークにより構成されている。なお、各中間層の活性化関数h1~hαは、ハイパボリックタンジェント関数に限定されるものではなく、シグモイド関数などとしてもよい。出力層の活性化関数fは、ReLUに限定されるものではなく、例えば、恒等関数などとしてもよい。値αは、2以上に限定されるものではなく、1であってもよい。
式(1)は、タンク燃温写像の一例を示す関係式である。式(1)中、変数i,j,・・・,pは、第1中間層、第2中間層、・・・第α中間層の各中間層の各ノードを示す。積算数10は、入力層のノード数(入力変数の数)を示し、積算数n1,・・・,nαは、第1中間層、・・・、第α中間層の各ノード数を示す。変数x[i]は、上述の入力変数x[1]~x[10]を示し、係数w[1,j,i],w[2,k,j],・・・は、第1中間層、第2中間層、・・・の各中間層の各ノードの入力値の規定用の係数を示し、w[out,1,p]は、出力層の入力値の規定用の係数を示す。係数w[1,j,0],w[2,k,0],・・・,w[out,1,0]は、バイアスパラメータであり、x[0]は、1と定義した。
このようにして、タンク燃温Tftnkを推定することができる。これにより、燃料タンク51内に燃温センサを設けなくてよいから、部品数やコストの低減を図ることができる。なお、タンク燃温写像の生成方法については後述する。
次に、図3のアルコール濃度推定ルーチンを用いて、アルコール濃度Cfalを推定する処理について説明する。このルーチンは、図5の特性変数設定ルーチンにより実行が禁止されているときを除いて、電子制御ユニット70により繰り返し実行される。なお、図5の特性変数設定ルーチンにより実行が禁止されているときには、実施例では、アルコール濃度Cfalについては前回値を保持するものとした。図3のアルコール濃度推定ルーチンでは、電子制御ユニット70のCPU71は、最初に、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavを取得する(ステップS200)。
実施例では、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavについて、それぞれ、エンジン12の吸気温Taや空燃比AF、水温Tw、油温Toil、回転数Ne、負荷率KL、トルクTe、点火時期Tiの所定時間Δt2の逐次値(所定時間Δt2前から現在までの各時刻の値)を用いて、所定時間Δt2の平均値として演算した値を取得する。所定時間Δt2としては、例えば、80秒~120秒程度が用いられる。
ここで、吸気温Taについては、エアフローメータ23aにより検出された値を取得する。空燃比AFについては、空燃比センサ35により検出された値を取得する。水温Twについては、水温センサ40により検出された値を取得する。油温Toilについては、油温センサ42により検出された値を取得する。回転数Neについては、クランクポジションセンサ15により検出されたクランク角θcrに基づいて演算した値を取得する。負荷率KLについては、吸入空気量Qaとエンジン12の回転数Neとに基づいて演算した値を取得する。トルクTeについては、スロットルポジションセンサ24aにより検出されたスロットル開度THに基づいて演算(推定)した値を取得する。点火時期Tiについては、点火制御で設定した目標点火時期Ti*を取得する。
続いて、ステップS200で取得した、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavと、アルコール濃度写像(第1写像)と、を用いて燃料のアルコール濃度Cfalを推定して(ステップS210)、本ルーチンを終了する。
ここで、アルコール濃度写像(第1写像)は、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavとを含む入力変数(第1入力変数)を入力とすると共に燃料のアルコール濃度Cfalを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS210の処理は、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavとをそれぞれアルコール濃度写像の入力変数x[1]~x[8]に設定し、設定した入力変数x[1]~x[8]をアルコール濃度写像に適用して燃料のアルコール濃度Cfalを導出することにより行なわれる。実施例では、アルコール濃度写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。このようにして、燃料のアルコール濃度Cfalを推定することができる。これにより、燃料のアルコール濃度Cfalを検出するセンサを設けなくてよいから、部品数やコストの低減を図ることができる。なお、アルコール濃度写像の生成方法については後述する。
次に、図4のタンク内圧推定ルーチンを用いて、タンク内圧Ptnkを推定する処理について説明する。このルーチンは、電子制御ユニット70により繰り返し実行される。図4のタンク内圧推定ルーチンでは、電子制御ユニット70のCPU71は、最初に、燃料タンク51内の燃料量Qftnkを取得する(ステップS300)。ここで、燃料タンク51内の燃料量Qftnkについては、燃料量センサ51aにより検出された値を取得する。
続いて、ステップS300で取得した燃料タンク51内の燃料量Qftnkとタンク内圧写像とを用いてタンク内圧Ptnkを推定して(ステップS310)、本ルーチンを終了する。ここで、タンク内圧写像は、燃料タンク51内の燃料量Qftnkを含む入力変数を入力とすると共にタンク内圧Ptnkを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS310の処理は、燃料タンク51内の燃料量Qftnkをタンク内圧写像の入力変数x[1]に設定し、設定した入力変数x[1]をタンク内圧写像に適用してタンク内圧Ptnkを導出することにより行なわれる。実施例では、タンク内圧写像は、ニューラルネットワークにより構成されている。このようにして、タンク内圧Ptnkを推定することができる。これにより、燃料タンク51に内圧センサを設けなくてよいから、部品数やコストの低減を図ることができる。なお、タンク内圧写像の生成方法については後述する。
次に、図5の特性変数設定ルーチンを用いて、フィードポンプ52の特性変数Alpを設定する処理について説明する。このルーチンは、燃料タンク51に給油が行なわれてからシステム起動したときに、電子制御ユニット70により実行される。なお、給油の有無は、例えば、燃料タンク51内の燃料量Qftnkの増加の有無を調べたり、給油スタンドとの通信結果を調べたりすることにより行なわれる。特性変数Alpについて、実施例では、基準値を1としたときの相対値として表現するものとした。図5の特性変数設定ルーチンが実行されると、電子制御ユニット70は、最初に、図2のタンク燃温推定ルーチンや図3のアルコール濃度推定ルーチン、図8の低圧燃圧推定ルーチンの実行を禁止し(ステップS400)、リリーフ圧制御の実行を開始する(ステップS410)。
ここで、リリーフ圧制御は、低圧供給管53内の燃圧が閾値Pflolim以上になってリリーフバルブ56が開弁するようにフィードポンプ52を制御することにより行なわれる。このリリーフ圧制御は、例えば、リリーフバルブ56がない場合に低圧供給管53内の燃圧が閾値Pflolimよりもある程度大きくなるフィードポンプ52の目標吐出流量Qflpo*または目標回転数Nlp*を設定し、目標吐出流量Qflpo*または目標回転数Nlp*に基づいてフィードポンプ52の目標デューティDlp*を設定し、目標デューティDlp*を用いてフィードポンプ52を制御することにより行なわれる。
燃料タンク51に給油が行なわれたときには、給油された燃料の性状(温度やアルコール濃度)が給油前の燃料の性状とは異なる可能性がある。給油された燃料の性状が給油前の燃料の性状とは異なる場合、低圧供給管53内の燃圧を閾値Pflolimよりもある程度低い範囲内で調節しようとすると、低圧供給管53内の燃圧が給油後にばらついて、燃料噴射制御などに悪影響を与える可能性がある。これに対して、実施例では、燃料タンク51に給油が行なわれたときには、リリーフ圧制御を実行することにより、給油された燃料の性状が給油前の燃料の性状とは異なる場合でも、低圧供給管53内の燃圧を閾値Pflolimで安定させることができ、燃料噴射制御などに悪影響を与えるのを抑制することができる。
また、給油された燃料の性状が給油前の燃料の性状とは異なる場合、燃料タンク51内で燃料が混合されても、低圧供給管53内などには給油前の燃料が残っており、燃料タンク51内と低圧供給管53内などとで燃料の性状が異なる可能性がある。このときに、タンク燃温Tftnkやアルコール濃度Cfal、低圧燃圧Pfloを推定すると、これらの推定精度がそれほど高くない可能性がある。これを踏まえて、実施例では、図2のタンク燃温推定ルーチンや図3のアルコール濃度推定ルーチン、図8の低圧燃圧推定ルーチンの実行を禁止するものとした。これにより、タンク燃温Tftnkやアルコール濃度Cfal、低圧燃圧Pfloの低精度での推定を回避することができる。
そして、エンジン12の消費流量積算値Qfecsumを取得する(ステップS420)。ここで、エンジン12の消費流量積算値Qfecsumについては、エンジン12の消費流量Qfecの本ルーチンの実行開始からの積算値として演算した値を取得する。エンジン12の消費流量Qfecは、ポート噴射弁25および筒内噴射弁26の燃料噴射量Qfp,Qfdに基づくポート噴射弁25および筒内噴射弁26の消費流量Qfpc,Qfdcの和として演算される。
さらに、エンジン12の消費流量積算値Qfecsumが閾値Qfecsumref以上に至ったか否かを判定する(ステップS430)。ここで、閾値Qfecsumrefは、低圧供給管53内や高圧供給管58内に残っていた給油前の燃料の全てがポート噴射弁25や筒内噴射弁26から噴射されたか否か、即ち、給油前後の燃料が燃料タンク51内や低圧供給管53内、高圧供給管58内で十分に混合されたか否かを判定するのに用いられる閾値である。この閾値Qfecsumrefは、低圧供給管53や高圧供給管58の容積などに基づいて定められる。実施例では、エンジン12の消費流量積算値Qfecsumが閾値Qfecsumref以上に至った条件をリリーフ圧制御の解除条件として用いるものとした。
エンジン12の消費流量積算値Qfecsumが閾値Qfecsumref未満のときには、リリーフ圧制御の解除条件が成立していないと判断し、ステップS420に戻る。そして、ステップS420,S430の処理を繰り返し実行して、ステップS430でエンジン12の消費流量積算値Qfecsumが閾値Qfecsumref以上に至ると、リリーフ圧制御の解除条件が成立したと判断する。
そして、図2のタンク燃温推定ルーチンや図3のアルコール濃度推定ルーチン、図8の低圧燃圧推定ルーチンの実行を許可し(ステップS440)、その後に、リリーフ圧制御の解除条件の成立時のフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、タンク燃温Tftnkを取得する(ステップS450)。ここで、リリーフ圧制御の解除条件の成立時のフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlpについては、それぞれ、リリーフ圧制御の解除条件の成立後に、状態検出装置52aにより検出された値を取得する。リリーフ圧制御の解除条件の成立時のタンク燃温Tftnkについては、リリーフ圧制御の解除条件の成立後に、図2のタンク燃温推定ルーチンにより推定した値を取得する。
さらに、ステップS450で取得した、リリーフ圧制御の解除条件の成立時のフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、タンク燃温Tftnkと、特性変数写像(第2写像)と、を用いてフィードポンプ52の特性変数Alpを設定し(ステップS460)、リリーフ圧制御の実行を終了して(ステップS470)、本ルーチンを終了する。
ここで、特性変数写像(第2写像)は、リリーフ圧制御の解除条件の成立時のフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、タンク燃温Tftnkとを入力変数(第2入力変数)とすると共にフィードポンプ52の特性変数Alpを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS460の処理は、リリーフ圧制御の解除条件の成立時のフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、タンク燃温Tftnkとを特性変数写像の入力変数x[1]~x[4]に設定し、設定した入力変数x[1]~x[4]を特性変数写像に適用してフィードポンプ52の特性変数Alpを導出することにより行なわれる。実施例では、特性変数写像は、人による実験や解析などによりマップや演算式などとして定められている。このようにして、フィードポンプ52の特性変数Alpを設定することができる。
図5の特性変数設定ルーチンでは、燃料タンク51に給油が行なわれてからシステム起動したときには、リリーフ圧制御の解除条件が成立するまで、図2のタンク燃温推定ルーチンや図3のアルコール濃度推定ルーチン、図8の低圧燃圧推定ルーチンの実行を禁止することにより、タンク燃温Tftnkやアルコール濃度Cfal、低圧燃圧Pfloの低精度での推定を回避することができる。
次に、図6の圧損推定ルーチンを用いて、低圧供給管53の圧損Lloを推定する処理について説明する。このルーチンは、電子制御ユニット70により繰り返し実行される。図6の圧損推定ルーチンでは、電子制御ユニット70のCPU71は、最初に、エンジン12の消費流量Qfecを取得する(ステップS500)。ここで、エンジン12の消費流量Qfecについては、ポート噴射弁25および筒内噴射弁26の燃料噴射量Qfp,Qfdに基づくポート噴射弁25および筒内噴射弁26の消費流量Qfpc,Qfdcの和として演算した値を取得する。
続いて、ステップS500で取得したエンジン12の消費流量Qfecと圧損写像とを用いて低圧供給管53の圧損Lloを推定して(ステップS510)、本ルーチンを終了する。ここで、圧損写像は、エンジン12の消費流量Qfecを含む入力変数を入力とすると共に低圧供給管53の圧損Lloを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS510の処理は、エンジン12の消費流量Qfecを圧損写像の入力変数x[1]に設定し、設定した入力変数x[1]を圧損写像に適用して低圧供給管53の圧損Lloを導出することにより行なわれる。実施例では、圧損写像は、人による実験や解析などによりマップや演算式などとして定められている。このようにして、低圧供給管53の圧損Lloを推定することができる。
次に、図7の高圧ポンプ燃温推定ルーチンを用いて、高圧ポンプ燃温Tfhpを推定する処理について説明する。このルーチンは、電子制御ユニット70により繰り返し実行される。図7の高圧ポンプ燃温推定ルーチンでは、電子制御ユニット70のCPU71は、最初に、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpi(低圧供給管53から高圧ポンプ57に供給される燃料の流量)と車速Vと前回に推定した高圧ポンプ燃温(前回Tfhp)を取得する(ステップS600)。
ここで、エンジン12の吸気温Taについては、エアフローメータ23aにより検出された値を取得する。油温Toilについては、油温センサ42により検出された値を取得する。回転数Neについては、クランクポジションセンサ15により検出されたクランク角θcrに基づいて演算した値を取得する。負荷率KLについては、吸入空気量Qaとエンジン12の回転数Neとに基づいて演算した値を取得する。高圧ポンプ57の吸入流量Qfhpiについては、筒内噴射弁26の消費流量Qfdcと高圧ポンプ57の吸入流量Qfhpiとが等しいとみなして、筒内噴射弁26の目標噴射量Qfp*に基づいて演算した筒内噴射弁26の消費流量Qfdcを取得する。車速Vについては、車速センサ82により検出された値を取得する。
続いて、ステップS600で取得した、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpiと車速Vと前回に推定した高圧ポンプ燃温(前回Tfhp)と、高圧ポンプ燃温写像と、を用いて高圧ポンプ燃温Tfhpを推定して(ステップS610)、本ルーチンを終了する。
ここで、高圧ポンプ燃温写像は、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpiと車速Vと前回に推定した高圧ポンプ燃温(前回Tfhp)とを含む入力変数を入力とすると共に高圧ポンプ燃温Tfhpを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS610の処理は、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpiと車速Vと前回に推定した高圧ポンプ燃温(前回Tfhp)とをそれぞれ高圧ポンプ燃温写像の入力変数x[1]~x[7]に設定し、設定した入力変数x[1]~x[7]を高圧ポンプ燃温写像に適用して高圧ポンプ燃温Tfhpを導出することにより行なわれる。実施例では、高圧ポンプ燃温写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。このようにして、高圧ポンプ燃温Tfhpを推定することができる。これにより、高圧ポンプ57に燃温センサを設けなくてよいから、部品数やコストの低減を図ることができる。なお、高圧ポンプ燃温写像の生成方法については後述する。
次に、図8の低圧燃圧推定ルーチンを用いて、低圧燃圧Pfloやそのベース値Pflobsおよび脈動成分Pfloplを推定する処理について説明する。このルーチンは、図5の特性変数設定ルーチンにより実行が禁止されているときを除いて、電子制御ユニット70により繰り返し実行される。なお、図5の特性変数設定ルーチンにより実行が禁止されているときには、リリーフ圧制御を実行しているから、実施例では、低圧燃圧Pfloやベース値Pflobsについては閾値Pflolimであると推定し、脈動成分Pfloplについては略値0であると推定するものとした。
図8の低圧燃圧推定ルーチンでは、電子制御ユニット70のCPU71は、最初に、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpとを取得する(ステップS700)。
ここで、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlpについては、それぞれ状態検出装置52aにより検出された値を取得する。フィードポンプ52の特性変数Alpについては、図5の特性変数設定ルーチンにより推定した値を取得する。燃料タンク51内の燃料量Qftnkについては、燃料量センサ51aにより検出された値を取得する。エンジン12の消費流量Qfecについては、ポート噴射弁25および筒内噴射弁26の燃料噴射量Qfp,Qfdに基づくポート噴射弁25および筒内噴射弁26の消費流量Qfpc,Qfdcの和として演算した値を取得する。タンク燃温Tftnkについては、図2のタンク燃温推定ルーチンにより推定した値を取得する。燃料のアルコール濃度Cfalについては、図3のアルコール濃度推定ルーチンにより推定した値を取得する。タンク内圧Ptnkについては、図4のタンク内圧推定ルーチンにより推定した値を取得する。低圧供給管53の圧損Lloについては、図6の圧損推定ルーチンにより推定した値を取得する。高圧ポンプ燃温Tfhpについては、図7の高圧ポンプ燃温推定ルーチンにより推定した値を取得する。
続いて、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とを取得する(ステップS710)。
ここで、現在および過去のカム角θci,θci1,θci2については、それぞれ、カムポジションセンサ44により最新、所定時間Δt3だけ前、所定時間Δt4だけ前に検出された値を取得する。所定時間Δt3としては、例えば、数msec程度が用いられ、所定時間Δt4としては、例えば、所定時間Δt3の2倍の時間が用いられる。現在および過去の回転数Ne,Ne1,Ne2については、クランクポジションセンサ15により逐次検出されるクランク角θcrに基づいて最新、所定時間Δt3だけ前、所定時間Δt4だけ前に演算した値を取得する。現在および過去の負荷率KL,KL1,KL2については、エアフローメータ23aにより逐次検出される吸入空気量Qaと逐次演算される回転数Neとに基づいて最新、所定時間Δt3だけ前、所定時間Δt4だけ前に演算した値を取得する。高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2については、上述の高圧ポンプ57の吸入流量Qfhpi(ステップS600参照)や、カムポジションセンサ44により検出されたカム角θciに基づくインテークカムシャフトの回転数などに基づいて演算した値を取得する。現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2については、それぞれ、燃圧センサ58pにより最新、所定時間Δt3だけ前、所定時間Δt4だけ前に検出された値を取得する。
そして、フィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとを取得する(ステップS720)。実施例では、フィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとについて、それぞれ、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlpとエンジン12の消費流量Qfecとの所定時間Δt5の逐次値(所定時間Δt5前から現在までの各時刻の値)を用いて、所定時間Δt5の変動量として演算した値を取得する。フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlpとエンジン12の消費流量Qfecの取得方法については上述した。所定時間Δt5としては、例えば、5~25msec程度が用いられる。
こうして各種データを取得すると、ステップS700で取得した、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpと、ベース値写像と、を用いて低圧燃圧Pfloのベース値Pflobsを推定する(ステップS730)。
ここで、ベース値写像は、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpとを含む入力変数を入力とすると共にベース値Pflobsを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS730の処理は、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpとをそれぞれベース値写像の入力変数x[1]~x[10]に設定し、設定した入力変数x[1]~x[10]をベース値写像に適用してベース値Pflobsを導出することにより行なわれる。実施例では、ベース値写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。このようにして、ベース値Pflobsを推定することができる。なお、ベース値写像の生成方法については後述する。
そして、ステップS710で取得した、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2と、脈動写像と、を用いて低圧燃圧Pfloの脈動成分Pfloplを推定する(ステップS740)。上述したように、高圧ポンプ57の駆動時には、低圧供給管53内の燃圧(燃料の圧力)や高圧供給管58内の燃圧がエンジン12の回転(インテークカムシャフトの回転)に応じて脈動する。脈動成分Pfloplは、この脈動を反映する値である。
ここで、脈動写像は、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とを含む入力変数を入力とすると共に脈動成分Pfloplを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS740の処理は、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とをそれぞれ脈動写像の入力変数x[1]~x[15]に設定し、設定した入力変数x[1]~x[15]を脈動写像に適用して脈動成分Pfloplを導出することにより行なわれる。実施例では、脈動写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。このようにして、脈動成分Pfloplを推定することができる。なお、脈動写像の生成方法については後述する。
さらに、ベース値Pflobsと、脈動成分Pfloplと、ステップS720で取得したフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecと、低圧燃圧写像と、を用いて低圧燃圧Pfloを推定して(ステップS750)、本ルーチンを終了する。
ここで、低圧燃圧写像は、ベース値Pflobsと、脈動成分Pfloplと、フィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとを含む入力変数と、を入力とすると共に低圧燃圧Pfloを出力とする写像であり、フラッシュメモリ74に記憶されている。
ステップS750の処理は、ベース値Pflobsと脈動成分Pfloplとフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとをそれぞれ低圧燃圧写像の入力変数x[1]~x[6]に設定し、設定した入力変数x[1]~x[6]を低圧燃圧写像に適用することにより行なわれる。実施例では、低圧燃圧写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。このようにして、低圧燃圧Pfloを推定することができる。これにより、低圧供給管53に燃圧センサを設けなくてよいから、部品数やコストの低減を図ることができる。なお、低圧燃圧写像の生成方法については後述する。
図9は、低圧燃圧Pfloの様子の一例を示す説明図である。図示するように、低圧燃圧Pfloは、ベース値Pflobsを略中心に脈動する。また、低圧燃圧Pfloが増加した際には、低圧燃圧Pfloのベース値Pflobsがその後の値(安定後の値)にしてオーバーシュートする。発明者らは、実験や解析などにより、このベース値Pflobsのオーバーシュート量Pfloosが、フィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとに基づくことを見出した。これを踏まえて、実施例では、ベース値Pflobsと、脈動成分Pfloplと、フィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlp、エンジン12の消費流量変動量ΔQfec(これらに基づくオーバーシュート量Pfloos)とに基づいて低圧燃圧Pfloを推定するものとした。これにより、ベース値Pflobs、脈動成分Pflopl、オーバーシュート量Pfloosを反映した低圧燃圧Pfloを推定することができる。この結果、低圧供給管53に燃圧センサを設けなくてよいから、部品数やコストの低減を図ることができる。
次に、タンク燃温写像、アルコール濃度写像(第1写像)、タンク内圧写像、高圧ポンプ燃温写像、ベース値写像、脈動写像、低圧燃圧写像の各写像の生成方法について説明する。
図10は、機械学習により各写像を生成するための試験装置110および解析装置86の構成の概略を示す構成図である。試験装置110のハード構成は、駆動軸DSにデファレンシャルギヤDFや駆動輪DWに代えてダイナモメータDMが取り付けられる点や、燃温センサ51tやアルコール濃度センサ51c、内圧センサ51p、燃圧センサ53p、燃温センサ58tを備える点を除いて、図1の車両10と同様である。なお、試験装置110では、駆動軸DSに駆動輪DWに代えてダイナモメータDMが取り付けられるため、車速センサ82は、駆動軸DSの回転数から車速Vを推定するものとした。また、試験装置110は、設備内に収容されており、種々の試験条件(エンジン12や燃料供給装置50、冷却装置60、変速機TMの状態に関する条件、外気温や吸気温に関する条件、走行風に関する条件など)で試験を実施可能となっている。なお、試験装置110は、車両10と同様に、駆動軸DSにデファレンシャルギヤDFや駆動輪DWが取り付けられ、走行可能としてもよい。
燃温センサ51tは、燃料タンク51に取り付けられ、タンク燃温を検出タンク燃温Tftnkdtとして検出して電子制御ユニット70に送信する。内圧センサ51pは、燃料タンク51に取り付けられ、タンク内圧を検出タンク内圧Ptnkdtとして検出して電子制御ユニット70に送信する。燃圧センサ53pは、低圧供給管53のポート噴射弁25付近(例えば、低圧デリバリパイプ)に取り付けられ、低圧燃圧を検出低圧燃圧Pflodtとして検出して電子制御ユニット70に送信する。燃温センサ58tは、高圧ポンプ57における低圧供給管53側(電磁バルブ57a付近)に取り付けられ、高圧ポンプ燃温を検出高圧ポンプ燃温Tfhpdtとして検出して電子制御ユニット70に送信する。
解析装置86は、汎用コンピュータとして構成されており、CPUやROM、RAM、フラッシュメモリ、大容量記憶部(例えば、HDDやSSDなど)、入出力ポート、通信ポートを備える。解析装置86には、入力装置や表示装置が接続されている。入力装置としては、例えば、マウスやキーボードなどが挙げられる。解析装置86は、試験装置110の電子制御ユニット70と通信可能となっている。
図11は、タンク燃温写像の生成ルーチンの一例を示すフローチャートである。図12は、アルコール濃度写像(第1写像)の生成ルーチンの一例を示すフローチャートである。図13は、タンク内圧写像の生成ルーチンの一例を示すフローチャートである。図14は、高圧ポンプ燃温写像の生成ルーチンの一例を示すフローチャートである。図15は、ベース値写像や脈動写像、低圧燃圧写像の生成ルーチンの一例を示すフローチャートである。これらのルーチンは、解析装置86のCPUにより、解析装置86のROMに記憶されたプログラムを読み込んで実行される。以下、順に説明する。
図11のタンク燃温写像の生成ルーチンについて説明する。なお、発明者らは、この生成処理に先立って、実験や解析などにより、図2のタンク燃温推定ルーチンのステップS100,S110で取得するデータとタンク燃温Tftnkとが関連性を有する(前者が後者に影響を与える)ことを見出した。具体的には、燃料の熱量に関する熱量変数については、単位時間当たりの変化量がタンク燃温Tftnkに影響を与え、燃料の熱容量および熱伝達に関する熱容量変数については、単位時間当たりの平均値がタンク燃温Tftnkに影響を与えることを見出した。そして、熱量変数には、フィードポンプ52の回転数Nlpとエンジン12の吸気温Taや空燃比AF、水温Tw、回転数Neと外気温Toutとが含まれ、熱容量変数については、燃料タンク51内の燃料量Qftnkとラジエータファン62の回転数Nrfと車速Vとが含まれることを見出した。
図11のタンク燃温写像の生成ルーチンでは、解析装置86は、最初に、図2のタンク燃温推定ルーチンのステップS100,S110の処理と同一のデータを訓練データとして取得すると共に(ステップS100B,S110B)、検出タンク燃温Tftnkdtを訓練データのうちの教師データとして取得する(ステップS120B)。ここで、検出タンク燃温Tftnkdtについては、燃温センサ51tにより検出された値を取得する。
続いて、教師データ以外の訓練データ(ステップS100B,110Bで取得したデータ)とニューラルネットワークにより構成されたタンク燃温写像とを用いて、図2のタンク燃温推定ルーチンのステップS120の処理と同様にタンク燃温Tftnkを推定する(ステップS130B)。そして、教師データ以外の訓練データと推定したタンク燃温Tftnkと教師データとしての検出タンク燃温Tftnkdtとを関連付けてサンプルデータD1を生成する(ステップS140B)。
さらに、サンプルデータD1の数N1を閾値N1refと比較し(ステップS150B)、サンプルデータD1の数N1が閾値N1ref未満のときには、ステップS100Bに戻る。なお、実施例では、試験条件を変更しながらサンプルデータD1を収集するものとした。
ステップS150BでサンプルデータD1の数N1が閾値N1ref以上のときには、ニューラルネットワークにより構成されたタンク燃温写像における中間層や出力層の各ノードの入力値の規定用の係数(上述の係数w[1,j,i]など、以下、「ノード規定係数」という)を更新し、更新した各ノード規定係数を含むタンク燃温写像を電子制御ユニット70に送信して(ステップS160B)、本ルーチンを終了する。この処理は、例えば、各サンプルデータD1の教師データとしての検出タンク燃温TftnkdtとステップS130Bで推定したタンク燃温Tftnkとの誤差の二乗和が小さくなるように誤差逆伝搬法を用いてノード規定係数を更新することにより行なわれる。電子制御ユニット70は、解析装置86から受信したタンク燃温写像をフラッシュメモリ74に記憶させる。
次に、図12のアルコール濃度写像(第1写像)の生成ルーチンについて説明する。なお、発明者らは、この生成処理に先立って、実験や解析などにより、図3のアルコール濃度推定ルーチンのステップS200で取得するデータとアルコール濃度Cfalとが関連性を有する(前者が後者に影響を与える)ことを見出した。
図12のアルコール濃度写像の生成ルーチンでは、解析装置86は、最初に、図3のアルコール濃度推定ルーチンのステップS200の処理と同一のデータを訓練データとして取得すると共に(ステップS200B)、検出アルコール濃度Cfaldtを訓練データのうちの教師データとして取得する(ステップS210B)。ここで、検出アルコール濃度Cfaldtについては、アルコール濃度センサ51cにより検出された値を取得する。
続いて、教師データ以外の訓練データ(ステップS200Bで取得したデータ)とニューラルネットワークにより構成されたアルコール濃度写像とを用いて、図3のアルコール濃度推定ルーチンのステップS210の処理と同様にアルコール濃度Cfalを推定する(ステップS220B)。そして、教師データ以外の訓練データと推定したアルコール濃度Cfalと教師データとしての検出アルコール濃度Cfaldtとを関連付けてサンプルデータD2を生成する(ステップS230B)。
さらに、サンプルデータD2の数N2を閾値N2refと比較し(ステップS240B)、サンプルデータD2の数N2が閾値N2ref未満のときには、ステップS200Bに戻る。なお、実施例では、試験条件を変更しながらサンプルデータD2を収集するものとした。
ステップS240BでサンプルデータD2の数N2が閾値N2ref以上のときには、図11のタンク燃温写像の生成処理のステップS160Bの処理と同様に、ニューラルネットワークにより構成されたアルコール濃度写像の各ノード規定係数を更新し、更新した各ノード規定係数を含むアルコール濃度写像を電子制御ユニット70に送信して(ステップS250B)、本ルーチンを終了する。電子制御ユニット70は、解析装置86から受信したアルコール濃度写像をフラッシュメモリ74に記憶させる。
次に、図13のタンク内圧写像の生成ルーチンについて説明する。なお、発明者らは、この生成処理に先立って、実験や解析などにより、図4のタンク内圧推定ルーチンのステップS300で取得するデータとタンク内圧Ptnkとが関連性を有する(前者が後者に影響を与える)ことを見出した。
図13のタンク内圧写像の生成ルーチンでは、解析装置86は、最初に、図4のタンク内圧写像推定ルーチンのステップS300の処理と同一のデータ、具体的には、燃料タンク51内の燃料量Qftnkを訓練データとして取得すると共に(ステップS300B)、検出タンク内圧Ptnkdtを訓練データのうちの教師データとして取得する(ステップS310B)。ここで、検出タンク内圧Ptnkdtについては、内圧センサ51pにより検出された値を取得する。
続いて、教師データ以外の訓練データ(燃料量Qftnk)とニューラルネットワークにより構成されたタンク内圧写像とを用いて、図4のタンク内圧推定ルーチンのステップS310の処理と同様にタンク内圧Ptnkを推定し(ステップS320B)、教師データ以外の訓練データと推定したタンク内圧Ptnkと教師データとしての検出タンク内圧Ptnkdtとを関連付けてサンプルデータD3を生成する(ステップS330B)。
さらに、サンプルデータD3の数N3を閾値N3refと比較し(ステップS340B)、サンプルデータD3の数N3が閾値N3ref未満のときには、ステップS300Bに戻る。なお、実施例では、試験条件(燃料タンク51内の燃料量Qftnk)を変更しながらサンプルデータD3を収集するものとした。
ステップS340BでサンプルデータD3の数N3が閾値N3ref以上のときには、図11のタンク燃温写像の生成処理のステップS160Bの処理と同様に、ニューラルネットワークにより構成されたタンク内圧写像の各ノード規定係数を更新し、更新した各ノード規定係数を含むタンク内圧写像を電子制御ユニット70に送信して(ステップS350B)、本ルーチンを終了する。電子制御ユニット70は、解析装置86から受信したタンク内圧写像をフラッシュメモリ74に記憶させる。
次に、図14の高圧ポンプ燃温写像の生成ルーチンについて説明する。なお、発明者らは、この生成処理に先立って、実験や解析などにより、図7の高圧ポンプ燃温推定ルーチンのステップS600で取得するデータと高圧ポンプ燃温Tfhpとが関連性を有する(前者が後者に影響を与える)ことを見出した。
図14の高圧ポンプ燃温写像の生成ルーチンでは、解析装置86は、最初に、図7の高圧ポンプ燃温推定ルーチンのステップS600の処理と同一のデータを訓練データとして取得すると共に(ステップS600B)、検出高圧ポンプ燃温Tfhpdtを訓練データのうちの教師データとして取得する(ステップS610B)。ここで、検出高圧ポンプ燃温Tfhpdtについては、燃温センサ58tにより検出された値を取得する。
続いて、教師データ以外の訓練データ(ステップS600Bで取得したデータ)とニューラルネットワークにより構成された高圧ポンプ燃温写像とを用いて、図4の高圧ポンプ燃温推定ルーチンのステップS610の処理と同様に高圧ポンプ燃温Tfhpを推定する(ステップS620B)。そして、教師データ以外の訓練データと推定した高圧ポンプ燃温Tfhpと教師データとしての検出高圧ポンプ燃温Tfhpdtとを関連付けてサンプルデータD4を生成する(ステップS630B)。
さらに、サンプルデータD4の数N4を閾値N4refと比較し(ステップS640B)、サンプルデータD4の数N4が閾値N4ref未満のときには、ステップS600Bに戻る。なお、実施例では、試験条件を変更しながらサンプルデータD4を収集するものとした。
ステップS640BでサンプルデータD4の数N4が閾値N4ref以上のときには、図11のタンク燃温写像の生成処理のステップS160Bの処理と同様に、ニューラルネットワークにより構成された高圧ポンプ燃温写像の各ノード規定係数を更新し、更新した各ノード規定係数を含む高圧ポンプ燃温写像を電子制御ユニット70に送信して(ステップS250B)、本ルーチンを終了する。電子制御ユニット70は、解析装置86から受信した高圧ポンプ燃温写像をフラッシュメモリ74に記憶させる。
次に、図15のベース値写像や脈動写像、低圧燃圧写像の生成ルーチンについて説明する。なお、発明者らは、これらの生成処理に先立って、実験や解析などにより、図8の低圧燃圧推定ルーチンのステップS700で取得するデータとベース値Pflobsとが関連性を有する(前者が後者に影響を与える)ことを見出した。また、ステップS710で取得するデータと脈動成分Pfloplとが関連性を有することも見出した。さらに、ベース値Pflobsおよび脈動成分PfloplおよびステップS720で取得するデータと低圧燃圧Pfloとが関連性を有することも見出した。
図15のベース値写像や脈動写像、低圧燃圧写像の生成ルーチンでは、解析装置86は、最初に、図8の低圧燃圧推定ルーチンのステップS700~S720の処理と同一の処理を実行する(ステップS700B~S720B)。続いて、検出低圧燃圧Pflodtや検出ベース値Pflobsdt、検出脈動成分Pfloplを取得する(ステップS730B)。ここで、検出低圧燃圧Pflodtについては、燃圧センサ53pにより検出された値を取得する。検出ベース値Pflobsdtについては、検出低圧燃圧Pflodtに緩変化処理(なまし処理やレート処理)を施した値を取得する。検出脈動成分Pfloplについては、検出低圧燃圧Pflodtから検出ベース値Pflobsを減じた値を取得する。
そして、ステップS700Bで取得したデータをベース値写像用の訓練データとすると共に、ステップS730Bで取得した検出ベース値Pflobsdtをベース値写像用の訓練データのうちの教師データとする。そして、ベース値写像用の教師データ以外の訓練データとニューラルネットワークにより構成されたベース値写像とを用いて、図8の低圧燃圧推定ルーチンのステップS730の処理と同様にベース値Pflobsを推定する(ステップS740B)。そして、ベース値写像用の教師データ以外の訓練データと推定したベース値Pflobsとベース値写像用の教師データとしての検出ベース値Pflobsdtとを関連付けてサンプルデータD5aを生成する(ステップS750B)。
さらに、ステップS710Bで取得したデータを脈動写像用の訓練データとすると共に、ステップS730Bで取得した検出脈動成分Pflopldtを脈動写像用の訓練データのうちの教師データとする。そして、脈動写像用の教師データ以外の訓練データとニューラルネットワークにより構成された脈動写像とを用いて、図8の低圧燃圧推定ルーチンのステップS740の処理と同様に脈動成分Pfloplを推定する(ステップS760B)。そして、脈動写像用の教師データ以外の訓練データと推定した脈動成分Pfloplと脈動写像用の教師データとしての検出脈動成分Pflopldtとを関連付けてサンプルデータD5bを生成する(ステップS770B)。
加えて、ステップS740Bで推定したベース値PflobsとステップS760Bで推定した脈動成分PfloplとステップS720Bで取得したデータとを低圧燃圧写像用の訓練データとすると共に、ステップS730Bで取得した検出低圧燃圧Pflodtを低圧燃圧写像用の訓練データのうちの教師データとする。そして、低圧燃圧写像用の教師データ以外の訓練データとニューラルネットワークにより構成された低圧燃圧写像とを用いて、図8の低圧燃圧推定ルーチンのステップS750の処理と同様に低圧燃圧Pfloを推定する(ステップS780B)。そして、低圧燃圧写像用の教師データ以外の訓練データと推定した低圧燃圧Pfloと低圧燃圧写像用の教師データとしての検出低圧燃圧Pflodtとを関連付けてサンプルデータD5cを生成する(ステップS790B)。なお、ステップS740Bで推定したベース値PflobsおよびステップS760Bで推定した脈動成分Pfloplに代えて、検出ベース値Pflobsdtおよび検出脈動成分Pflopldtを訓練データとして、低圧燃圧Pfloを推定するものとしてもよい。
続いて、サンプルデータD5a,D5b,D5cの数N5を閾値N5refと比較し(ステップS800B)、サンプルデータ数N5が閾値N5ref未満のときには、ステップS700Bに戻る。なお、実施例では、試験条件を変更しながらサンプルデータを収集するものとした。
ステップS800Bでサンプルデータ数N5が閾値N5ref以上のときには、図11のタンク燃温写像の生成処理のステップS160Bの処理と同様に、ニューラルネットワークにより構成されたベース値写像や脈動写像、低圧燃圧写像の各ノード規定係数を更新し、更新した各ノード規定係数をそれぞれ含むベース値写像や脈動写像、低圧燃圧写像を電子制御ユニット70に送信して(ステップS810B)、本ルーチンを終了する。電子制御ユニット70は、解析装置86から受信したベース値写像や脈動写像、低圧燃圧写像をフラッシュメモリ74に記憶させる。
以上説明した実施例の車両10では、電子制御ユニット70は、燃料タンク51に給油が行なわれたときには、所定解除条件が成立するまで、低圧供給管53内の燃圧が閾値Pflolim以上になってリリーフバルブ56が開弁するようにフィードポンプ52を制御するリリーフ圧制御を実行する。これにより、給油された燃料の性状が給油前の燃料の性状とは異なる場合でも、低圧供給管53内の燃圧を閾値Pflolimで安定させることができ、燃料噴射制御などに悪影響を与えるのを抑制することができる。
また、電子制御ユニット70は、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpと、ベース値写像と、を用いてベース値Pflobsを推定する。続いて、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2と、脈動写像と、を用いて脈動成分Pfloplを推定する。そして、ベース値Pflobsと脈動成分Pfloplとフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecと、低圧燃圧写像と、を用いて低圧燃圧Pfloを推定する。このようにして、ベース値Pflobs、脈動成分Pflopl、オーバーシュート量Pfloosを反映した低圧燃圧Pfloを推定することができる。これにより、低圧供給管53に燃圧センサ53p(図10参照)を設けなくてよいから、部品数やコストの低減を図ることができる。
さらに、電子制御ユニット70は、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutと燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavと前回に推定したタンク燃温(前回Tftnk)と、タンク燃温写像と、を用いてタンク燃温Tftnkを推定する。このようにして、タンク燃温Tftnkを推定することができる。これにより、燃料タンク51に燃温センサ51t(図10参照)を設けなくてよいから、部品数やコストの低減を図ることができる。
加えて、電子制御ユニット70は、車両10の電子制御ユニット70は、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavと、アルコール濃度写像(第1写像)と、を用いて燃料のアルコール濃度Cfalを推定する。このようにして、アルコール濃度Cfalを推定することができる。これにより、燃料タンク51にアルコール濃度センサ51c(図10参照)を設けなくてよいから、部品数やコストの低減を図ることができる。
また、電子制御ユニット70は、車両10の電子制御ユニット70は、燃料タンク51内の燃料量Qftnkと、タンク内圧写像と、を用いてタンク内圧Ptnkを推定する。このようにして、タンク内圧Ptnkを推定することができる。これにより、燃料タンク51に内圧センサ51p(図10参照)を設けなくてよいから、部品数やコストの低減を図ることができる。
電子制御ユニット70は、リリーフ圧制御の解除条件の成立時のフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、タンク燃温Tftnkと、特性変数写像(第2写像)と、を用いてフィードポンプ52の特性変数Alpを設定する。このようにして、フィードポンプ52の特性変数Alpを推定することができる。
電子制御ユニット70は、エンジン12の消費流量Qfecと圧損写像とを用いて低圧供給管53の圧損Lloを推定する。このようにして、低圧供給管53の圧損Lloを推定することができる。
電子制御ユニット70は、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpiと車速Vと前回に推定した高圧ポンプ燃温(前回Tfhp)と、高圧ポンプ燃温写像と、を用いて高圧ポンプ燃温Tfhpを推定する。このようにして、高圧ポンプ燃温Tfhpを推定することができる。これにより、高圧ポンプ57に燃温センサ58t(図10参照)を設けなくてよいから、部品数やコストの低減を図ることができる。
実施例の車両10では、図2のタンク燃温写像推定ルーチンで用いられるタンク燃温写像の入力は、ステップS100,S110で取得するデータを含むものとした。ここで、ステップS100で取得するデータは、具体的には、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutとである。ステップS110で取得するデータは、具体的には、燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavと前回に推定したタンク燃温(前回Tftnk)とである。
しかし、タンク燃温写像の入力は、フィードポンプ52の回転数変動量ΔNlpに関連する値として、フィードポンプ52の制御に用いる目標吐出流量Qflpo*や目標回転数Nlp*、目標デューティDlp*のうちの何れかの所定時間Δt1の変動量ΔQを含むものとしてもよい。また、フィードポンプ52の回転数変動量ΔNlpまたはこれに関連する値に加えて、フィードポンプ52の作動電流変動量ΔIlpや作動電圧変動量ΔVlpなどのうちの少なくとも一部を含むものとしてもよい。
また、タンク燃温写像の入力は、エンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeのうちの一部だけを含むものとしてもよい。また、これらのうちの少なくとも一部に加えて、エンジン12の吸入空気量Qaや油温Toil、負荷率KL、トルクTe、点火時期Ti、ポート噴射弁25や筒内噴射弁26の目標噴射量Qfp*,Qfd*や燃料噴射量Qfp,Qfdなどのうちの少なくとも一部の所定時間Δt1の変動量を含むものとしてもよい。
さらに、タンク燃温写像の入力は、燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavとのうちの少なくとも一部だけを含むものとしてもよいし、これらの全てを含まないものとしてもよい。また、燃料タンク51内の平均燃料量Qftnkavに代えて、燃料量Qftnkを含むものとしてもよい。ラジエータファン62の平均回転数Nrfavに代えて、ラジエータファン62の回転数Nrfや、ラジエータファン62の制御に用いる目標回転数Nrf*の所定時間Δt1の平均値、目標回転数Nrf*のうちの何れかを含むものとしてもよい。平均車速Vavに代えて、車速Vを含むものとしてもよい。
実施例の車両10では、電子制御ユニット70は、図3のアルコール濃度推定ルーチンにより、アルコール濃度Cfalを推定するものとした。しかし、これに代えて、図16のアルコール濃度推定ルーチンにより、アルコール濃度Cfalを推定するものとしてもよい。図16のルーチンは、ステップS202,S204の処理が追加された点を除いて、図3のルーチンと同一である。したがって、図16のルーチンのうち図3のルーチンと同一の処理については、同一のステップ番号を付し、詳細な説明を省略する。
図16のアルコール濃度推定ルーチンでは、電子制御ユニット70は、ステップS200でデータを入力すると、エンジン12の平均回転数Neavおよび平均トルクTeavが値0であるか否かを判定する(ステップS202,S204)。そして、エンジン12の平均回転数Neavおよび平均トルクTeavが何れも値0でないときには、アルコール濃度写像(第1写像)を用いて燃料のアルコール濃度Cfalを推定して(ステップS210)、本ルーチンを終了する。
ステップS202でエンジン12の平均回転数Neavが値0のときや、ステップS204でエンジン12の平均トルクTeavが値0のときには、アルコール濃度Cfalを推定することなく、本ルーチンを終了する。アルコール濃度写像(第1写像)がニューラルネットワークにより構成される場合、エンジン12の平均回転数Neavや平均トルクTeavが値0のとき、即ち、アルコール濃度写像(第1写像)の入力の一部が値0のときには、アルコール濃度Cfalを適切に推定できない可能性がある。したがって、この変形例では、エンジン12の平均回転数Neavや平均トルクTeavが値0のときには、アルコール濃度Cfalを推定しないものとした。これにより、アルコール濃度Cfalの低精度での推定を回避することができる。
図16のアルコール濃度推定ルーチンでは、エンジン12の平均回転数Neavや平均トルクTeavが値0のときに、アルコール濃度Cfalを推定しないものとした。しかし、エンジン12の平均回転数Neavおよび平均トルクTeavが値0のときに、アルコール濃度Cfalを推定しないものとしてもよい。
実施例の車両10では、図3や図16のアルコール濃度推定ルーチンで用いられるアルコール濃度写像(第1写像)の入力は、ステップS200で取得するデータを含むものとした。ここで、ステップS200で取得するデータは、具体的には、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavである。
しかし、アルコール濃度写像(第1写像)の入力は、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavのうちの一部だけを含むものとしてもよい。また、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavに代えて、エンジン12の吸気温Ta、空燃比AF、水温Tw、油温Toil、回転数Ne、負荷率KL、トルクTe、点火時期Tiのうちの少なくとも一部を含むものとしてもよい。
実施例の車両10では、電子制御ユニット70は、図5の特性変数設定ルーチンを実行するものとした。しかし、これに代えて、図17の特性変数設定ルーチンを実行するものとしてもよい。図17の特性変数設定ルーチンは、ステップS420,S430の処理がステップS420C,430Cの処理に置き換えられた点を除いて、図5の特性変数設定ルーチンと同一である。したがって、図17のルーチンのうち図5のルーチンと同一の処理については、同一のステップ番号を付し、詳細な説明を省略する。
図17の特性変数設定ルーチンでは、電子制御ユニット70のCPU71は、ステップS410でリリーフ圧制御の実行を開始すると、フィードポンプ52の作動電流変動量ΔIlp2を取得する(ステップS420C)。ここで、フィードポンプ52の作動電流変動量ΔIlp2については、フィードポンプ52の作動電流Ilpの所定時間Δt6当たりの変動量として演算した値を取得する。フィードポンプ52の作動電流Ilpの取得方法については上述した。所定時間Δt6としては、例えば、20~100μsec程度が用いられる。
こうしてデータを取得すると、フィードポンプ52の作動電流変動量ΔIlp2の絶対値が閾値ΔIlp2ref以下であるか否かを判定する(ステップS430C)。ここで、閾値ΔIlp2refは、フィードポンプ52の作動電流Ilpが十分に収束したか否かを判定するのに用いられる閾値である。この変形例では、フィードポンプ52の作動電流変動量ΔIlp2の絶対値が閾値ΔIlp2ref以下に至った条件をフィードポンプ52の解除条件として用いるものとした。
ステップS430Cでフィードポンプ52の作動電流変動量ΔIlp2の絶対値が閾値ΔIlp2refよりも大きいときには、リリーフ圧制御の解除条件が成立していないと判断し、ステップS420Cに戻る。そして、ステップS420C,S430Cの処理を繰り返し実行して、ステップS430でフィードポンプ52の作動電流変動量ΔIlp2の絶対値が閾値ΔIlp2ref以下に至ると、リリーフ圧制御の解除条件が成立したと判断し、ステップS440以降の処理を実行する。
図18は、燃料タンク51に給油が行なわれてからシステム起動したときの低圧供給管53内の燃圧(実値)とフィードポンプ52の作動電流Ilpおよび回転数Nlpと禁止フラグFとの様子の一例を示す説明図である。ここで、禁止フラグFは、図2のタンク燃温推定ルーチンや図3のアルコール濃度推定ルーチン、図8の低圧燃圧推定ルーチンの実行禁止の有無を示すフラグである。燃料タンク51に給油が行なわれてからシステム起動すると(時刻t11)、禁止フラグFを値0から値1に切り替えると共にリリーフ圧制御の実行を開始する。そして、低圧供給管53内の燃圧(実値)が閾値Pflolim以上に至ると(時刻t12)、リリーフバルブ56が開弁し、その後にフィードポンプ52の作動電流変動量ΔIlp2の絶対値が閾値ΔIlp2ref以下に至ると、リリーフ圧制御の解除条件が成立したと判断し、禁止フラグFを値1から値0に切り替える。
実施例や変形例の車両10では、電子制御ユニット70は、図5や図17の特性変数設定ルーチンにより、燃料タンク51に給油が行なわれてからシステム起動したときには、リリーフ圧制御の解除条件が成立するまで、図2のタンク燃温推定ルーチンや、図3のアルコール濃度推定ルーチン、図8の低圧燃圧推定ルーチンの実行を禁止するものとした。しかし、この間でも、これらのうちの少なくとも一部のルーチンについて実行を禁止しないものとしてもよい。即ち、この間でも、タンク燃温Tftnkやアルコール濃度Cfal、低圧燃圧Pflo(ベース値Pflobsや脈動成分Pfloplを含む)のうちの少なくとも一部の推定を行なうものとしてもよい。
実施例や変形例の車両10では、電子制御ユニット70は、燃料タンク51に給油が行なわれてからシステム起動したときに、図5や図17の特性変数設定ルーチンを実行するものとした。しかし、これに加えて、例えば、所定距離(例えば、数百~千km程度)走行するごとに、図5や図17の特性変数設定ルーチンを実行するものとしてもよい。この場合、燃料タンク51内の燃料が変化する訳ではないから、図2のタンク燃温推定ルーチンや図3のアルコール濃度推定ルーチン、図7の高圧ポンプ燃温推定ルーチン、図8の低圧燃圧推定ルーチンの実行を禁止しなくてよい。
実施例の車両10では、図7の高圧ポンプ燃温推定ルーチンで用いられる高圧ポンプ燃温写像の入力は、ステップS600で取得するデータを含むものとした。ここで、ステップS600で取得するデータは、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpiと車速Vと前回に推定した高圧ポンプ燃温(前回Tfhp)である。しかし、高圧ポンプ燃温写像の入力は、これらのうちの一部だけを含むものとしてもよい。
実施例の車両10では、電子制御ユニット70は、ベース値写像を用いてベース値Pflobsを推定し、脈動写像を用いて脈動成分Pfloplを推定し、低圧燃圧写像を用いて低圧燃圧Pfloを推定するものとした。しかし、脈動成分Pfloplを推定することなく、低圧燃圧Pfloを推定するものとしてもよい。
図19は、この場合の低圧燃圧推定ルーチンの一例を示すフローチャートである。このルーチンは、ステップS740の処理が除かれた点や、ステップS750の処理がステップS750Cの処理に置き換えられた点を除いて、図8の低圧燃圧推定ルーチンと同一である。したがって、図19のルーチンのうち図8のルーチンと同一の処理については、同一のステップ番号を付し、詳細な説明を省略する。
図19の低圧燃圧推定ルーチンでは、電子制御ユニット70は、ステップS730でベース値Pflobsを推定すると、ベース値PflobsとステップS710,S720で取得したデータと第2低圧燃圧写像とを用いて低圧燃圧Pfloを推定して(ステップS750C)、本ルーチンを終了する。
ここで、第2低圧燃圧写像は、ベース値Pflobsと、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとを含む入力変数と、を入力とすると共に低圧燃圧Pfloを出力とする写像であり、フラッシュメモリ74に記憶される。
ステップS750Cの処理は、ベース値Pflobsとエンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとをそれぞれ第2低圧燃圧写像の入力変数x[1]~x[20]に設定し、設定した入力変数x[1]~x[20]を第2低圧燃圧写像に適用することにより行なわれる。
この変形例では、第2低圧燃圧写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。したがって、ステップS750Cの処理は、入力変数x[1]~x[20]をニューラルネットワークにより構成された第2低圧燃圧写像に適用して低圧燃圧Pfloを導出する処理となる。この場合でも、実施例と同様に、低圧燃圧Pfloを推定することができる。なお、第2低圧燃圧写像は、低圧燃圧写像と同様の方法により生成することができる。
実施例の車両10では、電子制御ユニット70は、ベース値写像を用いてベース値Pflobsを推定し、脈動写像を用いて脈動成分Pfloplを推定し、低圧燃圧写像を用いて低圧燃圧Pfloを推定するものとした。しかし、ベース値Pflobsや脈動成分Pfloplを推定することなく、低圧燃圧Pfloを推定するものとしてもよい。
図20は、この場合の低圧燃圧推定ルーチンの一例を示すフローチャートである。このルーチンは、ステップS730,S740の処理が除かれた点や、ステップS750の処理がステップS750Dの処理に置き換えられた点を除いて、図8の低圧燃圧推定ルーチンと同一である。したがって、図20のルーチンのうち図8のルーチンと同一の処理については、同一のステップ番号を付し、詳細な説明を省略する。
図20の低圧燃圧推定ルーチンでは、電子制御ユニット70は、ステップS700~S720の処理でデータを取得すると、取得したデータと第3低圧燃圧写像とを用いて低圧燃圧Pfloを推定して(ステップS750D)、本ルーチンを終了する。
ここで、第3低圧燃圧写像は、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpとエンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとを含む入力変数を入力とすると共に低圧燃圧Pfloを出力とする写像であり、フラッシュメモリ74に記憶される。
ステップS750Dの処理は、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpとエンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とフィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとをそれぞれ第2低圧燃圧写像の入力変数x[1]~x[29]に設定し、設定した入力変数x[1]~x[29]を第3低圧燃圧写像に適用することにより行なわれる。
この変形例では、第3低圧燃圧写像は、タンク燃温写像と同様に、ニューラルネットワークにより構成されている。したがって、ステップS750Dの処理は、入力変数x[1]~x[29]をニューラルネットワークにより構成された第3低圧燃圧写像に適用して低圧燃圧Pfloを導出する処理となる。この場合でも、実施例と同様に、低圧燃圧Pfloを推定することができる。なお、第3低圧燃圧写像は、低圧燃圧写像と同様の方法により生成することができる。
実施例や変形例の車両10では、図8や図19、図20の低圧燃圧推定ルーチンで用いられる、低圧燃圧写像や第2低圧燃圧写像、第3低圧燃圧写像の入力は、ステップS720で取得するデータ、具体的には、フィードポンプ52の回転数変動量ΔNlpや作動電流変動量ΔIlp、作動電圧変動量ΔVlpとエンジン12の消費流量変動量ΔQfecとを含むものとした。しかし、ステップS720で取得するデータのうちの一部だけを含むものとしてもよい。また、ステップS720で取得するデータの全てを含まないものとしてもよい。この場合、低圧供給管53内の燃圧のベース値に対するオーバーシュート量を考慮せずに、低圧燃圧Pfloを推定することになる。
実施例や変形例の車両10では、図8や図19、図20の低圧燃圧推定ルーチンで用いられる、脈動写像や、第2低圧燃圧写像、第3低圧燃圧写像の入力は、ステップS710で取得するデータ、具体的には、エンジン12の現在および過去のカム角θci,θci1,θci2や現在および過去の回転数Ne,Ne1,Ne2、現在および過去の負荷率KL,KL1,KL2と高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2と現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2とを含むものとした。
しかし、現在および過去のカム角θci,θci1,θci2を含むものであればよく、現在および過去の回転数Ne,Ne1,Ne2を含まないものとしてもよいし、現在および過去の負荷率KL,KL1,KL2を含まないものとしてもよいし、高圧ポンプ57の現在および過去の吐出流量Qfhpo,Qfhpo1,Qfhpo2を含まないものとしてもよいし、現在および過去の高圧燃圧Pfhi,Pfhi1,Pfhi2を含まないものとしてもよい。
また、カム角θciや回転数Ne、負荷率KL、吐出流量Qfhpo、高圧燃圧Pfhiについての過去のデータ数は、2つに限定されるものではなく、1つでもよいし、3つ以上でもよい。
さらに、低圧燃圧写像の入力は、脈動成分Pfloplを含まないものとしてもよい。また、第2低圧燃圧写像や第3低圧燃圧写像の入力は、ステップS710で取得するデータの全てを含まないものとしてもよい。これらの場合、低圧供給管53内の燃圧の脈動を考慮せずに、低圧燃圧Pfloを推定することになる。
実施例や変形例の車両10では、電子制御ユニット70は、図8の低圧燃圧推定ルーチンにより、脈動写像を用いて脈動成分Pfloplを推定するものとした。しかし、脈動成分Pfloplを推定しないものとしてもよい。このとき、図8の低圧燃圧推定ルーチンで用いられる低圧燃圧写像の入力は、脈動成分Pfloplを含まないことになる。
実施例や変形例の車両10では、図8や図19、図20の低圧燃圧推定ルーチンで用いられる、ベース値写像や第3低圧燃圧写像の入力は、ステップS700で取得するデータ、具体的には、フィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、特性変数Alpとエンジン12の消費流量Qfecとタンク燃温Tftnkと燃料のアルコール濃度Cfalとタンク内圧Ptnkと低圧供給管53の圧損Lloと高圧ポンプ燃温Tfhpとを含むものとした。
しかし、フィードポンプ52の回転数Nlpに関連する値として、フィードポンプ52の制御に用いる目標吐出流量Qflpo*や目標回転数Nlp*、目標デューティDlp*のうちの何れかを含むものとしてもよい。フィードポンプ52の作動電圧Vlpを含まないものとしてもよい。フィードポンプ52の特性変数Alpを含まないものとしてもよい。
また、タンク燃温Tftnkおよび燃料のアルコール濃度Cfalのうちの何れかを含まないものとしてもよい。タンク燃温Tftnkに代えて、タンク燃温Tftnkの推定に用いた、フィードポンプ52の回転数変動量ΔNlpとエンジン12の吸気温変動量ΔTaや空燃比変動量ΔAF、水温変動量ΔTw、回転数変動量ΔNeと外気温変動量ΔToutと燃料タンク51内の平均燃料量Qftnkavとラジエータファン62の平均回転数Nrfavと平均車速Vavとのうちの少なくとも一部を含むものとしてもよい。アルコール濃度Cfalに代えて、アルコール濃度Cfalの推定に用いた、エンジン12の平均吸気温Taavや平均空燃比AFav、平均水温Twav、平均油温Toilav、平均回転数Neav、平均負荷率KLav、平均トルクTeav、平均点火時期Tiavとのうちの少なくとも一部を含むものとしてもよい。
さらに、タンク内圧Ptnkを含まないものとしてもよい。タンク内圧Ptnkに代えて、タンク内圧Ptnkの推定に用いた燃料タンク51内の燃料量Qftnkを含むものとしてもよい。特性変数Alpを含まないものとしてもよい。特性変数Alpの設定に用いた、リリーフ圧制御の解除条件成立したときのフィードポンプ52の回転数Nlpや作動電流Ilp、作動電圧Vlp、タンク燃温Tftnkのうちの少なくとも一部を含むものとしてもよい。低圧供給管53の圧損Lloを含まないものとしてもよい。高圧ポンプ燃温Tfhpを含まないものとしてもよい。高圧ポンプ燃温Tfhpに代えて、高圧ポンプ燃温Tfhpの推定に用いた、エンジン12の吸気温Taや油温Toil、回転数Ne、負荷率KL、高圧ポンプ57の吸入流量Qfhpiと車速Vとのうちの少なくとも一部を含むものとしてもよい。
実施例や上述の変形例の車両10では、図1に示したように、エンジン12は、ポート噴射弁25および筒内噴射弁26を備えるものとした。しかし、図21の車両10Bに示すように、エンジン12Bがポート噴射弁25を備えないものとしてもよい。車両10Bのハード構成の場合、電子制御ユニット70は、実施例や上述の変形例と同様に、図2のタンク燃温推定ルーチンや、図3のアルコール濃度推定ルーチン、図4のタンク内圧推定ルーチン、図5の特性変数設定ルーチン、図6の圧損推定ルーチン、図7の高圧燃圧推定ルーチン、図8の低圧燃圧推定ルーチンなどを実行すればよい。これにより、タンク燃温Tftnkやアルコール濃度Cfal、タンク内圧Ptnk、フィードポンプ52の特性変数Alp、低圧供給管53の圧損Llo、高圧燃圧Pfhi、ベース値Pflobs、脈動成分Pflopl、低圧燃圧Pfloを推定することができる。
実施例や上述の変形例の車両10では、図1に示したように、エンジン12は、ポート噴射弁25および筒内噴射弁26を備えるものとした。しかし、図22の車両10Cに示すように、エンジン12Cがポート噴射弁25を備えないと共に、燃料供給装置50Cが高圧ポンプ57や高圧供給管58、燃圧センサ58pを備えないものとしてもよい。車両10Cのハード構成の場合、電子制御ユニット70は、図2のタンク燃温推定ルーチンや、図3のアルコール濃度推定ルーチン、図4のタンク内圧推定ルーチン、図5の特性変数設定ルーチン(図7の高圧燃圧推定ルーチンに対する実行禁止や実行許可を除く)、図6の圧損推定ルーチンなどの高圧ポンプ57や高圧供給管58に無関係なルーチンについては、実施例や上述の変形例と同様に実行すればよい。これにより、タンク燃温Tftnkやアルコール濃度Cfal、タンク内圧Ptnk、フィードポンプ52の特性変数Alp、低圧供給管53の圧損Lloを推定することができる。車両10Cは、高圧ポンプ57や高圧供給管58を備えないから、図7の高圧燃圧推定ルーチンを実行する必要がない。車両10Cは、高圧ポンプ57や高圧供給管58を備えないと共に高圧ポンプ57の駆動による低圧供給管53内の燃圧の脈動が生じないから、図8などの低圧燃圧推定ルーチンでは、高圧ポンプ燃温や低圧供給管53内の燃圧の脈動を考慮せずに、低圧燃圧Pfloを推定すればよい。
実施例や上述の変形例の車両10,10B,10Cでは、電子制御ユニット70が、タンク燃温写像を用いてタンク燃温Tftnkを推定するものとした。しかし、車両10,10B,10Cが燃温センサ51t(図10参照)を備えるものとしてもよい。
実施例や上述の変形例の車両10,10B,10Cでは、電子制御ユニット70が、アルコール濃度写像(第1写像)を用いて燃料のアルコール濃度Cfalを推定するものとした。しかし、車両10,10B,10Cがアルコール濃度センサ51c(図10参照)を備えるものとしてもよい。
実施例や上述の変形例の車両10,10B,10Cでは、電子制御ユニット70が、タンク内圧写像を用いてタンク内圧Ptnkを推定するものとした。しかし、車両10,10B,10Cが内圧センサ51p(図10参照)を備えるものとしてもよい。
実施例や上述の変形例の車両10,10Bでは、電子制御ユニット70が、高圧ポンプ燃温写像を用いて高圧ポンプ燃温Tfhpを推定するものとした。しかし、車両10,10Bが燃温センサ58t(図10参照)を備えるものとしてもよい。
実施例や上述の車両10では、電子制御ユニット70が、タンク燃温写像やアルコール濃度写像(第1写像)、タンク内圧写像、特性変数写像(第2写像)、圧損写像を用いてタンク燃温Tftnkやアルコール濃度Cfal、タンク内圧Ptnk、特性変数Alp、低圧供給管53の圧損Lloなどを推定するものとした。また、ベース値写像や脈動写像、低圧燃圧写像を用いてベース値Pflobsや脈動成分Pflopl、低圧燃圧Pfloを推定するものとした。車両10B,10Cについても同様である。しかし、これらの推定を車両外部で行なうものとしてもよい。図23は、車両10Dに搭載される電子制御ユニット70Dと車両外部に配置されるサーバ90との構成の概略を示す構成図である。車両10Dは、車両10,10B,10Cのうちの何れかと同様に構成されている。
車両10Dの電子制御ユニット70Dは、実施例の車両10などの電子制御ユニット70と同様のCPU71やROM72、RAM73、フラッシュメモリ74を備えるのに加えて、通信機75を備える。車両10Dのフラッシュメモリ74には、車両10,10B,10Cのフラッシュメモリ74に記憶される各写像(低圧燃圧写像など)が記憶されていない。なお、フラッシュメモリ74を備えないものとしてもよい。通信機75は、ネットワークを介してサーバ90と通信を行なう。
サーバ90は、車両10Dを含む各車両からのデータを解析する装置として構成されている。このサーバ90は、CPU71やROM72、RAM73、大容量記憶部(例えば、HDDやSSDなど)74、通信機75を備える。大容量記憶部93は、車両10,10B,10Cのフラッシュメモリ74に記憶される各写像(低圧燃圧写像など)が記憶されている。通信機75は、ネットワークを介して車両10Dを含む各車両と通信を行なう。
図24は、タンク燃温Tftnkを推定する際の電子制御ユニット70Dおよびサーバ90の処理の流れの一例を示すフローチャートである。図示するように、最初に、車両10Dの電子制御ユニット70Dが、図2のタンク燃温推定ルーチンのステップS100,S110の処理と同様のデータを取得し(ステップS800,S810)、取得したデータを、車両10Dの識別番号である車両IDと共にサーバ90に送信する(ステップS820)。
サーバ90は、車両10Dからデータを受信すると(ステップS830)、図2のタンク燃温推定ルーチンのステップS120の処理と同様に、受信したデータとタンク燃温写像とを用いてタンク燃温Tftnkを推定し(ステップS840)、推定したタンク燃温Tftnkを車両10Dに送信する(ステップS850)。そして、車両10Dがタンク燃温Tftnkを受信する(ステップS860)ことにより、この一連の流れを終了する。こうした一連の処理により、車両10DのCPU71の処理負荷を低減することができる。
図24では、タンク燃温Tftnkを推定する際の電子制御ユニット70Dおよびサーバ90の処理の流れについて説明した。アルコール濃度Cfalやタンク内圧Ptnk、特性変数Alp、圧損Llo、ベース値Pflobs、脈動成分Pflopl、低圧燃圧Pfloなどを推定する際の電子制御ユニット70Dおよびサーバ90の処理の流れについても同様に考えることができる。即ち、電子制御ユニット70Dが、各種データを取得してサーバ90に送信し、サーバ90が、電子制御ユニット70Dから各種データを受信してアルコール濃度Cfalやタンク内圧Ptnk、特性変数Alp、圧損Llo、ベース値Pflobs、脈動成分Pflopl、低圧燃圧Pfloなどを推定して電子制御ユニット70Dに送信し、電子制御ユニット70Dが、アルコール濃度Cfalやタンク内圧Ptnk、特性変数Alp、圧損Llo、ベース値Pflobs、脈動成分Pflopl、低圧燃圧Pfloなどを受信すればよい。
実施例や上述の変形例では、タンク燃温写像やアルコール濃度写像(第1写像)、タンク内圧写像、高圧ポンプ燃温写像、ベース値写像、脈動写像、低圧燃圧写像などの各写像は、機械学習の手法として、ニューラルネットワークにより生成するものとした。しかし、ニューラルネットワーク以外の手法、例えば、ランダムフォレストや、サポートベクターマシン、LSTM(Long Short Term Memory)などにより生成されるものとしてもよい。また、人による実験や解析などによりマップや演算式などとして生成されるものとしてもよい。
実施例や上述の変形例では、特性変数写像(第2写像)や圧損写像は、人による実験や解析などによりマップや演算式などとして定められるものとした。しかし、機械学習により定められるものとしてもよい。
実施例や上述の変形例では、燃料の温度として、タンク燃温Tftnkや高圧ポンプ燃温Tfhpを推定するものとした。しかし、タンク燃温Tftnkに代えて、低圧供給管53内の燃料の温度を推定するものとしてもよい。
実施例や上述の変形例では、燃料種類として、アルコール濃度Cfalを推定するものとした。しかし、アルコール濃度Cfalに加えてまたは代えて、例えば、粘度ηfを推定するものとしてもよい。
実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係について説明する。実施例では、エンジン12が「エンジン」に相当し、燃料供給装置50が「燃料供給装置」に相当し、電子制御ユニット70が「燃料供給装置の制御装置」に相当し、フラッシュメモリ74が「記憶部」に相当し、CPU71が「実行部」に相当する。
なお、実施例の主要な要素と課題を解決するための手段の欄に記載した発明の主要な要素との対応関係は、実施例が課題を解決するための手段の欄に記載した発明を実施するための形態を具体的に説明するための一例であることから、課題を解決するための手段の欄に記載した発明の要素を限定するものではない。即ち、課題を解決するための手段の欄に記載した発明についての解釈はその欄の記載に基づいて行なわれるべきものであり、実施例は課題を解決するための手段の欄に記載した発明の具体的な一例に過ぎないものである。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。