以下、図面を参照しつつ本発明に係る筒内吸入空気量検出装置の好適な実施形態について詳細に説明する。
図1は、本発明の一実施形態である筒内吸入空気量検出装置1が適用された内燃機関100を示す概略構成図である。図1に示される内燃機関100は、自動車の車両200に搭載され、シリンダブロック2に形成された各気筒3の燃焼室3aの内部で燃料および空気の混合気を燃焼させ、燃焼室3a内でピストン4を往復移動させることにより動力を発生するものである。内燃機関100は多気筒エンジンとして構成され、本実施形態の内燃機関100は、例えば4気筒エンジンとして構成されている。
各燃焼室3aの吸気ポートは、吸気管(吸気マニホールド)5にそれぞれ接続され、各燃焼室3aの排気ポートは、排気管(排気マニホールド)6にそれぞれ接続されている。また、内燃機関100のシリンダヘッドには、吸気弁Viおよび排気弁Veが燃焼室3aごとに配設されている。各吸気弁Viは対応する吸気ポートを開閉し、各排気弁Veは対応する排気ポートを開閉する。各吸気弁Viおよび各排気弁Veは、可変バルブタイミング機構を含む動弁機構によって開閉させられる。更に、内燃機関100は、気筒数に応じた数の点火プラグ7を有し、点火プラグ7は、対応する燃焼室3a内に臨むようにシリンダヘッドに配設されている。
吸気管5は、図1に示されるように、サージタンク8に接続されている。サージタンク8には、吸気通路が接続されており、吸気通路は、エアクリーナ9を介して図示されない空気取入口に接続されている。そして、吸気通路の途中(サージタンク8とエアクリーナ9との間)には、スロットルバルブ(本実施形態では、電子制御式スロットルバルブ)10が組み込まれている。一方、排気管6には、図1に示されるように、例えば三元触媒を含む前段触媒装置11aおよび例えばNOx吸蔵還元触媒を含む後段触媒装置11bが接続されている。
更に、内燃機関100は、複数のインジェクタ12を有し、各インジェクタ12は、図1に示されるように、対応する吸気管5の内部(吸気ポート内)に臨むように配置されている。各インジェクタ12は、各吸気管5の内部にガソリン等の燃料を噴射する。なお、本実施形態の内燃機関100は、いわゆるポート噴射式のガソリンエンジンとして説明されるが、これに限られるものではなく、本発明はインジェクタが対応する燃焼室3a内に臨むようにシリンダヘッドに配置されているいわゆる直噴式内燃機関や、インジェクタがポート噴射及び筒内噴射用に複数設けられているいわゆるデュアル噴射式の内燃機関に適用され得ることはいうまでもない。
上述の各点火プラグ7、スロットルバルブ10、各インジェクタ12および動弁機構等は、内燃機関100の制御装置として機能するエンジン制御ECU20に電気的に接続されている。エンジン制御ECU20は、CPU、ROM、RAM、入出力ポート、および、記憶装置等を含むものである。エンジン制御ECU20には、図1に示されるように、クランク角センサ14やアクセル開度センサ16を始めとした各種センサが電気的に接続されている。エンジン制御ECU20は、記憶装置に記憶されている各種マップ等を用いると共に各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、スロットルバルブ10、インジェクタ12、動弁機構等を制御する。
また、内燃機関100は、半導体素子、圧電素子、磁歪素子あるいは光ファイバ検出素子等を含む筒内圧センサ(筒内圧力検出手段)15を気筒数に応じた数だけ有している。各筒内圧センサ15は、対応する燃焼室3a内に受圧面が臨むようにシリンダヘッドに配設されており、エンジン制御ECU20に電気的に接続されている。各筒内圧センサ15は、燃焼室3a内でその受圧面に加わる圧力(筒内圧力)を大気圧に対する相対値として出力するものであり、その受圧面に加わる圧力(筒内圧力)に応じた電圧信号(検出値を示す信号)をエンジン制御ECU20に与える。
更に、内燃機関100は、サージタンク8内の充填空気の圧力(吸気圧)を絶対圧力として検出する吸気圧センサを有している。吸気圧センサも、エンジン制御ECU20に電気的に接続されており、検出したサージタンク8内の充填空気の絶対圧力を示す信号をエンジン制御ECU20に与える。なお、クランク角センサ14、吸気圧センサの検出値は、微小時間おきにエンジン制御ECU20に順次与えられ、エンジン制御ECU20の所定の記憶領域(バッファ)に所定量ずつ格納保持される。また、各筒内圧センサ15の検出値(筒内圧力)は、吸気圧センサの検出値に基づいて絶対圧補正された上で、エンジン制御ECU20の所定の記憶領域(バッファ)に所定量ずつ格納保持される。
図2に示す筒内吸入空気量検出装置1は、以上説明したような車両200の内燃機関100に適用されている。筒内吸入空気量検出装置1は、同図に示すように、上記のエンジン制御ECU20を含むと共に、上記の筒内圧センサ15やクランク角センサ14をはじめとする各種センサ類等を備えている。具体的には、筒内吸入空気量検出装置1は、クランク角センサ14、筒内圧センサ15、車速センサ61、車間距離センサ62、照度センサ63、傾斜センサ64、ドライバ状態センサ65、認証装置66、及び予測パラメータ記憶部67を備えている。筒内吸入空気量検出装置1は、上記センサ類で得られる情報に基づき、内燃機関100の各気筒3に充填される空気量(「筒内吸入空気量」又は単に「吸入空気量」と称する)を予測演算によって検出する。なお、本実施形態においては、筒内吸入空気量検出装置1は、検出した上記吸入空気量(予測値)に基づきインジェクタ12の燃料噴射量を制御する機能を更に有しているものとする。
エンジン制御ECU20は、吸入空気量算出CPU30と加減速予測CPU50とを備えている。吸入空気量算出CPU30は吸入空気量の予測値を算出する。加減速予測CPU50は、上記の吸入空気量予測値の算出に用いるための情報として、車両200の未来の加減速を予測する。更に、エンジン制御ECU20は、吸入空気量算出CPU30により算出された吸入空気量予測値に基づいて燃料噴射量を決定する燃料噴射量決定部41を備えている。吸入空気量算出CPU30及び加減速予測CPU50は、それぞれ、CPUコア、ROM、RAM、通信回路、AD変換回路等を含むコンピュータとして構成されている。燃料噴射量決定部41は、CPU等を含んで構成される。
このうち吸入空気量算出CPU30は、AD変換部31、吸入空気量推定部32、吸入空気量補正処理部33、及び補正値算出部34を備えている。これらの各構成要素31〜34は、吸入空気量算出CPU30を構成するCPUコア、ROM、RAM、通信回路、AD変換回路等のハードウエアが、所定のプログラムに従い協働して動作することによってソフトウエア的に実現される構成要素である。
次に、図2及び図3を参照しながら、筒内吸入空気量検出装置1による燃料噴射量の設定手順について説明する。内燃機関100が始動されると、エンジン制御ECU20によって図3に示される燃料噴射量設定ルーチンが燃焼室3aごとに繰り返し実行される。
筒内圧センサ15からの筒内圧信号がAD変換部31でAD変換され吸入空気量推定部32に入力される。AD変換部31によるAD変換は、クランク角センサ14からのクランク角度信号に同期して行われる。AD変換された筒内圧信号及びクランク角度信号は、吸入空気量推定部32に入力される。そして、ステップS201ではまず、吸入空気量推定部32により、各気筒3における燃焼室3aへの吸入空気量DJを算出する吸入空気量算出ルーチンが実行される。本実施の形態における吸入空気量算出ルーチンでは、吸入空気量推定部32は、各気筒3の圧縮行程中かつ燃焼開始前の所定のタイミングにおける筒内圧センサ15の検出値Pc(θx)を求め、そして、予め実験などにより求めて記憶されているマップを参照して、各気筒3への吸入空気量DJn(以下、#1気筒〜#4気筒の吸入空気量をDJ1〜DJ4と称す)を求める。なお、この筒内圧センサ15の検出値Pc(θx)に基づく各気筒3への吸入空気量DJnは、バルブオーバーラップに起因する筒内残留ガス量の影響などを考慮して、適宜補正することが好ましく、その方法は特開2006−144644号公報等に記載され公知であるので、ここでの詳細な説明は省略する。
かくて、上述の吸入空気量算出ルーチンS201が実行されることにより、エンジン制御ECU20の記憶装置には各気筒3の圧縮行程毎に求められた吸入空気量DJn(DJ1〜DJ4)が記憶保持される。
そして、ステップS202では内燃機関100が過渡運転状態にあるか否かが判定される。この過渡運転状態にあるか否かの判定は、例えば、アクセルペダルの踏込量(操作量)を検出するアクセル開度センサ16からの信号に基づいて制御される電子制御式スロットルバルブ10の単位時間当りの開度変化量が所定値を超えるか否かにより行うことができる。なお、このステップS202の判定で、内燃機関100が過渡運転状態にないとされたときには、燃料噴射量設定ルーチンは一旦終了され、上述の吸入空気量算出ルーチンにて求められて記憶されている吸入空気量DJ1〜DJ4のうち、当該気筒3に1/Nサイクル(ただし、吸気、圧縮、膨張、排気の4行程を1サイクルとし、Nは気筒数を示す)だけ先行して圧縮行程を行う気筒3の吸入空気量DJnを用いて、燃料噴射量が設定される。なお、過渡運転状態でない、換言すると、定常運転のときは各気筒3毎の吸入空気量DJnにはさほど差がないので、上述の吸入空気量DJ1〜DJ4のいずれを用いてもよい。
さらに、ステップS202の判定で、内燃機関100が過渡運転状態であるとされたときには、ステップS203に進む。なお、以下の説明では、内燃機関100が#1、#3、#4、#2気筒の点火順序で燃焼される場合に、#1気筒に対する燃料噴射量設定を行う手順を例として説明する。
そこで、ステップS203では、当該#1気筒の直前の点火順序である#2気筒における吸入空気量DJ2が、第2の吸入空気量として、上述のECU20の記憶装置から読み出される。そして、次のステップS204では、当該#1気筒に点火順序が2つ先行する#4気筒における吸入空気量DJ4が、第1の吸入空気量として、上述のECU20の記憶装置から読み出され、かつ、当該#1気筒に点火順序が先行する少なくとも2つの#4気筒及び#2気筒における吸入空気量の変化として、吸入空気量の差分ΔDJ4→2が算出される。
ここで、内燃機関100における筒内吸入空気量の時間に対する変化の様子の一例を図4のタイムチャートに示す。今、点火順序に従い、#1、#3、#4、#2気筒における筒内吸入空気量DJ(DJ1、DJ3、DJ4、DJ2)を、それぞれ、「□」、「△」、「×」、「○」でプロットすると、内燃機関100の定常運転時においては、#1、#3、#4、#2気筒における筒内吸入空気量DJは時間の経過にかかわらずほぼ等しい。ところが、内燃機関100の過渡運転状態においては、時間の経過と共に各気筒間においても筒内吸入空気量DJに差ΔDJ4→2、ΔDJ3→4などが生じていることが分かる。
そこで、次のステップS205では、#1気筒の筒内吸入空気量予測値KL1が、ステップS203で求めた直前の#2気筒における筒内吸入空気量DJ2に、ステップS204で算出された吸入空気量の差分ΔDJ4→2を加算すること(KL1=DJ2+ΔDJ4→2)により求められる。
このステップS205で算出された筒内吸入空気量予測値KL1は、図4からも理解できるように、筒内吸入空気量DJ1、DJ3、DJ4、DJ2が直線的に変化することを前提としており、すなわち、過渡運転時における車両200の加減速度が一定であることを前提としている。ところが、車両200の加減速度が変動する場合には、上記の前提は成立せず、予測値KL1の誤差が大きくなってしまう。特に、筒内圧センサ15による筒内圧力のサンプリング周期に対して短時間で加減速が発生する場合には、誤差が大きくなる。そこで、次のステップS206では、吸入空気量補正処理部33が、車両の加減速を勘案して筒内吸入空気量予測値KL1の補正を行う。
すなわち、ステップS206では、加減速予測CPU50が、未来に発生する車両200の加減速の態様を予測し、加減速発生の有無を示す加減速予測フラグと、予測加減速度と、その加減速の開始までの時間と、を電気信号として補正値算出部34に出力する。補正値算出部34は、加減速予測フラグが”加減速の発生が予測される”旨を示した場合に、入力された予測加減速度等に基づいて補正値αを算出する。車両200の加減速度はスロットルバルブ10の開度と相関があり、スロットルバルブ10の開度は吸入空気量と相関がある。従って、補正値算出部34は、予測加減速度等に基づいて吸入空気量の変化量を予測するができ、予測に係る加減速の影響を筒内吸入空気量予測値KL1に反映させるための補正値αを算出することができる。そして、ステップS207では、吸入空気量補正処理部33が、補正値算出部34が算出した補正値αに基づき、筒内吸入空気量予測値KL1を、KL1=DJ2+ΔDJ4→2+αと補正する。これにより、予測される車両200の加減速が吸入空気量に及ぼす影響は、上記補正値αによって、筒内吸入空気量予測値KL1に反映される。加減速予測CPU50による予測加減速度等の算出方法についての詳細は後述する。
そして、次のステップS208では、燃料噴射量決定部41が、上記筒内吸入空気量予測値KL1に対する燃料噴射量を決定し、インジェクタ12の燃料噴射量を制御する。この場合、上記燃料噴射量は、#1気筒における空燃比が運転状態に応じて定められる目標空燃比、例えば、理論空燃比となるように、予め準備されたマップを参照して決定される。
このようにして決定された#1気筒への燃料噴射量は、各インジェクタ12が、図1に示されるように、対応する吸気管5の内部(吸気ポート内)に臨むように配置されているポート噴射式の場合には、#1気筒の吸入行程の後期に#1気筒に対応するインジェクタ12から噴射される。また、インジェクタが対応する燃焼室3a内に臨むようにシリンダヘッドに配置されているいわゆる直噴式内燃機関の場合には、#1気筒の吸入行程の後期及び/又はその圧縮行程に噴射されてもよい。さらに、インジェクタがポート噴射及び筒内噴射用に複数設けられているいわゆるデュアル噴射式の内燃機関の場合には、ポート噴射のインジェクタから#1気筒の吸入行程の後期及び筒内噴射用のインジェクタから#1気筒の吸入行程の後期及び/又はその圧縮行程に噴射されてもよい。
このように、本実施形態の筒内吸入空気量検出装置1によれば、当該気筒(#1)に点火順序が2つ先行する気筒(#4)において吸入空気量算出手段により算出された第1の吸入空気量(DJ4)と直前の気筒(#2)における第2の吸入空気量(DJ2)との差分により吸入空気量の変化量(ΔDJ4→2)が求められ、この変化量と直前の第2の吸入空気量(DJ2)とにより、当該気筒(#1)の吸入空気量が予測(KL1)されるので、その精度を極めて高くすることができる。
また、吸入空気量の予測値KL1には、補正値αを含めているので、車両200の加減速の影響を予測値KL1に反映させることで、過渡運転時における予測値KL1の精度を更に高めることができる。また、予測値KL1に対して車両200の加減速の影響を反映させることができることから、筒内圧センサ15による筒内圧力のサンプリング周期を比較的長くすることもでき、その結果、筒内圧力検出に関するCPU処理負荷を抑えることができる。また、吸入空気量を精度よく予測することができるので、吸気管5にエアフローメータを設置することも省略することができる。その結果、エンジン制御ECU20の製作コストや回路面積・消費電力を削減することができる。
続いて、加減速予測CPU50による車両200の予測加減速度等の具体的な算出方法について詳細に説明する。
図5は、加減速予測CPU50による加速又は減速の予測を模式的に説明する図である。図5(a)は、車両200の車速の時間的な変化を、図5(b)は車速に対応する前方車両との距離の時間的な変化を、図5(c)は車速に対応する車両200周辺の照度の時間的な変化を、図5(d)は車速に対応する路面の傾斜度の時間的な変化を、図5(e)は車速に対応するドライバ情報の時間的な変化を、それぞれ例示する。以下、図5(a)〜(e)のように、加減速を予測するための要素を、予測パラメータをいう。なお、図5(e)ではドライバ情報としてハンドル(ステアリング)の把持力を示した。
例えば、図5(a)に示すように、時刻t2〜t3で車両が加速しているので、その手前の時刻t1〜t2における走行状況を蓄積し、運転者が加減速しやすい走行状況を学習することができれば、車両200の加減速を予測できることになる。このような加減速予測の処理手順は、データ蓄積フェーズと予測フェーズとに分けることができる。
データ蓄積フェーズにおいて加減速予測CPU50は、図5のような予測パラメータを経時的に記録している。そして、時刻t2〜t3のように車両200の加減速が検出されると、直前の時刻t1〜t2の予測パラメータと加減速との関係を蓄積(学習)する。例えば、前方車両との距離が大きくなれば、加速することが予測されるが、運転者が実際に加速するか否かは他の予測パラメータにも事前に兆候が現れると考えられる。例えば、加速する場合、周囲が明るいか、坂路を走行中か、運転者がハンドルをしっかり握っているか、等である。データ蓄積フェーズでは、このような加減速と予測パラメータとの種々の関係を蓄積していく。
これに対し予測フェーズでは、逐次、検出される予測パラメータ(後述する入力パラメータ)を監視しながら、検出される予測パラメータと蓄積してある予測パラメータ(後述する典型データ)とを比較する。そして、典型データと類似した入力データが検出された場合に、加減速予測CPU50が、車両200が加速又は減速すると予測する。このような処理手順によって、加減速予測CPU50は、実際に加減速が発生する前に、運転者の操作による車両200の加減速を予測することができる。
以上のような加減速予測処理を可能にするために、図2に示すように、加減速予測CPU50には、CAN(Controller Area Network)等の車載LAN又は専用のハーネスを介して、車速センサ61、車間距離センサ62、照度センサ63、傾斜センサ64、ドライバ状態センサ65、認証装置66及び予測パラメータ記憶部67が接続されている。
また、加減速予測CPU50は、クラス分類部51、典型データ決定部52、距離評価部53、加減速予測部54、及び予測結果出力部55を備えている。これらの各構成要素51〜54は、加減速予測CPU50を構成するCPUコア、ROM、RAM、通信回路、AD変換回路等のハードウエアが、所定のプログラムに従い協働して動作することによってソフトウエア的に実現される構成要素である。加減速予測CPU50では、前述したように、車両200の未来の予測加減速度等が得られ、予測加減速度等は吸入空気量算出CPU30の補正値算出部34に送出される。
車速センサ61は、例えば、車両200の各輪に備えられたロータの円周上に定間隔で設置された凸部が通過する際の時速の変化をパルスとして計測し、単位時間あたりのパルス数に基づき各輪毎に車輪速を計測する。車輪速にタイヤの外径を乗じれば車速が得られる。
車間距離センサ62は、レーザレーダ、ミリ波レーダ等により構成され、前方を走行している他車両との車間距離を検出する。例えば、ミリ波レーダ装置の場合、所定の水平走査角範囲(車長方向を中心に左右方向それぞれの所定角度範囲)を左右に走査しながらレーダパルスを照射する。照射方向に他車両が存在すれば反射波が受信されるので、送信したレーダパルスが受信される間での時間により他車両との相対距離を、送信波と受信波との周波数の差に基づき検出する。なお、自車両の前方だけでなく、後方の他車両との車間距離を検出してもよいし、側方又後側方の他車両との距離を検出してもよい。
照度センサ63は、例えば、集積化光センサが用いられ、車両200の周囲の光をフォトダイオードなどの光電変換素子により電圧に変換し、センサ内で演算処理を行い信号に変換して出力する。
傾斜センサ64は、例えば、MEMS(Micro Electro MechanicalSystem)で形成された振動型のジャイロセンサであって、車両200のピッチング方向の傾きによって生じる電極間の距離の変化を電圧信号として取り出し出力する。
ドライバ状態センサ65は、上記のハンドルの把持力のように、運転者が車両200の加速又は減速を行う際に特徴的になる運転者の状態を検出するセンサである。従って、例えば、ドライビングポジションや視線方向等の運転者の状態を検出してもよい。
例えば、ハンドルの把持力を検出する場合、ステアリングシャフトと一体のトルクセンサが検出する操舵トルクを利用する。操舵トルクを経時的に監視して、所定時間(例えば、5秒程度)における操舵トルクの最小値と最大値との差を把持力として検出する。これは、運転者が強くハンドルを把持しているほど、把持力により抑制される路面振動の反力が操舵トルクに反映されやすくなり、最小値と最大値との差が大きくなることを利用したものである。なお、例えば、ハンドルに埋設された圧力センサにより把持力を直接検出してもよいし、運転者の脈拍や体温等を検出するためにハンドルに配置された電極の接触面積を利用してもよい。
また、運転者の状態としてドライビングポジションを検出する場合、シート前後位置とヘッドレストに設けられた頭部位置検出センサにより検出された頭部の前後位置と、から運転者の頭部の前後位置を検出する。加減速の際(特に、加速の際)、運転者は頭部を前方に移動させることがあるからである。
また、運転者の状態として視線方向を検出する場合、カメラにより運転者の顔画像を撮影し、顔画像から検出した瞳孔位置に基づき視線方向を検出する。運転者は加速の際は前方のやや遠方を注視し、減速の際は前方の直前の他車両を注視することがあるからである。
なお、例えば照度のように、車両外部において共通の予測パラメータは、車両200が独自に検出する必要はなく、路車間通信や携帯電話網を利用して配信される情報を利用して取得することもできる。このような予測パラメータは、例えば、地域を示す地域情報に対応づけて配信されており、照度に加え、雨天、曇天、降雪等の天候情報、気圧、黄砂量、花粉量などの情報についても外部から取得することができる。
以上のように、車速センサ61は車速を、車間距離センサ62は前方車間距離を、照度センサ63は車両周囲の照度を、傾斜センサ64は路面傾斜を、ドライバ状態センサ65は走行中のドライバの状態を、車両200の走行状況として検出する走行状況検出手段として機能する。
認証装置66は、運転者を識別する装置である。運転者毎に、加減速操作を行う際の兆候は異なる。すなわち、まったく同じ予測パラメータに対して加減速を行う運転者も加減速を行わない運転者も存在するので、運転者を識別して予測パラメータを運転者毎に記憶することが好ましい。運転者の識別には、スマートキー(登録商標)により開錠した際のキーIDや生体情報を利用する。従って、認証装置66は、キーIDを取得する照合ECUや、指紋、手(指、掌)の静脈、虹彩等の生体情報を検出する生体情報検出装置としてもよい。認証装置66は、このようにして認証した運転者の識別情報を加減速予測CPU50に出力する。
なお、上述した予測パラメータは一例であって、前方車両や後方車両の車速、歩行者などの障害物の有無、現在時刻等を予測パラメータにしてもよい。
予測パラメータ記憶部67は、例えば、ハードディスクドライブやフラッシュメモリを実体として、加減速予測CPU50により、運転者毎に予測パラメータが時系列的に記憶されていく。
図6は、予測パラメータ記憶部67に記憶される予測パラメータの一例を示す。図示するように、車速A、車間距離B、照度C、傾斜度D及び把持力Eがそれぞれ時系列的に記憶されている。以下、車速をAi、車間距離をBi、照度をCi、傾斜度をDi、把持力をEiにて表す(iは1以上の自然数)。
また、本実施形態では車両200の加減速を予測するので、車速Aiの時間微分又はGセンサから求められた加減速度を予測パラメータに対応づけて記録する。図6の加減速の欄では、加速を正の値で表し減速を負の値で表すものとする。
1つの予測パラメータの組は、それぞれ同じ時刻に検出されていることが好ましいが、厳密に同じ時刻に取得されていることまでは要求されない。信号を検出するサイクルが比較的長い予測パラメータ(例えば、照度、ドライバ状態)の場合、内挿(データ蓄積フェーズ)又は外挿(予測フェーズ)によって信号を補間することが好ましく、又は、直前に検出された値を予測パラメータとしてもよい。このような補間作業により、1組をなす予測パラメータの各要素をそれぞれ取得することができる。
[データ蓄積フェーズ]
データ蓄積フェーズは、後の予測フェーズにおいて入力データから加減速を予測するための典型データを生成する学習フェーズである。図5において説明したように、加減速予測CPU50は、分類対象である予測パラメータの組が分類されるべきクラスを学習事例として取得し、未知の予測パラメータの組をクラスタリングする。本実施形態では、データ蓄積フェーズにおいて予測パラメータの組が分類されるべきクラス(例えば、加速するか減速するか等)が既知であるので、「教師有りクラスタリング」を扱うことになる。
以下、学習事例として取得された予測パラメータの組を典型データと称し、未知の予測パラメータの組を入力データと称する。
ところで、データ蓄積フェーズは、学習のために数多くの組の予測パラメータを必要とするが、予測パラメータ記憶部67に予測パラメータが蓄積されていれば、車両が停止していてもデータ蓄積フェーズを実行することができる。蓄積に必要な予測パラメータの組数や蓄積に必要な時間は、予測パラメータの要素の数、車両の使用態様等により変わると推定される。すなわち、予測パラメータの要素の数が多くなれば学習に時間がかかる。また、車速や前方車両との距離等は走行している限り取得しうるが、照度は種々の時間帯や天候、トンネル等を走行しなければ常に同じような照度が検出され得るし、傾斜度は坂路がある道路を走行しなければゼロに近い値しか得られない。
従って、例えば、予測パラメータの各要素のすべてにおいて十分な範囲の値が検出された場合、予め定めた数以上の組の予測パラメータが取得された場合、又は、予め定められた以上の期間が経過した場合に、データ蓄積フェーズを開始する。また、予測パラメータの各要素において十分な範囲の値を得てから典型データを生成するといった点を考慮すると、Ai,Bi,Ci,Di,Eiの分散を算出し、要素のすべての予測パラメータの分散が安定したときにデータ蓄積フェーズを開始してもよい。
図7は、データ蓄積フェーズの手順を示すフローチャートの一例である。まず、クラス分類部51は、予測パラメータの組を各クラスに分類する(S10)。クラスとしては、少なくとも加速と減速の2つのクラスが必要であり、好ましくは、加減速が何秒後に始まるかを予測するため、加減速と時間とのクラスがあることが好ましく、更に好ましくは加減速の大きさに応じたクラスがあることが好ましい。
このような考え方から、例えば次のように予測パラメータのクラスを分類する。
w1)加速度が1〜5[m/s2]を示した時刻に対し3〜5秒以内の予測パラメータ
w2)加速度が1〜5[m/s2]を示した時刻に対し1〜2秒以内の予測パラメータ
w3)加速度が6〜10[m/s2]を示した時刻に対し3〜5秒以内の予測パラメータ
w4)加速度が6〜10[m/s2]を示した時刻に対し1〜2秒以内の予測パラメータ
同様に減速度についての4つのクラスを設定すれば、計8つのクラスが得られる。
図8は、このようにて各クラスと各予測パラメータの組を模式的に示す図である。1組の予測パラメータの要素の数を5つ(A〜E)とした場合、5次元の空間に1組の予想パラメータがプロットされることになる。教師有りクラスタリングの場合には、クラス分類部51は、クラスの分類規則に従い、予測パラメータ記憶部67から、分類規則に従う予測パラメータを読み出せばよい。従って、予測フェーズでは、検出された入力データが属するクラスがあるか否かを判定すればよいことになる。
しかしながら、実際には、クラスw1とw2のように、同じ加速度が生じるが、いつ生じるかが異なるクラスは、予測パラメータの組の分布が重複したり接近したりすることもあると考えられ、図8に示すように境界が明確になるとは限らない。
図9(a)は、分布が一部において近接又は重複している予測パラメータの組の一例を示す。クラスw1とクラスw2でそれぞれの予測パラメータの組の分布が一部において重複している場合、重複した空間の予測パラメータの組は予測フェーズにおいて、予測精度向上の障害となる。
そこで、典型データ決定部52は、クラス分類部51が各クラスに分類した予測パラメータの組の中から、典型データを決定する(S20)。すなわち、典型データは、そのクラスに対応した加減速を予測するための典型的な予測パラメータの組である。
まず、典型データ決定部52は、各クラスの重心を決定する。各クラスの予測パラメータの組をAi〜Eiのベクトルで表した場合、重心の座標は次のようになる。
重心=(sAi/クラスのデータ数,sBi/クラスのデータ数,sCi/クラスのデータ数,sDi/クラスのデータ数,sEi/クラスのデータ数)
そして、典型データ決定部52は、クラスに関係なく、すべてのクラス(例えば8つのクラス)の重心と各予想パラメータの組との距離を算出する。そして、各予測パラメータの組について、一番距離が近い重心のクラスを判定する。そのクラスが、元々属するクラスである場合には、当該予測パラメータの組を、そのままそのクラスの典型データとして採用し、それ以外の場合には、当該予測パラメータの組を破棄する。このような処理により、図9(a)では、例えば、クラスw2の重心に近い予測パラメータの組D2、及びクラスw1の重心に近い予測パラメータの組D1を破棄することができ、リジェクト領域を設けることができる。これにより、予測フェーズにおける予測精度を向上することができる。
典型データ(予測パラメータの組)が破棄されたり、数が変わったりすると、クラスの重心位置が変わるので、典型データ決定部52は、図9(b)の予測パラメータの組に対し、再度重心位置を決定して同様の処理を繰り返す。そして、破棄される予測パラメータの組がなくなれば、各クラスを代表する典型データが決定され、クラスの領域が定まったことになる。図9においては、説明のためクラスの数を2つとしたが、実際はすべてのクラスに対し重心が決定される。
また、重心に近い典型データのうち、互いに空間的に重複する典型データ又は空間的に近い位置にある典型データは、何れかを選別して破棄してもよい。典型データの数が少なくなることにより予測フェーズの計算負荷を低減することができる。
図9(b)では、予測パラメータの組を破棄したが、破棄する代わりに別のクラスにクラスタリングすることとしてもよい。この場合、典型データ決定部52は、重心からの距離が近い方のクラスに、予測パラメータの組を入れてクラスを作り直す。これによりクラスの重心位置が変化するので、同様に、再度重心位置を決定し、重心位置の移動量が所定の閾値以下になったときに終了する(k−平均法)。図9(c)では、クラスw1のメンバーであった予測パラメータの組D2が、クラスw2に属することになった。
図9(c)のような学習では、典型データの属するクラスが入れ替わってしまうが、例えば、加速度が生じる間での時間が異なるだけの2つのクラスでは、予測パラメータの組が入れ替わっても、予測フェーズにおける影響は少ない。
このように、予測パラメータ記憶部67は、予測パラメータの組を車両200の加減速の態様と対応づけ、車両200の運転情報として蓄積し学習する運転情報蓄積手段として機能する。
[予測フェーズ]
予測フェーズの手順について、図10のフローチャートを参照しながら説明する。予測フェーズには、例えばk−NN法を用いる。k−NN法では、車両走行中の加減速予測CPU50に検出された入力データxに対し、距離が近い順にk個の典型データを抽出する。そして、k個の各典型データが属するクラスのうち最も数が多いクラスに、入力データxをクラスタリングする。図11は、予測フェーズにおけるクラスタリングの一例を示す図である。例えばk=3とすれば、入力データxに近い3つの典型データは、すべてクラスw2に属するので、入力データxはクラスw2にクラスタリングされる。
距離を評価するため、加減速予測CPU50の距離評価部53は、評価関数g(x)を用いて、典型データのすべてに対し入力データxとの距離を算出する(S110)。
入力データxと予測パラメータの組のデータとの距離を評価する評価関数g(x)を考えると、g(x)は次のように表すことができる。
g(x)=M・X
ここで、Mは重み係数であり、Xは入力データxと典型データとの距離を表すベクトルになる。
入力データxをAx,Bx,Cx,Dx,Exとし、典型データをAi,Bi,Ci,Di,Eiとし、重み係数をMa,Mb,Mc,Md,Meとした場合、g(x)は、例えば次式で表される。
g(x)= Ma(Ai-Ax)2+ Mb(Bi-Bx)2+Mc(Ci-Cx)2+ Md(Di-Dx)2+ Me(Ei-Ex)2
なお、重み係数Mは、予測パラメータのそれぞれに重み付けするための係数で、車速A、車間距離B、照度C、傾斜度D及び把持力Eのうち加減速の予測に重視したい要素ほど大きくすることができる。各重み係数は、予め定められ距離評価部53に記憶されている。
このように評価関数g(x)を用いて、入力データxと距離が近いk個の典型データを決定する(S120)。なお、kを1として、入力データxと最も近い距離の典型データが属するクラスに入力データxをクラスタリングしてもよい。この場合の距離は、クラスの重心との間で算出される。
次いで、加減速予測部54は、上記k個の典型データが最も多く属するクラスを決定する(S130)。
一方、k個の典型データが最も多く属するクラスに強制的に入力データxをクラスタリングすると、上記のリジェクト領域の入力データxに対しても、加速又は減速すると予測してしまうことになる。これを避けるため、予測結果出力部55は、例えば、入力データxをクラスタリングしたクラスの典型データと入力データxとの距離との合計値(又は、入力データxをクラスタリングしたクラスの重心と入力データxとの距離でもよい)が、所定の閾値以上か否かを判定する。そして、距離の合計値が閾値を超えている場合(S140のYes)、入力データxをどのクラスにもクラスタリングすべきでないので、予測結果出力部55は、加減速を予測しないで、次の入力データxについての予測を開始する。距離の合計値が閾値未満の場合(S140のNo)、予測結果出力部55は、入力データxをクラスタリングしたクラスに応じて車両200の加減速を予測する(S150)。予測できる加減速にかかる情報は、データ蓄積フェーズにおけるクラスの分類に従うことになる。従ってここでは、例えば、車両200の加速度、加速が始まるまでの時間、減速度、減速が始まるまでの時間が予測される。そして、予測結果出力部55は、吸入空気量算出CPU30の補正値算出部34に対して、加減速予測フラグと、予測加減速度と、その加減速の開始までの時間と、を送信する。加減速予測CPU50は、以上の処理を各入力データxに対して繰り返す。
ここで、1つの入力データxから加減速が予測されても、この予測は100%の確率で正しいとは限らないので、複数(例えば、3以上連続する)の入力データxについて同じクラスの加減速が予測された場合に、最終的な予測結果を出力することとしてもよい。この場合、加減速が始まるまでの時間、及び加速度又は減速度は、最後の入力データxにより予測された時間及び加速度又は減速度とする。このような予測により、加減速の予測、加減速が始まるまでの時間、加速度又は減速度の予測の精度を向上させることができる。
なお、加減速予測CPU50は、加減速の予測に対応し、実際の車両200の加減速の有無に基づいて学習を強化する。例えば、車両200の加減速が発生するとの予測に対して車両200の加減速が実際に発生した場合、典型データ決定部52は、入力データxを典型データに登録する。また、例えば、車両200の加速が発生するとの予測に対して、車両200の加速が実際には発生しなかった場合又は減速が発生した場合、典型データ決定部52は、クラスタリングされた(予測された)クラスの典型データのうち、入力データxとの距離が近いとされた典型データを破棄する。これにより、予測フェーズにおいても学習を繰り返し、予測精度を向上することができる。
以上のような処理によって、未来における車両200の加減速の態様が高い精度で予測される。そして、前述したように、予測加減速度等が吸入空気量算出CPU30の補正値算出部34に送出される。このように、吸入空気量算出CPU30が、精度が高い予測加減速度等を取得することができるので、結果として、吸入空気量算出CPU30による吸入空気量予測の精度が高められる。